My team, 3102, has decided to try out Mecanum wheels in a Holonomic setup and is requesting help from anybody who knows how to set the physical structure up properly.
In this setup, we wish to use two joysticks, one for moving around the field, the other for turning the robot as a lot of teams who use mecanum wheels and Gamepad controllers use.
The only issue is that in order to implement this or any ‘good’ mecanum wheel function I’ve seen, is that servo’s are required to monitor the angle of the wheels and 4 gear boxes are needed for 4 tires.
But the only issue is, how does one go about this? Where is the servo mounted? What servo to use? And is there anything more that should be used along with it?
I’ve tried to find better documentation of this, but generally it’s just referenced that servo’s and this or that is needed, not how and where to physically put it.
The only holonomic drive I know of uses 3 or 4 fixed position omni wheels (rollers at 90 degrees to wheel direction) equally spaced around the robot, (120 or 90 degrees apart). The wheels themselves don’t articulate, and each is identical.
Mechanum drive uses 4 wheels in a standard 4wd setup, where each wheel has rollers at 45 degrees to the wheel direction. Opposite corner wheels are matched for roller polarity, so two each left handed and right handed wheels are needed. The wheels dont articulate.
Swerve and crab drives physically rotate the wheels to point in different directions, but the wheels are normal and don’t have rollers.
If weight is reasonably balanced and drivetrain friction is well managed, it’s perfectly reasonable to control a mecanum drivebase without any sort of sensor feedback on the robot. If I were building one right now, I’d add a gyro before any other sensors. That would let me use closed-loop control on direction at a high level, and not worry about commanding and maintaining specific motor speeds.
you can mount the mecanum wheels directly to the gear boxes and have the wheels in a
// \ \ //
\ // or // \
shape depending on how your programers want to program it
Could you give an example wherein mounting the mecanum wheels incorrectly (i.e. a diamond when viewed from above) is necessary (or even desirable) because of “how your programers want to program it” ?
Well, if you really enjoy confusing other teams it might be advantageous to do diamondcanum.
Otherwise you’re better off going with the standard X. Especially if it stops working correctly and you need support from other teams to get it working. I know if someone asked me to help with their mecanum drive at a regional and I saw a diamond pattern to their wheels, the first thing out of my mouth would be “Well, you might want to change that to an X”.
It’s a standard, WPI Lib Holonomic drive code relies on it, and most teams not using WPI still choose X anyway.
Feel free to choose a diamond pattern, but don’t ask me to support it if it doesn’t work.
It is more than a convention, the wheel shape determines if the robot will be able to pivot.
Imagine drawing a circle on the floor, with diameter matching the diagonal of the robot drivetrain. Place the robot on the circle with all four wheels touching the circle. If you wish to pivot the robot so that the wheels follow the path of the circle, something had better provide a resistive force. One orientation will align the rollers tangential to the circle, providing resistance with the floor and allowing the pivot. The other orientation will align the rollers perpendicular to the circle. Practically no resistive force means practically no pivot.
I believe all other vectors are equivalent between the two.