Anda di halaman 1dari 23

L1:1

Department of Mechanical and Manufacturing Engineering

436-405
Advanced Control Systems

Lecture presentations
Semester 2, 2002
L1:2

Advanced Control Systems


• Content
– Multi-Input Multi-Output (MIMO) systems
– Optimal Control and Estimation
– Nonlinear Analysis and Control Design
• Mode
– 12 lectures
– 3 assignments (X-Y table)
• Assessment
– Examination (2 h, 50%)
– Assignments (50%)
L1:3

Lecture 1
Multivariable control
• Examples of MIMO systems
• Representation of MIMO systems
• Controllability and observability
• State-space realisations of transfer
function matrices
References: Kailath, T. Linear Systems, Prentice-Hall, 1980.
Franklin, G., Powell, J. & Workman, M. Digital Control of
Dynamic Systems, 3rd edn, 1998.
MATLAB Control System Toolbox Users Guide.
L1:4

Examples of MIMO systems


Control of aircraft lateral dynamics

é β ù é Y v -1 0g/ U 0 ù é βù é Y δr Y δa ù
ê ú ê ú ê ú ê ú
ê r ú ê N β Nr Np 0ú ê r ú ê N δr N δa ú é δr ù
ê ú= ê ú ê ú+ê ú ê ú y
ê p ú ê Lβ Lr Lp 0ú ê p ú ê Lδr Lδa ú ëδa û δa
ê ú ê ú ê φú ê ú δr
ë φû ë 0 0 1 0û ë û ë 0 0û

éβ ù
ê ú
é r ù é0 1 0 0 ù ê r ú
ê φú = ê 0 0 0 1 ú ê p ú U0
G
ë û ë û
êφú β
ë û δa
x .
p=φ
r

Ref: Franklin, Powell & Workman, ex. 9.1 z


L1:5

Examples: Hot steel rolling mill

Ref: Matlab Control System Toolbox


User’s Guide, p. 7-30
Open-loop model for x- or y-axis
L1:6

Hot steel rolling mill

Coupling between the x- and y-axes

Open-loop model for x- or y-axis


L1:7

Description of MIMO systems


1. Transfer function matrix (TFM), H(s)
Y( s) = H ( s)U( s)

e.g. m = 2 inputs, p = 2 outputs

U1(s) H
H11 (s)
11(s)
+ Y1(s)

H (s) éY1 ( s ) ù é H11 ( s ) H12 ( s ) ù éU1 ( s ) ù


êY ( s )ú = ê H ( s ) H ( s ) ú êU ( s )ú
H21
21(s)
ë 2 û ë 21 22 ûë 2 û
H
H12 (s)
12(s)
é H11 ( s ) H12 ( s ) ù
U2(s) H
H22 (s) + Y2(s) H( s) = ê ú
22(s)
ë 21
H ( s ) H 22 ( s ) û
L1:8
Example: hot steel rolling mill
2.4 × 108
H (s) = 2 g x = 10 −6
s + 72 s + 90 2
3 ×10 4 s
Fe ( s ) = 2
s + 0.125s + 6 2
10 4
Fi ( s ) =
s + 0.05

é − 240 − 0.03s 0.01 ù é u ( s ) ù


é δ( s ) ù ê s 2 + 72 s + 8100 s 2 + 0.125s + 36 s + 0.05 ú ê w ( s )ú
ê f ( s )ú = ê 2.4 × 108 3 ×10 4 s 10 4 ú ê e ú
ë û ê ú êë wi ( s ) úû
ë s 2 + 72 s + 8100 s 2 + 0.125s + 36 s + 0.05 û

H(s)
L1:9
2. State-space description {A, B, C, D}
A = x (t ) = Ax(t ) + Bu (t )
-0.0558 -0.9968 0.0802 0.0415
0.5980 -0.1150 -0.0318 0 y (t ) = Cx(t ) + Du(t )
-3.0500 0.3880 -0.4650 0
0 0.0805 1.0000 0 e.g. Jet transport
B =
model: Mach 0.8,
0.0729 0.0001
-4.7500 1.2300 H=40,000ft
1.5300 10.6300 Matlab jetdemo.m
0 0
C =
0 1 0 0
0 0 0 1
D =
0 0
0 0

