Académique Documents
Professionnel Documents
Culture Documents
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
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
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.
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)
e(t) y(t)
ẋ = Ax + Bu
y = Cx + Du
5
1. Introduction
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.
6
2. Obtention du Modèle 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
x̂˙ = T AT −1 x̂ + T Bu
(
⇒
y = CT −1 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
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
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
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
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)
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
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
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 :
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
11
2. Obtention du Modèle d’état
+ + + + +
+ + + + +
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)
2ème Méthode
En factorisant par sn , il vient :
12
2. Obtention du Modèle d’état
D’où :
= 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))
x˙1 = x2
x˙2 = x3
..
..
ẋn−1 = xn
ẋn = −a0 x1 − a1 x2 − ... − an−1 xn + u(t)
D’autre part :
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é :
−3 −5 0 2 1
- Application de la méthodologie (approche directe) :
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
On en déduit :
y = 2x1 + x2 + 8x4
−3 −5 0 2 1
Vérification Matlab
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
15
3. Résolution de l’équation d’état
* 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
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
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
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
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
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.
21
2. Observabilité
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).
22
2. Observabilité
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
23
2. Observabilité
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
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
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
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
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
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
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.
+
+
e u + ẋ2 R x2 ẋ1 R x1 y
10 +
-
+ 2
+
+ 13
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
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.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
u(t) y(t)
Système
x̂(t)
Observateur
ŷ = C x̂ + Du
}
Système
u ẋ R x y
B +
+ C
{z
A
|
+
}
L -
Observateur
x̂˙ ŷ
{z
+ R x̂
B +
C
A
|
ẋ = 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.
34
5. Commande par Observateur d’état
}
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é ˙
x̃
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
35
6. Observateur Réduit
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.
! ! ! !
ẋ1 A11 A12 x1 B1
= + u
ẋ2 A21 A22 ! x2 B2
x
1
y = I 0
x2
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.
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
e u ẋ = Ax + Bu y = x1
+
- y = (I, 0)x
90 9
10
+ 4
+
39
8. Systèmes à plusieurs échelles de temps
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 :
Exemple
! !
−2 0 1
A= ;B= ; C = 3 −0.1
0 −15 50
40
9. Systèmes complexes
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
44
3. Equation de RICCATI
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
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.
46