Rebel Droids.net

Full Version: Omni Wheels
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

The rollers have been given a larger space to rotate in which has improved wheel performance.

omni wheels are common for robot drive systems. They can be purchased from robot supply companies and from companies that provide parts for industrial automation. In the past I've purchased them from a company that makes conveyors for factories. However, buying them has it's disadvantages. Firstly, when you purchase them you have adjust your design to fit whatever it is you can get.  The manufacturer doesn't make the wheel in every increment from 4 to 6 inches, only 4 and 6.  What if you need a 5 inch wheel and don't really have space for anything larger?  Secondly, they're often expensive. Not break the bank expensive, but it's not difficult in some circumstances to spend over a hundred dollars for a set of four.  So, as is often the case, I decided to develop a process for building my own.

As always, I started with a computer model.  Solidworks is my weapon of choice but there are good inexpensive or even free options out there.  This is what my wheel looked like when I was done designing.

[Image: normal_OmniCAD.JPG]

I've learned from long experience that you should always include the bolts and nuts in your computer model. There have been a number of times when I've left them out and discovered there was no room for the bolt head or that it was literally impossible to get access to a nut. no matter what order I assembled the parts in, when the pieces had already been fabricated. Better to double check all of that in the computer. It also lets you know exactly what length and size bolts and how many you need.

I originally constructed a set of these wheels using one of my CnCs to cut the center hub. However, when it occurred to me that some of you on this forum might find this useful I decided to do the entire thing on a 3D printer.  My thought process was that A. more of you have 3D printers than CnCs, and B. simplifying the process is always a good thing.

I printed the center hubs (4 halves), the center spacer and the rollers. I just did them on my Flash Forge Creator Pro with whatever filament I had lying around. (happened to be red). I put the .stls in the files section here.

[Image: normal_OmniWheel_01~0.jpg]

Clean up is very important on these parts after they come off the printer.  The holes though the rollers have to be large enough to accept the pivot shafts and the center hubs need to not interfere with the free movement of the rollers. The ends of the shafts are fixed in the center hubs, so the movement of the rollers is the roller freely spinning on the shaft, not the shaft turning.

The center hubs are printed flat with the hex holes facing up, the rollers on end.

Once the parts had been carefully cleaned up I cut the pivot shafts for the rollers.  Because I'm cheap and I like to be able to buy as many of my parts as possible from local vendors (I'm impatient, too. I don't like to have to order things) I used nails for my roller shafts.  I bought some 17 gauge, 1 1/4 in long finish brads and cut them down to 3/4 of an inch. I cut the point and the top off, cutting off just the pointy part of one end, then cutting the rest to finish length by cutting off the head and the striations they put on the nails to keep them from pulling out of whatever you nail them into.


[Image: normal_OmniWheel_02~0.jpg]

 I wanted to remove the striations so they wouldn't interfere with the spinning of the rollers.  I tried to keep them as close to the same length as possible, but as long as they were "long enough" I just went with it. I had cut one extra, so I didn't use the shortest.


