Vous êtes sur la page 1sur 48

Ecole Hassania des Travaux Publiques

Année Scolaire 2023-2024

Cycle Ingénieur EHTP


Niveau : 5ème année

 Module 1 : Automatique Avancée


- Systèmes dynamiques, commande par retour d’état
- Commande des Systèmes Complexes

 Module 2 : Commande Numérique

Date : Septembre 2023

Mbarek TALEB
Ingénieur en Electronique-Automatique
Docteur en Génie Electrique
Année Scolaire 2023-2024
Niveau : 5ème année GE-Opt.I

Automatique avancée
TD N o .1

Exercice1 :
Considérons le système défini par la fonction de transfert suivante :
s+1
H(s) =
s3
+ 2s + 3
1. Donner une représentation d’état de ce système.
2. Le système est il stable ?

Exercice2 :
Considérons le système régi par la représentation d’état suivante :
0 1 0 0 0
  
(
ẋ = Ax + Bu  0 0 1 0  0  
avec A =  ,B= ,C = 0 1 0 0
   
y = Cx + Du  0 0 0 1 0
−2 0 −1 −1 1
et D = 0

1. Donner sa fonction de transfert (sans calcul).


2. Le système est il stable ? (vous pouvez utiliser le critère de Routh)

Exercice3 :
Considérons
( le système régi par la représentation
! d’état
! suivante :
ẋ = Ax + Bu 0 1 0  
avec A = ,B= , C = 1 0 et D = 0
y = Cx + Du 0 0 1

1. Montrer que A est nilpotente


2. En déduire eAt à l’aide du développement de TAYLOR
3. Déterminer alors l’expression de y(t)
4. Retrouver le résultat en utilsant la transformée de Laplace.

Exercice4 :
On considère les! matrices dynamiques
! suivantes : !
1 2 1 2 −1 2
A1 = A2 = A3 =
0 −3 0 3 0 −3
! ! !
1 −1 1 −1 1 1
A4 = A5 = A6 =
3 2 3 −2 3 2
- Examiner la stabilité des systèmes correspondants.

Le 21 Sept. 2023 M.T ALEB


Table des matières

3
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 com-
plexe. 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.

e(t) y(t)
e(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 fonction-
nement, 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 :

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

5
1. Introduction

x : Vecteur d’état de dimension (nx1)


A : Matrice d’état (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 d’observation) de dimension (pxn)
D : Matrice Directe (ou Matrice d’Influences des entrées) de dimension (pxm)
u : Vecteur de commande (ou d’entrée)de dimension (mx1)

ẋ = 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)

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
vecteur 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 in-


versible 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 systèmes Non Linéaires peuvent être linéarisés autour de points de fonc-
tionnement 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).

6
2. Obtention du Modèle d’état

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

2x1 − 3x3 + u1


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




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

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


  0 −2

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

      
−1

x˙ 0 1 0  x3  0 0 0 0
   
  3 
u3


 x˙

0 1 1 1 x 0 0 1 0
4
⇔  4
x1  

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

  2
. u2 


 = .   +  
y2 0 0 0 −2  x3  0 0 2


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 x1 1 0 !
u1



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

      
u2


 x˙ −1 0 1 x 0 0

3  3

 ! " # x 1
" # !

 y 1 2 0 1 0 1 u1
= . x2  + .

  
 y2 0 −1 0 0 0 u2



x3

2 Obtention du Modèle d’état


2.1 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 C = CT −1
Malgré la non unicité de la représentation d’un système, nous verrons plus loin que
la fonction de transfert correspondante ainsi que les modes propres (valeurs propres
de A) restent inchangés par toute transformation inversible.
L’obtention d’une représentation d’état s’obtient de deux manières :

7
2. Obtention du Modèle d’état

- 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.

2.2 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
−R 1 1

x˙1 = x − x + e

 = L + L e
L 1 L 2 L x˙2 1
0 x2 ! 0


1 C
x˙2 = x
C 1

   x1
y = vc = x2 
 y = 0 1
x2


Soit aussi :
( ! !
ẋ = Ax + Bu −RL
− L1 
1
 1
L
avec A = 1 ; B = C
0 ;C = ;D = 0
y = Cx + Du C
0 0

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

+
−R
+ L

−1
L

Exemple2 : Model simplifié d’un amortisseur

X b k f (t)
fext = mγ = mÿ = −bẏ − ky + f (t)D’où :ÿ = − ẏ − y =
m m m
En posant : x1 = y et x2 = ẏ ; il vient :

8
2. Obtention du Modèle d’état

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


1
x˙2 − m − mb
k
x2 !


m
   x1

 y = 1 0
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)
Et on suppose que Km =Ke =K.
Le Moteur est soumi à un couple de rappel d’expression Cr = rθ ainsi qu’à un couple
de pertubation Cp

9
2. Obtention du Modèle d’état

Donner une " représentation


# du système en considérant la sortie l’angle θ et l’entrée
u
le vecteur
Cr

2.3 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 sui-


vante :

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) :

