Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
autopilot_guided.h File Reference

Autopilot guided mode interface. More...

#include "std.h"
+ Include dependency graph for autopilot_guided.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define GUIDED_FLAG_XY_OFFSET   (1<<0)
 Bitmask for setting the flags attribute in autopilot_guided_update function See function description for more details. More...
 
#define GUIDED_FLAG_XY_BODY   (1<<1)
 
#define GUIDED_FLAG_Z_OFFSET   (1<<2)
 
#define GUIDED_FLAG_YAW_OFFSET   (1<<3)
 
#define GUIDED_FLAG_XY_VEL   (1<<5)
 
#define GUIDED_FLAG_Z_VEL   (1<<6)
 
#define GUIDED_FLAG_YAW_RATE   (1<<7)
 
#define NavGuided(_flags, _x, _y, _z, _yaw)
 Macro for the flight plan insctructions. More...
 

Functions

bool autopilot_guided_goto_ned (float x, float y, float z, float heading)
 Set position and heading setpoints in GUIDED mode. More...
 
bool autopilot_guided_goto_ned_relative (float dx, float dy, float dz, float dyaw)
 Set position and heading setpoints wrt. More...
 
bool autopilot_guided_goto_body_relative (float dx, float dy, float dz, float dyaw)
 Set position and heading setpoints wrt. More...
 
bool autopilot_guided_move_ned (float vx, float vy, float vz, float heading)
 Set velocity and heading setpoints in GUIDED mode. More...
 
void autopilot_guided_update (uint8_t flags, float x, float y, float z, float yaw)
 Set guided setpoints using flag mask in GUIDED mode. More...
 
void autopilot_guided_parse_GUIDED (uint8_t *buf)
 Parse GUIDED_SETPOINT_NED messages from datalink. More...
 

Detailed Description

Autopilot guided mode interface.

Definition in file autopilot_guided.h.

Macro Definition Documentation

◆ GUIDED_FLAG_XY_BODY

#define GUIDED_FLAG_XY_BODY   (1<<1)

Definition at line 99 of file autopilot_guided.h.

◆ GUIDED_FLAG_XY_OFFSET

#define GUIDED_FLAG_XY_OFFSET   (1<<0)

Bitmask for setting the flags attribute in autopilot_guided_update function See function description for more details.

Definition at line 98 of file autopilot_guided.h.

◆ GUIDED_FLAG_XY_VEL

#define GUIDED_FLAG_XY_VEL   (1<<5)

Definition at line 102 of file autopilot_guided.h.

◆ GUIDED_FLAG_YAW_OFFSET

#define GUIDED_FLAG_YAW_OFFSET   (1<<3)

Definition at line 101 of file autopilot_guided.h.

◆ GUIDED_FLAG_YAW_RATE

#define GUIDED_FLAG_YAW_RATE   (1<<7)

Definition at line 104 of file autopilot_guided.h.

◆ GUIDED_FLAG_Z_OFFSET

#define GUIDED_FLAG_Z_OFFSET   (1<<2)

Definition at line 100 of file autopilot_guided.h.

◆ GUIDED_FLAG_Z_VEL

#define GUIDED_FLAG_Z_VEL   (1<<6)

Definition at line 103 of file autopilot_guided.h.

◆ NavGuided

#define NavGuided (   _flags,
  _x,
  _y,
  _z,
  _yaw 
)
Value:
{ \
nav.horizontal_mode = NAV_HORIZONTAL_MODE_GUIDED; \
nav.vertical_mode = NAV_VERTICAL_MODE_GUIDED; \
autopilot_guided_update(_flags, _x, _y, _z, _yaw); \
}
#define NAV_HORIZONTAL_MODE_GUIDED
Definition: navigation.h:90
#define NAV_VERTICAL_MODE_GUIDED
Definition: navigation.h:95

Macro for the flight plan insctructions.

Definition at line 108 of file autopilot_guided.h.

Function Documentation

◆ autopilot_guided_goto_body_relative()

