Systems Analysis and Control
Matthew M. Peet
Illinois Institute of Technology
Lecture 2: Systems Defined by Differential Equations
Introduction
In this Lecture, you will learn:
How to use differential equations to define a System.
• Identify the inputs and outputs
• Model the dynamics
I Newton’s Laws
I Voltage Laws
• Put in First-Order (State-Space) Form
Later, we’ll discuss linearization and the Laplace transform.
M. Peet Lecture 2: Control Systems 2 / 30
Lets Start with an Example
Cruise Control
Plant:
• Input: Throttle Position, θe .
• Output: Real Velocity, vr .
• Dynamics: A simple proportional
gain (no dynamics).
vr = 10 · θe
The gain factor is 10mph/◦
M. Peet Lecture 2: Control Systems 3 / 30
Cruise Control
Open Loop Control
First lets start with open loop control
Gas
Control Engine
Desired System
Speed
Speed
Actuator: Throttle
Controller:
• Input: Desired Velocity, vd .
• Output: Throttle, θe .
Because the plant is simple, we will use a simple controller based on our
understanding of the plant.
1
θe = vd
10
M. Peet Lecture 2: Control Systems 4 / 30
Cruise Control
Closed Loop Control
Now lets try using closed loop control
- Gas
Control Engine
Desired System
Speed
Speed
Actuator: Throttle
Sensor: Real Velocity
Controller:
• Input: Error in Velocity, ev = vr − vd .
• Output: Throttle, θe .
Our controller is static and uses no knowledge of the plant. It simply amplifies
the error signal by a factor k. Any positive value of k will work.
θe = −k · ev = −k · (vr − vd )
M. Peet Lecture 2: Control Systems 5 / 30
Closed Loop vs. Open Loop
Open Loop: Two relations:
1
vr = 10 · θe and θe = vd
10
we have
1
vr = 10v d = vd
10
So there is no error in the open-loop control
Closed Loop: We also have two relations:
vr = 10 · θe and θe = −k (vr − vd )
Combining these, we get vr = −10 · k(vr − vd ).
Solving for velocity, vr , we get for k = 10,
10 · k 100
vr = vd = vd = .99vd .
1 + 10 · k 101
M. Peet Lecture 2: Control Systems 6 / 30
Impact of Error and Disturbances
Comparison:
• Open Loop: No final error
• Closed Loop: Small final error
I Error can be made arbitrarily by letting k → ∞, which makes
10 · k
vr = vd → vd .
1 + 10 · k
I Error can be eliminated entirely using a dynamic controller.
Question: What happens when things aren’t perfect?
Problems:
• Modeling Error: Suppose our model is off by 10%, so that
vr = 11 · θe
• Disturbance: An Incline, id will cause a decrease in throttle power of .5/◦ .
∆θe = −.5 · id
M. Peet Lecture 2: Control Systems 7 / 30
Impact of Error and Disturbances
Open Loop
Let vd = 50mph, id = −1◦ .
Recalculate for the open loop case:
Incline
.5
θe
Control 11
System
vd vr
vr = 11(θe − .5 · id )
1
θe = vd = 5
10
we have
vr = 11(5 + .5) = 60.5mph
Which is NOT ACCEPTABLE!!!.
M. Peet Lecture 2: Control Systems 8 / 30
Impact of Error and Disturbances
Closed Loop
Recalculate for the closed loop case:
• Real Plant with Disturbance: vr = 11 · (θe − .5 · id )
• Controller: θe = −k (vr − vd ) = −k(vr − 50)
Combine expressions and solve for vr !!!
vr = 11(−kvr + 50k + .5) = −11kvr + 11 · 50 · k + 5.5
Solving for vr yields
11k + .11 110.11
vr = 50 = 50 = .991 ∗ 50 = 49.6mph
1 + 11k 111
Better than without disturbance!!!!
Note: Solving for vr is called Closing the Loop. We will be doing this a lot in
the section on block diagrams.
M. Peet Lecture 2: Control Systems 9 / 30
A Brief Review of Modeling
The previous model of an engine was a static model.
In this class, all models will be either
• static.
• differential equations.
The modeling of physical systems using differential
equations was introduced by Newton in 1684.
• I expect you to know how to derive Differential
Equation models.
• Our treatment will be brief.
The first differential equation model was for a point
mass.
x(t)
Newton’s Second Law: F(t)
m
d2
x(t) = F/m
dt2
M. Peet Lecture 2: Control Systems 10 / 30
Review: Modeling
Differential Equations
The motion of dynamical systems can usually be specified using ordinary
differential equations. e.g.
dx
(t) = f (x(t), u(t))
dt
y(t) = g(x(t), u(t))
Where
• This is a first-order differential equation
• u(t) is the input
• y(t) is the output
• x is a state variable.
I position, heading, velocity, etc.
• f , g are possibly nonlinear functions.
Note: Often, the equation is higher order.
M. Peet Lecture 2: Control Systems 11 / 30
Review: Equations of Motion
Linear Equations
Usually, our equations of motion will be linear. e.g.
ẋ = ax(t)
where
• a is a constant scalar.
• in this case f (x) = ax.
Linear equations are preferable because
• The motion of linear systems is much easier to visualize.
• Stability of linear systems is easy to determine
I ẋ = ax is stable if a < 0 and unstable if a ≥ 0.
M. Peet Lecture 2: Control Systems 12 / 30
Review: Equations of Motion
Higher Orders or Multiple Variables
Most often, the dynamics will either
Be coupled with another variable:
ẋ = ax + bz
ż = cx + dz
where
• The motion of x affects the motion of y and vice-versa.
Be higher order:
ẍ = aẋ + bx
where
• Commonly obtained from Newton’s Second law.
F = ma
or, in other words
ẍ = F/m.
M. Peet Lecture 2: Control Systems 13 / 30
Dynamic Model: Suspension System
Mass-Spring Model
We wish to study the motion of the vehicle subject to disturbances.
• Model the car as a solid mass
• Control the vertical motion of the car (x(t))
Inputs: Force, f (t).
Outputs: Displacement, y(t) = x(t).
Definition 1.
A system with one input and one output is single-input, single-output (SISO).
A system with more than one input or more than one output is multi-input
multi-output (MIMO)
M. Peet Lecture 2: Control Systems 14 / 30
Dynamic Model: Suspension System
Mass-Spring Model
Plant Dynamics: Equations of Motion
• Spring Force: Opposes motion in x with spring constant K.
Fs (t) = −Kx(t)
• Damper Force: Opposes motion in ẋ with damping coefficient fv
Fd (t) = −fv ẋ(t)
• Newton’s Second Law:
mẍ(t) = Fs (t) + Fd (t) + f (t)
System Model:
K fv 1
ẍ(t) = − x(t) − ẋ(t) + f (t)
m m m
y(t) = x(t)
M. Peet Lecture 2: Control Systems 15 / 30
Standard Forms
Frequency Domain
Once we have our dynamic model
K fv 1
ẍ(t) = − x(t) − ẋ(t) + f (t) Differential Equations
m m m
y(t) = x(t) Output Equation
This model can be expressed in two standard forms
• Transfer Function
• State-Space
We will discuss these in more depth soon. For now:
Transfer Function: Apply the Laplace Transform to both equations and solve for
the output.
K fv 1
s2 x(s) = − x(s) − sx(s) + f (s) Differential Equations
m m m
y(s) = x(s) Output Equation
which yields
1
y(s) = u(s)
ms2 + fv s + K
M. Peet Lecture 2: Control Systems 16 / 30
Suspension System with Wheel Dynamics
More Detailed Model
x1
Now, we add the dynamics of the wheel. mc
There are two outputs:
Outputs: x2
• Vehicle Position, x1 mw
• Wheel Position, x2
u
Our input is the position of the surface
of the road.
Inputs:
• Road Surface, u
M. Peet Lecture 2: Control Systems 17 / 30
Suspension Model
This time we write the dynamics of both the wheel and the car.
x1
mc
x2
mw
Car Dynamics: Equations of Motion
• Spring 1 Force on Car: Fs1,c (t) = −K1 (x1 (t) − x2 (t))
• Damper Force on Car: Fd,c (t) = −c(ẋ1 (t) − ẋ2 (t))
• Newton’s Second Law:
mc ẍ1 (t) = Fs1,c (t) + Fd,c (t)
= −K1 (x1 (t) − x2 (t)) − c(ẋ1 (t) − ẋ2 (t))
M. Peet Lecture 2: Control Systems 18 / 30
Suspension Model
x1
mc
x2
mw
Wheel Dynamics: Equations of Motion
• Spring 1 Force on Wheel: Fs1,w (t) = K1 (x1 (t) − x2 (t))
• Spring 2 Force on Wheel: Fs2,w (t) = −K2 (x2 (t) − u(t))
• Damper Force on Wheel: Fd,w (t) = c(ẋ1 (t) − ẋ2 (t))
• Newton’s Second Law:
mw ẍ2 (t) = Fs1,w (t) + Fs2,w (t) + Fd,w (t)
= K1 (x1 (t) − x2 (t) − K2 (x2 (t) − u(t))) + c(ẋ1 (t) − ẋ2 (t))
M. Peet Lecture 2: Control Systems 19 / 30
Equations of Motion
Combining the dynamics, we get the coupled system dynamics.
x1
mc
x2
mw
mw ẍ2 (t) = K1 (x1 (t) − x2 (t)) − K2 (x2 (t) − u(t)) + c(ẋ1 (t) − ẋ2 (t))
mc ẍ1 (t) = −K1 (x1 (t) − x2 (t)) − c(ẋ1 (t) − ẋ2 (t))
x1 (t)
y(t) =
x2 (t)
This is quite complicated.
• To simplify, we would like to use a Standard Form.
M. Peet Lecture 2: Control Systems 20 / 30
Other Sources of Models
Angular Momentum
Newton’s Second Law Applied to Rigid Bodies
The rate of change of angular
momentum is given by
X
Mi = Iα = I θ̈
• α = θ̈ is the angular acceleration in
inertial coordinates.
• I is the moment of inertia, which
varies by object.
• Mi are the moments applied to the
body.
M. Peet Lecture 2: Control Systems 21 / 30
Other Sources of Models
Voltage Laws
Kirchhoff’s Current Law (KCL):
Current is conserved at each junction
X
ik = 0
Kirchhoff’s Voltage Law (KVL): Net
Voltage change around any loop is zero.
X
Vk = 0
k
These are combined with standard voltage laws such as voltage drop across a
resister, inductor and capacitor:
d 1 d 1
Vr (t) = Rir (t) iL (t) = VL (t) Vc (t) = ic (t)
dt L dt C
M. Peet Lecture 2: Control Systems 22 / 30
Review: Equations of Motion
State-Space
State-Space is a way of writing first order differential equation using matrices.
We write
~x˙ = A~x
where ~x is a vector and A ∈ Rn×n is a square matrix.
Example:
x −1 0 1 x1
d 1
x2 = 2 0 0 x2
dt
x3 0 −1 1 x3
Is equivalent to writing the three differential equations
ẋ1 = −x1 + x3
ẋ2 = 2x1
ẋ3 = −x2 + x3
Writing equations in state-space has many advantages
M. Peet Lecture 2: Control Systems 23 / 30
Review: Equations of Motion
Multiple Variables and State-Space
Consider the system
ẋ = ax + by
ẏ = cx + dy
When we have multiple coupled equations, the best option is: Convert to
State-Space:
d x a b x
=
dt y c d y
Which is easily expressed as
ẋ = Ax
where
• x is a vector.
• A is a matrix.
The equation describes the motion of the vector.
M. Peet Lecture 2: Control Systems 24 / 30
Standard Forms: State-Space Form
Definition 2.
State-Space Form is a convenient way of representing multivariate or linear
MIMO systems using 4 matrices.
ẋ(t) = Ax(t) + Bu(t)
y(t) = Cx(t) + Du(t)
• u is the vector of Inputs.
• y is the vector of Outputs.
• x is the State.
u ∈ Rm , y ∈ Rp , and x ∈ Rn can be vectors of any dimension. However, the
matrices must be the right size:
A ∈ Rn×n B ∈ Rn×m
C ∈ Rp×n D ∈ Rp×m
• u ∈ Rn means u is a real vector of length n.
• C ∈ Rp×n means C is a matrix with p rows and n columns.
M. Peet Lecture 2: Control Systems 25 / 30
Review: Equations of Motion
Reducing Higher Order Dynamics
When we have higher order dynamics,
...
x (t) = aẋ(t) + bx(t) + u(t)
y(t) = x(t) + u(t)
we can still use state-space form by
• Introducing new variables.
Procedure:
• Define a new variable for every Higher Order Term (HOT) except for the
the highest.
I e.g. Let x = x, x = ẋ and x = ẍ.
1 2 3
• Add a new first order differential equation for each new variable.
I e.g. ẋ1 = x2 and ẋ2 = x3
• Then put in state-space form.
Finally we have for our example
ẋ1 (t) = x2 (t)
ẋ2 (t) = x3 (t)
ẋ3 (t) = ax2 (t) + bx1 (t) + u(t)
M. Peet Lecture 2: Control Systems 26 / 30
Review: Equations of Motion
Reducing Higher Order Dynamics
Using our first-order equations:
ẋ1 (t) = x2 (t); ẋ2 (t) = x3 (t)
ẋ3 (t) = ax2 (t) + bx1 (t) + u(t) y(t) = x1 (t) + u(t)
We construct the matrix representation:
x 0 1 0 x1 0
d 1
ẋ(t) = x2 (t) = 0 0 1 x2 (t) + 0 u(t)
dt
x3 b a 0 x3 1
x1
y(t) = 1 0 0 x2 (t) + 1 u(t)
x3
So that
0 1 0 0
A = 0 0 1 B = 0
b a 0 1
C= 1 0 0 D= 1
M. Peet Lecture 2: Control Systems 27 / 30
Constructing State-Space Systems: Suspension System
Recall the dynamics:
mw ẍ2 (t) = K1 (x1 (t) − x2 (t)) − K2 (x2 (t) − u(t)) + c(ẋ1 (t) − ẋ2 (t))
mc ẍ1 (t) = −K1 (x1 (t) − x2 (t)) − c(ẋ1 (t) − ẋ2 (t))
x (t)
y(t) = 1
x2 (t)
Define the new variables zi
z1 = x1 z2 = ẋ1 z3 = x2 z4 = ẋ2
z (t)
Which yields the following set of equations: y(t) = 1 ,
z3 (t)
ż1 (t) = z2 (t)
K1 c
ż2 (t) = − (z1 (t) − z3 (t)) − (z2 (t) − z4 (t))
mc mc
ż3 (t) = z4 (t)
K1 K2 c
ż4 (t) = (z1 (t) − z3 (t)) − (z3 (t) − u(t))) + (z2 (t) − z4 (t))
mw mw mw
M. Peet Lecture 2: Control Systems 28 / 30
Constructing State-Space Systems
ż1 (t) = z2 (t)
K1 c K1 c
ż2 (t) = − z1 (t) − z2 (t) + z3 (t) + z4 (t)
mc mc mc mc
ż3 (t) = z4 (t)
K1 c K1 K2 c K2
ż4 (t) = z1 (t) + z2 (t) − + z3 (t) − z4 (t) − u(t)
mw mw mw mw mw mw
z (t)
y(t) = 1
z3 (t)
z1 0 1 0 0 z1
0
K1 K1
d z2 − − mcc c
z2 (t) + 0 u(t)
mc mc mc
(t) = 0 0 0 1 0
dt z3 z3
K1 c K1 K2 K2
z4 m w mw − mw +m w
− mcw z4 −m w
z1
1 0 0 0
z2 (t) + 0 u(t)
y(t) =
0 0 1 0 z3 0
z4
M. Peet Lecture 2: Control Systems 29 / 30
Summary
What have we learned today?
A Static Model of Cruise-Control
• Simple static model and Control
• Open Loop Control
• Closed Loop Control
• Benefits of Feedback
Dynamic Models
• Including Inputs and Outputs
• Using Newton’s Laws
• MIMO and SISO systems
• Other sources of models (Kirchhoff’s Laws)
State-Space
• State-Space Form
M. Peet Lecture 2: Control Systems 30 / 30