Package Summary
| Tags | No category tags. |
| Version | 0.48.0 |
| License | Apache License 2.0 |
| Build type | AMENT_PYTHON |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Muhammad Raditya GIOVANNI
- Maxime CLEMENT
Authors
autoware_carla_interface
ROS 2 / Autoware Universe bridge for CARLA simulator
Thanks to https://github.com/gezp for ROS 2 Humble support for CARLA Communication. This ros package enables communication between Autoware and CARLA for autonomous driving simulation.
Supported Environment
| ubuntu | ros | carla | autoware |
|---|---|---|---|
| 22.04 | humble | 0.9.15 | Main |
Setup
Install
Prerequisites
-
Install CARLA 0.9.15: Follow the CARLA Installation Guide
-
Install CARLA Python Package: Install CARLA 0.9.15 ROS 2 Humble communication package
- Option A: Install the wheel using pip
- Option B: Add the egg file to your
PYTHONPATH
- Download CARLA Lanelet2 Maps: Get the y-axis inverted maps from CARLA Autoware Contents
Map Setup
- Download the maps (y-axis inverted version) to an arbitrary location
- Create the map folder structure in
$HOME/autoware_map:- Rename
point_cloud/Town01.pcd→$HOME/autoware_map/Town01/pointcloud_map.pcd - Rename
vector_maps/lanelet2/Town01.osm→$HOME/autoware_map/Town01/lanelet2_map.osm
- Rename
- Create
$HOME/autoware_map/Town01/map_projector_info.yamlwith:
projector_type: Local
Build
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
Run
- Run carla, change map, spawn object if you need
cd CARLA
./CarlaUE4.sh -prefernvidia -quality-level=Low -RenderOffScreen
- Run Autoware with CARLA
ros2 launch autoware_launch e2e_simulator.launch.xml \
map_path:=$HOME/autoware_map/Town01 \
vehicle_model:=sample_vehicle \
sensor_model:=carla_sensor_kit \
simulator_type:=carla \
carla_map:=Town01
- Set initial pose (Init by GNSS)
- Set goal position
- Wait for planning
- Engage
Viewing Multi-Camera View in RViz
The carla_sensor_kit includes 6 cameras providing 360-degree coverage (Front, Front-Left, Front-Right, Back, Back-Left, Back-Right). A multi-camera combiner node automatically combines all camera feeds into a single 2x3 grid view.
To view the combined camera feed in RViz:
- In the Displays panel (left side), click the “Add” button
- Select the “By topic” tab
- Navigate to
/sensing/camera/all_cameras/image_raw - Select “Image” display type
- Click OK

