Lenguajes de programación: ROBOLAB LabViewTM es un entorno de programación gráfico que se utiliza en universidades e industria. Se utiliza para procesar y analizar datos recogidos en investigación. Por ejemplo, lo utilizan en la Escuela Universitaria Politécnica de Vilanova i La Geltru de la Universidad Politécnica de Catalunya en los cursos de Técnico Especialista de control de instrumentación. Por medio de este software controlan la instrumentación. ROBOLAB es un entorno de programación gráfico que permite controlar el RCX. Este software comercializado por LEGO está orientado al uso educativo con niños y jóvenes (señalan que para edades comprendidas entre 6 y 16), y utiliza una versión adaptada de LabVIEW. ROBOLAB ofrece modos diferentes de programación adaptados al nivel de aprendizaje del alumnado: Pilot e Inventor. Además, ofrece el modo Investigator orientado a su uso en el laboratorio de ciencias. Este software comercial se puede usar tanto en PC como en Mac. Modo Pilot Pilot es el nivel básico. Por medio de una serie de plantillas introduce a niños y niñas en la lógica de la programación. Estas plantillas están protegidas, por lo que no pueden ser alteradas. Las modificaciones que se pueden hacer son pocas, pero garantiza que los programas siempre funcionarán, por lo que en muy poco tiempo pueden conseguirse resultados. El modo Pilot consta de cuatro niveles con dificultad creciente que abren el camino a utilizar ROBOLAB. Modo Inventor El modo Inventor constituye la segunda fase del aprendizaje. Usuarios y usuarias desarrollarán sus propios programas distribuyendo y enlazando en la ventana de diagramas una serie de iconos. Inventor consta de cuatro niveles. Las diferencias entre ellos se centran en las opciones que ofrece cada uno: el cuarto nivel es el que ofrece todo el potencial de Inventor y permite desarrollar complicadas aplicaciones. Diego Gallardo Maximiano 1
Modo Investigador El modo Investigator está diseñado para ser utilizado en el laboratorio de ciencias. Utiliza para ello una versión adaptada de LabVIEW. Convierte el RCX en una interesante herramienta de trabajo en aquellas experiencias que requieran recoger datos. Si utilizamos el RCX para recoger datos (por ejemplo, la evolución de la temperatura en el aula a lo largo de un día), Investigator nos ayudará a procesar dichos datos y a presentarlos. Además, permite editar por completo el informe de la experiencia, para imprimirlo a continuación, o si así se desea, convertirlo en una presentación por ordenador o en una página Web. Enlaces: Software: Robolab es un software comercial. Prodel S.A. lo distribuye en España. La última versión, la 2.5.4 se comercializa en castellano. The Center For Engineering Educational Outreach: Ofrece patches que ofrecen algunas mejoras para Robolab 2.5. Libros: ROBOLAB. Empezando. Guía del profesor para el Software ROBOLAB : Guía para comenzar a programar en Robolab (Modos Pilot e Inventor). "ROBOLAB. Empezando 2. Guía del profesor para el Software ROBOLAB 2.0": Guía para aprender a utilizar el modo Investigator. "ROBOLAB. Getting started 3. Teacher's Guidde for RoboLab 2.5 Software": Recoge las novedades que ofrece la versión 2.5. "Creative Projects with LEGO Mindstorms" Benjamin Erwin, Seymour Papert Ed. Adisson "LabVIEW 6i. Programación Gráfica para el Control de Instrumentación Antonio M. Lázaro "ENGINEERING WITH LEGO BRICKS AND Robolab. The official guide to ROBOLAB" Eric L. Wang Manuales en Internet: The Center For Engineering Educational Outreach ofrece diferentes recursos para ROBOLAB tales como presentaciones, manuales, patches... Asimismo ofrece un tutorial on-line que incluye apartados de tratamiento de imagen (con Robolab y la cámara Vision Command de LEGO) En la web de LEGO Dacta se pueden encontrar recursos e informaciones diversas sobre ROBOLAB Diego Gallardo Maximiano 2
Experiencias en centros educativos: Proyecto ROBOLAB de la universidad de Alicante en centros de primaria y secundaria. Community College of Indiana Esta escuela ofrece en Internet ciertos recursos sobre proyectos con LEGO robots. Otros enlaces de interés: Unofficial FLL FAQ 04-i - RoboLab: algunas preguntas y respuestas sobre Robolab, una FAQ no oficial para el concurso FLL. Boulette's Robotics page : En esta página creada en un centro educativo de Luxenburgo pueden encontrarse amplios recursos: programación, sensores, proyectos... (por lo que parece es un internado de chicos). Programación en Robolab avanzada. Página oficial de LEGO Dacta. En ella pueden encontrase manuales, propuestas de proyectos, informes hechos en diversas escuelas... National Instruments: Creadores de LabVIEW. LDAPS (Adquisición de Datos y Sistema de Prototipos LEGO): Presentan un plan de estudios desarrollado en torno a la ciencia e ingeniería. Son partícipes del desarrollo de ROBOLAB. Algunos contenidos los ofrecen en castellano, el resto en inglés. Robotics Mailing List Lista de distribución sobre robótica en inglés. Participan usuarios de LEGO MindStorms y Robolab. 1. COMPONENTES BÁSICOS Para trabajar con Robolab y los componentes de Lego vamos a tener tres componentes básicos: Software Robolab, ladrillo programable RCX y torre de infrarrojos. El software ROBOLAB permite controlar un ladrillo programable RCX desarrollado por LEGO, que en realidad es una microcomputadora autónoma, a la cual se le pueden añadir diversas piezas de Lego y construir distintos mecanismos que puedan a su vez realizar distintos movimientos. Entre los más habituales sería un automóvil, una casa inteligente o un robot. Diego Gallardo Maximiano 3
Además la unidad RCX permite trabajar con distintos tipos de sensores que serán vistos posteriormente. Mediante el software ROBOLAB se diseñarán las instrucciones que posteriormente serán llevados a la unidad RCX. 2. INSTALACIÓN DEL SOFTWARE ROBOLAB Y PREPARACIÓN DE LA TORRE DE IR Hasta el momento existen dos versiones del software Robolab, la 2.0 y la 2.5. En realidad no hay diferencias significativas entre un software y otro salvo la conexión con las torres USB. Inicialmente en los ordenadores del aula de IBM viene instalada la versión 2.0. El problema de esta versión es que sólo es válida con uno de los dos tipos de torres de IR, la torre que funciona con puertos serie (puerto COM). Si queremos trabajar con las torres de IR USB necesitamos instalar la versión 2.5. El único problema que hay al instalarlo es que si se hace una restauración del ordenador el programa desaparece. La solución es instalarlo y hacer un Back Up. Vamos a instalar el software Robolab 2.5: 1. Introducimos el CD-ROM de Robolab en la unidad de CD. 2. Iniciamos la instalación que puede durar hasta 20 minutos. No conectar la torre de IR mientras que se está instalando el programa. 3. Cuando la instalación se haya finalizado desactivamos Iniciar Robolab para que no arranque en ese momento. Durante la instalación nos pide instalar dos programas: el WinDIE Wizard y el Quick. No son estrictamente necesarios para el buen funcionamiento del programa. Es un poco voluntaria la instalación. 4. Cierre Robolab. 5. Conectamos la torre de IR USB al ordenador (no conectar con el programa abierto). En principio debería reconocerlo sin ningún problema pero normalmente va a pedir algún Driver que siempre están en el CD-ROM de instalación o en el disco duro puesto que al instalarse el programa ya se han instalado los drivers. La instalación de la torre es rápida comparada con el programa. NOTA: Es imprescindible que el nuevo hardware (la torre de IR) esté instalado y funcionando correctamente. Toda la instalación del software se hace con el programa cerrado. NOTA: Si disponemos de una torre de IR serial, primero hay que conectarle una batería de 9 voltios. Las torres IR USB no necesitan batería, la alimentación se realiza a través del puerto USB. La comunicación por IR y el RCX es posible hasta una distancia teórica de 10 metros, pero puede verse interrumpida si hay varios RCX conectados, por eso es recomendable trabajar en un alcance corto. 3. INSTALACIÓN DEL FIRMWARE Una vez instalado tanto el software Robolab como la conexión a la torre de IR tenemos que instalar el firmware. El firmware es el software que necesita descargar al RCX para escribir Diego Gallardo Maximiano 4
programas. Para comprobar si el firmware está instalado sólo hay que encender el RCX y observar la pantalla. La pantalla muestra que no tiene firmware instalado RCX con fimware instalado Para instalar el firmware: 1. Arranque Robolab 2. Seleccione administrador 3. Encienda el RCX presionando el botón On-Off 4. Coloque el RCX delante de la torre de la torre de IR 5. Seleccionar Bajar firmware. Durará unos 4 minutos. 6. Seleccione el botón Retornar cuando el software se haya instalado correctamente. NOTA: El problema del RCX es que funciona con 6 baterías AA, pero si se quitan o se agotan el firmware se tendrá que instalar de nuevo. En teoría para conservar el firmware disponemos de 1 minuto para cambiar las baterías. 4. OTROS ASPECTOS DEL ADMINISTRADOR Dentro de la pantalla del Administrador hay dos aspectos importantes que en algún momento pueden ser importantes: Seleccionar el puerto Com: se utiliza cuando utilizamos una torre de IR y hay problemas de comunicación. Una de las posibilidades es que el puerto seleccionado no sea el correcto. Desde este punto podemos seleccionar el puerto correcto. Probar la comunicación del RCX: es válido para probar problemas de comunicación. 5. LADRILLO PROGRAMABLE RCX El RCX es una microcomputadora que puede ser programada y se convertirá en el cerebro de las construcciones de LEGO. Está compuesta de: Diego Gallardo Maximiano 5
Tres puertos de entrada: 1, 2, 3, al cual se le puede conectar por ejemplo un sensor de luz, de contacto o de temperatura. Tres puertos de salida: A, B y C al cual se le puede conectar uno o dos motores, y por ejemplo una lámpara. 6. CONTRUCCIÓN DEL VEHÍCULO CON EL QUE VAMOS A TRABAJAR Vamos a construir un pequeño vehículo para trabajar posteriormente con él: Diego Gallardo Maximiano 6
Diego Gallardo Maximiano 7
7. NIVEL PILOT 1. Se abre el programa en Inicio Programas Robótica Robolab Robolab 2.0 o 2.5 2. Al abrir el programa nos aparecen tres opciones: a) Administrador b) Programador c) Investigador En el aula nosotros vamos a trabajar en la opción PROGRAMADOR. Vamos a tener dos opciones: Pilot e Inventor, empezaremos con el modo Pilot. Dentro de cada modo vamos a tener distintos niveles de programación, así como un almacenador donde vamos a tener diferentes ejemplos y vamos a poder guardar nuestros nuevos diseños. La programación Pilot es una fase introductoria, es una plantilla que puede modificarse según necesidades, tiene 4 niveles, siendo el nivel 1 el más simple y el 4 el más flexible. Esta fase tiene algunas limitaciones en la programación. El modo Pilot sólo es recomendable como introducción. Características de la programación Los dos semáforos en la plantilla del programa representan el inicio y fin del programa. El icono que contiene una flecha sirve para Activar, bajar el programa a través del transmisor de Rayos Infrarrojos al RCX, si el RCX está apagado o no está cerca del transmisor aparecerá un mensaje de error. La Ayuda abre una ventana de ayuda en la pantalla. Al activarse la ventana se recibirá información sobre cualquier icono o figura donde se posicione el cursor del ratón El comando Salir nos lleva fuera del programa y el comando Retornar nos lleva a la pantalla anterior. Diego Gallardo Maximiano 8
1. PILOT NIVEL 1 Es una tarea simple que proporciona máxima potencia al puerto de salida A del RCX. El motor puede rotar a la izquierda o derecha según indique la flecha durante el tiempo que nos indica el reloj. Qué opciones puedo cambiar en este diseño? Muy poco, pero pulsando con el botón derecho del ratón tengo las opciones posibles y pinchando en cada una se sustituye. Si se hace un clic en la flecha Activar para bajar el programa pasaría al ladrillo y presionando el botón Run del RCX se iniciaría el programa. 2. PILOT NIVEL 2 En este nivel se introduce la lámpara, sensor de contacto y nivel de potencia. La plantilla del nivel Pilot 2 utiliza los puertos de Salida A y C del RCX. Los niveles de cada puerto pueden establecerse. Se puede marcar un tiempo determinado o hasta que el sensor del Puerto 1 haya sido presionado o soltado. La plantilla de Pilot 2 mueve el motor A y enciende la lámpara C hasta que el sensor es presionado. Los números situados debajo de los elementos nos indican el nivel de potencia y pueden ser modificados. Diego Gallardo Maximiano 9
Si se hace un clic en la flecha Activar para bajar el programa pasaría al ladrillo y presionando el botón Run del RCX se iniciaría el programa. Conecte la lámpara (si no se dispone de lámpara puede conectarse algún actuador mecánico, el efecto es el mismo) y el sensor de contacto según la imagen siguiente: Ejercicio 1 Conecte una lámpara al Puerto C y un sensor de contacto al Puerto 2 del RCX utilizando los cables conectores. Baje el programa al RCX. Inicie el programa presionando el botón verde del RCX. Cuando el programa esté funcionando, la lámpara debe permanecer encendida hasta que el sensor de contacto sea presionado. Ejercicio 2 Conecte un motor al puerto A, una lámpara al puerto C y un sensor de contacto al Puerto 2 del RCX. Cambie la plantilla del pilot 2 de manera que el motor y la lámpara permanezcan encendidos hasta que el sensor de contacto sea presionado. Diego Gallardo Maximiano 10
Ejercicio 3 Repita el ejercicio 2 con el motor A y la lámpara C encendidos hasta que el sensor de contacto sea presionado. Baje e inicie el programa. Ahora tome el cable del motor A y gírelo 180º en el puerto A. Vuelva a procesar el programa. Qué sucede? Qué sucedería si usted gira en 90º la conexión de la lámpara? Qué sucedería si apila dos sensores en el puerto 1? 3. PILOT NIVEL 3 Primeramente vamos a modificar la estructura de nuestro vehículo de forma que podamos conectar dos motores en la parte trasera del vehículo. Este nivel permite la programación en dos pasos y permite la recursión. La plantilla del Nivel Pilot 3 utiliza los puertos de salida del RCX (A, B, C). Esta plantilla tiene dos fases distintas. La primera enciende el Motor A, la lámpara B y el motor C por 6 segundos. Después de este tiempo empieza la segunda fase donde la lámpara sigue encendida y los motores invierten la dirección. Esta plantilla presenta dos modalidades: simple (el programa se realiza una única vez) y continua (el programa se repite continuamente, se produce una recursión). Para cambiar de una modalidad a otra con el botón derecho del ratón en el icono que está a la derecha del icono de impresión. Otra opción de esta plantilla es que permite cargar y guardar archivos. Al guardar archivos permite ponerle un nombre al programa y mediante el icono navegar guardar en la carpeta correspondiente. Ejercicio 4 Inicie la plantilla del Nivel 3 del Pilot. Conecte un sensor de contacto al Puerto 1, un motor al puerto A, una lámpara al Puerto B, y un motor al Puerto C. Haga un click en el botón del reloj y cámbielo por el icono para esperar que el sensor de contacto sea soltado en el Puerto 1. Baje el programa al RCX. Al hacer funcionar el programa, la lámpara y los motores deben encenderse, haciéndoles rotar en direcciones opuestas. Presione el sensor de contacto y sosténgalo. Al soltarlo, la lámpara sigue encendida y los motores deben invertir la dirección de rotación. Presionar el sensor de contacto de nuevo y se parará todo. 4. PILOT NIVEL 4 La plantilla del Nivel Pilot 4 le permite ejecutar un número ilimitado de pasos secuénciales. Se pueden ver los distintos pasos cambiando con unas flechas rojas que aparecen en la parte superior de la pantalla. Además este nivel permite insertar tantos pasos como se necesite. Se puede añadir pasos adicionales haciendo click en el botón Insertar (Icono con un signo +). Además se pueden borrar pasos con el icono Borrar (Icono con un signo -). Un nuevo sensor que aparece en esta plantilla es el sensor de luz. Cuando se incluye un sensor de luz, aparece debajo del sensor una cantidad que nos indica el nivel de luz con el cual funciona o deja de funcionar y un signo de mayor (>) o menor (<). Diego Gallardo Maximiano 11
Ejercicio 5 Diseña un programa en el que enciende la lámpara B mientras que los motores A y C rotan en direcciones opuestas hasta que el sensor de contacto sea presionado. Cuando esto sucede la lámpara debe apagarse y los motores deben invertir la dirección de rotación. Los motores continuarán funcionando hasta que el sensor de contacto sea presionado de nuevo. Para ejecutar el programa conecte un sensor de contacto al puerto 1, un motor al puerto A, una lámpara al puerto B y un motor al puerto C. Baje el programa al RCX y ejecútelo. Ejercicio 6 Seleccione la plantilla del Nivel Pilot 4 para hacer lo siguiente: Paso 1: encender la lámpara B usando potencia máxima por dos segundos. Paso 2: apagar la lámpara B. encender los motores A y C usando poca potencia y haciéndolos rotar en la misma dirección hasta que el sensor en el puerto 1 sea presionado. Paso 3: enciende la lámpara B otra vez. Cambia la configuración del motor a máxima potencia, haciéndolos rotar en la misma dirección por 5 segundos. Para Ejecutar el programa conectar un sensor de contacto al Puerto 1, una lámpara al puerto B, un motor al puerto A y un motor al puerto C. Baje el programa al RCX y ejecútelo. Diego Gallardo Maximiano 12