0% ont trouvé ce document utile (0 vote)
34 vues44 pages

Modélisation d'un Système par État

Transféré par

Salma Elbouchtaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
34 vues44 pages

Modélisation d'un Système par État

Transféré par

Salma Elbouchtaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

1

Représentation d’état d’un système

1 Introduction
La fonction de transfert classique reliant une entrée à une sortie s’avère souvent limitée
pour décrire avec précision le comportement dynamique d’un système complexe. Ceci est
d’autant plus vrai pour des systèmes multivariables (multi-entrées ou/et multi-sorties).
La fonction de transfert considère le système comme une boite noire et ne traduit que
l’évolution de la sortie en fonction de l’entrée sans se préoccuper des variables internes
qui sont parfois à l’origine de comportements imprévus du système tel qu’il est modélisé
par ladite fonction de transfert.

u(t) y(t)
u(p) y(p) ẋ = f (x, u, t)
H(p) å y = g(x, u, t)

f et g sont des fonctions continues du vecteur d’état x(t) et vecteur de commande (ou
d’entrée) u(t).
Dans le cas des systèmes linéaires ou linéarisables autour de points de fonctionnement, les
fonctions f et g sont des combinaisons linéaires de x(t) et u(t) et on représente le système
comme suit :

u(t) y(t)
ẋ = Ax + Bu
y = Cx + Du

ẋ = Ax+Bu : est appelée équation dynamique du système (ou éq. d’évolution)


y = Cx+Du : est appelée équation de sortie (ou éq. de mesure)

1
x : Vecteur d’état de dimension (nx1)
A : Matrice d’état ou Matrice d’évolution(ou Matrice Dynamique) de dimension (nxn)
B : Matrice de commande (ou d’entrée) de dimension (nxm)
u : Vecteur de commande (ou d’entrée) de dimension (mx1)

y : Vecteur de sortie (ou d’observation) de dimension (px1)
C : Matrice de sortie ou de mesure (ou d’observation) de dimension (pxn)
D : Matrice Directe (ou Matrice d’Influences des entrées) de dimension (pxm)
Le shéma synoptique est le suivant :

u ẋ R x + y
B +
+
C +

On définit également l’Espace d’Etat comme étant l’Espace Vectoriel dans lequel le vec-
teur d’état x est susceptible d’évoluer (souvent Rn ).
Remarques :

— Les variables d’état sont choisies pour leur significations physiques et pour leur
simplicité d’exploitation.

— La représentation d’état n’est pas unique ! En effet, toute transformation inversible


d’un vecteur d’état est un vecteur d’état.

— La représentation d’état permet de ramener des équations différentielles d’ordre


élevé à des equations différentielles d’ordre 1 facilement exploitatbles.

— La représentation d’état est valable pour des système Linéaires. Toutefois, les sys-
tèmes Non Linéaires peuvent être linéarisés autour de points de fonctionnement et
les étudier de la même manière à l’aide de représentation d’état.

— Si les matrices A, B, C et D sont constantes ( indépendantes du temps ), ce qui


est le cas en général, on parle de système Invariant ou Stationnaire (LTI : Linear
Time Invariant).

— Si au moins une matrice de la représentation d’état dépend du temps, on parle de


Système non stationnaire, ou variant (LTV : Linear Time Variant).

Exemple 1 : (3 entrées, 2 sorties et 4 variables d’état)

= 2x1 − 3x3 + u1

 ẋ1
