Td corrigé le projet micro drone pdf

le projet micro drone

Kalman [5] a donné la méthode générale pour programmer un tel observateur, ..... par la méthode des moindres carrés non linéaires pour un ensemble pseudo .... Sinon, on risque de prendre une valeur instantanée extrême et corriger en ..... les sous indices indiquant l'aspect temporel, en remarquant l'aspect récursif des  ...




part of the document



TABLE DES MATIÈRES
 TOC \o "1-4" \h \z \u 
 HYPERLINK \l "_Toc43529337" PRÉSENTATION  PAGEREF _Toc43529337 \h 3
 HYPERLINK \l "_Toc43529338" LE PROJET MICRO DRONE  PAGEREF _Toc43529338 \h 4
 HYPERLINK \l "_Toc43529339" Les approches précédentes  PAGEREF _Toc43529339 \h 4
 HYPERLINK \l "_Toc43529340" CHAPITRE 1 Le problème à résoudre : Détermination de l’état  PAGEREF _Toc43529340 \h 5
 HYPERLINK \l "_Toc43529341" 1.1 Les états à observer  PAGEREF _Toc43529341 \h 5
 HYPERLINK \l "_Toc43529342" 1.2 Les capteurs embarqués  PAGEREF _Toc43529342 \h 5
 HYPERLINK \l "_Toc43529343" 1.3 Les principes exploités  PAGEREF _Toc43529343 \h 5
 HYPERLINK \l "_Toc43529344" CHAPITRE 2 La solution proposée : Observateur de Kalman  PAGEREF _Toc43529344 \h 7
 HYPERLINK \l "_Toc43529345" 2.1 Les systèmes de référence et les changements de repère  PAGEREF _Toc43529345 \h 7
 HYPERLINK \l "_Toc43529346" 2.1.1 Le domaine de vol du micro drone  PAGEREF _Toc43529346 \h 8
 HYPERLINK \l "_Toc43529347" 2.1.2 La référence NED  PAGEREF _Toc43529347 \h 8
 HYPERLINK \l "_Toc43529348" 2.1.3 La référence ECEF  PAGEREF _Toc43529348 \h 9
 HYPERLINK \l "_Toc43529349" 2.1.4 La référence avion  PAGEREF _Toc43529349 \h 9
 HYPERLINK \l "_Toc43529350" 2.1.5 Les changements de repère  PAGEREF _Toc43529350 \h 9
 HYPERLINK \l "_Toc43529351" 2.1.5.1 La transformation NED à ECEF  PAGEREF _Toc43529351 \h 10
 HYPERLINK \l "_Toc43529352" 2.1.5.2 La matrice de cosinus de passage du repère NED au repère avion  PAGEREF _Toc43529352 \h 11
 HYPERLINK \l "_Toc43529353" 2.2 Le modèle cinématique d'état  PAGEREF _Toc43529353 \h 11
 HYPERLINK \l "_Toc43529354" 2.2.1 Notations  PAGEREF _Toc43529354 \h 11
 HYPERLINK \l "_Toc43529355" 2.2.2 Discrétisation temporelle du modèle  PAGEREF _Toc43529355 \h 12
 HYPERLINK \l "_Toc43529356" 2.2.2.1 Puissance du bruit échantillonné  PAGEREF _Toc43529356 \h 12
 HYPERLINK \l "_Toc43529357" 2.2.3 De l’incertitude du système au bruit de système  PAGEREF _Toc43529357 \h 12
 HYPERLINK \l "_Toc43529358" 2.2.4 Modèle cinématique d’état  PAGEREF _Toc43529358 \h 13
 HYPERLINK \l "_Toc43529359" 2.2.5 Séparation en sous-systèmes  PAGEREF _Toc43529359 \h 14
 HYPERLINK \l "_Toc43529360" 2.2.5.1 Le sous-système de localisation  PAGEREF _Toc43529360 \h 14
 HYPERLINK \l "_Toc43529361" 2.2.5.2 Le sous-système d'orientation  PAGEREF _Toc43529361 \h 15
 HYPERLINK \l "_Toc43529362" 2.3 Le modèle des mesures  PAGEREF _Toc43529362 \h 15
 HYPERLINK \l "_Toc43529363" 2.3.1 Généralités  PAGEREF _Toc43529363 \h 15
 HYPERLINK \l "_Toc43529364" 2.3.2 Notation  PAGEREF _Toc43529364 \h 15
 HYPERLINK \l "_Toc43529365" 2.3.3 Les signaux mesurées  PAGEREF _Toc43529365 \h 16
 HYPERLINK \l "_Toc43529366" 2.3.3.1 Le magnétomètre 3D  PAGEREF _Toc43529366 \h 16
 HYPERLINK \l "_Toc43529367" 2.3.3.2 L'accéléromètre 3D  PAGEREF _Toc43529367 \h 18
 HYPERLINK \l "_Toc43529368" 2.3.3.3 Le gyromètre 3D  PAGEREF _Toc43529368 \h 19
 HYPERLINK \l "_Toc43529369" 2.3.3.4 Le récepteur GPS  PAGEREF _Toc43529369 \h 19
 HYPERLINK \l "_Toc43529370" 2.3.4 Les bruits de mesure  PAGEREF _Toc43529370 \h 20
 HYPERLINK \l "_Toc43529371" 2.4 Extension du vecteur d’état avec les incertitudes des capteurs  PAGEREF _Toc43529371 \h 20
 HYPERLINK \l "_Toc43529372" 2.5 Les observateurs de calibrage et de poursuite  PAGEREF _Toc43529372 \h 21
 HYPERLINK \l "_Toc43529373" 2.5.1 L’observateur de calibrage  PAGEREF _Toc43529373 \h 22
 HYPERLINK \l "_Toc43529374" 2.5.2 L’observateur de poursuite  PAGEREF _Toc43529374 \h 23
 HYPERLINK \l "_Toc43529375" 2.5.2.1 Traitement des mesures asynchrones  PAGEREF _Toc43529375 \h 23
 HYPERLINK \l "_Toc43529376" CHAPITRE 3 Résultats obtenus  PAGEREF _Toc43529376 \h 26
 HYPERLINK \l "_Toc43529377" 3.1 Extension des travails réalisés  PAGEREF _Toc43529377 \h 26
 HYPERLINK \l "_Toc43529378" 3.2 L'observateur de poursuite : Convergence pour diverses configurations non extensives de mesures  PAGEREF _Toc43529378 \h 26
 HYPERLINK \l "_Toc43529379" 3.3 L'observateur de calibrage : Convergence des biais, des gains et des désalignements pour le gyromètre  PAGEREF _Toc43529379 \h 29



 HYPERLINK \l "_Toc43529380" CHAPITRE 4 Conclusions et perspectives  PAGEREF _Toc43529380 \h 31
 HYPERLINK \l "_Toc43529381" CHAPITRE 5 Annexes  PAGEREF _Toc43529381 \h 32
 HYPERLINK \l "_Toc43529382" 5.1 Formulation du sous-système de calibrage  PAGEREF _Toc43529382 \h 32
 HYPERLINK \l "_Toc43529383" 5.1.1 Modèle du système  PAGEREF _Toc43529383 \h 32
 HYPERLINK \l "_Toc43529384" 5.1.2 Equations du filtre  PAGEREF _Toc43529384 \h 33
 HYPERLINK \l "_Toc43529385" 5.1.2.1 Phase de prédiction  PAGEREF _Toc43529385 \h 33
 HYPERLINK \l "_Toc43529386" 5.1.2.2 Phase de correction  PAGEREF _Toc43529386 \h 33
 HYPERLINK \l "_Toc43529387" 5.1.2.3 Expression des jacobiens  PAGEREF _Toc43529387 \h 33
 HYPERLINK \l "_Toc43529388" 5.2 Formulation du sous-système de poursuite  PAGEREF _Toc43529388 \h 35
 HYPERLINK \l "_Toc43529389" 5.2.1 Modèle du système  PAGEREF _Toc43529389 \h 35
 HYPERLINK \l "_Toc43529390" 5.2.2 Equations du filtre  PAGEREF _Toc43529390 \h 35
 HYPERLINK \l "_Toc43529391" 5.2.2.1 Phase de prédiction  PAGEREF _Toc43529391 \h 35
 HYPERLINK \l "_Toc43529392" 5.2.2.2 Phase de correction  PAGEREF _Toc43529392 \h 36
 HYPERLINK \l "_Toc43529393" 5.2.2.3 Expression des jacobiens  PAGEREF _Toc43529393 \h 36
 HYPERLINK \l "_Toc43529394" 5.3 Graphiques des résultats  PAGEREF _Toc43529394 \h 37
 HYPERLINK \l "_Toc43529395" 5.4 Outils développés  PAGEREF _Toc43529395 \h 44
 HYPERLINK \l "_Toc43529396" 5.4.1 Boite de l'avionique  PAGEREF _Toc43529396 \h 44
 HYPERLINK \l "_Toc43529397" 5.5 Fichiers Matlab  PAGEREF _Toc43529397 \h 44
 HYPERLINK \l "_Toc43529398" 5.5.1 Afficheur dynamique tridimensionnel  PAGEREF _Toc43529398 \h 44
 HYPERLINK \l "_Toc43529399" 5.5.2 Générateur des données artificielles  PAGEREF _Toc43529399 \h 44
 HYPERLINK \l "_Toc43529400" 5.5.3 Changements de repère et construction de matrices  PAGEREF _Toc43529400 \h 45
 HYPERLINK \l "_Toc43529401" 5.5.4 Algorithmes des filtres  PAGEREF _Toc43529401 \h 45
 HYPERLINK \l "_Toc43529402" RÉfÉrEnces  PAGEREF _Toc43529402 \h 46

PRÉSENTATION
Le problème abordé pendant ce stage est la détermination de la position et de l'orientation d'un micro drone, dans des conditions de vol quelconques, à partir des données fournis par divers capteurs embarqués. On souhaite utiliser au maximum l'information fournie par ces capteurs en utilisant la redondance et le concept de fusion des mesures capteurs, et en même temps minimiser l’effort de calcul dans le microcontrôleur embarqué.
Deux approches simultanées sont développées. Une première approche est conçue sans contrainte par rapport à la complexité de calcul. Pour cela, la première étape est la reconstruction en sol et hors ligne, dans une unité de calcul puissante comme un calculateur PC, de l'état (localisation et orientation) d'un petit avion télécommandé équipé avec l'avionique du micro drone, a partir des données enregistrées pendant des vols réels. La complexité de calcul n'est pas considérée et l'on ne recherche que les limites théoriques d'observabilité du système : quelles sont les mesures à effectuer, et à quelle fréquence, pour assurer une bonne reconstruction de l’état qui soit satisfaisant pour la commande automatique du micro drone.
L'autre approche consiste à simplifier au maximum les algorithmes pour être capable de les programmer dans le contrôleur embarqué. La contrainte est donc évidente : le calculateur embarqué a une capacité limitée et il doit travailler en temps réel. Diverses techniques sont disponibles pour cet objectif. D’abord, il s’agit de définir un observateur de calibrage qui ne sera pas embarqué (ou, au moins, qui pourra travailler en temps non réel), et un autre de poursuite, avec uniquement les grandeurs que l’on n’est pas capable de calibrer (soit l’état même, et quelques autres paramètres non fixes dans le modèle). Il s’agit aussi de séparer le système en sous-systèmes pour réduire la taille totale des observateurs. Enfin, il s’agit de chercher des algorithmes de calcul rapides, en s’appuyant sur diverses hypothèses sur les propriétés du système pour les simplifier. On a travaillé sur ces aspects de simplification et accélération d’algorithmes, mais toujours sur la plateforme de calcul PC, donc sur un environnement non contraint.
LE PROJET MICRO DRONE
Le projet micro drone à l'ENSICA est une plateforme de recherche motivante pour les chercheurs, professeurs, stagiaires et élèves de l'ENSICA. L'échelle humaine du drone le rend attractif et compréhensible, et en même temps les difficultés techniques et les concepts théoriques que l'on doit considérer pour aborder sa réalisation le rendent aussi défiant.
Le projet contient des domaines de recherche dans tous les départements de l'école. On dispose déjà de la deuxième réalisation du profil du micro drone, développé au sein du Département de Mécanique de Fluides.
Divers travaux antérieurs à ce stage ont été réalisés au Département d'Avionique et Systèmes (DAS), site d'accueil de ce stage de DEA.
Conception, design et construction du système avionique, avec les capacités de miniaturisation, performances et transmission au sol des données.
Caractérisation en soufflerie des paramètres aérodynamiques du drone.
L'objectif principal au DAS à cette étape est la détermination de l'état du micro drone.
Les approches précédentes
L'approche Su  REF _Ref43304909 \r \h [4] utilise les accéléromètres comme s'ils étaient des capteurs d'inclinaison pour déterminer l'orientation du drone. Les angles d'Euler tangage et roulis sont facilement obtenus par inversion en boucle ouverte de l'équation idéale de sortie des accéléromètres ( REF _Ref42420651 \h Figure 1)
 SHAPE \* MERGEFORMAT 
Figure  SEQ Figure \* ARABIC 1 Détermination basique de l’orientation

L'angle cap est obtenu à partir des données du magnétomètre.
La désavantage principal de cette approche réside dans ses hypothèses de départ : on a besoin d'accélérations nulles sur l'avion pour assurer que les données fournies par l'accéléromètre correspondent au vecteur gravitationnel. Pour cela, on limite les conditions de validité à celles où le drone est en vol rectiligne stationnaire.
Ces conditions ne permettent pas une détermination de l'orientation sous conditions réelles de vol. Ainsi, le traitement des données capteurs en boucle ouverte permettent une manipulation assez rapide, mais les performances seront rapidement limitées par les indéterminations des capteurs (bruits, mesures erronées ou manquantes, biais, etc.).
Le problème à résoudre : Détermination de l’état

Pour poser le problème on doit répondre à plusieurs questions. Qu'est-ce que l'on veut? De quoi dispose-t'on ? Quelles sont les contraintes ? Ce chapitre couvre ces questions et encadre tous les travails postérieurs.
Les états à observer
Les grandeurs à observer pour une bonne connaissance de l'état du micro drone sont :
Localisation dans l'espace : r
Vitesse de translation : v
Accélération : a
Orientation dans l'espace : q
Vitesse d'orientation : wð
Ces grandeurs définissent l'état du système micro drone par rapport à sa navigation dans un espace tridimensionnel. Elles sont liées par des relations cinématiques et dynamiques : les équations d état. Des travaux antérieurs ont conduit à la caractérisation précise d’un modèle d’état complet du micro drone concerné  REF _Ref43538429 \r \h [2].
L'objectif de l'observateur est d'obtenir ces grandeurs avec la fiabilité, la précision et la rapidité maximale pour être utilisées par un système de pilotage automatique et/ou de navigation.
Les capteurs embarqués
Les mesures dont on dispose sont :
Accélération : ac
Vitesses angulaires : wðc
Champ magnétique : mc
Position GPS : rc
Vitesse GPS : vc
Les principes exploités
Divers concepts sont exploités pour atteindre les objectifs d observabilité. Ce chapitre donne un repas qualitatif aux idées intuitives que l'on a essayé de traduire en solutions.
D’un coté, il est clair que la position est observable par le GPS, car il donne une information absolue ; en conséquence, la vitesse et l’accélération le seront aussi. Les inconvénients sont les basses performances en précision, résolution et réponse dynamique inhérentes au système GPS : une résolution de l’ordre du mètre et une période d’une mesure par seconde sont des performances insuffisantes pour une observation précise. Finalement, on peut dire que la position absolue est observable à long terme grâce à ces mesures absolues.
En revanche, la bonne réponse dynamique des accéléromètres doit permettre la poursuite précise de ces grandeurs de position et translation, mais jamais sa détermination absolue.
Ensuite, l’orientation est observable avec les mesures des champs gravitationnel et magnétique de la Terre (voir paragraphe  REF _Ref43305303 \r \h 3.2). L’inconvénient vient du fait que les accéléromètres prennent la mesure du champ gravitationnel en même temps que celle de l’accélération. Comme l’accélération possède une valeur moyenne nulle, la moyenne à long terme de ses mesures correspond au champ gravitationnel. Pour cette raison, l’orientation absolue est aussi observable à long terme, mais ces deux mesures ne peuvent nous donner une réponse dynamique satisfaisante.
Les performances dynamiques des gyromètres doivent permettre la poursuite dynamique précise de l’orientation, mais du fait qu’ils mesurent des vitesses et non des angles, ils ne permettront jamais sa détermination absolue.
Pour ce qui concerne les accéléromètres, la contradiction est évidente : D’un coté, on utilise la valeur moyenne à long terme pour estimer la direction du champ gravitationnel, et pouvoir donc observer l’orientation; de l’autre, on a besoin des valeurs instantanées pour acquérir la poursuite dynamique de la position. Comment gérer ce dilemme ? Deux réponses sont proposées : soit on utilise séparément les mesures moyennes et les mesures instantanées pour chacun des types de grandeurs à observer, soit on construit un observateur qui est capable d’estimer l’accélération, la soustraire des mesures, et obtenir ainsi le champ gravitationnel.
Cet observateur doit utiliser la fusion de toute l’information donnée par les capteurs. Kalman  REF _Ref43305459 \r \h [5] a donné la méthode générale pour programmer un tel observateur, qui possède aussi les propriétés d’obtenir une observation optimal en termes absolues (long terme ou basse fréquence) et en termes relatives (court terme, dynamique, ou haute fréquence), en exploitant au maximum l’information qui vient des données capteurs. L’information, on l’a vu, est là. Il suffi de la faire ressortir à la surface.
La solution proposée : Observateur de Kalman

