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-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_simpl_prediction
Purpose
The autoware_simpl_prediction is used for 3D object motion prediction based on ML-based model called SIMPL.
Inner-workings / Algorithms
The implementation bases on SIMPL [1] [2] work. It uses TensorRT library for data process and network interface.
Workflow overview of this node is as follows:
flowchart TD
In1@{ shape: card, label: "~/input/objects" } -- autoware_perception_msgs::msg::TrackedObjects --> Callback1@{ shape: rect, label: "SimplNode::callback(...)" }
Callback1 --> B@{ shape: stadium, label: "Start measuring Processing Time" }
In2@{ shape: card, label: "/localization/kinematic_state" } -- nav_msgs::msg::Odometry --> C
B --> C@{ shape: subproc, label: "SimplNode::subscribe_ego(...)" }
In3@{ shape: card, label: "~/input/vector_map" } -- "autoware_map_msgs::msg::LaneletMapBin" --> Callback2@{ shape: rect, label: "SimplNode::on_map(...)" }
Callback2 --> X@{ shape: subproc, label: "LaneletConverter::convert(...)" }
C -->|✅| D@{ shape: subproc, label: "LaneletConverter::polylines()" }
C -->|❌| Z1@{ shape: curv-trap, label: "⚠️WARNING: Failed to subscribe ego" } --> END@{ shape: stadium }
D -->|✅| E@{ shape: subproc, label: "SimplNode::update_history(...)" }
D -->|❌| Z2@{ shape: curv-trap, label: "⚠️WARNING: No map points" } --> END
E --> F@{ shape: subproc, label: "PreProcessor::process(...)" }
F --> G@{ shape: subproc, label: "TrtSimpl::do_inference(...)" }
G -->|✅| I@{ shape: subproc, label: "PostProcessor::process(...)" } --> J@{ shape: stadium, label: "Publish Predicted Objects" }
G -->|❌| Z3@{ shape: curv-trap, label: "⚠️ERROR: Inference failed" } --> H
J -- autoware_perception_msgs::msg::PredictedObjects --> Out1@{ shape: card, label: "~/output/objects" }
J --> H@{ shape: stadium, label: "Publish Processing & Cyclic Time" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out3@{ shape: card, label: "~/debug/cyclic_time_ms" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out2@{ shape: card, label: "~/debug/processing_time_ms" }
H --> END
Inputs Representation
- $X_A\in R^{N\times D_{agent}\times T_{past}}$: Agent histories input.
- $X_M\in R^{K\times P\times D_{map}}$: Map points input.
- $X_{RPE}\in R^{(N+K)\times (N+K)\times D_{rpe}}$: Relative pose encoding input.
Outputs Representation
- $P_{score}\in R^{N\times M}$: Predicted scores for each agent and mode.
- $P_{trajectory}\in R^{N\times M\times T_{future}\times D_{trajectory}}$: Predicted trajectories for each agent and mode.
- Where, $D_{trajectory}$ is $(x, y, v_x, v_y)$ in the agent local coordinate frame.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/objects |
autoware_perception_msgs::msg::TrackedObjects |
Input tracked agents. |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
Input vector map. |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Ego vehicle odometry. |
Outputs
| Name | Type | Description |
|---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted agents’ motion. |
Debug Outputs
| Name | Type | Description |
|---|---|---|
~/debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time [ms]. |
~/debug/processing_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Processing time [ms]. |
Parameters
{{ json_to_markdown(“perception/autoware_simpl_prediction/schema/simpl.schema.json”) }}
[WIP] Model Training / Deployment
Now we are preparing a library to train and deploy SIMPL and other ML models featuring motion prediction tasks.
Testing
Unit tests are provided and can be run with:
colcon test --packages-select autoware_simpl
colcon test-result --all
To print the test’s details with while the tests are being run, use the --event-handlers console_cohesion+ option to print the details directly to the console:
```bash colcon test –event-handlers console_cohesion+ –packages-select autoware_simpl
File truncated at 100 lines see the full file
Changelog for package autoware_simpl_prediction
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
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/simpl.launch.xml
-
- data_path [default: $(env HOME)/autoware_data/ml_models]
- param_path [default: $(find-pkg-share autoware_simpl_prediction)/config/simpl.param.yaml]
- input/objects [default: /input/objects]
- input/vector_map [default: /map/vector_map]
- output/objects [default: /output/objects]
- build_only [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_simpl_prediction 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-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_simpl_prediction
Purpose
The autoware_simpl_prediction is used for 3D object motion prediction based on ML-based model called SIMPL.
Inner-workings / Algorithms
The implementation bases on SIMPL [1] [2] work. It uses TensorRT library for data process and network interface.
Workflow overview of this node is as follows:
flowchart TD
In1@{ shape: card, label: "~/input/objects" } -- autoware_perception_msgs::msg::TrackedObjects --> Callback1@{ shape: rect, label: "SimplNode::callback(...)" }
Callback1 --> B@{ shape: stadium, label: "Start measuring Processing Time" }
In2@{ shape: card, label: "/localization/kinematic_state" } -- nav_msgs::msg::Odometry --> C
B --> C@{ shape: subproc, label: "SimplNode::subscribe_ego(...)" }
In3@{ shape: card, label: "~/input/vector_map" } -- "autoware_map_msgs::msg::LaneletMapBin" --> Callback2@{ shape: rect, label: "SimplNode::on_map(...)" }
Callback2 --> X@{ shape: subproc, label: "LaneletConverter::convert(...)" }
C -->|✅| D@{ shape: subproc, label: "LaneletConverter::polylines()" }
C -->|❌| Z1@{ shape: curv-trap, label: "⚠️WARNING: Failed to subscribe ego" } --> END@{ shape: stadium }
D -->|✅| E@{ shape: subproc, label: "SimplNode::update_history(...)" }
D -->|❌| Z2@{ shape: curv-trap, label: "⚠️WARNING: No map points" } --> END
E --> F@{ shape: subproc, label: "PreProcessor::process(...)" }
F --> G@{ shape: subproc, label: "TrtSimpl::do_inference(...)" }
G -->|✅| I@{ shape: subproc, label: "PostProcessor::process(...)" } --> J@{ shape: stadium, label: "Publish Predicted Objects" }
G -->|❌| Z3@{ shape: curv-trap, label: "⚠️ERROR: Inference failed" } --> H
J -- autoware_perception_msgs::msg::PredictedObjects --> Out1@{ shape: card, label: "~/output/objects" }
J --> H@{ shape: stadium, label: "Publish Processing & Cyclic Time" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out3@{ shape: card, label: "~/debug/cyclic_time_ms" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out2@{ shape: card, label: "~/debug/processing_time_ms" }
H --> END
Inputs Representation
- $X_A\in R^{N\times D_{agent}\times T_{past}}$: Agent histories input.
- $X_M\in R^{K\times P\times D_{map}}$: Map points input.
- $X_{RPE}\in R^{(N+K)\times (N+K)\times D_{rpe}}$: Relative pose encoding input.
Outputs Representation
- $P_{score}\in R^{N\times M}$: Predicted scores for each agent and mode.
- $P_{trajectory}\in R^{N\times M\times T_{future}\times D_{trajectory}}$: Predicted trajectories for each agent and mode.
- Where, $D_{trajectory}$ is $(x, y, v_x, v_y)$ in the agent local coordinate frame.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/objects |
autoware_perception_msgs::msg::TrackedObjects |
Input tracked agents. |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
Input vector map. |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Ego vehicle odometry. |
Outputs
| Name | Type | Description |
|---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted agents’ motion. |
Debug Outputs
| Name | Type | Description |
|---|---|---|
~/debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time [ms]. |
~/debug/processing_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Processing time [ms]. |
Parameters
{{ json_to_markdown(“perception/autoware_simpl_prediction/schema/simpl.schema.json”) }}
[WIP] Model Training / Deployment
Now we are preparing a library to train and deploy SIMPL and other ML models featuring motion prediction tasks.
Testing
Unit tests are provided and can be run with:
colcon test --packages-select autoware_simpl
colcon test-result --all
To print the test’s details with while the tests are being run, use the --event-handlers console_cohesion+ option to print the details directly to the console:
```bash colcon test –event-handlers console_cohesion+ –packages-select autoware_simpl
File truncated at 100 lines see the full file
Changelog for package autoware_simpl_prediction
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
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/simpl.launch.xml
-
- data_path [default: $(env HOME)/autoware_data/ml_models]
- param_path [default: $(find-pkg-share autoware_simpl_prediction)/config/simpl.param.yaml]
- input/objects [default: /input/objects]
- input/vector_map [default: /map/vector_map]
- output/objects [default: /output/objects]
- build_only [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_simpl_prediction 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-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_simpl_prediction
Purpose
The autoware_simpl_prediction is used for 3D object motion prediction based on ML-based model called SIMPL.
Inner-workings / Algorithms
The implementation bases on SIMPL [1] [2] work. It uses TensorRT library for data process and network interface.
Workflow overview of this node is as follows:
flowchart TD
In1@{ shape: card, label: "~/input/objects" } -- autoware_perception_msgs::msg::TrackedObjects --> Callback1@{ shape: rect, label: "SimplNode::callback(...)" }
Callback1 --> B@{ shape: stadium, label: "Start measuring Processing Time" }
In2@{ shape: card, label: "/localization/kinematic_state" } -- nav_msgs::msg::Odometry --> C
B --> C@{ shape: subproc, label: "SimplNode::subscribe_ego(...)" }
In3@{ shape: card, label: "~/input/vector_map" } -- "autoware_map_msgs::msg::LaneletMapBin" --> Callback2@{ shape: rect, label: "SimplNode::on_map(...)" }
Callback2 --> X@{ shape: subproc, label: "LaneletConverter::convert(...)" }
C -->|✅| D@{ shape: subproc, label: "LaneletConverter::polylines()" }
C -->|❌| Z1@{ shape: curv-trap, label: "⚠️WARNING: Failed to subscribe ego" } --> END@{ shape: stadium }
D -->|✅| E@{ shape: subproc, label: "SimplNode::update_history(...)" }
D -->|❌| Z2@{ shape: curv-trap, label: "⚠️WARNING: No map points" } --> END
E --> F@{ shape: subproc, label: "PreProcessor::process(...)" }
F --> G@{ shape: subproc, label: "TrtSimpl::do_inference(...)" }
G -->|✅| I@{ shape: subproc, label: "PostProcessor::process(...)" } --> J@{ shape: stadium, label: "Publish Predicted Objects" }
G -->|❌| Z3@{ shape: curv-trap, label: "⚠️ERROR: Inference failed" } --> H
J -- autoware_perception_msgs::msg::PredictedObjects --> Out1@{ shape: card, label: "~/output/objects" }
J --> H@{ shape: stadium, label: "Publish Processing & Cyclic Time" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out3@{ shape: card, label: "~/debug/cyclic_time_ms" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out2@{ shape: card, label: "~/debug/processing_time_ms" }
H --> END
Inputs Representation
- $X_A\in R^{N\times D_{agent}\times T_{past}}$: Agent histories input.
- $X_M\in R^{K\times P\times D_{map}}$: Map points input.
- $X_{RPE}\in R^{(N+K)\times (N+K)\times D_{rpe}}$: Relative pose encoding input.
Outputs Representation
- $P_{score}\in R^{N\times M}$: Predicted scores for each agent and mode.
- $P_{trajectory}\in R^{N\times M\times T_{future}\times D_{trajectory}}$: Predicted trajectories for each agent and mode.
- Where, $D_{trajectory}$ is $(x, y, v_x, v_y)$ in the agent local coordinate frame.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/objects |
autoware_perception_msgs::msg::TrackedObjects |
Input tracked agents. |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
Input vector map. |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Ego vehicle odometry. |
Outputs
| Name | Type | Description |
|---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted agents’ motion. |
Debug Outputs
| Name | Type | Description |
|---|---|---|
~/debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time [ms]. |
~/debug/processing_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Processing time [ms]. |
Parameters
{{ json_to_markdown(“perception/autoware_simpl_prediction/schema/simpl.schema.json”) }}
[WIP] Model Training / Deployment
Now we are preparing a library to train and deploy SIMPL and other ML models featuring motion prediction tasks.
Testing
Unit tests are provided and can be run with:
colcon test --packages-select autoware_simpl
colcon test-result --all
To print the test’s details with while the tests are being run, use the --event-handlers console_cohesion+ option to print the details directly to the console:
```bash colcon test –event-handlers console_cohesion+ –packages-select autoware_simpl
File truncated at 100 lines see the full file
Changelog for package autoware_simpl_prediction
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
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/simpl.launch.xml
-
- data_path [default: $(env HOME)/autoware_data/ml_models]
- param_path [default: $(find-pkg-share autoware_simpl_prediction)/config/simpl.param.yaml]
- input/objects [default: /input/objects]
- input/vector_map [default: /map/vector_map]
- output/objects [default: /output/objects]
- build_only [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_simpl_prediction 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-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_simpl_prediction
Purpose
The autoware_simpl_prediction is used for 3D object motion prediction based on ML-based model called SIMPL.
Inner-workings / Algorithms
The implementation bases on SIMPL [1] [2] work. It uses TensorRT library for data process and network interface.
Workflow overview of this node is as follows:
flowchart TD
In1@{ shape: card, label: "~/input/objects" } -- autoware_perception_msgs::msg::TrackedObjects --> Callback1@{ shape: rect, label: "SimplNode::callback(...)" }
Callback1 --> B@{ shape: stadium, label: "Start measuring Processing Time" }
In2@{ shape: card, label: "/localization/kinematic_state" } -- nav_msgs::msg::Odometry --> C
B --> C@{ shape: subproc, label: "SimplNode::subscribe_ego(...)" }
In3@{ shape: card, label: "~/input/vector_map" } -- "autoware_map_msgs::msg::LaneletMapBin" --> Callback2@{ shape: rect, label: "SimplNode::on_map(...)" }
Callback2 --> X@{ shape: subproc, label: "LaneletConverter::convert(...)" }
C -->|✅| D@{ shape: subproc, label: "LaneletConverter::polylines()" }
C -->|❌| Z1@{ shape: curv-trap, label: "⚠️WARNING: Failed to subscribe ego" } --> END@{ shape: stadium }
D -->|✅| E@{ shape: subproc, label: "SimplNode::update_history(...)" }
D -->|❌| Z2@{ shape: curv-trap, label: "⚠️WARNING: No map points" } --> END
E --> F@{ shape: subproc, label: "PreProcessor::process(...)" }
F --> G@{ shape: subproc, label: "TrtSimpl::do_inference(...)" }
G -->|✅| I@{ shape: subproc, label: "PostProcessor::process(...)" } --> J@{ shape: stadium, label: "Publish Predicted Objects" }
G -->|❌| Z3@{ shape: curv-trap, label: "⚠️ERROR: Inference failed" } --> H
J -- autoware_perception_msgs::msg::PredictedObjects --> Out1@{ shape: card, label: "~/output/objects" }
J --> H@{ shape: stadium, label: "Publish Processing & Cyclic Time" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out3@{ shape: card, label: "~/debug/cyclic_time_ms" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out2@{ shape: card, label: "~/debug/processing_time_ms" }
H --> END
Inputs Representation
- $X_A\in R^{N\times D_{agent}\times T_{past}}$: Agent histories input.
- $X_M\in R^{K\times P\times D_{map}}$: Map points input.
- $X_{RPE}\in R^{(N+K)\times (N+K)\times D_{rpe}}$: Relative pose encoding input.
Outputs Representation
- $P_{score}\in R^{N\times M}$: Predicted scores for each agent and mode.
- $P_{trajectory}\in R^{N\times M\times T_{future}\times D_{trajectory}}$: Predicted trajectories for each agent and mode.
- Where, $D_{trajectory}$ is $(x, y, v_x, v_y)$ in the agent local coordinate frame.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/objects |
autoware_perception_msgs::msg::TrackedObjects |
Input tracked agents. |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
Input vector map. |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Ego vehicle odometry. |
Outputs
| Name | Type | Description |
|---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted agents’ motion. |
Debug Outputs
| Name | Type | Description |
|---|---|---|
~/debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time [ms]. |
~/debug/processing_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Processing time [ms]. |
Parameters
{{ json_to_markdown(“perception/autoware_simpl_prediction/schema/simpl.schema.json”) }}
[WIP] Model Training / Deployment
Now we are preparing a library to train and deploy SIMPL and other ML models featuring motion prediction tasks.
Testing
Unit tests are provided and can be run with:
colcon test --packages-select autoware_simpl
colcon test-result --all
To print the test’s details with while the tests are being run, use the --event-handlers console_cohesion+ option to print the details directly to the console:
```bash colcon test –event-handlers console_cohesion+ –packages-select autoware_simpl
File truncated at 100 lines see the full file
Changelog for package autoware_simpl_prediction
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
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/simpl.launch.xml
-
- data_path [default: $(env HOME)/autoware_data/ml_models]
- param_path [default: $(find-pkg-share autoware_simpl_prediction)/config/simpl.param.yaml]
- input/objects [default: /input/objects]
- input/vector_map [default: /map/vector_map]
- output/objects [default: /output/objects]
- build_only [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_simpl_prediction 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-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_simpl_prediction
Purpose
The autoware_simpl_prediction is used for 3D object motion prediction based on ML-based model called SIMPL.
Inner-workings / Algorithms
The implementation bases on SIMPL [1] [2] work. It uses TensorRT library for data process and network interface.
Workflow overview of this node is as follows:
flowchart TD
In1@{ shape: card, label: "~/input/objects" } -- autoware_perception_msgs::msg::TrackedObjects --> Callback1@{ shape: rect, label: "SimplNode::callback(...)" }
Callback1 --> B@{ shape: stadium, label: "Start measuring Processing Time" }
In2@{ shape: card, label: "/localization/kinematic_state" } -- nav_msgs::msg::Odometry --> C
B --> C@{ shape: subproc, label: "SimplNode::subscribe_ego(...)" }
In3@{ shape: card, label: "~/input/vector_map" } -- "autoware_map_msgs::msg::LaneletMapBin" --> Callback2@{ shape: rect, label: "SimplNode::on_map(...)" }
Callback2 --> X@{ shape: subproc, label: "LaneletConverter::convert(...)" }
C -->|✅| D@{ shape: subproc, label: "LaneletConverter::polylines()" }
C -->|❌| Z1@{ shape: curv-trap, label: "⚠️WARNING: Failed to subscribe ego" } --> END@{ shape: stadium }
D -->|✅| E@{ shape: subproc, label: "SimplNode::update_history(...)" }
D -->|❌| Z2@{ shape: curv-trap, label: "⚠️WARNING: No map points" } --> END
E --> F@{ shape: subproc, label: "PreProcessor::process(...)" }
F --> G@{ shape: subproc, label: "TrtSimpl::do_inference(...)" }
G -->|✅| I@{ shape: subproc, label: "PostProcessor::process(...)" } --> J@{ shape: stadium, label: "Publish Predicted Objects" }
G -->|❌| Z3@{ shape: curv-trap, label: "⚠️ERROR: Inference failed" } --> H
J -- autoware_perception_msgs::msg::PredictedObjects --> Out1@{ shape: card, label: "~/output/objects" }
J --> H@{ shape: stadium, label: "Publish Processing & Cyclic Time" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out3@{ shape: card, label: "~/debug/cyclic_time_ms" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out2@{ shape: card, label: "~/debug/processing_time_ms" }
H --> END
Inputs Representation
- $X_A\in R^{N\times D_{agent}\times T_{past}}$: Agent histories input.
- $X_M\in R^{K\times P\times D_{map}}$: Map points input.
- $X_{RPE}\in R^{(N+K)\times (N+K)\times D_{rpe}}$: Relative pose encoding input.
Outputs Representation
- $P_{score}\in R^{N\times M}$: Predicted scores for each agent and mode.
- $P_{trajectory}\in R^{N\times M\times T_{future}\times D_{trajectory}}$: Predicted trajectories for each agent and mode.
- Where, $D_{trajectory}$ is $(x, y, v_x, v_y)$ in the agent local coordinate frame.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/objects |
autoware_perception_msgs::msg::TrackedObjects |
Input tracked agents. |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
Input vector map. |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Ego vehicle odometry. |
Outputs
| Name | Type | Description |
|---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted agents’ motion. |
Debug Outputs
| Name | Type | Description |
|---|---|---|
~/debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time [ms]. |
~/debug/processing_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Processing time [ms]. |
Parameters
{{ json_to_markdown(“perception/autoware_simpl_prediction/schema/simpl.schema.json”) }}
[WIP] Model Training / Deployment
Now we are preparing a library to train and deploy SIMPL and other ML models featuring motion prediction tasks.
Testing
Unit tests are provided and can be run with:
colcon test --packages-select autoware_simpl
colcon test-result --all
To print the test’s details with while the tests are being run, use the --event-handlers console_cohesion+ option to print the details directly to the console:
```bash colcon test –event-handlers console_cohesion+ –packages-select autoware_simpl
File truncated at 100 lines see the full file
Changelog for package autoware_simpl_prediction
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
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/simpl.launch.xml
-
- data_path [default: $(env HOME)/autoware_data/ml_models]
- param_path [default: $(find-pkg-share autoware_simpl_prediction)/config/simpl.param.yaml]
- input/objects [default: /input/objects]
- input/vector_map [default: /map/vector_map]
- output/objects [default: /output/objects]
- build_only [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_simpl_prediction 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-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_simpl_prediction
Purpose
The autoware_simpl_prediction is used for 3D object motion prediction based on ML-based model called SIMPL.
Inner-workings / Algorithms
The implementation bases on SIMPL [1] [2] work. It uses TensorRT library for data process and network interface.
Workflow overview of this node is as follows:
flowchart TD
In1@{ shape: card, label: "~/input/objects" } -- autoware_perception_msgs::msg::TrackedObjects --> Callback1@{ shape: rect, label: "SimplNode::callback(...)" }
Callback1 --> B@{ shape: stadium, label: "Start measuring Processing Time" }
In2@{ shape: card, label: "/localization/kinematic_state" } -- nav_msgs::msg::Odometry --> C
B --> C@{ shape: subproc, label: "SimplNode::subscribe_ego(...)" }
In3@{ shape: card, label: "~/input/vector_map" } -- "autoware_map_msgs::msg::LaneletMapBin" --> Callback2@{ shape: rect, label: "SimplNode::on_map(...)" }
Callback2 --> X@{ shape: subproc, label: "LaneletConverter::convert(...)" }
C -->|✅| D@{ shape: subproc, label: "LaneletConverter::polylines()" }
C -->|❌| Z1@{ shape: curv-trap, label: "⚠️WARNING: Failed to subscribe ego" } --> END@{ shape: stadium }
D -->|✅| E@{ shape: subproc, label: "SimplNode::update_history(...)" }
D -->|❌| Z2@{ shape: curv-trap, label: "⚠️WARNING: No map points" } --> END
E --> F@{ shape: subproc, label: "PreProcessor::process(...)" }
F --> G@{ shape: subproc, label: "TrtSimpl::do_inference(...)" }
G -->|✅| I@{ shape: subproc, label: "PostProcessor::process(...)" } --> J@{ shape: stadium, label: "Publish Predicted Objects" }
G -->|❌| Z3@{ shape: curv-trap, label: "⚠️ERROR: Inference failed" } --> H
J -- autoware_perception_msgs::msg::PredictedObjects --> Out1@{ shape: card, label: "~/output/objects" }
J --> H@{ shape: stadium, label: "Publish Processing & Cyclic Time" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out3@{ shape: card, label: "~/debug/cyclic_time_ms" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out2@{ shape: card, label: "~/debug/processing_time_ms" }
H --> END
Inputs Representation
- $X_A\in R^{N\times D_{agent}\times T_{past}}$: Agent histories input.
- $X_M\in R^{K\times P\times D_{map}}$: Map points input.
- $X_{RPE}\in R^{(N+K)\times (N+K)\times D_{rpe}}$: Relative pose encoding input.
Outputs Representation
- $P_{score}\in R^{N\times M}$: Predicted scores for each agent and mode.
- $P_{trajectory}\in R^{N\times M\times T_{future}\times D_{trajectory}}$: Predicted trajectories for each agent and mode.
- Where, $D_{trajectory}$ is $(x, y, v_x, v_y)$ in the agent local coordinate frame.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/objects |
autoware_perception_msgs::msg::TrackedObjects |
Input tracked agents. |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
Input vector map. |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Ego vehicle odometry. |
Outputs
| Name | Type | Description |
|---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted agents’ motion. |
Debug Outputs
| Name | Type | Description |
|---|---|---|
~/debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time [ms]. |
~/debug/processing_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Processing time [ms]. |
Parameters
{{ json_to_markdown(“perception/autoware_simpl_prediction/schema/simpl.schema.json”) }}
[WIP] Model Training / Deployment
Now we are preparing a library to train and deploy SIMPL and other ML models featuring motion prediction tasks.
Testing
Unit tests are provided and can be run with:
colcon test --packages-select autoware_simpl
colcon test-result --all
To print the test’s details with while the tests are being run, use the --event-handlers console_cohesion+ option to print the details directly to the console:
```bash colcon test –event-handlers console_cohesion+ –packages-select autoware_simpl
File truncated at 100 lines see the full file
Changelog for package autoware_simpl_prediction
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
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/simpl.launch.xml
-
- data_path [default: $(env HOME)/autoware_data/ml_models]
- param_path [default: $(find-pkg-share autoware_simpl_prediction)/config/simpl.param.yaml]
- input/objects [default: /input/objects]
- input/vector_map [default: /map/vector_map]
- output/objects [default: /output/objects]
- build_only [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_simpl_prediction 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-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_simpl_prediction
Purpose
The autoware_simpl_prediction is used for 3D object motion prediction based on ML-based model called SIMPL.
Inner-workings / Algorithms
The implementation bases on SIMPL [1] [2] work. It uses TensorRT library for data process and network interface.
Workflow overview of this node is as follows:
flowchart TD
In1@{ shape: card, label: "~/input/objects" } -- autoware_perception_msgs::msg::TrackedObjects --> Callback1@{ shape: rect, label: "SimplNode::callback(...)" }
Callback1 --> B@{ shape: stadium, label: "Start measuring Processing Time" }
In2@{ shape: card, label: "/localization/kinematic_state" } -- nav_msgs::msg::Odometry --> C
B --> C@{ shape: subproc, label: "SimplNode::subscribe_ego(...)" }
In3@{ shape: card, label: "~/input/vector_map" } -- "autoware_map_msgs::msg::LaneletMapBin" --> Callback2@{ shape: rect, label: "SimplNode::on_map(...)" }
Callback2 --> X@{ shape: subproc, label: "LaneletConverter::convert(...)" }
C -->|✅| D@{ shape: subproc, label: "LaneletConverter::polylines()" }
C -->|❌| Z1@{ shape: curv-trap, label: "⚠️WARNING: Failed to subscribe ego" } --> END@{ shape: stadium }
D -->|✅| E@{ shape: subproc, label: "SimplNode::update_history(...)" }
D -->|❌| Z2@{ shape: curv-trap, label: "⚠️WARNING: No map points" } --> END
E --> F@{ shape: subproc, label: "PreProcessor::process(...)" }
F --> G@{ shape: subproc, label: "TrtSimpl::do_inference(...)" }
G -->|✅| I@{ shape: subproc, label: "PostProcessor::process(...)" } --> J@{ shape: stadium, label: "Publish Predicted Objects" }
G -->|❌| Z3@{ shape: curv-trap, label: "⚠️ERROR: Inference failed" } --> H
J -- autoware_perception_msgs::msg::PredictedObjects --> Out1@{ shape: card, label: "~/output/objects" }
J --> H@{ shape: stadium, label: "Publish Processing & Cyclic Time" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out3@{ shape: card, label: "~/debug/cyclic_time_ms" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out2@{ shape: card, label: "~/debug/processing_time_ms" }
H --> END
Inputs Representation
- $X_A\in R^{N\times D_{agent}\times T_{past}}$: Agent histories input.
- $X_M\in R^{K\times P\times D_{map}}$: Map points input.
- $X_{RPE}\in R^{(N+K)\times (N+K)\times D_{rpe}}$: Relative pose encoding input.
Outputs Representation
- $P_{score}\in R^{N\times M}$: Predicted scores for each agent and mode.
- $P_{trajectory}\in R^{N\times M\times T_{future}\times D_{trajectory}}$: Predicted trajectories for each agent and mode.
- Where, $D_{trajectory}$ is $(x, y, v_x, v_y)$ in the agent local coordinate frame.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/objects |
autoware_perception_msgs::msg::TrackedObjects |
Input tracked agents. |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
Input vector map. |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Ego vehicle odometry. |
Outputs
| Name | Type | Description |
|---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted agents’ motion. |
Debug Outputs
| Name | Type | Description |
|---|---|---|
~/debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time [ms]. |
~/debug/processing_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Processing time [ms]. |
Parameters
{{ json_to_markdown(“perception/autoware_simpl_prediction/schema/simpl.schema.json”) }}
[WIP] Model Training / Deployment
Now we are preparing a library to train and deploy SIMPL and other ML models featuring motion prediction tasks.
Testing
Unit tests are provided and can be run with:
colcon test --packages-select autoware_simpl
colcon test-result --all
To print the test’s details with while the tests are being run, use the --event-handlers console_cohesion+ option to print the details directly to the console:
```bash colcon test –event-handlers console_cohesion+ –packages-select autoware_simpl
File truncated at 100 lines see the full file
Changelog for package autoware_simpl_prediction
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
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/simpl.launch.xml
-
- data_path [default: $(env HOME)/autoware_data/ml_models]
- param_path [default: $(find-pkg-share autoware_simpl_prediction)/config/simpl.param.yaml]
- input/objects [default: /input/objects]
- input/vector_map [default: /map/vector_map]
- output/objects [default: /output/objects]
- build_only [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_simpl_prediction 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-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_simpl_prediction
Purpose
The autoware_simpl_prediction is used for 3D object motion prediction based on ML-based model called SIMPL.
Inner-workings / Algorithms
The implementation bases on SIMPL [1] [2] work. It uses TensorRT library for data process and network interface.
Workflow overview of this node is as follows:
flowchart TD
In1@{ shape: card, label: "~/input/objects" } -- autoware_perception_msgs::msg::TrackedObjects --> Callback1@{ shape: rect, label: "SimplNode::callback(...)" }
Callback1 --> B@{ shape: stadium, label: "Start measuring Processing Time" }
In2@{ shape: card, label: "/localization/kinematic_state" } -- nav_msgs::msg::Odometry --> C
B --> C@{ shape: subproc, label: "SimplNode::subscribe_ego(...)" }
In3@{ shape: card, label: "~/input/vector_map" } -- "autoware_map_msgs::msg::LaneletMapBin" --> Callback2@{ shape: rect, label: "SimplNode::on_map(...)" }
Callback2 --> X@{ shape: subproc, label: "LaneletConverter::convert(...)" }
C -->|✅| D@{ shape: subproc, label: "LaneletConverter::polylines()" }
C -->|❌| Z1@{ shape: curv-trap, label: "⚠️WARNING: Failed to subscribe ego" } --> END@{ shape: stadium }
D -->|✅| E@{ shape: subproc, label: "SimplNode::update_history(...)" }
D -->|❌| Z2@{ shape: curv-trap, label: "⚠️WARNING: No map points" } --> END
E --> F@{ shape: subproc, label: "PreProcessor::process(...)" }
F --> G@{ shape: subproc, label: "TrtSimpl::do_inference(...)" }
G -->|✅| I@{ shape: subproc, label: "PostProcessor::process(...)" } --> J@{ shape: stadium, label: "Publish Predicted Objects" }
G -->|❌| Z3@{ shape: curv-trap, label: "⚠️ERROR: Inference failed" } --> H
J -- autoware_perception_msgs::msg::PredictedObjects --> Out1@{ shape: card, label: "~/output/objects" }
J --> H@{ shape: stadium, label: "Publish Processing & Cyclic Time" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out3@{ shape: card, label: "~/debug/cyclic_time_ms" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out2@{ shape: card, label: "~/debug/processing_time_ms" }
H --> END
Inputs Representation
- $X_A\in R^{N\times D_{agent}\times T_{past}}$: Agent histories input.
- $X_M\in R^{K\times P\times D_{map}}$: Map points input.
- $X_{RPE}\in R^{(N+K)\times (N+K)\times D_{rpe}}$: Relative pose encoding input.
Outputs Representation
- $P_{score}\in R^{N\times M}$: Predicted scores for each agent and mode.
- $P_{trajectory}\in R^{N\times M\times T_{future}\times D_{trajectory}}$: Predicted trajectories for each agent and mode.
- Where, $D_{trajectory}$ is $(x, y, v_x, v_y)$ in the agent local coordinate frame.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/objects |
autoware_perception_msgs::msg::TrackedObjects |
Input tracked agents. |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
Input vector map. |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Ego vehicle odometry. |
Outputs
| Name | Type | Description |
|---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted agents’ motion. |
Debug Outputs
| Name | Type | Description |
|---|---|---|
~/debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time [ms]. |
~/debug/processing_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Processing time [ms]. |
Parameters
{{ json_to_markdown(“perception/autoware_simpl_prediction/schema/simpl.schema.json”) }}
[WIP] Model Training / Deployment
Now we are preparing a library to train and deploy SIMPL and other ML models featuring motion prediction tasks.
Testing
Unit tests are provided and can be run with:
colcon test --packages-select autoware_simpl
colcon test-result --all
To print the test’s details with while the tests are being run, use the --event-handlers console_cohesion+ option to print the details directly to the console:
```bash colcon test –event-handlers console_cohesion+ –packages-select autoware_simpl
File truncated at 100 lines see the full file
Changelog for package autoware_simpl_prediction
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
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/simpl.launch.xml
-
- data_path [default: $(env HOME)/autoware_data/ml_models]
- param_path [default: $(find-pkg-share autoware_simpl_prediction)/config/simpl.param.yaml]
- input/objects [default: /input/objects]
- input/vector_map [default: /map/vector_map]
- output/objects [default: /output/objects]
- build_only [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_simpl_prediction 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-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_simpl_prediction
Purpose
The autoware_simpl_prediction is used for 3D object motion prediction based on ML-based model called SIMPL.
Inner-workings / Algorithms
The implementation bases on SIMPL [1] [2] work. It uses TensorRT library for data process and network interface.
Workflow overview of this node is as follows:
flowchart TD
In1@{ shape: card, label: "~/input/objects" } -- autoware_perception_msgs::msg::TrackedObjects --> Callback1@{ shape: rect, label: "SimplNode::callback(...)" }
Callback1 --> B@{ shape: stadium, label: "Start measuring Processing Time" }
In2@{ shape: card, label: "/localization/kinematic_state" } -- nav_msgs::msg::Odometry --> C
B --> C@{ shape: subproc, label: "SimplNode::subscribe_ego(...)" }
In3@{ shape: card, label: "~/input/vector_map" } -- "autoware_map_msgs::msg::LaneletMapBin" --> Callback2@{ shape: rect, label: "SimplNode::on_map(...)" }
Callback2 --> X@{ shape: subproc, label: "LaneletConverter::convert(...)" }
C -->|✅| D@{ shape: subproc, label: "LaneletConverter::polylines()" }
C -->|❌| Z1@{ shape: curv-trap, label: "⚠️WARNING: Failed to subscribe ego" } --> END@{ shape: stadium }
D -->|✅| E@{ shape: subproc, label: "SimplNode::update_history(...)" }
D -->|❌| Z2@{ shape: curv-trap, label: "⚠️WARNING: No map points" } --> END
E --> F@{ shape: subproc, label: "PreProcessor::process(...)" }
F --> G@{ shape: subproc, label: "TrtSimpl::do_inference(...)" }
G -->|✅| I@{ shape: subproc, label: "PostProcessor::process(...)" } --> J@{ shape: stadium, label: "Publish Predicted Objects" }
G -->|❌| Z3@{ shape: curv-trap, label: "⚠️ERROR: Inference failed" } --> H
J -- autoware_perception_msgs::msg::PredictedObjects --> Out1@{ shape: card, label: "~/output/objects" }
J --> H@{ shape: stadium, label: "Publish Processing & Cyclic Time" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out3@{ shape: card, label: "~/debug/cyclic_time_ms" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out2@{ shape: card, label: "~/debug/processing_time_ms" }
H --> END
Inputs Representation
- $X_A\in R^{N\times D_{agent}\times T_{past}}$: Agent histories input.
- $X_M\in R^{K\times P\times D_{map}}$: Map points input.
- $X_{RPE}\in R^{(N+K)\times (N+K)\times D_{rpe}}$: Relative pose encoding input.
Outputs Representation
- $P_{score}\in R^{N\times M}$: Predicted scores for each agent and mode.
- $P_{trajectory}\in R^{N\times M\times T_{future}\times D_{trajectory}}$: Predicted trajectories for each agent and mode.
- Where, $D_{trajectory}$ is $(x, y, v_x, v_y)$ in the agent local coordinate frame.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/objects |
autoware_perception_msgs::msg::TrackedObjects |
Input tracked agents. |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
Input vector map. |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Ego vehicle odometry. |
Outputs
| Name | Type | Description |
|---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted agents’ motion. |
Debug Outputs
| Name | Type | Description |
|---|---|---|
~/debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time [ms]. |
~/debug/processing_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Processing time [ms]. |
Parameters
{{ json_to_markdown(“perception/autoware_simpl_prediction/schema/simpl.schema.json”) }}
[WIP] Model Training / Deployment
Now we are preparing a library to train and deploy SIMPL and other ML models featuring motion prediction tasks.
Testing
Unit tests are provided and can be run with:
colcon test --packages-select autoware_simpl
colcon test-result --all
To print the test’s details with while the tests are being run, use the --event-handlers console_cohesion+ option to print the details directly to the console:
```bash colcon test –event-handlers console_cohesion+ –packages-select autoware_simpl
File truncated at 100 lines see the full file
Changelog for package autoware_simpl_prediction
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
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/simpl.launch.xml
-
- data_path [default: $(env HOME)/autoware_data/ml_models]
- param_path [default: $(find-pkg-share autoware_simpl_prediction)/config/simpl.param.yaml]
- input/objects [default: /input/objects]
- input/vector_map [default: /map/vector_map]
- output/objects [default: /output/objects]
- build_only [default: false]
Messages
Services
Plugins
Recent questions tagged autoware_simpl_prediction 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-26 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kotaro Uetake
- Yoshi Ri
- Taekjin Lee
Authors
autoware_simpl_prediction
Purpose
The autoware_simpl_prediction is used for 3D object motion prediction based on ML-based model called SIMPL.
Inner-workings / Algorithms
The implementation bases on SIMPL [1] [2] work. It uses TensorRT library for data process and network interface.
Workflow overview of this node is as follows:
flowchart TD
In1@{ shape: card, label: "~/input/objects" } -- autoware_perception_msgs::msg::TrackedObjects --> Callback1@{ shape: rect, label: "SimplNode::callback(...)" }
Callback1 --> B@{ shape: stadium, label: "Start measuring Processing Time" }
In2@{ shape: card, label: "/localization/kinematic_state" } -- nav_msgs::msg::Odometry --> C
B --> C@{ shape: subproc, label: "SimplNode::subscribe_ego(...)" }
In3@{ shape: card, label: "~/input/vector_map" } -- "autoware_map_msgs::msg::LaneletMapBin" --> Callback2@{ shape: rect, label: "SimplNode::on_map(...)" }
Callback2 --> X@{ shape: subproc, label: "LaneletConverter::convert(...)" }
C -->|✅| D@{ shape: subproc, label: "LaneletConverter::polylines()" }
C -->|❌| Z1@{ shape: curv-trap, label: "⚠️WARNING: Failed to subscribe ego" } --> END@{ shape: stadium }
D -->|✅| E@{ shape: subproc, label: "SimplNode::update_history(...)" }
D -->|❌| Z2@{ shape: curv-trap, label: "⚠️WARNING: No map points" } --> END
E --> F@{ shape: subproc, label: "PreProcessor::process(...)" }
F --> G@{ shape: subproc, label: "TrtSimpl::do_inference(...)" }
G -->|✅| I@{ shape: subproc, label: "PostProcessor::process(...)" } --> J@{ shape: stadium, label: "Publish Predicted Objects" }
G -->|❌| Z3@{ shape: curv-trap, label: "⚠️ERROR: Inference failed" } --> H
J -- autoware_perception_msgs::msg::PredictedObjects --> Out1@{ shape: card, label: "~/output/objects" }
J --> H@{ shape: stadium, label: "Publish Processing & Cyclic Time" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out3@{ shape: card, label: "~/debug/cyclic_time_ms" }
H -- autoware_internal_debug_msgs::msg::Float64Stamped --> Out2@{ shape: card, label: "~/debug/processing_time_ms" }
H --> END
Inputs Representation
- $X_A\in R^{N\times D_{agent}\times T_{past}}$: Agent histories input.
- $X_M\in R^{K\times P\times D_{map}}$: Map points input.
- $X_{RPE}\in R^{(N+K)\times (N+K)\times D_{rpe}}$: Relative pose encoding input.
Outputs Representation
- $P_{score}\in R^{N\times M}$: Predicted scores for each agent and mode.
- $P_{trajectory}\in R^{N\times M\times T_{future}\times D_{trajectory}}$: Predicted trajectories for each agent and mode.
- Where, $D_{trajectory}$ is $(x, y, v_x, v_y)$ in the agent local coordinate frame.
Inputs / Outputs
Inputs
| Name | Type | Description |
|---|---|---|
~/input/objects |
autoware_perception_msgs::msg::TrackedObjects |
Input tracked agents. |
~/input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
Input vector map. |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Ego vehicle odometry. |
Outputs
| Name | Type | Description |
|---|---|---|
~/output/objects |
autoware_perception_msgs::msg::PredictedObjects |
Predicted agents’ motion. |
Debug Outputs
| Name | Type | Description |
|---|---|---|
~/debug/cyclic_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Cyclic time [ms]. |
~/debug/processing_time_ms |
autoware_internal_debug_msgs::msg::Float64Stamped |
Processing time [ms]. |
Parameters
{{ json_to_markdown(“perception/autoware_simpl_prediction/schema/simpl.schema.json”) }}
[WIP] Model Training / Deployment
Now we are preparing a library to train and deploy SIMPL and other ML models featuring motion prediction tasks.
Testing
Unit tests are provided and can be run with:
colcon test --packages-select autoware_simpl
colcon test-result --all
To print the test’s details with while the tests are being run, use the --event-handlers console_cohesion+ option to print the details directly to the console:
```bash colcon test –event-handlers console_cohesion+ –packages-select autoware_simpl
File truncated at 100 lines see the full file
Changelog for package autoware_simpl_prediction
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
Dependant Packages
| Name | Deps |
|---|---|
| autoware_perception_launch |
Launch files
- launch/simpl.launch.xml
-
- data_path [default: $(env HOME)/autoware_data/ml_models]
- param_path [default: $(find-pkg-share autoware_simpl_prediction)/config/simpl.param.yaml]
- input/objects [default: /input/objects]
- input/vector_map [default: /map/vector_map]
- output/objects [default: /output/objects]
- build_only [default: false]