Laboratorio de Autónomos en el Contexto de las Carreras de Informática Experiencias para su Implementación

J. Ierache (1,2) M Dittler(1,2), H Padovani (2) (1)Instituto de Sistemas Inteligentes y Enseñanza experimental de la Robótica (ISIER) (2)Facultad de Informática Ciencia de la Comunicación y Técnicas Especiales Universidad de Morón Cabildo 134, (B1708JPD) Morón, Buenos Aires, Argentina 54-11-56272000 interno 189/746 (1,2) {jierache, pdittler, hpadovani } @unimoron.edu.ar

Resumen

Este trabajo presenta nuestras experiencias para la implementación de un laboratorio de sistemas autónomo de robots aplicado a la formación de estudiantes iniciales y avanzados en carreras de informática, considerando las tecnologías especificas, robots, juguetes autónomos, lenguajes y ambientes de programación, como así también la construcción de un bípedo de programación abierta a partir de un juguete. Estos robots por su bajo costo y la documentación disponible facilitan un amplio acceso a distintas Universidades e Institutos. En este contexto, la enseñanza de programación aplicada a través de sistemas autónomos de robots facilita la interacción entre sistemas autónomos, el ambiente de actuación, dispositivos de comunicación celulares, PDA, entre otros dispositivos. Presentan una oportunidad estratégica para la formación de recursos humanos cubriendo diversos aspectos desde la elaboración de la especificación, modelado, desarrollo del software e implementación y pruebas de un sistema autónomo de robots

Palabras claves: Robótica, Tecnologías en Educación, Programación, Sistemas autónomos, laboratorio robótica

