IEEE-RITA Vol. 6, Núm. 1, Feb. 2011 1 Arquitectura para Utilizar Robots AIBO en la Enseñanza de la Inteligencia Artificial Miguel Arevalillo-Herráez, Salvador Moreno-Picot, Vicente Cavero-Millán Title— A computer architecture to use AIBO robots to teach Artificial Intelligence Abstract— Student motivation and involvement are two key factors to achieve educational objectives. For this reason, it is essential that students are made aware of the possible practical applications of the theoretical contents being taught. To this end, we have adapted the laboratory sessions of the Artificial Intelligence module so that students can bring into practice the concepts learned. By using AIBO robots we have designed teaching materials based on active learning, achieving a greater motivation and a significant improvement of student’s academic performance. This has been done by re-designing three of the laboratory sessions so that students make use of the robots. To avoid the time required to learn the proprietary programming environment, we have implemented a series of interfaces to ease the interaction with the robot and allow the use of any programming language. In this article we present the hardware and software architecture used to fulfill this objective and we describe the three laboratory session in which this is used. Index Terms—AIBO, Artificial intelligence, Education, Mobile robots. N I. INTRODUCTION UMEROSOS estudios (ej. [1]) concluyen que el uso adecuado de juegos y simulaciones en el aula permiten la aplicación de conocimiento a la solución de problemas, contribuyen positivamente al aprendizaje mejorando la comprensión de conceptos abstractos y aumentan la motivación del estudiante. Por ello, muchos docentes en el área de la Inteligencia Artificial (IA) hacen uso de juegos y simuladores para avivar el interés del alumnado y asistir al proceso de enseñanza aprendizaje, utilizándolos generalmente en simulaciones de práctica [2] para permitiral estudiante practicar lo aprendido durante las sesiones teóricas de la asignatura. En este contexto, este tipo de herramientas permiten el aprendizaje inductivo y deductivo mediante la observación, posibilitando un aprendizaje significativo por descubrimiento al permitir la investigación de las relaciones causa-efecto en tiempo real. Este hecho ha motivado el desarrollo de All authors are with the Computer Science Department at the University of Valencia, Avda. Vicente Andrés Estellés s/n, 46100.Burjassot. Valencia (Spain). email: {Miguel.Arevalillo,Salvador.Moreno,Vicente.Cavero}@uv.es DOI (Digital Object Identifier) Pendiente simuladores y entornos de juegos específicamente diseñados para uso docente en la enseñanza de la IA. En el caso de los juegos, éstos suelen ser de carácter competitivo y consisten de un entorno virtual en el que conviven una serie de robots cuyo comportamiento debe ser programado para conseguir un objetivo concreto. Esto permite la experimentación y puesta en práctica de conceptos y técnicas de IA de una forma aplicada, y la observación directa de las ventajas asociadas a su uso en lugar de otras técnicas de programación tradicionales. Ejemplos de este tipo de entornos incluyen Robocode[3], RealtimeBattle[4], JavaSoccer[5,6] Robot Battle[7], RoboRally[8], GNU robots [9], y Corewars[10]. Un problema fundamental asociado a la utilización de este tipo de entornos es el tiempo de aprendizaje necesario para entender su funcionamiento, y que en estas herramientas la programación del comportamiento del robot debe ser realizada en un lenguaje de programación específico, limitando la posibilidad de aplicar diferentes paradigmas de programación para resolver distintos tipos de problemas. Además, otro inconveniente de utilizar simuladores es la pérdida de inmersión en el mundo real que atrae a muchos estudiantes, y la pérdida de la imprevisibilidad de la interacción física en este tipo de entornos [11]. Entre los simuladores, destaca especialmente Player/Stage/Gazebo [12],que proporciona de forma gratuita y mediante código abierto un amplísimo conjunto de dispositivos, robots y elementos simulados. Player proporciona una interfaz de red que permite programar los robots y los sensores utilizando cualquier lenguaje de programación. Stage y Gazebo permiten simular poblaciones de robots, sensores y objetos en mundos 2.5D y 3D respectivamente. Aunque en este caso el simulador proporciona la independencia de lenguaje, el aprendizaje del entorno continúa siendo un problema y el alumno sigue sin obtener los beneficios derivados de la interacción física con los dispositivos. Además, las amplias posibilidades ofrecidas por los sensores hacen que la IA sea innecesaria para tareas sencillas, necesitando recurrir a problemas de mayor complejidad. En este artículo, describimos un enfoque docente basado en la utilización de robots reales. Los AIBOs (Artificial IntelligenceroBOts) son robots programables con forma de perro fabricados por la empresa Sony. Estos robots incorporan un procesador, un sistema de visión y motores que permiten el movimiento de las articulaciones (véase Fig.1). ISSN 1932-8540 © IEEE 2 IEEE-RITA Vol. 6, Núm. 1, Feb. 2011 La sección IIcontextualiza la asignatura. La secciónIV explica las razones que motivaron el uso de los AIBO en sus prácticas. La sección 0describe el montaje realizado por el profesorado para minimizar los tiempos de aprendizaje del entorno. La sección VI explica los contenidos de las tres prácticas que actualmente se realizan utilizando los robots. Finalmente, la sección VIIpresenta algunos resultados académicos relevantes y la sección VIII expone las conclusiones del artículo. II. TRABAJO RELACIONADO Fig.1. Sony AIBO. Además de haberse utilizado frecuentemente para realizar investigación en IA, por ser un recurso relativamente económico en comparación con otros robots alternativos, la posibilidad de programar su comportamiento les ha hecho especialmente atractivos para su uso en otros campos de aplicación, incluyendo la docencia. Aunque en este caso son soluciones significativamente más costosas que otras como los kits de LEGO [13], los minirobotsMoway [14] o el robot aspiradora Roomba de iRobot [15], sus características les hacen especialmente interesantes en el contexto de la enseñanza de la IA. En particular, las limitaciones de sus sensores y actuadores hacen natural el uso de la IA para realizar ciertas acciones sencillas. En nuestro caso hemos utilizado los AIBO para enseñar algunas de las técnicas propias del campo, en un intento por incrementar la motivación del estudiante y mejorar la calidad de su aprendizaje mediante experiencias prácticas más reales. Como principales aportaciones de nuestro trabajo, destacamos: a) El desarrollo de una arquitectura reutilizable que facilita la interacción con el robot y permite al alumno programarlos desde un PC, utilizando cualquier lenguaje de programación. Para ello hemos hecho uso de software proporcionado por el fabricante y de algunas implementaciones propias que describimos en este artículo. b) El diseño de los tres laboratorios que se exponen en el artículo, cuidadosamente diseñados para practicar los conceptos teóricos aprendidos en las clases. c) La medición de los resultados. Como primera experiencia, hemos introducido la utilización de los robots en algunas de las prácticas de la asignatura. Los resultados objetivos muestran un descenso significativo de las tasas de abandono, sugiriendo un incremento substancial de la motivación intrínseca del estudiante por la asignatura. El resto del artículo se organiza de la siguiente forma. La sección II expone otros trabajos relacionados con el nuestro. El uso de los AIBO en la enseñanza no espor sí mismo novedoso, existiendo una literatura bastante extensa al respecto. En esta sección exponemos algunos de los trabajos más recientes y relevantes desarrollados en este campo. Con respecto a su uso en contextos docentes, en [16] se describe la utilización de los robots AIBO en un trabajo de laboratorio, resaltando que el experimento tuvo un efecto positivo en la implicación del estudiante, y que disfrutaron de la oportunidad de observar un uso práctico y divertido del lenguaje de programación Scheme, que estaban utilizando en la asignatura; En [17] se describe el curso CMRoboBits, ofrecido por la universidad CernegieMellon y que utiliza el AIBO para presentar al estudiante todos los conceptos necesarios para crear un robot completamente inteligente, centrándose en las áreas de la percepción, la cognición y la acción;en [18], se propone un curso basado en la utilización de los AIBO con el objetivo de ganar el interés de los estudiantes e incrementar la diversidad en titulaciones universitarias de informática; en [19] se menciona el uso de los robots AIBO en un curso de introducción a la robótica; y en [20] se parte de un AIBO programado para contar historias a niños, utilizando técnicas para sincronizar la boca y gesticular, y se desarrolla la idea de utilizarlo como oyente para motivar la práctica de la lectura entre los estudiantes. Para facilitar el uso docente de los AIBO, y en la línea del trabajo que se presenta en este artículo, también se han desarrollado plataformas que facilitan la interacción con el robot. Así, en [21] se presenta Tekkotsu, una plataforma de desarrollo de aplicaciones para el AIBO que incluye una extensa colección de herramientas inalámbricas de monitorización y control remoto, escritas en java por razones de portabilidad. Esta herramienta incluye una capa para dar soporte a lo que los autores denominan “robótica cognitiva”, proporcionando una serie de primitivas de acción y percepción de alto nivel, de forma que los programadores puedan construir comportamientos inteligentes a un nivel más alto de abstracción. Argumentando la complejidad del entorno Tekkotsu y la dificultad de escribir programas bastante simples sin antes haber completado varios tutoriales, en [22] se describe otro programa con una arquitectura cliente/servidor denominado AiboConnect, que permite al estudiante trabajar con los AIBO a diferentes niveles. Para ello, la herramienta proporciona comandos que permiten, desde especificar los ángulos para cada una de las patas del robot, hasta simplemente ordenarle andar a la velocidad indicada. Otro ejemplo de este tipo de herramientas se describe en [23], donde se presenta una interfaz que permite ISSN 1932-8540 © IEEE AREVALILLO, MORENO Y CAVERO: ARQUITECTURA PARA UTILIZAR ROBOTS AIBO EN LA ENSEÑANZA... interactuar con el AIBO desde Matlab, y que permite emitir comandos y leer la información de sus sensores. En nuestro caso, presentamos una herramienta basada en sockets que, además de ser extensible, es más fácil de utilizar que las expuestas en los trabajos previos. De este modo, es posible reducir el tiempo de aprendizaje de la interfaz para interactuar con el robot y centrar el aprendizaje en técnicas concretas de IA. III. LA ASIGNATURA Inteligencia Artificial es una asignatura troncal de 9 créditos, 6 teóricos y 3 prácticos, perteneciente al cuarto curso de la titulación de Ingeniería Superior en Informática de la Universidad de Valencia. La asignatura pretende servir de introducción al campo de la IA a un estudiante con un perfil de conocimientos elevado en lenguajes de programación declarativos, funcionales, orientados a objetos e imperativos, pero sin conocimientoprevio en IA, y bajo en campos de matemáticas como estadística o técnicas necesarias de programación lineal. La materiacubre el temario habitual de la bibliografía genérica en IA (ej. [24]), estructurándose en cuatro partes claramente diferenciadas. La primera parte del temario se centra en la IA simbólica. Se comienza con la búsqueda heurística, tratando la representación en espacio de estados, el algoritmo A* [25], la teoría de juegos, los algoritmos minimax y alfa-beta [26], y sus variantes para juegos multijugador o con elementos aleatorios o desconocidos. Se continúa con la representación del conocimiento, incluyendo reglas de producción, redes semánticas [27], marcos [28], Mycin [29,30], Prospector [31], redes bayesianas, lógica borrosa y control borroso. Finalmente, terminamos exponiendo los esquemas de aprendizaje automático de reglas, centrándonos en los algoritmos ID3 [32], Michalski [33] y C4.5 [34]. La segunda parte del temario estudia la IA conexionista, presentando las redes neuronales [35]e introduciendo las ciencias cognitivas. En esta parte, incluimos redes supervisadas, como el Perceptrón multicapa o CMAC y no supervisadas, como las Redes de Hopfield, el autocorrelacionadordiscreto o las redes de Kohonen. La tercera parte se concentra en arquitecturas de agentes inteligentes, incluyendo los agentes reactivos, deliberativos y mixtos, y tratando la cooperación entre agentes. La cuarta parte se enfoca hacia las aplicaciones de la IA. En particular, se exponen los sistemas expertos y aplicaciones orientadas al reconocimiento del lenguaje natural y del habla, la visión artificial y la planificación. Para ilustrar los algoritmos presentados, se imparten una serie de seis laboratorios presenciales donde se practican algunos de los conceptos teóricos aprendidos durante las sesiones teóricas: A*, minimax y alfabeta, sistemas de reglas de producción, lógica borrosa, ID3, redes neuronales, agentes y reconocimiento de lenguaje natural. Cada uno de estos laboratorios tiene una duración de cinco horas y se dividen en dos sesiones prácticas de dos horas y media cada una, donde los alumnos realizan las actividades encomendadas en parejas, para fomentar la discusión e impulsar el aprendizaje 3 cooperativo. El número máximo de alumnos por sesión es de 12 parejas. IV. MOTIVACIÓN En muchos casos, los textos de IA vienen ilustrados con problemas sencillos o juegos que pueden resolverse mediante otras técnicas de programación que el alumno ya conoce. Aunque la sencillez de estos ejemplos permite entender los métodos expuestos y observar su funcionamiento, tiene el inconveniente de que en algunas ocasiones dificulta la apreciación de la ventaja que aporta la utilización de los métodos de IA frente a una resolución mediante otras técnicas de programación más tradicionales. Un ejemplo de este tipo de problema es la aplicación del algoritmo minimax o la poda alfa-beta a un árbol de juego como el de las tres en raya. En este caso, es posible encontrar el juego perfecto utilizando cualquier algoritmo de recorrido de árboles, sin recurrir a técnicas de poda ni usar heurísticas. Este hecho puede oscurecer la ventaja del uso de las técnicas de IA, que hubiera sido mucho más evidente en el contexto de un problema real con un espacio de estados inmenso o infinito, como el juego del ajedrez, en el que las técnicas de IA fueran realmente necesarias. Por otro lado, el número de sesiones prácticas y el tiempo dedicado a las mismas está limitado. El uso de problemas reales de mayor envergadura acarrearía una mayor carga de trabajo para el alumno, que en muchos casos no contribuiría significativamente al aprendizaje de los conceptos o métodos propios de la IA. Además, el esfuerzo adicional provocado por el uso de un problema más complejo tendría una repercusión importante en el número de actividades realizadas en cada una de las sesiones prácticas. El punto ideal de equilibrio entre la complejidad de los ejemplos y el esfuerzo de aprendizaje se encuentra en problemas reales que consigan la motivación intrínseca del alumno por su propio atractivo, muestren la ventaja de las técnicas de IA de una forma que quede convencido de su utilidad práctica, y no le supongan un incremento significativo del esfuerzo de aprendizaje. La solución que hemos adoptado es realizar algunas de las prácticas utilizando robots AIBO, en un entorno real constituido por el propio laboratorio. De este modo, muchas de las técnicas que se tratan en la asignatura son fácilmente adaptables a resolver problemas relacionados con temas de percepción, representación del entorno, planificación y ejecución de tareas de un robot cuadrúpedo en entornos reales. Además, los problemas de este tipo tienen, en general, una complejidad suficiente para que el alumno aprecie y valore la ventaja que aporta la técnica de IA que cada práctica pretende ilustrar. Asimismo, por tratarse de problemas reales, el alumno adquiere conciencia de otros problemas típicos de este tipo de entornos, como son el ruido en la sensorización y la precisión limitada de los movimientos de las articulaciones. ISSN 1932-8540 © IEEE 4 IEEE-RITA Vol. 6, Núm. 1, Feb. 2011 V. MONTAJE EXPERIMENTAL El problema principal que presenta la utilización del robot AIBO en prácticas de laboratorio es la complejidad de su programación. El robot se programa sobre un sistema operativo de tiempo real llamado APERIOS, en C++ y utilizando OPEN-R, un kit de desarrollo software (o SDK) gratuito que puede descargarse de la Web de Sony. La estructura de los programas es orientada a objetos, con un mecanismo de paso de mensajes entre procesos dependiente de APERIOS bastante complejo para el no iniciado. Esto implica la necesidad de un importante proceso de aprendizaje para poder comenzar a trabajar con el robot, hecho que constituye la mayor limitación del AIBO como herramienta de apoyo a la docencia de la IA. Para superar esta limitación hemos implementado las interfaces necesarias para que el alumno pueda interactuar fácilmente con el robot utilizando cualquier lenguaje de programación. Para ello, utilizamos un PC por cada AIBO y las aplicaciones AIBO MIND 2 y AIBO Entertainment Player, ambas suministradas por Sony (véase Fig. 2) El primero de estos programas se instala en el robot, y el segundo en el PC asociado a él. El AIBO Entertainment Player consta de un cliente gráfico y un servidor, llamado VAIBO Server, que es capaz de comunicarse de forma inalámbrica con el AIBO MIND 2 utilizando un protocolo propietario. Además, VAIBO Server proporciona un servicio Windows con el que puede interactuarse a través de mensajería Windows y que permite leer los sensores del AIBO, recibir eventos o enviarle órdenes. El cliente gráfico es capaz de comunicarse con este servicio, y de realizar las peticiones necesarias para mostrar gráficamente al usuario lo que indican los sensores del AIBO (imagen, sonido, posición, batería, etc...), permitiendo además la interacción con el AIBO a través del ratón y el teclado. En la Fig. 3 se muestra una captura de pantalla de la aplicación. Entre otros componentes, en la zona central se observa un área que contiene la vista de la cámara del robot; a su derecha una barra que indica la distancia al objeto más próximo; a su izquierda un pequeño esquema que indica la postura actual del robot; y en la parte inferior derecha de la interfaz un control que permite controlar el movimiento y postura del robot. Para permitir la comunicación entre el AIBO MIND 2 y el VAIBO Server se ha instalado una red inalámbrica en el laboratorio, utilizada exclusivamente en las prácticas de la asignatura. Mediante esta configuración se consigue un control remoto del AIBO a través del PC, que muestra por pantalla lo que el AIBO está viendo, emite por sus altavoces lo que está oyendo y visualiza todos los datos de sus sensores. Además, permite ejecutar órdenes mediante el teclado, como por ejemplo andar, retroceder, sentarse, tumbarse, levantarse, o girar la cabeza. La idea común a todas las prácticas es que el alumno desarrolle los programas necesarios (en el lenguaje más adecuado en cada caso) para hacer el papel de cerebro del AIBO. Estos programas utilizarán como entrada los sensores del AIBO y producirán sonidos o movimientos sobre las articulaciones del robot como salida. Para evitar los tiempos de aprendizaje que de otro modo serían necesarios para utilizar la mensajería Windows que utiliza el AIBO Entertainment Player para comunicarse con el AIBO MIND 2, hemos desarrollado una interfaz de comunicación en C++ que facilita las operaciones básicas necesarias. Este programa se encarga de abrir un socket TCP/IP para la escucha de comandos, al mismo tiempo que actúa como cliente del VAIBO server, haciendo de puente entre el socket TCP/IP y la mensajería Windows. De esta forma los programas desarrollados por el alumno únicamente necesitan conectarse a un socket, y nuestra aplicación se encarga de la comunicación con el servidor del AIBO a través de la mensajería Windows. Una vez el socket está establecido nuestra interfaz de comunicación reemplaza el servicio ofrecido por el VAIBO Server, permitiendo la recepción de eventos de sucesos que han ocurrido en el AIBO, o el envío de acciones u órdenes de lectura de sensores. Esta arquitectura, que permite el uso de cualquier lenguaje de programación que permita la comunicación a través de sockets se ilustra en la Fig. 4. Fig. 2. Un puesto de trabajo, compuesto por un PC y un robot AIBO. ISSN 1932-8540 © IEEE AREVALILLO, MORENO Y CAVERO: ARQUITECTURA PARA UTILIZAR ROBOTS AIBO EN LA ENSEÑANZA... 5 Fig. 3. Cliente Gráfico de AIBO Entertainment Player. Para implementar esta interfaz de comunicación entre las aplicaciones del alumno y el VAIBO Server hemos partido de uno de los programas de ejemplo suministrados por Sony para el AIBO Entertainment Player. En particular, se ha hecho uso del ejemplo TakePicture. Esta aplicaciónconsiste en un programa en C++ que dispone de una interfaz gráfica que permite realizar algunas de las funciones del cliente gráfico del AIBO Entertainment Player. Para ello, se comunica con el VAIBO Server utilizando la mensajería de Windows. Tomando como base este código, se ha sustituido la interfaz gráfica por un socket que se mantiene a la escucha. De esta forma se permite que un programa externo pueda conectarse y enviar comandos textuales equivalentes a los que proporcionaba la interfaz gráfica original, y que pueda recibir la misma información que se hubiera mostrado en ella.Esto permite que un cliente remoto pueda utilizar comandos textuales para realizar las mismas acciones que un usuario de TakePicture podía realizar utilizando la interfaz gráfica. VI. LAS PRÁCTICAS Tradicionalmente, las prácticas de la asignatura han propuesto la resolución de problemas reales y suficientemente sencillos para poder ser realizados en las dos horas y media de las que se compone cada sesión. En general, proponen el diseño e implementación de algoritmos que utilizan las técnicas aprendidas en clase para solventar problemas concretos, en muchos casos relacionados con juegos clásicos. La introducción de los AIBO en las prácticas de la asignatura se ha realizado de forma progresiva, comenzando en el curso 2003/04. En particular, se han rediseñado tres de los seis laboratorios de los que se compone la parte práctica de la asignatura, para que el estudiante haga uso de los AIBO. Para probar los efectos de la utilización de los robots en el aprendizaje y la motivación, en cada curso académico se han incorporado de 1 a 3 de estos laboratorios. Durante las sesiones correspondientes a estos laboratorios, el alumno tiene asignado un puesto de trabajo como el ilustrado en la Fig. 2, que incluyeun AIBO a su entera disposición. Esto implica que el alumno dedica un total de 15 horas a interaccionar con el robot. En esta sección explicamos los contenidos de los tres laboratorios que hacen uso de los AIBO, y que utilizan el montaje expuesto en la sección anterior. A. Práctica 1: Reglas de Producción. En esta práctica se plantean dos actividades. En la primera de ellas, se pide implementar en Prolog el motor de inferencia de un esquema de representación del conocimiento basado en reglas de producción con encadenamiento hacia adelante, y con heurística de disparo de reglas prefijada a disparar la primera regla encontrada de las posibles. Para ello, se proporciona una base de conocimiento de ejemplo que implementa el conocido problema de animal, vegetal, mineral, donde el sistema realiza preguntas al usuario y acaba concluyendo a qué categoría pertenece lo que el usuario tenía en mente.Para realizar esta primera actividad, basta con un intérprete Prolog, que en nuestro caso es el Eclipse Prolog v6.0. Puesto que la interacción del usuario con el sistema experto desarrollado es mediante preguntas y respuestas por consola, los predicados de entrada y salida de texto por consola de Eclipse son suficientes para este fin. ISSN 1932-8540 © IEEE 6 IEEE-RITA Vol. 6, Núm. 1, Feb. 2011 Aplicaciones del Alumno Cliente Gráfico Sockets AIBO MIND 2 APERIOS WIFI Interfaz de comunicación Protocolo propietario Mensajería de Windows VAIBO Server Microsoft Windows ® Fig. 4. Arquitectura utilizada para las prácticas de la asignatura. La segunda actividad consiste en construir una base de conocimiento que, utilizando el motor desarrollado en la primera actividad, sea capaz de hacer que un robot AIBO se mueva por el laboratorio sin tropezar con las paredes hasta llegar a salir del mismo, y que cuando lo haya conseguido se ponga a bailar (una acción primitiva compleja del AIBO MIND 2). Para esta actividad, se proporciona un programa en Prolog que es capaz de establecer la comunicación entre la consola de Prolog y la interfaz de comunicación descrita en la sección 0. Este programa facilita la realización de preguntas, la obtención de respuestas y el envío de las órdenes de movimiento correspondientes desde la consola, en función de las conclusiones a las que llegue el proceso de razonamiento. Esta interacción se produce mediante la utilización en la base de conocimiento de los siguientes tres tipos de hechos: estado, distancia y mueve, todos ellos con un único argumento. Para ello, el programa que se proporciona controla el siguiente ciclo de funcionamiento del motor de inferencia: 1- Se parte de una memoria de trabajo en la que sólo puede haber un hecho de tipo estado (los posibles valores del argumento los debe definir el alumno). 2- El robot lee el telémetro de la nariz y añade un hecho de tipo distancia de entre los siguientes: distancia(muy_cerca)si hay algo a menos de 10 cm de la cabeza del robot. distancia(cerca) si hay algo entre 10 y 30 cm. distancia(lejos) si hay algo a más de 30 cm o no hay nada 3- Se ejecuta el motor de inferencia utilizando la base de conocimiento y la memoria de trabajo dada. 4- Si al acabar la ejecución del motor hay un hecho de tipo mueve (si hay varios, sólo funciona el primero), se pasa la orden al robot. Este hecho acepta un único parámetro, que puede tomar cualquiera de los siguientes valores: nada, avanza, avanza_poco, retrocede, izquierda, derecha, cabeza_centro, cabeza_izquierda, cabeza_derecha, baila o fin. 5- Se borra toda la memoria de trabajo menos el primer hecho que se encuentre de tipo estado. Para facilitar el entendimiento de la sintaxis de la base de conocimiento, se les proporciona una de prueba que realiza una tarea diferente a la pedida y mucho más simple. En particular, esta base de conocimiento permite al robot avanzar hasta encontrar una pared, y detenerse lentamente al aproximarse a ella. B. Práctica 2: Lógica Borrosa. Esta práctica consiste en la implementación de un controlador utilizando lógica borrosa para conseguir que el AIBO se mueva sin tropezar con las paredes por el laboratorio. Se piden tres versiones del controlador: la primera que consiga que el robot siga las paredes del laboratorio; la segunda que haga que el AIBO se mueva en línea recta reflejándose contra las paredes; y la tercera que consiga que el AIBO persiga a un obstáculo (que será otro AIBO moviéndose utilizando alguna de las dos estrategias anteriores). Para la realización de esta práctica se proporciona un programa en Prolog que realiza las funciones de motor del controlador borroso, y que necesita de la definición del controlador borroso para funcionar. Se provee igualmente la definición de un controlador que realiza una tarea muy simple, para aclarar la sintaxis que se debe utilizar. Para realizar el controlador borroso se deben utilizar 3 variables lingüísticas de entrada y 2 variables lingüísticas de salida. Estas variables se detallan a continuación. Variables de entrada: izquierda. Se refiere a la distancia en centímetros al obstáculo más próximo al perro en una línea a 45 grados a la izquierda del eje longitudinal del perro. centro. Viene asociada a la distancia en centímetros al obstáculo más próximo al perro en la línea del eje longitudinal del perro. ISSN 1932-8540 © IEEE AREVALILLO, MORENO Y CAVERO: ARQUITECTURA PARA UTILIZAR ROBOTS AIBO EN LA ENSEÑANZA... Todas las variables de entrada tendrán tres subconjuntos borrosos asociados a muy_cerca, cerca y lejos. Variables de salida: velocidad. Asociada a la velocidad del perro en centímetros por segundo. Tendrá tres subconjuntos borrosos asociados a parado, despacio y deprisa. giro. Asociada a la velocidad de giro del perro en grados por segundo. Tendrá tres subconjuntos borrosos asociados a izquierda, centro y derecha. La realización de la práctica consiste en implementar las reglas de razonamiento borroso para conseguir el objetivo propuesto, relacionando las entradas y las salidas de forma adecuada. C. Práctica 3: Redes Neuronales. Esta práctica consiste en implementar y entrenar una red neuronal de tipo ADALINE (ADAptiveLInearNEuron) [36] para conseguir detectar dígitos del 0 al 9 mediante una cámara. Una vez entrenada, se utilizará en el AIBO para que éste pronuncie los nombres de los dígitos que su cámara vaya encontrando mientras se mueve. La práctica se desarrolla en dos fases: la primera de implementación y entrenamiento, y la segunda de reconocimiento. Para la realización del entrenamiento se proporciona al alumno un fichero con un conjunto de patrones que representan imágenes de los dígitos del 0 al 9, junto con el dígito al que corresponden (estos patrones han sido creados binarizando imágenes de dígitos sobre una rejilla de tamaño 7x5). En esta fase, la labor del alumno consiste en construir un programa en C++ utilizando los algoritmos explicados en clase para realizar el aprendizaje de los pesos. El objetivo final de la red es que, una vez haya aprendido, responda a la presentación de una imagen de un dígito en su entrada activando una de sus diez salidas. En la segunda parte, el estudiante debe programar la parte de reconocimiento de la red ADALINE utilizando la matriz de pesos aprendida en la parte anterior. Para ello, se proporciona un programa que se comunica con el AIBO, capta la imagen de la cámara, adapta a la resolución de la red ADALINE, e invoca al programa del alumno. Si el programa del alumno no activa ninguna de sus salidas, no hace nada. Si por el contrario activa alguna de ellas, genera una orden que provoca que el AIBO reproduzca un archivo de sonido en formato WAV que depende de la salida. El efecto es que el AIBO pronuncie el nombre del dígito que ve en su cámara. Para probar el funcionamiento, el alumno conduce el AIBO por un entorno en el que se han colocado trocitos de papel con los dígitos dibujados sobre ellos, utilizando el AIBO Entertainment Player. VII. RESULTADOS En general, hemos observado que la utilización de los robots proporciona un atractivo a los alumnos que les incita a realizar la práctica con una mayor motivación que la que tenían cuando ésta se realizaba de forma tradicional. Este hecho redunda en una mayor comprensión de la técnica ilustrada, como queda evidenciado en los exámenes de laboratorio, y en un mayor interés del alumno por la asignatura. Esto se refleja en las tasas de abandono y en los resultados académicos obtenidos. Las prácticas descritas en la sección VI han sido introducidas en la asignatura de forma progresiva. Actualmente existe un conjunto de docelaboratoriospreparados, y cada curso académico se escogen seis de ellos de forma que se cubran los aspectos más importantes impartidos durante las sesiones teóricas. La Fig. 5muestra las tasas medias de abandono cuando entre el grupo de los seis laboratoriosimpartidos figuran 0, 1, 2 y 3 de los que utilizan los robots AIBO. Estas tasas de abandono representan el promedio entre los cursos académicos 2003/04 a 2008/09, y se han medido como la proporción de alumnos que hicieron entrega de la primera práctica pero no hicieron entrega de la última. De esta forma, se elimina el efecto de alumnos que se matricularon pero no llegaron realmente a cursar la materia (que ocurriría si el abandono se midiera como el número de no presentados al examen final). Como se puede observar, el descenso de las tasas de abandono conforme se incrementa el número de prácticas que usan los AIBOs es especialmente significativo, teniendo especial relevancia a partir de 2. Este resultado sugiere que la inclusión de una única práctica en la que se utilizan los robots AIBO tiene poca influencia sobre la tasa de absentismo, mientras que la inclusión de más prácticas puede alterar significativamente la motivación del alumnado por la materia. Con respecto a los resultados académicos, destacar el impacto sobre la nota media obtenida en prácticas, que puede observarse en la Fig. 6. En este caso, se observa que la calificación media aumenta conforme se incrementa el número de prácticas que utilizan los AIBOs. Tasas de abandono 34,50% Porcentaje de alumnos derecha. Está relacionada con la distancia en centímetros al obstáculo más próximo al perro en una línea a 45 grados a la derecha del eje longitudinal del perro. 7 32,10% 35% 30% 25% 20% 15% 10% 5% 0% 18,30% 10,10% 0 1 2 3 nº de prácticas que usan los AIBOs Fig. 5. Tasa de abandono de estudiantes en función del número de prácticas que utilizan los AIBOs. ISSN 1932-8540 © IEEE 8 IEEE-RITA Vol. 6, Núm. 1, Feb. 2011 Nota media Calificación obtenida en prácticas 7 6 5 4 3 2 1 0 6,22 6,32 1 2 6,82 5,40 0 3 entorno altamente motivador. La experiencia nos demuestra que la introducción de esta tecnología en las prácticas ha contribuido a incrementar la motivación intrínseca de los estudiantes hacia la asignatura, resultando en una mejora significativa de los resultados académicos.Este hecho se ve especialmente reflejado en las tasas de abandono, que se reducen drásticamente cuando el curso incluye varias prácticas que utilizan los robots. A la vista de los resultados académicos obtenidos, el equipo docente se encuentra actualmente desarrollando nuevos enunciados de prácticas que utilicen los AIBOspara incorporarlos en el curriculum de la asignatura. AGRADECIMIENTOS nº de prácticas que usan los AIBOs Fig. 6. Calificación media obtenida en prácticas en función del número de ellas que utilizan los AIBOs. TABLA I CALIFICACIONES MEDIAS EN PRÁCTICAS CON Y SIN AIBOS, DEPENDIENDO DEL NÚMERO DE PRÁCTICAS QUE UTILIZAN LOS AIBOS. Nº prácticas con AIBOs 0 1 2 3 Media prácticas AIBOs Media otrasprácticas 6,12 6,40 7,02 5,40 6,22 6,32 6,82 Además, este aumento no solamente se produce en las prácticas que hacen uso de los robots, sino que se extiende al resto de las prácticas, como se muestra en la Tabla I, un resultado que sugiere un aumento de la motivación del alumno por la asignatura en su conjunto. Ambos resultados muestran un impacto significativo en la motivación del estudiante, reflejado en forma de una disminución de las tasas de abandono y un incremento en la calificación obtenida en prácticas. Aparte de los datos objetivos presentados en esta sección, existe la apreciación subjetiva del profesorado de que el aprendizaje de los alumnos se beneficia claramente del uso de los AIBOs en las prácticas. Como dato significativo mencionar que, en muchas ocasiones, el alumno desarrolla actividades adicionales no planteadas en los enunciados o profundiza en aquellas que sí se solicitan. Todos los años es común tener un grupo de alumnos que solicitan al profesorado poder utilizar los robots fuera del horario de prácticas, un hecho que sugiere que los AIBOs son un medio adecuado para despertar el interés del alumno por la IA, al mismo tiempo que constituyen una forma amena de aprendizaje. VIII. CONCLUSIONES Y TRABAJO FUTURO En este artículo hemos presentado el uso de robots Sony AIBO en el contexto de las prácticas de la asignatura Inteligencia Artificial, de cuarto curso de la titulación de Ingeniería Informática. Mediante un elaborado montaje y un cuidadoso diseño de los enunciados hemos conseguido disminuir los tiempos de aprendizaje del entorno, a la vez que permitimos al estudiante trabajar con problemas reales en un Los autores agradecen la financiación recibida desde el Vicerrectorado de Convergencia Europea y Calidad de la Universitat de València, a través de los proyectos DocenTIC y FinestraOberta con códigos 08/DT/04/2009, 18/DT/05/2010 y 47/FO/35/2010; y desde el Ministerio de Educación y Ciencia y FEDER, mediante el proyecto Consolider Ingenio 2010 CSD2007-00018. REFERENCIAS [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] B. H. Cameron, “Effectiveness of Simulation in a hybrid and online networking course” The Quarterly Review of Distance Education, vol. 4 (1), pp. 51-55, 2003. J. Lee, “Effectiveness of Computer-based Instructional Simulation: A Meta Analysis”,International Journal of Instructional Media, vol. 26, March 1999. http://robocode.sourceforge.net/. http://realtimebattle.sourceforge.net/. Balch, T. R., “Java soccer,” RoboCup-97: Robot Soccer World Cup I, London, UK: Springer-Verlag, pp. 181-187, 1998 B. López, M. Montaner, J. L. dela Rosa “Utilización de un simulador de fútbol para enseñar inteligencia artificial a ingenieros”,VII Jornadas de Enseñanza Universitaria de la Informática, Palma de Mallorca: AENUI, 2001. http://www.robotbattle.com/. http://www.roborally.com/. http://www.gnu.org/software/gnurobots/. http://www.corewars.org/. Dodds, Z., Greenwald, L., Howard, A.M., Tejada, S., Weinberg, J.B., “Components, Curriculum, and Community: Robots and Robotics in Undergraduate Education”, AI Magazine, 27(1), pp. 11-22, 2006 http://playerstage.sourceforge.net/. Kumar, A.N., "Using robots in an undergraduate artificial intelligence course: an experience report," Frontiers in Education Conference, vol.2, pp.T4D-10-14, 2001 http://www.moway-robot.com/. http://www.irobot.com/. Chilton, J.,Gini, M., “Using the AIBO in a CS1 course”,Proceedings of the AAAI Spring Symposium on Robots and Robot Venues: Resources for AI Education, pp. 24-18, 2007 Veloso, M.M., Rybski, P.E., Lenser, S.,Chernova, S.,Vail, D.,“Creating an Intelligent AIBO Robot”, AI Magazine 27(1), pp 6782, 2006 Gini, M., Pearce, J.,Sutherland, K.,“Using the Sony AIBOs to Increase Diversity in Undergraduate CS Programs”, in Proc. of the Conference on Intelligent Autonomous Systems, IAS-9, pp 1033-1040, 2006. Sklar, E., Parsons, S., and Azhar, M.Q.,“Robotics across the curriculum”,AAAI Spring Symposium on Robots and Robot Venues: Resources for AI Education, 2007. J.D. Decuir, T.Kozuki, V. Matsuda, J. Piazza, J. “A friendly face in robotics: Sony's AIBO entertainment robot as an educational tool”, Comput. Entertain.2 (2), pp. 14, 2004. ISSN 1932-8540 © IEEE AREVALILLO, MORENO Y CAVERO: ARQUITECTURA PARA UTILIZAR ROBOTS AIBO EN LA ENSEÑANZA... [21] Touretzky, D. S., Tira-Thompson, E. J.,“Tekkotsu: A framework for AIBO cognitive robotics”,Proceedings of the Twentieth National Conference on Artificial Intelligence (AAAI-05). Menlo Park, CA: AAAI Press, 2005. [22] Chown, E., Foil, G., Work, H., Zhuang, Y.,“AiboConnect: A simple programming environment for robotics”,Proceedings of the 19th International FLAIRS Conference, pp 192-197, 2006. [23] Goodspeed, T., Wunderlich, R.,Elhanany, I., "WIP: Enhancing Reinforcement Learning Class Curriculum using a Matlab Interface Library for use with the Sony AIBO Robot," Frontiers in Education Conference, pp F3J-13 F3J-14, 2007. [24] S.J. Rusell, P. Norvig, Inteligencia Artificial: un enfoque moderno, segunda edición, Pearson, Prentice Hall, ISBN:84-205-4003-X, 2005. [25] P. E. Hart, N. J. Nilsson, B. Raphael, “A Formal Basis for the Heuristic Determination of Minimum Cost Paths”,IEEE Transactions on System, Science and Cybernetics SSC4 4(2): 100-107, 1968. [26] D. E. Knuth, R.W. Moore. “An Analysis of Alpha-Beta Pruning”. Artificial Intelligence Vol. 6, No. 4: 293–326, 1975. [27] A. M. Collins, M.R. Quillian. “Retrieval time from semantic memory”. Journal of verbal learning and verbal behavior 8 (2): 240– 248, 1969. [28] M. Minsky, A Framework for Representing Knowledge. MIT-AI Laboratory Memo 306, 1974. [29] B.G. Buchanan, E.H. Shortliffe, Rule-based Expert Systems: The MYCIN Experiments of the Stanford Heuristic Programming Project, Addison-Wesley, 1984 [30] E.H. Shortliffe, B.G. Buchanan. “A model of inexact reasoning in medicine”. Mathematical Biosciences 23 (3-4): 351-279, 1975. [31] Barr, Aaron &Feigenbaum, Edward, The Handbook of Artificial Intelligence, Reading, Mass (USA). Addison-Wesley, pp 155-162, 1982 [32] J. R. Quinlan, “Induction of Decision Trees”, Machine Learning, 1, 1, pp. 81-106, 1986. [33] R. S. Michalski, R. Stepp , “Automated Contruction of Classifications conceptual clustering versus Numerical Taxonomy”, Machine Learning, 1, 1, pp. 81-106, 1986. [34] J.R. Quinlan, C4.5: Programs for Machine Learning, Morgan Kaufmann Publishers, 1993. [35] P.K. Simpson, Artificial Neural Systems: Foundations, Paradigms, Applications, and Implementations, Pergamon Press, ISBN:0-08037895-1, 1990. [36] B. Widrow and M. Hoff, “Adaptive switching circuits”, WESCON Convention Record, vol. 4, pp. 96-104, 1960. 9 Miguel Arevalillo-Herráez obtuvo el BSc in ComputerStudies en 1994 y el PhD en 1997 por la Universidad John Moores de Liverpool (Reino Unido). Además, realizó el PgCert in Teaching and Learning in Higher Education en la mismauniversidad.Actualmente, su investigación se centra en e-learning y en el área de la inteligenciaartificial aplicada. En 1997 inició su andadura postdoctoral en la misma universidad en la que completó sus estudios. Durante un año, fue investigadorposdoctoral en el departamento de informática, en el área de la inteligencia artificial aplicada. En 1998 obtuvo una posicióncomo profesor departamento de ingeniería de la misma institución, y en 1999 abandonó el ámbito académico para adquirir experiencia en la empresa privada, trabajando para las empresas mezzo net (Mallorca, España) y TISSAT S.A. (Valencia, España), como programador y consultor informático respectivamente. Al siguiente año se convirtió en jefe de estudios de MediterraneanUniversity of Science and Technology (Valencia, España), cargo que ostentó hasta que abandonó esta institución en el año 2006. Seguidamente, entró a formar parte de la plantilla de profesorado de la Universidad de Valencia (España). Desde entonces, continúa ejerciendo labores docentes e investigadoras en esta universidad. Salvador Moreno-Picot obtuvo la licenciatura en Física por la Universidad de Valencia en 1988, a los 20 años.Trabajó hasta 1990 en la industria privada, en ETRA S.A., donde participó en varios proyectos de investigación Europeos en el área de Inteligencia Artificial. Consiguió una beca de la Generalitat Valenciana durante la cual obtuvo el grado de doctor en Físicas por la Universidad de Valencia en 1993. A continuación, consiguió una plaza de profesor ayudante en la Universidad de Valencia, y se convirtió en el responsable del grupo de Inteligencia Artificial del Instituto de Robótica de la Universidad de Valencia. En 1997, obtuvo una plaza de profesor titular de Universidad en el Departamento de Informática de la Universidad de Valencia, y comenzó su segunda licenciatura en Medicina y Cirugía, que completó en 2003. Su investigación actual se centra en las áreas de Ciencias Cognitivas e Inteligencia Artificial Aplicada. Vicente Cavero-Millán obtuvo la Licenciatura en Física por la Universidad de Valencia en 1991. Ese mismo año entró a formar parte del (laboratorio del departamento de Informáticade la Universidad de Valencia). En dicho laboratorio trabajó en la parte de comunicaciones de varios proyectosde tráfico. En 1993, consiguió una plaza de profesor ayudante, impartiendo docencia en diversas asignaturas, la mayoría relacionadas con bases de datos. En 1998, pasó a ejercer como profesor asociado a tiempo parcial para trabajar como administradorde sistemas en un proveedor de servicios de Internet, hasta el 2001. Desde entonces, su principal ocupación es la docencia en las prácticas de variasasignaturas, entre ellas la de Inteligencia Artificial. ISSN 1932-8540 © IEEE