Haptic / grafica di riabilitazione: integrazione di un robot in un ambiente di biblioteca virtuale e sua applicazione alla terapia Corsa

Bioengineering
 

Summary

Recentemente, una grande quantità di prospettive si sono disponibile per sistemi interattivi uomo-robot. In questo lavoro delineare l'integrazione di un nuovo dispositivo robotico con software open source che può rapidamente rendere possibile una libreria di funzionalità interattive. Abbiamo poi delineare una applicazione clinica per un'applicazione neuroriabilitazione.

Cite this Article

Copy Citation | Download Citations

Sharp, I., Patton, J., Listenberger, M., Case, E. Haptic/Graphic Rehabilitation: Integrating a Robot into a Virtual Environment Library and Applying it to Stroke Therapy. J. Vis. Exp. (54), e3007, doi:10.3791/3007 (2011).

Please note that all translations are automatically generated.

Click here for the english version. For other languages click here.

Abstract

Una recente ricerca che mette alla prova dispositivi interattivi per la pratica terapia prolungata ha rivelato nuove prospettive per la robotica in combinazione con altre forme grafiche e di biofeedback. Precedenti sistemi interattivi uomo-robot hanno richiesto comandi software diversi da attuare per ogni robot creando inutili tempo di overhead di sviluppo ogni volta che un nuovo sistema diventa disponibile. Per esempio, quando un tattile / grafica ambiente di realtà virtuale è stato codificato per un robot specifico di fornire un feedback tattile, che robot specifica non sarebbe in grado di essere scambiato per un altro robot senza ricodifica il programma. Tuttavia, recenti sforzi della comunità open source hanno proposto un approccio di classe wrapper che può provocare risposte quasi identiche a prescindere dal robot utilizzato. Il risultato può portare i ricercatori in tutto il mondo per effettuare esperimenti simili utilizzando il codice condiviso. Pertanto la "commutazione fuori" modulare di un robot per un altro non inciderebbe tempi di sviluppo. In questo lavoro, delineiamo la creazione e implementazione di una classe wrapper per un robot in open-source H3DAPI, che integra il software di comandi più comunemente utilizzati da tutti i robot.

Protocol

Introduzione

Vi è un crescente bisogno di tutta la interazione uomo-macchina (HMI) per ambienti interattivi intuitivo ed efficiente. Numerose industrie continuano a dipendere più pesantemente sulle HMI, quali: la riabilitazione robotica, l'industria automobilistica, produzione di metalli, macchine per imballaggio, prodotti farmaceutici, prodotti alimentari, bevande e le utility. Tecnologie impiegate in questi settori sono: terminali di visualizzazione, personal computer e software HMI. Queste tecnologie possono essere combinate insieme per eseguire le funzioni illimitate.

I robot possono essere utilizzati per facilitare l'interazione diretta con gli utenti, come ad esempio servire come un maestro di musica. Per esempio, i ricercatori della Waseda University hanno creato un robot che suona il sassofono per insegnare alla gente come giocare e per capire l'interazione tra studenti e insegnanti 1. Altri ricercatori robotica hanno reso una visione a base di robot volanti per determinare come l'intelligenza artificiale può evolvere in interazione intelligente con l'ambiente 2. La particolare concentrazione di questo lavoro risiede dentro di riabilitazione robotica.

Nel regno della ricerca e dell'industria, il ritmo rapido del cambiamento per i nuovi prodotti e le esigenze degli utenti continua a crescere. Queste esigenze impongono una maggiore difficoltà in termini di scalabilità. Per cui il progetto del codice è diventata parte integrante nel soddisfare le esigenze di queste entità in modo tempestivo. Quindi, la qualità di un candidato forte architettonico dovrebbe includere facilmente intercambiabili grafico-robot sistemi che includono il supporto driver. L'architettura H3DAPI risponde a queste esigenze, e quindi una classe wrapper è stato creato. Inoltre, H3D è progettato per ambienti di realtà virtuale, come ad esempio quelli necessari nel campo della robotica di riabilitazione.

Neurali della riabilitazione robotica cerca di utilizzare i robot per lo scopo di assistere i professionisti della riabilitazione. L'assistenza che forniscono questi robot si presenta sotto forma di un campo di forza. Passata ricercatori motore comando come Shadmehr e Mussa-Ivaldi, usato la forza-campi per favorire l'adattamento del motore, e hanno trovato 1) l'adattamento ad un campo di forza applicato esternamente si presenta con diverse classi di movimenti compreso ma non limitato ai movimenti di raggiungere, e 2) adattamento generalizza attraverso diversi movimenti che visitano le stesse regioni dei 3 campo esterno. La ricerca da parte di ingegneri biomeccanici in Performance-Based Progressive Robot-assistito terapia dimostra che ripetitivi, su attività specifiche, goal-directed, robot-assistita terapia è efficace nel ridurre il deficit motori del braccio colpito dopo l'ictus 4, ma gli effetti terapeutici e dei parametri esatti continuano ad essere un campo di ricerca.

