Firmware
|
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. | |
![]() | |
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) |
![]() | |
ModuleParams (ModuleParams *parent) | |
void | setParent (ModuleParams *parent) |
Sets the parent module. More... | |
ModuleParams (const ModuleParams &)=delete | |
ModuleParams & | operator= (const ModuleParams &)=delete |
ModuleParams (ModuleParams &&)=delete | |
ModuleParams & | operator= (ModuleParams &&)=delete |
![]() | |
void | setSibling (ModuleParams * sibling) |
const ModuleParams * | getSibling () 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) | |
![]() | |
void | _resetSetpoints () |
Reset all setpoints to NAN. | |
void | _evaluateVehicleLocalPosition () |
Check and update local position. | |
![]() | |
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 | |
![]() | |
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... | |
![]() | |
ModuleParams * | _sibling |
Additional Inherited Members | |
![]() | |
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 constexpr uint64_t | _timeout = 500000 |
maximal time in us before a loop or data times out | |
|
protected |
only used for follow-me and only here because of legacy reason.
|
protected |
Depending on state of vehicle, the internal waypoints might differ from target (for instance if offtrack).
|
overridevirtual |
Call once on the event where you switch to the task.
Reimplemented from FlightTask.
Reimplemented in FlightTaskAutoLineSmoothVel, FlightTaskAutoMapper, and FlightTaskAutoMapper2.
|
overridevirtual |
Initialize the uORB subscriptions using an array.
subscription_array | handling uORB subscribtions externally across task switches |
Reimplemented from FlightTask.
|
overridevirtual |
Call after update() to constrain the generated setpoints in order to comply with the constraints of the current mode.
Reimplemented from FlightTask.
|
overridevirtual |
Call before activate() or update() to initialize time and input data.
Reimplemented from FlightTask.
|
protected |
Requested cruise speed.
If not valid, default cruise speed is used.
|
protected |
The next waypoint after target (local frame).
If no next setpoint is available, next is set to target.
|
protected |
Pre-previous waypoint (local frame).
This will be used for smoothing trajectories -> not used yet.
|
protected |
Previous waypoint (local frame).
If no previous triplet is available, the prev_wp is set to current position.
|
protected |
Target waypoint (local frame).
|
protected |
Type of current target triplet.