← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

RTL is set to fly above the terrain, and has no way to measure it

Stops itMissions, fence, rally points, terrainCopter only

What ArduPilot says:

The full line reads “RTL_ALT_TYPE is above-terrain but …”. With RTL_ALT_TYPE 1 the copter returns at RTL_ALT above the ground under it, not above home, so it needs the ground's height: from a downward rangefinder (when WPNAV_RFND_USE is 1) or from the terrain database (TERRAIN_ENABLE 1). “no terrain data”: neither is available. “no rangefinder”: none is set up facing down. “RTL_ALT>RNGFND_MAX_CM”: RTL_ALT is beyond the rangefinder's reach (RNGFND1_MAX_CM).

What to do, most likely first

  1. RTL_ALT_TYPE was set to 1 by a parameter file, and you do not fly over hills.

    FixSet RTL_ALT_TYPE to 0: RTL then climbs to RTL_ALT above home, which needs no terrain data.

  2. You want terrain following, and the terrain database is off or has no data.

    FixSet TERRAIN_ENABLE to 1, keep an SD card in the board, and connect the ground station once at the flying site so it can send the terrain tiles.

  3. A rangefinder is meant to do it, but none faces down, or RTL_ALT is higher than it can measure.

    CheckRTL_ALT and RNGFND1_MAX_CM are both in centimetres: compare them.

    FixSet the rangefinder's RNGFNDn_ORIENT to 25 (Down) and reboot. If the return height must stay above its range, set WPNAV_RFND_USE to 0 and use the terrain database instead.

Parameters to look at

ParameterWhat it is
RTL_ALT_TYPERTL mode altitude type
RTL_ALTRTL Altitude
WPNAV_RFND_USEWaypoint missions use rangefinder for terrain following
TERRAIN_ENABLETerrain data enable
RNGFND1_TYPERangefinder type
RNGFND1_ORIENTRangefinder orientation
RNGFND1_MAX_CMRangefinder maximum distance
The code that sends it

PreArm: no rangefinder

ArduCopter/AP_Arming.cpp AP_Arming_Copter::parameter_checks() · Open in ArduPilot Copter-4.6.3

ArduCopter/AP_Arming_Copter.cpp AP_Arming_Copter::parameter_checks() · Open in ArduPilot Copter-4.7.1

PreArm: no terrain data

ArduCopter/AP_Arming.cpp AP_Arming_Copter::parameter_checks() · Open in ArduPilot Copter-4.6.3

ArduCopter/AP_Arming_Copter.cpp AP_Arming_Copter::parameter_checks() · Open in ArduPilot Copter-4.7.1

PreArm: rangefinder not in firmware

ArduCopter/AP_Arming.cpp AP_Arming_Copter::parameter_checks() · Open in ArduPilot Copter-4.6.3

ArduCopter/AP_Arming_Copter.cpp AP_Arming_Copter::parameter_checks() · Open in ArduPilot Copter-4.7.1

PreArm: RTL_ALT>RNGFND_MAX_CM

ArduCopter/AP_Arming.cpp AP_Arming_Copter::parameter_checks() · Open in ArduPilot Copter-4.6.3

And 1 more messages, sent from the same places.

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