Vous êtes sur la page 1sur 28

HEIG-Vd Automatique avancée (AAV)

Chapitre 4

Modélisation des systèmes


dynamiques dans l’espace d’état

Espace d’état 107 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

R L

i ( t )
u ( t ) u ( t )
e C s

f _ 0 2 _ 0 2 _ 0 1 . e p s

Fig. 4.1 – Circuit RLC série (fichier source).

4.1 Représentation d’un système dynamique li-


néaire par son modèle d’état.
4.1.1 Exemple introductif : circuit RLC série
Modèle entrée-sortie ("Input-ouput model")
On considère le circuit électrique suivant : En admettant que les paramètres
R, L et C soient constants, la relation mathématique liant la tension de sortie
us (t) à celle d’entrée ue (t) peut être trouvée en écrivant l’équation (intégro-)
différentielle régissant le circuit :
Zt
di 1
ue (t) = R · i (t) + L · + · i (τ ) · dτ (4.1)
dt C
−∞

Notant que :
dq dus
=C·
i (t) = (4.2)
dt dt
q(t) étant la charge instantanée du condensateur, et que
Zt
1
us (t) = · i (τ ) · dτ (4.3)
C
−∞

l’équation différentielle d’ordre 2 devient :


dus d2 us
ue (t) = R · C · + L · C · 2 + us (t) (4.4)
dt dt
soit encore :
d2 us R dus 1 1
+ · + · u s (t) = · ue (t) (4.5)
dt2 L dt L·C L·C
Sa résolution fournit la relation cherchée entre

Espace d’état 108 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

2
d u R d u 1
+ × + × u ( t )
s s

u ( t ) = u ( t ) u ( t ) = y ( t )
× C
2 s
d t L d t L
e s
1
= × u ( t )
× C
e
L

f _ 0 2 _ 0 2 _ 1 2 . e p s

Fig. 4.2 – Description du circuit de la figure 4.1 page ci-contre par un modèle de
connaissance prenant la forme d’une équation différentielle d’ordre 2. Le modèle
indique le lien entre l’entrée ue (t) et la sortie us (t) : il s’agit d’un modèle entrée
sortie (fichier source).

l’entrée ue (t)
et
la sortie us (t)
du système.
Dans le cas de conditions initiales nulles, on peut extraire la fonction de
transfert :
Us (s) 1
G (s) = = (4.6)
Ue (s) 1 + s · R · C + s2 · L · C
Il s’agit là à nouveau d’une relation
entrée-sortie
où aucune des grandeurs internes du circuit n’intervient, bien que leur connais-
sance puisse être importante ; on pense notamment
– au courant i(t) ;
– au flux totalisé Ψ(t) = L · i(t) ;
– à la charge instantanée du condensateur q(t) ;
– au champ électrique E(t) entre les armatures du condensateur.
Un courant i(t) trop élevé peut provoquer une saturation magnétique se ma-
nifestant directement sur le flux totalisé Ψ(t), alors qu’une charge exagérée du
condensateur peut engendrer un champ électrique E supérieur au champ disrup-
tif. Dans un cas comme dans l’autre, les hypothèses de linéarité sont démenties,
mais aucune de ces grandeurs n’apparaît dans l’un ou l’autre des modèles entrée-
sortie (équation différentielle d’ordre 2 et fonction de transfert) obtenus.

Modèle d’état
La représentation dans l’espace d’état (State space model) offre une alternative
au modèle entrée-sortie en proposant un modèle liant non seulement les signaux

Espace d’état 109 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

G ( s )
U e
( s ) U s
( s )

U ( s ) Y ( s )

f _ 0 2 _ 0 2 _ 1 3 . e p s

Fig. 4.3 – Description du circuit de la figure 4.1 page 108 par un modèle de
connaissance prenant la forme d’une fonction de transfert d’ordre 2. Comme le
modèle de la figure 4.2 page précédente, il s’agit également d’un modèle entrée
sortie (fichier source).

d’entrée et de sortie d’un système dynamique tout en gardant "à l’oeil" certaines
grandeurs internes essentielles, les variables d’état.
Pour l’obtenir, il suffit de décrire le système dynamique par n équations
différentielles d’ordre 1 en lieu et place d’une seule équation différentielle
d’ordre n. Pour le circuit électrique considéré, on pourrait écrire :
di
+ C1 · q (t)

ue (t) = R · i (t) + L · dt
(4.7)
i (t) = dq
dt

où q(t) est la charge électrique instantanée du condensateur. En plaçant les dé-


rivées premières dans les membres de gauche et en mettant en forme, on a :
 di
dt
= −R L
1
· i (t) − L·C · q (t) + L1 · ue (t)
dq (4.8)
dt
= i (t)
Ces deux équations, mises ainsi sous forme canonique, modélisent le comporte-
ment dynamique du circuit. Elles sont les équations d’état du système. L’ex-
pression de la tension de sortie us (t) est alors simplement
1
us (t) = · q (t) (4.9)
C
qui est appelée équation d’observation.
En profitant de la notation matricielle, on peut présenter les trois dernières
équations sous forme compacte :
   R 1
    1 
d i − L − L·C i
dt
= · + L · ue
q 1  0 q 0
(4.10)
i
us = 0 C1 ·
 
q

Espace d’état 110 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

