Haptique / Réhabilitation graphique: Intégration d'un robot dans un environnement virtuel Bibliothèque et en l'appliquant à la thérapie des maladies

Bioengineering
 

Summary

Récemment, une grande quantité de perspectives se sont disponibles pour les systèmes homme-robot interactif. Dans ce papier, nous présentons l'intégration d'un nouvel appareil robotisé avec le logiciel open source qui peut rapidement rendre possible une bibliothèque de fonctionnalités interactives. Nous avons alors aperçu une application clinique pour une application neuroréadaptation.

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

Des recherches récentes que les tests de dispositifs interactifs pour pratiquer la thérapie prolongée a révélé de nouvelles perspectives pour la robotique combinée avec des formes graphiques et d'autres du biofeedback. Précédente homme-robot systèmes interactifs ont exigé des commandes de différents logiciels à mettre en œuvre pour chaque robot conduit à une surcharge inutile de temps de développement à chaque fois qu'un nouveau système sera disponible. Par exemple, quand une haptique / graphique environnement de réalité virtuelle a été codé pour un robot spécifique pour fournir une rétroaction haptique, ce robot spécifique ne serait pas en mesure d'être échangé pour un autre robot sans recodage du programme. Toutefois, les récents efforts de la communauté open source ont proposé une approche classe wrapper qui peut susciter des réponses presque identiques quel que soit le robot utilisé. Le résultat peut conduire les chercheurs à travers le monde pour réaliser des expériences similaires en utilisant le code partagé. Par conséquent modulaire "commutation out" d'un robot pour une autre n'affecterait pas le temps de développement. Dans cet article, nous décrivons la création réussie et la mise en œuvre d'une classe wrapper pour un robot dans le H3DAPI open-source, qui intègre le logiciel de commandes les plus couramment utilisés par tous les robots.

Protocol

Présentation

Il ya un besoin croissant dans l'ensemble de l'interaction homme-machine (IHM) intuitives et efficaces pour les environnements interactifs. De nombreuses industries continuent à dépendre plus fortement des IHM, tels que: la robotique de réhabilitation, l'industrie automobile, la fabrication des métaux, des machines d'emballage, les produits pharmaceutiques, alimentaires, de boissons, et les utilitaires. Technologies employées dans ces industries incluent: terminaux d'affichage, des ordinateurs personnels et logiciels IHM. Ces technologies peuvent être combinés ensemble pour exécuter des fonctions illimitées.

Les robots peuvent être utilisés pour faciliter l'interaction directe avec les utilisateurs, tels que de servir comme un professeur de musique. Par exemple, des chercheurs à l'Université Waseda ont créé un robot qui joue du saxophone pour enseigner aux gens comment jouer et à comprendre l'interaction entre l'élève et l'enseignant 1. Autres chercheurs en robotique ont fait un robot basé sur la vision voler afin de déterminer comment l'intelligence artificielle peut évoluer vers des interactions intelligentes avec l'environnement 2. La concentration particulière de cet article réside dans la robotique de réhabilitation.

Dans le domaine de la recherche et l'industrie, le rythme rapide de changement pour les nouveaux produits et les exigences des utilisateurs continue de croître. Ces exigences imposent plus de difficultés à l'évolutivité. Ainsi la conception de code est devenu essentiel dans la satisfaction des besoins de ces entités dans les meilleurs délais. Ainsi, la qualité d'un candidat solide architecture comprendrait facilement interchangeables graphiques-robot des systèmes qui incluent le soutien du conducteur. L'architecture H3DAPI répond à ces besoins et donc une classe wrapper a été créé. Par ailleurs, H3D est conçu pour les environnements de réalité virtuelle, tels que ceux qui sont nécessaires dans la robotique de réhabilitation.

