Ministère de l’Enseignement Supérieur et de la Recherche Scientifique UNIVERSITÉ DE JIJEL
Faculté des Sciences et de la Technologie Département d’Automatique
Mémoire
Présenté par Yassine SOUKKOU
Pour l’obtention du diplôme de Magister en Automatique Option : AUTOMATIQUE ET TRAITEMENT DU SIGNAL
Thème
C OMMANDE A DAPTATIVE PAR B ACKSTEPPING D’UNE C LASSE DES S YSTÈMES NON L INEAIRES
I NCERTAINS
Soutenu le : 23/02/2014 devant le jury
Hamid Boubertakh MCA à l’Université de Jijel Président
Salim Labiod Prof. à l’Université de Jijel Rapporteur
Abdesselem Boulkroune MCA à l’Université de Jijel Examinateur
Sofiane Doudou MCB à l’Université de Jijel Invité
Dédicaces
Je dédie ce modeste travail A ma mère
A mon père A mes frères A mes sœurs A toute ma famille
A mes amis : H. Khebbache, F. Yacef, M. Nasri,…
A tous mes amis d’études en Magister d’Automatique et Traitement du Signal.
Remerciements
Avant tout, je remercie mon DIEU (ALLAH) le Tout Puissant pour sa générosité de ma donner la santé, la volonté et la patience tout au long de ma vie universitaire.
J’adresse mes sincères remerciements à tous mes enseignants, notamment à mon encadreur le Prof. Salim Labiod pour ses conseils permanents, ses orientations et sa grande patience.
Je tiens à exprimer ma profonde gratitude aux membres de jury.
Je remercie avec sincérité toutes les personnes qui ont contribué de près ou de loin à la réussite de ce travail.
Liste des figures
Figure 1.1 Interprétation géométrique du théorème de Lyapunov. 7 Figure 1.2 Sortie du système non linéaire : réelle x1 (″-″) et désirée x1d (″--″). 13 Figure 1.3 Evolution de la deuxième variable d’état : réelle x2 (″-″) et désirée
x2d (″--″).
13
Figure 1.4 Erreur de poursuite e1. 13
Figure 1.5 Erreur de poursuite e2. 13
Figure 1.6 Signal de commande u. 13
Figure 1.7 Robot manipulateur à une seule jonction flexible. 14 Figure 1.8 Position angulaire de la liaison : réelle x1 (″-″) et désirée x1d (″--″). 18 Figure 1.9 Vitesse angulaire de la liaison : réelle x2 (″-″) et désirée x2d (″--″). 18 Figure 1.10 Position angulaire de l’axe de moteur : réelle x3 (″-″) et désirée
x3d (″--″).
18 Figure 1.11 Vitesse angulaire de l’axe de moteur : réelle x4 (″-″) et désirée
x4d (″--″).
18
Figure 1.12 Erreur de poursuite e1. 18
Figure 1.13 Erreur de poursuite e2. 18
Figure 1.14 Erreur de poursuite e3. 19
Figure 1.15 Erreur de poursuite e4. 19
Figure 1.16 Signal de commande u. 19
Figure 2.1 Sortie du système non linéaire : réelle x1 (″-″) et désirée x1d (″--″). 37 Figure 2.2 Evolution de la deuxième variable d’état : réelle x2 (″-″) et désirée
x2d (″--″).
37
Figure 2.3 Erreur de poursuite e1. 37
Figure 2.4 Erreur de poursuite e2. 37
Figure 2.5 Signal de commande u. 37
Figure 2.6 Paramètres estimés
θ
ˆ11,θ
ˆ12 etθ
ˆ21. 37 Figure 2.7 Sortie du système non linéaire : réelle x1 (″-″) et désirée x1d (″--″). 38 Figure 2.8 Evolution de la deuxième variable d’état : réelle x2 (″-″) et désiréex2d (″--″).
38
Figure 2.9 Erreur de poursuite e1. 38
Figure 2.10 Erreur de poursuite e2. 38
Figure 2.11 Signal de commande u. 38
Figure 2.12 Paramètres estimés
θ
ˆ1 etθ
ˆ2. 38Figure 2.14 Evolution de la deuxième variable d’état : réelle x2 (″-″) et désirée x2d (″--″).
39
Figure 2.15 Surface S1. 40
Figure 2.16 Surface S2. 40
Figure 2.17 Signal de commande u. 40
Figure 2.18 Paramètres estimés
θ
ˆ1 etθ
ˆ2. 40Figure 2.19 Position angulaire de la liaison : réelle x1 (″-″) et désirée x1d (″--″). 41 Figure 2.20 Vitesse angulaire de la liaison : réelle x2 (″-″) et désirée x2d (″--″). 41 Figure 2.21 Position angulaire de l’axe de moteur : réelle x3 (″-″) et désirée
x3d (″--″).
42 Figure 2.22 Vitesse angulaire de l’axe de moteur : réelle x4 (″-″) et désirée
x4d (″--″).
42
Figure 2.23 Erreur de poursuite e1. 42
Figure 2.24 Erreur de poursuite e2. 42
Figure 2.25 Erreur de poursuite e3. 42
Figure 2.26 Erreur de poursuite e4. 42
Figure 2.27 Signal de commande u. 42
Figure 2.28 Paramètres estimés
θ
ˆ11,θ
ˆ12 etθ
ˆ13. 42Figure 2.29 Position angulaire de la liaison : réelle x1 (″-″) et désirée x1d (″--″). 44 Figure 2.30 Vitesse angulaire de la liaison : réelle x2 (″-″) et désirée x2d (″--″). 44 Figure 2.31 Position angulaire de l’axe de moteur : réelle x3 (″-″) et désirée
x3d (″--″).
44 Figure 2.32 Vitesse angulaire de l’axe de moteur : réelle x4 (″-″) et désirée
x4d (″--″).
44
Figure 2.33 Erreur de poursuite e1. 44
Figure 2.34 Erreur de poursuite e2. 44
Figure 2.35 Erreur de poursuite e3. 44
Figure 2.36 Erreur de poursuite e4. 44
Figure 2.37 Signal de commande u. 45
Figure 2.38 Paramètre estimé
θ
ˆ1. 45Figure 2.39 Position angulaire de la liaison : réelle x1 (″-″) et désirée x1d (″--″). 46 Figure 2.40 Vitesse angulaire de la liaison : réelle x2 (″-″) et désirée x2d (″--″). 46 Figure 2.41 Position angulaire de l’axe de moteur : réelle x3 (″-″) et désirée
x3d (″--″).
46 Figure 2.42 Vitesse angulaire de l’axe de moteur : réelle x4 (″-″) et désirée
x4d (″--″).
46
Figure 2.43 Surface S1. 47
Figure 2.44 Surface S2. 47
Figure 2.45 Surface S3. 47
Figure 2.46 Surface S4. 47
Figure 2.47 Signal de commande u. 47
Figure 2.48 Paramètre estimé
θ
ˆ1. 47Figure 3.1 Sortie du système non linéaire : réelle x1 (″-″) et désirée x1d (″--″). 57 Figure 3.2 Evolution de la deuxième variable d’état : réelle x2 (″-″) et désirée
x2d (″--″).
57
Figure 3.3 Surface S1. 57
Figure 3.4 Surface S2. 57
Figure 3.5 Signal de commande u. 57
Figure 3.6 Paramètres estimés
θ
ˆ1 etθ
ˆ2. 57Figure 3.7 Sortie du système non linéaire : réelle x1 (″-″) et désirée x1d (″--″). 58 Figure 3.8 Evolution de la deuxième variable d’état : réelle x2 (″-″) et désirée
x2d (″--″).
58
Figure 3.9 Surface S1. 59
Figure 3.10 Surface S2. 59
Figure 3.11 Signal de commande u. 59
Figure 3.12 Paramètres estimés
θ
ˆ1 etθ
ˆ2. 59Figure 3.13 Position angulaire de la liaison : réelle x1 (″-″) et désirée x1d (″--″). 60 Figure 3.14 Vitesse angulaire de la liaison : réelle x2 (″-″) et désirée x2d (″--″). 60 Figure 3.15 Position angulaire de l’axe de moteur : réelle x3 (″-″) et désirée
x3d (″--″).
60 Figure 3.16 Vitesse angulaire de l’axe de moteur : réelle x4 (″-″) et désirée
x4d (″--″).
60
Figure 3.17 Surface S1. 60
Figure 3.18 Surface S2. 60
Figure 3.19 Surface S3. 61
Figure 3.20 Surface S4. 61
Figure 3.21 Signal de commande u. 61
Figure 3.22 Paramètre estimé
θ
ˆ1. 61Figure 3.23 Position angulaire de la liaison : réelle x1 (″-″) et désirée x1d (″--″). 62 Figure 3.24 Vitesse angulaire de la liaison : réelle x2 (″-″) et désirée x2d (″--″). 62 Figure 3.25 Position angulaire de l’axe de moteur : réelle x3 (″-″) et désirée
x3d (″--″).
62 Figure 3.26 Vitesse angulaire de l’axe de moteur : réelle x4 (″-″) et désirée
x4d (″--″).
62
Figure 3.27 Surface S1. 62
Figure 3.28 Surface S2. 62
Figure 3.29 Surface S3. 62
Figure 3.30 Surface S4. 62
Figure 3.31 Signal de commande u. 63
Figure 3.32 Paramètre estimé
θ
ˆ1. 63Figure 4.1 Sortie du système non linéaire : réelle x1 (″-″) et désirée x1d (″--″). 71 Figure 4.2 Evolution de la deuxième variable d’état : réelle x2 (″-″) et désirée
x2d (″--″).
71
Figure 4.3 Surface S1. 71
Figure 4.4 Surface S2. 71
Figure 4.5 Signal de commande u. 71
Figure 4.6 Paramètres estimés
θ
ˆ1 etθ
ˆ2. 71Figure 4.7 Sortie du système non linéaire : réelle x1 (″-″) et désirée x1d (″--″). 72 Figure 4.8 Evolution de la deuxième variable d’état : réelle x2 (″-″) et désirée
x2d (″--″).
72
Figure 4.9 Surface S1. 73
Figure 4.11 Signal de commande u. 73
Figure 4.12 Paramètres estimés
θ
ˆ1 etθ
ˆ2. 73Figure 4.13 Sortie du système non linéaire : réelle x1 (″-″) et désirée x1d (″--″). 74 Figure 4.14 Evolution de la deuxième variable d’état : réelle x2 (″-″) et désirée
x2d (″--″).
74
Figure 4.15 Surface S1. 74
Figure 4.16 Surface S2. 74
Figure 4.17 Signal de commande u. 74
Figure 4.18 Paramètres estimés
θ
ˆ1 etθ
ˆ2. 74Figure 4.19 Sortie du système non linéaire : réelle x1 (″-″) et désirée x1d (″--″). 75 Figure 4.20 Evolution de la deuxième variable d’état : réelle x2 (″-″) et désirée
x2d (″--″).
75
Figure 4.21 Surface S1. 76
Figure 4.22 Surface S2. 76
Figure 4.23 Signal de commande u. 76
Figure 4.24 Paramètres estimés
θ
ˆ1 etθ
ˆ2. 76Figure 4.25 Position angulaire de la liaison : réelle x1 (″-″) et désirée x1d (″--″). 77 Figure 4.26 Vitesse angulaire de la liaison : réelle x2 (″-″) et désirée x2d (″--″). 77 Figure 4.27 Position angulaire de l’axe de moteur : réelle x3 (″-″) et désirée
x3d (″--″).
77 Figure 4.28 Vitesse angulaire de l’axe de moteur : réelle x4 (″-″) et désirée
x4d (″--″).
77
Figure 4.29 Surface S1. 77
Figure 4.30 Surface S2. 77
Figure 4.31 Surface S3. 77
Figure 4.32 Surface S4. 77
Figure 4.33 Signal de commande u. 78
Figure 4.34 Paramètre estimé
θ
ˆ1. 78Figure 4.35 Position angulaire de la liaison : réelle x1 (″-″) et désirée x1d (″--″). 79 Figure 4.36 Vitesse angulaire de la liaison : réelle x2 (″-″) et désirée x2d (″--″). 79 Figure 4.37 Position angulaire de l’axe de moteur : réelle x3 (″-″) et désirée
x3d (″--″).
79 Figure 4.38 Vitesse angulaire de l’axe de moteur : réelle x4 (″-″) et désirée
x4d (″--″).
79
Figure 4.39 Surface S1. 79
Figure 4.40 Surface S2. 79
Figure 4.41 Surface S3. 79
Figure 4.42 Surface S4. 79
Figure 4.43 Signal de commande u. 80
Figure 4.44 Paramètre estimé
θ
ˆ1. 80Figure 4.45 Position angulaire de la liaison : réelle x1 (″-″) et désirée x1d (″--″). 81 Figure 4.46 Vitesse angulaire de la liaison : réelle x2 (″-″) et désirée x2d (″--″). 81 Figure 4.47 Position angulaire de l’axe de moteur : réelle x3 (″-″) et désirée
x3d (″--″).
81 Figure 4.48 Vitesse angulaire de l’axe de moteur : réelle x4 (″-″) et désirée
x4d (″--″).
81
Figure 4.49 Surface S1. 81
Figure 4.50 Surface S2. 81
Figure 4.51 Surface S3. 81
Figure 4.52 Surface S4. 81
Figure 4.53 Signal de commande u. 82
Figure 4.54 Paramètre estimé
θ
ˆ1. 82Figure 4.55 Position angulaire de la liaison : réelle x1 (″-″) et désirée x1d (″--″). 83 Figure 4.56 Vitesse angulaire de la liaison : réelle x2 (″-″) et désirée x2d (″--″). 83 Figure 4.57 Position angulaire de l’axe de moteur : réelle x3 (″-″) et désirée
x3d (″--″).
83 Figure 4.58 Vitesse angulaire de l’axe de moteur : réelle x4 (″-″) et désirée
x4d (″--″).
83
Figure 4.59 Surface S1. 83
Figure 4.60 Surface S2. 83
Figure 4.61 Surface S3. 83
Figure 4.62 Surface S4. 83
Figure 4.63 Signal de commande u. 84
Figure 4.64 Paramètre estimé
θ
ˆ1. 84Table des matières
Dédicaces
iRemerciements
iiListe des figures
iiiTable des matières
viiiIntroduction générale
1Chapitre 1 : Introduction à la commande par backstepping
1.1 Introduction 4
1.2 Technique de commande par backstepping 5
1.2.1 Définitions 5
1.2.2 Méthodes d’analyse de la stabilité des systèmes non linéaires 6
1.2.2.1 Méthode directe de Lyapunov 6
1.2.2.2 Synthèse de la commande par la méthode directe de Lyapunov 7
1.3 Commande par backstepping 8
1.3.1 Algorithme de base 8
1.3.2 Système d’ordre supérieur 11
1.4 Exemples de simulation 11
1.4.1 Exemple 1 : Système non linéaire de deuxième ordre 12 1.4.2 Exemple 2 : Robot manipulateur à une seule jonction flexible 13
1.5 Conclusion 19
Chapitre 2 : Commande adaptative directe par backstepping
2.1 Introduction 20
2.2 Commande adaptative directe par backstepping 21
2.3 Commande adaptative directe par backstepping avec fonctions de réglage 26 2.4 Commande adaptative directe par backstepping avec filtrage des commandes
virtuelles
31
2.4.1 Analyse de stabilité 33
2.5 Exemple de simulation 1 : Système non linéaire de deuxième ordre 36
2.5.1 Commande adaptative directe par backstepping 36
2.5.2 Commande adaptative directe par backstepping avec fonctions de réglage
37 2.5.3 Commande adaptative directe par backstepping avec filtrage des
commandes virtuelles
39 2.6 Exemple de simulation 2 : Robot manipulateur à une seule jonction flexible 40
2.6.1 Commande adaptative directe par backstepping 40
2.6.2 Commande adaptative directe par backstepping avec fonctions de réglage
43
2.6.3 Commande adaptative directe par backstepping avec filtrage des commandes virtuelles
45
2.7 Conclusion 47
Chapitre 3 : Commande adaptative indirecte par backstepping
3.1 Introduction 49
3.2 Identification par filtre
x
-swapping 503.3 Choix des lois d’adaptation 51
3.3.1 Propriétés de l’identificateur 51
3.3.2 Preuve de la stabilité 51
3.3.2.1 Loi de mise à jour basée sur le gradient 51
3.3.2.2 Loi de mise à jour basée sur les moindres carrés 52 3.4 Commande adaptative par backstepping avec DSC et identification par filtre
x
-swapping53
3.4.1 Analyse de la stabilité 54
3.5 Exemples d’application 56
3.5.1 Système non linéaire de deuxième ordre avec loi de mise à jour basée sur le gradient
56 3.5.2 Système non linéaire de deuxième ordre avec loi de mise à jour basée
sur les moindres carrés
58 3.5.3 Robot manipulateur à une seule jonction flexible avec loi de mise à jour
basée sur le gradient
59 3.5.4 Robot manipulateur à une seule jonction flexible avec loi de mise à jour
basée sur les moindres carrés
61
3.6 Conclusion 63
Chapitre 4 : Commande adaptative directe/indirecte par backstepping
4.1 Introduction 64
4.2 Commande adaptative directe/indirecte par backstepping 65
4.3 Loi d’adaptation de type somme 65
4.4 Analyse de la stabilité 65
4.4.1 Loi de mise à jour basée sur le gradient 65
4.4.2 Loi de mise à jour basée sur les moindres carrés 67
4.5 Adaptation de type
σ
-modification 684.5.1 Preuve de la stabilité 69
4.6 Exemples d’application 70
4.6.1 Système non linéaire de deuxième ordre avec loi de mise à jour basée sur le gradient
70 4.6.2 Système non linéaire de deuxième ordre avec loi de mise à jour basée
sur les moindres carrés
72 4.6.3 Système non linéaire de deuxième ordre avec
σ
-modification basée surle gradient
73 4.6.4 Système non linéaire de deuxième ordre avec
σ
-modification basée surles moindres carrés
75 4.6.5 Robot manipulateur à une seule jonction flexible avec loi de mise à jour
basée sur le gradient
76 4.6.6 Robot manipulateur à une seule jonction flexible avec loi de mise à jour 78
basée sur les moindres carrés
4.6.7 Robot manipulateur à une seule jonction flexible avec
σ
-modification basée sur le gradient80 4.6.8 Robot manipulateur à une seule jonction flexible avec
σ
-Modificationbasée sur les moindres carrés
82
4.7 Conclusion 84
Conclusion générale
85Références bibliographiques
88Introduction générale
La commande par backstepping est une méthode systématique basée sur la théorie de stabilité de Lyapunov pour la conception de la commande non linéaire, qui s'applique aux systèmes non linéaires sous la forme triangulaire inférieure. La commande par backstepping [KRS95a] est développée pour commander les systèmes non linéaires, en particulier, les systèmes non linéaires dans lesquels les incertitudes ne satisfont pas la
« matching condition ».
Le problème principal avec l’approche de backstepping [BAN10, YIM01] est
« l'explosion de complexité » causée par la dérivation des commandes virtuelles. C'est-à- dire, la complexité de la conception de la commande augmente lorsque l'ordre du système augmente. Pour pallier à ce problème, Dans [WAN05, LI12], les auteurs ont proposé la technique de la commande DSC (Dynamic Surface Control) basée sur l'introduction d'un filtre de premier ordre à l'entrée de chaque étape de l'approche de backstepping traditionnelle. Dans [DON10, DON12], les auteurs ont proposé une solution similaire basée sur la technique de la commande filtrée (Command Filter).
Pour les systèmes non linéaires avec des paramètres inconnus, la version adaptative du backstepping est utilisée où la loi de commande et la loi de mise à jour des paramètres sont conçues à partir d’une fonction de Lyapunov pour garantir la stabilité globale du système.
Le problème de cette méthode est le sur-paramétrage. Pour éviter ce problème l’approche par les fonctions de réglage est introduite. Les techniques de commande adaptatives basées sur la DSC ou la commande filtrée peuvent être utilisées pour simplifier la synthèse de la
L’intérêt de ces deux commandes adaptatives est d’éviter la complexité de la loi de commande.
Ce mémoire présente quelques stratégies de la commande adaptative par backstepping d’une classe des systèmes non linéaires incertains. Le mémoire est décomposé en quatre chapitres :
Dans le premier chapitre, on présente la commande par backstepping. Dans un premier temps, on s’attache à donner les techniques et les étapes de la commande par backstepping.
Dans un deuxième temps, pour illustrer cette approche, nous appliquons cette approche pour la commande d’un système non linéaire de deuxième ordre et d’un robot manipulateur à une seule jonction flexible.
Le deuxième chapitre est consacré à la commande adaptative directe par backstepping.
Nous présentons trois types de cette dernière, la première approche s’appelle la commande adaptative directe par backstepping, la deuxième approche est la commande adaptative directe par backstepping avec fonctions de réglage (tuning functions) et la troisième approche est la commande adaptative directe par backstepping avec filtrage des commandes virtuelles par la DSC pour éviter le problème d’explosion de la complexité de la synthèse de la commande. Pour valider ces approches, on utilise un système non linéaire de deuxième ordre et le modèle d’un robot manipulateur à une seule jonction flexible.
Dans le troisième chapitre, nous présentons la commande adaptative indirecte par backstepping basée sur l’identification par un filtre
x
-swapping avec la DSC. Les lois de mise à jour des paramètres sont basées soit sur la méthode du gradient ou sur la méthode des moindres carrés. Cette approche de commande adaptative indirecte a été validée sur un système non linéaire de deuxième ordre et sur le modèle d’un robot manipulateur à une seule jonction flexible.Au quatrième chapitre nous développons un nouveau mécanisme combiné des lois de mise à jour des paramètres pour la commande adaptative par backstepping directe et indirecte, ce mécanisme appelé la commande adaptative directe/indirecte par backstepping.
Un système non linéaire de deuxième ordre et le modèle d’un robot manipulateur à une seule jonction flexible sont utilisés pour illustrer cette approche.
Enfin, nous terminons ce travail par une conclusion reprenant les principaux résultats présentés et des perspectives.
Chapitre 1
Introduction à la Commande par Backstepping
D
ans ce chapitre, nous présentons l’approche de la commande par backstepping qui s’applique aux systèmes non linéaires triangulaires (strict-feedback systems). Pour illustrer cette approche, des résultats de simulations sont présentés pour un système non linéaire de deuxième ordre et le modèle d’un robot manipulateur à une seule jonction flexible.1.1 Introduction
La commande non linéaire a fait son apparition dans les années 1980 avec les travaux d'Isidori [ISI89]. Plus récemment, la technique du backstepping (commande stabilisante non linéaire) a fait son apparition dans les années 1990. L'historique du backstepping est résumé dans [KRS95a] et l'approche y est largement approfondie. Le backstepping est moins restrictif et n'oblige pas le système à devenir linéaire. L'idée fondamentale du backstepping est de synthétiser la loi de commande d'une manière récursive. Certaines composantes du vecteur d'état sont considérées comme des «commandes virtuelles» et des lois de commande intermédiaires sont élaborées. Le backstepping s’applique aux systèmes non linéaires triangulaires. Le lecteur se référera à [KRS95a] pour mieux comprendre l’utilité de cette classe de systèmes.
1.2 Technique de commande par backstepping
La technique de la commande par backstepping a été développée par Kanellakopoulos en 1991 [KAN91]. Cette technique offre une méthode systématique pour effectuer la conception d’un contrôleur pour les systèmes non linéaires. L’idée de base consiste à calculer une loi de commande afin de garantir pour une certaine fonction de Lyapunov, définie positive et que sa dérivée soit toujours négative [BEN00]. L’objectif de cette technique est de calculer, en plusieurs étapes, une commande qui garantit la stabilité globale du système. Par la suite, on présente quelques définitions conduisant à la compréhension de la méthode de backstepping.
1.2.1 Définitions
Point d’équilibre : Physiquement, un système est en équilibre quand il conserve son état en absence de forces externes. Mathématiquement, cela équivaut à dire que la dérivée xɺ de son état est nulle.
xɺ= f x
( )
=0 (1.1) Stabilité : On dit qu’un système est stable lorsque il revient à son état d’équilibre si l’on excite par une impulsion, il est instable lorsque il s’éloigne.Stabilité de Lyapunov [ESH05] : Considérons le système invariable décrit par l’équation suivante :
xɺ= f x
( )
(1.2) Commençons à l’état initial x( )
0 . Supposons que x est un point d’équilibre du système, e( )
e 0f x = . Nous disons que le point d’équilibre est :
• Stable, si pour chaque, ε >0, existe,
δ ε ( )
>0, tel que :x
( )
0 −xe <δ ⇒ x t( )
−xe <ε , pour tout, t ≥0.• Asymptotiquement stable, s’il est stable et en plus il existe, r >0, tels que, x
( )
0 −xe <r⇒x t( )
→xe, lorsque, t → ∞.• Globalement asymptotiquement stable, s’il est asymptotiquement stable pour tous les états initiaux.
1.2.2 Méthodes d’analyse de la stabilité des systèmes non linéaires
L’étude de la stabilité des systèmes non linéaires est très complexe. L’approche de Lyapunov est l’approche la plus utilisée pour étudier ce problème. Cette approche a été introduite au 19iéme siècle par le mathématicien russe Alexandre Mikhailovich Lyapunov dans son travail intitulé, « The général problem of the motion stability ».
On distingue deux méthodes de Lyapunov pour l’analyse de la stabilité : La méthode de linéarisation et la méthode directe. La première concerne la stabilité locale autour d’un point d’équilibre. Par contre, la deuxième détermine la stabilité des systèmes en construisant une fonction scalaire des états du système dont on examinera la variation temporelle. Par la suite on s’intéressera par la méthode directe de Lyapunov, car le backstepping est basé sur cette méthode.
1.2.2.1 Méthode directe de Lyapunov
Son objectif, est de définir une méthode permettant d’analyser la stabilité d’un système non linéaire sans connaître explicitement les solutions des équations différentielles qui le décrivent. La philosophie de cette méthode n’est que l’extension mathématique d’un phénomène physique observé, car les systèmes mécaniques et électriques perdent de l’énergie pour se stabiliser au point d’équilibre.
Théorème de Lyapunov
La méthode directe de Lyapunov (ou la méthode des fonctions de Lyapunov) est dérivée du critère énergétique de stabilité. En appliquant ce critère indépendamment du concept d'énergie, on remplace alors l'énergie du système par une fonction de Lyapunov qui est définie positive (comme l'énergie).
Soit le système autonome :
xɺ= f x
( )
,xe =0 (1.3) Ce système aura un point d’équilibre xe =0, globalement asymptotiquement stable, s’ilexiste une fonction scalaire ( )V x continue avec une dérivée partielle par rapport au temps ( )
V xɺ
continue ayant les propriétés suivantes : 1. V(0)=0,
2. V x( )> ∀ ≠0, x 0, 3. lim ( ) ,
x V x
→∞ = ∞ (radialement non bornée), 4. Vɺ < ∀ ≠0, x 0.
x2
Figure 1.1: Interprétation géométrique du théorème de Lyapunov.
1.2.2.2 Synthèse de la commande par la méthode directe de Lyapunov
Dans les paragraphes précédents, nous avons étudié la stabilité des systèmes où on a supposé implicitement que la loi de commande a été choisie et notre but était de vérifier la stabilité du système avec cette loi de commande, mais le problème dans cette synthèse est comment trouver cette commande qui stabilisera le système. Nous allons présenter une méthodologie qui combine entre la recherche de la fonction de Lyapunov et la loi stabilisante. En général, il existe deux concepts pour l'application de la méthode directe de Lyapunov pour la synthèse d'une commande stable :
1ère concept : On suppose que la loi de commande existe et on cherche la fonction de Lyapunov.
2éme concept : Cette fois si on fait un choix sur la fonction de Lyapunov candidate ( )V x , et on cherche la loi de commande qui satisfait les conditions de la stabilité au sens de Lyapunov.
Dans la plupart des théorèmes et lemmes de la stabilité au sens de Lyapunov, l’existence de la fonction de Lyapunov était assumée et l’objectif était de déterminer la stabilité de ces systèmes. Mais dans la plupart des cas, la recherche de cette fonction est très difficile. Dans le paragraphe suivant, nous présenterons la notion du backstepping qui nous offre une solution à ce problème.
Instable
x 1
Stable Asymptotiquement stable
2 1 0
t > >t t ( ) 3 2 1
V x =k >k >k
( ) 2
V x =k
( ) 1
V x =k
( )
0 0 X t
( )
1 X t( )
2 X t1.3 Commande par backstepping
Le principe de la commande par backstepping consiste à calculer, d’une façon systématique, une loi de commande afin de garantir qu’une certaine fonction de Lyapunov soit définie positive et sa dérivée soit toujours négative. Celle-ci permet de garantir la stabilité globale du système compensé tout en travaillant en poursuite et en régulation [BEN00].
1.3.1 Algorithme de base
Soit le cas du système non linéaire du troisième ordre suivant [BEN00] :
1 1( )1 1( )1 2
xɺ = f x +g x x (1.4)
2 2( ,1 2) 2( ,1 2) 3
xɺ = f x x +g x x x (1.5)
3 3( ,1 2, 3) 3( ,1 2, 3)
xɺ = f x x x +g x x x u (1.6) où, g et i f (i i=1, 2, 3) sont des fonctions non linéaires continues et connues telle que (0) 0
fi = et g xi( )≠ ∀0, ( ,x x x1 2, 3)∈R3. On désire faire suivre à la sortie, y=x1, le signal de référence y , où, r y y yɺr,ɺɺ ɺɺɺr, r sont supposées connues et uniformément bornées. Le système étant du troisième ordre, la conception s’effectue en trois étapes.
Etape 1 :
On considère d’abord le premier sous-système (1.4). La variable d’état x est traitée 2 comme une commande virtuelle et l’on définit la première valeur désirée :
x1d =
α
0 = yr (1.7) La première variable d’erreur est définie par :e1= −x1
α
0 (1.8) Sa dérivée est :1 1 0 1 1 2 0
eɺ = −xɺ
α
ɺ = +f g x −α
ɺ (1.9) On choisit la fonction de Lyapunov :2
1 1 1
( ) 1
V e =2e (1.10) Sa dérivée le long de la solution de (1.9) est donnée par :
Vɺ1=e e1 1ɺ =e f1
[
1+g x1 2−α
ɺ0]
(1.11) Afin d’assurer la stabilité du premier sous-système décrit par (1.4), on prend comme valeur de x la fonction 2α
1, telle que :1 2
[
1 1 1 0]
1
1
xd k e f
α = = g − − +αɺ (1.12) où, k1 >0 est une constante de conception.
La dérivée de la fonction de Lyapunov s’écrit :
Vɺ1= −k e1 12 ≤0 (1.13) D’où la stabilité asymptotique de e . 1
Etape 2 :
Dans cette étape on considère les sous-systèmes (1.4) et (1.5) et l’on définit la nouvelle variable d’erreur :
e2 = −x2
α
1 (1.14) à cause du fait que x ne peut être forcée à prendre instantanément une valeur désirée, en 2 l’occurrenceα
1, l’erreur e n’est pas instantanément nulle. 2La conception dans cette étape consiste alors, à forcer cette erreur à s’annuler avec une certaine dynamique choisie au préalable. Les équations du système à commander, dans l’espace ( ,e e , s’écrivent : 1 2)
eɺ1 = −f1
α
ɺ0+g e1( 2+α
1) (1.15)2 2 1 2 3
eɺ = f − +
α
ɺ g x (1.16)pour lesquelles on choisit la fonction de Lyapunov :
2
2 1 2 1 2
( , ) 1
V e e = +V 2e (1.17) qui a pour dérivée avec remplacement les équations (1.15) et (1.16) on obtient :
[ ] [ ]
[ ] [ ]
[ ]
2 1 2 1 2 2
1 1 1 2 1 0 2 2 2 3 1
1 1 1 1 0 2 2 1 1 2 3 1
2
1 1 2 2 1 1 2 3 1
( , )
( )
V e e V e e
e f g e e f g x
e f g e f g e g x
k e e f g e g x
α α α
α α α
α
= +
= + + − + + −
= + − + + + −
= − + + + −
ɺ ɺ ɺ
ɺ ɺ
ɺ ɺ
ɺ
(1.18)
Le choix de la valeur désirée de x est donnée par : 3
[ ]
3 2 1 1 1 2 2 2
2
1
xd g e f k e
α
gα
= = ɺ − − − (1.19)
où, k2 >0 et
α
ɺ1 se calcule analytiquement,1 1 x1 1 yr 1 yr
x y y
α α α
α
= ∂ +∂ +∂∂ ∂ ∂
ɺ ɺ ɺ ɺɺ
ɺ (1.20)
Un tel choix permet de réduire Vɺ2 à :
Vɺ2 = −k e1 12−k e2 22 ≤0 (1.21) Vɺ2 étant une fonction définie négative, ce qui assure la stabilité asymptotique de e et 1 e . 2 Etape 3 :
Considérons maintenant le système global (1.4)-(1.6). La troisième variable d’erreur est :
e3 = −x3
α
2 (1.22)Les équations du système dans l’espace des erreurs ( ,e e e sont données par : 1 2, 3)
eɺ1 = −f1
α
ɺ0+g e1( 2+α
1) (1.23)2 2 1 2( 3 2)
eɺ = − +f
α
ɺ g e +α
(1.24)3 3 2 3
eɺ = −f
α
ɺ +g u (1.25) On choisit la fonction de Lyapunov :3 1 2 3 2 1 32 ( , , )
V e e e = +V 2e (1.26) Sa dérivée le long de la solution de (1.23)-(1.25) devient :
[ ]
3 1 2 3 2 3 3
2 2
1 1 2 2 3 3 2 2 3 2
( , , )
V e e e V e e
k e k e e f g e g u
α
= +
= − − + + + −
ɺ ɺ ɺ
ɺ (1.27) Le choix approprié de la commande se donne par :
[
2 3 2 2 3 3]
3
u 1 f g e k e
g α
= ɺ − − − (1.28)
où, k3 >0 et αɺ2 se calcule analytiquement,
2 2 1 2 2 2 2 2
1 2
r r r
r r r
x x y y y
x x y y y
α α α α α
α = ∂ +∂ +∂ +∂ +∂
∂ ∂ ∂ ∂ ∂
ɺ ɺ ɺ ɺ ɺɺ ɺɺɺ
ɺ ɺɺ (1.29)
Il en résulte que :
Vɺ3 = −k e1 12−k e2 22−k e3 32 <0 (1.30) D’où la stabilité asymptotique en boucle fermée du système original e , 1 e , 2 e et la 3 régulation à zéro de l’erreur de poursuite (y−yr).
1.3.2 Système d’ordre supérieur
L’application récursive de la commande par backstepping permet l’extension de la procédure de conception aux systèmes triangulaires de la forme [BEN00] :
1 1 1 1 1 2
2 2 1 2 2 1 2 3
1 1 1 2 1 1 1 2 1
1 2 1 1 2 1
( ) ( )
( , ) ( , )
( , ,..., ) ( , ,..., )
( , ,..., , ) ( , ,..., , )
n n n n n n
n n n n n n n
x f x g x x
x f x x g x x x
x f x x x g x x x x
x f x x x x g x x x x u
− − − − −
− −
= +
= +
= +
= +
ɺ ɺ
⋮ ɺ ɺ
(1.31)
où, fi
( )
0 =0 et gi ≠0, 1(
≤ ≤i n)
. La procédure de conception commence avec la première équation. Le changement de variable adéquat à chaque étape i permet d’appliquer le backstepping récursivement, en rajoutant l’équation i+1. Partant deα
0, on construit les différentsα
i et Vi. Ce qui résulte en :
[ ]
[ ]
1 0
1 1 1
1 1 1
1 1
d r
i d i i i i i i i
i
n n n n n n
n
x y
x g e k e
g
u g e k e
g
α
α ϕ ω
ϕ ω
+ − −
− − −
= =
= = − − −
= − − −
(1.32)
où,
1
1 1 ( )
1 ( 1)
1
1 1
( ) , 1, ,
i i i
i
i i k
i k k k r i
k k r
i i
i i k
k k
e x
g x y i n
x y
f f
x
α
α α
ϕ ω
ω α
−
− −
+ −
=
−
=
= −
∂ ∂
= + − =
∂ ∂
= − ∂
∂
∑
∑
⋯ (1.33)
Les différentes fonctions de Lyapunov sont données par : 2
1
1 2
n
i i
i
V e
=
=
∑
(1.34)La commande u, qui permet d’atteindre les objectifs de conception pour le système global est donnée par la dernière commande virtuelle
α
n.1.4 Exemples de simulation
Afin de montrer la validité de la commande par backstepping étudiée dans ce chapitre, nous effectuons une simulation numérique en se servant du logiciel MATLAB sous
différentielles a été faite par la méthode de Runge-Kutta d’ordre 4 avec un pas fixé à 0.01 sec.
Nous appliquons la commande par backstepping pour deux exemples : Le premier est un système non linéaire de deuxième ordre et le deuxième est un robot manipulateur à une seule jonction flexible.
1.4.1 Exemple 1 : Système non linéaire de deuxième ordre
Dans cet exemple, on considère un système non linéaire de deuxième ordre donné par [KRS95a] :
1 2 1 1 1
2 2 1 2 2
( ) ( , )
T T
x x x
x u x x
ϕ θ
ϕ θ
= +
= + ɺ
ɺ (1.35) Les paramètres
θ
1 etθ
2 sont connus, supposés égales à 3,ϕ
1( )x1 =x12 et( )
2( ,x x1 2) cos x1
ϕ
= . Le système donc est de la forme suivante :
( )
2
1 2 1
2 1
3 3cos
x x x
x u x
= +
= + ɺ
ɺ (1.36) où, x , 1 x et 2 u sont, respectivement, les états et la commande du système. L'objectif de la commande est de forcer la sortie du système à suivre la trajectoire désirée :
( )
2 sin yd =π t
. Etant donné que le modèle (1.36) du système non linéaire est de deuxième ordre, la fonction stabilisante α1 et la commande u sont données par :
2
2d 1 3 1 1 1 0
x =α = − x −k e +αɺ (1.37)
( )
1 1 11 1 1 0 0 2 2
1 0 0
3cos
u e x x k e
x
α α α α α
α α
∂ ∂ ∂
= − − + + + −
∂ ɺ ∂ ɺ ∂ ɺɺ
ɺ (1.38)
où, k1>0 et k2 >0.
Les conditions initiales choisies sont : x
( )
0 =[
0.4 0]
T. Les constantes positives k et 1 k2 sont choisies comme suit : k1 =2.5 et k2 =70. Les résultats de simulation des variables d’états y=x1 et x sont donnés, respectivement, par les figures 1.2 et 1.3. Les 2 erreurs de poursuite e et 1 e sont données, respectivement, par les figures 1.4 et 1.5. Le 2 signal de commande u est donné par la figure 1.6. On remarque que les trajectoires réelles convergent vers les trajectoires désirées et que les erreurs de poursuite e et 1 e2 tendent vers zéro.Figure 1.2: Sortie du système non linéaire : réelle x1 (″-″) et désirée x1d (″--″).
Figure 1.3: Evolution de la deuxième variable d’état : réelle x2 (″-″) et désirée x2d (″--″).
Figure 1.4: Erreur de poursuite e1. Figure 1.5: Erreur de poursuite e2.
Figure 1.6: Signal de commande u.
1.4.2 Exemple 2 : Robot manipulateur à une seule jonction flexible
Le robot manipulateur à une seule jonction flexible est représenté schématiquement par la figure. 1.7. q et 1 q sont, respectivement, la position angulaire de la liaison et de l'axe de 2 moteur. Ce robot peut être exprimé par les équations différentielles non linéaires suivantes [CHA12, FAR06, GHO89, HUA04, LI12, NIC95, SAH11, SCH09, SLO91, WAN11, YIM01] :
( ) ( )
( )
1 1 1 1 2
2 2 1 2
sin 0
J q MgL q K q q
J q K q q u
+ + − =
− − =
ɺɺ
ɺɺ (1.39)
où, J et 1 J sont les inerties de la liaison et du moteur. K est la constante de ressort de la 2 rigidité commune, M est la masse de la liaison, L est la demi-longueur de la liaison et g
est l’accélération de gravité. L’entrée de la commande u est le couple d'entrée du système.
Pour la simulation, les paramètres [NIC95] du système sont choisis comme suit : 9.81 / 2
g= m s , M =1
[ ]
kg , L=1[ ]
m , J1=0.4kg m. 2, J2 =0.02kg m. 2 et[ ]
100 . /
K = N m rad . Nous choisissons les variables d'état comme suit : x1 =q1, x 2=qɺ1,
3 2
x =q et x 4=qɺ2, et son modèle dynamique devient :
( )
( )
1 2
2 1 1 3 1 3
3 4
4 2 1 3 2
, ,
x x
x f x x g x
x x
x f x x g u
=
= +
=
= +
ɺ ɺ ɺ ɺ
(1.40)
Les différentes fonctions dans (1.40) sont données comme :
( ) ( )
1 1 3 1 1
1 1
, MgLsin K
f x x x x
J J
= − − , 2
(
1 3) (
1 3)
2
, K
f x x x x
= J − et 1 2
1 2
, 1
g K g
J J
= = . L'objectif de la commande est de forcer la sortie du système à suivre la trajectoire
désirée : yd =0.1sin
( )
t .L
M, J1 J2
u q1 q2
K
Figure 1.7: Robot manipulateur à une seule jonction flexible.
Etant donné que le modèle (1.40) du manipulateur est d’ordre quatre, la synthèse de la loi de commande par backstepping se déroulera en quatre étapes.
Etape1 :
On considère le premier sous-système :
xɺ1=x2 (1.41) La variable d’état x est traitée comme une commande et l’on définit la première valeur 2 désirée :
1d 0 r
x =
α
=y (1.42)La première variable d’erreur se définit par :
1 1 0
e = −x