La résolution de la première de ces équations (i.e. l’équation d’état) fournit i(t)


et q(t) en fonction de ue (t). Le calcul de us (t) n’est alors plus qu’une simple
formalité (combinaison linéaire des états i(t) et q(t)) en faisant usage de la seconde
équation, i.e. l’équation d’observation.
Les variables d’états du système sont ici
i(t) et q(t) (4.11)
Elles ont été réunies dans le vecteur d’état
 
i
~x = (4.12)
q

Non-unicité de la représentation d’état


Remarquons que d’autres grandeurs pourraient faire office d’état. En faisant
les substitutions
i (t) = L1 · Ψ (t)
(4.13)
us (t) = C1 · q (t)
et en réécrivant les équations du circuit comme suit
1 dΨ R 1 1
· = − 2 · Ψ (t) − · us (t) + · ue (t) (4.14)
L dt L L L
dus 1
C· = · Ψ (t) (4.15)
dt L
on a finalement, après avoir multiplié la première équation par L et la seconde
par C1 ,
   R     
d Ψ − L −1 Ψ 1
= 1 · + · ue (4.16)
dt us L·C
0 u s 0
 
  Ψ
us = 0 1 · (4.17)
us
ce qui montre déjà que la représentation d’état n’est pas unique.

4.1.2 Définition
La représentation d’état d’un système dynamique linéaire est un modèle par
lequel non seulement la relation entrée-sortie entre u(t) et y(t) est déterminée,
comme c’est déjà le cas avec
– l’équation différentielle d’ordre n,
dn y dn−1 y dy dm u dm−1 u du
n
+an−1 · n−1 +. . .+a1 · +a0 ·y = bm · m +bm−1 · m−1 +. . .+b1 · +b0 ·u
dt dt dt dt dt dt
(4.18)

Espace d’état 111 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

G ( s )
U ( s ) Y ( s )

u ( t ) y ( t )

f _ 0 2 _ 0 1 _ 2 7 . e p s

Fig. 4.4 – Modèle entrée-sortie (fichier source).

n n - 1
d y d y d y
+ a × + K + a × + a × y

y ( t )
n n - 1 n - 1 1 0
d t d t d t
u ( t ) m m - 1
d u d u d u
= b × + b × + K + b × + b × u
m m m - 1 m - 1 1 0
d t d t d t

f _ 0 2 _ 0 1 _ 1 9 . e p s

Fig. 4.5 – Représentation d’un système dynamique linéaire par une équation
différentielle d’ordre n (fichier source).

G ( s )
U ( s ) Y ( s )

u ( t ) y ( t )

f _ 0 2 _ 0 1 _ 2 8 . e p s

Fig. 4.6 – Représentation d’un système dynamique linéaire par sa fonction de


transfert (fichier source).

Espace d’état 112 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

– la réponse impulsionnelle g(t) ou la fonction de transfert G(s),


mais également le comportement des grandeurs internes x1 . . . xn au système,
appelées variables d’état.
dx1


 dt
= a11 · x1 +a12 · x2 +... +a1n · xn +b1 · u
dx2
= a21 · x1 +a22 · x2 +... +a2n · xn +b2 · u

dt (4.19)

 ... ... ... ... ... ...
 dxn
dt
= an1 · x1 +an2 · x2 +... +ann · xn +bn · u

Les variables d’état x1 à xn sont au nombre de n, n étant l’ordre du système.


Elles apparaissent naturellement lors de la mise en équations d’un système. Si
l’on s’astreint à modéliser celui-ci par un ensemble de n équations différentielles
du 1er ordre, les grandeurs d‘état sont alors celles faisant l’objet de la dérivée.
Les n équations différentielles d’ordre 1 sont les équations d’état du système.
Bien qu’une définition claire des variables d’état soit relativement difficile à
trouver dans la littérature, on proposera néanmoins la suivante :
Les variables d’état d’un système dynamique d’ordre n sont les n grandeurs x1
à xn qu’il est nécessaire et suffisant de connaître à l’instant t0 pour calculer la
réponse y(t) du système à toute entrée u(t), t ≥ t0 .
Cela signifie que si x1 (t) à xn (t) sont connues à un instant t0 , la connaissance
des équations du système ainsi que du signal d’entrée u(t) qui lui est appliqué
permet de calculer la réponse y(t) pour t ≥ t0 . Dans ce sens, les variables d’état
x1 (t0 ) à xn (t0 ) à l’instant t0 coïncident avec les conditions initiales du système.
La connaissance à un instant donné des variables d’état du système permet
donc d’en définir rigoureusement l’état, à l’instar par exemple des registres d’état
("status registers") d’un processeur. Toute autre donnée est alors superflue, hor-
mis bien sûr les valeurs des paramètres (R, L, C, J, Rf , etc).
Le jeu de n équations différentielles ci-dessus doit en principe être complété
par une équation définissant la relation entre les grandeurs d’état x1 (t) à xn (t) et
la sortie y(t) du système :

y = c1 · x1 + c2 · x2 + . . . + cn · xn + d · u (4.20)

Il s’agit de l’équation d’observation, dans laquelle le signal de sortie y(t) ap-


paraît comme une combinaison linéaire des états x1 à xn .

Exemple : moteur DC

On considère un moteur DC à excitation séparée dont tous les paramètres


