32 #include "generated/flight_plan.h"
38 #ifndef LINE_START_FUNCTION
39 #define LINE_START_FUNCTION {}
41 #ifndef LINE_STOP_FUNCTION
42 #define LINE_STOP_FUNCTION {}
69 if (sweep_spacing > 0) {
96 VECT2_SMUL(flight_line, flight_vec, sweep_length * 0.5);
bool nav_survey_zamboni_run(void)
main navigation routine.
float return_angle
in degrees
z_survey_stage stage
z_stage starts at ENTRY and than circles trought the other states until to rectangle is completely co...
#define LINE_START_FUNCTION
struct FloatVect2 wp_center
#define VECT2_SUM(_c, _a, _b)
void nav_circle_XY(float x, float y, float radius)
Navigates around (x, y).
#define FLOAT_VECT2_NORMALIZE(_v)
#define VECT2_COPY(_a, _b)
Zamboni pattern survey for fixedwings.
#define VECT2_DIFF(_c, _a, _b)
struct FloatVect2 seg_end
#define VECT2_ADD(_a, _b)
#define NavCourseCloseTo(x)
Standard Digital Camera Control Interface.
#define NavVerticalAltitudeMode(_alt, _pre_climb)
Set the vertical mode to altitude control with the specified altitude setpoint and climb pre-command...
struct FloatVect2 seg_start
struct FloatVect2 ret_start
struct FloatVect2 turn_center2
#define NavVerticalAutoThrottleMode(_pitch)
Set the climb control to auto-throttle with the specified pitch pre-command.
#define VECT2_SMUL(_vo, _vi, _s)
void nav_init_stage(void)
needs to be implemented by fixedwing and rotorcraft seperately
void nav_route_xy(float last_wp_x, float last_wp_y, float wp_x, float wp_y)
Computes the carrot position along the desired segment.
Core autopilot interface common to all firmwares.
int pre_leave_angle
in degrees.
struct FloatVect2 ret_end
float flight_angle
in degrees
#define LINE_STOP_FUNCTION
struct point waypoints[NB_WAYPOINT]
size == nb_waypoint, waypoint 0 is a dummy waypoint
bool nav_approaching_xy(float x, float y, float from_x, float from_y, float approaching_time)
Decide if the UAV is approaching the current waypoint.
Fixedwing Navigation library.
struct FloatVect2 turn_center1
struct FloatVect2 sweep_width
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.
#define CARROT
default approaching_time for a wp