Vous êtes sur la page 1sur 13

J.

METGE

LAMUGUE Fanny Telecom 3A ISNC


MILON Laurent 18 Janvier 2011
ENSEIRB TP Systèmes de Drones J. Metge

On désigne par système de drone un véhicule ou robot terrestre, de surface, sous-marin ou


encore aérien et le système de mise en œuvre qui lui est associé. On parle ainsi de UAV
(Unmanned Aircraft Vehicule) et de plus en plus de UAS (Unmanned Aircraft System) dans
le cas particulier des drones aériens. Un drone est ainsi un système autonome, connecté à
d’autre systèmes tels que des relais tactiques (stations sols, satellites, autres aéronefs
pilotés,…). Pour un drone UAS, il existe de nombreux opérateurs et équipements mis en
service.

Figure 1 - Système de Drone UAS

L’un des points sensible des systèmes de drone aérien, c’est la localisation du vecteur
aérien et sa capacité à évoluer de façon autonome dans son environnement. Les UAV son
ainsi équipés de nombreux capteurs leur permettant de se géo-localiser et de déterminer
avec exactitude leur position dans l’espace. Parmi ceux-ci, on trouve les capteurs inertiels,
de type accéléromètres, gyromètres ou encore magnétomètres, permettant au système
d’estimer son orientation.
L’objectif de ce TP est d’estimer l’attitude (orientation dans l’espace) d’une centrale
inertielle « low-cost » à partir des mesures de ces différents équipements, et ce sous
certaines hypothèses concernant les accélérations subies par la centrale. Une attention
particulière sera portée aux problèmes de dérive temporelle, point critique de ce type
d’équipement de mesures.

I. Contexte
Tous les aéronefs équipés de fonction d’autopilotage embarquent également des capteurs
permettant d’estimer leur attitude (tangage, roulis, lacet) et éventuellement leur position. Le
biais des gyromètres entraine une lente dérive des angles estimés. Sous l’hypothèse de très
faibles accélérations, l’ajout des accéléromètres et des magnétomètres permet de borner
cette dérive. Ces différentes mesures étant liées non-linéairement aux paramètres à estimer,
l’utilisation d’un filtre de Kalman étendu (Extended Kalman Filter) [1] est proposée.

I.1 Repères de référence


Pour cette étude, deux repères couramment utilisés en aéronautique vont être introduits :
• Repère de navigation N. Repère local centré sur un point de la terre (ici la position de
la centrale inertielle) et ses axes, notés !! , !! et !! sont dirigés respectivement vers le
Nord, l'Est et vers le centre de la terre. Ce repère est souvent appelé repère NED (Nord
East Down). Pour faciliter sa visualisation, ce repère a été placé par rapport au repère
géocentrique sur la Fig.2a.

F. Lamugue & L. Milon 2


ENSEIRB TP Systèmes de Drones J. Metge

• Repère du mobile B. Repère lié à la structure de l'aéronef. Le passage du repère de


navigation au repère du mobile est repéré en aéronautique par les angles de Tait-Bryan
ou angles de Cardan (cf. Fig.2b) :
à le lacet (yaw) ψ, qui correspond à une rotation autour de !! ,
à le tangage (pitch) θ qui correspond à une rotation autour du nouvel axe y,
à le roulis (roll) φ qui correspond à une rotation autour du nouvel axe x.
Ce sont les angles φ, θ et ψ qui caractérisent l'orientation de la centrale dans l'espace (son
attitude), ce sont donc ces grandeurs que l'on va chercher à estimer.

ψ
λ θ ϕ
φ h

Figure 2 - Repères de références utilisés

I.2 La centrale inertielle