[Image: OmniWheel_03~0.jpg]

 If you use nippers like I did to cut the shafts, make sure you're wearing safety glasses and it's not a bad idea to cut them inside a bin or bucket to contain the pieces that fly off.  The last thing you want when making omni wheels is a sharp piece of metal stuck in your eye.  (it doesn't improve the performance of the wheel at all)

I then moved on to the rollers.  I took some heat shrink tubing, the stuff I use for covering electrical wire, that fit around the rollers and cut a piece for each roller the proper length to just cover the surface that would make contact with the ground. You have to make sure that heat shrink doesn't extend past the ends of the roller or it will interfere with it's free movement. This isn't a required step, but I feel that the rubbery surface on the rollers gives the wheel better traction.


[Image: normal_OmniWheel_04~0.jpg]


I grabbed a piece of scrap wood, nailed some of the brads into it, then cut off the heads of nails  (off wit' 'er heads!) Then I put a roller on each with a piece of tubing on all of them. It gave me a way to hold on to them when I hit 'em with the heat gun and it allowed me to do more than one at a time.


[Image: normal_OmniWheel_05~0.jpg]


When you shrink the tubing make sure you shrink it down as tight as it will go. With mine, when I was done you could easily see the printed surface texture of the rollers through the heat shrink.  There's not a lot of clearance for the rollers to spin, so you don't want to add any more thickness to the rollers than you have to.

When that was completed I took the center spacer and placed one of the center hubs, inside up, on top of it. I took a roller shaft, put it through a roller, and placed the roller on the center hub half so that the roller shaft was resting on the notches in the hub. I did that for all seven rollers. The center spacer keeps it up off the table so rollers stay where you want them.


[Image: normal_OmniWheel_06~0.jpg]

  I then carefully placed another center hub half on top, right side up, trapping the roller shafts between the two halves.  There is one hole in the inner part of the hub that lines up in the center of one of the pivot arms. Make note of where it is on both halves and use it to align the two halves of the center hub.


[Image: normal_OmniWheel_07_~0.jpg]


I bolted the center hub together with seven #4-40 1/4 in bolts with button heads. The outside of the hub halves are counter sunk with a hex hole to fit a nut so you won't have to hold it with a wrench. Both sides have hex holes, but the button head end fits nicely in the recess on the other side.  Tighten them down so they hold the roller shaft in tightly, but don't break the plastic. (though it's tougher than it seems)


[Image: normal_OmniWheel_08_~0.jpg]


I repeated the same process for the other half of the omni wheel.

When the second half had been completed I had two assembled hubs and a center spacer, like this.


[Image: normal_OmniWheel_09_~0.jpg]

When you assemble the two halves and the center spacer you're going to want the two wheel halves to be offset so that where one has a pivot arm the other has a roller. That way as the wheel spins on it's axis it always has a roller in contact with the ground.  Though aligning the two halves isn't rocket surgery, it can be frustrating because there are so many wrong positions and only one right one.  I took two #4-40 by 3/4 in bolts and stuck them through one wheel half and the center spacer.  The center spacer can go on there any ole way.  





[Image: normal_OmniWheel_10_~0.jpg]

I made note of those two holes that line up, the ones we used to align the two halves of the center hub earlier, and made sure that I put my bolts through one of those holes and the one exactly opposite. I placed the nut sides of the wheel halves inward, thinking that the button head sides were less likely to hut, rub, or catch on anything when the wheel was in use. I set the wheel half so the two aligned holes were furthest away from me. Then, with the other half I arranged it so those aligned holes were the ones closest to me.  With them arranged like this you can just pick up the wheel half on the right of the image and set it on to the other and they should line up correctly.

After alignment had been established I took out one of the alignment bolts (leaving one to keep everything in place) and alternated the side of the wheel I inserted the bolt from.  This gave me an alternating button head, nut, button head, nut pattern on each side. Then I  tightened them down.





[Image: normal_OmniWheel_11_~0.jpg]

And there you have it!  Completed custom 3D printed omni wheel.  This wheel is an idler, meaning it just spins freely on it's axle while other systems of the robot do the driving. Alterations can be quickly and easily made to the center hub design to make a driving version. Just let me know what you need and I'll see if a new version can be made.





[Image: normal_OmniWheel_12_~0.jpg]
Cool, thanks for sharing!  I'd printed a variant of the wheels in https://www.thingiverse.com/thing:167923 before and was amazed how well it worked, but it's great to see other designs.

Like the way you made axles and the heat shrink idea.  I'd thought of using that rubber-dip stuff (you know, for tool handles), but the heat shrink seems like it'd be pretty easy & consistent!
Since Kresty posted a link to those files, I did another wheel in a similar vein.  I have uploaded the files to make this omni wheel. They can be found here.

Omni wheel no. 2 (4 in omni wheel)


This is along the lines of the design that Kresty linked to, but there were things about that design that I thought could be improved so this is my version. I made the hub solid instead of a frame for strength, I made the two hubs identical instead of having two unique pieces and I designed it to use nuts to hold the axle bolts in place instead of simply threading into the plastic. 

Here's what the computer version looks like:


[Image: normal_OmniCAD_2.JPG]

The first step was to print the pieces.  When printing things that will be bolted together I increase the number of shell layers to add strength and to provide enough plastic in case I need to drill the holes out at all.  I printed these much like the first wheel, which is to say using whatever filament I happened to have on hand. I like to have the rollers a contrasting color, so I went with yellow and black for the hubs.





[Image: normal_omni_02_03.jpg]

Two hubs (they're identical) and six rollers. The rollers should be printed on end (obviously Smile ) and with supports turned on.  The hubs don't require supports.  The first step is to press fit the bearings into the rollers, two bearings for each, one on each end.  I designed them to use 623zz bearings which are both common place and inexpensive.





[Image: normal_omni_02_06.jpg]

I also happen to have a lot of them lying around so it was a logical choice for me Wink .  Oops, but wait. Not the first step. The first step is to remove the supports from the hole in the end of the roller. To do this I used my angled needle-nose pliers and simply pinched them together and twisted and they came right out.





[Image: normal_omni_02_07.jpg]


No further clean-up was necessary.

To press fit the bearings into the holes just put the bearing on your work surface, place the roller on top, and press as evenly as possible downward. The bearing should just pop in.  The bearings are countersunk to leave room for an M3 nut, so once the bearing is flush with the end, place a nut on the table, center the bearing on the nut and press again, driving the bearing the rest of the way home

[Image: normal_omni_02_08.jpg]

Once pressed in the bearings should be about half a bearing width from being flush with the end.





[Image: normal_omni_02_04.jpg]


Now here comes the fiddly part. Getting the bolts through the forks and into the rollers is a little difficult. Only a little, but still.
I started by putting one 10mm M3 bolt through one of the forks and putting a nut on the end. I didn't tighten the nut down, I just put it on enough threads to keep the bolt from falling out of the fork.



[Image: normal_omni_02_09.jpg]

Next I rocked a roller on top of the nut and slipped the other side into the fork. It's a tight fit, but it'll go. If the bolt is sticking too far through the nut it won't work.  Once the roller was roughly in place I slipped a nut between the fork and the bearing and stuck a bolt through the other side of the fork.

[Image: normal_omni_02_10.jpg]

Then I just wiggled the bold around until it lined up with the nut, held the nut with my fingers and threaded the bolt into it with the other hand. As far as tightening them down, firstly, they don't have to be too tight. Just enough to stay put. I was able to press the roller bearing against the nut with enough friction to tighten down the bolts. After doing it a few times I actually got fairly good at it and it only took a moment to put each roller on. If that doesn't work for you, let us know what you come up with. Alternate methods are welcome, for sure.

Do that for all three rollers on the wheel half and you get something that looks like this



[Image: normal_omni_02_11.jpg]

The two halves are going to have to go together in such a way that the rollers are opposite of each other. They only go together one way and there are only three possible options, so I'm not going to spend a lot of time suggesting intricate methods for their alignment. I'm sure you can figure it out. Smile

That last part is to simply bolt the two halves together with four 20mm M3s and four nuts.  I always alternate the direction I insert the bolt, unless there's a good reason not to like access to the nuts or that sort of thing. You can do that or do them them all from the same side. It'll work either way.



[Image: normal_omni_02_13.jpg]

I really like these omni wheels. They're very rolly and offer very little resistance in directions of movement other than the drive vector.  I'll have to upload some video of them in use sometime soon.


Cool, I'll have to give these a try (as soon as I figure out why my printer is skewing everything toward -Y as the height increases). Any chance of getting STEP files? They are much easier to adjust than STLs.
Interesting, I stuck one bolt through the whole roller on mine. I don't think I had the right diameter though, IIRC the bearings were loose on my "axle".