Testato RAS, il primo robot per gli anziani
Il problema delle persone anziane che vivono da sole e che soffrono di demenza senile o limitazioni fisiche è ancora irrisolto. Riuscire a vivere una vita indipendente e allo stesso tempo sicura sembra quasi un’utopia per queste persone, che si trovano spesso in difficoltà anche nello svolgere i compiti più semplici.
La Washington State University ha reso noto, a metà Gennaio, un prototipo di robot pensato proprio per queste situazioni. RAS (Robot Activity Support System) utilizza i sensori presenti in una smart home per capire dove si trova la persona, se ha bisogno d’aiuto e poi raggiungerla per completare le attività.
Il robot può muoversi per la casa evitando ostacoli e fornendo video-istruzioni all’utente, per aiutarlo a completare anche i semplici task. Inoltre, è in grado di guidarlo verso l’oggetto di cui ha bisogno (ad esempio delle medicine).
L’idea di RAS
Sebbene esistano già tecnologie legate alle smart home che si occupano delle informazioni di salute di una persona, ciò che manca è qualcosa di effettivamente tangibile che aiuti l’utente in maniera proattiva. RAS nasce da questo presupposto, legandosi alla smart home per offrire assistenza alla persona.
Si può pensare a RAS come una sorta di “protesi cognitiva“, che offre però anche assistenza fisica. Esso infatti è in grado di trovare la persona non appena è in difficoltà, ricordandogli di completare alcuni step fondamentali per la sua salute e individuando gli oggetti chiave che servono per completare l’attività.
Il funzionamento
Come già detto, RAS necessita di operare all’interno di una smart home perché dipendente dai sensori. I dati raccolti inizialmente dai sensori vengono utilizzati per costruire dei modelli di attività e relative performance, in modo da fornire una base per identificare gli eventuali errori della persona.
Il robot possiede diversi moduli:
- il modulo di navigazione, per creare la mappa della casa, localizzarsi e muoversi verso un punto specifico;
- il modulo di object detection, per riconoscere visivamente gli oggetti, assieme a un sensore di profondità che determina la posizione 3D dell’oggetto relativamente alla mappa;
- il modulo di interfaccia utente, che fornisce alla persona le informazioni utili e col quale l’utente può richiedere aiuto;
- il modulo di error detection, per riconoscere quando la persona ha commesso un errore e fornire assistenza;
- un process manager per gestire gli altri moduli.
L’architettura software mostrata in figura illustra la locazione delle diverse componenti e il flusso di comunicazione, gestito sia con RabbitMQ come middleware che utilizzando il framework ROS.
Il modulo manager è quello fondamentale per connettere tutte le componenti di RAS. Implementato con SMACH (ROS State Machine), rappresenta un’architettura task-level, specifica per creare in maniera rapida il comportamento complesso del robot, individuando dei task da portare a termine. In particolare, il robot in questione è una macchina a due macro-stati SMACH: il “Go-to Person” e il “Go-to Object”. Essi rispecchiano esattamente i tipi di attività a cui si dedica il robot. In ognuno di questi stati vengono individuati dei sotto-stati o step eseguiti dal sistema. Nel caso del primo macro-stato, quando viene triggerato dal sistema, viene inizializzato lo stato “FindPerson”. In questa fase si effettua prima una query al database per conoscere la locazione della persona, assieme al timestamp di quando è stata registrata. Se il timestamp è scaduto, il sistema utilizza la telecamera cercando la persona, scansionando l’ambiente. Se viene trovata, allora il sistema si sposta nello stato “GoToXY”, mentre in caso di fallimento entra nello stato “GoToNewBASE”, che rappresenta una nuova posizione, e da lì viene effettuata una nuova ricerca. Lo stato SMACH “Go-to Object” ha un funzionamento analogo.
Per quanto riguarda gli stati “GoToXY” e “GoToNewBASE”, di essi si occupa il modulo di navigazione. In esso viene utilizzato l’algoritmo SLAM che permette di costruire una mappa della smart home localizzare la posizione del robot al suo interno. Per quanto riguarda il modulo di object detection, viene utilizzata una videocamera di tipo RGB-D, dove D indica il canale di profondità utilizzato per individuare la distanza dell’oggetto. La parte di interfaccia utente viene gestite con un tablet on-board. Essa è semplicemente una pagina web che viene mostrata sul display. L’interazione persona-robot avviene anche tramite prompt audio, per indicare all’utente ciò che il robot sta per fare.
Il modulo che si occupa di individuare gli errori si basa sulle informazioni riguardo le attività da svolgere raccolte e analizzate dalla smart home. I dati vengono raccolti e gestiti mentre l’utente svolge la sua routine, in maniera non invasiva. Le letture effettuate dai sensori vengono inviate ad un middleware manager che tagga ogni lettura con un timestamp e un identificatore del sensore che l’ha registrata. I dati vengono poi mantenuti in un database relazionale, e vengono utilizzati per generare pattern, predizioni e trend in modo da identificare in seguito eventuali errori.
Il test sul campo
26 studenti dell’Università hanno partecipato al test, che consisteva nel portare a termine tre semplici attività assieme all’assistente robotico. I task consistevano nel prepararsi per uscire, prendere le medicine e innaffiare le piante. Se i sensori della smart home identificavano che c’era un problema nell’iniziare l’attività o nel continuarla, RAS riceveva un messaggio di allerta.
A questo punto, utilizzando il mapping interno, la videocamera di navigazione e i sensori, cercava la persona in difficoltà per aiutarla. In questo caso l’utente poteva, tramite un tablet, richiedere di vedere quale fosse il prossimo step dell’attività, rivedere il video dell’attività completa o lasciare che il robot lo portasse verso l’oggetto di cui aveva bisogno.
Materiale tecnico dal paper “Robot-enabled support of daily activities in smart home environments” di Wilson G. e minori, proprietà della Washington State University.