Ora, i ricercatori del MIT hanno sviluppato una tecnica di verifica della sicurezza in grado di dimostrare con una precisione del 100% che la traiettoria di un robot rimarrà priva di collisioni (supponendo che i modelli del robot e dell'ambiente siano accurati). Il loro metodo, così preciso da poter distinguere tra traiettorie che differiscono di pochi millimetri, fornisce la prova in pochi secondi.
Ma l'utente non deve fidarsi ciecamente della parola dei ricercatori: la dimostrazione matematica generata da questa tecnica può essere verificata rapidamente con operazioni matematiche relativamente semplici.
I ricercatori hanno raggiunto questo risultato utilizzando una speciale tecnica algoritmica chiamata programmazione a somma di quadrati, che hanno adattato per risolvere efficacemente il problema del controllo di sicurezza. La programmazione a somma di quadrati consente di generalizzare il metodo a un'ampia gamma di movimenti complessi.
Questa tecnica potrebbe rivelarsi particolarmente utile per i robot che devono muoversi rapidamente evitando collisioni in spazi ristretti, come ad esempio i robot che preparano il cibo in una cucina professionale. È inoltre adatta a situazioni in cui le collisioni tra robot potrebbero causare lesioni, come nel caso dei robot sanitari che curano pazienti vulnerabili.
"Con questo lavoro, abbiamo dimostrato che alcuni problemi complessi possono essere risolti con strumenti concettualmente semplici. La programmazione a somma di quadrati è un'idea algoritmica potente e, sebbene non risolva tutti i problemi, se applicata con attenzione può risolverne alcuni non banali", afferma Alexandre Amice, dottorando in Ingegneria Elettrica e Informatica (EECS) e autore principale di un articolo su questa tecnica.
Amice ha collaborato alla stesura dell'articolo con Peter Werner, un altro studente di EECS, e con Russ Tedrake, professore di aeronautica, astronautica e ingegneria meccanica presso il dipartimento di EECS e membro del Computer Science and Artificial Intelligence Laboratory (CSAIL). Il lavoro sarà presentato alla Conferenza internazionale sulla robotica e l'automazione.
Certificare la sicurezza
Molti metodi attualmente utilizzati per verificare se il movimento pianificato di un robot è privo di collisioni simulano la traiettoria e controllano ogni pochi secondi se il robot entra in collisione con qualcosa. Tuttavia, questi controlli di sicurezza statici non sono in grado di prevedere se il robot entrerà in collisione con qualcosa nei secondi intermedi.
Questo potrebbe non essere un problema per un robot che si muove in uno spazio aperto con pochi ostacoli, ma per i robot che svolgono compiti complessi in spazi ristretti, pochi secondi di movimento possono fare un'enorme differenza.
Concettualmente, un modo per dimostrare che un robot non si sta dirigendo verso una collisione sarebbe quello di tenere in mano un foglio di carta che lo separi da qualsiasi ostacolo nell'ambiente. Matematicamente, questo foglio di carta è chiamato iperpiano. Molti algoritmi di controllo della sicurezza generano questo iperpiano una sola volta. Tuttavia, ogni volta che il robot si muove, è necessario ricalcolare un nuovo iperpiano per eseguire il controllo di sicurezza.
Al contrario, questa nuova tecnica genera una funzione iperpiano che si muove con il robot, consentendo così di dimostrare che un'intera traiettoria è priva di collisioni, anziché dover utilizzare un iperpiano ogni volta.
I ricercatori hanno utilizzato la programmazione somma di quadrati, uno strumento algoritmico in grado di convertire un problema statico in una funzione. Questa funzione è un'equazione che descrive la posizione che l'iperpiano deve assumere in ogni punto del percorso pianificato per evitare collisioni.
La somma dei quadrati può essere generalizzata al programma di ottimizzazione per trovare una famiglia di iperpiani senza collisioni. Spesso considerato un problema di ottimizzazione complesso, adatto solo all'utilizzo offline, i ricercatori hanno dimostrato che per questo problema è estremamente efficiente e preciso.
"La chiave di tutto è stata capire come applicare la somma dei quadrati al nostro problema specifico. La sfida più grande è stata trovare la formulazione iniziale. Se non voglio che il mio robot urti contro nulla, cosa significa matematicamente, e il computer può darmi una risposta?", afferma Amice.
In definitiva, come suggerisce il nome, la somma dei quadrati produce una funzione che è la somma di diversi valori al quadrato. La funzione è sempre positiva, poiché il quadrato di qualsiasi numero è sempre un valore positivo.
Fidati, ma verifica
Verificando che la funzione dell'iperpiano contenga valori al quadrato, un essere umano può facilmente accertarsi che la funzione sia positiva, il che significa che il percorso è privo di collisioni, spiega Amice.
Sebbene il metodo certifichi con perfetta precisione, ciò presuppone che l'utente disponga di un modello esatto del robot e dell'ambiente; il certificatore matematico è valido solo nella misura in cui lo è il modello.
"Il bello di questo metodo è che i test sono molto facili da interpretare, quindi non dovete fare affidamento sulla mia corretta codifica perché potete controllarla voi stessi", aggiunge.
Hanno testato la loro tecnica in simulazione, certificando che i complessi schemi di movimento di robot con uno e due bracci fossero privi di collisioni. Nella sua versione più lenta, il metodo ha impiegato solo poche centinaia di millisecondi per generare un test, risultando molto più veloce di altre tecniche alternative.
Sebbene il loro metodo sia sufficientemente veloce da poter essere utilizzato come controllo di sicurezza finale in alcune situazioni reali, è ancora troppo lento per essere applicato direttamente nel ciclo di pianificazione del movimento di un robot, dove le decisioni devono essere prese in microsecondi, afferma Amice.
I ricercatori intendono velocizzare il processo ignorando le situazioni che non richiedono controlli di sicurezza, come ad esempio quando il robot si trova lontano da oggetti con cui potrebbe entrare in collisione. Vogliono inoltre sperimentare algoritmi di ottimizzazione specializzati in grado di operare più rapidamente.
Questo lavoro è stato finanziato, in parte, da Amazon e dal Laboratorio di ricerca dell'aeronautica militare degli Stati Uniti.