sont supposés constants :
Les signaux d’entrée u(t) et de sortie y(t) sont ici la tension ua (t) appliquée
aux bornes de l’induit ainsi que la position angulaire θ(t) respectivement. La mise

Espace d’état 113 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

R L

a l i e r s
a a

w ( t ) q ( t )

p
u a
( t ) M

C o e f f i c i e n t
J
i a d e f r o t t e m e n t

v i s q u e u x

R f f _ 0 2 _ 0 2 _ 0 9 . e p s

Fig. 4.7 – Schéma technologique d’un moteur DC (fichier source).

en équations donne :

dia
ua (t) = Ra · ia (t) + La · + KE · ω(t) (4.21)
dt
Tem (t) = KT · ia (t) (4.22)

J· = Tem (t) − Rf · ω(t) (4.23)
dt

= ω(t) (4.24)
dt

Par simple mise en forme, on peut en déduire les équations d’état, en choi-
sissant ia , ω et θ comme variables d’état :

dia Ra KE 1
=− · ia − ·ω+ · ua (4.25)
dt La La La
dω KT Rf
= · ia − ·ω (4.26)
dt J J

=ω (4.27)
dt

La connaissance de ces trois équations est nécessaire et suffisante pour décrire


le comportement dynamique du système considéré, lequel est donc d’ordre n = 3.
La sortie y du système est donnée par l’équation d’observation et coïncide
dans cet exemple avec l’un des états :

y=θ (4.28)

Espace d’état 114 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

4.1.3 Forme matricielle


Les équations différentielles d’ordre 1 ci-dessus sont avantageusement repré-
sentées en faisant usage de la notation matricielle :

d~x
= A · ~x + B · u (4.29)
dt
y = C · ~x + D · u (4.30)

– le vecteur  
x1
~x =  ...  (4.31)
 
xn
est le vecteur d’état ; c’est un vecteur colonne de dimension n × 1. Ses
composantes sont les n états du système.
– la matrice  
a11 a12 . . . aan
 a21 a22 . . . a2n 
A =  .. (4.32)
 
.. .. .. 
 . . . . 
an1 an2 . . . ann
est la matrice d’état ou matrice système ; c’est une matrice carrée de
dimension n × n.
Dans le cas d’un système mono-variable (une entrée u, une sortie y),
– la matrice  
b1
 b2 
B =  ..  (4.33)
 
 . 
bn
est la matrice d’entrée prenant la forme d’un vecteur-colonne de dimen-
sion n × 1 ;
– la matrice
 
C = c 1 c 2 . . . cn (4.34)
est la matrice de sortie, vecteur-ligne de dimension 1 × n ;
– la matrice
D = [d] (4.35)
est la matrice de transfert direct. Elle se réduit à un scalaire dans le cas
mono-variable. Si elle est non-nulle, cela indique que l’entrée u intervient
directement sur la sortie y, ce qui traduit un comportement statique (voir
figure 4.9 page 118).

Espace d’état 115 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

L’équation
d~x
= A · ~x + B · u (4.36)
dt
est l’équation d’état. Elle seule détermine le comportement des états x1 à xn ,
i.e. le comportement dynamique du système.
L’équation
y = C · ~x + D · u (4.37)
est l’équation d’observation ou encore équation de sortie ; elle n’a aucune
influence sur les états. Elle permet de construire la/les sortie(s) du système par
simple combinaison linéaire des états.

Exemple : moteur DC
On reprend l’exemple du moteur DC à excitation séparée précédemment
traité. Sous forme matricielle, ses équations d’état s’écrivent :
− La − KLEa 0
   Ra     1 
ia ia La
d 
ω  =  KT − Rf 0  ·  ω  +  0  ·ua
dt J J
θ 0 1 0 θ 0
| {z } | {z } | {z } | {z }
~
x A  ~
x B (4.38)
  i a
θ = 0 0 1 ·  ω  + [0] · ua
|{z} |{z} |{z}
y
| {z
C
} θ D u
| {z }
~
x

où le vecteur d’état est    


x1 ia
~x =  x2  =  ω  (4.39)
x3 θ
La représentation dans l’espace d’état constitue par ailleurs la forme idéale pour
la simulation ; en effet, la plupart des méthodes de résolution de systèmes d’équa-
tions de 1er ordre linéaires ou non-linéaires (Runge-Kutta, Euler, etc) requièrent
la forme dite canonique, où les dérivées premières (des états) apparaissent dans le
membre de gauche, le membre de droite comprenant des combinaisons linéaires
ou non-linéaires des états.
Par exemple, dans le cas linéaire, les réponses impulsionnelle, indicielle ou
harmonique du système étudié sont facilement obtenues avec MATLAB, par les
commandes respectives (offertes dans Control System Toolbox ) :
– step(A,B,C,D)
– impulse(A,B,C,D)
– bode(A,B,C,D)
exécutées après avoir introduit les valeurs numériques des matrices A, B, C et
D. On a par exemple pour la réponse indicielle :

Espace d’état 116 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

REPONSE INDICIELLE : EVOLUTION DES ETATS


0.9

x2=omega
0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1
x3=teta
0 x1=ia

−0.1
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
t [s]

Fig. 4.8 – La réponse indicielle du modèle d’état du moteur DC montre l’évolution


des 3 états i(t), ω(t) et θ(t).

Espace d’état 117 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

r
d x
r
d t x
u ( t ) B ò C y ( t )
S S

A
f _ 0 2 _ 0 1 _ 2 9 . e p s

Fig. 4.9 – Schéma fonctionnel (ou structurel) associé à une représentation par un
modèle d’état. On observe que la matrice d’état A détermine les contre-réactions
des états du système (fichier source).

4.1.4 Schéma fonctionnel

Les équations d’état


d~
x
dt
= A · ~x + B · u
(4.40)
y = C · ~x + D · u

peuvent être représentées graphiquement par le schéma fonctionnel général cor-


respondant (figure 4.9). Ce schéma met en évidence le rôle capital joué par la
matrice d’état A, laquelle détermine les contre-réactions internes au système. Il
sera montré ultérieurement qu’elle seule détermine en fait la stabilité du système,
ses valeurs propres coïncidant avec les pôles dudit système.

Exemple : moteur DC

Les équations d’état du moteur DC peuvent être représentées sous forme gra-
phique. Un schéma fonctionnel possible celui des figures 4.10 page suivante et 4.11
page 120 où les seuls élément dynamiques intervenant sont des intégrateurs.
L’avantage de ces schémas est que l’on peut voir au premier coup d’oeil la struc-
ture interne du système, notamment les relations existant entre les différentes
grandeurs.

Espace d’état 118 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

d i R K 1 d w K R d J
= - × i - × w + × u = × i - × w = w
a a E T f

a a a
d t L L L d t J J d t

T
a a a

i w
e m

a
1 1 1
u K
1 1
a S
L
S
s
T
J
S
s s
q
a

-
R
R f
a

L J
a

e m

K E

f _ 0 2 _ 0 2 _ 1 6 . e p s

Fig. 4.10 – Une représentation graphique possible des équations d’état du moteur
DC (fichier source).

4.1.5 Calcul de la fonction de transfert à partir du modèle


d’état
On se propose ici de calculer la fonction de transfert du système sur la base
des équations d’état. Notons que l’opération inverse est également possible.
Dans le cas de conditions initiales nulles, la transformée de Laplace des deux
membres des équations d’état donne, pour un système mono-variable :

d~
x
dt
= A · ~x + B · u
(4.41)
y = C · ~x + D · u

~ (s) entre
Afin d’extraire la relation entrée sortie entre U (s) et Y (s), on élimine X
les deux équations :

s·X ~ (s) − A · X~ (s) = B · U (s)


~ (s) = B · U (s)
(s · I − A) · X (4.42)
X~ (s) = (s · I − A)−1 · B · U (s)

En introduisant cette dernière expression dans la seconde équation (l’équation


d’observation)

Y (s) = C · (s · I − A)−1 · B · U (s) + D · U (s) (4.43)

on en déduit finalement la fonction de transfert recherchée :

Y (s)
G (s) = = C · (s · I − A)−1 · B + D (4.44)
U (s)

Espace d’état 119 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

1
i
u
1 a

a S
L s
a

-
R
a

e
d i R K 1
L
a

= - × i - × w + × u
a a E

a a m
d t L L L

K
a a a

1 w
S
s

d w K R R
= × i - × w
T f f

a
d t J J J

T e m

1
K T
J

d J 1 q
= w
d t s

f _ 0 2 _ 0 2 _ 1 7 . e p s

Fig. 4.11 – Une autre représentation graphique des équations d’état du moteur
DC (fichier source).

Espace d’état 120 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

Rappel : inversion d’une matrice L’inverse d’une matrice A est obtenu en


divisant la transposée de la matrice des cofacteurs par le déterminant de A.
Cas particulier : matrice 2 sur 2.
   
a11 a12 −1 1 a22 −a12
A= A = · (4.45)
a21 a22 a11 · a22 − a12 · a21 −a21 a11

On peut ainsi obtenir la fonction de transfert du système décrit dans l’espace


d’état à partir des matrices A, B, C et D. On voit qu’il est nécessaire d’inverser la
matrice (s·I −A) qui est d’ordre n, ce qui peut constituer un travail considérable.

L’expression de G(s) peut encore être développée en tenant compte de l’ex-


pression de l’inverse de (s · I − A) :

Y (s) [cof (s · I − A)]T


G (s) = =C· ·B+D
U (s) |s · I − A|
C · [cof (s · I − A)]T · B + D · |s · I − A| polynôme en s
= = (4.46)
|s · I − A| polynôme en s

On observe que le dénominateur de G(s) n’est autre que le déterminant de (s ·


I − A). Les racines du dénominateur étant les pôles s1 . . . sn de G(s), on voit que
ceux-ci correspondent aux valeurs propres de A, obtenues en résolvant :



 s1
 s2

dc (s) = |s · I − A| = 0 ⇒ .. (4.47)


 .
 s
n

Espace d’état 121 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

Exemple : moteur DC
La fonction de transfert G (s) = YU (s)
(s)
= UΘ(s)
a (s)
est obtenue en procédant par
étapes :

− La − KLEa 0
   Ra 
1 0 0
(s · I − A) = s ·  0 1 0  −  KJT − RJf 0 
0 0 1 0 1 0
s+ R + KLEa 0
 a

La
=  − KJT s + RJf 0 
0 −1 s
−1 [cof (s · I − A)]T
(s · I − A) =
|s · I − A|
   
R
s · s + Jf s · KJT KT
    J  
