Surface tracking has no rangefinder pointing that way
What ArduPilot says:
- SurfaceTracking: no upward rangefinder
- SurfaceTracking: no downward rangefinder
The surface-tracking switch (RCn_OPTION 75) chooses what the copter keeps its distance from in AltHold, Loiter and similar modes: low is the ground, middle nothing, high the ceiling. The position you chose needs a rangefinder that looks that way, and none is set up: “no downward rangefinder” for the ground (orientation 25), “no upward rangefinder” for the ceiling (orientation 24). The setting is left as it was.
What to do, most likely first
No rangefinder with that orientation is set up.
CheckRead
RNGFNDn_TYPEandRNGFNDn_ORIENTof every rangefinder.FixSet the rangefinder's
RNGFNDn_ORIENTto 25 (down) or 24 (up) and itsRNGFNDn_TYPEto the sensor fitted, then reboot.The switch is in the ceiling position by habit, on a copter that has only a downward rangefinder.
FixUse the low position, or set
SURFTRAK_MODEand take the switch off that channel.
Parameters to look at
| Parameter | What it is |
|---|---|
RNGFND1_TYPE | Rangefinder type |
RNGFND1_ORIENT | Rangefinder orientation |
RNGFND2_TYPE | Rangefinder type |
RNGFND2_ORIENT | Rangefinder orientation |
SURFTRAK_MODE | Surface Tracking Mode |
Where to do it:Board & Wiring Planner
The code that sends it
SurfaceTracking: no upward rangefinder
ArduCopter/surface_tracking.cpp Copter::SurfaceTracking::set_surface() · Open in ArduPilot Copter-4.7.1
SurfaceTracking: no downward rangefinder
ArduCopter/surface_tracking.cpp Copter::SurfaceTracking::set_surface() · Open in ArduPilot Copter-4.7.1