Tout le travail de ce stage a été de concevoir un observateur qui soit capable d'obtenir l'état complet du micro drone dans toutes les conditions de vol. L'idée est d'explorer l'observabilité du système à partir de la fusion de divers capteurs, ne se limitant pas aux cas, disons, intuitifs ou simples.
La plus grande difficulté dans l'observation de l'état réside dans la détermination de l'orientation. L'approche précédente a besoin d’accélérations nulles de l'avion pour pouvoir assurer que les mesures des accéléromètres correspondent à la gravité terrestre. C'est une limitation trop grande, puisque ces conditions ne seront jamais rencontrées en vol réel…
Dans l'approche actuelle, les mesures des accéléromètres sont considérées comme la somme du vecteur de gravitation plus le vecteur accélération. Le vecteur accélération étant aussi observable à long terme et de manière absolue par d'autres mesures (le GPS), on espère qu’un observateur optimal au sens du minimum de variance serait capable d’obtenir à la fois ces deux grandeurs, l’accélération et le vecteur gravité.
La technique proposée pour l'observation des grandeurs de l'état du micro drone est d'utiliser un filtre de Kalman étendu. Pour cela, il est nécessaire de définir les modèles d'état et des mesures du système. Il faut d'abord introduire des opérateurs géométriques utilisés dans les équations des modèles.

Les systèmes de référence et les changements de repère
La navigation d'un véhicule dans un environnement tridimensionnel présente des aspects complexes en ce qui concerne la détermination de sa position et de son orientation. La localisation et l'orientation doivent s'exprimer de façon numérique précise et unique pour être traitées par l'automatique, et un système de références adéquat doit donc être choisi. Logiquement, l'état d'un véhicule doit s'exprimer par rapport à une référence externe, facilement partageable par d'autres systèmes, et qui conduira à une bonne compréhension de l'information. Cela doit permettre, par exemple, la rapide localisation du véhicule dans son environnement, ou bien par rapport à un autre objet mobile, ou le calcul précis d'une trajectoire en évitant des obstacles éventuels.
Beaucoup de systèmes de référence sont disponibles  REF _Ref43307530 \r \h [4]  REF _Ref43521020 \r \h [9]. En fait, son nombre n'est limité que par l'imagination humaine. Parmi ces systèmes, certains sont généralement utilisés pour des taches de navigation, et le choix doit se faire en considérant le domaine spatial et temporel dans lequel le véhicule va se déplacer : la distance maximale parcourue et la durée du vol. On devra prendre la référence la plus adaptée à ces caractéristiques.

Le domaine de vol du micro drone
Pour le micro drone, ces caractéristiques ne sont pas très restrictives : distance maximale de quelques centaines de mètres, et durée du vol de quelques minutes. On peut dire que le vol est local dans l'espace et court dans le temps.
L'aspect spatial suggère de prendre un système de références local, avec son origine fixée à la surface terrestre à l'endroit de décollage du drone.
L'aspect temporel permet de prendre un système non inertiel, comme la Terre en rotation : l'angle de rotation de la Terre pendant le vol va être négligeable pour le système d'observation de l'état. De plus, le fait que l’on ait des mesures GPS (donc des mesures absolues de position) toutes les secondes, permet de dire que l’erreur introduit par les effets non inertiels seront de l’ordre de l’angle de déplacement de la Terre en une seconde…

La référence NED
Le système de références NED ( REF _Ref42420328 \h Figure 2) prend comme origine de coordonnées un point fixé sur la surface terrestre. L'axe x est dirigé vers le Nord, l'axe y vers l'Est, et l'axe z vers le centre de la Terre (d'ici son nom NED : Nord, Est, Down). Il tourne avec la Terre de façon à maintenir sa définition à tout instant. Ce système de référence est donc bien adapté aux caractéristiques de navigation du micro drone.
Les composantes de l'état du micro drone de position, vitesse, accélération et orientation seront exprimées en référence NED.

 SHAPE \* MERGEFORMAT 
Figure  SEQ Figure \* ARABIC 2 Les références ECEF et NED

La référence ECEF
La référence terrestre non inertielle ECEF (Earth-Centred, Earth-Fixed) a son origine au centre de la Terre. L’axe z est dirigé vers le pôle Nord, l’axe x vers l’intersection de l’équateur avec le méridien de Greenwich, et l’axe y vers l’Est ( REF _Ref42420328 \h Figure 2). Elle tourne aussi avec la Terre.
Le récepteur GPS donne des mesures de positon et vitesse référencées à ce système.

La référence avion
Les capteurs autres que le GPS fournissent des données liées à un repère avion. L’axe x est dirigé vers l’avant de l’avion, l’axe y vers l’aile droite et l’axe z vers le bas ( REF _Ref42854233 \h Figure 3).
 SHAPE \* MERGEFORMAT 
Figure  SEQ Figure \* ARABIC 3 La référence avion

Les grandeurs du vecteur d’état correspondantes aux vitesses angulaires sont aussi exprimées en référence avion. La seule raison de ce choix est la simplification des équations d’évolution du quaternion d’orientation (voir paragraphe  REF _Ref43305817 \r \h 2.2.4).

Les changements de repère
La référence NED a été choisie pour représenter l'état du micro drone. Comme on l’a déjà vu, chaque capteur dans le micro drone prend des mesures qui sont référencées à un autre système que le NED. Divers changements de référence doivent être effectués pour bien exprimer les relations entre les données capteurs et les états.
D’abord il faut différencier entre deux types de grandeurs vectorielles : les vecteurs libres et les vecteurs fixes. Les vecteurs libres sont ceux qui ne sont pas liées à une origine. Ils donnent une information d’amplitude, direction et sens. Une vitesse ou la valeur d’un champ (magnétique par exemple) sont exprimées par des vecteurs libres.
En opposition, les vecteurs fixes sont référencées à un point concret : ils sont utilisés pour déterminer des positions absolues dans l’espace, et leurs origines sont toujours fixées à l’origine des coordonnées ( REF _Ref42855667 \h Figure 4).
Pour les vecteurs libres, le changement de repère entre deux systèmes de coordonnées XYZ et UVW est accompli par une seule rotation. Pour les vecteurs fixes il faudrait en plus considérer la position de l’origine du deuxième système par rapport à celle du premier.
Une rotation est accomplie par pré multiplication par la matrice des cosinus   REF _Ref43307530 \r \h [4]. Une translation est accomplie par une simple addition. Ainsi, le passage de l’expression d’un vecteur fixe de la référence XYZ à la référence UVW est accompli avec l’opération suivante :
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 1)
Où le vecteur  est la position de l’origine du système de références XYZ exprimée en coordonnées UVW.

 SHAPE \* MERGEFORMAT 
Figure  SEQ Figure \* ARABIC 4 Vecteurs fixes et libres : r est un point dans l'espace représenté par les vecteurs fixes rUVW ou rXYZ. v est un vecteur libre représenté par vUVW ou vXYZ. La matrice réalise la rotation entre les deux systèmes coordonnés. r0 est l'origine du système XYZ exprimé en référence UVW.

La transformation NED à ECEF
L’équation  GOTOBUTTON ZEqnNum631254 \* MERGEFORMAT  REF ZEqnNum631254 \! \* MERGEFORMAT (1) peut s’utiliser pour exprimer les données GPS en référence NED,  étant les coordonnées ECEF de l’endroit de décollage du drone. Si l’on pouvait considérer la Terre comme sphérique, la matrice de cosinus serait celle qui correspond aux angles de longitude et latitude de la zone de vol. Pour plus d’exactitude, il faut considérer la forme géoïde de la planète. Des détails sur la transformation des données GPS peuvent se trouver en  REF _Ref43307530 \r \h [4], pages 340 à 345. Cette transformation est caractérisée par le vecteur et la matrice de cosinus , qui sont des paramètres constants. L’effet géoïde se traduit par un couple qui ne correspond pas exactement aux angles de latitude et longitude de l’endroit du décollage.
La matrice de cosinus de passage du repère NED au repère avion
Pour les vecteurs libres, il suffit d’appliquer la même expression en prenant le vecteur . Cette transformation s’applique à toutes les grandeurs mesurées en référence avion, la matrice de cosinus étant celle qui représente l’orientation du drone par rapport à la référence NED (précisément l’orientation que l’on veut déterminer). Cette matrice est pourtant variable, et formée directement à partir des composantes d’orientation de l’état. Des détails sur la façon d’obtenir cette matrice de cosinus sont donnés en  REF _Ref43307530 \r \h [4] et  REF _Ref43521020 \r \h [9]. Limitons-nous à donner son expression en fonction du quaternion d’orientation :
Soit  le quaternion représentant l’orientation du drone par rapport aux axes NED. La matrice de cosinus associée à cette rotation s’écrit :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 2)

Le modèle cinématique d'état
Notations
Avant la formulation d’un modèle il faut bien préciser les notations et conventions adoptées :
Les grandeurs de position, vitesse et accélération sont exprimées en mètres, mètres par secondes et mètres par secondes au carré en référence NED.
On a choisi le quaternion pour exprimer l'orientation du micro drone pour ses avantages de traitement mathématique et pour l'absence de discontinuités dans sa définition. Ce quaternion représente la rotation par rapport à la situation ou l’avion est en vol stabilisé horizontal vers le nord, soit aligné avec l’axe x de la référence NED. Son équation d’évolution en fonction des vitesses angulaires  GOTOBUTTON ZEqnNum910726 \* MERGEFORMAT  REF ZEqnNum910726 \! \* MERGEFORMAT (12) est bien simplifiée si l’on exprime ces dernières en référence avion, soit telles qu’elles sont fournies par les gyromètres. En plus, les expressions mathématiques obtenues sont continues et continûment dérivables, fait qui se rendra important lors de son traitement postérieur.
Les vitesses angulaires sont donc exprimées en radians par seconde en référence avion.

Discrétisation temporelle du modèle
La programmation des algorithmes de filtrage a besoin d’un échantillonnage temporel, donc d’une discrétisation des équations différentielles en équations de différences. Pour bien approximer la dérivée avec une différence, la période d’échantillonnage doit être assez petite. On a choisi une période de 40 millisecondes, ce qui correspond au débit maximal des données des accéléromètres et des gyromètres.
L’approximation utilisée pour discrétiser la dérivée temporelle de la fonction continue à la période d’échantillonnage  correspond à :
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 3)
Il est clair qu’à la limite, quand la période d’échantillonnage Te tend vers zéro, l’approximation tend elle-même vers la définition de la dérivée.
Après la discrétisation temporelle, une équation différentielle de la forme  peut s’approcher par l’équation de différences :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 4)

Puissance du bruit échantillonné
Si par contre on a une équation différentielle avec un terme stochastique de la forme
,  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 5)
ou  est un bruit blanc multi variable avec matrice de covariances , il vient l’approximation par l’équation de différences :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 6)
Pour des raisons de simplicité, on note le terme de bruit sans la correction de la racine de la période d’échantillonnage, soit :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 7)
De ce fait, il est important de noter que la puissance de ce nouveau bruit  est maintenant :
,  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 8)
valeur qu’il faudra bien actualiser chaque fois qu’on modifiera la période d’échantillonnage, puisque la valeur physique de l’incertitude correspond a celle de l’équation différentielle, soit .

De l’incertitude du système au bruit de système
Le modèle dynamique du micro drone étant trop complexe et fortement non linéaire, avec beaucoup des paramètres et comportements peu connus ou variables  REF _Ref43304909 \r \h [4], on a envisagé de le simplifier en enlevant toute la partie dynamique, c'est-à-dire, en ne modélisant que les relations cinématiques entre ces différentes grandeurs. Tout ce qui n’est pas modélisé dans les équations est considéré comme incertain et doit donc être inclus dans le terme de bruit.
De plus, l’influence de la commande sur l’état n’est plus modélisée. Le résultat est un jeu d’équations cinématiques très simple qui n’a pas besoin d’un modèle du véhicule. En conséquence, on peut dire que tout le travail qui est fait au delà de ce point reste valide quel que soit le véhicule considéré : aérien, marin ou terrestre. Tout artefact autonome qui embarque les capteurs et la puissance de calcul du système micro drone pourra bénéficier des résultats de ce travail, indépendamment de son comportement dynamique, soit, de son comportement par rapport au milieu par où il se déplace. L'avantage est évident !

Modèle cinématique d’état
Le modèle cinématique d'un véhicule en navigation dans un espace tridimensionnel peut s'écrire, après discrétisation :

  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 9)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 10)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 11)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 12)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 13)

Dans ce modèle :
 est le vecteur de position à l’instant k ;
 est le vecteur de vitesse ;
 est le vecteur d’accélération ;
 est le quaternion d'orientation ;
 est le vecteur des vitesses angulaires ;
et  est la matrice antisymétrique formée avec les composantes des vitesses angulaires.
Les termes,,, et correspondent aux incertitudes du système. Leurs puissances de bruit associées doivent être déterminées et arrangées en considérant l’expression  GOTOBUTTON ZEqnNum795376 \* MERGEFORMAT  REF ZEqnNum795376 \! \* MERGEFORMAT (8). Voir paragraphe  REF _Ref42926367 \r \p \h 2.2.2.1 ci-dessus.

Séparation en sous-systèmes
Si l'on ne considère pas les aspects dynamiques, les grandeurs rectangulaires (ou de localisation) du modèle restent découplées des grandeurs angulaires (ou d'orientation).
Les équations  GOTOBUTTON ZEqnNum424381 \* MERGEFORMAT  REF ZEqnNum424381 \! \* MERGEFORMAT (9) à  GOTOBUTTON ZEqnNum758348 \* MERGEFORMAT  REF ZEqnNum758348 \! \* MERGEFORMAT (11) décrivent les relations cinématiques de localisation du véhicule;
les équations  GOTOBUTTON ZEqnNum910726 \* MERGEFORMAT  REF ZEqnNum910726 \! \* MERGEFORMAT (12) et  GOTOBUTTON ZEqnNum751815 \* MERGEFORMAT  REF ZEqnNum751815 \! \* MERGEFORMAT (13) décrivent celles de l'orientation;
aucune relation ne lie le premier jeu d'équations au deuxième.
En conséquence, on peut étudier séparément les deux sous-systèmes.
Le sous-système de localisation
Pour le sous-système de localisation on peut écrire l'équation d'état suivante :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 14)

Cette équation définit le mouvement de translation d'un corps à accélération constante dans un espace en trois dimensions. Les équations sont assez simples, car elles sont linéaires à coefficients constants, et la matrice d'évolution a des zéros presque partout. En conséquence, l'observation de l'état d'un tel système ne présente de difficultés particulières : elle s’agit d’un simple exercice académique.
Par contre, la réalisation pratique d'un tel observateur présente certaines particularités et difficultés, liées aux éléments capteurs, qui devront être résolues. Principalement, la basse fréquence d'acquisition du récepteur GPS et son retard associé posent des problèmes  REF _Ref43307318 \r \h [9]. On en parlera plus loin (voir  REF _Ref43046741 \r \h 2.3.3.4).
Le sous-système d'orientation
Pour le sous-système d'orientation on arrive à l'équation d'état suivante :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 15)
Ces équations sont fortement non linéaires. Grâce à l’adoption du quaternion comme représentation de l’orientation, elles sont bien continues et continûment dérivables et l’application d’un filtre de Kalman étendu est donc bien adaptée.

