Servers by jDrones

SKID STEER OUT removed! Why?

(AndWik) #1

When I upgraded my rover to the latest firmware I found that SKID_STEER_OUT was gone! Why this?
The Wiki documentation doesn’t reflect the change and I’m not able to get my rover running anymore.

I still want to use one joystick for motion

Many thanks in advance
Mr Anders Wikström

(Amilcar Lucas) #2

You need to change parameters:

or something like that… and it will work again. AFAIK there is no documentation for that in the WIKI.

(AndWik) #3

That was a very quick reply!

Thanks a lot :slight_smile:


(Khancyr) #4

This is a beta update that is why the documentation isn’t updated yet. Becarefull, plenties things have changed, and more to come !

(J) #5

How do I change these parameters ? I can’t see them in the full list.

(AndWik) #6

SRV is a short for SERVO
You’ll find it :slight_smile:

(Dustin Hawkins) #7

With skid steer out removed and changing servo function of rc1 and rc3 parameters to use 1 joystick for control, does the pilot steer need to be set at 0 or 1?

(Val Schmidt) #8

It needs to be set to 0.

The documentation is sketchy here, but we looked at the source code. What makes a vehicle a skid-steer vehicle is setting RC1 and RC3 to throttleleft and throttleright. [The function have_skid_steering() actually only checks these things exclusively.]

What is confusing from the documentation, is that PILOT_STEER_TYPE, is independent of skid steering. It just determines whether or not your actuate the steering using a single joystick (0 - default) or two (1), and if you use a single joystick and whether or not the motors change direction when reversing (3 - default) or not (4). Note that PILOT_STEER_TYPE=0 is the same as 3.

(rmackay9) #9

Hi Val,

Yes, that’s right. I think it makes sense that the skid-steering setup and the input type are separate. One is an output and the other is an input and they can be interchanged even though it’s probably more common that the two-paddle-input is used on the skid-steering vehicles.

In any case, I’m certainly keen to improve the wiki… perhaps we could add a link to the steering-input-type wiki page from the motor-output configuration page.

(Val Schmidt) #10

Hi Randy,
Thanks for the comments.

For some background, we are co-opting the Rover code to drive a boat having two thrusters and no rudder. So the differential drive of skid-steering does the trick. [To my knowledge, there is no accommodation for this setup in the Arduboat codebase.] Single joy-stick control is a more natural way to drive the boat, so that’s what we set out to do. So to be fair, we are not your typical users.

I think what we found confusing is that two-paddle skid steering on input is an explicit setting, while skid-steering on output is implicitly set by the servo mappings to the right and left throttles. Because it was not also explicit, It was not clear (to us) without looking at the code how mixing of the left and right thrusters (motors) would occur for steering on output.

If I might off a suggestion, I think what would make this clearer is if there were two new SERVO settings that would indicate explicitly “throttleLeft+skidsteer” and “throttleRight+skidsteer”. Then have_skid_steering() could check for this instead. It would be functionally identical, but would better honor the “principle of least surprise”.


(rmackay9) #11


OK… I’ll have a think about adding those other SERVOx_FUNCTIONS although it seems a bit redundant because the existing throttleLeft and throttleRight values are only used for skid steering. So it would just be an additional set of functions that do the same thing as the current functions.

A boat setup with two thrusters is a supported configuration and does seem to work pretty well. A couple of other people have used this configuration as well including me for this “Loiter in a strong current” blog post.

… anyway, I’ll give it some more thought and thanks very much for the feedback.