Take Your Robot in Any Direction with This Novel Omni-Wheel Design

James Bruton's robot uses three spherical wheels to navigate tough environments with ease.

Traditional robot locomotion

When imagining a typical robot, you typically picture a machine that moves around using a few wheels that can steer in some way. Normally this involves either slowing down one side while speeding up the other, like a tank, or pivoting the front or back wheels, akin to a car. However, these methods make it such that the robot can't easily maneuver through tight spaces and takes a while to turn. This can be especially problematic for robots that are used within homes and offices since obstacles such as furniture and people are everywhere.

Researchers at Osaka University in Japan came up with a novel way to solve this by designing spherical wheels that are comprised of two hemispheres with a pair of smaller wheels at the top for when the wheel is perpendicular to the direction of the drive shaft. Youtuber and maker James Bruton wanted to take this design, scale it up, and then use it in a practical way.

Designing and fabricating the wheels

Bruton's design began with a small 3D-printed model that worked quite well, so he moved onto a larger Fusion 360 assembly that takes each part a bit further. Now each hemisphere has a large ball bearing at its pole, along with a solid cap to keep everything in place.

Once printed, the set of three wheels were able to smoothly glide over the table. To drive them, a set of geared pulleys spin a timing belt that rotates the drive shaft below.

Electronic components

The microcontroller used in this project is an Arduino Mega 2560, and it was chosen because of its large number of GPIO pins. A set of three 12v geared motors turn the pulleys, and they are driven by a BTS7960 module that provides ample amounts of current to each. An nRF24L01 radio module allows for the robot to communicate with Bruton's homemade universal remote control.

Finally, a 3-cell LiPo battery powers all of the motors, while a mobile power bank provides power for the control circuitry.

How to steer

With wheels like these, it's easy to wonder how something like this is controlled. It mostly boils down to some simple trigonometry, as moving in a straight line requires one wheel to rotate at full speed. Based on that speed, the other wheels (each angled at 60 degrees relative to the straight one) need to move at half the speed since cos(60) = 0.5.

With the steering figured out, Bruton could then move onto using his new robot.

Future improvements and possible uses

Bruton started by trying out various movements on both carpeted and tiled surfaces, and much to his surprise, the wheels were usable on both. He even ran over a couple of obstacles to demonstrate just how resilient the design is. However, there are a few things he would like to change/fix, including adding more traction and reducing the gap between the two hemispheres.

This little robot has a lot of potential, as Bruton suggested using it for perming household tasks or delivering various payloads. You can view the design files and code for this device on his Github repository.

Arduino “having11” Guy
19 year-old IoT and embedded systems enthusiast. Also produce content for Hackster.io and love working on projects and sharing knowledge.
Related articles
Sponsored articles
Related articles