Large Rover 4.4 Over Steer

I am absolutely over the moon with the performance of Rover 4.4 navigation over the old L1 controller, but there is just one tiny little piece of the puzzle that is just not ‘clipping into place’ - OVER STEER coming out of a turn.
The Rover is a 4.3m boat with a lot of weight (>150kg) doing 3,5m/s on its missions.
I always thought it was over throttle, but this morning I proved that it is not throttle.
Has anybody got any ideas on how to get this last piece of the puzzle sorted out?

Log: Dropbox - 00000010.BIN - Simplify your life

Hi @John_Easton,

Could you try increasing the ATC_STR_RAT_I value to 0.256 (same as P) or try setting it to zero? I don’t know what values will work so just try various values to see if it helps or makes it worse. I wouldn’t mess around with anything else for now.

What’s happening is the vehicle is unable to keep up with the desired turn rate of 30deg/sec caused by a physical limitation in the steering mechanism. This under-performance leads to I-term build up which then needs to bleed off which leads to the oversteering. Higher I-term will actually lead to more I-term build-up but it will also bleed off faster. A zero I-term will mean no I-term build-up but it could also mean the vehicle drives off the path sometimes.

The ideal solution would be to change the frame so the vehicle can turn at 30deg/sec OR reduce some configuration parameters to tell the controller the vehicle is not capable of turning at 30deg/sec (e.g. reduce ATC_STR_RAT_MAX from 120 to 20 or reduce ATC_TURN_MAX_G).


By the way, I also notice that the vehicle velocity initially moves in the wrong direction during turns. I suspect this is because the GPS is not at the vehicle’s center of rotation. One fix is to set the GPS_POS_XYZ values.

1 Like

Hey Randy, thank you for your reply as always.
Something very important from your reply is the velocity, and you are 100% correct. My boats drive very much like a rear wheel steering forklift. This is because of the keel like bow where the bulk of the ballast is and when the boat turns it is the transom / motor that swings out left to go right and right to go left.
Is there a Rover setting to change steering from front to back?

EDIT:

John, the fix is to properly set the IMU and GPS offsets relative to the center of rotation.

It doesn’t matter which “wheels” turn, only that the hardware is correctly referenced about a pivot axis.

2 Likes

Hi @John_Easton,

Yes, so ideally you want to put the autopilot and the GPS at the point around which the boat rotates. If you can’t do that then it’s like @Yuri_Rage says, try and set the position offset parameters which are:

INS_POS1_X - autopilot’s distance in meters ahead of center of rotation (negative if autopilot is behind point)
INS_POS1_Y - autopilot’s distance in meters right of center of rotation (negative if autopilot is left of point)
INS_POS1_Z - autopilot’s distance in meters below of center of rotation (negative if autopilot is above point)
(and also set the same values for INS_POS2_XYZ, INS_POS3_XYZ)

GPS_POS_X - GPS’s distance in meters ahead of center of rotation (negative if GPS is behind point)
GPS_POS_Y - GPS’s distance in meters right of center of rotation (negative if GPS is left of point)
GPS_POS_Z - GPS’s distance in meters below of center of rotation (negative if GPS is above point)

P.S. Yuri, I don’t think the GPS positions are relative to the IMU’s actual position. I think both IMU and GPS offsets are relative to the COG (or center-of-rotation in this case).

2 Likes

I think I was recalling our conversation a while back where this was fixed to a common reference. Thanks for reminding me that it’s easier now!

1 Like

I am very excited to try this as it might just be a major contributor to my problem, thank you very much for the detailed reply Randy.

So am I correct that this would be the settings?
INS_POS1_X = -2,8
INS_POS1_Y = 0
INS_POS1_Z = 0
INS_POS2_X = -2,8
INS_POS2_Y = 0
INS_POS2_Z = 0
INS_POS3_X = -2,8
INS_POS3_Y = 0
INS_POS3_Z = 0

GPS_POS_X = -2,8
GPS_POS_Y = 0
GPS_POS_Z = 0

Hey John,

[quote=“John_Easton, post:3, topic:111797”]
“My boats drive very much like a rear wheel steering forklift. This is because of the keel like bow where the bulk of the ballast is and when the boat turns it is the transom / motor that swings out left to go right and right to go left.”

If that is the case, I’d expect the center of rotation, (the GPS and INS reference point) to be much farther forward. Perhaps try referencing everything from ~1.4M and test? Well done on getting it this far. Good luck!

1 Like

Hi @John_Easton,

So the autopilot and GPS is where the white circle is, and the center-of-rotation is at the front of the boat?

I think that’s close to correct but I don’t think the numbers will be as large as -2.8m. I’m just guessing but I suspect the boat’s center of rotation is closer to the middle. In any case, it doesn’t need to be perfect. After the change we can look at the logs again and see if the lateral velocity moves continues to move in the wrong direction or not.

1 Like

Yes the white dot is the GPS puck and the black dot is my estimated COR.

1 Like

Randy you are the Jedi Master of ArduPilot - you nailed it 100%
I cannot begin to thank you enough as I would never have even thought of that.
Thank you so very much.
Look at this absolute perfection on a very difficult vehicle to tune …

4 Likes

@John_Easton,

Great news! Thanks very much for the feedback!

2 Likes

Even when the wind picked up slightly, the path remained very good, but as you can see it is working very hard to maintain … see video below.

2 Likes

Hi @John_Easton,

Yes, that’s quite a bad oscillation in the steering controller. It is mostly coming from the high D term and a little bit from the high P term.

Could you try changing these values?

Reduce ATC_STR_RAT_P from 0.256 to 0.2
Reduce ATC_STR_RAT_D from 0.05 to 0.02
Increase ATC_STR_RAT_FF from 0.15 to 0.2

This will probably make it better but it might not be enough. We might need to continue to reduce the P and D and increase the FF.

2 Likes

I will give that a try for sure, thank you.

Those settings have made a huge difference Randy, thank you once again.
I will be testing these settings extensively next week on a big project, I can’t wait.

1 Like