CARLA Driving Simulator Client Documentation

CARLA Driving Simulator Client

CI/CD Pipeline Tests Codecov Documentation Status License Python 3.11 Code style: black PyPI version Docker Hub GitHub release GitHub issues GitHub pull requests GitHub last commit GitHub repo size

A personal project for experimenting with CARLA client, featuring vehicle control, sensor management, and visualization capabilities.

Features

  • Realistic vehicle physics and control

  • Multiple sensor types (Camera, GNSS, Collision, Lane Invasion)

  • Dynamic weather system

  • Traffic and pedestrian simulation

  • Real-time visualization with HUD and minimap

  • Comprehensive logging and data collection

  • Support for both manual and autopilot modes

  • Configurable simulation parameters

  • Automatic versioning and CI/CD pipeline

  • Docker support with zero-configuration setup

  • Web-based frontend and backend API

Requirements

  • Python 3.11

  • CARLA Simulator 0.10.0

  • Pygame

  • NumPy

  • Matplotlib

  • Tabulate

  • PyYAML

  • SQLAlchemy

  • PostgreSQL (optional)

Installation

From PyPI

pip install carla-driving-simulator-client

From Source

  1. Clone the repository:

git clone https://github.com/AkshayChikhalkar/carla-driving-simulator-client.git
cd carla-driving-simulator-client
  1. Install in development mode:

pip install -e .
  1. Install CARLA:

  • Download CARLA 0.10.0 from CARLA’s website

  • Extract the package and set the CARLA_ROOT environment variable

  • Add CARLA Python API to your PYTHONPATH:

# For Windows
set PYTHONPATH=%PYTHONPATH%;C:\path\to\carla\PythonAPI\carla\dist\carla-0.10.0-py3.11-win-amd64.egg

# For Linux
export PYTHONPATH=$PYTHONPATH:/path/to/carla/PythonAPI/carla/dist/carla-0.10.0-py3.11-linux-x86_64.egg

Usage

  1. Start the CARLA server:

./CarlaUE4.sh -carla-rpc-port=2000
  1. Run the simulator client:

# If installed from PyPI
carla-simulator-client

# If installed from source
python src/main.py

Configuration

The simulator client can be configured through the config/simulation_config.yaml file. Key parameters include:

  • Target distance

  • Maximum speed

  • Simulation duration

  • Vehicle model

  • Sensor settings

  • Weather conditions

Project Structure

carla-driving-simulator-client/
├── src/
│   ├── core/
│   │   ├── world.py
│   │   ├── vehicle.py
│   │   └── sensors.py
│   ├── visualization/
│   │   ├── hud.py
│   │   ├── minimap.py
│   │   └── camera.py
│   ├── control/
│   │   ├── keyboard.py
│   │   └── autopilot.py
│   └── utils/
│       ├── config.py
│       └── logging.py
├── tests/
├── config/
├── docs/
├── requirements.txt
└── README.md

Contributing

  1. Fork the repository

  2. Create your feature branch:

git checkout -b feature/amazing-feature
  1. Commit your changes:

git commit -m 'Add some amazing feature'
  1. Push to the branch:

git push origin feature/amazing-feature
  1. Open a Pull Request

Note: I cannot guarantee response times or implementation of suggested features as this project is maintained in my free time.

Support

If you need help, please check our Support Guide for various ways to get assistance.

Security

Please report any security issues to our Security Policy.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • CARLA Simulator Team

  • TH OWL for initial development

Roadmap

Check our Roadmap for planned features and improvements.

Documentation

Configuration