= −2x2 + x4 − u2 y1 = x1 + u2
 (
ẋ2



 ẋ3 = −x1 + x3 y2 = −2x4 + 2u3
= x2 + x3 + x4 + u 3

ẋ4

2
x˙1 2 0 −3 0 1 0 0

x1
       
 
u1



 x˙   0 −2 0 1 x   0 −1 0
  =   .   + 
  2  2
 . u2 

     
x˙3  −1 0 1 0  0 0 0


 x3 
u3

x˙4 0 1 1 1 0 0 1

x


⇔  4
 x 1  

u1
1 0 0 0 0 1 0
 ! " # " #
y1 x 


= .   +
 2
. u2 

  
0 0 0 −2 0 0 2

y2 x3 


u3




x4
Exemple 2 : (2 entrées, 2 sorties et 3 variables d’état)
ẋ1 = 2x1 − 3x3 + u1 (

y1 = 2x1 + x3 + u2


ẋ2 = x2 + u2
y2 = −x2
ẋ3 = −x1 + x3

x˙1 2 0 −3 1 0
        
x1 !
u1


x˙2  =  0 1 0 .  x2  +  0 1

 .

      
u2

 x˙ 0 1 0 0

−1 x

3  3

x
2 0 1 1
0 1
 ! " # " # !

y1 u1
= .  x2  +

.
  
0 −1 0 0 0

 y2 u2



x3

2 Fonction de transfert
En se plaçant dans les conditions de Heaviside (càd conditions initiales nulles), on peut
écrire :
ẋ = Ax + Bu ⇒ sX(s) = AX(s) + BU (s)
⇒ (sI − A)X(s) = BU (s)
⇒ X(s) = (sI − A)−1 BU (s)
⇒ Y (s) = [C(sI − A)−1 B + D]U (s)
On déduit alors la fonction de transfert du système :

Y(s)
H(s) = = C(sI − A)−1 B + D
U(s)

3 La représentation d’état n’est pas unique


Toute transformation inversible d’un vecteur d’état est un vecteur d’état :
Soit
( T une telle transformation
( telle que : x̂ = T.x
ẋ = Ax + Bu T −1 x̂˙ = AT −1 x̂ + Bu

y = Cx + Du y = CT −1 x̂ + Du

x̂˙ = T AT −1 x̂ + T Bu
(

y = CT −1 x̂ + Du

x̂˙ = Âx̂ + B̂u


(

y = Ĉ x̂ + Du

avec  = T AT −1 ; B̂ = T B et Ĉ = CT −1

3
4 Unicité de la fonction de transfert
Malgré la non unicité de la représentation d’un système, la fonction de transfert corres-
pondante ainsi que les modes propres (valeurs propres de A) restent inchangés par toute
transformation inversible.
Ĥ(s) = Ĉ(sI − Â)−1 B̂ + D̂
−1
= CT −1 (sI − T A T −1 ) T B + D
−1
= CT −1 (T sI T −1 − T A T −1 ) T B + D
= C T −1 T (sI − A)−1 T −1 T B + D
= C (sI − A)−1 B + D
= H(s)

5 Obtention du Modèle d’état


L’obtention d’une représentation d’état s’obtient de deux manières :
- Soit à l’aide du jeu d’équations régissant le système,
- Soit à partir de son équation différentielle unique ou sa fonction de transfert.

5.1 A partir du jeu d’équations régissant le système


En manipulant les différentes équations traduisant le comportement du système, on peut
aboutir à une représentation d’état.
Exemple1 : Circuit RLC

R L
i

vc di
e C v e = vc + Ri + L
dt
dvc
i = C
dt

En posant x1 = i et x2 = vc , il vient : 
x˙1
! ! ! !
−R − L1 x1 1
x˙1 = −R 1
+ 1
= +

x − x e
 L L e
x˙2 0 0

L 1 L 2 L 1
x2 !


x˙2 = 1
x
C 1
⇔ C
  x1
y = vc = x2 = 0 1

y


x2


Soit aussi :

ẋ = Ax + Bu
( ! !
−R − L1   1
avec A = L ; B = C1 0 ; C = L ;D = 0
y = Cx + Du 1
C
0 0

e(t) 1
ẋ1 R x1 1
ẋ2 R x2 y
+
L - C

+
R
+ L

1
L

4
Exemple2 : Ressort + Amortisseur
fext = mγ = mẍ = −bẋ − kx + f (t)
X

b k f (t)
D’où : ẍ = − ẋ − x +
m m m
En posant : x1 = x et x2 = ẋ ; il vient :

x˙1 0 1 0
 ! ! ! !
x1
= +


f
x˙2

k 1
−m − mb x2 !


m
  x1
= 1 0


 y
x2

f 1
ẋ2 R x2 ẋ1 R x1 y
+
m -

+
b
+ m

k
m

Exercice : Modèle simplifié d’un Moteur à courant continu


On considère une machine à courant continu à excitation indépendante illustrée par le
modèle suivant :
R L
i
I
ω
u M Inducteur

u : tension d’alimentation
E : force contre-électromotrice du Moteur
R : résistance des enroulement statorique du Moteur
L : inductance des enroulements statorique du Moteur
ω : vitesse de rotation du moteur
θ : position angulaire du rotor du Moteur
C : couple du Moteur
J : moment d’inertie des parties tournantes
f : coefficient de frottement visqueux
km : constante mécanique (constante de couple)
ke : constante électrique (constante de vitesse)

5
Et on suppose que km =ke =k.
AN. : R = 1W ; L = 10mH ; k = 1N m/A = 1V s ; J = 1Kg.m2 ; f = 1N.m.s

Donner une représentation du système en considérant comme sortie l’angle θ et comme


entrée la tension d’alimentation u.

5.2 A partir de l’équation différentielle


ou de la Fonction de Transfert
Soit un Système régi par son équation différentielle d’ordre n, équation reliant les dérivées
successives de sa sortie aux dérivées successives de son entrée :

y (n) (t)+an−1 y (n−1) (t)+...+a1 y 0 (t)+a0 y(t) = bm u(m) (t)+bm−1 u(m−1) (t)++...+b1 u0 (t)+b0 u(t)

En appliquant la transformée de Laplace, on aboutit à la fonction de transfert suivante :

Y (s) bm sm + bm−1 sm−1 + ... + b1 s + b0


H(s) = =
U (s) sn + an−1 sn−1 + ... + a1 s + a0

1ère Méthode
Y (s) bm sm + bm−1 sm−1 + ... + b1 s + b0
H(s) = =
U (s) sn + an−1 sn−1 + ... + a1 s + a0

On introduit une variable intermédiaire G(s)de sorte que :

Y (s) G(s)
H(s) = .
G(s) U (s)

D’où :

Y (s) = (bm sm + bm−1 sm−1 + ... + b1 s + b0 )G(s)


U (s) = (sn + an−1 sn−1 + ... + a1 s + a0 )G(s)
On peut poser alors soit X1 = G(s) , soit Xn = G(s) :

Si on pose X1 = G(s) :

=

X1 G(s)
= x2

ẋ1

X2 = sG(s) = sX1 (s)
ẋ2 = x3
 
X3 = s2 G(s) = sX2 (s)
 
 
 →  ..
 .. 
 
..
..
 
ẋn−1 = xn

Xn = sn−1 G(s) = sXn−1

Reste à déterminer ẋn .

sXn = sn G(s)
et d’après U (s) = (sn + an−1 sn−1 + ... + a1 s + a0 )G(s)

6
on déduit : sn G(s) = U − (an−1 sn−1 + ... + a1 s + a0 )G(s)
Soit : sXn = U − (an−1 Xn + ... + a1 X2 + a0 X1 )
On en déduit donc : ẋn = −a0 x1 − a1 x2 − ... − an−1 xn + u(t)
On aboutit alors à la représentation suivante :

ẋ1 = x2
ẋ2 = x3
..
..
ẋn−1 = xn
ẋn = −a0 x1 − a1 x2 − ... − an−1 xn + u(t)
D’autre part :

Y (s) = (bm sm + bm−1 sm−1 + ... + b1 s + b0 )G(s)


= bm Xm+1 + bm−1 Xm + ... + b1 X2+ b0 X1
= b0 b1 · · · bm 0 · · · 0 .X
 
Soit y = b0 b1 · · · bm 0 · · · 0 .x

D’où

0 1 0 0
 
··· ···
.. 0
 
 

0 0 1 0 ··· . 
.
.
 

.. .. .. ..

.
. . . . 0
 
A=  ;B = 0
   
.. .. . .

. . . 1 0 0
   
 
 
0 0 ··· 0 1
 
1
 
 
−a0 −a1 · · · −an−2 −an−1
 
C = b0 b1 b2 · · · bm 0 · · · 0 ; et D = 0

Cette matrice est une matrice CAMPAGNON. Elle est aussi appelée Matrice de forme
commandable car en agissant sur u, on fait évoluer les xn et par effet de cascade on agit
sur les autres variables d’état. Il en existe également une forme observable.

+ + + + +
+ + + + +

an−1 an−2 am am−1 a1 a0

u(t) - ẋn R xn ẋn−1 R xn−1 ẋn−2 xm+1 ẋm R xm x2 ẋ1 R x1


+

bm bm−1 b1 b0

+ + + y(t)
+ + +

7
Si on pose Xn = G(s) :

=

Xn G(s)
ẋ2 = x1


Xn−1 = sG(s) = sXn (s)
ẋ3 = x2
 
Xn−2 = s2 G(s) = sXn−1 (s)
 
 
 →  ..
 .. 
 
..
..
 
ẋn = xn−1

X1 = sn−1 G(s) = sX2

Reste à déterminer ẋ1 .

sX1 = sn G(s)
et d’après U (s) = (sn + an−1 sn−1 + ... + a1 s + a0 )G(s)
on déduit : sn G(s) = sX1 = U − (an−1 sn−1 + ... + a1 s + a0 )G(s)
Soit : sX1 = U − (an−1 X1 + an−2 X2 ... + a1 Xn−1 + a0 Xn )
On en déduit donc : ẋ1 = −an−1 x1 − an−2 x2 ... − a1 xn−1 − a0 xn ) + u(t)

De même on déduit de Y (s) = (bm sm + bm−1 sm−1 + ... + b1 s + b0 )G(s)

Y = bm Xn−m + bm−1 Xn−m+1 + ... + b1 Xn−1 + b0 Xn


Soit aussi
y = bm xn−m + bm−1 xn−m+1 + ... + b1 xn−1 + b0 xn

 
−an−1 −an−2 · · · −a1 −a0
1
 
1 0 ··· ··· 0 0 
 
0

. .. .. .. .. .. 
 
0 . . . .  .
  
.

A= .. .. .. .. .. ..  ;B = .
 
. . . . . . 

 .. 
  
. ... ... .. .. . .

.. . . .
 

 .  
0
0 0 ··· 0 1 0
 
C = 0 · · · 0 bm bm−1 · · · b1 b0 ; et D = 0.

2ème Méthode
En factorisant par sn , il vient :

bm sm−n + bm−1 sm−n−1 + ... + b1 s1−n + b0 s−n


H(s) =
1 + an−1 s1 + ... + a1 s−n+1 + a0 s−n

On introduit une variable intermédiaire G(s)de sorte que :

Y (s) G(s)
H(s) = .
G(s) U (s)

8
D’où :

Y (s) = (bm sm−n + bm−1 sm−n−1 + ... + b1 s1−n + b0 s−n )G(s)


U (s) = (1 + an−1 s−1 + ... + a1 s−n+1 + a0 s−n )G(s)
On peut poser alors :

= s−n G(s) x˙1 = x2


 
X1

 X2 = s−n+1 G(s) = sX1 (s) 
 x˙2 = x3
X3 = s−n+2 G(s) = sX2 (s) ..
 
D’où :
 
 

 .. 
 ..
.. ˙
xn−1 = xn
 
 
Xn = s−1 G(s) = sXn−1 x˙n = g(t) avec g(t) = L−1 (G(s))

Or U (s) = (1 + an−1 s−1 + ... + a1 s−n+1 + a0 s−n )G(s)

D’où : U (s) = G(s) + an−1 Xn + an−2 Xn−1 + ... + a0 X1

On en déduit : G(s) = U (s) − [a0 X1 + a1 X2 + ... + an−1 Xn ]

On aboutit finalement à la représentation suivante :

x˙1 = x2
x˙2 = x3
..
..
ẋn−1 = xn
ẋn = −a0 x1 − a1 x2 − ... − an−1 xn + u(t)
D’autre part :

Y (s) = (bm sm−n + bm−1 sm−n−1 + ... + b1 s1−n + b0 s−n )G(s)


= bm Xm+1 + bm−1 Xm + ... + b1 X2+ b0 X1
= b0 b1 · · · bm 0 · · · 0 .X
D’où

0 1 0 0
 
··· ···
.. 0
 
 

0 0 1 0 ··· . 
.
.
 

.. ... ... ...

.
. 0
 
A=  ;B = 0
   
.. .. . .

. . . 1 0 0
   
 
 
0 0 ··· 0 1
 
1
 
 
−a0 −a1 · · · −an−2 −an−1
 
C = b0 b1 b2 · · · bm 0 · · · 0 ; et D = 0

Exemples :
Déterminer les représentations d’état correspondant aux fonctions de transfert suivantes :

9

8s3 + s + 2
H(s) =
s4 − 2s3 + 5s + 3

s2 − 2s + 4
H(s) = 3
2s + s2 − 6
Corrigé :

 - Application directe du résultat précédent :

8s3 + s + 2
H(s) = 4
s − 2s3 + 5s + 3
D’où:
0 1 0 0 0
  
 0 0 1 0  0
    
A=

; B =  ; C = 2 1 0 8 ;D=0
 0 0 0 1  0
−3 −5 0 2 1
- Application de la méthodologie (approche directe) :

Y (s) G(s) 8s3 + s + 2


H(s) = × = 4
G(s) U (s) s − 2s3 + 5s + 3
Y (s)
= 8s3 + s + 2
G(s)
G(s) 1
= 4
U (s) s − 2s + 5s + 3
3

D’où :

Y = (8s3 + S + 2)G
U = (s4 − 2s3 + 5s + 3)G

On pose :
X1 = G

 X = sG = sX1
 2
 X3 = s2 G = sX2

X4 = s3 G = sX3
D’où :
ẋ1 = x2

 ẋ2 = x3

ẋ3 = x4
Reste à déterminer ẋ4 .
sX4 = s4 G = U − (−2s3 + 5s + 3)G = U − (−2X4 + 5X2 + 3X1 )
Soit : ẋ4 = −3x1 − 5x2 + 2x4 + u

On obtient donc :

ẋ1 = x2


 ẋ2 = x3
ẋ3 = x4


ẋ4 = −3x1 − 5x2 + 2x4 + u

10
Et de Y = (8s3 + s + 2)G, il vient : Y = 8X4 + X2 + 2X1

On en déduit :
y = 2x1 + x2 + 8x4
On retrouve bien le résultat
 attendu
 :
0 1 0 0 0

 0 0 1 0  0  
A=

; B = 
 
; C =

2 1 0 8 ;D=0
 0 0 0 1  0
−3 −5 0 2 1
Vérification Matlab

 Attention au piège du coefficient du monôme du plus haut degré du dénominateur !.

s2 − 2s + 4 s −s+2
1 2
H(s) = = 2
2s + s − 6
3 2 s + 12 s2 − 3
3

D’où:
0 1 0 0
  
 
A= 0 0 1 ; B =  0
; C = 2 −1 1
;D=0
  
2
3 0 −1
2
1
Vérification Matlab

6 Résolution de l’équation d’état


ẋ = Ax + Bu
y = Cx + Du

6.1 Méthode directe : Approche temporelle


L’approche est similaire à celle des équations différentielles du 1er ordre dans R.

* Solution de l’équation homogène (sans second membre) :


r(t) = eAt .K avec K un vecteur constant nx1. (ne pas écrire [Link] comme dans R)

* Solution particulière :
La solution particulière est de la forme : z(t) = eAt .K(t), avec K(t) cette fois-ci est un
vecteur variable.

11
Cette solution z(t) doit vérifier l’équation ẋ = Ax + Bu :
Or ż = eAt .K̇(t) + AeAt .K(t)
D’où : ż = Az + Bu = AeAt .K(t) + Bu
⇒ eAt .K̇(t) + AeAt .K(t) = AeAt .K(t) + Bu ⇒ eAt .K̇(t) = Bu
⇒ K̇(t) = Ze−At Bu(t)
t Z t
⇒ K(t) = e−Aτ Bu(τ ) dτ ⇒ z(t) = eA(t−τ ) Bu(τ ) dτ
t0 t0
D’où : Z t
x(t) = eA(t−t0 ) x(t0 ) + eA(t−τ ) Bu(τ ) dτ
t0

et : Z t
y(t) = CeA(t−t0 ) x(t0 ) + CeA(t−τ ) Bu(τ ) dτ + Du(t)
t0

Cette égalité fait apparaître 2 régimes :


- Le régime libre : Il correspond au 1er terme et ne dépend que du système et des conditions
initiales.
- Le régime forcé : Il correspond aux deux derniers termes et traduit l’action de l’excitation
(ou commande) u(t). Il dépend du modèle du système et de la nature du signal u(t).
Remarques : Z t
— Si t0 = 0, x(t) = eAt x(0) + eA(t−τ ) Bu(τ ) dτ
0
Z t
— Et si x(0) = 0, x(t) = eA(t−τ ) Bu(τ ) dτ
0 h it  
Si de plus B et u sont constants alors x(t) = A−1 eA(t−τ ) B u = −A−1 I − eAt B u
0

ẋ = ax + b
(
=> appliquer à l’éq diff du 1er ordre classique
y = x

Remarque

Le calcul de eAt se fait de 3 manières différentes :

 Diagonalisation ou Jordanisation

 Cayley Hamilton

 TAYLOR (en cas de Nilpotence)

6.2 En passant par la transformée de Laplace


Et en appliquant la transformée inverse de Laplace, il vient :

y(t) = L−1 [[C(sI − A)−1 B + D]U (s)]

Exemple :

12
0 1 0
 ! ! ! !
ẋ1 x1
= . + . u


4 1

ẋ2 −3 x2 !


  x1
y = 0 1 .



x2

1ère Méthode : avec la transformée de Laplace :

On a :
Y (s) = C(sI − A)−1 Bu(s)
1 t
(sI − A)−1 = COM (SI − A)
det(sI − A)
s −1
det(sI − A) = = s(s − 4) + 3 = (s − 1)(s − 3)
3 s − 4 #
s−4 −3 s−4 1
" " #
COM (sI − A) = et COM (sI − A) =
t
1 s −3 s
D’où : :
i s−4 1 0
" #" #
h
0 1
−3 s 1 1
Y(s)= × ; car U (s) = 1s (échelon Unitaire)
(s − 1)(s − 3) s
D’où :
1
y(s) =
(s − 1)(s − 3)
a b
On va décomposer y(s) en fractions élémentaires : y(s) = +
s−1 s−3
−1 1
Par identification, on trouve : a = et b =
2 2
1 −1 1
!
Soit : y(s) = +
2 s−1 s−3
D’où :
1
y(t) = (−et + e3t )
2

2ème Méthode : Méthode directe


Z t Z t
x(t) = e A(t−τ )
Bu(τ ) dτ et y(t) = Cx(t) = CeA(t−τ ) Bu(τ ) dτ .
0 0
Détermination des valeurs propres de A :
−λ 1
det(A − λI) = 0 ⇔ =0
−3 4 − λ
⇔ λ(λ − 4) + 3=0
⇔ λ2 − 4λ + 3=0
⇔ λ = 1 ou λ = 3
1
!
Le vecteur propre associé à λ = 1 est :→
−u
1
1
!


Le vecteur propre associé à λ = 3 est : v
3
Diagonalisation de A :
La matrice A a deux valeurs propres distinctes, donc
! elle est diagonalisable.
1 0
Sa matrice diagonale correspondante est :D
0 3
1 1
!
La matrice de passage correspondante est : P
1 3

13
avec : A = P DP −1

Calcul de P −1 :
1 t 1 t 3 −1
!
P =
−1
COM P =
det(P ) 3 − 1 −1 1

1 3 −1
!
D’où : P −1
=
2 −1 1

Ainsi on peut calculer aisément :


eAt !
1 1 1 0 3 −1
! !
t
e
e = Pe P =
At Dt −1
2 1 3 0 e3t −1 1

Soit :

1 3et − e3t −et + e3t


!
eAt
=
2 3et − 3e3t −et + 3e3t

D’où :

1Z t  3e(t−τ ) − e3(t−τ ) −e(t−τ ) + e3(t−τ ) 0


! !
y(t) = 0 1 dτ
2 0 3e(t−τ ) − 3e3(t−τ ) −e(t−τ ) + 3e3(t−τ ) 1

1Z t
!
= −e(t−τ ) + 3e3(t−τ ) dτ
2 0
" #t
= 1
2
e (t−τ )
−e 3(t−τ )

0
On obtient :

1
y(t) = (−et + e3t )
2

Vérification MATLAB :

ou bien

14
7 Stabilité du Système
Un système est stable si pour une entrée bornée, la sortie correspondante est également
bornée (BIBO : Bounded Input-Bounded Output).
Dans la représentation d’état, un système est stable si les valeurs propres de A sont à
parties réelles négatives (situées dans le demi-plan de gauche).
En effet,
t
COM (sI − A)
H(s) = [C(sI − A)−1 B + D] = C × ×B+D
det(sI − A

C ×t COM (sI − A).B + det(sI − A).D


=
det(sI − A)
Les pôles de la fonction de transfert sont les racines du det(sI − A) (càd racines de l’équa-
tion det(sI − A) = 0) et donc sont les valeurs propres de A.

Remarque : det(sI − A) n’est autre que le polynôme caractéristique de A.

Exemple : !
1 −2
A= a pour valeur propres -1 et 5 (x2 − 4x − 5 = 0)⇒ Le système correspon-
−4 3
dant est instable.
** On aurait pu juste remarquer que tr(A)= 4 >0 donc au moins une valeur propre po-
sitive et donc le système est instable.

Exercice
Dire, sans calculer les valeurs propres, si les systèmes dont les matrices d’évolutions sui-
vantes sont stables ou pas :
−1 0 2
 
1 −2 1 −2
! !
A= ; A= ; A=  0 4 3
−4 −3 4 −3

0 0 −5

15
2
Commandabilité et Observabilité

1 Commandabilité
Un système est commandable en un instant t0 s’il existe une commande (ou loi de
commande) u(t) qui ferait évoluer le système de x(t0 ) à x(t) en un temps fini (t − t0 ).
Un système est commandable (càd complètement commandable) s’il est commandable en
tout instant t0 .

Autre définition :
Un système est commandable ⇐⇒ ∃ une commande d’énergie finie qui le mène d’un état
à un autre.

Soit aussi : Sachant x(t0 ) ; ∀T , ∀xf ,∃u(t) < ∞ / x(t0 + T ) = xf

1.1 Critère de Commandabilité de Kalman


Un système
h est commandable si et iseulement si la matrice de commandabilité Co dé-
finie par : B AB A2 B · · · An−1 B est de rang plein.
En particulier, si Co est carrée , elle est de rang plein équivaut à dire qu’elle est inversible
(det(Co) 6= 0).
Démonstration :
Pour simplifier on prend t0 = 0 et D = 0. Z t
La solution de l’équation d’état est donc donnée par :x(t) = e x(0) +
At
eA(t−τ ) Bu(τ ) dτ
0
Et comme le système est commandable, il existe u qui pourrait ramener x(0) à une valeur
donnée de l’espace d’état et en particulier à l’origine 0.
Z t
Soit : 0 = eAt x(0) + eA(t−τ ) Bu(τ ) dτ
0 Z t
En multipliant des deux côtés par e−At , il vient : x(0) = − e−Aτ Bu(τ ) dτ
0
Le Polynôme caractéristique de A est de la forme : P (s) = s + an−1 sn−1 + ... + a1 s + a0
n

Or d’après le théorème de CALEY-HAMILTON P (A) = 0.


Soit An + an−1 An−1 + ... + a1 A + a0 I = 0
D’où : An = −an−1 An−1 − ... − a1 A − a0 I

17

(At)k
D’autre part, d’après le théorème de TAYLOR : eAt =
X

k=0 k!

(At)k X ∞
(At)k
n−1
Soit aussi : eAt = +
X

k=0 k! k=n k!
Et comme ∀k ≥ n, les A s’expriment en fonction des Aj avec j ≤ (n − 1), on peut écrire :
k
n−1
eAt = αk (At)k
X

k=0
Z t Z t n−1
D’où x(0) = − e−Aτ Bu(τ ) dτ = − αk (−Aτ )k Bu(τ ) dτ
X
0 0 k=0
n−1 Z t n−1 Z t
=− Ak B αk (−τ )k u(τ ) dτ = Ak BVk avec Vk = − αk (−τ )k u(τ ) dτ
X X

k=0 0 k=0 0

D’où x(0) = B.V0 + AB.V1 + A2 B.V2 + ... +An−1 B.V


 n−1
V0
 V1 
i 
h 
Soit : x(0) = B AB A B · · · A B .  .. 
2 n−1 
 . 

Vn−1
Donc, l’obtention
h des Vi et donc desi ui à partir de x0 est conditionné par le rang de la
matrice B AB A2 B · · · An−1 B .

2 Observabilité

2.1 Définition
Un système est observable à un instant t0 si à partir de l’observation de sa sortie y entre
t0 et t, on peut déduire l’état du système en t0 càd x(t0 )
Si ceci est valable ∀t0 alors on dit que le système est observable (càd complètement ob-
servable).

Autre définition :
Un système est observable si et seulement si l’information fournie par ses sorties et entrées
permettent de reconstituer en tout temps son état (toutes ses variables d’état).

2.2 Critère d’observabilité de Kalman


Un
 système
 est observable si et seulement si la matrice d’observabilité Ob définie par :
C
 CA 
 
 CA2 
 
 est de rang plein.
.. 

. 


 
CAn−1
En particulier, si Ob est carrée , elle est de rang plein équivaut à dire qu’elle est inversible
(det(Ob) 6= 0).
Démonstration :

18
y = Cx
ẏ = C ẋ = C(Ax + Bu) = CAx + CBu
ÿ = CAẋ + CB u̇ = CA2 x + CABu + CB u̇
y (3) = CA2 ẋ + CAB u̇ + CAB ü = CA3 x + CA2 Bu + CAB u̇ + CB ü
..
.
y (n−1) = CA(n−1) x + CA(n−2) Bu + CA(n−3) B u̇ + · · · + CBu(n−2)

Soit :
0 0 ··· 0
     
y C 
···

u
ẏ CA CB 0 ··· ··· 0  u̇
      
.. = .x+.. . ..
      
0 ··· 0 
  
. .
 CAB CB .
       
     
(n−2) (n−3)
y (n−1)
CA(n−1) CA B CA B · ·· · · · CB u(n−1)

Donc,

l’extraction

de x de cette équation dépend uniquement du rang de la matrice
C
 CA 
 
 .. 
.
 
 
CA(n−1)

Exemple : (1 entrée et une sortie avec 4 variables d’état).


k1 0 0 0 b1
   

ẋ = Ax + Bu  0 k2 0
 0
b2 
   
avec A =   ; B =   et C = 0 c2 0 c4
y = Cx  0 0 k3 0 0
0 0 0 k4 0

u(t) ẋ1 R x1
b1 +
+

k1
ẋ2 x2
c2
R
b2 +
+

k2
ẋ3 R x3 +
y(t)
+
+ +

k3
ẋ4 x4
c4
R
+
+

k4

— x1 est commandable mais non observable


— x2 est commandable et observable
— x3 n’est ni commandable ni observable
— x4 n’est pas commandable mais observable
La fonction de transfert relative à ce système est donnée par :C(sI − A)−1 B + D

19
1
 
0 0 0
 s − k1
 
1

 0 0 0
 

s − k2
 
(sI − A)−1 =  1
 

0 0 0
 
 
 s − k3 
1
 
0 0 0
 
s − k4
 c2 c4 
D’où : C(sI − A) ) = 0−1 0
p − k2 p − k4
b2 c 2
Et par suite : C(sI − A)−1 )B =
p − k2

Cette fonction de transfert ne fait intervenir que les paramètres concernant les variables
commandables et observables. C’est le cas en général. On parle alors de modes cachés que
la fonction de transfert ne peut révéler. D’où l’intérêt d’une représentation d’état.

Exercice1 :
Etudier la commandabilité et l’observabilité du système représenté dans l’espace d’états
par :
x˙1 2 0 1
 " # " # " # " #
x1
= . + . u


 x˙2 3 −5 0



 x2
 " #
 h i x1
= 1 −1

y .




x2

Solution :
La matrice de commandabilité est :
1 −2
" #
h i
M = B AB =
0 3
det(M ) = 3 6= 0 donc le système est commandable.

La matrice#d’observabilité
# est :
1 −1
" "
C
Ob = =
CA −1 5
det(Ob) = 4 6= 0 donc le système est observable.

Exercice2 :
Etudier la commandabilité et l’observabilité du système représenté dans l’espace d’états
par :
x˙1 2 1 1
 " # " # " # " #
x1
= . + . u


 x˙2 1



 k −4 x2
 " #
 h i x1
= 1 0

y .




x2

1 3
" #
h i
La matrice de commandabilité est :Co = B AB =
1 k−4
⇒ det(Co) = k − 7
Donc, le système est commandable ⇔ k 6= 7

20
1 0
" # " #
C
La matrice d’observabilité est :Ob = =
CA 2 1
⇒ det(Ob) = 1 6= 0 donc Système observable ∀k

Exercice3 :
Etudier la commandabilité et l’observabilité du système représenté dans l’espace d’états
par :
x˙1 1 0 1 1 0
        
 x1 " #

u1
x˙2  −1 −1 0
=  x2  +  0 0 .

. 

      

u2
 
 x˙3 0 0 1 0 1

x3


  

x1
1 0 0
 " # " #
y1


= . x2 

  
0 1

 y2 −1


x3

21
3
Commande par Retour d’état

Le but de l’étude d’un système est d’examiner ses performances en termes de stabilité,
de rapidité et de précision afin de les corriger ou les améliorer, dans la mesure du possible,
en imaginant une certaine loi de commande. Mais encore faut-il qu’il soit commandable !
D’où l’intérêt primordial de la notion de commandabilité.
Le type de commande à envisager dépend de la disponibilité des varaibles d’états, ce qui
fait ressortir l’importance également de la notion d’observabilité.
Dans le cas d’indisponibilité de certaines variables d’état, on sera amené à les estimer
pour les "rendre observables" pour pouvoir implémenter une loi de commande : il s’agit
de la commande par observateur d’états.

1 Commande par retour d’état


Ce paradigme suppose que toutes les variables xi sont accessibles à la mesures.
Le retour d’état consiste à implémenter une rétroaction sur les variables d’état (et non
pas sur la sortie !). Il s’agit du moyen le plus classique pour la commande des systèmes
modélisés par une représentation d’état.
Le principe est toujours le même, il consiste à soumettre le système à un signal de consigne
et à générer automatiquement un signal de commande en comparant en permanence la
valeur de la consigne au comportement réel du système.

consigne Signal Sortie


+ Système
- de Commande

Dispositif
de Retour

Le système en boucle ouverte est représenté par des équations d’états telles que :

ẋ = Ax + Bu
(

y = Cx + Du

23
On prendra D=0 pour simplifier les calculs.
La loi de commande par retour d’état est de la forme : u = −Kx + e, avec e est le vecteur
des signaux de consigne à distinguer des signaux de commande u .

ẋ = Ax + Bu = Ax + B(−Kx + e) = (A − BK)x + Be
(

y = Cx

e(t)
+
u(t) ẋ = Ax + Bu y(t)
- y = Cx + Du

x(t)

Si u est de dimention mx1 et donc B est de dimension nxm, alors K est une matrice de
mxn.
Le gain de retour est formé de m ligne de n colonnes de gains à dimensionner en fonction
de la dynamique désirée.
Dans la suite nous considérons que u et e sont des monovariables pour simplifier le rai-
sonnement.
La matrice d’état est devenue A − BK alors que celles de l’entrée et de la sortie, respec-
tivement B et C restent inchangées.
La matrice K pourra être choisie de telle sorte à imposer les valeurs propres et donc les
pôles de la fonction de transfert (Dénominateur=Polynôme caractéristique), en vue de
corriger ou d’améliorer la stabilité ainsi que pour accélérer le système (améliorer la rapi-
dité).
Exemple :
0 1 0 0
   
h i
A= 0 0 1 et B = 0 On se propose de déterminer K = k1 k2 k3 de telle
   

−1 −5 −6 1
sorte que le système corrigé par retour d’état ait des pôles p = −2 ± 5j et −5.
Le polynôme caractéristique désiré est :

P = [(s − (−2 − 5j))(s − (−2 + 4j))](s + 5)


= [(s + 2)2 + 25](s + 5) = (s2 + 4s + 29)(s + 5)

Soit

P = s3 + 9s2 + 49s + 145

Or
0 1 0
 

A − BK = 

0 0 1
−1 − k1 −5 − k2 −6 − k3
Le polynôme caractéristique correspondant est donné par :

P = s3 + (k3 + 6)s2 + (k2 + 5)s + k1 + 1

24
D’où, on déduit par identification :

k3 + 6 = 9  k3 = 3
 

  h i
k2 + 5 = 49 ⇒ k2 = 44 ⇒ K = 144 44 3
k1 + 1 = 145 k1 = 144

 

Exercice1 : Soit!Le système suivant :


0 1 x1 0
! ! ! !
ẋ1   x
= + u et y = 0 1 1
ẋ2 −2 −3 x2 1 x2
Etablir la loi de commande par retour d’état permettant d’avoir un temps de réponse du
système à 5% : tr = 1s et un amortissement de ξ = 0.707.

1 2
Lorsque ξ = 0.707 = √ = , le dépassement est minimum et on a la relation tr .ω0 =
√ 2 2
2 2
Le polynôme caractéristique est donné par :P = s2 + 2ξω0 s + ω02

Or lorsque ξ = 2/2,√le dépassement est minimum ansi que le temps de réponse et on a
la relation : ω
√0 tr = 2 2 (∼ 3).
Donc ω0 = 2 2 ( 3)

Ainsi le polynôme caractérisque désiré est : P = s2 + 4s + 8

0 1 0  0 1
! ! !

Or A − BK = − . k1 k2 =
−2 −3 1 −2 − k1 −3 − k2
Le polynôme caractéristique de A − BK est donc : s2 + (3 + k2 )s + 2 + k1

3 + k2 = 4 k1 = 6
( (
On en déduit : ⇒
2 + k1 = 8 k2 = 1

2 Formule d’Ackermann
Pour un système commandable, Ackermann a établit une formule pour déterminer direc-
tement le vecteur Gain du Retour :

K = [k1 , k2 , ..., kn ] = [0, 0, ..., 1] × [B, AB, A2 B, ..., An−1 B]−1 × P (A)

avec P(A) est le Polynôme caractéristique désiré (valeurs propres à imposer au système)
appliqué à la matrice A.
Exemple :
6 1
!
On va reprendre l’exercice précédent : P (A) = A + 4A + 8I =
2
−2 3
0 1
!
[B, AB]=
1 −3
3 1
!
[B, AB] =
−1
1 0
 3 1 6 1  16 6
! ! !
   
D’où : [k1 , k2 ]= 0 1 = 0 1 = 6 1
1 0 −2 3 6 1

25
3 Réglage du régime permanent
Intéressons nous dans cette section au gain statique (càd en régime permanent). Et
pour simplifier le raisonnement, supposons que notre système est du type SISO (Single
Input Single Output) et prenons D=0.
La fonction de transfert du système est donnée par :

Y (s)
H(s) = = C[(sI − (A − BK))−1 B]
U (s)
Ainsi, pour une entrée Echelon e(s) = E/s,
E
y∞ = lim y(t) = lim sY (s) = lim s.H(s). = lim H(s).E = C(−A + BK)−1 B.E
t→+∞ s→0 s→0 s s→0

Le gain statique est donc


y∞
= C(−A + BK)−1 B
E
Pour avoir un gain statique unitaire , il faudrait insérer un précompensateur à
l’entrée de valeur :
1
F =
C(−A + BK)−1 B

e(t) u(t) ẋ = Ax + Bu y(t)


F +
- y = Cx + Du

x(t)

Exemple : !
0 2 x1 0
! ! ! !
ẋ1   x
= + u et y = 1 0 1
ẋ2 −3 4 x2 1 x2

Les valeurs propres de A sont 2 ± i 2. On désire les placer à −4 et −5.

-
+ 4

u + ẋ2 x2 ẋ1 x1 y
2
R R
+

Le polynôme caractéristique est :P (s) = (s + 4)(s + 5)

14 26
!
P (A) = (A + 4I)(A + 5I) =
−39 66
0 2
!
 
La matrice de commandabilité est : Co = B AB =
1 4
et
−2 1
 

Co−1 =  1
0

2

26
   
La formule d’Ackermann nous donne :K = 0 1 Co−1 P (A) = 7 13
1
Le gain de précommande pour avoir un gain statique unitaire est : F =
C(−A + BK)−1 B
0 −2 0.45 0.1
! !
Avec −A + BK = et (−A + BK)−1 =
10 9 −0.5 0
D’où : F = 10.

Le schéma synoptique du système ainsi corrigé est le suivant :

-
+ 4

e u + ẋ2 x2 ẋ1 x1 y
2
R R
10 +
-
+

+
+ 13

4 Rejet des perturbations : Retour Intégral


Pour simplifier le raisonnement, on va se limiter à un système SISO (Single Input
Single Output) avec une entrée constante (ou constante par paliers).
Pour immuniser le système contre les perturbations, comme pour le cas des systèmes
classiques régis par des fonctions de transferts, on rajoute un intégrateur en amont du
lieu où les perturbations sont susceptibles de se produire.
La généralisation pour un système MIMO (Multiple Input Multiple Output) sera alors
évidente.

e ẋi R xi u ẋ R x y
-
+ ki -
+ B +
+ C

ẋ = Ax + Bu
(

y = Cx

27
Un bouclage intégral fait rajouter une nouvelle variable d’état que l’on notera xi . La nou-
velle entrée du système sera notée e.
Ainsi, on a : ẋi = e − y = e − Cx
et la commande u devient : u = ki xi − Kx

D’où l’on déduit : ẋ = Ax + Bu = Ax + B(ki xi − Kx) = (A − BK)x + Bki xi


On définit alors le nouveau vecteur! d’état r, extension du vecteur d’état x avec la nouvelle
x
variable xi , comme suit : r =
xi
On peut donc écrire :
0
! !
A − BK Bki
ṙ = r+ e
−C 0 1
Le système est devenu de rang (n+1) ; les variables scalaires sont notées en gras pour les
distinguer des matrices.
Le système ainsi bouclé peut se mettre sous la forme contractée suivante :

0
 !
ṙ = (Â − B̂ K̂)r + e


1
y = Ĉr


! !
A 0 B   h i
avec : Â = ; B̂ = ; Ĉ = C 0 ; K̂ = K −ki
−C 0 0
On peut alors imposer une dynamique au système en choisissant convenablement le
vecteur K̂ contenant les n composantes du Retour d’état classique et la composante ki
correspondant au Retour Intégral, de telle sorte à ce que la matrice  − B̂ K̂ puisse avoir
les valeurs propres désirées.
Cette matrice a une forme similaire à celle vue lors du dimensionnement de la commande
par Retour d’état classique, et on peut lui appliquer la formule d’ACKERMANN pour
déterminer K̂

Exemple :

0 1 x1 0
 ! ! ! !
ẋ1
= +

u

5 −4 ! x2 1

ẋ2


  x
= 1 0 1

y


x2


On a :
0 1 0 0
   
! !
A 0 B    
 = =  5 −4 0 ; B̂ = = 1 ; Ĉ = C 0 = 1 0 0 ;
   
−C 0 0
h i
−1 0 0 0
K̂ = k1 k2 −ki

0 1 −4
 
h i
La matrice de commandabilité est : Co = B̂ ÂB̂ Â B̂ = 1 −4 21 
2  

0 0 −1
4 1 5
 

et Co −1
= 1 0 −4


0 0 −1
Le Polynôme caractéristique est : P = (s +1)(s + 2)(s + 3) 
16 8 0
D’où : P (Â) = (Â + I)(Â + 2I)(Â + 3I) =  40 −16 0


−16 −2 6

28
Enfin on applique la formule  d’Ackermann
 :
 4 1 5 16 8 0

    
k1 k2 −ki = 0 0 1  1 0 −4  40 −16

 = 16 2 −6
0
0 0 −1 −16 −2 6
càd aussi : k1 = 16 ; k2 = 2 et ki = 6.

Remarque :
On peut faire le calcul direct sans passer par la formule d’Ackermann :
Le polynôme caractéristique désiré est : (s + 1)(s + 2)(s + 3) = s3 + 8s2 + 17s + 10
D’autre part : det[sI − (Â − B̂ K̂)] = s3 + (k2 + 4)s2 + (k1 − 5)s − ki

29
4
Obserateur d’état

1 Commande par Observateur d’état


1.1 Principe
Le principe de la commande par retour d’état suppose que toutes les variables xi sont
accessibles à la mesures pour pouvoir opérer une rétroaction sur ces variables afin de pou-
voir placer les pôles du système là où on le désire, conformément au cahier des charges
imposé.
Mais il se trouve que parfois certaines variables ne sont pas accessibles à la mesure pour
des raisons telles que capteurs parfois trop coûteux ou difficiles à réaliser pour des raisons
techniques.
Dans ce cas, l’implémentation directe de la commande par retour d’état u = −Kx + e est
impossible.
L’idée est donc de reconstruire l’état à partir des informations disponibles, càd la sortie
et la commande.
Il s’agit en quelque sorte d’un capteur logiciel qui fait une copie virtuelle du système
réel et à l’aide d’un algorithme qui va délivrer à chaque instant une estimation en ligne des
variables d’état non mesurées. On parle alors d’observateur d’état, de reconstructeur
d’état ou encore d’estimateur d’état.

1.2 Implémentation de l’Algorithme de l’Observateur


L’objectif de l’observateur et de délivrer une estimation x̂(t) de x(t) de telle sorte que
l’erreur x̂(t) − x(t) converge le plus rapidement possible vers 0.

u(t) y(t)
Système

x̂(t)
Observateur

31
L’observateur est régi par une représentation d’état de la sorte :

x̂˙ = Ax̂ + Bu + L(y − ŷ)


(

ŷ = C x̂ + Du

}
Système
u ẋ R x y
B +
+ C

{z
A

|
+

}
L -

Observateur
x̂˙ ŷ

{z
+ R x̂
B +
C

|
x̂˙ = Ax̂ + Bu + L[(Cx + Du) − (C x̂ + Du)] = Ax̂ + Bu + LC(x − x̂)
(

ẋ = Ax + Bu
⇒ ẋ − x̂˙ = (A − LC)(x − x̂)
L’erreur d’estimation que l’on notera x̃ obéit donc à la loi : x̃˙ = (A − LC)x̃
L peut être alors choisie de telle sorte que les valeurs propres de A − LC soient à parties
réelles négatives et suffisamment grandes en valeurs absolues pour converger le plus rapi-
dement possible.

1.3 Commande par Retour d’état Observé


Une fois l’algorithme de l’Observateur implémenté, l’estimation x̂ est alors utilisée pour
la mise en place d’une loi de commande par retour d’état (état observé !), de sorte que
cette fois-ci : u = −K x̂ + e.

e(t) u(t) ẋ = Ax + Bu y(t)


F +
- y = Cx + Du

x̂ x̂˙ = Ax̂ + Bu + L(y − ŷ)


K ŷ(t)
ŷ = C x̂ + Du

Soit aussi, en forme plus détaillée :


!

Prenons alors le vecteur d’état augmenté ˙

On a : ẋ = Ax + B(−K x̂ + e) et x̃ = x − x̂

32
}
e(t) u(t) y

Système
ẋ R x
F +
- B +
+ C

{z
A

|
+

}
L -

Observateur
x̂˙ ŷ

{z
+ R x̂
B +
C

|
K

D’où : ẋ = Ax + B(−K(x − x̃) + e) = (A − BK)x + BK x̃ + Be

On obtient alors la représentation d’état augmentée suivante :


ẋ = (A − BK)x + BK x̃ + Be
(

x̃˙ = (A − LC)x̃
Soit aussi :  ! ! ! !
ẋ A − BK BK x B
= +

e
x̃˙

0 0

A − LC x̃


!
  x
= C 0 . + Du


 y


La dynamique globale est déterminée par les valeurs propres :


- de (A − BK) qui n’est autre que la dynamique du Retour d’état ;
- et de (A − LC) qui n’est autre que la dynamique de l’observateur.
Les valeurs propres de ces deux dynamiques peuvent être fixées indépendamment. C’est
ce qu’on appelle le Principe de Séparation.

Toutefois, la dynamique de l’observateur doit être plus rapide que le système, en gé-
néral 3 à 5 fois plus élevée. Par conséquent, la matrice L doit être choisie de telle sorte
que les valeurs propres de A − LC aient des parties réelles plus élevées en valeurs absolues
que celles de A − BK.

Exemple1 :
0 2 x1 0
! ! ! ! !
ẋ1   x
On reprend l’exemple précédent : = + u et y = 1 0 1
ẋ2 −3 4 x2 1 x2
Et on se propose d’introduire un Observateur pour estimer les états x1 et x2 afin d’im-
plémenter la correction par retour d’état désirée.
Les pôles du retour d’état désirés sont toujours : -4 et -5.
De ce fait on peut prendre comme pôles de l’observateur un pôle double -30 (au moins 5
fois la valeur de ceux du retour d’état).
Le Polynôme caractéristique désiré est donc : (s + 30)2 = s2 + 60s + 900
Le polynôme caractéristique de A-LC est : det(sI-(A-LC))=s2 + (l1 − 4)s − 4l1 + 6 + 2l2

33
!
l
avec L= 1
l2
On déduit : l1 = 64 et l2 = 575

2 Observateur Réduit
Dans la section précédente, nous avons estimé tous les états en supposant indirecte-
ment qu’ils sont tous inaccessibles ! Mais en réalité, certains états peuvent êtres accessibles
(mesurables) , d’autres non. Ainsi, il n’est pas nécessaire d’estimer tous les états, mais
seulement ceux qui ne sont pas directement accessibles (absence de capteur, capteur trop
cher, capteur imprécis, encombrement...). D’où la notion d’observateur réduit, simple à
réaliser, moins coûteux en terme de mémoire et temps de calcul et moins encombrant.

Le vecteur état x peut être scindé en deux parties :


• x1 pour les états accessibles
• x2 pour les états non accessibles
L’équation d’état s’écrit alors :

 ! ! ! !
ẋ1 A11 A12 x1 B1
= +

u


ẋ2 A21 A22 ! x2 B2


  x
= I 0 1

y


x2

avec I : matrice carrée unitaire de dimension celle de x1 .


La sortie est y = x1 (les états accessibles).
Pour la partie accessible x1 :ẋ1 = A11 x1 + A12 x2 + B1 u
⇒ A12 x2 = ẋ1 − A11 x1 − B1 u
Pour la partie non accessible x2 :
ẋ2 = A21 x1 +(A22 x2 + B2 u = A22 x2 + [A21 x1 + B2 u] .
v = A21 x1 + B2 u ẋ2 = A22 x2 + v
(
En posant : on peut écrire
w = ẋ1 − A11 x1 − B1 u w = A12 x2

34
Construisons alors l’observateur pour x2 :
x̂˙ 2 = A22 x̂2 + v + L(w − ŵ)
On définit l’erreur d’estimation x̃2 = x2 − x̂2
D’où : x̃˙ 2 = x˙2 − x̂˙ 2 = A22 (x2 − x̂2 ) − L(w − ŵ)
Et comme w − ŵ = A12 x2 − A12 x̂2 = A12 (x2 − x̂2 ) = A12 x̃2 ,
On déduit :
x̃˙ 2 = (A22 − LA12 )x̃2
Implémentation La nouvelle variable W introduite fait appel à la dérivée de x1 , qui
pourrait être source d’ennuis en termes particulièrement de génération de bruit.
Nous allons utiliser un artifice pour contourner ce problème :
x̂˙ 2 = A22 x̂2 + v + L(w − ŵ)
= A22 x̂2 + v + LA12 (x2 − x̂2 )
= (A22 − LA12 )x̂2 + v + LA12 x2
Or v = A21 x1 + B2 u et A12 x2 = ẋ1 − A11 x1 − B1 u

D’où x̂˙ 2 = (A22 − LA12 )x̂2 + A21 x1 + B2 u + L(ẋ1 − A11 x1 − B1 u)

Soit aussi, en passat le terme Lẋ1 de l’autre côté :

x̂˙ 2 − Lẋ1 = (A22 − LA12 )x̂2 + A21 x1 + B2 u − LA11 x1 − LB1 u

x̂˙ 2 − Lẋ1 = (A22 − LA12 )(x̂2 − Lx1 ) + (A22 − LA12 )Lx1 + A21 x1 + B2 u − LA11 x1 − LB1 u

x̂˙ 2 − Lẋ1 = (A22 − LA12 )(x̂2 − Lx1 ) + (A22 L − LA12 L + A21 − LA11 )x1 + (B2 − LB1 )u
En posant ẑ2 = x̂2 − Lx1 , il vient :

ẑ˙2 = (A22 − LA12 )ẑ2 + (A22 L − LA12 L + A21 − LA11 )x1 + (B2 − LB1 )u
x̂2 = ẑ2 + Lx1
L’erreur d’estimation converge vers 0 en choisissant L de telle sorte que les valeurs propres
de A22 − LA12 soient à parties réelles strictement négatives.

3 Commande par retour d’état avec un observateur


réduit
De la même manière, on fait scinder le vecteur Gain K en K1 et K2 correspondant res-!
h i h i x̂
pectivement à x1 et x2 : K = K1 K2 . ẋ = Ax+B(e−K x̂) = Ax+Be−B K1 K2 1
x̂2
Or x̂1 = x1 car il s’agit de la partie réelle, non estimée. !
h i x1
ẋ = Ax + B(e − K x̂) = Ax + Be − B K1 K2
x̂2
= Ax + Be − B(K1 x1 + K2 x̂2 )
D’où : = Ax − BK1 x1 − BK2 x̂2 + Be
= Ax − BK1 x1 − BK2 x2 + BK2 x2 − BK2 x̂2 + Be
= Ax − B(K1 x1 + K2 x2 ) + BK2 (x2 − x̂2 ) + Be
= (A − BK)x + BK2 x̃2 + Be

35
!
x
Et en prenant comme vecteur d’état , on aboutit à :
x̃2
! ! ! !
ẋ A − BK BK2 x B
= + e
x̃˙ 2 0 A22 − LA12 x̃2 0

Là encore le principe de séparation s’applique : les valeurs propres de A − LA12 peuvent


être choisies indépendamment de A − BK.

e u ẋ = Ax + Bu y = x1
+
- y = (I, 0)x

K = [k1 , k2 ] x1
ẑ2 ẑ˙ = Āẑ + B̄ x + B̄ u
x̂2 = ẑ2 + Lx1 2 2 1 1 2

x̂2
MUX

exemple

0 1 0
 ! !
ẋ = x+


u
0 −1 1

h i
 y = 1 0 x

avec x2 un état non accessible.


On se propose de construire un observateur réduit pour estimer x2 afin de pouvoir effec-
tuer un placement de pôles par retour d’état en s=-2. La dynamique de l’observateur doit
être 5 fois plus rapide que celle du système corrigé.
Le polynôme caractéristique désiré pour le retour d’état est : P1 = (s + 2)2 = s2 + 4s + 4

0 1 0 h
" ! ! #
i
det (sI − (A − BK)) = sI − − k1 k2
0 −1! 1
0 1 0 0
" !#
= sI − −
0 −1 k1 k2
s −1
=
k1 s + 1 + k1
h i
= s2 + (1 + k2 )s + k1
D’où : K = 4 3

Construction de l’observateur pour estimer x2 :


Le pôle de l’observateur est s=-10 (5x(-2))
A22 − LA12 = −1 − l et donc s − (−1 − l) = s − (−10) ⇒ l = 9
D’où :
ẑ˙2 = −10ẑ2 − 90x1 + u
(

x̂2 = ẑ2 + 9x1

36
e u ẋ = Ax + Bu y = x1
+
- y = (I, 0)x

90 9

- ẑ˙2 R ẑ2 + x̂2


+ +
-

10

+ 4
+

37
5
Systèmes complexes

1 Systèmes à plusieurs échelles de temps


Certains systèmes possèdent des valeurs propres très distantes l’une de l’autre et donc
des dynamiques nettement plus rapides que d’autres.
En négligeant les parties rapides, on peut réduire l’ordre du système et donc sa complexité.
Le vecteur x est donc scindé en deux parties :
x1 : partie lente
x2 : partie rapide
L’équation d’état s’écrit alors :
 ! ! ! !
ẋ1 A11 A12 x1 B1
= +

u


ẋ2 A21 A22 x B


! 2 2
  x1
=


 y C1 C2
x2

Comme x2 atteint son régime permanent plus rapidement que x1 , on peut écrire :
ẋ2 ≈ 0 ;
x2 ≈ x2f (valeur finale de x2 ) ;
Et l’équation devient :
 ! ! ! !
ẋ1 A11 A12 x1 B1
= +

u


0 A21 A22 x!2f B2


  x1
=


 y C1 C2
x2f

On en déduit :
A21 x1 + A22 x2f + B2 u = 0
D’où : A22 x2f = −A21 x1 − B2 u
Soit x2f = −A−1 −1
22 A21 x1 − A22 B2 u
Remarque : On suppose que la matrice A22 est inversible, sinon on utilisera sa matrice
pseudo-inverse.
Pour x1 ,on peut alors écrire : ẋ1 = A11 x1 + A12 (−A
 22 A21 x1 − A22 B2 u) + B1 u
−1 −1

⇒ ẋ1 = A11 − A12 A−1 22 A21 x1 + B1 − A12 A22 B2 u


−1

De même pour
 y:   
y = C1 x1 + C2 −A−1
22 A21 x 1 − A−1
22 B2 u = C 1 − C 2 A −1
22 A21 x1 − C2 A−1
22 B2 u

39
Il vient alors :

= A11 − A12 A−1





 A 22 A21
ẋ1 = Ax1 + Bu =

B1 − A12 A−1
(
B 22 B2


avec :


y = Cx1 + Du C = −1
C1 − C2 A22 A21




= −C2 A−1

D 22 B2


Exemple

0 1
! !
−2  
A= ;B= ; C = 3 −0.1
0 −15 50
On remarque que x2 a une dynamique beaucoup plus rapide que x1 , on peut donc
l’assimiler à sa valeur finale x2f = −A−1
22 A21 x1 − A22 B2 u = −50u
−1

ẋ1 = −2x1 + u


et 1
 y = 3x1 − u
3

2 Systèmes partiellement commandables


Dans le cas où le système n’est pas complètement commandable, le vecteur x sera
scindé en deux parties :
- les xi commandables
- les 
xj non commandables
x1
 x2 
 
   
 ..  x1 xj+1
 
 . 
!
xc  .   . 
x=  x = x  ..  et xnc =  .. 
avec : xc = 
   
 j  nc
xj+1 
  xj xn

.. 
. xn
! !
Ac A12 BC
Ainsi on peut écrire : A = et B =
0 A22 0
 
Si on considère une commande par retour d’état u = −Kx + e avec K = Kc Knc ,
! ! ! ! !
Ac A12 xc Bc   x Bc
ẋ = − K Knc c
+ e
0 A22 ! xnc ! 0! c xnc 0!
Ac A12 xc Bc   Bc
alors = − Kc xc + Knc xnc + e
0 A22 xnc 0 ! !
0
Ac − Bc Kc A12 − Bc Knc Bc
= x+ e
0 A22 0
On constate alors que les valeurs propres du système sont celles de :

— Ac − Bc Kc que l’on peut fixer là où on veut vu que (Ac , Bc ) est commandable.


— A22 qui est inchangéé par le retour d’état et que l’on ne peut modifier.

40
6
Systèmes complexes : Commande Op-
timale

1 Introduction
La commande par retour d’état, appelée aussi commande modale, est relativement
simple à mettre en oeuvre, mais sur des systèmes complexes on arrive rapidement à des
limites dès que l’ordre devient élevé.
Exemple : Un système à 2 entrées et ayant3 variables
 d’état nécessite la fixation de six
! x1
k k k
pôles. En effet : u = −Kx = 1 2 3  x2 

k4 k5 k6
x3
donc 6 valeurs composantes du gain K à déterminer.
Idem pour l’observateur correspondant !.
Comment choisir d’une manière automatique les valeurs optimales des gains ki ?

2 Critères d’optimisation
Le but de la commande est une convergence rapide tout en minimisant l’énergie de la
commande. Z ∞
Or l’énergie d’un signal est proportionnelle à x2 dt pour le cas de monovariable et
Z ∞ 0
t
xx dt pour le cas multivariables.
0

x
En se reférant à la figure ci-contre, on
constate que l’énergie fournie par le dis-
positif de commande "u1 " est plus impor-
tante que celle de "u2 ". Et on constate
également que la convergence Z ∞ est d’au- −3e−0.5x
tant plus rapide que Jx = t
xx dt est −3e−x
0
faible.
t

41
Ceci nous amène à fixer comme premier objectif :
Z ∞
Minimiser Jx = t
xx dt
0
Z ∞
De la même manière, l’énergie de la commande est proportionnelle à Ju = t
uu dt.
0
Ce qui nous amène à fixer comme deuxième objectif :
Z ∞
Minimiser Ju = t
uu dt
0

On peut toutefois affecter un poids différent à chaque composante du vecteur en intro-


duisant une matrice de pondération :
Z ∞
Jx = t
xQx dt Q : pondération de l’état
0
Z ∞
Ju = t
uRu dt R : pondération de la commande
0
Q et R sont des matrices symétriques, définies positives.
Rappel :
Une matrice
 est définie positive ⇔ les déterminants des n mineurs principaux sont >0.
2 −1 0

Exemple : −1

2 −1 
0 −1 2
1er mineur : 2
2 −1
2ème mineur : =3>0
−1 2
2 −1 0
3ème mineur : −1 2 −1 =4>0
0 −1 2
A noter que toute matrice diagonale à élément >0 est symétrique définie positive.
Z ∞ Z ∞
On définit alors un critère de compromis : J = Jx + Ju = t
xQx dt + t
uRu dt
0 0
Z ∞ 
J= t
xQx +t uRu dt
0

On peut dores et déjà émettre une remarque :


- si R & ⇒ rapidité %
- si Q & ⇒ nervosité de la commande & (=>cde molle).

La problématique étant de calculer la matrice du retour d’état K qui permet de minimiser


ce critère linéaire quadratique (commande LQ).
La synthèse de cette commande LQ nous permet de réaliser un retour d’état avec un
double avantage :
- réaliser un compromis entre dynamique et coût énergétique ;
- garantir des propriétés optimales pour la stabilité de la boucle fermée. On montre qu’elle
assure une marge de phase ∆ϕ > 60◦ et une marge de gain > 50%.
Mais elle nous impose tout de même le choix des matrices Q et R qui n’est pas forcément
simple !.
On peut par exemple :
- prendre des matrices diagonales pour limiter le nombre de paramètres,

42
- fixer une matrice à l’Identité et faire varier l’autre,
- ...
Mais, dans le cas général des systèmes complexes d’ordre important, on se retrouve dans
la même situation que celle pour le placement des pôles (commande modale).

Une solution pour le choix de Q et R a été proposée par Philippe de Larminat (Mathé-
maticien Français, toujours vivant), appelée La Méthode des Grammiens :
" Z Tc  #−1
t  
R=I et Q = Tc eAt B eAt B dt
0

1
Ce choix permet d’avoir également des pôles à gauche de la verticale − .
Tc

3 Equation de RICCATI
Une fois les matrices Q et R choisies, la solution de la problématique du Kopt permet-
tant d’optimier le critère Z ∞ 
J= t
xQx +t uRu dt
0
est donnée par :
Kopt = R−1t BP où P est définie symétrique positive, solution de l’équation de Riccati :
t
AP + P A + Q = P BR−1t BP

et min
u
J(u) =t x0 P x0 = J(uopt )

Exemple 1
0 1 0
! !
A= ;B=
0 0 1
1 0
!
Q= et R = 16
0 0
0 1
!
h i
Co = B AB = , det(Co) = −1 6= 0.
1 0
Le Système est
! donc commandable.
P1 P2
P = solution de l’équation de Riccati : t AP + P A + Q = P BR−1 .t BP = 0
P2 P3
Donc :
0 0 0 1 1 0 1 P1 P2 0 
! ! ! ! ! ! ! !
P1 P2 P P2  P P
+ 1 + − 0 1 1 2
=0
1 0 P2 P3 P2 P3 0 0 0 0 16 P2 P3 1 P2 P3
√ √
On en déduit :P1 = 2 √2 ; P2 = !4 et P3 = 8 2
2 2 √4
Et par suite : P =
4 8 2
√ √ #
1  2 2 4 1  √ 
! "
et Kopt = R BP =
−1t

0 1 √ = 4 8 2 = 1 2
16 4 8 2 16 4 2
Remarque :
Instruction Matlab : [K,P,E]=lrq(A,B,Q,R)

43
Exemple 2

q 0
! !
x
x= 1 ;Q= 1 ;R=r
x2 0 q2
Si on privillégie la dynamique ⇒ x1 et x2 plus faibles

⇒ u % : forte énergie de cde ≡ cde nerveuse mais risque de saturation.

si on privillégie u alors u & et donc x1 et x2 % ⇒ décroissance moins forte ⇒ dynamique


lente (càd cde molle).

La recherche du gain de retour d’état optimum à l’aide de l’équation de Riccati, donne les
deux composantes k1 et k2 exprimées en fonction de q1 , q2 et r.
Et pour pousser l’optimisation aux extrêmes, on pourra optimiser ces expressions obtenues à
l’aide d’algorithmes d’optimisation tels que l’Algoritme Génétique ou autres Algorithmes inspi-
rés de la nature, en vogue actuellement, tels que PSO (Particle Swarm Optimization, BCO (Bee
Colony Algorithm),ACO (Ant Colony Algorithm), GWO (Grey Wolf Algorithm), CSA (Cuckoo
Search Algorithm)...

44

Vous aimerez peut-être aussi