Skid Steer Tuning

I have tried to follow the guide at: … r-a-rover/ for tuning my rover.

The rover is driven with 2 motors on the rear wheels, 1 on each side (SKID_STEER_OUT=1)
the front wheels are free to rotate.
in manual mode everything works fine. in steering mode i have some difficulties understanding how the different parameters work together.

I have a good understanding of PID Controllers but it seems that they don’t work exactly like a normal PID due to the extra parameters. (TURN_MAX_G,STEER2SRV_MINSPD++)

I understand the parameters like this:
TURN_MAX_G is scaling the input to request 0 to TURN_MAX_G Rate of rotation?
Then the PID comes in to play to achieve this. It is run at a rate specified with STEER2SRV_TCONST?
STEER2SRV_MINSPD is some kind of scaling of the pid for slow speeds?
In auto, NAVL1_PERIOD updates the setpoint of the heading PID loop with a new heading to the next WP?

The guide says to measure the turning circle of the rover.
With skid steering this is 0 since it turns around the center of the drive wheels.
The APM and compass is mounted between the drive wheels also.
Default P is 1.8 and that gives me a lot of weaving.
I know that a PID loop without a P value is useless so this has to be > 0;

I have managed to get it working-ish with these settings:

it’s just working ish. it is difficult to adjust the heading smoothly with the transmitter and the heading drifts when driving. if i increase I i get a lot of weaving and if i increase P, the rover turns violently sometimes in big jerks.

I have not tested rover without skid steer so far.

Is there a way of setting STEER2SRV_P on a skid steer rover like there is on a normal turn rover?
What is TURN_MAX_G actually?
how does STEER2SRV_MINSPD work on a skid steering rover?

Try here:

did you manage to get it working?

Im experiencing the same sort of issues, very hard to control and lots of weaving and oversteering.

Try working with the NAVL1_PERIOD, NAVL1_DAMPING, and the STEER2SRV_ parameters.
Every rover is different and you just have to establish baseline values and go up or down in values and see what direction improves the steering performance. Work with only one parameter at a time to get a feel of how the changes in value affect the steering performance.

I have just worked out the that weaving and oversteering was my fault. I had something buggy in my arduino based motor controller code. For some reason it was causing delays due to the PWM input code.

I have that fixed now, but still issues with autonomous driving. Ive put up another thread about it with a video.

Where is the other thread you referred to? I would like to look at the video.

I am trying to tune the steering on my rover but have not had success. I have followed the “Tuning steering and navigation for a Rover” with limited improvement. Here is what it looks like
It is a skid steering using APM , Sabertooth 2x12 on a Wild Thumper 4wd.

Hi TC111 following this Try here: as I am having problems with an APM 2.8 mega board and skid steering, but it gives me a 404. I am really trying to work out how to configure steering. I can get both motors to go forward and back together but thats just a straight line. I am baffled by steering


Have you looked through here for a solution?

The APM is really dated and I recommend upgrading to a Pixhawk 2.

Using GPS to run a course was the best that was available back at the beginning of the 2010 decade, but I have moved on to using AI/DL to navigate courses that I can train my rover on. It is much more accurate and can adjust for unexpected objects on the course on the fly.

Even Chris Anderson is using AI/DL at DIY Robocars.


Interesting idea. The application is a wheeled robot running a fixed course and reporting changes if they occur. In my mind GPS was ideal. I will do some research on this. Thanks! I did switch to the Pixhawk as you suggest and finally it started working last night. Unfortunately I was trying several config changes without doccing them so not sure which one actually made it work. (at the point it worked I was so frustrated). I called my son who is working on it with me and we took a cheer! I am now reassembling into tank to run outdoor test. The Jetson I looked at earlier but two problems costly and changes every few months and so you’ve spent all that money and its quickly out of date and not supported. I also looked at Intel but its the same problem, they are used to working with large corps so price things accordingly. By the way the list you refer to has 21 items in it but when you examine them many are no longer sold, and when you go to mission planner and say install firmware it only list about 8 items and very few of them match that list which is a bit of a baffler! I mentioned this in a post to Sebastian but as he said this is all volunteer and you have to work it out. Without his help I would never have worked out which firmware was actually the pixhawk 2.4.8! I was naively trying pix 1 thinking oh well that name is similar.


I beg to differ with you concerning the Jetson Nano and Xavier. They are well supported by NVIDIA and there is plenty of free software available for AI/DL in relation to course navigation without the use of GPS. I have built both of my own Jetbot and Jetracer and they perform extremely well, especially indoors.

Thomas, I will look at both, you obviously know this stuff very well. I have limited budget unfortunately. If I had unlimited I would use that Canadian vehicle Clearpath has or the jetson vehicle, but it starts at £1500++! I am trying to build a demonstrator with limited funds to show this idea could work. I did come across a mapping thing called SLAM but it seems more of an indoor thing and also is useful if you just want your robot to find a route. In my case I want to demonstrate that the robot can accurately follow a GPS plan on a known route every day. It took me a while to reply because if you see my other thread with Sebastian helping I had motor issues that are now resolved.