ArduPilot / ardupilot

ArduPlane, ArduCopter, ArduRover, ArduSub source
http://ardupilot.org/
GNU General Public License v3.0
10.78k stars 17.23k forks source link

Rover/Boat: add seaweed removal failsafe #9149

Open rmackay9 opened 6 years ago

rmackay9 commented 6 years ago

This is a request to enhance the Rover crash check failsafe to add a new option to attempt to free the vehicle from seaweed if it gets entangled and can't move in Auto, Guided and RTL.

Rover currently has a crash check failsafe which can trigger when the vehicle flips over or (more relevant for this issue) when in Auto mode if the vehicle is not making progress towards the waypoint. The feature was designed for cars which can get stuck on things.

The maneuver involves spinning the motors forward and back intermittently for about a minute.

There are a couple of issues/questions to consider before implementing:

This request came up on this discussion.

ghost commented 6 years ago

Another thing to consider is the current consumption caused by a stuck motor. We should implement a current limitation setting too to avoid burning the motor by sending it high current pulses for one minute

geofrancis commented 3 years ago

Have you thought about looking at the RPM telemetry from speed controllers, most canbus controllers will report motor speed as well as blheli32 controllers when telemetry is enabled. then you wouldn't have to wait until the vehicle overheated the motors with whatever is wrapped around the propeller or started to drift away since the flight controller would know immediately something has stopped the motor or is causing excess load. you could have a current limit that triggers the seaweed routine. Im specifically putting blheli telemetry on my boat specifically so I can monitor RPM and set current limits remotely for each motor in case one becomes stuck.