KT Ra
cof (s · I − A) =  − La · s s · s + La s+ R a
 
  La 

  
Ra Rf KT ·KE
0 0 s + La · s + J + J·La
   
R
s · s + Jf −s · KLaT 0
   
[cof (s · I − A)]T =  KT
· s s · s + Ra
0
 
J La 
       
KT Ra Ra R f KT ·KE
J
s + La s + La · s + J + J·La
    
Ra Rf KT · KE
|s · I − A| = s · s+ · s+ +
La J J · La
   
2 R a · J + R f · La KT · KE + R a · R f
=s· s + ·s+
La · J La · J
   
R
s · s + Jf −s · KLaT 0
   
KT
·s s· s+ R a
0
 
 J La 
       
KT Ra Ra Rf KT ·KE
J
s + La
s + La
· s + J
+ J·La
C · (s · I − A)−1 = 0 0 1 ·
 
   
R ·J+R ·L K ·K +R ·R
s · s2 + a La ·Jf a · s + T LEa ·J a f
h       i
KT Ra Ra Rf KT ·KE
J
s + La
s + La
· s + J
+ J·La
=    
R ·J+R ·L K ·K +R ·R
s · s2 + a La ·Jf a · s + T LEa ·J a f
(4.48)

On voit ici que la connaissance de la matrice C peut permettre d’abréger le


calcul de l’inverse de (s · I − A), certaines composantes de cette dernière n’étant
de toute façon pas prises en compte dans le calcul. La même remarque s’applique
également à la matrice B intervenant dans le calcul suivant. Pour gagner du

Espace d’état 122 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

temps lors de l’extraction de (s · I − A)−1 en évitant le calcul de certaines de ses


composantes, on aura donc intérêt à prendre en compte la forme de B et C dès
le départ.
h       i 
1
Rf

KT Ra Ra KT ·KE
J
s + La
s + La
· s + J
+ J·La L a
C · (s · I − A)−1 · B =     · 0 
2 R a ·J+R f ·La K T ·K E +R a ·R f
s· s + La ·J
·s+ La ·J 0
KT
J
· L1a
=    
Ra ·J+Rf ·La KT ·KE +Ra ·Rf
s · s2 + La ·J
·s + La ·J
(4.49)

d’où finalement :
T K
Y (s)
G (s) = = C·(s · I − A)−1 ·B+|{z}
D =   La ·J
 
U (s) R ·J+R ·L
s · s2 + a La ·Jf a · s +
KT ·KE +Ra ·Rf
0 La ·J
(4.50)
Le calcul symbolique ci-dessus est fastidieux et pourrait être aisément réalisé
au moyen de logiciels de calcul symbolique comme Mathematica, Maple, Mathcad
(qui comprend quelques primitives de calcul de Maple) ou MATLAB et sa boîte
à outil Symbolic (à nouveau un extrait de Maple). Ce long calcul peut aussi être
évité si l’on se contente d’une solution numérique, laquelle est aisément obtenue
avec MATLAB au moyen de ss2tf ("State Space to Transfer Function")
Combiné avec printsys(numG,denG), le résultat est :

>> [numG,denG]=ss2tf(A,B,C,D);
>> printsys(numG,denG)
num/den =
-5.457e-012 s + 1.277e+004
------------------------------
s^3 + 162.4 s^2 + 1.533e+004 s

Du déterminant de (s · I − A) peuvent être extraites les valeurs propres, i.e. les


pôles s1 à s3 du système. Numériquement, cela peut se faire à l’aide de MATLAB
par la fonction eig ("eigenvalues"), ce qui donne ici :

>> eig(A)
ans =
0
-81.1766 +93.4977i
-81.1766 -93.4977i

Espace d’état 123 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

4.1.6 Application : linéarisation autour d’un point de fonc-


tionnement ([[?], chap.11], [[?], §3.6])
Le but de ce paragraphe est de proposer une méthode permettant de linéariser
des systèmes non-linéaires en vue de pouvoir leur appliquer les méthodes d’analyse
réservées aux systèmes linéaires. Comme on le verra, la représentation du système
dans l’espace d’état s’avère être ici particulièrement avantageuse.
On considère l’équation d’état d’un système dynamique mono-variable, causal,
stationnaire, linéaire ou non-linéaire, représenté par n équations différentielles
d’ordre 1 où la variable indépendante est le temps :
dx1
dt
= f1 (x1 , . . . xn ) + g1 (u)
dx2
dt
= f2 (x1 , . . . xn ) + g2 (u)
.. (4.51)
.
dxn
dt
= fn (x1 , . . . xn ) + gn (u)
y = h (x1 , . . . xn ) + d (u)
Il faut ici mentionner que souvent, un certain travail de mise en forme est né-
cessaire afin d’obtenir les équations dans cette présentation, dite canonique. Des
logiciels de calcul symbolique comme Mathematica ou Maple peuvent ici être d’une
très grande utilité.
Si l’on considère ce système autour d’un point de fonctionnement Q (u0 , ~x0 ),
on peut écrire pour de petites variations (u, ~x) = (u0 + ∆u, ~x0 + ∆~x) :
fi (x1 , . . . , xn ) = fi (x10 + ∆x1 , . . . , xn0 + ∆xn ) ≈ fi (x10 , . . . , xn0 ) + ∆fi
∂fi ∂fi ∂fi
= fi (x10 , . . . , xn0 ) + · ∆x1 + · ∆x2 + . . . + · ∆xn
∂x1 ∂x2 ∂xn
(4.52)
De même, on a :
∂gi
gi (u) = gi (u0 + ∆u) ≈ gi (u0 ) + ∆ui = gi (u0 ) + · ∆u (4.53)
∂u
avec en particulier :
 
