Control Allocation Support for Overactuated airframes


I read a few posts on developing support for overactuated airframes using the control allocation module. I am working on a controller for an overactuated hexacopter, and would like to integrate it with the control allocation module in the PX4 firmware. Something along the lines of this paper

Has anyone worked on this so far / is anyone working on it currently?
Also are there plans by dev-team to add support for overactuated airframes?

I’d love to contribute. I am working off of the pr-control_allocation branch. Currently trying to get an overview of how the control allocator module w.r.t the rest of the system, figure out what’s the best way I can implement an actuator effectiveness matrix generator for overactuated airframes and the control logic for the tilting of the motors.

I’d really appreciate any help regarding these!


You can already use the omnicopter model in gazebo:

I was waiting for someone to play with it :smile:

1 Like

Sweeet! will check it out, thanks! :raised_hands:

However, I am curious if there are tilt-multirotors like the Voliro UAV being tried with the control allocation module. That’s primarily what I’m working on. I have a model of my tilt-hex already, will fork the sitl-gazebo module and share it.

@akarshgopal If this is about the SITL model, there is the voliro model( available publicly, which is a fully actuated system using a tiltrotor hexacopter type airframe.

If you can take on supporting this in PX4, I can help on getting the model running in PX4 SITL Gazebo

However, I would argue it would be easier for you to start with the fixed omnicopter configuration and move on to the tilt-hexacopter configuration since it would be much harder to debug with the tilt configuration

1 Like

@Jaeyoung-Lim This is more about the Control Allocation module support for overactuated systems.
I already have a SITL model for my tilt-hex, but thanks for the link to the voliro SITL model, will check it out!

I would love to take on supporting this in PX4. I’ve already got my tilt-hex model running in SITL, but I would definitely appreciate some help with the Voliro model.

Thanks for the pointer, I’ll work on getting the omnicopter functional w the control allocation method and then move on to the Voliro-type UAV.

Regarding the Control Allocation module, do you know if there’s any internal documentation on how it’s built and whether there’s a plan of approach for supporting other airframe types?