Actuator Control from Offboard Computer via MAVROS


In a previous version of PX4 (1.10.1dev, fixed-wing), I could just publish to /mavros/actuator_control from the offboard/companion computer, and then switch to offboard mode via the remote control switch.

After updating to a newer/newest version (any above 1.10.1/1.12.3 stable), this is no longer possible.

Could you point me to how to recover the old capability? We are a control research lab and need full/direct actuator access for both fixed-wing/multi-rotor.

Thank you in advance!

@jowaibel This is still possible, Please explain how your approach is failing.

You can check Enable offboard actuator setpoints by Jaeyoung-Lim · Pull Request #18581 · PX4/PX4-Autopilot · GitHub

Hi @Jaeyoung-Lim,

Thanks for your message. I didn’t find any helpful information in the Pull Request. The mentioned MAVLINK message should be sent from MAVROS here. I don’t see any problem here.

Note that actuator control is no longer mentioned in Offboard Mode | PX4 User Guide (neither in /v1.10/ though - but it worked there as described below).

[Ubuntu 18.04.3, ROS Melodic, Mavros v1.13.0]

Here is what works for the old PX4 version [PX4 v1.10.1, StandardPlane airfame]

  • A ROS node at 100Hz publishes to /mavros/actuator_control
  • Switch to Offboard mode via a remote control switch
    → PX4 goes to Offboard mode.

With the new version [PX4 v1.12.3, Coaxial Helicopter airframe], it just doesn’t switch to offboard mode. Instead, it degrades to the next lower flight control mode available, in this case altitude control (for copter).
There is no message about the failed trial to switch to offboard mode, neither in QGroundControl, nor in the MAVROS console output.

Thanks for your help.

@jowaibel Have you checked if the PR I have linked is included in the firmware version you are using?

You’re right, it’s not. I wrongly assumed that the stable release was the head of the master branch. So you are suggesting to just pick that commit into the latest stable version and custom-build it. We’ll try, thank you!

I confirm that the custom build cherry-picking the cda7c6c commit works. Thanks for your help!