Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_planner at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Mamoru Sobue
- Takayuki Murooka
- Satoshi Ota
- Kyoichi Sugahara
- Taiki Tanaka
- Kosuke Takeuchi
- Tomohito Ando
- Makoto Kurihara
- Maxime Clement
- Tomoya Kimura
- Shumpei Wakabayashi
Authors
- Taiki Tanaka
- Mamoru Sobue
- Satoshi Ota
- Kyoichi Sugahara
- Kosuke Takeuchi
- Yutaka Shimizu
- Tomohito Ando
- Yukihiro Saito
Behavior Velocity Planner
Overview
behavior_velocity_planner
is a planner that adjust velocity based on the traffic rules.
It loads modules as plugins. Please refer to the links listed below for detail on each module.
- Blind Spot
- Crosswalk
- Walkway
- Detection Area
- Intersection
- MergeFromPrivate
- Stop Line
- Virtual Traffic Light
- Traffic Light
- Occlusion Spot
- No Stopping Area
- Run Out
- Speed Bump
When each module plans velocity, it considers based on base_link
(center of rear-wheel axis) pose.
So for example, in order to stop at a stop line with the vehicles’ front on the stop line, it calculates base_link
position from the distance between base_link
to front and modifies path velocity from the base_link
position.
Input topics
Name | Type | Description |
---|---|---|
~input/path_with_lane_id |
autoware_internal_planning_msgs::msg::PathWithLaneId | path with lane_id |
~input/vector_map |
autoware_map_msgs::msg::LaneletMapBin | vector map |
~input/vehicle_odometry |
nav_msgs::msg::Odometry | vehicle velocity |
~input/dynamic_objects |
autoware_perception_msgs::msg::PredictedObjects | dynamic objects |
~input/no_ground_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud |
~/input/compare_map_filtered_pointcloud |
sensor_msgs::msg::PointCloud2 | obstacle pointcloud filtered by compare map. Note that this is used only when the detection method of run out module is Points. |
~input/traffic_signals |
autoware_perception_msgs::msg::TrafficLightGroupArray | traffic light states |
Output topics
Name | Type | Description |
---|---|---|
~output/path |
autoware_planning_msgs::msg::Path | path to be followed |
~output/stop_reasons |
tier4_planning_msgs::msg::StopReasonArray | reasons that cause the vehicle to stop |
Node parameters
Parameter | Type | Description |
---|---|---|
launch_modules |
vector<string> | module names to launch |
forward_path_length |
double | forward path length |
backward_path_length |
double | backward path length |
max_accel |
double | (to be a global parameter) max acceleration of the vehicle |
system_delay |
double | (to be a global parameter) delay time until output control command |
delay_response_time |
double | (to be a global parameter) delay time of the vehicle’s response to control commands |
Traffic Light Handling in sim/real
The handling of traffic light information varies depending on the usage. In the below table, the traffic signal topic element for the corresponding lane is denoted as info
, and if info
is not available, it is denoted as null
.
module \ case |
info is null
|
info is not null
|
---|---|---|
intersection_occlusion(is_simulation = * ) <ul> <li>info is the latest non-null information</li></ul> |
GO(occlusion is ignored) | intersection_occlusion uses the latest non UNKNOWN observation in the queue up to present.<ul><li>If info is GREEN or UNKNOWN , occlusion is cared</li><li>If info is RED or YELLOW , occlusion is ignored(GO) </li> <li> NOTE: Currently timeout is not considered</li> </ul> |
traffic_light(sim, is_simulation = true ) <ul> <li>info is current information</li></ul> |
GO | traffic_light uses the perceived traffic light information at present directly. <ul><li>If info is timeout, STOP whatever the color is</li> <li>If info is not timeout, then act according to the color. If info is UNKNOWN , STOP</li></ul> {: rowspan=2} |
traffic_light(real, is_simulation = false ) <ul> <li>info is current information</li></ul> |
STOP | ⁠ {: style=”padding:0”} |
crosswalk with Traffic Light(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | <ul> <li>If disable_yield_for_new_stopped_object is true, each sub scene_module ignore newly detected pedestrians after module instantiation.</li> <li>If ignore_with_traffic_light is true, occlusion detection is skipped.</li></ul> |
map_based_prediction(is_simulation = * ) <ul> <li>info is current information</li></ul> |
default | If a pedestrian traffic light is<ul> <li>RED, surrounding pedestrians are not predicted.</li> <li>GREEN, stopped pedestrians are not predicted.</li></ul> |
Changelog for package autoware_behavior_velocity_planner
1.1.0 (2025-05-01)
1.0.0 (2025-03-31)
- chore: update version in package.xml
- feat: port autoware_behavior_velocity_planner from autoware.universe to autoware.core (#230) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>> Co-authored-by: 心刚 <<90366790+liuXinGangChina@users.noreply.github.com>>
- Contributors: Ryohsuke Mitsudome, storrrrrrrrm
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
libboost-dev |
Dependant Packages
Launch files
- launch/behavior_velocity_planner.launch.xml
-
- common_param_path
- vehicle_param_file
- nearest_search_param_path
- behavior_velocity_planner_launch_modules
- behavior_velocity_config_path
- behavior_velocity_smoother_type_param_path
- behavior_velocity_planner_param_path
- behavior_velocity_planner_common_param_path
- behavior_velocity_planner_blind_spot_module_param_path
- behavior_velocity_planner_crosswalk_module_param_path
- behavior_velocity_planner_walkway_module_param_path
- behavior_velocity_planner_detection_area_module_param_path
- behavior_velocity_planner_intersection_module_param_path
- behavior_velocity_planner_stop_line_module_param_path
- behavior_velocity_planner_traffic_light_module_param_path
- behavior_velocity_planner_virtual_traffic_light_module_param_path
- behavior_velocity_planner_occlusion_spot_module_param_path
- behavior_velocity_planner_no_stopping_area_module_param_path
- behavior_velocity_planner_run_out_module_param_path
- behavior_velocity_planner_speed_bump_module_param_path
- behavior_velocity_planner_no_drivable_lane_module_param_path