The key to establishing whether a system is nonholonomic is to
construct motions that combine the effects of two action variables,
which may produce motions in a direction that seems impossible from
the system distribution.  To motivate the coming ideas, consider the
differential-drive model from (15.54).  Apply the
following piecewise-constant action trajectory over the interval 
![$ [0,4
\Delta t]$](img6787.gif) :
:
|  | 
The result of all four motion primitives in succession from 
 is shown in Figure 15.16.  It is fun to try
this at home with an axle and two wheels (Tinkertoys work well, for
example).  The result is that the differential drive moves
sideways!15.9  From the
transition equation (15.54) such motions appear
impossible.  This is a beautiful property of nonlinear systems.  The
state may wiggle its way in directions that do not seem possible.  A
more familiar example is parallel parking a car.
It is known that a car cannot directly move sideways; however, some
wiggling motions can be performed to move it sideways into a tight
parking space.  The actions we perform while parking resemble the
primitives in (15.71).
 is shown in Figure 15.16.  It is fun to try
this at home with an axle and two wheels (Tinkertoys work well, for
example).  The result is that the differential drive moves
sideways!15.9  From the
transition equation (15.54) such motions appear
impossible.  This is a beautiful property of nonlinear systems.  The
state may wiggle its way in directions that do not seem possible.  A
more familiar example is parallel parking a car.
It is known that a car cannot directly move sideways; however, some
wiggling motions can be performed to move it sideways into a tight
parking space.  The actions we perform while parking resemble the
primitives in (15.71).
Algebraically, the motions of (15.71) appear to be checking
for commutativity.  Recall from Section 4.2.1 that a
group  is called commutative (or
Abelian) if
 is called commutative (or
Abelian) if  for any
 for any  .  A commutator
is a group element of the form
.  A commutator
is a group element of the form 
 .  If the group is
commutative, then
.  If the group is
commutative, then 
 (the identity element) for any
 (the identity element) for any
 .  If a nonidentity element of
.  If a nonidentity element of  is produced by the
commutator, then the group is not commutative.  Similarly, if the
trajectory arising from (15.71) does not form a loop (by
returning to the starting point), then the motion primitives do not
commute.  Therefore, a sequence of motion primitives in
(15.71) will be referred to as the commutator motion.
It will turn out that if the commutator motion cannot produce any
velocities not allowed by the system distribution, then the system is
completely integrable.  This means that if we are trapped on a
surface, then it is impossible to leave the surface by using
commutator motions.
 is produced by the
commutator, then the group is not commutative.  Similarly, if the
trajectory arising from (15.71) does not form a loop (by
returning to the starting point), then the motion primitives do not
commute.  Therefore, a sequence of motion primitives in
(15.71) will be referred to as the commutator motion.
It will turn out that if the commutator motion cannot produce any
velocities not allowed by the system distribution, then the system is
completely integrable.  This means that if we are trapped on a
surface, then it is impossible to leave the surface by using
commutator motions.
Now generalize the differential drive to any driftless control-affine system that has two action variables:
 and
 and  ; however,
; however,  and
 and  are chosen here to allow
subscripts to denote the components of the vector field in the coming
explanation.
 are chosen here to allow
subscripts to denote the components of the vector field in the coming
explanation.
|  | 
Suppose that the commutator motion (15.71) is applied to
(15.72) as shown in Figure 15.17.  Determining
the resulting motion requires some general computations, as opposed to
the simple geometric arguments that could be made for the differential
drive.  If would be convenient to have an expression for the velocity
obtained in the limit as  approaches zero.  This can be
obtained by using Taylor series arguments.  These are simplified by
the fact that the action history is piecewise constant.
 approaches zero.  This can be
obtained by using Taylor series arguments.  These are simplified by
the fact that the action history is piecewise constant.
The coming derivation will require an expression for  under
the application of a constant action.  For each action, a vector field
of the form
 under
the application of a constant action.  For each action, a vector field
of the form 
 is obtained.  Upon differentiation, this
yields
 is obtained.  Upon differentiation, this
yields
 is a function of
 is a function of  ,
which itself is a function of
,
which itself is a function of  .  The derivative
.  The derivative 
 is actually an
 is actually an 
 Jacobian matrix, which is
multiplied by the vector
 Jacobian matrix, which is
multiplied by the vector  .  To further clarify
(15.73), each component can be expressed as
.  To further clarify
(15.73), each component can be expressed as
Now the state trajectory under the application of (15.71)
will be determined using the Taylor series, which was given in
(14.17).  The state trajectory that results from the
first motion primitive  can be expressed as
 can be expressed as
 can be obtained by using the
Taylor series expansion in (15.75) to express
 can be obtained by using the
Taylor series expansion in (15.75) to express
 .  The first terms after substitution and simplification
are
.  The first terms after substitution and simplification
are
 has been dropped
from every occurrence of
 has been dropped
from every occurrence of  and
 and  and their derivatives.
 and their derivatives.
The idea of substituting previous Taylor series expansions as they are needed can be repeated for the remaining two motion primitives. The Taylor series expansion for the result after the third primitive is
|  | (15.78) | 
|  | (15.79) | 
 and
 and  and is denoted
by
 and is denoted
by ![$ [f,g]$](img6808.gif) .  Similar to (15.74), the
.  Similar to (15.74), the  th component
can be expressed as
th component
can be expressed as
![$ f = [ \cos\theta \;\;
\sin\theta \;\; 0]^T$](img6810.gif) and
 and 
![$ g = [0 \;\; 0 \;\; 1]^T$](img6811.gif) .  Rename
.  Rename  and
 and
 to
 to  and
 and  to allow subscripts to denote the components of a
vector field.
 to allow subscripts to denote the components of a
vector field.
By applying (15.81), the Lie bracket ![$ [f,g]$](img6808.gif) is
 is
![$ [f,g] = [ \sin\theta \;\; -\cos\theta
\;\; 0]^T$](img6813.gif) , which indicates the sideways motion, as desired.  When
evaluated at
, which indicates the sideways motion, as desired.  When
evaluated at 
 , the vector
, the vector 
![$ [0\;\;-1\;\;0]^T$](img6814.gif) is
obtained. This means that performing short commutator
motions wiggles the differential drive
sideways in the
 is
obtained. This means that performing short commutator
motions wiggles the differential drive
sideways in the  direction, which we already knew from Figure
15.16.
 direction, which we already knew from Figure
15.16.  
 
 
 .  The
.  The 
 Jacobians
 Jacobians 
 and
 and 
 are constant.
 are constant.
As a simple example, recall the nonholonomic integrator (13.43). In the linear-algebra form, the system is
 and
 and  .  The Jacobian matrices are
.  The Jacobian matrices are
|   | (15.84) | 
 
 
Steven M LaValle 2020-08-14