You are on page 1of 71

3

Control of Non-holonomic Systems

Analysis and control of non-holonomic systems are addressed in this chapter.


In order to proceed with the analysis and control design in a more system-
atic way, the so-called chained form is introduced as the canonical form for
non-holonomic systems. As examples, kinematic equations of several vehi-
cles introduced in Chapter 1 are transformed into the chained form. Then,
a chained system is shown to be non-linearly controllable but not uniformly
completely controllable in general, and it is partially and dynamically feed-
back linearizable, but can only be stabilized under a discontinuous and/or
time-varying control. Based on these properties, open-loop steering controls
are synthesized to yield a trajectory for the constrained system to move either
continually or from one configuration to another. To ensure that a continual
and constrained trajectory is followed, feedback tracking controls can be de-
signed and implemented with the steering control. To move the system to a
specific configuration, stabilizing controls can be used. For a vehicle system,
the formation control problem is investigated. To make the vehicle system
comply with environmental changes, either a real-time optimized path plan-
ning algorithm or a multi-objective reactive control can be deployed.

3.1 Canonical Form and Its Properties


In this section, the chained form is introduced as the canonical form for the
kinematic constraints of non-holonomic systems. It is shown that, through
state and control transformations, the kinematic sub-system of a non-holonomic
system can be mapped into the chained form or one of its extensions. Vehicle
models introduced in Chapter 1 are used as examples to determine the state
and control transformations. Properties of the chained form are studied for
the purpose of systematic control designs in the subsequent sections. In par-
ticular, controllability, feedback linearizability, existence of smooth control,
and uniform complete controllability are detailed for chained form systems.
82 3 Control of Non-holonomic Systems

3.1.1 Chained Form

The n-variable single-generator m-input chained form is defined by [169, 266]:




⎪ ẋ1 = u1 ,

⎨ ẋ21 = u1 x22 , · · · , ẋ2(n2 −1) = u1 x2n2 , ẋ2n2 = u2 ,
.. (3.1)

⎪ .


ẋm1 = u1 xm2 , · · · , ẋm(nm −1) = u1 xmnm , ẋmnm = um ,

where x = [x1 , x21 , · · · , x2n2 , · · · , xm1 , · · · , xmnm ]T ∈ n is the state, u =


[u1 , · · · , um ]T ∈ m is the control, and y = [x1 , x21 , · · · , xm1 ]T ∈ m is the
output. If m = 2, Chained Form 3.1 reduces to
ẋ1 = u1 , ẋ2 = u1 x3 , · · · , ẋn−1 = u1 xn , ẋn = u2 . (3.2)
Since analysis of and control design for (3.1) and (3.2) are essentially identical,
we will focus mostly upon the two-input chained form. Through reordering
the state variables, (3.2) renders its alternative expressions:
ż1 = u1 , ż2 = u2 , ż3 = z2 u1 , · · · , żn = zn−1 u1 , (3.3)
where z1 = x1 , and zj = xn−j+2 for j = 2, · · · , n.
Given a mechanical system subject to non-holonomic constraints, it is
often possible to convert its constraints into the chained form either locally
or globally by using a coordinate transformation and a control mapping. The
transformation process into the chained form and the conditions are parallel to
those of feedback linearization studied in Section 2.6.2. For example, consider
a two-input kinematic system in the form of (1.12), that is,
q̇ = g1 (q)v1 + g2 (q)v2 , (3.4)
where q ∈ n with n > 2, vector fields g1 and g2 are linearly independent,
and v = [v1 , v2 ]T ∈ 2 is the vector of original control inputs. Should System
3.4 be mapped into Chained Form 3.2, we know from direct differentiation
and Jacobi Identity 2.42 that x1 = h1 (q) and x2 = h2 (q) exist and satisfy the
following conditions:
⎧ T  T

⎪ ∂h1 ∂h1
⎨ Δ 1 = 0, g1 = 1,
∂q ∂q
 T  T (3.5)

⎪ ∂h 2 ∂h 2
⎩ Δ2 = 0, adg1 g2
= 0,
n−2
∂q ∂q
where Δj (q) with j = 0, 1, 2 are distributions defined by

Δ0 (q) = span{g1 , g2 , adg1 g2 , · · · , adn−2
g1 g2 },

Δ1 (q) = span{g2 , adg1 g2 , · · · , adn−2
g1 g2 },

Δ2 (q) = span{g2 , adg1 g2 , · · · , adn−3
g1 g2 }.
3.1 Canonical Form and Its Properties 83

Under Condition 3.5, System 3.4 can be mapped into Chained Form 3.2 under
state transformation
 T 
x = h1 h2 Lg1 h2 · · · Ln−2
g1 h2 = Tx (q)

and control transformation


 
1 0 
u= v = Tu (q)v.
Ln−1 n−2
g1 h2 Lg2 Lg1 h2

The state transformation corresponding to Chained Form 3.3 is


 T 
g1 h2 · · · Lg1 h2 h2
z = h1 Ln−2 = Tz (q).

Applying Theorem 2.34 to the first-order homogeneous partial differential


equations in (3.5), we know that transformations Tx (q) and Tu (q) exist and
are diffeomorphic for Systems 3.4 and 3.2 if and only if both Δ1 and Δ2 ⊂ Δ1
are involutive, Δ0 (q) is of dimension of n and hence also involutive, and h1 (q)
is found to yield (∂h1 /∂q)T g1 = 1. Similarly, the following theorem can be
concluded [266] as the sufficient conditions under which a driftless system can
be transformed into Chained Form 3.1.
Theorem 3.1. Consider the driftless non-holonomic system

m
q̇ = gi (q)vi , (3.6)
i=1

where q ∈ n , vi ∈ , and vector fields of gi are smooth and linearly indepen-


dent. Then, there exist state transformation x = Tx (q) and control mapping
u = Tu (q)v to transform System 3.6 into Chained Form 3.1 if there exist
functions {h1 , · · · , hm } of form
$ $
 T h11 = 1 i = 1, · · · , m
hi = hi1 (q) hi2 (q) · · · hin (q) , ,
hj1 = 0 j = 2, · · · , m
such that the distributions

Δk = span{adih1 h2 , · · · , adih1 hm : 0 ≤ i ≤ k}, 0 ≤ k ≤ n − 1 (3.7)

have constant dimensions, are all involutive, and Δn−1 is of dimension (n−1).
In what follows, several non-holonomic vehicle models derived in Chapter
1 are converted into Chained Form 3.1 .

Differential-drive Vehicle

Consider Kinematic Model 1.31, and choose h1 (q) = θ and h2 (q) = x sin θ −
y cos θ. It is straightforward to verify that Condition 3.5 holds. Therefore, the
coordinate transformation is
84 3 Control of Non-holonomic Systems

z1 = θ, z2 = x cos θ + y sin θ, z3 = x sin θ − y cos θ (3.8)

and the control mapping is

u1 = v2 + z3 v1 , u2 = v1 . (3.9)

Under the pair of diffeomorphic transformations, Kinematic Model 1.31 is


converted into the following chained form:

ż1 = v1 , ż2 = v2 , ż3 = z2 v1 .

Car-like Vehicle

Consider Kinematic Model 1.35. Condition 3.5 holds under the choices of
h1 (q) = x and h2 (q) = y. It is straightforward to verify that Kinematic
Equation 1.35 is converted into the following chained form

ż1 = v1 , ż2 = v2 , ż3 = z2 v1 , ż4 = z3 v1 . (3.10)

under the state transformation


tan(φ)
z1 = x, z2 = , z3 = tan(θ), z4 = y, (3.11)
l cos3 (θ)

and control mapping

v1 3 sin(θ)
u1 = , u2 = − sin2 (φ)v1 + l cos3 (θ) cos2 (φ)v2 . (3.12)
ρ cos(θ) l cos2 (θ)

Mappings 3.11 and 3.12 are diffeomorphic in the region where θ ∈ (−π/2, π/2).

Fire Truck

Consider Kinematic Model 1.40, and select the following vector fields:
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
1 0 0
⎢ tan θ1 ⎥ ⎢0⎥ ⎢0⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ 0 ⎥ ⎢1⎥ ⎢0⎥
h1 = ⎢⎢ ⎥ , h2 = ⎢ ⎥ , h3 = ⎢
⎢ ⎥ ⎥
1
sec θ 1 tan φ1 ⎥ 0 ⎢0⎥.
⎢ lf ⎥ ⎢ ⎥ ⎢ ⎥
⎣ 0 ⎦ ⎣0⎦ ⎣1⎦
1
− lb sec θ1 sec φ2 sin(φ2 − θ1 + θ2 ) 0 0

It is routine to check that, excluding all the singular hyperplanes of θ1 − θ2 =


φ1 = φ2 = θ1 = π/2, the distributions of Δk defined in Theorem 3.1 all have
constant dimensions and are involutive for k = 0, 1, · · · , 5 and that Δ5 is of
dimension 5. Thus, Kinematic Equation 1.40 is transformed into the chained
form of
3.1 Canonical Form and Its Properties 85

⎨ ż1 = v1
ż21 = v2 , ż22 = z21 v1 , ż23 = z22 v1 ,

ż31 = v3 , ż32 = z31 v1 .
Indeed, the corresponding state and control transformations are [34]


⎪ z1 = x1 ,

⎨ 1
z21 = tan φ1 sec3 θ1 , z22 = tan θ1 , z23 = y1 ,
lf



⎩ z31 = − 1 sin(φ2 − θ1 + θ2 ) sec φ2 sec θ1 , z32 = θ2 ,
lb
and


⎪ v1 = u1 cos θ1 ,

⎪ 3 1

⎪ 2 4 2 3
⎪ v2 = 2 tan φ1 tan θ1 sec θ1 v1 + 2 sec φ1 sec θ1 u2 ,


⎪ l l


f f

⎨ 1
v3 = cos(φ2 + θ2 ) tan φ1 sec φ2 sec3 θ1 v1
lf lb



⎪ 1


⎪ + 2 cos(φ2 − θ1 + θ2 ) sin(φ2 − θ1 + θ2 ) sec2 φ2 sec2 θ1 v1

⎪ l


b

⎪ 1
⎩ − cos(θ2 − θ1 ) sec2 φ2 sec θ1 u3 .
lf

3.1.2 Controllability

Controllability of a dynamic system provides a definitive answer to the ques-


tion whether the state can be driven to a specific point from any (nearby)
initial condition and under an appropriate choice of control. As shown in
Section 2.5, there are two basic approaches to check controllability. Given a
non-linear system, we can determine linear controllability by first linearizing
the non-linear system at an equilibrium point (typically assumed to be the
origin) or along a given trajectory and then invoking the Kalman rank condi-
tion or calculating the controllability Gramian for the resulting linear system
(which is either time-invariant or time-varying). Alternatively, we can deter-
mine non-linear controllability by simply applying Theorem 2.31 which, also
known as Chow’s theorem, is essentially a rank condition on the Lie brack-
ets of vector fields of the system. Note that a controllable non-linear system
may not have a controllable linearization, which is illustrated by the following
simple example.

Example 3.2. Consider a differential-drive vehicle whose model is

ẋ1 = u1 cos x3 , ẋ2 = u1 sin x3 , ẋ3 = u2 , (3.13)

which yields
86 3 Control of Non-holonomic Systems
 T  T
g1 (x) = cos x3 sin x3 0 , g2 (x) = 0 0 1 . (3.14)
Its linearized system at the origin is


10
ẋ = Ax + Bu, A = 0, B = ⎣ 0 0 ⎦ ,
01
which is not controllable. On the other hand, it follows from
 
adg1 g2 = sin x3 − cos x3 0
that rank{g1 , g2 , adg1 g2 } = 3. That is, the system is (globally non-linearly)
controllable. 3
Physical explanation of Example 3.2 is that, due to non-holonomic con-
straints, the wheeled vehicle is not allowed to move sideways and hence is not
linearly controllable but it can accomplish parallel parking through a series of
maneuvers and thus is non-linearly controllable. As pointed out in Section 2.5,
motion can always be accomplished in the sub-space spanned by Lie brackets
of vector fields. As such, the basic conclusions in Example 3.2 hold in general
for non-holonomic systems. To see this, consider Chained System 3.2 whose
vector fields are
 T  
g1 (x) = 1 x3 · · · xn 0 , g2 (x) = 0 0 · · · 0 1 . (3.15)
Every point in the state space is an equilibrium point of System 3.2, and its
linearized system (at any point) is
 T
1 0 ··· 0 0
ẋ = Ax + Bu, A = 0, B = ,
0 0 ··· 0 1
which is not controllable. Direct computation yields
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
0 0 0
⎢ 0 ⎥ ⎢0⎥ ⎢ (−1)n−2 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ .. ⎥ ⎢ .. ⎥ ⎢ 0 ⎥
⎢ . ⎥ 2 ⎢.⎥ ⎢ ⎥
adg1 g2 = ⎢ ⎥ , adg1 g2 = ⎢ ⎥ , · · · , adg1 g2 = ⎢
n−2
.. ⎥, (3.16)
⎢ 0 ⎥ ⎢1⎥ ⎢ . ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣ −1 ⎦ ⎣0⎦ ⎣ 0 ⎦
0 0 0
which implies that rank{g1 , g2 , adg1 g2 , · · · , adn−2
g1 g2 } = n globally. Hence,
Chained System 3.2 is (globally non-linearly) controllable. The following facts
can be further argued [169]:
(a) The presence of holonomic constraints makes a constrained system not
controllable due to the fact that the system cannot move to any point
violating the holonomic constraints.
(b) Once the holonomic constraints are met through order reduction, the
reduced-order system becomes controllable.
(c) A constrained system only with non-holonomic constraints is always con-
trollable.
3.1 Canonical Form and Its Properties 87

3.1.3 Feedback Linearization

Should a non-linear system be feedback linearizable, its control design becomes


simple. In what follows, non-holonomic systems are shown not to be feedback
linearizable, but the feedback linearization technique is still applicable under
certain circumstances.

Feedback Linearization

As discussed in Section 2.6.2, the non-linear system

ẋ = f (x) + g(x)u (3.17)

is feedback linearizable if it can be transformed into the linear controllable


canonical form under a state transformation z = T (x) and a static control
mapping u = α(x) + β(x)v. If the relative degree is less than the system
dimension, the transformed system also contains non-linear internal dynamics
as
ż = Ac z + Bc v, ẇ = φ(z, w), (3.18)
 T T T
where z w = T (x) is the state transformation.
According to Theorem 2.35, Chained System 3.2 (which has no drift as
f = 0) is feedback linearizable if and only if {g1 (x), g2 (x)} is involutive. It
follows from (3.15) and (3.16) that adg1 g2
∈ span{g1 , g2 } and hence {g1 , g2 }
is not involutive. Thus, Chained System 3.2 is not feedback linearizable. In
fact, for any driftless non-holonomic system in the form of (3.6) and with
n > m, vector fields are never involutive because rank{g1 , · · · , gm } = m < n
while controllability implies rank{g1 , g2 , adg1 g2 , · · · , adn−2
g1 g2 } = n. Therefore,
it is concluded that any driftless non-holonomic system must not be feedback
linearizable.

Partial Feedback Linearization over a Region

System 3.17 is said to be partially feedback linearizable if, under a partial state
transformation z = T  (x) and a static control mapping u = α(x) + β(x)v, it
can be mapped into the following pseudo-canonical form [37]:

ż = Ac z + Bc v1 , ẇ = φ1 (z, w) + φ2 (z, w)v, (3.19)


 T  
where z T wT = T (x) is the state transformation, and v = v1T v2T with
v1 ∈ p and v2 ∈ m−p . The key differences between feedback linearization
and partial feedback linearization can be seen by comparing (3.18) and (3.19);
that is, in partial feedback linearization, the linearized sub-system does not
contain all the control inputs, and the non-linear internal dynamics are allowed
to be driven by the transformed control v. Conditions on partial feedback
88 3 Control of Non-holonomic Systems

linearization and the largest feedback linearizable sub-system can be found in


[144].
Non-linear dynamics of Chained System 3.2 are partially feedback lineariz-
able not in any neighborhood around the origin, but in a region where certain
singularities can be avoided. Specifically, consider the region Ω = {x ∈ n :
x1
= 0} and define the following coordinate transformation: for any x ∈ Ω,
x2 xi
ξ1 = x1 , ξ2 = n−2 , · · · , ξi = n−i , · · · , ξn = xn . (3.20)
x1 x1

Applying Transformation 3.20 to (3.2) yields

ξ3 − (n − 2)ξ2 ξi+1 − (n − i)ξi


ξ˙1 = u1 , ξ˙2 = u1 , · · · , ξ˙i = u1 , · · · , ξ˙n = u2 .
ξ1 ξ1
(3.21)
Should x1 (t0 )
= 0, x(t) ∈ Ω is ensured under control

u1 = −kx1 , (3.22)

where constant k > 0 can be arbitrarily chosen. Substituting (3.22) into (3.21),
we obtain the linearized sub-system

ξ˙2 = k(n − 2)ξ2 − kξ3 , · · · , ξ̇i = k(n − i)ξi − kξi+1 , · · · , ξ̇n = u2 , (3.23)

which is time-invariant and controllable. It is straightforward to map Linear


System 3.23 into the linear controllable canonical form. This partial feedback
linearization over region Ω is referred to as the σ-process [9], and it will be
used in Section 3.3.3 for a control design.

Dynamic Feedback Linearization

As an extension, System 3.17 is said to be dynamically feedback linearizable


if it can be transformed into the linear controllable canonical form under a
dynamic controller of form

u = α1 (x, ξ) + β1 (x, ξ)v, ξ˙ = α2 (x, ξ) + β2 (x, ξ)v,

and an augmented state transformation z = T (x, ξ), where ξ ∈ l for some


integer l > 0. Typically, an m-input affine system in the form of (3.17) is feed-
back linearizable if output z1j (x) with j = 1, · · · , m is given (or can be found)
(r ) (k)
such that u appears in zij j but not in zij for k < rj and if r1 + · · · + rm = n.
In other words, a well-defined vector relative degree [r1 · · · rm ]T is required
for feedback linearization. Typically, a system is dynamically feedback lin-
earizable but not (statically) feedback linearizable because the vector relative
degree of the system does not exist but can be found by considering uj as
(l )
a part of the state variables and by introducing its time derivative uj j as
3.1 Canonical Form and Its Properties 89

the control variables. In other words, the partially feedback linearized system
of (3.19) could be used to derive conditions on dynamic feedback lineariza-
tion. Both sufficient conditions [38] and necessary condition [233] have been
reported.
For many physical systems, dynamic feedback linearization can be done
by appropriately choosing the system output, as illustrated by the following
examples.

Example 3.3. Consider Model 3.13 of a differential-drive vehicle. It follows


from (3.14) that
 T  
