CARLA Driving Simulator Client Documentation
Contents:
CARLA Driving Simulator Client
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 Docker (Recommended)
# Pull the latest image
docker pull akshaychikhalkar/carla-driving-simulator-client:latest
# Run with Docker
docker run -p 3000:3000 -p 8000:8000 akshaychikhalkar/carla-driving-simulator-client:latest
From PyPI
pip install carla-driving-simulator-client
From Source
Clone the repository:
git clone https://github.com/AkshayChikhalkar/carla-driving-simulator-client.git
cd carla-driving-simulator-client
Install in development mode:
pip install -e .
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
Start the CARLA server:
./CarlaUE4.sh -carla-rpc-port=2000
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
Fork the repository
Create your feature branch:
git checkout -b feature/amazing-feature
Commit your changes:
git commit -m 'Add some amazing feature'
Push to the branch:
git push origin feature/amazing-feature
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
Versioning Strategy - How automatic versioning works
Environment Configuration - Environment variables and configuration
Support Guide - Getting help and support
Security Policy - Reporting security issues
Contributing Guidelines - How to contribute to the project