AutoDriveCarSimulator: Autonomous Driving with CNNs
AutoDriveCarSimulator is a virtual testbed for autonomous vehicle algorithms. A convolutional neural network learns an end-to-end driving policy โ mapping raw camera images directly to vehicle control commands (steering angle, throttle) โ within a simulated driving environment.
Approach: End-to-End Learning
Following the NVIDIA โDave-2โ paradigm, the network learns the full perception-to-control pipeline from human driving demonstrations rather than relying on hand-crafted feature extraction or modular subsystems. The simulator provides synthetic frames and ground-truth control signals for supervised training.
Pipeline
- Data collection: record camera frames + steering/throttle from manual driving sessions in the simulator.
- Preprocessing: crop sky/hood regions, resize, normalise, apply data augmentation (brightness jitter, horizontal flip + sign flip).
- CNN training: a shallow convolutional architecture (similar to NVIDIA Dave-2) trained to minimise MSE on control outputs.
- Closed-loop evaluation: the trained model drives the car autonomously in the simulator; laps completed and off-road events recorded.
Key Findings
- Data augmentation (especially brightness and flip) substantially reduces off-road events during closed-loop evaluation.
- Cropping non-road pixels improves both training convergence speed and final driving quality.
- The model generalises across tracks it was not explicitly trained on.
Technology
Python, Keras (TensorFlow), Jupyter Notebooks, Udacity Self-Driving Car Simulator.
