A tailsitter's transition was cut short by roll or by time
What ArduPilot says:
- Transition VTOL done, roll error
- Transition VTOL done, timeout
- Transition FW done, roll error
- Transition FW done, timeout
A tailsitter (it hovers standing on its tail) transitions by pitching: nose down past Q_TAILSIT_ANGLE (45° by default) to fly on the wing, nose up past Q_TAILSIT_ANG_VT to hover, at Q_TAILSIT_RAT_FW or Q_TAILSIT_RAT_VT (50°/s by default). These lines say the transition ended another way. “roll error”: the roll went past 45°, or past ROLL_LIMIT_DEG plus 5° if that is more. “timeout”: it took over 1.5 times as long as the angle should take at that rate. Either way control was handed over as if the transition were complete.
What to do, most likely first
The aircraft cannot pitch as fast as the transition rate asks, so time runs out.
CheckIn the log, compare wanted and actual pitch during the transition.
FixLower
Q_TAILSIT_RAT_FWorQ_TAILSIT_RAT_VTto a rate the aircraft follows, or improve its pitch control in hover first.The transition was started in a turn or with the wings not level, and the roll went past the limit.
FixStart transitions flying straight with the wings level; before going to hover, slow down first.
One motor or control surface is weaker than its twin and rolls the aircraft as the power changes.
CheckIn the log, look for a steady roll or yaw correction in hover.
FixCheck motors, propellers and surface travel on both sides before flying again; props off for anything on the bench.
Parameters to look at
| Parameter | What it is |
|---|---|
Q_TAILSIT_ANGLE | Tailsitter fixed wing transition angle |
Q_TAILSIT_ANG_VT | Tailsitter VTOL transition angle |
Q_TAILSIT_RAT_FW | Tailsitter VTOL to forward flight transition rate |
Q_TAILSIT_RAT_VT | Tailsitter forward flight to VTOL transition rate |
ROLL_LIMIT_DEG | Maximum Bank Angle |
The code that sends it
Transition VTOL done, roll error
ArduPlane/tailsitter.cpp Tailsitter::transition_vtol_complete() · Open in ArduPilot Plane-4.7.1
Transition VTOL done, timeout
ArduPlane/tailsitter.cpp Tailsitter::transition_vtol_complete() · Open in ArduPilot Plane-4.7.1
Transition FW done, roll error
ArduPlane/tailsitter.cpp Tailsitter::transition_fw_complete() · Open in ArduPilot Plane-4.7.1
Transition FW done, timeout
ArduPlane/tailsitter.cpp Tailsitter::transition_fw_complete() · Open in ArduPilot Plane-4.7.1