Autonomous Driving Design Challenges