Hably Final Manuscrit

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 174

Approches bornées pour la commande des drones

Ahmad Hably

To cite this version:


Ahmad Hably. Approches bornées pour la commande des drones. Automatique / Robotique. Institut
National Polytechnique de Grenoble - INPG, 2007. Français. �NNT : �. �tel-00235438�

HAL Id: tel-00235438


https://theses.hal.science/tel-00235438
Submitted on 4 Feb 2008

HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est


archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents
entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non,
lished or not. The documents may come from émanant des établissements d’enseignement et de
teaching and research institutions in France or recherche français ou étrangers, des laboratoires
abroad, or from public or private research centers. publics ou privés.
INSTITUT NATIONAL POLYTECHNIQUE DE GRENOBLE

No. attribué par la bibliothèque


/ / / / / / / / / / /

THESE

pour obtenir le grade de

DOCTEUR DE L’INP Grenoble

Spécialité : Automatique - Productique


préparée au laboratoire : GIPSA-lab
dans le cadre de l’École Doctorale : Électronique, Électrotechnique,
Automatique, Télécommunications et Signal

présentée et soutenue publiquement


par

Ahmad Hably
le 05 décembre 2007

Titre :
Approches bornées pour la commande des drones

Directeur de thèse : Mazen Alamir


Co-directeur : Nicolas Marchand

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

Je tiens tout d’abord à exprimer ma reconnaissance envers les membres du jury,


dont la renommée et la qualité scientifique honorent grandement ce travail :
– Didier Georges pour son intervention en tant que président de jury,
– Frédéric Mazenc et Yacine Chitour à qui je témoigne ma gratitude pour leur
lecture attentive et détaillée de ce manuscrit ainsi pour leurs nombreux com-
mentaires constructifs,
– Rogelio Lozano d’avoir accepter examiner mon travail.
J’adresse mes plus vifs remerciements à mes directeurs de thèse Nicolas Marchand
et Mazen Alamir qui ont encadré ce travail de recherche. Le premier pour m’avoir
accordé sa confiance, et m’avoir laissé une liberté dans mes recherches tout en
sachant les recentrer quand il le fallait. J’ai apprécié ses qualités humaines, son
dynamisme et ses précieux conseils. Le second qui restera pour moi un vrai exemple
d’un chercheur pour ses qualités humaines, son efficacité et soutien.

Je remercie également le CNRS libanais qui m’a permis de mener ma thèse


dans des conditions financières favorables.

Mes remerciements s’adressent aux chercheurs et aux membres du personnel


du laboratoire gipsa-lab pour leur accueil et leur aide en particulier : Marie-thérèse,
Patricia, Virginie, le chef Daniel, Pascal, les Blancs (Didier et Thierry), Gildas,
Olivier, Hassane, Suzanne, Sylviane et Christian.

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

1 Stabilisation d’une chaîne d’intégrateurs 5


1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 État de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Commande optimale . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.2 Commande petit gain . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.3 Commande linéaire basée sur compensation "Anti-windup" . . 9
1.3.4 Approche non-linéaire . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Comparaison des approches pour n = 3 . . . . . . . . . . . . . . . . . 11
1.4.1 Commande optimale en temps minimum pour n = 3 . . . . . . 12
1.4.2 Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.5 Amélioration de l’approche non-linéaire . . . . . . . . . . . . . . . . . 18
1.5.1 Adaptation du ε à la dimension du système . . . . . . . . . . 18
1.5.2 Adaptation dynamique du niveau de fonction de saturation . . 21
1.5.3 Comparaison récapitulative . . . . . . . . . . . . . . . . . . . 21
1.6 Etude de robustesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.6.1 Robustesse vis à vis de retard ou de mesure . . . . . . . . . . 24
1.6.2 Robustesse vis à vis d’erreurs de modèle . . . . . . . . . . . . 26
1.7 Stabilisation en temps discret . . . . . . . . . . . . . . . . . . . . . . 28
1.7.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.7.2 Commande non-linéaire en temps discret avec des niveaux va-
riables de saturation . . . . . . . . . . . . . . . . . . . . . . . 30
1.7.3 Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

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

2.2.2 Le PVTOL sans gravité et les systèmes chaînés avec inertie . . 43


2.3 Commande du PVTOL sans gravité . . . . . . . . . . . . . . . . . . . 45
2.3.1 La commande prédictive . . . . . . . . . . . . . . . . . . . . . 47
2.3.2 Commande optimale des systèmes chaînés en boucle ouverte . 50
2.3.3 Solutions sous-optimales du problème d’optimisation . . . . . 54
2.3.4 La commande par retour d’état . . . . . . . . . . . . . . . . . 57
2.3.5 Application numérique . . . . . . . . . . . . . . . . . . . . . . 57
2.3.6 Récapitulatif sur la commande du PVTOL sans gravité . . . . 58
2.4 Commande de PVTOL avec gravité . . . . . . . . . . . . . . . . . . . 64
2.4.1 Poursuite des trajectoires . . . . . . . . . . . . . . . . . . . . 64
2.4.2 Stabilisation du PVTOL avec gravité . . . . . . . . . . . . . . 66
2.5 Approche bornée pour la stabilisation du PVTOL . . . . . . . . . . . 70
2.5.1 Stratégie de commande . . . . . . . . . . . . . . . . . . . . . . 70
2.5.2 Une étude comparative . . . . . . . . . . . . . . . . . . . . . . 72
2.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

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

1.1 Surface de commutation V1 de l’espace R3 . . . . . . . . . . . . . . . 15


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 . . . . 16
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 . . . . . . . . . . . . . . . . . . . . . . . . . . 17
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] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.6 Amélioration de la performance de l’approche non-linéaire de Suss-
mann et al. [89] : 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 de Sussmann et al. [89] avec ε = 0.25 (haut), la commande
du Théorème 1 avec ε = 0.5 (milieu) et ε = 0.618 (bas) . . . . . . . . 20
1.7 Adaptation dynamique du niveau des fonctions de saturation : Com-
paraison de performance entre le Théorème 1 et le Théorème 3 pour
la même valeur de ε = 0.618 et pour un état initial x0 = (2 − 2 3)T . 22
1.8 Comparaison de l’évolution de kx(t)k pour un état initial x0 = (2 −
2 3)T en appliquant l’approche non-linéaire de Sussmann et al. [89]
avec ε = 0.25, l’approche non-linéaire de Teel [93], la commande petit
gain de Megretski [69] améliorée suivant les indications de Lin [52],
la commande optimale en temps minimum, et les lois de commande
proposées dans le Théorème 1 et le Théorème 3 pour ε = 0.5 et ε = 0.618 23

v
vi Table des figures

1.10 La dégradation du temps moyen d’établissement en fonction du retard


de mesure τ ∈ [0.1, 3.1] pour l’approche de Teel [93], l’approche de
Megretski [69]/Lin [52], la commande du Théorème 1 avec ε = 0.5 et
celle du Théorème 3 avec ε = 0.618 . . . . . . . . . . . . . . . . . . . 25
1
1.11 La commande de la chaîne d’intégrateurs (s+a) 3 . . . . . . . . . . . . 26
1.12 La dégradation du temps moyen d’établissement en fonction des pôles
1
réels de (s+a)3 avec a ∈ [−0.1, 0.5] pour l’approche de Teel [93], l’ap-

proche de Megretski [69]/Lin [52], la commande du Théorème 1 avec


ε = 0.5 et celle du Théorème 3 avec ε = 0.618 . . . . . . . . . . . . . 27
1
1.13 La commande de la chaîne d’intégrateurs s(s2 +w 2) . . . . . . . . . . . 28
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 32
1.9 La commande de la chaîne d’intégrateurs s13 avec un retard de sortie
de τ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.14 La dégradation du temps moyen d’établissement en fonction des pôles
1
imaginaires de s(s2 +w 2 ) avec w ∈ [0, 2.5] pour l’approche de Teel [93],

l’approche de Megretski [69]/Lin [52], la commande du Théorème 1


avec ε = 0.5 et celle du Théorème 3 avec ε = 0.618 . . . . . . . . . . 34
1.15 Stabilisation d’une chaîne d’intégrateur pour un état initial x0 = (2 −
2 3)T en appliquant la commande discrète du Théorème 5 pour θi =
0.618n−i+1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.1 Relation entre le quadrirotor et le PVTOL . . . . . . . . . . . . . . . 38


2.2 Exemple du PVTOL : AV-8B Harrier . . . . . . . . . . . . . . . . . 38
2.3 Le PVTOL dans le plan . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4 Portrait de phase de la dynamique interne du PVTOL pour  = 1 . . 42
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 . . . . . . . . . . . . . . . . . . . 59
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 . . . . . . . . . . . . . . . . . . 60
Table des figures vii

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 . . . . . . . . . . . . . . . 61
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 . . . . . . . . . . 62
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 . . . . . . . . . . 63
2.10 La stabilisation du PVTOL basée sur l’analyse de Lyapunov . . . . . 67
2.11 Évolution dans le temps des états du sous-système de translation Σt
du PVTOL : x, ẋ, z et ż. Comparaison entre la commande bornée du
Théorème 10 (croix), l’approche bornée de Zavala et al. [104] (trait
pointillé), l’approche non-bornée de Castillo et al. [18] (tiret-pointillé)
et l’approche non-bornée d’Olfati-Saber [73] (tiret) . . . . . . . . . . 73
2.12 Évolution dans le temps des états du sous-système de translation
Σr du PVTOL (θ et θ̇) et les commandes u et v pour stabiliser le
PVTOL. Comparaison entre la commande bornée de Théorème 10
(croix), l’approche bornée de Zavala et al. [104] (trait pointillé), l’ap-
proche non-bornée de Castillo et al. [18] (tiret-pointillé) et l’approche
non-bornée d’Olfati-Saber [73] (tiret) . . . . . . . . . . . . . . . . . . 74
2.13 Trajectoires du PVTOL (pour le même temps) en appliquant la com-
mande bornée de Théorème 10, l’approche bornée de Zavala et al.
[104] , l’approche non-bornée de Castillo et al. [18] et l’approche non-
bornée d’Olfati-Saber [73] . . . . . . . . . . . . . . . . . . . . . . . . 75

3.1 Le quadrirotor de gipsa-lab . . . . . . . . . . . . . . . . . . . . . . . 78


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 ) . . . . . . . . . . . . . . . . . . . 80
3.3 Les portances du quadrirotor . . . . . . . . . . . . . . . . . . . . . . . 82
3.4 Le mouvement de roulis du quadrirotor . . . . . . . . . . . . . . . . . 83
3.5 Le mouvement de tangage du quadrirotor . . . . . . . . . . . . . . . . 84
3.6 Le mouvement de lacet du quadrirotor . . . . . . . . . . . . . . . . . 84
3.7 Discrétisation du sous-système de l’angle de roulis φ du quadrirotor
en partant de l’état initial [−2 0]T vers l’origine comme un état final . 96
viii Table des figures

3.8 Discrétisation du sous-système de l’angle de tangage θ du quadrirotor


en partant de l’état initial [π 0]T vers l’origine comme un état final . . 96
3.9 Discrétisation du sous-système de l’angle de lacet ψ du quadrirotor
en partant de l’état initial [ π3 0]T vers l’origine comme un état final . . 97
3.10 Discrétisation du sous-système de translation du quadrirotor en par-
tant de l’état initial [1 0 1 0 1 0]T vers l’origine comme un état final . 97
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 . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.12 Évolution dans le temps des vitesses angulaires du quadrirotor sans
ajouter des perturbations externes . . . . . . . . . . . . . . . . . . . . 104
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
3.14 La robustesse de la commande proposée vis à vis des perturbations
externes : Évolution dans le temps des angles d’Euler (roulis, tangage
et lacet) avec un état initial φ = −25◦ , θ = 30◦ et ψ = −10◦ . . . . . 105
3.15 La robustesse de la commande vis à vis des perturbations externes :
Évolution dans le temps des vitesses angulaires du quadrirotor . . . . 105
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 . . . . . . . . . . . . . . . . . . . 106
3.17 Évolution dans le temps des états de sous-système de translation de
modèle d’Altug et al. [7] en appliquant la commande bornée du Théo-
rème 13 avec la position initiale [x(0), y(0), z(0)] = [7, 8, 5] . . . . . . 115
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] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.19 Les commandes bornées du Théorème 13 appliquées sur le quadrirotor 116

B.1 La fonction de saturation (bleu) avec M = 3 et α = 0.9 . . . . . . . . 134


Introduction

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

de commande destinées à piloter un hélicoptère à quatre rotors (quadrirotor). Le


quadrirotor est constitué de quatre rotors fixés aux extrémités d’un corps rigide en
forme de croix normalement en fibre de carbone. Le rotor est constitué d’une pale à
pas fixe accouplée à un moteur à courant continu par l’intermédiaire d’un engrenage.
Le quadrirotor est caractérisé par son faible poids qui réduit considérablement la

Fig. 1 – Le quadrirotor de gipsa-lab

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

Dans le chapitre 1, nous étudions la stabilisation globale d’une chaîne d’in-


tégrateurs sous contraintes. Nous proposons une amélioration des approches
non-linéaires développées par Teel [93] et Sussmann et al. [89] dans le cas continu.
Ces derniers considèrent un contrôleur sous forme d’une somme de fonctions de
saturation pondérées de coefficients de réglage. Cette approche a été améliorée à
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 dependence entre le niveau
de saturation et l’état du système. Notre contribution réside dans l’amélioration du
temps de convergence de l’état avec un facteur supérieur à 3. La robustesse d’une
telle approche par rapport à un retard de mesure et à des erreurs de modèle a été
également établie. Les résultats obtenus ont été étendus au cas discret. L’approche
développée unifie le travail original de Yang et al. (1997) et les avantages de notre
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.

Le deuxième chapitre propose des commandes pour le PVTOL sans et avec


la gravité. En utilisant les transformations développées par Aneke et al. [8] la
dynamique du PVTOL est transformée en systèmes chaînés à inertie correspon-
dants aux objets volants dans un milieu sans gravité. La stabilisation du PVTOL
(sans gravité) revient à stabiliser un système chaîné. C’est pourquoi, nous nous
sommes également intéressés à développer une commande prédictive orientée temps
minimum pour les systèmes chaînés. De tels systèmes sont difficiles à commander
car ils ne satisfont pas les conditions de stabilisabilité de Brockett. Ces conditions
sont nécessaires pour l’existence de commandes par retour d’état C 1 et à temps in-
variant. Nous proposons une commande par retour d’état qui assure la stabilisation
des systèmes chaînés à inertie en respectant les contraintes de saturation sur les
entrées de commande. Cette approche basée sur le principe de l’horizon glissant est
conçue pour être appliquée en temps réel. La théorie des systèmes en cascade a été
combinée avec la commande développée dans chapitre 1 afin de concevoir des lois
de commande qui stabilisent globalement le PVTOL avec gravité.

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

Stabilisation d’une chaîne


d’intégrateurs

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

lement un hélicoptère à quatre rotors dans l’espace (quadrirotor-rotor) et dans le


plan pour l’avion à décollage et atterrissage vertical (dénoté PVTOL aircraft pour
Planar Vertical Take-Off and Landing aircraft).

1.2 Définition
Une chaîne d’intégrateurs est définie par le système linéaire suivant :

ẋ = Ax + Bu (1.1)

où x ∈ Rn est l’état du système, et u ∈ R la commande. La matrice d’état A et la


matrice de commande B sont définies pour n la dimension du système par :
• Aij = 1 pour i, j ∈ {1, . . . , n} si i + 1 = j et Aij = 0 sinon
• Bi = 0 pour i ∈ {1, . . . , n − 1} et Bn = 1.

La grandeur de commande est limitée par des considerations physiques :

|u| ≤ ū (1.2)

où ū est la limite connue a priori de la commande et la norme considérée est la


norme infinie. Notre objectif dans ce chapitre est de trouver une loi de commande u
bornée qui stabilise la chaîne d’intégrateurs (1.1) en respectant la contrainte (1.2).
Dans la section suivante, nous allons présenter les différentes approches existantes
dans la littérature pour résoudre ce type du problème.

1.3 État de l’art


Le problème de la stabilisation d’une chaîne d’intégrateurs avec une commande
bornée a attiré beaucoup d’attention. Il existe plusieurs approches qui varient de
classique, linéaire et non-linéaire. Beaucoup assurent la stabilisation globale tandis
que d’autres garantissent seulement la stabilisation semi-globale.

1.3.1 Commande optimale


L’étude de cette approche contient deux orientations. La première orientation
vise une énergie minimale tandis que la deuxième cherche à minimiser le temps de
convergence du système. L’objectif général est de trouver une commande optimale
qui minimise un critère qui varie selon l’orientation adoptée.
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 7

Commande optimale bornée


Cette approche considère le critère J qui traduit l’énergie du système dependant
du vecteur d’état x et de la commande u :
Z tf
J= (xT Qx + uT Ru)dt (1.3)
t0

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.

Commande optimale en temps minimum


La commande optimale en temps minimum est celle qui minimise le critère :
Z tf
J= dt (1.4)
t0

en respectant la contrainte sur la commande (1.2), ainsi que la contrainte terminale


kx(T )k = 0. Athans et Falb [9] et Lewis et Syrom [48] nous informent que la solution
d’un tel critère existe toujours et consiste en une commande de type bang-bang ne
pouvant prendre comme valeur que ū ,−ū et 0. Ce résultat est la conséquence de
l’application du principe de minimum de Pontryagin donné par l’inégalité suivante :

H(x? , u? , λ? , t) ≤ H(x? , u, λ? , t) (1.5)

avec l’Hamiltonien H est défini par :

H = 1 + λ(Ax + Bu) (1.6)

λ est le multiplicateur de Lagrange et ? dénote les quantités optimales [48]. D’après


équation (1.5), H est minimum pour u = u? . En utilisant la condition de stationna-
rité [48] :
∂H
= λB T = 0 (1.7)
∂u
La commande u(t) est choisie pour obtenir λT Bu le plus petit possible afin de
minimiser H. La commande optimale est donnée par :

u = u? = −ū sign(B T λ) (1.8)


8 1.3. État de l’art

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.

1.3.2 Commande petit gain


La commande petit gain (en anglais "low gain design") a la forme générale
dépendante du paramètre ε :
u = K(ε)x (1.9)
Quand ε → 0, la norme kK(ε)k décroît pour satisfaire la contrainte sur la commande.
L’idée generale est de modifier le paramètre ε pour agrandir ou réduire la region
d’attraction. On peut citer le travail de Lin et Saberi [53] qui ont proposé un choix
de K(ε) basé sur la méthode directe (eigen structure assignment). Cette commande
malheureusement ne garantit que la stabilité semi-globale.
D’un autre coté, pour garantir la stabilité globale des commandes petit gain basées
sur l’équation de Riccati sont proposées. Cette commande a la forme suivante :

u = −sat(kB T P (ε)x) (1.10)

où ε est un paramètre d’ajustement. La fonction de saturation est exprimée par :

sat(y) = sign(y)min(|y|, ū) (1.11)

La matrice P est la solution de l’équation de Riccati :

P (ε)A + AT P (ε) − P (ε)BB T P (ε) = −εI (1.12)

Cette approche a fait l’objet de nombreuse études. Megretski [69] a proposé d’adap-
ter ε selon la règle suivante :

ε(x) := max{η ∈ (0, 1] : xT P (η)x(B T P (η)B) ≤ 1} (1.13)

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

[52] a proposé de prendre k = 1ε . Grognard et al. [27] suggèrent, en combinant le


travail Megretski [69] pour le choix de ε(x) et le travail de Saberi et al. [80] pour
le choix de k, une amélioration qui amène le système dans une configuration idéale
pour l’application de la loi de commande avec ε = k = 1.
Une différente forme de la commande u (1.9) a été développée par Saberi et al. [80] et
après par Lin [51]. Cette commande est composé de deux parties : uL la commande
petit gain et uH la commande grand gain telles que la commande u appliquée pour
la stabilisation de la chaîne d’intégrateurs est définie par :

u = uL + uH (1.14)

La version semi-globale basée sur l’équation de Riccati est proposée dans [80] :

u = uL + uH = −(1 + ρ)B T P (ε)x (1.15)

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].

1.3.3 Commande linéaire basée sur compensation "Anti-


windup"
"Windup" est un mot Anglais qui décrit la piètre performance d’un système en
boucle fermée lorsque une commande linéaire est appliquée sans prendre en compte
les saturations sur les entrées.
La commande "anti-windup" est proposée comme solution. Des modifications non-
linéaires sont ajoutées sur la commande linéaire prédéfinie de sorte qu’elle reste
linéaire si il n’y a pas de saturations. Dans le cas contraire, ces modifications affai-
blissent l’influence de la saturation et par conséquent la performance du système est
améliorée [44]. Malheureusement et comme mentionné par Megretski [69], il n’y a
pas d’étude rigoureuse sur la stabilité et la robustesse de cette approche dans le cas
général.
10 1.3. État de l’art

1.3.4 Approche non-linéaire


Parallèlement à ces méthodes, la communauté non-linéaire s’est également in-
téressée au problème de stabilisation d’une chaîne d’intégrateurs sous contraintes.
Principalement en raison du résultat de Sussmann et Yang [90] qui ont montré que
pour des systèmes à entrée unique, aucune saturation de retour d’état linéaire ne
peut globalement stabiliser la chaîne d’intégrateurs d’ordre n avec n ≥ 3. Ce résultat
est à l’origine des deux approches Teel [93] et Sussmann et al. [89] qui présentent l’in-
térêt majeur d’être extrêmement simples à implementer. Ces approches utilisent des
fonctions de saturations C 0 et peuvent être généralisés à des fonctions de saturation
C ∞ voire analytiques, ce que ne permettent pas les autres approches.

Approche de Teel [93]


Teel [93] s’intéresse aux lois de commande non-linéaires de la forme :

u(x) = −satMn (hn (x) + satMn−1 (hn−1 (x) + . . . satM1 (h1 (x)))) (1.17)

où hi est un changement de coordonnée linéaire et "satMi " est une fonction de


saturation linéaire. Étant donné deux constantes positives L et M avec L ≤ M , la
fonction satM est une fonction croissante définie par :
1. psatM (p) > 0 pour tous p 6= 0
2. satM (p) = p quand |p| ≤ L
3. |satM (p)| ≤ M pour tous p ∈ R
La stabilité globale de la chaîne d’intégrateurs (1.1) est garantie par l’application de
la commande u (1.17) avec le changement de coordonnée linéaire donné par :
i
X i!
hn−i = xn−j (1.18)
j=0
j!(i − j)!

pour toutes constantes positives (Mi , Li ) telles que Mi ≤ 21 Li+1 et Li ≤ Mi .


En appliquant le changement de coordonnée linéaire (1.18), les pôles de la chaîne
d’intégrateurs en boucle fermé se situent en −1 si aucun élément de saturation dans
la loi de commande (1.17) est saturée. En outre, si le k-ième élément est saturé, le
système en boucle fermée a n − k pôles multiples en −1 et k pôles multiples en zéro
[38].
Johnson et Kannan [38] ont proposé un changement de coordonnée que permet
le placement de pôles tels que les pôles en boucle fermée du système non-saturé se
situent en {−a1 , . . . , −an }, avec ai positive et réelle. Dans le cas où le k-ième élément
de la commande (1.17) est saturé, les pôles du système en boucle fermée se situent
en {−a1 , . . . , −an−k , 0, 0, . . . , 0}.
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 11