1. Introducción esquivando obstáculos virtuales hasta llegar a su meta en la esquina de un monitor, [16] El desarrollo de las tecnologías aplicadas a no tiene el mismo impacto emocional que la educación contribuye en el proceso de observar, cómo un Sistema Autónomo aprendizaje, en particular la aplicación de Robot (SAR), puede esquivar obstáculos un Laboratorio de Sistemas Autónomos de hasta llegar a su meta en el rincón de una Robots (LSAR) colabora con distintas áreas habitación, e interactuar con nosotros a en los proceso de formación de alumnos de través de nuestro celular. Consideramos que la disciplina informática; desde la las TICs, en particular las asociadas a los interpretación de un requerimiento, hasta la laboratorios de robots autónomos brindan implementación del sistema autónomo, un apoyo en los procesos de aprendizaje de facilitando la creatividad del alumno en estudiantes iniciales y avanzados, en el materia de la construcción física hasta la marco del contexto propuesto en figura 1, optimización de su software y la integración se contempla: [a] Paradigma bajo el cual el de sensores, como así también el desarrollo alumno desarrolla su trabajo,[b] de ambientes cooperativos y competitivos Metodología que se aplica bajo el entre robots. Para un alumno observar cómo paradigma seleccionado, [c] Técnicas que una tortuga se desplaza en nuestro monitor, facilitan el desarrollo de fases y etapas de la metodología aplicada, [d] Herramientas movimientos de la tortuga en pantalla. El sobre las cuales se aplican las técnicas, [e] control del RCX se puede hacer por medio Lenguajes de programación, [f] Robots. En de una PC, en forma local o remota, este orden podemos considerar para utilizando la Internet. En la Universidad de estudiantes iniciales el paradigma Medford/Somerville en Massachussets, imperativo, el de objetos, sus metodologías, utilizan Lego RCX, Robolab y LabView técnicas como diagramas de Nassi para la enseñaza con distintos niveles de Seiderman [x], UML [5], lenguajes de complejidad [30]. Por ejemplo en las clases programación como C en particular NQC de Introducción a la Ingeniería Mecánica. [24], y JAVA, en particular LeJOS Java También los utilizan en cursos de robótica [21], para el desarrollo del software que para estudiantes de primer año y en cursos correrá sobre robots RCX [3], NXT avanzados de robótica con desarrollo de [2].Para estudiantes avanzados algoritmos de alto nivel e inteligencia consideramos el paradigma multiagente, con distribuida.Muchos proyectos involucran un metodologías como MaSE [4], técnicas control centralizado clásico, la computadora como Agent-UML [1]. le dice al motor uno que se encienda, gire en sentido de las agujas del reloj, a media potencia bajo una secuencia planificada de acciones, pero también se puede aplicar el mismo agente robot para explorar sistemas descentralizados y de conductas autoorganizadas [14], [15], [28]. Por ejemplo si consideramos un agente que deambula por su hábitat el que cuenta con áreas iluminadas y áreas oscuras, nuestro agente cuenta con dos reglas, una que le indica al agente moverse hacia adelante cuando detecta áreas iluminadas y moverse Figura 1 Contexto de la formación de hacia atrás cuando detecta áreas oscuras, el estudiantes agente deambula hasta que llega a una En otro orden el LSAR facilita la sombra, entonces retrocede hasta que sale explicitación de requerimientos formulados de ella y luego hacia adelante otra vez, a partir de estándares IEEE 830 [6], la sigue así oscilando en el borde de la sombra; validación de éstos y la realización de en este caso podemos considerar a nuestro pruebas con la aplicación de técnicas como agente robot como una criatura que detecta complejidad ciclomática [7]. Contribuye bordes, en sí esta capacidad no está con el mejoramiento de procesos explícitamente declarada en sus dos reglas, constructivos en un ambiente de trabajo en en realidad es una conducta grupal que equipos de alumnos altamente motivados surge de la interacción de las dos reglas, por el desarrollo de sus robots o mascotas. algo similar a como la conducta de una Podemos destacar que existe una amplia bandada surge de la interacción entre los diversidad de proyectos, desde la pájaros [22].Los estudiantes tienden a utilización del clásico logo en la considerar a sus criaturas según diferentes Universidad Estatal de Campinas niveles en distintos momentos, a veces ven (UNICAMP); Brasil, con fines a sus criaturas a un nivel mecanicista, al educacionales [33], donde en particular, analizar como una pieza mueve a otra. Otras trabajan con SuperLogo, una versión del veces las ven a nivel de información y lenguaje LOGO desarrollada por el NIED, exploran como pasa la información entre la que permite el control del ladrillo computadora y los motores y sensores. En programable LEGO RCX, que reproduce los otras ocasiones los estudiantes consideran a funciones para testear los sensores, la las criaturas en un nivel psicológico, personalización de los sonidos que puede atribuyendo a la criatura intencionalidad o reproducir, tiene tres puertos para motores, personalidad. Una criatura quiere ir a la luz, cuatro puertos para sensores. a otra criatura le gusta la oscuridad, otra le teme a los ruidos. Los estudiantes pasan rápidamente entre estos niveles y aprenden en función de la situación de contexto qué nivel es el mejor, piensan en sistemas en término de niveles [22]. La idea de aprender mediante el diseño es un aspecto de lo que Seymour Papert [25] denominó como enfoque construccionista del aprendizaje y la educación. Los seres humanos construyen su conocimiento con particular eficacia Figura 2.a RCX Figura 2.b NXT cuando participan en la construcción de Se equipa con un sensor de luz, un sensor de productos que les son afectivos. sonido para detectar sonidos, dos sensores de tacto, que pueden detectar tres estados 2. Robots de Lego (presionado, libre, rebote), un sensor de ultrasonido que actúa como un radar El objetivo de esta sección es brindar una permitiendo la detección de objetos, al que orientación general de los Kits de Robótica se lo puede configurar para detectar objetos económicos actuales de Lego RCX [3] y el lejanos o cercanos, detecta objetos entre 0 y reciente NXT [2] sus herramientas de 255 cm con una precisión de +-3 cm, programación en el ambiente de LabView además cuenta con un parlante de alta [30], RobotC [26], NQC [24], , LeJOS fidelidad, mejorado y tres servomotores, [21], entre otras. mejorados con respecto a la versión RCX. Los servomotores tienen integrados sensores 2.1. Legomindstorms RCX de rotación que permiten movimientos precisos, controlados y una perfecta El RCX (Figura 2.a) se caracteriza por sincronización de los motores. El NXT contar con : tres puertos para motores, cinco posee un puerto USB, para la descarga de slots para guardar programas, un sensor de programas. Soporta comunicación bluetooth luz, que permite distinguir diferentes niveles inalámbrica, permitiendo descargar de luminosidad y oscuridad, dos sensores de programas de este modo, así como también tacto, que pueden detectar tres estados la interacción con celulares, con PCs y (presionado, libre, rebote), cuenta además laptops, etc. La comunicación con otros con un parlante para la emisión de sonidos. NXT también es vía bluetooth. Estos robots La descarga de programas se hace a través puede ser programables en entornos de la torre de infrarrojos que incluye el kit. gráficos nativos, para RCX [3] y LabView La comunicación con otros RCX es través [23] para NXT. En cuanto a LabView cabe de su port frontal infrarrojo. destacar que fue desarrollado por National Instruments y utilizado por la NASA, para 2.2 Legomindstorms NXT monitorear y controlar al robot Sojourner Rover, en la misión de exploración de la El NXT (Figura 2.b) es la nueva generación superficie de Marte [54]. Estos entornos de robots de Legomindstorms [3], se utilizan bloques que se ensamblan para caracteriza por una mayor capacidad de formar un programa completo. Estos cómputo que el RCX. El NXT incluye bloques incluyen control de motores (avance, retroceso, encendido y apagado), JAVA para NXT, se llama iCommand, del ciclos repetitivos (while, repeat), estructuras cual se acaba de publicar la versión 0.5 que de control (if else), adquisición de datos de incluye entre otras cosas Soporte para los sensores, utilización de variables, Webcam y Soporte para brújula electrónica constantes y timers. Además de estos entornos gráficos, existen una serie de 3 Juguetes Autónomos programas que permiten su programación en códigos más tradicionales, como por En materia de Juguetes autónomos se ejemplo en Java. Es el caso del API Lejos detallarán las características más relevantes para RCX [21], [47] y para NXT el LeJOS de “Robosapien”. (robot bípedo) y de NXJ [46], iCommand un paquete java para “Robopet, Robotail, ” (robots el control de comunicaciones sobre cuadrúpedos), Roboquead (robots conexiones Bluetooth [45]. Uno de los exopodos) de la familia Woowee [37] . Se programas más utilizados y que aumenta consideran además las interfases de enormemente las posibilidades de comunicación y herramientas de programación es el NQC [8], [9] de Dave programación, en particular GoRobo. Baum, utilizado para programar al RCX en Aunque se venden como juguetes, ofrecen un lenguaje similar al C. Para el NXT, unas prestaciones tan avanzadas que hacen existe un programa llamado RobotC [26], de éstos un medio excelente para que es mucho más completo que el NQC del experimentar con la robótica RCX, y que además incluye un firmware propio, que lo hace muy potente. A 3.1 Bípedos: estos robots, poseen continuación se enumeran las características sensores de sonido estéreo, visión infrarroja, más importantes de las principales y también sensores de tacto para detectar herramientas de programación de los legos obstáculos y un importante número de mindstorms. grados de libertad. Dentro de esta categoría encontramos: [a] Robosapien V1 es una 2.3 Lenguajes y herramientas versión con menores prestaciones a nivel de Entre los lenguajes se caracterizan: NQC sensores que el V2, no incorpora visión, las aplicado para RCX y RobotC similar al capacidades de desplazamiento son NQC para los RCX, pero mucho más similares en sus funcionalidades, si bien el poderoso, permite programar a los robots en RSV1 al ser más pequeño tiene un mejor un C reducido. Incluye un firmware propio. desplazamiento, [b] , además Tiene soporte para la comunicación con de las características antes mencionadas bluetooth. Este es uno de los nuevos incluye también sensores táctiles en los programas que existen actualmente para guantes, y en las palmas de las manos, desarrollar con LegoMindstorms NXT. Para (Figura 3) lo que le permite tomar objetos la programación en JAVA de NXT se con ellas. Además posee una cámara que le encuentra el Lejos Java. Su firmware permite reconocer colores [29]. [c] alternativo para el NXT, se caracteriza por: Robosapien Multimedia, [36], aumenta aún [a] permitir realizar programas en JAVA más las capacidades de RSV2, incluyendo para controlar robots NXT, [b]funcionar en como característica más importante una entorno Windows y Linux, [c] comunicarse memoria mini SD, en donde se lo puede con el NXT vía USB, [d] soportar programar directamente, a través de un comunicación con Bluetooth, el firmware editor de código de tipo gráfico, que es del NXT permite una configuración de tipo propio de esta versión. Por default tiene Amo-Esclavo para la comunicación con cuatro personalidades que el usuario puede bluetooth. Con bluetooth se pueden modificar. Además puede grabar videos, comunicar hasta 3 NXT. El nuevo API de sonidos en formato mp3, tomar fotos, y luego reproducirlos en su display LCD