states={'beta' 'yaw' 'roll' 'phi'};


inputs={'rudder' 'aileron'};
outputs={'yaw rate' 'bank angle'};
L1:10

Conversion from state-space to TFM


• Continuous system: x (t ) = Ax(t ) + Bu (t )
y (t ) = Cx(t ) + Du(t )
• Laplace transform, with zero initial conditions:
(sI − A )X( s) = BU ( s )
Y ( s ) = CX( s ) + DU( s )
• Hence: X( s ) = (sI − A ) BU ( s )
−1

[
Y( s ) = C(sI − A ) B + D U( s )
−1
]
= H( s)U( s )
• Thus, transfer function matrix is:

H ( s ) = C(sI − A ) B + D
−1
L1:11

Matlab conversion from state-space to TFM

• Example: Jet transport


G = ss(A, B, C, D, ...
'statename', states, ...
'inputname', inputs, ...
'outputname', outputs);

H = tf(G)

% or

H = zpk(G)
L1:12

H = zpk(G)
Zero/pole/gain from input "rudder" to output...
-4.75 (s+0.4981) (s^2 + 0.02379s + 0.2381)
yaw rate: -------------------------------------------------
(s+0.5627) (s+0.007278) (s^2 + 0.06587s + 0.8972)

1.1476 (s-4.44) (s+2.694)


bank angle: -------------------------------------------------
(s+0.5627) (s+0.007278) (s^2 + 0.06587s + 0.8972)

Zero/pole/gain from input "aileron" to output...


1.23 (s+0.4484) (s^2 - 0.2024s + 0.7605)
yaw rate: -------------------------------------------------
(s+0.5627) (s+0.007278) (s^2 + 0.06587s + 0.8972)

10.729 (s^2 + 0.2159s + 0.9541)


bank angle: -------------------------------------------------
(s+0.5627) (s+0.007278) (s^2 + 0.06587s + 0.8972)
L1:13

» H(1,2) é R ( s ) ù é H11 H 12 ù é δ r ù
êΦ ( s ) ú = ê H H 22 úû êëδ a úû
output #1 input #2 ë û ë 21

» H(1,2)
input #2 output #1
Zero/pole/gain from input "aileron" to output "yaw rate":
1.23 (s+0.4484) (s^2 - 0.2024s + 0.7605)
-------------------------------------------------
(s+0.5627) (s+0.007278) (s^2 + 0.06587s + 0.8972)
L1:14

State-space realisations of
transfer function matrix
• Recall that a set of state variables is a minimal,
sufficient, statistic: it contains just enough
information to allow the calculation of future
responses, given future inputs
• For SISO systems, the number of states (n) is equal
to the degree of the characteristic polynomial
• For MIMO systems, when the system dynamic model
has been derived directly using state variables, the
required number of states is obvious
– e.g. the EoM for aircraft lateral dynamics shown previously
L1:15
State-space realisations of
transfer function matrix
• For SISO systems, we can easily generate canonical
state-space realisations of a given transfer function
– e.g. controller and observer canonical forms

• For MIMO systems, the number of states required for


a realisation of a TFM is not always so obvious
• For SIMO systems, it is easy to generate controller or
controllability canonical forms
• For MISO systems, it is easy to generate observer or
observability canonical forms
L1:16

Controllability, observability and minimality


• A realisation {A, B, C} is state controllable
iff the n × nm controllability matrix Co(A, B) has full rank n

Co = [B AB L A n −1B ]
é C ù
• A realisation {A, B, C} is state observable ê CA ú
iff the np × n observability matrix Ob(C, A) Ob = ê ú
ê M ú
has full rank n êCA n −1 ú
ë û
• A minimal realisation is one that has the smallest-size A
matrix for all triples {A, B, C} satisfying
C(sI − A ) B = H ( s ), a given transfer function
−1

• A realisation {A, B, C} is minimal iff Ref: Kailath, Linear


it is controllable and observable Systems, Ch. 6
L1:17

