Armind

From air
Jump to navigation Jump to search
Robotic Arm

Enseignant: Nicolas Glade, Nicolas Vuillerme, Renaud Blanch

Elèves Ingénieurs RICM5 & TIS5: Marie Chevallier (chef de projet), Yacine Fall, Radia Koubaa, Anne Tabard

Description

Les handicaps sont nombreux et variés. Il est essentiel de pouvoir tenir compte de cette diversité pour améliorer le quotidien des personnes concernées.

Le DefiH organisé par Sogeti et LeMondeInformatique.fr nous offre l'opportunité de nous pencher sur cette question. Notre équipe, issue de l'école Polytech Grenoble a focalisé son attention sur les handicaps des membres supérieurs. Nous travaillons sur la réalisation d'un dispositif de compensation de handicap. Ce dernier est basé sur la commande d„un bras robotisé par la pensée via un casque neuronal. La bonne réalisation d'un projet nécessite la combinaison de deux éléments essentiels : Avoir une bonne idée à développer et assurer un bon suivi du projet à l'aide d'outils de gestion de projet. Il est aussi essentiel de s'assurer de l'utilité du projet en validant le besoin avec l'utilisateur. Son utilisabilité est enfin le dernier point fondamental à respecter en réalisant une solution en adéquation avec le besoin.

L'équipe

Marie Chevallier Yacine Fall Radia Koubaa Anne Tabard Xiao Lu

Le besoin

Le client

Depuis 2010, Sogeti, via sa Mission Handicap, s'engage à sensibiliser la population aux handicaps et à la réinsertion professionnelle de tous. Cela repose sur cinq principaux engagements :

  • Le recrutement de personnes en situation de handicap
  • Le maintien dans l'emploi
  • L'accueil et la formation de stagiaires
  • Le soutien d‟un milieu adapté et protégé
  • L'information et la sensibilisation

Le DéfiH s'inscrit dans cette mission. Il est organisé en partenariat avec LeMondeInformatique.fr. Il tient compte de la diversité des handicaps et de leur grand nombre. Le besoin premier du client est de développer un système permettant de compenser un handicap quelconque (handicap moteur, mental, cécité, surdité...). Notre équipe a ensuite fait le choix de travailler sur les handicaps moteurs, principalement ceux liés aux membres supérieurs. Cela peut comprendre l'incapacité de mouvoir ses bras, la fatigue rapide, des degrés de libertés limités jusqu'aux paralysies totales (syndrome locked-in). Nous verrons tout au long de ce document que l‟outil proposé peut être utilisé dans diverses situations et est applicable à de nombreux handicaps.

Dans le cadre de notre projet, le client souhaite obtenir un produit de compensation de handicap, basé sur l'usage de systèmes robotiques. Le but n'est pas de remplacer complètement un bras humain, mais de rétablir un équilibre dans le quotidien des personnes en difficulté en comblant au mieux ce manque. Cela passe par l'utilisation d‟un outil permettant d'effectuer des gestes simples de la vie quotidienne, impossible ou difficile pour l'utilisateur, jusque là.

Enjeux et objectifs

Armind est un projet s'insère dans le cadre de nos études, et qui s'inscrit aussi à la deuxième édition du DéfiH. Il s'agit d'un concours entre cinq grandes écoles et universités, organisé par Sogeti et LeMondeInformatique.fr. Le projet présenté cette année par Polytech Grenoble a pour objectif d'accompagner les personnes en situations de handicap moteur. Il cible en particulier les personnes atteintes d'un handicap des membres supérieurs. Il repose sur la combinaison de trois domaines scientifiques : l'informatique, la robotique et les sciences médicales. Ce projet veut favoriser la formation, l'insertion, le maintien ou le retour à l'emploi de personnes en situation de handicap. En effet, grâce au contrôle mental, l'utilisateur pourra de nouveau avec une interaction avec son environnement, via un bras moteur. Cette innovation en interaction cerveau-machine doit permettre l'amélioration des activités de préhension de la vie quotidienne des personnes à mobilité très réduite ou dotées d'un handicap lourd. Par exemple, une personne incapable de quitter son lit pourra alors utiliser ce contrôle mental à distance pour effectuer un travail à l'aide d'un robot mobile (type robot de téléprésence). Il faut donc obtenir un système fiable et stable si l‟on veut le déployer auprès de personnes déjà vulnérables. Il est essentiel de faire attention à ne pas mettre les utilisateurs en danger.

Matériel disponible

Pour le prototype de notre projet, nous considérons :

Nous avons également l'opportunité de travailler sur un Ultrabook Intel.

