Differences

This shows you the differences between two versions of the page.

Link to this comparison view

tag:stage_d_ete_2017_poppyimitateskinect [2017/09/06 01:59]
s4poppy2017
tag:stage_d_ete_2017_poppyimitateskinect [2019/04/25 14:08]
Line 1: Line 1:
-{{tag>​Poppy Project poppy-kine Kinect}} 
-====== Poppy-Kine : Stage d'​été 2017 PoppyImitatesKinect ====== 
  
-===== Introduction ===== 
- 
-Les objectifs principaux est travail portera sur la conversion et l’imitation de mouvements humains capturés à l’aide d’une Kinect en mouvements robots joués par Poppy. ​ 
-\\ -   Conversion de l’orientation et la position des jointures en angles moteur de Poppy 
-\\ -      Simulation sur // Vrep // 
- 
----- 
-===== Comment l'​utiliser ===== 
-  - : Installation de // V-rep // 
-  - : Voir [[poppy-kine:​poppy-kine-2015-s5|Poppy-Kine : S5 project 2015-2016]] 
-  - : Capture les données via Kinect en utilisant l'​outil de Poppy-Kine-S5 project 2015-2016 
-  - : faire la conversion 
-  - : Simulation sur // V-rep // 
- 
- 
-==== Première étape: obtenir les données de quaternion==== 
-{{:​tag:​ic584403.png?​200|}} ​ 
-  * Connectez le Kinect 
-  * Capture les données via Kinect en utilisant l'​outil de Poppy-Kine-S5 project 2015-2016 
-<​hidden>​ 
-\\ Cliquez **save.bat** 
-\\ Entrez le //nom d'​exercice//​ dans le shell. 
-\\ Une nouvelle fenêtre, avec la vidéo capturé par le Kinect caméra et le squelette de la personne. 
-\\ Les mouvements sont séparés par des pressions sur // espace //. 
-\\  
-\\  Par exemple: 
-  * //espace// : Commence la capture du premier mouvement, 
-  * Faire le mouvement... 
-  * //espace// : Arrête la capture du premier mouvement, 
-  * //espace// : Commence la capture du second mouvement, 
-  * etc 
-Les mouvements sont sauvegardés dans **⁄exercices⁄<​name_of_the_exercise>/​** dossier, ​ <​name_of_the_exercise_x>​.txt fichier. 
-\\ x commence à zéro (Premier mouvement. 
-\\ Pour finir de capturer les mouvements, fermez la fenêtre. 
-</​hidden>​ 
-  * Enregistrez le fichier sur le dossier // mouvement_kinect // et le mettez json fichier. 
-==== Deuxième étape: obtenir la position en angles moteur et la simuler==== 
-Le code est sur git https://​redmine.telecom-bretagne.eu/​projects/​poppyimitateskinect 
-  -   : ouvrir le // V-rep // 
-  -   : lancer la prgrammation // Main.py // et entrer le // nom de fichier //  de quaternion dans le terminal. 
-Entrer // python ​ Main.py ​ nom_fichier // 
-\\ Par exemple : 
-\\ // python ​ Main.py ​ 20170825_0 // 
-\\ 
-\\ L'​éntré : Le fichier de quaternion capturé par Kinect doit être enregistré dans le dossier // mouvement_kinect //. 
-\\ Lorsque la programmation est lancé, nous obtenons deux fichiers json: 
-\\ 
-\\ Le dossier // mouvement_filtre // enregitre les données de quaternion filtrés par un filtre de Butterworth. 
-\\ Le dossier // mouvement_poppy // enregitre les données de angle de moteur de Poppy. 
- 
-\\ __**NB : **__  ​ 
-  * Lorsque la programe est lancé, la figure de la réponse du filtre et les figures des résultats sont affichées. 
-  * Il faut fermer les fenêtres de figure pour que la progrme avance. 
-  * La Simulation est dans le logiciel // V-rep //. 
-==== Fonction de Code ==== 
-\\ // butterworth.py et filtre.py // est le filtre de butterworth. 
-\\ Les fonctions de // Main.py // : 
-\\ // creatPoppyData(ex) : // Conversion de quaternion à l'​angle. // ex // est le nom d'​exercice. ​ 
-\\ // runSimu(PoppyData) : // Exécuter la simulation sur V-rep. // PoppyData // est les données des angles qui sont enregistré sur le dossier // mouvement_poppy // .  
- 
----- 
-===== Comment avancer ===== 
-{{:​tag:​conversion-quaternion-agnle.png?​650|}} 
-==== filtrer les quaternion capturé par le Kinect ==== 
-Nous utilisons le filtre // Butterworth // pour filtrer les quaternions. 
-\\ // Filtre passe-bas 
-\\ Ordre : 5 
-\\ fs : 30Hz 
-\\ cutoff : 0.2 // 
-\\ {{:​tag:​freq_reponse.png?​500|}} 
-==== Conversion de quaternion à l'​angle de moteur ==== 
-La structure de json fichie dans le dossier // mouvement_poppy // 
-<​code>​ 
-{ 
-"​positions":​ { "<​time1>":​ { "<​moteur1>":​ [angle,0], "<​moteur2>":​ [angle,0] }, "<​time2>":​ { "<​moteur1>":​ [angle,0], "<​moteur2>":​ [angle,0] } } 
-} 
-</​code>​ 
-==== filtrer les angles ==== 
-\\ Parceque il y a les points discontinu sur les angles. Nous ajoutons un filtre pour assurer que les angles sont lissés. 
-\\ Le filtre est la même que le dernier. C'est le résultat(angles filtrés) 
-\\ {{:​tag:​angle_filtre.png?​500|}} ​ 
-\\  ​ 
- 
-===== Résultat et Amélioration ===== 
-\\ {{:​tag:​kinect.png?​600|}} 
-\\ Le résultat est pas mal pour les postures humaines statiques. 
-\\ Pour les postures humaines dynamique les angles obtenu ne sont par très précis. 
-\\ Nous n'​avons pas détecter la faisabilité de mouvment. Il y a les cas où le poppy ne peut pas faire le mouvment humaines. 
-\\ De plus, c'est mieux d'​ajouter la gestion de l'​équilibre 
  • tag/stage_d_ete_2017_poppyimitateskinect.txt
  • Last modified: 2019/04/25 14:08
  • (external edit)