Anda di halaman 1dari 19

Simulacion de Robots Bio-Inspirados

Jaime Andres Rincon Arango June 23, 2013

Contents
1 Introduccion 2 Materiales y Metodos 3 Herramientas de Software 3.1 Jason . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Cartago . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Ejemplo de un Agente y un Artefacto . . . . . . . . . . . . . . 4 Descripcin de las Partes del Simulador 4.1 World Space . . . . . . . . . . . . . . . . 4.2 Construccin de los Apodos . . . . . . . 4.3 Construccin de los Agentes . . . . . . . 4.4 Agente Manager . . . . . . . . . . . . . . 4.5 Agentes . . . . . . . . . . . . . . . . . . 4.6 Contract Net Protocol (CNP) . . . . . . 5 Concluciones 2 3 7 7 7 7 9 9 10 10 11 12 13 15

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

List of Figures

17

Chapter 1 Introduccion
En la rama tecnolgica de la robtica existe un rea que investiga la creacin de robot inspirados en animales como serpientes, orugas, pjaros, insectos etc y tratar de emular su estructura fsica, sus articulaciones y forma de desplazamiento, entre otros. La construccin de estos robots, requieren un hardware que en ocasiones puede ser costoso, mas sin embargo es posible utilizar herramientas de simulacin, gracias a los nuevos ordenadores, que permiten observar sus comportamientos en diferentes entornos. Con estas herramientas de simulacin se pueden disear mundos virtuales con propiedades fsicas, que emulan la gravedad, ndice de rozamiento, fuerzas etc. De esta forma se puede saber aproximadamente cmo se comportar el robot en entornos fsicos. En la red se pueden encontrar diferentes herramientas de software para hacer este tipo de simulaciones, como BULLET1 , Opend Dynamic Engine (ODE)2 etc. Con estas se simula fsicamente el robot pero es notable la ausencia de alguna entidad inteligente que controle los movimientos de los robots y para ello se recurre a los Sistemas Multi-Agente. Un agente segn [2, Michael Wooldridge]: Un agente es un sistema informtico que est situado en algn entorno y que es capaz de ejecutar una accin autnoma en este entorno con el n para cumplir con sus objetivos de diseo. No obstante los SMA no son solo una forma de dar autonoma a las entidades del EV, sino que tambin pueden tomar decisiones o variar su comportamiento con respecto a las dems entidades, realizando una sincronizacin y cooperacin entre ellos, de esta forma podr cumplir sus objetivos de forma rpida.
1 2

http://bulletphysics.org/wordpress/ http://www.ode.org/

Chapter 2 Materiales y Metodos


En la construccin de robots inspirados en animales e insectos, los robots cuya forma de desplazamiento imitan a las serpientes han despertado un gran inters, gracias a su capacidad de poder acceder a sitios a los que un robot ordinario no podra llegar. Actual mente se utilizan en la bsqueda de personas en edicios destruidos por fenmenos naturales, en aplicaciones militares como observadores del movimiento de tropas en las lneas enemigas etc. En este tipo robots existen dos variantes, la primera plantea una nica unidad de control y procesamiento de la informacin proveniente de los sensores y diferentes mdulos mviles que ayudan a que se desplacen, como el que se muestra en la gura 1. Y la segunda que implica tener diferentes cuerpos con su propia unidad de control y procesamiento de la informacin, brindando la posibilidad de poder unir cada uno de los cuerpos para crear robots ms complejos con formas variadas, como el que se muestra en la gura 2.

Figure 2.1: Carnegie Mellon snake robots

En este trabajo se quiere abordar la simulacin virtual de los robots modulares como el mostrado en la gura 2A; partiendo de la idea de que cada mdulo es un Agente, con su comportamiento y su funcin de desplazamiento y que con la unin de ms Agentes poder obtener un sistema multi-agente, 3

Figure 2.2: Robots Modulares. (A) Robot Apodo (B) Robot Modula Esfrico

