Skip to content

Omniwheels

From week 2, I have made a mecanum wheel that is fully 3D printed with PLA. The wheel works pretty well (all things considered).

Mecanum wheels

Mecanum Wheels

The issue with this wheel is the amount of time that is required to make one, as well as how intricate each small part is. I have tried to simplify the wheel as much as I can, but it still takes around a day to print and assemble a wheel.

Then, I started to consider omniwheels. These are wheels with smaller wheels on the side that rotates normal to the axis of rotation of the larger wheel.

I first started designing this and hoped that it can be printed in one go. I was not successful, but I wanted to keep printing in place as a proof of concept of the wheel

First design

Omniwheel v1

Then, I noticed a big portion of the wheel is actually not utilized. This led me to wonder how much “small wheels” do I actually need.

Second design (minified)

Omniwheel v2

Compare the two, we actually noticed the smaller the wheel, the less space I have to work with, meaning the samller wheel is not very efficient. Furthermore, the wheel might look a bit boxy, and doesn’t really work wheel as a “rolling device”.

v1 vs v2

Omniwheel v1 vs v2

Therefore, I decided to do 2 things to my design

  1. Make the wheel hub as small as possible, and supports as thin as possible.
  2. Make the small wheels as large and “buldgy” as possible, to make

Hence I came up with this design

Third Desgin

Omniwheel v3

Coincidentally, many omniwheels on the market do look something like this.

I fitted these on a small robot platform (with 3 TT-motors and a basic robot chassis).

This is the video of the robot driving. The motion is timed PWMs, so it looks a little bit jerky.

Printing small wheels with TPU

After consulting with Steven, it would be better if I printed the axis separate from the actual wheel. Printing this axis proved to be challenging, as it is very thin and small. Steven also suggested I experiment with Tree support, which was recently graduated from Experimental features in Cura.

I asked around some settings on TPU. I wanted to try printing with TPU, but the Fablab did not have the settings tuned yet. As such, I set out a journey to print TPU on my Monoprice Mini Select V2.

I found a reddit post and video that uses the exact same printer I was using, as well as their settings.

https://www.reddit.com/r/MPSelectMiniOwners/comments/a4xlgf/tpu_on_mp_select_mini/

I also watched several youtube videos about TPU, and came across MakerMuse’s video about it

The key takeaway I had was that TPUs have different flexibilities, summarized in the table below

Brand Flexibility Elastic Stringy Easy to print? Others
Polymaker High Low No Yes, can print on Prusa i3 Mk2
Generic TPU(?) High High Yes Yes, but needs to be slow (especially at infill speeds
Fiberlogy FibreFlex Very High Medium No Yes, can print on Prusa i3 Mk2
Essentium TPU High Medium High Specialized extruder hardware required
MakeShaper TPU 85A High Very High Low Yes, can print on Prusa i3 Mk2 Very squish, but with parts with form it is solid
Diabase Flexion Very High Very High No No Ridiculously flexible (borderline skin soft), extremely stretchy!

Based on the specs, I think what I need was something like Polymaker’s TPU, as MakerMuse also used it for his off-road robots. That being said, time and availability is not on my side, therefore I opted to try something that is available locally.

Eventually, I stumbled upon a seller on Carousell that sells ZIRO filament, it’s supposed to be a very budget option (perfect for a student like me :)) I also found a video that had a good review on it.

Update: The seller did not have TPU. I looked up Lazada for TPU.

Some other suggestions I got: Print the wheel in two parts, then superglue the two parts together. TPUs work well with superglue

Experimenting with infill types

As I was asking around the Fablab and scouring the internet for advice on TPU, one thing in common is to increase flowrate and decrease print speed.

For the experiments below, I had to ensure it could print, before being able to characterize the print itself, therefore I went with a ballpark figure first as demonstrated in this video:

Name Value
Flow rate 132%
Speed 18mm/s
Nozzle temperature 220 deg celcius
print bed temperature 50 deg celcius
Retraction speed 40mm/s
Combing mode ON

Showcase of Grid vs Concentric vs Gyroid:

wheel_grid

Infill: Grid

stepper_board

Infill: Concentric

stepper_board

Infill: Gyroid
Type Density Description
Grid 22% Stiffness is uneven; some parts are harder than some others
Concentric 22% Stiffness is even; however, it is too squishy (might not be able to hold the entire robot’s weight)
Gyroid 22% Stiffness is even and moderate

Based on the descriptions, I decided to print with Infill of Gyroid at 22% Infill density as it feels the most sturdy and even on all parts of the surface among the threee I have tested.

Printing

For TPU, it is actually better to print a part at a time. As such we need to set that in Cura as well.

And the Slicing would look different

slicing image

slicing 6 wheels at a time

Linking the stepper motor with the omniwheel

I wanted to reduce reprinting as much as possible. I want to keep this wheel frame. After again asking Steven on his take on how to link those two parts, he suggested me to print a coupler to link the D shaft with the shaft on my wheel.

Coupler and shaft

I did a test fit, seems to be working fine.

test fit

Testing characteristics

Problem 1: Skid

After attaching the wheels on the robot, notice that PLA is very slippery, and the robot skids most of the time. This is not ideal. In contrast, having the TPU wheels makes the robot much grippier, but is difficult to rotate around the axis. We need to sand it a bit to achieve better clearance.

test fit

Does not fit well

The solution is to sand the axis with some sandpaper.

test fit

After sanding, seems a lot better

Solution: After repeating this for all 6 wheels, the robot will be able to move a lot better.

Problem 2: Not stable

The robot doesn’t seem to be able to support a lot of weight. As I press it down with my hand, notice that it has a lot of give, which I think will be the first part to fail when load is added on the robot.

After consulting with Steven, he states that the reason is because the axle connecting between the wheel and the 3D printed coupler is PLA. Given the thickness that is printed, it is not strong enough.

Solution: replace the axle with metal rods (can be bought for cheap at Daiso/hardware shops)

As I was back in Malaysia, I had easier access to hardware shops. There, I found 3.2mm copper rods for around RM6 per meter, which is roughly USD 1.40. I also got some bolt cutters and cut the rods to roughly the same length as the original axle.

The question now is: How do I replace the axle with the copper rod?

The solution was simpler than it seems. After further inspection in my cad, I noticed that I could technically fit a 3.2mm rod in the axle itself! Therefore, the axle can be reinforced with the rod that way.

test fit

Seems to be able to fit?

When slicing, I had to make sure that the very thin layer at the top has its path generated.

test fit

Slicing the new axle

With that, I test fitted, and indeed most of the flex has gone away after this modification!

test fit

Seems to be able to fit?

Final result

After painstakingly printing 18 wheels (with a lot of fails as well… T.T), I replaced all the PLA wheels with TPU ones, and applied fixes to the 3 identified problems. The problems have been reduced, but I think to completely eliminate them, I would need a better mechanical design than what I currently have. Regardless, I think this is sufficient for this particular spiral, as I only need the motors to move, and the robot to be able to move in all directions, albeit some errors here and there.

Files


Last update: November 23, 2022