This is Project number 5 of Udacity's Self-Driving Cars Engineer Nanodegree In this project, I implemented two of the main components of a traditional hierarchical planner: The Behavior Planner and the Motion Planner. Both will work in unison to be able to:
Avoid static objects (cars, bicycles and trucks) parked on the side of the road (but still invading the lane). The vehicle must avoid crashing with these vehicles by executing either a “nudge” or a “lane change” maneuver. Handle any type of intersection (3-way, 4-way intersections and roundabouts) by STOPPING in all of them (by default) Track the centerline on the traveling lane.