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.
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.
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.
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.
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.