Approche de Sussmann et al. [89]


L’utilisation de lois de commandes avec des fonctions de saturation emboîtées
(Teel [93]) a été généralisée par Sussmann et al. [89] pour la stabilisation globale
du système linéaire "null controllable" avec des contraintes sur les entrées de com-
mande. Les systèmes "null controllable" sont des systèmes stabilisables avec des
pôles à partie réelle nulle ou négative. Également dans [89], une approche non-
linéaire légèrement différente est proposée pour la stabilisation globale d’une chaîne
d’intégrateurs. Ici, la commande est la somme de fonctions de saturation :
n
X
u=− εn−i+1 sat1 (yi ) (1.19)
i=1

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.

1.4 Comparaison des approches pour n = 3


Dans cette section, nous comparons la convergence des états d’une chaîne d’inté-
grateur d’ordre 3. La commande optimale en temps minimum est considérée comme
12 1.4. Comparaison des approches pour n = 3

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é.

1.4.1 Commande optimale en temps minimum pour n = 3


Considérons la chaîne d’intégrateurs (1.1) pour n = 3 et |u| ≤ 1 :

 ẋ1 = x2
ẋ2 = x3 (1.22)
ẋ3 = u

Pour trouver la commande optimale en temps minimum de ce problème, une ap-


proche basée sur l’étude d’Athans et Falb [9] a été employée. Dans [9], les auteurs
ont développé une commande optimale en temps minimum pour un système de troi-
sième ordre (deux intégrateurs et une constante de temps simple).
La première étape pour concevoir la commande optimale consiste à trouver l’Hamil-
tonien H du système (1.22) :

H = 1 + p1 (t)x2 (t) + p2 (t)x3 (t) + p3 (t)u(t) (1.23)

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) :

u = −sign(p3 (t)) (1.26)

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

La commande u ensuite prend la forme suivante :

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}

En mettant u(t) = ∆ = ±1, nous pouvons résoudre le système (1.22) et obtenir le


système en fonction des états initiaux xi (0) pour i = 1, 2, 3 et du temps t :
 3 2
 x1 = ∆ t6 + x3 (0) t2 + x2 (0)t + x1 (0)
2
x2 = ∆ t2 + x3 (0)t + x2 (0) (1.29)

x3 = ∆t + x3 (0)

Après l’élimination le temps t, le système (1.29) s’écrit :

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

où (x12 , x22 , x32 ) ∈ {V2 }, ceci signifie :


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

Il reste à déterminer le ∆? fonction de (x1 , x2 , x3 ) . En utilisant la projection de {V2 }


sur le plan x2 x3 , u sera

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

Fig. 1.1 – Surface de commutation V1 de l’espace R3

Algorithme pour la commande optimale en temps minimum


1. Étudier la position de l’état x = (ξ1 , ξ2 , ξ3 ) par rapport à la surface {V1 }
2. Appliquer la commande u = ∆0 avec ∆0 = −1 si ξ1 − x1 > 0 et ∆0 = 1 si
ξ1 − x1 < 0 (x1 de l’équation (1.36))
3. La trajectoire, produite par la commande ∆0 , croise la surface {V1 } de l’équa-
tion (1.33) en (x11 , x21 , x31 )
4. La commande change son signe et devient u = ∆1 = −∆0 .
5. La trajectoire, produite par la commande ∆1 , arrive à la surface {V2 }
(équation(1.34))
6. La commande encore change son signe et devient u = ∆2 = −∆1 .
7. La trajectoire avancera dans la surface {V2 } et enfin arrivera à l’origine

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

temps de convergence des états en appliquant l’approche de Sussmann et al. [89]


est cinq fois plus grand que le temps de convergence en appliquant l’approche de
Teel [93] et trente fois plus grand que le temps de convergence en appliquant la
commande optimale en temps minimum. Le temps de convergence de l’approche
de Megretski [69] amélioré par l’approche de Lin [52] est comparable avec le temps
de convergence de la commande optimale en temps minimum cependant le coût de
calcul est exorbitant en comparaison de celui de l’approche non-linéaire de Sussmann
et al. [89]. Notre travail porte sur l’amélioration de cette dernière approche [89] tout
en gardant l’extrême simplicité des calculs et la stabilité globale du système.

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

(a) Commande optimale en temps minimum (b) L’evolution des états

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

(a) Commande petit gain (b) L’evolution des états

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

(a) Commande non-linéaire : Approche de (b) L’evolution des états


Teel [93]

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

(a) Commande non-linéaire : Approche de (b) L’evolution des états


Sussmann et al. [89]

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

1.5 Amélioration de l’approche non-linéaire


Notre travail se focalise sur l’approche non-linéaire de Sussmann et al. [89]. Deux
types d’améliorations sont apportées. Tout d’abord, nous pouvons remarquer à l’aide
de simulations que plus ε est grand, plus le système bouclé avec la commande (1.19)
converge rapidement. Cependant, si ε est choisi trop important, la stabilité devient
seulement locale au lieu d’être globale. Notre première amélioration consiste à cher-
cher une limite moins restrictive au paramètre ε que celle proposée dans [89]. La
deuxième modification consiste à améliorer la plage de variation de la commande
autorisée dans [89]. Nous avons amélioré les seuils des saturations en utilisant la
marge laissée par tout état yi ne saturant pas la fonction sat dans l’équation (1.19)
au profit des autres états.

1.5.1 Adaptation du ε à la dimension du système


L’approche non-linéaire [89] impose 0 < ε ≤ 14 . Dans notre travail, nous allons
essayer de trouver une borne supérieure ε̄ en assurant la stabilité globale du système.
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 19

Théorème 1 La commande
n
X
u=− εn−i+1 sat1 (yi ) (1.39)
i=1

avec yi comme dans équation (1.19) stabilise globalement asymptotiquement la


chaîne d’intégrateurs d’ordre n (1.1) avec ε ≤ ε̄ pour
– ε̄ solution unique dans ]0, 1[ de εn+1 − 2ε2 + ε = 0 si n > 2
– ε̄ = 1 si n = 2
– ε̄ > 0 si n = 1

Corollaire 2 La loi de commande (1.39) stabilise globalement asymptotiquement la


chaîne d’intégrateurs (1.1) pour tous ε ≤ 21 .

Le Théorème 1 est prouvé en l’Annexe A.1. Le Corollaire 2 suit directement de


Théorème 1 pour tout n > 1 et ε̄(n) ≤ 12 . Ce résultat est une généralisation de [89]
qui impose ε ≤ 41 . Cette extension améliore notablement le comportement en boucle
fermée (comme nous pouvons le voir sur la figure 1.6).
20 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

(a) Commande non-linéaire de Sussmann (b) L’evolution des états


et al. [89]

20
1

15
0.5

10
0
5

-0.5
0

-1
-5
0 20 40 60 80 0 20 40 60 80

(c) Théorème 1 avec ε = 0.5 (d) L’evolution des états

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

(e) Théorème 1 avec ε = 0.618 (f) L’evolution des états

Fig. 1.6 – Amélioration de la performance de l’approche non-linéaire de Sussmann


et al. [89] : 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 de Sussmann et al. [89]
avec ε = 0.25 (haut), la commande du Théorème 1 avec ε = 0.5 (milieu) et ε = 0.618
(bas)
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 21

1.5.2 Adaptation dynamique du niveau de fonction de satu-


ration
Cette modification vise à récupérer sur les états yi non saturés du potentiel de
commande au profit des états yj saturés. En Pneffet, si nous prenons le cas où yn = 0,
i
alors la commande ne peut pas dépasser
Pn i i=2 ε alors que l’on est autorisé à aller
jusqu’à une commande valant i=1 ε . Il faut noter avant de présenter la commande
qu’il existe dans la littérature une modification différente proposée par Kaliora et
Astolfi [40] pour faire varier le niveau des fonctions de saturation. Cette modifica-
tion consiste à ajouter des gains multiplicatifs sur l’état y. Cependant, seulement
l’existence des gains admissibles (en termes de stabilité du système en boucle fermé)
est établie et il n’y a pas de méthode directe pour trouver ces gains. Nous proposons
donc la modification suivante :

Théorème 3 Soit ε comme au Théorème 1 et les niveaux de saturation Mi soient


définis par :
(
Mn = 1
1 (1.40)
Mj = 1 + [Mj+1 − satMj+1 (yj+1 ) ] pour j = 1, . . . , n − 1
ε
La commande n
X
u=− εn−i+1 satMi (yi ) (1.41)
i=1

avec yi comme dans (1.19) stabilise globalement asymptotiquement la chaîne d’inté-


grateurs (1.1)

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.

1.5.3 Comparaison récapitulative


Dans cette partie et pour mieux distinguer la performance des différentes ap-
proches étudiées ci-dessus, une comparaison récapitulative est réalisée. Nous avons
comparés sur la figure 1.8 la convergence de la norme des états kx(t)k pour un état
initial x0 = (2 − 2 3)T en appliquant la commande non-linéaire proposée par Suss-
mann et al. [89] pour le paramètre d’ajustement ε = 0.25, l’approche non-linéaire de
22 1.5. Amélioration de l’approche non-linéaire

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

(a) Commande du Théorème 1 (b) L’evolution des états

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

(c) Commande du Théorème 3 (d) L’evolution des états

Fig. 1.7 – Adaptation dynamique du niveau des fonctions de saturation : Compa-


raison de performance entre le Théorème 1 et le Théorème 3 pour la même valeur
de ε = 0.618 et pour un état initial x0 = (2 − 2 3)T

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

Fig. 1.8 – Comparaison de l’évolution de kx(t)k pour un état initial x0 = (2 − 2 3)T


en appliquant l’approche non-linéaire de Sussmann et al. [89] avec ε = 0.25, l’ap-
proche non-linéaire de Teel [93], la commande petit gain de Megretski [69] améliorée
suivant les indications de Lin [52], la commande optimale en temps minimum, et les
lois de commande proposées dans le Théorème 1 et le Théorème 3 pour ε = 0.5 et
ε = 0.618

1.6 Etude de robustesse


Pour analyser plus en détail la performance des approches proposées dans
Théorème 1 et Théorème 3, des simulations ont été effectuées pour examiner la
robustesse par rapport au retard de mesure et à l’incertitude du modèle. Ces essais
sont inspirés du travail comparatif de Rao et Bernstein [78]. Dans ce travail, les
auteurs appliquent une approche connue dans la littérature comme la commande
naïve dans l’objectif de comparer la performance des différentes lois de commande
(classique et non-linéaire) dans le contexte de la stabilisation d’une chaîne d’in-
tégrateurs d’ordre 2 sous une commande bornée. L’idée générale de la commande
naïve peut être résumée comme suit : une commande qui est initialement conçue
pour un système avec des conditions idéales est évaluée par des moyens numériques
pour le même système mais avec des conditions non idéales (perturbés) qui n’ont
pas été considérées dans la synthèse initiale de cette loi de commande. La bonne
24 1.6. Etude de robustesse

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.

1.6.1 Robustesse vis à vis de retard ou de mesure

Le premier essai consiste à étudier la robustesse des commandes vis à vis de


retards de mesure. Pour cela, un retard de sortie de τ secondes a été inséré dans
le chemin de mesure de la commande comme nous pouvons voir sur figure 1.9. Les
simulations sont faites pour un τ ∈ [0.1, 3.1] secondes sur une chaîne d’intégrateurs
d’ordre 3. La dégradation du temps d’établissement pour les différentes commandes
est présenté sur figure 1.10.
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 25

Teel [93]
350

Théorème 3
avec ε = 0.618
300

Megretski [69]/Lin [52] Théorème 1


avec ε = 0.5
250
AST[s]

200

150

100

50

0
0 0.5 1 1.5 2 2.5 3

le retard de mesure τ

Fig. 1.10 – La dégradation du temps moyen d’établissement en fonction du retard de


mesure τ ∈ [0.1, 3.1] pour l’approche de Teel [93], l’approche de Megretski [69]/Lin
[52], la commande du Théorème 1 avec ε = 0.5 et celle du Théorème 3 avec ε = 0.618

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

au Théorème 3. Le rapport C est donné par


τmax
C :=
AST0
En effet, la loi de commande [93] autorise seulement un retard de 1.16% du AST0 qui
est petit comparé au rapport obtenu par l’application de la commande Megretski
[69]/Lin [52] (4.15%). Le AST0 de l’approche de Teel [93] est fortement lié à la
dimension de système et plus la dimension du système est grande plus AST0 grandit.
Le Théorème 3 a permis un rapport de 5.56% qui peuvent être comparé au résultat
du Théorème 1 (5.78%) qui a continué à stabiliser le système pour un retard τ < 3 s.

1.6.2 Robustesse vis à vis d’erreurs de modèle


Dans cette étude, deux types d’incertitude de modèle ont été examinés. Le pre-
mier consiste à déplacer les pôles du système le long de l’axe réel. Dans le second, les
pôles sont déplacés le long de l’axe imaginaire. Davantage d’essais pourraient être
réalisés, cependant, comme dans [78], tous les résultats obtenus pour une loi donnée
de commande semblent donner la même indication de robustesse.

Déplacement des pôles réels


D’abord, les pôles d’une chaîne d’intégrateurs d’ordre 3 sont déplacés le long de
l’axe réel tels que le système devient
1
(1.42)
(s + a)3

pour a ∈ [−0.1, 0.5] (voir figure 1.12)

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

Théorème 1 avec ε = 0.5


100

Théorème 3 avec ε = 0.618


AST[s]

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

Fig. 1.12 – La dégradation du temps moyen d’établissement en fonction des pôles


1
réels de (s+a)3 avec a ∈ [−0.1, 0.5] pour l’approche de Teel [93], l’approche de Me-

gretski [69]/Lin [52], la commande du Théorème 1 avec ε = 0.5 et celle du Théorème


3 avec ε = 0.618

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

Déplacement des pôles imaginaires


Nous avons fait varier les pôles de la chaîne d’intégrateurs d’ordre 3 sont l’axe
imaginaire. Le système est :
1
(1.43)
s(s + w2 )
2

avec w ∈ [0, 2.5].

1
R R R
s(s2 +w2 )

−u

1
Fig. 1.13 – La commande de la chaîne d’intégrateurs s(s2 +w2 )

Les lois de commande non-linéaires de [93], du Théorème 1 et du Théorème 3


ont cessé de stabiliser le système pour w > 2 (voir figure 1.14). Ici encore, la loi de
commande petit gain proposée par Megretski [69]/Lin [52] donne le meilleur résultat
mais au prix de calculs intensifs.

1.7 Stabilisation en temps discret


Dans cette section, nous présentons notre travail concernant la stabilisation
globale d’une chaîne d’intégrateurs en temps discret avec une commande bornée.
Comme dans le cas en temps continu, la chaîne d’intégrateurs en temps discret ne
peut pas être stabilisée globalement et asymptotiquement par des lois de commande
linéaires si n, la dimension du système, est supérieur à 3. De plus, tous les pôles du
système doivent être situés sur ou à l’intérieur du cercle unitaire [102]. Le passage
de la commande non-linéaire en temps continu au cas en temps discret n’est pas
trivial en raison de la saturation et le contrôleur en temps continu ne peut pas être
discrétisé puisqu’il est non-linéaire. Dans la littérature, on peut trouver la version
semi-globale en temps discret de la commande petit gain proposée par Lin et al.
[54]. Également Yang et al. [102] ont proposé une commande non-linéaire en temps
discret avec des niveaux de saturation fixes qui assure la stabilisation globale. Le but
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 29

actuel est de permettre l’adaptation dynamique de ces niveaux de saturation dans


le cas de temps discret. Dans la commande proposée, les conditions imposées aux
paramètres de la loi de commande sont moins restrictives que dans des approches en
temps continue existantes. La loi de commande unifie des approches fixes et dyna-
miques. Comme dans le cas en temps continu, la loi de commande montre de bonnes
performances tout en gardant l’extrême simplicité des calculs et la stabilité globale
du système.

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)

avec x ∈ Rn et u ∈ R. Les matrices (Ad , B d ) sont obtenus soit par la discrétisa-


tion d’Euler de la chaîne d’intégrateurs en temps continu (1.1) avec une période de
échantillonnage unitaire :

• Adij = 1 pour i, j ∈ {1, . . . , n} si i = j ou i + 1 = j et Adij = 0 autrement


• Bid = 0 pour i ∈ {1, . . . , n − 1} et Bnd = 1.

 
1 1 0 ... 0  
0 1 0
 1 ... 0  0
Ad =  ... .. .. ..  B d =  ..  (1.45)
  
. . .
  .
0 . . . ... 1 1
1
0 ... ... 0 1

soit par la discrétisation avec bloqueur d’ordre zéro de la chaîne d’intégrateurs en


temps continu (1.1) avec une certaine période de échantillonnage T :
T j−i
• Adij = (j−i)! pour i, j ∈ {1, . . . , n} si i ≤ j et Adij = 0 autrement
T n+1−i
• Bid = (n+1−i)! pour i ∈ {1, . . . , n}.

 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)

Preuve de lemme 4 : Soient C d et CΘ les matrices de contrôlabilité des couples


(Ad , B d ) (équations (1.45 ou 1.46)) et (AΘ , BΘ ) (équation (A.10)). C d and CΘ sont
connus pour transformer (Ad , B d ) and (AΘ , BΘ ) en leur forme canonique qui sont
identiques puisque les valeurs propres de Ad et de AΘ sont identiques. Par consé-
quent, la matrice de transition PΘ est donnée par :
−1
PΘ = C Θ C d


Notez que AΘ et BΘ sont indépendants de θ1 . Cependant, pour faciliter les


notations, la famille Θ est définie avec n elements qui jouent tous un rôle dans
l’énoncé de la loi de commande.

1.7.2 Commande non-linéaire en temps discret avec des ni-


veaux variables de saturation
La commande u développée dans cette section a une structure plus générale que
les approches proposées pour temps continu où les variables qui jouent le rôle du θi
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 31

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

où αj ∈ [0, 1] pour j = 1, . . . , n − 1 et y = PΘ x avec PΘ comme au Lemme 4.


Soit le paramètre d’ajustement σ := ū/ ni=1 θi , alors, la loi de commande
P

n
X y 
i
u = −σ θi satMi (1.51)
i=1
σ

stabilise globalement asymptotiquement le système 1.44 à l’origine.

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

Nous présentons sur la figure 1.15 la stabilisation d’une chaîne d’intégrateur


d’ordre 3 en temps discret en appliquant la commande du Théorème 5 (avec θi =
0.618n−i+1 ) pour un état initial x0 = (2 − 2 3)T . La commande est appliquée dans
le cadre bloqueur d’ordre zéro. Nous avons utilisé le système continu (1.1) au lieu de
sa discrétisation afin de comparer l’approche non-linéaire en temps discret avec les
autres approches en temps continu : les commandes saturées non-linéaires proposées
dans Teel [93], Sussmann et al. [89] et la commande des Théorème 1 et Théorème 3,
la commande optimale en temps minimum (qui est considérée comme référence), et
l’approche de Megretski [69] améliorées par Lin [52]. La performance obtenu montrée
sur figure 1.16 est très près de ce qui peut être obtenu en utilisant l’optimisation
avec un coût semblable à une commande linéaire sans contrainte.

30

25
Sussmann et al. [89]
commande optimale en temps minimum

20 Théorème 3 avec ε = 0.618

Théorème 1 avec ε = 0.618


15 [69]/[52]

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

Théorème 1 avec ε = 0.5


120

Teel [93]
100

Théorème 3 avec ε = 0.618


AST[s]

80

60

40

20

Megretski [69]/Lin [52]


0
0 0.5 1 1.5 2 2.5

pôle imaginaire w

Fig. 1.14 – La dégradation du temps moyen d’établissement en fonction des pôles


1
imaginaires de s(s2 +w 2 ) avec w ∈ [0, 2.5] pour l’approche de Teel [93], l’approche

de Megretski [69]/Lin [52], la commande du Théorème 1 avec ε = 0.5 et celle du


Théorème 3 avec ε = 0.618
Chapitre 1. Stabilisation d’une chaîne d’intégrateurs 35

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

Fig. 1.15 – Stabilisation d’une chaîne d’intégrateur pour un état initial x0 = (2 −


2 3)T en appliquant la commande discrète du Théorème 5 pour θi = 0.618n−i+1
36 1.8. Conclusion
Chapitre 2

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 θ)

avec les quatre commandes : la poussée u et les couples (vψ , vθ et vφ ). La position


du quadrirotor est représentée par x, y et z. Le lacet ψ, le tangage θ et le roulis φ
décrivent l’orientation du quadrirotor. La projection du quadrirotor dans un plan
implique que le tangage θ et le lacet ψ sont déjà stabilisés (θ = ψ = 0). On obtient
le système d’équation suivant :

 φ̈ = vφ
ÿ = −u sin φ
z̈ = −1 + u cos φ

Ce système représente dans la littérature la dynamique des avions à décollage et


atterrissage verticaux. La seule différence par rapport au modèle original est un

37
38 2.1. Introduction

paramètre de couplage  entre la dynamique de rotation et la dynamique de transla-


tion. Le modèle dynamique complet du PVTOL et ses caractéristiques sont présentés
dans section 2.2. Le modèle du PVTOL a été utilisé au niveau pratique pour décrire

(a) Le quadrirotor (b) La projection dans un (c) Le PVTOL


plan

Fig. 2.1 – Relation entre le quadrirotor et le PVTOL

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.

Fig. 2.2 – Exemple du PVTOL : AV-8B Harrier


Chapitre 2. PVTOL 39

Ce chapitre est organisé en deux parties : 1) Le PVTOL sans gravité puis 2) Le


PVTOL avec gravité. Dans la première partie (section 2.3), la dynamique du PVTOL
est transformée en un système chaîné à inertie correspondant aux objets volants dans
un milieu sans gravité. La stabilisation du PVTOL (sans gravité) revient à stabili-
ser un système chaîné. La commande proposée est basée sur le principe de l’horizon
glissant et conçue pour être appliquée en temps réel. Dans la deuxième partie, nous
présentons dans la section 2.4 l’état de l’art sur les différentes commandes pour PV-
TOL avec gravité. Ensuite, nous appliquons en la section 2.5 l’analyse de Lyapunov
pour construire une commande bornée pour la stabilisation globale du PVTOL avec
gravité.

2.2 Modèle dynamique du PVTOL


Un modèle complet du PVTOL doit prendre en compte plusieurs aspects comme
les effets aéroélastiques, contrôle des surfaces des actionneurs, la dynamique interne
du moteur, et la flexibilité des ailes du PVTOL. En conséquence, la conception de
la commande est difficile. Dans la suite nous présentons le modèle initialement dé-
veloppé par Hauser et al. [35] et également par Fliess et al. [24]. Ce modèle a un
nombre réduit d’états et d’entrées, mais suffisamment pour représenter les caracté-
ristiques principales d’un véritable avion. Nous avons deux repères, le repère fixe
(~i, ~k) et le repère mobile du corps du PVTOL (~ib , ~kb )). L’angle θ est l’angle entre les
deux repères. Les forces agissant sur le système sont :

F~1 = (cos α~kb + sin α~ib )F1


F~2 = (cos α~kb − sin α~ib )F2
m~g = −mg~k

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

Les équations du mouvement sont écrites par rapport au centre de masse C :

˙
mV~C = F~1 + F~2 + m~g
~σ˙ C = C M
~ 1 ∧ F~1 + C M
~ 2 ∧ F~2

