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
- Takumi Odashima
Authors
- Satoshi Ota
Surround Obstacle Checker
Purpose
This module subscribes required data (ego-pose, obstacles, etc), and publishes zero velocity limit to keep stopping if any of stop conditions are satisfied.
Inner-workings / Algorithms
Flow chart
@startuml
title surround obstacle checker
start
if (Check state) then
:State::STOP;
if (Is stop required?) then (yes)
else (no)
:Clear velocity limit;
:Set state to State::PASS;
endif
else
:State::PASS;
if (Is stop required?) then (yes)
:Set velocity limit;
:Set state to State::STOP;
else (no)
endif
endif
stop
@enduml
Algorithms
Check data
Check that surround_obstacle_checker receives no ground pointcloud, dynamic objects and current velocity data.
Get distance to nearest object
Calculate distance between ego vehicle and the nearest object. In this function, it calculates the minimum distance between the polygon of ego vehicle and all points in pointclouds and the polygons of dynamic objects.
Stop requirement
If it satisfies all following conditions, it plans stopping.
- Ego vehicle is stopped
- It satisfies any following conditions
- The distance to nearest obstacle satisfies following conditions
- If state is
State::PASS, the distance is less thansurround_check_distance - If state is
State::STOP, the distance is less thansurround_check_recover_distance
- If state is
- If it does not satisfies the condition in 1, elapsed time from the time it satisfies the condition in 1 is less than
state_clear_time
- The distance to nearest obstacle satisfies following conditions
States
To prevent chattering, surround_obstacle_checker manages two states.
As mentioned in stop condition section, it prevents chattering by changing threshold to find surround obstacle depending on the states.
-
State::PASS: Stop planning is released -
State::STOP:While stop planning
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/perception/obstacle_segmentation/pointcloud |
sensor_msgs::msg::PointCloud2 |
Pointcloud of obstacles which the ego-vehicle should stop or avoid |
/perception/object_recognition/objects |
autoware_perception_msgs::msg::PredictedObjects |
Dynamic objects |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Current twist |
/tf |
tf2_msgs::msg::TFMessage |
TF |
/tf_static |
tf2_msgs::msg::TFMessage |
TF static |
Output
| Name | Type | Description |
|---|---|---|
~/output/velocity_limit_clear_command |
autoware_internal_planning_msgs::msg::VelocityLimitClearCommand |
Velocity limit clear command |
~/output/max_velocity |
autoware_internal_planning_msgs::msg::VelocityLimit |
Velocity limit command |
~/output/no_start_reason |
diagnostic_msgs::msg::DiagnosticStatus |
No start reason |
~/debug/marker |
visualization_msgs::msg::MarkerArray |
Marker for visualization |
~/debug/footprint |
geometry_msgs::msg::PolygonStamped |
Ego vehicle base footprint for visualization |
~/debug/footprint_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_distance offset for visualization |
~/debug/footprint_recover_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_recover_distance offset for visualization |
Parameters
File truncated at 100 lines see the full file
Changelog for package autoware_surround_obstacle_checker
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the planning node designs with the packages they describe (#13342)
* fix(design): align the planning node designs with the packages they describe HazardLightsSelector registers as HazardLightsSelector, and its second input maps to input/system/hazard_lights_command and carries the MRM command, so the port is named system_hazard_lights_cmd. SurroundObstacleChecker publishes the migrated autoware_internal_planning_msgs velocity limit types, and creates neither stop_reasons nor no_start_reason. RemainingDistanceTimeCalculator takes its velocity limit input through the design graph; global: keeps a port out of it, since link_manager skips any connection whose target is a global input port and the exporter emits no remap. ExternalVelocityLimitSelector's api_limit is the reverse case: it is published only by AD API adaptors outside the design graph, so it keeps global: alongside its remap_target. #13165 unified the Modifier and Optimizer nodes into TrajectoryProcessor but left both old designs in place, naming plugins, executables and param files that no longer exist, and put the new design in common/autoware_universe_designs, a bare directory that is not a ROS package. The design moves into autoware_trajectory_processor per the convention set by #13102, and its processing_time_detail publisher carries ProcessingTimeTree.
* feat(autoware_path_sampler): add the packaged path sampler parameter file The package had no config/ directory and its INSTALL_TO_SHARE was commented out, so the parameter file the node design points at lived only in autoware_launch. The file is copied into the package and installed, and the design declares the three shared param files the launcher also passes, which is where ego_nearest_dist_threshold and ego_nearest_yaw_threshold come from.
* feat(design): add the planning factor publishers to the BehaviorPathPlanner node design The node publishes nine planning factor arrays under /planning/planning_factors that the design did not declare, so nothing could connect them to the evaluator. ---------
-
chore(planning): update package maintainers (#13186)
-
refactor(planning): move node design files into each package (#13102) 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 ---------
-
feat: support new object classification labels (#12956)
- fix(obstacle_proximity_checker): support new object classification labels
- feat(collision_detector): support new object classification labels
- feat(surround_obstacle_checker): support new object classification labels
* fix: apply pre-commit ---------
-
feat(trajectory_modifier): add surround obstacle stop plugin to trajectory modifier (#12894)
- extract core logic from surround_obstacle_checker to new common package obstacle_proximit_checker
- add new modifier plugin surround_obstacle_stop which uses common package obstacle_proximity_checker
- apply pre-commit checks
- refactor implementation, add integration test for surround_obstacle_stop
- run proximity checker only once per planning cycle
- add maintainers for new package
- update default param values
- update and use utility function replace_trajectory_with_stop_point
- add readme for autoware_obstacle_proximity_checker
* fix unit tests ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Satoshi OTA, Taekjin LEE, mkquda
0.52.0 (2026-06-30)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/surround_obstacle_checker.launch.xml
-
- param_path [default: $(find-pkg-share autoware_surround_obstacle_checker)/config/surround_obstacle_checker.param.yaml]
- input_objects [default: /perception/object_recognition/objects]
- input_odometry [default: /localization/kinematic_state]
- input_pointcloud [default: /perception/obstacle_segmentation/pointcloud]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_velocity_limit_clear_command [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged autoware_surround_obstacle_checker 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
- Takumi Odashima
Authors
- Satoshi Ota
Surround Obstacle Checker
Purpose
This module subscribes required data (ego-pose, obstacles, etc), and publishes zero velocity limit to keep stopping if any of stop conditions are satisfied.
Inner-workings / Algorithms
Flow chart
@startuml
title surround obstacle checker
start
if (Check state) then
:State::STOP;
if (Is stop required?) then (yes)
else (no)
:Clear velocity limit;
:Set state to State::PASS;
endif
else
:State::PASS;
if (Is stop required?) then (yes)
:Set velocity limit;
:Set state to State::STOP;
else (no)
endif
endif
stop
@enduml
Algorithms
Check data
Check that surround_obstacle_checker receives no ground pointcloud, dynamic objects and current velocity data.
Get distance to nearest object
Calculate distance between ego vehicle and the nearest object. In this function, it calculates the minimum distance between the polygon of ego vehicle and all points in pointclouds and the polygons of dynamic objects.
Stop requirement
If it satisfies all following conditions, it plans stopping.
- Ego vehicle is stopped
- It satisfies any following conditions
- The distance to nearest obstacle satisfies following conditions
- If state is
State::PASS, the distance is less thansurround_check_distance - If state is
State::STOP, the distance is less thansurround_check_recover_distance
- If state is
- If it does not satisfies the condition in 1, elapsed time from the time it satisfies the condition in 1 is less than
state_clear_time
- The distance to nearest obstacle satisfies following conditions
States
To prevent chattering, surround_obstacle_checker manages two states.
As mentioned in stop condition section, it prevents chattering by changing threshold to find surround obstacle depending on the states.
-
State::PASS: Stop planning is released -
State::STOP:While stop planning
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/perception/obstacle_segmentation/pointcloud |
sensor_msgs::msg::PointCloud2 |
Pointcloud of obstacles which the ego-vehicle should stop or avoid |
/perception/object_recognition/objects |
autoware_perception_msgs::msg::PredictedObjects |
Dynamic objects |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Current twist |
/tf |
tf2_msgs::msg::TFMessage |
TF |
/tf_static |
tf2_msgs::msg::TFMessage |
TF static |
Output
| Name | Type | Description |
|---|---|---|
~/output/velocity_limit_clear_command |
autoware_internal_planning_msgs::msg::VelocityLimitClearCommand |
Velocity limit clear command |
~/output/max_velocity |
autoware_internal_planning_msgs::msg::VelocityLimit |
Velocity limit command |
~/output/no_start_reason |
diagnostic_msgs::msg::DiagnosticStatus |
No start reason |
~/debug/marker |
visualization_msgs::msg::MarkerArray |
Marker for visualization |
~/debug/footprint |
geometry_msgs::msg::PolygonStamped |
Ego vehicle base footprint for visualization |
~/debug/footprint_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_distance offset for visualization |
~/debug/footprint_recover_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_recover_distance offset for visualization |
Parameters
File truncated at 100 lines see the full file
Changelog for package autoware_surround_obstacle_checker
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the planning node designs with the packages they describe (#13342)
* fix(design): align the planning node designs with the packages they describe HazardLightsSelector registers as HazardLightsSelector, and its second input maps to input/system/hazard_lights_command and carries the MRM command, so the port is named system_hazard_lights_cmd. SurroundObstacleChecker publishes the migrated autoware_internal_planning_msgs velocity limit types, and creates neither stop_reasons nor no_start_reason. RemainingDistanceTimeCalculator takes its velocity limit input through the design graph; global: keeps a port out of it, since link_manager skips any connection whose target is a global input port and the exporter emits no remap. ExternalVelocityLimitSelector's api_limit is the reverse case: it is published only by AD API adaptors outside the design graph, so it keeps global: alongside its remap_target. #13165 unified the Modifier and Optimizer nodes into TrajectoryProcessor but left both old designs in place, naming plugins, executables and param files that no longer exist, and put the new design in common/autoware_universe_designs, a bare directory that is not a ROS package. The design moves into autoware_trajectory_processor per the convention set by #13102, and its processing_time_detail publisher carries ProcessingTimeTree.
* feat(autoware_path_sampler): add the packaged path sampler parameter file The package had no config/ directory and its INSTALL_TO_SHARE was commented out, so the parameter file the node design points at lived only in autoware_launch. The file is copied into the package and installed, and the design declares the three shared param files the launcher also passes, which is where ego_nearest_dist_threshold and ego_nearest_yaw_threshold come from.
* feat(design): add the planning factor publishers to the BehaviorPathPlanner node design The node publishes nine planning factor arrays under /planning/planning_factors that the design did not declare, so nothing could connect them to the evaluator. ---------
-
chore(planning): update package maintainers (#13186)
-
refactor(planning): move node design files into each package (#13102) 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 ---------
-
feat: support new object classification labels (#12956)
- fix(obstacle_proximity_checker): support new object classification labels
- feat(collision_detector): support new object classification labels
- feat(surround_obstacle_checker): support new object classification labels
* fix: apply pre-commit ---------
-
feat(trajectory_modifier): add surround obstacle stop plugin to trajectory modifier (#12894)
- extract core logic from surround_obstacle_checker to new common package obstacle_proximit_checker
- add new modifier plugin surround_obstacle_stop which uses common package obstacle_proximity_checker
- apply pre-commit checks
- refactor implementation, add integration test for surround_obstacle_stop
- run proximity checker only once per planning cycle
- add maintainers for new package
- update default param values
- update and use utility function replace_trajectory_with_stop_point
- add readme for autoware_obstacle_proximity_checker
* fix unit tests ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Satoshi OTA, Taekjin LEE, mkquda
0.52.0 (2026-06-30)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/surround_obstacle_checker.launch.xml
-
- param_path [default: $(find-pkg-share autoware_surround_obstacle_checker)/config/surround_obstacle_checker.param.yaml]
- input_objects [default: /perception/object_recognition/objects]
- input_odometry [default: /localization/kinematic_state]
- input_pointcloud [default: /perception/obstacle_segmentation/pointcloud]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_velocity_limit_clear_command [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged autoware_surround_obstacle_checker 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
- Takumi Odashima
Authors
- Satoshi Ota
Surround Obstacle Checker
Purpose
This module subscribes required data (ego-pose, obstacles, etc), and publishes zero velocity limit to keep stopping if any of stop conditions are satisfied.
Inner-workings / Algorithms
Flow chart
@startuml
title surround obstacle checker
start
if (Check state) then
:State::STOP;
if (Is stop required?) then (yes)
else (no)
:Clear velocity limit;
:Set state to State::PASS;
endif
else
:State::PASS;
if (Is stop required?) then (yes)
:Set velocity limit;
:Set state to State::STOP;
else (no)
endif
endif
stop
@enduml
Algorithms
Check data
Check that surround_obstacle_checker receives no ground pointcloud, dynamic objects and current velocity data.
Get distance to nearest object
Calculate distance between ego vehicle and the nearest object. In this function, it calculates the minimum distance between the polygon of ego vehicle and all points in pointclouds and the polygons of dynamic objects.
Stop requirement
If it satisfies all following conditions, it plans stopping.
- Ego vehicle is stopped
- It satisfies any following conditions
- The distance to nearest obstacle satisfies following conditions
- If state is
State::PASS, the distance is less thansurround_check_distance - If state is
State::STOP, the distance is less thansurround_check_recover_distance
- If state is
- If it does not satisfies the condition in 1, elapsed time from the time it satisfies the condition in 1 is less than
state_clear_time
- The distance to nearest obstacle satisfies following conditions
States
To prevent chattering, surround_obstacle_checker manages two states.
As mentioned in stop condition section, it prevents chattering by changing threshold to find surround obstacle depending on the states.
-
State::PASS: Stop planning is released -
State::STOP:While stop planning
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/perception/obstacle_segmentation/pointcloud |
sensor_msgs::msg::PointCloud2 |
Pointcloud of obstacles which the ego-vehicle should stop or avoid |
/perception/object_recognition/objects |
autoware_perception_msgs::msg::PredictedObjects |
Dynamic objects |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Current twist |
/tf |
tf2_msgs::msg::TFMessage |
TF |
/tf_static |
tf2_msgs::msg::TFMessage |
TF static |
Output
| Name | Type | Description |
|---|---|---|
~/output/velocity_limit_clear_command |
autoware_internal_planning_msgs::msg::VelocityLimitClearCommand |
Velocity limit clear command |
~/output/max_velocity |
autoware_internal_planning_msgs::msg::VelocityLimit |
Velocity limit command |
~/output/no_start_reason |
diagnostic_msgs::msg::DiagnosticStatus |
No start reason |
~/debug/marker |
visualization_msgs::msg::MarkerArray |
Marker for visualization |
~/debug/footprint |
geometry_msgs::msg::PolygonStamped |
Ego vehicle base footprint for visualization |
~/debug/footprint_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_distance offset for visualization |
~/debug/footprint_recover_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_recover_distance offset for visualization |
Parameters
File truncated at 100 lines see the full file
Changelog for package autoware_surround_obstacle_checker
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the planning node designs with the packages they describe (#13342)
* fix(design): align the planning node designs with the packages they describe HazardLightsSelector registers as HazardLightsSelector, and its second input maps to input/system/hazard_lights_command and carries the MRM command, so the port is named system_hazard_lights_cmd. SurroundObstacleChecker publishes the migrated autoware_internal_planning_msgs velocity limit types, and creates neither stop_reasons nor no_start_reason. RemainingDistanceTimeCalculator takes its velocity limit input through the design graph; global: keeps a port out of it, since link_manager skips any connection whose target is a global input port and the exporter emits no remap. ExternalVelocityLimitSelector's api_limit is the reverse case: it is published only by AD API adaptors outside the design graph, so it keeps global: alongside its remap_target. #13165 unified the Modifier and Optimizer nodes into TrajectoryProcessor but left both old designs in place, naming plugins, executables and param files that no longer exist, and put the new design in common/autoware_universe_designs, a bare directory that is not a ROS package. The design moves into autoware_trajectory_processor per the convention set by #13102, and its processing_time_detail publisher carries ProcessingTimeTree.
* feat(autoware_path_sampler): add the packaged path sampler parameter file The package had no config/ directory and its INSTALL_TO_SHARE was commented out, so the parameter file the node design points at lived only in autoware_launch. The file is copied into the package and installed, and the design declares the three shared param files the launcher also passes, which is where ego_nearest_dist_threshold and ego_nearest_yaw_threshold come from.
* feat(design): add the planning factor publishers to the BehaviorPathPlanner node design The node publishes nine planning factor arrays under /planning/planning_factors that the design did not declare, so nothing could connect them to the evaluator. ---------
-
chore(planning): update package maintainers (#13186)
-
refactor(planning): move node design files into each package (#13102) 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 ---------
-
feat: support new object classification labels (#12956)
- fix(obstacle_proximity_checker): support new object classification labels
- feat(collision_detector): support new object classification labels
- feat(surround_obstacle_checker): support new object classification labels
* fix: apply pre-commit ---------
-
feat(trajectory_modifier): add surround obstacle stop plugin to trajectory modifier (#12894)
- extract core logic from surround_obstacle_checker to new common package obstacle_proximit_checker
- add new modifier plugin surround_obstacle_stop which uses common package obstacle_proximity_checker
- apply pre-commit checks
- refactor implementation, add integration test for surround_obstacle_stop
- run proximity checker only once per planning cycle
- add maintainers for new package
- update default param values
- update and use utility function replace_trajectory_with_stop_point
- add readme for autoware_obstacle_proximity_checker
* fix unit tests ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Satoshi OTA, Taekjin LEE, mkquda
0.52.0 (2026-06-30)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/surround_obstacle_checker.launch.xml
-
- param_path [default: $(find-pkg-share autoware_surround_obstacle_checker)/config/surround_obstacle_checker.param.yaml]
- input_objects [default: /perception/object_recognition/objects]
- input_odometry [default: /localization/kinematic_state]
- input_pointcloud [default: /perception/obstacle_segmentation/pointcloud]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_velocity_limit_clear_command [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged autoware_surround_obstacle_checker 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
- Takumi Odashima
Authors
- Satoshi Ota
Surround Obstacle Checker
Purpose
This module subscribes required data (ego-pose, obstacles, etc), and publishes zero velocity limit to keep stopping if any of stop conditions are satisfied.
Inner-workings / Algorithms
Flow chart
@startuml
title surround obstacle checker
start
if (Check state) then
:State::STOP;
if (Is stop required?) then (yes)
else (no)
:Clear velocity limit;
:Set state to State::PASS;
endif
else
:State::PASS;
if (Is stop required?) then (yes)
:Set velocity limit;
:Set state to State::STOP;
else (no)
endif
endif
stop
@enduml
Algorithms
Check data
Check that surround_obstacle_checker receives no ground pointcloud, dynamic objects and current velocity data.
Get distance to nearest object
Calculate distance between ego vehicle and the nearest object. In this function, it calculates the minimum distance between the polygon of ego vehicle and all points in pointclouds and the polygons of dynamic objects.
Stop requirement
If it satisfies all following conditions, it plans stopping.
- Ego vehicle is stopped
- It satisfies any following conditions
- The distance to nearest obstacle satisfies following conditions
- If state is
State::PASS, the distance is less thansurround_check_distance - If state is
State::STOP, the distance is less thansurround_check_recover_distance
- If state is
- If it does not satisfies the condition in 1, elapsed time from the time it satisfies the condition in 1 is less than
state_clear_time
- The distance to nearest obstacle satisfies following conditions
States
To prevent chattering, surround_obstacle_checker manages two states.
As mentioned in stop condition section, it prevents chattering by changing threshold to find surround obstacle depending on the states.
-
State::PASS: Stop planning is released -
State::STOP:While stop planning
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/perception/obstacle_segmentation/pointcloud |
sensor_msgs::msg::PointCloud2 |
Pointcloud of obstacles which the ego-vehicle should stop or avoid |
/perception/object_recognition/objects |
autoware_perception_msgs::msg::PredictedObjects |
Dynamic objects |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Current twist |
/tf |
tf2_msgs::msg::TFMessage |
TF |
/tf_static |
tf2_msgs::msg::TFMessage |
TF static |
Output
| Name | Type | Description |
|---|---|---|
~/output/velocity_limit_clear_command |
autoware_internal_planning_msgs::msg::VelocityLimitClearCommand |
Velocity limit clear command |
~/output/max_velocity |
autoware_internal_planning_msgs::msg::VelocityLimit |
Velocity limit command |
~/output/no_start_reason |
diagnostic_msgs::msg::DiagnosticStatus |
No start reason |
~/debug/marker |
visualization_msgs::msg::MarkerArray |
Marker for visualization |
~/debug/footprint |
geometry_msgs::msg::PolygonStamped |
Ego vehicle base footprint for visualization |
~/debug/footprint_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_distance offset for visualization |
~/debug/footprint_recover_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_recover_distance offset for visualization |
Parameters
File truncated at 100 lines see the full file
Changelog for package autoware_surround_obstacle_checker
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the planning node designs with the packages they describe (#13342)
* fix(design): align the planning node designs with the packages they describe HazardLightsSelector registers as HazardLightsSelector, and its second input maps to input/system/hazard_lights_command and carries the MRM command, so the port is named system_hazard_lights_cmd. SurroundObstacleChecker publishes the migrated autoware_internal_planning_msgs velocity limit types, and creates neither stop_reasons nor no_start_reason. RemainingDistanceTimeCalculator takes its velocity limit input through the design graph; global: keeps a port out of it, since link_manager skips any connection whose target is a global input port and the exporter emits no remap. ExternalVelocityLimitSelector's api_limit is the reverse case: it is published only by AD API adaptors outside the design graph, so it keeps global: alongside its remap_target. #13165 unified the Modifier and Optimizer nodes into TrajectoryProcessor but left both old designs in place, naming plugins, executables and param files that no longer exist, and put the new design in common/autoware_universe_designs, a bare directory that is not a ROS package. The design moves into autoware_trajectory_processor per the convention set by #13102, and its processing_time_detail publisher carries ProcessingTimeTree.
* feat(autoware_path_sampler): add the packaged path sampler parameter file The package had no config/ directory and its INSTALL_TO_SHARE was commented out, so the parameter file the node design points at lived only in autoware_launch. The file is copied into the package and installed, and the design declares the three shared param files the launcher also passes, which is where ego_nearest_dist_threshold and ego_nearest_yaw_threshold come from.
* feat(design): add the planning factor publishers to the BehaviorPathPlanner node design The node publishes nine planning factor arrays under /planning/planning_factors that the design did not declare, so nothing could connect them to the evaluator. ---------
-
chore(planning): update package maintainers (#13186)
-
refactor(planning): move node design files into each package (#13102) 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 ---------
-
feat: support new object classification labels (#12956)
- fix(obstacle_proximity_checker): support new object classification labels
- feat(collision_detector): support new object classification labels
- feat(surround_obstacle_checker): support new object classification labels
* fix: apply pre-commit ---------
-
feat(trajectory_modifier): add surround obstacle stop plugin to trajectory modifier (#12894)
- extract core logic from surround_obstacle_checker to new common package obstacle_proximit_checker
- add new modifier plugin surround_obstacle_stop which uses common package obstacle_proximity_checker
- apply pre-commit checks
- refactor implementation, add integration test for surround_obstacle_stop
- run proximity checker only once per planning cycle
- add maintainers for new package
- update default param values
- update and use utility function replace_trajectory_with_stop_point
- add readme for autoware_obstacle_proximity_checker
* fix unit tests ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Satoshi OTA, Taekjin LEE, mkquda
0.52.0 (2026-06-30)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/surround_obstacle_checker.launch.xml
-
- param_path [default: $(find-pkg-share autoware_surround_obstacle_checker)/config/surround_obstacle_checker.param.yaml]
- input_objects [default: /perception/object_recognition/objects]
- input_odometry [default: /localization/kinematic_state]
- input_pointcloud [default: /perception/obstacle_segmentation/pointcloud]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_velocity_limit_clear_command [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged autoware_surround_obstacle_checker 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
- Takumi Odashima
Authors
- Satoshi Ota
Surround Obstacle Checker
Purpose
This module subscribes required data (ego-pose, obstacles, etc), and publishes zero velocity limit to keep stopping if any of stop conditions are satisfied.
Inner-workings / Algorithms
Flow chart
@startuml
title surround obstacle checker
start
if (Check state) then
:State::STOP;
if (Is stop required?) then (yes)
else (no)
:Clear velocity limit;
:Set state to State::PASS;
endif
else
:State::PASS;
if (Is stop required?) then (yes)
:Set velocity limit;
:Set state to State::STOP;
else (no)
endif
endif
stop
@enduml
Algorithms
Check data
Check that surround_obstacle_checker receives no ground pointcloud, dynamic objects and current velocity data.
Get distance to nearest object
Calculate distance between ego vehicle and the nearest object. In this function, it calculates the minimum distance between the polygon of ego vehicle and all points in pointclouds and the polygons of dynamic objects.
Stop requirement
If it satisfies all following conditions, it plans stopping.
- Ego vehicle is stopped
- It satisfies any following conditions
- The distance to nearest obstacle satisfies following conditions
- If state is
State::PASS, the distance is less thansurround_check_distance - If state is
State::STOP, the distance is less thansurround_check_recover_distance
- If state is
- If it does not satisfies the condition in 1, elapsed time from the time it satisfies the condition in 1 is less than
state_clear_time
- The distance to nearest obstacle satisfies following conditions
States
To prevent chattering, surround_obstacle_checker manages two states.
As mentioned in stop condition section, it prevents chattering by changing threshold to find surround obstacle depending on the states.
-
State::PASS: Stop planning is released -
State::STOP:While stop planning
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/perception/obstacle_segmentation/pointcloud |
sensor_msgs::msg::PointCloud2 |
Pointcloud of obstacles which the ego-vehicle should stop or avoid |
/perception/object_recognition/objects |
autoware_perception_msgs::msg::PredictedObjects |
Dynamic objects |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Current twist |
/tf |
tf2_msgs::msg::TFMessage |
TF |
/tf_static |
tf2_msgs::msg::TFMessage |
TF static |
Output
| Name | Type | Description |
|---|---|---|
~/output/velocity_limit_clear_command |
autoware_internal_planning_msgs::msg::VelocityLimitClearCommand |
Velocity limit clear command |
~/output/max_velocity |
autoware_internal_planning_msgs::msg::VelocityLimit |
Velocity limit command |
~/output/no_start_reason |
diagnostic_msgs::msg::DiagnosticStatus |
No start reason |
~/debug/marker |
visualization_msgs::msg::MarkerArray |
Marker for visualization |
~/debug/footprint |
geometry_msgs::msg::PolygonStamped |
Ego vehicle base footprint for visualization |
~/debug/footprint_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_distance offset for visualization |
~/debug/footprint_recover_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_recover_distance offset for visualization |
Parameters
File truncated at 100 lines see the full file
Changelog for package autoware_surround_obstacle_checker
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the planning node designs with the packages they describe (#13342)
* fix(design): align the planning node designs with the packages they describe HazardLightsSelector registers as HazardLightsSelector, and its second input maps to input/system/hazard_lights_command and carries the MRM command, so the port is named system_hazard_lights_cmd. SurroundObstacleChecker publishes the migrated autoware_internal_planning_msgs velocity limit types, and creates neither stop_reasons nor no_start_reason. RemainingDistanceTimeCalculator takes its velocity limit input through the design graph; global: keeps a port out of it, since link_manager skips any connection whose target is a global input port and the exporter emits no remap. ExternalVelocityLimitSelector's api_limit is the reverse case: it is published only by AD API adaptors outside the design graph, so it keeps global: alongside its remap_target. #13165 unified the Modifier and Optimizer nodes into TrajectoryProcessor but left both old designs in place, naming plugins, executables and param files that no longer exist, and put the new design in common/autoware_universe_designs, a bare directory that is not a ROS package. The design moves into autoware_trajectory_processor per the convention set by #13102, and its processing_time_detail publisher carries ProcessingTimeTree.
* feat(autoware_path_sampler): add the packaged path sampler parameter file The package had no config/ directory and its INSTALL_TO_SHARE was commented out, so the parameter file the node design points at lived only in autoware_launch. The file is copied into the package and installed, and the design declares the three shared param files the launcher also passes, which is where ego_nearest_dist_threshold and ego_nearest_yaw_threshold come from.
* feat(design): add the planning factor publishers to the BehaviorPathPlanner node design The node publishes nine planning factor arrays under /planning/planning_factors that the design did not declare, so nothing could connect them to the evaluator. ---------
-
chore(planning): update package maintainers (#13186)
-
refactor(planning): move node design files into each package (#13102) 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 ---------
-
feat: support new object classification labels (#12956)
- fix(obstacle_proximity_checker): support new object classification labels
- feat(collision_detector): support new object classification labels
- feat(surround_obstacle_checker): support new object classification labels
* fix: apply pre-commit ---------
-
feat(trajectory_modifier): add surround obstacle stop plugin to trajectory modifier (#12894)
- extract core logic from surround_obstacle_checker to new common package obstacle_proximit_checker
- add new modifier plugin surround_obstacle_stop which uses common package obstacle_proximity_checker
- apply pre-commit checks
- refactor implementation, add integration test for surround_obstacle_stop
- run proximity checker only once per planning cycle
- add maintainers for new package
- update default param values
- update and use utility function replace_trajectory_with_stop_point
- add readme for autoware_obstacle_proximity_checker
* fix unit tests ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Satoshi OTA, Taekjin LEE, mkquda
0.52.0 (2026-06-30)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/surround_obstacle_checker.launch.xml
-
- param_path [default: $(find-pkg-share autoware_surround_obstacle_checker)/config/surround_obstacle_checker.param.yaml]
- input_objects [default: /perception/object_recognition/objects]
- input_odometry [default: /localization/kinematic_state]
- input_pointcloud [default: /perception/obstacle_segmentation/pointcloud]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_velocity_limit_clear_command [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged autoware_surround_obstacle_checker 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
- Takumi Odashima
Authors
- Satoshi Ota
Surround Obstacle Checker
Purpose
This module subscribes required data (ego-pose, obstacles, etc), and publishes zero velocity limit to keep stopping if any of stop conditions are satisfied.
Inner-workings / Algorithms
Flow chart
@startuml
title surround obstacle checker
start
if (Check state) then
:State::STOP;
if (Is stop required?) then (yes)
else (no)
:Clear velocity limit;
:Set state to State::PASS;
endif
else
:State::PASS;
if (Is stop required?) then (yes)
:Set velocity limit;
:Set state to State::STOP;
else (no)
endif
endif
stop
@enduml
Algorithms
Check data
Check that surround_obstacle_checker receives no ground pointcloud, dynamic objects and current velocity data.
Get distance to nearest object
Calculate distance between ego vehicle and the nearest object. In this function, it calculates the minimum distance between the polygon of ego vehicle and all points in pointclouds and the polygons of dynamic objects.
Stop requirement
If it satisfies all following conditions, it plans stopping.
- Ego vehicle is stopped
- It satisfies any following conditions
- The distance to nearest obstacle satisfies following conditions
- If state is
State::PASS, the distance is less thansurround_check_distance - If state is
State::STOP, the distance is less thansurround_check_recover_distance
- If state is
- If it does not satisfies the condition in 1, elapsed time from the time it satisfies the condition in 1 is less than
state_clear_time
- The distance to nearest obstacle satisfies following conditions
States
To prevent chattering, surround_obstacle_checker manages two states.
As mentioned in stop condition section, it prevents chattering by changing threshold to find surround obstacle depending on the states.
-
State::PASS: Stop planning is released -
State::STOP:While stop planning
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/perception/obstacle_segmentation/pointcloud |
sensor_msgs::msg::PointCloud2 |
Pointcloud of obstacles which the ego-vehicle should stop or avoid |
/perception/object_recognition/objects |
autoware_perception_msgs::msg::PredictedObjects |
Dynamic objects |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Current twist |
/tf |
tf2_msgs::msg::TFMessage |
TF |
/tf_static |
tf2_msgs::msg::TFMessage |
TF static |
Output
| Name | Type | Description |
|---|---|---|
~/output/velocity_limit_clear_command |
autoware_internal_planning_msgs::msg::VelocityLimitClearCommand |
Velocity limit clear command |
~/output/max_velocity |
autoware_internal_planning_msgs::msg::VelocityLimit |
Velocity limit command |
~/output/no_start_reason |
diagnostic_msgs::msg::DiagnosticStatus |
No start reason |
~/debug/marker |
visualization_msgs::msg::MarkerArray |
Marker for visualization |
~/debug/footprint |
geometry_msgs::msg::PolygonStamped |
Ego vehicle base footprint for visualization |
~/debug/footprint_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_distance offset for visualization |
~/debug/footprint_recover_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_recover_distance offset for visualization |
Parameters
File truncated at 100 lines see the full file
Changelog for package autoware_surround_obstacle_checker
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the planning node designs with the packages they describe (#13342)
* fix(design): align the planning node designs with the packages they describe HazardLightsSelector registers as HazardLightsSelector, and its second input maps to input/system/hazard_lights_command and carries the MRM command, so the port is named system_hazard_lights_cmd. SurroundObstacleChecker publishes the migrated autoware_internal_planning_msgs velocity limit types, and creates neither stop_reasons nor no_start_reason. RemainingDistanceTimeCalculator takes its velocity limit input through the design graph; global: keeps a port out of it, since link_manager skips any connection whose target is a global input port and the exporter emits no remap. ExternalVelocityLimitSelector's api_limit is the reverse case: it is published only by AD API adaptors outside the design graph, so it keeps global: alongside its remap_target. #13165 unified the Modifier and Optimizer nodes into TrajectoryProcessor but left both old designs in place, naming plugins, executables and param files that no longer exist, and put the new design in common/autoware_universe_designs, a bare directory that is not a ROS package. The design moves into autoware_trajectory_processor per the convention set by #13102, and its processing_time_detail publisher carries ProcessingTimeTree.
* feat(autoware_path_sampler): add the packaged path sampler parameter file The package had no config/ directory and its INSTALL_TO_SHARE was commented out, so the parameter file the node design points at lived only in autoware_launch. The file is copied into the package and installed, and the design declares the three shared param files the launcher also passes, which is where ego_nearest_dist_threshold and ego_nearest_yaw_threshold come from.
* feat(design): add the planning factor publishers to the BehaviorPathPlanner node design The node publishes nine planning factor arrays under /planning/planning_factors that the design did not declare, so nothing could connect them to the evaluator. ---------
-
chore(planning): update package maintainers (#13186)
-
refactor(planning): move node design files into each package (#13102) 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 ---------
-
feat: support new object classification labels (#12956)
- fix(obstacle_proximity_checker): support new object classification labels
- feat(collision_detector): support new object classification labels
- feat(surround_obstacle_checker): support new object classification labels
* fix: apply pre-commit ---------
-
feat(trajectory_modifier): add surround obstacle stop plugin to trajectory modifier (#12894)
- extract core logic from surround_obstacle_checker to new common package obstacle_proximit_checker
- add new modifier plugin surround_obstacle_stop which uses common package obstacle_proximity_checker
- apply pre-commit checks
- refactor implementation, add integration test for surround_obstacle_stop
- run proximity checker only once per planning cycle
- add maintainers for new package
- update default param values
- update and use utility function replace_trajectory_with_stop_point
- add readme for autoware_obstacle_proximity_checker
* fix unit tests ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Satoshi OTA, Taekjin LEE, mkquda
0.52.0 (2026-06-30)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/surround_obstacle_checker.launch.xml
-
- param_path [default: $(find-pkg-share autoware_surround_obstacle_checker)/config/surround_obstacle_checker.param.yaml]
- input_objects [default: /perception/object_recognition/objects]
- input_odometry [default: /localization/kinematic_state]
- input_pointcloud [default: /perception/obstacle_segmentation/pointcloud]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_velocity_limit_clear_command [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged autoware_surround_obstacle_checker 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
- Takumi Odashima
Authors
- Satoshi Ota
Surround Obstacle Checker
Purpose
This module subscribes required data (ego-pose, obstacles, etc), and publishes zero velocity limit to keep stopping if any of stop conditions are satisfied.
Inner-workings / Algorithms
Flow chart
@startuml
title surround obstacle checker
start
if (Check state) then
:State::STOP;
if (Is stop required?) then (yes)
else (no)
:Clear velocity limit;
:Set state to State::PASS;
endif
else
:State::PASS;
if (Is stop required?) then (yes)
:Set velocity limit;
:Set state to State::STOP;
else (no)
endif
endif
stop
@enduml
Algorithms
Check data
Check that surround_obstacle_checker receives no ground pointcloud, dynamic objects and current velocity data.
Get distance to nearest object
Calculate distance between ego vehicle and the nearest object. In this function, it calculates the minimum distance between the polygon of ego vehicle and all points in pointclouds and the polygons of dynamic objects.
Stop requirement
If it satisfies all following conditions, it plans stopping.
- Ego vehicle is stopped
- It satisfies any following conditions
- The distance to nearest obstacle satisfies following conditions
- If state is
State::PASS, the distance is less thansurround_check_distance - If state is
State::STOP, the distance is less thansurround_check_recover_distance
- If state is
- If it does not satisfies the condition in 1, elapsed time from the time it satisfies the condition in 1 is less than
state_clear_time
- The distance to nearest obstacle satisfies following conditions
States
To prevent chattering, surround_obstacle_checker manages two states.
As mentioned in stop condition section, it prevents chattering by changing threshold to find surround obstacle depending on the states.
-
State::PASS: Stop planning is released -
State::STOP:While stop planning
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/perception/obstacle_segmentation/pointcloud |
sensor_msgs::msg::PointCloud2 |
Pointcloud of obstacles which the ego-vehicle should stop or avoid |
/perception/object_recognition/objects |
autoware_perception_msgs::msg::PredictedObjects |
Dynamic objects |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Current twist |
/tf |
tf2_msgs::msg::TFMessage |
TF |
/tf_static |
tf2_msgs::msg::TFMessage |
TF static |
Output
| Name | Type | Description |
|---|---|---|
~/output/velocity_limit_clear_command |
autoware_internal_planning_msgs::msg::VelocityLimitClearCommand |
Velocity limit clear command |
~/output/max_velocity |
autoware_internal_planning_msgs::msg::VelocityLimit |
Velocity limit command |
~/output/no_start_reason |
diagnostic_msgs::msg::DiagnosticStatus |
No start reason |
~/debug/marker |
visualization_msgs::msg::MarkerArray |
Marker for visualization |
~/debug/footprint |
geometry_msgs::msg::PolygonStamped |
Ego vehicle base footprint for visualization |
~/debug/footprint_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_distance offset for visualization |
~/debug/footprint_recover_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_recover_distance offset for visualization |
Parameters
File truncated at 100 lines see the full file
Changelog for package autoware_surround_obstacle_checker
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the planning node designs with the packages they describe (#13342)
* fix(design): align the planning node designs with the packages they describe HazardLightsSelector registers as HazardLightsSelector, and its second input maps to input/system/hazard_lights_command and carries the MRM command, so the port is named system_hazard_lights_cmd. SurroundObstacleChecker publishes the migrated autoware_internal_planning_msgs velocity limit types, and creates neither stop_reasons nor no_start_reason. RemainingDistanceTimeCalculator takes its velocity limit input through the design graph; global: keeps a port out of it, since link_manager skips any connection whose target is a global input port and the exporter emits no remap. ExternalVelocityLimitSelector's api_limit is the reverse case: it is published only by AD API adaptors outside the design graph, so it keeps global: alongside its remap_target. #13165 unified the Modifier and Optimizer nodes into TrajectoryProcessor but left both old designs in place, naming plugins, executables and param files that no longer exist, and put the new design in common/autoware_universe_designs, a bare directory that is not a ROS package. The design moves into autoware_trajectory_processor per the convention set by #13102, and its processing_time_detail publisher carries ProcessingTimeTree.
* feat(autoware_path_sampler): add the packaged path sampler parameter file The package had no config/ directory and its INSTALL_TO_SHARE was commented out, so the parameter file the node design points at lived only in autoware_launch. The file is copied into the package and installed, and the design declares the three shared param files the launcher also passes, which is where ego_nearest_dist_threshold and ego_nearest_yaw_threshold come from.
* feat(design): add the planning factor publishers to the BehaviorPathPlanner node design The node publishes nine planning factor arrays under /planning/planning_factors that the design did not declare, so nothing could connect them to the evaluator. ---------
-
chore(planning): update package maintainers (#13186)
-
refactor(planning): move node design files into each package (#13102) 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 ---------
-
feat: support new object classification labels (#12956)
- fix(obstacle_proximity_checker): support new object classification labels
- feat(collision_detector): support new object classification labels
- feat(surround_obstacle_checker): support new object classification labels
* fix: apply pre-commit ---------
-
feat(trajectory_modifier): add surround obstacle stop plugin to trajectory modifier (#12894)
- extract core logic from surround_obstacle_checker to new common package obstacle_proximit_checker
- add new modifier plugin surround_obstacle_stop which uses common package obstacle_proximity_checker
- apply pre-commit checks
- refactor implementation, add integration test for surround_obstacle_stop
- run proximity checker only once per planning cycle
- add maintainers for new package
- update default param values
- update and use utility function replace_trajectory_with_stop_point
- add readme for autoware_obstacle_proximity_checker
* fix unit tests ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Satoshi OTA, Taekjin LEE, mkquda
0.52.0 (2026-06-30)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/surround_obstacle_checker.launch.xml
-
- param_path [default: $(find-pkg-share autoware_surround_obstacle_checker)/config/surround_obstacle_checker.param.yaml]
- input_objects [default: /perception/object_recognition/objects]
- input_odometry [default: /localization/kinematic_state]
- input_pointcloud [default: /perception/obstacle_segmentation/pointcloud]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_velocity_limit_clear_command [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged autoware_surround_obstacle_checker 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
- Takumi Odashima
Authors
- Satoshi Ota
Surround Obstacle Checker
Purpose
This module subscribes required data (ego-pose, obstacles, etc), and publishes zero velocity limit to keep stopping if any of stop conditions are satisfied.
Inner-workings / Algorithms
Flow chart
@startuml
title surround obstacle checker
start
if (Check state) then
:State::STOP;
if (Is stop required?) then (yes)
else (no)
:Clear velocity limit;
:Set state to State::PASS;
endif
else
:State::PASS;
if (Is stop required?) then (yes)
:Set velocity limit;
:Set state to State::STOP;
else (no)
endif
endif
stop
@enduml
Algorithms
Check data
Check that surround_obstacle_checker receives no ground pointcloud, dynamic objects and current velocity data.
Get distance to nearest object
Calculate distance between ego vehicle and the nearest object. In this function, it calculates the minimum distance between the polygon of ego vehicle and all points in pointclouds and the polygons of dynamic objects.
Stop requirement
If it satisfies all following conditions, it plans stopping.
- Ego vehicle is stopped
- It satisfies any following conditions
- The distance to nearest obstacle satisfies following conditions
- If state is
State::PASS, the distance is less thansurround_check_distance - If state is
State::STOP, the distance is less thansurround_check_recover_distance
- If state is
- If it does not satisfies the condition in 1, elapsed time from the time it satisfies the condition in 1 is less than
state_clear_time
- The distance to nearest obstacle satisfies following conditions
States
To prevent chattering, surround_obstacle_checker manages two states.
As mentioned in stop condition section, it prevents chattering by changing threshold to find surround obstacle depending on the states.
-
State::PASS: Stop planning is released -
State::STOP:While stop planning
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/perception/obstacle_segmentation/pointcloud |
sensor_msgs::msg::PointCloud2 |
Pointcloud of obstacles which the ego-vehicle should stop or avoid |
/perception/object_recognition/objects |
autoware_perception_msgs::msg::PredictedObjects |
Dynamic objects |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Current twist |
/tf |
tf2_msgs::msg::TFMessage |
TF |
/tf_static |
tf2_msgs::msg::TFMessage |
TF static |
Output
| Name | Type | Description |
|---|---|---|
~/output/velocity_limit_clear_command |
autoware_internal_planning_msgs::msg::VelocityLimitClearCommand |
Velocity limit clear command |
~/output/max_velocity |
autoware_internal_planning_msgs::msg::VelocityLimit |
Velocity limit command |
~/output/no_start_reason |
diagnostic_msgs::msg::DiagnosticStatus |
No start reason |
~/debug/marker |
visualization_msgs::msg::MarkerArray |
Marker for visualization |
~/debug/footprint |
geometry_msgs::msg::PolygonStamped |
Ego vehicle base footprint for visualization |
~/debug/footprint_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_distance offset for visualization |
~/debug/footprint_recover_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_recover_distance offset for visualization |
Parameters
File truncated at 100 lines see the full file
Changelog for package autoware_surround_obstacle_checker
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the planning node designs with the packages they describe (#13342)
* fix(design): align the planning node designs with the packages they describe HazardLightsSelector registers as HazardLightsSelector, and its second input maps to input/system/hazard_lights_command and carries the MRM command, so the port is named system_hazard_lights_cmd. SurroundObstacleChecker publishes the migrated autoware_internal_planning_msgs velocity limit types, and creates neither stop_reasons nor no_start_reason. RemainingDistanceTimeCalculator takes its velocity limit input through the design graph; global: keeps a port out of it, since link_manager skips any connection whose target is a global input port and the exporter emits no remap. ExternalVelocityLimitSelector's api_limit is the reverse case: it is published only by AD API adaptors outside the design graph, so it keeps global: alongside its remap_target. #13165 unified the Modifier and Optimizer nodes into TrajectoryProcessor but left both old designs in place, naming plugins, executables and param files that no longer exist, and put the new design in common/autoware_universe_designs, a bare directory that is not a ROS package. The design moves into autoware_trajectory_processor per the convention set by #13102, and its processing_time_detail publisher carries ProcessingTimeTree.
* feat(autoware_path_sampler): add the packaged path sampler parameter file The package had no config/ directory and its INSTALL_TO_SHARE was commented out, so the parameter file the node design points at lived only in autoware_launch. The file is copied into the package and installed, and the design declares the three shared param files the launcher also passes, which is where ego_nearest_dist_threshold and ego_nearest_yaw_threshold come from.
* feat(design): add the planning factor publishers to the BehaviorPathPlanner node design The node publishes nine planning factor arrays under /planning/planning_factors that the design did not declare, so nothing could connect them to the evaluator. ---------
-
chore(planning): update package maintainers (#13186)
-
refactor(planning): move node design files into each package (#13102) 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 ---------
-
feat: support new object classification labels (#12956)
- fix(obstacle_proximity_checker): support new object classification labels
- feat(collision_detector): support new object classification labels
- feat(surround_obstacle_checker): support new object classification labels
* fix: apply pre-commit ---------
-
feat(trajectory_modifier): add surround obstacle stop plugin to trajectory modifier (#12894)
- extract core logic from surround_obstacle_checker to new common package obstacle_proximit_checker
- add new modifier plugin surround_obstacle_stop which uses common package obstacle_proximity_checker
- apply pre-commit checks
- refactor implementation, add integration test for surround_obstacle_stop
- run proximity checker only once per planning cycle
- add maintainers for new package
- update default param values
- update and use utility function replace_trajectory_with_stop_point
- add readme for autoware_obstacle_proximity_checker
* fix unit tests ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Satoshi OTA, Taekjin LEE, mkquda
0.52.0 (2026-06-30)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/surround_obstacle_checker.launch.xml
-
- param_path [default: $(find-pkg-share autoware_surround_obstacle_checker)/config/surround_obstacle_checker.param.yaml]
- input_objects [default: /perception/object_recognition/objects]
- input_odometry [default: /localization/kinematic_state]
- input_pointcloud [default: /perception/obstacle_segmentation/pointcloud]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_velocity_limit_clear_command [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged autoware_surround_obstacle_checker 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
- Takumi Odashima
Authors
- Satoshi Ota
Surround Obstacle Checker
Purpose
This module subscribes required data (ego-pose, obstacles, etc), and publishes zero velocity limit to keep stopping if any of stop conditions are satisfied.
Inner-workings / Algorithms
Flow chart
@startuml
title surround obstacle checker
start
if (Check state) then
:State::STOP;
if (Is stop required?) then (yes)
else (no)
:Clear velocity limit;
:Set state to State::PASS;
endif
else
:State::PASS;
if (Is stop required?) then (yes)
:Set velocity limit;
:Set state to State::STOP;
else (no)
endif
endif
stop
@enduml
Algorithms
Check data
Check that surround_obstacle_checker receives no ground pointcloud, dynamic objects and current velocity data.
Get distance to nearest object
Calculate distance between ego vehicle and the nearest object. In this function, it calculates the minimum distance between the polygon of ego vehicle and all points in pointclouds and the polygons of dynamic objects.
Stop requirement
If it satisfies all following conditions, it plans stopping.
- Ego vehicle is stopped
- It satisfies any following conditions
- The distance to nearest obstacle satisfies following conditions
- If state is
State::PASS, the distance is less thansurround_check_distance - If state is
State::STOP, the distance is less thansurround_check_recover_distance
- If state is
- If it does not satisfies the condition in 1, elapsed time from the time it satisfies the condition in 1 is less than
state_clear_time
- The distance to nearest obstacle satisfies following conditions
States
To prevent chattering, surround_obstacle_checker manages two states.
As mentioned in stop condition section, it prevents chattering by changing threshold to find surround obstacle depending on the states.
-
State::PASS: Stop planning is released -
State::STOP:While stop planning
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/perception/obstacle_segmentation/pointcloud |
sensor_msgs::msg::PointCloud2 |
Pointcloud of obstacles which the ego-vehicle should stop or avoid |
/perception/object_recognition/objects |
autoware_perception_msgs::msg::PredictedObjects |
Dynamic objects |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Current twist |
/tf |
tf2_msgs::msg::TFMessage |
TF |
/tf_static |
tf2_msgs::msg::TFMessage |
TF static |
Output
| Name | Type | Description |
|---|---|---|
~/output/velocity_limit_clear_command |
autoware_internal_planning_msgs::msg::VelocityLimitClearCommand |
Velocity limit clear command |
~/output/max_velocity |
autoware_internal_planning_msgs::msg::VelocityLimit |
Velocity limit command |
~/output/no_start_reason |
diagnostic_msgs::msg::DiagnosticStatus |
No start reason |
~/debug/marker |
visualization_msgs::msg::MarkerArray |
Marker for visualization |
~/debug/footprint |
geometry_msgs::msg::PolygonStamped |
Ego vehicle base footprint for visualization |
~/debug/footprint_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_distance offset for visualization |
~/debug/footprint_recover_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_recover_distance offset for visualization |
Parameters
File truncated at 100 lines see the full file
Changelog for package autoware_surround_obstacle_checker
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the planning node designs with the packages they describe (#13342)
* fix(design): align the planning node designs with the packages they describe HazardLightsSelector registers as HazardLightsSelector, and its second input maps to input/system/hazard_lights_command and carries the MRM command, so the port is named system_hazard_lights_cmd. SurroundObstacleChecker publishes the migrated autoware_internal_planning_msgs velocity limit types, and creates neither stop_reasons nor no_start_reason. RemainingDistanceTimeCalculator takes its velocity limit input through the design graph; global: keeps a port out of it, since link_manager skips any connection whose target is a global input port and the exporter emits no remap. ExternalVelocityLimitSelector's api_limit is the reverse case: it is published only by AD API adaptors outside the design graph, so it keeps global: alongside its remap_target. #13165 unified the Modifier and Optimizer nodes into TrajectoryProcessor but left both old designs in place, naming plugins, executables and param files that no longer exist, and put the new design in common/autoware_universe_designs, a bare directory that is not a ROS package. The design moves into autoware_trajectory_processor per the convention set by #13102, and its processing_time_detail publisher carries ProcessingTimeTree.
* feat(autoware_path_sampler): add the packaged path sampler parameter file The package had no config/ directory and its INSTALL_TO_SHARE was commented out, so the parameter file the node design points at lived only in autoware_launch. The file is copied into the package and installed, and the design declares the three shared param files the launcher also passes, which is where ego_nearest_dist_threshold and ego_nearest_yaw_threshold come from.
* feat(design): add the planning factor publishers to the BehaviorPathPlanner node design The node publishes nine planning factor arrays under /planning/planning_factors that the design did not declare, so nothing could connect them to the evaluator. ---------
-
chore(planning): update package maintainers (#13186)
-
refactor(planning): move node design files into each package (#13102) 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 ---------
-
feat: support new object classification labels (#12956)
- fix(obstacle_proximity_checker): support new object classification labels
- feat(collision_detector): support new object classification labels
- feat(surround_obstacle_checker): support new object classification labels
* fix: apply pre-commit ---------
-
feat(trajectory_modifier): add surround obstacle stop plugin to trajectory modifier (#12894)
- extract core logic from surround_obstacle_checker to new common package obstacle_proximit_checker
- add new modifier plugin surround_obstacle_stop which uses common package obstacle_proximity_checker
- apply pre-commit checks
- refactor implementation, add integration test for surround_obstacle_stop
- run proximity checker only once per planning cycle
- add maintainers for new package
- update default param values
- update and use utility function replace_trajectory_with_stop_point
- add readme for autoware_obstacle_proximity_checker
* fix unit tests ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Satoshi OTA, Taekjin LEE, mkquda
0.52.0 (2026-06-30)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/surround_obstacle_checker.launch.xml
-
- param_path [default: $(find-pkg-share autoware_surround_obstacle_checker)/config/surround_obstacle_checker.param.yaml]
- input_objects [default: /perception/object_recognition/objects]
- input_odometry [default: /localization/kinematic_state]
- input_pointcloud [default: /perception/obstacle_segmentation/pointcloud]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_velocity_limit_clear_command [default: /planning/scenario_planning/clear_velocity_limit]
Messages
Services
Plugins
Recent questions tagged autoware_surround_obstacle_checker 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
- Takumi Odashima
Authors
- Satoshi Ota
Surround Obstacle Checker
Purpose
This module subscribes required data (ego-pose, obstacles, etc), and publishes zero velocity limit to keep stopping if any of stop conditions are satisfied.
Inner-workings / Algorithms
Flow chart
@startuml
title surround obstacle checker
start
if (Check state) then
:State::STOP;
if (Is stop required?) then (yes)
else (no)
:Clear velocity limit;
:Set state to State::PASS;
endif
else
:State::PASS;
if (Is stop required?) then (yes)
:Set velocity limit;
:Set state to State::STOP;
else (no)
endif
endif
stop
@enduml
Algorithms
Check data
Check that surround_obstacle_checker receives no ground pointcloud, dynamic objects and current velocity data.
Get distance to nearest object
Calculate distance between ego vehicle and the nearest object. In this function, it calculates the minimum distance between the polygon of ego vehicle and all points in pointclouds and the polygons of dynamic objects.
Stop requirement
If it satisfies all following conditions, it plans stopping.
- Ego vehicle is stopped
- It satisfies any following conditions
- The distance to nearest obstacle satisfies following conditions
- If state is
State::PASS, the distance is less thansurround_check_distance - If state is
State::STOP, the distance is less thansurround_check_recover_distance
- If state is
- If it does not satisfies the condition in 1, elapsed time from the time it satisfies the condition in 1 is less than
state_clear_time
- The distance to nearest obstacle satisfies following conditions
States
To prevent chattering, surround_obstacle_checker manages two states.
As mentioned in stop condition section, it prevents chattering by changing threshold to find surround obstacle depending on the states.
-
State::PASS: Stop planning is released -
State::STOP:While stop planning
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
/perception/obstacle_segmentation/pointcloud |
sensor_msgs::msg::PointCloud2 |
Pointcloud of obstacles which the ego-vehicle should stop or avoid |
/perception/object_recognition/objects |
autoware_perception_msgs::msg::PredictedObjects |
Dynamic objects |
/localization/kinematic_state |
nav_msgs::msg::Odometry |
Current twist |
/tf |
tf2_msgs::msg::TFMessage |
TF |
/tf_static |
tf2_msgs::msg::TFMessage |
TF static |
Output
| Name | Type | Description |
|---|---|---|
~/output/velocity_limit_clear_command |
autoware_internal_planning_msgs::msg::VelocityLimitClearCommand |
Velocity limit clear command |
~/output/max_velocity |
autoware_internal_planning_msgs::msg::VelocityLimit |
Velocity limit command |
~/output/no_start_reason |
diagnostic_msgs::msg::DiagnosticStatus |
No start reason |
~/debug/marker |
visualization_msgs::msg::MarkerArray |
Marker for visualization |
~/debug/footprint |
geometry_msgs::msg::PolygonStamped |
Ego vehicle base footprint for visualization |
~/debug/footprint_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_distance offset for visualization |
~/debug/footprint_recover_offset |
geometry_msgs::msg::PolygonStamped |
Ego vehicle footprint with surround_check_recover_distance offset for visualization |
Parameters
File truncated at 100 lines see the full file
Changelog for package autoware_surround_obstacle_checker
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
fix(design): align the planning node designs with the packages they describe (#13342)
* fix(design): align the planning node designs with the packages they describe HazardLightsSelector registers as HazardLightsSelector, and its second input maps to input/system/hazard_lights_command and carries the MRM command, so the port is named system_hazard_lights_cmd. SurroundObstacleChecker publishes the migrated autoware_internal_planning_msgs velocity limit types, and creates neither stop_reasons nor no_start_reason. RemainingDistanceTimeCalculator takes its velocity limit input through the design graph; global: keeps a port out of it, since link_manager skips any connection whose target is a global input port and the exporter emits no remap. ExternalVelocityLimitSelector's api_limit is the reverse case: it is published only by AD API adaptors outside the design graph, so it keeps global: alongside its remap_target. #13165 unified the Modifier and Optimizer nodes into TrajectoryProcessor but left both old designs in place, naming plugins, executables and param files that no longer exist, and put the new design in common/autoware_universe_designs, a bare directory that is not a ROS package. The design moves into autoware_trajectory_processor per the convention set by #13102, and its processing_time_detail publisher carries ProcessingTimeTree.
* feat(autoware_path_sampler): add the packaged path sampler parameter file The package had no config/ directory and its INSTALL_TO_SHARE was commented out, so the parameter file the node design points at lived only in autoware_launch. The file is copied into the package and installed, and the design declares the three shared param files the launcher also passes, which is where ego_nearest_dist_threshold and ego_nearest_yaw_threshold come from.
* feat(design): add the planning factor publishers to the BehaviorPathPlanner node design The node publishes nine planning factor arrays under /planning/planning_factors that the design did not declare, so nothing could connect them to the evaluator. ---------
-
chore(planning): update package maintainers (#13186)
-
refactor(planning): move node design files into each package (#13102) 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 ---------
-
feat: support new object classification labels (#12956)
- fix(obstacle_proximity_checker): support new object classification labels
- feat(collision_detector): support new object classification labels
- feat(surround_obstacle_checker): support new object classification labels
* fix: apply pre-commit ---------
-
feat(trajectory_modifier): add surround obstacle stop plugin to trajectory modifier (#12894)
- extract core logic from surround_obstacle_checker to new common package obstacle_proximit_checker
- add new modifier plugin surround_obstacle_stop which uses common package obstacle_proximity_checker
- apply pre-commit checks
- refactor implementation, add integration test for surround_obstacle_stop
- run proximity checker only once per planning cycle
- add maintainers for new package
- update default param values
- update and use utility function replace_trajectory_with_stop_point
- add readme for autoware_obstacle_proximity_checker
* fix unit tests ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome, Satoshi OTA, Taekjin LEE, mkquda
0.52.0 (2026-06-30)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/surround_obstacle_checker.launch.xml
-
- param_path [default: $(find-pkg-share autoware_surround_obstacle_checker)/config/surround_obstacle_checker.param.yaml]
- input_objects [default: /perception/object_recognition/objects]
- input_odometry [default: /localization/kinematic_state]
- input_pointcloud [default: /perception/obstacle_segmentation/pointcloud]
- output_velocity_limit [default: /planning/scenario_planning/max_velocity_candidates]
- output_velocity_limit_clear_command [default: /planning/scenario_planning/clear_velocity_limit]