A self-driving car simulation that employs neural network-based techniques, particularly reinforcement learning and deep Q-learning. The neural network demonstrates proficiency in obstacle avoidance and optimal travel time estimation between destinations. The project showcases expertise in autonomous systems and artificial intelligence.
- Neural network-based self-driving car simulation.
- Obstacle avoidance using reinforcement learning and deep Q-learning.
- Optimal travel time estimation between destinations.
- Ability to draw obstacles for the car to avoid.
- Saving and reloading neural network models for specific obstacle courses.
- map.py: The main script containing the self-driving car simulation logic, obstacle handling, and interaction with the neural network AI.
- car.kv: The Kivy language file for defining the graphical user interface (GUI) layout.
- ai.py: Script containing the implementation of the neural network architecture, experience replay, and deep Q-learning algorithm.
Clone the repository:
git clone https://github.com/amirzarandi/self-driving-car
cd self-driving-car
Run the simulation:
Copy code python map.py The GUI window will open, displaying the self-driving car simulation. Use the left mouse button to draw obstacles on the map. Observe the self-driving car's behavior in avoiding obstacles and reaching its destination. Documentation
Detailed documentation and explanations of the neural network architecture, reinforcement learning techniques, and deep Q-learning algorithm can be found in the comments within the code files (map.py and ai.py).