While conducting a fair bit of research about Change Up and the reveals so far, I have observed a seeming split between the robots, specifically regarding the type of drive base. While roughly half have used some sort of in-line, traditional omni-wheel setup, the other half have made use of X-drive/meccanum wheel designs.
I have recently acquired parts for this season, so it’s fair to assume I’m behind the game. While I have CADded a robot during the summer for this season, it is (needless to say) quite outdated).
As I ponder over which type of wheelbase would be most effective, I–like trend of wheelbases I have seen–am split.
I do believe the sideways movement of an x drive would be beneficial, but as I have never built one before, I am naturally hesitant. A traditional tank drive is familiar; however, it appears that the strictly forward-backward limitation seems to be especially limiting during a game of this nature.
Thus, here is my question:
Do you believe that the benefits of an X Drive outweigh the benefits of a Tank Drive in the game of VEX Change Up?
the answer, as it is for most games, is that it depends.
a tank drive is simple, reliable, easier to program and drive, and still can be a very fast and good option. an x drive is harder to build, drive, and especially program. however, with the right programming ability, an x drive can outperform a tank.
so really the answer is that if you’re good enough at coding that you can make full use of the additional mobility of an x drive for autonomous and especially prog skills, than an x drive is definitely a good option. If not, then a tank drive is probably the better choice.
These are somewhat arbitrary statements so I’ll elaborate. In order to make use of an “x-drive” (or any holonomic chassis for that matter), you need to have an understanding of basic vector arithmetic, and translational/rotational kinematics (the latter is also true for any chassis, but even more so with an x-drive).
In other words, you need to truly understand why the x-drive works the way that it does, and how to utilize that information in a meaningful way. In the context of this conversation, that’d mean being able to, for example, translate the robot linearly while simultaneously facing 30º relative to the starting position on the field. This can be easily done with some basic vector math and of course PID (among other control loops that you choose to use). PID just happens to be one of the most robust at accomplishing this task.
TL;DR you must be very comfortable with algebra, physics and control loops. And btw, it doesn’t take much to learn these things given the right resources
Personally I have found a well built X-drive to be far easier to program than a tank. Tank drives drift and slip easier, and an X-drive saves a lot of time with the strafing ability, limiting the amount of turns and complicated maneuvers to achieve the position you want. The driver control is definitely more complicated but once you figure it out, it’s pretty easy to adjust.
The well built part is the trick, considering if any single wheel has more traction than the others or the amount of traction on the wheels isn’t even, then it will act funny, or if the design isn’t symmetrical it won’t work quite right.
Personally though, I highly recommend them if you plan to be a more speed based and scoring heavy design with less defense in mind.
This I will have to respectfully disagree with. While many of these things do help and allow you to get more out of it, they aren’t necessary. My first year using a holonomic drive I didn’t need to most of this except very rudimentary algebra relating to the way negatives and positives act in driver control code. The rest for auton I primarily used encoders. As friction drives they handle this well cause they can stop on a dime with very little drift.
They definitely require more work to get them to work well, but once you have done so, everything else is easier. And if you are truly hesitant you can use mecanums and if those don’t work out for you, you can easily swap to omnis. Just make sure your center of gravity is fairly centered or they might not strafe to well.
While your points are both valid and true, I don’t think you’ll gain more out of an x-drive than a tank drive without an “advanced” understanding of the dynamics of the system. At that point, the simplicity of a tank drive outweighs most of the gains of an x-drive (strictly speaking in terms of autonomous).
As long as you can get the driver control working, that by itself gives it an edge in this game at the very least. Considering this game relies on a large amount of speed and maneuverability, both being items that a X-drive excels at, more so than any tank drive. You can do any maneuver with an X-drive that you can with a tank as well, so say you don’t get the more advanced items working, he can still do the same things that a tank can in auton with the benefits of the maneuverability in driver.
I think as long as you can build a solid one, which is more challenging, but far from impossible even for a rookie team, then it’s worth it. And if he gets the basics down he can delve into the more advanced techniques as he learns.
+1. A holomonic drive can be taken advantage of with minimal effort and a basic knowledge of math. For me, it really comes down to if our drivers can take advantage of it, and if my building is good enough to make a sturdy enough X chassis to run reliably in auton.
Generally the answer to both of these questions is a strong No.
the question is really can you get more points during skills, auton, and driver control with an x drive than you can with a tank. If you have a good enough combination of building, programming, and/or driving skills, then it’s worth going for imo. I opted for tank because I’d never built a competitive x drive before, and because I didn’t see strafing being particularly useful this season (although with skills being so important and with the actual scoring part of the robots being relatively easy, if I were to build a new robot I would probably go with an x drive just to increase my skill set).
tank drives do not actually offer more linear speed. An x drive is 1.41 times faster going straight than a tank drive, with the same wheel size and wheel rpm. you end up with a faster, but less torquey drive when you chose an x drive, because speed is inversely proportional to torque.
now, if you geared up the tank drive to have the same level of torque as an x drive, you’d probably find that the tank drive is slightly faster due to friction losses in the x drive.
so if your point is that a tank drive has the potential for faster linear speed with the same amount of torque compared to an x drive, then you would be correct.
As someone who has had experience this year with both X drives and tank drives this (126 driver posted with an X drive), I can safely say that coding an X drive for driver control is not really much more complicated than a normal arcade drive, as it is the same code as a tank drive just with an extra joystick value added.
The one thing with an X drive that I haven’t seen people talk about much is the wait distribution issues. The robot that I currently have uses a 3.25" X drive and intakes that stick out of the robot around 5", causing the back wheels to not have as much traction and cause driving and strafing to not go straight.
Now, this could probably be mostly negated with counterweights, so there are ways around it, however even with equal friction on each wheel it does not drive straight without implementing slightly higher level coding techniques or carefully weighting the robot.
Due to this I can only recommend an X drive for those who can accept the potential of an inconsistent drive.
Tank drives might have more torque, but x drives win out in speed and maneuverability. Since I’m tired and don’t want to get into the mathematics debate again, I’ll tell you a simple test to demonstrate,
put a mark on an Omni wheel, next roll that wheel until the mark is at the same spot it was before. Now do the same thing, but hold the wheel at a 45 degree angle relative to the direction you’re moving it. You’ll see that the wheel at a 45 degree angle went further in one rotation than the wheel that was straight on.
Lets say the speed of a tank drive is 1.
the wheels point forward.
but on an x drive, since the wheels are at 45 degree angles, we can think of them like the hypotenuse on a 45-45-90 triangle. Since the forward direction (which is going to be one of the other sides of this triangle is 1, Pythagorean theorem says that the hypotenuse^2 is equal to 1^2 + 1^2, which happens to be the square root of 2, or 1.41.
I know there’s so many different ways to show this, but I find this to be the easiest way to think about it.
like dave said, you could find this value experimentally as well.
This comment is strange to me. The entire point of robotics is to overcome these issues and keep the inconsistencies away. If you build the X-drive well, with good and sturdy build quality it isn’t inconsistent. An X drive isn’t inherently inconsistent.
Having experienced this myself, I can confidently say that it is fairly easy to adjust for and honestly, you definitely don’t need perfect center of gravity for it to work right. Once your robot reaches a certain weight, the weight will start getting rid of that issue. Once the robot is heavy enough and the center of gravity is even somewhat centered, traction for wheels isn’t to bad, just make sure center of gravity is taken into account when designing.