ArduPilot / ArduPilot/ardupilot

Rover: boats may drift away in Auto if current is too high

Open
#19,306 1 comment 1 reaction 0 assignees View on GitHub
BUG Rover
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
![image](https://user-images.githubusercontent.com/1498098/142558365-5fa1f8ac-b563-455c-b6a9-f8390ce33799.png)

Contributor guide

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.