If you’ve dealt with robots or other wheeled projects, you’ve probably heard of mecanum wheels. These seemingly magic wheels have the ability to move in any direction. If you’ve ever seen one, it is pretty obvious how it works. They look more or less like ordinary wheels, but they also have rollers that rotate off-axis by 45 degrees from the normal movement axis. This causes the wheel’s driving force to move at a 45 degree angle. However, there are a lot of details that aren’t apparent from a quick glance. Why are the rollers tapered? How do you control a vehicle using these wheels? [Lesics] has a good explanation of how the wheels work in a recent video that you can see below.
With four wheels, you can have a pair of wheels — one at the front right and one at the back left — that have a net force vector of +45 degrees. Then the other pair of wheels can be built differently to have a net force vector of -45 degrees. The video shows how moving some or all wheels in different directions can move the vehicle in many different directions.
It is easy to confuse mecanum wheels with omniwheels, but they are different. While both have a main wheel with rollers, the omniwheel has rollers at a 90 degree angle to the main axis so they can slide in that direction. These are usually used in a triangular configuration known as the Kiwi drive. Mecanum wheels are not without their disadvantages, including cost. However, you can make your own.
15 thoughts on “All About Mecanum”
what sort of strange hell happens when you’re on a slippery surface?
I imagine durability and ride comfort would be an issue.
It’s a rhetorical question, just like: what kind of strange hell happens when you drive a vehicle with studded snow tires in your warehouse? Neither of these things will ever happen so who cares.
This is actually a very valid question, and one of the noticable weak points of mecanum wheels. The rollers must maintain tight tollerances to provide the expected movements when working in conjunction with the other wheels to maintain a vector for the vehicle. Ideally there is no deformation like you would see in a pneumatic tire, which also means the surface contact area is greatly reduced compared to other tires. Even with PID control it is much more complicated to maintain a vector as compared to other options. In personal experience with larger units (up to 1 metric ton in weight) there has always been a measurable amount of drift involved that was unpredictable and needed to be compensated for over distance.
Seems like drift could be quite easily measured using one or more camera’s pointing at the ground, and providing speed and vector of translation, and speed and vector of rotation. Like the camera’s in an optical mouse (although I think they only provide translation).
Subtract the vectors and use the difference as compensation.
In a simple system, the compensation will only happen after the error has already been introduced. So it could lead to vibrations or whatever. But with high enough frequency, it will become unmeasurable.
If push comes to shove, you could also use the vectors as input into a predictive algorithm (could even be a learning AI system) which can predict the error based on historical data, and make the compensation even more smooth.
Somewhere in between those there’s also room to apply a Kalman Filter, I am guessing.
One thing that I’m saying is that PID control is only ever as good as the quality of its input. Using camera’s to measure translation and rotation, can greatly increase the quality of the input to the PID control.
But to be honest, I see your point as well. Even with good quality input to the PID controller, over long enough time, there will always be some drift. I.e. the error is cumulative, and it’s probably never possible to 100% get rid of it. So over long enough time, the error will still become significant.
I guess the only way to help out there, is to have calibration points. Those can be picked up by the camera as well, and can be used as a fixed reference. Any cumulative error can directly be reset, and the system can continue.
A bit like MPEG. One I frame, followed by a bunch of P and B frames. P and B frames contain changes relative to other frames, introducing many small errors. Before the errors become visible, there will be another I frame to reset all errors.
Again this is all only from my own experiences, and I would not doubt that others can implement better solutions. I always had troubles when a wheel would *slip*, and then cause a variation in the expected trajectory. There was software compensation for this, and it would correct, but the amount of slippage, as well as the ability to predeict when it would slip was beyond my ability to map for. This lead to a rather *jonky* response. When you expect to go latterally, but you are actually going *mostly latterally* with some forward movement, “compensation” means having to go backards some, while still going latterally.. and if you are then doing this and there is more (but differnt) slippage on another wheel it gets a bit crazy. The nice sideways movements which are the real advantage of this system were plagued with cascading problems in my particular use-case.
Mecanum sounds like a word for something a robot leaks when it has a head cold.
You mean mecanus leakage?
Meconium is the first poop babies make just before or after birth.
get a bunch of the mechanum carts and play competitive tetrus
cant think of another use case,bet they are just creepy wierd to watch and kids will love it,all robo squirmy mecha strange bug like
If you want to see some other real world examples of these wheels flying around many First Tech Challenge teams use these on their competition robots. The game often has us putting things in specific places and it is much easier to move the whole bot on mechanum wheels than install gantries and adjust that way.
The surface needs to be somewhat smooth which is why we use rubber mats on the play surface as concrete will tear them up. The bigger problem I see with these wheels after working with them is keeping the rollers clean. One dirty and dragging roller on one wheel can cause all sorts of bumps and dragging issues.
I would think that the rollers would wear quickly and that the floor surface would also suffer a lot of wear, especially on something like a fork lift. And as others have mentioned, a little dirt from the floor would gum up the works pretty badly and the ride could get very rough. Maybe the weight of a fork lift and its load would refuse to allow a little dirt to keep the rollers from spinning, in which case the bearing might get worn badly.
I had the pleasure of working with a (relatively small) robot with mecanum wheels in grad school. Was really cool. https://youtu.be/_AaXVlWPYfA Drove the gear motor wheels (with encoder) using an Arduino clone and pid, which got controlled over USB or Bluetooth. The whole position of the thing was tracked in the VR space so a control loop on the PC continually updated the desired velocity vector for the robot, I don’t recall offhand what control we used at that level but probably proportional. The robot was really neat, ever since I’ve kept my eyes peeled for a chance to get a kit like it for myself. The hobbyist grade mecanum wheels have really come down in price.
Well, here’s a real-world example of a mechanum-wheeled fork lift:
Please be kind and respectful to help make the comments section excellent. (Comment Policy)