Files
PX4-Autopilot/docs/en/msg_docs/ControlAllocatorStatus.md
PX4BuildBot d965df930c docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-02-23 18:34:11 +00:00

6.0 KiB

pageClass
pageClass
is-wide-page

ControlAllocatorStatus (UORB message)

TOPICS: control_allocator_status

Fields

Name Type Unit [Frame] Range/Enum Description
timestamp uint64 time since system start (microseconds)
torque_setpoint_achieved bool Boolean indicating whether the 3D torque setpoint was correctly allocated to actuators. 0 if not achieved, 1 if achieved.
unallocated_torque float32[3] Unallocated torque. Equal to 0 if the setpoint was achieved.
thrust_setpoint_achieved bool Boolean indicating whether the 3D thrust setpoint was correctly allocated to actuators. 0 if not achieved, 1 if achieved.
unallocated_thrust float32[3] Unallocated thrust. Equal to 0 if the setpoint was achieved.
actuator_saturation int8[16] Indicates actuator saturation status.
handled_motor_failure_mask uint16 Bitmask of failed motors that were removed from the allocation / effectiveness matrix. Not necessarily identical to the report from FailureDetector
motor_stop_mask uint16 Bitmaks of motors stopped by failure injection

Constants

Name Type Value Description
ACTUATOR_SATURATION_OK int8 0 The actuator is not saturated
ACTUATOR_SATURATION_UPPER_DYN int8 1 The actuator is saturated (with a value <= the desired value) because it cannot increase its value faster
ACTUATOR_SATURATION_UPPER int8 2 The actuator is saturated (with a value <= the desired value) because it has reached its maximum value
ACTUATOR_SATURATION_LOWER_DYN int8 -1 The actuator is saturated (with a value >= the desired value) because it cannot decrease its value faster
ACTUATOR_SATURATION_LOWER int8 -2 The actuator is saturated (with a value >= the desired value) because it has reached its minimum value

Source Message

Source file (GitHub)

::: details Click here to see original file

uint64 timestamp                        # time since system start (microseconds)

bool torque_setpoint_achieved           # Boolean indicating whether the 3D torque setpoint was correctly allocated to actuators. 0 if not achieved, 1 if achieved.
float32[3] unallocated_torque           # Unallocated torque. Equal to 0 if the setpoint was achieved.
                                        # Computed as: unallocated_torque = torque_setpoint - allocated_torque

bool thrust_setpoint_achieved           # Boolean indicating whether the 3D thrust setpoint was correctly allocated to actuators. 0 if not achieved, 1 if achieved.
float32[3] unallocated_thrust           # Unallocated thrust. Equal to 0 if the setpoint was achieved.
                                        # Computed as: unallocated_thrust = thrust_setpoint - allocated_thrust

int8 ACTUATOR_SATURATION_OK        =  0 # The actuator is not saturated
int8 ACTUATOR_SATURATION_UPPER_DYN =  1 # The actuator is saturated (with a value <= the desired value) because it cannot increase its value faster
int8 ACTUATOR_SATURATION_UPPER     =  2 # The actuator is saturated (with a value <= the desired value) because it has reached its maximum value
int8 ACTUATOR_SATURATION_LOWER_DYN = -1 # The actuator is saturated (with a value >= the desired value) because it cannot decrease its value faster
int8 ACTUATOR_SATURATION_LOWER     = -2 # The actuator is saturated (with a value >= the desired value) because it has reached its minimum value

int8[16] actuator_saturation            # Indicates actuator saturation status.
                                        # Note 1: actuator saturation does not necessarily imply that the thrust setpoint or the torque setpoint were not achieved.
                                        # Note 2: an actuator with limited dynamics can be indicated as upper-saturated even if it as not reached its maximum value.

uint16 handled_motor_failure_mask        # Bitmask of failed motors that were removed from the allocation / effectiveness matrix. Not necessarily identical to the report from FailureDetector
uint16 motor_stop_mask                   # Bitmaks of motors stopped by failure injection

:::