Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
R7003E - Automatic ControlLesson 11
1 December 2015
1
Table of Contents
1 Dead beat controllers
2 Control of non-fully controllable systems
3 Estimation of non-fully observable systems
4 Design for systems with pure time delays - 7.13
5 Digital control - 8
6 z-Transform – 8.2.1
7 Relationships between s and z - 8.2.3
8 Aliasing and anti-aliasing filters – 8.4.3
2
Dead beat controllers
these controllers are definedonly for discrete time systems
3
Dead beat controllers
Assumption:
{ x(k + 1) = Ax(k) +Bu(k)y(k) = Cx(k)
fully controllable, i.e.,
C = �B AB . . . An−1B� full rank
full controllability≡can choose K so that eigenvalues of (A −BK) are arbitrary
4
Dead beat controllers
Assumption:
{ x(k + 1) = Ax(k) +Bu(k)y(k) = Cx(k)
fully controllable, i.e.,
C = �B AB . . . An−1B� full rank
full controllability≡can choose K so that eigenvalues of (A −BK) are arbitrary
4
Dead beat controllers
factcan choose K so that eigenvalues of (A −BK) are arbitrary⇓let’s choose K so that all the eigenvalues of (A −BK) are 0
factif all the eigenvalues of (A −BK) are 0 then ∃T s.t.
(A −BK) = T −1
⎡⎢⎢⎢⎢⎢⎢⎣J1 ⋱
Jn′
⎤⎥⎥⎥⎥⎥⎥⎦T with Ji =
⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1⋱ ⋱⋱ 10
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦5
Dead beat controllers
factcan choose K so that eigenvalues of (A −BK) are arbitrary⇓let’s choose K so that all the eigenvalues of (A −BK) are 0
factif all the eigenvalues of (A −BK) are 0 then ∃T s.t.
(A −BK) = T −1
⎡⎢⎢⎢⎢⎢⎢⎣J1 ⋱
Jn′
⎤⎥⎥⎥⎥⎥⎥⎦T with Ji =
⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1⋱ ⋱⋱ 10
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦5
Dead beat controllersImportant: ⎡⎢⎢⎢⎢⎢⎢⎣
J1 ⋱Jn′
⎤⎥⎥⎥⎥⎥⎥⎦
k
=⎡⎢⎢⎢⎢⎢⎢⎣Jk
1 ⋱Jk
n′
⎤⎥⎥⎥⎥⎥⎥⎦∀k ∈ N
Examples: ⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
2
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 1 00 0 0 10 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
3
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 0 10 0 0 00 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦6
Dead beat controllersImportant: ⎡⎢⎢⎢⎢⎢⎢⎣
J1 ⋱Jn′
⎤⎥⎥⎥⎥⎥⎥⎦
k
=⎡⎢⎢⎢⎢⎢⎢⎣Jk
1 ⋱Jk
n′
⎤⎥⎥⎥⎥⎥⎥⎦∀k ∈ N
Examples: ⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
2
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 1 00 0 0 10 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
3
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 0 10 0 0 00 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦6
Dead beat controllersImportant: ⎡⎢⎢⎢⎢⎢⎢⎣
J1 ⋱Jn′
⎤⎥⎥⎥⎥⎥⎥⎦
k
=⎡⎢⎢⎢⎢⎢⎢⎣Jk
1 ⋱Jk
n′
⎤⎥⎥⎥⎥⎥⎥⎦∀k ∈ N
Examples: ⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
2
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 1 00 0 0 10 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
3
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 0 10 0 0 00 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦6
Dead beat controllersImportant: ⎡⎢⎢⎢⎢⎢⎢⎣
J1 ⋱Jn′
⎤⎥⎥⎥⎥⎥⎥⎦
k
=⎡⎢⎢⎢⎢⎢⎢⎣Jk
1 ⋱Jk
n′
⎤⎥⎥⎥⎥⎥⎥⎦∀k ∈ N
Examples: ⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
2
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 1 00 0 0 10 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
3
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 0 10 0 0 00 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦6
Dead beat controllersImportant: ⎡⎢⎢⎢⎢⎢⎢⎣
J1 ⋱Jn′
⎤⎥⎥⎥⎥⎥⎥⎦
k
=⎡⎢⎢⎢⎢⎢⎢⎣Jk
1 ⋱Jk
n′
⎤⎥⎥⎥⎥⎥⎥⎦∀k ∈ N
Examples: ⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
2
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 1 00 0 0 10 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
3
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 0 10 0 0 00 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦6
Dead beat controllers
⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
4
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 0 00 0 0 00 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦Generalizing,
Ji ∈ Rν×ν ⇒ Jνi = 0ν×ν
Thus ⎡⎢⎢⎢⎢⎢⎢⎣J1 ⋱
Jn′
⎤⎥⎥⎥⎥⎥⎥⎦
n
=⎡⎢⎢⎢⎢⎢⎢⎣Jn
1 ⋱Jn
n′
⎤⎥⎥⎥⎥⎥⎥⎦= 0n×n
7
Dead beat controllers
⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
4
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 0 00 0 0 00 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦Generalizing,
Ji ∈ Rν×ν ⇒ Jνi = 0ν×ν
Thus ⎡⎢⎢⎢⎢⎢⎢⎣J1 ⋱
Jn′
⎤⎥⎥⎥⎥⎥⎥⎦
n
=⎡⎢⎢⎢⎢⎢⎢⎣Jn
1 ⋱Jn
n′
⎤⎥⎥⎥⎥⎥⎥⎦= 0n×n
7
Dead beat controllers
⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
4
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 0 00 0 0 00 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦Generalizing,
Ji ∈ Rν×ν ⇒ Jνi = 0ν×ν
Thus ⎡⎢⎢⎢⎢⎢⎢⎣J1 ⋱
Jn′
⎤⎥⎥⎥⎥⎥⎥⎦
n
=⎡⎢⎢⎢⎢⎢⎢⎣Jn
1 ⋱Jn
n′
⎤⎥⎥⎥⎥⎥⎥⎦= 0n×n
7
Dead beat controllers
⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
4
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 0 00 0 0 00 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦Generalizing,
Ji ∈ Rν×ν ⇒ Jνi = 0ν×ν
Thus ⎡⎢⎢⎢⎢⎢⎢⎣J1 ⋱
Jn′
⎤⎥⎥⎥⎥⎥⎥⎦
n
=⎡⎢⎢⎢⎢⎢⎢⎣Jn
1 ⋱Jn
n′
⎤⎥⎥⎥⎥⎥⎥⎦= 0n×n
7
Dead beat controllers
⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 1 0 00 0 1 00 0 0 10 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦
4
=⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 0 00 0 0 00 0 0 00 0 0 0
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦Generalizing,
Ji ∈ Rν×ν ⇒ Jνi = 0ν×ν
Thus ⎡⎢⎢⎢⎢⎢⎢⎣J1 ⋱
Jn′
⎤⎥⎥⎥⎥⎥⎥⎦
n
=⎡⎢⎢⎢⎢⎢⎢⎣Jn
1 ⋱Jn
n′
⎤⎥⎥⎥⎥⎥⎥⎦= 0n×n
7
Dead beat controllers
factcan choose K so that eigenvalues of (A −BK) are arbitrary⇓let’s choose K so that all the eigenvalues of (A −BK) are 0
Implications:
(A −BK)n = T−1
⎡⎢⎢⎢⎢⎢⎢⎣J1 ⋱
Jn′
⎤⎥⎥⎥⎥⎥⎥⎦
n
T = T−10T = 0
8
Dead beat controllers
factcan choose K so that eigenvalues of (A −BK) are arbitrary⇓let’s choose K so that all the eigenvalues of (A −BK) are 0
Implications:
(A −BK)n = T−1
⎡⎢⎢⎢⎢⎢⎢⎣J1 ⋱
Jn′
⎤⎥⎥⎥⎥⎥⎥⎦
n
T = T−10T = 0
8
Dead beat controllers
What does (A −BK)n = 0 mean?
Open-loop system:
{ x(k + 1) = Ax(k) +Bu(k)y(k) = Cx(k)
Closed-loop system:
{ x(k + 1) = (A −BK)x(k)y(k) = Cx(k)
the closed loop x(k) is 0 after at most n steps!9
Dead beat controllers
What does (A −BK)n = 0 mean?
Open-loop system:
{ x(k + 1) = Ax(k) +Bu(k)y(k) = Cx(k)
Closed-loop system:
{ x(k + 1) = (A −BK)x(k)y(k) = Cx(k)
the closed loop x(k) is 0 after at most n steps!9
Dead beat controllers
What does (A −BK)n = 0 mean?
Open-loop system:
{ x(k + 1) = Ax(k) +Bu(k)y(k) = Cx(k)
Closed-loop system:
{ x(k + 1) = (A −BK)x(k)y(k) = Cx(k)
the closed loop x(k) is 0 after at most n steps!9
Dead beat controllers
the closed loop x(k) is 0 after at most n steps!
10
Dead beat controllers
Definition (d.b.c.)A K s.t. (A −BK) has all eigenvalues equal to zero is called adead beat controller
Q) is it necessary to have full controllability to be able to find ad.b.c.?
yes no
Example:
⎧⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎩
�x1(k + 1)x2(k + 1)� = �1 0
0 0� �x1(k)x2(k)� + �10�u(k)
y(k) = �1 1� �x1(k)x2(k)�
11
Dead beat controllers
Definition (d.b.c.)A K s.t. (A −BK) has all eigenvalues equal to zero is called adead beat controller
Q) is it necessary to have full controllability to be able to find ad.b.c.?
yes no
Example:
⎧⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎩
�x1(k + 1)x2(k + 1)� = �1 0
0 0� �x1(k)x2(k)� + �10�u(k)
y(k) = �1 1� �x1(k)x2(k)�
11
Dead beat controllers
Definition (d.b.c.)A K s.t. (A −BK) has all eigenvalues equal to zero is called adead beat controller
Q) is it necessary to have full controllability to be able to find ad.b.c.?
yes no
Example:
⎧⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎩
�x1(k + 1)x2(k + 1)� = �1 0
0 0� �x1(k)x2(k)� + �10�u(k)
y(k) = �1 1� �x1(k)x2(k)�
11
Dead beat controllers
⎧⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎩
�x1(k + 1)x2(k + 1)� = �1 0
0 0� �x1(k)x2(k)� + �10�u(k)
y(k) = �1 1� �x1(k)x2(k)�
Controllability matrix:
C = � �10� �1 00 0� �10� � = �1 1
0 0�At the same time, K = �K1 K2� implies
A −BK = �1 00 0� − �10� �K1 K2� = �1 −K1 −K2
0 0 �12
Dead beat controllers
⎧⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎩
�x1(k + 1)x2(k + 1)� = �1 0
0 0� �x1(k)x2(k)� + �10�u(k)
y(k) = �1 1� �x1(k)x2(k)�
Controllability matrix:
C = � �10� �1 00 0� �10� � = �1 1
0 0�At the same time, K = �K1 K2� implies
A −BK = �1 00 0� − �10� �K1 K2� = �1 −K1 −K2
0 0 �12
Dead beat controllers
⎧⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎩
�x1(k + 1)x2(k + 1)� = �1 0
0 0� �x1(k)x2(k)� + �10�u(k)
y(k) = �1 1� �x1(k)x2(k)�
non controllable
A −BK = �1 −K1 −K20 0 � closed loop
K1 = 1 K2 = 0 ⇒ A −BK = �0 00 0�
i.e., K = d.b.c.
13
Dead beat controllers
⎧⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎩
�x1(k + 1)x2(k + 1)� = �1 0
0 0� �x1(k)x2(k)� + �10�u(k)
y(k) = �1 1� �x1(k)x2(k)�
non controllable
A −BK = �1 −K1 −K20 0 � closed loop
K1 = 1 K2 = 0 ⇒ A −BK = �0 00 0�
i.e., K = d.b.c.
13
Dead beat controllers
(A, B) fully controllable ⇒ exists d.b.c.
(A, B) fully controllable /⇐ exists d.b.c.
14
Dead beat observers
(d.b.c.)d = d.b.o.
Caveat: dead beat corresponds in continuous time to haveinfinitely fast poles, thus
d.b.c. = use the actuators a lotd.b.o. = amplify a lot the noise
15
Dead beat observers
(d.b.c.)d = d.b.o.
Caveat: dead beat corresponds in continuous time to haveinfinitely fast poles, thus
d.b.c. = use the actuators a lotd.b.o. = amplify a lot the noise
15
?
16
Control of non-fully controllable systems
Assumption:
��A11 A120 A22
� , �B10 � , [C1, C2] , D�⇓
x2 non controllable
Potential cases:A22 has only stable eigenvalues ⇒ lim
t→+∞x2 = 0
A22 has some unstable eigenvalues ⇒ in general settingslim
t→+∞ ∥x2∥ = +∞
17
Control of non-fully controllable systems
Assumption:
��A11 A120 A22
� , �B10 � , [C1, C2] , D�⇓
x2 non controllable
Potential cases:A22 has only stable eigenvalues ⇒ lim
t→+∞x2 = 0
A22 has some unstable eigenvalues ⇒ in general settingslim
t→+∞ ∥x2∥ = +∞
17
Control of non-fully controllable systems
Assumption:
��A11 A120 A22
� , �B10 � , [C1, C2] , D�⇓
x2 non controllable
Potential cases:A22 has only stable eigenvalues ⇒ lim
t→+∞x2 = 0
A22 has some unstable eigenvalues ⇒ in general settingslim
t→+∞ ∥x2∥ = +∞
17
Control of non-fully controllable systems
Thus
��A11 A120 A22
� , �B10 � , [C1, C2] , D� ” + ” A22 unstable
⇓the system in general diverges
in this case you are ******only way to control the system is to add some actuators
(i.e., change B)
18
Control of non-fully controllable systems
Thus
��A11 A120 A22
� , �B10 � , [C1, C2] , D� ” + ” A22 unstable
⇓the system in general diverges
in this case you are ******only way to control the system is to add some actuators
(i.e., change B)
18
Control of non-fully controllable systems
Case
��A11 A120 A22
� , �B10 � , [C1, C2] , D� ” + ” A22 stable
Fact:poles relative to A11 can be allocated arbitrarilypoles relative to A22 can not be allocated
what you can control is x1
19
Control of non-fully controllable systems
Case
��A11 A120 A22
� , �B10 � , [C1, C2] , D� ” + ” A22 stable
Fact:poles relative to A11 can be allocated arbitrarilypoles relative to A22 can not be allocated
what you can control is x1
19
Control of non-fully controllable systems
Case
��A11 A120 A22
� , �B10 � , [C1, C2] , D� ” + ” A22 stable
Fact:poles relative to A11 can be allocated arbitrarilypoles relative to A22 can not be allocated
what you can control is x1
19
Control of non-fully controllable systemsAlgorithm:
1 assume A11 ∈ Rn1×n1 , A22 ∈ Rn2×n2
2 consider (A11, B1)3 design the new poles positions for this subsystem, say αc(s)4 design K ∈ R1×n1 so that det (sI −A11 +B1K) = αc(s)
(acker!)5 set u = −�K 01×n2�x = −Kx1
6 closed loop system:
x = ��A11 A120 A22
� − �B1K
0 ��x = ��A11 −B1K A120 A22
��x
discrete time systems = the very same
20
Control of non-fully controllable systemsAlgorithm:
1 assume A11 ∈ Rn1×n1 , A22 ∈ Rn2×n2
2 consider (A11, B1)3 design the new poles positions for this subsystem, say αc(s)4 design K ∈ R1×n1 so that det (sI −A11 +B1K) = αc(s)
(acker!)5 set u = −�K 01×n2�x = −Kx1
6 closed loop system:
x = ��A11 A120 A22
� − �B1K
0 ��x = ��A11 −B1K A120 A22
��x
discrete time systems = the very same
20
Control of non-fully controllable systemsAlgorithm:
1 assume A11 ∈ Rn1×n1 , A22 ∈ Rn2×n2
2 consider (A11, B1)3 design the new poles positions for this subsystem, say αc(s)4 design K ∈ R1×n1 so that det (sI −A11 +B1K) = αc(s)
(acker!)5 set u = −�K 01×n2�x = −Kx1
6 closed loop system:
x = ��A11 A120 A22
� − �B1K
0 ��x = ��A11 −B1K A120 A22
��x
discrete time systems = the very same
20
Control of non-fully controllable systemsAlgorithm:
1 assume A11 ∈ Rn1×n1 , A22 ∈ Rn2×n2
2 consider (A11, B1)3 design the new poles positions for this subsystem, say αc(s)4 design K ∈ R1×n1 so that det (sI −A11 +B1K) = αc(s)
(acker!)5 set u = −�K 01×n2�x = −Kx1
6 closed loop system:
x = ��A11 A120 A22
� − �B1K
0 ��x = ��A11 −B1K A120 A22
��x
discrete time systems = the very same
20
Control of non-fully controllable systemsAlgorithm:
1 assume A11 ∈ Rn1×n1 , A22 ∈ Rn2×n2
2 consider (A11, B1)3 design the new poles positions for this subsystem, say αc(s)4 design K ∈ R1×n1 so that det (sI −A11 +B1K) = αc(s)
(acker!)5 set u = −�K 01×n2�x = −Kx1
6 closed loop system:
x = ��A11 A120 A22
� − �B1K
0 ��x = ��A11 −B1K A120 A22
��x
discrete time systems = the very same
20
Control of non-fully controllable systemsAlgorithm:
1 assume A11 ∈ Rn1×n1 , A22 ∈ Rn2×n2
2 consider (A11, B1)3 design the new poles positions for this subsystem, say αc(s)4 design K ∈ R1×n1 so that det (sI −A11 +B1K) = αc(s)
(acker!)5 set u = −�K 01×n2�x = −Kx1
6 closed loop system:
x = ��A11 A120 A22
� − �B1K
0 ��x = ��A11 −B1K A120 A22
��x
discrete time systems = the very same
20
Control of non-fully controllable systemsAlgorithm:
1 assume A11 ∈ Rn1×n1 , A22 ∈ Rn2×n2
2 consider (A11, B1)3 design the new poles positions for this subsystem, say αc(s)4 design K ∈ R1×n1 so that det (sI −A11 +B1K) = αc(s)
(acker!)5 set u = −�K 01×n2�x = −Kx1
6 closed loop system:
x = ��A11 A120 A22
� − �B1K
0 ��x = ��A11 −B1K A120 A22
��x
discrete time systems = the very same
20
Estimation of non-fully observable systems
�estimation of non-fully observable systems�≡�control of non-fully controllable systems�d
21
?
22
Design for systems with pure time delays
this is only for continuous time systems
23
Design for systems with pure time delaysTime delay: Dτ [f(t)] = f(t − τ)Laplace-transform:
L(Dτ [f(t)]) (s) = ∫ +∞−∞ Dτ [f(t)] e−stdt
= ∫ +∞−∞ f(t − τ)e−stdt
= ∫ +∞−∞ f(T )e−s(T+τ)dT
= ∫ +∞−∞ f(T )e−sT e−sτ dT
= e−sτ ∫ +∞−∞ f(T )e−sT dT
= e−sτL(f(t)) (s)24
Design for systems with pure time delaysTime delay: Dτ [f(t)] = f(t − τ)Laplace-transform:
L(Dτ [f(t)]) (s) = ∫ +∞−∞ Dτ [f(t)] e−stdt
= ∫ +∞−∞ f(t − τ)e−stdt
= ∫ +∞−∞ f(T )e−s(T+τ)dT
= ∫ +∞−∞ f(T )e−sT e−sτ dT
= e−sτ ∫ +∞−∞ f(T )e−sT dT
= e−sτL(f(t)) (s)24
Design for systems with pure time delaysTime delay: Dτ [f(t)] = f(t − τ)Laplace-transform:
L(Dτ [f(t)]) (s) = ∫ +∞−∞ Dτ [f(t)] e−stdt
= ∫ +∞−∞ f(t − τ)e−stdt
= ∫ +∞−∞ f(T )e−s(T+τ)dT
= ∫ +∞−∞ f(T )e−sT e−sτ dT
= e−sτ ∫ +∞−∞ f(T )e−sT dT
= e−sτL(f(t)) (s)24
Design for systems with pure time delaysTime delay: Dτ [f(t)] = f(t − τ)Laplace-transform:
L(Dτ [f(t)]) (s) = ∫ +∞−∞ Dτ [f(t)] e−stdt
= ∫ +∞−∞ f(t − τ)e−stdt
= ∫ +∞−∞ f(T )e−s(T+τ)dT
= ∫ +∞−∞ f(T )e−sT e−sτ dT
= e−sτ ∫ +∞−∞ f(T )e−sT dT
= e−sτL(f(t)) (s)24
Design for systems with pure time delaysTime delay: Dτ [f(t)] = f(t − τ)Laplace-transform:
L(Dτ [f(t)]) (s) = ∫ +∞−∞ Dτ [f(t)] e−stdt
= ∫ +∞−∞ f(t − τ)e−stdt
= ∫ +∞−∞ f(T )e−s(T+τ)dT
= ∫ +∞−∞ f(T )e−sT e−sτ dT
= e−sτ ∫ +∞−∞ f(T )e−sT dT
= e−sτL(f(t)) (s)24
Design for systems with pure time delaysTime delay: Dτ [f(t)] = f(t − τ)Laplace-transform:
L(Dτ [f(t)]) (s) = ∫ +∞−∞ Dτ [f(t)] e−stdt
= ∫ +∞−∞ f(t − τ)e−stdt
= ∫ +∞−∞ f(T )e−s(T+τ)dT
= ∫ +∞−∞ f(T )e−sT e−sτ dT
= e−sτ ∫ +∞−∞ f(T )e−sT dT
= e−sτL(f(t)) (s)24
Design for systems with pure time delaysTime delay: Dτ [f(t)] = f(t − τ)Laplace-transform:
L(Dτ [f(t)]) (s) = ∫ +∞−∞ Dτ [f(t)] e−stdt
= ∫ +∞−∞ f(t − τ)e−stdt
= ∫ +∞−∞ f(T )e−s(T+τ)dT
= ∫ +∞−∞ f(T )e−sT e−sτ dT
= e−sτ ∫ +∞−∞ f(T )e−sT dT
= e−sτL(f(t)) (s)24
Design for systems with pure time delaysIn time:
u(t) Dτ G(s) y(t)u(t − τ)
In Laplace:
U(s) Dτ G(s) Y (s)e−sτ U(s)
Overall transfer function:Y (s)U(s) = e−sτ G(s)
25
Design for systems with pure time delaysIn time:
u(t) Dτ G(s) y(t)u(t − τ)
In Laplace:
U(s) Dτ G(s) Y (s)e−sτ U(s)
Overall transfer function:Y (s)U(s) = e−sτ G(s)
25
Design for systems with pure time delaysIn time:
u(t) Dτ G(s) y(t)u(t − τ)
In Laplace:
U(s) Dτ G(s) Y (s)e−sτ U(s)
Overall transfer function:Y (s)U(s) = e−sτ G(s)
25
Design for systems with pure time delays
big problem: e−sτ is not rational!!
e−sτ = 1est= 1
1 + st + (st)2/2! + (st)3/3! + . . .
Implication: there is no finite state description of e−sτ
what shall we do?
26
Design for systems with pure time delays
big problem: e−sτ is not rational!!
e−sτ = 1est= 1
1 + st + (st)2/2! + (st)3/3! + . . .
Implication: there is no finite state description of e−sτ
what shall we do?
26
Design for systems with pure time delays
big problem: e−sτ is not rational!!
e−sτ = 1est= 1
1 + st + (st)2/2! + (st)3/3! + . . .
Implication: there is no finite state description of e−sτ
what shall we do?
26
Design for systems with pure time delaysSmith compensator
Algorithm:1 design a controller D(s) considering simply G(s)2 complete the controller by putting it in this way:
Drawback: must know G(s) and e−sτ very accurately!
27
Design for systems with pure time delaysSmith compensator
Algorithm:1 design a controller D(s) considering simply G(s)2 complete the controller by putting it in this way:
Drawback: must know G(s) and e−sτ very accurately!
27
Design for systems with pure time delays – discrete timecase
Case τ = multiple of the sampling period Δ
example: τ = 3Δ
y(k + 1) = b0 + b1z−1
1 + a1z−1 + a2z−2 u(k − 3)= b0z−3 + b1z−4
1 + a1z−1 + a2z−2 u(k)
28
Design for systems with pure time delays – discrete timecase
Case τ = multiple of the sampling period Δ
example: τ = 3Δ
y(k + 1) = b0 + b1z−1
1 + a1z−1 + a2z−2 u(k − 3)= b0z−3 + b1z−4
1 + a1z−1 + a2z−2 u(k)
28
Design for systems with pure time delays – discrete timecase
Case τ = multiple of the sampling period Δ
example: τ = 3Δ
y(k + 1) = b0 + b1z−1
1 + a1z−1 + a2z−2 u(k − 3)= b0z−3 + b1z−4
1 + a1z−1 + a2z−2 u(k)
28
Design for systems with pure time delays – discrete timecase
Case τ ≠ multiple of the sampling period Δ
example: τ = 3.4Δ1 Δ≪ bandwidth of the system (∼10 to 20 times) + control
system requirements not too tight ⇒ may ignore the .4 andtreat the 3 as before
2 otherwise ⇒ treat the 3 as before + do a Smith compensatorfor the .4
29
Design for systems with pure time delays – discrete timecase
Case τ ≠ multiple of the sampling period Δ
example: τ = 3.4Δ1 Δ≪ bandwidth of the system (∼10 to 20 times) + control
system requirements not too tight ⇒ may ignore the .4 andtreat the 3 as before
2 otherwise ⇒ treat the 3 as before + do a Smith compensatorfor the .4
29
Design for systems with pure time delays – discrete timecase
Case τ ≠ multiple of the sampling period Δ
example: τ = 3.4Δ1 Δ≪ bandwidth of the system (∼10 to 20 times) + control
system requirements not too tight ⇒ may ignore the .4 andtreat the 3 as before
2 otherwise ⇒ treat the 3 as before + do a Smith compensatorfor the .4
29
Design for systems with pure time delays – discrete timecase
Case τ ≠ multiple of the sampling period Δ
example: τ = 3.4Δ1 Δ≪ bandwidth of the system (∼10 to 20 times) + control
system requirements not too tight ⇒ may ignore the .4 andtreat the 3 as before
2 otherwise ⇒ treat the 3 as before + do a Smith compensatorfor the .4
29
?
30
Digital control
Continuous time
y(t) = b(s)a(s)u(t)
Discrete time
y(k) = b(z)a(z)u(k)
31
Digital control
Continuous time
y(t) = b(s)a(s)u(t)
Discrete time
y(k) = b(z)a(z)u(k)
31
Digital control
Continuous time
Discrete time
32
Digital controlWorkflow
physics-based considerations system identification procedures
{ x = Ax +Bu
y = Cx{ x(k + 1) = Ax(k) +Bu(k)
y(k) = Cx(k)
continuous controller discrete controller
implementation
33
Digital controlWorkflow
physics-based considerations system identification procedures
{ x = Ax +Bu
y = Cx{ x(k + 1) = Ax(k) +Bu(k)
y(k) = Cx(k)
continuous controller discrete controller
implementationdiscrete equivalent
33
Digital controlWorkflow
physics-based considerations system identification procedures
{ x = Ax +Bu
y = Cx{ x(k + 1) = Ax(k) +Bu(k)
y(k) = Cx(k)
continuous controller discrete controller
implementationdiscrete design
33
?
34
Table of Contents
1 Dead beat controllers
2 Control of non-fully controllable systems
3 Estimation of non-fully observable systems
4 Design for systems with pure time delays - 7.13
5 Digital control - 8
6 z-Transform – 8.2.1
7 Relationships between s and z - 8.2.3
8 Aliasing and anti-aliasing filters – 8.4.3
35