¿Qué es este blog?

La idea de este blog nace para compartir los avances que se vayan realizando a lo largo de un estudio sobre cómo interconectar los distintos sensores que se pueden encontrar en el mercado, o fabricar de forma casera, con la plataforma Mindstorms de LEGO. Para ello se hará uso ARDUINO, un entorno de desarrollo abierto basado en microcontrolador.
Mostrando entradas con la etiqueta nxc. Mostrar todas las entradas
Mostrando entradas con la etiqueta nxc. Mostrar todas las entradas

lunes, 29 de noviembre de 2010

LEGO Mindstorms

Para desarrollar este trabajo se ha usado el último modelo de LEGO Mindstorm disponible en el mercado, el NXT. Estásta formado por un kit que incluye: el ladrillo NXT, múltiples sensores (luz/color, ultrasonidos, contacto, sonido), motores y cableado eléctrico, y el set de construcción habitual de la línea Technic, formado por miles de piezas entre ellas juegos de engranajes y poleas para conectar a los motores. En la siguiente figura se ve el NXT con algunos de los sensores y actuadores disponibles para el mismo:
 A continuación se presenta una lista de las características electrónicas del NXT, que se han extraído del manual de LEGO:
                           
-                     El procesador principal es el ARM de Atmel AT91SAM7S256 cuyas principales características son:
o   Es un procesador de 32 bits
o   Incorpora 256 Kb de memoria Flash
o   Tiene 64 Kb de memoria RAM
o   Funciona a 48 Mhz.
-                     El robot lleva también un coprocesador AVR de Atmel, modelo  ATmega48 que tiene:
o   4 Kb de memoria Flash
o   512 Bytes de RAM
o   Funciona a 8 Mhz.
-                     El robot es capaz de mantener conexiones Bluetooh gracias a una unidad de comunicaciones formada por un módulo CSR BlueCoreTM 4 v2.0 con sistema EDR. Sus características son:
o   Soporta Perfiles por Puerto Serie (SPP)
o   Tiene 47 KBytes de memoria RAM interna
o   Contiene 8 Mb de memoria FLASH externos
o   Trabaja a 26 MHz.
-                     Se puede comunicar con el PC también mediante USB 2.0, funcionando a 12 Mbits/s
-                     Existen 4 puertos de entrada con interfaz de 6 hilos, tal y como se describirá en los subsiguientes apartados.
o   Todos los puertos de salida soportan el protocolo I2C
o   Uno de los puertos es de alta velocidad: IEC 61158 tipo 4/EN 50170 compatible.
-                     Existen 3 puertos de salida con interfaz de 6 hilos y soporte para lectura de codificadores
-                     En el centro del robot se encuentra un display gráfico LCD de 100x64 pixeles (en blanco y negro).
-                     El altavoz de salida del robot tiene una resolución de 8 bits, y soporta tasas de muestreo de 2 a 16 KHz.
-                     El usuario puede interactuar con el robot mediante 4 botones de goma
-                     La alimentación del robot se puede hacer mediante 6 pilas alcalinas de tipo AA, o bien mediante una batería de Ion Litio de 1400 mAH, siendo esta última opción la que nosotros hemos usado.
-                     Los conectores de 6 hilos son estándar industrial, de tipo RJ12 con ajuste a derechas.

Fases del trabajo

  1. Estudio de la E/S del robot. Se recabará toda la información disponible en la literatura y se elaborará un informe final que permita conocer las características completas de las entradas sensoriales del robot, incluyendo el acceso a las mismas en diferentes lenguajes de programación del NXT (NXC y LejOS).
  2. Determinación de la funcionalidad necesaria para conectar sensores simples al NXT: tipos de entradas, características de alimentación, …).
  3. Determinación de la funcionalidad necesaria para conectar sensores complejos al NXT.
  4. Diseño de un interfaz hardware, lo más genérico posible, que permita conectar al NXT diferentes tipos de sensores. Será necesario evaluar la posibilidad de usar sistemas basados en microcontroladores comerciales (PIC) o abiertos (Arduino), y establecer toda la circuitería correspondiente.
  5. Implantación del interfaz.
  6. Pruebas reales con un NXT y diferentes tipos de sensores

Objetivos de este trabajo

Los objetivos de este trabajo son los siguientes:

     - Obtener una caracterización completa de la entrada sensorial de los robots LEGO Mindstorms NXT.

     - Analizar las posibilidades de implantación de un interfaz hardware que permita conectar al NXT sensores personalizados simples (por ejemplo, pasivos) o complejos (por ejemplo, sensores láser de distancia)

     - Diseñar un sistema de interfaz entre un NXT y sensores personalizados que sea lo más genérico posible y pueda abarcar tanto sensores simples como sensores más complejos.