Précisions pour l'installation

OpenVIBE

OpenVIBE est une solution open source, développée par l'INRIA, pour la création, l'utilisation et le test d'interfaces cerveau-machine (en anglais BCI : Brain Computer Interface).

ATTENTION:

  • OpenVIBE est actuellement stable uniquement pour les systèmes Windows XP ou Windows 7. La version Linux (Ubuntu et Fedora) n'est pas compatible pour le contrôle du casque Epoc d'Emotion.
  • Il est nécessaire de posséder la version 1.0.0.3 du SDK Emotiv pour une bonne reconnaissance du driver du casque Epoc sous OpenVIBE . ATTENTION car la version 1.0.0.5 N'EST PAS compatible.


=> Télécharger donc Emotiv Development Kit_v1.0.0.3-PREMIUM et placer ce répertoire dans votre dossier Programmes Files (C:\Program Files (x86) ou C:\Program Files selon votre système).

Synchronisation Epoc-OpenVIBE

Capture d'écran de l'interface du serveur d'acquisition
Capture d'écran de l'interface Device properties
  • Installer OpenVIBE. Pour ceci, suivre les instructions disponibles sur le site d'OpenVIBE.

ATTENTION à ne pas donner un chemin d'accès trop long au fichier.

  • Aller dans le répertoire openvibe\cmake-modules et modifier le fichier FindThirdPartyEmotivAPI.cmake (remplacer son contenu par celui du fichier suivant : File:FindThirdPartyEmotivAPI.txt ).
  • Aller dans le répertoire openvibe\scripts et exécuter win32-install_dependencies.exe. Ceci doit lier correctement les dépendances avec OpenVIBE. Normalement, tout dois bien se passer...
  • Dans le même répertoire, exécuter ensuite win32-build.cmd. Quelques erreurs peuvent survenir, mais normalement ça doit marcher quand même.


A cette étape du processus, OpenVIBE est donc opérationnel.

  • Aller dans le répertoire openvibe\dist et lancer ov-acquisition-server.cmd. Ce serveur permet d'acquérir les données provenant du casque (ou d'en simuler).
  • Sélectionner le driver Emotiv EPOC dans la liste (avec les modifications qu'on a faites précédemment, ce driver doit normalement apparaitre).
  • Cliquer sur le bouton Driver Properties. Une fenêtre Device properties s'ouvre. Modifier le Path to Emotiv Research SDK afin de mettre votre propre chemin vers la bonne version du SDK (voir la partie Précisions pour l'installation => OpenVIBE).
  • Ensuite, pour tester si la synchronisation se passe correctement, il faut lancer le ov-designer.cmd et suivre le tutoriel d'OpenVIBE

Synchronisation OpenVIBE-Application

  • Avec Microsoft Viusal Studio C++ (nous avons utilisé la version Express 2010), créer un nouveau Projet Vide.
  • Créer, dans ce projet, une classe C++ du nom de votre choix.
  • Récupérer le code du programme client présent sur le tutoriel d'OpenVIBE, et remplacer l'ensemble du code auto-généré dans votre nouvelle classe (<maNouvelleClasse>.cpp) par ce code.


Nous allons maintenant lier le projet avec les librairies nécessaires.

  • Cliquer droit sur le projet et sélectionner les Propriétés.
  • Dérouler dans l'onglet Editeur de liens et sélectionner l'option entrée
  • Dans la partie de droite de la fenêtre, cliquer sur la ligne et modifier Dépendances supplémentaires
  • Ajouter alors les librairies vrpn.lib et quat.lib.

ATTENTION : Mettre le chemin complet et séparer les librairies par un retour à la ligne
exemple :

 C:\openvibe\dependencies\vrpn\lib\vrpn.lib
C:\openvibe\dependencies\vrpn\lib\quat.lib
  • Cliquer ensuite sur l'onglet C/C++ et, dans la partie de droite, cliquer sur la ligne et modifier Autres Répertoires Include
  • Ajouter alors le dossier vrpn\include

exemple :

 C:\openvibe\dependencies\vrpn\include
  • Cliquer enfin sur les boutons Appliquer puis OK
  • Il ne reste ensuite plus qu'à lancer votre server d'acquisition et designer, les configurer (pour ceci, suivre le tutoriel d'OpenVIBE) puis compiler et exécuter le projet... Enjoy ;)

ATTENTION : Pour l'exécution du projet, il faut bien vérifier que l'onglet Plateformes Solution soit bien sur Win32 et que Configurations de solutions soit bien en Released (et non en Debug).

Références