Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
nav_survey_polygon_gvf.h File Reference
#include "std.h"
#include "math/pprz_algebra_float.h"
+ Include dependency graph for nav_survey_polygon_gvf.h:

Go to the source code of this file.

Data Structures

struct  gvf_SurveyPolyAdv
 

Enumerations

enum  gvf_SurveyStage {
  gERR , gENTRY , gSEG , gTURN1 ,
  gRET , gTURN2
}
 

Functions

void gvf_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...
 
void gvf_nav_direction_circle (float rad)
 main navigation routine. More...
 
bool gvf_nav_survey_polygon_run (void)
 

Data Structure Documentation

◆ gvf_SurveyPolyAdv

struct gvf_SurveyPolyAdv

Definition at line 48 of file nav_survey_polygon_gvf.h.

+ Collaboration diagram for gvf_SurveyPolyAdv:
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 gvf_SurveyStage stage
struct FloatVect2 sweep_vec

Enumeration Type Documentation

◆ gvf_SurveyStage

Enumerator
gERR 
gENTRY 
gSEG 
gTURN1 
gRET 
gTURN2 

Definition at line 46 of file nav_survey_polygon_gvf.h.

Function Documentation

◆ gvf_nav_direction_circle()

void gvf_nav_direction_circle ( float  rad)

main navigation routine.

This is called periodically evaluates the current Position and stage and navigates accordingly.

Returns
True until the survey is finished

Definition at line 236 of file nav_survey_polygon_gvf.c.

References gvf_set_direction().

Referenced by gvf_nav_survey_polygon_run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gvf_nav_survey_polygon_run()

◆ gvf_nav_survey_polygon_setup()

void gvf_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

Parameters
first_wpthe first Waypoint of the polygon
sizethe number of points that make up the polygon
angleangle in which to do the flyovers
sweep_widthdistance between the sweeps
shot_distdistance between the shots
min_radminimal radius when navigating
altitudethe altitude that must be reached before the flyover starts

Definition at line 135 of file nav_survey_polygon_gvf.c.

References altitude, gvf_SurveyPolyAdv::dir_vec, gvf_SurveyPolyAdv::entry_center, FLOAT_VECT2_NORMALIZE, gENTRY, gERR, gvf_get_two_intersects(), gvf_survey, NavVerticalAltitudeMode, NavVerticalAutoThrottleMode, gvf_SurveyPolyAdv::poly_count, gvf_SurveyPolyAdv::poly_first, gvf_SurveyPolyAdv::psa_altitude, gvf_SurveyPolyAdv::psa_min_rad, gvf_SurveyPolyAdv::psa_shot_dist, gvf_SurveyPolyAdv::psa_sweep_width, gvf_SurveyPolyAdv::rad_vec, gvf_SurveyPolyAdv::return_angle, gvf_SurveyPolyAdv::seg_end, gvf_SurveyPolyAdv::seg_start, gvf_SurveyPolyAdv::segment_angle, gvf_SurveyPolyAdv::stage, sweep, gvf_SurveyPolyAdv::sweep_vec, VECT2_COPY, VECT2_DIFF, VECT2_SMUL, VECT2_SUM, waypoints, FloatVect2::x, point::x, FloatVect2::y, and point::y.

+ Here is the call graph for this function: