Programacion kitlegontx java

31
Msc. Manuel Sánchez Chero PROGRAMACIÓN DE ROBOT LEGO NTX CON JAVA [email protected] http://www.lambayequeaprende.com

Transcript of Programacion kitlegontx java

Page 1: Programacion kitlegontx java

Msc. Manuel Sánchez Chero

PROGRAMACIÓN DE ROBOT LEGO NTX CON JAVA

[email protected]://www.lambayequeaprende.com

Page 2: Programacion kitlegontx java

Objetivo

Proporcionar al participante los conocimientosbásicos para programar robots Lego MindstormsNXT usando el lenguaje de programación Java

Page 3: Programacion kitlegontx java

Lego

Empresa de juguetes danesa reconocida principalmente por sus bloques de plásticos interconectables.

El nombre LEGO fue adoptado por la compañía en 1934, formado por la frase del danés "leg godt", que significa "juega bien".

Es uno de los juguetes más populares.

Page 4: Programacion kitlegontx java

Lego -Línea de tiempo

Page 5: Programacion kitlegontx java

Lego Mindstorms

Es un juego de robótica para niños. Posee elementos básicos de las teorías

robóticas: Unión de piezas Programación de acciones, en forma interactiva.

Este robot fue comercializado por primera vez en septiembre de 1998.

También se vende como herramienta educacional.

Page 6: Programacion kitlegontx java

Lego Mindstorms

La versión educativa se llama «Lego Mindstorms for Schools», en español Lego Mindstorms para la escuela y viene con un software de programación basado en la GUI de Robolab.

Lego Mindstorms fue uno de los resultados de la fructífera colaboración entre Lego y el MIT.

Page 7: Programacion kitlegontx java

Lego Mindstorms NTX

El bloque NXT es una versión mejorada del Lego Mindstorms RCX, que generalmente se considera la predecesora y precursora de los bloques programables de Lego.

El NXT es el cerebro de los robots MINDSTORMS. Contiene una microcontrolador que permite a los robots

tener vida y realizar diferentes tareas.

Page 8: Programacion kitlegontx java

Lego Mindstorms NTX

Microcontrolador Microcontrolador 32 bit ARM7. 256 Kbytes FLASH, 64 Kbytes RAM.

Posee mayores capacidades de ejecución de programas.

Page 9: Programacion kitlegontx java

Lego Mindstorms NTX

Comunicación Puertos para motores: A, B y C. Puertos para sensores: 1, 2, 3 y 4. Puerto USB. Conexión inalámbrica Bluetooth.

Page 10: Programacion kitlegontx java

Lego Mindstorms NTX

Servo Motores Los tres Servo Motores le dan al robot la

capacidad de moverse. Si se usa el bloque Move del software LEGO

MINDSTORMS NXT para programar los motores, los dos motores se sincronizarán automáticamente, de modo que el robot se moverá en línea recta.

Page 11: Programacion kitlegontx java

Lego Mindstorms NTX

Servo Motores – Sensor de Rotación Cada servo motor tiene incorporado un Sensor

de Rotación. Esto permite controlar los movimientos del robot con mucha precisión.

El Sensor de Rotación mide rotaciones del motor en grados o rotaciones completas (con exactitud de +/- 1°).

Page 12: Programacion kitlegontx java

Lego Mindstorms NTX

Servo Motores – Sensor de Rotación Una rotación es igual a 360°, de modo que si

se indica a un motor girar 180°, su salida producirá medio giro.

El Sensor de Rotación incorporado en cada motor también permite establecer diferentes velocidades para los motores (estableciendo diferentes parámetros de poder en el software).

Page 13: Programacion kitlegontx java

Lego Mindstorms NTX

Sensor de Contacto Le da al robot el sentido del tacto. Detecta cuando está siendo presionado por algo

y cuando es liberado. Se puede usar para hacer que el robot sujete

cosas: Un brazo robótico equipado con un Sensor de

Contacto permite al robot saber si tiene o no algo en su brazo para sujetar.

Page 14: Programacion kitlegontx java

Lego Mindstorms NTX

Sensor de Sonido Puede detectar decibeles (dB) y decibeles

ajustados (dBA). Un decibel es una medida de presión del sonido. dBA: en la detección de decibeles ajustados,

la sensibilidad del sensor es adaptada a la sensibilidad del oído humano.

dB: en la detección de decibeles estándar (sin ajustar), todos los sonidos son medidos con igual sensibilidad-

Page 15: Programacion kitlegontx java

Lego Mindstorms NTX

Sensor de Luz Es uno de los dos sensores que le dan visión al robot. Permite al robot distinguir entre luz y obscuridad. Puede leer la intensidad de luz en una habitación y medir

la intensidad de luz de superficies coloreadas.

Lo que ven nuestros ojos

Lo que ve el sensor de luz

Page 16: Programacion kitlegontx java

Lego Mindstorms NTX

Sensor de Ultrasónico Es uno de los dos sensores que le dan visión al robot. Permite al robot “ver” y detectar objetos. También se puede usar para hacer que el robot evada

obstáculos, sense y mida distancia y detecte movimiento. Mide distancia en centímetros y en pulgadas. Es capaz de medir distancias de 0 a 255 cm con una

precisión de +/- 3 cm.

Page 17: Programacion kitlegontx java

Lego Mindstorms NTX

Sensor de Ultrasónico Usa el mismo principio que los murciélagos: mide distancia

mediante el cálculo del tiempo que le toma a una onda de sonido golpear un objeto y regresar (así como el eco).

Los objetos grandes con superficie dura regresan las mejores lecturas. Los objetos hechos de material suave o que son curvos (como una pelota) o son muy delgados o pequeños pueden ser difíciles de detectar por el sensor.

Page 18: Programacion kitlegontx java

Lego Mindstorms NTX

Software - Firmware Consta de las instrucciones básicas para hacer las

distintas tareas. Viene en el CD-ROM, debe ser cargado todas las

veces que el robot se inicialice. Para cargar el firmware debe ejecutarse el

programa adjunto y luego esperar cerca de 3 minutos para que se cargue completamente el firmware básico.

Page 19: Programacion kitlegontx java

Lego Mindstorms NTX

Software – Mindstorms NTX Permite programar el NXT desde una computadora

y cargarle programas vía USB o Bluetooth. El software intuitivo de arrastrar y soltar. Co-desarrollado por National Instruments LabVIEW,

viene con instrucciones de armado y guías de programación para empezar fácilmente a construir y programar robots con el MINDSTORMS NXT.

Page 20: Programacion kitlegontx java

Lego Mindstorms NTX

Software – Requerimientos Procesador Intel® Pentium® o compatible, mínimo a 800 MHz. Windows XP Professional o Home Edition con Service Pack 2. 256MB de RAM mínimo. Hasta 300MB de espacio disponible en disco duro. Pantalla XGA (1024x768). 1 puerto USB disponible. Lector CD-ROM. Adaptador Bluetooth compatible (opcional).

Page 21: Programacion kitlegontx java

Lego Mindstorms NTX

Lenguaje Alternativos de Programación Puede ser programado con varias

interfaces, pero todos logrando el mismo fin, algunos de frameworks más conocidos: Bricks o Legos Lejos Not quite C

Page 22: Programacion kitlegontx java

Lego Mindstorms NTX

LeJos – Java for Lego Mindstorms En reemplazo del firmware del bloque, se instala una máquina virtual

de Java, lo cual permite el bloque sea programable en el lenguaje Java.

El procesos para el programador es más baja debido a la programación orientada a objetos que restringe LejOS.

El programa para lego Mindstorms NTX, es más utilizado por la transparencia de procesos tanto internos como externos.

El programador pierde la conciencia de los movimientos que se realiza en forma interna en el bloque.

Imposible añadir mejores capacidades de programación. Es muy utilizado por los estudiantes de primer año para

programación de máquinas.

Page 23: Programacion kitlegontx java

Lego Mindstorms NTX

Software – Java - NTX Java Development Kit Driver del NXT Driver USB leJOS NXJ La Interfaz de Programación de Aplicaciones (API) leJOS NXJ

Page 24: Programacion kitlegontx java

JAVA

Java Development Kit 6 Descargar e instalar Java

Development Kit 6 Update 16 o superior (java.sun.com)

http://java.sun.com

Page 25: Programacion kitlegontx java

Driver NTX

Obtener e instalar el MINDSTORMS NXT

Driver v1.02 o superior.

Incluido en el CD

Page 26: Programacion kitlegontx java

LeJos NTJ

leJOS NXJ es un ambiente de programación Java para el Lego Mindstorms NXT

Page 27: Programacion kitlegontx java

LeJos NTJ

Descargar e Instalar leJOS NXJ http://lejos.sourceforge.net/

Page 28: Programacion kitlegontx java

LeJos NTJ

leJOS NXJ requiere reemplazar el firmware del NXT

El firmware se puede instalar con: El programa nxjflash en la línea

de comandos, o El programa gráfico nxjflashg

NOTA: Es necesario instalar el firmware leJOS NXJ en el NXT para correr programas Java

Page 29: Programacion kitlegontx java

La API LeJos NTJ

Paquete lejos.ntx

Page 30: Programacion kitlegontx java

Paquete LeJos.ntx

Las clases y métodos del paquete lejos.nxt acceden directamente a las funciones del NXT.

Battery. Button. ColorSensor. CompassSensor. I2CSensor. LCD. LightSensor. Motor. MotorPort.

SensorPort. Sound. SoundSensor. TiltSensor. TouchSensor. UltrasonicSensor. RCXLightSensor. RCXLink. RCXMotor.

Page 31: Programacion kitlegontx java

Msc. Manuel Sánchez Chero

PROGRAMACIÓN DE ROBOT LEGO NTX CON JAVA

[email protected]://www.lambayequeaprende.com

GRACIAS