Qualcomm Navigator Flight Control Interface  2.0
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Pages
Public Types | Public Member Functions | Public Attributes | List of all members
snav_fci::PlannerConfig Class Reference

Structure containing options for the Planner. More...

#include <planner_config.hpp>

Public Types

enum  TrajType { TrajType::SHORTEST_PATH = 0, TrajType::MIN_ACC, TrajType::MIN_JERK, TrajType::MIN_SNAP }
 Enum used to handle different methods of generating trajectories. More...
 
enum  TimestampStrategy { TimestampStrategy::USE_PROVIDED = 0, TimestampStrategy::AVERAGE_SPEED }
 Enum used to specify the timestamp strategy when generating trajectories. More...
 

Public Member Functions

 PlannerConfig ()
 Default constructor.
 
 PlannerConfig (TrajType traj_type)
 

Public Attributes

TrajType traj_type
 Specifies the trajectory-generation method for an instance of Planner.
 
TimestampStrategy timing
 
float average_speed_xy
 
float average_speed_z
 
float max_allowed_vel_xy
 
float max_allowed_vel_z
 
float max_allowed_acc_xy
 
float max_allowed_acc_z
 
float max_allowed_jerk_xy
 
float max_allowed_jerk_z
 
bool loop
 

Detailed Description

Structure containing options for the Planner.

Member Enumeration Documentation

Enum used to specify the timestamp strategy when generating trajectories.

Enumerator
USE_PROVIDED 

Use the timestamps provided with the waypoints as is

AVERAGE_SPEED 

Assign timestamps assuming vehicle travels along the shortest path between waypoints at an average speed defined by average_speed_xy and average_speed_z, ignoring any timestamps provided with the waypoints.

Enum used to handle different methods of generating trajectories.

Enumerator
SHORTEST_PATH 

Straight line to waypoint with trapezoidal velocity profile; purely local, computes instantaneous command at each step

MIN_ACC 

Optimize trajectory by minimizing acceleration

MIN_JERK 

Optimize trajectory by minimizing jerk

MIN_SNAP 

Optimize trajectory by minimizing snap

Constructor & Destructor Documentation

snav_fci::PlannerConfig::PlannerConfig ( TrajType  traj_type)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Member Data Documentation

float snav_fci::PlannerConfig::average_speed_xy

Average speed in the XY plane in m/s used when assigning timestamps to waypoints in the following calculation which assumes straight-line paths: t = distance in XY plane / average_speed_xy. Planner uses max of time given by XY calculation and time given by Z calculation.

float snav_fci::PlannerConfig::average_speed_z

Average vertical speed in m/s used when assigning timestamps to waypoints in the following calculation which assumes straight-line paths: t = vertical distance / average_speed_z. Planner uses max of time given by XY calculation and time given by Z calculation.

bool snav_fci::PlannerConfig::loop

Whether or not the trajectory should loop. WARNING: a bug in the traj gen library must be resolved before this option can be used successfully

float snav_fci::PlannerConfig::max_allowed_acc_xy

Maximum acceleration in the XY plane permitted by the planner in m/s^2. Note that the actual achievable horizontal acceleration is limited by the max tilt angle permitted by Qualcomm Navigator, so increasing this number is not sufficient for the vehicle to attain higher horizontal accelerations.

float snav_fci::PlannerConfig::max_allowed_acc_z

Maximum vertical acceleration permitted by the planner in m/s^2. Note that this number is limited by the vehicle's thrust-to-weight ratio.

float snav_fci::PlannerConfig::max_allowed_jerk_xy

Maximum allowed jerk in the XY plane permitted by the planner in m/s^3.

float snav_fci::PlannerConfig::max_allowed_jerk_z

Maximum allowed vertical jerk permitted by the planner in m/s^3.

float snav_fci::PlannerConfig::max_allowed_vel_xy

Maximum velocity in the XY plane permitted by planner in m/s. Note that Qualcomm Navigator dictates the max velocities allowed in position control modes, so increasing this number is not sufficient for the vehicle to attain higher horizontal velocities.

float snav_fci::PlannerConfig::max_allowed_vel_z

Maximum vertical velocity permitted by the planner in m/s. Note that Qualcomm Navigator dictates the max vertical velocity allowed in height control modes, so increasing this number is not sufficient for the vehicle to attain higher vertical velocities.

TimestampStrategy snav_fci::PlannerConfig::timing

Strategy to use for waypoint timestamps in trajectory generation


The documentation for this class was generated from the following file: