sandria2009 pr nxt j 05e
TRANSCRIPT
-
7/22/2019 Sandria2009 Pr Nxt j 05e
1/57
Taller:
Programacin de
Robots Lego NXT con Java
M.I.A. Julio Csar Sandria [email protected]
RobotSA
Congreso Internacional de Tecnologas de Informacin y Robtica (CITIR09)
12 al 14 de Noviembre de 2009 Boca del Ro, Ver. Mxico
ACM Mexico Chapter
-
7/22/2019 Sandria2009 Pr Nxt j 05e
2/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com2
Objetivo
Proporcionar al participante los conocimientos
bsicos para programar robots Lego MindstormsNXT usando el lenguaje de programacin Java.
Se construir un robot mvil con los motores y
sensores del paquete NXT y se usarnalgunos mtodos bsicos Java para el NXT.
-
7/22/2019 Sandria2009 Pr Nxt j 05e
3/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com3
Agenda
1. Introduccin
2. Software Java y NXT3. Piezas LEGO
4. Estrategias de construccin
5. Construccin de un robot mvil
6. Programacin del robot mvil
7. Mini-concurso de robtica
8. Otros cursos y talleres
-
7/22/2019 Sandria2009 Pr Nxt j 05e
4/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com4
1. Introduccin
Lego
Lego Mindstorms El NXT
Sensor de contacto Sensor de sonido
Sensor de luz
Sensor ultrasnico
Servo motores
Software Mindstorms NXT
-
7/22/2019 Sandria2009 Pr Nxt j 05e
5/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com5
Lego
Compaa de juguetes que produce
ladrillitos de colores. Es uno de los juguetes ms populares del
platena.
-
7/22/2019 Sandria2009 Pr Nxt j 05e
6/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com6
Lego lnea de tiempo
-
7/22/2019 Sandria2009 Pr Nxt j 05e
7/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com7
Lego Mindstorms
RIS 1.0 (1998), 1.5 (1999), 2.0 (2001)
NXT (2006)
-
7/22/2019 Sandria2009 Pr Nxt j 05e
8/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com8
El NXT
El NXT es el cerebro de los robots MINDSTORMS. Esun bloque LEGO que contiene una computadora-
controlador que permite a los robots MINDSTORMStener vida y realizar diferentes tareas.
Puertos para motores: A, B y C.
Puertos para sensores: 1, 2, 3 y 4.
Puerto USB.
Conexin inalmbrica Bluetooth.
Bocina Botones
Pantalla
-
7/22/2019 Sandria2009 Pr Nxt j 05e
9/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com9
El NXT: Caractersticas tcnicas
Microcontrolador 32-bit ARM7
256 Kbytes FLASH, 64 Kbytes RAM
Microcontrolador 8-bit AVR
4 Kbytes FLASH, 512 Bytes RAM
Comunicacin inalmbrica Bluetooth (Bluetooth Clase IIV2.0)
4 puertos de entrada, cable de 6 hilos
3 puertos de salida, cable de 6 hilos
Pantalla grfica LCD de 100 x 64 pixeles
Bocina - 8 kHz calidad de sonido
Fuente de poder: 6 bateras AA
-
7/22/2019 Sandria2009 Pr Nxt j 05e
10/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com10
Sensor de contacto
El Sensor de Contacto le da al robot el
sentido del tacto. Detecta cuando estsiendo presionado por algo y cuando es
liberado.
Se puede usar el sensor de contacto parahacer que el robot sujete cosas: un brazo
robtico equipado con un
Sensor de Contacto permiteal robot saber si tiene o no
algo en su brazo para sujetar.
-
7/22/2019 Sandria2009 Pr Nxt j 05e
11/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com11
Sensor de sonido
El Sensor de Sonido puede detectardecibeles (dB) y decibeles ajustados (dBA).Un decibel es una medida de presin delsonido.
dBA: en la deteccin de decibelesajustados, la sensibilidad del sensor esadaptada a la sensibilidad del odo humano.
dB: en la deteccin de decibeles estndar(sin ajustar), todos los sonidos sonmedidos con igual sensibilidad.
-
7/22/2019 Sandria2009 Pr Nxt j 05e
12/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com12
Sensor de luz
El Sensor de Luz es uno de los dos
sensores que le dan visin al robot. ElSensor de Luz permite al robot distinguir
entre luz y obscuridad. Puede leer la
intensidad de luz en una habitacin y
medir la intensidad de luz de superficies
coloreadas.Lo que ven nuestros ojos
Lo que ve el sensor de luz
P i d R b t L NXT J M I A J li C S d i R
-
7/22/2019 Sandria2009 Pr Nxt j 05e
13/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com13
Sensor ultrasnico
El Sensor Ultrasnico es uno de los dos
sensores que le dan visin al robot. El SensorUltrasnico permite al robot ver y detectar
objetos. Tambin se puede usar para hacer que
el robot evada obstculos, sense y midadistancia y detecte movimiento.
El Sensor Ultrasnico mide distancia en
centmetros y en pulgadas. Es capazde medir distancias de 0 a 255 cm con
una precisin de +/- 3 cm.
P i d R b t L NXT J M I A J li C S d i R
-
7/22/2019 Sandria2009 Pr Nxt j 05e
14/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com14
Sensor ultrasnico
El Sensor Ultrasnico usa el mismo principioque los murcilagos: mide distanciamediante el clculo del tiempo que le toma auna onda de sonido golpear un objeto yregresar (as como el eco).
Los objetos grandes con superficie duraregresan las mejores lecturas. Los objetoshechos de material suave o que son curvos(como una pelota) o son muy delgados opequeos pueden ser difciles de detectarpor el sensor.
P i d R b t L NXT J M I A J li C S d i R
-
7/22/2019 Sandria2009 Pr Nxt j 05e
15/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com15
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 paraprogramar los motores, losdos motores se sincronizarnautomticamente, de modo que el robotse mover en lnea recta.
Programacin de Robots Lego NXT con Ja a M I A J lio Csar Sandria Re noso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
16/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com16
Servo motor: sensor de rotacin
Cada servo motor tiene incorporado un
Sensor de Rotacin. Esto permitecontrolar los movimientos del robot con
mucha precisin. El Sensor de Rotacin
mide rotaciones del motor en grados o
rotaciones completas (con
exactitud de +/- 1).
Programacin de Robots Lego NXT con Java M I A Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
17/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com17
Servo motor: sensor de rotacin
Una rotacin es igual a 360, de modo que
si se indica a un motor girar 180, susalida producir medio giro.
El Sensor de Rotacin incorporado encada motor tambin permite establecer
diferentes velocidades para los motores
(estableciendo diferentes parmetros depoder en el software).
Programacin de Robots Lego NXT con Java M I A Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
18/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com18
Software Mindstorms NXT
El software LEGO MINDSTORMS NXT
permite programar el NXT desde unacomputadora y cargarle programas via USB o
Bluetooth. El software intuitivo de arrastrar y
soltar para Mac y PC, co-desarrollado porNational Instruments LabVIEW, viene con
instrucciones de armado y guas de
programacin para empezar fcilmente aconstruir y programar robots con el
MINDSTORMS NXT.
Programacin de Robots Lego NXT con Java M I A Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
19/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com19
Software Mindstorms NXT
Es fcil empezar a armar y programar
robots con el LEGO MINDSTORMS NXTya 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.
Programacin de Robots Lego NXT con Java M I A Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
20/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com20
Software Mindstorms NXT
Se empieza seleccionando un modelo de
robot para armar y programar. LEGOrecomienda empezar con el TriBot ya que
es una continuacin del modelo incluido
en la gua de inicio rpido (Quick Start)
incluida en la caja del LEGO
MINDSTORMS NXT.
Programacin de Robots Lego NXT con Java M I A Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
21/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com21
Software Mindstorms NXT
Requierimientos para Windows:
Procesador Intel Pentium o compatible, mnimo a 800MHz
Windows XP Professional o Home Edition con ServicePack 2
256MB de RAM mnimo Hasta 300MB de espacio disponible en disco duro
Pantalla XGA (1024x768)
1 puerto USB disponible Lector CD-ROM
Adaptador Bluetooth compatible (opcional)
Programacin de Robots Lego NXT con Java M I A Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
22/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com22
Software Mindstorms NXT
Requerimientos para Macintosh:
Procesador PowerPC G3, G4, G5, mnimo a 600 MHz
Apple MacOS X v. 10.3.9 10.4
256MB de RAM mnimo
Hasta 300MB de espacio disponible en disco duro
Pantalla XGA (1024x768)
1 puerto USB disponible
Lector CD-ROM
Adaptador Bluetooth compatible (opcional)*
Programacin de Robots Lego NXT con Java M I A Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
23/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com23
Software Mindstorms NXT
El Software LEGO MINDSTORMS NXT es
desarrollado por NI LabVIEW, un software deprogramacin grfica intuitivo usado por
cientficos e ingenieros de todo el mundo para
disear, controlar y probar productos deconsumo y sistemas tales como reproductores
MP3 y DVD, telfonos celulares y sistemas de
seguridad de bolsas de aire en vehculos.Pathfinder de la NASA en Marte.
Xbox de Microsoft.
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
24/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com24
2. Software Java y NXT
Java Development Kit
Driver del NXT
Driver USB
leJOS NXJ La Interfaz de Programacin de
Aplicaciones (API) leJOS NXJ
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
25/57
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
www.RobotSA.com25
Java Development Kit
Obtener e instalar Java Development Kit 6
Update 16 o superior (java.sun.com)
http://java.sun.com
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
26/57
g g y
www.RobotSA.com26
Ejecutar Javac y Java
Asegurarse de poder ejecutarjavac.exe y
java.exe desde la lnea de comandos. Para compilar un programa:
C: \ J ava>j avac pr ogr ama. j ava Para ejecutar un programa
C: \ J ava>j ava pr ogr ama
Ejemplo:
Hol a. j ava
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
27/57
g g y
www.RobotSA.com27
Ejemplo Hola.java
Escriba, compile y ejecute el programa:
public class Hola {
public static void main (String[] args) {
System.out.println("Hola mundo");
}
}
Ejercicio:1. Copiar programa en bloc
de notas
2. Guardarlo con nombre
Hola.java
3. Compilarlo4. Ejecutarlo
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
28/57
g g y
www.RobotSA.com28
No se ejecuta javac.exe?
Agregar el trayecto donde se encuentra
javac.exe a la variable de ambientePATH. Para compilar Hola.java:
C: \ J ava>j avac Hol a. j ava Windows NO
encuentra javac.exe
Agregamos carpeta de
binarios a la variable
PATH
Windows SI encuentra
javac.exe y lo ejecuta,
compilando as el
programa Hola.java
Ejecutamos Hola.class
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
29/57
www.RobotSA.com29
Driver del NXT
Obtener e instalar el MINDSTORMS NXT
Driver v1.02 o superior.
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
30/57
www.RobotSA.com30
leJOS NXJ
leJOS NXJ es un ambiente de
programacin Java para el LegoMindstorms NXT.
leJOS NXJPermite programar
robots Lego NXT
con Java
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
31/57
www.RobotSA.com31
Instalacin de leJOS NXJ
Obtener e instalar leJOS NXJ
http://lejos.sourceforge.net
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
32/57
www.RobotSA.com32
Cargar firmware al NXT
leJOS NXJ requiere reemplazar el
firmware del NXT El firmware se puede instalar con:
El programa nxjflash en la lnea decomandos, o
El programa grfico nxjflashg
NOTA: Es necesario instalar el firmware leJOS
NXJ en el NXT para correr programas Java
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
33/57
www.RobotSA.com33
Compilar y cargar programas
Desde una venta de smbolo de sistema
se compilan y cargan programas al NXT Para compilar un programa:
C: \ J ava>nxj c pr ogr ama. j ava Para cargar un programa al NXT
C: \ J ava>nxj pr ogr ama
Ejemplos:
Hol aNXT. j ava y Pr uebaMot or . j ava
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
34/57
www.RobotSA.com34
Ejemplo: HolaNXT.java
import lejos.nxt.*;
public class HolaNXT {
public static void main (String[] args) {
System.out.println("Hola NXT");Button.waitForPress();
}
}
Ejercicio:
1. Copiar programa en bloc de
notas2. Guardarlo con nombre
HolaNXT.java
3. Compilarlo (nxjc)
4. Cargarlo al NXT (nxj)
5. Ejecutarlo en el NXT
Prueba usando nxj r HolaNXT
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
35/57
www.RobotSA.com35
Ejemplo: PruebaMotor.javaimport lejos.nxt.*;
/**
* Programacin de Robots Lego NXT con Java (Noviembre-2009)
* @author Julio C. Sandria Reynoso
*/
public class PruebaMotor {
public static void main(String[] args) {
LCD.drawString("PruebaMotor", 0, 0); // Escribir cadena en posicin x, y
Motor.A.forward(); // Avanzar motor A
LCD.drawString("Forward", 1, 1); // Escribir cadenaButton.waitForPress(); // Esperar hasta oprimir un botn
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();
}}
Ejercicio:
1. Conectar un motor al
puerto A del NXT2. Copiar programa en bloc
de notas
3. Guardarlo con nombre
PruebaMotor.java
4. Compilarlo (nxjc)5. Cargarlo al NXT (nxj)
6. Ejecutarlo en el NXT
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
36/57
www.RobotSA.com36
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 an detectar si las ruedas estnatoradas monitoreando un decremento en la velocidad
de rotacin. Si el robot se voltea puede usar un sensor
de inclinacin para identificar el problema. Puede usarsu 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 podra an estarexplorando la casa.
Esto es posible con leJOS NXJ. Solo necesitamos saber
dnde encontrar los mtodos en la API.
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
37/57
www.RobotSA.com37
La API leJOS NXJ
lejos.nxt
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
38/57
www.RobotSA.com38
Paquete lejos.nxt
Las clases y mtodos del paquete lejos.nxt
acceden directamente a las funciones del NXT
Battery
Button
ColorSensor
CompassSensor
I2CSensor
LCDLightSensor
Motor
MotorPort
RCXLightSensor
RCXLink
RCXMotor
RCXMotorMultiplexer
SensorPort
SoundSoundSensor
TiltSensor
TouchSensorUltrasonicSensor
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
39/57
www.RobotSA.com39
3. Piezas LEGO
La mayor parte de las piezas del paquete
Lego Mindstorms NXT son partes LegoTechnic.
La lnea de productos Lego Technic esten el mercado desde 1977.
Estas piezas difieren de las piezas
estndar Lego en que se
pueden usar para complejas
mquinas con movimiento.
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
40/57
www.RobotSA.com40
Piezas del NXT
Todas las piezas del paquete NXT son de
alta calidad. El proceso de moldeo no dejadefectos y vestigios de plstico.
El paquete NXT contiene 577 piezas, delas cuales 81 son nicas, mientras
que el RIS, traa 141 partes
nicas.
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
41/57
www.RobotSA.com41
Piezas del NXT
Beams
Liftarms Pins
Axles
Axle accesories
Tires and wheels
Gears
Cables
otras partes
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
42/57
www.RobotSA.com42
4. Estrategias de construccin
(En curso extendido) Patrones de diseo
Las piezas se ensamblan para producir unafuncin especfica.
No hay necesidad de reinventar la rueda.
Muchos patrones de diseo comunes dan
una idea para empezar proyectos propios.
Leyes LEGO Metas ingenieriles
Metas de diseo comunes
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
5 C t i d b t
-
7/22/2019 Sandria2009 Pr Nxt j 05e
43/57
www.RobotSA.com43
5. Construccin de un robot
mvil Ver manual para armar el robot TaskBot
Algunas piezas son de otro color Reemplazar pgina 16
por diapositivasiguiente
TaskBot
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
44/57
www.RobotSA.com44
Rueda loca
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
45/57
www.RobotSA.com45
TaskBot con sensor de luz
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
46/57
www.RobotSA.com46
6. Programacin del robot mvil
Programas en el NXT
Robot seguidor de lneaRobot peleador de sumo
Programas en la PC (usando Bluetooth encurso extendido)
Robot peleador de sumo a control remoto
Robot futbolista a control remoto
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
47/57
www.RobotSA.com47
Programas en el NXT
HolaNXT.java
PruebaMotor.java PruebaMotores.java
SensorLuz.java SensorContacto.java
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
48/57
www.RobotSA.com48
POO en el NXT
POO = Programacin Orientada a Objetos
nxbot.java nxbotDemo.java
nxbotContacto.java nxbotContLuz.java
nxbotSigueLinea.java
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
49/57
www.RobotSA.com49
Clase nxbotimport lejos.nxt.*;
/**
* Programacin de Robots Lego NXT con Java (Noviembre-2009)
* @author Julio C. Sandria Reynoso
*/
public class nxbot {
public static void avanza(int ms) throws InterruptedException {
Motor.A.forward();
Motor.C.forward();
Thread.sleep(ms); /* espera ms milisegundos */
}
public static void retrocede(int ms) throws InterruptedException {
Motor.A.backward();
Motor.C.backward();
Thread.sleep(ms);
}
public static void alto() {
Motor.A.stop();
Motor.C.stop();
}
}
Ejercicio:
1. Compilar esta clase.NOTA: no tiene mtodo
main()
2. Agregar mtodos
izquierda yderecha
3. Compilar al terminar deagregar ambos mtodos
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
50/57
www.RobotSA.com50
Clase nxbotDemo
import lejos.nxt.*;
/**
* Programacin de Robots Lego NXT con Java (Noviembre-2009)
* @author Julio C. Sandria Reynoso
*/
public class nxbotDemo extends nxbot {
public static void main(String[] args) throws InterruptedException {
LCD.drawString("nxbot", 0, 0);
avanza(1000);
retrocede(1000);
izquierda(1000);
avanza(1000);derecha(1000);
avanza(1000);
alto();
}
}
Ejercicio:
1. Compilar esta clase.2. Transferir al NXT y
ejecutar.
3. Modificar el programa para
que el NXT trace un 8
(ocho) en el suelo.
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
51/57
www.RobotSA.com51
7. Miniconcursos de robtica
Robot seguidor de lnea
Robot peleador de sumo (En curso
extendido)
Robot futbolista (En curso extendido)
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
52/57
www.RobotSA.com52
Robot seguidor de lnea
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
53/57
www.RobotSA.com53
Robot seguidor de lnea
Hacer programa nxbotSigueLinea
Ejercicio:1. Hacer el programa para
que el robot siga una lnea
negra.
2. Comparar con otros
equipos y mejorar suvelocidad.
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
54/57
www.RobotSA.com54
Seguidor de lnea bsico
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
55/57
www.RobotSA.com55
8. Otros cursos y talleres
Cursos y talleres de 3, 10, 20 ms horas
Introduccin al Lego Mindstorms NXT Programacin de Lego Mindstorms NXT con Java
Programacin avanzada de Lego Mindstorms NXT
con Java Diseo y construccin de robots usando
microcontroladores PIC de Microchip
Programacin de PICs con PICBasic, Ensamblador
o Niple
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
56/57
www.RobotSA.com56
Niple
Programacin de Robots Lego NXT con Java M.I.A. Julio Csar Sandria Reynoso
-
7/22/2019 Sandria2009 Pr Nxt j 05e
57/57
Gracias por su atencin!
M.I.A. Julio Csar Sandria [email protected]
Ing. Mauricio Vargas Drame
RobotSA Robtica, Sistemas y Automatizacin
http://www.RobotSA.com