ArduPilot / ArduPilot/ardupilot
QuadPlane Safety Issue: RTL Enters Fixed-Wing Mode Before Q_RTL When Inside RTL_RADIUS at Low Altitude
- Dominant language
- C++
- Stars
- 15.9k
- Forks
- 21.4k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 119
Description
When flying a QuadPlane (Hybrid VTOL) in AUTO mission mode, switching to RTL while already inside RTL_RADIUS causes the system to first enter fixed-wing RTL logic before transitioning to Q_RTL.
This creates a delay in VTOL motor takeover. At low altitude (~15 m AGL) this delay may result in insufficient height for safe VTOL stabilization, potentially causing ground impact before Q_RTL authority is established.
Observed sequence:
AUTO → RTL (FW logic active) → position check → Q_RTL
The aircraft briefly behaves as a fixed-wing RTL vehicle even though it is already near home where immediate VTOL control would be safer.
Version
ArduPlane 4.6.3
Platform
[ ] All
[ ] AntennaTracker
[ ] Copter
[✔] Plane
[ ] Rover
[ ] Submarine
Airframe type
QuadPlane (Hybrid VTOL)
Hardware type
Pixhawk-class flight controller (Cube compatible)
Logs
Logs available and can be provided. Key indicators in logs:
MODE change: AUTO → RTL
Delay before second MODE change: RTL → QRTL
STATUSTEXT: "RTL" before VTOL entry
EV message showing Q-mode entry occurs after RTL logic
RCOU: VTOL motors idle until Q_RTL engages
Mode Transition Timeline
T0 – Aircraft in AUTO (FW)
T1 – Pilot switches to RTL
T2 – Mode = RTL (fixed-wing RTL active)
T3 – System detects aircraft inside RTL_RADIUS
T4 – Mode switches to Q_RTL
T5 – VTOL motors spool and stabilization begins
Risk Window: T1 → T4 (fixed-wing logic active at low altitude)
Parameter Interaction
RTL_RADIUS → Triggers the “already near home” logic
Q_RTL_MODE → Enables VTOL behavior during RTL
Q_RTL_ALT → Target VTOL altitude may not be reached before transition
Q_TRANSITION_MS → Adds transition delay
Q_ASSIST_SPEED → May delay VTOL dominance
Expected Behavior
If:
Vehicle = QuadPlane
RTL is triggered
Aircraft is already inside RTL_RADIUS
➡ System should immediately enter Q_RTL, skipping fixed-wing RTL logic.
Safety Impact
This affects emergency mission aborts near home at low altitude and represents a potential crash scenario due to delayed VTOL takeover.
Reporter: Sundar C
Contributor guide
Research direction
Start by reproducing the AUTO → RTL → Q_RTL sequence for a QuadPlane inside RTL_RADIUS at low altitude, then inspect the RTL and Q_RTL transition handling using the reported mode, STATUSTEXT, EV, and RCOU log indicators. Done means the vehicle enters Q_RTL immediately in this situation without the fixed-wing RTL risk window.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- embedded-iot, robotics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100