PX4-Autopilot: [BUG] Support for DO_SET_ACUTUATOR and DO_SET_SERVO MAVLink commands

Describe problem solved by the proposed feature

I have noted that a lot of users (e.g. https://discuss.px4.io/t/using-do-set-actuator-to-releasing-the-payload/28686) were asking for ways to control the servo, or an actuator via the DO_SET_ACTUATOR/SERVO messages coming from an external entity (e.g. onboard computer).

This definitely sounds like a basic feature that we should support, as it can be used for all kinds of applications that controls *any sort of actuator onboard the drone,

As we now have the Actuators and Servos concept in place with control allocation, it should be pretty straightforward to implement, I think.

Describe your preferred solution

Add the logic in mavlink_receiver.cpp like was done in v1.13:

https://github.com/PX4/PX4-Autopilot/blob/1c8ab2a0d7db2d14a6f320ebd8766b5ffaea28fa/src/modules/mavlink/mavlink_receiver.cpp#L554-L586

Describe possible alternatives

None

Additional context

I have posted a bit of history behind the support for these commands here: https://discuss.px4.io/t/using-do-set-actuator-to-releasing-the-payload/28686/3, however, to summarize:

  1. This feature was supported in v1.13 (related comment), and was utilizing control groups convention (which was removed after complete switch to control allocation in v1.14)
  2. It was then removed when purging old mixer system (using control groups, etc): https://github.com/PX4/PX4-Autopilot/commit/13f9eabd70de2038330e89ab46d5cb3f1cde38ec

Therefore, I would say this was an accidental deletion and the feature should be put back in place.

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Reactions: 1
  • Comments: 16 (11 by maintainers)

Most upvoted comments

@junwoo091400 Yes, we’re talking about DO_SET_ACTUATOR

No, it was removed in https://github.com/PX4/PX4-Autopilot/commit/13f9eabd70de2038330e89ab46d5cb3f1cde38ec - probably by accident, but hard to know - see https://github.com/PX4/PX4-Autopilot/commit/13f9eabd70de2038330e89ab46d5cb3f1cde38ec#diff-22f2d2347fbee4247ef71142274d558334f8991fb89dca50f7505ba05bf9873f

I find this incredibly frustrating. Yet another request for it here: https://github.com/PX4/PX4-user_guide/issues/3028

FYI @mrpollo - is it time for me to remove all the instructions on how to use this essential feature from the docs or can we get this restored?