Dep. d'Eng.Elèc.Electrònica i Automàtica. Grup de Robòtica i Visió Intel·ligents. Universitat Rovira i Virgili. aoller@etse.urv.es |
Institut d’Informàtica i Aplicacions (IIiA).
|
Resum. En aquest article es presenta una arquitectura per a permetre el disseny d’agents físics amb dinàmica pròpia. Aquesta arquitectura mostra l’agent com a una entitat modular amb tres nivells d’abstracció: mòdul de control, mòdul supervisor i mòdul agent. El funcionament de l’arquitectura es basa en dos processos bàsics per a cada mòdul: el procés d’introspecció i el de control, i en un protocol de diàleg intermodular que permet l’intercanvi d’informació entre els mòduls. També es mostren dos exemples d’aplicació que mostren alguns resultats preliminars.Paraules clau: Agents Físics, Control, Arquitectura orientada a Agents, Robòtica Mòbil.
1 Introducció
El treball amb sistemes multi-robot és prou ampli com perquè hi tingui cabuda l’aplicació de conceptes de l’etologia animal, de la teoria de l’organització, l’aprenentatge, i de la Intel·ligència Artificial (IA). En concret, la coordinació i la interacció de múltiples robots (comportament col·lectiu) s’està estudiant en el camp de la Intel·ligència Artificial Distribuïda (IAD), a partir del concepte de l’agent software. A la literatura podem trobar diferents definicions del comportament cooperatiu però la clau està en entendre la cooperació com a un ‘associar-se amb els demés’ per obtenir un benefici mutu (recompensa, interés comú, disminució d’un index de cost). És en aquest punt on apareixen diverses qüestions relacionades amb el problema de l’anàlisi i del disseny de sistemes multi-robot (multi-agents autònoms): la descomposició i distribució de tasques, la robustesa i tolerància a les fallades, la correcció de l’evolució del sistema, o la mesura per quantificar la quantitat i/o la qualitat de la cooperació.
Els agents autònoms que porten a terme tasques en entorns multi-agent dinàmics han de cumplir els requisits que imposa el funcionament en temps real i el món real [7]. Alguns d’aquests requeriments són els següents:
Saber-se comportar d’acord a les circumstàncies (situated behavior), i reaccionar davant esdeveniments no previstos. Tenir un comportament dirigit cap a un objectiu (goal-directed behavior) i saber seleccionar les accions en funció d’aquests objectius. Les tasques s’han de realitzar amb eficiència tot i tenint en compte les imposicions restrictives del treball en temps real. Han de tenir present la presència d’altres agents.
A la secció 2 es fa una extensió del concepte d’agent software cap al d’agent físic i, posteriorment, es defineix l’agent físic dinàmic. La secció 3 descriu l’estructura i el funcionament de l’arquitectura DPA2 i la secció 4 mostra dos exemples on s’il·lustra com s’aplica l’arquitectura.
2 Extensió del concepte d’agent software al concepte d’agent físic dinàmic
D’acord amb les especificacions de la Foundation for Intelligent Physical Agents [4], un agent és l’actor fonamental en una plataforma agent (AP) la qual combina un o més capacitats de servei en un model d’execució integrada i unificada que pot incloure l’accés a programari extern, usuaris humans i servei de comunicacions. Cal que l’agent estigui registrat en una plataforma per tal de poder interactuar amb els agents de la mateixa plataforma o d’una altra. Un AP conté tres conjunts de capacitats: ACC (Agent Communication Channel), AMS (Agent Management System), i DF (Directory Facilitator). Aquestes són les especificacions que donen lloc al model de referència en què els agents software treballen i existeixen.
2.1 Agents Software: Model Agent de Referència
L’agent FIPA existeix físicament en una AP i usa els serveis que li ofereix. Cal observar que el terme ‘físic’ es refereix a l’infrastructura física en què els agents es despleguen. Feta aquesta observació, la pregunta que ens plantegem és on es pot introduir el concepte del ‘cos de l’agent físic’?
Fig. 1: Esquema d’un sistema multi-agent (agents software)
Com a explicació informal del funcionament d’un agent software podriem donar la següent:
Definició 1: funcionament dels agents software. Suposant que un agent és incapaç de portar a terme una tasca tot sol, obtenim que cada agent ha de recòrrer als altres per obtenir-ne ajuda. Aleshores, cadascun d’ells ha de decidir el següent: a quin altre agent puc ajudar? Fins on arribarà el meu compromís envers l’altre agent? Sota quines condicions puc fer-ho? Tot i que la decisió final podrà ser reactiva o deliberativa, quan l’agent que es compromet ha de saber el que impliquen els seus compromisos. En altres paraules, ha de saber si pot fer-ho o no.
2.2 Agents Físics
El camp de la IAD té una gran relevància en la robòtica cooperativa. La IAD té dues grans àrees d’estudi: la resolució distribuïda de problemes (DPS) i els sistemes multi-agent (MAS). Mentre que la recerca a DPS està relacionada amb el problema de com resoldre un sol la problemàtica amb l’ús de diversos agents, a MAS la recerca es centra en l’estudi del comportament col·lectiu d’un grup d’agents. De fet, la influència d’aquesta recerca en la robòtica cooperativa s’ha vist molt limitada pel fet que es concentra en dominis on la incertesa no és un element tant important com ho és en el món real. De fet s’ha argumentat que la IAD té poques possibilitats d’èxit en la robòtica cooperativa [11]. De tota manera cal tenir en compte que com que la tecnologia associada al processos de percepció (sensors) i d’actuació (actuadors) milloren i que la potència dels processadors augmenta, els resultats d’alt nivell de la IAD esdevénen cada cop més i més aplicables a la robòtica col·lectiva.
L’estudi de sistemes multi-robot amb comportament col·lectiu és molt més ampli que l’estudi relacionat amb sistemes d’un sol robot. L’interés està en dos qüestions: (1) les tasques a realitzar són molt complexes com per a ser fetes per un sol robot, (2) encara que un sol robot pot ser molt potent, l’utilització de diversos robot més simples dóna més flexibilitat i és més tolerant a fallades [3]. De fet, aquests sistemes són diferents d’altres sistemes distribuïts típics (processadors, xarxes, bases de dades, Internet) perquè estan en un ‘entorn real’ i això introdueix nous paràmetres: incertesa, soroll, no-linealitats, imprecissió.
Com a explicació informal del funcionament d’un agent físic podriem donar la següent:
Definició 2: Extensió del concepte d’agent software a agent físic. La definició 1 i el que segueix: per saber què és possible fer i què no, cal tenir en compte algun coneixement físic del sistema (robot i entorn). Això significa que les entrades i les sortides físiques cap i des de l’entorn han d’estar integrades en la base de coneixement de cada agent. Això és així perquè cada agent està contingut en un cos físic que ha de controlar i moure mitjançant de les decisions.
2.3 Agents Físics Dinàmics
Encara que el funcionament de l’agent tipus físic és correcte, no té en consideració el fet que l’agent ha de ser capaç de controlar el seu propi cos físic, és a dir, ha de poder seguir correctament trajectòries predefinides o perseguir i evitar obstacles. En definitiva, ha de poder realitzar qualsevol tipus de tasca que contingui infinites situacions a causa dels canvis continus (discrets i continus) de l’entorn i a causa dels seus propis moviments (accions). Els treballs actuals amb robots reals no avaluen la problemàtica associada a la dinàmica del propi robot; l’únic que fan és interpretar els problemes que apareixen des del punt de vista de la supervisió o de la detecció de falles [1][5][13]. Per tant, aquests problemes s’analitzen abans i no després de l’etapa d’anàlisi. De fet, si tenim en compte que els moviments dels robots es poden descriure amb equacions diferencials, podem concloure que la teoria de control automàtic és necessària per a l’anàlisi de la dinàmica dels agents autònoms.
Definició 3: Extensió del concepte d’agent físic a agent físic dinàmic. Definició 2 i el que segueix: el coneixement físic s’obté a partir de la dinàmica del cos físic, el qual es representa de forma declarativa tant a nivell de control com a nivell de supervisió [7]. La forma de declarar aquest coneixement és a través de les capacitats.
2.4 Exemple il·lustratiu: dos vehicles autònoms en fila
Quan dos vehicles han de mantenir una distància de separació en una cua, poden aparèixer problemes de col·lisió, sobretot quan apareixen canvis en les velocitats dels vehicles. Normalment, la responsabilitat d’evitar la col·lisió recau en el vehicle del darrera, el qual ho aconsegueix modificant el seu comportament dinàmic accelerant o frenant tenint en compte la variació de la distància de separació amb el del davant i el llum vermell indicatiu d’inici de frenada. Tot i així hi ha situacions en què la col·lisió és inevitable, sobretot a causa del desconeixement de la dinàmica de l’altre vehicle.
Amb una simulació numèrica es pot veure que, a priori, es pot preveure si hi haurà col·lisió en una frenada a partir del coneixement de les dinàmiques dels dos vehicles. Per fer aquesta anàlisi s’utilitzaran funcions de transferència. En una primera aproximació es considerarà un moviment rectilini i amb velocitats dels vehicles amb comportament completament lineal (sense canvis de marxa ni patinades a la frenada) i representable per funcions de primer ordre. Per a poder treballar amb agents autònoms haurem de suposar que cada vehicle disposa d’un sistema de control de la velocitat intern; suposarem que ténen el mateix sistema de control i que les funcions de transferència GA(s) i GB(s) que representen les velocitats en llaç tancat són de primer ordre (les velocitats ténen un comportament exponencial). Què passa quan posem els vehicles l’un darrera de l’altre? El vehicle del darrera (sistema B) ha d’aconseguir que es compleixi la següent especificació:
D-(XA-XB) @ 0, on XA i XB són les distàncies recorregudes pels dos mòbils i D la distància a mantenir entre ells. Com ho aconsegueix? Sense perdre generalitat, usarem un control proporcional, és a dir, la consigna de velocitat per a B vindrà donada per l’expressió següent: KP·(D - (XA-XB)), on Kp és una constant (veure "Fig. 3").
Fig. 3: Diagrama de blocs del sistema de control.
Amb una simulació d’aquest sistema s’observa que la velocitat del sistema B modifica la dinàmica i passa a ser de segon ordre. Suposem les condicions inicials D=5m, VA (t=0)=8 m/s i VB (t=0)=8 m/s, XA=5m. (els vehicles manténen inicialment la distància D en un règim de 8 m/s). Quan el vehicle A redueix la velocitat a VA=4 m/s, s’observa un comportament de 2on ordre per al sistema B. També pot observar-se que en aquestes condicions es produeix la col·lisió posterior (veure "Fig 4").
Fig. 4: (a)Velocitats dels sistemes A i B, (b) Visualització de l’instant de la col·lisió.
El que pot deduir-se d’aquest exemple és que encara que el sistema A tingués la possibilitat de comunicar al B la intenció de frenar fins a 4 m/s, hauria de dir-li en quina manera ho fa. Concretament, hauria de sumministrar-li informació sobre la seva dinàmica de frenada: temps de frenada (temps de resposta del sistema A), possibles oscil·lacions (ordre del sistema), velocitat final real (error en estat estacionari), etc. De fet, per fer una frenada sense problemes caldria una negociació entre els dos sistemes amb l’ús d’informació que inclogui tant paràmetres estàtics com dinàmics del procés.
3 Descripció de l’arquitectura DPA2
L’arquitectura DPA2 interpretats al nivell més baix i amb sofisticats models del món accessibles al nivell més alt. Aquesta arquitectura utilitza un conjunt de mòduls similars entre ells i que van connectats per canals d’informació. D’aquesta manera, el sistema de control consisteix en una cadena de mòduls, cadascun d’ells usant informació amb diferent grau d’abstracció respecte dels altres. Quant als canals, serveixen per a transmetre informació per pas de missatges, els quals es processen internament en el mòdul fent ús de dues unitats de procés: la Unitat d’Introspecció (IU), i la Unitat de Control (CU). D’aquesta manera, i amb l’ús de protocols simples de conversa, es possibilita que mòduls amb alt nivell d’abstracció puguin accedir a informació que s’ha processat en mòduls de grau d’abstracció més baixa. Cal remarcar que només està permesa la comunicació entre mòduls veïns.
Fig. 5: Esquema d’un mòdul de la DPA2
Encara que els mòduls siguin estructuralment iguals i la forma de funcionament sigui la mateixa, ténen un nucli diferent: un conjunt específic de capacitats. Per tant, la relació inherent entre els comportaments i les corresponents accions es defineix a partir d’un conjunt de capacitats predefinides en el mateix mòdul.
En contraposició al que es proposa a l’arquitectura purament reactiva de subsumption [2], les arquitectures amb tres nivells inclouen comportaments referint-se als estats interns de l’agent. Els tres nivells són el controlador, el qual executa comportaments purament reactius; el seqüenciador, el qual utilitza estats de mons passats per tal de seleccionar quins comportaments assignar en un temps determinat; i el deliberador, el qual fa prediccions dels estats futurs i executa càlculs costossos en temps com els associats als algoritmes de planificació. INTERRAP [7] és un exemple recent d’aquest tipus d’arquitectura especialment dissenyada per a sistemes multi-agent. A INTERRAP, el nivell més alt inclou raonament col·laboratiu usant el model BDI [12] per tal de tenir en compte tant les intencions com els objectius dels altres agents, i per resoldre conflictes. Una altra arquitectura és la proposada per McWorth [6] que utilitza el model dels Constraint-Nets com a plataforma de treball unitària per treballar amb sistemes intel·ligents híbrids.
A les arquitectures estandards en sistemes de control, es fa una descomposició vertical la qual sol incloure tres components: la component de control (percepció/sensors i actuació/actuadors), la component de supervisió (modelatge i planificació), i la de monitorització (detecció de falles). L’arquitectura que es proposa en aquest treball intenta encabir els requeriments de les arquitectures dels sistemes de control amb aquells de les arquitectures per a sistemes multi-agent.
Fig. 6: Esquema de la jerarquia modular de la DPA2
En concret, DPA2 proposa l’ús de tres mòduls:(veure "Fig. 6"):
Mòdul de Control: és la connexió directa entre l’agent i el món real.
Mòdul Supervisor: és la interfície entre els paràmetres dels món real i el món lògic de l’agent.
Mòdul Agent: consisteix en ser la connexió cap el món multi-agent. Conté la lògica de la decisió.
Com es pot veure a la "Fig. 6", a mida que el grau d’abstracció augmenta, la naturalesa dels comportaments esdevé més sofisticada i tendeix a ser directament independent dels condicionants que imposa el món real. De fet, la informació que es transmet ente mòduls és cada vegada simbòlica. De forma paral·lela, a mida que el grau d’abstracció disminueix les accions es degraden fins a consistir en simples canvis físics en els actuadors del cos físic de l’agent.
3.1 Funcionament dels mòduls
Quan el sistema de control global s’inicia, el mòdul agent ha de decidir una tasca a fer després d’haver-la negociat amb els altres agents. La forma d’obtenir-la depèn tant de paràmetres de l’entorn com dels estats interns de l’agent. Els paràmetres externs es poden obtenir a través d’intercanvis d’informació via llenguatges (protocols) de comunicació estandards entre els agents. D’altra banda, els paràmetres interns han de poder descriure estats del cos físic de l’agent des d’un punt de vista tant d’alt com de baix nivell – per exemple, paràmetres de la dinàmica d’un robot mòbil. Per tant, el mode de funcionament ha de cumplir el següent: els mòduls amb alt grau d’abstracció han de poder obtenir informació dels mòduls amb baix grau d’abstracció per tal de poder incluir-la en les decisions. És per aquest requisit que s’han definit dos modes de treball modular:
3.1.1.Mode d’Introspecció (I-mode): El mòdul es posa en aquest mode de funcionament quan rep un missatge de demanda ‘query’ (veieu la "Fig. 7"). En aquest mode de funcionament, el mòdul pot ajudar al mòdul amb grau d’abstracció immediatament superior a obtenir dades perceptuals de nivell més baix. El mòdul emissor del missatge demana quin és el grau de dificultat d’executar una acció determinada en un temps específic i el mòdul receptor ha de consultar el conjunt de capacitats per tal de poder respondre a la pregunta. El mòdul contesta a través del canal d’instrospecció i es posa en estat d’espera. Quan el conjunt de capacitats no dóna prou informació aleshores el mòdul passa a funcionar a mode de control per tal d’obtenir més informació. Tot aquest procés intern es processa amb la unitat d’introspecció.
3.1.2.Mode de Control (C-mode): El pas a mode de control es produeix per causes externes quan el mòdul rep un missatge de comanda ‘request’. En canvi, el pas de I-mode a mode de control és automàtic quan al mòdul se li ha demanat una informació relativa a un comportament i no ha pogut trobar la informació suficient dintre del conjunt de capacitats: en aquest cas envia un missatge de demanda ‘query’ al mòdul immediatament inferior. D’aquesta manera, el mòdul pot obtenir dades perceptuals i, aleshores, integrar-les per tal de completar les capacitats. Un cop integrades pot tornar a I-mode i continuar el diàleg amb el mòdul immediatament superior.
Per tant, quan el mòdul està en aquest mode pot ordenar al mòdul immediatament inferior que iniciï l’execució d’una acció determinada (veieu "Fig. 8") o pot d’obtenir-ne’n informació i actualitzar les seves capacitats
Fig. 8: Flux de dades en mode de control
3.2 Protocols de diàleg intermodular
Hem vist que els mòduls poden funcionar de dues formes diferents, i la manera com passa d’una modalitat a l’altra dependrà de les necessitats del sistema de control global. És a dir, el funcionament de cada mòdul estarà marcat pels tipus de missatges que s’intercanviarà o que li arribaran dels mòduls veïns. També cal explicitar el fet que la modularitat de l’arquitectura permet interpretar-la des d’un punt de vista diferent: enlloc de parlar de mòduls encadenats amb estructures equivalents es pot parlar d’un conjunt d’agents homogenis. Per tant, des d’aquest punt de vista és important especificar quin és el protocol de diàleg intermodular (o entre agents).
Hi ha definits dos tipus generals de missatges: els d’interrupció i els de diàleg. Els primers provoquen un canvi immediat en la modalitat de funcionament del mòdul que el rep (són com una petició d’atenció), mentre que els altres es regeixen per les regles de diàleg que marquen els protocols.
Missatges d’interrupció (INT): Aquests missatges provoquen un canvi en el mode de funcionament del mòdul receptor. Més concretament, quan arriben pel canal de percepció provoca el pas de funcionament I-mode a C-mode mentre que quan arriben pel canal de comportament provoca el pas de funcionament C-mode a I-mode. En el primer cas aquest tipus de missatge requereix una atenció immediata ja que una percepció pot fer canviar una decisió presa en un mòdul amb grau d’abstracció més alt, mentre que en el segon cas aquesta atenció ha de tenir prioritats diferents per a mòduls diferents. Això es deu al fet que el pas de C-mode a I-mode pot conduir a conseqüències diferents —una aturada perillosa al mòdul de control, o un canvi de pla al mòdul supervisor.
Canal de comportament
[C-mode à I-mode] |
Canal de Percepció
[I-mode à C-mode] |
INT Request (A, time) | INT Inform(A,END) |
INT Inform(A,EVN, ‘Desc’) | |
INT Inform(A,PRB, ‘Desc’) |
Taula I: Llista de missatges d’interrupció: la primera fila indica el canal d’entrada del missatge i el canvi que s’indueix en el mode de funcionament del mòdul receptor.Missatges de diàleg: aquests són els missatges que poden intercanviar-se entre dos mòduls veïns i que no provoquen cap canvi directe en el mode de funcionament d’ambdós fins que la conversa ha finalitzat.
Canal de Percepció | Canal de Comportament |
Agree (A, time, m ) | Request (A, START, time, m ) |
Refuse (A, ‘Reason’) | Request(A, STOP) |
Inform (A, time, m ) | Query (A, time)* |
Taula II: Llista de missatges de diàleg.3.2.1.Descripció dels protocols
Hem vist que cada mòdul pot funcionar en dues modalitats i que en qualsevol de les dues sempre hi ha o una comanda o una demanda, és a dir, un mòdul pot portar a terme quatre tipus de papers dialectals: ordenant de demanda, receptor de demanda, ordenant de comanda i receptor de comanda. Per tant, només s’han definit dos protocols: un pel diàleg de demanda (QUERY) i un altre pel de comanda (REQUEST), els quals estan basats en els protocols FIPA-query i el FIPA-request establerts per la FIPA’98 [4]:
Protocol FIPA-query: el mòdul receptor rep un missatge en què se li demana que faci una acció informativa. En el nostre cas l’acció informativa serà contestar a la pregunta formulada per l’emissor. Protocol FIPA-request: permet que un mòdul demani a un altre que executi una acció. En cas d’acceptació també avisarà quan acabi o si hi ha hagut alguna fallada. El mòdul receptor pot refusar l’ordre d’execució de l’acció i donar els motius del perquè. Aquest refús és indicatiu que té algun problema amb les seves capacitats i, per tant, no pot executar les accions relacionades.
3.3. Activació del sistemaA partir de l’estructura de l’arquitectura es pot veure que la comunicació entre mòduls pot iniciar-se des d’alt nivell quan l’agent es compromet a executar un rol (activació Top-down), o bé des de baix nivell quan el mòdul de control detecta un event (activació Bottom-up). Aquest segon cas no s’explicarà per raons d’espai.
3.3.1.Activació Top-down: descripció
A continuació s’explica el funcionament a partir de l’esquema de la "Fig.9":
- S’activa el flux d’informació quan la col·lectivitat sol·licita a l’agent físic (AF) si pot realitzar un rol determinat.
- L’agent AF inicia un procés d’introspecció. Fa una demanda al supervisor per saber el grau de dificultat d’execució del rol.
- El supervisor determina la tasca associada al rol en qüestió. Si el supervisor no disposa de prou informació per avaluar el grau de dificultat d’execució d’alguna part de la tasca, fa una demanda de paràmetres dinàmics al mòdul de control.
- Si la demanda arriba a aquest mòdul significa que el supervisor necessita informació addicional. En aquest cas el mòdul de control consulta el conjunt de capacitats per tal d’obtenir els paràmetres dinàmics que descriuen l’execució
- Un cop el supervisor disposa de tota la informació relativa a l’execució de la tasca, obté un index del grau de dificultat d’execució de la tasca i ho comunica al mòdul agent.
- L’agent dóna per finalitzat el procés d’introspecció i contesta a la col·lectivitat. La contesta pot ser afirmativa i proporciona l’índex del supervisor com a grau de compromís. També pot ser negativa i refusar el rol sol·licitat.
- Interval de temps indeterminat.
- (8 ..12) Idem passos (1..5)
- Suposem ara que AF proporciona un grau de compromís suficient.
- La col·lectivitat està d’acord amb el compromís de AF i li adjudica el rol.
- El mòdul agent fa la comanda del rol al mòdul supervisor i restaura l’escena. Es queda en estat d’espera d’events tant de la col·lectivitat com del mòdul supervisor.
- El mòdul supervisor determina la tasca a fer i fa la comanda corresponent al mòdul de control. Es queda en estat d’espera d’events tant del mòdul agent com del mòdul de control.
Fig.9: Esquema de l’activació Top-down
- El mòdul de control aborta l’ultima acció de control i inicia la nova acció de control ordenada pel mòdul supervisor. Quan es produeixin events, problemes o si l’acció de control finalitza, el mòdul de control enviarà el missatge informatiu corresponent.
3.4 Definició de les capacitats modulars
Com poden definir-se les capacitats d’un agent? Tot depèn del nivell d’abstracció a què es treballi. Per obtenir una definició amb poca ambiguïtat cal basar-la en un llenguatge descriptiu numèric de forma que cal començar als nivells baixos d’abstracció i anar augmentant el grau d’abstracció per anar passant a descripcions més simbòliques. De fet, una raó de pes per començar a definir les capacitats a baix nivell està en el fet que tot agent físic disposa d’uns controladors que el limiten i/o capaciten per executar una certa quantitat d’accions d’una forma més o menys correcte. És a dir, el món lògic de l’agent ha de saber si serà capaç de controlar el seu cos per tal d’assumir un rol concret per a la comunitat multi-agent. De tota manera, a la literatura poden trobar-se moltes definicions de les capacitats a nivell agent, però no ténen en compte aquest contacte amb el món físic.
Una forma breu de definir les capacitats a nivell de control és la següent:
Definició 4: una capacitat (a nivell de control), consisteix en ser la percepció de les qualitats d’un controlador. Per tant, les capacitats integren tant la identificació del cos físic com la percepció de l’entorn a través del cos i, en última instància, integren també l’adaptació de l’agent físic a l’entorn, és a dir, l’habilitat de poder aprendre.
Per tal de formalitzar la definició de les capacitats, anomenem les capacitats de control com a capacitats atòmiques, que són aquelles que l’acció associada pot executar-se directament amb la percepció i l’actuació del nivell més baix, sense interpretar les dades adquirides. És a dir, l’acció es portarà a terme a partir de la mesura de les coordenades generalitzades del propi cos , i dels events i les magnituds externes al cos mesurades amb els sensors del propi agent. Per tant, la definició de les capacitats atòmiques s’ha de fer observant la qualitat d’execució d’aquestes accions amb els diferents controladors implementats en el cos fisic, és a dir, mesurant l’error en estat estacionari, el temps de resposta, l’amplitud d’oscil·lació, etc. Cal tenir present que el grau de sensorització és indicatiu del grau d’autonomia de l’agent, és a dir, serà capaç de realitzar més accions i, per tant, tindrà més capacitats.
Les capacitats del supervisor s’anomenen capacitats bàsiques, i són aquelles que s’obtenen combinant les atòmiques. El mètode de combinació consisteix en utilitzar les capacitats atòmiques com a estats en una màquina d’estats finits, i en utilitzar les condicions que obliguen a abandonar un controlador i escollir-ne un altre com a transicions. En un llenguatge més formal, el mètode de combinació consisteix en construir un sistema de control híbrid. Cal fer notar que el supervisor pot utilitzar un llenguatge menys numèric i això fa obligatori l’ús d’etiquetes, és a dir, com que el nivell d’abstraccio és més alt l’interpretació del món és més depenent de l’aplicació. Això provoca que pugui haver-hi accions bàsiques que siguin coincidents en la combinació d’accions atòmiques, però no en l’etiquetat que utilitzen.
En aquest mòdul supervisor, l’avaluació de la qualitat d’execució d’aquestes accions és més complexa ja que el llenguatge descriptiu no és tant numèric com en el nivell d’abstracció del mòdul de control. De tota manera, amb mètodes heurístics es pot avaluar la precisió i/o la dificultat de les execucions de les accions. Per exemple, es pot avaluar l’execució de l’acció (A) calculant un índex del grau de dificultat en funció de les oscil·lacions de la trajectòria optimitzada [10].
Finalment, les capacitats a nivell agent es defineixen de forma més simbòlica ja que el model del món és molt més abstracte i és completament dependent de l’aplicació que es faci. El mètode de definició és completament escalable al que s’utilitza en el supervisor, és a dir, les capacitats en el nivell d’abstracció del mòdul agent és construeixen a partir de les capacitats bàsiques. De tota manera, l’objectiu del mètode de combinació no és construir un sistema de control híbrid, sinó construir una màquina d’estats finits en què els estat són accions bàsiques i les transicions són les condicions que afavoreixen o no el manteniment de l’execució d’un acció bàsica concreta.
4 Exemples il·lustratius
4.1 Dos vehicles autònoms en fila
La situació que teniem a la secció 2.4 era que el vehicle guia normalment decidia accelerar o frenar sense tenir en compte la dinàmica de l’altre vehicle. Proposem la creació d’un sistema de decisió co-operant que tingui en compte les dinàmiques de frenada d’ambdós vehicles [8][9]. Amb aquest exemple no s’intenta trobar un mètode per solucionar el problema de les col·lisions en les formacions en fila india, sinó que s’ha escollit aquest problema perquè ofereix la problemàtica de la dinàmica dels mòbils: en una cua no hi haurà mai dos vehicles exactament iguals de forma que la forma de la frenada serà diferent en cada cas.
Per tal poder usar la DPA2, en el mòdul de control s’han definit un conjunt de controladors que permeten obtenir diferents temps de frenada. En el mòdul supervisor s’han definit les capacitats a partir de la classificació del tipus de resposta que s’obté per a cada controlador. Finalment, en el mòdul agent s’han definit només les capacitats de frenar, accelerar i mantenir la velocitat. Així, l’agent pot adquirir el compromís de frenar en un temps determinat a partir de la percepció que rep del mòdul supervisor. Per tant, els dos agents poden acordar l’acció de frenada suficient per a tots dos de forma que, tot i que la dinàmica de (XA-XB) continua sient de 2on ordre, el xoc s’eviti.
A continuació es presenta un exemple amb la decisió cooperant explicada anteriorment, en què l’agent A decideix parar amb t =0.3s. Després que l’agent B inhibeixi l’execució, negocien un valor t =0.6s. Es pot observar que la distància no s’anul·la, és a dir, s’evita la col·lisió (veure "Fig.11").
El que es pot veure amb aquest exemple és que l’enginyer que ha de dissenyar l’agent físic amb dinàmica pròpia, s’ha de dedicar fonamentalment a definir les capacitats de cada mòdul.
Fig.11: Diagrama de la frenada (esquerra), i evolució
de la distància XA-XB.(dreta).
D’aquesta manera, la forma de treballar queda modularitzada i pot dedicar-se, posteriorment, a establir les relacions que hi ha entre les capacitats i les accions en cada nivell d’abstracció.
4.2 Equip de robots jugant a futbol
A fi de poder completar la definició de l’arquitectura s’està portant a terme el desenvolupament d’un exemple d’aplicació molt més complert: una plataforma real amb un equip de robots que juguen a futbol. La riquesa d’aquesta plataforma està en la quantitat de problemàtiques que apareixen: en control (no-linealitats, imprecissió), en supervisió (seguiment de trajectòries, canvis de controladors segons les situacions), per l’agent (obstruir, passar la pilota), per la col·lectivitat (atacar, defensar, negociar i resoldre de conflictes).
A partir del coneixement aproximat del joc del futbol és fàcil entendre que tant a baix nivell d’abstracció (mòdul de control) com a al nivell (mòdul agent i/o col·lectivitat), la definició de les capacitats ha de ser molt més elaborada que en l’exemple anterior. En el mòdul de control cal definir-hi diversos tipus de controladors per tal que l’agent pugui executar moviments diferents tant en precissió com en rapidesa. Aquests controladors hauran d’estar pensats per a executar cadascun d’ells accions que en el mòdul supervisor són, simbòlicament, molt diferents: anar a un punt llunyà, xutar, buscar la pilota amb ajuda de sensors, obtenir una posició i orientació acurades, etc.
Per concretar més, anem a definir les accions atòmiques. A partir de la mesura de les coordenades del propi cos i de les magnituds externes al cos, algunes accions atòmiques podrien ser ‘(1) anar a una posició’, ‘(2) mantenir una velocitat’, ‘(3) perseguir un objecte’, ‘(4) evitar el xoc amb un objecte’ o ‘(5) colpejar un objecte’. Hem de suposar que tenim definit un conjunt de controladors.
Com a accions bàsiques podriem definir les següents: ‘(A=(1+2+4)) anar de A a B seguint una trajectòria’, ‘(B=(1+2+5)) xutar la pilota’, ‘(C=(1+2+3)) portar la pilota’, ‘(D=1+2+3) perseguir un contrari’, o‘(E=1+2+3+4) moure’s seguint la paret’. Respecte a les accions C i D. Es pot veure que són coincidents en la combinació d’accions atòmiques, però no en l’etiquetat que utilitzen. En la primera l’etiqueta de l’objecte correspon a ‘pilota’ mentre que en la segona és ‘contrari’.
Finalment, les capacitats a nivell agent es poden definir com segueix: ‘Passar la pilota’, ‘Marcar un contrari’, ‘Protegir la porteria’, ‘Desmarcar-se’ o ‘Interceptar la pilota’.
5. Conclusions i treballs futurs
En aquest treball s’ha presentat una arquitectura per
a agents físics amb dinàmica pròpia. Un agent és
vist com a una entitat multi-nivell i uniforme en el sentit que els diferents
mòduls que el componen interaccionen i funcionen d’una manera uniforme.
La diferenciació bàsica entre els mòduls està
en la definició de les capacitats. Des d’aquest punt de vista, els
mòduls poden considerar-se com a agents en sí mateixos. En
aquest treball encara queden qüestions obertes de les quals remarquem:
Agraïments
Aquest treball ha estat parcialment finançat pel projecte CICYT TAP98-0955-C03-02 "Diseño de agentes físicos (DAFNE)" del MEC i per 1998GR00234 "Grup de Recerca Consolidat de Sistemes Integrats" del CUR.
Referències
[1] R.Beckers, O.E.Holland, and J.L.Deneubourg. From Local to global tasks: Stigmergy and collective robotics. Proc. A-Life IV. MIT Press, 1994.
[2] R.A. Brooks. A robust layered control system for a mobile robot. IEEE Journal of Robotics and Automation, RA-2:14-23, 1986.
[3] Y.U.Cao, A.S.Fukunaga, et al. Cooperative Mobile Robotics: Antecedents and Directions. IEEE Transactions in Robotics. pp. 226-234. 1995.
[4] FIPA’98 Draft Specifications: Part 1. This version may be found on the FIPA web site: http://www.fipa.org
[5] McFarland. Towards robot cooperation. Proc. Simulation of Adaptive Behavior, 1994.
[6] A.K.MackWorth. On Seeing Robots. Computer Vision: Systems, Theory, and Application. Pp 1-13, World Scientific Press, Singapore, 1993
[7] J.P.Müller. The Design of Intelligent Agents. A Layered Approach. Lecture Notes in Artificial Intelligence, Vol. 1177. Ed. Springer-Verlag. 1996.
[8] A.Oller, E. Del Acebo, J.Ll. de la Rosa. DPA2: Architecture for Co-operative Dynamical Physical Agents. Acceptat al 9th European Workshop on Multi-Agent Systems –MAAMAW 1999.
[9] A.Oller, J.Ll. de la Rosa, B. Innocenti. Uso de parámetros dinámicos para mejorar la cooperación entre robots móbiles. Aplicación en un convoy de dos robots. Acceptat a Seminario Anual de Automática y Electrónica Industrial 1999 (SAAEI’99).
[10] A. Oller, J.Ll. de la Rosa, R. García, J.A. Ramon, A. Figueras Micro-Robots Playing Soccer Games: a Real Implementation Based on a Multi-Agent Decision-Making Structure. International Journal on Intelligent Control and Soft Computing. En premsa. 1999.
[11] L.Parker. Heterogeneous Multi-Robot Cooperation. PhD. Thesis. MIT EECS Dept. February. 1994.
[12] A.S. Rao and M.P. George_. BDI agents: From theory to practice. In Proceedings of the First International Conference on Multi-Agent Systems (ICMAS-95), pp. 312-319, Menlo Park, California, June 1995. AAAI Press. (pp. 101, 184, 185, 195, 199).
[13] L.Steels. A case study in the behavior-oriented design of autonomous agents. Proc. Simulation of Adaptive Behavior, 1994.