où V~C est la vitesse du point C et ~σC est le mouvement angulaire autour C.


40 2.2. Modèle dynamique du PVTOL

u~kb F~1
v v~ib
α

F~2
θ
α
z C
M1 ~k

M2
m~g
~i

Fig. 2.3 – Le PVTOL dans le plan

La projection de ces équations sur les axes fixes donne :

mẍC = (F1 + F2 ) cos α sin θ + (F1 − F2 ) sin α cos θ (2.1)


mz̈C = (F1 + F2 ) cos α cos θ + (F2 − F1 ) sin α sin θ − mg (2.2)
J θ̈ = (F2 − F1 )(l cos α + h sin α) (2.3)

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

on obtient le modèle simplifié du PVTOL :

ẍ = −u sin θ + v cos θ (2.4)


z̈ = u cos θ + v sin θ − 1 (2.5)
θ̈ = v (2.6)

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.

2.2.1 Caractéristiques du PVTOL


Le système du PVTOL représenté par les equations (2.4 -2.6) a attiré beaucoup
d’attention et est devenu un cas test pour plusieurs méthodologies de commande.
Le PVTOL est un système sous-actionné puisque le nombre d’entrées de commande
(2) est plus petit que le nombre de degrés de liberté de l’avion (3).
Le PVTOL appartient à la classe des systèmes non-linéaires dits à déphasage non-
minimal, c’est à dire à dynamique des zéros instable. La dynamique des zéros est la
dynamique interne du système non-linéaire avec la contrainte que toutes les sorties
et leurs dérivés soient toujours nulles. La linéarisation entrée/sortie du système (2.4-
2.6) avec le retour d’états suivant :
       
u − sin θ cos θ 0 v1
= cos θ sin θ + (2.7)
v  
1 v2

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

Fig. 2.4 – Portrait de phase de la dynamique interne du PVTOL pour  = 1

Si la méthode d’inversion est employée, elle mène à un système entrée-sortie linéaire


et découplé. En revanche, nous perdons l’observabilité de la dynamique de rotation
instable. Figure 2.4 montre le portrait de phase (θ̇, θ) d’un pendule amorti (2.11)
avec  = 1. Le portrait de phase pour  < 0 est simplement la translational de π
de la figure 2.4. Ainsi, pour  > 0, le point d’équilibre (θ, θ̇) = (0, 0) est instable et
le point d’équilibre (π, 0) est stable (pas asymptotiquement stable) et √ entouré par
une famille d’orbites périodiques avec des périodes commençant par 2π  à ∞. En
dehors de ces orbites périodiques se trouve une famille de trajectoires non-bornées.
Ainsi, selon les conditions initiales, le PVTOL soit secouera d’un côté à l’autre ou
tournera sans interruption dans une direction (sauf aux équilibres isolés)[35].

Le PVTOL est également un système plat. Un système non-linéaire est plat


s’il existe un vecteur de fonctions indépendantes appelées les sorties plates, de la
même dimension que le vecteur des entrées de commande, qui sont des fonctions
différentielles de l’état du système. Ces sorties plates sont des fonctions des variables
d’état et également d’un nombre fini de leurs dérivés. En plus, chaque variables du
système c.-à-d., les états, les sorties originales et les entrées peuvent alternativement
être exprimée en tant que fonction différentielle des sorties plates [86]. Dans le
cas du PVTOL, les sorties plates représentent un ensemble de points connus par
les mécaniciens comme le centre de l’oscillation de Huygens et prennent la forme
suivante :
 
χ = (x − sin θ, z + cos θ) (2.12)
λ λ

où λ est un paramètre. Comme résultat, le système entrée/sortie n’a pas de dy-


namique de zéros. Les états et les entrées du systèmes sont exprimés comme des
Chapitre 2. PVTOL 43

fonctions de χ et de ses dérivées :


  2
(χ1 − x)2 + (χ2 − z)2 = (2.13)
λ
χ̈1 (χ2 − z) + (χ̈2 + 1)(χ1 − x) = 0 (2.14)
χ̈1 cos θ − (χ̈2 + 1) sin θ = 0 (2.15)
cette propriété de platitude est employée dans plusieurs approches pour la poursuite
de trajectoire d’un PVTOL ([65], [86]).
Olfati-Saber [73] a proposé un changement de coordonnées rendant le modèle indé-
pendant de ε mais qui nécessite de connaître ce paramètre :
x̄ = x − ε sin(θ) (2.16)
z̄ = z + ε(cos(θ) − 1) (2.17)
aboutissant à la dynamique suivante exprimée dans les nouvelles coordonnées
(x̄, ȳ, θ) :
x̄¨ = − sin(θ)ū (2.18)
z̄¨ = cos(θ)ū − 1 (2.19)
θ̈ = v (2.20)
avec ū = u − εθ̇2
La représentation obtenue est identique à celle d’origine avec  = 0. En revanche, il
devient plus difficile de tenir compte des contraintes sur les entrées de commande.

2.2.2 Le PVTOL sans gravité et les systèmes chaînés avec


inertie
Aneke et al. [8] ont pris le PVTOL comme un exemple dans leur étude pour la
stabilisation des systèmes chaînés. Ils ont présenté des changements de coordonnées
et de commande pour transformer le PVTOL en une forme chaînée de second ordre.
Dans cette partie, nous présentons ce travail. En fait, le PVTOL peut être vu comme
un cas spécial d’un système non-holônome du second degré dans le sens que le
système est sujet à une contrainte non-intégrable d’accélération.
Rappelons le modèle simplifié du PVTOL (équations (2.4-2.6)) :
ẍ = −u sin θ + v cos θ
z̈ = u cos θ + v sin θ
θ̈ = v
Si le système n’est pas influencé par la gravité −1, l’approximation linéaire autour le
point d’équilibre est incontrôlable et le système du PVTOL ne peut pas être stabilisé
44 2.2. Modèle dynamique du PVTOL

par un retour d’état statique C 0 . Les changements de coordonnées et de commande


proposés dans [8] pour transformer le PVTOL sans la gravité en une forme chaînée
de second ordre sont développés dans la suite.
Premièrement, la dynamique de translation du PVTOL (x, z) est linéarisé autour
du point d’équilibre qe = [xe , ze , θe ] par l’application de la commande :
u = −ux sin θ + uz cos θ
1 (2.21)
v = (ux cos θ + uz sin θ)

Le système du PVTOL peut alors être écrit comme suit :
ẍ = ux
z̈ = uz (2.22)
1
θ̈ = (ux cos θ + uz sin θ)

Deuxièmement, un nouveau changement de variables d’état et de commande est
appliqué :
ζx = z + (cos θ − sin θe )
ζz = −x + (sin θ − cos θe )
(2.23)
ux = −u sin θ + v cos θ − θ̇2 sin θ
uz = −u cos θ + v sin θ − θ̇2 cos θ
le système du PVTOL devient simplement :
ζ¨x = u cos θ
ζ¨z = u sin θ (2.24)
θ̈ = v
avec (ζx , ζz ) comme sorties plates du système.
Ensuite, pour |θ − θe | < π2 , considérons le changement de coordonnées :

ξ1 = cos θe (ζx − ze ) + sin θe (ζz + xe )


ξ2 = tan(θ − θe ) (2.25)
ξ3 = − sin θe (ζx − ze ) + cos θe (ζz + xe )
et la changement de commande :
u1
u =
cos(θ − θe ) (2.26)
v = cos(θ − θe )2 u2 − 2 tan(θ − θe )θ̇2
Finalement dans le nouveau repère, on obtient un système sous la forme chaînée de
second ordre suivante :
ξ¨1 = u1
ξ¨2 = u2 (2.27)
ξ¨3 = ξ2 u2
Chapitre 2. PVTOL 45

Ce système représente une classe spécifique de systèmes non-holônomes de second


ordre. Cette classe représente les systèmes qui ont des contraintes non-intégrables sur
les accélérations. Plusieurs systèmes mécaniques et robotiques peuvent être inclus
sous cette classe, nous pouvons citer
– le robot de type unicycle, voiture, chariot avec remorques
– le sous-marin sous-actionné ([19],[99]) et vaisseau de surface ([74], [79])
– les manipulateurs PPR [37], et les manipulateurs RRR [103]
– le PVTOL
Comme on a vu pour le cas du PVTOL, ces systèmes peuvent être transformés par
des changements de coordonnées et de commande en une forme chaînée de second
ordre décrit par les équations suivantes :

 ẍ0 = u
ẍ1 = v (2.28)
ẍi = xi−1 u i ∈ {2, . . . , m}

x0,...,m représentent les états et u, v sont les entrées des commandes.

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.

2.3 Commande du PVTOL sans gravité


Dans cette partie de chapitre nous étudions le développement de lois de com-
mande pour système (2.28). La stabilisation de ce système n’est pas aisée parce qu’il
ne satisfait pas les conditions de Brockett [16]. Ces conditions sont nécessaires pour
l’existence de commandes par retour d’état statique C0 et autonomes. De plus, il
diffère des systèmes en forme chaînée du premier ordre initialement proposés par [71]
parce qu’il contient une composante de dérive. Pour ces raisons, le système (2.28) a
attiré beaucoup d’attention au cours de ces dernières années dans la littérature de
la commande non-linéaire.
Dans [46], les auteurs ont présenté une commande discontinue pour stabiliser expo-
nentiellement l’origine d’une version généralisée du système (2.28). Système (2.28)
était également le sujet d’étude dans [95] où la stabilité exponentielle est garantie
en appliquant une loi de commande continue variable dans le temps. Yamada et al.
[101] ont étudié la stabilisation de (2.28) par un retour d’état et de sortie basés sur
la commande échantillonnée (sampled data control).
46 2.3. Commande du PVTOL sans gravité

Dans le cas où i = 2, système (2.28) prend la forme suivante :



 ẍ0 = u
ẍ1 = v (2.29)
ẍ2 = x1 u

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 :

−umax ≤ u ≤ umax (2.30)


−v max ≤ v ≤ v max (2.31)

La commande proposée est basée, comme le travail de [5], sur le principe de la


commande prédictive, parfois appelée la commande à horizon glissant "Receding
Horizon Control (RHC)". Une partie de ce travail a été présentée dans [33].

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

2.3.1 La commande prédictive


La commande prédictive est reconnue comme l’une des approches les plus
puissantes et les plus générales pour aborder des processus non-linéaires où des
contraintes et la performance doivent être considérées. Cette technique est très uti-
lisée dans l’industrie et en particulier dans l’industrie pétrochimique. La philosophie
de la commande prédictive peut être énoncée d’une façon informelle comme suit :
le modèle du système (linéaire ou non-linéaire) est utilisé pour résoudre en-ligne,
à chaque pas d’échantillonnage, un problème de commande en boucle ouverte sur
un horizon fini de prédiction. La meilleure décision au sens d’un certain coût tout
en respectant les contraintes sur les états et les commandes est appliquée durant la
période d’échantillonnage [k, k + 1[ et le processus est répété pour les pas d’échan-
tillonnage suivants.
Afin de définir formellement la commande prédictive, un certain nombre de défini-
tions seront présentées dans la section suivante.

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


– n est l’horizon de prédiction.
– Uk est le profil de commande donné par

Uk = (uk , uk+1 , . . . , uk+n−1 ) (2.38)

– xi représente l’état du système à l’instant i lorsque le profil de commande Uk


est appliqué, à savoir

xi = X(i; xk , U ); i ∈ {k, . . . , k + n} (2.39)

– 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)

Xf où est un sous-ensemble fermé et convexe de X. Cet ensemble X traduit


divers types de contraintes, à savoir des contraintes de sécurité, des contraintes
de respect des spécifications ou tout simplement de validité du modèle.
Pk+n−1
– i=k L(xi , ui ) représente un terme intégral sur la trajectoire.

Dans la littérature, il existe plusieurs formulations dans lesquelles la fonction de coût


prend la forme (2.37). Chaque formulation est caractérisée par le choix les différents
paramètres du problème d’optimisation :
1. la longueur de l’horizon de prédiction n
2. la pondération finale F (.)
3. l’ensemble final Xf
4. la pondération L(., .)
On peut citer quelques formulations classiques avec l’horizon de prédiction fixe
– formulation avec contrainte finale d’égalité
– formulation avec ensemble terminal et sans pondération finale
– formulation avec ensemble terminal et pondération finale
Chapitre 2. PVTOL 49

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.

Définition de la commande prédictive


Comme nous l’avons énoncé avant, dans la commande prédictive un problème de
commande optimale et boucle ouverte doit être résolu. Ce problème peut alors être
défini pour le système à l’état xk à l’instant k

Pn (xk ) : min{ Vn (xk , U ) | U ∈ Un (xk )} (2.41)


U

avec Un (xk ) est l’ensemble des profils de commande admissibles est donné par

Un (xk ) = {U ∈ Uad | X(k + n, xk ) ∈ Xf et ∀i ∈ {k, . . . , k + n} X(i, xk ) ∈ X}


(2.42)
La suite de commande optimale notée par Un0 (xk ) est la solution du problème d’op-
timisation Pn (xk )

Un0 (xk ) = u0 (k, xk ) u0 (k + 1, xk ) . . . u0 (k + n − 1, xk )



(2.43)

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

κ(xk ) = u0 (k, xk ) (2.45)

et la procédure est répétée pour xk+1 , xk+2 , etc.

2.3.2 Commande optimale des systèmes chaînés en boucle


ouverte
Les principes généraux de la commande prédictive présentés dans la section pré-
cédente seront appliqués pour le cas des systèmes chaînés (2.28).
Le système peut être divisé en deux sous-systèmes. Le premier sous-système Σ1 est
linéaire et il prend la forme de double intégrateur avec u comme commande et

η = (η 1 , η 2 ) = (x0 , ẋ0 )T

comme vecteur d’état.


Le deuxième sous-système Σ2 est linéaire variable dans le temps - si u est pris comme
fonction de temps - avec v comme commande et

z = (z 1 , . . . , z m ) = (xm , ẋm , . . . , x1 , ẋ1 )T

comme vecteur d’état.


Pour le système (2.29) par exemple dans le cas m = 2, nous avons les deux sous-
systèmes suivants :    
0 1 0
Σ1 : η̇ = η+ u (2.46)
0 0 1
   
0 1 0 0 0
 0 0 u 0   0 
Σ2 : ż = 
 0
z +  v (2.47)
0 0 1   0 
0 0 0 0 1

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

pour l’horizon de temps pour la période d’échantillonnage constante δ :



t̃ = 0 δ . . . nδ (2.49)
Dans la suite, une paramétrisation claire de (2.48) est présentée. y = (η, z)T repré-
sente l’état du système. ui et vi représentent les entrées de commande à appliquer
au système au temps i pour diriger l’état du système de yi à yi+1 . L’objectif final de
cette commande est d’orienter le système (2.28) vers l’état désiré final yd = (ηd , zd )T
à partir de l’état initial y0 = (η0 , z0 )T .

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

En utilisant la définition de ui (2.51), l’état final après n périodes d’échantillonnage


(2.53) s’écrit :  
n α
ηn = A1 η0 + Γn (2.54)
β
avec la matrice carrée
n−1
X
(A1 )n−1−i B1
 
Γn = i 1 (2.55)
i=0
Dans la section suivante, nous présentons les conditions nécessaires pour l’existence
de la commande U .
52 2.3. Commande du PVTOL sans gravité

Existence de U

Pour réaliser notre objectif pour orienter le sous-système Σ1 de l’état initial η0


vers un état final ηn égal à l’état désiré ηd en n périodes d’échantillonnage, Γn doit
être de rang plein et ceci est étudié dans le lemme suivant.

Lemme 6 ∀n > 1, la matrice carrée Γn est de rang plein.

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)
β

Cette commande amène le sous-système Σ1 en n périodes d’échantillonnage de l’état


initial η0 vers un état final égal à l’état désiré ηn = ηd .

Le profil de V

Le deuxième sous-système peut être écrit comme suit :


   
0 1 0
 0 u 0   
..
   

0 .   .. 
   . 
Σ2 : ż = AΣ2 z + BΣ2 v = 
 . .. 1 z + 
 
v

(2.57)
   

 0 u 





 0 0 1   0 
0 1

avec AΣ2 ∈ R2m×2m et BΣ2 ∈ R2m×1 .


On suit la même démarche pour établir la commande V (sans forme spéciale). Par
discrétisation, les états discrets de Σ2 sont à chaque période d’échantillonnage δ :


 z1 = A20 z0 + B20 v0
 z2 = A2 z1 + B2 v1

1 1
.. (2.58)


 .
 z = A
n 2n−1 zn−1 + B2n−1 vn−1
Chapitre 2. PVTOL 53

A2i et B2i sont issues de la discrétisation de AΣ2 et BΣ2 avec u = ui .


 2 2m−3 2m−2 2m−1

1 ui δ u2i δ2! . . . u2m−3
i
δ
(2m−3)!
u2m−2
i
δ
(2m−2)!
u2m−1
i
δ
(2m−1)!
 
 
2m−4 2m−3 2m−2
. . . u2m−4 δ
u2m−3 δ
u2m−2 δ
 
 0 1 ui δ i (2m−4)! i (2m−3)! i (2m−2)!

. ..
 
A2i =  ..

.

 (2.59)
δ2
u2i 2!
 
 0 0 ... 1 ui δ 
 
 0 0 ... 0 1 ui δ 
0 0 0 ... 0 0 1
 2m

u2m−1
i
δ
2m!
 
 
2m−1
u2m−2 δ
 
 i (2m−1)! 

B2i =  .. 
(2.60)
.

 
3
u2i δ3!
 
 
2
ui δ2!
 
 
δ
L’état final zn après n périodes d’échantillonnage prend la forme suivante dépendante
de Φn et Ψn :
zn = Φn z0 + Ψn V (2.61)
où Ψn , Φn et V sont donnés par :
 
Ψn = A2n−1 A2n−2 · · · A21 B20 , A2n−1 A2n−2 · · · A22 B21 , . . . , A2n−1 B2n−2 , B2n−1 (2.62)
n−1
Y
Φn = A2j (2.63)
j=0

V = [v0 v1 . . . vn−1 ]T (2.64)

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.

Lemme 7 Si ηd 6= η0 , alors Ψn est de rang plein pour n > 2m

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é

En appliquant Lemme 7, la commande continue par morceaux V oriente Σ2 de l’état


initial z0 vers un état zn = zd dans n périodes d’échantillonnage

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).

2.3.3 Solutions sous-optimales du problème d’optimisation


L’objectif de cette partie est de trouver les commandes ui et vi (à chaque période
d’échantillonnage) telles que les contraintes de saturation (2.30) et (2.31) soient
satisfaites. Les entrées de cet algorithme sont l’état réel y0 et l’état désiré final après
n périodes d’échantillonnage yn = yd = (ηd , zd ). Un algorithme A(y0 ) basé sur le
lemme suivant est développé.

Lemme 8 Nous avons : limn→∞ ||U || → 0, limn→∞ ||V || → 0.

L’importance de ce lemme vient du fait qu’il relie la grandeur des éléments de la


commande avec la longueur de l’horizon n. Si n augmente, la grandeur des éléments
de U et V tendent vers zéro. Le preuve est détaillé dans l’Annexe B.3

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

L’application de cet algorithme nous donne les séquences de commandes admissibles


Ŵ :        
Û û0 û1 ûn̂−1
Ŵ = = , , ... , (2.66)
V̂ v̂0 v̂1 v̂n̂−1
qui sont à appliquer pendant l’horizon de temps :

t̂n̂ (y0 ) = 0 δ ... n̂δ (2.67)

où n̂ dénote la longueur de l’horizon de prédiction en utilisant l’algorithme A(y0 ).


Les entrées de commande issues de l’algorithme ci-dessus assurent le contrôle du
système chaîné de l’état initial y0 à l’état désiré final yn̂ = yd en n̂ périodes d’échan-
tillonnage tout en satisfaisant les contraintes de saturation. La seule limitation de
cet algorithme survient quand u est égal à zéro. Dans ce cas, la contrôlabilité du
deuxième sous-système Σ2 est perdue et donc celle du système entier. Les approches
discontinues cherchent par exemple à s’éloigner de cette singularité. A partir de sa
définition, u = 0 signifie que α et β de (2.51) sont égaux à zéro, d’autres termes, que
l’égalité ηd = (A1 )n η0 (équation (2.54)) est satisfaite. Afin d’éviter cette situation,
une étape additionnelle est d’abord appliquée avant d’exécuter l’algorithme A(y0 ).
Cette étape aide également à augmenter la vitesse de convergence de l’état en com-
mençant de l’état initial y0 vers l’état final désiré yd . Ainsi, une commande constante
ε ∈ {−1, 1} est d’abord appliquée pendant 0 à qmax périodes d’échantillonnage :
 
εumax
wq,ε (τ ) = ∀τ ∈ [0, qδ] (2.68)
0

L’application de cette commande pendant q périodes d’échantillonnage oriente l’état


du système vers un état intermédiaire ỹ(y0 , q, ε) = Y (qδ; 0; y0 ; wq,ε (.)). Ensuite, le
système est orienté vers l’état désiré final yn = yd par l’application de l’algorithme
A(ỹ).
En conséquence, nous obtenons un ensemble de suites de commande qui correspond
à l’ensemble des trajectoires :
– Traj(q, A(y0 )) avec une durée qδ + t̂n̂ (x̃(x0 , q, ε)) pour q = 0
– Traj(q, A(ỹ(q, ε))) avec une durée qδ + t̂n̂ (ỹ(y0 , q, ε)) pour (q = 1, ε = 1)
– Traj(q, A(ỹ(q, ε))) avec une durée qδ + t̂n̂ (ỹ(y0 , q, ε)) pour (q = 1, ε = −1)
– ...
– Traj(q, A(ỹ(q, ε))) avec une durée qδ + t̂n̂ (ỹ(y0 , q, ε)) pour (q = qmax , ε = 1)
– Traj(q, A(ỹ(q, ε))) avec une durée qδ + t̂n̂ (ỹ(y0 , q, ε)) pour (q = qmax , ε = −1)
avec t̂n̂ (ỹ(y0 , q, ε)) obtenu par l’application de A(ỹ(y0 , q, ε)).

Notre but est de stabiliser le système en un temps minimum et pour cela la


trajectoire avec la plus courte durée est choisie. Donc, l’objectif est de trouver la
56 2.3. Commande du PVTOL sans gravité

commande optimale et admissible en boucle ouverte wopt (y0 ) qui correspond à la


solution du problème d’optimisation suivant
(q̂(y0 ), ε̂(y0 )) = Arg min qδ + t̂n̂ (yf (y0 , q, ε)) (2.69)
(q,ε)∈A(x0 )

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)

avec, pour j = 1, . . . , q̂(y0 ) :


 
ε̂(y0 )umax
wjopt =
0
Cette commande sera appliquée pour l’horizon de temps suivante
topt (y0 ) = (0, δ, . . . , δ q̂(y0 ), t̂n̂ (yf )) (2.71)
avec
t̂n̂ (yf ) = ((q̂(y0 ) + 1)δ, . . . , (q̂(y0 ) + n̂(y0 ))δ) (2.72)

Ŵ (yf ) est la commande obtenue à partir de l’exécution de l’algorithme A(yf ). L’al-


gorithme de commande à appliquer est donc :

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

2.3.4 La commande par retour d’état


En utilisant les principes de la commande prédictive, on obtient la commande
par retour d’état suivante

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 .

