Control Allocation Issue After Motor Failure on a Y6 Coaxial Drone

Description:
During a flight test last week, the propeller of my Y6 coaxial drone accidentally severed the ESC cable of motor 1 (about 17:35), causing that motor to fail. After the failure, there was a noticeable attitude disturbance, and the vehicle eventually landed almost level before tipping over. Fortunately, thanks to the PX4 control logic, the situation did not lead to more serious damage.

The motors used are not particularly powerful (lab test: 6.9 kg @ 48 V), so I can understand that at a lower voltage (around 41.5 V), the vehicle might not have enough thrust margin, which could result in a crash(total weight: 11.5kg).

However, when reviewing the motor outputs in the log, I noticed that motor 1 was saturated, but motor 2 only reached about 70% throttle.
We are using closed-loop ESCs based on RPM control, but there is currently no RPM feedback provided to the flight controller.

Question:
Why didn’t the flight controller increase the output of motor 2 further to compensate for the failed motor 1?

Any suggestions or insights would be greatly appreciated! :folded_hands:

Below are the video and log file links for reference.

The motor failure occurred at the red arrow.

Motors number

It very much did! In fact, your drone crashed into the negative roll direction:


Increasing the power of motor 2 (of set up the way you shared), would actually have made this issue worse.

If there was RPM feedback, the system most likely would have dealt with the loss of motor effectiveness faster, and better. Definitely worth looking into integrating that.

@nitru Thank you very much for your response. I’ll look further into the available information regarding RPM feedback !!!

Based on what I’ve read in the PX4 documentation, it seems that the failed motor might have been interpreted as “throttle saturated,” which could have prevented the controller from increasing the output further. Is this possible?

If mixing becomes saturated towards the upper bound the commanded thrust is reduced to ensure that no motor is commanded to deliver more than 100% thrust. This behaviour is similar to the Airmode logic, and is applied whether Airmode is enabled or disabled.