8 août 2011
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.
L'objectif général de cette procédure est d'intégrer un robot dans une bibliothèque d'environnement virtuel, puis d'utiliser le robot pour une thérapie post-accident vasculaire cérébral. Cela est réalisé en créant d'abord une classe enveloppe pour étendre la bibliothèque de haptique, puis en intégrant cette classe enveloppe dans la bibliothèque de haptique. L'étape suivante consiste à créer une classe enveloppe pour étendre la bibliothèque graphique, puis à intégrer cette classe enveloppe dans la bibliothèque graphique une fois les classes enveloppe terminées.
L'interface API H 3D est utilisée pour configurer une machine à états finis afin de tester des patients victimes d'AVC. Le robot intégré est ensuite utilisé pour aider à la rééducation des patients victimes d'AVC. Le principal avantage de cette technique est que vous n'avez plus à écrire une application logicielle différente pour chaque robot.
En outre, ces applications peuvent être utilisées par des scientifiques du monde entier, indépendamment du robot utilisé dans leur laboratoire. Cette méthode peut aider à répondre à des questions clés dans les domaines de la rééducation, de la robotique et du contrôle moteur, telles que le degré auquel notre système nerveux pourrait bénéficier d'une augmentation des erreurs. Cette méthode peut fournir des informations sur les déficits post-accident vasculaire cérébral ainsi que renforcer notre compréhension du fonctionnement normal.
En général, les patients victimes d'un accident vasculaire cérébral et nouveaux dans la rééducation robotisée doivent surmonter certains obstacles, comme apprendre à tenir la poignée. Nous avons eu l'idée de cette méthode en réalisant que nous avions besoin d'un robot doté d'un vaste espace de travail opérationnel en compensation de la gravité. Nous souhaitions également minimiser la réécriture de logiciels afin que les futurs étudiants diplômés puissent bénéficier du travail de leurs prédécesseurs sans avoir à refaire les mêmes tâches.
Ce vidéo donne des instructions pour intégrer un robot à manipulation de tout le bras (WHAM) avec le code source ouvert disponible sur www.hthreedpi.org. Pour intégrer un nouveau robot dans la bibliothèque d'haptique, la première étape consiste à écrire une classe enveloppe pour HAP, le moteur de rendu haptique, utilisé pour contrôler les mouvements du robot WHAM. Commencez par créer un fichier CPP et un fichier d'en-tête.
Les noms de fichiers utilisés pour cet exemple sont happy, wham, cpp et happy wham h. Placez le fichier happy wham cpp dans le répertoire source. Happy slash source, puis placez happy.
Placez wham h dans le répertoire des fichiers d'en-tête. Happy barre oblique include barre oblique happy. En haut de happy wham h, incluez les fichiers d'en-tête principaux du robot.
Remarquez que extern C est nécessaire pour résoudre le changement de nom par le compilateur, car la bibliothèque incluse est écrite en C et l'API H 3D est écrite en c plus plus. Dans happy wham h, créez la classe pour le robot et incluez-y les quatre fonctions suivantes : libération du dispositif háptique, dispositif háptique, mise à jour des valeurs du dispositif et envoi de la sortie. Assurez-vous que la classe hérite publiquement de la classe happy haptics device.
Ensuite, créez une protection d'en-tête pour la classe. Puis, créez les attributs statiques de sortie du dispositif et d'enregistrement du dispositif haptique dans la classe WHAM happy. Ensuite, créez les fonctions membres statiques pour les rappels spécifiques à votre robot.
Pour un robot WHAM, la fonction de rappel est utilisée dans la fonction d'appareil hapto-mécanique bull. Maintenant que les prototypes sont définis dans le fichier d'en-tête, ouvrez happy wham dot cpp, et incluez les fichiers d'en-tête et l'espace de noms appropriés. Ensuite, définissez le constructeur et le destructeur dans Happy Wam cpp.
Ensuite, enregistrez le dispositif dans Happy Wam cpp. Définissez maintenant les quatre fonctions héritées et les fonctions de rappel dans happy Wam cpp. La fonction de mise à jour des valeurs du dispositif indique à l'ordinateur la position du bras du robot et la force que le robot exerce sur l'environnement.
Après avoir créé la classe Happy Wrapper, l'étape suivante consiste à intégrer un enrobage dans la bibliothèque Happy. L'API WAM dépend de certaines bibliothèques que l'API H 3D ne dépend pas dans sa forme brute. Par conséquent, ces bibliothèques doivent être ajoutées à happy.
Accédez au répertoire H 3D 2.1/happy/build et modifiez le fichier CMakeLists.txt. Ajoutez les bibliothèques dépendantes après la ligne indiquant « Set optional libs ». Ouvrez une console de commandes, accédez au répertoire H 3D 2.1/happy/build, puis saisissez successivement les commandes suivantes : cmake ., make et make install, afin de terminer l'intégration du nouveau robot au code source ouvert H 3D.
Écrivez une deuxième classe d'habillage pour le graphe de scène. API appelée H 3D API. Cet exemple utilise une classe d'habillage appelée wam device.
Accédez au répertoire source, H 3D AP I slash source, et créez le fichier source du dispositif WAM, CPP et wam device.Cpp. Ajoutez la source standard destinée à tous les dispositifs H 3D PI. Ensuite, placez Wam device H dans le répertoire des fichiers d'en-tête.
L'appareil Wam H doit contenir le fichier d'en-tête standard pour tous les appareils H 3D API. Maintenant que la classe enveloppe a été créée, reconstruisez la bibliothèque H 3D PI en modifiant le texte des listes C make dans le répertoire H three DPI slash build. Enfin, dans le répertoire H 3D PI slash build.
Reconstruisez la bibliothèque H 3D API à l'aide des commandes CMake dot pseudo make et pseudo make install. Les nouvelles classes enveloppantes sont désormais prêtes à être utilisées avec un robot. Une fois les classes enveloppantes appropriées installées, une machine à états finis est créée pour contrôler le protocole expérimental de la tâche de pointage ciblé utilisée avec le robot Barrett WHAM. Les états de la machine à états sont : début de l'essai, lancement, contact avec la cible et fin de l'essai.
Le début de l'état d'essai commence par l'attribution d'une cible. Les emplacements des cibles peuvent être définis aléatoirement pour chaque essai ou provenir d'un fichier. La fin de l'état d'essai intervient et l'état de lancement commence.
Dès que la main du sujet a entamé son mouvement vers la cible à une vitesse supérieure au seuil, généralement 0,06 mètre par seconde, l'état de lancement prend fin et l'état de contact avec la cible commence lorsque le curseur du patient touche la cible. Une fois le contact établi, la cible disparaît, l'état de contact avec la cible se termine et l'état de fin d'essai commence.
L'état de fin d'essai signale au logiciel de collecte de données de marquer le fichier de données avec un délimiteur indiquant la fin de l'essai. À moins que le dernier essai n'ait été complété, la fin de l'état de fin d'essai active l'état de début d'essai et une nouvelle cible est attribuée. Cette section présente un robot différent appelé le Phantom, utilisé dans la rééducation des patients victimes d'AVC.
En substituant le code de classe d'emballage du fantôme dans les bibliothèques appropriées, le nouveau robot peut être intégré à l'environnement virtuel ; un système graphique haptique tridimensionnel appelé machine virtuelle de robotique et d'opérations optiques, ou ROOM, est utilisé ici. Ce système combine un rendu stéréo projeté avec suivi de tête sur un afficheur superposé à miroir semi-argenté et un système robotique capable d'enregistrer la position du poignet et de générer un vecteur de force. Un projecteur numérique de qualité cinéma affiche des images couvrant un écran de cinq pieds de large, offrant ainsi un angle de vision de 110 degrés.
Les émetteurs infrarouges synchronisent les images distinctes pour l'œil gauche et l'œil droit à l'aide de lunettes à obturateur LCD. Le mouvement de la tête est suivi grâce aux éléments magnétiques Ascension Flock of Birds, de sorte que l'affichage visuel est rendu avec la perspective centrée sur la tête appropriée. Un gant à tendon externe muni d'une attelle de poignet aide à l'alignement neutre du poignet et de la main.
Le centre de la poignée du robot est placé sur l'avant-bras, en arrière de l'articulation radio-carpienne. Cela permet aux forces de s'appliquer au niveau du poignet, tout en autorisant un mouvement libre de la main. Le poids du bras du patient est réduit à l'aide d'une orthèse exosquelette robotisée de type Wilmington, équilibrée en gravité et actionnée par ressort.
Le thérapeute assis à côté du patient utilise un dispositif de suivi pour déplacer un curseur sur l'écran. Devant lui, le patient reçoit l'instruction d'utiliser la poignée robotique pour poursuivre le curseur. Une augmentation de l'erreur est fournie à la fois visuellement et par des forces générées par le robot.
Lorsque le curseur du patient s'écarte du curseur du thérapeute, un vecteur d'erreur instantanée E est établi comme la différence de position entre le curseur du thérapeute et la main du patient. L'erreur est amplifiée visuellement par un facteur de 1,5 E dans le cadre de l'augmentation de l'erreur. En outre, une force d'augmentation de l'erreur de 100 E est appliquée au bras du patient, programmée pour saturer à un maximum de quatre newtons.
Pour des raisons de sécurité, l'augmentation de l'erreur amplifie les erreurs perçues par le patient, ce qui renforce le processus de réapprentissage. Le protocole de traitement prévoit que le patient s'entraîne à plusieurs mouvements spécifiques, notamment des mouvements de portée vers l'avant et sur le côté impliquant le couplage épaule-coude, ainsi que des mouvements diagonaux traversant le corps. Pour la prochaine démonstration, le code de la classe supérieure est remplacé et le robot Barrett WHAM est utilisé.
Le but de cette tâche suivante consiste, pour des sujets sains ou des patients victimes d'un accident vasculaire cérébral, à attraper un projectile virtuel à l'intérieur de la sphère verte semi-transparente. Si les mains du patient s'éloignent de l'intérieur de la sphère, celle-ci devient rouge et le bras du patient reçoit une rétroaction de type augmentation d'erreur provenant du robot. Lorsque le patient attrape avec succès le projectile à l'intérieur de l'espace défini, la sphère reste verte.
Cette figure montre l'erreur médiane de saisie. Chaque point représente l'erreur médiane mesurée pour un bloc de deux minutes de mouvements fonctionnels stéréotypés. Bien que les patients montrent des progrès au cours de la période de deux semaines, l'amélioration n'était pas toujours constatée chaque jour.
Cette figure illustre le bénéfice résultant de l'augmentation des erreurs pour réduire de façon sélective la variabilité d'un mouvement à l'autre. Les graphiques du haut montrent les données du groupe témoin, tandis que les graphiques du bas présentent les données du groupe traité. Chaque couleur représente un sujet différent.
Les deux lignes horizontales affichent l'emplacement des limites pour la tâche. Le but du sujet était d'intercepter le projectile virtuel à l'intérieur de ces limites. L'emplacement d'un point indique l'endroit où un sujet donné s'est approché le plus près du contact.
Dans le projectile, les histogrammes bleus semi-transparents superposés aux données brutes affichent la distribution des mouvements du groupe. Le long de l'axe antérieur, les patients ont effectué 600 essais de la tâche de saisie : lors des 200 premiers essais, aucune rétroaction par amplification d'erreur n'était fournie, tandis que pour les 200 derniers essais, une rétroaction par amplification d'erreur a été fournie aux essais 201 à 400. Le robot a fourni une rétroaction par amplification d'erreur au patient, entraînant une amélioration significative de la capacité du patient à saisir la cible dans les limites spécifiées.
Après avoir suivi cette procédure, les méthodes traditionnelles de rééducation peuvent toujours être appliquées, mais avec le robot, nous pouvons quantifier à tout moment la position de la main du patient au cours de nombreux essais répétés. Cette technique a ouvert la voie à de nouvelles recherches dans le domaine du génie neural, où nous pouvons explorer des mouvements de pointage simulés dans une région comportant de nombreuses solutions possibles. Après avoir visionné cette vidéo, vous devriez être en mesure de comprendre comment étendre la bibliothèque d'API H 3D à un robot de rééducation de votre choix et d'appliquer diverses interfaces haptiques graphiques pour l'évaluation et le traitement des patients victimes d'AVC.
Travailler avec des robots peut donc être potentiellement dangereux, c'est pourquoi un examen attentif doit être mené lors du choix d'un robot destiné à interagir avec des humains. Nous avons choisi le Barrett WHAM pour notre projet le plus récent, car il est plus puissant et réversible. Réversible signifie qu'il peut offrir une résistance quasi nulle si nous le programmons ainsi, tout en étant l'une des options les plus sûres disponibles pour l'interaction homme-machine.
Il s'agit d'un ordinateur de surveillance indépendant qui surveille l'ordinateur principal et peut désactiver le système si quelque chose ne fonctionne pas correctement, tandis que le freinage dynamique garantit que le système agit comme un amortisseur chaque fois qu'il est inactif. Bien que de nombreux robots aient des comportements différents, plusieurs de leurs fonctions se recoupent. Ainsi, la portabilité de nos techniques entre robots pourrait favoriser un nouveau partage entre laboratoires.
Ce qui est clair, c'est que les traitements d'entraînement tels que ceux démontrés dans cette étude fournissent des preuves encourageantes quant à la restauration de la fonction chez les patients, ainsi qu'à l'amélioration de l'entraînement dans les sports, la téléopération, l'interprétation musicale, les techniques chirurgicales et toute autre tâche nécessitant une pratique répétée.
Cet article traite de l'intégration d'un dispositif robotique avec un logiciel open source pour des applications de neuro-rééducation, ciblant spécifiquement la thérapie post-AVC. Cette approche permet d'utiliser une bibliothèque de fonctionnalités interactives dans un environnement virtuel.
Ce travail s'attaque à un goulot d'étranglement majeur en neurosciences translationnelles et en ingénierie de la réadaptation : l'absence d'interopérabilité logicielle entre les différentes plates-formes robotiques. En permettant à une seule base de code de communiquer avec divers dispositifs haptiques, cette approche réduit les coûts de développement et favorise une évaluation préclinique reproductible des interventions sur l'apprentissage moteur. Cette capacité renforce la confiance prédictive dans la validation précoce des cibles thérapeutiques en réadaptation neurologique, en standardisant les mesures comportementales entre laboratoires.
La méthode s'inscrit dans la continuité découverte-préclinique en transformant les systèmes robotiques en outils normalisés de phénotypage pour la modulation des circuits moteurs, avec une applicabilité directe à l'identification de composés candidats dans le développement de médicaments pour la neuro-rééducation.