Le modèle des mesures
Généralités
Les signaux mesurés doivent être liés aux états à observer. Il serait bon de disposer d'un capteur pour chaque grandeur de l'état avec une bonne précision, bonne rapidité de réponse, et bien découplé des autres grandeurs. Malheureusement, cette situation est très loin de la réalité : les lois de la physique et le coût de certains éléments limitent le choix et déterminent la composition des capteurs utilisés. Au moins, on dispose d'un jeu de capteurs qui assure l'observabilité du système. Ainsi, chaque capteur fournis ses données à un débit concret, et exprimées en un système de références particulier.
La modélisation d’un capteur physique pourrait être un motif suffisant pour un autre travail complet : tout dépend du degré d’exactitude souhaité. Grewal  REF _Ref43286604 \r \h [1] propose un modèle à 48 paramètres pour un gyromètre, plus un autre de 12 paramètres pour l’accéléromètre. Dans notre cas, les modèles proposés sont beaucoup plus simples. La pertinence des modèles simples peut se défendre en considérant les hypothèses introduites tout d’abord : le fait de disposer de mesures absolues comme le champ magnétique ou les données GPS permet de compenser automatiquement les erreurs accumulatives ou intégrales, et en même temps de minimiser l’effet des erreurs les plus faibles. Nous ne traiterons que trois types d’erreurs capteurs : le biais, l’erreur de gain et les désalignements mécaniques d’assemblage des capteurs par rapport aux axes idéales de l’avion.

Notation
L’équation générale  GOTOBUTTON ZEqnNum893374 \* MERGEFORMAT  REF ZEqnNum893374 \! \* MERGEFORMAT (16) est l’utilisée pour exprimer les données d’un capteur tridimensionnel générique en fonction des grandeurs de l’état, des erreurs de biais, de gain, le désalignement, et des rotations du système de référence :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 16)

Les termes composant cette équation sont :
m est la grandeur physique à mesurer en référence NED;
mc est la sortie capteur, soit la mesure ;
 est la matrice de cosinus qui transforme la grandeur m dans la référence avion ;
mð est le biais ;
Sm est une matrice qui concentre, d un coté, les erreurs de gain (termes de la diagonal principale), et de l autre les désalignements ou non orthogonalités du capteur (termes hors la diagonal principale, qui se traduisent en couplages entre les différentes composantes de la mesure). La valeur idéale de Sm, sans erreurs, est l’identité ;
vm est le terme de bruit de mesure. Il contient tout ce qui n’est pas modélisé.
La même équation en forme explicite s’écrit comme suite :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 17)

Les signaux mesurées
Nous donnons ici une description qualitative des différents capteurs embarqués, et leurs limitations principales.
Le magnétomètre 3D
Le magnétomètre mesure le champ magnétique dans le système de références avion. Il est connecté avec l’unité de calcul par une liaison série RS232. Ses performances dynamiques ne sont pas aussi bonnes que celles des accéléromètres ou des gyromètres. Il fournit des données six fois par seconde, mais avec le désavantage de n’avoir pas un débit fixe : la période d’échantillonnage pour ces données est d’environ 140ms, avec une incertitude de 5ms environ, ce qui rend délicat son traitement synchrone.
Par rapport aux performances statiques, ce capteur a besoin de calibrage : le biais et l’erreur de gain n’étant pas négligeables, ils peuvent facilement être déterminés et compensés, car ils restent bien stables. Ce calibrage doit être effectué avec le capteur et tous les autres dispositifs embarqués pour tel de compenser les déviations du champ magnétique qu’ils peuvent créer. L’équation de mesure statique qui contient toutes ces indéterminations est donnée par :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 18)

La notation utilisée est analogue a celle de l’équation  GOTOBUTTON ZEqnNum701054 \* MERGEFORMAT  REF ZEqnNum701054 \! \* MERGEFORMAT (17), m = (mx, my, mz) étant le champ magnétique terrestre local dans la zone de vol.
Le capteur à une procédure propre de calibrage qui détermine les gains et les biais les plus adaptés peur obtenir des mesures de champ magnétique : Ce champ étant une constante, si l’on fait tourner le capteur dans toutes le positions, l’ensemble des données doit être une sphère centrée à l’origine avec l’amplitude du champ comme rayon. Ce procédure est interne au capteur mais doit s’activer à la main au moins une fois pour fixer les trois composantes de gain de Sm et les trois de mð.
Des essais réalisés au DAS ont conduit à constater que cette procédure avait bien réussi à obtenir un ensemble sphérique, mais non centré à l origine. Une méthode simple d obtenir le centre et le rayon d un ensemble sphérique est d utiliser les moindres carrés non linéaires pour minimiser le critère :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 19)
où m est l’amplitude du champ magnétique, soit le rayon de la sphère. On peut voire la pertinence de ce méthode en l'ensemble de données après calibrage ( REF _Ref43373730 \h Figure 5).


Figure  SEQ Figure \* ARABIC 5 Représentation tridimensionnel des données du magnétomètre après calibrage par la méthode des moindres carrés non linéaires pour un ensemble pseudo sphérique de mesures.

Finalement, le modèle de mesures du magnétomètre devient très simple :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 20)
Le champ magnétique terrestre local m peut être déterminé de plusieurs manières, mais la plus simple est de le mesurer directement avec les capteurs embarqués. Il faut d'abord déterminer son angle par rapport à la direction vertical et connaître la déclination magnétique de la zone de vol.
L'angle bð par rapport à la direction vertical est déterminé à partir des mesures conjointes du vecteur gravité g et du vecteur magnétique m. Son expression est:
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 21)
Ce valeur est de 26,3º environ à Toulouse. Ensuite, la déclination magnétique doit se prendre des données expérimentales. A Toulouse elle est d'environ 1º ouest. Ainsi petite, on l'a négligée.
L'expression obtenue pour le vecteur du champ magnétique est :
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 22)
où la valeur m ou amplitude du champ magnétique est le rayon de la sphère.
L'accéléromètre 3D
L'accéléromètre mesure les accélérations dans le système de références avion. De par sa conception physique, il détecte aussi la force de la gravité comme une accélération g = 9.81m.s-2 vers le haut. Il a des très bonnes performances dynamiques, mais par contre, il a besoin de calibrage. Le biais et l’erreur de gain n’étant pas négligeables, ils peuvent facilement être déterminés et compensés, car ils restent bien stables. L’équation de mesure qui contient toutes ces indéterminations est donnée par :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 23)

Les grandeurs à gauche de l’égalité correspondent aux données fournies (soit les sorties) ; La diagonale de la matrice représente les gains capteurs pour chacun des axes de mesure ; les termes hors la diagonal sont les désalignements et couplages entre composantes ; les deux vecteurs accélération et champ gravitationnel sont pré multipliés par la matrice de cosinus ; les grandeurs en lettres grecques sont les biais.
Une procédure de calibrage analogue a celle du magnétomètre peut être utilisée, cette fois sans l’aide d’auto calibrage du capteur. D’abord, il faut générer un ensemble de données pseudo sphérique représentatif du vecteur gravité en explorant toutes les positions possibles du capteur, et utiliser les moindres carrés non linéaires pour déterminer les gains capteurs et le biais. Le critère à minimiser doit inclure les termes de gain, comme suite :
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 24)

Le modèle de l’accéléromètre reste identique mais beaucoup de termes ne sont plus incertains.
Finalement, indiquons que le champ gravitationnel terrestre près de la surface a une expression évidente :
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 25)

Le gyromètre 3D
Le gyromètre mesure des vitesses angulaires dans le système de références avion. Il possède aussi des très bonnes performances dynamiques, mais cette fois les incertitudes statiques ne peuvent pas être pré-calibrées : le biais souffre d’une dérive temporelle importante qui dépend de plusieurs facteurs lourds à modéliser. Le gain peut être déterminé à priori et compensé pendant le vol. L’équation de mesure qui contient toutes ces indéterminations est donnée par :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 26)

La notation est analogue aux notations précédentes. La matrice de cosinus n’apparaît pas car le vecteur (p, q, r) représentant les trois vitesses angulaires est déjà exprimé en référence avion.
Le calibrage de ce capteur se rend assez difficile car ces incertitudes ne sont pas invariantes dans le temps. Le désalignement doit se déterminer une fois et rester fixe. Les gains pourront encore être fixés par calibrage, mais ce calibrage aurait alors besoin d’un banc d’essais étalonné car il est impossible de générer un ensemble sphérique de données. Ces calibrages peuvent cependant s’accomplir avec l’algorithme de calibrage préalable au vol, qui va être introduit plus tard (voir  REF _Ref43048333 \r \h 2.5.1). Le biais par contre n’est pas calibrable car trop variable.
Le récepteur GPS
La constante évolution de la technologie GPS a permis la construction des récepteurs de plus en plus miniaturisés. On est capable maintenant d’incorporer ces mesures de localisation absolues dans les systèmes de navigation et de pilotage automatiques pour des avions aussi petits que des micro drones, qui étaient il y a peu de temps limités aux solutions purement inertielles. Mais la grande popularité des performances GPS est un peu dangereuse : d’un coté, la précision de l’ordre du mètre est insuffisante si on la compare avec la taille du micro drone, qui est de l’ordre du centimètre ; de l’autre, le débit de sortie d’un jeu de mesures par seconde le rend aussi insuffisant quand l’on constate que la vitesse de translation va être d’environ quinze mètres par seconde, soit vingt fois la taille du drone.
Les incertitudes des données par rapport à son exactitude statique ne sont pas modélisées. Elles sont considérées dans le terme de bruit de mesure du filtre. Par contre, l’effet principal, comme on l’a souligné plus haut, est son retard important. Cet effet, et ses conséquences par rapport a la fusion des données avec des capteurs inertiels, a été peu étudié dans la littérature  REF _Ref43529768 \r \h [6]. Pour l’instant on l’a négligé dans les équations du filtre, mais certaines corrections faciles peuvent être introduites. Par exemple, les équations suivantes incluent le retard dans le modèle des mesures GPS :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 27)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 28)
Ces équations sont assez simples mais peuvent encore servir si l’on les traite avec attention. Le temps de retard , inconnu, peut se déterminer par essais sur le récepteur GPS. Ensuite, la valeur de la vitesse et, surtout, celle de l’accélération doivent être prises comme moyennes dans la période d’échantillonnage du GPS, d’une seconde environ. Sinon, on risque de prendre une valeur instantanée extrême et corriger en excès les données GPS.
L’option la plus simple est de ne pas considérer ce retard et rajouter aussi cette incertitude dans le terme de bruit. Les équations de mesure GPS sont alors :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 29)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 30)

Les bruits de mesure
Les équations des modèles de mesures contiennent en dernier terme le bruit de mesure, représenté par la lettre v en gras à droite. Ce bruit contient tout ce qui n’est pas modélisé. Il est considéré blanc et gaussien, donc il suffi de déterminer sa puissance ou variance caractéristiques pour le caractériser. Le réglage de ces valeurs peut se faire en quantifiant le bruit observé dans les données capteurs.

Extension du vecteur d’état avec les incertitudes des capteurs
Tout paramètre incertain des modèles de mesures peut être estimé de forme optimale par sa valeur moyenne en utilisant le critère de minimum de variance. Le filtre de Kalman, avec un modèle de système convenablement reformulé pour inclure ces nouvelles variables, va nous donner précisément cette meilleure estimation. Il est donc pertinent de rajouter ces paramètres inconnus comme variables d’état du système et laisser le filtre trouver ses meilleures valeurs.
Les grandeurs scalaires ou vectorielles vont se rajouter dans le vecteur d’état de forme directe ; Les grandeurs matricielles doivent se réorganiser sous forme vectorielle. Ces grandeurs sont traitées comme des mouvements browniens, avec une équation d’évolution de la forme :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 31)
 étant un bruit blanc gaussien discret.
Voici le vecteur d’état augmenté (à 40 états) avec toutes les incertitudes non calibrées :
SymbolervaqwðsaaðsggðDimension3x13x13x14x13x13x33x13x33x1Sous vecteur3x13x13x14x13x19x13x19x13x1Indices1-34-67-910-1314-1617-2526-2829-3738-40Table  SEQ Table \* ARABIC 1 Extension du vecteur d état avec des paramètres incertains

Où les vecteurs sa et sg sont construits avec :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 32)

Les observateurs de calibrage et de poursuite
Arrivés à ce point là, on est tenté d’être un peu désillusionné. Nous avons cherché une méthode simple et de calcul rapide, et on est tombé sur un filtre de Kalman non linéaire de dimension 40 ! Est-ce qu’avec cet approche on est plus proche de la solution, ou pas ?
D’abord il faut rappeler les caractéristiques des dispositifs embarqués. Leur construction dite strap down, en état solide à silicium, à basse consommation d’énergie et à taille miniaturisée comporte une perte très importante de performances et une plus grande complexité dans le traitement mathématique, qui doit être compensée par des astuces de calcul importantes.
Pour minimiser la taille de ce filtre il faut bien regarder chaque paramètre et essayer de l’estimer, si possible, une seule fois. Après, pendant le vol, il ne restera que les variables de l’état réel et les paramètres que l’on n’a été capable de fixer.
Regardons les matrices Sa et Sg. Elles sont de la forme de la matrice S ci-dessous :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 33)

Cette matrice contient les gains de chaque axe du capteur dans sa diagonal, et des termes de couplage entre axes ou désalignement dans les autres termes. On définie les matrices K et L pour représenter ces effets différents comme c’est indiqué dans  GOTOBUTTON ZEqnNum323925 \* MERGEFORMAT  REF ZEqnNum323925 \! \* MERGEFORMAT (33).
On a vu en  REF _Ref43031975 \r \h 2.3.3.2 que, pour les accéléromètres, la matrice K peut se déterminer avec la méthode des moindres carrés non linéaire à partir d’un ensemble pseudo sphérique de mesures. La matrice L est fruit du désalignement du capteur par rapport aux axes de l’avion. En conséquence, elle est une constante et nous avons trois méthodes pour la déterminer : Soit on la considère nulle puisque le capteur est bien alignée (cas de construction mécanique minutieuse), soit on la détermine en un banc d’essais étalonné, soit on l’estime avec un filtre de Kalman qui la contient dans son état. Il n’est pas nécessaire d’embarquer ce filtre, puisqu’une fois qu’on connaît L, on peut utiliser sa valeur constante pendant les vols.
Le biais mð des accéléromètres est aussi déterminé avec la méthode des moindres carrés non linéaire.
Pour les gyromètres le cas n est pas aussi favorable, mais il y a encore des méthodes pour réduire la complexité du filtre. La matrice de désalignements L associée est toujours constante, et les gains dans K sont assez stables. Ils peuvent donc être déterminés avec les mêmes méthodes soulignées et enlevés du filtre embarqué. Il ne restera que le biais, qui n’est que de dimension 3.
Pour ce qui concerne le désalignement du magnétomètre, il faut noter que les axes de référence de l’avion sont elles mêmes arbitraires. On peut donc les arranger pour être coïncidentes avec un des systèmes de référence existants. On a choisi le magnétomètre car il est le capteur le plus précis et complètement calibrable, donc ce qui peut faire la meilleur référence.

L’observateur de calibrage
Nous sommes déjà compétents pour formuler les équations du filtre de Kalman responsable du calibrage des capteurs. Ce filtre pourra difficilement travailler en temps réel dans le calculateur embarqué. Il faudra donc l’installer dans un PC portable et le faire travailler avec des données transmises par le drone via radio, avec un profil de mouvements prédéfini aussi riche en information pour accélérer au maximum les temps de convergence.
Si on utilise le vecteur augmenté aux 34 états non calibrables (voir  REF _Ref43434446 \h Table 2), les équations du système et des mesures sont présentées en annexe  REF _Ref43090794 \r \h 5.1.1.
SymbolervaqwðlasggðDimension3x13x13x14x13x13x33x33x1Sous vecteur3x13x13x14x13x16x19x13x1Indices1-34-67-910-1314-1617-2223-3132-34Table  SEQ Table \* ARABIC 2 Extension du vecteur d état de l'observateur de calibrage

Où le vecteur la est construit avec les composantes de désalignement de l'accéléromètre de la forme :
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 34)

La formulation complète du filtre se trouve en annexe  REF _Ref43090810 \r \h 5.1.2.

L’observateur de poursuite
L’observateur de poursuite est beaucoup plus portable. Il estime, comme c’est déjà dit, l’état du micro drone et le biais du gyromètre. Voici la table du vecteur d état concerné :
SymbolervaqwðgðDimension3x13x13x14x13x13x1Sou vecteur3x13x13x14x13x13x1Indices1-34-67-910-1314-1617-19Table  SEQ Table \* ARABIC 3 Extension du vecteur d état de poursuite

