Il robot aspirapolvere Roomba sta ormai diventando un elettrodomestico familiare ma i suoi servizi si spingono già al di fuori dell’ambiente casalingo per raggiungere i laboratori dai quali è nato e offrirsi come assistente per nuovi esperimenti. 

È così che i ricercatori del Computer Science and Artificial Intelligence Laboratory (CSAIL) del MIT di Boston e hanno pensato a dei robot che hanno la stessa carrozzeria dei Roomba per testare i loro nuovi software che dovrebbero permettere ai robot, o a qualsiasi tipo di “sistemi multiagente”, di interagire e collaborare tra loro in situazioni complesse.



Se è già abbastanza difficile scrivere un programma per controllare le azioni di un singolo robot autonomo che si muove in un ambiente incerto con comunicazioni precarie, è ancor più arduo scriverne uno per programmare più robot affinché imparino a fare lavoro di squadra. Il problema non riguarda solo i robot in senso stretto ma un po’ tutti i sistemi con dispositivi disposti in rete con funzioni diverse. Finora, gli ingegneri che progettano i programmi di controllo per sistemi di questo tipo hanno superato le difficoltà limitandosi a studiare casi particolari in cui gli automi potevano ottenere informazioni attendibili circa l’ambiente e dovevano svolgere attività collaborative relativamente semplici e chiaramente specificate in anticipo. 



Ora un team del CSAIL guidato da Jon How sta sviluppando un nuovo sistema che raggruppa programmi di controllo esistenti per permettere ai sistemi multiagente di collaborare in modo molto più complesso. Il sistema sarà presentato in occasione della “Conferenza Internazionale sugli Agenti autonomi e i Sistemi multi agente” che si terrà il prossimo maggio a Parigi. 

È un tipo di ricerca che si inquadra nel problema del controllo multiagente in un ambito indicato dall’acronimno POMDP, Partially Observable Markov Decision Process, cioè Processo decisionale di Markov parzialmente osservabile, e più precisamente Dec-POMDPs, che rappresenta la versione decentrata. Sono problemi fondamentalmente intrattabile per i multirobot reali perché sono molto complessi e computazionalmente costosi; e la complessità cresce enormemente quando si aumenta il numero di robot. Quindi è un argomento poco frequentato anche dagli stessi specialisti in sistemi multirobot. 



L’idea degli ingegneri del MIT è di non eliminare il fattore “incertezza” bensì di metterlo in conto e di costruire il programma attorno a questo elemento. Hanno iniziato con piccoli compiti, simulando le attività di un magazzino dove le squadre di robot devono recuperare oggetti arbitrari andandoli a scovare in posizioni indeterminato e collaborando tra loro nel caso di trasporto di carichi pesanti. E qui entrano in gioco i modelli dei robot della serie Create, una piattaforma realizzata appositamente per fini sperimentali e educativi dalla iRobot, l’azienda che ha inventato i Roomba. Nei filmati che mostrano alcune fasi degli “allenamenti”, si vedono i piccoli dischi colorati, appunto i modelli della iRobot, che si alternano nel trasportare piccole scatole e si cercano per aiutarsi quando uno di loro ha trovato una scatola che non riesce a spingere da solo.

«Per i sistemi multi agente – dicono i ricercatori del CSAIL – nel mondo reale è molto difficile stabilire una comunicazione efficace. Considerate, ad esempio, una telecamera: è impossibile che possa costantemente condividere tutte le sue informazioni con tutte le altre telecamere di una rete. Allo stesso modo i robot sono collocati su reti che sono imperfette, quindi richiedono un certo tempo per far arrivare messaggi ad altri robot; e in certe situazioni, ad esempio intorno a ostacoli, non riescono del tutto a comunicare. Spesso uno di questi agenti può non disporre di informazioni perfette sulla propria posizione; oppure tenta di spostarsi in una direzione ma c’è vento o slittano le ruote; o, ancora, si può verificare la perdita di un pacchetto di dati sulla rete telematica». 

Nelle situazioni reali insomma, c’è un troppo rumore che disturba la comunicazione e genera incertezza su quello che succede, rendendo difficile il prendere decisioni. Il nuovo sistema, sviluppato in particolare da Christopher Amato con Leslie Kaelbling e George Konidaris, fa leva su tre elementi: un insieme di algoritmi di controllo di basso livello – che i ricercatori del MIT definiscono “macro-azioni” – che governa i comportamenti degli agenti collettivamente o individualmente; una serie di statistiche circa l’esecuzione di tali programmi “in un ambiente particolare”; infine un sistema per la valutazione dei diversi esiti: ad esempio: realizzare un obiettivo ha una elevato valutazione positiva, ma se c’è troppo consumano di energia la valutazione diventa negativa. 

Nel programma è previsto che le statistiche possano essere raccolte automaticamente, semplicemente lasciando agire per un po’ i multi agenti, sia nel mondo reale che nelle simulazioni. Nell’attività prima descritta, ad esempio, i robot che cercano di spostarsi all’interno del magazzino possono finire in un vicolo cieco, per un certo tempo, o la loro banda di comunicazione può cadere per qualche altra frazione del tempo; e tali frazioni possono variare per i robot che si muovono su altri percorsi nello stesso magazzino. Il sistema prende questi input e poi decide il modo migliore per combinare macro-azioni al fine di massimizzare l’attività dell’intero sistema. Può utilizzare tutte le macro-azioni, oppure può utilizzare solo un piccolo sottoinsieme; e li può utilizzare in modi che il progettista umano non aveva pensato. 

Il nuovo sistema messo elaborato al MIT sembra quindi destinato ad abbattere la diffidenza verso i Dec-POMDPs e spianare la strada verso la robotica collaborativa