Air Mode Complications

Dear all, @JulianOes, @bresch, @sfuhrer, @rroche, @mohammad

When MC_AIRMODE = 1, occasionally my VTOL collective thrust is saturated to 100%. This causes the aircraft to be commanded zero pitch/roll until surviving from this saturation region. Log

What part of code does check this saturation and commands to go in level?

When I disabled the air mode, another problem arose right after the back transition ended. Roll diverged, and there was not actuator signal although roll command was consistently trying to compansate the roll error. Log

I would recommend to use airmode with VTOLs. The reason you saw yourself: with it disabled, so in the second log you shared, the vehicle has a lot of airspeed in hover mode, thus the collective thrust is very low (at the minimal of 12%), and that then in turn also results in a very limited control authority around the roll axis.

The reason why the motors saturate in the first log, so with airmode enabled, are due to physical reasons. It needs about 60% of thrust to descend, so the level hover thrust is likely even higher. And then you have some imbalance: the rear motors are always higher on thrust than the front ones, try shifting the weight a bit more forward (check that it then still is fine for fixed-wing as well though).

Thanks a lot for your detailed analysis!

I overcame the drawback of the disabled air mode by increasing the minimum throttle MPC_THR_MIN. Now it performs flawlessly.

Can you also point out what code piece checks if the collective is 100% and commands zero pitch and roll?

The magic is happening around here: PX4-Autopilot/MultirotorMixer.cpp at 16776ff6fbcc7ab21f2dc16db1cf8c756d7abbe9 ยท PX4/PX4-Autopilot ยท GitHub

1 Like