Les équations de système et des mesures, ainsi que la formulation complète des équations du filtre sont détaillées en l’annexe  REF _Ref43091325 \r \h 5.2. Les matrices des jacobiens involucrées semblent trop lourdes, mais en fait elles ont la majorité de ses paramètres constants.
Traitement des mesures asynchrones
La dernière astuce de calcul est introduite pour gérer l’arrivée asynchrone des mesures  REF _Ref43287406 \r \h [1]. La méthodologie utilisée permet de réaliser la phase de correction à l’arrivée de chaque mesure individuelle, et en même temps réduire énormément le temps de calcul en évitant toute inversion de matrices.
Pour cela, on a besoin de rappeler les équations du filtre de Kalman étendu. Pour un système non linéaire de la forme
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 35)
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 36)
où wk et vk sont des bruits blancs ponctuels gaussiens avec matrices de covariances respectives Q et R, on définie les jacobiens F et H de linéarisation de jð et h autour de l estimé de x à l instant k :
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 37)
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 38)
Les équations de la phase de prédiction du filtre sont :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 39)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 40)
où P est la matrice de covariances de l’état estimé.
Par la suite, on négligera les sous indices indiquant l’aspect temporel, en remarquant l’aspect récursif des équations avec le sur indice (+) pour la grandeur actualisée. Cela rendra plus claire la notation lorsqu’on traite les prédictions et les corrections de façon asynchrone.
Ainsi, les équations de la phase de correction sont :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 41)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 42)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 43)
L’équation  GOTOBUTTON ZEqnNum276186 \* MERGEFORMAT  REF ZEqnNum276186 \! \* MERGEFORMAT (43) est connue comme la correction de la variance de l’état. Elle a diverses réalisations  REF _Ref43286604 \r \h [1], celle dans  GOTOBUTTON ZEqnNum263536 \* MERGEFORMAT  REF ZEqnNum263536 \! \* MERGEFORMAT (44) étant son alternative la plus simple :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 44)
De toutes ces opérations, la plus lourde est l’inversion matricielle apparaissant dans  GOTOBUTTON ZEqnNum699177 \* MERGEFORMAT  REF ZEqnNum699177 \! \* MERGEFORMAT (42) et  GOTOBUTTON ZEqnNum276186 \* MERGEFORMAT  REF ZEqnNum276186 \! \* MERGEFORMAT (43). Le traitement d’une seule mesure à la fois va permettre de réduire cette inversion matricielle à une division par un scalaire.
Considérons l’arrivée d’une seule mesure yi . On peut écrire :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 45)
Le jacobien de la fonction scalaire de sortie yi est le vecteur ligne Hi :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 46)
La correction de l’état  GOTOBUTTON ZEqnNum140055 \* MERGEFORMAT  REF ZEqnNum140055 \! \* MERGEFORMAT (41) par cette mesure s’écrit maintenant :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 47)
Si les bruits de mesure sont décorrélés, R est diagonale et le calcul du gain de Kalman est :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 48)
où le terme HiPHiT est maintenant un scalaire, et ri est le i-ème terme de la diagonale de R, soit le scalaire correspondant à la puissance de bruit de vi. L’inversion matricielle a donné place donc à une division par un scalaire. Pour insister sur ce point, on réécrit l’expression du gain K de la forme :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 49)
De plus, on observe que les fonctions hi dépendent de très peu des composantes de l’état x. Regardons, par exemple, la fonction correspondant à la mesure de la composante p du gyromètre (indice 14 dans le vecteur d’état), et supposons pour des raisons de simplicité que le capteur est parfaitement aligné :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 50)
Son jacobien est constant et il a des zéros presque partout :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 51)

Le calcul matriciel sera plus efficace si l’on n’effectue que les produits non nuls. Pour finir l’exemple, donnons l’expression ainsi arrangée du gain de Kalman lorsque arrive la mesure p du gyromètre :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 52)
Douze produits, quatorze additions et une division ! Ces techniques de simplification, et la réutilisation de résultats intermédiaires pour éviter de répéter plusieurs fois le même calcul, seront utilisées systématiquement dans les algorithmes embarqués. Pour les corrections, une fonction différente pour chaque ligne de mesure doit être définie.
Finalement nous donnons le schéma de calcul à suivre pour ce filtre ( REF _Ref43107495 \h Figure 6), en rappelant que, pour la partie estimation, on peut séparer le système en les sous-systèmes de localisation et d’orientation, réduisant aussi le nombre d’opérations mathématiques. De plus, les jacobiens ou d’autres grandeurs qui sont constantes ne seront calculés qu’une seule fois.
 SHAPE \* MERGEFORMAT 
Figure  SEQ Figure \* ARABIC 6 Intégration des corrections non synchrones
Résultats obtenus
Extension des travails réalisés
Tout le travail théorique ici présenté n’a pas pu être entièrement traduit en algorithmes. En fait, on a focalisé notre énergie sur la résolution du problème de l’orientation puisqu’il est de loin le plus compliqué. Le sous-système de localisation a été abordé au début du travail pour s’entraîner dans les concepts d’estimation et filtrage, nouveaux pour l’auteur à la date d’entré en stage. Les résultats obtenus ne sont pas très dignes de mention puisque l'on a travaillé sur un système fictif et énormément simplifié. Simplement, on l’a constaté, Mr. Kalman avait raison.
En ce qui concerne le sous-système d’orientation de nombreux résultats satisfaisants ont été obtenus. On a pu étudier qualitativement l’influence des différentes mesures et bruits sur la convergence du filtre, le traitement asynchrone des arrivées des mesures, l’estimation des paramètres inconnus dans les modèles des capteurs…
En même temps, divers outils ont été développés (annexes  REF _Ref43304114 \r \h 5.4 et  REF _Ref43440811 \r \h 5.5) :
Une boite carrée pour y installer l’avionique et faire des tests "étalonnés". On a pu réaliser des mouvements assez précis de 90, 180 ou 360 degrés, calibrer les capteurs en générant des ensembles pseudo sphériques de données, et générer des séries de données réelles sans la nécessité de faire voler le drone.
Un afficheur dynamique tridimensionnel de l’orientation du drone (MATLAB) où l’on peut bien voir les mouvements d'orientation dans l’espace, à partir des grandeurs estimées du quaternion. Avec cet afficheur, on veut les mouvements correspondants à l'orientation d'un petit drone virtuel comme si s'était une vidéo.
Une bibliothèque MATLAB avec les fonctions les plus utilisées : changements de repère, construction de sous matrices, calcul des jacobiens…
Un générateur de données artificiel, aussi en MATLAB, ou l’on peut choisir entre différentes séries de mouvements, rajouter des incertitudes du modèle des capteurs, ou rajouter de bruit.
Les résultats les plus remarquables son présentés ci-après.

L'observateur de poursuite : Convergence pour diverses configurations non extensives de mesures
Le système étant sur observable, on a recherché le jeu de mesures minimal qui assurait une bonne observabilité, en qualité et en vitesse de convergence. On a étudié le comportement de l’observateur pour des configurations pour lesquelles on a désactivé divers capteurs du système de mesures.
Pour l’observateur de poursuite (état et biais du gyromètre, voir  REF _Ref43390911 \h Table 3), divers tests ont été réalisés.
Nous présentons ici une série de résultats, tous avec le même profil de mouvements et le même réglage du filtre. Tous les graphiques montrent : le quaternion d’orientation (Attitude), les vitesses angulaires (Angular rates), les biais des gyromètres (Gyro drifts) et les variances des composantes de l’état (Variances), soit la diagonal de la matrice P. La courbe bleue est la première composante, la verte est la deuxième, la rouge la troisième, et la bleue claire la quatrième. L’axe horizontal est divisé en secondes.
Observation avec profil artificiel de mouvements et toutes les mesures : Gyromètre (p,q,r), Accéléromètre (x,y,z) et Magnétomètre (x,y,z) ( REF _Ref43291563 \h Graphique 1 dans annexe  REF _Ref43304604 \r \h 5.3).
C’est la configuration extensive de départ, avec tous les capteurs activés. La convergence du filtre est rapide et tant le quaternion comme les vitesses angulaires sont obtenues avec une très bonne fidélité.
Observation avec profil artificiel de mouvements et les mesures : Gyromètre (p,q,r), Accéléromètre (x,y) et Magnétomètre (x,y) ( REF _Ref43291609 \h Graphique 2 dans annexe  REF _Ref43304604 \r \h 5.3)
On a désactivé les composantes verticales de l’accéléromètre et du magnétomètre puisqu’elles sont celles qui portent moins d’information dans les conditions réelles de vol. Les résultats sont très bons, identiques aux précédents.
Observation avec profil artificiel de mouvements et les mesures : Gyromètre (p,q), Accéléromètre (x,y) et Magnétomètre (x,y) ( REF _Ref43291621 \h Graphique 3 dans annexe  REF _Ref43304604 \r \h 5.3)
En enlevant la composante r du gyromètre, on note une perte de performances importante en l’estimation de cette vitesse. L’orientation est bien obtenue. Le biais de la composante désactivée du gyromètre (en rouge) devient inobservable.
Observation avec profil artificiel de mouvements et les mesures : Accéléromètre (x,y) et Magnétomètre (x,y) ( REF _Ref43291631 \h Graphique 4 dans annexe  REF _Ref43304604 \r \h 5.3)
Désactivant complètement le gyromètre on se persuade que, avec les mesures de l’accéléromètre et du gyromètre dans le plan de vol (grandeurs x et y), le système est encore observable mais les performances sont très basses. Le biais du gyromètre devient logiquement inobservable.
Observation avec profil artificiel de mouvements et les mesures : Accéléromètre (y) et Magnétomètre (x,y) ( REF _Ref43291639 \h Graphique 5 et  REF _Ref43291646 \h Graphique 6 dans annexe  REF _Ref43304604 \r \h 5.3)
Si l’on désactive encore une mesure, le système devient observable de forme critique : si les mouvements sont riches en information, on arrive encore à l’observer ( REF _Ref43291639 \h Graphique 5, à partir de la 35ème seconde), mais ce n’est pas une condition toujours accomplie. Un deuxième test avec un profil de mouvements moins riche rend le système inobservable et le filtre divergent ( REF _Ref43291646 \h Graphique 6).
On peut essayer d’expliquer d'une forme géométrique cet aspect d’observabilité par rapport aux deux vecteurs de référence mesurés : le champ magnétique et la gravité.
Si l’on n’observait que la gravité, on aurait une indétermination autour de l’axe z (vertical) car la gravité est un vecteur vertical (c’est le cas si l’on prétend s’orienter à l’aide d’un pendule : on connaît le haut et le bas, mais pas le nord !).
Un cas analogue est le vecteur champ magnétique. À Toulouse, son angle d'inclinaison est de 63º par rapport à l’horizontal. Il est donc assez vertical, dirigé vers le "nord bas". De manière analogue au cas de la gravité, si l'on n'observait que le champ magnétique, on aurait une indétermination autour de cet axe magnétique.
L'observabilité totale de l'orientation a besoin des deux vecteurs. Mais il n'y a pas besoin de toutes les composantes des deux vecteurs (six composantes). L'orientation étant un sous espace de dimension trois, on a besoin des observations de rang trois pour la déterminer. Ce rang est accompli avec quatre composantes des vecteurs, et devant choisir, on prendra celles qui portent plus d'information dans les conditions de vol habituelles (le drone volera en moyenne en position plus ou moins horizontale). Les composantes verticales ou presque verticales seront multipliées par le cosinus de l'angle d'inclinaison, et autour de zéro sa valeur resterait presque constante. On prend les composantes x et y des deux capteurs car, pour des angles d'inclinaison petits, elles sont alors multipliées par leurs sinus, l'information obtenue par les capteurs est donc beaucoup plus riche.

Les essais suivantes ont été réalisés avec des données réelles prises avec la boite de l'avionique. Le profil de mouvements effectués (à la man !) avec la boite de l’avionique est :
Deux tours sur l’axe x en sens positif
Deux tours sur l’axe y en sens positif
Deux tours sur l’axe z en sens positif
Un tour sur l’axe (x,y,z) = (1,1,-1)
Un tour sur l’axe (x,y,z) = (1,-1,-1)
Répétition de tout le profil pour une deuxième fois.

Observation avec des données réelles et toutes les mesures : Gyromètre (p,q,r), Accéléromètre (x,y,z) et Magnétomètre (x,y,z) ( REF _Ref43293570 \h Graphique 7 dans annexe  REF _Ref43304604 \r \h 5.3)
Un minimum de connaissance sur les quaternions permet de dire que le filtre a bien estimé l’orientation du drone. L'utilisation de l'afficheur dynamique d'orientations (voir annexe  REF _Ref43304114 \r \h 5.4) permet de confirmer cette affirmation.
Observation avec des données réelles et les mesures : Gyromètre (p,q,r), Accéléromètre (x,y,z) et Magnétomètre (x,y) ( REF _Ref43293574 \h Graphique 8 dans annexe  REF _Ref43304604 \r \h 5.3)
Avec la désactivation des mesures magnétiques dans l'axe z les résultats sont bons.
Observation avec des données réelles et les mesures : Gyromètre (p,q,r), Accéléromètre (x,y) et Magnétomètre (x,y) ( REF _Ref43381882 \h Graphique 9 dans annexe  REF _Ref43304604 \r \h 5.3)
On constate un ralentissement de la convergence du filtre lors de la désactivation des mesures d'accélération dans l’axe z.
Observation avec des données réelles et les mesures : Gyromètre (p,q,r), Accéléromètre (x,y,z) et Magnétomètre (x,y). Les mesures des accéléromètres ont été prises alternativement à chaque période de 40ms, soit à une période effective de 120ms chacune (trois fois plus lent que avant) ( REF _Ref43381950 \h Graphique 10 dans annexe  REF _Ref43304604 \r \h 5.3).
Les résultats sont bons, et la charge de calcul réduite.

L'observateur de calibrage : Convergence des biais, des gains et des désalignements pour le gyromètre
Divers essais ont été réalisés avec un observateur plus complet. On a utilisé le modèle complet du gyromètre avec les biais, les gains et les désalignements comme inconnus.
L'accéléromètre et le magnétomètre ont été calibrées avec la méthode des moindres carrées pour un ensemble de données pseudo sphérique (voire  REF _Ref43359302 \r \h 2.3.3). Ils ont été considérés alignées entre eux, mais non avec le gyromètre.
Voici le vecteur d'état considéré :
SymbolervaqwðgðsgDimension3x13x13x14x13x13x13x3Sous vecteur3x13x13x14x13x13x19x1Indices1-34-67-910-1314-1617-1920-28Table  SEQ Table \* ARABIC 4 Vecteur d’état pour l'observateur de calibrage du gyromètre

Les premiers tests ont été effectués avec des jeux artificiels de mouvements. On a utilisé pour le modèle du gyromètre l'équation  GOTOBUTTON ZEqnNum869273 \* MERGEFORMAT  REF ZEqnNum869273 \! \* MERGEFORMAT (26), avec ses paramètres caractéristiques non idéales de désalignement et biais fixés arbitrairement aux valeurs:
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 53)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 54)

Tous les graphiques montrent : le quaternion d’orientation (Attitude), les vitesses angulaires (Angular rates), les biais des gyromètres (Gyro drifts) et les composantes de la matrice de désalignements (Gyro gains and misalignments). L’axe horizontal est divisé en secondes. Les tests suivants ont été réalisés :
Calibrage avec profil artificiel de mouvements et toutes les mesures : Gyromètre (p,q,r), Accéléromètre (x,y,z) et Magnétomètre (x,y,z) ( REF _Ref43376327 \h Graphique 11 dans annexe  REF _Ref43304604 \r \h 5.3).
C’est la configuration extensive de départ, avec tous les capteurs activés. La convergence du filtre est rapide et tant le quaternion que les vitesses angulaires sont obtenues avec une très bonne fidélité. Observer la convergence des composantes de la matrice de désalignements et des biais vers les valeurs montrées en  GOTOBUTTON ZEqnNum280402 \* MERGEFORMAT  REF ZEqnNum280402 \! \* MERGEFORMAT (53) et  GOTOBUTTON ZEqnNum472056 \* MERGEFORMAT  REF ZEqnNum472056 \! \* MERGEFORMAT (54).
Calibrage avec profil artificiel de mouvements et les mesures : Gyromètre (p,q,r), Accéléromètre (x,y) et Magnétomètre (x,y) ( REF _Ref43376342 \h Graphique 12 dans annexe  REF _Ref43304604 \r \h 5.3)
On a désactivé les composantes verticales de l’accéléromètre et du magnétomètre puisqu’elles sont celles qui portent moins d’information dans les conditions réelles de vol. Les résultats sont très bons. Observer la convergence des composantes de la matrice de désalignements et des biais vers les valeurs montrées en  GOTOBUTTON ZEqnNum280402 \* MERGEFORMAT  REF ZEqnNum280402 \! \* MERGEFORMAT (53) et  GOTOBUTTON ZEqnNum472056 \* MERGEFORMAT  REF ZEqnNum472056 \! \* MERGEFORMAT (54).
Les essais suivantes ont été réalisés avec des données réelles prises avec la boite de l'avionique. Le profil de mouvements effectués (à la man !) avec la boite de l’avionique est :
Deux tours sur l’axe x en sens positif
Deux tours sur l’axe y en sens positif
Deux tours sur l’axe z en sens positif
Un tour sur l’axe (x,y,z) = (1,1,-1)
Un tour sur l’axe (x,y,z) = (1,-1,-1)
Répétition de tout le profil pour quatre fois consécutives.