Neural rééducation robotique cherche à utiliser des robots dans le but d'aider les professionnels de la réadaptation. L'aide que fournissent ces robots se présente sous la forme d'un champ de force. Passé chercheurs commande moteur tels que Shadmehr et Mussa-Ivaldi, utilisé des champs de force pour favoriser l'adaptation du moteur, et avons trouvé 1) l'adaptation à un champ de force externe appliquée se produit avec différentes classes de mouvements, y compris mais non limité à des mouvements atteignant, et 2) l'adaptation généralise à travers les différents mouvements qui visitent les mêmes régions des 3 champ externe. Recherche d'ingénieurs en biomécanique de la performance basée sur Progressive thérapie assistée par robot montre que répétitives, les tâches spécifiques, orientés vers un but, robot-assistée thérapie est efficace dans la réduction des déficiences moteur dans le bras affecté après un AVC 4, mais les effets exacts thérapeutiques et des paramètres continuera d'être un domaine de recherche.

Rétroaction sensorielle affecte l'apprentissage et d'adaptation. Donc la question logique suivante serait de demander si oui ou non augmenter artificiellement l'ampleur de ces réactions seraient promotion plus rapide ou plus complet d'apprentissage / adaptation. Certains chercheurs ont constaté que l'application de forces plus grandes réactions sensorielles ou des indices visuels pour améliorer erreurs peuvent fournir un stimulus neurologique adéquat pour promouvoir des niveaux plus élevés d'adaptation / apprentissage 5,6. Ceci est connu comme "l'augmentation d'erreur". Ce phénomène peut être dû au fait que les résultats une fois d'une action de contrôle moteur s'écarter de l'idéal, notre modèle interne d'auto-ajuste en fonction de l'ampleur de l'erreur. En conséquence, comme notre modèle interne des approches de l'environnement externe, erreur dans l'exécution d'une tâche diminue.

La recherche continue de soutenir la pratique prolongée de fonctionnellement les activités pertinentes pour la restauration de la fonction, bien que de nombreux courants politiques de soins de santé limiter la quantité de temps que les patients peuvent passer du temps avec les thérapeutes. La question est de savoir si convaincant ces nouvelles applications de la technologie peut aller plus loin que de simplement donner une dose plus élevée de l'état actuel des soins. Des études d'interaction homme-machine ont révélé de nouvelles perspectives dans les domaines de l'apprentissage moteur, et peut dans certains cas, offrir une valeur ajoutée au processus thérapeutique. Spécialisé dispositifs robotiques combiné avec l'ordinateur affiche peut augmenter rétroaction d'erreur dans le but d'accélérer, améliorer, ou de déclencher le réapprentissage moteur. Ce document présente une méthodologie d'utilisation d'un système développé pour une intervention clinique comme un exemple de telles de l'application de cette technologie.

1. L'établissement classe wrapper HAPI pour un robot

  1. Créer un wrapper pour HAPI la bibliothèque haptique en créant votre propre. Cpp et fichier d'entête. Par exemple nous allons utiliser le nom et HAPIWAM.cpp HAPIWAM.h.
  2. HAPIWAM.cpp placer dans le répertoire source: HAPI / src
  3. HAPIWAM.h placer dans le répertoire du fichier en-tête: HAPI / include / HAPI
  4. Au sommet de HAPIWAM.h, inclure le fichier d'entête principale (s) de votre robot, dans le cas de la MAO Barrett, qui serait:

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

Remarque: extern "C" est nécessaire pour résoudre mangling compilateur, parce que la bibliothèque incluse est écrit dans 'C' et l'H3DAPI est écrit en C + +.

  1. En HAPIWAM.h, créez votre classe et comprennent les 4 fonctions suivantes

bool initHapticsDevice (int);
bool releaseHapticsDevice ();
updateDeviceValues ​​void (DeviceValues ​​& DV, HAPITime dt);
nulle sendOutput (HAPIHapticsDevice:: DeviceOutput & D, HAPITime t);

  1. Assurez-vous que votre classe hérite publiquement de la classe HAPIhapticsdevice.
  2. Créer un garde-tête pour votre classe.
  3. Créer DeviceOutput statique et attributs HapticsDeviceRegistration statique sous la classe HAPIWAM.
  4. Créez vos fonctions de membre statique pour les rappels.
  5. Définissez votre constructeur et destructeur de HAPIWAM.cpp.
  6. Enregistrez votre appareil dans HAPIWAM.cpp.
  7. Définissez vos 4 fonctions héritées et les rappels dans HAPIWAM.cpp.

