Optimal Control Techniques Overview
Optimal Control Techniques Overview
Richard M. Murray
Control and Dynamical Systems
California Institute of Technology
This manuscript is for review purposes only and may not be reproduced, in whole or in
part, without written consent from the author.
Chapter 2
Optimal Control
x1
x2
x∗
G(x) = 0
∂G
∂x
(normal)
x ∗
G(x) = 0
F (x)
directions to the surface are spanned by ∂Gi /∂x, as shown in Figure 2.2b.
A necessary condition is that the gradient of F is spanned by vectors that
are normal to the constraints, so that the only directions that increase the
cost violate the constraints. We thus require that there exist scalars λi ,
i = 1, . . . , k such that
X ∂Gi k
∂F ∗
(x ) + λi (x∗ ) = 0.
∂x ∂x
i=1
T
If we let G = G1 G2 . . . Gk , then we can write this condition as
∂F ∂G
+ λT =0
∂x ∂x
the term ∂F /∂x is the usual (gradient) optimality condition while the term
∂G/∂x is used to “cancel” the gradient in the directions normal to the
constraint.
An alternative condition can be derived by modifying
P the cost function
to incorporate the constraints. Defining Fe = F + λi Gi , the necessary
2.1. REVIEW: OPTIMIZATION 3
condition becomes
∂ Fe ∗
(x ) = 0.
∂x
The scalars λi are called Lagrange multipliers. Minimizing Fe is equivalent
to the optimization given by
min F (x) + λT G(x) .
x
The variables λ can be regarded as free variables, which implies that we need
to choose x such that G(x) = 0 in order to insure the cost is minimized.
Otherwise, we could choose λ to generate a large cost.
Example 2.1 Two free variables with a constraint
Consider the cost function given by
F (x) = F0 + (x1 − a)2 + (x2 − b)2 ,
which has an unconstrained minimum at x = (a, b). Suppose that we add a
constraint G(x) = 0 given by
G(x) = x1 − x2 .
With this constraint, we seek to optimize F subject to x1 = x2 . Although
in this case we could easily do this by simple substitution, we instead carry
out the more general procedure using Lagrange multipliers.
The augmented cost function is given by
F̃ (x) = F0 + (x1 − a)2 + (x2 − b)2 + λ(x1 − x2 ),
where λ is the Lagrange multiplier for the constraint. Taking the derivative
of F , we have
∂F
= 2x1 − 2a + λ 2x2 − 2b − λ .
∂x
Setting each of these equations equal to zero, we have that at the minimum
x∗1 = a − λ/2, x∗2 = b + λ/2.
The remaining equation that we need is the constraint, which requires that
x∗1 = x∗2 . Using these three equations, we see that λ∗ = a − b and we have
a−b a−b
x∗1 = , x∗2 = .
2 2
To verify the geometric view described above, note that the gradients of
F and G are given by
∂F ∂G
= 2x1 − 2a 2x2 − 2b , = 1 −1 .
∂x ∂x
At the optimal value of the (constrained) optimization, we have
∂F ∂G
= b−a a−b , = 1 −1 .
∂x ∂x
2.2. OPTIMAL CONTROL OF SYSTEMS 4
2.3 Examples
To illustrate the use of the maximum principle, we consider a number of
analytical examples. Additional examples are given in the exercises.
Example 2.2 Scalar linear system
Consider the optimal control problem for the system
ẋ = ax + bu, (2.1)
where x = R is a scalar state, u ∈ R is the input, the initial state x(t0 )
is given, and a, b ∈ R are positive constants. We wish to find a trajectory
2.3. EXAMPLES 8
We can use the form of this expression to explore how our cost function
affects the optimal trajectory. For example, we can ask what happens to
the terminal state x∗ (tf ) and c → ∞. Setting t = tf in equation (2.3) and
taking the limit we find that
lim x∗ (tf ) = 0.
c→∞
∇
Example 2.3 Bang-bang control
The time-optimal control program for a linear system has a particularly
simple solution. Consider a linear system with bounded input
ẋ = Ax + Bu, |u| ≤ 1,
and suppose we wish to minimize the time required to move from an initial
state x0 to a final state xf . Without loss of generality we can take xf = 0.
We choose the cost functions and terminal constraints to satisfy
Z T
J= 1 dt, ψ(x(T )) = x(T ).
0
To find the optimal control, we form the Hamiltonian
H = 1 + λT (Ax + Bu) = 1 + (λT A)x + (λT B)u.
Now apply the conditions in the maximum principle:
∂H
ẋ = = Ax + Bu
∂λ
∂H
−λ̇ = = AT λ
∂x
u = arg min H = −sgn(λT B)
The optimal solution always satisfies this equation (since the maximum prin-
ciple gives a necessary condition) with x(0) = x0 and x(T ) = 0. It follows
that the input is always either +1 or −1, depending on λT B. This type of
control is called “bang-bang” control since the input is always on one of its
limits. If λT (t)B = 0 then the control is not well defined, but if this is only
true for a specific time instant (e.g., λT (t)B crosses zero) then the analysis
still holds. ∇
impractical unless we can solve explicitly for the optimal control and some-
how rewrite the optimal control as a function of the current state in a simple
way. In this section we explore exactly this approach for the linear quadratic
optimal control problem.
We begin with the the finite horizon, linear quadratic regulator (LQR)
problem, given by
ẋ = Ax + Bu, x ∈ Rn , u ∈ Rn , x0 given,
Z
1 T T 1
J˜ = x Qx x + uT Qu u dt + xT (T )P1 x(T ),
2 0 2
where Qx ≥ 0, Qu > 0, P1 ≥ 0 are symmetric, positive (semi-) definite
matrices. Note the factor of 21 is usually left out, but we included it here
to simplify the derivation. (The optimal control will be unchanged if we
multiply the entire cost function by 2.)
To find the optimal control, we apply the maximum principle. We being
by computing the Hamiltonian H:
H = xT Qx x + uT Qu u + λT (Ax + Bu).
Applying the results of Theorem 2.1, we obtain the necessary conditions
∂H T
ẋ = = Ax + Bu x(0) = x0
∂λ
∂H T (2.4)
−λ̇ = = Qx x + AT λ λ(T ) = P1 x(T )
∂x
∂H
0= = Qu u + λT B.
∂u
The last condition can be solved to obtain the optimal controller
T
u = −Q−1
u B λ,
which can be substituted into the dynamic equation (2.4) To solve for the
optimal control we must solve a two point boundary value problem using the
initial condition x(0) and the final condition λ(T ). Unfortunately, it is very
hard to solve such problems in general.
Given the linear nature of the dynamics, we attempt to find a solution
by setting λ(t) = P (t)x(t) where P (t) ∈ Rn×n . Substituting this into the
necessary condition, we obtain
T
λ̇ = Ṗ x + P ẋ = Ṗ x + P (Ax − BQ−1
u B P )x, n
T
−Ṗ x − P Ax + P BQ−1
u BP x = Qx x + A P x.
and then solve the original dynamics of the system forward in time from
the initial condition x(0) = x0 . Note that this is a (time-varying) feedback
control that describes how to move from any state to the origin.
An important variation of this problem is the case when we choose T = ∞
and eliminate the terminal cost (set P1 = 0). This gives us the cost function
Z ∞
J= (xT Qx x + uT Qu u) dt. (2.6)
0
Since we do not have a terminal cost, there is no constraint on the final value
of λ or, equivalently, P (t). We can thus seek to find a constant P satisfying
equation (2.5). In other words, we seek to find P such that
P A + AT P − P BQ−1 T
u B P + Qx = 0. (2.7)
This equation is called the algebraic Riccati equation. Given a solution, we
can choose our input as
T
u = −Q−1u B P x.
but in some instances we might only case about certain states, which would
imply that Qx ≥ 0. For this case, if we let Qx = H T H (always possible),
our cost function becomes
Z ∞ Z ∞
J= xT H T Hx + uT Qu u dt = kHxk2 + uT Qu u dt.
0 0
A technical condition for the optimal solution to exist is that the pair (A, H)
be observable. This makes sense intuitively by considering y = Hx as an
output. If y is not observable then there may be non-zero initial conditions
that produce no output and so the cost would be zero. This would lead to
an ill-conditioned problem and hence we will require that Qx ≥ 0 satisfy an
appropriate observability condition.
We summarize the main results as a theorem.
Theorem 2.2. Consider a linear control system with quadratic cost:
Z ∞
ẋ = Ax + Bu J= xT Qx x + uT Qu u dt.
0
and the minimum cost from initial condition x(0) is given by J ∗ = xT (0)P x(0).
The basic form of the solution follows from the necessary conditions, with
the theorem asserting that a constant solution exists for T = ∞ when the
additional conditions are satisfied. The full proof can be found in standard
texts on optimal control, such as Lewis and Syrmos [LS95] or [AF06].
Example 2.4 Optimal control of a double integrator
Consider a double integrator system
dx 0 1 0
= x+ u.
dt 0 0 1
with quadratic cost given by
q2 0
Qx = , Qu = 1.
0 0
The optimal control is given by the solution of matrix Riccati equation (2.7).
Let P be a symmetric positive definite matrix of the form
a b
P = .
b c
2.5. CHOOSING LQR WEIGHTS 13
y r
F2
x F1
(a) Harrier “jump jet” (b) Simplified model
Figure 2.3: Vectored thrust aircraft. The Harrier AV-8B military aircraft (a)
redirects its engine thrust downward so that it can “hover” above the ground.
Some air from the engine is diverted to the wing tips to be used for maneuvering.
As shown in (b), the net thrust on the aircraft can be decomposed into a horizontal
force F1 and a vertical force F2 acting at a distance r from the center of mass.
values to them. Similarly, we can penalize an input versus the states and
other inputs through choice of the corresponding input weight ρj .
Choosing the individual weights for the (diagonal) elements of the Qx and
Qu matrix can be done by deciding on a weighting of the errors from the in-
dividual terms. Bryson and Ho [BH75] have suggested the following method
for choosing the matrices Qx and Qu in equation (2.6): (1) choose qi and
ρj as the inverse of the square of the maximum value for the corresponding
xi or uj ; (2) modify the elements to obtain a compromise among response
time, damping and control effort. This second step can be performed by
trial and error.
It is also possible to choose the weights such that only a given subset of
variable are considered in the cost function. Let z = Hx be the output we
want to keep small and verify that (A, H) is observable. Then we can use a
cost function of the form
Qx = H T H Qu = ρI.
The constant ρ allows us to trade off kzk2
versus ρkuk2 .
We illustrate the various choices through an example application.
Example 2.5 Thrust vectored aircraft
Consider the thrust vectored aircraft example introduced in ÅM08, Exam-
ple 2.9. The system is shown in Figure 2.3, reproduced from ÅM08. The
linear quadratic regulator problem was illustrated in Example 6.8, where
the weights were chosen as Qx = I and Qu = ρI. Figure 2.4 reproduces the
step response for this case.
A more physically motivated weighted can be computing by specifying
the comparable errors in each of the states and adjusting the weights ac-
2.5. CHOOSING LQR WEIGHTS 15
1.5 1.5
Position x, y [m]
Position x, y [m]
x
y
1 1
0.5 0.5
rho = 0.1
rho = 1
rho = 10
0 0
0 2 4 6 8 10 0 2 4 6 8 10
Time t [s] Time t [s]
(a) Step response in x and y (b) Effect of control weight ρ
Figure 2.4: Step response for a vectored thrust aircraft. The plot in (a) shows
the x and y positions of the aircraft when it is commanded to move 1 m in each
direction. In (b) the x motion is shown for control weights ρ = 1, 102 , 104 . A higher
weight of the input term in the cost function causes a more sluggish response.
1.4 4
x u1
1.2 y u2
3
1
0.8
2
0.6
0.4
1
0.2
0 0
0 5 10 15 0 5 10 15
(a) Step response in x and y (b) Inputs for the step response
Figure 2.5: Step response for a vector thrust aircraft using physically motivated
LQR weights (a). The rise time for x is much faster than in Figure 2.4a, but there
is a small oscillation and the inputs required are quite large (b).
Abnormal extremals.
ẋ1 = u1 , ẋ2 = u2 , ẋ3 = x2 u1 .
2.7. FURTHER READING 17
Exercises
2.1 (a) Let G1 , G2 , . . . , Gk be a set of row vectors on a Rn . Let F be
another row vector on Rn such that for every x ∈ Rn satisfying Gi x = 0,
i = 1, . . . , k, we have F x = 0. Show that there are constants λ1 , λ2 , . . . , λk
such that
X k
F = λ k Gk .
i=1
(a) For the fixed end point problem, derive the form of the optimal controller
minimizing the following integral
Z
1 1 T
u u dt.
2 0
(b) For the boundary conditions q(0) = q(1) = 0, Y (0) = 0 and
0 −y3 y2
Y (1) = y3 0 −y1
−y2 y1 0
for some y ∈ R3 , give an explicit formula for the optimal inputs u.
(c) (Optional) Find the input u to steer the system from (0, 0) to (0, Ỹ ) ∈
Rm × Rm×m where Ỹ T = −Ỹ .
(Hint: if you get stuck, there is a paper by Brockett on this problem.)
2.3 In this problem, you will use the maximum principle to show that the
shortest path between two points is a straight line. We model the problem
by constructing a control system
ẋ = u,
where x ∈ R2 is the position in the plane and u ∈ R2 is the velocity vector
along the curve. Suppose we wish to find a curve of minimal length con-
necting x(0) = x0 and x(1) = xf . To minimize the length, we minimize the
integral of the velocity along the curve,
Z 1 Z 1√
J= kẋk dt = ẋT ẋ dt,
0 0
subject to to the initial and final state constraints. Use the maximum prin-
ciple to show that the minimal length path is indeed a straight line at max-
imum velocity. (Hint: try minimizing using the integral cost ẋT ẋ first and
then show this also optimizes the optimal control problem with integral cost
kẋk.)
2.4 Consider the optimal control problem for the system
ẋ = −ax + bu,
where x = R is a scalar state, u ∈ R is the input, the initial state x(t0 ) is
given, and a, b ∈ R are positive constants. (Note that this system is not
quite the same as the one in Example 2.2.) The cost function is given by
Z tf
J=2 1
u2 (t) dt + 21 cx2 (tf ),
t0
where the terminal time tf is given and c is a constant.
2.7. FURTHER READING 19
(a) Solve explicitly for the optimal control u∗ (t) and the corresponding state
x∗ (t) in terms of t0 , tf , x(t0 ) and t and describe what happens to the terminal
state x∗ (tf ) as c → ∞.
(b) Show that the system is differentially flat with appropriate choice of
output(s) and compute the state and input as a function of the flat output(s).
(c) Using the polynomial basis {tk , k = 0, . . . , M − 1} with an appropriate
choice of M , solve for the (non-optimal) trajectory between x(t0 ) and x(tf ).
Your answer should specify the explicit input ud (t) and state xd (t) in terms
of t0 , tf , x(t0 ), x(tf ) and t.
(d) Let a = 1 and c = 1. Use your solution to the optimal control problem
and the flatness-based trajectory generation to find a trajectory between
x(0) = 0 and x(1) = 1. Plot the state and input trajectories for each
solution and compare the costs of the two approaches.
(e) (Optional) Suppose that we choose more than the minimal number of
basis functions for the differentially flat output. Show how to use the ad-
ditional degrees of freedom to minimize the cost of the flat trajectory and
demonstrate that you can obtain a cost that is closer to the optimal.
2.5 Repeat Exercise 2.4 using the system
ẋ = −ax3 + bu.
For part (a) you need only write the conditions for the optimal cost.
2.6 Consider the problem of moving a two-wheeled mobile robot (e.g., a
Segway) from one position and orientation to another. The dynamics for
the system is given by the nonlinear differential equation
ẋ = cos θ v, ẏ = sin θ v, θ̇ = ω,
where (x, y) is the position of the rear wheels, θ is the angle of the robot
with respect to the x axis, v is the forward velocity of the robot and ω is
spinning rate. We wish to choose an input (v, ω) that minimizes the time
that it takes to move between two configurations (x0 , y0 , θ0 ) and (xf , yf , θf ),
subject to input constraints |v| ≤ L and |ω| ≤ M .
Use the maximum principle to show that any optimal trajectory consists
of segments in which the robot is traveling at maximum velocity in either the
forward or reverse direction, and going either straight, hard left (ω = −M )
or hard right (ω = +M ).
Note: one of the cases is a bit tricky and cannot be completely proven
with the tools we have learned so far. However, you should be able to show
the other cases and verify that the tricky case is possible.
2.7 Consider a linear system with input u and output y and suppose we
wish to minimize the quadratic cost function
Z ∞
J= y T y + ρuT u dt.
0
2.7. FURTHER READING 20
Show that if the corresponding linear system is observable, then the closed
loop system obtained by using the optimal feedback u = −Kx is guaranteed
to be stable.
2.8 Consider the control system transfer function
s+b
H(s) = , a, b > 0
s(s + a)
with state space representation
0 1 0
ẋ = x+ u,
0 −a 1
y= b 1 x
and performance criterion
Z ∞
V = (x21 + u2 )dt.
0
(a) Let
p11 p12
P = ,
p21 p22
with p12 = p21 and P > 0 (positive definite). Write the steady state Riccati
equation as a system of four explicit equations in terms of the elements of
P and the constants a and b.
(b) Find the gains for the optimal controller assuming the full state is avail-
able for feedback.
(c) Find the closed loop natural frequency and damping ratio.
(b) Plot the state solution of the finite time optimal controller for the fol-
lowing parameter values
a = 2, b = 0.5, x(t0 ) = 4,
c = 0.1, 10, tf = 0.5, 1, 10.
(This should give you a total of 6 curves.) Compare these to the infinite
time optimal control solution. Which finite time solution is closest to the
infinite time solution? Why?
2.10 Consider the lateral control problem for an autonomous ground vehicle
from Example 1.1. We assume that we are given a reference trajectory
r = (xd , yd ) corresponding to the desired trajectory of the vehicle. For
simplicity, we will assume that we wish to follow a straight line in the x
direction at a constant velocity vd > 0 and hence we focus on the y and θ
dynamics:
1
ẏ = sin θ vd , θ̇ = tan φ vd .
l
We let vd = 10 m/s and l = 2 m.
(a) Design an LQR controller that stabilizes the position y to yd = 0. Plot
the step and frequency response for your controller and determine the over-
shoot, rise time, bandwidth and phase margin for your design. (Hint: for
the frequency domain specifications, break the loop just before the process
dynamics and use the resulting SISO loop transfer function.)
(b) Suppose now that yd (t) is not identically zero, but is instead given by
yd (t) = r(t). Modify your control law so that you track r(t) and demonstrate
the performance of your controller on a “slalom course” given by a sinusoidal
trajectory with magnitude 1 meter and frequency 1 Hz.