X-Drive Speed

As we are starting to design next year’s robot we have been looking into various drive types. I have read that x-drives are faster than tank drives but I do not fully understand why. Is this true and why?


This post explains it very well.

1 Like

Here’s a video of a drive that shifts between tank & holonomic (X-drive). You can see the speed difference in the video.

Keep in mind that torque is lost in the x drive though. It may have a faster free speed, but in competition, you will never run at your free speed. A tank drive will always be effectively faster unless your robot is incredibly light.

The power loss of a tank drive vs. an X-drive seem to be about the same, and I don’t think the torque loss of an X-drive is actually enough to make an X-drive slower than a tank drive unless you have an extremely heavy robot or a lot of friction somewhere. Also, X-drives can strafe, which will probably be useful in Starstruck.

The torque can be very much a problem getting the robot moving initially. You also need nice weight distribution to make X drives really work (or plus).

But since there is no contact this coming year, I foresee lots of speedy holonomic drives being. But is speed the key ingredient in this game? Strafe capability is great to get the stars off the wall. (different thread)

X drives are faster when all motors go in the desired direction, but slower at the 45 degree offset when only 2 motors go.

As what I see, it depends on the friction, and the direction of the robot.

For NBN my team origonally used a tank drive that was big, bulky and slow. Then midway through the season we switched to an X Drive that was about the same size, but it was twice as fast. Its a fast drive, but in the club i was in, it was a slower drive compared to the other bots. Some of them had a compact 6 motor drive like 1200F (they went to worlds). Another team had a 6 motor X Drive! The thing is, it shouldnt have worked, but somehow, it worked. I cant describe how it worked But it was 4 angled motors with 2 parallel with each other on each side, in between the angles motors. In my opinion, 6 motor drive is way better than a x drive for speed.

For 6-motored X-Drive. Do you mean like this: ?

In short, without all the vector math I don’t feel like typing up, an X-Drive is faster because when the wheel turns, it would normally go at an angle. But since it is restricted from doing so and instead glides partly on the rollers in the wheel. It effectively increases how far you travel from each rotation.

X-drives are aprox. 1.414 (sqrt 2) times faster and a normal base geared the same way.

One of the teams from my school (I believe 675C) used the Asterisk Drive in Skyrise for part of the year and it worked quite well outclassing my teams 4 motor X-Drive both in speed and pushing power. Really helped with pushing the stack of cubes.

Yeah! The thing was the wheels were the same size, in the video the angled wheels used smaller sized wheels. And 1.414 is close enough to 2 lol

Ok I think I understand why an x drive is faster, but why do the y vectors not cancel leaving only the x vectors?

This math seems flawed. The diagram shows one vector going right and the other going straight up at a 90 degree angle which then produces a root 2 vector in between the two vectors. However by this logic a tank drive has two vectors both going in the same direction which should give an overall vector of 2 in the direction of motion. If you have a 100rpm motor at a 45 degree angle then you should get about 70.71 rpm in the x and y direction. Whereas a tank drive has all 100rpm in one direction.

If both sides have a maximum speed of 100 rpm, the overall speed doesn’t become 200 rpm. Experiments show that the math is correct. X-drives move slightly faster than tank drives and have less torque.

Well if both sides have a max speed of 100 rpm, the overall speed doesn’t become 141.42 rpm as Aura’s math suggests. I was demonstrating how by their logic a tank would be faster. With a tank the max speed is 100rpm but it would appear that the max speed of an x drive is about 70.71 rpm.

I feel like physics would agree with your argument. The wheels of an x-drive are equivalent to the hypotenuses of a right triangle with 45 degree angles. Force is exerted in both the x and y direction. But the force in each of these directions individually is 1/(2)^.5 . If you think of the two front wheels, both forces in the y direction are positive 1/(2)^.5 . However, in the x direction because the wheels are opposing each other, one force is positive and the other is negative. They cancel out, and all that is left is the force in the y direction. I feel like it may work experimentally on a chassis only because friction may be lost due to the rollers when the wheels are at a 45 degree angle. Mathematically it doesn’t quite add up, and even in the video there isn’t a 41% increase in speed. I would love to be wrong though, x drives are the #1 way to go.

Yes it does. If I am travelling both 100m/s east, and 100m/s north, I am travelling at ~141 m/s northeast. Vector addition tell us this. Your comparison to the two sides of a tank drive is not correct. There is only one vector involved in the movement of a tank drive. I suggest you both think the problem through on a piece of paper.

The two vector components of an X drives motion are not the hypotenuse of the triangle, they are the two shorter sides, with the hypotenuse being the resulting motion, with a length of ~1.41. This can be proven both through vector addition, and experimentally as shown in the video posted above. If you don’t believe the video feel free to try it yourself.

EDIT: To clarify, you arent getting speed out of nowhere. It is effectively equivalent to gearing your drive up ~1.41x for speed, and as a result you end up with around 0.707x as much torque. In reality, X drives have a whole lot more friction than tank drives which means you actually get a bit less speed and a lot less torque than you theoretically should (at least in my experience).

You are so right, if only you were really traveling 100rpm east and north…but an x drive is not. Let’s look at one wheel. It is traveling 100rpm northeast (Not sure where you got the extra 100m/s). This means it is simultaneously traveling north and east at 70.71rpm.

Imagine the whole robot is travelling northeast. One set of wheels is travelling north at 100rpm. The other set of wheels is travelling east at 100rpm. The resulting motion of the robot is northeast at “141rpm” if you want to call it that. You are assuming that each set of wheels travels slower than it otherwise would. Why would the set of wheels travelling north be going at only 70rpm? The wheels by definition must be going at 100rpm because they are directly driven (in this example).

Have you never learned about vectors in school? Have you never learned how the Pythagorean theorem works?
A^2 + B^2 = C^2

You’re travelling 1 speed unit to the left, and 1 speed unit up, 1^2 is 1.
1^2 + 1^2 = C^2.
2 = C^2
Take the square root of both sides to remove the square, and then you have your answer
sqrt(2) ~= 1.41
sqrt(C^2) = C
C = 1.41
I hope you see the logic…

Moreover, if you’re travelling 100 rpm left and 100 rpm up, you’re travelling 141 RPM, this is proven logic. Please learn maths before attepmting to disprove common knowledge.