First consider the double integrator from Example 13.3.
Let
and
. This models the motion of
a free-floating particle in
, as described in Section
13.3.2. The phase space is
, and
. Let
. The coming ideas can be easily
generalized to allow any acceleration bound
by letting
; however,
will be chosen to
simplify the presentation.
The differential equation
can be integrated once to yield
![]() |
![]() |
A discrete-time model exists for which the reachability graph is
trapped on a lattice. This is obtained by letting
and
be any positive real number. The vector fields over
that correspond to the cases of
,
, and
are shown
in Figure 14.12. Switching between these fields at every
and integrating yields the reachability graph shown in
Figure 14.13.
This leads to a discrete-time transition equation of the form
, in which
, and
represents time
. Any action trajectory can be specified as an action
sequence; for example a six-stage action sequence may be given by
. Start from
. At any
stage
and for any action sequence, the resulting state
can be expressed as
![]() |
(14.23) |
The neighborhood structure is not the same as those in Section
5.4.2 because of drift. For , imagine having a
stack of horizontal conveyor belts that carry points to the right if
they are above the
-axis, and to the left if they are below it (see
Figure 14.12b). The speed of the conveyor belt is given
by
. If
, the distance traveled along
is
. This causes horizontal motion to the right in the phase
plane if
and horizontal motion to the left if
. Observe in Figure 14.13 that larger motions result as
increases. If
, then no horizontal motion can
occur. If
, then the
coordinate changes by
. This slowing down or speeding up also
affects the position along
.
For most realistic problems, there is an upper bound on speed. Let
be a positive constant and assume that
. Furthermore, assume that
is bounded (all values of
are contained in an interval of
). Since the
reachability graph is a lattice and the states are now confined to a
bounded subset of
, the number of vertices in the reachability
graph is finite. For any fixed
, the lattice can be
searched using any of the algorithms of Section 2.2. The
search starts on a reachability graph for which the initial vertex is
. Trajectories that are approximately time-optimal can be
obtained by using breadth-first search (Dijkstra's algorithm
could alternatively be used, but it is more expensive). Resolution
completeness can be obtained by reducing
by a constant
factor each time the search fails to find a solution. As mentioned in
Section 5.4.2, it is not required to construct an entire
grid resolution at once. Samples can be gradually added, and the
connectivity can be updated efficiently using the union-find algorithm
[243,823]. A rigorous approximation algorithm
framework will be presented shortly, which indicates how close the
solution is to optimal, expressed in terms of input parameters to the
algorithm.
![]() |
Recall the problem of connecting to grid points, which was illustrated
in Figure 5.14b. If the goal region
contains lattice points, then exact arrival at the goal occurs. If it
does not contain lattice points, as in the common case of
being a single point, then some additional work is needed to connect a
goal state to a nearby lattice point. This actually corresponds to a
BVP, but it is easy to solve
for the double integrator. The set of states that can be reached from
some state
within time
lie within a cone, as
shown in Figure 14.14a. Lattice points that fall into
the cone can be easily connected to
by applying a constant
action in
. Likewise,
does not even have to coincide with
a lattice point. Thus, it is straightforward to connect
to a
lattice point, obtain a trajectory that arrives at a lattice point
near
, and then connect it exactly to
.
Steven M LaValle 2020-08-14