|
|
@ -398,16 +398,16 @@ ControlAllocator::Run() |
|
|
|
|
|
|
|
|
|
|
|
_control_allocation[i]->clipActuatorSetpoint(); |
|
|
|
_control_allocation[i]->clipActuatorSetpoint(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Publish actuator setpoint and allocator status
|
|
|
|
// Publish actuator setpoint and allocator status
|
|
|
|
publish_actuator_controls(); |
|
|
|
publish_actuator_controls(); |
|
|
|
|
|
|
|
|
|
|
|
// Publish status at limited rate, as it's somewhat expensive and we use it for slower dynamics
|
|
|
|
// Publish status at limited rate, as it's somewhat expensive and we use it for slower dynamics
|
|
|
|
// (i.e. anti-integrator windup)
|
|
|
|
// (i.e. anti-integrator windup)
|
|
|
|
if (now - _last_status_pub >= 5_ms) { |
|
|
|
if (now - _last_status_pub >= 5_ms) { |
|
|
|
publish_control_allocator_status(); |
|
|
|
publish_control_allocator_status(); |
|
|
|
_last_status_pub = now; |
|
|
|
_last_status_pub = now; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
perf_end(_loop_perf); |
|
|
|
perf_end(_loop_perf); |
|
|
|