f1 (x10 , . . . , xn0 ) + g1 (u0 )
d  f2 (x10 , . . . , xn0 ) + g2 (u0 ) 
~x0 = ~0 =   (4.54)
dt  ··· 
fn (x10 , . . . , xn0 ) + gn (u0 )
On peut donc écrire :

∂f1 ∂f1 ∂f1 ∂g1
d

dt
∆x 1 = ∂x1
· ∆x1 + ∂x2
· ∆x2 + . . . + ∂xn
· ∆xn + ∂u Q
· ∆u
Q Q Q
∂f2 ∂f2 ∂f2 ∂g2
d

dt
∆x2 = ∂x 1
· ∆x1 + ∂x2
· ∆x2 + . . . + ∂xn
· ∆xn + ∂u Q
· ∆u
Q Q Q (4.55)
..
.
∂fn ∂fn ∂fn ∂gn
d

dt
∆xn = ∂x1 · ∆x1 + ∂x2
· ∆x2 + . . . + ∂xn
· ∆xn + ∂u Q
· ∆u
Q Q Q

Espace d’état 124 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

D
d / d t ( D x )
u
D x
u
B 1 / s
C y
S S S S

- Q

A Q
p o i n t d e

f o n c t i o n n e m e n T

u 0

x 0
f _ 0 2 _ 0 2 _ 0 2 . e p s

Fig. 4.12 – Schéma fonctionnel pour de faibles accroissements (fichier source).

qui devient en faisant usage de la forme matricielle,


  ∂f1 ∂f1 ∂f1
 
∂g1
· · ·
   
∆x1 ∂x1 ∂x2 ∂xn ∆x1 ∂u
∂f2 ∂f2 ∂f2  ∂g2
d  ∆x2   ∂x1 ∂x2 · · · ∂xn   ∆x2
      
=  ·   · · ·  · ∆u
+  ∂u (4.56)
dt  · · ·   · · · · · · · · · · · ·   · · ·
∂fn ∂fn ∂fn ∂gn
∆xn ∂x1 ∂x2
· · · ∂x ∆xn ∂u Q
n Q

soit encore :
d (∆~x)
= A|Q · ∆~x + B|Q · ∆u (4.57)
dt
Pour l’équation d’observation, on a simplement :

y = h (~x0 + ∆~x) + d (u0 + ∆u) (4.58)

Le système est ainsi linéarisé autour du point de fonctionnement Q et peut donc


être traité comme un système linéaire pour de faibles accroissements autour de
Q. Le schéma fonctionnel correspondant apparaît ci-après sur la figure 4.12.

Exemple
On considère un moteur DC à excitation séparée constante (figure 4.13 page
suivante), pour lequel l’inertie de la charge Jch est dépendante de la position
angulaire θ selon la loi

Jch = Jch (ϑ) = JN · (α + sin (ϑ)) (4.59)

Espace d’état 125 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

R L

a l i e r s
a a

w ( t )

p
u a
( t ) M

J
i a C o e f f i c i e n t I n e r t i e v a r i a b l e

d e f r o t t e m e n t e n f o n c t i o n d e

v i s q u e u x l a p o s i t i o n

R
f _ 0 2 _ 0 2 _ 0 6 . e p s

Fig. 4.13 – Schéma technologique d’un moteur DC (fichier source).

VALEUR DE L’INERTIE EN FONCTION DE LA POSITION ANGULAIRE


0.014

0.012

0.01
Inertie [kgm^2]

0.008

0.006

0.004

0.002

0
0 1 2 3 4 5 6 7
teta [rad]

Fig. 4.14 – Evolution du moment d’inertie J en fonction de la position angulaire


θ.

Espace d’état 126 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

q ( t )
1

i a
( t ) T e m
( t )
1

R 1 1
u ( t ) S K S w ( t )
a

( a s i n ( J ) )
a L
T J × + s
+ s ×
a
1 N

-
R a

R f

K E

f _ 0 2 _ 0 2 _ 0 7 . e p s

Fig. 4.15 – Schéma fonctionnel d’un moteur DC entraînant une inertie variable
en fonction de la position angulaire θ (fichier source).

Cela représente par exemple un entraînement à came ou le bras d’un robot.


Pour cet exemple, le signal de sortie du système est la vitesse angulaire ω(t).
Le schéma fonctionnel est donné sur la figure 4.15. On y reconnaît un bloc non-
linéaire symbolisé conventionnellement par un rectangle aux bordures doubles.
Les équations d’état sont :

dx1 dia Ra KE 1
= =− · ia − ·ω+ · ua
dt dt La La La
= f1 (x1 , x2 , x3 ) + g1 (u)
dx2 dω KT Rf KT Rf
= = · ia − ·ω = · ia − ·ω
dt dt Jt Jt JN · (α + sin (ϑ)) JN · (α + sin (ϑ))
= f2 (x1 , x2 , x3 ) + g2 (u)
dx3 dϑ
= =ω
dt dt
= f3 (x1 , x2 , x3 ) + g3 (u)
(4.60)