con un nivel de complejidad mayor, donde se puedan coordinar, comunicar y evolucionar para conseguir el objetivo que se les ha propuesto. Para realizar la simulacin de estos robots se tiene que tener en cuenta como se ejecutara el movimiento de la articulacin para visualizar el posible desplazamiento. Para controlar el movimiento de los mdulos se utiliza Osciladores sinusoidales, como se muestra en la gura 3. El modelo matemtico para obtener la oscilacin es el que se muestra en la ecuacin 1. 2 t + i ) + Oi T Un ejemplo de cmo se realiza la oscilacin de un solo modulo se muestra en la gura 4. Este oscilador sinusoidal es ejecutado por el agente, y permite que el robot se desplace por el entorno virtual, como se muestra en la gura 5. Este es el movimiento bsico de cada unidad, ahora bien sabiendo que el objetivo es que varios agentes puedan unirse para crear unidades ms complejas, como por ejemplo una serpiente, el modelo de oscilacin para varios mdulos se muestra en la gura 6 y el modelo matemtico en la ecuacin 2. i (t) = Ai sin( 1 (t) = A sin( 2 2 + 0 )2 (t) = A sin( + + 0 ) T T 4

Figure 2.3: Osciladores sinusoidales

Figure 2.4: Oscilacin de un Modulo

En robots modulares en el que no conste la presencia de un agente como unidad de control; el dispositivo encargado de realizar el control de movimiento de los cuerpos ejecutara el modelo matemtico de la ecuacin 2 y de esta forma el robot se desplazara por el entorno. Como el objetivo de este proyecto es utilizar a los SMA como unidad inteligente y utilizar las bondades que estas entidades software ofrecen, cada mdulo compuesto por dos cuerpos y un oscilador sinusoidal se simularan con un Agente. Con la unin de varios agentes se obtendra estructuras ms complejas y en ese 5

Figure 2.5: Simulacin de un Oscilador sinusoidales en ODE

Figure 2.6: Modelo de Oscilacin de Varios Mdulos

momento los agentes tendrn que comunicarse unos con otros y coordinarse para poder desplazarse y conseguir los objetivos.

Chapter 3 Herramientas de Software


3.1 Jason

Jason es una plataforma para el desarrollo de sistemas multi-agente. Una extensin de la AgentSpeak lenguaje de programacin orientado a agente se usa para programar el comportamiento de los agentes individuales. Jason se desarrolla en Java y permite la personalizacin de la mayora de los aspectos de un agente o de un sistema multi-agente.

3.2

Cartago

Cartago1 (Infraestructura comn de artefactos para Agentes de entornos abiertos) es una infraestructura que hace posible programar y ejecutar entornos virtuales para los sistema multi-agente. Cartago se basa en agentes y artefactos (A & A) un meta-modelo para el modelado y diseo de sistemas multi-agente. En realidad, A & A se basa en los estudios interdisciplinarios que involucran teora de la actividad y Cognicin Distribuida como principales marcos conceptuales de fondo. As que con Cartago, los desarrolladores de sistemas multi-agente tienen nalmente un modelo simple de programacin, compuesto por conjuntos dinmicos de objetos de diferentes tipos, aparte de los modelos y plataformas utilizados para los agentes.

3.3
1

Ejemplo de un Agente y un Artefacto

Agente en Jason:
http://apice.unibo.it/xwiki/bin/view/CARTAGO/

Creacin de un Artefacto:

Programacin del Artefacto en Java:

Chapter 4 Descripcin de las Partes del Simulador


A continuacin se realizar una descripcin de las partes que componen el entorno de simulacin.

4.1

World Space

El World Space (WS), es el lugar donde se situaran los agentes y los artefactos, el WS es considerado como la primera clase de abstraccin de los SMA, encapsula todas las funcionalidades y servicios que puede soportar. El WS se puede ver de dos maneras un World Space Virtual (WSV) o un World Space Fsico (WSF). En el WSV los agentes podrn percibir el mundo des de bases de datos, servicio web etc. El WSF en el que los agentes recibirn informacin proveniente de sensores, situados en el entorno de esta forma el agente podr percibir y actuar para poder conseguir su objetivo. En el WS, los artefactos representaran las herramientas y recursos que los agentes podrn de forma dinmica utilizar; estos artefactos sern instanciados en el WS, con el n de denir su comportamiento, un ejemplo de este instanciamiento, utilizado en este trabajo, es la existencia de artefactos: Linkeables No Linkeables Donde los artefactos que tienen el primer comportamiento, permiten unirse con cualquier otro que tenga el mismo comportamiento con el n de ser utilizados por los agentes, un ejemplo de esto son los body o cuerpos de 9

los agentes, mientras que los que poseen el segundo comportamientos, son artefactos que no podrn ser utilizados por los agentes, pero que estarn situados en el WS, un ejemplo de estos artefactos es: muros, rocas arboles etc.

4.2

Construccin de los Apodos

Los robot Apodos1 , carecen de patas o ruedas para realizar su desplazamiento y su cinemtica, se asemeja a la cinemtica de las serpientes. En este caso un Sistema Multi-Agente Robotico Virtual (SMARV) est compuesto por dos VB (virtual body), que se representan como dos cubos, como se muestra en la gura 7.

Figure 4.1: Virtual Body

Estos dos cubos representan el cuerpo del agente en el VE. Esta es la unidad bsica en la cual el SMARV se construir de forma virtual. Con la unin de ms agentes con sus respectivos cuerpos, se podrn construir entidades complejas como la que se muestra en la gura 8.

Figure 4.2: Ejemplo de un Snake


1

http://www.iearobotics.com

10

En esta gura se utiliz el ejemplo de snake , aunque no est simulado con sistemas multi-agente es una muestra de lo que se podra llegar a construir con el simulador.

4.3

Construccin de los Agentes

Con el n de poder darles autonoma a cada mdulo se utiliz a JASON2 y CARTAGO3 para el modelado de los agentes y de los cuerpos; de esta forma separamos mente del cuerpo, donde parte inteligente est controlada por JASON y el cuerpo esta modelado con CARTAGO, sin embargo se necesita un agente que este en contacto con el entorno virtual y en comunicacin con los agentes, que sepa dnde est cada agente, cada artefacto, un agente que sea el facilitador entre el VE y los agentes, a este agente se le denomina MANAGER. De esta forma se tiene tres tipos de entidades en nuestro simulador, que son: Agente Manager Agentes Artefactos

4.4

Agente Manager

Este agente es el que se encuentra en constante comunicacin entre el entorno virtual y los agentes que habitan este entorno, aparte de construir en VE, ya que en el simulador no solo existen los agentes o los cuerpo de estos agentes, sino que tambin pueden existir artefactos que no hacen parte de los agentes, si no que hacen parte del entorno, tales como paredes, obstculos etc. Estos artefactos son creados por agente manager a peticin del diseador, con el n de ser visualizados en el VE. Los agentes necesitan comunicarse con el agente manager para que este los pueda ubicar en el VE, para esto los agentes se comunican utilizando el lenguaje KQML, de esta forma los agentes envan mensajes al manager, estos mensajes estn divididos en tres tipos, los cuales se describen a continuacin. Conguracin, el agente enva la conguracin de su cuerpo, como largo, ancho, alto, peso, tipo de cuerpo, eje de articulacin, posicin en X,Y,Z.
2 3

http://jason.sourceforge.net/wp/ http://cartago.sourceforge.net/

11

Movimiento, este mensaje enva como se desplaza el agente en el entorno virtual, ya que el tipo de robot que se est modelando es un apodo, la forma de desplazarse es utilizando una funcin matemtica; cada agente podr tener una funcin de desplazamiento diferente. Contrato, debido a que un solo agente, no podr hacer mayor cosa, es necesario la utilizacin de un modelo de negociacin entre agente. Utilizando el modelo de CNP ( ) un agente que este interesado en aumentar su tamao, enviara una peticin a al agente manager, el cual se encargara de enviar los mensajes a los dems agentes, pidiendo que enven sus propuestas, estas propuestas se evalan y gana la que tenga el menor valor. Una vez teniendo el ganador, el manager notica al agente que realizo la peticin y le enva el nombre del ganador, desde este momento, el agente que realizo la propuesta y el que gano se ponen en contacto. El agente manager, tambin es el encargado de construir el mapa; para este caso el mapa es una matriz de 32 x 32, que al ser representada en el VE y partiendo de que el sistema de medida ODE es en (m, sg, Kg), el mapa quedara como una extensin de 32 x 32 metros. Otros parmetro a los cuales el agente manager atiene acceso es a la gravedad, la cual se podr variar dependiendo de la simulacin que se quiera hacer, el ndice de rozamiento, fuerza y torque. Estos parmetros se podrn ser variados con el n de observar el comportamiento del artefacto y los agentes en el VE.

4.5

Agentes

Los agentes son los que vivirn dentro del entorno virtual, estos interactuaran entre s y con los objetos que se encuentren en el VE. Estos agentes al ser programados, tendrn algunos parmetros relacionados con sus caractersticas fsicas, las cuales sern enviadas al agente manager para ser administras y ser enviadas al entorno virtual; dentro de estas caractersticas fsicas encontramos las siguientes: Largo (L): Largo del cuerpo del agente. Ancho (W): Ancho del cuerpo del agente. Alto (H): Alto del cuerpo del agente. XR, XL: Posicin X de los cuerpos izquierdo y derecho del agente. YR, YL: Posicin Y de los cuerpos izquierdo y derecho del agente. ZR, ZL: Posicin Z de los cuerpos izquierdos y derecho del agente. 12

AX: Articulacin en el eje X AY: Articulacin en el eje Y AY: Articulacin en el eje Z Shape: Es la forma que tendr el cuerpo; el agente tendr tres formas bsicas. Sphera Box Capsula Masa: Hace referencia a la masa que tendr en cuerpo del agente. La gerarquia del simulador se muestra a continuacion en la gura 3.

Figure 4.3: Distribucin jerrquica del simulador

4.6

Contract Net Protocol (CNP)

El protocolo de contrato[?, Randall and Smith]s un modelo extrado de la vida cotidiana, en la cual un agente el cual no puede realizar una determinada tarea, esta tarea es importante para l ya que por medio de esta puede alcanzar sus objetivos, el CNP permite a el agente contratar a otros agentes los cuales si pueden realizar la terea que l no es capaz de realizar y de esta forma poder lograr su objetivo. El modelo del FPA-CNP4 se muestra en la gura 4. Etapas para la negociacin de contratos
4

http://www.pa.org/

13

Figure 4.4: FPA-CNP

Reconocimiento: Un agente reconoce que tiene un problema que quiere ayudar con. El agente tiene una meta, y, o bien se da cuenta que no puede alcanzar la meta de manera aislada (no tiene la capacidad para cumplir con el objetivo), o se da cuenta de que preferira no alcanzar la meta en forma aislada (por lo general debido a la calidad de la solucin, plazo, etc). Anuncio: El agente de la tarea enva un anuncio de la tarea que incluye una especicacin de la tarea por hacer. La especicacin debe codicar una descripcin de la tarea en s, todas las limitaciones, y la informacin de meta-tarea. Licitacin: Los agentes que reciben el anuncio de decidir por s mismos si deben hacer una oferta para la tarea. Los factores que se tienen en cuenta son que el agente debe decidir si es capaz de la tarea que espera, y que el agente debe determinar las restricciones de calidad y la informacin de precios (en su caso). Adjudicacin: Los agentes que envan el anuncio tarea deben elegir 14

entre las ofertas recibidas y decidir a quin adjudicar el contrato. El resultado de este proceso se comunic a los agentes que hayan presentado una oferta. Agilizacin: Esto puede implicar la generacin de nuevas redes de contrato en la forma de subcontratacin para completar la tarea. Se utiliz CNP con el n de que los agentes pudiesen ofertar servicios de subasta holandesa, en la que el agente que realice la menor propuesta gana, esto le da el derecho de linkearse con el agente que solicito la subasta, esta subasta est controlada por el manager, cualquier agente puede solicita al manager que envi un mensaje broadcast a todos los agentes, con el n de que realicen sus propuestas; la forma en la cual los agentes realizan la propuesta se muestra en el siguiente codigo. .random(R)&X = (10 R) + 100 R = Numero Aleatorio X = Valor Propuesto. En el momento en el que se obtiene un agente ganador, le enva un mensaje al agente que ha realizado la propuesta, diciendo que ha ganado y el agente que solicito la subasta le responde envindole la posicin en la cual se encuentra, de esta forma el agenten puede desplazarse hasta esta posicin, con el n de poder linkearse y aumentar su tamao.

15

Chapter 5 Concluciones
Un entorno virtual es una herramienta poderosa a la hora de querer realizar simulaciones complejas. Los SMA son una herramienta poderosa a la hora de introducir la IA a entidades virtuales, ya que permiten la simulacin de comportamientos y la coordinacin entre entidades. Los entornos virtual junto con SMA, son una forma muy rpida de realizar simulaciones de robot complejos, a los que se les quiere introducir comportamientos sociales.

16

Bibliography
[1] Alessandro Ricci, Michele Piunti, Mirko Viroli. (2010): Environment programming in multi-agent systems: an artifact-based perspective. Auton Agent Multi-Agent Syst (2011) 23:158192, DOI 10.1007/s10458010-9140-7. [2] Michael Wooldridge. (2002): An Introduction to Multiagent Systems. Department of Computer Science, University of Liverpool, UK, JOHN WILEY & SONS, LTD. [3] Rafael H. Bordini, Jomi Fred Hubner, Michael Wooldridge. (February 2007)): Programming Multi-Agent Systems in AgentSpeak using Jason. University of Liverpool, UK, JOHN WILEY & SONS, LTD. [4] Michele Piunti, Alessandro Ricci, Lars Braubach, Alexander Pokahr. (2008): Goal-Directed Interactions in Artifact-Based MAS: Jadex Agents playing in CARTAGO Environments. 2008 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology. [5] A. Barella, C. Carrascosa, O. Boissier, and A. Ricci. (2012): MAM5: Multi-Agent Model For Intelligent Virtual Environments. EUMAS 2012. Dublin, Ireland, 16-18 December 2012. [6] Juan Gonzlez Gmez. (August 2010): Robots podos modulares. Dpto. Ingeniera de Sistemas y Automtica Robotics Lab Universidad Carlos III de Madrid. [7] GRANT MCCLURE. (Abril 2012): Integration a Multi-Agent System with a Virtual World. Master of Science in Information Systems, Athabasca, Alberta. @articleDBLP:journals/ai/DavisS83, author = Randall Davis and Reid G. Smith, title = Negotiation as a Metaphor for Distributed Problem Solving, journal = Artif. Intell., volume = 20, number = 1, year = 1983, pages = 63-109, ee = http://dx.doi.org/10.1016/0004-3702(83)90015-2, bibsource = DBLP, http://dblp.uni-trier.de 17

List of Figures
2.1 2.2 2.3 2.4 2.5 2.6 4.1 4.2 4.3 4.4 Carnegie Mellon snake robots . . . . . . . . . . . . . . . Robots Modulares. (A) Robot Apodo (B) Robot Modula frico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Osciladores sinusoidales . . . . . . . . . . . . . . . . . . . Oscilacin de un Modulo . . . . . . . . . . . . . . . . . . Simulacin de un Oscilador sinusoidales en ODE . . . . . Modelo de Oscilacin de Varios Mdulos . . . . . . . . . Virtual Body . . . . . . . . . . . . . Ejemplo de un Snake . . . . . . . . . Distribucin jerrquica del simulador FPA-CNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Es. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 4 5 5 5 10 10 12 13

18

Anda mungkin juga menyukai