Tuning Issue with Standard (non-pivot) Steering

I am having trouble with standard turns in AUTO on my mower. In steering mode, the mower drives very well. I tuned the speed and steering loops in steering and got good results. In manual, it tracks pretty true, also. Pivot turns are working great, but if the mower gets off the straight path a little and needs to perform a non-pivot turn, it stops.

On the tuning screen, the steering piddesired is only moving up and down slightly around 0. It is as if the NAV L1 controller thinks all is well and is not requesting a turn. I have looked at everything I know to look at. I have varied the NAVL1_DAMPING, NAVL1_PERIOD and NAVL1_XTRACK_I methodically a LOT. I have also played with the steering tuning parameters.

The best way to demonstrate is to turn off pivot turns and run a mission, as you see here. You will see that as it makes some turns, it stops before it gets to the desired heading. If I do not touch the controls, it might finally pull out of the stall after several MINUTES. If I switch to MANUAL and back to AUTO, it takes off.

The parameters currently in the mower are not optimal. They are after a lot of tweaking on this problem.

Attached is a log, parm file and here is a link to a video showing the screen while testing. You will see the vehicle stop as I first switch to AUTO and it attempts to turn toward WP1 and again as it rounds WP1 heading to WP2. This behaviour is very repeatable.

I have been fighting this for a couple of weeks! Suggestions, PLEASE!


2 Likes

@ktrussell, Sorry for taking a while to look at this. In any case, I think this is the lane-based-speed-control that is triggering when the vehicle goes too far off the track.

When this happens the desired speed is dropping to zero and the desired turn-rate is dropping to about 1deg/sec.

It looks a bit like it’s trying to go into a pivot turn but then doesn’t command much of a turn. I suspect we are missing a sanity check somewhere but I’m not sure exactly where.

I think the issue may be that TURN_RADIUS = 0. I understand that setting it to “0” would seem to make sense for a pivot turn vehicle but I would try increasing this to 0.9 to see if it helps.

WP_OVERSHOOT is also a quite narrow 1m. If this is increased to 2m the vehicle won’t get into this trouble so often although this is a workaround not a cure.

Thanks Randy for the insights. I have had the WP_OVERSHOOT at 2m for the last year but recently changed it to 1m. I will likely change it back (and will certainly for a trial) but I don’t think that is the issue because the stalls occur AFTER MP announces that it is headed to the next waypoint and sometimes it occurs about halfway between waypoints even when they are far apart.

I have had the TURN_RADIUS at various values over time, but I can’t remember that I have changed it recently. I will try that.

Thanks as always.