• Nenhum resultado encontrado

SUPERLOGO-RCX AMBIENTE PARA ROBÓTICA EDUCACIONAL

N/A
N/A
Protected

Academic year: 2022

Share "SUPERLOGO-RCX AMBIENTE PARA ROBÓTICA EDUCACIONAL"

Copied!
18
0
0

Texto

(1)

SUPERLOGO-RCX AMBIENTE PARA ROBÓTICA EDUCACIONAL

João Vilhete Viegas D’Abreu - Núcleo de Informática Aplicada à Educação - NIED Universidade Estadual de Campinas / UNICAMP – Campinas, São Paulo,

BRASIL jvilhete@unicamp.br

Marco Túlio Chella - Faculdade de Engenharia Elétrica e Computação - FEEC Núcleo de Informática Aplicada à Educação - NIED

Universidade Estadual de Campinas / UNICAMP – Campinas, São Paulo, BRASIL

chella@terra.com.br

Resumo

A utilização de Robótica Pedagógica como forma de enriquecer o ambiente de programação da linguagem Logo é uma das linhas de pesquisa do Núcleo de Informática Aplicada à Educação - NIED/UNICAMP, que nos últimos 15 anos vem acompanhando e adaptando diferentes avanços tecnológicos, buscando sempre ampliar o leque de opções desta linguagem com finalidades educacionais. Este artigo apresenta a implementação de recursos no SuperLogo, uma versão da linguagem Logo desenvolvida pelo NIED, para controle do tijolo programável LEGO RCX. O artigo aborda o desenvolvimento de recursos para o controle do RCX a partir de um computador do padrão PC, tanto local quanto remotamente, utilizando- se dos recursos da rede Internet.

(2)

Resumen

La utilización de la Robótica Pedagógica como forma de enriquecer el entorno de programación del lenguaje LOGO es una de las líneas de investigación del Núcleo de Informática Aplicada a la Educación (NIED) de la Universidad Estatal de Campinas (UNICAMP), que en últimos 15 años viene acompañando y adaptando diferentes avances tecnológicos, buscando siempre ampliar la gama de opciones de este lenguaje con fines educacionales. Este artículo presenta la implementación de recursos en el SuperLogo, una versión del lenguaje LOGO desarrollada por el NIED, para control del ladrillo programable LEGO RCX. El artículo aborda el desarrollo de recursos para el control del RCX por una PC, sea local o remotamente, utilizando la Internet.

Introducción

