Shop OBEX P1 Docs P2 Docs Learn Events
Omni Directional Wheels — Parallax Forums

Omni Directional Wheels

Hello guys

I am working on a small size robot. I found some interesting Omni Wheels
have any one already used?
Have a look:
GTFRobots Omni Wheels
300 x 300 - 14K
«1

Comments

  • Duane DegnDuane Degn Posts: 10,588
    edited 2017-04-29 21:54
    What sort of motor do you plan to use?

    You need motors with encoders if you plan to accurately program the path of the robot.

    Here's one of my attempts of getting a robot with omni wheels to rotate while driving in a straight line.



    I used Vex wheels on my robot. Vex makes several sizes of omni wheels.

    Here's a link to a video about the math behind controlling omni wheels.

    A lot of people have a hard time believing it's possible for a bot with omni wheels to travel faster than a bot with conventional wheels. A robot with four omni wheels will travel the fastest when none of the wheels are aligned with the direction of motion.

  • Heater.Heater. Posts: 21,230
    I have been eyeing up those GTFRobotics omni wheels for some time.

    They are not as clever as the funky geometries of other omniwheels but I like the idea solid aluminium "hubs" with lots of little wheels around.

    If nobody here has experience of them I'm might just have to bit the bullet and get some to check out.

  • yetiyeti Posts: 818
    edited 2017-05-02 07:30
    What about "dirt vs omiwheel"?
    Are they robust in a mean environment or just a cleanroom toy?
  • MikeDYurMikeDYur Posts: 2,176
    edited 2017-05-04 15:39
    yeti wrote: »
    What about "dirt vs omiwheel"?
    Are they robust in a mean environment or just a cleanroom toy?


    I would think anything but a smooth floor is going to give unpredictable results. And dirt is going to cause wear.

    But as Duanes example shows, it looks like it would be fun to program, you have to alter your way of thinking. There don't have to be a front to the robot. It would be a nice drive system for a bigger robot platform.

    The bigger the wheels, the bigger the obstacles they can travel over. Some beefy gear motors attached, you could roll something around the size of R2D2.

    EDIT: Wonder what the market is for a three wheeled bot, based on omni wheels? Something the size of a BOEbot, is a little more interesting than two wheels and a caster, IMHO.
  • W9GFOW9GFO Posts: 4,010
    yeti wrote: »
    What about "dirt vs omiwheel"?
    Are they robust in a mean environment or just a cleanroom toy?

    Don't know about omni wheels but mecanum wheels do fine with dirt/gravel/grass on my robot.
  • W9GFO wrote: »
    Don't know about omni wheels but mecanum wheels do fine with dirt/gravel/grass on my robot.

    That's good news...
    I'll put them on my wish list...
    \o/
  • Duane DegnDuane Degn Posts: 10,588
    edited 2017-05-06 16:03
    W9GFO wrote: »
    Don't know about omni wheels but mecanum wheels do fine with dirt/gravel/grass on my robot.

    I don't think the omni wheels would work as well as the Mecanum wheels outdoors. I can't really articulate why I think the Vex omni wheels wouldn't tolerate dirt as well as the Mecanum wheels but that's just the impression they give me. Though to be honest, I would have been timid to use the Mecanum wheels outdoors if I hadn't seen W9GFO's bot tearing it up outdoors.

    So far I've only used my omni wheeled bots indoors. Robots get dirty really fast outdoors.
    MikeDYur wrote: »
    Wonder what the market is for a three wheeled bot, based on omni wheels? Something the size of a BOEbot, is a little more interesting than two wheels and a caster, IMHO.

    Dagu sells a four wheeled omni bot but I think three wheeled omni bots look cooler. People unfamiliar with omni bots are often surprised to see three wheeled omni bot move in a straight line.

    A three wheeled omni bot also forces the builder/programmer to use trig to calculate the wheel speeds (though I have seen attempts to avoid using trig in three wheeled bots and four wheeled omni bots).

    The math involved for computing wheels speeds isn't very hard. Back when I was a member of Let's Make Robots, I had a page describing some of the math. Here's some of the text from the now deleted page (they deleted everything I ever posted to the site).
    Omni Bot Math

    One of the strange things about these omni wheels is the the way they need to slow down as the angle between the direction of travel and the direction the wheel is rolling increases. The greater the angle, the slower the wheel needs to turn without causing the robot to rotate. A wheel at 90 degrees to the direction of travel needs to stop in order for it not to rotate the robot.

    The amount of slowing can be expressed in the following equation:

    SpeedOfWheel = SpeedOfRobot * cos(angleOfWheelFromDirectionOfTravel)

    If you use zero degrees for the angle, you see the speed of the wheel and the speed of the robot are the same. At ninety degrees, the formula accurately predicts the need for zero speed of the wheel.

    A kind of bazaar effect of this is, it is possible to increase the speed of the robot by aligning the wheels away from the direction of travel.

    The relationship described in the equation quickly breaks down if used to predict robot speed. Rearranging the above equation, one gets:

    SpeedOfRobot = SpeedOfWheel / cos(angleOfWheelFromDirectionOfTravel)

    The above equation does hold reasonably true for relatively shallow angles but when the wheels are at large angles to the direction of travel, the force of friction soon plays a large role to limit the speed of the robot. If not for friction, a robot could be driven at very high speeds just by angling the wheels away from the direction of travel. At reasonable angles, the speed of the robot does increase in a very noticeable way. You can see how the wheels need to slow down as they point away from the direction of travel in both of the attached videos. I used the above equation to compute the wheel speeds.

    Since the value of "cos(angleOfWheelFromDirectionOfTravel)" is less than one for most values of "angleOfWheelFromDirectionOfTravel" the value of "SpeedOfRobot" is usually greater than the value of "SpeedOfWheel".

    Putting omni wheels on a robot is kind of like gearing up the motor. The omni wheels actually increase the speed of the robot in all directions except when aligned with the direction of travel.

    I can't tell you how many times I've had arguments about this last detail. People generally have to build an omni bot themselves before they'll believe me.

    Edit: The video mentioned in the math quote was linked to earlier but here it is again.



    I don't use that camera for videos anymore. The mic picks up camera touches better than voices.
  • W9GFOW9GFO Posts: 4,010
    Duane Degn wrote: »
    W9GFO wrote: »
    Don't know about omni wheels but mecanum wheels do fine with dirt/gravel/grass on my robot.

    I don't think the omni wheels would work as well as the Mecanum wheels outdoors. I can't really articulate why I think the Vex omni wheels wouldn't tolerate dirt as well as the Mecanum wheels but that's just the impression they give me.

    I think it is because the mecanum wheels' rollers don't roll when driving normally. They act more like the lugs on a tractor tire. It is only when you move in an odd direction that the rollers come into play - and then they still seem to do okay.
  • The omni wheels actually increase the speed of the robot in all directions except when aligned with the direction of travel.


    There is no specific law of physics involved here, or mechanical advantage that would explain a speed increase over regular wheels.

    Does it have to do with the power of three motors are used, where two motors could have made the trip?

    @W9GFO, Do you have a link to the outdoor video mentioned above? I think I had seen it before, but my brain needs refreshing.
  • MikeDYur wrote: »
    @W9GFO, Do you have a link to the outdoor video mentioned above? I think I had seen it before, but my brain needs refreshing.

    It took me a while to find it but here's where erco posted the video.

    Here's the video again.

  • Thanks Duane, That is cool.

    But from what I can gather, a strait line can be done with say one command. While a curve or arch will take constant adjustment in code.

    So a figure eight can be done by performing two squares or rectangles. Is there an easy method to do gradual turns (a smooth transition in direction), and realize what your orientation will be in programming.
  • MikeDYur wrote: »
    But from what I can gather, a strait line can be done with say one command. While a curve or arch will take constant adjustment in code.

    So a figure eight can be done by performing two squares or rectangles. Is there an easy method to do gradual turns (a smooth transition in direction), and realize what your orientation will be in programming.

    Are asking about normal omni wheels or Mecanum wheels?

    Smooth transitions are relatively easy with both types of wheels.

    I think the math for the omni wheels is a bit easier than the math for Mecanum wheels.

    My earlier post about omni wheel math covers the equations needed to compute motor speeds based on the speed of the robot.

    To perform a figure 8 with omni wheels, I just have the code increment through the angles of a circle for one loop and then decremented the angles for the second loop. The code was relatively simple. Here's the main section of code used in the figure 8 method.
      repeat 2
        repeat localCycles
          fTargetAngle := FMath.FAdd(fTargetAngle, fIncrementAngle)  
          FSetSpeeds(fTargetAngle, fSpeed, 0.0, gyroFlag)
          Refresh ' a pause method
        fIncrementAngle := FMath.FNeg(fIncrementAngle) ' reverse the direction the angle changes
    

    The method "FSetSpeeds" call the method to calculate the speed of each motor using the equations mentioned earlier. Here's the code to calculate the individual motor speeds in case anyone is interested.
    PUB FCalculateSpeedsFromVector(fMagnitude, fDirection, resultPtr)
    
      long[resultPtr][0] := FMath.fMul(fMagnitude, {
      } FMath.Cos(fDirection)) 
      long[resultPtr][1] := FMath.fMul(fMagnitude, {
      } FMath.Cos(FMath.fSub(fDirection, TAU_OVER_THREE)))
      long[resultPtr][2] := FMath.fMul(fMagnitude, {
      } FMath.Cos(FMath.fAdd(fDirection, TAU_OVER_THREE))) 
      targetAngle := FMath.FRound(FMath.degrees(fDirection))
    
    

    The "TAU_OVER_THREE" constant is used to adjust the motor orientation with respect to the bot's orientation. "TAU_OVER_THREE" is defined 120 degrees. If a four wheeled omni bot were used the adjustments would have been +/- 90 degrees and one motor adjusted by 180 degrees.

    Here's the omni bot executing the figure 8 code.



    The equations used with Mecanum wheels are different than the ones used with omni wheels but once there is code to convert speed, direction and rotation values to individual motor speeds the code to get a Mecanum wheeled robot to perform a figure 8 is pretty much the same as the code used on an omni bot.



    Of course both types of wheels allow the robot to rotate while moving. I haven't tried making my omni bot perform a figure 8 while rotating but here's my Mecanum wheeled bot performing a figure 8 while rotating. The resulting motion makes the robot look more like a normal 4 wheel robot.



    One of these days (or years) I'd like to get a couple of these holonomic drive robots to work together to perform more interesting motions.
  • W9GFOW9GFO Posts: 4,010
    edited 2017-05-07 23:01
    MikeDYur wrote: »
    There is no specific law of physics involved here, or mechanical advantage that would explain a speed increase over regular wheels.

    It is a lot like sailing a boat downwind. You can go faster on a broad reach than you can dead downwind.

    Imagine that the boat's sails will move downwind at the exact speed that the wind is blowing. Say 10 kts. If you point straight downwind the boat will be traveling at 10 kts. However if you are 45 degrees off the wind, the sail will still move 10kts downwind but for the boat to keep up with the sail on the 45 degree course, it must travel at 14 kts.

    Same thing happens with the omni wheels. The rotation of the omni wheel is forcing the 45 degree rollers to move "down wind" but since they roll at 45 degrees to the direction of the "wind" they cover more distance.

    Does that make sense?
  • Duane DegnDuane Degn Posts: 10,588
    edited 2017-05-07 23:21
    W9GFO wrote: »
    It is a lot like sailing a boat downwind. You can go faster on a broad reach than you can dead downwind.

    That's a great analogy/comparison.

  • W9GFOW9GFO Posts: 4,010
    MikeDYur wrote: »
    @W9GFO, Do you have a link to the outdoor video mentioned above? I think I had seen it before, but my brain needs refreshing.

    I'm not certain if the off road video was ever uploaded, maybe someone else uploaded something? Here is the only video that I can find that I uploaded, it shows that the Mecanum wheels are not limited to smooth, hard surfaces. Also, if you search for AirTrax forklift videos you find some where they drive in gravel and dirt.

  • W9GFO wrote: »
    I'm not certain if the off road video was ever uploaded, maybe someone else uploaded something?

    I suppose the video erco uploaded wasn't "off road" but I think it pretty clearly shows your bot wasn't bothered by a bit of gravel.

    I thought video I linked to in my 9:53AM post (my third reply to this thread) was the one Mike was referring to. The time stamp is Mountain Time, you'll need to convert the time stamp to your local zone.

    @Mike, were you thinking of a different video?

  • MikeDYurMikeDYur Posts: 2,176
    edited 2017-05-08 00:52
    W9GFO wrote: »
    Does that make sense?

    Very good explanation, makes a lot of sense, and I wish I could do that with the family vehicle sometimes, the wheels would be a trip too.

    And between you and Duane, you have convinced me into wanting to try this out.

    The chassis and coding look fairly strait forward. And I know there is new Mecanum wheel designs out there, I think I would rather go with them instead of a bunch of little wheels, that can break or get gummed up with hair and whatever.

    If the plastic is thick enough on these wheels that pavement doesn't bother them, I wouldn't mind getting a three wheeler together and setting it out in the elements.

    Cool stuff,
    Thanks guys.

    Mike


    EDIT: I have some more to look at while I was writing this.

    EDIT2: That video blew me away. . .
  • W9GFOW9GFO Posts: 4,010
    MikeDYur wrote: »
    ...And I know there is new Mecanum wheel designs out there, I think I would rather go with them instead of a bunch of little wheels... ...I wouldn't mind getting a three wheeler together and setting it out in the elements.

    I haven't seen a three wheeled Mecanum. Maybe you could use a pair of mirrored Mecanums along with a single omni (or castered) front wheel. Not sure what a three wheeled triangular Mecanum would do, would be interesting to experiment with.
  • W9GFO wrote: »
    Not sure what a three wheeled triangular Mecanum would do, would be interesting to experiment with.

    I think it would be a nightmare.

    Mike, I think you really need four Mecanum wheels for holonomic drive. Vex sells their Mecanum wheels in sets of four anyway.

    The regular omni wheels can be used in a variety of configurations. I strongly suggest using normal omni wheels if you want a three wheeled robot.

    IMO, encoders are really useful with Mecanum wheels and omni wheels. If you want to precisely control the direction and speed of the robot, you really need to be able to control the speed of each wheel.

  • W9GFOW9GFO Posts: 4,010
    The proper way (IMO) to mount Mecanum wheels is so that the rollers make an "x" pattern when viewed from above or a diamond pattern when viewed from below. Some will say that the reverse is also okay, but I don't agree.

    If I want to move in a diagonal with the Mecanums oriented "correctly", the leading wheel will not turn - only the roller in contact with the ground does. If I want to do the same motion with the Mecanums put on the other way (diamond when viewed from the top), how will that leading wheel turn? Seems to me there is no solution for that direction of travel. If it isn't possible to move diagonally then it is not a holonomic robot.

    I make this point after watching SparkFun's terrible video about Mecanums where they have the wheels mounted incorrectly, neither x nor diamond.
  • W9GFOW9GFO Posts: 4,010
    One last thing, my Mecanum robot does pretty well on uneven terrain because the front axle is on a pivot. That ensures that all four wheels maintain contact with the ground when going over uneven terrain. Without the pivot I think it would wander around a lot and be harder to control.
  • MikeDYurMikeDYur Posts: 2,176
    edited 2017-05-08 14:04
    I think you really need four Mecanum wheels for holonomic drive. Vex sells their Mecanum wheels in sets of four anyway.

    The proper way (IMO) to mount Mecanum wheels is so that the rollers make an "x" pattern when viewed from above or a diamond pattern when viewed from below.


    Well that makes one thing simple enough, I may be able to use these on an existing four wheel drive robot. Some of these Mechanum wheels are pricey, $500-$600 is a lot of money for hobby wheels. I can almost buy full size passenger vehicle wheels and tires for that price.

    EDIT: Back when I lived with three adult females in the house, I would have never thought of using wheels like these. My wife is an excellent housekeeper, but the long hair could still be found. Especially with wheels that have a rubber tread, I would think it would pick stuff up like a magnet.

    I'm going to put this link in a box because it's so huge. I need to find that tutor on renaming links, not sure if I can do it with a smartphone. Anyway this company has what looks like some good deals.
  • BTW: To the OPer, Welcome to the forums aika, sorry we made such a dust cloud, care to talk about your plans for your small robot.

    Will it be an indoor only robot?

    If you plan on using omni wheels, will it be a three or four wheel bot?
  • MikeDYur wrote: »
    Some of these Mechanum wheels are pricey, $500-$600 is a lot of money for hobby wheels.

    The Vex wheels Rich, erco and myself use cost $60 for a set of four. I still think the Vex Mecanum wheels are the best bang for the buck when it comes to Mecanum wheels.

    Vex keeps rearranging their website which destroys my links to their products but you should be able to find the Mecanum wheels from this page. The Mecanum wheels are down near the bottom of the list. The item # is 276-1447 and they sell for $59.99 for a set of four.

    Vex has a "Pro" line of products which includes three different sizes of Mecanum wheels. Here's a link to these wheels.

    The Pro 4" wheels cost twice as much as the 4" EDR version. I'm not sure why. I think the rollers can be replaced on the Pro wheels.

    217-3645.jpg

    I just noticed the Pro 4" wheels have six sets of rollers while the EDR wheels have seven sets of rollers.

    276-1447.jpg

    I think the roller shape of the EDR wheels is better suited for the wheel's size. It looks like all the Pro Mecanum wheels use the same rollers and the rollers don't look optimized for the 4" wheels.

    One of these days, I'll want to try some of Vex's "Pro" stuff but I doubt I'll purchase their 4" Mecanum wheels. I'll probably try their 6" wheels or their 8" wheels.

    IMO, Vex makes some really cool robot parts. I haven't used their motors or servos but I've used a variety of their wheels and I've also used their treads.

    VexTreads130928a.jpg

    All the Vex parts I've used seem to be good quality.

  • Thanks Duane, I haven't browsed that site till now. Very interesting products, and lots of info to read.

    I'm a little concerned about mounting options, the center mounting hole looks pretty deep on some of these wheels. The stud I have to mount to is only .500" long. Plus needing a few threads to grab to.

    Like that mean looking tank Duane!
  • Duane DegnDuane Degn Posts: 10,588
    edited 2017-05-09 16:01
    MikeDYur wrote: »
    I'm a little concerned about mounting options, the center mounting hole looks pretty deep on some of these wheels. The stud I have to mount to is only .500" long. Plus needing a few threads to grab to.

    I agree, you'll likely have a hard time attaching the Vex wheels to short shafts.

    I ended up drilling a hole for a set screw. I used a nut inside the spoke area since the set screw would likely strip any threads cut into the plastic.

    attachment.php?attachmentid=89940&d=1330025400

    There are more pictures of the mounting process in this thread. There's actually a lot of information about other Mecanum wheeled projects in that thread.

    I think the easiest way to drive the Vex Mecanum wheels is to use Vex motors and axles.

    amano001 posted a photo of a robot using Vex hardware here.

    Apparently the Vex motors are powerful enough for the Mecanum wheels even if they seem a bit small to me.



  • ercoerco Posts: 20,257
    Two easy figure 8 cheats with mecanum wheels. No PWM required! Yes Virginia, the stationary wheels are rolling, not skidding.



  • Cool stuff erco!

    I can't believe how exacting those wheels are.
  • W9GFOW9GFO Posts: 4,010
    Nice design, does it have a pivoting axle?

    FYI; http://www.pronouncekiwi.com/Mecanum%20wheel
  • W9GFOW9GFO Posts: 4,010
    I cannot find anything about the original Swedish Mecanum company, but here is a Canadian company named Mecanum and a video where you can hear the way they pronounce their name.

Sign In or Register to comment.