Escolar Documentos
Profissional Documentos
Cultura Documentos
UNIVERSIT DU QUBEC
MMOIRE PRSENT
LCOLE DE TECHNOLOGIE SUPRIEURE
PAR
Guillaume CHARLAND-ARCAND
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 :
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.
Mots cls : Contrle non linaire, stabilit de Lyapunov, backstepping, mode glissant dordre
2, stabilit entres tats, quadrotor, drone
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
XIII
5.4
5.5
5.6
5.7
..................................................................................................................135
RECOMMANDATIONS ......................................................................................................137
LISTE DE RFRENCES BIBLIOGRAPHIQUES.............................................................160
..................................................................................................................127
XVIII
et
........................................111
et
................................110
et
........................................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
et
......................................118
.......................................118
et .......................................119
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
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
et ...................................130
et ...................................130
et
................131
et ...................................134
et .......................................134
TS
LACIME
CRSNG
MEMS
NASA
GRAPS
UNA
DGPS
ETH
MAST
NED
ISS
ROS
OBC
On-Board Computer
Asctec
Ascending Technologies
MMR
Multi-Mission Radio
Processeur HL
Processeur haut-niveau
Processeur LL
Processeur bas-niveau
GPS
DGPS
RTCM
XXII
FCU
MCU
ANS
NL
NAV
FM
NA
LIPO
Lithium-Polymre
MIT
MIMO
IMU
LTS
RC
Remote Control
ECEF
SPI
INS
LLA
TCP
IP
Internet Protocol
RSSI
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 ( )
( )
( )
( )
( )
XXIV
( )
( )
( ) ,
( ),
Tangage (
Lacet (
)
)
Masse du quadrotor (
Acclration gravitationnelle ( )
XXV
( )
( )
( )
( )
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 (
)
)
XXVI
()
()
()
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.
Dsavantages
Dcollage/Atterrissage vertical
Naturellement instable
Vol stationnaire
Dynamique couple
Simple mcaniquement
Systme sous-actionn
Agile
Petite taille
Une multitude de tches peuvent tre envisageables pour un appareil ayant les
caractristiques prcdentes, telles que :
opration de dminage;
arpentage;
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.
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.
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 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)
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)
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
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
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
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,
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
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
Contrle gomtrique
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
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
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
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
2.2
pointe
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
et
=
.
23
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
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
(2.1)
(2.2)
La rotation inverse est obtenue partir de linverse de la matrice de rotation, telle que :
(2.3)
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
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).
()
= cos(),
()
= sin() et
= tan().
1
( )= 0
0
( )=
0
1
0
( )=
0
0
0
0
1
(2.4)
pouvant
11
( )
( )
( )
(2.5)
26
( , , )=
(2.6)
, sont appels les angles dEuler et
. Ce triplet est utile, car ils ont un sens physique. En effet, ils
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
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)
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
, ,
( ) =
( ) 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,
2.6
( )
(2.8)
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
(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
= (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
29
(2.11)
( )
(2.12)
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
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)
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
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).
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
cos
. Lorientation de laxe
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
, 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
totale gnre par lhlice (Fay, 2001; Bouabdallah, 2007; Pound et al., 2004) :
( )
(2.22)
aronautiques,
vitesse de lhlice et
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
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.
une
35
( )
(2.24)
=
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
Prcession gyroscopique
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 :
(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
O
2.9
(2.27)
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
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
Le vent applique une force extrieure sur le quadrotor qui peut influencer la dynamique du
quadrotor.
2.10
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.
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
O,
= 0
= ( + + + )
(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
)(1)
0
(2.31)
= + +
(2.32)
( )
=
= ( ) +
= ( )
=
2.12
(2.33)
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)
. Il est
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
( ) + ( , ) + ( , )+ ( )=
tandis que lon sintresse, en gnral, contrler la position. Ceci augmente la difficult, car
il faut alors contrler le systme via deux intgrateurs.
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
(3.1)
= ( ,
) = (0, 1)
Premire tape
(3.2)
virtuelle de
est la commande
1
2
(3.3)
46
(3.4)
Cependant, comme
pas directement forcer
. Nanmoins, le concepteur
, soit
Deuxime tape
et sa
(3.5)
(3.6)
+ )(
)(
1
2
(3.7)
47
+
2
(
)(
)(
(3.8)
= 2
)(
+(
(3.9)
Nous obtenons :
(3.10)
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
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
Systmes Strict-feedback
=
=
,,
)
(3.12)
=
=
O
( )+ ( )
( , )+ ( ,
( , ,,
)+
( , ,, ) + ( ,
( ,
,,
,,
)
,,
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
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,
,,
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
pour forcer
pour la fonction
( ,
). Typiquement, la
,,
,,
= ( ,
,,
,,
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
( ,
,,
50
3.3
( ) ( ( ),
)+
et
( ) ,
>
(3.14)
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.
51
3.3.1
Condition suffisante
peut tre nonce sous la forme dun thorme utilisant les concepts de stabilit de
Lyapunov,
Soit ( , ) la candidate de Lyapunov du systme telle que :
( ) ( , )
+
( )
( , , ) ( ),
fonctions classes
(3.15)
( ) > 0 , > 0
et
et
sont des
positive. Si une telle fonction de Lyapunov existe pour le systme, alors lorigine de celui-ci
est ISS et la fonction
18
2002) :
(3.16)
< ( ) , > ( )
et
| <
17
52
que toutes les trajectoires dont les conditions initiales appartiennent lensemble
asymptotiquement stables tandis que celles appartenant lensemble
sont
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
, 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
(3.18)
1
2
(3.19)
=
=
Soit loprateur
=
(3.20)
(3.21)
(1 )
(3.22)
54
+ 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
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
| | sign( )
= sign( )
O
(3.25)
est lestimation de cette variable,
Lerreur destimation
signal dont on cherche la drive en fonction du temps est Lipschitz et si les conditions
suivantes sont respectes (Levant, 1998)
>
4
(3.26)
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
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
( )
=
= ( ) +
= ( )
=
(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 .
58
(4.2)
=
:
:
=
=
(4.3)
reprsente la
et donc, du mme
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
59
=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
.
Description des tapes de conception du contrleur
21
60
en plus de la valeur du contrle virtuel pour les angles dattitude, nots dans ce qui suit
22
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
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
22
61
4.4
Sous-systme 1
4.4.1
(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)
4.4.2
(4.7)
dfinie ngative
(4.8)
et la
62
(4.9)
(4.10)
(4.11)
du systme dfini par la dynamique
(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)
+
+
+
pour forcer
(4.14)
63
(4.15)
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.
)= ( ) (
(4.16)
Lquation (4.16) est de la mme forme que les autres quations derreur, par exemple (4.15),
o
et o
)
(4.17)
pour contraindre
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
4.4.3
(4.19)
Le terme
(4.20)
contient des termes non mesurables. Cependant, nous pouvons constater que le systme est
ISS par rapport la perturbation
dune forme particulire, telle que dfinie la section 3.3.3, identifie comme tant un
65
et
) < ,
0,
(4.21)
(
) ne dpend que du
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
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
).
(4.23)
(4.24)
(4.25)
=
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)
26
(4.30)
, on multiplie chaque ct de lquation
26.
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)
contrle.
4.4.5
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
car :
69
Deuximement, le terme
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
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
4.5.1
(4.34)
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 =
( )
(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
est form de deux commandes virtuelles dont les drives devront tre
estimes, la valeur de
erreurs destimation sont notes (). En se basant sur les quations (3.25), on peut crire
lestimateur ainsi :
=
O lindice
sign(
| sign(
(4.40)
=
0
(4.41)
72
(4.42)
= ( )
(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
Nous pouvons dfinir lerreur entre la vitesse angulaire et sa commande virtuelle ainsi que sa
drive par rapport au temps :
28
(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
V =V +
1
2
(4.49)
+
( )
=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
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)
(4.53)
= ( )
(4.54)
est une matrice dfinie positive choisie par le concepteur tel quon peut aussi rcrire
(4.50) :
V =
= ( )
= ( )
(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
Rsum du contrleur
Puisque la dmarche du contrleur est longue, nous allons rsumer dans cette section
lessentiel de la dmarche.
4.6.1
et
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
(4.58)
76
(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
Signaux de contrles
Tous les signaux ncessaires au contrle sont rsums ici. Les erreurs sont calcules ainsi :
=
(4.60)
=
= ( )
= sin
= tan
=
)+
+
(4.61)
77
=
= ( )
(4.62)
indique le contrleur virtuel associ
lestimateur sont :
=
=
sign(
| sign(
(4.63)
et
( ,
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
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.
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
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
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 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
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
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
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
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
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
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
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
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 .
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
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
90
et de la
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
et
la valeur
Contrleur dattitude
37
91
, 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.
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)
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
93
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
40
94
les
coefficients
dfinissant
chaque
phase
de
la
trajectoire,
le
temps
41
95
5.5.1
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
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
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
97
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
Frquence (hz)
5
Description
Donnes de la centrale inertielle (position et
vitesse angulaire)
/fcu/status
250
/fcu/rc_data
Donnes de la tlcommande
/fcu/debug
/fcu/mag
/fcu/u_commands
/fcu/ctrl_debug_roll
/fcu/ctrl_debug_pitch
/fcu/ctrl_debug_yaw
/fcu/yaw_feedback
250
Le module FCU ne reoit quun seul message soit le message /mcu/control publi par la
node MCU.
5.6.2
99
Frquence (Hz)
Description
ans_state
250
ans_satellite
ans_raw_data
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
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
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
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
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
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
106
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
107
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.
Symbole
Valeur
Masse
1.36
0.024
0.024
0.032
Coefficient de pousse
0.00001912444476702
Coefficient de train
0.00000184
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
Valeur
: Gain position
(2 2 2)
: Gain vitesse
(1 1
(7 7 2)
(5 5 1.8)
0.35)
5
70
6.1.2
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
109
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.
Valeur
(0)
0.5
(0)
0.5
(0)
0.5
(0)
(0)
(0)
110
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.
et
La Figure 6.5 prsente le rsultat de la poursuite des trajectoires pour les quatre degrs de
libert asservis par le contrleur backstepping.
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.
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
114
Scnario 2 : Autonavigation
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.
Valeurs
: Gain
: constante de temps
0.2
850
Saturation
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
Valeur
(0)
(0)
(0)
10
(0)
(0)
(0)
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
et
118
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.
119
et
La Figure 6.14 prsente la variation des positions angulaires dsires ainsi que la poursuite
effectue par le contrleur.
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.
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
122
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
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
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.
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
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.
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
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
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.
X (m)
Y (m)
Z (m)
Lacet (rad)
3.5
16
16
16
3.5
16
3.5
3.5
129
pour ensuite aller se stabiliser sa position initiale. Une fois stabilise, la mission est
dmarre.
130
et
La Figure 6.23 prsente la poursuite des trajectoires des vitesses pour les axes x, y et z.
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
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
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
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.
Valeurs
0.5
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.
134
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 / .
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)
= tan
(A I-3)
+( )
(A I-4)
( )+
= 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
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
(
)= ( ) (
(A II-1)
Lquation (A II-1) peut tre rcrite pour le premier lment de chaque matrice ainsi :
(
)=
( )
(A II-2)
et partir de (2.6), nous pouvons rcrire (A
II-1) ainsi :
(
) = cos(
) cos
(A II-3)
) cos
(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)
(
suite.
Premirement, puisque
pouvons conclure que cet lment est born, et ceci, quelle que soit la valeur des vecteurs
et
Deuximement, si
).
) < ,
lim (
0 ,
)=0 ,
(A II-6)
(A II-7)
) :
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
0
0
( )
0
0
( )
)
(A III-1)
et le vecteur de perturbation
. laide de ceux-ci, nous pouvons rcrire la
1
2
1
2
1
2
( )
O les oprateurs
( ) et
1
2
1
2
1
2
(A III-2)
( )
(A III-3)
ainsi :
148
(A III-4)
)
(
) ,
(A III-5)
(A III-6)
(
) ,
) ,
(A III-7)
(1 )
(A III-8)
+ 0
(A III-9)
(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 ) ,
, >0
( ) suivante :
( )=
La fonction
(A III-12)
( )=
et
( )
( )
(A III-11)
(A III-13)
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
, alors (
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
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)
10
20
30
40
50
60
70
80
90
4.0469x+123.12
4.093x+117.85
Moyenne
4.3111x+105.44
= 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
laplatissement et
= 6378137
(A V-1)
= 0.0033528106647474807198455286185206
(A V-2)
=2
(A V-3)
). Le rayon
= 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)
(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
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
trajectoire est toujours gal zro. Le temps total pour effectuer la trajectoire est note par
. De plus, nous posons que la vitesse finale dsire
La Figure A VI-1 prsente un exemple de trajectoire o lon a identifi les priodes de temps.
156
Nous nous basons sur une trajectoire parabolique o la valeur de lacclration maximale
et la valeur de la vitesse maximale
et
nous
64
(A VI-1)
>
(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
<
segment o lacclration est nulle. Si linquation suivante est vraie, alors la vitesse
est atteinte.
>
(A VI-3)
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)
ainsi :
(A VI-5)
(A VI-6)
(A VI-7)
ainsi :
(A VI-8)
Les trajectoires
(A VI-9)
( ),
(A VI-10)
( ) et
158
Phase dacclration
( )=
( )=
( )=
(A VI-11)
( )=
<
( )=
( )=0
(A VI-12)
Phase de dclration
<
( )=
( )=
( )=
(A VI-13)
( ),
( ) et
( ) dans
les quations prcdentes. On peut donc gnraliser les calculs en multipliant ses valeurs par
()65.
65
() = 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.
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.
161
162
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