Modal realisation
• If eigenvalues are distinct, can transform to diagonal,
modal realisation. E.g., jet transport:
Gm = canon(G, 'modal')
a =
beta yaw roll phi
Dutch-roll mode beta -0.032935 0.94665 0 0
yaw -0.94665 -0.032935 0 0
Roll mode
roll 0 0 -0.56265 0
Spiral mode phi 0 0 0 -0.007278
b = If any row in B = 0,
rudder aileron corresponding mode
beta 12.605 -0.0092996 is uncontrollable.
yaw 17.319 0.03649
roll 23.479 -0.24687 If any column in C = 0,
phi -29.229 0.22185 corresponding mode
c = is unobservable
beta yaw roll phi
yaw -0.077977 -0.13326 -0.011828 0.040422
bank angle 0.69301 0 0.87174 0.9991
L1:18

SIMO controller canonical form


• Transfer function matrix for SIMO system:
é b1 ( s ) ù
ê a ( s) ú
ê
H ( s ) = ê M úú
1

b ( s)
ê p ú
ëê a p ( s ) úû
• Find least-common-multiple d(s) of denominators ai(s), i = 1,2,…p

é n1 ( s ) ù é n11s n −1 + n12 s n − 2 + L + n1n ù


ê ú ê M
ú
ê M ú ê ú
êën p ( s )úû êën p1s n −1 + n p 2 s n − 2 + L + n pn úû
H( s) = =
d ( s) s n + d1s n −1 + L + d n
bi ( s )d ( s )
• Numerator polynomials: ni ( s ) =
ai ( s )
L1:19

SIMO controller canonical form


H( s) = N( s) / d ( s)
• Form 1/d(s) in usual way
• ‘Read out’ the numerators to form the outputs

n11 y1
n12 +

n13
n21 y2
n22 +
u x1 x2 x3
+ ò ò ò n23

−d1
−d2
−d3
L1:20

SIMO controller canonical form


é− d1 − d2 L L − d n ù é1ù
upper
companion
ê 1 0 L 0 0 ú ê0 ú
ê ú ê ú
matrix x& = ê 0 1 L 0 0 ú x + ê0 ú u
ê M M O M M ú êMú
ê ú ê ú
êë 0 0 L 1 0 úû êë0úû
é n11 n12 L L n1n ù
ê ú
y=ê M M M M M úx
ëên p1 np2 L L n pn úû
• This is a minimal realisation: the number of states, n, is
equal to the degree of the l.c.m. denominator d(s)
• This realisation is always controllable
• It will be observable iff the polynomials
{d(s), n1(s), …, np(s)} have no common factors
L1:21

MISO observer canonical form


• Transfer function matrix for MISO system:
é b1 ( s ) bm ( s ) ù
H( s) = ê L ú
ë 1
a ( s ) a m ( s ) û
• Find least-common-multiple d(s) of denominators ai(s), i = 1,2,…m

H( s) =
[n1 ( s) L nm ( s )]
d ( s)

=
[n11 s n −1
+ n12 s n−2
+ L + n1n L nm1 s n −1
+ nm2 s n−2
+ L + nmn ]
s n + d1s n −1 + L + d n

bi ( s )d ( s )
• Numerator polynomials: ni ( s ) =
ai ( s )
L1:22

MISO observer canonical form


H( s) = N( s) / d ( s)
• Form 1/d(s) in usual way
• ‘Feed in’ the numerators to apply the inputs
u1
n13 n12 n11
u2
n23 n22 n21

x3 x2 x1 y
+ ò + ò + ò
−d3 −d2 −d1
L1:23

MISO observer canonical form


left
é − d1 1 0 L 0ù é n11 L nm1 ù
companion ê −d
matrix 0 1 L 0ú ê n L nm 2 ú é u1 ù
ê 2
ú ê 12 ú
x& = ê M M M O M úx + ê M O M úê M ú
ê− d ê ú
0 0 L 1ú ên L ú
nm ( n −1) êëum úû
ê n −1 ú ê 1( n −1) ú
êë − d n 0 0 L 0úû êë n1n L nmn úû
y = [1 0 0 L 0]x
• This is a minimal realisation: the number of states, n, is
equal to the degree of the l.c.m. denominator d(s)
• This realisation is always observable
• It will be controllable iff the polynomials
{d(s), n1(s), …, np(s)} have no common factors

Anda mungkin juga menyukai