adg1 g2 = sin x3 − cos x3 0 and rank g1 g2 adg1 g2 = 3,

which implies that D0 = span{g1 , g2 } is not involutive and, by Theorem 2.35,


Kinematic Equation 3.13 is not static feedback linearizable. On the other
hand, choosing x1 , x2 as the output variables, differentiating them twice and
substituting the equations of (3.13) into the result yield
      
ẍ1 cos x3 −u1 sin x3 u̇1  v1
= = ,
ẍ2 sin x3 u1 cos x3 u2 v2

which is in the linear canonical form with respect to the transformed control
v. Solving u̇1 and u2 in terms of v yields the dynamic control mapping:
1
u1 = ξ, ξ˙ = v1 cos x3 + v2 sin x3 , u2 = (v2 cos θ − v1 sin θ).
u1
Note that the above transformation becomes singular if u1 = 0. In summary,
Kinematic Model 3.13 is dynamically feedback linearizable provided that the
vehicle keeps moving. 3

Example 3.4. Consider Model 1.35 of a car-like vehicle. It follows that


 1
T  T
g1 = cos θ sin θ l tan φ 0 , g2 = 0 0 0 1

and  T
adg1 g2 = 0 0 − l cos1 2 φ 0 ∈ / span{g1 , g2 }.
Thus, System 1.35 is not static feedback linearizable. On the other hand,
choosing (x, y) as the output variables and differentiating them three times
yield
 (3)   3   sin θ

2  
x − l u1 u̇1 sin θ tan φ − l12 u31 tan2 φ cos θ cos θ − l cos2 φ u1 ü1
= 3 1 3 2 + cos θ
y (3) l u1 u̇1 cos θ tan φ − l2 u1 tan φ sin θ sin θ l cos 2
2 φ u1 u2
 
 v
= 1 ,
v2
90 3 Control of Non-holonomic Systems

which is in the linear canonical form. Consequently, Model 1.35 is dynamic


feedback linearizable under the dynamic feedback controller
u1 = ξ1 ,
ξ˙1 = ξ2 ,
   sin θ 2
−1 $ 
ξ˙2 cos θ − l cos 2 φ ξ1 v1
= cos θ 2
u2 sin θ l cos2 φ ξ1 v2
 3 &
− l ξ1 ξ2 sin θ tan φ − l12 ξ13 tan2 φ cos θ
− 3 1 3 2 ,
l ξ1 ξ2 cos θ tan φ − l2 ξ1 tan φ sin θ

provided that u1
= 0. 3
Control design can easily be done for non-linear systems that are feedback
linearizable or dynamic feedback linearizable. It is worth mentioning that
cascaded feedback linearization [267] further enlarges the class of non-linear
systems that can be handled using the differential geometric approach.

3.1.4 Options of Control Design


Control designs can be classified into two categories: an open-loop control to
navigate the state to an equilibrium point or to make the system output track
a desired trajectory, and a closed-loop feedback control to ensure stability
and compensate for disturbances. For a linear system, the open-loop control
design is basically trivial (since an asymptotically stable linear system has a
unique equilibrium) and, with controllability, a closed-loop stabilizing control
can be chosen to be continuous and of either static state feedback or dynamic
output feedback. For a non-holonomic system, trajectory planning is usually
required for the system to comply with non-holonomic constraints and, due
to controllability, the open-loop control problem can always be solved as will
be shown in Section 3.2. However, controllability does not necessarily imply
that a continuous static state feedback control always exists for non-linear
systems. The following theorem provides a necessary condition on existence
of such a continuous static state feedback control, and existence of a solution
to Algebraic Equation 3.24 is referred to as the Brockett condition [12, 30].
Theorem 3.5. Suppose that non-linear system
ẋ = f (x, u)
is asymptotically stabilized under a continuous static state feedback law u =
u(x) with u(0) = 0, where f (x, u) is a smooth function. Then, for any given

> 0, there is a constant δ > 0 such that, for every point ξ ∈ n satisfying
ξ < δ, algebraic equation
ξ = f (x, u) (3.24)
can be satisfied for some pair of x ∈ n and u ∈ m in the set of x <
and
u <
.
3.1 Canonical Form and Its Properties 91

x2
V(x)=Constant
.
V(x)<0

x1

Fig. 3.1. Two-dimensional explanation of the Brockett condition

Proof of Theorem 3.5 is based on the fact that, under a continuous and
stabilizing control u(x), the system has a control Lyapunov function V (x)
whose time derivative is negative definite as V̇ < 0. Since ẋ is continuous,
since the level curves of V (x) = c in a neighborhood of the origin are all
closed, and since V̇ < 0 holds everywhere along a level curve of V , ẋ must
assume all the directions along the level curves and hence Algebraic Equation
3.24 must be solvable for all ξ ∈ n of small magnitude. Figure 3.1 provides
the graphical illustration that, given V̇ < 0, the corresponding trajectories
passing through a closed level curve all move inwards and that, since ẋ is
continuous, ẋ assumes all the possible directions in 2-D along the level curve.
The following example illustrates an application of Theorem 3.5.

Example 3.6. Consider the system


⎡ ⎤
u1
ẋ = f (x, u) = ⎣ u2 ⎦,
x2 u1 − x1 u2

whose vector fields are


 T  T
g1 (x) = 1 0 x2 , g2 (x) = 0 1 −x1 .

It follows that  T
adg1 g2 = 0 0 −1
and that rank{g1 , g2 , adg1 g2 } = 3. Thus, the system is small-time control-
lable. On the other hand, algebraic equation
 T
f (x, u) = 0 0

does not have a solution for any



= 0. By Theorem 3.5, the system cannot
be stabilized under a continuous and static control of u = u(x). 3
92 3 Control of Non-holonomic Systems

In general, consider the class of non-holonomic driftless systems:



m

ẋ = gi (x)ui = G(x)u,
i=1

where x ∈ n , m < n, and vector fields gi (x) are linearly independent. Then,
without loss of any generality, assume that the top m-by-m block of G(x) is
of full rank. Then, the algebraic equation
 T
G(x)u = 01×m
1 · · ·
n−m

has no solution unless


1 = · · · =
n−m = 0. By Theorem 3.5, the class of
driftless systems including Chained Form 3.2 cannot be stabilized under any
continuous static feedback control. Similarly, a continuous time-independent
dynamic feedback control would not be stabilizing either. This means that, for
driftless non-holonomic systems, a stabilizing feedback control must be either
discontinuous or time-varying (as u = u(x, t)) or both. Such designs will be
pursued in Section 3.3.

3.1.5 Uniform Complete Controllability

Given the fact that non-holonomic systems are non-linearly controllable but
not stabilizable under any continuous static feedback control and that their
partial or dynamic feedback linearizations have singularity, we need to search
for a way to design systematically an appropriate feedback control. As re-
vealed in Section 2.3.3, a successful control design often boils down to find-
ing a control Lyapunov function. And, it is shown in Section 2.5 that, while
there is no direct connection between non-linear controllability and existence
of Lyapunov function, uniform complete controllability naturally renders a
Lyapunov function. Although driftless non-holonomic systems do not have a
controllable linearized system around the origin, their uniform complete con-
trollability can be determined as follows.
Consider a non-holonomic system in the chained form of (3.2). It follows
that the dynamics can be expressed as

ẋ = A(u1 (t))x + Bu,

or equivalently,
ẋ1 = u1 , ż = A2 (u1 (t))z + B2 u2 , (3.25)
where
 T
z = x2 x3 · · · xn , A = diag{A1 , A2 }, B = diag{B1 , B2 },

Ac ∈ (n−1)×(n−1) and Bc ∈ (n−1)×1 are those defined in (2.43),

A1 = 0, B1 = 1, A2 (u1 (t)) = u1 (t)Ac , B2 = Bc . (3.26)


3.1 Canonical Form and Its Properties 93

Clearly, System 3.25 consists of two cascaded sub-systems. The first sub-
system of x1 is linear time-invariant and uniformly completely controllable.
Hence, u1 can always be designed (and, as will be shown in Section 3.3.2, u1
should be chosen as a feedback control in terms of x rather than just x1 ).
By analyzing and then utilizing the properties of u1 (t), the second non-linear
sub-system of z can be treated as a linear time-varying system. This two-step
process allows us to conclude the following result on uniform complete con-
trollability of non-linear and non-holonomic systems. Once uniform complete
controllability is established, the corresponding control Lyapunov function
becomes known, and a feedback control design can be carried out for u2 .
Definition 3.7. A time function w(t) : [t0 , ∞) → R is said to be uniformly
right continuous if, for every
> 0, there exists η > 0 such that t ≤ s ≤ t + η
implies |w(s) − w(t)| <
for all t ∈ [t0 , ∞).

Definition 3.8. A time function w(t) : [t0 , ∞) → R is said to be uniformly


non-vanishing if there exist constants δ > 0 and w > 0 such that, for any
value of t, |w(s)| ≥ w holds somewhere within the interval [t, t + δ]. Function
w(t) is called vanishing if limt→∞ w(t) = 0.

Lemma 3.9. Suppose that scalar function u1 (t) is uniformly right continuous,
uniformly bounded, and uniformly non-vanishing. Then, the sub-system of z in
(3.25) (that is, the pair of {u1 (t)Ac , Bc }) is uniformly completely controllable.
(n−1)
Proof: Since Ac = 0, the state transition matrix of system ż = u1 (t)Ac z
can be calculated according to

n−2
1 k k
Φ(t, τ ) = eAc β(t,τ ) = A β (t, τ ), (3.27)
k! c
k=0
#t
where β(t, τ ) = τ u1 (s)ds. The proof is done by developing appropriate
bounds on Controllability Grammian 2.45 in terms of Φ(t, τ ) in (3.27) and
applying Definition 2.32.
Since u1 (t) is uniformly bounded as |u1d (t)| ≤ u1 for some constant u1 > 0,
we know from (3.27) that

Φ(t, t + δ) ≤ e Ac ·|β(t,t+δ)| ≤ eu1 Ac δ = α3 (δ).
Consequently, we have that, for any unit vector ξ,
 t+δ
ξ Wc (t, t + δ)ξ ≤
T
Φ(t, τ )2 dτ
t
 t+δ
≤ e2u1 Ac (τ −t) dτ
t
 δ

= e2u1 Ac s ds = α2 (δ). (3.28)
0
94 3 Control of Non-holonomic Systems

For every δ > 0, there exists constant u1 > 0 such that |u1 (s)| ≥ u1 holds
for some s(t) ∈ [t, t + δ] and for all t. It follows from uniform right continuity
and uniform boundedness that, for some sub-intervals [s(t), s(t) + σ(δ, u1 )] ⊂
[t, t + δ] where value σ(·) is independent of t, u1 (τ ) has a fixed sign and is
uniformly bounded away from zero for all τ ∈ [s(t), s(t) + σ(δ, u1 )]. Thus, it
follows from (3.27) that, for any unit vector ξ,

ξ T Wc (t, t + δ)ξ ≥ ξ T Wc (s(t), s(t) + σ(δ, u1 ))ξ


 σ(δ,u )  #φ 2
1  
 T Ac 0 u1 (s(t)+τ )dτ
= ξ e Bc  dφ. (3.29)
0

Defining variable substitution θ(φ) = 0 |u1 (s(t) + τ )|dτ , we know from u1 (τ )
being of fixed sign in interval [s(t), s(t)+ σ(δ, u1 )] that function θ(φ) is strictly
monotonically increasing over [0, σ(δ, u1 )] and uniformly for all t, that
%#
φ
u (s(t) + τ )dτ
0# 1
if u1 (s(t)) > 0
θ(φ) = φ ,
− 0 u1 (s(t) + τ )dτ if u1 (s(t)) < 0

and that, since dθ/dφ


= 0, function θ(φ) has a well defined inverse with
dθ dθ
dφ = ≥ > 0.
|u1 (s(t) + φ)| u1

Applying the change of variable to (3.29) yields


 σ(δ,u1 )  
 T Ac # φ u1 (s(t)+τ )dτ 2
ξ e B 
c  dφ
 0

0
⎧  σ(δ,u1 )
⎪ 1  T A θ 2

⎨ ξ e c Bc  dθ, if u1 (s(t)) > 0
≥ u 1
 σ(δ,u1 )
0

⎪ 1  T −A θ 2
⎩ ξ e c Bc  dθ, if u1 (s(t)) < 0
u1 0
%  σ(δ,u1 ) '
σ(δ,u1 )  2  T −A θ 2
1    
≥ min T Ac θ
ξ e Bc dθ, ξ e c
Bc dθ
u1 0 0

= α1 (δ, u1 , u1 ). (3.30)

In (3.30), the value of α1 (·) is positive because both time-invariant pairs of


{±Ac , Bc } are controllable. The proof is completed by combining (3.29) and
(3.30). 2
Since u1 (t) is the control for the first sub-system in (3.25), its property
depends upon the control objective for x1 . Should x1 be commanded to track
a non-vanishing time function, u1 (t) is non-vanishing and hence uniform com-
plete controllability is ensured for the design of u2 . If stabilization of x1 is de-
sired, u1 (t) must be vanishing in which case the second sub-system in (3.25)
3.1 Canonical Form and Its Properties 95

is no longer uniformly completely controllable. Nonetheless, an appropriate


transformation can be applied to the sub-system of x2 so that uniform com-
plete controllability is recovered for the purpose of finding Lyapunov function
and carrying out the design of u2 . In what follows, two examples adopted
from [208] are included to illustrate transformations used to recover uniform
complete controllability in two different cases. In Example 3.10, u1 (t) is van-
ishing but does not belong to L1 space, and a time-unfolding transformation
is applied. It also is shown in [208] that, if u1 (t) is non-vanishing but not
uniformly non-vanishing, a time-folding transformation can be applied. In
Example 3.11, u1 (t) is vanishing and belongs to L1 space, and a time-varying
state transformation is prescribed.

Example 3.10. Consider


1
u1 (t) = w(t),
κ(t)
where w(t) is continuous and uniformly bounded, κ(t) > 0 for all t ≥ 0,
limt→∞ κ(t) = +∞, but 1/κ(t)
∈ L1 . Let us introduce the following transfor-
mation of time and control:
 t
1 1 
τ= ds, and u2 (t) = u2 (τ ).
0 κ(s) κ(t)

The transformation essentially unfolds the time, and it is diffeomorphic. Ap-


plying the transformation to the sub-system of z in (3.25) yields

dz(τ )
= w (τ )Ac z(τ ) + Bc u2 , (3.31)

where w (τ ) = w(t) with t being replaced by the inverse of the above time
transformation (which can be found once κ(t) is specified). As long as w (τ )
in (3.31) is uniformly non-vanishing, design of control u2 can be done through
the design of u2 for System 3.31. 3

Example 3.11. Suppose that

u1 (t) = e−t w(t),

where w(t) is continuous, uniformly non-vanishing, and uniformly bounded.


Consider the time-dependent state transformation

z  = diag{e(n−2)t , · · · , et , 1}z. (3.32)

Applying the transformation to the second sub-system in (3.25) yields

ż  = diag{(n − 2), · · · , 1, 0}z  + diag{e(n−2)t , · · · , et , 1}[u1 (t)Ac z + Bc u2 ]


= diag{(n − 2), · · · , 1, 0}z  + w(t)Ac z  + Bc u2
= [diag{(n − 2), · · · , 1, 0} + w(t)Ac ] z  + Bc u2 . (3.33)
96 3 Control of Non-holonomic Systems

If w(t) = 1, Transformed System 3.33 is time-invariant and controllable (hence


uniformly completely controllable). Given any uniform non-vanishing function
w(t), the state transition matrix of System 3.33 can be found to check uniform
complete controllability. Stability analysis is needed (and will be shown in
Section 3.3.2) to guarantee that Transformation 3.32 is well defined. 3

3.1.6 Equivalence and Extension of Chained Form

Under the global state transformation

z1 = x1 ,
zj1 = xjnj , 2 ≤ j ≤ m,

k
1
zjk = (−1)k xj(nj −k+1) + (−1)l (x11 )k−l xj(nj −l+1) ,
(k − l)!
l=1
2 ≤ k ≤ nj , 2 ≤ j ≤ m,

Chained System 3.1 becomes the so-called power form defined by





ż1 = u1 ,

⎪ z12 z1n2 −1


⎨ ż21 = u2 , ż22 = z1 u2 , ż23 = 2! u2 , · · · ż2n2 = (n2 − 1)! u2 ,

.. (3.34)

⎪ .



⎪ z2 z1nm −1

⎩ żm1 = um , żm2 = z1 um , żm3 = 1 um , · · · żmnm = um .
2! (nm − 1)!

Another equivalent model for non-holonomic systems is the so-called skew-


symmetric chained form [222]. Specifically, consider a system in Chained Form
3.3, that is,

ẋ1 = u1 ; ẋi = xi+1 u1 , i = 2, · · · , n − 1; ẋn = u2 . (3.35)

Define the following coordinate transformation:

z1 = x1 , z2 = x2 , z3 = x3 ; zj+3 = kj zj+1 + Lg1 zj+2 , 1 ≤ j ≤ n − 3;

where kj > 0 are positive constants (for 1 ≤ j ≤ n − 3), and g1 =


[1, x3 , x4 , · · · , xn , 0]T . Then, under the transformation, Chained System 3.35
is converted into the skew-symmetric chained form:


⎪ ż1 = u1 ,

ż2 = u1 z3 ,
(3.36)

⎪ żj+3 = −kj+1 u1 zj+2 + u1 zj+4 , 0 ≤ j ≤ n − 4,

żn = −kn−2 u1 zn−1 + w2 ,

where w2 = (kn−2 zn−1 + Lg1 zn )u1 + u2 .


3.1 Canonical Form and Its Properties 97

On the other hand, Chained Form 3.1 can be generalized by admitting


both draft terms and higher-order derivatives. Such a generalization of (3.2)
leads to the so-called extended chained form:
⎧ (k1 )

⎪ x1 = u1 ,( ) ( )



⎪ x
(k2 )
= α x , · · · , ẋ
(k1 −1)
, u x + β x , · · · , ẋ
(k2 −1)
,
⎪ 2
⎪ 2 1 1 1 3 2 2 2
⎨.
..

⎪ ( ) ( )

⎪ (kn−1 )
· · ·
(kn−1 −1)
· · ·
(kn−1 −1)


x n−1 = αn−1
(
x 1 , , ẋ1
)
, u 1 xn + β n−1 xn−1 , , ẋn−1 ,


⎩x (kn )
= u2 + βn xn , · · · , ẋn
(k n −1)
,
n
(3.37)
where ki are positive integers, αi (·) are smooth functions (some or all of
which are vanishing with respect to their arguments), and βi (·) are smooth
drift functions. If αi (·) = u1 and βi (·) = 0, Model 3.37 reduces to that in
[117]. An extended power form can be similarly defined [112]. As illustrated
by the following example, the extended chained model should be used as the
canonical model for certain non-holonomic systems.