Feedback sensoriale colpisce di apprendimento e di adattamento. Quindi la prossima domanda logica sarebbe quella di chiedere se non aumentando artificialmente la portata di tale feedback favorirebbe più veloce o più completo apprendimento / adattamento. Alcuni ricercatori hanno scoperto che l'applicazione di forze maggiore feedback sensoriale o segnali visivi per migliorare gli errori possono offrire un adeguato stimolo neurologico per promuovere più alti livelli di adattamento / apprendimento 5,6. Questo è noto come "aumento errore". Questo fenomeno può essere dovuto al fatto che i risultati, una volta di un'azione di controllo del motore si discostano da quelle ideali, il nostro modello interno di auto-regola in base alla grandezza di errore. Di conseguenza, come il nostro modello interno si avvicina l'ambiente esterno, errore nell'esecuzione di un compito diminuisce.

La ricerca continua a sostenere la pratica prolungata di attività funzionalmente rilevanti per il ripristino della funzione, anche se molte correnti politiche sanitarie limitare la quantità di tempo i pazienti possono trascorrere del tempo con i terapisti. La domanda interessante è se queste nuove applicazioni della tecnologia può andare oltre la semplice dare un più alto dosaggio dello stato attuale delle cure. Uomo-macchina studi di interazione hanno rivelato nuove prospettive nei settori del motore di apprendimento, e in alcuni casi può offrire un valore aggiunto al processo terapeutico. Specializzata dispositivi robotici in combinazione con computer-display possono aumentare il feedback di errori al fine di accelerare, migliorare, o trigger riapprendimento motore. Questo documento presenta una metodologia di utilizzo di un sistema sviluppato per un intervento clinico come un esempio di applicazione di questa tecnologia.

1. Stabilire classe wrapper HAPI per un robot

  1. Creare un wrapper per HAPI il tatto biblioteca creando il proprio. Cpp e file di intestazione. Per esempio useremo il HAPIWAM.cpp nome e HAPIWAM.h.
  2. HAPIWAM.cpp posto nella directory dei sorgenti: HAPI / src
  3. HAPIWAM.h posto nella directory di file di intestazione: HAPI / include / HAPI
  4. In cima alla HAPIWAM.h, includere il file principale di intestazione (s) del tuo robot, nel caso della WAM di Barrett, che sarebbe:

<em> extern "C" {
# Include <include/btwam.h>
}
# Include <HAPI/HAPIHapticsDevice.h>

Nota: extern "C" è necessario per risolvere mangling del compilatore, perché la libreria inclusa è scritto in 'C' e la H3DAPI è scritto in C + +.

  1. In HAPIWAM.h, creare la tua classe e sono i seguenti 4 funzioni

bool initHapticsDevice (int);
bool releaseHapticsDevice ();
updateDeviceValues ​​void (DeviceValues ​​& dv, HAPITime dt);
vuoto sendOutput (HAPIHapticsDevice:: DeviceOutput & d, HAPITime t);

  1. Assicurarsi che la classe eredita dalla classe pubblicamente HAPIhapticsdevice.
  2. Creare una guardia di intestazione per la classe.
  3. Creare DeviceOutput statica e gli attributi statici HapticsDeviceRegistration sotto la classe HAPIWAM.
  4. Crea il tuo funzioni membro statiche per le richiamate.
  5. Definire un costruttore e distruttore in HAPIWAM.cpp.
  6. Registra il tuo dispositivo in HAPIWAM.cpp.
  7. Definire i 4 funzioni ereditate e richiamate in HAPIWAM.cpp.

2. HAPI biblioteca creazione

  1. Ora che abbiamo creato la classe wrapper HAPI, abbiamo bisogno di costruire la vostra wrapper nella libreria HAPI. La WAM dipende da alcune librerie che H3DAPI non dipende nella sua forma grezza, quindi queste librerie dovranno essere aggiunti al HAPI. Vai a HAPI / HAPI / costruire e modificare CMakeLists.txt. Aggiungere le librerie dipendenti dopo la riga che dice 'SET (OptionalLibs)'.
  2. Aprire una console di comando e passare a: HAPI / HAPI / build e digitare i seguenti 3 comandi in questo ordine:

