0% found this document useful (0 votes)
36 views

Control Systems Lab (SC4070) : Georg Schitter

The document provides an overview of control design methods for both continuous and discrete-time systems. It discusses several linear control design techniques, such as state feedback, observers, PID control, and linear quadratic control. Nonlinear control techniques like feedback linearization and sliding mode control are also introduced. The document explains two approaches for designing computer-controlled systems and discusses converting between continuous and discrete models. It provides examples of selecting sampling periods and describes common MATLAB commands for control design.

Uploaded by

makroum
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

Control Systems Lab (SC4070) : Georg Schitter

The document provides an overview of control design methods for both continuous and discrete-time systems. It discusses several linear control design techniques, such as state feedback, observers, PID control, and linear quadratic control. Nonlinear control techniques like feedback linearization and sliding mode control are also introduced. The document explains two approaches for designing computer-controlled systems and discusses converting between continuous and discrete models. It provides examples of selecting sampling periods and describes common MATLAB commands for control design.

Uploaded by

makroum
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

Control Systems Lab (SC4070)

Lecture 3, February 08, 2010

Georg Schitter
Delft Center for Systems and Control
Faculty of Mechanical Engineering
Delft University of Technology
The Netherlands
e-mail: [email protected]
http://www.dcsc.tudelft.nl/schitter
tel: 015-27 86152

70

Lecture outline
Overview of control design methods.
Continuous vs. discrete time design.
State-feedback control, observers.
PID control.

71

Linear control design methods


P, PD, PI, PID, lead-lag control (classical)
state-feedback, output feedback (modern)
linear quadratic control (optimal)
model predictive control (optimal, finite-horizon)
robust control (H, synthesis)

72

Nonlinear control techniques


feedback linearization
sliding-mode control
model predictive control
passivity-based control
knowledge-based control
adaptive control

73

Computer-controlled system: approach 1

Clock

u(t)
A-D

Algorithm

D-A

y(t)
System

Design a continuous-time controller, make sure that the computer implementation approximates the continuous-time controller as well as possible.
74

Computer-controlled system: approach 2

Clock

u(t)
A-D

Algorithm

D-A

y(t)
System

Describe the system from the computers viewpoint and design directly
a discrete-time controller.

75

System from the computers viewpoint

Clock

u(t)

{u(t k )}
D-A

y(t)
System

{y(t k )}
A-D

Describe system (including converters) at sampling instants only.

76

Zero-order hold

t0

t1

t2

t3

u(t) = u(tk ),

t4

tk t < tk+1

Usually tk+1 tk = const = h


77

t 5 Time

Zero-order hold sampling of systems


Continuous-time system:
dx(t)
= Ax(t) + Bu(t)
dt
y(t) = Cx(t) + Du(t)
Discrete-time system:
x(k + 1) = x(k) + u(k)
y(k) = Cx(k) + Du(k)
with:
=e

Ah

, =

eAsdsB,

78

h . . . sampling period

MATLAB commands

G = ss(A,B,C,D);

% LTI continuous-time state-space model

h = 0.1;

% sampling period [s]

H = c2d(G,h);

% convert to discrete time (ZOH)

G = d2c(H);

% convert to continuous time (ZOH)

79

Selection of sampling period


Number of samples per rise time: Nr = Thr 4 10
(a) 1
1
0

a) Nr = 1

0
0

(b) 1
1

b) Nr = 2

0
1

0
0

(c)

1
1

c) Nr = 4

0
1

0
0

(d) 1
1

d) Nr = 8

0
1

0
0

5
Time

5
Time

80

Second order system


Nr = Thr 4 10 corresponds to 0h 0.2 0.6
(a)

(b)
1

0
0

(c)

(d)
1

0
0

5
Time

Time

a) h = 0.125 (0h = 0.23), b) h = 0.250 (0h = 0.46),


c) h = 0.500 (0h = 0.92), d) h = 1.000 (0h = 1.83)
81

State feedback: basic problem formulation