Example 3.12. Consider Model 1.49 and 1.50 of a surface vessel. By direction
computation, the model is transformed into the following extended chained
form: ⎧
⎨ ẍ = v1 ,
ÿ = v1 ξ + β(ẋ, ẏ, ψ̇, ψ),

ξ̈ = v2 ,
where ξ = tan ψ is the transformed state variable, hence ψ = arctan ξ and
˙
ψ̇ = ξ/(1 + ξ 2 ),
  
m11 d22
β(ẋ, ẏ, ψ̇, ψ) = 1− ẋψ̇ − ẏ (sin ψ tan ψ + cos ψ),
m22 m22
and transformed control inputs vi are defined by
   
m22 d11 1 m11 d22
v1 = ẏψ̇ − ẋ + τ1 cos ψ + ẋψ̇ + ẏ sin ψ
m11 m11 m11 m22 m22
−(ẋ sin ψ + ẏ cos ψ)ψ̇,

and
 
m11 − m22 d33 1
v2 = sec2 ψ ẋẏ − ψ̇ + τ2 + 2(ψ̇)2 sec2 ψ tan ψ,
m33 m33 m33
respectively. 3

The dynamic augmentation from (3.2) to (3.37) captures a larger class


of non-holonomic kinematic constraints, and it can be further extended to
include a torque-level dynamic model such as the second equation in (1.24).
98 3 Control of Non-holonomic Systems

From the control design point of view, these augmentations of introducing in-
tegrators can be handled in principle by employing the backstepping approach
discussed in Section 2.6.1. If drift functions βi (·) have similar vanishing prop-
erties as αi (·), the aforementioned design methods such as dynamic feedback
linearization and state transformation can be applied to Extended Chained
Model 3.37 in a similar fashion as Standard Chained Model 3.2.
Introduction of the chained forms enables us to have one canonical form
for different non-holonomic systems, to study their common properties, and to
develop systematic procedures of analysis and control design. Since there is a
well defined transformation between the original system and its chained form,
all the results such as properties and control designs can be mapped back to
the original systems. Indeed, the transformation typically retains some (out-
put) variables of the original model. For instance, in Chained Form 3.10 of a
front-steer back-drive vehicle, Cartesian coordinators of its guidepoint remain
as the output (and state) variables, but steering angle and body angle no
longer appear explicitly. Nonetheless, it is always possible and often better to
conduct analysis and control design on the original model in a specific appli-
cation such that physical meanings of the original variables can be exploited
and that additional constraints (such as maximum steering rate, maximum
steering angle, etc.) can be taken into consideration.

3.2 Steering Control and Real-time Trajectory Planning


The basic issue of motion planning is to find a feasible trajectory (or the de-
sired trajectory) which satisfies such motion requirements as boundary condi-
tions, non-holonomic constraints, and other geometrical constraints imposed
by the environment. Non-holonomic systems are small-time non-linearly con-
trollable, and hence there is a solution to their navigation problem of planning
a feasible motion and determining the corresponding steering inputs. Specifi-
cally, we first present several simple steering control laws that generate feasible
trajectories for a non-holonomic chained system in a free configuration space.
Then, we formulate the real-time trajectory planning problem by considering
a dynamic environment in which both static and moving obstacles are present.
As an illustration, a real-time algorithm is presented to generate an optimized
collision-free and feasible trajectory for a car-like vehicle with a limited sens-
ing range. Based on the trajectory planning and replanning in the dynamic
environment, a feedback control can be designed (in Section 3.3) so that the
motion of a non-holonomic vehicle becomes pliable.

3.2.1 Navigation of Chained Systems

Consider a non-holonomic system in the chained form of (3.3), that is,

ż1 = u1 , ż2 = u2 , ż3 = z2 u1 , · · · , żn = zn−1 u1 . (3.38)


3.2 Steering Control and Real-time Trajectory Planning 99

The basic problem is to choose steering control u such that z(t0 ) = z0 and
z(tf ) = zf , where z = [z1 , · · · , zn ]T is the solution to (3.38), z0 is the given
initial condition, zf = [zf,1 , · · · , zf,n ]T is the given final condition, and tf
may be prescribed. In what follows, three typical laws of steering control are
presented. Other approaches such as differential geometry [251], differential
flatness [67], input parameterization [170, 259], and optimal control theory
[64] can also be applied to synthesize steering controls.

Sinusoidal Steering Inputs


The method of synthesizing a sinusoidal steering control is based on the sim-
ple mathematical facts that the indefinite integral of product sin ωt sin kωt
produces the higher-frequency component sin(k + 1)ω, that
 Ts  Ts
sin ωtdt = cos kωtdt = 0,
0 0

and that  $
Ts
0 if j
= k
sin jωt sin kωtdt = π ,
0 ω if j = k
where Ts = 2π/ω. Based on these facts, the basic step-by-step process of
generating a sinusoidal steering control is to steer state variables zi one-by-
one [169] as follows:
Step 1: In the first interval of t ∈ [t0 , t0 + Ts ], choose inputs u1 = α1 and u2 =
β1 for constants α1 , β1 such that z1 (t0 + Ts ) = zf,1 and z2 (t0 + Ts ) = zf,2 ,
and calculate zi (t0 + Ts ) for 3 ≤ i ≤ n by integrating (3.38).
Step 2: In the second interval of t ∈ [t0 + Ts , t0 + 2Ts ], let the inputs be
u1 (t) = α2 sin ωt, u2 (t) = β2 cos ωt. (3.39)
Direct integration of (3.38) under (3.39) yields
α2 β2
z1 (t0 +2Ts ) = zf,1 , z2 (t0 +2Ts ) = zf,2 , z3 (t0 +2Ts ) = z3 (t0 +Ts )+ Ts ,

and zi (t0 +2Ts ) for i > 3. Hence, β2 can be chosen such that z3 (t0 +2Ts ) =
zf,3 .
Step k (3 ≤ k ≤ (n − 1)): In the kth interval of t ∈ [t0 + (k − 1)Ts , t0 + kTs ],
let the steering inputs be
u1 (t) = α2 sin ωt, u2 (t) = βk cos(k − 1)ωt. (3.40)
It follows from (3.38) under (3.40) that


⎪ z1 (t0 + 2Ts ) = zf,1 ,


⎪ .
⎨ ..
⎪ zk (t0 + kTs ) = zf,k ,



⎪ αk2 βk
⎩ zk+1 (t0 + kTs ) = zk+1 (t0 + (k − 1)Ts ) + Ts ,
k!(2ω)k
100 3 Control of Non-holonomic Systems

and zi (t0 + kTs ) for k + 1 < i ≤ n. Hence, βk can be chosen such that
zk+1 (t0 + kTs ) = zf,(k+1) . The step repeats itself till k = n − 1.
Intuitively, the above steering controls can be designed in terms of simple
properties of sinusoidal functions because of the mathematical properties of
Lie brackets of the chained system. Recall from Section 3.1.2 that adkg1 g2 =
[0 · · · 0 1 0 · · · 0]T which is precisely the motion direction of zk+2 , and hence
the motion of zk+2 can be achieved by letting the frequency of u2 be k times
that of u1 .
The above steering control algorithm based on piecewise-sinusoidal func-
tions in (3.40) has a completion time of tf = t0 + (n − 1)Ts . Combining
all the piecewise-sinusoidal functions together yields the so-called all-at-once
sinusoidal steering method [259] in which the inputs are defined to be

u1 = α1 + α2 sin ωt, u2 = β1 + β2 cos ωt + · · · + βn−1 cos(n − 2)ωt. (3.41)

Integrating (3.38) under (3.41) yields n algebraic equations in terms of (n + 1)


design parameters. It is straightforward to show that, if z1f
= z10 , these
equations can be solved to meet terminal condition z(tf ) = zf with completion
time tf = t0 + Ts .
Example 3.13. Consider a fourth-order chained system in the form of (3.38).
Sinusoidal inputs in (3.41) can be used to steer the system from initial value
 
z0 = [z10 z20 z30 z40 ]T to final value zf = [z1f z2f z3f z4f ]T . It is elementary
to solve for control parameters coefficients and obtain
⎧ z1f − z10

⎪ , α2
= 0,
⎪ α1 =



Ts  

⎪ z2f − z20 2ω α1 β1 Ts2 α2 β1 Ts

⎪ z3f − z30 − α1 z20 Ts −
⎨ β1 = Ts
, β2 = + ,
2
 α2 Ts 2 2
2
2 2 3
ω
⎪ 8ω α T z20 α T β1 T s

⎪ β3 = 2 + α2 )T z4f − z40 − α1 z30 Ts − 1 s − 1 s