cmake.
sudo make
sudo make install

3. Classe wrapper H3D

  1. Per creare la classe wrapper per la libreria H3D con il HAPIWAM, creare innanzitutto WAMDevice.cpp nella directory dei sorgenti: H3DAPI/src
  2. WAMDevice.h posto nella directory di file di intestazione: H3DAPI/include/H3D
  3. WAMDevice.h dovrebbe contenere il file di intestazione standard per tutti i dispositivi H3DAPI, con il nome sostituito a quello che vuoi.
  4. WAMDevice.cpp dovrebbe contenere la fonte standard per tutti i dispositivi H3DAPI, con il nome sostituito a quello che vuoi.
  5. Ora che la classe wrapper è stato creato, ricostruire la biblioteca H3DAPI. Farlo modificando CMakeLists.txt nella stesso modo in cui è stata effettuata in fase 2.1, solo sotto la directory: H3DAPI/build.
  6. Ricostruire la biblioteca H3DAPI sotto la directory H3DAPI/build

cmake.
sudo make
sudo make install

4. Macchina a stati finiti

  1. Ogni programma mirato di raggiungere richiede la creazione di una macchina a stati finiti per controllare il protocollo sperimentale o regime pratica. Macchine a stati tipici includono: inizio della prova, lancio, Contatto Target e Fine della prova. Un esempio della funzione di ogni Stato, e criteri per il trasferimento tra gli Stati è elencato di seguito.
  2. L'inizio della prova richiede l'assegnazione di un obiettivo. Posizioni obiettivi possono essere impostati in modo casuale per ogni prova o può essere impostato da un file. L'inizio del processo termina quando l'utente ha lanciato verso il bersaglio oltre la soglia di velocità, di solito 0,06 metri al secondo.
  3. Lo stato di lancio si verifica dopo l'inizio del processo. Questo stato si conclude o una volta che l'utente tocca il bersaglio o rimane all'interno del bersaglio per un periodo di tempo. Una volta che il bersaglio è toccato, questo consente allo Stato Contatto Target.
  4. Contatta bersaglio avviene durante lo stato di lancio. Si può finire non appena il bersaglio viene toccato o dopo il soggetto risiede all'interno del bersaglio per un determinato periodo di tempo. Una volta che questo tempo è trascorso, la fine della prova è stato abilitato.
  5. La fine dello stato di prova dovrebbe segnalare il software di raccolta dati per contrassegnare il file di dati, in qualsiasi analisi lo sviluppatore del software ha utilizzato, per delimitare la fine di ogni prova. A meno che la prova finale è stata completata, la fine della fine dello stato di prova permette di inizio dello stato di prova.

