Viewpoint: Of Legos And Javabots

Who says technology can't be fun? Certainly not the kids in the FIRST LEGO League (FLL) competitions, considered the "little League" of the FIRST Robotics Competition. The FLL is a joint endeavor between the non-profit FIRST (For Inspiration and Recognition of Science and Technology) Foundation and Lego Mindstorms Robotics Invention System.

How do big kids, especially those with an interest in software, play with technology? They create something called JavaBots using basically the same Lego Mindstorms system, but with a slight hardware substitution: replacement of the Lego Mindstorms microcontroller with a java-based unit like JCX from Systronix. JCX, based on Systronix's JSTAMP, supports commonly used JCX devices, such as all the standard Lego sensors, infrared rangers, and others.

Using the JCX hardware package, programmers can write control programs in a pure Java programming environment. Load the program into the FLASH memory on the JCX and you're all set. University students or attendees at past JavaOne Developer's conferences - few of which had any prior embedded programming experience - have developed applications ranging from a simple line following robot to ones that accept voice commands.

But what exactly is a JavaBot? It is a collection of Java-based application programs and packages for developing and running multi-robot control systems on mobile robots and in simulations. JavaBots are freely distributable and may be used for education and research without restriction.

JavaBots were initially developed by Tucker Balch, an researcher in Robotics at CMU and professor at Georgia Tech's Intelligent Systems and Robotics Group. Although most folks still speak of JavaBots, the term has been recently replaced by the name "TeamBots."

What can one do with JavaBots? One of the more popular uses is a robot sport known as JavaSoccer. This game simulates the dynamics and dimensions of a regulation RoboCup small size robot league game. Two teams of five robots compete on a ping-pong table by pushing and kicking an orange golf ball into the opponent's goal.

Perhaps the most impressive JavaBot to date is the "Javanator", a sumo-wrestling robot developed by Jim Wright and his colleagues at Sun for the JavaOne conference. The JavaNator uses sonar sensors to detect the opponent's robot and a photo sensor to keep it positioned within the sumo-wrestling ring. It also has a wireless video camera that provides a "bots eye view" of the contest.

The JavaNator included the implementation of two major technology trends in embedded systems: real-time Java and wireless Java phones. The Real-Time Specification for Java (RTSJ) includes such features as real-time threads, asynchronous events, interruptible nonblocking I/O (input/output), access to physical memory, scheduling, and timers. Unfortunately, it is too early to tell whether RTSJ for embedded applications will be a success or failure.

While many companies offer real-time solutions for Java - aJile Systems, esmertec and NewMonics, for example - few support RTSJ in their products. One exception, aJile Systems, is currently working on an RTSJ implementation for its aJ-80 and aJ-100 chips.

Control of the JavaBot - or any Lego Mindstorm - can be accomplished with an RF link. After writing the controlling software program on the computer, a user can download the program to the Lego's RCX using the Infrared Transmission Tower.

JavaBot contests, like the FIRST Lego League Robotic competitions, make technology fun and accessible. The JavaNator, in addition, helped to demonstrated Java's versatility and richness in applications that require J2ME/real-time Java interfacing to real-world systems. Java technology now covers a wide range of uses, from application servers, web services and wireless connectivity through embedded applications. It is no longer merely confined to the desktop computer. Legos --> Systronix --> JavaOne --> Ajile -->

Please share your thoughts about this feature article with our readers by contacting the editors at: [email protected] or [email protected]

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.