La centrale inertielle est composée de trois accéléromètres, mesurant les accélérations par
rapport au repère inertiel, et de trois gyroscopes mesurant les vitesses angulaires. Pour cette
étude, des enregistrements de courtes durées (quelques minutes) seront utilisés et le repère
de navigation sera considéré comme repère inertiel. Ces capteurs sont disposés de manière
à former un trièdre orienté selon les axes du repère du mobile B.
B
On ajoute parfois aux centrales inertielles un capteur magnétique trois axes
(magnétomètres). Ce capteur est suffisamment sensible pour mesurer le vecteur magné-
tique terrestre m. Il donne alors une information sur l'orientation de la centrale qui ne dérive
pas au cours du temps.
Hypothèses. Pour cette étude, il sera considérer que les accélérations subies par la
centrale sont faibles par rapport au vecteur gravité et, de moyenne nulle. Ainsi il est possible
de considérer que les accéléromètres donnent une mesure de l'accélération de la gravité g
bruité par le bruit des capteurs et les faibles accélérations subies par la centrale. Sous ces
conditions, les accéléromètres fournissent la mesure d'un second vecteur de référence g (en
complément du vecteur magnétique m) qui apporte une information sur l'orientation de la
centrale, qui ne dérive pas au cours du temps.
m
II. Mise en équation
II.1 Mesures inertielles
Dans le cadre de l’estimation d’attitude, les paramètres à estimer à chaque instant sont les
!" !" !!
angles aéronautiques φ, θ et ψ, ainsi que leurs dérivées ! = , != et ψ = . Ces
!" !" !"
!
paramètres forment le vecteur d'état ! = [!  !  ψ  !  !  ψ  ] . L'ensemble des mesures

F. Lamugue & L. Milon 3


ENSEIRB TP Systèmes de Drones J. Metge

disponibles sont regroupées dans le vecteur de mesure z = [Ax Ay Az Gx Gy Gz Mx My


Mz]⊤. Toutes ces mesures sont considérées bruitées par un bruit gaussien.
D'autre part, soit !! et !! , les vecteurs magnétiques et gravité exprimés dans le repère de
navigation N (ou le repère de la centrale lorsque φ = θ = ψ = 0). Soit R la matrice de rotation
permettant de passer d'un vecteur exprimé dans la base N au même vecteur exprimé dans
la base B. Ainsi le vecteur !!  exprimé dans la base de la centrale B vaut R(φ, θ, ψ)  ∙   !! .
Sous les hypothèses simplificatrices que les accéléromètres mesurent le vecteur gravité
bruité, nous pouvons relier les mesures accélérométriques et magnétiques au vecteur d'état
par les relations :
!! !!
!! !
= ! !, !, ! ∙ !! + ! [1]
!! !!

!! !!
!! = ! !, !, ! ∙ !! + !! [2]
!! !!

Les vitesse angulaires mesurées par les gyromètres autour des axes !! , !! et !! sont
reliées aux vitesse angulaire !, !  !"  ψ   via la matrice Q :
1 0 −!"#$
! !, ! = 0 !"#$ !"#$%&!' [3]
0 −!"#$ !"#$!"#%

Les mesures des gyromètres sont donc liées au vecteur d'état par la relation :
!! ! !!
!
!! = ! !, ! ∙ ! + !! [4]
!" ! !!
!!

II.2 Informations fournies


