This is an old revision of the document!
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
- : 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
- Connectez le Kinect
- Capture les données via Kinect en utilisant l'outil de Poppy-Kine-S5 project 2015-2016
- 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
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
Conversion de quaternion à l'angle de moteur
La structure de json fichie dans le dossier mouvement_poppy
{ "positions": { "<time1>": { "<moteur1>": [angle,0], "<moteur2>": [angle,0] }, "<time2>": { "<moteur1>": [angle,0], "<moteur2>": [angle,0] } } }
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)