Package Summary
| Tags | No category tags. |
| Version | 0.48.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 | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Yukihiro Saito
- Junya Sasaki
Authors
dummy_perception_publisher
Purpose
This node publishes the result of the dummy detection with the type of perception. The node uses a plugin architecture to support different object movement strategies.
Inner-workings / Algorithms
Plugin Architecture
The node uses a plugin-based architecture to handle different types of object movement. This allows for flexible and extensible movement behaviors without modifying the core node logic.
Available Plugins
- StraightLineObjectMovementPlugin: Moves objects in straight lines based on their initial velocity and direction.
- PredictedObjectMovementPlugin: Moves objects along predicted paths from perception predictions, providing more realistic movement patterns.
Plugin Base Class
All movement plugins inherit from DummyObjectMovementBasePlugin which provides:
- Object management (add, delete operations)
- Associated action type handling
- Common interface for object movement
Object Action Handling
- ADD: New objects are created and they move in a straight line, acceleration and deceleration parameters can be used.
- MODIFY: Handled directly by the node, bypassing plugin movement logic. Immediately replaces the object’s position information across all plugins.
- DELETE: The specified object is removed from all plugins.
- DELETEALL: Clears all objects from all plugins.
- PREDICT: New objects are created, they move in a straight line for a set time and then the predictions extracted from the perception module are used to dictate where the objects will move to. NOTE: for ease of calculation, acceleration is not taken into account when calculating the object’s position, only its initial speed.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/tf |
tf2_msgs/TFMessage |
TF (self-pose) |
input/object |
tier4_simulation_msgs::msg::DummyObject |
dummy detection objects |
predicted_objects |
autoware_perception_msgs::msg::PredictedObjects |
predicted objects (used by PredictedObjectMovementPlugin) |
Output
| Name | Type | Description |
|---|---|---|
output/dynamic_object |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
dummy detection objects |
output/points_raw |
sensor_msgs::msg::PointCloud2 |
point cloud of objects |
output/debug/ground_truth_objects |
autoware_perception_msgs::msg::TrackedObjects |
ground truth objects |
Parameters
Core Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
visible_range |
double | 100.0 | sensor visible range [m] |
detection_successful_rate |
double | 0.8 | sensor detection rate. (min) 0.0 - 1.0(max) |
enable_ray_tracing |
bool | true | if True, use ray tracking |
use_object_recognition |
bool | true | if True, publish objects topic |
use_base_link_z |
bool | true | if True, node uses z coordinate of ego base_link |
publish_ground_truth |
bool | false | if True, publish ground truth objects |
use_fixed_random_seed |
bool | false | if True, use fixed random seed |
random_seed |
int | 0 | random seed |
object_centric_pointcloud |
bool | false | if True, generate object-centric point clouds |
angle_increment |
double | 0.004363323 | angle increment for ray tracing (0.25° in radians) |
PredictedObjectMovementPlugin Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
min_predicted_path_keep_duration |
double | 3.0 | minimum time (seconds) to keep using same prediction |
switch_time_threshold |
double | 2.0 | time threshold (seconds) to switch from straight-line to predicted path |
Common Remapping Parameters
The plugin uses CommonParameters for both vehicle and pedestrian object types. Each parameter is prefixed with either vehicle. or pedestrian.:
| Parameter Name | Type | Explanation |
|---|---|---|
max_remapping_distance |
double | maximum distance (meters) for remapping validation |
max_speed_difference_ratio |
double | maximum speed difference ratio tolerance |
min_speed_ratio |
double | minimum speed ratio relative to dummy object speed |
max_speed_ratio |
double | maximum speed ratio relative to dummy object speed |
speed_check_threshold |
double | speed threshold (m/s) above which speed checks apply |
path_selection_strategy |
string | path selection strategy: “highest_confidence” or “random” |
Changelog for package autoware_dummy_perception_publisher
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(dummy_perception_publisher): add conversion to PointXYZIRC for output clouds (#11453)
- feat(dummy_perception_publisher): Add conversion to PointXYZIRC for output clouds
* style(pre-commit): autofix ---------Co-authored-by: Takeshi Miura <<m.takeshi1995@gmail.com>> Co-authored-by: Junya Sasaki <<junya.sasaki@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
feat(autoware_dummy_perception_publisher): dummy object predicted path functionality (#11011)
- feat: implement euclidean distance-based mapping for dummy perception publisher
- Add euclidean distance-based mapping between dummy objects and predicted objects
- Implement 2-second grace period before using predicted paths
- Add distance-based interpolation along predicted paths using dummy object speed
- Use predictions at least 1 second old for better movement calculation
- Maintain one-to-one mapping between dummy and predicted objects
- Add predicted objects subscription and buffer management
- Preserve dummy object velocity throughout movement
- feat: enhance euclidean distance-based mapping with prediction stability
- Implement prediction keeping logic for 1-second intervals to reduce jitter
- Add prediction storage maps for stable object tracking
- Remove debug output and clean up prediction selection logic
- Use object creation time instead of mapping time for 2-second grace period
- Improve handling of predicted object ID changes with proper remapping
- Clean up unused mapping time parameter from ObjectInfo constructor
- feat: increase prediction stability duration to 3 seconds
- Change MIN_KEEP_DURATION from 1.0 to 3.0 seconds for more stable object tracking
- Add debug output to track prediction usage
- Fix code formatting and whitespace
- feat: implement trajectory extrapolation and lost object handling
- Add trajectory extrapolation when objects overshoot predicted paths
- Use last two trajectory points to determine direction for extrapolation
- Maintain last known orientation during extrapolation
- Keep using last predicted trajectory for lost objects
- Add proper fallbacks for edge cases (single point paths, zero-length segments)
- Clean up debug output to avoid duplication
- feat: add trajectory validation to prevent unrealistic direction changes
- Add isTrajectoryValid function to validate new predictions against current ones
- Implement thresholds for yaw change (45°), direction change (60°), and speed change (200%)
- Skip trajectory updates when validation fails to maintain smooth object movement
- Handle edge cases including empty paths and low-speed scenarios
- Add detailed logging for debugging trajectory rejections
- feat: relax trajectory validation thresholds for more realistic movement
- Increase yaw change threshold from 45° to 90°
- Increase direction change threshold from 60° to 120°
- Increase speed change threshold from 200% to 500%
- Allow for more realistic vehicle maneuvers while still preventing physics violations
- feat: add path length validation to trajectory comparison
- Add MAX_PATH_LENGTH_CHANGE_RATIO threshold (300% change)
- Calculate path lengths for both current and new trajectories
- Compare path length ratios to prevent unrealistic path changes
- Skip validation for very short paths (less than 0.1m)
- Add detailed logging for path length validation failures
- feat: add comprehensive validation for object remapping candidates
- Add isValidRemappingCandidate function to validate remapping candidates
- Implement position, trajectory, and heading similarity checks
- Add arePathsSimilar function to compare path shapes and directions
- Use validation in both remapping and unmapped object scenarios
- Add detailed logging for debugging validation failures
- Set appropriate thresholds for distance, yaw, and path comparison
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| tier4_simulator_launch |
Launch files
- launch/dummy_perception_publisher.launch.xml
-
- visible_range [default: 300.0]
- real [default: true]
- use_object_recognition [default: true]
- use_base_link_z [default: true]
- dummy_perception_publisher_config_file [default: $(find-pkg-share autoware_dummy_perception_publisher)/config/dummy_perception_publisher.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_dummy_perception_publisher at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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 | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Yukihiro Saito
- Junya Sasaki
Authors
dummy_perception_publisher
Purpose
This node publishes the result of the dummy detection with the type of perception. The node uses a plugin architecture to support different object movement strategies.
Inner-workings / Algorithms
Plugin Architecture
The node uses a plugin-based architecture to handle different types of object movement. This allows for flexible and extensible movement behaviors without modifying the core node logic.
Available Plugins
- StraightLineObjectMovementPlugin: Moves objects in straight lines based on their initial velocity and direction.
- PredictedObjectMovementPlugin: Moves objects along predicted paths from perception predictions, providing more realistic movement patterns.
Plugin Base Class
All movement plugins inherit from DummyObjectMovementBasePlugin which provides:
- Object management (add, delete operations)
- Associated action type handling
- Common interface for object movement
Object Action Handling
- ADD: New objects are created and they move in a straight line, acceleration and deceleration parameters can be used.
- MODIFY: Handled directly by the node, bypassing plugin movement logic. Immediately replaces the object’s position information across all plugins.
- DELETE: The specified object is removed from all plugins.
- DELETEALL: Clears all objects from all plugins.
- PREDICT: New objects are created, they move in a straight line for a set time and then the predictions extracted from the perception module are used to dictate where the objects will move to. NOTE: for ease of calculation, acceleration is not taken into account when calculating the object’s position, only its initial speed.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/tf |
tf2_msgs/TFMessage |
TF (self-pose) |
input/object |
tier4_simulation_msgs::msg::DummyObject |
dummy detection objects |
predicted_objects |
autoware_perception_msgs::msg::PredictedObjects |
predicted objects (used by PredictedObjectMovementPlugin) |
Output
| Name | Type | Description |
|---|---|---|
output/dynamic_object |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
dummy detection objects |
output/points_raw |
sensor_msgs::msg::PointCloud2 |
point cloud of objects |
output/debug/ground_truth_objects |
autoware_perception_msgs::msg::TrackedObjects |
ground truth objects |
Parameters
Core Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
visible_range |
double | 100.0 | sensor visible range [m] |
detection_successful_rate |
double | 0.8 | sensor detection rate. (min) 0.0 - 1.0(max) |
enable_ray_tracing |
bool | true | if True, use ray tracking |
use_object_recognition |
bool | true | if True, publish objects topic |
use_base_link_z |
bool | true | if True, node uses z coordinate of ego base_link |
publish_ground_truth |
bool | false | if True, publish ground truth objects |
use_fixed_random_seed |
bool | false | if True, use fixed random seed |
random_seed |
int | 0 | random seed |
object_centric_pointcloud |
bool | false | if True, generate object-centric point clouds |
angle_increment |
double | 0.004363323 | angle increment for ray tracing (0.25° in radians) |
PredictedObjectMovementPlugin Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
min_predicted_path_keep_duration |
double | 3.0 | minimum time (seconds) to keep using same prediction |
switch_time_threshold |
double | 2.0 | time threshold (seconds) to switch from straight-line to predicted path |
Common Remapping Parameters
The plugin uses CommonParameters for both vehicle and pedestrian object types. Each parameter is prefixed with either vehicle. or pedestrian.:
| Parameter Name | Type | Explanation |
|---|---|---|
max_remapping_distance |
double | maximum distance (meters) for remapping validation |
max_speed_difference_ratio |
double | maximum speed difference ratio tolerance |
min_speed_ratio |
double | minimum speed ratio relative to dummy object speed |
max_speed_ratio |
double | maximum speed ratio relative to dummy object speed |
speed_check_threshold |
double | speed threshold (m/s) above which speed checks apply |
path_selection_strategy |
string | path selection strategy: “highest_confidence” or “random” |
Changelog for package autoware_dummy_perception_publisher
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(dummy_perception_publisher): add conversion to PointXYZIRC for output clouds (#11453)
- feat(dummy_perception_publisher): Add conversion to PointXYZIRC for output clouds
* style(pre-commit): autofix ---------Co-authored-by: Takeshi Miura <<m.takeshi1995@gmail.com>> Co-authored-by: Junya Sasaki <<junya.sasaki@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
feat(autoware_dummy_perception_publisher): dummy object predicted path functionality (#11011)
- feat: implement euclidean distance-based mapping for dummy perception publisher
- Add euclidean distance-based mapping between dummy objects and predicted objects
- Implement 2-second grace period before using predicted paths
- Add distance-based interpolation along predicted paths using dummy object speed
- Use predictions at least 1 second old for better movement calculation
- Maintain one-to-one mapping between dummy and predicted objects
- Add predicted objects subscription and buffer management
- Preserve dummy object velocity throughout movement
- feat: enhance euclidean distance-based mapping with prediction stability
- Implement prediction keeping logic for 1-second intervals to reduce jitter
- Add prediction storage maps for stable object tracking
- Remove debug output and clean up prediction selection logic
- Use object creation time instead of mapping time for 2-second grace period
- Improve handling of predicted object ID changes with proper remapping
- Clean up unused mapping time parameter from ObjectInfo constructor
- feat: increase prediction stability duration to 3 seconds
- Change MIN_KEEP_DURATION from 1.0 to 3.0 seconds for more stable object tracking
- Add debug output to track prediction usage
- Fix code formatting and whitespace
- feat: implement trajectory extrapolation and lost object handling
- Add trajectory extrapolation when objects overshoot predicted paths
- Use last two trajectory points to determine direction for extrapolation
- Maintain last known orientation during extrapolation
- Keep using last predicted trajectory for lost objects
- Add proper fallbacks for edge cases (single point paths, zero-length segments)
- Clean up debug output to avoid duplication
- feat: add trajectory validation to prevent unrealistic direction changes
- Add isTrajectoryValid function to validate new predictions against current ones
- Implement thresholds for yaw change (45°), direction change (60°), and speed change (200%)
- Skip trajectory updates when validation fails to maintain smooth object movement
- Handle edge cases including empty paths and low-speed scenarios
- Add detailed logging for debugging trajectory rejections
- feat: relax trajectory validation thresholds for more realistic movement
- Increase yaw change threshold from 45° to 90°
- Increase direction change threshold from 60° to 120°
- Increase speed change threshold from 200% to 500%
- Allow for more realistic vehicle maneuvers while still preventing physics violations
- feat: add path length validation to trajectory comparison
- Add MAX_PATH_LENGTH_CHANGE_RATIO threshold (300% change)
- Calculate path lengths for both current and new trajectories
- Compare path length ratios to prevent unrealistic path changes
- Skip validation for very short paths (less than 0.1m)
- Add detailed logging for path length validation failures
- feat: add comprehensive validation for object remapping candidates
- Add isValidRemappingCandidate function to validate remapping candidates
- Implement position, trajectory, and heading similarity checks
- Add arePathsSimilar function to compare path shapes and directions
- Use validation in both remapping and unmapped object scenarios
- Add detailed logging for debugging validation failures
- Set appropriate thresholds for distance, yaw, and path comparison
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| tier4_simulator_launch |
Launch files
- launch/dummy_perception_publisher.launch.xml
-
- visible_range [default: 300.0]
- real [default: true]
- use_object_recognition [default: true]
- use_base_link_z [default: true]
- dummy_perception_publisher_config_file [default: $(find-pkg-share autoware_dummy_perception_publisher)/config/dummy_perception_publisher.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_dummy_perception_publisher at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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 | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Yukihiro Saito
- Junya Sasaki
Authors
dummy_perception_publisher
Purpose
This node publishes the result of the dummy detection with the type of perception. The node uses a plugin architecture to support different object movement strategies.
Inner-workings / Algorithms
Plugin Architecture
The node uses a plugin-based architecture to handle different types of object movement. This allows for flexible and extensible movement behaviors without modifying the core node logic.
Available Plugins
- StraightLineObjectMovementPlugin: Moves objects in straight lines based on their initial velocity and direction.
- PredictedObjectMovementPlugin: Moves objects along predicted paths from perception predictions, providing more realistic movement patterns.
Plugin Base Class
All movement plugins inherit from DummyObjectMovementBasePlugin which provides:
- Object management (add, delete operations)
- Associated action type handling
- Common interface for object movement
Object Action Handling
- ADD: New objects are created and they move in a straight line, acceleration and deceleration parameters can be used.
- MODIFY: Handled directly by the node, bypassing plugin movement logic. Immediately replaces the object’s position information across all plugins.
- DELETE: The specified object is removed from all plugins.
- DELETEALL: Clears all objects from all plugins.
- PREDICT: New objects are created, they move in a straight line for a set time and then the predictions extracted from the perception module are used to dictate where the objects will move to. NOTE: for ease of calculation, acceleration is not taken into account when calculating the object’s position, only its initial speed.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/tf |
tf2_msgs/TFMessage |
TF (self-pose) |
input/object |
tier4_simulation_msgs::msg::DummyObject |
dummy detection objects |
predicted_objects |
autoware_perception_msgs::msg::PredictedObjects |
predicted objects (used by PredictedObjectMovementPlugin) |
Output
| Name | Type | Description |
|---|---|---|
output/dynamic_object |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
dummy detection objects |
output/points_raw |
sensor_msgs::msg::PointCloud2 |
point cloud of objects |
output/debug/ground_truth_objects |
autoware_perception_msgs::msg::TrackedObjects |
ground truth objects |
Parameters
Core Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
visible_range |
double | 100.0 | sensor visible range [m] |
detection_successful_rate |
double | 0.8 | sensor detection rate. (min) 0.0 - 1.0(max) |
enable_ray_tracing |
bool | true | if True, use ray tracking |
use_object_recognition |
bool | true | if True, publish objects topic |
use_base_link_z |
bool | true | if True, node uses z coordinate of ego base_link |
publish_ground_truth |
bool | false | if True, publish ground truth objects |
use_fixed_random_seed |
bool | false | if True, use fixed random seed |
random_seed |
int | 0 | random seed |
object_centric_pointcloud |
bool | false | if True, generate object-centric point clouds |
angle_increment |
double | 0.004363323 | angle increment for ray tracing (0.25° in radians) |
PredictedObjectMovementPlugin Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
min_predicted_path_keep_duration |
double | 3.0 | minimum time (seconds) to keep using same prediction |
switch_time_threshold |
double | 2.0 | time threshold (seconds) to switch from straight-line to predicted path |
Common Remapping Parameters
The plugin uses CommonParameters for both vehicle and pedestrian object types. Each parameter is prefixed with either vehicle. or pedestrian.:
| Parameter Name | Type | Explanation |
|---|---|---|
max_remapping_distance |
double | maximum distance (meters) for remapping validation |
max_speed_difference_ratio |
double | maximum speed difference ratio tolerance |
min_speed_ratio |
double | minimum speed ratio relative to dummy object speed |
max_speed_ratio |
double | maximum speed ratio relative to dummy object speed |
speed_check_threshold |
double | speed threshold (m/s) above which speed checks apply |
path_selection_strategy |
string | path selection strategy: “highest_confidence” or “random” |
Changelog for package autoware_dummy_perception_publisher
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(dummy_perception_publisher): add conversion to PointXYZIRC for output clouds (#11453)
- feat(dummy_perception_publisher): Add conversion to PointXYZIRC for output clouds
* style(pre-commit): autofix ---------Co-authored-by: Takeshi Miura <<m.takeshi1995@gmail.com>> Co-authored-by: Junya Sasaki <<junya.sasaki@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
feat(autoware_dummy_perception_publisher): dummy object predicted path functionality (#11011)
- feat: implement euclidean distance-based mapping for dummy perception publisher
- Add euclidean distance-based mapping between dummy objects and predicted objects
- Implement 2-second grace period before using predicted paths
- Add distance-based interpolation along predicted paths using dummy object speed
- Use predictions at least 1 second old for better movement calculation
- Maintain one-to-one mapping between dummy and predicted objects
- Add predicted objects subscription and buffer management
- Preserve dummy object velocity throughout movement
- feat: enhance euclidean distance-based mapping with prediction stability
- Implement prediction keeping logic for 1-second intervals to reduce jitter
- Add prediction storage maps for stable object tracking
- Remove debug output and clean up prediction selection logic
- Use object creation time instead of mapping time for 2-second grace period
- Improve handling of predicted object ID changes with proper remapping
- Clean up unused mapping time parameter from ObjectInfo constructor
- feat: increase prediction stability duration to 3 seconds
- Change MIN_KEEP_DURATION from 1.0 to 3.0 seconds for more stable object tracking
- Add debug output to track prediction usage
- Fix code formatting and whitespace
- feat: implement trajectory extrapolation and lost object handling
- Add trajectory extrapolation when objects overshoot predicted paths
- Use last two trajectory points to determine direction for extrapolation
- Maintain last known orientation during extrapolation
- Keep using last predicted trajectory for lost objects
- Add proper fallbacks for edge cases (single point paths, zero-length segments)
- Clean up debug output to avoid duplication
- feat: add trajectory validation to prevent unrealistic direction changes
- Add isTrajectoryValid function to validate new predictions against current ones
- Implement thresholds for yaw change (45°), direction change (60°), and speed change (200%)
- Skip trajectory updates when validation fails to maintain smooth object movement
- Handle edge cases including empty paths and low-speed scenarios
- Add detailed logging for debugging trajectory rejections
- feat: relax trajectory validation thresholds for more realistic movement
- Increase yaw change threshold from 45° to 90°
- Increase direction change threshold from 60° to 120°
- Increase speed change threshold from 200% to 500%
- Allow for more realistic vehicle maneuvers while still preventing physics violations
- feat: add path length validation to trajectory comparison
- Add MAX_PATH_LENGTH_CHANGE_RATIO threshold (300% change)
- Calculate path lengths for both current and new trajectories
- Compare path length ratios to prevent unrealistic path changes
- Skip validation for very short paths (less than 0.1m)
- Add detailed logging for path length validation failures
- feat: add comprehensive validation for object remapping candidates
- Add isValidRemappingCandidate function to validate remapping candidates
- Implement position, trajectory, and heading similarity checks
- Add arePathsSimilar function to compare path shapes and directions
- Use validation in both remapping and unmapped object scenarios
- Add detailed logging for debugging validation failures
- Set appropriate thresholds for distance, yaw, and path comparison
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| tier4_simulator_launch |
Launch files
- launch/dummy_perception_publisher.launch.xml
-
- visible_range [default: 300.0]
- real [default: true]
- use_object_recognition [default: true]
- use_base_link_z [default: true]
- dummy_perception_publisher_config_file [default: $(find-pkg-share autoware_dummy_perception_publisher)/config/dummy_perception_publisher.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_dummy_perception_publisher at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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 | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Yukihiro Saito
- Junya Sasaki
Authors
dummy_perception_publisher
Purpose
This node publishes the result of the dummy detection with the type of perception. The node uses a plugin architecture to support different object movement strategies.
Inner-workings / Algorithms
Plugin Architecture
The node uses a plugin-based architecture to handle different types of object movement. This allows for flexible and extensible movement behaviors without modifying the core node logic.
Available Plugins
- StraightLineObjectMovementPlugin: Moves objects in straight lines based on their initial velocity and direction.
- PredictedObjectMovementPlugin: Moves objects along predicted paths from perception predictions, providing more realistic movement patterns.
Plugin Base Class
All movement plugins inherit from DummyObjectMovementBasePlugin which provides:
- Object management (add, delete operations)
- Associated action type handling
- Common interface for object movement
Object Action Handling
- ADD: New objects are created and they move in a straight line, acceleration and deceleration parameters can be used.
- MODIFY: Handled directly by the node, bypassing plugin movement logic. Immediately replaces the object’s position information across all plugins.
- DELETE: The specified object is removed from all plugins.
- DELETEALL: Clears all objects from all plugins.
- PREDICT: New objects are created, they move in a straight line for a set time and then the predictions extracted from the perception module are used to dictate where the objects will move to. NOTE: for ease of calculation, acceleration is not taken into account when calculating the object’s position, only its initial speed.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/tf |
tf2_msgs/TFMessage |
TF (self-pose) |
input/object |
tier4_simulation_msgs::msg::DummyObject |
dummy detection objects |
predicted_objects |
autoware_perception_msgs::msg::PredictedObjects |
predicted objects (used by PredictedObjectMovementPlugin) |
Output
| Name | Type | Description |
|---|---|---|
output/dynamic_object |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
dummy detection objects |
output/points_raw |
sensor_msgs::msg::PointCloud2 |
point cloud of objects |
output/debug/ground_truth_objects |
autoware_perception_msgs::msg::TrackedObjects |
ground truth objects |
Parameters
Core Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
visible_range |
double | 100.0 | sensor visible range [m] |
detection_successful_rate |
double | 0.8 | sensor detection rate. (min) 0.0 - 1.0(max) |
enable_ray_tracing |
bool | true | if True, use ray tracking |
use_object_recognition |
bool | true | if True, publish objects topic |
use_base_link_z |
bool | true | if True, node uses z coordinate of ego base_link |
publish_ground_truth |
bool | false | if True, publish ground truth objects |
use_fixed_random_seed |
bool | false | if True, use fixed random seed |
random_seed |
int | 0 | random seed |
object_centric_pointcloud |
bool | false | if True, generate object-centric point clouds |
angle_increment |
double | 0.004363323 | angle increment for ray tracing (0.25° in radians) |
PredictedObjectMovementPlugin Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
min_predicted_path_keep_duration |
double | 3.0 | minimum time (seconds) to keep using same prediction |
switch_time_threshold |
double | 2.0 | time threshold (seconds) to switch from straight-line to predicted path |
Common Remapping Parameters
The plugin uses CommonParameters for both vehicle and pedestrian object types. Each parameter is prefixed with either vehicle. or pedestrian.:
| Parameter Name | Type | Explanation |
|---|---|---|
max_remapping_distance |
double | maximum distance (meters) for remapping validation |
max_speed_difference_ratio |
double | maximum speed difference ratio tolerance |
min_speed_ratio |
double | minimum speed ratio relative to dummy object speed |
max_speed_ratio |
double | maximum speed ratio relative to dummy object speed |
speed_check_threshold |
double | speed threshold (m/s) above which speed checks apply |
path_selection_strategy |
string | path selection strategy: “highest_confidence” or “random” |
Changelog for package autoware_dummy_perception_publisher
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(dummy_perception_publisher): add conversion to PointXYZIRC for output clouds (#11453)
- feat(dummy_perception_publisher): Add conversion to PointXYZIRC for output clouds
* style(pre-commit): autofix ---------Co-authored-by: Takeshi Miura <<m.takeshi1995@gmail.com>> Co-authored-by: Junya Sasaki <<junya.sasaki@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
feat(autoware_dummy_perception_publisher): dummy object predicted path functionality (#11011)
- feat: implement euclidean distance-based mapping for dummy perception publisher
- Add euclidean distance-based mapping between dummy objects and predicted objects
- Implement 2-second grace period before using predicted paths
- Add distance-based interpolation along predicted paths using dummy object speed
- Use predictions at least 1 second old for better movement calculation
- Maintain one-to-one mapping between dummy and predicted objects
- Add predicted objects subscription and buffer management
- Preserve dummy object velocity throughout movement
- feat: enhance euclidean distance-based mapping with prediction stability
- Implement prediction keeping logic for 1-second intervals to reduce jitter
- Add prediction storage maps for stable object tracking
- Remove debug output and clean up prediction selection logic
- Use object creation time instead of mapping time for 2-second grace period
- Improve handling of predicted object ID changes with proper remapping
- Clean up unused mapping time parameter from ObjectInfo constructor
- feat: increase prediction stability duration to 3 seconds
- Change MIN_KEEP_DURATION from 1.0 to 3.0 seconds for more stable object tracking
- Add debug output to track prediction usage
- Fix code formatting and whitespace
- feat: implement trajectory extrapolation and lost object handling
- Add trajectory extrapolation when objects overshoot predicted paths
- Use last two trajectory points to determine direction for extrapolation
- Maintain last known orientation during extrapolation
- Keep using last predicted trajectory for lost objects
- Add proper fallbacks for edge cases (single point paths, zero-length segments)
- Clean up debug output to avoid duplication
- feat: add trajectory validation to prevent unrealistic direction changes
- Add isTrajectoryValid function to validate new predictions against current ones
- Implement thresholds for yaw change (45°), direction change (60°), and speed change (200%)
- Skip trajectory updates when validation fails to maintain smooth object movement
- Handle edge cases including empty paths and low-speed scenarios
- Add detailed logging for debugging trajectory rejections
- feat: relax trajectory validation thresholds for more realistic movement
- Increase yaw change threshold from 45° to 90°
- Increase direction change threshold from 60° to 120°
- Increase speed change threshold from 200% to 500%
- Allow for more realistic vehicle maneuvers while still preventing physics violations
- feat: add path length validation to trajectory comparison
- Add MAX_PATH_LENGTH_CHANGE_RATIO threshold (300% change)
- Calculate path lengths for both current and new trajectories
- Compare path length ratios to prevent unrealistic path changes
- Skip validation for very short paths (less than 0.1m)
- Add detailed logging for path length validation failures
- feat: add comprehensive validation for object remapping candidates
- Add isValidRemappingCandidate function to validate remapping candidates
- Implement position, trajectory, and heading similarity checks
- Add arePathsSimilar function to compare path shapes and directions
- Use validation in both remapping and unmapped object scenarios
- Add detailed logging for debugging validation failures
- Set appropriate thresholds for distance, yaw, and path comparison
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| tier4_simulator_launch |
Launch files
- launch/dummy_perception_publisher.launch.xml
-
- visible_range [default: 300.0]
- real [default: true]
- use_object_recognition [default: true]
- use_base_link_z [default: true]
- dummy_perception_publisher_config_file [default: $(find-pkg-share autoware_dummy_perception_publisher)/config/dummy_perception_publisher.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_dummy_perception_publisher at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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 | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Yukihiro Saito
- Junya Sasaki
Authors
dummy_perception_publisher
Purpose
This node publishes the result of the dummy detection with the type of perception. The node uses a plugin architecture to support different object movement strategies.
Inner-workings / Algorithms
Plugin Architecture
The node uses a plugin-based architecture to handle different types of object movement. This allows for flexible and extensible movement behaviors without modifying the core node logic.
Available Plugins
- StraightLineObjectMovementPlugin: Moves objects in straight lines based on their initial velocity and direction.
- PredictedObjectMovementPlugin: Moves objects along predicted paths from perception predictions, providing more realistic movement patterns.
Plugin Base Class
All movement plugins inherit from DummyObjectMovementBasePlugin which provides:
- Object management (add, delete operations)
- Associated action type handling
- Common interface for object movement
Object Action Handling
- ADD: New objects are created and they move in a straight line, acceleration and deceleration parameters can be used.
- MODIFY: Handled directly by the node, bypassing plugin movement logic. Immediately replaces the object’s position information across all plugins.
- DELETE: The specified object is removed from all plugins.
- DELETEALL: Clears all objects from all plugins.
- PREDICT: New objects are created, they move in a straight line for a set time and then the predictions extracted from the perception module are used to dictate where the objects will move to. NOTE: for ease of calculation, acceleration is not taken into account when calculating the object’s position, only its initial speed.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/tf |
tf2_msgs/TFMessage |
TF (self-pose) |
input/object |
tier4_simulation_msgs::msg::DummyObject |
dummy detection objects |
predicted_objects |
autoware_perception_msgs::msg::PredictedObjects |
predicted objects (used by PredictedObjectMovementPlugin) |
Output
| Name | Type | Description |
|---|---|---|
output/dynamic_object |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
dummy detection objects |
output/points_raw |
sensor_msgs::msg::PointCloud2 |
point cloud of objects |
output/debug/ground_truth_objects |
autoware_perception_msgs::msg::TrackedObjects |
ground truth objects |
Parameters
Core Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
visible_range |
double | 100.0 | sensor visible range [m] |
detection_successful_rate |
double | 0.8 | sensor detection rate. (min) 0.0 - 1.0(max) |
enable_ray_tracing |
bool | true | if True, use ray tracking |
use_object_recognition |
bool | true | if True, publish objects topic |
use_base_link_z |
bool | true | if True, node uses z coordinate of ego base_link |
publish_ground_truth |
bool | false | if True, publish ground truth objects |
use_fixed_random_seed |
bool | false | if True, use fixed random seed |
random_seed |
int | 0 | random seed |
object_centric_pointcloud |
bool | false | if True, generate object-centric point clouds |
angle_increment |
double | 0.004363323 | angle increment for ray tracing (0.25° in radians) |
PredictedObjectMovementPlugin Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
min_predicted_path_keep_duration |
double | 3.0 | minimum time (seconds) to keep using same prediction |
switch_time_threshold |
double | 2.0 | time threshold (seconds) to switch from straight-line to predicted path |
Common Remapping Parameters
The plugin uses CommonParameters for both vehicle and pedestrian object types. Each parameter is prefixed with either vehicle. or pedestrian.:
| Parameter Name | Type | Explanation |
|---|---|---|
max_remapping_distance |
double | maximum distance (meters) for remapping validation |
max_speed_difference_ratio |
double | maximum speed difference ratio tolerance |
min_speed_ratio |
double | minimum speed ratio relative to dummy object speed |
max_speed_ratio |
double | maximum speed ratio relative to dummy object speed |
speed_check_threshold |
double | speed threshold (m/s) above which speed checks apply |
path_selection_strategy |
string | path selection strategy: “highest_confidence” or “random” |
Changelog for package autoware_dummy_perception_publisher
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(dummy_perception_publisher): add conversion to PointXYZIRC for output clouds (#11453)
- feat(dummy_perception_publisher): Add conversion to PointXYZIRC for output clouds
* style(pre-commit): autofix ---------Co-authored-by: Takeshi Miura <<m.takeshi1995@gmail.com>> Co-authored-by: Junya Sasaki <<junya.sasaki@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
feat(autoware_dummy_perception_publisher): dummy object predicted path functionality (#11011)
- feat: implement euclidean distance-based mapping for dummy perception publisher
- Add euclidean distance-based mapping between dummy objects and predicted objects
- Implement 2-second grace period before using predicted paths
- Add distance-based interpolation along predicted paths using dummy object speed
- Use predictions at least 1 second old for better movement calculation
- Maintain one-to-one mapping between dummy and predicted objects
- Add predicted objects subscription and buffer management
- Preserve dummy object velocity throughout movement
- feat: enhance euclidean distance-based mapping with prediction stability
- Implement prediction keeping logic for 1-second intervals to reduce jitter
- Add prediction storage maps for stable object tracking
- Remove debug output and clean up prediction selection logic
- Use object creation time instead of mapping time for 2-second grace period
- Improve handling of predicted object ID changes with proper remapping
- Clean up unused mapping time parameter from ObjectInfo constructor
- feat: increase prediction stability duration to 3 seconds
- Change MIN_KEEP_DURATION from 1.0 to 3.0 seconds for more stable object tracking
- Add debug output to track prediction usage
- Fix code formatting and whitespace
- feat: implement trajectory extrapolation and lost object handling
- Add trajectory extrapolation when objects overshoot predicted paths
- Use last two trajectory points to determine direction for extrapolation
- Maintain last known orientation during extrapolation
- Keep using last predicted trajectory for lost objects
- Add proper fallbacks for edge cases (single point paths, zero-length segments)
- Clean up debug output to avoid duplication
- feat: add trajectory validation to prevent unrealistic direction changes
- Add isTrajectoryValid function to validate new predictions against current ones
- Implement thresholds for yaw change (45°), direction change (60°), and speed change (200%)
- Skip trajectory updates when validation fails to maintain smooth object movement
- Handle edge cases including empty paths and low-speed scenarios
- Add detailed logging for debugging trajectory rejections
- feat: relax trajectory validation thresholds for more realistic movement
- Increase yaw change threshold from 45° to 90°
- Increase direction change threshold from 60° to 120°
- Increase speed change threshold from 200% to 500%
- Allow for more realistic vehicle maneuvers while still preventing physics violations
- feat: add path length validation to trajectory comparison
- Add MAX_PATH_LENGTH_CHANGE_RATIO threshold (300% change)
- Calculate path lengths for both current and new trajectories
- Compare path length ratios to prevent unrealistic path changes
- Skip validation for very short paths (less than 0.1m)
- Add detailed logging for path length validation failures
- feat: add comprehensive validation for object remapping candidates
- Add isValidRemappingCandidate function to validate remapping candidates
- Implement position, trajectory, and heading similarity checks
- Add arePathsSimilar function to compare path shapes and directions
- Use validation in both remapping and unmapped object scenarios
- Add detailed logging for debugging validation failures
- Set appropriate thresholds for distance, yaw, and path comparison
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| tier4_simulator_launch |
Launch files
- launch/dummy_perception_publisher.launch.xml
-
- visible_range [default: 300.0]
- real [default: true]
- use_object_recognition [default: true]
- use_base_link_z [default: true]
- dummy_perception_publisher_config_file [default: $(find-pkg-share autoware_dummy_perception_publisher)/config/dummy_perception_publisher.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_dummy_perception_publisher at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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 | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Yukihiro Saito
- Junya Sasaki
Authors
dummy_perception_publisher
Purpose
This node publishes the result of the dummy detection with the type of perception. The node uses a plugin architecture to support different object movement strategies.
Inner-workings / Algorithms
Plugin Architecture
The node uses a plugin-based architecture to handle different types of object movement. This allows for flexible and extensible movement behaviors without modifying the core node logic.
Available Plugins
- StraightLineObjectMovementPlugin: Moves objects in straight lines based on their initial velocity and direction.
- PredictedObjectMovementPlugin: Moves objects along predicted paths from perception predictions, providing more realistic movement patterns.
Plugin Base Class
All movement plugins inherit from DummyObjectMovementBasePlugin which provides:
- Object management (add, delete operations)
- Associated action type handling
- Common interface for object movement
Object Action Handling
- ADD: New objects are created and they move in a straight line, acceleration and deceleration parameters can be used.
- MODIFY: Handled directly by the node, bypassing plugin movement logic. Immediately replaces the object’s position information across all plugins.
- DELETE: The specified object is removed from all plugins.
- DELETEALL: Clears all objects from all plugins.
- PREDICT: New objects are created, they move in a straight line for a set time and then the predictions extracted from the perception module are used to dictate where the objects will move to. NOTE: for ease of calculation, acceleration is not taken into account when calculating the object’s position, only its initial speed.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/tf |
tf2_msgs/TFMessage |
TF (self-pose) |
input/object |
tier4_simulation_msgs::msg::DummyObject |
dummy detection objects |
predicted_objects |
autoware_perception_msgs::msg::PredictedObjects |
predicted objects (used by PredictedObjectMovementPlugin) |
Output
| Name | Type | Description |
|---|---|---|
output/dynamic_object |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
dummy detection objects |
output/points_raw |
sensor_msgs::msg::PointCloud2 |
point cloud of objects |
output/debug/ground_truth_objects |
autoware_perception_msgs::msg::TrackedObjects |
ground truth objects |
Parameters
Core Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
visible_range |
double | 100.0 | sensor visible range [m] |
detection_successful_rate |
double | 0.8 | sensor detection rate. (min) 0.0 - 1.0(max) |
enable_ray_tracing |
bool | true | if True, use ray tracking |
use_object_recognition |
bool | true | if True, publish objects topic |
use_base_link_z |
bool | true | if True, node uses z coordinate of ego base_link |
publish_ground_truth |
bool | false | if True, publish ground truth objects |
use_fixed_random_seed |
bool | false | if True, use fixed random seed |
random_seed |
int | 0 | random seed |
object_centric_pointcloud |
bool | false | if True, generate object-centric point clouds |
angle_increment |
double | 0.004363323 | angle increment for ray tracing (0.25° in radians) |
PredictedObjectMovementPlugin Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
min_predicted_path_keep_duration |
double | 3.0 | minimum time (seconds) to keep using same prediction |
switch_time_threshold |
double | 2.0 | time threshold (seconds) to switch from straight-line to predicted path |
Common Remapping Parameters
The plugin uses CommonParameters for both vehicle and pedestrian object types. Each parameter is prefixed with either vehicle. or pedestrian.:
| Parameter Name | Type | Explanation |
|---|---|---|
max_remapping_distance |
double | maximum distance (meters) for remapping validation |
max_speed_difference_ratio |
double | maximum speed difference ratio tolerance |
min_speed_ratio |
double | minimum speed ratio relative to dummy object speed |
max_speed_ratio |
double | maximum speed ratio relative to dummy object speed |
speed_check_threshold |
double | speed threshold (m/s) above which speed checks apply |
path_selection_strategy |
string | path selection strategy: “highest_confidence” or “random” |
Changelog for package autoware_dummy_perception_publisher
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(dummy_perception_publisher): add conversion to PointXYZIRC for output clouds (#11453)
- feat(dummy_perception_publisher): Add conversion to PointXYZIRC for output clouds
* style(pre-commit): autofix ---------Co-authored-by: Takeshi Miura <<m.takeshi1995@gmail.com>> Co-authored-by: Junya Sasaki <<junya.sasaki@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
feat(autoware_dummy_perception_publisher): dummy object predicted path functionality (#11011)
- feat: implement euclidean distance-based mapping for dummy perception publisher
- Add euclidean distance-based mapping between dummy objects and predicted objects
- Implement 2-second grace period before using predicted paths
- Add distance-based interpolation along predicted paths using dummy object speed
- Use predictions at least 1 second old for better movement calculation
- Maintain one-to-one mapping between dummy and predicted objects
- Add predicted objects subscription and buffer management
- Preserve dummy object velocity throughout movement
- feat: enhance euclidean distance-based mapping with prediction stability
- Implement prediction keeping logic for 1-second intervals to reduce jitter
- Add prediction storage maps for stable object tracking
- Remove debug output and clean up prediction selection logic
- Use object creation time instead of mapping time for 2-second grace period
- Improve handling of predicted object ID changes with proper remapping
- Clean up unused mapping time parameter from ObjectInfo constructor
- feat: increase prediction stability duration to 3 seconds
- Change MIN_KEEP_DURATION from 1.0 to 3.0 seconds for more stable object tracking
- Add debug output to track prediction usage
- Fix code formatting and whitespace
- feat: implement trajectory extrapolation and lost object handling
- Add trajectory extrapolation when objects overshoot predicted paths
- Use last two trajectory points to determine direction for extrapolation
- Maintain last known orientation during extrapolation
- Keep using last predicted trajectory for lost objects
- Add proper fallbacks for edge cases (single point paths, zero-length segments)
- Clean up debug output to avoid duplication
- feat: add trajectory validation to prevent unrealistic direction changes
- Add isTrajectoryValid function to validate new predictions against current ones
- Implement thresholds for yaw change (45°), direction change (60°), and speed change (200%)
- Skip trajectory updates when validation fails to maintain smooth object movement
- Handle edge cases including empty paths and low-speed scenarios
- Add detailed logging for debugging trajectory rejections
- feat: relax trajectory validation thresholds for more realistic movement
- Increase yaw change threshold from 45° to 90°
- Increase direction change threshold from 60° to 120°
- Increase speed change threshold from 200% to 500%
- Allow for more realistic vehicle maneuvers while still preventing physics violations
- feat: add path length validation to trajectory comparison
- Add MAX_PATH_LENGTH_CHANGE_RATIO threshold (300% change)
- Calculate path lengths for both current and new trajectories
- Compare path length ratios to prevent unrealistic path changes
- Skip validation for very short paths (less than 0.1m)
- Add detailed logging for path length validation failures
- feat: add comprehensive validation for object remapping candidates
- Add isValidRemappingCandidate function to validate remapping candidates
- Implement position, trajectory, and heading similarity checks
- Add arePathsSimilar function to compare path shapes and directions
- Use validation in both remapping and unmapped object scenarios
- Add detailed logging for debugging validation failures
- Set appropriate thresholds for distance, yaw, and path comparison
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| tier4_simulator_launch |
Launch files
- launch/dummy_perception_publisher.launch.xml
-
- visible_range [default: 300.0]
- real [default: true]
- use_object_recognition [default: true]
- use_base_link_z [default: true]
- dummy_perception_publisher_config_file [default: $(find-pkg-share autoware_dummy_perception_publisher)/config/dummy_perception_publisher.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_dummy_perception_publisher at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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 | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Yukihiro Saito
- Junya Sasaki
Authors
dummy_perception_publisher
Purpose
This node publishes the result of the dummy detection with the type of perception. The node uses a plugin architecture to support different object movement strategies.
Inner-workings / Algorithms
Plugin Architecture
The node uses a plugin-based architecture to handle different types of object movement. This allows for flexible and extensible movement behaviors without modifying the core node logic.
Available Plugins
- StraightLineObjectMovementPlugin: Moves objects in straight lines based on their initial velocity and direction.
- PredictedObjectMovementPlugin: Moves objects along predicted paths from perception predictions, providing more realistic movement patterns.
Plugin Base Class
All movement plugins inherit from DummyObjectMovementBasePlugin which provides:
- Object management (add, delete operations)
- Associated action type handling
- Common interface for object movement
Object Action Handling
- ADD: New objects are created and they move in a straight line, acceleration and deceleration parameters can be used.
- MODIFY: Handled directly by the node, bypassing plugin movement logic. Immediately replaces the object’s position information across all plugins.
- DELETE: The specified object is removed from all plugins.
- DELETEALL: Clears all objects from all plugins.
- PREDICT: New objects are created, they move in a straight line for a set time and then the predictions extracted from the perception module are used to dictate where the objects will move to. NOTE: for ease of calculation, acceleration is not taken into account when calculating the object’s position, only its initial speed.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/tf |
tf2_msgs/TFMessage |
TF (self-pose) |
input/object |
tier4_simulation_msgs::msg::DummyObject |
dummy detection objects |
predicted_objects |
autoware_perception_msgs::msg::PredictedObjects |
predicted objects (used by PredictedObjectMovementPlugin) |
Output
| Name | Type | Description |
|---|---|---|
output/dynamic_object |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
dummy detection objects |
output/points_raw |
sensor_msgs::msg::PointCloud2 |
point cloud of objects |
output/debug/ground_truth_objects |
autoware_perception_msgs::msg::TrackedObjects |
ground truth objects |
Parameters
Core Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
visible_range |
double | 100.0 | sensor visible range [m] |
detection_successful_rate |
double | 0.8 | sensor detection rate. (min) 0.0 - 1.0(max) |
enable_ray_tracing |
bool | true | if True, use ray tracking |
use_object_recognition |
bool | true | if True, publish objects topic |
use_base_link_z |
bool | true | if True, node uses z coordinate of ego base_link |
publish_ground_truth |
bool | false | if True, publish ground truth objects |
use_fixed_random_seed |
bool | false | if True, use fixed random seed |
random_seed |
int | 0 | random seed |
object_centric_pointcloud |
bool | false | if True, generate object-centric point clouds |
angle_increment |
double | 0.004363323 | angle increment for ray tracing (0.25° in radians) |
PredictedObjectMovementPlugin Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
min_predicted_path_keep_duration |
double | 3.0 | minimum time (seconds) to keep using same prediction |
switch_time_threshold |
double | 2.0 | time threshold (seconds) to switch from straight-line to predicted path |
Common Remapping Parameters
The plugin uses CommonParameters for both vehicle and pedestrian object types. Each parameter is prefixed with either vehicle. or pedestrian.:
| Parameter Name | Type | Explanation |
|---|---|---|
max_remapping_distance |
double | maximum distance (meters) for remapping validation |
max_speed_difference_ratio |
double | maximum speed difference ratio tolerance |
min_speed_ratio |
double | minimum speed ratio relative to dummy object speed |
max_speed_ratio |
double | maximum speed ratio relative to dummy object speed |
speed_check_threshold |
double | speed threshold (m/s) above which speed checks apply |
path_selection_strategy |
string | path selection strategy: “highest_confidence” or “random” |
Changelog for package autoware_dummy_perception_publisher
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(dummy_perception_publisher): add conversion to PointXYZIRC for output clouds (#11453)
- feat(dummy_perception_publisher): Add conversion to PointXYZIRC for output clouds
* style(pre-commit): autofix ---------Co-authored-by: Takeshi Miura <<m.takeshi1995@gmail.com>> Co-authored-by: Junya Sasaki <<junya.sasaki@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
feat(autoware_dummy_perception_publisher): dummy object predicted path functionality (#11011)
- feat: implement euclidean distance-based mapping for dummy perception publisher
- Add euclidean distance-based mapping between dummy objects and predicted objects
- Implement 2-second grace period before using predicted paths
- Add distance-based interpolation along predicted paths using dummy object speed
- Use predictions at least 1 second old for better movement calculation
- Maintain one-to-one mapping between dummy and predicted objects
- Add predicted objects subscription and buffer management
- Preserve dummy object velocity throughout movement
- feat: enhance euclidean distance-based mapping with prediction stability
- Implement prediction keeping logic for 1-second intervals to reduce jitter
- Add prediction storage maps for stable object tracking
- Remove debug output and clean up prediction selection logic
- Use object creation time instead of mapping time for 2-second grace period
- Improve handling of predicted object ID changes with proper remapping
- Clean up unused mapping time parameter from ObjectInfo constructor
- feat: increase prediction stability duration to 3 seconds
- Change MIN_KEEP_DURATION from 1.0 to 3.0 seconds for more stable object tracking
- Add debug output to track prediction usage
- Fix code formatting and whitespace
- feat: implement trajectory extrapolation and lost object handling
- Add trajectory extrapolation when objects overshoot predicted paths
- Use last two trajectory points to determine direction for extrapolation
- Maintain last known orientation during extrapolation
- Keep using last predicted trajectory for lost objects
- Add proper fallbacks for edge cases (single point paths, zero-length segments)
- Clean up debug output to avoid duplication
- feat: add trajectory validation to prevent unrealistic direction changes
- Add isTrajectoryValid function to validate new predictions against current ones
- Implement thresholds for yaw change (45°), direction change (60°), and speed change (200%)
- Skip trajectory updates when validation fails to maintain smooth object movement
- Handle edge cases including empty paths and low-speed scenarios
- Add detailed logging for debugging trajectory rejections
- feat: relax trajectory validation thresholds for more realistic movement
- Increase yaw change threshold from 45° to 90°
- Increase direction change threshold from 60° to 120°
- Increase speed change threshold from 200% to 500%
- Allow for more realistic vehicle maneuvers while still preventing physics violations
- feat: add path length validation to trajectory comparison
- Add MAX_PATH_LENGTH_CHANGE_RATIO threshold (300% change)
- Calculate path lengths for both current and new trajectories
- Compare path length ratios to prevent unrealistic path changes
- Skip validation for very short paths (less than 0.1m)
- Add detailed logging for path length validation failures
- feat: add comprehensive validation for object remapping candidates
- Add isValidRemappingCandidate function to validate remapping candidates
- Implement position, trajectory, and heading similarity checks
- Add arePathsSimilar function to compare path shapes and directions
- Use validation in both remapping and unmapped object scenarios
- Add detailed logging for debugging validation failures
- Set appropriate thresholds for distance, yaw, and path comparison
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| tier4_simulator_launch |
Launch files
- launch/dummy_perception_publisher.launch.xml
-
- visible_range [default: 300.0]
- real [default: true]
- use_object_recognition [default: true]
- use_base_link_z [default: true]
- dummy_perception_publisher_config_file [default: $(find-pkg-share autoware_dummy_perception_publisher)/config/dummy_perception_publisher.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_dummy_perception_publisher at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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 | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Yukihiro Saito
- Junya Sasaki
Authors
dummy_perception_publisher
Purpose
This node publishes the result of the dummy detection with the type of perception. The node uses a plugin architecture to support different object movement strategies.
Inner-workings / Algorithms
Plugin Architecture
The node uses a plugin-based architecture to handle different types of object movement. This allows for flexible and extensible movement behaviors without modifying the core node logic.
Available Plugins
- StraightLineObjectMovementPlugin: Moves objects in straight lines based on their initial velocity and direction.
- PredictedObjectMovementPlugin: Moves objects along predicted paths from perception predictions, providing more realistic movement patterns.
Plugin Base Class
All movement plugins inherit from DummyObjectMovementBasePlugin which provides:
- Object management (add, delete operations)
- Associated action type handling
- Common interface for object movement
Object Action Handling
- ADD: New objects are created and they move in a straight line, acceleration and deceleration parameters can be used.
- MODIFY: Handled directly by the node, bypassing plugin movement logic. Immediately replaces the object’s position information across all plugins.
- DELETE: The specified object is removed from all plugins.
- DELETEALL: Clears all objects from all plugins.
- PREDICT: New objects are created, they move in a straight line for a set time and then the predictions extracted from the perception module are used to dictate where the objects will move to. NOTE: for ease of calculation, acceleration is not taken into account when calculating the object’s position, only its initial speed.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/tf |
tf2_msgs/TFMessage |
TF (self-pose) |
input/object |
tier4_simulation_msgs::msg::DummyObject |
dummy detection objects |
predicted_objects |
autoware_perception_msgs::msg::PredictedObjects |
predicted objects (used by PredictedObjectMovementPlugin) |
Output
| Name | Type | Description |
|---|---|---|
output/dynamic_object |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
dummy detection objects |
output/points_raw |
sensor_msgs::msg::PointCloud2 |
point cloud of objects |
output/debug/ground_truth_objects |
autoware_perception_msgs::msg::TrackedObjects |
ground truth objects |
Parameters
Core Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
visible_range |
double | 100.0 | sensor visible range [m] |
detection_successful_rate |
double | 0.8 | sensor detection rate. (min) 0.0 - 1.0(max) |
enable_ray_tracing |
bool | true | if True, use ray tracking |
use_object_recognition |
bool | true | if True, publish objects topic |
use_base_link_z |
bool | true | if True, node uses z coordinate of ego base_link |
publish_ground_truth |
bool | false | if True, publish ground truth objects |
use_fixed_random_seed |
bool | false | if True, use fixed random seed |
random_seed |
int | 0 | random seed |
object_centric_pointcloud |
bool | false | if True, generate object-centric point clouds |
angle_increment |
double | 0.004363323 | angle increment for ray tracing (0.25° in radians) |
PredictedObjectMovementPlugin Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
min_predicted_path_keep_duration |
double | 3.0 | minimum time (seconds) to keep using same prediction |
switch_time_threshold |
double | 2.0 | time threshold (seconds) to switch from straight-line to predicted path |
Common Remapping Parameters
The plugin uses CommonParameters for both vehicle and pedestrian object types. Each parameter is prefixed with either vehicle. or pedestrian.:
| Parameter Name | Type | Explanation |
|---|---|---|
max_remapping_distance |
double | maximum distance (meters) for remapping validation |
max_speed_difference_ratio |
double | maximum speed difference ratio tolerance |
min_speed_ratio |
double | minimum speed ratio relative to dummy object speed |
max_speed_ratio |
double | maximum speed ratio relative to dummy object speed |
speed_check_threshold |
double | speed threshold (m/s) above which speed checks apply |
path_selection_strategy |
string | path selection strategy: “highest_confidence” or “random” |
Changelog for package autoware_dummy_perception_publisher
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(dummy_perception_publisher): add conversion to PointXYZIRC for output clouds (#11453)
- feat(dummy_perception_publisher): Add conversion to PointXYZIRC for output clouds
* style(pre-commit): autofix ---------Co-authored-by: Takeshi Miura <<m.takeshi1995@gmail.com>> Co-authored-by: Junya Sasaki <<junya.sasaki@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
feat(autoware_dummy_perception_publisher): dummy object predicted path functionality (#11011)
- feat: implement euclidean distance-based mapping for dummy perception publisher
- Add euclidean distance-based mapping between dummy objects and predicted objects
- Implement 2-second grace period before using predicted paths
- Add distance-based interpolation along predicted paths using dummy object speed
- Use predictions at least 1 second old for better movement calculation
- Maintain one-to-one mapping between dummy and predicted objects
- Add predicted objects subscription and buffer management
- Preserve dummy object velocity throughout movement
- feat: enhance euclidean distance-based mapping with prediction stability
- Implement prediction keeping logic for 1-second intervals to reduce jitter
- Add prediction storage maps for stable object tracking
- Remove debug output and clean up prediction selection logic
- Use object creation time instead of mapping time for 2-second grace period
- Improve handling of predicted object ID changes with proper remapping
- Clean up unused mapping time parameter from ObjectInfo constructor
- feat: increase prediction stability duration to 3 seconds
- Change MIN_KEEP_DURATION from 1.0 to 3.0 seconds for more stable object tracking
- Add debug output to track prediction usage
- Fix code formatting and whitespace
- feat: implement trajectory extrapolation and lost object handling
- Add trajectory extrapolation when objects overshoot predicted paths
- Use last two trajectory points to determine direction for extrapolation
- Maintain last known orientation during extrapolation
- Keep using last predicted trajectory for lost objects
- Add proper fallbacks for edge cases (single point paths, zero-length segments)
- Clean up debug output to avoid duplication
- feat: add trajectory validation to prevent unrealistic direction changes
- Add isTrajectoryValid function to validate new predictions against current ones
- Implement thresholds for yaw change (45°), direction change (60°), and speed change (200%)
- Skip trajectory updates when validation fails to maintain smooth object movement
- Handle edge cases including empty paths and low-speed scenarios
- Add detailed logging for debugging trajectory rejections
- feat: relax trajectory validation thresholds for more realistic movement
- Increase yaw change threshold from 45° to 90°
- Increase direction change threshold from 60° to 120°
- Increase speed change threshold from 200% to 500%
- Allow for more realistic vehicle maneuvers while still preventing physics violations
- feat: add path length validation to trajectory comparison
- Add MAX_PATH_LENGTH_CHANGE_RATIO threshold (300% change)
- Calculate path lengths for both current and new trajectories
- Compare path length ratios to prevent unrealistic path changes
- Skip validation for very short paths (less than 0.1m)
- Add detailed logging for path length validation failures
- feat: add comprehensive validation for object remapping candidates
- Add isValidRemappingCandidate function to validate remapping candidates
- Implement position, trajectory, and heading similarity checks
- Add arePathsSimilar function to compare path shapes and directions
- Use validation in both remapping and unmapped object scenarios
- Add detailed logging for debugging validation failures
- Set appropriate thresholds for distance, yaw, and path comparison
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| tier4_simulator_launch |
Launch files
- launch/dummy_perception_publisher.launch.xml
-
- visible_range [default: 300.0]
- real [default: true]
- use_object_recognition [default: true]
- use_base_link_z [default: true]
- dummy_perception_publisher_config_file [default: $(find-pkg-share autoware_dummy_perception_publisher)/config/dummy_perception_publisher.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_dummy_perception_publisher at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.48.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 | 2025-12-03 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Yukihiro Saito
- Junya Sasaki
Authors
dummy_perception_publisher
Purpose
This node publishes the result of the dummy detection with the type of perception. The node uses a plugin architecture to support different object movement strategies.
Inner-workings / Algorithms
Plugin Architecture
The node uses a plugin-based architecture to handle different types of object movement. This allows for flexible and extensible movement behaviors without modifying the core node logic.
Available Plugins
- StraightLineObjectMovementPlugin: Moves objects in straight lines based on their initial velocity and direction.
- PredictedObjectMovementPlugin: Moves objects along predicted paths from perception predictions, providing more realistic movement patterns.
Plugin Base Class
All movement plugins inherit from DummyObjectMovementBasePlugin which provides:
- Object management (add, delete operations)
- Associated action type handling
- Common interface for object movement
Object Action Handling
- ADD: New objects are created and they move in a straight line, acceleration and deceleration parameters can be used.
- MODIFY: Handled directly by the node, bypassing plugin movement logic. Immediately replaces the object’s position information across all plugins.
- DELETE: The specified object is removed from all plugins.
- DELETEALL: Clears all objects from all plugins.
- PREDICT: New objects are created, they move in a straight line for a set time and then the predictions extracted from the perception module are used to dictate where the objects will move to. NOTE: for ease of calculation, acceleration is not taken into account when calculating the object’s position, only its initial speed.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/tf |
tf2_msgs/TFMessage |
TF (self-pose) |
input/object |
tier4_simulation_msgs::msg::DummyObject |
dummy detection objects |
predicted_objects |
autoware_perception_msgs::msg::PredictedObjects |
predicted objects (used by PredictedObjectMovementPlugin) |
Output
| Name | Type | Description |
|---|---|---|
output/dynamic_object |
tier4_perception_msgs::msg::DetectedObjectsWithFeature |
dummy detection objects |
output/points_raw |
sensor_msgs::msg::PointCloud2 |
point cloud of objects |
output/debug/ground_truth_objects |
autoware_perception_msgs::msg::TrackedObjects |
ground truth objects |
Parameters
Core Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
visible_range |
double | 100.0 | sensor visible range [m] |
detection_successful_rate |
double | 0.8 | sensor detection rate. (min) 0.0 - 1.0(max) |
enable_ray_tracing |
bool | true | if True, use ray tracking |
use_object_recognition |
bool | true | if True, publish objects topic |
use_base_link_z |
bool | true | if True, node uses z coordinate of ego base_link |
publish_ground_truth |
bool | false | if True, publish ground truth objects |
use_fixed_random_seed |
bool | false | if True, use fixed random seed |
random_seed |
int | 0 | random seed |
object_centric_pointcloud |
bool | false | if True, generate object-centric point clouds |
angle_increment |
double | 0.004363323 | angle increment for ray tracing (0.25° in radians) |
PredictedObjectMovementPlugin Parameters
| Name | Type | Default Value | Explanation |
|---|---|---|---|
min_predicted_path_keep_duration |
double | 3.0 | minimum time (seconds) to keep using same prediction |
switch_time_threshold |
double | 2.0 | time threshold (seconds) to switch from straight-line to predicted path |
Common Remapping Parameters
The plugin uses CommonParameters for both vehicle and pedestrian object types. Each parameter is prefixed with either vehicle. or pedestrian.:
| Parameter Name | Type | Explanation |
|---|---|---|
max_remapping_distance |
double | maximum distance (meters) for remapping validation |
max_speed_difference_ratio |
double | maximum speed difference ratio tolerance |
min_speed_ratio |
double | minimum speed ratio relative to dummy object speed |
max_speed_ratio |
double | maximum speed ratio relative to dummy object speed |
speed_check_threshold |
double | speed threshold (m/s) above which speed checks apply |
path_selection_strategy |
string | path selection strategy: “highest_confidence” or “random” |
Changelog for package autoware_dummy_perception_publisher
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(dummy_perception_publisher): add conversion to PointXYZIRC for output clouds (#11453)
- feat(dummy_perception_publisher): Add conversion to PointXYZIRC for output clouds
* style(pre-commit): autofix ---------Co-authored-by: Takeshi Miura <<m.takeshi1995@gmail.com>> Co-authored-by: Junya Sasaki <<junya.sasaki@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
feat(autoware_dummy_perception_publisher): dummy object predicted path functionality (#11011)
- feat: implement euclidean distance-based mapping for dummy perception publisher
- Add euclidean distance-based mapping between dummy objects and predicted objects
- Implement 2-second grace period before using predicted paths
- Add distance-based interpolation along predicted paths using dummy object speed
- Use predictions at least 1 second old for better movement calculation
- Maintain one-to-one mapping between dummy and predicted objects
- Add predicted objects subscription and buffer management
- Preserve dummy object velocity throughout movement
- feat: enhance euclidean distance-based mapping with prediction stability
- Implement prediction keeping logic for 1-second intervals to reduce jitter
- Add prediction storage maps for stable object tracking
- Remove debug output and clean up prediction selection logic
- Use object creation time instead of mapping time for 2-second grace period
- Improve handling of predicted object ID changes with proper remapping
- Clean up unused mapping time parameter from ObjectInfo constructor
- feat: increase prediction stability duration to 3 seconds
- Change MIN_KEEP_DURATION from 1.0 to 3.0 seconds for more stable object tracking
- Add debug output to track prediction usage
- Fix code formatting and whitespace
- feat: implement trajectory extrapolation and lost object handling
- Add trajectory extrapolation when objects overshoot predicted paths
- Use last two trajectory points to determine direction for extrapolation
- Maintain last known orientation during extrapolation
- Keep using last predicted trajectory for lost objects
- Add proper fallbacks for edge cases (single point paths, zero-length segments)
- Clean up debug output to avoid duplication
- feat: add trajectory validation to prevent unrealistic direction changes
- Add isTrajectoryValid function to validate new predictions against current ones
- Implement thresholds for yaw change (45°), direction change (60°), and speed change (200%)
- Skip trajectory updates when validation fails to maintain smooth object movement
- Handle edge cases including empty paths and low-speed scenarios
- Add detailed logging for debugging trajectory rejections
- feat: relax trajectory validation thresholds for more realistic movement
- Increase yaw change threshold from 45° to 90°
- Increase direction change threshold from 60° to 120°
- Increase speed change threshold from 200% to 500%
- Allow for more realistic vehicle maneuvers while still preventing physics violations
- feat: add path length validation to trajectory comparison
- Add MAX_PATH_LENGTH_CHANGE_RATIO threshold (300% change)
- Calculate path lengths for both current and new trajectories
- Compare path length ratios to prevent unrealistic path changes
- Skip validation for very short paths (less than 0.1m)
- Add detailed logging for path length validation failures
- feat: add comprehensive validation for object remapping candidates
- Add isValidRemappingCandidate function to validate remapping candidates
- Implement position, trajectory, and heading similarity checks
- Add arePathsSimilar function to compare path shapes and directions
- Use validation in both remapping and unmapped object scenarios
- Add detailed logging for debugging validation failures
- Set appropriate thresholds for distance, yaw, and path comparison
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| tier4_simulator_launch |
Launch files
- launch/dummy_perception_publisher.launch.xml
-
- visible_range [default: 300.0]
- real [default: true]
- use_object_recognition [default: true]
- use_base_link_z [default: true]
- dummy_perception_publisher_config_file [default: $(find-pkg-share autoware_dummy_perception_publisher)/config/dummy_perception_publisher.param.yaml]