Levels of Humanoid Robotics
I’ve met a lot of people who want to get into the hobby, but aren’t sure where to start. There are many different kits (and non-kits!) to choose from. Choosing something too advanced for your time and skill constraints leads to frustration and disillusionment. But a robot too simple or limited can become an expensive dust collector.
So, to help clarify and categorize the options available, I’ve developed this framework, dividing humanoid robots into “levels” according to the amount of skill and effort involved.
Level 1: Ready-to-Run, Stock
This is a robot that comes preassembled, preprogrammed, with some sort of (usually infrared) controller, and ready to run (or at least walk) out of the box. Furthermore, the robot is not easily extended; there are no standard upgrade paths, so making it do anything it doesn’t already do would require major hacking. This is what I mean by “stock:” you just use it the way it came from the manufacturer.
The i-Sobot is a great example of a Level 1 robot.
Level 2: Kit, Stock
A Level 2 robot comes as a big box of parts and an assembly manual. You put it together yourself, usually over the course of several hours. A humanoid robot kit can be a challenge for new builders; all those degrees of freedom imply a large number of parts, and in many cases, great care must be taken to properly align the servo horns during assembly. But with a bit of patience, a good kit should be buildable by just about anyone.
A Level 2 kit will come with some kind of controller, and will be pre-programmed with various motions. So, once you’ve built it, you can immediately start making it walk around and do other things. Bioloid is probably the most popular kit in this category; other examples include RoboBuilder, the newer Hovis Eco, and the older Robonova.
The key thing about Level 2 kits is that you’re not limited to the stock kit; because they came in parts and you assembled it yourself, it’s generally pretty easy to take it to the next level (and beyond).
Level 3: Kit, Stock, with Custom Motions
Before we get into physical modifications or complete firmware rewrites, let’s consider the motions a robot can do.
A humanoid robot typically has from 16 to 20 degrees of freedom. That’s how many joints need to be independently controlled even to make it stand up. Coordinating all those servos in a sensible way to make a robot walk, side-step, punch, get up from a prone or supine position, etc., is a lot of work.
A Level 2 kit will come with a set of such motions pre-programmed, but usually it also comes with some sort of desktop software (typically for Windows, alas) that lets you develop new ones. Motions are generally defined as a sequence of poses, strung together with a specified timing. Each pose may be defined by manipulating controls in the desktop GUI, or by physically manipulating the robot itself, and then capturing the pose into the software.
There’s a fair amount of skill and perseverance required to make a new set of motions, especially when you get into things like a continuous walk cycle (rather than walking only a couple steps at a time). So, when you’ve invested the time to significantly improve on the stock motions, I would say you’ve now made a Level 3 robot.
Level 4: Kit, Modified
A Level 4 robot is one that started as a stock kit, but then was modified in some significant way. A common upgrade is to add more degrees of freedom; extra servos in the legs or arms for example, or maybe a working waist servo (which is hard but quite useful) or neck (which is easy and fun, though not terribly useful).
In most cases, adding additional servos means that you can no longer use the standard motions that came pre-programmed into the bot. So if you haven’t already taken the Level 3 plunge, you’ll certainly be doing so at this point.
Level 5: Custom Firmware
At some point, the firmware pre-programmed into your kit is likely to become limiting. You’ll want to incorporate feedback from an IMU for dynamic balancing, or replace the cheesy infrared controller with a better one, or give your robot vision with a tiny camera… the possibilities are endless, and sooner or later, you’ll need something the standard firmware can’t do.
At that point, you bust out your embedded programming tools, and start coding directly to your robot’s brain. Most such brains are based on Atmel chips, typically the ATmega168 or ATmega328. So one could, in principle, flash an Arduino bootloader onto these, and then do subsequent programming in the Arduino environment (pity none of the kits come already set up for that already). Or you could just use your favorite C compiler directly.
In either case, writing good firmware for a humanoid robot is a pretty big job, especially if your servos don’t interpolate between positions for you (as is currently the case for all but Dongbu HerkuleX servos). But doing so gives you (nearly) ultimate freedom to make your robot behave as you want it to.
Some builders may choose to throw out the kit controller at this point, and replace it with their preferred microcontroller hardware. A decent tiny Linux board, like the Raspberry Pi or Gumstix, is a common choice. These have the advantage of being able to run a full Bluetooth HID stack, allowing you to use a PlayStation 3 controller directly. But replacing the controller will probably also entail replacing, or at least seriously hacking, the chest cavity… we’ll call that Level Five and a Half.
Level 6: Scratch Build
The ultimate humanoid robotics hobbyist eschews kits entirely, and builds a robot of their own design from the ground up. This doesn’t mean you have to build your own servos — there are plenty of good off-the-shelf servos for most purposes — but it does usually mean building your own brackets, chassis, hands/feet/head, and so on. It also means choosing your own microcontroller, control scheme, batteries, etc.
A Level 6 robot is a lot of work, but the payoff can be large too; the winners of the Robo-One competitions are always in this category. For that matter, the robots themselves are growing larger too; in recent years, some hobby robots stand over a meter tall, and are no less agile than their tiny cousins.
So there you go — six levels of difficulty, six levels of awesomeness, from an expensive toy you just buy and use, to a custom android that rivals Asimo. If you’re new to the hobby, I encourage you to start small, at Level 1 or 2, and work your way up gradually. There will be plenty of challenges, and plenty of fun, along the way.