Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Advanced polygon survey for fixedwings from Uni Stuttgart. More...
Go to the source code of this file.
Data Structures | |
struct | SurveyPolyAdv |
Enumerations | |
enum | SurveyStage { ERR , ENTRY , SEG , TURN1 , RET , TURN2 } |
Functions | |
void | nav_survey_polygon_setup (uint8_t first_wp, uint8_t size, float angle, float sweep_width, float shot_dist, float min_rad, float altitude) |
initializes the variables needed for the survey to start More... | |
bool | nav_survey_polygon_run (void) |
main navigation routine. More... | |
Advanced polygon survey for fixedwings from Uni Stuttgart.
Definition in file nav_survey_polygon.h.
struct SurveyPolyAdv |
Definition at line 47 of file nav_survey_polygon.h.
Data Fields | ||
---|---|---|
struct FloatVect2 | dir_vec | |
struct FloatVect2 | entry_center | |
uint8_t | poly_count | |
uint8_t | poly_first | |
float | psa_altitude | |
float | psa_min_rad | |
float | psa_shot_dist | |
float | psa_sweep_width | |
struct FloatVect2 | rad_vec | |
struct FloatVect2 | ret_end | |
struct FloatVect2 | ret_start | |
int | return_angle | |
struct FloatVect2 | seg_center1 | |
struct FloatVect2 | seg_center2 | |
struct FloatVect2 | seg_end | |
struct FloatVect2 | seg_start | |
int | segment_angle | |
enum SurveyStage | stage | |
struct FloatVect2 | sweep_vec |
enum SurveyStage |
Enumerator | |
---|---|
ERR | |
ENTRY | |
SEG | |
TURN1 | |
RET | |
TURN2 |
Definition at line 45 of file nav_survey_polygon.h.
bool nav_survey_polygon_run | ( | void | ) |
main navigation routine.
This is called periodically evaluates the current Position and stage and navigates accordingly.
Definition at line 232 of file nav_survey_polygon.c.
References CARROT, dc_stop(), dc_survey(), SurveyPolyAdv::dir_vec, ENTRY, SurveyPolyAdv::entry_center, get_two_intersects(), last_x, last_y, nav_approaching_xy(), nav_circle_XY(), nav_init_stage(), nav_points(), NavCourseCloseTo, NavVerticalAltitudeMode, NavVerticalAutoThrottleMode, SurveyPolyAdv::psa_altitude, SurveyPolyAdv::psa_min_rad, SurveyPolyAdv::psa_shot_dist, SurveyPolyAdv::psa_sweep_width, SurveyPolyAdv::rad_vec, RET, SurveyPolyAdv::ret_end, SurveyPolyAdv::ret_start, SurveyPolyAdv::return_angle, SEG, SurveyPolyAdv::seg_center1, SurveyPolyAdv::seg_center2, SurveyPolyAdv::seg_end, SurveyPolyAdv::seg_start, SurveyPolyAdv::segment_angle, SurveyPolyAdv::stage, stateGetPositionUtm_f(), survey, SurveyPolyAdv::sweep_vec, TURN1, TURN2, VECT2_DIFF, VECT2_SUM, FloatVect2::x, and FloatVect2::y.
void nav_survey_polygon_setup | ( | uint8_t | first_wp, |
uint8_t | size, | ||
float | angle, | ||
float | sweep_width, | ||
float | shot_dist, | ||
float | min_rad, | ||
float | altitude | ||
) |
initializes the variables needed for the survey to start
first_wp | the first Waypoint of the polygon |
size | the number of points that make up the polygon |
angle | angle in which to do the flyovers |
sweep_width | distance between the sweeps |
shot_dist | distance between the shots |
min_rad | minimal radius when navigating |
altitude | the altitude that must be reached before the flyover starts |
Definition at line 135 of file nav_survey_polygon.c.
References altitude, SurveyPolyAdv::dir_vec, ENTRY, SurveyPolyAdv::entry_center, ERR, FLOAT_VECT2_NORMALIZE, get_two_intersects(), NavVerticalAltitudeMode, NavVerticalAutoThrottleMode, SurveyPolyAdv::poly_count, SurveyPolyAdv::poly_first, SurveyPolyAdv::psa_altitude, SurveyPolyAdv::psa_min_rad, SurveyPolyAdv::psa_shot_dist, SurveyPolyAdv::psa_sweep_width, SurveyPolyAdv::rad_vec, SurveyPolyAdv::return_angle, SurveyPolyAdv::seg_end, SurveyPolyAdv::seg_start, SurveyPolyAdv::segment_angle, SurveyPolyAdv::stage, survey, sweep, SurveyPolyAdv::sweep_vec, VECT2_COPY, VECT2_DIFF, VECT2_SMUL, VECT2_SUM, waypoints, FloatVect2::x, point::x, FloatVect2::y, and point::y.