Click here to load reader

 · Le Préfet de la Région Languedoc-Roussillon, ... modifié par arrêté interministériel du 23 juillet 2013, ... Prades-le-Lez Restinclières

  • Upload
    dinhnhi

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

CRONE CONTROLAU206 - Modélisation par Représentation d’Etat
Patrick LANUSSE [email protected] Bordeaux INP 2015/2016
Ministère de l'Enseignement
1. Motivation
2. Définition de l’état d’un système et de la représentation
d’état d’un système
3. Propriétés de la matrice de transition
4. Notion de commandabilité et d’observabilité
5. Différentes formes de représentation d’état
6. Commande par retour d’état
7. Détermination d’un observateur
8. Représentation d’état à temps discret
9. Commandes MATLAB
10. Bureau d'étude
• Les modèles entrée-sortie de type fonction de transfert sont particulièrement
adaptés à l’étude du comportement fréquentiel des systèmes.
• Un grand nombre d’outils performants existent dans le domaine fréquentiel et
permettent d’analyser les systèmes et de synthétiser des systèmes de commande.
he(t) s(t)
• Particularités internes cachées
• Conditions initiales pas prises en compte
• Un peu éloigné de l’ensemble des équations fournies par la modélisation
• Inapplicable aux systèmes non linéaires
4
Représentation entrée-sortie pas toujours très commode et compacte pour des
systèmes multivariables
Dans le cas linéaire et à condition initiale nulle on a
hej(t) si(t)
5
Une représentation entrée-sortie peu conduire à des conclusions erronées. Par
exemple dans le cas d'un système a état initial non nul et comportant un mode
instable a priori "compensé".
x(t)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5






f(t)
y(t)
(t)
(t) : angle du pendule par rapport à la verticale
M : masse du chariot
f(t) : force appliquée au chariot
7
Prenons un moteur électrique permettant de régler l'ouverture d'une vanne papillon
assurant un débit
• asservir le débit qs
• contrôler le courant i
• observer l’angle d’ouverture • rejeter l’influence des pressions pe et ps
9















être récrit comme un ensemble de 5
équations différentielles d’ordre ≤ 1
où :
• pe et ps sont 2 entrées de perturbation
• v et sont deux signaux internes
qs(t)
(t)






,,
,,
L’état d’un système est composé de l’ensemble des variables dont la
connaissance en un instant donné permet la connaissance son évolution future.
La dynamique d’un système peux être modélisé par un ensemble d’équations
différentielles du premier ordre gouvernant l’évolution de son état, ainsi que par
un ensemble d’équation liant (principalement) les sorties mesurées à cet état :
• le vecteur d’état x (nx1) correspond aux énergies internes accumulées
dans le système
• le vecteur d’entrée u (mx1) comporte les signaux de commande ou de
perturbation
• le vecteur de sortie y (px1) comporte les signaux mesurés
x(t) y(t)u(t)
.0,, 000 tuxf
Le modèle d’un système peut être non linéaire et/ou non stationnaire.
Si tel est le cas, il est possible d’extraire son comportement linéaire stationnaire
(LTI) à un instant t0 donné et autour d’une position d’équilibre définie par x0 et u0
solution de :
Aux petites variations autour de x0 et u0, et donc de y0, on a :
. et , 000 yytyuutuxxtx




. et , avec






Autour d’une position d’équilibre x0, u0 et y0, la représentation d’état d’un
système s’écrit généralement :
• A est la matrice (nxn) d’état qui régit l’évolution de x en l’absence de u
• B est la matrice (nxm) de commande qui traduit l’effet de u sur l’état x
• C et D sont les matrices (pxn) et (pxm) de sortie, D traduisant l’effet direct de u
sur y
u(t) y(t)x(t)



























La représentation d’état linéaire du système est donnée par qs(t)
(t)









16
FkVcmmVm 2osgsing









I 1
Le système ayant comme représentation
a pour matrice de transfert H(p) reliant le vecteur Y(p) au vecteur U(p)
u(t) y(t)x(t)
dx
Avant toutes simplifications pôle/zéro, les pôles de H(p) sont les valeurs
propres de A.
Compte tenu de simplifications éventuelles, des termes de H(p) peuvent ne pas
faire apparaître des parties du système. Dans le cadre d’un problème de
commande, ces simplifications peuvent engendrer des performances totalement
différentes de celles prévues, par exemple si un mode instable n’a pas été
stabilisé car invisible dans la fonction de transfert prise en compte.
19

