ArduPilot / ArduPilot/ardupilot
Copter: vehicle may backup if mission with takeoff as first command is initiated
- Dominant language
- C++
- Stars
- 15.9k
- Forks
- 21.4k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 119
Description
Try this in the simulator:
- set up a mission with a take-off command to 50m followed by a waypoint command
- set MIS_RESTART = 1
- arm and takeoff in stabilize or loiter, fly the vehicle forward at a reasonably fast speed but do not climb above 50m
- initiate AUTO
- the take-off command sets a horizontal target based on the vehicle's position at the moment the take-off command was initiated. If the vehicle is moving horizontally it will continue flying forward for a bit but then slow and return to where it was.
The solution is that if the vehicle is not-landed, the take-off command should use the horizontal stopping point as it's target instead of the current horizontal position.
Contributor guide
Research direction
Reproduce the behavior in the simulator using a mission whose first command is takeoff followed by a waypoint, with MIS_RESTART set to 1 and the vehicle moving forward below the takeoff altitude. Trace the Copter take-off command handling and verify that a non-landed vehicle targets its horizontal stopping point rather than its current position, then repeat the scenario to confirm it no longer backs up.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- robotics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100