Steering calibration for six-wheeled skid steer rover (Ardurover 3.5)

Hi There,

I’m having trouble with tuning the steering rate and getting my rover to head to a way point.

I have a 6WD thumper chasis with two separate ESC’s controlling the left and right side respectively. I’m using a Pixhawk 4 which is running ArduRover V3.5.0-dev (1b46104a). The rover works fine in manual mode.

In the attached log, I took the rover outside and tried to get it to drive a path with a couple of waypoints. The rover would turn to a heading unrelated to the waypoint and move off in a straight line. It didn’t turn at any point.

I suspect this is because the steering hasn’t been tuned correctly. I tried following the guide on the wiki, especially the video, which was for a four wheeled vehicle with conventional steering. In ACCRO mode, my PID desired and PID achieved were the wrong way round, with my PID achieved being way higher than PID desired, and this was with the FF set quite low to 0.2.

I also find ACCRO mode to be largely uncontrollable. The rover tends to go straight into reverse and turn without any input from the remote control. In a large enough space, then I can use to remote control to have some control over it, but it’s not operating how I believe it should be.

Lastly, I’m also having trouble getting the rover to learn a cruise speed. Again, I’ve followed the wiki and assigned Learn Cruise Speed to an auxiliary switch. I get an audio confirmation from Mission planner that Cruise learning has started and I drive the rover for about 10-15 seconds in a straight line at a constant speed, but when I flip the switch back down, mission planner says that cruise learning failed. I tried this several times during the attached log.

I’m very new to this still, so I suspect I’ve got something quite basic wrong. I do have my arming checks disabled because most of the time I’m working on this in a windowless office with no GPS.

Thanks in advance for your help.

Log File

I still consider myself a newbie, as well, but I will share some pointers I have learned that I believe are true.

You have to be sure the nav system has had time to stabilize before you go to Auto. I have had my zero turn mower take off at high speed in the wrong direction when I did not. It can take several minutes for the AHRS to stabilize. I would let the rover sit still in a good location for the gps to settle for at least 5 minutes before you switch to Auto.

The GPS and compass are critical. Until recently, with my large rover, I could not perform a full compass calibration. A new cal procedure (Testers needed for in-flight compass learning) was recently introduced that made it possible to cal and that has improved my Auto performance a good bit.

I’m pretty sure you do not have to leave the Cruise Learning turned on for a period of time. You simply get your rover traveling at your approximate desired cruise speed in manual and momentarily flip on and back off the Cruise Learning. You will see that the speed and throttle position are copied into the tuning screen at that moment.

I’m sure more experienced folks will chime in and help you more.

Good luck!

1 Like

Ok. I had a look a t your log file. The first thing I noticed is, the calibrated RC values differ from the RCin values the FC was receiving during the test. RC1 and 2 are both calibrated to 1112-1500-1912, but RCIN.C1 ranged from 899-1459-1905 and RCIN.C2 1095-1528-2101.
I think you should recheck your TX serttings, make sure all trims and subtrims are 0 and the endpoints (min 1000us, max 2000us should be fine) are identical on all channels. No mixers should be active. Then redo the rc calibration.
While you are at it, check if both sets of wheels go forward with PWM values above 1500 and backward with values below 1500. This is not mandatory, but it makes troubleshooting easier and avoids confusion.
If you did this, check if the rover is driving like it should in manual, then pick it up and switch to acro mode. If you now turn the vehicle the wheels should counteract this movement, not go with it. (You will need ATC_STR_RAT_P > 0 for that)
You set ATC_STR_RAT_FF to 0.1, but ATC_STR_RAT_I to 0.2 and RAT_P to 0. This is most likely not going to work. Start with tuning FF and if PID_ACHIEVED follows PID_DESIRED closely, add a little bit of “P” and then a even smaller bit of “I” if necessary.
Your ATC_SPEED values look strange, too. You should not really need ATC_SPEED_I and D and you set D to 0.4. The D-term is very sensitive and such a high value may lead to rapid changes in throttle, causing vibrations and high power usage. This is also bad for the relativly cheap motors the Wild Thumper uses, the brushes tend to burn under high current. (Do not ask me how I know…)

1 Like


Thanks for bringing up this issue of drive-aways soon after startup. I’m pretty sure the issue in this case is that it is using the older DCM AHRS instead of the new EKF. I think i will disable the older DCM and that will solve the problem I think.

1 Like


The advice from @count74 looks good to me. I’d also recommend checking the motors move as expected using the MP’s motor test screen.

Hello Everyone,

Thanks for the suggestions. I’m quite busy with work for a few days, so can’t work on it at the moment, but just wanted to acknowledge your help so far.

I do have mixes set up on my transmitter (spectrum DX8) because I wanted all motion to be controlled on the right hand stick.

Thanks again.


I think there’s no need to setup mixes on the transmitter - in fact, I think that will likely confuse things. Similar to this other recent post, the two-paddle-input feature and the skid-steering output feature are quite separate.