Dise no de Agentes experimentando con robots que juegan al F utbol en ambientes reales y simulados

Página creada Ivan Marcador
 
SEGUIR LEYENDO
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 esta
razó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/cafr2005
También puede leer