Surface Tracking

Copter supports low altitude Surface Tracking, either a floor/ground or a ceiling, in nearly all modes including pilot controlled modes like AltHold, Loiter and PosHold.

Additionally, Terrain Following is supported in autonomous modes using a terrain height data base stored on the autopilot’s SD card and/or obtained real-time from the Ground Control Station.

This page describes the Surface Following setup . For autonomous modes using downloaded data for Terrain Following please see the terrain following for autonomous modes wiki page.

Setup and Configuration


Do not set the EK2_ALT_SOURCE or EK3_ALT_SOURCE parameters. These parameters should be left at “0” (barometer).

Do not set the EK2_RNG_USE_HGT or EK3_RNG_USE_HGT parameters. These parameters should be left at “-1”.

How does it work?

  • When the rangefinder can “see” the ground, the pilot’s throttle stick adjusts the target altitude above the ground (i.e. the attitude corrected distance from the range finder)

  • When the vehicle climbs out of the rangefinder’s range the pilot’s stick returns to directly controlling the vehicle’s target climb rate (i.e. EKF estimated climb rate based on barometer and accelerometer). When the vehicle comes back within the range of the ground, the target altitude above the terrain is reset to the current altitude above terrain. For more information, see Understanding Altitude in ArduPilot.