Taller: Construcción y Programación de Robots NXT con Java. M.I.A. Julio César Sandria Reynoso

Documentos relacionados
Julio C. Sandria Reynoso

CONTENIDO DEL CURSO. - Semana 1 - Capacitación. - Entrenamiento - Competencia. - Semana 2

mobile PhoneTools Guía de inicio rápido

REQUERIMIENTOS MINIMOS DE SISTEMA:

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Figura 3.1. Imagen del ambiente de programación llamado NXT G.

Programando con Enchanting

mobile PhoneTools Manual de instrucciones

Seminario de Informática. Unidad 2: Operaciones Básicas de Sistemas Operativos Windows XP

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario


MANUAL DE USUARIO LA NUEVA GENERACION EN TECNOLOGIA NM Reproductor de Audio Digital Portátil MP3

Servicio de Informática

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

EW1051 Lector de tarjetas inteligentes USB

GUÍA RÁPIDA DE. Instalación de los Controladores para cable de conectividad Nokia

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

INSTALACION Y CONFIGURACION DE SQL SERVER MANAGEMENT (EXPRESS) 2008

Guía de aprendizaje Audacity: guía de edición de sonido

MANUAL BÁSICO DE INFORMATICA

GUÍA RÁPIDA DE. Instalación de Nokia Connectivity Cable Drivers

INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA

Mondopad v1.8. Inicio rápido

Sesión 8 Sensor de Ultrasonido

Implantar Microsoft Software Updates Service (SUS)

GUÍA RÁPIDA DE NOKIA PC SUITE 4.81 PARA NOKIA 6310i

Procedimientos iniciales Instalar, conectar y utilizar su dispositivo Intelligent NAS

Tobii Communicator 4. Introducción

1 Introducción. 2 Requisitos del sistema. Control de presencia. V.1.0 Manual de instrucciones. Control de presencia. V.1.0 Manual de instrucciones

Paso 2 Una vez se ha completado la instalación y ejecutado el programa, veremos esto

Administración de la producción. Sesión 2: Sistema Operativo (Microsoft Windows XP)

ACCESS CONTROL. Aplicación para control y gestión de presencia. (Versión. BASIC) 1 Introducción. 2 Activación del programa

805 Photo Printer. Guía del controlador de la impresora

Instrucciones para la Actualización del Firmware de Sistema para los modelos AVH-X2550BT y AVH-X5550BT

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

ADMINISTRACIÓN FEDERAL DE INGRESOS PÚBLICOS

UNIVERSIDAD TECNICA DEL NORTE

Asistente para las actividades

Novedades de Adobe Dreamweaver CS5

INSTRUCCIONES ACTUALIZACION PASO A PASO a MICROSOFT WINDOWS-7 (rev.1.0):

HERRAMIENTA DE AJUSTES DEL PANEL SENSIBLE AL TACTO MANUAL DE INSTRUCCIONES

Instalación del Software Magaya

COLEGIO COMPUESTUDIO

Asistente para las actividades

Nokia Lifeblog 2.5 Nokia N76-1

Capítulo III. Software Utilizado

eserver TERATRONIX SA DE CV Tel: +52(33) , Tel/Fax: +52(33)

Manual de uso del software. RoboPlus. Octubre 6. Interconectividad de dispositivos Nombre del profesor: Emilio Vargas Soto

MANUAL DE USUARIO. Contenido

Manual de Palm BlueChat 2.0

INDICE. Página 2 de 23

Sistemas de almacenamiento informático

. ConSix Gestión. Abogados. Versiones Home / Advance. Manual de Instalación. Copyright

Intérprete entre el Operador y el Ordenador.

PV Applications Manager. Guía del usuario

WINDOWS. Iniciando Windows. El mouse

Para ver información sobre su computadora tales como el hardware y el software que está instalación necesario para acceder a la Ventana del sistema.

LEGO Mindstorms NTX 2.0 Lenguajes de Programación. UCR ECCI CI-2657 Robótica Prof. M.Sc. Kryscia Daviana Ramírez Benavides

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

PLATAFORMA DE LIBRO ELECTRÓNICO

MANUAL DE AYUDA INSTALACIÓN VERSIÓN DEMO

Se trata de una herramienta de desarrollo visual muy fácil de usar, con la que incluso los no programadores podrán desarrollar sus aplicaciones.

Lego Nxt desde Physical Etoys

PSI Gestión es un sistema multiusuario que le permite 2 tipos de configuraciones:

Visor de presupuestos en Android

