Professional Documents
Culture Documents
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)
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
u1 = v2 + z3 v1 , u2 = v1 . (3.9)
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
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
3.1.2 Controllability
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
Feedback Linearization
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]:
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)
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.
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
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
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.
> 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
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.
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
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
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
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 },
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 , ∞).
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 ξ,
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)
dz(τ )
= w (τ )Ac z(τ ) + Bc u2 , (3.31)
dτ
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
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,
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
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.
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.
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 ,
2ω
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
The piecewise-constant steering method [159] is to choose the inputs as: for
t ∈ [t0 + (k − 1)Ts , t0 + kTs ),
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
25
z2
z3
20
15
10
−5
−10
−15
−20
−25
0 0.5 1 1.5 2 2.5 3
Time (sec)
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
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
20
z
2
z3
15
10
−5
−10
−15
−20
0 0.5 1 1.5 2 2.5 3
Time (sec)
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.
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
15
z
2
z3
10
−5
−10
−15
0 0.5 1 1.5 2 2.5 3
Time (sec)
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
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
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
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 ),
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 ).
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
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:
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.
[y − (yik + vi,y
k
τ )]2 + [x − (xki + vi,x
k
τ )]2 ≥ (ri + r0 )2 , (3.58)
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 )
(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.
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)
(xo,yo)
o
x
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 .
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.
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
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
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:
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
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
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
where
Choosing α > c23 /(c1 q1 ) in (3.77), applying inequality 2ab ≤ a2 + b2 , and then
substituting (3.78) into the expression yield
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
1.5
x1e
x2e
x3e
1 x4e
0.5
−0.5
−1
−1.5
0 10 20 30 40 50 60
Time (sec)
12
Desired trajectory
Trajectory under tracking control
10
−2
−5 0 5 10 15 20
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 ζ
d[x1 (t)eζ(t−t0 ) ]
= −k1 [x1 eζ(t−t0 ) ] + w(xτ (t))
dt
and that, unless x(t0 ) = 0,
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
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
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→+∞
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
A Time-scaling Design
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)
8
u
1
u2
7
−1
0 20 40 60 80 100 120
Time (sec)
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)
dτ
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)
10
u
1
u2
5
−5
−10
−15
−20
−25
−30
−35
−40
0 10 20 30 40 50 60
Time (sec)
Discontinuous Controls
Time-varying Controls
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
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
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
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)),
y0
e2 (t )
q1d (t )
e1 (t )
q0 (t )
q2d (t )
q3d (t )
x0
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
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
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
⎧ 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
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
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
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.
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.
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 ,
∂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
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
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
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
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).
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)
where
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,
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
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 ,
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)
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)
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]