La implementación del un entorno de Robótica Pedagógica teniendo como base el lenguaje Logo es una de las actividades de investigación del NIED, iniciada a mediados de 1987 donde la idea principal era la construcción de dispositivos electrónicos/electromecánicos que cuando conectados a la computadora fuera posible la reproducción en tiempo real y fuera de la pantalla, los movimientos de la Tortuga LOGO (D'Abreu, 1995). Para conseguir ese objetivo fue necesario básicamente, sumar nuevas funciones a las primitivas originales de este lenguaje y desarrollar metodologías para la utilización de esos dispositivos con propósitos educacionales. Los proyectos desarrollados desde ese entonces en esta línea de investigación, desea enriquecer el entorno de utilización del lenguaje LOGO, donde lo que se intenta hacer es que la computadora se comunique sobre objetos externos,

(3)

dando "músculos" a la Tortuga de la pantalla del LOGO y también expandir el área de actuación de la misma. De los proyectos desarrollados podemos citar, un trazador gráfico que reproduce en el papel los movimientos de la tortuga de pantalla, una tortuga mecánica de suelo que reproduce en el piso los movimientos de la tortuga de pantalla, un brazo manipulador que reproduce fuera de la pantalla tareas hechas por la tortuga de pantalla, entre otros. Esos proyectos permiten no solamente la implementación de dispositivos robóticos controlados por el entorno LOGO, pero también el desarrollo de metodologías para su uso en escuelas. Así mismo, el proceso de utilización de esos entornos contribuyen para la enseñanza/aprendizaje de conceptos de programación, automatización, matemática, física, en fin, ciencia en general (Sidericoudes, 1993).

Con el advengo de juguetes LEGO de la línea Technic y Dacta, expandió la posibilidad del uso del LOGO, pues pudo controlar también componentes eléctricos LEGO (motores, luces y diferentes tipos de sensores). Con el surgimiento del ladrillo programable RCX-LEGO, con la implementación de nuevas versiones del LOGO para el entorno Windows asociada al uso de la Internet, se aumento más aun esa posibilidad por que LOGO pasó a ser utilizado para el control de dispositivos robóticos tanto en modo presencial como en el modo remoto, materializando la idea de tele-robótica (Chella, 2002).

El entorno que denominamos de SuperLogo-RCX, da la oportunidad a los usuarios del LOGO el control del RCX y de los componentes eléctricos LEGO (motores, sensores y luces) utilizando los conocimientos básicos de programación en este lenguaje. De manera diferente del LEGO/Robolab y del LEGO/Mindstorms, que presentan un abordaje para programación basada en íconos, este entorno sigue

(4)

el modelo de programación textual e interactiva del LOGO.

El RCX es un ladrillo programable LEGO Dacta que funciona de modo semejante a un microcomputador. Programas elaborados en una PC para control de dispositivos robóticos LEGO pueden ser transportados y ejecutados en el RCX. Eso descarta la conexión de cables uniendo el dispositivos a la computador, lo que permite mayor autonomía para el control del mismo. La comunicación entre RCX y la computadora es hecha a través de luz infra-roja.

Este artículo trata sobre el enriquecimiento/ampliación del SuperLogo (una versión de LOGO para el sistema operativo Windows, en portugués, desarrollada por el NIED/UNICAMP) para control del ladrillo programable RCX-LEGO que permite el control de este ladrillo tanto local como remotamente por la Internet. Además de eso, el artículo discute el entorno SIROS (Sistemas Robóticos con SuperLogo) que es un ambiente educacional, aún en desarrollo para ser utilizado en conjunto con el RCX.

Desarrollo

Entornos de programación como el Mindstorms y el Robolab son comerciales, creados específicamente para la automatización de los robots armados con el RCX y otros tipos de ladrillos del LEGO (Bejerre, Hvoldal, y Nielsen, 1999). Actualmente, lenguajes de programación como el SuperLogo aún no disponen de recursos para comunicación con el RCX. Una manera de establecer tal comunicación sin utilizar los programas comerciales, fue desarrollar un aplicativo que permitió con que un computador se comunique con el RCX a través del SuperLogo. En este articulo, será descrito ese proceso de implementación, tanto para la utilización del RCX en el modo local como remotamente.

(5)

La comunicación con el LEGO RCX se procesa enviando información binaria al puerto serial, conteniendo los bytecodes que son reconocidos y ejecutados en el ladrillo RCX. Además, la empresa LEGO no ofrece documentación sobre el protocolo de comunicación serial empleado y la funcionalidad de los bytecodes, lo que dificulta la utilización del RCX con otros entornos de programación.

Con el objetivo de reducir esta dificultad, la empresa LEGO ofrece un componente de software llamado SPIRIT.OCX que utiliza la tecnología ActiveX.

Cuando es hecha la instalación de CD-ROM con el programa MindStorms, este componente es instalado y lo hace disponible como herramientas de programación con soporte a Active X.

Las funciones disponibles en el SPIRIT.OCX son la siguientes:

• Control de comunicación: responsable por comenzar y terminar la comunicación con el RCX, detectar y corregir fallas en la comunicación.

• Control de firmware: ejecuta el download que hace funcionar el firmware

• Diagnóstico: Prueba varios elementos de comunicación como cable serie, torre e infra-rojo con el RCX

• Sistema: ejecuta tareas en el RCX para seleccionar la pantalla, ajustar fecha y hora, tiempo de apagar cuando inactivo, limpiar temporizador, enviar y limpiar mensajes del sistema

• Control de salida: se comunica con los motores permitiendo la escoger, prender, apagar, cambiar la dirección, potencia y tiempo de ejecución.

• Control de entrada: opera con los sensores, posibilitando seleccionar, terminar el tipo de forma de lectura (digital o analógica)

(6)

• Ejecución de programa: controla la ejecución de programas disponibles en el RCX

• Flujo de programa: comandos para control de flujo de la tarea elaborada por el usuario

• Lógica y aritmética: comandos de operaciones lógicas y aritméticos.

• Información de estado: comandos que adquieren datos del RCX. Estos datos pueden venir de sensores, indicar el estado de la batería del RCX, o mostrar el mapa de utilización de la memoria.

• Adquisición de datos: hace la lectura de los datos de los sensores

Los comandos del RCX pueden ser clasificados con relación al modo de ejecución como inmediato o para download. Los comandos de ejecución inmediata son aquellos que, cuando enviados al RCX, ejecutan una acción en el momento que es recibida. La gran mayoría de los comandos se encuadran en esta categoría, y entre ellos están los comandos para control de sensores, motores y diagnóstico.

Los comandos para ejecución por donwload tienen que ser descargados en el RCX antes de ejecutarlos. En esta categoría están los comandos para control del flujo de programas, operaciones lógicas/aritméticas y algunos comandos de control del sistema.

Una forma de hacer contacto con el RCX sin utilizar los programas ofrecidos por la empresa LEGO es desarrollar un aplicativo con una herramienta de programación que soporta la tecnología ActiveX, como el Visual Basic o Delphi, y usar el componente SPIRIT.OCX. Infelizmente, el SuperLogo no ofrece soporte a la tecnología Activex, lo que significa que no puede utilizar directamente el componente

(7)

SPIRIT.OCX, constituyendo una limitación la cual tuvo que ser contornada.

La solución adoptada para que fuese posible establecer la comunicación con el RCX a partir del SuperLogo y permitir la utilización de sus recursos, fue implementar un aplicativo que funcione como interfaz de software entre el SuperLogo y el RCX, (Figura 1).

Figura 1 - Esquema de comunicación del SuperLogo con el RCX

Por proporcionar la comunicación entre el SuperLogo y el RCX, la interfaz de software fue denominada Interfaz SuperLogo RCX (ISR). La ISR se comunica con el SuperLogo por mensajes que son clasificadas como de datos o de control. Los mensajes de datos tienen informaciones sobre selección y control de los motores y sensores conectados al RCX. Los mensajes de control, coordinan y sincronizan el flujo entre la ISR y el SuperLogo.

Los mensajes son archivos de texto ASCII, tipo de archivo compatible con el SuperLogo y el Visual Basic. El archivo con el mensaje de datos indica el comando a ser ejecutado y los parámetros, que varían según se ejecutan en un motor o sensor.

(8)

Por ejemplo, para accionar un motor el mensaje debe contener el comando que indique encender el motor y el parámetro que informa cual de los tres motores será accionado. El diagrama de la figura 2 ilustra ese proceso.

Al recibir este mensaje, la ISR lo interpretará y ejecutará el comando correspondiente a la acción deseada.

Figura 2 – Diagrama de flujo mensajes entre el SuperLogo y la ISR

Para hacer la lectura de un sensor conectado es necesario hacer un pedido al RCX, el cual capturará los datos del sensor y los enviará a la computadora, para que puedan ser leidos por la ISR.

Para que el SuperLogo pueda leer los datos de un sensor, son creados tres archivos con mensajes. El primero, enviado por el usuario a partir del SuperLogo,

"lersensor", indica que el sensor que será leído; el segundo "sensordisponivel" es un mensaje de control, que indica que el dato del sensor ya está disponible y puede ser leído en el tercer archivo, "dadosensor". El diagrama de la figura 3 ilustra el proceso de adquisición de datos de los sensores del RCX.

(9)

Figura 3 – Diagrama de flujo para sensores

Además de las funciones de comunicación entre el SuperLogo y el RCX, la ISR dispone de recursos para activar la comunicación, y para diagnóstico y configuración del RCX. Estas funciones son accesibles al usuarios a través de una interfaz gráfica.

Módulo de Diagnóstico

El conjunto de hardware del RCX se constituye de un cable que debe ser conectado a la puerto serial RS232, a la torre de infra-rojo y al propio RCX. Todos estos componentes deben estar funcionando correctamente, y caso algunos de ellos tenga alguna falla, la comunicación se interrumpe. Al usar el RCX se confirmó la posibilidad de ocurrir fallas en el puerto RS232, en el cable serie, en la torre de infra- rojo y en el RCX. Resolver este tipo de problema puede ser una tarea difícil si es que no existen maneras de detectar cual es el componente que no está funcionando

(10)

correctamente. Para auxiliar a resolver las fallas fue desarrollado para la ISR un módulo de diagnóstico. Utilizando una interfaz gráfica (Figura 4) donde se muestra cada uno de los componentes de hardware del RCX, un conjunto de botones permite probar cada uno de sus elementos indicando con un mensaje el estado del mismo.

Siendo así, es posible identificar y corregir rápidamente cualquier problema.

La prueba puede ser hecha separadamente para cada elemento o para todos ellos al mismo tiempo, utilizando la opción "Teste Geral". También es posible obtener el valor del voltaje de la batería haciendo click en el botón "Bateria RCX".

Figura 4 - Interfaz gráfica de la ISR

Si todos los componentes funcionan bien y la prueba es hecha, el mensaje OK será mostrado (Figura 5).

(11)

Figura 5 - Interfaz gráfica de la ISR - diagnóstico

Si algunos de los componentes tiene algún problema de funcionamiento, se muestra un mensaje de falla. En la figura 6 se ilustra la pantalla de la situación donde existe un problema con la torre de infra-rojo.

Figura 6 – Interfaz, gráfica ISR demostración del diagnóstico

(12)

Módulo de Configuración

Para que el RCX funcione, su firmware tiene que estar instalado. La función de transmisión es activada cuando se presiona el botón Download Firmware (Figura 7). Una caja de diálogo se abre pidiendo que se abra el archivo que contiene el firmware. Esta función también es utilizada para realizar actualizaciones. Después de hacer el download hay que enviar el código al RCX para habilitar el firmware, permitiendo que entre en funcionamiento, este procedimiento ocurre al presionar el botón “habilitar firmware”.

Otra función del módulo de configuración es seleccionar el puerto RS232, el cual se conecta a la torre infra-rojo. Después de la elección, el usuario debe presionar el botón "Aplicar", para que la configuración sea actualizada. El botón

"Salvar", grava la configuración para que las próximas veces en que se utilice el aplicativo no sea necesario efectuar las configuraciones.

Figura 7 - Interfaz gráfica ISR - configuración

(13)

Módulo de Operación

Este módulo (Figura 8) tiene los botones "iniciar" y "finalizar". El primero activa la comunicación para cambio de mensajes con el SuperLogo. El botón "Finalizar"

finaliza el hardware (puerto serial y el RCX), la comunicación con el SuperLogo, y cierra el aplicativo.

Figura 8 - Interfaz gráfica ISR - operación

Utilizando el SuperLogo con LEGO RCX

Para utilizar el SuperLogo con el RCX el aprendiz debe cargar el SuperLogo y la ISR. Para activar la comunicación, él debe presionar el botón "Iniciar". A partir de ese instante los comandos específicos para el RCX están operacionales y, caso este sea encendido, las instrucciones digitadas en el SuperLogo serán inmediatamente ejecutadas.

Un ejemplo de utilización es tener un RCX con un motor conectado a la puerta C y un sensor de toque en la puerta 3 (Figura 9). El comportamiento deseado es cuando el sensor de toque sea presionado, el motor se encienda y continúe en ese

(14)

estado hasta que el sensor de toque sea suelto.

Figura 9 Experimento con el RCX

Una solución de implementación de un programa que cumpla esta función es:

aprenda exemplo1

se rcxlersensortoque "3 [rcxligamotor "c] [rcxdesligamotor "c]

exemplo1 fim

En el procedimiento exemplo 1, la función rcxlersensordetoque devuelve verdadero si el sensor de toque conectado a la entrada 3 del RCX esta presionado, en este caso se ejecuta la función rcxligamotor, que acciona el motor conectado a la salida C del RCX, si el sensor de toque no está activado rcxlersensordetoque devuelve falso y la función rcxdesligamotor es ejecutada.

(15)

Utilización

El entorno SuperLogo RCX fue usado por un alumno del curso de Ingeniería Mecatrónica de la Universidad Estatal de Campinas UNICAMP, que en esa época hacia prácticas en el NIED y estaba elaborando un proyecto de iniciación científica en el que se proponía el desarrollo de un dispositivo automatizado, para realizar la clasificación de productos a través del reconocimiento de colores.

El plan de trabajo del alumno incluía el desarrollo de algunos prototipos con Lego RCX, con el fin de determinar se con los recursos disponibles en el RCX seria posible desarrollar el proyecto. Él ya tenia experiencia de programación con el Lego RCX en los entornos Robolab y Mindstorms, y a principio descartó estos entornos por los motivos de que ellos no ofrecían recursos para la integración con otras herramientas, como base de datos, y otras plataformas de robótica empleadas en automatización industrial.

Con el equipo compuesto por el RCX, sensores de luz y toque, motores, bloques para armar y el ambiente SuperLogo RCX, el alumno comenzó a armar algunas piezas e a hacer algunas pruebas para evaluar las funcionalidades del entorno.

Inicialmente el alumno desarrolló una serie de procedimientos, que incluían entre otros, el control de motores, cambio del sentido de rotación de los mismo, prender y apagar los motores en función del estado de los sensores, verificación de los valores obtenidos por el sensor de luz y su variación, dependiendo de la iluminación.

A seguir, algunos prototipos fueron desarrollados y entre ellos un trazador gráfico, un dispositivo robótico cuyo sistema mecánico se constituye de

(16)

componentes LEGO (engranajes, rosca sin-fin, cremalleras, motores, ladrillos comunes y el RCX) así como ilustra la figura 10. Además, un lapicero es utilizado para la impresión.

Figura 10 Trazador Gráfico

Un conjunto de procedimientos en SuperLogo (Tabla 1) fueron escritos para controlar los motores de modo que los trazos hechos por la tortuga de pantalla pudiesen ser reproducidos en el papel del trazador.

Comando Función

Iniciar Inicia la variable de control de la dirección de la tortuga Pdireita 90 Tortuga gira sobre su propio eje 90º para la derecha Pesquerda 90 Tortuga gira sobre su propio eje 90º para la izquierda Pdireita 45 Tortuga gira sobre su propio eje 45º para la derecha Pesquerda 45 Tortuga gira sobre su propio eje 45º para la izquierda

Pfrente [valor] Tortuga se mueve en la pantalla del SuperLogo y el trazador imprime en el papel la trayectoria equivalente à realizada pela tortuga.

Tabla 1

(17)

Otros prototipos fueron desarrollados incluyendo una puerta automática con funcionamiento semejante al de las puertas encontradas en edificios públicos, que se abren con la aproximación de un objeto y, finalmente, el lector de colores.

Con este trabajo el alumno fue capaz de probar hipótesis, proyectar, desarrollar algoritmos y elaborar prototipos que posteriormente fueron aplicados en su trabajo de iniciación científica (Takiguthi, 2001), en este caso aplicando herramientas específicas de automatización industrial.

Consideraciones

En este trabajo se mostró la implementación de un aplicativo que habilita el SuperLogo a operar las funcionalidades del Lego RCX. Crease así una nueva alternativa para utilización del ladrillo RCX independiente de las herramientas de programación originales ofrecidas por el fabricante. De este modo el usuario del SuperLogo no necesitará aprender una nueva herramienta para elaborar y controlar su robot, además de poder integrar en su proyecto rutinas que él ya havia desarrollado y emplear los diversos recursos del SuperLogo, incluyendo comando gráficos y multimedia, entre otros.

(18)

Referencias Bibliográficas

BEJERRE, C. HVOLDAL, J. And NIELSEN M., Adaptive Pet Robots, Master Thesis, University of Aarhus, department of Computer Science, Dinamark,1999.

D'ABREU, J. V. V. Design de Dispositivos: Uma Abordagem Interdisciplinar. Anais do VII Congresso Internacional Logo / I Congresso de Informática Educativa do Mercosul. Porto Alegre, UFRGS, 1995.

CHELLA, M. T.: Ambiente para Robótica Educacional com SuperLogo. Dissertação de Mestrado, Universidade Estadual de Campinas – UNICAMP, Faculdade de Engenharia Elétrica e da Computação, Campinas, 2002.

SIDERICOUDES, O. Uma Atividade LEGO-Logo em Trigonometria: In Valente, J. A.

(Org). Computadores e Conhecimento: Repensando a Educação, Campinas, Unicamp, 1993.

TAKIGUTHI, G., Implementação de Um Sistema Integrado para separação de produtos Numa Linha Automatizada de Produção a Partir do reconhecimento de Cores. Relatório de Iniciação Científica, Universidade Estadual de Campinas – UNICAMP, Faculdade de Engenharia Mecânica – FEM, Departamento de Projeto Mecânico, Laboratório de Automação Integrada e Robótica – LAR/UNICAMP, Campinas, 2001.

Referências

Documentos relacionados

Resumen: El artículo presenta las estrate- gias abordadas por el plano de capacitación de profesionales de educación del estado de Paraná, Brasil, a partir del abordaje de la

Se presenta una síntesis del estado del conocimiento de la ictiofauna de la Isla Malpelo en el Pacíico colombiano, resaltándose el estado de conocimiento del recurso y su

sumándole el concepto de cuento. Como si cuento y versión histórica fuera la misma cosa, comenzamos a develar como lectores el único origen posible de los actos, del pasado y de

O linguista não sabe tudo e é por isso que a sua interpretação se torna mais fundamentada se o seu trabalho se apoiar em abordagens pluridisciplinares (cf. Esse duplo controle

A proposta do Cesg – fácil de imaginar, mas difícil de realizar – era integrar, pedagógica e administrativamente, as três unidades, e construir no Patronato tudo o que

UTILIZAÇÃO RACIONAL DE ENERGIA ELÉCTRICA NO MUNICÍPIO DE VILA FRANCA DE XIRA – CASOS DE ESTUDO Página 21 CAPÍTULO 2 – A ENERGIA, O MERCADO ENERGÉTICO NACIONAL, O MUNICÍPIO

Tomando o conjunto dos resultados, podemos concluir que a qualidade do estágio, tal como foi medida neste estudo, tem um impacto considerável no comportamento exploratório ensaiado

O objetivo deste trabalho é caracterizar o meme como um gênero multimodal, mediante o estudo de três exemplares criados a partir da reportagem Bela, recatada e ‘do lar’