La preuve de ce théorème est détaillée dans l’Annexe B.4.

2.3.5 Application numérique


Pour démontrer l’efficacité de la commande proposée, nous considérons la stabi-
lisation du système (2.29) :
   
0 1 0
Σ1 : η̇ = η+ u
0 0 1
   
0 1 0 0 0
 0 0 u 0   0 
Σ2 : ż = 
 0
z +  v
0 0 1   0 
0 0 0 0 1
Cinq études de simulations ont été effectuées.
• Dans la première et la deuxième simulation, nous avons étudié l’effet de la
valeur de qmax . Nous avons tracé l’évolution du système chaîné de l’état initial
y0 = [−5, 3, −2, 0.1, −0.75, 1]T vers l’état final yd = [0, 0, 0, 0, 0, 0]T sous les
contraintes [umax , v max ] = [2.5, 2.5] avec qmax = 2 dans la première simulation
(figure 2.5) et qmax = 20 dans la deuxième simulation (figure 2.6). Nous no-
tons que la valeur de qmax n’affecte que peu la performance de la commande
proposée et cela est dû au fait qu’en commande prédictive, seul le premier
échantillon est appliqué
• Dans la troisième simulation, nous avons étudié le cas où nous commen-
çons à partir d’un état initial singulier y0 = [0, 0, −2, 0.1, −0.75, 1]T avec
les contraintes de saturation sur les entrées [umax , v max ] = [7, 7]. Nous pou-
vons observer que notre commande réussit à stabiliser le système à l’état final
yd = [0, 0, 0, 0, 0, 0]T (figure 2.7)
58 2.3. Commande du PVTOL sans gravité

• La quatrième simulation prouve que la commande proposée peut orienter le


système chaîné de l’état initial y0 à n’importe quel état désiré différent de
l’origine avec des vitesses égales à zéro (figure 2.8)
• Dans la dernière simulation l’état désiré est l’origine yd = [0, 0, 0, 0, 0, 0]T
et les contraintes de commande d’entrée sont [umax , v max ] = [0.05, 0.05]. Ces
contraintes feront converger la loi de commande vers un comportement de type
Bang-Bang bien connu en commande optimale en temps minimum (figure 2.9)

2.3.6 Récapitulatif sur la commande du PVTOL sans gravité


Dans cette partie de chapitre, une commande par retour d’état qui assure la sta-
bilisation asymptotique des systèmes chaînés sous les contraintes de saturation vers
n’importe quelle position a été proposée. Cette approche basée sur le principe de
l’horizon glissant est conçue pour être appliquer en temps réels sans aucun traitement
spécial pour les situations singulières. Par exemple, en utilisant matlab c la durée
moyenne de calcul pour chaque itération nécessite 0.02 seconde dans le cas commen-
çant de y0 = [0, 0, −2, 0.1, −0.75, 1]T pour arriver à l’état final yd = [0, 0, 0, 0, 0, 0]T
sous les contraintes de saturation [umax , v max ] = [7, 7] avec qmax = 2. Cette durée
peut être réduite par un facteur de 10 à 100 si la commande est programmée sous
fortran ou C.
Chapitre 2. PVTOL 59

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.4 Commande de PVTOL avec gravité


Dans cette partie de chapitre nous revenons sur le modèle simplifié du PVTOL
avec la gravité :
ẍ = −u sin θ + v cos θ
z̈ = u cos θ + v sin θ − 1
θ̈ = v
Ce système de PVTOL a plusieurs caractéristiques qui peuvent être employées pour
concevoir des commandes. Lin et al. [49] ont proposé quatre exigences que n’importe
quelle commande devrait satisfaire afin de pouvoir être appliquer à des PVTOL réels.
Ces conditions sont :
• L’altitude z de PVTOL, en mode décollage, devrait avoir une déviation très
petite de l’altitude de référence. Les PVTOL réels comme Harrier YAV-8B
sont conçus pour être manoeuvrés à proximité du sol. Par conséquent il est
souhaitable de trouver une loi de commande qui fournit une poursuite exacte
de l’altitude
• u ≥ 0, parce que est la poussée est toujours dirigée vers le haut du PVTOL.
• |θ|  π/2, parce que la plupart d’avion de V/STOL n’ont pas un grand rapport
poussée/poids pour maintenir l’altitude avec de grand angle θ
• Les grandes entrées de commande ne sont pas acceptables en raison des limi-
tations de poussée et du moment de rotation
Les approches de commande proposées dans la littérature pour le PVTOL peuvent
être classifiées en deux familles principales, à savoir les approches de poursuite de
trajectoire et celles qui traitent un problème de stabilisation. Chaque commande
vérifie une ou plusieurs des caractéristiques du PVTOL citées au dessus. Ces deux
types de commande sont présentées dans la suite.

2.4.1 Poursuite des trajectoires


Le problème de poursuite de trajectoire consiste à trouver une commande telle
que la sortie du système suive n’importe quelle trajectoire de référence.
Dans le cas des systèmes à déphasage minimal, le problème de poursuite peut faci-
lement être résolu par la linéarisation entrée-sortie [43]. Malheureusement, pour le
PVTOL, ce n’est pas le cas, puisque le système est à déphasage non-minimal (voir
section 2.2.1). Les auteurs dans [35] ont proposé une approche pour la poursuite de
trajectoire du PVTOL : l’approximation du système à déphasage non-minimal de
phase par un système à déphasage minimal. La commande proposée peut se résumer
à:
1. Approximation du PVTOL avec  = 0, pour supprimer le couplage entre le
moment de rotation et l’accélération latérale
Chapitre 2. PVTOL 65

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

3. Linéariser le système (avec  = 0) par les entrées suivantes :


   −1    
ü − sin θ − cos θu sin θθ̇2 u − 2 cos θθ̇u̇ w1
= − + (2.75)
v cos θ − sin θu − cos θθ̇2 u − 2 sin θθ̇u̇ w2

4. Comme résultat, le système en boucle fermé sera :


 (4)   
x w1
= (2.76)
z (4) w2

Le système obtenu est à phase minimale avec dynamique de zéros stable.


Cette commande fournit de bons résultats quand le paramètre de couplage  est
zéro ou petit ( < 0.6), cependant la performance se détériore lorsque le valeur de 
augmente. Un autre inconvénient d’une telle approche est la restriction à l’angle θ
à ] − π2 , + π2 [.

La platitude du PVTOL (2.12) a été utilisée pour la poursuite de trajectoire


dans le travail de [65]. D’abord, la sortie plate est employée pour concevoir la
poursuite d’état basée sur la linéarisation exacte par le retour d’état dynamique :

u = ζ + θ̇2 (2.77)
λ
1
v = (−w1 cos θ − w2 sin θ − 2ζ̇ θ̇) (2.78)
λζ
ζ̈ = −w1 sin θ + w2 cos θ + ζ θ̇2 (2.79)

où ζ = u − λ θ̇2 . Le système linéarisé s’écrit sous la forme de deux chaînes d’intégra-


teurs d’ordre 4 :
(4)
χ1 = w1
(4) (2.80)
χ2 = w2
Ensuite le placement de pôles ou une des commandes développées dans le chapitre
précédent pour la stabilisation globale d’une chaîne d’intégrateurs peut être
employée pour construire une poursuite d’état stable. Ainsi la poursuite de sortie
est commandée par la sortie plate.

Al-Hiddabi et McClamroch [1, 3, 2] ont traité le problème de poursuite de


66 2.4. Commande de PVTOL avec gravité

trajectoire de PVTOL par l’approche de décomposition. L’idée principale est de dé-


composer du PVTOL, après un changement de coordonnées, en deux sous-systèmes
d’entrée-sortie. Le premier sous-système est linéaire avec une dynamique interne
négligeable pour la commande dynamique de z (système à déphasage minimal).
Le deuxième est avec une dynamique interne instable pour la commande de la
dynamique couplée entre x et θ (système à déphasage non-minimal). L’approche de
commande proposée est applicable seulement au cas où le paramètre de couplage 
est grand.

2.4.2 Stabilisation du PVTOL avec gravité


La stabilisation du PVTOL vise à conduire les états de système de n’importe
quelle configuration vers l’origine.
Teel [94] a illustré son résultat central du théorème du petit gain (non-linear small
gain theorem) en utilisant le PVTOL comme exemple. Son théorème fourni un for-
malisme pour analyser le comportement des systèmes de commande sous contraintes
(saturation). Il a établi un algorithme de stabilisation pour les systèmes non-linéaires
sous la forme "feedforward" dont fait partie le PVTOL.
La stabilisation du PVTOL basée sur l’analyse de Lyapunov a été utilisée par plu-
sieurs auteurs. Dans cette approche, deux stratégies sont utilisées. Dans la première,
la commande u stabilise l’altitude z tandis que la commande v stabilise l’angle de
roulis θ et en même temps le déplacement x. Dans la deuxième stratégie, la dyna-
mique du PVTOL est considérée comme un système en cascade composée de Σt ,
sous-système de translation et Σr , sous-système de rotation. Σr est stabilisé en uti-
lisant v tandis que Σt est stabilisé grace à la commande u et θ comme entrée fictive.

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 ]

L’application de u (équation 2.81) nous donne :

ẍ = − tan θ(1 + rz ) = rx (1 + rz ) − (tan θ + rx )(1 + rz )


Chapitre 2. PVTOL 67

Stabilisation du PVTOL

u z̈ u z̈
θ̈ ẍ

v v
ẍ θ̈

Premiere stratégie Seconde stratégie

Fig. 2.10 – La stabilisation du PVTOL basée sur l’analyse de Lyapunov

La commande v de équation (2.82) est choisie afin d’assurer que (tan θ + rx ) de ẍ


tend vers zéro en considérant en même temps que tan θ est borné.

Pour la version non-bornée, rx et rz sont définis par :

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 :

rx = sat1 (−ẋ − ksat1 (x + ẋ))


(2.85)
rz = sat1 (−ż − ksat1 (z + ż))

Les commandes proposées garantissent la stabilité asymptotique de l’origine. L’in-


convénient principal de cette approche est qu’elle est limitée à θ ∈] −π , π [. Dans
2 2
le même esprit, Lozano et al. [57] ont proposé une forme différente de commande
pour stabiliser le PVTOL après l’application du changement de coordonnées (2.16 -
68 2.4. Commande de PVTOL avec gravité

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.

Approche non-bornée Dans cette approche, plusieurs commandes sont propo-


sées. Saeki et Sakaue [81] ont proposé une commande utilisant une approximation
linéaire de type grand gain. La loi de commande se présente sous la forme :
u = −rx sin θ + (rz + 1) cos θ + θ̇2 (2.93)
v = −k32 θ̇ − k31 (θ − θd ) (2.94)
Chapitre 2. PVTOL 69

avec

rx = −k12 (ẋ − θ̇ cos θ) − k11 (x −  sin θ − xr )


rz = −k22 (ż − θ̇ sin θ) − k21 (z +  cos θ − zr − )

et kij pour (i = 1, 2 j = 1, 2) gains positifs. Le but de l’approche est d’assurer la


poursuite asymptotique de (x(t), z(t)) avec un trajectoire de référence (xr (t), zr (t)).
Les auteurs dans [83] ont étudié l’approximation des systèmes à déphasage non-
minimal dont le PVTOL et appliqué une commande à grand gain

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 :

rx = −satM12 (ẋ + satM11 (x + ẋ))


(2.96)
rz = −satM22 (ż + satM21 (z + ż))

avec la commande non bornée

v = θ¨d − satM32 (θ̇ − θ˙d + satM31 (θ̇ − θ˙d + θ − θd )) (2.97)

Les fonctions satMij pour (i = 1, 2, 3, j = 1, 2) sont des fonctions de saturation.


Olfati-Saber [73] a suivi une demarche différente en appliquant :

rx = c11 x̄ + c12 x̄˙


˙
rz = c0 tanh(c21 z̄ + c22 z̄) (2.98)
v = θd − k31 (θ − θd ) − k32 (θ̇ − θ˙d )
¨

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 = −ksatM12 (ẋ + satM11 (kx + ẋ)) (2.100)


rz = −satM22 (ż + satM21 (z + ż)) (2.101)

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.

2.5 Approche bornée pour la stabilisation du PV-


TOL
Nous avons proposé une commande bornée basée sur l’analyse de Lyapunov et les
systèmes en cascade. Le système de PVTOL est clairement en cascade car l’évolution
de la dynamique de rotation est indépendante de la dynamique de translation alors
que la dynamique de translation dépend de l’angle. Notre approche est similaire à
celle adoptée dans [104], cependant la performance est largement améliorée. L’idée
derrière ceci est d’assurer la convergence rapide du PVTOL en utilisant les résultats
du chapitre 1 concernant la stabilisation d’une chaîne d’intégrateurs par commande
bornée. Comme nous avions vu dans chapitre 1 de ce mémoire, que l’application de
l’approche de Sussmann et al. [89] améliorée par Théorème 1 et Théorème 3 donne
des meilleurs résultats en comparaison avec les résultats obtenus par l’application
de l’approche de Teel [93] qui a été adoptée par [104] pour la stabilisation bornée
du PVTOL. Ce résultat a fait l’objet d’un chapitre de livre [31]. Le développement
de rx , rz et v est présenté dans la section suivante.

2.5.1 Stratégie de commande


Nous détaillons ici les commandes bornées pour la stabilisation du PVTOL.
Soit θd := ηd , p := (p1 , p2 , p3 , p4 ) = (x, ẋ, z, ż) le vecteur d’état du sous-système
de translation Σt et η := (η1 , η2 ) = (θ, θ̇) le vecteur d’état du sous-système de
rotational Σr . Pour  = 0, Σt : ż = f (z, η) s’écrit :


 ṗ1 = p2
ṗ2 = −u sin(η1 )

(2.102)

 ṗ3 = p4
ṗ4 = u cos(η1 ) − 1

et Σr : η̇ = g(η, u) peut être exprimé par :



η˙1 = η2
(2.103)
η˙2 = v
Chapitre 2. PVTOL 71

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 βθ .

Les commandes u et v doivent respecter les contraintes sur les entrées Ū et


V̄ par la relation
1 < u ≤ Ū (2.109)
−V̄ < v ≤ V̄ (2.110)
La première condition est une condition nécessaire pour que le PVTOL soit sta-
bilisable à n’importe quelle position désirée. En effet, n’importe quelle condition
statique implique que le poids (−1 dans le modèle simplifié) soit compensé. De plus,
la contrainte sur rz doit être inférieure à 1 afin de garantir que |rz | < 1 et donc la
continuité et la bornitude de ηd et de ses dérivées temporelles successives.
La stabilisation globale du PVTOL par la commande bornée basée sur l’approche
non-linéaire proposée par [89] et améliorée dans chapitre 1 de ce mémoire est réca-
pitulé par le théorème suivant.

Théorème 10 Le système du PVTOL pour le paramètre de couplage  = 0 est glo-


balement asymptotiquement stabilisé par l’application de la poussée bornée u (2.106)
et du couple borné v (2.108). Les paramètres de réglage de la commande εx , εz et
εθ sont choisis tels que les commandes satisfassent les contraintes Ū > 1, V̄ > 0 et
|rz | < 1.
72 2.5. Approche bornée pour la stabilisation du PVTOL

Ce théorème est prouvé dans l’Annexe B.6

2.5.2 Une étude comparative


Dans cette section, nous présenterons une simulation comparative entre la com-
mande de Théorème 10 et les trois commandes suivantes : L’approche bornée de
Zavala et al. [104] (équations(2.99-2.100)), et les approches non-bornée de Castillo
et al. [18] (équations (2.81-2.82-2.85)), d’Olfati-Saber [73] (équations (2.98)). Nous
avons pris les mêmes valeurs numériques des paramètres données par Zavala et al.
[104] et Castillo et al. [18]. En revanche, les paramètres de l’approche d’Olfati-Saber
[73] n’étant pas donnés, nous avons essayé de trouver les réglages optimaux.
La simulation que nous proposons consiste en la stabilisation de PVTOL (avec
 = 0) en utilisant ces quatre approches différentes, à partir du même état initial
( x ẋ y ẏ θ θ̇ )T = ( 50 0 50 0 3π 5
0 )T . Ce choix l’état initial est inté-
ressant puisqu’il inclut de grandes valeurs sur x et y et une valeur sur θ qui excède
π
2
. Les résultats de simulation sont présentés dans les figures 2.11-2.12. Sur la figure
2.11, la position x, la vitesse ẋ, la position verticale z et la vitesse ż du PVTOL sont
tracées. L’angle θ, la vitesse angulaire θ̇ et les commande u et v sont dépeintes dans
la figure 2.12. Une observation des résultats de simulation obtenus pour les quatre
approches comparées nous permet de faire les remarques suivantes :
• Pour une même durée de temps, le PVTOL est déjà stabilisé par notre ap-
proche (Théorème 10), alors qu’il est encore en phase de stabilisation dans
l’approche de Zavala et al. [104]. La position x, dans l’approche de Zavala
et al. [104], exige plus que 3000 unités de temps pour converger à 0. Ceci peut
être expliqué par le fait que nous avons adopté l’approche de Sussmann et al.
[89] améliorée dans Théorème 1 pour concevoir les commande rx , rz , et v tan-
dis que Zavala et al. [104] ont employé l’approche de Teel [93]. Dans le chapitre
précédent (Section 1.4), nous avons présenté une comparaison entre ces deux
approches. Pour la simulation, nous avons seulement présenté les premières
200 unités de temps.
• L’approche d’Olfati-Saber [73], qui est non-bornée, stabilise le système plus ra-
pidement que les trois autres approches mais avec des commandes plus grandes.
• Sur la figure 2.12, l’angle θ est stabilisé avec π pour l’approche de [18] c.à.d la
stabilisation du PVTOL qui se fait à l’envers qui est considéré comme singu-
larité.
• Pour les quatre approches, u est telle que 1 <| u |< 3, et v reste dans l’intervalle
−2 <| v |< 2
Pour mettre en relief la performance de notre approche nous avons tracé la position
et l’orientation du PVTOL au cours de la stabilisation pour les quatre approches
dans la figure 2.13.
Chapitre 2. PVTOL 73

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) ż

Fig. 2.11 – Évolution dans le temps des états du sous-système de translation Σt


du PVTOL : x, ẋ, z et ż. Comparaison entre la commande bornée du Théorème 10
(croix), l’approche bornée de Zavala et al. [104] (trait pointillé), l’approche non-
bornée de Castillo et al. [18] (tiret-pointillé) et l’approche non-bornée d’Olfati-Saber
[73] (tiret)
74 2.5. Approche bornée pour la stabilisation du PVTOL

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

Fig. 2.12 – Évolution dans le temps des états du sous-système de translation Σr du


PVTOL (θ et θ̇) et les commandes u et v pour stabiliser le PVTOL. Comparaison
entre la commande bornée de Théorème 10 (croix), l’approche bornée de Zavala et al.
[104] (trait pointillé), l’approche non-bornée de Castillo et al. [18] (tiret-pointillé) et
l’approche non-bornée d’Olfati-Saber [73] (tiret)
Chapitre 2. PVTOL 75

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

(a) la commande bornée de Théorème 10 (b) Zavala et al. [104]

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

(c) Castillo et al. [18] (d) Olfati-Saber [73]

Fig. 2.13 – Trajectoires du PVTOL (pour le même temps) en appliquant la com-


mande bornée de Théorème 10, l’approche bornée de Zavala et al. [104] , l’approche
non-bornée de Castillo et al. [18] et l’approche non-bornée d’Olfati-Saber [73]

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 premier lieu, on a considéré la commande bornée de PVTOL sans gra-


vité, c’est à dire le système chaîné à inertie. Nous avons appliqué une commande
prédictive rapide basée sur la formulation contractive et la paramétrisation des
profils de commande [4]. Plusieurs configurations ont été examinées avec succès
même en commençant par des conditions singulières. Les simulations ont également
montré que cette commande est apte pour les applications embarquées qui néces-
sitent un temps de calcul très réduit.

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).

Dans le chapitre suivant, la commande non-linéaire appliquée au PVTOL


avec gravité sera généralisée pour la stabilisation du quadrirotor dans l’espace.
Chapitre 3

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.

3.2 Quadrirotor du gipsa-lab


Dans cette section, nous présentons certaines caractéristiques physiques des qua-
drirotors dont celui de gipsa-lab représenté sur la figure 3.1. Le quadrirotor est
constitué de quatre rotors fixés aux extrémités d’un corps rigide en forme de croix
normalement en fibre de carbone. Le rotor est constitué d’une pale à pas fixe accou-
plée à un moteur à courant continu ou brushless par l’intermédiaire d’un engrenage.

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

Fig. 3.1 – Le quadrirotor de gipsa-lab

ê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.

3.2.1 Caractéristiques physiques


Les caractéristiques physiques du quadrirotor présentées dans cette section ont
été étudiées en détail par McKerrow [68]. La masse totale du quadrirotor m est la
somme de la masse de la croix (mc ), les masses des quatre rotors considérés comme
identiques (mi i ∈ {1, 2, 3, 4}) et la masse de l’électronique et batterie (mb ) :

m = m1 + m2 + m3 + m4 + mc + mb

La structure du quadrirotor est considérée parfaitement symétrique et en consé-


quence la matrice d’inertie J est diagonale :
 
Ix 0 0
J =  0 Iy 0  (3.1)
0 0 Iz
Chapitre 3. Le quadrirotor 79

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 :

Ix = Icx + Imx1 + Imx2 + Imx3 + Imx4 + Ibx (3.2)

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θ et sθ dans l’équation (3.14) dénotent respectivement cos θ et sin θ.

3.2.2 Forces et couples


Dans cette section nous présentons les forces aérodynamiques et les couples ex-
ternes qui sont appliqués sur le quadrirotor. Pour les forces, nous avons le poids du
quadrirotor plus les forces produites par la rotation des rotors. La vitesse de rotation
des rotors si génère des forces aérodynamiques pour décoller, tourner et faire atterrir
le quadrirotor. Les qualités aérodynamiques du rotor sont déterminées par le profil
des pales. Ce profil est une coupe de la pale perpendiculaire à l’axe de la pale. La
force aérodynamique peut être décomposée en deux forces projetées suivant deux
axes :
– La traînée Di parallèle au plan de rotation de la pale
– La portance Fi suivant la perpendiculaire du plan de rotation de la pale
La traînée correspond à la résistance à l’avancement dans l’air (à cause de l’accé-
lération de la masse d’air soumise à la rotation des pales). La portance assure la
sustentation, c’est grâce à elle que le quadrirotor compense le poids, décolle et se
maintient dans l’air.
Le calcul de la portance d’un rotor constitue la première étape dans le processus
d’estimation des effort agissant sur la structure de l’engin. D’après Mahony et Hamel
[61], la portance Fi produite par un rotor i est donné par :

Fi = Cα s2i (αi − βi ) (3.15)

où si est la vitesse de rotation des pales, αi le pas collectif et βi l’angle d’incidence


(angle d’inclinaison des pales par rapport au vent relatif). Le coefficient Cα est une
constante qui depend de la masse volumique de l’air ρ, du rayon des pales r et leur
nombre n, de la longueur de corde des pales c et de la pente de la courbe de portance
par radian a :
1
Cα = ρr3 ca (3.16)
4
Dans les conditions proche du vol stationnaire, l’expression de la portance peut être
ré-écrite comme suit [61] :
p
Fi = Cα s2i αi − Cβ si Fi (3.17)
82 3.2. Quadrirotor du gipsa-lab

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)

4C 2 α
kl = q α i (3.19)
(Cβ + (4Cα αi + Cβ2 ))2

F3
F4

F2

F1

Fig. 3.3 – Les portances du quadrirotor

Pour la traînée Di , Poutry [77] propose la forme suivante :


Di = Cd ρs2i = kd s2i (3.20)
où Cd représente le coefficient de traînée multiplié par le surface de pales et ρ est la
masse volumique de l’air.
L’action de l’air sur chaque rotor, crée un couple de contre-rotation agissant suivant
l’axe de pivot de chaque rotor. Dans notre cas où le pas collectif est fixe, l’action de
l’air sur les pales d’un rotor est proportionnelle au carré de la vitesse angulaire de
ces pales. Alors, l’expression d’anti-couple s’écrit [61] :
Γi = ds2i (3.21)
Chapitre 3. Le quadrirotor 83

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.

Les mouvements de rotation


L’étude des portances et traînées de chaque rotor nous aide à identifier les couples
actifs et par conséquent les mouvements de rotation du quadrirotor dans le repère
mobile T (t~1 , t~2 , t~3 ).
La différence entre les portances gauche et droite produit le couple Γr responsable
du mouvement de roulis :

Γr (s2 , s4 ) = l(F4 − F2 ) = kl l(s24 − s22 ) (3.22)

F4

F2
1
)
l

Fig. 3.4 – Le mouvement de roulis du quadrirotor

Le mouvement de tangage est produit par le couple Γp causé par la dissymétrie


entre les portances produites par le rotor avant et arrière :

Γp (s1 , s3 ) = l(F3 − F1 ) = kl l(s23 − s21 ) (3.23)


84 3.2. Quadrirotor du gipsa-lab

F3

F1

Fig. 3.5 – Le mouvement de tangage du quadrirotor

Le mouvement de lacet est le résultat de la somme des couples résistants générés


par les traînée Di , i = 1 . . . 4 autour du centre de l’engin puisque l’axe de rotation
des pales est loin du centre du quadrirotor :
Γy (s1 , s2 , s3 , s4 ) = Γ2 + Γ4 − Γ1 − Γ3 = d(s22 + s24 − s21 − s23 ) (3.24)

Γ3
Γ4

Γ2
Γ1

Fig. 3.6 – Le mouvement de lacet du quadrirotor

Ces trois couples forment le couple actif Γa :


 
Γr (s2 , s4 )
Γa =  Γp (s1 , s3 )  (3.25)
Γy (s1 , s2 , s3 , s4 )
Chapitre 3. Le quadrirotor 85

En considèrant chaque rotor comme étant un disque rigide tournant à la vitesse si


autour de l’axe t3 de la structure, le rotor subit les rotations du fuselage. Alors, les
couples gyroscopiques Γg sont exprimés sous la forme :
X
Γg = − ~ ×~t3 si
Ir ω (3.26)
i

Les couples gyroscopiques sont la conséquence de la rotation simultanée de la struc-


ture du quadrirotor et de la rotation à grande vitesse des rotors qui possèdent une
certaine inertie Ir .
Le vecteur ω~ = (ω1 , ω2 , ω3 )T dans l’équation (3.26) représente le vecteur des vi-
tesses angulaires du quadrirotor dans le repère mobile. ω ~ × représente la matrice
anti-symétrique de vecteur ω ~ :
 
0 −ω3 ω2
~ × =  ω3
ω 0 −ω1  (3.27)
−ω2 ω1 0

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 ψ̇

3.3 Modèle dynamique du quadrirotor


Plusieurs auteurs ont étudié la modélisation du quadrirotor. Cette étape est
considérée comme le premier pas pour construire des lois de commande. Le modèle
dynamique obtenu représente la relation d’un part entre les forces et les couples
aérodynamiques provoqués par la rotation des rotors et l’engin, et d’autre part les
accélérations de translation et de rotation du centre de masse du quadrirotor. Nous
présenterons d’abord la dynamique de rotation qui décrit l’attitude du quadrirotor et
son orientation dans le repère terrestre fixe E. Ensuite la dynamique de translation
des coordonnées cartésiennes de la position p~ et la vitesse ~v exprimés dans le repère
terrestre fixe E est présentée.

3.3.1 L’attitude du quadrirotor


L’orientation du quadrirotor, ou l’attitude, est fondamentalement représentée
par un ensemble de deux équations. La première est l’équation dynamique d’Euler,
qui décrit l’évolution temporelle du vecteur de vitesse angulaire ω
~ . La deuxième
86 3.3. Modèle dynamique du quadrirotor

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.

Représentation de l’attitude par les angles d’Euler


La représentation de l’attitude par les angles d’Euler est faite en appliquant
trois rotations successives des angles d’Euler (exprimé dans T ) autour ~t3 , ~t1 et à
nouveau ~t3 . Le modèle dynamique décrivant l’attitude du quadrirotor contient une
composante gyroscopique additionnelle provoquée par la combinaison des rotations
du fuselage et les quatre rotors. Dans le cas où la composante gyroscopique est nulle,
ce modèle dynamique se réduit au modèle bien connu utilisé dans la littérature pour
la commande d’attitude d’un corps rigide. Le modèle dynamique de rotation du
quadrirotor en utilisant la représentation par les angles d’Euler s’écrit :

Ṙ = R~ω ×

(3.29)
Jω~˙ = −~ω × J~ω + Γtot

Γtot est l’ensemble des couple s’exerçant sur le structure du quadrirotor :

Γtot = Γg + Γpert + Γa (3.30)

avec Γa défini par équation (3.25) et Γg défini par équation (3.26)

Représentation de l’attitude par le quaternion


Les représentations à trois paramètres comme les angles d’Euler montrent tou-
jours des orientations singulières. Cette singularité est connue en anglais sous le
nom de "gimbal lock" ou serrure de Cardan. En conséquence, plusieurs auteurs
choisissent le quaternion unitaire (ou paramètres d’Euler). Cette représentation est
une des représentations à quatre paramètres qui représentent globalement l’attitude
d’un corps rigide dans l’espace sans singularité. Cependant, une équation addition-
nelle de contrainte est ajoutée. Le quaternion est définie par :

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

l’équation additionnelle de contrainte.


La dynamique de rotation du quadrirotor en fonction du quaternion prend donc la
forme suivante :
q̇ = 12 Ω(~ω )q = 12 Ξ(q)~ω

(3.33)
~˙ = −~ω × J~ω + Γtot

avec  
0 −~ω T
Ω(~ω ) = (3.34)
ω~ −~ω ×
et  
−~qT
Ξ(q) = (3.35)
I3×3 q0 + ~q×
La matrice de rotation R est liée avec le quaternion en utilisant la formule de Ro-
drigues comme donné par Tayebi et McGilvray [91] :

R = I3×3 + 2q0 ~q× + 2(~q× )2 (3.36)


= I3×3 + sin β~k × + (1 − cos β)(~k × )2 (3.37)

Nous pouvons trouver la partie vectorielle du quaternion ~q en appliquant l’équation


donnée par Lizarralde et Wen [56] :
1
~q× = √ (R − RT ) (3.38)
2 1 + trR
où trR est la trace de la matrice R. La valeur scalaire du quaternion q0 est déduite
d’après l’équation de la contrainte q02 + ~qT ~q = 1. Bien que la représentation par le
quaternion soit non singulière, elle contient une ambiguïté de signe. Les deux couples
(q0 , ~q) et (−q0 , −~q) donnent la même orientation.

3.3.2 La dynamique de translation


La dynamique de translation du quadrirotor est représentée par l’équation dyna-
mique de Newton qui relie l’acceleration linéaire du centre du masse du quadrirotor
avec les forces externes agissant sur le quadrirotor ([72] et [76])

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

3.4 Modèles dynamiques proposés


Dans cette section, nous présentons différents modèles dynamiques du quadriro-
tor développés dans la littérature qui peuvent être classés en deux catégories : la
modélisation selon Euler-Lagrange et la modélisation selon Newton-Euler.

3.4.1 Modélisation selon Euler-Lagrange


Le développement de la dynamique de rotation du quadrirotor est basé sur le
calcul de variation de Euler-Lagrange des coordonnées généralisées

q = (x, y, z, ψ, θ, φ) (3.41)

où x, y et z représentent la position du centre de masse du quadrirotor. Les angles


d’Euler ψ, θ et φ représentent l’orientation du quadrirotor dans le repère mobile.
Dans cet étude, le Lagrangien dénoté par L est la difference entre l’énergie cinétique
T (provoquée par les vitesse angulaire et la vitesse linéaire de translation) et l’énergie
potentielle V :
L=T −V

Modèle de Castillo et al. [17]


Nous présentons dans cette partie le travail de Castillo et al. [17] qui utilise
l’approche d’Euler-Lagrange pour modéliser le quadrirotor. Dans ce travail, l’objectif
est de trouver Lagrangien (L). L’énergie cinétique est composée de deux termes. Le
premier terme est l’énergie cinétique de translation donnée par :
m ˙T ˙
Ttrans = ξ ξ (3.42)
2
avec ξ := (x, y, z) et m est la masse de l’appareil. L’énergie cinétique de rotation est
le deuxième terme et s’écrit par :
1
Trot = η̇ T J η̇ (3.43)
2
où J est la matrice d’inertie du quadrirotor (équation (3.1)) et η := (ψ, θ, φ). L’éner-
gie potentielle dans ce travail dépend seulement de l’altitude z :

V = mgz (3.44)

On a donc l’expression de Lagrangien :


m ˙T ˙ 1 T
L = Ttrans + Trot − V = ξ ξ + η̇ J η̇ − mgz (3.45)
2 2
Chapitre 3. Le quadrirotor 89

En utilisant les équations de Euler-Lagrange avec la force généralisée externe, on


peut trouver la dynamique du quadrirotor

d ∂L ∂L
− =F (3.46)
dt ∂ q̇ ∂q

où F représente la force généralisée externe composée de la portance Fξ (exprimée


dans le repère fixe E) et Γa le couple actif (équation (3.25)). Dans ce travail, les
auteurs négligent les petites forces parce qu’elles sont généralement d’une grandeur
beaucoup plus petite que les entrées de commande. La portance est donc obtenue
par le multiplication entre la matrice de transformation R et F̂ :

Fξ = RF̂ (3.47)

avec
F̂ = (0, 0, u)T (3.48)

où u est la somme des portances des quatre rotors

u = F1 + F2 + F3 + F4

Puisque le Lagrangien ne contient aucun terme dans l’énergie cinétique combinant ξ˙


et η̇, l’équation de Euler-Lagrange peut être divisée en deux parties : la dynamique
des coordonnées ξ et la dynamique de η. On obtient :
 
0
mξ¨ +  0  = Fξ (3.49)
mg

1 ∂ T
J η̈ + J˙η̇ − (η̇ J η̇) = Γa (3.50)
2 ∂η
On obtient finalement :
   
− sin θ 0
mξ¨ = u  cos θ sin φ  +  0  (3.51)
cos θ cos φ −mg

J η̈ = −C(η, η̇)η̇ + Γa (3.52)

La matrice de Coriolis C(η, η̇) = (J˙ − 1 ∂


2 ∂η
(η̇ T J)) contient les termes gyroscopiques
et centrifuges liés à η.
90 3.4. Modèles dynamiques proposés

Modèle de Bouabdallah et al. [14]


Dans cette approche, l’équation de Euler-Lagrange est employée pour obtenir
la dynamique de rotation du quadrirotor. L’énergie cinétique du quadrirotor est
exprimée par :
1
Ix (φ̇ − ψ̇sθ )2 + Iy (θ̇cφ + ψ̇sφ cθ )2 + Iz (θ̇sφ − ψ̇cφ cθ )2

T = (3.53)
2
L’énergie potentielle est exprimée dans le repère fixe E par :
Z Z Z
V = xdm(x)(−gsθ ) + ydm(y)(gsφ cθ ) + zdm(z)(gcφ cθ ) (3.54)

L’équation de Euler-Lagrange prend la forme suivante avec fi les forces externes et


qi les coordonnées généralisées :
d ∂L ∂L
fi = ( )− (3.55)
dt ∂ q̇i ∂qi
Pour le roulis, le calcul de la partie gauche de l’équation de Euler-Lagrange nous
donne :
d ∂L ∂L
( )− = Ix ω̇1 − (Iy − Iz )ω2 ω3
dt ∂ φ̇ ∂φ
Z Z
+ ydm(y).(−gcφ cθ ) + zdm(z)(gsφ cθ )

Pour le tangage, nous obtenons :


d ∂L ∂L
( )− = −sφ (ω̇3 Iz − wx wy (Ix − Iy )) + cφ(ω̇2 Iy − ω1 ω3 (Iz − Ix ))
dt ∂ θ̇ ∂θ Z Z Z
+ xdm(x)(−gcθ ) − ydm(y)(gsφ sθ ) − zdm(z)(gcφ sθ )

et enfin pour le lacet :


d ∂L ∂L
( )− = −sθ(ω̇1 Ix − ω2 ω3 (Iy − Iz )) + sφ cθ (ω̇2 Iy − ω1 ω3 (Iz − Ix ))
dt ∂ ψ̇ ∂ψ
+cφ cθ (ω̇3 Iz − ω1 ω2 (Ix − Iy ))

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 :

Γyg = Jr ω1 (−s1 − s3 + s2 + s4 ) (3.56)


Chapitre 3. Le quadrirotor 91

De la même manière, nous obtenons le couple gyroscopique sur l’axe ~t1 :

Γxg = Jr ω2 (s2 + s4 − s1 − s3 ) (3.57)

En isolant l’acceleration et en appliquant l’approximation des petits angles, où les


vitesses des angles d’Euler sont identiques aux vitesses angulaires dans le repère
mobile, on obtient :

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.

3.4.2 Modélisation selon Newton-Euler


Dans cette approche, l’équation (3.39) est employée pour décrire la dynamique
de translation tandis que l’équation (3.29) est employée pour décrire la dynamique
de rotation. Pour récapituler, nous avons les quatre équations suivantes :

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

Modèle de Bouabdallah et al. [13]


Le modèle complet est obtenu en développant les équations (3.62-3.65) :
u
ẍ = (cos φ sin θ cos ψ + sin φ sin ψ) (3.66)
m
u
ÿ = (cos φ sin θ sin ψ − sin φ cos ψ) (3.67)
m
u
z̈ = −g + (cos φ cos θ) (3.68)
m
Iy − Iz Jr Γr
φ̈ = θ̇ψ̇( ) − θ̇Ω + (3.69)
Ix Ix Ix
Iz − Ix Jr Γp
θ̈ = φ̇ψ̇( ) − φ̇Ω + (3.70)
Iy Iy Iy
Ix − Iy Γy
ψ̈ = φ̇θ̇( )+ (3.71)
Iz Iz
avec
u = kl (s21 + s22 + s23 + s24 ) = F1 + F2 + F3 + F4
Ω = s2 + s4 − s1 − s3

Modèle de Altug et al. [7]


Altug et al. [7] ont développé un modèle semblable au modèle Bouabdallah et al.
[13] en utilisant l’équilibre entre les forces et les moments. Ce modèle peut être
employé dans le cas de vitesses basses où la trainée peut être négligée :
u k1
ẍ = (cos φ sin θ cos ψ + sin φ sin ψ) − ẋ (3.72)
m m
u k2
ÿ = (cos φ sin θ sin ψ − sin φ cos ψ) − ẏ (3.73)
m m
u k3
z̈ = −g + (cos φ cos θ) − ż (3.74)
m m
k4
θ̈ = lv1 − l θ̇ (3.75)
Iy
k5
φ̈ = lv2 − l φ̇ (3.76)
Ix
k6
ψ̈ = v3 − ψ̇ (3.77)
Iz
avec
v1 = (−F1 − F2 + F3 + F4 )/Iy
v2 = (−F1 + F2 + F3 − F4 )/Ix
v3 = C(F1 − F2 + F3 − F4 )/Iz
Chapitre 3. Le quadrirotor 93

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.

3.4.3 Discrétisation du modèle du quadrirotor


Nous finissons cette section en présentant notre travail sur la discrétisation du
modèle du quadrirotor. Ce travail n’est pas employé dans cette thèse mais il peut
être employé dans le développement des lois de commande pour la stabilisation du
quadrirotor (par exemple prédictive) avec un coût de calcul très réduit. Ce travail
est le prolongement naturel du travail sur le PVTOL présenté par Poulin et al.
[75]. Considérons le modèle du quadrirotor proposé par Altug et al. [7](équations
(3.72-3.77)) en négligeant les coefficients de la trainée et en prenant par soucis de
normalisation la masse du quadrirotor égale à l’unité :

ẍ = u(cos φ sin θ cos ψ + sin φ sin ψ)


ÿ = u(cos φ sin θ sin ψ − sin φ cos ψ)
z̈ = −g + u(cos φ cos θ)
θ̈ = vθ
φ̈ = vφ
ψ̈ = vψ

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 :

2 sin α cos β = sin(α − β) + sin(α + β)


2 cos α cos β = cos(α − β) + cos(α + β)
2 cos α sin β = sin(α + β) − sin(α − β)
2 sin α sin β = cos(α − β) − cos(α + β)
94 3.4. Modèles dynamiques proposés

Nous obtenons donc :


u
ẍ = [sin(ϑ1 ) − sin(ϑ2 ) + sin(ϑ3 ) − sin(ϑ4 ) + 2 cos(ϕ1 ) − 2 cos(ϕ2 )] (3.78)
4
u
ÿ = [cos(ϑ1 ) − cos(ϑ2 ) − cos(ϑ3 ) + cos(ϑ4 ) − 2 sin(ϕ1 ) − 2 sin(ϕ2 )] (3.79)
4
u
z̈ = −g + [cos(ϕ3 ) + cos(ϕ4 )] (3.80)
2
φ̈ = vφ (3.81)
θ̈ = vθ (3.82)
ψ̈ = vψ (3.83)
avec
ϑ1 := φ−ψ+θ
ϑ2 := φ−ψ−θ
ϑ3 := φ+ψ+θ
ϑ4 := φ+ψ−θ
ϕ1 := φ−ψ
ϕ2 := φ+ψ
ϕ3 := φ−θ
ϕ4 := φ+θ
La discrétisation du quadrirotor est faite en appliquant les entrées de commande
constantes par morceaux pour un horizon fini tf , tel que tf = N T où T est une
période d’échantillonnage et N est le nombre de périodes :
U = (u0 , u1 . . . uN −1 )T (3.84)
Vφ = (vφ0 , vφ1 . . . vφN −1 )T (3.85)
Vθ = (vθ0 , vθ1 . . . vθN −1 )T (3.86)
Vψ = (vψ0 , vψ1 . . . vψN −1 )T (3.87)
Dans ce cas-ci, la dynamique de trois angles (φ, θ, ψ) pendant l’intervalle [t + kT, τ ]
avec t + kT < τ ≤ t + (k + 1)T peut être exprimée par des équations quadratiques
en τ ∈ [t + kT, t + (k + 1)T ] (plus des détails sont dans Annexe C.1) :
φ = αkφ + βkφ [τ − (t + kT )] + γkφ [τ − (t + kT )]2 (3.88)
θ = αkθ + βkθ [τ − (t + kT )] + γkθ [τ − (t + kT )]2 (3.89)
ψ = αkψ + βkψ [τ − (t + kT )] + γkψ [τ − (t + kT )]2 (3.90)

 φ  θ  ψ
 αk := φ(t + kT )  αk := θ(t + kT )  αk := ψ(t + kT )
βkφ := φ̇(t + kT ) , βkθ := θ̇(t + kT ) , βkψ := ψ̇(t + kT )
γkθ := 12 vθ (t + kT )
 φ
γk := 12 vφ (t + kT ) γkψ := 12 vψ (t + kT )
 
Chapitre 3. Le quadrirotor 95

sont constants sur chaque période d’échantillonnage.

Si on prend ϑ1 := φ − ψ + θ comme un exemple, on peut facilement trouver


sa trajectoire comme suit :

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

Les matrices H1 , H2 , H3 , H4 et DN sont détaillées en annexe C.2. Nous présentons un


exemple de discrétisation du système du quadrirotor avec l’état initial [1 0 1 0 1 0 −
2 0 π 0 π3 0]T vers l’origine avec les commandes correspondantes en boucle ouverte
pour une période d’échantillonnage T = 0.1 s. Sur les figures (3.10-3.9), l’évolution
dans le temps des états de système est tracée, ainsi que l’entrée de commande.
96 3.4. Modèles dynamiques proposés

1.5
φ 2

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

(a) Les trajectoires en boucle ouverte du (b) La séquence de commande Vφ


sous-système de l’angle de roulis φ

Fig. 3.7 – Discrétisation du sous-système de l’angle de roulis φ du quadrirotor en


partant de l’état initial [−2 0]T vers l’origine comme un état final

4 3
θ

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

(a) Les trajectoires en boucle ouverte du (b) La séquence de commande Vθ


sous-système de l’angle de tangage θ

Fig. 3.8 – Discrétisation du sous-système de l’angle de tangage θ du quadrirotor en


partant de l’état initial [π 0]T vers l’origine comme un état final
Chapitre 3. Le quadrirotor 97

1.2
1
ψ

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

(a) Les trajectoires en boucle ouverte du (b) La séquence de commande Vψ


sous-système de l’angle de lacet ψ

Fig. 3.9 – Discrétisation du sous-système de l’angle de lacet ψ du quadrirotor en


partant de l’état initial [ π3 0]T vers l’origine comme un état final

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

(a) Les trajectoires en boucle ouverte du (b) La séquence de commande U


sous-système de translation du quadrirotor

Fig. 3.10 – Discrétisation du sous-système de translation du quadrirotor en partant


de l’état initial [1 0 1 0 1 0]T vers l’origine comme un état final
98 3.5. Commande d’attitude du quadrirotor

3.5 Commande d’attitude du quadrirotor


La commande d’attitude est une étape essentielle pour développer une commande
complète pour le quadrirotor. Cette commande est considérée comme une application
directe d’un problème plus général de la commande d’attitude d’un corps rigide
représenté soit par les angles d’Euler :
Ṙ = R~ω ×

(3.93)
~˙ = −~ω × J~ω + Γtot

soit par le quaternion :
q̇ = 12 Ω(~ω )q = 12 Ξ(q)~ω

(3.94)
~˙ = −~ω × J~ω + Γ

Ce problème de la commande d’attitude d’un corps rigide a attiré un intérêt consi-


dérable depuis les années 50 dans les communautés scientifiques de l’aéronautique,
de l’automatique et la robotique. Plusieurs systèmes comme vaisseaux spatiaux, sa-
tellites, hélicoptères, missiles tactiques, les manipulateurs de robot, sous-marins et
d’autres entrent dans cadre de corps rigide avec le besoin de commande d’attitude.
Plusieurs approches pour le corps rigide ont été appliquées : la commande optimale
en temps minimum [82], la commande basée sur la représentation du quaternion
([23], [39] et [97]), la commande prédictive (appliquée au vaisseau spatial dans [98]
et au micro satellite dans [36]), backstepping ([45] et [85]) et la commande robuste
appliquée aux missiles tactiques [87].
Dans le cas de quadrirotor, quelques approches ont été également développées. Elles
sont classifiées en deux ensembles : bornée et non-bornée.

3.5.1 Commande non-bornée d’attitude du quadrirotor


