Lego Mindstorms NXT
At last Mac users can join in the fun of the Lego Mindstorms robotics kit. The Mindstorms NXT set features a 32-bit programmable controller inside a battery-powered ‘Intelligent Brick’, with motors and sensors that can be added to standard Lego construction parts to create self-propelled robots that scoot around the floor, navigating by touch or even ultrasonic ‘radar.’ Programs are downloaded by USB cable or wirelessly via Bluetooth. Robots can even be remote-controlled by a Bluetooth device such as a PDA or mobile phone.
Piece by piece
First introduced in 1998, the original Mindstorms Robotics Invention System was based on the RCX Intelligent Brick, a chunky yellow controller with an infrared download unit, 8-bit processing and 32KB of RAM. The new NXT Intelligent Brick controller uses a 32-bit, 48MHz ARM7 processor with 256KB flash memory and 64KB RAM. The new two-tone grey controller is about the same size as three PDAs stacked together, with a tray for six AA batteries or a rechargeable lithium battery. It has three input/output ports and a standard USB 2.0 port. A mono LCD monitor with a graphical user interface controlled by four buttons lets you select and run stored programs.
Three servo-motors are provided to power your robots. These bulky, elongated units are the only slightly disappointing aspect of NXT. You also get three small sensor units: ultrasonic for range-finding and motion detection; sound for reacting to noises such as a handclap; touch, which responds to pressure; and light, which can sense ‘colour’ (actually greyscale differences) as well as black/white contrast.
Motors and sensors are connected to the NXT controller’s ports by wires with RJ12 connectors that resemble (but don’t match) Ethernet plugs. Lego also sells conversion wires (at £6.98) to connect the original Mindstorms motors and sensors.
Also inside the box is a decent number of Lego pieces (571 in total) that let you build the 18 ‘robot challenge’ starter designs from instructions in the excellent manual or contextual software help. The pieces are mainly Lego Technic ‘engineering’ parts, based on plastic beams with round holes that are linked by a variety of plugs and rods, plus enough gears, wheels, tyres and pulleys to make complex machines. You can extend these with extra Lego pieces bought separately, including the classic Lego stud bricks.
Mindstorms NXT software is based on LabVIEW software from National Instruments, with a new user interface designed for beginners. It works on any Mac that can run Mac OS X 10.39 or 10.4. The software lets you build up complex command sequences by dragging ’block’ commands into a window that resembles a flowchart. Each block performs a function such as moving the motors, detecting touch, displaying a message, playing a sound, or measuring a distance. You can modify each block’s settings, such as the number of rotations of the motors, and it’s easy to set up repeat loops and branches (called switches) to cope with conditionals.
You can save your own block settings, download new ones, or swap them with your friends. It’s easy to understand, very logical, and lets you create surprisingly complex semi-autonomous sequences.
National Instruments has released a toolkit to allow standard LabVIEW users to create and download native NXT blocks. The forthcoming Microsoft Robotics Studio will also support NXT. Lego has released free downloadable software developers’ kits for the software, hardware and Bluetooth protocol. It says it will release the intelligent brick firmware as open source, though this hasn’t happened yet.
As with the Mindstorms RCX, enthusiasts have been quick to hack into NXT, this time with Lego’s blessing – it consulted a panel of users when developing NXT. Already there are enthusiast websites dedicated to getting even more out of the mechanics and the programming.
Lego itself supports Mindstorms with an excellent website that features new designs, user galleries and regular ‘challenge’ competitions. It also organises the annual First Lego League, a teamwork-oriented robotics competition for children aged 9-16.
Lego Mindstorms NXT is fun, but it’s also educational and enables you to use your Mac to control things that can scurry around the carpet and frighten the cat. It costs less than a decent digital camera and you can always pretend that you’re buying it for the kids.