Rotating with crab drive

Our team’s drive train consists of four independently steered modules each with their own steering motor and drive motor. Each has it’s own potentiometer to control rotation.

In our program at the moment we just have a normal arcade drive with the addition of being able to steer the pods, allowing us the capabilities, if I understand correctly, of a crab drive.

We can go forward and backward just fine, but when we try to rotate around the centerpoint, our bot’s wheels skip a lot on the ground. After some reading, it looks like we have to use an alternative to arcade style drive.

We have not done too much development of our drive system, and I’m afraid we’re a bit in over our heads. After looking at the math for snake drives and omnidirectional drives in general, I realized we wouldn’t be able to have the full capacity of the drive system that we had wanted.

So, I’ve thought of a possibly more simple way to rotate our robot. If I just rotate our front wheels 90 degrees one way, and the back wheels 90 degrees the other way, and add power, would that rotate without a lot of drag on the wheels and give a smooth rotation?

I’m aware that to be able to implement a full omnidirectional drive, my team and I should have done more preparation. I’m just hoping there’s some way I can get our robot functioning more than just a crab drive.

Angle the wheels 45 degrees like so and it will rotate just fine.

/
/

The optimum angle changes with the length of your drive base, but 45 degrees is the general purpose answer.

Rotate the wheels 45 degrees like so:

/
\ /

… and the turning should be a lot smoother.

[EDIT] Mark beat me to it…

I had actually thought about this before, but wasn’t completely sure it would work.

Okay, that’s what we will try to do. It shouldn’t be too difficult.

If you tell me the length of your trackwidth and wheelbase, I can give you the exact angle you should use for completely scrubless/skipless turning.

trackwidth is the distance between the front (or rear) wheels.

wheelbase is the distance between the front left and rear left wheels (or front right and rear right wheels).

… and if you want the center of rotation to be something else than the center of the wheel pattern (like maybe closer to the front of the robot), let me know where and I’ll tell you the wheel angles (and speeds) for that.

Wheelbase: 11.717 in
Trackwidth: 26.626 in

Are you sure it isn’t the other way around? What you’ve described is what is commonly called a “wide” robot (trackwidth greater than wheelbase).

trackwidth > wheelbase (wide robot):

      front
|--------------|


|--------------|
      back

trackwidth < wheelbase (narrow robot):

front
|---|




|---|
back

Yes, I messed up the calculations there. Here is the cad drawing showing the distances from the centers of the wheels.

http://i.imgur.com/810iW19.png

The center of our wheelbase is not at the center of the frame, so the distance between the center of the frame and the center of the wheelbase is given.

The wheel pattern is very close to square. Use 45 degrees as mentioned previously.

Will do.

We got it working. Thanks for the input.