HomeFactory AutomationRoboticaCollaborazione tra robot

Collaborazione tra robot

Leggi la rivista ⇢

  • n.9 - Ottobre 2024
  • n.8 - Settembre 2024
  • n.7 - Luglio 2024

Ti potrebbero interessare ⇢

La Redazione

baxter-robot-rethink_427bNon solo singoli robot intelligenti e autonomi, ma anche vere e proprie squadre. Diversi ricercatori stanno lavorano alla creazione di gruppi capaci di cooperare per svolgere un determinato compito.
Per cooperazione si intende una situazione in cui più robot lavorano insieme per conseguire un obiettivo comune, altrimenti non raggiungibile da uno singolo o che comunque può essere perseguito con maggiore efficienza usando sistemi robotici collaborativi. Tutto questo non è possibile se i membri del team non sono coordinati tra loro: ogni agente che coopera deve essere in grado di valutare e tenere conto della azioni degli altri «compagni» per poter raggiungere un comportamento collettivo coerente e garantire buone prestazioni. I sistemi robotici distribuiti si stanno consolidando come una realtà concreta e uno dei trend di maggiore successo per la robotica. Le motivazioni sono fondamentalmente legate alla loro alta versatilità e applicabilità a contesti talvolta diversi tra loro. Molti degli algoritmi di controllo traggono spunto dalla possibilità di utilizzare, in modo combinato, le caratteristiche di più agenti al fine di ottenere un risultato migliore di quello che si avrebbe usando una singola macchina. Inoltre, il fatto che spesso si faccia affidamento su più robot relativamente semplici, ma in grado di svolgere il compito di uno singolo molto meglio equipaggiato ma molto costoso, comporta anche un vantaggio economico. Principale, ma non certo unico, campo di applicazione di queste teorie è la robotica mobile, dove la relativamente ridotta complessità dei sistemi meccanici che entrano in gioco permette di focalizzare l’attenzione sullo sviluppo di algoritmi adatti a renderli il più versatili possibili. I settori di interesse possono essere molti: la navigazione, i sistemi di automazione della produzione e, in ambiente industriali, la creazione di magazzini automatizzati con carrelli senza pilota. Si parla anche di ambiti più di nicchia ma ugualmente utili, come la videosorveglianza, il monitoraggio degli incendi o la ricerca tramite robot di superstiti in zone colpite da catastrofi naturali. Un altro imperativo per l’avanzamento della robotica è rappresentato dallo studio e sviluppo di attuatori e sensori che permettano di ottenere e di recepire in modo chiaro e omogeneo una grande mole d’informazioni sensoriali. La biologia, le neuroscienze, la genetica hanno fatto grandi progressi e sono emersi nuovi modelli del comportamento che sono direttamente ispirati al sistema nervoso: le reti neurali. Un robot controllato da una rete neurale, invece che da un programma progettato da un essere umano, ha appreso le informazioni autonomamente e sarà quindi in grado di evolvere e auto-organizzarsi. Per questo avrà un comportamento più evoluto e flessibile e sarà capace di adattarsi alle circostanze e di affrontare problemi nuovi: in pratica un robot autonomo che prende decisioni guidato dagli stimoli provenienti dai propri sensori.

Apprendimento automatico

Ossia il modo in cui i computer imparano nuove abilità attraverso degli schemi presenti nei sistemi di training. È alla base dei più recenti progressi nel campo dell’intelligenza artificiale, a partire dai sistemi di riconoscimento vocale installati fino al parcheggio «automatizzato» delle auto, ed è anche la tecnica che i sistemi robotici autonomi utilizzano generalmente per creare i modelli dei loro ambienti. Questo tipo di operazione diventa complicata quando gruppi di robot lavorano in team. Infatti possono avere raccolto informazioni: i dati «mescolati» e incrociati produrrebbero un buon modello, che però singolarmente è quasi inutile. Se limitati dal punto di vista della potenza, della comunicazione o della capacità di calcolo, i robot non sono in grado di raggruppare i dati in un’unica location condivisa. Come possono quindi creare insieme un modello? La risposta è arrivata dai ricercatori del Laboratory for Information and Decision Systems del MIT che lo scorso luglio hanno presenziato alla conferenza «Uncertainty in Artificial Intelligence». Hanno presentato un algoritmo (Approximate Decentralized Bayesian Inference) in cui agenti distribuiti – come nel caso dei robot che esplorano un edificio – raccolgono i dati e li analizzano in modo indipendente. Coppie di agenti, per esempio robot che si incrociano nel corridoio, si scambiano poi i dati analizzati. Negli esperimenti che hanno coinvolto vari gruppi di dati differenti, l’algoritmo distribuito dei ricercatori ha superato un algoritmo standard che lavora su dati aggregati in un unico posto. «Un singolo computer si trova di fronte a un problema di ottimizzazione molto difficile da risolvere per riuscire ad apprendere un modello da un unico gigantesco gruppo di dati, e potrebbe produrre soluzioni non corrette», dice Trevor Campbell, laureato in aeronautica e astronautica al MIT, che ha scritto un trattato con il suo relatore Jonathan How, insegnante di aeronautica e astronautica. «Se blocchi di dati più piccoli vengono prima elaborati da singoli robot e poi combinati, ci sono meno probabilità che il modello finale si riveli una soluzione sbagliata». Campbell sostiene che la base di questo lavoro riguarda la collaborazione tra robot. Ma potrebbe anche avere implicazioni sui big data, dal momento che consentirebbe ai server distribuiti di combinare i risultati delle loro analisi dei dati senza aggregarli in una location centralizzata «Questa procedura è totalmente affidabile su qualsiasi tipo di network», dice Campbell. «È un algoritmo di apprendimento molto flessibile per reti decentrate».

