Lego Mindstorms
From Free net encyclopedia
Lego Mindstorms is a line of Lego Group products combining programmable bricks with electric motors, sensors, Lego bricks, and Lego Technic pieces (such as gears, axles, beams, and pneumatic parts) to build robots and other automated or interactive systems.
Image:Lego mindstorms.JPG Lego Mindstorms is marketed commercially as the Robotics Invention System (RIS). It is also sold and used as an educational tool, originally through a partnership between Lego and the MIT. The educational version of the products is called Lego Mindstorms for Schools, and comes with the ROBOLAB GUI-based programming software.
Lego Mindstorms may be used to build a model of an embedded system with computer-controlled electromechanical parts. Almost all kinds of real-life embedded systems, from elevator controllers to industrial robots, may be modelled using Mindstorms.
There is a strong community of professionals and hobbyists of all ages involved in the sharing of designs, programming techniques, and other ideas associated with Lego Mindstorms.
The original Mindstorms RCX was released in 1998. In 2006, Lego announced a next-generation Mindstorms system called NXT, centered around a new programmable brick. [1] [2] The Lego Mindstorms NXT is due for release in August 2006.
Contents |
RCX
The first generation of Lego Mindstorms was built around a brick known as the RCX. It contains a Renesas H8/300 microcontroller as its internal CPU. The brick is programmed by downloading a program (written in one of several available programming languages) from a PC or Mac to the brick's RAM via a special infrared (IR) interface. After the users starts a program, an RCX-enabled Mindstorms creation may function totally on its own, acting on internal and external stimuli according to the programmed instructions. Also, two or more RCX bricks can communicate with each other through the IR interface, enabling inter-brick cooperation or competition. In addition to the IR port, there are three sensor input ports and three motor output ports (also usable for lamps, etc). There is also an LCD that can display the battery level, the status of the input/output ports, which program is selected or running, and other information.
Version 1.0 RCX bricks feature a power adapter jack to allow continuous operation instead of the limited operation time when using batteries. Power adapter-equipped RCX bricks are popular for stationary robotics projects (such as robot arms) or for controlling Lego model trains. In the latter context, the RCX needs to be programmed with Digital Command Control (DCC) software required for automated model train operation (see References, below, for an example of such software).
Lego also released a brick named the Scout, which has 2 sensor ports, 2 motor ports, a built in light sensor, and no PC interface. The Scout can be programmed, but the user usually selects one of a collection of built-in programs. In order to program the Scout, a user must enable "power mode" on it. The Scout can store one program.
Sensors
The RCX relies on sensors to interpret its environment. There are four kinds of sensors available in the Lego Mindstorms RCS line.
- A touch sensor, which senses something pressing against it.
- A light sensor, which reacts to changes in light intensity. It can also detect infrared.
- A rotation sensor, which can measure rotations or angles.
- A temperature sensor, which can measure temperature.
There are also a number of non-Lego sensors which are compatible with Lego Mindstorms, such as an ultrasonic range finder.
Available programming languages
Lego-supplied (both of them graphical):
- RCX Code (included in the Mindstorms consumer version sold at toystores)
- ROBOLAB (based on LabVIEW and developed at Tufts University)
Third-party (all of them textual except actor-lab):
- C and [[C++]]Template:Ref under BrickOS (formerly LegOS) or using QuiteC
- Java under leJOS or TinyVM
- Lego.NET
- NQC ("Not Quite C")
- OnScreen
- pbFORTH (extensions to the Forth programming language)
- PbrickDev
- PRO-BOT
- SqLego
- TclRCX
- Terrapin Logo
- Visual BasicTemplate:Ref label
- XS (a Scheme-like LISP dialect)
- actor-lab (http://actor-lab.open.ac.uk) graphic parallel programming language
Mindstorms SDK
Lego also offers a software development kit, which allows you to interact with the brick in any ActiveX enabled programming language. The SDK has function to get sensor values, turn motors on and off, get system stats (battery power) and other useful functions.
Lego Mindstorms NXT
Image:Lego Mindstorms NXT Sensors Motors.jpg Image:Lego Mindstorms NXT Robot.jpg The next product in the MindStorms series is MindStorms NXT, due to be released in August 2006[3]. The kit will include three servo motors, a touch sensor, a light sensor (now with the ability to differentiate between colours), a new sound sensor, an ultrasonic sensor and a new NXT 'Intelligent Brick'. The kit will be sold for $249 USD.
The NXT 'Intelligent Brick' will have a 32-bit ARM7 processor (the Lego FAQ website lists the new brick as having a second 8-bit processor with an unnamed architecture), a 60x100 pixel LCD matrix display, USB 2 port and Bluetooth wireless connectivity. The ARM7 processor will have access to 256 kilobytes of flash memory and 64 kilobytes of RAM, whilst the second processor will only have access to (a separate) 4 kilobytes of flash and 512 bytes of RAM. It will have four input and three output ports, though the current images seem to imply that the fourth port will be usable only for the ultrasonic sensor. The connector used on I/O sockets is not the same design used on the RCX and use ports similar to an RJ11 connector. Built into the brick itself, there is a loudspeaker with 8kHz sound quality. The brick requires 6 AA type batteries, Alkaline ones are recommended, though it will operate with rechargeable ones.
The Lego Mindstorms NXT Set will ship in two versions: The Retail Version and the Education Base Set. The NXT-Brick in the educational version will ship with a rechargeable battery and charger. However, this kit doesn't include any programming software which is sold separately (different software licenses: Personal, Classroom, Site).
More information can be found on either the Lego MindStorms website or on the Lego FAQ website.
NXT Brick
- 32-bit ARM7 main microprocessor
- 256KB flash memory
- 64KB RAM
- 60x100 pixel LCD matrix display
- Can be programmed using a PC or Mac
- Users create a program with new software, powered by LabVIEW from National Instruments
- A single USB 2.0 port
- Bluetooth wireless connectivity, to transfer programs to the NXT wirelessly or offer ways to control robots remotely (possibly by mobile phones and PDAs)
- Digital Wire Interface, allowing for third-party development of external devices
Parts
- 519 LEGO Technic parts
- Three servo motors, with built-in rotation sensors, and feedback for precise control
- Ultrasonic movement sensors
- Sound sensors, with sound pattern and tone recognition
- Light sensors, detecting different colors and light intensity
- Touch sensors (press/release detection)
References
- Bagnall, Brian (2002). Core Lego Mindstorms Prentice-Hall PTR. ISBN 0130093645
- Baum, Dave (2002). Definitive Guide to LEGO MINDSTORMS, 2nd ed. APress. ISBN 1590590635.
- Erwin, Benjamin (2001). Creative Projects with LEGO Mindstorms (book and CD-ROM). Addison-Wesley. ISBN 0201708957.
- Ferrari et al. (2001). Building Robots With LEGO Mindstorms: The Ultimate Tool for Mindstorms Maniacs. Syngress. ISBN 1928994679.
See also
External links
Various information resources and portals:
- Official Lego Mindstorms (NXT)
- Official Robotics Invention System
- BrickWiki Mindstorms Page
- A summary of information and links about many aspects of Mindstorms
- Carnegie Mellon's Robotics Academy
- DCC for the RCX – Mark Riley's LDCC firmware for the RCX
- An official blog about Mindstorms NXT
Programming languages and operating systems:
- Tufts University's ROBOLAB page
- leJOS - Java for the RCX Brick
- The NQC programming language
- The Transterpreter (occam runtime system)
- XS: Lisp on Lego Mindstorms
Tutorials:
The RCX's built-in H8/3292 microcontroller:
- Renesas H8/3297 Series documents (incl. H8/3292) – Technical updates, hardware and software manuals, application notes, etc.
Mindstorms NXT Links:
- Wired Magazine: Geeks in Toyland – Behind the scenes of the Mindstorms NXT User Panelde:LEGO Mindstorms