What is ROBOLAB?
The Concept of Programming and Control
The new ROBOLAB System prepares students for careers in engineering and science with
excitement and enthusiasm. With the ROBOLAB System students will learn about today’s world
of robotics, confined only by their imaginations.
Students develop computer and engineering skills through hands-on experiences that relate back
to the real world.
The core of the construction is the RCX, a programmable LEGO brick which is used as the basis for the models and used to control their actions.
It controls motors & lamps and takes input from sensors. LEGO Dacta sensors include touch
sensors, light sensors, temperature sensors and rotation sensors.
Working with ROBOLAB!
Users first build their inventions using the RCX and the LEGO pieces
included in the RCX Building Sets. They then create a program for
their invention using the ROBOLAB software, an easy to use powerful
programming language. Next, they download their program to the
RCX using a special infrared transmitter. Their creation can now
interact with the environment, fully autonomous without the need for a
The LEGO Mindstorms RCX
The RCX is a LEGO microcomputer used to create, build and program real
robots and automated devices that can move, act and think on their own. You
can program your robots to unleash their behavior and functions with the
The RCX can be programmed to respond to its environment through a variety of
inputs (sensors) and outputs (motors and lamps).
The RCX has 3 input ports, 3 output ports, four control buttons, an LCD display, an AC adapter
connector, and an infrared transmitter/receiver. It operates with either 6 AA batteries or an AC
Light / Angle / Temperature Touch Sensor Reflectance Rotation Sensor Sensor Sensor
The 3 input ports are connection points for sensors such as touch sensors, light sensors, temperature sensors, and rotation sensors.
The 3 output ports are connection points for LEGO output devices such as motors and lamps. The 4 control buttons are used to turn the RCX on or off, select a program, view the RCX operation, and run the selected program.
Students build models and robots using the RCX as the brain of their models/ robots. After being programmed with ROBOLAB, the robots take action in their environment by interacting and making decisions based on the inputs that are around them. Two RCXs can even communicate with each other! The robots are fully autonomous, acting on their own with no support from the computer. If the behavior of the robot does not match the desired behavior, then they can be easily reprogrammed using the ROBOLAB software.
The RCX communicates with the PC via an Infrared (IR) Transmitter. This transmitter is attached to the serial port of the computer and sends the program that was written in the ROBOLAB software to the RCX. This communication is via infrared communication, similar to the operation of your television remote control.
The ROBOLAB software for programming and controlling the RCX is an icon-based diagram building programming environment. ROBOLAB is based on LabVIEW, a software product from National Instruments. In ROBOLAB, this powerful, real-life professional software is made accessible for students. It utilizes a special edition of LabVIEW which has fewer options available and contains specific RCX information as well as the unique user interface that is appropriate for students. Each element of ROBOLAB is easy to learn and gives you a proportional amount of programming power. It encompasses a logical linear learning process, quite unlike other programming software that typically requires a large learning curve.
To ensure programming success, the software is built around two levels: PILOT and INVENTOR.
The Pilot level is comprised of templates that have a fixed
format associated with them. This is an effective way to
introduce the logical sequencing to anyone. It is impossible to
create a program in Pilot that will fail.
Inventor uses similar icons as Pilot. Additionally, there are
several more command icon options added as the user moves
up through the levels. The strength of the Inventor level
provides the greatest potential of the the RCX. Inventor is set
up in a less structured way, allowing the powerful LabVIEW
capabilities to be used as desired by the programmer.
The Basis of ROBOLAB
LabVIEW: Real Life Control ROBOLAB is based on LabVIEW, a programming environment created by
National Instruments (Texas, US). In 1997, when NASA monitored the
Sojourner Rover's location and position in relation to the landing craft, its
orientation to the ground, its overall physical health and more, they used the
LabVIEW software. LabVIEW is a powerful programming environment used by
engineers and scientists in colleges and industry. It is the leading software
development tool for measurement and control. It is used to analyze and
compute real results for biomedical, aerospace, energy research applications
and numerous other applications.
THE ROBOLAB PROGRAMMING STRUCTURE: LEVELS The ROBOLAB programming software has two levels for programming the RCX- PILOT and
INVENTOR. Divided into 4 levels each, with stepped logical progression from one level to the
next, there is a smooth progression from PILOT 1 to PILOT 4 and then from INVENTOR 1 to
INVENTOR 4. All of the levels are available through the ROBOLAB Main Menu.
THE ROBOLAB PROGRAMMING IDEA: STRINGS OF COMMANDS
ROBOLAB programs are designed as a string of icon commands. The strings visually describe
the response and action of the inputs and outputs of the RCX.
A SAMPLE PILOT LEVEL STRING
A SAMPLE INVENTOR LEVEL STRING
PILOT is a very fast, simple, template-based programming
INVENTOR offers additional flexibility, allowing full use of
the RCX capabilities.
PILOT, the fast and simple template-based programming environment
PILOT is the introductory programming level in ROBOLAB.
? It uses a ’Click and Choose’ interface to program
? The program template changes when you ’Click and Choose’
? It has 4 levels to work with
? A beginning Level 1 leads to a flexible Level 4
The PILOT program template has a green traffic light which anchors the beginning of the
programming. A matching red traffic light is located at the end of the program. The commands are
located on the pink string between the traffic lights.
A PILOT 1 program which has a motor located on Output Port A of the RCX will turn in the
reverse direction for 4 seconds. The program waits for 4 seconds after the motor turns on.
To change a command, simply use the mouse pointer to
move over a command and click. All of the options for that
command are shown. Simply choose the one that is desired.
Watch as the commands are changed to the left.
To download the program to the RCX, click the large Run arrow button. This sends the program through the computer port to the IR Transmitter and to the RCX. Pressing Run on the RCX will start your program in the RCX.
To get help on any (and all) of the icons in ROBOLAB click on the HELP button. A new help window appears. Now by moving
the cursor over any of the icons, a text description will appear.
PILOT: PROGRESSIVE LEVELS
PILOT is divided into four progressive levels. The four levels build on each other, making it easy
to advance to the next level as the user becomes familiar with the previous level’s options. Not all
of the advanced capabilities of the RCX are available with PILOT programming.
PILOT 1 has one output and one time waitfor command in the template.
PILOT 2 has two outputs available and a time and touch sensor waitfor.
PILOT 3 has two sequential steps of 3 outputs and time, touch and light sensor waitfors.
PILOT 4 lets you create a long string by adding or deleting steps. All three outputs as well as the sensor waitfors are available.
INVENTOR: Unleashing the total power of the RCX
Inventor programming is by ’Picking and
Placing’ the command icons from a
Functions palette onto a programming
window and stringing them together.
Inventor has 4 levels, each level adding
features and functionality.
Inventor programs can have features not
available in Pilot.
Here’s how you program in Inventor!
Step 1: Pick the icons that are desired for the program from the icon palette.
Step 2: Place the icons on the program
Step 3: String the icons together in the order that they should
Step 4: Download the
program to the RCX.
INVENTOR: Unleashing the total power of the RCX
The different Inventor levels have progressively new RCX commands
Here is the Inventor 1 palette.
Subsequent Inventor levels (2,3, and 4) increase the capabilities of the RCX
by putting additional commands onto the functions palettes.
This chart explains the progressive features allowed at the different levels.
Feature List/ Inventor 1 Inventor 2 Inventor 3 Inventor 4 Commands Motor & Lamp Yes Yes, with Power Yes, with Power Yes, with Power Control Control Control Control Waitfors Time Time Time Time, Touch, Light, (1,2,4,6,8,10s), (Variable, Random), (Variable, Random), Temperature, Touch Sensor Touch, Light Touch, Light Rotation Sensors, Sensors Sensors Timer, Container, RCX Mail Forks - - Touch, Light Touch, Light, "IF statements" Sensors Temperature, Rotation Sensors, Timer, Container, RCX Mail RCX Tones 1 6 6 6 RCX Musical - Yes Yes Yes Notes Program JUMPS - 1 5 20 "GOTO statements" Program LOOPS - Yes Yes Yes "FOR/NEXT statements" Multitasks - - 10 10 Containers - - - 3 "Variables" Other - - - RCX Mail (RCX to RCX Communication)