Skip to content

Running CARLA with Autoware

Adam Gotlib edited this page Apr 8, 2026 · 11 revisions

Choosing the CARLA version to use

There are currently two versions of CARLA actively maintained by the community:

The advantages of 0.10.x include support for modern Unreal Engine features and greater out-of-the box visual fidelity thanks to the use of systems such as Nanite and Lumen. On the other hand, 0.10.x comes with greater resource usage and remains behind 0.9.x in terms of features implemented within the simulator itself. For a detailed comparison between those two versions, please see the following document:

https://docs.google.com/spreadsheets/d/1eMcnUYIO-eED0LLs70I-Z-kpP3kOnx5wEQY3tIpd8J8/edit?gid=1299544423#gid=1299544423

Status of porting of features to CARLA 0.10.x

The following issue has been set up to track the progress of migrating features of CARLA 0.9.x to CARLA 0.10.x:

https://github.com/carla-simulator/carla/issues/9583

Until the above is complete, the overall recommendation is to use CARLA 0.9.x as the more stable version, unless the visual improvements from 0.10.x are desired. In time it is expected that 0.10.x will catch up, and can therefore be considered as a long-term solution.

Choosing the integration path with Autoware

There are two main integration methods with Autoware, which have been outlined in the support matrix shown below. There is an established method to communicate with CARLA 0.9.16 using a dedicated bridge. This method is considered easier to set up and more stable, although with the potential performance disadvantage of passing all heavy sensor messages through the Python-based bridge. On the other hand, it is possible to publish (and subscribe to) all relevant Autoware messages directly from CARLA using a recently-added native ROS2 interface. However, in order to fully integrate that interface with Autoware the official version of CARLA is not sufficient, and a dedicated fork has been set up to support this approach. Because of this limitation, this method can be considered experimental.

Integration method CARLA 0.9.16 CARLA 0.10.0
Bridge ❔ (unverified)
Native ROS2 ✅ (custom fork)

Using a dedicated bridge

The bridge can be set up according to the following instruction:

https://autowarefoundation.github.io/autoware_universe/main/simulator/autoware_carla_interface/

Although the documentation page mentions 0.9.15, it can also be used with 0.9.16 without modifications. The support for 0.10.0 has not been confirmed yet.

Using native ROS2 interface

The main difficulty of using the ROS2 interface lies with the requirement to build your own binary of CARLA. The fork containing the functionality required to run CARLA with Autoware is located under the following repository:

https://github.com/tier4/carla-autoware-native

In order to build the binary and run a demo with Autoware, follow the instruction in README.md.

Clone this wiki locally