My daughter and I attended the Fire Fighting Robot Contest at Trinity College in Hartford, Conn. It was great fun to see hundreds of high schoolers compete with autonomous robots based on a wide range of hardware, from PC/104 and Parallax Stamps (www.parallax.com) to Lego Mindstorm (www.lego.com). The students' goal was to extinguish a candle within a maze. Any robotist will tell you that it's not as easy at it sounds. Some were powerful enough to run small Linux-like operating systems, such as uClinux (www.uclinux.org) and eCos (sources.redhat.com/ecos). Others ran a single task. Most worked—a far cry from the first competition, where most failed.
A higher level of sophistication definitely makes the job easier, as do processors that are more powerful. A rash of ARM-based microcontrollers (MCUs) from a number of vendors should create an even better competition next year. ARM processors are supported by Linux companies like TimeSys (www.timesys.com), Monta Vista (www.mvista.com), and Lynuxworks (www.lynuxworks.com). These aren't little Linux implementations, but full-blown real-time operating-system versions that suit all sorts of embedded applications.
Linux doesn't fit all problems, though. One of the technical presentations given at Trinity by Joe Jones was on IRobot's Roomba (www.irobot.com). It runs on a small MCU with only 256 bytes of RAM. That's not enough for even a tiny operating system. However, it uses a basic interrupt-driven system and a behavior-based algorithm. Definitely check this out for limited memory and performance apps.
My daughter did not get to compete at Trinity this year, but she presented her paper on a single-camera, color-based obstacle detection system. So here's to all those budding engineers. Keep on trucking.