Chapitre 5 SNL
Chapitre 5 SNL
Chapitre 5 SNL
106
Chapitre VII : Commande des systèmes non linéaires
Les problèmes de poursuite dans le cas des systèmes non linéaires sont difficiles, car
souvent la sortie dépend de l’entrée de façon très complexe. Donc, il n’est pas toujours facile
de trouver l’entrée permettant d’obtenir la sortie désirée.
L’idée de la linéarisation entrée-sortie consiste, si c’est possible, à linéariser la relation
entre l’entrée et la sortie du système en utilisant une loi de commande non linéaire.
Soit un système non linéaire affine décrit par les équations suivantes :
𝑥̇ = 𝑓(𝑥 ) + 𝑔(𝑥 )𝑢
{ (7.1)
𝑦 = ℎ(𝑥 )
Avec :
𝑥 ∈ 𝑅𝑛 : est le vecteur d'état du système.
𝑢 : est le vecteur d'entrée du système.
𝑦 : est le vecteur de sortie du système.
𝑓 et 𝑔 sont des fonctions non linéaires continument différentiables.
Les procédures de linéarisation entrée-sortie sont :
1- La première étape de la commande par linéarisation entrée-sortie consiste à déterminer le
degré relatif du système.
La dérivée par rapport au temps de la sortie du système 𝑦 est donnée par :
𝜕ℎ(𝑥 ) 𝜕ℎ(𝑥 ) 𝜕𝑥 𝜕ℎ(𝑥 ) 𝜕ℎ(𝑥 ) 𝜕ℎ(𝑥 ) 𝜕ℎ(𝑥 )
𝑦̇ = = = 𝑥̇ = [𝑓(𝑥 ) + 𝑔(𝑥 )𝑢] = 𝑓(𝑥 ) + 𝑔(𝑥 )𝑢
𝜕𝑡 𝜕𝑥 𝜕𝑡 𝜕𝑥 𝜕𝑥 𝜕𝑥 𝜕𝑥
La dérivée de Lie est définie par :
𝜕ℎ (𝑥 ) 𝜕ℎ (𝑥 )
𝐿𝑓 ℎ(𝑥 ) = 𝑓(𝑥 ), 𝐿𝑔 ℎ(𝑥 ) = 𝑔(𝑥 ) (7.2)
𝜕𝑥 𝜕𝑥
Donc, on peut écrire :
𝑦̇ = 𝐿𝑓 ℎ(𝑥 ) + 𝐿𝑔 ℎ(𝑥 )𝑢 (7.3)
Si 𝐿𝑔 ℎ(𝑥 )𝑢 = 0, alors : 𝑦̇ = 𝐿𝑓 ℎ(𝑥 ) (𝑦̇ ne dépend pas de 𝑢).
La dérivée seconde de la sortie du système 𝑦 est :
𝜕𝐿𝑓 ℎ(𝑥 ) 𝜕𝐿𝑓 ℎ(𝑥 ) 𝜕𝐿𝑓 ℎ(𝑥 ) 𝜕𝐿𝑓 ℎ(𝑥 )
𝑦̈ = 𝑥̇ = [𝑓(𝑥 ) + 𝑔(𝑥 )𝑢] = 𝑓(𝑥 ) + 𝑔 (𝑥 )𝑢 (7.4)
𝜕𝑥 𝜕𝑥 𝜕𝑥 𝜕𝑥
𝑦̈ = 𝐿𝑓 (𝐿𝑓 ℎ(𝑥 )) + 𝐿𝑔 (𝐿𝑓 ℎ(𝑥 )) 𝑢 = 𝐿2𝑓 ℎ(𝑥 ) + 𝐿𝑔 𝐿𝑓 ℎ(𝑥 )𝑢 (7.5)
107
Chapitre VII : Commande des systèmes non linéaires
Remarque :
* Si le degré relatif 𝑟 est égal à l’ordre du système 𝑛 (𝑟 = 𝑛), alors le système admet une
linéarisation exacte.
* Si le degré relatif 𝑟 est inférieur à l’ordre du système 𝑛 (𝑟 < 𝑛), alors le système admet une
linéarisation partielle.
* Si l’entrée 𝑢 n’apparaît pas après 𝑛 dérivations de la sortie du système, alors, le système
n’est pas commandable.
2- La deuxième étape de la commande par linéarisation entrée-sortie consiste à déterminer
une transformation de coordonnées pour mettre le système sous la forme normale.
On met le système sous la forme suivante :
𝑧1 𝑦 𝐿0𝑓 ℎ(𝑥 )
𝑧2 𝑦̇ 𝐿𝑓 ℎ(𝑥 )
𝑧 = 𝑇(𝑥 ) ⇒ 𝑧3 = 𝑦̈ = 𝐿2𝑓 ℎ(𝑥 ) (7.8)
⋯ ⋯ ⋯
(𝑟−1)
(𝑧𝑟 ) (𝑦 ) 𝑟−1 ( )
(𝐿𝑓 ℎ 𝑥 )
Avec : 𝑧1 , 𝑧2 , … , 𝑧𝑟 sont les nouvelles coordonnées du système non linéaire. Donc, le système
non linéaire peut être représenté sous la forme normale suivante :
𝑧̇1 = 𝑧2
𝑧̇2 = 𝑧3
𝑧̇3 = 𝑧4 (7.9)
⋯
𝑟 ( ) 𝑟−1
{𝑧̇𝑟 = 𝐿𝑓 ℎ 𝑥 + 𝐿𝑔 𝐿𝑓 ℎ(𝑥 )𝑢
On pose : 𝛼(𝑥 ) = 𝐿𝑟𝑓 ℎ(𝑥 ) et 𝛽 (𝑥 ) = 𝐿𝑔 𝐿𝑟−1
𝑓 ℎ(𝑥 ), on obtient :
108
Chapitre VII : Commande des systèmes non linéaires
𝑧̇1 = 𝑧2
𝑧̇2 = 𝑧3
𝑧̇3 = 𝑧4 (7.10)
⋯
{𝑧̇𝑟 = 𝛼 𝑥 ) + 𝛽(𝑥 )𝑢
(
3- La troisième étape de la commande par linéarisation entrée-sortie consiste à déterminer la
loi de commande qui permet de linéariser le système non linéaire en un système linéaire
équivalent.
1
𝑢= [𝑣 − 𝛼 (𝑥 )], 𝛽 (𝑥 ) ≠ 0 (7.11)
𝛽(𝑥 )
Avec : 𝑣 est la nouvelle entrée (nouvelle variable de commande) pour laquelle le système est
linéaire. Elle est généralement utilisée pour stabiliser le système en boucle fermée.
On substitue l’expression de la commande 𝑢 dans la représentation d’état du système non
linéaire, cela permet d’éliminer les non-linéarités dans le système non linéaire.
𝑧̇𝑟 = 𝑦 (𝑛) = 𝑣 (7.12)
Une fois le système non linéaire est linéarisé, on peut concevoir un contrôleur pour le
système linéarisé en utilisant n'importe quelle méthode de conception des contrôleurs
linéaires classiques. Par exemple, on peut utiliser la commande linéaire par retour d’état.
𝑣 = −𝐾0 𝑦 − 𝐾1 𝑦̇ − 𝐾2 𝑦̈ − ⋯ − 𝐾𝑛−1 𝑦 (𝑛−1) (7.13)
Avec les 𝐾𝑖 sont choisis de sorte que le polynôme 𝑝 (𝑛) + 𝐾𝑛−1 𝑝 (𝑛−1) + ⋯ + 𝐾0 ait des
racines avec des parties réelles négatives.
Si on considère que 𝑦𝑑 est la sortie désirée, et 𝑒 est l'erreur de suivi 𝑒 = 𝑦 − 𝑦𝑑 , donc la loi
de commande devient :
(𝑛)
𝑣 = 𝑦𝑑 − 𝐾0 𝑒 − 𝐾1𝑒̇ − 𝐾2 𝑒̈ − ⋯ − 𝐾𝑛−1 𝑒 (𝑛−1) (7.14)
109
Chapitre VII : Commande des systèmes non linéaires
Boucle de linéarisation
𝑧1 = 𝑦 = 𝐿0𝑓 ℎ(𝑥 )
𝑧2 = 𝑦̇ = 𝐿𝑓 ℎ(𝑥 )
𝑧 = 𝑇 (𝑥 ) = 𝑧3 = 𝑦̈ = 𝐿2𝑓 ℎ(𝑥 )
⋯
(𝑟−1)
{𝑧𝑟 = 𝑦 = 𝐿𝑟−1
𝑓 ℎ (𝑥 )
110
Chapitre VII : Commande des systèmes non linéaires
𝑦𝑑 𝑣 𝑢 𝑥̇ 1 = 𝑥12 + 𝑥2 𝑦
𝑣 = −𝑘𝑧 𝑢=𝑣− 2𝑥13 − 2𝑥1 𝑥2 { 𝑥̇ 2 = 𝑢
+ 𝑦 = 𝑥1
−
Boucle de linéarisation
𝑧1 = 𝑦 = 𝑥1
𝑧 = 𝑇 (𝑥 ) = {
𝑧2 = 𝑦̇ = 𝑥12 + 𝑥2
Figure VII.2 : Commande par linéarisation entrée-sortie
111
Chapitre VII : Commande des systèmes non linéaires
112
Chapitre VII : Commande des systèmes non linéaires
113
Chapitre VII : Commande des systèmes non linéaires
𝑦𝑑 𝑣 𝑢 𝑥̇ 1 = 𝑥2 + 𝑢 𝑦
𝑣 = −𝑥1 𝑢 = 𝑣 − 𝑥2 { 𝑥̇ 2 = 𝑢
+ 𝑦 = 𝑥1
−
Boucle de linéarisation
𝑧 = 𝑇(𝑥 ) = 𝑧1 = 𝑦 = 𝑥1
114
Chapitre VII : Commande des systèmes non linéaires
115
Chapitre VII : Commande des systèmes non linéaires
116
Chapitre VII : Commande des systèmes non linéaires
117
Chapitre VII : Commande des systèmes non linéaires
𝑦𝑑 𝑣 𝑢 𝑥̇ 1 = 𝑥2 + 𝑢 𝑦
𝑣 = −𝑥1 𝑢 = 𝑣 − 𝑥2 { 𝑥̇ 2 = −𝑢
+ 𝑦 = 𝑥1
−
Boucle de linéarisation
𝑧 = 𝑇(𝑥 ) = 𝑧1 = 𝑦 = 𝑥1
118
Chapitre VII : Commande des systèmes non linéaires
119
Chapitre VII : Commande des systèmes non linéaires
Linéarisation
entrée-sortie
Linéarisation 𝑟=𝑛 Linéarisation
entrée-sortie Linéarisation entrée-état
𝑟<𝑛 entrée-état 𝑟<𝑛
120
Chapitre VII : Commande des systèmes non linéaires
𝑦 𝐿0𝑓 ℎ(𝑥 )
𝑧1
𝑧2 𝑦̇ 𝐿1𝑓 ℎ(𝑥 )
⋮ ⋮ ⋮
𝑧𝑟 𝑦 (𝑟−1) 𝑟−1 ( )
𝐿𝑓 ℎ 𝑥
𝑇(𝑥 ) = − − − − = − − − − = −−−− (7.49)
𝜂1 𝜂1
𝜂2 𝜑1 (𝑥 )
𝜂2
⋮ 𝜑2 (𝑥 )
( 𝜂𝑛−𝑟 ) ( 𝜂 ⋮ ) ⋮
𝑛−𝑟
( 𝜑𝑛−𝑟 (𝑥 ) )
𝜕𝜑𝑖 (𝑥)
Les fonctions 𝜑1 (𝑥 ), 𝜑2 (𝑥 ), … , 𝜑𝑛−𝑟 (𝑥 ) sont choisies telles que : 𝑔(𝑥 ) = 0, 1 ≤ 𝑖 ≤
𝜕𝑥
121
Chapitre VII : Commande des systèmes non linéaires
𝑧̇1 = 𝑧2
𝑧̇2 = 𝑧3
𝑧̇3 = 𝑧4
⋯
𝑧̇𝑟 = 𝐿𝑓 ℎ 𝑥 + 𝐿𝑔 𝐿𝑟−1
𝑟 ( )
𝑓 ℎ(𝑥 )𝑢 (7.50)
𝜂̇1 = 𝜙1 (𝜂, 𝑧)
𝜂̇ 2 = 𝜙2 (𝜂, 𝑧)
…
{ 𝜂̇ 𝑛−𝑟 = 𝜙𝑛−𝑟 (𝜂, 𝑧)
On pose : 𝛼(𝑥 ) = 𝐿𝑟𝑓 ℎ(𝑥 ) et 𝛽 (𝑥 ) = 𝐿𝑔 𝐿𝑟−1
𝑓 ℎ(𝑥 ), on obtient :
𝑧̇1 = 𝑧2
𝑧̇2 = 𝑧3
𝑧̇3 = 𝑧4
⋯
𝑧̇𝑟 = 𝛼 (𝑥 ) + 𝛽(𝑥 )𝑢 (7.51)
𝜂̇1 = 𝜙1 (𝜂, 𝑧)
𝜂̇ 2 = 𝜙2 (𝜂, 𝑧)
…
{ 𝜂̇ 𝑛−𝑟 = 𝜙𝑛−𝑟 (𝜂, 𝑧)
L’équation 𝜂̇ = 𝜙(𝜂, 𝑧) représente la dynamique interne du système (la partie non observable
dont il est nécessaire d’étudier la stabilité).
𝑦𝑑 𝑣 1 𝑢 𝑦
𝑥̇ = 𝑓 (𝑥 ) + 𝑔(𝑥 )𝑢
𝑣 = −𝑘𝑧 𝑢= [𝑣 − 𝛼(𝑥 )] {
+ 𝛽 (𝑥 ) 𝑦 = ℎ (𝑥 )
−
Boucle de linéarisation
𝑧1 = 𝑦 = 𝐿0𝑓 ℎ(𝑥 )
𝑧2 = 𝑦̇ = 𝐿𝑓 ℎ(𝑥 )
…
𝑧𝑟 = 𝑦 (𝑟−1) = 𝐿𝑟−1
𝑓 ℎ (𝑥 )
𝑇 (𝑥 ) =
𝜂1 = 𝜑1 (𝑥 )
𝜂2 = 𝜑2 (𝑥 )
…
{ 𝜂𝑛−𝑟 = 𝜑𝑛−𝑟 (𝑥 )
Figure VII.15 : Schéma de principe de la commande par linéarisation entrée-état
Exemple :
Soit le système non linéaire suivant :
122
Chapitre VII : Commande des systèmes non linéaires
𝑥̇1 = 𝑥3 + 8𝑥2
𝑥̇ 2 = −𝑥2 + 𝑥3
{ (7.52)
𝑥̇ 3 = −𝑥3 + 𝑥14 − 𝑥12 − 𝑢
𝑦 = 𝑥1
Procédures de linéarisation entrée-état :
1- Le degré relatif du système :
𝑦 = 𝑥1 (7.53)
𝑦̇ = 𝑥̇1 = 𝑥3 + 8𝑥2 (7.54)
𝑦̈ = 𝑥̈1 = 𝑥̇ 3 + 8𝑥̇ 2 = 𝑥14 − 𝑥12 − 𝑢 − 8𝑥2 + 7𝑥3 (7.55)
Donc, le degré relatif est égal à 𝑟 = 2 qui est inférieur à l’ordre du système 𝑛 = 3.
2- Transformation des coordonnées : La nouvelle représentation d’état du système est :
𝑧1 𝑦 𝑥1
𝑇(𝑥 ) = ( 𝑧2 ) = ( 𝑦̇ ) = ( 3 8𝑥2 )
𝑥 + (7.56)
𝜂1 𝜂1 (
𝜑1 𝑥 )
La fonction 𝜑1 (𝑥 ) est choisie telle que : 𝑇(𝑥 ) est difféomorphisme.
La fonction 𝜑1 (𝑥 ) vérifie la condition suivante :
123
Chapitre VII : Commande des systèmes non linéaires
𝑧̇1 = 𝑧2
{ 𝑧̇2 = 𝑣 (7.62)
𝜂̇1 = 𝑧2 − 9𝜂1
Si on choisit :
𝑣 = 𝑦̈ 𝑑 − 𝑘1 (𝑦̇ − 𝑦̇ 𝑑 ) − 𝑘0 (𝑦 − 𝑦𝑑 ) = 𝑦̈ 𝑑 − 𝑘1 (𝑧2 − 𝑦̇ 𝑑 ) − 𝑘0 (𝑧1 − 𝑦𝑑 ) (7.63)
Avec : 𝑘0 = 1, 𝑘1 = 1 et 𝑦𝑑 = 0.
𝑣 = −𝑧2 − 𝑧1 (7.64)
𝑧̇1 = 𝑧2
{𝑧̇2 = −𝑧2 − 𝑧1 (7.65)
𝜂̇1 = 𝑧2 − 9𝜂1
La dynamique interne dans système (la partie non observable) est :
𝜂̇1 = 𝑧2 − 9𝜂1 (7.66)
La première et la deuxième équation différentielle du système présente un système
asymptotiquement stable, car 𝑧1 (𝑡) → 0 et 𝑧2 (𝑡) → 0.
𝑡→∞ 𝑡→∞
L’équation de la dynamique interne devient (dynamique des zéros) : 𝜂̇1 = −9𝜂1 ⇒ 𝜂1 (𝑡) =
𝜂1 (0)𝑒 −9𝑡 et 𝜂1 (𝑡) → 0, donc, la dynamique des zéros est asymptotiquement stable.
𝑡→∞
𝑥̇ 1 = 𝑥3 + 8𝑥2
𝑦𝑑 𝑣 𝑢 𝑥̇ 2 = −𝑥2 + 𝑥3 𝑦
𝑣 = −𝑘𝑧 𝑢 = 𝑥14 − 𝑥12 − 8𝑥2 + 7𝑥3 − 𝑣 {
𝑥̇ 3 = −𝑥3 + 𝑥14 − 𝑥12 − 𝑢
+
𝑦 = 𝑥1
−
Boucle de linéarisation
𝑧1 = 𝑦 = 𝑥1
𝑇 𝑥 = { 2 𝑦̇ = 𝑥3 + 8𝑥2
( ) 𝑧 =
𝜂1 = 𝜑1 (𝑥) = 𝑥2
Figure VII.16 : Commande par linéarisation entrée-état
124
Chapitre VII : Commande des systèmes non linéaires
125
Chapitre VII : Commande des systèmes non linéaires
126
Chapitre VII : Commande des systèmes non linéaires
𝑥̇ (𝑡)
Condition initiale
(𝑥0 , 𝑥̇ 0 )
L’état désiré
𝑥𝑑 𝑥(𝑡 )
Phase de convergence
Phase de glissement
Surface de glissement
𝑆(𝑡) = 0
Figure VII.20 : principe de la commande par mode glissant
En résumé, une commande par mode glissant se fait principalement en trois parties :
127
Chapitre VII : Commande des systèmes non linéaires
128
Chapitre VII : Commande des systèmes non linéaires
𝑑 2
* Si 𝑟 = 3 : 𝑆 = ( + 𝛼) 𝑒 = 𝑒̈ + 2𝛼𝑒̇ + 𝛼 2 𝑒.
𝑑𝑡
129