Si è già sottolineato in precedenza l'importanza fondamentale che il comportamento emergente ricopre nelle architetture basate sul comportamento. Questa prerogativa si estende anche al caso di sistemi multirobot nei quali la cooperazione gioca il ruolo di meccanismo aggregante fra i comportamenti dei singoli individui. Attraverso di essa il gruppo di robot è in grado di portare a termini molti compiti collettivamente, ossia, più velocemente e con maggior affidabilità di quanto non riesca a fare ciascun robot individualmente.
Naturalmente, la comunicazione fra robot è la chiave di lettura per comprendere come le capacità e la robustezza dei singoli si moltiplichi per dar luogo a comportamenti collettivi di maggior efficacia e prestazioni. Inizia, nella prima parte, una breve discussione sull'impatto che la comunicazione ricopre nei sistemi multirobot seguendo l'approccio di Balch e Arkin analizzando il comportamento di colonie di robot nel caso di alcuni task collettivi assegnati.
Scopo della comunicazione è quello di permettere ai robot di scambiarsi informazioni sullo stato e l'ambiente con la minore larghezza di banda possibile. Aspetti di particolare interesse su cui conviene soffermarsi sono: il contenuto, il modo (implicita oppure esplicita), la localià (locale o globale), l'impatto sulla restrizione di banda, la consapevolezza, il mezzo, l'ancoraggio dei simboli (symbol grounding).
Con il termine comunicazione si intende "l'interazione per mezzo della quale un segnale, generato da un agente emettitiore, è interpretato da un ricevente". Sia l'emissione che la ricezione possono essere separati spazialmente e/o temporalmente. Per quanto riguarda la generazione dei segnali e la loro interpretazione, vi può essere un meccanismo innato oppure avvenire per apprendimento; di solito, si tratta di una combinazione di entrambi.
Alcuni esempi di comunicazione cooperativa sono riportati nel seguito.
La comunicazione implicita è definita attraverso l'ambiente ed è molto simile al concetto di stigmergia. Si presenta in due modalità differenti: nella prima il robot rileva una caratteristica dell'ambiente come effetto collaterale dell'azione di un altro individuo; nel secondo caso il robot semplicemente riconosce le azioni di un altro individuo.
A questo punto ci si potrebbe chiedere se la comunicazione è realmente necessaria, quale dovrebbe essere il suo raggio d'azione e, soprattutto, che contenuto informativo dovrebbe avere.
Per quanto riguarda il primo punto, va tenuto a mente che la comunicazione non è libera e può essere inaffidabile ed, inoltre, in ambienti ostili possono essere in atto contromisure elettroniche. Relativamente al ruolo della comunicazione, possiamo dire che il suo utilizzo riguarda
Rispetto al raggio d'azione si assume tacitamente che maggiore è questo raggio meglio è anche se tale assunzione non è sempre necessariamente vera. Come &egarve stato mostrato da diversi studi, in alcuni casi l'aumento del raggio d'azione comunicativa può portare ad un decadimento delle prestazioni sociali.
Un metodo per bilanciare la portata della comunicazione ed i costi correlati è l'approccio probabilistico che minimizza i tempi di ritardo della comunicazione fra robot. Un altro metodo si basa sul bilanciamento del flusso comunicativo per ottenere raggi d'azione ottimi.
Relativamente al contenuto della comunicazione si può affermare che la comunicazione esplicita migliora in modo significativo le prestazioni nei compiti in cui è coinvolta una ridotta comunicazione implicita; che la comunicazione non è essenziale quando il compito comprende solamente comunicazione implicita. Le strategie di comunicazione più complesse spesso danno luogo a benefici limitati rispetto ad informazioni elementari dello stato per cui si può dire che la percezione del comportamento è di per sè un buon metodo di comunicazione.
Un metodo empirico per comprendere l'importanza della comunicazione è quello di eseguire esperimenti sia in ambiente simulato che con robot reali, in corrispondenza a diversi tipi di compiti collettivi. Durante la sperimentazione si analizzano le prestazioni del gruppo sia in assenza di comunicazione che con comunicazione dello stato e degli obiettivi.
Gli esperimenti in ambiente simulato e con robot reali, di cui si è parlato nella precedente lezione, riguardano tre particolari compiti collettivi la cui presentazione è riportata brevemente di seguito. La discussione riportata è tratta, come per la lezione precedente, dal lavoro di Balch e Arkin sul comportamento collettivo dei sistemi reattivi multirobot.
Il primo compito prende il nome di forage, ricerca di cibo, ed è definito in modo che i robot vadano piuttosto alla ricerca di attrattori con i quali, dopo essere stati raggiunti ed agganciati, fanno ritorno alla posizione base. La distinzione degli attrattori è fatta in base alla loro massa in risposta alla quala i robot esibiscono diverse velocità di trasporto se sono differenti le masse degli attrattori.
Il secondo compito, consume, è simile al precedente con la sola differenza che il robot esegue il lavoro sul posto, sempre dopo aver agganciato l'attrattore. In questo caso, tuttvia, le diverse masse degli attrattori danno luogo a differenti velocità di consumo.
Infine, nel terzo ed ultimo compito, denominato graze (pascolare) l'obiettivo è quello di coprire completamente, diremo visitare, una porzione assegnata dello spazio di lavoro.
I parametri di confronto utilizzati nella sperimentazione sono: il numero degli attrattori, da cui dipende il tempo di completamento del compito; la massa degli attrattori, che danno luogo ai fattori di trasportabilità per forage e lavorabilità per consume; la percentuale di copertura per graze.
Il controllo di ciascun robot è realizzato in termini di schema, la cui caratteristica essenziale è quella di utilizzare la risposta vettoriale ai segnali sensoriali percepiti, secondo quanto già visto nelle lezioni precedenti.
![]() |
![]() |
![]() |
---|---|---|
Forage | Consume | Graze |
fig.1 - Accettori a stati finiti per i tre compiti assegnati
I tre compiti appena considerati possono rappresentarsi graficamente, come nella fig. 1, con lo strumento degli accettori (automi) a stati finiti già visti per l'implementazione dei singoli comportamenti. In questo caso, però, ciascuno stato corrisponde a diversi assemblaggi degli schemi motori che sono attivi in quello stato. Le transizioni, invece, corrispondono ai regolatori percettivi che forniscono le informazioni necessarie ad attivare gli schemi motori.
Nella fig. 2 sono rappresentati nel dettaglio l'insieme degli schemi motori che sono attivi per ciascuno degli stati wander, acquire e deliver dell'accettore che realizza il compito di forage.
![]() |
![]() |
![]() |
---|---|---|
Wander | Acquire | Deliver |
fig.2 - Implementazione di Forage
L'implementazione degli schemi primitivi, che realizzano il comportamento di consume, è quello rappresentato nella figura seguente del tutto analoga al comportamento di forage tranne per il fatto che consume sostituisce deliver.
![]() |
![]() |
![]() |
---|---|---|
Wander | Acquire | Consume |
fig.3 - Implementazione di Consume
Infine, nella fig. 4 è riportata la struttura realizzativa del comportamento di graze, nel quale wander ha una sua implementazione specifica rispetto ai casi precedenti ed, inoltre, è presente anche graze come particolarità di questo compito.
![]() |
![]() |
![]() |
---|---|---|
Wander | Acquire | Graze |
fig.4 - Implementazione di Graze
Seguendo Balch e Arkin, la sperimentazione è riferita sia all'assenza di comunicazione che alla comunicazione dello stato o dell'obiettivo.
Nella prima eventualità, nel gruppo di robot reattivi in azione, ciascun individuo è alle prese con gli obiettivi e gli ostacoli che definiscono il compito stesso. Nella seconda situazione si suppone che ciascun robot possa riconoscere lo stato di altri robot, quelli che erano stati indicati come wander, acquire, deliver, ecc..; specificatamente, viene riconosciuto lo stato di wander rispetto ad ogni altro ed è in corrispondenza a ciò che si produce la modifica dicomportamento. Infine, nell'ultimo caso considerato, i robot comunicano la locazione degli attrattori riconosciuti come tali.
Considerando per semplicità solo la simulazione, i parametri in gioco riguardano la metrica, per misurare il tempo necessario al completamento di un compito; la durata della sperimentazione, presa in 8000 passi; i fattori specifici del compito, come il numero degli attrattori, la loro massa o la percentuale di copertura, nel caso di graze; i fattori ambientali, riassumibili in dinamica statica o quasi stazionaria, con copertura degli ostacoli al 10-25% e raggio degli ostacoli compreso fra 1 e 4; le limitazioni senso/motorie in cui vengono fissate la velocità, il consumo, oppure il rapporto fra raggio della comunicazione rispetto a quello del riconoscimento sensoriale; infine, i parametri di controllo come indicato nel lavoro in questione.
fig.1 - Tempo di completamento senza comunicazione
Nella figura precedente è riportato il tempo di completamento nell'ipotesi di assenza di comunicazione per i tre compiti indicati. Nella figura seguente si nota un milioramento delle prestazioni, in termini di speedup, nel sistema multirobot rispetto al singolo, sempre nell'ipotesi che non vi sia comunicazione.
fig.2 - Prestazioni in assenza comunicazione
In base ai risultati della simulazione si può affermare che "per un dato numero di attrattori, se il numero dei robot aumenta allora il tempo di completamento del compito diminuisce". Inoltre, "per un dato numero di robot, il tempo di completamento cresce all'aumentare del numero di attrattori". Infine, la velocità complessiva è maggiore negli scenari dove sono presenti attrattori in numero maggiore.
fig.3 - Differenti esecuzioni di Forage
Nella figura precedente è riportata un esempio dell'esecuzione del compito di Forage in diverse condizioni di comunicazione. Lo stesso confronto è riproposto di seguito per il compito di Consume.
fig.4 - Differenti esecuzioni di Consume
Per un maggiore approfondimento delle problematiche affrontate nelle ultime tre lezioni su questo argumento si rimanda alla lettura del lavoro di Balch e Arkin più volte citato.