3.3 Artrópodos: En este grupo presentamos a [41], Figura 5.c, tiene cuatro patas con un chasis que está diseñado para moverse en cualquier dirección con 3 velocidades diferentes se caracteriza por identificar movimientos a una distancia de alrededor de tres metros, una vez identificado puede seguir el movimiento del objeto. Tiene sensores de bordes capaces de detectar marcos de puertas, bordes de mesas y sillas Figura 3. Robosapien V2 3.5 Lenguajes y herramientas de 3.2 Cuadrúpedos. Estos robots, también programación familia WowWee están equipados con visión infrarroja, sensores de sonido estéreo y motores Entre Es un entorno de programación “GoRobo” éstos se destacan: [a] Robopet, (Figura 4.) [18], permite controlar a la mayoría de los además de lo dicho anteriormente es capaz robots mencionados de la familia WowWee de interactuar con Robosapien, y también [37]. (Roboraptor, Robopet, , puede detectar los bordes de por ejemplo RSV2 y RS Multimedia).El lenguaje de una mesa [51]. [b] Robotail, (Figura 5.a.) programación que utiliza se denomina posee un sensor de tacto en su lomo, que GRIDscript (Go-Robo ID script) [18]. cuando es presionado, hace que tenga Utiliza una sintaxis de programación simple comportamientos diferentes. Además y consistente basado en las prácticas cuando está “hambriento”, se vuelve muy modernas de productos de programación “agresivo”, y sólo se calma “al encontrar comerciales (Visual Basic, C++, etc). comida” [52]. [c] Roboraptor, (Figura 5.b.) GRIDscript [18] utiliza sintaxis básica de es el roboreptil [53] que también es capaz de programación (While/EndWhile, For, interactuar con Robosapien If/Else/Endif, Repeat/EndRepeat), para la creación de procedimientos y el uso de variables.El estudiante inicial puede utilizar este lenguaje para definir procedimientos simples que posteriormente pueden combinarse para crear otros más complejos. Además los robots pueden programarse para interactuar entre sí, ya que el software permite el control de seis de ellos de forma Figura 4. Robopet Figura 5.a Robotail simultánea. Las órdenes se transmiten a través de una torre infrarroja que a modo de intérprete envía los comandos a cada robot, distinguido por su tipo a través de un torre infrarroja, como USB-UIRT [32]. y RedRat3 [27]. Algunas de las cosas que se pueden hacer con GoRobo son: utilizar

