Thèse Yacef
Thèse Yacef
N° d’ordre :...........
Série :.......
Université Mohammed Seddik
BENYAHIA - Jijel
Faculté des Sciences et de la Technologie
Département : Electronique
Thèse Présentée
Pour l’obtention du Diplôme de Doctorat en Sciences
Spécialité : Electronique
Par : YACEF Fouad
Thème
jÊÓ
ÕºjJË@ áÓ ÈA® JKB@ Ég. @ áÓ èYJkð éQ ¯ ÑjmÌ '@ èQªË@ PAJ£ àðYK H@
. . QKA¢Ë@ Q¯ñK
éKPA®Ö Ï AK. øQk@ AK @QÓ úΫ H@ QKA¢Ë@ è Yë Q¯ñJK AÒ» úÎÒªË@ J J.¢JË@ úÍ@ ø Q¢JË@ ù¢k QªË@
à Pð Ñm.k úÍ@ é¯ABAK. é»Qm Ì '@ ú¯ éKðQÖÏ @ , éK CË@ ÉJÓPAJ¢ H@
. . QKA¢Ë@ áÓ AîECJ JÓ ©Ó
ð QK ñJË@ IjJ . Ë@ éJ . ¯@ QÖÏ @ ÉJÓ HAÒêÖ
ß. ÐAJ®Ë@ AîDºÖß H@ QKA¢Ë@ èYë à@ úÍ@ é¯ABAK. áK Qª
.hAj.JK. HBñÒm Ì '@ É® K
H@ QKA¢Ë éJ . ËAK. éJ kAJ®Ó é®K Q£ Q.JªK é¯A¢Ë@ IJ k áÓ éK XAJ¯B@ HPAÖ
Ï @ ZA @ à@
ák@ AK @QÓ é¢ÓAªË@ éJ Öß CJË@ ÕºjJË@ éÒ ¢@ Q¯ñK .Q»@ à@Q£ èYÓ áÒ AîEB PAJ£ àðYK
. .
é®K Q£ H@X@Y«@
ÉK YªK úΫ AîEPY¯ É®K. éJk. PAmÌ '@ H@
QKñÖÏ @ Y éÓðA®ÖÏ @ úÍ@ é¯ABAK.
¢@ ÉJÊm' ð ZA @ ø Q¢JË@ ¡ÓAªË@ ùÖß CJË@ ÕºjJË@ ÈAm× ú¯ é®ÒªÓ
éÒ HAm '. @ IÓA ¯ .ÕºjJË@
.
. èQ® JÓ éJ Öß CK
PAJ£ àðYK. èQKA¢Ë@ ú¯ éËñÒjÖ éK XðYjÖß. é®Êª
Ï @ é¯A¢Ë@ JÓ ÉKAÓ èY« èQ»YÖÏ @ èYë ¯A JK
AJÔ¯ . éÒ ¢B@ èYë úΫ 颻AªË@ éJ Öß CJË@ ÕºjJË@ Q£ J J¢ úÍ@ é¯A£BAK HA¿Qm
. . × ©K. P@ H@ X
. é¯A¢Ë@
XAJ¯@ éJ KA¾Ó@ PAê£@ Ég @ áÓ h XñÒJË@ @Yë úΫ K YJË@ ð ø ñ¯A£
. .
h XñÖß h@Q¯AK
.
.
ð X@ ÈAÒªJAK. ø XAJ¯@ Õºm' ɾÓ
úÍ@ éÊK ñjJK. AJÔ¯ é¯A¢Ë@ XAJ¯@ ɾÓ
úÍ@ éJ.ËAK.
H@
IJ k áÓ éK XAJ¯B@ H@ P AÖÏ @ ð ÕºjJË@ Ég@YÓ H. Ak Ég. @ áÓ éÊg Õç' QgB@ @Yë , éJ Ô¯P
AJÓ É¾Ó
ÉJÒJK .P AÖÏ @ éªK . ém .Ì 'AªÓ Ég. @ áÓ é¢ÓA« éJ Öß CK Õºm' Q£ h @Q¯@ Õç' . é¯A¢Ë@
.
Ì '@ ¡kCÓ úΫ XAÒJ«BAK. àñºÓ Qå AJ.Ó ¡ÓA« ùÖß CK Õºm' àñKA¯ ú¯ úÍB@ é®K Q¢Ë@
AÓ@ . HBAm
AÒ» . H@ QKñÖÏ @ ¡kCÓ úΫ YÒJªK ø ñ¯ ¡ÓA« ùÖß CK Õºm' ¡¢m× ú¯ ÉJÒJJ¯ éJ KAJË@ é®K Q¢Ë@
ék
¯ð
.AîEñ Q®Ö Ï @ ÕºjJË@ Q£
P@Q® J@ é@ P YË ¬ñKñK AJË éK Q¢ AJÊÒªJ@
.
Résumé
Les drones miniatures à voilure tournante (UAVs) offrent une opportunité unique pour
la transition des contrôleurs non linéaires de la théorie à la pratique. Les drones minia-
tures offrent également plusieurs avantages par rapport à leurs homologues avec pilotes,
notamment une extrême persistance, une maniabilité, un poids réduit et une taille ré-
duite. En outre, plusieurs missions telles que la surveillance, l’exploration, la recherche,
la photographie, et le transport de charges sont mieux accomplies par les UAV.
La génération de trajectoires optimales avec un minimum d’énergie est une technique
clé pour les drones miniatures à voilure tournante, car elle assure une plus grande en-
durance. Les systèmes de commande adaptative floue offrent des performances améliorées
et une robustesse accrue vis-à-vis les incertitudes et les perturbations grâce à leur ca-
pacité d’ajuster les paramètres de la commande en fonction des mesures en ligne. Des
recherches approfondies dans le domaine de la théorie de la commande adaptative floue
ont permis la conception, l’analyse et la synthèse des systèmes adaptatifs flous stables.
Cette thèse aborde certains défis liés à la limitation de l’énergie embarquée pour les
UAVs précisément le Quadrotor et à l’application de la commande adaptative floue à ces
véhicules. Un modèle énergétique a été introduit et validé par simulation pour montrer
la possibilité d’économiser de l’énergie. Le problème de l’optimisation énergétique est
transformé en un problème de commande optimale; en utilisant des outils numériques,
ce problème a été résolu afin de calculer les entrées de commande et les trajectoires
optimales en terme d’énergie. Des architectures de commande adaptative floue sont
développées pour surmonter le problème de suivi de trajectoire du Quadrotor, et atténuer
les perturbations externes. La première approche est une commande adaptative floue
directe développée à base d’un observateur d’état pour le suivi de trajectoire du Quadro-
tor. Le second schéma de commande est un contrôleur adaptatif flou robuste basé sur
un observateur de perturbation. L’analyse de stabilité des approches de commande pro-
posées est effectuée en utilisant la théorie de Lyapunov. Les approches de commande
proposées sont validées numériquement à l’aide d’une série de simulation afin de mettre
en évidence leurs performances.
Mots-clé:
Quadrotor, Génération de trajectoire, Optimisation d’énergie, Commande adaptative
floue, Observateur d’état, Stabilité de Lyapunov.
iv
Abstract
Rotary Wings Unmanned aerial vehicles (UAVs) provide a unique opportunity for the
transition of nonlinear controllers from theory to practice. The small, unmanned aerial
vehicles (UAVs) examined in this thesis offer a low cost, low risk solution to applica-
tions in which safety is a critical concern. Unmanned aircraft also offer several benefits
over their manned counterparts including extreme persistence, maneuverability, lower
weight and smaller size. Furthermore, several missions such as surveillance, exploration,
search-and-track, and lifting of heavy loads are best accomplished by UAVs.
Optimal trajectory generation with minimum energy for UAVs is considered to be
one of the key enabling techniques for future high-performance, since it’s ensure more
endurance for UAVs. Adaptive fuzzy control systems offer improved performance and in-
creased robustness to uncertainties by virtue of their ability to adjust control parameters
as a function of online measurements. Extensive research in the field of adaptive fuzzy
control theory has enabled the design, analysis, and synthesis of stable adaptive systems.
We are now entering the stage in which adaptive fuzzy control for flight systems have
reached the requisite level of maturity for application to hardware flight platforms.
This thesis addresses some of the challenges involved with the limitation of embedded
energy for UAVs and the application of adaptive fuzzy control systems to UAVs. An
energetic model was introduced and validated through simulation to show possibility
of saving energy. The problem of energy optimization is transformed to an optimal
control problem; using numerical tools, this problem was solved in order to compute
minimum-energy control inputs and trajectories. Adaptive fuzzy control architectures
are developed to overcome trajectory tracking performance limitation of quadrotor, the
most significant of which is externals disturbances. The first approach is a direct adaptive
fuzzy controller developed based on state observer for trajectory tracking of quadrotor.
The second control scheme is a robust adaptive fuzzy controller based on a disturbance
observer. Stability analysis of the proposed control approaches are performed by using
the Lyapunov theory. The proposed control approaches are validated numerically using
a series of simulation studies in order to highlight their performances.
Keywords:
Quadrotor, Trajectory generation, Energy Optimisation, Adaptive fuzzy control, State
observer, Lyapunov stability.
v
Dédicaces
A mes parents
Remerciements
Le travail présenté dans cette thèse a été réalisé conjointement au Laboratoire de Méca-
tronique de l’Université de Jijel, au Centre de développement de technologies avancées
(CDTA) et à l’École supérieure des techniques aéronautiques et de construction automo-
bile (ESTACA) en France.
Ce sujet de recherche a été proposé et dirigé par Monsieur Mustapha HAMER-
LAIN, en tant que directeur de thèse, directeur de recherche au centre de développe-
ment de technologies avancées (CDTA) et Monsieur Omar BOUHALI, le co-directeur,
professeur à l’Université de Jijel. Qu’ils trouvent ici l’expression de ma sincère gratitude
pour la confiance qu’ils m’ont accordée en me proposant ce sujet. Cette thèse n’aurait
pas été achevée sans l’aide et précieux conseils de mes deux encadrants. Ils m’ont tou-
jours encouragé et soutenu durant toutes ces années de préparation de cette thèse. Leurs
nombreux conseils, orientations, engagements, et leurs disponibilités m’ont permis d’ac-
quérir des connaissances complémentaires.
Je suis très reconnaissant à Monsieur Nassim RIZOUG, enseignant chercheur à
l’École supérieure des techniques aéronautiques et de construction automobile (France),
pour m’avoir accueilli au sein du laboratoire ESTACA’LAB pendant un séjour de 18 mois.
Ses conseils judicieux et bienveillants ainsi que les nombreuses discussions scientifiques
fructueuses que nous avons pu avoir étaient très bénéfiques pour ce travail. Je tiens à
lui exprimer toute mon amitié et ma profonde gratitude.
Je remercie chaleureusement les membres de Jury qui m’ont fait l’honneur d’éval-
uer ce modeste travail de thèse. Je remercie chaleureusement Mr Abdelkrim BOUK-
ABOU, Professeur à l’Université de Jijel de m’avoir fait l’honneur de présider ma sou-
tenance. Mes vives remerciements vont également à Mr Mahmoud BELHOCINE, Di-
recteur de recherche au centre de développement des technologies avancées (CDTA),
à Mr Mohamed GUIATNI, Maître de conférence habilité à l’École militaire polytech-
nique d’avoir accepté d’agrémenter ce travail avec leurs remarques et conseils. Mes
chaleureux remerciements s’adressent aussi à Mr Ahsene BOUBAKIR, Maître de con-
férence habilité à l’Université de Jijel d’avoir ornementé cette soutenance par sa présence.
Ce projet a été soutenu financièrement par la Direction Générale de la Recherche
Scientifique et du Développement Technologique de l’Algérie (CNEPRU J0201720130005)
et le Centre de développement des Technologies Avancées (CDTA).
Fouad Yacef
Table des matières
Résumé iii
Abstract iv
Dédicaces v
Remerciements vi
Introduction générale 1
Bibliographie 149
Liste des figures
Nomenclatures
I Matrice d’inertie
m Masse de Quadrotor
Fext Forces extérieurs
Text Moments extérieurs
Fgrav Force de poids
Fi Force de poussée
Qi Traînée de l’hélice
ωi Vitesse des moteurs
Tgyro Moment gyroscopique
CT Coefficient de portance
CQ Coefficient de traînée
Ir Inertie du moteur
Faero Force aérodynamique
Troul Moment de roulis
Ttang Moment de tangage
Tlac Moment de lacet
Taero Moment aérodynamique
σu , σv , σw Intensités de turbulence
Lu , Lv , Lw Longueurs longitudinales de turbulence
v Vitesse du véhicule relative par rapport au courant d’air
vm Tension du moteur
i Courant du moteur
R Résistance interne du moteur
L Inductance du moteur
kv Constante de tension du moteur
τ Couple moteur
kT Constante de couple
Qf Couple de frottement de charge
Dv Coefficient d’amortissement visqueux du moteur
Ubat Tension aux bornes de la batterie
Em Tension en circuit ouvert
E0 Tension en circuit ouvert à pleine charge
Rint Résistance interne
Q Capacité de la cellule en Ah
Introduction générale
Introduction générale 2
Les drones miniatures à voilure tournante ont le potentiel de changer le mode de vie
de manière positive. Ils peuvent se déplacer dans l’espace (en trois dimensions) pour
collecter des informations avec des capteurs embarqués et même interagir physique-
ment avec leur environnement en utilisant des pinces embarquées. Les drones à voil-
ures tournantes sont actuellement utilisés pour de nombreuses tâches que les drones
miniatures pourraient effectuer, comme la surveillance de la circulation, la culture et la
météo; l’inspection des bâtiments, des ponts et des lignes électriques; activités générales
de surveillance; ainsi que des applications de photographie aérienne et de vidéographie.
Les véhicules aériens à voilure tournante n’ont pas besoin d’un pilote à bord, ce qui
signifie qu’ils peuvent être plus petits, plus sécurisés et moins chers.
La taille petite de ces véhicules leur permet de fonctionner à l’intérieur, à l’extérieur
et dans des espaces restreints. Cette capacité sera particulièrement utile dans des situa-
tions dangereuses telles que la recherche de survivants dans des bâtiments endommagés,
pénétration et inspection de bâtiments avec des adversaires armés et la collecte d’infor-
mations dans des bâtiments contaminés par des substances biologiques ou nucléaires.
Dans ces scénarios, la capacité de créer une conscience situationnelle sans jamais avoir
à mettre une vie humaine en danger est extrêmement précieuse.
C’est vrai qu’un robot mobile pourrait accomplir certaines de ces tâches décrites.
Dans certains cas, les robots terrestres ont un avantage considérable par rapport aux
véhicules aériens, car ils peuvent transporter de plus grandes charges utiles, sont générale-
ment plus robustes aux collisions avec l’environnement, ne nécessitent pas de détection
active pour rester au même endroit et ne nécessitent pas une utilisation continue d’én-
ergie pour rester en altitude. Cependant, la capacité à voler permet à un drone à voilure
tournante d’accéder à des endroits impossibles à atteindre par un robot terrestre. De
plus, la navigation sur un terrain accidenté et la montée d’escaliers sont des tâches diffi-
ciles pour les véhicules terrestres, mais dans la plupart des environnements, l’espace
aérien est relativement libre, ce qui rend le problème de navigation plus facile pour les
véhicules aériens.
Les véhicules aériens à voilure fixe sont une autre alternative aux drones à voilure
tournante. Pour naviguer sur de longues distances, l’efficacité d’un véhicule à voilure fixe
ne peut pas être dépassée par un véhicule à voilure tournante. Cependant, par rapport
aux véhicules à voilure fixe, les drones à voilure tournante ont le net avantage de pouvoir
flotter sur place (vol stationnaire). Les véhicules à voilure fixe, en comparaison, doivent
constamment avancer pour produire une poussée. La capacité de vol stationnaire est
précieuse pour naviguer dans des espaces restreints ainsi que pour ramasser et déposer
Introduction générale 3
pour l’application aux plates-formes de vol matérielles telle que les drones miniatures à
voilure tournante.
MOTIVATIONS ET CONTRIBUTIONS
Bien qu’il n’y ait aucun doute que de grands progrès ont été réalisés sur tous les as-
pects des Quadrotors, ils ne sont pas encore utilisés pour de nombreuses tâches décrites
précédemment et n’ont pas encore atteint leur plein potentiel. Pour atteindre cet objectif,
beaucoup de travaux doivent être entamés pour faire avancer l’état de l’art dans tous les
domaines de la technologie du Quadrotor. La motivation pour le travail présenté dans
cette thèse est d’aborder certains défis lié au quadrotor et proposer des solutions à ces
dernières. Plus précisément, le travail décrit ici représente des contributions à l’état de
l’art en matière de commande et de génération de trajectoire optimale en terme d’énergie
pour augmenter l’autonomie du véhicule.
Le travail présenté dans cette thèse a donné lieu aux contributions suivantes :
• La synthèse d’une loi de commande adaptative floue directe avec et sans obser-
vateur pour la poursuite de trajectoire d’un Quadrotor. L’approche de commande
proposée est robuste vis-à-vis les perturbations externes telles que les rafales de
vent et les perturbations internes telles que les variations paramétriques.
• La synthèse d’une loi de commande adaptative floue robuste basée sur l’observa-
teur de perturbations. Cette approche a été validée en simulation pour monter la
robuste contre les perturbations externes ainsi que les variations paramétriques.
PUBLICATIONS
Le travail réalisé dans cette thèse à fait l’objet des publications suivantes:
Publication internationale
Conférences internationales
ORGANISATION DE LA THESE
du Quadrotor et nous présentons aussi quelques notions sur le système flou utilisé dans
ce travail ainsi qu’un rappel sur la commande adaptative floue.
Le chapitre 2 est consacré à la modélisation du Quadrotor. Nous y présentons le
modèle cinématique ainsi que le modèle dynamique d’un corps rigide dans l’espace; en-
suite, les forces et les moments importants qui agissent sur le Quadrotor. Un modèle
dynamique complet du Quadrotor et un autre simplifié utilisé dans la synthèse des lois
de commande sont aussi présentés dans ce chapitre.
Dans le chapitre 3, nous proposons un modèle énergétique pour le Quadrotor, com-
posé de la dynamique du mouvement, la dynamique des moteurs ainsi que la dynamique
de la batterie. Le modèle proposé est validé à travers deux missions pour montrer la pos-
sibilité d’économiser de l’énergie. Deux problèmes de commande optimale sont formulés
et résolus afin de calculer l’énergie minimale ainsi que le temps minimal. Dans le pre-
mier problème, nous cherchons à trouver les entrées de commande et la trajectoire du
véhicule entre deux configurations initiales et finales qui minimisent l’énergie consom-
mée durant une mission spécifique. Alors que dans le second, le temps minimal et la
trajectoire du véhicule sont calculés pour une énergie désirée.
Dans le chapitre 4, nous synthétisons deux lois de commande adaptatives floues di-
rectes pour une classe de système multi-rotors à savoir le Quadrotor. La première com-
mande est sans observateur, tandis que la deuxième est avec observateur. L’idée de
base est d’utiliser un système flou adaptatif pour approximer la dynamique incertaine
du véhicule. Nous présentons aussi dans ce chapitre la conception d’un observateur
d’état pour mesurer les états non mesurables. Les performances des deux schémas de
commande proposés dans ce chapitre sont validées par simulation.
Le chapitre 5 introduit une loi de commande adaptative floue robuste à base d’obser-
vateur de perturbation, pour surmonter le problème des perturbations externes à savoir
la rafale de vent. Il présente la conception de cette approche de commande qui repose
sur l’estimation des perturbations externes, ainsi que la validation de cette approche de
commande par simulation sur un Quadrotor.
Chapitre 1
1.1 Introduction
Le concept du drone a été créé par Léonard De Vinci 1488 (voir la figure 1.1a). Il a appelé
le véhicule Non il volo umano, ce qui signifie vol non humain. Malgré le concept élaboré
par Da Vinci, l’idée n’a pas été mise en exécution que beaucoup plus tard. La première
utilisation enregistrée d’un véhicule aérien sans pilote pour le Combat dans la guerre a
eu lieu le 22 Août 1849, lorsque les Autrichiens ont attaqué la ville italienne de Venise
avec des ballons sans pilote chargés d’explosifs (voir la figure 1.1b). Le premier avion
sans pilote, destiné à être utilisé comme des missiles, a été construit pendant et peu après
la première guerre mondiale. En Septembre 1916, l’avion automatique de Hewitt-Sperry,
autrement connu comme la ”bombe volante” a fait son premier vol, démontrant le concept
d’un aéronef sans pilote.
Probablement le premier aéronef contrôlé par Radio Commande (RC) réussi était
Fairey IIIF qui était modifié avec plus dièdre dans le cadre d’un programme de l’étab-
lissement Royal d’aéronef en 1931. L’aéronef est devenu connu comme Fairey Queens
qui explique pourquoi ultérieurement les drones RC ont été appelés Queen Bee et Queen
Wasp. La première production de drone à grande échelle était le produit de Reginald
1.2 Drones miniatures à voilure tournante 9
Denny, qui a produit un modèle d’avion RC en 1934 (voir la figure 1.1c). Dans la péri-
ode après la seconde guerre mondiale, les avions RC ont suivi le succès de drone cible
OQ-2 avec une autre série très réussie de drones cibles à piston, connus sous le nom de
Basic Training Target (BTT). Ils furent ensuite employés pour des missions de reconnais-
sance dans les années 1960 (drones Firebee et Lightning Bug). Leur utilisation pour des
missions de surveillance s’est ensuite répandue lors de nombreux conflits. Depuis, de
nombreux drones ont été développés, et leur usage à des fins civiles a également débuté.
Figure 1.1: (a) véhicule aérien de Leonardo Da Vinci, (b) Bombardement par Balloon en
1848, (c) RP.1 aéronef de Reginald Denny
Le Gyroplane No.1 est l’un des premiers Quadrotors avec pilote, construit par Louis
et Jacques Breguet avec l’aide du professeur Charles Richet en 1907 en France (voir fig-
ure 1.2). Ce n’était pas un hélicoptère libre, ni contrôlable ni orientable. Mais c’était
la première fois qu’un dispositif à voilure tournante s’était levé et un pilote dans l’air
[27]. Dans les années 1920 en France, Étienne Oehmichen a conçu plusieurs Quadrotors
[27]. Le Oehmichen No.2 est probablement le premier hélicoptère fiable (voir figure 1.3a).
L’américain George de Bothezat a construit Convertawings Model A (voir la figure 1.3b),
et le premier vol a eu lieu en 1956. Il a également été le premier hélicoptère à quatre
rotors qui a démontré un vol stationnaire [28].
Le Curtiss-Wright VZ-7 a été conçu par la société Curtiss-Wright pour l’armée améri-
caine en 1958 (voir la figure 1.4a). Il a été contrôlé en modifiant la poussée des quatre
hélices [29]. En 1963, la société Curtiss-Wright a développé le X-19 pour l’armée de l’air
des États-Unis (voir la figure 1.4b). Cependant, il a été détruit lors d’un accident en 1965,
et le programme de X-19 a ensuite été annulé [30].
1.2 Drones miniatures à voilure tournante 10
(a) (b)
(a) (b)
Au cours des dernières décennies, divers drones miniatures à voilure tournante ont
été conçus pour des recherches scientifiques et des applications civiles. Il existe de nom-
breux drones commercialisés avec succès, tels que Draganflyer, Hummingbird, AR.Drone,
Phantom, Gaui 330X, etc.
1.2 Drones miniatures à voilure tournante 11
Draganfly Innovations Inc a conçu plusieurs Quadrotors depuis 1999. Il existe plusieurs
types de Quadrotor: Draganflyer X4-P, Draganflyer Guardian et Draganflyer Comman-
der. Ils sont construits en utilisant des fibres de carbone robustes, des pièces en nylon
injectées en verre et des moteurs à courant continu sans balais (brushless DC motors).
Les dimensions des Quadrotors Draganflyer sont entre 59cm et 87cm. Le poids avec la
batterie varie de 1050g à 2750g, et la capacité de charge utile est de 420g à 1000g. La
batterie embarquée est habituellement de type Lithium Polymer (LiPo) avec une tension
maximale de 14, 8V et une capacité varie de 2700mAh à 5400mAh, ce qui permet à un
Quadrotor de voler environ 30 à 40 minutes. Le Draganflyer X4-P est équipé d’un puis-
sant processeur embarqué avec onze capteurs: trois gyroscopes, trois accéléromètres,
trois magnétomètres, un capteur de pression barométrique et un récepteur GPS. Tous
ces capteurs fournissent constamment des données à l’ordinateur de vol embarqué. Les
Quadrotors de chez Draganfly sont utilisés dans de nombreuses applications, telles que
la sécurité publique, la maintenance et l’inspection industrielles, la photographie et la
vidéographie, etc. De plus, ils sont utilisés dans la recherche scientifique dans de nom-
breuses universités, comme MIT, université North Dakota, université Texas A&M et
l’université McGill [2].
Ascending Technologies propose également plusieurs Quadrotors et drones depuis
1998 [1]. L’AscTec Flacon est conçu pour les enregistrements professionnels d’images
et de vidéos. L’AscTec Firefly, Pelican et Hummingbird sont conçus pour différents do-
maines de recherches scientifiques (voir la figure 1.6). Le Pelican est conçu avec une
puissance maximisée et beaucoup d’espace pour un développement ultérieur. Le Hum-
mingbird est conçu pour des manœuvres de vol très dynamiques et risquées, il est très
robuste et sa structure simple est facile à réparer. Les poids de Pelican et Hummingbird
avec batterie sont respectivement de 1650g et 710g et la charge utile maximale est de
1.2 Drones miniatures à voilure tournante 12
200g et 650g. Le Hummingbird dispose de quatre moteurs à courant continu sans bal-
ais HACKER X-BL 52s et d’une batterie de 3 cellules 11.1V 2100mAh Lithium Polymère
(LiPo) qui permet au véhicule de voler environ 20 minutes. Le Hummingbird dispose
de deux microcontrôleurs ARM9 et dispose de neuf capteurs: trois gyroscopes, trois
accéléromètres, un magnétomètre 3D, un capteur de pression barométrique et un ré-
cepteur GPS. Les drones de chez AscTec sont largement utilisés dans la recherche scien-
tifique, tel que l’Université de Pennsylvanie et l’École polytechnique fédérale de Zurich.
Ils fournissent un programme utilisateur qui fonctionne à 1kHz pour permettre aux
utilisateurs de créer leur propre algorithme de commande.
(a) (b)
(c) (d)
Figure 1.6: AscTec : (a) Hummingbird, (b) Pelican, (c) Falcon, (d) Firefly
Le AR. Drone est produit par Parrot SA depuis 2010 (voir la figure 1.7a). Il équipe deux
caméras HD intégrées et envoie des images en temps réel au contrôleur de vol par Wi-Fi.
C’est un Quadrotor bien développé contrôlé à distance par une application d’interface
graphique conviviale sur iPhone, ou iPad [31]. AR. Drone, nom complet Augmented Re-
ality Drone, est conçu pour les jeux vidéo et les divertissements à domicile. Le prix est
inférieur à 300 euros. Il est équipé d’une batterie de 3 cellules 11.1V 1000mAh Lithium
Polymère (LiPo) qui permet au véhicule de voler environ 10 à 15 minutes. Le système
1.2 Drones miniatures à voilure tournante 13
comporte deux caméras, trois gyroscopes, trois accéléromètres, un sonar et deux micro-
contrôleurs. En 2011, Bristeau et al. ont exposé le système de navigation et de contrôle
intérieur dans leur papier [32]. Le système est contrôlé par plusieurs contrôleurs PID.
DJI Innovations produit également des Quadrotors, des multicopters et des contrôleurs
de vol à usage commercial et récréatif. Le Quadrotor Phantom a une dimension de 35cm
et hauteur de 19cm (voir figure 1.7b). Il est équipé d’une batterie de 3 cellules avec
2200mAh Lithium Polymère (LiPo) qui permet au véhicule de voler environ 15 minutes.
L’angle d’inclinaison maximal du Phantom est de 45 degrés. La vitesse maximale de
montée ou de descente est de 6m/s et la vitesse maximale du vol est de 15m/s. Le Phan-
tom dispose d’un système intégré de contrôle de vols, le système de pilote automatique
Naza-M, pour assurer la stabilité du système. Il peut également être contrôlé par une
radiocommande RC [4].
(a) (b)
De nombreux projets open-source (OSP) sont également développés sur les Quadro-
tors, tels que Arducopter [33], Paparazzi [34], Pixhawk [35], Mikrokopter [3], etc. Les OSP
utilisent des sites d’hébergement communautaire pour générer des codes ou des schémas
librement. Arducopter fournit un logiciel basé sur une interface utilisateur graphique
(GUI ) pour ajuster les gains du contrôleur et afficher les informations de vol. Paparazzi
fournit neuf Cartes de pilote automatique différentes qui sont développées par l’univer-
sité ENAC et un GUI basé sur GCS avec scripts de chemin de vol. Le projet Pixhawk
dispose d’un équipement de vision par ordinateur développé par le groupe de vision par
ordinateur de ETHZ. Mikrokopter est fourni par HiSystem GmbH en 2006. Il dispose d’un
logiciel basé sur l’interface graphique pour le réglage du gain.
1.2 Drones miniatures à voilure tournante 14
1.2.2 Applications
L’utilisation des drones miniatures était très limitée dans la dernière décennie, essen-
tiellement à cause des réglementations restreignant ou interdisant leur utilisation au
sein de l’espace aérien. Dans les dernières années ce domaine a connu un intérêt con-
sidérable chez les industriels et les chercheurs, cet intérêt est motivé par les récentes
avancées technologiques qui rendent possible la conception de systèmes performants
dotés de réelles capacités de navigation autonome, à des coûts non prohibitifs.
Les applications sont nombreuses. Elles concernent en premier lieu les domaines de
la sécurité (surveillance de l’espace aérien, du trafic urbain et interurbain), la gestion des
risques naturels (surveillance de l’activité des volcans), la protection de l’environnement
(mesure de la pollution de l’air, surveillance des forêts), l’intervention dans des sites hos-
tiles (milieux radioactifs, déminage des terrains sans intervention humaine), la gestion
des grandes infrastructures (barrages, lignes à haute tension, pipelines), l’agriculture (dé-
tection et traitement des cultures) et la prise de vue aérienne dans la production de films.
Toutes ces missions nécessitent un contrôle performant de l’appareil et par conséquent
des informations précises sur son état absolu et /ou relatif à son environnement [36].
La valeur totale des solutions basées sur les Drones dans toutes les industries d’appli-
cations est significative, plus de 127 milliards de dollars, selon une récente analyse de
PwC. Parmi les domaines les plus prometteurs, il y a l’agriculture, où les drones offrent la
possibilité de relever plusieurs défis majeurs. La technologie Drone donne à l’industrie
agricole une transformation de haute technologie, avec une planification et une stratégie
basées sur la collecte et le traitement des données en temps réel. PwC estime à 32,4 mil-
liards de dollars le marché des solutions à base de Drone dans l’agriculture de précision.
A l’échelle mondiale, les usages peuvent être classés en deux catégories principales : le
traitement (pulvérisation en général), et le diagnostic (recueil de données géo-référencées
sur l’état des cultures). Ces deux branches impliquent des différences technologiques sur
l’architecture des drones :
2. pour le traitement, l’appareil doit être capable de vols stationnaires, avec une
1.2 Drones miniatures à voilure tournante 15
charge utile plus importante, tout en évitant les obstacles proches du sol, ce qui est
le cas des drones à voilures tournantes de type multi-rotors. En France, l’épandage
aérien de pesticides est interdit, et la tendance est plutôt à la suppression des déro-
gations existantes, compte tenu des risques de contamination pour les habitations
et pour les cours d’eau en particulier.
(a) (b)
Figure 1.8: Utilisation de drone dans l’agriculture: (a) Drone à voilures fixes, (b) Drone
à voilures tournantes
Les drones sont également utilisés pour la photographie et la vidéo aérienne . Le drone
AscTec Falcon est spécialement conçu pour cette application [1]. Un Quadrotor peut être
utilisé à des fins commerciales, tels que le tournage d’un documentaire sur la faune, la vue
aérienne pour une publicité d’un bien immobilier et la vidéo aérienne pour un événement
sportif. Il peut également être utilisé à des fins personnelles pour enregistrer des photos
et des vidéos pour souvenir. Pour la photographie et la vidéo aérienne commerciale, la
haute qualité des photos et des vidéos devrait être assurée. Les images ne doivent pas
être floues, et les vidéos devraient être prises pendant un mouvement lisse du véhicule.
L’obtention d’images et de vidéos aériennes de haute qualité peuvent être un grand
défi. Cela dépend de la configuration de la caméra embarquée et, plus important, de
la stabilité du véhicule lors du vol stationnaire ou du déplacement. Les drones doivent
flotter ou se déplacer avec les plus petites vibrations pour assurer la qualité de l’image.
Par conséquent, la commande du système devrait être capable de tolérer les bruits de
mesures provenant des capteurs, tels que les accéléromètres et les gyroscopes, et de
fournir les meilleures performances. De plus, comme les prises de vue sont prises dans
1.2 Drones miniatures à voilure tournante 16
(a) (b)
Figure 1.9: (a) Bebop de chez parrot, (b) Phantom de chez DJI
Dans ces applications, les drones ont besoin d’une durée de vol assez longue pour
terminer les tâches. Le temps de vol dépend de deux facteurs: la capacité de la batterie
embarquée et la consommation d’énergie du système. Les drones commercialisés tels
que les Quadrotors utilisent généralement des batteries au lithium-polymère (LiPo), qui
ont une capacité beaucoup plus légère et plus élevée qu’une batterie rechargeable con-
ventionnelle de forme équivalente. La batterie de 3 à 6 cellules, 12V et 3000mAh est
la configuration la plus commune utilisée dans beaucoup de systèmes de Quadrotor,
tel que Draganfly X4-P [2] et AscTec Hummingbird [1]. Elle permet à un drone de type
Quadrotor de voler environ 15 à 20 minutes. Le Draganfly X8 a une puissance améliorée,
une batterie lithium-polymère de 5400mAh, pour assurer une durée de vol plus longue.
Cependant, une capacité de batterie plus importante signifie une charge plus lourde et
un prix plus cher. Afin d’étendre la durée du vol, nous pouvons également réduire la
consommation énergétique du système en utilisant une CPU (Central Processing Unit)
moins puissante. Cependant, un processeur moins puissant signifie moins de capacité de
traitement. D’autres systèmes, comme le système de vision, nécessitent de nombreuses
ressources de traitement. Par conséquent, le système de commande de drone devrait
avoir une structure simple avec de bonnes performances. De plus, en particulier dans
1.3 Étude bibliographique sur la commande de Quadrotor 17
concerne la stabilisation des systèmes linéaires avec des commandes bornées. La plate-
forme expérimentale de cette équipe consiste en l’hélicoptère à quatre rotors Draganfly
III vendue chez Dranganfly Innovation Inc [2]. Une commande d’attitude bornée pour le
Quadrotor a été proposée dans [46], où la loi de commande est obtenue en utilisant une
technique backstepping. Néanmoins, les auteurs supposent un modèle linéaire pour la
dynamique de la rotation.
(a) (b)
Université Lakehead, Canada : Le travail reporté par cette équipe concerne la sta-
bilisation en attitude d’un robot volant de type VTOL à quatre rotors. L’approche de
commande proposée dans [47] est basée sur les quaternions, et la compensation des
couples gyroscopique et de Coriolis. On trouve deux contrôleurs, le premier est un PD
et le deuxième un P D2 , où l’action proportionnelle est en terme de vecteur quaternion
et les deux actions dérivées sont en terme de la vitesse angulaire du véhicule et de la
vitesse du vecteur quaternion. Les lois de commande montrent une stabilité asympto-
tique globale et une stabilité exponentielle locale. Les travaux récents de cette équipe
de recherche porte sur l’estimation et la stabilisation d’attitude de drones miniatures de
type VTOL [48] [49] [50].
Université de Stanford, USA : Stanford Testbed of Autonomous Rotorcraft for Multi-
Agent Control (STARMAC) [6],est le produit réalisé par cette équipe de recherche, c’est
un banc d’essai multi-véhicule utilisé pour valider de nouveaux concepts en matière de
contrôle multi-agent. Les travaux menées sur STARMAC couvrent plusieurs domaines,
y compris la recherche coopérative, le contrôle et réseau de capteur [51], l’évitement des
obstacles coopératifs [52], planification de trajectoire optimale, et la génération de trajec-
1.3 Étude bibliographique sur la commande de Quadrotor 19
toires acrobatiques. Les travaux en cours se concentrent sur l’intégration des capacités
de perception sur STARMAC, pour permettre au véhicule de comprendre, de réagir et de
raisonner sur leur environnement.
Université de Pennsylvanie, USA : ce groupe a réalisé un travail intéressant avec le
professeur Vijay Kumar dans laboratoire GRASP, ils ont utilisé la plate-forme de Quadro-
tor destiné à la recherche Hummingbird (Figure 1.6a) pour développer plusieurs applica-
tions. Dans [53] les auteurs ont développé un algorithme de commande, une méthodolo-
gie de saisie, ainsi que la fabrication d’un mécanisme pour la prise des objets. Le prob-
lème de commande en coopératives de plusieurs Quadrotors pour une tâche de saisie
et transportation est traité dans [54]. D’autres problèmes ont été traités telles que, la
génération de trajectoire et réalisation des mouvements agressives [55], commande et
génération d’une trajectoire demi-circulaire dans un environnement contraint [16].
École polytechnique fédérale de Zurich, Suisse : dans l’institut de systèmes dynamiques
et de contrôle, Le professeur Raffaello D’Andrea et son équipe ont réalisé des travaux re-
marquables, ils ont utilisé la même plate-forme que le laboratoire GRASP (Hummingbird)
pour traiter plusieurs problématiques et défis des drones miniatures, on peut citer : l’ap-
prentissage itératif [56] [57], où le système autonome apprendre de leur expérience
passée à travers des algorithmes d’apprentissage qui lui permettent avec le temps de
réaliser des manœuvres sophistiqués avec précision. Génération de trajectoire et com-
mande en temps réel [17] [58], commande optimale en terme de temps [59], et la com-
mande en formation pour des tâches d’assemblages, de lancement et attrape de balle [60]
[61] [21].
Au cours des dix dernières années, les applications des drones à voilures tournantes
sont demeurées comme des sources de motivation les plus influentes pour une analyse
et un contrôle rigoureux des systèmes mécaniques et non linéaires. Les drones à voilures
tournantes sont naturellement instables. La stabilisation de ces machines est donc une
étape cruciale dans la conception des aéronefs autonomes. Développer un contrôleur
de vol consiste à synthétiser des algorithmes qui vont produire les couples et les forces
de commande pour deux raisons: 1) Stabiliser le véhicule et rejeter les perturbations
internes et externes ; 2) fournir les accélérations nécessaires pour que le drone suive une
trajectoire désirée et réaliser sa mission.
Prenons un exemple simple où le Quadrotor est chargé de se déplacer en toute sécurité
à partir du point A au point B en évitant les obstacles (figure 1.11). On peut décomposer
1.3 Étude bibliographique sur la commande de Quadrotor 20
Depuis les années 2000, différentes stratégies de commande et guidage ont été proposés.
Ils peuvent être classés dans deux catégories: méthodes de contrôle basées sur l’appren-
tissage et techniques de contrôle basées sur la modélisation.
Ces techniques de commande comprennent la logique floue et les approches des réseaux
de neurones. Le modèle dynamique de l’UAV n’est pas nécessaire, mais plusieurs es-
sais sont nécessaires pour former le système de contrôle. Les commandes basées sur la
logique floue ont été mis en œuvre avec succès sur le Quadrotor. une commande adap-
tative basée sur la logique floue est proposée dans [62], le modèle de Takagi Sugeno est
utilisé dans [63] [64] pour la stabilisation et l’estimation de l’attitude du Quadrotor, le
problème de poursuite de trajectoire est traité [65], d’autres auteurs combine la logique
floue avec les techniques de commande non linéaire tel que backstepping et mode glis-
sant [66]. Plusieurs commandes basées sur les réseaux de neurones ont été développées
pour le Quadrotor [67] [68] [69]. Dans [70], Madani, a développé une commande adap-
tative basée sur les techniques backstepping et les réseaux de neurones.
1.3 Étude bibliographique sur la commande de Quadrotor 22
Ces méthodes de commande sont largement utilisées dans les systèmes aérospatiaux et
sont basées sur le modèle dynamique des véhicules. Différents contrôleurs pour les UAVs
ont été proposés en utilisant différentes techniques de commande linéaires classiques et
les stratégies avancées de commande non linéaires. Il a été démontré que le modèle non
linéaire de Quadrotor ne peut pas être converti en un système linéaire contrôlable via la
linéarisation exacte, mais la commande par linéarisation entrées/sorties a été appliquée
avec succès sur le Quadrotor [71]. Dans [42], le PID et les techniques de commande LQR
ont été utilisées pour la commande d’un petit UAV. Un modèle de commande prédictive
non linéaire a également été utilisé pour le suivi de trajectoire [72]. Il est à noter que les
techniques de commande non linéaires basées sur la linéarisation sont plus générales et
aucune garantie de robustesse contre les incertitudes des modèles ou des perturbations
n’est fournie.
Les effets des incertitudes paramétriques et les dynamiques non modélisées ont été
traités à l’aide des systèmes d’identifications [41] [44] [55] [73] [74] [75] ou des tech-
niques de contrôle robustes [71] [76] [77]. Une boucle de commande H∞ robuste [76] a
été implémentée et testée sur l’hélicoptère à quatre rotors, effectuant ainsi un vol robuste
et de suivi de trajectoire précis. Les résultats obtenus sont très satisfaisants. Toutefois,
la commande robuste utilisant H∞ est connue pour être conservateur et présente un
compromet entre les performances et la robustesse. En outre, la conception de cette
commande utilise un modèle linéarisé extrait du vol stationnaire. Ainsi, une dégrada-
tion des performances apparaît lorsque l’hélicoptère effectue des manœuvres agressives.
La commande robuste devient inapplicable lorsque les incertitudes de modélisation sont
grandes. La commande adaptative est ensuite nécessaire pour gérer ces incertitudes
importantes et variables dans le temps. De nombreux contrôleurs adaptatifs ont été
proposés pour la commande de Quadrotor [70] [78] [79] [80] [81] [12]. Récemment,
les techniques de commande adaptative ont été intensivement étudiées et utilisées pour
l’estimation des incertitudes paramétriques [79], la stabilisation de l’attitude [81] et la
poursuite de trajectoire [78]. Les réseaux de neurones et les mécanismes d’adaptation
ont été utilisés pour compenser les erreurs de modélisation via backstepping [70]. La
commande des drones avec des entrées bornées est un autre problème difficile à relever
dans la pratique en raison de saturation des actionneurs. Les auteurs [46] ont proposé
un contrôleur qui traite le problème de commande avec les entrées bornées . Les tech-
niques de saturation imbriquées (Nested saturation) a été appliquée avec succès pour
stabiliser un drone miniature à voilure tournante de type VTOL (Vertical Takeoff and
1.4 Système flou 23
Landing) [82] [83] et l’hélicoptère à quatre rotors [44]. D’autres méthodes de contrôle
non linéaire tel que les techniques du backstepping [84] [85], mode glissant [86] [87] ont
été appliquées pour les hélicoptères à quatre rotors.
La logique floue à été introduite par le professeur Lotfi Zadeh en 1965 comme une
généralisation de la logique binaire [88]. L’intérêt de la logique floue réside dans sa ca-
pacité à traiter l’imprécis, l’incertain et le vague. Elle est issue de la capacité de l’homme
à décider et agir de façon pertinente malgré le flou des connaissances disponibles. En
effet, la logique floue a été introduite pour approcher le raisonnement humain à l’aide
d’une représentation adéquate des connaissances. Un système flou est une fonction non
linéaire reliant un vecteur de données d’entrée à un vecteur de sortie.
Nous définissons d’abord une certaine terminologie. Un ensemble flou F est défini sur
un univers de discours U , par une fonction d’appartenance µF qui prend ces valeurs
dans l’intervalle [0, 1]. Cette fonction donne le degré d’appartenance de chaque élément
x ∈ U à l’ensemble flou F . Un ensemble flou peut être représenté comme un ensemble
de paires ordonnées (F, µF ). La configuration de base d’un système flou est illustrée à
la figure 1.13. Notant qu’il y a quatre modules principaux dans un système flou à savoir:
interface de fuzzification, base de règles floues, moteur d’inférence flou et interface de
défuzzification [89].
L’interface de fuzzification transforme la grandeur physique d’entrée en une grandeur
floue. Plus précisément, étant donné (F, µF ) un ensemble flou défini dans U , et x ∈ U
une entrée de l’interface de fuzzification alors, les sorties de l’interface de fuzzification
sont µFi (xi ) (i = 1, 2, . . . , n). Par exemple, la figure 1.14 définit une interface de fuzzifi-
cation qui transforme la vitesse d’une voiture à des valeurs de fonction d’appartenance
de la vitesse dans les trois ensembles flous étiquetés comme «lente», «moyenne» et
«rapide». Il existe deux facteurs qui déterminent une interface de fuzzification: (1) le
nombre d’ensembles flous définis dans l’univers de discours; et, (2) les fonctions d’ap-
partenance spécifiques pour ces ensembles flous.
La base de règles floues est un ensemble d’énoncés linguistiques sous la forme de
”SI un ensemble de conditions est satisfait, ALORS un ensemble de conséquences est
déduit”, où les conditions et les conséquences sont associées à des concepts flous (c.-à-d.,
1.4 Système flou 24
Termes linguistiques). Par exemple, dans le cas d’un système flou à sortie unique de
n-entrée, la base de règles floues peut consister en les règles suivantes:
où xi i = 1, 2, . . . , n sont les entrées de système flou, z est la sortie du système flou, Aki
et B k sont des termes linguistiques, et k le nombre des règles floues. Ces règles floues
SI-ALORS fournissent une forme naturelle dans laquelle les humains représentent leurs
connaissances. En reliant chaque terme linguistique aux règles floues avec une fonction
d’appartenance, nous spécifions la signification des règles floues dans un sens flou déter-
miné. Les paramètres de conception d’une base de règles floues sont: k, le nombre de
règles floues dans la base de la règle floue; et, (2) l’énoncé spécifique de chaque règle
floue.
Le moteur d’inférence flou est une logique de décision qui utilise des règles floues de
la base de règles floue pour déterminer les sorties floues d’un système flou correspondant
aux entrées du système flou. C’est le moteur d’inférence flou qui simule une procédure de
prise de décision humaine basée sur des concepts flous et des énoncés linguistiques. Le
paramètre de conception d’un moteur d’inférence flou est: quelle logique floue spécifique
est utilisée.
L’interface de défuzzification transforme la grandeur floue issue de l’inférence en une
grandeur physique. Cependant, il existe plusieurs méthodes de défuzzification, la méth-
1.4 Système flou 25
ode la plus utilisée dans la commande est la méthode de défuzzification dite la moyenne
des centres.
Dans la section précédente, nous avons présenté les systèmes flous à conclusions symbol-
iques appelés systèmes flous standards, dits aussi de Mamdani. Ces systèmes utilisent
en effet des conclusions symboliques de même nature que les prémisses et, de ce fait,
des connaissances exprimées sous forme analytique décrivant la structure interne du
1.4 Système flou 26
système ne peuvent pas être prises en compte directement. Sugeno et ces collaborateurs
[90], ont proposé une classe de systèmes flous qui permet de représenter ce type d’in-
formation. Les systèmes flous de cette classe sont appelés systèmes flous à conclusion
fonctionnelle où systèmes flous de Takagi-Sugeno (TS).
Notons par x = [x1 , . . . , xn ]T les entrées du système flou, et par y sa sortie. Pour
chaque xi est associé mi ensembles flous Fij dans Xi , tel que pour xi ∈ Xi , il existe au
moins un degré d’appartenance µF j (xi ) 6= 0, où i = 1, 2, . . . , n et j = 1, 2, . . . , mi . La
i
base de règles du système flou comporte N = ni=1 mi règles floues de la forme:
Q
où bFik ∈ {Fi1 , . . . , Fimi } et fk (x) est une fonction numérique dans l’espace de sortie. En
général, fk (x) est une fonction polynomiale en fonction des variables d’entrées, mais
elle peut être aussi une fonction arbitraire tant qu’elle puisse décrire convenablement
le comportement du système étudié. Si fk (x) est une fonction linéaire, i.e. fk (x) =
ak0 + ni=1 aki xi alors on a affaire à un système flou de Takagi-Sugeno d’ordre un. Si par
P
contre fk (x) est un polynôme d’ordre zéro, i.e. fk (x) = ak on a donc un système flou de
Takagi-Sugeno d’ordre zéro (TS0).
Étant donné que chaque règle possède une conclusion numérique, la sortie totale du
système flou est obtenue par le calcul d’une moyenne pondérée, et de cette manière,
le temps consommé par la procédure de défuzzification est évité. En fait, la sortie du
système flou est donnée par la relation suivante [88]:
PN
k=1 µk (x)fk (x)
y(x) = PN (1.1)
k=1 µk (x)
Dans ce travail on limite l’utilisation des systèmes flous à ceux qui seront directement
exploités dans les approches de commande développées, à savoir les systèmes flous de
Takagi-Sugeno à conclusion constante, i.e. les systèmes flous de Takagi-Sugeno d’ordre
zéro.
1.4 Système flou 27
µk (x)
ϕk (x) = PN , k = 1, . . . , N (1.4)
i=1 µi (x)
Les fonctions d’appartenance utilisées dans ce travail, sont choisies des fonction Gaussi-
ennes définies par: !2
j
1 xi − ci
µF j (xi ) = exp − (1.5)
i 2 σij
Les systèmes flous sont construits à partir de règles floues de la forme Si-Alors, de ce
fait, les informations linguistiques ou mathématiques disponibles, issues d’une expertise
peuvent éventuellement être incorporées dans le contrôleur. De plus ils ont la propriété
des approximateurs universels de fonctions continues. Ces deux caractéristiques ont
poussé l’utilisation des systèmes flous dans la commande adaptative.
Il a été prouvé dans les travaux de Li-Xin Wang [89] [91] que les systèmes flous sont
des approximateurs universels , c’est-à-dire, pour toute fonction continue f (x) définie
sur un ensemble compact Ω , et pour toute constante positive δ , il existe un système
flou de la forme (1.3) tel que :
Notons, cependant, que la propriété d’approximation universelle ne donne pas une méth-
ode de construction du système flou y(x), elle garantit seulement son existence. De plus,
pour un degré de précision quelconque, on a besoin d’un nombre important de règles
floues.
1.5 Commande adaptative floue 28
Dans ce travail la structure du système flou, les entrées du système flou, le nombre
de fonctions d’appartenance pour chaque entrée, les paramètres des fonctions d’appar-
tenance et le nombre de règles sont spécifiés par le designer a priori. Par-contre les
paramètres de la conclusion seront calculés en ligne par les lois d’adaptation paramétrique.
Motivé par le succès pratique du contrôleur flou dans les produits de consommation
et le contrôle des processus industriels, il y a eu de nombreux travaux sur les études
théoriques rigoureuses des systèmes et des contrôleurs flous. Les chercheurs essayent
d’expliquer pourquoi les résultats pratiques sont bons, systématiser l’approche existante,
et développer d’autres plus puissants. À la suite de ces efforts, l’image des systèmes flous
et de la théorie de la commande floue devient de plus en plus claire [92] [88].
Dans la conception d’un contrôleur flou, certains problèmes sont rencontrés pour
des applications pratiques, notamment: (1) la conception des contrôleurs flous est effec-
tuée de manière ad-hoc (objectif spécial et immédiat), donc il est souvent difficile de
choisir au moins certains des paramètres du contrôleur. Par exemple, il est parfois diffi-
cile de savoir comment choisir les fonctions d’appartenances et la base de règles pour
atteindre les performances souhaitées. (2) la loi de commande floue synthétisée pour
le modèle du système peut fonctionner de manière inadéquate si des variations impor-
tantes et imprévisibles des paramètres du système se produisent, ou s’il existe un bruit
ou un certain type de perturbation externe ou d’autres effets environnementales. Par
conséquent, le modèle du système change lorsque la boucle fermée fonctionne, et les
performances souhaitées ne peuvent pas être maintenues. Pour surmonter ces prob-
lèmes nous avons besoin d’un moyen pour régler automatiquement le contrôleur flou
pour qu’il puisse s’adapter à différents changements du système. L’objectif principal de
la commande adaptative est de maintenir une performance constante d’un système en
présence de grandes incertitudes et variations paramétriques. Par conséquent, le con-
trôle flou avancé devrait être adaptatif [93].
Les principaux avantages de la commande adaptative floue sont: (1) une meilleure
performance est généralement obtenue car le contrôleur flou adaptatif peut s’adapter
au changement du système ou de l’environnement, et (2) moins d’informations sur le
système sont nécessaires car la loi d’adaptation peut aider à apprendre la dynamique
du système en temps réel [92]. La commande adaptative floue et la commande adapta-
tive conventionnelle ont des similitudes et des différences. Ils sont similaires dans: (1) la
1.5 Commande adaptative floue 29
configuration de base et les principes sont plus ou moins les mêmes, et (2) les outils math-
ématiques utilisés dans l’analyse et la conception sont très semblables. Les principales
différences sont les suivantes: (1) le contrôleur flou a une structure non linéaire spé-
ciale qui est universelle pour différents systèmes, alors que la structure d’un contrôleur
adaptatif classique change d’un système à un autre, et (2) la connaissance humaine sur
la dynamique du système et la stratégie de commande peuvent être incorporées dans le
contrôleur adaptatif flou, alors que ces connaissances ne sont pas considérées dans le
contrôleur adaptatif conventionnel.
Selon la connaissance humaine utilisée et la structure du contrôleur flou, la commande
adaptative floue peut être classée en deux catégories [92]:
• Commande adaptative floue directe: le contrôleur flou est un seul système flou
construit (initialement) à partir des connaissances du contrôleur.
Dans les deux sections suivantes, nous allons développer le schéma de base de la com-
mande adaptative floue indirecte ainsi que le schéma de la commande adaptative floue
directe à travers un système non linéaire d’ordre n.
Puisque nous concevons une commande floue adaptative indirecte, certaines connais-
sances du système sont disponibles. Plus précisément, nous supposons qu’il existe une
collection de règles SI-ALORS floues qui décrivent le comportement entrée-sortie de
f (x) et g(x); ces règles sont données comme suit:
qui décrit g(x), avec Fir , C r , Gsi et Ds sont des ensembles flous, r = 1, 2, . . . , Lf et
s = 1, 2, . . . , Lg .
Si les fonctions non linéaires f (x) et g(x) sont connues, alors on peut synthétiser la
loi de commande u sur la base de la théorie de la commande linéaire (par exemple,
le placement des pôles) pour compenser les non linéarités. Définissions e = yr − y,
e = [e, ė, . . . , e(n−1) ]T et k = [kn , . . . , k1 ]T tel que toutes les racines du polynôme
sn + k1 sn−1 + . . . + kn soient dans la partie gauche du plan complexe, et la loi de com-
mande est choisi comme suit:
1
u∗ = [−f (x) + yr(n) + kT e] (1.10)
g(x)
1
u = uI = [−f̂ (x|θf ) + yr(n) + kT e] (1.12)
ĝ(x|θg )
Pour implémenter la loi de commande (1.12) on doit spécifier les formules en détails
de f̂ (x|θf ) et ĝ(x|θg ). Ces dernières sont construites en deux étapes:
Qn
Soit ȳfl1,...,ln et ȳgl1,...,ln les paramètres libres qui sont collectées dans θf ∈ R i=1 pi et
Qn
θg ∈ R i=1 qi , respectivement, donc nous pouvons réécrire (1.15) et (1.16) comme
Qn
avec ϕf (x) est un vecteur de dimension i=1 pi .
Qn
i=1 µAli (xi )
ϕf (x) = Pp1 Pp n i
Qn (1.19)
l1 =1 ... ln =1 i=1 µAli (xi )
i
Qn
et ϕg (x) est un vecteur de dimension i=1 qi .
Qn
i=1 µB li (xi )
ϕg (x) = Pq1 Pqn i
Qn (1.20)
l1 =1 ... ln =1 i=1 µB li (xi )
i
En substituant (1.12) dans (1.7) et après quelques manipulations, nous obtenons la dy-
namique de l’erreur en boucle fermée
soit
0 1 0 0 ... 0 0
0
0 0 1 0 ... 0 0
. . .
b (1.22)
Λ=
... ... ... ... ... ... ... , =
0
0 0 0 0 ... 0 1
1
−kn −kn−1 . . . . . . . . . . . . −k1
alors l’équation dynamique (1.21) peut être réécrite dans la forme vectorielle
ė = Λe + b f̂ (x|θf ) − f (x) + ĝ(x|θg ) − g(x) uI (1.23)
h i
θg∗ = arg min
Qn sup |ĝ(x|θg ) − g(x)| (1.25)
q
θg ∈R i=1 i x∈Rn
1.5 Commande adaptative floue 33
(1.26)
= f̂ (x|θf ) − f (x) + ĝ(x|θg ) − g(x) uI
1 1 1
V = eT P e + (θf − θf∗ )T (θf − θf∗ ) + (θg − θg∗ )T (θg − θg∗ ) (1.29)
2 2γ1 2γ2
1.5 Commande adaptative floue 34
avec γ1 et γ2 sont des constants positifs, et P est une matrice définie positive satisfait
l’équation de Lyapunov
ΛT P + P Λ = −Q (1.30)
avec Q est une matrice arbitraire définie positive, et Λ est donnée par (1.22). la dérivée
temporelle de V est donnée par
1 1
= − eT Qe + eT P b + (θf − θf∗ )T θ̇f + γ1 eT P bϕf (x)
V̇
2 γ1
1
+ (θg − θg∗ )T θ̇g + γ2 eT P bϕg (x)uI (1.31)
γ2
ẋ1 = x2
mlx22 cos x1 sin x1 cos x1
g sin x1 − mc +m mc +m
ẋ2 = m cos2 x1
+ 2 x u (1.34)
4 4
− mmcos
l 3
− mc+m l 3 c +m
1
force appliquée (entrée de commande). Nous supposons qu’il n’y a pas de règles linguis-
tiques et nous choisissons p1 = p2 = q1 = q2 = 5, Al1 = Al2 = B1l = B2l avec µA11 (x1 ) =
exp[−( x1π/24
+π/6 2
) ], µA21 (x1 ) = exp[−( x1π/24
+π/12 2 x1 2
) ], µA31 (x1 ) = exp[−( π/24 ) ], µA41 (x1 ) =
x1 −π/12 2 x1 −π/6 2
exp[−( π/24 ) ], et µA51 (x1 ) = exp[−( π/24 ) ], qui couvrent l’intervalle [−π/6, π/6].
Puisque le rang de f (x1 , x2 ) est beaucoup plus grande que celui de g(x1 , x2 ), nous choi-
sissons γ1 = 50 et γ2 = 1. La figure 1.16 montre l’évolution temporelle de la sortie x1 (t)
et la sortie de référence yr (t) pour les conditions initiales x(0) = [ 60
π
, 0]T .
avec f (x, ẋ, . . . , x(n−1) ) une fonction inconnue et b une constante positive. L’objectif de
la commande reste le même que dans la commande floue adaptative indirecte; c’est-à-
dire, concevoir un contrôleur u(x|θ) basé sur les systèmes flous et une loi d’adaptation
pour ajuster le vecteur des paramètres θ, de telle sorte que la sortie du système y suit la
référence yr aussi proche que possible. La principale différence réside dans l’hypothèse
1.5 Commande adaptative floue 36
Pour incorporer les règles (1.36), un choix naturel consiste à utiliser un seul système flou
comme contrôleur, c’est-à-dire que le contrôleur flou est dans ce cas
u = uD (x|θ) (1.37)
avec uD est un système flou et θ est le vecteur des paramètres ajustables. Plus précisé-
ment, le système flou uD (x|θ) est construit à partir des deux étapes suivantes:
avec ϕ(x) est la même que dans (1.19) sauf que pi est maintenant remplacé par mi .
Soit u∗ la même loi de commande idéale (1.10) que dans la section 1.5.1.1, avec g(x) = b.
En substituant (1.37) en (1.35) et par réarrangement, on obtient
Soit Λ être tel que défini dans (1.22) et b = [0, . . . , 0, b]T , la dynamique de l’erreur en
boucle fermée peut être écrite dans la forme vectorielle suivante
ė = Λe + b u∗ − uD (x|θ) (1.42)
= uD (x|θ∗ ) − u∗ (1.44)
En utilisant (1.44) et (1.40), nous pouvons réécrire l’équation d’erreur (1.42) comme suit
T
ė = Λe + b θ∗ − θ ϕ(x) − b (1.45)
1 1
V = eT P e + (θ∗ − θ)T (θ∗ − θ) (1.46)
2 2γ
avec P une matrice définie positive satisfait l’équation de Lyapunov (1.30), et γ est un
constant positif (rappeler que b > 0 par hypothèse, donc V est positif). En utilisant
(1.45) et (1.30), nous avons
1 T h T i b
V̇ = − e Qe + e P b θ − θ ϕ(x) − − (θ∗ − θ)T θ̇
T ∗
(1.47)
2 γ
1.5 Commande adaptative floue 38
1 T b ∗ h i
V̇ = − e Qe + (θ − θ) γe pn ϕ(x) − θ̇ − eT pn b
T T
(1.48)
2 γ
alors
1
V̇ = − eT Qe − eT pn b (1.50)
2
Puisque Q > 0, on peut espérer qu’en concevant le système flou uD (x|θ) avec un nombre
1
de règles suffisamment grand, l’erreur serait assez petit pour que eT pn b < eT Qe,
2
ce qui aboutit à V̇ < 0.
Considérons le système non linéaire de premier ordre 1.51. Notre objectif est d’utiliser
la commande floue adaptative directe pour réguler l’état x(t) à zéro; donc, on a yr = 0.
1 − exp−x(t)
ẋ(t) = + u(t) (1.51)
1 + exp−x(t)
1.5 Commande adaptative floue 39
Il est clair que le système (1.51) est instable si le contrôle est égal à zéro. En effet, si
−x −x
u(t) = 0, alors ẋ = 1−exp
1+exp−x
> 0 pour x > 0, et ẋ = 1−exp
1+exp−x
< 0 pour x < 0. Nous
choisissons γ = 3 et définissons six ensembles flous N 3, N 2, N 1, P 1, P 2 et P 3 dans
l’intervalle [−3, 3] avec les fonctions d’appartenance µN 3 (x) = 1/(1 + exp(5(x + 2))),
µN 2 (x) = exp(−(x + 1.5)2 ), µN 1 (x) = exp(−(x + 0.5)2 ), µP 1 (x) = exp(−(x − 0.5)2 ),
µP 2 (x) = exp(−(x − 1.5)2 ) et µP 3 (x) = 1/(1 + exp(−5(x − 2))), qui sont montrées
dans la figure 1.18.
La figure 1.19 montre la sortie x(t) pour la condition initiale x(0) = 1. Nous voyons
que le contrôleur flou adaptatif direct pourrait réguler le système à l’origine.
1.6 Conclusion 40
1.6 Conclusion
L’objectif principal de ce chapitre était de faire un état de l’art sur les drones minia-
tures à voilure tournante précisément le Quadrotor, d’introduire les système flous et la
commande adaptative floue et de faire une analyse bibliographique sur la commande
de Quadrotor. Les systèmes flous sont des approximateurs universels, ils peuvent ap-
proximer des fonctions non linéaires continues avec un degré de précision quelconque.
De plus, une expertise humaine peut être introduite dans le contrôleur flou sous forme
mathématique où linguistique.
Le Quadrotor est un système non linéaire complexe, sous actionné et fortement cou-
plé. Obtenir un modèle qui représente précisément le comportement dynamique et les
effets qui agissent sur ce type de robot volant, s’annonce souvent comme une tâche diffi-
cile, voire impossible. Ce qui dégrade considérablement les performances des approches
de commande basées sur le modèle. Pour surmonter ce problème, nous sommes orientés
vers les algorithmes de commande adaptative floue.
Dans l’état de l’art présenté sur les drones miniatures à voilure tournante, nous avons
focalisé notre étude sur le Quadrotor et ces applications civiles potentielles. Aussi dans
l’étude bibliographique sur la commande de Quadrotor, nous avons essayé de faire le tour
1.6 Conclusion 41
d’horizon des techniques de commande proposées pour résoudre certains problèmes liés
à ce système.
Le modèle cinématique et le modèle dynamique du Quadrotor seront abordés dans le
chapitre suivant, ainsi que les forces et les moments qui agissent sur ce dernier.
Chapitre 2
Modélisation dynamique du
Quadrotor
2.1 Introduction 43
2.1 Introduction
Un Quadrotor consiste en quatre moteurs (BLDC) sur lesquels des hélices sont fixées. Ces
moteurs sont arrangés aux extrémités d’un châssis en forme de X, où chaque bras du
châssis forme un angle de 90° avec l’autre. La vitesse de rotation des moteurs (i.e. la force
de portance associée à l’hélice attachée a ce moteur) peut être modifiée individuellement,
modifiant ainsi l’attitude et l’altitude du véhicule permettant au Quadrotor de naviguer
dans l’espace.
Plusieurs modèles ont été proposés dans la littérature pour le Quadrotor. Dans [94]
[95] [96] les auteurs considéraient le véhicule comme un corps rigide, dont la dynamique
est décrite en utilisant la formulation d’Euler-Lagrange avec l’approximation de petits
angles, afin d’en déduire un modèle simple pour des fins de commande. Dans [76] [97]
le modèle de Quadrotor est encore déduit en utilisant la formulation d’Euler-Lagrange,
mais les approximations pour la commande sont moins conservatives. Dans [98] [99], le
modèle du système est obtenu en utilisant l’approche de Newton-Euler et les effets aéro-
dynamiques les plus important sont inclus dans le modèle. Dans [41] [100] un modèle
global du Quadrotor est obtenu, prenant en compte la dynamique du corps rigide, l’effet
gyroscopique sur les hélices et plusieurs forces aérodynamiques. Enfin, les auteurs de
[11] et [7] mettent l’accent sur la modélisation des effets aérodynamiques et le battement
des hélices pour le Quadrotor.
Les approches citées ci-dessus considèrent le Quadrotor comme un corps rigide dans
l’espace soumis à des forces et des moments. Les forces qui agissent sur le Quadrotor
sont nombreux et souvent difficile de les exprimer sous forme analytique à savoir les
forces de portance et les effets aérodynamiques complexes. Tout d’abord un modèle
théorique global est présenté, afin de donner un aperçu sur les effets qui agissent sur
le Quadrotor. Ensuite ce modèle est simplifié afin d’obtenir un système d’équation plus
adapté à la simulation.
Un Quadrotor possède, comme son nom l’indique, quatre moteurs, chaque moteur est
constitué d’une hélice accouplée à un rotor. Les moteurs avants et arrières (M1 et M3 )
tournent dans le sens des aiguilles d’une montre avec les vitesses angulaires ω1 et ω3 ,
tandis que les deux autres moteurs (M2 et M4 ) tournent dans le sens contraire avec
les vitesses angulaires ω2 et ω4 (figure 2.2). La figure 2.1 montre les mouvements du
Quadrotor pour une configuration plus + (c-à-d le mouvement de roulis et tangage est
2.3 Modélisation dynamique 44
La différence de portance entre les deux rotors avants et arrières produit un couple de
tangage qui contrôle le mouvement de translation (avant/arrière) (figure 2.1a et 2.1b). Le
déplacement (gauche/droite), quant à lui, est assuré par la différence de portance entre
les rotors situés sur la gauche et sur la droite (figure 2.1c et 2.1d). Le mouvement vertical
de montée et de descente est assuré par les quatre rotors à la fois (figures 2.1e et 2.1f).
Enfin pour contrôler le lacet du système, c’est la somme des anti-couples produites par
les quatre rotors qui définit le sens de rotation (figure 2.1g et 2.1h).
Le Quadrotor est modélisé en utilisant la notation présentée sur la figure 2.1. Deux
repères sont utilisés pour étudier les mouvements du système, un repère inertiel lié à la
terre E a (Oa , xa , ya , za ) et un repère lié au corps rigide E b (Ob , xb , yb , zb ), où Ob est fixé
au centre de masse du Quadrotor. La position absolue du Quadrotor est représenté par
ξ = [x y z]T qui décrit la position du centre de masse de E b par rapport à E a , et son
attitude par le vecteur η = [φ θ ψ]T qui représentent l’orientation du repère lié au corps
rigide par rapport au repère inertiel. Cette notation des angles roulis tangage et lacer,
généralement appelée Angles d’Euler, est basée sur l’hypothèse que le repère inertiel
E a (Oa , ea1 , ea2 , ea3 ) peut atteindre la même orientation du repère E b (Ob , eb1 , eb2 , eb2 )
2.3 Modélisation dynamique 45
en effectuant d’abord une rotation d’un angle ψ autour de l’axe z (lacer), puis une rota-
tion d’un angle θ autour de l’axe y (tangage), et enfin une rotation d’un angle φ autour
de l’axe x (roulis). Les angles de roulis et de tangage sont limités par − π2 ≤ θ ≤ π2 ,
− π2 ≤ φ ≤ π2 et l’angle de lacet ψ n’est pas limité. Cela implique que le véhicule doit
voler en mode normal et non en mode acrobatique: lacet du Quadrotor peut varier libre-
ment, mais les angles de roulis et de tangage ne peuvent pas prendre une valeur telle que
le véhicule subit un vol inverse. De cette façon, ξ et η décrivent complètement le mou-
vement de translation et le mouvement de rotation du véhicule par rapport au repère
inertiel.
Avec: R(η) est la matrice de transformation du repère mobile au repère inertiel fixe,
donnée par:
Cθ Cψ Sφ Sθ Cψ − Cφ Sψ Cφ Sθ Cψ + Sφ Sψ
R(η) = Cθ Sψ Sφ Sθ Sψ + Cφ Cψ Cφ Sθ Sψ − Sφ Cψ (2.2)
−Sθ Sφ Cθ Cφ Cθ
2.3 Modélisation dynamique 46
Ω = N (η)η̇ (2.3)
Avec:
1 0 −Sθ
N (η) = 0 Cφ Cθ Sφ (2.4)
0 −Sφ Cθ Cφ
et C(.) , S(.) représentent cos(.) et sin(.) respectivement.
Le Quadrotor est modélisé comme un corps rigide soumis aux forces d’actionnements et
aux forces externes. Un résultat bien connu de la mécanique [102] [103] est que la dy-
namique des corps rigides peuvent être décrite en utilisant l’approche de Newton-Euler
(basé sur les forces et les moments agissant sur le corps) et l’approche Euler-Lagrange
(basée sur des hypothèses d’énergie). Avec l’approche Newton-Euler la dynamique est
initialement formulée en terme des coordonnées du repère mobile (lié au corps rigide),
puis exprimée en terme des coordonnées du repère inertiel en utilisant des transforma-
tions cinématiques. L’approche de Lagrange, au contraire, a besoin directement de l’util-
isation de coordonnées généralisées (coordonnées du repère inertiel) et cela nécessite un
symbolisme beaucoup plus lourd. Ainsi, le résultat final est le même, mais obtenu avec
des notations différentes. Dans cette section, une approche de Newton-Euler est adoptée
afin d’en tirer la dynamique de corps rigide du Quadrotor, car elle représente l’approche
la plus simple pour la modélisation.
La dérivation des équations (2.1) et (2.3) en fonction du temps nous donne:
ξ̈ = R(V̇ + ˙Ω × V )
˙Ω = N η̈ + ( ∂N φ̇ + ∂N θ̇)η̇ (2.5)
∂φ ∂θ
0 0 Iz
Fext et Text sont le vecteur de forces et de moments externes respectivement.
P P
En utilisant les équations 2.4 et 2.5, les équations dynamiques du Quadrotor exprimées
dans le repère inertiel sont données par:
1 X
ξ̈ = R Fext
m
X ∂N ∂N
η̈ = (IN )−1 [ Text − I( φ̇ + θ̇)η̇ − (N η̇) × (IN η̇)] (2.7)
∂φ ∂θ
Le Quadrotor est un système mécanique sous actionné avec 6 sorties et possède seule-
ment 4 entrées (PWM des motors). La dynamique des corps rigides décrit le mouvement
du véhicule en fonction des forces et des moments qui agissent sur lui. La connaissance
de ces forces généralisées permet de résoudre les équations (2.7) du mouvement du corps
rigide. Les forces et les moments aérodynamiques sont obtenus en utilisant une com-
binaison de Théorie de Froude (momentum theory) et la théorie de l’élément lame [27]
[40]. Ceci est basé sur le travail de Gary Fay durant le projet Mesicopter [104].
La force de poids est appliquée au centre de gravité et dirigée le long de l’axe Z dans le
sens négatif et exprimée dans le repère inertiel.
0
Fgrav = RT 0 (2.8)
−mg
2.3 Modélisation dynamique 48
Où RT est la matrice de transformation des vecteurs exprimés dans le repère inertiel aux
vecteurs exprimés dans le repère mobile lié au véhicule. Puisque le point d’application
de la force est le centre de gravité, la force de gravité ne génère aucun moment.
L’expression de la poussée peut être obtenue à l’aide de la théorie des éléments de lame
bien connue dans la littérature [30, 31, 16], qui conduise à
Les forces aérodynamiques agissant sur la lame de chaque rotor, dans une direction or-
thogonale à la force de poussée (réaction de la lame à la rotation), génèrent un moment
supplémentaire qui doit être inclut dans le modèle. Ce moment est appelé moment de
traînée et il est dirigé le long de l’axe Zb . L’expression du moment de traînée peut être
dérivée de manière similaire à celle utilisée pour dériver la force de poussée:
Où CQ est le coefficient de traînée et ωi est multiplié par sa valeur absolue pour préserver
le signe de rotation pour les rotors à contre-rotation.
Le frottement de l’air (traînée d’air ou simplement traînée) est dû aux forces qui agissent
sur le véhicule dans la direction de la vitesse relative d’écoulement d’air et représente
la réaction de l’air au mouvement de translation et de rotation du corps dans l’espace.
Les traînées de translation et de rotation sont généralement petites et sont approximées
pour respecter la loi de Stoke [105]: la traînée de translation est donc considérée pro-
portionnelle à la vitesse linéaire et le terme de traînée de rotation est proportionnel à la
vitesse angulaire avec des coefficients kt et kr respectivement.
Lorsque le rotor tourne autour de son propre axe et d’un second axe, il tourne également
autour d’un troisième axe qui est perpendiculaire au premier axe. Cet effet est appelé
l’effet gyroscopique.
Le Quadrotor est propulsé par quatre hélices qui tournent à grande vitesse. Même si
l’inertie de l’hélice est faible par rapport à celle du corps de véhicule, la vitesse de rota-
tion élevée provoque un effet gyroscopique qui peut affecter le mouvement du véhicule
lorsque les hélices tournent à des vitesses différentes. Dans la littérature, cet effet est
négligé la plupart du temps, mais certains auteurs [106] l’incluent dans le modèle.
Le moment gyroscopique Tgyro provoqué par les rotations du véhicule avec rotors
rotatifs peut être exprimé comme
0
Tgyro = Ir Ω × 0 (ω1 − ω2 + ω3 − ω4 ) (2.12)
Où Ω est la vitesse angulaire du véhicule exprimée dans le repère mobile, ωi est la vitesse
de rotation du moteur i et Ir est l’inertie du moteur.
Comme chaque rotor génère une poussée, la différence entre chaque paire de rotors
provoque les moments autour de l’axe Xb et Yb dans le cadre du corps. La différence
des poussées entre le rotor 2 et 4 provoque le moment de roulement autour de l’axe
2.3 Modélisation dynamique 50
Tlac = Q1 − Q2 + Q3 − Q4 (2.15)
Dans les sections précédentes, nous avons déduit les équations de Newton-Euler pour
un corps rigide dans l’espace. Ensuite, les forces et les moments externes importants
qui agissent sur le Quadrotor sont analysés. Dans cette section, le modèle complet d’un
Quadrotor sera d’abord proposé. Sur la base de certaines applications, ce modèle peut
encore être simplifié.
A partir des équations (2.7), (2.8), (2.9) et (2.12), un modèle complet pour le Quadrotor
est donné par les équations suivantes
X
Fext = F − Faero − Fgrav
X
Text = T − Taero − Tgyro (2.16)
1 1
ξ̈ = RF − RFaero − G
m m
4
X
−1
η̈ = (IN ) T − Taero − IΞ − (N η̇) × (IN η̇) − (N η̇) × Ir (−1)i+1 ωi (2.17)
i=1
2.3 Modélisation dynamique 51
avec
−Cθ θ̇ψ̇
Ξ(η, η̇) = −Sφ φ̇θ̇ + Cφ Cθ φ̇ψ̇ − Sφ Sθ θ̇ψ̇ (2.18)
et Faero = [kt ẋ, kt ẏ, kt ż]T , Taero = [kt φ̇, kt θ̇, kt ψ̇]T
Dans (2.17), la première équation représente la dynamique de translation, et la deux-
ième équation représente la dynamique d’orientation. La dynamique angulaire n’est liée
qu’à l’information angulaire. Alors que dans la dynamique de translation, les positions
sont affectées par les changements des angles.
0 −Sφ Cθ Cφ
2.3 Modélisation dynamique 52
On peut considérer les vitesses angulaires φ̇, θ̇, et ψ̇ exprimées dans le repère mobile sont
égales aux vitesses angulaires p, q, et r exprimées dans le repère inertiel respectivement
φ̇ = p, θ̇ = q, ψ̇ = r
Le Quadrotor est contrôlé généralement par les vitesses des moteurs ωi . Comme les
forces et les moments aérodynamiques sont proportionnels au carré de la vitesse de
rotation du moteur, la force de poussée et les moment de lacet, roulis et tangage sont
choisis comme des entrées de commande
4
X
u1 = Fi
i=1
u2 = l(F2 − F4 ) (2.22)
u3 = l(F3 − F1 )
4
X
u4 = (−1)i+1 Qi
i=1
ou encore
Parameter Value
l (m) 0.175
m (kg) 1.3
Ix (kgm2 ) 0.081
Iy (kgm2 ) 0.081
Iz (kgm2 ) 0.142
κb (N /rad/s) 3.8305e−6
κτ (N m/rad/s) 2.2518e−8
Le modèle simplifié (2.24) peut être exprimé sous une forme d’état comme suit:
˙X = f (X, U ) (2.25)
avec le vecteur d’état X = [x11 , x21 , . . . , x16 , x26 ]T ∈ <12 , le vecteur des entrées U =
[u1 , u2 , u3 , u4 ]T et x11 = x, x21 = ẋ, x12 = y, x22 = ẏ, x13 = z, x23 = ż x14 =
φ, x24 = φ̇, x15 = θ, x25 = θ̇, x16 = ψ, x26 = ψ̇ .
En remplaçant le vecteur d’état X et la fonction non linéaire f (X, U ) on aura le
2.4 Modèle de rafale de vent 54
ẋ11 = x21
1
ẋ21 = (cos x14 sin x15 cos x16 + sin x14 sin x16 ) u1
m
ẋ12 = x22
1
ẋ22 = (cos x14 sin x15 sin x16 − sin x14 cos x16 ) u1
m
ẋ13 = x23
cos x14 cos x15
ẋ23 = −g + u1
m
ẋ14 = x24 (2.26)
Iy − Iz Ir 1
ẋ24 = x25 x26 ( ) + x22 $ + u2
Ix Ix Ix
ẋ15 = x25
Iz − Ix Ir 1
ẋ25 = x24 x26 ( ) − x21 $ + u3
Iy Iy Iy
ẋ16 = x26
Ix − Iy 1
ẋ26 = x24 x25 ( ) + u4
Iz Iz
(a) (b)
(c)
r
∆u 2Lu 1
Hu (s) = = σu (2.27)
NW πv 1 + Lvu s
r √
∆v Lv 1 + 3L v
s
Hv (s) = = σv v
(2.28)
NW πv (1 + Lvv s)2
r √
∆w Lw 1 + 3L w
s
Hw (s) = = σw v
Lw 2
(2.29)
NW πv (1 + v s)
avec NW est un bruit blanc, v représente la vitesse relative du véhicule par rapport au
courant d’air et [∆u, ∆v, ∆w]T est le changement dans les vitesses linéaires du véhicule
dû à la rafale de vent. Les intensités de turbulence (σu , σv , σw ) et les longueurs longitu-
dinales de turbulence (Lu , Lv , Lw ) décrivent le comportement de la rafale de vent. Dans
la région de basse altitude (altitude < 304.8m), la longueur longitudinale et l’intensité
2.5 Simulation du modèle dynamique 56
h
Lw = h, Lu = Lv = (2.30)
(0.177 + 0.000823h)1.2
σu σv 1
σw = 0.1W20 , = = (2.31)
σw σw (0.177 + 0.000823h)0.4
avec h est la hauteur du véhicule (altitude) et W20 est la vitesse du vent exprimée en
échelle de Beaufort (BS). Dans notre travail, nous avons considéré une vitesse de vent
typique de 3.4m/s (BS 3) et une altitude de 3m. La figure 2.3 montre l’évolution tem-
porelle de la rafale de vent le long des trois axes (X, Y, Z).
Pour montrer le comportement non linéaire et couplé du Quadrotor, nous avons simulé
le modèle dynamique en boucle ouverte. Le vecteur des vitesses des moteurs ω =
[ω1 , ω2 , ω3 , ω4 ] est utilisé comme vecteur d’entrée et le vecteur de sortie contient la po-
sition et l’attitude y = [x, y, z, φ, θ, ψ].
Nous avons simulé deux mouvements du Quadrotor, le premier mouvement est un
décollage vertical (vertical-takeoff) et le deuxième un mouvement horizontal. Pour le
premier cas nous avons utilisé les entrées de système suivantes ω1 = ω2 = ω3 = ω4 =
50sin(0.9t)+912 pour une durée de tf = 5s, et les entrées ω1 = 50sin(0.9t)+712, ω2 =
50sin(0.9t) + 912, ω3 = 50sin(0.9t) + 1112, ω4 = 50sin(0.9t) + 912 pour le deuxième
cas.
La figure 2.4 montre un déplacement le long de l’axe Z, alors que la figure 2.5 montre
un déplacement dans l’espace 3D et un mouvement de rotation autour des trois axes
(X, Y, Z). en réalité, si on implémente le premier cas sur une plate-forme expérimentale
du Quadrotor on n’aura pas que le mouvement vertical, on aura une variation des six
degrés de libertés du véhicule et ça a cause des dynamiques et effets non modélisés tels
que l’aérodynamique de l’hélice, l’effet de sol et la rafale de vents dans les applications
outdoor etc.
(a)
(b)
2.6 Conclusion
3.1 Introduction
Récemment, de nouvelles applications prometteuses ont émergé pour les drones minia-
tures à voilure tournante en particulier le Quadrotor, comme la livraison de colis, la
cinématographie, la surveillance de l’agriculture et la manipulation aérienne. Cepen-
dant, ces applications sont encore limitées puisque l’énergie embarquée dont la source
est la batterie Lithium-Polymère (LiPo) fournit un temps de vol entre 15 et 45 minutes
ce qui limite la classe de mission qui peut être réalisée avec succès par le drone. Pour
entreprendre ce problème, de nombreux efforts ont été faits pour réduire le poids des
drones grâce à l’utilisation de châssis en fibre de carbone et l’amélioration du rapport
énergie poids. Ces solutions réussissent à réduire la consommation d’énergie lors de
fonctionnement dans des régimes affamés d’énergie; néanmoins, aucun progrès tech-
nologique significatif n’a été fait jusqu’à présent.
Dans ce chapitre, nous proposons une solution au problème de limitation de l’en-
durance de vol pour un type de véhicules aériens à voilure tournante à savoir le Quadro-
tor. Les Quadrotors sont des robots volants dotés de plusieurs rotors; ainsi, une grande
partie de leur énergie est consommée par les rotors afin de maintenir le véhicule dans
l’air. Dans ce concept, nous avons introduit un modèle énergétique composé de la dy-
namique du mouvement de véhicule , de la dynamique des moteurs et de la dynamique de
batterie; ensuite, le modèle proposé a été validé par simulation pour montrer la possibil-
ité d’économiser de l’énergie. Nous formulons deux problèmes de commande optimale
afin de calculer l’énergie minimale et le temps minimal. Dans le premier problème, nous
cherchons à trouver les entrées de commande et la trajectoire du véhicule entre deux
configurations initiales et finales qui minimisent l’énergie consommée durant une mis-
sion bien spécifique. Alors que dans le second, le temps minimal et la trajectoire du
véhicule sont calculés pour une énergie désirée.
sur les manœuvres. Les méthodes d’optimisation directe et indirecte sont les deux ap-
proches générales proposées pour résoudre les problèmes de planification de trajectoire
optimale [120]. La méthode indirecte, qui est basée sur les équations de Hamilton et de
Lagrange, a un faible taux de convergence et très sensible aux estimations initiales des
solutions. Puisque la dynamique du système est complexe, il est très difficile d’obtenir
une estimation initiale appropriée. Une autre approche est l’optimisation directe, tel
que la méthode de collocation et la programmation non linéaire, qui discrétise la trajec-
toire en plusieurs segments, puis résolve le problème d’optimisation paramétré. Cette
approche est très intéressante dans les applications complexes car elle ne nécessite pas
de dériver les conditions nécessaires et fournit une estimation initiale pour les variables
complémentaires [121]. En plus des deux approches, la cinématique de l’avion peut être
simplifiée en fonction des caractéristiques des différentes manœuvres de vol, appelées
approche de réduction de modèle. Les trajectoires générées par la suite sont composées
de plusieurs modes [122]. Dans notre travail, nous utilisons la méthode de programma-
tion non linéaire.
Avant de procéder à l’optimisation énergétique, nous avons besoin d’un modèle énergé-
tique pour avoir une idée sur l’énergie consommée par le véhicule pendant la mission
et fournir une relation directe entre l’énergie et la dynamique du véhicule. Le modèle
proposé dans cette section est composé de quatre bloc comme le montre la figure 3.2. Le
premier bloc représente la dynamique du mouvement de véhicule, le deuxième contient
la dynamique des moteurs, dans le troisième bloc on trouve la dynamique de la batterie
et dans le quatrième la fonction de rendement des moteurs [123].
˙X = f (X, U ) (3.1)
pour contrôler la vitesse angulaire de chaque moteur. Les moteurs électriques DC sont
bien modélisés par un circuit contenant une résistance, un inducteur et un générateur
de tension en série [124].
∂i(t) ω(t)
vm (t) = Ri(t) + L + (3.2)
∂t kv
∂ω(t)
(3.4)
Ir = τ (t) − Qf ω(t) − Dv ω(t)
∂t
ω(t)
vm (t) = Ri(t) + (3.5)
kv
où le terme k1v ω(t) représente la force électromotrice du moteur. Le tableau 3.1 montre
les coefficients du moteur BLDC utilisés dans notre étude.
l’inconvénient majeur de ce type de batterie est son coût élevé [125] [126].
Un modèle physique de la batterie Li-ion a été présenté. Le modèle de batterie a été
développé pour l’entrée comme étant le courant et comme sorties la tension et l’état de
charge (SOC). Ce modèle ne prend pas en compte l’influence de la température et du
phénomène autodécharge [125]. Cependant, il donne des résultats proches de la réalité.
Le modèle est basé sur les deux équations (3.6) (3.7), l’état de charge (SOC) et la tension
aux bornes de la cellule. R
I
SOC = 100 1 − (3.6)
Q
Ubat = Em − Rint I (3.7)
E0 est la tension en circuit ouvert à pleine charge, elle est différente de la tension nom-
inale donnée par le fabricant. Q est la capacité de la cellule en Ah, le paramètre K
Paramètre Valeur
Ir (kg.m2 ) 4.1904 10−5
kT (N.m/A) 0.0104 10−3
kv (rad/s/volt) 96.342
Dv (N ms/rad) 0.2 10−3
R (Ohm) 0.2
Paramètre Valeur
Q (Ah) 1.55
Rint (Ohm) 0.02
E0 (volt) 1.24
K (volt) 2.92 10−3
A 0.156
B 2.35
Z tf X
4
Ec = τj (t)ωj (t)dt (3.9)
t0 j=1
3.3 Modèle énergétique 66
avec τj (t) est le couple généré par le moteur j et ωj (t) est la vitesse du moteur à l’instant
t. En utilisant l’équation (3.4) pour les quatre moteurs, l’équation (3.9) devient:
Z tf X
4
Ec = Jω̇j (t) + κτ ωj2 (t) + Dv ωj (t) ωj (t)dt (3.10)
t0 j=1
Afin de rendre notre modèle énergétique plus réaliste, une fonction de rendement est
identifiée et ajoutée à la fonction d’énergie (3.10). Le rendement du moteur à courant
continu sans balai utilisé pour actionner le Quadrotor est en fonction du couple moteur
et de la vitesse de rotation fr (τ (t), ω(t)). Nous avons utilisé l’interpolation polynomiale
pour l’identification de la fonction de rendement, donc fr (τ (t), ω(t)) peut être formulée
comme suit:
fr τ (t), ω(t) = a ω(t) τ 3 (t) + b ω(t) τ 2 (t) + c ω(t) τ (t) + d ω(t) (3.11)
et
(a) (b)
Les paramètres du polynôme sont calculés en utilisant Matlab pour les quatre moteurs
(nous supposons que les moteurs sont identiques).
Afin de valider le modèle énergétique proposé, nous avons simulé deux missions de dé-
collage vertical avec deux trajectoires d’altitude différentes, comme le montre la Fig. 3.4a.
Les différentes entrées de commande utilisées pour les deux missions, sont indiquées sur
la Fig. 3.5. Les deux missions ont la même durée tf = 6s et la même configuration initiale
et finale.
Nous avons calculé l’énergie consommée pour les deux missions en utilisant l’équa-
3.4 Optimisation d’énergie 68
(a) (b)
tion (3.12). Pour la première mission (ligne rouge), l’énergie consommée est E1 =
5.12kJ, alors que dans la seconde mission (ligne bleue) l’énergie consommée est E2 =
5.97kJ; ainsi le gain entre les deux missions avec la même configuration initiale et finale
est de 17% de l’énergie totale. Pour une mission spécifique, l’optimisation de l’énergie
peut être atteint; ce dont nous avons besoin, c’est de trouver les entrées de commande
et la trajectoire qui permettent une consommation d’énergie optimale.
ẋ11 = x21
1
ẋ21 = (cos x14 sin x15 cos x16 + sin x14 sin x16 ) u1
m
ẋ12 = x22
1
ẋ22 = (cos x14 sin x15 sin x16 − sin x14 cos x16 ) u1
m
ẋ13 = x23
cos x14 cos x15
ẋ23 = −g + u1 (3.14)
m
ẋ14 = x24
Iy − Iz Ir 1
ẋ24 = x25 x26 ( ) + x22 $ + u2
Ix Ix Ix
ẋ15 = x25
Iz − Ix Ir 1
ẋ25 = x24 x26 ( ) − x21 $ + u3
Iy Iy Iy
ẋ16 = x26
Ix − Iy 1
ẋ26 = x24 x25 ( ) + u4
Iz Iz
et
π π
|φ| ≤ , |θ| ≤ , |ψ̇| ≤ _
2 2
ωmin ≤ ωj ≤ ωmax (3.15)
0 ≤ T ≤ Tmax , |uk | ≤ umax , k = 1, 2, 3
π
2
basés sur leur définition physique, et |ψ̇| ≤ Ψ est nécessaire pour générer une trajec-
toire lisse, avec Ψ est le taux de variation maximal de l’angle de lacet.
min tf (3.17)
(ωj ,τj )
ẋ11 = x21
1
ẋ21 = (cos x14 sin x15 cos x16 + sin x14 sin x16 ) u1
m
ẋ12 = x22
1
ẋ22 = (cos x14 sin x15 sin x16 − sin x14 cos x16 ) u1
m
ẋ13 = x23
cos x14 cos x15
ẋ23 = −g + u1 (3.18)
m
ẋ14 = x24
Iy − Iz Ir 1
ẋ24 = x25 x26 ( ) + x22 $ + u2
Ix Ix Ix
ẋ15 = x25
Iz − Ix Ir 1
ẋ25 = x24 x26 ( ) − x21 $ + u3
Iy Iy Iy
ẋ16 = x26
Ix − Iy 1
ẋ26 = x24 x25 ( ) + u4
Iz Iz
4
1 2
P
Ėc = Jω̇j + κτ ωj + Dv ωj ωj
j=1 fr,j τj ,ωj
3.6 Méthode de programmation non linéaire 71
et
π π
|φ| ≤ , |θ| ≤ , |ψ̇| ≤ _
2 2
ωmin ≤ ωj ≤ ωmax
0 ≤ T ≤ Tmax , |uk | ≤ umax , k = 1, 2, 3 (3.19)
[x(t0 ), y(t0 ), z(t0 ), φ(t0 ), θ(t0 ), ψ(t0 ), Ec (t0 )]T = [x0 , y0 , z0 , φ0 , θ0 , ψ0 , Ec,0 ]T
[x(tf ), y(tf ), z(tf ), Ec (tf )]T = [xf , yf , zf , Ec,f ]T (3.20)
Il faut noter que la fonction d’énergie Ec a été traitée comme une variable d’état dans ce
problème, avec les conditions aux limites Ec (t0 ) = Ec,0 et Ec (tf ) = Ec,f .
Les problèmes de commande optimale (3.13)-(3.16) et (3.17)-(3.20) présentés dans les sec-
tions précédentes sont des problèmes d’optimisation complexes et non linéaires. L’ap-
proche générale pour résoudre ce type de problème est la méthode de collocation directe.
L’idée de base de la collocation directe est de discrétiser une solution continue à un
problème représenté par des variables d’état et de commande en utilisant une interpola-
tion linéaire pour satisfaire les équations différentielles. De cette manière, un problème
de commande optimale est transformé en un problème de programmation non linéaire
(NLPP).
Dans notre étude, le problème de commande optimale proposé a été résolu numérique-
ment en utilisant un logiciel Matlab appelé GPOPS-II [128]. Le logiciel utilise une méth-
ode de collocation orthogonale en quadrature de Legendre-Gauss-Radau (LGR) [129]
[130] dans laquelle le problème de commande optimale en temps continu est transcrit à
un grand problème de programmation non linéaire éparpillé. Il utilise une méthode de
raffinement de maillage adaptatif qui détermine le nombre d’intervalles de maillage et le
degré du polynôme approximatif dans chaque intervalle de maillage afin d’obtenir une
précision spécifiée. Le logiciel permet l’utilisation de deux solveurs de programmation
non linéaire (NLP) pour résoudre le NLPP. Le premier est le solveur NLP open-source
IPOPT (Interior Point OPTimizer) [131], et le second est le solveur NLP SNOPT (Sparse
Nonlinear OPTimizer) [132].
3.7 Simulation et comparaison 72
(a) (b)
(a) (b)
3.11 et la figure 3.12. Il est clair de la figure 3.12 que les entrées de commande ωj (t)
sont saturées et il est évident que les actionneurs sont plus sollicités pour permettre au
véhicule de parcourir la trajectoire dans un temps minimal. Le temps optimal dépensé
pour parcourir la trajectoire en respectant les contraintes dans (3.22) est de tf = 3.06s.
3.7.2 Comparaison
Afin d’évaluer l’énergie consommée par le véhicule et avoir une idée sur l’énergie écono-
misée avec l’approche proposée, nous avons comparé l’énergie consommée par le véhicule
Quadrotor avec notre approche et l’énergie consommée en utilisant une approche de
commande classique. L’approche de commande classique se compose de deux con-
3.7 Simulation et comparaison 74
(a) (b)
(a) (b)
(a) (b)
(a) (b)
3.8 Conclusion
suite, nous avons validé le modèle énergétique à travers deux missions différentes avec
les mêmes configurations initiales et finales pour montrer la possibilité d’économiser de
l’énergie. Dans un but d’optimisation énergétique, un problème de commande optimale
a été introduit et résolu à l’aide d’un logiciel d’optimisation dynamique GPOPS-II. Dans
le problème de commande optimale, nous cherchons à trouver la trajectoire et les entrées
de commande du véhicule qui minimisent l’énergie consommée durant une mission spé-
cifique. Les expériences numériques ont illustré les solutions du problème de commande
optimale proposé, et l’étude comparative fournit une quantification de l’énergie qui peut
être sauvegardée dans une mission simple.
En effet le nombre d’application émergé par les drones miniatures à voilure tour-
nante précisément le Quadrotor ne cesse pas d’augmenter. Actuellement, les applica-
tions potentielles qui dominent le marché des drones miniatures nécessitent une grande
autonomie (longue durée de vol) à savoir l’agriculture et la photographie. De ce fait le
développement des algorithmes de génération de trajectoire et les approches de com-
mande qui minimisent l’énergie du drone durant sa mission reste un problème ouvert.
Dans le prochain chapitre, nous allons introduire une commande adaptative floue
directe à base d’un observateur d’état pour le Quadrotor.
Chapitre 4
4.1 Introduction
Deux approches de commande intelligentes seront introduites dans ce chapitre pour une
classe de système multi-rotors à savoir le Quadrotor. Cette classe des robots volants est
devenu récemment un domaine intéressant qui a motivé la communauté de chercheurs
à cause de large gamme d’application couver par ce type de robot volant. En raison de
sa grande maniabilité et de sa structure mécanique simple, le Quadrotor est devenu une
plate-forme de recherche de référence. Cependant, la conception de commande pour
ce type de véhicule est une étape compliquée car ce sont des systèmes mécaniques non
linéaires, sous-actionnés et instable. La conception d’un contrôleur pour ces aéronefs né-
cessite quelques considérations importantes à prendre en compte. Ces types de robots
volants ont un comportement non linéaire et variable dans le temps, des incertitudes
paramétriques (perturbations internes) et ils sont affectés par les turbulences atmosphéri-
ques (perturbations externes). Par conséquent, une stratégie de commande adaptative
robuste est nécessaire pour obtenir un suivi de trajectoire précis et des performances
élevées dans un vol autonome.
Au cours de la dernière décennie, la technique de commande par le backstepping a été
une solution intuitive au problème de commande des systèmes sous-actionnés les UAVs
(Unmanned Aerial Vehicles). En asservissant le sous-système actionné (attitude) et en
fournissant un contrôleur virtuel, on peut stabiliser le sous-système sous-actionné (posi-
tion). Malheureusement, cette approche systématique nécessite une connaissance com-
plète de la dynamique du système qui est une hypothèse extrêmement difficile à avoir en
pratique pour les UAVs. Dans le but de résoudre ce problème et étendre l’applicabilité du
backstepping, nous allons introduire dans ce chapitre une commande adaptative floue
par le backstepping pour le Quadrotor sans et avec observateur d’état. L’idée de base est
d’utiliser un système adaptatif flou pour estimer en ligne une loi de commande idéale
partiellement inconnue basé sur le modèle dynamique. Dans l’approche proposée, le
contrôleur est composé de trois termes, le terme adaptatif flou synthétisé pour approx-
imer une loi de commande backstepping basée sur le modèle dynamique. Un terme
robuste borné utilisé pour compenser l’erreur d’approximation floue. Le terme propor-
tionnel dérivé pour la commande de la variation des états du système. La stabilité de
la boucle fermée est étudiée par l’approche de Lyapunov. Les stratégies de commande
adaptative floue proposée ici garantissent la bornitude de tous les signaux de la boucle
fermée ainsi que la convergence des erreurs de poursuite vers un petit voisinage de zéro.
Les performances de ces lois de commande sont examinées par simulation.
Ce chapitre est construit ainsi : nous commençons par la formulation de problème
4.2 Formulation du problème 80
de commande pour le système étudié à savoir le Quadrotor dans la section 4.2. Nous
procédons ensuite dans la section 4.3 à la synthèse de la loi de commande adaptative
floue directe, la conception de son mécanisme d’adaptation et nous dégageons aussi les
conditions nécessaires pour la stabilité de la boucle fermée. La section 4.4 introduit la
synthèse de la loi de commande adaptative floue directe avec observateur d’état. La
section 4.5 est consacrée à la présentation et l’analyse des résultats de simulation issus
de l’application des lois de commande adaptatives floues proposées dans ce chapitre sur
le Quadrotor.
ẋ = x2i
1i
ẋ2i = fi (xs ) + gi (xs )ui (t) (4.1)
y = x
i 1i
avec: xs = [x11 , x21 , . . . , x1n , x2n ]T ∈ R2n , est le vecteur d’état complet, u = [u1 , . . . , un ]T ∈
Rn est le vecteur d’entrée de commande y = [y1 , . . . , yn ]T ∈ Rn est le vecteur de sortie,
fi (xs ) et gi (xs ) sont des fonctions non linéaires continues supposées inconnues. Afin
d’atteindre l’objectif de synthèse de la loi de commande, les hypothèses suivantes sont
retenues dans le reste de ce chapitre.
Hypothèse 4.1. Les trajectoires de références x1i,r , i = 1, . . . , n ainsi que leurs dérivées
ẋ1i,r , et ẍ1i,r sont supposées connues, continues et bornées.
Hypothèse 4.2. les angles de roulis, tangage et lacet sont supposées bornées (−π ≤
ψ ≤ π), (− π2 ≤ θ ≤ π2 ) et (− π2 ≤ φ ≤ π2 ). Cette hypothèse est courante dans la pratique
tan que le Quadrotor n’effectue pas de manœuvres agressives dans un vol libre.
Hypothèse 4.3. Les fonctions gi (xs ) ainsi que ses dirévées ġi (xs ), i = 1, . . . , n sont
définies positives et lipschitziennes.
4.2 Formulation du problème 81
et la deuxième erreur
e2i = υi − x2i (4.3)
du signal e2i .
Proposition 4.1. Considérons le système (4.1) affine en la commande et les erreurs e2i ,
i = 1, . . . , n données par (4.3). En utilisant les techniques de commande par le back-
stepping, une loi de commande peut être synthétisée u∗i (t), garantissant la convergence
vers zéro de e2i , i = 1, . . . , n, quand t → ∞, et par conséquent la convergence vers zéro
de e1i et sa dérivée quand t → ∞.
1
V1i = e21i (4.4)
2
avec κ1i est un paramètre de conception. En utilisant (4.6), la dérivée temporelle de V1i
(4.5) peut être reformulée comme suit
1 ġi (xs ) 2
V̇2i = V̇1i + e2i ė2i − 2 e (4.9)
gi (xs ) 2gi (xs ) 2i
En remplaçant (4.7), (4.8) et (4.9), on obtient
υ̇i + gi (xs )e1i − fi (xs ) ġi (xs )
V̇2i = −κ1i e21i + e2i − 2 e2i − ui (t) (4.10)
gi (xs ) 2gi (xs )
avec υ̇i = ẍ1i,r + κ1i (ẋ1i,r − ẋ1i ). En utilisant (4.11), on peut facilement vérifier que
Étant donné que V̇2i (t) est définie négative, alors V2i (t) ≤ V2i (0). Ce qui implique que
e1i et e2i convergence vers zéro quand t → ∞, par conséquent l’erreur de poursuite e1i
et sa première dérivée convergent aussi vers zéro.
La loi de commande u∗b,i (t) est idéale dans le cas où les fonctions non linéaires fi (xs )
et gi (xs ) sont inconnues. Dans ce qui suit nous cherchons à approximer cette loi de
commande par un système adaptatif floue robuste.
Remarque 4.1. Le terme proportionnel κ2i e2i dans la loi de commande (4.11) n’est pas
approximé avec la commande idéale u∗i (t) par le système adaptatif flou, nous utilisons
ce terme comme une action proportionnelle dans la loi de commande proposée pour
améliorer les performances fournies par le système adaptatif flou.
Nous avons prouvé dans la section précédente l’existence d’une commande idéale u∗i (t)
basée sur le modèle dynamique du système décrite par (4.11), celle-ci peut stabiliser le
4.3 Synthèse de la commande adaptative floue directe 83
système et assurer les performances désirées. Néanmoins, cette commande dépend des
dynamiques partiellement inconnues du système, du coup elle ne peut être implémentée.
Pour surmonter cette limitation, un mécanisme adaptative flou est utilisé pour estimer
cette commande u ∗ avec l’aide d’un terme robuste pour compenser les erreurs d’approx-
imation floue.
Le système d’inférence flou utilisé dans ce travail est un système flou de type Takagi-
Sugeno d’ordre zéro, multi entrées mono sortie. Un tel système se compose de quatre
parties: la base de connaissances (où de règles), la fuzzification, le moteur d’inférence
floue et la défuzzifiation. La base de connaissances se compose d’une collection de règles
floues if -then sous la forme suivante [136]
où : µFik ∈ µG1i , . . . , µGmi , et µGj (xi ) est la fonction d’appartenance associée à l’en-
i i
j
semble flou Gi . Définissons
Qn
i=1µF k (xf )
ϕk (xf ) = PN Qn i (4.14)
k=1 [ i=1 µFik (xf )]
avec ϕ(xf ) = [ϕ1 (xf ), . . . , ϕN (xf )]T est le vecteur des fonctions floues de base, et
ΘT = [yf1 , . . . , yfN ] est le vecteur des paramètres de la partie conclusion des règles floues.
Ensuite, la sortie du système flou (4.13) peut être réécrite comme suit
Lemme 4.1. [137] Pour toute fonction continue réelle f (xf ) définie sur l’ensemble com-
4.3 Synthèse de la commande adaptative floue directe 84
Remarque 4.2. Le système flou (4.15) est supposé être bien défini et ses paramètres
convenablement choisis de telle sorte que N
Qn
i=1 µFik (xf ) 6= 0 pour tout xf ∈ Ωxf .
P
k=1
Dans cette section, nous allons concevoir une commande adaptative floue robuste, ainsi
que les lois d’adaptation des paramètres de telle sorte que tous les signaux de la boucle
fermée soient uniformément stables et bornés et que les erreurs de poursuite e1i = x1i,r −
x1i soient aussi petites que possible. La loi de commande proposée est constituée de trois
termes, un terme adaptatif flou employé pour approcher les dynamiques inconnues du
système, un terme robuste conçu pour compenser les erreurs d’approximation floue, et
un terme proportionnel dérivé.
Hypothèse 4.4. En utilisant le lemme 4.1 et la démonstration donnée par [137], les sys-
tèmes adaptatifs flous sont des approximateurs universels, ils peuvent approximer toute
fonction lisse sur un ensemble compact. En se basant sur la capacité d’approximation
des systèmes flous, on peut supposer que les lois de commande u∗i (t) peuvent être ap-
proximées par le système adaptatif flou uf (xs | Θi ) comme suit
Nous supposons, qu’il existe un vecteur des paramètres Θ∗i lentement variables dans
le temps tel que la commande idéale u∗i (t) vérifie
avec εi (xs ) l’erreur d’approximation floue minimale, Θ∗i est le vecteur des paramètres
optimaux défini par [136]:
( )
Θ∗i = arg min sup | uf (xs | Θi ) − u∗i (t) | (4.18)
Θi ∈Ωθ xs ∈Ωxs
avec: Ωxs et Ωθ sont deux ensembles compact pour xs et Θi respectivement. Donc, nous
4.3 Synthèse de la commande adaptative floue directe 85
pouvons écrire
εi (xs ) = u∗i (t) − Θ∗T
i ϕi (xs ) (4.19)
Hypothèse 4.5. Les erreurs d’approximation floue εi (xs ) sont supposée bornées tel que
|εi (xs )| ≤ ε̄i pour tout xs ∈ Ωxs et ε̄i > 0 est une constante.
Puisque le vecteur optimal Θ∗i est inconnu, nous allons l’estimer par une loi d’adapta-
tion. Soit Θi une estimation du vecteur optimal Θ∗i ; la loi de commande pour le système
(4.15) est choisie comme suit
uf,i est le terme de commande adaptatif flou, conçu pour approcher la loi de com-
mande idéale basée sur le modèle dynamique u∗i (t) (4.11), avec ϕi (xs ) est le vecteur des
fonction floues de base, Θi est le vecteur des paramètres réglables du système flou.
avec γi > 0 et σ1i > 0 sont des constantes positives, e2i = ė1i + κi e1i et Θi (0) = 0.
ur,i est le terme de commande robuste borné employé pour compenser l’erreur d’ap-
proximation floue donné par
e2i
ur,i = ε̂i tanh( ) (4.23)
i
avec
e2i
ε̂˙i = ηi e2i tanh( ) − σ2i ε̂i (4.24)
i
avec ηi > 0, σ2i > 0 et i > 0 sont des constantes positives, et ε̂i (0) = 0.
up,i est le terme proportionnel dérivé, il est donné par
e2i
ε̂˙i = ηi e2i tanh − σ2i ε̂i (4.28)
i
Il est important de noter que les lois d’adaptations (4.27) et (4.28) sont conçues de telle
sorte que la dérivée de la fonction de Lyapunov candidate, utilisée dans la section suiv-
ante pour analyser la stabilité en boucle fermée, soit définie négative dans l’espace des
paramètres estimés lorsque ces paramètres dépassent certaines bornes [138].
avec ε̃i = εi − ε̂i , ε̂i est l’estimé de εi et Θ̃i = Θ∗i − Θi est l’erreur d’estimation.
La dérivée temporelle de V on utilisant (4.10) est
n
X 1 ˙ + 1 ε̃T ε̃˙
−κ1i e21i + e2i u∗i (t) − ui (t) + Θ̃Ti Θ̃ (4.30)
V̇ = i i
i=1
γi ηi i
Les vecteurs des paramètres optimales Θ∗i et εi sont supposés lentement variables
˙ = −˙Θ , et
dans le temps, par conséquent, la dérivée de l’erreur d’estimation sera Θ̃i i
˙ε̃i = −ε̂˙i . On a donc,
n
X h e2i i
V̇ = −κ1i e21i − κ2i e22i + e2i Θ̃Ti ϕi (xs ) + e2i εi (xs ) − ε̂i tanh( )
i=1
i
1 T˙ 1
− Θ̃i Θi − ε̃Ti ε̂˙i (4.32)
γi ηi
n
X 1 Th ˙
i
V̇ ≤ −κ1i e21i− κ2i e22i
+ Θ̃i γi e2i ϕi (xs ) − Θi
i=1
γi
e2i 1 h e2i i
+ |e2i | εi − e2i ε̂i tanh( ) + ε̃i ηi e2i tanh( ) − ε̂˙i
i ηi i
e2i e2i
− e2i εi tanh( ) + e2i ε̂i tanh( ) (4.33)
i i
e2i
|e2i | − e2i tanh( ) ≤ ζi = ς (4.34)
i
avec ζ une constante qui satisfait ζ = e−(ζ+1) , à savoir ζ = 0.2785. Ensuite, l’équation
(4.33) peut être réécrite comme suit
n
X 1 Th i
V̇ ≤ −κ1i e21i − κ2i e22i + Θ̃i γi e2i ϕi (xs ) − ˙Θi
i=1
γi
1 h e2i ˙
i
+ εi ς + ε̃i ηi e2i tanh( ) − ε̂i (4.35)
ηi i
Remplaçons les lois d’adaptation paramétriques ˙Θi (4.22), et ε̂˙i (4.24), on obtient
n
X σ1i T σ2i
V̇ ≤ −κ1i e21i − κ2i e22i + εi ς + Θ̃i Θi + ε̃i ε̂i (4.36)
i=1
γi ηi
σ1i T σ2i
En utilisant l’inégalité de Young pour les termes Θ̃i Θi et ε̃i ε̂i , on obtient
γi ηi
σ1i T σ1i σ1i ∗T ∗
Θ̃i Θi ≤ − Θ̃Ti Θ̃i + Θ Θ (4.37)
γi 2γi 2γi i i
σ2i σ2i σ2i 2
ε̃i ε̂i ≤ − ε̃2i + |εi | (4.38)
ηi 2ηi 2ηi
Par conséquent, l’équation (4.36) devient
n
X σ1i T σ1i ∗T ∗ σ2i 2 σ2i 2
V̇ ≤ −κ1i e21i − κ2i e22i + ε̄i ς − Θ̃i Θ̃i + Θ Θ − ε̃ + |εi | (4.39)
i=1
2γi 2γi i i 2ηi i 2ηi
Définissant 0 < λ < min σ1i , σ2i , 2κ1i , 2κ2i , (4.39) s’écrit
σ1i ∗T ∗ σ2i 2
V̇ ≤ −λV + ε̄i ς + Θ Θ + ε̄ (4.40)
2γi i i 2ηi i
4.3 Synthèse de la commande adaptative floue directe 88
Comme les vecteurs des paramètres Θ∗i et εi sont supposés bornés, nous pouvons donc
définir une borne constante et positive ρ, tel que
n
!
X σ1i ∗T ∗ σ2i 2
ρ = sup ε̄i ς + Θ Θ + ε̄ (4.41)
t i=1
2γi i i 2ηi i
Avec le théorème suivant nous pouvons prouver la bornitude de tous les signaux de la
boucle fermée ainsi que la convergence de l’erreur de poursuite e1i vers un petit voisinage
de zéro.
Théorème 4.1. Considérons le système non linéaire du Quadrotor (4.1). Supposons que les
hypothèses 4.1-4.5 et le lemme 4.1 sont satisfaites. La loi de commande adaptative floue
(4.26) avec les lois d’adaptation (4.22) et (4.24) garantit la stabilité de la boucle fermée et la
bornitude de tous les signaux ainsi que la convergence de l’erreur de poursuite vers un petit
voisinage autour de zéro.
ρ
V (t) ≤ V (0)e−λt + (4.43)
λ
|e2i (t)| ≤ µ pour tout t ≥ T . Afin d’atteindre la convergence d’erreur de poursuite vers
un petit voisinage autour de zéro et de rendre λρ aussi petit que désiré, les paramètres
p
de conception γi , ηi , i , σ1i , σ2i , κ1i et κ2i devrait être choisi de manière appropriée. Ainsi,
il est facile de voir que limt→∞ |e1i (t)| ≤ µ.
Il est important de noter que la loi de commande (4.26) peut être implémentée lorsque
le vecteur d’état du système xs (t) est mesurable. La connaissance du modèle dynamique
n’est pas nécessaire pour la conception de cette commande, de plus avec un choix ap-
proprier des paramètres γi , ηi , κ1i et κ2i nous pouvons assurer ainsi la poursuite de
trajectoires de références. Dans ce qui suit, nous allons étendre notre étude au cas où le
vecteur d’état xs (t) est reconstruit par un observateur d’état synthétisé pour ce but. Par
conséquent, la loi de commande adaptative floue directe à base d’observateur résultante
requiert uniquement la mesure de la sortie yi (t) pour le calcul de la commande ui (t).
4.4 Commande adaptative floue directe avec observateur 89
Dans la section précédente, nous avons monté que la commande adaptative floue (4.26)
doter d’une certain robustesse peut garantir la stabilité du système en boucle fermée ainsi
que la poursuite de trajectoire de référence; cependant le système flou utilisé dans cette
approche dépend du vecteur d’état. Par conséquent lorsque une partie du vecteur d’état
ou le vecteur d’état complet est indisponible, l’implémentation de la loi de commande
(4.26) sera difficile. Maintenant, après avoir vu le principe de la synthèse de la commande
adaptative floue, nous allons nous intéresser au cas où un observateur d’état est utilisé
afin d’estimer convenablement le vecteur d’état xs (t).
Les vecteurs Ki sont choisies de tel sorte que Ai soit une matrice Hurwitz. Notons
QTi = Qi > 0, il existe des matrices PiT = Pi > 0 symétriques et définies positives
solutions du système d’équations suivant
e˙i = Ai ei + δi (4.47)
avec xi = [x1i , x2i ]T , δi = [0, δf i + δgi ]T , δf i = fi (xs ) − fi (x̂s ) et δgi = gi (xs ) − gi (x̂s ).
Hypothèse 4.6. Les erreurs d’estimation non linéaires δf i , δgi sont lipschitziennes et
satisfait |δf i (x1 ) − δf i (x2 )| ≤ δ̄f i |x1 − x2 | , |δgi (x1 ) − δgi (x2 )| ≤ δ̄gi |x1 − x2 |, avec δ̄f i
et δ̄gi sont deux constantes positives.
ou encore
n
X 1
V̇ = eTi ATi Pi + Pi Ai ei + eTi Pi δi − κ1i ê21i + ê2i u∗i (t) − ui (t)
i=1
2
1 ˙ + 1 ε̃T ε̃˙
+ Θ̃Ti Θ̃i i (4.53)
γi ηi i
4.4 Commande adaptative floue directe avec observateur 91
1 1
eTi Pi δi ≤ kei k2 + kPi k2 (δf2i + δgi2
)
2 2
1 1
≤ kei k2 + kPi k2 (δ̄f2i + δ̄gi
2
) (4.55)
2 2
Choisissons λ̄ = min {2 min(λmin (Qi ) − 1/2), σ1i , σ2i , 2κ1i , 2κ2i }, (4.57) peut être récrite
ainsi
V̇ ≤ −λ̄V + % (4.59)
4.5 Stratégie de commande 92
avec
6
X σ1i ∗T ∗ σ2i ∗ 2
%= Θi Θi + |εi |
i=1
2γi 2η i
1
+ kPi k2 (δ̄f2i + δ̄gi
2
) + ε∗i ς (4.60)
2
Théorème 4.2. Considérons le système non linéaire du Quadrotor (4.1). Supposons que les
hypothèses 4.5 et 4.6 sont satisfaites. Alors, la loi de commande (4.48) avec l’observateur
d’état (4.44) garantissent la bornitude de tous les signaux de la boucle fermée ainsi que la
convergence des erreurs ê1i et ei vers un petit voisinage autour de zéro.
%
V (t) ≤ V (0)e−λ̄t + (4.61)
λ̄
A partir de (4.61), on conclut que pour V ≥ %/λ̄, nous avons V̇ ≤ 0. Donc, en se basant
sur le théorème de Lyapunov, les signaux en boucle fermée ê1i (t), ê2i (t), ei (t), Θ̃i (t),
p
ε̃i et ui (t), ainsi que les états du système x1i , x2i , x̂1i et x̂2i ; en plus, pour µ ≥ ρ/λ̄,
il existe un temps T > 0, tel que |ê2i (t)| ≤ µ̄ pour tout t ≥ T . Afin d’assurer la
convergence de l’erreur de poursuite vers un petit voisinage de zéro, il suffit de choisir
des valeurs appropriées pour les paramètres γi , ηi , i , σ1i , σ2i , κ1i et κ2i . Par conséquent,
p
il est possible de rendre %/λ̄ aussi petit que souhaité. Donc, les erreurs de poursuite
convergent vers des ensembles résiduels tels que |ê1i (t)| ≤ 2αi µ̄.
Le modèle dynamique du Quadrotor décris par (4.1) a six sorties (x, y, z, φ, θ, ψ) alors
qu’il n’a que quatre entrées indépendantes (u1 , u2 , u3 , u4 ). Par conséquent, le Quadrotor
est un système sous-actionnée. Nous ne pouvons pas contrôler tous les états en même
temps [101]. Une combinaison possible de sorties contrôlées peut être (x, y, z, ψ) afin
de suivre les positions désirés et de stabiliser l’angle de roulis et de tangage (φ, θ) qui
introduit une dynamique zéro stable dans le système. Pour résoudre ce problème, nous
supposons l’existence de deux entrées de commande auxiliaires (u5 , u6 ) en plus de qua-
tre entrées de commande du Quadrotor, de tel sorte que chaque sortie du système sera
contrôlée indépendamment. les entrées de commande auxiliaires u5 et u6 représentent
4.5 Stratégie de commande 93
u1
(4.62)
u5 = Cx11 Sx12 Cx13 + Sx11 Sx13
m
u1
(4.63)
u6 = Cx11 Sx12 Sx13 − Sx11 Cx13
m
avec C(.) et S(.) représente cos(.) et sin(.) respectivement. En utilisant l’approximation
de la loi de commande u4
mg
u1 = (4.64)
Cx11 Cx12
remplaçons (4.64) dans (4.62) et (4.63), et appliquant Cx13 (4.62)+Sx13 (4.63) , on obtient
u5 Cx13 + u6 Sx13
= tan(x12 ) (4.65)
g
u5 Sx13 − u6 Cx13
Cx12 = tan(x11 ) (4.66)
g
u5 cos ψ + u6 sin ψ
θr = atan
g
(4.67)
u5 sin ψ − u6 cos ψ
φr = atan cos θr
g
4.5 Stratégie de commande 94
Afin de valider les stratégies de commande adaptative floue directe synthétise, des simu-
lations sont réalisées pour vérifier la robustesse et les performances obtenues par le con-
trôleur proposé pour le problème de suivi de trajectoire d’un Quadrotor. Deux scénarios
de simulation sont implémentés. Dans le premier scénario, une trajectoire circulaire est
considérée sans tenir compte des perturbations externes. Dans le deuxième scénario, les
perturbations externes (rafales de vent) sont considérées. Les simulation ont été implé-
mentée sous l’environnement Simulink de Matlab avec une période d’échantillonnage
t = 0.001sec.
Les paramètres du modèle de Quadrotor utilisé dans la simulation sont illustrés sur
le tableau 2.1. Le modèle de rafales de vent présenté dans le chapitre 1 est utilisé pour
générer la vitesse du vent le long des trois axes (latéral, longitudinal et vertical). Ensuite,
ils sont considérés comme des perturbations externes additives à la vitesse de translation
du Quadrotor. Les paramètres du modèle de vent sont: Lu = Lv = 23.568, Lw = 3,
σu = σv = 0.68, σw = 0.34, avec une vitesse typique du vent de 3.4m/s. Une variation
4.6 Résultat de simulation 97
de 40% pour les paramètres d’inertie (Ix , Iy , Iz ) est considéré pour tester la robustesse
fournie par la stratégie de commande proposée vis a vis les incertitudes paramétriques.
Les variables d’entrée du système flou sont eF i = [e1i , ė1i ]T (i = 1, 2, 3) pour la posi-
tion, et xF i = [x1i , ẋ1i ]T (i = 4, 5, 6) pour les angles d’Euler. Pour chaque variable xF i
et eF i , trois ensembles flous Nf , Zf , Pf sont choisis, avec les fonctions d’appartenances
suivantes:
2 ! 2 !
x F i + π/12 e F i + 10
µFx1i = exp − 12 , µFe1i = exp − 21
π/18 4
2 !
xF i eF i 2
µFx2i = exp − 12 , µFe2i = exp − 21
π/18 4
2 ! 2 !
x Fi − π/12 e Fi − 10
µFx3i = exp − 21 , µFe3i = exp − 21
π/18 4
ils sont définis dans l’intervalle [−π/4, π/4] pour les angles d’Euler et [−15, 15] pour la
position. La trajectoire de référence est un cercle de 8 mètre de hauteur évoluant dans
l’espace cartésien défini par
πt π
xd = 1 − sin( + )m
30 2
πt
yd = −2 sin( + π) m
30
πt π
zd = 5 − 3 sin( + ) m
30 2
Les paramètres de conception pour la commande adaptative floue directe CAFD sont
choisis comme suit κ1i = 1 (i = 1, 2, 4, 5, 6), κ13 = 3, κ2i = 2 (i = 1, 2, 4, 5, 6), κ23 = 6.
Les gains de la loi d’adaptation floue sont choisis comme suit γi = 1.2 (i = 1, 2, 4, 5, 6),
γ3 = 2.8, σ1i = 0.01 et les gains du terme robuste i = 0.001, ηi = 0.03 et σ2i = 0.01.
Les valeurs initiales pour la position et les angles d’Euler sont x(0) = 0.5, y(0) = 0,
z(0) = 0.5, φ(0) = 0, θ(0) = 0, ψ(0) = 0.35, et les valeurs initiales des lois d’adaptation
paramétrique ε̂i (0) = 0, Θi (0) = 09×1 . Les vitesses linéaires et angulaires initiales sont
choisies égales à zéro.
Suivi de trajectoire sans perturbations externes
Les résultats de la simulation pour ce cas sont présentés sur les figures 4.6-4.9. La
figure 4.6 et 4.7 représente respectivement la position et l’attitude du véhicule, l’évolution
du drone dans l’espace est montrée sur la figure 4.9. Ces figures montre que la commande
CAFD permet au drone de suivre la trajectoire de référence malgré qu’il démarre d’une
position initial différent du celle de la référence. La commande CAFD génère des entrées
lisses représenter sur la figure 4.8.
4.6 Résultat de simulation 99
sont indiquées dans la figure 4.10. Les figures 4.11, 4.12 et 4.14 montre que la commande
CAFD arrive a compensé les effets des perturbation externes (rafale de vents) et per-
met au Quadrotor de suivre la trajectoire de référence avec des entrées de commande
acceptables (figure 4.13).
Les paramètres de conception pour la commande adaptative floue directe avec obser-
vateur CAFDO sont choisis comme suit κ11 = 0.3, c12 = 0.4, c13 = 1, c14 = 3, c15 =
5, c16 = 3, k11 = 8, k12 = 8, k13 = 5, k14 = 8, k15 = 8, k16 = 8, c21 = 0.6, c22 =
0.8, c23 = 2, c24 = 6, c25 = 10, c26 = 6, k21 = 16, k22 = 16, k23 = 10, k24 =
16, k25 = 16, k26 = 16. Les gains de la loi d’adaptation floue sont choisis comme suit
γi = 0.9 (i = 1, 2, 3, 5, 6), γ4 = 1.8, σ1i = 0.01 et les gains du terme robuste i = 0.001,
ηi = 0.03 et σ2i = 0.01. Les valeurs initiales pour la position et les angles d’Euler sont
x11 (0) = 0, x12 (0) = 0, x13 (0) = 0, x14 (0) = 1, x15 (0) = 0, x16 (0) = 0, x̂11 (0) =
0, x12 (0) = 0, x̂13 (0) = 0.179, x̂14 (0) = 2, x̂15 (0) = 0, x̂16 (0) = 0, et les valeurs ini-
tiales des lois d’adaptation paramétrique ε̂i (0) = 0, Θi (0) = [0, 0, 0, 0, 0, 0, 0, 0, 0]. Les
vitesses linéaires et angulaires initiales sont choisies égales à zéro.
Suivi de trajectoire sans perturbations externes
Les résultats de la simulation pour le suivi de cette trajectoire de référence sont présen-
tés par les figures 4.15-4.18. La trajectoire désirée en 3D et la trajectoire de Quadrotor
générer par la commande adaptative floue directe sont illustrées sur la figure 4.18, tan-
dis que les réponses de suivi de la position et de l’attitude du Quadrotor sont présentées
par la figure 4.15 et à la figure 4.16 respectivement. On peut remarquer que le suivi est
4.6 Résultat de simulation 104
réalisé avec une erreur nulle pour toutes les sorties de Quadrotor pour l’approche de
commande proposée. La Figure 4.16 montre comment les angles désirés de roulis et de
tangage changent leurs valeurs dans un intervalle de 20 deg entre −10 et +10 deg pour
assurer les performances souhaité en terme de suivi pour le mouvement en x et en y.
Comme représenté sur la figure 4.17, la stratégie de commande adaptative floue génère
des signaux d’entrée de commande lisses et bornés.
4.7 Conclusion
Dans ce chapitre, une loi de commande adaptative floue directe a été proposée et dévelop-
pée pour une classe des systèmes robotiques sous actionnées. Après avoir montré l’ex-
istence d’une commande explicite basée sur le modèle dynamique du système capable
d’assurer les objectifs de commande, ensuite nous nous sommes tournés vers l’approx-
imation de cette commande idéale inconnue par une loi de commande adaptative floue
directe avec l’aide d’un terme robuste et une action proportionnelle dérivée. Le mé-
canisme d’adaptation flou est synthétisé de telle sorte que la fonction de Lyapunov soit
négative. Ensuite, nous avons élargi notre étude au cas où le vecteur d’état est recon-
struit par un observateur ; ainsi la structure de commande à base d’observateur a été
dégagée aussi.
En effet, le développement des calculateurs et des capteurs embarqués rendent l’im-
plémentation de contrôleur adaptatif flou simple et réalisable, avec un grande nombre
d’application émergée par les drones miniatures à voilure tournante et la nécessité d’un
contrôleur performant sont les raisons qui nous ont poussées de développer ce con-
trôleur pour un robot volant de type Quadrotor. Il est important de noter ici que les hy-
pothèses faites lors de la conception de cette approche de commande sont communément
utilisées dans la littérature et vérifiées par plusieurs systèmes physiques. Le contrôleur
et les mécanismes d’adaptation, outre leur indépendance du modèle dynamique, ils as-
surent la stabilité de la boucle fermée ainsi que la convergence des erreurs de poursuite
vers un petit voisinage de zéro. Les résultats de simulation issus de l’application de cette
approche dans la commande du Quadrotor montrent bien la faisabilité et l’efficacité de
cette approche dans le rejet des perturbations externes et les perturbations internes.
Dans le prochain chapitre, nous allons introduire un algorithme de commande adap-
tative floue indirecte avec surface dynamique à base d’un observateur de perturbation,
validé en simulation pour un Quadrotor.
Chapitre 5
5.1 Introduction
La conception d’une stratégie de commande adaptative floue robuste à base d’un ob-
servateur de perturbation pour une classe des robots volants à voilure tournante non
linéaires fait l’objet de ce chapitre. Dans la commande à base d’observateur de per-
turbation, au lieu de considérer le problème de contrôle pour un système non linéaire
avec des perturbations comme un seul problème, il est divisé en deux sous-problèmes,
chacun avec ses propres objectifs de conception [140]. Le premier sous-problème est le
même que le problème de commande pour un système non linéaire sans perturbations
et son objectif est de stabiliser le système et d’obtenir les spécifications de performance
de suivi et/ou de régulation souhaitées. Le second sous-problème est l’atténuation des
perturbations. Un observateur de perturbation non linéaire est conçu pour estimer les
perturbations externes et ensuite utilisée cet estimé pour compenser l’influence des per-
turbations.
Les drones miniatures à voilure tournante sont généralement affectés par des pertur-
bations externes, telles que les rafales de vent et les forces aérodynamiques. Pour sur-
monter ce problème de nombreuses approches ont été proposées, on peut citer quelques
études sur le Quadrotor. Dans [110], les auteurs ont proposé une nouvelle application
d’une approche de commande hiérarchique, à l’aide d’un observateur de perturbation,
pour la commande de vol stationnaire d’un véhicule aérien sans pilote à voilure tour-
nante. Alors que dans [141] le problème de la conception et la validation expérimentale
d’un contrôleur pour guider un véhicule Quadrotor le long d’une trajectoire, tout en re-
jetant les perturbations constantes a été adressée. Une stratégie de commande avec rejet
des perturbations pour le suivi d’attitude d’un aéronef à la fois avec des incertitudes
internes et des perturbations externes a été étudiée dans [142]. Les auteurs de [143] pro-
posent un schéma de commande non linéaire hiérarchique pour le Quadrotor soumis à
des variations de la charge utile et des rafales de vent variant rapidement dans le temps
afin de suivre une trajectoire 3D.
La loi de commande que nous allons proposer ici se base principalement sur la com-
mande développée dans le chapitre précédent. La particularité de cette commande est
la présence de l’estimé des perturbations externe telle que les rafales de vent. Dans un
premier temps, nous allons synthétiser un observateur adaptatif de perturbation pour
estimer les effets de ces derniers sur le système. Par la suite nous allons employer cet es-
timé dans la loi de commande avec le terme adaptatif flou et le terme robuste. La stabilité
de la boucle de commande sera étudiée par l’approche de Lyapunov.
5.2 Formulation de problème 112
ẋ = x2i
1i
ẋ2i = fi (xs ) + gi (xs )ui (t) + αi wi (5.1)
y = x
i 1i
f1 (xs ) = 0, g1 (xs ) = 1
f2 (xs ) = 0, g2 (xs ) = 1
f3 (xs ) = −g, g3 (xs ) = (cos φ cos θ)/m
f4 (xs ) = θ̇ψ̇(Iy − Iz )/Ix + J θ̇$/Ix , g4 (xs ) = l/Ix
f5 (xs ) = φ̇ψ̇(Iz − Ix )/Iy − J φ̇$/Iy , g5 (xs ) = l/Iy
f6 (xs ) = φ̇θ̇(Ix − Iy )/Iz , g6 (xs ) = 1/Iz
yr (t), zr (t), ψr (t)), et garantir la bornitude de tous les signaux de la boucle fermée.
Dans cette section, nous allons concevoir une commande adaptative floue robuste, les
lois d’adaptation des paramètres, ainsi que un observateur de perturbations de telle sorte
que tous les signaux de la boucle fermée soient bornés et que les erreurs de poursuite
converge vers un petite voisinage de zéro. La loi de commande adaptative floue est com-
posée de trois termes [139] [134], le terme adaptatif flou uf,i = ΘTi ϕi (x̂s ) conçu pour
approximer une commande idéale inconnue basé sur le modèle dynamique du système
u∗i (t), avec ϕi (x̂s ) le vecteur des fonctions de base floue, ΘTi est le vecteur des paramètres
ê2i
ajustable et x̂s est l’estimé du vecteur d’état. Le terme robuste borné ur,i = δ̂i tanh( )
i
conçu pour compenser les erreurs d’approximation floues δ ∗ = u∗i (t) − Θ∗T i ϕ (x̂
i s ). Fi-
nalement up,i = κ2i ê2i le terme proportionnel dérivé.
Avant de procéder au contrôle robuste, nous définissons les erreurs de suivi comme
suit:
ê1i = x1i,r − x̂1i , i = 1, . . . , 6 (5.2)
u5 cos ψ̂ + u6 sin ψ̂
θr = atan( ) (5.3)
g
u5 sin ψ̂ − u6 cos ψ̂
φr = atan( cos θr ) (5.4)
g
avec υ̂i = ẋ1i,r +κ1i ê1i et κ1i > 0. Ensuite, nous introduisons l’algorithme de commande
suivant:
ê2i
ui (t) = Θi ϕi (x̂s ) + δ̂i tanh
T
+ κ2i ê2i (5.6)
i
˙Θi = γi ê2i ϕi (x̂s ) − σ1i Θi (5.7)
˙ ê2i
δ̂i = ηi ê2i tanh − σ2i δ̂i (5.8)
i
5.4 Synthèse de l’observateur de perturbation 114
avec κ2i > 0, j > 0, γj > 0, ηj > 0, σ1i > 0 et σ2i > 0 sont des paramètres de
conception, etΘi (0) = 0, δ̂i (0) = 0.
Afin de compenser les perturbations extérieures (rafales de vent), un quatrième terme
est ajouté à la loi de commande (5.6) uw,i = βi ŵi . Donc, la loi de commande (5.6) s’écrit
ê2i
ui (t) = ΘTi ϕi (x̂s ) + δ̂i tanh + κ2i ê2i + βi ŵi (5.9)
i
avec k1i , αi , k2i , τi , σ3i des constantes positives. l’équation(5.10) peut être réécrite sous
la forme suivante
x̂˙ = Ai x̂i + Ki yi + Bi + Gi ui (t) + Ei ŵi
i
ŵ˙ i = τi χ(yi − ŷi ) − σ3i ŵi (5.11)
ŷ = C T x̂
i i
avec xi = [x1i , x2i ]T , εi = [0, f̃i + g̃i ]T , f̃i = fi (xs ) − fi (xˆs ) et g̃i = gi (xs ) − gi (xˆs ).
Hypothèse 5.7. Les erreurs d’estimation non linéaires f̃i , g̃i sont lipschitziennes et sat-
isfait f̃i (x1 ) − f̃i (x2 ) ≤ f̄i |x1 − x2 | , |g̃i (x1 ) − g̃i (x2 )| ≤ ḡi |x1 − x2 |, avec f̄i et ḡi sont
deux constantes positive.
6
1X T 1 1 T 1 2 1 2
V = 2
si Pi si + ê1i + 2
ê + Θ̃ Θ̃i + δ̃i + w̃i (5.14)
2 i=1 gi (xˆs ) 2i γi i ηi τi
avec δ̃i = δi∗ − δ̂i , δ̂i est l’estimé de δi∗ and Θ̃i = Θ∗i − Θi est l’erreur d’estimation, avec
ê1i = x1i,r − x̂1i et ê2i = υ̂i − x̂2i avec υ̂i = ẋ1i,r + κ1i ê1i .
On utilisant l’équation (4.10), (5.12) et (5.13), la dérivée temporellle de V est
6
X
V̇ = − sTi Qi si + eTxi Pi (εi + Ei ewi ) − κ1i ê21i + ê2i [u∗i (t) − ui (t)]
i=1
1 ˙ + 1 δ̃ δ̃˙ + 1 w̃ w̃˙
+ Θ̃Ti Θ̃i i i i i (5.15)
γi ηi τi
5.5 Analyse de stabilité 116
1 1
sTi Pi εi ≤ksi k2 + kPi k2 (f̃i2 + g̃i2 )
2 2
1 1
≤ ksi k2 + kPi k2 (f̄i2 + ḡi2 ) (5.16)
2 2
6
X 1 1
V̇ ≤ −sTi Qi − I si + kPi k2 (f̄i2 + ḡi2 ) − κ1i ê21i
i=1
2 2
∗T ∗ ê2i
+ ê2i Θi ϕi (x̂s ) + δi − Θi ϕi (x̂s ) − δ̂i tanh
T
− κ2i ê2i − βi ŵi
i
1 ˙ + 1 δ̃ δ̃˙ + 1 w̃ w̃˙
+ sTi Pi Ei w̃i + Θ̃Ti Θ̃ i i i i i (5.17)
γi ηi τi
Les vecteurs des paramètres optimales Θ∗i , δi∗ and wi sont lentement variable dans le
˙ = −˙Θ , δ̃˙ = −δ̂˙ and
temps, par conséquent La dérivée de l’erreur d’estimation sera Θ̃i i i i
˙ ˙
w̃i = −ŵi . One have
6
X 1 1
V̇ ≤ −sTi Qi − I si + kPi k2 (f̄i2 + ḡi2 ) − κ1i ê21i − κ2i ê22i
i=1
2 2
∗ ê2i
+ ê2i Θ̃i ϕi (x̂s ) + si Pi Ei w̃i + ê2i δi − δ̂i tanh
T T
− βi ŵi
i
1 1 ˙ 1
− Θ̃Ti ˙Θi − δ̃i δ̂i − w̃i ŵ˙ i (5.18)
γi ηi τi
ê2i
En ajoutant et en substituant ê2i δ̃i tanh de (5.18), on obtient
i
6
X 1 1
V̇ ≤ −sTi Qi − I si + kPi k2 (f̄i2 + ḡi2 ) − κ1i ê21i − κ2i ê22i
i=1
2 2
1 T ˙
ê2i 1 ê2i ˙
+ Θ̃i γi ê2i ϕi (x̂s ) − Θi − ê2i δ̂i tanh + δ̃i ηi ê2i tanh( ) − δ̂i
γi i ηi i
∗ ê2i ê2i ∗ 1
˙
− δi ê2i tanh( ) + ê2i δ̂i tanh( ) + |ê2i | δi − ê2i βi ŵi + w̃i τi si Pi Ei −ŵi
T
i i τi |{z}
Cχ
(5.19)
5.5 Analyse de stabilité 117
ê2i
|ê2i | − ê2i tanh( ) ≤ ζi = ς (5.20)
i
˙
et en remplaçant par les lois d’adaptations ˙Θi (5.7), δ̂i (5.8) ET ŵ˙ i (5.10) dans (5.19) avec
la condtion Pi Ei = Cχ, on obtient
6
X 1 1
V̇ ≤ −sTi Qi − I si − κ1i ê21i − κ2i ê22i + kPi k2 (f̄i2 + ḡi2 )
i=1
2 2
σ1i T σ2i σ3i
+ Θ̃i Θi + δ̃i δ̂i + w̃i ŵi + δ̄i ς − ê2i βi ŵi (5.21)
γi ηi τi
6
X 1 1
V̇ ≤ −sTi Qi − I si − κ1i ê21i − κ2i ê22i + kPi k2 (f̄i2 + f̄i2 )
i=1
2 2
σ1i T σ1i ∗T ∗ σ2i 2 σ2i ∗ 2
− Θ̃i Θ̃i + Θ Θ − δ̃ + |δ |
2γi 2γi i i 2ηi i 2ηi i
βi βi σ3i 2 σ3i ∗ 2
+ δ̄i ς − ê22i + |wi∗ |2 − ewi + |w | (5.26)
2 2 2τi 2τi i
Définissant
Comme les vecteurs des paramètres Θ∗i , δi∗ et ŵi sont supposés bornés, nous pouvons
donc définir une borne constante et positive ρ̄, telle que
6
!
X σ1i σ2i 2 σ3i ∗ 2 1 βi
ρ̄ = sup + Θ∗T ∗
i Θi + δ̄i + |wi | + kPi k2 (f̄i2 + ḡi2 ) + |wi∗ |2 + δ̄i ς
t i=1
2γi 2ηi 2τi 2 2
(5.28)
avec ce choix, (5.27) devient
V̇ ≤ −cV + ρ̄ (5.29)
Théorème 5.3. Considérons le système non linéaire du Quadrotor (5.1). Supposons que
l’hypothèse 5.7 est satisfaites. Alors, la loi de commande (5.9) avec l’observateur de pertur-
bation (5.10) garantissent la la bornitude de tous les signaux de la boucle fermée ainsi que
la convergence des erreurs ê1i et si vers un petit voisinage autour de zéro.
ρ̄
V (t) ≤ V (0)e−ct + (5.30)
c
A partir de (5.30), on conclut que pour V ≥ ρ̄/c, nous avons V̇ ≤ 0. Donc, en se basant
sur le théorème de Lyapunov, les signaux en boucle fermée ê1i (t), ê2i (t), si (t), Θ̃i (t), δ̃i ,
p
w̃i et ui (t), ainsi que les états du système x1i , x2i , x̂1i et x̂2i ; en plus, pour µ ≥ ρ̄/c,
il existe un temps T > 0, tel que |ê2i (t)| ≤ µ̄ pour tout t ≥ T . Afin d’assurer la
convergence de l’erreur de poursuite vers un petit voisinage de zéro, il suffit de choisir
des valeurs appropriées pour les paramètres γi , ηi , i , σ1i , σ2i , σ3i , βi , κ1i et κ2i . Par
p
conséquent, il est possible de rendre ρ̄/c aussi petit que souhaité. Donc, les erreurs de
poursuite convergent vers des ensembles résiduels tels que |ê1i (t)| ≤ 2αi µ̄. N
La commande adaptative floue basé sur l’observateur de perturbation proposée, est ap-
pliqué sur le Quadrotor et validé par simulations sous Matlab pour vérifier la robustesse
et les performances atteintes par cette approche de commande pour le suivi de trajectoire
et le rejet des perturbations externes. Le modèle de rafale de vent utilisé pour générer la
vitesse du vent le long des trois axes est le même modèle utilisé dans le chapitre précé-
dent ainsi que les paramètres de ce modèle.
5.6 Résultat de simulation 119
Les paramètres de conception sont choisis tel que κ11 = 0.3, κ12 = 0.4, κ13 = 1, κ14 =
3, κ15 = 4, κ16 = 4, k11 = 10, k12 = 10, k13 = 8, k14 = 10, k15 = 10, k16 = 10,
κ21 = 0.3, κ22 = 0.4, κ23 = 2, κ24 = 6, κ25 = 8, κ26 = 8, k21 = 18, k22 = 18, k23 =
16, k24 = 18, k25 = 18, k26 = 18. Les gains de la loi d’adaptation floue sont choisis
comme suit γi = 0.9 (i = 1, 2, 3, 5, 6), γ4 = 1.8, σ1i = 0.01 et les gains du terme robuste
i = 0.001, ηi = 0.03 avec σ2i = 0.01, et τi = 35, σ3i = 0.001, βi = 1.
Les valeurs initiales pour la position et les angles d’Euler sont x11 (0) = 0, x12 (0) =
0, x13 (0) = 0, x14 (0) = 0, x15 (0) = 0, x16 (0) = 0, x̂11 (0) = 0, x̂12 (0) = 0, x̂13 (0) =
0.179, x̂14 (0) = 0, x̂15 (0) = 0, x̂16 (0) = 0, et les valeurs initiales des lois d’adaptation
paramétrique ε̂i (0) = 0, Θi (0) = [09×1 ]. Les vitesses linéaires et angulaires initiales sont
choisies égales à zéro.
Les résultats de la simulation pour le suivi des trajectoires de cette trajectoire désirée
sont présentés sur les figures 5.1-5.4. La trajectoire désirée en 3D et la trajectoire de
Quadrotor générer par la commande adaptative floue sont illustrées sur la figure 1, tandis
que les réponses de suivi de la position et de l’attitude du Quadrotor sont présentées par
la figure 5.2 et figure 5.3 respectivement. On peut remarquer que le suivi est réalisé avec
une erreur nulle et le rejet de l’effet de rafale de vent pour toutes les sorties de Quadrotor.
Figure 5.3 montre comment les angles de roulis et de tangage changent leurs valeurs
afin d’assurer les performances de suivi appropriée pour le mouvement x et y. Comme
5.6 Résultat de simulation 120
représenté sur la figure 5.4, la stratégie de commande proposée génère des signaux de
d’entrée lisses et bornées.
La figure 5.5 représente la vitesse du vent réelle et estimée le long des trois axes
(x, y, z), comme le montrent ces figures nous avons obtenu de bonnes performances
d’estimation, ce qui permet au contrôleur de compenser les perturbations externes.
5.7 Conclusion 122
5.7 Conclusion
Dans la dernière décennie, le Quadrotor est devenu une plate-forme populaire dans
la recherche scientifique. En raison de sa simplicité de conception et de manœuvre, les
Quadrotors ont de nombreuses applications civiles. Les derniers sont des robots volants
qui utilisent la portance générée par quatre moteurs, et pour cette raison, une grande
partie de leur énergie disponible est consommée par les moteurs afin de maintenir le
véhicule dans l’espace. Les applications potentielles de Quadrotor tels que la photogra-
phie et la surveillance des agricultures nécessite une grande autonomie, mais la tech-
nologie des batteries LiPo disponible actuellement ne donne pas l’autonomie nécessaire
pour la mission du drone.
Le problème fondamental des drones miniatures à voilure tournante est le vol sécurisé,
robuste et fiable du véhicule dans diverses circonstances. La petite taille de ces véhicules
pose un ensemble de défis pour les utilisateurs potentiels et les concepteurs de ces véhicules.
La taille décroissante de système des capteurs embarqués injecte plus de bruit dans les
algorithmes de commande. La petite taille du châssis du véhicule rend le système plus
sensible aux perturbations de l’environnement. Ces facteurs doivent être considérés et
atténués lors de la conception de ces plate-formes pour un vol robuste et fiable. Dans
la littérature au cours de la dernière décennie, il y a eu de nombreux travaux dans le
développement de méthodes de commande linéaire pour les drones miniatures. Cepen-
dant, les progrès récents dans la technologie des calculateurs embarqués ont permis de
mettre en œuvre des algorithmes non linéaires plus avancés à bord de ces systèmes. Ces
méthodes non linéaires donnent de meilleurs résultats mais supposent une connaissance
parfaite de la dynamique du véhicule.
Cette thèse a présenté des contributions à l’état de l’art dans la génération de tra-
jectoire optimale en terme d’énergie du Quadrotor, l’optimisation d’énergie et la com-
mande du Quadrotor. Dans le chapitre 3, nous avons traité le problème de limitation de
l’endurance de vol d’un Quadrotor. Nous avons décrit un modèle énergétique et deux
problèmes de commande optimale pour calculer l’énergie minimale ainsi que le temps.
La résolution des deux problèmes permet de trouver les entrées de commande et la tra-
jectoire du véhicule qui minimisent l’énergie consommée et le temps durant la mission
du drone.
Dans le chapitre 4, nous avons présenté deux approche de commande avec et sans
observateur d’état. Les lois de commande proposées permettent d’améliorer les per-
formances de poursuite de trajectoire pour le Quadrotor et atténuer les perturbation
internes et externes. Dans le chapitre 5, un autre algorithme de commande robuste basé
sur l’observateur de perturbation est introduit. Il permet l’estimation des perturbations
Conclusion générale et perspectives 125
externes variable dans le temps dans le but de les compenser pour atténuer leurs effets.
En extension des travaux présentés dans cette thèse, plusieurs pistes peuvent être
explorées et développées. On peut révéler quelques idées à développer dans le futur.
La première piste à explorer est d’intégrer l’aérodynamique des hélices dans le mod-
èle énergétique pour avoir un modèle proche de la réalité. L’optimisation de taux de
vieillissement de la batterie pour augmenter la durée du vie de la batterie est une piste
importante.
Une deuxième idée à développer est de formuler un problème d’optimisation multi-
objectives pour minimiser l’énergie et le taux de vieillissement de la batterie en même
temps et augmenter l’énergie économisée.
L’amélioration de la stabilité obtenue par les approches de commande présentées dans
cette thèse peuvent être envisageables et ce, pour avoir une stabilité asymptotique au lieu
d’une stabilité bornée.
Il serait très intéressant d’implémenter les algorithmes de génération de trajectoire et
les algorithmes de commande sur une plate-forme de Quadrotor afin de les valider.
Annexe A
Codes Matlab
A.1 Codes Matlab chapitre 1 127
Dans cette section nous présentons les codes Matlab utilisés dans la simulation pour
les chapitres 1 et 2.
34 %% c a l c u l e de l a commande %%
35 omega1=exp ( −(( x1−c2 ) / Sigma ) ^2) * exp ( −(( x2−c2 ) / Sigma ) ^2) ;
36 omega2=exp ( −(( x1−c2 ) / Sigma ) ^2) * exp ( −(( x2−c1 ) / Sigma ) ^2) ;
37 omega3=exp ( −(( x1−c2 ) / Sigma ) ^2) * exp ( −(( x2 ) / Sigma ) ^2) ;
38 omega4=exp ( −(( x1−c2 ) / Sigma ) ^2) * exp ( −(( x2+c2 ) / Sigma ) ^2) ;
39 omega5=exp ( −(( x1−c2 ) / Sigma ) ^2) * exp ( −(( x2+c1 ) / Sigma ) ^2) ;
40 omega6=exp ( −(( x1−c1 ) / Sigma ) ^2) * exp ( −(( x2−c2 ) / Sigma ) ^2) ;
41 omega7=exp ( −(( x1−c1 ) / Sigma ) ^2) * exp ( −(( x2−c1 ) / Sigma ) ^2) ;
42 omega8=exp ( −(( x1−c1 ) / Sigma ) ^2) * exp ( −(( x2 ) / Sigma ) ^2) ;
43 omega9=exp ( −(( x1−c1 ) / Sigma ) ^2) * exp ( −(( x2+c2 ) / Sigma ) ^2) ;
44 omega10=exp ( −(( x1−c1 ) / Sigma ) ^2) * exp ( −(( x2+c1 ) / Sigma ) ^2) ;
45 omega11=exp (−( x1 / Sigma ) ^2) * exp ( −(( x2−c2 ) / Sigma ) ^2) ;
46 omega12=exp (−( x1 / Sigma ) ^2) * exp ( −(( x2−c1 ) / Sigma ) ^2) ;
47 omega13=exp (−( x1 / Sigma ) ^2) * exp ( −(( x2 ) / Sigma ) ^2) ;
48 omega14=exp (−( x1 / Sigma ) ^2) * exp ( −(( x2+c2 ) / Sigma ) ^2) ;
49 omega15=exp (−( x1 / Sigma ) ^2) * exp ( −(( x2+c1 ) / Sigma ) ^2) ;
50 omega16=exp ( −(( x1+c1 ) / Sigma ) ^2) * exp ( −(( x2−c2 ) / Sigma ) ^2) ;
51 omega17=exp ( −(( x1+c1 ) / Sigma ) ^2) * exp ( −(( x2−c1 ) / Sigma ) ^2) ;
52 omega18=exp ( −(( x1+c1 ) / Sigma ) ^2) * exp ( −(( x2 ) / Sigma ) ^2) ;
53 omega19=exp ( −(( x1+c1 ) / Sigma ) ^2) * exp ( −(( x2+c2 ) / Sigma ) ^2) ;
54 omega20=exp ( −(( x1+c1 ) / Sigma ) ^2) * exp ( −(( x2+c1 ) / Sigma ) ^2) ;
55 omega21=exp ( −(( x1+c2 ) / Sigma ) ^2) * exp ( −(( x2−c2 ) / Sigma ) ^2) ;
56 omega22=exp ( −(( x1+c2 ) / Sigma ) ^2) * exp ( −(( x2−c1 ) / Sigma ) ^2) ;
57 omega23=exp ( −(( x1+c2 ) / Sigma ) ^2) * exp ( −(( x2 ) / Sigma ) ^2) ;
58 omega24=exp ( −(( x1+c2 ) / Sigma ) ^2) * exp ( −(( x2+c2 ) / Sigma ) ^2) ;
59 omega25=exp ( −(( x1+c2 ) / Sigma ) ^2) * exp ( −(( x2+c1 ) / Sigma ) ^2) ;
60 sumomega=omega1+omega2+omega3+omega4+omega5+omega6+omega7+ . . .
61 omega8+omega9+omega10+omega11+omega12+omega13+ . . .
62 omega14+omega15+omega16+omega17+omega18+omega19+ . . .
63 omega20+omega21+omega22+omega23+omega24+omega25 ;
64 mu1=omega1/sumomega ; mu6=omega6/sumomega ;
65 mu2=omega2/sumomega ; mu7=omega7/sumomega ;
66 mu3=omega3/sumomega ; mu8=omega8/sumomega ;
67 mu4=omega4/sumomega ; mu9=omega9/sumomega ;
68 mu5=omega5/sumomega ; mu10=omega10 /sumomega ;
69 mu11=omega11 /sumomega ; mu16=omega16 /sumomega ;
70 mu12=omega12 /sumomega ; mu17=omega17 /sumomega ;
71 mu13=omega13 /sumomega ; mu18=omega18 /sumomega ;
72 mu14=omega14 /sumomega ; mu19=omega19 /sumomega ;
73 mu15=omega15 /sumomega ; mu20=omega20 /sumomega ;
74 mu21=omega21 /sumomega ;
75 mu22=omega22 /sumomega ;
76 mu23=omega23 /sumomega ;
A.1 Codes Matlab chapitre 1 129
77 mu24=omega24 /sumomega ;
78 mu25=omega25 /sumomega ;
79 i n p u t 1 =[ e ep mu1 mu2 mu3 mu4 mu5 mu6 mu7 mu8 mu9 mu10 . . .
80 mu11 mu12 mu13mu14 mu15 mu16 mu17 mu18 mu19 . . .
81 mu20 mu21 mu22 mu23 mu24 mu25 ] ;
82 i n p u t 2 =[ e ep mu1 mu2 mu3 mu4 mu5 mu6 mu7 mu8 mu9 mu10 . . .
83 mu11 mu12 mu13 mu14 mu15 mu16 mu17 mu18 mu19 . . .
84 mu20 mu21 mu22 mu23 mu24 mu25 u ] ;
85 t h e t a f p=a d a p t a t i o n _ f ( i n p u t 1 ) ;
86 t h e t a f=t h e t a f+pas * t h e t a f p ;
87 t h e t a g p=adaptation_g ( i n p u t 2 ) ;
88 t h e t a g=t h e t a g+pas * t h e t a g p ;
89 p h i =[mu1 mu2 mu3 mu4 mu5 mu6 mu7 mu8 mu9 mu10 mu11 mu12 . . .
90 mu13 mu14 mu15 mu16 mu17 mu18 mu19 mu20 mu21 mu22 . . .
91 mu23 mu24 mu25 ] ;
92 f=t h e t a f * phi ’ ;
93 G=t h e t a g * phi ’ ;
94 u=(1/G) *(− f+K*E+yrpp ) ;
95
96 %% i t e g r a t i o n du modele%%
97 i n p u t 3 =[ x1 x2 u ] ;
98 F=p e n d u l e ( i n p u t 3 ) ;
99 x=x+pas *F ’ ;
100 end
101 figure
102 p l o t ( t t , yyr , ’ r ’ , t t , xx1 , ’ b ’ ) ;
Les trois fonctions utilisés dans le main.m sont pendule.m représente le modèle du
système, adaptation_f.m donne l’estimation des paramètres θf et adaptation_g.m
représente l’estimation des paramètres θg .
1 f u n c t i o n [ output ]= p e n d u l e ( i n p u t )
2 g l o b a l l m g mc
3 %% l e s e n t r é e s %%
4 x1 = i n p u t ( 1 ) ;
5 x2 = i n p u t ( 2 ) ;
6 u = input (3) ;
7 %% l e s s o r t i e s %%
8 output ( 1 ) = x2 ;
9 output ( 2 ) = ( g* s i n ( x1 ) −(m* l * x2 ^2* c o s ( x1 ) * s i n ( x1 ) / (mc+m) ) ) / . . .
10 ( l *(4/3 −(m* ( c o s ( x1 ) ) ^2) / (mc+m) ) ) +((( c o s ( x1 ) / . . .
11 (mc+m) ) ) / ( l *(4/3 −(m* ( c o s ( x1 ) ) ^2) / (mc+m) ) ) ) *u ;
A.1 Codes Matlab chapitre 1 130
1 f u n c t i o n output=a d a p t a t i o n _ f ( i n p u t )
2 g l o b a l gamma1
3 e=i n p u t ( 1 ) ;
4 ep=i n p u t ( 2 ) ;
5 mu1=i n p u t ( 3 ) ;
6 mu2=i n p u t ( 4 ) ;
7 mu3=i n p u t ( 5 ) ;
8 mu4=i n p u t ( 6 ) ;
9 mu5=i n p u t ( 7 ) ;
10 mu6=i n p u t ( 8 ) ;
11 mu7=i n p u t ( 9 ) ;
12 mu8=i n p u t ( 1 0 ) ;
13 mu9=i n p u t ( 1 1 ) ;
14 mu10=i n p u t ( 1 2 ) ;
15 mu11=i n p u t ( 1 3 ) ;
16 mu12=i n p u t ( 1 4 ) ;
17 mu13=i n p u t ( 1 5 ) ;
18 mu14=i n p u t ( 1 6 ) ;
19 mu15=i n p u t ( 1 7 ) ;
20 mu16=i n p u t ( 1 8 ) ;
21 mu17=i n p u t ( 1 9 ) ;
22 mu18=i n p u t ( 2 0 ) ;
23 mu19=i n p u t ( 2 1 ) ;
24 mu20=i n p u t ( 2 2 ) ;
25 mu21=i n p u t ( 2 3 ) ;
26 mu22=i n p u t ( 2 4 ) ;
27 mu23=i n p u t ( 2 5 ) ;
28 mu24=i n p u t ( 2 6 ) ;
29 mu25=i n p u t ( 2 7 ) ;
30 E=[ e ep ] ; b = [ 0 ; 1 ] ;
31 P=[15 5 ; 5 5 ] ;
32 output ( 1 ) = −gamma1*E*P*b*mu1 ;
33 output ( 2 ) = −gamma1*E*P*b*mu2 ;
34 output ( 3 ) = −gamma1*E*P*b*mu3 ;
35 output ( 4 ) = −gamma1*E*P*b*mu4 ;
36 output ( 5 ) = −gamma1*E*P*b*mu5 ;
37 output ( 6 ) = −gamma1*E*P*b*mu6 ;
38 output ( 7 ) = −gamma1*E*P*b*mu7 ;
39 output ( 8 ) = −gamma1*E*P*b*mu8 ;
40 output ( 9 ) = −gamma1*E*P*b*mu9 ;
41 output ( 1 0 ) = −gamma1*E*P*b*mu10 ;
A.1 Codes Matlab chapitre 1 131
42 output ( 1 1 ) = −gamma1*E*P*b*mu11 ;
43 output ( 1 2 ) = −gamma1*E*P*b*mu12 ;
44 output ( 1 3 ) = −gamma1*E*P*b*mu13 ;
45 output ( 1 4 ) = −gamma1*E*P*b*mu14 ;
46 output ( 1 5 ) = −gamma1*E*P*b*mu15 ;
47 output ( 1 6 ) = −gamma1*E*P*b*mu16 ;
48 output ( 1 7 ) = −gamma1*E*P*b*mu17 ;
49 output ( 1 8 ) = −gamma1*E*P*b*mu18 ;
50 output ( 1 9 ) = −gamma1*E*P*b*mu19 ;
51 output ( 2 0 ) = −gamma1*E*P*b*mu20 ;
52 output ( 2 1 ) = −gamma1*E*P*b*mu21 ;
53 output ( 2 2 ) = −gamma1*E*P*b*mu22 ;
54 output ( 2 3 ) = −gamma1*E*P*b*mu23 ;
55 output ( 2 4 ) = −gamma1*E*P*b*mu24 ;
56 output ( 2 5 ) = −gamma1*E*P*b*mu25 ;
1 f u n c t i o n output=adaptation_g ( i n p u t )
2 g l o b a l gamma2
3 e=i n p u t ( 1 ) ;
4 ep=i n p u t ( 2 ) ;
5 mu1=i n p u t ( 3 ) ;
6 mu2=i n p u t ( 4 ) ;
7 mu3=i n p u t ( 5 ) ;
8 mu4=i n p u t ( 6 ) ;
9 mu5=i n p u t ( 7 ) ;
10 mu6=i n p u t ( 8 ) ;
11 mu7=i n p u t ( 9 ) ;
12 mu8=i n p u t ( 1 0 ) ;
13 mu9=i n p u t ( 1 1 ) ;
14 mu10=i n p u t ( 1 2 ) ;
15 mu11=i n p u t ( 1 3 ) ;
16 mu12=i n p u t ( 1 4 ) ;
17 mu13=i n p u t ( 1 5 ) ;
18 mu14=i n p u t ( 1 6 ) ;
19 mu15=i n p u t ( 1 7 ) ;
20 mu16=i n p u t ( 1 8 ) ;
21 mu17=i n p u t ( 1 9 ) ;
22 mu18=i n p u t ( 2 0 ) ;
23 mu19=i n p u t ( 2 1 ) ;
24 mu20=i n p u t ( 2 2 ) ;
25 mu21=i n p u t ( 2 3 ) ;
26 mu22=i n p u t ( 2 4 ) ;
A.2 Codes Matlab chapitre 2 132
27 mu23=i n p u t ( 2 5 ) ;
28 mu24=i n p u t ( 2 6 ) ;
29 mu25=i n p u t ( 2 7 ) ;
30 u=i n p u t ( 2 8 ) ;
31 E=[ e ep ] ; b = [ 0 ; 1 ] ;
32 P=[15 5 ; 5 5 ] ;
33 output ( 1 ) = −gamma2*E*P*b*mu1*u ;
34 output ( 2 ) = −gamma2*E*P*b*mu2*u ;
35 output ( 3 ) = −gamma2*E*P*b*mu3*u ;
36 output ( 4 ) = −gamma2*E*P*b*mu4*u ;
37 output ( 5 ) = −gamma2*E*P*b*mu5*u ;
38 output ( 6 ) = −gamma2*E*P*b*mu6*u ;
39 output ( 7 ) = −gamma2*E*P*b*mu7*u ;
40 output ( 8 ) = −gamma2*E*P*b*mu8*u ;
41 output ( 9 ) = −gamma2*E*P*b*mu9*u ;
42 output ( 1 0 ) = −gamma2*E*P*b*mu10*u ;
43 output ( 1 1 ) = −gamma2*E*P*b*mu11*u ;
44 output ( 1 2 ) = −gamma2*E*P*b*mu12*u ;
45 output ( 1 3 ) = −gamma2*E*P*b*mu13*u ;
46 output ( 1 4 ) = −gamma2*E*P*b*mu14*u ;
47 output ( 1 5 ) = −gamma2*E*P*b*mu15*u ;
48 output ( 1 6 ) = −gamma2*E*P*b*mu16*u ;
49 output ( 1 7 ) = −gamma2*E*P*b*mu17*u ;
50 output ( 1 8 ) = −gamma2*E*P*b*mu18*u ;
51 output ( 1 9 ) = −gamma2*E*P*b*mu19*u ;
52 output ( 2 0 ) = −gamma2*E*P*b*mu20*u ;
53 output ( 2 1 ) = −gamma2*E*P*b*mu21*u ;
54 output ( 2 2 ) = −gamma2*E*P*b*mu22*u ;
55 output ( 2 3 ) = −gamma2*E*P*b*mu23*u ;
56 output ( 2 4 ) = −gamma2*E*P*b*mu24*u ;
57 output ( 2 5 ) = −gamma2*E*P*b*mu25*u ;
5 g = 9 .8066 ;
6 Ix = 0 .081 ;
7 Iy = 0 .081 ;
8 Iz = 0 .142 ;
9 nB = 2 ;
10 mB = 0 . 0 0 5 5 ;
11 r = 0 .12 ;
12 e = 0 .004 ;
13 Jm = 4 . 9 *(10^ −6) ;
14 J l = ( 1 / 4 ) *nB*mB* ( r−e ) ^ 2 ;
15 I r = J l+Jm ;
16 CT = 0 . 0 0 4 8 ;
17 CQ = 2 . 3 5 1 5 *(10^ −4) ;
18 Rho = 1 . 2 2 5 ;
19 A = pi * r ^2;
20 b = CT*Rho*A* r ^ 2 ;
21 k = CQ*Rho*A* r ^ 3 ;
22 t f =5;
23 pas=0. 0 0 1 ;
24 %% i n i t i a l i s a t i o n %%
25 x=z e r o s ( 1 2 , 1 ) ; u=z e r o s ( 4 , 1 ) ;
26 t t = [ ] ; xx = [ ] ; uu = [ ] ;
27 f o r t =0: pas : t f
28 xx=[xx x ] ;
29 t t =[ t t t ] ;
30 uu=[uu u ] ;
31 %% e n t r é e s de commande pour d é c o l l a g e v e r t i c a l
32 w1=50* s i n ( 0 . 9 * t ) +912;%712
33 w2=50* s i n ( 0 . 9 * t ) +912;
34 w3=50* s i n ( 0 . 9 * t ) +912;%1112
35 w4=50* s i n ( 0 . 9 * t ) +912;
36 u=[w1 w2 w3 w4 ] ’ ;
37 %% e n t r é e s de commande pour t r a n s l a t i o n h o r i z o n t a l e
38 %w1=50* s i n ( 0 . 9 * t ) +712;
39 %w2=50* s i n ( 0 . 9 * t ) +912;
40 %w3=50* s i n ( 0 . 9 * t ) +1112;
41 %w4=50* s i n ( 0 . 9 * t ) +912;
42 %u=[w1 w2 w3 w4 ] ’ ;
43 %% i t e g r a t i o n du modele%%
44 i n p u t =[x ; u ] ;
45 F=q u a d r o t o r ( i n p u t ) ;
46 x=x+pas *F ’ ;
47 x ( 1 ) = x ( 1 ) * ( abs ( x ( 1 ) ) ≤ p i / 2 )+p i / 2 * ( abs ( x ( 1 ) )>p i / 2 ) * s i g n ( x ( 1 ) ) ;
A.2 Codes Matlab chapitre 2 134
1 f u n c t i o n [ output ]= q u a d r o t o r ( i n p u t )
2 g l o b a l l m g k b Ix Iy Iz I r
3 a1 = ( Iy−I z ) / I x ;
4 a2 = −I r / I x ;
5 a3 = ( Iz −I x ) / I y ;
6 a4 = I r / I y ;
7 a5 = ( Ix−I y ) / I z ;
8 b1 = 1/ I x ;
9 b2 = 1/ I y ;
10 b3 = 1/ I z ;
11 %% l e s e n t r e e s de l a f o n c t i o n %%
12 p h i=i n p u t ( 1 ) ;
13 phip=i n p u t ( 2 ) ;
14 t h e t a=i n p u t ( 3 ) ;
15 t h e t a p=i n p u t ( 4 ) ;
16 p s i=i n p u t ( 5 ) ;
17 p s i p=i n p u t ( 6 ) ;
18 x=i n p u t ( 7 ) ;
19 xp=i n p u t ( 8 ) ;
20 y=i n p u t ( 9 ) ;
21 yp=i n p u t ( 1 0 ) ;
22 z=i n p u t ( 1 1 ) ;
23 zp=i n p u t ( 1 2 ) ;
24 w1=i n p u t ( 1 3 ) ;
25 w2=i n p u t ( 1 4 ) ;
26 w3=i n p u t ( 1 5 ) ;
A.2 Codes Matlab chapitre 2 135
27 w4=i n p u t ( 1 6 ) ;
28 %% l e s e n t r é e s de commande %%
29 ux=c o s ( p s i ) * s i n ( t h e t a ) * c o s ( p h i )+s i n ( p s i ) * s i n ( p h i ) ;
30 uy=s i n ( p s i ) * s i n ( t h e t a ) * c o s ( p h i )−c o s ( p s i ) * s i n ( p h i ) ;
31 u1=b * (w1^2+w2^2+w3^2+w4^2) ;
32 u2=b* l * (w4^2−w2^2) ;
33 u3=b* l * (w3^2−w1^2) ;
34 u4=k * (w1^2−w2^2+w3^2−w4^2) ;
35 Wr=w1−w2+w3−w4 ;
36 %% l e s s o r t i e s de l a f o n c t i o n %%
37 output ( 1 ) = phip ;
38 output ( 2 ) = b1*u2+a1 * t h e t a p * p s i p+a2 *Wr* t h e t a p ;
39 output ( 3 ) = t h e t a p ;
40 output ( 4 ) = b2*u3+a3 * phip * p s i p+a4 *Wr* phip ;
41 output ( 5 ) = p s i p ;
42 output ( 6 ) = b3*u4+a5 * phip * t h e t a p ;
43 output ( 7 ) = xp ;
44 output ( 8 ) = ( ux/m) *u1 ;
45 output ( 9 ) = yp ;
46 output ( 1 0 ) = ( uy/m) *u1 ;
47 output ( 1 1 ) = zp ;
48 output ( 1 2 ) = ( c o s ( p h i ) * c o s ( t h e t a ) /m) *u1−g ;
Références
[5] B. Samir, Design and Control of Quadrotors with Application to Autonomous Flying.
PhD thesis, Ecole Polytechnique Federale de Lausanne, 2007.
[7] P. Pounds, R. Mahony, and P. Corke, “Modelling and control of a quad-rotor robot,”
in Proceedings of the Australasian Conference on Robotics and Automation 2006,
2006.
[8] B. R. Hein and I. Chopra, “Hover performance of a micro air vehicle: Rotors at
low reynolds number,” Journal of the American Helicopter Society, vol. 52, no. 3,
pp. 254–262, 2007.
[14] A. Kushleyev, B. MacAllister, and M. Likhachev, “Planning for landing site selec-
tion in the aerial supply delivery,” in Intelligent Robots and Systems (IROS), IEEE/RSJ
International Conference on, (San Francisco, CA, USA), pp. 1146–1153, 2011.
[15] R. He, S. Prentice, and N. Roy, “Planning in information space for a quadrotor
helicopter in a gps-denied environment,” in Robotics and Automation (ICRA), IEEE
International Conference on, (Pasadena, CA, USA), pp. 1814–1820, 2008.
[16] D. Mellinger and V. Kumar, “Minimum snap trajectory generation and control for
quadrotors,” in Robotics and Automation (ICRA), IEEE International Conference on,
(Shanghai, China), pp. 2520–2525, 2011.
[19] D. Mellinger, N. Michael, and V. Kumar, Trajectory Generation and Control for
Precise Aggressive Maneuvers with Quadrotors, pp. 361–373. Berlin, Heidelberg:
Springer Berlin Heidelberg, 2014.
Références 138
[22] V. Ghadiok, J. Goldin, and W. Ren, “Autonomous indoor aerial gripping using a
quadrotor,” in Intelligent Robots and Systems (IROS), IEEE/RSJ International Confer-
ence on, (San Francisco, CA, USA), pp. 4645–4651, 2011.
[26] Z. T. Dydek, A. M. Annaswamy, and E. Lavretsky, “Adaptive control and the nasa
x-15-3 flight revisited,” IEEE Control Systems Magazine, vol. 30, no. 3, pp. 32–48,
2010.
[32] B. Pierre-Jean, C. François, V. David, and P. Nicolas, “The navigation and control
technology inside the ar.drone micro uav,” IFAC Proceedings Volumes, vol. 44, no. 1,
pp. 1477–1484, 2011.
[36] T. Hamel and P. Souères, “Modélisation, estimation et contrôle des drones à voil-
ures tournantes; un aperçu des projets de recherche français,” 5ème Journées Na-
tionales de la Recherche en Robotique, 2005.
[37] P. Pounds, Design, construction and control of a large quadrotor micro air vehicle.
PhD thesis, Australian National University, Australia, 2007.
[40] P. Pounds, R. Mahony, and P. Corke, “Modelling and control of a large quadrotor
robot,” Control Engineering Practice, vol. 18, no. 7, pp. 691–699, 2010.
[41] S. Bouabdallah, P. Murrieri, and R. Siegwart, “Design and control of an indoor mi-
cro quadrotor,” in Robotics and Automation (ICRA), IEEE International Conference
on, pp. 4393–4398, 2004.
[44] P. Castillo, A. Dzul, and R. Lozano, “Real-time stabilization and tracking of a four-
rotor mini rotorcraft,” Control Systems Technology, IEEE Transactions on, vol. 12,
no. 4, pp. 510–516, 2004.
[45] A. R. Teel, “Global stabilization and restricted tracking for multiple integrators
with bounded controls,” Systems & control letters, vol. 18, no. 3, pp. 165–171, 1992.
[46] P. Castillo, P. Albertos, P. Garcia, and R. Lozano, “Simple real-time attitude sta-
bilization of a quad-rotor aircraft with bounded signals,” in Decision and Control,
2006 45th IEEE Conference on, pp. 1533–1538, IEEE, 2006.
[49] S. Berkane, A. Abdessameud, and A. Tayebi, “Hybrid attitude and gyro-bias ob-
server design on so(3),” Automatic Control, IEEE Transactions on, vol. 62, no. 11,
pp. 6044–6050, 2017.
[50] S. Berkane and A. Tayebi, “On the design of attitude complementary filters on
so(3),” Automatic Control, IEEE Transactions on, vol. PP, no. 99, pp. 1–1, 2017.
[53] D. Mellinger, M. Shomin, and V. Kumar, “Control of quadrotors for robust perch-
ing and landing,” in Proceedings of the International Powered Lift Conference,
pp. 205–225, 2010.
[55] D. Mellinger, N. Michael, and V. Kumar, “Trajectory generation and control for pre-
cise aggressive maneuvers with quadrotors,” The International Journal of Robotics
Research, vol. 31, no. 5, pp. 664–674, 2012.
Références 141
[58] M. Hehn and R. D’Andrea, “Real-time trajectory generation for interception ma-
neuvers with quadrocopters,” in Intelligent Robots and Systems (IROS), IEEE/RSJ
International Conference on, pp. 4979–4984, IEEE, 2012.
[60] R. Ritz, M. Mueller, and R. D’Andrea, “Cooperative quadrocopter ball throwing and
catching,” in Intelligent Robots and Systems (IROS), IEEE/RSJ International Confer-
ence on, pp. 4972–4978, IEEE, 2012.
[62] C. Coza and C. Macnab, “A new robust adaptive-fuzzy control method applied to
quadrotor helicopter stabilization,” in Fuzzy Information Processing Society, 2006.
NAFIPS 2006. Annual meeting of the North American, pp. 454–458, IEEE, 2006.
[63] A. Rabhi, M. Chadli, and C. Pegard, “Robust fuzzy control for stabilization
of a quadrotor,” in Advanced Robotics (ICAR), 15th International Conference on,
pp. 471–475, IEEE, 2011.
[67] H. Voos, “Nonlinear and neural network-based control of a small four-rotor aerial
robot,” in Advanced intelligent mechatronics, IEEE/ASME international conference
on, pp. 1–6, IEEE, 2007.
[69] H. Boudjedir, O. Bouhali, and N. Rizoug, “Adaptive neural network control based
on neural observer for quadrotor unmanned aerial vehicle,” Advanced Robotics,
vol. 28, no. 17, pp. 1151–1164, 2014.
[70] T. Madani and A. Benallegue, “Adaptive control via backstepping technique and
neural networks of a quadrotor helicopter,” IFAC Proceedings Volumes, vol. 41,
no. 2, pp. 6513–6518, 2008.
[72] K. Alexis, G. Nikolakopoulos, and A. Tzes, “On trajectory tracking model predic-
tive control of an unmanned quadrotor helicopter subject to aerodynamic distur-
bances,” Asian Journal of Control, vol. 16, no. 1, pp. 209–224, 2014.
[78] M. Huang, B. Xian, C. Diao, K. Yang, and Y. Feng, “Adaptive tracking control of
underactuated quadrotor unmanned aerial vehicles via backstepping,” in American
Control Conference (ACC), pp. 2076–2081, 2010.
[83] R. Lozano, P. Castillo, and A. Dzul, “Global stabilization of the pvtol: real-time
application to a mini-aircraft,” International Journal of Control, vol. 77, no. 8,
pp. 735–740, 2004.
[87] L. Derafa, L. Fridman, A. Benallegue, and A. Ouldali, “Super twisting control algo-
rithm for the four rotors helicopter attitude tracking problem,” in Variable Struc-
ture Systems (VSS), 11th International Workshop on, pp. 62–67, IEEE, 2010.
[88] L.-X. Wang, Adaptive fuzzy systems and control: design and stability analysis. PTR
Prentice Hall, Englewood Cliffs, 1994.
[89] L.-X. Wang, “Fuzzy systems are universal approximators,” in Fuzzy Systems, IEEE
International Conference on, pp. 1163–1170, IEEE, 1992.
[90] T. Takagi and M. Sugeno, “Fuzzy identification of systems and its applications
to modeling and control,” IEEE Transactions on Systems, Man, and Cybernetics,
vol. SMC-15, no. 1, pp. 116–132, 1985.
[91] L. X. Wang and J. M. Mendel, “Fuzzy basis functions, universal approximation, and
orthogonal least-squares learning,” IEEE Transactions on Neural Networks, vol. 3,
no. 5, pp. 807–814, 1992.
[92] L.-X. Wang, A course in fuzzy system and control. Prentice-Hall International, Inc,
1997.
[93] K. M. Passino and S. Yurkovich, Fuzzy Control. Addison Wesley Longman, Inc.,
1998.
[94] P. Castillo, R. Lozano, and A. Dzul, Modelling and control of mini-flying machines.
Springer Science & Business Media, 2006.
[96] F. Kendoul, D. Lara, I. Fantoni, and R. Lozano, “Nonlinear control for systems
with bounded inputs: Real-time embedded control applied to uavs,” in Decision
and Control (CDC), 45th IEEE Conference on, (San Diego, CA, USA), pp. 5888–5893,
2006.
Références 145
[98] T. Madani and A. Benallegue, “Control of a quadrotor mini-helicopter via full state
backstepping technique,” in Decision and Control (CDC), 45th IEEE Conference on,
(Minneapolis, MN), pp. 1515–1520, 2006.
[99] T. Madani and A. Benallegue, “Backstepping control with exact 2-sliding mode
estimation for a quadrotor unmanned aerial vehicle,” in Intelligent Robots and Sys-
tems (IROS), IEEE/RSJ International Conference on), pp. 141–146, 2007.
[101] T. Madani and A. Benallegue, “Sliding mode observer and backstepping control
for a quadrotor unmanned aerial vehicles,” in American Control Conference (ACC),
pp. 5887–5892, 2007.
[103] H. Goldstein, C. Poole, and J. Safko, Classical Mechanics. Addison Wesley, 2002.
[104] G. Fay, Derivation of the aerodynamic forces for the mesicopter simulation. Stanford
University, USA, 2001.
[105] H. A. Izadi, Y. Zhang, and B. W. Gordon, “Fault tolerant model predictive control of
quad-rotor helicopters with actuator fault estimation,” IFAC Proceedings Volumes,
vol. 44, no. 1, pp. 6343–6348, 2011.
[108] J. Etele, Overview of Wind Gust Modelling with Application to Autonomous Low-
Level UAV Control. Defence Research and Development Canada, 2006.
Références 146
[110] B. Ahmed and F. Kendoul, “Flight control of a small helicopter in unknown wind
conditions,” in Decision and Control (CDC), 49th IEEE Conference on, pp. 3536–3541,
2010.
[114] J. F. Roberts, J.-C. Zufferey, and D. Floreano, “Energy management for indoor hov-
ering robots,” in Intelligent Robots and Systems (IROS), IEEE/RSJ International Con-
ference on, pp. 1242–1247, 2008.
[119] F. Morbidi, R. Cano, and D. Lara, “Minimum-energy path generation for a quadro-
tor uav,” in Robotics and Automation (ICRA), IEEE International Conference on, 2016.
[121] S. Hosseini, R. Dai, and M. Mesbahi, “Optimal path planning and power allocation
for a long endurance solar-powered uav,” in American Control Conference (ACC),
pp. 2588–2593, 2013.
[124] M. Cutler, N. K. Ure, B. Michini, and J. P. How, “Comparison of fixed and variable
pitch actuators for agile quadrotors,” in AIAA Conference on Guidance, Navigation
and Control, 2011.
[126] K. Divya and J. Østergaard, “Battery energy storage technology for power sys-
tems—an overview,” Electric Power Systems Research, vol. 79, no. 4, pp. 511–520,
2009.
[128] M. A. Patterson and A. V. Rao, “Gpops-ii: A matlab software for solving multiple-
phase optimal control problems using hp-adaptive gaussian quadrature collo-
cation methods and sparse nonlinear programming,” ACM Trans. Math. Softw.,
vol. 41, no. 1, pp. 1–37, 2014.
Références 148
[129] D. Garg, W. W. Hager, and A. V. Rao, “Pseudospectral methods for solving infinite-
horizon optimal control problems,” Automatica, vol. 47, no. 4, pp. 829–837, 2011.
[132] P. E. Gill, W. Murray, and M. A. Saunders, “Snopt: An sqp algorithm for large-scale
constrained optimization,” SIAM review, vol. 47, no. 1, pp. 99–131, 2005.
[135] J.-J. Slotine, W. Li, et al., Applied nonlinear control, vol. 199. Prentice Hall Engle-
wood Cliffs, NJ, 1991.
[136] S.-C. Tong, Y.-M. Li, G. Feng, and T.-S. Li, “Observer-based adaptive fuzzy back-
stepping dynamic surface control for a class of mimo nonlinear systems,” Sys-
tems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on, vol. 41, no. 4,
pp. 1124–1135, 2011.
[137] L.-X. Wang, Adaptive Fuzzy Systems and Control: Design and Stability Analysis.
Upper Saddle River, NJ, USA: Prentice-Hall, Inc., 1994.
[138] P. Ioannou and J. Sun, Robust Adaptive Control. Prentice Hall, Inc, 1996.
[139] F. Yacef, O. Bouhali, and M. Hamerlain, “Adaptive fuzzy backstepping control for
trajectory tracking of unmanned aerial quadrotor,” in Unmanned Aircraft Systems
(ICUAS), IEEE International Conference on, pp. 920–927, 2014.
[142] L. Wang and J. Su, “Robust disturbance rejection control for attitude tracking
of an aircraft,” Control Systems Technology, IEEE Transactions on, vol. 23, no. 6,
pp. 2361–2368, 2015.
[143] C. Wang, B. Song, P. Huang, and C. Tang, “Trajectory tracking control for quadro-
tor robot subject to payload variation and wind gust disturbance,” Journal of In-
telligent & Robotic Systems, vol. 83, no. 2, pp. 315–333, 2016.