Quicktune on a slow skidsteer

I’m working on getting my small skid steer rover (tank chain tracks) tuned using the quicktune script. Up front here are the basic specs:

“YP-200” tank frame (common on Amazon) w/ 2x small brushed motors with relatively low torque (hard to purely pivot turn on tall grass)
~2ft/sec max speed (eyeballed… so 0.5m/s max speed)
~160deg/sec rotation rate (pivoting in place on concrete, turn rate is slower when moving forward)

I did the basic steering tune from the guide, setting the max acro rate to match gz (btw, gz appears to be in 0.001rad/sec, not 0.01deg/sec as the guide states). The pid achieved mostly follows desired, with a few jaunts when starting/stopping quickly. Overall acro mode drives well on PI=0 FF=.85… also will work with pi=0.1 but sometimes it oscillates while standing still (pi=0 doesn’t do that).

After doing that basic steering tune (using p-i-ff=0-0-0.85), I loaded up the quicktune script, set circle radius to 1.5m to fit in my patio, and adjusted the max speed in basic tuning to .5m/s. I enter circle mode and it starts turning a circle (somewhat polygon shaped tho… mostly stop/small pivot/go vs smooth radius turns). Enabling the script, I just see it adjusting “steering rate X <10” but X never settles (values from 2-8 in messages… 6 seemed to be a value it liked).

Since that didn’t seem to do anything, I suspected the PI=0 might be an issue for RTUN. So I tried p-i-ff=0.1-0.1-0.85. Now circle mode doesn’t really keep a good circle, and sometimes drives off to random places. GPS and compass are performing well (18sats, no error messages etc). The RTUN messages show changes to several parameters as it goes. I haven’t got it to finish even after a 10min session. Most of the time it randomly veers off, maybe gets a bit loaded up on rougher terrain, and stops almost like it’s disarmed (messages say something like “must move to tune”). Once stuck like that, I pretty much have to exit circle mode, manual to the cement, back to circle mode… but it never finishes.

I read some places that very slow rovers will be hard to get working well. I understand why (sensor errors larger than desired vectors etc), but was thinking since circle worked somewhat OK with 0-0-0.85 I want to proceed getting auto modes to work. Are there alternative tuning procedures for slower rovers that work? I imagine some parameters for such slow skid steers might be universal… like min turn radius etc… any help along those lines is appreciated. What would be considered the slowest rover that would work well with ardurover?

Thanks,
Kev

Follow the pages listed here in order. The steps are pretty well detailed:

https://ardupilot.org/rover/docs/rover-first-drive.html

Don’t just shoot in the dark with PID tuning - use that guide to try and manually tune to something reasonable before trying QuikTune for best results. Once it drives a decent circle, give it a shot.

The QuikTune script does not work well on slow speed vehicles. Tighten the circle radius until it’s happy about steering rate, but don’t expect magic results. If it fails to complete (you just get the same messages over and over for multiple laps over several minutes), you’ll have to manually tune. Even if it does complete, you may still need to tweak some values to get it working well.

This is less true than you probably realize. Turns at speed are tuned separately from pivot turns, though we are considering removing that separation (or blurring the line a lot more).

I don’t think there’s much of a lower limit, though very slow speed (maybe under 0.5m/s / 1 mph?) does present some tuning challenges, and you may need to drive the steering gains quite high to get good results.

Don’t even consider tuning navigation parameters (PSC_*) until you can drive well in acro mode. You will only exacerbate issues by changing those from their defaults if the throttle and steering control is poor.