Dise no de Agentes experimentando con robots que juegan al F utbol en ambientes reales y simulados
←
→
Transcripción del contenido de la página
Si su navegador no muestra la página correctamente, lea el contenido de la página a continuación
Diseño de Agentes experimentando con robots que juegan al
Fútbol en ambientes reales y simulados*
Pablo Kogan Gerardo A. Parra Rodolfo Del Castillo
pkogan@uncoma.edu.ar gparra@uncoma.edu.ar rolo@uncoma.edu.ar
Grupo de Investigación en Robótica Inteligente
Departamento de Ciencias de la Computación
Facultad de Economı́a y Administración
Universidad Nacional del Comahue
Buenos Aires 1400 - 8300 Neuquén - Argentina
Tel/Fax (54) (299) 4490312/313
Resumen que si cada uno trabajara en temas no rela-
cionados.
El objetivo del Grupo de Investigación El fútbol con robots fue elegido para encon-
en “Robótica Inteligente”, es promover el trar necesidades complejas del mundo real,
estudio de áreas de Inteligencia Artificial a a través de un mundo limitado, que tiene
través del fútbol con robots. En este artı́culo problemas manejables en tamaño y costos de
se describe el diseño de un agente en Prolog, investigación. El problema es atractivo por-
logrando una abstracción de la plataforma y que ofrece una integración de áreas de In-
tipos de robots que se utilicen. Para evaluar teligencia Artificial y Robótica. Tales áreas
el diseño, se ha experimentado sobre una incluyen: comportamiento reactivo, adquisi-
plataforma real y otra simulada, utilizando ción de estrategias, aprendizaje (learning),
el mismo agente lógico. planeamiento (planning) en tiempo real, sis-
temas multiagentes, reconocimiento del am-
Palabras Claves: Sistemas Multiagen- biente, visión, control de motores, control de
tes. Agentes Inteligentes. Robótica. Progra- robot inteligentes, entre otros [1].
mación Lógica. Fútbol con robots. Trabajar con robots que jueguen al fútbol, es
interesante, por lo que este juego representa
a nivel mundial. El fútbol es idioma univer-
1. Introducción sal, sus reglas son de conocimiento común y
es el deporte más popular en la mayorı́a de
El fútbol con robots ha sido recientemente los paı́ses. Esta caracterı́stica hace al proble-
catalogado como un problema estándar pa- ma del fútbol con robots mucho más atrac-
ra la investigación en Inteligencia Artificial y tivo para incentivar estudiantes, investigado-
Robótica. Un problema estándar provoca que res, sponsors y a la sociedad en su conjunto.
gran cantidad de investigadores se enfoquen En [4], se presenta el desarrollo de una inter-
sobre los mismos temas, de forma tal que, au- faz entre Prolog y un simulador de fútbol con
nando esfuerzos el avance sea mucho mayor robots [8], con el fin de participar de la com-
* petencia CAFR 2005 [7]. En el presente tra-
Este trabajo está parcialmente financiado por la
Universidad Nacional del Comahue, en el contexto del bajo se desarrolla una interfaz análoga, pero
Proyecto de Investigación “Técnicas de Inteligencia con el objetivo de que el comportamiento sea
Computacional para el diseño e Implementación de igual al de la interfaz con el ambiente real. De
Sistemas Multiagentes” (COD 04/E062), por el Gru-
esta manera se abstrae el diseño de los agen-
po de Investigación en Robótica Inteligente y por la
Universidad Politécnica de Madrid a través del Pro- tes, de la plataforma y tipos de robots que
yecto AL05 PID 0040, “Implementaciones y Modelos se estén utilizando. A continuación, se rea-
de Razonamiento basado en Programación Lógica”.liza un análisis del diseño de un agente que La teorı́a de agentes define que un agente
juega al fútbol en Prolog [11] y se comentan es una entidad que percibe del ambiente a
las experiencias realizadas sobre robots reales través de sensores y actúa en consecuencia a
[9] y sobre el ambiente simulado [8]. través de efectores. Una forma de representar
el funcionamiento de un agente en Prolog es
la siguiente:
2. Diseño de un Agente en
Prolog ciclo : −
percibir,
El enfoque tradicional de la construcción razonar(Accion),
de agentes, está dado por la representación actuar(Accion),
simbólica de su ambiente, de su comporta- ciclo.
miento y la manipulación sintáctica de esta El predicado ciclo representa el ciclo perci-
representación. La arquitectura de agentes bir, razonar y actuar, a través de las reglas
basada en lógica utiliza el enfoque tradicio- que lo conforman. La regla percibir modifica
nal, realizando las representaciones como las reglas de la base de conocimiento para
fórmulas lógicas y la manipulación sintáctica que queden consistentes con la información
como deducción lógica o demostración de del ambiente que es percibida a través de los
teoremas [2]. sensores. La regla razonar(Accion) realiza
En este trabajo, para el desarrollo del agente, el razonamiento de agente, resolviendo la
se ha seleccionado el lenguaje Prolog, debido Acción a tomar en base al estado actual
a su utilidad como herramienta de repre- de la base de conocimiento. Finalmente la
sentación de conocimiento y razonamiento. regla actuar(Accion) envı́a los comandos
El intérprete utilizado es el Ciao Prolog necesarios a los efectores, para que el agente
[11], por su facilidad de interacción con el pueda realizar la Acción resuelta. Luego
lenguaje C, para trabajar a bajo nivel. comienza un nuevo ciclo cuando se vuelve a
La representación del ambiente del fútbol ejecutar la regla percibir. La abstracción con
con robots está dada por la ubicación y los sensores y efectores, lograda a través de
orientación de cada uno de los jugadores, la las reglas percibir y actuar(Accion), permite
ubicación de la pelota y los lı́mites de la can- que el razonamiento del agente sea el mismo
cha. Por ejemplo, una posible representación para diferentes ambientes y tipos de robots.
del ambiente a través de reglas puede ser: Un ejemplo del comportamiento del arquero
kiñe 1 , está representado en el predicado
limites cancha(inf erior(0, 0), superior(90, 50)). razonar:
arco propio(inf erior(90, 20), superior(90, 40)).
arco contrario(inf erior(0, 20), superior(0, 40)). razonar(Accion) : −
pelota(posicion(4, 4)). pelota en area− > despejar pelota(Accion);
arquero propio(posicion(88, 25), 90). pelota dir area− > esperar en area(Accion);
arquero contrario(posicion(2, 20), 180). ir a posicion base(Accion).
jugador1 propio(posicion(15, 10), 45).
jugador1 contrario(posicion(3, 5), 315). La estrategia del arquero es la siguiente: si
la pelota se encuentra en el área del arco
La base de conocimiento es toda la informa- propio, entonces despeja la pelota; si la pe-
ción que el agente tiene acerca del ambiente. lota va en dirección al área, entonces espera
Esta información puede ser errónea porque la pelota dentro del área, en la posición a la
fallen los sensores o porque es información que se dirige esta; caso contrario se dirige al
antigua en el momento de ejecutar la acción. centro del arco.
La base de conocimiento puede mantener La representación del comportamiento
un registro de las posiciones anteriores de está dada por las instrucciones de movi-
los jugadores y la pelota, de forma tal de miento para los robots. Las instrucciones
predecir futuros movimientos o detectar
fallos en los sensores. 1
En lengua Mapuche, número uno.de movimiento presentan diferente nivel de información del ambiente, a través de sockets
abstracción que van desde primitivas de udp.
velocidad en cada motor del robot, hasta El funcionamiento de los efectores también
primitivas de más alto nivel como ir a una sigue el modelo cliente-servidor, en donde los
determinada posición o patear la pelota. agentes son clientes de un servidor de coman-
El predicado razonar está formado por dos. En cada ciclo los agentes le envı́an al
reglas de la forma estado− > actuar. El servidor de comandos, paquetes con las pri-
predicado estado está condicionado por la mitivas básicas de movimiento, a través de
información que el agente tiene acerca del sockets udp. El servidor de comandos se en-
ambiente. El predicado actuar está formado carga de enviar esta información a los robots
por reglas de la misma forma que el predi- [9], a través de transmisores infrarrojos [3].
cado razonar, con el fin de ir refinando las En el agente diseñado, el predicado percibir
acciones hasta llegar a las primitivas básicas es el encargado de procesar el paquete en-
necesarias para ejecución de la acción [4]. viado por el servidor de vı́deo, para modifi-
car la base de conocimiento y el predicado
actuar(Accion) es el encargado de enviar la
3. Plataforma real información de la Acción seleccionada al ser-
vidor de comandos.
La plataforma utilizada para experimentar
con robots reales, está basada en una de
las categorı́as (E-League) de la competencia 4. Plataforma simulada
RoboCup[5]. La categorı́a tiene software de
visión y de comunicación estándar para el Se ha experimentado con el simulador Robot
funcionamiento de los robots. Soccer v1.5a [8], el cual es utilizado en la
Categorı́a “Middle League SimuroSot” del
Campeonato Mundial de Fútbol de Robots
FIRA [6] y en el Campeonato Argentino de
Fútbol de Robots CAFR [7].
Figura 1: Plataforma real, robots LEGO
Mindstorms
Una cámara de vı́deo captura imágenes del
campo de juego, que son enviadas a un ser- Figura 2: Plataforma simulada, SimuroSot
vidor de vı́deo llamado Doraemon [10]. Este Robot Soccer v1.5a
programa procesa la imagen, extrayendo in-
formación del campo de juego como la posi- Se elige inicialmente esta plataforma simula-
ción y el ángulo de orientación de cada juga- da por su facilidad de uso, para independi-
dor y la posición de la pelota. Esta informa- zarse del robot real y por ser la utilizada en
ción es empaquetada y enviada a cada uno la única competencia que se realiza a nivel
de los dos equipos. El protocolo de comuni- nacional.
cación sigue el modelo cliente-servidor de la Por defecto, las estrategias de cada equipo
siguiente manera: los agentes son clientes que pueden ser desarrolladas en Lingo o una dll
reciben del servidor de vı́deo paquetes con la (Dynamic Link Library) en C++. Por estarazón para programar el agente en Prolog, se 5. Conclusiones y Trabajos
realizó una interfaz entre C++ y Prolog a Futuros
través de sockets udp.
La abstracción del agente, en la interacción
con el ambiente permitió, que el mismo agen-
te lógico funcione sobre la plataforma real
y la plataforma simulada. Esta caracterı́stica
nos permite experimentar diferentes diseños
de agentes sobre cada una de las plataformas,
sin modificar el agente lógico.
En esta primera etapa, los agentes muestran
un comportamiento básicamente reactivo. Se
espera mejorar el desarrollo de los agentes,
con aportes de áreas como learning, planning
y modelado de oponentes. Uno de los objeti-
vos de este trabajo es participar en alguna de
las competencias, por lo cual se debe mejorar
en la estrategia del equipo y las primitivas de
movimiento, para lograr un buen rendimien-
to.
Otro de los objetivos es trabajar en con-
Figura 3: En la figura se describe claramen- junto con la cátedra de Inteligencia Artifi-
te el objetivo del presente trabajo, el cual es cial, utilizando la interfaz desarrollada entre
abstraer el agente lógico de la plataforma y Prolog y el simulador de fútbol con robots,
tipo de robots que se utilicen. en la práctica del próximo cursado de la ma-
teria. Concretamente, los alumnos aplicarán
En este trabajo se desarrolla una interfaz con las técnicas aprendidas durante el cursado, en
el objetivo, de que el comportamiento sea prácticas de laboratorio que consistirán en el
igual al de la interfaz con el servidor de vı́deo desarrollo de agentes inteligentes que asuman
y servidor de comandos de la plataforma real. alguno de los roles del equipo dentro del cam-
De esta forma se logra que el mismo agente po de juego.
lógico funcione sobre la plataforma real y la
plataforma simulada, como muestra la Figu- Referencias
ra 3.
El simulador llama a una función de la dll [1] Hiroaki Kitano, Minoru Asada, Yasuo
60 veces por segundo. Esta función decodifica Kuniyoshi, Itsuki Noda, Eiichi Osawa; Ro-
toda la información del ambiente y la envı́a a boCup: The Robot World Cup Initiative,
través de un socket udp emulando al servidor 1995.
de vı́deo. Luego, a través de otro socket udp,
la función espera recibir la acción tomada, [2] Michael Wooldrige; Intelligent Agent;
emulado al servidor de comandos. Una vez Multiagent Systems A Modern Approach
recibida la acción, es decodificada y enviada to Distributed Artificial Intelligence edited
al simulador para que se muevan los robots. by Gerhard Weiss, 1999.
En el agente diseñado hay que modificar el
[3] Alejandro J. Garcia, Gerardo I. Sima-
predicado percibir para que reciba la infor-
ri, Telma Delladio, Diego R. Garcia, Ma-
mación del emulador del servidor de vı́deo y
riano Tucat, Nicolás D. Rotstein, Fernando
el predicado actuar(Accion) para que envı́e
A. Martin, Sebastián Gottifredi; Cognitive
la información al emulador del servidor de
Robotics in a Soccer Game Domain: a Pro-
comandos.
posal for the E-League Competition, WICC
2004.[4] Mauro J. Gómez, José H. Moyano, Ni- [8] Robot Soccer Simulator v1.5a.
colás D. Rotstein, Telma Delladio, Ale- http://www.fira.net/soccer/simurosot
jandro J. Garcı́a; LogBall: un equipo de /R Soccer v15a 030204.exe
fútbol implementado como un sistema he-
terogéneo de múltiples agentes lógicos, [9] LEGO Mindstorms.
WCAFR 2005. http://www.legomindstorms.com
[5] RoboCup. http://www.robocup.org [10] Doraemon.
http://sourceforge.net/projects/robocup-
[6] FIRA (Federation of International Robot- video.
soccer Association). http://www.fira.net
[11] Ciao Prolog.
[7] CAFR (Campeonato Argentino de http://clip.dia.fi.upm.es/Software/Ciao/
Fútbol con Robots).
http://www.unimoron.edu.ar/cafr2005También puede leer