Calibrage avec données réelles et toutes les mesures : Gyromètre (p,q,r), Accéléromètre (x,y,z) et Magnétomètre (x,y,z) ( REF _Ref43379681 \h Graphique 13 dans annexe  REF _Ref43304604 \r \h 5.3)
Les résultats sont très satisfaisants. On peut observer les valeurs asymptotiques des biais et des composantes de la matrice de désalignements.
Calibrage avec données réelles et les mesures : Gyromètre (p,q,r), Accéléromètre (x,y) et Magnétomètre (x,y) ( REF _Ref43380040 \h Graphique 14 dans annexe  REF _Ref43304604 \r \h 5.3)
Les résultats sont très satisfaisants. On peut observer les valeurs asymptotiques des biais et des composantes de la matrice de désalignements.



Conclusions et perspectives
Des méthodes pour déterminer l'état d'un micro drone pendant le vol ont été développées. Cet état peut se diviser en deux parties, qu'on les a appelées orientation et localisation, la première étant la plus difficile à observer et la plus importante pour le design d'une loi de commande stabilisante.
L'importance de ces méthodes réside dans la conception miniaturisée de l'avionique. Les capteurs donnent des mesures référencées avion, et les gyromètres souffrent des dérives très importantes. La détermination des grandeurs de navigation dans un contrôleur embarqué, d’aussi petite taille, a besoin d’approches peu étudiées ou délicates.
Des descriptions détaillées ont été présentées au long de ce rapport pour concevoir les algorithmes qui doivent permettre tant le calibrage du système que la poursuite des grandeurs en vol. Ces descriptions incluent des méthodes pour minimiser la complexité de calcul à embarquer.
Des algorithmes destinés à l'observation de l'orientation ont été développés et testés sous plusieurs conditions, et les résultats ont été très satisfaisants.
L'intégration de la partie de localisation ne devrait pas entraîner de grandes difficultés, mais son bon fonctionnement dépendra, à notre avis, de l'effet du retard des données fournies par le GPS. On n'a pas pu évaluer cet effet, mais diverses idées sont données pour le gérer.
Pour aller plus loin, on se fait les réflexions suivantes : un tel système devient délicat lorsque l'on veut généraliser son domaine d'application à d'autres types de véhicule. Pour des missions sous marines, par exemple, les signaux GPS ne sont pas reçues; Et pour des missions martiennes, le champ magnétique n'a pas un comportement aussi stable que dans la Terre, et son amplitude est tellement petite qu'il est difficile de l'utiliser comme référence. Dans le domaine micro drone, une interférence magnétique ou la perte des réceptions GPS dans des endroits d'accès difficile peut rendre tout le système inutile. De plus, l'évitement des obstacles éventuels a besoin de la réalisation d'une cartographie et de la définition des trajectoires de tous les objets qui se déplacent autour du micro drone…
Pour obtenir un système de navigation robuste à ces situations l'alternative la plus claire est de fusionner des informations de vision artificielle dans les algorithmes, en forme de flux optique. Ça permettrait une localisation référencée à des objets proches, donc très utile pour l'évitement des obstacles ou la navigation dans des endroits fermés, donc sans des références externes. La notion de flux optique vient surtout de la vitesse de traitement du signal, qui doit se traduire en information utile pour la commande stabilisante d'un véhicule assez nerveux comme un micro drone. Ces travaux peuvent être développés dans le futur, dans le cadre d'une thèse doctorale.



Annexes
Formulation du sous-système de calibrage
Modèle du système
Les équations de départ du filtre de Kalman étendu sont :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 55)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 56)

qui s’écrit, pour les équations de système :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 57)

et pour les équations de mesure :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 58)

Dans ces équations il est pertinent rappeler que :
 est le vecteur gravité dans la référence NED.
gð est le biais du gyromètre.
 contient la même information que le quaternion (voir  REF _Ref43051442 \r \h 2.1.5.2)
Les termes de gain dans Sa sont constantes déterminées par calibrage.

Equations du filtre
Phase de prédiction
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 59)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 60)
Phase de correction
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 61)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 62)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 63)
Expression des jacobiens
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 64)
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 65)

Les sous matrices dans F et H sont :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 66)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 67)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 68)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 69)

avec  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 70)
et X2a, X3a, et X4a obtenues de forme similaire à  GOTOBUTTON ZEqnNum507177 \* MERGEFORMAT  REF ZEqnNum507177 \! \* MERGEFORMAT (70). Le script Matlab "Alignment_jacobians.m" (voir annexe  REF _Ref43440811 \n \h 5.5) permet d'obtenir ces expressions et les suivantes.
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 71)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 72)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 73)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 74)

Toutes ces sous matrices sont calculées à partir des composantes du dernier vecteur d'état estimé. Elles contiennent aussi des composantes constantes.


Formulation du sous-système de poursuite
Modèle du système
Les équations du modèle d'état de départ sont :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 75)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 76)

qui s’écrit, pour les équations de système :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 77)

et pour les équations de mesure :
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 78)

Dans ces équations il est pertinent rappeler que :
 est le vecteur gravité dans la référence NED.
gð est le biais du gyromètre, le seul paramètre à estimer
 contient la même information que le quaternion (voir  REF _Ref43051442 \r \h 2.1.5.2)
la reste des paramètres sont constantes fixées par calibrage préalable au vol.
Equations du filtre
Phase de prédiction
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 79)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 80)
Phase de correction
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 81)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 82)
  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 83)

Expression des jacobiens
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 84)
Hi est la ligne i du jacobien :
 EMBED Equation.DSMT4   MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 85)

Les sous matrices dans F et H sont obtenues avec les expressions  GOTOBUTTON ZEqnNum746967 \* MERGEFORMAT  REF ZEqnNum746967 \! \* MERGEFORMAT (66) à  GOTOBUTTON ZEqnNum432878 \* MERGEFORMAT  REF ZEqnNum432878 \! \* MERGEFORMAT (74) (paragraphe  REF _Ref43444991 \r \h 1.1.1.1). Noter que, maintenant, la majorité des paramètres sont constantes. Pour les variables, on les prend du dernier état estimé.

Graphiques des résultats

Graphique  SEQ Graphique \* ARABIC 1 Observateur de poursuite : Estimation de l’état avec toutes les mesures

Graphique  SEQ Graphique \* ARABIC 2 Observateur de poursuite : Estimation de l’état avec les mesures : Gyromètre (p,q,r) ;Accéléromètre (x,y) ; et Magnétomètre (x,y).

Graphique  SEQ Graphique \* ARABIC 3 Observateur de poursuite : Estimation de l’état avec les mesures : Gyromètre (p,q) ;Accéléromètre (x,y) ; et Magnétomètre (x,y).

Graphique  SEQ Graphique \* ARABIC 4 Observateur de poursuite : Estimation de l’état avec les mesures : Accéléromètre (x,y) ; et Magnétomètre (x,y).

Graphique  SEQ Graphique \* ARABIC 5 Observateur de poursuite : Estimation de l’état avec les mesures : Accéléromètre (y) ; et Magnétomètre (x,y).

Graphique  SEQ Graphique \* ARABIC 6 Observateur de poursuite : Estimation de l’état avec les mesures : Accéléromètre (y) ; et Magnétomètre (x,y). Jeu de mouvements peu riche en information.

Graphique  SEQ Graphique \* ARABIC 7 Observateur de poursuite : Estimation de l’état avec toutes les mesures. Données réelles : deux fois, deux tours sur chaque axe.

Graphique  SEQ Graphique \* ARABIC 8 Observateur de poursuite : Estimation de l’état avec les mesures : Gyromètre (x,y,z) ; Accéléromètre (x,y,z) ; et Magnétomètre (x,y). Données réelles : deux fois, deux tours sur chaque axe.

Graphique  SEQ Graphique \* ARABIC 9 Observateur de poursuite : Estimation de l’état avec les mesures : Gyromètre (x,y,z) ; Accéléromètre (x,y) ; et Magnétomètre (x,y). Données réelles : deux fois, deux tours sur chaque axe.

Graphique  SEQ Graphique \* ARABIC 10 Observateur de poursuite : Estimation de l’état avec les mesures : Gyromètre (x,y,z) ; Accéléromètre (x,y,z) alternées ; et Magnétomètre (x,y). Données réelles : deux fois, deux tours sur chaque axe.

Graphique  SEQ Graphique \* ARABIC 11 Observateur de calibrage. Estimation de l'état avec toutes les mesures. Données artificielles.

Graphique  SEQ Graphique \* ARABIC 12 Observateur de calibrage. Estimation de l'état avec les mesures : Gyromètre (x,y,z) ; Accéléromètre (x,y) ; et Magnétomètre (x,y). Données artificielles.

Graphique  SEQ Graphique \* ARABIC 13 Observateur de calibrage. Estimation de l'état avec toutes les mesures. Données réelles.

Graphique  SEQ Graphique \* ARABIC 14 Observateur de calibrage. Estimation de l'état avec les mesures : Gyromètre (x,y,z) ; Accéléromètre (x,y) ; et Magnétomètre (x,y). Données réelles.
Outils développés
Boite de l'avionique
Une boite à angles carrés a été utilisé pour y installer l'avionique du micro drone. Avec cette boite l'on a été capable de réaliser des mouvements réels pour enregistrer des données et tester les méthodes et les algorithmes programmées. La boite peut être appuyée sur une surface horizontal et alignée avec le nord. Des tournements assez précises de 90º peuvent alors être réalisés sans la nécessité d'un banc d'essais.

Fichiers Matlab
Afficheur dynamique tridimensionnel
Le fichier Matlab Evol_plot.m visualise dans une figure graphique tridimensionnelle les orientations d'un drone virtuel correspondantes au quaternion d'orientation. Son entrée est une matrice à 4 files dont chaque colonne représente le quaternion pour un instant donnée. Cette matrice est générée par l'algorithme principal du filtre. L'affichage se fait, donc, hors ligne. Voici l'aspect de l'afficheur avec le drone en sa position de départ.

Figure  SEQ Figure \* ARABIC 7 Afficheur tridimensionnel.
Générateur des données artificielles
Le fichier Matlab Artificial_data.m serve à générer des séries de données correspondantes aux profils de mouvements sélectionnables.
Trois types de profil sont disponibles, et divers paramètres peuvent être modifiés. Ces profils peuvent aussi être concaténés.
Les capteurs sont aussi modélisés pour fournir des données réalistes. On peut y spécifier :
Le biais de l'accéléromètre
Le biais du gyromètre
La matrice de désalignements du gyromètre
L'amplitude de bruit de mesure pour chaque capteur
La fréquence d'échantillonnage
Changements de repère et construction de matrices
Les fichiers suivantes performent des fonctions souvent utilisées dans les algorithmes de filtrage.
QUAT2COS Génération de la matrice de cosinus  EMBED Equation.DSMT4  à partir du quaternion q.
QUAT2PI Génération de la matrice Pð ðà partir du quaternion q.
W2OMEGA G+,-./JKLMYZ[tuvwxyz{|—˜üøðìðÙÆ¸¯¸•ƸŠ{Šj{_{ÆÙƸ¯¸h¥d±mHnHu j{h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu2jh*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu%h–}Ö56\]mHnHsHtHuhgZTjhgZTUhÍ:h_u-zÐ* ¦ ÿ Z

. ©  g ¿ 
x
Þ
fÈ„îeÆ÷ñññëäÝÝÝäÝÖÖÖÖÖÏÏÝÖÖÏÖÖ
Ɛh 
ưh 
ÆÀh 
Ɛh 
Æh 
Æh 
& FgdTlˆ
)%%,'ýýýý˜™š¯°±ÊËÌÍÎÏÐÑÒíîïð
$ % & ' ( ) æÓź«ºš««Ó|ÓÅsÅYÓź«ºH««Ó jgh–}ÖUmHnHu2jìh*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHu%h–}Ö56\]mHnHsHtHuh¥d±mHnHu jqh–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu2jöh*3ph–}Ö>*B*UmHnHphÿu) * + , G H I J T U … † ‡   ¡ ¢ £ ¤ ¥ ¦ § ¨ Ã Ä Å Æ É ëØÊÁʧØÊ”ʉz‰iz^zؔØÊÁÊDØÊ2jØh*3ph–}Ö>*B*UmHnHphÿuh¥d±mHnHu j]h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu%h–}Ö56\]mHnHsHtHu2jâh*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu'h–}Ö5CJ\aJmHnHsHtHuÉ Ê Þ ß à ù ú û ü ý þ ÿ





"
#
9
:
;
T
U
V
W
X
Y
Z
[
\
w
x
ëÝÒÃҲçÔë”Ý‹Ýq”ÝëÝÒÃÒ`çÔë”Ý‹Ý jIh–}ÖUmHnHu2jÎh*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHu jSh–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHuh*3ph–}Ö0JmHnHu'h–}Ö5CJ\aJmHnHsHtHu!x
y
z
}
~
•
–
—
°
±
²
³
´
µ

·
¸
Ó
Ô
Õ
Ö
à
á
  ( æÓűŦ—¦†—{—Ó±ÓÅrÅXÓÅEŦ—¦%h–}Ö56\]mHnHsHtHu2jºh*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu j?h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu'h–}Ö5CJ\aJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu2jÄh*3ph–}Ö>*B*UmHnHphÿu( ) * + , - . / 0 K L M N Q R ˆ ‰ Š £ ¤ ¥ ¦ § ¨ © ª « Æ Ç ïàÕ௡˜¡~¡j¡_à_NàÕàÂj¡˜¡ j+h–}ÖUmHnHuh–}ÖmHnHu'h–}Ö5CJ\aJmHnHsHtHu2j°h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu%h–}Ö56\]mHnHsHtHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHujh–}ÖUmHnHu j5h–}ÖUmHnHuÇ È É Î Ï ï ð ñ

     - . / 0 5 6 F G H a b c æÓÅ´Å©š©‰š~šÓ´ÓÅuÅ[ÓÅ´Å©š©Jš j
h–}ÖUmHnHu2jœ h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu j! h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu!h–}ÖCJaJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu2j¦h*3ph–}Ö>*B*UmHnHphÿuc d e f g h i „ … † ‡ Œ  ž Ÿ   ¹ º » ¼ ½ ¾ ¿ À Á Ü Ý Þ ß ä å ÷ ø ù 
õæÓÂÓ´«´‘Ӵ´†æ†uæõæÓÂÓ´«´[Ӵ´†æ†2jˆ h*3ph–}Ö>*B*UmHnHphÿu j
h–}ÖUmHnHuh–}ÖmHnHu2j’
h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHujh–}ÖUmHnHuh¥d±mHnHu"








5
6
7
8
=
>
W
X
Y
r
s
t
u
v
w
x
y
z
•
–
ïàÕà±£š£€Â£±£uàudàÕà±£š£ jù h–}ÖUmHnHuh–}ÖmHnHu2j~ h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHujh–}ÖUmHnHu j h–}ÖUmHnHu–
—
˜
Ÿ
 
¼
½
¾
×
Ø
Ù
Û
Ü
Ý
Þ
ß
à
û
ü
ý
þ
DEF_`aæÓÅ´Å©š©‰š~šÓ´ÓÅuÅ[ÓÅ´Å©š©Jš jåh–}ÖUmHnHu2jjh*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu jï
h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu!h–}ÖCJaJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu2jt
h*3ph–}Ö>*B*UmHnHphÿuacdefghƒ„…†‰Š¦§¨ÁÂÃÅÆÇÈÉÊåæçõæÓÂÓ´«´‘Ó´}´ræraæõæÓ}Ó´«´G2jVh*3ph–}Ö>*B*UmHnHphÿu jÛh–}ÖUmHnHuh–}ÖmHnHu'h–}Ö5CJ\aJmHnHsHtHu2j`h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHujh–}ÖUmHnHuh¥d±mHnHuçèíî÷øù6789>?bcd}~‚ƒ„…†¡¢íßÎßô㴘´íÎíߏßuíßÎßôÃd´˜´íÎíßß jÇh–}ÖUmHnHu2jLh*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu jÑh–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu!h–}ÖCJaJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu#¢£¤«¬ÌÍÎçèéëìíîïð  
CDE^_`æÓÅ´Å©š©‰š~šÓ´ÓÅuÅ[ÓÅ´Å©š©Jš j³h–}ÖUmHnHu2j8h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu j½h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu!h–}ÖCJaJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu2jBh*3ph–}Ö>*B*UmHnHphÿu`bcdefg‚ƒ„…Š‹¤¥¦¿ÀÁÃÄÅÆÇÈãäåæëì "õæÓÂÓ´«´‘Ӵ´†æ†uæõæÓÂÓ´«´[Ӵ´†æ†2j$h*3ph–}Ö>*B*UmHnHphÿu j©h–}ÖUmHnHuh–}ÖmHnHu2j.h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHujh–}ÖUmHnHuh¥d±mHnHu""#$&'()*+FGHIPQpqr‹Œ‘’“”¯°ïàÕà±£š£€Â£±£uàudàÕà±£š£ j•h–}ÖUmHnHuh–}ÖmHnHu2jh*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHujh–}ÖUmHnHu jŸh–}ÖUmHnHuÆ)’ùT§÷S¯ d¾žsÕAŸ©TUVW¿øññêøøøññññøêêøøñãêêêããããã
Ɛh 
ÆÀh 
Ɛh 
ưh °±²¹º×ØÙòóôö÷øùúû234MæÓÅ´Å©š©‰š~šÓ´ÓÅuÅ[ÓÅGÅ©š©'h–}Ö5CJ\aJmHnHsHtHu2jh*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu j‹h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu!h–}ÖCJaJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu2jh*3ph–}Ö>*B*UmHnHphÿuMNOQRSTUVqrstyz…†‡ ¡¢¤¥¦§¨©ÄÅïàÕà® — } l aàaPàÕàÂl —  jwh–}ÖUmHnHuh–}ÖmHnHu!h–}ÖCJaJmHnHsHtHu2jüh*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu'h–}Ö5CJ\aJmHnHsHtHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHujh–}ÖUmHnHu jh–}ÖUmHnHuÅÆÇÌÍÕÖ×ðñòôõö÷øù123LMNæÓÅ´Å©š©‰š~šÓ´ÓÅuÅ[ÓÅ´Å©š©Jš jch–}ÖUmHnHu2jèh*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu jmh–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu!h–}ÖCJaJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu2jòh*3ph–}Ö>*B*UmHnHphÿuNPQRSTUpqrsz{Ž¨©ª¬­®¯°±ÌÍÎÏÖ×éêëõæÓÂÓ´«´‘Ӵ´†æ†uæõæÓÂÓ´«´[Ӵ´†æ†2jÔh*3ph–}Ö>*B*UmHnHphÿu jYh–}ÖUmHnHuh–}ÖmHnHu2jÞh*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHujh–}ÖUmHnHuh¥d±mHnHu" 
  
