Lego's new Mindstorm robot might be simple to build and program, but new software will let advanced users really get under the hood and put the machine through its paces.
The $250 Mindstorms kit is about as sophisticated as toys get. It comes with an industrial-strength microprocessor, individually controlled servomotors, Bluetooth wireless, and sensors for light, ultrasound, sound, and touch. It can walk on two legs, dance on four, and strike your fingers with a scorpionlike tail if you get too close.
Yet Mindstorms was designed as a "Christmas morning experience," said John Field. "It's made so that a child 10 to 14 years old could build and program a robot inan afternoon."
The Lego Mindstorm Robot
That means some tradeoffs, though Field, who heads the team that developed Mindstorm's software at National Instruments, never uses that word. Mindstorm's software is built around NI's LabView software, which is used to create measurement and control systems for laboratories, high-tech industrial equipment, and, of course, robots.
Although simplified, the Mindstorm version of LabView [sample] lets children (and adults) do some sophisticated programming without sweating the details, Field said. Users can drop and drag function blocks–turn on a motor, turn right at a wall, sting when touched –onto a control screen. LabView automatically connects the blocks and users determine how each block behaves (you can see a demo at www.ni.com/mindstorms).
Coming soon: More control
These features make it much easier for kids to program complex tasks. But what about those experts who want to rip open the hood and take advantage of LabView's powerful programming capabilities?
Field's team has a treat for them. This fall, they will release LabView Toolkit [sample], free software that lets users tap many of the same capabilities used to program industrial robots and machinery.
The toolkit provides three new types of functions. They may sound geeky, but used together they make Mindstorm a robot that has far fewer limitations.
More Robot News & Images
One lets users combine different types of data into clusters and arrays. A cluster is a single location used to store related data, such as motor speed, direction, and duration. An array combines clusters of similar or identical instructions.
Putting these complex behaviors and analytical routines in a single place makes it easier for users to pop them into their programs. It is the difference between adding a transmission to a car or assembling it piece by piece before attaching it.
The second new function, live debugging, allows users to trace the details of how their robot reacts to the world around it. "You can see your sensor input, how the robot uses it in calculations, and how that affects its behavior," Field said. It enables users to act like true programmers, tweaking code for more speed or better results.
Finally, users can combine their data and debugged routines to create data libraries. Just as conventional libraries contain books on many topics, data libraries include software that defines different types of hardware, behaviors, and analytical routines.
Share your skills
Data libraries make it easy for anyone to upload and share their best robot tricks. Think of it as sharing overdubbed mp3's on Lime Wire without the copyright issues.
Libraries make it easy for companies to create robot-ready versions of sensors and other hardware. One of the first of these new sensors is a digital compass from HiTechnic Products. Others potential sensors might include chip-sized gyroscopes, accelerometers, chemical sensors, and laser scanners.
The result, Field hopes, will be an open and easily extendable system that lets young users tap powerful robotic features created by more advanced users.