Instalación y uso de Document Distributor 1

Token ikey 2032 de Rainbow. Guía instalación y uso para Internet Explorer

- 1 - ÍNDICE. Haga clic en Instalar Software. PASO 3: Primero le hará falta elegir su lengua en esta pantalla:

Instrucciones de instalación de IBM SPSS Modeler Server 16 para Windows

Instructivo para ingresar a la Demo On-Line de Manager2 GO!

Guía de instalación y control del software. DCANXT Remote-Control

Notas para la instalación de un lector de tarjetas inteligentes.

INSTALACIÓN DE NOKIA CONNECTIVITY CABLE DRIVERS

Programando el robot Lego Mindstorms NXT 2.0 con Java LeJOS

eclips Handheld Remote Control Software Updater

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

En las páginas a continuación, encontrará toda la información para utilizar efectivamente launch2net - Sony Ericsson Edition. Disfrútelo!

MANUAL TERMINALES X300 Manual Soporte Técnico.

Guía de uso del Cloud Datacenter de acens

Utilización del sistema operativo GNU/ Linux en las netbooks

El ordenador es un dispositivo electrónico que permite almacenar información, modificarla y generar nueva información.

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Personalizar Equipo. Junio 2011 Inserte el Tema de la Clase Diapositiva 1

Aplicación de protección con contraseña para los dispositivos flash USB de Verbatim

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este

Instalación. Interfaz gráfico. Programación de Backups. Anexo I: Gestión de la seguridad. Manual de Usuario de Backup Online 1/21.

La compañía Autodesk presenta la nueva versión de su aclamado

PRESTACIONES DEL SOFTWARE REQUISITOS MÍNIMOS DEL SISTEMA

Versiones Home / Profesional

Módulo 1 El lenguaje Java

Escritorio remoto y VPN. Cómo conectarse desde Windows 7

INSTALACIÓN DE LOS SISTEMAS CONTROL 2000

TERMOMED Cl. Uruguay, 11 7º despacho Valencia ( Valencia ) Tel. / Fax info@termomed.net

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

APUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows

Archivo Léame para la Impresora fotográfica digital Kodak ML-500

Sumario Instalación MDT V

CONTENIDO. Introducción

Switch to Click. Versión 1.5

CAPÍTULO 3 VISUAL BASIC

Transcripción:

Congreso Internacional de Tecnologías Aplicadas 27, 28 y 29 de Mayo de 2009 Xalapa, Ver. México Instituto Tecnológico Superior de Xalapa Taller: Construcción y Programación de Robots NXT con Java Julio.Sandria@RobotSA.com RobotSA

Objetivo Proporcionar al participante estrategias para la construcción de robots Lego Mindstorms NXT y reforzar sus conocimientos de programación Orientada a Objetos en Java. Se construirá un robot móvil con los motores y sensores del paquete NXT y se usarán algunos métodos avanzados de la interfaz de programación de aplicaciones Java para el NXT. 2

Agenda 1. Introducción 2. Interfaz de programación de aplicaciones Java 3. Piezas LEGO 4. Estrategias de construcción 5. Construcción de un robot móvil 6. Comunicación bluetooth 7. Programación del robot móvil 8. Mini-concurso de robótica 3

1. Introducción Lego Mindstorms El NXT Sensor de contacto Sensor de sonido Sensor de luz Sensor ultrasónico Servo motores Software Mindstorms NXT 4

Lego Mindstorms RIS 1.0 (1998), 1.5 (1999), 2.0 (2001) NXT (2006) 5

El NXT El NXT es el cerebro de los robots MINDSTORMS. Es un bloque LEGO que contiene una computadoracontrolador que permite a los robots MINDSTORMS tener vida y realizar diferentes tareas. Puertos para motores: A, B y C. Puertos para sensores: 1, 2, 3 y 4. Puerto USB. Conexión inalámbrica Bluetooth. Bocina Botones Pantalla 6

El NXT: Características técnicas Microcontrolador 32-bit ARM7 256 Kbytes FLASH, 64 Kbytes RAM Microcontrolador 8-bit AVR 4 Kbytes FLASH, 512 Bytes RAM Comunicación inalámbrica Bluetooth (Bluetooth Clase II V2.0) 4 puertos de entrada, cable de 6 hilos 3 puertos de salida, cable de 6 hilos Pantalla gráfica LCD de 100 x 64 pixeles Bocina - 8 khz calidad de sonido Fuente de poder: 6 baterías AA 7

Sensor de contacto El 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 el sensor de contacto 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. 8

