PX4 Read Position Setpoint
Read the position setpoints published by the PX4 Navigator module in the uORB topic
position_setpoint_triplet
Since R2021b
Add-On Required: This feature requires the UAV Toolbox Support Package for PX4 Autopilots add-on.
Libraries:
UAV Toolbox Support Package for PX4 Autopilots /
PX4 Utility Blocks
Description
The PX4 Read Position Setpoint block outputs the position setpoints
published by the PX4 navigator module in the position_setpoint_triplet
uORB
topic. The block outputs the coordinates of the current destination setpoint (Current), the
next setpoint after the current destination (Next) and the most recent setpoint that was
traversed (Previous). The block outputs the Previous, Current and Next position setpoints as
coordinates in either the World Geodetic System of 1984 (WGS 84), local north-east-down (NED),
or local east-north-up (ENU) coordinate systems.
You can create an autonomous mission in the plan view of the QGroundControl (QGC) and
upload the mission to the PX4 Autopilot over MAVLink. For information on creating missions,
see Plan View. The mission consists of waypoints such as TakeOff, Position (also known
as Waypoint), Land and so on. The MAVLink module on the PX4 Autopilot decodes the mission data
and stores it in the memory. The navigator module in PX4 retrieves the waypoints from the
onboard memory and publishes them in the position_setpoint_triplet
uORB
topic. The Previous, Current, and Next setpoints are automatically updated by the navigator
module when the vehicle reaches those waypoints.
Note
If the onboard companion computer is enabled with PX4 (PX4 parameter COM_OBS_AVOID is set to 1), the current waypoint will be updated using the waypoint data received from the onboard computer. The updated waypoint from the onboard computer is communicated to PX4 using the Path Planning Interface over MAVLink. The PX4 MAVLink module receives the waypoint and publishes the waypoint in vehicle_trajectory_waypoint uORB topic. When onboard computer workflow is enabled, this block reads the waypoint from vehicle_trajectory_waypoint uORB topic and outputs it as current waypoint.
The block also outputs the waypoint mode for the current position setpoint which indicates the corresponding waypoint type that has been set in the mission uploaded from QGroundControl (QGC). This helps in distinguishing the Current Waypoint types (TakeOff, Waypoint, Land) in Simulink®.
Feed the coordinates that the block outputs directly to the controller algorithm designed in Simulink as input commands. Use the Type output to distinguish between waypoints and take corresponding appropriate action in the controller.
This block also reads the setpoint data for missions created in the QGC, for which the mission type is Flight plan. However, you cannot use this block to read setpoint data for geofencing and rally missions.
Among the flight plan missions, the supported mission commands whose waypoint data can be retrieved by the block are Takeoff, Land and Waypoint. Return to Launch (RTL) is not supported.
Note
The PX4 Read Position Setpoint block is supported only when you select Use default startup script (rcS) as the startup script option for the PX4 Autopilot during the Select System Startup Script in PX4 step of the Hardware Setup process. For more information, see Selecting Startup Script for PX4 Autopilot.
Note
The PX4 Read Position Setpoint block requires you to connect an SD card
to the PX4 Autopilot. Ensure that the connected SD card does not contain any custom startup
script (rc.txt) in the etc
folder.
Note
The PX4 Read Position Setpoint block cannot determine if the ongoing mission in QGroundControl is paused. You need to find a separate logic to determine if the mission is paused in QGroundControl.
During Normal mode simulation, the block outputs zeroes.
During Connected I/O simulation, this block reads data from the peripherals of the hardware.
Ports
Output
Input
Parameters
Version History
Introduced in R2021b