Strange thrust loss error with new controler

Thanks for reading this. I am using active disturbance reject controler (ADRC) to replace PID controler. I use SITL (gazebo + arducopter + mavproxy) to simulate. when it comes to the attitude control(roll pitch yaw)and position control (x , y). ADRC works better than PID as expected ,however, when i try to use ADRC to control position Z, I got thrust loss error , the strangest thing is that sometimes ADRC controls position Z well without any errors. Also i do not understand ECode and Description (altitude may be prioritised over yaw control) ,I really hope someone can explain it to me . I would really appreciate any advise.

ADRC_FAIL.BIN (404 KB)

I’m trying the adrc recently on ardusub, would kindly share your code?

Hello, how is your ADRC effect compared to PID improvement? I saw someone did this test video, and I feel that anti-disturbance is quite good

hey, can you please share your code?