Spinning the Robot with Mecanum Wheels

We are having major problems getting the robot to spin with mecanum wheels. I beleive the code is correct as we consulted a power point from here that verifies our program matches the work of others.

The robot goes forward, backward. side to side, and at an angle just fine. But, when we try to spin it the robot just vibrates a lot. We did try putting wieght on the wheels. Has anyone else had this problem? Any fixes the might work?

Thanks in advance

PS if there is an old thread that addresses this issue I didnt find it and would be happy to go there if this was covered

could it be that your COG is off by an uneven distribution of weight?

The problem is almost certainly the setup of the wheels. There is one setup of mecanum wheels that works right and one setup that behaves as described. I don’t remember what the appropriate way to swap the wheels is to get them into the right setup, but I’m sure someone will be by shortly who does know.

If you were to draw an imaginary line with the roller axes as they look from a top-down view, the lines should make an ‘X’. More than likely, yours make an ‘O’.

You want the ‘O’ on the bottom, not the top.

Another symptom of this is that it may be difficult to maintain a straight line when going diagonally.

There was some discussion about this X vs. O but I am going to check our alingment now with what you said. Thanks a lot guys



We are defintely in the wrong alignment and I have guys changing to the X alignment now. You guys have really saved us a lot of time because the next few ‘tests’ we were going to try would have taken a lot longer to do.

End for end OR side for side. Or just flip the frame over, if it’s low enough…

Thanks, I’ll try and remember that. That was what I thought, but I didn’t really want to guess and have them switch them and it still be wrong.

Here’s a question: if you mount your wheels in a square configuration (ie, your wheelbase = your track), is it possible to rotate your bot about center?

Yes. It’ll actually work best that way.

(…unless you have your wheels swapped, in which case it won’t be able to rotate itself at all.)

For wheels mounted in the correct configuration, I don’t think that it’s possible to rotate a bot about center if they are mounted in a square configuration. When summing moments about center they all cancel out when length = width. Only when you have a rectangular bot, where length != width, can you create one pair of moments not offset by the other pair.

This seems to be unconventional thinking, and I can’t seem to find anywhere on CD that this has ever been stated. Am I missing something? Would anyone be willing to provide a vector analysis of a square 'bot rotating about center?

(It can be done using four identical wheels, but thats not what I’m after. Two “RH” and two “LH” wheels, mounted in an “O” configuration, cannot seem to create a moment about the center of a square bot).

Consider a bot with 4 mecanum wheels mounted so that they have the “X” configuration when viewed from the top. Now drive both wheels on the left side forward, and both wheels on the right side backward, all at the same speed.

The front left wheel will be pulling forward and to the right. The rear left wheel will be pulling forward and to the left. The front right wheel will be pulling backward and to the right. The rear right wheel will be pulling backward and to the left. So, all 8 force vectors are pulling CLOCKWISE. The vectors do not cancel, they add. So the bot spins clockwise.


Specifically, I believe that when you’re summing moments (R x F) you are forgetting to include make R negative in one direction.

Hi Matt,

the pronoun “you” is ambiguous.

which post were you responding to? craigboez or me?


I was responding to craigboez’s post.
Sorry about the ambiguity.

Hi Craig,

Take a look at this PDF:

It has a force-vector diagram and complete explanation for all three degrees of freedom: fwd/rev, slide left/right, spin CW/CCW

To spin in place clockwise, wheels 1 and 3 should be driven forward while wheels 2 and 4 are being driven backward. If you do this, the force vectors on each of the 4 wheels will produce torque moments about the center of the wheel pattern all in the clockwise direction. They do not cancel, they add.


The correct configuration is a “X” configuration when viewed from the top of the bot, which is the same as an “O” configuration when viewed from the bottom of the bot. In other words, if you have a bot with the wheels mounted in an “X” configuration when viewed from the top, and you tip the bot on its side and view it from the bottom, it will appear as an “O” configuration.

If your wheel configuration looks like an “O” when viewed from the TOP, it is not the correct configuration, and the bot will not spin properly.

For those of you new to this discussion, here’s what we mean by “X” and “O” configurations:

“X” configuration:



“O” configuration:




Thanks to all for your input. The fact that the wheels, when viewed from above are different from the wheels when viewed from below was the big aha! moment here. Thanks especially to Ether for the in depth explanation - I have now seen the light.

It is kind of funny because now that I understand the problem I see the answer posted in many places.