Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
#include "std.h"
Go to the source code of this file.
Data Structures | |
struct | SurveyHybrid |
Functions | |
void | nav_survey_hybrid_init (void) |
Init function. More... | |
void | nav_survey_hybrid_setup_orientation (uint8_t start_wp, float orientation, uint8_t size, float sweep, float radius, float height) |
Setup polygon survey. More... | |
void | nav_survey_hybrid_setup_towards (uint8_t start_wp, uint8_t second_wp, uint8_t size, float sweep, float radius, float height) |
Setup "dynamic" polygon survey with sweep orientation towards a waypoint. More... | |
bool | nav_survey_hybrid_run (void) |
Run polygon hybrid survey. More... | |
Variables | |
struct SurveyHybrid | survey_hybrid |
struct SurveyHybrid |
void nav_survey_hybrid_init | ( | void | ) |
Init function.
Definition at line 184 of file nav_survey_hybrid.c.
References SurveyHybrid::half_sweep_enabled, mission_register(), survey_hybrid, SURVEY_HYBRID_HALF_SWEEP_ENABLED, SURVEY_HYBRID_MAX_SWEEP, SURVEY_HYBRID_MAX_SWEEP_BACK, survey_private, SurveyHybrid::sweep_back_nb, SurveyHybrid::sweep_back_nb_max, SurveyHybrid::sweep_nb, and SurveyHybrid::sweep_nb_max.
bool nav_survey_hybrid_run | ( | void | ) |
Run polygon hybrid survey.
Definition at line 399 of file nav_survey_hybrid.c.
References SurveyHybridPrivate::circle, SurveyHybridPrivate::circle_turns, CloseRadAngles, CrossProductZ(), dc_distance_interval, dc_send_command(), DC_SHOOT, dir, SurveyHybridPrivate::edge_max_y, SurveyHybridPrivate::edge_min_y, SurveyHybridPrivate::edges, Entry, SurveyHybridPrivate::entry, EvaluateLineForX(), SurveyHybridPrivate::from_wp, SurveyHybrid::half_sweep_enabled, Init, LINE_START_FUNCTION, LINE_STOP_FUNCTION, SurveyHybridPrivate::max_y, nav, RotorcraftNavigation::nav_approaching, RotorcraftNavigation::nav_circle, RotorcraftNavigation::nav_goto, nav_init_stage(), RotorcraftNavigation::nav_route, NavCircleCount, SurveyHybridPrivate::orientation, SurveyHybridPrivate::radius, RotateAndTranslateToWorld(), SurveyHybridPrivate::segment_from, SurveyHybridPrivate::segment_to, SurveyHybridPrivate::size, SurveyHybridPrivate::smallest_corner, stateGetPositionEnu_f(), SurveyHybridPrivate::status, survey_hybrid, SURVEY_HYBRID_APPROACHING_TIME, SURVEY_HYBRID_ENTRY_CIRCLE, survey_private, Sweep, SurveyHybridPrivate::sweep, SurveyHybrid::sweep_back_nb, SurveyHybrid::sweep_back_nb_max, SurveyHybrid::sweep_nb, SurveyHybrid::sweep_nb_max, SurveyHybridPrivate::to_wp, Turn, SurveyHybridPrivate::valid, VECT3_COPY, EnuCoor_f::x, EnuCoor_f::y, and EnuCoor_f::z.
void nav_survey_hybrid_setup_orientation | ( | uint8_t | start_wp, |
float | orientation, | ||
uint8_t | size, | ||
float | sweep, | ||
float | radius, | ||
float | height | ||
) |
Setup polygon survey.
start_wp | first waypoint/corner of the polygon |
orientation | angle of scan lines in degrees (CCW, east) |
size | number of waypoints/corners used to define the polygon |
sweep | distance between scan lines |
radius | turn radius (<0: automatic, radius = sweep/2; 0: no turns, use straight lines only; >0: fixed radius) |
height | starting height in meters |
Definition at line 365 of file nav_survey_hybrid.c.
References SurveyHybridPrivate::corners, nav_survey_hybrid_setup(), SurveyHybridPrivate::size, SURVEY_HYBRID_MAX_POLYGON_SIZE, survey_private, sweep, SurveyHybridPrivate::valid, and waypoint_get_enu_f().
Referenced by nav_survey_hybrid_setup_towards().
void nav_survey_hybrid_setup_towards | ( | uint8_t | start_wp, |
uint8_t | second_wp, | ||
uint8_t | size, | ||
float | sweep, | ||
float | radius, | ||
float | height | ||
) |
Setup "dynamic" polygon survey with sweep orientation towards a waypoint.
Computes the sweep orientation angle from the line first-second WP.
start_wp | first waypoint/corner of the polygon |
second_wp | second waypoint towards which the sweep orientation is computed |
size | number of waypoints/corners used to define the polygon |
sweep | distance between scan lines, if zero uses Poly_Distance |
radius | turn radius (<0: automatic, radius = sweep/2; 0: no turns, use straight lines only; >0: fixed radius) |
height | starting height in meters |
Definition at line 383 of file nav_survey_hybrid.c.
References nav_survey_hybrid_setup_orientation(), survey_private, sweep, SurveyHybridPrivate::valid, waypoint_get_enu_f(), EnuCoor_f::x, and EnuCoor_f::y.
|
extern |
Definition at line 1 of file nav_survey_hybrid.c.
Referenced by nav_survey_hybrid_init(), nav_survey_hybrid_run(), and nav_survey_hybrid_setup().