Você está na página 1de 191

COLE DE TECHNOLOGIE SUPRIEURE

UNIVERSIT DU QUBEC

MMOIRE PRSENT
LCOLE DE TECHNOLOGIE SUPRIEURE

COMME EXIGENCE PARTIELLE


LOBTENTION DE LA
MATRISE EN GNIE LECTRIQUE
M. Ing.

PAR
Guillaume CHARLAND-ARCAND

CONTRLE NON LINAIRE PAR BACKSTEPPING DUN HLICOPTRE


DE TYPE QUADROTOR POUR DES APPLICATIONS AUTONOMES

MONTRAL, LE 20 AOT 2014

Guillaume Charland-Arcand, 2014

Cette licence Creative Commons signifie quil est permis de diffuser, dimprimer ou de sauvegarder sur un
autre support une partie ou la totalit de cette uvre condition de mentionner lauteur, que ces utilisations
soient faites des fins non commerciales et que le contenu de luvre nait pas t modifi.

PRSENTATION DU JURY
CE MMOIRE A T VALU
PAR UN JURY COMPOS DE :

Ouassima Akhrif, directrice de mmoire


Dpartement de gnie lectrique lcole de technologie suprieure
Franois Gagnon, prsident du jury
Dpartement de gnie lectrique lcole de technologie suprieure
Lyne Woodward, membre du jury
Dpartement de gnie lectrique lcole de technologie suprieure
Denis Couillard, examinateur externe
Ultra Electronics TCS

IL A FAIT LOBJET DUNE SOUTENANCE DEVANT JURY ET PUBLIC


LE 21 MAI 2014
LCOLE DE TECHNOLOGIE SUPRIEURE

REMERCIEMENTS
Ce projet naurait jamais t un succs sans lapport inestimable de plusieurs personnes.
Jaimerais premirement remercier ma directrice, Ouassima Akhrif pour le support quelle
ma fourni durant mes tudes aux cycles suprieures et pour mavoir recrut au sein de
lquipe du projet Launch and Forget . De plus, elle a fait preuve de beaucoup de
flexibilit, pendant toute la dure de mon mmoire, en me permettant de continuer
minvestir dans le club Dronolab.
Je souhaite aussi remercier particulirement Charles LTS Brunelle pour laide prcieuse
quil a apporte ce projet, en effectuant, entre autre, la conception et limplmentation de
larchitecture du systme sous ROS.
Il est galement important de souligner lapport inestimable de lquipe de test, soit Abbas
Chamseddine et Monia Mchirgui, pour toutes les extnuantes journes de test lextrieur. Je
suis galement trs reconnaissant envers lapport des membres du projet Launch and
Forget soit le professeur Franois Gagnon, Samuel Gagn et Chahine Ben Moussa.
Les tests de vol nauraient pas eu lieu sans lappui de Martin Laporte de la compagnie KoptR
Image ainsi que Roger Leblanc professeur lNA.
Pour finir, je tiens remercier tous les membres de Dronolab avec lesquels jai travaill
durant mes annes lTS, soit Pier-Marc Rivet, Florent Touchard, Frdric Morin, Pascal
Chiva, Guillaume Dorion, Mourad Dendane, Mukandila Mukandila, Jol Bourbonnais, Carl
St-Laurent, Sam-Nicolai Johnston, Jonathan Pierrat, Jean-Philippe Maltais, mile Abou
Nsar, Junior Pierre, Olivier Mass, Dylan Delongle, Jonathan Colins et Laurent Chagnon.
Pour finir, jaimerais remercier Olivier Moses pour sa relecture attentive.

CONTRLE NON LINAIRE PAR BACKSTEPPING DUN HLICOPTRE DE


TYPE QUADROTOR POUR DES APPLICATIONS AUTONOMES
Guillaume CHARLAND-ARCAND
RSUM
Le quadrotor est un aronef faisant partie de la famille des hlicoptres, plus particulirement
de la famille des multirotors. Le quadrotor possde plusieurs caractristiques (simplicit
mcanique, dcollage/atterrissage vertical, vol stationnaire, agilit) qui lui procurent
plusieurs avantages oprationnels par rapport dautres types dappareils. Cependant, ces
caractristiques proviennent de la dynamique hautement non linaire, couple et sousactionne du quadrotor, ce qui le rend impossible commander sans laction dun contrleur.
Ce mmoire propose donc de concevoir un contrleur permettant dasservir prcisment la
position du quadrotor dans lespace. Ce contrleur pourra ensuite tre utilis pour effectuer
des missions autonomes laide dun quadrotor.
Lapplication qui nous intresse dans ce mmoire provient de la problmatique de recherche
du projet Launch and Forget : Aerial Relay Node de lcole de technologie suprieure
(TS) en collaboration avec la compagnie Ultra-Electronics. Celle-ci cherche concevoir et
implmenter une loi dautonavigation innovatrice permettant dutiliser un drone comme un
relais de tlcommunication.
Lobjectif gnral du projet de recherche prsent dans ce mmoire est de concevoir un
contrleur non linaire de type backstepping pour permettre la navigation du quadrotor selon
des points de contrle prdfinis et doffrir les fonctionnalits ncessaires pour implmenter
la loi dautonavigation dveloppe dans le cadre du projet Launch and Forget . Pour ce
faire, une modlisation mathmatique du quadrotor a t effectue. Par la suite, la conception
du contrleur backstepping a t effectue partir du modle. Sa stabilit a ensuite t
valide laide de la thorie de stabilit de Lyapunov et laide de la thorie de la stabilit
entres tats (Input to State Stability - ISS). Un estimateur exact de drive bas sur un
algorithme de mode glissant dordre 2 est utilis lors de la conception du contrleur qui
permet dvaluer les variations des commandes virtuelles dordre lev.
Lapproche de commande choisie est valide en simulation laide du modle thorique et
en pratique laide dun quadrotor de type Pelican fabriqu par la compagnie Ascending
Technologies.

Mots cls : Contrle non linaire, stabilit de Lyapunov, backstepping, mode glissant dordre
2, stabilit entres tats, quadrotor, drone

CONTRLE NON LINAIRE PAR BACKSTEPPING DUN HLICOPTRE DE


TYPE QUADROTOR POUR DES APPLICATIONS AUTONOMES
Guillaume CHARLAND-ARCAND
ABSTRACT
The quadrotor aircraft is a class of helicopter, more specifically of multirotors. The quadrotor
has several characteristics (mechanically simple, vertical takeoff and landing, hovering
capacities, agile) that give it several operational advantages over other types of aircraft. But
its beneficts come at a cost : the quadrotor has a highly nonlinear dynamics, coupled and
underactuated which makes it impossible to operate without a feedback controller action.
This thesis proposes to design a nonlinear backstepping control law to control the exact
position of the quadrotor in space. This controller can then be used to perform autonomous
missions with a quadrotor.
The application we are interested in this thesis comes from the research project Launch and
Forget : Aerial Relay Node of the cole de technologie suprieure (TS) in partnership
with the company Ultra-Electronics. It seeks to develop and implement an innovative
autonavigation law allowing the use of a drone as a telecommunication link.
The overall objective of the research project presented in the thesis is to design a
backstepping controller for the navigation of a quadrotor according to predefined waypoints
and provide the features necessary to implement the autonavigation law developped in the
project Launch and Forget : Aerial Relay Node . To do this, a nonlinear model of the
quadrotor is developped. A backstepping control based on this model is design and its
stability is validated using Lyapunov theory and Input State Stability (ISS). An exact
derivative estimator based on a second order sliding mode is used in the design of the
controller to calculate the virtual control high order derivative.
The controller is validated by simulation and by practical flight tests using the Pelican
quadrotor manufactured by the company Ascending Technologies.
Keywords : Nonlinear control, Lyapunov stability, backstepping, second order sliding mode,
input output stability, quadrotor, unmanned aerial vehicle.

TABLE DES MATIRES


Page
INTRODUCTION .....................................................................................................................1
CHAPITRE 1 REVUE DE LITTRATURE ..........................................................................11
1.1
Projets importants .......................................................................................................12
1.1.1
Mesicopter (1999-2001)............................................................................ 12
1.1.2
X4-flyer MARK (2002-) ........................................................................... 12
1.1.3
OS4 (2004-2007) ...................................................................................... 13
1.1.4
STARMAC (2004-2012) .......................................................................... 15
1.1.5
Flying Machine Arena (2008-) ........................................................... 16
1.1.6
GRAPS Labs : MAST (2009-).................................................................. 16
1.2
Littrature portant sur les contrleurs linaires ..........................................................17
1.3
Littrature portant sur les contrleurs non linaires ...................................................17
1.3.1
Contrleur par mode glissant .................................................................... 18
1.3.2
Linarisation au sens entres-sorties ......................................................... 18
1.3.3
Contrle gomtrique................................................................................ 18
1.3.4
Backstepping ............................................................................................. 19
CHAPITRE 2 MODLISATION DE LA DYNAMIQUE .....................................................21
2.1
Dfinition des repres .................................................................................................21
2.2
Dcomposition de vecteur selon un repre.................................................................22
2.3
Dfinition du vecteur de position, de force et de moment .........................................22
2.4
Matrice de rotation .....................................................................................................23
2.5
Vitesse angulaire ........................................................................................................26
2.6
Matrice de propagation des angles dEuler ................................................................27
2.7
quation de mouvement .............................................................................................28
2.8
Forces et moments principaux ....................................................................................31
2.8.1
Analyse des forces et moments appliqus un lment dhlice ............. 32
2.8.2
Forces de portance .................................................................................... 33
2.8.3
Moment de trane .................................................................................... 34
2.8.4
Prcession gyroscopique ........................................................................... 35
2.8.5
Force de gravit......................................................................................... 36
2.9
Forces et moments non modliss ..............................................................................36
2.9.1
Battement dhlice .................................................................................... 36
2.9.2
Friction de lair ......................................................................................... 37
2.9.3
Effet de sol ................................................................................................ 37
2.9.4
Instabilit de lair et vent .......................................................................... 37
2.10
Dynamique des moteurs .............................................................................................37
2.11
Modle du quadrotor ..................................................................................................38
2.12
Correspondance forces/moments vitesses de moteur ..............................................40
CHAPITRE 3 NOTIONS PRLMINAIRES DE COMMANDE NON LINAIRE............43

XII

3.1
3.2
3.3

3.4

Backstepping ..............................................................................................................43
3.1.1
Description des tapes de conception. ...................................................... 45
Classes particulires de systmes ...............................................................................47
3.2.1
Systmes Strict-feedback .................................................................... 48
3.2.2
Systmes Pure-feedback ..................................................................... 48
Stabilit entres tats ...............................................................................................50
3.3.1
Condition suffisante .................................................................................. 51
3.3.2
Analyse de la stabilit entres tats ........................................................ 51
3.3.3
Forme particulire dun systme ISS ........................................................ 53
Estimateur exact de drive ........................................................................................54

CHAPITRE 4 CONCEPTION DU CONTRLEUR BACKSTEPPING ...............................57


4.1
Formulation du modle de contrle du quadrotor ......................................................57
4.2
Problmatique de contrle ..........................................................................................58
4.3
Description des tapes de conception du contrleur ..................................................59
4.4
Sous-systme 1 ...........................................................................................................61
4.4.1
tape 1 : Contrle de la position ............................................................... 61
4.4.2
tape 2 : Contrle de la vitesse linaire .................................................... 61
4.4.3
Sous-systme 1 en boucle ferme ............................................................. 64
4.4.4
Calcul de la force de pousse totale et des contrles virtuels ................... 66
4.4.5
Analyse du domaine de validit ................................................................ 68
4.5
Sous-systme 2 ...........................................................................................................70
4.5.1
tape 3 : Contrle de la position angulaire ............................................... 70
4.5.2
tape 4 : Contrle de la vitesse angulaire ................................................. 72
4.6
Rsum du contrleur .................................................................................................75
4.6.1
Systme complet en boucle ferme........................................................... 75
4.6.2
Signaux de contrles ................................................................................. 76
CHAPITRE 5 IMPLMENTATION ......................................................................................79
5.1
Quadrotor Asctec Pelican ...........................................................................................79
5.1.1
Units de calcul ......................................................................................... 79
5.1.2
Ordinateur embarqu ................................................................................ 80
5.1.3
Capteurs .................................................................................................... 81
5.1.4
Repre ....................................................................................................... 82
5.1.5
Alimentation ............................................................................................. 82
5.1.6
Architecture logiciel Asctec SDK ............................................................. 82
5.2
Capteur GPS/INS Spatial de la compagnie Advanced Navigation ............................83
5.2.1
Traitement de la redondance des mesures ................................................ 84
5.2.2
Systme GPS diffrentiel (DGPS) ............................................................ 84
5.2.3
Repre inertiel et conversion de la mesure de position............................. 85
5.2.4
Acquisition des donnes de vol via le capteur Spatial .............................. 86
5.3
Robotic Operating System (ROS) ..............................................................................86
5.3.1
Principe de fonctionnement ...................................................................... 86
5.3.2
Temps rel ................................................................................................. 87
5.3.3
Outils ......................................................................................................... 88

XIII

5.4
5.5
5.6

5.7

Implmentation du contrleur backstepping ..............................................................88


5.4.1
Contrleur de position............................................................................... 89
5.4.2
Contrleur dattitude ................................................................................. 90
Implmentation de la gnration de trajectoire ..........................................................93
5.5.1
Trajectoire partir de la position finale dsire........................................ 95
5.5.2
Trajectoire partir de la vitesse finale dsire.......................................... 95
Implmentation du systme de vol sous ROS ............................................................96
5.6.1
Node Firmware Control Unit (FCU)................................................... 97
5.6.2
Node Advance Navigation Spatial (ANS) .......................................... 98
5.6.3
Node Flight Manager (FM) ................................................................. 99
5.6.4
Node Navigation (NAV) ................................................................... 100
5.6.5
Node Mobility Control Unit (MCU) ................................................. 101
5.6.6
Node Network Lib ............................................................................ 103
5.6.7
Node Client GPS ............................................................................... 103
Rsum de limplmentation ....................................................................................104

CHAPITRE 6 VALIDATION ET EXPRIMENTATION ..................................................105


6.1
Simulation ................................................................................................................105
6.1.1
Paramtres de simulation ........................................................................ 106
6.1.2
Scnario 1 : Modle parfait ..................................................................... 108
6.1.3
Scnario 2 : Autonavigation.................................................................... 114
6.2
Exprimentation .......................................................................................................121
6.2.1
Test de vol en mode manuel : Contrleur dattitude seulement ............. 123
6.2.2
Test de vol en mode autonome : Contrleur complet ............................. 126
6.2.3
Test de vol avec la loi dautonavigation ................................................. 132
CONCLUSION

..................................................................................................................135

RECOMMANDATIONS ......................................................................................................137
LISTE DE RFRENCES BIBLIOGRAPHIQUES.............................................................160

LISTE DES TABLEAUX


Page
Tableau 1.1 Rsum des avantages et des dsavantages du quadrotor ......................................3
Tableau 5.1 Liste des messages ROS envoys par le FCU......................................................98
Tableau 5.2 Messages provenant du capteur Spatial ...............................................................99
Tableau 6.1 Paramtres de Matlab/Simulink .........................................................................107
Tableau 6.2 Paramtre du quadrotor Asctec Pelican .............................................................107
Tableau 6.3 Gains du contrleur backstepping ......................................................................108
Tableau 6.4 Scnario de vol ...................................................................................................109
Tableau 6.5 Condition initiale du quadrotor dans la simulation ............................................109
Tableau 6.6 Paramtres des moteurs en simulation ...............................................................115
Tableau 6.7 Paramtres des trajectoires .................................................................................115
Tableau 6.8 Conditions initiales du quadrotor dans la simulation .........................................116
Tableau 6.9 Position des antennes .........................................................................................116
Tableau 6.10 Message ROS et donnes enregistres durant le test de vol manuel ...............123
Tableau 6.11 Saturations appliques aux commandes gnres par le contrleur
de position

..................................................................................................................127

Tableau 6.12 Paramtres des trajectoires ...............................................................................127


Tableau 6.13 Messages ROS et les donnes enregistres durant le vol autonome ................128
Tableau 6.14 Scnario de vol .................................................................................................128
Tableau 6.15 Paramtres des trajectoires ...............................................................................132
Tableau 6.16 Messages ROS et les donnes enregistres ......................................................132

LISTE DES FIGURES


Page
Figure 1.1 Diffrents modles de drones classs par poids .......................................................2
Figure 1.2 Quadrotor du club tudiant Dronolab de lTS en vol.............................................2
Figure 1.3 Schma de principe de loi dautonavigation ............................................................5
Figure 1.4 Schma de principe de lapplication du quadrotor ...................................................6
Figure 2.1 Repre et .....................................................................................................23
Figure 2.2 Les angles dEuler ..................................................................................................26
Figure 2.3 Forces appliques et gnres par rapport une partie lmentaire dhlice.........32
Figure 2.4 Repre de lhlice .............................................................................................33
Figure 2.5 Moment de trane dune hlice .............................................................................34
Figure 2.6 Identification du sens de rotation des moteurs .......................................................38
Figure 2.7 Diagramme des forces ............................................................................................39
Figure 3.1 Chane de contrle typique dun systme mcanique ............................................44
Figure 3.2 Dessin de principe de la condition suffisante pour les systmes ISS .....................52
Figure 4.1 Structure du contrleur ...........................................................................................60
Figure 5.1 Configuration matrielle de la carte lectronique du Asctec Pelican .....................80
Figure 5.2 Configuration matrielle et photo de lordinateur
Atom dAscending Technologies ............................................................................................81
Figure 5.3 Exemple dun systme ROS simple .......................................................................87
Figure 5.4 Schma conceptuel du contrleur de position ........................................................90
Figure 5.5 Schma conceptuel du contrleur dattitude ..........................................................91
Figure 5.6 Exemple de trajectoire parabolique trois parties .................................................94
Figure 5.7 Calcul de la trajectoire ............................................................................................96

XVIII

Figure 5.8 Schma du systme de vol complet ........................................................................97


Figure 5.9 Interface du Flight Manager .................................................................................100
Figure 5.10 Machine tats du MCU ....................................................................................103
Figure 6.1 Schma du modle de simulation .........................................................................106
Figure 6.2 Poursuite de la trajectoire tridimensionnelle par le quadrotor..............................110
Figure 6.3 Poursuite de trajectoires par le quadrotor selon , ,

et

Figure 6.4 Poursuite de trajectoires par le quadrotor selon

........................................111

et

................................110

Figure 6.5 Poursuite de trajectoires par le quadrotor selon , ,

et

Figure 6.6 Poursuite de trajectoires par le quadrotor selon

........................................112

et

................................111

Figure 6.7 Comparaison entre lestimateur de drive par mode glissant dordre 2 et la
drive numrique Matlab/Simulink pour les commandes virtuelles ......113
Figure 6.8 Vitesse des moteurs ..............................................................................................114
Figure 6.9 Poursuite de la trajectoire gnre par la loi dautonavigation ............................117
Figure 6.10 Poursuite de trajectoires par le quadrotor selon

et .......................................117

Figure 6.11 Poursuite de trajectoires par le quadrotor selon

et

......................................118

Figure 6.12 Poursuite de trajectoires par le quadrotor selon et

.......................................118

Figure 6.13 Poursuite de trajectoires par le quadrotor selon

et .......................................119

Figure 6.14 Poursuite de trajectoires par le quadrotor selon

et

......................................119

Figure 6.15 Comparaison entre lestimateur de drive par mode glissant dordre 2 et la
drive numrique Matlab/Simulink pour les commandes virtuelles ......120
Figure 6.16 Vitesse des moteurs ............................................................................................120
Figure 6.17 Poursuite de trajectoires par le quadrotor selon ,

et ..................................124

Figure 6.18 Poursuite de trajectoires par le quadrotor selon ,

et ..................................124

Figure 6.19 Comparaison entre lestimateur de drive par mode glissant dordre 2 et la
drive numrique Matlab/Simulink pour les commandes virtuelles ......125
Figure 6.20 Vitesse des moteurs ............................................................................................126

XIX

Figure 6.21 Poursuite de la trajectoire tridimensionnelle par le quadrotor............................129


Figure 6.22 Poursuite de trajectoires par le quadrotor selon ,

et ...................................130

Figure 6.23 Poursuite de trajectoires par le quadrotor selon ,

et ...................................130

Figure 6.24 Erreur de poursuite des trajectoires par le quadrotor selon ,

et

................131

Figure 6.25 Poursuite de la trajectoire gnre par la loi dautonavigation ..........................133


Figure 6.26 Poursuite de trajectoires par le quadrotor selon ,
Figure 6.27 Poursuite de trajectoires par le quadrotor selon

et ...................................134
et .......................................134

LISTE DES ABRVIATIONS, SIGLES ET ACRONYMES


UAV

Unmanned Aerial Vehicule

TS

cole de technologie suprieure

LACIME

Laboratoire de communications et dintgration de la microlectronique

CRSNG

Conseil de recherches en science naturelle et en gnie du Canada

MEMS

Micro Electronic Mechanical System

NASA

National Aeronautics and Space Administration

GRAPS

General Robotics, Automation, Sensing & Perception

UNA

Universit Nationale dAustralie

DGPS

Differential Global Positioning System

ETH

Institut des technologies fdral suisse

MAST

Micro Autonomous System Technologies

NED

North, East, Down

ISS

Input to State Stability

ROS

Robotic Operating System

OBC

On-Board Computer

Asctec

Ascending Technologies

MMR

Multi-Mission Radio

Processeur HL

Processeur haut-niveau

Processeur LL

Processeur bas-niveau

GPS

Global Positioning System

DGPS

Differential Positioning System

RTCM

Radio Technical Commission for Maritime Services

XXII

FCU

Firmware Control Unit (node ROS)

MCU

Mobility Control Unit (node ROS)

ANS

Advanced Navigation Spatial (node ROS)

NL

Network Logistics (node ROS)

NAV

Navigation (node ROS)

FM

Flight Manager (node ROS)

NA

cole Nationale dArotechnique

LIPO

Lithium-Polymre

MIT

Massachusetts Institute of Technology

MIMO

Multiple Input Multiple Output

IMU

Inertial Measurement Unit

LTS

Long Time Support

RC

Remote Control

ECEF

Earth Centered Earth Fixed

SPI

Serial Peripheral Interface Bus

INS

Inertial Navigation System

LLA

Longitude Latitude Altitude

TCP

Transmission Control Protocol

IP

Internet Protocol

RSSI

Received Signal Strenght Indication

LISTE DES SYMBOLES ET UNITS DE MESURE

Repre inertiel
Origine du repre inertiel
Axe i du repre inertiel
Axe j du repre inertiel
Axe k du repre inertiel

Repre du quadrotor
Origine du repre du quadrotor
Axe i du repre du quadrotor
Axe j du repre du quadrotor
Axe k du repre du quadrotor

Repre de lhlice
Origine du repre de lhlice
Axe i du repre de lhlice
Axe j du repre de lhlice
Axe k du repre de lhlice
Vecteur unitaire 0 0 1
Vecteur de la position exprim dans ( )

Position du quadrotor selon laxe

( )

Position du quadrotor selon laxe

( )

Position du quadrotor selon laxe

( )

Vitesse linaire exprime dans ( )


Vecteur de la vitesse linaire exprime dans ( )
Vitesse selon laxe

( )

XXIV

Vitesse selon laxe

( )

Vitesse selon laxe

( )

Vecteur des vitesses angulaires du repre par rapport exprimes dans