5. Applicazione: riabilitazione del paziente con ictus

  1. L'interfaccia robotica è stata progettata per coinvolgere competenza terapista durante l'utilizzo del robot per abilitare qualcosa che non potrebbero altrimenti essere fatto. L'applicazione della tecnologia abilitato (descritta in dettaglio più avanti) di aumento degli errori, che ingrandita gli errori percepita dal paziente, che per molti ben noti motivi migliora il processo di riapprendimento (fig. 1).
  2. Un tridimensionale tatto / sistema grafico chiamato Virtual Reality robotica e Optical macchina Operations (VRROOM). Questo sistema, presentato in precedenza 6, combinato uno stereo proiettato, testa-di rendering su un tracciato semi-argentato visualizzazione overlay specchio con un sistema robotizzato che la posizione del polso registrati e ha generato un vettore di forza (fig. 2).
  3. Un cinema di qualità digital proiettore (Christie Mirage 3000 DLP) visualizzate le immagini che ha misurato un metro e mezzo a livello di 1280x1024 pixel, risultando in un 110 ° ampio angolo di visualizzazione. Emettitori a infrarossi sincronizzati separato immagini per l'occhio destro e sinistro con display a cristalli liquidi (LCD), occhiali (Stereographics, Inc). Ascensione stormo di uccelli elementi magnetici monitorato il movimento della testa in modo che la visualizzazione è stato reso con l'apposito testa prospettiva centrata.
  4. Al momento qualificante per lo studio, la capacità funzionale di ogni partecipante è stato valutato da un rater cieca alla partenza e all'arrivo di ogni paradigma di trattamento con una settimana di follow-up dopo ogni e un complessivo di 45 giorni di follow-up di valutazione. Ogni valutazione consisteva in un arco di movimento (ROM) valutazione eseguita nel VRROOM nonché misure cliniche tra cui: la valutazione Box e blocchi, Lupo Test delle funzioni del motore (WMFT), sezione motori del braccio del Fugl-Meyer (AMFM), e valutazione dei Simple Reach funzionale (ASFR).
  5. Un guanto exotendon polso con stecca è stato utilizzato per aiutare in posizione neutra del polso e allineamento portata di mano. Il centro della maniglia robot è stato attaccato al braccio è stato posto posteriore al comune radiocarpale in modo che le sue forze hanno agito a livello del polso, ma ha permesso al movimento della mano.
  6. Peso del braccio del paziente era diminuito utilizzando una sorgente alimentata Wilmington Robotic Exoskeleton (Wrex) gravità equilibrato ortesi. Scopo ha incaricato il paziente è stato quello di inseguire un cursore presentato di fronte a loro trasferiti tramite un dispositivo di tracciamento nella mano del terapeuta (teleoperazione terapeuta).
  7. I pazienti pratica tre giorni alla settimana per circa 40-60 minuti, con il paziente, il terapista, e il robot che lavorano insieme in un trio. Soggetto e terapeuta seduti fianco a fianco, e il soggetto era collegato al robot al polso.
  8. Ogni sessione è iniziata con cinque minuti di gamma passivi di esercizi di movimento (PROM) con il terapeuta, seguiti da circa dieci minuti per collocare il paziente nella macchina. Il soggetto poi completato sei blocchi di movimento formazione della durata di cinque minuti ciascuno con due minuti di riposo tra ogni blocco.
  9. Durante l'addestramento, i partecipanti hanno visto due cursori sul display stereo. Il terapeuta trattamento manipolato un cursore mentre il partecipante controllato l'altro. I pazienti sono stati istruiti a seguire il percorso esatto del cursore del terapeuta mentre si muoveva per tutto il lavoro.
  10. Aumento errore è stato fornito sia visivamente dalle forze generate dal robot. Quando i partecipanti deviato dal cursore terapeuta, un istantaneo e vettore di errore è stato stabilito come la differenza di posizione tra il cursore del terapeuta e la mano del partecipante. Errore è stato visivamente ingrandita di un fattore pari a 1,5 e (m) come parte del aumento di errore. Inoltre, una forza di errore e aumentando di 100 (N / m) è stata anche applicata, che è stato programmato per saturare ad un massimo di 4 N per motivi di sicurezza.
  11. Ogni blocco altro trattamento consisteva di specifici movimenti standardizzati che erano gli stessi per ogni sessione. Gli altri blocchi ha permesso al terapeuta di personalizzare la formazione a specifiche aree di debolezza sulla base di competenza terapista e le loro osservazioni. Il protocollo di trattamento includevano la pratica dei movimenti specifici per tutti i partecipanti, tra cui in avanti e laterale raggiungendo, spalla-gomito accoppiamento, e in diagonale raggiungendo in tutto il corpo.
  12. Durante la pratica, giorno per giorno errore mediana è stata misurata come un risultato della pratica. Particolare attenzione è stata data ai blocchi di movimenti standardizzati che erano gli stessi per ogni sessione. Questi sono stati confrontati con giorni precedenti per determinare se un miglioramento incrementale potrebbe essere osservata in un giorno per giorno, che possono essere segnalati al paziente, il terapeuta e il caregiver (fig. 3).
  13. Misure primarie di esito sono stati misurati ogni settimana, 1 settimana dopo la fine del trattamento, e 45 giorni dopo per determinare la conservazione dei benefici. Risultati chiave sono stati i Fugl-Meyer punteggio capacità motorie e la nostra prova su misura portata di mano che misurava la gamma di movimento.

6. Rappresentante dei risultati:

Quando il protocollo è fatto correttamente, poi una volta che il nodo <AnyDevice> viene caricato nella H3DViewer o H3DLoad, WAM il dispositivo dovrebbe essere riconosciuto e avviato. Se il WAM sono stati sostituiti con un altro robot, il codice stesso non avrebbe bisogno di essere cambiato.

Figura 1
Figura 1. Oggetto seduti al tattile / apparato grafico.

Figura 2
Figura 2. Oggetto seduti al tattile / apparato grafico con fisioterapista.

Figura 3
Figura 3. Configurazione per la riabilitazione of il paziente con ictus. A) soggetto e terapeuta lavorano insieme, seduti e con il grande spazio di lavoro tattile / display grafico a praticare movimento. Il terapeuta offre uno spunto per il soggetto, e può condizionata adeguamento alle necessità del paziente. Il robot fornisce le forze che spingono l'arto di distanza dal bersaglio e il sistema di feedback visivo aumenta l'errore del cursore. B) Tipico miglioramento cronica paziente con ictus da un giorno all'altro. Ogni punto rappresenta l'errore medio misurato per 2 minuti a blocco di stereotipo movimento funzionale. Mentre il paziente mostra il progresso in tutto il periodo di 2 settimane e beneficio complessivo, questa persona non sempre migliorare ogni giorno.

