Estimation d`Attitude Globale d`un Microsatellite à Basse Altitude par

publicité
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
Téléchargement