(

Vitesse angulaire autour de laxe

Vitesse angulaire autour de laxe

Vitesse angulaire autour de laxe

Vecteur des forces exprim dans ( )

Vecteur des forces exprim dans ( )


,

Vecteur des couples exprim dans ( )


Vecteur des couples exprim dans ( )
Vecteur de prcession gyroscopique exprim dans (
Vecteur des angles dEuler (
Roulis (

( ) ,
( ),

Tangage (
Lacet (

)
)

Matrice de propagation des angles dEuler


Matrice de rotation
Tenseur dinertie du quadrotor exprim dans (
Inertie selon laxe x (

Inertie selon laxe y (

Inertie selon laxe z (

Masse du quadrotor (

Acclration gravitationnelle ( )

XXV

Force de pousse totale gnre par les moteurs ( )

Vitesse de rotation du moteur i (


Force de pousse du moteur i ( )
Moment de trane du moteur i (
Moment dinertie du moteur (

Gain de lestimateur de mode glissant dordre 2


Distance du centre de gravit lapplication de la force de portance ( )
Coefficient linaire de pousse (

Coefficient linaire de trane (

Sous-systme reprsentant la dynamique de positionnement


Vecteur des tats du sous-systme

Sous-systme reprsentant la dynamique angulaire


Vecteur des tats du sous-systme
( )

Vecteur de la trajectoire de position dsire ( )

( )

Trajectoire de la position en x dsire ( )

( )

Trajectoire de la position en y dsire ( )

( )

Trajectoire de la position en z dsire ( )

( )

Cap dsir (

Matrice de gain
Vecteur de la commande virtuelle de la vitesse linaire ( )
Vecteur de la commande virtuelle de la position angulaire ( )
Commande virtuelle du roulis (
Commande virtuelle du tangage (

)
)

Vecteur de la commande virtuelle de la vitesse angulaire (

XXVI

Estimation de la drive de la commande virtuelle de lestimateur

Erreur destimation selon lestimateur


Fonction de Lyapunov
Erreur de position linaire ( )
Erreur de vitesse linaire ( )

()

Erreur de position angulaire (

Erreur de vitesse angulaire (

Matrice de sparation de la matrice de rotation


Matrice antisymtrique
Matrice de correspondance entre force/moment et les vitesses de moteur

()

Oprateur retournant la plus petite valeur propre dune matrice

()

Oprateur retournant la plus grande valeur propre dune matrice

INTRODUCTION
Le domaine des drones (Unmanned Aerial Vehicule - UAV) est en constante volution
depuis les dbuts de laviation. lorigine, les recherches dans ce domaine taient
principalement motives par des applications militaires (Valavanis, 2007). En effet, les
drones taient, et demeurent aujourdhui, la meilleure solution pour viter la perte de pilotes
lors de missions dangereuses. Cependant, compte tenu des complexits additionnelles
inhrentes aux drones, le dveloppement de ce domaine sest effectu plus lentement que
pour les systmes avec pilote. Lapparition de capteurs de plus en plus prcis, laugmentation
constante de la puissance de calcul des processeurs ainsi que lavancement des connaissances
dans le domaine de laronautique ont permis cette tendance de sinverser. En effet, le
domaine des drones crot de manire exponentielle depuis le dbut des annes 80 (Newcome,
2004). Lutilisation de drones est dsormais monnaie courante dans plusieurs domaines
dapplications telles que larpentage, la surveillance de pipeline et la photographie arienne
(Austin, 2010). Aussi, les drones sont dsormais trs connus du public spcialement depuis
lintensification de lutilisation de drones militaires, tels que le dsormais clbre Predator,
par larme amricaine.
Compte tenu du potentiel norme des drones pour des applications civiles, un trs grand
nombre de compagnies concevant des drones civils sont apparues depuis les annes 90 telles
que, par exemple, Aeryon Labs et Aerodreams. En effet, pour la mme application, les
drones civils sont typiquement beaucoup moins volumineux que des vhicules avec pilote.
Ceci permet de rduire drastiquement le cot de carburant, de fabrication, dopration ainsi
que de maintenance des appareils. Par ailleurs, lapparition de capteurs bon march, la
multiplication de communauts hberges sur internet portant sur les drones lgers ainsi que
lapparition de projets code libre sont des facteurs qui ont rendu accessible le domaine des
drones une trs grande partie de la population.
De ce fait, il existe dsormais une trs grande varit de drones de diffrentes classes. Les
UAV sont typiquement classs selon plusieurs critres tels que leur poids, leur taille, leur

rayon daction, leur altitude de vol et leur endurance. La Figure 1.1 prsente quelques
modles de drone connus sur le march et classs par poids.

Figure 1.1 Diffrents modles de drones classs par poids


Adapte de Wikipdia (2014)
Le quadrotor, dont le contrle fait lobjet de ce mmoire, fait partie de la famille des
hlicoptres, plus particulirement de la famille des appareils multirotors. Comme son nom
lindique, il sagit dun appareil qui possde quatre moteurs construits en forme de croix. La
Figure 1.2 prsente un prototype de quadrotor construit par le club scientifique Dronolab de
lcole de technologie suprieure (TS).

Figure 1.2 Quadrotor du club tudiant Dronolab de lTS en vol


Tire de Dronolab (2014)

Comparativement lhlicoptre conventionnel o le contrle de lappareil est effectu en


changeant langle dincidence du rotor principal, le quadrotor est contrl par la variation de
vitesse entre les diffrents moteurs. Ceci simplifie grandement la fabrication de ce type
dappareil en liminant les pices mcaniquement complexes constituant notamment le
systme de propulsion. Malgr ces diffrences mcaniques, le quadrotor conserve toutes les
caractristiques dun hlicoptre conventionnel, ce qui lui permet dtre rapidement et
facilement dploy sur une multitude de terrains. Il peut galement effectuer des vols dans
des environnements restreints tels que des btiments et maintenir un vol stationnaire. Les
avantages et les dsavantages du quadrotor sont rsums par le Tableau 1.11.

Tableau 1.1 Rsum des avantages et des dsavantages du quadrotor


Avantages

Dsavantages

Dcollage/Atterrissage vertical

Naturellement instable

Vol stationnaire

Dynamique couple

Simple mcaniquement

Systme sous-actionn

Agile

Petit rayon daction ( 1 3 km)

Petite taille

Faible autonomie ( 10 30 min)


Faible charge utile ( 0.1 1 kg)

Une multitude de tches peuvent tre envisageables pour un appareil ayant les
caractristiques prcdentes, telles que :

linspection de btiments, plantations, structures, lignes lectrique, pipelines;

opration de dminage;

exploration de lieux difficiles daccs ou dangereux;

arpentage;

Les donnes du tableau 1.1 sont approximatives et dpendent du modle du quadrotor

localisation de feux de fort;

photographie arienne.

Problmatique
Pour lensemble de ces applications, le quadrotor doit tre asservi pour tre en mesure de
demeurer en vol. En effet, un contrleur robuste doit tre conu afin dliminer les
principaux dsavantages lis la dynamique du quadrotor, dont principalement sa dynamique
instable. Une telle tche est complexe, car la dynamique du quadrotor offre de nombreux
dfis compte tenu de sa nature hautement non linaire, couple et sous-actionne.
Objectifs
Le premier objectif de ce mmoire est de dvelopper et dimplanter un contrleur non
linaire de type backstepping permettant un quadrotor deffectuer des dplacements prcis
dans lespace partir de points de contrle, pourvu quils soient dans le domaine dopration
de lappareil. Le backstepping a t choisi car il sagit dun contrleur moderne, performant
et bien adapt pour rpondre aux problmes inhrents la dynamique sous-actionne du
quadrotor.
Ce projet de matrise a t dvelopp dans le cadre du projet de recherche nomm Launch
and Forget : Aerial Relay Node de lTS en partenariat avec la compagnie UltraElectronics et appuy par le Conseil de recherches en science naturelle et en gnie du Canada
(CRSNG). Lobjectif de Launch and Forget est de concevoir un relais de
tlcommunication arien et autonome qui assure une bonne qualit de service et une
augmentation de la porte pour des communications tactiques. Pour ce faire, une loi
dautonavigation innovatrice a t dveloppe, utilisant seulement la puissance ainsi que
langle dincidence des signaux reus, pour diriger un drone vers la position optimale au sens
des tlcommunications. La Figure 1.3 illustre le fonctionnement de la loi dautonavigation.

Figure 1.3 Schma de principe de loi dautonavigation


Le second objectif de ce mmoire est de concevoir le contrleur backstepping dans loptique
dassurer les dplacements demands par lalgorithme dautonavigation. Pour ce faire, une
attention particulire est donne aux aspects pratiques lors de la conception du contrleur
pour quil soit dployable sur un appareil pour effectuer des tests exprimentaux de la loi
dautonavigation.
Dans le cadre du projet Launch and Forget , le quadrotor Asctec Pelican, dvelopp par la
compagnie Ascending Technologies, a t choisi comme appareil de test. Il sagit dun
quadrotor de classe mini , pesant 1kg et possdant une charge utile de 650g.
La Figure 1.4 illustre les principaux systmes ncessaires pour raliser lobjectif du projet.
La partie encadre est le sujet de ce mmoire.

Figure 1.4 Schma de principe de lapplication du quadrotor


Mthodologie
Pour parvenir notre objectif, nous devons effectuer les tapes suivantes :

la modlisation de la dynamique du quadrotor;

la conception dun contrleur non linaire de type backstepping;

le dveloppement dun modle de simulation de la dynamique du quadrotor;

la simulation de la dynamique du quadrotor et du contrleur;

limplmentation du contrleur au niveau du quadrotor Asctec Pelican;

la validation exprimentale du contrleur.

Contributions scientifiques et techniques


Les travaux raliss dans le cadre de ce mmoire ont apport plusieurs contributions dordre
scientifique. En effet, la preuve mathmatique de stabilit du contrleur backstepping se
distingue de plusieurs auteurs, notamment (Bouabdallah, 2007), par une modlisation
complte de la dynamique; cest--dire sans lapplication de simplifications aux quations de
base de la dynamique. Par ailleurs, la conception du contrleur considre leffet de lerreur

de position angulaire sur la stabilit de la dynamique du quadrotor comparativement


dautres travaux utilisant la dynamique complte, dont ceux de (Madani, Tarek et al., 20062007; Huang, Xian et al. 2010)2. Dautre part, une majorit dauteurs utilisent une forme
destimation3 pour calculer certaines drives de contrleur virtuel ce qui est galement le
cas dans ce mmoire. Comparativement aux autres travaux, nous tudions en dtail les effets
des erreurs destimation sur la stabilit du systme.
Il est galement pertinent de noter que lexprimentation pratique dun contrleur de vol est
une tche extrmement complexe. En effet, la plupart des travaux portant sur les contrleurs
backstepping possdent peu ou pas dexprimentations pratiques (Madani, Tarek et al., 20062007; Huang, Xian et al. 2010; Bouabdallah, 2007)4. Dans le cas o des exprimentations
pratiques sont menes, celles-ci sont typiquement effectues en laboratoires laide de
camra capture de mouvement mesurant la position du quadrotor avec une prcision
millimtrique. Le projet MAST du laboratoire GRAPS, le projet Flying Machine Arena
du professeur Raffeallo DAndrea et les travaux de (Wang, Raffler et al., 2012) utilisent cette
approche.
Plusieurs ralisations dordre technique ont t ralises, dans le cadre de ce mmoire, pour
russir les dmonstrations pratiques du contrleur backstepping ainsi que de la loi
dautonavigation. En effet, comparativement plusieurs travaux menant leurs essais en
environnement contrl, nous avons effectu nos tests exprimentaux lextrieur. Ceci
ajoute plusieurs lments perturbateurs lors des vols, notamment le vent, et dmontre la
robustesse de notre approche. De plus, le capteur utilis pour mesurer la position du
quadrotor lors des exprimentations possde une prcision significativement infrieure aux

Lerreur de position angulaire a un effet direct sur la stabilit du quadrotor. Celle-ci est reprsente dans ce
( , ) tel que prsenter la section 4.4.2 et par nos travaux (Ghommam,
mmoire par le terme
Charland-Arcand et al., 2014).
3
Par exemple, un estimateur sliding mode dordre deux (Madani, Tarek et al., 2006), une drive numrique
(Madani, Tarek et al., 2007) ou lutilisation dun filtre numrique (Wang, Raffler et al., 2012).
4
Certains de ses travaux ont des rsultats exprimentaux, mais seulement concernant le contrle de lorientation
du quadrotor.

camras capture de mouvement typiquement utilises. galement, limplmentation


numrique et la calibration des gains du contrleur backstepping ainsi que de lestimateur de
driv sont des tches complexes. En effet, loptimisation du code implment et les choix
architecturaux se distinguent notamment par lutilisation de plusieurs units de calcul et par
sa modularit.
Les travaux gnrs par ce mmoire et par le projet Launch and Forget ont gnr
plusieurs publications dont : (Ghommam, Charland-Arcand et al., 2014), (Chamseddine,
Charland-Arcand, Akhrif et.al, 2014) et (Charland-Arcand, Akhrif et.al, 2014).
Ce mmoire est divis en 6 parties :
Le CHAPITRE 1 porte sur la revue de littrature des projets importants portant sur la
modlisation et le contrle de quadrotors.
Le CHAPITRE 2 porte sur la modlisation de la dynamique du quadrotor. Celle-ci est
effectue en utilisant les lois de mouvement de Newton. On y prsente aussi les principales
forces et les principaux moments appliqus sur le quadrotor.
Le CHAPITRE 3 effectue un rsum des concepts de commande non linaire ncessaire
pour effectuer la conception du contrleur. On y prsente la mthodologie de conception du
backstepping. On y aborde aussi le concept de stabilit entres tats ainsi que le
fonctionnement dun estimateur de driv bas sur un algorithme par mode glissant dordre
2.
Le CHAPITRE 4 porte sur la conception du contrleur backstepping. Le contrleur est
divis en deux tapes, soit la conception du contrleur de position et le contrleur dattitude.
La preuve de la stabilit asymptotique du systme est effectue en se basant sur la thorie de
Lyapunov.

Le CHAPITRE 5 porte sur limplmentation du contrleur ainsi que du systme de vol. Il


prsente les caractristiques du quadrotor Asctec Pelican, les capteurs utiliss ainsi que
larchitecture logicielle utilise.
Le CHAPITRE 6 porte sur les exprimentations du contrleur. Dans un premier temps, nous
prsentons les rsultats obtenus laide du modle de simulation pour plusieurs scnarios.
Dans un deuxime temps, nous prsentons les rsultats obtenus partir des essais de vol
exprimentaux.
Nous finissons le mmoire avec une conclusion et des recommandations pour les projets
futurs.

CHAPITRE 1
REVUE DE LITTRATURE
Lavancement technologique, notamment dans le domaine des centrales inertielles faible
cot bases sur la technologie des microsystmes lectromcaniques (MEMS Micro
Electronic Mechanical System), a permis au dbut des annes 2000 plusieurs laboratoires,
de concevoir leur prototype de quadrotor. Compte tenu de son faible cot, de sa simplicit
mcanique ainsi que de sa dynamique non linaire complexe, sous-actionne et couple, le
quadrotor est rapidement devenu un sujet de recherche populaire dans le domaine de la
robotique ainsi que de la commande. Lapparition de compagnies telles que Ascending
Technologies et Draganfly spcialises dans la fabrication de quadrotors ddis la
recherche na fait quaccrotre cet engouement.
Cette popularit fait en sorte que la littrature sur le sujet est vaste et labore. En effet,
presque toutes les stratgies de commandes ont t appliques par divers auteurs pour
contrler ce type dappareil. Cependant, un grand nombre de travaux se base sur des modles
thoriques et ne prsentent que des rsultats de simulation. Dans un premier temps, nous
prsenterons ici une liste de projets qui nous paraissent les plus significatifs dans le domaine.
(Bouabdallah, 2007), (Bresciani, 2008) ainsi que (Costa de Oliveira, 2011) prsentent, dans
leur ouvrage respectif, une liste dtaille exhaustive. Les projets sont prsents en ordre
chronologique et comportent autant des rsultats sur limplmentation de lois de commande
que sur la modlisation et la fabrication dun quadrotor. De plus, la plupart prsente des
exprimentations pratiques. Le reste de la revue de littrature se consacre aux diffrentes
mthodes de contrle linaire et non linaire appliques au quadrotor.

12

1.1

Projets importants

1.1.1

Mesicopter (1999-2001)

Le projet Mesicopter de luniversit de Stanford sest chelonn de 1999 2001 sous la


supervision de M.Ilan Kroo. Ce projet, financ par la National Aeronautics and Space
Administration (NASA), avait comme thmatique principale la conception de quadrotor de
trs faible taille, ayant environ 10 cm de diamtre. Les objectifs du projet taient danalyser
les problmatiques lies la conception et la faisabilit de systmes volants miniatures, de
dvelopper des mthodes de fabrication et damliorer les connaissances arodynamiques o
la valeur du nombre de Reynolds est petite.
Plusieurs prototypes dhlices et dappareils ont t produits durant le projet, cependant
aucun ntait capable de soulever le poids de sa source dnergie. La plupart des prototypes
tant plutt des preuves de concepts (Kroo et al., 2000). Par contre, plusieurs rsultats
intressants sur lanalyse des effets arodynamiques gnrs par lhlice, rsums par (Fay,
2001), ont t utiliss par plusieurs auteurs tels que (Bouabdallah, 2007).
1.1.2

X4-flyer MARK (2002-)

Le projet MARK de luniversit nationale dAustralie (UNA), dirig par P. Pounds et Robert
Manhony a dbut en 2002. Celui-ci consiste en la conception dun quadrotor de 4kg
pouvant soulever jusqu 1kg dquipement. Celui-ci tait trs lourd comparativement aux
autres quadrotors de sa gnration. Les objectifs principaux du projet taient, premirement,
de gnrer suffisamment de force de portance, laide du groupe de propulsion, pour
soulever lappareil et, deuximement, de stabiliser celui-ci en vol.
Pour raliser ces objectifs, lquipe de lUNA a choisi, comme dans le cas du projet
Mesicopter, de concevoir un prototype de chssis et dhlice. Ces recherches, bases sur les
thories de commandes linaires, leur ont permis de tirer plusieurs conclusions, notamment

13

que lutilisation dhlices rigides devrait tre privilgie (Pounds et al., 2002). En effet,
celles-ci avancent que la dynamique du quadrotor en dplacement latral moyenne et haute
vitesse est affecte par un effet appel de battement dhlice modlis par (Prouty, 2002). De
plus, les auteurs concluent que la position du centre de gravit de lappareil a un effet
important sur la stabilit. Ils recommandent de le positionner dans le plan form par les
hlices pour augmenter la stabilit tout en liminant les effets du blade flapping (Pounds
et al., 2010).
Un contrleur proportionnel intgral driv (PID) est propos pour contrler lattitude dans
des conditions prs du vol stationnaire. Ils soulignent que ce type de contrleur est
intressant compte tenu de sa simplicit et de sa robustesse face aux variations de paramtres.
Ils obtiennent de bons rsultats en rgime stationnaire ou quasi stationnaire avec des erreurs
de 1. Il est not par les auteurs que llment limitant le plus la dynamique du prototype est
la performance des moteurs (Pounds et al., 2010).
Le projet a t le sujet de plusieurs publications. Le projet est toujours actif comme en fait foi
la conception de leur 3e prototype, le MARK III.
1.1.3

OS4 (2004-2007)

Le projet OS4 de Samir Bouabdallah porte sur la conception et le contrle de quadrotors. Ce


projet est document par plusieurs articles rdigs pendant le projet ainsi que par la thse de
doctorat de M. Bouabdallah prsents lcole Polytechnique de Lausanne. Celle-ci prsente
la mthodologie de conception dun quadrotor en utilisant les informations provenant du
poids total voulu, de la pousse gnre par les moteurs ainsi que la capacit de la batterie.
Ce projet se concentre exclusivement sur le contrle du quadrotor lintrieur, dans un
environnement contrl et basse vitesse. Ceci lui permet de ngliger les effets
aronautiques au niveau du modle. Bouabdallah simplifie le modle laide de lhypothse
des petits angles dattitude. Celle-ci est vrifie par diffrents travaux, incluant le sien. Cette
approximation permet de dcoupler le modle du quadrotor pour obtenir une forme bien

14

adapte pour appliquer plusieurs mthodes de contrle. Ce modle fut largement utilis dans
la littrature par la suite.
La thse de Bouabdallah se concentre plus spcifiquement sur la comparaison de la
performance de diffrentes mthodologies de commande appliques au quadrotor.
Dans un premier temps, la performance de deux contrleurs linaires, soit le PID et LQ, est
analyse. Il note que le contrleur et la linarisation du modle fonctionnent grce la boucle
interne contrlant la vitesse des moteurs. Ceci permet lauteur de conclure quune
dynamique rapide des moteurs est ncessaire au bon fonctionnement du quadrotor. Il note
que le PID fonctionne bien autour du point dquilibre, mais ragit mal en prsence de
perturbation. Pour ce qui est du contrleur LQ, il indique que celui-ci donne des rsultats
moyens et quil est moins performant que le PID. Cependant, il note que Hoffman obtient de
meilleurs rsultats avec ce type de contrleur (Hoffman et al., 2004).
Dans un deuxime temps, Bouabdallah se penche sur la conception de contrleurs non
linaires. Il en choisit trois : soit la mthode Lyapunov Redesign , le contrle en mode
glissant et le backstepping. La mthode de Lyapunov Redesign est teste sur un banc
dessai o il obtient de bons rsultats, principalement pour le contrle du lacet. Malgr de
bons rsultats, les performances du contrleur en mode glissant sont affectes par leffet de
commutation typiquement reli ce type de contrleur. Pour finir, il obtient dexcellents
rsultats laide du backstepping, et cela, mme pour des conditions initiales critiques. Il
note aussi que le contrleur effectue un trs bon rejet des perturbations.
Suite lanalyse de toutes ces mthodes, Bouabdallah conclut que la robustesse de laction
intgrale du PID face aux incertitudes du modle et la capacit du contrleur backstepping
dliminer les perturbations sont les deux lments essentiels pour obtenir un bon contrle. Il
propose donc de combiner les deux mthodes pour obtenir un contrleur de type
backstepping intgral. Les rsultats obtenus sont bons, ce qui lui permet dimplmenter le
contrleur pour tous les degrs de libert (Bouabdallah, 2007). Le contrle de position selon

15

les axes x et y ne fut expriment quen simulation seulement. Cependant, des sonars ont t
installs aux quatre extrmits des bras, permettant dimplmenter un algorithme dvitement
dobstacle. Lauteur souligne qu sa connaissance, il sagissait du premier quadrotor avec
cette capacit.
1.1.4

STARMAC (2004-2012)

Le projet STARMAC de luniversit de Stanford, dirig par M.Hoffmann, a comme but


lanalyse et le contrle de quadrotor lextrieur dans une enveloppe de vol plus large que le
vol stationnaire. Lquipe de M.Hoffmann a elle-mme fabriqu un prototype multiagent,
trs flexible pouvant transporter une multitude de capteurs. tant notamment quip dun
Differential Global Positioning System (DGPS), ce quadrotor a permis au projet
dexprimenter sur le contrle de la position ainsi que sur la gnration et la poursuite de
trajectoire (Hoffmann et al., 2007, 2009).
Les premires publications de lquipe STARMAC (Hoffmann et al., 2004, 2007, 2009)
portent principalement sur la modlisation et la conception du quadrotor. Celles-ci concluent
tout comme (P.Pounds et al., 2010) que le battement dhlice ( blade flapping ) a des effets
importants sur la dynamique de lattitude du quadrotor lorsquil se dplace haute vitesse.
Comme premire approche, un contrleur PID est propos pour stabiliser lattitude avec une
marge derreur denviron 2 3. Un contrleur PID est aussi propos pour stabiliser la
position. Cependant, les auteurs indiquent que les contrleurs ne sont fonctionnels que dans
des conditions o les effets arodynamiques sont ngligeables.
Les articles suivants portent sur la correction du prcdent contrleur pour le rendre plus
robuste. Lajout des effets arodynamiques ainsi que la combinaison dune stratgie
dinversion de dynamique avec le contrleur PID sont utiliss pour augmenter la
performance. Le nouveau contrleur a t test en soumettant le quadrotor des manuvres
agressives telles que des changements de direction brusques (Hoffmann et al., 2009). Un
contrleur en mode glissant coupl avec une action intgrale est propos dans un autre article

16

pour contrler laltitude, car les auteurs notent que celle-ci est la plus sujette aux incertitudes
de paramtres ainsi quaux perturbations (Waslander et al., 2005).
Le quadrotor de STARMAC a aussi t utilis pour effectuer des recherches plus avances
sur la planification de trajectoire, lvitement dobstacles ainsi que la coopration
multidrones (Hoffmann et al., 2008) et des vrilles (Gillula et al., 2011).
1.1.5

Flying Machine Arena (2008-)

Le Flying Machine Arena est un projet de lInstitut des technologies fdral suisse (ETH)
men par Raffeallo DAndrea. Ce projet est une rfrence en termes dquipement et de salle
de test pour les exprimentations de drones miniatures. Ceux-ci utilisent des quadrotors
commerciaux de type Hummingbird conu par la compagnie Ascending Technologies. La
chambre de test, dune dimension de 10x10x10m3, est entoure par des filets et son plancher
est constitu dimmenses coussins pour permettre de protger les appareils en cas de chute.
Le laboratoire est quip de camras capture de mouvement de la compagnie Vicon, ayant
une frquence dacquisition denviron 250Hz et ayant une prcision de quelques millimtres
pour mesurer la position des appareils en vol.
Ce type dinstallation a permis le dveloppement de plusieurs projets. Voici quelques
exemples : la poursuite de trajectoires complexes et agressives telles que le passage travers
des ouvertures, le vol coopratif coordonn par de la musique, lexcution de vrilles,
lchange dune balle de ping-pong entre deux quadrotors et la stabilisation dun pendule
invers install sur le quadrotor pour en nommer que quelques un. Chacun des projets de
recherche utilise des contrleurs non linaires modernes.
1.1.6

GRAPS Labs : MAST (2009-)

Lapproche du projet Micro Autonomous System Technologies (MAST) du laboratoire


GRAPS de luniversit de la Pennsylvanie est similaire celle du projet Flying Machine

17

Arena . En effet, ceux-ci utilisent le mme type dquipement, soit des quadrotors de type
Hummingbird ainsi que des camras Vicon pour obtenir la position du quadrotor. Le MAST
dirig par M.Vijay Kumar se spcialise dans la gnration de trajectoires agressives
ralisables, ainsi que dans la coopration multiquadrotor. Leurs travaux ont fait lobjet dune
multitude de publications et de vidos o plusieurs quadrotors effectuent des tches
complexes en quipe, tels que des vols en formation, des passages travers obstacles ainsi
que de jouer dans un orchestre. Le contrleur conu pour effectuer les travaux est un
contrleur bas sur la gomtrie diffrentielle.
1.2

Littrature portant sur les contrleurs linaires

La plupart des contrleurs linaires dvelopps pour les quadrotors ainsi que pour les
hlicoptres miniatures sont obtenus par la linarisation dun modle simplifi. La
linarisation est habituellement effectue pour le point dopration correspondant au vol
stationnaire.
Les contrleurs les plus employs sont le contrleur PID (Kim H. et Shim D., 2003;
Bouabdallah et al.,2004; Sadeghzadeh, Ankit et al.,2012), le contrleur LQR (Shin J,
Fujiwara et al., 2005; Orsag, Popopat et al, 2010) et le contrleur

(La Civita,

Papageorgiou et al., 2006).


La plupart des travaux obtiennent de bonnes performances soit une erreur denviron 1.
Cependant celles-ci se dgradent au fur et mesure que lon sloigne du point dopration.
1.3

Littrature portant sur les contrleurs non linaires

Plusieurs types de contrleurs non linaires ont t utiliss dans la littrature pour contrler
un appareil de type quadrotor. Nous prsenterons ici quatre mthodologies de contrle
nonlinaires soit : le contrle par mode glissant, la linarisation au sens entres-sorties, le
contrle gomtrique et le backstepping.

18

1.3.1

Contrleur par mode glissant

Plusieurs auteurs ont russi dvelopper un contrleur par mode glissant ( Sliding mode
control ) pour le quadrotor (Xu et zgner, 2006; Waslander, Hoffmann et al., 2005;
Sharifi, Mirzaei et al. 2010; Bouabdallah et al., 2007). Les auteurs utilisent, soit la
dynamique complte du quadrotor ou optent pour un modle simplifi. Dans tous les cas
cependant, la prsence de leffet de commutation inhrente au contrleur par mode glissant
affecte la dynamique gnrale du quadrotor. La stratgie des diffrents auteurs est de
diminuer cet effet nuisible limplmentation du contrleur en utilisant des variances de la
fonction signe, telles quune fonction de forme sigmode ou une fonction de type saturation.
1.3.2

Linarisation au sens entres-sorties

Une linarisation au sens entres-sorties de la dynamique simplifie du quadrotor est possible


si celle-ci est applique en deux boucles distinctes, lune contrlant lattitude du quadrotor
tandis que la seconde contrle la position du quadrotor (Das, Subbarao et al. 2008; Zhou et
Zhang, 2010; Benallegue, Mokhtari et al. 2007). Celle-ci est ensuite combine un
contrleur PID pour assurer la stabilit du systme linaris ainsi que la stabilit de la
dynamique interne.
1.3.3

Contrle gomtrique

Le contrle gomtrique se base sur la gomtrie diffrentielle et la topologie pour concevoir


des contrleurs. La dynamique du quadrotor est membre dune famille de systmes nomme
groupe euclidien spcial not SE(3). Cette proprit du systme peut tre exploite pour
concevoir un contrleur non linaire (Lee, Leok et al. 2011).

19

Aussi, en choisissant judicieusement les entres et les sorties du systme on peut dmontrer
que la dynamique du quadrotor est plate ( differentially flat ). Cette proprit permet un
changement de variable qui facilite la conception du contrleur (Mellinger et Kumar, 2011)5.
1.3.4

Backstepping

Le backstepping est une mthode bien adapte pour la dynamique du quadrotor, car celle-ci
peut directement tre exprime sous une forme permettant la conception de ce type de
contrleur. Cette particularit rend le backstepping trs populaire dans la littrature.
Outre (Bouabdallah et Siegwart, 2007) qui utilisent un modle simplifi pour concevoir un
contrleur backstepping avec une action intgrale, la plupart des auteurs utilisent le modle
complet. (Madani et Benallegue, 2006, 2007), ont publi une srie darticles o la dynamique
du quadrotor est dcompose en trois sous-systmes interconnects de telle sorte que le
contrleur dvelopp est de type multientres multisorties (Multiple Input Multiple Output MIMO). (Huang, Xian et al. 2010) utilisent la mme modlisation que (Madani et
Benallegue, 2006, 2007) pour concevoir un contrleur backstepping adaptatif. Le contrleur
est conu sans connatre la masse du quadrotor. (Colorado, Barrientos et al., 2010) proposent
quant eux un contrleur backstepping coupl la thorie de Serret-Frenet pour amliorer le
rejet des perturbations. (Jian, Thomas et al., 2012) utilisent les quaternions unitaires pour
exprimer la dynamique du quadrotor et concevoir le contrleur backstepping.
Lensemble des contrleurs backstepping proposs dans la littrature fait face la mme
problmatique qui lui est inhrente. En effet, puisque la dynamique du quadrotor est
complexe, il existe toujours une tape o la drivation des contrles virtuels devient
analytiquement trop complexe. Les principales solutions pour rsoudre ce problme sont soit
de calculer numriquement la drive (Madani et Benallegue, 2006), lestimer laide dun

Le choix de Mellinger est de considrer comme entres la pousse totale ainsi que les trois moments
principaux et comme sortie la position ainsi que le lacet du quadrotor.

20

algorithme bas sur un mode glissant dordre 2 (Madani et Benallegue, 2006, 2007) ou
dutiliser un filtre numrique (Jian, Thomas et al., 2012).
Cette revue de littrature nous a permis de prsenter une grande varit de projets portant sur
les quadrotors ainsi que la majorit des techniques de contrle utilise pour asservir ce type
dappareil. Celle-ci nous a galement permis didentifier la mthode de contrle choisie pour
ce mmoire : soit le backstepping.

CHAPITRE 2
MODLISATION DE LA DYNAMIQUE
Ce chapitre porte sur la modlisation mathmatique de la dynamique du quadrotor en se
basant sur les quations de mouvement de Newton. Dans un premier temps, nous prsentons
les repres de rfrence ncessaires pour exprimer lorientation du quadrotor. Dans un
deuxime temps nous donnons la dfinition de toutes les grandeurs physiques ncessaires la
modlisation. Pour finir, nous identifions toutes les forces et les moments ayant un impact sur
le modle du quadrotor.
2.1

Dfinition des repres

Pour dcrire la position et lorientation du quadrotor, nous avons besoin de deux repres. Le
premier est nomm le repre inertiel. Il sagit dun rfrentiel orthogonal fixe de type
galilen, au sens que celui-ci nacclre pas et ne tourne pas par rapport un observateur
tant dans un repre inertiel. Ainsi, il sagit dun repre dans lequel les lois de Newton
sappliquent (Arnold, 1978). Il est identifi par lindice I, soit =

, , ,

. Une

convention typiquement utilise en aronautique est le repre North, East, Down (NED)6, tel
que

pointe vers le nord gographique,

pointe vers lest et

pointe vers le centre de la

Terre. Nous considrerons ici que la surface de la Terre est plate7, donc
au sol et

et

sont parallles

est perpendiculaire au sol. Le repre inertiel est de type main droite, tel que
. La position de lorigine

est arbitraire. Typiquement, celle-ci est choisie

comme tant la position initiale du quadrotor.

Voir la norme iso : ISO 1151-2 :1985


Hypothse qui peut tre valide facilement compte tenu du faible dplacement du quadrotor dans nos
applications par rapport au rayon de la Terre.
7

22

La dfinition dun deuxime repre est ncessaire pour dcrire lorientation du quadrotor8.
Celui-ci est attach au chssis du quadrotor et se dplace donc avec celui-ci. Il est dnomm
le repre du quadrotor. Celui-ci est identifi par lindice b, soit =
Lorigine

concide avec le centre de gravit du quadrotor,

2.2

pointe vers lavant,

pointe

pointe vers le bas. Le repre du quadrotor est de type main droite,

vers le bras droit et


telle que

Dcomposition de vecteur selon un repre

Un repre sert de base pour dcomposer ou exprimer un vecteur. Les composantes du vecteur
sont dfinies partir des vecteurs unitaires constituant le repre de rfrence. Un vecteur peut
donc avoir des composantes compltement diffrentes dpendamment du repre dans lequel
celui-ci est exprim. Puisque la valeur dun vecteur peut changer dun repre lautre, il est
important dutiliser une notation rigoureuse. Nous identifions un vecteur exprim dans un
repre laide dun exposant reprsentant le nom du repre. Par exemple, un vecteur
exprim dans le repre inertiel comme
comme

est

ou dans le repre du quadrotor

. Il est important de constater que les composantes des deux

vecteurs ne sont habituellement pas gales (

). Malgr cela, les deux vecteurs,

et

, reprsentent la mme grandeur physique. Pour ne pas alourdir la notation, certains


vecteurs, tant toujours exprims par rapport au mme repre, ne seront pas nots avec un
exposant. Le lecteur peut alors se rfrer la liste des symboles ou la dfinition du vecteur
pour connatre le repre dans lequel il est dcompos.
2.3

Dfinition du vecteur de position, de force et de moment

La position du quadrotor est dfinie par un vecteur allant de


exprim dans le repre inertiel. Ce vecteur est not
exprime dans le repre inertiel est note

Cette notion est aborde la section 2.4

=
.

et celui-ci est toujours


. La vitesse linaire

23

Figure 2.1 Repre et


En suivant les notations du domaine de larospatial, la vitesse linaire exprime dans le
repre du quadrotor est note, quant elle,

Lensemble des forces et des moments appliqus au centre du quadrotor, exprime dans le
repre du quadrotor, sont respectivement

et

. Le sens

positif des moments est dfini par la rgle de la main droite, aussi appele sens
trigonomtrique 9.
2.4

Matrice de rotation

Une faon dexprimer lorientation dun repre

par rapport un repre est de

dcomposer les vecteurs unitaires formant par rapport . La dcomposition seffectue


laide dune projection des vecteurs unitaires de sur ceux de laide dun produit
scalaire. Puisque le produit scalaire est bas sur un cosinus, la matrice de rotation est parfois

Lorsque laxe de rotation pointe vers lobservateur, un moment positif autour de celui-ci est dfini par une
rotation dans le sens antihoraire.

24

appele la matrice des cosinus de direction (Craig, 2005). En organisant les vecteurs
rsultants comme formant les colonnes dune matrice, on obtient10 :

11

12

13

21

22

23

31

32

33

Il existe trois interprtations physiques de la matrice de rotation

(2.1)

(DeSantis, 2011; Craig,

2005; Spong, Hutchinson et Vidyasagar 2005; Murray, Li et Sastry, 1994)

orientation de par rapport ;

la rotation que doit subir pour tre orient comme ;

la matrice qui permet de transformer un vecteur exprim par rapport dans .

La dernire interprtation peut scrire mathmatiquement ainsi :

(2.2)

La rotation inverse est obtenue partir de linverse de la matrice de rotation, telle que :

(2.3)

Les matrices de rotation ont plusieurs caractristiques intressantes tel que :

elles sont orthogonales.

det( ) = 1;

10

La base de dcomposition des vecteurs unitaires ( ) est omise pour la clart. La matrice
peut-tre obtenue en dcomposant ceux-ci soit par rapport ou tant que la dcomposition est cohrente
pour lensemble des vecteurs unitaires.

25

chaque colonne ou ligne est un vecteur unitaire;

toutes les colonnes et toutes les lignes sont mutuellement orthogonales.

Toute matrice qui respecte ces proprits est considre comme tant une matrice de rotation
et fait partie dun ensemble de matrices nomm groupe spcial orthogonal , not
Dans notre cas, puisque nous travaillons dans ,

(n).

(3) (Bullo et Lewis, 2005; Spong,

Hutchinson et Vidyasagar 2005, Murray, Li et Sastry, 1994).


Il existe trois matrices dcrivant les rotations lmentaires autour dun seul axe de rotation.
Pour allger la notation, nous noterons dans ce mmoire :
()

()

= cos(),

()

= sin() et

= tan().
1
( )= 0
0
( )=

0
1
0

( )=
0

0
0
0
1

(2.4)

La combinaison de ces trois rotations permet dobtenir la matrice de rotation

pouvant

dcrire lorientation du quadrotor dans . Il existe 12 combinaisons de ces matrices pour


dcrire une orientation. Dans le cadre de ce projet, nous utiliserons le standard utilis en
aronautique11 tel que :
( , , )=

11

( )

Voir la norme iso : ISO 1151-2 :1985

( )

( )

(2.5)

26

( , , )=

Les trois angles, qui sont les paramtres de la matrice


seront nots

(2.6)
, sont appels les angles dEuler et

. Ce triplet est utile, car ils ont un sens physique. En effet, ils

permettent dexprimer lorientation du quadrotor dans lespace.

Figure 2.2 Les angles dEuler

le roulis ( ) reprsente une rotation du quadrotor autour de laxe

le tangage ( ) reprsente une rotation du quadrotor autour de laxe

le lacet ( ) reprsente une rotation du quadrotor autour de laxe

2.5

;
;
.

Vitesse angulaire

Tout comme la vitesse linaire, la vitesse angulaire est reprsente par un vecteur.
Cependant, contrairement la vitesse linaire, la vitesse angulaire ne peut sappliquer qu

27

un repre12. Tout comme lorientation, la vitesse angulaire dun repre est exprime par
rapport un repre de rfrence. La vitesse angulaire du repre par rapport au repre
exprime dans est note

. Celle-ci est relie la drive en fonction du temps de la

matrice de rotation liant lorientation des deux repres tels que (Craig, 2005; Spong,
Hutchinson et. al, 2006; Murray, Li et.al 1994),

=
O (

(2.7)

) est la matrice antisymtrique de la vitesse angulaire du repre

exprim dans

. Nous introduisons ici loprateur () qui transforme un vecteur dfini dans en une
matrice antisymtrique membre de la famille des matrices antisymtriques note
que pour tout vecteur

, ,

( ) =

. Dans notre application,

( ) telle
(

(3).
Pour simplifier la notation, nous noterons la vitesse angulaire du quadrotor par rapport au
repre inertiel exprim dans le repre du quadrotor par

. Ainsi,

nous pouvons rcrire lquation (2.7), comme :

2.6

( )

(2.8)

Matrice de propagation des angles dEuler

Maintenant que nous avons dfini la vitesse angulaire et sa relation avec la drive par
rapport au temps de la matrice de rotation, il nous intresse de connatre la relation entre la
vitesse angulaire et la variation des paramtres de la matrice de rotation; cest--dire avec la
variation des angles dEuler. En effet, tel que nous le verrons dans le CHAPITRE 4 portant
sur la conception du contrleur, ltat qui nous intresse nest pas la vitesse angulaire

12

En effet, un point dans lespace effectuant une rotation na pas beaucoup de signification.

28

exprime dans le repre du quadrotor, mais bien la position angulaire du quadrotor ainsi que
sa variation dans le temps.
Tel que dfinis la section 2.4, les angles dEuler sont nots
drive par rapport au temps est donc

et leur

. En se basant sur (Craig, 2005), nous

pouvons crire la matrice de propagation des angles dEuler comme tant :


1
0
0

(2.9)

= ( )

(2.10)

Il est important de noter que la matrice rsultante de ces transformations nest pas membre de
SO(3). De plus, la matrice

possde une singularit lorsque

= (2 1) . Il sagit dun

tat appel blocage de cardan . Dans cette configuration, le systme perd un degr de
libert de telle sorte quune des rotations ne peut plus tre reprsente par les angles dEuler.
Il est intressant de noter que les quaternions ne possdent pas ce type de singularit.
2.7

quation de mouvement

Il est typiquement convenu de considrer un objet, lors de la modlisation, comme tant un


corps rigide. Ceci quivaut considrer que toutes les particules constituant lobjet se
dplacent galement lorsque celui-ci subit une force. En dautres termes, lobjet ne subit
aucune dformation. En utilisant cette hypothse, il est possible de modliser lobjet comme
tant une masse ponctuelle, sans volume, o toute la masse est concentre et o lensemble
des forces et des moments sont appliqus. Cette hypothse est valide pour le quadrotor
compte tenu de la rigidit de sa structure. Nous modliserons donc, le quadrotor comme un
corps rigide six degrs de libert, car il ncessite au minimum six tats pour dcrire sa
position et son orientation dans lespace.

29

laide des dfinitions de la section 2.4 et 2.5, nous pouvons crire :

(2.11)

( )

(2.12)

Lquation (2.11) donne la transformation de , la vitesse linaire du quadrotor exprime


dans le repre , en

, la vitesse linaire exprime dans . Cette quation prend son

importance du fait que la dynamique linaire sera exprime dans le repre du quadrotor.
Lquation (2.12) provient de la dfinition de la vitesse angulaire (2.8).
Pour modliser la dynamique du quadrotor, nous utiliserons ici les lois du mouvement de
Newton. Comme nous lavons prsent dans les sections prcdentes, celles-ci ne sont
valides que dans le repre inertiel .
La variation de la quantit de mouvements est donne par :

(2.13)

Cependant, puisque les forces sont plus facilement exprimes dans le repre du quadrotor ,
nous devons transformer (2.13) en appliquant la matrice de rotation. En insrant (2.11) et
puisque la masse du quadrotor est constante, nous obtenons :

+
(

=
= ( ) +

( ) +

(2.14)

1
(2.15)

30

Puisque les forces sont appliques directement sur le centre de gravit, cette quation nest
pas affecte par les mouvements rotatifs.
Comparativement au mouvement linaire, o la masse sert de rsistance au mouvement, les
mouvements rotatifs introduisent le concept dinertie. Dans le cas dun mouvement rotatif
dans , nous pouvons associer un objet une matrice antisymtrique, dfinie positive,
appele le tenseur dinertie , not .

(2.16)

Chaque terme du tenseur dinertie dpend de la distribution de la masse de lobjet tel que :

(2.17)
En observant (2.17), nous pouvons conclure que lexpression de

par rapport est

toujours constante, car la distribution de la masse du quadrotor ne peut pas changer par
rapport ce repre puisque celui-ci est un corps rigide. Nous pouvons donc crire

. Le

tenseur dinertie par rapport peut-tre, quant lui, not ainsi (Murray, Li et Sastry,
1993) :

(2.18)

31

La dynamique des mouvements rotatifs est donne par la variation du moment angulaire tel
que

(2.19)

est la vitesse angulaire du quadrotor par rapport exprim dans . Puisque les

moments sont plus facilement exprims par rapport et que la matrice dinertie y
demeure constante, nous cherchons exprimer (2.19) dans tel que :

2.8

( )

(2.20)
(2.21)

Forces et moments principaux

Les forces et les moments appliqus au quadrotor proviennent des forces gnres par la
rotation des hlices, de la prcession gyroscopique ainsi que des effets arodynamiques.
Nous prsenterons ici chacune des forces et des moments sparment, ensuite nous les
appliquerons au modle du quadrotor et, pour finir, nous les ajouterons aux quations
dynamiques.
Puisque plusieurs quations des sections suivantes demandent une analyse utilisant des
notions de mcanique des fluides et danalyse dhlice qui dpassent le cadre de ce mmoire,
nous ne prsenterons ici quune vulgarisation des principes ainsi que les rsultats ncessaires
notre modlisation. Lauteur propose (Fay, 2001; Bouabdallah, 2007; Leishman, 2006;
Ioannis et Valavanis, 2011) pour plus dtails sur le sujet.

32

2.8.1

Analyse des forces et moments appliqus un lment dhlice

Lanalyse des forces gnres par lhlice est typiquement effectue de deux manires. La
premire consiste analyser lhlice comme tant un disque infiniment mince, o il existe
une diffrence de pression entre ses deux surfaces. Lanalyse de pression et dcoulement
dair partir des lois de conservation de masse et dnergie nous permet dobtenir une
formulation des forces. La deuxime consiste dcomposer lhlice en lments infiniment
petits, de faire le traitement sur chacun des lments et dappliquer une intgration en
fonction de la gomtrie de lhlice (Leishman, 2006; Raptis et Valavanis, 2011).

Figure 2.3 Forces appliques et gnres par rapport


une partie lmentaire dhlice
En appliquant ces deux mthodes, nous pouvons obtenir la formulation de la force

qui

sapplique sur une partie lmentaire de lhlice. Cette force est ensuite dcompose par
rapport au repre de lhlice, not =
par la rotation de lhlice o laxe
posons que laxe
au vecteur

. Celui-ci est plac dans le plan form

correspond laxe du moteur. Dans notre cas, nous

est parallle laxe

cos

. Lorientation de laxe

est dfinie par rapport

qui est la vitesse linaire du quadrotor par rapport lair projete dans

le plan de lhlice (Ioannis et Valavanis, 2011). Le disque form par la rotation de lhlice est
situ dans le plan

33

Figure 2.4 Repre de lhlice


La force

est dcompose en deux forces perpendiculaires. La premire force, nomme

la force de portance note

, provient de la force de raction, au sens de la troisime loi

de Newton, gnre par la perturbation du flot dair d au mouvement rotatif de lhlice. La


seconde, nomme la force de trane note

, provient de la rsistance quoffre la

surface de contact de lhlice lair. Cette dernire dpend de langle

, nomm angle

dattaque , entre le plan form par lhlice en rotation et la vitesse totale de lair .
2.8.2

Forces de portance

En intgrant

sur lensemble de la gomtrie de lhlice, nous obtenons la force de pousse

totale gnre par lhlice (Fay, 2001; Bouabdallah, 2007; Pound et al., 2004) :

( )

(2.22)

est un terme aronautique dpendant de la gomtrie de lhlice et des conditions

aronautiques,

est la densit de lair,

vitesse de lhlice et

est laire du disque gnr par lhlice, est la

est la longueur de lhlice. Plusieurs termes de lquation peuvent tre

considrs comme tant constants si nous considrons que la vlocit du quadrotor est faible,
que le vol est effectu basse altitude et que lhlice est suffisamment rigide. En appliquant
ces hypothses, lquation peut tre simplifie ainsi :

34

(2.23)

est le coefficient de pousse combinant tous les termes constants de lquation (2.22) et
est la force de pousse produite par lhlice . Cette simplification est gnralement

effectue dans la littrature et est confirme par de nombreuses publications (Bouabdallah,


2007; Costa de Oliveira, 2011; Pound et al., 2004). Pour finir, nous posons que la force de
et

portance gnre par une hlice est toujours parallle aux vecteurs
2.8.3

Moment de trane

Lhlice en rotation pousse lair dans une direction spcifique, dans notre cas vers le bas,
pour gnrer la force de portance. Cependant, puisque lhlice a un certain angle dattaque
par rapport lair, une autre force perpendiculaire la portance est cre.

Figure 2.5 Moment de trane dune hlice


En faisant lanalyse sur un lment infiniment petit de lhlice
de la force de trane
distance

, nous obtenons un lment

. Chaque lment de lhlice gnre une force de trane

du centre de rotation. Ceci cre donc un moment

une

par rapport laxe

dans le sens oppos la rotation de lhlice. En prenant la contribution de chaque terme

35

en fonction de leur distance

sur lensemble de la gomtrie de lhlice, nous obtenons

(Fay, 2001; Bouabdallah, 2007; Pound et al., 2004) :

( )

(2.24)

est un terme aronautique dpendant des caractristiques gomtriques de lhlice et

des conditions aronautiques.


En utilisant les mmes hypothses qu la section prcdente, nous simplifions lquation
prcdente pour obtenir :

=
O

(2.25)

est le coefficient de trane combinant tous les termes constants de lquation (2.24) et
est le moment de trane gnr par lhlice . Cette simplification est gnralement

effectue dans la littrature et est confirme par de nombreuses publications (Bouabdallah,


2007; Costa de Oliveira, 2011; Pound et al., 2004). Il est important de noter que par
dfinition, lquation (2.25) gnre un moment positif pour les rotations dhlice antihoraire
et un moment ngatif pour les rotations horaires, lorsquexprime dans le repre du
quadrotor.
2.8.4

Prcession gyroscopique

La prcession gyroscopique est un moment obtenu lorsquon applique un couple


perpendiculairement laxe de rotation dun objet dj en mouvement. Le moment
gyroscopique gnr est orient de telle sorte quil est perpendiculaire au couple appliqu et
laxe de rotation de lobjet de telle sorte que le tridre form par les trois vecteurs respecte la
rgle de la main droite (Beer et Johnston, 2005).

36

Plus prcisment, ce moment sapplique, dans notre cas, car une hlice, possdant sa propre
vitesse de rotation est perturbe par les mouvements rotatifs du quadrotor tel que :

est linertie du rotor et

(2.26)
est le moment gyroscopique gnr par lhlice .

Il est important de noter que, par dfinition, on doit appliquer une inversion de signe aux
termes de lquation (2.26) pour les rotations dhlice dans le sens horaire.
2.8.5

Force de gravit

La force de gravit sapplique au quadrotor proportionnellement sa masse et est toujours


perpendiculaire la surface de la Terre. Exprime dans le repre inertiel, nous obtenons :

O
2.9

(2.27)

est lacclration gravitationnelle et est approximativement gale 9.81 .


Forces et moments non modliss

Plusieurs autres effets arodynamiques qui peuvent perturber le quadrotor ne seront pas
modliss dans le cadre de ce mmoire, car ceux-ci peuvent tre ngligs faible vlocit
(Bouabdallah, 2007). Nous ne donnerons ici quune brve description de ceux-ci. Le lecteur
peut se rfrer la littrature pour plus de dtails sur ces effets.
2.9.1

Battement dhlice

Leffet de battement dhlice ou blade flapping est cr lorsque lhlice se dplace


horizontalement. Ce dplacement cre une diffrence de vitesse, et donc de pousse, entre la

37

partie de lhlice qui attaque le flot dair par rapport celle qui se retire du flot dair. Cette
diffrence de pousse entre ces lments de lhlice cause le plan de lhlice sincliner ce
qui change la direction du vecteur de pousse.
2.9.2

Friction de lair

Le chssis du quadrotor ainsi que les hlices offrent une rsistance lair. Celle-ci gnre une
force de friction qui soppose au mouvement linaire et rotatif du quadrotor. Cette force est
proportionnelle au carr de la vitesse du quadrotor et dpend des conditions de lair ainsi que
de la gomtrie du quadrotor.
2.9.3

Effet de sol

Leffet de sol est cr lorsquune surface, qui est suffisamment prs de lhlice, perturbe le
flot dair gnr par celle-ci en plus damliorer la pousse de lhlice. Typiquement, cet
effet sapplique sur une distance denviron une demi-fois la longueur de lhlice
(Bouabdallah, 2007), de telle sorte que cet effet sapplique seulement lors du dcollage et de
latterrissage de lappareil.
2.9.4

Instabilit de lair et vent

Le vent applique une force extrieure sur le quadrotor qui peut influencer la dynamique du
quadrotor.
2.10

Dynamique des moteurs

Habituellement, les moteurs utiliss pour propulser des appareils de type multirotor sont de la
famille des moteurs sans balai. Ceux-ci peuvent tre modliss laide des quations

38

linaires classiques des moteurs DC13. Il a t valid en pratique que la dynamique du moteur
sans balai est beaucoup plus rapide que la dynamique du quadrotor, de telles sortes que celleci peut tre nglige lors de la modlisation du quadrotor (Bouabdallah, 2007). Nous
utilisons, dans ce mmoire, la mme hypothse car elle simplifie la conception du contrleur.
2.11

Modle du quadrotor

En nous basant sur les rsultats des sections prcdentes, nous pouvons maintenant crire le
modle complet du quadrotor. La Figure 2.6 dfinit la rotation des moteurs pour le quadrotor.
Les moteurs sont identifis dans le sens horaire en considrant le moteur 1 tant celui du
devant de lappareil par rapport . La paire de moteurs 1-3 tourne dans le sens horaire,
tandis que la paire de moteurs 2-4 tourne dans le sens antihoraire.

Figure 2.6 Identification du sens de rotation des moteurs


La Figure 2.7 prsente une vue de profil du quadrotor dans laquelle nous identifions les deux
forces principales agissant sur le quadrotor.

13

Typiquement, on obtient un systme linaire dordre deux comprenant la dynamique lectrique du moteur et
la dynamique mcanique du moteur. Aussi, une simplification souvent effectue au modle est de ngliger la
dynamique lectrique, car elle est plus rapide que la dynamique mcanique. La dynamique du moteur est alors
exprime par un systme dordre un.

39

Figure 2.7 Diagramme des forces


En se basant sur les quations (2.23) et (2.27), nous pouvons crire la somme des forces
appliques au quadrotor, exprime dans ainsi :

O,

= 0

est un vecteur unitaire et

= ( + + + )

(2.28)
est la force totale de pousse telle que :

(2.29)

Les moments gnrs par les hlices proviennent de la diffrence de pousse gnre par
chaque paire de moteurs en fonction de , la distance entre le point dapplication de la force
de pousse et le centre de gravit. Celui-ci se situe au centre gomtrique du quadrotor tel
quillustr par la Figure 2.6 et la Figure 2.7 En se basant sur les quations (2.23) et (2.25)
ainsi que sur la Figure 2.6, nous pouvons crire :

( )
( )
( + + )

(2.30)

40

Le moment gyroscopique total, not

, est donn par la somme des moments gyroscopiques

dfinie par (2.26) tel que :

)(1)
0

(2.31)

O est la vitesse rsiduelle des moteurs dfinie par :

= + +

(2.32)

En combinant lensemble des quations de ce chapitre, nous obtenons le modle complet du


quadrotor exprim par rapport .
=

( )

=
= ( ) +

= ( )
=
2.12

(2.33)

Correspondance forces/moments vitesses de moteur

En se basant sur les quations (2.29) et (2.30), nous pouvons formuler une correspondance
permettant de calculer la vitesse des moteurs partir des forces et des moments appliqus au
quadrotor. Cette correspondance est essentielle lors de limplmentation du contrleur au
niveau de lappareil.
Nous pouvons rcrire les quations sous la forme matricielle suivante :

41

(2.34)

En inversant cette matrice, nous obtenons la correspondance dsire, note


intressant de noter que le dterminant de celle-ci est gal 8

. Il est

qui est toujours non nul,

de telle sorte que linversion est toujours valide.

1(4
1(4
=
1(4
1(4

)
0
) 1(2 )
)
0
) 1(2 )

1(2 )
0
1(2 )
0

1(4
1(4
1(4
1(4

)
)
)
)

=
(2.35)
Dans ce chapitre, nous avons prsent les quations diffrentielles reprsentant la dynamique
du quadrotor ainsi que les forces et moments gnres par le groupe de propulsion. Dans le
CHAPITRE 3, nous prsenterons les notions ncessaires pour construire le contrleur
backtepping permettant lasservissement du quadrotor.

CHAPITRE 3
NOTIONS PRLMINAIRES DE COMMANDE NON LINAIRE
Dans ce chapitre, nous prsenterons les notions ncessaires la conception du contrleur non
linaire. Dans un premier temps, la mthode de commande choisie, le backstepping, est
aborde et applique sur un systme non linaire. Puisque le contrleur conu possde la
proprit de stabilit entres tats (ISS), cette notion est dcrite, dans un second temps, en
plus dtablir les conditions suffisantes pour lobtenir. Pour finir, le contrleur backstepping,
dvelopp dans ce mmoire, utilise des drives dordres suprieurs complexes calculer
analytiquement. Pour rsoudre ce problme, un estimateur de drives bas sur un algorithme
de mode glissant dordre deux est prsent, dans un troisime temps.
3.1

Backstepping

Lune des mthodes de conception des contrleurs non linaires se base sur la thorie de la
stabilit des systmes dynamiques dAlexsandr Lyapunov (Lyapunov, 1992). Typiquement,
le but du concepteur est de trouver une fonction dfinie positive, nomme la fonction
candidate de Lyapunov , dont la drive, par rapport au temps, est contrainte, laide des
entres du systme, tre une fonction dfinie ngative. Bien entendu, cette tche est
complexe pour un grand nombre de systmes. Le backstepping est une mthode de
conception dveloppe par plusieurs auteurs dont Petar V. Kokotovic14 et applicable
certaines classes de systmes, qui normalise la conception du contrleur en une srie dtapes
prdfinies. Cette stratgie permet de construire au fur et mesure lexpression de la
commande pouvant stabiliser le systme.

14

Lorigine du backstepping est difficile retracer, car il est apparu, au dpart, dans plusieurs publications
indpendantes et ceci souvent de manire implicite (Krsti, Kanellakopoulos et al., 1995).

44

Pour illustrer le principe, prenons un systme mcanique typique pouvant tre modlis par
lquation suivante, selon (Craig, 2005)15
( ) + ( , ) + ( , )+ ( )=

Comme nous pouvons le constater, lentre du systme

agit directement sur lacclration,

tandis que lon sintresse, en gnral, contrler la position. Ceci augmente la difficult, car
il faut alors contrler le systme via deux intgrateurs.

Figure 3.1 Chane de contrle typique dun systme mcanique


Or, le backstepping utilise la relation cinmatique entre les tats pour simplifier la conception
du contrleur en leffectuant par construction. On commence la conception du contrleur au
niveau de ltat que lon dsire commander et on remonte ( backstep ) la chane
dintgrateurs de telle sorte que la vitesse commande la position, lacclration commande la
vitesse et lentre de contrle commande lacclration16.

15

( ) est la matrice dinertie gnralise, ( , ) est la matrice qui regroupe les termes provenant des
acclrations centrifuges et des effets de Coriolis, ( , ) est une matrice qui regroupe les termes de friction et
( ) est le vecteur regroupant les termes dacclration gravitationnelle et est le vecteur de commande.
16
Cette explication se base ici sur une famille particulire de systmes mcaniques. Comme nous le
prsenterons dans ce qui suit, ce concept peut sappliquer dautres types de systmes. Aussi, le lien entre les
tats nest pas obligatoirement de type cinmatique et peut tre gnralis.

45

3.1.1

Description des tapes de conception.

La mthode de conception du contrleur backstepping se base sur la thorie de stabilit des


systmes dynamiques de Lyapunov. Lessentiel de la thorie ncessaire est prsent dans
(Khalil, 1992). Prenons le modle dtat non linaire suivant pour illustrer la mthode :
=
=

(3.1)

Le systme homogne ( = 0) ne possde quun seul point dquilibre ( ,


qui est instable. Nous cherchons un contrleur

= ( ,

) = (0, 1)

) qui rend ce point dquilibre du

systme globalement exponentiellement stable.


3.1.1.1

Premire tape

Concentrons-nous sur la premire quation du systme (3.1). Si

tait une entre du

systme, alors un choix logique de contrleur serait :


=

(3.2)

est un gain strictement positif choisi par le concepteur et o

virtuelle de

est la commande

de telle sorte que lorigine du systme est globalement exponentiellement

stable au sens de Lyapunov lorsque

. Nous pouvons confirmer ceci en choisissant la

candidate de Lyapunov suivante :

1
2

de telle sorte que sa drive par rapport au temps est :

(3.3)

46

(3.4)

nest pas une entre du systme mais un tat, le concepteur ne peut

Cependant, comme
pas directement forcer

tre gal sa commande virtuelle

. Nanmoins, le concepteur

peut utiliser la seconde quation de (3.1) pour contrler la variation de


3.1.1.2

, soit

Deuxime tape

Passons la deuxime tape de conception en dfinissant lerreur entre ltat


commande virtuelle

et sa

comme tant ltat suivant :

(3.5)

Il nous faut maintenant dfinir un nouveau systme partir de ce nouvel tat. On le


dnomme typiquement le systme augment . Nous notons galement que dans la
deuxime tape de conception, ltat

napparat plus. Celui-ci est implicitement tenu en

compte via ltat derreur . Le systme augment peut scrire ainsi :


=
=
=(

(3.6)

+ )(

)(

Soit la fonction candidate de Lyapunov du systme augment :

1
2

(3.7)

47

+
2

(
)(

)(

(3.8)

En choisissant le contrleur suivant :

= 2

)(

+(

(3.9)

Nous obtenons :

(3.10)

Ce qui nous assure que le point dquilibre ( ,

) = (0, 1) est globalement

exponentiellement stable. Notre objectif de contrle est donc atteint. Le systme en boucle
ferme a ainsi la forme suivante

0 1
+
1 0

(3.11)

Il est intressant de noter que malgr le fait que le systme augment est de forme linaire,
celui-ci demeure non linaire. Aussi, la matrice du systme rsultant de lapplication dun
contrleur backstepping est toujours la somme dune matrice diagonale ngative et dune
matrice antisymtrique.
3.2

Classes particulires de systmes

Lexemple prcdent peut se gnraliser pour plusieurs classes de systmes. Les classes qui
nous intressent particulirement dans notre cas sont les systmes de type Strict-feedback

48

et Pure-feedback tels que dfinis par (Krsti, Kanellakoupoulos et Kokotovi, 1995).


Nous prsenterons ici la forme gnrale de chacune des familles de systmes. (Krsti,
Kanellakoupoulos et Kokotovi, 1995) fournit une procdure de conception pour chacune des
familles.
3.2.1

Systmes Strict-feedback

=
=

,,

)
(3.12)

=
=
O

( )+ ( )
( , )+ ( ,

( , ,,
)+
( , ,, ) + ( ,

sont les tats du systme et

( ,
,,

,,
)

est lentre du systme.

La caractristique principale de cette classe de systmes est que chaque quation


seulement des tats prcdents , soit

,,

. De plus, pour chaque quation

dpend
, ltat

est un terme appliqu linairement et peut tre utilis comme commande virtuelle du
systme. La mthodologie de conception du contrleur backstepping, telle que dcrite dans la
section prcdente, est applique jusqu

, o le contrle est effectu directement via

qui

est lentre du systme. On obtient alors la forme finale du contrleur. Ce type de systme est
aussi appel systme forme triangulaire dans la littrature. Il est intressant de noter que
le systme de la section 3.1.1 appartient cette catgorie.
3.2.2

Systmes Pure-feedback

=
=
=

( )+
( , ,
( , ,

( )
)
, )

=
=

( , ,, )
( , ,, , )

(3.13)

49

O,

,,

, sont les tats du systme et

est lentre du systme. Comparativement aux

systmes Strict-feedback , les systmes Pure-feedback ne possdent pas les tats


entrant linairement dans les quations

, pour effectuer la commande virtuelle.

Lide, pour rsoudre ce problme, est dcrire lerreur ainsi que la commande virtuelle sous
la forme dune fonction des tats au lieu dutiliser ltat directement. Comme nous lavons
prsent la section 3.1.1.2, la relation entre un tat

et sa commande virtuelle

, dans le

cas dun systme Strict-feedback , est en gnral


=

On cherche ensuite une valeur de

pour forcer

tre dfinie ngative.

Dans le cas dun systme Pure-feedback , on cherche crire la relation entre la


commande virtuelle et son tat correspondant laide de fonctions; soit lerreur entre ltat
et son contrleur virtuel

pour la fonction

( ,

). Typiquement, la

,,

fonction derreur aura la forme suivante :


( ,

,,

= ( ,

,,

On peut constater que les termes des deux fonctions


qui est remplac par son contrleur virtuel

,,

sont les mmes except pour ltat

. Ceci permet de faire la correspondance

entre ltat et son contrleur virtuel sans quil ne soit introduit linairement dans lquation.
Le but du concepteur est ici plus complexe : il doit trouver une fonction

( ,

,,

et, dans un mme temps, la commande virtuelle

qui, combines ensemble, stabilisent la

dynamique de lerreur. Cette procdure sapplique

fois jusqu ce que le concepteur utilise

, lentre du systme, pour effectuer la commande.

50

3.3

Stabilit entres tats

Lors de la conception du contrleur backstepping, nous devons dmontrer la stabilit du


systme face des perturbations provenant, notamment, de la dynamique sous-actionne du
quadrotor. Une des thories portant sur ce type de stabilit se nomme la stabilit entres
= ( , , ) dont lorigine est

tats (ISS). Un systme ISS est un systme de la forme


uniformment asymptotiquement stable lorsque lentre

est nulle et dont ltat est born

pour toutes entres bornes appliques celui-ci, tel que :

( ) ( ( ),

est une fonction classe

tendue au cas o lentre

)+

et

( ) ,

est une fonction classe

>

(3.14)

. Cette dfinition peut-tre

est considre comme tant une perturbation applique un

systme en boucle ferme, ce qui est notre cas (Sontag, 2008; Khalil, 2002).
La stabilit ISS nous permet non seulement de conclure que lorigine du systme est stable,
soit que ltat est born, mais galement de connatre la valeur de cette borne, puisquelle
dpend de la grandeur de la perturbation. Une autre caractristique essentielle de ce type de
stabilit cest quil assure la stabilit asymptotique de lorigine face une perturbation
borne dcroissante asymptotiquement vers zro.
Dans ce qui suit, nous prsentons une condition suffisante pour dmontrer que lorigine dun
systme est effectivement ISS face une perturbation
principe.

donne ainsi quune explication du

51

3.3.1

Condition suffisante

Une condition suffisante que lorigine d'un systme

= ( , , ) doit remplir pour tre ISS

peut tre nonce sous la forme dun thorme utilisant les concepts de stabilit de
Lyapunov,
Soit ( , ) la candidate de Lyapunov du systme telle que :
( ) ( , )
+

( )

( , , ) ( ),

est le vecteur dtat et


,

fonctions classes

(3.15)

( ) > 0 , > 0

est le vecteur dentre17,

est une fonction classe

et

et

sont des

( ) est une fonction scalaire dfinie

positive. Si une telle fonction de Lyapunov existe pour le systme, alors lorigine de celui-ci
est ISS et la fonction

de lquation (3.14) peut tre dduite ainsi (Sontag 2008; Khalil,

18

2002) :

(3.16)

Celle-ci nous permet alors dvaluer la grandeur de la borne restreignant ltat.


3.3.2

Analyse de la stabilit entres tats

Soient les ensembles

< ( ) , > ( )

et

| <

( ) au sens de la condition (3.15). partir de ces dfinitions, nous pouvons conclure

17

Comme indiqu prcdemment, la thorie sapplique en considrant


un vecteur de perturbation.
18
O indique la composition de fonction, tel que = ( )

comme lentre du systme ou comme

52

que toutes les trajectoires dont les conditions initiales appartiennent lensemble
asymptotiquement stables tandis que celles appartenant lensemble

sont

sont stables. Les

deux ensembles sont illustrs par la Figure 3.2.

Figure 3.2 Dessin de principe de la condition suffisante pour les systmes ISS
La condition (3.15) stipule que ltat dun systme ISS se retrouvant dans

converge vers

de faon asymptotique, de telle sorte quune fois compris dans lensemble

, il y

demeure pour toujours. Ltat demeure ensuite dans une sphre borne par lamplitude de la
perturbation .
De plus, si converge vers zro lorsque

, alors lensemble

ne contient que

lorigine, de telle sorte que ltat du systme ISS converge asymptotiquement vers zro. En
effet, en posant = 0 dans lquation (3.14) on obtient :

( ) ( ( ),

) ,

>

(3.17)

53

Qui est la dfinition dun systme asymptotiquement stable au sens de Lyapunov.


3.3.3

Forme particulire dun systme ISS

Lors de la conception du contrleur backstepping dvelopp au chapitre 4, nous obtenons un


cas particulier de systme ISS. Nous allons identifier cette forme de systme ici pour pouvoir
y faire rfrence lors de la conception. Soit un systme de la forme suivante :

(3.18)

o, est le vecteur dtat et est le vecteur de perturbation et est une matrice


dfinie positive. Notre but est de dmontrer quun systme de cette forme est ISS. Soit la
fonction candidate de Lyapunov suivante :

1
2

(3.19)

=
=
Soit loprateur
=

(3.20)

() qui retourne la plus petite valeur propre dune matrice et soit

(). On peut rcrire (3.20) ainsi :

(3.21)

Soit le paramtre dfini tel que 0 <

(1 )

< 1. Nous pouvons crire :

(3.22)

54

Lquation (3.22) est toujours infrieure ou gale zro si,

+ 0

(3.23)

Telle que :

(1 ) ,

(3.24)

Lquation (3.24) respecte la condition (3.15) de la section prcdente. Nous pouvons donc
conclure quun systme de la forme de (3.18) ou dont
3.4

est de la forme (3.20) est ISS.

Estimateur exact de drive

Comme nous lavons prsent la section 3.1, le contrleur backstepping est obtenu par
construction. chaque tape de conception, il est ncessaire deffectuer la drive du
contrleur virtuel de ltape prcdente pour obtenir le systme derreur augment, comme
dans le cas de lquation (3.6). Or, plus lordre du systme est lev, plus la conception du
contrleur backstepping ncessite dtapes et plus la drive du contrleur virtuel prcdent
devient complexe et dpend de drives dtat qui ne sont pas disponibles pour la commande.
Il sagit dun des principaux dfauts du backstepping (Farrel, Polycarpou et al, 2008).
Il existe plusieurs mthodes dans la littrature pour rsoudre ce problme. La premire
solution propose est dutiliser des filtres numriques pour obtenir la drive des signaux
ncessaires tels que prsent par (Farrel, Polycarpou et al., 2008; Jian, Thomas et al., 2012).
Une deuxime solution est dutiliser un estimateur exact de drive. Celui utilis dans la
littrature est bas sur un algorithme de mode glissant dordre 2 aussi appel Super
Twisting Sliding Mode (Levant, 1998). Celui-ci a dj t utilis par dautres auteurs ayant
la mme problmatique lors de la conception de contrleur de type backstepping appliqu
des quadrotors (Madani et Benallegue, 2007).

55

Lanalyse de lestimateur exact de drive se base sur la thorie dinclusion diffrentielle


(Filipov, 1988) qui est complexe et dpasse le cadre de ce mmoire. Nous ne prsenterons ici
que la forme de lestimateur, ses caractristiques ainsi que les conditions suffisantes pour
assurer la convergence de celui-ci. (Levant, 1993, 1998) prsente une analyse complte de
celui-ci.
En se basant sur (Levant, 1998), lestimateur a la forme suivante :

| | sign( )

= sign( )
O

est la variable dont on cherche calculer la drive,

est une variable dtat de lestimateur,


et ,

(3.25)
est lestimation de cette variable,

est la drive estime, sign est la fonction signe19

sont des gains de lestimateur.

Lerreur destimation

converge zro en temps fini, et ceci trs rapidement si le

signal dont on cherche la drive en fonction du temps est Lipschitz et si les conditions
suivantes sont respectes (Levant, 1998)
>
4

(3.26)

est la constante de Lipschitz du signal . Puisque la fonction analytique du signal

drive est typiquement inconnue, il a t dmontr que lon peut choisir , dans la condition
(3.26), comme tant le double de lacclration maximale de la variable dont nous estimons
la drive (Davila, Fridman et Levant, 2005).

19

Tel que sign( ) = 1 , > 0 ; sign( ) = 1 , < 0 ; sign(0) = 0

56

Puisque le contrleur est ISS par rapport aux erreurs destimation et que celles-ci convergent
en temps fini, le principe de sparation toujours applicable dans le cas des systmes linaires
(Krsti, Kanellakoupoulos et Kokotovi, 1995) est satisfait dans le sens que lon peut
concevoir lestimateur et le contrleur du systme sparment (Davila, Fridman et Levant,
2005). Cet aspect du contrleur est prsent au CHAPITRE 4.

CHAPITRE 4
CONCEPTION DU CONTRLEUR BACKSTEPPING
Nous avons prsent lors des chapitres prcdents tous les lments ncessaires pour
effectuer la conception du contrleur backstepping. Dans ce chapitre, nous prsenterons une
forme du modle du quadrotor plus approprie pour effectuer la conception du contrleur.
Celle-ci est ensuite prsente en la sparant en deux parties. Pour finir, un rsum des
signaux de contrle est prsent.
4.1

Formulation du modle de contrle du quadrotor

Tel que dfini au chapitre 3, le modle du quadrotor est :


=

( )

=
= ( ) +

= ( )
=

(4.1)

Ce modle est semblable celui obtenu par (Xu, Xian et al., 2010; Raptis et Valavanis;
2011). Celui-ci nglige les effets aronautiques suivants : la friction de lair, leffet de sol,
leffet du vent, le battement dhlice et la variation de constante de pousse

et de trane .

De plus, on considre que le centre de gravit du quadrotor concide avec le centre


gomtrique de lappareil. Notons que dans ce modle, la dynamique de positionnement est
exprime par rapport . Puisquil nous intresse de contrler la position du quadrotor par
rapport au repre inertiel , nous devons effectuer un changement de variable.
Soit la vitesse linaire exprime dans :

58

(4.2)

En utilisant celle-ci, on peut rcrire la dynamique du quadrotor ainsi :

=
:
:

=
=

(4.3)

Nous avons choisi de diviser la dynamique en deux sous-systmes pour simplifier la


conception du contrleur. La division est intuitive de faon ce que le sous-systme
reprsente la dynamique du positionnement du quadrotor tandis que

reprsente la

dynamique de lorientation du quadrotor.


Nous pouvons noter galement que chacun des sous-systmes est de forme Strict-feedback
system . Ceux-ci sont interconnects laide de la matrice de rotation
coup, laide des angles dEuler

et donc, du mme

. Linterconnexion entre les deux systmes peut tre

dfinie comme tant de la forme Pure-feedback system . Les deux formes sont dfinies
aux sections 3.2.1 et 3.2.2.
4.2

Problmatique de contrle

Nous choisissons de contrler la position et le cap du quadrotor tel que le contrleur permet
la poursuite des trajectoires dsires suivantes :

( )=

( )

( )

( )

et

( ).

Nous posons que les trajectoires sont suffisamment lisses de telle faon que leurs drives
soient bornes par des constantes20. Les valeurs de celles-ci sont directement lies aux

20

Les trajectoires ne sont pas obligatoirement des fonctions de classe


. Pour que celles-ci respectent nos
conditions, elles doivent tre thoriquement de classe
minimalement, de telle sorte que
( )( ) < , =
()
< , = 0 3 o et sont des constantes positives.
0 3 et ( )

59

performances atteignables par le quadrotor qui dpendent principalement de sa dynamique


ainsi que des caractristiques des actionneurs21.
Notre but est de concevoir un contrleur qui nous permet de poursuivre les trajectoires de
telle sorte que tous les tats du quadrotor demeurent borns en tout temps et, plus
prcisment, que la position ainsi que le cap du quadrotor convergent asymptotiquement aux
valeurs dsires telles que :
lim

=0

lim

=0

Pour ce faire, le contrleur doit gnrer quatre signaux de contrle qui seront utiliss par les
quatre entres du quadrotor, soit la force de pousse totale
et
4.3

ainsi que les trois moments

.
Description des tapes de conception du contrleur

Pour rsoudre notre problmatique de contrle, nous choisissons dutiliser un contrleur de


type backstepping tel que prsent la section 3.1. Nous pouvons ainsi facilement tirer
avantage du fait que la dynamique de et est dj de la forme approprie pour appliquer
cette stratgie. De plus, lapplication du backstepping permet de rsoudre le problme cr
par la nature sous-actionne de la dynamique en la liant laide de contrleur virtuel.
La conception du contrleur backstepping comprend quatre tapes, soit deux par soussystme. La structure de celui-ci est illustre par la Figure 4.1. Nous commenons la
conception du contrleur par le sous-systme . Cette partie nous permet de contrler la
position du quadrotor, nous permettant ainsi de dduire la valeur de la force de pousse totale

21

Voir lANNEXE I pour plus de dtails.

60

en plus de la valeur du contrle virtuel pour les angles dattitude, nots dans ce qui suit
22

. Ceux-ci reprsentent le lien avec le contrleur du sous-systme . Intuitivement, on

peut interprter laction de cette partie du contrleur comme tant le calcul de la force
ncessaire pour maintenir lappareil laltitude dsire tout en calculant lorientation
ncessaire de la force de pousse pour assurer le dplacement dsir dans le plan x-y.
Le contrleur du sous-systme est ddi la commande de lattitude du quadrotor. Il
assure donc la poursuite des contrles virtuels

et

ainsi que de la trajectoire

en

maintenant les erreurs de roulis, de tangage et de lacet bornes et en les faisant tendre vers
zro. Cette partie du contrleur nous permet de calculer les trois signaux de commande
restants, soit les trois moments

et

. Suite au calcul de

et

, nous

appliquons la correspondance (2.35) pour obtenir les vitesses de moteur dsires.

Figure 4.1 Structure du contrleur

22

Il est important de noter que


=
et que la valeur de lacet dsire nest pas une commande
virtuelle, mais bien une trajectoire choisie par lutilisateur.

61

4.4

Sous-systme 1

4.4.1

tape 1 : Contrle de la position

Dfinissons lerreur de position ainsi que sa drive par rapport au temps :

(4.4)

(4.5)

Tel que prsent la section 3.1, nous utilisons la vitesse pour contrler lerreur de position.
Soit la fonction candidate de Lyapunov du systme (4.4) :

1
2

(4.6)

Le choix de la commande virtuelle


lorsque

4.4.2

, nous permet dobtenir la fonction

(4.7)
dfinie ngative

(4.8)

est une matrice dfinie positive tre choisie par le concepteur.


tape 2 : Contrle de la vitesse linaire

Dfinissons lerreur de vitesse linaire


commande virtuelle

entre la vitesse linaire du quadrotor

ainsi que sa drive par rapport au temps :

et la

62

(4.9)

(4.10)

En recombinant les quations prcdentes, nous pouvons crire le systme :

(4.11)
du systme dfini par la dynamique

En introduisant lquation de la vitesse linaire


(4.3) et la drive de (4.8) dans (4.10) on obtient :

(4.12)

Les quations (4.11) et (4.12) constituent le systme augment des erreurs de position et de
vitesse que lon veut stabiliser lorigine. Soit la fonction candidate de Lyapunov du systme
augment :

=
=
=

1
2

(4.13)
+

+
+

Nous devons maintenant utiliser le vecteur


ngative. Soit le contrle virtuel

pour forcer

(4.14)

tre une fonction dfinie

et dfinissons lerreur de position angulaire :

63

(4.15)

Lquation (4.14) ne possde pas de terme

pouvant tre directement utilis pour effectuer

le contrle. Lapproche employe ici est similaire celle employe pour les systmes ayant
la forme Pure-feedback system telle que dcrite la section 3.2.2. Ainsi, plutt quutiliser
directement, nous utilisons la matrice ( ), dont les paramtres sont les angles

le vecteur
dEuler.

En se basant sur (Ghommam, Charland-Arcand et al., 2014), il est possible de dcomposer la


matrice de rotation en deux matrices telles que23 :
(

)= ( ) (

(4.16)

Lquation (4.16) est de la mme forme que les autres quations derreur, par exemple (4.15),
o

) est la matrice de rotation ayant comme paramtre le contrle virtuel

) peut tre considre comme une matrice derreur.

et o

En substituant (4.16) dans (4.14), nous obtenons :


=
+

Notre but est dutiliser le terme

)
(4.17)

pour contraindre

devenir une fonction

dfinie ngative.

23

Voir lANNEXE II pour la dmonstration de cette sparation ainsi que la liste des lments de (

).

64

) =

)+

est une matrice dfinie positive tre choisie par le concepteur. Le vecteur

(4.18)
, soit la

commande virtuelle dacclration, peut tre interprt physiquement comme tant


lacclration linaire du quadrotor ncessaire pour effectuer la poursuite de la trajectoire
dsire. Cette acclration nous permet dobtenir deux informations ncessaires la
conception du contrleur, soit la force de pousse totale ainsi que lorientation de celle-ci.
En insrant (4.18) dans (4.17), on obtient :

4.4.3

(4.19)

Sous-systme 1 en boucle ferme

Le systme en boucle ferme

est obtenu en appliquant les commandes virtuelles la

dynamique de lerreur du sous-systme .


=

Le terme

(4.20)

est considr comme une perturbation par le contrleur, car il

contient des termes non mesurables. Cependant, nous pouvons constater que le systme est
ISS par rapport la perturbation

) . En effet, le systme en boucle ferme est

dune forme particulire, telle que dfinie la section 3.3.3, identifie comme tant un

65

systme ISS24, ce qui assure que les erreurs


dtail les lments de la matrice

et

sont bornes. De plus, en analysant en

), on peut mettre en vidence deux proprits

intressantes : la premire est que la matrice

) est borne, quelques soient ses

entres. Il existe donc une petite constante telle que :


(

) < ,

0,

(4.21)
(

La deuxime proprit fait en sorte que la norme de la matrice

) ne dpend que du

terme et dcroit vers 0 si dcroit vers 0 tel que :


lim

0 lim (

) 0 ,

(4.22)

En combinant les deux proprits (4.21) et (4.22) avec la proprit ISS du systme
peut conclure que si nous parvenons faire tendre lerreur de position angulaire
alors le terme (

, on
vers 0

), qui est la perturbation du systme au sens ISS, tend lui aussi vers 0

et consquemment lorigine du systme en boucle ferm

est asymptotiquement stable

au sens de Lyapunov.
la lumire de cette conclusion, on peut donc constater que lerreur de position est
directement lie lerreur dattitude du quadrotor via le terme

). Ceci confirme

notre intuition. En effet, il sagit de lorientation du quadrotor qui dirige la force de pousse
dans lespace. Tant que celle-ci nest pas oriente correctement, la position dsire ne peut
tre atteinte. Cependant, si un contrleur peut garantir que lerreur dorientation est
asymptotiquement stable, alors la force sera ultimement oriente correctement et lerreur de
position convergera elle aussi ultimement vers zro, do la proprit ISS du systme
par rapport lerreur dorientation.

24

Nous tirons cette conclusion en supposant que est born, ce qui est dmontr par la suite. La
dmonstration est donne lANNEXE III.

66

On peut donc conclure que le contrleur dattitude a une grande influence sur la dynamique
de position du quadrotor et devra donc tre trs performant et robuste pour assurer la bonne
performance au contrleur de position.
4.4.4

Calcul de la force de pousse totale et des contrles virtuels

La commande virtuelle dacclration

, dduite la section prcdente, contient deux

informations complmentaires, soit la force de portance totale


dsire du quadrotor via les paramtres de la matrice (

ainsi que lorientation

).

Rarrangeons lquation (4.18) :

(4.23)

En prenant le carr de chaque ct de lquation, nous obtenons :

(4.24)

La force de pousse totale des moteurs doit donc tre25 :

Dfinissons les lments du vecteur tels que

(4.25)
=

lquation (4.23), on peut utiliser chaque terme du vecteur


(

25

. En reprenant
pour extraire

de la matrice

).

Le rsultat de lquation (4.25) est intuitif, car celle-ci est lexpression de la loi de Newton ( =

).

67

0
0

(4.26)

Lquation (4.26) peut tre rcrite sous la forme dun systme de trois quations :
0=

0=

(4.27)

(4.28)

(4.29)

En multipliant chaque ct de lquation (4.28) par


par

et en additionnant les deux rsultats, nous obtenons :

En notant pour les tapes ultrieures que


(4.27) par

26

et chaque ct de lquation (4.29)

(4.30)
, on multiplie chaque ct de lquation

26.

Pour tre plus exacte,

(2 1), o est un entier.

68

(4.31)

partir des quations (4.30) et (4.31), nous pouvons facilement isoler les commandes
virtuelles

et

= sin

= tan

(4.32)
+
(4.33)

( ), est la trajectoire dsire du cap du quadrotor qui est disponible pour le

contrle.
4.4.5

Analyse du domaine de validit

Les quations prcdentes possdent plusieurs restrictions sur leur domaine qui doivent tre
respectes pour sassurer que les commandes virtuelles soient valides.
Premirement, le domaine de la fonction sin

de lquation (4.32) est toujours respect,

car :

De telle sorte que le domaine 1,1 est toujours respect puisque :

69

Deuximement, le terme

, qui est la norme de lacclration virtuelle, ne doit jamais

tre nul pour viter une division par zro. Cette condition est difficile rsoudre
mathmatiquement, mais peut-tre interprte intuitivement27. En effet, si la norme de
lacclration virtuelle est nulle, alors, en se basant sur (4.25), la force de pouss totale T est
nulle, de telle sorte que le quadrotor se retrouve en chute libre. Il nexiste alors aucune
solution dorientation, soit les commandes virtuelles

et

, pour permettre au quadrotor

datteindre la position dsire, do linexistence de solution pour lquation (4.32). Or, lors
dun vol, le quadrotor doit toujours combattre la gravit pour demeurer lquilibre de telle
sorte que la norme de lacclration virtuelle ne peut jamais tre nulle. Ceci nous permet de
conclure que cette condition est remplie. Le mme raisonnement sapplique pour le terme
, qui est lacclration virtuelle selon laxe

Aussi, en nous basant sur les rsultats de lANNEXE I, nous concluons que nous pouvons
toujours, lors de limplmentation, ajouter des saturations au niveau des contrles virtuels
et

. De plus, un traitement numrique peut tre utilis pour viter les divisions par zro au

niveau de (4.32) et (4.33), qui sera utilis typiquement lors du dcollage et de latterrissage
de quadrotor. En faisant rfrence la section 4.2, nous assumons que la trajectoire dsire
gnre des mouvements dans une enveloppe de vol typique de telle sorte que le quadrotor
nest jamais en chute libre. De ce fait, lacclration maximale de descente du quadrotor doit
donc toujours tre infrieure 1 .
partir de cette analyse, nous concluons que le domaine des quations (4.32) et (4.33) est
toujours respect, ce qui nous permet de passer la conception du contrleur pour le soussystme .

27

Il faudrait prouver que le minimum de la norme de lacclration virtuelle est toujours suprieur 0 partir
de lquation (4.18).

70

4.5

Sous-systme 2

Le contrleur est construit en deux tapes. La premire consiste faire tendre lerreur de
position angulaire

vers zro laide de la vitesse angulaire. La deuxime consiste

contrler la vitesse angulaire laide du vecteur de couple .


Soit le vecteur de commande virtuel

. Il est important de noter que celui-ci est form de

deux commandes virtuelles ainsi que de la trajectoire dsire du lacet.

4.5.1

(4.34)

tape 3 : Contrle de la position angulaire

Reprenons lquation (4.15) qui dcrit lerreur de position angulaire et prenons sa drive par
rapport au temps :

(4.35)

(4.36)

Tel que prsent la section 3.1, nous utilisons la variation des angles dangulaire pour
contrler lerreur de position angulaire.
Soit la fonction candidate de Lyapunov pour le systme prcdant ainsi que sa drive par
rapport au temps :

V =

1
2

(4.37)

71

V =

( )

En suivant la mthode de conception, nous pouvons choisir le contrle virtuel

(4.38)
suivant, o

est une matrice dfinie positive tre choisie par le concepteur, de manire transformer
en une fonction dfinie ngative.

la fonction

= ( )

Or, le terme

(4.39)

provient des drives des quations (4.32) et (4.33) qui sont clairement trs

complexes rsoudre analytiquement. Comme nous lavons prsent la section 3.4, ce


phnomne est normal lors de la conception de contrleur backstepping pour un systme
dordre lev. Pour rsoudre ce problme, nous choisissons dutiliser lestimateur de drive,
prsent la section 3.4.
Le vecteur

est form de deux commandes virtuelles dont les drives devront tre

estimes, la valeur de

tant dj disponible. Puisque lestimateur est scalaire, il nous faut

deux estimateurs pour valuer la drive de

. Les estimations sont notes () tandis que les

erreurs destimation sont notes (). En se basant sur les quations (3.25), on peut crire
lestimateur ainsi :

=
O lindice

sign(

| sign(

(4.40)

indique le contrleur virtuel associ lestimateur. Le vecteur

destimation ainsi que le vecteur derreur peuvent tre nots ainsi :

=
0

(4.41)

72

ou sous forme vectorielle suivante :

(4.42)

Nous pouvons maintenant rcrire (4.39) en fonction de lestimation de la drive.

= ( )

(4.43)

O ( ) , qui est dfini par linverse de lquation (2.9), est valide pour tout

. Ce qui

est cohrent avec nos conclusions des sections 4.4.4 et 4.4.5. En appliquant (4.43), nous
pouvons rcrire lquation (4.38), lorsque
V =

ainsi :
( )

(4.44)

En observant lquation (4.44), nous pouvons conclure que celui-ci est de la forme
particulire propre aux systme ISS tel que dfini la section 3.3.328. De plus, puisque
lestimateur converge en temps fini, le terme

tend rapidement vers zro de telle sorte que

lorigine de lquation (4.35) est asymptotiquement stable si


4.5.2

tape 4 : Contrle de la vitesse angulaire

Nous pouvons dfinir lerreur entre la vitesse angulaire et sa commande virtuelle ainsi que sa
drive par rapport au temps :

28

La preuve complte de stabilit est prsente lANNEXE III

(4.45)

73

(4.46)

En introduisant (4.45) dans (4.35) et (4.3) dans (4.46), on obtient le systme augment
suivant :

= ( )

(4.47)

(4.48)

est le tenseur dinertie qui est, par dfinition, une matrice dfinie positive. Celle-ci est

donc toujours inversible.


Soit la fonction candidate de Lyapunov du systme augment :

V =V +

1
2

(4.49)

Sa drive par rapport au temps est :


V =
=

+
( )

=V +

( )

(4.50)

On choisit le vecteur dentre tel que V soit une fonction dfinie ngative. Le choix
logique est dliminer tous les termes positifs laide de lentre telle que :
= ( )

(4.51)

74

Nous obtenons la mme problmatique qu la section prcdente, dans le sens o le calcul


de

est beaucoup trop complexe pour tre effectu de manire analytique. Nous utilisons

donc nouveau lestimateur de drive dfini la section 3.4. Puisque lestimateur est
scalaire, il nous faut trois estimateurs. En se basant sur les quations (3.25), on peut crire
lestimateur ainsi :

=
=
o lindice

sign(

| sign(

(4.52)

indique le contrleur virtuel associ lestimateur. Le vecteur

destimation ainsi que le vecteur derreur sont nots ainsi :

(4.53)

partir de (4.53), nous pouvons rcrire (4.51) ainsi :

= ( )

(4.54)

est une matrice dfinie positive choisie par le concepteur tel quon peut aussi rcrire

(4.50) :

V =

En introduisant (4.54) dans (4.48), on obtient le systme en boucle ferme

= ( )
= ( )

(4.55)
:

(4.56)

75

En observant lquation (4.55), nous pouvons conclure que celui-ci est de la forme
particulire propre aux systmes ISS tel que dfini la section 3.3.3. De plus, puisque
tend rapidement vers zro de telle sorte que

lestimateur converge en temps fini, lerreur


lorigine du systme en boucle ferm
4.6

est asymptotiquement stable29.

Rsum du contrleur

Puisque la dmarche du contrleur est longue, nous allons rsumer dans cette section
lessentiel de la dmarche.
4.6.1

Systme complet en boucle ferme

et

En combinant les systmes en boucle ferme

, on obtient le systme en boucle

ferme complet, qui peut tre crit sous la forme matricielle suivante :

1
=
0
0

0
0

0
0

( )

0
0
( )

)
(4.57)

Comme nous lavons indiqu la section 3.1, la matrice du systme en boucle ferm est la
somme dune matrice dont la diagonale est ngative et dune matrice antisymtrique.
La fonction candidate de Lyapunov associe au systme est la suivante :

29

1
2

1
2

1
2

1
2

La preuve de stabilit du systme complet est prsente lANNEXE III.

(4.58)

76

Sa drive par rapport au temps est :


=

(4.59)

Suite aux dveloppements des sections 4.4 et 4.5, nous concluons que le systme en boucle
ferme est asymptotiquement stable au sens de Lyapunov et est ISS par rapport aux
perturbations,

4.6.2

) ,

et

. La preuve de ISS est prsente lANNEXE III.

Signaux de contrles

Tous les signaux ncessaires au contrle sont rsums ici. Les erreurs sont calcules ainsi :
=

(4.60)

O les commandes virtuelles sont donnes par :


=

=
= ( )
= sin
= tan
=

)+

+
(4.61)

77

Les quatre sorties du contrleur sont :

=
= ( )

Les estimateurs, o lindice

(4.62)
indique le contrleur virtuel associ

lestimateur sont :

=
=

sign(

| sign(

(4.63)

Nous avons prsent dans ce chapitre la construction du contrleur backstepping. Celle-ci a


t effectue en quatre tapes soit : le contrle de la position linaire, le contrle de la vitesse
linaire, le contrle de la position angulaire et le contrle de la vitesse angulaire. chaque
tape, une fonction candidate de Lyapunov a t propose. Ensuite, un contrleur virtuel a
t construit dans loptique de forcer la dvire par rapport au temps de la fonction de
Lyapunov tre une fonction dfinie ngative. Lors des tapes 3 et 4, il nous a t ncessaire
dutiliser estimateur de dvire pour estimer la dvire des contrleurs virtuels puisque le
rsultat analytique de celle-ci tait trop complexe. Le contrleur obtenu respecte nos objectifs
tels que prsents la section 4.2. Une analyse de la stabilit de la boucle ferme par rapport
aux perturbations gnres par lerreur dalignement
erreurs destimation

et

( ,

est prsente lANNEXE III.

) ainsi que par rapport aux

CHAPITRE 5
IMPLMENTATION
Ce chapitre prsente limplmentation du contrleur backstepping au niveau dun quadrotor
de type Pelican conu par la compagnie Ascending Technologies que nous dsignerons dans
ce qui suit par le nom dAsctec Pelican. Nous commencerons par prsenter les units de
calcul ainsi que les capteurs embarqus sur le quadrotor puisque ceux-ci ont une influence
directe sur larchitecture du contrleur choisi. Par la suite, nous la prsenterons en dtail ainsi
que le support logiciel utilis pour effectuer limplmentation.
5.1

Quadrotor Asctec Pelican

Comme mentionn prcdemment, Ascending Technologies est une compagnie allemande de


pointe dans la conception de mini-UAV de type quadrotor, dont plusieurs appareils sont
ddis la recherche. Les particularits de ces produits sont la flexibilit, la modularit ainsi
que lexistence de cadriciels permettant lajout rapide de code. Parmi la multitude dappareils
conus par Ascending Technologies, nous avons choisi le Pelican puisquil sagit du modle
de quadrotor offrant la meilleure charge utile.
5.1.1

Units de calcul

Le Pelican possde plusieurs units de calcul. La carte principale, prsente par la Figure 5.1,
comprend deux microprocesseurs ARM LPC2146, soit le processeur haut niveau (processeur
HL) et bas niveau (processeur LL). Le processeur LL gre l'acquisition de l'ensemble des
capteurs de l'appareil, la fusion de donnes, la communication via Zigbee, la commande des
moteurs et l'excution du contrleur conu par Ascending Technologies. Le code au niveau
du processeur LL est ferm et ne peut tre modifi. Le processeur HL est ouvert aux
modifications et est ddi l'implmentation de code supplmentaire en loccurrence le code
du contrleur backstepping conu dans ce mmoire. Les deux processeurs communiquent

80

entre eux laide dun lien de type Serial Peripheral Interface Bus (SPI). Celui-ci permet
d'acheminer les donnes des capteurs fusionnes du processeur LL vers le processeur HL et
les commandes du processeur HL vers le processeur LL.

Figure 5.1 Configuration matrielle de la carte lectronique du Asctec Pelican30


5.1.2

Ordinateur embarqu

Un ordinateur embarqu (On-Board Computer - OBC) muni d'un processeur Intel Atom
1.6Ghz est aussi disponible, sur le Pelican, pour effectuer des calculs plus complexes.
L'ordinateur embarqu communique au processeur HL via un lien srie, not HL serial 0 sur
la Figure 5.1. L'ensemble des systmes et leur lien de communication sont illustrs par la
Figure 5.2. Pour plus de dtails sur le Pelican, l'auteur recommande au lecteur de consulter
les manuels d'utilisation d'Ascending Technologies tout en notant que certaines modifications
ont t apportes au systme original. Celles-ci sont prsentes dans les sections
subsquentes.

30

Il est important de noter quil sagit du schma du systme tel quoriginalement offert par Ascending
Technologies. Dans notre configuration, le module GPS nest pas connect sur le port HL serial 1. Image tire
de (Brunelle, 2013).

81

Figure 5.2 Configuration matrielle et photo de lordinateur


Atom dAscending Technologies31
5.1.3

Capteurs

Le Pelican dispose de tous les capteurs ncessaires pour le vol. Les capteurs principaux sont
les triplets de capteurs inertiels, soit les acclromtres, les gyromtres ainsi que les
magntomtres qui ensemble forme une centrale inertielle (Inertial Measurement Unit IMU). Un filtre de Kalman effectue la fusion des donnes inertielles et permet d'obtenir
l'orientation du quadrotor sous la forme des angles d'Euler ainsi que la vitesse angulaire
mesure dans le repre du quadrotor. Les capteurs du Pelican mesurent galement la vitesse
des moteurs, la tension courante de la batterie ainsi que les signaux provenant de la
tlcommande. Lacquisition des capteurs ainsi que le calcul du filtre de Kalman sont
effectus par le processeur LL et lensemble des mesures est transmis vers le processeur HL
une frquence de 1KHz.
Un rcepteur GPS, fourni avec le Pelican, permet de mesurer la position du quadrotor. Celleci est fusionne avec les donnes inertielles pour obtenir une meilleure estimation de la
position et une frquence plus leve. Pour augmenter la prcision du systme, nous avons

31

Image tire de (Brunelle, 2013).

82

choisi d'utiliser un autre capteur couplant un receveur GPS ainsi quun systme de navigation
inertiel (Inertial Navigation System - INS) de la compagnie Advanced Navigation nomm
Spatial . Les particularits de ce capteur sont prsentes la section 5.2.
5.1.4

Repre

Les capteurs du Pelican effectuent leurs mesures en fonction du repre quadrotor, tel que
dfini la section 2.1. Cest--dire que laxe
droit et

pointe vers lavant,

pointe vers le bras

pointe vers le bas. Le bras avant du Pelican est identifi laide dune bande

rouge.
5.1.5

Alimentation

Nous avons notre disposition quatre batteries Lithium-Polymre (LIPO) pour alimenter le
quadrotor, soit deux de 6100 mAh, une de 6000mAh et une de 8000 mAh. En moyenne, nous
pouvons obtenir une autonomie de vol de 15 minutes.
5.1.6

Architecture logiciel Asctec SDK

La compagnie Ascending Technologies fournit plusieurs outils de dveloppement pour


effectuer limplmentation au niveau du processeur HL. Celui qui nous intresse
particulirement est lensemble de dveloppement logiciel (Asctec Software Development
Kit Asctec SDK). Celui-ci fournit des structures de donnes standardises permettant au
code du processeur HL de communiquer avec le processeur LL. Il fournit aussi lensemble
des outils pour sassurer que le code implment sexcute une priode fixe prdtermine.
La structure principale nomme RO_ALL_DATA contient toutes les donnes mesures
par les capteurs ainsi que le rsultat du filtre de Kalman calcul par le processeur LL. La
structure WO_CTRL_INPUT est ddie au contrle du quadrotor. Celle-ci comprend les

83

modes de contrle suivants : le contrle direct des moteurs, le contrle par force/moment ou
le contrle laide de lautopilote du processeur LL.
5.2

Capteur GPS/INS Spatial de la compagnie Advanced Navigation

Comme prcis prcdemment, nous avons choisi de remplacer le systme de mesure


GPS/INS du Pelican par un capteur plus performant. En effet, les spcifications du systme
de positionnement du Pelican indiquent une prcision de 3m Root Mean Square (RMS) selon
le plan vertical et une prcision de 5m RMS selon le plan horizontal 32. Or, pour assurer le
fonctionnement dun contrleur performant tel que le backstepping, ce niveau de prcision
peut savrer insuffisant.
Pour obtenir de meilleures performances, nous avons choisi dutiliser le capteur GPS/INS
Spatial de la compagnie Advanced Navigation. Les spcifications de ce capteur indiquent
une prcision de 2m RMS en horizontal et 3m RMS en vertical. De plus, celui-ci peut tre
coupl un systme GPS diffrentiel (DGPS). Dans cette configuration, les performances du
capteur augmentent de telle sorte que lon obtient une prcision de 0.6m RMS selon le plan
horizontale et une prcision de 1 m RMS selon le plan vertical. Une comparaison de la
performance des deux systmes de mesure est prsente lANNEXE VII.
Puisquil comprend un systme inertiel complet, le Spatial, en plus deffectuer la mesure de
la position, permet de mesurer l'orientation et la vitesse angulaire de l'appareil; ceci cre une
redondance de donnes que nous devons grer.

32

Il est important de noter que les spcifications de systme GPS/INS ne sont atteintes que dans les meilleures
conditions possibles, soit lorsque la gomtrie satellitaire est optimale et lorsque les erreurs de mesure GPS,
dues principalement aux effets atmosphriques, sont minimales. De plus, compte tenu de la distribution spatiale
des satellites, la prcision de la mesure horizontale est gnralement moins leve que la verticale.

84

5.2.1

Traitement de la redondance des mesures

Avec lajout du capteur Spatial, nous avons cr une redondance des mesures de position
angulaire et de vitesse angulaire33. Puisque les mesures proviennent de deux capteurs
diffrents, il faut sassurer que celles-ci soient cohrentes entre elles et, dans le cas contraire,
choisir la mesure approprie. Aprs vrification, les donnes mesures par les deux capteurs
est cohrent, sauf la mesure du lacet. Il a donc t choisi dutiliser la mesure du lacet
provenant du processeur LL puisque celle-ci est beaucoup plus prcise et corrige
adquatement le facteur de dclinaison magntique34.
5.2.2

Systme GPS diffrentiel (DGPS)

Typiquement, un systme DGPS fonctionne laide de deux rcepteurs GPS. Lun des
rcepteurs est une position fixe connue trs prcisment tandis que le deuxime est
embarqu sur la plate-forme que lon cherche positionner. Puisque le receveur fixe connat
sa position, il peut estimer les erreurs de mesure des signaux GPS et calculer les corrections
ncessaires pour augmenter la prcision de la mesure. Les corrections sont ensuite
achemines au deuxime receveur laide de message standardis par le Radio Technical
Commission for Maritime Services ou simplement RTCM.
Dans notre implmentation du systme, le rcepteur en mouvement est le capteur Spatial et le
rcepteur fixe est le OEM628 de la compagnie Novatel. Celui-ci gnre les trois trames
ncessaires pour effectuer une correction DGPS valide, soit les trames RTCM1 (correction
DGPS), RTCM3 (paramtres du rcepteur) et RTCM31 (correction diffrentielle
GLONASS). Lors du dploiement du systme, le rcepteur OEM628 est connect une
antenne fixe et un ordinateur.

33

Nous ne remplaons que le capteur GPS du Pelican de tel sorte que lappareil conserve sa centrale inertielle.
La mesure du Spatial est influenc davantage que celle du magntomtre de Asctec par le bruit des moteurs
compte tenu de sa proximit avec ceux-ci. De plus, larchitecture de contrle a influenc notre dcision en
gardant comme philosophie de positionner les capteurs les plus prs possible des units de calcul qui en ont
besoin. Ceci est prsent plus en dtail dans les sections subsquentes.

34

85

5.2.3

Repre inertiel et conversion de la mesure de position

La mesure de la position effectue par le Spatial est exprime par rapport au repre Earth
Centered Earth Fixed (ECEF) laide de coordonnes sphriques, soit le triplet latitude,
longitude et altitude aussi dnomm la position LLA (Farrel, 2008). Puisque le contrleur
a t conu en utilisant un repre de rfrence NED, il est ncessaire deffectuer une
conversion de la mesure de la position LLA vers un repre NED local. Cette conversion
utilise deux positions LLA, soit la position de lorigine du repre inertiel NED et la position
courante du capteur. Comme indiqu prcdemment, la position de lorigine du repre
inertiel est choisie comme tant la position initiale du quadrotor. Les dtails de la conversion
sont donns lANNEXE V.
Lorientation du repre inertiel NED dpend de la position du nord gographique dtermine
par le magntomtre du quadrotor. Or, un magntomtre mesure la position du nord
magntique et non le nord gographique. Il faut donc que le capteur et lalgorithme de fusion
de donnes tiennent compte de la dclinaison magntique. Une incohrence entre
lorientation du repre inertiel et le nord gographique peut considrablement influencer les
performances du contrleur35.
Selon Transport Canada, la dclinaison magntique a une valeur de -15.064 dans la rgion
de Montral. La dclinaison a t ajoute lors de la calibration des capteurs du Pelican36.
Lorientation du repre inertiel a ensuite t valide exprimentalement laide de deux
boussoles en positionnant laxe

du quadrotor vers le nord gographique et en confirmant

une mesure de 0 au niveau du lacet.

35

De faon gnrale, cette erreur sidentifie en pratique lorsque le quadrotor effectue des mouvements
circulaires plus ou moins prononcs lorsquil est en mode stationnaire.
36
Le Spatial comprend son propre modle interne du champ magntique terrestre et effectue la correction pour
la dclinaison automatiquement.

86

5.2.4

Acquisition des donnes de vol via le capteur Spatial

Le Spatial utilise deux liens de communications sries. Lun est ddi la transmission des
donnes choisies et la rception de commande tandis que le deuxime est ddi la
transmission des trames RTCM. Le Spatial a t programm pour retourner lensemble des
donnes de vol, soit la position angulaire, la vitesse angulaire, la position ainsi que la vitess;
le tout, une frquence de 250Hz. Compte tenu du haut dbit de communication ncessaire,
il a t choisi dutiliser une vitesse de transmission de 921600 baud/s. Les trames RTCM
doivent, quant elles, tre transmises environ chaque seconde pour assurer une correction
adquate des erreurs de mesure GPS.
5.3

Robotic Operating System (ROS)

La compagnie Willow Garage dveloppe depuis quelques annes un mtasystme


dexploitation libre ddi la robotique nomme Robotic Operating System (ROS). Celui-ci
fournit plusieurs outils et implmentations de systmes pour acclrer le dploiement de
systmes robotiques, comme le traitement de transformation de repre, la gestion dchange
de messages, labstraction matrielle, la gestion de capteurs, le traitement multimachine, etc.
Compte tenu de la versatilit des outils dj disponibles sous ROS et de la familiarit de
lauteur avec ce systme, il a t choisi dutiliser ROS pour effectuer limplmentation du
contrleur ainsi que du systme de vol. Cette section a pour but de dcrire brivement le
fonctionnement de ROS.
5.3.1

Principe de fonctionnement

Chaque programme sexcutant sous ROS est appel une node . Chaque node sexcute
en parallle et est indpendante des autres nodes. Pour changer de linformation, chaque
node peut publier (transmettre) ou sinscrire (recevoir) des messages. Un processus unique,
nomm roscore , ncessaire dans chaque utilisation de ROS, gre la gestion des messages.
Celui-ci connat lensemble des messages publis ou inscrits, par les nodes et effectuent la

87

liaison entre celles-ci laide de fonctions de rappel. Le roscore est toujours actif, de telle
sorte que lajout de messages publis ou linscription de nouveaux messages peut changer
dynamiquement au cours de lexcution du systme. Lensemble des communications ROS
seffectue via le protocole TCP/IP, de telle sorte quun systme ROS peut-tre facilement
dploy sur plusieurs machines et ceci est transparent pour lensemble des nodes. En effet, il
suffit pour cela que lensemble des nodes connaissent ladresse IP du roscore. Celui-ci assure
ensuite la connexion entre les diffrentes nodes travers le rseau ROS. Chaque message
ROS possde un nom unique commenant par le symbole / . Lorsquun message nest pas
unique une seule node, on ajoute typiquement le nom de la node avant le nom du message,
par exemple /nom_node/nom_message .

Figure 5.3 Exemple dun systme ROS simple


5.3.2

Temps rel

Il est important de noter que ROS nest pas un systme temps rel dur. En effet, ROS est
typiquement utilis sous un systme dexploitation de type LINUX, dans notre cas Ubuntu
12.04 LTS, de telle sorte que la gestion de lexcution de lensemble des nodes ROS ainsi
que le roscore sont dpendants du systme dexploitation. Nanmoins, toutes les nodes
peuvent tre configures pour agir comme des processus prioritaires. Aprs plusieurs tests de
faisabilit, nous avons conclu que puisque les processus dvelopps dans le cadre de ce
projet demandent peu de puissance de calcul et compte tenu de la puissance de lOBC, nous

88

pouvions atteindre des performances temps rel suffisantes tant que lOBC nest pas
surcharg. En effet, nous obtenons une prcision de lordre des diximes de Hz lorsque le
processeur de lOBC est 50% de sa capacit lors du fonctionnement du systme de vol
complet.
5.3.3

Outils

Plusieurs outils sont dj implments sous ROS pour acclrer le dveloppement. Les outils
principaux utiliss lors du projet sont nomms rosbag et rqt_gui . La node rqt_gui
offre la possibilit de sinscrire tous les messages publis sur le rseau ROS et dafficher
leur contenu, leur frquence ainsi que leur bande passante. De plus, le node rqt_gui offre la
possibilit de publier nimporte quel message ROS une frquence voulue ou lors de lappui
dun bouton par lutilisateur. Cette fonctionnalit est trs utile pour ajouter rapidement une
interface usage au systme ou pour effectuer des tests. La node ROS rosbag permet, quant
elle, denregistrer les messages publis sur le rseau ROS dans une structure de donnes
nommes bag . Chaque bag peut-tre revisionn laide de loutil rxbag. De plus, les
donnes contenues dans le fichier bag peuvent tre extraites dans un fichier texte pour
effectuer dautres analyses.
Plusieurs autres outils ROS, tel que rostopic (outil de gestion des messages ROS),
rxgraph (outil danalyse du rseau ROS) et rosparam (outil de gestion des
paramtres), pour ne nommer que ceux-ci, sont disponibles pour valider limplmentation
sous ROS.
5.4

Implmentation du contrleur backstepping

L'implmentation de lautopilote backstepping a t divise en deux parties qui ont t


implmentes sur des units de calcul diffrentes : lutilisation des capteurs, la proximit de
ceux-ci par rapport aux units de calcul qui les utilisent ainsi que la puissance de calcul
ncessaire sont les principaux facteurs qui ont influenc cette dcision. En effet, lajout du

89

Spatial au Pelican est llment principal qui a influenc lensemble de nos choix
architecturaux.
Comme mentionn prcdemment, le capteur Spatial demande une grande bande passante, ce
qui n'tait pas possible d'obtenir au niveau du port srie du processeur HL. De plus, le Spatial
demande l'utilisation de deux ports sries, lors de son utilisation avec un DGPS, tandis que la
carte du processeur HL ne nous en fournit qu'un seul. Ceci explique son installation au
niveau de l'OBC.
En nous basant sur les quations de la section 4.6, nous pouvons constater que le contrleur
backstepping se divise facilement en deux parties, en sparant le contrleur de position et le
contrleur d'attitude de lappareil. Ceci a t effectu auparavant dans plusieurs
implmentations telles que le prototype ralis par le Massachusetts Institute of Technology
(MIT) (Achtelik, Bachrac et al., 2009). Puisque le Spatial est connect lOBC, nous avons
choisi dimplmenter le contrleur de position au niveau de lOBC. Le contrleur d'attitude
est, quant lui, implment au niveau du processeur HL puisque cette partie du contrleur
est critique et qu'il est garanti d'tre excut en temps rel dur sur le processeur ARM.
5.4.1

Contrleur de position

Le contrleur de position est implment au niveau de lOBC. La figure suivante prsente un


schma conceptuel des liens de communication utiliss pour limplmentation.

90

Figure 5.4 Schma conceptuel du contrleur de position37


Le contrleur de position effectue les calculs des contrleurs virtuels
puissance de pousse totale

et de la

tel quindiqu par les quations (4.61) et (4.62) partir des

donnes de vol provenant du capteur Spatial et des trajectoires dsires calcules partir des
positions finales dsires reues du rseau ROS. Les commandes virtuelles
dsire du lacet

( ) en plus de la pousse totale

et

la valeur

sont ensuite envoyes vers le processeur

HL pour effectuer le contrle de lattitude du quadrotor.


Tout comme lensemble des processus implments au niveau de lOBC, le contrleur de
position est intgr laide dune node ROS nomme Mobility Control Unit (MCU).
Lensemble du systme ROS implment au niveau de lOBC est prsent la section 5.6.
5.4.2

Contrleur dattitude

Le contrleur dattitude est implment au niveau du processeur HL en suivant les


instructions dfinies dans le Asctec SDK. La Figure 5.5 prsente un schma conceptuel des
liens de communication utiliss pour limplmentation.

37

La partie gauche du schma est complte par la Figure 5.5.

91

Figure 5.5 Schma conceptuel du contrleur dattitude


Le contrleur dattitude effectue le calcul du contrleur virtuel

, du vecteur de couple

ainsi que le calcul de tous les estimateurs en se basant sur les quations de la section 4.6.2.
Lensemble du code du contrleur est inclus dans la fonction SDK_mainloop , conue
pour tre excute une frquence de 1KHz; cependant, il a t choisi de lexcuter 250Hz
pour tre synchronis avec le contrleur de position. Le traitement dune excution du code
peut tre rsum par le pseudocode suivant :
SDK_mainloop()
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.

soit data, data_SI


soit cmd_RC
soit cmd_LL
soit cmd_ctrl
soit cmd_OBC
soit hl_obc_status

// Contient les donnes de vol


// Structure qui contient les commandes de la tlcommande
// Commande envoyer au processeur LL
// Structure qui contient les commandes pour le contrleur
// Structure qui contient les commandes de lOBC
// Status envoy lOBC

data = read_LL_donnees()
data_SI = convert_2_SI(data)
si cmd_RC->hl_actif est vrai
cmd_LL->hl_actif = vrai
cmd_LL->hl_ctrl_mode = force/moment
si cmd_RC->auto est vrai
hl_obc_status = auto

92

15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.

cmd_ctrl = cmd_OBC
sinon
hl_obc_status = manuel
cmd_ctrl = cmd_RC
fin
cmd_LL->force_moment = execution_ctrl_attitude(cmd_ctrl , data_SI)
sinon
cmd_LL->hl_actif = faux
fin
send_cmd_2_LL(cmd_LL)
send_message_2_OBC(cmd_OBC , data_SI)

Le schma de principe (Figure 5.5) et le pseudocode prcdents rsument le fonctionnement


du contrleur dattitude. Le processeur LL recueille lensemble des mesures des capteurs, les
signaux provenant de la tlcommande (Remote Control - RC) ainsi que la vitesse des
moteurs et les transmet via SPI vers le processeur HL. Une fois lappel de la fonction
SDK_mainloop complt, le processeur HL transmet les commandes vers le processeur LL.
Nous avons choisi dutiliser le mode de contrle force/moment de telle sorte que nous
spcifions la force totale gnre par les moteurs ainsi que les moments dsirs autour des
trois axes principaux et le processeur LL sassure de faire la correspondance ncessaire pour
obtenir la vitesse des moteurs appliquer. En dautres termes, le processeur LL sassure
deffectuer le calcul de lquation (2.35). Ceci limine la ncessit de mesurer
exprimentalement les paramtres ,

et .

Pour assurer au pilote un contrle complet sur le systme, deux boutons de la tlcommande
sont ddis la gestion du contrleur. Ceux-ci sont lis des canaux particuliers. Le canal
4 permet dactiver le contrleur dattitude implment au niveau du processeur HL. Ce
canal indique au processeur LL daccepter les commandes provenant du contrleur HL en
utilisant le mode choisi38; ceci peut tre utile en cas de dfaillance du contrleur
backstepping. Le canal 5 permet, quant lui, de spcifier si le contrleur dattitude

38

Dans notre cas force/moment

93

fonctionne en mode autonome ou en mode manuel. Lorsque le contrleur dattitude


fonctionne en mode manuel, les entres de commande, soient le roulis, le tangage, le lacet et
la puissance des moteurs totale, proviennent de la tlcommande, tandis quen mode
automatique, ses commandes proviennent du contrle de position, implment au niveau de
lOBC.
Le processeur HL achemine aussi des messages vers lOBC. En effet, lensemble des
donnes de vol de lappareil est envoy vers lOBC pour tre transmis sur le rseau ROS. Les
deux messages qui nous intressent ici sont le message de statut du contrleur, nomm
/fcu/status , qui indique au contrleur de position si le contrleur dattitude est en mode
autonome ou en mode manuel pour effectuer des dcisions ainsi que le message
fcu/yaw_feedback qui transmet la mesure du lacet vers lOBC39.
5.5

Implmentation de la gnration de trajectoire

Dans des applications robotiques, une gnration de trajectoire est habituellement utilise
pour diriger un mobile en liminant les carts trop levs entre la valeur dsire et ltat
contrl. En effet, une erreur trop grande entre ces deux valeurs peut entraner une saturation
au niveau de la commande ou mme, dans certains cas, dstabiliser le systme.
Comme prsent la section 4.2, le contrleur doit tre en mesure deffectuer la poursuite de
quatre trajectoires, soit une par degr de libert contrle. Nous avons implment une
trajectoire parabolique par partie, telle que dcrite par (Biagiotti et Melchiorri, 2009)40. Un
exemple de ce type de trajectoire est illustr par la Figure 5.6.

39

Ceci est prsent plus en dtail la section 5.6.


Nous ne tenons pas en compte ici des contraintes, dfinies la section 4.2, applicables aux trajectoires. En
effet, lassemblage des trajectoires paraboliques, qui individuellement sont des fonctions de classe , ne forme
car elle est non drivable aux de raccordement.
quune fonction de classe

40

94

Figure 5.6 Exemple de trajectoire parabolique trois parties41


La trajectoire est une fonction du temps divise en trois phases : une phase dacclration,
une phase de transport et une phase de dclration. Lacclration maximale ainsi que la
vitesse maximale atteinte lors de la phase de transport sont des paramtres de la trajectoire.
chaque fois quune nouvelle valeur finale dsire est demande, le gnrateur de trajectoire
calcule

les

coefficients

dfinissant

chaque

phase

de

la

trajectoire,

le

temps

dacclration/dclration requis et la dure totale de la trajectoire42. Ces calculs sont


prsents lANNEXE VI.
Lors de limplmentation, nous avons choisi dutiliser deux modes de guidage pour le
quadrotor, soit un mode de guidage par position et un mode de guidage par vitesse43. Pour les
deux modes, nous utilisons la mme gnration de trajectoire, mais les entres ainsi que les
sorties de celle-ci sont utilises diffremment.

41

Cette figure est tire de (Biagiotti et Melchiorri, 2009) p. 63


Nous considrons la vitesse et lacclration comme tant nulles la fin dune trajectoire.
43
Le mode de guidage par vitesse a t implment pour tre utilis par la loi dautonavigation conue lors du
projet Launch and Forget
42

95

5.5.1

Trajectoire partir de la position finale dsire

Dans le mode de guidage par position, une trajectoire en fonction dune position finale
dsire est calcule pour chaque degr de libert contrl. Puisque la mesure de la vitesse
peut-tre trs bruite pour de petites valeurs, il a t choisi de forcer la vitesse initiale de
chaque trajectoire zro pour ne pas corrompre le calcul de la trajectoire.
5.5.2

Trajectoire partir de la vitesse finale dsire

Puisque la loi dautonavigation, dveloppe dans le cadre du projet Launch and Forget
gnre des vitesses dsires, nous avons choisi dimplmenter un mode de guidage par
vitesse. Puisque la loi dautonagivation nest valide quen deux dimensions, la gnration des
trajectoires pour les axes X et Y utilise les vitesses dsires tandis que la gnration
des trajectoires pour laxe Z et le lacet utilise des positions dsires.
La gnration de trajectoires est identique celle prsente la section 5.5.1 sauf que tous les
paramtres, les entres et les sorties augmentent dordre ; cest--dire que la position
devient la vitesse, la vitesse devient lacclration, etc. Dans ce cas, puisque la sortie de la
trajectoire est dsormais une vitesse dsire, nous ajoutons la trajectoire un intgrateur pour
obtenir la position dsire. Le processus de calcul est illustr par la Figure 5.7.

96

Figure 5.7 Calcul de la trajectoire44


La position initiale de la trajectoire est la position courante du quadrotor lors de la premire
gnration de la trajectoire. La vitesse initiale ainsi que lacclration initiale proviennent
quant elles du calcul de la trajectoire prcdente.
5.6

Implmentation du systme de vol sous ROS

Le systme de vol comprend tous les processus ncessaires pour assurer le vol autonome du
quadrotor. Celui-ci est implment par plusieurs nodes ROS aillant chacune un but prcis.
Nous prsenterons ici le fonctionnement de chacune des nodes. Comme mentionn
prcdemment, lensemble des nodes communiquent entre-elles via le rseau ROS soit par
WiFi, soit linterne de lOBC via des sockets TCP-IP. Le schma de la Figure 5.8 prsente
linteraction entre les diffrentes nodes ROS.

44

O x reprsente la position dsire, v la vitesse dsire, a lacclration dsire, j le jerk dsir


et x0 est la position initiale de la trajectoire.

97

Figure 5.8 Schma du systme de vol complet


5.6.1

Node Firmware Control Unit (FCU)

La node ROS Firmware Control Unit (FCU) 45 sert dinterface de communication entre le
rseau ROS et le processeur HL, en dautres termes, entre ROS et le contrleur dattitude. La
node FCU a comme tche : la gestion du port srie de lOBC connect au processeur HL,
lexcution de lalgorithme dencodage/dcodage de message, le traitement des donnes
envoyes par le processeur HL et lenvoi de commandes au processeur HL. Voici la liste des
messages reus par la node FCU et transmis sur le rseau ROS.

45

Cette node est base sur la node ROS du mme nom dveloppe par CCNY Robotics Lab.

98

Tableau 5.1 Liste des messages ROS envoys par le FCU


Nom
/fcu/imu_data

Frquence (hz)
5

Description
Donnes de la centrale inertielle (position et
vitesse angulaire)

/fcu/status

250

Statut du contrleur dattitude (niveau de


batterie, mode dopration du contrleur;
soit manuel ou auto)

/fcu/rc_data

Donnes de la tlcommande

/fcu/debug

Champ utilis pour le dverminage

/fcu/mag

Donnes brutes du magntomtre

/fcu/u_commands

Commande de force et moment Sortie du


contrleur

/fcu/ctrl_debug_roll

Champ utilis pour le dverminage

/fcu/ctrl_debug_pitch

Champ utilis pour le dverminage

/fcu/ctrl_debug_yaw

Champ utilis pour le dverminage

/fcu/yaw_feedback

250

Retour de la mesure du lacet

Le module FCU ne reoit quun seul message soit le message /mcu/control publi par la
node MCU.
5.6.2

Node Advance Navigation Spatial (ANS)

La node Advance Navigation Spatial (ANS) sert dinterface de communication entre le


rseau ROS et le capteur Spatial. Celle-ci comprend la gestion de deux ports sries connects
au Spatial, lalgorithme dencodage/dcodage des messages ainsi que le traitement des
donnes reues et envoyes. Le capteur Spatial a t configur pour envoyer trois messages
des frquences prcises lOBC. Ceux-ci sont prsents dans le Tableau 5.2 :

99

Tableau 5.2 Messages provenant du capteur Spatial


Nom

Frquence (Hz)

Description

ans_state

250

Donnes rsultantes de la fusion de donne

ans_satellite

Statut de la mesure des satellites GPS

ans_raw_data

Donnes brutes des capteurs inertiels

Nous nous concentrerons ici sur le message ans_state puisquil contient lensemble des
donnes ncessaires au vol; les autres messages sont plutt utiliss pour tester le systme.
Chaque rception dun message ans_state dclenche la fonction de conversion calculant la
position du quadrotor dans un repre NED local partir de la position LLA provenant du
Spatial, tel que dcrit la section 5.2.3. Une fois la conversion termine, un nouveau
message ROS ans/position est publi sur le rseau ROS en utilisant la dernire mesure du
lacet provenant du processeur HL via le message /fcu/yaw_feedback 46.
Pour finir, la node ANS est inscrite au message ROS rtcm_correction contenant les
trames de corrections DGPS provenant du receveur OEM628. Celles-ci sont achemines
directement au Spatial laide du port srie ddi cet effet.
5.6.3

Node Flight Manager (FM)

La node Flight Manager (FM) est le gestionnaire de vol. Celui-ci permet de crer un plan
de vol partir dune liste de points de contrle prsente sous la forme dun tableau. La
Figure 5.9 prsente linterface graphique du Flight Manager lors de la cration dun plan
de vol.

46

Le message ans/position contient la position et la vitesse linaire du quadrotor selon le repre local de
rfrence NED ainsi que la position et la vitesse angulaire.

100

Figure 5.9 Interface du Flight Manager


Le Flight Manager est habituellement dploy sur un ordinateur au sol. Une fois dmarr,
celui-ci envoie le point de contrle courant, via WIFI, laide du message /fm/goal vers
la node MCU lorsque le quadrotor a atteint le point de contrle prcdent47. Le Flight
Manager dtermine si le quadrotor a atteint le point de contrle de chaque axe selon une
marge derreur dont le seuil a t dtermin priori. Lerreur est achemine vers le Flight
Manager via le message /fm/threshold provenant de la node MCU.
5.6.4

Node Navigation (NAV)

La node ROS Navigation (NAV) sert dinterface entre le rseau ROS et lalgorithme de
navigation. Elle utilise la puissance mesure des deux antennes provenant des messages
/wifi1 et /wifi2 publis par la node NL. Lalgorithme dautonavigation ncessite
galement langle darrive des signaux pour fonctionner. Or, ceux-ci ne sont pas disponibles
dans la configuration matrielle des essais exprimentaux. Pour passer outre ce problme,
nous avons choisi de calculer les angles darrive en utilisant la position des antennes.
Celles-ci pourrait tre reue via le rseau ROS, lors de lexprimentation.

47

Sauf pour le premier point de contrle qui est envoy ds le dmarrage de la node.

101

La node Nav utilise quatre messages ROS comme interface usag. partir de rqt_gui,
loprateur du drone peut donc dmarrer la loi de navigation ( /nav_start ), arrter la loi de
navigation ( /nav_stop ) ou retourner le drone vers lune des deux antennes mettrices
( /nav/return1 ou /nav/return2 ). La loi de navigation calcule les vitesses dsires selon
les axes X et Y qui sont ensuite envoyes vers la node MCU via le message
/nav/goal/ .
5.6.5

Node Mobility Control Unit (MCU)

La node Mobility Control Unit (MCU) sert dinterface entre le contrleur de position et le
rseau ROS. Celle-ci gre principalement les modes de fonctionnement du contrleur ainsi
que la gnration de la trajectoire dsire.
Le contrleur de position est excut par le MCU chaque rception dun message
/ans/position provenant de la node ANS. Puisque le Spatial envoie les donnes de
position une frquence de 250Hz, le contrleur sexcute la mme frquence. Pour
sassurer quil nexiste aucun dlai lors des transitions entre le mode manuel et le mode
automatique, le contrleur de position est toujours actif, mme lorsque le mode manuel est en
fonction.
Comme prsent prcdemment, le contrleur assure la poursuite des trajectoires dsires.
Celles-ci sont calcules par le gnrateur de trajectoire implment dans la node MCU
partir des positions finales dsires (message /fm/goal ) provenant de la node Flight
Manager ou partir des vitesses finales dsires ( /nav/goal ) provenant de lalgorithme
de navigation.
La node MCU implmente une machine tats, illustre par la Figure 5.10, pour grer le
calcul de la trajectoire, et dans un mme temps, le comportement du quadrotor en vol. Celuici est divis en deux modes distincts, soit le vol stationnaire ( Vol Stat ) et la poursuite de
trajectoire ( Poursuite Traj ). Dans le cas du vol stationnaire, la trajectoire calcule par le

102

MCU se base sur la position actuelle du quadrotor de telle sorte que le quadrotor demeure sur
place.
Lors du dmarrage du MCU, celui-ci calcule, par dfaut, une trajectoire de vol stationnaire.
Le pilote peut, tout moment, choisir de passer en mode automatique. Un signal est alors
lanc par le processeur HL via le message fcu/status , transmis sur le rseau ROS par la
node FCU et reu par la node MCU. Lors du passage du mode manuel au mode automatique
du contrleur, le MCU tombe dans le mode vol stationnaire et calcule une nouvelle
trajectoire.
Une poursuite de trajectoire est dclenche si la node MCU reoit une position finale dsire
provenant de la node Flight Manager via le message fm/goal ou si la node MCU reoit
une vitesse finale dsire provenant de la node NAV via le message nav/goal . Le calcul
de la trajectoire est transparent au systme quelque soit le type de message de but reu48.
chaque rception dun message ans/position provenant de la node ANS, le MCU
excute le gnrateur de trajectoire pour obtenir une nouvelle position dsire et effectue le
calcul du contrleur de position. Le rsultat est ensuite envoy vers le processeur HL, via le
message /mcu/cmd .

48

Bien que la gnration de trajectoire utilise le mme mcanisme, la node Flight Manager et la node
Navigation nont pas t conues pour tre excutes simultanment.

103

Figure 5.10 Machine tats du MCU


5.6.6

Node Network Lib

La node Network Lib (NL) se charge de communiquer avec la carte WiFi embarque sur
le drone pour mesurer la puissance du signal reu par les deux antennes. Ladresse MAC de
chaque antenne est utilise pour les identifier au niveau de la node NL.
5.6.7

Node Client GPS

La node Client GPS sert dinterface entre le receveur GPS OEM628 et le rseau ROS.
Celle-ci permet de publier les corrections RTCM qui sont achemines vers le capteur Spatial.

104

5.7

Rsum de limplmentation

Nous avons abord dans ce chapitre toutes les dcisions techniques relatives
limplmentation du contrleur backstepping. Tout dabord, il a t constat que la prcision
du systme de navigation inertielle fusionn avec les donnes GPS fournies avec le Pelican
savrait insuffisante pour implmenter le backstepping. Nous avons choisi de remplacer le
systme fourni par Ascending Technologies par le capteur INS/GPS Spatial qui est plus
prcis et offre la possibilit dutiliser les signaux de correction RTCM. Cependant, le choix
de ce capteur a influenc lensemble de nos dcisions architecturales par la suite. En effet,
pour obtenir le dbit ncessaire de communication, nous avons choisi de sparer le contrleur
en deux; le contrleur dattitude est excut au niveau du processeur HL tandis que le
contrleur de position est excut au niveau de lOBC. Lensemble du systme de vol a t
dvelopp en utilisant ROS comme cadriciel.

CHAPITRE 6
VALIDATION ET EXPRIMENTATION
Ce chapitre se consacre la prsentation des rsultats dexprimentation du contrleur
backstepping prsent au CHAPITRE 4. Deux mthodes de validation ont t effectues : la
premire consiste effectuer des simulations de la dynamique du quadrotor jumele au
contrleur backstepping sous Matlab/Simulink tandis que la deuxime consiste effectuer
des essais exprimentaux laide du Asctec Pelican modifi, tel que prsent au chapitre
CHAPITRE 5. Pour les deux approches, nous prsenterons la mthodologie utilise pour
obtenir les rsultats ainsi que les scnarios de test excuts.
6.1

Simulation

Le modle de simulation du quadrotor a t implment sous Matlab/Simulink. La


dynamique du quadrotor, reprsente par lquation (2.33), est intgre Simulink laide de
S-Function tandis que le contrleur, le planificateur de mission, ainsi que le gnrateur de
trajectoire sont intgrs laide de Matlab-Function . La simulation inclut galement la
dynamique des moteurs modliss laide dune fonction de transfert dordre 1. Les capteurs
sont modliss comme tant parfaits. La Figure 6.1 prsente larchitecture du modle de
simulation.

106

Figure 6.1 Schma du modle de simulation


Nous avons choisi de prsenter ici deux scnarios de simulation. Le premier scnario consiste
faire une simulation dite parfaite en modlisant la dynamique des moteurs comme tant
infiniment rapide49 et en assumant que les paramtres du drone sont parfaitement connus par
le contrleur. Ce scnario nous permet de dmontrer les performances thoriques atteignables
par le contrleur. Le deuxime scnario prsente une utilisation du contrleur dans un cas
applicatif, soit avec la loi dautonavigation. Dans ce scnario la dynamique des moteurs est
considre. Ceci nous permet de dmontrer lefficacit du contrleur dans un cadre
dapplication relle.
6.1.1

Paramtres de simulation

Cette section prsente les diffrents paramtres utiliss lors des simulations. Le Tableau 6.1
spcifie les paramtres de Matlab/Simulink utiliss pour les simulations.

49

La dynamique des moteurs est alors reprsente par un gain unitaire.

107

Tableau 6.1 Paramtres de Matlab/Simulink


Paramtre Matlab/Simulink

Valeur

Solveur

Ode4 (Runger-Kutta)

Pas de calcul

0.005s

Les paramtres du quadrotor utiliss correspondent ceux du Asctec Pelican tel que prsent
par (Wang, Raffler et al., 2012). Linertie de lhlice a, quant elle, t mesure laide dun
modle CAO produit par le logiciel Catia 5. Le Tableau 6.2 prsente ces paramtres.

Tableau 6.2 Paramtre du quadrotor Asctec Pelican50


Nom

Symbole

Valeur

Masse

1.36

Inertie autour de laxe

0.024

Inertie autour de laxe

0.024

Inertie autour de laxe

0.032

Coefficient de pousse

0.00001912444476702

Coefficient de train

0.00000184

Longueur des bras

0.21

Inertie de lhlice

0.000078187598

Les gains du contrleur ainsi que le gain des estimateurs de drive sont prsents dans le
Tableau 6.3. Ceux-ci correspondent galement aux gains utiliss lors des essais
exprimentaux.

50

Comme indiqu prcdemment, les paramtres b et d ne sont pas ncessaires lors de limplmentation
pratique du contrleur, cependant, ceux-ci sont utiliss en simulation pour calculer la vitesse des moteurs.

108

Tableau 6.3 Gains du contrleur backstepping51


Gain

Valeur

: Gain position

(2 2 2)

: Gain vitesse

(1 1

: Gain position angulaire

(7 7 2)

: Gain vitesse angulaire

(5 5 1.8)

0.35)

5
70
6.1.2

Scnario 1 : Modle parfait

Le premier scnario de simulation prsente la poursuite dune trajectoire trs agressive par le
quadrotor. Pour obtenir le profil de trajectoire dsir, nous avons choisi dutiliser une
trajectoire polynomiale dordre 8. Ceci nous permet de contrler les positions, vitesses
acclrations et jerks initiaux et finaux52. Le temps choisi pour effectuer la trajectoire et la
distance parcourir agissent sur lagressivit de la trajectoire. Dans cette simulation, nous
avons choisi dutiliser trois secondes par segments de trajectoire.
Le Tableau 6.4 prsente le plan de vol de ce scnario.

51
52

() est une matrice diagonale constitue du vecteur des paramtres.


O
Les vitesses, acclrations et jerks initiaux et finaux sont choisis comme tant nuls.

109

Tableau 6.4 Scnario de vol


Point

X (m)

Y (m)

Z (m)

Lacet (rad)

16

3 4

16

16

3 2

16

Le Tableau 6.5 prsente les conditions initiales du quadrotor. Les vitesses ainsi que les
acclrations sont considres comme tant nulles pour tous les axes.

Tableau 6.5 Condition initiale du quadrotor dans la simulation


tat

Valeur

(0)

0.5

(0)

0.5

(0)

0.5

(0)

(0)

(0)

La Figure 6.2 prsente la poursuite de la trajectoire effectue par le quadrotor en trois


dimensions. Pour plus de clart, laxe z est invers pour tre positif. Malgr une erreur
initiale de 0.5m selon les trois axes principaux, le quadrotor converge rapidement et poursuit
efficacement la trajectoire pendant lensemble de la mission.

110

Figure 6.2 Poursuite de la trajectoire tridimensionnelle par le quadrotor


La Figure 6.3 prsente le rsultat de la simulation selon chacun des degrs de libert contrl
par le backstepping soit la position tridimensionnelle ainsi que le lacet du quadrotor. Puisque
le contrleur utilise directement les mmes paramtres que le modle du quadrotor, nous
obtenons le rsultat attendu, soit une poursuite parfaite de la trajectoire.

Figure 6.3 Poursuite de trajectoires par le quadrotor selon , ,

et

111

La Figure 6.4 prsente le rsultat de la poursuite pour les degrs de libert sous-actionns du
quadrotor, soit le roulis et le tangage par rapport aux commandes virtuelles gnres par le
contrleur de position.

Figure 6.4 Poursuite de trajectoires par le quadrotor selon

et

La Figure 6.5 prsente le rsultat de la poursuite des trajectoires pour les quatre degrs de
libert asservis par le contrleur backstepping.

Figure 6.5 Poursuite de trajectoires par le quadrotor selon , ,

et

112

La Figure 6.6 prsente le rsultat de la poursuite de trajectoire pour la vitesse de variation des
angles dattitude et la drive estime des contrleurs virtuels.

Figure 6.6 Poursuite de trajectoires par le quadrotor selon

et

La Figure 6.7 prsente une comparaison entre les estimateurs de drive par mode glissant
dordre 2 et la drive numrique de Matlab/Simulink. Tel que dcrit par (Levant, 1998),
lestimateur est robuste par rapport au bruit. Comme nous pouvons le constater, lestimateur
gnre de meilleurs rsultats que la drive numrique de Matlab, car il limine les
discontinuits cres par des variations importantes du signal.

113

Figure 6.7 Comparaison entre lestimateur de drive par mode glissant dordre 2 et la
drive numrique Matlab/Simulink pour les commandes virtuelles
La Figure 6.8 prsente les efforts demands au niveau du groupe de propulsion du quadrotor.
Puisque la vitesse maximale des moteurs est denviron 850

/ , nous pouvons constater

que le contrleur gnre des entres de commande atteignables en pratique.

114

Figure 6.8 Vitesse des moteurs


laide des figures prcdentes, nous avons dmontr lefficacit du contrleur
backstepping poursuivre une trajectoire agressive. En effet, le profil de la trajectoire choisie
pousse le quadrotor des vitesses de pointe de 12 / et des acclrations maximales de
13 / . Il est intressant de noter que plusieurs discontinuits sont prsentes dans les
rsultats. Celles-ci correspondent au point de jonction entre deux trajectoires soit, lors de la
3e 6e et 9e seconde: celles-ci proviennent dune instabilit numrique en ces points. En
pratique, ce problme pourrait tre rgl en assurant un meilleur lien de continuit entre les
diffrentes parties de la trajectoire.
6.1.3

Scnario 2 : Autonavigation

Ce deuxime scnario de simulation est utilis pour dmontrer lefficacit du contrleur


laide dune application relle. Nous avons choisi dutiliser la loi dautonavigation
dveloppe durant le projet Launch and Forget . Comme indiqu prcdemment, celle-ci
permet au quadrotor effectuant un relais de communication, de se diriger vers le point
optimal, au sens des tlcommunications, pour amliorer le service entre deux antennes. Il est

115

aussi important de noter que la loi de navigation gnre des vitesses dsires seulement pour
les axes x et y. Dans un cas dapplication typique, laltitude ainsi que le lacet du quadrotor
sont maintenus leur position initiale durant lensemble du vol.
Pour cette simulation, nous avons choisi dajouter la dynamique des moteurs. Celle-ci est
modlise laide dune fonction de transfert dordre 1 suivie dune saturation dont les
paramtres sont prsents au le Tableau 6.6. Il est important de noter que ces valeurs nont
pas t obtenues exprimentalement, mais ont t choisies dans loptique dtre le pire cas53.

Tableau 6.6 Paramtres des moteurs en simulation


Paramtres

Valeurs

: Gain

: constante de temps

0.2
850

Saturation

Les trajectoires choisies pour ce scnario de simulation correspondent celles utilises en


pratique, telles que prsentes la section 5.5.2. Le Tableau 6.7 prsente les paramtres des
trajectoires.

Tableau 6.7 Paramtres des trajectoires


Paramtres

Valeurs

Acclration maximale

Jerk maximal

Les conditions initiales du quadrotor pour ce scnario sont prsentes au Tableau 6.8.

53

En effet, les moteurs sans balai utiliss conus pour des appareils multirotors sont typiquement trs rapides,
de telle sorte que la dynamique de ceux-ci est nglige par plusieurs auteurs tels que (Bouabdallah, 2007)

116

Tableau 6.8 Conditions initiales du quadrotor dans la simulation


tat

Valeur

(0)

(0)

(0)

10

(0)

(0)

(0)

Le Tableau 6.9 prsente la position des antennes.

Tableau 6.9 Position des antennes


Antenne

X (m)

Y (m)

30

35

La Figure 6.9 prsente la poursuite de la trajectoire par le quadrotor dans le plan x-y. La
position des deux antennes est galement prsente. Dans la simulation, nous considrons
que les paramtres des deux antennes sont identiques de faon ce que le point optimal soit
positionn quidistance des deux antennes et directement entre les deux.

117

Figure 6.9 Poursuite de la trajectoire gnre par la loi dautonavigation


La Figure 6.10 prsente la poursuite des trajectoires individuellement. Tel quon peut le
constater, le contrleur assure une poursuite parfaite de la trajectoire.

Figure 6.10 Poursuite de trajectoires par le quadrotor selon


La Figure 6.11 prsente les degrs de libert sous-actionns du quadrotor.

et

118

Figure 6.11 Poursuite de trajectoires par le quadrotor selon

et

La Figure 6.12 prsente les axes qui ne sont pas contrls par la loi dautonavigation.
Comme on peut le constater, ceux-ci ne sont pas affects par le dplacement et maintiennent
leur valeur initiale durant le vol.

Figure 6.12 Poursuite de trajectoires par le quadrotor selon et


La Figure 6.13 prsente les profils des vitesses dsires ainsi que les vitesses linaires du
quadrotor. Il est important de noter que la trajectoire de vitesse est construite laide des
vitesses dsires par la loi dautonavigation. Puisque cette trajectoire nest pas connue
priori, nous avons choisi dajouter, tout comme en pratique, une saturation pour limiter la
vitesse commande par la loi de navigation. Dans notre cas, celle-ci correspond 2.5 / .

119

Figure 6.13 Poursuite de trajectoires par le quadrotor selon

et

La Figure 6.14 prsente la variation des positions angulaires dsires ainsi que la poursuite
effectue par le contrleur.

Figure 6.14 Poursuite de trajectoires par le quadrotor selon

et

La Figure 6.15 prsente la comparaison entre lestimateur de drive par mode glissant
dordre 2 et la drive numrique de Matlab. Comme dans le cas du premier scnario de
simulation, nous pouvons constater que lestimateur rejette efficacement le bruit haute
frquence inhrent ce type de calcul.

120

Figure 6.15 Comparaison entre lestimateur de drive par mode glissant dordre 2 et la
drive numrique Matlab/Simulink pour les commandes virtuelles
La Figure 6.16 prsente la vitesse des moteurs. Comme on peut le constater, la dynamique
des moteurs agit comme un filtre passe-bas en liminant la composante haute frquence des
commandes gnres par le contrleur. Ceci ralentit considrablement lapplication des
forces et des moments dsirs par le contrleur.

Figure 6.16 Vitesse des moteurs


Les performances obtenues dans cette simulation sont infrieures celles prsentes dans le
premier scnario de simulation. En effet, dans ce deuxime cas, la vitesse de pointe atteinte
est gale 2.5 / et lacclration maximale est gale 1.5 / . La diminution des

121

performances peut tre explique par deux facteurs. Le premier facteur est lajout dune
dynamique de moteur peu rapide. Ceci limite la vitesse dapplication des efforts de
commande. Augmenter lagressivit du profil des trajectoires aurait pour effet dajouter
dimportantes oscillations au niveau des angles dattitude du quadrotor. Le second facteur est
lapplication dune saturation aux vitesses dsires gnres par la loi dautonavigation.
Comme mentionn prcdemment, cette saturation est ncessaire puisque nous navons
aucun contrle sur le profil de la trajectoire gnre. Cependant, malgr les performances
moins agressives, le contrleur backstepping permet dimplmenter efficacement la loi
dautonavigation.
6.2

Exprimentation

Cette section a pour but de prsenter les rsultats exprimentaux. Ils ont t effectus laide
du quadrotor Asctec Pelican ainsi que des outils logiciels, tel que prsent au CHAPITRE 6.
Chaque vol est effectu selon la mme mthodologie. Premirement, le quadrotor est pos au
sol. Sa position initiale est alors utilise pour dfinir la position de lorigine du repre NED
local. Une fois tous les systmes en fonction, le pilote fait dcoller le quadrotor
manuellement. Une fois la position initiale atteinte, le pilote passe en mode automatique et le
quadrotor effectue un vol stationnaire. La mission est ensuite lance. Une fois la mission
complte, le pilote reprend le contrle du quadrotor et effectue latterrissage de lappareil.
Les donnes de vol sont mesures laide du processus ROS ros_bag. Nous pouvons donc
enregistrer tous les messages publis sur le rseau ROS. Puisque le processus
denregistrement est lourd en terme de puissance de calcul et gourmand en espace mmoire,
nous avons choisi deffectuer lenregistrement partir dun ordinateur au sol54. Cette
configuration comporte cependant plusieurs dsavantages : en effet, il a t constat lors des
tests que lenregistrement demande une charge assez leve sur le rseau. Puisque,

54

Celui-ci excute galement la node Flight Manager et la node Client GPS .

122

lutilisation du rseau WiFi est essentielle pour le fonctionnement du planificateur de mission


et pour la loi dautonavigation55; elle limite la quantit de messages pouvant tre enregistrs
tout en conservant la cohrence des donnes56. Nous avons donc choisi denregistrer le
minimum possible de donnes tout en diminuant la frquence denregistrement.
Nous avons slectionn trois tests exprimentaux. Le premier test prsente le vol du
quadrotor lintrieur et en mode manuel. Celui-ci a pour but de dmontrer lefficacit du
contrleur dattitude. Ce premier test est ncessaire car, comme nous lavons prsent la
section 4.4, la performance du contrleur de position est directement affecte par la
performance du contrleur dattitude. De plus, le vol en mode manuel permet au pilote
deffectuer des trajectoires plus agressives par rapport aux angles dattitude que lors du vol
autonome. Dans le cadre de ce test, nous avons choisi denregistrer toutes les donnes de vol
spcifiques au contrleur dattitude, car le rseau nest pas ncessaire dans ce type
dapplication. Le deuxime test prsente un vol compltement autonome du quadrotor. Celuici a pour but de dmontrer lefficacit de lensemble du contrleur backstepping. Pour finir,
un troisime test prsente le fonctionnement de la loi dautonavigation dans un cadre
exprimental.
Il est important de noter que pour tous les tests exprimentaux, les valeurs des gains choisies
sont les mmes que pour la simulation et sont prsentes par le Tableau 6.3. Les paramtres
du quadrotor choisis pour concevoir le contrleur sont galement les mmes quen simulation
et sont prsentes par le Tableau 6.2.

55

Pour le gestionnaire de mission, voir la section 5.6.3. Pour la loi dautonavigation, la charge sur le rseau du
systme ROS est encore plus importante, car celle-ci ncessite plus de communication intersystme via WiFi,
principalement pour transfrer la position des antennes.
56
Puisque lenregistrement est en temps rel, la perte de paquets WiFi engendre la perte de donnes. Selon la
charge sur le rseau, un enregistrement peut perdre plusieurs secondes de donnes de manire sporadique.

123

6.2.1

Test de vol en mode manuel : Contrleur dattitude seulement

Le test de vol en mode manuel a t effectu lTS lintrieur de la cage de vol du club
Dronolab qui a une dimension de 6m X 6m X 15m. Le test sest droul en effectuant des
trajectoires de forme carre trs agressives57 en suivant les bordures de la cage. Le Tableau
6.10 prsente les messages ROS enregistrs durant le test ainsi que la frquence
dacquisition.
Tableau 6.10 Message ROS et donnes enregistres durant le test de vol manuel
Message

Donnes

Frquence (Hz)

/fcu/imu_data

250

/fcu/calcul_ctrl

250

/fcu/moteur
/fcu/rc

250
250

La Figure 6.17 prsente la poursuite du quadrotor pour les trois axes asservis par le
contrleur dattitude, soit le roulis, le tangage et le lacet. On peut observer une trs bonne
poursuite au niveau du roulis et du tangage. Nous pouvons galement constater que la mesure
du lacet est plus bruite ce qui explique une plus grande erreur pour cet axe.

57

chaque changement de direction, soit chaque coin du carr, la trajectoire exige une variation des angles
dEuler denviron 115 . Ceci peut-tre constat sur la Figure 6.17.

124

Figure 6.17 Poursuite de trajectoires par le quadrotor selon ,

et

La Figure 6.18 prsente la variation des commandes de position angulaire et leur poursuite
par le quadrotor. Nous pouvons constater une bonne poursuite de la trajectoire et que les
courbes sont cohrentes avec les positions angulaires illustres par la Figure 6.17.

Figure 6.18 Poursuite de trajectoires par le quadrotor selon ,

et

125

La Figure 6.19 prsente la comparaison entre lestimateur de drive par mode glissant
dordre 2 et une drive numrique classique58. Les estimations des drives des signaux
et

sont prsentes seules, car le rsultat des drives numriques est inutilisable59.

Figure 6.19 Comparaison entre lestimateur de drive par mode glissant dordre 2 et la
drive numrique Matlab/Simulink pour les commandes virtuelles

58
59

Celle-ci est calcule tel que ( ) = ( ) ( 1) o


= 0.004 et est le numro de lchantillon.
Leur valeur oscille entre 10 100 fois par rapport leur valeur thorique.

126

La Figure 6.20 prsente la vitesse des moteurs mesure. Puisque la mesure reue est
normalise et que la valeur de conversion nest pas fournie, nous avons effectu des mesures
pour connatre la correspondance. LANNEXE IV prsente la formule de conversion.

Figure 6.20 Vitesse des moteurs


Comme on peut le constater laide de ces rsultats, le contrleur dattitude peut
efficacement suivre des trajectoires agressives variant dapproximativement 25 et pouvant
atteindre des vitesses angulaires dapproximativement 115/ . On peut aussi observer la
robustesse des estimateurs de drive par rapport une drive numrique dans un contexte
dapplication pratique. Pour finir, il est intressant de noter que la vitesse des moteurs varie
de manire beaucoup plus importante quen simulation ce qui justifie la simplification de leur
dynamique.
6.2.2

Test de vol en mode autonome : Contrleur complet

Les tests de vol autonome ont eu lieu sur les terrains de lcole Nationale dArotechnique
(NA) de Longueuil. Comparativement au vol men lintrieur ou lors de simulations, les
conditions climatiques, principalement le vent, peuvent avoir un impact majeur sur les

127

performances du systme. En effet, les perturbations gnres par le vent ne sont pas prises
en compte par le contrleur propos. Aprs plusieurs essais, nous avons constat que le
contrleur devient peu performant en prsence de vent aillant une vitesse de plus de 15km/h.
Les rsultats prsents ici ont t obtenus en prsence dun vent allant entre 5 et 10km/h
direction nord-est60.
Puisque nous disposons dun seul Asctec Pelican pour effectuer les tests, il est important de
prendre le maximum de prcautions pour sassurer que le contrleur backstepping demeure
en fonction suffisamment longtemps pour permettre au pilote de rattraper lappareil en cas de
dfaillance. Pour ce faire, nous avons ajout des saturations au niveau des commandes
gnres par le contrleur de position. Les commandes virtuelles des angles de roulis et de
tangage ainsi que la pousse totale ont t satures par les valeurs prsentes par le Tableau
6.11. Les valeurs ont t choisies pour ne pas nuire aux performances du contrleur tout en
assurant un maximum de protection. De plus, nous avons choisi dutiliser un profil de
trajectoire peu agressive pour assurer un maximum de scurit. Les trajectoires choisies sont
celles prsentes la section 5.5.1. Les paramtres de celles-ci sont prsents par le Tableau
6.12.

Tableau 6.11 Saturations appliques aux commandes gnres par le contrleur de position
Commande

Valeur Max

Valeur Min

15

15

15

15

15

12

Tableau 6.12 Paramtres des trajectoires


Paramtres
Vitesse maximale (x-y-z)

60

Valeurs
1

Puisque nous navions pas lquipement ncessaire pour effectuer une mesure prcise de la vitesse du vent de
sa direction, ses informations proviennent de la tour de contrle de laroport de Longueuil.

128

Acclration maximale (x-y-z)

0.25

Vitesse maximale ( )

0.17

Acclration maximale ( )

0.05

Le Tableau 6.13 prsente les messages ROS et les donnes enregistres durant le test de vol.

Tableau 6.13 Messages ROS et les donnes enregistres durant le vol autonome
Message

Donnes

/fcu/debug_ctrl

Frquence (hz)
25

/ans/position

250

/mcu/trajectory_X

50

/mcu/trajectory_Y

50

/mcu/trajectory_Y

50

Le Tableau 6.14 prsente le scnario de vol entr dans le planificateur de mission. Le lacet
est conserv zro pour lensemble du vol pour permettre de bien voir la correspondance
entre le mouvement dans le plan x-y et la variation des angles dattitude roulis-tangage.

Tableau 6.14 Scnario de vol


Point

X (m)

Y (m)

Z (m)

Lacet (rad)

3.5

16

16

16

3.5

16

3.5

3.5

La Figure 6.21 prsente en trois dimensions la poursuite de la trajectoire par le quadrotor.


Pour plus de clart, laxe z est invers pour tre positif. Lenregistrement dbute ds le
passage en mode autonome. On peut voir qu ce moment le quadrotor perd 1m daltitude

129

pour ensuite aller se stabiliser sa position initiale. Une fois stabilise, la mission est
dmarre.

Figure 6.21 Poursuite de la trajectoire tridimensionnelle par le quadrotor


La Figure 6.22 prsente les poursuites de trajectoire selon les axes x, y et z. On peut voir que
les trajectoires sont recalcules pour tous les axes chaque rception dun nouveau point
envoy par le gestionnaire de mission.

130

Figure 6.22 Poursuite de trajectoires par le quadrotor selon ,

et

La Figure 6.23 prsente la poursuite des trajectoires des vitesses pour les axes x, y et z.

Figure 6.23 Poursuite de trajectoires par le quadrotor selon ,

et

La Figure 6.24 prsente les erreurs de poursuite entre les trois angles dattitude et leur signal
de rfrence provenant du contrleur de position.

131

Figure 6.24 Erreur de poursuite des trajectoires par le quadrotor selon ,

et

Les rsultats suivants dmontrent une bonne poursuite de trajectoire pour les axes x et y.
Nous pouvons tout de mme observer une erreur denviron 1 m selon x. Lorigine de lerreur
provient, selon nous, de deux facteurs : le premier tant les perturbations gnres par le vent
et le deuxime, le fait que le centre de gravit du quadrotor ne concide pas avec le centre
gomtrique de lappareil. Puisque ceci nest pas modlis, cette erreur affecte la
performance du contrleur de position, car la commande virtuelle quil calcule ne correspond
pas la position angulaire finale voulue; il existe alors une erreur en rgime permanent au
niveau de la position. En effet, nous pouvons observer que lerreur de 1m selon laxe x
correspondant une erreur de tangage denviron 0.125

tandis quune erreur

pratiquement nulle selon laxe y correspond une erreur de roulis denviron 0.005

. La

poursuite de trajectoire selon laxe z comporte une erreur plus importante. Plusieurs lments
peuvent expliquer ceci : premirement, le capteur Spatial possde une prcision moins leve
selon le plan vertical que selon le plan horizontal et deuximement, puisque nous
neffectuons pas la correspondance entre les forces/moments et la vitesse des moteurs, il est

132

possible que la pousse totale fournie au processeur LL ne soit pas correctement


normalise61.
6.2.3

Test de vol avec la loi dautonavigation

Cette section prsente les performances du contrleur backstepping lorsquil est employ
avec la loi dautonavigation. Lanalyse du fonctionnement de celle-ci dpasse les cadres de
ce document et ne sera pas prsente ici. Nous avons choisi un scnario de test o la premire
antenne est fixe et la deuxime antenne est en mouvement. Les paramtres pour les
trajectoires de vitesse sont prsents dans le Tableau 6.15. Il est important de noter que le
quadrotor maintient une altitude et un lacet fixe durant lensemble de la mission.

Tableau 6.15 Paramtres des trajectoires


Paramtres

Valeurs

Acclration maximale (x-y)

Jerk maximal (x-y)

0.5

Le Tableau 6.16 prsente les messages ROS enregistrs durant le vol.

Tableau 6.16 Messages ROS et les donnes enregistres


Message

Donnes

Frquence (hz)

/wifi1

RSSI

10

/wifi2

RSSI

10

/ans/position

250

/mcu/trajectory_X

50

61

Toutes les donnes transmises au processeur LL doivent tre normalises pour tre envoyes dans le format
dun nombre entier tant dans lintervalle 0 200 . Dans le cas de la force totale de pousse, celle-ci est
normalise avec la valeur de la force totale pouvant tre gnre par les moteurs, soit 32 en se basant sur
(Wang, Raffler et.al., 2012). Il est possible que cette valeur ne soit pas exacte.

133

50

/mcu/trajectory_Y
/ant1/position

Position LLA

20

/ant2/position

Position LLA

20

La Figure 6.25 prsente la poursuite de trajectoire, gnre par la loi dautonavigation, par le
quadrotor dans le plan x-y. La position optimale est calcule comme tant la position situe
directement au milieu des deux antennes.

Figure 6.25 Poursuite de la trajectoire gnre par la loi dautonavigation


La Figure 6.26 prsente la poursuite de trajectoire selon chacun des axes. Laxe z est
maintenu sa position initiale durant lensemble du vol.

134

Figure 6.26 Poursuite de trajectoires par le quadrotor selon ,

et

La Figure 6.27 prsente les poursuites de vitesse. Le profil de celui-ci est dtermin par les
commandes de vitesses provenant de la loi dautonavigation et des paramtres du Tableau
6.15. Tout comme en simulation, une saturation est aussi ajoute aux commandes de vitesse.
Pour ce test de vol, la vitesse est sature 1 / .

Figure 6.27 Poursuite de trajectoires par le quadrotor selon

et

Comme nous pouvons le constater, le contrleur backstepping propos est efficace dans le
cadre dune application relle. En outre, il permet doprer le quadrotor de faon autonome
tout en le couplant lalgorithme dautonavigation.

CONCLUSION
Nous avons abord, dans ce mmoire, la problmatique du contrle dun hlicoptre quatre
hlices de type quadrotor dans le but deffectuer des missions autonomes. Ce type dappareil
possde une dynamique hautement non linaire, couple et sous-actionne, ce qui augmente
le dfi rencontr par le concepteur.
Lobjectif de ce mmoire tait de concevoir un contrleur non linaire permettant de
contrler quatre degrs de libert de lappareil, soit la position tridimensionnelle et le lacet,
selon des trajectoires prdfinies. Pour ce faire, un modle non linaire du quadrotor a t
mis sur pied en se basant sur les quations de mouvement de Newton. partir de ce modle,
la construction dun contrleur backstepping a t prsente. Puisque la dynamique du
quadrotor est dun ordre lev, lutilisation dun estimateur de drive par mode glissant
dordre 2 est ncessaire pour calculer la drive en fonction du temps de certains contrleurs
virtuels. La stabilit du contrleur backstepping est analyse face aux erreurs destimation
ainsi que face leffet de la dynamique sous-actionne du systme laide de la thorie des
systmes ISS.
Le contrleur a t valid par deux mthodes distinctes : la premire consiste en une
simulation de la dynamique et du contrleur et o plusieurs scnarios de simulation nous ont
permis de valider la conception du contrleur ainsi que danalyser ses performances. La
deuxime mthode consiste en une validation exprimentale du contrleur. Ceci a requis
lutilisation dun quadrotor de type Asctec Pelican dont le capteur de position a t remplac
afin damliorer les performances. Limplmentation dun systme de vol complet a t
ncessaire pour pouvoir dployer lappareil de manire autonome. Plusieurs essais de vol ont
t effectus avec succs, malgr la prsence de perturbations, tel que le vent. Pour finir, le
contrleur a t valid dans une opration relle, alors quil servait de systme de contrle
un algorithme dautonavigation.

RECOMMANDATIONS
Le vol exprimental daronef, particulirement celui dun drone, est toujours une opration
complexe et risque. Dans le cadre de ce mmoire, nous avons russi mettre en place
larchitecture ncessaire pour effectuer les tests de vol de manire scuritaire autant pour les
usagers que pour le prototype, et ceci, principalement, au prix de performance. Maintenant
que le systme a t valid et test, il est envisageable, dans des travaux subsquents,
damliorer les capacits du systme.
Premirement, il est dsormais possible dutiliser le systme original pour effectuer des tests
de vol pour des vitesses et acclrations plus leves. Aussi, une variation plus importante de
laltitude lors des tests dmontrerait plus adquatement la poursuite de trajectoire selon laxe
Z. Une calibration plus exhaustive des gains du contrleur auraient comme effet damliorer
les performances. De plus, de nouvelles fonctionnalits sont envisageables pour le quadrotor
en utilisant les systmes dj en place tel que par exemple : limplmentation dun
algorithme de gnration de trajectoire pouvant grer le dcollage et latterrissage du
contrleur de faon autonome et un algorithme de retour la base automatique.
Il est intressant de noter que le contrleur propos ne tient pas en compte de la configuration
des moteurs. En effet, le modle ne considre que la force et les moments appliqus sur le
point de masse, mais pas les lments qui les gnrent. Il est de notre avis que le contrleur
peut tre utilis pour des appareils possdant la mme dynamique, mais pas la mme
configuration de moteurs, par exemple un hexacoptre ou un hlicoptre classique. Il suffit
au concepteur de modifier la matrice de correspondance force/moment moteur, lquation
(2.35), de manire tenir compte de la nouvelle configuration.
Une modification du contrleur est aussi envisageable. En effet, le backstepping est une
excellente stratgie de contrle qui sapplique bien la dynamique du quadrotor, mais elle
comporte tout de mme certains dfauts. Premirement, elle exige une prcision assez leve
des capteurs, ce qui, dans des applications extrieures, peut parfois laisser dsirer.

138

Deuximement, elle est peu robuste, car elle dpend directement des paramtres du systme
qui peuvent parfois tre difficilement mesurables, comme par exemple linertie.
Troisimement, le modle devrait tre modifi pour tenir en compte de lerreur dalignement
entre le centre de gravit et le centre gomtrique de lappareil. Quatrimement, le
backstepping devient de plus en plus complexe mathmatiquement lorsque lordre du
systme augmente. Pour pallier ces dfauts, nous croyons quune simplification de la
dynamique couple un contrleur backstepping adaptatif pourrait rendre le contrleur plus
robuste. Compte tenu de la prcision du capteur disponible, les trajectoires choisies ne
peuvent tre agressives, de telle sorte que les angles dattitude du quadrotor demeurent peu
levs. Cette hypothse, dj utilise par plusieurs publications, notamment (Bouabdallah,
2007) permet de diminuer la complexit du modle. Ceci nous donnerait la flexibilit
ncessaire pour ajouter facilement un contrleur adaptatif, jumel au contrleur
backstepping, qui pourrait estimer les perturbations du vent ainsi que les erreurs de
modlisation. Lensemble du contrleur devrait ensuite tre analys afin dassurer la stabilit
du systme face aux erreurs de modlisation et destimation.
Nous notons aussi que limplmentation du contrleur sur deux units de calcul diffrentes
apporte une dgradation importante de la performance. Idalement, le contrleur devrait tre
implment sur une seule unit de calcul, en temps rel dur. Lunit de calcul devrait
idalement effectuer lensemble des mesures de tous les capteurs et appliquer directement les
signaux de contrle.
Pour finir, nous notons que la communication Wifi possde une trs faible porte et devrait
tre remplace par dautres formes dondes62 pour effectuer des tests sur de plus grandes
distances tout en permettant de mesurer toutes les donnes de vol.

62

Par exemple, un module de tlcommunication srie via RF tel que les modules hautes performances de la
compagnie Digi International.

139

ANNEXE I
INVERSION DE LA DYNAMIQUE DE TRANSLATION
Nous cherchons inverser la dynamique de translation linaire du quadrotor pour trouver la
valeur des angles dEuler en fonction de lacclration du quadrotor.
En nous basant sur la dynamique de translation du quadrotor, soit la deuxime quation de
(4.3), nous pouvons crire :
0
0

0
0

(A I-1)
La premire ligne de (A I-1) scrit ainsi :
0=

( )

(A I-2)

On peut rorganiser (A I-2) tel que :


+

= tan

(A I-3)

La deuxime ligne de (A I-1) scrit ainsi :


0=

+( )

(A I-4)

On peut rorganiser (A I-4) tel que :


( )=
=

( )+

= tan

( )+

(A I-5)

142

Les quations (A I-3) et (A I-5) nous permettent de constater que pour gnrer de grandes
acclrations, les valeurs de tangage et roulis approchent les valeurs de

qui sont des

points de singularit, tel que dfinis aux sections 2.6 et 4.4.5.


Cette analyse nous permet de constater que certaines trajectoires trs agressives ne peuvent
pas tre accomplies dans un rgime stable dopration.
Une manire de mitiger cette proprit est de choisir des acclrations maximales au niveau
de la trajectoire dsire qui respecteraient un sous-ensemble de la plage thorique dopration
de lappareil. De plus, une saturation des angles de tangage et de roulis peut tre ajoute pour
sassurer que les singularits ne sont jamais atteintes en pratique. Par exemple, une limite de
tangage de implique, approximativement, une acclration de un g, ce qui est suffisant pour
grand nombre dapplications63.

63

On obtient cette approximation en posant une condition de vol altitude constante ( = 0) et un lacet nul
lquation (A I-3).

ANNEXE II
COMPOSITION DE LA MATRICE DE SPARATION (
Notre but est de trouver les lments de la matrice

). Puisque la dmonstration

prend beaucoup despace, celle-ci est effectue pour le premier lment de la matrice
(

). Chacun des premiers lments des matrices est not ()

dans cette annexe.

Reprenons lquation (4.16) :


(

)= ( ) (

(A II-1)

Lquation (A II-1) peut tre rcrite pour le premier lment de chaque matrice ainsi :
(

)=

( )

En notant, partir de (4.15) que

(A II-2)
et partir de (2.6), nous pouvons rcrire (A

II-1) ainsi :
(

) = cos(

) cos

(A II-3)

Par trigonomtrie on peut crire :


cos(
=

) cos

On peut voir que le premier terme de (A II-4) contient le terme

(A II-4)
. crivons (A II-3)

sous la forme (A II-4) en mettant en vidence le premier terme de (A II-4) ainsi que

144

)=

Lanalyse de llment

(A II-5)
(

) peut tre gnralise lensemble de la matrice par la

) nest constitu que de fonctions cosinus et sinus, nous

suite.
Premirement, puisque

pouvons conclure que cet lment est born, et ceci, quelle que soit la valeur des vecteurs
et

Deuximement, si

tend vers zro, alors llment


(

facilement vrifiable en observant chaque terme de


En appliquant sur lensemble des lments de (

).

) tend vers zro. Ceci est

), on peut dduire les deux proprits

suivantes. Il existe une petite constante positive telle que :

) < ,

lim (

0 ,

)=0 ,

(A II-6)

(A II-7)

En appliquant la dcomposition sur lensemble des lments, on obtient les lments de la


matrice (

) :

145

)=

+
+

(A II-8)

)=+

)=

(A II-9)
1 +

(A II-10)

)=

+
+

(A II-11)

146

)=

+
+

)=

)=

(A II-12)

1 +

(A II-13)

)=
+

(A II-14)
1

(A II-15)

ANNEXE III
ANALYSE ISS DU SYSTME EN BOUCLE FERME
Le systme en boucle ferme possde plusieurs perturbations dont les effets doivent tre
tudis pour sassurer que ltat du systme demeure born en tout temps face ceux-ci. De
plus, on doit sassurer que ltat tend vers zro pour atteindre nos objectifs de conception.
Le systme en boucle ferme peut scrire sous la forme matricielle suivante :

1
=
0
0

0
0

Soit le vecteur dtat total


= 0

0
0

( )

0
0
( )

)
(A III-1)

et le vecteur de perturbation
. laide de ceux-ci, nous pouvons rcrire la

fonction candidate de Lyapunov du systme total ainsi :

1
2

1
2

1
2

( )

O les oprateurs

( ) et

grande valeur propre de la matrice

1
2

1
2

1
2

(A III-2)

( )

(A III-3)

( ) retournent respectivement la plus petite et la plus


.

partir du mme principe, nous pouvons rcrire la fonction

ainsi :

148

(A III-4)

)
(

) ,

(A III-5)

(A III-6)
(

) ,

) ,

) . On peut voir que (A III-6) est

de la forme particulire prsente la section 3.3.3. Nous pouvons complter la preuve en


suivant la procdure telle que :

Soit la constante 0 <

(A III-7)

< 1 telle quon peut crire :

(1 )

(A III-8)

Linquation (A III-8) est toujours infrieure ou gale zro si :

+ 0

(A III-9)

Cette condition peut tre rcrite ainsi :


(A III-10)

149

tel que nous pouvons rcrire la drive de la fonction de Lyapunov du systme en boucle
ferme rponds aux conditions de lquation (3.15) tel que :

(1 ) ,

Ceci nous permet de dfinir la fonction classe

, >0

( ) suivante :

( )=

La fonction

(A III-12)

associe au systme ISS peut donc tre crite telle que :

( )=

et

( )
( )

(A III-11)

(A III-13)

sont les fonctions classes

dfinies dans linquation (A III-3).

De plus, compte tenu des proprits ISS du systme et du fait que les erreurs destimation
tendent vers zro en temps fini grce aux proprits de lestimateur les erreurs, nous pouvons
conclure que les tats

lorsque

et

tendent asymptotiquement vers zro. De plus puisque

, alors (

pouvons conclure que ltat

) 0, tel que prsent lANNEXE II, nous

tend galement asymptotiquement vers zro de telle sorte que

lorigine du systme en boucle ferme est globalement asymptotiquement stable.

ANNEXE IV
CONVERSION VITESSE DE MOTEUR ASCTEC SI
La vitesse des moteurs mesure par la carte LL est normalise laide dune quation dont
nous ne connaissons pas les paramtres. Pour connatre la correspondance entre la vitesse
normalise et la vitesse en rad/s, nous avons choisi de faire des mesures exprimentales sur
lensemble de la plage du moteur. Pour ce faire nous avons programm le Pelican pour
contrler directement la vitesse du moteur 1. La Figure A IV-1 prsente le rsultat des
mesures.

800
750
700
650
600

Vitesse (rad/s)

550
500
450
400
350
300
250
200
150
100
50
0
0

10

20

30

40

50

60

70

80

90

100 110 120 130 140 150 160

Commande Asctec (0-200)


Essaie 1

Essaie 2

Essaie 3

Essaie 4

Figure-A IV-1 Mesure de la vitesse de rotation dun moteur par rapport la commande

152

Suite ses mesures, nous avons utilis un algorithme de rgression linaire pour dterminer

Vitesse (rad/s)

lquation de correspondance. La Figure A IV-2 prsente lensemble des rgressions.


800
750
700
650
600
550
500
450
400
350
300
250
200
150
100
50
0
0

10

20

30

40

50

60

70

80

90

100 110 120 130 140 150 160

Commande Asctec (0-200)


4.3253x+87.637

4.0469x+123.12

4.093x+117.85

Moyenne

4.3111x+105.44

Figure-A IV-2 Corrlation linaire entre la vitesse dun moteur et la commande


Nous avons choisi les paramtres de lquation en faisant la moyenne des paramtres obtenus
lors des essais. Lquation finale est la suivante

= 4.194075

+ 108.5118

(A IV-1)

ANNEXE V
CONVERSION POSITION LLA NED
Lorigine du repre NED utilis pour effectuer la conversion de la position LLA NED est
fixe laide du signal /reset_home . Celui-ci est mis par lutilisateur via linterface
rqt_gui. Lors de lactivation de ce signal, la node ANS conserve en mmoire la dernire
position reue du Spatial comme tant lorigine du repre NED local et la publie sur le rseau
ROS laide du message /home_location .
La conversion LLA NED utilise est base sur les quations tires de (Farrel, 2008). Dans
un premier temps, dfinissons les paramtres permettant de modliser la Terre comme
ellipse, soit

le grand axe principal,

laplatissement et

lexcentricit carre dont les

valeurs sont les suivantes :

= 6378137

(A V-1)

= 0.0033528106647474807198455286185206

(A V-2)

=2

(A V-3)

Soit la position de lorigine du repre local en LLA exprim par le triplet (

tant respectivement la latitude, la longitude et laltitude. Nous commenons la convention


en exprimant cette position dans le repre ECEF laide du triplet (

). Le rayon

correspond la valeur du rayon de la Terre lorigine du repre local.

= 1

sin (

(A V-4)

=(

+ ) cos

cos

(A V-5)

=(

+ ) cos

sin

(A V-6)

=(

(1

) + ) sin

(A V-7)

154

Ces calculs sont effectus quune seule fois la rception dun nouveau message
/home_location . Par la suite chaque position LLA reue exprime par le triplet
(

) peut tre transforme dans le repre ECEF en utilisant les mmes quations tel

que :

= 1

sin ( )

(A V-8)

= ( + ) cos

cos

(A V-9)

= ( + ) cos

sin

(A V-10)

= ( (1

) + ) sin

(A V-11)

Nous pouvons ensuite la transformer dans le repre NED local ainsi :

(A V-12)

ANNEXE VI
CALCUL DE TRAJECTOIRE
Le but du calcul de trajectoire est de construire une courbe lisse commenant par une
position initiale

et une vitesse initiale

une vitesse finale dsire

et terminant par la position finale dsire

et

. La trajectoire choisie est de type parabolique divise en trois

parties distinctes, soit une phase dacclration, une phase dacclration nulle et une phase
de dclration telle que dcrite par (Biagiotti et Melchiorri, 2009). Le temps dacclration
est

et le temps de dclration est not

. On suppose que le temps o commence la

trajectoire est toujours gal zro. Le temps total pour effectuer la trajectoire est note par
. De plus, nous posons que la vitesse finale dsire

est nulle pour toutes les trajectoires.

La Figure A VI-1 prsente un exemple de trajectoire o lon a identifi les priodes de temps.

Figure-A VI-1 Profil dune trajectoire typique

156

Nous nous basons sur une trajectoire parabolique o la valeur de lacclration maximale
et la valeur de la vitesse maximale

sont spcifies. partir de

et

nous

64

pouvons dfinir le dplacement accompli par la trajectoire, note .

(A VI-1)

La trajectoire est ralisable seulement si linquation suivante est respecte :

>

(A VI-2)

Si l'inquation (A VI-2) nest pas respecte, alors le dplacement est trop petit, de telle
sorte quaucune trajectoire nest calcule. Si la trajectoire est ralisable, alors il existe deux
cas possibles : soit la trajectoire atteint la vitesse

tel que la trajectoire contient un

segment o lacclration est nulle ou soit la trajectoire natteint pas


intermdiaire note

, tel que

<

, mais une vitesse

. Dans ce cas, la trajectoire ne comporte aucun

segment o lacclration est nulle. Si linquation suivante est vraie, alors la vitesse
est atteinte.

>

(A VI-3)

Dans le cas contraire, la vitesse limite peut tre calcule ainsi :

64

Pour ce qui suit, nous posons que le dplacement est positif, tel que
> . Lensemble des calculs
sapplique galement lorsque est ngatif en effectuant quelques modifications au rsultat final. Ceci est
prsent par la suite.

157

(A VI-4)

Pour les deux cas, nous notons

comme tant la vitesse maximale atteinte par la trajectoire.

Soit le premier cas tel que

. Les paramtres de la trajectoire peuvent tre calculs

ainsi :

(A VI-5)

(A VI-6)

Soit le deuxime cas tel que

(A VI-7)

Les paramtres de la trajectoire peuvent tre calculs

ainsi :

(A VI-8)

Les trajectoires

(A VI-9)

( ),

(A VI-10)
( ) et

( ) peuvent alors tre exprimes comme tant :

158

Phase dacclration

( )=

( )=

( )=

(A VI-11)

Phase dacclration nulle

( )=

<

( )=
( )=0

(A VI-12)

Phase de dclration

<

( )=

( )=

( )=

(A VI-13)

Dans le cas o < 0, il suffit de changer le signe de

( ),

( ) et

( ) dans

les quations prcdentes. On peut donc gnraliser les calculs en multipliant ses valeurs par
()65.

65

() est la fonction signe tel que > 0

() = 1 < 0

() = 1.

ANNEXE VII
COMPARAISON ENTRE LE CAPTEUR INS/GPS SPATIAL ET LE CAPTEUR
INS/GPS ASCTEC
Cette annexe prsente une comparaison entre le capteur INS/GPS Spatial et le capteur
INS/GPS Asctec. Pour ce faire, nous avons choisi deffectuer, pour les deux capteurs, le
mme parcours sur un terrain. Il est important de noter que le terrain choisi constitue un
environnement de type canyon urbain de tel sorte quil nest pas propice une bonne
rception des signaux GPS66. La Figure A VII-1 prsente les mesures des deux capteurs aprs
avoir appliqu la transformation LLA NED telle que dcrite par lANNEXE V.

Figure-A VII-1 Comparaison entre le capteur INS/GPS Spatial et le


capteur INS/GPS Asctec dans le plan x-y

66

Pour les deux essais, les receveurs GPS poursuivaient quatre satellites, ce qui constitue le minimum requis.
Ceci est sans compter la prsence de plusieurs btiments, augmentant les perturbations du signal provenant des
rflexions.

LISTE DE RFRENCES BIBLIOGRAPHIQUES


Arnold. 1978. Mathematical Methods of Classical Mechanics , first edition, number 60 in
Graduate Texts in Mathematics, Springet-Verlag, New York-Heidelberg-Berlin.
Austin Reg. 2010. Unmanned Aircraft Systems : UAVs Design, Development and
Deployment . Aerospace Series. John Wiley & Sons.
Beer, Johnstron. 2005. Mcanique pour ingnieurs, volume 2 dynamique. Chenelire
McGraw-Hill.
Benallegue, A., A. Mokhtari et L. Fridman. 2007. High-order sliding-mode observer for a
quadrotor UAV. In International Journal of Robust and Nonlinear Control, John
Wiley & Sons, Ltd.
Biagiotti Luigi, Melchiorri Claudio. 2009. Trajectory Planning for Automatic Machines
and Robots . Springer.
Bouabdallah, Samir. 2007. Design and control of quadrotors with application to
autonomous flying. Thse de doctorat no 3727, cole Polytechnique Fdrale de
Lausanne. 155p.
Bouabdallah, Samir, Noth Andr, Siegwart Roland. 2004 PID vs LQ Control Techniques
Applied to an Indoor Micro Quadrotor . In IEEE International Conference on
Intelligent Robots and Systems. Sendal, Japan.
Bresciani, Tommaso. 2008. Modelling, Identification and control of a Quadrotor
Helicopter. Mmoire de matrise, Lund University.
Brunelle Charles. 2013. Projet Launch & Forget : Spcification dinstallation . TS.
Brunelle Charles. 2013. Projet Launch & Forget : Architecture logicielle . TS.
Chamseddine Abbas, Charland-Arcand Guillaume, Akhrif Ouassima, Gagn Samuel,
Gagnon Franois, Couillard Denis. Communication Relay for Moving Ground
Units with Unkown Positions . Submitted to the IEEE Transaction on Aerospace and
Electronic Systems, 2014.
Charland-Arcand Guillaume, Akhrif Ouassima, Chamseddine Abbas and Gagnon Franois.
Backstepping Control design applied to a quadrotor aircraft . Submitted to the
ICIUS, 2014.
Craig J. John. 2005. Introduction to Robotics, Mechanics and Control. 3e edition. Pearson
Prentice Hall.

161

Das, A., K. Subbarao et F. Lewis. 2008. Dynamic inversion with zero-dynamics


stabilisation for quadrotor control. In IET Control Theory and Applications (Aug. 7,
2008), p.303-314.
Davila, J. and Fridman, L. and Levant, A. 2005. Secondorder sliding-mode observer for
mechanical systems, IEEE Trans. Automat. Cont., 50, pp. 17851789, 2005.
DeSantis Romano. 2000. Elements of Kinematics With Applications to Problems in
Navigation and Robotics. Note de cours ELE6209, Dpartement de gnie lectrique,
Polytechnique Montral.
DeSantis Romano. 2011. Systmes de navigation arienne. 7e dition. Note de cours
ELE6209, Dpartement de gnie lectrique, Polytechnique Montral.
Dronolab. 2013. Archives et Images . In Dronolab : Aronef autonome | Club tudiant de
lTS. En ligne. < http://dronolab.etsmtl.ca/ >. Consult 15 fvrier 2013.
Farrel., Jay A. 2008 Aided Navigation, GPS with High Rate Sensors . The McGraw-Hill.
Fay, Gary. 2001. Derivation of the Aerodynamic forces for the Mesicopter Simulation.
Filipov, A.F. 1988. Differential Equations with Discontinuous Righthand Sides . In
Mathematics and Its Applications (Sovier Series), Kluwer Academic Publishers.
Gillula, Jeremy H., Haomiao Huang, Michael P. Vitus et Claire J. Tomlin. 2009. Design of
Guaranteed Safe Maneuvers Using Rachable Sets : Autonomous Quadrotor
Aerobatics in Theory and Practice.
Ghommam Jawhar, Guillaume Charland-Arcand and Maarouf Saad. Three-Dimensional
Constrained Tracking Control via Exact Differential Estimator of a Quadrotor
Helicopter . To be published in Asian Journal of Control, AID ASJC951, 2014.
Hamel, Tarek, Rogelio Lozano et James Ostrowski. 2002. Dynamic modelling and
configuration stabilization for an X4-Flyer. In 15th Triennial World Congress,
(Barcelona, IFAC 2002).
Huang, Mu, Bin Xian, Chen Diao, Kaiyan Yang et Yu Feng. 2010. Adaptative Tracking
Control of Underactuated Quadrotor Unmanned Aerial Vehicles via Backstepping.
In American Control Conference ( Baltimore, June 30 July 2 2010), p. 2076-2081.
Jay A. Farrell, Marios Polycarpou, Manu Sharma, and Wenjie Dong , 2008 , Command
Filtered Backstepping, 2008 American Control Conference Westin Seattle Hotel,
Seattle, Washington, USA.

162

Khalil, K. Hassan. 2002. NonLinear Systems : Third Edition . Prentice Hall.


Kim, H. J. and Shim, D. H. 2003. A flight control system for aerial robots: Algorithms and
experiments. Control Engineering Practice, 11(2), 13891400.
Koks Don. 2006. Explorations In Mathematical Physics, The concepts behind and elegant
language. Springer.
Krishnan R. 2010. Permanent Magnet Synchronous and Brushless DC Motor Drives .
CRC Press.
Kroo Ilan, Shantz Michael, Kunz Peter, Fay Gary, Cheng Shelley, Fabian Tibor, Partridge
Chad. 2000. The Mesicopter : A Miniature Rotorcraft Concept : Phase II Interim
Report . Standford University.
Krsti Miroslav, Kanellakoupoulos Ioannis et Kokotovi Petar. 1995. Nonlinear and
Adaptative Control Design . A volume in the Wiley Series on Adaptive and
Learning Systems for Signal Processing, Communications, and Control. John Wiley
& Sons.
La Civita M. and Papageorgiou,G. andMessner,W. C. and Kanade, T.2006. Design and
flight testing of an H controller for a robotic helicopter. Journal of Guidance,
Control, and Dynamics, 29(2), 485494.
Lavoie Philippe. 2012. Systme de navigation hybride GPS/INS faible cot pour la
navigation robuste en environnement urbain. cole de technologie suprieure.
Leishman J. Gordon. 2006. Principles of Helicopter Aerodynamics. Second editions,
number 12 in Cambridge Aerospace Series, Cambridge Press.
Levant Arie. 1998. Robust Exact Differentiation via Sliding Mode Technique .
Automatica Vol.34, No.3. Elsevier Science.
Li Zhou, Qing, Youmin Zhang, Camille-Alain Rabbath et Didier Theilliol. 2010. Design of
Feedback Linearization Control and Reconfigurable Control Allocation with
Application to a Quadrotor UAV. In Conference on Control and Fault Tolerant
Systems (Nice, Oct. 6-8 2010), p.371-376.
Lyapunov Aleksandr. 1992. The General Problem of the Stability of Motion . Taylor &
Francis.
Madani, Tarek et Abdelaziz Benallegue. 2006.Backstepping Control for a Quadrotor
Helicopter. In Proc. (IEEE/RSJ) International Conference on Intelligent Robots and
Systems (Beijing, Oct. 9-15 2006), p.3255-3260.

163

Madani, Tarek et Abdelaziz Benallegue. 2007. Backstepping Control with Exact 2 Sliding
Mode Estimation for a Quadrotor Unmanned Aerial Vehicle. In Proc. (IEEE/RSJ)
International Conference on Intelligence Robots and System (San Diego, Oct. 29
Nov. 2 2007), p.141-146.
Madani, Tarek et Abdelaziz Benallegue. 2006. Control of a Quadrotor Mini-Helicopter via
Full State Backstepping Technique. In Proc. (IEEE) 45th Conference on Decision &
Control (San Diego, Dec. 13-15 2006), p.1515-1520.
Madani, Tarek et Abdelaziz Benallegue. 2007. Sliding mode observer and backstepping
Control for a Quadrotor Unamanned Aerial Vehicles. In Proc. American Control
Conference (New York, July 11-13 2007), p.5887-5892.
Marcelo De Lellis Costa de Oliveira. 2011. Modeling, Identification and Control of a
Quadrotor Aircraft. Mmoire de matrise, Prague, Czech Technical University, 75 p.
Markus Achtelik, Abraham Bachrach, Ruijie He, Samuel Prentice, Nicholas Roy. 2009.
Autonomous Navigation and Exploration of a Quadrotor Helicopter in GPS-denied
Indoor Environments . First Symposium on Indoor Flight Issues. International Aerial
Robotics Competition.
Mellinger, Daniel et Vijay Kumar. Minimum Snap Trajectory Generation and Control for
Quadrotors. In Proc. (IEEE) International conference on Robotics and Automation
(ICRA 2011) (May 9-13 2011).
Murray M. Richard, Li Zexiang et Sastry S. Shankar. 1994. A Mathematical Introduction to
Robotic Manipulation. CRC Press.
M.Hoffmann, Gabriel, Haomiao Huang, Steven L. Waslander et Claire J. Tomlin. 2007.
Quadrotor Helicopter Flight Dynamics and Control: Theory and Experiment. In
AIAA Guidance, Navigation and Control Conference and Exhibit (South Carolina,
Aug. 20-23 2007): American Institute of Aeronautics and Astronautics.
M.Hoffmann, Gabriel, Haomiao Huang, Steven L. Waslander et Claire J. Tomlin. 2009.
Aerodynamics and Control of Autonomous Quadrotor Helicopters in Aggressive
Maneuvering. In Proc. (IEEE) International conference on Robotics and Automation
(ICRA09) (May 12-17 2009), p. 3277-3282: IEEE Press Piscataway.
M.Hoffmann, Gabriel, Steven L. Waslander et Claire J. Tomlin. 2004. Quadrotor Helicopter
Trajectory Tracking Control. American Institute of Aeronautics and Astronautics.
Newcome R. Laurence. 2004. Unmanned Aviation : A Brief History of Unmanned Aerial
Vehicles . AIAA Technology & Engineering.

164

Orsag Matko, Popopat Marina et Bogdan Stjepan. 2010. Hybrid fly-by-wire quadrotor
controller . IEEE International Symposium on Industrial Electronics.
Pounds, P., R. Mahony et P. Corke. 2010. Modelling and control of a large quadrotor
robot. In Control Engineering Practice, p.691-699.
Pounds, P., R. Mahony, P. Hynes et J. Roberts. 2002. Design of a Four-Rotor Aerial
Robot. In Proc. Australian Conference on Robotics and Automation (Auckland, 2719 Nov. 2002), p.145-150.
Raptis A. Ioannis, Valavanis Kimon P. 2011. Linear and Nonlinear Control of Small-Scale
Unamanned Helicopters. Springer.
Sadeghzadeh Iman, Mehta Ankit, Chamseddine Abbas et Zhang Youmin. 2012. Active
Fault Tolerant Control of a Quadrotor UAV Based On Gain-Scheduled PID
Control .
Sharifi, Farid, Mostafa Mirzaei, Brandon W. Gordon et Youmin Zhang. 2010. Fault
Tolerant Control of a Quadrotor UAV using Sliding Mode Control. In Conference
on Control and Fault Tolerant Systems (Oct. 6-8 2010), p.239-244.
Shin J. and Fujiwara and D., Nonami, K., and Hazawa, K. 2005. Model based optimal
attitude and positioning control of small scale unmanned helicopter. Robotica, 23,
51-63.
Spong W. Mark, Hutchinson Seth et Vidyasagar M. 2006. Robot Modeling and Control.
First Edition. John Wiley & Sons.
Valavanis P. Kimon. 2007. Advances in Unmanned Aerial Vehicles : State of the Art and
the Road to Autonomy . International Series on Intelligent Systems, Control, and
Automation : Science and Engineering. University of South Florida, Springer.
Wang Jian, Raffler Thomas, Holzapfel Florian. 2012. Nonlinear Position Control
Approaches for Quadcopters Using a Novel State Representation . In AIAA
Guidance, Navigation and Control Conference, Minneapolis, Minnesota.
Waslander, L. Steven, Gabriel M. Hoffmann, Jung Soon Jang et Claire J. Tomlin. 2005.
Multi-Agent Quadrotor Testbed Control Design : Integral Sliding Mode vs
Reinforcement Learning.

165

Wikipedia. 2014. List of unmanned aerial vehicles. In Wikipedia. En ligne.


<http://en.wikipedia.org/wiki/List_of_unmanned_aerial_vehicles>. Consult le 14
fvrier 2013.
Xu, Rong et Umit Ozguner. 2006. Sliding Mode Control of a Quadrotor Helicopter. In
Proc. (IEEE) 45th Conference on Decision & Control (San Diego, Dec. 13-15 2006),
p.4957-7962.

Você também pode gostar