Controller Design for Systems on Manifolds in Euclidean Space

arXiv:1710.02780v1 [math.OC] 8 Oct 2017

Dong Eui Chang

Abstract— Given a control system on a manifold that is
embedded in Euclidean space, it is sometimes convenient to
use a single global coordinate system in the ambient Euclidean
space for controller design rather than to use multiple local
charts on the manifold or coordinate-free tools from differential
geometry. In this paper, we develop a theory about this and
apply it to the fully actuated rigid body system for stabilization
and tracking. A noteworthy point in this theory is that we
legitimately modify the system dynamics outside its state-space
manifold before controller design so as to add attractiveness to
the manifold in the resulting dynamics.

I. I NTRODUCTION
Quite a few control systems are defined on manifolds that
are not homeomorphic to Euclidean space, where we use
the phrase ‘Euclidean space’ to mean some Rn space, not
imposing any metric on it. The geometric, or coordinatefree, approach has been developed to deal with such systems
without being dependent on the choice of coordinates. In
many cases, however, a state-space manifold appears as
an embedded manifold in Euclidean space and the control
system naturally extends from the manifold to its ambient
Euclidean space: one example is the free rigid body system
on SO(3) × R3 which naturally extends to R3×3 × R3 . In
such a case, it might be advantageous to use one single
global Cartesian coordinate system in the ambient Euclidean
space in designing controllers for the system on the manifold,
thus eliminating the necessity of using multiple local charts
or rather complex tools from differential geometry. When
the state-space manifold, say M , is a leaf of a foliation
of invariant manifolds of the extended, or ambient, system,
we can legitimately modify the ambient system dynamics
outside M to add attractiveness to M while preserving the
dynamics on M ; design controllers for the modified ambient
system in the ambient Euclidean space; and then apply
the resultant controllers to the original system on M . In
this paper, we showcase this program in combination with
the linearization technique; the usual Jacobian linearization
is carried out on the ambient system to come up with
stabilizing or tracking controllers for the original system
on the manifold. The free rigid body system is used here
to illustrate every step of this program. We note that the
program of using ambient Euclidean space was successfully
employed in providing a simple proof of the Pontryagin
D.E. Chang is with the school of electrical engineering, KAIST, Korea
and the department of applied mathematics, University of Waterloo, Canada.
dechang@kaist.ac.kr. This research has been in part supported by
KAIST under grant G04170001 and by the ICT R&D program of MSIP/IITP
[2016-0-00563, Research on Adaptive Machine Learning Technology Development for Intelligent Autonomous Digital Companion]. This paper is
presented at 56th IEEE Conference on Decision and Control, Melbourne,
Australia, December 2017.

Maximum Principle on manifolds [1] and creating feedback
integrators for structure-preserving numerical integration [2].
II. M AIN R ESULTS
A. Notation and Some Mathematical Facts
The usual Euclidean inner product is exclusively used for
vectors and matrices in this paper, i.e.
X
Aij Bij = tr(AT B)
hA, Bi =
i,j

for any two matrices of equal size. The norm induced from
this inner product, which is called the Frobenius or Euclidean
norm, is exclusively used for vectors and matrices. Let Sym
and Skew be the symmetriztaion operator and the skewsymmetrization operator, respectively, on square matrices,
which are defined by
1
1
Sym(A) = (A + AT ), Skew(A) = (A − AT )
2
2
for any square matrix A. Then,
A = Sym(A) + Skew(A),

hSym(A), Skew(A)i = 0.

Namely,
Rn×n = Sym(Rn×n ) ⊕ Skew(Rn×n )
with respect to the Euclidean inner product. Let [ , ] denote
the usual matrix commutator that is defined by [A, B] =
AB − BA for any pair of square matrices of equal size. It
is easy to show that
[Sym(Rn×n ), Sym(Rn×n )] ⊂ Skew(Rn×n ),

[Sym(Rn×n ), Skew(Rn×n )] ⊂ Sym(Rn×n ),

[Skew(Rn×n ), Skew(Rn×n )] ⊂ Skew(Rn×n ).

