Update 2017-08-04


  • When smoothing the path, Ive added so that it's setting more waypoints to fixed so the smooth path is more similar to the un-smooth path (where it should be more similar so as when the car is changing driving direction)
  • Fixed a bug where one of the waypoints sometimes had the wrong direction
  • Added so you can hide the search tree to easier see the path
  • Added a version where the algorithm is not stopping if it's finding a Reeds-Shepp curve, but add the first node in the curve as a node, which is also what the report on the self-driving car Junior is saying you should do
  • Added how fast the car is driving
  • Added so the car is slowing down if it is deviating from the position and heading it should have


  • Changed the algorithm so the car can movie into a previously closed cell if it has another heading. This will make it more accurate but slower because it will expand more nodes. I've saved the faster algorithm, so a combination can maybe be used.
  • Added so the algorithm is using the flow field to check if a path is possible. If not, the algorithm is not running!
  • Added so all files are in their own namespace 
  • Added so that when checking if the algorithm has reached the goal, it's not checking just the position, but also the heading
  • Fixed a bug where the car sometimes drove too far when reaching the final waypoint because it was looking at the center and not rear wheel position


  • Added lines showing the waypoints
  • Fixed a bug where the wrong value was added to the sum or errors in the PID controller, so the car is now following the path much better
  • Added a cost for switching driving direction, like forward -> reverse
  • Fixed a bug where the smooth path algorithm optimized the distance to obstacle in 3d space and not 2d space
  • Added an improved obstacle-intersection algorithm which is faster and more accurate
  • Added UI where you can display the grid and the flow field
  • When optimizing the final path, it's now optimizing the distance to the average of the sorrounding obstacles and not just the closest obstacle
  • Cleaned up the code


  • Flow fields as heuristic and for obstacle detection
  • Cleaned code
  • A version where you can expand to a cell if this expansion has a lower cost than previously. The other version closes the cell after an expansion reaches it
  • Improved path following so the car is slowing down gradually before it reaches the end or a turning point such as "reverse -> forward"


SelfDrivingCar.unitypackage (source code) 4.3 MB
Jul 12, 2017

Get Hybrid A Star

Leave a comment

Log in with itch.io to leave a comment.