Click on the image to enlarge.
Robot playthings have been charming youngsters at least since the first tinplate robots were mass-produced in the World War II era. Today's robotic toys do a lot more than the windup automatons of yore. And if you choose wisely, your gift can also help inculcate some of the rudiments of engineering.
For the smaller tyke, consider an Ollo Action Kit (US $30 at Amazon or ThinkGeek). It resembles a plastic Erector Set, but the pieces are joined with snap-together rivets instead of nuts and bolts. Manipulating the rivets still takes fine motor skills, so I wouldn't recommend it for kids younger than about 7. An accompanying booklet shows, with a sequence of very clear pictures, how to first assemble a simple quadruped before moving on to four motorized projects: a windmill, a dog, an insect, and finally a dinosaur.
My 8-year-old son, having assembled countless Lego sets over the years, jumped right to the dinosaur and had it walking around the dining room table in no time. So for a bigger challenge, I presented him with the paragon of robotics gadgetry for children: a Lego Mindstorms set.
First released in 2001, the Lego Mindstorms Robotics Invention System got a significant upgrade in 2006, with the introduction of Mindstorms-NXT. Its 577 parts included four different kinds of sensors and three rather sophisticated servomotors. The most recent edition, the Mindstorms-NXT 2.0 Robotics Kit ($240 from Amazon), released in 2009, boosts the overall parts count to 619, contains a slightly different mix of sensors (one ultrasonic range finder, one color sensor, and two contact sensors), and offers such niceties as a built-in Bluetooth radio and the ability to do floating-point calculations.
I'd read about Mindstorms many times, including in this magazine [PDF], but I hadn't appreciated how well this system was put together. Hats off to the folks at Lego for producing something that works so well at so many levels.
Any child who can piece together Lego bricks should have little trouble assembling the starter robot, a small tracked vehicle described in the kit's 62-page instruction booklet. The heart of the kit is its computer module, the NXT "brick," which the starter robot holds at a convenient angle for viewing the LCD screen and operating the four buttons. With just that simple user interface, youngsters can quickly get their creations moving and doing various interesting things.
But that's just the starting point. The next step is to install the accompanying software on a computer and start programming your robot du jour using Lego's graphical programming language, NXT-G. National Instruments helped to develop this user-friendly environment, which is based on NI's well-known LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) software. With some dragging and dropping, you can quickly develop programs that with the click of a mouse are compiled and then downloaded over USB cable or Bluetooth to the NXT brick.
Lego's NXT-G programming environment is not only easy to master, it's also very good at reporting errors and pointing out the source of the problem (a common one was simply that the brick had shut itself off while I was busy arranging my next program).
Click on the image to enlarge.
Although the graphical programming interface takes a little getting used to and has a few quirks, it provides a budding roboticist with an ideal introduction to programming. My son, whose computer experience was mostly limited to playing games, quickly constructed and programmed a four-wheeled robot that would spin around until it sensed an object in front of it, at which point it would announce "Object detected—good‑bye" and then shoot a small wooden ball at whatever had come into its ultrasonic sights. (You'll want to keep an eye on things, especially if there are younger siblings in the house.)
A determined Mindstormer could probably go far using nothing other than NXT‑G, but you're not limited to that. The Mindstorms software ecosystem now includes dozens of other ways to program an NXT brick, including Processing, a C-like language and development environment that's also used to program the Arduino family of microcontrollers. You can even control your Mindstorms creation through a Bluetooth link using Microsoft Robotics Developer Studio. These alternate programming environments should be more appealing to technically advanced kids.
And if you're worried that an adolescent might feel he or she has outgrown Lego altogether, there are more substantial robotics platforms, such as the iRobot Create ($130 from iRobot).
The company, makers of the Roomba vacuum-cleaning robot and other automated household helpers, produced the Create specifically for people who wanted to experiment with robotics. It's essentially a Roomba without the vacuum cleaner. Instead, the disk-shaped body of the robot contains a large cargo bay. On top are four threaded hard points, so Create owners can easily add their own superstructures.
I decided I would control the Create using Microsoft Robotics Developer Studio, so I also purchased a Bluetooth adapter module ($60) along with a Bluetooth USB radio ($40), both from iRobot. While waiting for everything to arrive, I downloaded and installed Robotics Developer Studio and set to work figuring out how to simulate a Create, which is one of several robots this software supports out of the gate.
I was using Microsoft's Visual Programming Language (VPL), which comes with Robotics Developer Studio, so I figured this would be easy enough. After all, VPL is another drag-and-drop programming environment—a bit like NXT-G on steroids. Although Robotics Developer Studio comes with various tutorial examples and Microsoft provides copious descriptions of this software online, I found it all less than helpful and ultimately succeeded in simulating a Create only when I stumbled on one blogger's gentle description of how to set this up.
When the package from iRobot arrived, I added the required 12 AA batteries, plugged the Bluetooth adapter module into the Create, and stuck the Bluetooth USB Radio into my laptop (which lacks built-in Bluetooth). After pairing the two radios, I tested the connection using a terminal-emulator program to send numerical commands to the Create, just to turn on some of its LED indicator lights. That worked straight away, so I thought I'd soon be driving my real-live Create around the house. Alas, I was wrong. Ironing out the wrinkles required some surprisingly large adjustments to the controls, which had been working fine with the simulated Create.
My difficulties learning how to control a Create through Robotics Development Studio were disconcerting, particularly after having such a pleasurable experience using NXT-G. But some young people might well welcome the challenge of puzzling out Microsoft's complex software.
In any event, the proud new owner of a Create robot can choose other software packages to run it and any number of hardware accessories to embellish its capabilities. Add a Kinect ranging camera and a laptop running the open-source Robotics Operating System, for example, and you could turn a Create into a TurtleBot or BiliBot, two rather advanced mobile robots now gaining traction in the DIY community.
One thing is for sure: With some relatively inexpensive hardware to get started, young people can explore robotics at every level, limited only by their imaginations—or perhaps by their supply of AA batteries.
Prices are those paid at press time. Current prices may vary.
This article originally appeared in print as "A Droid for All Seasons."