2. HAPI bibliothèque de la création

  1. Maintenant que nous avons créé la classe wrapper HAPI, nous avons besoin pour construire votre enveloppe dans la bibliothèque HAPI. Le WAM dépend de certaines bibliothèques qui H3DAPI ne dépend pas dans sa forme brute, par conséquent, ces bibliothèques devront être ajoutés à HAPI. Aller à la HAPI / HAPI / construire et modifier CMakeLists.txt. Ajoutez les bibliothèques dépendantes, après la ligne qui indique "SET (OptionalLibs).
  2. Ouvrez une console de commande et accédez à: HAPI / HAPI / construire et tapez les 3 commandes suivantes dans cet ordre:

cmake.
sudo make
sudo make install

3. Classe wrapper H3D

  1. Pour créer la classe wrapper pour la bibliothèque H3D avec votre HAPIWAM, créez d'abord WAMDevice.cpp dans le répertoire source: H3DAPI/src
  2. WAMDevice.h placer dans le répertoire du fichier en-tête: H3DAPI/include/H3D
  3. WAMDevice.h doit contenir le fichier d'entête standard pour tous les appareils H3DAPI, avec le nom remplacé à ce que vous voulez.
  4. WAMDevice.cpp devrait mentionner la source standard pour tous les appareils H3DAPI, avec le nom remplacé à ce que vous voulez.
  5. Maintenant que la classe wrapper a été créé, de reconstruire la bibliothèque H3DAPI. Faites cela en éditant CMakeLists.txt de la même manière qui a été effectuée à l'étape 2.1, que sous le répertoire: H3DAPI/build.
  6. Reconstruire la bibliothèque H3DAPI sous le répertoire H3DAPI/build

cmake.
sudo make
sudo make install

4. Machine à états finis

  1. Chaque programme ciblé d'atteindre nécessite la création d'une machine à états finis pour contrôler le protocole expérimental ou d'un régime pratique. Machines d'état typiques incluent: Début du procès, Lancement, contacter la cible, et fin du procès. Un exemple de la fonction de chaque Etat, et les critères de transfert entre les Etats est ci-dessous.
  2. Le début du procès nécessite l'attribution d'une cible. Endroits objectifs peuvent être fixés de façon aléatoire pour chaque essai ou peut être réglée à partir d'un fichier. Le début du procès se termine une fois que l'utilisateur a lancé vers la cible au dessus du seuil de vitesse, généralement 0,06 mètres par seconde.
  3. L'Etat de lancement a lieu après le début du procès. Cet état se termine soit lorsque l'utilisateur touche la cible ou le reste à l'intérieur de la cible pour une période de temps. Une fois que la cible est touchée, cela permet à l'Etat de contact cible.
  4. Contactez-cible se produit pendant l'état de lancement. Il peut prendre fin dès que la cible est touchée ou après que le sujet réside dans la cible pour une période de temps spécifique. Une fois ce temps écoulé, la fin de l'état de première instance est activé.
  5. La fin de l'état du signal d'essai doit le logiciel de collecte de données pour marquer le fichier de données, quelle qu'en soit l'analyse du développeur de logiciels a utilisé, pour délimiter la fin de l'essai chacun. Moins que l'essai final a été terminé, la fin de la fin de l'état d'essai permet à l'Etat Début du procès.