X1 = G(s) :

X1 = G(s) 
ẋ1 = x2

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 .

10
2. Obtention du Modèle d’état

sXn = 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) = 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 ob-
servable.

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 .

11
2. Obtention du Modèle d’état

+ + + + +
+ + + + +

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)
+ + +

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)

12
2. Obtention du Modèle d’état

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)
 
X1 x˙1 = x2

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

 .. 
 ..
.. ˙
xn−1 = xn
 
 
−1
Xn = s 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 sui-
vantes :

13
2. Obtention du Modèle d’état


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 8s−1 + s−3 + 2s−4


H(s) = =
s4 − 2s3 + 5s + 3 1 − 2s−1 + 5s−3 + 3s−4
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 :

14
3. Résolution de l’équation d’état

ẋ1 = x2


 ẋ2 = x3
ẋ3 = x4


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

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énomi-


nateur !.

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

D’où:   
0 1 0 0  
1
A= 0

0 1 ; B =  0 ; C =
 
2 −1 2
;D=0
−1
3 0 2
1
Vérification Matlab

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


ẋ = Ax + Bu
y = Cx + Du

15
3. Résolution de l’équation d’état

3.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 K.eAt 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
une vecteur variable.
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) = eZ−At Bu(t)
t Z t
⇒ K(t) = e−Aτ Bu(τ ) dτ ⇒ z(t) = eA(t−τ ) Bu(τ ) dτ
t0 t0
D’où : Z t
A(t−t0 )
x(t) = e 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

3.2 En passant par la transformée de Laplace


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)
Et en appliquant la transformée inverse de Laplace, il vient :

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

16
3. Résolution de l’équation d’état

Remarque :
Y (s)
Y (s) = [C(sI − A)−1 B + D]U (s) = [C(sI − A)−1 B + D]

U (s)
⇒ H(s) = [C(sI − A)−1 B + D]
⇒ C’est la fonction de transfert du système défini par sa représentation d’état
(A,B,C,D).

Exemple
 ! : ! ! !
 ẋ 1 0 1 x1 0
= . + . u


 ẋ −3 4 x2 ! 1

2
   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)
t
1
(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 t s−4 1
COM (sI − A) = et COM (sI − A) =
1 p −3 s
D’où : : " #" #
h i s−4 1 0
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−1
−1 1
Par identification, on trouve : a = et b =
! 2 2
1 −1 1
Soit : y(s) = +
2 s−1 s−1
D’où :

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

2ème Méthode : Méthode directe


Z t Z t
x(t) = eA(t−τ ) Bu(τ ) dτ et y(t) = Cx(t) = CeA(t−τ ) Bu(τ ) dτ .
0 0
Détermination des valeurs propres de A :

17
3. Résolution de l’équation d’état

−λ 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

avec : A = P DP −1

Calcul de P −1 :
1 t 1 t
!
−1 3 −1
P = COM P =
det(P ) 3 − 1 −1 1
!
−1 1 3 −1
D’où : P =
2 −1 1

Ainsi on peut calculer aisément


! eAt !
: !
1 t
1 1 e 0 3 −1
eAt = P eDt P −1 =
2 1 3 0 e3t −1 1

Soit :
!
At 3et − e3t −et + e3t
e =
3et − 3e3t −et + 3e3t

! !
1Z t  3e(t−τ ) − e3(t−τ ) −e(t−τ ) + e3(t−τ ) 0
y(t) = 0 1 dτ
2 0 3e(t−τ ) − 3e 3(t−τ )
−e(t−τ ) + 3e3(t−τ ) 1
D’où : !
1 Z t
= −e(t−τ ) + 3e3(t−τ ) dτ
2 0
On obtient :

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

Vérification MATLAB :

18
3. Résolution de l’équation d’état

3.3 Stabilité du Système


Un système est stable si pour une entrée bornée, la sortie correspondante est égale-
ment 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)
Y (s) = [C(sI − A)−1 B + D]U (s) = 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’équation 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 :

