Projets:MyoCoach

De wikiup
Sauter à la navigation Sauter à la recherche

Description du projet

Le système MyoCoach est destiné aux professionnels de santé et aux utilisateurs de prothèses du membre supérieur. Ses fonctionnalités permettent de :

Mesurer le potentiel musculaire à l'aide de capteurs myoélectriques Définition de la position optimale des électrodes Réglage des électrodes myoélectriques Exercice de contraction musculaire et de coordination


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

Durée de fabrication du prototype final

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


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 à 0.5 ampere : 2.5 watt Ce qui permet l’utilisation d'un power bank 10,000 mAh avec une sortie de 1 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. 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


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.

Guide de programmation du serveur / / L'application MyoCoach v2.0 permet la visualisation des signaux EMG bruts et permet aux utilisateurs de s'entraîner en faisant des exercices ou via des jeux vidéo. S'agissant d'une application Web au design réactif, elle est accessible à l'aide d'un navigateur Web installé sur un poste de travail de bureau ou sur un appareil mobile tel qu'un smartphone ou une tablette. L'application MyoCoach v2.0 a été créée en utilisant les technologies suivantes : Développement back-end : Python Flask, SQLite, Socket-IO Développement front-end : TypeScript, React, Material-UI Développement de jeux : Godot Engine La carte d'environnement d'origine choisie pour héberger l'application est une Raspberry Pi 3 modèle B+ mais le processus d'installation reste identique aux versions ultérieures des cartes Raspberry Pi et peut probablement être adapté pour d'autres cartes de développement ou postes de travail de bureau fonctionnant sous un système d'exploitation GNU/Linux.


Configuration du système d'exploitation Téléchargez une image Raspberry Pi OS Lite disponible à l'adresse suivante depuis un poste de travail : https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit Décompressez l'archive téléchargée pour obtenir le fichier image (extension de fichier .img). Depuis un terminal, allez dans le répertoire où se trouve le fichier .img puis connectez une carte MicroSD sur le poste (16Go A1 minimum recommandé). La carte MicroSD doit être démontée si elle a été montée automatiquement. Lancez ensuite la commande suivante : Remarque : Remplacez 2021-05-07-raspios-buster-armhf-lite par le nom de fichier .img réel. ~ > sudo dd bs=1m if=2021-05-07-raspios-buster-armhf-lite.img of=/dev/rdisk2 Éjectez la carte MicroSD de la fente SD de la station de travail, puis insérez-la dans la fente MicroSD du Raspberry Pi. Connectez un écran, un clavier et un câble ethernet puis allumez la carte Raspberry Pi. Attendez que le système soit prêt. Une fois le système démarré, authentifiez-vous sur le terminal avec l'utilisateur "pi" (mot de passe : raspberry).

Accès SSH Sur le Raspberry Pi, activez l'accès ssh pour autoriser la connexion à distance à partir d'un autre poste de travail. Exécutez la commande suivante : pi@raspberrypi : ~ $ sudo raspi-config Sélectionnez l'option suivante sur l'interface utilisateur : 3 Options d'interface , P2 SSH puis sélectionnez Oui . Enfin, sélectionnez Terminer pour enregistrer la configuration et revenir à l'invite de commande. Clavier Il peut être nécessaire de configurer le type de clavier utilisé. Exécutez la commande suivante : pi@raspberrypi : ~ $ sudo raspi-config Sélectionnez l'option suivante sur l'interface utilisateur : 5 Options de localisation , Clavier L3 puis suivez les instructions pour configurer le clavier (par exemple : Logitech, Français-Français (ancien, alt.), La disposition par défaut du clavier, Pas de touche de composition) . Enfin, sélectionnez Terminer pour enregistrer la configuration et revenir à l'invite de commande. Mot de passe Pi Pour changer le mot de passe par défaut, exécutez la commande suivante : pi@raspberrypi : ~ $ mot de passe Tapez ensuite le mot de passe actuel, le nouveau mot de passe et enfin validez.

Installation des packages système Pour installer un logiciel à partir d'Internet, il est nécessaire de câbler le Raspberry Pi à un routeur à l'aide de l'interface Ethernet. Pour ce faire, branchez un câble RJ45 sur le port Ethernet de la carte et connectez-le à un routeur disposant d'une connexion à Internet. Avant d'installer de nouveaux composants, il peut être nécessaire d'obtenir la liste des packages à jour : pi@raspberrypi : ~ $ sudo apt mise à jour Ainsi que les packages installés par défaut : pi@raspberrypi : ~ mise à niveau $ sudo apt L'installation de MyoCoach nécessite plusieurs packages pour fonctionner correctement : Pip3, VirtualEnv, Flask, NodeJs, SQLite. Ajoutez d'abord le dépôt nodesource apt afin de pouvoir obtenir les packages nodejs : pi@raspberrypi : ~ $ curl -sL https://deb.nodesource.com/setup_16.x | coup de sudo - Installez ensuite les packages : pi@raspberrypi : ~ $ sudo apt install nodejs git python3-pip python3-flask sqlite3 virtualenv

Configuration de l'application Obtenir le code d'application Pour obtenir la dernière version du code source de l'application, maintenez la carte connectée à Internet via le port Ethernet et exécutez les commandes suivantes : pi@raspberrypi : ~ clone $ git https://github.com/orthopus/01-myocoach.git Récupérer les dépendances des applications Sur le Raspberry Pi, rendez-vous dans le répertoire de la webapp MyoCoach : pi@raspberrypi : ~ $ cd 01-myocoach/src/software/webapp/ Pour obtenir les packages Python, exécutez la commande suivante : pi@raspberrypi : ~ /01-myocoach/src/software/webapp $ sudo pip3 install -r requirements.txt Exécutez la commande suivante pour obtenir les dépendances nodejs : pi@raspberrypi : ~ /01-myocoach/src/software/webapp $ installation npm Variables d'environnement et compilation Créez une copie du fichier .env.example nommé .env : pi@raspberrypi : ~ /01-myocoach/src/software/webapp $ cp .env.example .env Vérifiez ensuite son contenu et adaptez-le si nécessaire à l'aide d'un éditeur de texte : pi@raspberrypi : ~ /01-myocoach/src/software/webapp $ nano .env .env NODE_ENV=production ENDPOINT=http://app.myocoach.lan Puis lancez la compilation Webpack avec la commande suivante : pi@raspberrypi : ~ /01-myocoach/src/software/webapp $ npx webpack --config webpack.prod.js

La mise en réseau Nom d'hôte Dans l'objectif de changer le nom d'hôte MyoCoach (actuellement raspberrypi), ouvrez l'interface des paramètres système avec les commandes suivantes : pi@raspberrypi : ~ $ sudo raspi-config Sur l'interface des paramètres système, sélectionnez 1 Options système , Nom d' hôte S4 puis OK . Tapez le nouveau nom "myocoach" . Sélectionnez Terminer pour enregistrer la configuration. Enfin, sélectionnez Oui pour redémarrer le système afin que les modifications prennent effet.

Le nom d'hôte du fichier hosts doit être actualisé pour enregistrer le nouveau nom d'hôte.