bloques condicionales y de repetición de Figura 5.b. Figura 5.c instrucciones, utilizar eventos Roboraptor Roboquad condicionados por timers, se puede introducir ejecución aleatoria de código. deja de ser un juguete, por lo que no cuenta Este lenguaje, se ha diseñado para adaptarse con una interfaz de comunicación ni a cualquier edad y utilizarse tanto en un almacenamiento interno. Debido a eso se contexto educativo como en uno más nos ha planteado la necesidad de agregarle profesional, donde se genera un ambiente de un “cerebro extra” a través de un interacción de los lenguajes clásicos y microcontrolador acoplado a las funciones formales de programación con los motrices del robot. (figura 6 ).Estas comandos nativos de los robots utilizados. modificaciones llevan a poder programar el Incorpora además un editor de escenas al microcontrolador a través de una interfaz de que se le puede sumar sonido.Otras desarrollo muy sencillas y con funciones opciones de Programación, para el compatibles con MS Visual Basic. El Robosapien como Robopet, reciben los microcontrolador empleado es el BX-24p . comandos vía IR por control remoto, de este [55] a un microcontrolador programable en modo hay quienes han realizado un mapeo Basic. El Basic X24 reúne en un circuito del de dichos comandos a hexadecimal [17], tamaño de un chip de 24 patas a un esto hace posible la programación de microcontrolador Atmel, una memoria Robosapien descargando el código con la EEPROM de 32Kbytes, un regulador de torre de IR de Lego Mindstorms. El tensión y un puerto RS232, de forma que problema es que hay una limitante con la basta con escribir los programas en Basic en cantidad de instrucciones que el RS puede el PC y luego volcarlos al módulo para que recibir, que son veinte como máximo. Otra éste los ejecute de forma totalmente opción más radical es el transplante de autónoma. El lenguaje de programación, cerebro al Robosapien, hay quienes han BasicX [39] cuenta con todas las estructuras optado por reemplazar la cabeza del de programación conocidas (While Do, If Robosapien V1 por una Palm [57], de este them, Case, For) y con todos los tipos de modo, se elimina el problema de la cantidad datos que son necesarios para manipular los de instrucciones que se pueden enviar al RS, datos de entrada desde los sensores y los ampliando enormemente la capacidad de datos de salida para los servo-motores.La cómputo para Robosapien V1. combinación de la versatilidad del Robosapien V1 [29], [36], [37] y la potencia 4. Construcción de Sistemas del microcontrolador BX-24 [39] pueden autónomos de programación llevar al Estudiante a programar el robot y abierta a partir de juguetes. hacerlo trabajar de forma completamente autónoma en ambientes emergentes.

