AL1:1
436-433
Control of Mechanical Systems Sequence of controls subjects in unitised courses: •• 436-204 436-204 Unit Unit 2: 2: Electromechanical Electromechanical machine machine behaviour behaviour Modelling, Modelling, system system responses responses
•• 436-355/370 436-355/370 Unit Unit 2: 2: Control Control systems systems Classical Classical control control (analog, (analog, SISO) SISO)
•• 436-356/371 436-356/371 Unit Unit 2: 2: Control Control systems systems Sensors, Sensors, actuators, actuators, implementation implementation
•• 436-433 436-433 Unit Unit 1: 1: Control Control systems systems Digital Digital control, control, state-space state-space design design
•• 436-405 436-405 Advanced Advanced control control systems systems MIMO MIMO systems, systems, modern modern control control
Dante descending into the inferno
References • Lecture presentations on subject website • Exploratory exercises E1, E2 on subject website • Franklin, Powell & Emami-Naeini, Feedback Control of Dynamic Systems, 4th edn, Prentice Hall, 2002 – adequate for both state-space and digital control – good coverage of classical control too
• MATLAB® Student Version Release 12 – includes MATLAB, Simulink, Symbolic Math ($A145) – download Control System TB from MathWorks ($US 29)
AL1:2
AL1:3
Other useful sources • Franklin, Powell & Workman, Digital Control of Dynamic Systems, 3rd edn, Addison-Wesley, 1998 – good text for 436-405 Advanced Control too
• Dutton, Thompson & Barraclough, The Art of Control Engineering, Addison-Wesley, 1997 – good text for 436-405 Advanced Control too
• Messner & Tilbury, Control Tutorials for MATLAB and Simulink: A Web-Based Approach, AddisonWesley, 1998 – earlier version available from subject website (does not use MATLAB Control System TB LTI objects)
AL1:4
Digital vs analog control Continuous controller r(t) +
e(t) −
w(t)
u(t)
Gc(s)
y(t)
Plant
Gp(s) Sensor
y(k)
u(t) Piecewise
continuous
t
Sample period T
y(k) ADC
Continuous (analog)
v(t)
e(k) Difference u(k) u(t) DAC equations y(t) − Clock
Discrete k (digital)
t
H(s)
Digital controller r(k) +
c(t)
c(t)
y(t)
w(t) Plant
Gp(s)
c(t)
t Sensor
H(s)
v(t)
AL1:5
Objectives (B: Digital control) • Understand consequences of sampling continuous signals • Develop tools for analysis of discrete systems • Ability to design digital controllers by – emulation of continuous designs – direct digital design
• Familiarity with control technology
State-space design: a quick overview
AL1:6
• In classical control we sometimes used feedback rather than series (cascade) compensation: Position command
Θc
+ −
K Kpp
Amp
+ −
Motor
K Kaa
G G
Tach
K Kvv
1/s 1/s Motor velocity
Motor position
Θm
Ωm
• The motor position and velocity are state variables. • The two loops feed signals proportional to the state variables back to the plant input. • This is called state-variable feedback. • With SVF we can ‘place’ all the closed-loop poles at desired locations. • Given a plant model, we can estimate the state variables by observing just the plant input and output.
AL1:7
Objectives (A: State-space design) Provide an introduction to: • state-space modelling of physical systems • calculation of time responses from s-s models • methods for determining the stability, controllability and observability of s-s models • design of state-feedback compensators and stateestimators • background required for more advanced study
Assumed background (Refer F, P & E-N)
• Modelling of system components – Equations of motion (§2.1 - §2.5) – Transfer functions, block diagrams (§2.1, §3.1.1 - §3.1.2, §3.2.1)
• Dynamic responses – Convolution (§3.1.1) – Frequency response (§3.1.2, §6.1) – Time-domain response (§3.3 - §3.5)
• Classical feedback control – Effects of feedback (§4.1 – §4.3) – Root locus design (Ch 5) – Frequency response design (Ch 6)
AL1:8
Input-output descriptions
AL1:9
• In previous subjects we have employed input-output descriptions of system behaviour – Differential equations of motion:
y(t)
k
u(t)
m
my(t ) + cy (t ) + ky (t ) = u (t )
c – Transfer function:
1 1k Y (s) = 2 = G ( s) = U ( s ) ms + cs + k ( s / ωn ) 2 + 2ζ ( s / ωn ) + 1 Impulse response
– Impulse response:
(ω
d
{G ( s)} =
= ωn 1 − ζ 2
)
0.8
1
m
ωd
e
− ζω n t
sin ωd t
Response y(t) = g(t)
g (t ) = L
−1
1
0.6
0.4
0.2
0
-0.2
-0.4 0
5
10
15
Time t
20
25
30
AL1:10
Input-output descriptions, cont’d • These descriptions don’t take account of the internal ‘state’ of the system • State: the minimum information required at time t0 to find the response to subsequent inputs (t > t0 ) • The state provides a summary of the effects of past inputs. Different histories can lead to the same state. y y(t) k u(t) t0 m
c
“state variables”
y (t0 )ü ý define state at t0 y (t0 )þ
t
State-space equations
AL1:11
• The number of state variables = order of system, n • State vector x = [x1 x2 … xn ]T • Equations of motion of any finite system: – can write as n first-order ODEs x&i (t ) = f i [x1 (t ), x2 (t ),L , xn (t ), u1 (t ), u2 (t ),L, um (t ), t ] i = 1,2,L, n – we will consider linear, constant-coefficient eqns x&i (t ) = ai1 x1 (t ) + ai 2 x2 (t ) + L + ain xn (t ) + bi1u1 (t ) + L bim um (t ) i = 1,2, L, n n
m
j =1
k =1
= å aij x j (t ) + å bik uk (t ) i = 1,2,L n
– i.e., x (t ) = Ax(t ) + Bu (t )
also known as linear, time-invariant (LTI) systems
Ex. 1: Mechanical oscillator
AL1:12
y(t) k m
u(t)
my(t ) + cy (t ) + ky (t ) = u (t )
c Could choose displacement and velocity as state variables: x1 = y, x2 = y Then:
x1 = x2 mx2 + cx2 + kx1 = u
i.e.,
The output can be recovered as a linear combination of the states: Standard form:
x = Ax + Bu y = Cx + Du
x1 = x2 k c 1 x2 = − x1 − x2 + u m m m é x1 ù y = [1 0]ê ú + 0 ⋅ u ë x2 û
MATLAB representation of LTI objects • Example: mechanical oscillator with m = 1, c = 1, k = 10 x1 = x2
x2 = −
1 c k x1 − x2 + u m m m
é x1 ù y = [1 0]ê ú + 0 ⋅ u ë x2 û
MATLAB commands >> >> >> >> >> >>
m = A = B = C = D = Gss
1; c = 1; k = 10; [0 1; -k/m -c/m]; [0; 1/m]; [1 0]; 0; = ss(A, B, C, D)
AL1:13
MATLAB response a = x1 x2
x1 0 -10
x2 1 -1
b = x1 x2
u1 0 1
c = y1
x1 1
x2 0
d = y1
u1 0
Continuous-time model.
AL1:14
• The LTI object Gss can be transformed to transfer function (TF) or zero-pole-gain (ZPK) form: >> Gtf = tf(Gss)
>> Gzpk = zpk(Gss)
Transfer function: 1 -----------s^2 + s + 10
Zero/pole/gain: 1 -------------(s^2 + s + 10)
• These forms can also be created directly; e.g.: >> Gzpk = zpk([], [-0.5000+ 3.1225j;-0.5000-3.1225j], 1) Zero/pole/gain: 1 -------------(s^2 + s + 10)