SmartRTL has stopped recording the way back
What ArduPilot says:
- SmartRTL deactivated: init failed
- SmartRTL deactivated: …
SmartRTL returns along the path the copter flew out. While armed, the path is recorded as points at least SRTL_ACCURACY apart (2 m by default), up to SRTL_POINTS of them (300 by default). This line says recording has stopped, so SmartRTL cannot be used for the rest of this flight; the reason follows. “bad position”: no usable position estimate for 15 s. “buffer full”: the path was full and for 15 s no point could be added. “init failed”: at start-up there was no memory for the path. “program error”: an internal fault.
What to do, most likely first
“bad position”: the GPS or the EKF (the position estimator) had no usable position for more than 15 s.
CheckGPS or EKF messages appear shortly before this one, in the ground station or in the log.
FixFind out why the position was lost: ordinary RTL needs a position too, so that is the real problem. Recording starts afresh at the next arming.
“buffer full”: a long flight with many turns used every point, and tidying the path could not free any.
Check“SmartRTL Low on space!” came first.
FixRaise
SRTL_POINTS(500 at most; every 100 points take about 3 kB of memory) and reboot, or raiseSRTL_ACCURACYso that the points lie farther apart. For the rest of this flight RTL is the way home.“init failed”: the board had too little free memory at start-up.
FixLower
SRTL_POINTSor free memory by switching off features you do not use, then reboot. SmartRTL stays off until a start-up where the memory is there.
A failsafe or fence action set to SmartRTL does not fail with it: it falls back to RTL or Land, as the name of the option says (“SmartRTL Unavailable, Trying RTL Mode”).
Parameters to look at
| Parameter | What it is |
|---|---|
SRTL_POINTS | SmartRTL maximum number of points on path |
SRTL_ACCURACY | SmartRTL accuracy |
Where to do it:Setup & Tuning Guide
The code that sends it
SmartRTL deactivated: init failed
libraries/AP_SmartRTL/AP_SmartRTL.cpp AP_SmartRTL::init() · Open in ArduPilot Copter-4.7.1
SmartRTL deactivated: …
libraries/AP_SmartRTL/AP_SmartRTL.cpp AP_SmartRTL::deactivate() · Open in ArduPilot Copter-4.7.1