Control allocation roll/pitch torque effectiveness actual meaning

The ‘absolute value’ gets determine by implementing the equations which governs how control surface deflections produces torques: Here is example of two elevons producing a pitching torque:

If we replace all the symbols (except for the deflections) and linearise we get the following equations, implemented for roll, pitch and yaw:

So the above is the unnormalised effective matrix for Elevons. Each elevon produce 6.12Nm per radian deflection in roll, 18.99Nm per radian deflection in pitch and 10.969 Nm per deflection in yaw. So this is the absolute value.

We then take the Jacobian and normalise the matrix and get the following:

image

The above elements are which you plug into QGC for roll, pitch, and yaw.

What PX4 then does, it receives this Normalised Effective Matrix, and calculates the inverse, and then also normalises.

The Pseudo inverse for above matrix is: And is known as the Control allocation matrix.
image

And if we normalize we get (This is not necessary how PX4 normalize the Control allocation matrix)

This matrix is multiply by the controllers torque setpoint (P,Q,R)
and results in:

The column vector which this matrix equate is your normalised deflection of your control surfaces. So to answer your 2nd question: From what I can gather you are using the effectiveness matrix to calculate your deflection angle, but it should be your control allocation matrix.

When adjusting both roll and pitch torques from ± 0.5 to ±1.0, wont change anything, because after the normalised effectiveness matrix is inversed (the Pseudo inverse) its gets normalised again, and this will removed that 2 gain value which you multiplied. Its important to note, that I have normalised each axis with the max value in that axis, whereas in PX4 they do it differently.

Another thing to note, is that you can see that its possible to saturate your control surfaces when commanding a full Pitch torque(1) and full roll torque (1) → PX4 does some handling of this, but in general having dedicated control surfaces for each axis, you wont run into this. This will happened when you try to control pitch roll and yaw just with elevons, as with this example.

I dont think I understand your 2nd question, but I do hope I gave more insight into this. And sorry I cant put math equation into this forum so following the math matrices is difficult.

5 Likes