Domo Kun WobblyBot – Simple Self Balancing Two-Wheel Robot

A self balancing two-wheel robot that wobbles, hence the name WobblyBot.

Quite possibly the simplest design for a robot that could (sort of) balance itself  on two wheels, without the use of accelerometer, gyroscope or microcontroller.

A great weekend project, and do check out the video to see it in action. And why Domo Kun? Because my other half think it's cute :) You can pretty much change the WobblyBot into any character you like.

UPDATE: The WobblyBot was featured in Hacked Gadget, Engadget and Hack-A-Day! - wobbly bot, self balancin robot01

How It Works

It's about simplifying things and getting back to basics. the goal is to build a balanced robot instead of a robot that balance itself.

The robot is essentially a simple pendulum, with the pivot at the wheel axle. The bottom part of the robot’s body is significantly heavier than the upper part of it. This serves as a counter weight, keeping the entire body upright, hence the balancing act. - wobbly bot cradel
The design of the cradle. - wobbly bot frame
The design of the cradle and the upper body frame. You can download my SketchUp file for reference. The build and the diagram is 1:1 scale.

Putting Things Together - wobbly bot, self balancing robot10
The cradle is made from MDF plate riveted to aluminum L bars. No special reason for such selection of materials, they are just stuff I have aplenty. The cradle can be made a whole lot simpler with other materials such as Acrylics.

The length of the cradle is really up to your choosing, but the width is design to fit a D sized battery holder with ease. The exact placement of the batteries are critical since it doubles up as the counterweight for the robot.

The batteries must be placed dead center, length-wise and width-wise. If not the robot will either not able to balance straight up, or it will not be able to move straight forward and backward (because one wheel is carrying more load than the other).

DC Geared Motors used are rated at 12V, 100mA, 130RPM and 58.8mN.m torque. The motor are driven at half the power (around 5.5V and 50mA). I’ll explain why later.

DC Geared Motors are used instead of the a normal DC Motors. They are better suited for this project due to the fact that it produces low RPM, and have enough torque to drive the robot. You will later find out that the robot could end up becoming quite heavy. - wobbly bot, self balancing robot08
The motors are mounted directly to the cradle, note that there are room underneath the motor, this is the space where we will add more counter weight if need be. - wobbly bot, self balancing robot07
The completed cradle. The circuit that drives the motors is mounted on top of the batteries. I initially planned to make my own circuits before laziness strikes and end up hacking an RC Car for the circuit :) - wobbly bot, self balancing robot11
The wheel diameter is 11cm to clear the cradle width. Tried looking looking around for a pair of wheels that fit, unfortunately none were found.

The wheels are cut from 1cm thick MDF. For grip, rings are cut from motorcycle’s tire inner tube and stretched over the circumference of the wheels. - wobbly bot, self balancing robot06
The completed lower part of the robot. The wheels are mounted directly to the motor shaft. At this point you can give a test drive and see if you balance everything just right.

Test Drive

Depending on the rating of the DC Geared Motor used and the distribution of weight, there are three possible outcome of the test:
  • The robot stalls because the motors do not produce enough torque to drive it.
  • Or motor’s torque is too high that cradle starts making full spins, particularly when the robot starts to move from a stationary position.
  • Or the robot moves but there are minor swings of the cradle particularly when the robot starts to move from a stationary position, or when it changes direction.
If the robot stalls, than reduce the weight by changing the batteries to size C or even AA, but i would personally suggest to get a motor with larger torque.

If the cradle makes full spins, either reduce the power to the motors by adding limiting resistors, and/or add more counter weight to the cradle (more tips below).  I used both approaches, resistors to limit the power to 5.5V 50mA, and the adding of more counter weight.

The minor swings of the cradle everytime the robot starts to move or change direction is perfectly normal (it’s a WobblyBot after all). The force exerted by the motor’s torque is opposed by the weight of the cradle and both forces will eventually balance out after a few wheel turns.

The Upper Body Frame - wobbly bot, self balancing robot03
The upper body frame is constructed from balsa wood and it is really up to your creativity. The goal is to keep the upper side of the body as lightweight as possible, hence the use of balsa. Glue is used liberally for the joints and staple guns provide the reinforcements.

The frame is held in place on the cradle with brackets on four ends, and top four edges of the frame are slightly tapered to make it easy to slot in the robot’s facade later.

Tuning The WobblyBot Further - wobbly bot, self balancing robot22
The robot should be able to stand straight up when stationary. If it’s leaning either way, simply add/shift more weight to the opposing side. Balance is key. If not the robot will either not able to balance straight up, or it will not be able to move straight forward and backward (because one wheel is carrying more load than the other).

You can also tune the amount of wobble this way, the more counter weight added to the cradle, the less wobbly the robot gets. Keeping in mind that weight must be kept evenly distributed.

Also take note that some more weight will be added to the upper body frame of the robot when you add the facade, so compensate the counter weight accordingly.

It may take several attempts before you hit the right balance between just the right amount of wobble and the right amount of counter weight.

All this tuning and the adding of counter weight will make the robot quite heavy. Be sure to not overdo it and end up straining the motor.

The easiest way to add weight and balance them out is by using these stick-on car wheel balancing lead. Simply stick them onto the cradle.

lead stick-on-wheel-balance-weight

Making The Facade

This is the part where you can get really creative. The facade is nothing more than a box made from thin cardboards.

Come to think of it, a bunch WobblyBots looking like Pac-Man and Ghosts (Blinky, Pinky, Inky and Clyde) would make a really cool swarm.
The dimensions

Constructing the cardboard facade

P1080845The cardboard facade is created in a manner that it can be slotted snugly over the balsa upper body frame. There it sits without any gluing or mounting.

This is for ease of access to the component inside, i.e when you want to switch ON/OFF the robot or when you need to change the batteries.


Unknown said...

i'll pay you to make me one, how much would you charge me? i am not a geek at all, but LOVE geek design. Please?! EJ

Anonymous said...

Nice work, very elegant.

Wheel Balancing Weights said...

I have many collections of Domo Kun! I'm glad that I happened to pass by this site.