  Rapidly exploring random trees (RRTs) have proven effective in quickly
finding feasible solutions to complex motion planning problems. RRT* is an
extension of the RRT algorithm that provides probabilistic asymptotic
optimality guarantees when using straight-line motion primitives. This work
provides extensions to RRT and RRT* that employ fillets as motion primitives,
allowing path curvature constraints to be considered when planning. Two fillets
are developed, an arc-based fillet that uses circular arcs to generate paths
that respect maximum curvature constraints and a spline-based fillet that uses
Bezier curves to additionally respect curvature continuity requirements.
Planning with these fillets is shown to far exceed the performance of RRT*
using Dubin's path motion primitives, approaching the performance of planning
with straight-line path primitives. Path sampling heuristics are also
introduced to accelerate convergence for nonholonomic motion planning.
Comparisons to established RRT* approaches are made using the Open Motion
Planning Library (OMPL).