⎪ (2α 1 2 s 2 6

⎪ 

⎪ 2
α β2 T s α1 α2 z20 Ts 2
α1 α2 β2 Ts 2
α β1 T s

⎩ − 1 2 − − − 2 2 .
ω ω 4ω 2ω

Given boundary conditions z0 = [0 0 0 0]T and zf = [1 0 0 2]T , we choose ω =


2π/Ts , Ts = 3, and α2 = 0.2. The corresponding values of design parameters
α1 , β1 , β2 and β3 are 0.3333, 0, 0, 89.2168, respectively. Figure 3.2 shows the
trajectories under the sinusoidal steering inputs. 3

Piecewise-constant Steering Inputs

The piecewise-constant steering method [159] is to choose the inputs as: for
t ∈ [t0 + (k − 1)Ts , t0 + kTs ),

u1 (t) = αk , u2 (t) = βk , (3.42)


3.2 Steering Control and Real-time Trajectory Planning 101

1.8

1.6

1.4

1.2

0.8

0.6

0.4
z versus z
1 4
0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

(a) Phase portraits of z1 vs z4

25
z2
z3
20

15

10

−5

−10

−15

−20

−25
0 0.5 1 1.5 2 2.5 3
Time (sec)

(b) Trajectories of z2 and z3

Fig. 3.2. Trajectories under sinusoidal inputs


102 3 Control of Non-holonomic Systems

where k = 1, 2, · · · , (n − 1), αk and βk are design constants, and Ts is the


sampling period. Integrating Chained System 3.38 over the interval yields

⎪ z1 (t0 + kTs ) = z1 (t0 + (k − 1)Ts ) + αk Ts ,

⎪ z2 (t0 + kTs ) = z2 (t0 + (k − 1)Ts ) + βk Ts ,





⎪ Ts2

⎨ z 3 (t 0 + kT s ) = z 3 (t 0 + (k − 1)T s ) + z 2 (t 0 + (k − 1)T s )αk T s + αk β k ,
2
..


⎪.


⎪ zn (t0 + kTs ) = zn (t0 + (k − 1)Ts ) + zn−1 (t0 + (k − 1)Ts )αk Ts



⎪ Tsn−1
⎩ + · · · + βk αn−2 .
k
(n − 1)!

By setting z(tf ) = zf with tf = t0 + (n − 1)Ts and by repeatedly applying


the above equations, we obtain a set of algebraic equations in terms of z0 , zf ,
αk , and βk . To simply the calculations, αk = α can be set, and z(tf ) = zf
becomes n linear algebraic equations in terms of n design parameters α and β1
up to βn−1 . Solution to the resulting equations provides the piecewise-constant
steering inputs.

Example 3.14. Consider the same steering control problem stated in Example
3.13. If the piecewise-constant inputs in (3.42) are used, the control parameters
are determined as
⎧ z1f − z10

⎪ α= ,


⎨ ⎡ ⎤ 3T⎡s ⎤−1 ⎡ ⎤
β1 Ts Ts Ts z2f − z20

⎪ ⎢ 5αT 2
3αTs2
αTs ⎥
2
⎪ ⎣ β2 ⎦ = ⎣ 2 s
⎪ 2 2 ⎦
⎣ z3f − z30 − 3z20 αTs ⎦.
⎩ β 19α Ts 7α Ts α2 Ts3
2 3 2 3
z − z − 3z αT − 4.5z α2 2
T
3 4f 40 30 s 20 s
6 6 6

Under the choice of Ts = 1, the total steering time is identical to that in


Example 3.13, the trajectories are shown in Fig. 3.3, and the values of β1 , β2
and β3 are 18, −36, 18, respectively. 3

Polynomial Steering Inputs

The steering inputs can also be chosen to be polynomial time functions as


[169], if z1f
= z10 ,

u1 (t) = c10 , u2 (t) = c20 + c21 (t − t0 ) + · · · + c2(n−2) (t − t0 )n−2 , (3.43)

where c10 , c20 , c21 , · · ·, and c2(n−2) are design constants. Integrating Chained
System 3.38 under Input 3.43 yields
3.2 Steering Control and Real-time Trajectory Planning 103

1.8

1.6

1.4

1.2

0.8

0.6

0.4
z1 versus z4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

(a) Phase portraits of z1 vs z4

20
z
2
z3
15

10

−5

−10

−15

−20
0 0.5 1 1.5 2 2.5 3
Time (sec)

(b) Trajectories of z2 and z3

Fig. 3.3. Trajectories under piecewise-constant inputs


104 3 Control of Non-holonomic Systems

⎪ z1 (t) = z1 (t0 ) + c10 (t − t0 ),



⎪ c21 (t − t0 )2 c2(n−2) (t − t0 )n−1

⎪ z2 (t) = z2 (t0 ) + c20 (t − t0 ) + + ···+ ,

⎨ 2 n−1
..

⎪ .

⎪  k!cn−2 c2k (t − t0 )n+k−1 n−1  cn−k (t − t0 )n−k


n−2

⎪ n z (t) = z (t ) + 10
+ 10
zk (t0 ).
⎩ n 0
(n + k − 1)! (n − k)!
k=0 k=2
(3.44)
If zf,1
= z1 (t0 ), c10 can be solved for any tf > t0 as

zf,1 − z1 (t0 )
c10 = .
tf − t0

Then, the rest of the (n − 1) equations in (3.44) are linear in terms of c2j , and
they can be solved upon setting z(tf ) = zf . If zf,1 = z1 (t0 ), an intermediate
point z(t1 ) with z1 (t1 )
= z1 (t0 ) and t0 < t1 < tf can be chosen to generate
two segments of the trajectory: one from z(t0 ) to z1 (t1 ), and the other from
z1 (t1 ) to zf .

Example 3.15. For the steering problem studied in Example 3.13, polynomial
inputs in (3.43) can be used, and their corresponding parameters are: letting
T s = tf − t0 ,
⎧ z1f −z10

⎪ c10 = Ts ,


⎨⎡ ⎤ ⎡ Ts2 Ts3
⎤−1 ⎡ ⎤
c20 Ts 2 3 z2f − z20
⎪ ⎢ 2 3 4 ⎥
⎣ c21 ⎦ = ⎣ c10 Ts c10 Ts c10 Ts ⎦ ⎣ z3f − z30 − c10 z20 Ts ⎦
.



⎩ c22
2 6 12
c210 Ts3 c210 Ts4 c210 Ts5 z4f − z40 − c10 z30 Ts − 0.5c210 z20 Ts2
6 24 60

If Ts = 3 is set, the values of c10 , c20 , c21 , c22 are 0.3333, 40, −80, 26.6667,
respectively. The corresponding trajectories are shown in Fig. 3.4. 3

Although the above three steering control designs are all comparable, we
see that the polynomial control is arguably the most user-friendly since both
the steering controls and the resulting trajectories are smooth. It should be
noted that, except for more computations, u1 (t) in (3.43) can also be chosen
to be a polynomial function of time. Based on (3.44), tf can be adjusted to
satisfy any additional constraints on ui such as kinematic control saturation.

3.2.2 Path Planning in a Dynamic Environment

Autonomous vehicles are likely to operate in an environment where there are


static and moving obstacles. In order for a vehicle to maneuver successfully
in such a dynamic environment, a feasible and collision-free trajectory needs
to be planned in the physical configuration space. In order to illustrate the
process of synthesizing the corresponding polynomial steering control in the
3.2 Steering Control and Real-time Trajectory Planning 105

1.8

1.6

1.4

1.2

0.8

0.6

z1 versus z4
0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

(a) Phase portraits of z1 vs z4

15
z
2
z3

10

−5

−10

−15
0 0.5 1 1.5 2 2.5 3
Time (sec)

(b) Trajectories of z2 and z3

Fig. 3.4. Trajectories under polynomial inputs


106 3 Control of Non-holonomic Systems

form of (3.43), a specific vehicle model should be considered, and its boundary
conditions should be specified in the physical configuration space. Accordingly,
we adopt the front-steering back-driving vehicle in Fig. 3.5 as the illustrative
example. Unless mentioned otherwise, a circle of radius r0 is used to represent
the vehicle’s physical envelope, and the guidepoint is placed at the vehicle’s
center in order to minimize the envelope. Parallel to the modeling in Section
1.3.2, the kinematic model of this vehicle is given by
⎡ ⎤ ⎡ ⎤
ẋ ρ cos θ − ρ2 tan φ sin θ 0
 
⎢ ẏ ⎥ ⎢ ρ sin θ + ρ2 tan φ cos θ 0 ⎥
⎢ ⎥=⎢ ⎥ w1
⎣ θ̇ ⎦ ⎢ ⎥
ρ , (3.45)
⎣ tan φ 0 ⎦ w2
l
φ̇ 0 1

where ρ is the radius of the driving wheels, l is the distance between centers
of two wheel axles, w1 is the angular velocity of the driving wheels, w2 is the
steering rate of the guiding wheels, q = [x, y, θ, φ]T is the state, and their initial
and final configurations are q0 = [x0 , y0 , θ0 , φ0 ]T and qf = [xf , yf , θf , φf ]T ,
respectively. In order to apply the design of polynomial steering control, Non-
holonomic Model 3.45 is mapped into the chained form

ż1 = u1 , ż2 = u2 , ż3 = z2 u1 , ż4 = z3 u1 . (3.46)

under coordinate transformation



⎪ l
⎪ z1
⎪ = x − cos θ,

⎪ 2

⎨ tan φ
z2 = ,
⎪ l cos3 θ (3.47)

⎪ z3 = tan θ,



⎩ z4 l
= y − sin θ,
2
and control transformation
⎧ u1

⎨ w1 = ,
ρ cos θ
2 * + (3.48)

⎩ w2 = 3 sin θ sin φ u1 + l cos3 θ cos2 φ u2 .
l cos2 θ

A typical scenario of motion planning is that, for any given vehicle, its
sensing range is limited and its environmental changes are due to appear-
ance/disappearance and/or motion of objects in the vicinity. For the illustra-
tive example, the 2-D version is depicted in Fig. 3.6 in which the vehicle is
represented by the circle centered at O(t) = (x, y) and of radius r0 , its sensor
range is also circular and of radius Rs , and the ith obstacle (i = 1, · · · , no ) are
represented by the circle centered at point Oi (t) and of radius ri . For moving
objects, origin Oi (t) is moving with linear velocity vector vi (t).
3.2 Steering Control and Real-time Trajectory Planning 107

l I

r0
GP

Fig. 3.5. Physical envelope of a car-like robot

The real-time trajectory planning problem is to find trajectory q(t) to


satisfy Kinematic Model 3.45 or 3.46, to meet the boundary conditions of
q(t0 ) = q0 and q(tf ) = qf , and to avoid all the obstacles in the environ-
ment during the motion. To ensure solvability and to simplify the technical
development, the following conditions are introduced:
(a) Physical envelopes of the vehicle and all the obstacles are known. Unless
stated otherwise, the envelopes are assumed to be circular.
(b) Sampling period Ts used by onboard sensors and steering controls is cho-
sen such that Ts is small, that k = (tf − t0 )/Ts is an integer, that position
Oi (i.e., Oi = (xki , yik ) at t = t0 + kTs ) of all the obstacles within the
sensing range are detected at the beginning of each sampling period, and

that their velocities vik = [ vi,xk k
vi,y ]T are known and (approximately)
constant for t ∈ [t0 + kTs , t0 + (k + 1)Ts ).
(c) All obstacles must be avoided. The obstacles do not form an inescapable
trap, nor does any of the obstacles prevent the vehicle arriving at qf in-
definitely, and the vehicle can avoid any of the obstacles by moving faster
than them. If needed, intermediate waypoints (and their configurations)
can be found such that the feasible trajectory can be expressed by seg-
ments parameterized by a class of polynomial functions (of sixth-order).
Furthermore, the feasible trajectory is updated with respect to sampling
period Ts in order to accommodate the environmental changes.
(d) Boundary configurations q0 and qf have the properties that x0 − 2l sin θ0
=
xf − 2l sin θf and |θ0 − θf | < π.
(e) For simplicity, no consideration is given to any of additional constraints
such as maximum speed, minimum turning radius, etc.
108 3 Control of Non-holonomic Systems

sensing range

r4
O4
O1
r1
v4 (t )

v1(t)
Rs Tf
(x f , y f )
v3 (t )
r3

vr O3
T0

O
( x0 , y 0 )
v2 (t )
r2 O
2 x

Fig. 3.6. Trajectory planning in a dynamic environment

Under these conditions, an optimized trajectory planning algorithm can be


developed as will be shown in Section 3.2.3.
In applications, Conditions (a) - (e) can be relaxed in the following ways.
Collision avoidance is achieved by imposing an appropriate minimum distance
between any two objects of certain physical envelopes. If the envelopes are all
circular (spherical), the minimum distance is in terms of distance between two
centers, and hence the corresponding condition is a second-order inequality.
It is straightforward to relax Condition (a) by including polygonal envelopes,
in which case some of the collision-free conditions are of first-order inequal-
ity. Though small sampling period Ts is required to detect the changes in
obstacle’s position and velocity, the velocities in Condition (b) may be es-
timated from position measurements. If some of the obstacles are allowed
to be overrun, whether to avoid these obstacles can also be optimized [280].
The intermediate waypoints required in Conditions (c) and (d) can be deter-
mined by applying the heuristic approach of either A∗ or D∗ search [243, 244].
Should the vehicle velocity be limited, it may not successfully avoid a fast-
moving constant-speed obstacle unless the sensing range is properly increased.
Should the vehicle be subject to certain minimum turn radius, Condition (e)
can be relaxed by combining the Dubin’s algorithm [25, 56, 251].
3.2 Steering Control and Real-time Trajectory Planning 109

3.2.3 A Real-time and Optimized Path Planning Algorithm

It follows from State Transformation 3.47, Chained Form 3.46 and Solution
3.44 that polynomial trajectories can be parameterized as

z4 (z1 ) = ab(z1 ),

where a = [a0 , a1 , · · · , ap ] is the vector of design parameters, and b(z1 ) =


[1, z1 (t), (z1 (t))2 , · · · , (z1 (t))p ]T is the vector of basis functions of z1 (t). Within
time interval [t0 + kTs , t0 + (k + 1)Ts ), the updated class of trajectories is
denoted by
z4 (z1 ) = ak b(z1 ). (3.49)
By continually updating parameter vector ak = [ak0 , ak1 , · · · , akp ], an optimized
feasible trajectory is planned based on vehicle’s current initial configuration
(q(t0 +kTs ) or z(t0 +kTs )), final configuration qf , initial position Oi = (xki , yik )
and constant velocity vik of neighboring obstacles. The planning is done in
three steps: define a class of feasible trajectories under polynomial steering
controls, determine the sub-set of collision-free trajectories, and find the op-
timized trajectory.

Parameterized Polynomial Trajectories

A trajectory in (3.49) is feasible if it corresponds to certain polynomial steering


inputs and satisfies the following boundary conditions on Chained Form 3.46:
 
db(z1 )  2 
k d b(z1 )  tan φk
ak b(z1k ) = z4k , ak  = tan θ k
, a 2  = , (3.50)
dz1 z1 =zk d(z1 ) z1 =zk l cos3 θk
1 1

 
db(z1 )  d2 b(z1 )  tan φf
ak b(z1f ) = z4f , ak = tan θf , ak = , (3.51)
dz1  z1 =z1f d(z1 )2  z1 =z1f l cos3 θf
where zi (t) are defined by (3.47):
 
zik = zi (t0 + kTs ), and zif = zi (tf ).

It follows from (3.50) and (3.51) that, if p = 5, there is a unique solution


to the parameterized feasible trajectory of (3.49) for any pair q(t0 + kTs )
and q(tf ). By choosing p ≥ 6, we obtain a family of feasible trajectories
from which a collision-free and optimized trajectory can be found. To simplify
computation, we set p = 6 in the subsequent development. In other words, we
choose to parameterize the class of feasible trajectories in (3.49) by one free
parameter ak6 . The rest of design parameters are chosen to satisfy the “current”
boundary conditions in (3.50) and (3.51), that is, they are the solution to the
following algebraic equation:
 k k k k k k T
a0 , a1 , a2 , a3 , a4 , a5 = (B k )−1 [Z k − Ak ak6 ], (3.52)
110 3 Control of Non-holonomic Systems

where
⎡⎤ ⎡ ⎤
z4k (z1k )6
⎢ z3k ⎥ ⎢ 6(z1k )5 ⎥
⎢ k⎥ ⎢ ⎥
⎢ z2 ⎥ ⎢ 30(z1k )4 ⎥
k ⎢ ⎥
Z = ⎢ f ⎥, A = ⎢ k ⎢ f 6 ⎥ ⎥, (3.53)
⎢ z4f ⎥ ⎢ (z1f) ⎥
⎣z ⎦ ⎣ 6(z )5 ⎦
3 1
z2f
30(z1f )4
⎡ ⎤
1 z1k (z1k )2 (z1k )3 (z1k )4 (z1k )5
⎢0 1 2z1k 3(z1k )2 4(z1k )3 5(z1k )4 ⎥
⎢ ⎥
⎢0 0 2 6z1k 12(z1k )2 20(z1k )3 ⎥
B =⎢
k
⎢1
⎥. (3.54)
⎢ z1f (z1f )2 (z1f )3 (z1f )4 (z1f )5 ⎥ ⎥
⎣0 1 2z f 3(z f )2 4(z f )3 5(z f )4 ⎦
1 1 1 1
00 2 6z1f 12(z1f )2 20(z1f )3

To determine explicitly the feasible class of parameterized trajectories in


(3.49), we need to find their corresponding steering controls ui in Chained
Form 3.46 and also to calculate zik required in (3.53) and (3.54). To this end,
we choose steering inputs ui to be the polynomials in (3.43). That is, after the
“current” kth sampling and for the rest of time t ∈ (t0 + kTs , tf ], the updated
steering inputs are of the form

uk1 (t) = c10 ,


uk2 (t) = ck20 + ck21 (t − t0 − kTs ) + ck22 (t − t0 − kTs )2 + ck23 (t − t0 − kTs )3 .

Substituting the above steering inputs into Chained Form 3.46, we can inte-
grate the equations, find the expressions for z1 (t) up to z4 (t), and conclude
that parameterized trajectories in (3.49) are generated by the following steer-
ing inputs:

z1f − z1 (t0 ) 
uk1 (t) = = c10 , (3.55)
tf − t0
uk2 (t) = 6[ak3 + 4ak4 z1k + 10ak5 (z1k )2 + 20ak6 (z1k )3 ]c10 + 24[ak4 + 5ak5 z1k
+15ak6 (z1k )2 ](t − t0 − kTs )(c10 )2 + 60(ak5 + 6ak6 z1k )(t − t0 − kTs )2 (c10 )3
+120ak6 (t − t0 − kTs )3 (c10 )4 . (3.56)

Under Steering Controls 3.55 and 3.56, zik+1 is updated from zik according to
the following expressions:

z1k+1 = z1k + c10 Ts ,


 t0 +(k+1)Ts
z2k+1 = z2k + uk2 (t)dt,
t0 +kTs
 t0 +(k+1)Ts  s
z3k+1 = z3k + c10 Ts z2k + c10 uk2 (t)dtds,
t0 +kTs t0 +kTs
3.2 Steering Control and Real-time Trajectory Planning 111

T2
z4k+1 = z4k + c10 Ts z3k + s c10 z2k
2
 t0 +(k+1)Ts  τ  s
+c10 uk2 (t)dtdsdτ. (3.57)
t0 +kTs t0 +kTs t0 +kTs

Initial transformed state zi0 is determined using (3.47) and initial con-
figuration q0 . Then, the process of updating the feasible trajectory is done
recursively as follows. Given the “current” initial condition zik and based on
an adequate choice of ak6 , the updated trajectory is given by (3.49) after solv-
ing Linear Equation 3.52, then the updated steering controls are provided by
(3.55) and (3.56), and the trajectory and the steering control laws are main-
tained for time interval [t0 + kTs , t0 + (k + 1)Ts ). At the (k + 1)th sampling,
the current initial condition is updated using the equations in (3.57), and the
updating cycle repeats. For implementation, Steering Controls 3.55 and 3.56
defined over each of the sampling periods are mapped back to physical control
variables w1 and w2 through Control Mapping 3.48.

Collision Avoidance Criterion

The class of polynomial trajectories in (3.49) and with p = 6 contains the


free parameter ak6 . To achieve collision-free motion in a dynamically changing
environment, a collision avoidance criterion should be developed, and an ana-
lytical solution is needed to update ak6 real-time according to sampling period
Ts .
Consider the typical setting in Fig. 3.6. Within time interval [t0 + kTs , t0 +
(k + 1)Ts ), the vehicle has coordinates (x(t), y(t)), and the ith obstacle has
initial coordinates (xki , yik ) and constant velocity [ vi,x
k k
vi,y ]T . Therefore, there
is no collision between the vehicle and the obstacle if

[y − (yik + vi,y
k
τ )]2 + [x − (xki + vi,x
k
τ )]2 ≥ (ri + r0 )2 , (3.58)

where τ = t − (t0 + kTs ) and t ∈ [t0 + kTs , tf ]. The relationships between


(x(t), y(t)) and (z1 (t), z4 (t)) are defined by Transformation 3.47, and hence
Inequality 3.58 can be rewritten in the transformed space of z4 vs z1 as:
 2  2
 l  l
z4,i + sin(θ) − yik + z1,i + cos(θ) − xki ≥ (ri + r0 )2 , (3.59)
2 2
 
where z1,i = z1 − vi,x
k
τ and z4,i = z4 − vi,y
k
τ . It is apparent that Inequality
3.59 should be checked only for those time instants at which
 
xki ∈ [z1,i + 0.5l cos(θ) − ri − r0 , z1,i + 0.5l cos(θ) + ri + r0 ]. (3.60)

Since there is no closed-form expression for θ only in terms of z1 and z4 ,


Inequality 3.59 needs to be improved to yield a useful criterion. To this end,
let us introduce intermediate variables
112 3 Control of Non-holonomic Systems
 
l l
(xi , yi ) = 
z4,i 
+ sin(θ), z1,i + cos(θ) .
2 2
It is shown in Fig. 3.7 that, for θ ∈ [−π/2, π/2], all possible locations of point
(xi , yi ) are on the right semi circle centered at (z1,i
 
, z4,i ) and of radius l/2.
Therefore, without the knowledge of θ a priori, the ith obstacle must stay
clear from all the circles of radius (ri + r0 ) centered and along the previous
right semi circle. In other words, the region of possible collision is completely
 
covered by the unshaded portion of the circle centered at (z1,i , z4,i ) and of
radius (ri + r0 + l/2). That is, the collision avoidance criterion in the (z1 , z4 )
plane is mathematically given by
 2
2 2 l
[z4 − (yi + vi,y τ )] + [z1 − (xi + vi,x τ )] ≥ ri + r0 +
k k k k
, (3.61)
2
which needs to be checked only if
 
xki ∈ [z1,i − ri − r0 , z1,i + 0.5l + ri + r0 ]. (3.62)

Recalling from (3.55) that z1 and hence z1,i change linearly with respect to
time, we can rewrite Time Interval 3.62 as
k
t ∈ [tki , ti ], (3.63)
where

⎪ t0 + kTs if xki ∈ [z1k − ri − r0 , z1k + 0.5l + ri + r0 ]



⎪ tf  if z1k − xki − ri − r 0 > 0 and if c10 − vi,x ≥ 0
k




k k
z1 −xi −ri −r0

⎨ min tf , t0 + kTs + |c10 −vi,x k |

tki =  if z k
1 − x k
− ri − r0 > 0 and if c10 − vi,x
k
≤0 ,

⎪ k
i
k

⎪ min tf , t0 + kTs +
|z1 −xi +0.5l+ri +r0 |

⎪ k
c10 −vi,x



⎪ if z1 − xi + 0.5l + ri + r0 < 0 and if c10 − vi,x
k k k
≥0

tf if z1 − xi + 0.5l + ri + r0 < 0 and if c10 − vi,x ≤ 0
k k k

and
⎧  
⎪ xk k
i −z1 +ri +r0

⎪ min t f , t 0 + kT s + c10 −vi,xk



⎪ if x k
∈ [z k
− r − r k
0 , z1 + 0.5l +  ri + r0 ] and if c10 − vi,x
k
≥0

⎪  i 1 i

⎪ k
−x k
+0.5l+r +r

⎪ min t , t 0 + kT +
z 1 i i 0


f s k |
|c10 −vi,x

⎪ k
∈ k
− − k
0.5l + ri + r0 ] and if c10 − vi,xk
≤0

