# Robotics/Exotic Robots/The LEGO World
## Why Lego?

Legos have become a popular robotics resource, primarily as an educational tool, but also as building materials for fast and easy prototyping. Legos are specifically designed for ease of use, with snap together parts and pre-placed holes. This makes them ideally suited for use in projects where reconfiguration is necessary. With a basic kit of parts, many different robotic machines and mechanisms can be created, tested, modified, disassembled and recreated easily without any damage to the building materials. The pieces are also standardized, so designs can be easily documented and rebuilt. Because of the popularity of Legos, there is also a huge wealth of third party resources available – hardware, software, instructional material, and challenges.

## History

The origins of the Lego Mindstorms Robotics kits trace back to Seymour Papert’s book Mindstorms: Children, Computers, and Powerful Ideas, in which Papert proposed that rather than using computers to provide exercises for children – “the computer programming the child”, the situation should be reversed and the child given control – “the child programs the computer”. Papert thought that in this way, the child would gain a more active role in building his own knowledge in response to a recognizable personal purpose rather than simply listening to explanations. After co-founding the MIT Artificial Intelligence Lab, Papert developed the programming language “Logo” as a tool to enable children to use simple instructions to control robotic ‘turtles’.
In the mid-1980’s, while working at the MIT Media Lab, Mitchel Resnick and Steve Ocko created a control box to interface Logo with Lego Technic elements along with motors lights and sensors. This setup was marketed as “LEGO TC Logo” and became a popular educational tool and marked the beginning of a partnership between Lego and the MIT Logo researchers. A second version was released in 1993 as the “Control Lab”
In the mid-1990’s, MIT Media Lab researcher Fred Martin developed the MIT programmable brick. This brick was programmed using a Logo based software but was not required to be connected to the computer with wires and so was able to be more mobile. This design was the basis for the Lego RCX brick, released in 1998. The Lego RCX was the first of the Lego Mindstorms products, which are named after the Papert book. Mindstorms robotics kits quickly became an extremely popular educational resource, being used for robotics classes and competitions around the world.
In 2006, the NXT became the successor to the RCX. The NXT has an extra sensor port and Bluetooth communication and the basic kit adds an ultrasonic sensor as well as built-in rotation sensors on all the motors.

## Standard Components

The RCX kits come with the following standard components as well as a variety of building pieces:
* 2 Motors
* 1 Light Sensor
* 2 Lamps
* Built in IR Communication
The following Lego accessories are available for the RCX:
* Rotation Sensor
* Temperature Sensor
* Sound Sensor
The NXT kits come with the following standard components as well as a variety of building pieces:
* 3 Servo Motors (with built-in rotation sensors)
* 1 Light Sensor
* 1 Touch Sensor
* 1 Ultrasonic Sensor
* 1 Sound Sensor
* Built in Bluetooth Communication
The NXT kit also comes with adaptors that allow any of the RCX components to be used with the NXT.

## Programming Options

There are many options available for programming the Mindstorms bricks. The standard NXT kits may be purchased with either the NXT-G or Robolab programming software. Both are LabVIEW based visual programming languages – Robolab allows more advanced programming, and NXT-G is a bit more beginner-friendly. There are also many other programming languages available.

### NXT-G

NXT-G (Windows, Mac)
* Pros
** Easy to quickly create simple programs
** Programming flow is easy to see
** Included in standard kit
* Cons
** Somewhat limited capabilities
** Integers only – floating point numbers not supported
** Each basic math operation (addition, subtraction, multiplication, division) requires a separate block
** Comparatively slow execution speeds
** High memory usage.

### Robolab

Robolab (Windows, Mac)
* Pros
** Fairly easy to use
** Fairly advanced programming possible
** Very similar to LabVIEW environment
** Included in standard educational kit
* Cons
** Block connections can become confusing
** No good method for creating block set functions for reuse

### RobotC

RobotC(Windows)
* Pros
** Fast execution
** Advanced programming
* Cons
** Text based language is harder for beginners
** Must be bought separately from kit.

### LabVIEW Toolkit

LabVIEW Toolkit (Windows, Mac)
* Pros
** Free (restrictions apply)
** Can create blocks for use with NXT-G programming
** Advanced data analysis
** Common industry programming environment
* Cons
** Somewhat harder for beginners
** Advanced programming more limited than text based languages

### BricxCC

BricxCC (Windows)
* Free Windows IDE that supports many programming languages
** NQC (C-based language for the RCX)
** NXC/NBC (C-based and assembly code for the NXT)
** C/C++
** Pascal
** pbForth
** leJOS (Java)

## Third Party Accessories
### HiTechnic

HiTechnic accessories are packaged in standard Lego NXT sensor cases and can be purchased through Lego:
* 3-axis Accelerometer
* Gyro Sensor
* Color Sensor
* Compass Sensor
* RFID Sensor
* IRLink Sensor
* IRSeeker Sensor
* Electro Optical Proximity Detector
* Touch Sensor Multiplexor
* Prototyping Boards

### Vernier

Any Vernier sensors can be connected to Lego Mindstorms through an adapter cable.
* 25-g Accelerometer
* Barometer
* Charge Sensor
* Colorimetric
* Conductivity Probe
* Current Probe
* Differential Voltage Probe
* Dissolved Oxygen Probe
* Dual-Range Force Sensor Probe
* Electrode Amplifier
* Extra Long Temperature Probe
* Flow Rate Sensor
* Force Plate
* Gas Pressure Sensor
* Hand Dynamo meter
* Instrumentation Amplifier
* Light Sensor
* Low-g Accelerometer
* Magnetic Field Sensor
* O2 Gas Sensor
* ORP Sensor
* pH Sensor
* Relative Humidity Sensor
* Salinity Sensor
* Soil Moisture Sensor
* Sound Level Meter
* Stainless Steel Temperature Probe
* Surface Temperature Sensor
* Thermocouple
* Turbidity Sensor
* UVA Sensor
* UVB Sensor

### Mind Sensors

Mind Sensors has the following available accessories:
* Sony PS2 Controller Interface
* Vision Subsystem
* 8-channel Servo Controller
* Multi-sensitivity Acceleration Sensor
* Dual Infrared Obstacle Detector
* High/Low Range IR Distance Sensors
* Real time Clock
* Pneumatic Pressure Sensor
* Magnetic Compass
* RCX Motor Multiplexor
* RCX Sensor Multiplexor
Hi

## Lego Robotics Events, Challenges, and Acheivements

First Lego League hosts regional competitions for middle school students. A new competition board is created each year with theme-based tasks for the robots to accomplish within a set time limit. The students also are required to research real-world issues related to the selected theme.
RoboCup Junior is a robotics soccer competition. Lego Mindstorms was originally the primary construction kit used by most teams. Teams are not limited to the use of Legos, so more advanced teams also use more advanced technology.
The Botball competition utilizes Lego pieces as the building materials although more advanced controllers and sensors are used. The Lego RCX served as a primary controller in early years of the competition.
To commemorate the 10th anniversary of Lego Mindstorms, the High Altitude Lego Extravaganza sent 9 NXT controlled experiments over 99,500 ft. One NXT was released in order to make the longest recorded NXT freefall of 80 seconds before releasing a parachute.

## References

* ↑ Education and Technology: An Encyclopedia, By Ann Kovalchick, Kara Dawson, 2004, pgs 421-426
* ↑ http://el.media.mit.edu/logo-foundation/pubs/logoupdate/v7n1/v7n1-pbrick.html