The combined view shows all 6 cameras with labels: FL (Front-Left), F (Front), FR (Front-Right), BL (Back-Left), B (Back), BR (Back-Right).
Note: If you don’t need the multi-camera combiner (to save CPU resources), you can comment out the following line in launch/autoware_carla_interface.launch.xml:
<!-- Multi-camera combiner for RViz visualization -->
<!-- <node pkg="autoware_carla_interface" exec="multi_camera_combiner" output="screen"/> -->
Inner-workings / Algorithms
The InitializeInterface class is key to setting up both the CARLA world and the ego vehicle. It fetches configuration parameters through the autoware_carla_interface.launch.xml.
The main simulation loop runs within the carla_ros2_interface class. This loop ticks simulation time inside the CARLA simulator at fixed_delta_seconds time, where data is received and published as ROS 2 messages at frequencies defined in self.sensor_frequencies.
File truncated at 100 lines see the full file
Changelog for package autoware_carla_interface
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
fix: carla interface config and docs (#11571)
* fix(autoware_carla_interface): correct config file installation paths Fix setup.py to install sensor_mapping.yaml in config/ subdirectory instead of root share directory. This ensures the package works correctly in production/deployment scenarios where source files are not available.
- raw_vehicle_cmd_converter.param.yaml: installed to share root (correct)
- sensor_mapping.yaml: installed to share/config/ (matches expected path) Without this fix, the package relies on fallback to source directory which fails in Docker containers and binary package deployments.
* fix(autoware_carla_interface): complete sensor mapping example in README Update camera sensor mapping example to include all required fields:
- Add topic_info field for camera_info topic
- Add qos_profile field for ROS2 QoS configuration
- Remove unnecessary quotes from YAML values These fields are essential for proper camera sensor configuration and were missing from the documentation example, potentially causing confusion for users trying to configure custom sensors.
* docs(autoware_carla_interface): remove misleading LiDAR concatenation note Remove the note about uncommenting LiDAR concatenation relay from Known Issues section. The single LiDAR configuration may still require the concatenated topic for coordinate transformation, which will be tested separately. The relay in launch file remains commented out pending further testing.
* refactor(autoware_carla_interface): remove unnecessary lidar concatenation relay Remove commented-out lidar concatenation relay from launch file. Testing confirms that the main Autoware sensing pipeline already provides the concatenated pointcloud topic through the mirror_cropped pipeline, making this relay redundant. The /sensing/lidar/concatenated/pointcloud topic is successfully published by the main sensing stack and consumed by localization and perception modules. ---------
-
feat(autoware_carla_interface): sensor kit integration with multi-camera support (#11471)
- feat(autoware_carla_interface): add sensor kit integration with multi-camera support
- Add sensor_mapping.yaml for sensor kit configuration loader
- Implement coordinate transformer for ROS base_link to CARLA vehicle frame
- Add sensor kit loader with Autoware calibration parsing
- Create multi-camera combiner node for 6-camera grid visualization
- Add topic relays and image compression for all 6 cameras
- Implement modular sensor manager with ROS publisher management
- Refactor carla_ros.py to use new sensor kit architecture This enables dynamic sensor configuration from Autoware sensor kit YAML files and provides compressed image streams for bandwidth optimization.
- refactor(autoware_carla_interface): remove legacy objects.json and simplify sensor configuration
- Remove objects.json and objects_definition_file parameter (replaced by sensor_mapping.yaml)
- Remove use_autoware_sensor_kit parameter (always use sensor kit now)
- Simplify sensor loading logic in carla_ros.py
- Update sensor_kit_loader to always attempt sensor kit calibration first
- Update launch file and documentation to reflect new configuration
- Make wheelbase configurable via sensor_mapping.yaml This simplifies the configuration by removing redundant parameters and making the sensor kit approach the standard method.
- refactor(autoware_carla_interface): move multi_camera_combiner to proper module structure
- Move scripts/multi_camera_combiner.py to src/autoware_carla_interface/multi_camera_combiner_node.py
- Register as entry point in setup.py for standard ROS2 node deployment
- Update launch file to use node instead of executable
- Remove empty scripts directory This follows ROS2 Python package best practices by having all executable nodes as entry points rather than standalone scripts.
* fix(autoware_carla_interface): prevent silent sensor
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| std_msgs | |
| ament_lint_auto | |
| ament_lint_common | |
| autoware_perception_msgs | |
| autoware_vehicle_msgs | |
| cv_bridge | |
| geometry_msgs | |
| rclpy | |
| sensor_msgs | |
| sensor_msgs_py | |
| tf2 | |
| tf2_ros | |
| tier4_vehicle_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/autoware_carla_interface.launch.xml
-
- host [default: localhost]
- port [default: 2000]
- timeout [default: 20]
- ego_vehicle_role_name [default: ego_vehicle]
- vehicle_type [default: vehicle.toyota.prius]
- spawn_point [default: None]
- carla_map [default: Town01]
- sync_mode [default: True]
- fixed_delta_seconds [default: 0.05]
- use_traffic_manager [default: False]
- max_real_delta_seconds [default: 0.05]
- sensor_kit_name [default: carla_sensor_kit_description]
- sensor_mapping_file [default: $(find-pkg-share autoware_carla_interface)/config/sensor_mapping.yaml]
- input_control_cmd [default: /control/command/control_cmd]
- input_odometry [default: /localization/kinematic_state]
- input_steering [default: /vehicle/status/steering_status]
- output_actuation_cmd [default: /control/command/actuation_cmd]
- config_file [default: $(find-pkg-share autoware_carla_interface)/raw_vehicle_cmd_converter.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_carla_interface at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.0 |
| License | Apache License 2.0 |
| Build type | AMENT_PYTHON |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Muhammad Raditya GIOVANNI
- Maxime CLEMENT
Authors
autoware_carla_interface
ROS 2 / Autoware Universe bridge for CARLA simulator
Thanks to https://github.com/gezp for ROS 2 Humble support for CARLA Communication. This ros package enables communication between Autoware and CARLA for autonomous driving simulation.
Supported Environment
| ubuntu | ros | carla | autoware |
|---|---|---|---|
| 22.04 | humble | 0.9.15 | Main |
Setup
Install
Prerequisites
-
Install CARLA 0.9.15: Follow the CARLA Installation Guide
-
Install CARLA Python Package: Install CARLA 0.9.15 ROS 2 Humble communication package
- Option A: Install the wheel using pip
- Option B: Add the egg file to your
PYTHONPATH
- Download CARLA Lanelet2 Maps: Get the y-axis inverted maps from CARLA Autoware Contents
Map Setup
- Download the maps (y-axis inverted version) to an arbitrary location
- Create the map folder structure in
$HOME/autoware_map:- Rename
point_cloud/Town01.pcd→$HOME/autoware_map/Town01/pointcloud_map.pcd - Rename
vector_maps/lanelet2/Town01.osm→$HOME/autoware_map/Town01/lanelet2_map.osm
- Rename
- Create
$HOME/autoware_map/Town01/map_projector_info.yamlwith:
projector_type: Local
Build
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
Run
- Run carla, change map, spawn object if you need
cd CARLA
./CarlaUE4.sh -prefernvidia -quality-level=Low -RenderOffScreen
- Run Autoware with CARLA
ros2 launch autoware_launch e2e_simulator.launch.xml \
map_path:=$HOME/autoware_map/Town01 \
vehicle_model:=sample_vehicle \
sensor_model:=carla_sensor_kit \
simulator_type:=carla \
carla_map:=Town01
- Set initial pose (Init by GNSS)
- Set goal position
- Wait for planning
- Engage
Viewing Multi-Camera View in RViz
The carla_sensor_kit includes 6 cameras providing 360-degree coverage (Front, Front-Left, Front-Right, Back, Back-Left, Back-Right). A multi-camera combiner node automatically combines all camera feeds into a single 2x3 grid view.
To view the combined camera feed in RViz:
- In the Displays panel (left side), click the “Add” button
- Select the “By topic” tab
- Navigate to
/sensing/camera/all_cameras/image_raw - Select “Image” display type
- Click OK

The combined view shows all 6 cameras with labels: FL (Front-Left), F (Front), FR (Front-Right), BL (Back-Left), B (Back), BR (Back-Right).
Note: If you don’t need the multi-camera combiner (to save CPU resources), you can comment out the following line in launch/autoware_carla_interface.launch.xml:
<!-- Multi-camera combiner for RViz visualization -->
<!-- <node pkg="autoware_carla_interface" exec="multi_camera_combiner" output="screen"/> -->
Inner-workings / Algorithms
The InitializeInterface class is key to setting up both the CARLA world and the ego vehicle. It fetches configuration parameters through the autoware_carla_interface.launch.xml.
The main simulation loop runs within the carla_ros2_interface class. This loop ticks simulation time inside the CARLA simulator at fixed_delta_seconds time, where data is received and published as ROS 2 messages at frequencies defined in self.sensor_frequencies.
File truncated at 100 lines see the full file
Changelog for package autoware_carla_interface
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
fix: carla interface config and docs (#11571)
* fix(autoware_carla_interface): correct config file installation paths Fix setup.py to install sensor_mapping.yaml in config/ subdirectory instead of root share directory. This ensures the package works correctly in production/deployment scenarios where source files are not available.
- raw_vehicle_cmd_converter.param.yaml: installed to share root (correct)
- sensor_mapping.yaml: installed to share/config/ (matches expected path) Without this fix, the package relies on fallback to source directory which fails in Docker containers and binary package deployments.
* fix(autoware_carla_interface): complete sensor mapping example in README Update camera sensor mapping example to include all required fields:
- Add topic_info field for camera_info topic
- Add qos_profile field for ROS2 QoS configuration
- Remove unnecessary quotes from YAML values These fields are essential for proper camera sensor configuration and were missing from the documentation example, potentially causing confusion for users trying to configure custom sensors.
* docs(autoware_carla_interface): remove misleading LiDAR concatenation note Remove the note about uncommenting LiDAR concatenation relay from Known Issues section. The single LiDAR configuration may still require the concatenated topic for coordinate transformation, which will be tested separately. The relay in launch file remains commented out pending further testing.
* refactor(autoware_carla_interface): remove unnecessary lidar concatenation relay Remove commented-out lidar concatenation relay from launch file. Testing confirms that the main Autoware sensing pipeline already provides the concatenated pointcloud topic through the mirror_cropped pipeline, making this relay redundant. The /sensing/lidar/concatenated/pointcloud topic is successfully published by the main sensing stack and consumed by localization and perception modules. ---------
-
feat(autoware_carla_interface): sensor kit integration with multi-camera support (#11471)
- feat(autoware_carla_interface): add sensor kit integration with multi-camera support
- Add sensor_mapping.yaml for sensor kit configuration loader
- Implement coordinate transformer for ROS base_link to CARLA vehicle frame
- Add sensor kit loader with Autoware calibration parsing
- Create multi-camera combiner node for 6-camera grid visualization
- Add topic relays and image compression for all 6 cameras
- Implement modular sensor manager with ROS publisher management
- Refactor carla_ros.py to use new sensor kit architecture This enables dynamic sensor configuration from Autoware sensor kit YAML files and provides compressed image streams for bandwidth optimization.
- refactor(autoware_carla_interface): remove legacy objects.json and simplify sensor configuration
- Remove objects.json and objects_definition_file parameter (replaced by sensor_mapping.yaml)
- Remove use_autoware_sensor_kit parameter (always use sensor kit now)
- Simplify sensor loading logic in carla_ros.py
- Update sensor_kit_loader to always attempt sensor kit calibration first
- Update launch file and documentation to reflect new configuration
- Make wheelbase configurable via sensor_mapping.yaml This simplifies the configuration by removing redundant parameters and making the sensor kit approach the standard method.
- refactor(autoware_carla_interface): move multi_camera_combiner to proper module structure
- Move scripts/multi_camera_combiner.py to src/autoware_carla_interface/multi_camera_combiner_node.py
- Register as entry point in setup.py for standard ROS2 node deployment
- Update launch file to use node instead of executable
- Remove empty scripts directory This follows ROS2 Python package best practices by having all executable nodes as entry points rather than standalone scripts.
* fix(autoware_carla_interface): prevent silent sensor
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| std_msgs | |
| ament_lint_auto | |
| ament_lint_common | |
| autoware_perception_msgs | |
| autoware_vehicle_msgs | |
| cv_bridge | |
| geometry_msgs | |
| rclpy | |
| sensor_msgs | |
| sensor_msgs_py | |
| tf2 | |
| tf2_ros | |
| tier4_vehicle_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/autoware_carla_interface.launch.xml
-
- host [default: localhost]
- port [default: 2000]
- timeout [default: 20]
- ego_vehicle_role_name [default: ego_vehicle]
- vehicle_type [default: vehicle.toyota.prius]
- spawn_point [default: None]
- carla_map [default: Town01]
- sync_mode [default: True]
- fixed_delta_seconds [default: 0.05]
- use_traffic_manager [default: False]
- max_real_delta_seconds [default: 0.05]
- sensor_kit_name [default: carla_sensor_kit_description]
- sensor_mapping_file [default: $(find-pkg-share autoware_carla_interface)/config/sensor_mapping.yaml]
- input_control_cmd [default: /control/command/control_cmd]
- input_odometry [default: /localization/kinematic_state]
- input_steering [default: /vehicle/status/steering_status]
- output_actuation_cmd [default: /control/command/actuation_cmd]
- config_file [default: $(find-pkg-share autoware_carla_interface)/raw_vehicle_cmd_converter.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_carla_interface at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.0 |
| License | Apache License 2.0 |
| Build type | AMENT_PYTHON |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Muhammad Raditya GIOVANNI
- Maxime CLEMENT
Authors
autoware_carla_interface
ROS 2 / Autoware Universe bridge for CARLA simulator
Thanks to https://github.com/gezp for ROS 2 Humble support for CARLA Communication. This ros package enables communication between Autoware and CARLA for autonomous driving simulation.
Supported Environment
| ubuntu | ros | carla | autoware |
|---|---|---|---|
| 22.04 | humble | 0.9.15 | Main |
Setup
Install
Prerequisites
-
Install CARLA 0.9.15: Follow the CARLA Installation Guide
-
Install CARLA Python Package: Install CARLA 0.9.15 ROS 2 Humble communication package
- Option A: Install the wheel using pip
- Option B: Add the egg file to your
PYTHONPATH
- Download CARLA Lanelet2 Maps: Get the y-axis inverted maps from CARLA Autoware Contents
Map Setup
- Download the maps (y-axis inverted version) to an arbitrary location
- Create the map folder structure in
$HOME/autoware_map:- Rename
point_cloud/Town01.pcd→$HOME/autoware_map/Town01/pointcloud_map.pcd - Rename
vector_maps/lanelet2/Town01.osm→$HOME/autoware_map/Town01/lanelet2_map.osm
- Rename
- Create
$HOME/autoware_map/Town01/map_projector_info.yamlwith:
projector_type: Local
Build
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
Run
- Run carla, change map, spawn object if you need
cd CARLA
./CarlaUE4.sh -prefernvidia -quality-level=Low -RenderOffScreen
- Run Autoware with CARLA
ros2 launch autoware_launch e2e_simulator.launch.xml \
map_path:=$HOME/autoware_map/Town01 \
vehicle_model:=sample_vehicle \
sensor_model:=carla_sensor_kit \
simulator_type:=carla \
carla_map:=Town01
- Set initial pose (Init by GNSS)
- Set goal position
- Wait for planning
- Engage
Viewing Multi-Camera View in RViz
The carla_sensor_kit includes 6 cameras providing 360-degree coverage (Front, Front-Left, Front-Right, Back, Back-Left, Back-Right). A multi-camera combiner node automatically combines all camera feeds into a single 2x3 grid view.
To view the combined camera feed in RViz:
- In the Displays panel (left side), click the “Add” button
- Select the “By topic” tab
- Navigate to
/sensing/camera/all_cameras/image_raw - Select “Image” display type
- Click OK

The combined view shows all 6 cameras with labels: FL (Front-Left), F (Front), FR (Front-Right), BL (Back-Left), B (Back), BR (Back-Right).
Note: If you don’t need the multi-camera combiner (to save CPU resources), you can comment out the following line in launch/autoware_carla_interface.launch.xml:
<!-- Multi-camera combiner for RViz visualization -->
<!-- <node pkg="autoware_carla_interface" exec="multi_camera_combiner" output="screen"/> -->
Inner-workings / Algorithms
The InitializeInterface class is key to setting up both the CARLA world and the ego vehicle. It fetches configuration parameters through the autoware_carla_interface.launch.xml.
The main simulation loop runs within the carla_ros2_interface class. This loop ticks simulation time inside the CARLA simulator at fixed_delta_seconds time, where data is received and published as ROS 2 messages at frequencies defined in self.sensor_frequencies.
File truncated at 100 lines see the full file
Changelog for package autoware_carla_interface
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
fix: carla interface config and docs (#11571)
* fix(autoware_carla_interface): correct config file installation paths Fix setup.py to install sensor_mapping.yaml in config/ subdirectory instead of root share directory. This ensures the package works correctly in production/deployment scenarios where source files are not available.
- raw_vehicle_cmd_converter.param.yaml: installed to share root (correct)
- sensor_mapping.yaml: installed to share/config/ (matches expected path) Without this fix, the package relies on fallback to source directory which fails in Docker containers and binary package deployments.
* fix(autoware_carla_interface): complete sensor mapping example in README Update camera sensor mapping example to include all required fields:
- Add topic_info field for camera_info topic
- Add qos_profile field for ROS2 QoS configuration
- Remove unnecessary quotes from YAML values These fields are essential for proper camera sensor configuration and were missing from the documentation example, potentially causing confusion for users trying to configure custom sensors.
* docs(autoware_carla_interface): remove misleading LiDAR concatenation note Remove the note about uncommenting LiDAR concatenation relay from Known Issues section. The single LiDAR configuration may still require the concatenated topic for coordinate transformation, which will be tested separately. The relay in launch file remains commented out pending further testing.
* refactor(autoware_carla_interface): remove unnecessary lidar concatenation relay Remove commented-out lidar concatenation relay from launch file. Testing confirms that the main Autoware sensing pipeline already provides the concatenated pointcloud topic through the mirror_cropped pipeline, making this relay redundant. The /sensing/lidar/concatenated/pointcloud topic is successfully published by the main sensing stack and consumed by localization and perception modules. ---------
-
feat(autoware_carla_interface): sensor kit integration with multi-camera support (#11471)
- feat(autoware_carla_interface): add sensor kit integration with multi-camera support
- Add sensor_mapping.yaml for sensor kit configuration loader
- Implement coordinate transformer for ROS base_link to CARLA vehicle frame
- Add sensor kit loader with Autoware calibration parsing
- Create multi-camera combiner node for 6-camera grid visualization
- Add topic relays and image compression for all 6 cameras
- Implement modular sensor manager with ROS publisher management
- Refactor carla_ros.py to use new sensor kit architecture This enables dynamic sensor configuration from Autoware sensor kit YAML files and provides compressed image streams for bandwidth optimization.
- refactor(autoware_carla_interface): remove legacy objects.json and simplify sensor configuration
- Remove objects.json and objects_definition_file parameter (replaced by sensor_mapping.yaml)
- Remove use_autoware_sensor_kit parameter (always use sensor kit now)
- Simplify sensor loading logic in carla_ros.py
- Update sensor_kit_loader to always attempt sensor kit calibration first
- Update launch file and documentation to reflect new configuration
- Make wheelbase configurable via sensor_mapping.yaml This simplifies the configuration by removing redundant parameters and making the sensor kit approach the standard method.
- refactor(autoware_carla_interface): move multi_camera_combiner to proper module structure
- Move scripts/multi_camera_combiner.py to src/autoware_carla_interface/multi_camera_combiner_node.py
- Register as entry point in setup.py for standard ROS2 node deployment
- Update launch file to use node instead of executable
- Remove empty scripts directory This follows ROS2 Python package best practices by having all executable nodes as entry points rather than standalone scripts.
* fix(autoware_carla_interface): prevent silent sensor
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| std_msgs | |
| ament_lint_auto | |
| ament_lint_common | |
| autoware_perception_msgs | |
| autoware_vehicle_msgs | |
| cv_bridge | |
| geometry_msgs | |
| rclpy | |
| sensor_msgs | |
| sensor_msgs_py | |
| tf2 | |
| tf2_ros | |
| tier4_vehicle_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/autoware_carla_interface.launch.xml
-
- host [default: localhost]
- port [default: 2000]
- timeout [default: 20]
- ego_vehicle_role_name [default: ego_vehicle]
- vehicle_type [default: vehicle.toyota.prius]
- spawn_point [default: None]
- carla_map [default: Town01]
- sync_mode [default: True]
- fixed_delta_seconds [default: 0.05]
- use_traffic_manager [default: False]
- max_real_delta_seconds [default: 0.05]
- sensor_kit_name [default: carla_sensor_kit_description]
- sensor_mapping_file [default: $(find-pkg-share autoware_carla_interface)/config/sensor_mapping.yaml]
- input_control_cmd [default: /control/command/control_cmd]
- input_odometry [default: /localization/kinematic_state]
- input_steering [default: /vehicle/status/steering_status]
- output_actuation_cmd [default: /control/command/actuation_cmd]
- config_file [default: $(find-pkg-share autoware_carla_interface)/raw_vehicle_cmd_converter.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_carla_interface at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.0 |
| License | Apache License 2.0 |
| Build type | AMENT_PYTHON |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Muhammad Raditya GIOVANNI
- Maxime CLEMENT
Authors
autoware_carla_interface
ROS 2 / Autoware Universe bridge for CARLA simulator
Thanks to https://github.com/gezp for ROS 2 Humble support for CARLA Communication. This ros package enables communication between Autoware and CARLA for autonomous driving simulation.
Supported Environment
| ubuntu | ros | carla | autoware |
|---|---|---|---|
| 22.04 | humble | 0.9.15 | Main |
Setup
Install
Prerequisites
-
Install CARLA 0.9.15: Follow the CARLA Installation Guide
-
Install CARLA Python Package: Install CARLA 0.9.15 ROS 2 Humble communication package
- Option A: Install the wheel using pip
- Option B: Add the egg file to your
PYTHONPATH
- Download CARLA Lanelet2 Maps: Get the y-axis inverted maps from CARLA Autoware Contents
Map Setup
- Download the maps (y-axis inverted version) to an arbitrary location
- Create the map folder structure in
$HOME/autoware_map:- Rename
point_cloud/Town01.pcd→$HOME/autoware_map/Town01/pointcloud_map.pcd - Rename
vector_maps/lanelet2/Town01.osm→$HOME/autoware_map/Town01/lanelet2_map.osm
- Rename
- Create
$HOME/autoware_map/Town01/map_projector_info.yamlwith:
projector_type: Local
Build
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
Run
- Run carla, change map, spawn object if you need
cd CARLA
./CarlaUE4.sh -prefernvidia -quality-level=Low -RenderOffScreen
- Run Autoware with CARLA
ros2 launch autoware_launch e2e_simulator.launch.xml \
map_path:=$HOME/autoware_map/Town01 \
vehicle_model:=sample_vehicle \
sensor_model:=carla_sensor_kit \
simulator_type:=carla \
carla_map:=Town01
- Set initial pose (Init by GNSS)
- Set goal position
- Wait for planning
- Engage
Viewing Multi-Camera View in RViz
The carla_sensor_kit includes 6 cameras providing 360-degree coverage (Front, Front-Left, Front-Right, Back, Back-Left, Back-Right). A multi-camera combiner node automatically combines all camera feeds into a single 2x3 grid view.
To view the combined camera feed in RViz:
- In the Displays panel (left side), click the “Add” button
- Select the “By topic” tab
- Navigate to
/sensing/camera/all_cameras/image_raw - Select “Image” display type
- Click OK

The combined view shows all 6 cameras with labels: FL (Front-Left), F (Front), FR (Front-Right), BL (Back-Left), B (Back), BR (Back-Right).
Note: If you don’t need the multi-camera combiner (to save CPU resources), you can comment out the following line in launch/autoware_carla_interface.launch.xml:
<!-- Multi-camera combiner for RViz visualization -->
<!-- <node pkg="autoware_carla_interface" exec="multi_camera_combiner" output="screen"/> -->
Inner-workings / Algorithms
The InitializeInterface class is key to setting up both the CARLA world and the ego vehicle. It fetches configuration parameters through the autoware_carla_interface.launch.xml.
The main simulation loop runs within the carla_ros2_interface class. This loop ticks simulation time inside the CARLA simulator at fixed_delta_seconds time, where data is received and published as ROS 2 messages at frequencies defined in self.sensor_frequencies.
File truncated at 100 lines see the full file
Changelog for package autoware_carla_interface
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
fix: carla interface config and docs (#11571)
* fix(autoware_carla_interface): correct config file installation paths Fix setup.py to install sensor_mapping.yaml in config/ subdirectory instead of root share directory. This ensures the package works correctly in production/deployment scenarios where source files are not available.
- raw_vehicle_cmd_converter.param.yaml: installed to share root (correct)
- sensor_mapping.yaml: installed to share/config/ (matches expected path) Without this fix, the package relies on fallback to source directory which fails in Docker containers and binary package deployments.
* fix(autoware_carla_interface): complete sensor mapping example in README Update camera sensor mapping example to include all required fields:
- Add topic_info field for camera_info topic
- Add qos_profile field for ROS2 QoS configuration
- Remove unnecessary quotes from YAML values These fields are essential for proper camera sensor configuration and were missing from the documentation example, potentially causing confusion for users trying to configure custom sensors.
* docs(autoware_carla_interface): remove misleading LiDAR concatenation note Remove the note about uncommenting LiDAR concatenation relay from Known Issues section. The single LiDAR configuration may still require the concatenated topic for coordinate transformation, which will be tested separately. The relay in launch file remains commented out pending further testing.
* refactor(autoware_carla_interface): remove unnecessary lidar concatenation relay Remove commented-out lidar concatenation relay from launch file. Testing confirms that the main Autoware sensing pipeline already provides the concatenated pointcloud topic through the mirror_cropped pipeline, making this relay redundant. The /sensing/lidar/concatenated/pointcloud topic is successfully published by the main sensing stack and consumed by localization and perception modules. ---------
-
feat(autoware_carla_interface): sensor kit integration with multi-camera support (#11471)
- feat(autoware_carla_interface): add sensor kit integration with multi-camera support
- Add sensor_mapping.yaml for sensor kit configuration loader
- Implement coordinate transformer for ROS base_link to CARLA vehicle frame
- Add sensor kit loader with Autoware calibration parsing
- Create multi-camera combiner node for 6-camera grid visualization
- Add topic relays and image compression for all 6 cameras
- Implement modular sensor manager with ROS publisher management
- Refactor carla_ros.py to use new sensor kit architecture This enables dynamic sensor configuration from Autoware sensor kit YAML files and provides compressed image streams for bandwidth optimization.
- refactor(autoware_carla_interface): remove legacy objects.json and simplify sensor configuration
- Remove objects.json and objects_definition_file parameter (replaced by sensor_mapping.yaml)
- Remove use_autoware_sensor_kit parameter (always use sensor kit now)
- Simplify sensor loading logic in carla_ros.py
- Update sensor_kit_loader to always attempt sensor kit calibration first
- Update launch file and documentation to reflect new configuration
- Make wheelbase configurable via sensor_mapping.yaml This simplifies the configuration by removing redundant parameters and making the sensor kit approach the standard method.
- refactor(autoware_carla_interface): move multi_camera_combiner to proper module structure
- Move scripts/multi_camera_combiner.py to src/autoware_carla_interface/multi_camera_combiner_node.py
- Register as entry point in setup.py for standard ROS2 node deployment
- Update launch file to use node instead of executable
- Remove empty scripts directory This follows ROS2 Python package best practices by having all executable nodes as entry points rather than standalone scripts.
* fix(autoware_carla_interface): prevent silent sensor
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| std_msgs | |
| ament_lint_auto | |
| ament_lint_common | |
| autoware_perception_msgs | |
| autoware_vehicle_msgs | |
| cv_bridge | |
| geometry_msgs | |
| rclpy | |
| sensor_msgs | |
| sensor_msgs_py | |
| tf2 | |
| tf2_ros | |
| tier4_vehicle_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/autoware_carla_interface.launch.xml
-
- host [default: localhost]
- port [default: 2000]
- timeout [default: 20]
- ego_vehicle_role_name [default: ego_vehicle]
- vehicle_type [default: vehicle.toyota.prius]
- spawn_point [default: None]
- carla_map [default: Town01]
- sync_mode [default: True]
- fixed_delta_seconds [default: 0.05]
- use_traffic_manager [default: False]
- max_real_delta_seconds [default: 0.05]
- sensor_kit_name [default: carla_sensor_kit_description]
- sensor_mapping_file [default: $(find-pkg-share autoware_carla_interface)/config/sensor_mapping.yaml]
- input_control_cmd [default: /control/command/control_cmd]
- input_odometry [default: /localization/kinematic_state]
- input_steering [default: /vehicle/status/steering_status]
- output_actuation_cmd [default: /control/command/actuation_cmd]
- config_file [default: $(find-pkg-share autoware_carla_interface)/raw_vehicle_cmd_converter.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_carla_interface at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.0 |
| License | Apache License 2.0 |
| Build type | AMENT_PYTHON |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Muhammad Raditya GIOVANNI
- Maxime CLEMENT
Authors
autoware_carla_interface
ROS 2 / Autoware Universe bridge for CARLA simulator
Thanks to https://github.com/gezp for ROS 2 Humble support for CARLA Communication. This ros package enables communication between Autoware and CARLA for autonomous driving simulation.
Supported Environment
| ubuntu | ros | carla | autoware |
|---|---|---|---|
| 22.04 | humble | 0.9.15 | Main |
Setup
Install
Prerequisites
-
Install CARLA 0.9.15: Follow the CARLA Installation Guide
-
Install CARLA Python Package: Install CARLA 0.9.15 ROS 2 Humble communication package
- Option A: Install the wheel using pip
- Option B: Add the egg file to your
PYTHONPATH
- Download CARLA Lanelet2 Maps: Get the y-axis inverted maps from CARLA Autoware Contents
Map Setup
- Download the maps (y-axis inverted version) to an arbitrary location
- Create the map folder structure in
$HOME/autoware_map:- Rename
point_cloud/Town01.pcd→$HOME/autoware_map/Town01/pointcloud_map.pcd - Rename
vector_maps/lanelet2/Town01.osm→$HOME/autoware_map/Town01/lanelet2_map.osm
- Rename
- Create
$HOME/autoware_map/Town01/map_projector_info.yamlwith:
projector_type: Local
Build
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
Run
- Run carla, change map, spawn object if you need
cd CARLA
./CarlaUE4.sh -prefernvidia -quality-level=Low -RenderOffScreen
- Run Autoware with CARLA
ros2 launch autoware_launch e2e_simulator.launch.xml \
map_path:=$HOME/autoware_map/Town01 \
vehicle_model:=sample_vehicle \
sensor_model:=carla_sensor_kit \
simulator_type:=carla \
carla_map:=Town01
- Set initial pose (Init by GNSS)
- Set goal position
- Wait for planning
- Engage
Viewing Multi-Camera View in RViz
The carla_sensor_kit includes 6 cameras providing 360-degree coverage (Front, Front-Left, Front-Right, Back, Back-Left, Back-Right). A multi-camera combiner node automatically combines all camera feeds into a single 2x3 grid view.
To view the combined camera feed in RViz:
- In the Displays panel (left side), click the “Add” button
- Select the “By topic” tab
- Navigate to
/sensing/camera/all_cameras/image_raw - Select “Image” display type
- Click OK

The combined view shows all 6 cameras with labels: FL (Front-Left), F (Front), FR (Front-Right), BL (Back-Left), B (Back), BR (Back-Right).
Note: If you don’t need the multi-camera combiner (to save CPU resources), you can comment out the following line in launch/autoware_carla_interface.launch.xml:
<!-- Multi-camera combiner for RViz visualization -->
<!-- <node pkg="autoware_carla_interface" exec="multi_camera_combiner" output="screen"/> -->
Inner-workings / Algorithms
The InitializeInterface class is key to setting up both the CARLA world and the ego vehicle. It fetches configuration parameters through the autoware_carla_interface.launch.xml.
The main simulation loop runs within the carla_ros2_interface class. This loop ticks simulation time inside the CARLA simulator at fixed_delta_seconds time, where data is received and published as ROS 2 messages at frequencies defined in self.sensor_frequencies.
File truncated at 100 lines see the full file
Changelog for package autoware_carla_interface
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
fix: carla interface config and docs (#11571)
* fix(autoware_carla_interface): correct config file installation paths Fix setup.py to install sensor_mapping.yaml in config/ subdirectory instead of root share directory. This ensures the package works correctly in production/deployment scenarios where source files are not available.
- raw_vehicle_cmd_converter.param.yaml: installed to share root (correct)
- sensor_mapping.yaml: installed to share/config/ (matches expected path) Without this fix, the package relies on fallback to source directory which fails in Docker containers and binary package deployments.
* fix(autoware_carla_interface): complete sensor mapping example in README Update camera sensor mapping example to include all required fields:
- Add topic_info field for camera_info topic
- Add qos_profile field for ROS2 QoS configuration
- Remove unnecessary quotes from YAML values These fields are essential for proper camera sensor configuration and were missing from the documentation example, potentially causing confusion for users trying to configure custom sensors.
* docs(autoware_carla_interface): remove misleading LiDAR concatenation note Remove the note about uncommenting LiDAR concatenation relay from Known Issues section. The single LiDAR configuration may still require the concatenated topic for coordinate transformation, which will be tested separately. The relay in launch file remains commented out pending further testing.
* refactor(autoware_carla_interface): remove unnecessary lidar concatenation relay Remove commented-out lidar concatenation relay from launch file. Testing confirms that the main Autoware sensing pipeline already provides the concatenated pointcloud topic through the mirror_cropped pipeline, making this relay redundant. The /sensing/lidar/concatenated/pointcloud topic is successfully published by the main sensing stack and consumed by localization and perception modules. ---------
-
feat(autoware_carla_interface): sensor kit integration with multi-camera support (#11471)
- feat(autoware_carla_interface): add sensor kit integration with multi-camera support
- Add sensor_mapping.yaml for sensor kit configuration loader
- Implement coordinate transformer for ROS base_link to CARLA vehicle frame
- Add sensor kit loader with Autoware calibration parsing
- Create multi-camera combiner node for 6-camera grid visualization
- Add topic relays and image compression for all 6 cameras
- Implement modular sensor manager with ROS publisher management
- Refactor carla_ros.py to use new sensor kit architecture This enables dynamic sensor configuration from Autoware sensor kit YAML files and provides compressed image streams for bandwidth optimization.
- refactor(autoware_carla_interface): remove legacy objects.json and simplify sensor configuration
- Remove objects.json and objects_definition_file parameter (replaced by sensor_mapping.yaml)
- Remove use_autoware_sensor_kit parameter (always use sensor kit now)
- Simplify sensor loading logic in carla_ros.py
- Update sensor_kit_loader to always attempt sensor kit calibration first
- Update launch file and documentation to reflect new configuration
- Make wheelbase configurable via sensor_mapping.yaml This simplifies the configuration by removing redundant parameters and making the sensor kit approach the standard method.
- refactor(autoware_carla_interface): move multi_camera_combiner to proper module structure
- Move scripts/multi_camera_combiner.py to src/autoware_carla_interface/multi_camera_combiner_node.py
- Register as entry point in setup.py for standard ROS2 node deployment
- Update launch file to use node instead of executable
- Remove empty scripts directory This follows ROS2 Python package best practices by having all executable nodes as entry points rather than standalone scripts.
* fix(autoware_carla_interface): prevent silent sensor
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| std_msgs | |
| ament_lint_auto | |
| ament_lint_common | |
| autoware_perception_msgs | |
| autoware_vehicle_msgs | |
| cv_bridge | |
| geometry_msgs | |
| rclpy | |
| sensor_msgs | |
| sensor_msgs_py | |
| tf2 | |
| tf2_ros | |
| tier4_vehicle_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/autoware_carla_interface.launch.xml
-
- host [default: localhost]
- port [default: 2000]
- timeout [default: 20]
- ego_vehicle_role_name [default: ego_vehicle]
- vehicle_type [default: vehicle.toyota.prius]
- spawn_point [default: None]
- carla_map [default: Town01]
- sync_mode [default: True]
- fixed_delta_seconds [default: 0.05]
- use_traffic_manager [default: False]
- max_real_delta_seconds [default: 0.05]
- sensor_kit_name [default: carla_sensor_kit_description]
- sensor_mapping_file [default: $(find-pkg-share autoware_carla_interface)/config/sensor_mapping.yaml]
- input_control_cmd [default: /control/command/control_cmd]
- input_odometry [default: /localization/kinematic_state]
- input_steering [default: /vehicle/status/steering_status]
- output_actuation_cmd [default: /control/command/actuation_cmd]
- config_file [default: $(find-pkg-share autoware_carla_interface)/raw_vehicle_cmd_converter.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_carla_interface at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.0 |
| License | Apache License 2.0 |
| Build type | AMENT_PYTHON |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Muhammad Raditya GIOVANNI
- Maxime CLEMENT
Authors
autoware_carla_interface
ROS 2 / Autoware Universe bridge for CARLA simulator
Thanks to https://github.com/gezp for ROS 2 Humble support for CARLA Communication. This ros package enables communication between Autoware and CARLA for autonomous driving simulation.
Supported Environment
| ubuntu | ros | carla | autoware |
|---|---|---|---|
| 22.04 | humble | 0.9.15 | Main |
Setup
Install
Prerequisites
-
Install CARLA 0.9.15: Follow the CARLA Installation Guide
-
Install CARLA Python Package: Install CARLA 0.9.15 ROS 2 Humble communication package
- Option A: Install the wheel using pip
- Option B: Add the egg file to your
PYTHONPATH
- Download CARLA Lanelet2 Maps: Get the y-axis inverted maps from CARLA Autoware Contents
Map Setup
- Download the maps (y-axis inverted version) to an arbitrary location
- Create the map folder structure in
$HOME/autoware_map:- Rename
point_cloud/Town01.pcd→$HOME/autoware_map/Town01/pointcloud_map.pcd - Rename
vector_maps/lanelet2/Town01.osm→$HOME/autoware_map/Town01/lanelet2_map.osm
- Rename
- Create
$HOME/autoware_map/Town01/map_projector_info.yamlwith:
projector_type: Local
Build
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
Run
- Run carla, change map, spawn object if you need
cd CARLA
./CarlaUE4.sh -prefernvidia -quality-level=Low -RenderOffScreen
- Run Autoware with CARLA
ros2 launch autoware_launch e2e_simulator.launch.xml \
map_path:=$HOME/autoware_map/Town01 \
vehicle_model:=sample_vehicle \
sensor_model:=carla_sensor_kit \
simulator_type:=carla \
carla_map:=Town01
- Set initial pose (Init by GNSS)
- Set goal position
- Wait for planning
- Engage
Viewing Multi-Camera View in RViz
The carla_sensor_kit includes 6 cameras providing 360-degree coverage (Front, Front-Left, Front-Right, Back, Back-Left, Back-Right). A multi-camera combiner node automatically combines all camera feeds into a single 2x3 grid view.
To view the combined camera feed in RViz:
- In the Displays panel (left side), click the “Add” button
- Select the “By topic” tab
- Navigate to
/sensing/camera/all_cameras/image_raw - Select “Image” display type
- Click OK

The combined view shows all 6 cameras with labels: FL (Front-Left), F (Front), FR (Front-Right), BL (Back-Left), B (Back), BR (Back-Right).
Note: If you don’t need the multi-camera combiner (to save CPU resources), you can comment out the following line in launch/autoware_carla_interface.launch.xml:
<!-- Multi-camera combiner for RViz visualization -->
<!-- <node pkg="autoware_carla_interface" exec="multi_camera_combiner" output="screen"/> -->
Inner-workings / Algorithms
The InitializeInterface class is key to setting up both the CARLA world and the ego vehicle. It fetches configuration parameters through the autoware_carla_interface.launch.xml.
The main simulation loop runs within the carla_ros2_interface class. This loop ticks simulation time inside the CARLA simulator at fixed_delta_seconds time, where data is received and published as ROS 2 messages at frequencies defined in self.sensor_frequencies.
File truncated at 100 lines see the full file
Changelog for package autoware_carla_interface
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
fix: carla interface config and docs (#11571)
* fix(autoware_carla_interface): correct config file installation paths Fix setup.py to install sensor_mapping.yaml in config/ subdirectory instead of root share directory. This ensures the package works correctly in production/deployment scenarios where source files are not available.
- raw_vehicle_cmd_converter.param.yaml: installed to share root (correct)
- sensor_mapping.yaml: installed to share/config/ (matches expected path) Without this fix, the package relies on fallback to source directory which fails in Docker containers and binary package deployments.
* fix(autoware_carla_interface): complete sensor mapping example in README Update camera sensor mapping example to include all required fields:
- Add topic_info field for camera_info topic
- Add qos_profile field for ROS2 QoS configuration
- Remove unnecessary quotes from YAML values These fields are essential for proper camera sensor configuration and were missing from the documentation example, potentially causing confusion for users trying to configure custom sensors.
* docs(autoware_carla_interface): remove misleading LiDAR concatenation note Remove the note about uncommenting LiDAR concatenation relay from Known Issues section. The single LiDAR configuration may still require the concatenated topic for coordinate transformation, which will be tested separately. The relay in launch file remains commented out pending further testing.
* refactor(autoware_carla_interface): remove unnecessary lidar concatenation relay Remove commented-out lidar concatenation relay from launch file. Testing confirms that the main Autoware sensing pipeline already provides the concatenated pointcloud topic through the mirror_cropped pipeline, making this relay redundant. The /sensing/lidar/concatenated/pointcloud topic is successfully published by the main sensing stack and consumed by localization and perception modules. ---------
-
feat(autoware_carla_interface): sensor kit integration with multi-camera support (#11471)
- feat(autoware_carla_interface): add sensor kit integration with multi-camera support
- Add sensor_mapping.yaml for sensor kit configuration loader
- Implement coordinate transformer for ROS base_link to CARLA vehicle frame
- Add sensor kit loader with Autoware calibration parsing
- Create multi-camera combiner node for 6-camera grid visualization
- Add topic relays and image compression for all 6 cameras
- Implement modular sensor manager with ROS publisher management
- Refactor carla_ros.py to use new sensor kit architecture This enables dynamic sensor configuration from Autoware sensor kit YAML files and provides compressed image streams for bandwidth optimization.
- refactor(autoware_carla_interface): remove legacy objects.json and simplify sensor configuration
- Remove objects.json and objects_definition_file parameter (replaced by sensor_mapping.yaml)
- Remove use_autoware_sensor_kit parameter (always use sensor kit now)
- Simplify sensor loading logic in carla_ros.py
- Update sensor_kit_loader to always attempt sensor kit calibration first
- Update launch file and documentation to reflect new configuration
- Make wheelbase configurable via sensor_mapping.yaml This simplifies the configuration by removing redundant parameters and making the sensor kit approach the standard method.
- refactor(autoware_carla_interface): move multi_camera_combiner to proper module structure
- Move scripts/multi_camera_combiner.py to src/autoware_carla_interface/multi_camera_combiner_node.py
- Register as entry point in setup.py for standard ROS2 node deployment
- Update launch file to use node instead of executable
- Remove empty scripts directory This follows ROS2 Python package best practices by having all executable nodes as entry points rather than standalone scripts.
* fix(autoware_carla_interface): prevent silent sensor
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| std_msgs | |
| ament_lint_auto | |
| ament_lint_common | |
| autoware_perception_msgs | |
| autoware_vehicle_msgs | |
| cv_bridge | |
| geometry_msgs | |
| rclpy | |
| sensor_msgs | |
| sensor_msgs_py | |
| tf2 | |
| tf2_ros | |
| tier4_vehicle_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/autoware_carla_interface.launch.xml
-
- host [default: localhost]
- port [default: 2000]
- timeout [default: 20]
- ego_vehicle_role_name [default: ego_vehicle]
- vehicle_type [default: vehicle.toyota.prius]
- spawn_point [default: None]
- carla_map [default: Town01]
- sync_mode [default: True]
- fixed_delta_seconds [default: 0.05]
- use_traffic_manager [default: False]
- max_real_delta_seconds [default: 0.05]
- sensor_kit_name [default: carla_sensor_kit_description]
- sensor_mapping_file [default: $(find-pkg-share autoware_carla_interface)/config/sensor_mapping.yaml]
- input_control_cmd [default: /control/command/control_cmd]
- input_odometry [default: /localization/kinematic_state]
- input_steering [default: /vehicle/status/steering_status]
- output_actuation_cmd [default: /control/command/actuation_cmd]
- config_file [default: $(find-pkg-share autoware_carla_interface)/raw_vehicle_cmd_converter.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_carla_interface at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.0 |
| License | Apache License 2.0 |
| Build type | AMENT_PYTHON |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Muhammad Raditya GIOVANNI
- Maxime CLEMENT
Authors
autoware_carla_interface
ROS 2 / Autoware Universe bridge for CARLA simulator
Thanks to https://github.com/gezp for ROS 2 Humble support for CARLA Communication. This ros package enables communication between Autoware and CARLA for autonomous driving simulation.
Supported Environment
| ubuntu | ros | carla | autoware |
|---|---|---|---|
| 22.04 | humble | 0.9.15 | Main |
Setup
Install
Prerequisites
-
Install CARLA 0.9.15: Follow the CARLA Installation Guide
-
Install CARLA Python Package: Install CARLA 0.9.15 ROS 2 Humble communication package
- Option A: Install the wheel using pip
- Option B: Add the egg file to your
PYTHONPATH
- Download CARLA Lanelet2 Maps: Get the y-axis inverted maps from CARLA Autoware Contents
Map Setup
- Download the maps (y-axis inverted version) to an arbitrary location
- Create the map folder structure in
$HOME/autoware_map:- Rename
point_cloud/Town01.pcd→$HOME/autoware_map/Town01/pointcloud_map.pcd - Rename
vector_maps/lanelet2/Town01.osm→$HOME/autoware_map/Town01/lanelet2_map.osm
- Rename
- Create
$HOME/autoware_map/Town01/map_projector_info.yamlwith:
projector_type: Local
Build
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
Run
- Run carla, change map, spawn object if you need
cd CARLA
./CarlaUE4.sh -prefernvidia -quality-level=Low -RenderOffScreen
- Run Autoware with CARLA
ros2 launch autoware_launch e2e_simulator.launch.xml \
map_path:=$HOME/autoware_map/Town01 \
vehicle_model:=sample_vehicle \
sensor_model:=carla_sensor_kit \
simulator_type:=carla \
carla_map:=Town01
- Set initial pose (Init by GNSS)
- Set goal position
- Wait for planning
- Engage
Viewing Multi-Camera View in RViz
The carla_sensor_kit includes 6 cameras providing 360-degree coverage (Front, Front-Left, Front-Right, Back, Back-Left, Back-Right). A multi-camera combiner node automatically combines all camera feeds into a single 2x3 grid view.
To view the combined camera feed in RViz:
- In the Displays panel (left side), click the “Add” button
- Select the “By topic” tab
- Navigate to
/sensing/camera/all_cameras/image_raw - Select “Image” display type
- Click OK

The combined view shows all 6 cameras with labels: FL (Front-Left), F (Front), FR (Front-Right), BL (Back-Left), B (Back), BR (Back-Right).
Note: If you don’t need the multi-camera combiner (to save CPU resources), you can comment out the following line in launch/autoware_carla_interface.launch.xml:
<!-- Multi-camera combiner for RViz visualization -->
<!-- <node pkg="autoware_carla_interface" exec="multi_camera_combiner" output="screen"/> -->
Inner-workings / Algorithms
The InitializeInterface class is key to setting up both the CARLA world and the ego vehicle. It fetches configuration parameters through the autoware_carla_interface.launch.xml.
The main simulation loop runs within the carla_ros2_interface class. This loop ticks simulation time inside the CARLA simulator at fixed_delta_seconds time, where data is received and published as ROS 2 messages at frequencies defined in self.sensor_frequencies.
File truncated at 100 lines see the full file
Changelog for package autoware_carla_interface
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
fix: carla interface config and docs (#11571)
* fix(autoware_carla_interface): correct config file installation paths Fix setup.py to install sensor_mapping.yaml in config/ subdirectory instead of root share directory. This ensures the package works correctly in production/deployment scenarios where source files are not available.
- raw_vehicle_cmd_converter.param.yaml: installed to share root (correct)
- sensor_mapping.yaml: installed to share/config/ (matches expected path) Without this fix, the package relies on fallback to source directory which fails in Docker containers and binary package deployments.
* fix(autoware_carla_interface): complete sensor mapping example in README Update camera sensor mapping example to include all required fields:
- Add topic_info field for camera_info topic
- Add qos_profile field for ROS2 QoS configuration
- Remove unnecessary quotes from YAML values These fields are essential for proper camera sensor configuration and were missing from the documentation example, potentially causing confusion for users trying to configure custom sensors.
* docs(autoware_carla_interface): remove misleading LiDAR concatenation note Remove the note about uncommenting LiDAR concatenation relay from Known Issues section. The single LiDAR configuration may still require the concatenated topic for coordinate transformation, which will be tested separately. The relay in launch file remains commented out pending further testing.
* refactor(autoware_carla_interface): remove unnecessary lidar concatenation relay Remove commented-out lidar concatenation relay from launch file. Testing confirms that the main Autoware sensing pipeline already provides the concatenated pointcloud topic through the mirror_cropped pipeline, making this relay redundant. The /sensing/lidar/concatenated/pointcloud topic is successfully published by the main sensing stack and consumed by localization and perception modules. ---------
-
feat(autoware_carla_interface): sensor kit integration with multi-camera support (#11471)
- feat(autoware_carla_interface): add sensor kit integration with multi-camera support
- Add sensor_mapping.yaml for sensor kit configuration loader
- Implement coordinate transformer for ROS base_link to CARLA vehicle frame
- Add sensor kit loader with Autoware calibration parsing
- Create multi-camera combiner node for 6-camera grid visualization
- Add topic relays and image compression for all 6 cameras
- Implement modular sensor manager with ROS publisher management
- Refactor carla_ros.py to use new sensor kit architecture This enables dynamic sensor configuration from Autoware sensor kit YAML files and provides compressed image streams for bandwidth optimization.
- refactor(autoware_carla_interface): remove legacy objects.json and simplify sensor configuration
- Remove objects.json and objects_definition_file parameter (replaced by sensor_mapping.yaml)
- Remove use_autoware_sensor_kit parameter (always use sensor kit now)
- Simplify sensor loading logic in carla_ros.py
- Update sensor_kit_loader to always attempt sensor kit calibration first
- Update launch file and documentation to reflect new configuration
- Make wheelbase configurable via sensor_mapping.yaml This simplifies the configuration by removing redundant parameters and making the sensor kit approach the standard method.
- refactor(autoware_carla_interface): move multi_camera_combiner to proper module structure
- Move scripts/multi_camera_combiner.py to src/autoware_carla_interface/multi_camera_combiner_node.py
- Register as entry point in setup.py for standard ROS2 node deployment
- Update launch file to use node instead of executable
- Remove empty scripts directory This follows ROS2 Python package best practices by having all executable nodes as entry points rather than standalone scripts.
* fix(autoware_carla_interface): prevent silent sensor
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| std_msgs | |
| ament_lint_auto | |
| ament_lint_common | |
| autoware_perception_msgs | |
| autoware_vehicle_msgs | |
| cv_bridge | |
| geometry_msgs | |
| rclpy | |
| sensor_msgs | |
| sensor_msgs_py | |
| tf2 | |
| tf2_ros | |
| tier4_vehicle_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/autoware_carla_interface.launch.xml
-
- host [default: localhost]
- port [default: 2000]
- timeout [default: 20]
- ego_vehicle_role_name [default: ego_vehicle]
- vehicle_type [default: vehicle.toyota.prius]
- spawn_point [default: None]
- carla_map [default: Town01]
- sync_mode [default: True]
- fixed_delta_seconds [default: 0.05]
- use_traffic_manager [default: False]
- max_real_delta_seconds [default: 0.05]
- sensor_kit_name [default: carla_sensor_kit_description]
- sensor_mapping_file [default: $(find-pkg-share autoware_carla_interface)/config/sensor_mapping.yaml]
- input_control_cmd [default: /control/command/control_cmd]
- input_odometry [default: /localization/kinematic_state]
- input_steering [default: /vehicle/status/steering_status]
- output_actuation_cmd [default: /control/command/actuation_cmd]
- config_file [default: $(find-pkg-share autoware_carla_interface)/raw_vehicle_cmd_converter.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_carla_interface at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.0 |
| License | Apache License 2.0 |
| Build type | AMENT_PYTHON |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Muhammad Raditya GIOVANNI
- Maxime CLEMENT
Authors
autoware_carla_interface
ROS 2 / Autoware Universe bridge for CARLA simulator
Thanks to https://github.com/gezp for ROS 2 Humble support for CARLA Communication. This ros package enables communication between Autoware and CARLA for autonomous driving simulation.
Supported Environment
| ubuntu | ros | carla | autoware |
|---|---|---|---|
| 22.04 | humble | 0.9.15 | Main |
Setup
Install
Prerequisites
-
Install CARLA 0.9.15: Follow the CARLA Installation Guide
-
Install CARLA Python Package: Install CARLA 0.9.15 ROS 2 Humble communication package
- Option A: Install the wheel using pip
- Option B: Add the egg file to your
PYTHONPATH
- Download CARLA Lanelet2 Maps: Get the y-axis inverted maps from CARLA Autoware Contents
Map Setup
- Download the maps (y-axis inverted version) to an arbitrary location
- Create the map folder structure in
$HOME/autoware_map:- Rename
point_cloud/Town01.pcd→$HOME/autoware_map/Town01/pointcloud_map.pcd - Rename
vector_maps/lanelet2/Town01.osm→$HOME/autoware_map/Town01/lanelet2_map.osm
- Rename
- Create
$HOME/autoware_map/Town01/map_projector_info.yamlwith:
projector_type: Local
Build
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
Run
- Run carla, change map, spawn object if you need
cd CARLA
./CarlaUE4.sh -prefernvidia -quality-level=Low -RenderOffScreen
- Run Autoware with CARLA
ros2 launch autoware_launch e2e_simulator.launch.xml \
map_path:=$HOME/autoware_map/Town01 \
vehicle_model:=sample_vehicle \
sensor_model:=carla_sensor_kit \
simulator_type:=carla \
carla_map:=Town01
- Set initial pose (Init by GNSS)
- Set goal position
- Wait for planning
- Engage
Viewing Multi-Camera View in RViz
The carla_sensor_kit includes 6 cameras providing 360-degree coverage (Front, Front-Left, Front-Right, Back, Back-Left, Back-Right). A multi-camera combiner node automatically combines all camera feeds into a single 2x3 grid view.
To view the combined camera feed in RViz:
- In the Displays panel (left side), click the “Add” button
- Select the “By topic” tab
- Navigate to
/sensing/camera/all_cameras/image_raw - Select “Image” display type
- Click OK

The combined view shows all 6 cameras with labels: FL (Front-Left), F (Front), FR (Front-Right), BL (Back-Left), B (Back), BR (Back-Right).
Note: If you don’t need the multi-camera combiner (to save CPU resources), you can comment out the following line in launch/autoware_carla_interface.launch.xml:
<!-- Multi-camera combiner for RViz visualization -->
<!-- <node pkg="autoware_carla_interface" exec="multi_camera_combiner" output="screen"/> -->
Inner-workings / Algorithms
The InitializeInterface class is key to setting up both the CARLA world and the ego vehicle. It fetches configuration parameters through the autoware_carla_interface.launch.xml.
The main simulation loop runs within the carla_ros2_interface class. This loop ticks simulation time inside the CARLA simulator at fixed_delta_seconds time, where data is received and published as ROS 2 messages at frequencies defined in self.sensor_frequencies.
File truncated at 100 lines see the full file
Changelog for package autoware_carla_interface
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
fix: carla interface config and docs (#11571)
* fix(autoware_carla_interface): correct config file installation paths Fix setup.py to install sensor_mapping.yaml in config/ subdirectory instead of root share directory. This ensures the package works correctly in production/deployment scenarios where source files are not available.
- raw_vehicle_cmd_converter.param.yaml: installed to share root (correct)
- sensor_mapping.yaml: installed to share/config/ (matches expected path) Without this fix, the package relies on fallback to source directory which fails in Docker containers and binary package deployments.
* fix(autoware_carla_interface): complete sensor mapping example in README Update camera sensor mapping example to include all required fields:
- Add topic_info field for camera_info topic
- Add qos_profile field for ROS2 QoS configuration
- Remove unnecessary quotes from YAML values These fields are essential for proper camera sensor configuration and were missing from the documentation example, potentially causing confusion for users trying to configure custom sensors.
* docs(autoware_carla_interface): remove misleading LiDAR concatenation note Remove the note about uncommenting LiDAR concatenation relay from Known Issues section. The single LiDAR configuration may still require the concatenated topic for coordinate transformation, which will be tested separately. The relay in launch file remains commented out pending further testing.
* refactor(autoware_carla_interface): remove unnecessary lidar concatenation relay Remove commented-out lidar concatenation relay from launch file. Testing confirms that the main Autoware sensing pipeline already provides the concatenated pointcloud topic through the mirror_cropped pipeline, making this relay redundant. The /sensing/lidar/concatenated/pointcloud topic is successfully published by the main sensing stack and consumed by localization and perception modules. ---------
-
feat(autoware_carla_interface): sensor kit integration with multi-camera support (#11471)
- feat(autoware_carla_interface): add sensor kit integration with multi-camera support
- Add sensor_mapping.yaml for sensor kit configuration loader
- Implement coordinate transformer for ROS base_link to CARLA vehicle frame
- Add sensor kit loader with Autoware calibration parsing
- Create multi-camera combiner node for 6-camera grid visualization
- Add topic relays and image compression for all 6 cameras
- Implement modular sensor manager with ROS publisher management
- Refactor carla_ros.py to use new sensor kit architecture This enables dynamic sensor configuration from Autoware sensor kit YAML files and provides compressed image streams for bandwidth optimization.
- refactor(autoware_carla_interface): remove legacy objects.json and simplify sensor configuration
- Remove objects.json and objects_definition_file parameter (replaced by sensor_mapping.yaml)
- Remove use_autoware_sensor_kit parameter (always use sensor kit now)
- Simplify sensor loading logic in carla_ros.py
- Update sensor_kit_loader to always attempt sensor kit calibration first
- Update launch file and documentation to reflect new configuration
- Make wheelbase configurable via sensor_mapping.yaml This simplifies the configuration by removing redundant parameters and making the sensor kit approach the standard method.
- refactor(autoware_carla_interface): move multi_camera_combiner to proper module structure
- Move scripts/multi_camera_combiner.py to src/autoware_carla_interface/multi_camera_combiner_node.py
- Register as entry point in setup.py for standard ROS2 node deployment
- Update launch file to use node instead of executable
- Remove empty scripts directory This follows ROS2 Python package best practices by having all executable nodes as entry points rather than standalone scripts.
* fix(autoware_carla_interface): prevent silent sensor
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| std_msgs | |
| ament_lint_auto | |
| ament_lint_common | |
| autoware_perception_msgs | |
| autoware_vehicle_msgs | |
| cv_bridge | |
| geometry_msgs | |
| rclpy | |
| sensor_msgs | |
| sensor_msgs_py | |
| tf2 | |
| tf2_ros | |
| tier4_vehicle_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/autoware_carla_interface.launch.xml
-
- host [default: localhost]
- port [default: 2000]
- timeout [default: 20]
- ego_vehicle_role_name [default: ego_vehicle]
- vehicle_type [default: vehicle.toyota.prius]
- spawn_point [default: None]
- carla_map [default: Town01]
- sync_mode [default: True]
- fixed_delta_seconds [default: 0.05]
- use_traffic_manager [default: False]
- max_real_delta_seconds [default: 0.05]
- sensor_kit_name [default: carla_sensor_kit_description]
- sensor_mapping_file [default: $(find-pkg-share autoware_carla_interface)/config/sensor_mapping.yaml]
- input_control_cmd [default: /control/command/control_cmd]
- input_odometry [default: /localization/kinematic_state]
- input_steering [default: /vehicle/status/steering_status]
- output_actuation_cmd [default: /control/command/actuation_cmd]
- config_file [default: $(find-pkg-share autoware_carla_interface)/raw_vehicle_cmd_converter.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_carla_interface at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.0 |
| License | Apache License 2.0 |
| Build type | AMENT_PYTHON |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Muhammad Raditya GIOVANNI
- Maxime CLEMENT
Authors
autoware_carla_interface
ROS 2 / Autoware Universe bridge for CARLA simulator
Thanks to https://github.com/gezp for ROS 2 Humble support for CARLA Communication. This ros package enables communication between Autoware and CARLA for autonomous driving simulation.
Supported Environment
| ubuntu | ros | carla | autoware |
|---|---|---|---|
| 22.04 | humble | 0.9.15 | Main |
Setup
Install
Prerequisites
-
Install CARLA 0.9.15: Follow the CARLA Installation Guide
-
Install CARLA Python Package: Install CARLA 0.9.15 ROS 2 Humble communication package
- Option A: Install the wheel using pip
- Option B: Add the egg file to your
PYTHONPATH
- Download CARLA Lanelet2 Maps: Get the y-axis inverted maps from CARLA Autoware Contents
Map Setup
- Download the maps (y-axis inverted version) to an arbitrary location
- Create the map folder structure in
$HOME/autoware_map:- Rename
point_cloud/Town01.pcd→$HOME/autoware_map/Town01/pointcloud_map.pcd - Rename
vector_maps/lanelet2/Town01.osm→$HOME/autoware_map/Town01/lanelet2_map.osm
- Rename
- Create
$HOME/autoware_map/Town01/map_projector_info.yamlwith:
projector_type: Local
Build
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
Run
- Run carla, change map, spawn object if you need
cd CARLA
./CarlaUE4.sh -prefernvidia -quality-level=Low -RenderOffScreen
- Run Autoware with CARLA
ros2 launch autoware_launch e2e_simulator.launch.xml \
map_path:=$HOME/autoware_map/Town01 \
vehicle_model:=sample_vehicle \
sensor_model:=carla_sensor_kit \
simulator_type:=carla \
carla_map:=Town01
- Set initial pose (Init by GNSS)
- Set goal position
- Wait for planning
- Engage
Viewing Multi-Camera View in RViz
The carla_sensor_kit includes 6 cameras providing 360-degree coverage (Front, Front-Left, Front-Right, Back, Back-Left, Back-Right). A multi-camera combiner node automatically combines all camera feeds into a single 2x3 grid view.
To view the combined camera feed in RViz:
- In the Displays panel (left side), click the “Add” button
- Select the “By topic” tab
- Navigate to
/sensing/camera/all_cameras/image_raw - Select “Image” display type
- Click OK

The combined view shows all 6 cameras with labels: FL (Front-Left), F (Front), FR (Front-Right), BL (Back-Left), B (Back), BR (Back-Right).
Note: If you don’t need the multi-camera combiner (to save CPU resources), you can comment out the following line in launch/autoware_carla_interface.launch.xml:
<!-- Multi-camera combiner for RViz visualization -->
<!-- <node pkg="autoware_carla_interface" exec="multi_camera_combiner" output="screen"/> -->
Inner-workings / Algorithms
The InitializeInterface class is key to setting up both the CARLA world and the ego vehicle. It fetches configuration parameters through the autoware_carla_interface.launch.xml.
The main simulation loop runs within the carla_ros2_interface class. This loop ticks simulation time inside the CARLA simulator at fixed_delta_seconds time, where data is received and published as ROS 2 messages at frequencies defined in self.sensor_frequencies.
File truncated at 100 lines see the full file
Changelog for package autoware_carla_interface
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
fix: carla interface config and docs (#11571)
* fix(autoware_carla_interface): correct config file installation paths Fix setup.py to install sensor_mapping.yaml in config/ subdirectory instead of root share directory. This ensures the package works correctly in production/deployment scenarios where source files are not available.
- raw_vehicle_cmd_converter.param.yaml: installed to share root (correct)
- sensor_mapping.yaml: installed to share/config/ (matches expected path) Without this fix, the package relies on fallback to source directory which fails in Docker containers and binary package deployments.
* fix(autoware_carla_interface): complete sensor mapping example in README Update camera sensor mapping example to include all required fields:
- Add topic_info field for camera_info topic
- Add qos_profile field for ROS2 QoS configuration
- Remove unnecessary quotes from YAML values These fields are essential for proper camera sensor configuration and were missing from the documentation example, potentially causing confusion for users trying to configure custom sensors.
* docs(autoware_carla_interface): remove misleading LiDAR concatenation note Remove the note about uncommenting LiDAR concatenation relay from Known Issues section. The single LiDAR configuration may still require the concatenated topic for coordinate transformation, which will be tested separately. The relay in launch file remains commented out pending further testing.
* refactor(autoware_carla_interface): remove unnecessary lidar concatenation relay Remove commented-out lidar concatenation relay from launch file. Testing confirms that the main Autoware sensing pipeline already provides the concatenated pointcloud topic through the mirror_cropped pipeline, making this relay redundant. The /sensing/lidar/concatenated/pointcloud topic is successfully published by the main sensing stack and consumed by localization and perception modules. ---------
-
feat(autoware_carla_interface): sensor kit integration with multi-camera support (#11471)
- feat(autoware_carla_interface): add sensor kit integration with multi-camera support
- Add sensor_mapping.yaml for sensor kit configuration loader
- Implement coordinate transformer for ROS base_link to CARLA vehicle frame
- Add sensor kit loader with Autoware calibration parsing
- Create multi-camera combiner node for 6-camera grid visualization
- Add topic relays and image compression for all 6 cameras
- Implement modular sensor manager with ROS publisher management
- Refactor carla_ros.py to use new sensor kit architecture This enables dynamic sensor configuration from Autoware sensor kit YAML files and provides compressed image streams for bandwidth optimization.
- refactor(autoware_carla_interface): remove legacy objects.json and simplify sensor configuration
- Remove objects.json and objects_definition_file parameter (replaced by sensor_mapping.yaml)
- Remove use_autoware_sensor_kit parameter (always use sensor kit now)
- Simplify sensor loading logic in carla_ros.py
- Update sensor_kit_loader to always attempt sensor kit calibration first
- Update launch file and documentation to reflect new configuration
- Make wheelbase configurable via sensor_mapping.yaml This simplifies the configuration by removing redundant parameters and making the sensor kit approach the standard method.
- refactor(autoware_carla_interface): move multi_camera_combiner to proper module structure
- Move scripts/multi_camera_combiner.py to src/autoware_carla_interface/multi_camera_combiner_node.py
- Register as entry point in setup.py for standard ROS2 node deployment
- Update launch file to use node instead of executable
- Remove empty scripts directory This follows ROS2 Python package best practices by having all executable nodes as entry points rather than standalone scripts.
* fix(autoware_carla_interface): prevent silent sensor
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| std_msgs | |
| ament_lint_auto | |
| ament_lint_common | |
| autoware_perception_msgs | |
| autoware_vehicle_msgs | |
| cv_bridge | |
| geometry_msgs | |
| rclpy | |
| sensor_msgs | |
| sensor_msgs_py | |
| tf2 | |
| tf2_ros | |
| tier4_vehicle_msgs |
System Dependencies
Dependant Packages
Launch files
- launch/autoware_carla_interface.launch.xml
-
- host [default: localhost]
- port [default: 2000]
- timeout [default: 20]
- ego_vehicle_role_name [default: ego_vehicle]
- vehicle_type [default: vehicle.toyota.prius]
- spawn_point [default: None]
- carla_map [default: Town01]
- sync_mode [default: True]
- fixed_delta_seconds [default: 0.05]
- use_traffic_manager [default: False]
- max_real_delta_seconds [default: 0.05]
- sensor_kit_name [default: carla_sensor_kit_description]
- sensor_mapping_file [default: $(find-pkg-share autoware_carla_interface)/config/sensor_mapping.yaml]
- input_control_cmd [default: /control/command/control_cmd]
- input_odometry [default: /localization/kinematic_state]
- input_steering [default: /vehicle/status/steering_status]
- output_actuation_cmd [default: /control/command/actuation_cmd]
- config_file [default: $(find-pkg-share autoware_carla_interface)/raw_vehicle_cmd_converter.param.yaml]