Lego Mindstorms NXT

Lego Mindstorms NXT
Logo of Lego NXT.
"Golf bot" — a robot built with the NXT set.

Lego Mindstorms NXT is a programmable robotics kit released by Lego in late July 2006.[1] It replaced the first-generation Lego Mindstorms kit, which was called the Robotics Invention System. The base kit ships in two versions: the Retail Version (set #8527)[2] and the Education Base Set (set #9797).[3] It comes with the NXT-G programming software, or optionally LabVIEW for LEGO MINDSTORMS. [4] A variety of unofficial languages exist, such as NXC, NBC, leJOS NXJ, and RobotC. A new version of the set, the new Lego Mindstorms NXT 2.0, was released on August 1, 2009, featuring a color sensor and other upgraded capabilities.

Contents

NXT Intelligent Brick

NXT Intelligent Brick

The main component in the kit is a brick-shaped computer called the NXT Intelligent Brick. It can take input from up to four sensors and control up to three motors, via RJ12 cables, very much similar to but incompatible with RJ11 phone cords. The brick has a 100x64 pixel monochrome LCD display and four buttons that can be used to navigate a user interface using hierarchical menus. It also has a speaker and can play sound files at sampling rates up to 8 kHz. Power is supplied by 6 AA (1.5 V each) batteries in the consumer version of the kit and by a Li-Ion rechargeable battery and charger in the educational version.

The Intelligent Brick remains unchanged with NXT 2.0. There is, however, a black version of the brick which has been made to celebrate the 10th anniversary of The Mindstorms System.

Firmware and developer kits

Lego has released the firmware for the NXT Intelligent Brick as Open Source, along with schematics for all hardware components.[5] This makes the LEGO NXT brick an open-source hardware system, though it is not marketed as such.

Several developer kits are available that contain documentation for the NXT:

  • Software Developer Kit (SDK), includes information on host USB drivers, executable file format, and bytecode reference
  • Hardware Developer Kit (HDK), includes documentation and schematics for the NXT brick and sensors
  • Bluetooth Developer Kit (BDK), documents the protocols used for Bluetooth communications

Programming

Very simple programs can be created using the menu on the NXT Intelligent Brick. More complicated programs and sound files can be downloaded using a USB port or wirelessly using Bluetooth. Files can also be copied between two NXT bricks wirelessly, and some mobile phones can be used as a remote control. Up to three NXT bricks can communicate simultaneously via Bluetooth when user created programs are run.

The retail version of the kit includes software for writing programs that run on Microsoft and Macintosh personal computers. The software is based on National Instruments LabVIEW and provides a visual programming language for writing simple programs and downloading them to the NXT Brick. This means that rather than requiring users to write lines of code, they instead can use flowchart like "blocks" to design their program.

NXT-G

NXT-G v1.0 is the programming software that comes bundled with the NXT. There are two different programming interfaces. One is included with the retail and educational kits and the other can be purchased separately. This software is adequate for basic programming, such as driving motors, incorporating sensor inputs, doing calculations, and learning simplified programming structures and flow control.

C# with Microsoft Robotics Developer Studio

Free tools (Visual Studio Express and the Robotics Developer Studio) allow you to program using the C# language. Sample Project on coding4fun Other languages are supported as well including IronPython and VB.NET

BricxCC, Next Byte Codes, Not eXactly C

Bricx Command Center (BricxCC) is the integrated development environment (IDE) used to write, compile, and edit NBC and NXC programs for the NXT. Also,as BricxCC was originally made for the RCX, programs for it can be written using NQC via BricxCC. Different firmwares can be flashed to the NXT using BricxCC.

BricxCC has many utilities such as NeXTExplorer (upload/download files, defragment the NXT, use file hex viewer), NeXTScreen (view what's on the NXT's LCD display, and capture images and video).

Next Byte Codes (NBC) is a simple open source language with an assembly language syntax that can be used to program the NXT brick. BricxCC also has the capability to decompile standard .rxe NXT executables to NBC

Not eXactly C (NXC) is a high level open-source language,[6] similar to C, built on the NBC compiler. It can also be used to program the NXT brick. NXC is basically NQC for the NXT.[7] It is one of the most widely used third-party programming languages for the NXT.

Robolab

Robolab 2.9 Robolab is the older programming environment originally used on the RCX programmable brick. Version 2.9 has been updated so that it can be used to program the NXT brick. Lego has announced that it will stop officially supporting Robolab but Robolab 2.9 is still available [1] and there are still many user forums and other sources of help available.

ROBOTC

Developed by the Carnegie Mellon Robotic's Academy, ROBOTC is a programming-language based on C for VEX, the new VEX Cortex, FIRST Tech Challenge, and Lego Mindstorms. ROBOTC runs a very optimized firmware which allows the NXT to run programs very quickly, and also compresses the files so that you can fit a large amount of programs into your NXT. Like other NXT languages, ROBOTC requires this firmware to be downloaded from the ROBOTC interface in order to run.

NXTGCC

NXTGCC is a GCC toolchain for programming the NXT firmware in C.

leJOS NXJ

leJOS NXJ is a high level open source language based on Java that uses custom firmware developed by the leJOS team.[8]

nxtOSEK

To be able to write in C/C++, nxtOSEK can be used, but that requires custom firmware too.[9]

ICON

To write files on the NXT itself, ICON by Steve Hassenplug is an ideal resource.

MATLAB and Simulink

  • MATLAB is a high-level programming language for numerical computing, data acquisition and analysis. It can be used to control LEGO NXT robots over a Bluetooth serial port (serial port communication is part of the base functionality of MATLAB) or via a USB connection; for example using the RWTH - Mindstorms NXT Toolbox (free & open-source).
  • Simulink is a MATLAB-based environment for modeling and simulating dynamic systems. Using Simulink, a user can design control algorithms, automatically generate C code for those algorithms, and download the compiled code onto the LEGO NXT.

MATLAB and Simulink code for LEGO MINDSTORMS NXT programming is freely available.

Lua

pbLua is a port of the Lua programming language, a general purpose scripting language, for Lego Mindstorms.

Ada

A port of GNAT is available for the NXT. It relies on a dedicated run-time kernel based on the Ravenscar profile, the same used on the Goce satellite: this permits to use high-level Ada features to develop concurrent and real-time systems on the MINDSTORMS NXT.

URBI

URBI is yet another language and is a parallel and event-driven language, with interfaces to C++/Java and Matlab. It also has a component architecture (UObject) for distribution. Urbi is compatible with many robots, including Nao (cf Robocup), Bioloid or Aibo.[10]

FLL NXT Navigation

FLL Nxt Navigation An open source program to help navigation on the FLL competition table. It uses NXT-G and .txt files to write programs.

ruby-nxt

ruby-nxt is a library to program the NXT for the Ruby programming language. Unlike the other languages for the NXT the code is not compiled to a binary file. Instead the code is directly transmitted to the NXT via a bluetooth connection.

Robotics.NXT

Robotics.NXT is a Haskell interface to NXT over Bluetoooth. It supports direct commands, messages and many sensors (also unofficial). It has also support for a simple message-based control of a NXT brick via remotely executed program (basic NXC code included).

LibNXT

LibNXT is a utility library for talking to the LEGO Mindstorms NXT intelligent brick at a relatively low level. LibNXT is targeted mainly at the platforms that the official Lego Minstorms NXT software overlooks, namely Linux and other unices. It will work on any POSIX-compliant operating system where libusb 0.1 (http://libusb.sf.net/) is supported. Windows support is also possible with the win32 port of libusb.

PyNXC

PyNXC is a project which converts Python code to "Not Exactly C" (NXC) code, to download to LEGO MINDSTORMS Robots.

Sensors

The Lego Mindstorms 1.0 base kit includes:[11]

  • 3 identical servo motors that have built-in reduction gear assemblies with internal optical rotary encoders that sense their rotations within one degree of accuracy.[12]
  • The touch sensor detects whether it is currently pressed, has been bumped, or released. The orange Enter button and the gray right and left NXT buttons can be programmed to serve as touch sensors. In the NXT-G programming software, a value of 0 is given out when it is not pressed, and a value of 1 is given out if it is pressed down.[13]
  • The light sensor detects the light level in one direction, and also includes a LED for illuminating an object. The light sensor can sense reflected light values (using the built-in red LED), or ambient light. In the NXT-G programming software the sensor senses light on a scale of 0 to 100, 100 being very bright and 0 being dark.[14] If calibrated, the sensor can also be used as a distance sensor.
  • The sound sensor measures volume level on a scale of 0 to 100, 100 being very loud, 0 being completely silent.
  • The ultrasonic sensor can measure the distance from the sensor to something that it is facing, and detect movement. It can show the distance in both centimeters and inches. The maximum distance it can measure is 233 cm with a precision of 3 centimeters. The ultrasonic sensor works by sending out ultrasonic sound waves that bounce off an object ahead of it and then back. It senses the time it took for that to happen.[15]

In the Lego Mindstorms 2.0 base kit, it includes: 2 Touch sensors, one Color sensor (detects different colors), and an Ultrasonic sensor.

These parts are not included in the Lego Mindstorms NXT base kit and may be bought separately:[16]

  • Third-party companies also manufacture sensors such as the compass, gyroscopic, RFID reader and accelerometer sensors sold by Lego.
  • The temperature sensor can measure temperature in Celsius or Fahrenheit.

The sensors come assembled and programmed. In the software (see Programming above), you can decide what to do with the information that comes from the sensors (for example you can program the robot move forward until it touches something).

Lego also sells an adapter to the Vernier sensor product line. Vernier produces data collection devices and related software for use in education.

Connector

Sensors are connected to the NXT brick using a 6-position modular connector that features both analog and digital interfaces. The analog interface is backward-compatible (using an adapter) with the older Robotics Invention System. The digital interface is capable of both I2C and RS-485 communication.

NXT Sensor Interface Pinout
Pin Name Function Color Pin Numbering
1 ANA Analog interface, +9V Supply Pin 1 - ANA
white
Rj25 connector.jpg
2 GND Ground Pin 2 - GND
black
3 GND Ground Pin 3 - GND
red
4 IPOWERA +4.3V Supply Pin 4 - IPOWERA
green
5 DIGIAI0 I2C Clock (SCL), RS-485 B Pin 5 - DIGIAI0
yellow
6 DIGIAI1 I2C Data (SDA), RS-485 A Pin 6 - DIGIAI1
blue

See also

Notes

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Lego Mindstorms NXT 2.0 — Other names Mindstorms NXT Mindstorms NXT 2.0 Parent theme Technic Availability 2009–Present …   Wikipedia

  • Lego Mindstorms NXT — est un jeu de construction et de robotique présenté par Lego en 2006. Il succède à la gamme Lego Mindstorms RCX. En 2010, Mindsorms NXT en est à sa version 2.0. Sommaire …   Wikipédia en Français

  • LEGO Mindstorms™ NXT — Lego Mindstorms NXT Le Mindstorm NXT Le NXT est la seconde version du robot Mindstorms fabriqué par Lego. La première version étant le Lego Mindstorms RCX. La particularité de ce robot est qu il est accessible à tous et que sa programmation est… …   Wikipédia en Français

  • Lego Mindstorms™ NXT — Lego Mindstorms NXT Le Mindstorm NXT Le NXT est la seconde version du robot Mindstorms fabriqué par Lego. La première version étant le Lego Mindstorms RCX. La particularité de ce robot est qu il est accessible à tous et que sa programmation est… …   Wikipédia en Français

  • Lego Mindstorms NXT 2.0 — Archivo:Lego Mindstorms NXT 2.0.JPG Caja del Lego Mindstorms NXT 2.0 Archivo:NXT Normal Brick.JPG Pieza NXT como se podría decir Cerebro del Robot Lego Mindstorms NXT 2.0 es un kit para construir robots de la línea Lego Mindstorms. Actualmente se …   Wikipedia Español

  • Lego Mindstorm NXT — Lego Mindstorms NXT Le Mindstorm NXT Le NXT est la seconde version du robot Mindstorms fabriqué par Lego. La première version étant le Lego Mindstorms RCX. La particularité de ce robot est qu il est accessible à tous et que sa programmation est… …   Wikipédia en Français

  • LEGO Mindstorms — (eigene Schreibweise LEGO Mindstorms) ist der Name einer Produktserie des Spielwarenherstellers Lego, die einen programmierbaren Legostein (RCX = Robotics Command System) sowie Elektromotoren, Sensoren und Lego Technik Teile (Zahnräder, Achsen,… …   Deutsch Wikipedia

  • Lego Mindstorms — (eigene Schreibweise LEGO Mindstorms) ist der Name einer Produktserie des Spielwarenherstellers Lego, die einen programmierbaren Legostein (RCX = Robotics Command System, bzw. NXT) sowie Elektromotoren, Sensoren und Lego Technik Teile (Zahnräder …   Deutsch Wikipedia

  • Mindstorms NXT — Lego Mindstorms NXT Le Mindstorm NXT Le NXT est la seconde version du robot Mindstorms fabriqué par Lego. La première version étant le Lego Mindstorms RCX. La particularité de ce robot est qu il est accessible à tous et que sa programmation est… …   Wikipédia en Français

  • LEGO Mindstorms — Le RCX version 1.0 Les Lego Mindstorms sont un projet du groupe Lego basé sur la brique « RCX » (Robotics Command System). La première brique RCX a été commercialisée en 1998. En 2006, Lego a annoncé une seconde génération de Lego… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”