How Self-Driving Cars Work: The Nuts and Bolts Behind Google's Autonomous Car Program