PX4 Community Q&A: May 31, 2023

May 31, 2023

Join us


  • Community Announcement
  • Community Q&A
  • General Discussions

:loudspeaker: Community Announcement

A.1 : v1.14 is on it’s way!

v1.14 has been branched off, and beta is coming next

:people_holding_hands: Community Q&A (No deep technical discussions)

:exclamation: Guideline for asking a Question

  1. Specify what you are trying to achieve
  2. Specify what environment / platform you are using
  3. Prepare a Link or Document to help understand if possible
  4. First, ask the question on Discord or create a Github Issue!
  5. If you take over 5 minutes for the question, please continue in Discord or a Github Issue.

Q.1: Mixer module & thrust factor - Henry

Where is the thrust factor of the mixer module assigned to?

Probably THR_MDR_FAC or sth like that, easier to find it via parameter name

Found by henry here:


  • It would be cool to real thrust curve accounted for each different motor, instead of a single thrust factor used for now.
  • Battery scaling exists in the multirotor rate controller for now, but should be moved ideally (but it works! for now)

:thinking: General Discussions

D.1 : Bidirectional DroneCAN ESC & Mixer Module modification

  • Currently mixer module only supports unsigned output values
  • For bidirectional ESCs, the output must range from negative to positive (not just positive!)
  • So this PR implements that & enables bidirectional DroneCAN ESC use case.
  • At the end, desirable to have mixer module output desired unit (e.g. float / rpm / etc), separated for each driver.


  • Using ‘float’ data type would be nice eventually
  • For SITL Gazebo, where output is the angles in radians, float is better
  • Currently Modal AI ESC is also working in a hacky way for reverse directions
  • Also some other users with UAVCAN reversible esc is having problems too
  • DSHOT reversible esc isn’t suffering problem since the range is in positive value range (exception)

Action Items:
Daniel will search for a branch that had this WIP already, and decide whether it’s better to continue with this PR, or restore that branch

D.2: Control allocator manual passthrough for hardware failure PR

  • Currently the metadata is intertwined with control allocator as a dependency
  • Having ability to disable control allocator in general would be helpful - Beniamino
  • Now for offboard control,
  • Using the control allocator interface, we can funnel the output through the ‘functions’ (e.g. offboard actuator 0, servo 0, etc), and the output will be correctly delivered to actuators via mixer module :thinking:
  • Message overloading isn’t desirable, but currently being utilized (e.g. offboard trajectory setpoint)

Action Items

  • More logic in output function
  • Deconflict the topics (e.g. remove need to publish offboard related topics appropriately, so that the hold mode’s output doesn’t hijack / hinder offboard not functioning)
  • More documentation for the DDS topic funneling (?)

Related: [WIP] ROS 2: Library with dynamic modes API by bkueng · Pull Request #20707 · PX4/PX4-Autopilot · GitHub

D.3: Further improvement points

  • Changing the build system to colcon (PX4)

Note: the need for moving over to colcon was also mentioned in this meeting from ROS community:

My questions relate to the following PR

1 Like