Autonomous-Driving-in-Carla-using-Deep-Reinforcement-Learning  by idreesshaikh

Autonomous driving research using deep reinforcement learning

created 3 years ago
440 stars

Top 69.0% on sourcepulse

GitHubView on GitHub
Project Summary

This project implements a Proximal Policy Optimization (PPO) agent for autonomous driving within the CARLA simulator. It targets researchers and developers interested in applying deep reinforcement learning to continuous control problems in realistic driving scenarios, offering a complete end-to-end solution with a focus on learning from high-dimensional visual input.

How It Works

The core approach combines a Variational Autoencoder (VAE) with the PPO algorithm. The VAE compresses high-dimensional, semantically segmented images from the CARLA simulator into a lower-dimensional latent space, aiming to facilitate faster and more efficient learning for the PPO agent. PPO, an on-policy algorithm, is then used to train the agent to navigate a predetermined route by learning a policy that maps states (latent representations) to continuous actions (steering, throttle, etc.).

Quick Start & Requirements

  • Install: Clone the repository, create and activate a Python virtual environment (python -m venv venv, source venv/bin/activate), install dependencies (pip install -r requirements.txt), and run cd poetry/ && poetry update.
  • Prerequisites: CARLA simulator (version 0.9.8) with additional maps, Python 3.7+ (64-bit). Supported OS: Windows, Linux.
  • Running: Start the CARLA server, then run python continuous_driver.py --exp-name=ppo --train=False to use a pre-trained agent.
  • Training: Run python continuous_driver.py --exp-name ppo to train a new agent.
  • Documentation: Project documentation is available.

Highlighted Details

  • Implements Proximal Policy Optimization (PPO) for continuous control.
  • Utilizes a Variational Autoencoder (VAE) for state representation compression.
  • Built using PyTorch and the CARLA urban driving simulator.
  • Provides pre-trained agents for Town 02 and Town 07.

Maintenance & Community

The project is authored by Idrees Razak. Further community or maintenance information is not detailed in the README.

Licensing & Compatibility

  • License: MIT License.
  • Compatibility: Permissive license suitable for commercial use and integration with closed-source projects.

Limitations & Caveats

The project specifies CARLA version 0.9.8, which may be outdated. The README mentions a "Duelling DQN agent (work in progress)" but focuses primarily on PPO, suggesting other agents might be less mature.

Health Check
Last commit

1 year ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
45 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.