Rover 4.5.4 WP_RADIUS

Hi Brains trust,

After updating the firmware to Rover 4.5.4, the WP_RADIUS distance has no affect. Observing the ASV on an AUTO mission with WP_RADIUS set to 8m the ASV drives all the way to the waypoint before switching to the next waypoint on mission (and overshoots the waypoint in the process).
After checking everything I could think of, I tried resetting parameters to default and reconfiguring the Cube Orange with no change.

Basic config = Cube orange, Here 4 GPS, RFD 900 modems, Blue Robotics ping sonar, 2 * T200 thrusters (Skid Steer),

Rolling back to 4.2.3 (the version currently on our other ASV) fixes the WP_RADIUS
problem, I.E the vehicle starts it’s turn the prescribed distance before the waypoint. But does not support the Here 4 GPS module (with all it’s E5 goodness)

.bin file

Apologies, there’s a large chunk of no action at the start of the log file.
And there’s only a rough tune on it after the reset to defaults.

I am assuming that I am missing something fundamental

Thanks in advance

The navigation controller was substantially re-designed in V4.4 (L1 → S-curves), so I suspect some re-tuning may be needed to make best use of the new controller.

Looking at your logfile, it appears the vehicle is trying to slow down before any sharp waypoint changes in order to make the turn without overshoot.

Unfortunately, the speed controller isn’t doing well when slowing down. Here’s it trying to slow down before WP6:

I’d suggest changing ATC_DECEL_MAX (details here) to a value closer to the actual capabilities of the vehicle.


I should probably explain a bit more:

You’ve got WP_PIVOT_ANGLE set to 60 (degrees). So any time the vehicle needs to turn more than 60 degrees, it will perform a pivot turn: It will slow the vehicle to a stop at the waypoint, turn in place, then speed up again to WP_SPEED.

This is what’s happening at any large (>60 degree) waypoint changes in your mission.

Thanks for the speedy reply. I have tested again this afternoon (too cold this morning :cold_face:)
Tried ATC_DECEL_MAX at a few low numbers, ended up at 0.3 m/s/s (based on timing the actual decel of the ASV).

Also pulled the WP_PIVOT_ANGLE back to 20 degrees, pivot turns are good, tight, responsive. Turns at speed are pretty sluggish, even with full manual control.

THR.Speed is tracking THR.DesSpeed much better, there is still a bit of lag but the ASV is pretty slippery and carries it’s speed well.

On waypoint missions the vehicle is still overshooting the waypoints, watching the behavior of the Orange heading line and next waypoint number closely, you can see it is 1-2m past the waypoint before it moves to the next waypoint on the mission.

Bin File for this afternoons test run here…


WP_RADIUS was always a bit of a crutch for tuning pivot turns. The algorithm is now much more precise (and appropriately ignores the radius parameter), meaning that the tuning and config need to be a little tighter.

Take a look at the GPS_POS offsets next.

That is expected behaviour - the boat won’t start (pivot) turning until it’s stationary.

However, it’s not able to slow down in time:

I suspect you need to reduce ATC_DECEL_MAX a little further to account for the “slipperiness” at <0.5 m/s.

Given the size of your boat and the overshoot distances, as @Yuri_Rage suggests, you’ll want to put in the GPS offsets (GPS1_POS_X, GPS1_POS_Y, GPS1_POS_Z).

1 Like