Dans la représentation des angles d’Euler, on trouve le travail d’Autonomous
Systems Laboratory de EPFL ([14] et [15]). Dans [14], un correcteur de type PID
et une commande adaptative optimale (en utilisant d’abord la méthode de Pearson
et puis la méthode de Sage Einsenberg) sont appliquées pour le placement des pôles
de système à gauche de l’axe imaginaire. Dans [15], la commande par mode glissant
est proposée.
La seule commande d’attitude basée sur la representation du quaternion est proposée
par Tayebi et McGilvray [91]. Les auteurs ont proposé deux commandes non-bornées.
La première commande est de la forme P D2 où l’action proportionnelle est en termes
du vecteur de quaternion et les deux actions dérivées sont en termes de la vitesse
angulaire et de la vitesse de quaternion. Cette commande contient un terme de
compensation ω ~ × J~ω qui linéarise la dynamique de ω
~ :
~ × J~ω + Γg + J ω̄˙ − Γ2 ω̃ − α~q
Γ=ω
Chapitre 3. Le quadrirotor 99

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].

3.5.2 Commande bornée d’attitude du quadrirotor


Peu de publications ont traité le problème de la commande bornée de l’attitude
d’un corps rigide. Dans [96], la stabilisation d’attitude d’un vaisseau spatial rigid
sous-actionné avec une commande discontinue bornée a été étudiée. Dans [10], une
loi de commande qui conduit un véhicule sous-marin rigide entre deux régions arbi-
traires de l’espace d’état tout en respectant des limites sur la commande et l’état a
été proposée. Les auteurs de [12] ont étudié la commande robuste par mode glissant
de l’attitude d’un engin spatial en présence d’entrée de la saturation en se basant
sur la commande VSC (en anglais "variable structure control"). Malheureusement,
les lois de commande proposées au-dessus sont discontinues ce qui rend difficile leur
implementation pratique. Notre objectif dans cette section est de concevoir une loi
de commande bornée qui évite ce type de probleme. Cette commande conduit l’at-
titude d’un corps rigide vers une orientation constante donnée et se maintient dans
cette orientation, c’est à dire que le vecteur de vitesse angulaire doit être égal à
zéro :
q → qd , ω ~ → 0 quand t → ∞ (3.95)
où qd dénote l’orientation désirée constante du corps rigide. La différence entre l’at-
titude actuelle et le quaternion de référence (l’orientation désirée) peut être mesurée
par le quaternion d’erreur qe qui représente l’erreur d’attitude entre l’orientation
courante et désirée :
qe = q ⊗ qd−1 (3.96)
où l’opérateur ⊗ dénote la multiplication de quaternion et q −1 est la rotation com-
plémentaire du quaternion q, qui est le conjugué de quaternion [84].
Si le repère terrestre fixe E est choisi et le quaternion désiré est qd = [1 0 0 0]T , le
100 3.5. Commande d’attitude du quadrirotor

quaternion d’erreur d’après l’équation (3.96) coïncide avec le quaternion d’attitude


courante et nous avons qe = q. L’objectif de la commande est récapitulé dans la
relation suivante :

q → [±1 0 0 0]T ~ → 0 quand t → ∞


ω (3.97)

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.

Cette commande est développée en collaboration avec J.F. Guerrero Castella-


nos qui travail sur l’estimation et la commande d’attitude du quadrirotor et a été
présentée dans [30]. Également, une expérimentation a été conduite avec succès
[29]. La commande est dans l’esprit de la commande proposée par Teel [93] pour la
commande bornée d’une chaîne d’intégrateurs. Dans la suite, nous présenterons la
version générale de la commande d’attitude d’un corps rigide et ensuite l’application
de cette commande pour le cas du quadrirotor.

Théorème 11 Considérons la dynamique d’un corps rigide décrit par équation


(3.94) avec la commande bornée suivante Γ = [Γ1 , Γ2 , Γ3 ]T telle que

Γj = −αsatM2 (λ[ωj + satM1 (qj )]), j ∈ {1, 2, 3} (3.98)

où satM1 et satM2 sont des fonctions de saturation avec M1 ≥ 1, M2 ≥ λ(2M1 + ) et


 > 1. α et λ sont des paramètres de réglage positifs. La commande (3.98) stabilise
globalement asymptotiquement la dynamique du corps rigide à l’origine (q0 = 1, ~q = 0
et ω
~ = 0).

Cette commande peut être étendue au quadrirotor dans la représentation de qua-


ternion. Par rapport au corps rigide, le quadrirotor possède le terme gyroscopique
de la forme suivante : X
Γg = − ~ ×~t3 si
Ir ω
i

Théorème 12 Considérons la dynamique de rotation du quadrirotor décrit par :

q̇ = 12 Ω(~ω )q = 12 Ξ(q)~ω

(3.99)
~˙ = −~ω × J~ω + Γtot

Chapitre 3. Le quadrirotor 101

avec les commande bornées


Γr = −αsatMφ (λ1 [ω1 + satM (q1 )])
Γp = −αsatMθ (λ2 [ω2 + satM (q2 )]) (3.100)
Γy = −αsatMψ (λ3 [ω3 + satM (q3 )])

où satM et satMφ,θ,ψ sont des fonctions de saturation avec

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)

Les preuves des Théorèmes 11 et 12 sont développées dans annexe C.3

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

Le mouvement de rotation du quadrirotor est le résultat des couples fonction de la


vitesse de rotation du rotors (3.101). Par conséquent, le maximum du couple dépend
de la vitesse de rotation la plus élevée des moteurs qui sont utilisés. Nous avons pris
les données de Tayebi et McGilvray [92] qui ont utilisé des moteurs à courant continu
dont la tension maximum est de 9 V. Quand cette tension est appliquée au moteur,
la vitesse maximale de rotation est si,max = 260 rad/sec. En conséquence, le couple
maximum appliqué pour influencer le mouvement de rotation du quadrirotor est
donné par :
Γ̄1 = 0.40 N m Γ̄2 = 0.40 N m Γ̄3 = 0.15 N m
Noter que ces couples ne sont pas identiques.
102 3.5. Commande d’attitude du quadrirotor

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 :

Ir s˙d = τi − Di , i = {1, 2, 3, 4} (3.102)

où la traînée Di est donnée par équation (3.20) et Ir est le moment d’inertie de


chaque rotor. La vitesse désirée pour les quatre rotors est obtenue à partir de équa-
tion (3.101).
Il s’en suit que la poussée u doit respecter la contrainte u = mg. Quand la stabi-
lisation d’attitude est réalisée, la poussée peut être changée (u ≤ mg or u ≥ mg)
afin de stabiliser l’altitude. Cependant, ce problème n’est pas discuté pour l’instant.
Supposons que les paramètres de moteur sont bien connus, la stabilité de l’erreur de
vitesse s̃i = si − sdi peut être atteinte par l’application la commande suivante [92] :

τi = Di + Ir sdi − γi s̃ (3.103)

où γi est un paramètre positif.

Afin de montrer la performance de la commande proposée, plusieurs études


de simulations sont effectuées. Dans le cadre de la thèse de J.F. Guerrero Castel-
lanos [29], une étude a été effectuée sur la robustesse de la commande d’attitude
du Théorème 12. Les résultats montrèrent que la stabilité de la commande est
indépendante de la matrice d’inertie J du quadrirotor et la commande est robuste
vis à vis de mesure saturée de ω dû à la limitation des capteurs de mesure. Dans
l’étude présentée ici , la poussée désirée est donnée par T = mg = 4.59N . Le couple
maximum d’armature de quatre-rotor appliqué est Γ̄ = [0.40 0.40 0.15]T N m.
Premièrement nous considérons la stabilisation d’attitude sans ajouter des per-
turbations externes. Les conditions initiales sont choisies suffisamment loin de
l’origine pour montrer l’efficacité de la commande. Nous avons φ = −45◦ , θ = 50◦ et
ψ = −175◦ . La convergence des angles d’Euler (roulis, tangage et lacet) est tracée
sur figure 3.11. La vitesse angulaire du quadrirotor et les couples de commande
appliqués sont montrés respectivement sur figure 3.12 et figure 3.13. Comme prévu,
l’attitude désirée est atteinte dans un temps approprié pour l’implementation
pratique tandis que la commande reste dans les bornes pré-exigées.
Dans le deuxième cas d’étude, les conditions initiales considérées sont : φ = −25◦ ,
θ = 30◦ et ψ = −10◦ comme dans Tayebi et McGilvray [91]. Dans cette simulation
la robustesse de la commande proposée vis à vis des perturbations externes est
étudiée. Les perturbations sont ajoutées après que la stabilisation d’attitude du
Chapitre 3. Le quadrirotor 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

Fig. 3.14 – La robustesse de la commande proposée vis à vis des perturbations


externes : Évolution dans le temps des angles d’Euler (roulis, tangage et lacet) avec
un état initial φ = −25◦ , θ = 30◦ et ψ = −10◦

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

Fig. 3.15 – La robustesse de la commande vis à vis des perturbations externes :


Évolution dans le temps des vitesses angulaires du quadrirotor
106 3.6. Stabilisation de la position du quadrirotor

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

3.6 Stabilisation de la position du quadrirotor


Le problème de stabilisation de la position du quadrirotor est la deuxième étape
qui suit la commande d’attitude. On considère donc la dynamique de rotation (équa-
tions (3.29) pour la représentation par les angles d’Euler où équations (3.33) pour
la représentation par le quaternion) avec la dynamique de translation (équations
(3.39)) afin de développer la commande. Différents types de commande ont été pro-
posés : linéaires, non-linéaires, bornées et non-bornées. Dans la section suivante,
nous présenterons une courte description de l’état de l’art concernant ce problème.

3.6.1 Stabilisation de la position avec des commandes non-


bornées
En considérant le modèle dynamique de Castillo et al. [17] après une transfor-
mation de coordonnées sur le sous-système de rotation du quadrirotor :
   
− sin θ 0
mξ¨ = u  cos θ sin φ  +  0  (3.104)
cos θ cos φ −mg
Chapitre 3. Le quadrirotor 107

 
τ¯ψ
η̈ = 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 φ

avec la commande du lacet :

τ̃ψ = −aψ1 ψ̇ − aψ2 (ψ − ψd )

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].

La technique de backstepping est également appliquée pour la stabilisation


de la position du quadrirotor. Bouabdallah et Siegwart [15] ont proposé les couples
suivants pour stabiliser la dynamique de la rotation du quadrirotor en se basant sur
les trois dernières équations (3.69-3.71) du modèle de Bouabdallah et al. [13] :

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

avec les paramètres positifs α7,...,12 .


La technique de backstepping est également appliquée dans [28] pour la stabilisation
de la position du quadrirotor représenté cette fois par l’approche de Newton-Euler
(équations (3.62-3.65)) :
p~˙ = ~v
X
m~v˙ = −mg~e3 + R( Fi (si )~t3 )
i
×
Ṙ = R~ω
~˙ = −~ω × J~ω + Γtot

Chapitre 3. Le quadrirotor 109

L’objectif de la loi de commande est de faire converger la vitesse du centre de gravité


ainsi que l’angle du lacet du quadrirotor vers la vitesse v~d et le lacet désirés fournis
par l’utilisateur. La poussée est donnée par l’équation suivante :

u = || − m(v~˙d − g e~3 ) + k1 sat(ε)||

avec ε = ~v − v~d . Le couple actif s’écrit :

Γ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 .

Dans Madani et Benallegue [60] et [59], le système du quadrirotor est divisé


en deux sous-systèmes : un sous-systeme sous-actionné qui représente la relation
entre l’angle de tangage et de roulis avec la position horizontale x et y et un
sous-système qui représente le comportement dynamique de la position verticale
et l’angle de lacet. Ces deux sous-systèmes sont considérés avec la dynamique des
quatre rotors pour synthétiser une commande basée sur la méthode du backstepping
afin de faire converger la position et l’angle du lacet du quadrirotor vers une position
et un lacet désirés. La même décomposition est utilisée par Xu et Ozguner [100]
afin d’appliquer une commande par mode glissant pour stabiliser le quadrirotor
vers une position et un angle de lacet désirés tout en gardant les angles de tangage
et de roulis égaux à zéro.

3.6.2 Stabilisation de la position avec des commandes bor-


nées
Kendoul et al. [42] sont les premiers, à notre connaissance, à avoir proposé une
commande bornée pour la stabilisation de la position. Cette approche est la suite
du travail initié par [17] et appliqué sur le modèle de Castillo et al. [17] après
une transformation de coordonnées. La commande de l’angle de lacet est basée sur
l’approche de [93] pour la commande bornée d’une chaîne d’intégrateurs :

τ̃ψ = −σψ1 (kψ1 ψ̇ + σψ2 (kψ2 ψ̇ + kψ1 kψ2 (ψ − ψd )))

la poussée proposée s’écrit par :


mr + mg
u=
cos σp (θ) cos σp (φ)
110 3.6. Stabilisation de la position du quadrirotor

avec

r = −σr1 (kr1 ż + σr2 (kr2 ż + kr1 kr2 (z − zd )))

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 ξ)))


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.

Nous avons également développé une commande bornée pour la stabilisation


de la position du quadrirotor [32]. Nous avons considéré le modèle proposé par
Altug et al. [7] mais les résultats obtenus peuvent être appliqués aux autres modèles
du quadrirotor comme le modèle de Bouabdallah et al. [13]. L’avantage d’utiliser
le modèle d’Altug et al. [7] est qu’il prend en compte les effets de traînée et le
couplage des trois angles ψ, φ et θ avec la dynamique de translation du quadrirotor
ce qui n’est pas le cas dans l’approche de Kendoul et al. [42] basée sur le modèle de
Castillo et al. [17] qui néglige l’effet de ψ dans la dynamique de translation du qua-
drirotor. Une différence additionnelle entre notre travail et les résultats de Kendoul
et al. [42] est que la commande (3.106) est obtenue après une transformation de
coordonnées qui compense les termes gyroscopiques et centrifuges. Notre commande
est synthétisée sans aucune transformation de coordonnées et peut être considérée
comme la généralisation des résultats présentés dans les chapitres précédents pour
la stabilisation globale d’un PVTOL, la projection du quadrirotor dans le plan.
Considérons le modèle proposé par Altug et al. [7] (équations (3.72-3.77)) 1)
simplifié en négligeant la trainée et 2) normalisé en prenant la gravité g dans le
Chapitre 3. Le quadrirotor 111

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ψ

Rappelons que x, y et z représentent maintenant les coordonnées cartésiennes nor-


malisées du centre de masse du quadrirotor et φ, θ et ψ représentent les angles
d’Euler normalisés. Ce système (équation 3.110) sera employé pour la construire les
commandes bornées contraintes suivantes :
0 ≤ u ≤ ū
−v̄θ ≤ vθ ≤ v̄θ
(3.111)
−v̄φ ≤ vφ ≤ v̄φ
−v̄ψ ≤ vψ ≤ v̄ψ

3.6.3 Stratégie de commande


D’après les équations du système (3.110), on peut noter que l’évolution de la dy-
namique de rotation du quadrirotor est indépendante de la dynamique de translation
tandis que la dynamique de translation dépend des angles. Pour cela, nous suivrons
la même approche appliquée dans le cas du PVTOL pour synthétiser les entrées de
commande. La dynamique de rotation sera d’abord stabilisée vers une configuration
désirée (déterminée dans le suite) et, dans un deuxième temps, les angles θ, φ, et
ψ seront pris en tant qu’entrées virtuelles pour la dynamique de translation avec la
poussée u positive bornée. Par conséquent, le système (3.110) se décompose en deux
sous-systèmes. Le premier sous-système Σt , composé des trois premières équations,
représente la dynamique de translation de x, y et z. Le deuxième Σr , composé de
trois dernières équations, représente le mouvement de rotation.
La stratégie de commande est basée sur l’idée qu’on peut stabiliser la dynamique de
lacet (ψ et ψ̇) pour obtenir après un temps suffisamment long le système suivant :


 ẍ = u cos φ sin θ
 ÿ = −u sin φ


z̈ = −1 + u cos φ cos θ (3.112)
θ̈ = v

θ



φ̈ = vφ

On peut obtenir le même modèle que (3.112) en prenant le modèle de Bouabdallah


et al. [13] sans les frottements fluides lorsque φ = φ̇ = 0. Sachant que le partie droite
112 3.6. Stabilisation de la position du quadrirotor

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.

Stabilisation de la dynamique de l’angle de lacet ψ


L’approche développée au chapitre 1 pour la stabilisation d’une chaîne d’inté-
grateurs avec des commandes bornées (Théorème 1) est appliquée pour synthétiser
le couple vψ :
v̄ψ
vψ = (−εψ sat1 (ψ̇) − ε2ψ sat1 (εψ ψ + ψ̇)) (3.113)
εψ + ε2ψ
où 0 < εψ < 1 est un paramètre de réglage et sat1 est une fonction de saturation.
Ce choix assure la stabilisation globale asymptotique de (ψ, ψ̇) (voir la preuve du
Théorème 1).

Stabilisation du quadrirotor dans le cas où ψ = 0


Soit p := (p1 , p2 , p3 , p4 , p5 , p6 ) = (x, ẋ, y, ẏ, z, ż) et η := (η1 , η2 , η3 , η4 ) =
(θ, θ̇, φ, φ̇). Le sous-système de translation Σt et celui de rotation Σr de (3.112)
s’écrivent alors :

 ṗ1 = p2
 
ṗ2 = u cos η3 sin η1 η̇1 = η2



 

ṗ3 = p4 η̇2 = vθ
 
Σt : Σr : (3.114)

 ṗ 4 = −u sin η3 
 η̇3 = η4
ṗ5 = p6 η̇4 = vφ

 


ṗ6 = −1 + u cos η3 cos η1

L’idée est de choisir des commandes bornées vθ et vφ pour faire converger η1 et


η3 vers des angles désirés η1d et η3d . Avec un choix approprié de ces angles, il sera
possible pour transformer Σt en 3 chaînes d’intégrateurs indépendantes d’ordre 2.
Nous prenons :
 
rx
η1d = arctan (3.115)
1 + rz
!
−ry
η3d = arctan p (3.116)
rx2 + (1 + rz )2
La poussée positive u est choisie telle que :
q
u = (1 + rz )2 + rx2 + ry2 (3.117)
Chapitre 3. Le quadrirotor 113

Les commandes rx , ry et rz seront définis plus tard. Donc, le sous-système Σt devient :



 p̈1 = rx
p̈3 = ry (3.118)
p̈5 = rz

Pour assurer la stabilité asymptotique globale de (3.118), on choisi la commande


proposée au Théorème 1 :
r̄x
rx = (−εx sat1 (p2 ) − ε2x sat1 (εx p1 + p2 )) (3.119)
εx + ε2x
r̄y
ry = (−εy sat1 (p4 ) − ε2y sat1 (εy p3 + p4 )) (3.120)
εy + ε2y
r̄z
rz = (−εz sat1 (p6 ) − ε2z sat1 (εz p5 + p6 )) (3.121)
εz + ε2z

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 :

Théorème 13 Considérons le quadrirotor (3.110) avec la poussée u donnée par


équation (3.117) et les couples vψ , vθ et vφ définis respectivement par les équations
(3.113), (3.123) et (3.124). Ces commandes stabilisent globalement asymptotique-
ment le quadrirotor (3.110) vers l’origine en respectant les bornes sur la commande
ū > 1 et v̄ψ , v̄φ , v̄θ > 0.

La preuve de ce théorème est détaillée dans l’Annexe C.4.


114 3.6. Stabilisation de la position du quadrirotor

É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

La position initiale du sous-système de translation est [x(0), y(0), z(0)] = [7, 8, 5]


avec une vitesse initiale nulle. Pour le sous-système de rotation la condition initiale
proposée est [θ(0), φ(0), ψ(0), θ̇(0), φ̇(0), ψ̇(0)] = [ π2 , π2 , π4 , 1, 2, 0]. Rappelons qu’il n’y
a pas de singularité dans l’approche proposée et elle peut être appliquée pour diffé-
rentes conditions initiales. Les paramètres nominaux des équations précédentes sont
les même que les paramètres employés par Xu et Ozguner [100] :

Ix = Iy = 1.25N s2 /rad Iz = 2.5N s2 /rad


k1 = k2 = k3 = 0.01N s/m m = 2kg
(3.125)
k4 = k5 = k6 = 0.012N s/rad l = 0.2
g = 9.81m/s2 m s̄ = 604rad/s2

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

(a) Position (x, y, z) (b) Vitesse linéaire (ẋ, ẏ, ż)

Fig. 3.17 – Évolution dans le temps des états de sous-système de translation de


modèle d’Altug et al. [7] en appliquant la commande bornée du Théorème 13 avec
la position initiale [x(0), y(0), z(0)] = [7, 8, 5]

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

3 vφ
v
ψ

-1

-2

-3

-4
0 5 10 15 20 25 30
Temps

Fig. 3.19 – Les commandes bornées du Théorème 13 appliquées sur le quadrirotor

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

Dans ce chapitre, les preuves des théorèmes présentés au Chapitre 2 pour la


stabilisation d’une chaîne d’intégrateur sont développées.

A.1 Preuve de Théorème 1