In other words, [A, B] = −[A, B]T for any A = AT ∈ Rn×n
and B = B T ∈ Rn×n ; [A, C] = [A, C]T for any A = AT ∈
Rn×n and C = −C T ∈ Rn×n ; and [B, C] = −[B, C]T for
any B = −B T ∈ Rn×n and C = −C T ∈ Rn×n .
Let SO(3) denote the set of all 3 × 3 rotation matrices,
which is defined as SO(3) = {R ∈ R3×3 | RT R − I =
0, det R > 0}. Let so(3) denote the set of all 3 × 3 skew
symmetric matrices, which is defined as so(3) = {A ∈
R3×3 | AT + A = 0}. The hat map ∧ : R3 → so(3) is
defined by


0
−Ω3 Ω2
0
−Ω1 
Ω̂ =  Ω3
−Ω2 Ω1
0

for Ω = (Ω1 , Ω2 , Ω3 ) ∈ R3 . The inverse map of the hat map
is called the vee map and denoted by ∨ such that (Ω̂)∨ = Ω
for all Ω ∈ R3 and (A∨ )∧ = A for all A ∈ so(3).

Lemma II.1 1. hRA, RBi = hAR, BRi = hA, Bi for any
R ∈ SO(3) and A, B ∈ R3×3 .
√
2. maxR1 ,R2 ∈SO(3) kR1 − R2 k = 2 2.
3. hû, v̂i = 2hu, vi for any u, v ∈ R3 .
4. [û, v̂] = (u × v)∧ and ûv = u × v for any u, v ∈ R3 .
Every function and manifold is assumed to be smooth in
this paper unless stated otherwise. Stability, stabilization and
tracking are all understood to be local unless globality is
stated explicitly.

By (2), the two systems Σ and Σ̃ coincide on M , i.e. Σ|M =
Σ̃|M , so we will mainly use Σ̃ in place of Σ as the ambient
system of Σ|M . The role of the term −∇Ṽ is to help making
M attractive in the dynamics of Σ̃. We refer the reader to
[2] for conditions for attractiveness of M in the dynamics
of Σ̃.
As an example throughout the paper, we use the following
free rigid body system with full actuation given by
Ṙ = RΩ̂,
−1

Ω̇ = I

B. The Setup

ẋ = X(x, u),

x ∈ Rn , u ∈ Rk .

Assume that there is an m-dimensional regular submanifold
M of Rn that is invariant under the flow of the system Σ.
By the invariance of M , we can restrict the system Σ to M
and denote the restricted system by Σ|M as follows:
Σ|M :

ẋ = X(x, u),

x ∈ M, u ∈ Rk .

(1)

For convenience, we will call the system Σ an ambient
system of Σ|M . Any control system on Rn whose restriction
to M coincides with Σ|M shall be also called an ambient
system of Σ|M .
A control system is often defined on a manifold and given
in a form embedded in Euclidean space as above. Hence, it
will be convenient to use the ambient control system Σ and
the Cartesian coordinates on the ambient space Rn in order
to design controllers for the system Σ|M on the manifold
M , which may free us from using multiple local charts
or difficult tools from differential geometry. For example,
the bracket operations on control vector fields related to
the control system Σ|M can be carried out in Cartesian
coordinates in Rn since those vector fields can be regarded as
ones in Rn and the bracket operation is closed in the tangent
bundle T M of the manifold M . Optimal control problems
on M can be also solved in the ambient space Rn about
which we refer the reader to [1].
Since we are interested in the system Σ|M on M , it is
acceptable to modify its ambient system Σ outside Σ|M
while preserving the dynamics on M . Suppose that there
is a non-negative function Ṽ on Rn such that M = Ṽ −1 (0).
A natural candidate for Ṽ would be Ṽ (x) = 21 f (x)T Sf (x),
where f : Rn → Rq with q ≥ n − dim M is a function
such that M = f −1 (0), and S is a q × q positive definite
symmetric matrix. Since the function Ṽ attains its minimum
value 0 at every point in M ,
∇Ṽ (x) = 0,

∀x ∈ M.

(2)

Subtract ∇Ṽ from the control vector field of Σ to obtain the
following new ambient control system
Σ̃ :

ẋ = X̃(x, u),

x ∈ Rn , u ∈ Rk ,

where
X̃(x, u) = X(x, u) − ∇Ṽ (x).

(IΩ × Ω) + I
3

Consider a control system Σ on Rn
Σ:

(4a)
−1

(3)

3×3

τ,

(4b)

3

