← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

SmartRTL could not start: falling back to RTL or Land

Act nowFailsafes and emergencies in flightCopter only

What ArduPilot says:

A failsafe asked for SmartRTL, which flies back along the path the copter came by, and SmartRTL refused to start. The copter falls back as the line says: to RTL, and to Land if RTL is refused too, or straight to Land (it descends after a 4 s pause). SmartRTL starts only while a path is being recorded: the position estimate was good when the copter armed and since, and the path memory (SRTL_POINTS points) has not been full for 15 s.

What to do, most likely first

  1. No path was recorded: the position estimate was not good at arming, or was bad for 15 s in flight (“SmartRTL deactivated: bad position”).

    CheckSearch the log's messages for “SmartRTL deactivated”.

    FixWait for a good position before arming when a failsafe relies on SmartRTL, and find why the position was lost in flight (GPS, compass, EKF messages around that time).

  2. The path memory filled up on a long or winding flight (“SmartRTL deactivated: buffer full”).

    CheckSRTL_POINTS is 300 by default, and points are kept no closer than SRTL_ACCURACY (2 m).

    FixRaise SRTL_POINTS (500 at most; 100 points take about 3 kB of memory) and reboot, or make SRTL_ACCURACY larger so points are stored further apart.

  3. SRTL_POINTS is 0, which switches SmartRTL off altogether.

    FixSet SRTL_POINTS to 300 and reboot, or choose a failsafe action that does not use SmartRTL.

Parameters to look at

ParameterWhat it is
SRTL_POINTSSmartRTL maximum number of points on path
SRTL_ACCURACYSmartRTL accuracy
FS_THR_ENABLEThrottle Failsafe Enable
FS_GCS_ENABLEGround Station Failsafe Enable
BATT_FS_LOW_ACTLow battery failsafe action
BATT_FS_CRT_ACTCritical battery failsafe action
The code that sends it

SmartRTL Unavailable, Trying RTL Mode

ArduCopter/events.cpp Copter::set_mode_SmartRTL_or_RTL() · Open in ArduPilot Copter-4.7.1

SmartRTL Unavailable, Using Land Mode

ArduCopter/events.cpp Copter::set_mode_SmartRTL_or_land_with_pause() · Open in ArduPilot Copter-4.7.1

Written here for Copter 4.6. In the tool you choose your vehicle and version, see your own parameter values beside the ones named here, and drop a flight log to have every message in it explained.

Open it in the Message & Error Explainer