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