Discussion

Questo metodo di implementazione classe wrapper consente di robot da utilizzare, senza modificare il codice sorgente, quando si utilizza il H3DAPI. In particolare, i ricercatori che hanno scritto il loro tattile / ambiente grafico in H3D e testato il loro esperimento con un robot fantasma sarebbe in grado di effettuare lo stesso esperimento o simili utilizzando la WAM di Barrett, e viceversa. Questo tipo di dispositivo indipendente cross-comunicazione comporta implicazioni per la ricerca internazionale di riabilitazione robotica. Tali implicazioni facilitare tattile rapido / sviluppo grafico, la collaborazione di ricerca internazionale, ed inter-laboratorio di ricerca sulla comunicazione.

Riabilitazione robotica deve ancora scoprire i numerosi parametri coinvolti nell'apprendimento del motore. Uno dei passi in termini di tempo durante tattile / sviluppo grafico include il tempo di compilazione. Con i parametri di riabilitazione numerosi composti con il tempo di compilazione per ogni programma, il ciclo di vita dello sviluppo di testare tutte le possibili permutazioni del gruppo aumenta rapidamente. H3D, con la sua assenza dei requisiti di compilazione, permette lo sviluppo rapido di numerose scene di realtà virtuale. Questo si presenta come un vantaggio per quei ricercatori che aspirano a sondare gli effetti di vari scenari di formazione.

Limiti di questo approccio 'hardcoded' integrazione classe wrapper includono il fatto che questa procedura deve essere ripetuta ogni volta che c'è una nuova distribuzione del H3DAPI. Eventuali modifiche a integrare la classe wrapper nel tuo ultimo distribuzione del H3DAPI sarebbe quello di creare la classe wrapper separatamente dal H3DAPI. Si potrebbe poi mettere la classe wrapper in un modo file di libreria *.. Ciò isolare la classe dalla distribuzione originale H3DAPI.

Disclosures

Le classi wrapper in questa esercitazione sono sotto copyright da Ian Sharp.

Acknowledgements

Vorrei ringraziare l'aiuto tecnico di Brian Zenowich, Daniel Evestedt e Winsean Lin.

Materials

  1. The Display called paris (personal augmented reality immersion system), can be found at www.evl.uic.edu
  2. The large gray robot is the Barrett WAM: www.barrett.com
  3. The smaller, skinnier black robot is the Phantom: www.sensable.com
  4. The arm mount is the T-WREX, developed at the RIC: http://www.ric.org/research/centers/mars2/Projects/development/d3.aspx
  5. The shutter glasses for 3d vision: www.vrlogic.com
  6. Head tracking software. www.mechdyne.com
  7. The H3DAPI itself: www.h3dapi.org

DOWNLOAD MATERIALS LIST

References

  1. Solis, J., Takeshi, N., Petersen, K., Takeuchi, M., Takanishi, A. Development of the anthropomorphic saxophonist robot WAS-1: Mechanical design of the simulated organs and implementation of air pressure. Advanced Robotics Journal. 24, 629-650 (2010).
  2. Evolving Won-Based Flying Robots. Zufferey, J. C., Floreano, D. Proceedings of the 2nd International Workshop on Biologically Motivated Computer Vision, 2002 November, Berlin, Springer-Verlag. 592-600 (2002).
  3. Conditt, M. A., Gandolfo, F., Mussa-Ivaldi, F. A. The motor system does not learn the dynamics of the arm by rote memorization of past experience. Journal of Neurophysiology. 78, 554-554 (1997).
  4. Krebs, H. I., Palazzolo, J. J., Dipietro, L., Ferraro, M., Krol, J., Rannekleiv, K., Volpe, B. T., Hogan, N. Rehabilitation robotics: Performance-based progressive robot-assisted therapy. Autonomous Robots. 15, 7-20 (2003).
  5. Wei, K., Kording, K. Relevance of error: what drives motor adaptation. Journal of neurophysiology. 101, 655-65 (2009).
  6. Wei, Y., Bajaj, P., Scheidt, R., Patton, J. Visual error augmentation for enhancing motor learning and rehabilitative relearning. IEEE International Conference on Rehabilitation Robotics. 505-510 (2005).

Comments

0 Comments


    Post a Question / Comment / Request

    You must be signed in to post a comment. Please or create an account.

    Usage Statistics