uv automatique - département architecture des...
TRANSCRIPT
1Automatique
Commande dans l'espace d'état
UV Automatique
ASI 3
Cours 11
2Automatique
Contenu
q Analyse de la stabilité dans l'espace d'état
q Commandabilité de l'état
u Matrice de commandabilité
u Grammien de commandabilité
u Théorèmes de commandabilité complète d'un système linéaire
u Systèmes partiellement commandables
q Commande par retour d'étatu Notion de BF dans l'espace d'état
u Modèle d'état, matrice de transfert de la BF
u Commande en BF par placement de pôles
Ø Cas des systèmes monovariables commandables
Ø Cas des systèmes multivariables commandables
3Automatique
Analyse de la stabilité dans l'espace d'état
q Représentation d'état
u Réponse libre du système
q Analyse de la stabilité
+=+=
)()()()()(
tDUtCXtYtBUtAXX&
nnA ×∈R
mnB ×∈R
npC ×∈R
mpD ×∈R
ntX R∈)(
mtU R∈)(
ptY R∈)(
)()( 0)( 0 tXetX ttA −=0)( =tU
( )∫ −− += tt
tAttA dBUetXetX0
0 )()()( 0)( τττ
X(t0)
X1
X2
Xn
0
Solution divergente
Le système est stable si la solution X(t) à 0 lorsque tà∞. Le système est instable autrement et la solution diverge
,0)(lim)(lim 0)( 0 == −
+∞→+∞→tXetX ttA
tt)( 0tX∀ 0lim )( 0 =−
+∞→
ttA
te⇔
4Automatique
Analyse de la stabilité dans l'espace d'état
q Conditions de stabilité
Sous quelle condition ?0lim )( 0 =−+∞→
ttAt
e
Analysons un cas particulier : la matrice A admet n valeurs propres λi distinctes à A est diagonalisable
1−= TDTA
=
n
Dλ
λ
0
01O
T : matrice des vecteurs propres de A
1)()( 00 −−− = TTee ttDttA
avec
1
)(
)(
)(
0
01
0
0
0−
−
−
−
= T
e
eTe
tt
tt
ttA
nλ
λ
O
Cette condition est satisfaite si toutes les valeurs propres λi sont à partie réelle strictement négative
pour 0→tieλ0)( 0 →−ttAe tieλ+∞→t si les termes convergent càd
Théorème
Un système linéaire invariant est asymptotiquement stable si toutes les valeurs propres de la matrice d'état A sont à partie réelle strictement négative
5Automatique
Analyse de la stabilité dans l'espace d'état
q Exemple 1 q Exemple 2
[ ]
=
+
−−=
)(01)(
)(11)(
2410
tXtY
tutXX&
=5010)( 0tX
Valeurs propres
Réponse libre
231
231
2
1
j
j
−−=
+−=
λ
λ
-10 0 10 20 30 -40
-20
0
20
40
60
X(t0)
X1
X2
[ ]
=
+
−
=
)(01)(
)(01)(
2410
tXtY
tutXX&
=50)( 0tX
Valeurs propres
231
231
2
1
j
j
−=
+=
λ
λ
-60 -40 -20 0 20 -60
-40
-20
0
20
40
60
X(t0)
X1
X2
Réponse libre
InstableStable
6Automatique
Commande dans l'espace d'état
q Notions de commandabilité de l'état
DéfinitionUn système d'équation d'état est dit complètement commandable sur l'intervalle de temps [t0, t1], t1 < ∞ s'il existe une commande U(t) définie sur [t0, t1] permettant de faire évoluer le système d'un état initial quelconque X(t0) à un état désiré quelconque X(t1).
BUAXX +=&
X(t0)
X1
X2
Xn
X(t1)
X(t0)
X(t1) Existe-t-il une commande U(t) qui fait évoluer le système de l'état X(t0) à un état X(t1) en un temps fini ∆t=t1−t0? Si oui, le système est dit commandable.
Peut-on trouver un critère mathématique permettant de déterminer la commandabilité ?
7Automatique
Commandabilité de l'état
q Critère mathématique
)()( tBUtAXX +=& nnA ×∈RmnB ×∈R
ntX R∈)(mtU R∈)(
§ Equation d'état : avec et
§ Réponse temporelle( )∫ −− += t
ttAttA dBUetXetX
00 )()()( 0
)( τττ
( )∫ −− += 10
101 )()()( 0)(
1tt
tAttA dBUetXetX τττ
D'après la formule de Sylvester, on a : .∑−
==
1
0)(
n
i
ii
At Ate α On en déduit
∫ ∑−
=
− −=− 1
001 )()()()(
1
010
)(1
tt
n
i
ii
ttA dBUAttXetX τττα
∑ ∫−
=
− −=−1
010
)(1
1
001 )()()()(
n
i
tt i
ittA dUtBAtXetX τττα
∫∫∫ −++−+−=− −−− 1
0
1
0
1
0
01 )()()()()()()()( 111
11100)(
1t
t nnt
t
t
tttA dUtBAdUtABdUtBtXetX τττατττατττα L
Le problème consiste à trouver la commande U(t) telle que cette équation soit vraie pour X(t0) et X(t1) quelconques.
8Automatique
Commandabilité de l'état
q Critère mathématique
∫∫∫ −++−+−=− −−− 1
0
1
0
1
0
01 )()()()()()()()( 111
11100)(
1t
t nnt
t
t
tttA dUtBAdUtABdUtBtXetX τττατττατττα L
[ ]
−
−
−
=−
∫
∫
∫
−
−−
1
0
1
0
1
0
01
)()(
)()(
)()(
)()(
11
11
10
10
)(1
),( tt n
tt
tt
nttA
dUt
dUt
dUt
BAABBtXetXBA
τττα
τττα
τττα
M444 3444 21 LC
).(),( mnnRBA ×∈C
Cette équation est une combinaison linéaire de matrices AiB (i = 0, …, n−1). La solution existe si les matrices AiB sont linéairement indépendantes càd
( ) nBArang =),(C
ThéorèmeUn système d'équation d'état est complètement commandable à la condition nécessaire et suffisante que la matrice de commandabilité C (A, B) soit de rang n.
BUAXX +=&
).(),( mnnRBA ×∈C[ ]BABAABBBA n 12),( −= LCMatrice de commandabilité :
9Automatique
Commandabilité de l'état
q Critère mathématique
u Remarques§La notion de commandabilité de l'état ne porte que sur l'équation d'état et donc sur les matrices A et B. Dire que le système est commandable équivaut à dire que la paire (A, B) est commandable
§Dans le cas d'un système mono-entrée, la matrice de commandabilité est une matrice carrée
nnRBA ×∈),(C1=m
CorollaireUn système mon-entrée u d'équation d'état est complètement commandable ssi
BuAXX +=&
( ) 0),(det ≠BAC
§ Approche pratique de vérification de la commandabilité
Ø Former la matrice de commandabilité C (A, B)
Ø Calculer le rang de C (A, B)
Ø En déduire que le système est commandable si rang(C (A, B) )=n
10Automatique
Commandabilité de l'état
q Exemples
Exemple 1
)()( tBUtAXX +=&
=
−−
−=
01
10,
22
14BA
2=n états 2=m entrées
−−−
=
×
−−
−=
2241
0110
2214
AB
[ ]
−−−==
220141 10),( ABBBAC
Matrice de rang 2 à système commandable
Exemple 2
)()( tBUtAXX +=&
=
−−=
11,
412 BA
α
2=n états 1=m entrée
−
−=
×
−
−=
41
11
412
ααAB
Le système est commandable ssile det est non nul càd
[ ]
−
−==
4111
),(α
ABBBAC
( ) 3),(det −= αBAC
3≠α
11Automatique
Commandabilité de l'état
q Programmation sous scilab
-->// Matrices équation d'état
-->A=[-4 1;-2 -2];
-->B=[0 1;1 0];
-->//Matrice de commandabilité
-->Ctr = cont_mat(A,B)
Ctr =
! 0. 1. 1. - 4. !
! 1. 0. - 2. - 2. !
-->rang = rank(Ctr)
rang =
2.
Exemple 1 Exemple 2
-->alpha = 6;
-->A=[-2 1; alpha -4];
-->B=[1;1];
-->// Matrice de commandabilité
-->Ctr = cont_mat(A,B)
Ctr =
! 1. - 1. !
! 1. 2. !
-->rang = rank(Ctr)
rang =
2.
3=α
--> alpha = 3;
-->A=[-2 1;alpha -4];
-->B=[1;1];
-->// Matrice de commandabilité
-->Ctr = cont_mat(A,B)
Ctr =
! 1. - 1. !
! 1. - 1. !
-->rang = rank(Ctr)
rang =
1.
Exemple 2 6=α
Matrice de rang 2 à système commandable
Matrice de rang 2 à système commandable
Matrice de rang 1 à Système non commandable
12Automatique
Commandabilité de l'état
q Commandabilité : autre théorème
Analysons le cas particulier d'un système mono-entrée, mono-sortie dont la matrice A admet n valeurs propres λi distinctes à A est diagonalisable
1−= TTAA m
=
n
mAλ
λ
0
01O
T : matrice des vecteurs propres de A
ATTAm1−=
BTBm1−=
ThéorèmeUn système dont la matrice d'état est diagonalisable est complètement commandable ssi tous les modes de la forme modale associée sont commandables
CorollaireSi la ligne i de la matrice Bm (de la forme modale) est nulle alors le mode correspondant à la valeur propre λi de Am n'est pas commandable
CTCm =
13Automatique
Commandabilité de l'état
q Illustration de la commandabilité sur une forme modale
)()( tBUtAXX +=&
=
−
−=
1
1,
10
1 2BAavec
§ Valeurs propres de A
)2)(1()det( ++=− λλλ AI 11 −=λ 22 −=λet A est diagonalisable
§ Diagonalisation de A
: matrice des vecteurs propres vi de A avec][ 21 vvT = iii vAv λ=
On montre que
=
0111
T
−=−
111 01T
−−== −
200 11ATTAm
== −011BTBm ligne nulle§ Schéma de simulation de la forme modale
u
+
∫
λ1
µ1
∫
λ2
µ2
+
+
+
x2 x2
x1 x1
y L'état x2 n'est pas influencé par l'entrée. Le mode λ2 n'est pas commandable
14Automatique
Commandabilité de l'état
q Grammien de commandabilité
DéfinitionOn appelle grammien de commandabilité, la matrice Wc(t) définie par :
τττ∫= tt
ATAc deBBetW T
0)( nn
c RtW ×∈)(
Commandabilité
Existe-t-il une commande U(t)qui fait évoluer le système de l'état X(t0) à un état X(t1) en un temps fini ∆t=t1−t0?
( ) ( ))()()()( 01)( tXetXtWeBtU At
ctAT T −= −−τ
Si la matrice Wc(t) est inversible, la commande est donnée par
[ ]10 ttt ∈
ThéorèmeUn système d'équation d'état est complètement commandable ssile grammien de commandabilité est inversible ou de façon équivalente rang(Wc(t))=n.
BUAXX +=&
15Automatique
Commandabilité de l'état
q Remarques sur la commandabilité
§La propriété de commandabilité est invariante par changement de base
§Un système complètement commandable admet une forme canonique decommandabilité
Soit la paire (A, B) commandable. Réalisons une transformation linéaire tq
ATTAT1−= BTBT
1−=et
[ ]Tn
TTTTTT BABABABBA TT12),( −= LC
[ ]LBATTATTTBATTTBTBA TT111111),( −−−−−−=C
[ ] ),(),( 121 BATBAABBTBA TT CC −− == L ),(),( 1 BATBA TT CC −=
La matrice T étant inversible, rang(T)=n. Par conséquent
( ) ( )),(),( BArangBArang TT CC =
16Automatique
Commandabilité de l'état
q Cas de systèmes partiellement commandables
( ) nrBArang <=),(CSi le système n'est pas complètement commandable, on a
Ceci signifie qu'il existe r modes commandables et n−r modes non commandables
ATTAT1−=
BTBT1−=
CTCT =
TT
TTT
XCY
tUBtXAX
=
+= )()(&)()( tBUtAXX +=&Soit la représentation initiale. Il existe une matrice T telle que
avec
[ ] T
T
T
T
T
XCCY
tUB
X
X
A
AA
X
X
21
1
,2
,1
22
1211
,2
,1 )(00
=
+
=
&
&rrA ×∈R11
)()(22
rnrnA −×−∈R
rrnA ×−∈ )(12 R
mrB ×∈R1
TT
TTT
XAX
tUBXAXAX
,222,2
1,212,111,1 )(
=
++=&
& Partie commandable de dimension r
Partie non-commandable de dimension n−r
La paire est commandable),( 111 BA
17Automatique
Commandabilité de l'état
q Cas de systèmes partiellement commandables : exemple
)()()(
tCXYtBUtAXX
=+=&
−=
43 2141
Bavec
−−−
−−=
045 232251
12125A
§ Matrice de commandabilité
,
(n=3 et m=1)
[ ]
−−−−
−==
414143232121434141
),( 2BAABBBAC ( ) 32),( =<= nBArang C
Il y a un mode non commandable
§ Changement de base
−−
−=
4141 2121 21 141 4121
T
−−
−== −
30001001 1
1ATTAT
== −
011
1BTBT ]001[== CTCT
]414121[ −=Cet
Partie commandable
§ Fonction de transfert correspondante
TTT BAsICsH 1)()( −−=)1)(1)(3(
)3)(2(375s
65s)( 23
2
jsjssss
ssssH
−++++++=
+++++=
La perte de commandabilité est due à la simplification d'un pôle par un zéro
18Automatique
Commande par retour d'état
q Modèle d'état d'un linéaire invariant en boucle ouverte (BO)
q Loi de commande
+=
+=
)()()(
)()(
tDUtCXtY
tBUtAXX&
nnA ×∈R
mnB ×∈R
npC ×∈R
mpD ×∈R
ntX R∈)(
mtU R∈)(
ptY R∈)(
Supposons tous les états mesurables (hypothèse restrictive). La loi de commande consiste à réaliser un retour d'état sous la forme
)()()( tKXtrtU −=
nmK ×∈R
matrice de retour d'état
r : signaux de référence
U
C
Y
X X& ∫
B
A
D
+ + + + + +
K
r
U
C
Y
X X& ∫
B
A
D
+ + + +
19Automatique
Commande par retour d'état
q Modèle d'état de la boucle fermée
q Propriétés
+=+=
)()()()()(
tDUtCXtYtBUtAXX& )()()( tKXtrtU −=avec
−+=
−+=
))()(()()(
))()(()(
tKXtrDtCXtY
tKXtrBtAXX& ( )( )
+−=
+−=
)()()(
)()(
tDrtXDKCtY
tBrtXBKAX&
§Les modes du système en BF sont les pôles de la matrice A−BK
§Le système en BF est commandable par r(t) ssi le système en BO est commandable par U(t) càd . La propriété de commandabilité est invariante par retour d'état
§ La matrice de retour K offre des degrés de liberté pour
Ø imposer un comportement dynamique au système
Ø stabiliser le système (s'il est instable en BO)
)( BKAspecBF −∈λ
( ) ( )),(),( BBKArangBArang −= CC
20Automatique
Commande par retour d'état
q Matrice de transfert en BF
q Commande par retour d'état des systèmes commandables
BFBFBFBFBF DBAsICsH +−= −1)()(
DBBKAsIDKCsHBF ++−−= −1))(()( BBKAsICsHBF1)()( −+−=
Car généralement, D=0
ThéorèmeSi le système (A, B) est complètement commandable, il est possible par le choix de K de placer arbitrairement les valeurs propres du système en BF
§ Dynamique désirée en BFElle est caractérisée par les pôles désirés en BF : BFnBFBF ,,2,1 ,,, λλλ L
§ Polynôme caractéristique en BF
011
11
, )()( βββλ ++++=−= −−
=∏ sssssP n
nn
n
iBFiBF L
Trouver K tq 011
1)()det()( βββ ++++==+−= −−− ssssPBKAsIsP n
nn
BFBKA L§ Problématique
21Automatique
Commande des systèmes par placement de pôles
q Cas des systèmes mono-entrée, mono-sortie commandablesu Exemple
=
+
−
=
)(]01[)(
)(40
)(20
10
tXtY
tutXX&
§ Vérification de la commandabilité
[ ]
−
==84
40),( ABBBAC ( ) 2),( =BArang C
Système commandable
§ Pôles désirés en BF : 322,1 jBF −−=λ 322,2 jBF +−=λet
§ Polynôme caractéristique en BF
)322)(322()()(2
1, jsjsssP
iBFiBF −+++=−= ∏
=λ 164)( 2 ++= sssPBF
§ Représentation d'état du système en BF
( )
=+−=
)()()()(
tCXtYtBrtXBKAX&
avec [ ]21 kkK = )1et 2,( ==∈ × mnK nmR
[ ]2140
2010
kkBKA
−
−
=−
−−−
=−21 424
10kk
BKA
§ Matrice d'état en BF
22Automatique
Commande des systèmes par placement de pôles
q Cas des systèmes mono-entrée, mono-sortie commandables
§ Polynôme caractéristique de la matrice d'état en BF A−BK
))(det()( BKAsIsP BKA −−=−
122 4)42()( kskssP BKA +++=−
−−−
−
=−−
21 42410
1001
)(kk
sBKAsI
++
−=−−
21 4241
)(ksk
sBKAsI
§ Placement des pôles en BF
Pour avoir les pôles désirés en BF, il faut que )()( sPsP BFBKA =−
1644)42( 212
2 ++=+++ ssksks
==+
164442
1
2
kk 21et 4 21 == kk
[ ]214=K
Matrice de gains
§ Généralisation
Dans le cas général de n états, cette approché directe consiste à résoudre un système de n équations à ninconnues ki
)det()( BKAsIsP BKA +−=−
[ ]nkkkK L21= n élémentsIdentification
23Automatique
Commande des systèmes par placement de pôles
q Cas des systèmes mono-entrée, mono-sortie commandablesSi le système est commandable, on peut le mettre sous la forme canonique de commandabilité
=+=)()(
)()(tCXtY
tButAXX&
=+=)()(
)()(tXCtY
tuBtAXX
c
ccc&
ccc ATTA 1−=
BTB cc1−=
cc CTC =
avec
Tc matrice de passage d'une représentation quelconque commandable à sa forme canonique de commandabilité
XTX cc1−=
−−−−
=
−− 1210
1000
001000010
nn
c
aaaa
A
LL
OOMMOOM
LLL
[ ]0010 LL mc bbbC =
[ ]TcB 1000 L=
§ Commande dans l'espace d'état défini par les nouvelles variables Xc
)()()( tKXtrtu −= )()()( tXKTtrtu cc−= )()()( tXKtrtu cc−=
cc KTK =
24Automatique
Commande des systèmes par placement de pôles
q Cas des systèmes mono-entrée, mono-sortie commandables
§ Modèle d'état en BF dans l'espace d'état défini par les nouvelles variables Xc
( )
=+−=
)()()()(
tXCtYtrBtXKBAX
c
cccccc& [ ]ncccc kkkK L21=avec
[ ]
=
=
nccc
nccccc
kkk
kkkKB
LL
MMML
LM21
21 000
000
1
00
−−−−−−−−
=−
−−− ncncnncc
ccc
kakakaka
KBA
1,122110
1000
001000010
LL
OOMMOOM
LLL
−−−−
=
−− 1210
1000
001000010
nn
c
aaaa
A
LL
OOMMOOM
LLL
§ Polynôme caractéristique de la matrice d'état en BF Ac−BcKc
))(det()( cccKBA KBAsIsPccc
−−=−
)()()()( 10211
1 ccn
ncnn
KBA kaskaskassPccc
+++++++= −−− L
25Automatique
Commande des systèmes par placement de pôles
§ Placement des pôles
011
11
, )()( βββλ ++++=−= −−
=∏ sssssP n
nn
n
iBFiBF L
)()()()( 10211
1 ccn
ncnn
KBA kaskaskassPccc
+++++++= −−− L
)()( sPsP BFKBA ccc=−
Equation caractéristique (pôles désirés)
=+=+
=+ −−
010
121
11
ββ
β
c
c
nncn
kaka
kaM
−=−=
−= −−
001
112
11
akak
ak
c
c
nnnc
ββ
βM
Gains kci
On calcule ainsi la matrice Kc qui est la matrice de retour dans l'espace d'état défini par Xc
On en déduit la matrice K, matrice de retour dans l'espace d'état initial (défini par X) par :
cc KTK = cc KTK 1−=
26Automatique
Commande des systèmes par placement de pôles
q Cas des systèmes mono-entrée, mono-sortie commandablesu Procédure pratique de la mise en œuvre
1. Vérifier la commandabilité de la paire (A, B)
2. Déterminer l'équation caractéristique du système en BO
On en déduit les coefficients ai
3. Choisir les pôles correspondants au comportement désiré en BF
4. Calculer le polynôme caractéristique en BF à partir de ces pôles
5. Déterminer les gains ki,c tels que
6. En déduire la matrice de gain
011
1)det()( asasasAsIsP nn
nA ++++=−= −
− L
011
11
, )()( βββλ ++++=−= −−
=∏ sssssP n
nn
n
iBFiBF L
niak iici ,,111, L=−= −−β
cc KTK 1−=
Les colonnes de la matrice de changement de base Tc sont calculées par l'algorithme suivant
=+=)()(
)()(tCXtY
tButAXX&
27Automatique
Commande des systèmes par placement de pôles
q Cas des systèmes mono-entrée, mono-sortie commandablesu Algorithme de calcul des colonnes de Tc
[ ]cnccc TTTT ,,2,1 L= avec cncc TTT ,,2,1 ,,, L les colonnes de Tc
Les colonnes vérifient les relations suivantes :
BIaAaAT
BIaAaAT
BIaATBT
nn
nc
nncn
ncn
cn
)(
)(
)(
12
11
,1
212
,2
1,1
,
+++=
++=
+==
−−
−
−−−
−−
LM
Toute cette procédure est lourde à mettre en œuvre. On lui préfère la forme compacte de la formule d'Ackerman
28Automatique
Commande des systèmes par placement de pôles
q Cas des systèmes mono-entrée, mono-sortie commandablesu Formule d'Ackerman
u Application de la formule d'Ackerman
Elle donne directement l'expression de la matrice de retour
( ) )(),(]100[ 1 APBAK BF−= CL
avec IAAAAP nn
nBF 01
11)( βββ ++++= −
− L
Solution unique
1. Vérifier la commandabilité de la paire (A, B)
2. Choisir les pôles correspondants au comportement désiré en BF
3. Calculer le polynôme caractéristique en BF à partir de ces pôles
4. En déduire PBF(A). Appliquer la formule d'Ackerman
011
11
, )()( βββλ ++++=−= −−
=∏ sssssP n
nn
n
iBFiBF L
29Automatique
Commande des systèmes par placement de pôles
q Cas des systèmes multivariables commandables
nmK ×∈R( )
=+−=
)()()()(
tCXtYtBrtXBKAX&
avec
La matrice de retour K contient m×n gains qu'il faut déterminer
§Le placement des n pôles fournit n contraintes. Il reste à déterminer m(n-1) contraintes.
§Ces degrés de liberté servent alors à réaliser un placement de pôles robuste, à rejeter les perturbations ou à calculer la matrice de gain qui conduit à une consommation d'énergie minimale
§ Des méthodes numériques existent pour placer les pôles en BF
30Automatique
Commande des systèmes par placement de pôles
q Exemple numérique
=
+
−−
=
)(]01[)(
)(41
)(21
41
tXtY
tutXX&
§ Pôles désirés en BF :
322,1 jBF −−=λ 322,2 jBF +−=λet
[ ]21 kkK =Trouver
--> A=[1 4;-1 -2];
--->B=[1;4];
-->// Vérification de la commandabilité
-3->Ctr = cont_mat(A,B);
-->rang = rank(Ctr)
rang =
2.
-->// Pôles désirés en BF
-->poles = [-2 - %i*2*sqrt(3); -2 + %i*2*sqrt(3)];
-->// Placement des pôles par K
-->K = ppol(A, B, poles)
K =
! .92 .52 !
Programmation sous Scilab