Le fichier measure.mat contient un enregistrement de la centrale inertielle effectué à la
fréquence !! = 100  !". L'ensemble des mesures est regroupé dans un vecteur !! taille 9×N.
Les mesures sont dans l'ordre suivant : !! : , ! = [Ax, Ay, Az, Gx, Gy, Gz, Mx, My, Mz]⊤.
L'enregistrement a été effectué en laboratoire, la centrale inertielle étant considérée fixe,
seul des mouvements de rotation ont été effectués. Ces dernières ont été réalisées dans
l'ordre suivant :
1. Position initiale. Φ ≃  θ ≃  0 et ψ ≃  −0.53rad
2. 3 mouvements sur le roll (φ) et retour à 0
3. 3 mouvements sur le pitch (θ) et retour à 0
4. 3 mouvements sur le yaw (ψ) et retour à la position initiale
5. Mouvement sur le pitch à environ 45° puis 3 mouvements selon le yaw (ψ) et retour
du pitch à 0.
Ces mesures brutes des capteurs ne sont pas à la bonne échelle (!!"#$%&'( ). Pour les
exploiter et les afficher dans une unité compréhensible, il est nécessaire de leur appliquer
une transformation linéaire en utilisant les neutres et les gains trouvés lors d'une étape de
calibration pour chaque capteur. Soit !! et !! les vecteurs regroupant les gains et neutres de
chaque capteurs. Les mesures mises à l'échelle ! sont données par la relation :
! = (!! − !! )!! [5]

F. Lamugue & L. Milon 4


ENSEIRB TP Systèmes de Drones J. Metge

Les vecteurs de neutres et de gains trouvés lors de la calibration sont :


43 2477
−412 2444
−737 2486
19 230
!! = −105        !"        !! = 230 ∙ 10!! [6][7]
615 230
−28 0.108
20 0.131
1 0.071
Les mesures obtenues sont alors en !. ! !! pour les accélérations, en !"#. ! !! pour les
vitesses angulaires et en ! (Tesla) pour la mesure du champ magnétique.
Les vecteurs de référence !! et !! à utiliser sont :
0.25354 0
!! = 0          !"          !! = 0 [8][9]
0.43095 9.81

II.3 Filtre de Kalman étendu (EKF)


Le filtre de Kalman est notamment utilisé pour estimer un ensemble de paramètres
inconnus à partir d'un jeu d'observations bruitées et d'un modèle d'évolution du système. Il
fournit une estimation optimale au sens où elle minimise l'erreur quadratique moyenne. Le
filtre de Kalman se base sur un modèle d'état et un modèle de mesure linéaire, or pour cette
étude, le modèle de mesure est non-linéaire. Il est donc proposé d'utiliser ici un filtre de
Kalman étendu. Ce dernier implique de linéariser les modèles d'état et de mesure autour de
l'état courant.
Le problème peut être formulé mathématiquement par deux équations.
• L'équation d'état (utilisée pour la prédiction) :
! ! + 1 =  !(! ! , !(!) [10]
Avec !(!) le vecteur d'état à l'instant ! (vecteur des paramètres à estimer), et !(!) le
bruit d'état (de prédiction).
• L'équation de mesure ou d'observation :
! ! = ℎ(! ! , !(!) [11]
Avec ! ! le vecteur de mesure à l'instant !, et !(!) le bruit de mesure.
Les fonctions ! et ℎ étant non-linéaires, les matrices de transition et d'observations doivent
être calculées à chaque itération afin de linéariser le problème. Il s'agit des matrices
Jacobiennes des deux fonctions ! et ℎ :
!"
!= [12]
!" ! ! ! ,!

!ℎ
!= [13]
!" ! !!! ! ,!

F. Lamugue & L. Milon 5


ENSEIRB TP Systèmes de Drones J. Metge

Les matrices de covariance ! et ! associées respectivement aux bruits ! et ! seront


également nécessaires.

III. Application
Maintenant qu’une partie du contexte et de la théorie ont été détaillées, les données issues
de la centrale inertielle « low-cost », contenues dans le fichier measures.mat, vont être
exploitées afin de retrouver les mouvements appliqués.

III.1 Données
Les données brutes contenues dans le fichier n’étant pas à la bonne échelle, la
transformation linéaire [5] a été appliquée. Les mesures mises à l’échelle sont présentées en
Fig.3.

Figure 3 - Mesures inertielles (accéléromètres, gyromètres, magnétomètres) mises à échelle

Il est alors possible d’observer les différentes accélérations qui ont été appliquées à la
centrale. On remarque notamment les accélérations induites par les rotations autour des
axes Y et X, correspondant respectivement aux mouvements sur le roll et sur le picth. On
constate également que le mouvement sur le yaw n’est quasiment pas perceptible. Le
mouvement de lacet n’induit en effet aucune accélération.
Du point de vue des gyromètres maintenant, on note que toutes les rotations sont
parfaitement identifiables. De même, les différents mouvements sont visibles sur les
mesures issues des magnétomètres.
Changement de repère. Pour la suite du TP, il est nécessaire de pouvoir exprimer le
changement de repère entre le repère de navigation ! et le repère du mobile !. Ce
changement de repère est exprimé par la matrice de rotation !, permettant de passer d’un
vecteur exprimé dans la base ! à un vecteur exprimé dans la base !. Cette matrice de
rotation peut être exprimée à partir des matrices de rotation élémentaires autour des axes
!! , !! et !! , rappelées ci-dessous :
1 0 0 !"#! 0 !"#$ !"#$ −!"#$ 0
!! = 0 !"#$ −!"#$        !! = 0 1 0        !! = !"#$ !"#$ 0 [14]
0 !"#$ !"#$ −!"#$ 0 !"#$ 0 0 1

F. Lamugue & L. Milon 6


ENSEIRB TP Systèmes de Drones J. Metge

La matrice de rotation ! s’exprime de la façon suivante :


! = !! ∙ !! ∙ !! [15]

III.2 Filtre de Kalman étendu (EKF)


Les différentes données du problème étant à présent en place, l’implémentation a
proprement parlé du filtre de Kalman étendu peut-être réalisée.
Fonction d’état !. Pour l’évolution du vecteur d’état, on considèrera ici que l’accélération
angulaire est nulle. Ainsi, les angles évoluent à la vitesse angulaire estimée. Compte-tenu de
cette hypothèse, il est possible de caractériser les paramètres du vecteur d’état à l’instant
! + 1 de la façon suivante :
!!!! = ! !! , !! = ! ∙ !! + !! [16]
!!!! = !! + !! ∙ !! + !!
!!!! = !! + !! ∙ !! + !!
!!!! = !! + !! ∙ !! + !!
[17]
!!!! = !! + !!
!!!! = !! + !!
!!!! = !! + !!
L’équation [16] est valable dans le cas d’un filtre de Kalman classique. Cette équation reste
valable ici car la fonction f est linéaire. On a donc la matrice de transition F :
1 0 0 !! 0 0
0 1 0 0 !! 0
0 0 1 0 0 !!
!=                 [18]
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
Le code Matlab ci-dessous donne l’implémentation de la fonction !  :
f.m
function [x,F]=f(x_av,w_av, fe)
Te=1/fe;
% x=[phi, teta, psi, vphi, vteta, vpsi]
F=[1 0 0 Te 0 0; ...
0 1 0 0 Te 0; ...
0 0 1 0 0 Te; ...
0 0 0 1 0 0; ...
0 0 0 0 1 0; ...
0 0 0 0 0 1];
x=F*x_av+w_av;
end

Fonction d’observation !. Dans le cas de la fonction ℎ, l’approche est différente. Cette


fonction prend en effet en paramètre des variables non-linéaires. Il est donc nécessaire,
comme détaillé en partie II.3, de calculer la matrice d’observation H à chaque itération au
travers de la matrice Jacobienne de ℎ. L’équation d’observation est la suivante :
! = ℎ ! ! , !! = ! ∙ ! ! + !! [19]

F. Lamugue & L. Milon 7


ENSEIRB TP Systèmes de Drones J. Metge

!!
!! =    ! ∙ !! + !(1: 3)
!!
!! !
!= !! = ! ! + !(4: 6) [20]
!! !
!!
!! =  ! ∙ !! + !(7: 9)
!!

Avec :
1 0 −!"#$
!= 0 !"#$ !"#$%&!'         [21]
0 −!"#$ !"#$!"#%
On cherche maintenant à calculer la matrice Jacobienne de ℎ. La matrice Jacobienne est la
matrice des dérivées partielles du premier ordre de ℎ. Cela donne :
!ℎ(1) !ℎ(1) !ℎ(1) !ℎ(1) !ℎ(1) !ℎ(1)
!" !" !" !! !! !!
!ℎ(2)           !ℎ(2)
⋯ ⋯
!" !!
⋮ ⋮
!=         [22]
⋮ ⋮
!ℎ(5) !ℎ(5)
⋯ ⋯
!"           !!
!ℎ(6) !ℎ(6) !ℎ(6) !ℎ(6) !ℎ(6) !ℎ(6)
!" !" !" !! !! !!
Afin de calculer cette matrice Jacobienne, une fonction deriveeR a été implémentée. Elle
prend en paramètre un axe et un angle et retourne la dérivée de la matrice de rotation
associée : !! , !! ou  !! .
deriveeR.m
function [dR]=deriveeR(axe,type_angle, angle)
if (strcmp(axe,'x')==1)
if (strcmp(type_angle,'phi')==1)
dR=[0 0 0;0 sin(-angle) cos(-angle); 0 -cos(-angle) sin(-angle)];
else
dR=zeros(3,3);
end
elseif (strcmp(axe,'y')==1)
if (strcmp(type_angle,'teta')==1)
dR=[sin(-angle) 0 -cos(-angle); 0 0 0; cos(-angle) 0 sin(-angle)];
else
dR=zeros(3,3);
end
else
if (strcmp(type_angle,'psi')==1)
dR=[sin(-angle) cos(-angle) 0; -cos(-angle) sin(-angle) 0; 0 0 0];
else
dR=zeros(3,3);
end
end

F. Lamugue & L. Milon 8


ENSEIRB TP Systèmes de Drones J. Metge

Il est à présent possible de calculer la matrice d’observation H. Matriciellement, elle


s’exprime de la façon suivante :
0 0 0
!! = !!! ∙ !! ∙ !! ∙ !! !! ∙ !"! ∙ !! ∙ !!
!! ∙ !! ∙ !"! ∙ !!          0 0 0         [23]
0 0 0
!" !" 0 1 0 0
!! = ∙ !! (4: 6) ∙ !! (4: 6) 0          ! ∙ 0 ! ∙ 1 ! ∙ 0         [24]
!" !"
0 0 0 1
0 0 0
!! = !!! ∙ !! ∙ !! ∙ !! !! ∙ !"! ∙ !! ∙ !! !! ∙ !! ∙ !"! ∙ !!          0 0 0         [25]
0 0 0
Avec !! la matrice Jacobienne correspondant aux mesures issues de l’accéléromètre, !!
celle des mesures du gyromètre et !! celle des mesures du magnétomètre. On obtient ainsi
la matrice d’observation H :
!!
! = !!         [26]
!!
On a bien une matrice de taille 9x6. En parallèle de ces opérations de calcul de la matrice H,
il est également nécessaire de calculer le résultat de la relation [16] :
! = ℎ !! , !!   [27]
On effectue encore une fois cette étape de façon matricielle :
!! = ! ∙ !! + !! (1: 3) [28]

!! = ! ∙ !! (4: 6) + !! (4: 6) [29]

!! = ! ∙ !! + !! (7: 9) [30]

De la même façon que pour la matrice H, les trois éléments précédemment calculés
correspondent aux mesures des accéléromètres, des gyromètres et des magnétomètres. En
concaténant ces trois résultats, on obtient bien le vecteur de mesure !!!! . Le code ci-
dessous réalise les différentes opérations détaillées jusqu’ici.
h.m
function [z,H]=h(x_av, v_av, m0, g0,magneto, accelero)
%----% parametres
phi=x_av(1);
teta=x_av(2);
psi=x_av(3);

Q=[1 0 -sin(teta); 0 cos(phi) sin(phi)*cos(teta); 0 -sin(phi) cos(phi)*cos(teta)];


Rx=[1 0 0; 0 cos(-phi) -sin(-phi); 0 sin(-phi) cos(-phi)];
Ry=[cos(-teta) 0 sin(-teta); 0 1 0; -sin(-teta) 0 cos(-teta)];
Rz=[cos(-psi) -sin(-psi) 0; sin(-psi) cos(-psi) 0; 0 0 1];
R=Rx*Ry*Rz;
%----% derivées
dRx=deriveeR('x','phi',phi);
dRy=deriveeR('y','teta',teta);
dRz=deriveeR('z','psi',psi);
dQphi=[0 0 0; 0 -sin(phi) cos(phi)*cos(teta); 0 -cos(phi) -sin(phi)*cos(teta)];
dQteta=[0 0 -cos(teta); 0 0 -sin(phi)*sin(teta); 0 0 -cos(phi)*sin(teta)];
%----% calcul de H
if accelero==1
Ha=[dRx*Ry*Rz*g0, Rx*dRy*Rz*g0, Rx*Ry*dRz*g0, zeros(3,1), zeros(3,1),
zeros(3,1)];
else
Ha=[];
end
Hg=[dQphi*x_av(4:6), dQteta*x_av(4:6), zeros(3,1) , Q*[1; 0; 0], Q*[0; 1; 0], Q*[0;
0; 1]];

F. Lamugue & L. Milon 9


ENSEIRB TP Systèmes de Drones J. Metge

if magneto==1
Hm=[dRx*Ry*Rz*m0, Rx*dRy*Rz*m0, Rx*Ry*dRz*m0, zeros(3,1), zeros(3,1),
zeros(3,1)];
else
Hm=[];
end
H=[Ha; Hg; Hm];
%-----% calcul de h
if accelero==1
za=R*g0+v_av(1:3);
else
za=[];
end
zg=Q*x_av(4:6);
if magneto==1
zm=R*m0+v_av(7:9);
else
zm=[];
end
z=[za;zg;zm];
end

A noter que cette fonction h prend en paramètres différentes valeurs telles que pour
l’accéléromètre ou le magnétomètre. Si les variables accelero et magneto valent 1, alors le
capteur en question est pris en compte dans les mesures. Dans le cas contraires, le filtre de
Kalman n’est appliqué que sur un ou deux des trois capteurs disponibles. Le gyromètre est
pour sa part toujours utilisé. Cette fonctionnalité sera utilisée par la suite afin d’observer
l’impact des différents jeux de mesures.
Toutes les données nécessaires à l’implémentation du filtre de Kalman étendu sont donc
maintenant disponibles.

III.3 Mise en œuvre du filtre EKF


L’algorithme du Kalman étendu peut maintenant être mis en place. Il s’applique de manière
récursive, après initialisation des paramètres !(0) et !(0), via les étapes suivantes :
Prédiction.
!(! + 1 !) = !(!(! !),0) [19]
! ! + 1 ! = ! ! ∙ ! ! ! ∙ !! ! + ! [19]
Innovation.
! ! + 1 = ! ! + 1 − ℎ(!(! + 1 !),0) [19]
Calcul du gain.
! ! = ! ! ∙ ! ! + 1 ! ∙ !! ! + ! [19]
! ! + 1 = ! ! + 1 ! ∙ ! ! ! ∙ ! !! (!) [19]
Filtrage.
! ! + 1 ! + 1 = ! ! + 1 ! + !(! + 1) ∙ ! ! + 1 [19]
! !+1 !+1 = !−! !+1 ∙! ! ∙! !+1 ! [19]

Accéléromètres, gyromètres et magnétomètres. Ce filtre de Kalman étendu permet donc


d’estimer les angles !, !  !"  ψ   ainsi que les vitesses angulaires associées !, !  !"  ψ  . Les
estimations obtenues après applications du filtre de Kalman étendu sont présentées en
Fig.4.

F. Lamugue & L. Milon 10


ENSEIRB TP Systèmes de Drones J. Metge

Figure 4 - Angles et vitesses angulaires estimés par le filtre EKF : Accéléromètres, Gyromètres et Magnétomètres

On constate que l’on retrouve bien les différents mouvements qui ont été appliqués à la
centrale inertielle. En premier, on a les trois mouvements sur le roll (angle !), ensuite les
trois sur le pitch (angle !) puis ceux sur le yaw (angle !) et enfin un mouvement constant
sur le pitch de plusieurs secondes, pendant lesquelles trois mouvements sur le yaw ont été
appliqués. Les mesures des vitesses angulaires permettent de vérifier ces mouvements,
avec chacune trois périodes de rotation.

Accéléromètres et gyromètres. A présent, les données issues des magnétomètres ne


seront pas prises en compte. Seules les mesures des accéléromètres et des gyromètres
seront utilisées par le filtre de Kalman étendu pour l’estimation des angles. Le résultat est le
suivant :

Figure 5 - Angles et vitesses angulaires estimées par le filtre EKF : Accéléromètres et Gyromètres

Les observations faites à partir des résultats de la Fig.5 sont les mêmes que précédemment.
Les différents mouvements appliqués à la centrale inertielle sont parfaitement
reconnaissables. Toutefois, on constate que les mesures concernant le yaw sont à présent
erronées. Elles sont en effet décalées. Si l’on enlève les mesures magnétiques, on ne perd
pas d’information sur le cap car ce dernier est recalé grâce à la gravité, qui elle ne change

F. Lamugue & L. Milon 11


ENSEIRB TP Systèmes de Drones J. Metge

jamais. L’axe Z dérive cependant car elle n’est pas correctement recalée, ce qui est le rôle
des magnétomètres.
On constate également que les mesures des vitesses angulaires ne sont pas affectées par
l’absence des magnétomètres. Etant donné que la seule conséquence est un écart, cela n’a
effectivement pas d’impact sur la dérivée des angles.

Gyromètres. Pour cette dernière expérience, seuls les gyromètres vont être utilisés. Le
résultat des estimations angulaires et de leurs dérivées dans ce cas est présenté en Fig.6.

Figure 6 - Angles et vitesses angulaires estimées par le filtre EKF : Uniquement Gyromètres

Dans ce dernier cas (Fig.6), on observe une dérive totale de la plupart des mesures. Les
premiers mouvements sont relativement bien estimés, bien qu’il y ait d’importants écarts à
l’origine. En revanche, à partir du troisième mouvement, la dérive devient très importante et
toutes les estimations sont faussées. Cela se retrouve au niveau des dérivées avec des
vitesses angulaires estimées erronées.
Dans ce dernier cas, l’utilisation du filtre de Kalman n’est plus justifiée car il s’agit
simplement d’un problème de calibration des gyromètres. Si ces derniers sont correctement
calibrés, la dérive sera légèrement contenue au départ mais reste inévitable. Tous les angles
vont lentement dériver car ils ne seront plus recalés par des mesures annexes telles que
celles des accéléromètres ou des magnétomètres.

Modification des bruits d’état et de mesure. Après avoir constaté l’influence des
différents capteurs sur les estimations, les écart-types associés aux différents bruits ont été
modifiés afin de voir leur influence sur l’efficacité du filtre de Kalman. Il en ressort que
l’augmentation de l’un ou l’autre de ces deux bruits peut avoir des conséquences sur les
estimations du filtre. Ainsi, une augmentation du bruit d’état W au niveau des angles entraine
une importante oscillation de l’estimateur (Fig.7a). L’impact sur les vitesses angulaires est
plus modéré.
En ce qui concerne le bruit de mesure, si son impact sur l’accéléromètre n’est pas très
visible, il l’est en revanche pour le gyromètre et le magnétomètre. Ainsi, une augmentation
du bruit de mesure des gyromètres peut perturber les estimations (Fig.7b). A noter
également qu’un trop fort bruit sur les magnétomètres rend les mesures inutilisables et les
résultats sont alors les mêmes qu’en l’absence de magnétomètres (cf. précédemment).

F. Lamugue & L. Milon 12


ENSEIRB TP Systèmes de Drones J. Metge

Figure 7 - Angles et vitesses angulaires estimées par le filtre EKF : (a) bruits d'état et (b) de mesures accentués

IV. Conclusion
L’objectif de ce TP était de se confronter à des problématiques d’estimation de données
issues d’une centrale inertielle « low-cost » par filtrage de Kalman étendu. A l’issue de ces
manipulations, il ressort que le biais des gyromètres entraine une lente mais importante
dérive des angles estimés. L’utilisation de ce seul capteur s’avère donc insuffisante au sein
d’une centrale inertielle supposée estimer avec précision une trajectoire. Il nous a également
était possible de constater l’apport des deux autres catégories de capteurs : les
accéléromètres et les magnétomètres. Ces derniers permettent en effet de recaler en
permanence les mesures issues des gyromètres et ainsi de grandement améliorer la
précision de la centrale inertielle. L’importance du bon calibrage des différents capteurs ainsi
que des bruit d’état et de mesure ont également été observés. Il apparaît ainsi que le bon
fonctionnement d’une centrale inertielle repose sur un calibrage précis des différents
capteurs inertiels et également sur une minimisation des bruits de mesures. Dans la mesure
où ces bruits sont inévitables, et selon l’utilisation souhaitée du système inertiel, l’utilisateur
peut-être amené à prendre en compte davantage une catégorie de capteur (gyromètres) par
rapport aux autres.
Ainsi équipée, une centrale inertielle est donc capable, de part l’estimation des données à
l’aide d’un filtre de Kalman étendu, d’estimer avec plus ou moins de précision la trajectoire
suivie par un objet en mouvement. Toutefois, malgré un recalage constant des différents
capteurs entre eux, une légère dérive de l’ensemble du système reste inévitable dans le
cadre d’utilisation longue durée. C’est pourquoi, lorsque cela est nécessaire et/ou possible,
les systèmes de navigation inertiels (INS) sont couplés à des systèmes GPS (Global
Positioning System). L’ajout des informations provenant de systèmes de positionnement par
satellites permet de régulièrement recalé l’ensemble des capteurs de la centrale inertielle en
cas de dérive trop importante.

V. Références
[1] Welch G, Bishop G, « An introduction to the Kalman Filter », 2006.

F. Lamugue & L. Milon 13

Vous aimerez peut-être aussi