Matriz de integración de tecnologías- Paola Carvajal.docx
Lego NXT
1. LEGO MINDSTORMS
Trabajo realizado para la asignatura de
Diseño de Microrrobots Móviles de la
Universidad de Alcalá
por:
Estela Díaz López
Ignacio Esperabe de Arteaga del Alamo
Rubén Fernández Carnicero
David Gualda Gómez
Julián Manzano D’Onofrio
José Antonio Martín Esteban
Javier Mateos Andaluz
Luis de Santiago Rodrigo
Noviembre 2006
¿QUÉ ES LEGO MINDSTORMS?
Plataforma completa
de desarrollo de robots
móviles.
Basada en la unión de
bloques
interconectables
Los sensores y
actuadores se
conectan mediante
simple presión.
Dos modelos
1
2. ¿Por qué usar LEGO Mindstorms?
Fácil de montar y
desmontar
Muy extendido por
todo el mundo
Posibilidad de
múltiples ampliaciones
Múltiples lenguajes de
programación
Muy indicado para
entornos educativos
Desventajas LEGO Mindstorms
Estructura débil
Difícil adaptar a
diseños específicos
Colocación de las
pilas
2
3. Descripción hardware
Los brick controladores
de Lego Mindstorms
DESCRIPCIÓN HARDWARE DE LOS BRICK CONTROLADORES
RCX NTX
3
4. RCX
MICROPROCESADOR HITACHI H8/392
16 MHZ
5V
ROM 16 KB
RAM 512 B
RAM 32 KB
2 TEMPORIZADORES DE 8 BITS
1 TEMPORIZADOR DE 16 BITS
1 CONVERSOR A/D DE 8 BITS
1 ALTAVOZ
3 PUERTOS DE ENTRADA
3 PUERTOS DE SALIDA
4 BOTONES DE CONTROL
1 PANTALLA LCD
COMUNIACION VIA INFRARROJOS
ALIMENTACION CON 6 PILAS AA/LR6
5 PROGRAMAS IMPLEMENTADOS Y
CARGADOS
Puertos de entrada
Sensores pasivos
4
5. Puertos de entrada
Sensores Activos
S cerrado 3ms alimenta al sensor
S abierto 0.1ms lee el sensor
Puertos de salida
Solo 2 hilos direccion asociada
Modulacion PWM
Cada 8ms
8 posibles anchos 8 potenicas
distintas
5
6. Comunicación por Infrarrojos
Distancia máxima de separación 30m en condiciones optimas. Lo
normal entre 10 y 15m.
NXT
MICROPROCESADOR ARM-7 DE 32
BITS (AT91SAM7S256 de Atmel )
48 MHz
FLASH 512 KB
RAM 64 KB
MICROCONTROLADOR AVR 8 PINES
(ATmega48 de Atmel) GESTION
I/O
8 MHz
FLASH 4KB
RAM 512 B
3 PUERTOS DE SALIDA
4 PUERTOS DE ENTRADA
1 PUERTO USB (12 MBIT/S)
4 BOTONES DE CONTROL
1 PANTALLA LCD
1 ALTAVOZ
COMUNICACIÓN VIA BLUETOOTH
ALIMENTACION CON 6 PILAS AA O
CON BATERIA DE LITIO
6
7. INTERFAZ DE LOS PUERTOS
CONECTOR SIMILAR AL TELEFONICO.
TIENE 6 HILOS PERO LA PESTAÑA A LA
DERECHA
ESQUEMATICO DE UN PUERTO DE SALIDA
ESQUEMATICO DE UN PUERTO DE ENTRADA
7
8. Pantalla LCD
UltraChip 1601
17 mS
1000 x 64 píxel
Blancos y negros
26 x 40,6 mm
Diferencias hardware
8
9. Los Sensores de Lego
Sensor de Contacto
electrical flow
force voltage
m easurement
Permite detectar los
obstaculos encontrados
en el camino del robot.
9
10. Sensor de Luz
Mide el nivel de luz como un
número entre 0% (oscuridad
total) y 100% (muy brillante).
Toma muestras
cada 2,9 msg,
transmitiendo
una señal cada
100 μsg.
Sensor de Rotación
Mide la rotación de un eje.
El sensor de rotación
entrega una conjunto de
pulsos o ciclos de voltaje.
Permite conocer distancias
recorridas, dirección del
robot, o un angulo en un
determinado instante.
10
11. Sensor de Temperatura
Este sensor posee un
termistor, que le permite
medir temperaturas entre
-20 y 50 grados
centigrados. Termistor (Resistor térmico)
En este caso el valor de la
señal transmitida
dependera de la
temperatura medida.
Sensor de ultrasonidos
Utiliza el principio del
eco, para detectar los
objetos que se
encuentran a su
alrededor.
Es capaz de ver hasta
una distancia de 2,55m,
con una precision de
+/- 3cms.
11
12. Sensor de sonidos
Permite al robot captar sonidos.
De esta manera puede
responder a ordenes desde el
exterior que previamente han
sido programadas.
Tambien puede distinguir otro patrones de
sonido, incluso tonos musicales.
Los Motores de Lego
Motor Technic 71427 Motor NXT
12
13. Motor Technic 71427
Aparece en 1997 con el kit RCX.
Supone la mejor opción.
Motor muy ligero, tan solo 42 g.
No presenta reducción interna.
Se calienta bastante (disipa 3w), si
frenamos el eje, con un consumo de
0,36 A.
Motor NXT
Aparece en 2005 con el kit NXT.
Incluye un encoder para controlarlo.
Motor bastante voluminoso, 80 g.
Viene reducido internamente debido a
su gran fuerza.
Hay que prestar atención, pues si se
frena, se quemaría, debido a un
consumo de hasta 2 A.
13
14. Caracteristicas
Rendimiento
Velocidad
Corriente Potencia
de rotación
12 V η%
71247 375 rpm 0.12 A 1.5 W 61 %
NXT 177 rpm 0.58 A 6.96 W 44.5 %
Faulhaber
8000 rpm 0.57 A 4.05 W 82%
012 SR
LENGUAJES DE PROGRAMACIÓN
PARA LEGO
RCX CODE
ROBOLAB
NQC
LEGOS
BRICOS
INTERACTIVE C
LEJOS
LABVIEW
OTROS (Basados en el control Spirit.ocx
VisualBasic, VisualJava…)
14
15. RCX Code
Características generales:
Entorno de programación gráfico suministrado por Lego.
Solo para Windows.
No es código libre.
Uso doméstico.
No hay variables.
Usa el firmware de LEGO.
Tiene muchas limitaciones (aplicaciones básicas).
ROBOLAB
Características principales:
Ideal para iniciarse en el “mundo” de lego
No requiere conocimientos de programación
Es un lenguaje fácil e intuitivo
Permite el desarrollo de aplicaciones
multitarea
Se basa en diagramas de flujo
Se estructura en diversos modos de
programación
15
16. ROBOLAB
Modos de programación:
Modo pilot
Modo inventor
Modo investigator
ROBOLAB
Modo pilot:
Se estructura en cuatro niveles de menor a mayor
dificultad para familiarizarse con los símbolos
Su característica principal es el uso de plantillas ya
diseñadas
Bajo grado de libertad de programación
16
17. ROBOLAB
Modo pilot:
ROBOLAB
Modo inventor:
Se estructura en cuatro niveles de menor a mayor
dificultad.
No se basa en plantillas ya diseñadas
Permite el desarrollo de aplicaciones complejas
Posee funciones para generar sentencias, repeticiones,
multitarea, sonidos, etc.
17
18. ROBOLAB
Modo inventor:
ROBOLAB
Modo investigator:
Convierte al núcleo en una herramienta de adquisición de
datos
Destinado a usuarios más avanzados
Permite elaborar un informe a partir de un procesamiento
de datos
No nos es de gran utilidad para el desarrollo de aplicaciones
autónomas
18
19. NQC
Características principales:
Requiere la plataforma RCX Command Center para
poder programar en este lenguaje
Lenguaje basado en C
Gran capacidad para el desarrollo de aplicaciones
complejas
Múltiples funciones para el manejo de los sensores y
motores así como el altavoz y la pantalla LCD
Permite desarrollar hasta diez tareas diferentes
Tiene la capacidad de soportar aplicaciones con
múltiples subrutinas y funciones.
NQC
El entorno RCX COMMAND CENTER:
19
20. LegOs
Características generales:
Sistema operativo libre.
Carga dinámica de programas y módulos.
Posibilidad de realizar programas multitarea.
Gestión de memoria dinámica.
El acceso a los 32K de memoria RAM.
Existencia de drivers para todos los subsistemas del
ladrillo.
Permite el uso completo del lenguajes de programación
elegidos.
Herramientas relacionadas con LegOs:
LegoSim.
EmuLegOs.
WebLegOs.
BrickOS
Características
Es un sistema operativo libre
Permite carga dinámica de programas
Permite gestión de memoria dinámica
Provee controladores para todos los
subsistemas
Permite la gestión de tareas con prioridad
Provee el uso de semáforos POSIX
Los programas pueden estar escritos en C o
C++
20
21. Interactive C
Características
Compilador multitarea
Basado en el lenguaje C
Permite compilar y evaluar expresiones
de modo interactivo
LeJoS
Características generales
Sistema operativo basado en TinyVM.
Con este API se pueden desarrollar programas para el RCX
bajo Java.
Código libre.
Incluye threads, arrays multidimensionales, recursividad,
operaciones en coma flotante, funciones trigonométricas, etc.
21
22. LabVIEW
¿Qué es LabVIEW?
lenguaje de programación gráfico
diseño de sistemas de adquisición de datos,
instrumentación y control
Diseño de interfaces de usuario mediante
una consola interactiva basada en software
Fácil integración con hardware,
específicamente con tarjetas de medición,
adquisición y procesamiento de datos
LabVIEW
Aplicaciones
Sistemas de medición
Monitoreo de procesos
Aplicaciones de control
Procesos de control industrial
Procesamiento digital de señales
Robótica
22
23. LabVIEW
Características
Mas potencia que el Robolab
Ampliación de características mediante los toolkit
Posibilidad de tiempo real mediante toolkit
Soporte de tarjetas de adquisición de datos
Control remoto
Programa de pago
Precio alto
versión básica 1249.00 €
Versión profesional 4249.00 €
toolkit de LEGO 18 €
LabVIEW
23
24. LENGUAJES BASADOS EN EL
CONTROL SPIRIT.OCX
Lenguajes de programación que
admite:
Visual Basic
Visual java
Visual c
LENGUAJES BASADOS EN EL
CONTROL SPIRIT.OCX
Características principales de estos
lenguajes:
Programación orientada a objetos
Requiere gran conocimiento del lenguaje
Ofrece múltiples posibilidades
Desarrollo de aplicaciones complejas
24
25. VISUAL BASIC
Características principales:
Lenguaje orientado a objetos sencillo
Fácil programación y sintaxis simple
Ofrece muchas posibilidades
Lego Mindstorms en la
educación
Especialmente pensado para su uso en la escuela
Facilidad de montaje
Facilidad de programación
…pero exportable a tareas más complejas aunque con
limitaciones
Mala relación resistencia-peso
Precio etc
Un caso práctico: grupo Complubot
http://complubot.educa.madrid.org/
25
26. Método de trabajo
Comprometer al alumno con un problema implementable
tecnológicamente mediante un robot → que se lo tome como algo
personal
Asegurarse que se ha entendido el problema
Hacer grupos compatibles
Chicos, chicas… ¿Grupos multidisciplinares?
Buscar la cooperación. Algo más que un aprendizaje informal.
Guiarlos, pero que descubras ellos sólo el camino bueno
Hay múltiples soluciones correctas
…y algunas no → No crear falsas expectativas
PRUEBA Y ERROR
Cuando les salga, hacer patente el conocimiento empleado
Objetivos buscados
Fomentar:
Imaginación
Habilidades como:
El diseño, construcción o programación
Resolución de problemas aparentemente sencillos
Tenacidad: El mismo es su mejor maestro
Buscar la cooperación entre niños. Fomenta:
Capacidades de trabajo en equipo
El liderazgo
La toma de decisiones
La ciencia también puede ser entretenida
26
27. Competiciones de Lego
El diseño, la construcción y la programación de
los robots son una actividad perfecta para la
competición
¿Se comportará el robot como esto debería?
¿Cómo puede esto funcionar más con exactitud, rápidamente, y
más sofisticadamente?
A los niños les gusta éste tipo de desafíos y
sobretodo si les lleva a competir contra otros.
First Lego League (FLL)
Dirigida a estudiantes entre 9 y 14 años.
Anual y con temáticas diversas.
Ej: En el 2006, el tema era la nanotecnología
Fases de la competición:
Construcción de robot durante 8 semanas, verificar que se
ajusta a la normativa, defensa ante un jurado etc
Competición local, en donde se podrán clasificar para las
regionales, estatales y a la final mundial.
El año pasado, de los 80.000 estudiantes que se presentaron
de todo el mundo organizados en 7000 equipos llegaron a la
final 82 equipos, que se celebró en Atlanta.
Éste año se va a celebrar una prueba clasificatoria en
Barcelona.
27
28. Robocampeones (desde el 2003)
Organizado por la Universidad Rey Juan Carlos
Dirigida a colegios e institutos para fomentar entre los
alumnos de secundaria el interés por las carreras
técnicas como las ingenierías (Informática,
Telecomunicación, Industriales, etc.)
Estas carreras normalmente se perciben como algo
difícil y aburrido.
Ultima competición:
Prueba “El transportista”
Prueba de Fútbol 2+2
Ejemplos
Mecánico: Grúa
http://www.telepresence.strath.ac.uk/jen/lego/demag_crane.htm
De Programación: Cubo de Rubik
http://jpbrown.i8.com/cubesolver.html
28