Skip to main content

A comprehensive CARLA client for autonomous driving simulation, featuring scenario-based testing, real-time visualization, and customizable vehicle control

Project description

CARLA Driving Simulator Client

CI codecov Documentation Status License: MIT Python 3.7+ Code style: black PyPI version GitHub release (latest by date) GitHub issues GitHub pull requests

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

Requirements

  • Python 3.7+
  • CARLA Simulator 0.10.0
  • Pygame
  • NumPy
  • Matplotlib
  • Tabulate
  • PyYAML

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.7-win-amd64.egg

# For Linux
export PYTHONPATH=$PYTHONPATH:/path/to/carla/PythonAPI/carla/dist/carla-0.10.0-py3.7-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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

carla_driving_simulator_client-1.0.0.tar.gz (73.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

carla_driving_simulator_client-1.0.0-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

Details for the file carla_driving_simulator_client-1.0.0.tar.gz.

File metadata

File hashes

Hashes for carla_driving_simulator_client-1.0.0.tar.gz
Algorithm Hash digest
SHA256 31ef401ada2e4b90eb77f31d4aa95aed63a86966106a7b0ba45526bc0f373e9f
MD5 5775e391ffc1aeb141b6f2e4acf8ed53
BLAKE2b-256 ffdc60ae4930e70997c586adefff7434892d13eac13bc725ed7a905df35c7ec5

See more details on using hashes here.

File details

Details for the file carla_driving_simulator_client-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for carla_driving_simulator_client-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 47d8799867b3ffc4fa53224f75e2d8540722974d4ce85c538c4e06519cd7dddf
MD5 8e2f7f4ad4b60f45e244721a3a70abc2
BLAKE2b-256 ac958f511aa4bbc71354349769357b766906782cfd460e5fc18a71a9a7bd6556

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page