Robosapien es un robot humanoide con funciones de comportamiento pre- programadas que pueden ser ejecutadas desde un control remoto inalámbrico infrarrrojo. El Robosapien [29], [37] cuenta con siete motores que le proporcionan diferentes grados de libertad, en las piernas, brazos, manos, cadera y cabeza, además de sensores de contacto en los dedos y los pies, y sensor de sonido. El humanoide incluye 67 funciones simples preprogramadas en la memoria interna. Una de las ventajas más Figura 6. V1BX-24 Figura 7 Roboball IR importante es el diseño de la parte motriz El estudiante trabaja en un editor básico del robot , lo que brinda un desplazamiento para el entorno de programación BX-24 muy veloz y sincronizado. Por otro lado, no (BasicX). Sumándole complejidad se monitorear un hogar con una cámara interna pueden agregar sensores de lectura y su sistema de orugas que puede adaptarse Infrarrojo (IS) , por lo que el robot puede a diferentes superficies. Tiene capacidades detectar una bola que emite señales de IR de VOIP: actúa como un teléfono VOIP por [40] (figura 7) y perseguirla tratando de lo que se puede comunicar a través de él con patearla y conduciéndola hacia delante cualquiera que vea a través de su cámara. (principio de funcionamiento para que el Entre otras características tiene Auto Carga robot juegue al fútbol. Esto lo logra leyendo de baterías: cuando el Spykee Robot se los datos de los sensores de IR, la bola (IS) detecta con bajas baterías, éste trata de y los sensores de luz (LS) que escanean ubicar su cargador y automáticamente se continuamente el campo de juego (Rojo: conecta para recargarse. En otro orden campo a defender , Blanco: campo hacia puede operar en Modo guardia: detecta dónde atacar), con eso se le provee al robot movimientos a través de sus sensores y de sentido de ubicación respecto al campo puede tomar fotos con su cámara interna y de juego. (Figura 8). Así como se la manda a través de e-mail con sonido de implementan sensores de IR , de luz , alarma si es necesario. [48] figura también se pueden plantear proyectos de 9.b, es un robot que se caracteriza por: [a] desarrollo de análisis de señales de otras tener un ágil desplazamiento, gracias a sus características de entradas, por ejemplo tres ruedas omni-direccionales, [b] sensores de temperatura (donde el robot incorpora WiFi 802.11b/g , webcam, tratará de mitigar un posible nicho de micrófono y parlante con la cual puede fuego), análisis de señales de proximidad actuar como una plataforma móvil para una (sensores de ultrasonido), donde se puede conferencia remota o vigilar un área, [c] hacer interactuar al robot con otros Incorpora un GPS NorthStar que le permite autómatas para ejecutar en ambientes navegar y localiza objetos con exactitud, cooperativos (juego de equipo) con [d] cuenta con una herramienta que estrategias determinadas para llegar a permite planificar sus actividades en el realizar un determinado objetivo ambiente de actuación, [e] cuenta con led que le permiten utilizarlo en su navegación durante la noche, [f] tiene la capacidad de regresar a su bahía de alimentación cuando sus baterías están bajas para su recarga, [g] tiene una conexión USB

Figura 8. Robosapien con Sensores

5 Robots de Vigilancia Figura 9.a Spykee Figura 9.b Rovio

Spykee Robot [42], figura 9.a, se 6 Robot Voladores caracteriza por ser un espía remoto: se puede tomar el control del robot de FlyTech Dragonfly [49], figura 10.a, es cualquier parte del mundo a través de una libélula, su vuelo basado en el Internet usando Skype Video Call service, el comportamiento de insectos, es radio monitor de seguridad hogareña puede controlada a través de la velocidad y sentido de giro de su rotor de cola y la una versión superior de Meccano y está velocidad de batido de sus alas muy livianas hecho de muchos bloques constructivos que y flexibles impulsada por un micromotor, el usuario puede unir y encajar con tornillos. cuenta con un sistema de recarga rápida de Su lenguaje de programación es C. baterías incorporada en el cuerpo de Dragonfly, con unos leds en sus ojos que se iluminan, blanquean, y cambian de color indica el estado de carga de su batería interna. Por otro lado FlyTech Bladestar [50], figura 10.b es un novedoso robot volador de alas rotativas para vuelo interno, cuenta con modo auto piloto con sensores para guiarlo en su vuelo, evitando el techo y volando a través de los Figura 11 Robot Bioloid obstáculos, otro modo de dirección es con la interacción de la presencia de las manos 8. Laboratorio de Desarrollo de como guía de vuelo, para un control Sistemas Autónomos de Robots completo cuenta con un radio de tres canales digitales IR que permiten el control La conformación de un LSAR presenta una de altura, potencia, adelante y atrás, oportunidad para el aprendizaje de los izquierda y derecha. Su tiempo de vuelo es alumnos especialmente en el contexto de la de aproximádamente cinco minutos. Ambos programación de robots que actúan en robots voladores no cuentan a la fecha con ambientes dinámicos, cooperativos y interfaces de programación, en las futuras requieran la elaboración de estrategias para líneas de investigación para el desarrollo de alcanzar sus metas frente a la oposición de un Framework del LASR se contempla la contrincantes, sin actuación de supervisión exploración para su integración exterior. Los programa de control del SAR no pueden definir de modo explícito todas las posibles acciones ante todas las posibles situaciones que se pueden presentar en su entorno. El robot no debe ser totalmente preprogramado [10], [11], [12], [13], [14],

10. a Dragonfly 10.b Bladestar [15] debe poseer una arquitectura cognitiva que permita una relación entre sus entradas sensoriales y sus acciones sobre el 7 Robots Multimodulares ambiente. Debe tener capacidad de generar su mapa autónomo de sensorizaciones- El Kit de Robot Bioloid [43], Figura 11, se acciones para sobrevivir y alcanzar sus caracteriza por disponer de un total de 18 objetivos. Un LSAR presenta también un servomotores, sensores de infrarrojos en la escenario favorable para el desarrollo de cabeza para comunicarse con otros robots y aplicaciones centradas en contexto donde la sensores de proximidad hacia delante y participación de actores robots y humanos hacia los lados, micrófono y altavoz. resulte de interés en un entorno interactivo a Bioloid Comprehensive es el kit de la través de celulares, Internet, etc. La plataforma robótica modular adecuado para estrategia inicial de comunicaciones para construir robots avanzados de hasta 18 apoyar la interacción entre los agentes grados de libertad como los humanoides. Es autónomos y humanos se basa en el empleo adecuado para aprendizaje, hobby, de las facilidades de comunicación investigación y competición. El kit es como inalámbrica Bluetooth entre los agentes. Los estudiantes avanzados se interesan también virtuales y reales a fin de enriquecer los en las metodologías en el contexto escenarios de aprendizaje de robots, el multiagente, herramientas, Sistemas procesamiento distribuido del ambiente autónomos Inteligentes, conceptos de entre sistemas autónomos y la integración Inteligencia Artificial, visión y de sistemas robots autónomos de distintos procesamiento distribuido [57], [19], [34], tipos [35] [31], Por otra parte, un LSAR puede incorporar información global del ambiente 10. Bibliografía a través de la integración de un sistema de visión, que permita la detección y [1] B. Bauer, J. P. Muller, J. Odell. "Agent localización de objetos y agentes en el UML: A Formalism for Specifying Multiagent escenario, en este caso el nivel de Software Systems". Proc. ICSE 2000 Workshop complejidad se aumenta aún más, on Agent-Oriented Software Engineering AOSE posibilitando, que el robot, además de 2000, Limerick, 2000, Agent-UML procesar la información de sus propios [2] NXT http://mindstorms.lego.com/ sensores, tenga información de todo lo que [3] RCX www.lego.com/eng/education/mindstorms/ [4] DeLoach, S.: Analysis and Design using pasa a su alrededor y se adapte MaSE and agent Tool. Proceedings of the 12th dinámicamente Midwest Artificial Intelligence and Cognitive Science Conferece (MAICS). 2001 9. Conclusiones y futuras líneas de [5] UML http://www.uml.org/ investigación [6]Requirements Specification ANSI/IEEE 830 [7] Mc Cabe, T . “A Software Complexity El uso de la tecnología robótica propuesta Menasure” IEEE Transactions on Sofware Engineering, vol 2, nº 4, pp 309-320, 1976 en el proceso de aprendizaje de los alumnos, [8] BAUM, Dave. NQC Manual. facilita el desarrollo de distintas http://bricxcc.sourceforge.net/nqc/doc/NQC_Manual. experiencias (fútbol de robots, rescate, [9] BAUM, Dave; HANSEN, John. NQC navegación, entre otras) que impactan shttp://bricxcc.sourceforge.net/nqc/doc/NQC_Guide directamente en el proceso aprendizaje, [10] BEARD, R. “Ball prediction for Robot mejorando la motivación de los alumnos, Soccer”. Department of Electrical & Computer contribuyendo a la enseñanza de Engineering, Brigham Young University, Provo. programación tanto de alumnos [11] BILL, N; SCHILIT, Norman Adams; et. al. principiantes, como de alumnos avanzados “Context-Aware Computing Applications, en sus trabajos de finales, los que dirigen IEEE Workshop on Mobile Computing Systems sus esfuerzos al desarrollo de Sistemas and Application, December 1994. [11] BOER, R; KOK, J. “The Incremental autónomos de Robots, orientando el Development of a Synthetic Multi-Agent desarrollo en este caso a una amplia System:The UvA Trilearn 2001 Robotic Soccer variedad de modelos computacionales Simulation Team”.Faculty of Science, descentralizados, como por ejemplo, las University of Ámsterdam. 2002 redes neuronales, arquitecturas subsumidas [12] BORENSTEIN, J; EVERETT, H. R; y autómatas celulares, entre otros. FENG, L. Navigating Movile Robots: Systems El LSAR presenta un espacio de and Techniques. 1996 oportunidades para el desarrollo de software [13] BRATMAN, Michael E. Intention, Plans, de robots integradas con las tecnologías de and Practical Reason. Harvard University Press, información, en ambientes dinámicos y Cambridge, Mass., 1987. distribuidos. Las líneas futuras de [14] CASTELO, C; FARSI, H; SCARPETTINI, F. Tesis de Licenciatura “Fútbol de Robots: investigación se orientan al desarrollo de Revisión del Estado del Arte y Desarrollo del framework de integración de los distintos Equipo UBASot de Simulación”. Facultad de robots, el desarrollo de capacidades de Ciencias Exactas y Naturales, Universidad de simulación interoperable entre mundos Buenos Aires. 2002 [15] CLARO, M.; GAZOLLI, A; POTENZA, [32] USB-UIRT: A; VISCUSO, Germán; IERACHE, Jorge. “El [33] VIEGAS D’ABREU, João Vilhete; equipo Morasot”. Facultad de Informática, CHELLA, Marco. Superlogo-RCX Universidad de Morón. 2003 .http://www.nied.unicamp.br/~siros/doc/pedago [16] CompuBlog, El blog del aula de robótica gia_2005_cuba.pdf [34] WOOLDRIGE, Michael; JENNINGS, [17] Controlling RoboSapien using LEGO IR- Nick. R. Agent Theories, Architectures and Tower.Trondheim-Bratislava, Languages: a Survey in Eds. Intelligence Agents. Berlin: Springer-Verlag, 1995. Vol 1, [18]GOROBO: http://www.q4tecnologies.com/ Nro 22 [19] GUESTRIN, C; CENKATARANAN, S; [35] WOOLDRIGE, Michael. An introduction KOLLER, D. Context Speciffic Multiagent to Multiagent Systems. John Wiley & Sons. Coordination and Planning with Factored 2002. MDPs. In Proceedings of the Eighteenth [36] WowWee National Conference on Artificial Intelligence, [37] http://www.woowee.com Edmonton, Canada, 2002. [38] Robodyssey [20] LEGO.com. MINDSTORMS NXT: [39] BasicX Programming language [21]LeJOS, Java for Legomindstorms. [40] Acroname IR SourceForge: Ball [22] MORROLLON, M; SEGOVIANO, A. 1, 2, [41] WowWee Roboquad 3… Logo (Ideas e Imaginación). Centro de < http://www.roboquadonline.com/> Orientación de Sociología y Psicología [42] Spykee Spy Robot Aplicada. Madrid, España: Cospa, 1985. < http://www.spykeeworld.com/> [23] National Instruments. LabVIEW. [en línea]. [43] Tribotix Bioloid Constructive Kid [ref. Abril de 2007]. Disponible en Web: oid/Bioloid_info1.htm> [24] NQC – Not Quite C.: [44] Nassi, I.; Shneiderman, B.: Flowchart techniques for structured programming, [25] PAPERT, S. Situating constructionism, en SIGPLAN Notices XII, August 1973 I. Harel y S. Papert (comps.), Constructionism. [45] Icommand NXT Norwood, NJ, Abel Publishing. 1991. http://lejos.sourceforge.net/p_technologies/nxt/i [26] QUICK START GUIDE, command/icommand.php Academy, CarnegieMellonUniversity, [46] Lejos NXJ http://www.robotc.net/> http://lejos.sourceforge.net/p_technologies/nxt/nxj/nxj.php [27] RedRat3 – USB Universal Remote Control [47] LeJOS RCX for http://lejos.sourceforge.net/p_technologies/rcx/lejos.php [28] RESNICK, Mitchel. Tortugas, Termitas y [48] Rovio http://www.gizmag.com/wowwee- Atascos de Tráfico, Gedisa, 2001 rovio-wifi-robot-webcam/8606/ [29] ROBOSAPIEN.tk, the first unofficial [49] http://flytechonline.com/about.html hacks and mods site. [50] http://www.bladestaronline.com/ [51] Robopet: www.robopetonline.com [30] ROGER, Chris. LEGOS, ROBOLAB, and [52] Robotail: www.roboreptileonline.com LabVIEW: Designing, Programming, and [53] Roboraptor : www.roboraptoronline.com Collecting Data. University of Wisconsin- [54]NI : http://www.ni.com/academic/mindstorms/ Madison. The Institute on Learning Technology. [55] BX-24 http://www.superrobotica.com/S3In National Institute of Science Education. EEUU. [56] Ierache, J et al. Elaboración de una http://www.wcer.wisc.edu/archive/cl1/ilt/extra/download/s Aproximación Metodológica para el desarrollo olution/rogerscw97.doc> de Software Orientado a Sistemas Multiagentes [31] RUSSELL, Stuart; NORVIG, Peter. ,2003 . http://www.fi.uba.ar/materias/7570/index.htm Inteligencia artificial. Un enfoque moderno. [57] Sven., Behnke et al., Using Handheld GUTIÉRREZ, Raúl Bautista (trad.); RANGEL, Computers to Control Humanoid Robots Raymundo Hugo (rev. Tec.).1a ed. Proceedings Dextrous Autonomous Robots and México: Prentice Hall Hispanoamericana, 1996. Humanoids, 2005.