Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Zamboni pattern survey for fixedwings. More...
Go to the source code of this file.
Data Structures | |
struct | ZamboniSurvey |
Enumerations | |
enum | z_survey_stage { Z_ERR , Z_ENTRY , Z_SEG , Z_TURN1 , Z_RET , Z_TURN2 } |
Functions | |
void | nav_survey_zamboni_setup (uint8_t center_wp, uint8_t dir_wp, float sweep_length, float sweep_spacing, int sweep_lines, float altitude) |
initializes the variables needed for the survey to start. More... | |
bool | nav_survey_zamboni_run (void) |
main navigation routine. More... | |
Zamboni pattern survey for fixedwings.
Definition in file nav_survey_zamboni.h.
struct ZamboniSurvey |
Definition at line 36 of file nav_survey_zamboni.h.
Data Fields | ||
---|---|---|
float | altitude | |
int | current_laps | |
float | flight_angle | in degrees |
int | pre_leave_angle |
in degrees. Leave turncircles a small angle before the 180deg turns are completed to get a smoother transition to flight-lines |
struct FloatVect2 | ret_end | |
struct FloatVect2 | ret_start | |
float | return_angle | in degrees |
struct FloatVect2 | seg_end | |
struct FloatVect2 | seg_start | |
z_survey_stage | stage | z_stage starts at ENTRY and than circles trought the other states until to rectangle is completely covered ENTRY : getting in the right position and height for the first flyover SEG : fly from seg_start to seg_end and take pictures, then calculate navigation points of next flyover TURN1 : do a 180° turn around seg_center1 RET : fly from ret_start to ret_end TURN2 : do a 180° turn around seg_center2 |
struct FloatVect2 | sweep_width | |
int | total_laps | |
struct FloatVect2 | turn_center1 | |
struct FloatVect2 | turn_center2 | |
float | turnradius1 | |
float | turnradius2 | |
struct FloatVect2 | wp_center | |
struct FloatVect2 | wp_dir |
enum z_survey_stage |
Enumerator | |
---|---|
Z_ERR | |
Z_ENTRY | |
Z_SEG | |
Z_TURN1 | |
Z_RET | |
Z_TURN2 |
Definition at line 34 of file nav_survey_zamboni.h.
bool nav_survey_zamboni_run | ( | void | ) |
main navigation routine.
This is called periodically evaluates the current Position and stage and navigates accordingly.
Definition at line 129 of file nav_survey_zamboni.c.
References ZamboniSurvey::altitude, CARROT, ZamboniSurvey::current_laps, ZamboniSurvey::flight_angle, LINE_START_FUNCTION, LINE_STOP_FUNCTION, nav_approaching_xy(), nav_circle_XY(), nav_init_stage(), nav_route_xy(), NavCourseCloseTo, NavVerticalAltitudeMode, NavVerticalAutoThrottleMode, ZamboniSurvey::pre_leave_angle, ZamboniSurvey::ret_end, ZamboniSurvey::ret_start, ZamboniSurvey::return_angle, ZamboniSurvey::seg_end, ZamboniSurvey::seg_start, ZamboniSurvey::stage, ZamboniSurvey::sweep_width, ZamboniSurvey::total_laps, ZamboniSurvey::turn_center1, ZamboniSurvey::turn_center2, ZamboniSurvey::turnradius1, ZamboniSurvey::turnradius2, VECT2_ADD, ZamboniSurvey::wp_center, FloatVect2::x, FloatVect2::y, Z_ENTRY, Z_RET, Z_SEG, Z_TURN1, Z_TURN2, and zs.
void nav_survey_zamboni_setup | ( | uint8_t | center_wp, |
uint8_t | dir_wp, | ||
float | sweep_length, | ||
float | sweep_spacing, | ||
int | sweep_lines, | ||
float | altitude | ||
) |
initializes the variables needed for the survey to start.
center_wp | the waypoint defining the center of the survey-rectangle |
dir_wp | the waypoint defining the orientation of the survey-rectangle |
sweep_length | the length of the survey-rectangle |
sweep_spacing | distance between the sweeps |
sweep_lines | number of sweep_lines to fly |
altitude | the altitude that must be reached before the flyover starts |
Definition at line 57 of file nav_survey_zamboni.c.
References ZamboniSurvey::altitude, altitude, ZamboniSurvey::current_laps, ZamboniSurvey::flight_angle, FLOAT_VECT2_NORMALIZE, NavVerticalAltitudeMode, NavVerticalAutoThrottleMode, ZamboniSurvey::pre_leave_angle, ZamboniSurvey::ret_end, ZamboniSurvey::ret_start, ZamboniSurvey::return_angle, ZamboniSurvey::seg_end, ZamboniSurvey::seg_start, ZamboniSurvey::stage, ZamboniSurvey::sweep_width, ZamboniSurvey::total_laps, ZamboniSurvey::turn_center1, ZamboniSurvey::turn_center2, ZamboniSurvey::turnradius1, ZamboniSurvey::turnradius2, VECT2_COPY, VECT2_DIFF, VECT2_SMUL, VECT2_SUM, waypoints, ZamboniSurvey::wp_center, ZamboniSurvey::wp_dir, FloatVect2::x, FloatVect2::y, Z_ENTRY, and zs.