Commande industrielle et systèmes linéaires
Commande industrielle et systèmes linéaires
Commande industrielle
MASTER IESE
Pr: F.ERRAHIMI
[email protected]
1
Introduction
2
3
4
• Linéarité «mathématique»: un système est linéaire si le principe de superposition
s’applique.
• Linéarité «physique»: un système est linéaire s’il est régi par des équations
différentielles linéaires, à coefficients constants et d’ordre fini.
La linéarité physique implique la linéarité mathématique et elle est plus restrictive (elle
exclut, par exemple, les systèmes régis par des équations aux dérivées partielles linéaires,
comme les phénomènes de propagation).
Dans la réalité, aucun système physique n'est linéaire, mais de nombreux systèmes le
deviennent, moyennant certaines approximations, valable dans un domaine de
fonctionnement limité.
L’hypothèse de linéarité simplifie considérablement l’étude du système: elle permet
d’introduire la notion de fonction de transfert, avec ses diverses représentations
(réponse fréquentielle, configuration des pôles et des zéros) qui constituent un outil
puissant pour l’analyse et la synthèse des systèmes asservis.
Les méthodes linéaires présentent des limitations:
Elles ne s’appliquent que dans un domaine de fonctionnement limité du système.
Il existe des systèmes qu’il est impossible, même de façon approchée, de considérer comme
linéaires (relais).
Il existe des phénomènes très importants, dans la théorie et la pratique des systèmes asservis,
que les notions linéaires sont incapables de rendre compte; par exemple:
La limitation de la précision par le seuil des différents organes (la théorie linéaire indique
une précision infinie lorsque la chaîne directe comprend des intégrations).
Le phénomène de ‘pompage’, qui consiste en la présence d’oscillations périodiques,
d’amplitude constante et indépendante des conditions initiales «oscillateur ».
(la théorie linéaire ne connaît que des systèmes stables ou instables). 5
Etude des Systèmes linéaires
dans un espace d’état
Toutes les méthodes étudiées jusqu’à présent de l’asservissement linéaire
restent valables et efficaces jusqu’à ce que ces systèmes atteignent une complexité telle
que l’on ne puisse plus se satisfaire de l’unique relation entrée – sortie (c'est-à-dire les
systèmes mono-variables SISO: Single Input Single Output) pour les commander
correctement. De même, ces modèles deviennent difficiles à mettre en œuvre lorsque les
systèmes étudiés possèdent plusieurs entrées et plusieurs sorties cas d’un système
multi-variable (MIMO : Multi Input Multi Output).
Les théories de commande avancées sont basées complètement sur les modélisations
modernes sous la forme des variables d'état. La représentation d’état des systèmes est
un outil puissant permettant de modéliser le fonctionnement de systèmes linéaires, en
temps continu ou en temps discret et qui possède en outre, l’avantage de conserver la
représentation temporelle des phénomènes.
1. Représentation d'état d'un système dynamique
On définit l'état d'un système à l’instant t0 comme l’information sur le passé
nécessaire et suffisante pour déterminer l’évolution ultérieure du système quand on
connaît, pour t>t0, les signaux d’entrée et les équations du système. Plus généralement,
les variables d’état dans les systèmes physiques sont les éléments aptes à emmagasiner
de l’énergie sous forme cinétique ou potentielle : inductances, capacités, masses,
6
ressorts... Ce sont les éléments ayant une capacité de "mémoire".
Exemple : considérons l’exemple de la figure 1 décrit par les équations différentielles
suivantes
(1)
7
Un vecteur d’état sera noté:
dx
A(t ) x(t ) B(t )e(t ) Equation d' état
dt
s (t ) C (t ) x(t ) D(t )e(t ) Equation de sortie
9
.
e(t)
u(t) x(t) x(t) y(t)
B(t) + C(t) +
A(t)
D(t)
2 n 0 n
A priori, son calcul fait intervenir un nombre infini de termes : le calcul de toutes les
puissances de A. En fait, nous allons voir que cela n’est pas nécessaire.
(t ) e n1 (t ) A
At n1
... 1 (t ) A 0 (t ) I (2)
Dans le cas où les valeurs propres sont distinctes deux à deux, pour calculer les
coefficients ( 0 , 1... n 1 ) , il suffit de considérer une base de vecteurs propres
(x0; x1;…xn-1) de A. On note (0 , 1...n 1 ) ses valeurs propres et on réécrit
simplement l’égalité (2) appliquée à chaque vecteur propre de A : 13
e At xk n 1 (t ) An 1 xk ... 1 (t ) Axk 0 (t ) Ix k
n1
n 1 (t )k xk ... 1 (t )k xk 0 (t ) xk
D’autre part xk est non nul et
An n
nk n
e xk
At
t xk t xk e k t xk
0 n 0 n
Il vient :
n 1
k t
e n 1 (t )k ... 1 (t )k 0 (t )
ceci vaut pour toute la base de vecteurs propres. On aboutit donc au système de n
équations à n inconnues suivant :
Lt 1
e At
Pe P
Calcul par la Transformée de Laplace
Une autre méthode de calcul de la matrice de transition d’état consiste à utiliser les
propriétés de la transformée de Laplace :
si e At [aij (t )]1i , j n
alors TL(e At ) ( pI A) 1 [TLa ij (t )]1i , j n
La méthode consiste donc à calculer la matrice (pI - A)-1 puis à prendre la transformée de
Laplace inverse de chacun des termes de la matrice obtenue.
15
Exemple:
16
Exemple:
17
18
Passage d’une représentation
d’état vers autre
représentation sous Matlab
19
Exemple:
calcul de la matrice de
transition d’état par la
méthode de la transformée
de Laplace
20
2. Représentation et analyse des systèmes dans l’espace
d’état
Les systèmes linéaires et stationnaires sont généralement décrits par leur fonction de transfert
(transformée de Laplace de la réponse impulsionnelle). Pour pouvoir transposer les propriétés
utilisées dans le domaine de Laplace au cas des représentations d’état, il est nécessaire d’établir
le passage d’une représentation à l’autre.
21
En prenant les T.L. des équations d’état et de sortie, on obtient :
pX ( p) AX ( p) BE ( p)
S ( p) CX ( p) DE ( p)
En supposant les conditions initiales nulles. Soit encore :
1
X ( p ) ( pI A) BE ( p )
S ( p ) C[( pI A) 1
B ] E ( p ) DE ( p ) [C ( pI A) 1
B D ]E ( p )
Finalement : H ( p) C ( pI A) 1 B D
Les pôles de la fonction de transfert correspondent aux zéros de det(pI -A) qui est aussi le
polynôme caractéristique de la matrice d’état A. Par conséquent, les pôles de H(p) sont les
valeurs propres de la matrice d’état A. 22
23
Passage de la représentation d’état vers la fonction de transfert sous Matlab 24
25
Stabilité dans l’espace d’état
Dans la littérature plusieurs définitions de la stabilité:
Un système est stable si en réponse à une entrée bornée, la sortie du système est
bornée.
Ces concepts de stabilité d’un point d’équilibre sont illustrés sur la figure suivante :
Un système linéaire est stable si tous les pôles (Valeurs propre de A) sont à partie
réel strictement négatives
26
Exemple:
27
2.2 Formes standard de représentations d’état
Considérant un système décrit par sa fonction de transfert, il est possible de construire très
simplement des représentations d’état de ce système en le décomposant en sous-systèmes
élémentaires: des systèmes d’ordre 1 mis en série ou en parallèle.
On considère le système de fonction de transfert:
1 1
H1 ( p ) n
D( p) p an1 p n1 ... a1 p a0
Avec,
28
2.2.1 La forme compagne pour la commande
Le système est vu comme une mise en série d’intégrateurs purs. A partir de l’expression de
la fonction de transfert H(p), on retrouve aisément l’équation différentielle associée au
système :
s1( n ) (t ) an 1s1( n 1) (t ) ... a1s1(1) (t ) a0 s1 (t ) e(t )
et s (t ) bm s1( m ) (t ) bm 1s1( m 1) (t ) ... b1s1(1) (t ) b0 s1 (t )
Il suit la représentation schématique de la figure 2. On choisit comme variables d’état les
sorties des systèmes élémentaires, e.i les dérivées successives de la sortie. La représentation
d’état obtenue est dite une forme canonique commandable ; elle s’écrit (si m < n) :
0 1 ... 0 0 0
...
dx ... ... ... ... ... s1
0 0 ... 1 0 x 0 e s (1)
dt avec x 1
0 0 ... 0 1 0 ...
a0 a1 ( n 1)
... an 2 an 1 1 s1
s (t ) b0 b1 b2 b3 ...x
29
+
30
2.2.2 La forme modale (Forme diagonale ou parallèle)
Le système est vu comme une mise en parallèle de systèmes d’ordre 1. Pour mettre en
évidence cette représentation, il suffit de décomposer la fonction de transfert H(p) en
éléments simples. Dans le cas où tous les pôles sont simples et le système d’ordre n, H(p)
prend la forme :
H ( p) 0
1
... n 1
p 0 p 1 p n1
Il suit la représentation schématique de la figure 3. On choisit comme variables d’état les
sorties des systèmes élémentaires. La représentation d’état obtenue est dite sous forme
modale ; elle s’écrit :
0 0 ... 0 0 1
0 1
dx 1 ... 0 0 x0
... ... ... ... ... x ... e x
dt avec x 1
0 0 ... n 2 0 1 ...
0
0 ... 0 n 1 1 xn 1
s (t ) 0 1 2 3 ...x
31
Figure 3: Interprétation d’un système complexe sous la forme d’une mise en parallèle de
systèmes d’ordre1
Remarques
• A est diagonale; les éléments diagonaux correspondent aux pôles du système.
• La présence d’un numérateur modifie les pondérations dans la décomposition en
éléments simples; seules les matrices C et D sont affectées.
• Si le système a des pôles multiples, A est diagonale par blocs, H(p) prend la forme :
A1 0 ... 0 0 B1
0 A2 ... 0 0 B
2
A ... ... ... ... ... B ... C C1 C2 ... ... Ck D0
... ... ... ... ... ...
0 0 ... 0 Ak Bk
Avec,
j 0 0 ... 0 1
1 j 0 ... 0 0
Aj 0 1 j ... 0
B j ... C j 1 j 2 j ... ... ij
... ... ... ... ... ...
0 0 0 ... j 0
33
2.2.3 La forme cascade
Le système est vu comme une mise en série de systèmes d’ordre 1. Pour mettre en
évidence cette représentation, il suffit de factoriser le dénominateur de la fonction de
transfert H(p). Dans le cas d’un numérateur unitaire, on obtient :
1
H ( p) .
( p 0 )( p 1 )...( p n1 )
Il vient alors la représentation schématique de la figure 4. On choisit comme variables
d’état les sorties des systèmes élémentaires. La représentation d’état obtenue est dite sous
forme cascade. Dans le cas d’un numérateur unitaire, elle s’écrit:
n 1 1 ... 0 0 0
0
dx n 2 1 ... 0 0 x0
... ... ... ... ... x ... e x
dt avec x 1
dx
Ax (t ) Be (t )
dt
s (t ) Cx (t ) De(t )
et
dr
A' r (t ) B ' e(t )
dt
s (t ) C ' r (t ) D ' e(t ) 35
Le vecteur d’état est un ensemble minimal de variables d’état, il engendre un espace,
appelé espace d’état de dimension exactement égal au nombre de variables d’état.
Changer de vecteur d’état, c’est simplement changer de base de représentation. Il existe
donc une matrice de changement de base P telle que :
r Px
dx
P A' Px (t ) B ' e(t )
et dt
s (t ) C ' Px (t ) D ' e(t )
dx 1 1
Soit encore P A' Px (t ) P B ' e(t )
dt
s (t ) C ' Px (t ) D ' e(t )
36
Passage de la fonction de transfert vers la représentation d’état sous Matlab
37
Un exemple Multivariable
Y T1 *U1 T2 *U 2
Schéma fonctionnel de la
forme commandable
(Matlab/Simulink)
39
Sous Matlab/Simulink une autre forme de schématiser un système par sa représentation
d’état donnée par la figure suivante où le bloc state-space est à la la bibliothèque de Simulink
/continous, en modifiant les matrices A,B,C,D selon la forme canonique choisie.
Schéma fonctionnel de la
Forme commandable
(Matlab/Simulink)
On refait les mêmes étapes sous Simulink, ceci en utilisant de la bibliothèque le bloc
State-spaces (sous la rubrique countinous) on montre ici le remplissage du bloc forme
commandable et c’est les mêmes procédures pour les autres formes, en respectant les
matrice A,B,C,D de chaque forme.
42
La figure suivante mon les trois sorties (YO, YC, YM) avec entrée u (t) échelon unité:
43
3 Commande dans l’espace d’état
3.1 Principe de la commande par retour d’état linéaire
La commande par retour d'état est un moyen de modifier le comportement en boucle
fermée d'un système dynamique donné par une représentation d'état. Cette approche suppose
que l'état connu. Ceci peut être utilisé pour obtenir un système en boucle fermée dont les
pôles (les valeurs propres de la matrice d'état), soient placés de manière appropriée. Ces
derniers déterminent le comportement d’un système mononovariable.
Le principe est de déterminer une commande telle que les pôles du système de la fonction de
transfert du système bouclé soient convenablement placés dans le plan complexe et satisfasse
des spécifications d’amortissement, de rapidité...
Les pôles de la fonction de transfert étant les valeurs propres de la matrice d’état, le but est
donc de réaliser un asservissement modifiant convenablement la matrice d’état du système.
dx
Ax (t ) Be(t )
Soit un système décrit par l’équation d’état suivant : dt
s (t ) Cx (t ) De(t )
La commande par retour d’état consiste en l’utilisation d’une loi de commande proportionnelle
dx
( A BL ) x(t ) Bu (t )
dt
s (t ) (C DL) x(t ) Du (t )
e
u
45
Remarque Le choix du gain de commande K doit se faire de façon à réaliser un compromis
entre:
• Un système rapide avec des valeurs propres à parties réelles négatives grandes en valeur absolue
(inconvénient: les amplitudes de certaines états et de l’entrée de commande pouvant être
grandes).
• des valeurs de gain plus faible, des valeurs propre stables moins grandes en valeurs absolues
(inconvénient: des amplitudes de commande plus faible, un système moins rapide et moins
sensible au bruit).
3.2 La commande par placement de pôles
Elle est réalisable soit dans l’espace d’état, soit sous forme algébrique à partir des fonctions de
transfert.
3.2.1 But et définition
On appelle commande par placement de pôles la commande qui consiste à déterminer une
matrice de retour d’état L telle que les valeurs propres de la matrice (A - BL) soient placées en
des positions préfixées (0 , 1...n 1 ) (valeurs complexes). L’existence d’une solution est
étudiée à travers la notion de commandabilité.
3.2.2 Commandabilité
Un système est commandable si et seulement si, pour toute contrainte modale (0 , 1...n 1 )
il existe un retour d’état linéaire L satisfaisant. On montre que, dans le cas d’un système
mono-variable (une entrée, une sortie), si le retour d’état L existe, il est unique.
Il est souvent intéressant de s’assurer de la commandabilité d’un système avant de chercher à
mettre en oeuvre la commande proprement dite. En d’autres termes, on demande de disposer
46
d’une condition nécessaire et suffisante de commandabilité.
Considérons un système représenté par un vecteur d’état x, et une équation d’évolution de
e At
0 (t ) I 1 (t ) A 2 (t ) A ... n1 (t ) A2 n 1
n 1
x(t ) x(0) A B k ( )e( )d
t
At k
e
to
k 0 47
A et B étant fixés, le système est commandable si on peut trouver e() telle que la
relation soit vraie quelque soit les états initiaux et finaux x(0) et x(t), e.i si aucun des
termes Ak B n’est lié à un autre, ce qui s’écrit :
dr 1 0 ... 0 0
A' r (t ) B ' e(t ) 0 2 0 ... 0
dt
A' ... ...
D’où
s (t ) C ' r (t ) D' e(t )
... ... ...
... ... ... ... ...
0 0 ... 0 n
Critère de commandabilité
Le système est complètement commandable Les lignes de B’ ne sont pas nulles.
Les lignes nulles de B’ correspond à des variables d’état non commandable.
49
Exemple:
50
0 1 0 ... 0 0
0 0 1 ... 0 0
A B
... ... ... ... ... ...
a0 a1 a2 ... an 1 1
0 1 0 ... 0 0 1 0 ... 0
0 0 1 ... 0 0 0 1 ... 0
A BL
... ... ... ... ... ... ... ... ... ...
a0 l0 a1 l1 a2 l2 ... an1 ln1 a0' a1' a2' ... an' 1
a0 l0 a0'
1
a l a '
1 1
...
a '
n 1 l n 1 a n 1
Par rapport au cas de la forme compagne pour la commande, il a été ajouté une étape
de calcul du polynôme caractéristique de la matrice d’état du système bouclé
det(pI - (A - BL)).
Une autre solution consiste à effectuer un changement de base pour se ramener au cas
d’une forme compagne pour la commande.
Sous MATLAB :
K= place(F,G,pôles)
53
Exemple: Considérons le système suivant
54
55
Exemple : Système commandable
2 3 4 1
0 x(t ) 0u (t )
.
1 x(t ) 1 0
G ( p) 3
p 2 p2 3 p 4 0 1 0 0
y (t ) 0 0 1x(t )
1 2 1
C ( F , G ) 0 1 2 rang (C ( F , G )) 3
0 0 1
La matrice de commandabilité de G et d’ordre 3, le
système est donc commandable
1 0 0 2 3 4
det( pI F ) det( p 0 1 0 1 0 0 )
0 0 1 0 1 0
p3 2 p2 3 p 4
Le système G stable mais oscillant
det( pI F ) 0 p 2 p 3 p 4 0
3 2
56
Objective : Rendre le système non oscillant mais sans ralentir son mode le plus rapide via un
retour d’état. On veut par exemple que tous les pôles du système commandable soient en -2
p 2 a 3 b 4 c
K a b c / det( pI F GK ) ( p (2))3 det( pI F GK ) det( 1 p 0 )
0 1 p
p 3 (2 a) p 2 (3 b) p 4 c
2 a 6
on veut det( pI F GK ) ( p (2))3 p 3 6 p 2 12 p 8 3 b 12 K [4 9 4]
4 c 8
2 3 4 1
x (t ) 1 0 0 x(t ) 0u (t )
SLI LDC u (t ) 4 9 4x(t )
0 1 0 0
y (t ) 0 0 1x(t )
6 12 8
6 12 8
px(t ) ( F GK ).x(t ) x (t ) 1 0 x(t )
det( pI 1 0 ) ( p (2))3
0
SC 0
y (t ) ( H EK ).x(t ) 0 1 0
0 1 0
y (t ) 0 0 1x(t )
La synthèse du gain K vérifie bien la contrainte sur les pôles que l’on a spécifié. 57
Sys seul
Sys + Retour d’état
y*=0
Régulation
59
Consigne en poursuite
X0=[0 0 0]
60
61
Influence de la recherche de dynamique sur la commande
K1 : pôles : -5 -6 -7
K2 : pôles : -1 -2 -3
Le réglage K1 est + dynamique
Commande non
admissible
62
Exemple : Système non commandable
2 3 4 1
x(t ) 1 0 0 x(t ) 0u (t )
Sys1
0 1 0 0
y (t ) 0 0 1x(t )
2 3 4 0 1
1 0
x(t ) 0 0 0 x(t ) u (t )
Sys2 0 1 0 0 0
0 0 0 5 0
y (t ) 0 0 1 0x(t )
63
2 3 4 0 1
x(t ) 1 0 0 0 0
x(t ) u (t )
Sys2 0 1 0 0 0
0 0 0 5 0
y (t ) 0 0 1 0x(t )
0 0 1 0
0 1 0 0
C ( F , G) Rang(C ( F , G )) 3
1 0 0 0
2 3 4 0
Peut on quand même trouver un gain de retour d’état tel que tous les pôles du
système de commande soit en -2 ?
64
K a b c d / det( pI F GK ) ( p (2)) 4
p 2 a 3b 4 c d
1 p 0 0
det( pI F GK ) det( )
0 1 p 0
0 0 0 p 5
p 4 (7 a) p 3 (13 5a b) p 2 (19 5b c) p (20 5c)
66
Exemple:
dx A11 A12 x1 B
e
dt 0 A22 x2 0
Les modes du système sont les zéros du polynôme caractéristique de la matrice d’état ; il vaut :
Les valeurs propres de A sont les valeurs propres de A11 et les valeurs propres de A22.
x1
La commande modale s’écrit e Lx u [ L1 L2 ] u
x2
69
L’équation d’évolution de l’état du système commandé s’écrit :
dx A11 B1 L1 A12 B1 L2 x1 B1
u
dt 0 A22 x2 0
On note que l’évolution de la partie non commandable reste libre (indépendante de la
dx2
commande modale L), en effet : A22 x2 Les modes de A22 ne peuvent être déplacé.
dt
Stabilisabilité
Le principe de stabilisabilité a été introduit pour tenir compte du cas des modes non
commandables.
La paire (A,B) est dite stabilisable si et seulement si tous les modes non commandable
sont asymptotiquement stables
Conclusion :
• Lorsqu’un système a une partie non commandable, les seuls modes modifiables sont ceux
de la partie commandable (ceux de A11).
• La partie L2 de la matrice de réjection (L) est déterminée autrement. D’autres critères
peuvent être pris en compte, comme par exemple, le fait de rendre la sortie indépendante de
la partie non commandable x2.
•Les systèmes qu’on peut stabiliser sont ceux dont les pôles non commandables sont stables.
70
3..2 Choix des valeurs propres du système bouclé
1. Pour que la commande soit physiquement réalisable, les valeurs propres choisies
doivent être réelles ou complexes conjuguées deux à deux (ce qui garantit une
fonction de transfert à coefficients réels).
2. La stabilité étant la première qualité à assurer pour la boucle fermée, les valeurs
propres doivent être à partie réelle strictement négative.
3. On peut transposer le choix dans le domaine fréquentiel : on impose une bande
passante désirée wo au système bouclé.
Conclusion
La commande à retour d’état par placement de pôles (commande modale) est
relativement simple dans sa mise en œuvres, mais sur des systèmes complexes
d’ordre élevé avec des vecteurs d’état qui ne sont pas toujours physique on
arrive à des limites dans sa mise en œuvres
Probléme 1:
Les états d’un système ne sont pas toujours mesurable, le coût des
capteurs peut aussi être un frein à la commande par placement de pôles
Une solution Les observateurs
Problème 2:
Comment choisir de façon optimale la valeur du gain de retour d’état
toute en réalisant un compromis entre la dynamique du système et sa stabilité
Une solution La commande optimale LQ
71
Performances statiques et retour d’état: la précommande
On cherche à déterminer une loi de commande telle que le gain statique du modèle en
boucle fermée est unitaire. Pour obtenir ce gain statique, l’on utilise le dernier degré de
liberté disponible, à savoir le scalaire de précommande H.
e Kx Hu
- -
72
Le système a donc été augmenté pour
pouvoir utiliser son équation
caractéristique afin d n de calculer K et
Ke, selon la réponse transitoire voulue.
73
Exemple:
74
ke
75
76
4. Synthèse d’observateur
4.1 Principe
Certaines variables d’état sont très faciles à mesurer en plaçant un capteur au bon endroit du
système, afin de pouvoir avoir accès à l’information recherchée. Dans ce cas, on dit que la
variable d’état considérée est mesurable. Dans d’autres cas, où la mesure n’est pas possible
directement, la grandeur est dite non mesurable. S’il est possible, à partir de la mesure de la
sortie, de déduire la grandeur considérée, alors on dit que celle-ci est observable.
77
4.2 Observabilité
4.2.1 Définition
On considère un système dont on connaît une représentation d’état ([A; B; C; D]). Ce
système est dit observable s’il est possible de déterminer son état à un instant to donné à
partir d’une observation de sa sortie. Le but est de déterminer dans un premier temps une
condition nécessaire et suffisante d’observabilité d’un système.
L’évolution de l’état du système est régi par une équation différentielle matricielle du
type : dx
Ax (t ) Bu (t )
dt
La sortie est donnée par:
s (t ) Cx (t ) Du (t )
78
D’après la définition donnée de la notion d’observabilité, on peut se placer en régime libre,
c’est-à-dire à e = 0. Dans ce cas, l’état vaut x(t) = eAt x(0) et la sortie s(t) = CeAt x(0). Par
conséquent, connaître s c’est connaître x(0) à la condition (nécessaire et suffisante) que
CeAt soit non singulière.
1 0
On trouve Obs qui est de rang 2 donc le système est observable.
0 1
80
Cas où les valeurs propres de A sont distincts:
dx
Ax (t ) Be(t )
dt
s (t ) Cx (t ) De(t )
Il existe une matrice P telle que: det(P) ≠ 0 et P = (V1, V2,…., Vn)
P est la matrice des vecteurs propres. AVi = iVi
1 0 ... 0 0
0 0 ... 0
dr 2
A' r (t ) B ' e(t ) A' ... ... ... ... ...
D’où dt
s (t ) C ' r (t ) D' e(t ) ... ... ... ... ...
0 0 ... 0 n
Critère d’observabilité
Le système est complètement observable Les colonnes de C’ ne sont pas nulles.
An 1 B
...
rang n c’est-à-dire si et seulement si, de rang n, soit encore si et seulement si
AB
(S) est commandable.
B
82
4.3 Reconstruction de l’état d’un système
4.3.1 Synthèse d’observateur
Définition On appelle observateur du système un opérateur qui génère une approximation ẑ
de la variable z = Tx sous la forme :
ẑ Fzˆ ky ju
où u est la commande et y la sortie.
• Si z et x ont même dimension, l’observateur est dit complet (tout l’état est estimé). On
choisit T I ( z x) et zˆ xˆ
• Si dim(z) < dim(x) (par exemple : dim(z) = dim(x) - dim(y)), alors l’observateur est dit
d’ordre réduit.
Remarques :
1. Un observateur doit être stable.
2. Un observateur doit assurer la convergence de ẑ vers z (estimation sans biais).
Dans le cas déterministe, la convergence s’écrit :
xˆ Fxˆ ky ju
x Ax Bu
y Cx
Exprimons l’erreur d’estimation :
z zˆ x xˆ ( Ax Bu ) ( Fxˆ ky ju)
( Ax Bu ) ( Fxˆ kCx ju) ( A KC ) x ( B J )u Fxˆ
Or, ε x-xˆ , d' où : ( A KC F ) x ( B J )u F
On veut une estimation sans biais, c’est-à-dire: 0 x, u,
ce qui équivaut à :
A KC F 0 F A-KC
B J J B
F stable ( A KC ) stable
Par conséquent, xˆ ( A KC ) xˆ Ky Bu
xˆ Axˆ Bu K ( y Cxˆ ) 84
Posons yˆ Cxˆ , il vient : xˆ Axˆ Bu K ( y yˆ )
La figure 12 illustre la structure de l’observateur mise en évidence par cette dernière expression.
L’observateur est constitué de deux parties :
1. Un simulateur du système réel caractérisé par les matrices (A; B; C), ayant comme entrées u
et y et comme sortie ŷ.
2. Un correcteur réalisant une contre-réaction fonction de l’écart entre la sortie y et son estimée
ŷ . Ce correcteur permet d’assurer la convergence de l’estimation de l’état x̂ vers l’état x.
K est appelé le gain de l’observateur. Il y a convergence si converge vers 0, c’est-à-dire si F
est stable, soit encore si (A - KC) est stable.
Détectabilité
Le principe de Détectabilité a été introduit pour tenir compte du cas des modes non observable.
La paire (H,F) est Détectable si et seulement si tous les modes non observable sont
asymptotiquement stables
85
86
4.3.3 Synthèse des observateurs identité par approche modale
88
Exemple
1
G ( p)
p3 2 p2 3 p 4
F
2 3 4 1
x(t ) 1 0 0 x(t ) 0u (t )
0 1 0 0
y (t ) 0 0 1x(t )
H
0 0 1
O( F , H ) 0 1 0 rang(O( F , H )) 3
1 0 0
89
Objective : Faire la synthèse d’un observateur pour le systeme G dont la dynamique
soit plus rapide que le pôle le plus rapide du systeme.
Le pôle le plus rapide de G etant en -2 on souhaite par exemple que tous les pôles
de l’observateur soit en -5
a
M b / det( pI F MH ) ( p (5)) 3
c
p 2 3 4 a
det( pI F MH ) det( 1 p b )
0 1 p c
p 3 (2 c) p 2 (3 b 2c) p (2b 3c 4 a )
2 c 15 10
3 b 2c 75 M 46
2b 3c 4 a 125 13
90
X0=[-20 ; -20;-20]
91
Gain de l’observateur
La sortie et l’etat de l’observateur
converge bien vers celle du
Système
92
Simulation avec un Observateur lent dont les pôles sont en -1
M=[-2
-2
1]
93
On remarque que : ( F MH ) T F T ( MH ) T F T H T M T
Sous MATLAB :
M= (place(FT,HT,pôles))T
Limitation : Can't place poles with multiplicity greater than rank(H).
Conclusion
Probléme:
Comment choisir la dynamique de l’observateur en fonction du mode que l’on
veut observer
Une solution Les observateurs du type Kalman
94
Exemple:
95
Exemple:
96
97
Exemple:
98
4.5 Bilan sur la commande par retour d’état avec synthèse
d’observateur
4.5.1 Mise en oeuvre de la commande
La mise en oeuvre d’une commande dans le cas des systèmes continus suppose l’hypothèse d’un
système commandable et observable lorsque toutes les variables d’état ne sont pas accessibles à
la mesure. On écarte donc les parties non commandables ou non observables du système. Le
problème de la commande se résout ensuite en trois grandes étapes :
1. Recherche de la commande en supposant x mesurable. La commande linéaire est de la forme
u = -Lx, L étant déterminée par exemple en imposant des pôles à la boucle fermée.
2. Reconstruction de l’état. Si seul y est mesurable, il faut synthétiser un observateur, ce qui
revient à déterminer un gain K assurant la stabilité de l’observateur et une estimation sans biais.
3. La commande du système est finalement réalisée à partir de l’état estimé.
Deux questions se posent alors : celle de la détermination du retour d’état L et celle de l’intérêt
de la méthode (la méthode conduit-elle à un système bouclé performant ?)
La commande s’écrit u Lxˆ et l’estimation de l’état s’écrit x̂ x où désigne
l’erreur d’estimation. On a donc :
u Lx L
Avec l’observation, la dimension du système bouclé est deux fois plus grande que celle du
système d’origine. Examinons l’état augmenté défini par la concaténation des états relatifs au
système (d’origine) et au simulateur :
x
99
Les équations du système bouclé prennent la forme :
x ( A BL ) BL x
0 ( A KC )
y C 0 x
u L L
( A BL) BL
La matrice d’état du système bouclé vaut donc : 0
( A KC )
où (A - BL) est la commande dans l’hypothèse d’un état accessible et où (A - KC) est la
matrice observateur.
Les valeurs propres du système bouclé sont les valeurs propres de (A-BL), e.i celles
relatives à la commande du système plus les valeurs propres de (A - KC), e.i celles de
l’observateur.
En conclusion, la substitution de x par x̂ ne modifie pas les valeurs propres obtenues
lors du calcul de la commande : juste, les valeurs propres de l’observateur s’ajoutent à
celles déjà imposées. La stabilité du système bouclé n’est donc pas affectée par la
présence de l’observateur si celui-ci est sans biais (e.i tel que (A - KC) soit stable).
Pour que le comportement du système bouclé ne soit pas modifié de façon notable par la
présence de l’observateur, il suffit que la reconstruction de l’état soit rapide devant la
dynamique du système bouclé (pôles de (A - KC) de grand module devant ceux de
100
(A - BL)).
4.5.2 Comportement dynamique du système bouclé
Comparons les comportements obtenus lorsque la commande est réalisée directement à partir
de l’état et lorsque celle ci est réalisée en utilisant un observateur.
(pI – A + BL)-1B est la matrice de transfert entre la consigne et l’état pour des consignes
initiales nulles ; (pI - A + BL)-1xo détermine l’évolution du système en régime libre (uo=0).
Les pôles de chaque fonction de transfert sont les valeurs propres de (A - BL).
101
• Commande réalisée en utilisant un observateur
Les équations du système bouclé sont :
x Ax Bu
y Cx
xˆ Axˆ Bu Ky -KCxˆ
u Lxˆ uo
D’où x Ax B ( Lxˆ uo) ( A BL ) x BL Buo
xˆ ( A BL ) xˆ Buo KC
et ( A KC )
Dans le domaine de Laplace, cela s’écrit :
pX ( p) xo ( A BL) X ( p) BL ( p) BUo
et p ( p) o ( A KC ) ( p)
Ce qui donne :
X ( p) ( pI A BL)1 BUo ( pI A BL)1 xo ( pI A BL)1 BL( pI A KC )1 o
Pour des conditions initiales nulles (o = 0 et xo = 0), ou lorsque le régime libre est
atteint, la fonction de transfert obtenue est équivalente à celle obtenue directement à
partir de l’état. Les commandes sont donc équivalentes. Cela équivaut à
l’observateur est excité par u uniquement ; le système est parfaitement simulé. 102
5. Commande par placement de pôles et observateur
Si
x (t ) F .x(t ) G.u (t ) avec x(0) x0
SLI
y (t ) H .x(t ) E.u (t )
H
HF
- Est Observable O(H, F) de rang plien
...
n 1
HF
- Est Commandable C(F, G) G FG ... F n 1G de rang plien
103
Systéme
x (t ) F .x(t ) G.u (t ) avec x(0) x0
SLI
y (t ) H .x(t ) E.u (t )
Observateur
xˆ (t ) F .xˆ (t ) G.u (t ) M ( y (t ) yˆ (t )) avec xˆ (0) xˆ0
OA
yˆ (t ) H .xˆ (t ) E.u (t )
Commande
LDC u (t ) K .xˆ (t )
Observateur
xˆ (t )
104
-K
E
y(t)
G x(t) H
F
u(t)
E +
-
xˆ (t ) yˆ (t )
G H
-K 105
Système de commande :
x (t ) F GK GK x(t )
~ . ~
x (t ) 0 F MH x (t )
c
y (t ) H 0. x(t )
~
x (t )
106
Exemple
1
G ( p)
p3 2 p 2 3 p 4
2 3 4 1
x (t ) 1 0 0 x(t ) 0u (t )
0 1 0 0
y (t ) 0 0 1x(t )
1 2 1
C ( F , G ) 0 1 2 rang (C ( F , G )) 3
0 0 1
0 0 1
O( F , H ) 0 1 0 rang (O( F , H )) 3
1 0 0
a 10
M b / det( pI F MH ) ( p (5))3 M 46
c 13
-Rendre le système non oscillant mais sans ralentir son mode le plus
rapide via un retour d’état.On veut par exemple que tous les pôles du système de
commandable soient en -2
K a b c / det( pI F GK ) ( p (2))3 K [4 9 4]
108
X0=[-2;-2;-2]
Gain de l’observateur
L’observateur n’a pas les bonnes C.I.
X0=[0;0;0]
Gain de la commande 109
C.I.
110
Conclusion
La Commande à retour d’état par placement de pôles (commande modale) est
relativement simple dans sa mise en œuvre, mais sur des systèmes complexes
d’ordre élevés avec des vecteurs d’états qui ne sont pas toujours physique on
arrive à des limites dans sa mise en œuvre.
Probléme:
Comment choisir la dynamique de l’observateur et celle de la
commande en fonction du systeme et du CdC
Une solution :
111
Introduction à la commande Optimale
Les problèmes de commande optimale se rencontrent dans la vie de tous les jours : comment
arriver à destination le plus rapidement possible, comment minimiser sa consommation...
Pour un système dynamique donné et dont les équations sont connues, le problème de
commande optimale consiste alors à trouver la commande minimisant un critère donné.
Choix du critère
** Qui dit commande optimale dit critère pour choisir cet optimum **
x (t ) x1 (t )
sys1 1 x1 (t ) e t 1
x1 (0) 1
x 2 (t ) 2 x 2 (t )
sys2 x 2 (t ) e 2t 1
x 2 (0) 1
2 (t )dt
2 2
On constate que x (t1) dt x
0 0
On peut donc dire qu’un rejet rapide de perturbation est respecté par la minimisation
de
J x x 2 (t )dt
0
113
Dans le cas multivariable on défini une matrice de pondération Qc (symétrique définie
non négative). On peut ainsi affecter un poid différent à chaques composantes du
vecteur d’état
J x x T (t ).Qc .x(t )dt
0
Energie de commande
J u u T (t ).Rc .u (t )dt
0
114
Critère de compromis
Des observations précédentes on peut définir un critère de compromis entre
l’énergie de commande et la dynamique du système.
J LQ J x J u x (t )Qc x(t )dt u T (t ) Rc u (t )dt
T
0 0
J LQ x T (t )Qc x(t ) u T (t ) Rc u (t ) dt
0
Problème LQ
Le problème est de calculer la matrice K qui permet de déterminer le retour d’état
u(t)=-K.x(t) qui minimise le critère LQ
J LQ x (t )Qc x (t ) u (t ) Rc u (t ) dt
T T
0
u (t ) K .x (t )
115
Systéme
x (t ) F .x(t ) G.u (t ) avec x(0) x0
SLI
y (t ) H .x(t ) E.u (t )
Sous MATLAB
Resolution du probleme LQ :
116
K=lqr(F,G,Q,R)
Exemple
1
G ( p)
p3 2 p 2 3 p 4
2 3 4 1 2
x (t ) 1 0 0 x(t ) 0u (t ) x0 2
0 1 0 0 2
y (t ) 0 0 1x(t )
1 0 0
Qc 0 1 0 ; Rc avec 1;1 / 10;1 / 100
0 0 1
117
Simulation en régulation y*=0
Rc=1 K= [0.6314
0.9623
0.1231] ;
Pôles :
-1.7212
-0.4551 + 1.4793i
-0.4551 - 1.4793i
118
Rc=1/10 K= [2.7229
4.1529
1.0990 ]
Pôles :
-2.8337
-0.9446 + 0.9524i
-0.9446 - 0.9524i
119
Rc=1/100 [9.6215
15.5293
6.7703]
Pôles :
-9.8516
-0.8849 + 0.5569i
-0.8849 - 0.5569i
121
La synthèse LQ si elle nous garantie des propriétés fortes de robustesse,
elle nous impose tout de même le choix des pondérations Qc et Rc
qui n’est pas forcement simple.
122
Grammien de commandabilité
Qc TC e G e G dt
Ft Ft T
0
Rc I
Ce choix permet d’avoir les pôles du système de commande LQ à gauche de la
verticale d’abscisse -1/Tc
123
Conclusion
Mais comme dans le cas du placement de pôles modale les états du système
n’étant pas toujours mesurable on doit avoir recours la plupart du temps
à l’utilisation d’observateur
124
Observateur optimale
Observateur de Kalman
Soit un systéme SLI
x (t ) F .x(t ) G.u (t ) w(t ) avec x(0) x0
SLI
y (t ) H .x(t ) v(t )
125
Un observateur pour un tel systeme est de la forme:
xˆ (t ) F .xˆ (t ) G.u (t ) M ( y(t ) yˆ (t )) avec xˆ (0) xˆ0
OA
yˆ (t ) H .xˆ (t )
On constate que l’observateur ne réalise pas d’estimation des bruits v(t) et w(t)
J (t ) ~
x (t)~
x (t)T
~
x (t) x(t)- xˆ(t)
126
Avec les hypothèses :
Qo , Ro matrice symétrique définie non negative
- (F, H) détectable (F, Q o ) commandable
127
Remarque :
On a la dualité suivante :
F FT
H GT
Ro R c
Qo Q c
P
w(t)
M
yˆ (t ) BOo ( p ) w(t )
BO c H ( pI F ) 1 M
129
Exemple
1
G ( p)
p3 2 p 2 3 p 4
2 3 4 1 2
x(t ) 1 0 0 x(t ) 0u (t ) x0 2
0 1 0 0 2
y (t ) 0 0 1x(t )
1 0 0
Qo 0 1 0 ; Ro 1 / 10
0 0 1
130
M =[ -3.9094 Etats
1.0025
3.4648 ]
CI
Sortie
131
La synthèse d’un observateur de Kalman si elle nous garantie des propriétés fortes
de robustesse nous impose tout de même le choix des pondérations Qo et Ro qui
n’est pas forcement simple.
Si l’on connaît la nature des bruits qui affecte le système le choix des pondérations
est automatique dans le cas contraire on peut :
132
Grammien d’observabilité
Qo To He Ft He G dt
T Ft
0
Ro I
133
Conclusion
134
Commande optimale LQG
1
G ( p)
p3 2 p 2 3 p 4
2 3 4 1 2
x(t ) 1 0 0 x(t ) 0u (t ) x0 2
0 1 0 0 2
y (t ) 0 0 1x(t )
1 0 0
rang(C ( F , G )) 3 F , G est commandable donc stabilisable
Qc 0 1 0 ; Rc 1
0 0 1
rang(O( Qc , F )) 3
Qc , F est observable
1 0 0
Qà 0 1 0 ; Ro 1
rang(O( F , Qc )) 3 F , Qc est observable
rang(C(F, G)) 3 F , G est commandable donc stabilisable
0 0 1
137
Poursuite
Régulation
CI
138