Arquitectura para Utilizar Robots AIBO en la Enseñanza - IEEE-RITA

Anuncio
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
Descargar