5. Application: la réhabilitation du patient course

  1. L'interface robotique a été conçu pour faire participer l'expertise thérapeute tout en utilisant le robot pour permettre à quelque chose qui ne pourraient autrement être fait. L'application de la technologie a permis (décrits plus en détail ci-dessous) de l'augmentation d'erreur, ce qui a amplifié les erreurs perçues par le patient, qui pour plusieurs raisons bien connues améliore le processus de réapprentissage (fig 1).
  2. Un haptique en trois dimensions / système graphique appelé la Réalité Virtuelle robotique et optique machine Opérations (VRROOM). Ce système, présenté précédemment 6, une chaîne stéréo combinée projetée, chef-rendu suivi sur un écran semi-argenté miroir de superposition avec un système robotique qui a enregistré la position du poignet et a généré un vecteur de force (figure 2).
  3. A di qualité cinématographiquegital projecteur (Christie Mirage 3000 DLP) s'affichent les images qui s'étend sur un écran de cinq pieds de large pixels 1280x1024, résultant en un angle de vision 110 ° de large. Émetteurs infrarouges synchronisées images distinctes œil gauche et à droite par Liquid Crystal Display (LCD) lunettes à obturation (stéréographique, Inc). Ascension Flock of Birds éléments magnétiques ont suivi le mouvement de la tête de sorte que l'affichage visuel a été rendu à la tête appropriée perspective centrée.
  4. Lors de qualification pour l'étude, la capacité fonctionnelle de chaque participant a été évaluée par un évaluateur aveugle au départ et l'arrivée de chaque paradigme de traitement avec une semaine de suivi après chaque et un ensemble de 45 jours de suivi évaluation. Chaque évaluation se composait d'une amplitude de mouvement (ROM) l'évaluation réalisée dans le VRROOM ainsi que des mesures cliniques, notamment: l'évaluation Box et de blocs, Wolf Motor Function Test (WMFT), la section du moteur du bras de l'Fugl-Meyer (AMFM), et Évaluation de la portée fonctionnelle simple (TFA).
  5. Un gant de exotendon avec une attelle au poignet a été utilisé pour aider à neutre du poignet et de l'alignement à la main. Le centre de la poignée de robot a été attaché à l'avant-bras a été placé postérieure de l'articulation radiocarpienne sorte que ses forces ont agi au niveau du poignet, mais a accueilli la requête à la main.
  6. Poids du bras du patient a été amoindri par un ressort-alimenté Wilmington robotique exosquelette (WREX) gravité équilibré orthèse. Objectif chargé le patient était de chasser un curseur présenté devant eux en transitant par un dispositif de surveillance dans la main du thérapeute (téléopération thérapeute).
  7. Les patients la pratique de trois jours par semaine pendant environ 40-60 minutes, avec le patient, le thérapeute, et le robot de travailler ensemble dans un trio. Objet et thérapeute assis côte à côte, et le sujet a été connecté au robot au niveau du poignet.
  8. Chaque session a commencé avec cinq minutes de la plage de passif d'exercices de mouvement (PROM) avec le thérapeute, suivie par environ dix minutes pour situer le patient dans la machine. Le sujet a ensuite complété six blocs de formation le mouvement a duré cinq minutes chacune avec des périodes de repos de deux minutes entre chaque bloc.
  9. Pendant la formation, les participants ont vu deux curseurs sur l'écran stéréo. Le thérapeute traitant manipulé un curseur tout en participant contrôlée de l'autre. Les patients ont été invités à suivre le chemin exact du curseur du thérapeute pendant qu'il se déplaçait à travers l'espace de travail.
  10. Augmentation erreur a été fournie à la fois visuellement et par les forces générées par le robot. Lorsque les participants dévié à partir du curseur thérapeute, une erreur e instantanée vecteur a été établi comme la différence de position entre le curseur du thérapeute et de la main du participant. Erreur était visuellement magnifié par un facteur de 1,5 E (M) dans le cadre de l'augmentation d'erreur. De plus, une force d'erreur augmentant de 100 e (N / m) a également été appliquée, ce qui a été programmé pour saturer à un maximum de 4 N pour des raisons de sécurité.
  11. Chaque bloc de traitement était constitué de particuliers, des mouvements normalisés qui ont été les mêmes pour chaque session. Les autres blocs a permis au thérapeute de personnaliser la formation à des domaines spécifiques de la faiblesse repose sur l'expertise thérapeute et leurs observations. Le protocole de traitement inclus la pratique de mouvements spécifiques pour tous les participants, y compris avant et latéraux atteignant, à l'épaule-coude d'accouplement, et en diagonale pour atteindre à travers le corps.
  12. Tout en pratiquant, au jour le jour erreur médiane a été mesurée comme un résultat de la pratique. Une attention particulière a été donnée à des blocs de mouvements normalisés qui ont été les mêmes pour chaque session. Ils ont été comparés aux jours précédents pour déterminer si des améliorations supplémentaires pourraient être observées sur une base de jour en jour, qui peuvent être communiqués au patient, le thérapeute et les soignants (figure 3).
  13. Les mesures primaires de résultats ont été mesurés par semaine, 1 semaine après la fin du traitement, et 45 jours après pour déterminer la conservation des avantages. Les principaux résultats ont été le score de Fugl-Meyer capacité de moteur et de notre test personnalisé portée de main qui a mesuré l'amplitude de mouvement.