where (R, Ω) ∈ SO(3) × R ⊂ R
× R is the state vector
consisting of a rotation matrix R and a body angular velocity
Ω; τ ∈ R3 is the control torque; and I is the moment of
inertial matrix of the rigid body. From here on, we regard
the system (4) as a system defined on R3×3 × R3 , treating R
as a 3 × 3 matrix. It is then easy to verify that SO(3) × R3 is
an invariant set of (4), i.e. every flow starting in M stays in
M for all t ∈ R. Assume that the full state of the system is
available, which allows us to apply the following controller
τ = I(u − I−1 (IΩ × Ω))
to transform the above system to
Ṙ = RΩ̂,

(5a)

Ω̇ = u,

(5b)

where u is the new control vector. Note that SO(3) × R3 is
an invariant set of (5). Let W = {R ∈ R3×3 | det R > 0}
and define a function Ṽ on W × R3 ⊂ R3×3 × R3 by
Ṽ (R, Ω) =

ke T
kR R − Ik2 ,
4

where ke > 0. It is easy to verify that Ṽ −1 (0) = SO(3)×R3
and
∇R Ṽ = −ke R(RT R − I), ∇Ω Ṽ = 0.
With this function Ṽ , the modified rigid body system Σ̃
corresponding to (3) is computed as
Ṙ = RΩ̂ − ke R(RT R − I),
Ω̇ = u,

(6a)
(6b)

where (R, Ω) ∈ R3×3 × R3 .
C. Stabilization via Linearization in Ambient Euclidean
Space
Consider the system Σ̃ given in (3) and its restriction Σ|M
to M given in (1), where Σ|M = Σ̃|M is understood. Let
(x0 , u0 ) ∈ M × Rk be an equilibrium point of Σ|M , i.e,
X(x0 , u0 ) = 0. Suppose that we want to approximate the
dynamics of Σ|M by (Jacobian) linearization at (x0 , u0 ).
One would normally choose a local coordinate chart on M
containing the point x0 , express the dynamics of Σ|M on
this chart and then linearize it on the chart, where rewriting
the equations of motion on the local chart could be regarded
as an extra process. In addition to localness of linearization,
the use of a local chart may cause extra localness. To remedy

it, we here propose to carry out Jacobian linearization of the
ambient system Σ̃ at the equilibrium point (x0 , u0 ) in the
ambient space Rn × Rk , instead. The linearization Σ̃ℓ0 of Σ̃
is given by
Σ̃ℓ0 :

ẋ =

∂ X̃
∂ X̃
(x0 , u0 )(x − x0 ) +
(x0 , u0 )(u − u0 ),
∂x
∂u
n

k

where (x, u) ∈ R × R . Notice that the difference x − x0
would not make sense on M , but it does make perfect sense
in the ambient Euclidean space Rn .
The following lemma is trivial but useful:
Lemma II.2 If a feedback controller u : Rn → Rk stabilizes, in any sense, the equilibrium point x0 for the ambient
system Σ̃, then its restriction u|M to M also stabilizes, in the
same sense, the equilibrium point for the restricted system
Σ|M .
Theorem II.3 If a linear feedback controller u : Rn →
Rk exponentially stabilizes the equilibrium point x0 for
the linearization Σ̃ℓ0 of the ambient system Σ̃, then it also
exponentially stabilizes the equilibrium point x0 for Σ|M .
Proof: Apply the Lyapunov linearization method and
Lemma II.2.
Let us illustrate the above theorem with the free rigid
body system given in (6). Choose any R0 ∈ SO(3). Then,
(R0 , 0) ∈ SO(3) × R3 is an equilibrium point of (6) with
u = 0.
Theorem II.4 The linearization of (6) at (R, Ω)
(R0 , 0) ∈ SO(3) × R3 with u0 = 0 is given by
∆Ṙ = R0 Ω̂ − 2ke R0 Sym(R0T ∆R),
Ω̇ = u,

(7b)

= R0 Ω̂ − 2ke R0 Sym(R0T ∆R),

(8)

Let
(9)

such that
Z = Zs + Zk .

Ω̇ = u.

(11)

Theorem II.5 Take any two 3 × 3 matrices KP and KD
such that the following 6 × 6 matrix


0
I
(12)
−KP −KD
is Hurwitz. Then, the linear PD controller
u(∆R, Ω) = −KP · Skew(R0T ∆R)∨ − KD Ω

