X-Drives are cool concepts for a chassis. It can basically go in any direction. This might make autonomous “easier” because some steps might be taken out entirely or for the least, simplified. Instead of turning and then moving straight, the x drive would allow for strafing. That decreases the chance the autonomous might go wild, since their are less steps. Only thing is that you must tune them correctly to at least go straight, and not drift to the side. That really just makes the moving part easy, but also adds a whole new set of complications like PID, etc. So my questions is…
Is it possible to sync the motors and wheels of an X Drive through the use of gears or anything else?
No, since an x drive has three degrees of motion, it has to have all of the wheels be independently controlled. If you get rid of one of the degrees of motion, you could connect certain wheels together, but that makes it unusable or no better than tank drive depending on what you do.
The degrees of motion I am talking about:
No problem. We have personally abandoned X-drives because they were almost impossible to get to drive strait in programming. They work well if your center of mass is in the exact center of the robot, but otherwise they are nightmares. X-drives also take up a lot more space and make the design of the base a lot more complicated.
One thing that makes the X-Drive to have the same speed on all motors (mostly) is by checking if the serial numbers are the same, the internal gearing is the same, and the time ran(like how long they have been used) are the same. Other than that, I would try connecting encoders to all 4 wheels, calculating the rpm of all 4, then subtracting/adding motor values on the specific motors in the program until they all are as close as they can be with each other. This should sync them up, then you can simply remove the encoders when you are done to stay as light as possible.
You don’t need to mechanically secure the wheels. What we did is stabilize the Yaw with a gyroscope and it worked perfectly. All you have to do is add the gyroscope value to rotational axis and reset the gyroscope when you stop rotating. I am using an x drive this year and if you want to see the stabilization, I’ll be glad to show you.