Robótica Inteligente
LEgo Java Operating System
(LeJOS)
L. E. Sucar / Alberto Reyes
Guía de Instalación
• Descargar el JDK 5.0 Update 1 y
documentación de
http://java.sun.com/j2se/1.5.0/download.jsp
• Descargar JCreator Light Edition (LE) versión
3.5 de http://www.jcreator.com/download.htm
• Instalar JDK y agregar/crear variable de
usuario Path con ruta a carpeta bin del JDK.
• Instalar JCreator y verificar el acceso a las
herramientas del JDK.
Variable de entorno Path
Guía de Instalación
• Descargar LeJOS y su documentacion de
http://lejos.sourceforge.net
• Crear una variable de ambiente
LEJOS_HOME cuyo valor es la ruta a la
carpeta de LeJOS (solo para uso de
consola)
• Crear una variable de ambiente RCXTTY
indicando el puerto donde se conecta la
torre de infrarrojos. Ej. USB
Variable de entorno RCXTTY
Ejemplo de un batch file
• Si se desea ejecutar lejos por consola
generar el siguiente archivo batch
•
•
•
•
•
set JAVA_HOME=c:\j2sdk1.4.1_06
set LEJOS_HOME=c:\lejos_win32_1_0_4\lejos
set PATH=%PATH%;%JAVA_HOME%\bin;%LEJOS_HOME%\bin
set RCXTTY=USB
set CLASSPATH=.
Compilador e Interprete
• Conectar la torre de infrarrojos lego e instalar
driver (usar disco de legomindstorms).
• Transmitir el firmware al RCX usando el
comando lejosfirmdl
• Para compilar usar lejosc filename.java
• Para ejecutar usar lejos filename
• Ejemplo para cargar mas de un programa: lejos
programa1,programa2,..
• Usar el botón Prgm del RCX para seleccionar
cada programa.
Configuración de la IDE JCreator
• Desde configure->tools->new agregar
lejosfirmdl, lejosc y lejos con las siguiente
configuración
Configuración de la IDE JCreator
Configuración de la IDE JCreator
Prueba de la IDE
• Descargar el firmware lejos en en robot
encendido usando ctrl-1 o seleccionado el
primer botón de la sección de
herramientas (con el icono de llave
española).
• Escribir un programa sencillo por ejemplo
para imprimir mensajes en pantalla.
Programa de ejemplo
import josx.platform.rcx.TextLCD;
import josx.platform.rcx.Button;
import josx.platform.rcx.LCD;
public class StringTest {
public static void main (String[] args) throws InterruptedException
{
String ha = "HA";
TextLCD.print (ha);
Button.VIEW.waitForPressAndRelease ();
ha = ha + ' ' + ha;
TextLCD.print (ha);
Button.VIEW.waitForPressAndRelease ();
LCD.showNumber ((int)Runtime.getRuntime().freeMemory());
Button.VIEW.waitForPressAndRelease ();
}
}
Prueba de la IDE
• Compilar el programa usando ctrl-2 o
seleccionado el segundo botón de la
sección de herramientas.
• Descargar el programa en el RCX usando
ctrl-2 o seleccionado el tercer botón de la
sección de herramientas.
• El orden de uso de los botones puede
variar de acuerdo al orden en que se
configuraron las herramientas
Limitaciones de lejos
•
•
•
•
•
•
No tiene recolector de basura
No hay sentencia switch
No hay aritmética sobre variables tipo long.
La máxima longitud de un arreglo es de 511.
No soporta carga dinámica de clases.
Solo se dispone de 12K para programas.
Arquitectura de lejos
Paquete josx.platform.rcx
• Es el paquete mas importante del sistema
operativo LeJOS
• Este paquete contiene clases para
interactuar con los componentes
principales del RCX (motores, sensores,
pantalla, sonido, botones, e IR).
Ejemplos de corridas
Control Directo
• En esta modalidad la programación es
puramente Java.
• La ventaja principal es que ofrece todas la
bondades de Java y la posibilidad de uso de
herramientas como Elvira, Weka o cualquier
herramienta de IA disponibles en Web.
• La desventaja es que la operación correcta del
RCX depende de cono visual de la torre de
infrarrojos
Instalación de APIs
• Instalar el driver para manejo de la torre
infrarroja con el puerto USB
• Instalar el firmware de legomindstorms en el
RCX (usar disco adjunto al kit)
• Se requieren dos APIS de Java:
• comm.jar disponible en el sitio de sun
http://java.sun.com/products/javacomm/downloa
ds/index.html
• rcx.jar disponible en el e-book legominstorms
programming with java
Compilación y ejecución
• Agregar una variable de entorno classpath
con los valores .;ruta al archivo comm.jar;
ruta al archivo rcx.jar
• Compilar un programa demostrativo
(también disponibles en el e-book) usando
la herramienta javac del sdk.
• Ejecutar programa manteniendo al RCX
cerca de la torre de infrarrojos
Referencias
• Sitio de Sun microsystems
http://java.sun.com
• E-book Programming legominstorms with
Java
• Sitio de JCreator http://www.jcreator.com/
• Sitio de lejos http://lejos.sourceforge.net
Descargar

LEgo Java Operating System (LeJOS)