"Failsafe: Terrain data missing" when attempting to set auto mode

Hi,

on my Quadrocopter with BeagleBone Blue Flight Controller and an u-blox CAM-M8Q GPS I get

[MAV 001:1] Failsafe: Terrain data missing 

when I attempt to to switch into auto mode. The mission is fairly simple and consists of one take off, three waypoints and one land, all with relative height (I can’t edit the first one):

In this situation I have a GPS fix (status=3). Also I have disabled all “terrain”-options I could find, mainly WPNAV_RFND_USE=0 and TERRAIN_ENABLE=0. Altitude Sensor is barometer (EK2_ALT_SOURCE).

Does anyone have an idea what I do wrong?

Logs are attached:
20-04-11_11-10-18_terrain_data_missing.bin (329.2 KB)
20-04-11_11-07-44_terrain_data_missing.bin (917.2 KB)

Make sure you don’t have verify height checked in the Mission Planning screen

ok, the error comes from ModeAuto::takeoff_start():

    // set waypoint controller target
    if (!wp_nav->set_wp_destination(dest)) {
        // failure to set destination can only be because of missing terrain data
        copter.failsafe_terrain_on_event();
        return;
    }

I traced the call and it looks like the comment and the error are not fully correct. In my case the problem was that the home position was not set, so the 3D-fix was probably “not good enough”. After replacing the GPS SMD-Antenna with a bigger one my Copter was able to set the home position and the message “Failsafe: Terrain data missing” was gone.

2 Likes

Started by doing some bench checks and I’m getting the same error :frowning:
traditional copter version 4.0.1
got good 3D lock, disabled terrain usage, using absolute altitude…
is it a false notification ?

I had similar problems a few weeks ago, see https://github.com/ArduPilot/ardupilot/issues/14957
In my case, the copter denies to start a auto mission with a terrain data failsave, even the copter 4.03 was configured for rangfinder use.
Did you also used a rangefinder too?

I have a simple system consists of fixhawk and a GPS.
Tried deleting all points, this allowed me to enter the auto mode , but without flight plan …
wonder what is the reason for the error, i also tried to upload manually terrain data … did not help

Im experining the same issue have you got any work around for this" Fail Safe : Terrain data missing" warning ?.
Im too using a lidar for terrain but i have disabled it and ttried but still geting the same issue … :unamused:

Eventually added the terrain data

Like how did u do that?

Good question, was long time ago… :slight_smile:
First check the following parameter on your heli setup:
TERRAIN_ENABLE=0
TERRAIN_FOLLOW=1

Second, the terrain data is supposed to be attached by the Mission planner,
check on the Ardupilot doc:
https://ardupilot.org/plane/docs/common-terrain-following.html#common-terrain-following

" Sources of Terrain Data

The ground station is normally responsible for providing the raw terrain data which is sent to the aircraft via MAVLink. Right now only Mission Planner and MAVProxy support the required TERRAIN_DATA and TERRAIN_REQUEST MAVLink messages needed for terrain following download support. If you are using a different ground station , in order to download terrain data you will need to connect using one of those two ground stations in order to allow ArduPilot to load terrain data onto your board on the ground or in flight. Once it is loaded, it is saved permanently on the microSD card.

Both Mission Planner and MAVProxy support the global SRTM database for terrain data. The ArduPilot SRTM server used by MAVProxy and Mission Planner has 100m grid spacing. Unless the ground control station uses a different server with closer spacing, setting the TERRAIN_SPACING parameter lower than 100m provides no better resolution, and only consumes more space on the SD card.

Terrain Data is downloaded any time you save or connect with a loaded mission with these ground stations, or, if flying, the autopilot will request data if it’s flying into an area not already downloaded, assuming the ground station can provide it. Usually an internet connection is required by the ground station. "