Rover randomly backs up during mission

Hi All,

I’m having a strange issue with my solar powered skid steer rover. It randomly starts driving in reverse during a waypoint mission, even though the ‘next waypoint’ is in front of it.

I have an Arduino onboard that outputs a PWM signal to control the flight mode channel. This is to have the rover start driving when its battery voltage gets high enough, and stop driving when the voltage drops at night. Every 30 seconds, the Arduino is programmed to briefly cycle the mode to ‘hold’ for two seconds. This is to act as a sort of reset and start the rover again incase something pauses it.

Seemingly randomly, about once every 10 hold mode cycles, the rover will start driving straight backwards. After 30 seconds on the next cycle, the rover snaps out of it, and continues its mission forward.

While the rover is driving backwards I have verified the throttle channel is at 1500us (middle) so its not caused by an unexpected radio input. I have also verified the autopilot is outputting min PWM to the motors, and they are driving backwards as expected so its not a motor drive issue. This also doesn’t seem to be caused by the rover trying to back up to a waypoint, because when it’s happening the ‘next waypoint’ is ahead of it.

By looking at ThrOut in the log you can see when the rover enters reverse, as the throttle command goes negative. The other screenshot shows the messages displayed while entering a reversing state. Noting out of the ordinary as far as I can tell.

Any ideas?

Logs: https://drive.google.com/file/d/1PGnOVGsRHytxiupi6fHDt8RNOQz-ZiPt/view?usp=sharing

Hi Daniel,

I believe you are seeing the results of a bug in the code that affects the rover when you have a WP_SPEED_MIN value set. I am sure that I submitted an issue report on this 6 months ago but I can not find it. To avoid this problem you will need to set WP_SPEED_MIN to zero or make a change to the code.
If you go to the Gitter channel and search for WP_SPEED_MIN you will find where I tried to discuss this issue. Unfortunately it is getting harder and harder to get attention for this sort of thing in this channel (not the fault of the devs - just a SNR issuse…)
I will submit a(nother?) issue report

2 Likes

Bug report: https://github.com/ArduPilot/ardupilot/issues/14840
Pull request: https://github.com/ArduPilot/ardupilot/pull/14839

I’ve confirmed setting WP_SPEED_MIN to 0 does fix this issue. Thank you!

1 Like