My team is using X-drive this year. We do serious programming (boomerang, pure pursuit, etc..), so we need precise x, y coordinates. What’s the best way to track coordinates on x-drive? I assume that a typical 2 odom + inertial setup would work, but maybe not… ? IDK so, let me know if there are specific odom changes I should make.
I believe it depends on what motion algorithm you are using. If it is like point and shoot, I think usong straight lines might suffice. If it moves like tank drive (maybe using ramsete or pure pursuit), arcs will be better. Standard odometry uses arcs for forward/backward movement and then adds a straight line translation for sideways strafe. I think this might be a problem as the sideways strafe is not equally calculated compared to forward/backward movement. This will especially affect you if the robot moves sideways a lot. I mean, if you are up for it, you can try using something like clothoid spirals, but that will be computationally expensive. Most of the time standard odometry will suffice as long as all wheels are on the ground.
I do agree with you. 2 Odom pods should lead to the easiest and most consistent results.
I personally think 2 tracking wheels and an IMU is perfect for X drive especially because the “horizontal” tracking wheel will get a lot more use, and I feel like it will be easier to mount the IMU closer to the center so you don’t have to bother figuring out the offset.
We do inertial + motor encoder
We actually had this problem earlier in the season, but we found several sources that deal with this. They are in our notebook (and I don’t have it) so look on GitHub for it and, if it comes to it, ask Google Gemini “give me x drive coding resources” we found some in for on prudue sigbot page too.
