Habrador / Self-driving-vehicle

Simulation of path planning for self-driving vehicles in Unity. This is also an implementation of the Hybrid A* pathfinding algorithm which is useful if you are interested in pathfinding for vehicles.
https://www.habrador.com/
MIT License
408 stars 100 forks source link
astar autonomous-car autonomous-navigation autonomous-vehicles dubins-path flowfield hybrid-a-star open-source path-planning pathfinding reeds-shepp-curves self-driving-car selfdriving summon tesla teslamotors unit3d unity unity-library

Self Driving Vehicle

Let's say you are standing somewhere in a room and would like to find the shortest path to a goal. You can see a few obstacles, such as a table, that you would like to avoid. The easiest way to solve the problem (if you are a computer) is to divide the room into many small squares (cells) and then use the common A* (A Star) search algorithm to find the shortest path.

But what if you are a car and can't turn around 360 degrees like a human can, then you have a problem! Well, at least until you learn the Hybrid A Star search algorithm. With that algorithm you will be able to find a fully drivable path to the goal!

Click for YouTube video of the algorithm in action:

Link to youtube video

If you just want to play around with it you can download a build of the project here for Windows: https://habrador.itch.io/hybrid-a-star

Tell me how the algorithm works

You can read more about it here: https://blog.habrador.com/2015/11/explaining-hybrid-star-pathfinding.html

Is this something actually being used by car companies?

Yes! Tesla mentioned the algorithm in a Tesla AI Day presentation (roughly at 1 hour 20 minutes). So if you ever wondered how the Tesla "Smart Summon" feature works then now you know! Tesla has included a short description of the Smart Summon feature (which is part of the Full Self-Driving Capability (FSD) version of Tesla Autopilot) in the Model Y Manual. We can assume it's the same implementation for other Tesla models, such as Model S.

FAQ

TODO