19
3. Résolution de l’équation d’état

!
1 −2
A = a pour valeur propres -1 et 5 (x2 − 4x − 5 = 0)⇒ Le système
−4 3
correspondant est instable.

20
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 comman-
dable 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 esth commandable si et seulementi 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) = eAt x(0)+ 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) = sn +an−1 sn−1 +...+a1 s+a0

21
2. Observabilité

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

X (At)k
D’autre part, d’après le théorème de TAYLOR : eAt =
k=0 k!
∞ n−1
At(At)k X (At)k
X
Soit aussi : e = +
k=0 k! k=n k!
Et comme ∀k ≥ n, les A s’expriment en fonction des Aj avec j ≤ (n − 1), on peut
k
n−1
αk (At)k
X
écrire : eAt =
k=0
Z t Z t n−1
e−Aτ Bu(τ ) dτ = − αk (−Aτ )k Bu(τ ) dτ
X
D’où x(0) = −
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 A2 B · · · An−1 B .   .. 

 . 
Vn−1
Donc, l’obtention
h des Vi et donc des ui ià 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
observable).

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
C
 CA 
 
2 
 
 CA  est de rang plein.
par : 
 .. 

 .  
CAn−1
En particulier, si Ob est carrée , elle est de rang plein équivaut à dire qu’elle est

22
2. Observabilité

inversible (det(Ob) 6= 0).


Démonstration :

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

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

··· ··· 0

u

 ẏ 




 CA
 CB 0 ··· ··· 0 

 u̇ 

 .. = .x+
..

.  .. 
CAB CB 0 ··· 0 
 
. . .
      
     
(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

23
2. Observabilité

— 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
1
0 0 0 
 s − k1



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


 0 0 0
 

 s − k3 
1 
 

0 0 0
s − k4
−1
 c2 c4 
D’où : C(sI − A) ) = 0 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 va-
riables 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ésenta-
tion d’état.

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



 x˙2


 3 −5 x2 0
 " #

 h i x1
y = 1 −1 .




x2

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

La matrice
" #d’observabilité
" # est :
C 1 −1
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 x1 1
= . + . u



 x˙2


 k −4 x2 1
 " #

 h i x1
y = 1 0 .




x2

24
2. Observabilité

" #
h i 1 3
La matrice de commandabilité est :Co = B AB =
1 k−4
⇒ det(Co) = k − 7
Donc, le système est commandable ⇔" k 6=# 7 " #
C 1 0
La matrice d’observabilité est :Ob = =
CA 2 1
⇒ det(Ob) = 1 6= 0 donc Système observable ∀k

25
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

27
1. Commande par retour d’état

Le système en boucle ouverte est représenté par des équations d’états telles que :
(
ẋ = Ax + Bu
y = Cx + Du

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
raisonnement.
La matrice d’état est devenue A − BK alors que celles de l’entrée et de la sortie,
respectivement 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 rapidité).
Exemple
 :   
0 1 0 0 h i
A= 0 0 1 et B = 0 On se propose de déterminer K = k1 k2 k3
   

−1 −5 −6 1
de telle 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 + 2s + 29)(s + 5)
Soit
P = s3 + 7s2 + 39s + 145
Or  
0 1 0
A − BK = 

0 0 1
−1 − k1 −5 − k2 −6 − k3

28
2. Formule d’Ackermann

Le polynôme caractéristique correspondant est donné par :

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


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

 k3 + 6 = 7  k3 = 1
 h i
k2 + 5 = 39 ⇒ k2 = 34 ⇒ K = 144 34 1
 

k1 + 1 = 145 
k1 = 144