Théorème 1 La commande bornée
Xn
u=− εn−i+1 sat1 (yi ) (A.1)
i=1
stabilise globalement asymptotiquement la chaîne d’intégrateurs d’ordre n avec ε ≤ ε̄
pour
– ε̄ solution unique dans ]0, 1[ de εn+1 − 2ε2 + ε = 0 si n > 2
– ε̄ = 1 si n = 2
– ε̄ > 0 si n = 1

Commençons la preuve de Théorème 1 avec un lemme préliminaire qui évite d’em-


ployer un argument de type globalement lipschitz utilisé par Teel [93] ou Lin [50]
pour justifier que la trajectoire du système de boucle fermée ne peut pas diverger en
temps fini. Ce résultat doit sûrement exister quelque part dans la littérature mais
malheureusement nous ne l’avons pas trouvé.

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

Ce système (A.2) sera utilisé dans la preuve de Théorème 1.


Preuve de Théorème 1
Considérons le système (A.2) et |yn | ≥ 1. Nous allons montrer que yn rejoint néces-
sairement l’intervalle [−1, 1] en temps fini. Soit la fonction de Lyapunov Vn := 12 yn2 .
La dérivée de Vn est donnée par :

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

(0) = −2 < 0, p(1) = 0 et dp

(1) = −2 + n > 0.

Par conséquent, pour tout n > 2, p(ε) a nécessairement une et seulement


une racine ε̄(n) dans l’intervalle ouvert ]0, 1[ et p(ε) > 0 pour tout ε < ε̄(n) et
p(ε) < 0 si ε > ε̄(n). On peut noter que ceci est également vérifié pour n = 2. Par
conséquent, yn rejoint nécessairement [−1, 1] en temps fini. Pendant ce temps, les
Annexe A. 121

autres états ne peuvent pas diverger ( Lemme 14).


2
Une fois yn dans l’intervalle [−1, 1], l’évolution de Vn−1 := yn−1 satisfait :

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. 

A.2 Preuve de Théorème 3


Théorème 3 Soient ε comme au Théorème 1 et les niveaux de saturation Mi
définis par :
(
Mn = 1
1 (A.4)
Mj = 1 + [Mj+1 − satMj+1 (yj+1 ) ] pour j = 1, . . . , n − 1
ε
La commande n
X
u=− εn−i+1 satMi (yi ) (A.5)
i=1

avec yi comme dans (1.19) stabilise asymptotiquement la chaîne d’intégrateurs (1.1)

Supposons que |yn | > 1 pour le système (A.2). Pour la fonction de Lyapunov Vn :=
1 2
y , il suit :
2 n

V̇n = −yn εsatMn (yn ) − yn [ε2 satMn−1 (yn−1 ) + · · · + εn satM1 (y1 )]

La décroissance de la fonction de Lyapunov est assurée si


n−1
X
|satMn (yn )| > εn−i satMi (yi ) (A.6)
i=1
122 A.3. Preuve de Théorème 5

Mais, l’utilisation de Mi du Théorème 3 nous donne


n−1
X n−1
X
n−i
ε satMi (yi ) ≤ εn−i |satMi (yi )|
i=1 i=1
n−1
X
≤ εn−i |satMi (yi )| + εn−1 M1
i=2
n−1
X
≤ εn−i |satMi (yi )| + εn−1 + εn−2 [M2 − |satM2 (y2 )|]
i=2
n−1
X
≤ εn−i |satMi (yi )| + εn−1 + εn−2 M2
i=3
..
.
≤ εn−1 + εn−2 + · · · + ε2 + εMn−1

Comme |yn | > 1, Mn−1 = 1 il suit :


n−1
X n−1
X
n−i
ε satMi (yi ) ≤ εi
i=1 i=1

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. 

A.3 Preuve de Théorème 5


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
θ  yj+1   (A.7)
Mj = 1 + αj j+1 θj
M j+1 − satM j+1 σ
, pour j = 1, . . . , n − 1

où αj ∈ [0, 1] pour j = 1, . . . , n − 1 et y = PΘ x avec PΘ de Lemme 4.


Annexe A. 123

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
σ

stabilise globalement asymptotiquement le système (1.44) à l’origine.

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

En appliquant le changement de coordonnée z := σ1 y et v := σ1 u, le système (A.9)


devient :

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) :

Vn+ − Vn = (zn + v)2 − zn2 = v 2 + 2zn v (A.13)


Pn−1
Clairement, grâce à l’inégalité θn > i=1 θi et la définition (A.12) de la commande
v, zn v est nécessairement négatif. Par conséquent équation (A.13) peut être récrit :

Vn+ − Vn = v 2 − 2 |zn v| (A.14)

Avec la définition (A.12) de la commande v nous avons :


n−1
X
|v| ≥ θn |satMn (zn )| − θi |satMi (zi )|
i=1
124 A.3. Preuve de Théorème 5

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

Puisque θ2 (1 − α1 ) [M2 − |satM2 (z2 )|] ≥ 0, il suit


n−1
X
|v| ≥ θn − θ1 − θi |satMi (zi )| − θ2 M2
i=3

En continuant le même raisonnement, on obtient :


n−1
X
|v| ≥ θn − θi > 0 (A.16)
i=1

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

La différence (A.19) s’écrit :

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 δ

Lemme ∀n > 1, Γn est de rang plein.

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

∆In = In − In−1 = n2 (B.9)


3n2 n
∆Jn = Jn − Jn−1 = − (B.10)
4 4
Il est évident que ∆In > ∆Jn et puisque I1 > J1 on a que ∀n > 0, In > Jn . Par
n−1 12
conséquent, Γ11n 6= 2 Γn et Γn est de rang plein ∀n > 1. 

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

L’état désiré ηd (B.11) s’écrit donc :


 1   1 
ηd η0 + nδη02
ηd = = (B.12)
ηd2 η02
Annexe B. 129

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 dimension de la matrice Ψn est clairement 2m×n. Si nous choisissons la longueur


d’horizon n deux fois plus grande que la dimension de Σ2 (n > 2m), on peut assurer
qu’il y a au moins 2m des périodes de temps où ui 6= 0. Dans ce cas on peut garantir
l’existence au moins 2m paires contrôlables [A2i , B2i ] de la matrice Ψn . Donc on peut
conclure que Ψn est de rang plein si ηd 6= η0 et n > 2m. 

B.3 Étude de l’effet de n sur les éléments de com-


mande
On peut prouver que il y a une relation entre la longueur d’horizon n et la
grandeur des éléments de la commande. En effet, si n augmente, les éléments de U
et V tendent vers zéro.
Lemme On a : limn→∞ ||U || → 0, limn→∞ ||V || → 0.

Preuve: Premièrement pour ui , l’expression des paramètres α and β dépend du


produit de deux termes Γ−1 n
n et (ηn − (A1 ) η0 ). Où ηn est l’état final , η0 l’état initial
du système et n la longueur de l’horizon de prédiction.
 
α
= Γ−1 n
n [ηn − (A1 ) η0 ] (B.14)
β

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

Donc l’expression du produit des deux termes Γ−1 n


n et (ηn − (A1 ) η0 ) quand n → ∞
est donnée par :    1 
−1 n 1 n2
Γn [ηn − (A1 ) η0 ] ∼ 4 3 ∼ n12 (B.17)
n n n
Annexe B. 131

En conséquence, les valeurs de α et β décroissent avec l’augmentation de n. La


commande ui satisfera donc la contrainte de saturation umax en augmentant n suf-
fisamment.
Pour vi , la preuve est semblable mais plus fastidieuse. L’idée est de trouver une
relation entre la longueur d’horizon n et les matrices Φn et Ψn . Pour une période
d’échantillonnage fixe et une dimension de Σ2 donnée, la grandeur des différents
éléments de A2i et B2i ne dépendent que de la valeur de ui la commande de Σ1 .
Ainsi, la norme de Φn et Ψn (fonctions de A2i et B2i ) dépend nécessairement de la
valeur de ui . On a prouvé que si n augmente alors la valeur de ui décroît et par
conséquent on peut prouver le même résultat pour la norme de Φn et Ψn . Rappelons
que V vérifie la relation suivante :

V = Ψ+
n (zd − Φn z0 )

Donc si n augmente la norme de V décroît et commande vi satisfera donc la


contrainte de saturation v max . 

B.4 Étude de stabilité


Dans cette section, la stabilité globale en boucle fermé du système chaîné est
établie.
Théorème 9 La loi de commande par retour d’état en temps discret définie pour
σ ∈ [0, δ[ :
w(kδ + σ) = w1opt (yk ) (B.18)
où w1opt (yk ) est le premier élément de la séquence de commande en boucle ouverte
(Algorithme 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 .
L’état ycl (.) dénote les trajectoires en boucle fermée sous l’action de la commande
de Théorème 9.

Proposition 15 Pour δ positif et constant il existe une fonction scalaire V : Rn →


R+ avec les propriétés suivantes
1. (V (y) = 0) ⇔ (y = yd )
2. V est radialement non-bornée
3. ∀k ∈ N

V (ycl (k + 1)) − V (ycl (k)) ≤ −δ dés que V (ycl (k)) > δ (B.19)
132 B.4. Étude de stabilité

Preuve: Dans notre cas, la fonction V :

V (y) = min {topt opt opt


i (y) | X(ti (y); 0; x; W (., t (y0 ), w
opt
(y0 ))) = 0} (B.20)
i∈{1,...,n}

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.

1. (V (y) = 0) ⇔ (y = yd ) résulte directement du fait qui sous la commande


bornée, l’état de système ne peut pas être orienté de y0 6= yd à yd infiniment
rapidement.
2. V est radialement non-bornée résulte du fait qui sous la commande bornée, le
temps nécessaire pour orienter l’état de y0 à yd tend vers l’infini quand ky0 k
tend vers l’infini.
3. Nous employons la solution du problème d’optimisation

(q̂(y0 ), ε̂(y0 )) = Arg min qδ + t̂n̂ (yf (y0 , q, ε))


(q,ε)∈A(x0 )

comme une fonction de coût notamment

J(q, ε, y0 ) = qδ + t̂n (yf (y0 , q, ε)) (B.21)

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

y + (k) := X(q̂k δ; 0; ycl (k); uq̂k ,ε̂k (.))

Par définition, V (ycl (k)) est donné par :

V (ycl (k)) = q̂k δ + t̂i0 (y + (k)) pour i0 ≤ n (B.22)

Sachant que

X(q̃k+1 δ; 0; ycl (k + 1); wq̃k+1 ,ε̃k+1 (.)) = y + (k) (B.23)

avec les solutions sous-optimales

(q̃k+1 , ε̃k+1 ) = (q̂k − 1, ε̂k )


Annexe B. 133

Par conséquent, avec (B.22)

V (ycl (k + 1)) ≤ J(q̃k+1 , ε̃k+1 , ycl (k + 1))


≤ (q̂k − 1)δ + t̂i0 (y + (k)))
≤ V (ycl (k)) − δ

L’inégalité (B.19) est donc vérifiée.

• 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 ))

Maintenant, observons que choisir la solution sous-optimale (q̃k+1 , ε̃k+1 ) =


(0, ε̂k ) implique que :

J(q̃k+1 , ε̃k+1 , ycl (k + 1)) = t̂n (ycl (k + 1)) (B.24)

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.


B.5 Fonction de saturation


La fonction de saturation satM , utilisée dans la commande bornée du PVTOL,
dépend d’un paramètre positif α tel que 0 < α < 1 :


 −M si s < −M − α

2
p1 (s) = a1 s + b1 s + c1 si s ∈ [−M − α, −M + α[



satM (s) = s si s ∈ [−M + α, M + α] (B.26)

p2 (s) = a2 s2 + b2 s − c2 si s ∈ ]M − α, M + α]





+M si s>M +α
134 B.6. Stabilité globale du PVTOL avec gravité

avec
M
a1 = −a2 =

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

Fig. B.1 – La fonction de saturation (bleu) avec M = 3 et α = 0.9

B.6 Stabilité globale du PVTOL avec gravité


Les résultats de stabilité sont basés sur la théorie des systèmes en cascade. La
preuve suivante est divisée en plusieurs parties. D’abord, la stabilité locale est étu-
diée. En second lieu, on montre que θ converge vers l’angle désiré θd . La stabilité
asymptotique globale de Σt est alors prouvée. En conclusion, la stabilité asympto-
tique globale du système global est obtenue grace à un résultat de Sontag [88].
Annexe B. 135

B.6.1 Stabilité locale du PVTOL


Pour démontrer la stabilité locale, nous allons appliquer la méthode de linéari-
sation au PVTOL au voisinage de l’origine en utilisant les définitions de sat1 and
satβθ . Au voisinage de l’origine les commande rx , rz et v sont écrites sous la forme
suivant

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,θ}

Le système du PVTOL prend la forme suivante


 
p2
 

 −u sin(η1 ) 

ṗ  p4 
= h(p, η) =   (B.30)
η̇ 
 u cos(η1 ) − 1 

 η2 
βθ (η̈d ) − aθ (η1 − ηd ) − bθ (η2 − η̇d )

La matrice jacobienne A au voisinage de l’origine


 
0 1 0 0 0 0

 0 0 0 0 −1 0 

 0 0 0 1 0 0 
A=  (B.31)

 0 0 −az −bz 0 0 

 0 0 0 0 0 1 
aθ ax bθ ax + aθ bx 0 0 −βθ ax − bθ bx − aθ −βθ bx − bθ

L’équation caractéristique de A donnée par :

P (λ) = |λI − A| (B.32)


2
= (λ + λbz + az ) (B.33)
4 3 2

λ + λ (βθ bx + bθ ) + λ (βθ ax + bθ bx + aθ ) + λ(bθ ax + aθ bx ) + aθ ax

a des racines stables pour ε{x,z,θ} ≤ 1. En conséquence, la stabilité locale de la


commande proposée est établie.
136 B.6. Stabilité globale du PVTOL avec gravité

B.6.2 Stabilité globale de θ − θd


Dans cette section, nous étudions la stabilité globale de Σr (2.103). La preuve
est basée sur l’idée que η̈d est borné. Rappelons que ηd prend la forme suivante :
 −r 
x
ηd = arctan
rz + 1
et la poussée : p
u= rx2 + (rz + 1)2
avec rx et rz données par :

rx = −εx sat1 (p2 ) − ε2x sat1 (εx p1 + p2 )


rz = −εz sat1 (p4 ) − ε2z sat1 (εz p3 + p4 )

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 :

rx ṙz − (1 + rz )ṙx rx ṙz − (1 + rz )ṙx


η̇d = 2
=
u rx2 + (rz + 1)2
rx r̈z − (1 + rz )r̈x − 2η̇d (rx ṙx + (1 + rz )ṙz )
η¨d =
rx2 + (rz + 1)2
Les dérivées premières de rx , rz et u :

ṙx = −εx sat ˙ 1 (εx p1 + p2 )(εx p2 − u sin η1 )


˙ 1 (p2 )(−u sin η1 ) − ε2x sat
ṙz = −εz sat˙ 1 (p4 )(u cos η1 − 1) − ε2z sat ˙ 1 (εz p3 + p4 )(εz p4 + u cos η1 − 1)
rx ṙx + (1 + rz )ṙz
u̇ =
u
Les dérivées secondes de rx et rz :
¨ 1 (p2 )(−u sin η1 )2 − εx sat
r̈x = − εx sat ˙ 1 (p2 )(−u̇ sin η1 − uη2 cos η1 )
¨ 1 (εx p1 + p2 )(εx p2 − u sin η1 )2
− ε2x sat
˙ 1 (εx p1 + p2 )(εx (u sin η1 ) − u̇ sin η1 − uη2 cos η1 )
− ε2x sat

¨ 1 (p4 )(u cos η1 − 1)2 − εz sat


r̈z = − εz sat ˙ 1 (p4 )(u̇ cos η1 − η2 u sin η1 )
¨ 1 (εz p3 + p4 )(εz p4 + u cos η1 − 1)2
− ε2z sat
˙ 1 (εz p3 + p4 )(εz (u cos η1 − 1) + u̇ cos (η1 ) − uη2 sin η1 )
− ε2z sat
Nous pouvons voir que η̇d dépend de rx , rz , ṙx et ṙz . Les commandes rx et rz sont
bornées. Les dérivées premières ṙx et ṙz sont composées d’éléments bornés (cos, sin
et sat1 ) et respectivement p2 et p4 . On applique Lemme 14 pour prouver que les
Annexe B. 137

é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é.

Nous appliquons maintenant le changement classique de coordonnés (1.20-


1.21) pour obtenir le nouveau système y1 , y2 ayant la même propriété de stabilité
du système η1 , η2 : 
y 1 = εθ η 1 + η 2
(B.34)
y 2 = η2
pour obtenir : 
ẏ1 = εθ y2 + v
(B.35)
ẏ2 = v
Soit :

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

Par conséquent, si |y2 − y2d | > 1 et βθ + δ + ε2θ < εθ , on a :

|σβθ (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 → ∞.

B.6.3 Stabilité globale de Σt


Le sous-système Σt , dans le cas où θ(t) = θd (t), prend la forme de deux chaînes
d’intégrateurs d’ordre 2
p˙1 = p2
p˙2 = −εx σ(p2 ) − ε2x σ(εp1 + p2 )
(B.45)
p˙3 = p4
p˙4 = −εz σ(p4 ) − ε2z σ(εp3 + p4 )
La stabilité globale du sous-système (B.45) est garanti pour εx,z < 1 (voir preuve
Théorème 1).

B.6.4 Stabilité globale du PVTOL (Σr + Σt )


Sachant que les solution de Σr sont bornées, la condition Converging Input Boun-
ded state (CIBS) développé par [88] est vérifiée. Donc la stabilité globale asympto-
tique est garanti pour les systèmes en cascade (voir Annexe D.1).
Annexe C

C.1 La trajectoire de l’angle en appliquant une


commande continue par morceaux
Dans cette section, nous présentons la trajectoire suivie par un angle θ si une
commande continue par morceaux v est appliquée à la dynamique exprimée par
l’équation d’intégrateur double θ̈ = v. La première intégration entre t + kT et τ
donnera :
θ̇(τ ) = v(t + kT )[τ − (t + kT )] + θ̇(t + kT ) (C.1)
Pour trouver θ, il faut intégrer une deuxième fois entre t + kT et τ :
Z τ
θ(τ ) = θ̇(s)ds + θ(t + kT ) (C.2)
(t+kT )

En utilisant équation (C.1), on obtient :


Z τ
θ(τ ) = {v(t + kT )[s − (t + kT )] + θ̇(t + kT )}ds + θ(t + kT )
(t+kT )
 τ
1 2
= v(t + kT ) s − (t + kT )s + θ̇(t + kT )s + θ(t + kT )
2 (t+kT )
 
1 2 1 2
= v(t + kT ) τ − (t + kT )τ − (t + kT ) + (t + kT )(t + kT )
2 2
+θ̇(t + kT )[τ − (t + kT )] + θ(t + kT )
 
1 2 1 2
= v(t + kT ) τ + (t + kT ) − (t + kT )τ
2 2
+θ̇(t + kT )[τ − (t + kT )] + θ(t + kT )
1
= v(t + kT )[τ 2 − 2(t + kT )τ + (t + kT )2 ]
2
+θ̇(t + kT )[τ − (t + kT )] + θ(t + kT )
1
= v(t + kT )[τ − (t + kT )]2 + θ̇(t + kT )[τ − (t + kT )] + θ(t + kT )
2
139
140 C.2. Modèle discret du quadrirotor

C.2 Modèle discret du quadrirotor


Le modèle discret du quadrirotor s’écrit :
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 
 = 
 0 + 0 0
    
 ẏf  0 1 0 0  ẏ0 
 −g t2f   0 0
      
 zf  0 0 1 tf  z0 
2
żf −gtf 0 0 0 0 0 1 ż0
    
H1 H3 U
+ +T DN
H2 H4 4
Les matrices H1 , H2 , H3 , H4 et DN dependent de l’horizon d’échantillonnage et
des matrices de permutation Q1 à Q12 fonction de la base unitaire othonormale
(e1 , e2 , e3 , e4 ) de R4 telle que :
e1 = ( 1 0 0 0 )
e2 = ( 0 1 0 0 )
(C.3)
e3 = ( 0 0 1 0 )
e4 = ( 0 0 0 1 )
Les matrices de permutation sont :
 

 Q1 = (e4 , e2 , e3 , e1 )T 
 Q2 = (−e4 , −e2 , −e3 , −e1 )T
Q3 = (e4 , e2 , −e3 , −e1 )T Q4 = (−e4 , −e2 , e3 , e1 )T

 


 

Q5 = (e3 , e1 , −e4 , −e2 )T Q6 = (−e3 , −e1 , −e4 , −e2 )T
 
, (C.4)
 Q7 = (e2 , 01×4 , e1 , 01×4 )T
  Q8
 = (−e2 , 01×4 , −e1 , 01×4 )T
Q = (e2 , 01×4 , −e1 , 01×4 )T Q = (−e2 , 01×4 , e1 , 01×4 )T
 
 9  10

 

 
Q11 = (e1 , 01×4 , −e2 , 01×4 )T Q12 = (−e1 , 01×4 , −e2 , 01×4 )T
La matrice diagonale DN est donnée par :
DN = diag(N − 1, N − 2, . . . , 1, 0) (C.5)
Les matrices H1 à H4 dependent des matrice de permutations et de la matrice Γ qui
est une matrice constante basée sur les intégrales de Fresnel :
1 2 3 4 1 2
H1 = [Q1 Γϑ + Q2 Γϑ + Q3 Γϑ + Q4 Γϑ + 2Q5 Γϕ + +2Q6 Γϕ ]
 3   4 
Γϕ (3, :) Γϕ (3, :)
H2 = 2 3 +2 4
Γϕ (1, :) Γϕ (1, :)
(C.6)
ϑ1 ϑ2 ϑ3 ϑ4 ϕ1 ϕ2
H3 = Q7 Γ + Q8 Γ + Q9 Γ + Q10 Γ + 2Q11 Γ + 2Q12 Γ
 3   4 
Γϕ (1, :) Γϕ (1, :)
H4 = 2 +2
0 0
Annexe C. 141

Le calcul de la matrice Γ est présenté dans la section suivante.

C.2.1 Calcul de Γ basé sur les intégrales de Fresnel


La matrice Γµ et donnée pour un angle µ quelconque :

cµ0 cµ1 cµN −1


 
...
µ
 sµ0 sµ1 ... sµN −1 
Γ =
 C0µ C1µ (C.7)
CNµ −1 

...
S0µ S1µ ... SNµ
−1

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µ )


Si γkµ = 0 et βkµ 6= 0, les calculs sont triviaux et on a :

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

Enfin, si γkµ = 0 et βkµ = 0, alors

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

C.3 Commande bornée d’attitude du quadrirotor


Théorème 11 Considérons la dynamique d’un corps décrit par les équations
suivantes
q̇ = 12 Ω(~ω )q = 12 Ξ(q)~ω

(C.18)
~˙ = −~ω × J~ω + Γ

avec la commande bornée suivante Γ = [Γ1 , Γ2 , Γ3 ]T telle que pour j ∈ {1, 2, 3}

Γj = −αsatM2 (λ[ωj + satM1 (qj )]) (C.19)

où satM1 et satM2 sont des fonctions de saturation avec M1 ≥ 1, M2 ≥ λ(2M1 + )


et  > 1. α et λ sont des paramètres de réglage positifs. Alors La commande (C.19)
stabilise globalement asymptotiquement la dynamique du corps rigide à l’origine
(q0 = 1, ~q = 0 and ω
~ = 0).

Avant de développer la preuve de ce théorème, il faut rappeler que le quaternion


et son négatif représente la même rotation et il existe deux points d’équilibre [q0 =
±1 ~q = 0]T . Le système peut rejoindre le point d’équilibre (q0 = −1, ~q = 0, ω
~ = 0)
par l’application de la commande Γj = −αsatM2 (λ[ωj −satM1 (qj )]) pour j ∈ {1, 2, 3}.
Donc, l’application de Γj = −αsatM2 (λ[ωj + sign(q0 )satM1 (qj )]) assure qu’entre les
deux rotations équivalentes β et 2π − β, celle avec le plus petit angle est choisie.
Ceci peut être démontré en adaptant la preuve suivante.
Preuve de Théorème 11
Considérons la fonction de Lyapunov V , définie positive, radialement non-bornée et
qui appartient à la classe C 2 . La fonction V représente l’énergie totale du système :
1 T
V = ω~ J~ω + κ((1 − q0 )2 + ~qT ~q)
2 (C.20)
1 T
= ω~ J~ω + 2κ(1 − q0 )
2
144 C.3. Commande bornée d’attitude du quadrirotor

Le paramètre κ > 0 reste à determiner. La dérivée de l’équation (C.20) est donnée


par :

~˙ − 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 :

V̇1 = −αω1 satM2 (λ[ω1 + satM1 (q1 )]) + κq1 ω1 (C.22)

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 :

V̇1 = −αω1 satM2 (λ[ω1 + satM1 (q1 )]) + κω1 q1


(C.23)
≤ −α|ω1 |satM2 (λ) + κ|ω1 |

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 :

|λ(ω1 + satM1 )| ≤ λ(2M1 + ) < M2 (C.24)

En conséquence, satM2 fonctionne dans la région linéaire :

Γ1 = −αλ[ω1 + satM1 (q1 )] (C.25)

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 :

V̇1 = −αλω12 − αλω1 satM1 (q1 ) + κq1 ω1 (C.26)

Comme M1 ≥ 1, et satM1 (q1 ) n’est pas saturé

V̇1 = −αλω12 − αλq1 ω1 + κq1 ω1 (C.27)


