Steering reversing when throttle is reversed?

Hi, i have a rover which is steering in the correct direction when forward throttle is input but the steering reversing when throttle is put into reverse, can anyone shed any light on what is going on so i can correct it please?

I have checked my Tx and all is correct, Mission planner also confirms no radio input reversing is happening and the steering input is correct on either forward or reverse throttle but the servo output page is showing it reversing when the throttle i s reversed.

It does not have to be in a stabilized mode, its doing it in manual!

I have looked and looked at what i might have done wrong and cant figure it out!

Thanks, Steve.

i think you might want to look at pilot_steer parameter.


Had a look at that parameter and it was set to default (0), i have set it to 3 and the steering is doing what it should now, thankyou!

Im baffled why the default would reverse the steering when reversing the motor or even ever, its a strange setting!

1 Like


It makes the behaviour of a skid steering vehicle the same as an ackermann steering vehicle. For me I like having them consistent ('cuz I drive both types of vehicles) but we could change the default if the majority of users found that better.

I think its just confusing if you have came from multirotors where your yaw doesnt change but If your used to rc cars it makes sense.

1 Like

Im not sure i understand, Rc cars dont reverse the steering when reversing??

I have Fixed wing, helis and quads but i dont get the relevance when coming from those to a car?

A car is a car and i cant see any reason why you would want your steering to reverse direction when reversing, thats exactly what got me, Ardupilot was defaulting to a mode and behavior that cars dont do!

Maybe better stated(?) - the default behavior is for stick movement to always result in vehicle movement in that direction (relative to forward). The parameter set allows for a user to change that behavior as desired (such as to match your own expectation, which is obviously not everyone’s expectation, as we can see already by the responses in this topic).

You missed the point about an Ackerman configuration and a Skid Steer configuration. And there are others; omni’s, boats of different configurations with rudders and thrusters, etc. All Rover code.

yes but surely the Default should be regular traditional steering function and not for a skid steer vehicle, a regular boat with a rudder would not reverse it either.
It would make far more sense for the default to be what is mainstream and not for the default to be for a non traditional setup, that is what got me, who expects it to do that, you would expect to have to change things to get that kind of non standard behavior!

What’s getting you is being stuck in your own paradigm. Again, there is a parameter to set the behavior as needed, and it is well documented.

Yes and no, surely most people would expect traditional steering to be the default?

I have it sorted now and working correctly thanks to being pointed in the right direction so its all good in the end though :slight_smile:

Most people with an Ackerman steered vehicle, perhaps. Hard to say if that’s actually the most common use case. I suspect not.

I think you are right. Tracked and wheeled skid steer may be more popular. Or ~50/50 anyway. I was going to add a rear steer axle to one of my Ackerman Rovers to do some cool stuff with turning modes but it was a bit too expensive just for fun. It would be cool to have and experiment with the GSOC Auto Docking project. I came up with a security use case for this at home but I’m afraid my vehicle would be stolen…

you guys may well be right, i am surprised though.

I would have thought that a traditional 4 wheeled front steering car would be the first thing people would try, if nothing else, its the most common and cheapest platform and would also think that most people would assume that the default settings would be for that traditional and ‘normal’ type of vehicle.

That is what i thought, i knew various types of vehicle were supported but did not realize that the default steering was for some exotic non standard chassis.

Im told its well documented but i still somehow missed that, all i saw was it saying throttle and servo function should be separate by default with no mention of reversing and then below that it says how to set up skid steering which is not the default then Omni vehicles and then moves on to ESC setup so you (or at least I) would think that the default is traditional…

your missing the point,

in a regular normal setup like a car “Ackerman” when you turn the steering to the right and go forwards the car will rotate clockwise, but if you keep the steering where it is and start reversing the car will rotate anticlockwise. this is different from a multirotor or helicopter where left is always anticlockwise and right is always clockwise regardless if your going backwards or forwards. this is where the pilot mode comes in as it will let you select the behaviour you want regardless of your propulsion setup.

The default mode is to emulate a normal setup that means changing rotation from ahead to astern.

1 Like

Yes, I agree with @geofrancis (and others).

The default setup is to make all vehicles act like ackermann steering vehicles like the type of cars that many of us get into and drive every day. If the pilot holds the steering stick left and drives forward, the vehicle will rotate counter-clockwise. If the pilot holds the steering stick left and drives backwards, the vehicle will rotate clockwise.

If testing using an actual ackermann steering vehicle there shouldn’t be much change in the physical steering position as the vehicle transitions between moving forward and backwards. On a skid-steering vehicle though there can be a sudden jump in motor outputs.

A slew rate limit on the motor output rather than the throttle output would smooth those transitions a lot, I think it freaks people out a little when they see the rather violent reversal when going from ahead to astern, especially if it has a lot of power. I have had it unscrew motor couplings .


yeah, it wasn’t very kind to my steering servo when i had the truck up on the stand and did some tests to try and figure out what was going on.

Its a big machine weighing 25kg and has a 60kg servo on the steering and when it violently snapped from one full lock to the other, the front wheels shook and so did the whole truck on the stand!


OK, but to be clear, that’s not the default behaviour when switching from forward to reverse on an ackerman steering vehicle.

So your saying that on a default config the steering should not have reversed with reverse throttle?

When looking in the Pilot_steer, mine was on 0 which is default and was reversing, i changed it to 3 and it cured the issue.

maybe i have some other parameter incorrctly set for my vehicle type?

I have a 4 wheeled, rear wheel drive, front wheel steering traditional ‘car’ setup.
Its a 50cc mini quad bike chassis that has been converted to rc, 6s electric drive and lives inside a kids ride on truck for a bodyshell :slight_smile: