use of RRTs in on-line planning systems for robotic vehicles
has been restricted to simulation, or to kinematics. As for
real-world implementations, MIT DARPA Urban Challenge
vehicle [11] used on-line RRT to deal with complex, unstable
dynamics and drift. In the same vein, our work reports a
more flexible motion primitives based RRT on a real-world
autonomous car albeit in a laboratory environment.
The ease of autonomous vehicle navigation is tightly cou-
pled to reliable and accurate perception of its environment.
Our autonomous car uses LiDAR scans to perceive the
map of the environment and localizes itself within the map
using SLAM (Simultaneous Localization and Mapping). We
specifically use Hector SLAM [12] in our implementation
because of its ability to match with the high update rate
of LiDAR systems and provide accurate 2D pose estimates.
While Hector SLAM system does not aim at explicit loop
closing, it is known to generate sufficiently accurate mapping
in many settings [13]. In Section III, we describe the overall
methodology in detail.
II. RELATED WORKS
RRT [14] is a pioneering contribution in robot motion
planning which, along with its many important extensions,
found pervasive use in many robotic applications. Since it
will be hard to review all chronological contributions, we
will review some recent works pertaining only to autonomous
vehicles and urge the reader to refer to [15] for a compre-
hensive survey on RRT related works, and [16] and [17]
for a review of motion planning techniques for autonomous
vehicles, in general. [18] proposed a fast RRT algorithm
for autonomous road vehicles that uses off-line templates
of the traffic scenes to assist in tree search. [19] invokes
desired orientation during the phase of tree expansion to
address navigation challenges in cluttered places like parking
lots. [20] focuses on autonomous navigation and collision
detection using a RRT-based dynamic path planning and a
path-following controller, and provides results in a simulated
environment. [21] proposes a sampling-based Closed-Loop
Rapidly exploring Random Tree (CL-RRT) for autonomous
heavy duty vehicles which often have second order differen-
tial constraints.
Authors Pivtoraiko et. al. [22] described motion primitives
based state lattice planner. The primitives are designed via
sampling in state spaces and are used to perform incremental
search using the D∗Lite [23] algorithm. [24] also explores
search based planning using state lattice and controller-based
motion primitives. However, these approaches are limited
to simulation and the proposed path planning cannot be
implemented on a real autonomous vehicle with unknown
dynamics. [25] and [26] are closest to our approach. [25]
discusses about path planning by concatenation of pre-
specified motion primitives and also studied graph-based
search techniques, where the graph does not represent a state
lattice but rather exhibits a tree structure. [26] presents in-
cremental search on a multi-resolution, dynamically feasible
lattice state space and includes experimental validation on
real autonomous vehicle but it employs an accurate vehicle
model.
In relation to the above works, our primary contributions
are as follows:
•The primary focus of our work is to depart from
simulated environment and demonstrate actual imple-
mentation of RRT-based motion planning and trajectory
tracking on a real autonomous vehicle.
•In contrast to the other RRT-based works, our approach
is designed to operate under unknown dynamics of
the vehicle. Moreover, our study is motion primitives-
centric that allows for encoding of application-specific
constraints such as actuator limits, for example, while
generating feasible trajectories.
•Our real-world experiments demonstrate the feasibility
of performing complex maneuvers like parallel parking,
perpendicular parking, and reversing the vehicle using
a single set of motion primitives within the RRT algo-
rithm.
III. METHODOLOGY
A. Mapping and Localization
To find a collision-free trajectory from the start position
to the goal position, the autonomous car must create a map
of the environment and dynamically register its position as it
moves within the environment. Our autonomous car uses 2D
LiDAR scans to perceive the environment and localizes itself
using the Hector SLAM algorithm. For completeness, we
present here a few important computations involved in Hector
SLAM. Primarily, Hector SLAM uses an occupancy grid as
the map of the environment where each cell of the grid is
in one of the three states-occupied, free, or unexplored. A
LiDAR measurement is assigned 1,−1when the LiDAR hits
occlusion, or passes through the free space respectively. The
cells unexplored in the map by LiDAR are set to 0.
The problem of scan matching (matching the current scan
either with a previous scan or with an existing map) is to
find the rigid transformation ξ= (px, py, θ)that minimizes
ξ∗=argmaxξ
n
X
i=1
[1 −M(Si(ξ)]2(1)
where Si(ξ)are the world coordinates of the endpoints of
scan i,si=si,x
si,y given by
Si(ξ) = cos(ψ)sin(−ψ)
sin(ψ)cos(ψ)si,x
si,y +px
py(2)
In the above, M(Si(ξ)) is the map value corresponding
to the point Si(ξ)). In terms of differential movement, the
above minimization problem can be transformed into finding
a change in pose ∆ξsuch that
n
X
i=1
[1 −M(Si(ξ+ ∆ξ)]2→0(3)