Annexe C. 145

En choisissant κ = αλ ce qui satisfait l’inégalité κ < λ pour  > 1, on obtient :

V̇1 = −λαω12 ≤ 0 (C.28)

Le même argument peut être appliqué pour V̇2 et V̇3 . Finalement la dérivée (C.21)
devient :

V̇ = V̇1 + V̇2 + V̇3 (C.29)


= −λαω12 − λαω22 − λαω32 (C.30)
= −~ω T A~ω ≤ 0 (C.31)

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. 

Nous présentons la commande appliquée dans le cas du quadrirotor.


Théorème 12 Considérons la dynamique de rotation du quadrirotor décrit par :

q̇ = 21 Ω(~ω )q = 12 Ξ(q)~ω


~˙ = −~ω × J~ω + Γtot


avec les commande bornées


Γr = −αsatMφ (λ1 [ω1 + satM (q1 )])
Γp = −αsatMθ (λ2 [ω2 + satM (q2 )])
Γy = −αsatMψ (λ3 [ω3 + satM (q3 )])

où satM and satMφ,θ,ψ sont des fonctions de saturation avec

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

C.4 Stabilisation de la position du quadrirotor


Comme pour le PVTOL, les résultats de stabilité de cette section sont basés
sur la théorie des systèmes en cascade. La preuve suivante se divise en trois étapes
principales. D’abord, la stabilité asymptotique de la dynamique de lacet est établie.
Puis, on montre que les angles η1 et η3 convergent vers les angles désirés η1d et
η3d . En conclusion, la stabilité asymptotique globale de Σt est prouvée. La stabilité
asymptotique globale du système est alors obtenue grace à un résultat de Sontag
[88].

C.4.1 Stabilité globale de la dynamique de lacet


C’est une application directe de la preuve du Théorème 1.

C.4.2 Stabilité globale de η1 − η1d et η3 − η3d


Pour ψ = 0, le sous-système de rotation Σr est décomposé de deux sous-systèmes
indépendants : Σrθ Σrφ . La stabilité globale de Σrθ est premièrement considérée.

η̇1 = η2
Σrθ : (C.34)
η̇2 = vθ
Supposons que
βθ +εθ +ε2θ
ξ = v̄θ
η
βθ +εθ +ε2θ
uθ = v̄θ

En appliquant le changement classique de coordonnées :

y1 = εθ ξ1 + ξ2
(C.35)
y2 = ξ2
Annexe C. 147

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)

Considérons maintenant la fonction de Lyapunov V2 = 21 (y2 − y2d )2 . Donc, V̇2 =


(y2 − y2d )(ẏ2 − ẏ2d ) = (y2 − y2d )(uθ − uθd ). Comme dans le cas du PVTOL, il existe
un temps tδθ tel que pour tous t > tδθ , uθd est bornée :

d2
 
rx
uθd | = | 2 arctan < δθ (C.38)
dt 1 + rz

Par conséquent, si |y2 − y2d | > 1 et βθ + δθ + ε2θ < εθ , il suit

|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)

Considérons maintenant la fonction de Lyapunov V1 = 21 (y1 − y1d )2 . Dans le cas où


y1 − y1d n’est pas dans [−1, 1], avec βθ + δθ < ε2θ assurera la décroissance de V1 . Donc
pour équation (C.39) on obtient :

|satβθ (uθd ) − uθd | < |ε2θ sat1 (y1 − y1d )| (C.42)

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 :

uθ = satβθ (uθd ) − εθ (y2 − y2d ) − ε2θ (y1 − y1d ) (C.43)

βθ > δθ est choisi, la commande uθ prend la forme suivante :

uθ = uθd − εθ (y2 − y2d ) − ε2θ (y1 − y1d ) (C.44)


148 C.4. Stabilisation de la position du quadrirotor

∀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 η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φ
δφ < βφ

C.4.3 Stabilité globale du sous-système de translation


Dans le cas où les angles rejoignent les angles désirés, c’est-à-dire η1 (t) = η1d (t)
et η3 (t) = η3d (t), le sous-système Σt prend la forme de trois chaîne d’intégrateurs
d’ordre 2. La stabilité globale par l’application des commandes
r̄x
rx = 2
(−εx sat1 (p2 ) − ε2x sat1 (εx p1 + p2 )) (C.46)
εx + εx
r̄y
ry = (−εy sat1 (p4 ) − ε2y sat1 (εy p3 + p4 )) (C.47)
εy + ε2y
r̄z
rz = (−εz sat1 (p6 ) − ε2z sat1 (εz p5 + p6 )) (C.48)
εz + ε2z

est assurée par Théorème 1.

C.4.4 Stabilité globale du quadrirotor


La condition Converging Input Bounded State (CIBS) développé par [88] est
vérifiée dans notre cas parce que les solutions de Σr sont bornées. Donc la stabilité
globale asymptotique est garanti pour les systèmes en cascade (voir Annexe D.1).
Annexe D

Dans cette annexe, nous présentons les résultats de Sontag [88] concernant la
stabilité globale des systèmes en cascade.

D.1 Stabilité des systèmes en cascade


Considérons le système en cascade suivant :

ẋ = f (x, y)
(D.1)
ẏ = g(y)

avec x ∈ Rn , y ∈ Rm et les fonctions f et g sont régulières. La condition CIBS (en


anglais Converging Input Bounded State) décrit la bornitude des états x et y du
système (D.1) :
CIBS : Pour chaque entrée y en [0, +∞) telle que limt→0 y = 0 et pour chaque état
initial x0 , la solution de ẋ = f (x, y) en partant de x(0) = x0 existe pour t ≥ 0 et
elle est bornée.
La stabilité asymptotique globale du système (D.1) est établie dans le théorème
suivant de [88].

Théorème 16 Le système (D.1) est globalement asymptotiquement stable si et


seulement si les deux sous-systèmes ẋ = f (x, 0) et ẏ = g(y) sont globalement asymp-
totiquement stable et la condition CIBS est vérifiée.

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

[1] S. Al-Hiddabi et N. H. McClamroch : A decomposition approach to output


tracking for multivriable nonlinear non-minimum phase systems. In Proc.
American Control Conference, pages 1128–1132, June 1998.

[2] S. Al-Hiddabi et N. H. McClamroch : Tracking and maneuver regula-


tion control for nonlinear non-minimum phase systems : application to flight
control. IEEE Trans. on Control Systems Technology, 10(6):780–792, 2002.

[3] S. Al-Hiddabi et N.H. McClamroch : Output tracking for nonlinear non-


minimum phase vtol aircraft. In 37th IEEE Conference on Decision and
Control, CDC’98, 1998.

[4] M. Alamir : Stabilization of Nonlinear Systems by Receding-Horizon Control


Schemes : Parametrized Approach for Fast Systems. Springer, 2006.

[5] M. Alamir et N. Marchand : Constrained minimum-time-oriented feedback


control for the stabilization of nonholonomic systems in chained form. Journal
of Optimization Theory and Applications, 118(2):229–244, 2003.

[6] E. Altug, J. P. Ostrowski et C.J. Taylor : Quadrotor control using dual


camera visual feedback. In IEEE International Conference on Robotics &
Automation, ICRA’03, 2003.

[7] E. Altug, J. P. Ostrowski et R. Mahony : Control of a quadrotor heli-


copter using visual feedback. In IEEE International Conference on Robotics
& Automation, ICRA’02, 2002.

[8] N. P. I. Aneke, D. A. Lizarraga et H. Nijmeijer : Homogeneous stabiliza-


tion of the extended chained form system. In IFAC World Congress, numéro
T-Tu-A08-1, 2002.

[9] M. Athans et P.L. Falb : Optimal control : an introduction to the theory


and its applications. McGraw Hill, 1966.

151
152 Bibliographie

[10] C. Belta : On controlling aircraft and underwater vehicles. In IEEE Inter-


national Conference on Robotics & Automation, ICRA’04, 2004.

[11] D. S. Bernstein et A. N. Michel : Special issue on Saturating Actuators,


volume 5. Int. J. of Robust and Nonlinear Control, 1995.

[12] J.D. Boskovic, S.-M. Li et R.K. Mehra : Robust stabilization of spacecraft


in the presence of control input saturation using sliding mode control. In
AIAA Guidance, Navigation, and Control Conference and Exhibit, 1999.

[13] S. Bouabdallah, P. Murrieri et R. Siegwart : Design and control of


an indoor micro quadrotor. In IEEE International Conference on Robotics &
Automation, ICRA’04, 2004.

[14] S. Bouabdallah, A. Noth et R. Siegwart : PID vs LQ control techniques


applied to an indoor micro quadrotor. International Conference on Intelligent
Robots and Systems, 3:2451–2456, 2004.

[15] S. Bouabdallah et R. Siegwart : Backstepping and sliding-mode tech-


niques applied to an indoor micro quadrotor. In IEEE International Confe-
rence on Robotics & Automation, ICRA’05, 2005.

[16] R. W. Brockett : Asymptotic stability and feedback stabilization. In R. W.


Brockett, R. S. Millman et H. S. Sussmann, éditeurs : Differential Geo-
metric Control Theory, pages 181–191. Birkhäuser, Boston-Basel-Stuttgart,
1983.

[17] P. Castillo, A. Dzul et R. Lozano : Real-time stabilization and tracking of


a four-rotor mini rotorcraft. IEEE transactions on Control Sytems Technology,
12(4):510–516, 2004.

[18] P. Castillo, R. Lozano, I. Fantoni et A. Dzul : Control design for the


PVTOL aircraft with arbitrary bounds on the acceleration. In 41st IEEE
Conference on Decision and Control, CDC’02, 2002.

[19] O. Egeland et E. Berglund : Control of an underwater vehicle with non-


holonomic acceleration constraints. In IFAC Conference on Robot Control,
1994.

[20] J. Escareno, S. Salazar-Cruz et R. Lozano : Embedded control of a four-


rotor uav. In Proc. American Control Conference, pages 3936–3941, 2006.

[21] I. Fantoni, R. Lozano et P. Castillo : A simple stabilization algorithm


for the PVTOL aircraft. In IFAC World Congress, 2002.
Bibliographie 153

[22] I. Fantoni, A. Zavala et R. Lozano : Global stabilization of a pvtol


aircraft with bounded thrust. In Proc. IEEE Int. Conf. on Decision and
Control, pages 4462–4467, 2002.

[23] O. Fjellstad et T. Fossen : Quaternion feedback regulation of underwater


vehicles. In 3rd IEEE Conference on Control Application, pages 24–26, 1994.

[24] M. Fliess, J. Lévine, P. Martin et P. Rouchon : A lie-bäcklund approch


to equivalence and flatness of nonlinear systems. IEEE Trans. on Automatic
Control, 44(5):922–937, 1999.

[25] J.P. Gauthier et G. Bornard : Commande multivariable en présence de


contraintes de type inégalité. Revue d’Automatique, d’Informatique et de re-
cherche opérationnelle (RAIRO), 17(3):205–222, 1983.

[26] S. S. Ge, Z. Sun, T. H. Lee et M. W. Spong : Feedback linearization and


stabilization of second-order non-holonomic chained systems. Int. Journal of
Control, 74(14):1383–1392, 2001.

[27] F. Grognard, R. Sepulchre et G. Bastin : Improved performance of low-


gain designs for bounded control of linear systems. Automatica, 38(10):1777–
1782, 2002.

[28] N. Guenard, T. Hamel et V. Moreau : Dynamic modeling and intuitive


control strategy for an X4-flyer. In International Conference on Control and
Automation, ICCA 05, 2005.

[29] J.F. Guerrero-Castellanos : Estimation et commande bornée d’attitude :


Application à l’hélicoptère à quatre rotors. Thèse de doctorat, gipsa-lab -
INPG, Grenoble, France, 2007.

[30] J.F. Guerrero-Castellanos, A. Hably, N. Marchand et S. Lesecq :


Bounded attitude stabilization : Application on four-rotor helicopter. In IEEE
International Conference on Robotics & Automation, ICRA’07, 2007.

[31] A. Hably, F. Kendoul, N. Marchand et P. Castillo : Positive Systems,


volume 341 de Lecture Notes in Control and Information Sciences, chapitre
Further results on global stabilization of the PVTOL aircraft, pages 303–310.
Spinger Verlag, 2006.

[32] A. Hably et N. Marchand : Global stabilization of four-rotor helicopter


with bounded inputs. In Intelligent Robots and Systems, 2007 IEEE/RSJ
International Conference on, 2007.
154 Bibliographie

[33] A. Hably, N. Marchand et M. Alamir : Constrained minimum time orien-


ted stabilization of extended chained form systems. In The joint IEEE Conf.
on Decision and Control and European Control Conference, 2005.
[34] T. Hamel, R. Mahony, R. Lozano et J. Ostrowski : Dynamic modelling
and configuration stabilization for an x4-flyer. In IFAC World Congress, 2002.
[35] J. Hauser, S. Sastry et G. Meyer : Nonlinear control design for slightly
nonminimum phase systems : Application to V/STOL aircraft. Automatica,
28:665–679, 1992.
[36] O. Hegrenas, J.T. Gravdahl et P. Tondel : Attitude control by means
of explicit model predictive control, via multi-parametric quadratic program-
ming. In American Control Conference, volume 2, pages 901–906, 2005.
[37] J. Imura, K. Kobayashi et T. Yoshikawa : Non-holonomic control of a
3 link planar manipulator with a free joint. In 35th IEEE Conference on
Decision and Control, CDC’96, 1996.
[38] E.N. Johnson et S.K. Kannan : Nested saturation with guaranteed real
poles. In Proc. American Control Conference, volume 1, pages 497–502, 2003.
[39] S.M. Joshi, A.G. Kelkar et J.T. Wen : Robust attitude stabilization of
spacecraft using nonlinear quaternion feedback. IEEE Trans. on Automatic
Control, 40(10):1800–1803, 1995.
[40] G. Kaliora et A. Astolfi : Nonlinear control of feedforward systems with
bounded signals. IEEE Trans. on Automatic Control, 49(11):1975–1990, 2004.
[41] Y. Karim et Y. Chitour : Stabilization and finite-gain stabilizability of
continuous-time delay linear systems subject to input saturation. In The joint
IEEE Conf. on Decision and Control and European Control Conference, 2005.
[42] F. Kendoul, D. Lara, I. Fantoni et R. Lozano : Nonlinear control for
systems with bounded inputs : Real-time embedded control applied to UAVs.
In 45th IEEE Conference on Decision and Control, CDC’06, 2006.
[43] H. K. Khalil : Nonlinear systems. Prentice-Hall, London, UK, 1996.
[44] M. V. Kothare, P. J. Campo, M. Morari et C. N. Nett : A unified
framework for the study of antiwindup designs. Automatica, 30(12):1869–
1883, 1994.
[45] R. Kristiansen et P. J. Nicklasson : Satellite attitude control by
quaternion-based backstepping. In American Control Conference (ACC),
2005.
Bibliographie 155

[46] M. C. Laiou et A. Astolfi : Discontinuous control of high-order generalized


chained systems. Systems & Control Letters, 37(5):309–322, Aug. 1999.

[47] D. Lara, A. Sanchez, R. Lozano et P. Castillo : Real-time embedded


control system for vtol aircrafts : Application to stabilize a quad-rotor heli-
copter. In International Conference on Control and Automation, ICCA 06,
2006.

[48] F. Lewis et V. Syrom : Optimal Control. John WileySons Inc., 1995.

[49] F. Lin, W. Zhang et R. D. Brandt : Robust hovering control of a pvtol


aircraft. IEEE Trans. on Control Systems Technology, 7(3):343–351, 1999.

[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.

[52] Z. Lin : Semi-global stabilization of discrete-time linear systems with position


and rate limited actuators. In Proc. IEEE Int. Conf. on Decision and Control,
volume 1, pages 395–400, 1998.

[53] Z. Lin et A. Saberi : Semiglobal exponential stabilisation of linear systems


subject to input saturation via linear feedbacks. IEEE Trans. on Automatic
Control, 21(3):225–239, 1993.

[54] Zongli Lin, A. Saberi et A. Stoorvogel : Semiglobal stabilization of linear


discrete-time systems subject to input saturation, via linear feedback-an are-
based approach. IEEE Trans. on Automatic Control, 41(8):1203–1207, 1996.

[55] D.A Lizarraga et J. Sosa : Vertically transverse functions as an extension


of the transverse function control approach for second-order systems. In 44th
IEEE conf. on Decision and Control and the European Control Conference
2005, CDC-ECC’05, 2005.

[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.

[57] R. Lozano, P. Castillo et A. Dzul : Global stabilization of the PVTOL :


Real-time applicationto a mini-aircraft. International Journal of Control, 77
(8):735–740, May 2004.
156 Bibliographie

[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

[71] R. M. Murray et S. Sastry : Nonholonomic motion planning : Steering with


sinusoids. IEEE Trans. on Automatic Control, 38:700–716, 1993.
[72] R. Olfati-Saber : Nonlinear Control of Underactuated Mechanical Systems
with Application to Robotics Aerospace Vehicles. Thèse de doctorat, MASSA-
CHUSETTS INSTITUTE OF TECHNOLOGY, 2001.
[73] R. Olfati-Saber : Global configuration stabilization for the VTOL aircraft
with strong input coupling. IEEE transactions on Automatic Control, 47(11):
1949–1952, 2002.
[74] K. Y. Pettersen et O. Egeland : Exponential stabilization of an underac-
tuated surface vessel. Model. Identif. Control, 18(3):239–248, 1997.
[75] G. Poulin, A. Chemori et N. Marchand : Minimum energy oriented global
stabilizing control of the pvtol aircraft. Int. Journal of Control, 80(3):430–442,
2007.
[76] P. Pounds, R. Mahony, P. Hynes et J. Roberts : Design of a four-rotor
aerial robot. In Australian Conference on Robotics and Automation, 2002.
[77] R. Poutry : Helicopter performance, stability, and control. 2002, Reprint
with addition, original edition 1986.
[78] V.G. Rao et D.S. Bernstein : Naive control of the double integrator. IEEE
Control Systems Magazine, 21:86–97, Oct. 2001.
[79] M. Reyhanoglu, A.J. Van der Schaft, NH. McClamroch et I. Kol-
manovsky : Dynamics and control of a class of underactuated mechanical
systems. IEEE Trans. on Automatic Control, 44(9):1663–1671, 1999.
[80] A. Saberi, Z. Lin et A. R. Teel : Control of linear systems with saturating
actuators. IEEE Trans. on Automatic Control, 41(3):368–378, 1996.
[81] M. Saeki et Y. Sakaue : Flight control design for a nonlinear non-minimum
phase VTOL aircraft via two-step linearization. In 40th IEEE conference on
Decision and Control, CDC’01, 2001.
[82] S.L. Scrivener et R.C. Thompson : Survey of time-optimal attitude ma-
neuvers. Journal of Guidance, Control and Dynamics, 17(2):225–233, 1994.
[83] R. Sepulchre, M. Jankovic et P. Kokotovic : Constructive nonlinear
control. Springer-Verlag, 1997.
[84] M.D. Shuster : A survey of attitude representations. Journal of the astro-
nautical sciences, 41(4):439–517, 1993.
158 Bibliographie

[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.

[86] H. Sira-Ramirez et M. Fliess : Regulation of non-minimum phase outputs


in a pvtol aircraft. In 37th IEEE conference on Decision and Control, CDC’98,
1998.

[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.

[88] E. Sontag : Remarks on stabilization and input-to-state stability. In 28th


IEEE Conference on Decision and Control, CDC’89, 1989.

[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.

[90] H.J. Sussmann et Y. Yang : On the stabilizability of multiple integrators


by means of bounded feedback controls. In Proceedings of the 30th IEEE
Conference on Decision and Control, pages 70–73, Brighton, UK, Dec. 1991.

[91] A. Tayebi et S. McGilvray : Attitude stabilization of a four-rotor aerial


robot. In 43rd IEEE Conference on Decision and Control, CDC’04, 2004.

[92] A. Tayebi et S. McGilvray : Attitude stabilization of a VTOL quadrotor


aircraft. IEEE Transactions on Control Systems Technology, 14(3):562–571,
2006.

[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.

[95] Y. P. Tian et S. Li : Exponential stabilization of nonholonomic dynamic


systems by smooth time-varying control. Automatica, 38:1139–1146, 2002.

[96] P. Tsiotras et J. Luo : Control of underactuated spacecraft with bounded


inputs. Aut, 36(8):1153–1169, 2000.

[97] J.T. Wen et K. Kreutz-Delgado : The attitude control problem. IEEE


Trans. on Automatic Control, 36(11):1148–1162, 1991.
Bibliographie 159

[98] J.T. Wen, S. Seereeram et D.S. Bayard : Nonlinear predictive control


applied to spacecraft attitude control. In American Control Conference, vo-
lume 3, pages 1899–1903, 1997.

[99] K.Y. Wichlund, O. J. Sordalen et O. Egeland : Control of vehicles with


second-order nonholonomic constraints : Underactuated vehicles. In Proc.
European Control Conf., pages 3086–3091, 1995.

[100] R. Xu et U. Ozguner : Sliding mode control of a quadrotor helicopter. In


45th IEEE Conference on Decision and Control, CDC’06, 2006.

[101] M. Yamada, S. Ohta et Y. Funahashi : State and output feedback stabili-


zation for second-order nonholonomic chained systems based on sampled data
control approach. In American-Control-Conference 2003, ACC’03, 2003.

[102] J. Y. Yang, E. D. Sontag et H. J. Sussmann : Global stabilization of linear


discrete-time systems with bounded feedback. Systems & Control Letters,
30:273–281, 1997.

[103] T. Yoshikawa, K. Kobayashi et T. Watanabe : Design of desirable tra-


jectory with convergent control for 3-d.o.f manipulator with a non-holonomic
constraint. In Proc. IEEE Int. Conf. on Robotics and Automation, pages
1805–1810, 2000.

[104] A. Zavala, I. Fantoni et R. Lozano : Global stabilization of a pvtol


aircraft with bounded inputs. Int. Journal of Control, 76(18):1833–1844, 2003.

[105] S. Zhang et J. Jin : Computation of special functions. In http ://iris-


lee3.ece.uiuc.edu/ jjin/routines/routines.html, 1996.

[106] S. Zhang et J. Jin : Computation of Special Functions. Wiley, 1996.


160 Bibliographie
Résumé : Les drones et les micro-drones font actuellement l’objet de développements
très rapides. L’objectif principal de ce sujet de recherche est le développement de lois de
commande permettant de contrôler deux systèmes sous actionnés classiques : l’avion à
décollage et à atterrissage verticaux et le "quadrirotor" ou hélicoptère à quatre rotors
fixes.
La spécificité des approches développées est que les limites des actionneurs sont prises
en compte tout en assurant un coût de calcul compatible avec une implantation et une
exécution en temps réel sur un système informatique embarqué. La commande de l’assiette
et de la position sont abordées dans ce travail. Les commandes proposées sont basées
sur la stabilisation globale des chaînes d’intégrateurs linéaires et sur les techniques de
commande prédictive rapide.

Mot-clés : Drone, chaîne d’intégrateurs, quadrirotor, PVTOL, commande prédictive,


commande Lyapunov, commande bornée, saturation, stabilité.

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.

Keywords : UAV, chain of integrators, quadrotor, PVTOL, predictive control, Lyapunov,


bounded control, saturation, under-actuated, stability.

Vous aimerez peut-être aussi