I have some issues tuning my Rover, using 3.2.0 firmware.
In auto mode the (skidsteer) rover the desired PID values are very nervous. this is strange since I have a negative cross track error of about a 1.5 meters negative. I would expect that my rover would turn into one direction, in order to eliminate the cross track error.
thanks, setting PIVOT_TURN_ANGLE to 0 solved the strange PID behaviour. Navigation (based on GPS RTK) is way more stable now.
Navigation still is a bit inaccurate, the rover is not able to make sharp turns or quickly react on cross track error. Also, when hitting a waypoint, the rover isn’t making a sharp turn in order to get the right orientation moving to the next waypoint.
After doing some logfile investigation (thanks for the tip), I noticed the navigation controller is not using the available servo output bandwidth. When there is not a big difference between right and left servo the rover is not able to make sharp turns.
Looks like the vehicle is running an old version of Rover. It’s 3.2.0-dev (from November last year). Could you upgrade to Rover-3.2.1? We’ve made quite a few significant change after that, in particular there’s some important logging informationt that’s missing from this older version.
I did the update to 3.2.1. That made a difference. Now the servo’s are
hitting 1500 (Idle?) as a minimum. With 1500 as a minimum I still have
quite some (constant) oscillation when moving from waypoint to waypoint.
Attached the 3.2.1 logfile.
I think I answered this question on another thread but in any case, we’ve replaced the steering and speed controllers in 3.2 so the STEER2SRV_P parameter is now ATC_STR_RAT_P. Here is the new steering tuning guide for 3.2.
Looking at the log, the ATC_STR_RAT_FF (the most important steering tuning parameter) and the ATC_STR_RAT_P parameter are far far too high so we get large overshoots when we compare the desired turn rate (STER.DesTurnRate) vs the actual turn rate (STER.TurnRate).
thanks for your input. We changed the settings you mentioned regarding
steering and speed.
Still the Rover is having a oscillating cross track error. Is seems like
the navigation controller is reacting very slow.
Speed is very slow (0.2m/s), so there should be time enough to converge the
cross track error to zero.
Cross track error compared to steering output:
Any idea how this oscillating can be eleminated and the cross track error
can be reduced to a minimum?
Please find the logfile attached.