Rover Overshoots Waypoints Before Reversing in Auto Mode

Hi All,
I’ve read through the wiki, forums and done some research; however please forgive me if I am missing something obvious.

I am having issues getting a small watercraft running Ardu -boat to turn sharply at waypoints in auto mode. The boat starts turning to the next heading when a waypoint is reached, however it is only driving the outer motor forward and not reversing the inboard during what I believe should be pivot turns. This results in the boat accelerating rapidly over a wide arc away from the desired track before the it stops, reverses, and turns more sharply onto the desired heading using both forward and reverse thrust.
The video linked corresponds with the log timestamp 15:31:50.
Does anyone know why it is doing this? Any advice on the subject is appreciated.

The boat itself is a catamaran, 1.1 meters long with a beam of 0.65 meters. RTR weight is approximately 7kg and it is running twin 350W brushless thrusters mounted at the rear for skid steering. Plenty of power available; very responsive to throttle and it is skid steering perfectly when in manual and guided modes.

Many thanks

Video link:
[.BIN File link: ]( usp=sharing )

I hate to ask, but have you calibrated the escapes?

ESCs have both been calibrated. Throttle response is proportional in both manual and guided/loiter modes.

I’m starting to think the cause may be related to the cruise speed and turn rate settings, however I am not familiar enough with the rover code and it’s parameter structure to be able to confidently pinpoint which ones (if any) are responsible for the sudden acceleration forwards near waypoints. Any ideas?

Hi Micro,

Maybe it could be the setting of “PIVOT_TURN_ANGLE”
That should be set to an angle at which your boat should utilize the pivot turn.

Hi Bastiaan,
Thanks for the suggestion.
PIVOT_TURN_ANGLE may indeed have been too high to trigger pivot turns given the waypoint mission loaded. Didn’t think of that.

It’s currently set to the default 60 degrees so I’ll reduce it to 30 and run another mission as soon as I get the chance.

Keep us updated if it worked or not.

Thanks Bastiaan, will do.
Work has been extremely busy this week so I haven’t had the chance to run any further waypoint missions. Hoping to do some testing this weekend.

After conducting further tests I can confirm that the PIVOT_TURN_ANGLE parameter has been configured to give the desired result. Rather, the cause of the issue is the fact that the boat is still moving forwards when it first tries to execute a pivot turn upon reaching a given waypoint.

Due to the characteristically high waterline length to beam ratio of the catamaran, a significant moment is required to rotate the hull about the yaw axis when stationary. This increases markedly when the hull is moving forward, causing pivot turns at the required rate to be unachievable in the latter condition; even with the substantial amount of power available. Consequently the controller saturates and boat does a wide arc away from the waypoint before the navigation system catches the error, stops the turn and takes the boat back to where it should be before bringing it to a momentary stop, which allows for the pivot turn to occur.

Unfortunately reducing WP_PIVOT_RATE had negligible effect, and increasing ATC_STR_ANG_FF seemed counter productive to the tune at lower speeds.

Does anyone know why SPEED_TURN_DIST and SPEED_TURN_GAIN were removed after rover 3.1? I may be wrong, but it seems they would have been very useful parameters in this edge case.

Currently I am using a combination of waypoint radius and delay at waypoint settings when mission planning to get the boat to stop before pivot turns. This is working well, and turns are now precise, sharp and predicable, however it is very much a “band aid” fix.
I would love to hear if anyone has ideas for how this could be done an alternate way.

Apologies for the long report.

Many thanks

Have you tried working with ATC_DECEL_MAX? Ardurover will begin to slow as it approaches a waypoint at a distance that keeps it from exceding that deceleration rate. You sacrifice speed for precision.

I haven’t worked with ATC_DECEL_MAX yet. Appreciate the suggestion. I’ll play with the parameter and do some further tests when I am at the lake next.

1 Like

Finally got the chance to make it back out to the lake after hectic couple of weeks.

After reducing ATC_DECEL_MAX, optimising the throttle tune and decreasing MOT_SLEWRATE the boat is driving much better autonomously.

Thank you all for your help.