I robot autonomi stanno diventando parte integrante della nostra vita quotidiana. E la tendenza dovrebbe crescere nei prossimi anni. Dalle auto a guida autonoma agli aspirapolvere intelligenti, dagli assistenti virtuali fino ai robot che assistono gli anziani, i robot stanno trovando spazio in contesti applicativi che vanno oltre il tradizionale orizzonte della fabbrica, dove peraltro sono tuttora impiegati allo scopo di incrementare la produzione. Per questo la ricerca sta mettendo a punto sistemi orientati alla previsione e “correzione” di eventuali errori potenzialmente pericolosi per l’uomo: vediamo lo stato dell’arte.
Service robot: quelli che fanno il lavoro sporco
Secondo il report annuale della Federazione Internazionale di Robotica dello scorso anno, fra il 2016 e il 2017 è stato registrato un incremento dell’85% nelle vendite di service robot (il nome con cui sono generalmente identificati i robot non industriali impiegati nella logistica, nella difesa, nella medicina, nella casa, nell’intrattenimento e nell’agricoltura), superando le centomila unità vendute in un solo anno generando un fatturato di quasi 7 miliardi di dollari.
Se molti conoscono le 4 “V” dei big data (ossia, volume, variety, velocity e veracity), pochi sanno che esiste anche il loro corrispettivo robotico: le 4 “D” della robotica, ovvero dirty, dull, dangerous e dexterous (a volte anche dear oppure delicate). Mentre le 4 “V” dei big data identificano le caratteristiche di queste enormi quantità di dati, le 4 “D” della robotica descrivono gli ambiti nei quali l’utilizzo di un robot è preferibile a quello di un operatore umano.
Dirty, si riferisce a tutti quei compiti considerati “sporchi”, come, ad esempio, la pulizia di un pavimento o la verniciatura di un’automobile; dull si riferisce a compiti che sono tediosi e ripetitivi per un essere umano, come tappare le bottiglie in una linea di produzione o avvitare migliaia di viti; dangerous descrive tutte quelle situazioni che sono troppo pericolose perché un essere umano sia direttamente coinvolto, esempi sono il disinnescare esplosivi, l’esplorazione spaziale e la ripulitura di ambienti contaminati da radiazioni; infine, dexterous, che fa riferimento alla destrezza, rappresenta tutte quelle situazioni in cui il grado di precisione necessario è tale per cui sarebbe molto arduo o impossibile per un operatore umano raggiungerlo, come per esempio in alcuni interventi chirurgici di precisione.
Così come il paradigma delle 4 “V” dei big data si è evoluto acquisendo la quinta V, vulnerability (ad indicare questioni legate all’etica e alla privacy nell’analisi dei dati), recentemente, alle 4 “D” della robotica si è aggiunta la quinta: domestic, proprio ad indicare quanto pervasiva sia diventata la presenza dei robot nella nostra quotidianità.
Robot “domestici”, la sfida per i progettisti
Il fatto che i robot non siano più relegati unicamente nelle fabbriche, dove operano in un ambiente quasi totalmente controllato e largamente prevedibile (comunemente detto “strutturato”), pone grandi sfide ai progettisti. Essere in grado di operare in un mondo aperto e in larga misura sconosciuto, sia nella sua struttura sia nella sua evoluzione, richiede ai robot un grado di autonomia decisamente maggiore. In questi ambienti, infatti, un robot deve essere capace di reagire e di prendere decisioni in situazioni complesse, dinamiche, imprevedibili e caratterizzate da un elevato grado di incertezza. Basti pensare alla gamma di situazioni che un’auto autonoma si trova a dover fronteggiare mentre percorre strade condivise con altri mezzi a motore, autonomi o meno, e con ciclisti e pedoni.
Fra i tanti aspetti che lo sviluppo di robot realmente autonomi coinvolge, in questo articolo ci concentreremo su un fattore chiave: l’anomaly detection, che consiste nel dotare il robot di sistemi e metodi che gli permettano di rilevare anomalie nel proprio funzionamento, anche in relazione all’ambiente in cui opera, per poi, conseguentemente, segnalare l’anomalia agli operatori o applicare delle azioni correttive per cercare di ritornare ad uno stato non anomalo (recovery).
La presenza di un’anomalia non adeguatamente rilevata e gestita potrebbe risultare in un ingente danno economico o sociale causato sia dal non aver svolto il compito assegnato sia da possibili danni al robot stesso. Ancora più grave, nel caso in cui il robot operasse a contatto con le persone, un malfunzionamento potrebbe mettere a rischio la loro incolumità. Infatti, sebbene un’anomalia nel funzionamento di un aspirapolvere intelligente potrebbe essere scocciante, ma tutto sommato non un problema grave, un’anomalia in un robot che nutre un anziano o che gli ricorda quando prendere i medicinali potrebbe avere conseguenze molto severe. Un altro esempio potrebbe essere relativo alle anomalie di un robot autonomo addetto alla sorveglianza di beni o edifici.
“Auto-riparazione”, la long-term autonomy
È importante sottolineare come, per i service robot che saranno operativi a breve nei nostri contesti quotidiani, la rilevazione di anomalie debba essere svolta autonomamente dai robot stessi perché non è ovviamente pensabile che tali robot siano costantemente supervisionati nel loro funzionamento da operatori umani, come invece capita spesso nei contesti industriali. In questo senso, lo studio dei metodi che permettano ai robot autonomi di identificare e far fronte a guasti ed anomalie è uno degli argomenti principali di un nuovo filone di ricerca nel mondo della robotica: la long-term autonomy, ovvero, la capacità da parte di un robot di essere operativo per lunghi periodi di tempo in modo completamente autonomo. Un esempio emblematico a cui idealmente tendere, anche se non si tratta di un robot completamente autonomo, è Opportunity, il rover marziano della NASA rimasto operativo per ben 14 anni.
Il tema dell’anomaly detection nei robot non è nuovo: a livello scientifico è stato studiato almeno a partire dalla metà degli anni Ottanta dello scorso secolo. Ciò che è nuovo è che, nel contesto attuale, il problema diventa molto più complesso di quanto non lo fosse nel passato. Rilevare anomalie nel funzionamento di un robot industriale che svolge compiti prefissati e ripetitivi, come muoversi ripetutamente da un punto A a un punto B, è intuitivamente meno difficile che identificare comportamenti anomali in robot autonomi che affrontano situazioni continuamente mutevoli, come nel caso di un robot che accompagna gruppi di visitatori in un museo affollato. Per esempio, nel primo caso, ciò che dovrebbe fare il robot, cioè il suo comportamento nominale, è facilmente descrivibile e, in certa misura, verificabile osservando il robot. Nel secondo caso, invece, il comportamento nominale non è immediatamente apparente per un osservatore (il robot deve precedere o affiancare il gruppo dei visitatori?).
Robot, i sistemi di autonomy detection
Inizialmente, la ricerca sull’anomaly detection nei sistemi robotici si è focalizzata sulle tecniche cosiddette model-based, ovvero basate sulla costruzione di un modello analitico che descrive attraverso equazioni matematiche, regole, oppure formule logiche il comportamento nominale (senza anomalie) di un robot. Durante l’esecuzione delle attività del robot, l’output del modello, cioè quello che le equazioni matematiche, le regole o le formule logiche predicono essere il comportamento atteso del robot, è comparato ai dati letti dai sensori e, in caso di discordanza, un’anomalia viene rilevata.
Per esempio, il comportamento di un robot aspirapolvere potrebbe essere descritto con regole comprendenti la seguente: “se la batteria è scarica, allora dirigiti verso la stazione di ricarica”; in questo contesto, una anomalia è identificata se i dati rilevati dai sensori a bordo del robot indicano che la batteria è scarica e il robot si sta allontanando dalla stazione di ricarica. Un approccio in qualche modo simile, ma meno impiegato, prevede di creare modelli delle anomalie e poi di confrontare i dati letti dai sensori con tali modelli, al fine di identificare se il comportamento del robot presenta una delle anomalie note o meno.
Negli ultimi anni, grazie agli enormi passi in avanti dell’intelligenza artificiale e del machine learning (apprendimento automatico) e alla sempre crescente disponibilità di dati, la ricerca scientifica si è concentrata prevalentemente nello sviluppo di approcci cosiddetti data-driven per l’anomaly detection.
Gli approcci data-driven, guidati dai dati, presentano il grande vantaggio di non necessitare di un esperto di dominio per la creazione del modello. Infatti, il modello è appreso in modo automatico dai dati prodotti dai sensori di cui il robot è provvisto con l’ausilio di tecniche di machine learning e data mining. Questo svincolamento dall’esperto di dominio non rappresenta un passo avanti solo dal punto di vista dell’efficienza, in termini di costi e di tempo, ma permette anche di costruire modelli appropriati anche per sistemi robotici per i quali, data la loro complessità, risulta impossibile anche per un esperto elicitare e formalizzare in un modello analitico tutte le relazioni tra l’enorme numero di componenti che costituiscono il robot e le possibili interazioni con l’ambiente circostante.
Dati “etichettati”: il problema della scarsità
Come è noto, le tecniche di machine learning e data mining possono essere suddivise in due grandi paradigmi: il supervised learning e l’unsupervised learning. Appartengono al supervised learning tutti quegli algoritmi che per imparare a discernere tra anomalie e comportamento nominale hanno bisogno di esempi di funzionamento passato in cui ogni lettura dei sensori ad un dato istante temporale è etichettata come anomala o non anomala. Disporre di una grande quantità di dati “etichettati” in questo modo non è tuttavia facile.
Inoltre, a complicare ulteriormente il quadro, gli esempi etichettati come anomalie sono in genere notevolmente meno numerosi rispetto a quelli etichettati come nominali. Questo sbilanciamento rende generalmente più difficile per gli algoritmi imparare a discriminare anomalie da comportamenti nominali con accuratezza.
Talvolta, per ovviare a questi inconvenienti, si ricorre a quella che viene chiamata injection di anomalie, ovvero, alcune anomalie vengono causate intenzionalmente per poter registrare le corrispondenti letture dei sensori e associare a tali letture l’etichetta di anomalia. Tecniche di injection di anomalie che impiegano esempi sotto forma di letture di sensori modificate artificialmente per rappresentare dati non nominali, sono usate spesso in ambiti, come quello dei sistemi spaziali autonomi, in cui non è possibile oppure non è economicamente conveniente introdurre una anomalia reale mentre il sistema opera nel suo ambiente.
Non è tuttavia sempre facile prevedere tutti gli eventuali tipi anomalie che potrebbero verificarsi: per questo motivo la ricerca scientifica si è focalizzata anche sull’unsuperived learning. Gli algoritmi unsupervised, a differenza di quelli supervised, non hanno bisogno di supervisione, ovvero non hanno bisogno di un’etichetta associata ad ogni esempio. Questi algoritmi cercano di scoprire la struttura nascosta dei dati forniti in input, un esempio sono gli algoritmi di clustering, che assegnano ogni esempio ad un gruppo (cluster) con lo scopo di formare cluster i cui i membri sono accomunati da una qualche caratteristica comune.
Semi-supervised learning, il metodo vincente
Gli esempi che non possono essere assegnati ad alcun cluster vengono detti outlier, e sono proprio questi gli esempi che in un’ottica di anomaly detection verranno considerati come anomali. Il fatto che le anomalie siano rappresentate dagli outlier pone una grande limitazione. Infatti, assimilando le anomalie ad outlier, stiamo intrinsecamente facendo l’assunzione che le anomalie siano qualcosa di molto diverso dagli esempi nominali e di molto raro, e quindi queste tecniche non sono applicabili in casi in cui le anomalie sono rappresentare da piccoli scostamenti che si verificano con una certa frequenza.
Per questi motivi, quando l’obiettivo è l’anomaly detection, un terzo paradigma è sempre più spesso impiegato: il semi-supervised learning, che giace a metà tra il supervised learning e l’unsupervised learning. Nel semi-supervised learning l’etichetta è necessaria solo per gli esempi che riflettono comportamento nominale. In questo caso l’algoritmo apprende un modello del solo comportamento nominale e quando a tale modello verranno presentati degli esempi non conformi a tale comportamento, questi saranno riconosciuti come anomalie. In questo modo non è più necessario né porre limiti sulla numerosità delle anomalie e nemmeno possedere a priori esempi etichettati di tutti i possibili tipi possibili di anomalie che possono verificarsi.
Per esempio, seguendo questo paradigma nel caso di un robot per la sorveglianza degli spazi interni a un edificio, sarà possibile effettuare dei giri di sorveglianza “di prova” sotto la supervisione di operatore umano, il quale potrà certificare la correttezza del comportamento del robot. I dati provenienti dai sensori del robot raccolti in questa fase costituiranno gli esempi etichettati come nominali e saranno usati per apprendere un modello del comportamento nominale del robot. In seguito, quando il robot sorvegliante si muoverà autonomamente nello stesso ambiente (senza la supervisione dell’operatore umano), i dati provenienti dai sensori saranno confrontati con il modello nominale al fine di identificare deviazioni anomale dal comportamento atteso.
L’anomaly detection in sistemi robotici, in conclusione, non è solo un argomento di ricerca stimolante, ma presenta anche una rilevanza pratica sempre maggiore, legata alla crescente autonomia dei robot che operano in contesti di vita quotidiana.
Bibliografia
- IFR (2018). Executive Summary World Robotics. 2018 Service Robot. https://ifr.org/downloads/press2018/Executive_Summary_WR_Service_Robots_2018.pdf
- Kunze, L., Hawes, N., Duckett, T., Hanheide, M., Krajník, T. (2018). Artificial intelligence for long-term robot autonomy: a survey. IEEE Robotics and Automation Letters, 3(4), 4023-4030.
- Khalastchi, E., Kalech, M. (2018). On fault detection and diagnosis in robotic systems. ACM Computing Surveys (CSUR), 51(1), 9.
- Chandola, V., Banerjee, A., Kumar, V. (2009). Anomaly detection: A survey. ACM Computing Surveys (CSUR), 41(3), 15.