Firmware
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
FlightTaskAuto Class Reference
Inheritance diagram for FlightTaskAuto:
FlightTask ModuleParams ListNode< ModuleParams *> FlightTaskAutoFollowMe FlightTaskAutoMapper FlightTaskAutoMapper2 FlightTaskAutoLine FlightTaskAutoLineSmoothVel

Public Member Functions

bool initializeSubscriptions (SubscriptionArray &subscription_array) override
 Initialize the uORB subscriptions using an array. More...
 
bool activate () override
 Call once on the event where you switch to the task. More...
 
bool updateInitialize () override
 Call before activate() or update() to initialize time and input data. More...
 
bool updateFinalize () override
 Call after update() to constrain the generated setpoints in order to comply with the constraints of the current mode. More...
 
void setYawHandler (WeatherVane *ext_yaw_handler) override
 Sets an external yaw handler which can be used to implement a different yaw control strategy.
 
- Public Member Functions inherited from FlightTask
virtual void reActivate ()
 Call this to reset an active Flight Task.
 
virtual bool applyCommandParameters (const vehicle_command_s &command)
 To be called to adopt parameters from an arrived vehicle command. More...
 
virtual bool update ()=0
 To be called regularly in the control loop cycle to execute the task. More...
 
const vehicle_local_position_setpoint_s getPositionSetpoint ()
 Get the output data. More...
 
const vehicle_constraints_s & getConstraints ()
 Get vehicle constraints. More...
 
const landing_gear_s & getGear ()
 Get landing gear position. More...
 
const vehicle_trajectory_waypoint_s & getAvoidanceWaypoint ()
 Get avoidance desired waypoint. More...
 
void handleParameterUpdate ()
 Call this whenever a parameter update notification is received (parameter_update uORB message)
 
void updateVelocityControllerIO (const matrix::Vector3f &vel_sp, const matrix::Vector3f &thrust_sp)
 
- Public Member Functions inherited from ModuleParams
 ModuleParams (ModuleParams *parent)
 
void setParent (ModuleParams *parent)
 Sets the parent module. More...
 
 ModuleParams (const ModuleParams &)=delete
 
ModuleParamsoperator= (const ModuleParams &)=delete
 
 ModuleParams (ModuleParams &&)=delete
 
ModuleParamsoperator= (ModuleParams &&)=delete
 
- Public Member Functions inherited from ListNode< ModuleParams *>
void setSibling (ModuleParams * sibling)
 
const ModuleParamsgetSibling () const
 

Protected Member Functions

void _setDefaultConstraints () override
 Set constraints to default values.
 
matrix::Vector2f _getTargetVelocityXY ()
 only used for follow-me and only here because of legacy reason. More...
 
void _updateInternalWaypoints ()
 Depending on state of vehicle, the internal waypoints might differ from target (for instance if offtrack). More...
 
bool _compute_heading_from_2D_vector (float &heading, matrix::Vector2f v)
 Computes and sets heading a 2D vector.
 
 DEFINE_PARAMETERS_CUSTOM_PARENT (FlightTask,(ParamFloat< px4::params::MPC_XY_CRUISE >) _param_mpc_xy_cruise,(ParamFloat< px4::params::MPC_CRUISE_90 >) _param_mpc_cruise_90,(ParamFloat< px4::params::NAV_MC_ALT_RAD >) _param_nav_mc_alt_rad,(ParamInt< px4::params::MPC_YAW_MODE >) _param_mpc_yaw_mode,(ParamInt< px4::params::COM_OBS_AVOID >) _param_com_obs_avoid,(ParamFloat< px4::params::MPC_YAWRAUTO_MAX >) _param_mpc_yawrauto_max)
 
- Protected Member Functions inherited from FlightTask
void _resetSetpoints ()
 Reset all setpoints to NAN.
 
void _evaluateVehicleLocalPosition ()
 Check and update local position.
 
- Protected Member Functions inherited from ModuleParams
virtual void updateParams ()
 Call this method whenever the module gets a parameter change notification. More...
 
virtual void updateParamsImpl ()
 The implementation for this is generated with the macro DEFINE_PARAMETERS()
 

Protected Attributes

matrix::Vector3f _prev_prev_wp {}
 Pre-previous waypoint (local frame). More...
 
matrix::Vector3f _prev_wp {}
 Previous waypoint (local frame). More...
 
matrix::Vector3f _target {}
 Target waypoint (local frame). More...
 
matrix::Vector3f _next_wp {}
 The next waypoint after target (local frame). More...
 
float _mc_cruise_speed {0.0f}
 Requested cruise speed. More...
 
WaypointType _type {WaypointType::idle}
 Type of current target triplet. More...
 
uORB::Subscription< home_position_s > * _sub_home_position {nullptr}
 
State _current_state {State::none}
 
float _target_acceptance_radius = 0.0f
 Acceptances radius of the target.
 
int _mission_gear = landing_gear_s::GEAR_KEEP
 
ObstacleAvoidance _obstacle_avoidance
 class adjusting setpoints according to external avoidance module's input
 
