Académique Documents
Professionnel Documents
Culture Documents
1 Le retour detat
Soit le systeme lineaire stationnaire deni par sa representation detat (A, B, C, 0).
x(t) = Ax(t) + Bu(t)
(1)
y(t) = Cx(t)
u(t) y(t)
x(t) = Ax(t) + Bu(t)
y(t) = Cx(t)
1.1 Rappel
On desire asservir le systeme a une valeur yref (t) tout en imposant les dynamiques du
regime transitoire et en maintenant une erreur petite ou nulle en regime permanent. Mod-
ier le regime transitoire du systeme (1), cest modier les poles de la matrice dynamique
A. On implante ainsi une loi de commande1 par retour detat qui prend en compte les
valeurs de letat a linstant t :
x1 (t)
x(t) = ... .
xn (t)
La loi de commande2 secrit alors :
1
ou K Rmn est une matrice appelee gain du retour detat et v(t) est une nouvelle entree
pour le systeme en boucle fermee (eventuellement ce dernier signal peut representer la
consigne). Cest une commande en boucle fermee car elle depend des signaux internes
du systeme meme si elle ne prend pas en compte directement la sortie du systeme y(t)
comme le montre la gure 2.
x(t)
Remarque 1 Dans le cas dun systeme a une entree, la commande par retour detat
n
secrit u(t) = Kx(t) + v(t) = ki xi (t) + v(t) avec K = [k1 , . . . , kn ].
i=1
v(t) y(t)
x(t) = (A BK)x(t) + Bu(t)
y(t) = Cx(t)
2
1.2 Calcul du gain de retour detat K dans le cas SISO
Soit le systeme deni par le triplet (A, B, C) et letat x(t). On suppose que le systeme est
commandable, cest-a-dire que la matrice de commandabilite est de rang plein. Soit le
nouvel etat xc (t) associe au systeme mis sous forme commandable represente par le triplet
(Ac , Bc , Cc ). Letat xc ainsi que les matrices Ac , Bc , Cc sont determinees par la matrice de
passage Pc , avec:
x = Pc xc
Ac = Pc1 APc , Bc = Pc1 B, Cc = CPc
La loi de commande par retour detat secrit donc sous la forme
c K
u(t) = Kx(t) + v(t) = KP xc (t) + v(t)
ou Kc est un gain du retour detat dans la base commandable. Une fois Kc determine, un
simple calcul K = Kc P 1 permet de calculer le retour detat dans la base initiale. Dans
la base commandable, les matrices Ac et Bc secrivent ainsi :
0 1 0 ... 0
..
0 0 1 . 0
.
Ac = .. .. .. . .
.
..
. . .
0 0 0 ... 1
a0 a1 . . . . . . an1
0
..
.
Bc = ...
0
1
ou les coecients ai , i {0, n1} sont les coecients du polynome caracteristique associe
a la matrice A, PA () = det(In A) = n + an1 n1 + + a0 . La matrice dynamique
du systeme boucle par le retour detat secrit alors
0 1 0 ... 0
..
0 0 1 . 0
.. .. .. . . ..
Ac BKc = .
. . . .
0 0 0 ... 1
a0 kc1 a1 kc2 . . . . . . an1 kcn
3
de la boucle fermee en p1 , , pn . Le polynome caracteristique de la boucle fermee est
donc uniquement determine par le choix des poles desires et nous avons donc la relation
suivante:
Nous en tirons donc les valeurs du gain Kc permettant dobtenir le polynome desire et
donc de placer les poles en p1 , , pn :
k = a0 + f0
c1
kc2 = a1 + f1
.. (3)
.
k
cn = an1 + fn1
Remarque 3 Le calcul de la matrice de passage Pc nest pas tres complique dans le cas
SISO. Notons que la matrice de passage doit verier :
APc = Pc Ac , B = Pc Bc
Ces deux dernieres equations peuvent etre resolues matriciellement en notant P = P1 , . . . , Pn
La derniere equation B = Pc Bc nous permet dobtenit directement Pn = B. Lutilisation
de la premiere equation nous permet alors de resoudre terme a terme lequation pour
obtenir :
Pn = B
n1 = AB + an1 B
P
Pn2 = A2 B + an1 AB + an2 B
..
.
P = (An1 + a An2 + . . . + a I)
1 n1 1
Remarquons que cette derniere equation peut secrire dune maniere plus compact:
a1 a2 . . . an1 1
a2 . . . . . . 1 0
P = [B, AB, A2 B, , An1 B] ... (4)
an1 1 0 ... 0
1 0 ... ... 0
4
Theoreme 1 Soit le systeme commandable deni par le triplet (A, B, C), les coecients
du polynome caracteristique de A sont notes ai , i {0, n 1}, i.e. det(I A) =
n + an1 n1 + . . . + a0 . Soient p1 , . . . , pn les poles desires du systeme en boucle ferme.
Les coecients du polynome dont les racines sont pi , i {1, . . . , n} sont notes fi , i
{0, n 1}. Le gain du retour detat K permettant de placer les poles du systeme en boucle
fermee en (p1 , . . . , pn ) secrit alors :
1.3 Application
1.3.1 Une premiere methode
Soit le systeme denie par le quadruplet {A, B, C, D} avec
1 1
1
A= ,C = 0 1 ,B = ,D = 0 (5)
1 0 0
5
1.3.2 Methode 2
La seconde methode utilise la forme compagne de commande4 represente par le quadruplet
{Ac , Bc , Cc , Dc }. Le systeme dans la base compagne de commande secrit alors :
xc (t) = Ac x(t) + Bc u(t)
(6)
y(t) = Cc x(t)
avec
0 1
0
Ac = , Cc = 1 0 , Bc = , Dc = 0
1 1 1
La relation entre les deux representations secrit a laide du changement de base suivant :
x(t) = Pc xc (t)
0 1
avec Pc = .
1 0
La commande implantee est donc de la forme u(t) = Kc xc (t) + v(t). Le systeme en
boucle fermee secrit dans la base compagne de commande :
xc (t) = (Ac Bc Kc )xc (t) + Bc v(t)
(7)
y(t) = Cc xc (t)
Calculons Ac Bc Kc :
0 1
Ac Bc Kc =
1 k1 1 k2
Cette matrice reste en forme compagne de commande, il est donc inutile de calculer le
polynome caracteristique. Par identication, nous obtenons :
6
Reponse a un echelon
0.8
Amplitude
0.6
systeme en
boucle ouverte
0.4
systeme en
0.2 boucle fermee
0
0 2 4 6 8 10 12
Temps (sec)
Supposons que la matrice de transfert directe D est nulle. Soit G(p) = C(pI A)1 B
la fonction de transfert associee. La fonction de transfert du systeme en boucle fermee
secrit Gbf (p) = C(sI A + BK)1 BN. Supposons que yref (t) = yref est une constante.
Pour que lim y(t) = yref , il est donc necessaire6 que Gbf (0) = 1, cest a dire
t
1
N=
C(A + BK)1 B
5
Single Input Single Output en anglais pour systeme avec une entree et une sortie.
6
Le calcul de cette limite est possible car le systeme est stable en boucle fermee.
7
u(t)
yref (t) + x(t) = Ax(t) + Bu(t) y(t)
N
y(t) = Cx(t)
-
x(t)
1.5 Application
Si on reprend lexemple precedent, on calcule aisement N = 12 et on obtient les courbes
suivantes (gure ) pour la reponse du systeme en boucle fermee.
reponse a un echelon
1.4
systeme en boucle fermee (retour detat plus precompensateur)
1.2
1
Amplitude
0.8
0.6
0.4
systeme en boucle ouverte
0.2
0
0 1 2 3 4 5 6 7 8 9 10
Temps (sec)
8
1.6 Commande par retour detat et action integrale - cas SISO
1.6.1 Insusance du retour detat
Comme nous lavons vu dans les sections precedentes, la commande par retour detat
permet de modier les poles du systeme en boucle fermee. Cependant, cette derniere ne
permet pas dassurer un erreur de position nulle. Une premiere possibilite pour resoudre
le probleme est dajouter un gain precompensateur pour assurer un gain statique unitaire
pour la boucle fermee. Une deuxieme possibilite reside dans lajout dun integrateur dans
la chaine directe. Pour montrer linteret dune telle commande, choisissons un systeme
SISO modelise a laide de la forme commandable et qui ne possede pas de zeros. Dans ce
cas precis, les etats du systeme sont la sortie et ses derives successives.
x1 (t) = y(t)
x2 (t) = y(t)
x(t) = ..
.
(n1)
xn (t) = y (t)
ou e(t) est la consigne. Ce retour detat peut donc sexprimer a laide du formalisme de
Laplace:
U(p) = E(p) k1 + k2 p + ... + kn pn1 Y (p)
On obtient alors le schema bloc du systeme boucle suivant : Il apparait clairement que
k1 + k2 p + ... + kn pn1
9
notant Q(p) = k1 + k2 p + ... + kn pn1 , le calcul de la boucle fermee entre E(p) et Y (p)
secrit:
G(p)
Y (p) = E(p)
1 + Q(p)G(p)
Cette fonction de transfert na pas un gain statique unitaire ce qui ne permet pas dobtenir
une erreur de position nulle en boucle fermee. Si on analyse le systeme bouclee en terme
de reponse frequentielle, il apparait que le systeme boucle ne possede pas deet integrale
dans la chaine directe.
x(t)
Remarquons que pour des raisons dhomogeneite, on note le signal derreur e(t)
y(t), xi (t), le signe moins etant ajoute an dobtenir une expression homogene pour
lexpression de la loi de commande.
Les equations de la boucle fermee secrivent :
x(t) = Ax(t) + Bu(t)
y(t) = Cx(t)
xi (t) = y(t) e(t)
La loi de commande implantee est denie par:
x(t)
u(t) = ki xi (t) Kx(t) = K ki
xi (t)
Cest donc une commande par retour detat pour le systeme augmente suivant:
x(t) A 0 x(t) B 0
= + u(t) + v(t)
xi (t) C 0 xi (t) 0 1
10
x(t)
ou en prenant z(t) = ,
xi (t)
z(t) = Az(t)
+ Bu(t)
+ De(t)
u(t) = Kz(t)
Lobjectif de la commande est double:
Le calcul des points singuliers du systeme augmente nous donne alors lequation statique
:
0 = Az(t)
+ Bu(t)
+ De(t)
u(t) = Kz(t)
cest-a-dire les relations suivantes
0 = Az e + De
+ Bu 0
ue = Kz
ou
B
0 = (A K)z + De
0
Etablissement des equations en regime dynamique
An dobserver la convergence des etats vers leurs valeurs en regime permanent, for-
mons lerreur :
x(t) x
(t) =
xi (t) xi
la dynamique de lerreur est donc regie par lequation dierentielle suivante:
(t)
= A(t) + Az K(t) B
B Kz + De(t)
11
E(p) + xi (t) + U(p) Y (p)
25 1
p G(p) = p3
xi (t)
- -
Figure 9: Commande par retour detat et action integrale pour lexemple (8)
ou
(t)
B
=( A K)(t) + (AB
K)z + De(t)
=0
An de prouver que la dynamique de lerreur est stable et tend vers zero pour des temps
susamment grands, il faut choisir K tel que A B K soit stable. Par ailleurs, le choix
B
des poles de A K permet dimposer la vitesse de convergence de lerreur vers zero
et donc de x(t) vers x . Le probleme de la synthese dune commande par retour detat
avec action integrale revient donc au calcul classique dun retour detat sur un systeme
B,
augmente (A, C,
0).
1.6.3 Exemples
Un premier exemple: Soit lexemple tres tres academique7 suivant:
x(t) = 3x(t) + u(t)
(8)
y(t) = x(t)
12
Reponse indicielle
1.4
System: G2
Peak amplitude: 1.16
Overshoot (%): 16.3
1.2 At time (sec): 0.721
0.8
Amplitude
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5
temps de (sec)
reponse
Figure 10: Sortie asservie de (8) par un retour detat et action integrale
2 Lobservateur de Luenberger
2.1 Rappel
Lobjectif est de reconstruire letat interne dun systeme a laide dun algorithme dy-
namique (un systeme dynamique !!). Ce dernier dispositif est appele Observateur. Soit le
13
reponse indicielle
0.8
Amplitude
0.6
0.4
0.2
0
0 0.5 1 1.5
(sec)
Figure 11: Sortie asservie de (9) par un retour detat et action integrale
systeme
x(t) = Ax(t) + Bu(t)
y(t) = Cx(t)
dont nous voulons observer (on dit aussi recalculer) x(t). Lobservateur est un systeme
dynamique qui secrit :
z(t) = F z(t) + Gy(t) + Hu(t)
(10)
x
(t) = Mz(t) + Ny(t)
ou u(t), y(t) sont respectivement lentree et la sortie du systeme. Remarquons que ce sont
egalement les deux entrees de lobservateur. La sortie de lobservateur est la variable x
(t)
(cf 12).
On denit un signal derreur (t) comme suit : z(t) = T x(t) + (t). Lobjectif est
de construire lobservateur cest-a-dire de choisir convenablement F, G, H, M, N, T telle
que lim x (t) x(t) = 0. Dautre part, nous voulons egalement controller la maniere
t
dont lerreur tend vers 0, cest-a-dire le regime transitoire de lerreur. Or, en utilisant
lexpression de z(t) et de y(t), on peut reecrire x(t) de la maniere suivante :
x
(t) = (MT + NC)x(t) + M(t)
Posons
MT + NC = I,
il vient que x (t) = x(t) + M(t). Si lerreur converge asymptotiquement vers zero,
lim (t) = 0, alors x
(t) converge asymptotiquement vers x(t). Calculons la dynamique de
t
14
u(t) y(t)
x(t) = Ax(t) + Bu(t)
y(t) = Cx(t)
y(t) x
(t)
z(t) = F z(t) + Gy(t) + Hu(t)
x
(t) = Mz(t) + Ny(t)
u(t)
lerreur, cest-a-dire :
(t)
= z(t) T x(t)
(t)
= F (t) + (F T + GC T A)x(t) + (H T B)u(t)
F T + GC T A = 0
H = TB
MT + NC = I,
F T + GC T A = 0 (11)
H = TB
Il reste ensuite dimposer que les valeurs propres de F soient a parties reelles negatives
pour impliquer la stabilite asymptotique de lerreur et la convergence vers 0 de (t).
15
Lunique relation a resoudre est :
F=A-GC
On obtient alors lobservateur identite :
z(t) = F z(t) + Gy(t) + Bu(t)
x
(t) = z(t) (12)
z(t) = x(t) + (t)
Il faut ensuite determiner le gain de lobservateur G tel que F = A GC soit une matrice
stable. Ce calcul seectue en imposant le polynome caracteristique de F (note Pdes ())
et en resolvant lequation Pdes () = PAGC ().
Cela correspond nalement a une recopie du systeme original auquel un terme correctif
dependant de lerreur y(t) y(t) est ajoute.
ou u(t) est une nouvelle commande8 On pose une nouvelle equation de sortie :
ou u et w(t) sont respectivement une nouvelle commande et une nouvelle sortie liees au
systeme original par :
8
En eet, cette derniere commande est un signal connu car x1 (t) est la sortie mesuree du systeme.
16
u(t) = A21 x1 (t) + B2 u(t)
w(t) = x1 (t) A11 x1 (t) B1 u(t)
On propose alors de construire un observateur identite pour le systeme dordre reduit
(17):
z(t) = F z(t) + Gw(t) + u(t)
(18)
x
(t) = z(t)
avec la relation suivante :
z(t) = x2 (t) + (t)
et la relation matricielle F = A22 GA12 . An decrire le systeme en fonction des signaux
dentrees y(t) et u(t) du systeme original, on transforme lobservateur minimal ainsi :
w(t)
u(t)
z(t) = F z(t) + G (x1 (t) A11 x1 (t) B1 u(t)) + A21 x1 (t) + B2 u(t) (19)
x
(t) = z(t)
An deviter la derivee x1 (t) dans le second membre de la premiere equation, on pose
une nouvelle variable s(t) telle que:
(t)
= (A GC)(t)
17
4 Application
4.1 Construction dun observateur identite
Soit le systeme denie par le quadruplet {A, B, C, D} avec
1 1
1
A= ,C= 1 0 ,B= ,D=0
2 2 1
PAGC () = 2 + (3 + g1 ) + 2g1 + g2
On obtient les simulations suivantes (c.f. 13,14) pour une entree nulle u(t) = 0
gures
1
et des conditions initiales pour le systeme
1
18
1
x1
0.8
1
x
0.6
0.4
Amplitude
0.2
2
x
0
x2
0.2
0.4
0.6
0.8
1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Temps
0.8
0.6
1 (t)
0.4
0.2
Amplitude
0.2
0.4
2 (t)
0.6
0.8
1
0 1 2 3 4 5 6 7 8 9 10
temps
19
3
2.5
1.5
2
Amplitude
x
1
0.5
0.5
x2
1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Temps
0.5
0.5
1
Amplitude
1.5
2 (t)
2
2.5
3.5
4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Temps
20
5 Commande par retour detat et observateur iden-
tite
On suppose dans cette partie que letat nest pas accessible par une mesure. Nous avons
seulement la connaissance de y(t). Nous proposons une commande par retour detat
estime du type :
u(t) = K x (t) + v(t)
ou x
(t) est la sortie du systeme dynamique observateur identite et v(t) une nouvelle entree
pour le systeme boucle (eventuellement la consigne). Le theoreme suivant nous justie le
choix de cette structure de commande:
x(t)
Theoreme 2 Les poles du systeme augmente (dont letat generalise est ) asservi
x
(t)
par le retour detat et lobservateur est lunion des poles de ABK et des poles de AGC.
On obtient ainsi:
d x(t) A BK BK x(t) B
= + v(t)
dt (t) 0 A GC (t) 0
y(t) = Cx(t)
En dautres termes, les dynamiques du systemes en boucle fermee sont les dynamiques
du systeme boucle boucle par un retour detat auxquelles nous ajoutons les dynamiques
de lobservateur. Cest pourquoi, les dynamiques de lobservateur sont en general choisies
beaucoup plus rapides que les dynamiques du systeme boucle par le retour detat.
21