A
peut être obtenue par :
BCetDth At

21
Ax dt
dx L’évolution de l’état x est alors régi par
A l’image de la solution d’une équation différentielle du premier ordre scalaire,
la solution de l’équation d’état homogène est
, 0xetx At
La matrice eAt notée f(t) est appelée matrice de transition. Ses propriétés sont :
y(t)x(t)
A
C∫ tx
ou en considérant une condition initiale à t = t0 : 0 0 txetx
ttA
Sachant que u(t) y(t)x(t)
d AtAt
Intégrons les 2 membres entre t = 0 et t, on obtient alors
, 0 0
dBuextxe t
.0
0
Calcul simple de la matrice de transition
La matrice de transition f(t) = eAt peut être calculée par transformation de
Laplace inverse :
2
2
2
1
2
2
21
dx
A l'aide du changement de variable x = Tz, soit z = T-1x, la représentation d'état
devient :
DDCTC
BTBATTA
uDzCy




T est composée des vecteurs de la nouvelle base. tij (1 ≤ i ≤ n) sont les
coordonnées du jème vecteur exprimées dans la base de x
z est le vecteur d’état exprimée par les vecteurs de la nouvelle base.
25
Considérons la nouvelle représentation d'état
thBCetDBTCTetDBeCtDth AtATtTtA
1 ~ 1
La "nouvelle" matrice de transfert est
DDCTC
BTBATTA
uDzCy
Diagonalisation de A
Considérons une matrice A dont les n valeurs propres li distinctes sont les
solutions de
Si l’on écrit
.0I Al
ndiagATTA lll ,,, ~
21 1
iii vAv l
Une solution consiste donc à composer la matrice T des vecteurs propres de A
27
u(t)
z1(t)
1
1
zi(t)
zn(t)
y(t) +
Le mode i est observable si i ≠ 0. Il est commandable si i ≠ 0.
Un mode non-observable et/ou non-commandable n’apparaît pas dans H(p)
Remarque : n valeurs

La matrice de transfert est













La matrice A peut alors s’écrire sous la forme d’une matrice de
Jordan composée de blocs de Jordan :
Camille Jordan (1838 – 1922)
dx
Définition : Un état est dit commandable si quel que soit x(0), il existe une
commande u(t), avec 0 < t ≤ T, telle que x(T) = 0. Si tous les états sont
commandables, le système est dit complètement commandable.
x(t)
x(0)
t0 T
Définition : Un état x* ≠ 0 est dit atteignable si pour x(0) = 0, il existe une
commande u(t), avec 0 < t ≤ T, telle que x(T) = x*.
Les propriétés d’atteignabilité et de commandabilité sont équivalentes pour les
systèmes linéaires stationnaires.
dtBuexdBuex t ATt tAT
Si un état x* n’est pas commandable, il est orthogonal à la
réponse de x(t) à toute commande u(t), soit :
Compte tenu de la définition de eAT,
tous les états x* sont commandables si et seulement si la matrice de
commandabilité Mc est de plein rang ligne, soit :

On dira alors que la paire (A,B) est commandable.
Rappel : Le plein rang d'une matrice carré peut être testé par le calcul de son
déterminant.
Rudolf Kalman (1930 – HU)
. avec
1

A l’aide de la commande u calculée à partir de la mesure de l’état, il est possible de
générer un système à la dynamique différente de celle du système commandé :
modes stables, rapides, bien amortis, etc.

.

Un placement de pôles consiste à imposer les n valeurs propres li de A-BgT, soit :
On obtient alors la nouvelle représentation d’état
u(t) y(t)
avec
0

avec
0 2 n
l'état)
Une action intégrale peut être introduite pour assurer la précision du suivi de
consigne
+
0
0
Le placement de pôles consiste alors à imposer les na = n+1 valeurs propres
de Aa-Bag T, avec :




38
000
que l’on écrit
.m
soit finalement :
40























