Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Selventhiran Rengaraj
- Ramaseshan Subramanian
- Naveen Sathiyaseelan
- Dhinesh Panneerselvam
- Rahul Gandhi Sundar
- Kok Seang Tan
Authors
tensorrt_bevformer
Purpose
The core algorithm, named BEVFormer, unifies multi-view images into the BEV perspective for 3D object detection tasks with temporal fusion.
Inner-workings / Algorithms
Cite
- Zhicheng Wang, et al., “BEVFormer: Incorporating Transformers for Multi-Camera 3D Detection” [ref]
- This node is ported and adapted for Autoware from Multicoreware’s BEVFormer ROS2 C++ repository.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/topic_img_front_left |
sensor_msgs::msg::Image |
input front_left camera image |
~/input/topic_img_front |
sensor_msgs::msg::Image |
input front camera image |
~/input/topic_img_front_right |
sensor_msgs::msg::Image |
input front_right camera image |
~/input/topic_img_back_left |
sensor_msgs::msg::Image |
input back_left camera image |
~/input/topic_img_back |
sensor_msgs::msg::Image |
input back camera image |
~/input/topic_img_back_right |
sensor_msgs::msg::Image |
input back_right camera image |
~/input/topic_img_front_left/camera_info |
sensor_msgs::msg::CameraInfo |
input front_left camera parameters |
~/input/topic_img_front/camera_info |
sensor_msgs::msg::CameraInfo |
input front camera parameters |
~/input/topic_img_front_right/camera_info |
sensor_msgs::msg::CameraInfo |
input front_right camera parameters |
~/input/topic_img_back_left/camera_info |
sensor_msgs::msg::CameraInfo |
input back_left camera parameters |
~/input/topic_img_back/camera_info |
sensor_msgs::msg::CameraInfo |
input back camera parameters |
~/input/topic_img_back_right/camera_info |
sensor_msgs::msg::CameraInfo |
input back_right camera parameters |
~/input/can_bus |
autoware_localization_msgs::msg::KinematicState |
CAN bus data for ego-motion |
Outputs
| Name | Type | Description |
|---|---|---|
~/output_boxes |
autoware_perception_msgs::msg::DetectedObjects |
detected objects |
~/output_bboxes |
visualization_msgs::msg::MarkerArray |
detected objects for nuScenes visualization |
How to Use Tensorrt BEVFormer Node
Prerequisites
- TensorRT 10.8.0.43
- CUDA 12.4
Trained Model
Download the bevformer_small.onnx model to:
$HOME/autoware_data/ml_models/tensorrt_bevformer
Note: The BEVFormer model was trained on the nuScenes dataset for 24 epochs with temporal fusion enabled.
Test TensorRT BEVFormer Node with nuScenes
-
Integrate this package into your autoware_universe/perception directory.
-
To play ROS 2 bag of nuScenes data:
cd autoware/src
git clone -b feature/bevformer-integration https://github.com/naveen-mcw/ros2_dataset_bridge.git
cd ..
Note: The
feature/bevformer-integrationbranch provides required data for the BEVFormer.
Download nuScenes dataset and canbus data here.
Open and edit the launch file to set dataset paths/configs:
nano src/ros2_dataset_bridge/launch/nuscenes_launch.xml
Update as needed:
<arg name="NUSCENES_DIR" default="<nuScenes_dataset_path>"/>
<arg name="NUSCENES_CAN_BUS_DIR" default="<can_bus_path>"/>
<arg name="NUSCENES_VER" default="v1.0-trainval"/>
<arg name="UPDATE_FREQUENCY" default="10.0"/>
- Build the autoware_tensorrt_bevformer and ros2_dataset_bridge packages
# Build ros2_dataset_bridge
colcon build --packages-up-to ros2_dataset_bridge
# Build autoware_tensorrt_bevformer
colcon build --packages-up-to autoware_tensorrt_bevformer
File truncated at 100 lines see the full file
Changelog for package autoware_tensorrt_bevformer
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: default artifact paths to ~/autoware_data/ml_models (#12523) feat(launches,configs): default artifact paths to ~/autoware_data/ml_models Roll every per-package [data_path]{.title-ref} / [model_path]{.title-ref} launch-arg default from [$(env HOME)/autoware_data[/...]]{.title-ref} to [$(env HOME)/autoware_data/ml_models[/...]]{.title-ref} so standalone universe launches resolve artifacts under the new [~/autoware_data/ml_models/]{.title-ref} layout (autowarefoundation/autoware#7068). When invoked through autoware_launch the parent overrides cascade and already pin the new root (autowarefoundation/autoware_launch#1835); this commit closes the gap for users who launch a perception / localization / sensing / planning component directly with [ros2 launch <pkg>]{.title-ref}. 22 launch files updated (one-line default change each):
- e2e/autoware_tensorrt_vad/launch/vad_carla_tiny.launch.xml
- localization/yabloc/yabloc_pose_initializer/launch/yabloc_pose_initializer.launch.xml
- perception/autoware_bevfusion/launch/bevfusion.launch.xml
- perception/autoware_camera_streampetr/launch/streampetr.launch.xml
- perception/autoware_image_projection_based_fusion/launch/pointpainting_fusion.launch.xml
- perception/autoware_lidar_apollo_instance_segmentation/launch/lidar_apollo_instance_segmentation.launch.xml
- perception/autoware_lidar_centerpoint/launch/lidar_centerpoint.launch.xml
- perception/autoware_lidar_frnet/launch/lidar_frnet.launch.xml
- perception/autoware_lidar_transfusion/launch/lidar_transfusion.launch.xml
- perception/autoware_ptv3/launch/ptv3.launch.xml
- perception/autoware_shape_estimation/launch/shape_estimation.launch.xml
- perception/autoware_simpl_prediction/launch/simpl.launch.xml
- perception/autoware_tensorrt_bevdet/launch/tensorrt_bevdet.launch.xml
- perception/autoware_tensorrt_bevformer/launch/bevformer.launch.xml
- perception/autoware_tensorrt_yolox/launch/{yolox_traffic_light_detector,yolox_tiny,yolox_s_plus_opt}.launch.xml
- perception/autoware_traffic_light_classifier/launch/{car,pedestrian}_traffic_light_classifier.launch.xml
- perception/autoware_traffic_light_fine_detector/launch/traffic_light_fine_detector.launch.xml
- planning/autoware_diffusion_planner/launch/diffusion_planner.launch.xml
- sensing/autoware_calibration_status_classifier/launch/calibration_status_classifier.launch.xml Drive-by README and test fixes:
- e2e/autoware_tensorrt_vad/{README.md,docs/design.md}: also migrate the [$HOME/autoware_map/Town01]{.title-ref} examples to [$HOME/autoware_data/maps/Town01]{.title-ref}.
- localization/yabloc/{README.md,yabloc_pose_initializer/README.md}: also migrate [$HOME/autoware_map/sample-map-rosbag]{.title-ref} to [$HOME/autoware_data/maps/demos/sample-map-rosbag]{.title-ref}.
- control/autoware_smart_mpc_trajectory_follower/README.md: migrate the [map_path:=$HOME/autoware_map/sample-map-planning]{.title-ref} example to [$HOME/autoware_data/maps/demos/sample-map-planning]{.title-ref}.
- simulator/autoware_carla_interface/README.md: migrate every [$HOME/autoware_map/Town01/...]{.title-ref} reference to [$HOME/autoware_data/maps/Town01/...]{.title-ref}.
- perception/{autoware_bevfusion,autoware_image_projection_based_fusion,autoware_lidar_centerpoint,autoware_tensorrt_bevformer}/README.md: copy-paste examples updated to [~/autoware_data/ml_models/<pkg>]{.title-ref}.
- perception/autoware_camera_streampetr/config/ml_package_camera_streampetr.param.yaml: header comment updated.
- planning/autoware_diffusion_planner/README.md: prerequisites snippet updated.
- sensing/autoware_calibration_status_classifier/test/{test_model_inference,test_calibration_status_classifier}.cpp: hardcoded fallback ONNX path updated. Users on the legacy layout can pin the old root with [data_path:=$HOME/autoware_data]{.title-ref} (or the per-package equivalent) on the command line. Refs:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libopencv-dev |
Dependant Packages
Launch files
- launch/bevformer.launch.xml
-
- input/img_front_left [default: /nuscenes/CAM_FRONT_LEFT/image]
- input/img_front [default: /nuscenes/CAM_FRONT/image]
- input/img_front_right [default: /nuscenes/CAM_FRONT_RIGHT/image]
- input/img_back_left [default: /nuscenes/CAM_BACK_LEFT/image]
- input/img_back [default: /nuscenes/CAM_BACK/image]
- input/img_back_right [default: /nuscenes/CAM_BACK_RIGHT/image]
- input/can_bus [default: /nuscenes/can_bus]
- output_boxes [default: ~/output_boxes]
- output_bboxes [default: ~/output/debug/markers/bounding_boxes]
- input/img_front_left/camera_info [default: /nuscenes/CAM_FRONT_LEFT/camera_info]
- input/img_front/camera_info [default: /nuscenes/CAM_FRONT/camera_info]
- input/img_front_right/camera_info [default: /nuscenes/CAM_FRONT_RIGHT/camera_info]
- input/img_back_left/camera_info [default: /nuscenes/CAM_BACK_LEFT/camera_info]
- input/img_back/camera_info [default: /nuscenes/CAM_BACK/camera_info]
- input/img_back_right/camera_info [default: /nuscenes/CAM_BACK_RIGHT/camera_info]
- data_path [default: $(env HOME)/autoware_data/ml_models/tensorrt_bevformer]
- onnx_file [default: $(var data_path)/bevformer_small.onnx]
- engine_file [default: $(var data_path)/bevformer_small.engine]
- auto_convert [default: true]
- precision [default: fp16]
- debug_mode [default: false]
- workspace_size [default: 4096]
- model_name [default: bevformer_small]
- param_file [default: $(find-pkg-share autoware_tensorrt_bevformer)/config/bevformer.param.yaml]
- plugin_path [default: ]
Messages
Services
Plugins
Recent questions tagged autoware_tensorrt_bevformer at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Selventhiran Rengaraj
- Ramaseshan Subramanian
- Naveen Sathiyaseelan
- Dhinesh Panneerselvam
- Rahul Gandhi Sundar
- Kok Seang Tan
Authors
tensorrt_bevformer
Purpose
The core algorithm, named BEVFormer, unifies multi-view images into the BEV perspective for 3D object detection tasks with temporal fusion.
Inner-workings / Algorithms
Cite
- Zhicheng Wang, et al., “BEVFormer: Incorporating Transformers for Multi-Camera 3D Detection” [ref]
- This node is ported and adapted for Autoware from Multicoreware’s BEVFormer ROS2 C++ repository.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/topic_img_front_left |
sensor_msgs::msg::Image |
input front_left camera image |
~/input/topic_img_front |
sensor_msgs::msg::Image |
input front camera image |
~/input/topic_img_front_right |
sensor_msgs::msg::Image |
input front_right camera image |
~/input/topic_img_back_left |
sensor_msgs::msg::Image |
input back_left camera image |
~/input/topic_img_back |
sensor_msgs::msg::Image |
input back camera image |
~/input/topic_img_back_right |
sensor_msgs::msg::Image |
input back_right camera image |
~/input/topic_img_front_left/camera_info |
sensor_msgs::msg::CameraInfo |
input front_left camera parameters |
~/input/topic_img_front/camera_info |
sensor_msgs::msg::CameraInfo |
input front camera parameters |
~/input/topic_img_front_right/camera_info |
sensor_msgs::msg::CameraInfo |
input front_right camera parameters |
~/input/topic_img_back_left/camera_info |
sensor_msgs::msg::CameraInfo |
input back_left camera parameters |
~/input/topic_img_back/camera_info |
sensor_msgs::msg::CameraInfo |
input back camera parameters |
~/input/topic_img_back_right/camera_info |
sensor_msgs::msg::CameraInfo |
input back_right camera parameters |
~/input/can_bus |
autoware_localization_msgs::msg::KinematicState |
CAN bus data for ego-motion |
Outputs
| Name | Type | Description |
|---|---|---|
~/output_boxes |
autoware_perception_msgs::msg::DetectedObjects |
detected objects |
~/output_bboxes |
visualization_msgs::msg::MarkerArray |
detected objects for nuScenes visualization |
How to Use Tensorrt BEVFormer Node
Prerequisites
- TensorRT 10.8.0.43
- CUDA 12.4
Trained Model
Download the bevformer_small.onnx model to:
$HOME/autoware_data/ml_models/tensorrt_bevformer
Note: The BEVFormer model was trained on the nuScenes dataset for 24 epochs with temporal fusion enabled.
Test TensorRT BEVFormer Node with nuScenes
-
Integrate this package into your autoware_universe/perception directory.
-
To play ROS 2 bag of nuScenes data:
cd autoware/src
git clone -b feature/bevformer-integration https://github.com/naveen-mcw/ros2_dataset_bridge.git
cd ..
Note: The
feature/bevformer-integrationbranch provides required data for the BEVFormer.
Download nuScenes dataset and canbus data here.
Open and edit the launch file to set dataset paths/configs:
nano src/ros2_dataset_bridge/launch/nuscenes_launch.xml
Update as needed:
<arg name="NUSCENES_DIR" default="<nuScenes_dataset_path>"/>
<arg name="NUSCENES_CAN_BUS_DIR" default="<can_bus_path>"/>
<arg name="NUSCENES_VER" default="v1.0-trainval"/>
<arg name="UPDATE_FREQUENCY" default="10.0"/>
- Build the autoware_tensorrt_bevformer and ros2_dataset_bridge packages
# Build ros2_dataset_bridge
colcon build --packages-up-to ros2_dataset_bridge
# Build autoware_tensorrt_bevformer
colcon build --packages-up-to autoware_tensorrt_bevformer
File truncated at 100 lines see the full file
Changelog for package autoware_tensorrt_bevformer
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: default artifact paths to ~/autoware_data/ml_models (#12523) feat(launches,configs): default artifact paths to ~/autoware_data/ml_models Roll every per-package [data_path]{.title-ref} / [model_path]{.title-ref} launch-arg default from [$(env HOME)/autoware_data[/...]]{.title-ref} to [$(env HOME)/autoware_data/ml_models[/...]]{.title-ref} so standalone universe launches resolve artifacts under the new [~/autoware_data/ml_models/]{.title-ref} layout (autowarefoundation/autoware#7068). When invoked through autoware_launch the parent overrides cascade and already pin the new root (autowarefoundation/autoware_launch#1835); this commit closes the gap for users who launch a perception / localization / sensing / planning component directly with [ros2 launch <pkg>]{.title-ref}. 22 launch files updated (one-line default change each):
- e2e/autoware_tensorrt_vad/launch/vad_carla_tiny.launch.xml
- localization/yabloc/yabloc_pose_initializer/launch/yabloc_pose_initializer.launch.xml
- perception/autoware_bevfusion/launch/bevfusion.launch.xml
- perception/autoware_camera_streampetr/launch/streampetr.launch.xml
- perception/autoware_image_projection_based_fusion/launch/pointpainting_fusion.launch.xml
- perception/autoware_lidar_apollo_instance_segmentation/launch/lidar_apollo_instance_segmentation.launch.xml
- perception/autoware_lidar_centerpoint/launch/lidar_centerpoint.launch.xml
- perception/autoware_lidar_frnet/launch/lidar_frnet.launch.xml
- perception/autoware_lidar_transfusion/launch/lidar_transfusion.launch.xml
- perception/autoware_ptv3/launch/ptv3.launch.xml
- perception/autoware_shape_estimation/launch/shape_estimation.launch.xml
- perception/autoware_simpl_prediction/launch/simpl.launch.xml
- perception/autoware_tensorrt_bevdet/launch/tensorrt_bevdet.launch.xml
- perception/autoware_tensorrt_bevformer/launch/bevformer.launch.xml
- perception/autoware_tensorrt_yolox/launch/{yolox_traffic_light_detector,yolox_tiny,yolox_s_plus_opt}.launch.xml
- perception/autoware_traffic_light_classifier/launch/{car,pedestrian}_traffic_light_classifier.launch.xml
- perception/autoware_traffic_light_fine_detector/launch/traffic_light_fine_detector.launch.xml
- planning/autoware_diffusion_planner/launch/diffusion_planner.launch.xml
- sensing/autoware_calibration_status_classifier/launch/calibration_status_classifier.launch.xml Drive-by README and test fixes:
- e2e/autoware_tensorrt_vad/{README.md,docs/design.md}: also migrate the [$HOME/autoware_map/Town01]{.title-ref} examples to [$HOME/autoware_data/maps/Town01]{.title-ref}.
- localization/yabloc/{README.md,yabloc_pose_initializer/README.md}: also migrate [$HOME/autoware_map/sample-map-rosbag]{.title-ref} to [$HOME/autoware_data/maps/demos/sample-map-rosbag]{.title-ref}.
- control/autoware_smart_mpc_trajectory_follower/README.md: migrate the [map_path:=$HOME/autoware_map/sample-map-planning]{.title-ref} example to [$HOME/autoware_data/maps/demos/sample-map-planning]{.title-ref}.
- simulator/autoware_carla_interface/README.md: migrate every [$HOME/autoware_map/Town01/...]{.title-ref} reference to [$HOME/autoware_data/maps/Town01/...]{.title-ref}.
- perception/{autoware_bevfusion,autoware_image_projection_based_fusion,autoware_lidar_centerpoint,autoware_tensorrt_bevformer}/README.md: copy-paste examples updated to [~/autoware_data/ml_models/<pkg>]{.title-ref}.
- perception/autoware_camera_streampetr/config/ml_package_camera_streampetr.param.yaml: header comment updated.
- planning/autoware_diffusion_planner/README.md: prerequisites snippet updated.
- sensing/autoware_calibration_status_classifier/test/{test_model_inference,test_calibration_status_classifier}.cpp: hardcoded fallback ONNX path updated. Users on the legacy layout can pin the old root with [data_path:=$HOME/autoware_data]{.title-ref} (or the per-package equivalent) on the command line. Refs:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libopencv-dev |
Dependant Packages
Launch files
- launch/bevformer.launch.xml
-
- input/img_front_left [default: /nuscenes/CAM_FRONT_LEFT/image]
- input/img_front [default: /nuscenes/CAM_FRONT/image]
- input/img_front_right [default: /nuscenes/CAM_FRONT_RIGHT/image]
- input/img_back_left [default: /nuscenes/CAM_BACK_LEFT/image]
- input/img_back [default: /nuscenes/CAM_BACK/image]
- input/img_back_right [default: /nuscenes/CAM_BACK_RIGHT/image]
- input/can_bus [default: /nuscenes/can_bus]
- output_boxes [default: ~/output_boxes]
- output_bboxes [default: ~/output/debug/markers/bounding_boxes]
- input/img_front_left/camera_info [default: /nuscenes/CAM_FRONT_LEFT/camera_info]
- input/img_front/camera_info [default: /nuscenes/CAM_FRONT/camera_info]
- input/img_front_right/camera_info [default: /nuscenes/CAM_FRONT_RIGHT/camera_info]
- input/img_back_left/camera_info [default: /nuscenes/CAM_BACK_LEFT/camera_info]
- input/img_back/camera_info [default: /nuscenes/CAM_BACK/camera_info]
- input/img_back_right/camera_info [default: /nuscenes/CAM_BACK_RIGHT/camera_info]
- data_path [default: $(env HOME)/autoware_data/ml_models/tensorrt_bevformer]
- onnx_file [default: $(var data_path)/bevformer_small.onnx]
- engine_file [default: $(var data_path)/bevformer_small.engine]
- auto_convert [default: true]
- precision [default: fp16]
- debug_mode [default: false]
- workspace_size [default: 4096]
- model_name [default: bevformer_small]
- param_file [default: $(find-pkg-share autoware_tensorrt_bevformer)/config/bevformer.param.yaml]
- plugin_path [default: ]
Messages
Services
Plugins
Recent questions tagged autoware_tensorrt_bevformer at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Selventhiran Rengaraj
- Ramaseshan Subramanian
- Naveen Sathiyaseelan
- Dhinesh Panneerselvam
- Rahul Gandhi Sundar
- Kok Seang Tan
Authors
tensorrt_bevformer
Purpose
The core algorithm, named BEVFormer, unifies multi-view images into the BEV perspective for 3D object detection tasks with temporal fusion.
Inner-workings / Algorithms
Cite
- Zhicheng Wang, et al., “BEVFormer: Incorporating Transformers for Multi-Camera 3D Detection” [ref]
- This node is ported and adapted for Autoware from Multicoreware’s BEVFormer ROS2 C++ repository.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/topic_img_front_left |
sensor_msgs::msg::Image |
input front_left camera image |
~/input/topic_img_front |
sensor_msgs::msg::Image |
input front camera image |
~/input/topic_img_front_right |
sensor_msgs::msg::Image |
input front_right camera image |
~/input/topic_img_back_left |
sensor_msgs::msg::Image |
input back_left camera image |
~/input/topic_img_back |
sensor_msgs::msg::Image |
input back camera image |
~/input/topic_img_back_right |
sensor_msgs::msg::Image |
input back_right camera image |
~/input/topic_img_front_left/camera_info |
sensor_msgs::msg::CameraInfo |
input front_left camera parameters |
~/input/topic_img_front/camera_info |
sensor_msgs::msg::CameraInfo |
input front camera parameters |
~/input/topic_img_front_right/camera_info |
sensor_msgs::msg::CameraInfo |
input front_right camera parameters |
~/input/topic_img_back_left/camera_info |
sensor_msgs::msg::CameraInfo |
input back_left camera parameters |
~/input/topic_img_back/camera_info |
sensor_msgs::msg::CameraInfo |
input back camera parameters |
~/input/topic_img_back_right/camera_info |
sensor_msgs::msg::CameraInfo |
input back_right camera parameters |
~/input/can_bus |
autoware_localization_msgs::msg::KinematicState |
CAN bus data for ego-motion |
Outputs
| Name | Type | Description |
|---|---|---|
~/output_boxes |
autoware_perception_msgs::msg::DetectedObjects |
detected objects |
~/output_bboxes |
visualization_msgs::msg::MarkerArray |
detected objects for nuScenes visualization |
How to Use Tensorrt BEVFormer Node
Prerequisites
- TensorRT 10.8.0.43
- CUDA 12.4
Trained Model
Download the bevformer_small.onnx model to:
$HOME/autoware_data/ml_models/tensorrt_bevformer
Note: The BEVFormer model was trained on the nuScenes dataset for 24 epochs with temporal fusion enabled.
Test TensorRT BEVFormer Node with nuScenes
-
Integrate this package into your autoware_universe/perception directory.
-
To play ROS 2 bag of nuScenes data:
cd autoware/src
git clone -b feature/bevformer-integration https://github.com/naveen-mcw/ros2_dataset_bridge.git
cd ..
Note: The
feature/bevformer-integrationbranch provides required data for the BEVFormer.
Download nuScenes dataset and canbus data here.
Open and edit the launch file to set dataset paths/configs:
nano src/ros2_dataset_bridge/launch/nuscenes_launch.xml
Update as needed:
<arg name="NUSCENES_DIR" default="<nuScenes_dataset_path>"/>
<arg name="NUSCENES_CAN_BUS_DIR" default="<can_bus_path>"/>
<arg name="NUSCENES_VER" default="v1.0-trainval"/>
<arg name="UPDATE_FREQUENCY" default="10.0"/>
- Build the autoware_tensorrt_bevformer and ros2_dataset_bridge packages
# Build ros2_dataset_bridge
colcon build --packages-up-to ros2_dataset_bridge
# Build autoware_tensorrt_bevformer
colcon build --packages-up-to autoware_tensorrt_bevformer
File truncated at 100 lines see the full file
Changelog for package autoware_tensorrt_bevformer
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: default artifact paths to ~/autoware_data/ml_models (#12523) feat(launches,configs): default artifact paths to ~/autoware_data/ml_models Roll every per-package [data_path]{.title-ref} / [model_path]{.title-ref} launch-arg default from [$(env HOME)/autoware_data[/...]]{.title-ref} to [$(env HOME)/autoware_data/ml_models[/...]]{.title-ref} so standalone universe launches resolve artifacts under the new [~/autoware_data/ml_models/]{.title-ref} layout (autowarefoundation/autoware#7068). When invoked through autoware_launch the parent overrides cascade and already pin the new root (autowarefoundation/autoware_launch#1835); this commit closes the gap for users who launch a perception / localization / sensing / planning component directly with [ros2 launch <pkg>]{.title-ref}. 22 launch files updated (one-line default change each):
- e2e/autoware_tensorrt_vad/launch/vad_carla_tiny.launch.xml
- localization/yabloc/yabloc_pose_initializer/launch/yabloc_pose_initializer.launch.xml
- perception/autoware_bevfusion/launch/bevfusion.launch.xml
- perception/autoware_camera_streampetr/launch/streampetr.launch.xml
- perception/autoware_image_projection_based_fusion/launch/pointpainting_fusion.launch.xml
- perception/autoware_lidar_apollo_instance_segmentation/launch/lidar_apollo_instance_segmentation.launch.xml
- perception/autoware_lidar_centerpoint/launch/lidar_centerpoint.launch.xml
- perception/autoware_lidar_frnet/launch/lidar_frnet.launch.xml
- perception/autoware_lidar_transfusion/launch/lidar_transfusion.launch.xml
- perception/autoware_ptv3/launch/ptv3.launch.xml
- perception/autoware_shape_estimation/launch/shape_estimation.launch.xml
- perception/autoware_simpl_prediction/launch/simpl.launch.xml
- perception/autoware_tensorrt_bevdet/launch/tensorrt_bevdet.launch.xml
- perception/autoware_tensorrt_bevformer/launch/bevformer.launch.xml
- perception/autoware_tensorrt_yolox/launch/{yolox_traffic_light_detector,yolox_tiny,yolox_s_plus_opt}.launch.xml
- perception/autoware_traffic_light_classifier/launch/{car,pedestrian}_traffic_light_classifier.launch.xml
- perception/autoware_traffic_light_fine_detector/launch/traffic_light_fine_detector.launch.xml
- planning/autoware_diffusion_planner/launch/diffusion_planner.launch.xml
- sensing/autoware_calibration_status_classifier/launch/calibration_status_classifier.launch.xml Drive-by README and test fixes:
- e2e/autoware_tensorrt_vad/{README.md,docs/design.md}: also migrate the [$HOME/autoware_map/Town01]{.title-ref} examples to [$HOME/autoware_data/maps/Town01]{.title-ref}.
- localization/yabloc/{README.md,yabloc_pose_initializer/README.md}: also migrate [$HOME/autoware_map/sample-map-rosbag]{.title-ref} to [$HOME/autoware_data/maps/demos/sample-map-rosbag]{.title-ref}.
- control/autoware_smart_mpc_trajectory_follower/README.md: migrate the [map_path:=$HOME/autoware_map/sample-map-planning]{.title-ref} example to [$HOME/autoware_data/maps/demos/sample-map-planning]{.title-ref}.
- simulator/autoware_carla_interface/README.md: migrate every [$HOME/autoware_map/Town01/...]{.title-ref} reference to [$HOME/autoware_data/maps/Town01/...]{.title-ref}.
- perception/{autoware_bevfusion,autoware_image_projection_based_fusion,autoware_lidar_centerpoint,autoware_tensorrt_bevformer}/README.md: copy-paste examples updated to [~/autoware_data/ml_models/<pkg>]{.title-ref}.
- perception/autoware_camera_streampetr/config/ml_package_camera_streampetr.param.yaml: header comment updated.
- planning/autoware_diffusion_planner/README.md: prerequisites snippet updated.
- sensing/autoware_calibration_status_classifier/test/{test_model_inference,test_calibration_status_classifier}.cpp: hardcoded fallback ONNX path updated. Users on the legacy layout can pin the old root with [data_path:=$HOME/autoware_data]{.title-ref} (or the per-package equivalent) on the command line. Refs:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libopencv-dev |
Dependant Packages
Launch files
- launch/bevformer.launch.xml
-
- input/img_front_left [default: /nuscenes/CAM_FRONT_LEFT/image]
- input/img_front [default: /nuscenes/CAM_FRONT/image]
- input/img_front_right [default: /nuscenes/CAM_FRONT_RIGHT/image]
- input/img_back_left [default: /nuscenes/CAM_BACK_LEFT/image]
- input/img_back [default: /nuscenes/CAM_BACK/image]
- input/img_back_right [default: /nuscenes/CAM_BACK_RIGHT/image]
- input/can_bus [default: /nuscenes/can_bus]
- output_boxes [default: ~/output_boxes]
- output_bboxes [default: ~/output/debug/markers/bounding_boxes]
- input/img_front_left/camera_info [default: /nuscenes/CAM_FRONT_LEFT/camera_info]
- input/img_front/camera_info [default: /nuscenes/CAM_FRONT/camera_info]
- input/img_front_right/camera_info [default: /nuscenes/CAM_FRONT_RIGHT/camera_info]
- input/img_back_left/camera_info [default: /nuscenes/CAM_BACK_LEFT/camera_info]
- input/img_back/camera_info [default: /nuscenes/CAM_BACK/camera_info]
- input/img_back_right/camera_info [default: /nuscenes/CAM_BACK_RIGHT/camera_info]
- data_path [default: $(env HOME)/autoware_data/ml_models/tensorrt_bevformer]
- onnx_file [default: $(var data_path)/bevformer_small.onnx]
- engine_file [default: $(var data_path)/bevformer_small.engine]
- auto_convert [default: true]
- precision [default: fp16]
- debug_mode [default: false]
- workspace_size [default: 4096]
- model_name [default: bevformer_small]
- param_file [default: $(find-pkg-share autoware_tensorrt_bevformer)/config/bevformer.param.yaml]
- plugin_path [default: ]
Messages
Services
Plugins
Recent questions tagged autoware_tensorrt_bevformer at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Selventhiran Rengaraj
- Ramaseshan Subramanian
- Naveen Sathiyaseelan
- Dhinesh Panneerselvam
- Rahul Gandhi Sundar
- Kok Seang Tan
Authors
tensorrt_bevformer
Purpose
The core algorithm, named BEVFormer, unifies multi-view images into the BEV perspective for 3D object detection tasks with temporal fusion.
Inner-workings / Algorithms
Cite
- Zhicheng Wang, et al., “BEVFormer: Incorporating Transformers for Multi-Camera 3D Detection” [ref]
- This node is ported and adapted for Autoware from Multicoreware’s BEVFormer ROS2 C++ repository.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/topic_img_front_left |
sensor_msgs::msg::Image |
input front_left camera image |
~/input/topic_img_front |
sensor_msgs::msg::Image |
input front camera image |
~/input/topic_img_front_right |
sensor_msgs::msg::Image |
input front_right camera image |
~/input/topic_img_back_left |
sensor_msgs::msg::Image |
input back_left camera image |
~/input/topic_img_back |
sensor_msgs::msg::Image |
input back camera image |
~/input/topic_img_back_right |
sensor_msgs::msg::Image |
input back_right camera image |
~/input/topic_img_front_left/camera_info |
sensor_msgs::msg::CameraInfo |
input front_left camera parameters |
~/input/topic_img_front/camera_info |
sensor_msgs::msg::CameraInfo |
input front camera parameters |
~/input/topic_img_front_right/camera_info |
sensor_msgs::msg::CameraInfo |
input front_right camera parameters |
~/input/topic_img_back_left/camera_info |
sensor_msgs::msg::CameraInfo |
input back_left camera parameters |
~/input/topic_img_back/camera_info |
sensor_msgs::msg::CameraInfo |
input back camera parameters |
~/input/topic_img_back_right/camera_info |
sensor_msgs::msg::CameraInfo |
input back_right camera parameters |
~/input/can_bus |
autoware_localization_msgs::msg::KinematicState |
CAN bus data for ego-motion |
Outputs
| Name | Type | Description |
|---|---|---|
~/output_boxes |
autoware_perception_msgs::msg::DetectedObjects |
detected objects |
~/output_bboxes |
visualization_msgs::msg::MarkerArray |
detected objects for nuScenes visualization |
How to Use Tensorrt BEVFormer Node
Prerequisites
- TensorRT 10.8.0.43
- CUDA 12.4
Trained Model
Download the bevformer_small.onnx model to:
$HOME/autoware_data/ml_models/tensorrt_bevformer
Note: The BEVFormer model was trained on the nuScenes dataset for 24 epochs with temporal fusion enabled.
Test TensorRT BEVFormer Node with nuScenes
-
Integrate this package into your autoware_universe/perception directory.
-
To play ROS 2 bag of nuScenes data:
cd autoware/src
git clone -b feature/bevformer-integration https://github.com/naveen-mcw/ros2_dataset_bridge.git
cd ..
Note: The
feature/bevformer-integrationbranch provides required data for the BEVFormer.
Download nuScenes dataset and canbus data here.
Open and edit the launch file to set dataset paths/configs:
nano src/ros2_dataset_bridge/launch/nuscenes_launch.xml
Update as needed:
<arg name="NUSCENES_DIR" default="<nuScenes_dataset_path>"/>
<arg name="NUSCENES_CAN_BUS_DIR" default="<can_bus_path>"/>
<arg name="NUSCENES_VER" default="v1.0-trainval"/>
<arg name="UPDATE_FREQUENCY" default="10.0"/>
- Build the autoware_tensorrt_bevformer and ros2_dataset_bridge packages
# Build ros2_dataset_bridge
colcon build --packages-up-to ros2_dataset_bridge
# Build autoware_tensorrt_bevformer
colcon build --packages-up-to autoware_tensorrt_bevformer
File truncated at 100 lines see the full file
Changelog for package autoware_tensorrt_bevformer
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: default artifact paths to ~/autoware_data/ml_models (#12523) feat(launches,configs): default artifact paths to ~/autoware_data/ml_models Roll every per-package [data_path]{.title-ref} / [model_path]{.title-ref} launch-arg default from [$(env HOME)/autoware_data[/...]]{.title-ref} to [$(env HOME)/autoware_data/ml_models[/...]]{.title-ref} so standalone universe launches resolve artifacts under the new [~/autoware_data/ml_models/]{.title-ref} layout (autowarefoundation/autoware#7068). When invoked through autoware_launch the parent overrides cascade and already pin the new root (autowarefoundation/autoware_launch#1835); this commit closes the gap for users who launch a perception / localization / sensing / planning component directly with [ros2 launch <pkg>]{.title-ref}. 22 launch files updated (one-line default change each):
- e2e/autoware_tensorrt_vad/launch/vad_carla_tiny.launch.xml
- localization/yabloc/yabloc_pose_initializer/launch/yabloc_pose_initializer.launch.xml
- perception/autoware_bevfusion/launch/bevfusion.launch.xml
- perception/autoware_camera_streampetr/launch/streampetr.launch.xml
- perception/autoware_image_projection_based_fusion/launch/pointpainting_fusion.launch.xml
- perception/autoware_lidar_apollo_instance_segmentation/launch/lidar_apollo_instance_segmentation.launch.xml
- perception/autoware_lidar_centerpoint/launch/lidar_centerpoint.launch.xml
- perception/autoware_lidar_frnet/launch/lidar_frnet.launch.xml
- perception/autoware_lidar_transfusion/launch/lidar_transfusion.launch.xml
- perception/autoware_ptv3/launch/ptv3.launch.xml
- perception/autoware_shape_estimation/launch/shape_estimation.launch.xml
- perception/autoware_simpl_prediction/launch/simpl.launch.xml
- perception/autoware_tensorrt_bevdet/launch/tensorrt_bevdet.launch.xml
- perception/autoware_tensorrt_bevformer/launch/bevformer.launch.xml
- perception/autoware_tensorrt_yolox/launch/{yolox_traffic_light_detector,yolox_tiny,yolox_s_plus_opt}.launch.xml
- perception/autoware_traffic_light_classifier/launch/{car,pedestrian}_traffic_light_classifier.launch.xml
- perception/autoware_traffic_light_fine_detector/launch/traffic_light_fine_detector.launch.xml
- planning/autoware_diffusion_planner/launch/diffusion_planner.launch.xml
- sensing/autoware_calibration_status_classifier/launch/calibration_status_classifier.launch.xml Drive-by README and test fixes:
- e2e/autoware_tensorrt_vad/{README.md,docs/design.md}: also migrate the [$HOME/autoware_map/Town01]{.title-ref} examples to [$HOME/autoware_data/maps/Town01]{.title-ref}.
- localization/yabloc/{README.md,yabloc_pose_initializer/README.md}: also migrate [$HOME/autoware_map/sample-map-rosbag]{.title-ref} to [$HOME/autoware_data/maps/demos/sample-map-rosbag]{.title-ref}.
- control/autoware_smart_mpc_trajectory_follower/README.md: migrate the [map_path:=$HOME/autoware_map/sample-map-planning]{.title-ref} example to [$HOME/autoware_data/maps/demos/sample-map-planning]{.title-ref}.
- simulator/autoware_carla_interface/README.md: migrate every [$HOME/autoware_map/Town01/...]{.title-ref} reference to [$HOME/autoware_data/maps/Town01/...]{.title-ref}.
- perception/{autoware_bevfusion,autoware_image_projection_based_fusion,autoware_lidar_centerpoint,autoware_tensorrt_bevformer}/README.md: copy-paste examples updated to [~/autoware_data/ml_models/<pkg>]{.title-ref}.
- perception/autoware_camera_streampetr/config/ml_package_camera_streampetr.param.yaml: header comment updated.
- planning/autoware_diffusion_planner/README.md: prerequisites snippet updated.
- sensing/autoware_calibration_status_classifier/test/{test_model_inference,test_calibration_status_classifier}.cpp: hardcoded fallback ONNX path updated. Users on the legacy layout can pin the old root with [data_path:=$HOME/autoware_data]{.title-ref} (or the per-package equivalent) on the command line. Refs:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libopencv-dev |
Dependant Packages
Launch files
- launch/bevformer.launch.xml
-
- input/img_front_left [default: /nuscenes/CAM_FRONT_LEFT/image]
- input/img_front [default: /nuscenes/CAM_FRONT/image]
- input/img_front_right [default: /nuscenes/CAM_FRONT_RIGHT/image]
- input/img_back_left [default: /nuscenes/CAM_BACK_LEFT/image]
- input/img_back [default: /nuscenes/CAM_BACK/image]
- input/img_back_right [default: /nuscenes/CAM_BACK_RIGHT/image]
- input/can_bus [default: /nuscenes/can_bus]
- output_boxes [default: ~/output_boxes]
- output_bboxes [default: ~/output/debug/markers/bounding_boxes]
- input/img_front_left/camera_info [default: /nuscenes/CAM_FRONT_LEFT/camera_info]
- input/img_front/camera_info [default: /nuscenes/CAM_FRONT/camera_info]
- input/img_front_right/camera_info [default: /nuscenes/CAM_FRONT_RIGHT/camera_info]
- input/img_back_left/camera_info [default: /nuscenes/CAM_BACK_LEFT/camera_info]
- input/img_back/camera_info [default: /nuscenes/CAM_BACK/camera_info]
- input/img_back_right/camera_info [default: /nuscenes/CAM_BACK_RIGHT/camera_info]
- data_path [default: $(env HOME)/autoware_data/ml_models/tensorrt_bevformer]
- onnx_file [default: $(var data_path)/bevformer_small.onnx]
- engine_file [default: $(var data_path)/bevformer_small.engine]
- auto_convert [default: true]
- precision [default: fp16]
- debug_mode [default: false]
- workspace_size [default: 4096]
- model_name [default: bevformer_small]
- param_file [default: $(find-pkg-share autoware_tensorrt_bevformer)/config/bevformer.param.yaml]
- plugin_path [default: ]
Messages
Services
Plugins
Recent questions tagged autoware_tensorrt_bevformer at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Selventhiran Rengaraj
- Ramaseshan Subramanian
- Naveen Sathiyaseelan
- Dhinesh Panneerselvam
- Rahul Gandhi Sundar
- Kok Seang Tan
Authors
tensorrt_bevformer
Purpose
The core algorithm, named BEVFormer, unifies multi-view images into the BEV perspective for 3D object detection tasks with temporal fusion.
Inner-workings / Algorithms
Cite
- Zhicheng Wang, et al., “BEVFormer: Incorporating Transformers for Multi-Camera 3D Detection” [ref]
- This node is ported and adapted for Autoware from Multicoreware’s BEVFormer ROS2 C++ repository.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/topic_img_front_left |
sensor_msgs::msg::Image |
input front_left camera image |
~/input/topic_img_front |
sensor_msgs::msg::Image |
input front camera image |
~/input/topic_img_front_right |
sensor_msgs::msg::Image |
input front_right camera image |
~/input/topic_img_back_left |
sensor_msgs::msg::Image |
input back_left camera image |
~/input/topic_img_back |
sensor_msgs::msg::Image |
input back camera image |
~/input/topic_img_back_right |
sensor_msgs::msg::Image |
input back_right camera image |
~/input/topic_img_front_left/camera_info |
sensor_msgs::msg::CameraInfo |
input front_left camera parameters |
~/input/topic_img_front/camera_info |
sensor_msgs::msg::CameraInfo |
input front camera parameters |
~/input/topic_img_front_right/camera_info |
sensor_msgs::msg::CameraInfo |
input front_right camera parameters |
~/input/topic_img_back_left/camera_info |
sensor_msgs::msg::CameraInfo |
input back_left camera parameters |
~/input/topic_img_back/camera_info |
sensor_msgs::msg::CameraInfo |
input back camera parameters |
~/input/topic_img_back_right/camera_info |
sensor_msgs::msg::CameraInfo |
input back_right camera parameters |
~/input/can_bus |
autoware_localization_msgs::msg::KinematicState |
CAN bus data for ego-motion |
Outputs
| Name | Type | Description |
|---|---|---|
~/output_boxes |
autoware_perception_msgs::msg::DetectedObjects |
detected objects |
~/output_bboxes |
visualization_msgs::msg::MarkerArray |
detected objects for nuScenes visualization |
How to Use Tensorrt BEVFormer Node
Prerequisites
- TensorRT 10.8.0.43
- CUDA 12.4
Trained Model
Download the bevformer_small.onnx model to:
$HOME/autoware_data/ml_models/tensorrt_bevformer
Note: The BEVFormer model was trained on the nuScenes dataset for 24 epochs with temporal fusion enabled.
Test TensorRT BEVFormer Node with nuScenes
-
Integrate this package into your autoware_universe/perception directory.
-
To play ROS 2 bag of nuScenes data:
cd autoware/src
git clone -b feature/bevformer-integration https://github.com/naveen-mcw/ros2_dataset_bridge.git
cd ..
Note: The
feature/bevformer-integrationbranch provides required data for the BEVFormer.
Download nuScenes dataset and canbus data here.
Open and edit the launch file to set dataset paths/configs:
nano src/ros2_dataset_bridge/launch/nuscenes_launch.xml
Update as needed:
<arg name="NUSCENES_DIR" default="<nuScenes_dataset_path>"/>
<arg name="NUSCENES_CAN_BUS_DIR" default="<can_bus_path>"/>
<arg name="NUSCENES_VER" default="v1.0-trainval"/>
<arg name="UPDATE_FREQUENCY" default="10.0"/>
- Build the autoware_tensorrt_bevformer and ros2_dataset_bridge packages
# Build ros2_dataset_bridge
colcon build --packages-up-to ros2_dataset_bridge
# Build autoware_tensorrt_bevformer
colcon build --packages-up-to autoware_tensorrt_bevformer
File truncated at 100 lines see the full file
Changelog for package autoware_tensorrt_bevformer
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: default artifact paths to ~/autoware_data/ml_models (#12523) feat(launches,configs): default artifact paths to ~/autoware_data/ml_models Roll every per-package [data_path]{.title-ref} / [model_path]{.title-ref} launch-arg default from [$(env HOME)/autoware_data[/...]]{.title-ref} to [$(env HOME)/autoware_data/ml_models[/...]]{.title-ref} so standalone universe launches resolve artifacts under the new [~/autoware_data/ml_models/]{.title-ref} layout (autowarefoundation/autoware#7068). When invoked through autoware_launch the parent overrides cascade and already pin the new root (autowarefoundation/autoware_launch#1835); this commit closes the gap for users who launch a perception / localization / sensing / planning component directly with [ros2 launch <pkg>]{.title-ref}. 22 launch files updated (one-line default change each):
- e2e/autoware_tensorrt_vad/launch/vad_carla_tiny.launch.xml
- localization/yabloc/yabloc_pose_initializer/launch/yabloc_pose_initializer.launch.xml
- perception/autoware_bevfusion/launch/bevfusion.launch.xml
- perception/autoware_camera_streampetr/launch/streampetr.launch.xml
- perception/autoware_image_projection_based_fusion/launch/pointpainting_fusion.launch.xml
- perception/autoware_lidar_apollo_instance_segmentation/launch/lidar_apollo_instance_segmentation.launch.xml
- perception/autoware_lidar_centerpoint/launch/lidar_centerpoint.launch.xml
- perception/autoware_lidar_frnet/launch/lidar_frnet.launch.xml
- perception/autoware_lidar_transfusion/launch/lidar_transfusion.launch.xml
- perception/autoware_ptv3/launch/ptv3.launch.xml
- perception/autoware_shape_estimation/launch/shape_estimation.launch.xml
- perception/autoware_simpl_prediction/launch/simpl.launch.xml
- perception/autoware_tensorrt_bevdet/launch/tensorrt_bevdet.launch.xml
- perception/autoware_tensorrt_bevformer/launch/bevformer.launch.xml
- perception/autoware_tensorrt_yolox/launch/{yolox_traffic_light_detector,yolox_tiny,yolox_s_plus_opt}.launch.xml
- perception/autoware_traffic_light_classifier/launch/{car,pedestrian}_traffic_light_classifier.launch.xml
- perception/autoware_traffic_light_fine_detector/launch/traffic_light_fine_detector.launch.xml
- planning/autoware_diffusion_planner/launch/diffusion_planner.launch.xml
- sensing/autoware_calibration_status_classifier/launch/calibration_status_classifier.launch.xml Drive-by README and test fixes:
- e2e/autoware_tensorrt_vad/{README.md,docs/design.md}: also migrate the [$HOME/autoware_map/Town01]{.title-ref} examples to [$HOME/autoware_data/maps/Town01]{.title-ref}.
- localization/yabloc/{README.md,yabloc_pose_initializer/README.md}: also migrate [$HOME/autoware_map/sample-map-rosbag]{.title-ref} to [$HOME/autoware_data/maps/demos/sample-map-rosbag]{.title-ref}.
- control/autoware_smart_mpc_trajectory_follower/README.md: migrate the [map_path:=$HOME/autoware_map/sample-map-planning]{.title-ref} example to [$HOME/autoware_data/maps/demos/sample-map-planning]{.title-ref}.
- simulator/autoware_carla_interface/README.md: migrate every [$HOME/autoware_map/Town01/...]{.title-ref} reference to [$HOME/autoware_data/maps/Town01/...]{.title-ref}.
- perception/{autoware_bevfusion,autoware_image_projection_based_fusion,autoware_lidar_centerpoint,autoware_tensorrt_bevformer}/README.md: copy-paste examples updated to [~/autoware_data/ml_models/<pkg>]{.title-ref}.
- perception/autoware_camera_streampetr/config/ml_package_camera_streampetr.param.yaml: header comment updated.
- planning/autoware_diffusion_planner/README.md: prerequisites snippet updated.
- sensing/autoware_calibration_status_classifier/test/{test_model_inference,test_calibration_status_classifier}.cpp: hardcoded fallback ONNX path updated. Users on the legacy layout can pin the old root with [data_path:=$HOME/autoware_data]{.title-ref} (or the per-package equivalent) on the command line. Refs:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libopencv-dev |
Dependant Packages
Launch files
- launch/bevformer.launch.xml
-
- input/img_front_left [default: /nuscenes/CAM_FRONT_LEFT/image]
- input/img_front [default: /nuscenes/CAM_FRONT/image]
- input/img_front_right [default: /nuscenes/CAM_FRONT_RIGHT/image]
- input/img_back_left [default: /nuscenes/CAM_BACK_LEFT/image]
- input/img_back [default: /nuscenes/CAM_BACK/image]
- input/img_back_right [default: /nuscenes/CAM_BACK_RIGHT/image]
- input/can_bus [default: /nuscenes/can_bus]
- output_boxes [default: ~/output_boxes]
- output_bboxes [default: ~/output/debug/markers/bounding_boxes]
- input/img_front_left/camera_info [default: /nuscenes/CAM_FRONT_LEFT/camera_info]
- input/img_front/camera_info [default: /nuscenes/CAM_FRONT/camera_info]
- input/img_front_right/camera_info [default: /nuscenes/CAM_FRONT_RIGHT/camera_info]
- input/img_back_left/camera_info [default: /nuscenes/CAM_BACK_LEFT/camera_info]
- input/img_back/camera_info [default: /nuscenes/CAM_BACK/camera_info]
- input/img_back_right/camera_info [default: /nuscenes/CAM_BACK_RIGHT/camera_info]
- data_path [default: $(env HOME)/autoware_data/ml_models/tensorrt_bevformer]
- onnx_file [default: $(var data_path)/bevformer_small.onnx]
- engine_file [default: $(var data_path)/bevformer_small.engine]
- auto_convert [default: true]
- precision [default: fp16]
- debug_mode [default: false]
- workspace_size [default: 4096]
- model_name [default: bevformer_small]
- param_file [default: $(find-pkg-share autoware_tensorrt_bevformer)/config/bevformer.param.yaml]
- plugin_path [default: ]
Messages
Services
Plugins
Recent questions tagged autoware_tensorrt_bevformer at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Selventhiran Rengaraj
- Ramaseshan Subramanian
- Naveen Sathiyaseelan
- Dhinesh Panneerselvam
- Rahul Gandhi Sundar
- Kok Seang Tan
Authors
tensorrt_bevformer
Purpose
The core algorithm, named BEVFormer, unifies multi-view images into the BEV perspective for 3D object detection tasks with temporal fusion.
Inner-workings / Algorithms
Cite
- Zhicheng Wang, et al., “BEVFormer: Incorporating Transformers for Multi-Camera 3D Detection” [ref]
- This node is ported and adapted for Autoware from Multicoreware’s BEVFormer ROS2 C++ repository.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/topic_img_front_left |
sensor_msgs::msg::Image |
input front_left camera image |
~/input/topic_img_front |
sensor_msgs::msg::Image |
input front camera image |
~/input/topic_img_front_right |
sensor_msgs::msg::Image |
input front_right camera image |
~/input/topic_img_back_left |
sensor_msgs::msg::Image |
input back_left camera image |
~/input/topic_img_back |
sensor_msgs::msg::Image |
input back camera image |
~/input/topic_img_back_right |
sensor_msgs::msg::Image |
input back_right camera image |
~/input/topic_img_front_left/camera_info |
sensor_msgs::msg::CameraInfo |
input front_left camera parameters |
~/input/topic_img_front/camera_info |
sensor_msgs::msg::CameraInfo |
input front camera parameters |
~/input/topic_img_front_right/camera_info |
sensor_msgs::msg::CameraInfo |
input front_right camera parameters |
~/input/topic_img_back_left/camera_info |
sensor_msgs::msg::CameraInfo |
input back_left camera parameters |
~/input/topic_img_back/camera_info |
sensor_msgs::msg::CameraInfo |
input back camera parameters |
~/input/topic_img_back_right/camera_info |
sensor_msgs::msg::CameraInfo |
input back_right camera parameters |
~/input/can_bus |
autoware_localization_msgs::msg::KinematicState |
CAN bus data for ego-motion |
Outputs
| Name | Type | Description |
|---|---|---|
~/output_boxes |
autoware_perception_msgs::msg::DetectedObjects |
detected objects |
~/output_bboxes |
visualization_msgs::msg::MarkerArray |
detected objects for nuScenes visualization |
How to Use Tensorrt BEVFormer Node
Prerequisites
- TensorRT 10.8.0.43
- CUDA 12.4
Trained Model
Download the bevformer_small.onnx model to:
$HOME/autoware_data/ml_models/tensorrt_bevformer
Note: The BEVFormer model was trained on the nuScenes dataset for 24 epochs with temporal fusion enabled.
Test TensorRT BEVFormer Node with nuScenes
-
Integrate this package into your autoware_universe/perception directory.
-
To play ROS 2 bag of nuScenes data:
cd autoware/src
git clone -b feature/bevformer-integration https://github.com/naveen-mcw/ros2_dataset_bridge.git
cd ..
Note: The
feature/bevformer-integrationbranch provides required data for the BEVFormer.
Download nuScenes dataset and canbus data here.
Open and edit the launch file to set dataset paths/configs:
nano src/ros2_dataset_bridge/launch/nuscenes_launch.xml
Update as needed:
<arg name="NUSCENES_DIR" default="<nuScenes_dataset_path>"/>
<arg name="NUSCENES_CAN_BUS_DIR" default="<can_bus_path>"/>
<arg name="NUSCENES_VER" default="v1.0-trainval"/>
<arg name="UPDATE_FREQUENCY" default="10.0"/>
- Build the autoware_tensorrt_bevformer and ros2_dataset_bridge packages
# Build ros2_dataset_bridge
colcon build --packages-up-to ros2_dataset_bridge
# Build autoware_tensorrt_bevformer
colcon build --packages-up-to autoware_tensorrt_bevformer
File truncated at 100 lines see the full file
Changelog for package autoware_tensorrt_bevformer
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: default artifact paths to ~/autoware_data/ml_models (#12523) feat(launches,configs): default artifact paths to ~/autoware_data/ml_models Roll every per-package [data_path]{.title-ref} / [model_path]{.title-ref} launch-arg default from [$(env HOME)/autoware_data[/...]]{.title-ref} to [$(env HOME)/autoware_data/ml_models[/...]]{.title-ref} so standalone universe launches resolve artifacts under the new [~/autoware_data/ml_models/]{.title-ref} layout (autowarefoundation/autoware#7068). When invoked through autoware_launch the parent overrides cascade and already pin the new root (autowarefoundation/autoware_launch#1835); this commit closes the gap for users who launch a perception / localization / sensing / planning component directly with [ros2 launch <pkg>]{.title-ref}. 22 launch files updated (one-line default change each):
- e2e/autoware_tensorrt_vad/launch/vad_carla_tiny.launch.xml
- localization/yabloc/yabloc_pose_initializer/launch/yabloc_pose_initializer.launch.xml
- perception/autoware_bevfusion/launch/bevfusion.launch.xml
- perception/autoware_camera_streampetr/launch/streampetr.launch.xml
- perception/autoware_image_projection_based_fusion/launch/pointpainting_fusion.launch.xml
- perception/autoware_lidar_apollo_instance_segmentation/launch/lidar_apollo_instance_segmentation.launch.xml
- perception/autoware_lidar_centerpoint/launch/lidar_centerpoint.launch.xml
- perception/autoware_lidar_frnet/launch/lidar_frnet.launch.xml
- perception/autoware_lidar_transfusion/launch/lidar_transfusion.launch.xml
- perception/autoware_ptv3/launch/ptv3.launch.xml
- perception/autoware_shape_estimation/launch/shape_estimation.launch.xml
- perception/autoware_simpl_prediction/launch/simpl.launch.xml
- perception/autoware_tensorrt_bevdet/launch/tensorrt_bevdet.launch.xml
- perception/autoware_tensorrt_bevformer/launch/bevformer.launch.xml
- perception/autoware_tensorrt_yolox/launch/{yolox_traffic_light_detector,yolox_tiny,yolox_s_plus_opt}.launch.xml
- perception/autoware_traffic_light_classifier/launch/{car,pedestrian}_traffic_light_classifier.launch.xml
- perception/autoware_traffic_light_fine_detector/launch/traffic_light_fine_detector.launch.xml
- planning/autoware_diffusion_planner/launch/diffusion_planner.launch.xml
- sensing/autoware_calibration_status_classifier/launch/calibration_status_classifier.launch.xml Drive-by README and test fixes:
- e2e/autoware_tensorrt_vad/{README.md,docs/design.md}: also migrate the [$HOME/autoware_map/Town01]{.title-ref} examples to [$HOME/autoware_data/maps/Town01]{.title-ref}.
- localization/yabloc/{README.md,yabloc_pose_initializer/README.md}: also migrate [$HOME/autoware_map/sample-map-rosbag]{.title-ref} to [$HOME/autoware_data/maps/demos/sample-map-rosbag]{.title-ref}.
- control/autoware_smart_mpc_trajectory_follower/README.md: migrate the [map_path:=$HOME/autoware_map/sample-map-planning]{.title-ref} example to [$HOME/autoware_data/maps/demos/sample-map-planning]{.title-ref}.
- simulator/autoware_carla_interface/README.md: migrate every [$HOME/autoware_map/Town01/...]{.title-ref} reference to [$HOME/autoware_data/maps/Town01/...]{.title-ref}.
- perception/{autoware_bevfusion,autoware_image_projection_based_fusion,autoware_lidar_centerpoint,autoware_tensorrt_bevformer}/README.md: copy-paste examples updated to [~/autoware_data/ml_models/<pkg>]{.title-ref}.
- perception/autoware_camera_streampetr/config/ml_package_camera_streampetr.param.yaml: header comment updated.
- planning/autoware_diffusion_planner/README.md: prerequisites snippet updated.
- sensing/autoware_calibration_status_classifier/test/{test_model_inference,test_calibration_status_classifier}.cpp: hardcoded fallback ONNX path updated. Users on the legacy layout can pin the old root with [data_path:=$HOME/autoware_data]{.title-ref} (or the per-package equivalent) on the command line. Refs:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libopencv-dev |
Dependant Packages
Launch files
- launch/bevformer.launch.xml
-
- input/img_front_left [default: /nuscenes/CAM_FRONT_LEFT/image]
- input/img_front [default: /nuscenes/CAM_FRONT/image]
- input/img_front_right [default: /nuscenes/CAM_FRONT_RIGHT/image]
- input/img_back_left [default: /nuscenes/CAM_BACK_LEFT/image]
- input/img_back [default: /nuscenes/CAM_BACK/image]
- input/img_back_right [default: /nuscenes/CAM_BACK_RIGHT/image]
- input/can_bus [default: /nuscenes/can_bus]
- output_boxes [default: ~/output_boxes]
- output_bboxes [default: ~/output/debug/markers/bounding_boxes]
- input/img_front_left/camera_info [default: /nuscenes/CAM_FRONT_LEFT/camera_info]
- input/img_front/camera_info [default: /nuscenes/CAM_FRONT/camera_info]
- input/img_front_right/camera_info [default: /nuscenes/CAM_FRONT_RIGHT/camera_info]
- input/img_back_left/camera_info [default: /nuscenes/CAM_BACK_LEFT/camera_info]
- input/img_back/camera_info [default: /nuscenes/CAM_BACK/camera_info]
- input/img_back_right/camera_info [default: /nuscenes/CAM_BACK_RIGHT/camera_info]
- data_path [default: $(env HOME)/autoware_data/ml_models/tensorrt_bevformer]
- onnx_file [default: $(var data_path)/bevformer_small.onnx]
- engine_file [default: $(var data_path)/bevformer_small.engine]
- auto_convert [default: true]
- precision [default: fp16]
- debug_mode [default: false]
- workspace_size [default: 4096]
- model_name [default: bevformer_small]
- param_file [default: $(find-pkg-share autoware_tensorrt_bevformer)/config/bevformer.param.yaml]
- plugin_path [default: ]
Messages
Services
Plugins
Recent questions tagged autoware_tensorrt_bevformer at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Selventhiran Rengaraj
- Ramaseshan Subramanian
- Naveen Sathiyaseelan
- Dhinesh Panneerselvam
- Rahul Gandhi Sundar
- Kok Seang Tan
Authors
tensorrt_bevformer
Purpose
The core algorithm, named BEVFormer, unifies multi-view images into the BEV perspective for 3D object detection tasks with temporal fusion.
Inner-workings / Algorithms
Cite
- Zhicheng Wang, et al., “BEVFormer: Incorporating Transformers for Multi-Camera 3D Detection” [ref]
- This node is ported and adapted for Autoware from Multicoreware’s BEVFormer ROS2 C++ repository.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/topic_img_front_left |
sensor_msgs::msg::Image |
input front_left camera image |
~/input/topic_img_front |
sensor_msgs::msg::Image |
input front camera image |
~/input/topic_img_front_right |
sensor_msgs::msg::Image |
input front_right camera image |
~/input/topic_img_back_left |
sensor_msgs::msg::Image |
input back_left camera image |
~/input/topic_img_back |
sensor_msgs::msg::Image |
input back camera image |
~/input/topic_img_back_right |
sensor_msgs::msg::Image |
input back_right camera image |
~/input/topic_img_front_left/camera_info |
sensor_msgs::msg::CameraInfo |
input front_left camera parameters |
~/input/topic_img_front/camera_info |
sensor_msgs::msg::CameraInfo |
input front camera parameters |
~/input/topic_img_front_right/camera_info |
sensor_msgs::msg::CameraInfo |
input front_right camera parameters |
~/input/topic_img_back_left/camera_info |
sensor_msgs::msg::CameraInfo |
input back_left camera parameters |
~/input/topic_img_back/camera_info |
sensor_msgs::msg::CameraInfo |
input back camera parameters |
~/input/topic_img_back_right/camera_info |
sensor_msgs::msg::CameraInfo |
input back_right camera parameters |
~/input/can_bus |
autoware_localization_msgs::msg::KinematicState |
CAN bus data for ego-motion |
Outputs
| Name | Type | Description |
|---|---|---|
~/output_boxes |
autoware_perception_msgs::msg::DetectedObjects |
detected objects |
~/output_bboxes |
visualization_msgs::msg::MarkerArray |
detected objects for nuScenes visualization |
How to Use Tensorrt BEVFormer Node
Prerequisites
- TensorRT 10.8.0.43
- CUDA 12.4
Trained Model
Download the bevformer_small.onnx model to:
$HOME/autoware_data/ml_models/tensorrt_bevformer
Note: The BEVFormer model was trained on the nuScenes dataset for 24 epochs with temporal fusion enabled.
Test TensorRT BEVFormer Node with nuScenes
-
Integrate this package into your autoware_universe/perception directory.
-
To play ROS 2 bag of nuScenes data:
cd autoware/src
git clone -b feature/bevformer-integration https://github.com/naveen-mcw/ros2_dataset_bridge.git
cd ..
Note: The
feature/bevformer-integrationbranch provides required data for the BEVFormer.
Download nuScenes dataset and canbus data here.
Open and edit the launch file to set dataset paths/configs:
nano src/ros2_dataset_bridge/launch/nuscenes_launch.xml
Update as needed:
<arg name="NUSCENES_DIR" default="<nuScenes_dataset_path>"/>
<arg name="NUSCENES_CAN_BUS_DIR" default="<can_bus_path>"/>
<arg name="NUSCENES_VER" default="v1.0-trainval"/>
<arg name="UPDATE_FREQUENCY" default="10.0"/>
- Build the autoware_tensorrt_bevformer and ros2_dataset_bridge packages
# Build ros2_dataset_bridge
colcon build --packages-up-to ros2_dataset_bridge
# Build autoware_tensorrt_bevformer
colcon build --packages-up-to autoware_tensorrt_bevformer
File truncated at 100 lines see the full file
Changelog for package autoware_tensorrt_bevformer
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: default artifact paths to ~/autoware_data/ml_models (#12523) feat(launches,configs): default artifact paths to ~/autoware_data/ml_models Roll every per-package [data_path]{.title-ref} / [model_path]{.title-ref} launch-arg default from [$(env HOME)/autoware_data[/...]]{.title-ref} to [$(env HOME)/autoware_data/ml_models[/...]]{.title-ref} so standalone universe launches resolve artifacts under the new [~/autoware_data/ml_models/]{.title-ref} layout (autowarefoundation/autoware#7068). When invoked through autoware_launch the parent overrides cascade and already pin the new root (autowarefoundation/autoware_launch#1835); this commit closes the gap for users who launch a perception / localization / sensing / planning component directly with [ros2 launch <pkg>]{.title-ref}. 22 launch files updated (one-line default change each):
- e2e/autoware_tensorrt_vad/launch/vad_carla_tiny.launch.xml
- localization/yabloc/yabloc_pose_initializer/launch/yabloc_pose_initializer.launch.xml
- perception/autoware_bevfusion/launch/bevfusion.launch.xml
- perception/autoware_camera_streampetr/launch/streampetr.launch.xml
- perception/autoware_image_projection_based_fusion/launch/pointpainting_fusion.launch.xml
- perception/autoware_lidar_apollo_instance_segmentation/launch/lidar_apollo_instance_segmentation.launch.xml
- perception/autoware_lidar_centerpoint/launch/lidar_centerpoint.launch.xml
- perception/autoware_lidar_frnet/launch/lidar_frnet.launch.xml
- perception/autoware_lidar_transfusion/launch/lidar_transfusion.launch.xml
- perception/autoware_ptv3/launch/ptv3.launch.xml
- perception/autoware_shape_estimation/launch/shape_estimation.launch.xml
- perception/autoware_simpl_prediction/launch/simpl.launch.xml
- perception/autoware_tensorrt_bevdet/launch/tensorrt_bevdet.launch.xml
- perception/autoware_tensorrt_bevformer/launch/bevformer.launch.xml
- perception/autoware_tensorrt_yolox/launch/{yolox_traffic_light_detector,yolox_tiny,yolox_s_plus_opt}.launch.xml
- perception/autoware_traffic_light_classifier/launch/{car,pedestrian}_traffic_light_classifier.launch.xml
- perception/autoware_traffic_light_fine_detector/launch/traffic_light_fine_detector.launch.xml
- planning/autoware_diffusion_planner/launch/diffusion_planner.launch.xml
- sensing/autoware_calibration_status_classifier/launch/calibration_status_classifier.launch.xml Drive-by README and test fixes:
- e2e/autoware_tensorrt_vad/{README.md,docs/design.md}: also migrate the [$HOME/autoware_map/Town01]{.title-ref} examples to [$HOME/autoware_data/maps/Town01]{.title-ref}.
- localization/yabloc/{README.md,yabloc_pose_initializer/README.md}: also migrate [$HOME/autoware_map/sample-map-rosbag]{.title-ref} to [$HOME/autoware_data/maps/demos/sample-map-rosbag]{.title-ref}.
- control/autoware_smart_mpc_trajectory_follower/README.md: migrate the [map_path:=$HOME/autoware_map/sample-map-planning]{.title-ref} example to [$HOME/autoware_data/maps/demos/sample-map-planning]{.title-ref}.
- simulator/autoware_carla_interface/README.md: migrate every [$HOME/autoware_map/Town01/...]{.title-ref} reference to [$HOME/autoware_data/maps/Town01/...]{.title-ref}.
- perception/{autoware_bevfusion,autoware_image_projection_based_fusion,autoware_lidar_centerpoint,autoware_tensorrt_bevformer}/README.md: copy-paste examples updated to [~/autoware_data/ml_models/<pkg>]{.title-ref}.
- perception/autoware_camera_streampetr/config/ml_package_camera_streampetr.param.yaml: header comment updated.
- planning/autoware_diffusion_planner/README.md: prerequisites snippet updated.
- sensing/autoware_calibration_status_classifier/test/{test_model_inference,test_calibration_status_classifier}.cpp: hardcoded fallback ONNX path updated. Users on the legacy layout can pin the old root with [data_path:=$HOME/autoware_data]{.title-ref} (or the per-package equivalent) on the command line. Refs:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libopencv-dev |
Dependant Packages
Launch files
- launch/bevformer.launch.xml
-
- input/img_front_left [default: /nuscenes/CAM_FRONT_LEFT/image]
- input/img_front [default: /nuscenes/CAM_FRONT/image]
- input/img_front_right [default: /nuscenes/CAM_FRONT_RIGHT/image]
- input/img_back_left [default: /nuscenes/CAM_BACK_LEFT/image]
- input/img_back [default: /nuscenes/CAM_BACK/image]
- input/img_back_right [default: /nuscenes/CAM_BACK_RIGHT/image]
- input/can_bus [default: /nuscenes/can_bus]
- output_boxes [default: ~/output_boxes]
- output_bboxes [default: ~/output/debug/markers/bounding_boxes]
- input/img_front_left/camera_info [default: /nuscenes/CAM_FRONT_LEFT/camera_info]
- input/img_front/camera_info [default: /nuscenes/CAM_FRONT/camera_info]
- input/img_front_right/camera_info [default: /nuscenes/CAM_FRONT_RIGHT/camera_info]
- input/img_back_left/camera_info [default: /nuscenes/CAM_BACK_LEFT/camera_info]
- input/img_back/camera_info [default: /nuscenes/CAM_BACK/camera_info]
- input/img_back_right/camera_info [default: /nuscenes/CAM_BACK_RIGHT/camera_info]
- data_path [default: $(env HOME)/autoware_data/ml_models/tensorrt_bevformer]
- onnx_file [default: $(var data_path)/bevformer_small.onnx]
- engine_file [default: $(var data_path)/bevformer_small.engine]
- auto_convert [default: true]
- precision [default: fp16]
- debug_mode [default: false]
- workspace_size [default: 4096]
- model_name [default: bevformer_small]
- param_file [default: $(find-pkg-share autoware_tensorrt_bevformer)/config/bevformer.param.yaml]
- plugin_path [default: ]
Messages
Services
Plugins
Recent questions tagged autoware_tensorrt_bevformer at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Selventhiran Rengaraj
- Ramaseshan Subramanian
- Naveen Sathiyaseelan
- Dhinesh Panneerselvam
- Rahul Gandhi Sundar
- Kok Seang Tan
Authors
tensorrt_bevformer
Purpose
The core algorithm, named BEVFormer, unifies multi-view images into the BEV perspective for 3D object detection tasks with temporal fusion.
Inner-workings / Algorithms
Cite
- Zhicheng Wang, et al., “BEVFormer: Incorporating Transformers for Multi-Camera 3D Detection” [ref]
- This node is ported and adapted for Autoware from Multicoreware’s BEVFormer ROS2 C++ repository.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/topic_img_front_left |
sensor_msgs::msg::Image |
input front_left camera image |
~/input/topic_img_front |
sensor_msgs::msg::Image |
input front camera image |
~/input/topic_img_front_right |
sensor_msgs::msg::Image |
input front_right camera image |
~/input/topic_img_back_left |
sensor_msgs::msg::Image |
input back_left camera image |
~/input/topic_img_back |
sensor_msgs::msg::Image |
input back camera image |
~/input/topic_img_back_right |
sensor_msgs::msg::Image |
input back_right camera image |
~/input/topic_img_front_left/camera_info |
sensor_msgs::msg::CameraInfo |
input front_left camera parameters |
~/input/topic_img_front/camera_info |
sensor_msgs::msg::CameraInfo |
input front camera parameters |
~/input/topic_img_front_right/camera_info |
sensor_msgs::msg::CameraInfo |
input front_right camera parameters |
~/input/topic_img_back_left/camera_info |
sensor_msgs::msg::CameraInfo |
input back_left camera parameters |
~/input/topic_img_back/camera_info |
sensor_msgs::msg::CameraInfo |
input back camera parameters |
~/input/topic_img_back_right/camera_info |
sensor_msgs::msg::CameraInfo |
input back_right camera parameters |
~/input/can_bus |
autoware_localization_msgs::msg::KinematicState |
CAN bus data for ego-motion |
Outputs
| Name | Type | Description |
|---|---|---|
~/output_boxes |
autoware_perception_msgs::msg::DetectedObjects |
detected objects |
~/output_bboxes |
visualization_msgs::msg::MarkerArray |
detected objects for nuScenes visualization |
How to Use Tensorrt BEVFormer Node
Prerequisites
- TensorRT 10.8.0.43
- CUDA 12.4
Trained Model
Download the bevformer_small.onnx model to:
$HOME/autoware_data/ml_models/tensorrt_bevformer
Note: The BEVFormer model was trained on the nuScenes dataset for 24 epochs with temporal fusion enabled.
Test TensorRT BEVFormer Node with nuScenes
-
Integrate this package into your autoware_universe/perception directory.
-
To play ROS 2 bag of nuScenes data:
cd autoware/src
git clone -b feature/bevformer-integration https://github.com/naveen-mcw/ros2_dataset_bridge.git
cd ..
Note: The
feature/bevformer-integrationbranch provides required data for the BEVFormer.
Download nuScenes dataset and canbus data here.
Open and edit the launch file to set dataset paths/configs:
nano src/ros2_dataset_bridge/launch/nuscenes_launch.xml
Update as needed:
<arg name="NUSCENES_DIR" default="<nuScenes_dataset_path>"/>
<arg name="NUSCENES_CAN_BUS_DIR" default="<can_bus_path>"/>
<arg name="NUSCENES_VER" default="v1.0-trainval"/>
<arg name="UPDATE_FREQUENCY" default="10.0"/>
- Build the autoware_tensorrt_bevformer and ros2_dataset_bridge packages
# Build ros2_dataset_bridge
colcon build --packages-up-to ros2_dataset_bridge
# Build autoware_tensorrt_bevformer
colcon build --packages-up-to autoware_tensorrt_bevformer
File truncated at 100 lines see the full file
Changelog for package autoware_tensorrt_bevformer
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: default artifact paths to ~/autoware_data/ml_models (#12523) feat(launches,configs): default artifact paths to ~/autoware_data/ml_models Roll every per-package [data_path]{.title-ref} / [model_path]{.title-ref} launch-arg default from [$(env HOME)/autoware_data[/...]]{.title-ref} to [$(env HOME)/autoware_data/ml_models[/...]]{.title-ref} so standalone universe launches resolve artifacts under the new [~/autoware_data/ml_models/]{.title-ref} layout (autowarefoundation/autoware#7068). When invoked through autoware_launch the parent overrides cascade and already pin the new root (autowarefoundation/autoware_launch#1835); this commit closes the gap for users who launch a perception / localization / sensing / planning component directly with [ros2 launch <pkg>]{.title-ref}. 22 launch files updated (one-line default change each):
- e2e/autoware_tensorrt_vad/launch/vad_carla_tiny.launch.xml
- localization/yabloc/yabloc_pose_initializer/launch/yabloc_pose_initializer.launch.xml
- perception/autoware_bevfusion/launch/bevfusion.launch.xml
- perception/autoware_camera_streampetr/launch/streampetr.launch.xml
- perception/autoware_image_projection_based_fusion/launch/pointpainting_fusion.launch.xml
- perception/autoware_lidar_apollo_instance_segmentation/launch/lidar_apollo_instance_segmentation.launch.xml
- perception/autoware_lidar_centerpoint/launch/lidar_centerpoint.launch.xml
- perception/autoware_lidar_frnet/launch/lidar_frnet.launch.xml
- perception/autoware_lidar_transfusion/launch/lidar_transfusion.launch.xml
- perception/autoware_ptv3/launch/ptv3.launch.xml
- perception/autoware_shape_estimation/launch/shape_estimation.launch.xml
- perception/autoware_simpl_prediction/launch/simpl.launch.xml
- perception/autoware_tensorrt_bevdet/launch/tensorrt_bevdet.launch.xml
- perception/autoware_tensorrt_bevformer/launch/bevformer.launch.xml
- perception/autoware_tensorrt_yolox/launch/{yolox_traffic_light_detector,yolox_tiny,yolox_s_plus_opt}.launch.xml
- perception/autoware_traffic_light_classifier/launch/{car,pedestrian}_traffic_light_classifier.launch.xml
- perception/autoware_traffic_light_fine_detector/launch/traffic_light_fine_detector.launch.xml
- planning/autoware_diffusion_planner/launch/diffusion_planner.launch.xml
- sensing/autoware_calibration_status_classifier/launch/calibration_status_classifier.launch.xml Drive-by README and test fixes:
- e2e/autoware_tensorrt_vad/{README.md,docs/design.md}: also migrate the [$HOME/autoware_map/Town01]{.title-ref} examples to [$HOME/autoware_data/maps/Town01]{.title-ref}.
- localization/yabloc/{README.md,yabloc_pose_initializer/README.md}: also migrate [$HOME/autoware_map/sample-map-rosbag]{.title-ref} to [$HOME/autoware_data/maps/demos/sample-map-rosbag]{.title-ref}.
- control/autoware_smart_mpc_trajectory_follower/README.md: migrate the [map_path:=$HOME/autoware_map/sample-map-planning]{.title-ref} example to [$HOME/autoware_data/maps/demos/sample-map-planning]{.title-ref}.
- simulator/autoware_carla_interface/README.md: migrate every [$HOME/autoware_map/Town01/...]{.title-ref} reference to [$HOME/autoware_data/maps/Town01/...]{.title-ref}.
- perception/{autoware_bevfusion,autoware_image_projection_based_fusion,autoware_lidar_centerpoint,autoware_tensorrt_bevformer}/README.md: copy-paste examples updated to [~/autoware_data/ml_models/<pkg>]{.title-ref}.
- perception/autoware_camera_streampetr/config/ml_package_camera_streampetr.param.yaml: header comment updated.
- planning/autoware_diffusion_planner/README.md: prerequisites snippet updated.
- sensing/autoware_calibration_status_classifier/test/{test_model_inference,test_calibration_status_classifier}.cpp: hardcoded fallback ONNX path updated. Users on the legacy layout can pin the old root with [data_path:=$HOME/autoware_data]{.title-ref} (or the per-package equivalent) on the command line. Refs:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libopencv-dev |
Dependant Packages
Launch files
- launch/bevformer.launch.xml
-
- input/img_front_left [default: /nuscenes/CAM_FRONT_LEFT/image]
- input/img_front [default: /nuscenes/CAM_FRONT/image]
- input/img_front_right [default: /nuscenes/CAM_FRONT_RIGHT/image]
- input/img_back_left [default: /nuscenes/CAM_BACK_LEFT/image]
- input/img_back [default: /nuscenes/CAM_BACK/image]
- input/img_back_right [default: /nuscenes/CAM_BACK_RIGHT/image]
- input/can_bus [default: /nuscenes/can_bus]
- output_boxes [default: ~/output_boxes]
- output_bboxes [default: ~/output/debug/markers/bounding_boxes]
- input/img_front_left/camera_info [default: /nuscenes/CAM_FRONT_LEFT/camera_info]
- input/img_front/camera_info [default: /nuscenes/CAM_FRONT/camera_info]
- input/img_front_right/camera_info [default: /nuscenes/CAM_FRONT_RIGHT/camera_info]
- input/img_back_left/camera_info [default: /nuscenes/CAM_BACK_LEFT/camera_info]
- input/img_back/camera_info [default: /nuscenes/CAM_BACK/camera_info]
- input/img_back_right/camera_info [default: /nuscenes/CAM_BACK_RIGHT/camera_info]
- data_path [default: $(env HOME)/autoware_data/ml_models/tensorrt_bevformer]
- onnx_file [default: $(var data_path)/bevformer_small.onnx]
- engine_file [default: $(var data_path)/bevformer_small.engine]
- auto_convert [default: true]
- precision [default: fp16]
- debug_mode [default: false]
- workspace_size [default: 4096]
- model_name [default: bevformer_small]
- param_file [default: $(find-pkg-share autoware_tensorrt_bevformer)/config/bevformer.param.yaml]
- plugin_path [default: ]
Messages
Services
Plugins
Recent questions tagged autoware_tensorrt_bevformer at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Selventhiran Rengaraj
- Ramaseshan Subramanian
- Naveen Sathiyaseelan
- Dhinesh Panneerselvam
- Rahul Gandhi Sundar
- Kok Seang Tan
Authors
tensorrt_bevformer
Purpose
The core algorithm, named BEVFormer, unifies multi-view images into the BEV perspective for 3D object detection tasks with temporal fusion.
Inner-workings / Algorithms
Cite
- Zhicheng Wang, et al., “BEVFormer: Incorporating Transformers for Multi-Camera 3D Detection” [ref]
- This node is ported and adapted for Autoware from Multicoreware’s BEVFormer ROS2 C++ repository.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/topic_img_front_left |
sensor_msgs::msg::Image |
input front_left camera image |
~/input/topic_img_front |
sensor_msgs::msg::Image |
input front camera image |
~/input/topic_img_front_right |
sensor_msgs::msg::Image |
input front_right camera image |
~/input/topic_img_back_left |
sensor_msgs::msg::Image |
input back_left camera image |
~/input/topic_img_back |
sensor_msgs::msg::Image |
input back camera image |
~/input/topic_img_back_right |
sensor_msgs::msg::Image |
input back_right camera image |
~/input/topic_img_front_left/camera_info |
sensor_msgs::msg::CameraInfo |
input front_left camera parameters |
~/input/topic_img_front/camera_info |
sensor_msgs::msg::CameraInfo |
input front camera parameters |
~/input/topic_img_front_right/camera_info |
sensor_msgs::msg::CameraInfo |
input front_right camera parameters |
~/input/topic_img_back_left/camera_info |
sensor_msgs::msg::CameraInfo |
input back_left camera parameters |
~/input/topic_img_back/camera_info |
sensor_msgs::msg::CameraInfo |
input back camera parameters |
~/input/topic_img_back_right/camera_info |
sensor_msgs::msg::CameraInfo |
input back_right camera parameters |
~/input/can_bus |
autoware_localization_msgs::msg::KinematicState |
CAN bus data for ego-motion |
Outputs
| Name | Type | Description |
|---|---|---|
~/output_boxes |
autoware_perception_msgs::msg::DetectedObjects |
detected objects |
~/output_bboxes |
visualization_msgs::msg::MarkerArray |
detected objects for nuScenes visualization |
How to Use Tensorrt BEVFormer Node
Prerequisites
- TensorRT 10.8.0.43
- CUDA 12.4
Trained Model
Download the bevformer_small.onnx model to:
$HOME/autoware_data/ml_models/tensorrt_bevformer
Note: The BEVFormer model was trained on the nuScenes dataset for 24 epochs with temporal fusion enabled.
Test TensorRT BEVFormer Node with nuScenes
-
Integrate this package into your autoware_universe/perception directory.
-
To play ROS 2 bag of nuScenes data:
cd autoware/src
git clone -b feature/bevformer-integration https://github.com/naveen-mcw/ros2_dataset_bridge.git
cd ..
Note: The
feature/bevformer-integrationbranch provides required data for the BEVFormer.
Download nuScenes dataset and canbus data here.
Open and edit the launch file to set dataset paths/configs:
nano src/ros2_dataset_bridge/launch/nuscenes_launch.xml
Update as needed:
<arg name="NUSCENES_DIR" default="<nuScenes_dataset_path>"/>
<arg name="NUSCENES_CAN_BUS_DIR" default="<can_bus_path>"/>
<arg name="NUSCENES_VER" default="v1.0-trainval"/>
<arg name="UPDATE_FREQUENCY" default="10.0"/>
- Build the autoware_tensorrt_bevformer and ros2_dataset_bridge packages
# Build ros2_dataset_bridge
colcon build --packages-up-to ros2_dataset_bridge
# Build autoware_tensorrt_bevformer
colcon build --packages-up-to autoware_tensorrt_bevformer
File truncated at 100 lines see the full file
Changelog for package autoware_tensorrt_bevformer
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: default artifact paths to ~/autoware_data/ml_models (#12523) feat(launches,configs): default artifact paths to ~/autoware_data/ml_models Roll every per-package [data_path]{.title-ref} / [model_path]{.title-ref} launch-arg default from [$(env HOME)/autoware_data[/...]]{.title-ref} to [$(env HOME)/autoware_data/ml_models[/...]]{.title-ref} so standalone universe launches resolve artifacts under the new [~/autoware_data/ml_models/]{.title-ref} layout (autowarefoundation/autoware#7068). When invoked through autoware_launch the parent overrides cascade and already pin the new root (autowarefoundation/autoware_launch#1835); this commit closes the gap for users who launch a perception / localization / sensing / planning component directly with [ros2 launch <pkg>]{.title-ref}. 22 launch files updated (one-line default change each):
- e2e/autoware_tensorrt_vad/launch/vad_carla_tiny.launch.xml
- localization/yabloc/yabloc_pose_initializer/launch/yabloc_pose_initializer.launch.xml
- perception/autoware_bevfusion/launch/bevfusion.launch.xml
- perception/autoware_camera_streampetr/launch/streampetr.launch.xml
- perception/autoware_image_projection_based_fusion/launch/pointpainting_fusion.launch.xml
- perception/autoware_lidar_apollo_instance_segmentation/launch/lidar_apollo_instance_segmentation.launch.xml
- perception/autoware_lidar_centerpoint/launch/lidar_centerpoint.launch.xml
- perception/autoware_lidar_frnet/launch/lidar_frnet.launch.xml
- perception/autoware_lidar_transfusion/launch/lidar_transfusion.launch.xml
- perception/autoware_ptv3/launch/ptv3.launch.xml
- perception/autoware_shape_estimation/launch/shape_estimation.launch.xml
- perception/autoware_simpl_prediction/launch/simpl.launch.xml
- perception/autoware_tensorrt_bevdet/launch/tensorrt_bevdet.launch.xml
- perception/autoware_tensorrt_bevformer/launch/bevformer.launch.xml
- perception/autoware_tensorrt_yolox/launch/{yolox_traffic_light_detector,yolox_tiny,yolox_s_plus_opt}.launch.xml
- perception/autoware_traffic_light_classifier/launch/{car,pedestrian}_traffic_light_classifier.launch.xml
- perception/autoware_traffic_light_fine_detector/launch/traffic_light_fine_detector.launch.xml
- planning/autoware_diffusion_planner/launch/diffusion_planner.launch.xml
- sensing/autoware_calibration_status_classifier/launch/calibration_status_classifier.launch.xml Drive-by README and test fixes:
- e2e/autoware_tensorrt_vad/{README.md,docs/design.md}: also migrate the [$HOME/autoware_map/Town01]{.title-ref} examples to [$HOME/autoware_data/maps/Town01]{.title-ref}.
- localization/yabloc/{README.md,yabloc_pose_initializer/README.md}: also migrate [$HOME/autoware_map/sample-map-rosbag]{.title-ref} to [$HOME/autoware_data/maps/demos/sample-map-rosbag]{.title-ref}.
- control/autoware_smart_mpc_trajectory_follower/README.md: migrate the [map_path:=$HOME/autoware_map/sample-map-planning]{.title-ref} example to [$HOME/autoware_data/maps/demos/sample-map-planning]{.title-ref}.
- simulator/autoware_carla_interface/README.md: migrate every [$HOME/autoware_map/Town01/...]{.title-ref} reference to [$HOME/autoware_data/maps/Town01/...]{.title-ref}.
- perception/{autoware_bevfusion,autoware_image_projection_based_fusion,autoware_lidar_centerpoint,autoware_tensorrt_bevformer}/README.md: copy-paste examples updated to [~/autoware_data/ml_models/<pkg>]{.title-ref}.
- perception/autoware_camera_streampetr/config/ml_package_camera_streampetr.param.yaml: header comment updated.
- planning/autoware_diffusion_planner/README.md: prerequisites snippet updated.
- sensing/autoware_calibration_status_classifier/test/{test_model_inference,test_calibration_status_classifier}.cpp: hardcoded fallback ONNX path updated. Users on the legacy layout can pin the old root with [data_path:=$HOME/autoware_data]{.title-ref} (or the per-package equivalent) on the command line. Refs:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libopencv-dev |
Dependant Packages
Launch files
- launch/bevformer.launch.xml
-
- input/img_front_left [default: /nuscenes/CAM_FRONT_LEFT/image]
- input/img_front [default: /nuscenes/CAM_FRONT/image]
- input/img_front_right [default: /nuscenes/CAM_FRONT_RIGHT/image]
- input/img_back_left [default: /nuscenes/CAM_BACK_LEFT/image]
- input/img_back [default: /nuscenes/CAM_BACK/image]
- input/img_back_right [default: /nuscenes/CAM_BACK_RIGHT/image]
- input/can_bus [default: /nuscenes/can_bus]
- output_boxes [default: ~/output_boxes]
- output_bboxes [default: ~/output/debug/markers/bounding_boxes]
- input/img_front_left/camera_info [default: /nuscenes/CAM_FRONT_LEFT/camera_info]
- input/img_front/camera_info [default: /nuscenes/CAM_FRONT/camera_info]
- input/img_front_right/camera_info [default: /nuscenes/CAM_FRONT_RIGHT/camera_info]
- input/img_back_left/camera_info [default: /nuscenes/CAM_BACK_LEFT/camera_info]
- input/img_back/camera_info [default: /nuscenes/CAM_BACK/camera_info]
- input/img_back_right/camera_info [default: /nuscenes/CAM_BACK_RIGHT/camera_info]
- data_path [default: $(env HOME)/autoware_data/ml_models/tensorrt_bevformer]
- onnx_file [default: $(var data_path)/bevformer_small.onnx]
- engine_file [default: $(var data_path)/bevformer_small.engine]
- auto_convert [default: true]
- precision [default: fp16]
- debug_mode [default: false]
- workspace_size [default: 4096]
- model_name [default: bevformer_small]
- param_file [default: $(find-pkg-share autoware_tensorrt_bevformer)/config/bevformer.param.yaml]
- plugin_path [default: ]
Messages
Services
Plugins
Recent questions tagged autoware_tensorrt_bevformer at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-27 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Selventhiran Rengaraj
- Ramaseshan Subramanian
- Naveen Sathiyaseelan
- Dhinesh Panneerselvam
- Rahul Gandhi Sundar
- Kok Seang Tan
Authors
tensorrt_bevformer
Purpose
The core algorithm, named BEVFormer, unifies multi-view images into the BEV perspective for 3D object detection tasks with temporal fusion.
Inner-workings / Algorithms
Cite
- Zhicheng Wang, et al., “BEVFormer: Incorporating Transformers for Multi-Camera 3D Detection” [ref]
- This node is ported and adapted for Autoware from Multicoreware’s BEVFormer ROS2 C++ repository.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/topic_img_front_left |
sensor_msgs::msg::Image |
input front_left camera image |
~/input/topic_img_front |
sensor_msgs::msg::Image |
input front camera image |
~/input/topic_img_front_right |
sensor_msgs::msg::Image |
input front_right camera image |
~/input/topic_img_back_left |
sensor_msgs::msg::Image |
input back_left camera image |
~/input/topic_img_back |
sensor_msgs::msg::Image |
input back camera image |
~/input/topic_img_back_right |
sensor_msgs::msg::Image |
input back_right camera image |
~/input/topic_img_front_left/camera_info |
sensor_msgs::msg::CameraInfo |
input front_left camera parameters |
~/input/topic_img_front/camera_info |
sensor_msgs::msg::CameraInfo |
input front camera parameters |
~/input/topic_img_front_right/camera_info |
sensor_msgs::msg::CameraInfo |
input front_right camera parameters |
~/input/topic_img_back_left/camera_info |
sensor_msgs::msg::CameraInfo |
input back_left camera parameters |
~/input/topic_img_back/camera_info |
sensor_msgs::msg::CameraInfo |
input back camera parameters |
~/input/topic_img_back_right/camera_info |
sensor_msgs::msg::CameraInfo |
input back_right camera parameters |
~/input/can_bus |
autoware_localization_msgs::msg::KinematicState |
CAN bus data for ego-motion |
Outputs
| Name | Type | Description |
|---|---|---|
~/output_boxes |
autoware_perception_msgs::msg::DetectedObjects |
detected objects |
~/output_bboxes |
visualization_msgs::msg::MarkerArray |
detected objects for nuScenes visualization |
How to Use Tensorrt BEVFormer Node
Prerequisites
- TensorRT 10.8.0.43
- CUDA 12.4
Trained Model
Download the bevformer_small.onnx model to:
$HOME/autoware_data/ml_models/tensorrt_bevformer
Note: The BEVFormer model was trained on the nuScenes dataset for 24 epochs with temporal fusion enabled.
Test TensorRT BEVFormer Node with nuScenes
-
Integrate this package into your autoware_universe/perception directory.
-
To play ROS 2 bag of nuScenes data:
cd autoware/src
git clone -b feature/bevformer-integration https://github.com/naveen-mcw/ros2_dataset_bridge.git
cd ..
Note: The
feature/bevformer-integrationbranch provides required data for the BEVFormer.
Download nuScenes dataset and canbus data here.
Open and edit the launch file to set dataset paths/configs:
nano src/ros2_dataset_bridge/launch/nuscenes_launch.xml
Update as needed:
<arg name="NUSCENES_DIR" default="<nuScenes_dataset_path>"/>
<arg name="NUSCENES_CAN_BUS_DIR" default="<can_bus_path>"/>
<arg name="NUSCENES_VER" default="v1.0-trainval"/>
<arg name="UPDATE_FREQUENCY" default="10.0"/>
- Build the autoware_tensorrt_bevformer and ros2_dataset_bridge packages
# Build ros2_dataset_bridge
colcon build --packages-up-to ros2_dataset_bridge
# Build autoware_tensorrt_bevformer
colcon build --packages-up-to autoware_tensorrt_bevformer
File truncated at 100 lines see the full file
Changelog for package autoware_tensorrt_bevformer
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: default artifact paths to ~/autoware_data/ml_models (#12523) feat(launches,configs): default artifact paths to ~/autoware_data/ml_models Roll every per-package [data_path]{.title-ref} / [model_path]{.title-ref} launch-arg default from [$(env HOME)/autoware_data[/...]]{.title-ref} to [$(env HOME)/autoware_data/ml_models[/...]]{.title-ref} so standalone universe launches resolve artifacts under the new [~/autoware_data/ml_models/]{.title-ref} layout (autowarefoundation/autoware#7068). When invoked through autoware_launch the parent overrides cascade and already pin the new root (autowarefoundation/autoware_launch#1835); this commit closes the gap for users who launch a perception / localization / sensing / planning component directly with [ros2 launch <pkg>]{.title-ref}. 22 launch files updated (one-line default change each):
- e2e/autoware_tensorrt_vad/launch/vad_carla_tiny.launch.xml
- localization/yabloc/yabloc_pose_initializer/launch/yabloc_pose_initializer.launch.xml
- perception/autoware_bevfusion/launch/bevfusion.launch.xml
- perception/autoware_camera_streampetr/launch/streampetr.launch.xml
- perception/autoware_image_projection_based_fusion/launch/pointpainting_fusion.launch.xml
- perception/autoware_lidar_apollo_instance_segmentation/launch/lidar_apollo_instance_segmentation.launch.xml
- perception/autoware_lidar_centerpoint/launch/lidar_centerpoint.launch.xml
- perception/autoware_lidar_frnet/launch/lidar_frnet.launch.xml
- perception/autoware_lidar_transfusion/launch/lidar_transfusion.launch.xml
- perception/autoware_ptv3/launch/ptv3.launch.xml
- perception/autoware_shape_estimation/launch/shape_estimation.launch.xml
- perception/autoware_simpl_prediction/launch/simpl.launch.xml
- perception/autoware_tensorrt_bevdet/launch/tensorrt_bevdet.launch.xml
- perception/autoware_tensorrt_bevformer/launch/bevformer.launch.xml
- perception/autoware_tensorrt_yolox/launch/{yolox_traffic_light_detector,yolox_tiny,yolox_s_plus_opt}.launch.xml
- perception/autoware_traffic_light_classifier/launch/{car,pedestrian}_traffic_light_classifier.launch.xml
- perception/autoware_traffic_light_fine_detector/launch/traffic_light_fine_detector.launch.xml
- planning/autoware_diffusion_planner/launch/diffusion_planner.launch.xml
- sensing/autoware_calibration_status_classifier/launch/calibration_status_classifier.launch.xml Drive-by README and test fixes:
- e2e/autoware_tensorrt_vad/{README.md,docs/design.md}: also migrate the [$HOME/autoware_map/Town01]{.title-ref} examples to [$HOME/autoware_data/maps/Town01]{.title-ref}.
- localization/yabloc/{README.md,yabloc_pose_initializer/README.md}: also migrate [$HOME/autoware_map/sample-map-rosbag]{.title-ref} to [$HOME/autoware_data/maps/demos/sample-map-rosbag]{.title-ref}.
- control/autoware_smart_mpc_trajectory_follower/README.md: migrate the [map_path:=$HOME/autoware_map/sample-map-planning]{.title-ref} example to [$HOME/autoware_data/maps/demos/sample-map-planning]{.title-ref}.
- simulator/autoware_carla_interface/README.md: migrate every [$HOME/autoware_map/Town01/...]{.title-ref} reference to [$HOME/autoware_data/maps/Town01/...]{.title-ref}.
- perception/{autoware_bevfusion,autoware_image_projection_based_fusion,autoware_lidar_centerpoint,autoware_tensorrt_bevformer}/README.md: copy-paste examples updated to [~/autoware_data/ml_models/<pkg>]{.title-ref}.
- perception/autoware_camera_streampetr/config/ml_package_camera_streampetr.param.yaml: header comment updated.
- planning/autoware_diffusion_planner/README.md: prerequisites snippet updated.
- sensing/autoware_calibration_status_classifier/test/{test_model_inference,test_calibration_status_classifier}.cpp: hardcoded fallback ONNX path updated. Users on the legacy layout can pin the old root with [data_path:=$HOME/autoware_data]{.title-ref} (or the per-package equivalent) on the command line. Refs:
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libopencv-dev |
Dependant Packages
Launch files
- launch/bevformer.launch.xml
-
- input/img_front_left [default: /nuscenes/CAM_FRONT_LEFT/image]
- input/img_front [default: /nuscenes/CAM_FRONT/image]
- input/img_front_right [default: /nuscenes/CAM_FRONT_RIGHT/image]
- input/img_back_left [default: /nuscenes/CAM_BACK_LEFT/image]
- input/img_back [default: /nuscenes/CAM_BACK/image]
- input/img_back_right [default: /nuscenes/CAM_BACK_RIGHT/image]
- input/can_bus [default: /nuscenes/can_bus]
- output_boxes [default: ~/output_boxes]
- output_bboxes [default: ~/output/debug/markers/bounding_boxes]
- input/img_front_left/camera_info [default: /nuscenes/CAM_FRONT_LEFT/camera_info]
- input/img_front/camera_info [default: /nuscenes/CAM_FRONT/camera_info]
- input/img_front_right/camera_info [default: /nuscenes/CAM_FRONT_RIGHT/camera_info]
- input/img_back_left/camera_info [default: /nuscenes/CAM_BACK_LEFT/camera_info]
- input/img_back/camera_info [default: /nuscenes/CAM_BACK/camera_info]
- input/img_back_right/camera_info [default: /nuscenes/CAM_BACK_RIGHT/camera_info]
- data_path [default: $(env HOME)/autoware_data/ml_models/tensorrt_bevformer]
- onnx_file [default: $(var data_path)/bevformer_small.onnx]
- engine_file [default: $(var data_path)/bevformer_small.engine]
- auto_convert [default: true]
- precision [default: fp16]
- debug_mode [default: false]
- workspace_size [default: 4096]
- model_name [default: bevformer_small]
- param_file [default: $(find-pkg-share autoware_tensorrt_bevformer)/config/bevformer.param.yaml]
- plugin_path [default: ]