The magazine of the Melbourne PC User Group

Robotics For Education and Pleasure
Major Keary

Robotics is an important discipline with applications in many fields, and itself crossing the boundaries of other disciplines. David Baum, in the preface to his book, Definitive Guide to LEGO Mindstorms, writes: 

"Robotics itself is nothing new. Industrial robots have been in use for years and are constantly getting more sophisticated. ... hobbyists have been able to build their own robots ... [but] creating robots (even simple ones) has been out of reach for most people. The problem was that ... [it] ... involved soldering, metalworking, and other skills, along with a healthy dose of computer programming. Mindstorms has changed all that ... [and] ... even programming has been made easier - a graphical user interface allows commands to be 'stacked' together almost as easily as LEGO bricks themselves."

A teacher, quoted in Robots for Kids, says: 

"Robotics motivates student to make plans, to accomplish, to look forward, to achieve and to feel good about themselves, in some cases for the first time in their lives. The robotics class itself is set up to allow students to feel comfortable with the new and sometimes very complicated concepts that robotics brings with it. To build an autonomous robot, students must learn the basic concepts of mechanics, engineering, and 'Interactive C' computer programming. They must also learn the skills of effective communication, teamwork, and problem solving."

Robotic construction kits for children has a thirty-year history leading up to LEGO Mindstorms, launched in 1998. This year a program initiated by Interact has put Mindstorms on the map in the Victorian secondary educational system, with active interest being shown in other states.

The LEGO robotics product line has for some time been used as a teaching tool in universities; at the University of Queensland it is being used to develop a two-legged robot prototype, and is regularly used as a teaching tool.
 
About LEGO

I doubt that anyone reading this is not familiar with LEGO, either having built things with its bricks and other components, or having bought sets as gifts for children.

The name, LEGO, is a meld of the Danish words, "leg godt", which means "play well". The concept was that of Godfried Kirk Christiansen, who first produced automatic binding bricks - later to become known as LEGO bricks - in 1949. The stud-and-tube design was introduced in 1958, and in the following couple of decades all sorts of non-brick components appeared. By the late 70s it was possible to construct working models with LEGO kits. The Robotics Invention System (RIS) was launched in 1998 and has brought with it a profusion of names and terms. 

LEGO Mindstorms is the robotics division of LEGO; the term, Mindstorms, comes from the title of a book by Seymour Papert: Mindstorms: Children, Computers, and Powerful Ideas, published in 1980. Papert is a notable computer scientist and well-known for his work in neural networks and the development of the LOGO programming language. You will find an interesting article on LOGO in the Encyclopedia of Computer Science; a copy is in Melb PC's library.
 
LEGO Dacta is LEGO's educational division; the name crops up in the literature because in the United States it is a separate marketing entity (PITSCO-LEGO Dacta).

RCX is the programmable 'brick' that is the heart of Mindstorms kits, and stands for Robotic Command Explorer. RCX Code is the programming environment for the RCX 'brick'; there are a number of third-party alternatives. RCXcc (also written as RcxCC) was written to provide an easier interface than that provided by LEGO. It is included on the CDs that come with two of the books mentioned below.

Robotics Discovery System and Droid Developer Kit are simple robotic kits with limited-function control units known as Scout and Micro Scout respectively.

legOS, as the name suggests, is a an operating system that can be installed instead of the official LEGO Firmware; more information is available at http://www.noga.de/legOS/.

ROBOLAB is a graphical programming application marketed by LEGO Dacta.

NQC (Not Quite C) and pbForth are alternative programming languages developed for Mindstorms. VisualBasic can also be used.
 
A file, spirit.ocx, is often mentioned; it is necessary to the running of Visual Basic programs and comes with the LEGO SDK and ROBOLAB.

The LEGO programming environment is becoming more sophisticated. LEGO has taken an open source approach, no doubt encouraged by interest at the tertiary educational level where much of the development has taken place. The simple, direct programming of the RCX remains, but increasing use in educational institutions has brought about a need for a more flexible and powerful programming environment.
 
As a result users enjoy the availability of a range of programming options, from simple to advanced. That in turn makes Mindstorms a very useful tool for learning to program.

Reprinted from the September 2001 issue of PC Update, the magazine of Melbourne PC User Group, Australia

[About Melbourne PC User Group]