Différences entre versions de « Projets:MyoCoach »

De wikilab
Ligne 1 : Ligne 1 :
 
== Description du projet ==
 
== Description du projet ==
  
Le MyoCoach est une solution Do It Yourself de fabrication d'un appareil de rééducation fonctionnel permettant d'apprendre à utiloiser des capteurs EMG (capteurs musculaires) de manière ludique. Ses fonctionnalités permettent de jouer à des jeux vidéos minimalistes à partir des contractions musculaires de l'avant-bras.
+
Le MyoCoach est une solution Do It Yourself de fabrication d'un appareil de rééducation fonctionnel permettant d'apprendre à utiliser des capteurs EMG (capteurs musculaires) de manière ludique. Ses fonctionnalités permettent de jouer à des jeux vidéos minimalistes à partir des contractions musculaires de l'avant-bras.
  
 
== Cahier des charges ==
 
== Cahier des charges ==

Version du 3 mars 2022 à 15:58

Description du projet

Le MyoCoach est une solution Do It Yourself de fabrication d'un appareil de rééducation fonctionnel permettant d'apprendre à utiliser des capteurs EMG (capteurs musculaires) de manière ludique. Ses fonctionnalités permettent de jouer à des jeux vidéos minimalistes à partir des contractions musculaires de l'avant-bras.

Cahier des charges

Analyse de l'existant

Equipe (Porteur de projet et contributeurs)

  • Porteurs du projet : Nicolas Huchet
  • Concepteurs/contributeurs : Orthopus et Re-Factory
  • Responsable de documentation : Suliane

Matériel nécessaire

1 ordinateur personnel avec une interface réseau Wi-Fi (ou smartphone/tablette) avec un navigateur Web
1 coffret MyoCoach
1 câble USB (Arduino)
2 électrodes Ottobock (Réf 13E202)
2 câbles d'électrodes
2 porte-électrodes
1 sangle velcro

Outils nécessaires

1 tournevis plat

Fichiers source

https://github.com/orthopus/01-myocoach

Mémo pour se connecter au système Myocoach, visualiser le signal et jouer

Etapes de fabrication pas à pas


L'application et le boîtier MyoCoach permettent à l'utilisateur de tester sa capacité à contrôler une prothèse myoélectrique. Ces tests sont réalisés sur ordinateur et sont proches des conditions réelles.

Les exercices interactifs et le jeu vidéo intégrés à l'application permettent un entraînement musculaire ludique. De plus, il accélère l'apprentissage de la dissociation des différents groupes musculaires.

Deux électrodes 13E202 connectées au boîtier MyoCoach reçoivent les signaux musculaires myoélectriques de l'utilisateur. Ces signaux sont ensuite envoyés aux appareils connectés pour être affichés dans un navigateur Web.

Le MyoCoach s'allume en branchant l'alimentation du boîtier sur un chargeur USB ou sur le port USB d'un PC. Ensuite, l'utilisateur doit connecter son appareil (PC, smartphone ou tablette) au réseau Wi-Fi MyoCoach.

