How to find the Modern PX4 Mixers

Good day.
I am currently developing a controller for a quadcopter and due to the academic nature of the project, I must have a detailed understanding of the software implemented within PX4. I am currently struggling to understand how the final mixer is implemented for quadrotors. From what I gather, the system has been upgraded to not use an explicit mixer file, but to rather generate its own mixer through a .yaml file using the airframe configuration file. Is this the case?
If this is then so, how can I see the final mixer, used by the PX4 autopilot? Is there maybe a paper or so which was used to generate these mixers?

It is possible that this has been addressed before, however, I have only found information prior to 2020.

It’s called dynamic control allocation. Have a look around here:

1 Like

In the code Julian refers to, you will find a “psudo-inverse” of the “effectiveness matrix” that is generated from your model parameters. I found that matrix generation code to be convoluted and very difficult to follow - but it seems to work. It allows a new matrix to be generated if e.g. a motor fails.
The inverse is a liinear map from desired net thrust and torque to actuator ( e.g. motor) control.
I remember there was a discussion somewhere about the choice of *psudo-inverse", since for a conventional drone a unique inverse does not exist.

1 Like