(13)

exponentially stabilizes the equilibrium point (R0 , 0) for the
linearized system (7). Moreover, it exponentially stabilizes
the equilibrium point (R0 , 0) for the rigid body system (5)
on SO(3) × R3 .
Proof: Recall that the system in (7) has been transformed to (11) by the state transformation (8) – (10). Take
any 3 × 3 matrices KP and KD such that the matrix in (12)
is Hurwitz, and then apply the following controller
u = −KP Zk∨ − KD Ω

det(λ3 I + λ2 KD + λKP + KI ) = 0

u(∆R, Ω) = −KP · Skew(R0T ∆R)∨ − KD Ω
Z t
− KI
Skew(R0T ∆R(τ ))∨ dτ

(14)

(10)

(15)

0

exponentially stabilizes the equilibrium point (R0 , 0) for the
linearized system (7). Moreover, it exponentially stabilizes
the equilibrium point (R0 , 0) for the rigid body system (5)
on SO(3) × R3 .
Proof: Apply the controller (15) to (11) to get

which is equal to the expression on the right side of (7a).
Let us change coordinates from ∆R to a new matrix
variable Z as follows:

Zk = Skew(Z)

Żs = −2ke Zs ,

is Hurwitz. Then, the linear PID controller

= R0 Ω̂ − ke R0 (∆RT R0 + R0T ∆R)

Zs = Sym(Z),

Żk∨ = Ω,

which can be also written as

Theorem II.6 Take any three 3 × 3 matrices KP , KI and
KD such that the following polynomial in λ