Pour éteindre le MyoCoach, allez dans la section "Paramètres" de l'application web et appuyez sur le bouton "Arrêter". Ou si le MyoCoach est équipé d'un bouton d'alimentation LED (en option), appuyez simplement dessus. 'Protocole de placement des électrodes'''' La fonction principale du MyoCoach est d'optimiser le placement des électrodes et de trouver le bon réglage de gain.

Pour ce protocole, nous utilisons des électrodes Ottobock (Ref 13E202).

Ce protocole est le résultat d'une publication scientifique de l'Université de Salford (Royaume-Uni).

💡Chadwell Alix, Kenney Laurence, Thies Sibylle, Galpin Adam, Head John (2016) La réalité des prothèses myoélectriques : comprendre ce qui rend ces appareils difficiles à contrôler pour certains utilisateurs url

Ce protocole de test permet la mise en place de deux électrodes utiles à l'utilisation d'une prothèse myoélectrique. Nous utilisons deux groupes de muscles du poignet pour contrôler la prothèse :

les muscles fléchisseurs du poignet pour fermer la main de la prothèse (1) les muscles extenseurs du poignet pour ouvrir la main de la prothèse (2) muscle_flechisseur_et_extenseur

1- Équiper une électrode d'une barrette à broches pour réaliser un adaptateur avec le système de connecteur MyoCoach (voir la section connecteur d'électrode dans le manuel de fabrication ). adaptateur_electrode

2- Réglez le gain de l'électrode à un niveau moyen entre 3 et 4 Pour accéder au potentiomètre de réglage de gain du capteur Ottobock 13E202, il n'est pas nécessaire de retirer le capteur du brassard ! Déplacez-le simplement comme indiqué ci-dessous.

accès_potentiomètre

3- Connectez cette électrode au connecteur EMG 0 du boîtier MyoCoach. connecteur_boitier

4- Connectez la box MyoCoach à l'ordinateur à l'aide du câble USB fourni avec la carte Arduino. connexion_boitier_ordi


5️ Lancez l'application MyoCoach sur l'ordinateur, connectez l'application à la carte Arduino et choisissez le Widget Signal. 6️ Maintenez l'électrode sur le muscle de l'utilisateur. maintien_electrode

Une électrode EMG doit être placée le long et au milieu de la fibre musculaire.

myo_placement_muscle

7Demander à l'utilisateur de contracter de manière répétée et régulière le muscle concerné par l'électrode à un niveau confortable, sans trop d'intensité musculaire. Notez le niveau du signal obtenu. contraction_muscle_extenseur ontraction_muscle_flechisseur

8Déplacez ensuite l'électrode dans les 4 directions (haut, bas, gauche et droite) à partir de la position de départ. Le mouvement doit être d'environ la moitié de la largeur de l'électrode (1 cm). déplacement_électrode

9Si l'amplitude du signal est supérieure à l'une des nouvelles positions, répétez l'étape8️⃣, définissant cette nouvelle position comme point de départ.

10La position avec l'amplitude maximale est ensuite marquée sur la peau de l'utilisateur avec un crayon .

marquage_position_électrode

Enfin, le réglage du gain est défini pour que l'utilisateur puisse atteindre confortablement un niveau de signal compris entre 20 et 80% sur le Widget Signal de l'application. Ce protocole doit être répété pour la deuxième électrode.

Connectez l'électrode à la boîte 1️Assemblez les deux électrodes sur le brassard. Le brassard offre plusieurs degrés de liberté pour permettre un positionnement optimal des électrodes sur le bras de l'utilisateur. (Voir la section Brassard : Ajustements et positionnement dans le manuel de fabrication ).

vue_brassard

2️Connectez les électrodes au boîtier MyoCoach.

L'électrode à l' extérieur de l'avant-bras doit être connectée au connecteur EMG 0 du boîtier. L'électrode placée à l' intérieur de l'avant-bras doit être connectée au connecteur EMG 1 du boîtier. emg_0_emg_1

Une fois les électrodes connectées et le brassard ajusté, l'utilisateur est prêt à s'entraîner à utiliser les capteurs EMG !


Aperçu des applications L'application web MyoCoach est hébergée sur un ordinateur Raspberry Pi. Le Raspberry Pi est défini comme un point d'accès Wi-Fi et l'application est accessible aux clients connectés à l'aide d'un navigateur Web.

Pour une prise en charge complète des fonctionnalités et une bonne expérience utilisateur, nous vous recommandons d'utiliser l'un des navigateurs Web suivants :

Navigateur Firefox (version 93) Google Chrome/Chrome (version 88) Commencer 1️Connectez le Raspberry Pi avec un câble USB. Selon l'équipement, le bouton DEL s'allumera en blanc. 2️Attendez que le MyoCoach soit prêt à l'emploi. Selon l'équipement, la couleur du bouton DEL doit passer au bleu lorsque le système est prêt. 3️Connectez votre appareil client (PC, téléphone ou tablette) au réseau MyoCoach par Wi-Fi. Les identifiants peuvent être : préalablement configuré avec le document INSTALL-fr précédemment configuré par Orthopus - SSID = myocoach-01, secret = null (pas de mot de passe) non configuré, valeur par défaut - SSID = raspi-webgui, secret = ChangeMe 4️Un portail captif apparaît automatiquement : portail_captif_1

5️Une nouvelle page apparaît avec le lien pour accéder à l'application web : portail_captif_2

Copiez puis collez le lien dans un navigateur Web. La fenêtre du portail captif peut maintenant être fermée.

6️L'application web MyoCoach démarre par la section suivante : signal_page

Pour utiliser l'application MyoCoach sur un smartphone ou une tablette, nous vous conseillons de régler l'écran de l'appareil en mode horizontal (paysage).

7️Les procédures d'arrêt et de redémarrage sont expliquées dans la partie section Paramètres. Appuyez sur le bouton LED (le cas échéant) pour un arrêt direct. Barre d'application principale La barre principale de l'application permet à l'utilisateur de naviguer dans toutes les sections de l'application et de surveiller l'état du système. Selon la largeur d'écran de l'appareil client, la barre d'application peut être affichée à gauche ou en haut de l'écran :

main_app_bar_1

Aller à la section Signal (section par défaut) Accéder à la rubrique Formation Étendre/réduire la liste des jeux Aller à la section jeu "FlappyPoulpy" Aller à la section À propos Activer/désactiver le mode sombre (la valeur par défaut dépend des paramètres du système d'exploitation de l'appareil client) Activer/désactiver le mode plein écran (non disponible sur le navigateur Web Safari) État de la connexion au serveur État de connexion du carton des capteurs Allez dans la section Paramètres Étendre/réduire la barre d'application principale Afficher/masquer le menu de l'application Tableau de bord Le composant tableau de bord affiche les mesures des capteurs EMG :

tableau de bord


Section des signaux La section signal est la section par défaut de l'application et affiche les tracés des mesures des capteurs EMG :

signal_page

Rubrique formation La section entraînement propose plusieurs exercices à réaliser avec les capteurs EMG. La première vue invite l'utilisateur à configurer et lancer une session d'entraînement et/ou à créer de nouveaux parcours personnalisés.

Mise en place de la session de formation La configuration de la session de formation permet à l'utilisateur de configurer une session avant de démarrer une session de formation.

formation_page_1_1

1La liste de sélection des sentiers contient tous les sentiers créés à partir de la section Gérer les sentiers. 2Le curseur de largeur de piste définit la largeur de piste de 10 à 30 pour ajuster le niveau de difficulté de la séance d'entraînement. 3Un aperçu graphique du parcours sélectionné. 4La puce Last Score affiche le score de la session précédente. 5Le bouton Démarrer lance la session. formation_page_2

Avant le début de la session, un compte à rebours centré apparaît pour se préparer. La session peut être interrompue en cliquant ou en appuyant sur le compte à rebours pour revenir à la configuration de la session d'entraînement.

formation_page_3

Le but de l'exercice est de faire en sorte que les tracés de signaux EMG restent dans le chemin de couleur correspondant pendant la durée de la session. La session peut être interrompue en cliquant ou en appuyant sur le bouton "Arrêter" pour revenir à la configuration de la session d'entraînement. La durée de la séance est indiquée par le compte à rebours et la barre de progression. La couleur de ces puces dépend du fait que les tracés du signal EMG sont dans ou hors du chemin. Gérer les sentiers La section gérer les parcours permet de créer, importer, exporter et supprimer des parcours :

formation_page_1_2

Cliquer sur le bouton créer ouvrira une boîte de dialogue pour créer un nouveau parcours avec les spécifications suivantes : formation_page_create

Dans l'application MyoCoach, un parcours est un ensemble de points temps/valeur.

a - Le nom du parcours qui apparaîtra dans la liste de sélection des parcours et sera également le nom du fichier donné en cas d'exportation.

b - Le type d'interpolation définit comment deux points suivants seront liés dans la trace.

c - La section EMG0 Points permet d'ajouter l'ensemble des points temps/valeur. Utilisez le bouton "Plus" pour ajouter et le "Moins" pour supprimer le dernier élément ajouté.

d - La section Points EMG1 a les mêmes fonctionnalités que la section ci-dessus. Pour n'utiliser qu'un seul capteur, l'autre ensemble doit rester vide

Cliquer sur le bouton d'exportation ouvrira une boîte de dialogue avec la liste des sentiers. Cliquer sur le bouton "Exporter" générera puis téléchargera le parcours sélectionné dans un fichier .xlm qui pourra être téléchargé sur un autre appareil MyoCoach (en utilisant la fonction d'importation de parcours) :

formation_page_export

Cliquer sur le bouton d'importation ouvrira une boîte de dialogue pour télécharger un fichier compatible .xml. Le bouton "Parcourir..." permet à l'utilisateur de choisir le fichier à importer sur le système de fichiers du client puis de l'ajouter à la liste de sélection du parcours : formation_page_import_1

training_page_import_2

Cliquer sur le bouton Supprimer ouvrira une boîte de dialogue avec la liste des sentiers. Le bouton "Supprimer" supprime le parcours sélectionné : training_page_delete

Rubrique jeu Les jeux disponibles dans MyoCoach sont une alternative amusante pour pratiquer le contrôle du capteur EMG.

Par défaut, un jeu est disponible sur le MyoCoach : FlappyPoulpy

FlappyPoulpy est un jeu de type FlappyBird qui utilise des capteurs EMG comme contrôleur.

Une fois le jeu terminé, l'écran suivant apparaît : game_page_1

Cliquez ou appuyez sur le bouton "Jouer" pour continuer. Ensuite, une vue apparaît et explique comment utiliser les capteurs EMG en tant que contrôleur. Cliquez, tapotez ou dépassez le seuil de 30% avec le capteur EMG1 (visible avec le composant Dashboard) pour lancer le jeu : jeu_page_2

Une fois le jeu lancé l'objectif est de franchir les "portes" entre deux colonnes et d'atteindre le meilleur score possible. A chaque porte franchie le score et la vitesse de jeu augmentent : game_page_3

En cas de passage manqué, l'écran de jeu s'affiche en affichant le score atteint. Cliquez ou tapez sur le bouton "Jouer" ou dépassez le seuil de 30% avec le capteur EMG1 pour démarrer une nouvelle partie : jeu_page_4

À propos de la rubrique La section à propos affiche des informations supplémentaires sur le projet MyoCoach et Orthopus :

about_page

Rubrique Paramètres La section des paramètres montre l'état général de MyoCoach et propose des actions système :

paramètres_page

1️Indique si les capteurs carton et serveur sont connectés ou non. 2️Permuter les entrées EMG : Lorsque vous cliquez dessus, les entrées des capteurs EMG sont permutées immédiatement. Une alerte avertit les utilisateurs de l'effet de l'action. 3️Régler l'heure : Lorsque vous cliquez dessus, cela règle immédiatement l'horloge MyoCoach (horloge interne du Raspberry Pi) sur l'heure de l'appareil client. Une alerte avertit les utilisateurs de l'effet de l'action. 4️Redémarrer : Lorsque vous cliquez dessus, une boîte de dialogue s'affiche pour demander confirmation pour redémarrer le système. Une alerte avertit les utilisateurs de l'effet de l'action. Selon l'équipement, le bouton DEL clignotera en jaune jusqu'à ce que le système redémarre effectivement. 5️Arrêt : lorsque vous cliquez dessus, une boîte de dialogue s'affiche pour demander confirmation de l'arrêt du système. Une alerte avertit les utilisateurs de l'effet de l'action. Selon l'équipement, le bouton DEL clignotera en rouge jusqu'à ce que le système s'éteigne effectivement. Gestion des points d'accès Wi-Fi Le MyoCoach comprend une configuration d'application de point d'accès appelée RaspAP pour permettre la connexion Wi-Fi à l'application Web MyoCoach. RaspAP permet au Raspberry Pi de fonctionner comme un routeur et dispose également d'une application web pour son administration.

Commencer 1️Assurez-vous que la section "Mise en route" de l'application Web MyoCoach a été suivie avant de commencer cette section. 2️Connectez votre appareil au réseau Wi-Fi MyoCoach. 3️Pour accéder à l'application web d'administration du PA, ouvrez une fenêtre de navigateur web et rendez-vous à l'adresse suivante : http://raspap.myocoach.lan 4️Une boîte de dialogue de demande d'authentification apparaît : ap_page_1

Les identifiants peuvent être :

préalablement configuré suivant le manuel de programmation du serveur ).

non configuré, valeur par défaut - Nom d'utilisateur = admin, Mot de passe = secret

5️Une fois l'accès à l'application Web RaspAP accordé, la page suivante apparaît où toutes les configurations sont disponibles :

ap_page_2

6️La documentation RaspAP complète est disponible à l'adresse suivante : https://docs.raspap.com/

Journal de Bord

22/02/22

Les signaux des capteurs ne sont pas facilement exploitable car trop de variation. Qu'est qui génére les hachures, parasites....

Des coupures ou pics, réguliers empechent la lecture du signal

On intervertit les capteurs autobock et orthopus sur le myocoach : le problème d'interférence est toujouts présent.

Quand on mets les capteurss autobock sur le myoboy, cela fonctionne donc cela ne vient pas des capteurs.

Cela ne vient pas non plus de l'alimentation raspi : si j'alimente l'arduino via le port usb, plus le jack d'alimentation : pareil

Résultat : Nécessité de ne pas l'alimenter par l'usb pour plus de propreté dans la réception du signal. Signal plus clair mais pics intempestifs si contact avec la peau

Nouvel essai avec la masse (electrode) coincé dans le coude et raccordé a la prise de courant: signal PLUS stable

Pour éviter les interférences il faut brancher l'arduino via le raspberry en passant par le port usb ET pour supprimer les parasites extérieurs il faut faire masse grâce au bracelet raccordé au négatif de l'arduino et au négatif sur une prise electrique VOIR PHOTO

Solution : pour supprimer les interférences il a fallu brancher le raspi sur une power bank et garder la masse entre l'arduino et le bracelet.

La consommation est inférieur à 1 ampere : 5 watt Ce qui permet l’utilisation d'un power bank 10,000 mAh avec une sortie de 2 amperes

1/ Supprimer la carte arduino qui sert a recuperer les information des capteurs, pour l'integrer en direct sur le raspi au moyen d'un convertisseur analogique digital double : voir lien

2/ Placer un afficheur led, 128X128 : 1,12 pouces : afficher le nom du hotspot reseau wifi du raspi, afficher l'adresse html du site, l'état (la tension de la batterie) et surtout les valeurs des capteurs avant meme qu'ils arrivent sur le logiciel du pc.

3/ rajouter un bouton poussoir : : permet d'arreter et mettre en marche l'afficheur et ou le raspi.

Bouton a led RVB : Donner des informations supplémentaires grâce aux couleurs

IMPORTANT : les capteurs ne fonctionnent pas a 3,3 V, prevoir 5 volt. En consequence, ajouter un convertisseur de niveau logique sur le port I2C entre le convertisseur et le raspi

23/02/2022

Suite à la suppression de l'arduino, rajout du Convertisseur Analogique Digital ADS1015 sur le Raspberry.

Les électrodes envoient des signaux analogiques, grace au ADS1015, les informations envoyées par les capteurs sont converties en numerique pour qu'elles soient compréhensibles par des applications, comme les jeux.

Réduction de place, de côut et de consommation d'énergie mais nécessite de réécrire le code


Bonjour, suite à notre Fokus Myocoach, j'ai réalisé quelques mesures sur les capteurs. J'ai réalisé les mesures sur les capteurs de Mathilde, les originaux je crois. Tension de fonctionnement mini : 4.2v. Résistance de sortie ou impédance : <100 ohms tension maxi du niveau de sortie avec 5v en alimentation : 4.4v Lorsque l'on test le capteur sur un banc de test, il ne semble pas être sensible au perturbation extérieur mais il faut tenir compte que lorsque l'on mesure, on perturbe toujours l'objet mesuré soit dans un sens soit dans l'autre. Il se peut que mes sondes de mesures en mettant le gnd du capteur à la masse (terre) et réduisent de fait les perturbations, comme lors de nos tests. L'impédance de sortie qui est assez faible garanti que les perturbations électriques qui pourraient atteindre les fils seront très réduites. Le schéma qui avait été imaginé lors du focus, celui pour connecter le capteur au CAN ADS1015, reste valide avec seulement un changement de valeur des résistances.

Durée de fabrication du prototype final