bool autopilot_guided_goto_body_relative ( float  dx,
float  dy,
float  dz,
float  dyaw 
)

Set position and heading setpoints wrt.

current position AND heading in GUIDED mode.

Parameters
dxrelative position (body frame, forward) in meters.
dyrelative position (body frame, right) in meters.
dzrelative position (body frame, down) in meters.
dyawOffset relative to current heading setpoint in radians.
Returns
TRUE if setpoint was set (currently in AP_MODE_GUIDED)

Definition at line 186 of file autopilot_guided.c.

Referenced by mavlink_common_message_handler().

+ Here is the caller graph for this function:

◆ autopilot_guided_goto_ned()

bool autopilot_guided_goto_ned ( float  x,
float  y,
float  z,
float  heading 
)

Set position and heading setpoints in GUIDED mode.

Parameters
xNorth position (local NED frame) in meters.
yEast position (local NED frame) in meters.
zDown position (local NED frame) in meters.
headingSetpoint in radians.
Returns
TRUE if setpoint was set (currently in AP_MODE_GUIDED)

Definition at line 168 of file autopilot_guided.c.

References heading, FloatVect2::x, and FloatVect2::y.

Referenced by mavlink_common_message_handler().

+ Here is the caller graph for this function:

◆ autopilot_guided_goto_ned_relative()

bool autopilot_guided_goto_ned_relative ( float  dx,
float  dy,
float  dz,
float  dyaw 
)

Set position and heading setpoints wrt.

current position in GUIDED mode.

Parameters
dxOffset relative to current north position (local NED frame) in meters.
dyOffset relative to current east position (local NED frame) in meters.
dzOffset relative to current down position (local NED frame) in meters.
dyawOffset relative to current heading setpoint in radians.
Returns
TRUE if setpoint was set (currently in AP_MODE_GUIDED)

Definition at line 177 of file autopilot_guided.c.

Referenced by mavlink_common_message_handler().

+ Here is the caller graph for this function:

◆ autopilot_guided_move_ned()

bool autopilot_guided_move_ned ( float  vx,
float  vy,
float  vz,
float  heading 
)

Set velocity and heading setpoints in GUIDED mode.

Parameters
vxNorth velocity (local NED frame) in meters/sec.
vyEast velocity (local NED frame) in meters/sec.
vzDown velocity (local NED frame) in meters/sec.
headingSetpoint in radians.
Returns
TRUE if setpoint was set (currently in AP_MODE_GUIDED)

Definition at line 195 of file autopilot_guided.c.

References heading.

Referenced by mavlink_common_message_handler().

+ Here is the caller graph for this function:

◆ autopilot_guided_parse_GUIDED()

void autopilot_guided_parse_GUIDED ( uint8_t buf)

Parse GUIDED_SETPOINT_NED messages from datalink.

Definition at line 215 of file autopilot_guided.c.

◆ autopilot_guided_update()

void autopilot_guided_update ( uint8_t  flags,
float  x,
float  y,
float  z,
float  yaw 
)

Set guided setpoints using flag mask in GUIDED mode.

Parameters
flagsBits 0-3 are used to determine the axis system to be used. If bits 0 and 1 are clear then the coordinates are set in absolute NE coordinates. If bit 1 is set bit 0 is ignored. Bits 5-7 define whether the setpoints should be used as position or velocity. Bit flags are defined as follows: bit 0: x,y as offset coordinates bit 1: x,y in body coordinates bit 2: z as offset coordinates bit 3: yaw as offset coordinates bit 4: free bit 5: x,y as vel bit 6: z as vel bit 7: yaw as rate
xNorth position/velocity in meters or meters/sec.
yEast position/velocity in meters or meters/sec.
zDown position/velocity in meters or meters/sec.
yawHeading or heading rate setpoint in radians or radians/sec.

Definition at line 204 of file autopilot_guided.c.

References FloatVect2::x, and FloatVect2::y.

Referenced by nav_fish_velocity_run().

+ Here is the caller graph for this function: