Msc. Manuel Sánchez Chero
PROGRAMACIÓN DE ROBOT
LEGO NTX CON JAVA
manuelsanchezchero@gmail.com
http://www.lambayequeaprende.com
Objetivo
Proporcionar al participante los conocimientos
básicos para programar robots Lego Mindstorms
NXT usando el lenguaje de programación 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.
Lego -Línea de tiempo
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.
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.
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.
Lego Mindstorms NTX
Microcontrolador
 Microcontrolador 32 bit ARM7.
 256 Kbytes FLASH, 64 Kbytes RAM.
 Posee mayores capacidades de ejecución de
programas.
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.
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.
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 ).
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).
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.
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-
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
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.
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.
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.
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.
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).
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
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.
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
JAVA
Java Development Kit 6
 Descargar e instalar Java
Development Kit 6
 Update 16 o superior (java.sun.com)
http://java.sun.com
Driver NTX
 Obtener e instalar el MINDSTORMS
NXT
 Driver v1.02 o superior.
Incluido en el CD
LeJos NTJ
 leJOS NXJ es un ambiente de
programación Java para el Lego
Mindstorms NXT
LeJos NTJ
 Descargar e Instalar leJOS NXJ
 http://lejos.sourceforge.net/
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
La API LeJos NTJ
Paquete lejos.ntx
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.
Msc. Manuel Sánchez Chero
PROGRAMACIÓN DE ROBOT
LEGO NTX CON JAVA
manuelsanchezchero@gmail.com
http://www.lambayequeaprende.com
GRACIAS

Programacion kitlegontx java

  • 1.
    Msc. Manuel SánchezChero PROGRAMACIÓN DE ROBOT LEGO NTX CON JAVA manuelsanchezchero@gmail.com http://www.lambayequeaprende.com
  • 2.
    Objetivo Proporcionar al participantelos conocimientos básicos para programar robots Lego Mindstorms NXT usando el lenguaje de programación Java
  • 3.
    Lego  Empresa dejuguetes 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.
  • 4.
  • 5.
    Lego Mindstorms  Esun 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.
  • 6.
    Lego Mindstorms  Laversió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.
  • 7.
    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.
  • 8.
    Lego Mindstorms NTX Microcontrolador Microcontrolador 32 bit ARM7.  256 Kbytes FLASH, 64 Kbytes RAM.  Posee mayores capacidades de ejecución de programas.
  • 9.
    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.
  • 10.
    Lego Mindstorms NTX ServoMotores  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.
  • 11.
    Lego Mindstorms NTX ServoMotores – 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 ).
  • 12.
    Lego Mindstorms NTX ServoMotores – 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).
  • 13.
    Lego Mindstorms NTX Sensorde 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.
  • 14.
    Lego Mindstorms NTX Sensorde 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-
  • 15.
    Lego Mindstorms NTX Sensorde 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
  • 16.
    Lego Mindstorms NTX Sensorde 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.
  • 17.
    Lego Mindstorms NTX Sensorde 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.
  • 18.
    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.
  • 19.
    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.
  • 20.
    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).
  • 21.
    Lego Mindstorms NTX LenguajeAlternativos 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
  • 22.
    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.
  • 23.
    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
  • 24.
    JAVA Java Development Kit6  Descargar e instalar Java Development Kit 6  Update 16 o superior (java.sun.com) http://java.sun.com
  • 25.
    Driver NTX  Obtenere instalar el MINDSTORMS NXT  Driver v1.02 o superior. Incluido en el CD
  • 26.
    LeJos NTJ  leJOSNXJ es un ambiente de programación Java para el Lego Mindstorms NXT
  • 27.
    LeJos NTJ  Descargare Instalar leJOS NXJ  http://lejos.sourceforge.net/
  • 28.
    LeJos NTJ  leJOSNXJ 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
  • 29.
    La API LeJosNTJ Paquete lejos.ntx
  • 30.
    Paquete LeJos.ntx Las clasesy 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.
  • 31.
    Msc. Manuel SánchezChero PROGRAMACIÓN DE ROBOT LEGO NTX CON JAVA manuelsanchezchero@gmail.com http://www.lambayequeaprende.com GRACIAS