Control
Madhu N. Belur
Control & Computing group,
Electrical Engineering Dept, IIT Bombay
15th Oct 2013
Belur, CC group, EE Control: feedback/open-loop 1/27
Outline
Control: block diagram approach
open-loop, feedback
Causality, linearity
Transfer function models: frequency domain approach
State space models
Poles, zeros
Stability
Feedback controller design: P, PD, PID
Belur, CC group, EE Control: feedback/open-loop 2/27
open-loop systems: causality
Consider the system G
Input u affects output y
Input and output are functions of time t
Output y(t0 ) depends on values of u(t) only for t 6 t0 :
Belur, CC group, EE Control: feedback/open-loop 3/27
open-loop systems: causality
Consider the system G
Input u affects output y
Input and output are functions of time t
Output y(t0 ) depends on values of u(t) only for t 6 t0 : causality
Physical systems are causal: non-anticipating
Output now cannot depend on future input
Belur, CC group, EE Control: feedback/open-loop 3/27
Linear systems
Scaling of input u results in output scaled by same amount
Input trajectory u suppose gives output y, then 2u gives 2y
If u1 and u2 give outputs y1 and y2 then
Belur, CC group, EE Control: feedback/open-loop 4/27
Linear systems
Scaling of input u results in output scaled by same amount
Input trajectory u suppose gives output y, then 2u gives 2y
If u1 and u2 give outputs y1 and y2 then
u1 + u2 gives output y1 + y2
Systems in nature are linear at least for small deviations
(Loosely speaking) ‘nonlinearities are like dominant second-order
effects’
When first order effect is zero, then nonlinearity cannot be
ignored
An intuition gathered from (simplified) linear model helps
analyzing nonlinear systems
Belur, CC group, EE Control: feedback/open-loop 4/27
Why control?
We want tracking: output should ‘track’ a given profile, give
input suitably
Regulation: temperature regulation, market/exchange rate
regulation
Policy ≡ control
Automatic control: input is given as some law based on output
value
For temperature control: heat/cold fluid input depends on
thermostat reading
Belur, CC group, EE Control: feedback/open-loop 5/27
feedback
Concern of ‘over-correction’: can cause instability
Time-delays in the system: input’s influence on output visible
only after some time
Physical systems are governed by differential equations
Belur, CC group, EE Control: feedback/open-loop 6/27
Differential equation, transfer function
Consider function u(t) and y(t), and suppose
d d
u = 7y and u+ u = 7y − y
dt dt
In one case, y = 17 u. In other case?
Belur, CC group, EE Control: feedback/open-loop 7/27
Differential equation, transfer function
Consider function u(t) and y(t), and suppose
d d
u = 7y and u+ u = 7y − y
dt dt
In one case, y = 17 u. In other case? ‘dynamic’ relation
d
In fact, suppose input u is zero. Then dt y = 7y: unstable
7t
If initial value of y(0) is 3, then y(t) = 3e
We take ‘Laplace transform’ of above differential equation and
Belur, CC group, EE Control: feedback/open-loop 7/27
Differential equation, transfer function
Consider function u(t) and y(t), and suppose
d d
u = 7y and u+ u = 7y − y
dt dt
In one case, y = 17 u. In other case? ‘dynamic’ relation
d
In fact, suppose input u is zero. Then dt y = 7y: unstable
7t
If initial value of y(0) is 3, then y(t) = 3e
We take ‘Laplace transform’ of above differential equation and
d
u(t) → U (s) and y(t) → Y (s) gives, dt →s
Y (s) s+1
U (s) = 7−s
For the system with input u and output y, the ‘transfer function’ is
s+1
7−s .
Belur, CC group, EE Control: feedback/open-loop 7/27
Transfer function
Only for linear, time-invariant differential systems:
Time-invariant: the input and output variables can depend on
time, but
Belur, CC group, EE Control: feedback/open-loop 8/27
Transfer function
Only for linear, time-invariant differential systems:
Time-invariant: the input and output variables can depend on
time, but
the laws relating input and output (and their derivatives) do not
depend on time explicitly
Same experiment is repeated/carried-out tomorrow, same results
‘Differential’: systems governed by differential equations: G(s)
Transfer function G(z): discrete time systems: difference
equations
Today: transfer function G(s): continuous time LTI systems
d
(Convention: G(s): continuous time, s → dt
G(z): discrete time, z → ‘forward shift map’: non-causal
Belur, CC group, EE Control: feedback/open-loop 8/27
Why automatic control?
Automatic-control ≡ feedback control
With open-loop: even if system is ‘unstable’, can control output
y by suitably choosing input u provided
System transfer function is known accurately, and
‘Initial condition’ (meaning y and some number of derivatives)
are known precisely
If not known precisely, then cannot guarantee good control of
output y
In practice, parameters are not known precisely: we want
‘robustness’
Robust design ≡ We design for ‘nominal’ values,
but same design works for ‘nearby’ other values also
Belur, CC group, EE Control: feedback/open-loop 9/27
Open-loop control
Predecide what input u? will achieve required output y ? .
No need to ‘sense’ actual output y (no sensors required)
Not reasonable in practice. Traffic light timings require
re-adjustment
Not possible if system is unstable
Often sub-optimal
Belur, CC group, EE Control: feedback/open-loop 10/27
Stability
Various (related) notions:
Output y goes to zero, when input u goes to zero
Output y remains bounded, when input u is bounded
Output y is bounded, when input is ‘identically’ zero (for any
initial condition)
Output y goes to zero, when input is identically zero (for any
initial condition)
Stability conclusion can change depending on input/output
classification of variables
Belur, CC group, EE Control: feedback/open-loop 11/27
Feedback control
Examples:
Automatic temperature regulation (in spite of disturbances:
external heat)
Servo-motor control: remove off-set
Traffic light control, based on actual vehicle flow data (rather
than preset-timings)
More generally, queue management: internet routers
Market-regulation (inflation, exchange rate), using bank’s
‘cash-reserve-ratio’, interest-rate
Satellite control, robotics
Belur, CC group, EE Control: feedback/open-loop 12/27
Why feedback control?
Feedback control is required for
To achieve stability: closed-loop-stability
To make y track u even better
Have less steady state error (limt→∞ y(t) − u(t))
Faster transients: output y ‘tracks’ u fast
Optimization: least energy spent in input u, least ‘total’
deviation of output y
Belur, CC group, EE Control: feedback/open-loop 13/27
Step input and step response
Belur, CC group, EE Control: feedback/open-loop 14/27
Desired step-response
Stability: output settles to some value
Ideally, output value = input value (at steady state, at least)
Output responds ‘quickly’ to input (not ‘sluggishly’)
Basic principle:
Compare output value with desired value =: error e(t)
Feed error back: large-error : more corrective signal c(t)
Make corrective signal ‘proportional’ to error: P-controller
c(t) = ke(t): design k
d
c = kP e + kD dt e: PD-controller, good for quickening
d
R
c = kP e + kD dt e + kI e: PID-controller
(kI for making steady state error = 0
All this: at this point: thumb-rules: can cause instability
Top priority: stability of the closed loop
Belur, CC group, EE Control: feedback/open-loop 15/27
High gain feedback
To make output-error zero ‘quickly’: use high gain
High-gain can result in instability: especially for delayed systems
Designing kP , kD and kI values requires intuition and transfer
function knowledge
Belur, CC group, EE Control: feedback/open-loop 16/27
Transfer function G(s)
SISO ≡ Single input, single output
G(s) = n(s) s+1
d(s) = 7−s
Roots of denominator d(s) ≡ poles of the system/transfer
function
Roots of numerator n(s) ≡ zeros of the system
DC gain: put s = 0, and evaluate G
Poles, zeros and DC gain give transfer function (SISO)
Belur, CC group, EE Control: feedback/open-loop 17/27
Stability
For stability, poles should be on the left-half-complex plane
All roots of the denominator should have real part negative
Real-part zero: ‘marginal’ stability
Real part of some pole: instability
Belur, CC group, EE Control: feedback/open-loop 18/27
Transfer function
Usually ‘proper’ transfer function: numerator degree 6
denominator degree
More poles than zeros
‘Smoothening’ : ‘relative degree’ : den-degree − num-degree
If input is discontinuous, output gets ‘smoothened’ if relative
degree is high
1
G(s) = 2 : an integrator: output is the integral of the input
G(s) = s: differentiator: not non-causal (for continuous time):
tachometer
(Misconception is that improper transfer functions are
non-causal)
Belur, CC group, EE Control: feedback/open-loop 19/27
Complex plane
Belur, CC group, EE Control: feedback/open-loop 20/27
Transfer function
G(s) indicates ‘amount of pure scaling’ for exponential inputs
If input u(t) = e−2t , then output y(t) = G(−2)e−2t
If input u(t) = sin 3t, then output
y(t) = |G(3j)| sin(3t + ∠(G(3j)))
Output has phase-lag (or lead) for sinusoidal inputs: lag =
∠G(3j)
Amplification of sinusoidal input = |G(3j)|
‘Frequency domain analysis’
Belur, CC group, EE Control: feedback/open-loop 21/27
Bode plot
Magnitude plot: plot |G(jω)| versus frequency ω: both in log-scales
Similarly phase-plot
Belur, CC group, EE Control: feedback/open-loop 22/27
Bode plot
Magnitude plot: plot |G(jω)| versus frequency ω: both in log-scales
Similarly phase-plot
Frequency domain analysis
Belur, CC group, EE Control: feedback/open-loop 22/27
Instability
If open-loop is unstable, then closed loop can be made stable
using feedback
Sometimes using just P-controller: constant gain feedback
Sometimes, derivatives and integrals of output: dynamic
controller
Further control objectives: optimal control: time-optimality,
fuel-optimality, etc.
Belur, CC group, EE Control: feedback/open-loop 23/27
Inner and outer loop
In many applications: a fast inner-loop and a slow outer-loop is
designed separately
For example: optimal trajectory tracking: satellite launch vehicle
trajectory to space
Belur, CC group, EE Control: feedback/open-loop 24/27
Trade-offs
Belur, CC group, EE Control: feedback/open-loop 25/27
Controller implementation
Controllers are of-late implemented digitally. (Earlier analog
controllers)
Controllers are designed using more sophisticated packages:
Scilab, Matlab
Plants (systems to be controlled) often MIMO: intuition less
helpful
Packages come with their limitations (properness, etc.)
Real time adaptability
Computational intensity: distributed control
Belur, CC group, EE Control: feedback/open-loop 26/27
Trade-offs: theoretical and practical
Noise added at separate points in the loop: cannot achieve
disturbance attenuation due to both noises
Output regulation versus input energy usage
Time-optimality versus input energy usage
Accurate system parameter knowledge versus robustness
Controller being robust and controller having to be implemented
accurately
Belur, CC group, EE Control: feedback/open-loop 27/27