0
100
01
1
0010
Quand un système est décrit sous sa forme compagne commandable, il assez facile
de régler sa commande par retour d’état.
u(t) y(t)
a
ga
a
ga
a
ga
a
ga
xBgAxgBAxx
Chaque coefficient de g permet de modifier un des termes de l’équation
caractéristique et donc de placer aisément les pôles de la boucle fermée :
11 inii aag
Application : pendule inversé
Autour de son point d’équilibre (instable), un pendule inversé est régi par le
modèle linéaire du type
f 2 n
Obtention de la forme compagne commandable
Tout système commandable (matrice Mc non singulière) peut se mettre sous
forme compagne commandable.
Le changement de variable x = Tz, s’effectue alors avec la matrice T définie par
DDCTC
BTBATTA
uDzCy





Rappel:
43
Stabilisabilité
Un système non complètement commandable (rang Mc < n) peut être scindé en
faisant apparaître un état commandable et un état non commandable (forme
canonique de commandabilité).
Définition : Un système est dit stabilisable si sa partie non commandable est
stable.
La partie non commandable de l’état participe momentanément à l’évolution de

~~
ecommandablnon , paire0
Soit un système non complètement commandable (rang Mc = k < n).
La forme canonique est obtenue l'aide du changement de variable x = Tz où T
est une matrice non singulière composée de k colonnes indépendantes de Mc
puis des n - k colonnes indépendantes complémentaires.

~~
BTBATTA T
Contrairement au mode p = -1, le mode p = 1 n'est pas commandable.
47
Observabilité/Reconstructibilité
dx
Définition : Un état est dit observable si connaissant u(t) et y(t) sur l’intervalle
[t0, t1], il est possible de déterminer x(t0). Si tous les états sont observables, le
système est dit complètement observable.
Définition : Un état est dit reconstructible si connaissant u(t) et y(t) sur
l’intervalle [t0, t1], il est possible de déterminer x(t1).
Les propriétés d’observabilité et de reconstructibilité sont équivalentes pour les
systèmes linéaires stationnaires.
0xCety At
Si un état x* n’est pas observable, sa contribution à y est nulle. Lors d’une
réponse en régime libre, la sortie y est définie par :
Pour un état non observable,
Compte tenu de la définition de eAT,
tous les états sont observables si et seulement si la matrice d’observabilité Mo est
de plein rang colonne, soit :

. T12
2 :
p
avec
ˆˆ

Pour qu’une commande par retour d’état soit possible, il est
nécessaire de pouvoir disposer de l’état du système. Cet état n’étant
pas parfois mesuré (ou mesurable), on utilise un observateur (ou
reconstructeur) pour en estimer la valeur.
xxxxlCAx
BuAxx
- ~ ty DuxCy ˆˆ
Un placement de pôles consiste à imposer les n valeurs propres li de A-lC, soit :
Il est possible de déterminer l’équation régissant l’erreur d’estimation
.I 1
0.5
1
1.5
Application : Estimation de perturbation

1
00
11
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0
0.2
0.4
0.6
0.8
1
1.2
1.4
Comparaison Retour d’état/Observateur
Une commande par retour d’état est obtenue grâce au placement des n valeurs
propres de A-BgT.
Un observateur d’état est obtenue grâce au placement des n valeurs propres de
A-lC.
Sachant
• que les valeurs propres d’une matrice et de sa matrice transposée sont
identiques
• que (A-lC )T = AT-CTlT
les mêmes algorithmes sont utilisés pour traiter ces 2 problèmes duaux.
54

système
- ~ ty uDxCy 00 ˆˆ
Plus le gain l est grand, plus l’estimation de x est bonne, mais aussi sensible
au bruit de mesure.
Pour éviter tout biais, la bonne connaissance de la partie de C prenant en
compte le régime continu est indispensable.
55

,
dont on tire l’équation différentielle
En intégrant n fois, on obtient
Sous une forme récursive, cette équation devient
.. m
m
n
obtient le schéma suivant.
xn-m
Connaissant y et u à l’instant, une chaîne d’intégrateurs permet de remonter
facilement à n’importe quel état du système.
x1=y(t)
0 1
0
0
1
00
1
0
10
001
1
0
1
2
1