Exercice1
! : Soit!Le système
! suivant :
! !
ẋ1 0 1 x1 0   x
1
= + u et y = 0 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
√ 2 2
tr .ω0 = 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
√ : ω t
0 r = 2 2 (∼ 3).
Donc ω0 = 2

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
directement 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 sys-
tème) appliqué à la matrice A.
Exemple : !
2 6 1
On va reprendre l’exercice précédent : P (A) = A + 4A + 8I =
−2 3
!
0 1
[B, AB]=
1 −3

29
3. Réglage du régime permanent

!
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

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
!
: ! ! ! !
ẋ1 0 2 x1 0   x
1
= + u et y = 1 0
ẋ2 −3 4 x2 1 x2

Les valeurs propres de A sont 2 ± i 2. On désire les placer à −4 et −5.
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

30
4. Rejet des perturbations : Retour Intégral

+
+

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

   
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 :

+
+

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

+
+ 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.
(
ẋ = Ax + Bu
y = Cx

31
4. Rejet des perturbations : Retour Intégral

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

Un bouclage intégral fait rajouter une nouvelle variable d’état que l’on notera xi .
La nouvelle 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
x
nouvelle variable xi , comme suit : r =
xi
On peut donc écrire :
! !
A − BK Bki 0
ṙ = 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 compo-
sante 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 com-
mande par Retour d’état classique, et on peut lui appliquer la formule d’ACKER-
MANN pour déterminer K̂

Exemple :
 ! ! ! !
 ẋ1 0 1 x1 0

 = + u
ẋ2 5 −4 ! x2 1


  x
 1
y = 1 0


x2


On a :

32
5. Commande par Observateur d’état

   
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
 
h i 0 1 −4
La matrice de 2
commandabilité est : Co = B̂ ÂB̂ Â B̂ = 1 −4 21 


0 0 −1
 
4 1 5
−1
et Co = 1

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


−22 −4 10
Enfin on applique la formule  d’Ackermann
 : 
    4 1 5 30 6 0  
k1 k2 −ki = 0 0 1  1 0 −4  30

6 0 = 22 4 −10
0 0 −1 −22 −4 10
càd aussi : k1 = 22 ; k2 = 4 et ki = 10.

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

5 Commande par Observateur d’état

5.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 pouvoir 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 sys-
tème réel et à l’aide d’un algorithme il délivre à 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.

33
5. Commande par Observateur d’état

5.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

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

A
|

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 rapidement possible.

5.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

34
5. Commande par Observateur d’état

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 :

}
e(t) u(t) y

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

{z
A

|
+

}
L -

Observateur
x̂˙ ŷ

