ArduPilot / ArduPilot/ardupilot
Rover: interpret LAND mission command to beach a boat
- Dominant language
- C++
- Stars
- 15.9k
- Forks
- 21.4k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 119
Description
It might be a useful function if boats (which use the rover firmware) could be ordered to beach themselves using the LAND mission command. I think it could work if we use the position target provided in the LAND command to aim the vehicle at the beach. Then we monitor the motor outputs and the forward progress of the vehicle. If the motor output stays at full but the vehicle makes no forward progress for a given amount of time (5 seconds?) then we consider the vehicle beached and complete the command. Potentially we would also disarm the vehicle at this point.
As a side note, it would be worth checking whether using the regular waypoint controller (i.e. lateral acceleration + speed controller) is best or whether this would lead to the vehicle fighting to get back on the line too much. It may be better to use a velocity control which doesn't try to maintain a position so that the vehicle remains pointed at the beach.
Contributor guide
Research direction
Start by locating the Rover firmware's LAND mission-command handling, then compare the regular waypoint controller with velocity control and identify how motor outputs and forward progress can be monitored. Done means a boat can aim toward the LAND position, detect sustained full output without forward progress, complete the command, and potentially disarm safely.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- embedded-iot, robotics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100