()*+23BCD]^_abcdef‚ïàÕà±£š£€Â£±£uàudàÕà±£š£ jEh–}ÖUmHnHuh–}ÖmHnHu2jÊh*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHujh–}ÖUmHnHu jOh–}ÖUmHnHu‚ƒ„‹Œœž·¸¹»¼½¾¿ÀÛÜÝÞãäøùúæÓÅ´Å©š©‰š~šÓ´ÓÅuÅ[ÓÅ´Å©š©Jš j1 h–}ÖUmHnHu2j¶h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu j;h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu!h–}ÖCJaJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu2jÀh*3ph–}Ö>*B*UmHnHphÿu789:=>|}~—˜™›œžŸ »¼½õæÓÂÓ´«´‘Ó´}´ræraæõæÓ}Ó´«´G2j¢!h*3ph–}Ö>*B*UmHnHphÿu j'!h–}ÖUmHnHuh–}ÖmHnHu'h–}Ö5CJ\aJmHnHsHtHu2j¬ h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHujh–}ÖUmHnHuh¥d±mHnHu½¾ÁÂÖßïðñ
  ./0167HQRSlíßËßÀßµ¦µ•¦Š¦íËí߁ßgíßVßÀµ¦µ!h–}ÖCJaJmHnHsHtHu2j˜"h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu j"h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHuhRÇ0JmHnHu'h–}Ö5CJ\aJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHulmnpqrstu‘’“˜™³´µÎÏÐÒÓÔÕÖ×òóïàÕà±£š£€Â£±£uàudàÕà±£š£ j $h–}ÖUmHnHuh–}ÖmHnHu2jŽ#h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHujh–}ÖUmHnHu j#h–}ÖUmHnHuóôõüý !:;?@ABC^_`akl}~˜æÓÅ´Å©š©‰š~šÓ´ÓÅuÅ[ÓÅHÅ©š©%h–}Ö56\]mHnHsHtHu2jz%h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu jÿ$h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu!h–}ÖCJaJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu2j„$h*3ph–}Ö>*B*UmHnHphÿu˜™šœžŸ ¡¼½¾¿ÂÃâãäýþÿ!"ïàÕ௡˜¡~¡j¡_à_NàÕàÂj¡˜¡ jë&h–}ÖUmHnHuh–}ÖmHnHu'h–}Ö5CJ\aJmHnHsHtHu2jp&h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu%h–}Ö56\]mHnHsHtHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHujh–}ÖUmHnHu jõ%h–}ÖUmHnHu"#$'(‡ˆ‰¢£¤¦§¨©ª«ÆÇÈÉÌÍÞç234MæÓűŦ—¦†—{—Ó±ÓÅrÅXÓűÅMŦ—¦hRÇ0JmHnHu2j\(h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu já'h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu'h–}Ö5CJ\aJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu2jf'h*3ph–}Ö>*B*UmHnHphÿuMNOQRSTWXYtuvw‚žŸ¸¹º¼½¾¿ÀïàÕண•Œ•r•_•TàTCàÕàÂ_ jÍ)h–}ÖUmHnHuh–}ÖmHnHu%h–}Ö56\]mHnHsHtHu2jR)h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHuhY—0JmHnHu'h–}Ö5CJ\aJmHnHsHtHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHujh–}ÖUmHnHu j×(h–}ÖUmHnHuÀÁÜÝÞßéêñòó 
012367Vñèñλñ¨ñŽ}ŽrŽ»¨»ñèñX»ñDñ'h–}Ö5CJ\aJmHnHsHtHu2j>+h*3ph–}Ö>*B*UmHnHphÿuh¥d±mHnHu jÃ*h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu%h–}Ö56\]mHnHsHtHu$jh*3ph–}Ö0JUmHnHu2jH*h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHuV_`az{|~€‚ƒžŸ ¡¦§¸¹ºÓÔÕרôéÚéÉÚ¾Ú«—«‰€‰f«‰U‰éÚéDÚ¾Ú j¯,h–}ÖUmHnHu!h–}ÖCJaJmHnHsHtHu2j4,h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu'h–}Ö5CJ\aJmHnHsHtHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHu j¹+h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHuhRÇ0JmHnHuÚ5’ïQ¿sÐ-íD õ` Ì E!¤!ð!ò!ÿ!±#øññêêêøññêêêøøñøññññäß×ÒgdyZ¼
& FgdÍ:gdgZT
Æh 
Ɛh 
ưh 
ÆÀh ØÙÚÛÜ÷øùúÿ./0234567RSTU\]pqr‹íÜíÎÅΫíÎÜΠ‘ €‘u‘íÜíÎÅÎ[íÎÜΠ‘ 2j .h*3ph–}Ö>*B*UmHnHphÿuh¥d±mHnHu j¥-h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu2j*-h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHu ‹Œ‘’“”¯°±²¹ºÍÎÏèéêìíîïðñ 
ïàÕà±£š£€Â£±£uàudàÕà±£š£ j‘/h–}ÖUmHnHuh–}ÖmHnHu2j/h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHujh–}ÖUmHnHu j›.h–}ÖUmHnHu
/01JKLNOPQRSnopqtužŸ¸æÓÅ´Å©š©‰š~šÓ´ÓÅuÅ[ÓÅGÅ©š©'h–}Ö5CJ\aJmHnHsHtHu2j1h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu j‡0h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu!h–}ÖCJaJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu2j 0h*3ph–}Ö>*B*UmHnHphÿu¸¹º¼½¾¿ÀÁÜÝÞßäåö÷ø56ïàÕà® — } l aàaPàÕàÂl —  js2h–}ÖUmHnHuh–}ÖmHnHu!h–}ÖCJaJmHnHsHtHu2jø1h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu'h–}Ö5CJ\aJmHnHsHtHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHujh–}ÖUmHnHu j}1h–}ÖUmHnHu678=>QRSlmnpqrstu‘’“𛮝°ÉÊËæÓÅ´Å©š©‰š~šÓ´ÓÅuÅ[ÓÅ´Å©š©Jš j_4h–}ÖUmHnHu2jä3h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu ji3h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu!h–}ÖCJaJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu2jî2h*3ph–}Ö>*B*UmHnHphÿuËÍÎÏÐÑÒíîïð÷ø  
&'(*+,-./JKLMTUmnoˆõæÓÂÓ´«´‘Ӵ´†æ†uæõæÓÂÓ´«´[Ӵ´†æ†2jÐ5h*3ph–}Ö>*B*UmHnHphÿu jU5h–}ÖUmHnHuh–}ÖmHnHu2jÚ4h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHujh–}ÖUmHnHuh¥d±mHnHu"ˆ‰ŠŒŽ‘¬­®¯²³ËÌÍæçèêëìíîï
 ïàÕà±£š£€Â£l£aàaPàÕàÂl£š£ jA7h–}ÖUmHnHuh–}ÖmHnHu'h–}Ö5CJ\aJmHnHsHtHu2jÆ6h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHujh–}ÖUmHnHu jK6h–}ÖUmHnHu  
"#$=>?ABCDEFabcdij~€™æÓűŦ—¦†—{—Ó±ÓÅrÅXÓÅGŦ—¦!h–}ÖCJaJmHnHsHtHu2j²8h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu j78h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu'h–}Ö5CJ\aJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu2j¼7h*3ph–}Ö>*B*UmHnHphÿu™š›žŸ ¡¢½¾¿ÀÃÄÓÔÕîïðòóôõö÷  ïàÕà±£š£€Â£l£aàaPàÕàÂl£š£ j#:h–}ÖUmHnHuh–}ÖmHnHu'h–}Ö5CJ\aJmHnHsHtHu2j¨9h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHujh–}ÖUmHnHu j-9h–}ÖUmHnHu     > ? @ Y Z [ ] ^ _ ` a b } ~  € … † ª « ¬ Å Æ Ç æÓÅ´Å©š©‰š~šÓ´ÓÅuÅ[ÓÅ´Å©š©Jš j*B*UmHnHphÿuh–}ÖmHnHuh¥d±mHnHu j;h–}ÖUmHnHujh–}ÖUmHnHuh–}ÖmHnHu!h–}ÖCJaJmHnHsHtHuh*3ph–}Ö0JmHnHu$jh*3ph–}Ö0JUmHnHu2jž:h*3ph–}Ö>*B*UmHnHphÿuÇ É Ê Ë Ì Í Î é ê ë ì ñ ò #!$!%!>!?!@!B!C!D!E!F!G!b!c!d!e!j!k!‚!ƒ!„!!õæÓÂÓ´«´‘Ӵ´†æ†uæõæÓÂÓ´«´[Ӵ´†æ†2j€=h*3ph–}Ö>*B*UmHnHphÿu j=h–}ÖUmHnHuh–}ÖmHnHu2jŠ*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHujh–}ÖUmHnHuh¥d±mHnHu"!ž!Ÿ!¡!¢!£!¤!¥!¦!Á!Â!Ã!Ä!Î!Ï!Ð!é!ê!ë!í!î!ï!ð!ïàÕà±£š£€ÂpeàeTàÕàÂA%h–}Ö56\]mHnHsHtHu jñ>h–}ÖUmHnHuh–}ÖmHnHuh*3ph–}Ö0J;mHnHu2jv>h*3ph–}Ö>*B*UmHnHphÿuh–}ÖmHnHuh*3ph–}Ö0JmHnHu!h–}ÖCJaJmHnHsHtHu$jh*3ph–}Ö0JUmHnHuh¥d±mHnHujh–}ÖUmHnHu jû=h–}ÖUmHnHuð!ñ!ò!ó!þ!
""#"&"\"]"^"_"m"u"š"¶"ì" ##$#6#8#E#f#°#À#Ë#$$7$;$>$c%d%˜%%@&R&S&_&Œ&&ž&©&'†'›'œ'¾'ï'ø'Z(c(œ**²*³*É*Ê*Ô*×*Ü*æ*+ +.+÷ðéåéáéáéÝéÝéáéáéáéáéáéáéáÙáÒáéáéÙéáéáéáéáÙáéáéáéáÍáÈáéåÁº³º¯«§«§«hzh=+h GÓ hf&^hRÇ hf&^hmÅ hf&^hÚ I h3=6 hRÇ6 h+:h3=hÕFUhäFäh3=h«D½ hf&^h3= hgZThgZTjhgZTUB±#Ž&*³*,ë,r-.J.£.½.0-0z0{0¸02_3úúòúúúêêåÝØ­¥    gdqP$a$gd@Mþ+$$$d%d&d'dNÆÿOÆÿPÆÿQÆÿa$gdål"gd`{
& Fgd«D½gdæq}
& F!gd8Ì
& Fgd<