Problema di corrispondenza

Per comprendere il problema e risolverlo, Campbell e How hanno immaginato una squadra di robot che esplora degli uffici a loro sconosciuti. Se il loro algoritmo di apprendimento è abbastanza generico, non avranno alcuna nozione precedente di quello che è una sedia o un tavolo, per non parlare di una sala conferenze o di un ufficio. Ma potrebbero stabilire, per esempio, che alcune stanze contengono un piccolo numero di oggetti a forma di sedia con approssimativamente la stessa quantità con le sembianze di tavolo o scrivania, mentre che in altre si trovano numerosi oggetti tipo sedia e un solo oggetto dalla forma di tavolo. Nel corso del tempo ogni robot creerà un proprio elenco delle tipologie di stanze e di quello che contengono, anche se si potrebbero verificare delle inesattezze. Uno, per esempio, potrebbe trovare una sala conferenze in cui qualche dipendente ha lasciato una valigia e concludere che questa sia un suo elemento tipico. Un altro potrebbe entrare in una cucina, dove la macchina del caffè è nascosta dalla porta aperta del frigorifero e non inserire, quindi, questo oggetto nel proprio elenco. Idealmente, quando due robot si incontrarono, dovrebbero confrontare i loro elenchi, raccogliendo le osservazioni reciproche e correggendo le omissioni o le informazioni troppo generiche. Il problema è che non sanno come fare coincidere le categorie. Non conoscono l’etichetta «cucina» o «sala conferenze»: hanno solo quelle definite come «stanza 1» e «stanza 3», ognuna associata a diverse liste con caratteristiche specifiche. La stanza 1 di un robot, però, potrebbe essere per un altro la numero 3. Con l’algoritmo di Campbell e di How, i robot cercano di far combaciare le categorie sulla base degli elementi presenti nelle liste condivise. Si potrebbero però verificare degli errori. Uno per esempio, può aver dedotto che lavandini e bidoni della spazzatura a pedale sono caratteristiche distintive dei bagni, un altro che lo siano delle cucine. Ma fanno del loro meglio, combinando le liste che pensano possano corrispondere. Quando uno di questi robot ne incontra un altro, esegue la stessa procedura, combinando le liste come meglio può. Ma ecco il punto cruciale: il robot continua a esaminare le liste originali in modo indipendente ricombinandole con le altre, ripetendo questo processo fino a quando non vengono esaurite tutte le combinazioni. Lo fa di nuovo con ogni nuovo robot che incontra, costruendo gradualmente modelli sempre più accurati.

Mettere ordine

Questa procedura relativamente semplice nasce da alcune analisi matematiche piuttosto sofisticate, che i ricercatori hanno presentato nella loro relazione. «Il modo in cui i sistemi informatici imparano questi modelli complessi deriva dal fatto che si imposta un modello più semplice per poi usarlo per approssimare quello che si otterrebbe se si fosse in grado di esaminare tutte le ‘strane’ differenze e complessità», dice Campbell. «Quello che il nostro algoritmo crea è una sorta di struttura artificiale, dopo aver risolto il problema più facile, e quindi la utilizza per combinare i modelli correttamente». In un’applicazione reale, i robot probabilmente non classificherebbero le stanze in base agli oggetti che contengono, ma classificherebbero anche gli oggetti in quanto tali e i loro usi. La procedura di Campbell può essere applicata efficacemente anche ad altri problemi di apprendimento. L’esempio di classificazione delle stanze in base al contenuto, inoltre, è simile nella struttura a un classico problema di elaborazione del linguaggio naturale chiamato «topic modeling», in cui un computer tenta di utilizzare la frequenza relativa di parole per classificare i documenti in base all’argomento. Sarebbe decisamente inattuabile archiviare tutti i documenti presenti sul Web in un unico luogo, in modo che un tradizionale algoritmo di apprendimento automatico possa fornire uno schema di classificazione coerente per tutti. Ma l’algoritmo di Campbell e di How permette ai vari server di effettuare ricerche sui documenti ovunque si trovino, mettendo in pratica quindi un modello collettivo.

 

Collaborazione tra robot - Ultima modifica: 2015-01-28T11:51:27+01:00 da La Redazione