Repository Summary

Description Carla 0.9.15 and Autoware Universe Humble
Checkout URI https://github.com/tumftm/carla-autoware-bridge.git
VCS Type git
VCS Version main
Last Updated 2025-04-11
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
carla_autoware_bridge 0.1.0

README

# CARLA-Autoware-Bridge - Enables the use of CARLA for Testing and Development of Autoware Core/Universe [![Linux](https://img.shields.io/badge/os-ubuntu22.04-blue.svg)](https://www.linux.org/) [![Docker](https://badgen.net/badge/icon/docker?icon=docker&label)](https://www.docker.com/) [![ROS2humble](https://img.shields.io/badge/ros2-humble-blue.svg)](https://docs.ros.org/en/humble/index.html)

Introduction

The CARLA-Autoware-Bridge is a package to connect the CARLA simulator to Autoware Core/Universe with the help of the CARLA-ROS-Bridge. Currently the latest Autoware Core/Universe and CARLA 0.9.15 is supported.

Youtube Demo Video + Quickstart

| Demo | Quickstart | | —————————————————– | ———————————————- | | IMAGE ALT TEXT HERE | IMAGE ALT TEXT HERE |

Paper

If you use this or the other associated repos, please cite our Paper:

CARLA-Autoware-Bridge: Facilitating Autonomous Driving Research with a Unified Framework for Simulation and Module Development
Gemb Kaljavesi, Tobias Kerbl, Tobias Betz, Kirill Mitkovskii, Frank Diermeyer [PDF]

@inproceedings{carla_aw_bridge24,
  title = {CARLA-Autoware-Bridge: Facilitating Autonomous Driving Research
with a Unified Framework for Simulation and Module Development,
  author = {Kaljavesi, Gemb and Kerbl, Tobias and Betz, Tobias and Mitkovskii, Kirill and Diermeyer, Frank},
  year = {2024}
}

The Paper is currently under review and only published as preprint.

Overview

The simulation framework around the CARLA-Autoware-Bridge consists of the components:

  • carla-autoware-bridge: This repository holding the CARLA-Autoware-Bridge.
  • ros-bridge: Fork of the ros-bridge with our changes needed for the CARLA-Autoware-Bridge.
  • carla-t2: Vehicle model and sensor kit packages of the CARLA T2 2021 Vehicle for Autoware.
  • carla-ros-msgs: Fork of the carla-ros-msg with our changes needed for the CARLA-Autoware-Bridge.

How to Build and Install the Bridge

The easiest way to use the CARLA-Autoware-Bridge is to use our prebuilt docker image or to build the docker image by yourself. Bu we also provide a tutorial for local usage.

Docker Workflow(Recommended)

You can build the docker image by yourself or use the image from our github registry.

# Pull our latest docker image
docker pull tumgeka/carla-autoware-bridge:latest

# Alternatively build it yourself by running our build_docker.sh
./docker/build_docker.sh

Local Workflow

Comming Soon. Until then, take a look at our Dockerfile.

Maps

Autoware needs the maps in a special lanelet2 format, we will upload all converted maps in the future under the following link: carla-autoware-bridge/maps

General Installation and Usage

The installation and usage of the CARLA-Autoware-Bridge is described in the following tutourial. In order to function properly the packages should be started in the order CARLA –> CARLA-Autoware-Bridge –> Autoware.

1) CARLA

We recommended to use the dockerized version of CARLA 0.9.15. To pull and start CARLA for usage with the CARLA-Autoware-Bridge follow the steps below.

# Pull CARLA 0.9.15
docker pull carlasim/carla:0.9.15

# Start CARLA
docker run --privileged --gpus all --net=host -e DISPLAY=$DISPLAY carlasim/carla:0.9.15 /bin/bash ./CarlaUE4.sh -carla-rpc-port=1403 

Additional information:

  • -prefernvidia - use NVIDIA GPU for hardware acceleration
  • -carla-rpc-port=3000 - use other than default port (2000) for RPC service’s port
  • -quality-level=Low - use low quality level mode for a minimal video memory consumption

2) CARLA-Autoware-Bridge

Run the carla-autoware-bridge

# If you are using a docker start the docker first
docker run -it -e RMW_IMPLEMENTATION=rmw_cyclonedds_cpp --network host tumgeka/carla-autoware-bridge:latest

# Launch the bridge
ros2 launch carla_autoware_bridge carla_aw_bridge.launch.py port:=1403 town:=Town10HD

Additional information:

  • -port:=3000 to switch to a different CARLA port for it’s RPC port
  • -timeout:=10 to increase waiting time of loading a CARLA town before raising error
  • -view:=true to show third-person-view window
  • -town:=Town10HD to set the town
  • -traffic_manager=False to turn off traffic manager server (True by default)
  • -tm_port=8000 to switch the traffic manager server port to a different one (8000 by default)

If you want to spawn traffic run the following script inside the docker:

python3 src/carla_autoware_bridge/utils/generate_traffic.py -p 1403

File truncated at 100 lines see the full file