{z
+ R x̂
B +
C

K |

!

Prenons alors le vecteur d’état augmenté ˙

On a : ẋ = Ax + B(−K x̂ + e) et x̃ = x − x̂
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 A − LC x̃ 0


!
   x

 y = C 0 . + Du


35
6. Observateur Réduit

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   x
On reprend l’exemple précédent : 1 = + 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’implé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
2
Le polynôme ! caractéristique de A-LC est : det(sI-(A-LC))=s +(l1 −4)s−4l1 +6+2l2
l
avec L= 1
l2
On déduit : l1 = 64 et l2 = 575

6 Observateur Réduit
Dans la section précédente, nous avons estimé tous les états en supposant in-
directement qu’ils sont tous inaccessibles ! Mais en réalité, certains états peuvent

36
6. Observateur Réduit

ê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
 1
y = I 0


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
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

37
7. Commande par retour d’état avec un observateur réduit

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.

7 Commande par retour d’état avec un observa-


teur réduit
De la même manière, on fait scinder le vecteur
h Gain
i K en K1 et K2 corres-
pondant respectivement à x1 et x2 : K = K1 K2 . ẋ = Ax + B(e − K x̂) =
!
h i x̂
1
Ax + Be − B K1 K2
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 !
x2
Et en prenant comme vecteur d’état , on aboutit à :
x̃2
! ! ! !
x˙2 A − BK BK2 x2 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

38
7. Commande par retour d’état avec un observateur réduit

exemple
 ! !
 0 1 0
ẋ = x+ u


h
0 −1
i
1

 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
effectuer un placement de pôles par retour d’état en s=-2. La dynamique de l’obser-
vateur 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 − LA11 = −1 − l et donc s − (−1 − l) = s − (−10) ⇒ l = 9
D’où :
ẑ˙2 = −10ẑ2 − 90x1 + u
(

x̂2 = ẑ2 + 9x1

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

90 9

+ ẑ˙2 R ẑ2 + x̂2


+ +
-

10

+ 4
+

39
8. Systèmes à plusieurs échelles de temps

8 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 B2


!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.
−1 −1
Pour x1 ,on peut alors écrire  22 A21 x1 − A22 B2 u) + B1 u
 : ẋ1 = A11 x1 + A12 (−A
⇒ ẋ1 = A11 − A12 A−1 −1
22 A21 x1 + B1 − A12 A22 B2 u

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

Il vient alors :

A11 − A12 A−1






 A = 22 A21
−1
(
ẋ1 = Ax1 + Bu B = B1 − A12 A22 B2



avec :

y = Cx1 + Du C = C1 − C2 A−1
22 A21




−1

D = −C2 A22 B2


Exemple
! !
−2 0 1  
A= ;B= ; C = 3 −0.1
0 −15 50

40
9. Systèmes complexes

On remarque que x2 a une dynamique beaucoup plus rapide que x1 , on peut


donc l’assimiler à sa valeur finale x2f = −A−1 −1
22 A21 x1 − A22 B2 u = −50u

 ẋ1 = −2x1 + u
et  1
y = 3x1 − u
3

9 Systèmes complexes
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 : ẋ = 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
c Bc
ẋ = − K Knc + 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.

41
4
Systèmes complexes : Commande
Optimale

1 Introduction
La commande par retour d’état, appelée aussi commande modale, est relative-
ment simple à mettre en oeuvre, mais sur des systèmes complexes on arrive rapide-
ment à 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
! x1
k k k
six 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
Z ∞ 0
t
et xx dt pour le cas multivariables.
0

x
En se reférant à la figure ci-contre,
on constate que l’énergie fournie par le
dispositif de commande "u1 " est plus
importante que celle de "u2 ". Et on
constate également que la convergence −3e−0.5x
est d’autant plus rapide que Jx = −3e−x

43 t
2. Critères d’optimisation

Z ∞
t
xx dt est faible.
0

Ceci nous amène à fixer comme premier objectif :


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

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


introduisant une matrice de pondération :
Z ∞
t
Jx = xQx dt Q : pondération de l’état
0
Z ∞
t
Ju = 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 ∞
t t
On définit alors un critère de compromis : J = Jx + Ju = xQx dt + uRu dt
0 0
Z ∞ 
t
J= 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 ;

44
3. Equation de RICCATI

- 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,
- 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 (Ma-
thématicien Français, toujours vivant), appelée La Méthode des Grammiens :
" Z Tc  #−1
t  
At At
R=I et Q = Tc e B e 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
permettant d’optimier le critère
Z ∞ 
t
J= 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 J(u) =t x0 P x0 = J(uopt )
u

Exemple 1
! !
0 1 0
A= ;B=
0 0 1
!
1 0
Q= et R = 16
0 0
!
h i 0 1
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 P1 P2 P P2 0 1 1 0 1 P1 P2 0   P P
+ 1 + − 0 1 1 2
=0
1 0 P2 P3 P 2 P3 0 0 0 0 16 P2 P3 1 P2 P3

45
3. Equation de RICCATI

√ √
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  1 2
−1t
et Kopt = R BP = 0 1 √ = 4 8 2 =
16 4 8 2 16 4 2
Remarque :
Instruction Matlab : [K,P,E]=lrq(A,B,Q,R)

Exemple 2
! !
x q 0
x= 1 ;Q= 1 ;R=r
x2 0 q2
Si on privillégie x1 et x2 ⇒ x1 et x2 plus faibles
⇒ décroissance plus forte ⇒ dynamique plus rapide
⇒ 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 ⇒ dyna-


mique 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
inspirés de la nature, en vogue actuellement, tels que PSO (Particle Swarm Optimization,
BCO (Bee Colony Algorithm),ACO (Ant Colony Algorithm), GWO (Grey Wolf Algo-
rithm), CSA (Cuckoo Search Algorithm)...

46

Vous aimerez peut-être aussi