- Protected Attributes inherited from FlightTask
uORB::Subscription< vehicle_local_position_s > * _sub_vehicle_local_position {nullptr}
 
uORB::Subscription< vehicle_attitude_s > * _sub_attitude {nullptr}
 
uint8_t _heading_reset_counter {0}
 estimator heading reset
 
float _time = 0
 passed time in seconds since the task was activated
 
float _deltatime = 0
 passed time in seconds since the task was last updated
 
hrt_abstime _time_stamp_activate = 0
 time stamp when task was activated
 
hrt_abstime _time_stamp_current = 0
 time stamp at the beginning of the current task update
 
hrt_abstime _time_stamp_last = 0
 time stamp when task was last updated
 
matrix::Vector3f _position
 current vehicle position
 
matrix::Vector3f _velocity
 current vehicle velocity
 
float _yaw = 0.f
 current vehicle yaw heading
 
float _dist_to_bottom = 0.0f
 current height above ground level
 
matrix::Vector3f _position_setpoint
 Setpoints which the position controller has to execute. More...
 
matrix::Vector3f _velocity_setpoint
 
matrix::Vector3f _acceleration_setpoint
 
matrix::Vector3f _jerk_setpoint
 
matrix::Vector3f _thrust_setpoint
 
float _yaw_setpoint
 
float _yawspeed_setpoint
 
matrix::Vector3f _velocity_setpoint_feedback
 
matrix::Vector3f _thrust_setpoint_feedback
 
vehicle_constraints_s _constraints {}
 Vehicle constraints. More...
 
landing_gear_s _gear {}
 
vehicle_trajectory_waypoint_s _desired_waypoint {}
 Desired waypoints. More...
 
- Protected Attributes inherited from ListNode< ModuleParams *>
ModuleParams_sibling
 

Additional Inherited Members

- Static Public Attributes inherited from FlightTask
static const vehicle_local_position_setpoint_s empty_setpoint = {0, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, {NAN, NAN, NAN}}
 Empty setpoint. More...
 
static const vehicle_constraints_s empty_constraints = {0, NAN, NAN, NAN, NAN, NAN, NAN, NAN, {}}
 Empty constraints. More...
 
static const landing_gear_s empty_landing_gear_default_keep = {0, landing_gear_s::GEAR_KEEP, {}}
 default landing gear state
 
static const vehicle_trajectory_waypoint_s empty_trajectory_waypoint
 Empty desired waypoints. More...
 
- Static Protected Attributes inherited from FlightTask
static constexpr uint64_t _timeout = 500000
 maximal time in us before a loop or data times out
 

Member Function Documentation

§ _getTargetVelocityXY()

Vector2f FlightTaskAuto::_getTargetVelocityXY ( )
protected

only used for follow-me and only here because of legacy reason.

§ _updateInternalWaypoints()

void FlightTaskAuto::_updateInternalWaypoints ( )
protected

Depending on state of vehicle, the internal waypoints might differ from target (for instance if offtrack).

§ activate()

bool FlightTaskAuto::activate ( )
overridevirtual

Call once on the event where you switch to the task.

Returns
true on success, false on error

Reimplemented from FlightTask.

Reimplemented in FlightTaskAutoLineSmoothVel, FlightTaskAutoMapper, and FlightTaskAutoMapper2.

§ initializeSubscriptions()

bool FlightTaskAuto::initializeSubscriptions ( SubscriptionArray subscription_array)
overridevirtual

Initialize the uORB subscriptions using an array.

Parameters
subscription_arrayhandling uORB subscribtions externally across task switches
Returns
true on success, false on error

Reimplemented from FlightTask.

§ updateFinalize()

bool FlightTaskAuto::updateFinalize ( )
overridevirtual

Call after update() to constrain the generated setpoints in order to comply with the constraints of the current mode.

Returns
true on success, false on error

Reimplemented from FlightTask.

§ updateInitialize()

bool FlightTaskAuto::updateInitialize ( )
overridevirtual

Call before activate() or update() to initialize time and input data.

Returns
true on success, false on error

Reimplemented from FlightTask.

Member Data Documentation

§ _mc_cruise_speed

float FlightTaskAuto::_mc_cruise_speed {0.0f}
protected

Requested cruise speed.

If not valid, default cruise speed is used.

§ _next_wp

matrix::Vector3f FlightTaskAuto::_next_wp {}
protected

The next waypoint after target (local frame).

If no next setpoint is available, next is set to target.

§ _prev_prev_wp

matrix::Vector3f FlightTaskAuto::_prev_prev_wp {}
protected

Pre-previous waypoint (local frame).

This will be used for smoothing trajectories -> not used yet.

§ _prev_wp

matrix::Vector3f FlightTaskAuto::_prev_wp {}
protected

Previous waypoint (local frame).

If no previous triplet is available, the prev_wp is set to current position.

§ _target

matrix::Vector3f FlightTaskAuto::_target {}
protected

Target waypoint (local frame).

§ _type

WaypointType FlightTaskAuto::_type {WaypointType::idle}
protected

Type of current target triplet.


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