Quand un système est décrit sous sa forme compagne observable, il assez facile de
régler son observateur d’état.
u(t) y(t)
modifier un des termes de
l’équation caractéristique régissant
de placer aisément les pôles de
l’estimateur :
58
Détectabilité
Un système non complètement observable (rang Mo < n) peut être scindé en
faisant apparaître un état observable et un état non observable (forme canonique
d'observabilité).
Définition : Un système est dit détectable si sa partie non observable est stable.
Une partie non observable instable pose des problèmes évidents, sa divergence

observable , paire1
Soit un système non complètement observable (rang Mo = k < n).
La forme canonique est obtenue l'aide du changement de variable x = Tz où T-1
est une matrice non singulière composée de k lignes indépendantes de Mo puis
des n - k lignes indépendantes complémentaires.





BTBATTA TT
Contrairement au mode p = -3, le mode p = 0 n'est pas observable.
62
Décomposition de Kalman – Forme canonique
Tout système peut se décomposer en 4 sous systèmes correspondant aux 4 types
d’état :
• non commandable et non observable
La fonction de transfert n’est définie que par le sous système Sco
ocS +
coS
coS
coS
yu
00
0
0
00
000
00
oc
oc
oc
co
21
2
1
oc
oc
oc
co
4443
33
24232221
1311
oc
oc
oc
co
Association Commande par retour d’état/Observateur
L’observateur fourni une estimation de l’état au régulateur assurant
l’asservissement.


























Pour découpler les deux fonctions, les pôles de l’observateur sont généralement
choisis plus rapides que ceux de la boucle de commande, la limite étant bien sûr
liée au bruit de mesure.
Les pôles du système complet sont alors solutions de
0II
T




,,1
Les représentations et les propriétés sont sensiblement les mêmes à temps discret
qu’à temps continu. A temps discret, à l’instant t = (k+1)Te, la représentation
d’état est définie par
et pour un système linéaire 1



65
L’évolution de l’état x alors régi par
La matrice de transition est alors définie par
0
0,1
I 1
La matrice de transfert H(z) est alors
Avant toutes simplifications pôle/zéro, les pôles de H(z) sont les valeurs
propres de A.
1
Sa fonction de transfert discrète (sans simplification) s’écrit












Dans le cas stationnaire, l’expression de l’état à
une entrée agissant à partir de l’instant k0Te est
définie par
uk
A




Contrairement au cas à temps continu, les propriétés d’atteignabilité et de
commandabilité d’une part, et d’observabilité et détectabilité d’autre part ne sont
pas équivalentes pour les modèles d’état à temps discret.
Prenons un système de type
Ce système est bien sûr commandable (car son état converge vers 0) mais aucun
état autre que 0 n’est atteignable.
L’état nul actuel est bien sûr reconstructible, mais il est impossible d’observer
l’état initial.
Pour l’étude de la commandabilité et l’observabilité, les critères portent toujours
sur le rang des matrices
01


sortie. lasur effet d' pas an' récurrenteéquation l' de côtés 2 desprésent 1 mode Le
.observablenon , paire0 ,
EIG Eigenvalues and eigenvectors.
E = EIG(X) is a vector containing the eigenvalues of a square matrix X.
[V,D] = EIG(X) produces a diagonal matrix D of eigenvalues and a full matrix
V whose columns are the corresponding eigenvectors so that X*V = V*D.
DET Determinant.
RANK Matrix rank.
RANK(A) provides an estimate of the number of linearly independent rows or
columns of a matrix A.
73
SS
SS Create state-space model or convert LTI model to state space.
Creation:
SYS = SS(A,B,C,D) creates a continuous-time state-space (SS) model
SYS with matrices A,B,C,D. The output SYS is a SS object. You can set D=0
to mean the zero matrix of appropriate dimensions.
SYS = SS(A,B,C,D,Ts) creates a discrete-time SS model with sample time Ts
(set Ts=-1 if the sample time is undetermined).
SYS = SS(SYS,'min') computes a minimal realization of SYS.
74
SS2SS Change of state coordinates for state-space models.
SYS = SS2SS(SYS,T) performs the similarity transformation z = Tx on the state
vector x of the state-space model SYS.
The resulting state-space model is described by:
. -1
-1
SSBAL Balancing of state-space model using diagonal similarity.
[SYS,T] = SSBAL(SYS) uses BALANCE to compute a diagonal similarity
transformation T such that [T*A/T , T*B ; C/T 0] has approximately equal row
and column norms.
controllable/uncontrollable subspaces.
If Co=CTRB(A,B) has rank r <= n = SIZE(A,1), then there is a similarity transformation T
such that -1 -1
Abar = T * A * T , Bbar = T * B , Cbar = C * T
and the transformed system has the form
| Anc 0 | | 0 |
where (Ac,Bc) is controllable, and Cc(sI-Ac)Bc = C(sI-A)B.
The last output K is a vector of length n containing the number of controllable states
identified at each iteration of the algorithm. The number of controllable states is SUM(K).
76
OBSVF
observable/unobservable subspaces.
[ABAR,BBAR,CBAR,T,K] = OBSVF(A,B,C,TOL) uses tolerance TOL.
If Ob=OBSV(A,C) has rank r <= n = SIZE(A,1), then there is a similarity transformation T
such that -1 -1
Abar = T * A * T , Bbar = T * B , Cbar = C * T .
and the transformed system has the form
| Ano A12| |Bno|
where (Ao,Bo) is controllable, and Co(sI-Ao) Bo = C(sI-A) B.
The last output K is a vector of length n containing the number of observable states
identified at each iteration of the algorithm. The number of observable states is SUM(K).
77
CANON
CSYS = CANON(SYS,TYPE) computes a canonical state-space realization
CSYS of the LTI model SYS. The string TYPE selects the type of canonical form:
'modal' : Modal canonical form where the system eigenvalues appear on the
diagonal.
'companion': Companion canonical form where the characteristic polynomial
appears in the right column.
[CSYS,T] = CANON(SYS,TYPE) also returns the state transformation matrix T
relating the new state vector z to the old state vector x by z = Tx. This syntax is
only meaningful when SYS is a state-space model.
The modal form is useful for determining the relative controllability of the system
modes.
78
CO = CTRB(A,B) returns the controllability matrix [B AB A^2B ...].
CO = CTRB(SYS) returns the controllability matrix of the state-space model
SYS with realization (A,B,C,D). This is equivalent to CTRB(sys.a,sys.b).
OBSV Compute the observability matrix.
OB = OBSV(A,C) returns the observability matrix [C; CA; CA^2 ...]
OB = OBSV(SYS) returns the observability matrix of the state-space model SYS
with realization (A,B,C,D). This is equivalent to OBSV(sys.a,sys.c).
79
K = PLACE(A,B,P) computes a state-feedback matrix K such that the
eigenvalues of A-B*K are those specified in vector P.
No eigenvalue should have a multiplicity greater than the number of inputs.
ACKER Pole placement gain selection using Ackermann's formula.
K = ACKER(A,B,P) calculates the feedback gain matrix K such that
the single input system x = Ax + Bu with a feedback law of u = -Kx has closed
loop poles at the values specified in vector P, i.e., P = eig(A-B*K).
80
ESTIM
ESTIM Form estimator given estimator gain.
EST = ESTIM(SYS,L) produces an estimator EST with gain L for the outputs and states of
the state-space model SYS, assuming all inputs of SYS are stochastic and all outputs are
measured. .
.
|y_e| = |C| x_e
|x_e| |I|
generates estimates x_e and y_e of x and y. ESTIM behaves similarly when applied to
discrete-time systems.
deterministic and stochastic inputs, and both measured and non-measured outputs. The
index vectors SENSORS and KNOWN specify which outputs y are measured and which
inputs u are known, respectively. The resulting estimator EST uses [u;y] as input to produce
the estimates [y_e;x_e].
RSYS = REG(SYS,K,L) produces an observer-based regulator RSYS for the state-space
system SYS, assuming all inputs of SYS are controls and all outputs are measured. The
matrices K and L specify the state-feedback and observer gains. For .
SYS: x = Ax + Bu , y = Cx + Du .
the resulting regulator is x_e = [A-BK-LC+LDK] x_e + Ly…