Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
State space model:
linear:
or in some text:
where: u: input y: output x: state vector A, B, C, D are const matrices
⎩⎨⎧
=
=
),( :eqOutput ),( :eq Stateuxhyuxfx!
⎩⎨⎧
+=
+=
DuCxyBuAxx!
⎩⎨⎧
+=
+=
JuHxyGuFxx!
Back to state space
Example !x = 0 1
−2 −3
"
#$
%
&'x + 0
1
"
#$
%
&'u
y = 1 3"#
%&x
(
)**
+**
[ ]
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡
−−=
==
10
,32
10
31,0
BA
CD
H (s) = D+C(sI − A)−1B
= 0+ 1 3"#
$% s
1 00 1
"
#&
$
%'−
0 1−2 −3
"
#&
$
%'
"
#&&
$
%''
−1
01
"
#&
$
%'
= 1 3"#
$%
s −12 s+3
"
#&
$
%'
−101
"
#&
$
%'
= 1 3"#
$%
1s(s+3)+ 2
s+3 1−2 s
"
#&
$
%'01
"
#&
$
%'
= 1 3"#
$%
1s(s+3)+ 2
1s
"
#&
$
%'
=1
s(s+3)+ 21 3"
#$%1s
"
#&
$
%'
=3s+1
s(s+3)+ 2=
3s+1s2 +3s+ 2
State transition, matrix exponential
)0(:solution
:sHomogeniou
:caseScaler
xex(t)
axx
buaxx
at=
=
+=
!
!
matrixn transitiostate theiscalled
)0(
linearityby ),0(:solution
:sHomogeniou
:caseMatrix
At
At
e
xex(t)
xx(t)
Axx
BuAxx
=
↓
∝=
=
+=
!
!
State transition matrix: eAt
• eAt is an nxn matrix • eAt =ℒ-1((sI-A)-1), or ℒ (eAt)=(sI-A)-1
• eAt= AeAt= eAtA
• eAt is invertible: (eAt)-1= e(-A)t
• eA0=I • eAt1 eAt2= eA(t1+t2)
dtd
...!
1...!3
1!2
1)0( :solution
3322 ++++++=
=
=
nnAt
At
tAn
tAtAAtIe
xex(t)Axx!
Example
)(222
222
11
22
12
21
11
21
12
)2)(1()2)(1(2
)2)(1(1
)2)(1(3
213
2)3(1)(
321
,3210
22
22
1
tueeeeeeee
e
ssss
ssss
sss
ss
sssss
ss
ssAsI
ss
AsIA
stttt
ttttAt
⎟⎟⎠
⎞⎜⎜⎝
⎛
+−+−
−−=
⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜
⎝
⎛
++
+
−
++
+
−+
−++
−+=
⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜
⎝
⎛
++++
−++++
+
=⎟⎟⎠
⎞⎜⎜⎝
⎛
−
+
++=−
⎟⎟⎠
⎞⎜⎜⎝
⎛
+
−=−⎟⎟
⎠
⎞⎜⎜⎝
⎛
−−=
−−−−
−−−−
−
I/O model to state space • Infinite many solutions, all equivalent. • Controller canonical form: d n
dtny + an−1
d n−1
dtn−1y +!+ a1
ddty + a0 y = bn−1
d n−1
dtn−1u+!+b1
ddtu+b0u
⇒ !x =
0 1 0 ! ! 00 0 1 ! ! 0! ! " " " !! ! " " 00 0 ! ! 0 1−a0 −a1 ! ! ! −an−1
#
$
%%%%%%%
&
'
(((((((
x +
00!!01
#
$
%%%%%%%
&
'
(((((((
u
y = b0 b1 ! ! ! bn−1#$%
&'(x + [0]u
I/O model to state space • Controller canonical form is not unique • This is also controller canonical form
d ndtny + an−1
d n−1dtn−1
y +!+ a1ddty + a0 y
= bn−1d n−1dtn−1
u+!+b1ddtu+b0u
⇒ !x =
−an−1 −an−2 ! ! −a1 −a01 0 0 ! ! 00 ! ! ! ! "" ! ! ! ! "0 ! " 1 0 00 ! ! 0 1 0
#
$
%%%%%%%
&
'
(((((((
x +
10!!00
#
$
%%%%%%%
&
'
(((((((
u
y = bn−1 bn−2 ! ! b1 b0#$%
&'(x + [0]u
Example
∫ =++++t
trydydtdy
dtyd
dtyd
02
2
3
3
)(235 τ
dtdry
dtdy
dtyd
dtyd
dtyd
dtd
=++++ 235: 2
2
3
3
4
4
n=4 a3 a2 a1 a0 b1 b0=b2=b3=0 ↑ ↑ ↑↑ ↑
!x =
0 1 0 00 0 1 00 0 0 1−2 −1 −3 −5
"
#
$$$$
%
&
''''
x +
0001
"
#
$$$$
%
&
''''
u
y = 0 1 0 0"#
%&x
(
)
***
+
***
Characteristic values • Char. eq of a system is
det(sI-A)=0 the polynomial det(sI-A) is called char. pol. the roots of char. eq. are char. values they are also the eigen-values of A e.g. ∴ (s+1)(s+2)2 is the char. pol. (s+1)(s+2)2=0 is the char. eq.
s1=-1,s2=-2,s3=-2 are char. values or eigenvalues
uxx⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
+
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−
−
−
=
010
200120001
!
2)2)(1(200120001
det)det( ++=⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
+
−+
+
=− sss
ss
AsI
⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜
⎝
⎛
+
++
+
=
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
++
+++
+
++=− −
2100
)2(1
210
001
1
)2)(1(001)2)(1(0
00)2(
)2)(1(1)(
2
2
21
s
ss
s
sssss
s
ssAsI
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
=
=
−
−−
−
−
)(00)()(0
00)(
) (
2
22
1
tuetutetue
tue
e
sts
ts
ts
t
At L↓
can Att
t
ee
e
100
=⎟⎟⎠
⎞⎜⎜⎝
⎛
−
−−
−
Set t=0 22I0001
×≠⎟⎟⎠
⎞⎜⎜⎝
⎛−∴No
can At
tt
t
eete
e
0=⎟⎟
⎠
⎞⎜⎜⎝
⎛−−
−
at t=0: ⎟⎟⎠
⎞⎜⎜⎝
⎛
1001
( )
⎟⎟⎠
⎞⎜⎜⎝
⎛
−
−=
⎟⎟⎠
⎞⎜⎜⎝
⎛⎟⎟⎠
⎞⎜⎜⎝
⎛
−
−=
⎟⎟⎠
⎞⎜⎜⎝
⎛
−−
−=
−−
−
−−−
−
1101
yes,
011
01
0
A
etee
eteee
dtd
tt
t
ttt
t
?
?
↓
?
√
√
Solution of state space model
Recall: sX(s)-x(0)=AX(s)+BU(s)
(sI-A)X(s)=BU(s)+x(0)
X(s)=(sI-A)-1BU(s)+(sI-A)-1x(0)
x(t)=(ℒ-1(sI-A)-1))*Bu(t)+ ℒ-1(sI-A)-1) x(0)
x(t)= eA(t-τ)Bu(τ)d τ+eAtx(0)
y(t)= CeA(t-τ)Bu(τ)d τ+CeAtx(0)+Du(t)
⎩⎨⎧
+=
+=
DuCxyBuAxx!
∫t
0
∫t
0
Eigenvalues, eigenvectors
Given a nxn square matrix A, nonzero vector p is called an eigenvector of A if Ap∝p
i.e. λ s.t. Ap= λp λ is an eigenvalue of A Example: , Let , ∴p1 is an e-vector, & the e-value=1 Let , ∴p2 is also an e-vector, assoc. with the λ =-2
⎥⎦
⎤⎢⎣
⎡
−=
2001
A
⎥⎦
⎤⎢⎣
⎡=01
1p 11 01
01
2001
pAp =⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡
−=
⎥⎦
⎤⎢⎣
⎡=10
2p ⎥⎦
⎤⎢⎣
⎡−=⎥
⎦
⎤⎢⎣
⎡
−=⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡
−=
10
220
10
2001
2Ap
∃
• For a given nxn matrix A, if λ, p is an eigen-pair, then Ap= λp λp-Ap=0 λIp-Ap=0 (λI-A)p=0 ∵ p≠0 ∴ det(λI-A)=0 ∴ λ is a solution to the char. eq of A: det(λI-A)=0
• char. pol. of nxn A has deg=n
∴ A has n eigen-values. e.g. A= , det(λI-A)=(λ-1)(λ+2)=0
⇒ λ1=1, λ2=-2
⎥⎦
⎤⎢⎣
⎡
− 2001
Eigenvalues, eigenvectors
• If λ1 ≠λ2 ≠λ3⋯ then the corresponding p1, p2, ⋯ will be linearly independent, i.e., the matrix
P=[p1⋮p2 ⋮ ⋯pn] will be invertible. Then: Ap1= λ1p1 Ap2= λ2p2 ⋮ A[p1⋮p2 ⋮ ⋯]=[Ap1⋮Ap2 ⋮ ⋯] =[λ1p1⋮ λ2p2 ⋮ ⋯] =[p1 p2 ⋯]
λ1 00 λ2! 0 "0 ! "
!
"
#####
$
%
&&&&&
∴ AP=PΛ P-1AP= Λ=diag(λ1, λ2, ⋯) ∴If A has n linearly independent Eigenvectors,
then A can be diagonalized. Note: Not all square matrices can be
diagonalized.
Example
ks wor1
1
00
31211
0)(or :1for
2,10)2)(1(
232)3(32
1det)det(
3210
12
111
12
11
11
111111
21
2
⎟⎟⎠
⎞⎜⎜⎝
⎛
−=⎟⎟
⎠
⎞⎜⎜⎝
⎛=
⎟⎟⎠
⎞⎜⎜⎝
⎛=⎟⎟
⎠
⎞⎜⎜⎝
⎛⎟⎟⎠
⎞⎜⎜⎝
⎛
+−
−−
=−
==−=
−=−=⇒
=++=
++=++=⎟⎟⎠
⎞⎜⎜⎝
⎛
+
−=−
⎥⎦
⎤⎢⎣
⎡
−−=
PP
P
PP
PAIIPPAP
AI
A
λ
λλλ
λλ
λλ
λλλλλ
λλ
[ ]
⎥⎦
⎤⎢⎣
⎡
−−=⎥
⎦
⎤⎢⎣
⎡ −−
+−=⎥
⎦
⎤⎢⎣
⎡
−−=
⎥⎦
⎤⎢⎣
⎡
−−==
⎟⎟⎠
⎞⎜⎜⎝
⎛
−=
⎟⎟⎠
⎞⎜⎜⎝
⎛=⎟⎟
⎠
⎞⎜⎜⎝
⎛
+−
−−
=−−=
−
−
1112
1112
121
2111
2111
ks wor2
1
00
32212
0)( :2for
11
21
2
2
222
P
PPP
P
P
PAIλλ
),(diag0
0
2001
2111
2212
2111
3210
1112
212
1
1
λλλ
λ=Λ=⎥
⎦
⎤⎢⎣
⎡=
⎥⎦
⎤⎢⎣
⎡
−
−=
⎥⎦
⎤⎢⎣
⎡
−−⎥⎦
⎤⎢⎣
⎡ −−=
⎥⎦
⎤⎢⎣
⎡
−−⎥⎦
⎤⎢⎣
⎡
−−⎥⎦
⎤⎢⎣
⎡
−−=− APP
121
211
),(diag
),(diag −
−
⋅⋅=
=∴
PPAAPP
λλ
λλ
In Matlab >> A=[2 0 1; 0 2 1; 1 1 4]; >> [P,D]=eig(A) P = 0.6280 0.7071 0.3251 0.6280 -0.7071 0.3251 -0.4597 -0.0000 0.8881 p1 p2 p3 D = 1.2679 0 0 0 2.0000 0 0 0 4.7321
↑ ↑ ↑
λ1 λ2
λ3
If A does not have n linearly independent eigen-vectors (some of the eigenvalues are identical), then A can not be diagonalized E.g. A=
det(λI-A)= λ4+56λ3+1152λ2+10240λ+32768 λ1=-8 λ2=-16 λ3=-16 λ4=-16 by solving (λI-A)P=0
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−
−−−
−
−−−
99149311634424444812
,
0101
1
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=p⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
2010
2p
There are only two linearly independent eigen-vectors
Should use: >>[P,J]=jordan(A) P = 0.3750 0 1 0.625 0 8 4 0 -0.375 0 0 0.375 0 16 9 0 J= -8 0 0 0 0 -16 1 0 0 0 -16 1 0 0 0 -16
a 3x3 Jordan block associated with λ=-16 ↑
Similarity transformation
DDCPCBPBAPPAuDxCyDuxCPyuBxAx
BuPxAPPxBuxAPxP
xPxxPx
DuCxyBuAxx
====
+=
+=
+=
+=
+=⇒
==
⎩⎨⎧
+=
+=
−−
−−
,,,
,let weIf
)(#
11
11
!
!
!
!!
!
same
system
as(#)
Example
[ ]
[ ]
⎪⎩
⎪⎨
⎧
−=⎩⎨⎧
+−=
−−=
⇒
⎪⎩
⎪⎨
⎧
−=
⎥⎦
⎤⎢⎣
⎡−+⎥
⎦
⎤⎢⎣
⎡
−
−=
⎥⎦
⎤⎢⎣
⎡
−
−==
⎪⎩
⎪⎨
⎧
=
⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡
−−=
21
22
11
222
1221
2001
2212
,let
0110
3210
xxyuxx
uxx
xy
uxx
PxPx
xy
uxx
!
!
!
!
diagonalized
decoupled
Invariance:
changednot seigenvalue & valueschar.sformationafter tran changednot eq. char.or poly char.
)det( )det()det()det(
))(det( )det(
)det()det(
1
1
11
1
⇒
∴
−=
−=
−=
−=
−=−
−
−
−−
−
AsIPAsIP
PAsIPAPPPsP
APPsIAsI
changed rseigenvectoBut
))(()(
)()()(
])([)(
)()()(
:functionTransfer
111
1
11111
111
1111
111
1
−−−
−
−−−−−
−−−
−−−−
−−−
−
=
=
−+=
−+=
−+=
−+=
−+=
−+=
ABABsH
BAsICDBPPAsICPPD
BPPAsIPCPDBPAPPPsPCPD
BPAPPsICPDBAsICDsH
Controllability:
[ ] λλ ∀=
×≠
=
=
∃
∀⎩⎨⎧
+=
+=
−
−
nnBBAABB
nABAABB
xtxtux
DuCxyBuAxx
n
n
)BA-Irank(or )1 is (if 0]|det[or
B])|||[rank( iff c.c. :Thm
time.finitein 0 to)( bringcan which )( control
,)0(any if lecontrollab completely is
1
12
!
!
"
Example:
01)det(or 2rank ind.linearly
231
10rank
31
||
10
10
3210
||
10
][
210
,32
10
≠−=
=∴
=⎟⎟⎠
⎞⎜⎜⎝
⎛
−⎥⎦
⎤⎢⎣
⎡
−=
⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡
−−=
=
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡
−−=
ABB
ABB
n
BA
In Matlab: >> S=ctrb(A,B) >> r=rank(S) If S is square (when B is nx1) >> det(S)
12211
rank e.g. =⎟⎟⎠
⎞⎜⎜⎝
⎛
]||[ 2 !BAABBS =
Observability
λλ
∀=⎥⎦
⎤⎢⎣
⎡
×≠
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎩⎨⎧
+=
+=
−−
,)C
A-Irank(or
)1 is (if 0detor ,rank iff c.o. :Thm
0set can ,generality of lossWithout (0). determine tous enablecan timefinite aover
)(),( of knowledge theif obserrable completely is
11
n
nC
CA
CAC
n
CA
CAC
ux
tytuDuCxyBuAxx
nn
!!
"
Example: [ ]
[ ]
c.o.
01det(
1001
3210
01
012
01 ,32
10
∴
≠=⎟⎟⎠
⎞⎜⎜⎝
⎛
⎥⎦
⎤⎢⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎦
⎤⎢⎣
⎡
−−=⎥
⎦
⎤⎢⎣
⎡
=
=⎥⎦
⎤⎢⎣
⎡
−−=
CAC
CAC
n
CA
In Matlab: >> V=obsv(C,A) >> r=rank(V) rank must = n Or if single output (ie V is square), can use >> det(V) det must be nonzero
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
←
!
2CACAC
V
Lookfor controllability
Lookfor observability
[ ]
)1)(()0()()(;001
)0()
))(()
0001output
100
331100010
)
3333
;;,,
33
11
11
1
3
2
1
3
2
1
3213
32
21
321
2
2
3
3
sBAsIxttxxc
AsIbDCuxxyyBA
rxxx
xxx
dtda
rxxxyyyrydtdx
xydtdxx
dtdxyxyxyx
rydtdy
dtyd
dtyd
-
-
−
−
−+=⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
=
−=
+===
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
+⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
−−−
=⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
+−−−=−−−==
======
=+++
L
L
φ
φ
!!!!!!
!!!!!
• Recall linear transformation:
• Controllability=being able to use u(t) to drive any state to origin in finite time
• Observability=being able to computer any x(0) from observed y(t)
• After transformation, eigenvalues, char. poly, char. eq, char. values, T.F., poles, zeros un-changed, but eigenvector changed
xPxxPx 1 , −==
⎪⎩
⎪⎨⎧
==+=
==+=⇔
⎩⎨⎧
+=
+=−
−
CPCBPBuDxCyDDAPPAuBxAx
DuCxyBuAxx
, ,
1
1!!
nBABAABBQS nC ===⇔ − rank has ]|||[ 12 !
n
CA
CAC
QV
n
O =
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
==⇔
−
rank full has
1
!
• Controllability is invariant under transf.
{ }{ }
)(rank )(rank,min
)(rank),(rankmin)(rank
]|||[
]|||[ ]|||[
]|||[after
]|||[ before :Proof
1
1
121
112111
111111
12
12
C
C
CC
CC
n
n
nC
nC
QQn
QPQQPQ
BABAABBPBAPBAPABPBPBAPPAPPPBAPPPBP
BABABABQBABAABBQ
≤
≤
≤∴
=
=
=
=
=
=
−
−
−−
−−−−−
−−−−−−
−
−
!
!
!
!
!
{ }{ }
changednot ility Controllab)(rank)(rank)(rank)(rank
)(rank,min )(rank),(rankmin
)(rank)(rank
But
)(rank)(rank1
∴
=∴
≤∴
≤
≤
=∴
=⇒
=
≤∴−
CC
CC
C
C
CC
CC
CC
CC
QQQQ
QnQP
QPQQPQ
QPQQQ
• Observability invariant under transf.
1
22
11
1
2
2
after
, before :Proof
−
−−
−
==∴
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
PQQPQQ
PCACAC
PCACAPCP
APAPPCPPAPCPP
CP
ACACC
Q
CACAC
Q
OOOO
O
O
!!
!!
!
{ }
{ }
changednot ity Observabil
)(rank)(rank)(rank),(rankmin
)(rank)(rank
)(rank )(rank),(rankmin)(rank
1
1
∴
=∴
≤
=
≤
≤
−
−
OO
O
OO
O
OO
QQPQ
PQQQ
PQQ
State Feedback
law controlfeedback state a called is :law the
Given
rkxuDuCxyBuAxx
+−=⎩⎨⎧
+=
+=!
B 1
s C
D
A
K
r u x! x y
+ +
+ +
+
-
feedback from state x to control u
BkA
BkAA
DuCxyBrxBkAx
BrBkxAxrkxBAx
BuAxx
−
⇒
−
⎩⎨⎧
+=
+−=
+−=
+−+=
+=
of thoseofeedback t state by changed valuess/char.eigenvalue
tochangedMatrix only the
)(
)(
equation space state loop-closed
!
!
kBkAnQC
of choiceby any tochanged becan of seigenvalue)(rank
i.e. true.also is converse The
location.arbitrary any toeigenvalueor valueschar.
thechangecan feedback statethen lecontrollab completely is system theIf :Thm
−⇔=
In Matlab: Given A,B,C,D
①Compute QC=ctrb(A,B) ②Check rank(QC)
If it is n, then ③Select any n eigenvalues(must be in complex
conjugate pairs) ev=[λ1; λ2; λ3;…; λn]
④Compute: K=place(A,B,ev)
A+Bk will have eigenvalues at
Thm: Controllability is unchanged after state feedback. But observability may change!