Steering Methods for Nonholonomic Sys- tems
This section briefly surveys some methods that solve the BVP for nonholonomic systems. This can be considered as a motion planning problem under differential constraints but in the absence of obstacles. For linear systems, optimal control techniques can be used, as covered in Section 15.2.2. For mechanical systems that are fully actuated, standard control techniques such as the acceleration-based control model in (8.47) can be applied. If a mechanical system is underactuated, then it is likely to be nonholonomic. As observed in Section 15.4, it is possible to generate motions that appear at first to be prohibited. Suppose that by the Chow- Rashevskii theorem, it is shown that a driftless system is STLC. This indicates that it should be possible to design an LPM that successfully connects any pair
of initial and goal states. The next challenge is to find an action trajectory u˜
that actually causes xI to reach xG upon integration in (14.1). Many methods in Chapter 14 could actually be used, but it is assumed that these would be too slow. The methods in this section exploit the structure of the system (e.g, its Lie algebra) and the fact that there are no obstacles to more efficiently solve the planning problem.
- Using the P. Hall Basis
The steering method presented in this section is due to Lafferriere and Sussmann [574]. It is assumed here that a driftless control-affine system is given, in which X is a Lie group, as introduced in Example 15.15. Furthermore, the system is assumed to be STLC. The steering method sketched in this section follows from the Lie algebra ( ). The idea is to apply piecewise-constant motion primitives to move in directions given by the P. Hall basis. If the system is nilpotent, then this method reaches the goal state exactly. Otherwise, it leads to an approximate method that can be iterated to get arbitrarily close to the goal. Furthermore, some systems are nilpotentizable by using feedback [442].
L △
The main idea is to start with (15.53) and construct an extended system
s
-
x˙ = bi(x)vi, (15.114)
i=1
in which each vi is an action variable, and bi is a vector field in PH, the P. Hall basis. For every i ≤ m, each term of (15.114) is bi(x)vi = hi(x)ui, which comes from the original system. For i > m, each bi represents a Lie product in PH, and
vi is a fictitious action variable. It is called fictitious because the velocity given by bi for i > m cannot necessarily be achieved by using a single action variable of the system. In general, s may be larger than n because at each x X a different subset of may be needed to obtain n independent vectors. Also, including more basis elements simplifies some of the coming computations.
PH
∈
Example 15.21 (Extended System for the Nonholonomic Integrator) The extended system for the nonholonomic integrator (15.83) is
x˙ 1 1
x˙ = 0
v +
0
1
v
0
+
0
v . (15.115)
2
x˙ 3
1 2
x1
3
2
x˙ 3
−x2
x1
2
The first two terms correspond to the original system. The last term arises from the Lie bracket [h1, h2]. Only one fictitious action variable is needed because the three P. Hall vector fields are independent at every x X.
∈
It is straightforward to move this system along a grid-based path in R3. Mo- tions in the x1 and x2 directions are obtained by applying v1 = u1 and v2 = u2, respectively. To move the system in the x3 direction, the commutator motion in (15.71) should be performed. This corresponds to applying v3. The steering method described in this section yields a generalization of this approach. Higher
degree Lie products can be used, and motion in any direction can be achieved. .
Suppose some xI and xG are given. There are two phases to the steering method:
- Determine an action trajectory v˜ for the extended system, for which x(0) =
xI and x(tF ) = xG for some tF > 0.
- Convert v˜ into an action trajectory u˜ that eliminates the fictitious variables and uses the actual m action variables u1, . . . , um.
The first phase is straightforward. For the extended system, any velocity in the tangent space, Tx(X), can be generated. Start with any smooth path τ : [0, 1] → X
such that τ (0) = xI and τ (1) = xG. The velocity τ˙ (t) along the path τ is a velocity vector in Tτ (t)(X) that can be expressed as a linear combination of the bi(τ (t)) vectors using linear algebra. The coefficients of this combination are the vi values. The second phase is much more complicated and will be described shortly. If the system is nilpotent, then u˜ should bring the system precisely from xI to xG. By the way it is constructed, it will also be clear how to refine u˜ to come as close as desired to the trajectory produced by v˜.
Formal calculations The second phase is solved using formal algebraic com- putations. This means that the particular vector fields, differentiation, manifolds, and so on, can be ignored. The concepts involve pure algebraic manipulation. To avoid confusion with previous definitions, the term formal will be added to
many coming definitions. Recall from Section 4.4.1 the formal definitions of the algebra of polynomials (e.g., F[x1, . . . , xn]). Let A(y1, . . . , ym) denote the formal noncommutative algebra11 of polynomials in the variables y1, . . ., ym. The yi here are treated as symbols and have no other assumed properties (e.g, they are not
necessarily vector fields). When polynomials are multiplied in this algebra, no simplifications can be made based on commutativity. The algebra can be con- verted into a Lie algebra by defining a Lie bracket. For any two polynomials p, q A(y1, . . . , ym), define the formal Lie bracket to be [p, q] = pq qp. The formal Lie bracket yields an equivalence relation on the algebra; this results in a formal Lie algebra L(y1, . . . , ym) (there are many equivalent expressions for the same elements of the algebra when the formal Lie bracket is applied). Nilpotent versions of the formal algebra and formal Lie algebra can be made by forcing all monomials of degree k + 1 to be zero. Let these be denoted by Ak(y1, . . . , ym) and Lk(y1, . . . , ym), respectively. The P. Hall basis can be applied to obtain a basis of the formal Lie algebra. Example 15.18 actually corresponds to the basis of L3(h1, h2, h3) using formal calculations.
∈ −
The exponential map The steering problem will be solved by performing cal- culations on Lk(y1, . . . , ym). The formal power series of A(y1, . . . , ym) is the set of all linear combinations of monomials, including those that have an infinite number of terms. Similarly, the formal Lie series of L(y1, . . . , ym) can be defined.
The formal exponential map is defined for any p ∈ A(y1, . . . , ym) as
ep = 1 + p + 1 p2 + 1 p3 + · · · . (15.116)
2!
3!
In the nilpotent case, the formal exponential map is defined for any p Ak(y1, . . . , ym) as
∈
k pi
-
ep = . (15.117)
i!
i=0
The formal series is truncated because all terms with exponents larger than k
vanish.
A formal Lie group is constructed as
Gk(y1, . . . , ym) = {ep | p ∈ Lk(y1, . . . , ym)}. (15.118)
If the formal Lie algebra is not nilpotent, then a formal Lie group G(y1, . . . , ym) can be defined as the set of all ep, in which p is represented using a formal Lie series.
The following example is taken from [574]:
11Intuitively, being an algebra means that polynomials can be added and multiplied; for all of the required axioms, see [469].
Example 15.22 (Formal Lie Groups) Suppose that the generators x and y
are given. Some elements of the formal Lie group G(x, y) are
ex = I + x + 1 x2 + 1 x3 + · · · , (15.119)
2
6
and
e[x,y] = I + [x, y] + 1 [x, y]2 + · · · , (15.120)
ex−y+3[x,y] = I + x − y + 3[x, y] + · · · , (15.121)
2
in which I is the formal Lie group identity. Some elements of the formal Lie group
G2(x, y) are
and
ex = I + x + 1 x2, (15.122)
e[x,y] = I + [x, y], (15.123)
2
ex−y+3[x,y] = I + x − y + 3[x, y] + 1 (x − y)2. (15.124)
2
.
To be a group, the axioms given in Section 4.2.1 must be satisfied. The identity is I, and associativity clearly follows from the series representations. Each ep has an inverse, e−p, because ep_e−_p = I. The only remaining axiom to satisfy is
closure. This is given by the Campbell-Baker-Hausdorff-Dynkin formula (or CBHD formula), for which the first terms for any p, q ∈ G(y1, . . . , ym) are
exp(p) exp(q) = exp(p + q + 1 [p, q] + 1 [[p, q], q] − 1 [[p, q], p] + 1 [p, [q, [p, q]]] +· · · ),
2 12 12
24
(15.125)
in which exp(x) alternatively denotes ex for any x. The formula also applies to Gk(y1, . . . , ym), but it becomes truncated into a finite series. This fact will be utilized later. Note that ep_e_q = ep+q , which differs from the standard definition of exponentiation.
/
The CBHD formula is often expressed as
ep_e_q e−p = exp
∞
i=0
(-
i
p , (15.126)
Ad q \
i!
in which Ad0 q = q, and Adi q = [p, Adi−1 q]. The operator Ad provides a compact
p p p
way to express some nested Lie bracket operations. Additional terms of (15.125)
can be obtained using (15.126).
The Chen-Fliess series The P. Hall basis from Section 15.4.3 applies in general to any Lie algebra. Let B1, . . ., Bs denote a P. Hall basis for the nilpotent formal Lie algebra Lk(y1, . . . , ym). An important theorem in the study of formal Lie
groups is that every S Gk(y1, . . . , ym) can be expressed in terms of the P. Hall basis of its formal Lie algebra as
∈
S = ezsBs ezs−1Bs−1 · · · ez_2_B_2 e_z_1_B_1 , (15.127) which is called the **_Chen-Fliess series**. The zi are sometimes called the backward
P. Hall coordinates of S (there is a forward version, for which the terms in (15.127)
go from 1 to s, instead of s to 1).
Returning to the system vector fields Now the formal algebra concepts can be applied to the steering problem. The variables become the system vector fields: yi = hi for all i from 1 to m. For the P. Hall basis elements, each Bi becomes bi. The Lie group becomes the state space X, and the Lie algebra is the familiar Lie algebra over the vector fields, which was introduced in Section 15.4.3. Consider how an element of the Lie group must evolve over time. This can be expressed using the differential equation
S˙ (t) = S(t)(v1b1 + v2b2 + · · · + vs_b_s), (15.128)
which is initialized with S(0) = I. Here, S can be interpreted as a matrix, which may, for example, belong to SE(3).
The solution at every time t > 0 can be written using the Chen-Fliess series, (15.127):
S(t) = ezs(t)bs ezs−1(t)bs−1 · · · ez_2(_t)b_2 e_z_1(_t)_b_1 . (15.129)
This indicates that S(t) can be obtained by integrating b1 for time z1(t), followed by b2 for time z2(t), and so on until bs is integrated for time zs(t). Note that the backward P. Hall coordinates now vary over time. If we determine how they evolve over time, then the differential equation in (15.128) is solved.
The next step is to figure out how the backward P. Hall coordinates evolve.
Differentiating (15.129) with respect to time yields
s
S˙ (t) = ezsbs · · · ezj+1bj+1 z˙j bj ezjbj · · · e_z_1_b_1 . (15.130)
-
j=1
The Chen-Fliess-Sussmann equation There are now two expressions for S˙ , which are given by (15.128) and (15.130). By equating them, s equations of the form
s
-
pj,k_z˙_j = vk (15.131)
j=1
are obtained, in which pj,k is a polynomial in zi variables. This makes use of the series representation for each exponential; see Example 15.23.
The evolution of the backward P. Hall coordinates is therefore given by the
Chen-Fliess-Sussmann (CFS) equation:
z˙ = Q(z)v, (15.132)
in which Q(z) is an s s matrix, and z(0) = 0. The entries in Q(z) are polynomials; hence, it is possible to integrate the system analytically to obtain expressions for the zi(t).
×
A simple example is given, which was worked out in [299]:
Example 15.23 (The CFS Equation for the Nonholonomic Integrator) The extended system for the nonholonomic integrator was given in (15.115). The dif- ferential equation (15.128) for the Lie group is
S˙ (t) = S(t)(v1b1 + v2b2 + v3b3), (15.133)
because s = 3.
There are two expressions for its solution. The Chen-Fliess series (15.129) becomes
S(t) = ez_3(_t)b_3 e_z_2(_t)b_2 e_z_1(_t)_b_1 . (15.134)
The initial condition S(0) = I is satisfied if zi(0) = 0 for i from 1 to 3. The second expression for S˙ (t) is (15.130), which in the case of the nonholonomic integrator becomes
Note that
S˙ (t) =z˙3(t)b3ez_3(_t)b_3 e_z_2(_t)b_2 e_z_1(_t)b_1 + e_z_3(_t)b_3 z˙2(t)b2e_z_2(_t)b_2 e_z_1(_t)b_1 + e_z_3(_t)b_3 e_z_2(_t)b_2 z˙1(t)b1e_z_1(_t)_b_1 .
(15.135)
S−1(t) = e−z_1(_t)b_1 e−_z_2(_t)b_2 e−_z_3(_t)_b_3 . (15.136)
Equating (15.133) and (15.135) yields
S−1S˙ = v1b1 + v2b2 + v3b3 =e−_z_1_b_1 e−_z_2_b_2 e−_z_3_b_3 z˙3b3e_z_3_b_3 e_z_2_b_2 e_z_1_b_1 +
e−_z_1_b_1 e−_z_2_b_2 z˙2b2e_z_2_b_2 e_z_1_b_1 +
e−_z_1_b_1 z˙1b1e_z_1_b_1 ,
(15.137)
in which the time dependencies have been suppressed to shorten the expression. The formal Lie series expansions, appropriately for the exponentials, are now used. For i = 1, 2,
ezibi = (I + zi_b_i + 1 z2b2) (15.138)
and
2 i i
e−zibi = (I − zi_b_i − 1 z2b2). (15.139)
Also,
2 i i
and
e_z_3_b_3 = (I + z3b3) (15.140)
e−_z_3_b_3 = (I − z3b3). (15.141)
The truncation is clearly visible in (15.140) and (15.141). The b2 terms are absent because b3 is a polynomial of degree two, and its square would be of degree four.
3
Substitution into (15.137), performing noncommutative multiplication, and ap- plying the Lie bracket definition yields
z˙1b1 + z˙2(b2 − z1b3) + z˙3b3 = v1b1 + v2b2 + v3b3. (15.142) Equating like terms yields the Chen-Fliess-Sussmann equation
z˙1 = v1 z˙2 = v2
z˙3 = v3 + z1v2.
(15.143)
Recall that v˜ is given. By integrating (15.143) from z(0) = 0, the backward P. Hall coordinate trajectory z˜ is obtained. .
Using the original action variables Once the CFS equation has been deter- mined, the problem is almost solved. The action trajectory v˜ was determined from the given state trajectory v˜ and the backward P. Hall coordinate trajectory z˜ is determined by (15.143). The only remaining problem is that the action variables from vm+1 to vs are fictitious because their associated vector fields are not part of the system. They were instead obtained from Lie bracket operations. When these are applied, they interfere with each other because many of them may try to use the same ui variables from the original system at the same time.
The CBHD formula is used to determine the solution in terms of the system action variables u1, . . ., um. The differential equation now becomes
S˙ (t) = S(t)(u1h1 + u2h2 + · · · + um_h_m), (15.144)
which is initialized with S(0) = I and uses the original system instead of the extended system.
When applying vector fields over time, the CBHD formula becomes
exp(tf) exp(tg) =
t2 t3 t3 t4
− · · ·
exp(tf + tg +
[f, g] + [[f, g], g] [[f, g], f] + [f, [g, [f, g]]] + ). 2 12 12 24
(15.145)
If the system is nilpotent, then this series is truncated, and the exact effect of sequentially combining constant motion primitives can be determined. This leads to a procedure for determining a finite sequence of constant motion primitives that generate a motion in the same direction as prescribed by the extended system and the action trajectory v˜.
- Using Sinusoidal Action Trajectories
The steering method presented in this section is based on initial work by Brockett
[142] and a substantial generalization of it by Murray and Sastry [727]. The approach applies to several classes of systems for which the growth of independent vector fields occurs as quickly as possible. This means that when the P. Hall basis is constructed, no elements need to be removed due to linear dependency on previous Lie products or system vector fields. For these systems, the approach applies sinusoids of integrally related frequencies to some action variables. This changes some state variables while others are automatically fixed. For more details beyond the presentation here, see [596, 725, 727, 846].
- Steering the nonholonomic integrator
The main idea of the method can be clearly illustrated for the nonholonomic integrator,
x˙ 1 = u1 x˙ 2 = u2
x˙ 3 = x1u2 − x2u1,
(15.146)
which was considered throughout Section 15.5.1. This case will be explained in detail, and the methods obtained by generalizing the principles will subsequently be stated. The presentation given here is based on [727, 846].
As was previously indicated, growing independent vector fields as quickly as possible is important. For the nonholonomic integrator, [h1, h2], is linearly inde- pendent of h1 and h2, as observed in Example 15.12; thus, it satisfies this property. Consider steering the system from some xI = x(0) to some xG = x(1) while opti- mizing the cost functional
r 1 (
0
u1(t)2 + u2(t)2
)dt. (15.147)
0
The problem can be solved by using the constrained Lagrangian formulation, which was given in Section 13.4.3. The first step is to eliminate the u variables. From (15.146), the cost can be expressed in terms of x˙ 1 and x˙ 2 by using x˙ 1 = u1 and x˙ 2 = u2. The third equation in (15.146) can be written as
x˙ 3 = x1x˙ 2 − x2x˙ 1 (15.148)
and will be interpreted as a constraint on the Lagrangian, which is combined using a (scalar) Lagrange multiplier as explained in Section 13.4.3. Define the Lagrangian as
L(x, x˙ ) = (x˙ 2 + x˙ 2) + λ(x˙ 3 − x1x˙ 2 + x2x˙ 1), (15.149)
1
2
in which the first term comes from the integrand of (15.147), and the second term comes from (15.148).
The Euler-Lagrange equation (13.118) yields
x¨1 + λx˙ 2 = 0
x¨2 − λx˙ 1 = 0
(15.150)
λ˙ = 0.
Note that λ˙
= 0 implies that λ(t) is constant for all time. To obtain a differential
equation that characterizes the optimal action trajectory, use the fact that for i = 1, 2, x˙ i = ui and x¨i = u˙ i. This yields the equations u˙ 1 = λu˙ 2 and u˙ 2 = λu˙ 1. These can be represented as second-order linear differential equations. Based on its roots, the solution is
−
u1(t) = u1(0) cos λt − u2(0) sin λt
u2(t) = u1(0) sin λt + u2(0) cos λt.
(15.151)
Given initial and goal states, the optimal action trajectory is found by determining
u1(0), u2(0), and λ. Suppose that xI = x(0) = (0, 0, 0) and xG = x(1) = (0, 0, a) for some a R. Other cases can be obtained by applying transformations in SE(3) to the solution.
∈
The state trajectories for x1 and x2 can be obtained by integration of (15.151) because ui = x˙ i for i = 1 and i = 2. Starting from x1(0) = x2(0) = 0, this yields
x1(t) = λ(u1(0) sin λt + u2(0) cos λt − u2(0))
1
1
x2(t) = λ( − u1(0) cos λt + u2(0) sin λt + u1(0)).
(15.152)
To maintain the constraint that x1(1) = x2(1) = 0, λ must be chosen as λ = 2kπ for some integer n. Integration of x˙ 3 yields
(
x3(t) =
r 1 (
x1u2 − x2u1
)dt =
1 u2(0) + u2(0))
= a. (15.153)
The cost is
0
r 1 (
0
λ 1 2
)
u2(t) + u2(t)
dt = u2(0) + u2(0) = λa. (15.154)
1
2
0
1
2
1
2
The minimum cost is therefore achieved for k = 1, which yields λ = 2π and
−
u = 2πa. This fixes the magnitude of u(0), but any direction may be chosen.
I I
The steering problem can be solved in two phases:
- Apply any action trajectory to steer x1 and x2 to their desired values while neglecting to consider x3.
- Apply the solution just developed to steer x3 to the goal while x1 and x2
return to their values obtained in the first phase.
This idea can be generalized to other systems.
- First-order controllable systems
The approach developed for the nonholonomic integrator generalizes to systems of the form
x˙ i = ui for i from 1 to m
x˙ ij = xi_u_j − xj ui for all i, j so that i < j and 1 ≤ j ≤ m (15.155)
and
x˙ i = ui for i from 1 to m
x˙ ij = xi_u_j for all i, j such that i < j and 1 ≤ j ≤ m. (15.156)
Brockett showed in [142] that for such first-order controllable systems, the optimal action trajectory is obtained by applying a sum of sinusoids with integrally related frequencies for each of the m action variables. If m is even, then the trajectory for each variable is a sum of m/2 sinusoids at frequencies 2π, 2 2π, . . ., (m/2) 2π. If m is odd, there are instead (m 1)/2 sinusoids; the sequence of frequencies remains the same. Suppose m is even (the odd case is similar). Each action is selected as
−
· ·
_m/_2
-
ui = aik sin 2πkt + bik cos 2πkt. (15.157)
k=1
The other state variables evolve as
_m/_2
1 1
-
xij = xij (0) + 2 k (ajk_b_ik − aik_b_jk), (15.158)
k=1
which provides a constraint similar to (15.153). The periodic behavior of these action trajectories causes the xi variables to return to their original values while steering the xij to their desired values. In a sense this is a vector-based general- ization in which the scalar case was the nonholonomic integrator.
Once again, a two-phase steering approach is obtained:
- Apply any action trajectory that brings every xi to its goal value. The evolution of the xij states is ignored in this stage.
- Apply sinusoids of integrally related frequencies to the action variables. Choose each ui(0) so that xij reaches its goal value. In this stage, the xi variables are ignored because they will return to their values obtained in the first stage.
This method has been generalized even further to second-order controllable systems:
x˙ i = ui for i from 1 to m
x˙ ij = xi_u_j for all i, j such that i < j and 1 ≤ j ≤ m (15.159)
x˙ ijk = xij uk for all (i, j, k) ∈ J,
in which J is the set of all unique triples formed from distinct i, j, k 1, . . . , m and removing unnecessary permutations due to the Jacobi identity for Lie brackets. For this problem, a three-phase steering method can be developed by using ideas similar to the first-order controllable case. The first phase determines xi, the second handles xij , and the third resolves xijk. See [727, 846] for more details.
∈ { }
- Chained-form systems
Example 15.17 considered a special case of a chained-form system. The system in (15.102) can be generalized to any n as
x˙ 1 = u1 x˙ 4 = x3u1
.
.
x˙ 2 = u2 . (15.160)
x˙ 3 = x2u1
x˙ n = xn−1u1.
This can be considered as a system with higher order controllability. For these systems, a multi-phase approach is obtained:
- Apply any action trajectory for u1 and u2 that brings x1 and x2 to their goal values. The evolution of the other states is ignored in this stage.
- This phase is repeated for each k from 3 to n. Steer xk to its desired value by applying
u1 = a sin 2πkt and u2 = b cos 2πkt, (15.161) in which a and b are chosen to satisfy the constraint
b
x (1) = x
k
k
(0) + ( a (k−2) . (15.162)
Each execution of this phase causes the previous k 1 state variables to return to their previous values.
4π
(k − 2)!
−
For a proof of the correctness of the second phase, and more information in general, see [727, 846]. It may appear that very few systems fit the forms given in this section; however, it is sometimes possible to transform systems to fit this form. Recall that the original simple car model in (13.15) was simplified to (15.54). Transformation methods for putting systems into chained form have been devel- oped. For systems that still cannot be put in this form, Fourier techniques can be used to obtain approximate steering methods that are similar in spirit to the methods in this section. When the chained-form system is expressed using Pfaf- fian constraints, the result is often referred to as the Goursat normal form. The method can be extended even further to multi-chained-form systems.
- Other Steering Methods
The steering methods presented so far are perhaps the most widely known; how- ever, several other alternatives exist. Most of these follow in the spirit of the methods in Sections 15.5.1 and 15.5.2 by exploiting the properties of a specific class of systems. Some alternatives are briefly surveyed here. This is an active field of research; it is likely that new methods will be developed in the coming years.
Differentially flat systems Differential flatness has become an important con- cept in the development of steering methods. It was introduced by Fliess, L´evine, Martin, and Rouchon in [344]; see also [726]. Intuitively, a system is said to be differentially flat if a set of variables called flat outputs can be found for which
all states and actions can be determined from them without integration. This specifically means that for a system x˙ = f(x, u) with X = Rn and U = Rm, there exist flat outputs of the form
y = h(x, u, u˙ , . . . , u(k)) (15.163)
such that there exist functions g and g′ for which
x = g(y, y˙, . . . , y(j)) (15.164)
and
u = g′(y, y˙, . . . , y(j)). (15.165)
One example is the simple car pulling trailers, expressed in (13.19); the flat outputs are the position in = R2 of the last trailer. This property was used for motion planning in [578]. Recent works on the steering of differentially flat systems include
W
[578, 813, 833].
Decoupling vector fields For mechanical systems in which dynamics is con- sidered, the steering problem becomes complicated by drift. One recent approach is based on establishing that a system is kinematically controllable, which means that the system is STLC on the C-space, if traversed using trajectories that start and stop at zero velocity states [157]. The method finds decoupling vector fields on the C-space. Any path that is the integral curve of a decoupling vector field in the C-space is executable by the full system with dynamics. If a mechanical system admits such vector fields, then it was proved in [157] that a steering method for can be lifted into one for X, the phase space of the mechanical system. This idea was applied to generate an efficient LPM in an RRT planner in [224].
C
Averaging methods By decomposing the state trajectory into a low-frequency part that accounts for the long-range evolution of states and a high-frequency part that accounts for small oscillations over short ranges, averaging methods enable perturbations to be systematically made to state trajectories. This yields other steering methods based on sinusoidal action trajectories [112, 420, 623, 624].
Variational techniques As might be expected, the general-purpose gradient- based optimization techniques of Section 14.7 can be applied to the steering of nonholonomic systems. Such methods are based on Newton iterations on the space of possible state trajectories. This leads to a gradient descent that arrives at a local optimum while satisfying the differential constraints. For details on applying such techniques to steer nonholonomic systems, see [276, 334, 596, 901, 926].
Pontryagin’s minimum principle The minimum principle can be helpful in developing a steering method. Due to the close connection between the Euler- Lagrange equation and Hamilton’s equations, as mentioned in Section 13.4.4, this should not be surprising. The Euler-Lagrange equation was used in Section 15.5.2 to determine an optimal steering method for the nonholonomic integrator. A steering methodology based on the minimum principle is described in [846]. The optimal curves of Section 15.3 actually represent steering methods obtained from the minimum principle. Unfortunately, for the vast majority of problems, numer- ical techniques are needed to solve the resulting differential equations. It is gener- ally expected that techniques developed for specific classes, such as the nilpotent, chained-form, or differentially flat systems, perform much better than general- purpose numerical techniques applied to the Euler-Lagrange equation, Hamilton’s equations or Pontryagin’s minimum principle.
Dynamic programming The numerical dynamic programming approach of Section 14.5 can be applied to provide optimal steering for virtual any system. To apply it here, the obstacle region Xfree is empty. The main drawback, however, is that the computational cost is usually too high, particularly if the dimension of X is high. On the other hand, it applies in a very general setting, and Lie group symmetries can be used to apply precomputed trajectories from any initial state. This is certainly a viable approach with systems for which the state space is SE(2) or SO(3).
Further Reading
The basic stability and controllability concepts from Section 15.1 appear in many con- trol textbooks, especially ones that specialize in nonlinear control; see [523, 846] for an introduction to nonlinear control. More advanced concepts appear in [156]. For illustra- tions of many convergence properties in vector fields, see [44]. For linear system theory, see [192]. Brockett’s condition and its generalization appeared in [143, 996]. For more on stabilization and feedback control of nonholonomic systems, see [156, 846, 964]. For Lyapunov-based design for feedback control, see [278].
For further reading on the Hamilton-Jacobi-Bellman equation, see [85, 95, 492, 789, 912]. For numerical approaches to its solution (aside from value iteration), see [2, 253, 707]. Linear-quadratic problems are covered in [28, 570]. Pontryagin’s original works provide an unusually clear explanation of the minimum principle [801]. For other sources, see [95, 410, 789]. A generalization that incorporates state-space constraints appears in [927].
Works on which Section 15.3 is based are [64, 127, 211, 294, 814, 903, 904, 923]. Optimal curves have been partially characterized in other cases; see [227, 903]. One complication is that optimal curves often involve infinite switching [370, 1000]. There is also interest in nonoptimal curves that nevertheless have good properties, especially for use as a local planning method for car-like robots [31, 358, 520, 794, 848]. For feedback control of car-like robots, see [112, 663].
For further reading on nonholonomic system theory beyond Section 15.4, there are many excellent sources: [83, 112, 113, 156, 478, 725, 741, 846]. A generalization of the Chow-Rashevskii theorem to hybrid systems is presented in [724]. Controllability of a car pulling trailers is studied in [594]. Controllability of a planar hovercraft with thrusters is considered in [669]. The term holonomic is formed from two Greek words meaning “integrable” and “law” [135].
Section 15.5 is based mainly on the steering methods in [574] (Section 15.5.1) and [142, 727] (Section 15.5.2). The method of Section 15.5.1 is extended to time-varying systems in [299]. A multi-rate version is developed in [713]. In [480], it was improved by using a Lyndon basis, as opposed to the P. Hall basis. Another steering method that involves series appears in [154, 155]. For more on chained-form systems, see [858, 902]. For a variant that uses polynomials and the Goursat normal form, instead of sinusoids, see [846]. For other steering methods, see the references suggested in Section 15.5.3.
Exercises
- Characterize the stability at (0, 0) of the vector field on X = R2, given by x˙ 1 = x2
and x˙ 2 = −x2 − x1. Use the Lyapunov function φ(x1, x2) = x2 + x2.
2
1
2
- Repeat Example 15.4, but instead use the cost term l(x, u) = u2.
- Repeat Example 15.4, but instead for a triple integrator q(3) = u and U = [−1, 1].
- Determine the precise conditions under which each of the four cases of Example
15.4 occurs. Define a feedback motion plan that causes time-optimal motions.
- Note that some of the six optimal words for the Dubins car do not appear for the Reeds-Shepp car. For each of these, illustrate why it does not appear.
- Retrace the steps of the Taylor series argument for deriving the Lie bracket in Section 15.4.2. Arrive at (15.81) by showing all steps in detail (smaller steps are skipped in Section 15.4.2).
- Determine whether the following system is nonholonomic and STLC:
q˙1 = u1 q˙2 = u2
q˙3 = q1u2 − q2u1.
q˙4 = q2u1
q˙5 = q2u2 (15.166)
2
1
- Prove that linear systems x˙ = Ax + Bu for constant matrices A and B cannot be nonholonomic.
- Determine whether the following system is nonholonomic and STLC:
x˙ cos θ
y˙ sin θ
0
0
θ˙ =
ψ˙
0
− sin ψ
u1 + 1 u2. (15.167)
1
- Using the commutator motion and constant actions for the differential drive, de- velop a lattice over its configuration space.
- Consider a smooth nonlinear system that has only one action variable and an n- dimensional state space for n > 1. Are such systems always completely integrable, always nonholonomic, or is either possible?
- Generalize Example 15.17 to Rn with two action variables. Determine whether the system is STLC for any n > 5.
- Show that the vector cross product on R3 indeed produces a Lie algebra when used as a bracket operation.
- Derive the CFS equation for the following system:
q˙1 = u1 q˙2 = u2
q˙3 = q1u2 − q2u1
q˙4 = q2u1. (15.168)
2
Implementations
- Implement software that computes the P. Hall basis up to any desired order (this is only symbolic computation; the Lie brackets are not expanded).
- Implement software that displays the appropriate optimal path for the Dubins car, between any given qI and qG.
- Apply the planning algorithm in Section 14.4.2 to numerically determine the Du- bins curves. Use Dijkstra’s algorithm for the search, and use a high-resolution grid. Can your software obtain the same set of curves as Dubins?
- Experiment with using Dubins curves as a local planning method (LPM) and met- ric in an RRT-based planning algorithm. Does using the curves improve execution time? Do they lead to better solutions?