Package Summary
| Version | 0.50.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-04-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kenzo Lobos-Tsunekawa
- Amadeusz Szymko
- Manato Hirabayashi
Authors
autoware_ptv3
Purpose
The autoware_ptv3 package is used for 3D lidar segmentation.
Inner-workings / Algorithms
This package implements a TensorRT powered inference node for Point Transformers V3 (PTv3) [1]. The sparse convolution backend corresponds to spconv. Autoware installs it automatically in its setup script. If needed, the user can also build it and install it following the following instructions.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/pointcloud |
sensor_msgs::msg::PointCloud2 |
Input pointcloud topic. |
Output
| Name | Type | Description |
|---|---|---|
~/output/pointcloud/segmentation |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with class ID and probability fields. |
~/output/pointcloud/visualization |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with RGB field. |
~/output/pointcloud/filtered |
sensor_msgs::msg::PointCloud2 |
Filtered cloud in the requested filter.output_format. |
debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time (ms). |
debug/pipeline_latency_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Pipeline latency time (ms). |
debug/processing_time/preprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Preprocess (ms). |
debug/processing_time/inference_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Inference time (ms). |
debug/processing_time/postprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Postprocess time (ms). |
debug/processing_time/total_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Total processing time (ms). |
Parameters
PTv3Node node
{{ json_to_markdown(“perception/autoware_ptv3/schema/ptv3.schema.json”) }}
PTv3Node model
{{ json_to_markdown(“perception/autoware_ptv3/schema/ml_package_ptv3.schema.json”) }}
filter.* parameters are configured in config/ptv3.param.yaml, while class metadata and the
visualization palette are configured in config/ml_package_ptv3.param.yaml.
The build_only option
The autoware_ptv3 node has a build_only option to build the TensorRT engine file from the specified ONNX file, after which the program exits.
ros2 launch autoware_ptv3 ptv3.launch.xml build_only:=true
The log_level option
The default logging severity level for autoware_ptv3 is info. For debugging purposes, the developer may decrease severity level using log_level parameter:
ros2 launch autoware_ptv3 ptv3.launch.xml log_level:=debug
Assumptions / Known limits
This node detects the input pointcloud format automatically on the first received message and supports:
-
XYZIRCAEDT(10 fields) -
XYZIRADRT(9 fields) -
XYZIRC(6 fields) -
XYZI(4 fields)
The filtered output cloud format is controlled by filter.output_format. When it is set to an
empty string, the filtered output preserves the same format as the input cloud.
Trained Models
The model was trained on the T4Dataset using approximately 4,000 frames and is available in the Autoware artifacts.
Troubleshooting
Fail to create host memory
This error may occur when the system runs out of memory during TensorRT engine building. To mitigate this issue, consider reducing the voxels_num maximum limit in the model parameters, which controls the maximum number of voxels processed by the model. For the instance, using GPU with 8 GB of memory, setting maximum voxels_num to 192’000 may help to avoid this error.
References/External links
[1] Xiaoyang Wu, Li Jiang, Peng-Shuai Wang, Zhijian Liu, Xihui Liu, Yu Qiao, Wanli Ouyang, Tong He, and Hengshuang Zhao. “Point Transformer V3: Simpler, Faster, Stronger.” 2024 Conference on Computer Vision and Pattern Recognition.
Changelog for package autoware_ptv3
0.50.0 (2026-02-14)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): update nvcc flags (#12053)
-
chore(autoware_ptv3): remove cudnn dependency (#11894)
-
chore: add maintainer of PTv3, FRNet, and CalibrationStatusClassifier (#11945)
- chore: update [autoware_ptv3]{.title-ref} maintainer
- chore: update [autoware_lidar_frnet]{.title-ref} maintainer
* chore: update [autoware_calibration_status_classifier]{.title-ref} maintainer ---------
-
Contributors: Amadeusz Szymko, Manato Hirabayashi, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): implemented an inference node for ptv3 using tensorrt (#10600)
- feat: implemented an inference node for ptv3 using tensorrt
- chore: cspells
- chore: schemas
- chore: lint (line was too long)
- chore: more schemas
- fix: mistook the compute capabilities of edge devices
- chore: replaced incorrect bevfusion -> ptv3
- chore: forgot to remove unused schema
- chore: duplicated variable
- chore: changed package dep name
- chore: fixed schema comment
- chore: removed unused headers in the post process kernels
- chore: replaced in favor of auto
- chore: removed unused headers
- chore: changed initialization order
- chore: replaced 0 by nullptr
- chore: replaced type in favor of auto
- chore: removed redundant message
- chore: fixed compilation due to review changes
- fix: replaced int64 by uint64
- chore: added more descriptive comment in the schema
* style(autoware_ptv3): cleanup ---------Co-authored-by: Amadeusz Szymko <<amadeusz.szymko.2@tier4.jp>>
-
Contributors: Kenzo Lobos Tsunekawa, Ryohsuke Mitsudome
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/ptv3.launch.xml
-
- input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
- output/pointcloud/segmentation [default: ~/segmentation]
- output/pointcloud/visualization [default: ~/visualization]
- output/pointcloud/filtered [default: ~/filtered]
- data_path [default: $(env HOME)/autoware_data]
- model_name [default: ptv3]
- model_path [default: $(var data_path)/ptv3]
- model_param_path [default: $(find-pkg-share autoware_ptv3)/config/$(var model_name).param.yaml]
- ml_package_param_path [default: $(var model_path)/ml_package_$(var model_name).param.yaml]
- class_remapper_param_path [default: $(var model_path)/detection_class_remapper.param.yaml]
- build_only [default: false]
- log_level [default: info]
- use_pointcloud_container [default: false]
- pointcloud_container_name [default: pointcloud_container]
Messages
Services
Plugins
Recent questions tagged autoware_ptv3 at Robotics Stack Exchange
Package Summary
| Version | 0.50.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-04-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kenzo Lobos-Tsunekawa
- Amadeusz Szymko
- Manato Hirabayashi
Authors
autoware_ptv3
Purpose
The autoware_ptv3 package is used for 3D lidar segmentation.
Inner-workings / Algorithms
This package implements a TensorRT powered inference node for Point Transformers V3 (PTv3) [1]. The sparse convolution backend corresponds to spconv. Autoware installs it automatically in its setup script. If needed, the user can also build it and install it following the following instructions.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/pointcloud |
sensor_msgs::msg::PointCloud2 |
Input pointcloud topic. |
Output
| Name | Type | Description |
|---|---|---|
~/output/pointcloud/segmentation |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with class ID and probability fields. |
~/output/pointcloud/visualization |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with RGB field. |
~/output/pointcloud/filtered |
sensor_msgs::msg::PointCloud2 |
Filtered cloud in the requested filter.output_format. |
debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time (ms). |
debug/pipeline_latency_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Pipeline latency time (ms). |
debug/processing_time/preprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Preprocess (ms). |
debug/processing_time/inference_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Inference time (ms). |
debug/processing_time/postprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Postprocess time (ms). |
debug/processing_time/total_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Total processing time (ms). |
Parameters
PTv3Node node
{{ json_to_markdown(“perception/autoware_ptv3/schema/ptv3.schema.json”) }}
PTv3Node model
{{ json_to_markdown(“perception/autoware_ptv3/schema/ml_package_ptv3.schema.json”) }}
filter.* parameters are configured in config/ptv3.param.yaml, while class metadata and the
visualization palette are configured in config/ml_package_ptv3.param.yaml.
The build_only option
The autoware_ptv3 node has a build_only option to build the TensorRT engine file from the specified ONNX file, after which the program exits.
ros2 launch autoware_ptv3 ptv3.launch.xml build_only:=true
The log_level option
The default logging severity level for autoware_ptv3 is info. For debugging purposes, the developer may decrease severity level using log_level parameter:
ros2 launch autoware_ptv3 ptv3.launch.xml log_level:=debug
Assumptions / Known limits
This node detects the input pointcloud format automatically on the first received message and supports:
-
XYZIRCAEDT(10 fields) -
XYZIRADRT(9 fields) -
XYZIRC(6 fields) -
XYZI(4 fields)
The filtered output cloud format is controlled by filter.output_format. When it is set to an
empty string, the filtered output preserves the same format as the input cloud.
Trained Models
The model was trained on the T4Dataset using approximately 4,000 frames and is available in the Autoware artifacts.
Troubleshooting
Fail to create host memory
This error may occur when the system runs out of memory during TensorRT engine building. To mitigate this issue, consider reducing the voxels_num maximum limit in the model parameters, which controls the maximum number of voxels processed by the model. For the instance, using GPU with 8 GB of memory, setting maximum voxels_num to 192’000 may help to avoid this error.
References/External links
[1] Xiaoyang Wu, Li Jiang, Peng-Shuai Wang, Zhijian Liu, Xihui Liu, Yu Qiao, Wanli Ouyang, Tong He, and Hengshuang Zhao. “Point Transformer V3: Simpler, Faster, Stronger.” 2024 Conference on Computer Vision and Pattern Recognition.
Changelog for package autoware_ptv3
0.50.0 (2026-02-14)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): update nvcc flags (#12053)
-
chore(autoware_ptv3): remove cudnn dependency (#11894)
-
chore: add maintainer of PTv3, FRNet, and CalibrationStatusClassifier (#11945)
- chore: update [autoware_ptv3]{.title-ref} maintainer
- chore: update [autoware_lidar_frnet]{.title-ref} maintainer
* chore: update [autoware_calibration_status_classifier]{.title-ref} maintainer ---------
-
Contributors: Amadeusz Szymko, Manato Hirabayashi, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): implemented an inference node for ptv3 using tensorrt (#10600)
- feat: implemented an inference node for ptv3 using tensorrt
- chore: cspells
- chore: schemas
- chore: lint (line was too long)
- chore: more schemas
- fix: mistook the compute capabilities of edge devices
- chore: replaced incorrect bevfusion -> ptv3
- chore: forgot to remove unused schema
- chore: duplicated variable
- chore: changed package dep name
- chore: fixed schema comment
- chore: removed unused headers in the post process kernels
- chore: replaced in favor of auto
- chore: removed unused headers
- chore: changed initialization order
- chore: replaced 0 by nullptr
- chore: replaced type in favor of auto
- chore: removed redundant message
- chore: fixed compilation due to review changes
- fix: replaced int64 by uint64
- chore: added more descriptive comment in the schema
* style(autoware_ptv3): cleanup ---------Co-authored-by: Amadeusz Szymko <<amadeusz.szymko.2@tier4.jp>>
-
Contributors: Kenzo Lobos Tsunekawa, Ryohsuke Mitsudome
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/ptv3.launch.xml
-
- input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
- output/pointcloud/segmentation [default: ~/segmentation]
- output/pointcloud/visualization [default: ~/visualization]
- output/pointcloud/filtered [default: ~/filtered]
- data_path [default: $(env HOME)/autoware_data]
- model_name [default: ptv3]
- model_path [default: $(var data_path)/ptv3]
- model_param_path [default: $(find-pkg-share autoware_ptv3)/config/$(var model_name).param.yaml]
- ml_package_param_path [default: $(var model_path)/ml_package_$(var model_name).param.yaml]
- class_remapper_param_path [default: $(var model_path)/detection_class_remapper.param.yaml]
- build_only [default: false]
- log_level [default: info]
- use_pointcloud_container [default: false]
- pointcloud_container_name [default: pointcloud_container]
Messages
Services
Plugins
Recent questions tagged autoware_ptv3 at Robotics Stack Exchange
Package Summary
| Version | 0.50.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-04-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kenzo Lobos-Tsunekawa
- Amadeusz Szymko
- Manato Hirabayashi
Authors
autoware_ptv3
Purpose
The autoware_ptv3 package is used for 3D lidar segmentation.
Inner-workings / Algorithms
This package implements a TensorRT powered inference node for Point Transformers V3 (PTv3) [1]. The sparse convolution backend corresponds to spconv. Autoware installs it automatically in its setup script. If needed, the user can also build it and install it following the following instructions.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/pointcloud |
sensor_msgs::msg::PointCloud2 |
Input pointcloud topic. |
Output
| Name | Type | Description |
|---|---|---|
~/output/pointcloud/segmentation |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with class ID and probability fields. |
~/output/pointcloud/visualization |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with RGB field. |
~/output/pointcloud/filtered |
sensor_msgs::msg::PointCloud2 |
Filtered cloud in the requested filter.output_format. |
debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time (ms). |
debug/pipeline_latency_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Pipeline latency time (ms). |
debug/processing_time/preprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Preprocess (ms). |
debug/processing_time/inference_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Inference time (ms). |
debug/processing_time/postprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Postprocess time (ms). |
debug/processing_time/total_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Total processing time (ms). |
Parameters
PTv3Node node
{{ json_to_markdown(“perception/autoware_ptv3/schema/ptv3.schema.json”) }}
PTv3Node model
{{ json_to_markdown(“perception/autoware_ptv3/schema/ml_package_ptv3.schema.json”) }}
filter.* parameters are configured in config/ptv3.param.yaml, while class metadata and the
visualization palette are configured in config/ml_package_ptv3.param.yaml.
The build_only option
The autoware_ptv3 node has a build_only option to build the TensorRT engine file from the specified ONNX file, after which the program exits.
ros2 launch autoware_ptv3 ptv3.launch.xml build_only:=true
The log_level option
The default logging severity level for autoware_ptv3 is info. For debugging purposes, the developer may decrease severity level using log_level parameter:
ros2 launch autoware_ptv3 ptv3.launch.xml log_level:=debug
Assumptions / Known limits
This node detects the input pointcloud format automatically on the first received message and supports:
-
XYZIRCAEDT(10 fields) -
XYZIRADRT(9 fields) -
XYZIRC(6 fields) -
XYZI(4 fields)
The filtered output cloud format is controlled by filter.output_format. When it is set to an
empty string, the filtered output preserves the same format as the input cloud.
Trained Models
The model was trained on the T4Dataset using approximately 4,000 frames and is available in the Autoware artifacts.
Troubleshooting
Fail to create host memory
This error may occur when the system runs out of memory during TensorRT engine building. To mitigate this issue, consider reducing the voxels_num maximum limit in the model parameters, which controls the maximum number of voxels processed by the model. For the instance, using GPU with 8 GB of memory, setting maximum voxels_num to 192’000 may help to avoid this error.
References/External links
[1] Xiaoyang Wu, Li Jiang, Peng-Shuai Wang, Zhijian Liu, Xihui Liu, Yu Qiao, Wanli Ouyang, Tong He, and Hengshuang Zhao. “Point Transformer V3: Simpler, Faster, Stronger.” 2024 Conference on Computer Vision and Pattern Recognition.
Changelog for package autoware_ptv3
0.50.0 (2026-02-14)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): update nvcc flags (#12053)
-
chore(autoware_ptv3): remove cudnn dependency (#11894)
-
chore: add maintainer of PTv3, FRNet, and CalibrationStatusClassifier (#11945)
- chore: update [autoware_ptv3]{.title-ref} maintainer
- chore: update [autoware_lidar_frnet]{.title-ref} maintainer
* chore: update [autoware_calibration_status_classifier]{.title-ref} maintainer ---------
-
Contributors: Amadeusz Szymko, Manato Hirabayashi, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): implemented an inference node for ptv3 using tensorrt (#10600)
- feat: implemented an inference node for ptv3 using tensorrt
- chore: cspells
- chore: schemas
- chore: lint (line was too long)
- chore: more schemas
- fix: mistook the compute capabilities of edge devices
- chore: replaced incorrect bevfusion -> ptv3
- chore: forgot to remove unused schema
- chore: duplicated variable
- chore: changed package dep name
- chore: fixed schema comment
- chore: removed unused headers in the post process kernels
- chore: replaced in favor of auto
- chore: removed unused headers
- chore: changed initialization order
- chore: replaced 0 by nullptr
- chore: replaced type in favor of auto
- chore: removed redundant message
- chore: fixed compilation due to review changes
- fix: replaced int64 by uint64
- chore: added more descriptive comment in the schema
* style(autoware_ptv3): cleanup ---------Co-authored-by: Amadeusz Szymko <<amadeusz.szymko.2@tier4.jp>>
-
Contributors: Kenzo Lobos Tsunekawa, Ryohsuke Mitsudome
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/ptv3.launch.xml
-
- input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
- output/pointcloud/segmentation [default: ~/segmentation]
- output/pointcloud/visualization [default: ~/visualization]
- output/pointcloud/filtered [default: ~/filtered]
- data_path [default: $(env HOME)/autoware_data]
- model_name [default: ptv3]
- model_path [default: $(var data_path)/ptv3]
- model_param_path [default: $(find-pkg-share autoware_ptv3)/config/$(var model_name).param.yaml]
- ml_package_param_path [default: $(var model_path)/ml_package_$(var model_name).param.yaml]
- class_remapper_param_path [default: $(var model_path)/detection_class_remapper.param.yaml]
- build_only [default: false]
- log_level [default: info]
- use_pointcloud_container [default: false]
- pointcloud_container_name [default: pointcloud_container]
Messages
Services
Plugins
Recent questions tagged autoware_ptv3 at Robotics Stack Exchange
Package Summary
| Version | 0.50.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-04-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kenzo Lobos-Tsunekawa
- Amadeusz Szymko
- Manato Hirabayashi
Authors
autoware_ptv3
Purpose
The autoware_ptv3 package is used for 3D lidar segmentation.
Inner-workings / Algorithms
This package implements a TensorRT powered inference node for Point Transformers V3 (PTv3) [1]. The sparse convolution backend corresponds to spconv. Autoware installs it automatically in its setup script. If needed, the user can also build it and install it following the following instructions.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/pointcloud |
sensor_msgs::msg::PointCloud2 |
Input pointcloud topic. |
Output
| Name | Type | Description |
|---|---|---|
~/output/pointcloud/segmentation |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with class ID and probability fields. |
~/output/pointcloud/visualization |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with RGB field. |
~/output/pointcloud/filtered |
sensor_msgs::msg::PointCloud2 |
Filtered cloud in the requested filter.output_format. |
debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time (ms). |
debug/pipeline_latency_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Pipeline latency time (ms). |
debug/processing_time/preprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Preprocess (ms). |
debug/processing_time/inference_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Inference time (ms). |
debug/processing_time/postprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Postprocess time (ms). |
debug/processing_time/total_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Total processing time (ms). |
Parameters
PTv3Node node
{{ json_to_markdown(“perception/autoware_ptv3/schema/ptv3.schema.json”) }}
PTv3Node model
{{ json_to_markdown(“perception/autoware_ptv3/schema/ml_package_ptv3.schema.json”) }}
filter.* parameters are configured in config/ptv3.param.yaml, while class metadata and the
visualization palette are configured in config/ml_package_ptv3.param.yaml.
The build_only option
The autoware_ptv3 node has a build_only option to build the TensorRT engine file from the specified ONNX file, after which the program exits.
ros2 launch autoware_ptv3 ptv3.launch.xml build_only:=true
The log_level option
The default logging severity level for autoware_ptv3 is info. For debugging purposes, the developer may decrease severity level using log_level parameter:
ros2 launch autoware_ptv3 ptv3.launch.xml log_level:=debug
Assumptions / Known limits
This node detects the input pointcloud format automatically on the first received message and supports:
-
XYZIRCAEDT(10 fields) -
XYZIRADRT(9 fields) -
XYZIRC(6 fields) -
XYZI(4 fields)
The filtered output cloud format is controlled by filter.output_format. When it is set to an
empty string, the filtered output preserves the same format as the input cloud.
Trained Models
The model was trained on the T4Dataset using approximately 4,000 frames and is available in the Autoware artifacts.
Troubleshooting
Fail to create host memory
This error may occur when the system runs out of memory during TensorRT engine building. To mitigate this issue, consider reducing the voxels_num maximum limit in the model parameters, which controls the maximum number of voxels processed by the model. For the instance, using GPU with 8 GB of memory, setting maximum voxels_num to 192’000 may help to avoid this error.
References/External links
[1] Xiaoyang Wu, Li Jiang, Peng-Shuai Wang, Zhijian Liu, Xihui Liu, Yu Qiao, Wanli Ouyang, Tong He, and Hengshuang Zhao. “Point Transformer V3: Simpler, Faster, Stronger.” 2024 Conference on Computer Vision and Pattern Recognition.
Changelog for package autoware_ptv3
0.50.0 (2026-02-14)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): update nvcc flags (#12053)
-
chore(autoware_ptv3): remove cudnn dependency (#11894)
-
chore: add maintainer of PTv3, FRNet, and CalibrationStatusClassifier (#11945)
- chore: update [autoware_ptv3]{.title-ref} maintainer
- chore: update [autoware_lidar_frnet]{.title-ref} maintainer
* chore: update [autoware_calibration_status_classifier]{.title-ref} maintainer ---------
-
Contributors: Amadeusz Szymko, Manato Hirabayashi, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): implemented an inference node for ptv3 using tensorrt (#10600)
- feat: implemented an inference node for ptv3 using tensorrt
- chore: cspells
- chore: schemas
- chore: lint (line was too long)
- chore: more schemas
- fix: mistook the compute capabilities of edge devices
- chore: replaced incorrect bevfusion -> ptv3
- chore: forgot to remove unused schema
- chore: duplicated variable
- chore: changed package dep name
- chore: fixed schema comment
- chore: removed unused headers in the post process kernels
- chore: replaced in favor of auto
- chore: removed unused headers
- chore: changed initialization order
- chore: replaced 0 by nullptr
- chore: replaced type in favor of auto
- chore: removed redundant message
- chore: fixed compilation due to review changes
- fix: replaced int64 by uint64
- chore: added more descriptive comment in the schema
* style(autoware_ptv3): cleanup ---------Co-authored-by: Amadeusz Szymko <<amadeusz.szymko.2@tier4.jp>>
-
Contributors: Kenzo Lobos Tsunekawa, Ryohsuke Mitsudome
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/ptv3.launch.xml
-
- input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
- output/pointcloud/segmentation [default: ~/segmentation]
- output/pointcloud/visualization [default: ~/visualization]
- output/pointcloud/filtered [default: ~/filtered]
- data_path [default: $(env HOME)/autoware_data]
- model_name [default: ptv3]
- model_path [default: $(var data_path)/ptv3]
- model_param_path [default: $(find-pkg-share autoware_ptv3)/config/$(var model_name).param.yaml]
- ml_package_param_path [default: $(var model_path)/ml_package_$(var model_name).param.yaml]
- class_remapper_param_path [default: $(var model_path)/detection_class_remapper.param.yaml]
- build_only [default: false]
- log_level [default: info]
- use_pointcloud_container [default: false]
- pointcloud_container_name [default: pointcloud_container]
Messages
Services
Plugins
Recent questions tagged autoware_ptv3 at Robotics Stack Exchange
Package Summary
| Version | 0.50.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-04-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kenzo Lobos-Tsunekawa
- Amadeusz Szymko
- Manato Hirabayashi
Authors
autoware_ptv3
Purpose
The autoware_ptv3 package is used for 3D lidar segmentation.
Inner-workings / Algorithms
This package implements a TensorRT powered inference node for Point Transformers V3 (PTv3) [1]. The sparse convolution backend corresponds to spconv. Autoware installs it automatically in its setup script. If needed, the user can also build it and install it following the following instructions.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/pointcloud |
sensor_msgs::msg::PointCloud2 |
Input pointcloud topic. |
Output
| Name | Type | Description |
|---|---|---|
~/output/pointcloud/segmentation |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with class ID and probability fields. |
~/output/pointcloud/visualization |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with RGB field. |
~/output/pointcloud/filtered |
sensor_msgs::msg::PointCloud2 |
Filtered cloud in the requested filter.output_format. |
debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time (ms). |
debug/pipeline_latency_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Pipeline latency time (ms). |
debug/processing_time/preprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Preprocess (ms). |
debug/processing_time/inference_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Inference time (ms). |
debug/processing_time/postprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Postprocess time (ms). |
debug/processing_time/total_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Total processing time (ms). |
Parameters
PTv3Node node
{{ json_to_markdown(“perception/autoware_ptv3/schema/ptv3.schema.json”) }}
PTv3Node model
{{ json_to_markdown(“perception/autoware_ptv3/schema/ml_package_ptv3.schema.json”) }}
filter.* parameters are configured in config/ptv3.param.yaml, while class metadata and the
visualization palette are configured in config/ml_package_ptv3.param.yaml.
The build_only option
The autoware_ptv3 node has a build_only option to build the TensorRT engine file from the specified ONNX file, after which the program exits.
ros2 launch autoware_ptv3 ptv3.launch.xml build_only:=true
The log_level option
The default logging severity level for autoware_ptv3 is info. For debugging purposes, the developer may decrease severity level using log_level parameter:
ros2 launch autoware_ptv3 ptv3.launch.xml log_level:=debug
Assumptions / Known limits
This node detects the input pointcloud format automatically on the first received message and supports:
-
XYZIRCAEDT(10 fields) -
XYZIRADRT(9 fields) -
XYZIRC(6 fields) -
XYZI(4 fields)
The filtered output cloud format is controlled by filter.output_format. When it is set to an
empty string, the filtered output preserves the same format as the input cloud.
Trained Models
The model was trained on the T4Dataset using approximately 4,000 frames and is available in the Autoware artifacts.
Troubleshooting
Fail to create host memory
This error may occur when the system runs out of memory during TensorRT engine building. To mitigate this issue, consider reducing the voxels_num maximum limit in the model parameters, which controls the maximum number of voxels processed by the model. For the instance, using GPU with 8 GB of memory, setting maximum voxels_num to 192’000 may help to avoid this error.
References/External links
[1] Xiaoyang Wu, Li Jiang, Peng-Shuai Wang, Zhijian Liu, Xihui Liu, Yu Qiao, Wanli Ouyang, Tong He, and Hengshuang Zhao. “Point Transformer V3: Simpler, Faster, Stronger.” 2024 Conference on Computer Vision and Pattern Recognition.
Changelog for package autoware_ptv3
0.50.0 (2026-02-14)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): update nvcc flags (#12053)
-
chore(autoware_ptv3): remove cudnn dependency (#11894)
-
chore: add maintainer of PTv3, FRNet, and CalibrationStatusClassifier (#11945)
- chore: update [autoware_ptv3]{.title-ref} maintainer
- chore: update [autoware_lidar_frnet]{.title-ref} maintainer
* chore: update [autoware_calibration_status_classifier]{.title-ref} maintainer ---------
-
Contributors: Amadeusz Szymko, Manato Hirabayashi, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): implemented an inference node for ptv3 using tensorrt (#10600)
- feat: implemented an inference node for ptv3 using tensorrt
- chore: cspells
- chore: schemas
- chore: lint (line was too long)
- chore: more schemas
- fix: mistook the compute capabilities of edge devices
- chore: replaced incorrect bevfusion -> ptv3
- chore: forgot to remove unused schema
- chore: duplicated variable
- chore: changed package dep name
- chore: fixed schema comment
- chore: removed unused headers in the post process kernels
- chore: replaced in favor of auto
- chore: removed unused headers
- chore: changed initialization order
- chore: replaced 0 by nullptr
- chore: replaced type in favor of auto
- chore: removed redundant message
- chore: fixed compilation due to review changes
- fix: replaced int64 by uint64
- chore: added more descriptive comment in the schema
* style(autoware_ptv3): cleanup ---------Co-authored-by: Amadeusz Szymko <<amadeusz.szymko.2@tier4.jp>>
-
Contributors: Kenzo Lobos Tsunekawa, Ryohsuke Mitsudome
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/ptv3.launch.xml
-
- input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
- output/pointcloud/segmentation [default: ~/segmentation]
- output/pointcloud/visualization [default: ~/visualization]
- output/pointcloud/filtered [default: ~/filtered]
- data_path [default: $(env HOME)/autoware_data]
- model_name [default: ptv3]
- model_path [default: $(var data_path)/ptv3]
- model_param_path [default: $(find-pkg-share autoware_ptv3)/config/$(var model_name).param.yaml]
- ml_package_param_path [default: $(var model_path)/ml_package_$(var model_name).param.yaml]
- class_remapper_param_path [default: $(var model_path)/detection_class_remapper.param.yaml]
- build_only [default: false]
- log_level [default: info]
- use_pointcloud_container [default: false]
- pointcloud_container_name [default: pointcloud_container]
Messages
Services
Plugins
Recent questions tagged autoware_ptv3 at Robotics Stack Exchange
Package Summary
| Version | 0.50.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-04-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kenzo Lobos-Tsunekawa
- Amadeusz Szymko
- Manato Hirabayashi
Authors
autoware_ptv3
Purpose
The autoware_ptv3 package is used for 3D lidar segmentation.
Inner-workings / Algorithms
This package implements a TensorRT powered inference node for Point Transformers V3 (PTv3) [1]. The sparse convolution backend corresponds to spconv. Autoware installs it automatically in its setup script. If needed, the user can also build it and install it following the following instructions.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/pointcloud |
sensor_msgs::msg::PointCloud2 |
Input pointcloud topic. |
Output
| Name | Type | Description |
|---|---|---|
~/output/pointcloud/segmentation |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with class ID and probability fields. |
~/output/pointcloud/visualization |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with RGB field. |
~/output/pointcloud/filtered |
sensor_msgs::msg::PointCloud2 |
Filtered cloud in the requested filter.output_format. |
debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time (ms). |
debug/pipeline_latency_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Pipeline latency time (ms). |
debug/processing_time/preprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Preprocess (ms). |
debug/processing_time/inference_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Inference time (ms). |
debug/processing_time/postprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Postprocess time (ms). |
debug/processing_time/total_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Total processing time (ms). |
Parameters
PTv3Node node
{{ json_to_markdown(“perception/autoware_ptv3/schema/ptv3.schema.json”) }}
PTv3Node model
{{ json_to_markdown(“perception/autoware_ptv3/schema/ml_package_ptv3.schema.json”) }}
filter.* parameters are configured in config/ptv3.param.yaml, while class metadata and the
visualization palette are configured in config/ml_package_ptv3.param.yaml.
The build_only option
The autoware_ptv3 node has a build_only option to build the TensorRT engine file from the specified ONNX file, after which the program exits.
ros2 launch autoware_ptv3 ptv3.launch.xml build_only:=true
The log_level option
The default logging severity level for autoware_ptv3 is info. For debugging purposes, the developer may decrease severity level using log_level parameter:
ros2 launch autoware_ptv3 ptv3.launch.xml log_level:=debug
Assumptions / Known limits
This node detects the input pointcloud format automatically on the first received message and supports:
-
XYZIRCAEDT(10 fields) -
XYZIRADRT(9 fields) -
XYZIRC(6 fields) -
XYZI(4 fields)
The filtered output cloud format is controlled by filter.output_format. When it is set to an
empty string, the filtered output preserves the same format as the input cloud.
Trained Models
The model was trained on the T4Dataset using approximately 4,000 frames and is available in the Autoware artifacts.
Troubleshooting
Fail to create host memory
This error may occur when the system runs out of memory during TensorRT engine building. To mitigate this issue, consider reducing the voxels_num maximum limit in the model parameters, which controls the maximum number of voxels processed by the model. For the instance, using GPU with 8 GB of memory, setting maximum voxels_num to 192’000 may help to avoid this error.
References/External links
[1] Xiaoyang Wu, Li Jiang, Peng-Shuai Wang, Zhijian Liu, Xihui Liu, Yu Qiao, Wanli Ouyang, Tong He, and Hengshuang Zhao. “Point Transformer V3: Simpler, Faster, Stronger.” 2024 Conference on Computer Vision and Pattern Recognition.
Changelog for package autoware_ptv3
0.50.0 (2026-02-14)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): update nvcc flags (#12053)
-
chore(autoware_ptv3): remove cudnn dependency (#11894)
-
chore: add maintainer of PTv3, FRNet, and CalibrationStatusClassifier (#11945)
- chore: update [autoware_ptv3]{.title-ref} maintainer
- chore: update [autoware_lidar_frnet]{.title-ref} maintainer
* chore: update [autoware_calibration_status_classifier]{.title-ref} maintainer ---------
-
Contributors: Amadeusz Szymko, Manato Hirabayashi, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): implemented an inference node for ptv3 using tensorrt (#10600)
- feat: implemented an inference node for ptv3 using tensorrt
- chore: cspells
- chore: schemas
- chore: lint (line was too long)
- chore: more schemas
- fix: mistook the compute capabilities of edge devices
- chore: replaced incorrect bevfusion -> ptv3
- chore: forgot to remove unused schema
- chore: duplicated variable
- chore: changed package dep name
- chore: fixed schema comment
- chore: removed unused headers in the post process kernels
- chore: replaced in favor of auto
- chore: removed unused headers
- chore: changed initialization order
- chore: replaced 0 by nullptr
- chore: replaced type in favor of auto
- chore: removed redundant message
- chore: fixed compilation due to review changes
- fix: replaced int64 by uint64
- chore: added more descriptive comment in the schema
* style(autoware_ptv3): cleanup ---------Co-authored-by: Amadeusz Szymko <<amadeusz.szymko.2@tier4.jp>>
-
Contributors: Kenzo Lobos Tsunekawa, Ryohsuke Mitsudome
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/ptv3.launch.xml
-
- input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
- output/pointcloud/segmentation [default: ~/segmentation]
- output/pointcloud/visualization [default: ~/visualization]
- output/pointcloud/filtered [default: ~/filtered]
- data_path [default: $(env HOME)/autoware_data]
- model_name [default: ptv3]
- model_path [default: $(var data_path)/ptv3]
- model_param_path [default: $(find-pkg-share autoware_ptv3)/config/$(var model_name).param.yaml]
- ml_package_param_path [default: $(var model_path)/ml_package_$(var model_name).param.yaml]
- class_remapper_param_path [default: $(var model_path)/detection_class_remapper.param.yaml]
- build_only [default: false]
- log_level [default: info]
- use_pointcloud_container [default: false]
- pointcloud_container_name [default: pointcloud_container]
Messages
Services
Plugins
Recent questions tagged autoware_ptv3 at Robotics Stack Exchange
Package Summary
| Version | 0.50.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-04-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kenzo Lobos-Tsunekawa
- Amadeusz Szymko
- Manato Hirabayashi
Authors
autoware_ptv3
Purpose
The autoware_ptv3 package is used for 3D lidar segmentation.
Inner-workings / Algorithms
This package implements a TensorRT powered inference node for Point Transformers V3 (PTv3) [1]. The sparse convolution backend corresponds to spconv. Autoware installs it automatically in its setup script. If needed, the user can also build it and install it following the following instructions.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/pointcloud |
sensor_msgs::msg::PointCloud2 |
Input pointcloud topic. |
Output
| Name | Type | Description |
|---|---|---|
~/output/pointcloud/segmentation |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with class ID and probability fields. |
~/output/pointcloud/visualization |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with RGB field. |
~/output/pointcloud/filtered |
sensor_msgs::msg::PointCloud2 |
Filtered cloud in the requested filter.output_format. |
debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time (ms). |
debug/pipeline_latency_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Pipeline latency time (ms). |
debug/processing_time/preprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Preprocess (ms). |
debug/processing_time/inference_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Inference time (ms). |
debug/processing_time/postprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Postprocess time (ms). |
debug/processing_time/total_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Total processing time (ms). |
Parameters
PTv3Node node
{{ json_to_markdown(“perception/autoware_ptv3/schema/ptv3.schema.json”) }}
PTv3Node model
{{ json_to_markdown(“perception/autoware_ptv3/schema/ml_package_ptv3.schema.json”) }}
filter.* parameters are configured in config/ptv3.param.yaml, while class metadata and the
visualization palette are configured in config/ml_package_ptv3.param.yaml.
The build_only option
The autoware_ptv3 node has a build_only option to build the TensorRT engine file from the specified ONNX file, after which the program exits.
ros2 launch autoware_ptv3 ptv3.launch.xml build_only:=true
The log_level option
The default logging severity level for autoware_ptv3 is info. For debugging purposes, the developer may decrease severity level using log_level parameter:
ros2 launch autoware_ptv3 ptv3.launch.xml log_level:=debug
Assumptions / Known limits
This node detects the input pointcloud format automatically on the first received message and supports:
-
XYZIRCAEDT(10 fields) -
XYZIRADRT(9 fields) -
XYZIRC(6 fields) -
XYZI(4 fields)
The filtered output cloud format is controlled by filter.output_format. When it is set to an
empty string, the filtered output preserves the same format as the input cloud.
Trained Models
The model was trained on the T4Dataset using approximately 4,000 frames and is available in the Autoware artifacts.
Troubleshooting
Fail to create host memory
This error may occur when the system runs out of memory during TensorRT engine building. To mitigate this issue, consider reducing the voxels_num maximum limit in the model parameters, which controls the maximum number of voxels processed by the model. For the instance, using GPU with 8 GB of memory, setting maximum voxels_num to 192’000 may help to avoid this error.
References/External links
[1] Xiaoyang Wu, Li Jiang, Peng-Shuai Wang, Zhijian Liu, Xihui Liu, Yu Qiao, Wanli Ouyang, Tong He, and Hengshuang Zhao. “Point Transformer V3: Simpler, Faster, Stronger.” 2024 Conference on Computer Vision and Pattern Recognition.
Changelog for package autoware_ptv3
0.50.0 (2026-02-14)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): update nvcc flags (#12053)
-
chore(autoware_ptv3): remove cudnn dependency (#11894)
-
chore: add maintainer of PTv3, FRNet, and CalibrationStatusClassifier (#11945)
- chore: update [autoware_ptv3]{.title-ref} maintainer
- chore: update [autoware_lidar_frnet]{.title-ref} maintainer
* chore: update [autoware_calibration_status_classifier]{.title-ref} maintainer ---------
-
Contributors: Amadeusz Szymko, Manato Hirabayashi, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): implemented an inference node for ptv3 using tensorrt (#10600)
- feat: implemented an inference node for ptv3 using tensorrt
- chore: cspells
- chore: schemas
- chore: lint (line was too long)
- chore: more schemas
- fix: mistook the compute capabilities of edge devices
- chore: replaced incorrect bevfusion -> ptv3
- chore: forgot to remove unused schema
- chore: duplicated variable
- chore: changed package dep name
- chore: fixed schema comment
- chore: removed unused headers in the post process kernels
- chore: replaced in favor of auto
- chore: removed unused headers
- chore: changed initialization order
- chore: replaced 0 by nullptr
- chore: replaced type in favor of auto
- chore: removed redundant message
- chore: fixed compilation due to review changes
- fix: replaced int64 by uint64
- chore: added more descriptive comment in the schema
* style(autoware_ptv3): cleanup ---------Co-authored-by: Amadeusz Szymko <<amadeusz.szymko.2@tier4.jp>>
-
Contributors: Kenzo Lobos Tsunekawa, Ryohsuke Mitsudome
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/ptv3.launch.xml
-
- input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
- output/pointcloud/segmentation [default: ~/segmentation]
- output/pointcloud/visualization [default: ~/visualization]
- output/pointcloud/filtered [default: ~/filtered]
- data_path [default: $(env HOME)/autoware_data]
- model_name [default: ptv3]
- model_path [default: $(var data_path)/ptv3]
- model_param_path [default: $(find-pkg-share autoware_ptv3)/config/$(var model_name).param.yaml]
- ml_package_param_path [default: $(var model_path)/ml_package_$(var model_name).param.yaml]
- class_remapper_param_path [default: $(var model_path)/detection_class_remapper.param.yaml]
- build_only [default: false]
- log_level [default: info]
- use_pointcloud_container [default: false]
- pointcloud_container_name [default: pointcloud_container]
Messages
Services
Plugins
Recent questions tagged autoware_ptv3 at Robotics Stack Exchange
Package Summary
| Version | 0.50.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-04-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kenzo Lobos-Tsunekawa
- Amadeusz Szymko
- Manato Hirabayashi
Authors
autoware_ptv3
Purpose
The autoware_ptv3 package is used for 3D lidar segmentation.
Inner-workings / Algorithms
This package implements a TensorRT powered inference node for Point Transformers V3 (PTv3) [1]. The sparse convolution backend corresponds to spconv. Autoware installs it automatically in its setup script. If needed, the user can also build it and install it following the following instructions.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/pointcloud |
sensor_msgs::msg::PointCloud2 |
Input pointcloud topic. |
Output
| Name | Type | Description |
|---|---|---|
~/output/pointcloud/segmentation |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with class ID and probability fields. |
~/output/pointcloud/visualization |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with RGB field. |
~/output/pointcloud/filtered |
sensor_msgs::msg::PointCloud2 |
Filtered cloud in the requested filter.output_format. |
debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time (ms). |
debug/pipeline_latency_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Pipeline latency time (ms). |
debug/processing_time/preprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Preprocess (ms). |
debug/processing_time/inference_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Inference time (ms). |
debug/processing_time/postprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Postprocess time (ms). |
debug/processing_time/total_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Total processing time (ms). |
Parameters
PTv3Node node
{{ json_to_markdown(“perception/autoware_ptv3/schema/ptv3.schema.json”) }}
PTv3Node model
{{ json_to_markdown(“perception/autoware_ptv3/schema/ml_package_ptv3.schema.json”) }}
filter.* parameters are configured in config/ptv3.param.yaml, while class metadata and the
visualization palette are configured in config/ml_package_ptv3.param.yaml.
The build_only option
The autoware_ptv3 node has a build_only option to build the TensorRT engine file from the specified ONNX file, after which the program exits.
ros2 launch autoware_ptv3 ptv3.launch.xml build_only:=true
The log_level option
The default logging severity level for autoware_ptv3 is info. For debugging purposes, the developer may decrease severity level using log_level parameter:
ros2 launch autoware_ptv3 ptv3.launch.xml log_level:=debug
Assumptions / Known limits
This node detects the input pointcloud format automatically on the first received message and supports:
-
XYZIRCAEDT(10 fields) -
XYZIRADRT(9 fields) -
XYZIRC(6 fields) -
XYZI(4 fields)
The filtered output cloud format is controlled by filter.output_format. When it is set to an
empty string, the filtered output preserves the same format as the input cloud.
Trained Models
The model was trained on the T4Dataset using approximately 4,000 frames and is available in the Autoware artifacts.
Troubleshooting
Fail to create host memory
This error may occur when the system runs out of memory during TensorRT engine building. To mitigate this issue, consider reducing the voxels_num maximum limit in the model parameters, which controls the maximum number of voxels processed by the model. For the instance, using GPU with 8 GB of memory, setting maximum voxels_num to 192’000 may help to avoid this error.
References/External links
[1] Xiaoyang Wu, Li Jiang, Peng-Shuai Wang, Zhijian Liu, Xihui Liu, Yu Qiao, Wanli Ouyang, Tong He, and Hengshuang Zhao. “Point Transformer V3: Simpler, Faster, Stronger.” 2024 Conference on Computer Vision and Pattern Recognition.
Changelog for package autoware_ptv3
0.50.0 (2026-02-14)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): update nvcc flags (#12053)
-
chore(autoware_ptv3): remove cudnn dependency (#11894)
-
chore: add maintainer of PTv3, FRNet, and CalibrationStatusClassifier (#11945)
- chore: update [autoware_ptv3]{.title-ref} maintainer
- chore: update [autoware_lidar_frnet]{.title-ref} maintainer
* chore: update [autoware_calibration_status_classifier]{.title-ref} maintainer ---------
-
Contributors: Amadeusz Szymko, Manato Hirabayashi, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): implemented an inference node for ptv3 using tensorrt (#10600)
- feat: implemented an inference node for ptv3 using tensorrt
- chore: cspells
- chore: schemas
- chore: lint (line was too long)
- chore: more schemas
- fix: mistook the compute capabilities of edge devices
- chore: replaced incorrect bevfusion -> ptv3
- chore: forgot to remove unused schema
- chore: duplicated variable
- chore: changed package dep name
- chore: fixed schema comment
- chore: removed unused headers in the post process kernels
- chore: replaced in favor of auto
- chore: removed unused headers
- chore: changed initialization order
- chore: replaced 0 by nullptr
- chore: replaced type in favor of auto
- chore: removed redundant message
- chore: fixed compilation due to review changes
- fix: replaced int64 by uint64
- chore: added more descriptive comment in the schema
* style(autoware_ptv3): cleanup ---------Co-authored-by: Amadeusz Szymko <<amadeusz.szymko.2@tier4.jp>>
-
Contributors: Kenzo Lobos Tsunekawa, Ryohsuke Mitsudome
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/ptv3.launch.xml
-
- input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
- output/pointcloud/segmentation [default: ~/segmentation]
- output/pointcloud/visualization [default: ~/visualization]
- output/pointcloud/filtered [default: ~/filtered]
- data_path [default: $(env HOME)/autoware_data]
- model_name [default: ptv3]
- model_path [default: $(var data_path)/ptv3]
- model_param_path [default: $(find-pkg-share autoware_ptv3)/config/$(var model_name).param.yaml]
- ml_package_param_path [default: $(var model_path)/ml_package_$(var model_name).param.yaml]
- class_remapper_param_path [default: $(var model_path)/detection_class_remapper.param.yaml]
- build_only [default: false]
- log_level [default: info]
- use_pointcloud_container [default: false]
- pointcloud_container_name [default: pointcloud_container]
Messages
Services
Plugins
Recent questions tagged autoware_ptv3 at Robotics Stack Exchange
Package Summary
| Version | 0.50.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-04-07 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kenzo Lobos-Tsunekawa
- Amadeusz Szymko
- Manato Hirabayashi
Authors
autoware_ptv3
Purpose
The autoware_ptv3 package is used for 3D lidar segmentation.
Inner-workings / Algorithms
This package implements a TensorRT powered inference node for Point Transformers V3 (PTv3) [1]. The sparse convolution backend corresponds to spconv. Autoware installs it automatically in its setup script. If needed, the user can also build it and install it following the following instructions.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
~/input/pointcloud |
sensor_msgs::msg::PointCloud2 |
Input pointcloud topic. |
Output
| Name | Type | Description |
|---|---|---|
~/output/pointcloud/segmentation |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with class ID and probability fields. |
~/output/pointcloud/visualization |
sensor_msgs::msg::PointCloud2 |
XYZ cloud with RGB field. |
~/output/pointcloud/filtered |
sensor_msgs::msg::PointCloud2 |
Filtered cloud in the requested filter.output_format. |
debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time (ms). |
debug/pipeline_latency_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Pipeline latency time (ms). |
debug/processing_time/preprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Preprocess (ms). |
debug/processing_time/inference_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Inference time (ms). |
debug/processing_time/postprocess_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Postprocess time (ms). |
debug/processing_time/total_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Total processing time (ms). |
Parameters
PTv3Node node
{{ json_to_markdown(“perception/autoware_ptv3/schema/ptv3.schema.json”) }}
PTv3Node model
{{ json_to_markdown(“perception/autoware_ptv3/schema/ml_package_ptv3.schema.json”) }}
filter.* parameters are configured in config/ptv3.param.yaml, while class metadata and the
visualization palette are configured in config/ml_package_ptv3.param.yaml.
The build_only option
The autoware_ptv3 node has a build_only option to build the TensorRT engine file from the specified ONNX file, after which the program exits.
ros2 launch autoware_ptv3 ptv3.launch.xml build_only:=true
The log_level option
The default logging severity level for autoware_ptv3 is info. For debugging purposes, the developer may decrease severity level using log_level parameter:
ros2 launch autoware_ptv3 ptv3.launch.xml log_level:=debug
Assumptions / Known limits
This node detects the input pointcloud format automatically on the first received message and supports:
-
XYZIRCAEDT(10 fields) -
XYZIRADRT(9 fields) -
XYZIRC(6 fields) -
XYZI(4 fields)
The filtered output cloud format is controlled by filter.output_format. When it is set to an
empty string, the filtered output preserves the same format as the input cloud.
Trained Models
The model was trained on the T4Dataset using approximately 4,000 frames and is available in the Autoware artifacts.
Troubleshooting
Fail to create host memory
This error may occur when the system runs out of memory during TensorRT engine building. To mitigate this issue, consider reducing the voxels_num maximum limit in the model parameters, which controls the maximum number of voxels processed by the model. For the instance, using GPU with 8 GB of memory, setting maximum voxels_num to 192’000 may help to avoid this error.
References/External links
[1] Xiaoyang Wu, Li Jiang, Peng-Shuai Wang, Zhijian Liu, Xihui Liu, Yu Qiao, Wanli Ouyang, Tong He, and Hengshuang Zhao. “Point Transformer V3: Simpler, Faster, Stronger.” 2024 Conference on Computer Vision and Pattern Recognition.
Changelog for package autoware_ptv3
0.50.0 (2026-02-14)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): update nvcc flags (#12053)
-
chore(autoware_ptv3): remove cudnn dependency (#11894)
-
chore: add maintainer of PTv3, FRNet, and CalibrationStatusClassifier (#11945)
- chore: update [autoware_ptv3]{.title-ref} maintainer
- chore: update [autoware_lidar_frnet]{.title-ref} maintainer
* chore: update [autoware_calibration_status_classifier]{.title-ref} maintainer ---------
-
Contributors: Amadeusz Szymko, Manato Hirabayashi, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_ptv3): implemented an inference node for ptv3 using tensorrt (#10600)
- feat: implemented an inference node for ptv3 using tensorrt
- chore: cspells
- chore: schemas
- chore: lint (line was too long)
- chore: more schemas
- fix: mistook the compute capabilities of edge devices
- chore: replaced incorrect bevfusion -> ptv3
- chore: forgot to remove unused schema
- chore: duplicated variable
- chore: changed package dep name
- chore: fixed schema comment
- chore: removed unused headers in the post process kernels
- chore: replaced in favor of auto
- chore: removed unused headers
- chore: changed initialization order
- chore: replaced 0 by nullptr
- chore: replaced type in favor of auto
- chore: removed redundant message
- chore: fixed compilation due to review changes
- fix: replaced int64 by uint64
- chore: added more descriptive comment in the schema
* style(autoware_ptv3): cleanup ---------Co-authored-by: Amadeusz Szymko <<amadeusz.szymko.2@tier4.jp>>
-
Contributors: Kenzo Lobos Tsunekawa, Ryohsuke Mitsudome
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/ptv3.launch.xml
-
- input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
- output/pointcloud/segmentation [default: ~/segmentation]
- output/pointcloud/visualization [default: ~/visualization]
- output/pointcloud/filtered [default: ~/filtered]
- data_path [default: $(env HOME)/autoware_data]
- model_name [default: ptv3]
- model_path [default: $(var data_path)/ptv3]
- model_param_path [default: $(find-pkg-share autoware_ptv3)/config/$(var model_name).param.yaml]
- ml_package_param_path [default: $(var model_path)/ml_package_$(var model_name).param.yaml]
- class_remapper_param_path [default: $(var model_path)/detection_class_remapper.param.yaml]
- build_only [default: false]
- log_level [default: info]
- use_pointcloud_container [default: false]
- pointcloud_container_name [default: pointcloud_container]