Ces mêmes équations, linéarisées autour du point de fonctionnement Q(ua0 , [ia0 , ω0 , θ0 ]),
deviennent, après calcul des dérivées partielles :
   ∂f1 ∂f1 ∂f1     ∂g1 
∆x1 ∂x1 ∂x2 ∂x3 ∆x1
d   ∂f2 ∂f2 ∂f2   ∂u
 +  ∂g2  · ∆u
∆x2  =  ∂x ∂x2 ∂x3 · ∆x 2 ∂u
dt 1

∂f3 ∂f3 ∂f3 ∂gn
∆x3 ∂x1 ∂x2 ∂x3
∆x 3 ∂u Q
Q
  K
 
−R − LEa
  1 
0
 a
∆ia La ∆ia
d  Rf
La
∆ω  =  K · 1
− · 1
0 · ∆ω  +  0  · ∆ua
 T  
dt JN (α+sin(ϑ0 )) JN (α+sin(ϑ0 )) 
∆ϑ 0 1 0 ∆ϑ 0
(4.61)

Espace d’état 127 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

où en particulier la dérivée partielle de f2 (ia , ω, θ) par rapport à θ au point de


fonctionnement Q(u0 , [ia0 , ω0 , θ0 ])
∂f2 KT · ia0 − cos (ϑ0 ) Rf · ω0 − cos (ϑ0 )
= · 2 − · (4.62)
∂x3 JN (α + sin (ϑ0 )) JN (α + sin (ϑ0 ))2
est bel et bien nulle puisque
∂f2 KT · ia0 − cos (ϑ0 ) Rf · ω0 − cos (ϑ0 )
= · 2 − ·
∂x3 JN (α + sin (ϑ0 )) JN (α + sin (ϑ0 ))2
   
− cos (ϑ0 ) KT Rf
= · · ia0 − · ω0
(α + sin (ϑ0 )) JN · (α + sin (ϑ0 )) JN · (α + sin (ϑ0 ))
| {z }
f2 (x10 ,...,xn0 )+g2 (u0 )=0

=0
(4.63)
On peut alors en déduire, selon les besoins, les pôles, les constantes de temps
ou la fonction de transfert liant l’entrée ∆ua et la sortie de son choix.
∆Ω(s)
Pour obtenir la fonction de transfert Ga (s) = ∆U a (s)
, on élimine le courant
∆ia des équations ci-dessus en l’extrayant de la première équation :
 
Ra KE 1
s+ · ∆Ia (s) = − · ∆Ω (s) + · ∆Ua (s)
La La La
− KLEa 1 (4.64)
La
∆Ia (s) =   · ∆Ω (s) +   · ∆Ua (s)
s+ R La
a
s+ R a
La

En introduisant ce résultat dans la seconde équation, on a successivement :


0 K 1
− LE 1
KT 1 Rf 1
· @  · ∆Ua (s)A −
La
s · ∆Ω (s) = · a  · ∆Ω (s) +  · · ∆Ω (s)
JN (α + sin (ϑ0 )) s+ R
L
a s + R
La
a JN (α + sin (ϑ0 ))
a
0 0 KE 11
1
1 Rf KT KT 1
@s + ·@ + · 
La
 AA · ∆Ω (s) = · · 
La
 · ∆Ua (s)
(α + sin (ϑ0 )) JN JN s + R
La
a JN (α + sin (ϑ0 )) s+ R
L
a
a
    !!
Ra 1 Rf Ra KT KE KT 1 1
s· s+ + · · s+ + · · ∆Ω (s) = · · · ∆Ua (s)
La (α + sin (ϑ0 )) JN La JN La JN La (α + sin (ϑ0 ))
! !!
2 Ra 1 Rf 1 Rf Ra KT KE KT 1 1
s +s· + · · + · · + · · ∆Ω (s) = · · · ∆Ua (s)
La (α + sin (ϑ0 )) JN (α + sin (ϑ0 )) JN La JN La JN La (α + sin (ϑ0 ))
(4.65)

La fonction de transfert en régime d’accroissements est finalement, présentée


sous forme d’Evans (Laplace) puis sous forme de Bode :
∆Ω (s)
Ga (s) =
∆Ua (s)
ka
= 
s2 + a1 · s + a0
KT 1
La ·JN
· (α+sin(ϑ
0 ))
=      (4.66)
Ra 1 Rf 1 Rf ·Ra +KT ·KE
s2 + s · La
+ (α+sin(ϑ0 ))
· JN
+ (α+sin(ϑ0 ))
· La ·JN

KT 1
= · 0  Rf
 1
Rf · Ra + KT · KE Ra
+ 1 ·
B La

(α+sin(ϑ0 )) JN
  R1  C
@1 + ·R ·s+ · s2 A
1 R f a +K T ·KE 1 f ·Ra +KT ·KE
· ·
(α+sin(ϑ0 )) La ·JN (α+sin(ϑ0 )) La ·JN

Espace d’état 128 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

REPONSES INDICIELLES EN DIFFERENTES POSITIONS ANGULAIRES


3

2.5

240

2
vitesse angulaire [rad/s]

300

0
1.5 210
270
30
180
1 60
150 120 90

0.5 330