d − ke c(s)(c(s)T c(s) − I))
(c(s)d(s)

Z=

Ω̇ = u,

(7a)

Proof: Equation (7a) can be easily derived by using
the definition of the derivative as follows. Let c(s) = R0 +
s(R − R0 ) = R0 + s∆R and d(s) = sΩ, where s ∈ R. Then

R0T ∆R.

Żk = Ω̂,

=

∆R = R − R0 .

s=0

Żs = −2ke Zs ,

to the system (11). It is then easy to verify that the resultant
closed-loop system is exponentially stable, which proves the
first statement of the theorem. The second statement follows
from the first statement and Theorem II.3.

where

d
ds

Multiplying (7a) by R0T and taking the symmetric and skew
symmetric parts, respectively, transforms (7) to

Żs = −2ke Zs ,

Żk∨ = Ω,
Ω̇ =

−KP Zk∨

− KD Ω − KI

Z

0

t

Zk∨ (τ )dτ,

which is transformed, by differentiation, to
Żs = −2ke Zs ,
...∨
∨
∨
∨
Z k + KD Z̈k + KP Żk + KI Zk = 0.

Remark II.7 1. Since R0
∈
SO(3), we have
Skew(R0T ∆R) = Skew(R0T R − I) = Skew(R0T R).
Hence the controllers given in (13) and (15) can be written
respectively as

kR(t) − R0 k

3
2
1
0

u=

− KD Ω − KI

with

Z

Zk∨ (τ )dτ

Zk = Skew(R0T R).
These expressions avoid the computation ∆R = R − R0 that
would be an invalid operation on SO(3). It is interesting that
this controller, though designed in Euclidean space, can be
computed on SO(3) × R3 , which was not intended at the
beginning of design.
2. Suppose that one chooses a finite number of points
R0 , . . . , Rp from SO(3) and plans a gain scheduling with
the linearized systems at these points with Ω0 = 0. If these
points are not covered by one local chart on SO(3), then one
would need to change coordinates and re-do linearization
on each change of coordinates. However, in our scheme,
only one form of linearization in one single global Cartesian
coordinate system, which is (7), is needed for all these points.
We now carry out a simulation to demonstrate a good
performance of the stabilizing controller (13) for the rigid
body system (5), or equivalently (6) with ke = 1, the latter
of which is known to be better for numerical integration
than the former; refer to [2] more about this. Hence, we
will use (6) with ke = 1 for numerical integration. However,
one can freely use (5) instead for numerical integration. The
following control parameter values are chosen:
KP = 4I,

KD = 2I,

√
so that the eigenvalues of (12) are placed at −1 ± i 3. The
target equilibrium point (R0 , Ω0 ) ∈ SO(3) × R3 is given by
R0 = diag{−1, −1, 1},

6

8

10

0

2

4

6

8

10

t

t

0

4

1

0

−KP Zk∨

2

2

u = −KP Zk∨ − KD Ω,
and

0

t

kΩ(t)k

It is easy to prove that this linear system is exponentially
stable by the Hurwitz condition on the polynomial in (14).
This proves the first statement of the theorem.
The second statement of the theorem can be proven by
treating the PID controller (15) as dynamic feedback to the
nonlinear system (5) and then applying the first statement of
this theorem and Theorem II.3. In this way, the Lyapunov
linearization method is rigorously applied.

Ω0 = (0, 0, 0).

The initial condition is chosen as


2π
R(0) = exp
ê2 , Ω(0) = (0, 1, 1),
3
where R(0) is a rotation about e2 = (0, 1, 0) through
2π/3 radians. The√ initial orientation error is computed as
kR(0) − R0 k = 2 2, which is the maximum possible error
on SO(3). The magnitude errors of orientation and angular

Fig. 1. The simulation result for the stabilization of the equilibrium point
(R, Ω) = (R0 , 0) by the linear controller (13) for the nonlinear rigid body
system (5).

velocity are plotted in Fig. 1, showing an excellent stabilizing
performance of the linear controller (13) for the nonlinear
system (5).
D. Tracking via Linearization in Ambient Euclidean Space
Consider again the system Σ̃ given in (3) and its restriction
Σ|M to M given in (1), where Σ|M = Σ̃|M is understood.
Choose a reference trajectory x0 : [0, ∞) → M for Σ|M on
M driven by a control signal u0 : [0, ∞) → Rk , so that
ẋ0 (t) = X̃(x0 (t), u0 (t)) ∀t ≥ 0.
We can then linearize the ambient system Σ̃ along the
trajectory (x0 (t), u0 (t)) in Rn as follows:
Σ̃ℓt :

∆ẋ = A(t)∆x + B(t)∆u,

(16)

where
A(t) =

∂ X̃
(x0 (t), u0 (t)),
∂x

B(t) =

∂ X̃
(x0 (t), u0 (t))
∂u

and
∆x = x − x0 ∈ Rn ,

∆u = u − u0 ∈ Rk .

The following lemma is trivial but useful:
Lemma II.8 If u = u(x, t) is an exponentially tracking controller for the ambient system Σ̃ for the reference trajectory
x0 (t), then it is also an exponentially tracking controller for
the system Σ|M on M for the same reference trajectory.
Theorem II.9 Suppose that a linear feedback controller
∆u = −K(t)∆x exponentially stabilizes the origin for the
linearized system Σ̃ℓt . Let Br = {z ∈ Rn | kzk < r} for
some r > 0 and f : Br × [0, ∞) → R be a function defined
by
f (z, t) = X̃(x0 (t) + z, u0 (t) − K(t)z) − X̃(x0 (t), u0 (t)).

If the derivative ∂f
∂z (z, t) is bounded and Lipschitz on Br
uniformly in t, then the controller
u(x, t) = u0 (t) − K(t)(x − x0 (t))
enables the system Σ|M on M to track the reference
trajectory x0 (t) exponentially.
Proof: Apply Theorem 4.13 in [3] and Lemma II.8
above.
We illustrate the above theorem with the free rigid body
system (6). Take a reference trajectory (R0 (t), Ω0 (t)) ∈
SO(3) × R3 and the corresponding control signal u0 (t) such
that
Ṙ0 (t) = R0 (t)Ω̂0 (t),

Ω̇0 (t) = u0 (t), ∀t ≥ 0,

(17)

which can be also understood as equations that define Ω0 (t)
and u0 (t) in terms of R0 (t) and its time derivatives. Assume
that (R0 (t), Ω0 (t)) and u0 (t) are bounded over the time
interval [0, ∞).
Theorem II.10 The linearization of (6) along the reference
trajectory (R0 (t), Ω0 (t)) ∈ SO(3) × R3 and the reference
control signal u0 (t) is given by
d−
∆Ṙ = ∆RΩ̂0 + R0 ∆Ω

2ke R0 Sym(R0T ∆R),

∆Ω̇ = ∆u,

(18a)
(18b)

where

∆R = R − R0 (t) ∈ R3×3 ,

∆Ω = Ω − Ω0 (t) ∈ R3 ,

and
3

∆u = u − u0 (t) ∈ R .
Proof: This theorem can be proven with the same
technique as that used for the proof of Theorem II.4.
We now introduce a new matrix variable Z replacing ∆R
as follows:
Z = R0 (t)T ∆R.
(19)
Let
Zs = Sym(Z),

Zk = Skew(Z)

(20)

such that
Z = Zs + Zk .

(21)

Taking the symmetric and skew-symmetric parts, we get
Żs = [Zs , Ω̂0 ] − 2ke Zs ,

where the second equation can be also written as (22b). This
completes the proof.
Theorem II.12 For any two matrices KP , KD ∈ R3×3 such
that the matrix in (12) becomes Hurwitz, the linear controller
∆u = −KP · Zk∨ − KD (Zk∨ × Ω0 + ∆Ω)
− (Zk∨ × Ω0 + ∆Ω) × Ω0 − Zk∨ × u0

Żk∨

=

Zk∨

∆Ω̇ = ∆u

× Ω0 + ∆Ω,

(22a)
(22b)
(22c)

via the state transformation given in (19) – (21).
Proof: Differentiate both sides of (19), and use (18),
(19) – (21), and (17) to obtain
Ż = Ṙ0T ∆R + R0T ∆Ṙ
d − 2ke Sym(RT ∆R)
= −Ω̂0 R0T ∆R + R0T ∆RΩ̂0 + ∆Ω
0
d − 2ke Sym(Z)
= [Z, Ω̂0 ] + ∆Ω

d − 2ke Zs .
= [Zs , Ω̂0 ] + [Zk , Ω̂0 ] + ∆Ω

(23)

exponentially stabilizes the origin for the system (22).
Proof: Let us first show exponential stability of the
subsystem (22a) that is decoupled from the rest of the system.
d
V =
Let V (Zs ) = 21 kZs k2 . Along the trajectory of (22), dt
2
hZs , [Zs , Ω̂0 ] − 2ke Zs i = −2ke kZs k = −4ke V , where it is
easy to show hZs , [Zs , Ω̂0 ]i = 0. Hence, V (t) ≤ e−4ke t V (0)
for all t ≥ 0, or
kZs (t)k ≤ e−2ke t kZs (0)k

(24)

for all t ≥ 0 and Zs (0) ∈ Sym(R3×3 ), which proves
exponential stability of Zs = 0 for (22a).
Differentiating (22b) and substituting (22c) transforms the
subsystem (22b) and (22c) to the following second-order
system:
Z̈k∨ = Żk∨ × Ω0 + Zk∨ × u0 + ∆u
since Ω̇(t) = u0 (t). This second-order system is exponentially stabilized by the controller
∆u = −KP · Zk∨ − KD Żk∨ − Żk∨ × Ω0 − Zk∨ × u0 , (25)
where the matrices KP , KD ∈ R3×3 are any matrices such
that the matrix in (12) becomes Hurwitz. So, there are
positive constants C1 and C2 such that
kZk∨ (t)k + kŻk∨ (t)k ≤ C1 e−C2 t (kZk∨ (0)k + kŻk∨ (0)k)
for all t ≥ 0 and (Zk∨ (0), Żk∨ (0)) ∈ R3 × R3 . Since Ω0 (t)
is bounded by assumption, there is a constant M > 0 such
that kΩ0 (t)k ≤ M for all t ≥ 0. By (22b) and the triangle
inequality,

Lemma II.11 The system (18) is transformed to
Żs = [Zs , Ω̂0 ] − 2ke Zs ,

d
Żk = [Zk , Ω̂0 ] + ∆Ω,

kŻk∨ (t)k ≤ M kZk∨ (t)k + k∆Ω(t)k
and
k∆Ω(t)k ≤ kŻk∨ (t)k + M kZk∨(t)k
for all t ≥ 0. It is then easy to show that
kZk∨ (t)k + k∆Ω(t)k

≤ C3 e−C2 t (kZk∨ (0)k + k ∆Ω(0)k)

(26)

for all t ≥ 0 and (Zk∨ (0), ∆Ω(0)) ∈ R3 × R3 , where C3 =
C1 (1 + M )2 . Notice that the controller given in (25) is the
same as that in (23). Hence, it follows from (24) and (26)
that the controller (23) exponentially stabilizes the origin for
the system (22).

∆u = −KP · Zk∨ − KD (Zk∨ × Ω0 + ∆Ω)
Z t
− KI
Zk∨ (τ )dτ − (Zk∨ × Ω0 + ∆Ω) × Ω0

3

kR(t) − R0 (t)k

Theorem II.13 For any three matrices KP , KD , KI ∈
R3×3 such that the polynomial in (14) becomes Hurwitz,
the linear controller

2
1
0

0

2

4

− Zk∨ × u0

(27)

Theorem II.14 For any positive number kP and any positive definite symmetric matrix KD ∈ R3×3 , the PD controller
∆u =

−kP Zk∨

− KD ∆Ω

kP
1
1
kZk∨ k2 + k∆Ωk2 + ǫhZk∨ , ∆Ωi
V = kZs k2 +
2
2
2
and the Lyapunov arguments used in [4].
The following theorem is a variant of Theorem II.14.
Theorem II.15 For any two positive numbers kP and ǫ and
any positive definite symmetric matrix KD ∈ R3×3 such that

p
4kP λmin (KD )
,
kP ,
0 < ǫ < min
4kP + (λmax (KD ))2

the controller

(29)

The following theorem puts together the four preceding
theorems to provide tracking controllers for the rigid body
system (5).
Theorem II.16 Consider the following controller

=

2

4

8

10

t

The reference trajectory (R0 (t), Ω0 (t)) ∈ SO(3) × R3 with
the reference control signal u0 (t) ∈ R3 are chosen as
R0 (t)
"
=

cos2 t
t + cos2 t sin t
cos t sin2 t − cos t sin t
sin2

− sin t
cos2 t
cos t sin t

cos t sin t
cos t sin2 t − cos t sin t
cos2 t + sin3 t


cos2 t − sin t
Ω0 (t) =  1 − sin t  ,
cos t(1 + sin t)


−2 cos t sin t − cos t
,
u0 (t) = 
− cos t
2
− sin t(1 + sin t) + cos t


#

which satisfy (17). The initial condition is given by
Ω(0) = (1, 1, 1),

where R(0) is a rotation around e2 = (0, 1, 0) through 0.99π
√
radians. The initial orientation tracking error is almost 2 2.
The tracking errors are plotted in Fig. 2, which shows the
excellent tracking performance of the linear controller for
the nonlinear system (5).
III. F UTURE W ORK

(30)

where ∆u is any of (23), (27), (28) and (29) with
Zk =

0

R(0) = exp(0.99πê2 ),

exponentially stabilizes the origin for the system (22).

Skew(R0T ∆R)∨

6

0

Fig. 2. The simulation result of tracking the reference (R0 (t), Ω0 (t)) by
the linear controller (30) with (29) for the rigid body system (5).

Proof: It is straightforward to prove this theorem with
the Lyapunov function

u = u0 + ∆u,

10

1

(28)

exponentially stabilizes the origin for the system (22).

∆u = −kP Zk∨ − KD ∆Ω − ǫ(Zk∨ × Ω0 )

8

2

kΩ(t) − Ω0 (t)k

exponentially stabilizes the origin for the linear time-varying
system (22).

6

t

0

Skew(R0T R)∨ .

Then, it enables the free rigid body system given in (5) to
track the reference trajectory (R0 (t), Ω0 (t)) exponentially.
We carry out a simulation to show an excellent tracking
performance of the controller (30) and (29) for the rigid body
system (5) or (6) with ke = 1. The control parameters are
chosen as
kP = 4, KD = 2I, ǫ = 1.

We plan to extend our program to the design of observers
and filters.
R EFERENCES
[1] D.E. Chang, “A simple proof of the Pontryagin maximum principle
on manifolds,” Automatica, 47 (3), 630 – 633, 2011.
[2] D.E. Chang, F. Jiménez and M. Perlmutter, “Feedback integrators,” J.
Nonlinear Science, 26(6), 1693 – 1721, 2016.
[3] H.K. Khalil, Nonlinear Systems, 3rd Ed., Prentice Hall, Upper Saddle
River, NJ, 2002.
[4] T. Lee, M. Leok, and N.H. McClamroch, “Nonlinear robust tracking
control of a quadrotor UAV on SE(3),” Asian Journal of Control, 15(2),
391–408, 2013.

