ArduPilot / ArduPilot/ardupilot
Rover: boats may drift away in Auto if current is too high
- Dominant language
- C++
- Stars
- 15.9k
- Forks
- 21.4k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 119
Description
During testing of PR https://github.com/ArduPilot/ardupilot/pull/19304 which adds support for "motorboat" to sim_vehicle I discovered that in at least one edge case the navigation controller will get stuck pointing the vehicle in the wrong direction with very low throttle if the current is too high and nearly perpendicular to one leg of the mission.
To recreate the issue in SITL do this:
- ../Tools/autotest/sim_vehicle.py --map --console -f motorboat
- param set SIM_TIDE_DIR 90 (current will flow from East to West)
- param set SIM_TIDE_SPEED 3 (3m/s current)
- create a mission that is a square box ([linked here](https://www.dropbox.com/s/97afgmiclv0h22a/rover-42-drift-away-mission.waypoints?dl=0))
- Auto
- arm
You should see the vehicle gets stuck pointing in the wrong direction as it starts the North->South leg of the mission

Contributor guide
Research direction
Start with Tools/autotest/sim_vehicle.py and the motorboat SITL setup. Reproduce the square mission with SIM_TIDE_DIR 90 and SIM_TIDE_SPEED 3, then trace the navigation behavior when the vehicle begins the North-to-South leg. Done means the vehicle no longer becomes stuck pointing the wrong way or drifts away under these conditions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python
- Domain
- robotics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100