Sensor de sonido El 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. 9

Sensor de luz El Sensor de Luz es uno de los dos sensores que le dan visión al robot. El Sensor de Luz 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. 10 Lo que ven nuestros ojos Lo que ve el sensor de luz

Sensor ultrasónico El Sensor Ultrasónico es uno de los dos sensores que le dan visión al robot. El Sensor Ultrasónico 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. El Sensor Ultrasónico 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. 11

Sensor ultrasónico El Sensor 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. 12

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. 13

Servo motor: 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 ). 14

Servo motor: 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). 15

Software Mindstorms NXT El software LEGO MINDSTORMS NXT permite programar el NXT desde una computadora y cargarle programas via USB o Bluetooth. El software intuitivo de arrastrar y soltar para Mac y PC, 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. 16

Software Mindstorms NXT Es fácil empezar a armar y programar robots con el LEGO MINDSTORMS NXT ya que el Software viene con instrucciones para armar y programar 4 interesantes modelos que se pueden armar y programar para que hagan lo uno desea. 17

Software Mindstorms NXT Se empieza seleccionando un modelo de robot para armar y programar. LEGO recomienda empezar con el TriBot ya que es una continuación del modelo incluido en la guía de inicio rápido (Quick Start) incluida en la caja del LEGO MINDSTORMS NXT. 18

Software Mindstorms NXT Requierimientos para Windows: 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) 19

Software Mindstorms NXT Requerimientos para Macintosh: Procesador PowerPC G3, G4, G5, mínimo a 600 MHz Apple MacOS X v. 10.3.9 ó 10.4 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)* 20

Software Mindstorms NXT El Software LEGO MINDSTORMS NXT es desarrollado por NI LabVIEW, un software de programación gráfica intuitivo usado por científicos e ingenieros de todo el mundo para diseñar, controlar y probar productos de consumo y sistemas tales como reproductores MP3 y DVD, teléfonos celulares y sistemas de seguridad de bolsas de aire en vehículos. Pathfinder de la NASA en Marte. Xbox de Microsoft. 21

2. Interfaz de programación de aplicaciones Java Java Development Kit lejos NXJ La Interfaz de Programación de Aplicaciones (API) lejos NXJ 22

Java Development Kit Obtener e instalar Java Development Kit 6 Update 12 o superior (java.sun.com) 23 http://java.sun.com

lejos NXJ lejos NXJ es un ambiente de programación Java para el Lego Mindstorms NXT. lejos NXJ Permite programar robots Lego NXT con Java 24

Instalación de lejos NXJ Obtener e instalar lejos NXJ 25 http://lejos.sourceforge.net

Cargar firmware al NXT 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 26

Compilar y cargar programas Desde una venta de símbolo de sistema se compilan y cargan programas al NXT Para compilar un programa: C:\x>nxjc programa.java NOTA: x es el directorio o trayecto en el que está el código fuente Java Para cargar un programa al NXT C:\x>nxj programa Ejemplos: HolaMundo.java y PruebaMotor.java 27

Ejemplo: HolaMundo.java import lejos.nxt.*; public class HolaMundo { public static void main (String[] args) { System.out.println("Hola mundo"); Button.waitForPress(); } } Ejercicio: 1. Copiar programa en bloc de notas 2. Guardarlo con nombre HolaMundo.java 3. Compilarlo 4. Cargarlo al NXT 5. Ejecutarlo en el NXT 28

Ejemplo: PruebaMotor.java import lejos.nxt.*; /** * Construcción y Programación de Robots NXT con Java (Mayo-2009) * @author Julio C. Sandria Reynoso */ public class PruebaMotor { public static void main(string[] args) { LCD.drawString("PruebaMotor", 0, 0); Motor.A.forward(); LCD.drawString("Forward", 1, 1); Button.waitForPress(); Motor.A.backward(); } } LCD.drawString("Backward", 1, 2); Button.waitForPress(); Motor.A.reverseDirection(); LCD.drawString("Forward", 1, 3); Button.waitForPress(); Motor.A.stop(); LCD.drawString("Stop", 1, 4); Button.waitForPress(); 29 Ejercicio: 1. Conectar un motor al puerto A del NXT 2. Copiar programa en bloc de notas 3. Guardarlo con nombre PruebaMotor.java 4. Compilarlo 5. Cargarlo al NXT 6. Ejecutarlo en el NXT

