Package Summary
Tags | No category tags. |
Version | 0.47.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-08-16 |
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
- Satoshi Ota
- 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.47.0 (2025-08-11)
-
feat(surround_obstacle_checker): add safety factors to the published planning factor (#11077)
- feat(surround_obstacle_checker): add safety factors to the published planning factor
- distinguish between DynamicObject and PointCloud in planning factor, and add test
- fix typo
* use utils function ---------Co-authored-by: Kotakku <<kotakkucu@gmail.com>>
-
chore(surround_obstacle_checker): update maintainer (#11078)
-
Contributors: Kotakku, Satoshi OTA
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- feat!: replace VelocityLimit messages with autoware_internal_planning_msgs (#10273)
- feat: adaption to ROS nodes guidelines about directory structure (#10268)
- feat(Autoware_planning_factor_interface): replace tier4_msgs with autoware_internal_msgs (#10204)
- Contributors: Hayato Mizushima, NorahXiong, Ryohsuke Mitsudome, Yutaka Kondo, 心刚
0.42.0 (2025-03-03)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(autoware_utils): replace autoware_universe_utils with autoware_utils (#10191)
- Contributors: Fumiya Watanabe, 心刚
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(planning): move package directory for planning factor interface (#9948)
- chore: add new package for planning factor interface
- chore(surround_obstacle_checker): update include file
- chore(obstacle_stop_planner): update include file
- chore(obstacle_cruise_planner): update include file
- chore(motion_velocity_planner): update include file
- chore(bpp): update include file
- chore(bvp-common): update include file
- chore(blind_spot): update include file
- chore(crosswalk): update include file
- chore(detection_area): update include file
- chore(intersection): update include file
- chore(no_drivable_area): update include file
- chore(no_stopping_area): update include file
- chore(occlusion_spot): update include file
- chore(run_out): update include file
- chore(speed_bump): update include file
- chore(stop_line): update include file
- chore(template_module): update include file
- chore(traffic_light): update include file
- chore(vtl): update include file
- chore(walkway): update include file
* chore(motion_utils): remove factor interface ---------
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
libpcl-all-dev |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.47.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-08-16 |
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
- Satoshi Ota
- 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.47.0 (2025-08-11)
-
feat(surround_obstacle_checker): add safety factors to the published planning factor (#11077)
- feat(surround_obstacle_checker): add safety factors to the published planning factor
- distinguish between DynamicObject and PointCloud in planning factor, and add test
- fix typo
* use utils function ---------Co-authored-by: Kotakku <<kotakkucu@gmail.com>>
-
chore(surround_obstacle_checker): update maintainer (#11078)
-
Contributors: Kotakku, Satoshi OTA
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- feat!: replace VelocityLimit messages with autoware_internal_planning_msgs (#10273)
- feat: adaption to ROS nodes guidelines about directory structure (#10268)
- feat(Autoware_planning_factor_interface): replace tier4_msgs with autoware_internal_msgs (#10204)
- Contributors: Hayato Mizushima, NorahXiong, Ryohsuke Mitsudome, Yutaka Kondo, 心刚
0.42.0 (2025-03-03)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(autoware_utils): replace autoware_universe_utils with autoware_utils (#10191)
- Contributors: Fumiya Watanabe, 心刚
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(planning): move package directory for planning factor interface (#9948)
- chore: add new package for planning factor interface
- chore(surround_obstacle_checker): update include file
- chore(obstacle_stop_planner): update include file
- chore(obstacle_cruise_planner): update include file
- chore(motion_velocity_planner): update include file
- chore(bpp): update include file
- chore(bvp-common): update include file
- chore(blind_spot): update include file
- chore(crosswalk): update include file
- chore(detection_area): update include file
- chore(intersection): update include file
- chore(no_drivable_area): update include file
- chore(no_stopping_area): update include file
- chore(occlusion_spot): update include file
- chore(run_out): update include file
- chore(speed_bump): update include file
- chore(stop_line): update include file
- chore(template_module): update include file
- chore(traffic_light): update include file
- chore(vtl): update include file
- chore(walkway): update include file
* chore(motion_utils): remove factor interface ---------
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
libpcl-all-dev |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.47.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-08-16 |
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
- Satoshi Ota
- 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.47.0 (2025-08-11)
-
feat(surround_obstacle_checker): add safety factors to the published planning factor (#11077)
- feat(surround_obstacle_checker): add safety factors to the published planning factor
- distinguish between DynamicObject and PointCloud in planning factor, and add test
- fix typo
* use utils function ---------Co-authored-by: Kotakku <<kotakkucu@gmail.com>>
-
chore(surround_obstacle_checker): update maintainer (#11078)
-
Contributors: Kotakku, Satoshi OTA
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- feat!: replace VelocityLimit messages with autoware_internal_planning_msgs (#10273)
- feat: adaption to ROS nodes guidelines about directory structure (#10268)
- feat(Autoware_planning_factor_interface): replace tier4_msgs with autoware_internal_msgs (#10204)
- Contributors: Hayato Mizushima, NorahXiong, Ryohsuke Mitsudome, Yutaka Kondo, 心刚
0.42.0 (2025-03-03)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(autoware_utils): replace autoware_universe_utils with autoware_utils (#10191)
- Contributors: Fumiya Watanabe, 心刚
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(planning): move package directory for planning factor interface (#9948)
- chore: add new package for planning factor interface
- chore(surround_obstacle_checker): update include file
- chore(obstacle_stop_planner): update include file
- chore(obstacle_cruise_planner): update include file
- chore(motion_velocity_planner): update include file
- chore(bpp): update include file
- chore(bvp-common): update include file
- chore(blind_spot): update include file
- chore(crosswalk): update include file
- chore(detection_area): update include file
- chore(intersection): update include file
- chore(no_drivable_area): update include file
- chore(no_stopping_area): update include file
- chore(occlusion_spot): update include file
- chore(run_out): update include file
- chore(speed_bump): update include file
- chore(stop_line): update include file
- chore(template_module): update include file
- chore(traffic_light): update include file
- chore(vtl): update include file
- chore(walkway): update include file
* chore(motion_utils): remove factor interface ---------
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
libpcl-all-dev |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.47.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-08-16 |
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
- Satoshi Ota
- 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.47.0 (2025-08-11)
-
feat(surround_obstacle_checker): add safety factors to the published planning factor (#11077)
- feat(surround_obstacle_checker): add safety factors to the published planning factor
- distinguish between DynamicObject and PointCloud in planning factor, and add test
- fix typo
* use utils function ---------Co-authored-by: Kotakku <<kotakkucu@gmail.com>>
-
chore(surround_obstacle_checker): update maintainer (#11078)
-
Contributors: Kotakku, Satoshi OTA
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- feat!: replace VelocityLimit messages with autoware_internal_planning_msgs (#10273)
- feat: adaption to ROS nodes guidelines about directory structure (#10268)
- feat(Autoware_planning_factor_interface): replace tier4_msgs with autoware_internal_msgs (#10204)
- Contributors: Hayato Mizushima, NorahXiong, Ryohsuke Mitsudome, Yutaka Kondo, 心刚
0.42.0 (2025-03-03)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(autoware_utils): replace autoware_universe_utils with autoware_utils (#10191)
- Contributors: Fumiya Watanabe, 心刚
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(planning): move package directory for planning factor interface (#9948)
- chore: add new package for planning factor interface
- chore(surround_obstacle_checker): update include file
- chore(obstacle_stop_planner): update include file
- chore(obstacle_cruise_planner): update include file
- chore(motion_velocity_planner): update include file
- chore(bpp): update include file
- chore(bvp-common): update include file
- chore(blind_spot): update include file
- chore(crosswalk): update include file
- chore(detection_area): update include file
- chore(intersection): update include file
- chore(no_drivable_area): update include file
- chore(no_stopping_area): update include file
- chore(occlusion_spot): update include file
- chore(run_out): update include file
- chore(speed_bump): update include file
- chore(stop_line): update include file
- chore(template_module): update include file
- chore(traffic_light): update include file
- chore(vtl): update include file
- chore(walkway): update include file
* chore(motion_utils): remove factor interface ---------
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
libpcl-all-dev |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.47.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-08-16 |
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
- Satoshi Ota
- 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.47.0 (2025-08-11)
-
feat(surround_obstacle_checker): add safety factors to the published planning factor (#11077)
- feat(surround_obstacle_checker): add safety factors to the published planning factor
- distinguish between DynamicObject and PointCloud in planning factor, and add test
- fix typo
* use utils function ---------Co-authored-by: Kotakku <<kotakkucu@gmail.com>>
-
chore(surround_obstacle_checker): update maintainer (#11078)
-
Contributors: Kotakku, Satoshi OTA
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- feat!: replace VelocityLimit messages with autoware_internal_planning_msgs (#10273)
- feat: adaption to ROS nodes guidelines about directory structure (#10268)
- feat(Autoware_planning_factor_interface): replace tier4_msgs with autoware_internal_msgs (#10204)
- Contributors: Hayato Mizushima, NorahXiong, Ryohsuke Mitsudome, Yutaka Kondo, 心刚
0.42.0 (2025-03-03)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(autoware_utils): replace autoware_universe_utils with autoware_utils (#10191)
- Contributors: Fumiya Watanabe, 心刚
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(planning): move package directory for planning factor interface (#9948)
- chore: add new package for planning factor interface
- chore(surround_obstacle_checker): update include file
- chore(obstacle_stop_planner): update include file
- chore(obstacle_cruise_planner): update include file
- chore(motion_velocity_planner): update include file
- chore(bpp): update include file
- chore(bvp-common): update include file
- chore(blind_spot): update include file
- chore(crosswalk): update include file
- chore(detection_area): update include file
- chore(intersection): update include file
- chore(no_drivable_area): update include file
- chore(no_stopping_area): update include file
- chore(occlusion_spot): update include file
- chore(run_out): update include file
- chore(speed_bump): update include file
- chore(stop_line): update include file
- chore(template_module): update include file
- chore(traffic_light): update include file
- chore(vtl): update include file
- chore(walkway): update include file
* chore(motion_utils): remove factor interface ---------
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
libpcl-all-dev |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.47.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-08-16 |
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
- Satoshi Ota
- 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.47.0 (2025-08-11)
-
feat(surround_obstacle_checker): add safety factors to the published planning factor (#11077)
- feat(surround_obstacle_checker): add safety factors to the published planning factor
- distinguish between DynamicObject and PointCloud in planning factor, and add test
- fix typo
* use utils function ---------Co-authored-by: Kotakku <<kotakkucu@gmail.com>>
-
chore(surround_obstacle_checker): update maintainer (#11078)
-
Contributors: Kotakku, Satoshi OTA
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- feat!: replace VelocityLimit messages with autoware_internal_planning_msgs (#10273)
- feat: adaption to ROS nodes guidelines about directory structure (#10268)
- feat(Autoware_planning_factor_interface): replace tier4_msgs with autoware_internal_msgs (#10204)
- Contributors: Hayato Mizushima, NorahXiong, Ryohsuke Mitsudome, Yutaka Kondo, 心刚
0.42.0 (2025-03-03)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(autoware_utils): replace autoware_universe_utils with autoware_utils (#10191)
- Contributors: Fumiya Watanabe, 心刚
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(planning): move package directory for planning factor interface (#9948)
- chore: add new package for planning factor interface
- chore(surround_obstacle_checker): update include file
- chore(obstacle_stop_planner): update include file
- chore(obstacle_cruise_planner): update include file
- chore(motion_velocity_planner): update include file
- chore(bpp): update include file
- chore(bvp-common): update include file
- chore(blind_spot): update include file
- chore(crosswalk): update include file
- chore(detection_area): update include file
- chore(intersection): update include file
- chore(no_drivable_area): update include file
- chore(no_stopping_area): update include file
- chore(occlusion_spot): update include file
- chore(run_out): update include file
- chore(speed_bump): update include file
- chore(stop_line): update include file
- chore(template_module): update include file
- chore(traffic_light): update include file
- chore(vtl): update include file
- chore(walkway): update include file
* chore(motion_utils): remove factor interface ---------
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
libpcl-all-dev |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.47.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-08-16 |
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
- Satoshi Ota
- 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.47.0 (2025-08-11)
-
feat(surround_obstacle_checker): add safety factors to the published planning factor (#11077)
- feat(surround_obstacle_checker): add safety factors to the published planning factor
- distinguish between DynamicObject and PointCloud in planning factor, and add test
- fix typo
* use utils function ---------Co-authored-by: Kotakku <<kotakkucu@gmail.com>>
-
chore(surround_obstacle_checker): update maintainer (#11078)
-
Contributors: Kotakku, Satoshi OTA
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- feat!: replace VelocityLimit messages with autoware_internal_planning_msgs (#10273)
- feat: adaption to ROS nodes guidelines about directory structure (#10268)
- feat(Autoware_planning_factor_interface): replace tier4_msgs with autoware_internal_msgs (#10204)
- Contributors: Hayato Mizushima, NorahXiong, Ryohsuke Mitsudome, Yutaka Kondo, 心刚
0.42.0 (2025-03-03)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(autoware_utils): replace autoware_universe_utils with autoware_utils (#10191)
- Contributors: Fumiya Watanabe, 心刚
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(planning): move package directory for planning factor interface (#9948)
- chore: add new package for planning factor interface
- chore(surround_obstacle_checker): update include file
- chore(obstacle_stop_planner): update include file
- chore(obstacle_cruise_planner): update include file
- chore(motion_velocity_planner): update include file
- chore(bpp): update include file
- chore(bvp-common): update include file
- chore(blind_spot): update include file
- chore(crosswalk): update include file
- chore(detection_area): update include file
- chore(intersection): update include file
- chore(no_drivable_area): update include file
- chore(no_stopping_area): update include file
- chore(occlusion_spot): update include file
- chore(run_out): update include file
- chore(speed_bump): update include file
- chore(stop_line): update include file
- chore(template_module): update include file
- chore(traffic_light): update include file
- chore(vtl): update include file
- chore(walkway): update include file
* chore(motion_utils): remove factor interface ---------
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
libpcl-all-dev |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.47.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-08-16 |
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
- Satoshi Ota
- 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.47.0 (2025-08-11)
-
feat(surround_obstacle_checker): add safety factors to the published planning factor (#11077)
- feat(surround_obstacle_checker): add safety factors to the published planning factor
- distinguish between DynamicObject and PointCloud in planning factor, and add test
- fix typo
* use utils function ---------Co-authored-by: Kotakku <<kotakkucu@gmail.com>>
-
chore(surround_obstacle_checker): update maintainer (#11078)
-
Contributors: Kotakku, Satoshi OTA
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- feat!: replace VelocityLimit messages with autoware_internal_planning_msgs (#10273)
- feat: adaption to ROS nodes guidelines about directory structure (#10268)
- feat(Autoware_planning_factor_interface): replace tier4_msgs with autoware_internal_msgs (#10204)
- Contributors: Hayato Mizushima, NorahXiong, Ryohsuke Mitsudome, Yutaka Kondo, 心刚
0.42.0 (2025-03-03)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(autoware_utils): replace autoware_universe_utils with autoware_utils (#10191)
- Contributors: Fumiya Watanabe, 心刚
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(planning): move package directory for planning factor interface (#9948)
- chore: add new package for planning factor interface
- chore(surround_obstacle_checker): update include file
- chore(obstacle_stop_planner): update include file
- chore(obstacle_cruise_planner): update include file
- chore(motion_velocity_planner): update include file
- chore(bpp): update include file
- chore(bvp-common): update include file
- chore(blind_spot): update include file
- chore(crosswalk): update include file
- chore(detection_area): update include file
- chore(intersection): update include file
- chore(no_drivable_area): update include file
- chore(no_stopping_area): update include file
- chore(occlusion_spot): update include file
- chore(run_out): update include file
- chore(speed_bump): update include file
- chore(stop_line): update include file
- chore(template_module): update include file
- chore(traffic_light): update include file
- chore(vtl): update include file
- chore(walkway): update include file
* chore(motion_utils): remove factor interface ---------
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
libpcl-all-dev |
Dependant Packages
Name | Deps |
---|---|
tier4_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
Tags | No category tags. |
Version | 0.47.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-08-16 |
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
- Satoshi Ota
- 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.47.0 (2025-08-11)
-
feat(surround_obstacle_checker): add safety factors to the published planning factor (#11077)
- feat(surround_obstacle_checker): add safety factors to the published planning factor
- distinguish between DynamicObject and PointCloud in planning factor, and add test
- fix typo
* use utils function ---------Co-authored-by: Kotakku <<kotakkucu@gmail.com>>
-
chore(surround_obstacle_checker): update maintainer (#11078)
-
Contributors: Kotakku, Satoshi OTA
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
0.43.0 (2025-03-21)
- Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
- chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
- feat!: replace VelocityLimit messages with autoware_internal_planning_msgs (#10273)
- feat: adaption to ROS nodes guidelines about directory structure (#10268)
- feat(Autoware_planning_factor_interface): replace tier4_msgs with autoware_internal_msgs (#10204)
- Contributors: Hayato Mizushima, NorahXiong, Ryohsuke Mitsudome, Yutaka Kondo, 心刚
0.42.0 (2025-03-03)
- Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
- feat(autoware_utils): replace autoware_universe_utils with autoware_utils (#10191)
- Contributors: Fumiya Watanabe, 心刚
0.41.2 (2025-02-19)
- chore: bump version to 0.41.1 (#10088)
- Contributors: Ryohsuke Mitsudome
0.41.1 (2025-02-10)
0.41.0 (2025-01-29)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
chore(planning): move package directory for planning factor interface (#9948)
- chore: add new package for planning factor interface
- chore(surround_obstacle_checker): update include file
- chore(obstacle_stop_planner): update include file
- chore(obstacle_cruise_planner): update include file
- chore(motion_velocity_planner): update include file
- chore(bpp): update include file
- chore(bvp-common): update include file
- chore(blind_spot): update include file
- chore(crosswalk): update include file
- chore(detection_area): update include file
- chore(intersection): update include file
- chore(no_drivable_area): update include file
- chore(no_stopping_area): update include file
- chore(occlusion_spot): update include file
- chore(run_out): update include file
- chore(speed_bump): update include file
- chore(stop_line): update include file
- chore(template_module): update include file
- chore(traffic_light): update include file
- chore(vtl): update include file
- chore(walkway): update include file
* chore(motion_utils): remove factor interface ---------
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Name |
---|
eigen |
libpcl-all-dev |
Dependant Packages
Name | Deps |
---|---|
tier4_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]