Model : x(k + 1) = x(k) + u(k)
Linear controller :
u(k) = Lx(k)
Design parameters: closed-loop poles, sampling interval
Evaluation: compare x(k) and u(k) with specifications
(trade-off between control magnitude and speed of response)

82

Ackermanns formula
Compute L such that ( L) has a desired characteristic polynomial
P(z)
L = (0

...

1)Wc1P()

where P() is the desired characteristic polynomial in

in Matlab:
L = acker(Phi,Gamma,Po)

(SISO, numeric problems)

L = place(Phi,Gamma,Po)

(MISO, more robust)

83

Choice of desired poles


Using the continuous-time counterpart (2nd order)
s2 + 2s + 2
gives z2 + p1z + p2 with

 p
p1 = 2eh cos h 1 2
p2 = e2h

in Matlab use c2d !

84

Linear quadratic control


N

J=

T
T
x
(k)Qx(k)
+
u
(k)Ru(k)

k=1

Q, R are design parameters (weights)


A state feedback matrix L that gives a minimal J can be found by solving
the Riccati equation.
Similar to pole placement, but no need to define poles!
In Matlab: dlqr(Phi,Gamma,Q,R)
In Matlab: dlqry(Phi,Gamma,C,D,Q,R)

85

% state weighting
% output weighting

State estimation: observers


x(k + 1) = x(k) + u(k)
y(k) = Cx(k)
Input and output available, reconstruct the state:
Direct calculation (requires differentiation)
Luenberger observer (model-based)
Kalman filter (optimal in presence of noise)

the terms observer, estimator, filter are in this context used synonymously
86

Observer block diagram


y(k)

K
-

u(k)

x^(k+1)

1
z

y^(k)

x(k)
C

x(k)

87

Output feedback (observer + state feedback)



x(k
+ 1) = x(k)
+ u(k) + K y(k) Cx(k)

u(k) = Lx(k)

88

Poles of the closed-loop system


x(k + 1) = x(k) + u(k)
e(k + 1) = ( KC)e(k)
u(k) = L(x(k) e(k))

x(k + 1) L L x(k)

e(k + 1)
0
KC
e(k)
Process poles: Ar (z) = det(zI + L)
Observer poles: Ao(z) = det(zI + KC)
Separation principle
89

Servo case (two-degree-of-freedom)


Goal: respond to a reference signal in a specified way.
Replace u(k) = Lx(k)
by: u(k) = Lx(k)
+ Lcuc(k)

uc
x

Lc

-L

Observer

90

Process

Servo case (contd)


Closed-loop system:
x(k + 1) = ( L)x(k) + Le(k) + Lcuc(k)
e(k + 1) = ( KC)e(k)
y(k) = Cx(k)
Pulse-transfer function from uc to y:
B(z)
Hcl (z) = C(zI + L) Lc = Lc
Am(z)
1

In Matlab: Lc = desired gain/dcgain(feedback(G,L))

91

Application to a nonlinear system


y0
-

Reference

y0

u0
+

Feedforward
controller

+
+

Nonlinear
system

Feedback
controller

Linear controllers must use signals u, y, x !

92

PID control
The textbook version


Z t
1
de(t)
u(t) = K e(t) +
e(s)ds + Td
Ti
dt

More realistic PID controller:




1
sTd
U(s) = K bUc(s) Y (s) + (Uc(s) Y (s))
Y (s)
sTi
1 + sTd /N

93

Discrete-time PID
P-term: P(k) = K(buc(k) y(k))
I-term: I(k + 1) = I(k) + TKi e(k)
Td
dN
D-term: D(k) = Td +Nh
D(k 1) TKT
(y(k) y(k 1))
d +Nh

u(k) = P(k) + I(k) + D(k)

94

PID tuning
Pole placement
Root locus
Bode diagram
Tuning rules (Ziegler-Nichols, tuning)

G(s) = e

t0s

Kp
(s + 1)

t0
Kc =
, Ti = , Td =
K p( + t0)
2

95

Cascade control (example: inverted pendulum

Reference

Position
controller

Angle
controller

96

Inverted
pendulum

Model-based adaptive control

Controller

Process

Design parameters

Linear
model

ym

Adaptation

97

You might also like