6. Les résultats représentatifs:

Lorsque le protocole est fait correctement, puis une fois le nœud <AnyDevice> est chargé dans le H3DViewer ou H3DLoad, le dispositif de WAM devrait être reconnu et lancé. Si le WAM ont été remplacés par un autre robot, le code lui-même n'aurait pas besoin d'être changé.

Figure 1
Figure 1. Sujet assis à l'haptique / appareil graphique.

Figure 2
Figure 2. Sujet assis à l'haptique / appareil graphique avec un physiothérapeute.

Figure 3
Figure 3. Configuration pour la réhabilitation of le patient d'AVC. A) sous réserve et thérapeute travaillent ensemble, assis et en utilisant l'haptique grande espace de travail / affichage graphique pour la pratique du mouvement. Le thérapeute fournit un repère pour le sujet, et peut conditionné l'adapter aux besoins du patient. Le robot donne des forces qui poussent les membres de la cible et le système de feedback visuel améliore l'erreur du curseur. B) typiques d'amélioration des patients chroniques course au jour le jour. Chaque point représente l'erreur médiane mesurée pour un bloc de 2 minutes de mouvement fonctionnelle stéréotypées. Alors que le patient montre des progrès à travers la période de 2 semaines et de bénéficier d'ensemble, cette personne n'a pas toujours d'améliorer chaque jour.

Discussion

Cette méthode de mise en œuvre classe wrapper permet de robots différents à être utilisé, sans modifier le code source, lorsque vous utilisez le H3DAPI. Plus précisément, les chercheurs qui ont écrit leur haptique / environnement graphique de H3D et testé leur expérience avec un robot fantôme serait en mesure de réaliser la même expérience ou similaire utilisant le WAM Barrett, et vice versa. Ce type de dispositif croisés indépendants de la communication a des implications pour la recherche en robotique de réhabilitation internationale. Ces implications de faciliter haptique rapide / développement graphique, la collaboration de recherche internationaux, et la communication inter-laboratoire de recherche.

Réhabilitation de la robotique n'a pas encore de découvrir les nombreux paramètres impliqués dans l'apprentissage moteur. Une des étapes de temps au cours haptique / développement graphique inclut le temps de compilation. Avec la réhabilitation de nombreux paramètres, aggravée par le temps de compilation pour chaque programme, le cycle de vie de développement pour tester toutes les permutations possibles du groupe augmente rapidement. H3D, avec son absence d'exigences de la compilation, permet un développement rapide de nombreuses scènes de réalité virtuelle. Cela vient comme un avantage pour les chercheurs qui aspirent à sonder les effets des scénarios de formation différents.

Limitations de cette «codées en dur 'approche d'intégration wrapper de classe, notamment le fait que cette procédure doit être répétée chaque fois qu'il ya une nouvelle répartition de la H3DAPI. Modifications possibles à l'intégration de la classe wrapper dans votre dernière distribution de l'H3DAPI serait de créer la classe wrapper séparément de la H3DAPI. Vous pouvez ensuite mettre votre classe wrapper dans un fichier *. bibliothèque ainsi. Ce serait d'isoler votre classe de la distribution originale H3DAPI.

Disclosures

Les classes wrapper dans ce tutoriel sont sous copyright par Ian Sharp.

Acknowledgements

Je tiens à souligner l'aide technique de Brian Zenowich, Daniel Evestedt et 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