UNIVERSITE DES SCIENCES ET TECHNOLOGIE D’ORAN MOHAMMED BOUDIAF Faculté de Génie Electrique Département de l’Electronique Mémoire présenté dans le cadre de L’Ecole Doctorale des Techniques et Applications Spatiales Pour l’obtention du diplôme de Magistère en Instrumentation Spatiale Présenté par : HARRATS Fayssal Estimation d’Attitude Globale d’un Microsatellite à Basse Altitude par le Filtre de KALMAN Version : Angles d’Euler Soutenu en 2012, devant le jury composé de : President de Jury Mr BOUGHANMI Nabil Professeur (USTO) Examinateurs Rapporteur Mr OUAMRI Abdelaziz Professeur (USTO) Mr SI MOHAMMED Mohammed Arezki Directeur de recherche (CTS) Mr BOUDJEMAI Abdelmadjid Attaché de recherche (CTS) Invité Promotion 2007/2009 REMERCIEMENTS Je remercie Dieu le tout puissant de m’avoir donné courage et patience pour mener à bien ce travail, qu’il soit béni et glorifié. Toute ma reconnaissance va à M. SI MOHAMMED Mohammed Arezki, Directeur de recherche au Centre des Techniques Spatiales (CTS), de la division de Mécanique Spatiale, mon directeur de thèse, pour m'avoir encadré durant ces deux dernières années. Il a guidé efficacement mes travaux de recherche tout en me permettant une autonomie responsable. Je le remercie pour sa disponibilité et pour les conversations régulières que nous avons eues sur ce travail, ses conseils scientifiques et techniques qui ont guidé très efficacement ce travail. Je tiens à témoigner ma gratitude à M. BOUDJEMAI Abdelmadjid, Attaché de recherche au CTS, pour son soutient, sa grande disponibilité et son aide permanente au cours de ce travail. Ensuite, je souhaite remercier les différents membres du jury qui ont acceptés avec enthousiasme de prendre le temps de lire ce manuscrit et d’évaluer mes travaux. Un grand remerciement à M. KADDOUR BENCHERIF Fodil, qui m'a aidé à corriger l'avant dernière version de ma thèse. Je tiens également à remercier mes amis et mes collègues notamment Benkerdagh Hocine et BACETTI Abdelmoumen, dont les encouragements et le soutien n'ont jamais fait défaut. Enfin, je ne pourrai oublier mes parents, mes frères et mes sœurs, qui m’ont toujours encouragé, soutenu et sans lesquels je n’aurais jamais pu devenir ce que je suis. Je les remercie de tout mon cœur et je leurs dédie ce travail. HARRATS Fayssal RESUME Le contrôle d’attitude constitue pour un satellite l’un des points les plus importants du Sous-système de Contrôle d’Attitude et d’Orbite (SCAO), son objectif est de maintenir l’attitude (orientation angulaire) désirée du satellite, car il est important que le système optique (camera) reste pointé sur sa cible afin qu’il puisse réussir sa mission. Pour cela, plusieurs types de senseurs et d’actionneurs peuvent être utilisés. Nos travaux portent particulièrement sur l’utilisation du filtre de Kalman étendu pour l’estimation globale de l’attitude. L’objectif principal de ce mémoire est : L’élaboration d’un modèle mathématique d’attitude sous la présence de diverses perturbations. • Le développement des modèles de référence pour l’estimateur d’attitude tels que modèle orbital, modèle du champ magnétique terrestre, et le vecteur solaire. • La simulation des capteurs d’attitude du satellite à savoir : senseur solaire et le capteur du champ magnétique Terrestre. • Le développement d’un algorithme d’estimation globale de l’attitude du satellite en utilisant le filtre de Kalman étendu basé sur l’utilisation des angles d’Euler. • Les résultats de ce mémoire ont été obtenus grâce au simulateur développé sous le langage Matlab en intégrant des fonctions écrites en langage C, il prend en compte l’aspect dynamique et cinématique du satellite. ﻣﻠﺨﺺ اﻟﻬﺪف ﻣﻦ ﻣﺮاﻗﺒﺔ اﻟﻮﺿﻌﻴﺔ ﻟﻠﻘﻤﺮ اﻟﺼﻨﺎﻋﻲ اﻟﺨﺎﺿﻊ داﺋﻤﺎ ﻟﺘﺄﺛﻴﺮات ﺧﺎرﺟﻴﺔ هﻮ اﻟﻤﺤﺎﻓﻈﺔ ﻋﻠﻰ اﻟﺘﻮﺟﻪ .اﻟﻤﺮﻏﻮب ﻓﻴﻪ ﻟﻜﻲ ﻳﺴﺘﻄﻴﻊ أن ﻳﻘﻮم ﺑﺎﻟﻤﻬﻤﺔ اﻟﻤﺨﻮﻟﺔ ﻟﻪ اﻟﻤﺮاﻗﺒﺔ اﻟﺠﻴﺪة ﻻ ﺗﺘﺤﻘﻖ إﻻ ﺑﺘﺜﺒﻴﺖ اﻟﻤﺠﻤﻮﻋﺔ اﻟﻤﻨﺎﺳﺒﺔ ﻣﻦ أﺟﻬﺰة.ﻓﻲ اﻟﻮاﻗﻊ آﻞ اﻟﻘﻴﺎﺳﺎت ﺗﺘﻀﻤﻦ أﺧﻄﺎء . واآﺘﺸﺎف اﻷﺧﻄﺎء اﻟﻨﺎﺟﻤﺔ ﻋﻦ اﻟﻘﻴﺎس ﻣﻦ أﺟﻞ ﺗﺼﺤﻴﺤﻬﺎ،اﻟﻘﻴﺎس وهﺬا اﻧﻄﻼﻗﺎ،ﺗﻘﺪﻳﺮ اﻟﻮﺿﻌﻴﺔ ﻳﻜﻤﻦ ﻓﻲ ﺗﺤﺪﻳﺪ اﺗﺠﺎﻩ اﻟﻤﺤﺎور اﻷﺳﺎﺳﻴﺔ ﻟﻠﻘﻤﺮ اﻟﺼﻨﺎﻋﻲ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻤﻌﻠﻢ ﺛﺎﺑﺖ .ﻣﻦ ﻗﻴﺎﺳﺎت ﻣﺨﺘﻠﻒ أﺟﻬﺰة اﻟﻘﻴﺎس :اﻟﻬﺪف اﻷﺳﺎﺳﻲ ﻣﻦ اﻟﻤﺬآﺮة هـﻮ .• وﺿﻊ ﻧﻤﻮذج رﻳﺎﺿﻲ ﻻﺳﺘﻘﺮار اﻟﺤﺎﻟﺔ ﻣﺼﺤﻮﺑﺎ ﺑﻤﺨﺘﻠﻒ اﻟﻤﺆﺛﺮات ﻧﻤﻮذج اﻟﻤﺠﺎل اﻟﻤﻐﻨﻄﻴﺴﻲ، • ﺗﻄﻮﻳﺮ ﻧﻤﺎذج رﻳﺎﺿﻴﺔ ﻣﺮﺟﻌﻴﺔ ﻟﻠﻤﻘﺪر ﻣﺜﻞ ﻧﻤﻮذج اﻟﻤﺪار اﻷرﺿﻲ و ﻧﻤﻮذج اﻟﺘﻮﺟﻪ اﻟﺸﻤﺴﻲ • دراﺳﺔ ﺗﻤﺎﺛﻠﻴﺔ ﻷﺟﻬﺰة اﻻﺳﺘﺸﻌﺎر ﻓﻲ ﻧﻈﺎم اﻟﺘﻘـﺪﻳﺮ ﺑﻤﺎ ﻓﻲ ذﻟﻚ ﺟﻬﺎز ﻟﻘﻴﺎس ﺷﺪة اﻟﺤﻘﻞ .اﻟﻤﻐﻨﺎﻃﻴﺴﻲ اﻷرﺿﻲ وﺟﻬﺎز اﻟﺘﻘﺎط اﻷﻧﻈﻤﺔ اﻟﺸﻤﺴﻴﺔ • اﻧﺠﺎز ﺧﻮارزﻣﻴﺔ ﻟﻠﺘﻘﺪﻳﺮ اﻹﺟﻤﺎﻟﻲ ﻻﺳﺘﻘﺮار ﺣﺎﻟﺔ اﻟﻘﻤﺮ اﻻﺻﻄﻨﺎﻋﻲ ﺑﺎﺳﺘﻌﻤﺎل ﻣﺮﺷﺢ آﺎﻟــﻤﺎن ˝ وذﻟﻚ ﺑﻀﻢ ﺑﺮاﻣﺞ ﻣﻜﺘﻮﺑﺔMatlab˝ﻧﺘﺎﺋﺞ هﺬﻩ اﻟﻤﺬآﺮة ﺣﺼﻞ ﻋﻠﻴﻬﺎ ﺑﻔﻀﻞ دراﺳﺔ ﺗﻈﺎهﺮﻳﺔ ﻣﻨﺠﺰة ﺑﻠﻐﺔ . ﻣﻊ اﻷﺧﺬ ﺑﻌﻴﻦ اﻻﻋﺘﺒﺎر اﻟﺨﺎﺻﻴﺔ اﻟﺪﻳﻨﺎﻣﻴﻜﻴﺔ واﻟﺤﺮآﻴﺔ ﻟﻠﻘﻤﺮ اﻻﺻﻄﻨﺎﻋﻲ،˝C˝ﺑﻠﻐﺔ Table des matières INTRODUCTION GENERALE ....................................................................... 1 Chapitre I: MODELISATION DU MOUVEMENT D’ATTITUDE I.1 INTRODUCTION................................................................................... 3 I.2 LES SYSTEME DE COORDONNES............................................................ 3 I.2.1 Repère Inertiel (géocentrique équatorial) ................................................................... 3 I.2.2 Repère géocentrique équatorial fixe ............................................................................ 4 I.2.4 Repère orbital local ...................................................................................................... 5 I.2.5 Repère satellite ............................................................................................................ 5 I.3 MATRICE DE ROTATION ....................................................................... 6 I.4 LA REPRESENTATION D’ATTITUDE ........................................................ 6 I.4.1 Angles d’Euler ............................................................................................................. 6 I.4.2 Quaternion ................................................................................................................... 9 I.5 CONVERTION ENTRE MATRICE DE ROTATION, ANGLES D’EULER, QUATERNION ........................................................................................ 10 I.5.1 Conversion matrice de rotation vers angles d’Euler .................................................. 10 I.5.3 Conversion angles d’Euler vers quaternion .............................................................. 11 I.5.4 Conversion quaternion vers angles d’Euler ............................................................... 11 I.6 EQUATIONS DU MOUVEMENT D’UN SATELLITE .................................... 11 I.6.1 Equation dynamique du satellite................................................................................ 11 I.6.2 Équations Cinématiques du Mouvement ................................................................... 13 I.6.2.1 Équations Cinématiques pour le quaternion...................................................... 13 I.6.2.2 Équations Cinématiques pour les angles d’Euler .............................................. 14 I.6.3 Système d’équation.................................................................................................... 14 I.7 SIMULATION..................................................................................... 15 Chapitre II: LES COUPLES DE PERTURBATIONS EXTERNES II.1 INTRODUCTION................................................................................ 18 II.2 COUPLE DE GRADIENT DE GRAVITE ................................................... 19 II.2.1 SIMULATION ......................................................................................................... 21 II.3 COUPLE DE RADIATIONS SOLAIRES .................................................... 23 II.3.1 SIMULATION ......................................................................................................... 25 II.4 COUPLE AERODYNAMIQUE ............................................................... 27 II.4.1 SIMULATION ......................................................................................................... 27 II.5 LE COUPLE MAGNETIQUE ................................................................. 29 II.5.1 SIMULATION ......................................................................................................... 29 Chapitre III: MODELES DE REFERENCE ET SENSEURS III.1 INTRODUCTION............................................................................... 31 III.2 MODELE D’ORBITE .......................................................................... 31 III.3 MODELE DU CHAMP MAGNETIQUE TERRESTRE .................................. 34 I II.3.5 Résultats et Simulation .............................................................................................. 38 III.4 MODELE DU VECTEUR SOLAIRE ........................................................ 39 III.4.1 le vecteur solaire ...................................................................................................... 39 III.4.2 L’éclipse ................................................................................................................... 41 III.5 LES SENSEURS ................................................................................. 42 III.5.1 Les senseurs solaires ................................................................................................ 42 III.5.1.1 Senseur solaire analogique .............................................................................. 42 III.5.1.2 Le senseur de présence du soleil...................................................................... 43 III.5.1.3 Le senseur solaire digital ................................................................................. 43 III.5.2 Les senseurs magnétiques ........................................................................................ 44 III.5.2.1 Magnétomètre a induction ............................................................................... 45 III.5.2.2 Magnétomètre fluxgate .................................................................................... 45 Chapitre IV: ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN IV.1 INTRODUCTION ............................................................................... 46 IV.2 LE FILTRE DE KALMAN ETENDU ........................................................ 46 IV.2.1 Prédiction temporelle ............................................................................................... 48 IV.2.2 La correction ............................................................................................................ 48 IV.3 MODELISATION MATHEMATIQUE POUR L’ESTIMATION D’ATTITUDE D’UN SATELLITE –VERSION ANGLES D’EULER ................................................... 50 IV.3.1 Modèle de processus ................................................................................................ 50 IV.3.2 La matrice de transition ........................................................................................... 51 IV.3.3 L’équation d’observation pour le magnétomètre ..................................................... 52 IV.3.4 L’équation d’observation pour le senseur solaire .................................................... 52 IV.3.5 Matrices de bruit de processus et de mesure ........................................................... 53 IV.4 SIMULATIONS ET RESULTATS ........................................................... 54 IV.4.1 Simulations dynamiques .......................................................................................... 55 IV.4.2 Simulations statiques ............................................................................................... 64 CONCLUSION ........................................................................................ 70 .................................................................................... 70 Annexe A ................................................................................................ 72 Annexe B ................................................................................................ 73 Annexe C ................................................................................................ 74 BIBLIOGRAPHIE II Liste des figures Figure I.1 Repère géocentrique équatorial ........................................................... 3 Figure I.2 Repère géocentrique équatorial fixe ...................................................... 4 Figure I.3 Repère géocentrique orbital ............................................................... 4 Figure I.4 Repère orbital local ......................................................................... 5 Figure I.5 Repère satellite .............................................................................. 5 Figure I.6 Définition de la Rotation 2-1-3............................................................ 8 Figure I.7 Représentation géométrique d’un quaternion ........................................... 9 Figure I.8 Angles d’Euler (Roulis, Tangage, Lacet) .............................................. 16 Figure I.9 Vitesses angulaires........................................................................ 17 Figure II.1 Variation de couples extérieurs en fonction de l’altitude ............................ 19 Figure II.2 Couple de gradient de gravité sur les trois axes du satellite ......................... 22 Figure II.3 Types de comportement des radiations solaires a la paroi........................... 23 Figure II.4 Couple de radiations solaire sur les trois axes du satellite........................... 26 Figure II.5 Couple aérodynamique sur les trois axes du satellite ................................ 28 Figure II.6 Couple magnétique sur les trois axes du satellite ..................................... 30 Figure III.1 Les éléments orbitaux ................................................................... 31 Figure III.2 Vue orthogonale du plan orbital ....................................................... 32 Figure III.3 Trace au sol de 5 orbites ................................................................ 34 Figure III.4 Modèle du Champ Magnétique Terrestre............................................. 35 Figure III.5 L’intensité du champ magnétique ..................................................... 35 Figure III.6 Composantes du Champ Magnétique Terrestre...................................... 37 Figure III.7 IGRF 2005 d’ordre 10................................................................... 38 Figure III.8 La géométrie de la position du soleil .................................................. 39 Figure III.9 Représentation schématique de la condition d’éclipse ............................. 41 Figure III.10 Senseur solaire analogique ............................................................ 42 Figure III.11 Senseur solaire digital ................................................................. 43 Figure III.12 Vue orthogonale du plan actif ........................................................ 44 Figure III.13 Magnétomètre fluxgate double corps ................................................ 45 Figure IV.1 La boucle du filtre de Kalman étendu................................................. 49 Figure IV.2 Convergence du roulis .................................................................. 56 Figure IV.3 Convergence du tangage ................................................................ 56 Figure IV.4 Convergence du lacet ................................................................... 57 ............................................................. 57 Figure IV.6 Mesures du capteur solaire ............................................................. 58 Figure IV.5 Mesures du magnétomètre III Figure IV.7 Convergence de Wx ..................................................................... 58 Figure IV.8 Convergence de Wy ..................................................................... 59 Figure IV.9 Convergence de Wz ..................................................................... 59 Figure IV.10 Erreurs d’estimations du roulis ....................................................... 60 Figure IV.11 Erreur d’estimation du tangage....................................................... 60 Figure IV.12 Erreur d’estimation du lacet .......................................................... 61 Figure IV.13 Erreur d’estimation de Wx ............................................................ 61 Figure IV.14 Erreur d’estimation de Wy ............................................................ 62 Figure IV.15 Erreur d’estimation de Wz ............................................................ 62 Figure IV.16 Mesures du magnétomètre ............................................................ 63 Figure IV.17 Mesure du capteur solaire ............................................................. 63 Figure IV.18 Moyenne quadratique de l’erreur du roulis ......................................... 65 Figure IV.19 Moyenne quadratique de l’erreur du tangage....................................... 65 Figure IV.20 Moyenne quadratique de l’erreur du lacet .......................................... 66 Figure IV.21 Moyenne quadratique de l’erreur de Wx ............................................ 66 Figure IV.22 Moyenne quadratique de l’erreur de Wy ............................................ 67 Figure IV.23 Moyenne quadratique de l’erreur de Wz ............................................ 67 Figure IV.24 Moyenne quadratique de l’erreur d’attitude ........................................ 68 Figure IV.25 Moyenne quadratique de l’erreur de vitesse angulaire ............................ 69 IV Liste des tableaux Tableau I.1: Matrice d’inertie......................................................................... 15 Tableau I.2: Attitude initiale du simulateur d'attitude ............................................. 15 Tableau I.3 : Paramètres de l’orbite .................................................................. 16 Tableau II.1: Paramètres de l’orbite ................................................................. 21 Tableau II.2: Attitude initiale du simulateur d'attitude ............................................ 21 Tableau II.3 : Matrice d’inertie ....................................................................... 21 Tableau II.4: Paramètres de l’orbite ................................................................. 25 Tableau II.5: Attitude initiale du simulateur d'attitude ............................................ 25 Tableau II.6 : Matrice d’inertie ....................................................................... 21 Tableau II.7: Paramètres thermo-optiques de la paroi ............................................. 25 Tableau II.8: Paramètres du couple aérodynamique ............................................... 28 Tableau IV.1: Attitude initiale de simulateur d'attitude ........................................... 54 Tableau IV.2: Attitude initiale du filtre d'attitude. ................................................. 54 Tableau IV.3: Matrice de covariance initiale P de l’attitude et de la vitesse angulaire de l'Attitude. ............................................................................................ 54 Tableau IV.4: Matrice de covariance du bruit de processus Q de l’attitude et de la vitesse angulaire. ............................................................................................ 55 Tableau IV.5: Matrice de covariance des observations R ......................................... 55 Tableau IV.6: Erreur d’estimation de l’attitude et sa vitesse angulaire ......................... 64 V INTRODUCTION GENERALE L’attitude définit l’orientation angulaire du satellite dans l’espace par rapport à des références externes. Chaque vaisseau spatial est composé de deux parties : la charge utile et la plateforme. La charge utile contient un ensemble d’équipement destiné à remplir une mission déterminée ; La plate-forme correspond à la structure destinée à supporter une charge utile, elle est équipée pour lui fournir les ressources nécessaires à son fonctionnement, elle comporte la structure, le contrôle thermique, l’énergie de bord, la propulsion, la gestion de bord (Télémesure et Télécommande), le câblage et le Système de Contrôle d’Attitude et d’Orbite (SCAO). Pour réussir la mission du satellite, celui-ci doit être capable de pointer sa charge utile (antenne, télescope, caméra…..etc.) en permanence, et d’une manière très précise vers les directions désirées. La détermination et le contrôle d’attitude sont deux processus critiques, qui nécessitent la mise en œuvre d’une manière autonome de l’ensemble d’équipements et algorithmes possibles sur un satellite artificiel, pour lui permettre de contrôler précisément son attitude, c'est-à-dire son orientation dans l’espace autour de son centre de masse. Le contrôle d'attitude a pour rôle d’asservir l’attitude du satellite en présence de perturbations externes (couple), en pointant les axes du satellite vers les directions requises pour assurer sa mission. Il se distingue du contrôle d'orbite qui consiste à commander la position (et ses dérivées) du centre de masse du satellite dans l'espace. Néanmoins, le contrôle d'attitude et d'orbite sont souvent étroitement liés, et un satellite artificiel est généralement doté d'un système de contrôle d'attitude et d'orbite (SCAO). Bien que les problèmes de l’estimation et de contrôle d’attitude soient intrinsèquement liés, ils peuvent être abordé de façon indépendante ; l’estimation d'attitude, de par la diversité et la complexité des disciplines de l'ingénierie qu'il met en œuvre, est devenu une discipline à part entière pratiquée par quelques spécialistes travaillant chez les acteurs majeurs du domaine spatial ou dans des milieux universitaires. Ce domaine fait appel à la mécanique, la physique, l'automatique et bien sûr aux mathématiques (algèbre principalement). Le satellite détermine son attitude grâce a des senseurs, et la corrige grâce a des actuateurs, qui génèrent de couples moteurs. La détermination d’attitude a pour rôle l'estimation de certains paramètres caractéristiques de l'orientation du satellite. Il s'agit principalement d'angles et de vitesses angulaires par rapport à un repère de référence. En général, la résolution du problème d’estimation d’attitude n’est jamais possible, parce qu’il y a d’une part une surabondance de l’information disponible (mesure simultané du champ magnétique, et la direction du soleil), et d’autre part les observations ou les calculs des valeurs de références sont entachés d’erreurs (erreurs de mesure des senseurs, mauvaise connaissance de l’orientation du senseur relativement au satellite, erreur de modélisation……………). On a alors la possibilité d’exploiter de manière optimale l’information redondante, à travers un filtre d'estimation d'attitude. L’objectif de cette thèse est le développement d’un algorithme par le filtre de Kalman, pour l’évaluation d’attitude d’un satellite à basse orbite (version angles d’Euler). 1 Ce mémoire se compose de quatre chapitres, plus des annexes, il est organisé comme suit : Tout d’abord, nous avons défini dans le premier chapitre les différents systèmes de coordonnées. Ensuite quelques rappels théoriques sur les deux méthodes de paramétrisation d’attitude sont données. Dans la dernière section, nous présentons une description mathématique de la dynamique et de la cinématique de l'attitude du satellite basée sur les angles d’Euler et les quaternions. Le second chapitre est consacré à la modélisation des forces de perturbations externes, gravitationnelles et non gravitationnelles agissant sur l’attitude du satellite. Dans le troisième chapitre, nous avons décrit les modèles de référence nécessaires pour l’estimation de l’attitude d’un micro satellite : le modèle orbital, le modèle du champ magnétique terrestre et le vecteur solaire. La dernière partie de ce chapitre est dédie a la description du capteur solaire, et le magnétomètre. Le quatrième chapitre porte sur notre contribution à l’estimation de l’attitude d’un micro satellite (version angles d’Euler) par le filtre de Kalman étendu dans lequel les mesures fournies par magnétomètre et capteur solaire sont utilisées. 2 Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE MODELISATION DU MOUVEMENT D’ATTITUDE I.1 INTRODUCTION Dans ce chapitre on s’intéresse au modèle mathématique qui décrit le mouvement d’un satellite autour de son centre de masse. Dans un premier temps, nous définissons les principaux repères utilisés dans la modélisation de l’attitude ainsi que la matrice de rotation (passage) intervenant dans le changement de repères. Nous abordons ensuite les outils mathématiques permettant de représenter l’attitude d’un satellite, puis le système d’équation global qui regroupe les équations dynamiques et cinématiques du mouvement d’un satellite. On finalise ce chapitre par le développement d’un simulateur d’attitude, basé sur l’utilisation des fichiers C compilés et exécutés sous l’environnement MATLAB. I.2 LES SYSTEME DE COORDONNES La modélisation du mouvement d’attitude, les lois de guidage et l’estimation d’attitude à partir de senseurs (terrestres ou inertiels) nécessitent l’utilisation de différents types de repères. Cette section décrit les définitions des cinq repères de référence utilisées dans cette thèse [16] [17] [21]. I.2.1 Repère Inertiel (géocentrique équatorial) Le repère inertiel géocentrique ECI (Earth Centered Inertiel en anglais) est un repère de référence non accélérée dans lequel les lois de Newton sont valides. Son origine est située au centre de la Terre, l’axe Z est normal au plan de l’équateur et orienté vers le pole Nord de la terre, l'axe X se dirige vers la ligne vernale (intersection de l’écliptique avec le plan équatorial) et l’axe Y complète le trièdre cartésien direct (Figure I.1). Figure I.1 Repère géocentrique équatorial 3 Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE I.2.2 Repère géocentrique équatorial fixe Le repère géocentrique équatorial fixe ECEF (Earth Centered Earth Fixed en anglais) est un repère rotatif par rapport au repère inertiel. Son origine est située au centre de la Terre, l’axe Z est normal au plan de l’équateur et orienté vers le pole Nord de la terre, l'axe X est dirigé vers la longitude de Greenwich l’axe Y complète le trièdre cartésien direct (Figure I.2). Figure I.2 Repère géocentrique équatorial fixe I.2.3 Repère géocentrique orbital Les paramètres orbitaux sont définis dans le repère géocentrique orbital ECO (Earth Centered Orbit Frame en anglais). Le propagateur d’orbite calcule les 6 paramètres orbitaux du satellite dans ce repère. L’origine de ce repère coïncide avec le centre de la terre, l’axe x est dirigé vers le périgée de l’orbite, y est parallèle au demi petit axe et z est perpendiculaire au plan orbital (Figure I.3). Figure I.3 Repère géocentrique orbital 4 Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE I.2.4 Repère orbital local C’est un repère lié à l’orbite du satellite et à sa position sur cette orbite ; l’origine de ce repère coïncide avec le centre de masse du satellite. Le repère orbital local tourne à une vitesse angulaire ω 0 relativement au repère inertiel (ECI). Cette vitesse angulaire dépend de l’altitude du satellite. L’axe (z) dirige vers le centre de la terre (c.-à-d. la direction du Nadir), L'axe des abscisses (x) est dirigé suivant la direction du mouvement, tangentielle à l'orbite du satellite. Dans le cas des orbites circulaires, l'axe des abscisses est colinéaire avec la vitesse linéaire du satellite. L'axe des ordonnées (y) complète les deux axes orthogonaux pour former le trièdre direct. C’est un repère par rapport auquel l'attitude du satellite est décrite, par le roulis, tangage et lacet, qui sont la rotation autour des axes (x), (y), et (z) respectivement (Figure I.4). Ce repère est noter (ol). Figure I.4 Repère orbital local I.2.5 Repère satellite Le repère satellite est lié à la structure mécanique du satellite, ce repère permet de définir l’architecture mécanique de la plate forme; son origine est située au centre de masse du satellite, ses axes sont orientés selon les faces principales de la plate forme (Figure I.5). L’écart angulaire relatif entre le repère orbital et le repère satellite est utilisé pour représenter l'attitude du satellite ; ce repère de référence est noté (s). Figure I.5 Repère satellite 5 Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE I.3 MATRICE DE ROTATION La matrice de rotation peut être interprétée de trois manières différentes : -comme une transformation d'un vecteur représenté dans un repère de référence a un autre. -comme une rotation d'un vecteur dans le même repère de référence. -comme une description de l'orientation mutuelle entre deux repères de référence. La première interprétation peut être utilisée pour définir la matrice de passage entre deux systèmes de référence différent, tandis qu’on peut se servir de la troisième interprétation pour décrire l’attitude d’un corps rigide dans l’espace 3D c.-à-d. la position relative entre deux repères; par exemple le repère satellite et l’orbital local s’il s’agit d’une attitude d’un satellite. Il est à noter que la matrice de rotation est de dimension 3x3 et possède les propriétés suivantes : [1] [15] [22] Son inverse est égal a sa transposée ⇒ une matrice orthogonale. Son déterminant est égal à 1. I.4 LA REPRESENTATION D’ATTITUDE L’attitude d’un satellite, c’est son orientation angulaire dans l’espace. Elle est définie comme une relation entre deux systèmes de coordonnes c.-à-d. l’orientation du repère satellite exprimée dans un repère donné, généralement inertiel ou orbital local. Le mouvement global d'un satellite est caractérisé par sa position, vitesse, attitude et vitesse angulaire. Les deux premières grandeurs décrivent le mouvement de rotation du centre de masses du satellite autour de la terre, donc elles font partie de la théorie de détermination d'orbite. Les deux dernières quantités décrivent le mouvement de rotation du corps du satellite autour de son centre de masses, et elles sont le sujet de cette thèse sur la détermination d'attitude du satellite, notamment comment on l’estime et comment déterminer sa variation. Le but de cette section est de décrire chaque méthode de représentation d'attitude, ainsi que les relations principales pour leurs intégrations et leur inter conversion. Les dérivations et les discussions détaillées sur les méthodes de paramétrisation d’attitude sont disponibles dans les références [1], [2] et [8]. I.4.1 Angles d’Euler Les angles d’Euler sont communément utilises pour décrire le mouvement de rotation d’un corps rigide comme les avions, les bateaux, les véhicule sous marin et les satellites. Dans cette méthode de description d’attitude, la rotation du satellite autour de son centre de masse est considérée comme une succession de trois rotations élémentaires ; puisque l’ordre de ces rotations peut être interverti il y a 12 séquences de rotations possibles qui se divisent également en deux groupes six symétriques et six antisymétrique [8] [18]. Les séquences symétriques dans lesquelles la première et la dernière rotation sont effectuées autour du même axe tels que 3-1-3, 2-1-2…………….etc. Les séquences antisymétriques sont celles dont les rotations s’effectuent successivement chacune autour de l’un des 3 axes tels que 2-1-3, 1-2-3…………….etc. Le choix de la séquence à utiliser dépend de l’application étudiée. Dans cette section, seule la séquence 2-1-3 qui est adoptée dans cette thèse, est décrite ci-dessous [10]. Une première rotation θ positive autour de l'axe Y , ceci définit un repère X ′Y ′Z′ tel que Y ′ ≡ Y 6 Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE ⎡X ′⎤ ⎡cos(θ) 0 − sin(θ)⎤ ⎡X ⎤ ⎢ Y ′⎥ = ⎢ 0 1 0 ⎥⎥ ⎢⎢Y ⎥⎥ ⎢ ⎥ ⎢ ⎢⎣ Z′ ⎥⎦ ⎢⎣ sin(θ) 0 cos(θ) ⎥⎦ ⎢⎣ Z ⎥⎦ (I.1) ⎡cos(θ) 0 − sin(θ)⎤ C θ = ⎢⎢ 0 1 0 ⎥⎥ ⎢⎣ sin(θ) 0 cos(θ) ⎥⎦ (I.2) On pose Une deuxième rotation positive φ autour de l’axe X′ , ceci définit un repère X ′′Y ′′Z′′ tel que X ′′ ≡ X′ 0 0 ⎤ ⎡ X ′⎤ ⎡X ′′⎤ ⎡1 ⎢Y ′′⎥ = ⎢0 cos(ϕ) sin(ϕ) ⎥ ⎢Y ′⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢⎣ Z′′ ⎥⎦ ⎢⎣0 − sin(ϕ) cos(ϕ)⎥⎦ ⎢⎣ Z′ ⎥⎦ (I.3) 0 0 ⎤ ⎡1 ⎢ C ϕ = ⎢0 cos(ϕ) sin(ϕ) ⎥⎥ ⎢⎣0 − sin(ϕ) cos(ϕ)⎥⎦ (I.4) On pose Une dernière rotation ψ positive autour de l'axe Z′′ , ceci définit un repère X ′′′Y ′′′Z′′′ tel que Z′′′ ≡ Z′′ ⎡X ′′′⎤ ⎡ cos(ψ) sin(ψ) 0⎤ ⎡X ′′⎤ ⎢Y ′′′⎥ = ⎢− sin(ψ) cos(ψ) 0⎥ ⎢Y ′′⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢⎣ Z′′′ ⎥⎦ ⎢⎣ 0 0 1⎥⎦ ⎢⎣ Z′′ ⎥⎦ (I.5) ⎡ cos(ψ ) sin(ψ) 0⎤ C ψ = ⎢⎢− sin(ψ) cos(ψ) 0⎥⎥ ⎢⎣ 0 0 1⎥⎦ (I.6) On pose Où ϕ , θ ψ sont connus sous le nom les angles d’Euler (roulis, tangage, lacet). 7 Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE Figure I.6 Définition de la Rotation 2-1-3 Le passage du trièdre XYZ initial au trièdre X ′′′Y ′′′Z′′′ final peut être exprimé comme le produit matriciel de ces trois transformations élémentaires sous : ⎡X ′′′⎤ ⎡X ⎤ ⎢Y ′′′⎥ = C C C ⎢Y ⎥ ψ ϕ θ⎢ ⎥ ⎢ ⎥ ⎢⎣ Z′′′ ⎥⎦ ⎢⎣ Z ⎥⎦ (I.7) En conséquence, la matrice de rotation A en termes d’angles d’Euler qui décrit le passage du système de coordonnées XYZ initial au système de coordonnées X ′′′Y ′′′Z′′′ final devient : ⎡ cψcθ + sψsϕsθ sψcϕ − cψsθ + sψsϕcθ⎤ A = ⎢⎢− sψcθ + cψsϕsθ cψcϕ sψsθ + cψsϕcθ ⎥⎥ cϕsθ − sϕ cϕcθ ⎣⎢ ⎦⎥ (I.8) Où c = la fonction cosinus ; s = la fonction sinus. De la même façon la transformation inverse c.-à-d. du trièdre X ′′′Y ′′′Z′′′ au trièdre XYZ est donnée par : ⎡X ⎤ ⎡X ′′′⎤ ⎢Y ⎥ = C −1C −1C −1 ⎢Y ′′′⎥ θ ϕ ψ ⎢ ⎢ ⎥ ⎥ ⎢⎣ Z ⎥⎦ ⎢⎣ Z′′′ ⎥⎦ (I.9) ⎡X ⎤ ⎡X ′′′⎤ ⎢Y ⎥ = C T C T C T ⎢Y ′′′⎥ θ ϕ ψ ⎢ ⎢ ⎥ ⎥ ⎢⎣ Z ⎥⎦ ⎢⎣ Z′′′ ⎥⎦ (I.10) Ou bien Il est à noter que la paramétrisation par les angles d’Euler n’est pas globale, puisque ces dernières équations présentent une singularité en θ = ±90 o . Les représentations fondées sur l’utilisation des quaternions, et de l’algèbre associée permettent d’éviter de telles singularités. 8 Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE I.4.2 Quaternion Le quaternion est une deuxième alternative aux angles d’Euler qui permet de s’affranchir des configurations angulaires singulières. Selon le théorème d'Euler, une rotation d'un corps rigide dans l’espace peut être exprimée comme une rotation par un angle ( Φ ) autour un axe instantané de rotation ( e ). Figure I.7 Représentation géométrique d’un quaternion Le quaternion unitaire est composé d’un vecteur unitaire e, nommé axe d’Euler et d’un angle de rotation Φ autour de cet axe. Il est défini par [1]: T q = [q 1 q 2 q 3 q 4 ] Tel que ⎧ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪⎩ Φ q 1 ≡ e x sin ( ) 2 Φ q 2 ≡ e y sin ( ) 2 Φ q 3 ≡ e z sin ( ) 2 Φ q 4 ≡ cos ( ) 2 Où, q1 , q 2 , q3 : Sont les parties imaginaires du quaternion; q4 : est appelée la partie réelle du quaternion; Φ : L’angle de rotation autour du vecteur d'Euler; [ e = ex ey ez ] T = vecteur d’Euler (unitaire); 9 (I.11) Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE Les composantes d’un quaternion unitaire satisfont la propriété suivante : q 12 + q 22 + q 32 + q 24 = 1 (I.12) Par conséquent, la matrice de rotation A en terme de quaternion peut être obtenue par la rotation d’angle Φ autour de l’axe e . Les détails sur la manière d’obtenir cette matrice de rotation sont donnés en [8]. Limitons-nous à donner son expression en fonction du quaternion d’orientation : ⎡ q 12 − q 22 − q 32 + q 24 ⎢ A = ⎢ 2(q 1q 2 − q 3 q 4 ) ⎢ 2(q 1q 3 + q 2 q 4 ) ⎣ 2(q 1q 2 + q 3 q 4 ) − q 12 + q 22 − q 32 + q 24 2(q 2 q 3 − q 1q 4 ) 2(q 1q 3 − q 2 q 4 ) ⎤ ⎥ 2(q 2 q 3 + q 1q 4 ) ⎥ − q 12 − q 22 + q 32 + q 24 ⎥⎦ (I.13) Nous pouvons également extraire un quaternion unitaire à partir d'une matrice de rotation. A partir des relations (I.8) et (I.13), on remarque qu’il est possible d’établir une relation entre les deux méthodes de paramétrisation d’attitude. I.5 CONVERTION ENTRE MATRICE DE ROTATION, ANGLES D’EULER, QUATERNION Lorsqu’on compare les relations (I.8) et (I.13), on peut remarquer qu’il est possible d’exprimer les angles d’Euler et le quaternion unitaire en fonction des éléments de la matrice de rotation et même de trouver une inter-conversion entre les deux méthodes de paramétrisation d’attitude sans passer par la matrice de rotation comme suit : I.5.1 Conversion matrice de rotation vers angles d’Euler Pour la séquence 2-1-3, les angles d’Euler sont donnés par : ⎧⎪ A ⎫⎪ θ = arctan ⎨ 31 ⎬ ⎪⎩ A 33 ⎪⎭ φ = arcsin {− A 23 } (I.14) ⎧A ⎫ ψ = arctan ⎨ 12 ⎬ ⎩ A 22 ⎭ I.5.2 Conversion matrice de rotation vers quaternion 1 q 4 = ± [1 + A11 + A22 + A33 ]0.5 2 q 1 = 1 [ A 23 − A 32 ] 4q 4 q 2 = 1 [ A 31 − A 13 ] 4q 4 q 3 = 1 [ A 12 − A 21 ] 4q 4 10 (I.15) Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE I.5.3 Conversion angles d’Euler vers quaternion Le quaternion associé a la séquence 2-1-3 c.-à-d. (θ → ϕ → ψ ) est donné par : ψ ψ⎞ θ θ ⎞⎛ ϕ ϕ ⎞⎛ ⎛ q = q θ q ϕ q ψ = ⎜ cos + j sin ⎟⎜ cos + i sin ⎟⎜ cos + k sin ⎟ 2 2 ⎠⎝ 2 2 ⎠⎝ 2 2⎠ ⎝ (I.17) Après calcul, on trouve ϕ θ ψ ϕ θ ψ cos cos + cos sin sin 2 2 2 2 2 2 ϕ θ ψ ϕ θ ψ q 2 = cos sin cos − sin cos sin 2 2 2 2 2 2 ϕ θ ψ ϕ θ ψ q 3 = cos cos sin − sin sin cos 2 2 2 2 2 2 ϕ θ ψ ϕ θ ψ q 4 = cos cos cos + sin sin sin 2 2 2 2 2 2 q 1 = sin (I.18) I.5.4 Conversion quaternion vers angles d’Euler ⎛ 2( q 1 q 3 + q 2 q 4 ) θ = arctan⎜⎜ 2 2 2 2 ⎝ − q1 − q 2 + q 3 + q 4 ⎞ ⎟ ⎟ ⎠ ϕ = arcsin (− 2(q 2 q 3 + q 1q 4 ) ) (I.19) ⎛ 2(q1q2 + q3q4 ) ⎞ ⎟ 2 2 2 2 ⎟ ⎝ − q1 + q2 − q3 + q4 ⎠ ψ = arctan⎜⎜ I.6 EQUATIONS DU MOUVEMENT D’UN SATELLITE Cette section présente le système d’équations régissant l'attitude d'un satellite. Le mouvement d’un corps rigide dans l’espace peut être décomposé en deux mouvements élémentaires : un mouvement de translation du centre de masse, et un mouvement de rotation autour d’un axe qui passe par le centre de masse du corps. Généralement, la théorie de contrôle d'attitude considère seulement le deuxième effet et ignore le premier, car il fait partie du mouvement orbital [3]. On peut classer Les équations qui régissent l’attitude d’un satellite en deux parties : -Les équations dynamiques s’intéressent à la relation qui existe entre les forces extérieures agissant sur le satellite, et ses vitesses angulaires en fonction du temps dans un repère inertiel. -Les équations cinématiques définissent la relation entre le changement de l'orientation du satellite et ses vitesses angulaires indépendamment des forces agissant sur celui-ci. I.6.1 Equation dynamique du satellite Les équations dynamiques du satellite dérivent du théorème d’Euler appliquée au centre de masse du satellite. La dérivée du moment cinétique d’un satellite dans une orbite circulaire dans le repère inertiel s’écrit : [2] [8] 11 Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE dL dL = + ωSI × LIS = C ext dt I dt s (I.20) Sachant que L = I ωSI et &I = 0 l’équation précédente devient & SI + ωSI × (IωSI ) = C ext Iω (I.21) Où, L : est le moment cinétique du satellite exprimé par rapport au centre de masse du satellite ; ⎡ω x ⎤ I ωS = ⎢⎢ω y ⎥⎥ : La vitesse angulaire du satellite relativement au repère inertiel exprimée dans le ⎢⎣ ω z ⎥⎦ repère satellite ; ⎡ I xx ⎢ I = ⎢− I yx ⎢ − I zx ⎣ C ext − I xy I yy − I zy − I xz ⎤ ⎥ − I yz ⎥ : La matrice d’inertie du satellite ; I zz ⎥⎦ ⎡C x ⎤ = ⎢⎢C y ⎥⎥ : Le vecteur des couples agissants sur le satellite, il se divise en deux groupes : ⎢⎣ C z ⎥⎦ a)-Couples perturbateurs externes -Couple de pression aérodynamique -Couple de radiation solaire -Couple de gradient de gravité. b)-Couples de contrôles actifs (selon les actuateurs utilisés). -couple des roues de stabilisation. -couple générer par magnétocoupleur. -couple appliqué par les tuyères. L'équation dynamique dans le repère satellite peut s’écrire comme suit : ( ) & SI = C GG + C D + C M + C T + I ωSI × I ωSI + h − h& Iω Où, h = [h x hy C GG = [C ggx (I.22) h z ] T = vecteur de moment angulaire des roues de stabilisation ; C ggy C D = [C dx C dy C M = [C mx C my C T = [C Tx C Ty C ggz ]T = vecteur du couple de gradient de gravité ; C dz ]T = vecteur du couple perturbations externes ; C mz ]T =vecteur du couple appliqué par des magnétocoupleur à 3 axes ; C Tz ]T = vecteur du couple appliqué par les tuyères à 3 axes ; 12 Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE I.6.2 Équations Cinématiques du Mouvement La cinématique consiste à décrire le mouvement d’un repère mobile en fonction du temps sans se préoccuper des causes c'est-à-dire en faisant abstraction des lois de la dynamique. Donc les équations de la cinématique sont définies par le changement de la vitesse angulaire et de la matrice de transformation (angles d’Euler ou quaternions selon la version utilisée) en fonction du temps. I.6.2.1 Équations Cinématiques pour le quaternion La dérivation temporelle d’un quaternion unitaire est donné par : [8] [10] q& = 1 1 Ω q = Λ (q) ωSO 2 2 (I.23) Où, ⎡ 0 ⎢− ω oz Ω=⎢ ⎢ ωoy ⎢ ⎢⎣− ωox ωoz − ωoy 0 ωox − ωox − ωoy 0 − ωoz ωox ⎤ ωoy ⎥⎥ ωoz ⎥ ⎥ 0 ⎥⎦ (I.24) et, ⎡ q4 ⎢ q Λ (q ) = ⎢ 3 ⎢− q 2 ⎢ ⎣ − q1 ωOS = [ωox ωoy − q3 q4 q1 − q2 q2 ⎤ − q 1 ⎥⎥ q4 ⎥ ⎥ − q3 ⎦ (I.25) ωoz ]T = vecteur de vitesse angulaire du satellite relativement au repère orbital local et exprimé dans le repère satellite ; En utilisant la loi de composition de vitesses angulaire, la vitesse angulaire du satellite dans le repère orbital local peut être obtenue à partir de la vitesse angulaire de satellite dans le repère inertiel et la matrice de transformation A ; elle est donnée sous la forme suivante : [10] ωSO = ωSI − A ω0 Où ω0 = [0 − ω0 0]T ; ω0 : la vitesse angulaire orbitale moyenne du satellite ; A : la matrice de rotation en termes de quaternion, donnée par la relation (I.13) ; 13 (I.26) Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE I.6.2.2 Équations Cinématiques pour les angles d’Euler Il est souvent commode et/ou nécessaire d'exprimer le vecteur de vitesse angulaire en fonction des angles d'Euler, et de leurs dérivés temporelle, dans ce cas les équations cinématiques sont plus compliquées que celles basés sur la paramétrisation par quaternion. Suivant la séquence 2-1-3, la vitesse angulaire du satellite relativement au repère orbital local, exprimée dans le repère satellite est donnée par : [3] [8] ⎡0⎤ ⎡ϕ& ⎤ ⎡0⎤ ⎥ ⎢ ⎥ ⎢ ωso = C ψ C ϕ C θ ⎢θ& ⎥ + C ψ C ϕ ⎢ 0 ⎥ + C ψ ⎢⎢ 0 ⎥⎥ ⎢⎣ψ& ⎥⎦ ⎢⎣ 0 ⎥⎦ ⎢⎣0⎥⎦ (I.27) A partir de cette relation, on extrait les dérivées temporelles des angles d’Euler ⎧ϕ& = ω ox cos ψ − ω oy sin ψ ⎪& ⎨θ = (ωox cos ψ − ωoy sin ψ )sec ϕ ⎪& ⎩ψ = ω oz + (ωox sin ψ + ωoy cos ψ ) tan ϕ (I.28) Utilisant la matrice de transformation A de la relation (I.8), l’équation (1.26) devient: ωox = ω x + ω0 A12 ωoy = ω y + ω 0 A 22 (I.29) ωoz = ω z + ω0 A 32 On remplace l’eq (I.29) dans l’eq (I.28), les équations cinématiques peuvent être écrire comme suit: ϕ& = ω x cos ψ − ω y sin ψ θ& = (ω sin ψ + ω cos ψ ) sec ϕ + ω x y 0 (I.30) ψ& = ω z + (ω x sin ψ + ω y cos ψ ) tan ϕ Où, ω s = [ω x ωy ω z ]T = vitesse angulaire du satellite ; On peut remarquer que cette représentation (2-1-3) a la singularité quand l'angle de roulis π égale ± rad. 2 I.6.3 Système d’équation Finalement on regroupe les équations de la dynamique (I.22) et de la cinématique (I.23) ou (I.30), le système d’équation global qui régit le mouvement du satellite autour son centre de masse est donné par : 14 Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE -Représentation quaternion : ⎡1 ⎡q& ⎤ ⎢ Ωq ⎢ I ⎥ = ⎢2 & S⎦ −1 I I ⎣ω ⎢⎣I C GG + C D + C M + C T + I ωS × (I ωS + h ) − h& ( ⎤ ⎥ ⎥ ⎥⎦ (I.31) ⎤ ⎥ ⎥ ⎥ ⎥ ⎥⎦ (I.32) ) -Représentation angles d’Euler : ⎡ ϕ& ⎤ ⎡ω x cos ψ − ω y sin ψ ⎢ θ& ⎥ ⎢(ω sin ψ + ω cos ψ ) sec ϕ + ω y 0 ⎢ ⎥=⎢ x ⎢ψ& ⎥ ⎢ω z + (ω x sin ψ + ω y cos ψ ) tan ϕ ⎢ I ⎥ ⎢ −1 & S ⎦⎥ ⎢I C + C + C + C + I ω I × I ω I + h − h& ⎣⎢ω GG D M T S S ⎣ ( ( ) ) I.7 SIMULATION Les résultats ci-dessous représentent les angles d’Euler et les vitesses angulaires en fonction du temps, ils ont été obtenus à l’aide d’un simulateur d’attitude qui prend en compte la dynamique et la cinématique du satellite utilisant le langage C, MATLAB. Les spécifications utilisées comme exemple lors de ces simulations sont données par les tableaux suivants. Tableau I.1: Matrice d’inertie. I xx [Kgm2] I xy [Kgm2] 158 0.0 I xz [Kgm2] I yx [Kgm2] 0.0 0.0 I yy [Kgm2] 158 2 0.0 2 I zx [Kgm ] I zy [Kgm2] 0.0 0.0 I zz [Kgm2] 5 I yz [Kgm ] Tableau I.2: Attitude initiale du simulateur d'attitude. Angle initiale du roulis Angle initiale du tangage Angle initiale du lacet Vitesse angulaire initiale de Vitesse angulaire initiale de ϕ θ ψ ωx ωy Vitesse angulaire initiale de ωz (deg ) (deg ) (deg ) (deg/ sec) (deg/ sec) (deg/ sec) 15 5.0 -2.0 5.0 0.0 -0.06 0.0 Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE Tableau I.3 : Paramètres de l’orbite. vitesse angulaire orbitale moyenne du satellite (rad / sec ) Altitude [Km] 0.00107 680 8 roulis tangage lacet 6 Angles d Euler [deg] 4 2 0 -2 -4 -6 -8 0 0.2 0.4 0.6 0.8 1 1.2 Temps [orbite] 1.4 1.6 1.8 2 Figure I.8 Angles d’Euler (Roulis, Tangage, Lacet) D’après les courbes ci-dessus (Figure I.8), il est clair que les perturbations influent d’une manière conséquente sur l’attitude du satellite. On remarque une variation importante de l’angle de roulis ( ϕ ) avec une amplitude allant jusqu’à 10 degrés (crête a crête), due principalement à la forte perturbation du gradient de gravité suivant l’axe du roulis. 16 Chapitre I MODELISATION DU MOUVEMENT D’ATTITUDE 0.08 Wx Wy Wz Vitesses angulaires [deg/sec] 0.06 0.04 0.02 0 -0.02 -0.04 -0.06 -0.08 0 0.2 0.4 0.6 0.8 1 1.2 Temps [orbite] 1.4 1.6 1.8 2 Figure I.9 Vitesses angulaires La Figure I.9 confirme l’effet de perturbations sur l’évolution de l’attitude du satellite. La variation de la vitesse angulaire est plus significative suivant l’axe x (l’axe du roulis), et elle est de l’ordre 0.02 (deg/ sec ) . La vitesse angulaire ω z reste nulle à cause de l’absence de perturbations suivant cet axe (l’axe du lacet), et de l’initialisation du simulateur d’attitude. 17 Chapitre II LES COUPLES DE PERTURBATIONS EXTERNES LES COUPLES DE PERTURBATIONS EXTERNES II.1 INTRODUCTION L’environnement dans lequel le satellite est opérationnel complique le problème d’estimation et de contrôle d’attitude. Un satellite en orbite est sujet à tout moment à des couples perturbateurs variables, qui ont un effet direct a la fois sur l’attitude et l’orbite du satellite. Ces efforts peuvent provenir de l’environnement extérieur au satellite ou de sources de perturbation internes, les perturbations internes sont dues essentiellement aux : [1] [3] -Mouvements d'appendices souples comme les GS (générateurs solaires) par exemple ou des mâts porteurs d'instruments,…………etc. -Couples et vibrations créées par des éléments moteurs mobiles dans la plate-forme. -Moteurs des panneaux. -Moteurs de caméras. -Moteurs des enregistreurs. -Gyroscopes. -Couples parasites des moteurs de commande des éléments inertiels comme les roues cinétiques dans le cas de moment cinétique. -Fuites de gaz du système gaz froid. -Ballottement de liquides dans les réservoirs. Les couples engendrés par ces efforts sont trop faibles et donc négligeables devant les couples perturbateur externes. D’un point de vue physique, les forces de perturbation externes sont classées en deux catégories : [5] -Forces perturbatrices conservatives: qui dérivent d’un potentiel et ne coutent pas de l’énergie, ce sont les forces gravitationnelles, elles ne dépendent pas ni de la masse du satellite ni de sa surface. -Forces non conservatives: qui coutent de l’énergie, et ne dérivent pas d’un potentiel, ce sont des forces dissipatives, elles dépendent des caractéristiques massiques et surfaciques du satellite. Les couples de perturbation externes résultent de la force de gradient de gravité, de la pression de radiations solaires, du champ magnétique et des forces aérodynamiques. Les valeurs de ces couples dépendent de l'altitude orbitale du vaisseau spatial, de la géométrie, de l'orientation, et des propriétés optiques et physiques de la masse [1] [7]. Il est important de connaitre les ordres de grandeurs de ces diverses couples, la Figure II.1 illustre les variations de ces couples en fonction de l’altitude [2]. L'objectif de ce chapitre est de décrire les modèles mathématiques conventionnels employés pour décrire les couples de perturbation externes agissant sur l'attitude du satellite, qui incluent le gradient de gravité, la pression de radiation solaire, la force aérodynamique, et les perturbations non gravitationnelles dues au champ magnétique Terrestre. 18 Chapitre II LES COUPLES DE PERTURBATIONS EXTERNES Figure II.1 Variation de couples extérieurs en fonction de l’altitude II.2 COUPLE DE GRADIENT DE GRAVITE Le gradient de gravité a pour origine l'attraction différentielle qui s'exerce sur des masses situées à des distances différentes du centre de la Terre ; puisque le centre de gravité (barycentre des forces de gravité) du satellite ne coïncide pas forcement avec son centre de masse (ou d’inertie, barycentre des masses élémentaires), ce qui provoque l’apparition d’un couple dont l’expression dépend au bout du compte des moments d’inertie du satellite. Il existe plusieurs modèles mathématiques pour le couple de gradient de gravité, le plus commun c’est celui qui repose sur le principe de la sphéricité de la terre et que la répartition de masses est a symétrie sphérique, si plus d'exactitude est exigée, ceci peut être obtenu à partir de la fonction générale du potentiel terrestre [14]. Pour notre cas, nous limitons notre étude sur la première approche, donc le couple de gradient de gravité exprimé en axes satellite est donné sous : [2] [8] r r 3K r N GG = 3 r ∧ (I r ) r Où K r I : constante gravitationnelle de la terre (3.986005 1014 m3/s2) ; : distance entre le centre de la terre et le centre de masse du satellite ; : matrice d’inertie du satellite ; 19 (II.1) Chapitre II LES COUPLES DE PERTURBATIONS EXTERNES En utilisant les éléments de la matrice de passage entre le repère orbital local et le repère satellite avec une matrice d’inertie diagonale, l’expression du vecteur du couple de gradient de gravité dans le repère satellite est donnée par : ⎧(I zz − I yy )a 33 a 23 ⎫ r 3K ⎪ ⎪ N GG = 3 ⎨(I xx − I zz )a 13 a 33 ⎬ r ⎪ ⎪ ⎩(I yy − I xx )a 23 a 13 ⎭ (II.2) S’il s’agit d’une orbite à faible excentricité e ≈ 0 et r ≅ R 0 , on obtient: ⎧(I zz − I yy )a 33 a 23 ⎫ r ⎪ 2⎪ N GG = 3ω0 ⎨(I xx − I zz )a 13 a 33 ⎬ ⎪(I − I )a a ⎪ ⎩ yy xx 23 13 ⎭ (II.3) K R 30 ω0 : le moyen mouvement [rad/s] ; R 0 : le demi grand axe ; I xx , I yy I zz l’inertie du satellite autour ses axes principaux. Où ω02 = De l’équation (II.3), on peut déduire les caractéristiques suivantes à propos de ce couple ; -Ce couple ne sera rigoureusement nul que si les trois inerties du satellite sont égales. -le couple est normal à la verticale locale. -le couple est inversement proportionnel au cube de la distance géocentrique. Souvent on utilise le gradient de gravité comme une méthode de stabilisation passive, pour orienter en permanence l’axe de plus faible inertie du corps vers le centre de la Terre, cette stabilisation est obtenue par utilisation du couple crée par la différence de gravité entre des parties de l’engin suffisamment éloignées et rigidement liées. Pour avoir des couples de gradient de gravité élevés, il faut que les inerties du satellite autour de deux axes soient nettement supérieurs à celle autour du troisième axe, ceci implique donc en pratique, compte tenu des limitations de masse et de la géométrie imposée par les lanceurs, de déployer en orbite des mâts munis le plus souvent de masses à leurs l’extrémités. 20 Chapitre II LES COUPLES DE PERTURBATIONS EXTERNES II.2.1 SIMULATION Les résultats ci-dessous représentent les trois composantes du couple de gradient de gravité dans le repère satellite. Les spécifications utilisées comme exemple lors de ces simulations sont données par les tableaux suivants. Tableau II.1: Paramètres de l’orbite. vitesse angulaire orbitale moyenne du satellite (rad / sec ) Altitude [Km] 0.00107 680 Tableau II.2: Attitude initiale du simulateur d'attitude. Angle initiale du roulis Angle initiale du tangage Angle initiale du lacet Vitesse angulaire initiale de Vitesse angulaire initiale de ϕ θ ψ ωx ωy Vitesse angulaire initiale de ωz (deg ) (deg ) (deg ) (deg/ sec) (deg/ sec) (deg/ sec) 5.0 -2.0 5.0 0.0 -0.06 0.0 Tableau II.3 : Matrice d’inertie. I xx [Kgm2] I xy [Kgm2] 158 0.0 I xz [Kgm2] I yx [Kgm2] 0.0 0.0 I yy [Kgm2] 158 I yz [Kgm2] 0.0 I zx [Kgm2] I zy [Kgm2] 0.0 0.0 I zz [Kgm2] 5 21 Chapitre II LES COUPLES DE PERTURBATIONS EXTERNES -5 5 x 10 Nx Ny Nz Couple de gradient de gravité [N.m] 4 3 2 1 0 -1 -2 -3 -4 -5 0 0.2 0.4 0.6 0.8 1 1.2 Temps [orbite] 1.4 1.6 1.8 2 Figure II.2 Couple de gradient de gravité sur les trois axes du satellite La figure ci-dessus (Figure II.2) représente l’évolution des trois composantes du couple de gradient de gravité le long de deux périodes orbitales. Il est clair que l’amplitude de ce couple est de l’ordre de 10 −5 N.m . On peut constater que sa projection en lacet (l’axe z) est nulle, mais qu’il évolue par contre en tangage et roulis, a cause de la configuration symétrique axiale du satellite ( I xx = I yy ). 22 Chapitre II LES COUPLES DE PERTURBATIONS EXTERNES II.3 COUPLE DE RADIATIONS SOLAIRES Les radiations incidentes sur la surface du satellite produisent une force élémentaire par unité de surface égale à la différence entre le flux incident et le flux réfléchi par la paroi du satellite, ce qui donne lieu à un couple autour du centre de masse du satellite. [2][3] Le satellite reçoit les radiations électromagnétiques de trois sources principales qui sont : [3] -le soleil. -les radiations solaires rediffusées par la terre (flux albédo). -le rayonnement infrarouge thermique de la terre. Parmi ces trois sources, la radiation venant du soleil constitue la partie majeure de rayonnement, et elle s’étale pratiquement sur tout le spectre électromagnétique du rayon x jusqu’aux ondes radio, la contribution du vent solaire (particules lourdes éjectées du soleil électrons et nucléons ionisés) est également négligeable. Pour les basses orbites les radiations solaires sont quasiment indépendants de l’altitude du satellite car elles sont inversement proportionnelles au carré de la distance au centre du soleil, en revanches les principaux facteurs déterminants le couple de radiation solaire sont : [1] [3] -L’intensité et la distribution spectrale du rayon incident sur la surface du satellite. -La géométrie de la surface ainsi que ses caractéristiques optiques. -L’orientation du soleil relativement au satellite. Lors de l’interaction photons-parois, différents comportements peuvent apparaitre à la paroi : -absorption -réflexion spéculaire -réflexion diffuse La Figure II.3 représente schématiquement les trois phénomènes possibles. Figure II.3 types de comportement des radiations solaires a la paroi La probabilité de chacune de ces occurrences s'appellent les coefficients de l'absorption, de la réflexion spéculaire et de la réflexion diffuse, ils dépendent des caractéristiques thermooptique de la paroi et satisfont : [14] Ca + Cs + Cd = 1 (II.4) La force due aux photons absorbés est : [2] [3] r r df absorbé = − PC a cos θdAS 23 (II.5) Chapitre II LES COUPLES DE PERTURBATIONS EXTERNES I = 4.5 × 10 −6 N.m − 2 ; c −2 I : La constante solaire I = 1353 W.m ; c : La vitesse de la lumière c = 3.10 8 m.s −1 ; C a : Le coefficient d’absorption ; r r θ : L’angle entre la normale de la surface N et S ; dA : La surface élémentaire exposée au soleil ; r S : Le vecteur unitaire satellite soleil ; P : La pression de radiation solaire P = La force de radiation due à la réflexion spéculaire est : [2] [3] r r df speculaire = −2PC s cos 2 θdAN (II.6) C s : Le coefficient de réflexion spéculaire ; r N : Le vecteur unitaire normal à la surface dA ; Les radiations réfléchies de façon diffuse produit une force : [2] [3] r r⎞ r ⎛2 df diffuse = − PC d ⎜ cos θ N + cos θS ⎟dA ⎝3 ⎠ (II.7) C d : Le coefficient de réflexion diffusé ; La force élémentaire globale a ainsi pour expression : [3] [7] [12] r r ⎛ ⎡ 1 ⎞r⎤ df solar = −P ⎢(1 − C s )S + 2⎜ C s cos θ − C d ⎟ N ⎥ cos θdA 3 ⎠ ⎦ ⎝ ⎣ (II.8) r Le couple de radiation solaire C solar agissant sur le satellite est donné par l’expression générale : [3] r r r C solar = ∫ r ∧df solar (II.9) Ou r est la distance entre le centre de masse du satellite est la surface élémentaire dA . Il est difficile d’évaluer le couple de radiation solaire directement de l’équation (II.9) pour toute la surface du satellite [3] [13], une autre approche consiste à décomposer la surface totale du satellite à des formes géométriques simples, puis de calculer le couple élémentaire sur chaque surface ; le couple de radiations solaires total est la somme de ces couples élémentaire, et il peut s’écrire sous : [14] n r r ⎛ ⎞ r ⎛ ⎡ 1 ⎞r ⎤ C solar = ∑ ri ×⎜⎜ − P ⎢(1 − C s )S + 2⎜ C s cos θ i − C d ⎟ N i ⎥ cos θ i dA i ⎟⎟ 3 ⎠ ⎦ ⎝ i =1 ⎠ ⎝ ⎣ 24 (II.10) Chapitre II LES COUPLES DE PERTURBATIONS EXTERNES Il est à noter que ce couple a un effet important sur les objets légers avec une surface relativement élevée. II.3.1 SIMULATION Les résultats ci-dessous représentent la projection du couple de radiations solaire sur les axes satellite. Les paramètres utilisés lors de cette simulation sont donnés par les tableaux suivants. Tableau II.4: Paramètres de l’orbite. vitesse angulaire orbitale moyenne du satellite (rad / sec ) Altitude [Km] 0.00107 680 Tableau II.5: Attitude initiale du simulateur d'attitude. Angle initiale du roulis Angle initiale du tangage Angle initiale du lacet Vitesse angulaire initiale de Vitesse angulaire initiale de ϕ θ ψ ωx ωy Vitesse angulaire initiale de ωz (deg ) (deg ) (deg ) (deg/ sec) (deg/ sec) (deg/ sec) 5.0 -2.0 5.0 0.0 -0.06 0.0 Tableau II.6 : Matrice d’inertie. I xx [Kgm2] I xy [Kgm2] 158 0.0 I xz [Kgm2] I yx [Kgm2] 0.0 0.0 I yy [Kgm2] 158 I yz [Kgm2] 0.0 I zx [Kgm2] I zy [Kgm2] 0.0 0.0 I zz [Kgm2] 5 Tableau II.7: Paramètres thermo-optiques de la paroi. Coefficient d’absorption Ca 0.3 Coefficient de réflexion spéculaire Cs 0.7 Coefficient de réflexion diffuse Cd 0.0 25 Chapitre II LES COUPLES DE PERTURBATIONS EXTERNES -7 1 x 10 Crx Cry Crz Couple de radiations solaire [N.m] 0 -1 -2 -3 -4 -5 0 0.2 0.4 0.6 0.8 1 1.2 Temps [orbite] 1.4 1.6 1.8 2 Figure II.4 Couple de radiations solaire sur les trois axes du satellite A partir de la figure II.4, on remarque que l’amplitude du couple de radiations solaire est de l’ordre de 10 −7 N.m , donc son effet sur l’attitude d’un satellite en orbite basse est négligeable devant le gradient de gravité. On peut remarquer également la disparition de ce couple pendant des intervalles du temps réguliers, cela naturellement correspond aux passages en éclipse. 26 Chapitre II LES COUPLES DE PERTURBATIONS EXTERNES II.4 COUPLE AERODYNAMIQUE L'interaction de la haute atmosphère avec la surface du satellite produit un couple autour du centre de masse. Pour un satellite au-dessous de 400 km, le couple aérodynamique est le couple perturbateur externe dominant, en revanche l’effet de ce couple décroit rapidement avec l’augmentation d’altitude et devient pratiquement imperceptible au delà de 6000 km d’altitude. [5] r La force aérodynamique élémentaire par unité de surface avec la normale extérieur N est donnée par : [2] [3] ( ) r r r r 1 df aero = − C D ρV 2 N ⋅ V V.dS 2 (II.11) C D : Le coefficient aérodynamique ; ρ : La densité atmosphérique ; V : La vitesse de translation du satellite ; r N : Le vecteur unitaire normal à la section élémentaire dS ; r V : Le vecteur unitaire de la vitesse de translation ; dS : La section élémentaire affectée par cette force ; De l’équation précédente le calcul de cette force (idem pour le couple qu’elle produit) s’avère difficile car : [13] - la section dS (en direction de mouvement) peut changer rapidement avec le temps en fonction de l’attitude du satellite. - La densité atmosphérique ρ varie d’une façon significative avec l’activité solaire. Le vecteur du couple aérodynamique total dû aux efforts aérodynamiques (relativement au centre de masse du satellite) a pour expression : [3] r r r C aero = ∫ r ∧df aero (II.12) Où r est la distance entre le centre de masse du satellite est la surface élémentaire dS . A l’instar du couple de radiation solaire, ce couple peut être considéré également comme la somme des couples aérodynamiques élémentaires qui affectent chaque surface, donc l’expression qui donne l’évolution de ce couple a travers toute la surface exposée a l’écoulement est : [14] ( ) n r r r r⎞ r ⎛ 1 C aero = ∑ ri ×⎜ − C D ρV 2 Si N i ⋅ V V ⎟ ⎝ 2 ⎠ i =1 (II.13) II.4.1 SIMULATION On utilise les mêmes conditions initiales pour le simulateur d’attitude avec les paramètres donnés par Tableau II.8, l’évolution de ce couple pendant 5 orbites dans le repère satellite, est illustrée sur la Figure II.5. 27 Chapitre II LES COUPLES DE PERTURBATIONS EXTERNES Tableau II.8: Paramètres du couple aérodynamique. Coefficient aérodynamique 2.0 CD 1.454.10 −13 [0.017, 0.17, 0.017] La densité atmosphérique ρ [ Kg / m 3 ] Les coordonnées du centre de pression aérodynamique [m ] -7 1 x 10 Cax Cay Caz 0.8 Couple aerodynamique [N.m] 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 0.2 0.4 0.6 0.8 1 1.2 Temps [orbite] 1.4 1.6 1.8 2 Figure II.5 Couple aérodynamique sur les trois axes du satellite Le couple aérodynamique est de l’ordre de 10 −7 N.m , cela est dû à la faible valeur de la densité atmosphérique ρ , a 680 Km d’altitude, s’y ajoute l’influence de la petite surface du satellite et la faible distance du centre de pression relativement au centre de masse. Les variations constatées sur l’amplitude de ce couple résultent du changement de la surface exposée à l’écoulement en fonction de la l’attitude du satellite. 28 Chapitre II LES COUPLES DE PERTURBATIONS EXTERNES II.5 LE COUPLE MAGNETIQUE Bien que le satellite est habituellement conçu de matériels bien choisi pour rendre les perturbations d’origine magnétiques négligeables, mais cela n’empêche pas l’apparition d’un couple perturbateur qui résulte de l’interaction entre le champ magnétique terrestre et le champ magnétique résiduel du satellite, ce dernier est produit essentiellement par les équipements internes (circuits électriques, passage de courant dans les bobines, câblage….etc.) [2] [3] [7]. Naturellement une telle interaction peut produire une force significative comparée à l’inertie du satellite. Quelquefois les couples magnétiques sont volontairement créés par des magnéto-coupleurs (actionneur de correction d’attitude) pour lutter contre d'autres couples. L’expression du couple magnétique dans le repère satellite est donnée par la relation suivante : [14] ⎡ (M y B z − M z B y )⎤ r r r ⎥ ⎢ C m = A θφψ M × B = A θϕψ ⎢(M z B x − M x B z )⎥ ⎢(M x B y − M y B x )⎥ ⎦ ⎣ ( ) (II.14) r M : Le moment magnétique du satellite en A.m 2 ; r B : Le champ magnétique terrestre en Tesla ; A θϕψ : La matrice de rotation ; La relation (II.14) peut se mettre sous la forme suivante : ⎡ cψcθ + sψsϕsθ sψcϕ − cψsθ + sψsϕcθ⎤ ⎡ (M y B z − M z B y )⎤ r ⎥ ⎢ C m = ⎢⎢− sψcθ + cψsϕsθ cψcϕ sψsθ + cψsϕcθ ⎥⎥ ⎢(M z B x − M x B z )⎥ ⎥⎦ ⎢⎣(M x B y − M y B x )⎥⎦ ⎢⎣ cϕsθ cϕcθ − sϕ (II.15) Afin de réduire au minimum les erreurs lors de l’évaluation du couple magnétique, le champ magnétique terrestre a été calculé a partir du modèle harmonique sphérique décrit dans le chapitre III. II.5.1 SIMULATION ⎡0.1⎤ Pour la simulation, on a adopté un moment magnétique résiduel du satellite M = ⎢⎢0.1⎥⎥ A.m 2 . ⎢⎣0.1⎥⎦ La variation de ce couple pendant 2 orbites de révolution dans le repère satellite, est illustrée sur la Figure II.6. 29 Chapitre II LES COUPLES DE PERTURBATIONS EXTERNES -6 5 x 10 Cmx Cmy Cmz 4 Couple magnétique [N.m] 3 2 1 0 -1 -2 -3 -4 -5 0 0.2 0.4 0.6 0.8 1 1.2 Temps [orbite] 1.4 1.6 1.8 2 Figure II.6 Couple magnétique sur les trois axes du satellite Bien que le satellite se trouve en basse orbite, le couple magnétique n’est pas le couple dominant, et il est de l’ordre de 10 −6 N.m , ceci résulte à la fois des faibles valeurs de la vitesse de rotation et du moment magnétique résiduel du satellite. . 30 Chapitre III MODELES DE REFERENCE ET SENSEURS MODELES DE REFERENCE ET SENSEURS III.1 INTRODUCTION Dans ce chapitre, nous allons décrire tout d’abord, les modèles mathématiques de référence qui seront utilisés en dernier chapitre par l’estimateur d’attitude, ensuite une description de différents types de senseurs d’attitude est donnée. III.2 MODELE D’ORBITE Le propagateur d’orbite est la première étape dans l’algorithme d’estimation d’attitude, car il permet de donner la position du satellite, ainsi que sa vitesse dans le repère ECI (si celui-ci ne dispose pas d’un récepteur de localisation de position GPS ou autre); en outre, le propagateur d’orbite est nécessaire pour déterminer la relation entre le repère ECEF (dans lequel le champ magnétique est donné), le repère ECI (dans lequel le vecteur solaire est exprimé) et le repère satellite (où les mesures sont fournies). Il existe plusieurs modèles qui décrivent la position du satellite sur son orbite, tels que propagateur képlérien, SGP, SGP4, SDP4,…..etc. leur complexité varie de l’un à l’autre selon l’exactitude du modèle, et les perturbations prises en considération [21]. Pour déterminer la position du satellite sur son orbite, l’utilisation d’un certain nombre de paramètres dits paramètres orbitaux est exigée. Figure III.1 Les éléments orbitaux 31 Chapitre III MODELES DE REFERENCE ET SENSEURS Figure III.2 Vue orthogonale du plan orbital Les paramètres orbitaux définis dans les deux figures précédentes sont : [5] [24] La longitude du nœud ascendant Ω : s’appelle aussi l’ascension droite c’est l’angle entre la ligne vernale et le nœud ascendant, elle se trouve dans le plan équatorial. L’argument du périgée ω : l’angle entre la ligne des nœuds et la direction du périgée (le point sur l’orbite le plus proche a la terre). L’inclinaison orbitale i : l’angle entre le plan orbital et le plan équatorial. L’anomalie vraie ν : l’angle entre la direction du périgée et le vecteur de position du satellite. Le demi-grand axe a : la moitié de la distance entre le périgée et l’apogée (le point le plus loin de la terre). L’excentricité e : l’excentricité de l’ellipse, pour un cercle e = 0 . Dans la section suivante, nous décrirons seulement l’algorithme SGP4, et qui sera par la suite utilisé en simulation. Pour calculer le mouvement orbital et la position dans l’espace, on utilise un modèle orbital, et un certain nombre de paramètres pour initialiser le propagateur d’orbite ; ces paramètres sont calculés ou donnés à partir des observations comme le cas de TLE (décrit ci-après). Le temps courant et le temps par rapport auquel les paramètres orbitaux sont spécifiés sont également exigés, et ils sont définis dans un certain format appelé la date julienne [20]. Le modèle le plus utilisé et le plus fiable, pour la détermination d’orbite est le SGP4 (simplified general perturbations version 4), il a été développé en 1970 pour déterminer le mouvement orbital des satellites de basse orbite, et avec une période orbitale inferieur a 250 minutes [24]. L’exactitude élevée du SGP4 vis-à-vis a un simple modèle képlérien, réside dans la prise en considération de l’effet des différentes forces perturbatrices qui affectes l’orbite du satellite, à savoir : la non sphéricité de la terre, l’attraction due aux autres planètes (luni-solaire…etc.), le frottement atmosphérique et les radiations solaires [20]. Le propagateur d’orbite SGP4, utilise des fichiers TLE pour fournir la position et la vitesse du satellite à un instant donné (dans le repère inertiel ECI). Un fichier TLE (two line element) est un fichier texte, qui contient les éléments orbitaux et d’autres paramètres de satellites artificiels ; pour chaque satellite, les éléments orbitaux sont 32 Chapitre III MODELES DE REFERENCE ET SENSEURS écrits sur 2 ou trois lignes d’où la dénomination TLE, chaque ligne comporte 69 caractères, la position de chaque caractère dans chacune des lignes est très importante [19]. Un exemple d’un TLE qui concerne ALSAT 1 est donné ci-dessous. ALSAT 1 1 27559U 02054A 10322.43682963 .00000145 00000-0 32325-4 0 190 2 27559 97.8641 185.6471 0024316 137.8500 222.4555 14.69443408425972 A partir ces trois lignes on peut extraire les donnés suivantes : i = 97.8641o Ω = 185.6471o e = 0.0024316 ω = 137.8500 o M = 222.4555 o n = 14.69443408 tours jour Une description détaillée d’un TLE est donnée en annexe A. Ces données sont basées sur des observations, car chaque objet qui satellise autour de la terre, et qui a des dimensions supérieures à une balle de tennis, est surveillé et suivie par les radars de la NORAD (North American Aerospace Defense Command) [20]. L’ensemble des paramètres fournis par un TLE, sont des valeurs moyennes, qui ont été obtenues par l’enlèvement des variations séculaire et périodique en utilisant l’algorithme inverse du SGP4 [21]. Le modèle SGP4 implique des équations et des relations très complexes, qui nécessitent des connaissances profondes en mécanique orbitale (sortant au cadre de cette thèse), c’est pour cette raison aucune équation ou relation n’est donnée ici. Pour la description détaille de ce model orbital (comprenant un exemple d’exécution) voir [25]. La Figure III.3 représente la trace au sol d’ALSAT 1, en utilisant le propagateur SGP4. Les paramètres utilisés lors de cette simulation sont donnés par le TLE précédent. 33 Chapitre III MODELES DE REFERENCE ET SENSEURS 80 Latitude maximale: 82.1305 deg 60 Latitude [deg] 40 20 0 -20 -40 -60 -80 -150 -100 -50 0 50 Longitude [deg] 100 150 Figure III.3 Trace au sol de 5 orbites III.3 MODELE DU CHAMP MAGNETIQUE TERRESTRE Le champ magnétique a n’importe quel point de la terre est la combinaison de plusieurs champs magnétiques produit par diverse sources. Le champ produit par le fond intérieur de la Terre représente plus de 90% du champ mesuré (champ principal), il s’joute l’effet des minéraux ferromagnétiques et les métaux dans diverses locations sur la croute terrestre. La troisième source du champ magnétique est associée avec le mouvement des particules chargées de la haute atmosphère et prés de l’espace Terrestre [3] [7]. L’intensité du champ magnétique est approximativement 30000 nT à l'équateur et 60000 nT aux pôles sur la surface de la Terre [11]. Pour l’année 2005, le pôle du nord géomagnétique est situé à la longitude 71.78W et à la latitude géodésique 79.74N et le pôle du sud géomagnétique est à la longitude 108.2E avec une latitude géodésique 79.74S. Ceci rapporte à une inclination de l'équateur magnétique par rapport a l'équateur géographique de 10.26° à cette époque. De plus ce dipôle déplace vers l'ouest à environ 0,2 °/an, et sa force diminue de 0,05% par an [23]. 34 Chapitre III MODELES DE REFERENCE ET SENSEURS Figure III.4 Modèle du Champ Magnétique Terrestre Afin d’utiliser le champ magnétique terrestre pour l’estimation et le contrôle d’attitude, une connaissance précise sur la distribution de celui-ci a travers la surface terrestre est indispensable. Pour le problème de détermination d’attitude, l'estimateur d'attitude exige une information a priori sur l'intensité du champ magnétique terrestre, pour comparer cette valeur de référence avec l'intensité du champ magnétique mesurée par le magnétomètre ; pour qu’il puisse déterminer l’attitude du satellite. Une première solution, consiste à utiliser une base de donnée stockée dans une mémoire, et embarquée a bord du satellite, mais en raison des contraintes de l’espace, et les limitations imposées par l’énergie de bord, et comme le champ magnétique change fortement au-dessus de la surface terrestre (Figure III.5), cette solution reste infaisable. Par conséquent, l’utilisation d’un modèle mathématique décrivant la variation du champ magnétique terrestre, en fonction de la position du satellite est la seule solution convenable. Figure III.5 L’intensité du champ magnétique 35 Chapitre III MODELES DE REFERENCE ET SENSEURS Le champ magnétique principal change lentement avec le temps, et peut être décrit par des modèles mathématiques tels que, International Geomagnetic Reference Field (IGRF) et World Magnetic Model (WMM), édité et maintenu par British Geological Survey et d'autres instituts, ce modèle est mis à jour tous les cinq ans [16] [23]. L’IGRF (champ Géomagnétique International de Référence), est une tentative par l'association internationale de Géomagnétisme et Aéronomie (IAGA), pour fournir un modèle acceptable à une variété d'utilisateurs. Il donne une approximation raisonnable du champ magnétique terrestre principal provenant du noyau de la terre. L'IGRF est un modèle analytique décrivant la variation du champ magnétique terrestre sous forme d’une série d’harmoniques sphériques et en fonction de la position, l’IGRF est mis à jour tous les cinq ans [18]. Les données du modèle d'IGRF, sont basées sur toutes les sources de mesures disponibles, comprenant des mesures géomagnétiques des observatoires permanents, des bateaux, des avions et des satellites [23]. Le champ magnétique de référence utilisé dans ce mémoire est le IGRF 2005 d’ordre 10, qui est valide jusqu’au 2010, le modèle a une précision de 0.1 nT/ans. La partie prédominante du champ magnétique terrestre B, peut être représenté comme le gradient négatif du potentiel scalaire V : [3] B = −∇V(R 0 , θ, φ) (III.1) En raison de la nature sphérique de la surface de la Terre, le potentiel Terrestre peut être représenté comme série harmonique sphérique : ⎛ a ⎞ ⎟⎟ V(R 0 , θ, φ) = a ∑ ⎜⎜ n =1 ⎝ R 0 ⎠ k n +1 k ∑ (g m =0 m n cos mφ + h mn sin mφ)Pnm (θ) (III.2) Où a : Le rayon équatorial de la Terre (6371.2 Km); g mn , h mn : Coefficients de Gauss; R 0 , θ et φ : La distance géocentrique, coelévation et la longitude du satellite; Pnm : La fonction de Legendre associée, de degré n et d'ordre m. Les coefficients de Gauss (voir Annexe B) sont déterminés empiriquement par la méthode des moindres carrés. Ainsi les trois composantes du champ magnétique en coordonnées sphériques (voir Figure III.6) sont données par : ⎛ a ⎞ ⎟⎟ B r = ∑ ⎜⎜ n =1 ⎝ R 0 ⎠ k ⎛ a ⎞ ⎟⎟ B θ = −∑ ⎜⎜ n =1 ⎝ R 0 ⎠ k n+2 n+2 n ( ) (n + 1) ∑ g n ,m cos mφ + h n ,m sin mφ P n ,m (θ) (III.3) m =0 n ( (n + 1) ∑ g 1 k ⎛ a ⎞ Bφ = − ∑⎜ ⎟ sin θ n =1 ⎜⎝ R 0 ⎟⎠ n ,m cos mφ + h m =0 n+2 ∑ m(g n n ,m n ,m ∂P n ,m (θ) sin mφ ∂θ (III.4) ) (III.5) ) cos mφ + h n ,m sin mφ P n ,m (θ) m =0 36 Chapitre III MODELES DE REFERENCE ET SENSEURS Où B r : La composante radiale du champ magnétique ; B θ : La composante de coelevation du champ magnétique ; B φ : La composante horizontale du champ magnétique ; Figure III.6 Composantes du Champ Magnétique Terrestre Les trois composantes du champ magnétique dans le repère géocentrique équatorial fixe ECEF sont: B x = (B r cosδ + Bθ sinδ )cosα − Bφsinα B y = (B r cosδ + Bθ sinδ )sinα + Bφ cosα (III.6) B z = B r sinδ − Bθ cosδ Où δ = 90° − θ : Déclinaison ; φ = α − α G : Longitude ; α : Ascension droite ; α G : Ascension droite du méridien de Greenwich ou le temps sidéral ; Pour trouver les composantes du champ magnétique dans le repère satellite, il suffit de multiplier par la matrice de passage de l’équatorial géocentrique vers le repère satellite donnée par : M = M 3 ⋅ M 2 ⋅ M1 (III.7) M 1 = M z (ω)M x (i )M z (Ω − θ ) (III.8) Tel que : 37 Chapitre III MODELES DE REFERENCE ET SENSEURS M 1 : La matrice de passage de l’équatorial géocentrique vers l’orbital géocentrique ; ⎛−π⎞ ⎛π ⎞ M 2 = M⎜ ⎟ M⎜ + ν ⎟ ⎝ 2 ⎠ ⎝2 ⎠ (III.9) M 2 : La matrice de passage de l’orbital géocentrique vers l’orbital local ; M 3 = M y (θ)M x (ϕ)M z (ψ ) (III.10) M 3 : La matrice de passage de l’orbital local vers le repère satellite ; Donc les composantes du champ magnétique dans le repère satellite sont: ⎡B xsat ⎤ ⎡ M 11 ⎥ ⎢ ⎢ ⎢B ysat ⎥ = ⎢M 21 ⎢B ⎥ ⎢⎣ M 31 ⎣ zsat ⎦ M 12 M 22 M 32 M 13 ⎤ ⎡B ECEF ⎤ M 23 ⎥⎥ ⎢⎢B ECEF ⎥⎥ M 33 ⎥⎦ ⎢⎣B ECEF ⎥⎦ (III.11) II.3.5 Résultats et Simulation La figure (II.8) représente le modèle d’IGRF d’ordre 10 du champ magnétique Terrestre pour l’année 2005 dans le repère orbital local. 50 Box Boy Boz Champ magnétique terrestre [micro-Tesla] 40 30 20 10 0 -10 -20 -30 -40 -50 0 0.5 1 1.5 2 2.5 3 Temps [orbite] 3.5 Figure III.7 IGRF 2005 d’ordre 10 38 4 4.5 5 Chapitre III MODELES DE REFERENCE ET SENSEURS III.4 MODELE DU VECTEUR SOLAIRE III.4.1 le vecteur solaire Il bien entendu que le capteur solaire mesure la direction et/ou l'intensité de la lumière, venant du soleil dans le repère satellite. Afin d'utiliser la mesure fournie par le capteur solaire pour déterminer l’attitude du satellite, l’estimateur d’attitude nécessite un modèle de référence du vecteur solaire dans le repère satellite pour qu’il puisse effectuer une comparaison avec le vecteur solaire mesuré par le senseur solaire [16] [17]. Pour simplifier le modèle de la direction du soleil, il est commode de décrire le mouvement apparent du soleil autour de la terre. La position du soleil dans le repère géocentrique inertiel ECI dépend seulement du temps et d'un certain nombre de paramètres constants, elle peut être décrite par une orbite Képlérienne comme l’orbite de la terre autour du soleil. Donc connaissant les paramètres orbitaux du mouvement terrestre autour du soleil à un instant donné nommé époque, on peut représenter aisément la direction du soleil par rapport a la terre [19]. Avec les avancées technologiques dans des applications liées aux rayonnements solaires, la connaissance de la position du soleil avec haute précision est devenus une nécessité majeur, a ce fin, beaucoup de modèles (disponibles dans les ouvrages d’astrodynamique) ont été développés pour satisfassent aux exigences demandées, néanmoins, leurs incertitudes étaient plus grand que ± 0.01o et certains sont seulement valides pour un nombre spécifique d’année [4]. Le modèle qui décrit la position du soleil utilisé dans nos algorithmes, sera celui donné par la référence [4], le vecteur solaire qui en résulte est donné dans le repère inertiel géocentrique (ECI) avec une précision de l’ordre de 0.01o , et valable de 1950 jusqu’au 2050. La figure montre la géométrie du vecteur solaire par rapport à la terre. Figure III.8 La géométrie de la position du soleil 39 Chapitre III MODELES DE REFERENCE ET SENSEURS L’époque utilisée pour les calculs ci-dessous est 1 janvier 2000 à 12h00min00s. 1-Calcul de la longitude moyenne du soleil λ M = 280.460 + 36000.770 ⋅ Tu (III.12) 2- calcul de l’anomalie moyenne du soleil M = 357.7277233 + 35999.05034 ⋅ Tu (III.13) La longitude écliptique du soleil est donnée par : λ ecliptique = λ M + 1.914666471o sin( M ) + 0.019994643 sin( 2M ) (III.14) La latitude écliptique ne dépasse jamais 0.000333o et elle est souvent placée 0o φ = 0o (III.15) L’obliquité ou l’élévation du soleil est donnée par : ε = 23.439291o − 0.013004 ⋅ 2Tu Tu = Jd u − J 2000 36525 (III.16) (III.17) J 2000 Le jour julien de l’époque de référence (1 janvier 2000 à 12h00min00s) et : J 2000 = 2451545 jours (III.18) Jdu Le jour julien de l’époque dont on veut calculer la position du soleil, si elle est de la forme AAAA : MM : JJ : HH :mm :SS alors le jour julien est donné par [6] : ⎧ ⎡ ⎛ M + 9 ⎞⎤ ⎫ ⎟⎥ ⎪ ⎪ 7 ⎢A + INT⎜ ⎪ ⎣ ⎝ 12 ⎠⎦ ⎪ ⎛ 275M ⎞ Jd u = 367 ⋅ A − INT⎨ ⎟ + J + 1721013.5 + TU ⎬ + INT⎜ 9 4 ⎝ ⎠ ⎪ ⎪ ⎪⎩ ⎪⎭ TU = H m S + + 24 1440 86400 A : l’année ; M : le mois ; J : le jour ; H : l’heure ; M : la minute ; S : la seconde ; 40 (III.19) (III.20) Chapitre III MODELES DE REFERENCE ET SENSEURS Donc le vecteur unitaire qui pointe vers le soleil dans le repère ECI est : ⎛ cos(λ ecliptique ) ⎞ ⎜ ⎟ r u s = ⎜ cos(ε ) ⋅ sin (λ ecliptique )⎟ ⎜ sin (ε ) ⋅ sin (λ ⎟ ecliptique )⎠ ⎝ (III.21) Il est à noter que l’écliptique a pour excentricité e = 0.016708617 III.4.2 L’éclipse Le satellite subit une éclipse solaire lorsque le soleil est caché par la terre. Durant l’éclipse, le satellite se refroidit et les panneaux solaires ne produisent plus d’électricité. Pour certains satellites, l’éclipse est un phénomène critique, et la géométrie terre-soleilsatellite est alors étudiée en détail [5]. Pour modéliser exactement les forces agissant sur le satellite dues aux radiations solaires, il est important de savoir si le satellite est éclairé par le soleil, ou il se trouve dans la région ombrée par la terre. Figure III.9 Représentation schématique de la condition d’éclipse L’éclipse est vérifié en calculant la distance perpendiculaire du centre de la terre a la ligne qui relie le satellite et le soleil et comparer cette distance avec le rayon terrestre [19]. Tous les vecteurs sont donnés dans le repère ECI. On a R E = R SA + R ′SA R ′SA = − R SA (R S − R SA ) (R S − R SA ) (R S − R SA ) R E = R SA − R SA (R S − R SA ) (R S − R SA ) (R S − R SA ) 41 (III.22) (III.23) (III.24) Chapitre III MODELES DE REFERENCE ET SENSEURS Pour que le satellite se trouve en éclipse la relation suivante doit être vérifiée : R SA − R SA (R S − R SA ) (R S − R SA ) < re (R S − R SA ) (III.25) re : est le rayon terrestre III.5 LES SENSEURS Le choix d’un senseur d’attitude dépend de plusieurs facteurs lié d’une part a la mission du satellite et aux performances de pointage et de stabilité exigées, et d’autre part aux sources de référence disponible. III.5.1 Les senseurs solaires Le capteur solaire est le type le plus largement répandu de senseurs pour la détermination d'attitude d’un satellite. Ils sont également employés pour protéger des équipements sensibles (le senseur stellaire), pour fournir une référence aux actuateurs de commande d'attitude, et pour positionner les panneaux solaires. L'éclat du soleil permet l'utilisation d’un équipement simple, peu coûteux, fiable et avec une alimentation électrique minimale. En résumé, des capteurs solaires sont indispensables pour les différentes missions de satellite. On distingue trois types principaux pour le capteur solaire. III.5.1.1 Senseur solaire analogique Les senseurs analogiques sont nommés communément les détecteurs de cosinus, car leur principe de fonctionnement est basé sur la variation sinusoïdale du courant de sortie d’une cellule solaire en fonction de l’angle d’incidence θ du rayon solaire. Un capteur solaire analogique typique est montré sur la figure : Figure III.10 Senseur solaire analogique 42 Chapitre III MODELES DE REFERENCE ET SENSEURS Etant donné que le courant de sortie de la cellule solaire est proportionnel au cosinus de l’angle d’incidence θ , ce capteur permet de livrer la direction θ du soleil par rapport à sa normale selon la relation : [3] [12] [19] ⎛ I ⎞ ⎟⎟ θ = cos −1 ⎜⎜ ⎝ I0 ⎠ (III.26) Où I 0 est le courant maximum délivré par la cellule de silicium. Le senseur solaire analogique peut avoir plusieurs configurations possibles et cela selon la précision et le champ de visé du capteur utilisé. A l’instar des autres capteurs, le senseur solaire analogique n’exige pas des dispositifs de traitement additionnels, mais il est extrêmement imprécis avec 1o de précision pour un champ de visé de 30o . III.5.1.2 Le senseur de présence du soleil Le détecteur de présence du soleil fournit a sa sortie un signal constant (échelon) dés que les rayons solaire se trouvent a l’intérieur du champ de visé du détecteur. Il est utilisé pour protéger l’instrumentation sensible au rayonnement solaire, et d’amorcer les actuateurs chargés de modifier l’orientation des panneaux solaire vers la bonne direction du soleil [3] [12]. III.5.1.3 Le senseur solaire digital Le senseur solaire numérique repose sur l’analyse de l’image du soleil par des détecteurs disposés au foyer optique du système de visé, il est généralement constitué de deux parties, l’unité de mesure, comprend principalement une tête optique avec une barrette ou matrice CCD (charge coupled device), et l’unité de traitement qui assure le calcul de la direction du soleil par rapport a l’axe optique de la tête. La lumière du soleil entre par un filtre optique monté sur une fente minutieuse à une certaine distance au plan actif qui contient une matrice CCD afin de produire une tache de maximum d’intensité (Figure III.11) [1] [26]. Figure III.11 Senseur solaire digital 43 Chapitre III MODELES DE REFERENCE ET SENSEURS Le prélèvement des charges accumulées avec un calcul barycentrique des pixels éclairés permet de déterminer le centre du soleil, et de restituer le vecteur unitaire qui pointe vers le soleil. Figure III.12 Vue orthogonale du plan actif Le vecteur solaire unitaire est : r us = ⎡C x ⎤ ⎢C ⎥ y⎥ 2 2 2 ⎢ Cx + Cy + h ⎢ h ⎥ ⎣ ⎦ 1 (III.27) C x : la projection du centre du soleil sur l’axe x de la matrice CCD ; C y : la projection du centre du soleil sur l’axe y de la matrice CCD ; h : la distance entre le plan actif et le filtre ; III.5.2 Les senseurs magnétiques Les magnétomètres sont constitues principalement de bobines conductrices qui génèrent un courant lorsqu’elles sont placées dans un champ magnétique. A ce titre, ce sont donc des capteurs très fiables, consommant peu et peu encombrants. Il existe deux types principaux de magnétomètres, les magnétomètres a induction (search coil magnetometers) qui délivre la dérivée temporelle de la projection du champ selon l’axe de la bobine et les magnétomètres a saturation de flux (fluxgate magnetometer) qui délivrent directement la projection du champ magnétique et non sa dérivée selon l’axe du capteur. Ces capteurs sont mono-axiaux. En associant trois magnétomètres disposés sur le satellite suivant trois axes orthogonaux, il est alors possible de mesurer le vecteur du champ magnétique instantané tout autour de la terre. 44 Chapitre III MODELES DE REFERENCE ET SENSEURS III.5.2.1 Magnétomètre a induction Placé dans un flux magnétique variable ϕ B , une bobine conductrice a N tours, de section S , entourant un noyau ferromagnétique de perméabilité µ , ressent une force électromotrice E , ce qui se traduit par l’apparition d’une différence de potentiel V a ses bornes. La mesure de cette tension permet de restituer la variation temporelle du module du champ magnétique terrestre B au point local de l’orbite selon l’axe de la bobine : [1] [3] [12] V = ∫ E ⋅ dl = − dϕ B ⎛ dB ⎞ = −S ⋅ N ⋅ µ⎜ ⎟ dt ⎝ dt ⎠ (III.28) B : le champ magnétique terrestre le long l’axe de la bobine ; Les magnétomètres basés sur le principe ci-dessus sont employés principalement sur les satellites spinnés pour fournir une information précise sur la phase de rotation. III.5.2.2 Magnétomètre fluxgate Un schéma de principe est présenté sur la figure III.13. L’enroulement primaire dont les bornes sont P1 et P2 est parcouru par une tension alternative, ce qui a pour effet d’amener alternativement à un état de saturation magnétique les deux barres SC1 et SC2. La présence d’un champ magnétique extérieur peut alors être observée au travers de la deuxième harmonique du courant induit dans la bobine secondaire, dont les pôles sont S1 et S2. Figure III.13 Magnétomètre fluxgate double corps Pour plus de détails sur le principe de fonctionnement de ce magnétomètre, se référer aux références [1] [3] [7] [12]. 45 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN IV.1 INTRODUCTION Dans ce chapitre, nous décrivons d’abord la théorie de filtre de Kalman étendu, ensuite nous développons un algorithme qui nous permet d’estimer l’attitude et la vitesse angulaire d’un satellite à l’aide des mesures effectuées par un magnétomètre et un senseur solaire. En 1960 Rudolph Emil Kalman a publié son fameux article décrivant une solution récursive du problème de filtrage linéaire en temps discret, et depuis lors, beaucoup de recherches ont été consacrés au filtre de Kalman pour le rendre principalement applicable aux systèmes non linéaire. Le principe du filtre de Kalman consiste à modéliser le système étudié comme un système dynamique linéaire affecté par des bruits, les capteurs du système sont également soumis à des bruits. En disposant d’une information statistique sur la nature du bruit (moyenne et variance), il est possible de construire une estimation optimale de l’état du système bien que les capteurs soient inexacts. C’est l’idée fondamentale de la théorie d’estimation [9] [26]. Le filtre de Kalman peut être définie comme un algorithme d’estimation récursif c.-à-d. qu’il permet d’estimer l’état actuel d’un système a partir de l’état estimé précédent et de la mesure actuelle, en disposant naturellement d’une information a priori sur l’évolution de cet état (modèle) ainsi que des information statistiques sur la nature du bruit affectant notre système et notre mesure [15]. L’estimation de l’état d’un système par le filtre de Kalman est réalisée à travers deux étapes : l’estimation a priori (la prédiction) et l’estimation a posteriori (la correction). Les paramètres du système sont estimés premièrement à partir des valeurs de l’étape précédente et ensuite ils sont corrigés par des mesures dans l’étape de correction. Les deux étapes tournent d’une façon récursive après une étape d’initialisation [26]. Il est à noter que le filtre de Kalman a été développé a l’origine pour le système linéaire et il n’est donc pas applicable dans les situations où le modèle du système ou le modèle de la mesure ou bien les deux sont non-linéaires. Ainsi, le problème principal dans ces cas est de linéariser d'abord le modèle en utilisant la série de Taylor, et puis d'appliquer le filtre standard de Kalman pour obtenir l'état du système. Quand la linéarisation se fait autour d’une trajectoire (estimée) qui est continuellement mise à jour avec les estimations d'état résultant des mesures, le filtre résultant s'appelle le filtre de Kalman Etendu. Le filtre de Kalman a la capacité de fusionner des signaux acquis a partir de différentes modalités de mesures. Cette caractéristique sera exploitée dans l’estimation d’attitude à partir de deux senseurs (capteur solaire, Magnétomètre). IV.2 LE FILTRE DE KALMAN ETENDU Le filtre de Kalman étendu (EKF) pour ‘Extended Kalman Filter’ a été développé par Stanley F. Schmidt [1970]. Il représente probablement l'approche la plus commune et la plus populaire pour traiter un système non linéaire. Son fonctionnement consiste simplement à linéariser tous les modèles non-linéaires de sorte que le filtre linéaire traditionnel de Kalman puisse être appliqué. L'EKF est devenu une approche standard pour un certain nombre d'applications d'estimation non linéaire [26]. Dans le filtre de Kalman étendu, la linéarisation a lieu autour de la trajectoire estimée du filtre plutôt que de la trajectoire nominale pré-calculée. Ceci signifie que les dérivés partielles sont évaluées le long de la trajectoire qui a été mise à jour avec les estimations du filtre; ce qui 46 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN dépend des mesures. Ainsi, le gain du filtre dépendra de la séquence d'échantillons de mesure et ne sera pas prédéterminé par les prévisions du modèle du processus. Le système d’équations utilisé dans le filtre de Kalman repose sur la définition de deux modèles que sont le processus et la mesure (les modèles sont la représentation d’états d’un système dynamique). Le modèle du processus qui décrit l’évolution d’un système dynamique non linéaire en temps continue est défini par l’équation non linéaire suivante : [9] x& = f (x , u , t ) + w (IV.1) Où, x ∈ ℜ n , est le vecteur d’état du système à l’instant t. u ∈ ℜ m , est le vecteur de commande (l’entrée du système) à l’instant t. w ∈ ℜ n , le vecteur de bruit de processus. f , une fonction non linéaire. Le modèle de mesure décrit l’information fournie par le ou les capteurs en une équation liant les paramètres de l’état, de la mesure et du bruit. L’équation de mesure ou d’observation en temps discret est donnée par : [9] z k = h (x k ) + v k (IV.2) Où, z k ∈ ℜ p , le vecteur de mesure à l’instant k ; v k ∈ ℜ p , le vecteur de bruit de mesure ; h , une fonction non linéaire ; Lors de l’utilisation de ce filtre, l’hypothèse est faite que les bruits d’état w et de mesure v k sont des variables aléatoires dont les distributions gaussiennes sont connues a priori (doivent être estimées à l’avance), indépendantes, blanches et indépendantes de l’état initial du système. Cette indépendance des bruits permet de simplifier le formalisme des équations d’évolution et d’observation, donc : ⎧Q , i = j E w wT = ⎨ ij ⎩ 0 i≠ j [ ] ⎧R , i = j E v k v Tk = ⎨ i j ⎩ 0 i≠ j [ ] [ ] E w v Tk = 0, ∀ i, ∀ j (IV.3) (IV.4) (IV.5) Où, i, j sont les indices des composantes des vecteurs w et v k . Q et R k sont les matrices de covariances de processus et des mesures respectivement. La détermination de la covariance du bruit du système est généralement plus difficile que celle de la mesure, parce que l’observation directe de l’état du système est impossible. L'approximation de Taylor de f est faite autour de l'estimation à l'instant précédent x̂ k −1 . 47 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN Fk = ∂f ∂x (IV.6) x = x̂ k −1 La matrice de transition du filtre de Kalman est donnée par Φ k ≈ I n×n + Fk ⋅ ∆T (IV.7) ∆T = t k − t k −1 (IV.8) I n×n , la matrice d’identité de dimension (n × n ) ; Cette matrice de transition sera utilisée pour la propagation de la matrice de covariance, par contre la propagation de l’état prédit se fait directement par l’équation (IV.1) sans bruit. L'approximation de Taylor de h est faite autour de la valeur prédite à l’instant actuel k. Hk = ∂h ∂x (IV.9) x =~ xk Les étapes constituant le filtre de Kalman étendu dans un cadre non linéaire sont : IV.2.1 Prédiction temporelle Cette étape permet la prédiction de l’état et de sa précision à l’instant k à partir de l’état estimé à l’instant k-1 et du modèle d’évolution du système. On obtient donc l’état prédit x̂ −k avec sa matrice de covariances associée P̂k− : x̂ −k = x̂ k −1 + k ∫ f (x, u, t )dt (IV.10) k −1 P̂k− = Φ k P̂k −1Φ Tk + Q k (IV.11) IV.2.2 La correction Une fois la mesure z k disponible, l’état prédit peut alors être corrigé par l’innovation pondérée par le gain du filtre K k . On en déduit alors l’estimation de l’état x̂ k avec sa matrice de covariances associée P̂k . ( ) (IV.12) x̂ k = x̂ k− + K k z k − h x̂ −k ( )) (IV.13) P̂k = (I − K k H k )P̂k− (IV.14) K k = P̂k− H Tk H k P̂k− H Tk + R k ( (z k ( )) − h x̂ −k , s’appelle l’innovation. 48 −1 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN Ces deux étapes tournent d’une façon récursive après une étape d’initialisation, la Figure IV.1 représente la boucle du filtre de Kalman qui montre les différentes étapes de l’algorithme d’estimation des paramètres du système. Figure IV.1 La boucle du filtre de Kalman étendu La détermination de la matrice de covariance du bruit du système est donnée par la relation suivante : [9] [10] [ Qk = E w k w k +1 k +1 T k ] = ∫ ∫ Φ (t k k +1 [ ] , u ) E w (u ) w T (v ) Φ T (t k +1 , v ) du dv k La matrice R k est définie par les caractéristiques du capteur utilisé. 49 (IV.15) Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN IV.3 MODELISATION MATHEMATIQUE POUR L’ESTIMATION D’ATTITUDE D’UN SATELLITE –VERSION ANGLES D’EULER Dans le développement qui suit, nous allons utiliser le filtre de Kalman étendu pour estimer l’orientation d’un satellite par rapport au repère orbital local. On dispose pour cela de mesures fournies au moyen de senseurs d’attitude fixés sur le satellite (magnétomètre et capteur solaire), ces mesures sont liées à l’attitude du satellite. L’attitude est estimée en comparant les grandeurs mesurées (observations) avec les valeurs de référence obtenues à partir des modèles (chapitre III). Le filtre de Kalman étendu est très utilisé a bord des satellites pour deux raison : d’une part il permet de maintenir une connaissance optimale et permanente de l’attitude du satellite et d’autre part, s’agissant d’un algorithme récursif, la quantité d’informations qui doit être stockée et traitée est relativement limitée [1]. La dimension du vecteur d'état à estimer est 6, à savoir : [10] [ x = ϕ θ ψ ωx ωy ωz ] (IV.16) IV.3.1 Modèle de processus ϕ& = ω x cos ψ − ω y sin ψ (IV.17) θ& = (ω x sin ψ + ω y cos ψ )sec ϕ + ω 0 (IV.18) & = ω z + (ω x sin ψ + ω y cos ψ ) tan ϕ ψ (IV.19) &x = ω &y = ω &z = ω Où N = Nx [ Ny ( ) Nx − k 3ω 02 a 23 a 33 − ω y ω z + w x It Ny It + k (3ω02 a 13 a 33 − ω x ω z ) + w y Nz + wz Iz (IV.20) (IV.21) (IV.22) ] t N z = est le couple introduit par le magnéto-coupleur, en absence de contrôle ce couple est nul ; Iz It a ij : les éléments de la matrice de transformation ; k = 1− [ w = wx wy ] t (IV.23) w z =est le bruit du système (supposé blanc gaussien) de moyenne nulle ; 50 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN IV.3.2 La matrice de transition La matrice de transition est donnée par : ( Φ ≈ I 6×6 ⎡ ∂ ϕ& ⎢ ∂ (ϕ +⎢ &x ⎢ ∂ (ω ⎢ ⎣ ∂ (ϕ ) ( θ& ψ& ∂ ϕ& θ ψ) ∂ (ω x &y ω & z ) ∂ (ω &x ω θ ψ) ⎡F Φ ≈ I 6×6 + ⎢ 11 ⎣F21 ∂ (ω x ) & ⎤ θ& ψ ⎥ ω y ω z )⎥ ∆t &y ω & z )⎥ ω ⎥ ω y ω z )⎦ F12 ⎤ ∆t F22 ⎥⎦ (IV.24) (IV.25) Où, ⎡ 0 0 ⎢ F11 = ⎢(ω x sin ψ + ω y cos ψ ) tan ϕ sec ϕ 0 ⎢ (ω x sin ψ + ω y cos ψ )sec 2 ϕ 0 ⎣ − ω x sin ψ − ω y cos ψ ⎤ (ω x cos ψ − ω y sin ψ )sec ϕ⎥⎥ (ω x cos ψ − ω y sin ψ )tan ϕ⎥⎦ − sin ψ 0⎤ ⎡ cos ψ ⎢ F12 = ⎢sin ψ sec ϕ cos ψ sec ϕ 0⎥⎥ ⎢⎣sin ψ tan ϕ cos ψ tan ϕ 1⎥⎦ , 33 ⎡− 3kω02 ∆23 1 ⎢ ,13 F21 = ⎢ 3kω02 ∆33 1 ⎢ 0 ⎣ Où, ,13 3kω 02 ∆33 1 0 kω Z ⎡ 0 F22 = ⎢⎢− kω Z ⎢⎣ 0 ∆ijn,kl = − 3kω02 ∆232,33 0 0 ∂a ij ∂η n (η1 = ϕ, (IV.27) − 3kω 02 ∆233,33 ⎤ ,13 ⎥ 3kω02 ∆33 1 ⎥ ⎥ 0 ⎦ kω y ⎤ − kω x ⎥⎥ 0 ⎥⎦ a kl + (IV.26) (IV.28) (IV.29) ∂a kl a ij ∂η n (IV.30) η 2 = θ, η 3 = ψ ) 51 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN IV.3.3 L’équation d’observation pour le magnétomètre La mesure du magnétomètre dans le repère satellite est donnée par : [10] [15] B s = M sol B ol + n B (IV.31) B s : le vecteur du champ magnétique mesuré dans le repère satellite ; B ol : le vecteur du champ magnétique dans le repère orbital local ; M sol : la matrice de passage du repère orbital local vers le repère satellite ; n B : le bruit de mesure du magnétomètre ; La matrice d’observation H du magnétomètre est donnée selon la relation : ⎡ ∂B s Hm = ⎢ ⎢⎣ ∂ (ϕ θ ψ ) ⎡ ∂M sol Hm = ⎢ B ol ∂ ϕ ⎣ ∂B s ∂ (ω x ω y ∂M sol B ol ∂θ ⎤ ⎥ ω z )⎥⎦ ⎤ 0 3×3 ⎥ ⎦ ∂M sol B ol ∂ψ (IV.32) IV.3.4 L’équation d’observation pour le senseur solaire Le vecteur solaire normalisé qui caractérise l’élévation et l’azimut du soleil est donné dan le repère satellite par : [10] [15] Ss = M solS ol + n S (IV.33) Ss : le vecteur solaire mesuré dans le repère satellite ; Sol : le vecteur solaire dans le repère orbital local ; M sol : la matrice de passage du repère orbital local vers le repère satellite ; n S : le bruit de mesure du capteur solaire ; La matrice d’observation H du capteur solaire est donnée selon la relation : ⎡ ∂Ss Hs = ⎢ ⎢⎣ ∂ (ϕ θ ψ ) ⎡ ∂M sol Hs = ⎢ S ol ∂ ϕ ⎣ ∂ (ω x ∂M sol S ol ∂θ ∂Ss ωy ⎤ ⎥ ω z )⎥⎦ ∂M sol S ol ∂ψ ⎤ 0 3×3 ⎥ ⎦ (IV.34) Où ⎡sψcφsθ − sψsφ sψcφcθ ⎤ ∂M sol ⎢ = ⎢cψcφsθ − cψsφ cψcφcθ⎥⎥ ∂ϕ ⎢⎣ − sφsθ − cφ − sφcθ ⎥⎦ 52 (IV.35) Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN ⎡− cψsθ + sψsφcθ 0 − cψcθ − sψsφsθ⎤ ∂M sol ⎢ = ⎢ sψsθ + cψsφcθ 0 sψcθ − cψsφsθ ⎥⎥ ∂θ ⎥⎦ ⎢⎣ cφcθ 0 − cφsθ (IV.36) ⎡− sψcθ + cψsφsθ cψcφ sψsθ + cψsφcθ⎤ ∂M sol ⎢ = ⎢ − cψcθ − sψsφsθ − sψcφ cψsθ − sψsφcθ⎥⎥ ∂ψ ⎥⎦ ⎢⎣ 0 0 0 (IV.37) IV.3.5 Matrices de bruit de processus et de mesure La matrice de covariance du bruit de processus peut être dérivée en utilisant l’équation suivante : [9] [10] [ k +1 k +1 ] ∫ ∫ Φ (∆t , u ) E [w (u ) w Q k = E w k w Tk = k T (v )] Φ T (∆t , v ) du dv k ⎡σ 2x (u − v ) ⎤ 0 0 ⎢ ⎥ T 2 E w (u ) w (v ) = ⎢ 0 σ y (u − v ) 0 ⎥ 2 ⎢ 0 0 σ z (u − v )⎥⎦ ⎣ [ (IV.38) ] (IV.39) On remplace (IV.25) et (IV.39) dans (IV.38) on obtient : Q = Q1 ⋅ ∆t + Q 2 (∆t )2 2 ⎡0 Q1 = ⎢ 3×3 ⎣0 3×3 ⎡0 Q 2 = ⎢ 3×3 ⎣S ⋅ F12′ 3 (IV.40) 0 3×3 ⎤ S ⎥⎦ (IV.41) F12 ⋅ S ⎤ ′ + F22 ⋅ S⎥⎦ S ⋅ F22 (IV.42) ⎡ F ⋅ S ⋅ F12′ Q 3 = ⎢ 12 ⎣F22 ⋅ S ⋅ F12′ ⎡σ 2x ⎢ S=⎢ 0 ⎢0 ⎣ + Q3 (∆t )3 ′ ⎤ F12 ⋅ S ⋅ F22 ′ ⎥⎦ F22 ⋅ S ⋅ F22 0 σ 2y 0 0⎤ ⎥ 0⎥ σ 2z ⎥⎦ 53 (IV.43) (IV.44) Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN La matrice du bruit de mesure est donnée par : [10] 0 0 ⎤ ⎡ var(n x ) ⎢ R=⎢ 0 var(n y ) 0 ⎥⎥ ⎢⎣ 0 0 var(n z )⎥⎦ (IV.45) IV.4 SIMULATIONS ET RESULTATS Dans toutes les simulations, il a été fait usage des données suivantes : Tableau IV.1: Attitude initiale de simulateur d'attitude. (deg ) Angle initiale du roulis ϕ (deg ) Angle initiale du tangage θ (deg ) Angle initiale du lacet ψ Vitesse angulaire initiale de ω x (deg sec ) Vitesse angulaire initiale de ω y (deg sec ) 10.0 -10.0 5.0 0.0 -0.06 Vitesse angulaire initiale de ω z (deg sec ) 0.0 Tableau IV.2: Attitude initiale du filtre d'attitude. (deg ) Angle estimé initiale du roulis ϕ (deg ) Angle estimé initiale du tangage θ (deg ) Angle estimé initiale du lacet ψ Vitesse angulaire estimée initiale de ω x (deg sec ) Vitesse angulaire estimée initiale de ω y (deg sec ) 60.0 -60.0 35.0 0.0 -0.06 Vitesse angulaire estimée initiale de ω z (deg sec ) 0.0 Tableau IV.3: Matrice de covariance initiale P de l’attitude et de la vitesse angulaire de l'Attitude. (deg )2 (deg )2 (deg )2 Covariance initiale de ϕ Covariance initiale de θ Covariance initiale de ψ (deg (deg (deg Covariance initiale de la vitesse angulaire ω x Covariance initiale de la vitesse angulaire ω y Covariance initiale de la vitesse angulaire ω z 54 sec ) 2 sec ) 2 sec ) 2 (10)2 (10)2 (10)2 (0.01)2 (0.01)2 (0.01)2 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN Tableau IV.4: Matrice de covariance du bruit du processus Q de l’attitude et de sa vitesse angulaire. Covariance du bruit de ϕ (deg )2 (10)−5 Covariance du bruit de θ (deg )2 (10)−5 Covariance du bruit de ψ (deg )2 (10)−5 Covariance du bruit de la vitesse angulaire ω x (deg sec ) Covariance du bruit de la vitesse angulaire ω y (deg sec ) 2 (10)−3 Covariance du bruit de la vitesse angulaire ω z (deg sec ) 2 (10)−3 2 (10)−3 Tableau IV.5: Matrice de covariance des observations R. Le magnétomètre Capteur solaire (µTesla )2 (deg )2 (0.3)2 (0.1)2 IV.4.1 Simulations dynamiques L’erreur de l’attitude initiale est de 50 degrés pour le roulis, -50 degrés pour le tangage et 30 degrés pour le lacet. Les figures IV.2, IV.3 et IV.4 présentent l'attitude simulée (vraie) et les performances de l’estimateur d’attitude version angles d’Euler. Les figures (IV.10, IV.11, IV.12) et (IV.13, IV.14, IV.15) présentent l'erreur d’estimation de l'attitude, et de la vitesse angulaire de l'attitude. Il est clair que les erreurs d'attitude (résiduelles) convergent rapidement vers zéro. La figure IV.16 et IV.17 montre les mesures du magnétomètre et du capteur solaire respectivement. 55 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN 60 Roulis simulé Roulis estimé 40 Roulis [deg] 20 0 -20 -40 -60 0 0.1 0.2 0.3 Temps [orbite] 0.4 0.5 0.6 Figure IV.2 Convergence du roulis 60 Tangage simulé Tangage estimé 40 Tangage [deg] 20 0 -20 -40 -60 0 0.1 0.2 0.3 Temps [orbite] 0.4 Figure IV.3 Convergence du tangage 56 0.5 0.6 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN 40 Lacet simulé Lacet estimé 30 20 Lacet [deg] 10 0 -10 -20 -30 -40 0 0.1 0.2 0.3 Temps [orbite] 0.4 0.5 0.6 Figure IV.4 Convergence du lacet 50 Bx By Bz Mesures du magnétomètre [micro-Tesla] 40 30 20 10 0 -10 -20 -30 -40 -50 0 0.1 0.2 0.3 Temps [orbite] 0.4 Figure IV.5 Mesures du magnétomètre 57 0.5 0.6 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN 0.8 Sx Sy Sz Mesures normalisés du capteur solaire 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 0 0.1 0.2 0.3 Temps [orbite] 0.4 0.5 0.6 Figure IV.6 Mesures du capteur solaire Wx simulé Wx estimé 0.15 Vitesse angulaire Wx [deg/sec] 0.1 0.05 0 -0.05 -0.1 -0.15 0 0.1 0.2 0.3 Temps [orbite] 0.4 Figure IV.7 Convergence de Wx 58 0.5 0.6 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN 0.08 Wy simulé Wy estimé Vitesse angulaire Wy [deg/sec] 0.06 0.04 0.02 0 -0.02 -0.04 -0.06 -0.08 0 0.1 0.2 0.3 Temps [orbite] 0.4 0.5 0.6 Figure IV.8 Convergence de Wy 0.06 Wz simulé Wz estimé Vitesse angulaire Wz [deg/sec] 0.04 0.02 0 -0.02 -0.04 -0.06 0 0.1 0.2 0.3 Temps [orbite] 0.4 Figure IV.9 Convergence de Wz 59 0.5 0.6 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN 0.6 Erreur du roulis [deg] 0.4 0.2 0 -0.2 -0.4 -0.6 0 0.5 1 1.5 2 2.5 3 Temps [orbite] 3.5 4 4.5 5 4.5 5 Figure IV.10 Erreurs d’estimations du roulis 0.6 Erreur du tangage [deg] 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 0 0.5 1 1.5 2 2.5 3 Temps [orbite] 3.5 4 Figure IV.11 Erreur d’estimation du tangage 60 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN 2.5 2 1.5 Erreur du lacet [deg] 1 0.5 0 -0.5 -1 -1.5 -2 -2.5 0 0.5 1 1.5 2 2.5 3 Temps [orbite] 3.5 4 4.5 5 4 4.5 5 Figure IV.12 Erreur d’estimation du lacet -3 x 10 Erreur de la vitesse angulaire Wx [deg/sec] 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 0 0.5 1 1.5 2 2.5 3 Temps [orbite] 3.5 Figure IV.13 Erreur d’estimation de Wx 61 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN -3 x 10 1 Erreur de la vitesse angulaire Wy [deg/sec] 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 0.5 1 1.5 2 2.5 3 Temps [orbite] 3.5 4 4.5 5 4 4.5 5 Figure IV.14 Erreur d’estimation de Wy -3 x 10 Erreur de la vitesse angulaire Wz [deg/sec] 1 0.5 0 -0.5 -1 0 0.5 1 1.5 2 2.5 3 Temps [orbite] 3.5 Figure IV.15 Erreur d’estimation de Wz 62 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN 50 Bx By Bz Mesures du magnétomètre [micro-Tesla] 40 30 20 10 0 -10 -20 -30 -40 -50 0 0.2 0.4 0.6 0.8 1 1.2 Temps [orbite] 1.4 1.6 1.8 2 Figure IV.16 Mesures du magnétomètre 0.8 Sx Sy Sz Mesures normalisés du capteur solaire 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 0 0.2 0.4 0.6 0.8 1 1.2 Temps [orbite] 1.4 Figure IV.17 Mesure du capteur solaire 63 1.6 1.8 2 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN Tableau IV.6: Erreur d’estimation de l’attitude et sa vitesse angulaire. ϕ Tangage θ Lacet ψ Roulis Vitesse angulaire de ω x Vitesse angulaire de ω y Vitesse angulaire de ω z Angles Vitesse angulaire (deg ) (deg ) (deg ) (deg sec) (deg sec) (deg sec) (deg ) (deg sec) Moyenne quadratique Mesures du Magnétomètre 0.184 Moyenne quadratique Mesures Hybrides 0.02 0.336 0.012 0.473 0.01 -4 9.914*10-5 6.662*10-4 4.386*10-5 3.237*10-4 4.569*10-5 Amplitude de l’erreur 0.609 Amplitude de l’erreur 0.025 10.506*10-4 1.176*10-4 7.449*10 Suite aux simulations ci-dessus, on peut avancer les conclusions suivantes : Les mesures proviennent du magnétomètre et du capteur solaire : La moyenne quadratique est de 0.025 degré pour l’estimation de l’erreur d’attitude et de 1.176*10-4 degré/seconde pour l’estimation de la vitesse angulaire de l'attitude. Les mesures proviennent uniquement du magnétomètre : La moyenne quadratique est de 0.609 degré pour l’estimation de l’erreur d’attitude, et de 10.506*10-4 degré/seconde pour l’estimation de la vitesse angulaire de l'attitude. Les figures IV.2, IV.3 et IV.4 illustrent la convergence du nouveau filtre de Kalman étendu. Au bout de 40 minutes (0.4 orbite) le filtre a convergé. L’erreur quadratique moyenne est de 0.02 degré pour le roulis et de 0.012 degré pour le tangage. IV.4.2 Simulations statiques Pour la simulation statique, on a appliqué la méthode de Monte Carlo pour 10000 itérations afin d'analyser les performances de la convergence du nouveau model du filtre de Kalman étendu pour les angles d'Euler. Pour chaque itération de Monte Carlo, les angles d'Euler ainsi que les vitesses angulaires correspondantes sont pris aléatoirement de l'espace des angles d'Euler 2-1-3. L'attitude initiale est prise aléatoirement d'une population uniforme entre ± 180 o , sauf l’angle de roulis a été limité a ± 80 o pour évité la singularité de la séquence 2-1-3 à ϕ = ±90 o . Les vitesses angulaires correspondantes sont prises aléatoirement d'une population uniforme entre ± 180 o sec . Une fois les angles d'Euler et leurs vitesses angulaires correspondantes ont été pris, les mesures du magnétomètre et du capteur solaires correspondants sont générées. Les caractéristiques globales de la convergence sont très bonnes; la convergence est rapide et assuré. L'algorithme n'a jamais divergé au cours des 10000 itérations de Monte Carlo. Les figures IV.24 et IV.25 présentent l'histogramme de la moyenne quadratique des erreurs de l'attitude et les vitesses angulaires correspondantes pour 10000 itérations de Monte Carlo. La moyenne quadratique des erreurs de l'attitude et les vitesses angulaires correspondantes ont été calculées pour une orbite après 10 minutes de convergence du filtre. 64 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN 1400 1200 nombre de simulations 1000 800 600 400 200 0 0.4 0.6 0.8 1 1.2 1.4 RMS du roulis (deg) 1.6 1.8 2 -3 x 10 Figure IV.18 Moyenne quadratique de l’erreur du roulis 1400 1200 nombre de simulations 1000 800 600 400 200 0 0.4 0.6 0.8 1 1.2 1.4 RMS du tangage (deg) 1.6 1.8 Figure IV.19 Moyenne quadratique de l’erreur du tangage 65 2 -3 x 10 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN 1200 nombre de simulations 1000 800 600 400 200 0 1 1.5 2 2.5 RMS du lacet (deg) 3 3.5 4 -3 x 10 Figure IV.20 Moyenne quadratique de l’erreur du lacet 1400 1200 nombre de simulations 1000 800 600 400 200 0 1 1.5 2 2.5 3 3.5 RMS de Wx (deg/s) 4 4.5 Figure IV.21 Moyenne quadratique de l’erreur de Wx 66 5 -6 x 10 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN 1400 1200 nombre de simulations 1000 800 600 400 200 0 0.5 1 1.5 2 2.5 RMS de Wy (deg/s) 3 3.5 -6 x 10 Figure IV.22 Moyenne quadratique de l’erreur de Wy 2500 nombre de simulations 2000 1500 1000 500 0 0.5 1 1.5 2 2.5 3 RMS de Wz (deg/s) 3.5 4 Figure IV.23 Moyenne quadratique de l’erreur de Wz 67 4.5 -6 x 10 Chapitre IV ESTIMATION D’ATTITUDE PAR LE FILTRE DE KALMAN 1400 1200 nombre de simulations 1000 800 600 400 200 0 1 1.5 2 2.5 3 3.5 RMS de lattitude (deg) 4 4.5 5 -3 x 10 Figure IV.24 Moyenne quadratique de l’erreur d’attitude 1400 1200 nombre de simulations 1000 800 600 400 200 0 1.5 2 2.5 3 3.5 4 4.5 RMS de la vitesse angulaire (deg/s) 5 5.5 6 x 10 Figure IV.25 Moyenne quadratique de l’erreur de vitesse angulaire 68 -6 Conclusion CONCLUSION Le filtre de Kalman étendu a été utilisé avec deux vecteurs d'information pour déterminer l’attitude globale du satellite. Le premier vecteur est obtenu à partir d’un magnétomètre qui mesure le champ magnétique Terrestre et un modèle de champ géomagnétique d'IGRF est implémenté. Le deuxième vecteur est obtenu à partir d'un modèle de capteur solaire qui mesure les emplacements relatifs du soleil et de satellite à travers l'angle d'incidence de la lumière du soleil sur le capteur. L'algorithme d'estimation est un algorithme de prédiction/correction. Les équations du filtre de Kalman sont divisées en deux groupes: les équations de la mise à jour du temps et les équations de mise à jour de mesure. Les équations de mise à jour du temps projettent en avant l'état actuel et la covariance d'erreur afin d'obtenir l'estimation a priori pour la prochaine étape. Les équations de mise à jour de mesure sont responsables du contrôle par retour de l'information - c.-à-d. incorporer une nouvelle mesure dans l'estimation a priori pour obtenir une estimation a posteriori améliorée. Les équations de mise à jour de temps peuvent également être considérées comme équations de prédiction, alors que les équations de mise à jour de mesure peuvent être considérées comme équations de correction. Les simulations ont montré que le filtre de Kalman est robuste, il converge au bout de 0.4 orbite en mode libration. Ses performances dépendent de l'état initial du satellite et la déviation d'une trajectoire prédéfinie. L’utilisation du capteur solaire avec le magnétomètre a permis d’améliorer les erreurs d’estimation d'attitude comparées à celles obtenues par le magnétomètre uniquement. Les mesures géomagnétiques ont deux avantages principaux comparées aux autres méthodes : Les magnétomètres sont relativement peu coûteux et les mesures peuvent être faites pendent toute la durée orbitale. Un inconvénient, cependant, est la connaissance imprécise du vecteur local du champ géomagnétique modélisé dû aux perturbations pendant l'activité du soleil, par exemple. L’amélioration de ces erreurs sera possible si des mesures du capteur d'horizon terrestre ou d’un senseur stellaire sont aussi incluses. 69 BIBLIOGRAPHIE BIBLIOGRAPHIE [1] Techniques et Technologies des Véhicule Spatiaux, Système de Contrôle d’Attitude et d’Orbite Volume 4, Centre National d’Etude Spatiales (CNES). [2] Vladimir A. Chobotov, Spacecraft Attitude Dynamics and Control, Krieger Publishing Company, Malabar, Florida 2008. [3] James R. Wertz, Spacecraft Attitude Determination and Control, Kluwer Academic Publishers, Dordrecht – Boston – London, Sixth Edition 1990. [4] David A. Vallado, Fundamentals of Astrodynamics and Applications, Microcosm Press and Kluwer Academic Publishers, Segundo-Dordrecht, Second Edition 2004. [5] Michel Capdereou, Satellites Orbites et missions, Springer-Verlag, France 2003. [6] Howard D. Curtis, Orbital Mechanics for Engineering Students, Elsevier ButterworthHeinemann, First Edition 2005. [7] Wiley J. Larson and James R. Wertz, Space Mission Analysis and Design, Microcosm Press and Kluwer Academic Publishers, Segundo-Dordrecht, Third Edition 2005. [8] Marcel J. Sidi, Spacecraft Dynamics and Control, Press Syndicate of the University of Cambridge, First Edition 1997. [9] Dan Simon, Optimal State Estimation, John Wiley and Sons, Inc., Hoboken, New Jersey. [10] Yoshi Hashida, ADCS for Future UoSAT Standard Platform, Centre for Satellite Engineering Research, University of Surrey, Janvier 1997. [11] Aykut Kutlu, Design of Kalman Filter Based Attitude Determination Algorithms for a LEO Satellite, The Graduate School of Natural and Applied Sciences Middle East Technical University, Septembre 2008. [12] Ceren Kaplan, LEO Satellites: Attitude Determination and Control Components, The Graduate School of Natural and Applied Sciences Middle East Technical University, Avril 2006. [13] Christopher W. Dever, Vehicle Model-Based Filtering for Spacecraft Attitude Determination, Massachusetts Institute of Technology, Septembre 1998. [14] Kyle Clarke Volpe, Application of the Backward Smoothing Extended Kalman Filter to Attitude Estimation and Prediction using Radar Observations, Massachusetts Institute of Technology, Juin 2009. [15] Jan Rohde, Kalman filter for attitude determination of student satellite, Norwegian University of Science and Technology, Juillet 2007. [16] Karthik Ravandoor, Design and Simulation of Software Based Attitude Determination System for the Cubesat UWE-2, University of Wuerzburg, Décembre 2007. 70 BIBLIOGRAPHIE [17] Sajid Ghuffar, Design and Implementation of Attitude Determination Algorithm for the Cubesat UWE-3, University of Wuerzburg, Octobre 2009. [18] Kristian Svartveit, Attitude determination of the NCUBE satellite, Department of Engineering Cybernetics, Juin 2003. [19] Rouzbeh Amini, Patrick Faye, Kresten Kjeldgaard, Jakob Kjaer, YueLiu, Michael Villekjaer, Attitude Determination System for AAUSAT-II, Institute of Electronic Systems, Aalborg University, February 2nd - June 2nd, 2004. [20] Kristian Krogh and Elmo Schreder, Attitude Determination for AAU CubeSat, Institute of Electronic Systems, Aalborg University, 4th of September 2001 to 6th of June 2002. [21] Erick Jonathan Sturm II, Magnetic Attitude Estimation of a Tumbling Spacecraft, the Faculty of California Polytechnic State University San Luis Obispo, juillet 2005. [22] Stian Søndersrød Ose, Attitude determination for the Norwegian student satellite nCube, Norwegian University of Science and Technology, juin 2004. [23] Jens Gießelmann, Development of an Active Magnetic Attitude Determination and Control System for Picosatellites on highly inclined circular Low Earth Orbits, RMIT University, juin 2006. [24] Bo Ørsted, Claus Grøn, Rasmus Hviid Knudsen, Claus Nielsen, Kresten Kjær Sørensen, Dan Taagaard, Attitude Control System for AAUSAT-II, Institute of Electronic Systems, Aalborg University, February 2nd 2005 - May 30th 2005. [25] Felix R. Hoots and Ronald L. Roehrich, Models for Propagation of NORAD Element Sets, SPACETRACK REPORT NO. 3, Décembre 1988. [26] Iyad ABUHADROUS, Système embarqué temps réel de localisation et de modélisation 3D par fusion multi-capteur, Ecole des Mines de Paris, Janvier 2005. 71 Annexe A Description D’un Fichier TLE Annexe A Le format général d’un fichier TLE est donné par : 1 AAAAAB CCDDDEEE FFGGG.GGGGGGGG +.HHHHHHHH +IIIII-I +JJJJJ-J K LLLLM 2 AAAAA NNN.NNNN OOO.OOOO PPPPPPP QQQ.QQQQ RRR.RRRR SS.SSSSSSSSTTTTTM élément Signification 1 Numéro de ligne A Numéro NORAD B Classification U unclassified (non secret) et S pour secret C Désignation internationale (les deux derniers chiffres de l’année de lancement) D Désignation internationale (le numéro du lancement dans l’année) E Désignation internationale (la pièce du lancement) F L’époque (les deux derniers chiffres de l’année pour laquelle le TLE est défini) G Jour julien de l’année courante H Moitié de la dérivée première du moyen mouvement I Sixième de la dérivée seconde du moyen mouvement J Coefficient pseudo-balistique K Type d’éphéméride (SGP=1, SGP4=0 ou 2, SDP4=3, SGP8=4, SDP8=5) L Numéro du set d’éléments (incrémenté chaque fois qu’un set d’éléments est généré) M Checksum (la somme de toutes les valeurs numériques modulo 10) 2 Numéro de ligne N Inclinaison orbitale [deg ] O Ascension droite du nœud ascendant [deg ] P Excentricité Q Argument du périgée [deg ] R Anomalie moyenne [deg ] S Moyen mouvement [orbites jour ] T Nombre de révolutions effectuées par le satellite depuis sa mise en orbite 72 Annexe B Coefficients Du Modèle IGRF 2005 Annexe B Le tableau suivant illustre les coefficients de Gauss pour l’année 2005. n m g mn h mn n m g mn h mn 1 1 2 2 2 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 7 7 7 7 7 7 0 1 0 1 2 0 1 2 3 0 1 2 3 4 0 1 2 3 4 5 0 1 2 3 4 5 6 0 1 2 3 4 5 -29556.8 -1671.8 -2340.5 3047.0 1656.9 1335.7 -2305.3 1246.8 674.4 919.8 798.2 211.5 -379.5 100.2 -227.6 354.4 208.8 -136.6 -168.3 -14.1 72.9 69.6 76.6 -151.1 -15.0 14.7 -86.4 79.8 -74.4 -1.4 38.6 12.3 9.4 0.0 5080.0 0.0 -2594.9 -516.7 0.0 -200.4 269.3 -524.5 0.0 281.4 -225.8 145.7 -304.7 0.0 42.7 179.8 -123.0 -19.5 103.6 0.0 -20.2 54.7 63.7 -63.4 0.0 50.3 0.0 -61.4 -22.5 6.9 25.4 10.9 7 7 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 10 10 6 7 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 10 5.5 2.0 24.8 7.7 -11.4 -6.8 -18.0 10.0 9.4 -11.4 -5.0 5.6 9.8 3.6 -7.0 5.0 -10.8 -1.3 8.7 -6.7 -9.2 -2.2 -6.3 1.6 -2.5 -0.1 3.0 0.3 2.1 3.9 -0.1 -2.2 - -26.4 -4.8 0.0 11.2 -21.0 9.7 -19.8 16.1 7.7 -12.8 -0.1 0.0 -20.1 12.9 12.7 -6.7 -8.1 8.1 2.9 -7.9 5.9 0.0 2.4 0.2 4.4 4.7 -6.5 -1.0 -3.4 -0.9 -2.3 8.0 10 10 10 10 10 10 10 10 10 73 Annexe C Code source C et Matlab Annexe C Programme principal EKF.m clear;clc; % condition initiales du simulateur d'attitude angles_s=[10 -10 5]*pi/180; vitesses_s=[0*pi/180 -0.06*pi/180 0.*pi/180]; X=[angles_s vitesses_s]'; % condition initiales du filtre de kalman angles_e=[60 -60 35]*pi/180; vitesses_e=[0.*pi/180 -0.06*pi/180 0.*pi/180]; Xh=[angles_e vitesses_e]'; %%%%%%%%%%%%%%%%%%%%%%% % parametres du filtre Q=zeros(6,6); Ph=[(10*pi/180)^2*eye(3) zeros(3,3);zeros(3,3) (.01*pi/180)^2*eye(3)]; R=diag([.3^2,.3^2,.3^2,.05^2,.05^2,.05^2]); %%%%%%%%%%%%%%%%%%%%%%% n=2; TF=5*6000; T=10; t=zeros(1,1+TF/T); Yh=[Xh,zeros(6,TF/T)]; Y=[X,zeros(6,TF/T)]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% BNOISE=0.3*randn(3,1); SNOISE=0.1*randn(2,1); [B_ol,B_m,S_ol,S_m]=senseurs(0,X,BNOISE,SNOISE); champ_mag(:,1)=B_m; vecte_sol(:,1)=S_m; pas=1; while ((n-1)*T<=TF) %propagation d'etat reel X=rung_kutta(X,pas,T); %%%%%%%%%%%%%%%%%%%%%%%%% a=sin(X(2:3,:)); b=cos(X(2:3,:)); X(1,1)=asin(sin(X(1,1))); X(2:3,1)=atan2(a,b); %%%%%%%%%%%%%%%%%%%%%%%%% %propagation d'etat prédit Xp=rung_kutta(Xh,pas,T); %%%%%%%%%%%%%%%%%%%%%%%%% ap=sin(Xp(2:3,:)); bp=cos(Xp(2:3,:)); Xp(1,1)=asin(sin(Xp(1,1))); Xp(2:3,1)=atan2(ap,bp); %%%%%%%%%%%%%%%%%%%%%%%%% %matrice de transition 74 Annexe C Code source C et Matlab PHI=eye(6)+T*transition(Xh); %covariance prédite Q=process(T); Pp=PHI*Ph*PHI'+Q; %mesure BNOISE=0.3*randn(3,1); SNOISE=0.1*(pi/180)*randn(2,1); [B_ol,B_m,S_ol,S_m]=senseurs((n-1)*T,X,BNOISE,SNOISE); %matrice d'observation H=M_observation(Xp,B_ol,S_ol); %le gain de kalman K=Pp*H'*inv(H*Pp*H'+R); %innovation Bp=rotation(Xp)*B_ol; Sp=rotation(Xp)*S_ol; innovation=[B_m;S_m]-[Bp;Sp]; %estimation Xh=Xp+K*innovation; %%%%%%%%%%%%%%%%%%%%%%%%%% ah=sin(Xh(2:3,:)); bh=cos(Xh(2:3,:)); Xh(1,1)=asin(sin(Xh(1,1))); Xh(2:3,1)=atan2(ah,bh); %%%%%%%%%%%%%%%%%%%%%%%%%% Ph=(eye(6)-K*H)*Pp; %%%%%%%%%%%%%%%%%%%%%%%% Yh(:,n)=Xh; %Yh(1:3,n)=acos(ah); Y(:,n)=X; t(1,n)=(n-1)*T; champ_mag(:,n)=B_m; vecte_sol(:,n)=S_m; n=n+1; end La fonction rung_kutta.c #include "mex.h" #include <math.h> #define Wo 0.001047197551197 /**************************the computationnal routine*******************/ void DCM(double *X,double *Z) { Z[0]=sin(X[0])*sin(X[1])*sin(X[2])+cos(X[1])*cos(X[2]); //a11 Z[1]=sin(X[0])*sin(X[1])*cos(X[2])-sin(X[2])*cos(X[1]); //a21 Z[2]=sin(X[1])*cos(X[0]); //a31 Z[3]=sin(X[2])*cos(X[0]); //a12 Z[4]=cos(X[0])*cos(X[2]); //a22 75 Annexe C Code source C et Matlab Z[5]=-sin(X[0]); //a32 Z[6]=sin(X[0])*sin(X[2])*cos(X[1])-sin(X[1])*cos(X[2]); Z[7]=sin(X[1])*sin(X[2])+sin(X[0])*cos(X[1])*cos(X[2]); Z[8]=cos(X[0])*cos(X[1]); //a33 //a13 //a23 } double f(double *X,int l) { double Ix=158.0,Iy=158.0,Iz=5.0; double a13,a23,a33; /********************************************************/ a13=sin(X[0])*sin(X[2])*cos(X[1])-sin(X[1])*cos(X[2]); a23=sin(X[1])*sin(X[2])+sin(X[0])*cos(X[1])*cos(X[2]); a33=cos(X[0])*cos(X[1]); /********************************************************/ if(l==0)return (X[3]*cos(X[2])-X[4]*sin(X[2])); if(l==1)return ((X[3]*sin(X[2])+X[4]*cos(X[2]))/cos(X[0])+Wo); if(l==2)return (X[5]+(X[3]*sin(X[2])+X[4]*cos(X[2]))*tan(X[0])); if(l==3)return ((3*Wo*Wo*(Iz-Iy)*a23*a33-(Iz-Iy)*X[4]*X[5])/Ix); if(l==4)return ((3*Wo*Wo*(Ix-Iz)*a13*a33-(Ix-Iz)*X[3]*X[5])/Iy); if(l==5)return ((3*Wo*Wo*(Iy-Ix)*a23*a13-(Iy-Ix)*X[3]*X[4])/Iz); } void RK_4(double *S,double *Y,double H,double TF) { int i,k; double t1[6], t2[6], t3[6],k1[6], k2[6], k3[6], k4[6]; for(k=1;k<=TF/H;k++) { for (i=0;i<6;i++) t1[i]=Y[i]+0.5*(k1[i]=H*f(Y, i)); for (i=0;i<6;i++) t2[i]=Y[i]+0.5*(k2[i]=H*f(t1, i)); for (i=0;i<6;i++) t3[i]=Y[i]+ (k3[i]=H*f(t2, i)); for (i=0;i<6;i++) k4[i]= H*f(t3, i); for (i=0;i<6;i++) { Y[i]+=(k1[i]+2*k2[i]+2*k3[i]+k4[i])/6.0; } /*for(i=0;i<3;i++) { Y[i]=atan2(sin(Y[i]),cos(Y[i])); }*/ } for (i=0;i<6;i++) { S[i]=Y[i]; } } /****************************the gateway routine************************/ void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { /* declare double variables */ double step,tf,*CI,*py; CI = mxGetPr( prhs[0] ) ;/* conditions initiales */ 76 Annexe C Code source C et Matlab step = mxGetScalar( prhs[1] ) ;/*pas d’integration*/ tf = mxGetScalar( prhs[2] ) ;/* temps final*/ plhs[0] = mxCreateDoubleMatrix(6,1, mxREAL) ;/*la matrice de sortie*/ py = mxGetPr( plhs[0] ) ; RK_4(py,CI,step,tf); } La fonction transition.c #include "mex.h" #include <math.h> #define Wo 0.001047197551197 void tran(double X[6],double H[36]) { int i,j,l; double Ix=158.0,Iy=158.0,Iz=5.0; double a13,a23,a33; double x,y,z,Wx,Wy,Wz; double k,F[6][6]; /*********************/ k=1-Iz/Ix; /*********************/ x=X[0]; y=X[1]; z=X[2]; Wx=X[3]; Wy=X[4]; Wz=X[5]; /*********************/ a13=sin(X[0])*sin(X[2])*cos(X[1])-sin(X[1])*cos(X[2]); a23=sin(X[1])*sin(X[2])+sin(X[0])*cos(X[1])*cos(X[2]); a33=cos(X[0])*cos(X[1]); /********************/ F[0][0]=0; F[0][1]=0; F[0][2]=-Wx*sin(z)-Wy*cos(z); F[0][3]=cos(z); F[0][4]=-sin(z); F[0][5]=0; /********************/ F[1][0]=(Wx*sin(z)+Wy*cos(z))*tan(x)/cos(x); F[1][1]=0; F[1][2]=(Wx*cos(z)-Wy*sin(z))/cos(x); F[1][3]=sin(z)/cos(x); F[1][4]=cos(z)/cos(x); F[1][5]=0; /*******************/ F[2][0]=(Wx*sin(z)+Wy*cos(z))/(cos(x)*cos(x)); F[2][1]=0; F[2][2]=(Wx*cos(z)-Wy*sin(z))*tan(x); 77 Annexe C Code source C et Matlab F[2][3]=sin(z)*tan(x); F[2][4]=cos(z)*tan(x); F[2][5]=1; /*******************/ F[3][0]=-3*k*Wo*Wo*(cos(x)*cos(y)*cos(z)*a33+-sin(x)*cos(y)*a23); F[3][1]=-3*k*Wo*Wo*(sin(z)*cos(y)-sin(x)*sin(y)*cos(z)*a33+-sin(y)*cos(x)*a23); F[3][2]=-3*k*Wo*Wo*(sin(y)*cos(z)-sin(x)*sin(z)*cos(y)*a33+0*a23); F[3][3]=0; F[3][4]=k*Wz; F[3][5]=k*Wy; /*******************/ F[4][0]=3*k*Wo*Wo*(-sin(x)*cos(y)*a13+cos(x)*sin(z)*cos(y)*a33); F[4][1]=3*k*Wo*Wo*(-sin(y)*cos(x)*a13+-sin(x)*sin(y)*sin(z)-cos(y)*cos(z)*a33); F[4][2]=3*k*Wo*Wo*(0*a13+sin(y)*sin(z)+sin(x)*cos(y)*cos(z)*a33); F[4][3]=-k*Wz; F[4][4]=0; F[4][5]=-k*Wx; /******************/ F[5][0]=0; F[5][1]=0; F[5][2]=0; F[5][3]=0; F[5][4]=0; F[5][5]=0; for(i=0;i<=5;i++) { for(j=0;j<=5;j++) { l=i*6+j; H[l]=F[j][i]; } } } void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { double *pv,*FF; pv = mxGetPr( prhs[0] ) ;/* vecteur d’etat (angles et vitesse) */ plhs[0] = mxCreateDoubleMatrix(6,6, mxREAL) ;/*la matrice de transition*/ FF = mxGetPr( plhs[0] ) ; tran(pv,FF); } La fonction rotation.c #include "mex.h" #include <math.h> void MROT(double *XXX, double *H) { int i,j,l; double Z[3][3]; 78 Annexe C Code source C et Matlab Z[0][0]=sin(XXX[0])*sin(XXX[1])*sin(XXX[2])+cos(XXX[1])*cos(XXX[2]); /*/a11*/ Z[0][1]=sin(XXX[2])*cos(XXX[0]); /*/a12*/ Z[0][2]=sin(XXX[0])*sin(XXX[2])*cos(XXX[1])-sin(XXX[1])*cos(XXX[2]); /*/a13*/ Z[1][0]=sin(XXX[0])*sin(XXX[1])*cos(XXX[2])-sin(XXX[2])*cos(XXX[1]); /*/a21*/ Z[1][1]=cos(XXX[0])*cos(XXX[2]); /*/a22*/ Z[1][2]=sin(XXX[1])*sin(XXX[2])+sin(XXX[0])*cos(XXX[1])*cos(XXX[2]); /*/a23*/ Z[2][0]=sin(XXX[1])*cos(XXX[0]); /*/a31*/ Z[2][1]=-sin(XXX[0]); /*/a32*/ Z[2][2]=cos(XXX[0])*cos(XXX[1]); /*/a33*/ for(i=0;i<=2;i++) { for(j=0;j<=2;j++) { l=i*3+j; H[l]=Z[j][i]; } } } void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { double *CI,*py; CI = mxGetPr( prhs[0] ) ;/* les angles d’Euler */ plhs[0] = mxCreateDoubleMatrix(3,3, mxREAL) ;/*la matrice de sortie DCM*/ py = mxGetPr( plhs[0] ) ; MROT(CI, py); } Note: les fonctions écrites en C doivent être compilés en matlab en utilisant la commande ‘mex’ (générer fonction.dll) avant leurs utilisations. 79