⎪ if x i [z 1 ri r 0 , z 1 +

k tf if z1 − xi − ri − r0 > 0 and if c10− vi,x ≥ 0
k k k
ti = z k −xk +0.5l+r +r
.

⎪ min tf , t0 + kTs + 1 |ci 10 −vk |i 0




i,x

⎪ if z1k − xki − ri − r0 > 0 and ifc10 − vi,x k
≤0

⎪ 


k k
|z1 −xi −ri −r0 |

⎪ min tf , t0 + kTs + c10 −vi,xk



⎪ if z k
− xk
+ 0.5l + r + r 0 < 0 and if c10 − vi,x ≥ 0
k

⎩ 1 i i
tf if z1 − xi + 0.5l + ri + r0 < 0 and if c10 − vi,x
k k k
≤0
3.2 Steering Control and Real-time Trajectory Planning 113

z 4' ,i

Oik = ( xik , y ik )
ri + r0

( xi' , y i' )
1
2
T
( z1' ,i , z 4' ,i )

z1' ,i- ri - r0 z1' ,i+ ri + r0 + 0.5l z1' ,i

Fig. 3.7. Illustration of collision avoidance in the transformed plane

In summary, we have two collision avoidance criteria: Time Criterion 3.63


and Geometric Criterion 3.61.
To determine a class of feasible and collision-free trajectories, substituting
(3.49) into (3.61) yields the following second-order inequality:
 
min ζ2 (z1 (t), t)(ak6 )2 + ζ1,i (z1 (t), t)ak3 + ζ0,i (z1 (t), t) ≥ 0, (3.64)
k
t∈[tk ,t ]
i i

where b (z1 ) = [1, z1 (t), (z1 (t))2 , · · · , (z1 (t))5 ]T ,


 2
ζ2 (z1 (t), t) = (z1 (t))6 − b (z1 (t))(B k )−1 Ak ,
  
ζ1,i (z1 (t), t) = 2 (z1 (t))6 − b (z1 (t))(B k )−1 Ak · b (z1 (t))(B k )−1 Y k − yik

−vi,y
k
τ ,
 2
ζ0,i (z1 (t), t) = b (z1 (t))(B k )−1 Y k − yik − vi,y
k
τ + (z1 (t) − xki − vi,xk
τ )2
−(ri + r0 + 0.5l)2 .

It is shown in [207] that, unless a collision already occurred at initial configu-


ration q0 or will occur at final configuration qf when t = tf (under Condition
(c), the latter case can be avoided by adjusting tf ), ζ2 (z1 (t), t) > 0 and In-
equality 3.64 is always solvable. That is, to ensure that the trajectories in
114 3 Control of Non-holonomic Systems

(3.49) are feasible and collision-free, we can choose ak6 in set Ωok where Ωok is
the interval defined by
 ,  
Ωok = (−∞, ak6,i ] ∪ [ak6,i , +∞) , (3.65)
i∈{1,···,no }

where

(ζ1,i )2 − 4ζ2 ζ0,i
−ζ1,i −
ak6,i = min ,
t∈[tk
k
,t ]
i i
2ζ2

−ζ1,i + (ζ1,i )2 − 4ζ2 ζ0,i
ak6,i = max .
t∈[tk
k
,t ]
i i
2ζ2

Note that, in (3.65), the union operation is done for all the obstacles within
the sensing range and hence the knowledge of no is not necessarily required.

Optimized Trajectory Planning

Given the class of feasible trajectories in (3.49), an optimized trajectory can be


selected according to certain performance index. In what follows, the following
L2 performance index is utilized:
  2
z1f
z4f − z40
Jk = z4 − (z1 − z10 ) − z40 dz1 . (3.66)
z1k z1f − z10

Intuitively, the above performance index is suitable for three reasons. First, be-
tween a pair of initial and final points in the 2-D (or 3-D) space, the minimum
distance is the straight line segment connecting them. Second, in the presence
of non-holonomic constraints, the straight line segment is usually not feasi-
ble (because of other configuration variables), and the problem of minimizing
the distance is generally too difficult to solve analytically for non-holonomic
systems. For real-time implementation, one would like to choose a perfor-
mance index under which the optimization problem is solvable in closed-form.
Third, as shown in Section 1.3.2 and in Transformation 3.47, (z1 (t), z4 (t))
are the coordinates of the center along the back axle. Figure 3.8 provides a
graphical interpretation of Performance Index 3.66. Thus, through minimizing
Performance Index 3.66, the vehicle motion should not deviate much from the
straight line segment between the initial and final coordinates.1
To determine the optimal value of ak6 , we substitute (3.49) and (3.52) into
(3.66) and obtain

1
There are cases that the system may have to deviate far away from the straight
line segment in order to avoid obstacles. In these cases, Performance Index 3.66
could be modified by inserting z1k and z4k for z10 and z40 , respectively.
3.2 Steering Control and Real-time Trajectory Planning 115

y
(xf,yf)

Initial straight line

Trajectory with given


performance index

(xo,yo)

o
x

Fig. 3.8. The geometrical meaning of performance index

 
z1f
z4f − z40
Jk (ak6 ) = b (z1 )(B k )−1 (Y k − Ak ak6 ) + ak6 (z1 )6 − (z1 − z10 )
z1k z1f − z10
2
−z40 dz1 .

Direct computation yields

Jk (ak6 ) = α1 (ak6 )2 + α2 ak6 + α3 , (3.67)

where
 z1f
  2
α1 = (z1 (t))6 − b (z1 (t))(B k )−1 Ak dz1 ,
z1k

 z1f
  
α2 = 2 (z1 (t))6 − b (z1 (t))(B k )−1 Ak b (z1 (t))(B k )−1 Y k
z1k

z4f − z40
− (z1 (t) − z10 ) − z40 dz1 ,
z1f − z10

and
116 3 Control of Non-holonomic Systems
  2
z1f
  k −1 z4f − z40
α3 = b (z1 (t))(B ) Y −
k
(z1 (t) − z10 ) − z40 dz1 .
z1k z1f − z10
Clearly, α1 > 0 unless z1k = zf . Hence, the unconstrained optimal value of ak6
can easily be found by differentiating (3.67), that is,
α2
ak6 = − .
2α1
Using the boundary conditions of ∂ l z4 /∂z1l as defined in (3.50) and (3.51) for
l = 0, 1, 2, one can show through direct integration that
       
∂ 2 z4  ∂ 2 z4  ∂z4  ∂z4 
13 ∂z1 2  + ∂z1 2  117 ∂z1  − ∂z1 
α2 z1 =z1k z1 =z1f z1 =z1f z1 =z1k
= f
+ f
2α1 12(z1 − z1 )
k 4 10(z1 − z1 )
k 5
- f 0 .
z −z
429 z4f −z40 (z1k − z1f ) − (z4k − z4f )
1 1
+ . (3.68)
10(z1k − z1f )6
In the presence of obstacles, ak6 has to be chosen from set Ωok in (3.65). Hence,
the constrained optimal value of ak6 is the projection of the unconstrained
optimal solution onto Ωok , that is,
/ / / /
/ k∗ α2 / / k α2 /
/
a6 ∈ Ωo : /a6 +
k∗ k / = min a +/ /. (3.69)
2α1 / ak6 ∈Ωok / 6 2α1 /
In summary, the optimized collision-free and feasible trajectory is given by
(3.49) with Ωok in (3.65), with ak6 from (3.68) and (3.69), and with the rest of
ak from (3.52).
As an illustration, consider the following simulation setup:
(a) Vehicle parameters: r0 = 1, l = 0.8 and ρ = 0.1.
(b) Boundary conditions: (x0 , y0 , θ0 , φ0 ) = (0, 12, − π4 , 0) and (xf , yf , θf , φf ) =
(17, 0, π4 , 0).
(c) Time interval and sampling period: t0 = 0, tf = 40, and Ts = 1.
(d) Sensor range: Rs = 8.
(e) Obstacles: three of size ri = 0.5.
Based on motion profiles of the obstacles, the aforementioned algorithm can
be used to determine the corresponding optimized trajectory. For the choices
of obstacles in Table 3.1, the optimized collision-free trajectory is shown in
Fig. 3.9. In the figure, all the four objects are drawn using the same scale and
with display period of Td = 3.

3.3 Feedback Control of Non-holonomic Systems


In this section, feedback controls are designed for non-holonomic systems
mapped into Chained Form 3.2. The so-called tracking control is the one that
3.3 Feedback Control of Non-holonomic Systems 117

Vehicle
Obstacle 1
12 Obstacle 2
Obstacle 3

10

6
y

−2
0 2 4 6 8 10 12 14 16 18
x

Fig. 3.9. The optimized trajectory under the choices in Table 3.1

Table 3.1. A setting of three moving obstacles

Initial locations t ∈ [0, 10] t ∈ [10, 20] t ∈ [20, 30] t ∈ [30, 40]

- . - . - . - .
0 0.5 0 0.1
Obst. 1 (5,2) v11 = v12 = v13 = v14 =
0.1 0.2 −0.2 −0.1

- . - . - . - .
−0.5 0.2 0.1 0.6
Obst. 2 (10,6) v21 = v22 = v23 = v24 =
0 0.1 0.1 0.1

- . - . - . - .
−0.2 −0.2 −0.1 −0.1
Obst. 3 (19,4) v31 = v32 = v33 = v34 =
−0.1 0.1 0.1 0.1

makes the system asymptotically follow a desired trajectory. The desired tra-
jectory must be feasible, that is, it has been planned to satisfy non-holonomic
constraints and hence is given by
ẋ1d = u1d , ẋ2d = x3d u1d , · · · , ẋ(n−1)d = xnd u1d , ẋnd = u2d , (3.70)
where xd = [x1d , · · · , xnd ]T ∈ n is the desired state trajectory, yd =
[x1d , x2d ]T ∈ 2 is the desired output trajectory, and ud (t) = [u1d (t), u2d (t)]T ∈
2 is the corresponding open-loop steering control. If xd is a constant and
hence ud = 0, the tracking control problem reduces to the stabilization prob-
lem, also called the regulation problem. Should xd converge to a constant,
ud would have to be vanishing, and the control problem would be treated as
the stabilization problem. As discussed in Section 3.1, the fact of u1 → 0
requires specific remedies in the control design, and stabilizing feedback con-
118 3 Control of Non-holonomic Systems

trols also need to be either continuous but time-varying or time-independent


but discontinuous. Consequently, tracking control and stabilizing controls are
designed separately in the subsequent subsections.

3.3.1 Tracking Control Design

It is assumed in the tracking control design that desired trajectory xd is uni-


formly bounded and that steering control u1d (t) is uniformly non-vanishing.
Let
  
xe = [x1e , · · · , xne ]T = x−xd , ye = [y1e , y2e ]T = y−yd, v = [v1 , v2 ]T = u−ud

be the state tracking error, the output tracking error, and the feedback control
to be designed, respectively. Then, it follows from (3.2) and (3.70) that the
tracking error system consists of the following two cascaded sub-systems:

ẋ1e = v1 , y1e = x1e , (3.71)


ż = u1d (t)Ac z + Bc v2 + G(xd , z)v1 , y2e = C2 z, (3.72)

where z = [z1 , · · · , zn−1 ]T = [x2e , · · · , xne ]T ∈ n−1 , Ac ∈ (n−1)×(n−1) and
Bc ∈ n−1 are those in (2.43),
   
C2 = 1 0 · · · 0 , and G(xd , z) = z2 + x3d z3 + x4d · · · zn−1 + xnd 0 .

The cascaded structure of Error System 3.71 and 3.72 enables us to apply
the backstepping design. Specifically, Sub-system 3.71 is of first-order, and
a stabilizing control v1 can easily be designed; Sub-system 3.72 has a linear
time-varying nominal system defined by

ż = u1d (t)Ac z + Bc v2 , (3.73)

and the non-linear coupling from the first sub-system to the second is through
G(xd , z)v1 and does not have to be explicitly compensated for because v1 is
stabilizing and hence is vanishing. Given these observations, we can choose
the tracking control to be

v1 = −r1−1 p1 x1e , v2 = −r2−1 BcT P2 (t)z, (3.74)



where r1 , r2 , q1 , q2 > 0 are scalar constants, p1 = q1 r1 , Q2 is a positive
definite matrix, and P2 (t) is the solution to the differential Riccati equation
1
0 = Ṗ2 + P2 Ac u1d (t) + u1d (t)ATc P2 − P2 Bc BcT P2 + Q2 (3.75)
r2
under the terminal condition that P2 (+∞) is positive definite. It follows from
u1d (t) being uniformly non-vanishing, Lemma 3.9 and Theorem 2.33 that so-
lution P2 to Riccati Equation 3.75 is positive definite and uniformly bounded.
Hence, the Lyapunov function can be chosen to be
3.3 Feedback Control of Non-holonomic Systems 119

V (xe , t) = αp1 x21e + z T P2 (t)z = V1 (x1e ) + V2 (z, t), (3.76)

where α > 0 is a constant. Taking the time derivatives of Vi (·) along the
trajectories of Error System 3.71 and 3.72 and under Control 3.74 yields

V̇ = −2αq1 x21e − z T Q2 z − r2−1 z T P2 Bc BcT P2 z − 2z T P2 G(xd , z)r1−1 p1 x1e


≤ −2αq1 x21e − 2c1 z2 + 2c2 z2|x1e | + 2c3 z|x1e |, (3.77)

where

c1 = 0.5λmin (Q2 + r2−1 P2 Bc BcT P2 ), c2 = λmax (P2 )r1−1 p1 , c3 = c2 xd .

On the other hand, the solution to the first sub-system is


p1
x1e (t) = x1e (t0 )e− r1 (t−t0 ) . (3.78)

Choosing α > c23 /(c1 q1 ) in (3.77), applying inequality 2ab ≤ a2 + b2 , and then
substituting (3.78) into the expression yield

V̇ ≤ −αq1 x21e − c1 z2 + 2c2 z2|x1e |


≤ −β2 V + β3 V e−β1 (t−t0 ) , (3.79)

where
$ &
q1 c1 2c2 |x1e (t0 )|
β1 = , β2 = min β1 , , β3 = .
p1 λmax (P2 ) λmin (P2 )
Based on Lyapunov Function 3.76, asymptotic stability and exponential con-
vergence of the tracking error system under Control 3.74 can be concluded by
invoking Comparison Theorem 2.8 to solve for V from Inequality 3.79.
It is worth noting that, as shown in [104] as well as Section 2.6.4, the two
components v1 and v2 in (3.74) are optimal controls for Linear Sub-system
3.71 and Linear Nominal System 3.73 with respect to performance indices
 ∞  ∞
J1 = [q1 x21e + r1 v12 ]dt, and J2 = [z T Q2 z + r2 v22 ]dt, (3.80)
t0 t0

respectively. For the non-linear tracking error system of (3.71) and (3.72),
Control 3.74 is not optimal, nor can the optimal control be found analytically.
Nonetheless, given performance index J = J1 + J2 , a near-optimal control can
analytically be designed [208]. It is also shown in [208] that output feedback
tracking control can also be designed and that, if a Lie group operation [163]
is used to define error state xe , the desired trajectory xd does not explicitly
appear in the resulting tracking error system and hence is not required to
be uniformly bounded. Control 3.74 requires Lyapunov function matrix P2 (t)
which only depends on u1d (t) and hence can be pre-computed off line and
stored with an adequate sampling period. If u1d (t) is periodic, so is solution
P2 (t).
120 3 Control of Non-holonomic Systems

To illustrate performance of Control 3.74, consider the fourth-order Chained


System 3.2 and choose desired reference trajectory xd to be that generated
under the sinusoidal steering inputs in (3.41) with ω = 0.1, α1 = 0.3183,
α2 = 0.2, β1 = 0, β2 = 0 and β3 = 0.0525. Feedback Control 3.74 is sim-
ulated with control parameters r1 = r2 = 1, q1 = 10, and q2 = 20, and its
performance is shown in Fig. 3.10(a) for the chained system with “perturbed”
initial condition x(t0 ) = [−1, 1, 0.2, 0]T . The phase portrait is given in Fig.
3.10(b), where the solid curve is the portion of the reference trajectory over
time interval [0, 20π].

3.3.2 Quadratic Lyapunov Designs of Feedback Control

In this subsection, feedback controls are designed to stabilize Chained System


3.2 using quadratic Lyapunov functions in a form similar to (3.76) based on
uniform complete controllability. To stabilize Chained System 3.2 to any given
equilibrium point, control u1 must be vanishing. It follows from the discus-
sions in Section 3.1.5 that uniform complete controllability could be recovered
even if control u1 is vanishing. This means that u1 (t) should asymptotically
converge to zero even if x1 (t0 ) = 0. In other words, a simple backstepping of
first designing u1 for the first sub-system in (3.25) and then synthesizing u2
for the second sub-system does not work. Rather, we need to meet two basic
requirements in order to carry out quadratic Lyapunov designs:
(a) If x(t0 )
= 0, u1 (t)
= 0 for any finite time t even if x1 (t0 ) = 0.
(b) Control u1 (t) should be chosen such that, under an appropriate transfor-
mation, the second sub-system in (3.25) becomes uniformly completely
controllable.
In what follows, a few different choices are made for u1 (t) to meet the above
requirements, and the corresponding controls of u2 (t) are designed.

A Design Based on Exponential Time Function

Consider the following control:

u1 (t) = −(k1 + ζ)x1 + w(xτ (t))e−ζ(t−t0 ) , (3.81)



where k1 , ζ > 0 are design constants, xτ (t) = {x(τ ) : t0 ≤ τ ≤ t} rep-
resents the history of x(·), and scalar function w(·) has the properties that
0 ≤ w(xτ (t)) ≤ c0 for some c0 > 0, that w(xτ (t)) = 0 only if x(t0 ) = 0, and
that w(xτ (t)) is non-decreasing with respect to time and consequently has the
limit of limt→∞ w(xτ (t)) = c1 for some non-negative constant 0 < c1 ≤ c0 for
all xτ (t) with x(t0 )
= 0. There are many choices for w(xτ (t)); for instance,
the choice of
x(t0 ) 
w(xτ (t)) = c0 = c1 (x0 )
1 + x(t0 )
3.3 Feedback Control of Non-holonomic Systems 121

1.5
x1e
x2e
x3e
1 x4e

0.5

−0.5

−1

−1.5
0 10 20 30 40 50 60
Time (sec)

(a) Tracking errors

12
Desired trajectory
Trajectory under tracking control

10

−2
−5 0 5 10 15 20

(b) Phase portrait of x1 vs x2

Fig. 3.10. Performance under Tracking Control 3.74


122 3 Control of Non-holonomic Systems

is constant, while the choice of

maxτ ∈[t0 ,t] x(τ )2


w(xτ (t)) = c0
x(t) + maxτ ∈[t0 ,t] x(τ )2

can have the following values for its limit c1 : c1 = c0 for all convergent trajec-
tories of x(t), c1 ≤ c0 for all bounded trajectories, and c1 = c0 for all divergent
trajectories.
Under Control 3.81, the first sub-system in (3.25) has the property that

dx21 c2
= −2(k1 + ζ)x21 + 2x1 w(xτ (t))e−ζ(t−t0 ) ≤ −(2k1 + ζ)x21 + 0 e−2ζ(t−t0 ) ,
dt ζ

from which stability and asymptotic convergence of x1 (t) can be concluded.


In addition, it follows from the system equation and Control 3.81 that

d[x1 (t)eζ(t−t0 ) ]
= −k1 [x1 eζ(t−t0 ) ] + w(xτ (t))
dt
and that, unless x(t0 ) = 0,

lim [x1 (t)eζ(t−t0 ) ] = c1 /k1 , lim [u1 (t)eζ(t−t0 ) ] = −c1 /k1


= 0.
t→∞ t→∞

Since [u1 (t)eζ(t−t0 ) ] is uniformly bounded and uniformly non-vanishing, a


state transformation similar to (3.32) in Example 3.11 can be applied to the
second sub-system of (3.25). That is, we have

ż  = A z  + Bc u2 + η(x, t)Ac z  , (3.82)

where
z  = diag{e(n−2)ζ(t−t0 ) , · · · , eζ(t−t0 ) , 1}z (3.83)
is the transformed state,
 c1
A = ζdiag{(n − 2), · · · , 1, 0} − Ac ,
k1
and the residual function

η(x, t) = u1 (t)eζ(t−t0 ) + c1 /k1

is uniformly bounded and vanishing. Since the pair {A , Bc } is controllable,


control u2 can be chosen to be

u2 = −BcT P2 z  = −BcT P2 diag{e(n−2)ζ(t−t0 ) , · · · , eζ(t−t0 ) , 1}z, (3.84)

where P2 is the solution to algebraic Riccati equation: for some positive defi-
nite matrix Q2 ,
3.3 Feedback Control of Non-holonomic Systems 123

P2 A + (A )T P2 − P2 Bc BcT P2 + Q2 = 0. (3.85)

To demonstrate that transformed state z  is uniformly bounded and asymp-


totically convergent under Control 3.84, consider Lyapunov function V2 =
(z  )T P2 z  whose time derivative is

V̇2 = −(z  )T (Q2 + P2 Bc BcT P2 )z  + 2η(x, t)(z  )T Ac z 


≤ −γ1 V2 + γ2 |η(x, t)|V2 ,

where
λmin (Q2 + P2 Bc BcT P2 ) 2λmax (Ac )
γ1 = , γ2 = .
λmax (P2 ) λmin (P2 )
Applying Comparison Theorem 2.8 and solving V2 from the above inequality
yield
- #t .
γ2
−γ1 (t−t0 ) 1− γ |η(x,τ )|dτ
1 (t−t0 )
lim V2 (t) ≤ lim e t0
V2 (t0 ) = 0,
t→+∞ t→+∞

since η(x, t) is uniformly bounded and vanishing. Thus, z  is asymptotically


stable and exponentially convergent, and so is z. In summary, Control Compo-
nents 3.81 and 3.84 together make Chained System 3.76 asymptotically stable
and exponentially convergent, and they are smooth and time-varying in terms
of exponential time function e±ζt .

A Dynamic Control Design

Instead of using an exponential function, u1 can be designed to be a simple


dynamic controller as

u̇1 = −(k1 + ζ)u1 − k1 ζx1 , (3.86)

where u1 (t0 ) = −k1 x1 (t0 ) + x(t0 ), and k1 > 0 and 0 < ζ < k1 are design
parameters. It follows that, under Control 3.86, the solution to the first sub-
system of (3.25) is

x1 (t) = c3 e−k1 (t−t0 ) + c2 e−ζ(t−t0 ) .

Hence, the solution to Control 3.86 is

u1 (t) = −k1 c3 e−k1 (t−t0 ) − ζc2 e−ζ(t−t0 ) , (3.87)


 
where c2 (x0 ) = x(t0 )/(k1 − ζ) and c3 (x0 ) = x1 (t0 ) − c2 (x0 ) . Through injec-
tion of u1 (t0 ), Control 3.86 is to excite state variable x1 whenever x(t0 )
= 0
while making both u1 and x1 exponentially convergent and asymptotically
stable (with respect to not |x1 (t0 )| but x(t0 )).
124 3 Control of Non-holonomic Systems

It follows from (3.87) that

lim [u1 (t)eζ(t−t0 ) ] = −ζc2 ,


t→∞

which is non-vanishing unless x(t0 ) = 0. Hence, the same state transfor-


mation of (3.83) can be applied to render Transformed System 3.82 with
c1 = ζc2 k1 , to result in control u2 (t) in (3.84), and to yield stability and
convergence.
To apply Controls 3.86 and 3.84 to the fourth-order chained system in the
form of (3.2), let us choose k1 = 5.77, ζ = 0.15 and Q2 = 10I2×2 . For the initial
condition of x(t0 ) = [0, −2, 3, 6]T , we can determine that the corresponding
values of u1 (t0 ) and c2 (x0 ) are 7 and 1.2448, respectively. Solution P2 to (3.85)
is ⎡ ⎤
53.7723 −28.2099 5.7674
P2 = ⎣ −28.2099 16.6800 −3.9419 ⎦ .
5.7674 −3.9419 1.2133
Performance of the system under Controls 3.86 and 3.84 is shown in Fig. 3.11.
It is worth noting that control component u1 in (3.86) is a pure-feedback
control law and that, based on the discussion in Section 3.1.4, there is no
pure-feedback control law for u2 . Given the fact that the overall system is
non-linear, Algebraic Riccati Equation 3.85 may depend upon initial condition
x(t0 ) through constant c1 . Although Transformation 3.83 is globally well de-
fined for any initial condition of x(t0 )
= 0, Control 3.84 has the computational
shortcoming that the ratio of two infinitesimals of zi /e−(n−1−i)ζ(t−t0 ) must
be calculated. Such a computation is numerically unstable but unavoidable
in order to achieve exponential convergence. In what follows, the time scaling
approach is presented as a remedy to overcome this computational problem,
and it achieves asymptotic stabilization rather than exponential convergence.

A Time-scaling Design

Consider the following dynamic feedback control of u1 :


 1
u̇1 = −2λ(t)u1 − ω 2 x1 , λ(t) = , (3.88)
t − t0 + 1
where u1 (t0 ) = c0 x(t0 ), ω > 0 and c0 > 0 are design parameters. The
solutions to the first sub-system of (3.25) and to Dynamic Control 3.88 can
be found by direct computation as

x1 (t) = λ(t)η1 (t, x0 ), u1 (t) = λ(t)η2 (t, x0 ), (3.89)

where time functions ηi (t, x0 ) are defined by

 c0 x(t0 ) + x1 (t0 )
η1 (t, x0 ) = x1 (t0 ) cos(ωt − ωt0 ) + sin(ωt − ωt0 ),
ω
3.3 Feedback Control of Non-holonomic Systems 125
12
x1
x2
x3
10 x4

−2
0 20 40 60 80 100 120
Time (sec)

(a) State trajectories

8
u
1
u2
7

−1
0 20 40 60 80 100 120
Time (sec)

(b) Control inputs

Fig. 3.11. Performance of Stabilizing Controls 3.86 and 3.84


126 3 Control of Non-holonomic Systems

and

η2 (t, x0 ) = {c0 x(t0 ) + [1 − λ(t)]x1 (t0 )} cos(ωt − ωt0 )
$   &
c0 x(t0 ) λ(t)
− λ(t) + + ω x1 (t0 ) sin(ωt − ωt0 ), (3.90)
ω ω
and both are uniformly non-vanishing and uniformly bounded in proportion
to x(t0 ). Accordingly, x1 (t) is asymptotically stable, and the time-scaling
method in Example 3.10 can be applied.
Under time mapping τ = ln(t − t0 + 1), we can use (3.89) to rewrite the
second sub-system of (3.25) as
dz 
= η2 (τ, x0 )Ac z  + Bc u2 , (3.91)

where z  (τ ) = z(eτ + t0 − 1), η2 (τ, x0 ) = η2 (eτ + t0 − 1, x0 ), and u2 (τ ) =
eτ u2 (eτ + t0 − 1). Since System 3.91 is linear time-varying and uniformly
completely controllable, it is asymptotically stabilized under the control
1
u2 (τ ) = − Bc P2 (τ )z  , (3.92)
r2
where matrix Q2 is positive definite, and P2 (τ ) over τ ∈ [0, ∞) is the positive
definite solution to the differential Riccati equation:
dP2 (τ ) 1
0= + η2 (τ, x0 )P2 (τ )Ac + ATc P2 (t)η2 (τ, x0 ) − P2 (τ )Bc BcT P2 (τ ) + Q2 .
dτ r2
(3.93)
Exponential stability of z  can be shown using Lyapunov function V2 =
(z  )T P2 (τ )z  . Hence, state vector z(t) = z  (ln(t − t0 + 1)) is asymptotically
stable under the following control equivalent to (3.92):
λ(t) T   λ(t) T
u2 (t) = λ(t)u2 (ln(t−t0 +1)) = − Bc P2 (ln(t−t0 +1))z = − B P2 (t)z,
r2 r2 c
(3.94)
where λ(t) is that in (3.88), and P2 (t) is positive definite and uniformly
bounded.
For the fourth-order chained system in the form of (3.2) and with initial
condition x(t0 ) = [0, −2, 3, 6]T , time-scaling control inputs of (3.88) and (3.94)
are simulated with the choices of r2 = 1, Q2 = 10I2×2 , ω = 1 and u1 (t0 ) = 10,
and their performance is shown in Fig. 3.12.
The asymptotically stabilizing control components of (3.88) and (3.94)
do not have the computational problem suffered by Controls 3.81, 3.86 and
3.84. As a tradeoff, Control 3.94 requires the solution to a differential Ric-
cati equation while Control 3.84 is based on an algebraic Riccati equation.
Nonetheless, since η2 (t, x0 ) becomes periodic as the time approaches infinity,
Lyapunov matrix P2 (t) also becomes periodic in the limit and hence can be
found using one of the well-established methods [3]. The two pairs of controls,
Control 3.86 and 3.84 as well as Control 3.88 and 3.94, can also be shown to
be inversely optimal [204].
3.3 Feedback Control of Non-holonomic Systems 127
8
x1
x2
x3
x4
6

−2

−4
0 10 20 30 40 50 60
Time (sec)

(a) State trajectories

10
u
1
u2
5

−5

−10

−15

−20

−25

−30

−35

−40
0 10 20 30 40 50 60
Time (sec)

(b) Control inputs

Fig. 3.12. Performance under Controls 3.88 and 3.94


128 3 Control of Non-holonomic Systems

3.3.3 Other Feedback Designs

Besides the quadratic Lyapunov designs based on uniform complete control-


lability, there are other approaches to design either discontinuous or time-
varying feedback controls. In what follows, several representative designs are
outlined.

Discontinuous Controls

For feedback stabilization of Chained System 3.2, a discontinuous control can


be designed using the partial feedback linearization in Section 3.1.3, also called
σ-process [9]. Specifically, in the case that x1 (t0 )
= 0, control component u1
is set to be that in (3.22) which ensures x1 (t)
= 0 for all finite time; then
Transformation 3.20 is applied to yield the linear time-invariant system of
(3.23) for which control component u2 can easily be designed (using either pole
placement [9] or algebraic Riccati equation [143]). In the case that x1 (t0 ) =
0 (but x(t0 )
= 0), a separate control can be designed over time interval
[t0 , t0 + δt) (for instance, u1 (t) = ±c with c > 0 and u2 (t) = 0) such that
x1 (t0 + δt)
= 0, and the control can then be switched to the previous one
since x1 (t0 + δt)
= 0.
Because the solution of x1 (t) to Control 3.22 is x1 (t) = x1 (t0 )e−k(t−t0 ) ,
any choice of control u2 (t) based on Transformation 3.20 suffers from the same
computational issue as Control 3.84. Meantime, Transformation 3.20 has the
singularity hyperplane of x1 (t)=0, which can cause excessive chattering in
the presence of noises and disturbances. To limit the chattering, the control
magnitude can be saturated and the resulting stability becomes semi-global
[140]. Also, robustification against certain types of noises and disturbances
can be achieved [100, 191].
Instead of employing the σ-process, discontinuous stabilizing controls can
also be designed using a piecewise-analytic state feedback design [22], a sliding
mode design [21], and a series of nested invariant manifolds [139].

Time-varying Controls

A 2π-periodic stabilizing control law can be synthesized through constructing


a 2π-periodic Lyapunov function. To expose the basic idea, let us consider the
third-order chained system

ẋ1 = u1 , ẋ2 = u2 , ẋ3 = x2 u1 . (3.95)

For System 3.95, the smooth time-varying control is given by

u1 = −(x2 + x3 cos t)x2 cos t − (x2 x3 + x1 ),


u2 = x3 sin t − (x2 + x3 cos t).

It follows that Lyapunov function


3.3 Feedback Control of Non-holonomic Systems 129

1 1 1
V (t, x) = (x2 + x3 cos t)2 + x21 + x23
2 2 2
is 2π-periodic and that its time derivative along the system trajectory is

V̇ = −(x2 + x3 cos t)2 − [(x2 + x3 cos t)x2 cos t + (x2 x3 + x1 )]2 ,

which is negative semi-definite and also 2π-periodic. Then, asymptotic stabil-


ity can be shown by extending LaSalle’s invariant set theorem to a 2π-periodic
Lyapunov stability argument, which together with the constructive design for
Chained System 3.2 can be found in [189].
The idea of sinusoidal steering control can be extended to yield time-
varying stabilizing control design by using center manifold theory and aver-
aging. To illustrate the concept, consider again System 3.95, and choose the
sinusoidal feedback control as

u1 = −x1 − x23 sin t, u2 = −x2 − x3 cos t.

The sinusoidal time functions can be generated from the following exogenous
system:
ẇ1 = w2 , ẇ2 = −w1 ,
where w1 (0) = 0 and w2 (0) = 1. Hence, the time-varying control can be
rewritten as
u1 = −x1 − x23 w1 , u2 = −x2 − x3 w2 .
Stability of the augmented system (including the exogenous system) can be
analyzed using center manifold theory [108]. It is straightforward to show that
the local center manifold is given by
1 1
x1 ≈ − x23 (w1 − w2 ), x2 ≈ − x3 (w1 + w2 ),
2 2
and that the dynamics on the center manifold is approximated by
1
ẋ3 ≈ − x33 (w1 − w2 )2 ,
4
which is asymptotically stable using the averaging analysis. For nth-order
non-holonomic systems, a sinusoidal stabilizing control can be designed for
Power Form 3.34, and local stability can be concluded using center manifold
and averaging analysis [258].
For systems in the Skew-symmetric Chained Form 3.36, a time-varying
feedback control is given by

u1 = −ku z1 + h(Z2 , t), w2 = −kw zn ,

where ku and kw are positive constants, Z2 = [z2 , z3 , · · · , zn ]T , and h(Z2 , t) =


Z2 2 sin t. Global asymptotical stability of the closed-loop system can be
130 3 Control of Non-holonomic Systems

shown [222] by using Barbalat lemma and a Lyapunov-like argument with the
Lyapunov function
0 2
1 1 1 1
V (Z2 ) = z22 + z32 + z 2 + · · · + 1n−2 zn2 ,
2 k1 k1 k2 4 j=1 kj

where ki > 0 are constants.


Additional time-varying feedback controls are also available, for instance,
those designed using homogeneous Lyapunov function [77, 153, 162]. Asymp-
totic stabilization can also be cast into the so-called ρ-exponential stabiliza-
tion, a weaker concept of exponential stability [154, 162].

Hybrid Control

A hybrid control is a set of analytic feedback control laws that are piecewise
switched according to a discrete event supervising law. For instance, a hybrid
feedback control for the third-order Chained System 3.95 is, within the interval
t ∈ [2πk, 2π(k + 1)),

u1 (t) = −x1 + |αk (x)| cos t, u2 (t) = −x2 + αk (x) sin t,

where αk (x) is the piecewise-switching function defined by


$
αk−1 if x3 (2πk)αk−1 ≥ 0
αk (x) = ,
γ|αk−1 |sign(x3 (2πk)) if x3 (2πk)αk−1 < 0

γ > 0 is a constant, α0 = 0 if x(t0 ) = 0, and α0


= 0 if x(t0 )
= 0. More details
on hybrid control designs can be found in [22, 111, 112, 239].

3.4 Control of Vehicle Systems


Consider the control problem for a vehicle system which consists of nr ve-
hicles. The vehicles are indexed by set Ω = {1, · · · , nr }, and they have con-
figuration outputs qi respectively. Individually, each of the vehicles can be
controlled using the path planning and feedback control algorithms discussed
in the preceding sections. In this section, we discuss the issues arising from
controlling nr vehicles as a group. In particular, we investigate the problems
of how to achieve a vehicle group formation and how to ensure that all the
vehicles avoid collision both among the group and with any of the obstacles
in their vicinities. In the study, we assume that output information of each
vehicle are available to all others and for all time. In practice, the information
is collected or transmitted via a sensing and communication network, and
the corresponding analysis and design will be carried out in the subsequent
chapters.
3.4 Control of Vehicle Systems 131

y0
e2 (t )
q1d (t )
e1 (t )
q0 (t )
q2d (t )

q3d (t )

x0

Fig. 3.13. Illustration of a formation in 2-D

3.4.1 Formation Control


Let q0 (t) ∈ l be the desired trajectory of the virtual leader specifying the
group motion of these vehicles. A formation specifies desired geometric re-
quirements on relative positions of the vehicles while they move, and it can
be expressed in terms of the coordinates in a motion frame F (t) that moves ac-
cording to q0 (t). Without loss of any generality, we assume F (t) ∈ l , set the
origin of F (t) to be at q0 (t), and choose [e1 , e2 , · · · , el ] to be its l orthonormal
basis vectors. Then, for any given formation consisting of nr vehicles, their
desired positions in frame F (t) can be expressed as {P1 , · · · , Pnr }, where

l
Pi = αij ej . (3.96)
j=1

Alternatively, the formation can also be characterized by its edge vectors: for
any i
= k,
l
Pi − Pk = (αij − αkj )ej . (3.97)
j=1

Note that αij are constant if the formation is rigid over time and that αij
are time functions if otherwise. Figure 3.13 illustrates a formation and its
frame F (t) for the case of l = 2 and nr = 3. In this case, it follows from
 T
q0 (t) = x0 (t) y0 (t) that
⎡ ⎤ ⎡ ⎤
ẋ0 (t) ẏ0 (t)
 −
⎢ [ẋ0 (t)]2 + [ẏ0 (t)]2 ⎥ ⎢ [ẋ0 (t)]2 + [ẏ0 (t)]2 ⎥
e1 (t) = ⎢

⎥ , e2 (t) = ⎢
⎦ ⎣
⎥.

ẏ0 (t) ẋ0 (t)
 
2
[ẋ0 (t)] + [ẏ0 (t)]2 2
[ẋ0 (t)] + [ẏ0 (t)] 2
132 3 Control of Non-holonomic Systems

The formation control problem is to control the vehicles such that they
move together according to q0 (t) and asymptotically form and maintain the
desired formation. In what follows, several approaches of formation control
are described.

Formation Decomposition

Based on the desired formation in (3.96) and on the virtual leader q0 (t), the
desired trajectories of individual vehicles can be calculated as


l
qid (t) = q0 (t) + αij ej , i = 1, · · · , nr . (3.98)
j=1

Through the decomposition, the formation control problem is decoupled into


the standard tracking problem, and the design in Section 3.3.1 can readily be
applied to synthesize control ui to make qi track qid .

Example 3.16. To illustrate the formation decomposition and its correspond-


ing control, consider a group of three differential-drive vehicles that follow a
given trajectory while maintaining the formation of a right triangle. Suppose
that the 2-D trajectory of the virtual leader is circular as

q0 (t) = [2 cos t, 2 sin t]T ,

and hence the moving frame is given by

e1 (t) = [− sin t, cos t]T , e2 (t) = [− cos t, − sin t]T .

For a right triangle, formation parameters are

α11 = 0, α12 = 0, α21 = −1, α22 = 1, α31 = −1, α32 = −1.

It then follows from (3.98) that the desired individual trajectories are
     
d 2 cos t d cos t + sin t d 3 cos t + sin t
q1 = , q2 = , q3 = ,
2 sin t sin t − cos t 3 sin t − cos t

respectively. In addition to vehicle positions in the formation, assume that the


desired orientation of the vehicles are aligned as specified by θid = t + π/2.
As shown in Section 3.1, models of the vehicles can be expressed in the
chained form as, given qi = [xi1 xi2 ]T ,

ẋi1 = ui1 , ẋi2 = xi3 ui1 , ẋi3 = ui2 .

Through Transformations 3.8 and 3.9, the desired trajectories can be mapped
into those for the state of the above chained form:
3.4 Control of Vehicle Systems 133

−1

−2

−3 Vehicle 1
Vehicle 2
Vehicle 3

−4
−4 −3 −2 −1 0 1 2 3 4

Fig. 3.14. Performance under formation decomposition and control

⎧ d ⎧ d ⎧ d

⎪ x = t + π2 , ⎪
⎪ x = t + π2 , ⎪
⎪ x = t + π2 ,
⎨ 11 ⎨ 21 ⎨ 31
xd12 = 2, xd22 = 1, xd32 = 3,

⎪ xd = 0, ⎪
⎪ xd = −1, ⎪
⎪ xd = −1,
⎩ 13 ⎩ 23 ⎩ 33
ud11 = 1, ud12 = 0, ud21 = 1, ud22 = 0, ud31 = 1, ud32 = 0.

Then, the tracking control presented in Section 3.3.1 can be readily applied.
Simulation is done for initial configurations [xi (t0 ), yi (t0 ), θi (t0 )]T given by
[0.5, 0, π4 ], [1, −2, π6 ] and [0, −1.5, 0], respectively; and phase portraits of the
vehicle trajectories are shown in Fig. 3.14. 3

Desired trajectory in (3.98) requires calculation of q̇0 (t), and the high-order
derivatives of q0 (t) may also be needed to write down appropriate tracking
error systems for the tracking control design. If time derivatives of q0 (t) are
not available, standard numerical approximations can be used.
While this approach is the simplest, there is little coordination between
the vehicles. As such, the formation is not robust either under disturbance or
with noisy measurements or in the absence of synchronized timing because
any formation error cannot be corrected or attenuated. In certain applications,
q̇0 (t) may be known only to some of the vehicles but not all. To overcome
these shortcomings, certain feedback mechanism among the vehicles should
be present.
134 3 Control of Non-holonomic Systems

Leader-follower Design

Let Ωi ⊂ Ω be a non-empty sub-set that contains the indices of the leader


vehicles for the ith vehicle to track. Then, it follows from (3.97) that the
desired trajectory of the ith vehicle can be expressed as
⎡ ⎤
 
l
qid (t) = dik ⎣qkd (t) + (αij − αkj )ej ⎦ , (3.99)
k∈Ωi j=1


where dik > 0 are positive weighting coefficients such that k∈Ωi dik = 1. As
long as ∪ni=1r
Ωi = Ω, a tracking control design can be applied to make qi track
the desired trajectory in (3.99) and in turn to achieve the desired formation
asymptotically.
Formation 3.99 requires that ej (t) and hence q0 (t) be explicitly available
to all the vehicles. To overcome this restriction, we can adopt a leader-follower
hierarchy and decompose the formation in (3.98) or (3.99) further in terms of
nr moving frames attached to individual vehicles (rather than just one moving
frame attached to the virtual leader), that is,
⎡ ⎤
 
l
qid (t) = dik ⎣qkd (t) + αij ekj ⎦ , i = 1, · · · , nr , (3.100)
k∈Ωi j=1

where {ekj : j = 1, · · · , l} are the orthonormal basis vectors of the desired


moving frame Fkd (t) at the kth vehicle, αij for j = 1, · · · , l are the desired
coordinates of the ith vehicle with respect to frame Fkd (t) and according to
the desired
formation, and dik > 0 are positive weighting coefficients such
that k∈Ωi dik = 1.

Example 3.17. To illustrate the leader-follower design, consider the formation


control problem that a leader-following structure is imposed among three
differential-drive vehicles and that each vehicle is to follow its leader(s) with
certain desired offset(s) while the virtual leader for the group moves along a
circular path of q0 (t) = [2 cos t, 2 sin t]T .
Suppose the first vehicle is to follow the virtual leader with zero offset, √
that the second√vehicle is to track the first with the offset values α21 = − 2
and α22 = 2 − 2, and √ that the third vehicle √ is to follow the second with the
offset values α31 = − 2 and α32 = 2 − 2. It follows (3.100) that

q1d (t) = q0 (t), q2d = q1d + α21 e11 + α22 e12 , q3d = q2d + α31 e21 + α32 e22 ,

where ekj (with j = 1, · · · , l) are determined along the trajectory of qkd (t).
That is, we have that
     
 − sin t  − cos t d
√ cos t + sin t
e11 (t) = , e12 (t) = =⇒ q2 = 2 ,
cos t − sin t sin t − cos t
3.4 Control of Vehicle Systems 135

−1

−2
Vehicle 1
Vehicle 2
Vehicle 3

−3
−3 −2 −1 0 1 2 3

Fig. 3.15. Performance under a leader-follower formation control

and that
     
− sin√t+cos t
− sin t+cos
√ t
2 sin t
e21 (t) = 2
cos t+sin , e22 (t) = 2
cos t−sin =⇒ q3d = .

2
t √
2
t
−2 cos t

Once again, the desired orientation of all vehicles are assumed to be θid =
t + π/2.
Then, as did in Example 3.16, the desired trajectories can be mapped into
the chained form as
⎧ d ⎧ d ⎧ d

⎪ x = t + π2 , ⎪
⎪ x21 = t√+ π2 , ⎪
⎪ x = t + π2 ,
⎨ 11d ⎨ d ⎨ 31
x12 = 2, x22 = √ 2, xd32 = 0,


d
x = 0, ⎪
⎪ x = − 2,
d

⎪ xd = −2,
⎩ 13d d ⎩ 23 ⎩ 33
u11 = 1, u12 = 0, d d
u21 = 1, u22 = 0, ud31 = 1, ud32 = 0,
and the tracking control in Section 3.3.1 can be applied. Performance of the
formation control is shown in Fig. 3.15 for the vehicles whose initial configura-
tions of [xi (t0 ), yi (t0 ), θi (t0 )]T are given by [0.5, 0, π4 ], [1, −2, π6 ] and [0, −1.5, 0],
respectively. 3
To make the leader-follower hierarchy robust and to avoid calculation of
qid (t) for most of the vehicles, Desired Trajectory 3.100 can further be changed
to
136 3 Control of Non-holonomic Systems
⎡ ⎤
 
l
q̂id (t) = dik ⎣qk (t) + αij êkj ⎦ , i = 1, · · · , nr , (3.101)
k∈Ωi j=1

where êkj are the basis vectors of frame Fk (t) located at qk (t) (rather than its
desired frame Fkd (t) located at qkd (t)). Accordingly, time derivatives of qk (t)
would appear in êkj , in the tracking error system of the ith vehicle, and in
the resulting control ui . However, time derivatives of qk (t) are usually not
available to the ith vehicle. If we choose to eliminate those derivatives by
substituting the model and its control of the kth vehicle, we will have more
complicated error dynamics, and the resulting control ui will require state
feedback of xk and possibly uk as well. Consequently, Ωi should be chosen
such that ∩ni=1r
Ωi is empty in order to avoid the potential of algebraic loop
in control design. Alternately, to simplify the design of ui , standard observers
(j)
can be used to estimate time derivatives of qk (t) from qk (t).
By designating the layers of leaders and followers, the vehicle system has
a fixed structure of command and control. While uncertainties and distur-
bances can now be compensated for, its rigid structure means that, if one of
the vehicles becomes disabled, all the vehicles supposed to follow that vehicle
(among other leader vehicles) are too impacted to keep the rest of the forma-
tion intact. In order to make the formation robust, a vehicle should follow the
prevailing behavior of its peers. That is, to maintain the formation as much
as possible, every vehicle is commanded to track majority of the vehicles in its
vicinity, which leads to the flexible structure of neighboring feedback design.

Neighboring Feedback
Let Ni (t) ⊂ Ω be the index set of those vehicles neighboring the ith vehicle
at time t. In the spirit of (3.101), the desired trajectory can be set to be
⎡ ⎤
 
l
q̂id (t) = dik (t) ⎣qk (t) + αij êkj ⎦ , (3.102)
k∈Ni (t) j=1

where dik (t) ≥ 0 and k∈Ni dik (t) = 1. In essence, the neighboring approach
makes the ith vehicle adjusts its motion according to its neighbors. Based on
(3.102), control ui can be designed to make qi track q̂id provided that Ni (t)
changes seldom. In the general case, Ni (t) could change quickly and even un-
predictably, Desired Trajectory 3.102 would become discontinuous and not
differentiable and hence the corresponding error system could not be prede-
termined. Formation control under these settings will be accomplished using
cooperative control in Sections 5.3.4 and 6.5.

3.4.2 Multi-objective Reactive Control


One way to make the vehicle system become pliable to environmental changes
and to ensure no collision among the vehicles in the system is to update
3.4 Control of Vehicle Systems 137

both q0 (t) and qid (t) using a real-time path planning and collision avoidance
algorithm such as that in Section 3.2. However, this approach has several
shortcomings in applications. First, it usually requires too much information,
is too time consuming, and may even be unsolvable in many scenarios to
replan q0 (t) so that the whole formation avoids all the obstacles. Second, if
the ith vehicle replans its desired trajectory, Geometrical Requirement 3.98
needs to be relaxed but also be maintained as close as possible. Third, if
all the vehicles replan their desired trajectories, these trajectories must be
collision-free among each other, which becomes more involved and may require
centralized coordination. Finally, in the case that there are many vehicles and
(moving) obstacles in a congested area, it would be more efficient for each
vehicle to navigate its local traffic while attempting to relate itself to the
virtual leader q0 (t).
As the alternative that addresses these issues, a multi-objective reactive
feedback control is preferred for each vehicle to track either the virtual leader
q0 (t) or its leader among the vehicle group while avoiding obstacles. The con-
trol design is to synthesize reactive forces based on potential field functions:
attractive force from an attractive potential field associated with the vir-
tual leader, and repulsive forces from repulsive potential field functions built
around obstacles and the vehicles. The intuition is that, by having the two
kinds of potential field functions interact with each other, the multiple control
objectives are integrated into one by which obstacle avoidance is the priority
during the transient and goal tracking is to be achieved asymptotically.

Composite Potential Field Function


Consider the following composite potential field function for the ith vehicle:

P (qi − qid , qi − qoj ) = Pa (qi − qid ) + Prj (qi − qoj ), (3.103)
j∈Ni

where q ∈ l , Ni (t) is the set containing all the indices of the obstacles
(including other vehicles) in a neighborhood around the ith vehicle (according
to its sensing range), Pa (·) is the attractive potential field function, Prj (·) is
the repulsive potential field function around the jth obstacle, qid (t) represents
its desired position (which may be calculated according to (3.102)), and qoj (t)
is the location of the jth obstacle. In what follows, both Pa (s) and Pr (s) are
assumed to be differentiable up to the second-order.
To generate an attractive force which moves the vehicle toward its goal,
the attractive potential field function should have the following properties:
%
(i) Pa (s) is positive definite and locally uniformly bounded,
∂Pa (s) (3.104)
(ii) sT is positive definite and locally uniformly bounded.
∂s
In (3.104), Property (i) is the basic characteristics of an attractive potential
field function, and Property (ii) implies that the negative gradient −∂Pa (s)/∂s
138 3 Control of Non-holonomic Systems

can be used a feedback control force to make the value of Pa decrease over
time. On the other hand, for collision avoidance, the repulsive potential field
functions should be chosen such that
⎧ / /
⎨ (i) P (s) = +∞ if s ∈ Ω , and / ∂Prj (s) /
lim / / = +∞,
s→Ωoj , s∈Ωoj / ∂s /
rj oj

(ii) Prj (s) = 0 for s
∈ Ω oj , and Prj (s) ∈ (0, ∞) for all s ∈ Ω oj ∩ Ωocj ,
(3.105)
where Ωoj ⊂ l is the compact set representing the envelope of the jth ob-
stacle, Ωocj is the complement set of Ωoj in l , and compact set Ω oj being
the enlarged version of Ωoj represents the region in which the repulsive force
becomes active. In (3.105), Property (ii) states that Prj (·) is positive semi-
definite, and Property (i) implies that configuration q cannot enter region
Ωoj without an infinite amount of work being done. In digital implementa-
tion, a maximum threshold value on Prj (·) may be imposed, in which case
collision avoidance can be ensured by either an adaptive sampling scheme
(that is, as the value of Prj (·) increases, the sampling period is reduced) or a
velocity-scaled repulsive potential field function (i.e., the higher the speed of
the vehicle, the larger compact set Ω oj while the maximum value on Prj (·) is
fixed).
Composite Potential Field Function 3.103 will be used to generate a control
Lyapunov function based on which a reactive control is designed. It should be
noted that, to ensure asymptotical convergence, additional conditions on qid ,
qoj and P (·) will be required.
Assumption 3.18 Desired trajectory qid can be tracked asymptotically, that
is, after some finite time instant t∗ , [qid (t) − qoj (t)]
∈ Ωoj for all t ≥ t∗ and
for all j ∈ Ni (t). Accordingly, repulsive potential field functions Prj should be
chosen such that [qid (t) − qoj (t)]
∈ Ω oj for all t ≥ t∗ and for all j ∈ Ni (t).
Assumption 3.19 In the limit of t → ∞, Composite Potential Field Func-
tion 3.103 has qid (t) as the only local minimum around qi (t).
Obviously, Assumption 3.18 is also necessary for qi to approach qid asymp-
totically. In general, there are more than one “stationary” solution qi∗ to the
algebraic equation ∂P (qi∗ − qid , qi∗ − qoj )/∂qi∗ = 0. It follows from Assumption
3.18 and the properties in (3.104) that qi∗ = qid is the global minimum of
function P (qi∗ − qid , qi∗ − qoj ). If the obstacles form a trap encircling the ith
vehicle but not its desired trajectory, Assumption 3.19 does not hold. Neither
does Assumption 3.19 have to hold during the transient. Without loss of any
generality, we assume that Ω oj ∩ Ω ok be empty for j
= k. Hence, we can solve
the algebraic equation

∂P (qi∗ − qid , qi∗ − qoj ) ∂Pa (qi∗ − qid ) ∂Prj (qi∗ − qoj )
= + =0 (3.106)
∂qi∗ ∂qi∗ ∂qi∗
3.4 Control of Vehicle Systems 139

for any pair of {Pa , Prj } and analyze the property of solution qi∗ during the
transient as well as in the limit.
For instance, consider the following typical choices of potential field func-
tions:
Pa (q − q d ) = λa [(x − xd )2 + (y − y d )2 ], (3.107)
and


⎪ +∞ if q − qo 2 ≤ ro2 , 

⎪ 2
(ro +
o ) − ro2
(ro +
o )2 − q − qo 2

λr ln −
Pr (q − qo ) = q − qo 2 − ro2 (ro +
o )2 − ro2 (3.108)



⎪ if ro ≤ q − qo 2 ≤ (ro +
o )2 ,
2

0 if q − qo 2 ≥ (ro +
o )2 ,

where q = [x y]T ∈ 2 , q d = [xd y d ]T , qo = [xo yo ]T , λa , λr > 0 are constant


gains, Ωo = {q : q − qo  ≤ ro }, and Ω o = {q : q − qo  ≤ ro +
o } with
ro ,
o > 0. In the case that y d = yo and xd − xo > ro +
o , the corresponding
total potential force of ∂P (q − q d , q − qo )/∂q has its vector field shown in Fig.
3.16. Clearly, q = q d is the only global minimum, and there is a saddle point
on the left of the obstacle.
In general, it follows from (3.106) that stationary point q ∗ exists only at
location(s) where repulsive and attractive force balance each other as

∂Pa (q ∗ − q d ) ∂Pr (q ∗ − qo )
= − . (3.109)
∂q ∗ ∂q ∗
Hence, if q d
∈ Ω o , there is no stationary point outside Ω o except for the
global minimum at q d . Inside Ω o , additional stationary point(s) may exist.
The following lemma provides the condition on the stationary point being a
saddle point, which ensures Assumption 3.19.
Lemma 3.20. Suppose that the level curves of Pa (q − q d ) = ca and Pr (q −
qo ) = cr are closed and convex, that these two families of level curves are
tangent to each other along a straight-line segment, and that q d
∈ Ω o ⊂ 2 .
Then, q ∗ ∈ Ω o is a saddle point if the curvature of Pa (q − q d ) = ca at q = q ∗
is smaller than that of Pr (q − qo ) = cr at q = q ∗ .
Proof: Consider any stationary point q ∗ ∈ Ω o and, at q ∗ , establish a local
coordinate system of q  = [x y  ]T such that its origin is at q = q ∗ and its y 
axis is along the direction of ∂Pa (q ∗ − q d )/∂q ∗ . That is, according to (3.109),
axis y  points toward the obstacle and also the goal q d further along, it is
parallel to the normal vector of both level curves of Pa (q − q d ) = ca and
Pr (q − qo ) = cr at q  = 0, and the x axis is along the tangent direction of
both level curves of Pa (q − q d ) = ca and Pr (q − qo ) = cr at q  = 0. Therefore,
we know from the geometry that q = Rq  + q ∗ for some rotational matrix R,
that  
∂Pa  ∂Pr 
= =0 (3.110)
∂x q =0 ∂x q =0
140 3 Control of Non-holonomic Systems

Fig. 3.16. Vector field of ∂P (q − q d , q − qo )/∂q under (3.107) and (3.108)

and  
∂Pa  ∂Pr 
= − > 0, (3.111)
∂y  q =0 ∂y  q =0
and that, since the level curves are closed and convex,
 
∂ 2 Pa  ∂Pr 
< 0, < 0. (3.112)
∂(y  )2  
q =0 ∂(y  )2   q =0

By assumption and according to (3.110), the two sets of level curves are tan-
gent along the y  axis and consequently equations
 
∂Pa  ∂Pr 
= =0
∂x q =[0 δy ]T ∂x q =[0 δy ]T

hold for all small δy  , which in turn implies


  
∂P 

∂P 
∂ 2 P  ∂ 2 P  ∂x q =[0 δy  ]T − ∂x q =0
= = lim = 0. (3.113)
∂y  ∂x q =0 ∂x ∂y  q =0 δy →0 δy 

Stability of stationary point q ∗ is determined by Hassian matrix ∂ 2 P /∂(q  )2


at that point. Therefore, it follows from (3.112) and (3.113) that q ∗ is a saddle
point if  
∂ 2 Pa  ∂Pr 
+ > 0, (3.114)
∂(x )2 q =0 ∂(x )2 q =0
and it is a stable node if the above inequality is reversed.
3.4 Control of Vehicle Systems 141

On the other hand, the curvature of function y = f (x) is (d2 y/dx2 )/[1 +
(dy/dx)2 ]3/2 . Taking the first-order derivative along the level curve of Pa (q −
q d ) = ca yields 
 ∂Pa 
dya  ∂x 
= − ∂Pa  = 0,
dx q =0 ∂y 

q =0

in which (3.110) is used, and ya = ya (x ) is the solution to the implicit equa-
tion of Pa (q − q d ) = ca . Using the above result and taking the second-order
derivative along the level curve of Pa (q − q d ) = ca yields

 ∂ 2 Pa 
dya2  ∂(x ) 
 2

 2  = − ∂Pa  , (3.115)
∂y   
d(x ) q =0
q =0

whose absolution value is the curvature of level curve Pa (q − q d ) = ca . Simi-


larly, it follows that the curvature of level curve Pr (q − qo ) = cr is the absolute
value of 
2 
 ∂ 2 Pr 
dyr  ∂(x )2 
 2  = − ∂Pr  . (3.116)
d(x ) q =0 ∂y  
q =0

Recalling that the level curves are convex and hence have opening upwards
in the coordinate of q  and around q  = 0, we know that dya2 /d(x )2 and
dyr2 /d(x )2 defined by (3.115) and (3.116) are both positive. It follows from
(3.111) that  
∂ 2 Pa  ∂Pr 
< 0, > 0.
∂(x )2 q =0 ∂(x )2 q =0
Hence, Inequality 3.114 can be concluded by comparing curvatures. 2
Lemma 3.20 can be visualized graphically, and its proof also implies that q ∗
is a stable node (and hence a local minimum) if the curvature of Pa (q−q d ) = ca
at q = q ∗ is larger than that of Pr (q − qo ) = cr at q = q ∗ . Presence of
stable node(s) in Ω o should be avoided by properly selecting the repulsive
potential field function for any given obstacle. The global minimum solution
of q d characterizes the tracking control objective, and the rest of stationary
solutions q ∗ introduced inevitably by the presence of repulsive potential field
functions should be saddle points in order to achieve both the objectives
of collision avoidance and goal tracking. Nonetheless, the presence of saddle
points qi∗ needs to be accounted for in the subsequent reactive control design.

Reactive Control

To simplify the technical development, let us consider the case that dynamic
feedback linearization has been applied (as in Section 3.1.3) to transfer the
vehicle model into
142 3 Control of Non-holonomic Systems

q̈i = ui , (3.117)
where qi ∈ l is the coordinate of configuration output variables, and ui is
the control to be designed. Then, the multi-objective reactive control can be
chosen to be
∂P (qi − qid , qi − qoj )
ui = − − ξi (qi − qid , qi − qoj )(q̇i − q̇id ) + q̈id
∂qi
 ∂ 2 Prj (qi − qoj )
−k (q̇i − q̇oj )q̇id − q̇oj 2
∂(qi − qoj )2
j∈Ni
 ∂Prj (qi − qoj )
−2k (q̇id − q̇oj )T (q̈id − q̈oj )
∂(qi − qoj )
j∈Ni

+ϕi (qi∗ , q̇i − q̇id , q̇i − q̇oj ) (3.118)

where ξi (·) ≥ 0 is the non-linear damping gain which vanishes as (qi − qoj )
approaches set Ω oj and is uniformly positive anywhere else (i.e., ξi = ξi (qi −
qid ) > 0 if (qi − qoj )
∈ Ω oj ), k > 0 is a gain associated with the terms
that resolve the potential conflict between asymptotic tracking and collision
avoidance, and ϕi (·) is a uniformly bounded perturbation term which is non-
zero only if the vehicle stays idle (in the sense that q̇i − q̇id = q̇i − q̇oj = 0)
at saddle point qi∗ (which can be solved from (3.106)). At the saddle point, a
simple choice of ϕi (·) would be a bounded force along the tangent direction
of the level curve of Prj (qi − qoj ) = Prj (qi∗ − qoj ).
Collision avoidance is established in the following theorem by showing that,
under Control 3.118, the vehicle never enters the moving set Ωoj around qoj .
Asymptotic tracking convergence is also shown under Assumptions 3.18 and
3.19.

Theorem 3.21. Suppose that Potential Field Function 3.103 satisfies Prop-
erties 3.104 and 3.105, where [q̇id (t) − q̇oj (t)] and qid (t) are uniformly bounded.
Then, as long as qi (t0 )
∈ Ωoj , System 3.117 under Control 3.118 is collision-
free. Furthermore, if Assumptions 3.18 and 3.19 hold, qi converges asymptot-
ically to qid (t).

Proof: Should moving sets Ω oj and Ω ok overlap for some j


= k and during
certain time period, the two obstacles can be combined into one obstacle.
Thus, we need only consider in the proof of collision avoidance that compact
moving sets Ω oj are all disjoint in the configuration space.
Consider first the simpler case that q̇id − q̇oj = 0. In this case, Control 3.118
with ϕi (·) = 0 reduces to

∂P (qi − qid , qi − qoj )


ui = − − ξi (qi − qid , qi − qoj )(q̇i − q̇id ) + q̈id . (3.119)
∂qi
Choose the Lyapunov function candidate
3.4 Control of Vehicle Systems 143

1
V1 (t) = q̇i − q̇id 2 + V0 (t),
2
where 
V0 (t) = Pa (qi − qid ) + Prj (qi − qoj ).
j

It is obvious that V1 (t0 ) is finite for any finite and collision-free initial condi-
tions. It follows that, along the trajectory of System 3.117 and under Control
3.119,
∂Pa (qi − qid )
V̇1 = (q̇i − q̇id )T (q̈i − q̈id ) + (q̇i − q̇id )T
∂(qi − qid )
 ∂Prj (qi − qoj )
+ (q̇i − q̇oj )T
∂(qi − qoj )
j∈Ni (t)
 ∂Prj (qi − qoj )
= −ξi (qi − qid , qi − qoj )q̇i − q̇id 2 + (q̇id − q̇oj )T
∂(qi − qoj )
j∈Ni (t)

= −ξi (qi − qid , qi − qoj )q̇i − q̇id 2 ,


which is negative semi-definite. Thus, V1 (t) is non-increasing as V1 (t) ≤ V1 (t0 )
for all t, Prj (qi − qoj ) < ∞ for all t and for all j, and hence the vehicle is
collision-free.
For the general case of q̇id − q̇oj
= 0, let us consider the Lyapunov function
/ /2
/  /
1 / ∂P (q − q ) /
V2 (t) = / 2/
rj i oj
/q̇i − q̇ d
+ k  q̇ d
− q̇oj  / + V0 (t).
2/ i
j
∂(qi − qoj ) i
/
Similarly, V2 (t0 ) is finite for any finite and collision-free initial conditions. It
follows from (3.117) and (3.118) that
⎡ ⎤T
 ∂Prj (qi − qoj ) 
V̇2 = ⎣q̇i − q̇id + k q̇id − q̇oj 2 ⎦ q̈i − q̈id
∂(qi − qoj )
j∈Ni
 ∂ 2 Prj (qi − qoj )
+k (q̇i − q̇oj )q̇id − q̇oj 2
∂(qi − qoj )2
j∈Ni

 ∂Prj (qi − qoj ) ∂Pa (qi − qid )
+2k (q̇id − q̇oj )T (q̈id − q̈oj )⎦ + (q̇i − q̇id )T
∂(qi − qoj ) ∂(qi − qid )
j∈Ni
 ∂Prj (qi − qoj )
+ (q̇i − q̇oj )T
∂(qi − qoj )
j∈Ni
/ /
 / ∂Prj (qi − qoj ) /2
= −k / / 2 d 2
/ ∂(qi − qo ) / q̇i − q̇oj  − ξi (qi − qi , qi − qoj )q̇i − q̇i 
d d
j
j∈Ni

+w(qi − qid , qi − qoj , q̇i − q̇id , q̇i − q̇oj ), (3.120)


144 3 Control of Non-holonomic Systems

where

w(qi − qid , qi − qoj , q̇i − q̇id , q̇i − q̇oj )


 ∂Prj (qi − qoj )
= (q̇id − q̇oj )T
∂(qi − qoj )
j∈Ni

  ∂Prj (qi − qoj ) T ∂Pa (qi − q d )


−k i
q̇id − q̇oj 2
∂(qi − qoj ) ∂(q i − q d)
i
j∈Ni

 ∂Prj (qi − qoj )  T
−k ξi (qi − qid , qi − qoj )(q̇i − q̇id )q̇id − q̇oj 2 .
∂(qi − qoj )
j∈Ni

It follows from (3.104) and from qid (t) being uniformly bounded that, for any qi
satisfying (qi −qoj ) ∈ Ω oj , ∂Pa (qi −qid )/∂(qi −qid ) is uniformly bounded. Hence,
we know from (q̇i − q̇oj ) being uniformly bounded that, for some constants
c1 , c2 ≥ 0,

|w(qi − qid , qi − qoj , q̇i − q̇id , q̇i − q̇oj )|


/ /
 / ∂Prj (qi − qoj ) /
≤ c1 / / d
/ ∂(qi − qo ) / q̇i − q̇oj 
j
j∈Ni
 / /
/ ∂Prj (qi − qoj ) / d
+c2 ξi (qi − qid , qi − qoj ) / /
/ ∂(qi − qo ) / q̇i − q̇oj q̇i − q̇i .
d
j
j∈Ni

Substituting the above inequality into (3.120), we can conclude using the
property of ξi (qi − qid , qi − qoj ) that, as (qi − qoj ) → Ωoj , V̇2 < 0. Thus, V2 (t)
will be finite in any finite region and hence there is no collision anywhere.
Since perturbation force ϕi (·) is uniformly bounded and is only active at
saddle points, its presence does not have any impact on collision avoidance.
To show asymptotic convergence under Assumptions 3.18 and 3.19, we
note from Lemma 3.20 (and as illustrated by Fig. 3.16) that after t = t∗ ,
the vehicle cannot stay in Ω oj indefinitely and upon leaving Ω oj the tracking
error dynamics of System 3.117 and under Control 3.118 reduce to
∂Pa (ei1 )
ėi1 = ei2 , ėi2 = − − ξi (ei1 )ei2 ,
∂ei1
where ei1 = qi − qid and ei2 = q̇i − q̇id . Adopting the simple Lyapunov function
1
V3 (t) = Pa (ei1 ) + ei2 2
2
we have
 
∂Pa (ei1 ) ∂Pa (ei1 )
V̇3 = eTi2 + eTi2 − − ξi (ei1 )ei2
∂ei1 ∂ei1
= −ξi (ei1 )ei2 2 ,
3.4 Control of Vehicle Systems 145

from which asymptotic convergence can be concluded using Theorem 2.21. 2

It is worth noting that trajectory planning and reactive control can be


combined to yield better performance toward both collision avoidance and
goal tracking. Specifically, if moving sets Ω oj are all relatively far apart from
each other, Control 3.118 can be simplified to be

∂P (qi − q̂id , q̂id − q̇oj ) d d


ui = − − ξi (qi − q̂id , qi − qoj )(q̇i − q̂˙ i ) + ¨q̂ i . (3.121)
∂qi

where q̂id is the re-planned version of qid such that q̂id never enters set Ω oj
d
around qo (although q d may enter temporarily), q̂˙ − q̇o = 0 holds whenever
j i i j

(qid − qoj ) enters set Ω oj , and limt→∞ q̂id − qid = 0. In other words, when
(qid − q̇oj ) enters moving set Ω oj , q̂id (t) is kept outside by choosing q̂id such
that (q̂id − q̇oj ) is constant; and when (qid − q̇oj ) exits set Ω oj , q̂id (t) is replanned
to track qid asymptotically or in finite time. Comparing (3.121) and (3.119), we
know that Control 3.121 is collision-free. It follows from the proof of Theorem
3.21 that Control 3.121 also makes (qid − qid ) asymptotically convergent. The
uniformly bounded detouring force ϕi (·) added in Control 3.118 is to move the
vehicle away from any saddle equilibrium point so that asymptotic tracking
becomes possible, and hence it should also be added into (3.121). Finally,
in the proof of Theorem 3.21, a control Lyapunov function can be found to
replace V3 once the expression of attractive potential field function Pa (·) is
available.
To illustrate performance of the multi-objective reactive control in (3.118),
consider the 2-D motion that one vehicle is in the form of (3.117), has its initial
position at q(t0 ) = [2.5 1]T , and is to follow the desired trajectory given by
 T
q d (t) = 2 cos 20
π π
t 2 sin 20 t .

In this case, Reactive Control 3.118 is designed with potential field functions
1
Pa (q) = λa q − q d 2
2
⎧  2

⎪ 1 1 1
⎨ λrj −
Prj (q) = 2 q − qoj  − ρj ρj +
j (3.122)

⎪ if ρ < q − qoj  ≤ ρj +
j ,
⎩ j
0 if q − qoj  > ρj +
j ,

where λa , λrj , ρj and


j are positive constants. Two scenarios are simulated.
In the first scenario, there is only one static obstacle located at qo1 = [−2 0]T .
Control 3.118 is implemented with design parameters ξ = 2, k = 20, ϕi = 0,
λa = 5, λr1 = 10, and ρ1 =
1 = 0.2, and the simulation result is shown in Fig.
3.17. In the second scenario, there is additionally one moving obstacle which
oscillates between the two points of (1, 0) and (3, 0), parallel to the x axis,
146 3 Control of Non-holonomic Systems

2.5

1.5

0.5

−0.5

−1

−1.5

−2
Vehicle trajectory
Desired trajectory
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
(a) Phase portrait
2

u1
u2

−1

−2

−3

−4
0 10 20 30 40 50 60 70 80
Time (sec)

(b) Control inputs

Fig. 3.17. Reactive Control 3.118: a static obstacle


3.5 Notes and Summary 147

and with a constant velocity of ±1/40. Control 3.118 is then implemented


with additional design parameters of λr2 = 30 and ρ2 =
2 = 0.2, and the
simulation results are given in Figs. 3.18 and 3.19. In the figures, the obstacles
are represented by the larger circles, and the vehicle is denoted by the smaller
circle. Figure 3.18(a) shows all the trajectories over the time period of t ∈
[0, 160]; that is, the vehicle passes through the points numbered 1 up to 14 and
in the direction along the marked arrows, while the moving obstacle oscillates
once from the starting point (3, 0) to point (1, 0) and back. As illustrated
by the snapshots in Fig. 3.19(a) and (b), the vehicle successfully avoids both
obstacles while tracking the desired trajectory.

3.5 Notes and Summary

The chained form is the canonical model for analyzing non-holonomic systems
[123, 168]. By their nature, non-holonomic systems are small-time controllable
but not uniformly completely controllable in general, and they can be partially
dynamically feedback linearizable but cannot be asymptotically stabilized un-
der any smooth time-invariant feedback control. Accordingly, the open-loop
and closed-loop control problems of non-holonomic systems are interesting,
and several approaches to solve these problems are presented in this chap-
ter. Specifically, open-loop steering controls can be parameterized in terms
of basis functions (such as sinusoidal functions, piecewise-constant functions,
and polynomial functions). To follow a desired trajectory generated under a
non-vanishing input, a feedback tracking control can be designed using the
Lyapunov direct method and Riccati equation. For asymptotic stabilization
with respect to a fixed-point, a feedback control should be either discontinuous
or time-varying or both. Among the feedback control design approaches, the
technique of recovering uniform complete controllability and then solving for
quadratic Lyapunov function from the Riccati equation has the advantages of
simplicity and inverse optimality.
Without considering obstacles, motion planning under non-holonomic con-
straints is to generate appropriate steering controls, and among the available
approaches are differential geometry [250, 251], differential flatness [67], in-
put parameterization [159, 170, 259], the spline method [59, 126, 188], and
optimal control [64]. It is shown through recasting the non-holonomic motion
planning problem as an optimal control problem that the feasible and shortest
path between two boundary conditions is a concatenation of arcs and straight-
line segments belonging to a family of 46 different types of three-parameter
steering controls [211, 251]. Trajectories planned for non-holonomic systems
need to be both collision-free and feasible. For obstacles moving with known
constant velocities, collision avoidance can be achieved using the concept of
velocity cone [66]. In [206, 279], a pair of time and geometrical collision avoid-
ance criteria are derived, and an optimized trajectory planning algorithm is
proposed to handle both non-holonomic constraints of a vehicle and its dy-
148 3 Control of Non-holonomic Systems

Vehicle trajectory
3 Desired trajectory
Moving obstacle

2
6
2
9
1 1
12

5
3 8
11
0
14

−1 10
13
7
−2
4

−3

−3 −2 −1 0 1 2 3
(a) Phase portrait

5
u1
u2
4

−1

−2

−3

−4
0 20 40 60 80 100 120 140 160
Time (sec)

(b) Reactive control

Fig. 3.18. Performance of reactive control: static and moving obstacles


3.5 Notes and Summary 149

Vehicle trajectory
3 Desired trajectory
Moving obstacle

t=44

1 t=0

0 t=42

t=40
−1

−2

−3

−3 −2 −1 0 1 2 3
(a) Phase portrait for t ∈ [1, 44]

Vehicle trajectory
3 Desired trajectory
Moving obstacle

2
t=125

1 t=123

moving
obstacle
0

t=121
t=119
−1
t=117

−2

−3

−3 −2 −1 0 1 2 3
(b) Phase portrait for t ∈ [117, 125]

Fig. 3.19. Reactive Control 3.118: static and moving obstacles


150 3 Control of Non-holonomic Systems

namically changing environment. On the other hand, standard approaches of


motion planning deal with holonomic systems in the presence of static obsta-
cles [122], and they include potential field [36, 95, 109, 218], vector field his-
togram [26], exhaustive search methods [15, 58, 93, 125], the iterative method
[53, 106], dynamic programming [55] and optimal control [124, 249]. These
methods could also be used to generate feasible trajectories by embedding
either an integration or approximation component, both of which may be
computationally involved.
For a vehicle system, formation control of multiple vehicles can be de-
signed using several approaches [6]. For instance, navigation and exploration
can be pursued using cellular robot systems [17], or relative geometry approach
[269], or artificial intelligence methods [167], or a probabilistic approach [69],
or computer architectural method [183]. There is the behavior-based approach
[7, 13, 31, 150] by which a set of primitive behaviors such as moving-to-goal,
avoiding-obstacle and maintaining-formation are prescribed, their importance
are represented by a set of weights, and the combined behavior is determined
by aggregating the weights. And, basic artificial behaviors can be improving
by setting up a reward function and its learning mechanism, for example, re-
inforcement learning [151]. The notion of string stability [253] can be used for
line formations. To achieve precisely a general formation, one option is to im-
pose a virtual structure on geometrical relationship among the vehicles, and
a centralized formation control can be designed to minimize vehicles’ errors
with respect to the virtual structure [131]. The virtual structure can also be
broken down using a set of moving frames so the formation problem becomes
a set of individual tracking problems [105, 231]. The other option of maintain-
ing a formation is to adopt a leader-following strategy [50, 257] by which the
formation control problem is reduced to a tracking control problem. Artificial
potential field functions have been used for distributed control of a multi-
vehicle formation. In [128, 177], virtual leaders and artificial potentials are
used to maintain a group geometry, although a unique desired formation may
not be achieved and several virtual vehicles may be required to yield a com-
posite potential field function with a unique minimum. In [179], a formation
graph and its structural potential field functions are used to design distributed
formation control for achieving a desired formation, and avoidance of static
obstacles may be achieved if two kinds of special-purpose agents can be phys-
ically added through flocking protocols [180]. Cooperative control of unicycle
robots have been studied by employing the combination of discontinuous con-
trol, non-smooth Lyapunov theory and graph theory [52], or by using the
combination of Frenet-Serret model, time-varying control and average theory
[135, 164], or by assuming constant driving velocity [227, 278]. By imposing
several conditions including freezing the reference trajectory within avoidance
zone, collision avoidance and formation control of differential-drive vehicles are
studied in [148, 246], and tracking errors are ensured to be bounded. In Section
3.4.1 and later in Section 5.3.4, the formation control problem is formulated
toward designing a neighboring-feedback cooperative and pliable formation
3.5 Notes and Summary 151

control. Explicit conditions on how to choose an appropriate composite poten-


tial field function are found, and a reactive control is provided for each vehicle
to asymptotically track its goal while avoiding static objects, moving obsta-
cles and other vehicles. The multi-objective reactive control design, originally
proposed in [42], makes the vehicles pliable to their dynamical surroundings.
In Section 6.6, this pliable control will be combined into cooperative control
to achieve any cooperative and pliable formation of vehicles in a dynamically
changing environment, while the consensus problem of non-holonomic systems
will be addressed in Section 6.5.

You might also like