gdyZ¼.+B+K+,,",*,/,7,;,D,j,k,¤,ª,±,¾,Â,Ç,Õ,Þ,â,ã,ê,ò,ù,ú,---$-%-M-O-`-q-r-J._.c.d.f.g.{.ˆ.Ž.’.¢.£.¨.½.À.È.Ê.Ë.Ì.ä.å.æ.é.ê.üøüôüøüøüðüðìèìäøäìäìäìüøüðäðìäìäàäüäÙÕàÕÎÙÎÙÎÇÙÀ¹Ù¹µ¹­©ž­š­h¥d±jl?hdqAUhF6jhF6Uhn ' hf&^h`{ hf&^hP1 hf&^h?ÿ hf&^h«ñh\z
hf&^h8Ìhm?–hæq}h|v'hÕFUh3=hmÅh GÓhzˆ>>Ó>üíÜÕüô¬üž´¬üž´¬üíÜ՗““‹““‡‡‡‡‡‡“‚z““h|Nh/6 hÌ96hz5h@mÊh±(fh/ hf&^h/hD^§h9Õ>AýA‚D’F¿FÀFïGWIùJ*L+LbL\OQQRQsQ]RòR¯T°TÁTzVúúúúúõðëëëææáÜ××ÒÜÜÍÍÈÜgdÄ+‡gdVyúgd\9*gdß[•gdy%“gd(i.gdyZ¼gd6Tgdm?–gdyZ¼gdÇRFËCÙCÛCãCæC=DZDD‚DáDâDúDûDüDÿDEE EEELEWEaE|EƒE¢EµEÏEÜEåEæEùEUFWFzF}F‘F’F¾F¿FÀFÏFÜFÝFâFäFGG7G;G¡GÁGÂGáG H
H&H4H=HEHiHjHuHvH‹HH¿HÜHüøôøüøüðüèäÙèÕèäüðÑðÑðäðÑðÑðÍÑðÉðÉðü¾·É°É°É°É°É°É°É°É°É°É°É°É°É°¬h:T hf&^h«J( hm?–hm?–hÚ I hf&^hù5Vh$h7/Ûh–µh¥d±jèAhdqAUhM:ðjhM:ðUh,^Ìh±(fhÌ9h/BÜHÝHþH I"I6IWI[ImIoIII•I I»I¾IÆIÉIèIêIóIÿIJJJJJ*J1J:JNJWJYJµJ¶JÈJÐJøJùJK&K.K3K`KkKrKsK|KK”KžKŸK¦K§K¯K¾KÈKÉK)L*LüõîõçõãõãõÜõÜõãÜãõØõÜõÜÔõãÐãÐõãõØÌØÈØõÁºÈºÁºÔºã³¬³¥³¥³¥³Ø¡háaŒh§L hf&^h³"J hf&^h¸,½ hf&^h*[² hf&^háaŒ hf&^hWp$h±(fhû6Öh7/Ûh’TèhÓn hf&^hê)h$ hf&^hf&^ hf&^hvƒ hf&^h«J(h¬d;*L+LELHLLLaL”L¤LÃLéLùLüLvMxMŒMMµMºMÅMÆMLN]NˆN‘N˜N›NÂNåNèNíNOOPOZOŽOOO¨O©OªO­O®O¯O°OÈOÉOÊOÍOÎOAPNP¯PºPîP QPQQQRQÒQÚQR RRRnRùòîêîòæòêòêòâòÞòêòâòêòÚòÚòæÚæòæòÚòÖÎʿλη¯·¤¯»¯òæòÚòÚòâùòÚòÚòÚòjÞBhzfúUjhIŒUhIŒh¥d±jcBhß[•Uhß[•jhß[•Uh÷I§hŽ|fhM:ðhóW¸høb8h$h—a hf&^hóW¸ hf&^hm?–@nRuR²R¶R·RÏRISJSgS¸SºSËSëS?TfTiTkTƒT”T™T¬T­T¯T°TßTàTõTöT÷TþTÿTU:UAUSUUUtUuU‹UŒUÂUâU
V VyV¥V¦VÅVÕVæVòV÷VøVùVúVWWüõñüíõüíõüõüõíõíõüéõßíØõÐíÅÐÁ¸Ðõñõ°õ°õ°õ¬õéõ¨õíõ¨íõí¤œ˜œh×¢jh×¢Uhm?–h%9hh‚`hf&^hóW¸6h¥d±mHnHuh¥d±jYChóW¸UjhóW¸U hf&^hm?–jhŽ|f0JUhÕ#&hóW¸h± hf&^hóW¸hŽ|f8zVøVùVWVWWWiW¡XôXõXYÛYøY-Z.ZúúÏǽ¸³³®©~ÇÂ+$$$d%d&d'dNÆÿOÆÿPÆÿQÆÿa$gdål"gd“¼gd“¼gdÞXýgd2) gdYj’gd@Mþ$a$gd@Mþ+$$$d%d&d'dNÆÿOÆÿPÆÿQÆÿa$gdÄÑgdy%“WWWWWWW4W5W6W7W;WWHWIWJWOWRWUWVWWWdW•W›W¢W¯WÕWÖWÜWÝWXXX$XNXOX\X]XrXîæÞ×ÓËÓËÂËÓºµºµº°µ¨£œ•Ӎ…Ó~•y•y•Ó•y•qmhål"jhål"U h¹;6 h2) hóW¸h÷«h"6h÷«hóW¸6 hf&^hóW¸ h@Mþh@Mþ hóW¸5h0QhºM­5 hºM­5 hål"5h0QhóW¸5h¥d±mHnHujhóW¸UhóW¸ h0QhóW¸jh×¢UjÔChˆ-«U"jh×¢UmHnHsHtHu'rXsXtX{X|X}XX X¡XÄXåXæXôXõX?YQY^Y_YwY‚YŠY‹Y’Y“Y”Y—Y¨Y©Y·Y¸YÍYÎYÏYÖY×YØYÚYÛYÜYóYôYõYöY÷YøYÿYZZZZôìèßìØÔÍØÔØÔÆØÂغضغضضغØì²§ìèßìØÔŸ›Ÿ‰Ÿ}²ì²ìßhøb8jZEh¹;U"jh"UmHnHsHtHuh"jh"UjßDh ™Uhål"h%9hhf&^hóW¸6hÕ#& hf&^hm?– h2) hóW¸hóW¸ hf&^hóW¸h¥d±mHnHuh¥d±jhål"UjdDh ™U1ZZZ-Z.Z2Z:Z¯ZºZ[[[1[2[3[8[9[:[d?dEdYd}d~dddƒdŠd±d³d¿dÉdådòdeee"e&e(e-e2egeke®e¯eÇeÈeÉeÌeÍeÞeùeffüøüðüðüðìðøèøèøèøäøè×èÓÌèÈèÈüÓÈèÓøèäøèÄÀÈÀÈÀȼȴ°¥´ì´°È¡”j—Zhª\úh’ûEHôÿUh:WejZhdqAUh÷I§jh÷I§Uhý
h ™hV.‡hû6Ö hh©hYÖh~g•j‚Vhª\úh’ûEHòÿUhÐaþhYÖh¥d±jhas%Uhh©has%9f.f/f0fIfJfSfUfofufvf}f~ff”fÐfÓfÝfÞfôf g
ggggg@gAgBgQgUgagkgogwgxgzgg“g”g§g¯g±gägêg4h6hAhhhihkhphyh¯h³h×hÙhÝhüøéøåáøÝÙÝøÊÝøÝÙÝÿø¿ø¿»¿·ø·³¯³ø·Ù¢·ž·»·š·»ø»–ž»–»¯’»ø»¿øhd2ÜhÐaþh„qÃhû6Öj·chYÖh’ûEHôÿUhTdÏh ™hh©hV.‡hè(ù has%hh©j^`hR!îh’û6EHðÿUhý
has%hÛFHh~g•js]h“Mðh’û6EHôÿUhR!îhª\ú9Ýhëhðhiii"i#i$iiAiBiFiGi_i`iaidieifigi´i»i¼i½in?nXnùòëäÝëòÙÕÙÑÍÆÑÂÑÕÑ»´°´©´¥´©´¡´—´ÑÕђъъъ†ŠÑÕÑÕÑ͂h,7lh¥d±jhL àU hL à6jh—Ï0JUh'CêhQF: hf&^hÄ|áhK4 hf&^h$c hTdÏhTdÏh„qà hL àhL àhKy hL àh—Ïh ™ hf&^h ™ hf&^h
Š hf&^h³"J hf&^hó0D hh©hh©3XnennŒnn—nÍn×nÙnÚn0o1o2oIoKoÙoòop5pMpkp—pšp!q+q,q;qCqDqEqJqQqdqeqfqrqvqwqŽqqq‘q’q“qºq»qüøüøüøüøôðìåáÝáÙáÕáÝáÝáÑáÍÑÍÀ¼¸¼«¼Ýᣟˆ{£ásásjh Uj¬vh§XÉh.5EHâÿU-j&ƚB
h.5CJUVaJmHnHsHtHh–}Öjh–}ÖUjêsh!7eh’ûEHôÿUhÎ h!7ejêphz5h’ûEHòÿUh>pDhNiwhxêh$íh—Ïh  hL àhè(ùhL àh„qÒhKy h,7lh4
F-»qØqÙqÚqÛqrrrrrr6rGrHrIrJrYr›rœr¥r³r¼r¾rÍrÛrèrérõrør
sssssssFsGsdsesfsgsŽsss‘s’s“s”s•s¶sÄsÖsäs
ttttüôüôüôëôüôüçãÞ×ÓüçÏËÏÇÏËϺÏÓÏËÓϭϥϥϥϥϥë¥Ï¥ÏžüÓÏËϑËÏjbhE9hþm÷EHöÿU hß:=hß:=jhE9Ujè}hE9hþm÷EHôÿUjázhE9h’ûEHöÿUhý
h>pDhE9h$í h—Ï6H* h—Ï6h—Ïhxêh¥d±mHnHujh Uh 9tt8t9tVtWtXtYt€tt‚tƒt„t…t†tˆt‰tŠt’t­tºt½t¿tÇtÉtÊtétët÷tuuuuuuu u0u1uNuOuPuQuxuyuzu{u|u}u~uƒu’uvvv÷ó÷ó÷ó÷ó÷ê÷ó÷óæóÙóæÕæÑÍÕÀæ¼æ¸´æóæ§æŸæŸæŸæŸæŸêŸæŸæ¸›¸”¸ hNiwhNiwhý
jh>pDUjœŠh>pDhþm÷EHòÿUh$íhNiwh–:jЇh×(h’ûEHöÿUhz5hÙPlh!7ej·„h>pDh’ûEHòÿUh>pDh¥d±mHnHuhE9jhE9U6 t†tu~uvzvØvRwxxGx&z”|•|¯|&}'} }~”~úõðëæáÜ××ÒÌÆÆÁ¼·±¬§gdMpgd."§$gd."§gd+:gdgjgdŒTj$gdgj$gdrWagdÓngd>pDgd×(gd×(gdNiwgdNiwgd>pDgdE9gdE9vvvv,v-vJvKvLvMvtvuvvvwvxvyvzvÅvÆvÙvÚvÜvÝvww"w#w$w%wLwMwNwOwPwQwRwew„w…ww‘w®wxxxxxxxx5x;x>xGxòîæîæîæîæîæÝæîæîÙÌٿٷٷٷٷٷݷٷٳٯٯ٫žÙš“îîîhõ h>pDhÂ)©h>pDj8˜h×(h’ûEHöÿUh!7ehý
h$íjh×(Uj•h×(hþm÷EHôÿUjL’h×(h’ûEHôÿUh×(h¥d±mHnHujhNiwUhNiwjĎh×(hþm÷EHôÿU5GxQx[x\x]xÌxßxàxøxùxúxýxþx1y4yWyZydyšy£y¥yýyz&z(z7zWzÒzÖzáz6{7{F{r{u{x{y{{à{|g|i|‘|’|“|”|•|¯|á|ÿ|
}#}$}%}&}'}(}ùõùõùñéñÞéÚéùÖùÖÒùÖõÒÎÒÖÒÊÒÆÂùÎùÖ¾ÖùÖùÖù·ù­ù©¥¡šÆšñ¾š–’–h+:hd2Ü hf&^hd2Üh hm?–h7/Ûjh7/Û0JU hf&^h mhgjhxêhJ0ehNiwhrWahÒ
†h$íh¥d±j›hdqAUjh›•Uh›•hKy  hf&^h7/Û8(})}*}+}R}S}p}q}r}s}š}›}œ}}ž}Ÿ}¡}¢}£}¤}Ë}Ì}é}ê}ë}ì}~~~~~~~~~~~E~F~c~d~e~f~~Ž~~‘~’~“~”~•~–~—~˜~¿~À~Ý~Þ~ß~à~
  
