Non-Square 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!

3 Likes

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

1 Like

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.

1 Like

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

Watch the Famous Cody Smith explanation about Omni wheel drives

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.
image
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,

2 Likes

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.

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.

2 Likes

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 Lost and 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.

2 Likes

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

Back in 2008 we built a version called Twitch https://team1640.com/wiki/index.php/Twitch that moved the wheels from one “tank” orientation to another. It was pretty cool, but never really made it past the VEX prototype page.

2 Likes

@mbrh @Eden
Ok hold up… rotational velocity and translational velocity are not the same thing. Rpm is a measure of rotational velocity (revolutions per minute) and something like ft/s is translational velocity. The sqrt of 2 constant is independent of the rotational velocity variable. The math is 100% correct. If you have a tank drive with 4” wheels spinning at a rotational velocity of 200 RPM you are traveling 3.49 ft/s (circumference is 2piR, and rotational velocity is just c*rpm, so it gives you 3.49 ft/s, there are other simpler ways to calculate this it’s just the way I learned it). You then need to multiply by the vector that the wheels follow. Since in a tank drive the wheels just point forwards, this value is simply 1. In an x drive, the wheels are at a 45° angle. Since we’re comparing this to the translational speed of a tank drive, and 1 was our y value, we have 1 squared + 1 squared = c squared (it’s an isosceles triangle). The c value is then simply sqrt of 2. Now, to get the final translational speed of the x drive when moving in a non orthogonal direction (diagonals), we multiply the translational speed we got earlier by 1.4 (the square root of 2).

1 Like

What you are mistaking speed for is actually torque. The torque (hence the rotational and translational acceleration) is what goes at 1/sqrt of 2 that of a tank drive when the x driver travels in non orthogonal directions. This is probably where your confusion is coming from.

1 Like

This is incorrect. X drives are faster by 1:root2. This is a known fact, as many others have explained above quite correctly ^

3 Likes