La API lejos NXJ Un robot se mueve dentro de una casa evitando objetos con el sensor de distancia. Si el sensor no detecta un objeto, el robot puede aún detectar si las ruedas están atoradas monitoreando un decremento en la velocidad de rotación. Si el robot se voltea puede usar un sensor de inclinación para identificar el problema. Puede usar su bocina para emitir voces que digan me caí. Puede tratar de levantarse él mismo. Tal robot puede estar solo durante horas, y cuando uno regresa podría aún estar explorando la casa. Esto es posible con lejos NXJ. Solo necesitamos saber dónde encontrar los métodos en la API. 30

La API lejos NXJ 31 lejos.nxt

Paquete lejos.nxt 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 32 RCXLightSensor RCXLink RCXMotor RCXMotorMultiplexer SensorPort Sound SoundSensor TiltSensor TouchSensor UltrasonicSensor

3. Piezas LEGO La mayor parte de las piezas del paquete Lego Mindstorms NXT son partes Lego Technic. La línea de productos Lego Technic está en el mercado desde 1977. Estas piezas difieren de las piezas estándar Lego en que se pueden usar para complejas máquinas con movimiento. 33

Piezas del NXT Todas las piezas del paquete NXT son de alta calidad. El proceso de moldeo no deja defectos y vestigios de plástico. El paquete NXT contiene 577 piezas, de las cuales 81 son únicas, mientras que el RIS, traía 141 partes únicas. 34

Piezas del NXT Beams Liftarms Pins Axles Axle accesories Tires and wheels Gears Cables otras partes 35

4. Estrategias de construcción Patrones de diseño Leyes LEGO Metas ingenieriles 36

Patrones de diseño Son medios en los cuales las piezas se ensamblan para producir una función específica. No hay necesidad de reinventar la rueda. Existen muchos patrones de diseño comunes que dan una idea de cómo empezar proyectos propios. 37

Patrones de diseño (2) Rueda loca Movimiento lateral Movimiento periódico Conexión de motores Dos ejes con un motor Diferencial Manejo de cables 38

Leyes LEGO Cuando la gente piensa en LEGO, se imagina pequeños cuadrados que se unen unos sobre otros. Al abrir un paquete Lego Mindstorms (RIS o NXT) uno cambia esa idea. 39

Leyes LEGO (2) Uniendo Beams Cambiando ejes en Beams Asegurando engranes 40

Metas ingenieriles Definir funcionalidad Diseñar alrededor de la funcionalidad Metas de diseño comunes 41

Metas de diseño comunes Velocidad Fuerza Poder Agilidad Estabilidad Exactitud Simetría Compacidad Minimalismo Robustez Modularidad 42

5. Construcción de un robot móvil Ver manual para armado del robot TriBot: PDF 43

6. Comunicación bluetooth Bluetooth icommand y RXTX Control remoto 44

icommand icommand es un proyecto paralelo a lejos NXJ, un paquete para control remoto del NXT desde una computadora. lejos NXJ corre en el bloque NXT. icommand corre en la computadora. 45

Instalación de icommand Asegurarse de tener la última versión de JDK instalada. Obtener icommand de www.lejos.org o lejos.sourceforge.net e instalarlo. Agregar icommand.jar y bluecove.jar a la variable CLASSPATH. 46

Instalación de RXTX Obtener RXTX de www.rxtx.org y extraer el contenido a una carpeta. Agregar RXTXcomm.jar a la variable CLASSPATH. RXTX tiene algunos DLL s, por lo que es necesario copiar los archivos DLL del trayecto \rxtx-2.1-7-binsr2\windows\i368-mingw32 a la carpeta bin de java. 47

Configurar puerto COM Abrir el Administrador de Dispositivos y buscar un puerto COM para el Bluetooth, para asignarlo a la variable rxtx.port del archivo icommand.properties. 48

Probar icommand Ejecutar el programa Beep que está en la carpeta samples de icommand: C:\...samples>java Beep Debe escucharse una melodía con bips. 49

Control Remoto Compilar y ejecutar el programa RadioControl que está en samples: C:\...samples>javac RadioControl.java C:\...samples>java RadioControl Se abre una ventana de Java Sobre esa ventana oprimir las teclas de movimiento de cursor: Arriba Abajo Izquierda Derecha El robot debe moverse 50

7. Programación del robot móvil Programas en el NXT Robot seguidor de línea Robot peleador de sumo Programas en la PC Robot peleador de sumo a control remoto Robot futbolista a control remoto 51

8. Miniconcursos de robótica Robot seguidor de línea Robot peleador de sumo Robot futbolista 52