ArduPilot / ArduPilot/ardupilot

Copter-3.4: terrain following may lead to endless climb if sonar max alt is configured incorrectly

Open
#4,697 10 comments 0 reactions 0 assignees View on GitHub
Copter Safety
Dominant language
C++
Stars
15.9k
Forks
21.4k
Avg merge
4d 10h
Merged PRs (30d)
127

Description

Tridge has found an issue in SITL in which the vehicle kept climbing and climbing during AUTO when it was requested to fly to some altitude (say 100m) but the range finder (whose maximum range was 50m) and the range finder didn't report that it went out of range. It's response was as if it was seeing a good value of 50m.
This situation can arise especially with analog range finders if the user simply sets the maximum range too high.
We should think of ways to reduce the chance of this happening.
Idea #1: use google earth data if the waypoint mission altitude-above-terrain is obviously higher than the range finder could ever measure (i.e. > rangefinder.max_cm).

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the reported behavior in SITL during an AUTO waypoint mission with a range finder capped at 50m that continues reporting 50m. Then trace the terrain-following and range-finder handling involved; done means the vehicle no longer enters an endless climb when the configured maximum range is incorrect or the sensor is out of range.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
robotics
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.