Documente Academic
Documente Profesional
Documente Cultură
State-Space Systems
• What are state-space models?
• Why should we use them?
• How are they related to the transfer functions used in classical control design
and how do we develop a state-space model?
• What are the basic properties of a state-space model, and how do we analyze
these?
Cite as: Jonathan How, course materials for 16.31 Feedback Control Systems, Fall 2007. MIT
OpenCourseWare (http://ocw.mit.edu), Massachusetts Institute of Technology. Downloaded on
[DD Month YYYY].
Fall 2007 16.31 6–1
SS Introduction
• State space model: a representation of the dynamics of an N th
order system as a first order differential equation in an N -vector,
which is called the state.
– Convert the N th order differential equation that governs the
dynamics into N first-order differential equations
Basic Definitions
• Linearity – What is a linear dynamical system? A system G is
linear with respect to its inputs and output
u(t) → G(s) → y(t)
iff superposition holds:
G(α1u1 + α2u2) = α1Gu1 + α2Gu2
So if y1 is the response of G to u1 (y1 = Gu1), and y2 is the
response of G to u2 (y2 = Gu2), then the response to α1u1 +α2u2
is α1y1 + α2y2
Linearization
• Often have a nonlinear set of dynamics given by
ẋ = f (x, u)
where x is once gain the state vector, u is the vector of inputs, and
f (·, ·) is a nonlinear vector function that describes the dynamics
• Example: simple spring. With a mass at the end of a linear spring
(rate k) we have the dynamics
mẍ = −kx
but with a “leaf spring” as is used on car suspensions, we have a
nonlinear spring – the more it deflects, the stiffer it gets. Good
model now is
mẍ = −(k1x + k2x3)
which is a “cubic spring”.
– Restoring force depends on the deflection x in a nonlinear way.
d 0
• Since dt xi = fi(x0, u0), we thus have that
� �
d ∂fi �� ∂fi ��
(δxi) ≈ δx + δu
dt ∂x �0 ∂u �0
• Combining for all n state equations, gives (note that we also set
“≈” → “=”) that
⎡ � ⎤ ⎡ � ⎤
∂f1 �
� ∂f1 ��
⎢ ∂x � ⎥ ⎢ ∂u � ⎥
⎢ 0
� ⎥ ⎥ ⎢ �0 ⎥
⎢ ∂f2 �� ⎥ ⎢ ∂f2 �� ⎥
⎢ ⎢ ⎥
d ⎢
⎢ ∂x �0 ⎥
⎥ ⎢
⎢ ∂u �0 ⎥
⎥
δx = ⎢ ⎥ δx + ⎢ ⎥ δu
dt ⎢ ... ⎥ ⎢ ... ⎥
⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥
⎢ � ⎥ ⎢ � ⎥
⎣ ∂fn � ⎦ ⎣ ∂fn � ⎦
� �
∂x 0� ∂u �0
= A(t)δx + B(t)δu
where
⎡ ∂f1 ∂f1 ∂f1
⎤ ⎡ ∂f1 ∂f1 ∂f1
⎤
∂x1 ∂x2 ··· ∂xn ∂u1 ∂u2 ··· ∂um
⎢ ⎥ ⎢ ⎥
⎢ ∂f2 ∂f2 ∂f2 ⎥ ⎢ ∂f2 ∂f2 ∂f2 ⎥
⎢
∂x1 ∂x2 ··· ∂xn
⎥ ⎢
∂u1 ∂u2 ··· ∂um
⎥
A(t) ≡ ⎢
⎢
⎥
⎥ and B(t) ≡ ⎢
⎢
⎥
⎥
⎢ ... ⎥ ⎢ ... ⎥
⎣ ⎦ ⎣ ⎦
∂fn ∂fn ∂fn ∂fn ∂fn ∂fn
∂x1 ∂x2 ··· ∂xn ∂u1 ∂u2 ··· ∂um
0 0
Linearization Example
• Consider the nonlinear spring with (set m = 1)
ÿ = k1y + k2y 3
gives us the nonlinear model (x1 = y and x2 = ẏ)
� � � �
d y ẏ
= ⇒ ẋ = f (x)
dt ẏ k1y + k2y 3
• Find the equilibrium points and then make a state space model
1.5 0.1
1.45 0.08
1.4 0.06
y
0.04
1.35
0.02
1.3
0 5 10 15 20 25 30 35
Time
dy/dt
0.1
−0.02
0.05
−0.04
dy/dt
0 −0.06
−0.05 −0.08
−0.1 −0.1
0 5 10 15 20 25 30 35 1.34 1.36 1.38 1.4 1.42 1.44 1.46 1.48 1.5
Time y
Figure 2: Nonlinear response (k1 = 1, k2 = −.5). The figure on the right shows
the oscillation about the equilibrium point.
1 �
⇒ F = �˙vcB + BI ω
� × �vc Transport Thm.
m
�˙ B + BI ω
⇒ T� = H � ×H �
BI
• Instantaneous mapping of �vc and ω
� into body frame is given by
BI
� = P�i + Q�j + R�k
ω �vc = U�i + V �j + W �k
⎤ ⎡ ⎤ ⎡
P U
⇒ BI ωB = ⎣ Q ⎦ ⇒ (vc)B = ⎣ V ⎦
R W
⎡ ⎤ ⎡ ⎤ ⎤⎡ ⎡ ⎤
F U̇ 0 −R Q U
1 ⎣ x⎦
⇒ Fy = ⎣ V̇ ⎦ + ⎣ R 0 −P ⎦ ⎣ V ⎦
m
Fz Ẇ −Q P 0 W
⎡ ⎤
U̇ + QW − RV
= ⎣ V̇ + RU − P W ⎦
Ẇ + P V − QU
• Can now linearize the equations about this flight mode. To pro-
ceed, define
Velocities U0, U = U0 + u ⇒ U̇ = u̇
W0 = 0, W = w ⇒ Ẇ = ẇ
V0 = 0, V =v ⇒ V̇ = v̇
Angular Rates P0 = 0, P =p ⇒ Ṗ = ṗ
Q0 = 0, Q=q ⇒ Q̇ = q̇
R0 = 0, R=r ⇒ Ṙ = ṙ
Angles Θ0, Θ = Θ0 + θ ⇒ Θ̇ = θ̇
Φ0 = 0, Φ=φ ⇒ Φ̇ = φ̇
Ψ0 = 0, Ψ=ψ ⇒ Ψ̇ = ψ̇
1 � 0 �
Fx + ΔFx = U̇ + QW − RV ≈ u̇ + qw − rv
m
≈ u̇
1 � 0 �
F + ΔFy = V̇ + RU − P W ≈ v̇ + r(U0 + u) − pw
m y
≈ v̇ + rU0
1 � 0 �
Fz + ΔFz = Ẇ + P V − QU ≈ ẇ + pv − q(U0 + u)
m
≈ ẇ − qU0
⎤ ⎡⎡ ⎤
ΔFx u̇
1
⇒ ⎣ ΔFy ⎦ = ⎣ v̇ + rU0 ⎦
m
ΔFz ẇ − qU0
• Which gives the linearized dynamics for the aircraft motion about
the steady-state flight condition.
– Need to analyze the perturbations to the forces and moments
to fully understand the linearized dynamics – take 16.61
– Can do same thing for the rotational dynamics.
subplot(211)
plot(T,x(:,1),T1,x1(:,1),’--’);
legend(’Nonlinear’,’Linear’)
ylabel(’X’)
xlabel(’Time’)
subplot(212)
plot(T,x(:,2),T1,x1(:,2),’--’);
legend(’Nonlinear’,’Linear’)
ylabel(’V’)
xlabel(’Time’)