Hably Final Manuscrit
Hably Final Manuscrit
Hably Final Manuscrit
Ahmad Hably
THESE
Ahmad Hably
le 05 décembre 2007
Titre :
Approches bornées pour la commande des drones
JURY
M. Didier GEORGES INP Grenoble Président
M. Yacine CHITOUR Université Paris 11 Rapporteur
M. Frédric MAZENC INRA Montpellier Rapporteur
M. Rogelio LOZANO CNRS Compiegne Examinateur
M. Mazen ALAMIR CNRS Grenoble Directeur de thèse
M. Nicolas MARCHAND CNRS Grenoble Co-encadrant de thèse
Remerciements
Ce long travail fastidieux ponctué par des hauts et des bas a été illuminé
par la présence de mes amis. Les repas au RU et les pauses cafés que je partageais
avec aux m’ont permis d’échapper au stress induit par la thèse. Je teins à remercier
mes collègues : Maher (pour Barakah et Pizzano), Adib (Alzaaem), Abed Al-Kader,
Bilal (pour ses conseils), Ahmed, Fethi, Samir, Ayman, Cédric (Camera man), Lyes,
Bader, Walid, Firas, Zaher, Salah, Haffar, Fermi, Denis, Jonathan, Zahra, Nadia,
Sophie, Siba et Amani. Je souhaitais dédier ce travail à ma famille et surtout à mon
frère Abbass et ma soeur Najah qui sont mortes durant la guerre civile du Liban.
3
4
Table des matières
Introduction 1
2 PVTOL 37
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.2 Modèle dynamique du PVTOL . . . . . . . . . . . . . . . . . . . . . 39
2.2.1 Caractéristiques du PVTOL . . . . . . . . . . . . . . . . . . . 41
i
ii Table des matières
3 Le quadrirotor 77
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.2 Quadrirotor du gipsa-lab . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.2.1 Caractéristiques physiques . . . . . . . . . . . . . . . . . . . . 78
3.2.2 Forces et couples . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.3 Modèle dynamique du quadrirotor . . . . . . . . . . . . . . . . . . . . 85
3.3.1 L’attitude du quadrirotor . . . . . . . . . . . . . . . . . . . . 85
3.3.2 La dynamique de translation . . . . . . . . . . . . . . . . . . . 87
3.4 Modèles dynamiques proposés . . . . . . . . . . . . . . . . . . . . . . 88
3.4.1 Modélisation selon Euler-Lagrange . . . . . . . . . . . . . . . 88
3.4.2 Modélisation selon Newton-Euler . . . . . . . . . . . . . . . . 91
3.4.3 Discrétisation du modèle du quadrirotor . . . . . . . . . . . . 93
3.5 Commande d’attitude du quadrirotor . . . . . . . . . . . . . . . . . . 98
3.5.1 Commande non-bornée d’attitude du quadrirotor . . . . . . . 98
3.5.2 Commande bornée d’attitude du quadrirotor . . . . . . . . . . 99
3.6 Stabilisation de la position du quadrirotor . . . . . . . . . . . . . . . 106
3.6.1 Stabilisation de la position avec des commandes non-bornées . 106
3.6.2 Stabilisation de la position avec des commandes bornées . . . 109
3.6.3 Stratégie de commande . . . . . . . . . . . . . . . . . . . . . . 111
3.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Conclusion 117
ANNEXES 119
Table des matières iii
A 119
A.1 Preuve de Théorème 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 119
A.2 Preuve de Théorème 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 121
A.3 Preuve de Théorème 5 . . . . . . . . . . . . . . . . . . . . . . . . . . 122
B 127
B.1 Existence de U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
B.2 Existence de V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
B.3 Étude de l’effet de n sur les éléments de commande . . . . . . . . . . 130
B.4 Étude de stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
B.5 Fonction de saturation . . . . . . . . . . . . . . . . . . . . . . . . . . 133
B.6 Stabilité globale du PVTOL avec gravité . . . . . . . . . . . . . . . . 134
B.6.1 Stabilité locale du PVTOL . . . . . . . . . . . . . . . . . . . . 135
B.6.2 Stabilité globale de θ − θd . . . . . . . . . . . . . . . . . . . . 136
B.6.3 Stabilité globale de Σt . . . . . . . . . . . . . . . . . . . . . . 138
B.6.4 Stabilité globale du PVTOL (Σr + Σt ) . . . . . . . . . . . . . 138
C 139
C.1 La trajectoire de l’angle en appliquant une commande continue par
morceaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
C.2 Modèle discret du quadrirotor . . . . . . . . . . . . . . . . . . . . . . 140
C.2.1 Calcul de Γ basé sur les intégrales de Fresnel . . . . . . . . . . 141
C.3 Commande bornée d’attitude du quadrirotor . . . . . . . . . . . . . . 143
C.4 Stabilisation de la position du quadrirotor . . . . . . . . . . . . . . . 146
C.4.1 Stabilité globale de la dynamique de lacet . . . . . . . . . . . 146
C.4.2 Stabilité globale de η1 − η1d et η3 − η3d . . . . . . . . . . . . . 146
C.4.3 Stabilité globale du sous-système de translation . . . . . . . . 148
C.4.4 Stabilité globale du quadrirotor . . . . . . . . . . . . . . . . . 148
D 149
D.1 Stabilité des systèmes en cascade . . . . . . . . . . . . . . . . . . . . 149
Bibliographie 149
iv Table des matières
Table des figures
1 Le quadrirotor de gipsa-lab . . . . . . . . . . . . . . . . . . . . . . . 2
v
vi Table des figures
Motivation
Ce travail de thèse a été réalisé au Laboratoire d’Automatique de Grenoble de-
venu le département d’automatique de gipsa-lab au sein du projet "Drone". Les
drones sont des aéronefs de faible dimension capables d’emporter une charge utile
(caméra, vidéo transmetteur, etc) et d’effectuer, de manière assez autonome, une
mission. Ils peuvent être classés en trois catégories principales, à savoir les avions,
les dirigeables et les hélicoptères.
L’utilisation des drones peut avoir plusieurs applications que ce soit dans le do-
maine militaire telles que l’exploration, la surveillance et l’espionnage ; ou bien ci-
vil, telles que la surveillance des réseaux routiers, d’installations industrielles et de
lignes hautes tension. Le champ d’application des drones est très vaste et ceci a
donné naissance à plusieurs projets de recherche à travers le monde. Des chercheurs
de plusieurs communautés scientifiques, telles que la robotique, l’aéronautique, le
traitement du signal et l’informatique, avec le support de l’industrie et de gouver-
nements, participent au développement de telles machines (de la conception à la
commande en passant par la réalisation), où le but réside dans le développement
de prototypes fortement maoeuvrables et extrêmement stables. On ne peut pas ci-
ter tous les projets de recherche qui traitent de la commande et du development
des drones. A titre d’exemple je cite le travail de l’EPLF -Suisse, Lakehead Univer-
sity - Canada, Australian National University et les projets français du laboratoire
Heudiasyc de l’université de Compiègne, du LAAS-CNRS pour la commande de di-
rigeables souples, du CEA-LIST de Fontenay-Aux-Roses, de l’ONERA de Toulouse
et le projet du LSC-Evry concernant la commande d’hélicoptères de petite taille.
Au sein du projet "Drone" de gipsa-lab plusieurs aspects sont traités, entre
autres, on peut citer
– Le positionnement (sans GPS),
– La vision active embarquée,
– Les robots volants biomimétiques et
– La commande.
L’objectif principal de ce sujet de recherche concerne le développement des lois
1
2 Table des figures
puissance de calcul qui peut être embarquée. En effet, la commande doit être simple
et nécessiter peu de puissance de calcul, mais elle doit permettre aussi de partager
les ressources avec les autres tâches que le système embarqué sera amené à traiter
comme la vision, le traitement d’image, le traitement des mesures de position et la
gestion de l’énergie embarquée. La commande proposée dans cette thèse satisfait
deux exigences dans le cas des systèmes embarqués :
1. les contraintes sur les entrées qui jouent un rôle important pour la stabilité de
systèmes, particulièrement quand ils sont petits
2. le coût de calcul qui est très réduit
Plan
Trois parties peuvent être identifiées dans ce travail :
– La premiere partie concerne la stabilisation globale d’un système linéaire
(chaîne d’intégrateurs linéaire) par l’application des commande non-linéaires
bornées
– Dans la deuxième partie, nous étudions la commande bornée d’un avion pla-
naire à décollage vertical connu sous le nom de PVTOL (pour Planar Vertical
Take-Off and Landing). Ce système est considéré comme la projection dans
un plan vertical de quadrirotor
– La troisième partie a pour but d’appliquer les commande non-linéaires déve-
loppées dans le deux premieres parties au cas du quadrirotor
Maintenant nous présentons chapitre par chapitre le contenu de ce mémoire.
Table des figures 3
Le troisième chapitre est divisé en deux parties. Dans la première, nous étu-
dions la stabilisation de l’assiette du quadrirotor en le considérant comme un corps
rigide. La commande est bornée et basée sur la représentation de quaternion.
L’implementation de cette commande en temps réel a donné des résultats très
satisfaisants (avec et sans perturbations externes additionnelles). Dans la deuxième
partie nous aborderons la stabilisation en position du quadrirotor en généralisant
l’approche développée dans chapitre 2 pour le PVTOL avec gravité. Cette approche
non-linéaire bornée satisfait également la contrainte de positivité de la poussée du
quadrirotor.
4 Table des figures
Publications
Les travaux suivants, décrits dans ce manuscrit, ont été publiés dans :
1. N. Marchand and A. Hably, "Global stabilization of multiple integrators with
bounded controls", Automatica, Vol 41, No 12, pages 2147-2152, 2005
2. N. Marchand, A. Hably and A. Chemori, "Global stabilization with low com-
putational cost of the discrete time chain of integrators by means of bounded
controls", IEEE Transactions on Automatic Control, Vol 52, No 5, 2007
3. A. Hably, F. Kendoul, N. Marchand and P. Castillo, "Further Results on Global
Stabilization of the PVTOL Aircraft", In Positive Systems Theory and Appli-
cations. Lecture Notes in Control and Information Sciences, Springer-Verlag,
2006
4. N. Marchand and A. Hably, "Improving the performance of nonlinear stabili-
zation of multiple integrators with bounded controls", IFAC World congress,
2005
5. A. Hably, N. Marchand and M. Alamir, "Minimum-time-oriented Stabilization
of Extended Chained Form Systems", 44th joint IEEE Conference on Decision
and Control and European Control Conference (CDC-ECC’05), 2005
6. J.F. Guerrero - Castellanos, A. Hably, N. Marchand and S. Lesecq, "Bounded
attitude stabilization : Application on four-rotor helicopter", IEEE Conference
on Robotics and Automation (ICRA’07), 2007
7. A. Hably and N. Marchand, "Global stabilization of four-rotor helicopter with
bounded inputs", IEEE/RSJ International Conference on Intelligent Robots
and Systems IFAC (IROS’07), 2007
Chapitre 1
1.1 Introduction
L’objet de ce chapitre consiste à étudier la stabilisation globale d’une chaîne d’in-
tégrateurs sous des commandes bornées. Ce problème est classique dans le mesure
où toute application pratique implique l’utilisation de commandes bornées [11]. Plu-
sieurs types de commande sont proposés. On peut citer la commande linéaire basée
sur la compensation "anti-windup", la commande linéaire petit gain [69], la com-
mande optimale [9] et la commande non-linéaire. Cette dernière commande a attiré
beaucoup d’attention suite au travail de [93] sur les chaînes d’intégrateurs suivi par
les résultats de Sussmann et al. [89] pour les systèmes linéaires. Les auteurs dans
[89] ont prouvé que seulement les systèmes linéaires stabilisables à pôles à partie
réelle négative ou nulle peuvent être globalement asymptotiquement stable par une
commande bornée. Sussmann et Yang [90] ont également prouvé qu’il n’existe pas
de commande linéaire qui stabilise globalement asymptotiquement une chaîne d’in-
tégrateurs d’ordre supérieur ou égal à 3.
Notre travail vise à améliorer les performances de l’approche non-linéaire qui pré-
sente l’avantage d’être régulière et simple à implanter. Une partie de ce travail a été
présentée dans [63], [62] et [64].
Ce chapitre est organisé comme suit. Nous commencerons par la littérature liée au
problème de stabilisation d’une chaîne d’intégrateurs avec des commandes bornées
dans section 1.3. Nous comparons dans section 1.4 la performance de quelques lois
de commande avec la commande optimale à temps minimum. Dans section 1.5, nous
présentons les améliorations apportées sur la commande non-linéaire et l’étude de
robustesse dans section 1.6. Nous étudions également la stabilisation globale d’une
chaîne d’intégrateurs en temps discret (section 1.7). La commande développée dans
ce chapitre sera utilisée pour concevoir des lois de commande qui stabilisent globa-
5
6 1.2. Définition
1.2 Définition
Une chaîne d’intégrateurs est définie par le système linéaire suivant :
ẋ = Ax + Bu (1.1)
|u| ≤ ū (1.2)
où Q = QT > 0 et R = RT > 0.
La commande optimale bornée est la commande u? qui minimise le critère (1.3)
en respectant la contrainte sur la commande (1.2). [25] garantit pour tf = ∞ et
par une approche en temps discret l’existence de cette commande et la stabilité du
système bouclé. De plus, la commande peut être obtenue par optimisation sur une
surface convexe, mais dans un espace de dimension infinie en temps continu. En
conséquence, pour un horizon suffisamment grand, une solution stabilisante existe.
Cette commande est le meilleur résultat qui peut être obtenu en terme de vitesse
de convergence ; cependant elle n’est pas facile à calculer, particulièrement pour des
systèmes à grande dimension (n grand). Par exemple pour trouver la commande
optimale en temps minimum pour une chaîne d’intégrateurs d’ordre 3, on a besoin
de calculer des ensembles d’état qui définissent des surfaces de commutation dans
l’espace d’état et d’étudier la position de la trajectoire d’état par rapport à ces
surfaces. Cette idée est détaillée dans section 1.4.
Cette approche a fait l’objet de nombreuse études. Megretski [69] a proposé d’adap-
ter ε selon la règle suivante :
Si l’ensemble où le maximum est pris est vide, alors ε = 0. Cette maximisation peut
être résolue très efficacement avec la méthode de Newton puisqu’on peut prouver
que la fonction (x, η) → xT P (η)x − (B T P (η)B)−1 est strictement croissante et
concave pour η ∈ [0, 1]. Le gain k est grand près de l’origine pour avoir des bonnes
performances et petit loin de l’origine pour assurer la stabilité. Megretski [69] a
proposé une version qui n’exige pas la résolution d’une équation algébrique de Riccati
en ligne, cependant seulement la stabilité semi-globale du système est garantie. Lin
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 9
u = uL + uH (1.14)
La version semi-globale basée sur l’équation de Riccati est proposée dans [80] :
La version globale est développée par Lin [51] en appliquant la méthode d’adaptation
ε(x) (équation (1.13)) pour la commande petit gain uL . La commande u s’écrit
comme :
u = uL + uH = −(1 + ρ(x))B T P (ε(x))x (1.16)
avec ρ(x) qui satisfait une certaine relation (voir Lin [51] pour plus de détails).
L’inconvénient majeur de ces méthodes est le coût de calcul exorbitant de la com-
mande qui empêche l’implémentation en temps réel sur des système rapides dotés
de capacité de calcul réduites. De plus, la commande obtenue peut-être discontinue
(par exemple [27]) et ce défaut est critique dans le cas de retards inconnus comme
souligné par Rao et Bernstein [78].
u(x) = −satMn (hn (x) + satMn−1 (hn−1 (x) + . . . satM1 (h1 (x)))) (1.17)
avec 0 < ε < 41 et sat1 est une fonction de saturation telle que sat1 (y) = y si |y| ≤ M
et sat1 (y) = sign(y) autrement.
Le changement de coordonnée linéaire (x1 , . . . , xn ) → (y1 , . . . , yn ) est :
yn = h1 (xn ),
yn−1 =
h2 (xn−1 , xn )
.. .. (1.20)
. .
y = hn (x1 , x2 , . . . , xn )
1
avec
h1 (s1 ) = s1
h2 (s1 , s2 )
= εh1 (s1 ) + h1 (s2 )
.. ..
. .
h (s , s , . . . , s ) = εn−1 h (s , s , . . . , s ) + h (s , s , . . . , s )
n 1 2 n n−1 1 2 n−1 n−1 2 3 n
(1.21)
La commande (1.19) stabilise globalement asymptotiquement la chaîne d’intégra-
teurs (1.1). L’inconvénient de cette commande est montré par l’équation (1.19). En
effet, si les yi sont petits pour i ∈ {1, . . . , n − 1} puis pour n’importe quel grand y1 la
loi de commande sera près de σεn quand une gamme de ū peut être employée pour
conduire le système plus rapidement à l’origine. Par conséquent et comme souligné
par Megretski [69], plus la dimension du système est grande, plus la performance
de l’approche non-linéaire de Sussmann et al. [89] (également celle de Teel [93]) est
mauvaise. De plus et pour une dimension donnée, le choix de ε influence directement
les performance et la vitesse de convergence.
référence pour cette comparaison avec l’approche de Megretski [69] améliorée par
l’approche de Lin [52], l’approche non-linéaire de Teel [93] et l’approche de Suss-
mann et al. [89]. Dans la section suivante, un algorithme pour trouver la commande
optimale en temps minimum pour une chaîne d’intégrateurs est présenté.
avec p1 (t), p2 (t) et p3 (t) sont les états adjoints du multiplicateur de Lagrange λ
donné par :
p1 (t)
λ = p2 (t) (1.24)
p3 (t)
Les états adjoints satisfont le système d’équations suivant :
−∂H
ṗ1 (t) = ∂x1 = 0
ṗ2 (t) = −∂H
∂x2
= −p1 (t) (1.25)
−∂H
ṗ3 (t) = ∂x3 = −p2 (t)
La deuxième étape est de trouver la commande qui minimise H. Dans notre cas
cette commande est en fonction de p3 (t) :
Pour obtenir l’expression de p3 (t), nous pouvons résoudre les équations (1.25) en
fonction des états adjoints initials aux p1 (0), p2 (0) et p3 (0)
p1 (t) = p1 (0)
p2 (t) = −p1 (0)t + p2 (0) (1.27)
2
p3 (t) = p1 (0) t2 − p2 (0)t + p3 (0)
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 13
t2
u = −sign(p3 (t)) = −sgn p1 (0) − p2 (0)t + p3 (0) (1.28)
2
La fonction p3 (t) a au plus deux zéros, donc il existe six contrôles possibles :
{+1}, {−1}, {+1, −1}, {−1, +1}, {+1, −1, +1}, {−1, +1, −1}
x1 = x1 (0) − x2 (0)x3 (0)∆ + 13 x33 (0) + 61 x33 − 12 x3 x23 (0) + ∆x2 (0)x3
(1.30)
x2 = x2 (0) + ∆2 (x23 − x23 (0))
Ces deux équations (1.30) représentent la trajectoire dans l’espace d’état qui com-
mence par l’état (x1 (0), x2 (0), x3 (0)) et qui est générée par la commande constante
u = ∆. La projection de cette trajectoire dans le plan x1 x3 est donnée par x1 et
l’équation de x2 représente sa projection dans le plan x2 x3 .
Nous pouvons trouver deux ensembles, le premier {V2+ } qui représente l’ensemble
des états forcés à l’origine par la commande {+1} et le deuxième {V2− } est l’en-
semble des états qui sont forcés à l’origine par la commande {−1}. L’union de ces
deux ensembles donnera {V2 }, la surface de commutation :
1 3 ∆? 2
{V2 } = {(x1 , x2 , x3 ) : x1 = x3 ; x2 = x3 } = {V2+ } ∪ {V2− } (1.31)
6 2
Tout état sur {V2 } peut être forcé à l’origine en appliquant la commande :
∆? = −sgn{x3 } (1.32)
Maintenant, nous allons trouver l’ensemble des états {V1 } qui peuvent être forcés
à l’origine par la séquence de commande {−∆? , ∆? }, et donc forcés à appartenir à
{V2 } en appliquant la commande −∆?
Un état (x11 , x21 , x31 ) ∈ {V1 } si et seulement si
x12 = x11 + x21 x31 ∆? + 13 x331 − 12 x32 x231 + 16 x332 − ∆? x21 x32
? (1.33)
x22 = x21 − ∆2 (x232 − x231 )
14 1.4. Comparaison des approches pour n = 3
1 3
x 1 = x
2
6 32
(1.34)
∆? 2
x22 =
x
2 32
et
u = ∆? = +sgn{x22 } (1.35)
Nous notons que les états appartenant à l’ensemble {V1 } sont donnés sous forme
paramétrique en fonction de l’état (x12 , x22 , x32 ). En utilisant (1.33) et (1.34), nous
trouvons une relation entre x1 , x2 , et x3 :
x23
1
x1 = x32 + ∆ x2 − ∆? x3 x2 − x33
?
(1.36)
2 3
avec
32
x2
x32 = −∆? ∆? x2 + 3 (1.37)
2
1
u = −∆? = sign{x2 + |x3 | x3 } (1.38)
2
Après avoir trouvé les ensembles {V1 } et {V2 }, il est facile de forcer tous les états
x = (ξ1 , ξ2 , ξ3 ) ∈ R3 à l’origine . Cela est fait en étudiant la position de l’état
x = (ξ1 , ξ2 , ξ3 ) par rapport à la surface de commutation {V1 }. Si ξ1 − x11 > 0, alors
l’application de la commande u = −1 produit une trajectoire qui croise la surface
{V1 }. Dans l’autre cas, c.à.d ξ1 −x11 < 0, la trajectoire produite par la commande u =
1 croise la surface {V1 }. L’algorithme employé pour obtenir la commande optimale
en temps minimum pour une chaîne d’intégrateurs d’ordre 3 est récapitulée par la
suite
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 15
x1
x3
x2
1.4.2 Simulations
Pour le même état initial x0 = (2 − 2 3)T , nous comparons la convergence du
système (1.22) pour n = 3 et |u| ≤ 1, en appliquant la commande optimale en
temps minimum, l’approche de Megretski [69] améliorée par l’approche de Lin [52],
l’approche non-linéaire de Teel [93], et l’approche de Sussmann et al. [89].
Nous constatons à partir les simulations (figures 1.2-1.5) que l’approche de Sussmann
et al. [89], bien que la plus simple, est malheureusement la moins performante. Le
16 1.4. Comparaison des approches pour n = 3
10
1
8
0.5 6
4
0
2
-0.5 0
-2
-1
0 5 10 15 20 -4
0 5 10 15 20
Fig. 1.2 – Stabilisation d’une chaîne d’intégrateurs d’ordre 3 avec un état initial
x0 = (2 − 2 3)T en appliquant la commande optimale en temps minimum. Le temps
de convergence est inférieur à 13 secondes
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 17
10
1
8
0.5
6
0 4
2
-0.5
0
-1
-2
0 10 20 30 40 50 0 10 20 30 40 50
Fig. 1.3 – Stabilisation d’une chaîne d’intégrateurs d’ordre 3 avec un état initial
x0 = (2 − 2 3)T en appliquant la commande petit gain proposée par Megretski [69]
et améliorée par Lin [52]. Le temps de convergence est inférieur à 20 secondes
15
1
0.5 10
0 5
-0.5 0
-1
-5
0 20 40 60 80 0 20 40 60 80
Fig. 1.4 – Stabilisation d’une chaîne d’intégrateurs d’ordre 3 avec un état initial
x0 = (2 − 2 3)T en appliquant la commande non-linéaire proposée par Teel [93]
18 1.5. Amélioration de l’approche non-linéaire
100
1
80
0.5
60
0 40
20
-0.5
0
-1
0 50 100 150 200 250 300 350 -20
0 50 100 150 200 250 300 350
Fig. 1.5 – Stabilisation d’une chaîne d’intégrateurs d’ordre 3 avec un état initial
x0 = (2 − 2 3)T en appliquant la commande non-linéaire proposée par Sussmann
et al. [89]. Le temps de convergence est trente fois plus grand que le temps de
convergence de la commande optimale en temps minimum
Théorème 1 La commande
n
X
u=− εn−i+1 sat1 (yi ) (1.39)
i=1
100
1
80
0.5
60
0 40
20
-0.5
0
-1
0 50 100 150 200 250 300 350 -20
0 50 100 150 200 250 300 350
20
1
15
0.5
10
0
5
-0.5
0
-1
-5
0 20 40 60 80 0 20 40 60 80
14
1
12
0.5 10
0 6
4
-0.5 2
0
-1
-2
0 20 40 60 80 0 20 40 60 80
Le choix des niveaux de saturation dans équation (1.40) est fait pour que l’état yi
récupère le potentiel de commande laissé par les états {yj }j=i+1,...,n .
Le Théorème 3 est prouvé dans l’Annexe A.2. La commande et la convergence des
états sont présentées sur la figure 1.7. On observe ici aussi une amélioration des
performances en comparaison de celle obtenue en appliquant la commande proposée
au Théorème 1.
14
1
12
0.5 10
0 6
4
-0.5 2
0
-1
-2
0 20 40 60 80 0 20 40 60 80
12
1
10
0.5 8
6
0
4
-0.5 2
0
-1
-2
0 20 40 60 80 0 20 40 60 80
Teel [93], la commande petit gain de Megretski [69] amélioré suivant les indications
de Lin [52], la commande optimale en temps minimum, et les lois de commande pro-
posées dans Théorème 1 et Théorème 3 pour ε = 0.5 et ε = 0.618. Nous constatons
que l’approche originale de Sussmann et al. [89] donne de mauvaises performances
par rapport à celles obtenues par la commande optimale en temps minimum. Il ap-
paraît que les méthodes faisant appel à une optimisation à chaque pas présentent de
meilleures performances. En revanche, les approches proposées au Théorème 1 et au
Théorème 3 présentent un très bon rapport performances sur simplicité de calcul.
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 23
30
25
Sussmann et al. [89]
commande optimale en temps minimum
Théorème 1 avec ε = 0.5
20 Théorème 3 avec ε = 0.618
Théorème 1 avec ε = 0.618
15 [69]/[52]
10
Teel [93]
0
0 5 10 15 20 25 30 35 40 45 50
performance sous ces conditions non idéales peut suggérer des propriétés cachées
de la commande qui n’ont pas été considérées dans son développement original. Il
faut noter que cette approche est totalement différente de la commande robuste qui
permet de garantir la stabilité de système par rapport aux perturbations et aux
erreurs de modèle.
Dans notre étude, nous avons appliqué la même approche de Rao et Bern-
stein [78] pour le cas d’une chaîne d’intégrateurs d’ordre 3. Les tests appliqués
consistent à ajouter des retards de mesure et des incertitudes du modèle. Une étude
comparative est réalisée entre l’approche de commande petit gain de Megretski
[69] amélioré comme indiqué par Lin [52], l’approche non-linéaire proposée dans
[93], la commande proposée d’après le Théorème 1 avec ε = 0.5 qui correspond à
l’amélioration de l’approche non-linéaire proposée par Sussmann et al. [89] et la loi
de commande du Théorème 3. La commande optimale en temps minimum n’a pas
été examinée en raison de sa faible robustesse comme souligné par Rao et Bernstein
[78]. L’indicateur de comparaison souligné est le temps moyen d’établissement (en
anglais "Achieved Settling Time (AST)"), c’est à dire le temps nécessaire pour que
les états rejoignent et restent dans une boule centrée à l’origine de rayon 0.05 pour
cent de la norme de l’état initial pour un ensemble donné des conditions initiales.
Teel [93]
350
Théorème 3
avec ε = 0.618
300
200
150
100
50
0
0 0.5 1 1.5 2 2.5 3
le retard de mesure τ
On constate que la loi de commande petit gain proposée dans [69] et améliorée
par Lin [52] ne peut pas stabiliser la chaîne d’intégrateurs pour un retard supérieur
à 0.7 s. La loi de commande non-linéaire proposée dans [93] a également montré une
faible performance en vue de la stabilisation de système. Elle échoue à stabiliser le
système pour un retard τ > 1.1 s. D’une part, Théorème 3 a permis la stabilisation
du système pour un retard τ < 1.6 s, qui est plus que le double du retard accordé
par la loi de commande de Megretski [69].
Pour étudier cette robustesse vis à vis de retards de mesure d’un point de vue
différent, nous analysons le rapport C entre le maximum de retard permis τmax
(avant la divergence) pour chaque commande et le temps moyen d’établissement
nominal AST0 (sous les conditions idéales). Les résultats nous donnent la même
indication d’une robustesse très bonne des approches proposées au Théorème 1 et
26 1.6. Etude de robustesse
1
R R R
(s+a)3
−
−u
1
Fig. 1.11 – La commande de la chaîne d’intégrateurs (s+a)3
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 27
140
Teel [93]
120
80
60
Megretski [69]/Lin [52]
40
20
0
-0.1 0 0.1 0.2 0.3 0.4 0.5 0.6
pôle réel −a
On note que si −a est plus à gauche sur l’axe imaginaire, le système devient plus
stable et l’étude de la robustesse dans ce cas-ci n’ajoutera pas plus d’information
sur les performances de chaque commande. Pour des pôles réels positifs, la loi de
commande proposée par Teel [93] ne peut pas stabiliser le système au delà de a =
−0.01 sur l’axe réel. La loi de commande du Théorème 1 est apparue un peu plus
robuste avec une limite de stabilité pour a ' −0.03. La commande du Théorème 3 est
plus performante parce que elle continue la stabilisation de la chaîne d’intégrateurs
perturbée jusqu’au a = −0.065. D’une autre part, la loi de commande proposée par
[69]/[52] continue à stabiliser le système pour des valeurs de a = −0.07 mais ceci se
paye par des phénomènes de "chattering" de la commande qui certains actionneurs
peuvent ne pas supporter.
28 1.7. Stabilisation en temps discret
1
R R R
s(s2 +w2 )
−
−u
1
Fig. 1.13 – La commande de la chaîne d’intégrateurs s(s2 +w2 )
1.7.1 Problématique
Pour des systèmes de temps discret, deux formes de la chaîne d’intégrateurs sont
généralement considérées. Toutes les deux sont traitées dans cette partie de chapitre.
Elle est définie par :
x+ = Ad x + B d u (1.44)
1 1 0 ... 0
0 1 0
1 ... 0 0
Ad = ... .. .. .. B d = .. (1.45)
. . .
.
0 . . . ... 1 1
1
0 ... ... 0 1
T 2 T n−1
1 T 2!
... (n−1)!
Tn
0 1 T n−2 (n)!
T ... (n−2)! T n−1
d . .. (n−1)!
A = .. . .. ... Bd = (1.46)
. ..
0 . . . . . . 1
.
T
T
0 ... ... 0 1
30 1.7. Stabilisation en temps discret
L’objectif est d’étudier la stabilisation globale du système (1.44) avec une commande
bornée par une certaine borne fixé a priori ū
−ū ≤ u ≤ ū (1.47)
Comme dans le cas en temps continu, le système est premièrement transformé en
représentation d’état appropriée. La transformation proposée actuellement est la
généralisation au cas continu puisque la valeur des paramètres θi n’est pas fixé a
priori. Ce changement de coordonnée est récapitulé dans le lemme suivant.
Lemme 4 Pour n’importe quelle famille des nombres réels Θ = {θi }i=1,··· ,n , soient
(AΘ , BΘ ) définis par :
1 θ2 θ3 . . . θn
0 1 1
θ3 . . . θn 1
AΘ = ... .. .. .. BΘ = .. (1.48)
. . .
.
0 . . . . . . 1 θn
1
0 ... ... 0 1
Alors pour n’importe quelle paire contrôlable (AΘ , BΘ ), il existe un changement de
coordonnée y = PΘ x tel que la chaîne d’intégrateurs en temps discret (1.44) devient :
y + = AΘ y + BΘ u (1.49)
sont souvent limitées à une structure particulière de la forme θi = εn−i+1 avec ε est
un certain paramètre fixe. Également, les niveaux des fonctions de saturation Mi
sont variables comme pour le cas de la chaîne d’intégrateurs en temps continu.
Théorème 5 Soit Θ := {θi }i=1,··· ,n une famille de nombres réels telle que :
– Le couple (AΘ , BΘ ) de l’équationP(A.10) est contrôlable
– Pour tous k ∈ {2, . . . , n}, 0 < k−1
i=1 θi < θk < 1, soient {Mi }i=1,...,n définis
par :
(
Mn = 1
θ y (1.50)
Mj = 1 + αj j+1 θj
Mj+1 − satMj+1 j+1 σ
, pour j = 1, . . . , n − 1
n
X y
i
u = −σ θi satMi (1.51)
i=1
σ
Le Théorème 5 est prouvé dans l’Annexe A.3. Les αi et les θi dans l’expression de loi
de commande unifient les travaux originaux de Sussmann et al. [89] pour le temps
continu et Yang et al. [102] dans le temps discret avec les approches qui visent à
améliorer la convergence (par exemple Kaliora et Astolfi [40]) et la commande des
Théorème 1 et Théorème 3. Ceci permet d’accorder le degré d’adaptation en relation
avec la dégradation de robustesse permise. En effet, l’amélioration de la convergence
est payée pour une moindre robustesse, en particulier concernant les retards des
mesures [78].
Dans le cas où αi = 0, le niveau de saturation sera indépendant des états du système.
Cette approche a été proposée par Sussmann et al. [89] pour les systèmes continus
avec θi limités à θi < εn−i+1 avec 0 < ε ≤ 21 . Les αi permettent de régler le degré
d’adaptation en fonction de la dégradation de robustesse autorisée. Cependant, les
propriétés de robustesse restent acceptables pour la plupart des applications en
prenant αi = 1 qui assurent la convergence rapide des états sans présenter une
complexité dans le calcul. Notez que la vitesse de convergence est connue pour
être l’inconvénient principal des approches basées sur les saturations imbriquées
[69]. Comme proposé dans [40], les θi peuvent être choisi P en utilisant un certain
procédé d’optimisation contraint par les inégalités {0 < k−1 i=1 θi < θk < 1}k=2,...,n
afin d’assurer la stabilité.
32 1.7. Stabilisation en temps discret
1.7.3 Simulations
30
25
Sussmann et al. [89]
commande optimale en temps minimum
Théorème 5
10
Teel [93]
0
0 5 10 15 20 25 30 35 40 45 50
Fig. 1.16 – Comparaison de l’approche proposée par Sussmann et al. [89] pour
ε = 0.25 , Teel [93], approche de Megretski [69] amélioré suivant les indications
de Lin [52], la commande optimale en temps minimum, et les loi de commande
proposées dans Théorème 1 et Théorème 3 pour ε = 0.5, 0.618 - Evolution de kx(t)k
pour un état initial x0 = (2 − 2 3)T
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 33
1.8 Conclusion
Dans ce chapitre, nous avons étudié la stabilisation d’une chaîne d’intégrateurs
sous la commande bornée. Une étude bibliographique sur les approches existantes
pour résoudre ce problème a été réalisée. Nous avons comparé la performance et
le temps de calcul de ces approches et nous avons vérifié que les approches non-
linéaires souffrent de piètres performances mais elles sont également caractérisées par
un coût de calcul très faible. Pour cette dernière caractéristique intéressante, nous
avons étudié et amélioré l’approche non-linéaire de Sussmann et al. [89] qui prend la
forme d’une somme de fonctions de saturation pondérées de coefficients de réglage.
L’approche proposée opère à travers deux aspects. Le premier aspect consiste à lier
les paramètres de réglage à la dimension du système. Le second aspect considère une
dependance entre le niveau de saturation et l’état du système. La contribution réside
dans l’amélioration du temps de convergence de l’état avec un facteur supérieur à
trois. La robustesse d’une telle approche par rapport à un retard de mesure et des
erreurs de modèle a été également étudiée. Notre commande proposée semble être
robuste vis à vis de retards de mesure et vis à vis de variations des pôles réels.
Les résultats obtenus ont été étendus au cas discret. L’approche développée unifie
le travail original de [102] et les avantages de l’approche dans le cas continu. Les
commandes, dans les cas continu et discret, présentent de bonnes performances tout
en gardant l’extrême simplicité des calculs et la stabilité globale du système. Ces lois
de commande générales seront employées dans les chapitres suivants particulièrement
dans la stabilisation de la dynamique de rotation du Quadrirotor (attitude) ainsi que
pour le contrôle de sa position.
34 1.8. Conclusion
1
R R R
s3
−
e−τ s
−u e−τ s
e−τ s
1
Fig. 1.9 – La commande de la chaîne d’intégrateurs s3
avec un retard de sortie de τ
140
Teel [93]
100
80
60
40
20
pôle imaginaire w
10
1
0.8
8
0.6
0.4
6
0.2
0 4
-0.2
2
-0.4
-0.6
0
-0.8
-1
-2
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
PVTOL
2.1 Introduction
Ce chapitre sera consacré à l’étude de la commande des avions à décollage et
atterrissage verticaux (en anglais : PVTOL (Planar Vertical Take-Off and Landing
aircraft) qui correspond dans notre étude à la projection dans un plan de l’hélicoptère
à quatre rotors (quadrirotor). En fait le quadrirotor peut être considéré comme deux
PVTOL inter-connectés. Pour clarifier cette idée, nous considérerons le modèle du
quadrirotor étudié par plusieurs chercheurs (par exemple Castillo et al. [17], Altug
et al. [6] et Bouabdallah et al. [13]). Le modèle simplifié du quadrirotor, développé
en détails dans le chapitre suivant, est donné par :
θ̈ = vθ
φ̈ = vφ
ψ̈ = vψ
ẍ = u(cos φ sin θ cos ψ + sin φ sin ψ)
ÿ = u(cos φ sin θ sin ψ − sin φ cos ψ)
z̈ = −1 + u(cos φ cos θ)
37
38 2.1. Introduction
la projection dans un plan des avions à décollage et atterrissage court (en anglais :
V/STOL : Vertical and Short Takeoff and Landing aircrafts). Le V/STOL est un
avion muni de dispositifs le rendant capable d’utiliser des pistes d’envol et d’atterris-
sage de longueur très limitée [35]. En 1954, Lockheed a examiné le XVW-1, un avion
de V/STOL qui peut se lever directement vers le haut pendant le décollage. Vers la
fin des années 50 et du début des années 60, plusieurs V/STOL ont été développés.
Dassault a développé deux versions du mirage III-V. Récemment, la production du
V-22 Osprey a été formellement approuvée par le Pentagon. Cet avion, construit
par Bell et Boeing, est un avion militaire à missions multiples avec des possibilités
de décollage et d’atterrissage verticaux. Un exemple de PVTOL est l’AV-8B Harrier
construits par la compagnie de Mcdonnell Douglas, montrée sur la figure 2.2.
où α est un angle fixe. Le poids m~g est applique sur le centre de masse C du PVTOL.
Les poussée F~1 et F~2 sont appliquées sur les points M1 et M2
~ 1 = l~ib − h~kb
CM
~ 2 = −l~ib − h~kb
CM
˙
mV~C = F~1 + F~2 + m~g
~σ˙ C = C M
~ 1 ∧ F~1 + C M
~ 2 ∧ F~2
u~kb F~1
v v~ib
α
F~2
θ
α
z C
M1 ~k
M2
m~g
~i
M1 M2
En prenant l = 2
et h la distance entre le point C et la droite M1 M2 avec
sin α J
=
l cos α + h sin α mg
cos α
u = (F1 + F2 )
mg
l cos α + h sin α
v = (F2 − F1 )
J
xC
x =
g
zC
z =
g
Chapitre 2. PVTOL 41
Dans le cas de vrai PVTOL, le paramètre est sans dimension et en général négligé
parce que l’angle α est petit par construction. Ce coefficient caractérise le couplage
entre le couple et l’accélération latérale de l’avion. x et z sont des valeurs norma-
lisées et représentent les distances divisées par la gravité g, par conséquent une
distance normalisé de 1 représente une distance réelle d’environ 10 mètres. Les deux
commandes u et v représentent respectivement les quantités normalisées liées à la
poussée verticale dirigée vers le haut de l’avion et le couple ou l’accélération angu-
laire. Selon [35], le paramètre de couplage = 0.01 est typique pendant le décollage,
toutefois il n’est pas facile de le mesurer exactement pour beaucoup d’avions.
nous donne :
ẍ = v1 (2.8)
z̈ = v2 (2.9)
1
θ̈ = (sin θ + cos θv1 + sin θv2 ) (2.10)
Pour x = 0 et z = 0, la dynamique des zéros du PVTOL prend la forme d’une
équation d’un pendule amorti :
1
θ̈ = sin θ (2.11)
42 2.2. Modèle dynamique du PVTOL
-1
-2
-3
-4
-6 -4 -2 0 2 4 6
Dans la suite, nous étudions dans la section 2.3 la commande bornée du PV-
TOL sans gravité représenté par le système (2.28). Ensuite dans section 2.4, nous
présenterons les résultats pour la stabilisation du PVTOL avec gravité (équations
(2.4)-(2.6)) en appliquant une commande bornée.
Ce système particulier a été étudié par plusieurs auteurs. Ge et al. [26] ont for-
mulé les conditions pour que système (2.29) soit linéarisable par une transformation
d’état et de commande discontinue. Dans [8], la stabilité de type Lyapunov et la
convergence exponentielle à l’origine pour le système (2.29) ont été assurées par une
loi de commande homogène, continue et variable dans le temps. Récemment, Morin
et Samson [70] ont étudié la stabilisation pratique d’une classe des systèmes sous
actionnés qui inclut les systèmes chaînés par l’application d’une approche basée sur
la fonction transverse tandis que Lizarraga et Sosa [55] ont appliqué l’approche de
la fonction transverse verticale comme prolongation de l’approche de la fonction
transverse pour les systèmes de second ordre.
Malgré la littérature riche sur le sujet, le problème de la stabilisation du système
(2.28) en respectant les contraintes de saturation sur les entrées de commande n’est
pas explicitement traité. Ce problème est seulement traité pour les systèmes chaînée
de premier ordre par l’approche discontinue proposée dans [58] en surveillant les
paramètres de commande et par l’approche proposé par Alamir et Marchand [5] en
utilisant la commande prédictive.
Le travail présenté dans ce chapitre peut être considéré comme généralisation de ce
dernier travail pour le cas des systèmes chaînées de second ordre avec des contraintes
de saturation définies comme suit :
Cette partie de ce chapitre est organisé comme suit. Dans la section 2.3.1, le
principe général de la commande prédictive est présenté. Cette commande sera
appliquée au cas du système chaîné (2.28). La formulation de la commande optimale
en boucle ouverte est présentée dans section 2.3.2. Un algorithme rapide pour
choisir les solutions sous-optimales est développée dans section 2.3.3. Le retour
d’état avec les résultats de stabilité sont traités respectivement dans sections 2.3.4
et l’annexe B.4. Cette partie finit avec quelques simulations numériques pour le cas
du système 2.29 en montrant l’efficacité de la commande proposée même pour les
cas où des conditions initiales classiquement classifiées comme singulières.
Chapitre 2. PVTOL 47
Définitions
Dans notre cas, le modèle utilisé est non-linéaire échantillonné décrit par l’équa-
tion aux différences suivante :
xk+1 = f (xk , uk ) (2.32)
où x ∈ RN est le vecteur d’état du système, u ∈ RM est le vecteur des entrées
de commande, et f est une application continue. k est associé à la kiéme période
d’échantillonnage constante δ. L’horizon de prediction de longueur n est représenté
par t̃
t̃ = 0 δ . . . nδ (2.33)
la suite correspondante des commandes, constantes par morceaux, est donnée par
(dans le cas où l’horizon de commande est égal à l’horizon de prédiction)
ũ = (ũ0 , ũ1 , . . . , ũn−1 ) (2.34)
Le profil de commande candidat pour la solution du problème de la commande
optimale en boucle ouverte est désigné par U (., t̃, ũ) et défini comme suit
∀t ∈ [t̃j−1 , t̃j [ U (t, t̃, ũ) = ũj (2.35)
U (., t̃, ũ) est admissible si ∀k ≥ 0 la condition suivante est vérifiée
ũk ∈ Uad ⊂ Rm (2.36)
où Uad , l’ensemble des entrées admissibles, est compact, convexe et contient l’origine.
La solution de l’équation (2.32) partant de l’état initial x0 à l’instant i et sous la
commande U est notée par X(i; x0 , U ).
48 2.3. Commande du PVTOL sans gravité
La fonction de coût
La fonction de coût varie selon la stratégie de commande demandé. Dans la
littérature, la fonction de coût lorsque le système se trouve à l’état xk est définie de
la façon suivante
k+n−1
X
Vn (xk , Uk ) = F (xk+n ) + L(xi , ui ) (2.37)
i=k
où
– n est l’horizon de prédiction.
– Uk est le profil de commande donné par
– F (xk+n ) représente une pénalisation sur l’état final xk+n . Des fois, une
contrainte finale explicite est utilisée
xk+n ∈ Xf ⊂ X (2.40)
Pour plus de détails sur chacune de ces formulations avec les conditions suffisantes
de stabilité de la boucle fermé, le lecteur est invité à consulter l’excellent travail de
[66] et les références qui s’y trouvent.
Dans notre travail, nous choisissons une formulation différente avec un horizon de
prédiction variable. Dans cette formulation, connue comme la formulation contrac-
tive, la variation de l’horizon et la suite des commandes forment la variable de
décision. Notre objectif est de concevoir une commande qui stabilise le système avec
une philosophie de type temps minimum.
avec Un (xk ) est l’ensemble des profils de commande admissibles est donné par
Dans notre cas, la fonction de coût Vn est l’horizon de prédiction. L’ensemble final
Xf est xd l’état final désiré. De plus, il n’y a pas de contrainte sur les états du système
X = RN . Notre problème d’optimisation Pn (xk ) en boucle ouverte est ainsi :
Pn (xk ) : min{nδ | U (., t̃, ũ) ∈ Uad et X(nδ; xk ; U (., t̃, ũ)) = xd } (2.44)
t̃,ũ
Il est tout à fait difficile de trouver la solution exacte de (2.44) en temps réel.
Par conséquent, une solution sous-optimale rapide peut être développée afin que
la stratégie globale de commande à horizon fini soit réalisable en temps réel. La
solution sous-optimale rapide est calculée en deux étapes :
Étape 1 : D’abord, une solution admissible est calculée, à savoir, une solution
qui respecte la contrainte finale en (2.44).
Étape 2 : Puis, la solution admissible est amélioré par rapport la fonction de
coût en (2.44), à savoir, le temps nδ.
La faisabilité de la contrainte finale en (2.44) conduit à des horizons de prédiction
très longs dans nombreuses formulations de commande prédictive. En conséquence,
50 2.3. Commande du PVTOL sans gravité
la dimension de la variable de décision peut devenir très grande. Une solution est
d’utiliser la paramétrisation des profils de commande [4]. Ceci signifie que la com-
mande Un0 (xk ) solution du problème P (xk ) peut être employé comme une suite can-
didate pour le problème P (xk+1 ).
Le problème de la commande prédictive consiste à appliquer pendant la période
d’échantillonnage [k, k + 1] la première commande de la suite optimale , u0 (k, xk ),
ce qui défini clairement un retour d’état
η = (η 1 , η 2 ) = (x0 , ẋ0 )T
Dans ce cas, la suite de commandes continues par morceaux (2.34) est définie par
U u0 u1 un−1
W= = , ,..., (2.48)
V v0 v1 vn−1
Chapitre 2. PVTOL 51
Le profil de U
Le sous-système Σ1 est exprimé dans l’équation suivante :
0 1 0
Σ1 : η̇ = AΣ1 η + BΣ1 u = η+ u (2.50)
0 0 1
Nous proposons que ui prenne la forme suivante linéaire en i = 0, . . . , n − 1
α
ui = αi + β = i 1 (2.51)
β
α et β de (2.51) sont des fonctions de l’état initial η0 et l’état final ηn . Une méthode
pour trouver ces paramètres est de discrétiser Σ1 tout au long de l’horizon de pré-
diction à partir de l’état initial η0 . Les matrices d’état A1 et de commande B1 de Σ1
obtenus par la discrétisation prennent la forme suivante en fonction de la période
d’échantillonnage δ δ2
1 δ
A1 = ; B1 = 2 (2.52)
0 1 δ
En appliquant la commande correspondante ui , Σ1 atteindra l’état final ηn à partir
de η0 :
n−1
X
ηn = An1 η0 + (A1 )n−1−i B1 ui (2.53)
i=0
Existence de U
L’application de ce lemme, prouvé dans l’Annexe B.1, nous donne les éléments ui
(équation (2.51)) de la commande continue par morceaux U avec α et β définis par :
α
= Γ−1 n
n [ηd − A1 η0 ] (2.56)
β
Le profil de V
Existence de V
Pour trouver les éléments de V (2.64), Ψn doit être le plein rang. Cette question
est étudiée dans le lemme suivant.
La preuve de ce lemme est présentée dans l’Annexe B.2. Elle est issue de considéra-
tions de controlabilité.
54 2.3. Commande du PVTOL sans gravité
V = Ψ+
n (zd − Φn z0 ) (2.65)
T −1
où Ψ+ + T
n est la matrice pseudo-inverse de Moore-Penrose de Ψn : Ψn = Ψn (Ψn Ψn ) .
T
La commande globale obtenue, dénotée par W = [U V ] , oriente le système (2.28)
d’un état initial y0 à n’importe quel état désiré final yd sans prendre en considéra-
tion les contraintes de saturation (2.30-2.31). Le but de la section suivante est de
développer un algorithme qui converge itérativement vers une suite de commande
admissible (c.à.d la commande qui respecte les contraintes imposées).
Algorithme A(y0 )
L’algorithme A(y0 ) est composé des étapes suivantes
1. Initialisation de l’horizon de prédiction n
2. Calculer de Γn , Φn et Ψn données par (2.55), (2.63) et (2.62)
3. Déterminer les commandes U et V au moyen de (2.51) et (2.65)
4. Tester le respect des contraintes de saturation (2.30) et (2.31)
5. Dans le cas contraire de l’étape (4), augmenter la longueur de l’horizon de
prédiction : par exemple n = n + 1
6. Répéter l’algorithme (de l’étape (2)) jusqu’à la satisfaction des contraintes de
saturation
Chapitre 2. PVTOL 55
avec
A(x0 ) = {(q, ε) ∈ {0, . . . , qmax } × {−1, 1} | t̂n̂ (yf (y0 , q, ε)) < t̂n̂ (x0 ) − q.δ}
La commande wopt (y0 ) prend la forme suivante
opt
u (y0 )
opt
w (y0 ) = = (w0opt , . . . , wq̂(y
opt
, Ŵ (yf )) (2.70)
v opt (x0 ) 0)
Algorithme B(y0 )
Cet algorithme est appliqué pour trouver les entrées de la commande sous-
optimale en boucle ouverte qui dirigent le système (2.28) de l’état initial y0 vers
l’état final désiré yd tout en respectant les contraintes de saturation sur les entrées
de commande (2.30-2.31).
1. Décomposer le système (2.28) en Σ1 etΣ2
2. Pour n, q ≤ qmax et ε = ±1, trouver l’ensemble des suites de commande en
appliquant la commande constante plus l’algorithme A(y0 )
3. Prendre la commande qui correspond à la solution du problème d’optimisa-
tion (2.69)
On peut noter que il n’y a aucun traitement spécial pour le cas singulier qui est traité
dans le problème d’optimisation. En fait, il n’y a pas non plus d’optimisation mais
simplement un choix dans un ensemble fini de solutions. Dans la section suivante,
la commande par retour d’état est définie.
Chapitre 2. PVTOL 57
Théorème 9 La loi de commande par retour d’état en temps discret définie pour
σ ∈ [0, δ[ :
w(kδ + σ) = w1opt (yk ) (2.73)
où w1opt (yk ) est le premier élément de la suite de commande en boucle ouverte (Al-
gorithme B(y0 ) de la section 2.3.3), stabilise globalement le système chaîné (2.28)
à partir l’état initial y0 vers l’état désiré final yd .
1
η1
0 η2
1
z
2
-1 z
z3
-2 z4
-3
-4
-5
0 1 2 3 4 5
time (s)
3
u
v
2
-1
-2
-3
0 1 2 3 4 5
Fig. 2.5 – Évolution des états (haut) et des entrées de commande (u en bleu et v
en rouge (bas)) du système chaîné du second ordre à partir de l’état initial y0 =
[−5, 3, −2, 0.1, −0.75, 1]T à l’état final désiré yd = [0, 0, 0, 0, 0, 0]T avec les contraintes
de saturation sur la commande [umax , v max ] = [2.5, 2.5] et qmax = 2
60 2.3. Commande du PVTOL sans gravité
3
η1
2
2 η
1
z
1 z2
3
z
0 4
z
-1
-2
-3
-4
-5
0 1 2 3 4 5
time (s)
3
u
v
2
-1
-2
-3
0 1 2 3 4 5
Fig. 2.6 – Évolution des états (haut) et des entrées de commande (u en bleu et v
en rouge (bas)) du système chaîné du second ordre à partir de l’état initial y0 =
[−5, 3, −2, 0.1, −0.75, 1]T à l’état final désiré yd = [0, 0, 0, 0, 0, 0]T avec les contraintes
de saturation sur la commande [umax , v max ] = [2.5, 2.5] et qmax = 20
Chapitre 2. PVTOL 61
-1 η1
2
η
-2 z 1
2
z
-3 z3
z4
-4
0 0.5 1 1.5 2 2.5 3
time (s)
8 u
v
6
-2
-4
-6
-8
0 0.5 1 1.5 2 2.5 3
Fig. 2.7 – Évolution des états (haut) et des entrées de commande (u en bleu et v
en rouge (bas)) du système chaîné du second ordre à partir de l’état initial singulier
y0 = [0, 0, −2, 0.1, −0.75, 1]T vers un état final désiré yd = [0, 0, 0, 0, 0, 0]T avec les
contraintes de saturation sur la commande [umax , v max ] = [7, 7] et qmax = 2
62 2.3. Commande du PVTOL sans gravité
-1 η1
η2
-2 z1
z2
-3 z3
4
z
-4
-5
0 1 2 3 4 5
time (s)
3
u
v
2
-1
-2
-3
0 1 2 3 4 5
Fig. 2.8 – Évolution des états (haut) et des entrées de commande (u en bleu et v
en rouge (bas)) du système chaîné du second ordre à partir de l’état initial y0 =
[−5, 3, −2, 0.1, −0.75, 1]T vers un état final désiré différent à zéro yd = [1, 0, 1, 0, 1, 0]T
avec les contraintes de saturation sur la commande [umax , v max ] = [2.5, 2.5] et qmax =
2
Chapitre 2. PVTOL 63
500
η1
η2
z1
z2
0
z3
z4
-500
-1000
-1500
-2000
0 50 100 150 200 250 300 350 400 450
0.06
u
v
0.04
0.02
-0.02
-0.04
-0.06
0 50 100 150 200 250 300 350 400 450
Fig. 2.9 – Évolution des états (haut) et des entrées de commande (u en bleu et
v en rouge (bas)) du système chaîné du second ordre à partir de l’état initial
y0 = [−5, 3, −2, 0.1, −0.75, 1]T vers l’état final désiré yd = [0, 0, 0, 0, 0, 0]T avec
des contraintes fortes de saturation sur la commande [umax , v max ] = [0.05, 0.05] et
qmax = 2
64 2.4. Commande de PVTOL avec gravité
2. Prendre u1 et u̇1 comme états et différentier les équations (2.4) et (2.5) deux
fois pour obtenir :
(4)
x sin θθ̇2 u − 2 cos θθ̇u̇ − sin θ − cos θu ü
(4) = + (2.74)
z 2
− cos θθ̇ u − 2 sin θθ̇u̇ cos θ − sin θu v
Première stratégie
Dans cette partie, nous présentons le travail de Fantoni et al. [21] qui ont présenté
une commande simple pour la stabilisation du PVTOL avec = 0. Les commandes
proposées prennent la forme suivante :
1
u = (1 + rz ) (2.81)
cos θ
1
v = [−2θ̇2 tan θ(1 + tan2 θ) − r̈x (2.82)
1 + tan2 θ
−2(1 + tan2 θ)θ̇ − 2r˙x − tan θ − rx ]
Stabilisation du PVTOL
u z̈ u z̈
θ̈ ẍ
v v
ẍ θ̈
rx = −2ẋ − x (2.83)
rz = −2ż − z (2.84)
Une version bornée de rx et rz a été proposée par Castillo et al. dans [18]. Le choix
est basé sur l’approche non-linéaire proposée par Teel [93] pour la stabilisation d’une
chaîne d’intégrateurs et présentée au chapitre 1. rx et rz sont définis par :
2.17) :
1
u = (1 + rz ) (2.86)
cos(satp (θ))
v = −sata (θ̇ + satb (θ + θ̇ + satc (2θ + θ̇ − x̄˙ + satd (3θ + θ̇ − 3x̄˙ − x̄))))(2.87)
où sata est une fonction de saturation entre −a et a avec 0 < a < π2 .
La composante rz de la commande u prend la forme suivante :
rz = −a1 z̄˙ − a2 (z̄ − zd ) (2.88)
avec zd l’altitude désirée. a1 et a2 sont des constantes positives telles que le polynôme
s2 + a1 s + a2 soit stable. La stabilité du système est garantie si les paramètres a, b,
c, et d de commande vérifient certaines relations détaillées dans [57].
Seconde stratégie
L’objectif de cette stratégie, initialement proposée par [83], est de profiter des
propriétés trigonométriques du PVTOL et transformer le sous-système de trans-
lation Σt en 2 chaînes d’intégrateurs d’ordre 2. L’idée est de conduire l’angle du
système θ(t) vers un angle désiré θd (t) donné par l’équation suivante :
−r
x
θd = arctan (2.89)
rz + 1
Dans ce cas là, l’application de la poussée positive de la forme suivante
p
u = rx2 + (rz + 1)2 (2.90)
avec θ comme entrée imaginaire pour Σt , transforme le sous-système de translation
en 2 chaînes d’intégrateurs d’ordre 2
ẍ = rx (2.91)
z̈ = rz (2.92)
pour t → ∞. Dans cette stratégie, on a une singularité de la division par zéro dans
équation (2.89) quand rz est égal à −1. Une solution, proposée par Olfati-Saber [73],
est de prendre rz bornée telle que (−1 < rz < 1) . Les approches de commande de
cette stratégie se divisent en 2 classes selon le choix de rx , rz et v.
avec
rx = −k11 x − k12 ẋ
rz = −k21 z − k22 ż (2.95)
v = −k1 k 2 (θ − θd ) − k2 k θ̇
où 0 < k1 , k2 ≤ 1, k est un grand gain, kij sont des gains positifs et θd est défini par
(2.89).
Pour le choix de rx et rz , Fantoni et al. [22] ont adopté l’approche bornée proposée
par Teel [93] pour la stabilisation non-linéaire d’une chaîne d’intégrateurs :
où ci1 , ci2 pour i = 1, 2 sont des coefficients d’un polynôme d’Hurwitz et 0 < c0 < 1.
Les états x̄, z̄, x̄˙ et z̄˙ sont définis par les équations (2.18 - 2.20). La commande rz est
choisie bornée entre −1 et 1 pour éviter la singularité de la division par zéro dans
l’équation de θd (2.89).
Approche bornée Dans cette approche on trouve le travail de Zavala et al. [104]
qui est l’extension de [22]. La différence principale est la forme de v et le choix des
fonctions de saturation :
v = satM22 (θ¨d ) − satM32 (θ̇ − satM42 (θ˙d ) + satM31 (θ̇ − satM43 (θ˙d ) + θ − θd )) (2.99)
70 2.5. Approche bornée pour la stabilisation du PVTOL
avec
rx dépend d’une constante positive k qui peut être choisie a priori pour assurer la
stabilité globale de l’approche proposée. Les fonctions de saturation dans rx et rz
sont linéaires à deux niveaux.
Le choix de rx et rz est basé sur les résultats du second chapitre pour la stabilisation
bornée d’un chaîne d’intégrateurs avec des commandes bornées :
rx = −εx sat1 (p2 ) − ε2x sat1 (εx p1 + p2 ) (2.104)
rz = −εz sat1 (p4 ) − ε2z sat1 (εz p3 + p4 ) (2.105)
εx,z sont de paramètres positifs inférieurs à 1 et sat1 (.) est une fonction de saturation
différentiable d’ordre 2 bornée entre ±1 (Annexe B.5).
L’application de la poussée
p
u = rx2 + (rz + 1)2 (2.106)
avec η1 = ηd de l’équation (2.89) le sous-système Σt se transforme en 2 chaînes
d’intégrateurs d’ordre 2 :
p̈1 = rx
(2.107)
p̈3 = rz
˙ T où θ̄ = η − η . La commande v
Pour Σr (2.103), définissons φ = (φ1 , φ2 )T = (θ̄, θ̄) 1 d
est définie par
v = satβθ (η̈d ) − εθ sat1 (η2 − η̇d ) − ε2θ sat1 (εθ (η1 − ηd ) + (η2 − η̇d )) (2.108)
où satβθ (.) = βθ sat1 (.) pour un certain paramètre positif βθ .
50
50 0
0-50
-100
-50
-150
-100
-200
-150
-250
-200
-250
-300
0 20 40 60 80 100 120 140 160 180 200
-300
0 20 40 60 80 100 120 140 160 180 200
(a) x
4
4
2
2
0
0
-2
-2
-4
-4
-6
-6
0 20 40 60 80 100 120 140 160 180 200
0 20 40 60 80 100 120 140 160 180 200
(b) ẋ
50
50
40
40
30
30
20
20
10
10
0
0
0 20 40 60 80 100 120 140 160 180 200
0 20 40 60 80 100 120 140 160 180 200
(c) z
1
1
0
0
-1
-1
-2
-2
-3
-3
-4
-4
-5
-50 20 40 60 80 100 120 140 160 180 200
0 20 40 60 80 100 120 140 160 180 200
(d) ż
3
4
23
12
01
-10
0 10 20 30 40 50 60
-1
0 10 20 (a)30θ 40 50 60
1
0.5
0.5
0
0
-0.5
-0.5
-1
0 10 20 30 40 50 60
-1
0 10 20 30 40 50 60
(b) θ̇
2.53
2
2.5
1.52
1
1.5
0.51
0 10 20 30 40 50 60
0.5
0 10 20
(c)30u 40 50 60
0.51
0
0.5
-0.50
-1
-0.5
-1
-1.5
-1.50 10 20 30 40 50 60
0 10 20 30 40 50 60
(d) v
Position et orientation
Position et orientation
60
60
50 50
40
40
30
30
20
20
10
10
0
0
-10 -900 -800 -700 -600 -500 -400 -300 -200 -100 0 100
-60 -40 -20 0 20 40 60
Position et orientation
Position et orientation
60 60
50 50
40 40
30 30
20 20
10 10
0 0
-10
-10 0 10 20 30 40 50 60 70 80 -10
-10 0 10 20 30 40 50 60
2.6 Conclusions
Dans ce chapitre, nous avons étudié la commande des avions à décollage et
atterrissage verticaux (PVTOL). Le problème de la stabilisation de ce système
sous-actionné a attiré beaucoup d’attention parce qu’il est considéré comme une
76 2.6. Conclusions
première étape pour développer des lois de commande pour les avions réels et les
VTOL en général. Par exemple, le PVTOL est la projection dans un plan des
avions à décollage et atterrissage court et le quadrirotor.
En second lieu, nous avons classifié les commandes pour le PVTOL avec gra-
vité et nous avons proposé une loi de commande non-linéaire bornée pour stabiliser
le PVTOL. Cette commande est basée sur la stabilisation d’une chaîne d’intégra-
teurs sous la commande bornée (somme de fonctions de saturation) et sur l’analyse
de Lyapunov pour les systèmes en cascades. Des simulations numériques ont montré
l’efficacité de la commande proposée en comparaison avec les approches existantes
(bornées et non-bornées).
Le quadrirotor
3.1 Introduction
Nous avons étudié au chapitre 1 la stabilisation globale d’une chaîne d’intégra-
teurs par l’application des commandes non-linéaires bornées. Une de ces commandes
a été appliquée combinée avec la théorie des systèmes en cascade au chapitre 2 pour
établir la stabilité globale du PVTOL qui représente la projection d’un quadrirotor
dans le plan. Dans ce chapitre, nous généralisons ces résultats au cas de la stabili-
sation globale du quadrirotor. Nous présenterons d’abord le modèle dynamique du
quadrirotor étudié par plusieurs équipes de recherche. Ce modèle récapitule les re-
lations entre les forces et les couples produites par le quadrirotor d’une côté et les
mouvements de l’aéronef dans l’espace (translation et rotation) d’une autre côté. Ce
modèle sera utilisé dans notre étude pour synthétiser les lois de commande. Nous
aborderons ensuite le problème de stabilisation globale de l’orientation du quadri-
rotor par des commandes bornées. Ce problème est une application directe d’un
problème plus général connu par les automaticiens sous le titre "stabilisation de
l’attitude d’un corps rigide". Cette commande a été mise en pratique avec succès
sur le quadrirotor du gipsa-lab dans le cadre de la thèse de J.F. Guerrero Castellanos
[29]. Nous étudierons également la stabilisation globale de la position du quadrirotor
en généralisant l’approche non-linéaire appliquée dans le cas du PVTOL.
77
78 3.2. Quadrirotor du gipsa-lab
Dans le système actuel, le sens de la rotation de chaque rotor est fixé mais ceci peut
être changé dans des travaux futurs. Dans notre prototype actuel, les sens de rotation
des rotors (avant-arrière) et (droite-gauche) sont opposés. En conséquence, les effets
gyroscopiques tendent à s’annuler en vol stationnaires comme souligné par Castillo
et al. [17]. L’électronique de commande (module de capteur d’attitude et module de
communication) avec la batterie sont placés au centre du corps du quadrirotor.
m = m1 + m2 + m3 + m4 + mc + mb
avec Ix représente l’inertie autour l’axe ~t1 qui passe entre le centre de la croix et les
rotors (avant-arrière), Iy représente l’inertie autour l’axe ~t2 qui passe entre le centre
de la croix et les rotors (droite-gauche) et finalement Iz représente l’inertie autour
l’axe ~t3 perpendiculaire au plan de ~t1 et ~t2 (voir figure 3.2 ).
L’inertie Ix est la somme de l’inertie de la croix (Icx ), l’inertie des quatre moteurs
(Imx1 , Imx2 , Imx3 et Imx4 ) et l’inertie de l’électronique (Ibx ) autour du point d’inter-
section de la croix :
On peut suivre la même démarche pour trouver les expressions des inerties Iy et Iz .
L’inertie du croix autour le point d’intersection est donnée par :
mc (2l)2 mc d2
Icx = Icy = + (3.3)
12 2
mc (2l)2
Icz = (3.4)
6
où d est le diamètre des poutres qui constituent la croix et l est la distance entre
le centre de la croix et un de quatre rotors. Pour trouver les inerties des moteurs
McKerrow [68] considère le moteur comme un cylindre de longueur pm avec un rayon
rm , alors l’inertie du moteur d’avant autour le point d’intersection du croix est :
2
m1 rm m1 p2m
Imx1 = + (3.5)
4 3
m1 rm m1 p2m
2
Imy1 = + + m1 l2 (3.6)
4 3
2
m1 rm
Imz1 = + m1 l2 (3.7)
2
L’électronique et la batterie s’accrochant au-dessous de l’intersection à une distance
l0 sont modélisées par un parallélépipède rectangulaire avec des dimensions ab , wb ,
et hb
mb (wb2 + h2b )2
Ibx = + mb l02 (3.8)
12
mb (a2b + h2b )2
Iby = + mb l02 (3.9)
12
mb (wb2 + a2b )2
Ibz = (3.10)
12
Pour le quadrirotor considéré comme un corps rigide, nous définissons deux repères :
Le repère terrestre fixe E(e~1 , e~2 , e~3 ) et un repère mobile fixé au centre de masse du
80 3.2. Quadrirotor du gipsa-lab
~t3
~t2
~t1
~e3
~e2
~e1
Fig. 3.2 – Le repère terrestre fixe E(e~1 , e~2 , e~3 ) et un repère mobile fixé au centre de
masse du quadrirotor T (t~1 , t~2 , t~3 )
quadrirotor T (t~1 , t~2 , t~3 ) (voir figure 3.2). Pour le passage entre les deux repères la
communauté d’aéronautique utilise généralement la rotation premièrement autour
de l’axe t~3 , ensuite autour de l’axe t~2 et finalement autour de l’axe t~1 . Ces rotations
sont exprimées respectivement par trois matrices de rotation R(t~1 , φ), R(t~2 , θ) et
R(t~3 , ψ).
Premièrement la matrice de rotation R(t~1 , φ) d’angle de roulis φ autour l’axe t~1
avec −π < φ < π :
1 0 0
R(t~1 , φ) = 0 cφ −sφ (3.11)
0 s φ cφ
Deuxièmement la rotation d’angle de tangage θ autour de l’axe t~2 avec − π2 < θ <
− π2 :
cθ 0 sθ
R(t~2 , θ) = 0 1 0 (3.12)
−sθ 0 cθ
et finalement la rotation d’angle de lacet ψ autour de l’axe t~3 avec −π < ψ < π :
cψ −sψ 0
~
R(t3 , ψ) = s ψ cψ 0 (3.13)
0 0 1
Chapitre 3. Le quadrirotor 81
Le passage du repère fixe E vers le repère T est fait à travers R = R(φ, θ, ψ), la
matrice de rotation totale :
cψ cθ cψ s θ s φ − s ψ cφ cψ s θ cφ + s ψ s φ
R = R(t~3 , ψ)R(t~2 , θ)R(t~1 , φ) = sψ cθ sψ sθ sφ + cψ cφ sψ sθ cφ − cψ sφ (3.14)
−sθ cθ s φ cθ cφ
où Cβ = r√C2ρS
α
et S désigne la surface du disque du rotor. Les constantes Cα et Cβ ne
sont pas connues de façon précise et dépendent de plusieurs facteurs entre autres la
densité de l’air, l’humidité et la proximité du sol. La relation entre la portance Fi et
le pas collectif αi est non-linéaire et ceci rend le contrôle de la portance difficile pour
la plupart des configurations d’hélicoptères existantes. Dans le cas du quadrirotor,
le pas collectif de chaque rotor est fixé à une valeur constante. La relation (3.17)
s’écrit :
Fi = kl s2i (3.18)
où
4C 2 α
kl = q α i (3.19)
(Cβ + (4Cα αi + Cβ2 ))2
F3
F4
F2
F1
où d est une constante positive "difficilement" mesurable. Il faut noter que les rotors
du quadrirotor ont un profil circulaire. Avec ce profil, la portance et la traînée
augmentent avec l’angle d’incidence. Dans notre cas, le quadrirotor a des pales à
pas fixe mais ces pales sont tout à fait flexibles et probablement l’angle d’incidence
change pendant l’accélération et la rotation.
F4
F2
1
)
l
F3
F1
Γ3
Γ4
Γ2
Γ1
Le vecteur ω ~ est exprimé par rapport aux vitesses de rotations φ̇, θ̇, ψ̇ dans
E(e~1 , e~2 , e~3 ) :
φ̇ 0 0
~ = 0 + R(x, φ)−1 θ̇ + (R(y, θ)R(x, φ))−1 0
ω (3.28)
0 0 ψ̇
est l’équation cinématique qui relie les dérivés temporelles des angles d’orientation
avec le vecteur de vitesse angulaire. Plusieurs paramétrisations cinématiques (ou
représentations) existent pour décrire l’orientation du quadrirotor [84]. Les repré-
sentations généralement utilisées sont les angles d’Euler et les paramètres d’Euler
connus sous le nom de quaternion unitaire.
Ṙ = R~ω ×
(3.29)
Jω~˙ = −~ω × J~ω + Γtot
cos β2
q0
q= ~ = ∈H (3.31)
k sin β2 ~q
avec
H = {q | q02 + ~qT ~q = 1, q = [q0 ~q]T , q0 ∈ R, ~q ∈ R3 } (3.32)
~q = [q1 q2 q3 ]T et q0 sont respectivement la valeur vectorielle et la valeur scalaire
du quaternion, β représente l’angle de rotation autour l’axe ~k et q02 + ~qT ~q = 1 est
Chapitre 3. Le quadrirotor 87
p~˙ = ~v
(3.39)
m~v˙ = −mg~e3 + R( i Fi (si )~t3 )
P
avec le vecteur de position p~ = (x, y, z) et le vecteur de vitesse linéaire ~v = (ẋ, ẏ, ż).
La somme des portances Fi est la poussée u :
X
u= Fi (si ) = F1 + F2 + F3 + F4 (3.40)
i
88 3.4. Modèles dynamiques proposés
q = (x, y, z, ψ, θ, φ) (3.41)
V = mgz (3.44)
d ∂L ∂L
− =F (3.46)
dt ∂ q̇ ∂q
Fξ = RF̂ (3.47)
avec
F̂ = (0, 0, u)T (3.48)
u = F1 + F2 + F3 + F4
1 ∂ T
J η̈ + J˙η̇ − (η̇ J η̇) = Γa (3.50)
2 ∂η
On obtient finalement :
− sin θ 0
mξ¨ = u cos θ sin φ + 0 (3.51)
cos θ cos φ −mg
Pour les couples nous avons Γr , Γp et Γy plus les couples produits par les effets
gyroscopiques lors de la rotation autour de l’axe ~t1 ou ~t2 . Lors d’une rotation autour
de ~t1 , le couple gyroscopique sur l’axe ~t2 est :
Iy − Iz Jr Γr
φ̈ = θ̇ψ̇( ) − θ̇Ω + (3.58)
Ix Ix Ix
Iz − Ix Jr Γp
θ̈ = φ̇ψ̇( ) − φ̇Ω + (3.59)
Iy Iy Iy
Ix − Iy Γy
ψ̈ = φ̇θ̇( )+ (3.60)
Iz Iz
avec
Ω = s2 + s4 − s1 − s3 (3.61)
Ce modèle présente l’inconvénient d’être basé sur une hypothèse de petit angle ce
qui limite son application.
p~˙ = ~v (3.62)
X
m~v˙ = −mg~e3 + R( Fi (si )~t3 ) (3.63)
i
Ṙ = R~ω × (3.64)
~˙ = −~ω × J~ω + Γtot
Jω (3.65)
Ce modèle dynamique est adopté par plusieurs auteurs comme Hamel et al. [34],
Pounds et al. [76] et Bouabdallah et al. [13].
92 3.4. Modèles dynamiques proposés
la constante C est le facteur entre la force et le moment et {ki }i=1,...,6 sont les
coefficients de traînée. Ce modèle sera utilisé dans notre travail pour la stabilisation
du quadrirotor.
avec
vθ = lv1
vφ = lv2
vψ = v3
Le même travail peut être mené sur le modèle de Bouabdallah et al. [13]. La première
étape consiste à découpler le produit des sinus et des cosinus présents dans les
équations de ẍ, ÿ et z̈ par l’application des formules de Werner. Pour deux angles
quelconques α et β, nous avons :
1 1 1
ϑ1 = αkϑ + βkϑ [τ − (t + kT )] + γkϑ [τ − (t + kT )]2 (3.91)
avec
1
αkϑ := αkφ − αkψ + αkθ
1
βkϑ := βkφ − βkψ + βkθ (3.92)
1
γkϑ := γkφ − γkψ + γkθ
Ceci peut être également appliqué pour les autres angles {ϑi }i=2,3,4 et {ϕi }i=1,...,4 .
Des calculs fastidieux nous permettent d’obtenir le système discret global :
0
xf 1 tf 0 0 0 0 x0
ẋf 0
0 1 0 0 0 0 ẋ0
yf 0
0 0 1 tf 0 0 y0
= +
ẏf 0
0 0 0 1 0 0 ẏ0
−g t2f
zf 0 0 0 0 1 tf z0
2
żf −gtf 0 0 0 0 0 1 ż0
H1 H3 U
+ +T DN
H2 H4 4
1.5
φ 2
dφ
1
1.5
0.5 1
0.5
0
0
-0.5
-0.5
-1
-1
-1.5
-1.5
-2 -2
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5
4 3
θ
dθ
3 2
2 1
0
1
-1
0
-2
-1
-3
-2 0 0.5 1 1.5 2 2.5
0 0.5 1 1.5 2 2.5 3
1.2
1
ψ
dψ
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
-0.2
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
0 0.5 1 1.5 2 2.5 3 -1
0 0.5 1 1.5 2 2.5
60
600
40
400
20
200
-20
-200
-40
x
dx -400
-60 y
dy
z
-600
-80 dz
-100 -800
0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 2 2.5
avec
~ − ω̄
ω̃ = ω
ω̄ = −Γ1 ~q
1
ω̄˙ = −Γ1 ~q˙ = − Γ1 (q0 I3×3 + ~q× )~ω
2
Les matrices Γ1 et Γ2 sont symétriques définies positives et α est un paramètre
positif. La deuxième commande proposée est indépendante du modèle dynamique
sans compensation du couple gyroscopique :
Γ = −Γ4 ω
~ − α~q
où Γ4 est une matrice symétrique définie et α un paramètre positif. Ces deux com-
mandes sont appliqués au quadrirotor dans [92].
Dans cette étude, nous avons seulement choisi le cas où qd = [1 0 0 0]T qui
représente le cas où l’attitude est alignée avec les axes du repère terrestre fixe.
Néanmoins, les résultats peuvent être appliqués sur l’une ou l’autre orientation
désirée.
q̇ = 12 Ω(~ω )q = 12 Ξ(q)~ω
(3.99)
~˙ = −~ω × J~ω + Γtot
Jω
Chapitre 3. Le quadrirotor 101
M ≥1
Mφ ≥ λ1 (2M + )
Mθ ≥ λ2 (2M + )
Mψ ≥ λ3 (2M + )
où > 1, α et λ1,2,3 sont des paramètres positifs. Les commandes (3.100) stabilisent
donc globalement la dynamique du quadrirotor à l’origine (q0 = 1, ~q = 0 et ω
~ = 0)
Application numérique
Dans cette section, nous étudions par simulation la performance de la commande
d’attitude bornée du Théorème 12. Nous savons à partir des équations des couples
Γr (3.22), Γp (3.23) et Γy (3.24) avec l’équation de la poussée u (3.40) qu’il y a une
relation entre la vitesse de rotation des rotors et ces couples et forces. Cette relation
peut être écrite sous la forme vectorielle :
2
0 −kl l 0 kl l s1
Γ −kl l 0 kl l 0 s22
= (3.101)
u −d d −d d s23
kl kl kl kl s24
En fait, les entrées de commande du quadrirotor sont les quatre couples élec-
tromécaniques des quatre rotors τi , i ∈ {1, 2, 3, 4}. L’objectif de ces couples est de
forcer la vitesse réelle si à poursuivre un profil de référence désiré sdi . Puisque nous
employons des moteurs à courant continu, la dynamique de ces moteurs s’écrit par
une équation du premier ordre par rapport au courant d’armature et de la vitesse
d’axe. Le modèle mécanique de moteur peut être exprimé par :
τi = Di + Ir sdi − γi s̃ (3.103)
quadrirotor soit réalisée. On peut voir sur figure 3.14 que la commande atteint
sa limite et agit sur le système pour surmonter les perturbations. Ce deuxième
cas prouve que la commande est robuste vis à vis des perturbations externes.
Cette propriété est essentielle pour l’implantation en temps réel où les couples
aérodynamiques de perturbation ne sont pas triviaux.
100
Roulis
Tangage
Lacet
50
0
Angle (°)
-50
-100
-150
0 1 2 3 4 5
Temps
Fig. 3.11 – Évolution dans le temps des angles d’Euler (roulis, tangage et lacet)
pour un état initial φ = −45◦ , θ = 50◦ et ψ = −175◦ sans ajouter des perturbations
externes
104 3.5. Commande d’attitude du quadrirotor
4
ω1
ω2
3
ω3
1
rad\sec
-1
-2
-3
-4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Temps
Fig. 3.12 – Évolution dans le temps des vitesses angulaires du quadrirotor sans
ajouter des perturbations externes
0.4 Γr
Γp
0.3
Γy
0.2
0.1
N*m
-0.1
-0.2
-0.3
-0.4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Temps
Fig. 3.13 – Les couples bornés du Théorème 11 appliqués sur le quadrirotor avec
les bornes Γ̄ = [0.40 0.40 0.15]T N m sans ajouter des perturbations externes
Chapitre 3. Le quadrirotor 105
80 Roulis
Tangage
Lacet
60
40
20
Angle (°)
-20
-40
-60
-80
0 1 2 3 4 5 6 7 8 9 10
Temps
5
ω1
4 ω2
ω3
3
1
rad\sec
-1
-2
-3
-4
-5
0 1 2 3 4 5 6 7 8 9 10
Temps
0.4 Γr
Γp
0.3
Γy
0.2
0.1
N*m
-0.1
-0.2
-0.3
-0.4
0 1 2 3 4 5 6 7 8 9 10
Temps
Fig. 3.16 – Les couples bornés du Théorème 11 appliqués sur le quadrirotor avec
les bornes Γ̄ = [0.40 0.40 0.15]T N m
τ¯ψ
η̈ = J −1 (−C(η, η̇)η̇ + Γa ) = τ¯θ (3.105)
τ¯φ
les auteurs dans [17] et [47] ont développé une commande non-linéaire et non-bornée
de type Lyapunov en se basant sur l’idée que le quadrirotor est considéré comme deux
PVTOL inter-connectés. Premièrement l’altitude est stabilisée par l’application de
la poussée u de la forme suivante :
−az1 ż − az2 (z − zd ) + mg
u=
cos θ cos φ
Pour les deux PVTOL (y, φ) et (x, θ), l’approche de Teel [93] pour la stabilisa-
tion d’une chaîne d’intégrateurs a été adoptée pour construire respectivement la
commande du roulis φ avec la position y et la commande du tangage θ avec la
position x :
ẏ ẏ y
τ̃φ = −satφ1 (φ̇ + satφ2 (φ + φ̇ + satφ3 (2φ + φ̇ + + satφ4 (φ̇ + 3φ + 3 + ))))
g g g
ẋ ẋ x
τ̃θ = −satθ1 (θ̇ + satθ2 (θ + θ̇ + satθ3 (2θ + θ̇ − + satθ4 (θ̇ + 3θ − 3 − ))))
g g g
Cette commande est appliquée sur le quadrirotor dans plusieurs articles [17], [47] et
[20].
Iy − Iz Jr
Γr = Ix (z1 − ( )θ̇ψ̇ + ( )θ̇Ω − α1 (z2 + α2 z1 ) − α2 z2 )
Ix Ix
Iz − Ix Jr
Γp = Iy (z3 − ( )φ̇ψ̇ − ( )φ̇Ω − α3 (z4 + α3 z3 ) − α4 z4 )
Iy Iy
Iz Ix − Iy
Γy = (z5 − ( )φ̇θ̇ − α5 (z6 + α5 z5 ) − α6 z6 )
l Iz
108 3.6. Stabilisation de la position du quadrirotor
où α1,...,6 sont des paramètres positifs et z1,...,6 représentent les erreurs de poursuite
entre l’état actuel et l’état désiré :
z1 = φd − φ
z2 = φ̇ − φ˙d − α1 z1
z3 = θd − θ
z4 = θ̇ − θ˙d − α3 z3
z5 = ψd − ψ
z6 = ψ̇ − ψ˙d − α5 z5
Pour la dynamique de translation du quadrirotor (équations (3.66-3.68 du modèle
de Bouabdallah et al. [13]), l’altitude z est premièrement commandée par la poussée
suivante :
m
u= (z7 + g − α7 (z8 + α7 z7 ) − α8 z8 )
cos φ cos θ
pendant que la position horizontale (x, y) est stabilisée par :
m
ux = (z9 − α9 (z10 x + α9 z9 ) − α10 z10 )
u
m
uy = (z11 − α11 (z12 x + α11 z11 ) − α12 z12 )
u
avec les erreurs de poursuite suivantes :
z7 = żd − z
z8 = ż − żd − α7 z7
z9 = xd − x
z10 = ẋ − ẋd − α9 z9
z11 = yd − y
z12 = ẏ − ẏd − α11 z11
Γtot ~ × J~ω − Γg
=ω
J 1
+ (ω~˙d + RdT (−kσ σ − q0 ~q + kq ~qT Ω̃~q − (Rd ω~d × RdT + kq q02 I3×3 + Kq q0 ~q× )Ω̃))
γ 2
où Ω̃ = Rd (~ω − ω
~ d ) est la différence entre les vitesses angulaires, Rd est la matrice
désirée de rotation, Ω̃v = 2kq q0 ~q est la commande virtuelle et finalement σ = Ω̃− Ω̃v .
avec
Le quadrirotor est considéré comme dans [17] par deux PVTOL :(θ, x) et (φ, y). La
commande pour ξ = (x, y)T , η = (θ, φ)T et v = (τ̃θ , τ̃φ )T est :
v = −σa K1 η̇ + σb K2 z2 + σc (K3 z3 + (3.106)
σd (K4 (z3 + K3 η + K3 (K1 + K2 )A−1 ξ˙ + K3 K2 K1 A−1 ξ)))
où
z2 = η̇ + K1 η (3.107)
z3 = z2 + K2 η + K2 K1 A−1 ξ˙ (3.108)
−g 0
A = (3.109)
0 g
Les niveaux (a, b, c, d) de saturation sont liés aux coefficients (K1 , K2 , K3 ) par une
certaine relation détaillée dans [42]. La commande de l’équation (3.106) est une
modification de l’approche de Teel [93] pour la stabilisation d’une chaîne d’inté-
grateur avec des paramètres de réglage dans l’expression des fonctions de saturation.
modèle égale à 1 :
ẍ = u(cos φ sin θ cos ψ + sin φ sin ψ)
u(cos φ sin θ sin ψ − sin φ cos ψ)
ÿ =
z̈ = −1 + u(cos φ cos θ)
(3.110)
θ̈ = vθ
φ̈ = vφ
ψ̈ = vψ
du système (3.110) est bornée, le système ne peut pas diverger pendant ce temps.
Ensuite, comme nous avons fait dans le cas du PVTOL, on profite des propriétés tri-
gonométriques du système (3.112) pour transformer le sous-système de translation
Σt en 3 chaînes d’intégrateurs d’ordre 2. Dans les sections suivantes, nous présente-
rons en détails les entrées de commande à appliquer afin de stabiliser le quadrirotor.
où 0 < εx,y,z < 1 sont des paramètres de réglage. Les bornes supérieures r̄x , r̄y et r̄z
sont choisies telles que : q
ū = (1 + r̄z )2 + r̄x2 + r̄y2 (3.122)
Noter que ceci implique implicitement que ū > 1 qui est une contrainte naturelle si
on veut compenser l’effet de la gravité. Finalement, pour faire converger les angles
η1 et η3 vers les angles désirés η1d et η3d , on applique :
v̄θ
satβθ (η̈1d ) − εθ sat1 (η2 − η̇1d ) − ε2θ sat1 (εθ (η1 − η1d ) + (η2 − η̇1d ))
vθ = 2 (3.123)
βθ + εθ + εθ
v̄φ
satβφ (η̈3d ) − εφ sat1 (η4 − η̇3d ) − ε2φ sat1 (εφ (η3 − η3d ) + (η4 − η̇3d ))
vφ = 2 (3.124)
βφ + εφ + εθ
avec, pour β > 0, satβ (.) := βsat1 (.) et comme précédemment, les paramètres de
réglage εθ et εφ sont choisi tels que 0 < εθ , εφ < 1. Le paramètre β doit vérifier
une certaine relation détaillée en Annexe C.4.2. La stabilisation globale du quadri-
rotor par la commande bornée basée sur l’approche non-linéaire du chapitre 1 est
récapitulée par le théorème suivant :
Étude numérique
Dans cette section, on applique la commande de position développée dans les
sections précédentes sur le modèle d’Altug et al. [7] :
u k1
ẍ = (cos φ sin θ cos ψ + sin φ sin ψ) − ẋ
m m
u k2
ÿ = (cos φ sin θ sin ψ − sin φ cos ψ) − ẏ
m m
u k3
z̈ = −g + (cos φ cos θ) − ż
m m
k4
θ̈ = vθ − l θ̇
Iy
k5
φ̈ = vφ − l φ̇
Ix
k6
ψ̈ = vψ − ψ̇
Iz
avec
vθ = l(−F1 − F2 + F3 + F4 )/Iy
vφ = l(−F1 + F2 + F3 − F4 )/Ix
vψ = C(F1 − F2 + F3 − F4 )/Iz
Les valeurs numériques utilisées pour les paramètres de réglage dans les expressions
des entrées de commande sont : εψ = 1, βθ = βφ = 0.04, εθ = εφ = 0.9, εx = 0.4,
εy = 0.4 et εz = 0.99. L’évolution dans le temps des états sous-système de translation
de modèle d’Altug et al. [7] est tracée sur figure 3.17. Les variations des états de
sous-système de rotation de modèle d’Altug et al. [7] sont tracées sur la figure 3.18.
Les commandes bornées sont représentées sur figure 3.19.
Chapitre 3. Le quadrirotor 115
6
30 dx/dt
x dy/dt
y dz/dt
z 5
25
20
3
15 2
1
10
0
5
-1
0
-2
-5 -3
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
Temps Temps
2.5 2
θ dθ/dt
φ dφ/dt
2 ψ dψ/dt
1.5
1.5
1
1
0.5
0.5
0
0
-0.5
-0.5
-1
-1
-1.5 -1.5
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Temps Temps
(a) Les angles d’Euler (θ, φ, ψ) (b) Vitesse angulaire (θ̇, φ̇, ψ̇)
Fig. 3.18 – Évolution dans le temps des états de sous-système de rotation de modèle
d’Altug et al. [7] en appliquant la commande bornée du Théorème 13 pour un état
initial [θ(0), φ(0), ψ(0), θ̇(0), φ̇(0), ψ̇(0)] = [ π2 , π2 , π4 , 1, 2, 0]
116 3.7. Conclusions
4
u
vθ
3 vφ
v
ψ
-1
-2
-3
-4
0 5 10 15 20 25 30
Temps
3.7 Conclusions
Dans ce chapitre, trois parties principales on été abordées. Dans la première
partie, une description globale du quadrirotor a été présentée. Nous avons analysé
les forces aérodynamiques et les couples agissant sur la dynamique de quadrirotor.
Nous avons également étudié les modèles dynamiques du quadrirotor proposés dans
la littérature. Dans la deuxième partie, nous avons développé une commande bornée
pour la stabilisation d’attitude du quadrirotor. Cette commande est basée sur la
stabilisation d’une chaîne d’intégrateur en appliquant l’approche non-linéaire de
Sussmann et al. [89] étudiée dans chapitre 1. Dans la dernière partie de ce chapitre,
la commande bornée pour la stabilisation du PVTOL a été généralisée pour le cas
du quadrirotor. Cette commande a été appliquée sur le modèle d’Altug et al. [7].
Conclusion et perspectives
Conclusion
Durant ces dernières années, la robotique aérienne a fait de grand progrès. Cet
intérêt est justifié par les avancées technologiques récentes qui rendent possibles la
conception et la construction des mini-drones et par le domaine d’application civile
et militaire très vaste de ces aéronefs. Les drones sont classifiés en trois catégories
principales : les avions, les dirigeables et les hélicoptères. Le travail réalisé dans cette
thèse rentre dans ce cadre de recherche sur la commande de mini-véhicules aériens
capables de réaliser du vol stationnaire et en particulier du quadrirotor. Notre ob-
jectif est de développer des commandes bornées qui prennent en compte différents
types de contraintes telles que les contraints sur les actionneurs, le coût de calcul
très réduit et la limitation énergétique.
Nous nous sommes tout d’abord intéressés à la stabilisation globale d’un système li-
néaire comme la chaîne d’intégrateurs en utilisant la commande bornée. Nous avons
étudié la commande non-linéaire proposé par Teel [93] basée sur une série de sa-
turations imbriquées ensuite généralisée et étendue à une commande basée sur des
sommes de saturation par Sussmann et al. [89]. Ces lois de commande sont peu coû-
teuse en terme de calcul et donc adaptées à une utilisation sur les micro-drones avec
une faible capacité de calcul. Deux améliorations ont été proposées. La première
amélioration considère les paramètres de réglage de la commande et la deuxième
vise à faire varier de manière dynamique le niveau des saturations afin de palier
au manque de performance intrinsèque aux approches de type saturations fixes.
Les résultats obtenus ont été étendus au cas discret. Nous avons également testé
la robustesse des commandes proposées en temps continu vis à vis de retard sur la
mesure et vis à vis de perturbations de pôles (tant réels qu’imaginaires). Il s’avère
que les commandes à base de saturations à seuils variables sont légèrement moins
robustes que celles à seuils fixe mais dans des proportions qui les maintiennent très
compétitives par rapport à la plupart des autres méthodes. Le gain de performance
ne se paye donc que très peu par une perte de robustesse.
La théorie des systèmes en cascade a été combinée avec la commande développée
ci-dessus afin de concevoir des lois de commande qui stabilisent globalement un hé-
117
118 3.7. Conclusions
licoptère à quatre rotors dans l’espace (quadrirotor) et dans le plan (dénoté PVTOL
pour Planar Vertical Take-Off and Landing). Nous avons étudié la stabilisation de
l’attitude du quadrirotor en le considérant comme un corps rigide par l’application
des commande non-linéaires bornées.
Un autre résultat concernant la stabilisation des systèmes chaînés d’ordre 2 (à iner-
tie) a été obtenu en se basant sur une loi de commande prédictive orientée temps
minimum [5]. En utilisant les transformations présentées dans Aneke et al. [8] nous
pouvons transformer la dynamique du PVTOL en systèmes chaînés à inertie corres-
pondants aux objets volants dans un milieu sans gravité [71]. Nous avons proposé
une commande par retour d’état qui assure la stabilisation du système chaînés à iner-
tie en respectant les contraintes de saturation sur les entrées de commande. Cette
approche basée sur le principe de l’horizon glissant prend en compte la réalisation
en temps réel et la rapidité du système.
Perspectives
Dans cette section, l’ensemble des perspectives que nous estimons abordables
seront présentées. Elles peuvent apporter soit des améliorations, soit des nouveautés
aux contributions apportées par ce travail.
La stabilisation d’une chaîne d’intégrateurs par la commande non-linéaire bornée
peut être améliorée en appliquant le placement de pôles de [38]. Dans leur tra-
vail, Johnson et Kannan [38] ont proposé une adaptation de la commande proposée
par Teel (1992) permettant de placer les pôles de la boucle fermée ailleurs qu’en
{−1, ..., −1}. Cela permet d’accélérer la convergence du système une fois que les
saturations ne sont plus effectives.
Le choix des paramètres de réglage de la commande non-linéaire proposée pour la
stabilisation du PVTOL et du quadrirotor n’est pas optimisé en l’état actuel. Il est
par conséquent tout à fait envisageable d’optimiser ces choix dans le but d’améliorer
le comportement global du système, de renforcer la stabilité ou encore d’améliorer
la robustesse de la commande.
Dans notre travail, nous avons considéré la stabilisation de quadrirotor dans le cas
idéal sans prendre en compte par exemple les erreurs de modélisation de drone, la
présence de perturbations imprévisibles telles que les rafales de vent. En effet, comme
perspective, ces conditions réelles peuvent être considérées dans l’élaboration de la
commande dans le but d’augmenter le domaine de fonctionnement du quadrirotor
(à l’intérieur ou bien à l’extérieur). Dans le même esprit, nous n’avons pas considéré
le problème des retards de mesure ou de communication entre le drone et la base
de contrôle. Il nous semble envisageable de considérer ce problème en se basant sur
les résultats obtenus pour la stabilisation par commandes bornées de systèmes avec
retard [41] et particulièrement la stabilisation d’une chaîne d’intégrateurs [67].
Annexe A
Lemme 14 Sous une commande bornée les trajectoires en boucle fermée de n’im-
porte quel système linéaire sont définies.
Preuve de Lemme 14
Pour un système linéaire, ẋ = Ax + Bu où u est telle que kuk ≤ M . Alors, nous
avons :
d kxk2 2
= 2xT Ax + 2xT Bu ≤ 2λA B
max kxk + 2λmax M kxk
dt
119
120 A.1. Preuve de Théorème 1
où λPmax dénote la plus grande valeur singulière d’une matrice donnée P . En utilisant
une équation ordinaire de Bernoulli, il suit :
h λB M A i2
(λA
kx(t)k2 ≤ max
e(λmax )t
− 1 + kx(0)k e max )t
λA
max
Ceci termine la preuve, le système ne peut pas diverger en temps fini. Noter que le
résultat suppose seulement l’existence d’une trajectoire de boucle fermée.
Avant de prouver la stabilité nous considérons le changement de coordonnées z := σ1 x
1
Pnv :=i σ u, alors le système se transforme en ż = Az + Bv avec la contrainte |v| ≤
et
i=1 ε . Nous appliquons le changement de coordonnées (1.20) et (1.21) présenté
dans le travail de Sussmann et al. [89] entre y et z pour obtenir :
0 εn−1 εn−2 . . . ε 1
0 n−2
0 ε . . . ε
1
.. . . . . . .
ẏ = . .
. . y + .. v (A.2)
.
0 . . . ... 0 ε 1
0 ... ... 0 0 1
V̇n = −yn εsat1 (yn )−yn [ε2 sat1 (yn−1 )+. . .+εn sat1 (y1 )]
Évidement,
Pn i la décroissance de la fonction de Lyapunov Vn tient si |yn | ≥ 1 et ε >
i=2 ε . Mais nous avons :
n
X
ε> εi ⇔ 1 − 2ε + εn > 0
i=2
q
n 2
et p(ε) = ε − 2ε + 1 a un extremum unique pour ε = n
n−1
. Il est possible de
verifier que pour n > 2, cet extremum reste nécessairement dans ]0, 1[ parce que
p(0) = 1, dp
dε
(0) = −2 < 0, p(1) = 0 et dp
dε
(1) = −2 + n > 0.
V̇n−1 = −yn−1 ε2 sat1 (yn−1 ) − yn−1 [ε3 sat1 (yn−2 ) + · · · + εn sat1 (y1 )]
Avec la même argumentation que ci-dessus on peut montrer que, yn−1 rejoint [−1, 1]
en temps fini. Par conséquent, après une certaine temps fini, tous yi sont dans
l’intervalle [−1, 1] où le système est linéaire avec des valeurs propres strictement
négatives :
n
−ε 0 0 ... 0
n ..
−ε −εn−1 .
. . . .
ẏ = ..
.. .. .. y (A.3)
. .. .. ..
..
. . .
−εn −εn−1 . . . −ε2 −ε
Système (A.3) est évidement stable et comme résultat quand t tend vers l’infini les
états y tendent vers l’origine et celle-ci achève la preuve.
Supposons que |yn | > 1 pour le système (A.2). Pour la fonction de Lyapunov Vn :=
1 2
y , il suit :
2 n
Un choix de ε strictement inférieur ε̄(n) assurant que ε > ni=2 εi assurera égale-
P
ment l’équation (A.6). Par conséquent, ici encore, yn rejoint nécessairement [−1, 1]
en temps fini. Pendant ce temps, les autres états ne peuvent aller vers l’infini
(Lemme 14).
Le même raisonnement appliqué pour tous les états assure que tous les yi rejoignent
[−1, 1] en temps fini où le système prend la forme (A.3). Ce système est linéaire et
asymptotiquement stable ce qui termine la preuve.
Pn
Soit le paramètre d’ajustement σ := ū/ i=1 θi , alors, la loi de commande
n
X y
i
u = −σ θi satMi (A.8)
i=1
σ
Considérons le système
y + = AΘ y + BΘ u (A.9)
avec AΘ et BΘ
1 θ2 θ3 . . . θn
0 1 1
θ3 . . . θn 1
AΘ = ... . . . . . . .. BΘ = .. (A.10)
. .
0 . . . . . . 1 θn
1
0 ... ... 0 1
z + = AΘ z + BΘ v (A.11)
avec n
X
v=− θi satMi (zi ) (A.12)
i=1
Supposons que zn ∈ / [−1, 1]. Nous allons montrer que zn rejoint nécessairement
[−1, 1] après un nombre fini de périodes d’échantillonnage et reste ensuite dans cet
intervalle. En effet, définissant Vn := zn2 , il suit de l’équation (A.11) :
Quand zn ∈
/ [−1, 1], |satMn (zn )| = 1, en utilisant la définition des niveaux de satu-
ration
(
Mn = 1
θ y (A.15)
Mj = 1 + αj j+1 θj
Mj+1 − satMj+1 j+1 σ
, pour j = 1, . . . , n − 1
il suit que :
n−1
X
|v| ≥ θn − θi |satMi (zi )|
i=1
n−1
X
≥ θn − θi |satMi (zi )| − θ1 M1
i=2
n−1
X θ2
≥ θn − θi |satMi (zi )| − θ1 1 + α1 [M2 − |satM2 (z2 )|]
i=2
θ1
n−1
X
≥ θn − θ1 − θi |satMi (zi )| − θ2 M2 + θ2 (1 − α1 ) [M2 − |satM2 (z2 )|]
i=3
Mais également :
n
X
|v| ≤ θi |satMi (zi )|
i=1
n
X θ2
≤ θi |satMi (zi )| + θ1 1 + α1 [M2 − |satM2 (z2 )|]
i=2
θ1
n
X
≤ θ1 + θi |satMi (zi )| + θ2 M2
i=3
..
.
n
X
≤ θi
i=1
Annexe A. 125
Puisque θn < 1, on a :
n−1
X n−1
X
|v| ≤ θn + θi ≤ 2 − θn + θi
i=1 i=1
et donc, puisque zn ∈
/ [−1, 1] :
n−1
X
|v| − 2 |zn | ≤ −θn + θi < 0 (A.17)
i=1
A partir des inégalités (A.16) et (A.17), nous avons (A.14) telle que :
n−1
!2
X
Vn+ − Vn ≤ − θn − θi
i=1
Par conséquent, on peut conclure que Vn décroît strictement tant que zn ∈ / [−1, 1] et
zn rejoint nécessairement [−1, 1] après un nombre fini des périodes d’échantillonnage.
Une fois que zn a rejoint [−1, 1], on a :
n−1
X n−1
X
zn+ ≤ |(1 − θn )zn | + θi satMi (zi ) ≤ 1 − θn + θi < 1
i=1 i=1
Par conséquent, une fois que zn a rejoint [−1, 1], il reste dans cet intervalle pour
tous les futurs pas de temps.
Supposons maintenant que zn ∈ [−1, 1] et que zn−1 ∈ / [−1, 1]. On sait déjà que zn
reste dans l’intervalle [−1, 1], nous allons montrer que zn−1 rejoint également cet
intervalle après un nombre fini de périodes d’échantillonnage. En effet, définissant
2
Vn−1 := zn−1 , il suit de (A.11) :
+
Vn−1 − Vn−1 = (zn−1 + θn zn + v)2 − zn−1
2
(A.18)
" n−1 #2 n−1
X X
= θi satMi (zi ) − 2zn−1 θi satMi (zi ) (A.19)
i=1 i=1
Avec les mêmes arguments que pour les équations (A.16) et (A.17), nous avons :
n−1
X n−2
X
θi satMi (zi ) ≥ θn−1 − θi > 0 (A.20)
i=1 i=1
et
n−1
X n−2
X n−2
X
θi satMi (zi ) ≤ θn−1 + θi ≤ 2 |zn−1 | − θn−1 + θi (A.21)
i=1 i=1 i=1
126 A.3. Preuve de Théorème 5
n−2
!2
X
+
Vn−1 − Vn−1 ≤ − θn−1 − θi
i=1
Par conséquent, zn−1 rejoint nécessairement [−1, 1] après un nombre fini d’étapes de
+
temps et donc zn−1 vérifie alors :
n−2
X n−2
X
+
zn−1 ≤ |(1 − θn−1 )zn−1 | + θi satMi (zi ) ≤ 1 − θn−1 + θi < 1
i=1 i=1
En conséquence, zn+1 reste dans l’intervalle [−1, 1] pour tous les futurs pas de temps.
Continuant le même raisonnement pour tout zi , on peut conclure que l’état z rejoint
nécessairement une boule unitaire autour de l’origine après un nombre fini d’itéra-
tions. Une fois dans la boule unitaire, la loi de commande (A.12) est linéaire et le
système en boucle fermé est donnée par :
1 − θ1 ···
0 0 0
−θ1 1 − θ2 0 ··· 0
. ..
+ . . . . .
z = .
. . . z
. ..
..
. 1 − θn−1 0
−θ1 ··· −θn−1 1 − θn
qui est évidemment asymptotiquement stable pour tous 0 < θi < 1 avec i ∈ [1, n].
Annexe B
B.1 Existence de U
Dans cette section nous étudions le rang de la matrice carrée Γn . Si la matrice
Γn est de rang plein alors son inverse Γ−1
n et la commande continue par morceaux U
existent. Rappelons que Γn est une matrice carrée donnée par l’équation suivante :
n−1
X
(A1 )n−1−i B1
Γn = i 1 (B.1)
i=0
avec
δ2
1 δ
A1 = ; B1 = 2
0 1 δ
Preuve: D’après équation (B.1), la matrice Γn peut être écrite sous la forme sui-
vante : 2 δ2
Pn−1 δ 2
Pn−1
i=0 [ 2 + (n − 1 − i)δ ]i i=0 2 + (n − 1 − i)δ 2
(B.2)
Pn−1 Pn−1
i=0 iδ i=0 δ
Le développement des quatre éléments de (B.2) nous donne :
n−1
δ 2 n(n − 1)(n − 12 ) X
Γ11
n = − δ2 i2 (B.3)
2 i=0
δ 2 n2
Γ12
n = (B.4)
2
δn(n − 1)
Γ21
n = (B.5)
2
Γ22
n = δn (B.6)
127
128 B.2. Existence de V
n−1 12
Grâce à (B.5), Γn est de rang plein dès que Γ11
n 6= 2
Γn . La preuve de ceci est
11 n−1 12
basée sur le calcul de différence Γn − 2 Γn comme suit :
n−1
n − 1 12 δ 2 n(n − 1)(n − 12 ) X δ 2 n2 (n − 1)
Γ11
n − Γn = − δ2 i2 − (B.7)
2 2 i=0
4
n−1
2
X nδ 2
= −δ i2 + (n − 1)2
i=0
4
Pn (n+1)n2
Pour In := i=0 i2 et Jn := 4
, alors
n − 1 12
Γ11
n − Γn = δ 2 (Jn−1 − In−1 ) (B.8)
2
Nous avons également
B.2 Existence de V
L’existence de la commande V est étudié. Nous trouvons une relation entre le
longueur d’horizon de prediction n avec la dimension du système m telle que la
matrice Ψn est de rang plein.
Lemme Si ηd 6= η0 , alors Ψn est de rang plein pour n > 2m.
Preuve:
On démontre la relation suivante (α = β = 0 ↔ ηd = η0 ). Cette relation signifie
que la commande (u) s’annule seulement quand l’état désiré est égal à l’état initial.
Supposons premièrement que α = β = 0, alors nécessairement et grâce à (B.14),
nous avons la relation suivante entre l’état initial et l’état désiré :
1
n n η0 1 δ
ηd = A1 η0 = A1 avec A1 = (B.11)
η02 0 1
Puisque la stabilisation en position est considérée, ηd est de la forme [ηd1 0]T où ηd1
est le position désiré à atteindre avec une vitesse nulle ηd2 = 0. Par conséquent, nous
obtenons que l’état désiré est égal à l’état initial (η02 = ηd2 = 0 et η01 = ηd1 ).
Dans le cas où l’état initial est diffèrent de l’état désiré (η0 6= ηd ), alors on a α 6= 0
ou β 6= 0. La question est de savoir si α et β sont en même temps différents de
zéro. La réponse est basée sur les caractéristiques de la commande ui . On sait que
la commande ui peut s’annuler seulement une fois pendant l’horizon n parce qu’elle
prend la forme d’une ligne droite continue par morceaux. En effet, s’il existe deux
instants différents de temps i1 et i2 (i1 6= i2 ) tels que les commandes correspondantes
ui1 et ui2 s’annulent (ui1 = ui2 = 0), alors en appliquant la définition d’α et β (2.51)
nous obtenons le système d’équation suivant :
αi1 + β = 0
(B.13)
αi2 + β = 0
Dans ce cas-ci α et β s’annulent. Ceci correspond à une contradiction parce qu’on a
α 6= 0 ou β 6= 0. La commande ui donc s’annule seulement une fois pendant l’horizon
n et les deux instants de temps i1 et i2 sont égaux (i1 = i2 ). Donc, nous obtenons que
les paramètres α et β sont égaux à zéro si et seulement si l’état initial est identique
à l’état désiré ηd = η0 .
Nous sommes sûrs maintenant que dans le cas où on part d’un état initial diffèrent
de l’état désiré, un seul élément de U peut s’annuler.
Rappelons maintenant les expressions de A2i , B2i et Ψn :
2
δ 2m−3 2m−2 δ 2m−2 2m−1 δ 2m−1
1 ui δ u2i δ2! . . . u2m−3
i (2m−3)!
u i (2m−2)!
u i (2m−1)!
2m−4 δ 2m−4 2m−3 δ 2m−3 2m−2 δ 2m−2
0 1 ui δ . . . ui (2m−4)!
ui (2m−3)!
ui (2m−2)!
. ..
A2i =
.. .
2 δ2
0 0 ... 1 ui δ ui 2!
0 0 ... 0 1 ui δ
0 0 0 ... 0 0 1
δ 2m
u2m−1
i 2m!
2m−2 δ2m−1
u
i (2m−1)!
.
B2i = ..
2 δ3
ui 3!
δ2
ui 2!
δ
Ψn = A2n−1 A2n−2 · · · A21 B20 , A2n−1 A2n−2 · · · A22 B21 , . . . , A2n−1 B2n−2 , B2n−1
130 B.3. Étude de l’effet de n sur les éléments de commande
La matrice Γ−1
n s’écrit :
−1 2 2
1 δn (δ n )
Γ−1
n = −1 nδ 2
2
2 (B.15)
det Γn 2
(δn(n − 1)) 6
[10n − 21n + 5]
avec
17 3 4 39 5
det Γn = (δ n ) − (δ 3 n3 ) + (δ 3 n2 ) (B.16)
12 12 6
Lorsque n → ∞
1 n n2
Γ−1 ∼ 4
n
n n2 n3
Pour (ηn − (A1 )n η0 ) quand n → ∞, on a :
n n
(ηn − (A1 ) η0 ) ∼
1
V = Ψ+
n (zd − Φn z0 )
V (ycl (k + 1)) − V (ycl (k)) ≤ −δ dés que V (ycl (k)) > δ (B.19)
132 B.4. Étude de stabilité
satisfait Proposition 15. Noter qu’à partir des définitions de (topt (y), wopt (y))
(équations (2.70) et (2.71)), nous savons que V (y) est bien défini et telle
que V (y) ≤ topt
n (y).
Les caractéristiques de V (y) de Proposition 15 sont prouvées de la façon suivante.
et employons (q̂k , ε̂k ) pour dénoter (q̂(ycl (k)), ε̂(ycl (k))). Deux cas doivent être
considérés :
• Cas 1 : q̂k > 0.
Dans ce cas-ci, on définit
Sachant que
• Cas 2 :
q̂k = 0. Dans ce cas-ci, l’état suivant de la trajectoire en boucle fermée est
clairement donné par
ycl (k + 1) = X δ; 0; ycl (k); W (0, topt (yk ), w0opt (yk ))
mais on a
t̂n (ycl (k + 1)) = t̂n (ycl (k)) − δ (B.25)
Ceci avec (B.24) montre que dans tous les cas quand V (xcl (k)) > δ, le temps
nécessaire pour aller de ycl (k + 1) à yd est inférieur d’au moins une période
δ au temps nécessaire pour aller de ycl (k) à yd . Ici encore l’inégalité (B.19)
est vérifiée.
avec
M
a1 = −a2 =
4α
M M
b1 = b2 = +
2 2α
α
c1 = −M + + b1 M − a1 (M 2 + α2 )
2
α
c2 = M − − b2 M − a2 (M 2 + α2 )
2
Le niveau de la saturation est représenté par M . Pour M = 1 la fonction de satu-
ration satM simplement s’écrit sat1 . Le choix de α change la forme de la courbure.
Pour α très petit, on obtient la fonction classique de saturation. Tous les résultats
du chapitre 1 établis pour des saturations classiques (α = 0) restent valables par
continuité pour (α 6= 0) avec α suffisamment petit.
-1
-2
-3
-5 -4 -3 -2 -1 0 1 2 3 4 5
rx = −ax p1 − bx p2 (B.27)
rz = −az p2 − bz p4 (B.28)
v = βθ (η̈d ) − aθ (η1 − ηd ) − bθ (η2 − η̇d ) (B.29)
pour
a{x,z,θ} := ε3{x,z,θ} et b{x,z,θ} := ε{x,z,θ} + ε2{x,z,θ}
La fonction sat1 est une fonction de saturation (équation B.26) avec M = 1. Les
dérivées (première et seconde) de ηd sont :
états p2 et p4 sont aussi bornés et ne peuvent pas diverger en temps fini sous les
commandes bornées rx et rz . Comme résultat η̇d est borné.
On peut reprendre la même argumentation pour η¨d qui est composé par des élément
bornés (rx , rz , u, ṙx , ṙz et η̇d ) et les dérivées secondes r̈x et r̈z . Ces deux derniers
éléments sont bornés par l’application Lemme 14 pour η2 , p2 et p4 . Par consequent
η̈d est borné.
y1d := εθ ηd + η̇d
y2d := η̇d
v d := η̈d
La commande v
v = satβθ (η̈d ) − εθ sat1 (η2 − η̇d ) − ε2θ sat1 (εθ (η1 − ηd ) + (η2 − η̇d )) (B.36)
s’écrit :
v = σβθ (v d ) − εθ σ(y2 − y2d ) − ε2θ σ(y1 − y1d ) (B.37)
Nous allons montrer que les états y2 and y1 sont bornés après un temps fini. Pour cela,
considérons la fonction de Lyapunov V2 = 21 (y2 −y2d )2 c’est-à-dire V̇2 = (y2 −y2d )(ẏ2 −
ẏ2d ) = (y2 − y2d )(v − v d ). Sachant que pour toute constante positive suffisamment
petite δ > 0, il existe tδ tel que pour tous t > tδ nous avons d’après l’analyse de η̈d :
d2
d −rx
v = arctan <δ (B.38)
dt2 rz + 1
|σβθ (v d ) − v d − ε2θ σ(y1 − y1d )| ≤ β + δ + ε2θ < εθ = |εθ σ(y2 − y2d )| (B.39)
Il suit que v − v d est de signe opposé à σ(y2 − y2d ) et par conséquent à y2 − y2d . Ceci
assure que V̇2 < 0 et en conséquence, y2 rejoindra l’intervalle [−1 + y2d , 1 + y2d ] après
138 B.6. Stabilité globale du PVTOL avec gravité
un temps fini t1 > tδ . Pendant ce temps, grace au Lemme 14, y1 − y1d ne peut pas
diverger. Par conséquent, v prendra la forme suivante :
v = σβθ (v d ) − εθ (y2 − y2d ) − ε2θ σ(y1 − y1d ) (B.40)
A partir du changement de coordonnées (B.35), ẏ1 peut s’écrire
ẏ1 = εθ y2d + v d + σβθ (v d ) − ε2θ σ(y1 − y1d ) − v d (B.41)
Pour y1 n’appartenant pas [−1 + y1d , 1 + y1d ], supposons que βθ + δ < ε2θ est vérifié.
Alors la décroissance de la fonction de Lyapunov V1 = 21 (y1 − y1d )2 est assurée par
l’inégalité suivante
|σβθ (v d ) − v d | < |ε2θ σ(y1 − y1d )| (B.42)
ce qui signifie qu’après un temps fini t2 > t1 > tδ , y1 joindra l’intervalle [−1 + y1d , 1 +
y1d ]. Là encore, v peut s’écrire :
v = σβθ (v d ) − εθ (y2 − y2d ) − ε2θ (y1 − y1d ) (B.43)
Pour βθ > δ, la commande v prend la forme suivante
v = v d − εθ (y2 − y2d ) − ε2θ (y1 − y1d ) (B.44)
∀t > t2 , le système d’erreur est par conséquent donné par :
ẏ1 − ẏ1d = −ε2θ (y1 − y1d )
ẏ2 − ẏ2d = −εθ (y2 − y2d ) − ε2θ (y1 − y1d )
ce qui donne clairement que θ(t) → θd (t) quand t → ∞.
avec, pour k = 0, . . . , N − 1
Z T
sµk = sin(αkµ + βkµ v + γkµ v 2 )dv (C.8)
0
Z T
cµk = cos(αkµ + βkµ v + γkµ v 2 )dv (C.9)
0
Z T Z v2
Skµ = sin(αkµ + βkµ v1 + γkµ v12 )dv1 dv2 (C.10)
0 0
Z T Z v2
Ckµ = cos(αkµ + βkµ v1 + γkµ v12 )dv1 dv2 (C.11)
0 0
Il faut noter que, contrairement à ce que l’on pourrait penser dans un premier temps,
le calcul des matrices H1 à H4 n’est pas coûteux étant donné qu’il ne nécessite
pas d’intégrer les équations de sµk , cµk , Skµ et Ckµ . En effet, l’idée consiste à utiliser
les intégrales de Fresnel [105] bien connues en électromagnétisme ou en optique
(diffraction) et également utilisées pour le calcul des courbures des autoroutes et
des lignes de voies ferrées.
Z z Z z
π π
s(z) = sin( v 2 )dv c(z) = cos( v 2 )dv (C.12)
0 2 0 2
Il existe pour leur calcul des suites numériques dont la convergence vers la valeur de
l’intégrale est extrêmement rapide et peu coûteuse en terme de calcul : voir Zhang
et Jin [106]. Des routines, tant en FORTRAN que sous Matlab sont disponibles sur
les sites de partage dédiés. Ainsi, pour une précision de 10−20 , la routine utilisée par
Zhang et Jin [106] nécessite 22 itérations pour un temps de calcul de l’ordre de 5e−5
seconde sous Matlab pour le calcul des deux intégrales (C.12) sur un Pentium 1.8
GHz avec 1 Go de RAM. On évite ainsi l’intégration des termes cµk , sµk , Ckµ et Skµ .
142 C.2. Modèle discret du quadrirotor
2
βkµ βkµ
On a alors, si γkµ 6= 0, en prenant ak := 2γkµ
et bk := αkµ − 4γkµ
on obtient :
r " r !
1 π |γkµ | 2 |γkµ |
sµk = µ cos(bk ) s (T + ak )
γk 2 π
r !# r
2 |γkµ | π
−s ak + sin(bk )
π 2 |γkµ |
" r ! r !#
2 |γkµ | 2 |γkµ |
× c (T + ak ) − c ak
π π
" r !
µ
π 2 |γ |
r
cµk = cos(bk ) c k
(T + ak )
2 |γkµ | π
r !# r
2 |γkµ | 1 π |γkµ |
−c ak − µ sin(bk )
π γk 2
" r ! r !#
2 |γkµ | 2 |γkµ |
× s (T + ak ) − s ak
π π
Les termes Skµ and Ckµ peuvent être obtenus en intégrant par partie sµk et cµk :
βkµ µ 1
Skµ= (T + µ )sk + µ
2γ 2γk
k µ
× (cos(αk + βkµ T + γkµ T 2 ) − cos(αkµ )
(C.13)
µ βkµ µ 1
Ck = (T + µ )ck − µ
2γ 2γk
k µ
× (sin(αk + βkµ T + γkµ T 2 ) − sin(αkµ )
1
sµk = [cos(αkµ ) − cos(αkµ + βkµ T )]
βkµ
(C.14)
1
cµk = µ [sin(αkµ + βkµ T ) − sin(αkµ )]
βk
et
1
Skµ = − (cµk − T cos(αkµ ))
β
(C.15)
1
Ckµ = (sµk − T sin(αkµ ))
β
Annexe C. 143
sµk = T sin(αkµ )
(C.16)
cµk = T cos(αkµ )
et
T2
Skµ = sin(αkµ )
2 (C.17)
µ T2
Ck = cos(αkµ )
2
~˙ − 2κq̇0
~ T Jω
V̇ = ω
=ω~ T (−~ω × J~ω + Γ) + κ~qT ω
~
(C.21)
= ω1 Γ1 + κq1 ω1 + ω2 Γ2 + κq2 ω2 + ω3 Γ3 + κq3 ω3
| {z } | {z } | {z }
V̇1 V̇2 V̇3
La dérivée V̇ est la somme de trois termes (V̇1 , V̇2 , V̇3 ). Le terme V̇1 est analysé
premièrement. D’après l’équation de Γ1 (C.19) et équation (C.21), on obtient :
Supposons que |ω1 | > |M1 + |, c’est-à-dire |ω1 | ∈ [M1 + , +∞[. Il s’ensuit que
|ω1 + satM1 (q1 )| ≥ et ω1 + satM1 (q1 ) ont le même signe que ω1 . D’après équation
(C.22) et la condition de norme sur le quaternion, la dérivée V̇1 prend la forme
suivante :
Pour M2 > λ et κ choisi tel que κ < αλ, on peut assurer la décroissance de V1
c’est-à-dire V̇1 < 0. En conséquence, ω1 rejoint Φ1 = {ω1 : |ω1 | ≤ M1 + } en temps
fini t1 et reste dedans par la suite. Dans ce cas, ω1 +satM1 (q1 ) ∈ [−2M1 −, 2M1 +].
Choisissons M2 vérifiant l’inégalité suivante M2 > λ(2M1 + ). Pour un temps t2 tel
que t2 > t1 , l’argument de satM2 sera borné comme suit :
L’expression de satM1 est maintenue dans l’équation (C.25) pour laisser la liberté
d’ajouter des coefficients devant q.
Donc équation (C.22) devient :
Le même argument peut être appliqué pour V̇2 et V̇3 . Finalement la dérivée (C.21)
devient :
avec
A = αλI3×3 (C.32)
où I3×3 est la matrice d’identité. Le principe d’invariance de LaSalle est invoqué
pour achever la preuve. Toutes les trajectoires convergent vers le plus grand
ensemble invariant Ω̄ compris dans Ω = {(~q, ω ~ ) : V̇ = 0} = {(~q, ω
~) : ω~ = 0}.
Dans cet ensemble invariant, J ω ~˙ = −αλ[satM1 (q1 ) satM1 (q2 ) satM1 (q3 )]T = 0,
c’est-à-dire, Ω̄ est réduit à l’origine. Ceci finit la démonstration de la stabilité
asymptotique du système en boucle fermée.
q̇ = 21 Ω(~ω )q = 12 Ξ(q)~ω
M ≥1
Mφ ≥ λ1 (2M + )
Mθ ≥ λ2 (2M + )
Mψ ≥ λ3 (2M + )
où > 1, α et λ1,2,3 sont des paramètres de réglage positifs. Les commandes (3.100)
stabilisent donc globalement la dynamique du quadrirotor à l’origine (q0 = 1, ~q = 0
er ω
~ = 0)
146 C.4. Stabilisation de la position du quadrirotor
Preuve de Théorème 12
Les niveaux de saturation Mφ,θ,ψ sont choisis pour satisfaire l’équation suivante :
Γ̄1 = αMφ Γ̄2 = αMθ Γ̄3 = αMψ
Cette preuve est identique à celle du Théorème 11. En effet, la seule différence se
situe dans Γg : X
Γg = − ~ ×~t3 si
Ir ω (C.33)
i
Γg ajoute un terme dans équation (C.21). Cependant, ce terme s’annule d’après
l’équation suivante : X
~ T Γg = −~ω T
ω ~ ×~t3 si = 0
Ir ω
i
on obtient
ẏ1 = εθ y2 + uθ
(C.36)
ẏ2 = uθ
Soit y1d := εθ η1d + η̇1d , y2d := η̇1d et uθd := η̈1d . La commande uθ s’écrit :
uθ = satβθ (uθd ) − εθ sat1 (y2 − y2d ) − ε2θ sat1 (y1 − y1d ) (C.37)
d2
rx
uθd | = | 2 arctan < δθ (C.38)
dt 1 + rz
|satβθ (uθd ) − uθd − ε2θ sat1 (y1 − y1d )| < |εθ sat1 (y2 − y2d )| (C.39)
Il suit que uθ − uθd est de signe opposé à sat1 (y2 − y2d ) et par conséquent à y2 − y2d .
Ceci assure la décroissance de V2 et en conséquence, y2 − y2d rejoint l’intervalle
[−1, 1] après un temps fini t1 > tδθ et y reste ensuite. L’état y1 − y1d ne diverge pas
en appliquant le résultat de Lemme 14. Dans l’intervalle [−1, 1], la commande uθ
s’écrit :
uθ = satβθ (uθd ) − εθ (y2 − y2d ) − ε2θ sat1 (y1 − y1d ) (C.40)
ẏ1 peut être écrit :
ẏ1 = εθ y2d + uθd + satβθ (uθd ) − ε2θ sat1 (y1 − y1d ) − uθd (C.41)
ce qui signifie que après un temps fini t2 > t1 > tδθ , y1 −y1d rejoint l’intervalle [−1, 1]
où la commande uθ s’écrit :
ce qui donne clairement que η1 (t) → η1d (t) quand t → ∞. Une preuve semblable
peut être appliquée pour Σrφ pour obtenir la convergence η3 (t) tend vers η3d (t) quand
t tend vers l’infini. Pour résumer, le choix de βθ , βφ , δθ , δφ , εθ et εφ doit vérifier les
conditions suivantes :
βθ + δθ + ε2θ < εθ
βθ + δθ < ε2θ
δθ < βθ
2 (C.45)
βφ + δφ + εφ < εφ
βφ + δφ < ε2φ
δφ < βφ
Dans cette annexe, nous présentons les résultats de Sontag [88] concernant la
stabilité globale des systèmes en cascade.
Ce théorème est appliqué pour prouver la stabilité globale de notre commande pro-
posée dans le cas du PVTOL et du quadrirotor.
149
150 D.1. Stabilité des systèmes en cascade
Bibliographie
151
152 Bibliographie
[50] Z. Lin : Global stabilization and restricted tracking for linear systems subject
to input and measurement saturation-a chain of integrators case. In Proc.
American Control Conference, volume 4, pages 2488–2492, 1995.
[51] Z. Lin : Global control of linear systems with saturating actuators. Automa-
tica, 34(7):897–905, 1998.
[56] F. Lizarralde et J.T. Wen : Attitude control without angular velociy mea-
surement : A passivity approach. IEEE Trans. on Automatic Control, 41
(3):468–472, 1996.
[58] J. Luo et P. Tsiotras : Control design for chained-form systems with boun-
ded inputs. Systems & Control Letters, 39(2):123–131, Feb. 2000.
[59] T. Madani et A. Benallegue : Backstepping control for a quadrotor he-
licopter. In Intelligent Robots and Systems, 2006 IEEE/RSJ International
Conference on, pages 3255–3260, Oct. 2006.
[60] T. Madani et A. Benallegue : Control of a quadrotor mini-helicopter via
full state backstepping technique. In 45th IEEE Conference on Decision and
Control, pages 1515–1520, 13-15 Dec. 2006.
[61] R. Mahony et T. Hamel : Adaptive compensation of aerodynamic effects du-
ring takeoff and landing manoeuvres for a scale model autonomous helicopter.
In European Journal of Control, volume 7(1), pages 43–58, 2001.
[62] N. Marchand et A. Hably : Global stabilization of multiple integrators
with bounded controls. Automatica, 41(12):2147–2152, 2005.
[63] N. Marchand et A. Hably : Improving the performance of nonlinear stabili-
zation of multiple integrators with bounded controls. In IFAC World Congress,
jul. 2005.
[64] N. Marchand, A. Hably et A. Chemori : Global stabilization with low
computational cost of the discrete time chain of integrators by means of boun-
ded controls. IEEE Trans. on Automatic Control, 52(5), 2007.
[65] P. Martin, S. Devasia et B. Paden : A different look at output tracking :
control of a VTOL aircraft. Automatica, 32(1):101–107, 1996.
[66] D.Q. Mayne, J.B. Rawlings, C.V. Rao et P.O.M. Scokaert : Constrained
model predictive control : Stability and optimality. Automatica, 36:789–814,
2000.
[67] F. Mazenc, S. Mondie et S. Niculescu : Global asymptotic stabilization for
chains of integrators with a delay in the input. In IEEE Trans. on Automatic
Control, volume 48(1), pages 57–63, 2003.
[68] P. McKerrow : Modelling the dragonflyer four-rotor helicopter. In IEEE
International Conference on Robotics & Automation, ICRA’04, 2004.
[69] A. Megretski : L2 BIBO output feedback stabilization with saturated
control. In Proc. 13th IFAC World Congress, volume D, pages 435–440, 1996.
[70] P. Morin et C. Samson : Control of underactuated mechanical systems by
the transverse function approach. In 44th IEEE conf. on Decision and Control
and the European Control Conference 2005, CDC-ECC’05, 2005.
Bibliographie 157
[85] S.N. Singh et W. Yim : Nonlinear adaptive backstepping design for spacecraft
attitude control using solar radiation pressure. In 41sd IEEE conference on
Decision and Control, CDC’02, 2002.
[87] C. Song, S.-J. Kim, S.-H. Kim et H.S. Nam : Robust control of the missile
attitude based on quaternion feedback. Control Engineering Practice, 14:811–
818, 2005.
[89] H.J. Sussmann, E.D. Sontag et Y. Yang : A general result on the stabili-
zation of linear systems using bounded controls. IEEE Trans. on Automatic
Control, 39(12):2411–2425, Dec. 1994.
[93] A.R. Teel : Global stabilization and restricted tracking for multiple integra-
tors with bounded controls. Systems & Control Letters, 18:165–171, 1992.
[94] A.R. Teel : A non-linear small gain theorem for the analysis of control
systems with saturation. IEEE transactions on Automatic Control, 41:1256–
1270, 1996.
Abstract : The control and design of mini aerial robots have received much attention
within the automatic control community throughout the last decade. The main objective
of this thesis is the control of two classical under-actuated systems : Planar Vertical
Take-Off and Landing aircraft (PVTOL) and the quadrotor, a helicopter with four fixed
rotors.
The control laws developed take into consideration the bounds on the inputs with a very
low computational cost which is crucial in real-time applications with limited embedded
capabilities. Both the attitude and position control are considered in this thesis. The
control laws are based on the global stabilization of multiple integrators with bounded
control and fast predictive control.