************************ Système de reconstruction cinématique corps entier : fusion et exploitation de données issues de MEMS
|
|
|
- Simone Sénéchal
- il y a 10 ans
- Total affichages :
Transcription
1 pour l obtention du Grade de DOCTEUR DE L UNIVERSITE DE POITIERS (Faculté des Sciences Fondamentales et Appliquées) (Diplôme National - Arrêté du 7 août 2006) Ecole Doctorale : Science et Ingénierie en Matériaux Mécanique Energétique et Aéronautique (N 522) Secteur de Recherche : Traitement du signal et des images Présentée par : Pierre Grenet Institut P Poitiers CEA-Leti Grenoble Movea ************************ Système de reconstruction cinématique corps entier : fusion et exploitation de données issues de MEMS ************************ Directeur de Thèse : Patrick Lacouture (Institut P, Poitiers) ************************ Soutenue le 6 juin 2011 devant la Commission d Examen ************************ Encadré par Viviane Cattin (CEA-Leti, Grenoble) Yanis Caritu et Bruno Flament (Movea, Grenoble) Cyril Breque (Institut P, Poitiers) JURY Philippe Gorce Kamiar Aminian Noureddine Manamanni Franck Multon Pierre-Brice Wieber Université du Sud Toulon-Var Ecole Polytechnique Fédérale de Lausanne Université de Reims Champagne Ardenne Université de Rennes 2 INRIA Grenoble Rhône-Alpes Président Rapporteur Rapporteur Examinateur Examinateur Résumé La démocratisation des MEMS a permis l essor des centrales d attitude : groupement de capteurs permettant d évaluer son orientation par rapport au repère terrestre. Il existe plusieurs types de capteurs utilisés dans de telles centrales : les accéléromètres, les magnétomètres et les gyromètres. Seule la combinaison accéléromètres - magnétomètres gyromètres permet l estimation de l orientation cinématique de façon satisfaisante, sans connaitre d a priori sur le mouvement, c'est-à-dire l estimation de l orientation en présence d accélération inconnue. Le sujet de la thèse est justement, dans le cadre de la captation de mouvement corps entier, d ajouter des connaissances a priori afin de limiter le nombre de gyromètres, voire de les supprimer totalement. Ces connaissances sont l information que les capteurs sont fixés sur un squelette et que leurs mouvements relatifs ne peuvent être que des compositions de rotations. Pour tester l efficience de cette méthode, on l applique d abord sur un pendule simple à un degré de liberté, puis sur un pendule à trois degrés de liberté, ensuite sur des groupes de segments (épaule bras avant-bras par exemple) et sur le corps entier. Ce rapport de thèse développera les aspects théoriques ainsi que les résultats obtenus sur les différentes méthodologies de résolution. CONFIDENTIEL - NE PAS DIFFUSER
2
3 Système de reconstruction cinématique corps entiers fusion et exploitation de données issues de MEMS CONFIDENTIEL - NE PAS DIFFUSER 3/230
4 Glossaire Glossaire Physique G : le champ G est le champ gravitationnel terrestre. Il est vertical orienté vers le bas. Sa valeur en module est de 9.81 m.s -2. Dans la suite, il servira d unité de mesure pour les accélérations et sera donc normalisé à 1 (1 G). B : le champ B est le champ magnétique terrestre (voir pour les généralités sur le champ magnétique terrestre). DDL (Degré De Liberté) : le nombre de degrés de liberté d une liaison en mécanique est le nombre de mouvements relatifs entre une pièce et le support par rapport auquel on exprime le mouvement. Le nombre maximum est de six (trois translations plus trois rotations). Informatique Librairie : une librairie est une liste de fonctions regroupées, en français on parle plutôt de CONFIDENTIEL - NE PAS DIFFUSER 4/230
5 Glossaire bibliothèque de fonctions. API (Application Programming Interface) : une API est une bibliothèque de fonctions compilée sous la forme d un fichier utilisable dans un langage de programmation. MDK (Motion Developpment Kit) : le MDK est le nom de l API commercialisée par la société Movea. DLL (Dynamic-link library) : une DLL est une librairie compilée sous Windows. PCB (Printed Circuit Board) : un PCB est synonyme de circuit imprimé, en électronique. CSV (Comma-Separated Values) : le CSV est un format informatique ouvert représentant des données tabulaires sous forme de «valeurs séparées par des virgules». Institut, entreprise CEA (Commissariat à l Energie Atomique et aux Energies Alternatives) : le CEA est historiquement l institut français de recherche dans le domaine du nucléaire. Ses domaines de compétence ont été au fil des années agrandis pour aller de la robotique aux sciences du vivant. LETI (Laboratoire d Electronique et des Technologies de l Information) : le LETI est un institut du CEA travaillant dans le domaine général de l électronique et de l informatique. Il est essentiellement basé à Grenoble. LIST (Laboratoire d Intégration des Systèmes et des Technologies) : le LIST est un institut du CEA travaillant principalement sur la robotique et l informatique. Il est basé sur les centres CEA de Saclay et Fontenay aux Roses. CONFIDENTIEL - NE PAS DIFFUSER 5/230
6 Glossaire LMS (Laboratoire de Mécanique du Solide) : le LMS est un ancien laboratoire mixte CNRS/Université de Poitiers. Depuis le 1 janvier 2010, il a disparu et ses équipes font partie de l institut P. Movea : Movea est une start-up issue du CEA-LETI en Elle commercialise des solutions inertielles de captation de mouvement. Xsens : Xsens est une société commercialisant des solutions de captation de mouvement inertiel mono-point et multipoint pour la captation corps entier. A.R.T. : A.R.T est une compagnie allemande de captation de mouvement. Elle commercialise une solution de captation mouvement optique. GIPSA-Lab : GIPSA-Lab est une unité mixte de recherche (UMR 5216) du CNRS, de Grenoble INP, de l'université Joseph Fourier et de l'université Stendhal. Ses thèmes de recherche sont l automatique, le traitement des images, du signal, de la parole et la cognition. Nintendo TM : Nintendo est une marque de jeux vidéo et de consoles de jeux Microsoft TM : Microsoft est un éditeur de logiciel très connu. Il a mis le pied dans la captation de mouvement avec le périphérique Kinect Praxim TM : Praxim est une entreprise spécialisée dans la chirurgie assistée par ordinateur Intersense TM : Intersense est une société qui commercialise des solutions de captation de mouvement Mathworks : Mathwork est un éditeur de logiciel scientifique. Polhemus TM : Polhemus est une des sociétés pionnières de captation de mouvement. CONFIDENTIEL - NE PAS DIFFUSER 6/230
7 Glossaire Ascension TM : Ascension est une des sociétés pionnières de captation de mouvement. Animazoo TM : Animazoo commercialise des solutions de captation de mouvement corps entier Produits MEMS (MicroElectroMechanical Systems) : un MEMS est un microsystème comprenant un ou plusieurs éléments mécaniques, utilisant l'électricité comme source d'énergie, en vue de réaliser une fonction de capteur et/ou d'actionneur avec au moins une structure présentant des dimensions micrométriques. LED (Light-Emitting Diode) : une LED est un composant électronique capable d émettre de la lumière lorsqu il est parcouru par un courant électrique. Centrale d attitude : une centrale d attitude est un regroupement de capteurs capable d estimer son orientation. MotionPod TM : la MotionPod (ou MPod) est la centrale d attitude commercialisée par Movea. Il existe plusieurs versions. StarWatch : la StarWatch (nom non officiel) est le prototype de la MotionPod développé au CEA-LETI. MTx TM : le MTx est une centrale d attitude développée par la société Xsens. Wii TM : La Wii est une console de jeu vidéo de Nintendo TM Kinect TM : Kinect est un périphérique destiné à la Xbox TM de Microsoft TM CONFIDENTIEL - NE PAS DIFFUSER 7/230
8 Glossaire Coda Motion TM : le Coda Motion est une solution de captation de mouvement à marqueurs infrarouges actifs Vicon TM : Vicon est une des plus célèbres solutions de captation de mouvement optique Nexus TM : Nexus est un logiciel d utilisation du système Vicon. A.R.T. TM : ART est une solution de captation de mouvement optique. Aurora TM : Aurora est une solution de captation de mouvement à champ magnétique artificiel développée par de NDI Calipso TM : Calipso est une solution de captation de mouvement à champ magnétique artificiel Sixense TM : Sixense est un périphérique de jeu vidéo fonctionnant avec des champs magnétiques artificiels Moven TM : Moven est une solution de captation de mouvement inertielle corps entier développé par Xsens Xbus Masters TM : Le Xbus Masters est un périphérique d acquisition des MTx Scilab TM : Scilab est un logiciel libre de calcul scientifique développé par l INRIA Simulink TM : Simulink est un logiciel de simulation numérique développé par Mathwork SimMeca TM : SimMeca est une toolbox de Simulink pour la mécanique SimScape TM : SimScape est une toolbox de Simulink pour la physique CONFIDENTIEL - NE PAS DIFFUSER 8/230
9 Glossaire Matlab TM : Matlab est un logiciel de calcul scientifique édité par Mathwork IGS-180 TM : l IGS-180 est une solution corps entier commercialisé par Animazoo. CONFIDENTIEL - NE PAS DIFFUSER 9/230
10 Sommaire CONFIDENTIEL - NE PAS DIFFUSER 10/230
11 Sommaire Sommaire Glossaire... 4 Physique... 4 Informatique... 4 Institut, entreprise... 5 Produits... 7 Sommaire Table des illustrations Figures Tableau Introduction Chapitre Etat de l art Systèmes de captation de mouvement à une référence fixe Les systèmes Optiques Principe Avantage et inconvénients Principaux fabricants CONFIDENTIEL - NE PAS DIFFUSER 11/230
12 Sommaire Coda Motion TM Vicon TM A.R.T. TM Les systèmes à mesure de distance Systèmes de captation de mouvement embarqué Exosquelettes Système inertiel et magnétique Autres systèmes Choix du type de systèmes Rappel sur les critères industriels Récapitulatifs des avantages et inconvénients des différents systèmes. 34 Conclusion Enjeux de la captation inertielle et magnétique de mouvement cinématique Avant-propos : Hypothèse pseudo-statique Algorithme d estimation dans l hypothèse pseudo-statique Optimisation QUEST - TRIAD UAM Solutions pour la cinématique Approche locale cinématique: 3A3M3G Moven TM Animazoo TM Multipoint ou méthode globale Accélération d un point connu HuMaNS Conclusion Chapitre 2 Capteurs Magnétomètre Champ magnétique terrestre ou champ de Gauss [FONADE 03] Principaux magnétomètres du marché (issu de l état de l art) CONFIDENTIEL - NE PAS DIFFUSER 12/230
13 Sommaire Modèle de mesure Perturbation magnétique Calibration capteur (ou calibration électronique) Prétraitement capteur : normalisation et mise à l échelle Accéléromètre Principe Principaux accéléromètres du marché (issu de l état de l art) Modèle de mesure Calibration capteurs (ou calibration électronique) Prétraitement capteur : normalisation et mise à l échelle Gyromètre Principe Principaux gyromètres du marché (issu de l état de l art) Modèle de mesure Biais Calibration capteur (ou calibration électronique) Centrale d attitude Type de centrale Centrales du commerce Centrales utilisées pendant la thèse MotionPod TM Hardware Logiciels associés Xsens Calibration conjointe Conclusion Chapitre 3 Modélisation du corps humain Description du modèle poly-articulé Description corps humain en tant que chaîne articulée Matrice de transformation CONFIDENTIEL - NE PAS DIFFUSER 13/230
14 Sommaire Chaine articulée avec référence relative Expression des matrices de transformation Formulation finale Chaine articulée avec référence terrestre Expression des matrices de transformation Formulation finale Conclusion Point fixe Choix du paramétrage Rotation Matrice Quaternion Triplet d angles Conclusion Vecteur de mesure : Modèle direct Simulations des mesures Bruits de mesure Bruits classiques Bruits additifs gaussiens Biais dû à la température Bruits de peaux Schéma du modèle de mesure Conclusion Chapitre 4 Validation du modèle direct Critère d évaluation du modèle direct Validation du modèle à un segment sur un pendule à 1 et 3 DDL Description de l expérience Méthodes optiques mise en œuvre Calibration géométrique avec des marqueurs optiques Angles et dérivées CONFIDENTIEL - NE PAS DIFFUSER 14/230
15 Sommaire Résultat sur un mouvement 1 DDL Résultat sur un mouvement guidé 3 DDL Validation du modèle direct à deux segments avec Simulink TM Présentation du modèle Simulink TM Résultats Simulink TM Conclusion Chapitre 5 Résolution hybride Kalman Résolution globale Prise en compte des dérivées Description de l algorithme Filtre de Kalman classique ou simple Choix du type de filtre de Kalman : EKF ou UKF Fonction d évolution ou prédiction Fonction de mesure Résultats avec le filtre de Kalman simple Pendule : comparaison avec les estimations optiques Mouvement 1 DDL Mouvement à 3 DDL Limites et sensibilités des algorithmes Erreur d orientation des capteurs Erreur de positionnement des capteurs Etude de la fréquence d échantillonnage Conclusion sur les limites Résultat en multipoint Modèle hybride Détection statique ou pseudo statique Prédiction de l accélération d ensemble Réglage des covariances Réglage de base Réglage dynamique CONFIDENTIEL - NE PAS DIFFUSER 15/230
16 Sommaire Normalisation des états Conclusion Chapitre 6 Validation modèle inverse Evaluation du système de reconstruction Rendu visuel Critères chiffrés Tests corps entier en simulation Base de données de gestes : exemple du format BVH Description succincte de la base de geste Systèmes testés Configuration AM Configuration AM+xG : étude du nombre de gyromètre Configuration AM+6G Influence de la durée Apport des différents éléments de l algorithme Configuration AMG Tests temps réel et démonstrateur Calibration géométrique Première étape : Orientation Deuxième étape : longueurs de segments et des positions des capteurs189 Fonctionnement démonstrateur Conclusion Conclusion et Perspectives Bibliographie Communications soumises et brevets Conférence et colloque Brevet déposé Brevet en cours Annexes Chapitre Mathématique et automatique CONFIDENTIEL - NE PAS DIFFUSER 16/230
17 Sommaire 1.1.Représentation d état Caractérisation d un problème inverse sous forme de représentation d état Problème bien posé Observabilité Observabilité globale et locale Locale Détectabilité Optimisation Minimisation Kalman EKF UKF Factorisation Chapitre 2 Format BVH CONFIDENTIEL - NE PAS DIFFUSER 17/230
18 Table des illustrations CONFIDENTIEL - NE PAS DIFFUSER 18/230
19 Table des illustrations Table des illustrations Figures Fig. 1 : Erreur angulaire en fonction de la norme de l accélération parasite non corrigeable Fig. 2 : Schéma explicatif de la partie corrigeable de l'accélération propre Fig. 3 : Schéma explicatif de l'algorithme UAM Fig. 4: Coupe transversale de la Terre [FONADE 03] Fig. 5 : Schéma du champ magnétique [FONADE 03] Fig. 6 : Schéma de principe d'un accéléromètre ([JAGER 07]) Fig. 7 : Schéma et photos de différents types d'accéléromètres [DELAPIERRE 09] Fig. 8 : Evolution du bruit des accéléromètres ([DELAPIERRE 09]) Fig. 9 : Schéma de principe du gyromètre Fig. 10 : Evolution du marché et du prix des accéléromètres MEMS Fig. 11 : Evolution du marché et du prix des gyromètres MEMS Fig. 12 : Schéma de la calibration conjointe Fig. 13 : Description des repères liés aux segments Fig. 14 : Différence d'erreur de linéarisation sur le magnétomètre CONFIDENTIEL - NE PAS DIFFUSER 19/230
20 Table des illustrations Fig. 15 : Différence de l'erreur de linéarisation sur l accéléromètre Fig. 16 : Schéma de description des angles de Cardan Fig. 17 : Schéma fonctionnel logiciel Fig. 18 : Schéma de perturbation des mesures Fig. 19 : Gros plan sur le capteur (MotionPod TM ) Fig. 20 : Photo du pendule étudié Fig. 21 : Schéma explicatif du pendule Fig. 22 : Mouvement du centre du capteur (MotionPod TM ) Fig. 23: Mesure accélérométrique réelle et simulée Fig. 24: Mesure accélérométrique réelle et simulée (zoom) Fig. 25: Mesure magnétométrique réelle et simulée Fig. 26: Mesure magnétométrique réelle et simulée (zoom) Fig. 27 : Mouvement du capteur (MotionPod TM ) Fig. 28 : Mesure accélérométrique réelle et simulée Fig. 29 : Mesure magnétométrique réelle et simulée Fig. 30 : Transformée de Fourrier de la norme de l'accélération mesurée Fig. 31 : Transformée de Fourrier de la norme de l'accélération simulée Fig. 32 : Schéma de l'accéléromètre sous Simulink TM Fig. 33 : Schéma du magnétomètre sous Simulink TM Fig. 34 : Schéma du gyromètre sous Simulink TM Fig. 35 : Schéma centrale d'attitude sous Simulink TM Fig. 36 : Schéma pendule double sous Simulink TM Fig. 37 : Schéma du moteur angulaire Fig. 38 : Schéma explicatif de la validation Simulink TM Fig. 39 : Différence entre mesures Simulink TM et Matlab TM sur le premier segment Fig. 40 : Différence et comparaison entre Simulink TM et Matlab TM sur le deuxième segment Fig. 41 : Erreur angulaire d'estimation Fig. 42 : Comparaison des angles Vicon TM et ceux reconstruits Fig. 43 : Comparaison des angles Vicon TM et ceux reconstruits (zoom) Fig. 44 : Distance entre les points reconstruits par Vicon TM et ceux par notre algorithme CONFIDENTIEL - NE PAS DIFFUSER 20/230
21 Table des illustrations Fig. 45 : Erreur angulaire d'estimation Fig. 46 : Angles estimés par Vicon TM et par notre algorithme Fig. 47 : Distance entre les points reconstruits par Vicon TM et par notre algorithme Fig. 48 : Angles estimés par Vicon TM Fig. 49 : Erreur angulaire moyenne de reconstruction Fig. 50 : Erreur angulaire moyenne selon la norme de l erreur de position Fig. 51 : Erreur angulaire moyenne en fonction de la fréquence d échantillonnage Fig. 52 : Schéma fonctionnel de l'algorithme hybride (Kalman statique) Fig. 53 : Erreur de prédiction sur 10 échantillons Fig. 54 : Les deux versions du BVH Player Fig. 55 : Caractéristique de la base de geste Fig. 56 : Moyenne par segment de l'erreur en distance Fig. 57 : Critère moyen et marge à 95 % en fonction de la configuration Fig. 58 : Résultat de l'algorithme pour les fichiers de la base BVH Fig. 59 : Critère de distance par segment et par échantillons Fig. 60 : Profil d'erreur de reconstruction de deux exemples longs : un stable, un divergeant Fig. 61 : Schéma des postures de la calibration d'orientation Fig. 62 : Fonctionnement logiciel du démonstrateur ([MANSOUR 11]) Fig. 63 : Interface graphique SkelViewer Fig. 64 : Copie d'écran du film de démonstration Tableau Tableau 1 : Configuration de captation de mouvement inertielle et magnétique Tableau 2: Caractéristique de la combinaison Moven TM Tableau 3 : Caractéristique du système IGS-180 TM de Animazoo TM Tableau 4 : Gamme de mesure des magnétomètres ([JAGER 07]) Tableau 5 : caractéristiques des accéléromètres par utilisation ([DELAPIERRE 09]) Tableau 6 : Coût, consommation et possibilités de métrologie CONFIDENTIEL - NE PAS DIFFUSER 21/230
22 Table des illustrations Tableau 7 : Etat de l'art des centrales d'attitude du commerce (source Movea) Tableau 8 : Description des segments du squelette BVH Tableau 9 : Caractéristique de la base de geste Tableau 10 : Statistique sur la base d'exemple BVH Tableau 11 : Performance de l'algorithme en fonction des gyromètres Tableau 12 : Résultat de l'algorithme en fonction des méthodes activées Tableau 13 : Comparaison entre algorithme AMG multipoint et AGM monopoint CONFIDENTIEL - NE PAS DIFFUSER 22/230
23 Introduction Introduction La captation de mouvement est une technique en plein essor. Son emploi se généralise à partir de ses premiers domaines d utilisation que sont la médecine et le cinéma d animation. Il existe sur internet de multiples bases de données de gestes, dont nous verrons un exemple de format dans ce mémoire. La santé est le premier domaine où la captation de mouvement a été utilisée afin d étudier les mouvements du corps humain. Le principal domaine d utilisation est la biomécanique à travers notamment l orthopédie, la traumatologie et la rééducation. La société RM ingénierie, par exemple, commercialise une solution de rééducation fonctionnelle à partir des capteurs fournis par Movea : ce sont les capteurs utilisés dans le cadre de la thèse. Depuis quelques temps, les sportifs se sont emparés de la technologie afin d avoir de nouveaux moyens d évaluer leur technique individuelle, de fonctionnaliser leur préparation et leur entrainement. Cet objectif bénéficie des avancées technologiques réalisées dans le domaine de la santé, et nécessite l application de méthodes semblables mais pour des personnes saines en recherche de performance. On peut par exemple citer les travaux de [BRODIE 09]. Le second domaine d utilisation est le cinéma et l animation plus généralement. Dans ce cas, le but est de rendre plus réaliste les mouvements des personnages virtuels en leur assignant de vrais mouvements, d abord joués par des acteurs puis transposés sur des CONFIDENTIEL - NE PAS DIFFUSER 23/230
24 Introduction avatars numériques. Les jeux-vidéos se sont initialement intéressés à la captation de mouvement avec le même objectif que le cinéma, c'est-à-dire comme outil de conception de gestes réalistes. Mais depuis l automne 2006 et l arrivée de la Wii TM de Nintendo TM, son utilisation s est étendue et la captation de mouvement est devenue une nouvelle interface utilisateur au même titre que la manette, le clavier ou la souris. On peut noter qu en termes d interface utilisateur, les jeux-vidéos avaient été précédés par les pointeurs 3D, c'est-à-dire permettant de diriger la souris en pointant «à main levée» avec celle-ci. Contrairement aux applications de captation de mouvement pour le cinéma ou de captation de trajectoires pour les scénarios de jeu vidéo l utilisation du mouvement humain est devenue temps réel, forçant une certaine optimisation des algorithmes de reconstruction de mouvement d un squelette et favorisant les faibles volumes de données capteurs. On voit depuis l arrivée de la console Kinect TM de Microsoft TM, l intérêt de ne plus limiter la captation au mouvement de la seule main, mais plutôt d élargir les possibilités d interaction homme machine à la captation des mouvements de tout le corps. Enfin la captation de mouvement reste encore essentiellement un thème de recherche très riche dans lequel de nombreux sujets sont abordés. Il est utilisé comme un outil dans nombreux de domaine où le mouvement est étudié pas nécessairement comme une fin en soi mais comme une information globale permettant d étudier les caractéristiques de celui qui le fait : on peut citer en exemple les nombreux travaux sur le bio-logging [FOURATI 10]. L objectif de cette thèse est l étude et la réalisation d un système de captation de mouvement dynamique corps entier, très peu onéreux, composé de capteurs MEMS, soit des accéléromètres, des magnétomètres et des gyromètres. Elle s inscrit dans la thématique captation de mouvement du CEA Grenoble (par exemple [BONNET 07]), qui s est concrétisée en 2007 par la création d une start-up : Movea. Dans cette thématique, le CEA s est intéressé dès 2004 à la captation du corps humain (ou d une partie du corps) à travers notamment les brevets [CARITU 06], [JAMMES 07] et les études [JAMMES 06], [HELIOT 05], en collaboration avec l INRIA pour les trois derniers exemples. De par CONFIDENTIEL - NE PAS DIFFUSER 24/230
25 Introduction l histoire du laboratoire (expertise en magnétisme) et de par le coût et la consommation des composants, il a d abord été fait le choix de limiter au maximum l utilisation des gyromètres. Nous verrons cependant que pour obtenir une solution minimale suffisante nous nous serons amenés à utiliser un certain nombre de gyromètres, mais sur un nombre restreint de parties du corps. Un sujet central de cette thèse est l exploitation des mesures des accéléromètres : nous verrons dans la partie qui leur est consacrée que ces capteurs sont délicats à utiliser dans le cadre d une captation dynamique (ou plutôt cinématique du point de vue mécanique) car ils fournissent une mesure représentative de la différence entre l accélération de gravité (et donc l information d orientation par rapport à la verticale) et l accélération due au mouvement, encore appelée accélération propre. Le principal défi de cette thèse est de séparer ces deux informations pour estimer le mouvement du corps lors de gestes dynamiques, en particulier pour des applications médicales et d interface utilisateur bas coût. Ce mémoire s articule en six chapitres. Les éléments plus mathématiques (représentation d état, optimisation, filtre de Kalman) sont donnés en annexe. Le premier chapitre est consacré à l état de l art sur la captation de mouvement et principalement sur la captation de mouvement corps entier. Nous présentons un aperçu des systèmes nécessitant une référence fixe, comme les divers systèmes optiques qui servent aujourd hui d appareils de référence. Nous nous arrêtons plus longuement sur le système que nous avons l occasion d utiliser (Vicon TM ). Cet état de l art concerne aussi les algorithmes dédiés à la reconstruction de mouvements statiques et dynamiques connus dans la littérature. Le second chapitre traite des capteurs utilisés en captation de mouvement inertielle et magnétique, à savoir les accéléromètres, les magnétomètres et les gyromètres. Il est aussi question de leur association sous forme de centrale d attitude. Enfin nous voyons aussi quelles sont les différentes étapes nécessaires à leur utilisation pratique. Le troisième chapitre traite de la modélisation du corps humain sous forme de chaîne articulée. Il répond à la question «comment modélisons-nous mathématiquement le corps humain?». Nous présentons en particulier deux formulations différentes du problème, et CONFIDENTIEL - NE PAS DIFFUSER 25/230
26 Introduction décrivons le formalisme choisi pour la modélisation. De plus, deux hypothèses sont considérées pour le mouvement : avec ou sans point fixe. Le modèle direct, permettant de calculer les mesures des capteurs d une centrale inertielle grâce aux paramètres du mouvement, est présenté pour chaque modalité, ainsi que les différents bruits associés. Le quatrième chapitre propose une validation expérimentale du modèle décrit dans le troisième chapitre. Nous décrivons une expérience mené au à l institut P de Poitiers à l aide d une MotionPod TM et d un système Vicon TM qui a permis de valider le modèle pour un pendule simple. Nous exposons aussi une validation multi-segment grâce à l outil Simulink TM. Le cinquième chapitre revient sur les méthodes mises en œuvre afin d estimer les postures du corps humain. Nous proposons une approche basée sur l utilisation de filtres de Kalman en détaillant spécifiquement les fonctions d évolution et de mesure, la prise en compte de la dynamique du mouvement, ainsi que les différents réglages à mettre en œuvre. Nous montrons qu un simple filtre de Kalman n est en l état pas suffisant et nous proposons une solution que nous avons appelée Résolution hybride Kalman. Enfin le dernier chapitre présente les expérimentations significatives menées dans le cadre de la thèse pour valider notre outil de résolution. Nous discutons de la pertinence d ajouter ou non des gyromètres et où les placer le cas échéant. Nous présentons aussi dans ce chapitre le démonstrateur réalisé et proposons une solution à l un des problèmes pratiques lors de séance d acquisition : la calibration géométrique du sujet. CONFIDENTIEL - NE PAS DIFFUSER 26/230
27 Chapitre 1 : Etat de l art Chapitre 1 Etat de l art Dans ce chapitre, nous procédons à un état de l art de la captation de mouvement et plus spécifiquement à la captation des mouvements du corps humain. C est en effet un vaste domaine, qui donne lieu à de nombreuses publications. Dans une première partie, les systèmes les plus classiques (différents de la captation inertielle et magnétique) sont évoqués, leur dénominateur commun étant la présence d une référence fixe. Dans la seconde, nous traiterons de la captation de mouvement embarquée. Cette dernière a pour principal avantage de ne pas limiter le champ de captation. Les deux types de tels systèmes sont les exosquelettes et la captation inertielle et magnétique. Enfin dans la dernière partie, nous ferons une revue des algorithmes classiques utilisés dans le domaine de la captation inertielle et magnétique. CONFIDENTIEL - NE PAS DIFFUSER 27/230
28 Chapitre 1 : Etat de l art 1.1. Systèmes de captation de mouvement à une référence fixe Un mouvement est toujours défini par rapport à un repère, en particulier par rapport au repère fixe. La voie naturelle utilisée par de nombreuses techniques de mesure de mouvement est donc de disposer d un équipement fixe. Les systèmes à référence fixe sont les systèmes avec une instrumentation liée au repère terrestre. Cela limite nécessairement le champ de captation par rapport au système inertiel. Dans les systèmes à référence fixe, nous trouvons de manière non exhaustive les systèmes optiques, les systèmes à codage spatial, les systèmes à mesure de distance enfin les systèmes plus spécifiques comme les exosquelettes Les systèmes Optiques Principe Les capteurs optiques sont comme leur nom l indique des capteurs qui fonctionnent grâce à des caméras (dans une gamme de fréquence du visible ou en infrarouge) qui suivent des points caractéristiques du mobile ou, de manière plus efficace, des marqueurs optiques. Ces derniers peuvent être de plusieurs types : soit passifs, c'est-à-dire qu ils fonctionnent comme une source secondaire de lumière (par réflexion), soit actifs, c'est-à-dire que ce sont des sources primaires de lumière. Naturellement pour obtenir la position d un point selon les trois dimensions, il faut nécessairement trois caméras afin de pouvoir appliquer une triangulation des données (voire au minimum deux caméras, car connaissant a priori la direction visée par les caméras on peut résoudre les équations avec seulement deux points de vue). Nous développons dans la suite leur fonctionnement car nous avons été amenés à utiliser un CONFIDENTIEL - NE PAS DIFFUSER 28/230
29 Chapitre 1 : Etat de l art tel système comme système de mesure de référence dans le cadre de tests réalisés à l institut P de Poitiers. Le principe est simple : chaque caméra capte le signal de chaque marqueur selon un angle défini par les caractéristiques du système optique. En sachant où sont placées les caméras, il est possible d évaluer le point d intersection des droites reliant les caméras au marqueur dans le repère des caméras. Il est donc nécessaire de connaitre la position relative des caméras ainsi que leur orientation : pour ce faire, il existe plusieurs solutions. La première consiste à fixer les caméras les unes aux autres de façon rigide, ajustée et définitive (système Coda Motion TM ). On connait alors leur position relative une fois pour toute. L avantage principal est l absence de calibration lorsqu on déplace le système. Les inconvénients majeurs sont la réduction du champ des caméras et l occlusion des marqueurs : en effet dans le système que possède le CEA il n y a qu une bi-caméra et donc les caméras étant liées physiquement, elles ne peuvent pas entourer correctement la scène et leur nombre est fixé une fois pour toute (on peut tout de même rajouter d autre bi-caméra mais dans ce cas une calibration est nécessaire). La seconde solution consiste à utiliser une calibration des caméras (système Vicon TM ). L idée est de filmer simultanément avec toutes les caméras un objet muni de marqueurs ayant une configuration connue très précisément, et d optimiser la position et l orientation des caméras pour reconstruire correctement le dit objet, plus spécifiquement la configuration de ses marqueurs. Enfin le dernier problème non encore évoqué est la reconnaissance des marqueurs. Là encore il existe au moins deux solutions : soit les marqueurs sont identifiés (par une spécificité physique comme la longueur, ou par une trame spéciale dans le cas de marqueurs actifs), soit les marqueurs sont identiques et ils sont suivis à partir d une position connue et labélisée. Cette dernière solution fournit des informations plus complexes à reconstruire, mais la solution est plus simple à mettre en œuvre expérimentalement et permet d utiliser un plus grand nombre de marqueurs sans problèmes liés à la façon dont ils sont différentiés. La complexité peut être due à des interversions dans les trajectoires de marqueurs «se croisant de trop près» ou des marqueurs non reconnus après une période d occlusion. Lors d une séance de captation de mouvement optique, l utilisateur est ainsi CONFIDENTIEL - NE PAS DIFFUSER 29/230
30 Chapitre 1 : Etat de l art confronté à de longs et fastidieux post-traitements qui peuvent durer plus de dix fois le temps de captation Avantage et inconvénients Le principal avantage des systèmes optiques est leur précision est supérieure au millimètre ([WINDOLF 08]). Cette précision permet la robustesse des algorithmes se basant sur cette estimation dans l analyse du mouvement humain. Par contre, ses inconvénients dans le cadre de la captation de mouvement corps entier sont nombreux : tout d abord c est un système réservé aux professionnels de par son prix et sa complexité d utilisation et de post-traitement (surtout si les marqueurs sont anonymes). Enfin, comme il faut rester visible des caméras, le champ de captation est limité Principaux fabricants Coda Motion TM Le Coda Motion TM est un système de captation de mouvement optique dans l infrarouge nécessitant des marqueurs actifs. Le CEA dispose d une version du système comportant trois caméras portées par un même support physique (donc les caméras sont fixes les unes par rapport aux autres). De plus, cette version possède dix marqueurs identifiés ce qui donne la possibilité de labelliser des trajectoires. Ce type de matériel est utilisé par exemple pour réaliser des captations précises à faibles volumes avec un ou deux objets à repérer. Malheureusement, ne posséder que dix marqueurs et un seul point de vue (les trois caméras sont fixées sur un même support) est rédhibitoire pour la captation de mouvement corps entier. Vicon TM Le système Vicon est l un des plus connus et des plus utilisés par l industrie du jeu vidéo et du cinéma, ou par le monde de la recherche et particulièrement en biomécanique. Ce système fonctionne lui aussi dans le proche infrarouge, cependant les marqueurs sont CONFIDENTIEL - NE PAS DIFFUSER 30/230
31 Chapitre 1 : Etat de l art passifs et les caméras possèdent un projecteur infrarouge à LED situé juste au-dessus de leur objectif. Les marqueurs sont des boules rétro-réfléchissantes de différentes tailles selon l objet étudié : il n est pas possible de combiner des boules de tailles trop différentes à cause du réglage des caméras (mises au point et dimension des boules à détecter sur l image). Le système Vicon TM utilisé pendant la thèse, est celui du Laboratoire de Mécanique du Solide rebaptisé Institut P à Poitiers. Il possède dix caméras, de nombreux marqueurs, ainsi qu une plateforme de force dont l acquisition est synchronisée avec le système optique. L acquisition est réalisée sur PC à l aide du logiciel Nexus TM. Outre l acquisition, Nexus TM permet de calibrer le système (voir partie ), de labéliser les trajectoires (grâce à un algorithme type «boite noire» qu il est donc impossible de modifier en cas de problème), d interpoler les données etc. La labellisation de la trajectoire est obligatoirement faite sur le logiciel pour pouvoir exporter les données dans un format facilement importable dans une autre application (type C/C++ ou Matlab). Le format choisi est un format CSV avec quelques informations situées en début de fichier. La partie interpolation étant complexe à gérer sur ce logiciel, il est préférable de retraiter les données pour les interpoler de façon plus adaptée au problème étudié (notamment en respectant les solides). A.R.T. TM Le système proposé par la société A.R.T. TM est semblable à celui du système Vicon TM, sauf qu il est spécifique à la reconstruction de mouvement de corps ou partie de corps. Afin de faciliter le travail de labellisation des marqueurs, ceux-ci sont fixés sur des supports rigides eux-mêmes fixés sur les segments du corps. Chaque support rigide comporte une configuration de marqueurs spécifiques (c'est-à-dire une disposition spatiale spécifique des boules réfléchissantes) ce qui permet de les reconnaitre automatiquement. Ce concept est comparable aux systèmes optiques utilisés dans les Interventions Assistées en Médecine. On peut citer à titre d exemple le système développé par la société Praxim TM. Nous n avons pas pu utiliser ce type de système pendant nos travaux, mais il pourrait être intéressant pour CONFIDENTIEL - NE PAS DIFFUSER 31/230
32 Chapitre 1 : Etat de l art diminuer les temps de prétraitement des données optiques Les systèmes à mesure de distance Une autre façon de reconstruire les mouvements du corps est d utiliser des mesures de distances, voire des mesures de vecteurs (c est-à-dire des positions par rapport à un référentiel). Pour mesurer ce type de grandeur, on peut utiliser des ultrasons [ZEBRIS] ou encore des champs magnétiques créés par des bobines (par exemple de type ULB - modulation radio Ultra Large Bande - ou de type champs magnétostatiques). On peut citer en exemples les systèmes Aurora TM de NDI [KIRSCH 05] ou Calipso TM de ([KUPELIAN 07]) de chirurgie assistée par ordinateur ou le système Sixense TM [WONG 09] dans le domaine du jeu vidéo. Il existe aussi d autres méthodes de type radar comme le Kinect TM de Microsoft TM ou sonar (Intersense TM ). Dans les systèmes électromagnétiques, il existe aussi des systèmes différents qui utilisent un codage spatial par imposition d un champ électromagnétique connu en tout point B (par exemple Polhemus TM ou Ascension TM qui ont été des pionniers de la captation de mouvement). Ce type de systèmes a globalement les mêmes avantages et inconvénients que les systèmes optiques. Le champ de captation étant un peu plus grand car il n y a pas de problèmes d occlusion et le post-traitement est plus simple grâce à la signature des capteurs Systèmes de captation de mouvement embarqué Exosquelettes Les exosquelettes font partie des plus anciens systèmes développés. Le principe des CONFIDENTIEL - NE PAS DIFFUSER 32/230
33 Chapitre 1 : Etat de l art exosquelettes est de fixer des éléments rigides de façon solidaire aux segments du corps, avec des articulations entre deux éléments instrumentées de capteurs (codeurs ou potentiomètres) afin de suivre le mouvement. Bien qu ils soient embarqués et donc répondent notamment aux besoins de champ de captation de grande taille, leur lourdeur et leur encombrement rendent leur utilisation difficile notamment pour l équipement de tout le corps. On peut citer Animazoo TM comme société commercialisant de tels systèmes Système inertiel et magnétique Les systèmes inertiels et magnétiques sont les systèmes embarqués les plus connus et les plus fréquents. Ils utilisent des accéléromètres, des magnétomètres et des gyromètres. Ces capteurs, ainsi que leurs combinaisons appelées centrales inertielles, sont décrits dans le chapitre suivant. Les principaux avantages de ses systèmes sont l absence de limitation dans le champ de captation, la facilité d utilisation et le prix Autres systèmes Il existe des études, comme une thèse au CEA, sur d autres types systèmes comme les systèmes de mesure de distance point à point. Cependant à ce jour, il n existe pas de solution commercialisée. Ces systèmes semblent posséder sensiblement les mêmes avantages que les systèmes inertiels et magnétiques Choix du type de systèmes Rappel sur les critères industriels Cette thèse étant financée par un industriel, nous avons un cahier des charges relativement CONFIDENTIEL - NE PAS DIFFUSER 33/230
34 Chapitre 1 : Etat de l art précis : il s agit d étudier la faisabilité d un système de captation de mouvements corps entier bas coût, économe en énergie, avec des capteurs de taille réduite, n ayant pas de limites sur les mouvements pour l utilisateur, et, si possible, temps réel. Ces différentes contraintes proviennent des domaines d application d un tel système. Par exemple l utilisation pour les jeux vidéos requière un système bas coût pour être accessible au grand public, économe en énergie pour avoir la plus grande autonomie possible et le temps réel, en effet il faut que le système ait une latence inférieur à 50 ms pour avoir un rendu satisfaisant. Le domaine d application du sport impose par exemple la contrainte d absence de limites sur les mouvements pour l utilisateur : c'est-à-dire que la captation puisse se faire en extérieur comme en intérieur, que la calibration soit légère et qu il y ait un grand volume de captation. Le domaine de la santé lui renforce le besoin de facilité dans l équipement et l utilisation d un tel système. Cependant dans les trois domaines évoqués ci-dessus les contraintes de précision ne sont pas les mêmes : assez faible pour le jeu vidéo, plus important pour le sport et enfin primordial pour la santé. Cela nous permet de voir que le jeu vidéo sera sans doute le domaine le plus simple à atteindre alors que la santé n est sans doute pas accessible dans un premier temps et nécessitera des adaptations pour atteindre la précision requise Récapitulatifs des avantages et inconvénients des différents systèmes Nous récapitulons ici la concordance aux critères industriels de chacun des types de système. Nous commençons tout d abord avec les systèmes à référence fixe. Ce type de systèmes de par sa référence fixe possède une très bonne précision (pas de risque de dérive) mais ne CONFIDENTIEL - NE PAS DIFFUSER 34/230
35 Chapitre 1 : Etat de l art bénéficie pas d un grand volume de captation. Les systèmes optiques restent chers, consommateurs d énergie et complexes à utiliser. Les systèmes à ultrasons possèdent les mêmes limites, ils sont cependant moins complexes pour le post-traitement grâce à la signature des marqueurs (qui permet de les différentier). Enfin les systèmes électromagnétiques ont les mêmes caractéristiques que l ultrason en étant moins chers. Pour les systèmes embarqués, les exosquelettes répondent bien aux différents critères mis à part les coûts (pécunier et énergétique) et la difficulté d utilisation notamment dans l équipement corps entier. Les systèmes types inertiels et magnétiques semblent répondre tout à fait à l ensemble des critères, cependant les systèmes déjà commercialisés (voir et ) sont tout de même chers et énergétiquement peu économes. En outre, les capteurs étant filaires l installation sur le sujet est un peu complexe. La solution que nous allons proposer se devra d être moins chère et plus économe en énergie. L utilisation de capteurs sans fil facilitera l utilisation mais renforcera la contrainte des coûts (prix et consommation) Conclusion Suite à la revue des réponses aux critères par les différents systèmes nous voyons que les systèmes inertiels et magnétiques répondent le mieux aux critères de l industriel. Cependant nous nous devons d innover par rapport aux systèmes actuels en utilisant de nouvelles méthodes permettant de réduire leur coût. L enjeu de la thèse est de valider le fait qu on puisse avoir une précision suffisante tout en baissant les coûts d un tel système Enjeux de la captation inertielle et magnétique de mouvement cinématique Les algorithmes utilisés en captation de mouvement mettent en œuvre les principes des CONFIDENTIEL - NE PAS DIFFUSER 35/230
36 Chapitre 1 : Etat de l art problèmes inverses : c'est-à-dire que l on retrouve les états internes d un système à l aide de ses sorties. Dans notre cadre, on peut voir ça comme l estimation des «entrées» d un phénomène (modèle direct de mesure) à partir des sorties, bien que dans le formalisme de l automatique, les «entrées» correspondent à des consignes utilisateurs, et ce qu on appelle ici «entrées» aux états du système. Les problèmes inverses utilisent de nombreux concepts mathématiques tels que : la représentation d état : c est une façon usuelle de modéliser un système dynamique, sous la forme d un couple de fonctions décrivant l évolution du système d une part et les mesures du système d autre part ; l observabilité : cette notion définit la capacité d observer un système, c'est-à-dire d en connaitre les états internes ; la détectabilité : cette notion définit la capacité de détecter un système, c'est-à-dire d avoir une idée des états internes, c est une notion moins forte que l observabilité ; la notion de problème «bien posé» : c est une propriété des problèmes d inversion, qui comme son nom l indique nous renseigne sur la qualité de la formulation, cette notion a été introduite par [HADAMARD 02], elle consiste à vérifier trois propriétés : notre système ne les vérifie pas, ce qui explique la difficulté de l inversion de notre système. l optimisation : il s agit de la recherche d un optimum d une fonction du point de vue d un critère. C est un domaine très vaste des mathématiques appliquées et de l informatique scientifique ; les filtres de Kalman (notamment EKF et UKF) : ce sont des méthodes d estimation de paramètres variables d un système représentable sous forme de représentation d état. Dans le cas linéaire et pour un bruit blanc gaussien, elles sont optimales ([KALMAN 60] et [KALMAN 61]). Une description de ces outils est fournie en annexe (Annexe 0). CONFIDENTIEL - NE PAS DIFFUSER 36/230
37 Chapitre 1 : Etat de l art Configuration Hypothèse Approche Algorithme Accéléro-Magnéto Pseudostatique Mono point AM statique Accéléro-Magnéto-Gyro aucune Mono point AGM dynamique Accéléro-Magnéto-Gyro aucune Multi point AMG dynamique Mixte Accéléro-Magnéto /Accéléro-Magnéto-Gyro aucune Multi point AMG/AM dynamique Accéléro-Magnéto aucune Multi point AM dynamique Tableau 1 : Configuration de captation de mouvement inertielle et magnétique Dans cette partie nous allons décrire les différents algorithmes connus en captation de mouvement inertiel. Les trois premières lignes correspondent aux algorithmes connus de l état de l art et que nous allons présenter ici. Les deux dernières à ceux que nous avons mis en place. L approche dite «monopoint» ou locale, est une méthode qui cherche l orientation de chaque segment indépendamment les uns des autres, puis ensuite les redessinent les uns à côté des autres. Elle utilise donc un algorithme local, c'est-à-dire qui traite indépendamment chaque capteur. Ces algorithmes peuvent être classés en deux grandes catégories : les algorithmes à hypothèse pseudo-statique (voir et 1.4.2) et les algorithmes cinématiques (voir ). On ne peut atteindre la cinématique (c'est-à-dire estimer l orientation du capteur avec une accélération propre du capteur non nulle) que dans le cas d une fusion à trois modalités : accéléromètres, magnétomètres et gyromètres (dite AGM). En effet si on se place dans le cas bi-modalités dit AM (accéléromètres, magnétomètres), on ne sait pas estimer l orientation cinématique car les informations d accélération et de gravitation contenues dans la mesure de l accéléromètre sont indissociables (sauf à placer les capteurs dans des configurations très spéciales et ajouter des hypothèses voir Accélération d un point connu). CONFIDENTIEL - NE PAS DIFFUSER 37/230
38 Chapitre 1 : Etat de l art Dans l hypothèse dite pseudo-statique, que l on définit ci-dessous, on néglige donc les accélérations propres du capteur. Les mesures sont alors directement les vecteurs G et B (avec des bruits de mesure). On cherche alors à identifier la rotation entre deux configurations de ces deux vecteurs. G et B étant non colinéaires, ils forment une base d un plan et donc G, B et G B 3 forment une base de R : la rotation est ainsi parfaitement définie. Différentes méthodes d estimation utilisées au CEA et dans la littérature sont données ci-dessous. L approche dite «multipoint» ou globale (voir ) consiste à chercher l orientation de tous les capteurs en même temps. Elle permet de modéliser l accélération Avant-propos : Hypothèse pseudo-statique Dans ce paragraphe nous nous plaçons dans l hypothèse d absence de perturbation du champ magnétique. Comme on vient de le voir, la captation locale à deux modalités AM est forcément dans l hypothèse pseudo-statique : c'est-à-dire que l accélération propre du capteur est négligeable devant la gravitation. Par négligeable, on entend que l on peut considérer que la mesure de l accéléromètre est uniquement la mesure de G. Pour évaluer le niveau de présence d une accélération propre, il suffit de calculer la norme de la mesure accélérométrique (sensée mesurer uniquement G idéalement) et le produit scalaire des vecteurs de mesure de l accéléromètre et du magnétomètre (sensés mesurer uniquement G respectivement B idéalement). Si la norme est différente de 1 et/ou si le produit scalaire est différent de la valeur théorique (en moyenne sous nos latitudes de 0.866), l accéléromètre est perturbé par une accélération propre. Attention, il existe des configurations pour lesquelles la mesure peut respecter ces conditions tout en résultant de la somme de G et d une accélération propre, mais elles sont très rares. De plus, toutes les accélérations ne sont pas aussi handicapantes. La partie colinéaire à B est corrigeable en appliquant, une orthonormalisation de Gram-Schmidt : CONFIDENTIEL - NE PAS DIFFUSER 38/230
39 Chapitre 1 : Etat de l art G_ corrigé = G G B* B G G B* B étant le produit scalaire * la multiplication la norme 2 (1) On peut aussi voir que les accélérations selon la direction G sont aussi corrigées par la normalisation à condition que la perturbation ne soit pas de norme supérieure à 1 (c est à dire que G + Perturbation _ selon_ G soit dans le même sens que G, (ait un produit scalaire positif)) En conclusion on peut voir que seules les perturbations selon la direction perpendiculaire au plan formé par G et B influent sur l estimation. Le graphique de la Fig. 1 montre l erreur angulaire de l attitude estimée en fonction de la norme de l accélération non corrigeable (perpendiculaire au plan formé par G et B ) : Par contre, il faut faire attention en lisant ce graphique : c est bien la norme de la partie non corrigeable de l accélération propre, c est à dire celle qui est indétectable, et non la norme de la perturbation et surtout pas la norme de la mesure de l accéléromètre moins 1. Cette norme est nécessairement comprise entre 0 et 2. En effet après avoir calculé G _ corrigé par Gram-Schmidt, la position de l extrémité de G _ corrigé est nécessairement sur le cercle de centre l extrémité du vecteur B et de rayon 1 (les vecteurs ayant pour origine justement l origine du repère). On a bien les points les plus éloignés à une distance de 2 (dans le cas de 2 points aux extrémités d un diamètre). Pour mieux comprendre on peut se référer à la Fig. 2. CONFIDENTIEL - NE PAS DIFFUSER 39/230
40 Chapitre 1 : Etat de l art Fig. 1 : Erreur angulaire en fonction de la norme de l accélération parasite non corrigeable On peut voir sur la figure que pour une norme faible, l erreur est linéaire avec un coefficient d environ 60 (en fait la valeur exacte est 180/pi car la norme évolue en fonction du sinus de l erreur angulaire dans ce cas et pour des petites valeurs sin(x) = x (en radian) et sin(x) = pi/180 * x). L erreur angulaire est due à l unique rotation possible, celle autour du vecteur B. On voit que l angle de cette rotation est lié à la partie non corrigeable par la formule de trigonométrie suivante : Partie non corrigeable G = sin ( angle autour de B) (2) CONFIDENTIEL - NE PAS DIFFUSER 40/230
41 Chapitre 1 : Etat de l art Soit comme G = 1 Partie non corrigeable = sin ( angle autour de B) (3) Et donc pour un angle petit (développement limité classique du sinus) Partie non corrigeable (4) = angle autour de B On retrouve donc bien la pente de 1 rad/g soit pi/180 /G soit environ 57 /G de la courbe sur la Fig. 2. CONFIDENTIEL - NE PAS DIFFUSER 41/230
42 Chapitre 1 : Etat de l art réel corrigé normalisé (sur le plan perpendiculaire à et normalisé) réel corrigé (sur le plan perpendiculaire à ) Erreur non corrigeable corrigé théorique théorique réel Fig. 2 : Schéma explicatif de la partie corrigeable de l'accélération propre On part de G réel qu on projette sur le plan orthogonal à B et on obtient G réel corrigé. On normalise ensuite G réel corrigé et on obtient G réel corrigé normalisé De la même façon, on construit G corrigé normalisé théorique à partir de G théorique. L erreur non corrigeable est la différence en G réel corrigé normalisé et G corrigé normalisé théorique Comme nous l avons dit au début de cette partie, nous nous sommes placés dans l hypothèse de champs magnétiques parfait. On peut appliquer les mêmes raisonnements en inversant accéléromètre et magnétomètre dans le cas statique. Dans le cas non statique et champ magnétique perturbé, il n y a aucune solution pour s en sortir et l estimation correcte est impossible. CONFIDENTIEL - NE PAS DIFFUSER 42/230
43 Chapitre 1 : Etat de l art Algorithme d estimation dans l hypothèse pseudostatique Optimisation Historiquement, la première méthode utilisée au CEA pour déterminer l attitude dans le cas statique a été une optimisation par descente de gradient ([BASSOMPIERRE 03], voir aussi le brevet plus ancien [DAVID 02]). Le fonctionnement est très simple : on cherche les angles Yaw, Pitch et Roll (voir ) tels que : Mesure = cp * cy cp * sy sp sr* sp* cy cr* sy sr* sp* sy cr* cy sr* cp + *[ G0,B0] cr * sp * cy + sr * sy cr * sp * sy sr * cy cr * cp avec cy = cos( yaw) sy = sin( yaw) cp = cos( pitch) sp = sin( pitch) cr = cos( roll) sr = sin( roll) (5) On fournit aussi à l algorithme le gradient de ce modèle de mesure. Ensuite c est une simple descente de gradient classique. On peut avantageusement utiliser des méthodes de minimisation d erreur plus efficaces, tels que les méthodes de type quasi- Newton. Pour améliorer le temps de réponse de l algorithme, il est préconisé d initialiser l optimisation à la valeur à l instant t-1 pour estimer la valeur à l instant t. En effet si la période d échantillonnage est suffisamment petite, la valeur de l orientation aura peu changé et le temps de convergence sera rapide. CONFIDENTIEL - NE PAS DIFFUSER 43/230
44 Chapitre 1 : Etat de l art QUEST - TRIAD L algorithme QUEST (QUaternion ESTimator) est un algorithme très classique d estimation par calcul direct d orientation à partir de mesures de vecteurs invariants ([SHUSTER 81]) (champ magnétique, direction d une étoile, ). Il repose sur la notion de 3 bases de R et a pour sortie un quaternion d estimation de l attitude. Il peut facilement être adapté pour délivrer d autres modes de représentation de l attitude (matrice de rotation, angles, ), soit en effectuant une conversion quaternion vers cet autre mode à la fin de l algorithme, soit en modifiant directement l algorithme. TRIAD est un autre algorithme fonctionnant sur les mêmes principes de calcul direct de l orientation à partir des mesures capteurs UAM L algorithme «UAM» ressemble dans ces grands principes à l algorithme QUEST pour traiter les matrices de rotation. Il a été développé chez Movea. On peut voir sur la figure suivante une illustration de l algorithme. Fig. 3 : Schéma explicatif de l'algorithme UAM Dans cet algorithme, on commence par corriger l accélération afin de vérifier les deux propriétés suivantes : CONFIDENTIEL - NE PAS DIFFUSER 44/230
45 Chapitre 1 : Etat de l art Mesure _ G = 1 Mesure _ G Mesure _ B = constante (6) Pour choisir la valeur de Mesure _ G _ corrigee à la fois sur le cercle de centre l extrémité de Mesure_ B et sur la boule de rayon 1 et de centre l origine, il faut faire un choix : l algorithme choisit de minimiser la norme de Mesure _ G Mesure _ G _ corrigee. On effectue ensuite le changement de variable suivant : (7) Mesure_G = Mesure_G_corrigée 3 On cherche à construire une base de R en posant : Z = G B ( B G) * G Y = B ( B G) * G X = Z Y (8) La matrice XYZ,, est la matrice de rotation du capteur par rapport à la position du capteur à l horizontal, orienté vers le nord Solutions pour la cinématique Approche locale cinématique: 3A3M3G Il existe de nombreuses façons d estimer l orientation cinématique dans la littérature, chacune ayant des avantages et des inconvénients. Toutes ces méthodes reposent sur des estimations fournies par des filtres de Kalman. CONFIDENTIEL - NE PAS DIFFUSER 45/230
46 Chapitre 1 : Etat de l art Une méthode particulièrement efficace a été mise au point au LETI. Le modèle cinématique tri-modalités AGM monopoint, développé au CEA par Cindy Bassompierre, a pour principe d utiliser un filtre de Kalman en utilisant les gyromètres dont on aura corrigé le biais dans la partie prédiction, et d utiliser en mesure les accéléromètres et les magnétomètres. La variable d état est l orientation exprimée sous la forme d un quaternion unitaire ([BASSOMPIERRE 09]). Cet algorithme fait l objet d un brevet du CEA. De tels systèmes à trois modalités peuvent aussi estimer l accélération du capteur, voire ses déplacements. Ce type d approche est notamment utilisé dans Moven TM (la combinaison de captation de mouvement corps entier) de Xsens TM (voir ci-dessous). Il existe déjà des systèmes inertiels de captation de mouvement corps entier : le premier à être commercialisé est la combinaison Moven TM. Animazoo TM commercialise aussi plusieurs systèmes (de 3 centrales d attitudes à 19). Enfin nous verrons aussi la solution HuMaNS de l INRIA Moven TM Moven TM, développée par Xsens, est une solution de captation de mouvement cinématique du corps entier reposant sur les MTx TM ([LUINGE 02]). Chaque MTx TM permet de connaitre l orientation et le déplacement du segment sur lequel il est fixé. Ensuite les segments sont associés en tenant compte du squelette. Les capteurs sont astucieusement contenus dans une combinaison afin de garantir leur position sur le corps. La combinaison comprend 17 MTx TM connectés à 2 Xbus Masters TM chargés de collecter et synchroniser les données des MTx TM. Les Xbus Masters communiquent avec le PC grâce à une liaison sans fil. Voici les performances sur lesquelles, Xsens communique : CONFIDENTIEL - NE PAS DIFFUSER 46/230
47 Chapitre 1 : Etat de l art 3D orientation accuracy Resolution <0.5 deg 0.05 deg Accelerometer range ± 180 m/s2 (18 g) Gyroscope range Total on-body system (with batteries and cables) Internal update rates 1200 /s 1930 g (4.2 lbs) 120, 100, 60 Hz Tableau 2: Caractéristique de la combinaison Moven TM Ces caractéristiques semblent a priori très bonnes. Malheureusement nous n avons pas pu les vérifier expérimentalement Animazoo TM Voici les caractéristiques de la solution d Animazoo TM, nommée IGS-180 TM : Intertial Gyroscopes 18 Full Body Sensors 18 Gyroscopic Sensors Lower Body 7 Upper Body 11 Inertial Update Rate (Hz) 500 Max. Angular Rate 1200 per second Angular Range 360 Angular Sensor Resolution <0.01 Yaw <1 Pitch <0.2 CONFIDENTIEL - NE PAS DIFFUSER 47/230
48 Chapitre 1 : Etat de l art Roll <0.5 Magnetic Interference Occlusion / Marker Swapping Global Translation Sensing Sensor Calibration Compensated None Calculated Delivered Calibrated Sensor Weight 11.2g Sensor Size Batteries Supplied (l)49 x (w)16 x (h)9mm MPU Integrated Rechargeable NiMH DC Input 3.5 and 5.7V Cable Set Daisy Chain Tableau 3 : Caractéristique du système IGS-180 TM de Animazoo TM Nous ne détaillerons pas plus sur cette combinaison n ayant pu l étudier plus précisément Multipoint ou méthode globale Ce qu on appelle méthode globale ou multipoint est un algorithme où l information propre à une centrale d attitude est enrichie des informations fournies par d autres capteurs au même point ou en d autres points sur le corps, ainsi que des degrés de liberté les reliant (connaissance a priori du squelette). Accélération d un point connu La méthode d accélération d un point connu est une méthode de captation du mouvement d au moins une partie du corps. Elle est décrite et implémentée utilisée dans [SALMERONQUIROZ 07]. Elle a été introduite dans un brevet du CEA : [CARITU 06]. Elle consiste à une captation de mouvement où l on connait l accélération d un point au CONFIDENTIEL - NE PAS DIFFUSER 48/230
49 Chapitre 1 : Etat de l art cours du temps grâce à un autre type de système (radio ou optique par exemple). Les segments étant équipés d accéléromètres et de magnétomètres, on peut retrouver l orientation dynamique des différents segments. Si on fixe cette accélération à zéro on parle de point fixe. On peut utiliser cette hypothèse de point fixe lorsque par exemple on dispose d un capteur respectant l hypothèse statique. Alors on fait remonter l accélération le long des segments. Il est en effet facile de calculer l accélération de proche en proche grâce à la méthode du bras de levier appliquée à la géométrie du corps. Pour qu un capteur suive l hypothèse statique, on peut tout simplement considérer qu un membre reste immobile au cours du mouvement : par exemple on va choisir que la personne captée à ses pieds fixes au sol ou sa main posée sur un bâti fixe. Dans la méthode présentée dans [SALMERONQUIROZ 07], le positionnement des capteurs est complexe car il faut les placer sur les articulations de façon à ce qu ils tournent avec le segment dont on cherche l orientation (qui n est donc pas le segment dont on connaît déjà l orientation) afin que les capteurs appartiennent à la fois aux deux segments partant de l articulation. En effet, cela permet, de par leur appartenance au premier segment dont on connait l orientation à l instant t (et à l instant précédent), de calculer l accélération du capteur et ainsi de la prendre en compte dans le calcul de l angle du segment suivant. Comme on peut le voir, cet algorithme commence à utiliser le principe de chaîne articulée sans pour autant pousser la logique jusqu au bout. HuMaNS HuMaNS (Humanoid Motion Analysis and Simulation toolbox) est une toolbox développée par l INRIA dans l équipe BIPOB ([WIEBER 06]). Elle permet l analyse, la modélisation et le contrôle de mouvement d humanoïdes et d humains. Elle est un ensemble d outils développés par l INRIA en langages C et Scilab TM permettant, entre autres, de construire un modèle géométrique du corps humain afin de calculer des mesures de capteurs répartis sur les segments du corps. Elle possède aussi un moteur d inversion du problème direct, initialement dédié à des capteurs optiques. Dans le cadre du projet ANR Slalom et en collaboration avec le CEA-Leti, un étudiant en DRT (Diplôme de CONFIDENTIEL - NE PAS DIFFUSER 49/230
50 Chapitre 1 : Etat de l art Recherche Technologique) a étudié une méthode visant à utiliser la toolbox HuMaNS pour la reconstruction de mouvement corps entier à l aide de capteurs inertiels ([JAMMES 06]). Ces développements ont fait l objet d un brevet [JAMMES 07]. Malheureusement, devant l objectif très ambitieux du projet (la captation du mouvement d un skieur «freestyle» au cours d un saut) et le délai trop court de l étude, les résultats n ont pas permis de conclure quant au problème posé. Par contre, ce DRT a lancé les bases sur lesquelles s appuie ce travail de thèse ainsi que d autres études du CEA ([AZPILLAGA 07]). En vue de l intégration finale des développements de la thèse dans l application logicielle de Movea qui n est pas compatible avec la toolbox HuMaNS, nous avons choisi de travailler à partir des concepts développés dans la partie reconstruction de cet outil. HuMaNS ne se limite pas à cette utilisation cependant nous n évoquerons pas ici ces autres fonctionnalités. Nous pouvons nous référer à [WIEBER 06] pour plus d information. Comme il apparait ci-dessus, HuMaNS est uniquement logiciel mais n est pas lié à un type de capteurs contrairement à Moven TM Conclusion Nous avons rapidement balayé le paysage de la captation de mouvement corps entier et plus précisément la captation inertielle et magnétique. Nous avons pu voir que, bien que de nombreuses solutions sont proposées dans ce domaine, les systèmes accéléromètresmagnétomètres seuls n existent pas, pas plus que les systèmes accéléromètresmagnétomètres accompagnés de quelques gyromètres dans le cadre d une captation de mouvement cinématique. Nous allons maintenant étudier dans le chapitre suivant les capteurs utilisés dans ce type de systèmes. CONFIDENTIEL - NE PAS DIFFUSER 50/230
51 Chapitre 2 : Capteurs Chapitre 2 Capteurs La captation inertielle et magnétique repose sur l utilisation des accéléromètres, des gyromètres et des magnétomètres. Le regroupement de tels capteurs est appelé centrale d attitude ou centrale inertielle. Nous décrivons ces capteurs dans cette partie : la physique mise en jeu, les composants existants sur le marché, le modèle de mesure associé, les perturbations auxquelles ils peuvent être soumis, les étapes de calibration et de prétraitement. Les capteurs que nous utilisons, accéléromètre, magnétomètre et gyromètre, sont vus comme des capteurs triaxes. Pour disposer de capteurs triaxes, il faut selon les différentes technologies, soit combiner plusieurs capteurs (mono-axes ou bi-axes) soit utiliser directement une puce triaxiale Magnétomètre Un magnétomètre permet de mesurer le champ magnétique dans lequel il est plongé. En physique, le champ magnétique est une grandeur caractérisée par la donnée d'une intensité et d'une direction, définie en tout point de l'espace, et déterminée par la position et CONFIDENTIEL - NE PAS DIFFUSER 51/230
52 Chapitre 2 : Capteurs l'orientation d'aimants, d'électroaimants et le déplacement de charges électriques. La présence de ce champ se traduit par l'existence d'une force agissant sur les charges électriques en mouvement (dite force de Lorentz), et divers effets affectant certains matériaux (paramagnétisme, diamagnétisme ou ferromagnétisme selon les cas). La grandeur qui détermine l'interaction entre un matériau et un champ magnétique est la susceptibilité magnétique Champ magnétique terrestre ou champ de Gauss [FONADE 03] L essentiel du champ magnétique terrestre est d origine interne (le reste venant par exemple du soleil, on peut se référer à [DOUTAZ 08] pour une description plus précise). La source la plus plausible de ce champ est le noyau (Fig. 4) qui est essentiellement composé de fer liquide et conducteur. Le champ principal est dominé par une forte composante dipolaire. L existence et la puissance de ce dipôle semblent dues à des mouvements de convection dans le noyau liquide qui créent un effet dynamo [COURTILLOT 75]. Ce champ dipolaire est appelé aussi champ de Gauss ou champ principal. CONFIDENTIEL - NE PAS DIFFUSER 52/230
53 Chapitre 2 : Capteurs Fig. 4: Coupe transversale de la Terre [FONADE 03] Il constitue la majeure partie du champ terrestre (environ 95 % du total en amplitude). On le considère comme parfaitement constant aux échelles de temps qui nous intéressent, c està-dire que nous négligerons les variations séculaires. En tout point du globe, ce champ est usuellement repéré par son inclinaison I par rapport au plan horizontal et sa déclinaison D qui désigne son angle par rapport au méridien géographique (Fig. 5). En moyenne, sous notre latitude 1 : son amplitude est de nt ; son inclinaison et sa déclinaison sont respectivement de 62 et 0 ; il se situe dans un plan méridien contenant les pôles magnétiques de la terre ; en première approximation et pour des zones de quelques centaines de kms au plus, 1 Il existe des sites internet donnant le champ magnétique en chaque point du globe : on peut par exemple aller sur CONFIDENTIEL - NE PAS DIFFUSER 53/230
54 Chapitre 2 : Capteurs ses variations régionales sont des constantes (3 pt/m Nord et 0.3 pt/m Est). Fig. 5 : Schéma du champ magnétique [FONADE 03] Le minimum de champ se situe dans l Atlantique sud où il vaut nt et est horizontal (inclinaison 0 ). Le maximum vaut nt près du pôle Nord où le champ est vertical Principaux magnétomètres du marché (issu de l état de l art) Les différents types de capteurs magnétiques sont : les capteurs à effet Hall, les magnétodiodes, les magnétotransistors, les capteurs à effet magnétorésistif, les microfluxgates ou encore les micromagnétomètres à structure résonante. Le Tableau 4 présente les gammes de précision selon le type de capteurs. Les capteurs bas coût utilisés pour la captation de mouvement présentent une précision de 1 à 3 T. Les principaux manufacturiers sont ([JAGER 07]): Honeywell, Philips, NVE Corporation, Sentron AG, Zetex, HL-Planar, Micronas, Allegro, Asahi Kasei Electronics, Analog Devices, Samsung. CONFIDENTIEL - NE PAS DIFFUSER 54/230
55 Chapitre 2 : Capteurs Tableau 4 : Gamme de mesure des magnétomètres ([JAGER 07]) Modèle de mesure Pour modéliser la fonction de mesure d un magnétomètre, la formulation est simplement la matrice de rotation du capteur multipliée par la valeur de référence (notée B0). La matrice de rotation du capteur est la matrice de changement de repère entre le repère terrestre et le repère capteur à l instant t. On a donc : capteuri capteur B0 Rotation * i Terre B0 Mesure _ magnétomètre = MTerre * = 0 0 (9) La valeur de référence peut être la valeur à l instant initial (t = 0) ou celle correspondant à une position précise et connue. En effet, selon l origine de la rotation voulue, on peut modifier la valeur de B0. En effet, si on veut fixer le repère terrestre avec X vers le nord et Z vers le bas, on peut choisir B0 = [ 0.5, 0, 0.866] (10) CONFIDENTIEL - NE PAS DIFFUSER 55/230
56 Chapitre 2 : Capteurs Par contre si on veut fixer le repère terrestre dans une position connue, on peut faire (dans cette position) : B0 = Mesure _ magnétomètre (11) L intérêt d une telle manipulation est de choisir dans quel repère on exprime les rotations et par rapport à quels axes s effectuent les rotations. Ce choix doit être fait en adéquation avec celui sur G0 de l accéléromètre Perturbation magnétique Les perturbations magnétiques sont un phénomène dû à la présence de champs magnétiques perturbateurs. Ces champs perturbateurs sont classés en trois catégories : les champs rémanents, les champs induits et les champs dus aux courant de Foucault (voir 2.1). Ces perturbations ne sont pas prises en compte actuellement dans nos algorithmes et sont un problème pour la résolution en intérieur car de nombreux bâtiments possèdent des armatures métalliques sources de champ rémanent. Une proposition pour les prendre en compte est faite dans la partie Dans le cadre de notre étude, nous proposons simplement de les identifier en effectuant une vérification de l espace de captation. A terme dans un produit fini, il faudra estimer la sensibilité du système à ces perturbations et les prendre en compte ou au moins prévoir une alerte en cas d identification de la présence de champs magnétiques perturbateurs Calibration capteur (ou calibration électronique) Les capteurs MEMS décrits que nous utilisons fournissent des signaux électriques numériques ou analogiques représentant la valeur de la mesure. Il est important de la rendre intelligible en la plaçant dans une échelle adéquate : on appelle cette étape la calibration capteur. La calibration permet donc de passer de signaux électriques à des données dans le système d unités SI. CONFIDENTIEL - NE PAS DIFFUSER 56/230
57 Chapitre 2 : Capteurs Le magnétomètre triaxe (voir paragraphe 2.1) est un capteur qui permet de mesurer le champ magnétique selon les trois composantes d une base quelconque de R 3. Afin de rendre cette mesure intelligible, il est nécessaire d orthonormaliser cette base pour obtenir une base usuelle. Pour l orthonormalisation, plus connue sous le nom de calibration, on recherche plusieurs défauts de la base de départ à l aide d un jeu de mesures. Les défauts de la base se caractérisent par un gain et un offset par voie ainsi que des dépendances inter-voies (qui sont souvent dues au placement non orthogonal des capteurs linéaires servant à former le triaxe). Pour déterminer ces caractéristiques nous utilisons la calibration proposée par JMG Merayo ([MERAYO 00], [SEMENOV 03] et [MERAYO 03]). Cette dernière consiste à faire tourner le capteur dans un champ uniforme et ensuite à déterminer les caractéristiques par optimisation. Les caractéristiques (gain, offset et dépendances inter-voies) peuvent être facilement modélisées par une opération matricielle simple : Mes _ Mag = Matrice3x3* Champ _ Mag + Offset Où Matrice_3x3 : est une matrice de dimension 3 contenant les gains et les dépendances entre voies, (12) Offset : est un vecteur de taille 3 contenant les offsets des voies, Mes_Mag : est un vecteur de taille 3 contenant les données du capteur, Champ_Mag : est un vecteur de taille 3 contenant les mesures orthonormées. Le champ magnétique orthonormé est obtenu à partir de la mesure magnétomètre par : Champ _ Mag = inv( Matrice3x3)*( Mes _ Mag Offset) (13) Il faut donc que la matrice soit inversible (ce qui est le cas lorsque les 3 capteurs ne sont pas dans un même plan). CONFIDENTIEL - NE PAS DIFFUSER 57/230
58 Chapitre 2 : Capteurs La matrice peut être considérée comme une matrice d orthonormalisation de Gram- Schmidt. En particulier on peut la choisir triangulaire (supérieure ou inférieure selon que l on souhaite conserver l axe X ou l axe Z constant). Dans notre cas, contenu de la disposition des capteurs sur le PCB, le capteur situé suivant l axe Z est celui positionné le moins précisément et ne peut donc pas servir de référence. Par contre, la puce biaxe X-Y est bien à plat sur le PCB et il est donc intéressant de maintenir l axe X en direction et donc de choisir une matrice triangulaire supérieure. a Matrice_3x3 = a21 a22 0 a31 a32 a33 (14) Où a11, a22, a33 étant les gains des axes 1, 2 et 3 ; a12, a31, a32 étant les termes de dépendances inter-voies. Nous avons donc (pour les offsets) coefficients à déterminer. La méthode pour estimer ces coefficients est assez simple à mettre en œuvre. Elle est basée sur l uniformité (à l échelle à laquelle on le mesure) du champ magnétique terrestre en un point sur la Terre. On prendra sa norme égale à 1. Cela permet aussi d homogénéiser les données numériques de cette modalité par rapport à celles des accéléromètres qui seront eux aussi normés à 1. Sur un magnétomètre, la sensibilité des axes (qui correspond aux coefficients a11, a22 et a33) est assez volatile : il suffit d une exposition à un champ magnétique important ou simplement une modification significative (dizaine de ) de la température pour la modifier, c est pourquoi il est souvent important de la réévaluer périodiquement. Par contre les dépendances inter-voies qui correspondent essentiellement à la disposition CONFIDENTIEL - NE PAS DIFFUSER 58/230
59 Chapitre 2 : Capteurs physique des axes sur le PCB sont, elles, beaucoup plus stables. Il est donc parfois intéressant de ne réévaluer que la sensibilité voire seulement l offset qui correspond à l aimantation rémanente du capteur Prétraitement capteur : normalisation et mise à l échelle Lorsqu on cherche à estimer un état à partir de mesures capteurs, il peut être nécessaire de veiller au codage numérique des données : il doit être homogène pour ne pas donner numériquement plus d importance à une mesure plutôt qu à une autre. Dans ce but, nous avons choisi de pseudo-normaliser les mesures capteurs, c est à dire de les ramener à une norme de l ordre de 1. Le champ magnétique terrestre est un champ localement uniforme. Compte tenu des relativement petits déplacements effectués par notre système, cette hypothèse est valide. Cependant ce n est pas toujours vrai à cause des perturbations magnétiques (voir paragraphe 2.1.4) présentes notamment à l intérieur des bâtiments. Dans une première approche, les champs magnétiques perturbateurs ne peuvent être pris en compte dans nos traitements car nous n avons aucune idée a priori de l environnement du capteur. Une solution peut être de détecter les perturbations magnétiques en suivant la valeur de la vraie norme du champ magnétique (un seuil de détection à 5% de la pleine échelle s avère correct d après les essais), afin de prévenir que le modèle de mesure magnétiques est erroné et donc que les résultats seront affectés par les perturbations. Mais ces perturbations ne sont pas gênantes si le champ est relativement uniforme, notamment en sens et direction, dans le lieu du mouvement, même si la norme du champ n est plus égale à celle du champ terrestre. Une normalisation permet de masquer en partie ces phénomènes mais cache les perturbations localisé. Une seconde solution pour ne pas masquer c est perturbation et pouvoir les détecter facilement (norme magnétomètre CONFIDENTIEL - NE PAS DIFFUSER 59/230
60 Chapitre 2 : Capteurs différente de 1) est d effectuer une pseudo-normalisation en utilisant un filtre moyenneur et de diviser la valeur des mesures par cette norme moyenne. Cela permet d effectuer tout de même la détection de perturbateur mais d avoir un champ de norme proche de 1. On peut moyenner la valeur de la norme sur quelques minutes, mais le mieux est d utiliser un filtre à oubli pour ne pas avoir à stocker toutes les valeurs : ( ) [ [ norme estim Mag = λ* norme estim Mag + λ 1 * norme( Mes Mag ), λ 0,1 t t 1 t λ étant choisi proche de 1, pour avoir une mémoire importante (pour λ = 0, il n y a pas de mémoire). (15) Dans une deuxième approche, on peut imaginer traiter les perturbations magnétiques suffisamment éloignées du capteur si leur nombre n est pas trop important. En effet, une perturbation magnétique peut être modélisée comme une source magnétique via un dipôle (ou un ensemble de dipôles) ou via une formulation par ondes sphériques. Dans le cadre de la captation de mouvement corps entier, nous disposons d un réseau de capteurs. Il est connu d identifier une source magnétique à l aide d un réseau de capteurs [KIRSCH 06]. Connaissant a priori la position des capteurs, et sous certaines conditions qui permettent de satisfaire l inversion du problème d identification (c'est-à-dire de disposer d information suffisamment riches pour déterminer toutes les inconnues caractérisant les dipôles magnétiques), nous pouvons déterminer la position, l orientation et l intensité des dipôles modélisant les perturbateurs. Ensuite, dans l hypothèse où les dipôles ne bougent pas, leur contribution aux mesures magnétiques peut être modélisée en fonction de la position et de l orientation du capteur. Alors on intègre cette modélisation au problème inverse et on obtient des informations de position et d orientation supplémentaires. Cette approche n a pu être traitée dans le cadre de nos travaux mais elle devra être étudiée dans le futur afin de tester si elle peut permettre d améliorer la précision du système dans les cas de perturbations dues à un faible nombre de perturbateurs fixes. Cette seconde approche fait l objet d un brevet en cours de dépôt. Nos travaux étant dédiés à l étude de la résolution du problème d estimation des CONFIDENTIEL - NE PAS DIFFUSER 60/230
61 Chapitre 2 : Capteurs mouvements dynamiques d une chaîne articulée, nous avons supposé qu aucune perturbation ne venait polluer les mesures des magnétomètres, c est-à-dire que le modèle décrivant la fonction de mesure de ces capteurs est a priori correct. Ces conditions se retrouvent en extérieur, dans les grandes salles (loin des murs) et dans les bâtiments non industriels (ne possédant pas de structures métalliques) Accéléromètre Principe De façon simplifiée, on peut imaginer qu un accéléromètre est un appareil qui mesure sa propre accélération et qui, solidarisé à un objet, mesure l accélération de cet objet. C est en réalité plus compliqué comme nous allons le voir dans la suite. Le principe de fonctionnement des accéléromètres est globalement celui d un système masse ressort (Fig. 6), l allongement du ressort étant proportionnel à l accélération subite par la masse. Cet allongement est mesuré électriquement via plusieurs méthodes [JAGER 07] : piézorésistive, capacitive, par effet tunnel, résonante, thermique, optique, électromagnétique, ou encore piézoélectrique. Fig. 6 : Schéma de principe d'un accéléromètre ([JAGER 07]) Les accéléromètres MEMS issus de la microélectronique reposent également sur ce CONFIDENTIEL - NE PAS DIFFUSER 61/230
62 Chapitre 2 : Capteurs principe. Un accéléromètre latéral a été développé au CEA LETI dès Les premières versions ne comprenaient qu un axe de mesure, puis un axe perpendiculaire a été ajouté pour constituer des capteurs plans. Pour construire des capteurs triaxes, il fallait il y a encore peu combiner mécaniquement deux PCB pour fixer un capteur mono-axe perpendiculairement au capteur plan, ce qui pouvait entrainer des erreurs d orthogonalité à compenser. Maintenant, il existe des puces possédant les trois axes de façon native. Une des difficultés dans l utilisation de ce type de capteur est que l accéléromètre n est sensible (principe de Galilée) qu à la «force non gravitationnelle». Cela conduit au fait qu il mesure l accélération par «image inverse». Nous en donnons ci-dessous une illustration mathématique. La mesure d un accéléromètre correspond à l étirement d un ressort (voir Fig. 6) où k est le coefficient de raideur du ressort. Macc = F rappel ressort k (16) D après le principe de Galilée (1) appliqué dans le repère terrestre, la somme des forces fait intervenir le poids de l objet P et son accélération propre a. Forces extérieures = P + F rappel ressort = ma (17) On peut donc montrer (2) que la mesure d un accéléromètre fait intervenir l accélération propre de l objet mais aussi l accélération de gravitation G. m Macc = ( a G (18) ) k Outre les problèmes purement numériques, on ne peut donc malheureusement pas intégrer la sortie d un accéléromètre pour retrouver la position du capteur au cours du temps. Pour CONFIDENTIEL - NE PAS DIFFUSER 62/230
63 Chapitre 2 : Capteurs cela, il faudrait pouvoir supprimer la composante due à G et donc connaître parfaitement l orientation du capteur Principaux accéléromètres du marché (issu de l état de l art) Depuis le milieu des années 60, les accéléromètres MEMS sont apparus. Il existe plusieurs technologies différentes. On donne (Fig. 7) quelques exemples de réalisation d accéléromètres. Fig. 7 : Schéma et photos de différents types d'accéléromètres [DELAPIERRE 09] Il existe de nombreuses applications utilisant des accéléromètres. Chacune demande des performances spécifiques qui engendrent naturellement des coûts différents. Pour la CONFIDENTIEL - NE PAS DIFFUSER 63/230
64 Chapitre 2 : Capteurs captation de mouvement visée dans cette thèse, les coûts sont inférieurs à $1 par unité, alors qu ils peuvent atteindre des milliers de dollars dans le cas d accéléromètres conçus pour des applications spécifiques comme le spatial. Tableau 5 : caractéristiques des accéléromètres par utilisation ([DELAPIERRE 09]) Les accéléromètres bas coût visés pour la captation de mouvement ont vu leurs performances augmenter avec les avancées technologiques (Fig. 8) et présentent maintenant un bruit de l ordre de 10 μg/ Hz. CONFIDENTIEL - NE PAS DIFFUSER 64/230
65 Chapitre 2 : Capteurs Fig. 8 : Evolution du bruit des accéléromètres ([DELAPIERRE 09]) Les principaux fabricants d accéléromètre sont ([JAGER 07]) : Analog Devices, Bosch, Memsic, Ford Silicon Designs, Inc., Delphi, ST Microelectronics, Tronic s Microsystem, Motorola, Kionix, Honeywell, Colibris, Continental Temic Modèle de mesure La modélisation de la fonction de mesure de l accéléromètre est plus complexe car l accéléromètre mesure non seulement le champ gravitationnel mais aussi l accélération propre du capteur (voir 2.2). On doit donc exprimer, en fonction de notre chaine articulée, la position paramétrée du capteur (par les différents angles yaw, pitch, roll, les distances anatomiques et le déplacement d ensemble) et en calculer la dérivée analytique en fonction des différents angles yaw, pitch, roll et de leurs deux premières dérivées, des distances anatomiques et de l accélération d ensemble. Ensuite la mesure est alors la matrice de rotation du capteur multipliée par la différence entre la valeur de référence G0 et l accélération propre. C'est-à-dire : CONFIDENTIEL - NE PAS DIFFUSER 65/230
66 Chapitre 2 : Capteurs capteur G0 Acceleration _ propre i Mesure _ accéléromètre = MTerre * 0 0 capteuri RotationTerre *( G0 Acceleration _ propre) = 0 Terre d ² Translation capteur capteur i i RotationTerre *( G0 ) = dt² 0 (19) Comme on l a vu pour le magnétomètre, on a le choix sur la valeur de référence G0 : soit on considère le vecteur Z (dans le cas où l on prend l équation (43) pour B0), soit on choisit une valeur mesurée dans une position de référence voulue (si on utilise l équation (44)) Calibration capteurs (ou calibration électronique) Nous avons vu au paragraphe 2.2 que l accéléromètre triaxe est un capteur qui mesure une superposition du champ gravitationnel et de l accélération propre du capteur. Ses défauts sont modélisables de la même manière que ceux du magnétomètre (bien que les dépendances inter-voies soient beaucoup moins présentes car l orthogonalité des voies est assurée directement sur la puce). Pour la calibration, on utilise la même hypothèse que précédemment : la stabilité de la rotation dans un champ uniforme de valeur 1. Cependant cette hypothèse est plus contraignante pour l accéléromètre compte tenu de la présence de l accélération propre superposée. Il faut donc effectuer une rotation lente et en limitant les tremblements et vibrations : le plus simple est d utiliser des accéléromètres calibrés en usine (avec un protocole permettant de satisfaire les hypothèses nécessaires à l absence d accélération propre) dont les sensibilités ne varient quasiment pas au cours du temps et ne nécessitent donc pratiquement aucune réévaluation. CONFIDENTIEL - NE PAS DIFFUSER 66/230
67 Chapitre 2 : Capteurs Prétraitement capteur : normalisation et mise à l échelle La difficulté d utilisation des accéléromètres portés sur le corps humain est liée la présence de nombreuses accélérations parasites de type vibrations, mouvements cutanés. Pour traiter ce genre de problèmes, une étude fréquentielle des signaux a été mise en place. Malheureusement ce type de phénomène ayant pour causes physiques les mouvements, les fréquences mises en jeu sont souvent les mêmes que celle du mouvement. Cependant quelques fois, on peut repérer des fréquences au-delà de la fréquence du mouvement (voir Fig. 30 et Fig. 31). Pour simplifier la méthode, nous avons négligé cet effet dans nos travaux. Il n est donc pas simulé pour l exploitation des signaux BVH que nous proposons. Mais il serait à intégrer s il s avère nécessaire d affiner les estimations pour une application spécifique (suivi médical de précision inférieure au degré). La mesure d un accéléromètre n est par essence pas normalisée. En effet, la part gravitationnelle est naturellement normalisée, mais la part inertielle (accélération propre) est de norme libre. Lors d une forte accélération, cette norme peut devenir grande (de deux ordres de grandeur) devant la norme du magnétomètre normalisée ou pseudo-normalisée à 1. Nous avons donc choisi d exprimer les mesures accéléromètres en G plutôt qu en Newton et donc d avoir une norme unitaire en statique. De plus, nous proposons de supprimer la notion de norme de l accélération en normalisant les mesures réelles et les mesures simulées par la même valeur (celle des mesures réelles). C'est-à-dire qu à chaque instant on normalise la mesure accéléromètre et on utilise le même coefficient pour normaliser la mesure simulée : CONFIDENTIEL - NE PAS DIFFUSER 67/230
68 Chapitre 2 : Capteurs NormeAccéléro = MesureAccéléroréelle MesureAccéléroréelle MesureAccéléroréelle = NormeAccéléro MesureAccéléro MesureAccélérosimulée = NormeAccéléro simulée (20) 2.3. Gyromètre Principe Un gyromètre est un appareil de mesure de vitesse angulaire, c est-à-dire qu il donne une estimation de la rotation instantanée autour des axes de mesure. Son principe repose sur la détection de la rotation grâce à la force de Coriolis : la rotation engendrant un «transfert» des oscillations horizontales sur la verticale (voir schéma Fig. 9 pour l un des principes de mesure les plus largement répandus), l orientation dans le repère terrestre du capteur ne jouant pas sur son fonctionnement. CONFIDENTIEL - NE PAS DIFFUSER 68/230
69 Chapitre 2 : Capteurs L oscillation détectée est proportionnelle à : l oscillation forcée, la vitesse angulaire de la rotation autour de l axe perpendiculaire au plan Oscillation forcée Fig. 9 : Schéma de principe du gyromètre Principaux gyromètres du marché (issu de l état de l art) Les différents principes de capteur sont soit à structures MEMS (poutres vibrantes, diapasons, coques vibrantes, plaques vibrantes, ou encore structure non résonante) soit à structures MOEMS (Micro-Optical-ElectroMechanical Systems). Les principaux manufacturiers sont : ST Microelectronics, Invensense, (ces deux premiers sont les leaders du marché grand public), Silicon Sensing Systems (BAE Sumitomo), Systron Donner (BEI Technologies), Bosch, Delphi, SensoNor, Kionix, Analog Devices, MicrosensorsPanasonic-Matsushita, Murata, Toyota, Samsung, Honeywell Modèle de mesure Le gyromètre mesure le vecteur de vitesse de rotation. Ce vecteur est porté par l axe de rotation instantanée et a pour dimension la valeur algébrique de la vitesse de rotation instantanée autour de cet axe. CONFIDENTIEL - NE PAS DIFFUSER 69/230
70 Chapitre 2 : Capteurs vecteur vitesse rotation =Ω = ω * n (21) Où n est l axe de rotation et ω est la vitesse de rotation. Il existe des formules de calcul à partir du formalisme de Cardan avec les dérivées vers le vecteur vitesse de rotation ([TITTERTON 04]). ψ cϕ 0 sϕ 0 Ω= cψ sψ * ϕ 0 cψ sψ * * sψ cψ 0 0 sψ cψ sϕ 0 cϕ θ avec θ la dérivée de Yaw cϕ le cosinus de Pitch, sϕ son sinus, ϕ sa dérivée cψ le cosinus de Roll, sψ son sinus, ψ sa dérivée (22) Biais Le biais du gyromètre est lié aux changements de la température mais aussi à la technologie même des capteurs gyromètres MEMS. Ainsi même dans des environnements à températures stables, un biais conséquent apparait après seulement quelques minutes de fonctionnement. Il est donc indispensable de le prendre en compte pour exploiter les signaux d un gyromètre dans une station d attitude. Il y a deux solutions : soit le biais est calculé dès que le capteur apparait comme suffisamment immobile, soit le biais est considéré comme un état du système. La seconde solution est plus précise mais complexifie le système. Dans notre étude, nous utilisons la première solution avec un algorithme développé par Movea. CONFIDENTIEL - NE PAS DIFFUSER 70/230
71 Chapitre 2 : Capteurs Calibration capteur (ou calibration électronique) Les gyromètres présentent globalement les mêmes spécificités que les autres capteurs (offsets et matrice d orthonormalisation), par contre il n y a pas d uniformité du champ mesuré. Il est donc impossible d effectuer une calibration manuelle. Pour l offset, que l on appelle communément biais dans le cas des gyromètres (bien que ce terme corresponde plus à la notion d évolution de l offset), il suffit de laisser le capteur immobile : la mesure obtenue correspond directement au biais (il est naturellement préférable d effectuer un enregistrement de plusieurs secondes voire quelques minutes pour supprimer l influence du bruit de mesure). Malheureusement ce biais est très volatile et il faut le recalculer très régulièrement (idéalement plusieurs fois par heure), ce qui pose une vraie difficulté. C est pourquoi il est peut être préférable de l estimer en même temps que les orientations du capteur. Dans ce cas, il est considéré soit comme une variable d état soit calculé à partir des états et des mesures. Cependant nous n avons pas encore pu explorer ces possibilités. Nous utilisons actuellement un algorithme de suppression de biais développé par Movea, il est basé sur une détection des phases d immobilité et fonctionne comme décrit au début de ce paragraphe. Pour rappel, l objectif de cette thèse est de concevoir un système bas coût et à faible consommation. Il est donc nécessaire de limiter au maximum le nombre de gyromètres. Les autres termes, sensibilités et relations interaxes, étant non volatiles, sont calibrés en usine sur des bancs de tests contrôlés en vitesse angulaire Centrale d attitude Une centrale d attitude est un ensemble de capteurs permettant d évaluer l orientation (ou attitude) de l objet sur lequel il est fixé. Nous nous intéressons ici aux centrales de type inertiel et magnétique. Les différents capteurs ayant chacun des avantages et des défauts, la CONFIDENTIEL - NE PAS DIFFUSER 71/230
72 Chapitre 2 : Capteurs fusion des informations provenant de chacun permet de s affranchir de leur défaut pour obtenir une information d orientation précise Type de centrale Les différents capteurs disponibles pour réaliser une centrale d attitude inertielle et/ou magnétique sont les accéléromètres, les magnétomètres et les gyromètres. Le tableau cidessous résume les configurations rencontrées dans la littérature, leurs possibilités de métrologie et leur coût. Le prix des capteurs à l instant t n est pas significatif compte tenu de l évolution technologique rapide et de la pénétration des MEMS (et notamment des capteurs de mouvement) dans de nombreux marchés (dont l automobile). Ci-dessous, nous voyons l évolution des accéléromètres et des gyromètres en termes de marché et de prix. Bien entendu leur démocratisation dans la majorité des domaines fait fortement baisser leur prix unitaire. CONFIDENTIEL - NE PAS DIFFUSER 72/230
73 Chapitre 2 : Capteurs Type de capteurs Coût (pour l achat de centaine de milliers de pièces) Consommation Possibilités de métrologie Accéléromètre 0,72$ 2mW Assiette Assiette par Magnétomètre 0,80$ 2mW rapport au nord magnétique Orientation dynamique avec Gyromètre 1,62$ 5mW une forte dérive Vitesse angulaire avec un biais Accéléro-Magnéto 0,72$+0,80$=1,52$ 4mW Orientation statique Orientation Accéléro-Gyro 0,72$+1,62$=2,34 7mW dynamique mais dérive en cap Orientation Accéléro-Magnéto-Gyro 0,72$+0,80$+1,62$ =3,14$ 9mW dynamique Translation avec forte dérive Tableau 6 : Coût, consommation et possibilités de métrologie en fonction des modalités de mesure CONFIDENTIEL - NE PAS DIFFUSER 73/230
74 Chapitre 2 : Capteurs Fig. 10 : Evolution du marché et du prix des accéléromètres MEMS Fig. 11 : Evolution du marché et du prix des gyromètres MEMS Ces tableaux sont issus d un état de l art fourni par Movea Centrales du commerce Avec l essor de la captation de mouvement, de nombreuses sociétés ont développé leur solution de mesure. Voici un rapide tour d horizon des différents acteurs du marché ainsi que de leurs produits. CONFIDENTIEL - NE PAS DIFFUSER 74/230
75 Chapitre 2 : Capteurs Produit Technologie Société Prix Lien Cible marché Caractéristiques R500 Range of Motion Kit Simple goniomètre électronique Scott medicals Santé +VAT Logiciel et matériel : Goniomètre petit doigt et goniomètre grand doigt. Électronique d'évaluation du membre supérieur et de la main, les goniomètres importants peuvent être utilisés pour évaluer les grandes articulations. Livré avec le logiciel. Fenêtre de sélection polyvalente. MTx Triaxial accéléromètr e magnétomètr e, gyroscope Xsens /product.php?url_=product_ mocaptrack_xsens_mtx&sub CatID_=17 Santé, sport, divertissement, ergonomie Logiciel et matériel : Xsens Technologies B.V. offre des unités de mesure 3D en utilisant la technologie MEMS miniature de capteur inertiel. CONFIDENTIEL - NE PAS DIFFUSER 75/230
76 Wireless Inertia cube PATRIO T Triaxial accéléromètr e magnétomètr e, gyroscope Technologie de tracking (courant alternatif) Système de reconstruction cinématique corps entier : fusion et exploitation de données issues de MEMS Chapitre 2 : Capteurs Logiciel et matériel : Il s'agit d'un système inertiel à 3 degrés de liberté de suivi d'orientation qui détecte la vitesse angulaire de InterSens 3705$ e /product.php?url_=product_ mocaptrack_intersense_inertia cube2&subcatid_=0 Santé, sport, divertissement, ergonomie rotation, la gravité et le champ magnétique de la terre selon trois axes perpendiculaires. Avec le kit de développeurs de logiciels InterSense (SDK), l InertiaCube3 est vendu comme «livré avec un logiciel de calibration fournissant une compensation pour les distorsions du champ magnétique statique» sans qu on sache exactement ce qu il en est. Polhemu 2275 s Santé, sport, divertissement, ergonomie Logiciel et matériel : PATRIOT est une solution à six degrés de liberté de suivi et de numérisation 3D pour le suivi de la tête, l'analyse biomécanique, de l'infographie, le contrôle du curseur, et la localisation. CONFIDENTIEL - NE PAS DIFFUSER 76/230
77 FAB Motion node TSD109 C (±5G) Triaxial accéléromètr e magnétomètr e, gyroscope Triaxial accéléromètr e magnétomètr e, gyroscope Triaxial accéléromètr e Système de reconstruction cinématique corps entier : fusion et exploitation de données issues de MEMS Chapitre 2 : Capteurs Logiciel et matériel : The Functional Assessment of Biomechanics Bio syn 3000 systems nloads/documents/sensors/bio synfabsystem.pdf Santé, sport, divertissement, ergonomie FAB est un réseau de capteurs de 3 dimensions pour le suivi de tous les mouvements du corps en temps réel. 6 degrés de liberté et enregistrement du mouvement à 15 Hz. Le système comprend aussi des capteurs FAB cheville et pied pour suivre de support de poids. GLI Santé, sport, Logiciel et matériel : Motion Node est une unité de mesure 3-DOF Interactiv $ divertissement inertielle (IMU) pour utilisation dans les applications de détection de e LLC, ergonomie mouvement. Pour les applications de détection de mouvement. Biopac systems? incorpora ted Santé, sport, divertissement, ergonomie Logiciel et matériel : optimale pour mesurer les accélérations lors de l'exécution des mouvements lents, comme la marche et le tremblement des mains. CONFIDENTIEL - NE PAS DIFFUSER 77/230
78 TSD109 F (±50G) BEP VII Locomet rix Triaxial accéléromètr e Triaxial accéléromètr e Système de reconstruction cinématique corps entier : fusion et exploitation de données issues de MEMS Chapitre 2 : Capteurs Biopac systems? incorpora ted rch.asp?pid=4678&main=tra nsducers Santé, sport, divertissement, ergonomie Logiciel et matériel : mesure les accélérations lors de l'exécution des mouvements rapides, comme une raquette de tennis. Plus approprié pour les mouvements lents, comme la marche et le tremblement des mains Human Performa nce $1800 Measure ment, Inc Santé Logiciel et matériel : Système modulaire conçu pour mesurer des amplitudes de mouvement pour la plupart des articulations du corps humain en utilisant une tête de détection portatifs (BEP VII-2 est vendu séparément) qui comprend une technologie de capteurs permettant de mesurer dans n'importe quelle orientation (c'est à dire qu'elle n'est pas affectée par la gravité) Centaure Metrix Santé Logiciel et matériel : dispositif de détection de mouvement basé sur un accéléromètre 3 axes qui contient un logiciel et qui est spécialisé dans l'analyse de la marche, de la stabilité dynamique et des contraintes mécaniques CONFIDENTIEL - NE PAS DIFFUSER 78/230
79 K Vest &K Health e-ar Triaxial accéléromètr e magnétomètr e, gyroscope Triaxial accéléromètr e Système de reconstruction cinématique corps entier : fusion et exploitation de données issues de MEMS Chapitre 2 : Capteurs Logiciel et matériel : K-Health fusionne la technologie sans fil de Kmotion $9,995 Inc Santé, sports, ergonomie capteur 3-D avec l'interface du logiciel pour mesurer la dynamique du mouvement de chaque articulation de l'organisme. Le système K- Health propose de collecter en continu les données. Il se compose de 4 capteurs sans fil rechargeables, un gilet ergonomique et des vêtements sangles Logiciel et matériel : e-ar est un outil basse consommation et SENSIX? A Santé, sport, divertissement miniature de suivi d activité pour le bien être, l entrainement personnel et le sport professionnel. Sa conception et sa puissance de traitement du signal sont inspirés par les canaux semi-circulaires de l'oreille interne. Cela signifie que le capteur est très sensible, et non intrusif. CONFIDENTIEL - NE PAS DIFFUSER 79/230
80 DynaPor t RT3 Triaxial accéléromètr e Triaxial accéléromètr e Système de reconstruction cinématique corps entier : fusion et exploitation de données issues de MEMS Chapitre 2 : Capteurs Logiciel et matériel : The DynaPort Tri Acc contient trois capteurs d'accélération perpendiculaire. Chaque capteur mesure l'accélération Mc à une fréquence d'échantillonnage de 100 Hz. Une DynaPort Tri Acc Roberts moving 2000 technolo Santé, sports, ergonomie standard peut mesurer jusqu'à deux fois la gravité dans les deux sens (± 2 g), pour le mouvement quotidien de l'homme à intensité modérée comme la marche normale. A ± 10 g pour des mouvements plus gy explosifs (sport). Les capteurs sont piézo-capacitifs, ce qui signifie qu'ils sont capables de mesurer les accélérations statiques et dynamiques. Logiciel et matériel : The RT3 Tri-axial Research Tracker est une mesure de l'activité et un dispositif d'enregistrement. Il est conçu stay 600 healthy Santé comme un enregistrement complet des activités et de mesure pour des applications cliniques et de recherche. Le RT3 a la taille d'un biper et est porté à la ceinture. Fournit des données vectorielles triaxiales de l'activité CONFIDENTIEL - NE PAS DIFFUSER 80/230
81 PAL trio Bluetoot h IMU Triaxial accéléromètr e Triaxial accéléromètr e magnétomètr e, gyroscope Système de reconstruction cinématique corps entier : fusion et exploitation de données issues de MEMS Chapitre 2 : Capteurs Pal technolo? gies Santé, sports, divertissement Logiciel et matériel : La plateforme ActivPAL possède un accéléromètre triaxe pour les études de recherche. Ces dispositifs offrent une gamme de fréquences d'échantillonnage et d options de filtrage Memsens $ 1699 Santé, sports, divertissement Logiciel et matériel : La série de produits IMU Bluetooth fournit en série les sorties numériques de l'accélération 3D, de vitesse angulaire de rotation 3D, et du champ magnétique en 3D dans un paquet miniature : 1,685 x 2,135 x 0,437 pouces. Tableau 7 : Etat de l'art des centrales d'attitude du commerce (source Movea) CONFIDENTIEL - NE PAS DIFFUSER 81/230
82 Chapitre 2 : Capteurs Centrales utilisées pendant la thèse Durant la thèse, nous avons disposé de deux types de centrale, les MotionPod TM et les MTx TM, nous allons les décrire dans les paragraphes ci-dessous MotionPod TM Il y a eu au total 3 versions de la MotionPod TM. Nous évoquerons leurs différences au cours de la présentation dans les paragraphes suivants. Hardware La MotionPod TM ou StarWatch, nom interne au CEA (StarWatch étant une marque déposée n appartenant pas au CEA), est une centrale d attitude sans fil composée d un accéléromètre triaxe et d un magnétomètre triaxe (formé d un magnétomètre plan et d un magnétomètre mono-axe). Elle provient d une centrale d attitude filaire développée au CEA appelé Trident. Elle est aussi appelée MotionPod v1. C est un prototype de laboratoire utilisé pour la recherche au sein du CEA. Les StarWatch communiquent via une liaison sans-fil propriétaire à 2,4 GHz. Les données sont récupérées sur un PC grâce à un boitier, appelé communément MotionControleur TM, relié au PC par une liaison USB. C est un des éléments ayant fait l objet de la création d une start-up : Movea. Cette société a alors industrialisé cette StarWatch pour concevoir la MotionPod TM v2, très proche de la StarWatch. Enfin la MotionPod TM v3 est la nouvelle version de cette centrale d attitude, à laquelle a été ajouté un gyromètre triaxe. Les performances des capteurs (accéléromètre et magnétomètre) en termes de bruit ont été améliorées par rapport aux précédentes versions. CONFIDENTIEL - NE PAS DIFFUSER 82/230
83 Chapitre 2 : Capteurs Logiciels associés Les premiers logiciels associés à la StarWatch ont été des logiciels de lecture directe² des mesures des capteurs à un format brut. Ils permettent de sauvegarder ces données dans un fichier (ex : l application Starlog). Ensuite dans la démarche de création de Movea, une API a vu le jour. Elle s appelle Smart Motion Developpement Kit (MDK) et implémente de nombreux algorithmes mis au point au CEA ou chez Movea. Elle permet notamment d obtenir des mesures brutes et calibrées, ou une estimation de l orientation grâce aux algorithmes statiques pour les premières versions de la MotionPod TM et cinématique pour la troisième. Aujourd hui, la version 3 du SMDK permet d adresser des centrales inertielles et magnétiques à 9 axes et délivrent des fonctions de calibration pour tous les capteurs, des informations particulières sur chaque capteur du réseau (niveau de batterie, durée d inactivité avant extinction automatique, ), les orientations en 3 dimensions, pour des mouvements lents ou rapides, les mesures calibrées de chaque axe, ) A terme, les algorithmes développés dans le cadre de la thèse ont vocation à venir enrichir cette API Xsens Le MTx TM est une centrale d attitude développée à l université de Twente (Pays-Bas). Elle a aussi donné lieu à la création d une entreprise : Xsens. Contrairement à la MotionPod TM, le MTx TM que nous possédons est filaire (bien qu il en existe maintenant des sans fil), ce qui rend l utilisation plus complexe : le capteur devant être relié au PC qui fait les acquisitions ou à un Xbus Master permettant l acquisition synchronisée de plusieurs capteurs, le Xbus Master étant, lui, relié au PC soit par liaison radio, soit par fil. Dans ce dernier cas, l intérêt pour l utilisateur est de disposer d une liaison sûre, sans perte de données. Le MTx TM possède un accéléromètre triaxe, un CONFIDENTIEL - NE PAS DIFFUSER 83/230
84 Chapitre 2 : Capteurs magnétomètre triaxe et un gyromètre triaxe. Il est associé à des logiciels dédiés qui permettent d obtenir les mesures brutes, calibrées ou les données angulaires dans des fichiers. Il possède aussi une API pour récupérer ces données dans un programme. Les traitements qui fournissent les orientations dynamiques semblent être embarqués dans un microprocesseur à l intérieur du boitier capteur Calibration conjointe La dernière étape de calibration d une centrale d attitude consiste à aligner les triaxes de modalités différentes ensembles. Cet alignement peut être fait (comme dans le cas des MotionPod TM de Movea) de façon matérielle, via l alignement mécanique des orientations des différentes puces sur le PCB, ou encore de façon logicielle. Pour ce dernier cas, il existe plusieurs méthodes. La première consiste à effectuer une série de mesures et à chercher par optimisation la rotation présente entre les séries de mesures des vecteurs G et B (en s appuyant sur le fait que les 2 vecteurs forment un angle constant). Cette technique permet d aligner le magnétomètre et l accéléromètre mais ne prend pas en compte le gyromètre. La seconde méthode consiste à retrouver l expression d un ou plusieurs axes particuliers du boitier dans le repère de l accéléromètre et dans celui du magnétomètre (et du gyromètre si besoin). Pour ce faire, on effectue des mouvements contraints (rotations planes suivant les axes à déterminer (étape 1 sur le schéma ci-dessous) et on utilise la connaissance a priori du vecteur constant ([BONNET 09]) pour retrouver l expression de ces axes dans les repères capteurs (accéléromètre et magnétomètre). Pour le gyromètre, on obtient directement l axe avec la mesure (voir modèle de mesure du gyromètre 2.3.3). Ensuite, si on procède de même pour un autre axe (non colinéaire) (étape 2 sur le schéma ci-dessous), on peut trouver la matrice de passage entre les deux (ou trois) modalités de mesure. Il peut être intéressant pour l utilisateur d effectuer ces rotations selon des axes du boitier support de la centrale CONFIDENTIEL - NE PAS DIFFUSER 84/230
85 Chapitre 2 : Capteurs pour aligner les axes de rotation des mesures avec ceux du boitier. Cette calibration se traduit par deux (ou trois) matrices de rotation qui «tournent» les mesures des différentes modalités (magnétométrique, accélérométrique, voire gyrométrique si besoin) pour les aligner dans un même repère. Matrice _ passage = [ Axe _ Y Axe _ Z, Axe _ Y, Axe _ Z], étant le produit vectoriel (23) Fig. 12 : Schéma de la calibration conjointe CONFIDENTIEL - NE PAS DIFFUSER 85/230
86 Chapitre 2 : Capteurs 2.5. Conclusion Nous avons pu voir dans ce chapitre les caractéristiques des capteurs que nous utilisons et les détails de leur utilisation pratique. Notamment nous avons mis en évidence le rôle des gyromètres qui sont chers et consommateurs d énergie, cela nous permet de conclure qu il faut limiter au maximum leur nombre afin de répondre au mieux aux contraintes évoquées dans le premier chapitre. Nous avons aussi vu les modèles de mesures de ces capteurs. Il nous faut maintenant modéliser leur mouvement sur le corps humain afin d obtenir le modèle de mesure capteur en fonction des mouvements humains. C est l objet du prochain chapitre. CONFIDENTIEL - NE PAS DIFFUSER 86/230
87 Chapitre 3 : Modélisation du corps humain Chapitre 3 Modélisation du corps humain Dans ce chapitre, nous expliquons comment modéliser le corps humain et ses mouvements sous forme mathématique, cette méthode peut s appliquer aussi à tout corps constitué de solides en rotation pure les uns par rapport aux autres. Cette modélisation permet ensuite de construire les fonctions de mesure des capteurs en fonction du mouvement. Il est important de noter ici que contrairement à la plupart des études sur le sujet comme [LUINGE 02] nous modélisons totalement l accélération propre du capteur et ne la voyons pas comme une perturbation mais comme une information à séparer de l information de gravitation dans le signal provenant des accéléromètres. CONFIDENTIEL - NE PAS DIFFUSER 87/230
88 Chapitre 3 : Modélisation du corps humain 3.1. Description du modèle poly-articulé Description corps humain en tant que chaîne articulée Le corps humain est modélisé comme une série de solides liés par des rotations (liaison rotule, rotule à doigt ou pivot). Mathématiquement cela s exprime par des matrices de changement de repères ou matrices de transformation, qui comprennent l information de rotation et de translation. A chaque segment est associé un repère ayant pour origine la liaison avec le segment précédent. Les segments sont ordonnés à partir d un segment racine qui est lui-même repéré par rapport à un repère terrestre. C est dans ce sens que l on entend ici le terme «précédent» : celui qui le précède dans le chemin pour remonter jusqu au segment racine. On nomme souvent cette modélisation «système poly-articulé» ; on peut aussi la définir comme un «modèle géométrique» car elle ne prend en compte que les propriétés géométriques du corps humain (ou plutôt de sa représentation, le corps humain n étant pas réellement un ensemble de solides). Par opposition, de nombreuses modélisations du corps humain font intervenir le poids des segments, les muscles et/ou les couples articulaires et dans ce cas nous pouvons parler de modélisation biomécanique. Dans la partie 3.3, nous verrons comment utiliser une telle modélisation biomécanique pour simuler les mesures d un système de captation de mouvement corps entier inertielle et magnétique. CONFIDENTIEL - NE PAS DIFFUSER 88/230
89 Chapitre 3 : Modélisation du corps humain Y Z X Y X Z Fig. 13 : Description des repères liés aux segments A chaque segment, symbolisé ici par les rectangles, on associe un repère avec X selon la longueur principale du segment, Z vers le bas et Y selon une troisième direction pour former une base orthonormée directe La modélisation permet ainsi de calculer la position dans le repère terrestre choisi en fonction des variables d état (qui paramètrent les rotations entre les segments du corps). Cette modélisation permet ensuite de modéliser aisément les mesures des capteurs en fonction de leur positionnement (et orientation) sur le segment (voir la section ). L objectif est donc d avoir une matrice de changement de repère entre chaque segment et le repère terrestre choisi. Il est naturel de faire apparaitre dans cette modélisation les éléments que l on peut exprimer facilement, notamment les longueurs anatomiques des segments dans leur propre repère, qui correspondront à des translations entre les repères. CONFIDENTIEL - NE PAS DIFFUSER 89/230
90 Chapitre 3 : Modélisation du corps humain Pour cela, il y a au moins deux possibilités, exprimer les rotations de façon relative : chaque repère associé à un segment est défini à partir du précédent, et de proche en proche il est défini par rapport à la Terre : nous nommerons cette approche «référence relative» ou «approche relative» chaque repère est directement orienté par rapport à la Terre, nous parlerons alors d approche «référence globale» ou «approche globale» Matrice de transformation Une matrice de transformation s écrit : Rotation Translation Matrice _ transformation = R T = (24) Elle est formée d une matrice de rotation : R R R 1,1 1,2 1,3 = = 2,1 2,2 2,3 Rotation R R R R R R R 3,1 3,2 3,3 (25) Et d un vecteur de translation : TranslationX Translation = T = Translation Y Translation z (26) On peut alors appliquer une matrice de transformation à un point P via la relation suivante (les différents éléments étant bien entendu exprimés dans le même repère sinon cela n aurait pas de sens) : CONFIDENTIEL - NE PAS DIFFUSER 90/230
91 Chapitre 3 : Modélisation du corps humain Matrice_transformation* P = Rotation* P+Translation (27) Avec Px Py P = P z 1 (28) Les {Pi} sont les coordonnées géométriques du point P. De même, on peut appliquer une matrice de transformation à un vecteur U via la relation suivante (les différents éléments étant bien entendu exprimés dans le même repère sinon cela n aurait pas de sens) : (29) Matrice_transformation* u = Rotation* u Avec U x U y u = U z 0 (30) Les {Ui} sont les coordonnées du vecteur u. Remarque : dans les exemples ci-dessus, on peut voir que la translation s effectue «avant» la rotation, il peut donc être opportun de séparer le mouvement en deux matrices et de les multiplier pour effectuer la translation dans le repère «tourné», c est à dire : CONFIDENTIEL - NE PAS DIFFUSER 91/230
92 Chapitre 3 : Modélisation du corps humain Rotation Translation Matrice _ transformation = * Rotation Rotation* Translation = R R* T = (31) Chaine articulée avec référence relative Lorsqu on parle de référence relative, on entend que l orientation de chaque segment est exprimée dans le repère du précédent. Cette méthode est couramment utilisée dans l état de l art, comme dans HuMaNS par exemple Expression des matrices de transformation Dans le cas de la modélisation en relatif, les matrices associées aux segments autres que le segment racine prennent la forme suivante : segk+ segk+ 1 segk+ 1 R 1 seg T k segk Mseg =, k > 2 k 0 1 (32) seg k 1 Avec Translation seg fixé par les mensurations de la personne étudiée et k segk 1 Rotation seg paramétrée par les variables d état choisies (voir 3.2). k Le segment racine peut prendre deux formes selon que l on soit ou non dans l hypothèse point fixe en translation (voir 3.1.6) CONFIDENTIEL - NE PAS DIFFUSER 92/230
93 Chapitre 3 : Modélisation du corps humain seg1 seg R 1 Terre 0 MTerre =, si point fixe 0 1 seg1 seg1 seg R 1 Terre T Terre MTerre =, si pas de point fixe 0 1 (33) seg1 Là encore on paramètre R avec les variables d état. Par contre, le terme 1 Terre seg T Terre n est pas paramétré : on fera uniquement intervenir l expression exprimant l accélération du point de base du squelette, accéléromètres. ² Acc _ base = seg1t Terre t², dans les fonctions de mesure des Enfin, on définit la matrice de transformation du repère capteur i vers le segment i qui porte ce capteur par : capteurk M segk capteurk capteurk Rseg T k segk = (34) Et on paramètre cette transformation par l orientation du capteur sur le segment et la position du capteur sur le segment données dans le repère du segment Formulation finale Par multiplication de matrices, on obtient le changement de repère entre chaque paire de segments et notamment entre chaque segment et le repère terrestre fixe, en utilisant : seg seg seg M = M * M j j k segi segk segi (35) De proche en proche, on exprime la matrice de transformation entre la Terre et chacun des segments par : CONFIDENTIEL - NE PAS DIFFUSER 93/230
94 Chapitre 3 : Modélisation du corps humain segk seg k R T = = segk Terre Terre MTerre... i {Chemin entre Terre et segment k} k j= 1 i< j seg i précéceur ( i ) seg segi j R seg * T précéceur () i seg précéceur ( j) 1 R seg (36) Donc au final, on obtient la matrice de transformation du repère capteur vers le repère terrestre fixe, c'est-à-dire : M capteurk capteurk R T = capteurk Terre Terre Terre (37) Enfin, par inversion, on obtient facilement les matrices (pour tout i) : = capteurk 1 capteurk 1 capteurk Terre ( RTerre ) ( RTerre) *( TTerre ) M capteur k (38) Les deux matrices Terre M et i Terre sont donc paramétrées par les variables capteur i capteur M d état exprimant la rotation entre les repères (ou segments), l accélération d ensemble et des variables de configuration du système : positions et orientations des capteurs et longueurs anatomiques. CONFIDENTIEL - NE PAS DIFFUSER 94/230
95 Chapitre 3 : Modélisation du corps humain Chaine articulée avec référence terrestre Lorsqu on parle de référence terrestre, on entend que l orientation de chaque segment est directement exprimée dans le repère terrestre Expression des matrices de transformation Dans la modélisation globale ou dans le repère terrestre, il y a une petite difficulté due aux paramètres de longueur anatomique. En effet, ces paramètres s exprimant naturellement dans les repères liés aux segments, il est nécessaire d effectuer un changement de repère vers le repère global. On définit directement la matrice de transformation du repère segment i vers le repère terrestre fixe, c'est-à-dire : segi segi R T = segi Terre Terre MTerre (39) Et on paramètre la rotation par les variables d état. La translation n est pas paramétrée à ce stade Formulation finale Par multiplication de matrices on peut exprimer les matrices de transformation permettant de passer du segment k au segment k+1 : segk+ 1 segk+ 1 Terre Mseg = M * k Terre Msegk (40) Avec CONFIDENTIEL - NE PAS DIFFUSER 95/230
96 Chapitre 3 : Modélisation du corps humain = segk 1 segk 1 segk Terre ( RTerre ) ( RTerre) *( TTerre) M seg k (41) Cela donne = segk segk+ 1 1 seg R *( ) k 1 Terre R + Terre M segk T R R T segk segk segk+ 1 1 segk+ 1 Terre Terre *( Terre) *( Terre ) 1 (42) On paramètre cette translation par les longueurs anatomiques et on fait le remplacement suivant pour que la lecture soit plus simple : segk segk segk segk+ 1 1 segk+ 1 Tseg = T *( ) *( ) k 1 Terre RTerre RTerre T + Terre (43) On a donc en fonction des matrices (et vecteurs pour les translations) paramétré(e)s : seg k M Terre k 1 segk segi seg i+ 1 RTerre RTerre * Tsegi = i= (44) On a alors aisément, par multiplication, les matrices capteuri M Terre paramétrées par les variables d états et les longueurs anatomiques Conclusion Lorsqu on reprend les formules de segk M Terre pour les deux formulations, on voit que la méthode globale implique uniquement des sommes, ce qui est beaucoup simple que les CONFIDENTIEL - NE PAS DIFFUSER 96/230
97 Chapitre 3 : Modélisation du corps humain produits de matrices de la méthode relative. En termes mathématiques la formulation globale est plus linéaire par rapport aux variables d état que la formulation relative. Or il est connu qu un problème d estimation est d autant plus complexe à inverser qu il possède de fortes non linéarités. Pour valider ces affirmations, nous avons tracé la différence de l erreur moyenne de linéarisation pour cent exemples sur un squelette à trois segments entre le cas relatif et le cas global : Mersure Erreur linéarisation = Mesure( Etat + detat ) Mesure ( Etat) + * detat Etat (45) Avec detat variable aléatoire gaussienne d écart type 1 e -2. Afin de calculer les erreurs à la même orientation effective, nous avons adaptés la variable Etat à la formulation. On voit que la différence pour le premier segment est nulle, car les deux formulations reviennent au même pour ce segment. Par contre pour les segments n 2 et 3, la différence est positive et donc la formulation relative est entachée d une erreur plus grande. De plus, la différence sur l accéléromètre est plus grande ce qui est dû à un ordre de grandeur plus important de la mesure accéléromètre (par rapport à la mesure du magnétomètre) et donc de l erreur de linéarisation de l accéléromètre. Il est donc préférable de choisir la formulation globale. CONFIDENTIEL - NE PAS DIFFUSER 97/230
98 Chapitre 3 : Modélisation du corps humain Fig. 14 : Différence d'erreur de linéarisation sur le magnétomètre Fig. 15 : Différence de l'erreur de linéarisation sur l accéléromètre CONFIDENTIEL - NE PAS DIFFUSER 98/230
99 Chapitre 3 : Modélisation du corps humain Point fixe Une fois le système décrit, il reste trois degrés de liberté pour le système qui sont observables sur les mesures accélérométriques : la translation du point de base dans le repère terrestre. Il faut donc y associer trois états du système. Nous avons vu dans la partie 2.2 que seule la dérivée seconde de cette translation apparait dans la modélisation de l accéléromètre. Nous proposons donc de considérer directement l accélération du point de base comme état du système, ces états n apparaissant que dans la fonction de mesure des accéléromètres. Cela donne lieu à deux modes d utilisation : le mode fixe (ou mode avec point fixe), le mode libre (ou mode sans point fixe). Dans le mode fixe nous imposons un point qui est immobile dans le repère terrestre, ce point sera la base du squelette. Nous choisissons alors de décrire le système à partir de ce point fixe. Nous avons pour l instant seulement une base à notre squelette fixé une fois pour toute. Il semblerait intéressant d avoir un modèle plus flexible pouvant modifier dynamiquement la base en fonction de l immobilité des segments, pour pouvoir utiliser l hypothèse point fixe plus souvent. Par opposition, le mode libre ne possède pas de segment immobile dans le repère terrestre par hypothèse. La base est alors choisi au centre du squelette (c'est-à-dire pour avoir les plus petites chaines jusqu aux extrémités). Dans nos travaux, nous avons validé cette idée en générant (voir 3.3.1) le mode libre et le mode fixe à partir du bassin car cela correspond à la base dans le format BVH (voir 6.2.1). Pour l application finale, le segment fixe sera souvent un pied comme dans le cas de la marche. Pour étendre le concept à ce cas, il suffit de générer deux modèles ayant pour points fixes un pied ou l autre, et d alterner entre ces deux modèles selon les pas. Il est même possible d en combiner plusieurs, si plusieurs segments sont fixes afin de multiplier les contraintes géométriques et renforcer la précision. Pour choisir le modèle à utiliser CONFIDENTIEL - NE PAS DIFFUSER 99/230
100 Chapitre 3 : Modélisation du corps humain parmi plusieurs disponibles, il faut utiliser la détection de pseudo-immobilité (développée au paragraphe ) ou bien calculer les angles statiques et vérifier qu ils bougent peu Choix du paramétrage Un fois les rotations définies, il faut faire un choix pour les paramétrer. Il existe essentiellement trois façons de paramétrer les rotations : les coefficients des matrices de rotation, les quaternions ou enfin des angles ([KUIPERS 02]) Rotation Matrice C est la méthode la plus simple pour représenter une rotation. En effet une matrice de rotation est une matrice orthogonale de déterminant 1. On calcule l image P d un point P par une rotation paramétrée par une matrice de rotation R via l équation simple suivante : P = R * P (46) L avantage de cette représentation est sa simplicité et sa linéarité. Un autre avantage est l unicité de la représentation obtenue, c'est-à-dire qu il existe une seule matrice de rotation transformant un ensemble de points en un autre ensemble de points image par rotation. L inconvénient est le respect de la condition «orthogonale de déterminant 1» : cela a pour effet de lier les termes de la matrice les uns aux autres, ce qui est très difficile à respecter dans le cadre d un algorithme de suivi de paramètres, notamment dans le cadre d un filtre de Kalman qui demande des paramètres libres (non bornés). De plus, l interprétation par l utilisateur d une matrice de rotation n est pas directe et nécessite éventuellement de changer de représentation. CONFIDENTIEL - NE PAS DIFFUSER 100/230
101 Chapitre 3 : Modélisation du corps humain Quaternion Contrairement aux angles qui ne sont qu un paramétrage des matrices de rotation, les quaternions sont une représentation différente de la rotation. Un quaternion est un ensemble de quatre valeurs qui généralise la notion mathématique de complexe. Une rotation peut être représentée par un quaternion unitaire Q (c'est-à-dire tel que la somme du carré de ses termes vaut 1). On peut alors faire l analogie : cos( θ ) nx *sin( θ ) Q = n *sin( ) y θ nz *sin( θ ) (47) Il représente la rotation d axe n et d angle 2. Pour calculer, l image d un point P, on utilise l équation suivante : P ' = Q * P * Q * (48) Où * Q est le conjugué de Q soit : Q * cos( θ ) nx *sin( θ ) = n * sin( ) y θ nz *sin( θ ) (49) L intérêt est que cette représentation est facilement interprétable. Un problème numérique existe autour de l angle nul. En effet, il sera impossible d avoir une bonne estimation du vecteur si l angle est trop petit, encore une fois à cause des instabilités numériques. Un autre avantage est le nombre limité de paramètres. On peut même les limiter à trois, en exprimant l un à partir des quatre autres, grâce à la condition de normalisation. CONFIDENTIEL - NE PAS DIFFUSER 101/230
102 Chapitre 3 : Modélisation du corps humain L un des problèmes est la limitation du nombre de degrés de liberté. En effet, s il n y a qu un degré de liberté, il suffit de fixer le vecteur n. Par contre, s il y en a deux, cela peut s avérer problématique, bien qu on puisse toujours exprimer n comme la combinaison linéaire de deux vecteurs d un plan ou de construire une composition de deux rotations. Dans le cadre de l utilisation des quaternions, les multiplications de matrices sont remplacées par des doubles multiplications de quaternions (équation (36)). La formulation des translations est moins simple qu avec les matrices de transformation, mais reste tout à fait envisageable Triplet d angles Une solution pour passer outre les inconvénients liés aux conditions des matrices de rotation est de paramétrer cette matrice de rotation par des paramètres libres. Le paramétrage le plus classique est les triplets d angles. Ceux-ci permettent d exprimer la rotation selon trois angles relatifs à des axes. Il existe plusieurs solutions pour choisir ces angles. Par exemple, on peut choisir le paramétrage de Cardan traditionnellement utilisé au CEA (Lacet Tangage Roulis, Yaw Pitch Roll en anglais) : le yaw est la rotation autour de z, le pitch est la rotation autour de y (image de y par la rotation de [yaw 0 0]), le roll est la rotation autour de x (image de x par la rotation de [yaw pitch 0] ou de x par [0 pitch 0]). CONFIDENTIEL - NE PAS DIFFUSER 102/230
103 Chapitre 3 : Modélisation du corps humain 2 ième rotation Y Y Y 3 ième rotation 1 ère rotation Z Z Z X X X Fig. 16 : Schéma de description des angles de Cardan Il existe d autres paramétrages que le paramétrage de Cardan ayant chacun sensiblement les mêmes avantages et inconvénients. La matrice de rotation s exprime alors par : cp * cy cp * sy sp Rotation = sr* sp* cy cr* sy sr* sp* sy cr* cy sr* cp + cr * sp * cy + sr * sy cr * sp * sy sr * cy cr * cp avec cy = cos( yaw) sy = sin( yaw) cp = cos( pitch) sp = sin( pitch) cr = cos( roll) sr = sin( roll) (50) Les avantages sont : L absence de condition sur les matrices qui sont unitaires par nature la présence de paramètres indépendants les uns des autres. CONFIDENTIEL - NE PAS DIFFUSER 103/230
104 Chapitre 3 : Modélisation du corps humain On peut limiter le nombre de degrés de liberté très facilement en bloquant un angle à 0 (ou à une autre valeur bien entendu) dans le cas de la formulation relative ou en reliant deux angles par une équation. Cela s avère très pertinent dans le cadre de la captation corps entier, car certaines articulations possèdent un nombre restreint de degrés de liberté (comme le genou par exemple). yaw segmentk = f ( yaw ) segmentk 1 [ ] avec f du style f( x) = x+ b, b ππ, (51) Enfin, un dernier avantage est que les angles sont relativement faciles à interpréter sauf dans le cas du Gimbal Lock (voir ci-dessous). L inconvénient principal est le Gimbal Lock : c est une perte de dimension de la rotation dans certaines configurations. On appelle cela les pôles de la rotation. Il a lieu dans les configurations, où la valeur absolue de pitch vaut /2. Les axes z et x sont alors confondus ou opposés et il y a une infinité de solutions pour la détermination des angles yaw et roll, tant qu ils respectent une des deux contraintes suivantes : π yaw + roll = 0, pour pitch = 2 π yaw roll = 0, pour pitch = 2 (52) La constante est déterminée par l orientation, et le signe de l équation par le sens relatif de z et x. De plus, à cause des problèmes numériques inhérents à l utilisation d un calculateur, le Gimbal Lock apparait dès que la valeur absolue du pitch approche de 2 π, selon la précision de la machine. Un autre problème vient de l instauration de limites sur les angles (c'est-à-dire qu on peut CONFIDENTIEL - NE PAS DIFFUSER 104/230
105 Chapitre 3 : Modélisation du corps humain vouloir limiter par exemple l angle yaw entre deux valeurs et ). Pour cela, il faut reprendre le processus et paramétrer l angle yaw grâce à une variable libre pour pouvoir utiliser un algorithme de filtrage prédictif. Un paramétrage couramment utilisé est celui de Rodrigues ([ROBERSON 84]) : β α yaw = *sin( param) + α 2 (53) La variable d état devient alors param Conclusion Dans la thèse nous avons choisi d utiliser les angles de Cardan par simplicité. En effet, ils n impliquent aucune contrainte, qui est une notion difficile à transposer dans le formalisme d un filtre de Kalman. De plus, les angles permettent de façon élégante de limiter le nombre de degrés de libertés, bien que nous n ayons pas exploité l apport d une telle possibilité dans nos travaux Vecteur de mesure : Modèle direct Simulations des mesures Pour simuler les mesures, on utilise la modélisation en chaîne articulée. L intérêt est qu elle permet de prendre en compte des hypothèses très simples mais primordiales dans l inversion du problème direct : elle modélise le fait qu il n y pas de translation entre les segments du corps mais uniquement des rotations pures, et éventuellement que certaines rotations sont impossibles ou limitées (limitation des degrés de libertés de certaines articulations comme le genou). Dans la pratique nous n avons pas utilisé cette possibilité car les mouvements BVH utilisés (voir 6.2.1), n ont pas mis en évidence de réelles CONFIDENTIEL - NE PAS DIFFUSER 105/230
106 Chapitre 3 : Modélisation du corps humain limitations des degrés de liberté du genou par exemple. Pour définir la chaîne articulée du corps humain (ou partie du corps ou objet articulé rigide), que l on souhaite captation, il faut définir son squelette. Il contient l enchainement et la dimension des segments. L enchainement des segments est décrit dans un fichier de configuration «squelette» qui comprend le nombre de segments, leur attache respective, leur nombre de degrés de liberté relatifs. Dans le cadre des mouvements décrits dans les fichiers BVH (voir 6.2.1), nous avons 22 segments. Cet enchainement permet de créer les fonctions de mesure sur chaque segment pour chaque modalité (accéléromètre, magnétomètre, gyromètre, accélération propre (qui sert pour la prédiction de l accélération d ensemble voir ), d autres fonctions de mesures sont imaginables pour d autres types de capteur comme la distance par exemple). On calcule aussi les jacobiennes de ces fonctions de mesures qui seront nécessaires notamment dans l EKF. Ces fonctions sont générées en C avec Mupad (moteur symbolique de Matlab) et compilées sous forme de DLL (une DLL par segment avec les fonctions accéléromètre, magnétomètre, gyromètre, accélération propre correspondant au segment). On utilise ensuite un lien Matlab C/C++ pour charger dynamiquement et utiliser les DLL (fichiers mex32). L enchainement des repères du squelette ainsi que les capteurs utilisés sont décrits dans un fichier de configuration «modèle».la dimension des segments ainsi que la position des capteurs sont décrites dans un fichier de configuration «individu». Ainsi, pour un même squelette, on peut facilement changer d individu ou de position de capteurs. CONFIDENTIEL - NE PAS DIFFUSER 106/230
107 Chapitre 3 : Modélisation du corps humain Fichier de configuration du Modèle Fichier de configuration de l individu DLL MATLAB (mex32) de chargement des DLLs Résolution Modèle MATLAB Résolution Modèle C/C++ DLL C/C++ de chargement des DLLs DLLs fonction de mesure Génération Code C Fichier C de fonction de mesure Compilation Modèle Légende : Matlab Matlab + symbolique Fichier C/C++ Matlab ou C/C++ action Fig. 17 : Schéma fonctionnel logiciel Bruits de mesure Les capteurs sont toujours soumis à un bruit de mesure. Ce bruit peut avoir de nombreuses sources : bruit numérique, bruit électronique, bruit lié au processus de mesure, bruit de l environnement (comme les perturbations magnétiques par exemple) Bruits classiques Bruits additifs gaussiens Les bruits additifs gaussiens sont les plus simples à modéliser. Les bruits additifs sont en effet des bruits qui s ajoutent à la mesure de façon décolérée : l espérance mathématique de la mesure est la mesure théorique. Ces bruits sont le plus souvent théoriques, c'est-à-dire qu on modélise souvent les bruits que l on ne sait pas identifier comme des bruits additifs gaussiens. Nous avons choisi de modéliser les bruits, non déterminés, de nos capteurs comme des bruits additifs gaussiens. CONFIDENTIEL - NE PAS DIFFUSER 107/230
108 Chapitre 3 : Modélisation du corps humain Biais dû à la température Le biais est le fait que l offset de capteur (voir 2.1.5) peut évoluer au cours du temps de façon non contrôlable. La plupart des capteurs MEMS utilisés dans nos systèmes présentent un biais lié à la température. Il existe de nombreuses publications sur le sujet. La solution consiste à modéliser ce biais et à le prendre en compte grâce à un capteur de température. Cet outil n a pas encore été développé dans le cadre de nos travaux Bruits de peaux Les bruits de peaux, «skin artefact» en anglais, sont liés aux mouvements parasites des capteurs relativement aux segments sur lequel ils sont fixés (par exemple vibrations, déplacements ). Ces petits mouvements modifient l orientation du capteur et son accélération. Plus les capteurs sont gros et lourds, plus les bruits de peaux vont être importants et donc gênants. Ils sont en effet liés à l inertie du capteur, il faut donc choisir les capteurs les plus légers possibles et les fixés dans les lieux les moins exposés à ces phénomènes ([MONNET 10]). Nous proposons une méthode pour prendre en compte ces effets dans les simulations. Le principe est de lier les mouvements de translation et de rotation respectivement à l accélération propre du capteur et à sa dérivée seconde. Plus précisément, nous la modélisons comme une force inversement proportionnelle à ces valeurs. Les coefficients sont réglés empiriquement pour avoir un ordre de grandeur acceptable (de l ordre du centimètre et de quelques degrés pour les extremums) Schéma du modèle de mesure Nous avons ci-dessous un schéma permettant de résumer le modèle de mesure : CONFIDENTIEL - NE PAS DIFFUSER 108/230
109 Chapitre 3 : Modélisation du corps humain Imperfection du système : Offset Sensibilité Bruit numérique Dépendance interaxes Phénomène physique : Champ à mesurer Capteur Numérisation Mesure bruitée Bruit électrique Fig. 18 : Schéma de perturbation des mesures 3.4. Conclusion Nous avons vu dans ce chapitre comment modéliser le corps humain afin de pouvoir créer des fonctions de mesure accéléromètre, magnétomètre et gyromètre de capteurs fixés sur les segments du corps. Dans le quatrième chapitre, nous verrons comment on a évalué la qualité de ces fonctions. CONFIDENTIEL - NE PAS DIFFUSER 109/230
110 Chapitre 4 : Validation du modèle direct Chapitre 4 Validation du modèle direct Nous avons vu précédemment comment modéliser les capteurs fixés sur le corps humain. Nous allons maintenant valider cette modélisation. Nous commencerons par présenter le critère choisi. Ensuite nous décrivons une expérience sur un pendule et une comparaison avec l outil Simulink TM Critère d évaluation du modèle direct Dans le cadre de la conception des algorithmes, il est nécessaire de valider chaque étape de la reconstruction en comparant de façon chiffrée certaines grandeurs estimées : les mesures réelles et simulées pour valider le problème direct. Le critère que nous avons naturellement choisi est la différence entre les signaux mesurés par les capteurs et les signaux simulés en sortie du problème direct sur chaque segment et chaque composante. On peut étudier ensuite la norme de la différence vectorielle. CONFIDENTIEL - NE PAS DIFFUSER 110/230
111 Chapitre 4 : Validation du modèle direct 4.2. Validation du modèle à un segment sur un pendule à 1 et 3 DDL La première expérimentation a consisté à capter le mouvement d un pendule fixe à un ou trois degrés de liberté. L objectif de cette expérience est de valider les modèles de mesure pour un segment, ainsi que la reconstruction du mouvement de celui-ci grâce aux mesures accélérométriques et magnétiques. Le deuxième objectif a été d étudier les limites de nos algorithmes Description de l expérience Le pendule étudié est un T renversé en aluminium, avec sur la barre horizontale, fixée une dizaine de marqueurs optiques (système de référence Vicon TM ). Les dimensions des deux barres sont d environ un mètre. De plus sur cette barre est placée une MotionPod TM (voir Fig. 19 et Fig. 20). Le pendule est fixé à un support rigide par une liaison soit 1 DDL soit 3 DDL. CONFIDENTIEL - NE PAS DIFFUSER 111/230
112 Chapitre 4 : Validation du modèle direct Fig. 19 : Gros plan sur le capteur (MotionPod TM ) Une des difficultés est la synchronisation des données des différents organes de mesure pour pouvoir les comparer. Nous utilisons des tops accéléromètres pour la MotionPod TM communs avec la plateforme de force pour le système Vicon TM. Quand cette dernière n est pas disponible pour des raisons techniques, nous synchronisons les deux systèmes de mesure grâce à des mouvements brusques, facilement détectables à la fois sur les accéléromètres et sur les signaux Vicon TM. Il peut être aussi nécessaire de tester la correspondance des signaux en décalant les mesures simulées grâce aux angles Vicon TM par rapport aux mesures réelles, et améliorer ainsi l estimation du retard de synchronisation optimal. CONFIDENTIEL - NE PAS DIFFUSER 112/230
113 Chapitre 4 : Validation du modèle direct Fig. 20 : Photo du pendule étudié On le voit suspendu à son support dans la salle de manipulation Vicon TM de l Institut P (ex- LMS) CONFIDENTIEL - NE PAS DIFFUSER 113/230
114 Chapitre 4 : Validation du modèle direct Méthodes optiques mise en œuvre Lors des essais à Poitiers, nous avons utilisé le système Vicon TM comme étalon. Pour comparer les résultats nous avons dû mettre en œuvre des méthodes spécifiques à la captation de mouvement optique. Ces méthodes sont explicitées ci-dessous, elles ont de plus fait l objet de deux publications (voir Conférence et colloque) Calibration géométrique avec des marqueurs optiques Si les centrales d attitude sont équipées de marqueurs optiques (trois minimum), on peut facilement repérer l orientation et la position des dits capteurs grâce à la position des marqueurs. Il est notamment avantageux de placer les marqueurs selon les axes principaux du boitier afin d obtenir le changement de repère entre le repère boitier et le repère optique. Sinon, il convient, soit de connaitre les axes selon lesquels les capteurs sont placés, soit de comparer les mesures capteurs et les données orientations optiques pour des positions statiques afin de déterminer la matrice de passage entre le repère capteur et le repère optique. Pour la position, il faut aussi connaitre la position du point de rotation du segment car la position du capteur est naturellement relative à la position de ce point de rotation. Pour ce faire, on doit, soit être capable de déterminer le point de rotation à l aide de marqueurs, soit le retrouver grâce au problème linéaire suivant : CONFIDENTIEL - NE PAS DIFFUSER 114/230
115 Chapitre 4 : Validation du modèle direct XMarqueur(1) (1)... XMarqueur( n) (1) YMarqueur(1) (1)... YMarqueur( n) (1) α1 0 ZMarqueur(1) (1)... ZMarqueur( n) (1) * =. α n X P0 XMarqueur(1) ( T)... XMarqueur( n) ( T) Y P0 YMarqueur(1) ( T)... YMarqueur( n) ( T) ZP0 Z 0 Marqueur(1) ( T)... ZMarqueur( n) ( T) (54) où n est le nombre de marqueurs, T le temps d acquisition, P0 le point de rotation, les coordonnées de P0 dans la pseudo-base constituée des marqueurs (ce n est pas une base s il y a plus de trois marqueurs). Ce problème linéaire traduit le fait que le point appartient au même solide que les marqueurs et qu il est invariant par rotation : c'est-à-dire que les distances avec les autres points restent constantes (ligne 1 à n-3 de la matrice) et que au cours du mouvement il garde les mêmes coordonnées (trois dernières lignes de la matrice). CONFIDENTIEL - NE PAS DIFFUSER 115/230
116 Chapitre 4 : Validation du modèle direct P0 P3 P2 P1 P2 P1 Fig. 21 : Schéma explicatif du pendule Le point P1 (resp. P2 et P3 ) est l image de P1 (resp. P2 et P3) par la rotation. Le point P0 reste invariant. La longueur P0-P1 (resp. P0-P2 et P0-P3) est égale à P0-P1 (resp. P0- P2 et P0-P3 ). Il faut faire attention à effectuer cette résolution dans le repère mobile lié au segment précédent pour ne voir que la rotation relative. Pour exploiter les données du système Vicon TM d Institut P, nous avons mis en œuvre cette résolution Angles et dérivées Une fois le système optique calibré, on obtient les positions des marqueurs dans le référentiel du Vicon TM. Il faut ensuite traiter ces données pour notamment compléter les marqueurs invisibles par instant. Puis il reste à déterminer les rotations effectuées par les groupes de marqueurs fixés sur un même solide (ou segment) pour déterminer l attitude de référence. CONFIDENTIEL - NE PAS DIFFUSER 116/230
117 Chapitre 4 : Validation du modèle direct Le plus simple pour obtenir l orientation au cours du temps du solide est de calculer tous les vecteurs entre paires de marqueurs situés sur le solide. Ainsi, on obtient une série de vecteurs au cours du temps, le calcul de la rotation est alors réalisé par les méthodes classiques type algorithme QUEST (voir ). Dans le cas d une chaîne constituée de plusieurs solides reliés, on procède de même sur chaque solide. Ensuite, si le modèle poly-articulé est décrit avec une référence relative (voir 3.1.3) on recalcule l orientation relative au précédent segment grâce, par exemple, aux matrices de rotation (sinon la matrice n a pas à subir de transformation à cette étape) : segment j Mat _ rot segment i = Mat _ rot 0 1 segment j 0 * Mat _ rot segment i (55) où Mat _ rot est une matrice de rotation. Comme nous l avons vu, pour calculer les mesures simulées nous avons besoin des deux premières dérivées des angles. Il est nécessaire de soigner le filtrage des angles pour obtenir des valeurs non noyées dans le bruit. Lorsque les comparaisons entre les mesures issues du problème direct (c'est-à-dire simulées à partir des angles Vicon TM ), et les mesures réelles sont faites hors ligne, nous pouvons effectuer un filtrage sans introduire de retard (en filtrant dans chaque sens). Compte-tenu du type de mouvement, 10 Hz semble une bonne valeur pour la fréquence de coupure pour ce filtrage. La fréquence de coupure d un filtre passe-bas est la fréquence au-delà de laquelle le gain est inférieur à -10log 10 (2) db (environ -3dB), c'est-à-dire que l amplitude du signal de sortie est réduite d'un facteur soit environ 71% de l'amplitude du signal d'entrée. Pour l application temps réel, il suffit d utiliser le même filtre sur toutes les voix pour avoir un retard identique. De plus, si on utilise un filtre de Bessel (temps retard de groupe constant sur toute la bande) ou un filtre de Butterworth (temps de retard de groupe constant pour les fréquences inférieures à Fc/2, Fc étant la fréquence de coupure du filtre), et qu on choisit bien la bande par rapport au spectre du signal, nous n aurons pas de déphasage des CONFIDENTIEL - NE PAS DIFFUSER 117/230
118 Chapitre 4 : Validation du modèle direct différentes fréquences Résultat sur un mouvement 1 DDL Nous représentons ci-dessous le mouvement en trois dimensions du mouvement du centre du capteur mesuré grâce aux marqueurs optiques placés sur la MotionPod TM. Le mouvement se fait principalement dans un plan, malgré quelques imperfections dues aux mouvements parasites du support du pendule. Fig. 22 : Mouvement du centre du capteur (MotionPodTM) La Fig. 23 présente les mesures accélérométriques simulées grâce aux estimations ViconTM et celles mesurées par la MotionPodTM : elles sont semblables. CONFIDENTIEL - NE PAS DIFFUSER 118/230
119 Chapitre 4 : Validation du modèle direct Fig. 23: Mesure accélérométrique réelle et simulée Un zoom est présenté sur la Fig. 24. Les deux mesures (simulées et réelles) correspondent tout à fait mises à part quelques vibrations dues aux mouvements parasites de la structure. Fig. 24: Mesure accélérométrique réelle et simulée (zoom) La Fig. 25 présente les mêmes résultats pour le magnétomètre. On constate à nouveau une grande similitude entre les deux séries de courbes (mesures réelles et mesures simulées). CONFIDENTIEL - NE PAS DIFFUSER 119/230
120 Chapitre 4 : Validation du modèle direct Fig. 25: Mesure magnétométrique réelle et simulée La Fig. 26 présente un zoom qui permet de mettre en évidence qu il y a une petite différence au niveau des extrémités des oscillations. Fig. 26: Mesure magnétométrique réelle et simulée (zoom) Cette différence est due à la présence d une petite perturbation magnétique extérieure au pendule et/ou d une erreur d orientation du capteur. CONFIDENTIEL - NE PAS DIFFUSER 120/230
121 Chapitre 4 : Validation du modèle direct Résultat sur un mouvement guidé 3 DDL Sur Fig. 27 est présentée la trajectoire 3D du centre du capteur mesurée grâce aux marqueurs optiques placés sur la MotionPod TM. Elle décrit une calotte. Cette vue en 3D permet de voir que le mouvement possède au moins 2 DDL selon les deux directions principales de la calotte. De plus, le mouvement se fait en rotation autour de l axe central de la MotionPod TM qui est donc situé mécaniquement sur l axe de rotation (ce qu on ne peut naturellement pas voir sur la figure). Fig. 27 : Mouvement du capteur (MotionPod TM ) Les Fig. 28 et Fig. 29 présentent à nouveau la comparaison des mesures issues du problème direct et des capteurs pour les accéléromètres et les magnétomètres. On peut voir que les deux mesures sont correctement simulées. De nombreuses vibrations visibles sur les données mesurées de l accéléromètre ne sont pas présentes sur les simulations. Elles sont dues à des translations résiduelles du point de rotation qui ne sont pas retranscrites par le modèle utilisé. Il apparait en comparant les Fig. 30 et Fig. 31 que les vibrations possèdent des fréquences supérieures à celle du mouvement, en particulier au-dessus de 10 Hz. On montre que du point de vu de la reconstruction, leur filtrage a priori n apporte aucune CONFIDENTIEL - NE PAS DIFFUSER 121/230
122 Chapitre 4 : Validation du modèle direct précision. En effet, le filtre de Kalman, les modélisant comme un bruit, peut traiter le problème sans être gêné. A contrario, un filtre passe-bas atténue des informations pertinentes (c'est-à-dire correspondant au mouvement). Un essai de reconstruction réalisé en filtrant a priori les mesures montre en effet que le résultat est moins bon qu avec les données brutes (on passe de 5 d erreur moyenne à 6 ou 8 selon le filtrage). Ceci est dû au fait que les contenus spectraux du bruit et du signal utile sont confondus pour la partie basse fréquence. CONFIDENTIEL - NE PAS DIFFUSER 122/230
123 Chapitre 4 : Validation du modèle direct Fig. 28 : Mesure accélérométrique réelle et simulée Fig. 29 : Mesure magnétométrique réelle et simulée CONFIDENTIEL - NE PAS DIFFUSER 123/230
124 Chapitre 4 : Validation du modèle direct Fig. 30 : Transformée de Fourrier de la norme de l'accélération mesurée Fig. 31 : Transformée de Fourrier de la norme de l'accélération simulée L accélération est simulée grâce aux angles Vicon TM CONFIDENTIEL - NE PAS DIFFUSER 124/230
125 Chapitre 4 : Validation du modèle direct 4.3. Validation du modèle direct à deux segments avec Simulink TM Les modèles direct et inverse d une chaîne constituée d un unique segment étant validés sur un pendule, nous complexifions le modèle poly-articulé en ajoutant un segment supplémentaire. Le passage de un à deux segments étant un point crucial dans la construction des fonctions de mesure, nous avons choisi de valider cette étape à l aide d un modèle Simulink TM. Cette étape de validation étant réalisée avec un outil de simulation, nous avons ajouté à moindre frais la modalité gyrométrique au système de mesure afin de valider le modèle direct (fonction de mesure) de ce capteur. Il peut en effet s avérer nécessaire pour les mouvements dynamiques des segments les plus extrêmes de la chaine articulée Présentation du modèle Simulink TM Les outils Simulink TM utilisés basés sur les toolboxes SimMeca TM et SimScape TM de Mathworks, qui permettent de simuler des modèles mécaniques. Une chaîne articulée est construite dans Simulink et des capteurs sont modélisés (voir sur les schémas ci-dessous). Les modules Body Sensor permettent de mesurer toutes les caractéristiques d un point dans une chaine articulée : l orientation et ses dérivées, la position et ses dérivées. On peut donc simuler tous les capteurs que nous utilisons dans le système de captation : CONFIDENTIEL - NE PAS DIFFUSER 125/230
126 Chapitre 4 : Validation du modèle direct Fig. 32 : Schéma de l'accéléromètre sous Simulink TM Fig. 33 : Schéma du magnétomètre sous Simulink TM Fig. 34 : Schéma du gyromètre sous Simulink TM Par la suite, ces capteurs sont regroupés dans une centrale d attitude. Nous avons programmé la possibilité d ajouter une différence d orientation entre les capteurs et le CONFIDENTIEL - NE PAS DIFFUSER 126/230
127 Chapitre 4 : Validation du modèle direct segment sur lequel ils sont fixés. La position sur le segment est définie dans l interface de réglage Body qui représente le segment. Fig. 35 : Schéma centrale d'attitude sous Simulink TM Ensuite, les centrales d attitudes sont intégrées dans la chaine articulée. Nous considérons ici un double pendule, formé d une barre qui est fixée à un bâti par une extrémité et à une seconde barre par l autre extrémité. Les liaisons sont définies comme des rotations pures à trois degrés de libertés. Dans les paramètres il est possible de bloquer certaines liaisons. CONFIDENTIEL - NE PAS DIFFUSER 127/230
128 Chapitre 4 : Validation du modèle direct Fig. 36 : Schéma pendule double sous Simulink TM Enfin, les liaisons sont dirigées par des actuateurs, eux-mêmes pilotés par des angles et leurs dérivées. En effet, si on ne fournit pas les dérivées aux actuateurs, Simulink se comportent comme si les liaisons prenaient des positions angulaires statiques successives. Fig. 37 : Schéma du moteur angulaire CONFIDENTIEL - NE PAS DIFFUSER 128/230
129 Chapitre 4 : Validation du modèle direct Résultats Simulink TM Pour comparer, les deux modèles, simulation Simulink TM et algorithme de reconstruction, nous avons enregistré simultanément les entrées (angles) et les sorties (mesures) dans Simulink. Ensuite, nous avons piloté les mêmes simulations dans le modèle de reconstruction développé sous Matlab TM via les entrées et comparé les sorties. Entrées : Angles Matlab Sorties : Mesures simulées Simulink Sorties : Mesures simulées Fig. 38 : Schéma explicatif de la validation Simulink TM Comparaison Les résultats sont très proches : la différence entre les deux sorties (mesures) est inférieure à 1 e -10 sur le premier segment (voir Fig. 39). Les écarts résiduels proviennent de la façon dont sont calculées les dérivées et des différences de fonctionnement des deux systèmes : l un, Matlab TM, possède une formulation directe des mesures en fonction des variables d état, tandis que l autre, Simulink TM, simule les phénomènes physiques. On peut noter sur le deuxième segment que pour les mesures dépendant des dérivées (c est-à-dire accéléromètres et gyromètres), il y a des différences beaucoup plus importantes que pour le premier segment (voir Fig. 40). On voit cependant sur les figures comparatives que les différences sont faibles en valeur absolue par rapport au signal utile et que les grosses différences sont présentes en des points singuliers où la dérivation pose un problème numérique (car les méthodes ne sont pas les mêmes : Matlab TM possède un modèle de mesure à partir des états alors que Simulink TM simule le comportement). CONFIDENTIEL - NE PAS DIFFUSER 129/230
130 Chapitre 4 : Validation du modèle direct Fig. 39 : Différence entre mesures Simulink TM et Matlab TM sur le premier segment CONFIDENTIEL - NE PAS DIFFUSER 130/230
131 Chapitre 4 : Validation du modèle direct Fig. 40 : Différence et comparaison entre mesures Simulink TM et Matlab TM sur le deuxième segment Les comparaisons sont zoomées sur une zone posant problème CONFIDENTIEL - NE PAS DIFFUSER 131/230
132 Chapitre 4 : Validation du modèle direct Les résultats de cette étude menée en simulation permettent de valider le problème direct d un modèle à deux segments. Il est donc à ce stade possible d étendre le modèle polyarticulé à plusieurs segments pour décrire un corps humain Conclusion Nous avons pu voir dans ce chapitre que notre modèle de mesure est valide. Nous pouvons donc nous tourner vers l estimation du mouvement grâce aux mesures capteurs. La méthode utilisée est décrite dans le prochain chapitre, puis valider dans le suivant. CONFIDENTIEL - NE PAS DIFFUSER 132/230
133 Chapitre 5 : Résolution hybride Kalman Chapitre 5 Résolution hybride Kalman Dans ce chapitre, le système de résolution mis en place est décrit. Il fait intervenir un filtre de Kalman linéarisé (EKF) modifié pour notre usage spécifique. Nous décrivons toutes ces modifications dans ce chapitre. Nous décrivons le système en gardant la chronologie de leur mise en place : nous commençons par décrire le filtre de Kalman simple utilisé au départ et ses résultats encouragements sur le pendule puis nous en montrons les problèmes rencontrés dans le cas multi-segments et décrivons enfin le système hybride mis en place pour passer outre les limites décrites. Pour estimer l orientation des segments du corps nous utilisons naturellement le modèle de mesure présenté dans le troisième chapitre. Pour rappel ce modèle prend en compte l accélération propre des capteurs et leur utilisation sous forme de réseau de capteur nous permet d extraire deux informations du signal de l accéléromètre : l accélération propre et la gravitation. CONFIDENTIEL - NE PAS DIFFUSER 133/230
134 Chapitre 5 : Résolution hybride Kalman 5.1. Résolution globale La résolution globale consiste à évaluer la totalité des orientations des capteurs simultanément (voir 1.4). Dans le cas d une chaine articulée, cette méthode locale s avère en effet peu intéressante car elle ne permet pas de prendre en compte correctement les mesures accélérométriques qui dépendent de l orientation des autres segments (ou plutôt de l évolution de cette orientation : c'est-à-dire de leurs deux premières dérivées). Plus précisément, pour utiliser chaque capteur indépendamment, on est obligé de se mettre dans des hypothèses pseudo-statiques dans le cas AM et négliger l accélération propre des capteurs, ou d utiliser trois modalités de mesure sur chaque segment. Or l hypothèse pseudo-statique devient rapidement problématique dans la captation de mouvement corps entier (un simple mouvement de bras lent crée des accélérations à l extrémité qui sont audelà de l hypothèse quasi-statique : supérieur à 0.1 G). Le principe est donc d écrire le problème comme l inversion du problème directe suivant : Mesure = ( ) fonction Etat où ( ) Mesure = Mesure Accéléromètre,Mesure Magnétomètre,Mesure Gyromètre (56) fonction : voir partie sur la fonction de mesure Etat : l ensemble des variables expliquant les mesures que nous noterons dans la suite x. Dans notre cas, les états seront naturellement les variables articulaires, représentées sous forme d angle de Cardan et, dans le cas d une configuration libre, l accélération du point de base (3 composantes). Cependant, nous avons vu dans le modèle de mesure de l accéléromètre qu il dépend aussi des deux premières dérivées angulaires ; aussi nous CONFIDENTIEL - NE PAS DIFFUSER 134/230
135 Chapitre 5 : Résolution hybride Kalman devons les estimer Prise en compte des dérivées Comme on l a vu ci-dessus, les éléments à estimer sont essentiellement les angles et leurs deux premières dérivées. Ces éléments sont temporellement liés, il faut donc le prendre en compte dans la résolution. Il y a plusieurs possibilités pour prendre en compte ce lien : soit on effectue un développement limité et on effectue le remplacement θt = θt 1 + Te* θ + 1/2* Te²* θ θ = θ + Te* θ t t 1 (57) soit on peut ajouter des contraintes du type θt θt 1 < α1* Te* θt θ θ < α * Te* θ t t 1 2 t (58) avec α 1 et α 2 choisis suffisamment petits. soit on prend les dérivées comme états et on utilise un système à représentation d état (avec donc une fonction d évolution dans laquelle on décrit l évolution du système). Le problème devient alors : ( ) Mesure = fonction x x = evolution( x) où x représente l'état et x sa dérivée (59) Dans les deux premières solutions, le nombre et la forme des équations poussent à utiliser une optimisation plus ou moins classique. Nous avons choisi de ne pas poursuivre cette voie car les résultats étaient très médiocres et l absence d observabilité globale du système CONFIDENTIEL - NE PAS DIFFUSER 135/230
136 Chapitre 5 : Résolution hybride Kalman implique un problème d initialisation de l optimisation qui peut être mieux contrôlé avec un système d état. Pour la troisième solution, il existe de nombreux algorithmes de résolution, notamment la famille des filtres de Kalman. C est sur ce choix que nous nous sommes arrêtés Description de l algorithme La résolution que nous avons mise en place se doit de fonctionner quel que soit le type de mouvement que l individu réalise. Le système devra aussi bien être capable de captation des mouvements dynamiques que des mouvements lents. Pour cela, plusieurs dispositions ont été mises au point. Comme nous avons vu ci-dessus, les états correspondent à trois angles par articulation, accompagnés de leurs deux premières dérivées, soit au total 9 états par articulation. Si l on considère un corps à 22 segments (représentation du format BVH, voir 6.2.1), 198 états (angulaires) sont nécessaires, ainsi que trois états supplémentaires pour les accélérations, soit au total 201 états, ce qui est considérable pour un filtre de Kalman. L importance de la dimension du vecteur état rend toutes les manipulations complexes notamment les réglages empiriques des algorithmes demandant de multiples résolutions-tests. Dans la suite, l état comprend les angles et leurs deux premières dérivées, ainsi que l accélération d entrainement de l ensemble du corps (dans l hypothèse sans point fixe). Pour simplifier les notations, nous noterons les anglesθ, les dérivées angulairesθ et les dérivées secondes angulairesθ. De plus, nous ne détaillerons plus les formulations sous la forme des angles yaw, pitch et roll lorsque ces trois angles subissent les mêmes équations. Enfin, l accélération d ensemble sera simplement notée Acc. CONFIDENTIEL - NE PAS DIFFUSER 136/230
137 Chapitre 5 : Résolution hybride Kalman Filtre de Kalman classique ou simple Choix du type de filtre de Kalman : EKF ou UKF Comme on peut le voir dans l annexe sur les filtres de Kalman, l UKF est plus performant sur les systèmes fortement non linéaires. Pour cette raison, il est intéressant d utiliser un UKF avec la formulation relative des angles (voir 3.1.3), afin de correctement prendre en compte les spécificités des fonctions de mesures. La fonction d évolution ne pose aucun problème puisqu elle est linéaire. Par contre, avec la formulation globale, les fonctions de mesure sont de l ordre de complexité d une unique matrice de rotation et non d un produit de matrices. En théorie, un filtre de type EKF est donc suffisant. Dans la pratique, les résultats avec les deux types de filtres sont identiques. Il est en effet délicat de conclure sur ce point compte tenu des subtilités de réglage des filtres de Kalman, spécialement pour l UKF. En effet, l UKF est un algorithme paramétrable, notamment dans le choix des voisinages. Ces réglages sont régis par des lois plus ou moins empiriques mais le réglage fin ne peut se faire que par des tests pratiques. On peut par exemple mettre en œuvre une optimisation sur ces paramètres, en veillant à couvrir l ensemble des cas d utilisation visée afin de ne pas trouver des paramètres spécifiques à un essai : il faut optimiser conjointement sur plusieurs essais représentatifs de l ensemble des cas rencontrés en pratique. En conclusion, après avoir travaillé avec l UKF dans la première partie de la thèse, nous avons focalisé les développements sur l EKF avec l exploitation de la formulation globale (voir et 3.1.5) Fonction d évolution ou prédiction La fonction d évolution est la fonction qui décrit l évolution du modèle. Dans le formalisme continu, elle relie l état et sa dérivée (voire ses dérivées successives). Dans le formalisme discret, elle relie l état à un l instant t et celui à l instant t+1. Pour la prédiction des angles, il existe plusieurs méthodes. La méthode classique consiste à CONFIDENTIEL - NE PAS DIFFUSER 137/230
138 Chapitre 5 : Résolution hybride Kalman ² s appuyer sur l hypothèse θ θ = = constante et d intégrer cette constante. t² Le modèle cinématique est défini à partir des variables d états que sont les angles de Cardan paramétrant les rotations articulaires ainsi que les deux dérivées successives. x = [ θθθ,, (60),..., Acc, Acc, Acc ] x y z N ayant aucune connaissance a priori sur le type de mouvement et étant donnée la fréquence d échantillonnage (200 Hz) élevée par rapport aux fréquences des gestes humains (une petite dizaine de Hz pour les mouvements les plus dynamiques), on peut en première approximation considérer les accélérations comme constantes. C'est-à-dire que les dérivées secondes angulaires et les accélérations sont constantes, soit : θ = cst (61) Acc = cst La fonction d évolution continue est donc ainsi définie par : υθ υ θ υ θ x = * x υ Acc _ x υ Acc _ y υ avec Acc _ z υ des bruits i (62) Le modèle est aisément transposable pour un plus grand nombre de degrés de liberté. Les valeurs des écart-types sont choisies relativement grandes pourυ θ, υ Acc _ x, υ Acc _ y, υ Acc _ z car l hypothèse selon laquelle la dérivée seconde et l accélération sont constantes est forte et pas forcément vérifiée. Par contre υ θ et υ θ sont corrélés avec υ θ. On peut CONFIDENTIEL - NE PAS DIFFUSER 138/230
139 Chapitre 5 : Résolution hybride Kalman modifier le modèle utilisé en : υθ υ θ υ 0 x * θ = x υ Acc _ x υ Acc _ y υ Acc _ z (63) En effet, l erreur sur l hypothèse angulaires et aux angles. θ = constante est intégrée et transmise aux dérivées La discrétisation du modèle ci-dessus donne la fonction d évolution suivante : υθ υ θ υ 0 θ (64) xt+ 1 = exp * Te* xt + + Te* υ Acc _ x υ Acc _ y υ Acc _ z Soit Te² 1 Te υθ 2 0 υ 0 1 Te θ υ 0 x θ (65) t+ 1 = * xt Te* υ Acc _ x υ Acc _ y υ Acc _ z Fonction de mesure Pour modéliser, la fonction de mesure, on utilise simplement les formules données dans la partie Les mesures sont concaténées pour construire un seul vecteur de mesure. Tous les calculs des mesures et de leurs jacobiennes ont été codés en C grâce à un générateur CONFIDENTIEL - NE PAS DIFFUSER 139/230
140 Chapitre 5 : Résolution hybride Kalman développé en Mupad (moteur symbolique de Matlab) afin de gagner du temps à l écriture et à l exécution des fonctions Résultats avec le filtre de Kalman simple Pendule : comparaison avec les estimations optiques Les systèmes optiques ayant des performances reconnues dans le domaine de la captation de mouvement, le système Vicon TM de l Institut P (ex-lms) est utilisé comme étalon pour notre système de captation de mouvement inertiel. La précision du système Vicon TM est de l ordre du millimètre. Dans le cas de notre étude sur le pendule, on obtient une précision angulaire de l ordre de 0.5 (pour un écartement des marqueurs de l ordre du mètre) dans le cas idéal, ce qui est supérieur à la précision de nos capteurs (précision de l ordre du dans le cas statique). On utilise les jeux de données qui ont servi à valider le modèle direct. Mouvement 1 DDL Pour résoudre les mouvements à 1 DDL, nous ne limitons pas le modèle à un degré de liberté mais nous cherchons sans a priori un mouvement à 3 DDL. En effet, il est connu que le magnétomètre triaxe suffit pour retrouver une estimation angulaire correcte à un degré de liberté [BONNET 09], il est donc inutile de chercher un tel mouvement à l aide de deux modalités de mesure. CONFIDENTIEL - NE PAS DIFFUSER 140/230
141 Chapitre 5 : Résolution hybride Kalman Fig. 41 : Erreur angulaire d'estimation La Fig. 41 présente le résultat du critère d erreur angulaire (voir 6.1.2) obtenu pour le mouvement 1 DDL. L erreur maximale atteint 8. Le modèle sous-jacent ne limitant pas le mouvement estimé à un seul degré de liberté, cela est très intéressant car la plupart des mouvements humains ne sont souvent qu à un degré de liberté, au moins par morceau. La Fig. 42 présente une comparaison des angles estimés par le système optique et reconstruits (zoom proposé sur la Fig. 43). Les angles de cardan sont quasiment confondus. CONFIDENTIEL - NE PAS DIFFUSER 141/230
142 Chapitre 5 : Résolution hybride Kalman Fig. 42 : Comparaison des angles Vicon TM et ceux reconstruits Fig. 43 : Comparaison des angles Vicon TM et ceux reconstruits (zoom) On remarque juste un décalage temporel sur le yaw, qui est lié à un défaut dans l estimation de l orientation du capteur au départ ce qui provoque un décalage sur cet angle. CONFIDENTIEL - NE PAS DIFFUSER 142/230
143 Chapitre 5 : Résolution hybride Kalman Enfin sur la Fig. 44, sont tracés les résultats des reconstructions fournies par les marqueurs du système optique et par le système de reconstruction. Les distances obtenues sont très proches : inférieure à 10 cm à quelques exceptions près (erreur moyenne inférieur à 3 cm). Ces dix centimètres sont à ramener à la taille du pendule (de l ordre du mètre) et à la distance parcourue par les marqueurs (de l ordre du mètre). Fig. 44 : Distance entre les points reconstruits par Vicon TM et ceux par notre algorithme Remarque : pour estimer les points grâce à l algorithme de reconstruction proposé, on calcule les angles et on reconstruit les matrices de rotation à chaque instant et pour chacun des points. On calcule ensuite leurs positions. On suit la même procédure pour le système optique (passage par les données angulaires) afin de supprimer au maximum les vibrations. CONFIDENTIEL - NE PAS DIFFUSER 143/230
144 Chapitre 5 : Résolution hybride Kalman Mouvement à 3 DDL Fig. 45 : Erreur angulaire d'estimation Sur la Fig. 45, on peut voir le critère de l erreur angulaire pour le cas 3 DDL. Il est moins bon que le cas du mouvement 1 DDL. Cependant l erreur moyenne reste satisfaisante (<8 ) pour l application visée. On note en particulier qu il n y a pas de dérive : dès que le mouvement est suffisamment statique les algorithmes convergent directement vers la bonne valeur. Si le segment n est pas en bout de chaîne (c'est-à-dire qu au moins un segment attaché à sa suite et donc que ses mesures dépendent aussi du mouvement du segment précédent), on peut espérer que la dépendance des mesures du segment suivant permettra d améliorer cette estimation 3 DDL. On peut tout de même se demander, compte tenu des erreurs ponctuelles jusqu à 25 et du fait que les erreurs vont se cumuler lorsqu on aura plusieurs segments, si dans le cadre de la captation de mouvement corps entier on ne sera pas obligé d équiper les segments possédant trois degrés de liberté en bout de chaîne et ayant des mouvements relativement rapides, comme le bras, de gyromètre pour obtenir une estimation angulaire plus précise. CONFIDENTIEL - NE PAS DIFFUSER 144/230
145 Chapitre 5 : Résolution hybride Kalman Cette remarque date de la mi-thèse et a été confirmé par la suite (voir ). Fig. 46 : Angles estimés par Vicon TM et par notre algorithme Sur la figure (Fig. 46), qui présente les angles estimés par le système optique et par la reconstruction, on peut remarquer que du point de vue des angles d Euler les différences ne sont pas très grandes et que l allure est bien respectée. Certaines erreurs semblent aussi provenir de l effet passe-bas du filtrage de Kalman, comme par exemple le pic d erreur angulaire présent vers l échantillon 500 qui peut correspondre au retard sur la descente du Yaw. CONFIDENTIEL - NE PAS DIFFUSER 145/230
146 Chapitre 5 : Résolution hybride Kalman Fig. 47 : Distance entre les points reconstruits par Vicon TM et par notre algorithme La figure (Fig. 47) présente le critère de reconstruction des mouvements du solide associé à la centrale d attitude. L erreur peut être ponctuellement relativement importante dans certains cas (jusqu à 20 cm), mais doit être comparée avec la dimension du pendule (de l ordre du mètre). L erreur moyenne est de l ordre de 5 cm, ce qui est acceptable compte tenu des dimensions du pendule. A titre de comparaison, la modélisation en chaîne articulée avec la captation Vicon TM provoque des erreurs de l ordre du cm. En effet la modélisation en chaîne articulée supprime tous les déplacements parasites du point de rotation du pendule. Sur la courbe, on peut être étonné de voir deux marqueurs avec une distance qui n évolue pas comme celle des autres marqueurs. En fait, ces deux marqueurs sont situés juste à côté du point de rotation, donc une même erreur angulaire provoque, chez eux, une erreur de position moindre. CONFIDENTIEL - NE PAS DIFFUSER 146/230
147 Chapitre 5 : Résolution hybride Kalman Limites et sensibilités des algorithmes Dans le cadre de l étude, on cherche aussi à évaluer les limites des méthodes et leurs sensibilités aux perturbations pouvant apparaitre. C est pourquoi nous proposons d étudier les erreurs provenant d une mauvaise estimation de l orientation des capteurs, de leur mauvais positionnement sur les segments et de la diminution de la fréquence d échantillonnage. Les limites ont été étudiées sur le pendule et sur un cas simple de mouvement à 3 DDL. Cela permet de donner des priorités sur les pistes à surveiller dans le cas de la captation corps entier. Voici les angles du mouvement étudié : Fig. 48 : Angles estimés par Vicon TM Erreur d orientation des capteurs Pour estimer l erreur engendrée par les erreurs d orientation des capteurs, on tourne les données capteurs d un angle donné puis on effectue une reconstruction. On calcule ensuite le critère d erreur d orientation entre l estimation fournie par le système optique et celle de CONFIDENTIEL - NE PAS DIFFUSER 147/230
148 Chapitre 5 : Résolution hybride Kalman la reconstruction. L erreur tracée est celle pour une erreur d orientation autour de l axe x, car cela revient au même selon les différentes directions. Sur la Fig. 49, on peut voir que l erreur est quasiment linéaire par rapport à l erreur d orientation que l on fournit. La pente est supérieure à 1, ce qui traduit une divergence rapide. Malgré tout, la pente pour les faibles erreurs d orientation des capteurs est beaucoup moins importante. Ces erreurs ne sont donc pas trop pénalisantes tant que la précision sur l orientation des capteurs reste de l ordre du degré. Fig. 49 : Erreur angulaire moyenne de reconstruction L erreur de reconstruction est tracée en fonction de l erreur sur la connaissance de l orientation du capteur par rapport au segment Une solution pour mettre à jour les orientations des capteurs est d utiliser les périodes statiques du mouvement, car les algorithmes donnent des résultats très satisfaisants en statique et ne dépendant pas d une fonction d évolution. De plus, il est aisé de détecter les CONFIDENTIEL - NE PAS DIFFUSER 148/230
149 Chapitre 5 : Résolution hybride Kalman périodes statiques grâce aux accéléromètres (voir ). C est pourquoi nous proposons d insérés de tels algorithmes de recalage dans le processus de reconstruction du mouvement. Erreur de positionnement des capteurs Pour évaluer l effet d une erreur de positionnement des capteurs, nous simulons un écart dans les différentes directions car, comme on peut le voir sur la Fig. 50, l erreur dépend fortement de la direction du positionnement (en effet, pour une même norme, les erreurs minimale et maximale sont très différentes). Cependant, comme nous ne travaillons que sur des exemples, l erreur à prendre en compte est l erreur maximale. Dans la pratique, nous avons testé différents points pour une norme d erreur donnée, correspondant à dix points autour de la position de référence à égale distance de celle-ci perpendiculairement aux trois axes X, Y et Z. On observe que certaines directions n ont aucun effet sur l erreur angulaire moyenne, là où d autres peuvent créer de grosses erreurs. CONFIDENTIEL - NE PAS DIFFUSER 149/230
150 Chapitre 5 : Résolution hybride Kalman Fig. 50 : Erreur angulaire moyenne selon la norme de l erreur de position Sur la Fig. 50, on voit qu une erreur inférieure à 5 cm reste acceptable pour garantir une estimation angulaire correcte pour l application visée. Cela est très rassurant car c est l ordre de grandeur que l on s attend à obtenir avec les méthodes actuelles de calibration et c est supérieur à l erreur envisagée pour les nouvelles méthodes de calibration (voir 6.3.1). Une solution, envisagée pour corriger dynamiquement le positionnement des capteurs, est d utiliser des mouvements plans. Le magnétomètre est dans ce cas suffisant pour calculer l angle cinématique. A l aide de cet angle cinématique, on peut optimiser la position du capteur sur la mesure accélérométrique. Dans la pratique, il faut faire un détecteur de mouvement plan (à l aide d un algorithme tel que celui proposé dans [BONNET 09] et dans la méthode de calibration géométrique (6.3.1) et suivre la position du capteur pour la corriger au cours du temps avec un algorithme du type moindre carré séquentiel sans oubli. Cette possibilité n a pas été intégrée au modèle de reconstruction proposé dans cette thèse. Etude de la fréquence d échantillonnage Pour l étude de l influence de la fréquence d échantillonnage sur l algorithme de reconstruction, les mesures MotionPod TM ont été simplement interpolées à des fréquences CONFIDENTIEL - NE PAS DIFFUSER 150/230
151 Chapitre 5 : Résolution hybride Kalman différentes (inférieures à la fréquence d échantillonnage réelle). Sur la Fig. 51, on voit que la précision décroit très lentement jusqu à environ 60 Hz lorsque la fréquence d échantillonnage décroit, puis l erreur d estimation augmente brusquement. Le plateau vers 35 d erreur n est pas très significatif car une telle erreur en moyenne est très mauvaise et inexploitable dans la pratique. Fig. 51 : Erreur angulaire moyenne en fonction de la fréquence d échantillonnage Ces résultats sont encourageants car ils montrent que la fréquence d échantillonnage de 200 Hz des MotionPod TM est très confortable, ce qui permet d envisager les pertes de trames sans trop d inquiétudes. En effet, le lien radio entre les MotionPod TM et le collecteur produit dans les cas d utilisation courante de petites pertes de trames (de l ordre de 10 %), alors que les résultats précédents montrent qu on peut perdre quasiment un point sur deux. En effet avec une fréquence d échantillonnage de 100 Hz, l erreur angulaire est quasiment identique à celle obtenue pour 200 Hz. Dans la pratique, il faut détecter les pertes de trames pour modifier les temps d intégration dans la fonction d évolution. Dans le démonstrateur temps réel (voir 6.3.2), la fréquence d échantillonnage étant de quasiment 200 Hz, nous n avons pas eu de soucis de se coté là. CONFIDENTIEL - NE PAS DIFFUSER 151/230
152 Chapitre 5 : Résolution hybride Kalman Conclusion sur les limites Cette étude montre qu il existe une marge assez important entre les sensibilités de fonctionnement du système de reconstruction et les limitations rencontrées dans la pratique, que ce soit au niveau pertes de trames, erreurs d orientation ou de positionnement des capteurs sur les segments. On note cependant que cette étude a été faite sur le cas idéal du pendule (pas de mouvement cutané, rotation pure, ). Elle devrait en toute rigueur être complétée sur des manipulations réalisées sur des segments humains avec les difficultés que cela implique Résultat en multipoint Dans le cadre multi-segment ou multipoint, nous avons eu des soucis, c'est-à-dire que nous n avons pas trouvé de réglages universel du filtre de Kalman (voir ) : c'est-à-dire que pour chaque mouvement ou type de mouvement les covariances choisies sont spécifiques. Cela ne correspond pas aux attentes car il faut régler le système en fonction du mouvement que l on va faire et donc cela ne répond pas aux critères de l industriel qui demande l absence de limitation dans les mouvements de l utilisateur. C est pourquoi nous avons apporté des améliorations qui sont décrites dans la suite Modèle hybride Le principe de la résolution hybride est décrit à la Fig. 52. Il est basé sur un filtre de Kalman, classiquement utilisé dans la littérature. Sa spécificité est de posséder deux modes de fonctionnement : le mode pseudo-statique et le mode dynamique. Le mode utilisé est piloté par une phase de détection de pseudoimmobilité des capteurs (voir ). Les deux modes apparaissent principalement dans la fonction d évolution, suivant la façon dont les angles et leurs dérivées premières et secondes sont prédits. Cependant, il existe une CONFIDENTIEL - NE PAS DIFFUSER 152/230
153 Chapitre 5 : Résolution hybride Kalman désactivation du filtre de Kalman si tous les capteurs sont dans un mouvement pseudostatique, qui ne pose pas de problème de résolution. Le mode dynamique est le mode usuel : on utilise la fonction d évolution classique (voir ). Les covariances sont réglées empiriquement suivant le processus (voir ). Le mode pseudo-statique est plus spécifique. Il sert lorsqu un ou plusieurs segments sont soumis à un mouvement pseudo-statique : lent et régulier (c'est-à-dire avec notamment une accélération propre faible inférieure à 0,1 G). Il permet de recaler le filtre sur une estimation plus sûre. En effet, lorsqu on est en mode pseudo-statique, le nombre de degrés de liberté diminue et le filtre ne peut plus diverger : dans cette hypothèse, il existe une seule solution pour une configuration de mesure. Là encore, les valeurs de covariance sont réglées empiriquement grâce à la méthode décrite dans Faute de temps, trop peu de tests ont été réalisés pour permettre la validation et l intégration de cette partie à l estimateur d attitude dynamique actuel. Cependant, nous présentons l algorithme avec cette possibilité dans la mesure où les quelques tests effectués ont été très concluants. CONFIDENTIEL - NE PAS DIFFUSER 153/230
154 Chapitre 5 : Résolution hybride Kalman Fig. 52 : Schéma fonctionnel de l'algorithme hybride (Kalman statique) On démarre avec les mesures capteurs. Ensuite on fait une détection statique. Si tous les segments sont statiques, on utilise la sortie de l algorithme statique comme estimation. Sinon, on utilise le filtre de Kalman. Dans le filtre de Kalman, lorsqu un capteur est statique on utilise la prédiction statique. Sinon on utilise la méthode classique avec modification dynamique de la matrice de covariance. La phase de correction reste la même pour les 2 cas Détection statique ou pseudo statique Afin de détecter si les capteurs sont dans l hypothèse pseudo statique, on propose de créer un observateur sur la déviation standard des mesures des capteurs dans une fenêtre CONFIDENTIEL - NE PAS DIFFUSER 154/230
155 Chapitre 5 : Résolution hybride Kalman glissante, sur la norme de l accéléromètre et sur le cosinus de l angle entre la mesure du champ magnétique et la mesure accélérométrique. Il suffit ensuite de régler des seuils de décision. On considérera que l hypothèse pseudo-statique est vérifiée si chaque valeur est inférieure à son seuil. Naturellement, les seuils sur les déviations standards dépendent des bruits capteurs. La dimension de la fenêtre glissante et les seuils sont réglés de façon empirique. Nous avons choisi une fenêtre de 10 échantillons Prédiction de l accélération d ensemble Lorsqu on est dans l hypothèse où le mouvement ne comporte pas de point fixe, les trois derniers états sont les coordonnées de l accélération d ensemble dans le repère terrestre. Cette accélération correspond à l accélération du premier segment dans le repère terrestre choisi. Par premier, on entend le segment à partir duquel les autres sont définis. Pour la prédire, nous proposons d utiliser les mesures des capteurs et les angles qui ont été prédits précédemment. Pour cela, on utilise la fonction de mesure de l accéléromètre comme expliqué ci-dessous. On a 2 Terre T Capteur Capteur Mes _ Acc = RTerre * G0 + Acc _ ensemble 2 t (66) D où Acc = Acc _ ensemble 2 Terre TCapteur 2 Terre = RCapteur * Mes_ Acc+ G0 t Terre Capteur = RCapteur * Mes_ Acc+ RTerre * G0 2 Terre TCapteur 2 t (67) On peut alors estimer l accélération d ensemble en prenant Mes _ Acc = Mes _ Acc _ réelle. CONFIDENTIEL - NE PAS DIFFUSER 155/230
156 Chapitre 5 : Résolution hybride Kalman Une autre méthode (plus simple) consiste à utiliser la mesure simulée pour une accélération d ensemble nulle : 2 Terre T Capteur Capteur Mes _ Acc Acc _ ensemble= 0 = RTerre * G0 2 t Capteur avec la matrice R définie pour angles = angles _ predit et Acc = 0 Terre (68) On a alors en remplaçant Capteur R Terre * G0 2 Terre T Capteur 2 t par Mes _ Acc Acc _ ensemble= 0 dans l équation (60) : Terre ( _ 0 ) Acc _ ensemble = R * Mes _ Acc _ réelle Mes _ Acc = Capteur Acc ensemble (69) On effectue cette estimation sur chaque capteur puis on moyenne ces estimations pour réduire l erreur d estimation. On obtient alors : ( ) Acc _ ensemble _ predite = moyenne Acc _ ensemble (70) capteur capteur Cette méthode présente l avantage de mieux forcer le couplage des capteurs, au-delà de l information conjointe déjà portée par la modélisation en chaîne articulée Réglage des covariances Réglage de base Un point essentiel des filtres de Kalman est l estimation des covariances des bruits de mesure et d évolution. Cette opération est souvent appelée abusivement «réglage du filtre de Kalman». Pour régler les covariances, nous avons utilisé conjointement deux méthodes : un réglage a CONFIDENTIEL - NE PAS DIFFUSER 156/230
157 Chapitre 5 : Résolution hybride Kalman priori et un réglage a posteriori. Nous présentons tout d abord le réglage a priori. Dans notre cas, la covariance du bruit de mesure est assez simple. En effet, nous avons choisi de modéliser le bruit de mesure comme un bruit additif sans biais (pour les accéléromètres et les magnétomètres). Mesure = Mesureparfaite + bruit (71) Il suffit donc de réaliser une mesure statique suffisamment longue (de l ordre de la minute) et de calculer la covariance de la mesure. T (( Mesure) *( Mesure) ) T (( ( ))*( ( )) ) Covariance = mean Mesure mean Mesure Nombre de Mesure 1 (72) Pour le bruit d évolution, l objectif est de le modéliser de façon plus complexe. On considère un bruit additif (noté bruit post-évolution ), qui correspond au bruit de numérisation (qui se doit d être faible), et un bruit de modèle (noté bruit pré-évolution ), qui sera plus fort car il correspond réellement à l erreur faite en considérant l hypothèse θ = constante. Il se propage via la fonction d évolution. Cela nous donne finalement un modèle de la forme : ( ) x = f x + bruit + bruit k + 1 k pré evolution post evolution avec x = [ θθθ,,, Acc, Acc, Acc ] bruit bruit pré evolution post evolution x y z = bruit modèle = 0,0, bruit pré _ evo, θ = bruit = bruit numérisation post evo, θ, bruit, bruit post evo, θ post _ evo, θ (73) Pour évaluer les covariances de ces grandeurs, nous utilisons les exemples BVH sélectionnés (voir 6.2.1). On applique alors sur chacun des essais la fonction d évolution aux angles réels à l instant k et on compare le résultat avec les angles réels à l instant k+1. CONFIDENTIEL - NE PAS DIFFUSER 157/230
158 Chapitre 5 : Résolution hybride Kalman On a alors : ( ) diff θ = θ réel (74) θ prédit Et Covariance pré _ evo, θ ( θ) * diff ( θ) T diff = Nombre échantillons 1 mean diff ( ( θ) )* mean diff ( θ) ( ) T (75) Puis, ( θ) = θ θ * ( θ) diff réel prédit Te diff (76) Et Covariance post _ evo, θ ( θ) * diff ( θ) T diff = Nombre échantillons 1 mean diff ( ( θ) )* mean diff ( θ) ( ) T (77) Et enfin, Te² ( θ) = θ θ * ( θ) * ( θ) diff réel prédit Te diff diff 2 (78) Et CONFIDENTIEL - NE PAS DIFFUSER 158/230
159 Chapitre 5 : Résolution hybride Kalman Covariance post _ evo, θ T ( diff ( θ) * diff ( θ) ) = Nombre échantillons 1 T ( mean( diff ( θ) )* mean( diff ( θ) ) ) (79) Comme nous venons de le voir et théoriquement, ces grandeurs sont déterministes de par la définition d une covariance ([VASSILEV 07]), mais une optimisation de ces paramètres peut permettre une amélioration de la convergence des algorithmes. Cependant, il faut là encore s efforcer de rester générique et ne pas trouver des réglages spécifiques à un type de mouvement ; sauf dans le cas d une utilisation qui sera, elle, justement spécifique : typiquement si l on veut étudier des mouvements d une très grande dynamique la covariance d évolution (dans l hypothèse d évolution θ = cst ) devra être prise grande car l hypothèse sera peu respectée (et inversement dans un mouvement à faible dynamique, on prendra une covariance faible). Réglage dynamique Le réglage dynamique consiste à observer les mesures pour anticiper la dynamique du mouvement et donc des variables d états. On va alors modifier dynamiquement la matrice de covariance du modèle d évolution en fonction de cet observateur. Cet observateur ressemble à celui proposé pour la détection statique. Concrètement, l observateur se compose d un calcul de la déviation standard des mesures accéléromètres, magnétomètres (et gyromètres si présentes pour chaque segment). Ensuite, on utilise une fonction pour calculer un indice ou gain de dynamisme pour chaque segment : gainsegment = fonction( std ( MesAcc[ t ]) ( [ ]) ( [ ])) 9, t, std MesMag t 9, t, std MesGyro t 9, t (80) Enfin, on vient multiplier la matrice de covariance d évolution Q par ce gain : CONFIDENTIEL - NE PAS DIFFUSER 159/230
160 Chapitre 5 : Résolution hybride Kalman ( ) ( ) Q = gain _ segment * Q segment (81) Q segment étant la partie de Q correspondant à un segment Il faut adapter le choix de la fonction pour que la résolution se déroule bien. Nous proposons ci-dessous une forme qui permet d améliorer les résultats : (,, ) fonction sacc smag sgyro = eacc emag sacc oacc smag omag sgyro ogyro gain* moy,, racc rmag rgyro avec egyro gain un gain pour l'ensemble moy la fonction moyenne sacc, smag, sgyro les déviasions standards sur 10 échantillons oacc, racc, eacc les coefficients sur l'accéléromètre (offset, rapport et exposant) omag, rmag, emag les coefficients sur le magnétomètre ogyro, rgyro, egyro les coefficients sur le gyromètre (82) Pour choisir les valeurs des différents coefficients, ci-dessus, nous les réglons par optimisation sur l ensemble des fichiers BVH à notre disposition. Pour cela, nous balayons les plages de valeurs acceptables pour chacun en effectuant une résolution sur l ensemble des fichiers de test. Cela nous a permis d identifier des valeurs optimales. Nous ne pouvions en effet pas optimiser ces valeurs par un algorithme classique à cause du temps de calcul nécessaire à cette opération. CONFIDENTIEL - NE PAS DIFFUSER 160/230
161 Chapitre 5 : Résolution hybride Kalman oacc = 1211 racc = 11 eacc = 1 omag = 73 rmag = 30 emag = 1 ogyro = 857 rgyro = 50 egyro = 1 gain = 0,06 (83) Il semble intéressant à l avenir de chercher les meilleurs réglages, non plus empiriquement, mais en essayant de modéliser l erreur d évolution en fonction des dynamiques des mesures. Les premiers essais dans ce sens montrent en effet une bonne corrélation entre cette erreur et ces dynamiques. Fig. 53 : Erreur de prédiction en fonction de la norme de la déviation standard sur 10 échantillons On voit qu il y a bien une relation le nuage s étend vers du coin en bas à gauche vers le CONFIDENTIEL - NE PAS DIFFUSER 161/230
162 Chapitre 5 : Résolution hybride Kalman coin en haut à droite. Il faut modéliser cette erreur précisément Normalisation des états Sur un mouvement quelconque, l ordre de grandeur de la dérivée seconde est supérieur à celui de la dérivée angulaire, lui-même étant supérieur à celui de l angle. Les états présentent donc des ordres de grandeur très étalés. Afin de se préserver des erreurs de calcul numérique, il a été choisi de normaliser les états en posant : 1 θ modifié = * θ 10 1 θ modifié = * θ 100 (84) Il faut alors corriger les fonctions de mesure et d évolution pour prendre en compte cette normalisation. La correction revient simplement à multiplier par 10 et 100 les états avant de faire le calcul et les colonnes de la matrice jacobienne associées aux états concernés. Il faut aussi penser à modifier les covariances associées aux états (là encore on divise par la même valeur que l état associé) Conclusion Nous avons vu dans ce chapitre comment est réalisé notre système d estimation corps entier inertiel et magnétique grâce à un filtre de Kalman et des adaptations comme la normalisation des états, la normalisation de l accéléromètre, le réglage dynamique de la covariance, l estimation d accélération d ensemble et un mode pseudo-statique (non encore validé pour ce dernier). Dans le prochain chapitre, nous allons décrire les expérimentations faites pour valider notre système et leurs résultats. CONFIDENTIEL - NE PAS DIFFUSER 162/230
163 Chapitre 6 : Validation modèle inverse Chapitre 6 Validation modèle inverse Dans ce chapitre, nous décrivons comment nous avons mis en œuvre les algorithmes décrits précédemment et les résultats que nous avons obtenus. Les prétraitements capteur et les calibrations nécessaires sont aussi présentés. Nous décrivons aussi les méthodes optiques (en particulier celles appliquées au système Vicon TM ) que nous avons utilisées pour évaluer les performances de l algorithme de reconstruction que nous proposons. Enfin nous développons les résultats obtenus lors des différents tests en suivant la chronologie de ces expériences. De plus, nous justifions la pertinence des choix effectués dans les chapitres précédents. L algorithme utilisé est l algorithme décrit dans le Chapitre 4, il s appuie sur la modélisation du Chapitre 3 dans la formulation globale Evaluation du système de reconstruction Un point important de la mise en place d un système de reconstruction est son évaluation. CONFIDENTIEL - NE PAS DIFFUSER 163/230
164 Chapitre 6 : Validation modèle inverse Pour cela, nous avons utilisés deux procédés distincts. Le premier est subjectif et proche de l objectif applicatif visé. Le second est chiffré mais ne peut être mesuré que dans le cadre d une campagne de validation nécessitant une instrumentation lourde du corps dont on cherche le mouvement (par exemple grâce à un système optique utilisé comme référence) Rendu visuel Le procédé de rendu visuel décrit dans ce paragraphe vise une démonstration temps réel de la reconstruction du mouvement effectué par une personne. L objectif est de proposer un rendu qui fonctionne correctement visuellement, sans que l utilisateur ait besoin de surveiller ses gestes. Pour cela, nous avons développé deux versions logicielles de rendu visuel d après l outil proposé par [OSHITA 07] avec son autorisation : l une est hors-ligne afin de proposer un rendu des résultats sur les données simulées (comparaison entre le mouvement initial et les mouvements reconstruits par différents algorithmes), l autre est temps réel et couplée à une résolution Matlab et à un système d acquisition Movea (voir 6.3.2). Ce visuel a été réalisé par Frédéric Mansour, étudiant en DRT au CEA [MANSOUR 11] La version de gauche permet de comparer une résolution (en bleu) au mouvement théorique (en rouge). La version de droite permet de comparer différents algorithme au mouvement théorique. CONFIDENTIEL - NE PAS DIFFUSER 164/230
165 Chapitre 6 : Validation modèle inverse Fig. 54 : Les deux versions du BVH Player Critères chiffrés Dans le cadre de la conception des algorithmes, il est nécessaire de valider chaque étape de la reconstruction en comparant de façon chiffrée les angles réels et reconstruits pour valider le problème inverse. Nous décrivons ci-dessous comment nous avons évalué ces estimations. Pour évaluer le modèle inverse, nous proposons d utiliser deux critères. Le premier est lié au type de variables reconstruites. Il s agit d un critère angulaire : on s intéresse à la rotation résiduelle entre les angles réels et leurs estimations. Nous l exprimons sous la forme d un angle traduisant la différence restante entre la rotation réelle et celle estimée : 1 Mat_Rot_residuel = Mat_Rot_Vicon* Mat_Rot_Movea (85) Puis CONFIDENTIEL - NE PAS DIFFUSER 165/230
166 Chapitre 6 : Validation modèle inverse [ Angle, Axe] = Matrice2AxeAngle( Rotation _ residuel) Matrice2AxeAngle étant la fonction de passage entre le formalisme matrice de rotation et le formalisme angle-axe de rotation (86) Le second est lié à la finalité du système : avoir une représentation en trois dimensions correcte dans l espace de l objet capté. Le critère est donc la distance entre la position de points significatifs (articulations, capteurs ou marqueurs optiques dans le cadre d une captation avec un système de référence) et ceux simulés grâce aux angles obtenus par les algorithmes. C est l erreur de reconstruction. On obtient ainsi soit une erreur angulaire (c est-à-dire un angle qui correspond directement à nos états), soit une erreur de position (c est-à-dire une distance qui correspond à la finalité du système) par instant et par points comparés. On peut naturellement combiner ces grandeurs pour obtenir un critère scalaire (moyenne, moyenne quadratique, maximum). On a aussi utilisé les histogrammes d erreur et les marges à 95 % (valeur d erreur telle que 95 % des points aient une erreur inférieure) afin que l analyse de performance ne soit pas masquée par les points extrêmes. Il convient ici de noter que les deux critères évoluent globalement dans le même sens : plus la reconstruction est bonne, plus le critère est petit. Cependant, il y a une différence entre les deux. En effet, le premier critère évalue une valeur qui dépend exclusivement d un segment, alors que le deuxième évalue une valeur dépendant de toute la chaîne du dit segment à l origine du squelette. Il en découle que l interprétation de ces critères n est pas la même (on peut par exemple avoir une reconstruction A meilleure du point de vue angulaire par rapport à une reconstruction B, mais la reconstruction A peut-être moins bonne du point de vue distance). En fait, le critère basé sur la distance renforce la perception de l erreur des segments de début de chaine, mais correspond mieux à l erreur intuitive de reconstruction. CONFIDENTIEL - NE PAS DIFFUSER 166/230
167 Chapitre 6 : Validation modèle inverse 6.2. Tests corps entier en simulation Pour éviter de devoir traiter à la fois la validation de notre méthode et les difficultés inhérentes aux essais réels (comme la qualité du système de référence ou la présence de perturbateurs tels ceux cités aux paragraphes et ), nous avons choisi de tester les algorithmes de reconstruction sur des mouvements simulés. Une première approche aurait été d exciter les articulations avec des angles aléatoires. Mais cette sollicitation n est pas fonctionnelle car le réglage des filtres de Kalman doit se faire en fonction des caractéristiques réelles du mouvement humain, notamment pour la fonction d évolution et sa covariance. De ce fait, nous proposons une seconde approche qui consiste à utiliser une base de données de gestes humains (voir description ci-dessous). A l aide de cette base, nous pouvons tester les algorithmes avec différentes configurations de capteurs. Aux mesures simulées sont ajoutés des bruits ayant les caractéristiques de ceux des capteurs que nous utilisons : les MotionPod TM de Movea Base de données de gestes : exemple du format BVH Il existe sur internet de nombreuses bases de gestes issues de séances de captation, sous différents formats et proposant de nombreux types de mouvements. Afin de tester nos algorithmes nous avons identifié une base adaptée aux gestes réels. Pour le format, notre choix s est arrêté sur le BVH (Biovision Hierarchy), format développé par Biovision, une entreprise de captation de mouvement aujourd hui disparue. Son avantage est de donner directement les coordonnées articulaires ainsi que le squelette auquel elles sont associées, alors que de nombreux formats décrivent uniquement des positions spatiales. Cela nous a permis de nous focaliser uniquement sur la partie inertielle-magnétique et d éviter les prétraitements des données optiques Le format BVH comprend deux parties dans un même fichier : CONFIDENTIEL - NE PAS DIFFUSER 167/230
168 Chapitre 6 : Validation modèle inverse la première partie, repérée par le mot clé «HIERARCHY» comprend l enchaînement des repères (en commençant par «ROOT» : la racine) avec leurs degrés de liberté relatifs (angles relatifs et/ou distance relative) et leurs positions relatives, la seconde, repérée par le mot clé «MOTION», est l ensemble des valeurs prises par les variables précédemment définies à chaque instant de temps. La fréquence d échantillonnage et le nombre de période sont donnés avant ce tableau. Pour un exemple de tel fichier voir en annexe (Annexe - 0). Ce format permet également de définir un geste comme ayant ou non un point fixe. Pour cela, il suffit simplement de ne pas prendre en compte la translation du point de base. Cette possibilité enrichie les possibilités de test que l on peut réaliser. La base que nous avons choisie a été récupérée sur [MOCAPDATA] Description succincte de la base de geste Le squelette des mouvements que nous avons choisi décrit 22 segments dont voici les noms : Numéro du segment Nom du segment 1 hanches 2 vers la colonne vertébrale 3 colonne vertébrale 4 colonne vertébrale 1 5 le cou 6 tête CONFIDENTIEL - NE PAS DIFFUSER 168/230
169 Chapitre 6 : Validation modèle inverse 7 l'épaule gauche 8 bras gauche 9 avant-bras gauche 10 la main gauche 11 l'épaule droite 12 bras droit 13 avant-bras droit 14 main droite 15 fémur gauche 16 la jambe gauche 17 le pied gauche 18 base orteil gauche 19 fémur droit 20 la jambe droite 21 le pied droit 22 base orteil droit Tableau 8 : Description des segments du squelette BVH Avec l aide de Movea, une série de douze gestes permettant de couvrir les différentes applications finales a été identifiée pour réaliser nos tests de validation. Ces gestes regroupent des balancements («Swing») et des mouvements de boxe («Dodge» : esquive, «Hook» : crochet, «Block» : blocage, «Cross», direct, «Uppercut» : uppercut). Sur le Tableau 10 et sur la Fig. 55, nous donnons les statistiques sur les différents gestes. CONFIDENTIEL - NE PAS DIFFUSER 169/230
170 Chapitre 6 : Validation modèle inverse Les colonnes du tableau sont séparées selon l option point fixe ou non. Pour chaque option, on donne le maximum de l accélération propre subie par l ensemble des capteurs, ainsi que le pourcentage de points vérifiant l hypothèse pseudo-statiques (calculés grâce à notre détection statique). On constate que même les gestes de faible amplitude («swing» balancement en français) ont des accélérations propres de l ordre du G et donc bien supérieures à une valeur acceptable pour utiliser un algorithme pseudo-statique. CONFIDENTIEL - NE PAS DIFFUSER 170/230
171 Chapitre 6 : Validation modèle inverse Nom du mouvement Point Fixe Mode Libre Accélération Pourcentage Accélération Pourcentage maximum statique maximum statique Male1_A3_SwingArms Female1_A03_Swing Male2_E20_DodgeRight Male2_E19_DodgeLeft Male2_E5_HookLeft Male2_E14_BlockRightLow Male2_E10_BodyHookRight Male2_E6_HookRight Male2_E3_CrossLeft Male2_E8_UppercutRight Male2_E4_CrossRight Male2_E9_BodyHookLeft Tableau 9 : Caractéristique de la base de geste De plus, les caractéristiques d accélération maximale et de pourcentage de points statiques ne sont naturellement pas liées. En effet, lors de gestes atteignant des accélérations grandes, certains segments peuvent rester immobiles. CONFIDENTIEL - NE PAS DIFFUSER 171/230
172 Chapitre 6 : Validation modèle inverse Fig. 56 : Caractéristique de la base de geste Enfin, on peut remarquer que pour certains gestes l accélération propre maximale est supérieure en mode fixe à celle calculée en mode libre. Cela est dû à la façon dont sont construites les données BVH : elles sont décrites à partir d une translation du bassin suivie uniquement des rotations. Aussi, lorsqu on choisit le mode fixe, on annule cette translation qui peut avoir une dérivée seconde dans la même direction et de sens inverse que l accélération maximale. Donc, si on la supprime, on augmentera artificiellement l accélération maximale Systèmes testés Plusieurs systèmes de reconstruction corps entier sont évalués : Accéléromètres et magnétomètres triaxes (noté AM), AM avec au moins un gyromètre triaxe sur un segment (noté AM+xG), AM avec un gyromètre triaxe par segment (noté AMG). De plus, nous réalisons plusieurs tests en fixant ou non le point de base par rapport au repère terrestre. CONFIDENTIEL - NE PAS DIFFUSER 172/230
173 Chapitre 6 : Validation modèle inverse Pour les différents systèmes, nous avons simulés notre système sur la sélection de fichiers BVH. Nous utilisons comme critères l erreur de distance moyenne sur l essai et la marge à 95 % (une distance telle que 95 % des points de l essai est une erreur inférieure). Pour évaluer les résultats nous donnons la moyenne de ces critères sur la sélection, ainsi que les valeurs extrêmes Configuration AM Aux termes des essais réalisés, il s avère que la captation de mouvement bi-modalités AM ne donne pas de résultats satisfaisants, que ce soit avec ou sans point fixe. On observe une dérive qui apparait dès 1 ou 2 secondes d acquisition-estimation. Ainsi sur les exemples les plus courts, le résultat final peut paraitre satisfaisant mais cela est dû au fait que le système fonctionne sur une petite durée. Pour un rappel sur les critères utilisés voir ou cidessus. Configuration Moyenne du critère moyen Moyenne de la marge à 95% Minimum du critère moyen Minimum de la marge à 95% Maximum du critère moyen Maximum de la marge à 95% Point fixe Sans point fixe Tableau 10 : Statistique sur la base d'exemple BVH On étudie les statistiques des critères moyenne d'erreur de reconstruction et marge à 95 % On peut remarquer que les deux moyennes (mode point fixe ou non) ne sont pas très différentes. Cela est dû aux exemples les plus divergents : une fois que le système a décroché et en l absence de point statique, il ne peut recoller à la solution. Lorsque le CONFIDENTIEL - NE PAS DIFFUSER 173/230
174 Chapitre 6 : Validation modèle inverse système diverge la solution devient aléatoire et donc la valeur de l erreur aussi. Par ailleurs, pour chacun des deux modes, il est possible sur chaque exemple de faire converger le système de résolution mais les réglages des covariances du filtres de Kalman semblent dépendre du type de mouvement. Ce n est donc pas satisfaisant d un point de vue généricité de la méthode. On peut par contre imaginer différents réglages pour différents type de gestes bien identifiés pour des applications spécifiques. Fig. 57 : Moyenne par segment de l'erreur en distance Chaque courbe représente un exemple De plus, on voit sur la Fig. 57 le comportement précis des reconstructions : on s aperçoit que le système suit jusqu à décrocher au bout d un certain temps ( échantillons soit 1-1,5 seconde) lorsqu on n active pas les recalages statiques. Cela peut être suffisant pour certaines applications comme les jeux vidéo, surtout lorsque le mode statique (qui permet de recoller à la solution pour un segment lorsque le système le détecte comme statique) sera activé et validé. Enfin, il existe encore des points d amélioration à apporter aux algorithmes donc il n est CONFIDENTIEL - NE PAS DIFFUSER 174/230
175 Chapitre 6 : Validation modèle inverse pas inenvisageable de réussir à concevoir un système fonctionnel AM sans point fixe, mais actuellement si l on veut commercialiser un système il faut obligatoirement y ajouter quelques gyromètres. Nous évoquons cette configuration dans la partie suivante Configuration AM+xG : étude du nombre de gyromètre Dans cette configuration, nous évaluons l apport de gyromètres triaxes positionnés à différents endroits du corps, notamment au point de base du squelette ainsi qu aux extrémités du corps (main, pied et tête). Nous proposons plusieurs systèmes que nous nommerons par le nombre de gyromètres triaxes présents sur le corps (par exemple AM+6G correspond à un système AM sur chaque segment et un gyromètre triaxe à chaque extrémité (2 pieds, 2 mains et la tête) plus un au segment de base (le bassin)). Tous les mouvements dans cette partie, on une accélération au point de base et donc sont résolus dans l hypothèse sans point fixe. Tout d abord, il est intéressant d étudier l apport des gyromètres sur la reconstruction. Pour cela nous avons étudié plusieurs configurations afin d évaluer leurs possibilités. Les gyromètres ont été placés soit aux extrémités, soit sur le point de base du squelette. Nous avons essayé de balayer les différentes configurations envisageables, tout en restant symétrique par rapport au corps : si on met un gyromètre sur une main, l autre en portera un aussi. Ainsi au total nous avons comparé 8 combinaisons différentes, dont voici les résultats présentés en tableau. Dans les quatre premières colonnes, la croix verte veut dire que le segment possède un gyromètre triaxe, le rond rouge qu il n en possède pas. Comme nous pouvons le voir, plus on met de gyromètres, plus la reconstruction est de bonne qualité (1 ère ligne du tableau). Cependant, certains semblent plus importants que d autres. Notamment ceux situés sur les mains puis celui du bassin (ligne 2). Ceux des pieds semblent moins importants que ceux des mains, mais cela est dû au type de CONFIDENTIEL - NE PAS DIFFUSER 175/230
176 Chapitre 6 : Validation modèle inverse mouvements : en effet la sélections de mouvement est un recueil de gestes de boxe dont la dynamique est forte au niveau des bras et des mains. Si l on s intéressait à des gestes de footballeurs, par exemple, les gyromètres au niveau des pieds seraient sans doute les plus importants. CONFIDENTIEL - NE PAS DIFFUSER 176/230
177 Chapitre 6 : Validation modèle inverse Tableau 11 : Performance de l'algorithme en fonction des gyromètres Toutes les valeurs sont en cm. CONFIDENTIEL - NE PAS DIFFUSER 177/230
178 Chapitre 6 : Validation modèle inverse Fig. 58 : Critère moyen et marge à 95 % en fonction de la configuration CONFIDENTIEL - NE PAS DIFFUSER 178/230
179 Chapitre 6 : Validation modèle inverse Configuration AM+6G La meilleure configuration testée est formée d un réseau AM avec six gyromètres, un sur chaque extrémité (mains, pieds, tête) et un au point de base du squelette (bassin). Nous pouvons noter que cette solution répond bien à nos objectifs : le prix de la configuration capteurs (hors coût calculateur et interface) de la solution AM sur 22 segments est de 30, celle AMG (c'est-à-dire un gyromètre sur chaque segment) est de 100 et celle AM+6G de 43. On voit donc bien l intérêt économique d une telle solution : ce n est que 30 % plus cher que la solution AM (au lieu de 300 % plus cher pour la solution AMG) et cela permet d atteindre les mouvements dynamiques. Les résultats sont très satisfaisants, les erreurs moyennes de reconstruction en distance sont pour l ensemble des douze fichiers de tests inférieures au centimètre (voir ci-dessus). Les marges à 95% sont toutes inférieures à 10 cm, ce qui veut dire que moins de 5% des points ont une erreur supérieure. CONFIDENTIEL - NE PAS DIFFUSER 179/230
180 Chapitre 6 : Validation modèle inverse Fig. 59 : Résultat de l'algorithme pour les fichiers de la base BVH Chaque couleur représentant un tirage aléatoire des bruits capteurs Si nous prenons un exemple particulier (le numéro 4 qui est un mouvement de blocage à droite), nous pouvons tracer le critère en distance par segment et par échantillons (voir CONFIDENTIEL - NE PAS DIFFUSER 180/230
181 Chapitre 6 : Validation modèle inverse 6.1.2). Sur celui-ci, nous pouvons voir qu il n y a aucune erreur supérieure à 4 cm, ce à quoi on pouvait s attendre en regardant la marge à 95% pour cet exemple. De plus, on peut voir que naturellement l erreur se concentre sur certains segments : ceux qui bougent le plus et ceux qui sont aux extrémités. En regardant les segments 15 à 18 (voir Fig. 60) sur la vue de profil, on voit une erreur croissante, ce qui est logique car ces segments sont le fémur, la jambe et le pied (gauche), or une erreur sur la reconstruction du fémur provoque une erreur sur la reconstruction des deux autres par effet de bras de levier. Fig. 60 : Critère de distance par segment et par échantillons Influence de la durée Comme on peut le remarquer les exemples de la base BVH sont courts (tous de moins de 10 secondes). Etant donné nos traitements, on voit bien qu un décrochage est fatal. C'est-àdire que si l on a une mauvaise estimation à un instant t, on aura toujours une mauvaise estimation tant qu on ne repasse pas par une estimation statique. Pour tester la robustesse de nos algorithmes nous avons choisi de concaténer plusieurs fois le même geste pour simuler des durées de gestes plus longues. On peut voir sur la Fig. 61 que pour l un des exemples d une vingtaine de secondes nous n avons pas de soucis de divergence, alors que nous n avons pas activé de recalage statique, mais pour l autre une divergence se produit au bout de 3000 échantillons soit environ 15 secondes. CONFIDENTIEL - NE PAS DIFFUSER 181/230
182 Chapitre 6 : Validation modèle inverse Fig. 61 : Profil d'erreur de reconstruction de deux exemples longs : un stable, un divergeant On voit en trois dimensions le profil d erreur (en distance). Selon une composante horizontale, on parcourt les segments (22 segments), selon l autre, on a les échantillons (environ 4000 soit 20 s) et selon la composante verticale, on a le critère en cm. CONFIDENTIEL - NE PAS DIFFUSER 182/230
183 Chapitre 6 : Validation modèle inverse Apport des différents éléments de l algorithme Dans ce paragraphe, nous illustrons l apport des différents algorithmes que nous proposons au Chapitre 5 sur une configuration AM+6G. Nous comparons les mêmes critères que pour l étude de l ajout des gyromètres. Tableau 12 : Résultat de l'algorithme en fonction des méthodes activées. Toutes les valeurs sont en cm. Dans les quatre premières colonnes, la croix verte veut dire que l algorithme est actif, le rond rouge qu il est inactif. Norme YPR correspond à la normalisation des dérivées, Norme Acc à la normalisation des accéléromètres, Modif Q au réglage dynamique de la covariance de prédiction et Détermine Acc à la détermination de l accélération d ensemble On peut voir que toutes les méthodes apportent des résultats significatifs, à part «Norme YPR» (c'est-à-dire la mise à l échelle des dérivées premières et secondes angulaires, voir CONFIDENTIEL - NE PAS DIFFUSER 183/230
184 Chapitre 6 : Validation modèle inverse ), qui n a une influence limitée et non significative. On voit quand même une différence plus importante sur le pire cas (Maximum du critère moyen et maximum de la marge à 95 % : différence entre ligne 1 et 2 pour les 2 dernières colonnes). Cette méthode n est donc pas forcément utile. Par contre toutes les autres montrent bien leur pertinence : certes on peut penser que les critères moyens (colonne 5) semble acceptables mais lorsqu on s intéresse au maximums (les 2 dernières colonnes et surtout la dernière), on voit que les valeurs sont bien plus grandes, c'est-à-dire que certains exemples ont «décrochés». Ce n est pas précisé dans le tableau, mais si on désactive trop d algorithmes, la résolution diverge très rapidement, c est pour cela qu on ne donne pas les résultats Configuration AMG Cette configuration, un capteur AMG à chaque segment, a été testée par Frédéric Mansour, étudiant en DRT au CEA. Elle est totalement fonctionnelle d après la littérature (voir ). Pour rappel, l objectif de la présente étude est d évaluer si l approche bas coût à l aide d un squelette géométrique (multipoint) permet d améliorer la précision et la stabilité du système par rapport à un algorithme monopoint type AGM (remarque : lorsque l on parle d AGM, il s agit de l algorithme monopoint et lorsqu on parle de AMG il s agit de l algorithme multipoint). Un algorithme AGM monopoint performant a été développé dans le cadre de la collaboration CEA-Movea par Cindy Bassompierre (voir 1.4.3). Nous donnons ici à titre comparatif les résultats obtenus en appliquant cet algorithme à notre base de gestes. CONFIDENTIEL - NE PAS DIFFUSER 184/230
185 Chapitre 6 : Validation modèle inverse Configuration Moyenne du critère Moyenne de la marge à Minimum du critère Minimum de la marge à Maximum du critère Maximum de la marge moyen 95% moyen 95% moyen à 95% AMG multipoint AM+6G multipoint AGM monopoint Tableau 13 : Comparaison entre algorithme AMG multipoint et AGM monopoint Toutes les valeurs sont en cm. Dans ce tableau, on voit très clairement l apport de notre solution (utilisation d un modèle géométrique). En effet, la solution AM+6G multipoint est plus performante que la solution AGM monopoint alors qu elle utilise moins de capteurs Tests temps réel et démonstrateur Calibration géométrique Dans l utilisation usuelle du système, il faut être en mesure d évaluer le changement de repère entre le repère du solide (segment du corps) et le repère capteur. La calibration géométrique consiste donc à retrouver les paramètres utiles à la reconstruction du mouvement, à savoir l orientation et la position des capteurs par rapport aux segments, ainsi que la longueur des segments. Pour l orientation, le principe est de prendre une série de positions statiques précises et CONFIDENTIEL - NE PAS DIFFUSER 185/230
186 Chapitre 6 : Validation modèle inverse connues d avance, et de comparer les orientations issues des mesures des capteurs avec celle du solide. La position des capteurs pourrait être mesurée à la règle, mais l estimation obtenue est grossière (seule la composante en X, c est à dire dans la longueur du segment, peut réellement être ainsi évaluée) Première étape : Orientation La procédure consiste à donner au corps une série de postures connues et de comparer les mesures réelles à des mesures théoriques afin de déterminer les paramètres d orientation des capteurs. Plus la série sera grande, meilleure sera la précision (remarque : une seule mesure est suffisante si l orientation du segment est déterminée exactement et si le champ magnétique est parfaitement connu, mais ce n est pas le cas dans les mouvements humains). Le corps est placé dans une posture dite «posture 1» qui correspond à la posture de référence (c'est-à-dire que tous les angles sont nuls). Puis il est tourné de 90 dans le sens horaire, pour atteindre la posture dite «posture 2». CONFIDENTIEL - NE PAS DIFFUSER 186/230
187 Chapitre 6 : Validation modèle inverse Posture 1 Rotation de 90 Posture 2 Fig. 62 : Schéma des postures de la calibration d'orientation On sait alors que les capteurs mesurent (les équations sont valables pour tous les capteurs) : MesureAccelero = R _ orientation * G0 Posture 1 MesureMagneto = R _ orientation* B0 Posture MesureAcceleroPosture 2 = R _ orientation* * G MesureMagnetoPosture 2 = R _ orientation* * B avec 0 G0 = 0 1 ( GH ) sin B0 = 0, ( GH ) est l'angle entre G et H cos( GH ) (87) CONFIDENTIEL - NE PAS DIFFUSER 187/230
188 Chapitre 6 : Validation modèle inverse En effet, dans nos conventions l axe Z est porté par la verticale et est orienté vers le bas. Plusieurs grandeurs sont à déterminer, la matrice d orientation : R_orientation et les valeurs de sin ( GH ) et cos( GH ). Pour cela, on effectue les calculs suivants : MesAcc MesAcc MesMag Post 1 Post 2 Post 1 MesMag = Post 2 = MesureAccelero MesureAccelero MesureAccelero = MesureAccelero = MesureMagneto MesureMagneto MesureMagneto MesureMagneto Posture 1 Posture 1 Posture 2 Posture 2 Posture 1 Posture 1 Posture 2 Posture 2 (88) Il vient : ( GH ) = moy ( MesAccPost 1 MesMag Post 1 MesAcc Post 2 MesMagPost 2 ) sin, ( GH ) moy ( MesAcc MesMag MesAcc MesMag ) cos =, (89) avec moy la fonction moyenne Post 1 Post 1 Post 2 Post 2 On détermine enfin la matrice de rotation par : Mat = MesAccPost 1, MesMagPost 1, MesMagPost 2 ( GH ) ( ) ( GH ) ( GH ) 0 sin 0 R _ orientation = Mat * 0 0 sin GH 1 cos cos 1 (90) Cette donnée est alors incluse dans le modèle de mesures des capteurs sous forme de triplet angles. La précision de cette calibration est directement liée à la précision obtenue sur l orientation finale (c'est-à-dire qu une erreur d orientation de 1 provoque une erreur de 1 sur CONFIDENTIEL - NE PAS DIFFUSER 188/230
189 Chapitre 6 : Validation modèle inverse l estimation) Deuxième étape : longueurs de segments et des positions des capteurs On propose une calibration permettant de retrouver automatiquement les valeurs des longueurs des segments et des positions des capteurs sur les segments grâce un protocole de gestes. Cette calibration repose sur un algorithme connu dans la littérature, visant à réduire le nombre de degrés de liberté (rotations planes suivant des axes constants) afin d exploiter la connaissance a priori du vecteur constant pour résoudre le système ([BONNET 09]). Il permet ainsi de retrouver un mouvement plan uniquement grâce aux magnétomètres. On utilise ensuite la mesure accélérométrique pour déterminer la distance du capteur à l axe de rotation. Les mesures sont tout d abord transformées dans le repère attendu grâce aux matrices d orientation déterminées précédemment, afin de travailler par rapport aux axes du corps et non pas ceux des capteurs. Les calibrations doivent donc être faites dans l ordre dans lequel nous les décrivons ici. Les axes de rotations passent naturellement par les articulations du corps. Il faut donc définir un protocole pour exciter suffisamment d axes afin de déterminer les trois composantes inconnues des vecteurs longueurs et positions. On peut de plus noter que l algorithme exploitant la connaissance a priori du vecteur constant ([BONNET 09]), d estimation de la rotation plane grâce au magnétomètre, permet d obtenir l axe de la rotation plane dans le repère magnétique et accélérométrique (et gyrométrique) : cela permet de valider le calcul d orientation et de l affiner. Cela permet aussi de vérifier que l orientation des différents capteurs et bien la même (si ce n est pas le cas, il faut effectuer une calibration boitiers décrite dans le paragraphe 2.4.4). Nous donnerons, à titre d exemple, le protocole pour calibrer la composante X de l ensemble à trois segments épaule bras avant-bras. CONFIDENTIEL - NE PAS DIFFUSER 189/230
190 Chapitre 6 : Validation modèle inverse Rotation autour de l axe du corps, bras à l horizontale On définit Capteur Capteur X Capteur ([ Bonnet 06] ) ( ( )) θ = moyenne Uconstant Mag a i i= 1,2,3 dθ1 a = (91) θ dt Uconstant algorithme décrit dans On a alors MesureAccelero i = 1, 2, 3 Avec a 2 Xi, = Ri * θa R1 = distance( base épaule, capteur1) X R2 = distance( base épaule, capteur2) X = longueur( épaule) X + distance( base bras, capteur2 ) X R3 = distance( base épaule, capteur3) X = longueur( épaule) X + longueur( bras) X + distance( coude, capteur3 ) X (92) CONFIDENTIEL - NE PAS DIFFUSER 190/230
191 Chapitre 6 : Validation modèle inverse Rotation de l épaule (axe de rotation est perpendiculaire au plan du schéma) On définit X b i= 2,3 ( ( )) θ = moyenne Uconstant Mag dθb θb = dt i (93) On a alors Limite rotation de MesureAccelero R G i = 2,3 ( θ ) b 2 Xi, = i* θb + *sin b Avec R2 = distance( base bras, capteur2) R3 = distance( base bras, capteur3) = longueur( bras) X + distance( coude, capteur3 ) X X X (94) CONFIDENTIEL - NE PAS DIFFUSER 191/230
192 Chapitre 6 : Validation modèle inverse Rotation du coude (axe de rotation est perpendiculaire au plan du schéma) On définit Capteur X Capteur c i= 3 ( ( )) θ = moyenne Uconstant Mag dθc θc = dt i (95) Capteur On a alors Limite rotation de MesureAccelero R G Avec ( θ ) c 2 X,3 = 3 * θc + *sin c { R 3 = distance coude capteur 3 (, ) X (96) En utilisant les différentes relations, on déduit les équations suivantes : PositionX,1 = distance( base épaule, capteur1 ) X a MesureAccelero X,1 = 2 θa PositionX,2 = distance( base bras, capteur2 ) X b MesureAcceleroX,1 sin ( θb) * G = 2 θb PositionX,3 = distance( coude, capteur3 ) X c MesureAcceleroX,1 sin ( θc) * G = 2 θ c (97) On peut enfin estimer les longueurs (selon X) des segments : CONFIDENTIEL - NE PAS DIFFUSER 192/230
193 Chapitre 6 : Validation modèle inverse Longueur = longueur( épaule) = distance( base épaule, base bras) X,1 X X a MesureAccelero X,2 = Position 2 X,2 θ a LongueurX,2 = longueur( bras) X = distance( base bras, coude) X a MesureAccelero X,3 = Longueur 2 X,1 Position X,3 θ a b MesureAccelero X,3 = Position 2 X,3 θ b (98) Pour la deuxième longueur, il est préférable d évaluer la moyenne des deux équations cidessus pour améliorer la qualité de l estimation. On procède de même sur les autres axes du corps de façon à définir les autres composantes des vecteurs longueurs et positions Fonctionnement démonstrateur Lors de son DRT [MANSOUR 11], Frédéric Mansour a réalisé un démonstrateur temps réel AMG multipoint. Afin d être exhaustif, l ensemble des solutions proposées dans notre étude a été intégré. Le démonstrateur se base sur les capteurs de Movea : les MotionPod TM v3, un logiciel interne de Movea : MoveaLab 2 et un logiciel de visualisation de fichier BVH adapté à Matlab TM et au temps réel : SkelViewer. La Fig. 63 donne le fonctionnement du démonstrateur. CONFIDENTIEL - NE PAS DIFFUSER 193/230
194 Chapitre 6 : Validation modèle inverse Calibration des données Données MotionPod TM via MotionControleur TM Correction du biais Gyro Synchronisation des capteurs Accumulation des données Envois des données par UDP MoveaLab 2 Echantillons de 10 mesures AMG Récupération des données par UDP MATLAB TM Traitement selon l algorithme demandé Passages des angles au format BVH Retourne le choix de l algorithme Envoi des angles à l interface graphique Angles calculés par l algorithme demandé SkelViewer Fig. 63 : Fonctionnement logiciel du démonstrateur ([MANSOUR 11]) Une des difficultés de la réalisation de ce système était la liaison UDP entre MoveaLab 2 et Matlab. En effet l acquisition d un trop grand nombre de paquets rendait notre système trop lent pour du temps réel, d où la nécessité d envoyer des paquets plus grands. Nous avons opté pour dix jeux de mesures par paquet. Bien entendu le traitement tient compte de cette anomalie. Nous avions trois algorithmes différents à tester : notre système, le système statique «classique» et l algorithme AGM ([BASSOMPIERRE 09]). Nous laissons également la possibilité à l utilisateur de choisir pour notre algorithme d utiliser ou non les gyromètres pour chaque segment. CONFIDENTIEL - NE PAS DIFFUSER 194/230
195 Chapitre 6 : Validation modèle inverse Voici l interface graphique SkelViewer : Fig. 64 : Interface graphique SkelViewer Nous avons également un bouton «BreakPoint» qui permet de poser un point d arrêt Matlab TM en cours de test, ce qui permet de modifier les paramètres qui ne sont pas directement modifiables via l interface graphique. Un bouton d enregistrement permet d enregistrer les mesures et les angles rendus par l algorithme. Trois segments sont affichés de couleurs différentes du reste du corps (ceux qui sont équipés de centrale d attitude), et le repère terrestre par rapport au plan OpenGL est indiqué à l aide de trois segments de couleur au pied du personnage (Rouge = X Vert = Y Bleu = Z). CONFIDENTIEL - NE PAS DIFFUSER 195/230
196 Chapitre 6 : Validation modèle inverse Afin de rendre compte de nos résultats auprès des industriels et de nos partenaires, nous avons réalisé des films de démonstration dont voici une copie d écran : Fig. 65 : Copie d'écran du film de démonstration 6.4. Conclusion Dans ce chapitre, nous avons pu montrer l intérêt de nos méthodes. En effet, notre approche globale permet d améliorer considérablement les performances d estimation cinématique, au point où il devient possible de limiter le nombre de gyromètres à six. Cela permet de diviser par deux les coûts que ce soit en termes de consommation électrique comme de prix. Nous avons cependant montré qu à l heure actuelle de nos avancées la captation AM seule n est pas fonctionnelle. De nouvelles pistes pourront apporter peut-être des solutions permettant d atteindre cet objectif, par exemple des modifications de nos méthodes (amélioration de la fonction de prédiction pour insérer de la connaissance du mouvement humain), voire de nouveaux algorithmes comme les filtres complémentaires. CONFIDENTIEL - NE PAS DIFFUSER 196/230
197 Conclusion et perspectives Conclusion et Perspectives L objectif de cette thèse était d étudier une nouvelle approche pour la captation des mouvements dynamiques du corps humain avec de centrales inertielles dotées de MEMS. L enjeu était de privilégier l utilisation de deux modalités bas coût (accéléromètres et magnétomètres) et d évaluer l apport de l information fournie par les gyromètres. Une solution basée sur la connaissance a priori du squelette géométrique via l introduction d un modèle de corps poly-articulé a été étudiée. La formulation des fonctions de mesure sous forme de chaîne articulée associée à une référence terrestre que nous avons développée permet de limiter les non linéarités du problème inverse. Nous avons proposé une méthode de résolution hybride fonctionnelle : il s agit d un estimateur basé sur un filtre de Kalman étendu, associé à la prise en compte de la dynamique du mouvement (notamment des phases statiques de certains segments) et de l accélération d ensemble du corps, ainsi qu à la mise en place d un réglage dynamique des covariances du processus d évolution visant à approcher au mieux l estimation théorique La reconstruction obtenue en appliquant notre méthode permet de conclure qu en l état, la captation de mouvement inertielle à deux modalités (accéléromètres et magnétomètres) a besoin en plus de l apport de gyromètres pour fournir des résultats satisfaisants. Cependant CONFIDENTIEL - NE PAS DIFFUSER 197/230
198 Conclusion et perspectives nous avons montré qu il n était pas nécessaire de disposer ces capteurs sur chaque segment du corps. En effet, les résultats sur la sélection de gestes de boxe que nous avons étudiée suggèrent qu ajouter des gyromètres à la base du squelette et à chaque extrémité du corps suffit pour atteindre les objectifs fixés (quelques de degrés de précision et un rendu visuel acceptable). Cette solution s avère même plus stable qu un algorithme exploitant des centrales inertielles à trois modalités sur chaque segment, sans connaissance a priori sur le modèle cinématique du corps humain. De plus cette solution répond bien aux exigences bas coût du système, en effet un tel système correspond à un prix capteur de seulement 30 % de plus qu une configuration AM classique, au lieu de 300 % pour un système tout AMG tel que celui actuellement commercialisé par Moven TM par exemple. Afin de réaliser les expériences décrites dans ce mémoire nous avons développé un environnement Matlab/C++ de captation de mouvement facilement adaptable, dans lequel nous pouvons rapidement ajouter une nouvelle modalité de mesure ainsi qu un nouveau moteur de résolution. Les futures recherches devront s orienter notamment vers l amélioration de la fonction de prédiction du filtre de Kalman, et sur le calcul de la covariance ainsi que sa modification dynamique. En effet, cette étape semble problématique et sa modification a pu apporter des améliorations notables dans l estimation de l attitude. Ce réglage a été fait de façon empirique. Mais il serait préférable de chercher une modélisation de la modification dynamique optimale. Une solution serait peut-être la prise en compte de la masse des segments afin d utiliser les équations de la dynamique afin de prédire le mouvement. Une solution peut être dans une meilleure prise en compte des points fixes, en améliorant leur détection en ajoutant par exemple des capteurs de force sous les semelles afin de détecter précisément et sans erreur l immobilité au sol, voire de pouvoir prendre en compte cette force afin de prédire le mouvement futurs. De plus, il faut voir comment prendre en compte plusieurs points fixes, cela ne pouvant qu améliorer la résolution. De plus certaines idées présentes dans ce manuscrit n ont pas encore pu être totalement menées à bien comme la calibration géométrique et l identification et l utilisation des perturbateurs magnétiques. Ces éléments devront être évalués précisément. Il faut aussi se CONFIDENTIEL - NE PAS DIFFUSER 198/230
199 Conclusion et perspectives pencher sur les mouvements de peaux afin d évaluer les problèmes qu ils peuvent engendrer dans les cas réels. Il faut aussi développer les méthodes permettant de s en affranchir. De manière générale, il faut aussi passer à des expérimentations réelles en comparaison avec un système de référence de type Vicon TM afin de valider les conclusions faites en simulation. Enfin, nous pouvons penser à ajouter d autres types de modalité de mesure comme les capteurs de distance : une thèse est en cours sur ce domaine au CEA Grenoble ou encore d utiliser d autres types d outil que le filtre de Kalman. Par exemple les filtres complémentaires sont utilisés dans [FOURATI 10] pour séparer l information haute fréquence des gyromètres de celle basse fréquence des accéléromètres et magnétomètres. CONFIDENTIEL - NE PAS DIFFUSER 199/230
200 Bibliographie Bibliographie [AZPILLAGA 07] AZPILLAGA ALSASUA Carmen, Reconstruction du mouvement du corps par le logiciel HuMaNS, Rapport de DRT INRIA/CEA/INPG, 2007 [BARRAUD 09] Alain Barraud, Rapport Annexe collaboration CEA-Leti Gipsa-Lab, Rapport interne 2009 [BASSOMPIERRE 03] Cindy Bassompierre, Rapport synthèse : captation de mouvement, Rapport interne CEA LETI, 2003 [BASSOMPIERRE 09] Cindy Bassompierre Méthode de fusion de données pour la captation de mouvements 6 DDL et 9 DDL, Rapport interne CEA LETI, 2009 [BONNET 07] Bonnet S, Héliot R. A magnetometer-based approach for studying human movements. IEEE Trans Biomed Eng Jul;54(7): [BONNET 09] S. Bonnet, C. Bassompierre, C. Godin, S. Lesecq, and A. Barraud. Calibration methods for inertial and magnetic sensors. Sensors and Actuators A: Physical, 156(2): , December [BRODIE 09] Brodie, M. A. Developement of Fusion Motion Capture for Optimisation of Performance in Alpine Ski Racing. Thesis, Massey University, Wellington CONFIDENTIEL - NE PAS DIFFUSER 200/230
201 Bibliographie [CARITU 06] Yanis Caritu et Dominique David, Dispositif de captation de mouvement et procédé associé, Brevet FR A1, 17 février 2006 [COURTILLOT 75] V. Courtillot, J. L. Le Mouël Le champ magnétique de la Terre La Recherche, Volume 59, 1975 [DAVID 02] Dominique David, Yanis Caritu, Dispositif pour la captation du mouvement de rotation d'un solide, Brevet FR , 5 Avril 2002 [DOUTAZ 08] Jérome Doutaz, Dispositif de restitution sonore de signaux magnétiques issus de mesures de phénomènes magnétiques réels ou artificiels basse fréquence, à des fins artistiques ou commerciales, Rapport de DRT, CEA/INPG,10 septembre 2008 [FONADE 03] Damien Fonade Compensation des perturbations magnétiques d un porteur Rapport de DRT, CEA/INPG, 2003 [FOURATI 10] Hassen Fourati, Contributions à l estimation d attitude chez l animal ou l home par fusion de données inertielles et magnétiques : de la reconstitution de la posture vers la navigation à l estime : une application au Bio-logging, Thesis, Université de Strasbourg, 2010 [GODIN 06] Christelle Godin, Stéphane Bonnet, Alain Barraud et Suzanne Lesecq, Procédé et dispositif de détection d un axe de rotation sensiblement invariant, Brevet FR B1, 25 avril 2008 [HADAMARD 02] Jacques Hadamard, Sur les problèmes aux dérivées partielles et leur signification physique, Princeton University Bulletin, 1902, p [HELIOT 05] Heliot, R.; Pissard-GiboIIet, R.; Espiau, B.; Favre-Reguilion, F, Continuous identification of gait phase for robotics and rehabilitation using microsensors Advanced Robotics, ICAR '05. Proceedings., 12th International Conference on, pp , July 2005 [JAGER 07] Thomas Jager Etat de l art sur les microcapteurs de mouvement, Rapport interne CEA LETI, 2007 CONFIDENTIEL - NE PAS DIFFUSER 201/230
202 Bibliographie [JAMMES 06] Fabien Jammes, Reconstruction de mouvements humains rapides à l aide d un réseau embarqué de microsystèmes de mesure, Rapport de DRT INRIA/CEA/INPG, 2006 [JAMMES 07] Fabien Jammes, Bruno Flament et Pierre-Brice Wieber, Procédé de traitement pour la captation de mouvement d'une structure articulée, Brevet FR A1 11 mai 2007 [KALMAN 60] Kalman, R. E. A New Approach to Linear Filtering and Prediction Problems, Transactions of the ASME - Journal of Basic Engineering Vol. 82: pp (1960) [KALMAN 61] Kalman, R. E., Bucy R. S., New Results in Linear Filtering and Prediction Theory, Transactions of the ASME - Journal of Basic Engineering Vol. 83: pp (1961). [KHALIL 02] Hassan K. Khalil. Nonlinear Systems. Prentice Hall [KIRSCH 05] Stefan R. Kirsch, Accuracy Assessment of the Electromagnetic Tracking System Aurora, Technical report, NDI Europe GmbH, octobre 2005 [KIRSCH 06] Stefan R. Kirsch, Christian Schilling and Georg Brunner, Assessment of Metallic Distortions of the Electromagnetic Tracking System Aurora Proc. SPIE 6141, 61410J (2006); doi: / [KUIPERS 02] Jack B. Kuipers, Quaternions and rotation sequences, Princeton University Press 2002 [KUPELIAN 07] Kupelian, P., Willoughby, T., Levine, Et al., 1Multi-institutional clinical experience with the Calypso System in localization and continuous real-time monitoring of the prostate gland during external radiotherapy March 15, International Journal of Radiation Oncology Biology Physics. Volume 67, Issue 4, pages [LUINGE 02] H.J. Luinge, Inertial sensing of human movement, Thesis, Twente University Press, 2002 CONFIDENTIEL - NE PAS DIFFUSER 202/230
203 Bibliographie [MANSOUR 11] Frédéric Mansour, Captation de mouvement corps entier à l aide de magnétomètres, accéléromètres et gyromètres, Rapport de DRT, Grenoble INP/CEA-Leti, 29 mars 2011 [MERAYO 00] J M G Merayo, P Brauer, F Primdahl, J R Petersen and O V Nielsen Scalar calibration of vector magnetometers Measurement Science and Technology 2000.T [MERAYO 03] Merayo J.M.G., Brauer P., Primdahl F., Petersen J.R., Nielsen O.V. Reply to comment on 'scalar calibration of vector magnetometers' by V G Semenov Measurement Science and Technology [MOCAPDATA] site du laboratoire de captation de mouvement de l Advanced Computing Center of Art and Design de Colombus Ohio USA [MONNET 10] T. Monnet, A Thouze, M Begon, M T G Pain, Determination of the less disturbed markers by skin movement artefact, 14th International Conference on Experimental Mechanics (ICEM 14) Poitiers, FRANCE, July 4-9, 2010, The European Physical Journal vol 6, 2010 [OSHITA 07] Masaki OSHITA, page de presentation du logiciel BVH Motion File Player sur le site web de l Oshita Laboratory, Kyushu Institute of Technology, Japan, [ROBERSON 84] R. E. Roberson, On the practical use of Euler-Rodrigues parameters in multibody system dynamic simulation, Archive of Applied Mechanics, Volume 55, Number 2, , DOI: /BF , 1984 [SALMERONQUIROZ 07] Bernardino Benito Salmeronquiroz, Fusion de données multicapteurs pour la captation de mouvement, Thèse, Gipsa-lab/UJF 2007 CONFIDENTIEL - NE PAS DIFFUSER 203/230
204 Bibliographie [SEMENOV 03] Semenov V.G Comment on 'Scalar calibration of vector magnetometers' Measurement Science and Technology [SHUSTER 81] M.D. Shuster S.D. Oh Three-Axis Attitude Determination from Vectors Observation, Journal of Guidance and Control, 1981 [TITTERTON 04] David Titterton and John Weston, Strapdown Inertial Navigation Technologies, 2nd Edition, Institution of Engineering and Technology Collection : IEE Radar Series 29 octobre 2004 [VASSILEV 07] A.Vassilev Bruit et Kalman,Rapport Interne CEA-Leti 2007 [WIEBER 06] Pierre-Brice Wieber, Florence Billet, Laurence Boissieux, Roger Pissard-Gibollet The HuMAnS toolbox, a homogenous framework for motion captation, analysis and simulation International Symposium on the 3D Analysis of Human Movement, Valenciennes : France (2006) [WONG 09] Bill Wong, Sixense Sensor Provides Real 3D Positioning, January 29, 2009, [ZEBRIS] site internet de la société Zebris (captation de mouvement par ultrasons), Allemagne [WINDOLF 08] Markus Windolf, Nils Götzen, Michael Morlock, Systematic accuracy and precision analysis of video motion capturing systems exemplified on the Vicon-460 system, Journal of Biomechanics, Volume 41, Issue 12, Pages , 28 August 2008, CONFIDENTIEL - NE PAS DIFFUSER 204/230
205 Communications soumises et brevets Communications soumises et brevets Conférence et colloque Pierre Grenet, Le système Vicon comme référence pour l évaluation d un système de reconstruction de posture, Colloque Analyse 3d du Mouvement, Institut P UPR 3346 AXE RoBioSS, 18 juin 2010 Pierre Grenet, Frédéric Mansour, Vincent Fohanno, Using Vicon system and optical method to evaluate inertial and magnetic system accuracy, 14th International Conference on Experimental Mechanics (ICEM 14) Poitiers, FRANCE, July 4-9, 2010, The European Physical Journal vol 6, Brevet déposé Viviane Cattin, Ismail El Markfouq, Pierre Grenet, Système de mesure de champ magnétique comprenant un capteur triaxial de mesure de champ magnétique mobile CONFIDENTIEL - NE PAS DIFFUSER 205/230
206 Communications soumises et brevets conjointement avec un élément porteur capable de générer au moins un champ magnétique additionnel perturbant les mesures et procédé associé, Brevet CEA-Leti, Brevet en cours Système reconstruction de mouvement hybride, Pierre Grenet Calibration géométrique, Pierre Grenet et Christelle Godin Identification et utilisation des perturbateurs magnétiques, Pierre Grenet CONFIDENTIEL - NE PAS DIFFUSER 206/230
207 Annexes Annexes CONFIDENTIEL - NE PAS DIFFUSER 207/230
208 Annexes Chapitre 1 : Mathématique et automatique Chapitre 1 Mathématique et automatique 1.1. Représentation d état La représentation d état est un concept d automatique permettant de représenter les systèmes dynamiques en utilisant des variables d état caractérisant le système. Cette représentation peut être linéaire ou non. Voici leur forme : Système linéaire : CONFIDENTIEL - NE PAS DIFFUSER 208/230
209 Annexes Chapitre 1 : Mathématique et automatique x = A* x+ B* u+ C* ν y = D* x + E* ω où x représente les états ( x étant la dérivée) y représente les mesures u représente la commande ν le bruit d'évolution ω le bruit de mesure A la matrice de transition B le gain de commande C le gain du bruit d'évolution D la matrice de mesure E le gain du bruit de mesure (99) Système non linéaire : xt () = f(, t xt (), ut (), ν ()) t y = h(, t x(), t u(), t ω()) t où t est le temps x est la variable d'état ν le bruit d'évolution ω le bruit de mesure u est la commande y est la sortie f est la fonction d'évolution h est la fonction de mesure (100) Il est classique afin d estimer les états de discrétiser ce type de système, en choisissant une période d échantillonnage. Il convient notamment de respecter le théorème de Nyquist- Shannon qui lie le choix de la fréquence d échantillonnages et la fréquence des phénomènes physiques étudiés (la fréquence d échantillonnage doit être au moins le double de la fréquence des phénomènes). Les formules de discrétisation sont données dans la partie sur les filtres de Kalman (voir Annexe 1.4). CONFIDENTIEL - NE PAS DIFFUSER 209/230
210 Annexes Chapitre 1 : Mathématique et automatique 1.2. Caractérisation d un problème inverse sous forme de représentation d état Problème bien posé Pour évaluer si un problème est inversible, on peut s intéresser à la propriété définie par Hadamard [HADAMARD 02], appelée «problème bien posé». Il définit un problème bien posé comme un modèle mathématique de phénomènes physiques ayant les propriétés suivantes : 1. Une solution existe 2. La solution est unique 3. La solution dépend de façon continue des données dans le cadre d une topologie raisonnable Observabilité L observabilité est une notion d automatique. C est une propriété des systèmes de représentation d état. Elle permet de savoir si la connaissance des sorties permet d observer les états (c'est-à-dire de les connaitre). Voici trois définitions similaires d observabilité : «On dit que le système est complètement observable si, pour tout x(t 0 ), il existe tf > t 0 tel que la connaissance de u et y dans l intervalle [t 0, tf] détermine x (t 0 ) de manière unique.» «Un système est observable si, partant de l observation de la sortie sur un horizon fini il est possible de déterminer de quelles conditions initiales on est parti» «Un système est dit observable si l'observation de ses entrées et sorties pendant un intervalle de temps fini [ti ;tf] permet de retrouver l'état initial x(ti).» CONFIDENTIEL - NE PAS DIFFUSER 210/230
211 Annexes Chapitre 1 : Mathématique et automatique Si seuls certains états sont déterminables on dit que ces états sont observables par opposition aux autres qui ne le sont pas. La principale façon de démontrer qu un système est observable est donnée par l équivalence suivante : Une représentation d'état continue indépendante du temps est observable si et seulement si elle vérifie l équation suivante : D D* A rang = n... n 1 D* A où h D = (, t x, u) x f A= (, t x, u) x n est le nombre d'état (101) Dans le cas d un système linéaire (c'est-à-dire que A et D sont constants spatialement), la propriété est vérifiable par calcul pour l ensemble des points d étude, mais dans le cas non linéaire (comme notre cas) cela est très compliqué et dépend naturellement de la forme des fonctions f et h Observabilité globale et locale La notion d observabilité globale à proprement parler n existe pas. Il existe cependant plusieurs notions proches. Tout d abord, la notion la plus large, l observabilité uniforme est définie par une propriété des entrées, il faut donc définir une entrée universelle : une entrée u(t) est dite universelle sur l'intervalle [0; t] si tout couple d'état initiaux distincts (x1; x2) peut être discerné par les sorties sur l'intervalle [0; t], le système étant excité par la commande u(t). Une entrée u(t) CONFIDENTIEL - NE PAS DIFFUSER 211/230
212 Annexes Chapitre 1 : Mathématique et automatique qui n'est pas universelle est dite singulière. On peut alors définir l observabilité uniforme : le système est uniformément observable s'il ne possède pas d'entrée singulière, c'est-à-dire si toutes les entrées possibles sont universelles. Cette définition veut donc dire que quelle que soit l entrée, et quels que soient les points d étude le système est observable Locale On peut définir une observabilité locale comme une observabilité uniforme sur un voisinage des points d études. Cette notion est donc moins forte La méthode pour vérifier l observabilité locale est l utilisation de l équation (101) en chacun des points d étude Détectabilité L observabilité est une notion forte. Pour inverser le problème, il nous suffit d avoir une propriété de détectabilité. Cette propriété a pour condition nécessaire et suffisante : ses pôles non observables sont stables Il existe une matrice de gain d observateur d état G tel que la matrice (A-G*D) soit de Hurtwitz, c'est-à-dire que toutes ces valeurs propres ont une partie réelle négative. Pour plus d information voir [KHALIL 02] Optimisation Minimisation Le principe des algorithmes d optimisation minimisation est de minimiser un critère en jouant sur les variables d états. Dans nos cas ce sont des algorithmes non linéaires qui CONFIDENTIEL - NE PAS DIFFUSER 212/230
213 Annexes Chapitre 1 : Mathématique et automatique seront utilisés. Le principal algorithme que nous utilisons dans la thèse est la descente de gradient : le principe est de linéariser la fonction de coût autour du point d étude grâce au gradient et de faire se déplacer dans la direction de plus forte pente (direction du gradient le plus faible (c est à dire le plus négatif)). Il convient de choisir un critère d arrêt (par exemple, la valeur absolue du gradient inférieure à une borne) Kalman Cette description est tirée de [BARRAUD 09]. Le filtre de Kalman a été introduit en 1960 dans [KALMAN 60]. Le filtre de Kalman est une méthode d estimation d un système d état linéaire. C'est-à-dire qu il permet l estimation d états dans le cadre d un système d équations portant sur l évolution des états et sur la mesure qui peut être observée. Il permet d estimer l état et la covariance de celui-ci au cours du temps (la covariance représente la confiance qu on a dans l estimation d une grandeur). Ce point est très riche pour une application finale à vocation industrielle car le système peut connaitre la qualité de l estimation et agir en conséquence. Le système se présente classiquement de la forme suivante : CONFIDENTIEL - NE PAS DIFFUSER 213/230
214 Annexes Chapitre 1 : Mathématique et automatique x = A* x+ B* u+ C* ν y = D* x + E* ω où x représente les états ( x étant la dérivée) y représente les mesures u représente la commande ν le bruit d'évolution ω le bruit de mesure A la matrice de transition B le gain de commande C le gain du bruit d'évolution D la matrice de mesure E le gain du bruit de mesure (102) On voit donc qu il a été développé pour les applications linéaires de système continu. Il a été démontré ([KALMAN 60] et [KALMAN 61]) que le filtre de Kalman est l estimateur optimum dans le cadre de bruits de mesure et d évolution ou commande gaussiens. Son fonctionnement se base sur deux étapes : la prédiction et la correction. La phase de prédiction utilise l intégration du modèle d évolution de l équation d état. La phase de correction utilise l équation de mesure et la mesure réelle pour corriger la prédiction de la première phase. Pour une mise en œuvre numérique, ces concepts ont dû être modifiés pour prendre en compte l échantillonnage de l information. Cela a donné lieu au filtre de Kalman discret : CONFIDENTIEL - NE PAS DIFFUSER 214/230
215 Annexes Chapitre 1 : Mathématique et automatique xk+ 1 Ad * xk Bd * uk Cd * ν k = + + yk = Dd * xk + Ed * ωk où x y k k représente les états (à l'instant k) représente les mesures u représente la commande ν k k le bruit d'évolution ω le bruit de mesure A B C D E k d d d d d la matrice de transition le gain de commande le gain du bruit d'évolution la matrice de mesure le gain du bruit de mesure (103) Là encore il s agit d un filtre linéaire. Les formules pour discrétiser les matrices sont données ici : A d d = e ATe * Te At * e t= 0 * (104) B = dt B C* Te C = e où Te est la fréquence d'échantillonage D E d d d = D = E L algorithme est un estimateur récursif. Il suppose qu à l instant k nous connaissons l état et la covariance de celui-ci. Ils sont souvent nommés x k et Dans le cadre du cas discret, l estimation se déroule ainsi : Phase 1 : Prédiction P k. CONFIDENTIEL - NE PAS DIFFUSER 215/230
216 Annexes Chapitre 1 : Mathématique et automatique x_ predit = A * x + B * u k d k d k T T k d k d d k d P_ predit = A * P * A + C * Q * C où P k est la covariance de l'état à l'instant k Q est la covariance du bruit d'évolution k x_ predit est l'état prédit à l'instant k k P_ predit est la covariance prédite l'état à l'instant k T k est l'operateur transposée (105) Phase 2 : Correction y_ predit = D * x_ predit PMes _ predit = D * P _ predit * D + E * R * E T 1 k = _ k * d * _ k x = x _ predit + G *( y y _ predit ) k+ 1 k k k k P = ( I G * D )* P_ predit k+ 1 k d k PMes _ predit est la covariance de mesure prédite R k k d k T T k d k d d k d G P predit D PMes predit où G k k + 1 k+ 1 k est la covariance du bruit de mesure est le gain du filtre de Kalman I est la matrice identité y_ predit est la mesure prédite à l'instant k x P k est l'état estimé à l'instant k+ 1 est la covariance estimée à l'instant k + 1 (106) La dernière étape pour utiliser un filtre de Kalman dans la captation de mouvement corps entier est de l étendre au cas de fonctions non linéaires. C'est-à-dire dans le cadre d un système de la forme : CONFIDENTIEL - NE PAS DIFFUSER 216/230
217 Annexes Chapitre 1 : Mathématique et automatique x f( x, u, ν ) xk+ 1 fd( xk, uk, ν k) = ou = y = h( x, ω) yk = hd( xk, ωk) où x représente les états ( x étant la dérivée) y représente les mesures u représente la commande ν le bruit d'évolution ω le bruit de mesure f la fonction d'evolution h la fonction de mesure k et d se réfère au cadre discret (107) Les fonctions f et h peuvent être non linéaires par rapport à chacune de leurs variables. Le calcul de l état prédit et de la mesure prédite est identique au cas non linéaire. La difficulté intervient lorsqu il faut estimer la covariance prédite, la covariance de mesure prédite, le gain et la covariance estimée. Parmi les méthodes connues pour calculer/estimer ces matrices, deux filtres nous ont paru intéressant : le filtre de Kalman étendu (Extended Kalman Filter en anglais) et l Unscented Kalman Filter EKF Le principe de l EKF est de linéariser les équations à l ordre 1. L Extended Kalamn Filter utilise la linéarisation des équations en posant CONFIDENTIEL - NE PAS DIFFUSER 217/230
218 Annexes Chapitre 1 : Mathématique et automatique f F =, jacobienne de f par rapport à x x f F1 =, jacobienne de f par rapport à ν ν h H =, jacobienne de h x h H1 =, jacobienne de ω ω (108) On remplace alors dans les formules le calcul des fonctions linéaire par celui des fonctions non linéaires (par exemple x _ predit = A * x + B * u devient x _ predit = f ( x, u )). k d k d k k k k Et pour les prédictions et estimations des covariances ainsi que pour le calcul du gain on utilise les jacobiennes à la place des matrices Ad, Bd et D d. Cela donne : Phase 1 : Prédiction x_ predit = f( x, u ) k k k T k k k P_ predit = F* P * F + F1* Q * F1 T (109) Phase 2 : Correction y_ predit = h( x_ predit ) k PMes _ predit = H * P _ predit * H + H1* R * H1 T 1 k = _ k * * _ k x = x_ predit + G *( y y_ predit ) k+ 1 k k k k P = ( I G * H)* P_ predit k+ 1 k k k T k k k G P predit H PMes predit T (110) UKF Dans le cadre de l Unscented Kalman Filter, la non linéarité est approchée à un ordre supérieur, au prix d une quantité de calcul augmentée. On se donne une distribution dans le voisinage des points d étude pour évaluer la forme de la fonction dans ce voisinage et être CONFIDENTIEL - NE PAS DIFFUSER 218/230
219 Annexes Chapitre 1 : Mathématique et automatique ainsi capable de calculer les covariances des résultats de ces fonctions. Ce processus est appelé l Unscented Transform. Elle consiste en la création de «sigma-points» choisis de façon déterministe autour du point d intérêt. Puis au calcul de la moyenne et de la variance du nuage image des sigmapoints par la fonction à étudier. La méthode de création des sigma-points est donnée ci-dessous : Soit x n une variable aléatoire, x sa moyenne et P sa covariance. Soit Pf tq Pf * Pf = P T n*(2n+ 1) Soit X, tq : (111) X0 = x Xi = x + c* Pfi, i = 1,.., n Xn+ i= x c* Pfi, i = 1,.., n On voit donc que pour un vecteur de dimension n, il y a 2n+1 sigma points créés. Le facteur c est élément de réglage de l Unscented Transform. Plus il sera grand, plus les sigmapoints seront loin de la moyenne, il doit donc se régler en fonction de la dynamique de la fonction étudiée. Pour le calcul de la moyenne et de la covariance de l image des sigma points, on utilise des poids déterminés de façon à en optimiser l évaluation. Les poids sont définis par : CONFIDENTIEL - NE PAS DIFFUSER 219/230
220 Annexes Chapitre 1 : Mathématique et automatique Soit α, β et κ, λ = α²*( n + κ) c = n + λ On pose alors m λ W0 = c m 1 Wi =, i = 1,..,2* n 2* c et c λ W0 = + (1 α² + β) c c 1 Wi =, i = 1,..,2* n 2* c (112) Les poids m W servent pour le calcul de la moyenne et les W c pour le calcul de la covariance. Le facteur c est le même que celui utilisé pour le calcul des sigma points. Historiquement les coefficientsα = 1, β = 0 et κ = 0 étaient choisis, alors W c m = W. Cela posait un problème dans le cas d une grande dimension pour le vecteur x (n grand). En effet, les sigma points sont dans ce cas trop dispersés et la méthode prend alors en compte des comportements non locaux de la fonction étudiée. Des problèmes de distorsions en termes d asymétrie sont aussi corrigés par les réglages introduits. On peut enfin remarquer que les poids c W ne sont nécessairement de somme égale à 1. Du réglage de ces paramètres dépend la bonne estimation du comportement de la fonction au voisinage d un point. Il existe des préconisations dans le cadre d une statistique gaussienne : 1e 4 α 1 β = 2 (optimal pour x gaussien) κ = n 3 (113) Compte tenu du respect de ces règles (et aussi du bon réglage du paramètreα ), la moyenne CONFIDENTIEL - NE PAS DIFFUSER 220/230
221 Annexes Chapitre 1 : Mathématique et automatique et la covariance de l image de la fonction est précise à l ordre 2 et même à l ordre 3 si la statistique sur x est gaussienne (hypothèse souvent utilisée dans le cadre d un filtre de Kalman). L UKF utilise donc cette méthode pour calculer P_ predit k, PMes _ predit k. On pose : e X = f( X) = [ f( X ),..., f( X )] ( f étant la fonction d'evolution) 0 2* n+ 1 (114) On a alors m X = Wi * X i e i c e e T k i i i i P _ predit = W ( X X )*( X X ) (115) Ensuite, il faut faire de même pour PMes _ predit k. Pour cela, on redéfinit la liste de vecteurs X. Il existe deux variantes, soit on privilégie la vitesse d exécution, soit on privilégie la performance. vitesse c X0 = X c Xi = X + c* ( P_ preditk) i, i = 1,.., n c Xn+ i= X c* ( P_ preditk) i, i = 1,.., n c (X de taille (2n+1) n) (116) performance CONFIDENTIEL - NE PAS DIFFUSER 221/230
222 Annexes Chapitre 1 : Mathématique et automatique c e X0 = X0 c e Xi = X0 + c* ( Qk) i, i = 1,.., n c e Xn+ i= X0 c* ( Qk) i, i = 1,.., n c c e c X = [ X, h( X )] (X de taille (4n+1) n) (117) Ensuite, on calcule l image du nuage X : c Y = h( X ) ( h étant la fonction de mesure) (118) On a alors m Y = Wi * Yi i c k i i i i PMes _ predit = W ( Y Y )*( Y Y ) T (119) On calcul aussi c c T CorrXY = W * X *( Y ) k c c i i i = W *( X X)*( Y Y) T (120) Il reste un dernier point : la prise en compte des bruits. En effet les bruits sont soit additifs, soit non linéaires. Dans le cas de bruits additifs, c est relativement simple, on ajoute simplement la covariance à la covariance obtenu en sortie de fonction. C'est-à-dire qu on a : CONFIDENTIEL - NE PAS DIFFUSER 222/230
223 Annexes Chapitre 1 : Mathématique et automatique x = x;0n 1 P _ preditk = P _ preditk + Qk et/ou x = x;0 p 1, p est la dimension du vecteur mesure PMes _ preditk = PMes _ preditk + Rk (121) Dans le cadre de bruit non linéaire, il faut implémenter des fonctions f et h acceptant le bruit en entrée. Pour cela on «agrandit» le vecteur x de la taille du bruit à prendre en compte (évolution ou/et mesure ; on peut avoir un bruit additif et un bruit non linéaire), les valeurs étant prise nulles (pour un bruit de moyenne nulle). Il faut naturellement «agrandir» aussi la covariance, ce que l on fait avec la covariance du bruit : P new P 0 = 0 Q ou R (122) Cela augmente donc le nombre d états, ce qui va automatiquement augmenter le nombre de sigma points (rappel on calcule 2*n+1 sigma points, avec n le nombre d état). Les sigma points supplémentaires permettent d évaluer l image du voisinage de covariance de l état x. Enfin dans ce cas le calcul de P_ predit k et/ou PMes _ preditk prennent en compte les bruits. On peut alors calculer le gain du filtre de Kalman : G k CorrXYk = PMes _ predit k (123) On peut alors remarquer que toute méthode permettant d évaluer P_ predit k, PMes _ preditk et CorrXY k permet de calculer le gain et donc d utiliser le filtre de Kalman, on pense naturellement au filtre de Kalman d Ensemble (EnKF en anglais) qui CONFIDENTIEL - NE PAS DIFFUSER 223/230
224 Annexes Chapitre 1 : Mathématique et automatique évalue ces grandeurs avec des méthodes type Monte-Carlo Factorisation On peut voir dans les équations du filtre de Kalman une soustraction de matrice pour obtenir la nouvelle covariance d état (110). Or une matrice de covariance est nécessairement une matrice définie positive, les équations étant justes la propriété est bien vérifiée théoriquement. Cependant dans la mesure où les calculs sont effectués sur un système à précision finie (52 bits par exemple sur Matlab), cette propriété peut être perdue au cours du calcul numérique et cela rend l algorithme impossible à terminer. Pour passer outre ce problème, il a été introduit les filtres de Kalman factorisé cela consiste à remplacer les calculs des covariances, le calcul du gain, puis de la soustraction (110) par une décomposition QR. La formulation ne change pas beaucoup dans le cadre de l EKF, cela donne : Prédiction T k k k P_ predit = F* P * F + F1* Q * F1 T k k k fq * fq = Q T k k k fp * fp = P T T T ( ( k * 1 ; k * )) M = triangulaire_sup qr fq F fp F fp = M ( 1... n,1... n) où (124) Correction CONFIDENTIEL - NE PAS DIFFUSER 224/230
225 Annexes Chapitre 1 : Mathématique et automatique T PMes _ preditk = H * P _ preditk * H + H1* Rk * H1 T 1 Gk = P _ preditk * H * PMes _ preditk Pk+ 1 = ( I Gk * H)* P_ preditk ( T T * 1, ; _ *, _, k k k ) 1 T ( ( 1...,1... ) * ( 1..., 1... )) M = qrh fr H Z fp predit H fp predit p Gk = M p p M p p+ n+ p fpk + 1 = M ( p n + p, p n+ p) T (125) où fp _ predit * fp _ predit = P _ predit T k k k fr * fr = R T k k k qrh(., p) est la factorisation orthogonale partielle (p itérations) Dans le cadre de l UKF, les formules deviennent plus complexes contenu des méthodes utilisés pour évaluer le comportement des fonctions au voisinage des points d intérêt. Nous n entrerons pas ici dans la description des formules. Ces méthodes sont très utiles dans la mise au point du filtre de Kalman car elles permettent plus facilement de converger sans avoir des réglages parfaits. Cependant dans une version finale, leur apport permet certes une plus grande robustesse à des valeurs aberrantes mais demande une puissance de calcul bien supérieure. C est pour cette raison que la version non factorisée est souvent finalement implémentée. CONFIDENTIEL - NE PAS DIFFUSER 225/230
226 Annexes Chapitre 2 : Format BVH Chapitre 2 Format BVH Voici un exemple de fichier BVH (avec le tableau de données coupé) HIERARCHY ROOT Hips { OFFSET CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation JOINT ToSpine { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT Spine { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT Spine1 { OFFSET CONFIDENTIEL - NE PAS DIFFUSER 226/230
227 Annexes Chapitre 2 : Format BVH CHANNELS 3 Zrotation Xrotation Yrotation JOINT Neck { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT Head { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation End Site { OFFSET } } } JOINT LeftShoulder { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT LeftArm { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT LeftForeArm { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT LeftHand { OFFSET CONFIDENTIEL - NE PAS DIFFUSER 227/230
228 Annexes Chapitre 2 : Format BVH CHANNELS 3 Zrotation Xrotation Yrotation End Site { OFFSET } } } } } JOINT RightShoulder { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT RightArm { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT RightForeArm { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT RightHand { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation End Site { OFFSET } } CONFIDENTIEL - NE PAS DIFFUSER 228/230
229 Annexes Chapitre 2 : Format BVH } } } } } } JOINT LeftUpLeg { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT LeftLeg { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT LeftFoot { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT LeftToeBase { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation End Site { OFFSET } } } } } CONFIDENTIEL - NE PAS DIFFUSER 229/230
230 Annexes Chapitre 2 : Format BVH JOINT RightUpLeg { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT RightLeg { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT RightFoot { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation JOINT RightToeBase { OFFSET CHANNELS 3 Zrotation Xrotation Yrotation End Site { OFFSET } } } } } } MOTION Frames: 436 Frame Time: etc CONFIDENTIEL - NE PAS DIFFUSER 230/230
DE LA NUMÉRISATION DES ACTIONS PHYSIQUES DES UTILISATEURS VERS LA CONCEPTION D INTERFACE AVEC LA KINECT
DE LA NUMÉRISATION DES ACTIONS PHYSIQUES DES UTILISATEURS VERS LA CONCEPTION D INTERFACE AVEC LA KINECT Doctorant Laboratoire G-SCOP VEYTIZOU Julien [email protected] Qui suis-je? Projet
SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique
SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des
Analyse de la vidéo. Chapitre 4.1 - La modélisation pour le suivi d objet. 10 mars 2015. Chapitre 4.1 - La modélisation d objet 1 / 57
Analyse de la vidéo Chapitre 4.1 - La modélisation pour le suivi d objet 10 mars 2015 Chapitre 4.1 - La modélisation d objet 1 / 57 La représentation d objets Plan de la présentation 1 La représentation
Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.
Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de
ANNEXE - INNOVATIONS. processus, nom masculin
ANNEXE - INNOVATIONS» processus, nom masculin sens 1 - Suite d'opérations ou d'événements. Synonyme : évolution sens 2 - Ensemble d'actions ayant un but précis. NOS ACCESSOIRES INTELLIGENTS DONNER VIE
Utilisation d informations visuelles dynamiques en asservissement visuel Armel Crétual IRISA, projet TEMIS puis VISTA L asservissement visuel géométrique Principe : Réalisation d une tâche robotique par
Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007
Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................
La visio-conférence holographique : Pourquoi? Comment?
La visio-conférence holographique : Pourquoi? Comment? Francis Felix Labo LSIS / Arts & Métiers Paritech (ENSAM) 2 Cours des Arts et Métiers 13100 Aix-en-Provence Thierry Henocque AIP-Primeca Dauphiné
TP 7 : oscillateur de torsion
TP 7 : oscillateur de torsion Objectif : étude des oscillations libres et forcées d un pendule de torsion 1 Principe général 1.1 Définition Un pendule de torsion est constitué par un fil large (métallique)
LES LOIS PHYSIQUES APPLIQUÉES AUX DEUX-ROUES : 1. LA FORCE DE GUIDAGE
LES LOIS PHYSIQUES APPLIQUÉES AUX DEUX-ROUES : 1. LA FORCE DE GUIDAGE 2. L EFFET GYROSCOPIQUE Les lois physiques qui régissent le mouvement des véhicules terrestres sont des lois universelles qui s appliquent
Chapitre 0 Introduction à la cinématique
Chapitre 0 Introduction à la cinématique Plan Vitesse, accélération Coordonnées polaires Exercices corrigés Vitesse, Accélération La cinématique est l étude du mouvement Elle suppose donc l existence à
Fonctions de plusieurs variables
Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme
Voyez la réponse à cette question dans ce chapitre. www.hometownroofingcontractors.com/blog/9-reasons-diy-rednecks-should-never-fix-their-own-roof
Une échelle est appuyée sur un mur. S il n y a que la friction statique avec le sol, quel est l angle minimum possible entre le sol et l échelle pour que l échelle ne glisse pas et tombe au sol? www.hometownroofingcontractors.com/blog/9-reasons-diy-rednecks-should-never-fix-their-own-roof
Chapitre 2 : Caractéristiques du mouvement d un solide
Chapitre 2 : Caractéristiques du mouvement d un solide I Rappels : Référentiel : Le mouvement d un corps est décris par rapport à un corps de référence et dépend du choix de ce corps. Ce corps de référence
Transmission d informations sur le réseau électrique
Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en
Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN
Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Table des matières. Introduction....3 Mesures et incertitudes en sciences physiques
Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0
Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive Sommaire - Le Robot M.I.M.I. (Multipode Intelligent à Mobilité Interactive) - Présentation du Système à Enseigner. - Composition
Oscillations libres des systèmes à deux degrés de liberté
Chapitre 4 Oscillations libres des systèmes à deux degrés de liberté 4.1 Introduction Les systèmes qui nécessitent deux coordonnées indépendantes pour spécifier leurs positions sont appelés systèmes à
DÉVERSEMENT ÉLASTIQUE D UNE POUTRE À SECTION BI-SYMÉTRIQUE SOUMISE À DES MOMENTS D EXTRÉMITÉ ET UNE CHARGE RÉPARTIE OU CONCENTRÉE
Revue Construction étallique Référence DÉVERSEENT ÉLASTIQUE D UNE POUTRE À SECTION BI-SYÉTRIQUE SOUISE À DES OENTS D EXTRÉITÉ ET UNE CHARGE RÉPARTIE OU CONCENTRÉE par Y. GALÉA 1 1. INTRODUCTION Que ce
2 e partie de la composante majeure (8 points) Les questions prennent appui sur six documents A, B, C, D, E, F (voir pages suivantes).
SUJET DE CONCOURS Sujet Exploitation d une documentation scientifique sur le thème de l énergie 2 e partie de la composante majeure (8 points) Les questions prennent appui sur six documents A, B, C, D,
Intérêt du découpage en sous-bandes pour l analyse spectrale
Intérêt du découpage en sous-bandes pour l analyse spectrale David BONACCI Institut National Polytechnique de Toulouse (INP) École Nationale Supérieure d Électrotechnique, d Électronique, d Informatique,
Plan du cours : électricité 1
Semestre : S2 Module Physique II 1 Electricité 1 2 Optique géométrique Plan du cours : électricité 1 Partie A : Electrostatique (discipline de l étude des phénomènes liés aux distributions de charges stationnaires)
SCIENCES INDUSTRIELLES (S.I.)
SESSION 2014 PSISI07 EPREUVE SPECIFIQUE - FILIERE PSI " SCIENCES INDUSTRIELLES (S.I.) Durée : 4 heures " N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision
Projet audio. Analyse des Signaux ELE2700
ÉCOLE POLYTECHNIQUE DE MONTRÉAL Département de Génie Électrique Projet audio Analyse des Signaux ELE2700 Saad Chidami - 2014 Table des matières Objectif du laboratoire... 4 Caractérisation du bruit...
Sommaire. Leap motion... 2. Technologie... 2. Fonctionnement... 3. Langages utilisés... 3. Possibilités d utilisation... 4
Leap4Skywalker Sommaire Leap motion... 2 Technologie... 2 Fonctionnement... 3 Langages utilisés... 3 Possibilités d utilisation... 4 Projet développé avec le LeapMotion... 4 Imagination... 5 Technologies
Représentation géométrique d un nombre complexe
CHAPITRE 1 NOMBRES COMPLEXES 1 Représentation géométrique d un nombre complexe 1. Ensemble des nombres complexes Soit i le nombre tel que i = 1 L ensemble des nombres complexes est l ensemble des nombres
Note de cadrage du PEPI MACS Mathématiques Appliquées & Calcul Scientifique
Note de cadrage du PEPI MACS Mathématiques Appliquées & Calcul Scientifique Périmètre Le périmètre du PEPI concerne les méthodes et outils utilisés pour le traitement informatisé des données scientifiques.
Glossaire technique Veditec
Glossaire technique Veditec 3D/2D DNR (digital noise réduction) La technologie DNR est un système de réduction numérique de bruit ayant pour but de réduire le bruit sur l image. Elle permet d obtenir des
Inspection Pédagogique Régionale de Technologie Académie de Reims juin 2008 1/8
Inspection Pédagogique Régionale de Technologie Académie de Reims juin 2008 1/8 La rénovation des programmes de technologie nécessite des activités pédagogiques centrées sur l objet technique ce qui nécessite
Chapitre 1 Cinématique du point matériel
Chapitre 1 Cinématique du point matériel 7 1.1. Introduction 1.1.1. Domaine d étude Le programme de mécanique de math sup se limite à l étude de la mécanique classique. Sont exclus : la relativité et la
ISO/CEI 11172-3 NORME INTERNATIONALE
NORME INTERNATIONALE ISO/CEI 11172-3 Première édition 1993-08-01 Technologies de l information - Codage de l image animée et du son associé pour les supports de stockage numérique jusqu à environ Ii5 Mbit/s
Angles orientés et fonctions circulaires ( En première S )
Angles orientés et fonctions circulaires ( En première S ) Dernière mise à jour : Jeudi 01 Septembre 010 Vincent OBATON, Enseignant au lycée Stendhal de Grenoble (Année 006-007) Lycée Stendhal, Grenoble
TP Blender n 2 : Importation d un modèle SketchUp et animation
TP Blender n 2 : Importation d un modèle SketchUp et animation Service de Conception Géométrique Université de Liège Aérospatiale et Mécanique Conçu avec Blender 2.66 et SketchUp 8 De SketchUp à Blender
1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.
Angles orientés Trigonométrie I. Préliminaires. Le radian Définition B R AB =R C O radian R A Soit C un cercle de centre O. Dire que l angle géométrique AOB a pour mesure radian signifie que la longueur
Formation des enseignants. Le tensiomètre. Objet technique modélisable issu de l environnement des élèves
Le tensiomètre Objet technique modélisable issu de l environnement des élèves Un peu d'histoire C'est en 1628 que W. Harvey découvrit la circulation du sang. C'est pourtant seulement en 1730 que la pression
Une fréquence peut-elle être instantanée?
Fréquence? Variable? Instantané vs. local? Conclure? Une fréquence peut-elle être instantanée? Patrick Flandrin CNRS & École Normale Supérieure de Lyon, France Produire le temps, IRCAM, Paris, juin 2012
Détection des deux roues motorisés par télémétrie laser à balayage
MEsure du TRAfic des deux-roues MOTOrisés pour la sécurité et l évaluation des risques Détection des deux roues motorisés par télémétrie laser à balayage Séminaire de mi parcours 11 mai 2012 CETE Normandie
DURÉE DU JOUR EN FONCTION DE LA DATE ET DE LA LATITUDE
DURÉE DU JUR E FCTI DE LA DATE ET DE LA LATITUDE ous allons nous intéresser à la durée du jour, prise ici dans le sens de période d éclairement par le Soleil dans une journée de 4 h, en un lieu donné de
Cours d Analyse. Fonctions de plusieurs variables
Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........
MESURE ET PRECISION. Il est clair que si le voltmètre mesure bien la tension U aux bornes de R, l ampèremètre, lui, mesure. R mes. mes. .
MESURE ET PRECISIO La détermination de la valeur d une grandeur G à partir des mesures expérimentales de grandeurs a et b dont elle dépend n a vraiment de sens que si elle est accompagnée de la précision
Notice d Utilisation du logiciel Finite Element Method Magnetics version 3.4 auteur: David Meeker
Notice d Utilisation du logiciel Finite Element Method Magnetics version 3.4 auteur: David Meeker DeCarvalho Adelino [email protected] septembre 2005 Table des matières 1 Introduction
BACCALAURÉAT GÉNÉRAL SÉRIE SCIENTIFIQUE
BACCALAURÉAT GÉNÉRAL SÉRIE SCIENTIFIQUE ÉPREUVE DE SCIENCES DE L INGÉNIEUR ÉPREUVE DU VENDREDI 20 JUIN 2014 Session 2014 Durée de l épreuve : 4 heures Coefficient 4,5 pour les candidats ayant choisi un
L OUTIL NUMERIQUE CARACTERISTIQUES ET FONCTIONNALITES
L OUTIL NUMERIQUE CARACTERISTIQUES ET FONCTIONNALITES Aujourd hui, le numérique est partout. Il se retrouve principalement dans les nouvelles technologies, mais également dans l art, les livres, notre
Les correcteurs accorderont une importance particulière à la rigueur des raisonnements et aux représentations graphiques demandées.
Les correcteurs accorderont une importance particulière à la rigueur des raisonnements et aux représentations graphiques demandées. 1 Ce sujet aborde le phénomène d instabilité dans des systèmes dynamiques
Filtrage stochastique non linéaire par la théorie de représentation des martingales
Filtrage stochastique non linéaire par la théorie de représentation des martingales Adriana Climescu-Haulica Laboratoire de Modélisation et Calcul Institut d Informatique et Mathématiques Appliquées de
Attestation de maîtrise des connaissances et compétences au cours moyen deuxième année
Attestation de maîtrise des connaissances et compétences au cours moyen deuxième année PALIER 2 CM2 La maîtrise de la langue française DIRE S'exprimer à l'oral comme à l'écrit dans un vocabulaire approprié
Cours de Mécanique du point matériel
Cours de Mécanique du point matériel SMPC1 Module 1 : Mécanique 1 Session : Automne 2014 Prof. M. EL BAZ Cours de Mécanique du Point matériel Chapitre 1 : Complément Mathématique SMPC1 Chapitre 1: Rappels
LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE
LA PHYSIQUE DES MATERIAUX Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE Pr. A. Belayachi Université Mohammed V Agdal Faculté des Sciences Rabat Département de Physique - L.P.M [email protected] 1 1.Le réseau
Projet de synthèse de l'électronique analogique : réalisation d'une balance à jauges de contrainte
J3eA, Journal sur l enseignement des sciences et technologies de l information et des systèmes, Volume 4, HorsSérie 2, 20 (2005) DOI : http://dx.doi.org/10.1051/bibj3ea:2005720 EDP Sciences, 2005 Projet
ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab
ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab notre compétence d'éditeur à votre service créée en juin 2010, Scilab enterprises propose services et support autour
Introduction à la méthodologie de la recherche
MASTER DE RECHERCHE Relations Économiques Internationales 2006-2007 Introduction à la méthodologie de la recherche [email protected] Les Etapes de la Recherche Les étapes de la démarche Etape
CAPTEURS - CHAINES DE MESURES
CAPTEURS - CHAINES DE MESURES Pierre BONNET Pierre Bonnet Master GSI - Capteurs Chaînes de Mesures 1 Plan du Cours Propriétés générales des capteurs Notion de mesure Notion de capteur: principes, classes,
Sujet 1 : Diagnostique du Syndrome de l apnée du sommeil par des techniques d analyse discriminante.
Sujet 1 : Diagnostique du Syndrome de l apnée du sommeil par des techniques d analyse discriminante. Objectifs et formulation du sujet Le syndrome de l apnée du sommeil (SAS) est un problème de santé publique
Cercle trigonométrique et mesures d angles
Cercle trigonométrique et mesures d angles I) Le cercle trigonométrique Définition : Le cercle trigonométrique de centre O est un cercle qui a pour rayon 1 et qui est muni d un sens direct : le sens inverse
«SERVICES D INGENIERIE»
PUNCH POWERGLIDE STRASBOURG 45 années d expériences Le pôle R & D de PPS rassemble plus d une centaine d experts, chefs de projet, ingénieurs et techniciens expérimentés en recherche et développement,
NOM : Prénom : Date de naissance : Ecole : CM2 Palier 2
NOM : Prénom : Date de naissance : Ecole : CM2 Palier 2 Résultats aux évaluations nationales CM2 Annexe 1 Résultats de l élève Compétence validée Lire / Ecrire / Vocabulaire / Grammaire / Orthographe /
Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications
Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante
10 leçon 2. Leçon n 2 : Contact entre deux solides. Frottement de glissement. Exemples. (PC ou 1 er CU)
0 leçon 2 Leçon n 2 : Contact entre deu solides Frottement de glissement Eemples (PC ou er CU) Introduction Contact entre deu solides Liaisons de contact 2 Contact ponctuel 2 Frottement de glissement 2
SIMULATION HYBRIDE EN TEMPOREL D UNE CHAMBRE REVERBERANTE
SIMULATION HYBRIDE EN TEMPOREL D UNE CHAMBRE REVERBERANTE Sébastien LALLECHERE - Pierre BONNET - Fatou DIOUF - Françoise PALADIAN LASMEA / UMR6602, 24 avenue des landais, 63177 Aubière [email protected]
Comprendre l Univers grâce aux messages de la lumière
Seconde / P4 Comprendre l Univers grâce aux messages de la lumière 1/ EXPLORATION DE L UNIVERS Dans notre environnement quotidien, les dimensions, les distances sont à l échelle humaine : quelques mètres,
DISQUE DUR. Figure 1 Disque dur ouvert
DISQUE DUR Le sujet est composé de 8 pages et d une feuille format A3 de dessins de détails, la réponse à toutes les questions sera rédigée sur les feuilles de réponses jointes au sujet. Toutes les questions
Introduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
PHYSIQUE 2 - Épreuve écrite
PHYSIQUE - Épreuve écrite WARIN André I. Remarques générales Le sujet de physique de la session 010 comprenait une partie A sur l optique et une partie B sur l électromagnétisme. - La partie A, à caractère
I Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème...
TABLE DES MATIÈRES 5 Table des matières I Stabilité, Commandabilité et Observabilité 11 1 Introduction 13 1.1 Un exemple emprunté à la robotique................... 13 1.2 Le plan...................................
Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?
Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version
Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?
Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version
WWW.ELCON.SE Multichronomètre SA10 Présentation générale
WWW.ELCON.SE Multichronomètre SA10 Présentation générale Le SA10 est un appareil portable destiné au test des disjoncteurs moyenne tension et haute tension. Quoiqu il soit conçu pour fonctionner couplé
Sur les vols en formation.
Sur les vols en formation. Grasse, 8 Février 2006 Plan de l exposé 1. Missions en cours et prévues 2. Le problème du mouvement relatif 2.1 Positionnement du problème 2.2 Les équations de Hill 2.2 Les changements
TP 03 B : Mesure d une vitesse par effet Doppler
TP 03 B : Mesure d une vitesse par effet Doppler Compétences exigibles : - Mettre en œuvre une démarche expérimentale pour mesurer une vitesse en utilisant l effet Doppler. - Exploiter l expression du
Les moments de force. Ci-contre, un schéma du submersible MIR où l on voit les bras articulés pour la récolte d échantillons [ 1 ]
Les moments de force Les submersibles Mir peuvent plonger à 6 000 mètres, rester en immersion une vingtaine d heures et abriter 3 personnes (le pilote et deux observateurs), dans une sphère pressurisée
TOUT CE QU IL FAUT SAVOIR POUR LE BREVET
TOUT E QU IL FUT SVOIR POUR LE REVET NUMERIQUE / FONTIONS eci n est qu un rappel de tout ce qu il faut savoir en maths pour le brevet. I- Opérations sur les nombres et les fractions : Les priorités par
NOTICE DOUBLE DIPLÔME
NOTICE DOUBLE DIPLÔME MINES ParisTech / HEC MINES ParisTech/ AgroParisTech Diplômes obtenus : Diplôme d ingénieur de l Ecole des Mines de Paris Diplôme de HEC Paris Ou Diplôme d ingénieur de l Ecole des
Champ électromagnétique?
Qu est-ce qu un Champ électromagnétique? Alain Azoulay Consultant, www.radiocem.com 3 décembre 2013. 1 Définition trouvée à l article 2 de la Directive «champs électromagnétiques» : des champs électriques
Manuel d'utilisation de la maquette
Manuel d'utilisation de la maquette PANNEAU SOLAIRE AUTO-PILOTE Enseignement au lycée Article Code Panneau solaire auto-piloté 14740 Document non contractuel L'énergie solaire L'énergie solaire est l'énergie
Angles orientés et trigonométrie
Chapitre Angles orientés et trigonométrie Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Trigonométrie Cercle trigonométrique. Radian. Mesure d un angle orienté, mesure principale.
1S Modèles de rédaction Enoncés
Par l équipe des professeurs de 1S du lycée Parc de Vilgénis 1S Modèles de rédaction Enoncés Produit scalaire & Corrigés Exercice 1 : définition du produit scalaire Soit ABC un triangle tel que AB, AC
GAMME UVILINE 9100 & 9400
GAMME UVILINE 9100 & 9400 SPECTROPHOTOMÈTRES UV & VISIBLE NOUVEAU Sipper avec effet peltier Une combinaison intelligente d innovations EXCELLENTE PRÉCISION DE MESURE GRÂCE À UNE OPTIQUE HAUT DE GAMME Gain
Développement de lois et de structures de réglages destinées à la téléopération avec retour d effort
Développement de lois et de structures de réglages destinées à la téléopération avec retour d effort Thomas Delwiche, Laurent Catoire et Michel Kinnaert Faculté des Sciences Appliquées Service d Automatique
Résonance Magnétique Nucléaire : RMN
21 Résonance Magnétique Nucléaire : RMN Salle de TP de Génie Analytique Ce document résume les principaux aspects de la RMN nécessaires à la réalisation des TP de Génie Analytique de 2ème année d IUT de
Dossier 03 Périphériques d acquisition
Dossier 03 Périphériques d acquisition I. PERIPHERIQUES D ACQUISITION... 1 II. CARACTERISTIQUES GENERALES... 2 A. CLAVIER... 2 B. SOURIS... 3 C. LECTEUR DE CODES A BARRES (OU CODE-BARRES)... 3 D. SCANNER...
Projet Robot Centaure
Projet Robot Centaure Année 2013-2014 IMA4 S8 Étudiants : Clément TACHÉ Liying WANG Enseignants : Robert Litwak Xiavier Redon Table des matières : Remerciements Introduction Présentation et état des lieux
EXERCICES DE REVISIONS MATHEMATIQUES CM2
EXERCICES DE REVISIONS MATHEMATIQUES CM2 NOMBRES ET CALCUL Exercices FRACTIONS Nommer les fractions simples et décimales en utilisant le vocabulaire : 3 R1 demi, tiers, quart, dixième, centième. Utiliser
Jade. Projet Intelligence Artificielle «Devine à quoi je pense»
Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges
Dossier justificatif des travaux de R&D déclarés au titre du CIR
Dossier justificatif des travaux de R&D déclarés au titre du CIR I PRÉSENTATION DE LA SOCIETE Présenter l activité de la société en quelques lignes ou au moyen d une plaquette publicitaire et replacer
MODÉLISATION DU FONCTIONNEMENT EN PARALLELE À DEUX OU PLUSIEURS POMPES CENTRIFUGES IDENTIQUES OU DIFFERENTES
Annals of the University of Craiova, Electrical Engineering series, No. 30, 006 MODÉLISATION DU FONCTIONNEMENT EN PARALLELE À DEUX OU PLUSIEURS POMPES CENTRIFUGES IDENTIQUES OU DIFFERENTES Daniela POPESCU,
L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :
La vision nous permet de percevoir et d interpreter le monde qui nous entoure. La vision artificielle a pour but de reproduire certaines fonctionnalités de la vision humaine au travers de l analyse d images.
LE PRODUIT SCALAIRE ( En première S )
LE PRODUIT SCALAIRE ( En première S ) Dernière mise à jour : Jeudi 4 Janvier 007 Vincent OBATON, Enseignant au lycée Stendhal de Grenoble ( Année 006-007 ) 1 Table des matières 1 Grille d autoévaluation
FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)
FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4) Bernard Le Stum Université de Rennes 1 Version du 13 mars 2009 Table des matières 1 Fonctions partielles, courbes de niveau 1 2 Limites et continuité
Résolution d équations non linéaires
Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique
Contrôle par commande prédictive d un procédé de cuisson sous infrarouge de peintures en poudre.
Contrôle par commande prédictive d un procédé de cuisson sous infrarouge de peintures en poudre. Isabelle Bombard, Bruno da Silva, Pascal Dufour *, Pierre Laurent, Joseph Lieto. Laboratoire d Automatique
Rapport projet MMI. Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3. Luis Domingues, Tiago De Deus, Naomi Favre SP 2013 - Interfaces Multimodales
Rapport projet MMI 2013 Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3 Page 1 Table des matières Luis Domingues, Tiago De Deus, Naomi Favre Introduction... 4 Contexte... 4 Description du projet...
Société de Geo-engineering
Gestion de la maintenance des réseaux le géoréférencement inertiel direct, technologie automatisée d'acquisition d'objets 2D / 3D vers les SIG Société de Geo-engineering Activité d'expertise et d'ingénierie
Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies
Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies Régis Boulet Charlie Demené Alexis Guyot Balthazar Neveu Guillaume Tartavel Sommaire Sommaire... 1 Structure
Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Console de supervision en temps réel du réseau de capteurs sans fil Beanair
Console de supervision en temps réel du réseau de capteurs sans fil Beanair Véritable console de supervision temps réel, le BeanScape permet de modéliser, de visualiser et d administrer en temps réel le
Dimensionnement d une roue autonome pour une implantation sur un fauteuil roulant
Dimensionnement d une roue autonome pour une implantation sur un fauteuil roulant I Présentation I.1 La roue autonome Ez-Wheel SAS est une entreprise française de technologie innovante fondée en 2009.
LA MAIN A LA PATE L électricité Cycle 3 L électricité.
LA MAIN A LA PATE L électricité Cycle 3 v L électricité. L électricité cycle 3 - doc Ecole des Mines de Nantes 1 LA MAIN A LA PATE L électricité Cycle 3 v L'électricité. PROGRESSION GENERALE Séance n 1
Mon métier, mon parcours
Mon métier, mon parcours Les métiers de la Physique Le domaine Sciences, Technologies, Santé Alexis, chargé de recherche diplômé d un Master Physique du rayonnement et de la matière et d un Doctorat en
Commande Optimale Appliquée à un Robot Mobile
République Algérienne Démocratique et Populaire Ministère de l enseignement supérieur et de la recherche scientifique Université de Batna Faculté de Technologie Département d'electronique Mémoire présenté
