dubins_path_planning
dubins_path_planning copied to clipboard
Path planning using Hybrid A*/RRT + Dubins Path (as final shot).
dubins_path_planning
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).
Usage
$ 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
Results
Dubins Path
Pick the shortest obstacle-free dubins path
RRT + Dubins Path
Hybrid A* + Dubins Path
w/o reversing
w/ reversing (blue tree)