Slide Mode Control
Slide Mode Control
I Analysis 6
1 Introduction 7
1.1 Main Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1 Nonlinear Models and Nonlinear Phenomena . . . . . . 8
1.2 Typical Nonlinearities . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 Memoryless Nonlinearities . . . . . . . . . . . . . . . . 10
1.2.2 Nonlinearities with Memory . . . . . . . . . . . . . . . 11
1.3 Examples of Nonlinear Systems . . . . . . . . . . . . . . . . . 12
1.3.1 Chemical Reactor . . . . . . . . . . . . . . . . . . . . . 12
1.3.2 Diode . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Second Order Systems . . . . . . . . . . . . . . . . . . . . . . 15
1.4.1 Qualitative Behavior of 2nd Order Systems Near Equi-
librium Points . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.2 Limit Cycles and Bifurcations . . . . . . . . . . . . . . 25
1.4.3 Bifurcations . . . . . . . . . . . . . . . . . . . . . . . 27
1.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1
Nonlinear Systems and Control — Spring 2018
4 Dissipative Systems 77
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.2 Dissipative Systems . . . . . . . . . . . . . . . . . . . . . . . . 79
4.3 Passive Systems . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.3.1 Characterizations of Passivity for Linear Systems . . . 85
4.3.2 Stability of Passive Systems . . . . . . . . . . . . . . . 88
4.3.3 Passivity-Based Control . . . . . . . . . . . . . . . . . 90
4.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
References 214
Preface
The objective of this course is to provide the students with an introduction
to nonlinear systems and the various methods of controlling them.
Part I of the course introduces the students to the notions of nonlinearities
and the various ways of analyzing existence and uniqueness of solutions to
ordinary differential equations, as well as understanding various notions of
stability and their characterizations.
Part II of the course arms the students with a variety of control methods
that are suitable for nonlinear systems and is designed in such a way as to
put the student in the position to deploy nonlinear control techniques in real
applications.
All chapters are combined with exercises that are geared towards attaining
better understanding of the pros and the cons of the different concepts.
Analysis
6
Chapter 1
Introduction
7
Nonlinear Systems and Control — Spring 2018
where x ∈ Rn and u ∈ Rm .
Often, we will neglect the time-varying aspect. In the analysis phase,
external inputs are also often neglected, leaving system
ẋ = f (x). (1.1)
Working with an unforced state equation does not necessarily mean that the
input to the system is zero. It rather means that the input has been specified
as a given function of the state u = u(x).
For example, consider the system given by the linear differential equation:
ẋ = Ax + Bu (1.2)
where x ∈ Rn , u ∈ Rm , A ∈ Rn×n , B ∈ Rn×m .
Then the solution is given by
Z t
At
x(t) = exp x0 + expA(t−τ ) Bu(τ )dτ. (1.3)
0
Note that the expression for x(t) is linear in the initial condition x0 and
in the control function u(·). Nonlinear systems are those systems that do not
satisfy these nice properties.
As we move from linear to nonlinear systems, we shall face a more difficult
situation. The superposition principle no longer holds, and analysis tools
necessarily involve more advanced mathematics. Most importantly, as the
superposition principle does not hold, we cannot assume that an analysis of
the behavior of the system either analytically or via simulation may be
scaled up or down to tell us about the behavior at large or small scales.
These must be checked separately.
The first step when analyzing a nonlinear system is usually to linearize it
about some nominal operating point and analyze the resulting linear model.
However, it is clear that linearization alone will not be sufficient. We must
develop tools for the analysis of nonlinear systems. There are two basic
limitation of linearization. First, since linearization is an approximation in
the neighborhood of an operating point, it can only predict the local behavior
of the nonlinear system in the vicinity of that point. Secondly, the dynamics
of a nonlinear system are much richer than the dynamics of a linear system.
There are essentially nonlinear phenomena that can take place only in the
presence of nonlinearity; hence they cannot be described or predicted by
linear models. The following are examples of nonlinear phenomena:
• Finite escape time: The state of an unstable linear system can go
to infinity as time approaches infinity. A nonlinear system’s state,
however, can go to infinity in finite time.
• Multiple isolated equilibrium points: A linear system can have
only one equilibrium point, and thus only one steady-state operating
point that attracts or repels the state of the system irrespective of the
initial state. A nonlinear system can have more than one equilibrium
point.
• Dead Zone, see Figure 1.3. Dead Zone appear in connection to actu-
ator or sensor sensitivity.
1
u
−1
k
u
δ
u
δ
δ
u
δ/2
y
l+
s− s+
u
l−
Figure 1.5: Relay with hysteresis
1.3.2 Diode
We assume a time invariant linear capacitor C, inductor L and resistor R.
R iC iR
vC C vR
E
The equilibrium points of the system are determined by setting ẋ1 = ẋ2 =
0.
1
0 = (−h(x1 ) + x2 )
C
1
0 = (−x1 − Rx2 + E)
L
Therefore, the equilibrium points corresponds to the roots of the equation
E − x1
h(x1 ) =
R
The next figure shows graphically that, for certain values of E and R, this
equation has three isolated roots which correspond to three isolated equilib-
rium points of the system. The number of equilibrium points might change
as the values of E and R change. For example, if we increase E for the same
value of R, we will reach a point beyond which only Q3 will exist.
As we will see in the next chapter, the phase portrait in this case has two
stable equilibrium point and 1 unstable equilibrium point
The tunnel diode characteristic curve iR = h(vR ) is plotted in the next
figure.
2. Nonlinear oscillations
3. Bifurcations
or in vector notation
ẋ = f (x), x(0) = x0 , x, x0 ∈ R2
The locus in the (x1 , x2 ) plane of the solution x(t) for all t ≥ 0 is a curve
that passes through the point x0 . This plane is usually called state plane or
phase plane. The vector f gives the tangent vector to the curve x(·).
For example, iff (x) = (2x21 , x2 ), then at x = (1, 1), we draw an arrow point-
ing from (1, 1) to (1, 1) + (2, 1) = (3, 2).
ẋ1 = x2
ẋ2 = −10 sin x1
Real Distinct Eigenvalues: In this case λ1 and λ2 are different from zero
and M = [v1 , v2 ], where v1 and v2 are the real eigenvectors associated with
λ1 and λ2 . The change of coordinates z = M −1 x transforms the system into
two decoupled first-order differential equations,
ż1 = λ1 z1
ż2 = λ2 z2
whose solution, for a given initial state (z10 , z20 ), is given by
z1 = z10 eλ1 t
z2 = z20 eλ2 t .
Eliminating t between the two equations, we obtain
λ /λ1
z2 = cz1 2
where
c = z20 / (z10 )λ2 /λ1 . (1.4)
There are then three cases:
• Stable node: Both eigenvalues are negative, Figure 1.13.
• Unstable node: Both eigenvalues are positive, Figure 1.14.
• Saddle point: Eigenvalues have different sign, Figure 1.15
ṙ = αr
θ̇ = β
r (t) = r0 eαt
θ (t) = θ0 + βt
• Stable Focus, when α < 0, the spiral converges to the origin, see
Figure 1.16.
• Unstable Focus, when α > 0, it diverges away from the origin, see
Figure 1.17.
• Circle, when α = 0, the trajectory is a circle of radius r0 , see Figure
1.18.
ẋ = f (x)
x (t + T ) = x (t) , ∀t ≥ 0
for some T > 0. The word nontrivial is used to exclude equilibrium point.
In a phase portrait an oscillation or periodic solution is given by a closed
trajectory, usually called a closed or periodic orbit. The trajectory resembles
a closed curve in the phase plane. The trivial example is a center.
ẋ1 = x2
ẋ2 = −x1 + ε 1 − x21 x2
Figure 1.23 depicts a stable and an unstable limit cycle. Limit cycles are
themselves special cases of limit sets. However the study of general limit sets
is outside the scope of this course.
dx2 f2
= .
dx1 f1
Therefore, on any closed orbit γ, we have
I
f2 (x1 , x2 ) dx1 − f1 (x1 , x2 ) dx2 = 0
Γ
1.4.3 Bifurcations
The qualitative behavior of a second-order system is determined by the pat-
tern of its equilibrium points and periodic orbits, as well as by their stability
properties. One issue of practical importance is whether the system main-
tains its qualitative behavior under infinitesimally small perturbations.
For a nonlinear autonomous dynamical system ẋ = f(x), the set of equi-
libria is given by {x : f (x) = 0}. The eigenvalues λ of ∂f the Jacobian of
∂x x=x∗
∗
f at an equilibrium x determine the local stability properties for the system
for Re(λ) 6= 0. For Re(λ) = 0 further analysis is required.
ẋ = −x3 , ẋ = x3
ẋ = f (x, µ)
3. Pitchfork bifurcations
ẋ1 = µ − x21
ẋ2 = −x2 .
√
1. If µ > 0 we have two equilibrium points Q1,2 = ± µ, 0 , of which one
is a saddle and the other one is a stable node.
3. If µ < 0 there are no equilibrium points anymore and both saddle and
stable node disappeared.
We realize that p
λ1,2 = 0.5µ ± 0.25µ2 − 1.
d
Thus, it is easily checked that, as for µ ∈ [−0.2; 0.2], the derivative dµ Re (λ1,2 .) =
0.5 > 0. The real parts become zero at µ = 0. In the next three figures we
depict the behavior of the system as µ goes from a negative to a positive value.
1.5 Exercises
1. Consider the nonlinear system
ẋ1 = µ − x1 (x21 − 1)
ẋ2 = −x2
What is the behavior of the nonlinear system as the parameter µ varies?
2. Consider the nonlinear system
ẋ1 = g(x2 ) + 4x1 x22
ẋ2 = h(x1 ) + 4x21 x2
Are there any limit cycles?
3. A pitchfork bifurcation example is given by
ẋ1 = µx1 − x31
ẋ2 = −x2
What is the behavior of the nonlinear system as the parameter µ varies?
4. Consider again the Tunnel Diode Circuit dynamics that are given by
1
ẋ1 = [−h(x1 ) + x2 ]
C
1
ẋ2 = [−x1 − Rx2 + u]
L
where we take C = 2, L = 5 and R = 1.5. Suppose that h(·) is given
by
h(x1 ) = 17.76x1 103.79x21 + 229.62x31 226.31x41 + 83.72x51
ẋ = f (t, x)
ẋ = f (t, x) , x (t0 ) = 0
It follows that the study of existence and uniqueness of the solution of the
differential equation is equivalent to the study of existence and uniqueness
of the solution of the integral equation above.
33
Nonlinear Systems and Control — Spring 2018
x : [t0 , t1 ] → Rn .
in to R.
Then, we realize that we can rewrite the Equation (2.1) as
x (t) = (P x) (t)
2. closed set S ⊂ X
such that P maps S into S and is a contraction over S. Let
X = C [t0 , t0 + δ]
with norm
kxkC = max kx (t)k
t∈[t0 ,t0 +δ]
and
S = {x ∈ X | kx − x0 kC ≤ r}
where r is the radius of the ball B and δ is a positive constant to be chosen.
We will restrict the choice of δ to satisfy δ ≤ t1 −t0 so that [t0 , t0 + δ] ⊂ [t0 , t1 ].
Note that kx (t)k denotes a norm on Rn , while kxkC denotes a norm on X .
Also, B is a ball in Rn , while S is a ball in X .
By definition, P maps X into X . To show that it maps S into S write
Z t Z t
(P x) (t) − x0 = f (s, x (s)) ds = [f (s, x (s)) − f (s, x0 ) + f (s, x0 )] ds
t0 t0
h = max kf (t, x0 )k
t∈[t0 ,t1 ]
Using the Lipschitz condition and the fact that for each x ∈ S
kx (t) − x0 k ≤ r, ∀t ∈ [t0 , t0 + δ]
we obtain
Z t
k(P x) (t) − x0 k ≤ [kf (s, x (s)) − f (s, x0 )k + kf (s, x0 )k] ds
t
Z 0t
≤ [L kx (s) − x0 k + h] ds
t
Z 0t
≤ (Lr + h) ds
t0
≤ (t − t0 ) (Lr + h)
≤ δ (Lr + h)
and
kP x − x0 kC = max k(P x) (t) − x0 k ≤ δ (Lr + h)
t∈[t0 ,t0 +δ]
Therefore,
kP x − P ykC < Lδ kx − ykC < ρ kx − ykC ,
for δ < ρ/L with ρ < 1. Thus, choosing ρ < 1 and δ ≤ ρ/L ensures that P is
a contraction mapping over S.
in X will lie in S. To see this, note that since x (t0 ) = x0 is inside the ball
B, any continuous solution x (t) must lie inside B for some interval of time.
Suppose that x (t) leaves the ball B and let t0 + µ be the first time x (t)
intersects the boundary of B. Then,
kx (t0 + µ) − x0 k = r
On the other hand, for all t ≤ t0 + µ,
Z t
kx (t) − x0 k ≤ [kf (s, x (s)) − f (s, x0 )k + kf (s, x0 )k] ds
t0
Z t
≤ [L kx (s) − x0 k + h] ds
t0
Z t
≤ (Lr + h) ds
t0
Therefore,
r
r = kx (t0 + µ) − x0 k ≤ (Lr + h) µ ⇒ µ ≥ ≥δ
Lr + h
Hence, the solution x (t) cannot leave the set B within the time interval
[t0 , t0 + δ], which implies that any solution in X lies in S. Consequently,
uniqueness of the solution in S implies uniqueness in X .
2. There exist continuous functions which are not Lipschitz. For example
1
f (x) = x 3
does not have a unique solution. There exists an entire family of solu-
tions: 32
3 3
x(t) = 0 and x(t) = − (t − c) 2
2
for any c > 0.
3. The norm for which the Lipschitz condition holds is not relevant.
∂f
4. Locally bounded ∂x
⇒ locally Lipschitz
ẋ = f (t, x) , x (t0 ) = x0
The derivative is not bounded therefore f (x) is not globally Lipschitz. Accord-
ingly we cannot expect the solution to the differential equation ẋ = f (t, x)
to have a unique solution over any time interval. Indeed, the differential
equation:
ẋ = x2 , x(0) = c > 0
has the solution −1
1
x(t) = −t
c
which has a vertical asymptote at t = 1c , which means that the solution ex-
hibits finite escape time.
To develop this further, recall the mapping P from the proof of Theorem 2.1.
Then:
ẋ1 = x2
ẋ2 = −x1 + ε 1 − x21 x2
Then
∂f 0 1
=
∂x −1 − 2εx1 x2 ε (1 − x21 )
The Jacobian ∂f∂x
is bounded in a bounded domain, thus f is locally Lipschitz
and the solution of the differential equation exists locally. However, global
existence has not been established due to unboundedness of ∂f∂x
over the entire
state space.
ẋ = f (t, x)
Let y (t) be a solution of the equation that starts at y (t0 ) = y0 and is defined
on the compact time interval [t0 , t1 ]. The solution depends continuously on
y0 if solutions starting at nearby points are defined on the same time interval
and remain close to each other in that interval.
Let x (t, λ0 ) with nominal parameters λ0 be a solution of ẋ = f (t, x, λ0 )
defined on [t0 , t1 ], with x (t0 , λ0 ) = x0 . The solution is said to be depen-
dent continuously on λ if for any ε > 0, there is δ > 0 such that for all
λ in the ball {λ ∈ Rp | kλ − λ0 k < δ}, the equation ẋ = f (t, x, λ) has a
unique solution x (t, λ) defined on [t0 , t1 ], with x (t0 , λ) = x0 , and satisfies
kx (t, λ) − x (t, λ0 )k < ε for all t ∈ [t0 , t1 ].
We can estimate
µ
ky (t) − z (t)k ≤ ky0 − z0 k exp [L (t − t0 )] + {exp [L (t − t0 ) − 1]}
L
where L is the Lipschitz constant and µ is a constant related to the size of
the perturbation of the parameters.
Remark 2.9 Note that the proof does not estimate the radius of the “tube”
in Figure 2.1.
Now we see that A (t, λ), B (t, λ) are continuous functions. Let
∂x
S (t) =
∂λ λ=λ0
Example 2.10 Van der Pol Oscillator. Let us consider (again) the following
system.
ẋ1 = x2
ẋ2 = −x1 + ε 1 − x21 x2
First, we plot the nominal trajectories of the nonlinear system for ε = 1 and
the corresponding nominal phase portrait.
The sensitivity equations can now be solved along the nominal trajectory.
The results can be inspected in Figure 2.4. Examining the shape of these
curves, we conclude that the solutions are more sensitive to parameter dis-
turbances at t = 4 and t = 7, which correspond to the points x = (2, 2)
and x = (1, −1) in the phase portrait’Figure 2.3. In Figure 2.5 we plot the
approximated trajectories together with the nominal phase portrait.
Then the map P admits one and only one fixed point x ∗ in S (this means
Px ∗ = x ∗ ). Furthermore, this fixed point can be found as follows: start
with an arbitrary element x 0 in S and define an iterative sequence by x[n] =
P (x[n − 1]) for n = 1, 2, 3, · · · This sequence converges, and its limit is x∗ .
When using the theorem in practice, the most difficult part is typically to
define S properly so that P actually maps elements from S to S, i.e. that
P x is always an element of S.
2.4 Exercises
1. Derive the sensitivity equations for the system
Is there a unique solution to it? Why? If so, find its analytical expres-
sion.
What if the initial condition becomes x(0) = 0? Can you write down
at least two solutions to the problem? How many solution are there?
Motivate your answer.
3.1 Introduction
In this lecture we consider the stability of equilibrium points of nonlinear
systems, both in continuous and discrete time. Lyapunov stability theory
is a standard tool and one of the most important tools in the analysis of
nonlinear systems. It may be utilized relatively easily to provide a strategy
for constructing stabilizing feedback controllers.
ẋ = f (x) (3.1)
and then study the stability of the new system with respect to ξ = 0, the
origin.
47
Nonlinear Systems and Control — Spring 2018
Bδ
x0
B
Figure 3.2: Lyapunov function in two states V = x21 + 1.5x22 . The level sets
are shown in the x1 x2 -plane.
with λ1 , λ2 > 0. If we plot the function V (x) for some choice of λ’s we obtain
the result in Figure 3.2. This function has a unique minimum over all the
state space at the origin. Moreover, V (x) → ∞ as kxk → ∞.
Calculate the derivative of V along the trajectories of the system
V̇ (x) = 2λ1 x1 (−x1 + 2x21 x2 ) + 2λ2 x2 (−x2 ) = −2λ1 x21 − 2λ2 x22 + 4λ1 x31 x2
Ωβ
Bδ
Br
Further ∃δ > 0 such that kxk < δ ⇒ V (x) < β. Therefore, we have that
Bδ ⊂ Ωβ ⊂ Br
and furthermore
Example 3.5 Recall Example 3.2. The derivative of the Lyapunov function
candidate was given by
F (x)
M
Ff (ẋ) = −δ ẋ
0 x
Remark 3.8 If the function V satisfies the condition (3.10), then it is said
to be radially unbounded.
where the function h is locally Lipschitz with h(0) = 0 and x1 h(x1 ) >
0, ∀x1 6= 0. Take the Lyapunov function candidate
Zx1
1 T k k
V (x) = x x + h(s)ds
2 k 1
0
Hence the derivative of V is negative definite for all x ∈ R2 , since 0 < k < 1
(otherwise V is not positive definite! - convince yourself). Therefore, the
origin is globally asymptotically stable.
Re(λi ) < 0, ∀i = 1, 2, · · · , n
V (x) = xT P x
AT P + P A = −Q,
1. A is Hurwitz
That P = P T > 0 follows from the properties of Q. Note that the integral
will converge if and only if A is a Hurwitz matrix. We now show that P
satisfies the matrix Lyapunov equation:
R∞h T T
i
AT P + P A = 0 AT eA t QeAt + eA t QeAt A dt
R ∞ d h AT t At i
= 0 dt
e Qe dt
∞
T
= eA t QeAt = −Q
0
AT (P − P̄ ) + (P − P̄ )A = 0
Where the last limit follows from the fact that A is Hurwitz. Therefore,
P = P̄ .
The fact that 2. ⇒ 1. follows from taking V (x) = xT P x.
then
1. The origin is asymptotically stable if Re (λi ) < 0 for all eigenvalues of
A
2. The origin is unstable if Re (λi ) > 0 for one or more of the eigenvalues
of A
kg(x)k2
→ 0 as kxk2 → 0
kxk2
Therefore, for any γ > 0, there exists r > 0 such that
As such,
V̇ (x) < −xT Qx + 2γ kP k2 kxk22 , ∀ kxk2 < r
But we have the following fact xT Qx ≥ λmin (Q) kxk22 , where λmin indicates
the minimal eigenvalue of Q. Therefore,
Example 3.13 The system ẋ = ax3 , a > 0 has an unstable equilibrium point
at x = 0. The same system is asymptotically stable at the origin for a < 0.
In both cases the linearized system is given by ẋ = 0, and we cannot conclude
anything from the linearization or Lyapunov’s indirect method. However, if
we use Lyapunov’s direct method with V (x) = 41 x4 , then V̇ (x) = ax6 and if
a < 0 then the system is globally asymptotically stable.
∀x (t0 ) ∈ D ⇒ x (t) ∈ D, ∀t ≥ t0
Remark 3.16 Theorem 3.15 result can also be used to find limit cycles.
An important result that follows from Theorem 3.15 is the following corol-
lary.
x2
x2 = x1
Br
U U
x1
x2 = −x1
α2 (r)
α1 (r)
r
0 a
Figure 3.6: Illustration of α1 ∈ K and α2 ∈ K∞ )
For example α(r) = tan−1 (r) belongs to class K but not to class K∞ , while
the functions α(r) = r2 and α(r) = min{r, r4 } belong to class K∞ (why?).
respect to r, and for each fixed r, β(r, s) is decreasing with respect to s and
β(r, s) → 0 as s → ∞.
r
The functions β(r, s) = r2 e−s and β(r, s) = sr+1
belong to class KL. The
r2e-s
4000
3000
2000
1000
0
100
0
50
5
r 0 10
s
• α1 ◦ α2 belongs to class K
• α3 ◦ α4 belongs to class K∞
−→ Can you write down the corresponding notions for the autonomous sys-
tems?
Similarly to the autonomous systems case, we can write the Lyapunov
characterizations of stability for nonautonomous systems.
Sketch of Proof: The proof is similar to that of Theorem 3.3, however now
we work with level sets that are formed by the functions Wi . Consider Figure
3.8. Choose some radius r > 0 and a constant c > 0, such that Br ⊂ D and
c < minkxk=r W1 (x) ⇒ S1 := {x ∈ Br |W1 (x) ≤ c} ⊂ interior(Br ). Define
W2 (x)
V (t, x)
D W1 (x)
Br
S1
c
Ωt,c
S2
Figure 3.8: A sketch of the various domains of Lyapunov stability for nonau-
tonomous systems (left) and the corresponding functions (right)
2 −1
since Q = > 0. Hence, the system is GUAS.
−1 2
Moreover, since we have that
ρ1 kxk2 ≤ V (t, x) ≤ ρ2 kxk2 , and V̇ (t, x) ≤ −ρ3 kxk2 (3.34)
Remark 3.29 One can generalize the result of the last example on exponen-
tial stability if the bounds on V (t, x) and V̇ (t.x) satisfy the following
ρ1 kxkα ≤ V (t, x) ≤ ρ2 kxkα
V̇ (t, x) ≤ −ρ3 kxkα
for any positive constants ρ1 , ρ2 , ρ3 , α.
where c1 , c2 , c3 , c4 > 0.
where φ(t, x) is the solution to the system differential equations, defining the
trajectory starting at x at time t = 0. Due to local exponential stability, the
integral may be shown to converge locally. By bounding the rate of growth
of the integral away from 0, the properties may be proven.
The last theorem can be generalized for the non-autonomous systems case.
any initial state x(t0 ) and any bounded input d(t), the solution x(t) exists for
all t ≥ t0 and
!
kx(t)k ≤ β (kx(t0 )k , t − t0 ) + γ sup kd(τ )k (3.40)
τ ∈[t0 ,t]
from which we can deduce the following inequality on the size of the state
over time
Z t
At
kx(t)k ≤
e
kx0 k +
e
A(t−η)
dηB
sup kd(τ )k
0 τ ∈[0,t]
(3.43)
, β(kx0 k , t) + γ sup kd(τ )k
τ ∈[0,t]
Therefore, assuming the matrix A is Hurwitz, the response due to the initial
condition asymptotically decays to 0 and we expect the state to asymptot-
ically converge to a ball that is proportional to the size of the input d. We
also have the following Lyapunov characterization of ISS.
Theorem 3.32 Let V : [0, ∞) × Rn → R be a continuously differentiable
function such that
α1 (kxk) ≤ V (t, x) ≤ α2 (kxk) (3.44)
∂V ∂V
+ f (t, x, d) ≤ −W (x), ∀ kxk ≥ ρ(kdk) > 0 (3.45)
∂t ∂x
for all (t, x, d) ∈ [0, ∞) × Rn × Rm , where α1 , α2 are class K∞ functions, ρ is
a class K function, and W is a continuous positive definite function on Rn .
Then, the system (3.39) is ISS with γ = α1−1 ◦ α2 ◦ ρ.
Note that if the system is autonomous, then the conditions of the result
above become necessary and sufficient.
by
ẋ = −x + (x2 + 1)d
This latter system can be shown to go unstable, for example if d ≡ 1 the
solution diverges to ∞ in finite time. Therefore, our feedback does not render
the system robust even to small disturbances! Alternatively, consider now the
new input u = x−2x
2 +1 − x, which gives the following closed-loop system under
Let us now show that this last system is actually ISS. Take the following
Lyapunov function candidate V = 12 x2 , then
V̇ = x −2x − x3 + (x2 + 1)d (3.47)
4
4
x |d| x 2|d|
≤ −x2 − − x2 1 − − 1− (3.48)
2 |x| 2 |x|
x4
≤ −x2 − , ∀|x| > 2|d| (3.49)
2
Therefore, by Theorem 3.32, the closed-loop system is ISS.
where the system (3.50) is ISS with respect to x2 , (3.51) is ISS with respect
to u. Then the origin of the cascade system (3.50)-(3.51) is ISS.
Sketch of Proof: Since each of the subsystems is ISS, then each admits an
ISS Lyapunov function, which can be shown to satisfy (after some rescaling)
the following inequalities
ẋ1 = −x1 − x2 + u1
ẋ2 = x1 − x2 + u2
and the quadratic function V (x1 , x2 ) = 21 (x21 + x22 ). The derivative of V along
the trajectories of the system is given by
which shows that the system is ISS. Of course this is not surprising since we
know that the system is a stable linear one and hence is robust with respect
to bounded disturbances.
Remark 3.36 For the discrete-time system (3.52), the equilibrium point is
characterized by the fixed point condition x∗ = f (x∗ ).
Analogously to the continuous-time systems case, we can state the fol-
lowing global stability theorem.
Theorem 3.37 Let the origin x = 0 ∈ Rn be an equilibrium point for the
system (3.52). Let V : Rn → R be a continuous function such that
V (0) = 0 and V (x) > 0, ∀x 6= 0
∆V (x(k)) , V (x(k)) − V (x(k − 1)) < 0, ∀x(k) ∈ D (3.53)
kxk → ∞ ⇒ V (x) → ∞
then the origin is globally asymptotically stable.
Let us interpret the result in the previous theorem. For continuous time
systems, we require that the derivative of the Lyapunov function is negative
along the trajectories. For discrete-time systems, we require that the differ-
ence in the Lyapunov function is negative along the trajectories. Also, quite
importantly we do not require that V is continuously differentiable, but to
be only continuous.
If we now consider a linear discrete-time system given by
x(k + 1) = F x(k) (3.54)
where F ∈ Rn×n . The asymptotic stability of such a system is characterized
by the eigenvalues being strictly inside the unit circle in the complex plane.
Definition 3.38 The matrix F is called Schur or asymptotically stable, if
and only if
|λi | < 1, ∀i = 1, · · · , n
where λi ’s are the eigenvalues of the matrix F .
Theorem 3.39 Consider the linear discrete-time system (3.54), the follow-
ing conditions are equivalent:
1. The matrix F is Schur stable
2. Given any matrix Q = QT > 0 there exists a positive definite matrix
P = P T satisfying the discrete-time matrix Lyapunov equation
F T P F − P = −Q (3.55)
Proof: Let’s first show that 1. ⇒ 2. Let F be P∞SchurT stable and take any
T i i
matrix Q = Q > 0. Take the matrix P = i=0 (F ) QF , which is well
defined by the asymptotic stability of F , and P = P T > 0 by definition.
Now, substitute P into (3.55)
∞
! ∞
X X
T T T i i
F PF − P = F (F ) QF F − (F T )i QF i
i=0 i=0
∞
X ∞
X
= (F T )i QF i − (F T )i QF i = −Q
i=1 i=0
(F T )N (P − P̄ )F N = P − P̄
2
This condition can be relaxed to simply having v(t) being continuous with an upper
right-hand derivative existing
3.10 Exercises
1. Show that the origin of the system
(
ẋ1 = x2
ẋ2 = −x31 − x32
is locally but not globally asymptotically stable. Recall that the satu-
ration function is defined as
(
s, if |s| ≤ 1
sat(s) = .
sgn(s) , if |s| ≤ 1
ẋ = f (x), f (0) = 0, x ∈ Rn
where P = P T > 0.
R1 ∂f (σx)
• Show using the representation f (x) = 0 ∂x
xdσ that
Hint: For both parts use the candidate function V (x) = (1/2)x21 +
(1/4)ax42 for a proper choice of a > 0.
Dissipative Systems
4.1 Introduction
We shall study a special class of systems called dissipative systems. Intu-
itively, we can think of systems interacting with the surrounding via some
input / output ports, exchanging power with the surrounding, storing some
energy and dissipating some (Figure 4.1).
u2 y2
u1 u3
y1
Σ y3
u4 y4
Figure 4.1: A system Σ interacting with the outside world via inputs and
outputs
For example, electrical systems exchange power with the surrounding via
an inner product between the current and voltage, i.e., Pe = v T i. Energy
in these systems may be stored in capacitors and/or inductors in the form
of voltage or current, respectively. Another example is mechanical systems;
these systems may by supplied with linear and/or rotational power, i.e.,
Pm = ω T T or Pm = v T F , where v is the velocity, F is the applied force,
ω is the rotational speed, and T is the applied torque. This supply may be
77
Nonlinear Systems and Control — Spring 2018
F (x)
u
M
Ff (ẋ) = −δ ẋ
0 x
stability of the system? We consider the energy that is stored in the system
Z x1
1
S (x) = F (ξ) dξ + x22 (4.2)
0 2
The derivative of S (x) along the trajectories of (4.1) is given by
Ṡ (x) = −δx22 + x2 u = −δy 2 + yu (4.3)
Assume that at t = 0, x1 = x2 = 0. Then
Z t Z t
S (t) = Ṡ (τ ) dτ = −δy 2 (τ ) + y(τ )u(τ ) dτ
0
Z0 t Z t
≤ y (τ ) u (τ ) dτ ≤ |y (τ )| |u (τ )| dτ
0 0
Therefore, we can see that if u and y are bounded signals (in some sense),
then S is also bounded. Due to the properties of the function S, we can
then limit the state. This reasoning helps us to go from an input-output
boundedness property to an internal state boundedness property.
where x (t0 ) = x0 , and x (t1 ) is the state system (4.4) at time t1 resulting
from initial condition x0 and the input function u(t).
The dissipation inequality (4.6) expresses the concept that the stored en-
ergy S (x (t1 )) of the system (4.4) at any time t1 is at most equal to the
sum Rof the stored energy S (x (t0 )) present at the time t0 and the total en-
t
ergy t01 w (u (t) , y (t)) dt which is supplied externally during the time interval
[t0 , t1 ]. Hence, as the name suggests, dissipative systems cannot internally
create energy, but can rather either store it or dissipate it.
We shall study next a special type of storage functions.
Theorem 4.3 Consider the system (4.4) with a supply rate w. Then, it is
dissipative with respect to w if and only if the available storage function
Z T
Sa (x) = sup − w (u, y) dt , x(0) = x (4.7)
u(·),T ≥0 0
Remark 4.4 Note that in linking dissipativity with the existence of the func-
tion Sa , we have removed attention from the satisfaction of the dissipation
inequality to the existence of the solution to an optimization problem.
∂S(x)
Ṡ (x) = f (x, u) ≤ w (u, h (x, u)) , ∀x ∈ Rn , u ∈ Rm (4.8)
∂x
This version of the dissipation property is called the differential dissipation
inequality. Having this differential version, we can establish a connection to
what we have already seen in the lecture on Lyapunov stability theory. But
before we do that, let us first see what the rate at which the system (4.4)
dissipates energy is.
w (0, y) ≤ 0, ∀y ∈ Y
∂S(x)
V̇ (x) = Ṡ(x) = f (x, 0) ≤ w (0, y) ≤ 0
∂x
y2 u2
Σ2
Example 4.9 Consider the RLC circuit shown in Figure 4.4. Define the
states x1 = vc and x2 = i, the input u = vin and the output y = x2 . The
state-space model is given by
0 1
0
ẋ = Ax + Bu = C y = Hx = 0 1 x
1 R x + 1 u,
−L −L L
w(u, y) = uy (4.10)
i R L
vin C vc
which is the power injected (extracted) into (from) the system. Now,
for our choice of . This way we have avoided using LaSalle’s invariance
principle, which we could have used instead to show asymptotic stability of
the system.
w(u, y) = uT y (4.13)
with the implicit condition that the number of inputs and outputs is the
same, i.e., u, y ∈ Rp . We can also differentiate among various types of passive
dynamical systems according to the following definition:
2. lossless if Ṡ(x) = uT y
ẋ = u, y=x (4.14)
with the supply rate w(u, y) = uy. Take the storage function S(x) = 12 x2 .
The derivative Ṡ(x) = xẋ = uy, and hence the system is lossless.
Bode Diagram
40
30
1/(s+1)
20
1/s
Magnitude (dB)
10
−10
−20
−30
−40
0
Phase (deg)
−45
−90 −2 −1 0 1 2
10 10 10 10 10
Frequency (rad/s)
Figure 4.5: Bode plot of the two systems in Examples 4.11 and 4.12
Example 4.12 Now assume that instead of the pure integrator in Example
4.11 with transfer function 1s , we consider the low pass filter s+1
1
, which has
the state-space representation
ẋ = −x + u, y=x (4.15)
tions and we can relate passivity to certain conditions being statisfied for the
transfer function.
Definition 4.13 A p × p proper transfer function matrix G(s) is called pos-
itive real if all the following conditions are satisfied:
1. the poles of all elements of G(s) have non-positive real part
2. for all real frequencies ω for which jω is not a pole of any element of
G(s), the matrix G(jω) + G(−jω)T is positive semi-definite
3. any pure imaginary pole jω of any element of G(s) is a simple pole
and the residue matrix lims→jw (s − jw)G(s) is positive semidefinite
Hermitian
G(s) is called strictly positive real if G(s − ) is positive real for some > 0.
Example 4.16 Recall the RLC circuit in Example 4.9. The transfer func-
tion (for R = L = C = 1) is given by
−1
s −1 −1 0 s
G(s) = H(sI − A) B = 0 1 = 2 (4.16)
1 s+1 1 s +s+1
One can also look at the state-space system directly and conclude that
the transfer function is actually positive real, as shown by the celebrated
KYP lemma below.
Lemma 4.17 (Kalman-Ykubovich-Popov) Consider the m × m trans-
fer function matrix G(s) = C(sI − A)−1 B + D, where the pair (A, B) is
controllable and the pair (A, C) is observable. G(s) is strictly positive real if
and only if there exist matrices P = P T > 0, L, and W , and > 0 such that
the following equalities hold
P A + AT P = −LT L − P (4.17)
T T
PB = C − L W (4.18)
W T W = D + DT (4.19)
Example 4.19 Consider again the RLC system in Example 4.9. Since there
is no direct feedthrough in the system, D = 0 and by (4.19), W = 0.
we have
0 0 p 0
As such, (4.18) implies P = ⇒P = , p > 0. Plugging P into
1 1 0 1
(4.17)
0 1−p 0
T
PA + A P = − ≤0⇔p=1⇒L = √ T
1−p 2 2
Therefore, again we reach the same conclusion that the system is passive.
However, we cannot satisfy the condition (4.17) with > 0 and hence the
system is not strictly passive.
ẋ = Ax + Bu
y = Cx + Du
Lemma 4.21 Assume that the system (4.4) is passive with a positive definite
storage function S(x), then the origin of ẋ = f (x, 0) is stable.
Lemma 4.22 Assume that the system (4.4) is strictly passive with some
storage function S(x), then the origin of ẋ = f (x, 0) is asymptotically sta-
ble. Furthermore, if S(x) is radially unbounded, then the origin is globally
asymptotically stable.
Suppose now that there exists some x̄ 6= 0 such that V (x̄) = 0. This implies
that Z t
ψ(φ(τ, x̄))dτ = 0, ∀t ∈ [0, δ] ⇒ ψ(φ(τ, x̄)) ≡ 0 ⇒ x̄ = 0
0
which gives a contradiction. Hence, V (x) > 0 for all x 6= 0, i.e., positive
definite. Combining this with the V̇ (x) ≤ −ψ(x), yields asymptotic stability
of the origin. Finally, if V (x) is radially unbounded, we obtain asymptotic
stability.
u1 e1 y1
Σ1
y2 e2 u2
Σ2
and the result follows. Note that if any of the two systems are memoryless,
i.e., yi = hi (ui ), then the corresponding storage function can be taken to be
0.
ẋ = f (x, u)
(4.23)
y = h(x)
2. is zero-state observable,
then the origin can be globally stabilized with a control law u = −φ(y), where
φ is any locally Lipschitz function such that φ(0) = 0, and y T φ(y) > 0,
∀y 6= 0.
Proof: Let V (x) be a storage function of the system and use it as a candidate
Lyapunov function for the closed-loop system with u = −φ(y). We have that
V̇ (x) ≤ uT y = −φ(y)T y ≤ 0
The open-loop system (u = 0) is unstable, and hence the system is not passive.
However, we can design the control law
u = −x22 − x31 + v
that yields the system passive with respect to the supply rate w = vy. Let
S(x) = 41 x41 + 12 x22 , then
Ṡ(x) = −x22 + vy
and the system is passive. Noting that v = 0 and y(t) ≡ 0 imply x(t) ≡ 0.
Therefore, all the conditions of Theorem 4.25 are satisfied, and accordingly
we can design a globally stabilizing control law, for example v = −kx2 or
v = −tan−1 (x2 ) and any k > 0.
4.4 Exercises
1. The motion of a rigid n-link robot manipulator is described by the
following equations:
∂P (q) >
M (q)q̈ + C(q, q̇)q̇ + =u
∂q
where q ∈ Rn and q̇ ∈ Rn are the so-called generalized coordinates
of the system, u ∈ Rn represents the input (torques or forces), and
P (q) is the potential energy that is positive definite. The system above
satisfies the following skew-symmetry properties:
(a) Show that the system is passive from input u to output q̇, using
the storage function S(q, q̇) = 12 q̇ > M (q)q̇. Only for this point,
consider P (q) = 0.
(b) Now let us use the following control law u = −B q̇, where B =
>
B > > 0 is a damping matrix. Under the assumption that ∂P∂q(q)
has an isolated root at the origin, show that this control law is
asymptotically stabilizing using V (q, q̇) = S(q, q̇) + P (q) as a Lya-
punov fucntion.
>
(c) Now, consider the following control law u = ∂P∂q(q) − B q̇ − K(q −
q d ), where B = B T > 0, K = K T > 0, and q d is some de-
sired set point. Show that the equilibrium point (q, q̇) = (q d , 0)
is asymptotically stable using the Lyapunov function candidate
V = 21 q̇M q̇ + 12 (q − q d )> K(q − q d ) (Note that q̇d = 0).
ẋ1 = x2
ẋ2 = −h(x1 ) − ax2 + u
y = αx1 + x2
(a) Show that the map from u = [u1 , u2 , u3 ]> to ω = [ω1 , ω2 , ω3 ]> is
lossless.
(b) Show that, for the control law u = −Kω, where K is a positive
definite matrix, the origin ω = 0 is globally asymptotically stable.
95
Chapter 5
5.1 Introduction
Control design procedures require the use of feedback in order to steer the
state of the system towards some desired steady-state value, or a given output
towards some reference.
r e u y
CONTROL PLANT
When dealing with nonlinear systems, one has a variety of design tech-
niques that can be used. We summarize in the table below some of the
dimensions that we shall consider in the design phase of the course.
In this lecture, we shall look into three control design techniques: Lin-
earization, integral control, and gain scheduling, all of which are based on
our knowledge of control design for linear systems.
5.2 Linearization
Based on the ideas we have already explored in Lyapunov’s indirect method,
we can consider designing a controller by linearizing the system about the de-
96
Nonlinear Systems and Control — Spring 2018
sired equilibrium point, and then designing a stabilizing linear state feedback
by pole placement, or other similar techniques.
Consider the nonlinear system
ẋ = f (x, u) (5.1)
where f (x, u) is continuously differentiable in a domain X × U ⊆ Rn × Rm
that contains the origin. Let (xss , uss ) ∈ X × U be the steady state point for
which
0 = f (xss , uss ) (5.2)
We can linearize the system (5.1) around the steady-state operation point
(xss , uss ) using the Taylor series expansion to obtain,
d
(x − xss ) = f (x, u)
dt
∂f ∂f
≈ f (xss , uss ) + (x − xss ) + (u − uss )
∂x x=xss ,u=uss ∂u x=xss ,u=uss
= A(x − xss ) + B(u − uss ) (5.3)
where A = ∂f and B = ∂f
. Assume that (A, B) is
∂x x=xss ,u=uss ∂u x=xss ,u=uss
stabilizable, that is the eigenvalues that aren’t controllable have all negative
real parts. Then ∃K ∈ Rm×n such that (A − BK) has all eigenvalues in the
left hand side of the complex plane. If (A,B) is controllable, we can place all
the all the poles at the desired locations in the left-half complex plane. The
resulting feedback control law for the nonlinear system (5.1) is given by
u = uss − K (x − xss ) (5.4)
and the corresponding closed-loop system is given by
ẋ = f (x, uss − K (x − xss ))
θ
m
For the pendulum to have an equilibrium at (θss , 0), the input torque must
have a steady state component Tss that satisfies
a
Tss = sin(θss ) (5.6)
c
Define the state variables as x1 = θ − θss , x2 = θ̇ and the control variable as
u = T − Tss . Accordingly, the state equations are given by
ẋ1 = x2
(5.7)
ẋ2 = −a[sin(x1 + θss ) − sin(θss )] − bx2 + cu
We linearize this system
at the
origin
to obtain the system matrices A =
0 1 0
and B = . It is not difficult to show that the pair
−a cos(θss ) −b c
(A, B) is controllable (show this). Take the feedback matrix K = k1 k2 ,
then (A − BK) is Hurwitz for any choice of the gains that satisfies 1
a cos(θss ) b
k1 > − , k2 > −
c c
1
you can drive this by looking at det(λI − (A − BK))) and enforcing that the sign of
all the coefficients of the characteristic polynomial is the same
Finally, the input torque that we would apply to the pendulum is given by
a
T = Tss − Kx = sin(θss ) − k1 (θ − θss ) − k2 θ̇
c
Assume now that we do not have access to the full state, but rather a
nonlinear function of the state, i.e., we have the nonlinear system
ẋ = f (x, u)
(5.8)
y = h(x)
We shall linearize the system (5.8) around the steady-state point (xss , uss ),
for which the following conditions are satisfied
to obtain
d
(x − xss ) = A(x − xss ) + B(u − uss ) (5.10)
dt
y = C(x − xss ) (5.11)
where A = ∂f , B = ∂f , and C = ∂h . If we
∂x x=xss ,u=uss ∂u x=xss ,u=uss ∂x x=xss
assume that (A, B) is stabilizable and (A, C) is detectable, then we can
design an observer-based linear dynamic output feedback controller
d
(x̂ − xss ) = A(x̂ − xss ) + B(u − uss ) + L(y − C(x̂ − xss ))
dt (5.12)
u − uss = −K(x̂ − xss )
ẋ = f (x, u, w)
(5.14)
y = h (x, w)
where xss is the desired equilibrium point and uss is the corresponding steady-
state control. As the name of the method suggests, we would like to introduce
an integral action with repsect to the error signal e = y − r. This goal is
achieved by introducing the extra state (multi-dimensional)
σ̇ = y − r = h(x, w) − r (5.15)
ẋ = f (x, u, w)
(5.16)
σ̇ = h(x, w) − r
u = −K1 x − K2 σ (5.17)
e σ u y
r −R CONTROL PLANT
measured signals
and require that the matrix gain K2 be nonsingular in order guarantee the
existence of a unique equilibrium (xss , uss , σss ) to the steady-state equations
0 = f (xss , uss , w)
0 = h(xss , w) − r
uss = −K1 xss − K2 σss
with the understanding that the equilibrium point depends on both the
known reference r and the unknown but constant parameters w.
We shall proceed by using the linearization design technique that we saw
in the previous section to obtain the system
ẋ = A(x − xss ) + B(u − uss )
(5.18)
σ̇ = C(x − xss )
∂f (x,u,w)
where A = A(w, r) = ∂f (x,u,w)
∂x , B = B(w, r) = ∂u ,
x=xss ,u=uss x=xss ,u=uss
and C = C(w, r) = ∂h(x,w)
∂x
are dependent on the constant parameters w
x=xss
and the constant reference vector r. Now if we substitute the value steady-
state input uss into the linearized system (5.18), we obtain the following
augmented closed-loop system
˙ξ = (A − BK)ξ = A − BK1 −BK2 ξ (5.19)
C 0
x − xss
where ξ = . We have the following Lemma that guarantees the
σ − σss
possibility of designing a stabilizing control matrix K = K1 K2 .
Lemma 5.2 Assume that the pair (A, B) is controllable and that
A B
rank =n+p (5.20)
C 0
Then, the pair (A, B) is controllable.
u = −K1 x − K2 σ (5.21)
σ̇ = h(x, w) − r (5.22)
where K = K1 K2 is designed so that it renders (A − BK) Hurwitz for all
possible values of the uncertain vector w in some known set W (i.e., we have
robust stability).
Example 5.3 Consider again the Pendulum system in Example 5.1. This
time we don’t know the parameters in the system, but we have that a = g/l >
0, b = k/m ≥ 0, and c = 1/(ml2 ) > 0. We have the nonlinear system (using
the same definition for the state and input as before)
ẋ1 = x2
ẋ2 = −a sin(x1 + θss ) − bx2 + cu (5.23)
y = x1
with the equilibrium point
0 a
xss = , uss = sin(θss ) (5.24)
0 c
The linearization matrices are computed as
0 1 0
A= , B= , C= 1 0 (5.25)
−a cos(θss ) −b c
Since the parameter c > 0 we can deduce that the pair (A, B) is controllable
(verify this). Moreover, the rank condition (5.20) is satisfied (verify this as
well). Hence the conditions of Lemma 5.2 are
satisfied and we can design as
1x
stabilizing controller u = − k1 k2 k3 x2 , where σ̇ = x1 . The resulting
σ
closed-loop matrix is given by
0 1 0
(A − BK) = −(a cos(θss ) + ck1 ) −b − ck1 −ck3 (5.26)
1 0 0
b + ck2 > 0, ck3 > 0, (b + ck2 )(a cos(θss ) + ck1 ) > ck3
These three inequalities have to be satisfied for all possible realization of the
a, b, and c.
system parameters For example, a choice of k2 > 0, k3 > 0,
and k1 > max ac + kk23 max 1c would render the closed-loop matrix Hurwitz
(assuming that the maximum values are attained).
Remark 5.4 The region of attraction of one equilibrium point should con-
tain the neighboring equilibrium point, as shown in Figure 5.4. Moreover, we
should guarantee that the overshoot that happens whenever switching from
one steady-state point (xss,i ) to another (xss,i+1 ) does not drive the trajectory
of the system beyond the region of attraction of the latter steady state point
(xss,i+1 ).
xss,1
xss,2
xss,3 xss,4
for all values of (α, w). Now, as in the previous section, we can design the
following integral controller
σ̇ = y − r (5.32)
u = −K1 x − K2 σ (5.33)
With such a design choice, we know that the closed-loop nonlinear system
ẋ = f (x, u, v, w)
σ̇ = y − r = h(x, w) − r
u = −K1 (α)x − K2 (α)σ
Remark 5.5 The fact that A is stable for every “frozen” ρ = α does not
guarantee stability of the closed loop system when ρ = α (t). However, there
are theoretical developments that relate the slow rate of change of ρ(t) to
the boundedness of the system response. Moreover, if ρ(t) converges asymp-
totically to some constant value, then the error in output tracking would
asymptotically converge to zero.
Remark 5.6 We can extent the method to the case when we don’t have full
state feedback, but rather we need to design an estimator of the state.
Therefore, we would like to design the gains K1 (α) and K2 (α) such that the
closed-loop matrix of the linearized system
A(α) − BK1 (α) −BK2 (α)
A(α) = (5.42)
C 0
is Hurwitz. The gains are designed as
1
K1 (α) = (1 + α2 )(3 + α2 ) + 3 + 1+α2
3 + α2
1
K2 (α) = −
1 + α2
√
3
which would assign the closed-loop eigenvalues at −1, − 12 ±j 2
. The response
of the closed-loop system is shown in Figure 5.5.
0.8
y
0.6 r
0.4
0.2
−0.2
−0.4
−0.6
−0.8
0 50 100 150 200
and apply the same procedures and ideas that have been discussed in this
chapter to the new vector of measurements given by [y; ẏ].
The result of applying this method to the previous example can be seen
in Figure 5.6. In the first plot, we see the linearization failing once we move
away from the linearisation point. In the second plot, we see the good effect
of adapting the linearization point using gain scheduling, but we see large
transients for some setpoints. The last plot shows that the large transients
disappear when the derivative of the observation is added to the original
system as new measurement.
For further reading on these design methods, see [4, Ch. 12].
Figure 5.6: Response of integral control design with added derivative action
5.5 Exercises
1. A magnetic suspension system is modelled as
ẋ1 = x2
k L0 ax23
ẋ2 = g − x2 −
m 2m(a + x1 )2
1 L0 ax2 x3
ẋ3 = −Rx3 + +u
L(x1 ) (a + x1 )2
where x1 = y is the elevation, x2 = ẏ, x3 = I the current, and u = V
is the input voltage. Use the following numerical data m = 0.1 kg,
k = 0.001 N/(m s), g = 9.81 m/s2 , a = 0.05 m, L0 = 0.01 H, L1 = 0.02
H, R = 1 Ω, and L(x1 ) = L1 + 1+L0x1 .
a
(a) Find the steady-state values Iss and Vss of I and V , respectively,
which are needed to keep the ball at a given position y = r.
(b) Is the equilibrium point obtained above stable ?
(c) Linearize the system and design a state feedback control law to
stabilize the ball at y = 0.05 m.
τ ψ̈ + ψ̇ = kσ
where ψ is the heading angle of the ship and σ is the rudder angle,
viewed as the control input. The time constant τ and the gain k de-
pends on the forward speed of the ship v, according to the expressions
τ = τ0 vv0 and k = k0 vv0 , where τ0 , k0 , and v0 are constants. Assuming
a constant forward speed, design a state feedback integral controller so
that ψ tracks a desired angle ψr .
ẋa = Aa xa + Ba u
4. Consider the following non linear system for (x1 , x2 ) and measurements
y
ẋ1 = −x1 + x2
x3
ẋ2 = −β 2 − γx2 + u
3
y = x1
Feedback Linearization
6.1 Introduction
Consider a class of single-input-single-output (SISO) nonlinear systems of
the form
ẋ = f (x) + g(x)u (6.1)
y = h(x) (6.2)
where x ∈ D ⊂ Rn , u, y ∈ R1 , f : D → Rn , g : D → Rn , and the domain D
contains the origin. 1
In this lecture, we shall answer the following two (tightly related) ques-
tions:
η
1. Does there exist a nonlinear change of variables z = = T (x), and
ξ
a control input u = α(x) + β(x)v that would transform the system
(6.1)-(6.2) into the following partially linear form?
η̇ = f0 (η, ξ)
ξ˙ = Aξ + Bv
y = Cξ
110
Nonlinear Systems and Control — Spring 2018
ż = Ãz + B̃v
If the answer to question 2. is positive, then we say that the system (6.1) is
feedback linearizable. If the answer to question 1. is positive, then we say
that the system (6.1)-(6.2) is input-output linearizable. Both scenarios are
very attractive from the control design point of view, since in either case we
can rely on linear design techniques to render the closed-loop system stable.
Since we cannot expect every nonlinear system to possess such proper-
ties of feedback linearization, it is interesting to understand the structural
properties that the nonlinear system should possess that render it feedback
linearizable.
Before we dive into the theoretical developments of feedback linearization,
let us first look into two simple examples.
u ẋ = f (x) + g(x)u
v α(x) + β(x)v y
y = h(x)
Example 6.1 Consider the example of the pendulum that we have seen in
previous lectures. The dynamics are given by
ẋ1 = x2
ẋ2 = −a [sin (x1 + δ) − sin δ] − bx2 + cu
ẋ1 = x2
ẋ2 = −bx2 + v
As such, the stabilization problem for the nonlinear system has been reduced
to a stabilization problem for a controllable linear system. We can proceed to
design a stabilizing linear state feedback control
v = −k1 x1 − k2 x2
that renders the closed-loop system
ẋ1 = x2
ẋ2 = −k1 x1 − (k2 + b) x2
asymptotically stable. The overall state feedback control law comprises linear
and nonlinear parts
a 1
u= [sin (x1 + δ) − sin δ] − (k1 x1 + k2 x2 )
c c
Example 6.2 Consider the system
ẋ1 = a sin x2
ẋ2 = −x21 + u
We cannot simply choose u to cancel the nonlinear term a sin x2 . However,
let us first apply the following change of variables
z1 = x1
z2 = a sin x2 = ẋ1
Then, the new variables z1 and z2 satisfy
ż1 = z2
z2
ż2 = a cos x2 .ẋ2 = a cos sin−1 u − z12
a
and the nonlinearities can be canceled by the control
1
u = x21 + v
a cos x2
which is well defined for − π2 < x2 < π2 . The state equation in the new
coordinates can be found by inverting the transformation to express (x1 , x2 )
in the terms of (z1 , z2 ), that is,
x1 = z1
z
−1 2
x2 = sin
a
which is well defined for −a < z2 < a. The transformed state equation is
given by
ż1 = z2
z
2
ż2 = a cos sin−1 −z12 + u
a
which is in the required form to use state feedback. Finally, the control input
that we would use is of the following form
1 1
u = x21 + (−k1 z1 − k2 z2 ) = x21 + (−k1 x1 − k2 a sin(x2 ))
a cos x2 a cos x2
Therefore, u does not appear in the expressions of y, ẏ,. . . ,y (ρ−1) and appears
in the expression of y (ρ) with a nonzero coefficient, i.e.,
We can clearly see from (6.3), that the system is input-output linearizable,
since the state feedback control
1
u= ρ−1 −Lρf h (x) + v (6.4)
Lg Lf h (x)
y (ρ) = v
for all x ∈ D0 .
Hence, the system has relative degree two in R2 . For the output y = x1 + x22 ,
we have that
ẏ = x2 + 2x2 −x1 + ε 1 − x21 x2 + u
and the system has relative degree one in D0 = {x ∈ R2 |x2 6= 0}. As such,
we can see that the procedure of input-output linearization is dependent on
the choice of the output map h(x).
are independent
of u. Note also that our definition of T2 (x) in (6.6) results
y
y (1)
in ξ = .. .
.
y (ρ−1)
Of course, it is crucial to know at this point if such functions φ exist in
order to define the transformation T ; the next result shows that.
Definition 6.6 A continuously differentiable transformation T with a con-
tinuously differential inverse is a called a diffeomorphism.
Theorem 6.7 Consider the system (6.1)-(6.2), and suppose that it has a
relative degree ρ ≤ n in D. If ρ = n, then for every x0 ∈ D, a neighborhood
N of x0 exists such that the map
h (x)
Lf h(x)
T (x) = ..
.
Ln−1
f h (x)
restricted to N , is a diffeomorphism on N .
2
system (6.1)-(6.2). into
y = h(x) = ξ1 = Cc ξ
and
∂φ
f0 (η, ξ) = f (x) (6.11)
∂x x=T −1 (z)
γ (x) = Lg Lρ−1
f h (x) (6.12)
Lρf h (x)
α (x) = − (6.13)
Lg Lρ−1
f h (x)
ξ η̇ = f0 (η, ξ)
Figure 6.2: Transformed system (6.8)-(6.10) and the input defined as in (6.4)
which is called the zero dynamics of the system. If the zero dynamics of the
system are (globally) asymptotically stable, the system is called minimum
phase.
Finally, the linearized system may then be stabilized by the choice of an
appropriate state feedback:
v = −Kξ.
where f (x) = Ax, g = B, and h (x) = Cx. We know that the relative degree
of the transfer function is given by n − m. However, let us verify that this is
the case. We take the derivative of the output, i.e.,
and the relative degree of the system is n − m, i.e., the difference between the
order of the denominator and the numerator of the transfer function G(s).
Moreover, we know that a minimum phase system means that the zeros
of the transfer function G(s) lie in the open left-half complex plane. We can
show as well that there is a correspondence of the zeros of H(s) and the
normal form zero dynamics.
Example 6.8 Consider the two vector fields f (x) = Ax and g is constant.
Then, adf g(x) = [f, g](x) = −Ag, ad2f g(x) = [f, adf g](x) = −A(−Ag) =
A2 g, and adkf g = (−1)k Ak g.
∆ = {f1 , f2 , · · · , fk } (6.24)
g1 ∈ ∆, and g2 ∈ ∆ ⇒ [g1 , g2 ] ∈ ∆
And now we are ready to state the main result of this section.
has full rank for any x such that cos(x2 ) 6= 0. Moreover, the distribution
∆ = span{g} is involutive. Therefore, the conditions of Theorem (6.11) are
6.4 Stability
Consider again the input-output linearized system in normal form (6.8)-
(6.10), and assume that we have designed the feedback control law
u = α(x) + β(x)v
where β(x) = γ −1 (x), and v = −Kξ, such that (Ac − Bc K) is Hurwitz. The
resulting system reduces to the following dynamics
η̇ = f0 (η, ξ) (6.25)
ξ˙ = (Ac − Bc K)ξ (6.26)
6.5 Robustness
Feedback linearization is based on exact cancellation of the nonlinearities
in the system dynamics, which is practically very difficult to achieve. In a
realistic setup, we would have only approximations α̂, β̂ and T̂ (x) of the true
α, β, and T (x). The feedback control law has then the form
u = α̂(x) + β̂(x)v = α̂(x) − β̂(x)Kξ = α̂(x) − β̂(x)K T̂2 (x)
Accordingly, the closed-loop system of the normal form is given by
η̇ = f0 (η, ξ) (6.28)
h i
ξ˙ = Aξ + Bγ (x) (α̂(x) − α(x)) − β̂(x)K T̂2 (x) (6.29)
3
k1 > 0 follows from local continuity and differentiability of the function f0 , and k2 > 0
follows from P
η̇ = f (η, ξ) (6.30)
ξ˙ = (A − BK) ξ + Bδ (z) (6.31)
where
Hence, the local closed loop system differs from the nominal one by an ad-
ditive perturbation. Thus, we can show that locally the closed-loop system
remains stable, despite small uncertainties in the feedback linearization maps.
For more details on feedback linearization concepts and their extensions,
see [2].
6.6 Exercises
1. Consider the fourth order single input system
ẋ = f (x) + gu
with
x2 0
−a sin x1 − b(x1 − x3 ) 0
f (x) =
,
g=
0
x4
c(x1 − x3 ) d
ẋ1 = −x1 + x2 − x3
ẋ2 = −x1 x3 − x2 + u
ẋ3 = −x1 + u
y = x3
ẋ1 = x2 + sin x1
ẋ2 = x21 + γu
y = x1
7.1 Introduction
Consider the second-order nonlinear system
ẋ1 = x2
(7.1)
ẋ2 = f (x) + g(x)u
where f (x) and g(x) ≥ g0 > 0 are unknown nonlinear functions and g0 is a
lower bound on the function g. The main goal is to design a feedback control
law u(x) that would guarantee stability in the presence of the uncertainty,
i.e., a robustly stabilizing control law.
Had we known the nonlinearities exactly, the control design problem
would be simple, i.e.,
1
u= (−f (x) − k1 x1 − k2 x2 ) (7.2)
g(x)
where any choice of the gains k1 , k2 > 0 guarantees stability of the closed-loop
system. However, since we do not know the nonlinear functions, our goal is
to design a potentially switched controller that guarantees robust stability of
the system.
For this reason, assume for a moment that we can directly manipulate
x2 , i.e., use x2 as an input to the first equation in (7.1), then we can pick
x2 = −ax1 with a > 0, and make the first equation exponentially stable. This
idea motivates us to define the so-called sliding surface or sliding manifold
σ = ax1 + x2 = 0 (7.3)
126
Nonlinear Systems and Control — Spring 2018
As such, if we can control the system to the manifold σ and keep it there,
the state trajectory would just asymptotically slide towards the origin. Dif-
ferentiating the function σ along the trajectories of the system yields
σ̇ = aẋ1 + ẋ2 = ax2 + f (x) + g(x)u
Assume further that the unknown functions satisfy the following bound
ax2 + f (x)
2
g(x) ≤ ρ(x), ∀x ∈ R (7.4)
1 2
for some known function ρ(x). Taking V = 2
σ as a Lyapunov function
candidate, we have that
V̇ = σ σ̇ = σ(ax2 + f (x) + g(x)u) ≤ g(x) [|σ|ρ(x) + σu]
We can now design
1, σ>0
u = −(β0 + ρ(x))sgn(σ), β0 > 0, sgn(σ) = (7.5)
−1, σ<0
which yields
V̇ ≤ −g0 β0 |σ| (7.6)
√
We can now define the function W (σ) , 2V , which satisfies1
W (σ(t)) ≤ W (σ(0)) − β0 g0 t (7.7)
This shows that the trajectory of the closed-loop system (7.1) and (7.5)
reaches the surface σ in finite time, and once on this surface, it cannot leave
it, as seen by the inequality (7.6). The fact that the first phase is finished in
finite time is very important in order to claim asymptotic stability (why?).
We can now categorize the behavior of the closed-loop system under slid-
ing mode control into two phases:
Reaching Phase in which the designed input drives all trajectories that
start off the surface σ towards σ in finite time and keeps them there
Sliding Phase in which the motion of the system is confined to the surface
σ and can be described by some reduced order (stable) dynamics
Such a choice of surface σ is called a sliding surface and the corresponding
input is called sliding mode control.
1
The inequality (7.7) can be formally proven using the so-called comparison lemma and
the notion of Dini derivatives, which are beyond the scope of the course.
x2
x1
σ = x1 + ax2 = 0
Remark 7.1 The equation (7.8) shows that we have the scenario of matched
uncertainty, i.e., the input u and the uncertainty δ affect the dynamics via
the same B(x) matrix.
η T1 (x)
z= = T (x) = are given by
ξ T2 (x)
∂T1
η̇ = f (x) = fa (η, ξ) (7.10)
∂x x=T −1 (z)
∂T 2
ξ˙ = f (x) + G(x)E(x)u + δ(x, u) = fb (η, ξ) + G(x)E(x)u + δ(x, u)
∂x x=T −1 (z)
(7.11)
σ = ξ − φ(η) = 0 (7.12)
such that when we restrict the motion of the system to the manifold, the
reduced order model
η̇ = fa (η, φ(η)) (7.13)
is asymptotically stable to the origin. In order to solve for the function
φ(η) we just need to look for a stabilizing feedback in which ξ is taken as
the control input for the reduced dynamics (just as we have seen in the
Introduction section). The choice of the design method is open, and we can
use any of the design techniques we have learned in this course.
Assume that we have solved the stabilization problem for the system
(7.13) and obtained a stabilizing continuously differentiable function φ(η),
such that φ(0) = 0. We now need to design the input u that achieves the
reaching phase to the sliding manifold and maintains the trajectory on the
sliding manifold. The derivative of σ is given by
∂φ ∂φ
σ̇ = ξ˙ − η̇ = fb (η, ξ) + G(x)E(x)u + δ(x, u) − fa (η, ξ) (7.14)
∂η ∂η
Let Ĝ(x) be the nominal model of G(x) and consider the control input
−1 −1 ∂φ
u = E (x) −Ĝ (x) fb (η, ξ) − fa (η, ξ) + v (7.15)
∂η
where v is a free input that we would like to design. Substituting (7.15) into
(7.14), we obtain
σ̇ = G(x)v + ∆(x, v) (7.16)
where
∂φ
∆(x, v) = (I − G(x)Ĝ−1 (x))(fb (η, ξ) − fa (η, ξ))
∂η
−1 −1 ∂φ
+ δ x, E (x) −Ĝ (x) fb (η, ξ) − fa (η, ξ) + v
∂η
which ensures that all the trajectories that do not start on σ converge to the
manifold σ in finite time, and that those that start on σ stay on it.
Remark 7.2 We have used the sgn function for the design of the input v,
which poses theoretical questions in terms of the existence and uniqueness of
sgn(y) sat(y)
1 1
y y
−
−1 −1
ẋ1 = x2 + p1 x1 sin(x2 )
ẋ2 = p2 x22 + x1 + u
where the parameters p1 and p2 are unknown, but satisfy |p1 | ≤ a and |p2 | ≤ b,
where a and b are known. We take η = x1 and ξ = x2 , and we would like to
robustly stabilize the η = x1 dynamics to the origin by using x2 as an input.
To this end, we design x2 = −kx1 , where k > a, which yields
which is a robustly stable system for our choice of k. Accordingly, define the
sliding manifold as
σ = x2 + kx1 = 0
The derivative of σ satisfies
σ̇ = ẋ2 + k ẋ1 = (x1 + kx2 ) + p2 x22 + kp1 x1 sin(x2 ) + u
u = − (x1 + kx2 ) + v
σ̇ = v + ∆(x)
V̇ = σ σ̇ = σ(v + ∆(x))
≤ σv + |σ|ρ(x)
which proves finite time stability to the manifold σ, for any choice of v =
−β(x)sgn(s) (or some continuous approximation) with β(x) = ρ(x) + β0 ,
β0 > 0. Finally, the sliding mode controller is given by
7.3 Tracking
Consider the system, comprised of a chain of integrators (SISO)
ẋ1 = x2
ẋ2 = x3
.. (7.20)
.
ẋn = f (x) + g(x)u + δ(x, u)
y = x1
where f (x) is a known function, while g(x) and δ(x) are uncertain functions
that satisfy, the first of which satisfies
g(x) ≥ g0 > 0
Remark 7.5 The system (7.20) may be the result of an input output feedback
linearization approach, i.e., the linearized dynamics in ξ that we have seen
in the lecture on feedback linearization.
We would like the output y to asymptotically track a given signal r(t),
where r(t) and its derivatives r(1) (t), · · · , r(n) (t) are bounded for all t, r(n) (t)
is piecewise continuous,
and
all these signals are available online.
x1 − r
x2 − r(1)
Let e = .. be the error vector, then we have the following
.
(n−1)
xn − r
error dynamics
ė1 = e2
ė2 = e3
.. (7.21)
.
ėn−1 = en
ėn = f (x) + g(x)u + δ(x) − r(n) (t)
Let us now assume that we can directly design en to stabilize the subsystem
ė1 = e2
ė2 = e3
.. (7.22)
.
ėn−1 = en
In this case, we can take any feedback of the form
to yield
σ̇ = g(x)v + ∆(t, x, v)
where
g(x)
∆(t, x, v) = I − k1 e2 + · · · + kn−1 en + f (x) − r(n) (t)
ĝ(x)
1 (n)
+ δ x, − k1 e2 + · · · + kn−1 en + f (x) − r (t) + v
ĝ(x)
ρ(x)
then designing v = −β(x)sgn(σ) with β(x) ≥ 1−κ 0
+ β0 and β0 > 0 achieves
asymptotic tracking. You can show this using exactly the same argument as
in the previous section with a Lyapunov function candidate V = 12 σ 2 .
7.4 Exercises
1. Given the system:
ẋ1 = x2
ẋ2 = x21 + γu (7.25)
y = x1
Design a control τ that tracks the coordinates qd and q̇d , with the
following approaches:
Optimal Control
∗ dL ∗ 1 dL2
L(x) = L(x ) + (x − x ) + (x − x∗ )2 + ..
dx x=x∗ 2 dx2 x=x∗
In order for the point x∗ to be a minima, we should have the following
condition holding (at least locally)
L(x∗ ) ≤ L(x), ∀x : |x − x∗ | <
136
Nonlinear Systems and Control — Spring 2018
min L(x)
x
(8.1)
s.t. f (x) = 0
The function H(x, λ) is called the Lagrangian of the problem and the co-
efficients λ ∈ Rm are called Lagrangian multpliers.
Now, let’s look at the necessary conditions for (8.2). Taking partial
derivaties and setting them equal to zero, we get
∂H ∂L ∂f
∗ =0⇒ ∗ + λT
∂x x ∂x x ∂x x∗
which is the same necessary condition as the original problem. More-
over,
∂H
= 0 ⇒ f (x∗ ) = 0
∂λ x∗
which is the equality constraint of the original problem.
Solving this system of linear equations we find the solution (x∗1 , x∗2 , λ∗ ) =
(1, −1, 2). This solution is only a candidate for solution. One must now test
whether these coordinates represented the solution we seek.
Example 8.4 Consider the following optimization problem
min L(x) = x21 + x22 + x23
x
s.t. f (x) = x1 x2 + x2 x3 + x3 x1 − 1 = 0
The Lagrangian is given by
H(x, λ) = x21 + x22 + x23 + λ(x1 x2 + x2 x3 + x3 x1 − 1)
The necessary conditions are given by
∗ ∗
2x1 + λx∗2 + λx∗3 2 λ λ x1 0
∂H T
∗ ∗ ∗
= 2x2 + λx1 + λx3 = λ 2 λ x2 = 0
∗
∂λ x∗
2x∗3 + λx∗1 + λx∗2 λ λ 2 x∗3 0
The
equalities
above can be satisfied, if x∗1 = x∗2 = x33 = 0 OR if the matrix
2 λ λ
λ 2 λ has no trivial null space, i.e., if
λ λ 2
2 λ λ
det λ 2 λ = 0 ⇒ 2λ3 − 6λ2 + 8 = 0
λ λ 2
which implies that the Lagrange multiplier can take values λ∗ = −1 or λ∗ = 2.
Let’s analyse
all these cases using the final conditon of the necessary
conditions ∂H
∂λ
= f (x∗ ) = 0.
x∗
If x∗1 = x∗2 = x33 = 0, then the condition f (x∗ ) = 0 cannot be satisifed,
therefore this is not an optimum point.
If λ = 2, then the null space is spanned by the following two vectors:
2 −1 −1 and 0 1 −1 , which means that we have the following two
potential solutions: (2x∗1 = −x∗2 , x∗2 = x∗3 ) OR (x∗1 = 0, x∗2 = −x∗3 ), both of
which do not yield a real-valued solution when substituted into the constraint
f (x∗ ) = 0.
If λ = −1, then the null space is spanned by 1 1 1 , which means that
x∗1 = x∗2 = x∗3 , which
p when coupled with the constraint f (x∗ ) = 0, yields
x∗1 = x∗2 = x∗3 = 1/3 which is a candidate for an optimum. We still need
to check the sufficient conditions for this candidate solution to the problem.
T ∂fi
d Hxx | (x∗ ,λ∗ ) d > 0, ∀d : d = 0, ∀i = 1, · · · , m
∂x x∗
u : [0, T ] 7→ Rm
Theorem 8.5 Solutions of the Optimal Control Problem also solve the fol-
lowing set of differential equations:
State Equation:ẋ = Hλ = f (x, u), (8.6)
∂L ∂f
Co-State Equation: − λ̇ = Hx = +λ (8.7)
∂x ∂x
∂L ∂f
Optimality Condition: 0 = Hu = +λ (8.8)
∂u ∂u
State initial condition: x(0) = x0 (8.9)
Co-state final condition: λ(T ) = (φx + ψx ν)|x(T ) (8.10)
where ν is the Lagrange multiplier corresponding to end condition given by
Equation 8.5.
Now for the function u : [0, T ] → Rm to minimize the cost function, δJ must
be zero for any value of the differentials. Thus, all the expressions before the
differentials have to be zero for every t ∈ [0, T ]. This observation gives the
equations as required.
Remark 8.7 Just as in the static optimization case, where the zeros of the
derivatives represent candidates to be tested for extremum, the solutions of
the system described in Theorem 8.5 are to be seen as candidates to be the
optimal solution and their optimality must be tested for each particular case.
In other words, the Pontriaguin Maximum Principle delivers necessary, but
not sufficient, conditions for optimality.
Remark 8.9 Special attention is needed in the case where Hu = const for all
u, in which case the optimal solution is found where the constraints are active.
This sort of solution is often called “Bang-Bang solution” to acknowledge for
the fact that they are often discontinuous and take values at the bounds.
subject to
ψ(x(T )) = x(T ) = 0.
where
H(x, u, λ) = 0.5u2 + λ1 x2 + λ2 u
Now we see that
Hu = u + λ2 = 0
Thus, we can solve the differential equations and see that
λ1 (t) = ν1
λ2 (t) = −ν1 (t − T ) + ν2
u(t) = ν1 (t − T ) − ν2
Placing these linear expressions in the dynamic equations for x and using
the initial conditions x(0) = x0 , we obtain a linear system of equations with
respect to (ν1 , ν2 ), which gives us the final parametrization of the control law
u. Figure 8.3 shows the result of applying this control law with T = 15.
Example 8.11 Consider the same problem as in Example 8.10, but with a
performance reflecting minimal time, i.e.
Z T
J[x0 , u(·)] = 1 dt
0
Figure 8.3: Trajectories for Minimal Energy Case. Arrival time T = 15.
−1 ≤ u(t) ≤ 1 ∀t ≥ 0.
Now
H(x, u, λ) = 1 + λ1 x2 + λ2 u.
We notice that Hu = λ2 , i.e. Hu does not depend on u and thus the extremum
is to be reached at the boundaries, i.e.
u∗ (t) = ±1, ∀t ≥ 0.
Using
u∗ = arg min H(u) = arg min λ2 (t)u(t)
u u
we see that
u∗ (t) = −signλ2 (t).
Figure 8.4 depicts the result of deploying this control. Note that the control
law is discontinuous. Further, we observe that the system now needs less
time to reach the origin than in the previous “Minimal Energy” example.
Figure 8.4: Trajectories for Minimal Time Case. Arrival time T ≈ 13.
∂ 2H ∗ ∗ ∗
(x , u , λ ) > 0
∂u2
∂ 2H ∗ ∗ ∗
H(x∗ , u, λ∗ ) ≈ H(x∗ , u∗ , λ∗ ) + (u − u∗ ) (x , u , λ )(u − u∗ )
∂u2
≥ H(x∗ , u∗ , λ∗ )
Before stating the next result we also note the following fact for the
Hamiltonian H = H(x, u, λ).
dH ∂H ∂H ∂u
= + .
dx ∂x ∂u ∂x
if u∗ is an optimal control policy candidate, then ∂H ∂u
= 0 and we establish
that
dH ∂H
(x, u∗ , λ) = (x, u∗ , λ).
dx ∂x
Theorem 8.14 (Sufficiency Conditions II) Let u*(t), and the correspond-
ing x∗ (t) and λ∗ (t) satisfy the minimum principle necessary condition for all
t ∈ [0, T ]. Then, u∗ is an optimal control if H(x, u∗ , λ) is convex in x and
φ(x) is convex in x.
J(x0 , u) − J(x0 , u∗ ) ≥ 0,
where x satisfies Equation 8.3. Now u∗ = arg min H and the convexity of H
give us
H(x, u, λ) ≥ H(x, u∗ , λ)
∗ ∗ ∂H
≥ H(x , u , λ) + (x − x∗ )
∂x x∗ ,u∗ ,λ
Or equivalently
or
This implies
∂φ
− (x − x∗ ) = −φ(x) + φ(x∗ ) + α, α ≥ 0.
∂x x=x∗
J(x0 , u) − J(x, u∗ ) = α ≥ 0,
The
We dynamics is described
want to minimize by of fuel used up, that is, to maximize the
the amount
amount remaining once we have landed, therefore find the optimal strategy u(t)
which minimize this term ḣ = v
! τ
u
J[u(.)]v̇== −g +
u(t)dt.
0 m
ṁ = −ku
Exercise 5
with k and g positive constants, and the control constrained to 0 ≤
[minimum time problem]
u(t) ≤ 1. the
Consider Thethelanding has to be soft, i.e. we want h(t∗ ) = 0, v(t∗ ) = 0
linear system
∗
at the landing time t . The initial conditions h(0), v(0), m(0) are fixed.
Use Pontryagin’s minimum x˙1 principle
= −x2 + to u1 find a candidate control u◦ (t)
x˙2 = x1 + u2
to minimize the fuel consumption
where the control should respect the constraint
Z t∗
J(u)
u21 +=
u22 = 1 u(t)dt .
0
we would like to reach the an arbitrary point starting from the pair (a, b) in
2. Let us consider
minimum time. a unidimensional optimal control problem with linear
dynamics and quadratics costs
Z 1 2
x u2 x2 (1)
min + dt +
|u(t)|≤10 0 2 2 2
s.t. ẋ = x + u, x(0) = 1 .
State-Dependent Riccati
Equation
ẋ = Ax + Bu (9.1)
153
Nonlinear Systems and Control — Spring 2018
ẋ = Ax + Bu + w (9.5)
y(t) = Cx + v (9.6)
L = P C T Re−1 (9.8)
0 = AP + P AT − P C T Re−1 CP + Qe , P ≥ 0 (9.9)
Qe = E(wwT ) (9.10)
Re = E(vv T ) (9.11)
The Riccati equation above has its origin in the minimization of the cost
functional Z 0
J[xe (·)] = [(xe − x)(xe − x)T ]dt
−∞
A : Rn 7→ Rn×n
ẋ = A(x)x + B(x)u(t)
x(0) = x0 .
which has a linear structure with state dependent matrices A(x) and B(x).
• Note that these parameterizations are not unique for n > 1. For in-
stance, if A(x)x = f (x), then (A(x) + E(x))x = f (x) for any E(x) such
that E(x)x = 0.
• We also note that given A1 (x)x = f (x) and A2 (x)x = f (x), then for
any α ∈ R
A(x, α)x = [αA1 (x) + (1 − α)A2 (x)]x = αf (x) + (1 − α)f (x) = f (x)
Remark 9.1 In general, one needs to answer the question about the optimal
choice of α for the given application at hand. In principle, α can also be
made a function of x, delivering additional degree of freedom for design.
We note that the eigenvalues of the matrix, given simply by the matrix
components a11 and a22 are negative for any value of x. Moreover, we also
notice that for = 0 the eigenvalues are both equal to −1, with the effect that
the state x2 will converge to zero rapidly. This will make the term a12 also
small, and eventually lead to x1 to also converge to zero, see Figure 9.1.
However, if = 1 then at least for some initial conditions, x1 may grow
fast and make the term a22 converge to zero, which will lead to x2 becoming
a constant. Since also a11 = a22 will be small, the term a12 will be dominant
in the dynamics of x1 and will lead x1 to grow to infinite, see Figure 9.2.
Note, that the state and input weighting matrices are also assumed state
dependent.
Under the specified conditions, we apply point-wise the LQR method for
(A(x), B(x)),(Q(x), R(x)) generating a control law
By applying this method one expects to obtain the good properties of the
LQR control design, namely, that
Theorem 9.3 (Mracek & Cloutier, 1998) Let us assume the following con-
ditions hold.
1
2. The pairs (A(x), B(x)) and (A(x), Q 2 (x)) are pointwise stabilizable,
respectively, detectable, state dependent parameterizations of the non-
linear system for all x ∈ Rn .
which means that the linear term is dominant near the origin.
Remark 9.4 Note that global stability has not been established, this is a local
result. In general, as we saw in Example 9.2, even when
Remark 9.5 One can prove though that if Acl (x) Hurtwitz and symmetric
for all x, then global stability holds. The proof is simply obtained by showing
that under these conditions V (x) = xT x is a Lyapunov function for system
(9.15).
Theorem 9.6 Under conditions of Theorem 9.3, the SDRE nonlinear feed-
back solution and its associated state and costate trajectories satisfy the first
necessary condition for optimality of the nonlinear optimal regulator problem
where
When using the SDRE method one observes that as the state converges
to zero, the solution also converges to the optimal solution given by the Pon-
triaguin Maximum Principle. This observation is supported by the following
result.
Theorem 9.7 Assume that all state dependent matrices are bounded func-
tions along the trajectories. Then, under the conditions of Theorem 9.3 the
Pontriaguin second necessary condition for optimality.
λ̇ = −Hx (x, λ, u)
is satisfied approximately by
λ = P (x)x
at a quadratic rate along the trajectory. Here P (x) denotes the solution of
Equation 9.19.
Proof: The proof of this statement regarding λ(·) is quite technical and is
obtained as follows. First, we observe
Equating these expressions, grouping linear and quadratic terms and using
(9.19), one obtains that the residuals are all quadratic functions of x. The-
orem 9.3 proves that these quadratic terms in x decay quadratically as x
converges to the origin.
ẋ1 = x2
ẋ2 = −a sin(x1 ) − bx2 + cu(t).
Indeed,
0 1 0
A(x) = B(x) =
−a sin(x1 − d)/(x1 − d) −b c
We choose
1 + (x1 − d)2 0
Q(x) = , R = 1.
0 1 + x22
The choice of Q(x) ensures larger control actions for large deviations from
the equilibrium.
The magenta trajectory in Figure 9.3 is obtained using LQR on the stan-
dard linearization of the original system with
1 0
Q(x) = , R = 1.
0 1
Note how the state is brought faster to the equilibrium in the SDRE case.
Output Feedback and SDRE Approach One can extend these same
ideas to the case where the state is not available for control. As expected
the method reduces to use the matrix functions A(·), B(·), C(·) to calculate
pointwise the corresponding Kalman gain L described in (9.8). Clearly, since
x is not available, one must evaluate the matrix functions at the current
estimate xe , which is calculated following (9.7).
In Figure 9.3 the line in black depicts the result of this strategy for the
previous example, but using only the position x1 for calculation the control.
One observes that the controller is able to bring the system to the desired
position.
We also observe though that the transient is now much longer. The
length of this transient being dependent, among other issues, on the quality
of the initial estimate and on the measurement noise. Figure 9.4 shows the
transients of x and xe . Note that the controller has only xe to plan its actions.
Figure 9.4: Estimate and true state using the SDRE approach
w(t) z(t)
P
u(t) y(t)
9.3 Exercises
1. Verify that the Hamiltonian-Jacobi equation for a linear system with
quadratic costs reduces to the Riccati equation.
ẋ = f (x) + b(x)u ,
(b) Study the stability of the closed loop system. Is there any a priori
guarantee you can exploit?
(c) Recall that the previous optimal control problem can be solved
looking at the infinite horizon Hamilton-Jacobi equation. Write
the equation and find an explicit solution uo (x) for the controller.
(d) Are us (x) and uo (x) the same or different? Did you expect this?
Motivate your answer.
ẋ = x2 + u
10.1 Introduction
In the first section we looked at the following simple system.
ẋ1 = x2
ẋ2 = u
y = x1
The goal is keep the output at a given setpoint ysp using the control action
u(·), which is bounded −M ≤ u ≤ M . Figure 10.1 shows the result of
designing a control using LQR plus saturation at M , i.e.
u = sat(−Kx, M )
We observe that as the the value of M decreases this simple strategy fails
to keep the system stable. The reason is that although the controller does
know about the system dynamics, the controller design ignores the constraint,
being over optimistic about its ability to slow down the system once the speed
is high.
Intuitively, it is clear that better results would be achieved if we made the
controller see not only the dynamics but also the barrier. Model Predictive
Control (MPC) offers that framework. Indeed, Figure 10.2 shows the result
of applying MPC to this problem. We observe that stability is not lost
as M decreases. Model Predictive Control has largely conquered industrial
applications by means of being both systematic and intuitive.
166
Nonlinear Systems and Control — Spring 2018
1. Plant model
ẋ = f (t, x, u), x(0) = x0
2. Constraints
g(t, x, u) = 0
gi (t, x, u) ≤ 0
3. Objective function
Z t+T
J[x0 , u(·)] = f0 (τ, x(τ ), u(τ ))dτ + F (x(t + T ), u(t + T ))
t
Remark 10.1
1. The model is used to predict the system behavior into the future.
5. For nonlinear systems, one has to deal with risks like loss of convexity,
local minima, increased computational time, etc. Still, the optimization
problems to be solved online are highly sparse. This allows for efficiency
gains of several orders of magnitudes.
Problem Statement
The process consists of a tank with a measurable inflow disturbance and a
controllable outflow in form of a pump. Constraints are set on the tank level
and the pump capacity. A level reference target is given.
Model Variables
1. Inputs of the model are the known but not controllable tank inflow and
the controlled valve opening variation.
2. States are the tank level and the current valve opening:
Model Equations
State dynamics
volume(t + 1) = volume(t) + fin (t) − fout (t)
Problem Constraints
1. Level within min/max
2. Outflow within min/max
3. Max valve variation per step
Results Discussion
Figure 10.7 shows optimization results obtained with a receding horizon of
T=20 steps. Note how the Model Predictive Controller is able to nicely bring
the level to the desired setpoint.
On the other hand, Figure 10.8 shows the same optimization obtained with
a receding horizon of T = 2 steps. In this case, the performance considerably
deteriorates: stability is lost!
In the last example we look at the problem is controlling 3 interconnected
tanks. The problem to solve is the same as before, namely, to keep the tank
levels at given setpoints. The problem is now not just larger, but also more
complicated due to the interaction among the tanks. We design 2 controllers,
one that knows about the true plant dynamics, and one that treats the tanks
as if they were independent.
Figure 10.10 shows the step response of this model. Note how the effect
of each actuators propagates in the system from one tank to the next.
In Figure 10.11 we represent the closed loop responses of 2 different con-
trollers:
• one that knows about the interconnection among the tanks and can
better predict the system behavior and
• one that treats each tanks as independent entities, where the valve is
used to control the level.
2. 1980’s: linear state space models, quadratic cost function, linear con-
straints on inputs and output
4. Dual mode control (infinite horizon): begin with NMPC with a termi-
nal constraint set, switch then to a stabilizing linear controller when
the region of attraction of the linear controller is reached.
In all these cases, the idea of the proofs is to convert the problem cost function
into a Lyapunov function for the closed loop system.
Let us consider at least one case in details. For that, we introduce the
MPC problem for discrete time systems. Note that in practice, this is the
form that is actually used.
Consider the time invariant system
1. Plant model
2. Constraints
g(k, x, u) = 0, k = 0 : ∞
gi (k, x, u) ≤ 0, k = 0 : ∞
3. Objective function
k+N
X
J[x0 , u(·)][= L(x(l), u(l))
l=k
Theorem 10.2 Consider an MPC algorithm for the discrete time plant,
where x = 0 is an equilibrium point for u = 0, i.e. f (0, 0) = 0.
Let us assume that
V (x) = J ? (x),
• V (0) = 0
• V (x(k + 1)) − V (x(k)) < 0. The later is seen by noting the following
argument. Let
u?k (l), l = k : k + N
be the optimal control sequence at time k. Then, at time k + 1, it is
clear that the control sequence u(l), l = k + 1 : N + 1, given by
Remark 10.3 Stability can be lost when receding horizon is too short, see
Figure 10.12.
Remark 10.4 Stability can also be lost when the full state is not available
for control and an observer must be used. More on that topic in the Observers
Lecture.
10.6 Exercises
1. Let us consider the following standard MPC problem :
P −1 T
min J = N i=0 xi Qxi + uTi Rui + xTN P xN
s.t. xk+1 = Axk + Buk , x0 is given
kuk k∞ ≤ γ, ∀k ∈ [0, . . . , N − 1].
xk+1 = −x3k + u.
Design a nonlinear MPC for such a system in Matlab. Close the loop
and, starting from an initial point x0 = 2, plot the state evolution in
time.
Hint: Use the Matlab function fmincon to solve the nonlinear opti-
mization problem
Figure 10.11: MPC and SISO Responses in the Interconnected Tanks Case
Figure 10.12: Double Integrator looses stability lost for short horizon
182
Nonlinear Systems and Control — Spring 2018
Let
u = −K x̃ = −K(x − e)
Then
ẋ A − BK BK x
=
ė 0 A − LC e
Thus if A − BK and A − LC are stable matrices, the resulting closed loop
system is also stable.
Unfortunately, for nonlinear systems this approach does not work in gen-
eral. The problem is that generally speaking it is not possible to estimate
the error dynamics – i.e. the dynamics of the difference between the actual
state and the estimated state.
There are several approaches to state estimation that may be applied:
1. Extended Kalman Filter (EKF): Extension of linear Kalman Flter
2. Recursive Prediction Error (RPE): Filter based on the sensitivity equa-
tion
3. Unscented Kalman Filter (UKF): Mix of Monte-Carlo with Kalman
Filter
4. Moving Horizon Estimation (MHE)
5. High Gain Observers
In the sequel we present techniques 1, 4 and 5 for estimating the state of
a nonlinear system.
Note that the derivatives Ṫg , Ṫm , Ṫs in y need to be reconstructed from the
temperature measurements. Due to measurement noise, one must expect that
these “reconstructed” derivatives are noisy measurements of the true deriva-
tives.
Figure 11.2 shows how the estimates αge , αse approach the true values
[3; 1] as N , the number of measurements, grows.
of transient behavior, then one must make sure that the steady state phases
are not presented to the algorithm in the same data set because otherwise the
result will be the average of two different steady state modes, which is not
what is desired.
For example, the results in Figure 11.2 were obtained by resetting the time
arrays after the change of parameters, i.e. at times t = 50, 100. Without this
manipulation the observer does not deliver meaningful results.
Making the derivative of this function equal to zero, we derive the following
formula for optimal estimate
x̂ = (C T S −1 C)−1 C T S −1 y; S = N −T N −1 .
always play a role. In this section we must learn to propagate the statistical
properties of the state, so that we can use them when calculating the optimal
estimator.
Let us assume we have a linear dynamical system
ẋ = Ax + Bu + Lw
where
1. m(t) = E[x()]
3. Q is covariance of w.
Note how the uncertainty (covariance) of the mean of the state will always
grow due to the driving force LQLT .
Example 11.4 We consider the same heat exchanger, but now we are pre-
pared to confront the realistic case where all measurements are noisy and thus
calculating the derivatives accurately is not realistic. Also, we should drop the
assumption that we know when the heat exchanger changes the operational
modes. Under these conditions, the static estimation of parameters can not
be used because both we would not have the elements to construct the matrix
C used in Example 2.
Formulae Meaning
At time tk , given x̂(tk ), y(tk ), P (tk ), Q, R Data at each step
for τ ∈ [tk , t−
k+1 ] Step forward in time for es-
timates and covariances
x̂˙ = f (x̂)
∂f ∂f T
Ṗ = (x̂(tk ))P + P (x̂(tk ))
∂x ∂x
Estimation error
e(tk+1 ) = y(tk+1 ) − h(x̂(t−
k+1 ))
Kalman gain
∂h T
K(tk+1 ) = P (t−
k+1 ) (x(t−
k+1 ))[A(tk+1 )]
−1
∂x
In this more realistic case we resort to use the Extended Klaman Filter,
whereas we will estimate the states Tg ,Tm ,Ts and the parameters αg and αs .
The equations remain the same, i.e. Equations 11.1. The important non
trivial step is to create dynamic equations for the parameters. In this case it
is enough
ṗg = 0
ṗs = 0
and
c1 0
Qpp = .
0 c2
ŷ(tk+1 ) = h(x̂(t− −
k+1 ), u(tk+1 ), p̂(tk+1 ))
ẋ = f (x, u, p) + w1 e(tk+1 ) = y(tk+1 ) − ŷ(tk+1 )
ṗ = 0 + w2
y = h(x, p) + η ∂f ∂f T ∂f T ∂f T
Q = E[w1 w1T ] Ṗxx = P xx + P xx + P + P xp +Q
∂xT ∂x ∂pT xp ∂p
Qpp = E[w2 w2T ] ∂f ∂f
Ṗxp = T
Pxp + T Ppp
R = E[ηη T ] ∂x ∂p
Ṗpp = Qpp
T T
∂h ∂h
K(tk+1 ) = (Pxx (t−
k+1 ) + Pxp (t−
k+1 ) )A−1 (tk+1 )
∂x ∂p
T
T − ∂h ∂h T −1
L(tk+1 ) = (Pxp (tk+1 ) + Ppp (t−
k+1 ) )A (tk+1 )
∂x ∂p
x̂(t+ −
k+1 ) = x̂(tk+1 ) + K(tk+1 )e(tk+1 )
p̂(tk+1 ) = p̂(tk ) + L(tk+1 )e(tk+1 )
Qxp = 02×3 .
Note that now there is no need for manipulating the arrays: the algorithm
is recursive and reacts correctly to operational mode changes.
J[x(t − M ), . . . , x(0)] =
−1
X
{[x(t + 1) − f (x(t), uM (t))]2Qx + [yM (t) − h(x(t), uM (t))]2Qu }
t=−M
Tuning parameters are qx , qy > 0, which denote the degree of trust on the
existent measurements (so called measurement noise level) and in the model
(process noise level). For large estimation horizon M , this method converges
towards a Kalman Filter.
Remark 11.5 Moving Horizon Estimation allows keeping the problem con-
straints explicitly, which might be important in application for the sake of
eliminating ambiguity.
Remark 11.6 (Findeisen, 2003): Stability results of MPC and MHE can be
obtained assuming that
1. MHE can be made to converge very fast: given error bound is satisfied
after a given number of iterations
Neither of these facts are obvious to prove for a given system, but they show
in what direction ones needs to work to guarantee stability.
• collect the data needed, i.e. the values of actuators, measurements and
model parameters,
• pass these values to the controller for calculation of the optimal moves.
ẋ1 = x2
ẋ2 = φ(x, γ(x))
y = x1
To implement this feedback control using only y, use the following estimation
scheme:
x̂˙ 1 = x̂2 + h1 (y − x̂1 )
x̂˙ 2 = φ0 (x̂, γ(x̂)) + h1 (y − x̂1 )
Where φ0 (x, u) is a nominal model for φ(x, u). The estimation error x̃ = x− x̂
then satisfies
x̃˙ 1 = −h1 x̃1 + x̃2
x̃˙ 2 = −h2 x̃1 + δ(x, x̂)
where
δ(x, x̂) = φ(x, γ(x̂)) − φ0 (x̂, γ(x̂)).
We want (h1 ,h2 ) to be such that x̃(t) → 0, and if δ ≡ 0, this is easily
achieved by making the matrix
−h1 1
A0 =
−h2 0
to be stable. For δ 6= 0, we design (h1 ,h2 ) in such a way that the transfer
function
G0 : δ 7→ x̃
is as small as possible, i.e. that the gain of the system is as small as possible.
In this case:
1 1
G0 = 2 ,
s + h1 s + h2 s + h1
u = γ(x) = −x32 − x1 − x2
The following plots compare the behaviour of the system with state feed-
back, with output feedback and with saturated output feedback for value of ε
equal to 0.2 and 0.1. In Figure 11.6 and Figure 11.7 we see how for smaller
values of ε, the transient is faster but larger, leading to earlier instabilities of
the unsaturated system, but faster convergence of the estimated state to the
actual state for the saturated system.
In particular, note how for the case = 0.1 depicted Figure 11.7, the
brief transient is sufficient to drive the controller without saturation into an
unstable region (the simulation stops around 0.9s), while in the case with
saturation, the controller performs almost as well as the state feedback con-
troller.
Further, as ε → 0 the region of attraction under output feedback ap-
proaches the region of attraction under state feedback. This holds whenever
γ(x) is a globally bounded stabilizing function. Indeed, as ε → 0 the time in
saturation becomes smaller. Eventually this time is so small that the system
state does not move during this time.
In general we have the following result:
Theorem 11.8 Consider the SISO system
ẋ = AC x + BC φ(x, u)
y = CC x
Assume that we have a stabilizing state feedback controller:
v̇ = Γ(v, x)
u = γ(v, x)
with g and G globally bounded. Consider then the output feedback controller
v̇ = Γ(v, x̂)
x̂˙ = AC x̂ + Bφ0 (x̂, u) + H (y − Cc x̂)
u = γ(v, x̂)
where
α1/
ε
α2/ 2
ε
H= .. ∈ Rρ , (r the relative degree)
.
αρ/ ρ
ε
and ε > 0, and α1 , α2 , . . . αρ are such that the polynomial
sρ + α1 sρ−1 + . . . + αρ = 0
has all its roots in the complex left half plane. Then ∃ ε0 > 0 such that for
all ε < ε0 , the closed loop system is exponentially stable.
Remark 11.9 In this formulation we have neglected the unobserved zero
dynamics. If they were to exist, then we need to assume that the original
system is minimum phase. Then the result will hold.
11.6 Exercises
1. Observability tells us whether it is possible to design a state estimator
for an autonomous system
x+
1 = (1 − Ts )x1 + Ts x2 + Ts w
x+ 3
2 = x2 − Ts x1 + Ts w
y = sin (x1 ) + 2x2 + v
Show that the solution to the system exists and is unique. Hint: Use the Jaco-
d
bian and remember that for any function g(x), we have that dx tan−1 (g(x)) =
d
g(x)
dx
1+g(x)2
.
which is bounded on any compact set R2 . Hence we have local existence and
uniqueness of the solution.
200
Nonlinear Systems and Control — Spring 2018
ẋ1 = −x1 + x1 x2
ẋ2 = −x2
Solution:
0 = −x1 + x1 x2 ⇒ x1 (x2 − 1) = 0
0 = −x2 ⇒ x2 = 0
From which it follows that the equilibrium point is the origin (0, 0).
Solution:
1. We can rewrite the equations as
ẋ = f (x) + g(x)u
x2 0
where f (x) = and g(x) = .
a sin(x1 ) −b cos(x1 )
We need to check the two conditions for full state feedback linearization:
G(x) = g(x), adf g(x)
Now,
∂g ∂f
adf g(x) = [f, g](x) = f (x) − g(x)
∂x ∂x
0 0 x2 0 1 0
= −
b sin(x1 ) 0 a sin(x1 ) a cos(x1 ) 0 −b cos(x1 )
b cos(x1 )
=
bx2 sin(x1 )
Therefore,
0 b cos(x1 )
G(x) =
−b cos(x1 ) bx2 sin(x1 )
And, det(G(x)) = b2 cos(x1 )2 6= 0, ∀x1 ∈ [0 π/2).
We also have that the distribution ∆ = {g(x)} being involutive. As
such, the system is feedback linearizable.
ẋ1 = v1 (x2 ) + u1
ẋ2 = u2
with the initial condition x(0) = (x1 (0), x2 (0)) = (0, 0).
1. Assuming that the river current speed v = (v1 (x2 ), 0) = (x2 , 0), find an
optimal control u(t) that moves the boat to the maximum distance in
the x1 -direction in a fixed time T .
2. How would you solve the problem if the condition is added that the
boat must be at the river bank at time 2T , i.e., x2 (2T ) = 0?
Solution:
subject to the boat dynamic equations and the motor effort constraint.
The Hamiltonian is given by
H = 0 + λ1 (x2 + u1 ) + λ2 u2
λ1 (t) = −1
λ2 (t) = t − T
for t ∈ [0, T ]. The optimal control law u∗ (t) is found by mininizing the
Hamiltonian function subject to the input constraints, i.e.,
which yields
" #
λ1 (t) √1
λ − kλ(t)k 2
u∗ (t) = − = 2
= T −t )
1+(t−T
kλk2 λ2 (t)
− kλ(t)k √
2 1+(t−T )2
ẋ1 = ax1 − x1 x2
ẋ2 = bx21 − cx2
Solution:
207
Nonlinear Systems and Control — Spring 2018
= −a kxk22 − a kxk42
hence GAS.
2. We also have that 21 kxk22 ≤ V (x) ≤ 1
2
kxk22 , and V̇ (x) ≤ −a kxk22 from
which it follows that
V̇ (x) ≤ −a kxk22 ≤ −2aV (x) ⇒ V (x(t)) ≤ e−2at V (x(0))
where the last inequality follows from the comparison lemma. Finally,
we have that
1 1
kx(t)k22 ≤ V (x(t)) ≤ e−2at V (x(0)) ≤ e−2at kx(0)k22 ⇒ kx(t)k2 ≤ e−at kx(0)k2
2 2
and exponential stability follows.
Solution:
1. We can show that V (x) is positive definite via the following argument:
Solution:
1. Consider the manifold s = x2 − kx1 . On the manifold, we have that
ẋ1 = −kx1 + x1 e−|x2 | = −(k − e−|x2 | )x1
which is exponentially asymptotically stable for any choice of k > 1. It
remains to show that we can drive the system towards the mainfold in
finite time. First, we have that
ṡ = ẋ2 − k ẋ1 = ψ(x1 , x2 ) + u − kx2 − kx1 e−|x2 |
Consider the Lyapunov function candidate V = 21 s2 , then
V̇ = sṡ = s(ψ(x1 , x2 ) + u − kx2 − kx1 e−|x2 | ) ≤ |s| kxk4 + s(u − kx2 − kx1 e−|x2 | )
Solution:
1.
ẏ = ẋ2 = x1 + ψ(x2 ) + u
hence the system has relative degree ρ = 1 and is input-output lineariz-
able.
2. We can rewrite the equations as
ẋ = f (x) + g(x)u
−x1 − x2 + ψ(x2 ) 0
where f (x) = and g(x) = .
x1 + ψ(x2 ) 1
We need to check the two conditions for full state feedback linearization:
G(x) = g(x), adf g(x)
Now,
∂g ∂f
adf g(x) = [f, g](x) = f (x) − g(x)
" ∂x # ∂x " #
−1 −1 + dψ(xdx2
2)
0 1 − dψ(x2 )
dx2
=− dψ(x2 ) = dψ(x2 )
1 dx2
1 − dx2
Therefore, " #
0 1 − dψ(x
dx2
2)
G(x) =
1 − dψ(x
dx2
2)
dψ(x2 )
And, det(G(x)) = dx2
− 1 6= 0, ∀x2 6= 0.
We also have that the distribution ∆ = {g(x)} being involutive. As
such, the system is feedback linearizable.
2. Objective function
k+N
X
J[x0 , u(·)][= L(x(l), u(l))
l=k
V (x) = J ? (x),
• V (0) = 0
• V (x(k + 1)) − V (x(k)) < 0. The later is seen by noting the following
argument. Let
u?k (l), l = k : k + N
be the optimal control sequence at time k. Then, at time k + 1, it is
clear that the control sequence u(l), l = k + 1 : N + 1, given by
[3] James Cloutier et al. Nonlinear regulation and nonlinear h∞ control via
the state dependent riccati equation technique. Proceedings of First Inter-
national Conference on Nonlinear Problems in Aviation and Aerospace,
Florida, May,1996.
[5] C. Mracek. Control designs for the nonlinear benchmark problem via the
SDRE method. International Journal of Robust and Nonlinear Control,
(8):401–433, 1998.
[6] A. van der Schaft. L2 -Gain and Passivity Techniques in Nonlinear Con-
trol. Springer-Verlag, London, 2000.
214