PDFsam Merge
PDFsam Merge
PDFsam Merge
Master M1 ASE
Notes de Cours
1 Motivations: Systemes SISO et MIMO
i(t)
R L
f J q(t)
u(t) E(t)
K
θ(p) = U(p) := G(p) U(p)
p(1 + a1 p + a2 p2 )
L’équation ci-dessus constitue un modèle mathématique du comporte-
ment du processus physique qu’est le moteur à courant continu Ce modèle
1
sera d’autant plus fiable que les valeurs des frottements, inertie etc...seront
connues avec précision.
Par cette démarche, nous avons obtenu une fonction de transfert G(p)
traduisant le comportement la sortie θ(t) du processus en fonction de
l’entrée u(t).
2
• Comme entrées,
– Un débit de fuel
– Un débit d’eau
– Un débit de vapeur (demande du réseau électrique)
• Comme sorties,
– La pression de la vapeur
– La température de la vapeur
3
2 Représentation d’état
Dans certaines situations où l’état, les commandes ou les sorties sont soumis
à des contraintes (par ex: saturation des actionneurs), il convient d’être
plus précis sur les ensembles dans lesquels évoluent ces vecteurs. On note
alors
4
Dans ce cas la représentation d’état précédente pourra toujours se mettre
sous la forme matricielle:
Note: Dans le cas linéaire mais non invariant dans le temps, on obtient la
représentation matricielle précédente avec des matrices qui dépendent du
temps, soit A(t), B(t), C(t) et D(t).
θ̇ = ω
kc i − f ω
ω̇ =
J
u − R i − ke ω
i̇ =
L
Ces équations admettent une écriture matricielle:
0 1 0
0
−f kc
0
ẋ = f (x, u) = 0 J
J x+ u = Ax + Bu
−ke −R 1
0 L
L L
y = h(x, u) = 1 0 0 x + (0) u = C x + D u
Le vecteur x = (θ, ω, i)t est donc bien acceptable en tant que vecteur d’état
Noter que ce vecteur possède 3 composantes, ce qui correspond aussi à
l’ordre de la fonction de transfert G(p).
5
2.4 Exemple du générateur de vapeur
Une étude du comportement du générateur a permit de modéliser le com-
portement du processus sous forme de fonctions de transfert interconnectées
comme indiqué sur le schéma suivant. On se propose de fournir un représenation
d’état du système. Les FT mises en jeu étant du premier ordre, associons
une variable d’état xi à la sortie de chaque bloc (peu importe l’ordre), et
notons temporairement ri les entrées correspondantes.
u1
débit
vapeur y1
c1 c2
pression
u2
r1 b1 x1 r2 b2 x2
débit
fuel p + a1 p + a2
c3 c4 c5 c6
y2
température
u3
r3 b3 x3 r4 b4 x4
débit
eau p + a3 p + a4
ẋ1 = −a1 x1 + b1 r1 r1 = u2
ẋ2 = −a2 x2 + b2 r2 r2 = x1 + c1 u1 + c3 u3
ẋ3 = −a3 x3 + b3 r3 r3 = u3
ẋ4 = −a4 x4 + b4 r4 r4 = x3 + c4 x1 + c5 u1 + c6 x2
y1 = x2 + c2 u1
y2 = x4
6
soit sous forme matricielle
−a1 0 0 0 0 b1 0
b2 −a2 0 0 b2 c1 0 b2 c3
ẋ = f (x, u) =
0
x+ u
0 −a3 0 0 0 b3
b4 c4 b4 c6 b4 −a4 b4 c5 0 0
0 1 0 0 c2 0 0
y = h(x, u) = x+ u
0 0 0 1 0 0 0
C’est encore un système admettant la représentation matricielle ẋ(t) = A x(t)+
B u(t), et y(t) = C x(t) + D u(t).
REMARQUE:
ẋ = Ax + B1 u + B2 w
y = Cx + D2 w
7
2.5 Systèmes non linéaires, Linéarisation
Soit un système décrit par les équations d’état non linéaires
ẋ = f (x, u)
y = h(x, u)
ẋe = f (xe , ue )
ye = h(xe , ue )
Si on suppose de plus que x(t), y(t), et u(t) restent voisins de xe (t), ye (t), et
ue (t), on peut linéariser ces équations, c’est à dire fournir une représentation
d’état linéaire, valable pour des petits déplacements au voisinage de la tra-
jectoire nominale. On introduit pour cela les écarts
ζ = x − xe , w = u − ue , z = y − ye
ζ̇ ≃ Aζ + Bw
z ≃ Cζ + Dw
∂fi ∂fi
A= , B=
∂xj |e ∂uj |e
∂hi ∂hi
C= , D=
∂xj |e ∂uj |e
8
u(t)
θ(t) m
on obtient
ẋ1 = f1 (x, u) = x2
ẋ2 = f2 (x, u) = −g sin x1 + u/m
y = h(x, u) = x1
Cette équation est bien vérifiée à l’équilibre, i.e. pour la trajectoire xe (t) ≡
(0, 0)t , ue (t) ≡ 0. Ainsi, pour de petits déplacements au voisinage de cet
équilibre, nous pouvons écrire (ici ζ = x, w = u, z = y).
∂f1 ∂f1 ∂f1
ẋ ≃ ∂x ∂x2 x + ∂u
1
∂f2 ∂f ∂f2 u
∂x1 ∂x2 |e ∂u |e
∂h ∂h
y≃ x
∂x1 ∂x2 |e
9
2.6 Représentation graphique
A l’équation ẋ = (...) correspond un intégrateur (vectoriel), ce qui permet de
représenter les systèmes linéaires invariants dans le temps, i.e. régis par
sous la forme du diagramme fonctionnel suivant où les grandeurs sont vecto-
rielles
u ẋ x y
B C
θ̇ = ω
kc i − f ω
ω̇ =
J
u − R i − ke ω
i̇ =
L
se traduisent par le schéma
R/L f /J
- -
u θ
1/L kc /J
- i
ke /L
10
3 Changement de base
( (
ζ̇(t) = Ā ζ(t) + B̄ u(t) Ā = T AT −1 B̄ = T B
avec
y(t) = C̄ ζ(t) + D̄ u(t) C̄ = CT −1 D̄ = D
11
avec mi la multiplicité (algébrique) de la valeur propre λi , et m1 + m2 + · · · +
mp = n.
qi = n − rang (λi In − A)
(A − λi I)k vi,k = 0
(A − λi I)k−1 vi,k 6= 0
et chaı̂ne de Jordan associée à vi,k l’ensemble des vecteurs {vi,1 , vi,2 , · · · vi,k }
définis par la relation
vi,j = (A − λi I)k−j vi,k
Noter que (A − λi I) vi,1 = (A − λi I)k vi,k = 0 et que par suite vi,1 est une
valeur propre de λi . De même, dans le cas de valeurs propres simple, la
chaı̂ne de Jordan est unique et se réduit au seul vecteur propre.
où λi est une valeur propre de A. Pour chaque valeur propre λi , le nombre
de blocs de Jordan associé est fourni par la dégénérescence qi .La matrice P
de changement de base est fournie par les chaı̂nes de Jordan associées aux
différentes valeurs propres.
12
3.2.4 Exemple:
Considérons le cas d’un matrice A (5 × 5) pour laquelle nous avons obtenu 2
valeur propres simples λ1 et λ2 (m1 = m2 = 1), et une valeur propre triple
λ3 (m3 = 3). Pour cette valeur propre multiple, la dégénérescence est de 2.
En d’autres termes,
PA (λ) = det(λIn − A) = (λ − λ1 )(λ − λ2 )(λ − λ3 )3
et q3 = 5 − rang (λ3 I − A) = 2
La matrice de changement de base P sera alors de la forme
m3 =3 vecteurs pour λ3
m1 =1 m2 =1 z }| {
z}|{ z}|{ (1) (2) (2)
P =( v1 , v2 , v3,1 , v3,1 , v3,2 )
|{z} |{z} |{z} | {z }
vect. p de λ1 vect. p. de λ2 q3 =2 chaı̂nes de Jordan
3.3 Exemple
Considérons l’exemple suivant dans lequel on choisit comme variable d’état
xi la sortie de chaque bloc (d’ordre 1).
2 x1 1 x3
p p−1
u y
−1 2
p + 1 x2 p + 2 x4
13
La matrice A admet pour valeurs propres σA = {0, −1, 1, −2} et la matrice P
conduisant à la forme de Jordan est donnée par les vecteurs propres associés
P = (v1 , v2 , v3 , v4 ). On obtient:
0 −1 0 0
0 0 0 1/2
P = 0
1 1 −1/4
−1 −1 0 1
Considérons alors le nouveau vecteur d’état définit par ζ(t) = T x(t) avec
T = P −1. L’application du changement de base conduit à la nouvelle
représentation d’état dans laquelle Ā = T AT −1 = P −1 AP est une matrice
de Jordan
−2 0
0 ζ + −2 u
ζ̇ = y = −1 0 1 3/4 ζ
1 3/2
−1 −2
et au schéma fonctionnel
−1 ζ1
p+2
2 ζ2
p
u 3/2 ζ3 - y
p−1 +
+
−2 ζ4
3/4
p+1
14
4 Conversions Etat / Transfert
˙ = Ax(t) + Bu(t)
x(t) pX(p) − x(0) = A X(p) + B U(p)
→
y(t) = C x(t) + D u(t) Y (p) = C X(p) + D U(p)
Comme dans le cas Siso, l’hypothèse des conditions initiales nulles conduit à
la relation entrée/sortie suivante
4.1.1 Exemple
Soit le système linéaire décrit par
0 1 0 0
˙ 1 2 0
x(t) = 0 0 1 x(t) + 0 u(t), y(t) = x(t)
0 3 1
−6 −3 −1 1
15
Le polynôme PA (p) = det(pIn −A) porte le nom de polynôme caractéristique
du système (ou de la matrice A). L’inverse recherchée s’obtient par (pIn −
A)−1 = (matrice des cofacteurs)T /PA (p) soit
2
p +p+3 p+1 1
1
(pIn − A)−1 = 3 2
−6 p2 + p p
p + p + 3p + 6
−6p −3p − 6 p2
Finalement
p2 + p + 3 p + 1 1 0
1 1 2 0 2
H(p) = −6 p +p p 0
p3 + p2 + 3p + 6 0 3 1 2
−6p −3p − 6 p 1
2p + 1
p3 + p2 + 3p + 6
H(p) =
p2 + 3p
3 2
p + p + 3p + 6
Remarque: Il existe des logiciels permettant d’effectuer ces calculs simple-
ment, rapidement et sans erreur.
( (
ζ̇(t) = Ā ζ(t) + B̄ u(t) Ā = T AT −1 B̄ = T B
avec
y(t) = C̄ ζ(t) + D̄ u(t) C̄ = CT −1 D̄ = D
16
il vient
17
On définit alors les variables d’état (x1 , x2 , · · · , xn ) = v, v (1) , · · · , v (n−1)
d’où on déduit les relations
ẋ1 = x2 , ẋ2 = x3 , · · · , ẋn−1 = xn et
ẋn = −a0 x1 − a1 x2 − · · · − an−1 xn + u
Pour l’équation de sortie, nous avons la relation Y (p) = Num(p) V (p) qui se
traduit
0 1 0 0 0
0 0 1 0 ..
.
.. .. ..
x + ... u
ẋ = . . .
0 1 0
−a0 −a1 · · · · · · −an−1 1
| {z } | {z }
A
B
y = b0 − a0 bn , b1 − a1 bn , · · · bn−1 − an−1 bn x + bn u
| {z } | {z }
C D
18
0 0 0 −a0 b0 − a0 bn
1 0 −a 1 b1 − a1 bn
.
ẋ = 0 1 0 .. ..
x+ . u
. .. .
..
0 · · · 1 −an−1 bn−1 − an−1 bn
| {z } | {z }
B
A
y = 0 · · · 0 1 x + b u
n
| {z } | {z }
C D
1
αn
p − λn
..
n
.
X αi u 1 y
H(p) = α2
i=1
p − λi p − λ2
1
α1
p − λ1
Il suffit alors de prendre pour variable d’état la sortie de chaque bloc d’ordre
1 pour obtenir la représentation
λ1 1
. .. .
ẋ = x + .. u y = α1 · · · αn x
| {z }
λn 1 C
| {z } | {z }
A B
19
Lorsque H(p) contient un pôle multiple (disons γ d’ordre r), la décomposition
en éléments simples pourra se mettre suivante où H̄(p) ne contient pas le pôle
γ. La réalisation de la partie relative au pôle γ est alors fournie par le schéma
ci-après
1 ζ1
βr
p−γ
...
1 ζr−1 y
r β2
X βi p−γ
H(p) = H̄(p) +
i=1
(p − γ)i
1 ζr
β1
u p−γ
| {z } | {z }
B
A
Enfin, dans le cas où la décomposition en élément simples conduit à une paire
de pôles complexes (forcément conjuguée),
α ᾱ
H(p) = · · · + +
p − (a + jb) p − (a − jb)
il peut être souhaitable d’avoir une représentation d’état avec coefficients
uniquement réels. Ceci peut s’obtenir en considérant le changement de base
ζ = T x avec
1 1 −1 1 −j
T = ⇒ T = 1/2
j −j 1 j
On obtient en effet l’équivalence suivante:
a + jb 1 a −b 2
ẋ =
x+ u ζ̇ =
ζ+ u
a − jb 1 b a 0
⇔
y= α ᾱ x y = Re α Im α x
20
5 Résolution de l’équation d’état
Z t
A(t−t0 )
x(t) = e x(t0 ) + eA(t−τ ) B u(τ ) dτ
t0
(At)2 (At)n
eAt = I + At + +···+ +···
2! n!
Il existe plusieurs techniques permettant un calcul analytique de cette expo-
nentielle.
21
5.2 Calcul de eAt
5.2.1 A partir de la forme de Jordan
D’une manière générale, si deux matrices A et Ā sont semblables,
Noter que dans le cas où toutes les valeurs propres de A sont simples, Ā est di-
agonale, Ā = diag(λ1 , λ2 , · · · , λn ) et par suite eĀt = diag(eλ1 t , eλ2 t , · · · , eλn t ).
22
La connaissance des αj (t) (j = 0, 1, · · · , n − 1) permet donc de calculer eAt .
Ils s’obtiennent en observant que cette relation doit également être vérifiée
pour les valeurs propres de A, soit sous forme matricielle
λt
1 λ1 · · · λ1n−1
e 1 α0 (t)
eλ2 t 1 λ2
λ2n−1
α1 (t)
.. = ..
. .
eλp t 1 λp · · · λpn−1 αn−1 (t)
Sachant que la solution de cette équation s’écrit x(t) = eAt x(0) on en déduit
que par transformée inverse
eAt = L−1 (pI − A)−1
5.3 Exemple
Soit la matrice A suivante dont on cherche à déterminer eAt .
2 2
A=
−1 5
23
Les valeurs propres étant distinctes, on sait que la forme de Jordan associée
J = P −1AP sera diagonale. il reste à calculer le changement de base P .
Celui ci s’écrit P = (v1 , v2 ) où v1 , v2 sont les vecteurs propres associés à 3 et
4, et s’obtiennent en résolvant:
1 −2 par ex 2
(3I − A)v1 =
v1 = 0 ⇒ v1 =
1 −2 1
⇒P = 2 1
2 −2 par ex 1 1 1
(4I − A)v2 =
v2 = 0 ⇒ v2 =
1 −1 1
Cette relation est aussi valable pour les valeurs propres, ce qui fournit par
inversion
3t 3t
e 1 3 α0 (t) α0 (t) 4 −3 e
= ⇒ =
e4t 1 4 α1 (t) α1 (t) −1 1 e4t
24
6 Stabilité
Definition 2 (Stabilité interne) On dira qu’un système est stable (au sens
interne) si pour toute condition initiale x0 6= 0, la réponse libre x(t) du
système tend vers 0 pour t → ∞.
25
6.1 Exemple 1
On reprend ici l’exemple du paragraphe 4 pour lequel nous avions obtenu la
matrice A et le transfert H(p) suivants:
0 1 0
2p + 1
A= 0 0 1
p3 + p2 + 3p + 6
−6 −3 −1 H(p) =
p2 + 3p
3 2
p + p + 3p + 6
PA (p) = det(pIn − A) = p3 + p2 + 3p + 6.
6.2 Exemple 2
P
Soit le système (A, B, C, D) décrit sous forme de Jordan et auquel corre-
spond le schéma fonctionnel ci après.
−a 0
ζ̇ = ζ+ u y= 1 1 ζ
−1 −2
1 ζ2
p+a
u y
−2 ζ1
+
p+1
Dans un cas comme dans l’autre, il s’agit de savoir si les racines d’un polynôme
sont à partie réelle négative, et le critère de Routh constitue un test simple.
26
7 Commandabilité
cette question se pose en ces terme: ”est il possible de générer une commande
qui permette de faire passer le système d’un état quelconque x(t0 ) à un autre
état quelconque x(T ).” Sans perte de généralités, on pourra supposer l’état
initial nul, i.e.x(t0 ) = 0.
L’hypothèse de l’état initial nul est tel que la solution x(t) s’exprime par
Z t
x(t) = eA(t−τ ) B u(τ ) dτ (*)
0
Supposons que l’on arrive à établir qu’il existe un vecteur v constant tel que
v T x(t) = 0 ∀t ≥ 0.
x1
27
7.1 Systèmes à matrice A diagonalisable
Pour un système dont la matrice A possède des valeurs propres distinctes, la
mise sous forme de Jordan (ici diagonale) permet de conclure rapidement à
la commandabilité ou non. Il suffit en effet qu’une des lignes de B̄ soit nulle
pour que le système ne soit pas commandable.
28
ce qui entraı̂ne que v T eAτ B = 0 pour 0 ≤ τ ≤ T , puis pour tout τ par
analycité de la fonction exponentielle. Ainsi, il existe un vecteur v constant
tel que Z t
v T x(t) = v T eA(t−τ ) B u(τ ) dτ = 0
0
et le système n’est pas commandable.
Noter aussi que dans le cas de systèmes à une seule entrée, CA,B est une
matrice carrée et la condition de rang maximal équivaut à l’inversibilité de
CA,B .
29
Enfin, la propriété de commandabilité est une propriété structurelle. En
effet, avec un changement de base Ā = T AT −1 , B̄ = T B, il vient
CĀ,B̄ = B̄, Ā B̄, Ā2 B̄, · · · = T B, T AT −1 T B, · · · = T CA,B
u ζ1
ζ̇1 = Ā11 ζ1 + Ā12 ζ2 + B̄1 u C̄1
y
+
ζ2
ζ̇2 = Ā22 ζ2 C̄2
Celle ci montre bien que l’entrée u(t) n’exerce aucune action sur le sous
système d’état ζ2 . Celui ci porte le nom de partie non commandable du
système.
30
La transformation T permettant d’obtenir cette décomposition n’est pas
unique. Une solution possible consiste à procéder comme suit: (i ) On relève
toutes les colonnes indépendantes de CA,B (ii ) On complète pour obtenir une
matrice inversible (iii ) On inverse pour obtenir la matrice T .
7.3.1 Exemple
P
Considérons le système (A, B, C) décrit par
−2 1 0 1
A= 0 −1 1 , B =
1 , C= 1 0 0
0 0 0 1
Avec n = 3, la matrice de commandabilité CA,B s’écrit
1 −1 2
CA,B = (B, AB, A2 B) = 1 0 0
1 0 0
Elle est manifestement de rang 2 < 3 et le système n’est donc pas command-
able. Pour obtenir une décomposition selon la commandabilité, on peut par
exemple compléter les deux première colonnes indépendantes de CA,B pour
obtenir par exemple
1 −1 0 0 1/2 1/2
T −1 = 1 0 −1 ⇒ T = −1 1/2 1/2
1 0 1 0 1/2 −1/2
Le système peut être alors décrit par le nouveau triplet (Ā, B̄, C̄) dans lequel
les blocs Ā21 et B̄2 sont nuls,
0 0 −1 1
1 −2
Ā = T AT −1 = −2
, B̄ = 0
C̄ = 1 −1 0
0 0 −1 0
31
8 Commande par placement de pôles
8.1 Principe
On considère le système décrit par
ẋ = Ax + Bu
, x ∈ Rn , u ∈ Rr , y ∈ Rm ,
y = Cx
u = −kx + f v
v u P y
f
x
−k
32
8.2 Placement de pôles pour des systèmes monoentrée.
8.2.1 Systèmes décrits sous forme commandable
Soit un système décrit par
0 1 0 0 0
0 0 1 0 ..
.
ẋ = .. .. .. x + ... u
. . .
0 1 0
−a0 −a1 · · · · · · −an−1 1
| {z } | {z }
A B
1 − p2 0, 5 + p
H1 (p) = , H2 (p) = ,
1 + 3p + 3p2 + p3 −3 + p + p2 + p3
mettre sous forme commandable et déterminer le retour d’état fixant
les pôles du système corrigé à {−1, −2, −3} et {−1} (triple). Pour
H2 (p), déterminer le gain f assurant une erreur statique en position
nulle.(réponses k1 = [5, 8, 3], k2 = [4, 2, 2] et f = 2)
33
8.2.2 Systèmes sous forme quelconque
Il suffit de connaı̂tre le changement de base P qui conduit à la forme com-
mandable de matrice (Ac , Bc , Cc )
ẋ = Ax + Bu ż = Ac z + Bc u
→ z = Px →
y = Cx y = Cc z
On effectue le placement de pôles sur la forme commandable, u = −kc z +f v,
puis on en déduit u = −kc P x + f v, soit donc
k = kc P
34
8.3.1 Méthode de Young et Willems
Soient p(λ) et d(λ) les polynômes du système non corrigé et corrigés
k = f gT
1 dn−1 − an−1
an−1 1 dn−2 − an−2
X = .. .. .. , δ= ..
. . . .
a1 · · · an−1 1 d0 − a0
35
On souhaite imposer les pôles λ1 , · · · , λn , supposés ici distincts (pour simpli-
fier). Alors on peut toujours trouver n colonnes indépendantes ϕj1 , ϕj2, · · · , ϕjn ,
et le retour d’état s’exprime par
36
Dans ce cas, le retour d’état
c1 Ad1 +1
f = N −1 et k = N −1
..
.
dm +1
cm A
fournit une matrice de transfert dont tout les pôles sont à l’origine.
37
9 Observateur, Commande par état recon-
struit
9.1 Observabilité
Lorsque l’état x(t) du processus n’est pas accessible, les techniques de com-
mande ne sont plus directement applicables, et il faut faire appel à un état
reconstruit x̂(t). Cette opération n’est possible que si le processus possède la
propriété d’observabilité définie ci dessous.
Definition 4 Un système est dit à état entièrement observable si, par ob-
servation des entrées et sorties du système sur un intervalle de temps fini,
on peut déterminer l’état initial du processus.
T
une multiplication à gauche par eA t C T et une intégration sur [0, T ] con-
duisent à une relation de la forme
38
Si PO (T ) est inversible, alors on peut remonter à un unique x(0). Sinon, il
existe alors un vecteur v 6= 0 tel que PO (T )v = 0 ce qui veut dire aussi que
PO (T )x(0) = PO (T )(x(0) + v) et par suite x(0) et x(0) + v sont indistin-
guables. Ensuite, comme pour la commandabilité, on établit l’équivalence
entre l’inversibilité de PO (T ) et la condition de rang sur OA,C
De cette décomposition, illustrée ici, il est clair que l’état ζ2 n’est pas observ-
able. La propriété d’observabilité ne dépend que des matrices A et C. Noter
T
que la matrice d’observabilité transposée OA,C est identique à la matrice de
commandabilité CAT ,C T associée au système fictif suivant d’entrée v et sortie
η (dit aussi système dual).
ẋ = Ax + Bu ż = AT z + C T v
Σ: , Σ: .
y = Cx η = BT z
39
9.2 Observateur
Connaissant Σ(A, B, C), l’objectif est de construire un système d’entrée u(t)
et y(t) dont la sortie x̂(t) donne une estimation du vecteur d’état du proces-
sus.
u P y
Observ.
x̂
L = kT
40
9.3 Commande par retour d’état reconstruit
Lorsqu’on applique la commande sur l’état reconstruit (càd u = −k x̂ +
f v), on peut considérer que nous sommes en présence d’un systèmes à 2n
dimensions, n pour le système et n pour l’observateur. Considérons l’état
complet de ce processus définit comme suit
x I 0 x
z= =
ε −I I x̂
Régulateur
v u P y
f
Observ.
x̂
−k
qui montre que les pôles du système et ceux de l’observateur peuvent être
fixés séparément. Cette remarque est connue sous le nom de principe de
séparation.
41
Exercice 11 Pour le système de fonction de transfert
1
F (p) =
p(p + 1)
Ā11 = (C1 A11 + C2 A21 )C1−1 Ā12 = −Ā11 C2 + (C1 A12 + C2 A22 )
Ā22 = A22 − A21 C1−1 C2 Ā21 = A21 C1−1
B̄1 = C1 B1 + C2 B2 B̄2 = B2
y ż = Mz + Nu + P y x̂
u x̂ = F z + Gy
42
Soit L la matrice (n − m) × m qui place les pôles de la paire Ā22 , Ā12 dans
l’équation (Ā22 − LĀ12 ). Les différents coefficients de cet observateur sont
alors donnés par:
−1
−C1−1 C2 C1 (I − C2 L)
F = In−m
G=
L
M = Ā22 − LĀ12 , N = B̄2 − LB̄1
P = Ā21 + Ā22 L − LĀ11 − LĀ12 L
43
10 Commande monovariable et perturbations
d
Σ
u 1 y
Num(p)
Den(p)
Num(p) = bn−1 pn−1 + ... + b0
Den(p) y = d + Num(p) u,
Den(p) = pn + ... + a1 p + a0
Le choix des variables d’états comme indiqué ici permet d’établir une equa-
tion d’état mettant en jeu la perturbation au travers du terme Dd
ẋ = Ax + Bu + Dd
Σ
y = Cx
44
0 −a0
b0
1 0
.. 0 .
1 . b1
,D = T ..
A= . . ,B = ..,C =
.. .. . 0
1 −an−1 bn−1 0 1
˙
Observ.: ζ̂ = Φ ζ̂ + Γ u + L (y − H ζ̂),
u P y
Observ.
x̂
ζ̂ =
dˆ
45
10.1.2 Commande avec reconstructeur
La commande avec état et perturbation reconstruits se fait alors selon l’équation
et le schéma suivants:
u = −k x̂ − g dˆ + f v
d
Régulateur
v u P y
f
Observ.
x̂
[−k, −g]
dˆ
Le placement de pôles réside dans le choix d’un gain k tel que A − Bk ait des
pôles préspécifiés. Pour assurer ensuite l’égalité y = v en régime permanent
lorsque v et d sont constants, on utilise le théorème de la valeur finale pour
les transformées de Laplace, ce qui conduit aux relations
1
f =
C(−A + Bk)−1 B
C(−A + Bk)−1 D
g =
C(−A + Bk)−1 B
46
10.1.3 Placement de pôles robuste pour la commande et l’observation
Hormis les contraintes de stabilité, le choix des (n) pôles pour la commande
(coefficients du gain k), et des (n + 1) pôles de l’observateur (coefficients du
gain L) est à priori libre. Pour assurer un comportement robuste, on peut
adopter la stratégie suivante:
Im
·(3)
bc
bc
·(2)
bc ·(1)
−1/Tc Re
bc ·
(4)
·pôles initiaux
˜ (5) bc pôles finaux
47
10.1.4 Exemple
On considère le cas d’un premier ordre de fonction de transfert H(p) =
γ/1 + τ p, et dont la prise en compte de la perturbation conformément au
paragraphe précédent conduit au schéma ci-après
d
Σ
u 1 y=x
b0
a0 + p
Dans cet exemple, l’état x est accessible par la mesure y et seul reste à
ˆ Etant donné un horizon d’observation Tf ,
reconstruire la perturbation d.
on détermine alors un observateur d’ordre réduit (1) qui déplace le pôle {0}
à {−1/Tf }. On obtient alors L = 1/Tf pour le gain, puis les expressions
suivantes pour l’observateur d’ordre réduit:
48
d
P
v u y
f +
-k -g
t0
dˆ 1
+ -
1 + Tf p
t2 t1
0.8 0.2
Consigne et réponses
0.7
pour Tc2 < Tc1 0 Perturbations
0.6 -0.2
appliquée et
reconstruite
0.5 -0.4
0.4 -0.6
0.3 -0.8
0.2
− − Tc1 -1
0.1 -1.2
0 -1.4
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20
Commandes pour
3.5
Tc2 < Tc1
3 avec Tc2 < Tc1 la perturbation
2.5 est plus rapidement rejetée. D’un
autre coté, avec ce même Tc2 la
2
− − Tc2
commande présente des pics de
1.5
forte intensité lors des change-
1
ments de consigne
0.5
0
0 2 4 6 8 10 12 14 16 18 20
49
Exercice 14 A partir du schéma de simulation précédent, montrer
que la commande ainsi déterminée peut se mettre sous la forme
R(p) T (p)
u=− y+ v
S(p) S(p)
d Σ
y
v −1
u −1
T (p) S (p) B(p) A (p)
R(p)
BT S
y= v+ d = Wv v + Wd d
AS + BR AS + BR
Ces transferts devant être stables, pour assurer le rejet de perturbation (con-
stante ou constante par morceaux) et le suivi de consigne en régime perma-
nent, l’application du théorème de la valeur finale (pour p → 0) conduit aux
relations
50
Wd (0) = 0 → S(0) = 0
Wv (0) = 1 → T (0) = R(0)
51
A(p) et B(p) sont premiers entre eux, ce que l’on supposera toujours par la
suite. A titre d’exemple, pour un régulateur causal, la matrice MA,B prend
la forme:
1 0
an−1 1 0 ..
0 . 0
.. .. .. .. ..
.
. . bn−1 . .
..
.. .. .. .. .. ..
.
. . . . . .
.. .. .. ..
a0
. 1 . . . 0
MA,B = ..
0 . an−1 ..
b0 . 0
.. .. .. ..
. . . . bn−1
..
.. .. .. ..
. . . . .
.. .. ..
0 . a 0 0 . .
0 b0
A ce stade, le choix du polynôme D(p) est libre (du moment qu’il est stable), de
même que le choix du polynôme T (p) est libre (du moment que T /S est causal et
T (0) = R(0)). On décrit ci-après deux approches possibles;
conduit à
R(0) B(p) S(p)
y= v+ d
C(0) P (p) P (p)C(p)
et donc à un transfert sortie/consigne Wv (p) d’ordre n et dont les pôles sont ceux
fixés par P (p). En d’autres termes et pour conclure, la démarche à suivre pour
déterminer les polynômes R, S, et T peut être la suivante:
1. Fixer les pôles du système bouclé dans P (p) (placement de pôles pour
la commande), et ceux d’un filtre dans C(p) (placement de pôles pour
l’observateur), d’où D(p) = P (p)C(p).
3. En déduire T (p).
52
Noter que les pôles fixés par les polynômes P et C peuvent être déterminés à partir
de ceux de A (système en boucle ouverte) et de la donnée d’horizons d’observation
et de commande Tf et Tc comme indiqué dans le paragraphe précédent.
AS1 + Bi R = D(= P C)
où pour retrouver le cas précédent (sans compensation de zéros), il suffit de poser
Bs = 1.
Remarque Selon que l’on tient compte (comme ici) du rejet de perturbation
(au travers de S(0) = 0) ou non , le système d’équations de départ (de Sylvester)
et par suite le correcteur n’est plus le même. L’ordre des polynômes mis en jeu
peut également être différent. Noter aussi que le fait notamment que S se factorise
en pS ′ (p) induit en particulier une action intégrale.
53
Exercice 16 On considère un système instable de fonction de transfert
en boucle ouverte
5
H(p) =
(p − 1)(p + 2)
Déterminer un régulateur causal (degR = degS) RST tel que le transfert
y/v en boucle fermée s’écrive
0, 25
Hm (p) =
0, 25 + 0, 7p + p2
On notera k = degS et on cherchera d’abord à déterminer la valeur de k.
Les pôles éventuels d’observation seront fixés à -5 et la question du rejet
de perturbation ne sera pas considérée dans cet exercice.
54
11 Analyse et commande des systèmes dis-
crets
yk = y(kTe ) pour k = 1, 2, . . .
u(t) y(t)
C C
N S(A,B,C) A
A N
{
Système discret
uk yk
Calculateur
(horloge Te)
uk yk
Syst. discret
55
11.1 Traitement dans l’espace d’état
11.1.1 Discrétisation exacte
Partant d’un système linéaire continu et décrit dans l’espace d’état par les matrices
(A, B, C), l’obtention d’un modèle discret est simple, sachant que
Z t
x(t) = eA(t−t0 ) x(t0 ) + eA(t−τ ) Bu(τ )dτ
t0
avec Z
Te
Ad = eATe Bd = eAτ dτ B Cd = C
0
L’équation d’état est donc ici une équation de récurrence alors qu’en continu il
s’agissait d’équation différentielle.
Σd
u1,k
CNA
CAN
y yk
u2,k k/1 + p k/p
k−1
X
k
xk = Ad x0 + Ad k−i−1 Bd ui
i=0
La matrice de transition du système est ici donnée par Akd qui se calcule de manière
analogue à eAt . Plus précisément, on trouve (entre autres) les approches suivantes:
(a) Par diagonalisation; Si Ad est diagonalisable, i.e. Ad = P DP −1 , alors Akd =
56
P D k P −1 (b) En utilisant le théorème de Cayley Hamilton; La même démarche
que celle du cas continu s’applique avec les susbstitutions eAt ← Akd et eλi t ← λi k
u0
La théorie des matrices nous montre alors que le système sera commmnadable si
et seulement si la matrice de commandabilité CAd ,Bd = Cn est de rang plein.
y0 C 0 u0
y1
CAd
CBd 0
u1
.. = .. x0 + .. .. ..
. . . . 0 .
yk−1 CAdk−1 CAdk−2 Bd . . . CBd 0 uk−1
| {z } | {z } | {z }| {z }
Yk Ok Wk Uk
qui se récrit
Ok x0 = Yk − Wk Uk
On obtient alors que le système sera observable si et seulement si la matrice
d’observabilité OAd ,C = On est de rang plein.
57
En général et pour éviter les cas de figure de l’exemple précédent, on veillera à
ce que la période d’échantillonnage soit suffisamment faible (au moins Te < Ti /2
où Ti est la période propre du mode oscillant) pour préserver les propriétés de
commandabilté et observabilité.
11.1.4 Stabilité
Par définition le système sera dit stable si pour toute condition initiale x0 , la
réponse libre converge vers zéro. Autrement dit,
xk = Akd x0 → 0 ∀x0
k→∞
uk = −K xk + f vk
déterminer le retour d’état uk = −kxk qui fixe les pôle du système bouclé
à {−1/4, −1/8}.
58
11.2 Traitement par Transformée en z
11.2.1 Echantillonnage et Transformée en z
Le principe de cette approche consiste à associer à un signal continu y(t), un signal
dit échantillonné noté y ∗ (t) et correspondant à une suite d’impulsions (”de Dirac”)
pondérées par yk = y(kTe ) et régulièrement espacées de Te comme schématisé ci
dessous.
∞
Te P
y(t) y ∗ (t) = yk δ(t − kTe )
k=0
∞
X
Ȳ (z) = yk z −k
k=0
Plus généralement,
P pour toute suite {yk } pour laquelle il existe un réel ρ tel
que | ∞ k=0 y k ρ−k | < ∞ pour tout ρ > ρ , la formule ci dessus est adoptée
m
comme définition de la transformée en z de la suite {yk }. On note également
Z{yk } = Ȳ (z).
59
Propriétés
Outre le théorème de convolution discrète ci-après, les principales propriétés con-
cernent les opérations d’avance et de retard, ainsi que la formulation analogue du
”théorème de la valeur finale”.
• Très utile pour les études statiques, ce premier résultat étabit que lorsqu’
elle existe, la limite de la suite {xk } est donnée par
x∞ = lim (z − 1)X(z)
z→1
Z(xk−1 ) = z −1 X(z)
Z(xk+1 ) = z[X(z) − x0 ]
11.2.2 Transmittances en z
Pour les systèmes discrets décrits dans l’espace d’état, lorsque l’on considère les
suites engendrées par les membres de chaque équation, l’application de ce qui
précède se traduit immédiatement par
xk+1 = A xk + B uk z[X(z) − x0 ] = A X(z) + B U (z)
→
y k = C xk Y (z) = C X(z)
60
A l’inverse, en considérant z (non causal) [resp. z −1 (causal)] comme un opérateur
d’avance (resp. de retard), à une fonction de transfert
correspond la relation A(z)Y (z) = B(z)U (z), laquelle se traduit en terme de rela-
tion de récurrence
Te Te
u(t) u∗ y(t) y∗
G(p)
En utilisant le fait que toutes les suites sont à termes nuls pour indices négatifs,
on en déduit (à faire) la relation principale
Dans le cas des systèmes continus insérés entre des convertisseurs CNA et CAN,
le schéma de principe précédent est modifié pour faire apparaı̂tre l’opération du
bloqueur comme suit:
u(t) u∗ y(t) y∗
B0 (p) G(p)
61
Par application de ce qui précède, la relation entrée sortie dans ce cas de figure est
donnée par
Y (z) = W (z) U (z) avec W (z) = Z[B0 (p)G(p)]
La fonction de transfert d’un bloqueur d’ordre 0 est quant à elle caractérisée par
la réponse impulsionnelle et le transfert suivant:
1 − e−T p
B0 (p) =
p
Par suite, compte tenu que e−T p traduit un retard d’une période d’échantillonnage,
on en déduit que
z−1
Z[B0 (p)G(p)] = Z[G(p)/p]
z
x(t) k y(t)
A B0 (p)
p(1 + τ p)
1 + λp
Gain statique
Le gain statique est donné par la limite (si elle existe) de la suite {yk } lorsque le
système est soumis à un échelon de position (discret) unitaire. Ce dernier ayant
pour transfert U (z) = z/(z − 1), on déduit de l’application du théorème de la
valeur finale que:
62
11.2.3 Stabilité
La condition nécessaire et suffisante pour le transfert G(z) = B(z)/A(z) soit sta-
ble est que les racine du dénominateur A(z) soient toutes de module strictement
inférieur à 1. Voici une approche possible:
uk = c1 εk + c2 εk−1
où ε(t) représente l’écart x(t) − y(t), x(t) consigne. Etudier la stabilité de
l’ensemble en fonction des coefficients c1 et c2
63
ce qui conduit aux mêmes expressions (formelles!) des transferts en poursuite et
régulation
BT S
y= v+ d = Wv v + Wd d
AS + BR AS + BR
De même que dans l’approche continue, la prise compte éventuel d’un rejet de
perturbation constante se traduira ici par une factorisation de la forme S(z) =
(z − 1)S ′ (z). Le degré des polynômes mis en jeu s’en trouve affecté. (Bref il vaut
mieux reprendre les raisonnements depuis le début).
Dans l’exemple suivant, seule la fonction de transfert obtenue en boucle fermée est
considérée. On ne cherche pas non plus à compenser le zéro du numérateur qui
bien que stable est relativement proche du cercle unité.
(z + 3.087)(z + 0.222)
H(z) = 0.34510−3
z 3 − 2.275z 2 + 1.791z − 0.472
envisager une commande RST causale avec placement de pôles à {0.4, 0.2±
j0.4} et rejet de perturbations constantes. le zéro instable du transfert en
B.O. sera compensé et les pôles éventuels de l’observateur seront mis à 0.
64
pôles du transfert soit à l’origine, soit donc
N um(z)
Y (z) = X(z) avec Den(z) = z n
Den(z)
pour annuler le régime transitoire en ”n coups”. Noter que cela correspond aussi
à avoir une réponse impulsionnelle de durée finie.
1.2
0.2
← commande u et le réglage (avec D = exp(−Te /τ ))
0
1 Te D 2
-0.2 perturbation A= , λ=τ−
kTe (1 − D) 1−D
-0.4
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
Noter que dans cet exemple la perturbation n’est pas rejetée. Cela n’est pas dû
au placement de pôles à l’origine, mais plutôt à la structure de la commande
(par retour d’état) qui ne tient pas compte (dans ce cas de figure) du rejet de
perturbation.
65
Annexe: Quelques transformées en z
Table de transformées usuelles
δ(t) 1 1
δ(t − kT ) e−kT p z −k
1 z
Echelon
p z−1
1 Tz
t
p2 (z − 1)2
1 z
e−at
p+a z − e−aT
ω0 ze−aT sin(ω0 T )
e−at sin(ω0 t)
(p + a)2 + ω02 z2 − 2ze−aT cos(ω0 T ) + e−2aT
p+a z 2 − ze−aT cos(ω0 T )
e−at cos(ω0 t)
(p + a)2 + ω02 z 2 − 2ze−aT cos(ω0 T ) + e−2aT
66