òîæâæâæâæâæÙæâæîÌîæâæâæâæâæÙæâæîȻȳȳȳȳȳٳȳÈî¦îæâæâæâæâæÙæâæjY¦hŒTjhþm÷EHîÿUjhMpUjÒ¢hŒTjhþm÷EHòÿUhMpj'ŸhŒTjhþm÷EHòÿUh¥d±mHnHuh."§jh."§Uhd2Üj›h hþm÷EHòÿUA”~‰Š›Èæ€,€W€¯€ñò‚¼‚¿ƒ¦„æ„*…ùôïåÝÝÝÝÕÉ¿¹´¯¥¯
& Fgd/ $
& Fgd3Õgd/gd/$gd7/Û
ÆT”gdd2Ü
& F
ÆÐgd›•
& Fgd^
& Fgd–:
Æ$ ”gdd2ÜgdÍ^gd¯OŸ$gd¯OŸ
9:WXYZ‚„…†‡ˆ‰Š›œ¤¬¯¸ÄÅÆÈÉÑÙÜæçï÷ù€ €
€€,€-€.€üõèüàÜàÜàÜàÜàÓàÜàõüÌÈ»·õ·õ³®³õ¡·õ·õ”·õ·õ‡õ·õvõ!j¼h3Õhþm÷EHÎÿOJQJUjj¸h3Õhþm÷EH¼ÿUjé´h3Õhþm÷EHÎÿUjh±h3Õhþm÷EHÎÿU hŒTj6hŒTjhÝQtjå­h3Õhþm÷EHÎÿUh–: h22Fhd2Üh¥d±mHnHuh."§jh."§UjWªhŒTjhþm÷EHòÿU hf&^hd2Ühd2Ü..€5€Z€[€c€j€Š€®€¯€³€¹€º€»€¼€½€¾€¿€À€Ä€Å€ä€ç€ð€õ€ÿ€+,89:IUVW‚§¨«­´¿ÀÛüõèüõäõàÜØËǺǭǠǓ܏܋܋܋܋܋܋܇ØäÜÜ{܇Üh¥d±jh'Uh§s§h=whˆ~ÅjsÏh'hþm÷EHòÿUjqÌh'hþm÷EHîÿUjnÉh'hþm÷EHòÿUjiÆh'hþm÷EHòÿUhù~ŸjfÃh'hþm÷EHòÿUhgjh'hd2Üh›•jj¿h!7ehþm÷EH¼ÿU hf&^hd2ÜhÝQt0ہ܁݁îïðñò‚‚‚ ‚C‚L‚\‚o‚s‚’‚›‚œ‚§‚º‚¼‚½‚Ȃʂ˂õ‚ö‚ƒƒƒ!ƒ$ƒ%ƒOƒPƒuƒvƒzƒ|ƒÍƒÎƒøƒùƒ„„#„%„&„)„*„T„U„z„{„„„؄ڄ…ôìèìäàÜÕÑÍÑÕÉÕÅÁÕɺննղª¦ª¦ªèªÕžšžšžèžÕª¦ª¦ªèªšÕª¦ª¦ªèªÕÉÕhMpjhMpUh3Õjh3ÕUh/hÈ ~ hf&^h=whŽFÂh¥P–B–C–D–b–e–f–g–h–i–µ–¶–¸–¹–½–¾–Æ–Ü–á–ð–ñ–ò–ó–ô–——9—:—;—†œ‡œ±œ²œ×œØœÜœÞœàœáœäœåœæœçœèœéœêœëœìœíœîœïœðœñœ÷œ./0U^n‡“”+ž2ž\žažužvž|žžƒž†žž»žÉžÛžàžážæžìžøžŸŸ÷ó÷ó÷ï÷ëæâëÝÖÏÇÝÖÏÇÝÖëÿëâ¸ë´ë°ë°ë¬ë¿ë¥¿¡ëëëë¬ë™ë™ëh„/&h²GñhLIÝ hÜS¿hÜS¿h&{ùhB}hRÇ hÙBlhÙBlhÜS¿hÙBlh‘lŒh4
F6 h‘lŒh4
F h4
F6H* h4
F6h¨=÷ h¨=÷5h4
Fh¥d±hðéjhðéU6ŸŸŸŸŸŸŸ      F n v € ø ú „¡Š¡¡œ¡¢)¢2¢4¢5¢6¢7¢^¢_¢|¢}¢~¢¢¦¢§¢©¢ª¢«¢¬¢­¢¯¢°¢±¢¼¢Õ¢ß¢òãÜØÔÐÔ¾µÔ±­Ô±Ô©Ô¥Ô±¥±Ô¥©¥˜¥¥¥¥¥‡¥¥ƒØ~zØzhÁzS hý-…6hÛFHh¥d±mHnHujh&{ùUjáîh&{ùhþm÷EHðÿUh&{ùhø;uh mhgjh4
FmHnHu"h4
Fh4
F5OJQJmHnHuhÜS¿h4
Fhý-… h4
Fh4
Fh4
Fh4
F5H*mHnHuh4
Fh4
F5mHnHu0ߢà¢á¢å¢ê¢ñ¢ò¢ó¢££;£¤H¤f¤g¤o¤v¤y¤z¤„¤…¤†¤‡¤ˆ¤üøüôðìðèäèäàäØäÍØÉÀØäì¼´äØäØÀØä¯ª¯¥¯žüš–š–š–š’š…šjÃh3Õhþm÷EHÌÿUh²Gñh&{ùh4
F hÃy{hÃy{ h—m.5 hRÇ5 hÃy{5jªóhB6šUhÆ&h¥d±mHnHuh¥d±j/óhY ÙUjhÃy{UhRÇhÃy{hx-œhý-…h”|thÁzSh0™hgj1l£n£=¤>¤…¤ÿ¤D¦†§W¨©W©ë©6ªIªC¬½¬¾¬c®ÔÌǼ·²·²²²²­¨¢Âgd/$gd/gdgjgdZ4Hgd¨=÷gd¨=÷$gd4
FgdTdÏgdÃy{$a$gdl1ð+$$$d%d&d'dNÆÿOÆÿPÆÿQÆÿa$gdÃy{ˆ¤‰¤°¤±¤Î¤Ï¤Ð¤Ñ¤ø¤ù¤û¤ü¤ý¤þ¤ÿ¤#¥$¥%¥)¥T¦V¦X¦^¦"§$§&§*§X§Z§ˆ§Š§¸§º§¼§¾§À§Â§¨ ¨&¨'¨(¨)¨P¨Q¨S¨T¨U¨V¨Ä¨Å¨÷ó÷ó÷ó÷ó÷ê÷ó÷óæÞæ×æËæÄæ¼æµæ°æ¨æ‘„¨æ¨æ¨æ¨æ¨æ¨ê¨æ¨æ€hAùjVhq^ph¨=÷EHÞÿU-j»,—B
h¨=÷CJUVaJmHnHsHtHjh¨=÷U h¨=÷5 hq^ph¨=÷hq^ph¨=÷5 h(>õh¨=÷h(>õh¨=÷6OJQJ h¨=÷h¨=÷h¨=÷h¨=÷5h¨=÷h¥d±mHnHuh4
Fjh4
FU2ŨP©U©X©Y©p©q©r©s©t©u©œ©©º©»©¼©½©ä©å©ç©è©é©ê©ë©ø©ù©5ª6ª`ªdªpªqª—ª›ª¹ªÀªÝªõª«««« ««_«h«i«j«k«2¬5¬üøüðüÙÌðüðüðüðüðüðÃðüðü¿º¿³¬¨¬¨¬¨¬¤¬¤Ÿ•¨Ž¨¤¬Š¤¬¤¬†hgjhRÇ h9nhðéh9nh9n6H* h9n6hðéh9n hf&^hðé hšOhšO hšO6hšOh¥d±mHnHuj^h¨=÷h¨=÷EHÌÿU-j˜4—B
h¨=÷CJUVaJmHnHsHtHjh¨=÷UhAùh¨=÷25¬6¬C¬D¬E¬F¬G¬n¬o¬Œ¬¬Ž¬¬¶¬·¬¹¬º¬»¬¼¬½¬¾¬¿¬Â¬Ã¬Ë¬í¬ð¬&­'­\­]­5®=®g®p®t®}®’®±®Ì®Ñ®Ú®ø®ÿ®¯(¯5¯I¯K¯U¯&°'°>°?°ùòîáîÙîÙîÙîÙîÙÐÙîÙîÉîÅîÁîÅî½î½îÁî¹îµîÅî¹µî¹îŹŽ-j¬ÐªB
hC¸CJUVaJmHnHsHtH
hC¸EHîÿjÚ'hC¸EHîÿUhRÇhø;uhgjh„qÃh9n hTdÏhðéh¥d±mHnHujhðéUjü!h3Õhþm÷EHÌÿUhðé hf&^hðé hf&^hgj5c®%°¹°º°±ƒ±²²(²û³u´v´9µƒ·”·Áº1½«½%¾â¿‚ÀúõúððëúæáÛÖááæÑ̼·ðgd3²òèäÜäÜäÜäÜäÜÓÜäÜäÏËÏËÏÇÃÇÃÇ»· “»Ç‹Ç‹Ç‹Ç‹Ç‹Ó‹Ç‹Ç„} hf&^h/ hðéhã&âjhAùUj²?²G²H²R²S²ò²ö²³³³*³4³5³V³i³ê³í³û³ü³ý³þ³ÿ³&´'´D´E´F´G´n´o´q´r´s´t´u´v´Ž´¨´ª´Ô´ß´æ´ô´µ$µ7µ8µ9µ;µ¾!¾"¾#¾$¾%¾¾–¾—¾˜¾H¿O¿b¿e¿´¿»¿â¿ÀÀfÀuÀÀƒÀ„À…À†À­À®ÀËÀÌÀÍÀÎÀõÀöÀøÀùÀúÀûÀýÀþÀÿÀÁ'Á(ÁEÁFÁGÁHÁoÁpÁrÁsÁtÁuÁvÁwÁ‹ÁŒÁöîêîêæâæÕæâæÑæâæÍÉÍâÉâ¼â´â´â´â´â´ö´â´â§â´â´â´â´â´ö´â´â œ• hTdÏhTdÏh5
 h3ÈFÈNÈVÈ^ÈfÈnÈvÈxÈææææáÈ¯ææ¯¯¯¯¯¯ªFfôO$$$$Ifa$gd1)ølÆ"ÿà$$$$Ifa$gd1)ølÆ"ÿàFfM$$$$Ifa$gd1)ølÆ"ÿn„xȒȚȢȪȲȺÈÂÈÊÈÒÈÚÈÜÈìÈôÈüÈÉÉÉ(É4É@ÉLÉNÉæÍÍÍÍÍÍÍÍÍÈæÍÍÍÍÍÍÍÍÍÃFf²UFfÓR$$$$Ifa$gd1)ølÆ"ÿT$$$$Ifa$gd1)ølÆ"ÿTNÉÊÊ6ʰʱÊßÊêË[ÍYήÎ(Ï)Ï}ÐjÓ¶ÔÜÖMØNØiØ#ÚðÚöñìçâÝØÓØØÎâØÓØÓÓÓÉÓÓgdddgdTXwgdI{‡gdTXwgdddgd?Q§gdl'Šgdl'Šgd1)ø $$a$gd1)øÊÊÊ,Ê-Ê3Ê4Ê7Ê8Ê9Ê:ÊaÊbÊʀʁʂʩʪʬʭʮʯʰʱÊÅÊÎÊßÊaËd˫ˬ˽˾ËÌÌ&Ì'Ì0Ì1Ì3Ì7ÌEÌJÌTÌVÌXÌÛÌãÌîÌøÌ
ÍÍ7Í;ÍAÍBÍWÍXÍúóïëïëïÞïÖïÖïÖïÖïÖÍÖïÖïÆÂ¾Âº¶º¶º¶º²º²º²º²º®¦®Ÿº®›®›—º¶º¶º“hWtghÛFHh$s h ÅhTXwhm1YhŽbÉ6h ÅhØ* hI{‡hTXwhRÇhdd h?Q§h?Q§h¥d±mHnHujhl'ŠUjäWhl'Šh/ÝEHÊÿUhÏ1dhl'Š hl'Š5H* hl'Š5:X͎͖Í'Î(Î)Î5Î8Î;ÎpÎqÎrÎsÎvÎwÎxΟΠάέίΰαβÎÙÎÚÎ÷ÎøÎùÎúÎ!Ï"Ï$Ï%Ï&Ï'Ï(Ï)Ï­ÏÆÏÍÏÛÏÜÏàÏáÏçÏòÏüøüôüðüðüâÓÎüâÂü·ü°ü£ü›ü›ü›ü›ü›’›ü›ü‹ü‡ƒü{ü{üwh#k•h)µhTXw5hD8>håz% h?Q§h?Q§h¥d±mHnHujhTXwUjx\hTXwhþm÷EHÌÿU h’`›hTXwhTXw5mHnHuhTXw5H*mHnHu hTXw5h’`›hTXw5H*mHnHuh’`›hTXw5mHnHuhuÍhI{‡hÛFHhTXw.òÏþÏÐÐ!Ð"Ð#ÐMÐNÐsÐtÐxÐzЈЉСТУЪЫЬÐÕÐÖÐ2Ñ9ÑZÑ[ÑãÒÓÓÓ0Ó1Ó6Ó:ÓÔÔÔøÔÕèÕêÕÖÖ$Ö)Ö*Ö+Ö/Ö@ÖKÖPÖÂÖÄÖüøüôðèðèðèäèüÜüÑÜäÜÊüÂü¾üÂüºüºüÂüºü®ªü¦ü¡üü•Žªü‡ü hI{‡hI{‡ hø
rhTXwh?”hø
r5hø
r hTXw5håz%h?”h?”h?”5OJQJhI{‡hý-…h1uhTXw5 hTXwhTXwjñ`hj)\UjhTXwUh¥d±jh#AUh#AhŽbÉh#k•hTXw5ÄÖÈÖÌÖÛÖÜÖÝÖïÖðÖ.×;×K×P×c×d×e×l×qת׷×Þ×áרØ"Ø#Ø6ØBØMØNØfØhØiØyØz؄ØÁØÃØÄØÍØíØûØÙ1Ù2Ù3Ù5Ù;ÙÎhHZ hÏsþ6h õh3¢hÏsþj,IMQ\]rs«­å÷"­´ÅÇUVY‰š›ÓרÚâëôýÿ0bm ±ºÎÏÐéì2345WdœÃÄêë49|}üøôðôðìðìðèðèðìðìðèðèìèðèäèäèäèäèäèàèÛèÛèàìà×ìàðÓäÓäÉäÂä¾ä¹ä¹ä¹ä¹ä¹ä² hëäh,^Ç h,^Ç6h] h,^Çh,^ÇjhÖ:ç0JUhüV¶ha¡ hëä6h”l¨h,^ÇhëähHZhûôh õh^7h¯Y€E|}NKg-© W X ¾ k!È"# #úòéòàØÏǾ¾¹´´¯™$$Ifa$gd©7lÆ"ÿn„gdMXgd
}÷gd
}÷„Ð^„ÐgdØg§
& FgdM0Ö„Ð^„ÐgdHZ
& FgdÎ U„Ð^„Ðgd…Sñ„Ð^„Ðgd¬1“
& Fgda­gdÏsþ}·¹ºÃÄÅÊÚÛÜáòóôùüý -.FGHKLMN¿ö!"$7JK€ŒüøñøíøåøíøåøíøåøÝÙÎÝÊÁݽµ½ªµÊµøü¦¢ž–ž‹–Ê–ž¢ž‡ü€Ù h·57ha­h¬1“j­ÀhdqAUjhüV¶UhüV¶h,^ÇhziŒj2ÀhbàUjhbàUhbàh¥d±mHnHuh¥d±j·¿h mUh mjh mUh3¢h/c*6hee© h/c*h/c*h/c*ha­0Œ‘¡¢£¦¨¹º»¾¿ÀÁÂרÙãäåòó  
LMOQgœ¨­¿ÂÕØÛ÷ïëçë÷ßëçë÷ëÛ×Ï×ÄÏÀ·Ï³«³ «À«×뜔œœ‰‚‰z‰z‰z‰h3¢hÎ U6 h·57hÎ UhÎ U h…Sñh…Sñh…Sñh…Sñ6h…Sñj£ÁhbàUjhbàUhbàh¥d±mHnHuh¥d±j(Áh mUjh mUh mhsh3¢h‰y6hee©ha­h3¢h m6h3¢ha­6,ÛÜñòóýþÿ 
%&'*+-.09;¦§©ÞßêïM\]_h|„œ ¡¦ºÅÇÈÝÞßéëìùú ÷óè÷äÛ÷ó÷óÐ÷ä÷ÌÈÄÀÄȻȷ°·¨·¨·¨·¤ÈÀÈ· ·¤À¤·¤ó÷ó•÷äÛ÷ó÷ójÃhÖ:çUhüV¶h äh3¢hM0Ö6 h·57hM0ÖhM0Ö h…Sñ6hHZhÀ±h…SñhÎ Uj™ÂhÖ:çUh¥d±mHnHuh¥d±jÂhÖ:çUhÖ:çjhÖ:çU6         ; A S T U V W X i r u … Š ‹ ” • › œ ª « ½ ¾ Ä Ê å æ ü !2!3!Y!Z![!a!i!j!k!œ!ª!ñ!ù!ú!$"ôìèìäàÜØÜØÜÎÜÊÆÂÆ¾Æ·°¬¥¬°¬°¬¡Æ™Æ™Æ•ƙƙƙƙ¡™‘™‘‰‘jh} Uh} hÀ±hwh]?›hMX hf&^h­%×hÝJ– hf&^hù5V hf&^h]?›hRÇhÂ)©h
}÷hÚ^fjhØg§0JUh äh/ÛhM0ÖhÖ:çh¥d±jhÖ:çUjÃhÖ:çU3$"&"("2"4"Æ"È"# #"#(#*#0#8#:#>#@#\#b#d#j#$$%$:$;$#ééééééé$$Ifa$gd©7lÆ"ÿn„>#@# ókd…Ä$$IfT–F4ÖÖ´”ÿ>~¾ þ €€€€€€€€
tàÖ0ÿÿÿÿÿÿö6ööÖ ÿÿÿÿÿÿÿÿÖ ÿÿÿÿÿÿÿÿÖ ÿÿÿÿÿÿÿÿÖ ÿÿÿÿÿÿÿÿ4Ö4Ö
laöf4ŠT@#T#\#d#l#t#|#„#Œ#éÓ½½ÓÓÓÓ$$Ifa$gd©7lÆ"ÿn„$$Ifa$gd©7lÆ"ÿà$$Ifa$gd©7lÆ"ÿàŒ#Ž# ókd"Å$$IfT–F4ÖÖ´”ÿ>~¾ þ €€€€€€€€
tàÖ0ÿÿÿÿÿÿö6ööÖ ÿÿÿÿÿÿÿÿÖ ÿÿÿÿÿÿÿÿÖ ÿÿÿÿÿÿÿÿÖ ÿÿÿÿÿÿÿÿ4Ö4Ö
laöf4ŠTŽ#¨#°#¸#À#È#Ð#Ø#à#éÓÓÓÓÓ¼Ó$$$Ifa$gd©7lÆ"ÿT$$Ifa$gd©7lÆ"ÿT$$Ifa$gd©7lÆ"ÿTà#â# ókd¿Å$$IfT–F4ÖÖ´”ÿ>~¾ þ €€€€€€€€
tàÖ0ÿÿÿÿÿÿö6ööÖ ÿÿÿÿÿÿÿÿÖ ÿÿÿÿÿÿÿÿÖ ÿÿÿÿÿÿÿÿÖ ÿÿÿÿÿÿÿÿ4Ö4Ö
laöf4ŠTâ#ò#ú#$$ $$$$éÓÓÓÓÓ¼Ó$$$Ifa$gd©7lÆ"ÿT$$Ifa$gd©7lÆ"ÿT$$Ifa$gd©7lÆ"ÿT$$ ókd\Æ$$IfT–F4ÖÖ´”ÿ>~¾ þ €€€€€€€€
tàÖ0ÿÿÿÿÿÿö6ööÖ ÿÿÿÿÿÿÿÿÖ ÿÿÿÿÿÿÿÿÖ ÿÿÿÿÿÿÿÿÖ ÿÿÿÿÿÿÿÿ4Ö4Ö
laöf4ŠT$}$~$Ç%A&»&¼&õ'Ó(É*š+-C.j.‘.¸.Ý./?/@/÷òíèèããÛÒÛÉij³³³³³®gd‹|ž
& F
ƠЄÐ^„Ðgd]gd]„Ð^„Ðgd©T;„Ð^„ÐgdHZ
& Fgd©T;gdY ÙgdY Ùgd
}÷gdMX$a$gdMXÈ%É%Ê%Ë%ò%ó%&&&&:&;&=&>&?&@&B&C&D&E&l&m&Š&‹&Œ&&´&µ&·&¸&¹&º&»&¼&ø&'')'F'Q'…'‡'–'£'¤'Ï'×'Ø'ô'õ'þ'E(F(G(L(\(](^(c(òîæîæîæîæîæÝæîæîÐîæîæîæîæîæÝæîæîÉŽŽŽŹ±©¹Å¥Å¥î¡¥¥•¥¥•hÀ±h©T;6hÀ9hRÇh©T;h÷«hŽbÉ6h÷«h¾Z
6h¾Z
h÷«h*Q˜6h*Q˜ hY ÙhY Ùj§ÊhY Ùhþm÷EHÎÿUh¥d±mHnHujhY ÙUhY ÙjùÆhY Ùhþm÷EHÎÿU:c(t(u(v({(~((”(•(–( (¢(£(¤(°(±(É(Ê(Ë(Î(Ï(÷(ý(Y)]) )é)ö)**>*?*d*e*i*k*o*p*š*›*À*Á*Å*Ç*È*É*Ò*+ +++++.+A+D+G+H+]+^+üøüðüèäÙèÕÌèäüÄü¹ÄÕÄüµüµüä±äèäèäèÕèäèäèäèÕ豪¦üŸüðüðüðüè䔁jÿÎh¾Z
U h±L!h©T;hRÇ hT
yh©T;h¾Z
hHZj„Îh©T;Ujh©T;Uh¥d±mHnHuh¥d±j Îh¾Z
Uh*Q˜jh*Q˜UhÀ±h©T;6hÀ9h©T;:^+_+i+k+l+m+y+z+’+“+”+—+˜+c,d,e,×,Ø,--(-)---/-3-4-^-_-„-…-‰-‹-Œ--ð-ñ-..X.Y..€.¦.§.Ë.Ð.ð.õ.?/@/I/v/w/‚/‡/™/œ/÷óê÷æâÚâÏÚóÚâæÈļļļó¼Ä¼Ä¼Ä¼ó¼Äµ±ª±¦±¡±¡±¡±¡±¡±¦±–±Ž±ŽhÀ±h]6 h±L!h]h‹|ž h]6hRÇ h,^Çh]h] hT
yh©T;jh¾Z
Uh¾Z
h¾Z
h¾Z
jzÏh©T;Ujh©T;Uh©T;h*Q˜h¥d±mHnHuh¥d±jh*Q˜U8œ/ž/±/´/¶/¹/º/Ï/Ð/Ñ/Û/Ý/Þ/ë/ì/000 0
0P0]0œ0¥0Ë0Ì0×0Ü0î0ñ011
1 1 1!1"1,1.1/1>>>>>>üøôðìøèøèøèøèäèäèäèìèìèìäìäìàìôìôìøðÙÒÎÊÎÆÂÆµÆ­Æ­Æ­Æ­Æ­¤­Æ­Æh¥d±mHnHujh³ôUjáÑhÅn×hvEHòÿUhw5úh³ôhRÇhÆ hf&^hÆ hx-œhØúhÝOÒhdsh†h•O2hpwëhm_ÈhÜh¸Z~˜>™>Æ>@?A?c?Ý?Þ?"@‚@¼@tABBB)B£BC1C«C%DŸDúõõúúõúúõúúííííúèãÞÞãÙÙÙgd}ÜgdÊ+gd¦TÞgd:Gð
& Fgd³ôgd³ôgd³ô> >!>">I>J>g>h>i>j>‘>’>”>•>–>—>˜>™>Ç>È>É>Ê>ñ>ò>????9?:?