If the quad motor starts moving at an altitude lower than Q_ASSIST_ALT, it is not because the FC is trying to transit to QLAND.
Other parameters related to Q_ASSIST, There are Q_ASSIST_SPEED and Q_ASSIST_ANGLE.
Q_ASSIST_SPEED is the threshold value that FC determines the flight is unstable (there is a risk of crash) when the speed falls below Q_ASSIST_SPEED in plane mode, and the FC activates the quad motor to stabilize the aircraft.
Similarly, Q_ASSIST_ANGLE is the threshold that starts the quad motor to stabilize the posture when the roll or pitch exceeds a certain angle.
Q_ASSIST_ALT is the threshold below which the FC activates the quad motor to assist in maintaining the altitude so that the altitude will not drop any further. The reason quad motor works is not because FC is transitting to QLAND.
Therefore, setting the mission waypoint altitude lower than Q_ASSIST_ALT is incorrect planning.
I’m sorry that I can’t convey what I want to say to you because my English is poor.
I’m not saying that Q_ASSIST is a bug. Your flight plan is shown below. The problem is that the waypoint altitude is set to 30m and Q_ASSIST_ALT is set to 30m. I will explain below what happened.
The “Transition failed” message did not mean that Q_LAND failed. This message indicated that transition to Plane mode failed.
Did it get through this time?
There is absolutely no software defect in the above behavior. It’s perfectly normal. If you understand the meaning of Q_ASSIST_ALT, you would never set Q_ASSIST_ALT and the waypoint altitude to the same value. That’s why I explained about Q_ASSIST.