So…we have an revere tray stacker. But we want an X-drive. Problem is the gravitational center is way off to the back and our robot has to be 27 holes wide otherwise we have problems with scoring. So can we build an x drive that is not square(35 hole*27 hole)?

# Non-Square X-Drive?

Yes

In theory this would work my only concern with it is that your Turing would be slower than a traditional x drive

Yes it’s possible. Since you are talking about a difference of about 4" in the legs, I’d suggest using the basic code to get the base turning and give your team a chance to work on the game elements.

There is some extra math to get it perfect, searching on non-square holonomic drives will give you the math.

Good luck!

square or not, the program are the same

The turning would be less efficient assuming omni rollers have friction(which they do). But I can imagine turning being impacted a ton by having a non square chassis

How much power is lost in an X drive system, compared with a tank drive?

The X-Drive is about √2 times faster, which would mean that it has √2 times less torque.

Are X drives systems more prone to tipping than tank drives?

If it’s wheels out on the end of a stick (robot really looks like an X or +) and you move the center of gravity well past the wheels, then yes. If you look at the bases that are more of a frame with the X drive embedded in the frame, then no, about the same as a tank.

Any frame will flip moving the CG out past the frame perimeter far enough.

Normally you would pick X or + drives depending on what you want the motion of the base to be. If Strafing across the field appeals to you, and it’s not a heavy pushing game, then X is your choice.

In @Doge’s case, heavy load in the back and then moving the CG even farther would have a tank drive lifting up the front.

wait… but the x drive has wheels pointing at an angle, which should mean speed loss, but how is it sqrt 2 times faster

of course i know that omni wheels have small wheels and how they work, but when the wheels are at a angle, isnt some energy lost by spining the other wheel?

Sorry, I didn’t mention this before, but that is for a square x-drive. Basically, you could think about a square x-drive. if it moved forward it would be moved at the speed of a tank drive. If it moved diagonally it is moving sqrt 2 times faster because that is the diagonal of a square.

This image shows the basic idea, assuming the x and y-axis represent forward and horizontal movement. You can check this article out for a great explanation,

Yes, you get more speed (1.4 time as much) but less transferred power.

Cody shows the math around the force vectors, it’s worth watching.

Unfortunately, as interesting as Cody Smith’s video is to watch, the math and vectors in it are not correct. I read a lot of people saying that x-drives are faster, when the physics just dont make sense to support that. If all the wheels in a drive can only go 200rpm (2513 in/m using 4"), there is no magic that suddenly makes the robot go faster when wheels are turned at an angle. In fact, they go slower becasue they are wasting energy fighting against each other on the x axis.

The mistake that Cody (and others) make is that they think of the wheel being the x or y side of the triangle when it actually is the hypotenuse. That means that the max speed is actually 1/ sqrt(2) or 0.7x the wheel speed. That passes the common sense test of not going faster than the wheel when straight.

I have a team that has been working on motion planning algorithms for an x-drive over the summer, so they have spent time learning and programming how the vectors work. I have challegned them to write it up or do a video to share with the broader community.

I know right that was my point!

The angled wheels are wasting alot of energy to spin the small wheels on the wheel on the opposite side! How is it supposed to gain speed?

See also the below video, and this old thread about it.

Note that the speed of the robot appears faster in the x-drive configuration.

There was recently a very interesting thread on Chief Delphi where they discussed pros and cons of the Mecanum vs X-Drive (which they call Poor Man’s Mecanum or PMM).

This post by GeeTwo describes an asymmetric X-Drive:

A wrinkle on PMM I experimented with a couple of years ago is one I called Pakuni Drive†, named after the simian aliens from

Land of the Lostand their attribute of walking forwards like humans, but running sideways like my little brother Vernon when he was 18 months old. The idea is that I toed in the wheels ~22.5° rather than 45°. (It turns out that the acute angle on a 5-12-13 right triangle is closer to 22.62°, so that’s what I really did.) Anyway, this gives a forward acceleration which is 2.4x better in the forward direction than the lateral (strafe) direction, but a free speed which is 2.4x better in the lateral. My intention was to start the robot accelerating in the “forward” direction, then rotate the robot 90 degrees to “shift” to a speed 2.4x as fast for longer (cross-field) runs. My attempts with an arduino and no gyro or other feedback nor radio input were unsuccessful, so I’m putting the concept out there in case anyone wants to try this with better control systems.† My earlier name for this before inspiration hit was roto-shifter, as will be explained in later sentences.

The speed is sqrt(2) times faster, however, some torque is lost due to the increase in speed making the torque 1/sqrt(2).