Let's Make Robots!

Re-inventing the robot wheel

Anyone wanting to play with articulated robotic systems like arms, legs, pan tilt cameras etc will invariably end up using the ubiquitous hobby servo, a handy little gear motor that comes with its own angle sensor and closed loop position control. You just plug them in, send a position pulse and away you go. You can even hack them to produce continuous rotation for wheeled platforms, albeit without any closed loop control.

When it comes to bots on wheels there is no direct equivalent to the hobby servo, no integrated solutions, just lots of component parts (gear motors, motor drivers, sensor boards, wheels, etc) that need to be cobbled together before you can set your wheels in motion. The results can be less than ideal, with motors sticking out of the wheel at right angles and taking up room in your chassis along with the tangle of wires connecting motors to driver boards and encoders.

Given the lack of a ‘servo wheel’ I thought it was time for a small revolution in robot wheel technology (pun intended!) so a few years ago I set up a company called Creative Robotics and started working on a solution – the HUB-ee wheel - a wheel hub with a gear motor and open source electronics with a motor driver and quadrature encoder, all squashed into a 60mm diameter by 20mm package. We also made sure that when the tyre is removed you can use it with tank tracks (from Solarbotics)

 

 Wheels with and without tyre

Tracks


The idea of a powered wheel hub isn’t entirely new, wheel hub motors for vehicles date back to the 1900’s, Ferdinand Porsche used electric hub motors for a car way back in 1897 and today they can be found in golf carts, bicycles, electric luggage and even sports cars. Ours is the first (that we know of) that is designed specifically for small robots.

The first version of our HUB-ee wheels still lacks the handy closed loop control of the hobby servo. The open source PCB has a Toshiba TB6593FNG motor driver which needs a PWM signal and a couple of binary direction signals in order to set the speed, direction and brake mode, and it has an incremental encoder that reads a 32 stripe reflective sensor (the same as the excellent Wheel Watcher kit) and gives you a two channel quadrature signal. Plug all this into an Arduino and you can craft a proper PID speed control loop for your wheel (or use the library we are working on!).

A proper closed loop controller PCB is in development so in the next few months we will introduce a version that provides speed and direction control from a single servo pulse thanks to an embedded microcontroller, all of which will be open source, including the firmware.

What is it good for?

Just like the hobby servo, there will never be a ‘one size fits all’ solution (which is why we are working on quite a few different models for the future), and so our first version will not work for everyone, but there are some robot designs that just become so much easier when all the essential drive components are wrapped up inside the wheel. For starters, you can literally bolt the wheel onto anything you want (a cardboard box for example) and get an instant robot.

If you are building a simple differential steering bot you can end up with a much neater design – no motors sticking into the centre of the robot, right where the batteries should be. This is handy for all terrain bots as well because there is no motor to snag on obstacles. Below are a few photos and videos of some of the platforms we have built, you can also see some of them in action via our Youtube Chanel.

HUB-ee wheels are just starting to come onto the market - Expect to see them appear with distributors over the next month or two!

Unobot

Unobot - so called because of the Arduino Uno that provides the brains. The lack of sticky-out-motor gives plenty of space for batteries ...

High clearance for rough terrain

... and you can get much better ground clearance. Great for all terrain vehicles and tanks.

Syncronous Wheels

You can daisy chain wheels together so they all run in sync from the same control signals – Tanks and other multi wheel behemoths are easy.

Servo Steering

And you can do some fancy stuff with servo steering – bolt a servo to the wheels …

minirover1

... and make your own Mars rover? ...

Rocker suspension

... complete with rocker suspension!

Self levelling castor

With a few cleverly designed laser cut parts (using Delrin) you can make this neat self leveling steerable wheel.

Lego NXT

A version with LEGO® NXT compatibility is in the works ...

Flail'O'Matic

... or you can hook it up to an Arduino.

Super Trike

This trike bot just wouldn’t work with conventional motors and wheels. The rear wheel doesn’t have any sticky-out bits and no external drive components, just a cable. It even has suspension made possible with laser cut polycarbonate springs.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Ok if you want to disagree but considering the number of people who spend 100-200 dollars on a beginner bot buying your wheels and a chassis and arduino and a sonic sensor comes well within this budget.
Perhaps you should not be looking at cost cutting so much as a total package at reasonable cost.
If I were CtC I'd be shooting off an email to you and starting an acrylic chassis design to take these motors and an arduino.
I'm not a big fan of kickstarter(quite sick of the arduino clones that claim to offer something different) but your project is definately worthy of funding.

Nice design, love the compatibility with Lego (mechanical at least). Is it adding too much to the cost to have a microcontroller inside each wheel and to use the I2C protocol? Because there are too many I/O pins needed on the main controller to drive them. Something like the OpenServo, but with continous rotation motors. Also fully compatible with the Lego NXT motors I think.

Thanks - The origional intent was to have a microcontroller on-board and firmware for I2C, plus a servo pulse or 1-99% PWM duty cycle as the speed command (so 0% and 100% meant it would power down, and 50% was stop) - unfortunatly I had to be pragmatic and get it on the market is a reasonably useful form - sensors and motor driver - and worry about a proper servoe'd version when we start making a bit of money. I agree that the number if inputs on the current version make it a bit of a pain to interface - when you use two of these on an Arduino you start to run out of pins for other stuff, but I am working on an arduino slave board to help with that - it will basically be an Atmel IC and Arduino bootloader on a little board designed to take two wheels (and give full PID control) along with a couple of servos, which can then be commanded from another arduino via I2C.

Adding a microcontroller to the internal PCB will only add a couple of dollars to the cost (It will probably be an ATTiny and there are ways to use an Arduino as the programmer) but when that additional cost has our own markup  added, then the distributors, it make quite a big difference to the retail price. In theory though, if we get sufficient demand, it whould be possible to get the full servo version on the market at close to the $20 mark.

NXT compatibility is a tricky issue. The PCB is simple enough, and the end product will be cheaper, and should come out soon. The NXT has motor driver on board so we can ditch that slightly expensive part from the board, but the NXT motors have a different sensor resolution than our wheels (and we can't fix that easily) so although the NXT can drive the motors and read the sensors the on-board PID control that the NXT has would not work without a firmware update for the NXT. The other issue I'm butting my head against is cable compatibility - I can't find a suitable PCB connector for the wheels that will work easily with the NXT connector/cable system - I may have to resort to adapter boards which, although they will work, are an ugly solution.

The mechanical compatibility with LEGO is OK, but there is still room for improvement - I had to compromise between making the 'perfect' LEGO version, and making something that was good for non-lego apps.

Well, if you get them even at $25 a piece with an I2C interface (no matter the connector for me, perhaps just use a regular 6 wire phone jack, similar with the NXT one but with the key in the center) I would be interested to purchase a few. Also, my son's school is looking to buy Lego NXT sets for the school's robotics lab, so I can suggest them to get a few of these motors as well. Let me know how it goes!

Well thought out project. I have to disagree with Nils I think the price is reasonable for what you get. I'm thinking of the pololu wheel and encoder set which sells for about the same and you don't get any motor driver with it.
I imagine there'd be a few wanting to ditch their lego nxt motors for something more compact as this. It must have taken a lot of effort to get the design right and dedication for the investment in mouldings, I hope you sell plenty.

Great Idea - Great Solution - And very hackable* too.
At the cost of about $28 per wheel a bit pricey... but worth to order. Thank you for sharing.

*

It is designed entirely with hacking in mind - we will be putting some PCB design guides on the site soon for people who want to esperiment with their own PCB's to go inside - it is a bit size restricted so designing boards for it can be a bit of a challenge!