Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
#include "modules/nav/nav_takeoff_and_landing.h"
#include "math/pprz_geodetic_float.h"
#include "generated/flight_plan.h"
#include "firmwares/fixedwing/nav.h"
#include "firmwares/fixedwing/guidance/guidance_v.h"
#include "autopilot.h"
Go to the source code of this file.
Macros | |
#define | NAV_TAKEOFF_PITCH 15.f |
#define | NAV_TAKEOFF_THROTTLE 1.f |
#define | NAV_TAKEOFF_HEIGHT 20.f |
#define | NAV_TAKEOFF_DIST 200.f |
#define | NAV_TAKEOFF_AUTO_LAUNCH true |
#define | NAV_LANDING_DESCEND_SPEED -1.f |
#define | NAV_LANDING_AF_HEIGHT 30.f |
#define | NAV_LANDING_FLARE_HEIGHT 10.f |
Functions | |
static bool | nav_takeoff_run (void) |
static bool | nav_land_run (void) |
void | nav_takeoff_and_landing_init (void) |
Init function. More... | |
void | nav_takeoff_and_landing_periodic (void) |
Periodic timeout check function. More... | |
bool | nav_takeoff_from_wp (uint8_t wp_id) |
Takeoff from a waypoint. More... | |
bool | nav_takeoff_from_loc (float lat, float lon) |
Takeoff from lat long location. More... | |
bool | nav_takeoff_from_here (void) |
Takeoff from current location. More... | |
bool | nav_land_at_wp (uint8_t td_id, uint8_t af_id, float radius) |
Land at waypoint location. More... | |
bool | nav_land_at_loc (float td_alt, float lat, float lon, float dir, float dist, float radius) |
Land at lat long location. More... | |
bool | nav_land_here (float td_alt, float radius) |
Land at current location. More... | |
Variables | |
static struct nav_takeoff | takeoff |
static struct nav_landing | landing |
float | nav_takeoff_direction |
Takeoff direction in range [0-360] (deg) set to flight plan QFU by default. More... | |
Definition in file nav_takeoff_and_landing_fw.c.
#define NAV_LANDING_AF_HEIGHT 30.f |
Definition at line 59 of file nav_takeoff_and_landing_fw.c.
#define NAV_LANDING_DESCEND_SPEED -1.f |
Definition at line 55 of file nav_takeoff_and_landing_fw.c.
#define NAV_LANDING_FLARE_HEIGHT 10.f |
Definition at line 63 of file nav_takeoff_and_landing_fw.c.
#define NAV_TAKEOFF_AUTO_LAUNCH true |
Definition at line 51 of file nav_takeoff_and_landing_fw.c.
#define NAV_TAKEOFF_DIST 200.f |
Definition at line 47 of file nav_takeoff_and_landing_fw.c.
#define NAV_TAKEOFF_HEIGHT 20.f |
Definition at line 43 of file nav_takeoff_and_landing_fw.c.
#define NAV_TAKEOFF_PITCH 15.f |
Definition at line 35 of file nav_takeoff_and_landing_fw.c.
#define NAV_TAKEOFF_THROTTLE 1.f |
Definition at line 39 of file nav_takeoff_and_landing_fw.c.
bool nav_land_at_loc | ( | float | td_alt, |
float | lat, | ||
float | lon, | ||
float | dir, | ||
float | dist, | ||
float | radius | ||
) |
Land at lat long location.
[in] | td_alt | touch down altitude above ground ref (m) |
[in] | lat | landing latitude (deg) |
[in] | lon | landing longitude (deg) |
[in] | dir | direction approach direction ([0-360], deg) |
[in] | dist | distance to start descent (m) |
[in] | radius | circle radius for final turn (if positive: turn right, if negative: turn left) (m) |
Definition at line 343 of file nav_takeoff_and_landing_fw.c.
References nav_landing::af_id, nav_landing::af_pos, dir, ENU_OF_UTM_DIFF, GetAltRef, landing, LlaCoor_f::lat, LlaCoor_f::lon, nav_land_run(), NAV_LANDING_AF_HEIGHT, NAV_LANDING_INIT, nav_landing::radius, state, nav_landing::status, nav_landing::td_id, nav_landing::td_pos, utm_of_lla_f(), State::utm_origin_f, EnuCoor_f::x, EnuCoor_f::y, and EnuCoor_f::z.
Land at waypoint location.
set touch down (TD) and start of descent (AF)
[in] | td_id | waypoint ID for touch down point |
[in] | af_if | waypoint ID for start of descent |
[in] | radius | circle radius for final turn (if positive: turn right, if negative: turn left) (m) |
Definition at line 326 of file nav_takeoff_and_landing_fw.c.
References nav_landing::af_id, nav_landing::af_pos, GetAltRef, landing, nav_land_run(), NAV_LANDING_AF_HEIGHT, NAV_LANDING_INIT, nav_landing::radius, nav_landing::status, nav_landing::td_id, nav_landing::td_pos, WaypointAlt, WaypointX, WaypointY, EnuCoor_f::x, EnuCoor_f::y, and EnuCoor_f::z.
bool nav_land_here | ( | float | td_alt, |
float | radius | ||
) |
Land at current location.
emergency landing
[in] | td_alt | touch down altitude above ground ref (m) |
[in] | radius | circle radius for final turn (if positive: turn right, if negative: turn left) (m) |
Definition at line 361 of file nav_takeoff_and_landing_fw.c.
References nav_landing::af_id, nav_landing::af_pos, landing, nav_land_run(), NAV_LANDING_AF_HEIGHT, NAV_LANDING_INIT, nav_landing::radius, stateGetPositionEnu_f(), nav_landing::status, nav_landing::td_id, nav_landing::td_pos, and EnuCoor_f::z.
|
static |
Definition at line 230 of file nav_takeoff_and_landing_fw.c.
References point::a, nav_landing::af_pos, baseleg_out_qdr, CARROT, CloseRadAngles, GetAltRef, GetPosAlt, landing, nav_approaching_xy(), nav_circle_trigo_qdr, nav_glide_alt(), NAV_LANDING_DESCEND_SPEED, NAV_LANDING_DESCENT, NAV_LANDING_DONE, NAV_LANDING_FLARE, NAV_LANDING_FLARE_HEIGHT, NAV_LANDING_INIT, NAV_LANDING_REACH_AF, nav_route_xy(), NavCircleCount, NavCircleWaypoint, NavVerticalAltitudeMode, NavVerticalAutoThrottleMode, NavVerticalClimbMode, NavVerticalThrottleMode, NormCourseRad, nav_landing::radius, nav_landing::status, nav_landing::td_pos, nav_landing::timeout, WaypointAlt, waypoints, EnuCoor_f::x, point::x, EnuCoor_f::y, point::y, and EnuCoor_f::z.
Referenced by nav_land_at_loc(), nav_land_at_wp(), and nav_land_here().
void nav_takeoff_and_landing_init | ( | void | ) |
Init function.
Definition at line 117 of file nav_takeoff_and_landing_fw.c.
void nav_takeoff_and_landing_periodic | ( | void | ) |
Periodic timeout check function.
Definition at line 135 of file nav_takeoff_and_landing_fw.c.
bool nav_takeoff_from_here | ( | void | ) |
Takeoff from current location.
Definition at line 215 of file nav_takeoff_and_landing_fw.c.
Referenced by nav_takeoff_from_loc().
bool nav_takeoff_from_loc | ( | float | lat, |
float | lon | ||
) |
Takeoff from lat long location.
[in] | lat | takeoff latitude (deg) |
[in] | lon | takeoff longitude (deg) |
Definition at line 204 of file nav_takeoff_and_landing_fw.c.
References LlaCoor_f::alt, nav_takeoff::climb_pos, ENU_OF_UTM_DIFF, LlaCoor_f::lat, LlaCoor_f::lon, nav_takeoff_from_here(), NAV_TAKEOFF_HEIGHT, NAV_TAKEOFF_INIT, state, stateGetPositionLla_f(), nav_takeoff::status, takeoff, utm_of_lla_f(), and State::utm_origin_f.
bool nav_takeoff_from_wp | ( | uint8_t | wp_id | ) |
Takeoff from a waypoint.
[in] | wp_id | waypoint ID |
Definition at line 191 of file nav_takeoff_and_landing_fw.c.
|
static |
Definition at line 149 of file nav_takeoff_and_landing_fw.c.
References autopilot, autopilot_get_motors_on(), autopilot_set_motors_on(), CARROT, nav_takeoff::climb_pos, pprz_autopilot::launch, MAX_PPRZ, nav_approaching_xy(), NAV_TAKEOFF_CLIMB, NAV_TAKEOFF_DONE, NAV_TAKEOFF_HEIGHT, NAV_TAKEOFF_INIT, NAV_TAKEOFF_PITCH, NAV_TAKEOFF_START_MOTOR, NAV_TAKEOFF_THROTTLE, NavGotoPoint, NAVIGATION_FREQUENCY, NavVerticalAutoThrottleMode, NavVerticalThrottleMode, nav_takeoff::start_pos, stateGetPositionEnu_f(), nav_takeoff::status, takeoff, nav_takeoff::timeout, TRIM_UPPRZ, EnuCoor_f::x, EnuCoor_f::y, and EnuCoor_f::z.
Referenced by nav_takeoff_from_here(), and nav_takeoff_from_wp().
|
static |
Definition at line 1 of file nav_takeoff_and_landing_fw.c.
Referenced by nav_land_at_loc(), nav_land_at_wp(), nav_land_here(), nav_land_run(), nav_takeoff_and_landing_init(), and nav_takeoff_and_landing_periodic().
float nav_takeoff_direction |
Takeoff direction in range [0-360] (deg) set to flight plan QFU by default.
Definition at line 72 of file nav_takeoff_and_landing_fw.c.
Referenced by nav_takeoff_and_landing_init(), and nav_takeoff_from_here().
|
static |
Definition at line 1 of file nav_takeoff_and_landing_fw.c.
Referenced by nav_takeoff_and_landing_init(), nav_takeoff_and_landing_periodic(), nav_takeoff_from_here(), nav_takeoff_from_loc(), nav_takeoff_from_wp(), and nav_takeoff_run().