Implemented car path planning with RRT, Hybrid A*, and Dubins Path algorithms. The car model is
with the dynamics
x[t+1] = x[t] + cos(theta[t])
y[t+1] = y[t] + sin(theta[t])
theta[t+1] = theta[t] + tan(phi[t]) / L
The state variables are:
x
: horizontal positiony
: vertical positiontheta
: heading angle (direction of travel)
The control variable is:
phi ∈ [-pi/5, pi/5]
: steering angle (w.r.t. the direction of travel).
$ git clone https://github.com/jhan15/dubins_path_planning.git
$ cd dubins_path_planning
# demonstarte car dynamics
$ python3 car.py
# demonstrate dubins path (shortest obstacle-free)
$ python3 dubins_path.py
# pathfinding with RRT + Dubins Path (final shot)
$ python3 rrt.py
# pathfinding with Hybrid A* + Dubins Path (final shot)
$ python3 hybrid_astar.py -heu 1 -r -e # A* heuristic + reverse + extra cost
Pick the shortest obstacle-free dubins path
w/o reversing
w/ reversing (blue tree)