0
0 0.01 0.02 0.03 0.04 0.05 0.06
t [s]

Fig. 4.16 – Réponses indicielles du système à régler en fonction de la position


angulaire.

Le système à régler étudié a donc des caractéristiques dynamiques dépendant


du point de fonctionnement Q(u0 , [ia0 , ω0 , θ0 ]). Afin d’en juger les effets, on trace
(figure 4.16) la réponse indicielle de Ga (s) en différents points de fonctionnement
fixés par la valeur de la position angulaire θ :
    
rad ◦
Q(u0 , [ia0 , ω0 , θ0 ] = Q 1 [V], 0 [A], 0 , θ0 = 0 . . . 330 [ ] (4.67)
s

On constate très clairement l’influence de la valeur de la position angulaire sur


le comportement dynamique du système. Il va donc de soi qu’il faut prendre
en compte cet effet si le système est destiné être contre-réactionné en vue d’un
asservissement de position, de vitesse ou encore de courant.

Espace d’état 129 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

Espace d’état 130 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

4.A Exercices
4.A.1 Modèles d’état
1. Donner le modèle d’état du double intégrateur (analogique) et en obtenir
la fonction de transfert à partir de ce modèle.
2. Donner le modèle d’état du système dynamique linéaire ayant pour fonction
de transfert (intégrateur et constante de temps) :

Y (s) K 1
G(s) = = ·
U (s) s (1 + s · T )

3. Déterminer le modèle d’état global résultant de la mise en série de deux


systèmes dynamiques linéaires a et b donnés par leurs équations d’état.

Indication : former le vecteur d’état global


 
x~
~x = a
x~b

4. Déterminer le modèle d’état global résultant de la mise en contre-réaction


d’un système dynamique linéaire donné par ses équations d’état.

4.A.2 Modélisation et schéma fonctionnel d’un entraîne-


ment avec transmission flexible
Soit le système mécanique suivant, constitué de deux inerties accouplées par
un arbre flexible (i.e. non-infiniment rigide, élastique...). Il s’agit par exemple du
rotor d’un moteur électrique et de sa charge (figure 4.17 page suivante).
h i
N·m
Les paliers créent un couple de frottement visqueux total Rf rad , et l’arbre
s
liant les masses en rotation est de rigidité k N·m
 
rad
. Les couples résistants Trés1 et
Trés2 agissent sur les charges J1 et J2 au titre de perturbations.
1. Modéliser ce système par ses équations différentielles. Donner son modèle
d’état, i.e. ses n équations différentielles d’ordre 1.
2. Calculer les pôles et les zéros de la fonction de transfert

position angulaire de J1 θ1 (s)


G1 (s) = =
couple moteur Tem (s)

3. Donner le schéma fonctionnel détaillé du système en se basant sur le mo-


dèle d’état. Les seuls élément dynamiques y apparaissant doivent être des
intégrateurs.

Espace d’état 131 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

c o e f f i c i e n t d e

f r o t t e m e n t v i s q u e u x :

d e s p a l i e r s

R f
[ N m s / r a d ]
T e m
( t ) q 1
( t ) q 2
( t )

R f
R f

r i g i d i t é d e l 'a r b r e

d e t r a n s m i s s i o n :

k [ N m / r a d ]

i n e r t i e d u r o t o r : i n e r t i e d e l a c h a r g e :

J 1
J 2 f _ 0 7 _ 0 1 . e p s

Fig. 4.17 –

Espace d’état 132 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

4. A l’aide de MATLAB, tracer les réponses impulsionnelles et fréquentielles


du système. Calculer également les fonctions de tranfert
position angulaire de J1 θ1 (s)
G1 (s) = =
couple moteur Tem (s)
position angulaire de J2 θ2 (s)
G2 (s) = =
couple moteur Tem (s)

Paramètres :

J1 = 0.45 · 10−3 [kg · m2 ]


J2 = 25 · 10−3 [kg · m2 ]
" #
N · m
Rf = 20 · 10−3 rad
s
 
N·m
k = 1740
rad

Commandes MATLAB (Control System Toolbox )


– impulse(A,B,C,D) ouimpulse(num,den)
– bode(A,B,C,D) ou bode(num,den)
– G=ss2tf(A,B,C,D,iu,iy)

4.A.3 Modélisation et linéarisation du pendule inversé


On considère le système dont le schéma technologique est donné sur la fi-
gure 4.18 page suivante. Il s’agit du fameux pendule inversé, maintenu en équi-
libre vertical par un système d’asservissement de l’angle ϕ et de la position x.
1. Partant des équations de la dynamique, donner le modèle d’état du pendule.
2. Linéariser le modèle d’état autour de point de fonctionnement correspon-
dant aux position angulaires ϕ = 0 [◦ ] et ϕ = 180 [◦ ].
3. Calculer les fonctions de transfert
X(s)
GF x (s) =
F (s)
et
Φ(s)
GF ϕ (s) =
F (s)
aux deux points de fonctionnement ci-dessus. Quels sont les pôles de ces
fonctions de transfert ?

Espace d’état 133 MEE \cours_aav.tex\13 mai 2006


HEIG-Vd Automatique avancée (AAV)

Fig. 4.18 – Schéma technologique du pendule inversé.

Espace d’état 134 MEE \cours_aav.tex\13 mai 2006

Vous aimerez peut-être aussi