Package Summary
| Tags | No category tags. |
| Version | 0.47.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-14 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kyoichi Sugahara
- Tomoya Kimura
- Shumpei Wakabayashi
- Yukinari Hisaki
- Takumi Odashima
Authors
- Kyoichi Sugahara
Detection Area
Role
If pointcloud or predicted objects are detected in a detection area defined on a map, the stop planning will be executed at the predetermined point.
Activation Timing
This module is activated when there is a detection area on the target lane.
Module Parameters
| Parameter | Type | Description |
|---|---|---|
use_dead_line |
bool | [-] weather to use dead line or not |
state_clear_time |
double | [s] when the vehicle is stopping for certain time without incoming obstacle, move to STOPPED state |
stop_margin |
double | [m] a margin that the vehicle tries to stop before stop_line |
dead_line_margin |
double | [m] ignore threshold that vehicle behind is collide with ego vehicle or not |
unstoppable_policy |
string | [-] policy for handling unstoppable situations: “go” (pass through), “force_stop” (emergency stop), or “stop_after_stopline” (stop after the stop line) |
max_deceleration |
double | [m/s^2] maximum deceleration used to calculate required braking distance for unstoppable situation handling |
delay_response_time |
double | [s] delay response time used to calculate required braking distance for unstoppable situation handling |
hold_stop_margin_distance |
double | [m] parameter for restart prevention (See Algorithm section) |
distance_to_judge_over_stop_line |
double | [m] parameter for judging that the stop line has been crossed |
suppress_pass_judge_when_stopping |
bool | [m] parameter for suppressing pass judge when stopping |
enable_detected_obstacle_logging |
bool | [-] enable/disable logging of detected obstacle positions, time elapsed since last detection, and ego vehicle position when ego-vehicle is in STOP state |
target_filtering.pointcloud |
bool | [-] whether to stop for pointcloud detection |
target_filtering.unknown |
bool | [-] whether to stop for UNKNOWN objects area |
target_filtering.car |
bool | [-] whether to stop for CAR objects area |
target_filtering.truck |
bool | [-] whether to stop for TRUCK objects area |
target_filtering.bus |
bool | [-] whether to stop for BUS objects area |
target_filtering.trailer |
bool | [-] whether to stop for TRAILER objects area |
target_filtering.motorcycle |
bool | [-] whether to stop for MOTORCYCLE objects area |
target_filtering.bicycle |
bool | [-] whether to stop for BICYCLE objects area |
target_filtering.pedestrian |
bool | [-] whether to stop for PEDESTRIAN objects area |
target_filtering.animal |
bool | [-] whether to stop for ANIMAL objects area |
target_filtering.hazard |
bool | [-] whether to stop for HAZARD objects area |
target_filtering.over_drivable |
bool | [-] whether to stop for OVER_DRIVABLE objects area |
target_filtering.under_drivable |
bool | [-] whether to stop for UNDER_DRIVABLE objects area |
Inner-workings / Algorithm
- Gets a detection area and stop line from map information and confirms if there are obstacles in the detection area
- Inserts stop point l[m] in front of the stop line
- Calculates required braking distance based on current velocity,
max_deceleration, anddelay_response_time - If the vehicle cannot stop before the stop line, applies the configured
unstoppable_policy - Sets velocity as zero at the determined stop point
Detection Logic
The module uses two detection sources:
-
Pointcloud detection: Detects any obstacles in the detection area using 3D point cloud data (if
target_filtering.pointcloudis enabled) - Predicted objects detection: Detects classified objects (vehicles, pedestrians, etc.) in the detection area based on perception module outputs
The module stops the vehicle if either detection source finds an obstacle. For performance optimization, if pointcloud detection finds an obstacle, predicted objects detection is skipped (short-circuit evaluation).
Flowchart
```plantuml @startuml title modifyPathVelocity start
:check obstacles area;
if (obstacle detected?) then (no) else (yes) :set last time obstacle found; endif
:get clear stop state duration;
if (clear stop state duration is more than state_clear_time?) then (yes) if (suppress_pass_judge_when_stopping is false or ego is moving) then (yes) :set current state GO; endif :reset clear stop state duration; stop else (no) endif
if (use dead line?) then (yes) :create dead line point; if (Is there dead line point?) then (yes) if (Is over dead line point?) then (yes) stop endif endif endif
:calculate stop point;
if (stop point?) then (yes) else (no) stop endif
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_velocity_detection_area_module
0.47.0 (2025-08-11)
-
style(pre-commit): update to clang-format-20 (#11088) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration (#10919)
- feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration
* remove unintended change ---------
-
Contributors: Mete Fatih Cırıt, Yukinari Hisaki
0.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(detection_area): improve log message (#10797)
* feat(detection_area): improve log message feat(detection_area): improve log message
- fix clang-tidy
* false
-
fix(detection_area): fix args for calcJudgeLineDistWithAccLimit (#10777)
-
fix(planning): fix links in documentations (#10704)
- fix(planning): fix links in documentations
* fix pre-commit ---------
-
Contributors: Kosuke Takeuchi, TaikiYamada4, Yuxuan Liu
0.45.0 (2025-05-22)
-
Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
-
fix(detection_area_module,virtual_traffic_light,no_stopping_area): support overlap lane (#10623)
-
feat(behavior_velocity_planner): extend stop line to path bound (#10435)
- extend stop line to path bound
- style(pre-commit): autofix
- change signature of stop line extension function
- add tests for detection area module
- fix test for no stopping area module
- fix tests for traffic light module
- include necessary header
* fix test for detection area module ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(behavior_velocity_planner): only wait for the required subscriptions (#10546)
-
Contributors: Mitsuhiro Sakamoto, TaikiYamada4, Takayuki Murooka, Yukinari Hisaki
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix(detection_area): integrate RTC feature (#10376)
- Contributors: Ryohsuke Mitsudome, Satoshi OTA
0.43.0 (2025-03-21)
-
Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
-
chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
-
fix(behavior_velocity_planner): planning factor integration (#10292)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libboost-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_detection_area_module at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.47.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-14 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kyoichi Sugahara
- Tomoya Kimura
- Shumpei Wakabayashi
- Yukinari Hisaki
- Takumi Odashima
Authors
- Kyoichi Sugahara
Detection Area
Role
If pointcloud or predicted objects are detected in a detection area defined on a map, the stop planning will be executed at the predetermined point.
Activation Timing
This module is activated when there is a detection area on the target lane.
Module Parameters
| Parameter | Type | Description |
|---|---|---|
use_dead_line |
bool | [-] weather to use dead line or not |
state_clear_time |
double | [s] when the vehicle is stopping for certain time without incoming obstacle, move to STOPPED state |
stop_margin |
double | [m] a margin that the vehicle tries to stop before stop_line |
dead_line_margin |
double | [m] ignore threshold that vehicle behind is collide with ego vehicle or not |
unstoppable_policy |
string | [-] policy for handling unstoppable situations: “go” (pass through), “force_stop” (emergency stop), or “stop_after_stopline” (stop after the stop line) |
max_deceleration |
double | [m/s^2] maximum deceleration used to calculate required braking distance for unstoppable situation handling |
delay_response_time |
double | [s] delay response time used to calculate required braking distance for unstoppable situation handling |
hold_stop_margin_distance |
double | [m] parameter for restart prevention (See Algorithm section) |
distance_to_judge_over_stop_line |
double | [m] parameter for judging that the stop line has been crossed |
suppress_pass_judge_when_stopping |
bool | [m] parameter for suppressing pass judge when stopping |
enable_detected_obstacle_logging |
bool | [-] enable/disable logging of detected obstacle positions, time elapsed since last detection, and ego vehicle position when ego-vehicle is in STOP state |
target_filtering.pointcloud |
bool | [-] whether to stop for pointcloud detection |
target_filtering.unknown |
bool | [-] whether to stop for UNKNOWN objects area |
target_filtering.car |
bool | [-] whether to stop for CAR objects area |
target_filtering.truck |
bool | [-] whether to stop for TRUCK objects area |
target_filtering.bus |
bool | [-] whether to stop for BUS objects area |
target_filtering.trailer |
bool | [-] whether to stop for TRAILER objects area |
target_filtering.motorcycle |
bool | [-] whether to stop for MOTORCYCLE objects area |
target_filtering.bicycle |
bool | [-] whether to stop for BICYCLE objects area |
target_filtering.pedestrian |
bool | [-] whether to stop for PEDESTRIAN objects area |
target_filtering.animal |
bool | [-] whether to stop for ANIMAL objects area |
target_filtering.hazard |
bool | [-] whether to stop for HAZARD objects area |
target_filtering.over_drivable |
bool | [-] whether to stop for OVER_DRIVABLE objects area |
target_filtering.under_drivable |
bool | [-] whether to stop for UNDER_DRIVABLE objects area |
Inner-workings / Algorithm
- Gets a detection area and stop line from map information and confirms if there are obstacles in the detection area
- Inserts stop point l[m] in front of the stop line
- Calculates required braking distance based on current velocity,
max_deceleration, anddelay_response_time - If the vehicle cannot stop before the stop line, applies the configured
unstoppable_policy - Sets velocity as zero at the determined stop point
Detection Logic
The module uses two detection sources:
-
Pointcloud detection: Detects any obstacles in the detection area using 3D point cloud data (if
target_filtering.pointcloudis enabled) - Predicted objects detection: Detects classified objects (vehicles, pedestrians, etc.) in the detection area based on perception module outputs
The module stops the vehicle if either detection source finds an obstacle. For performance optimization, if pointcloud detection finds an obstacle, predicted objects detection is skipped (short-circuit evaluation).
Flowchart
```plantuml @startuml title modifyPathVelocity start
:check obstacles area;
if (obstacle detected?) then (no) else (yes) :set last time obstacle found; endif
:get clear stop state duration;
if (clear stop state duration is more than state_clear_time?) then (yes) if (suppress_pass_judge_when_stopping is false or ego is moving) then (yes) :set current state GO; endif :reset clear stop state duration; stop else (no) endif
if (use dead line?) then (yes) :create dead line point; if (Is there dead line point?) then (yes) if (Is over dead line point?) then (yes) stop endif endif endif
:calculate stop point;
if (stop point?) then (yes) else (no) stop endif
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_velocity_detection_area_module
0.47.0 (2025-08-11)
-
style(pre-commit): update to clang-format-20 (#11088) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration (#10919)
- feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration
* remove unintended change ---------
-
Contributors: Mete Fatih Cırıt, Yukinari Hisaki
0.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(detection_area): improve log message (#10797)
* feat(detection_area): improve log message feat(detection_area): improve log message
- fix clang-tidy
* false
-
fix(detection_area): fix args for calcJudgeLineDistWithAccLimit (#10777)
-
fix(planning): fix links in documentations (#10704)
- fix(planning): fix links in documentations
* fix pre-commit ---------
-
Contributors: Kosuke Takeuchi, TaikiYamada4, Yuxuan Liu
0.45.0 (2025-05-22)
-
Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
-
fix(detection_area_module,virtual_traffic_light,no_stopping_area): support overlap lane (#10623)
-
feat(behavior_velocity_planner): extend stop line to path bound (#10435)
- extend stop line to path bound
- style(pre-commit): autofix
- change signature of stop line extension function
- add tests for detection area module
- fix test for no stopping area module
- fix tests for traffic light module
- include necessary header
* fix test for detection area module ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(behavior_velocity_planner): only wait for the required subscriptions (#10546)
-
Contributors: Mitsuhiro Sakamoto, TaikiYamada4, Takayuki Murooka, Yukinari Hisaki
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix(detection_area): integrate RTC feature (#10376)
- Contributors: Ryohsuke Mitsudome, Satoshi OTA
0.43.0 (2025-03-21)
-
Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
-
chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
-
fix(behavior_velocity_planner): planning factor integration (#10292)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libboost-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_detection_area_module at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.47.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-14 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kyoichi Sugahara
- Tomoya Kimura
- Shumpei Wakabayashi
- Yukinari Hisaki
- Takumi Odashima
Authors
- Kyoichi Sugahara
Detection Area
Role
If pointcloud or predicted objects are detected in a detection area defined on a map, the stop planning will be executed at the predetermined point.
Activation Timing
This module is activated when there is a detection area on the target lane.
Module Parameters
| Parameter | Type | Description |
|---|---|---|
use_dead_line |
bool | [-] weather to use dead line or not |
state_clear_time |
double | [s] when the vehicle is stopping for certain time without incoming obstacle, move to STOPPED state |
stop_margin |
double | [m] a margin that the vehicle tries to stop before stop_line |
dead_line_margin |
double | [m] ignore threshold that vehicle behind is collide with ego vehicle or not |
unstoppable_policy |
string | [-] policy for handling unstoppable situations: “go” (pass through), “force_stop” (emergency stop), or “stop_after_stopline” (stop after the stop line) |
max_deceleration |
double | [m/s^2] maximum deceleration used to calculate required braking distance for unstoppable situation handling |
delay_response_time |
double | [s] delay response time used to calculate required braking distance for unstoppable situation handling |
hold_stop_margin_distance |
double | [m] parameter for restart prevention (See Algorithm section) |
distance_to_judge_over_stop_line |
double | [m] parameter for judging that the stop line has been crossed |
suppress_pass_judge_when_stopping |
bool | [m] parameter for suppressing pass judge when stopping |
enable_detected_obstacle_logging |
bool | [-] enable/disable logging of detected obstacle positions, time elapsed since last detection, and ego vehicle position when ego-vehicle is in STOP state |
target_filtering.pointcloud |
bool | [-] whether to stop for pointcloud detection |
target_filtering.unknown |
bool | [-] whether to stop for UNKNOWN objects area |
target_filtering.car |
bool | [-] whether to stop for CAR objects area |
target_filtering.truck |
bool | [-] whether to stop for TRUCK objects area |
target_filtering.bus |
bool | [-] whether to stop for BUS objects area |
target_filtering.trailer |
bool | [-] whether to stop for TRAILER objects area |
target_filtering.motorcycle |
bool | [-] whether to stop for MOTORCYCLE objects area |
target_filtering.bicycle |
bool | [-] whether to stop for BICYCLE objects area |
target_filtering.pedestrian |
bool | [-] whether to stop for PEDESTRIAN objects area |
target_filtering.animal |
bool | [-] whether to stop for ANIMAL objects area |
target_filtering.hazard |
bool | [-] whether to stop for HAZARD objects area |
target_filtering.over_drivable |
bool | [-] whether to stop for OVER_DRIVABLE objects area |
target_filtering.under_drivable |
bool | [-] whether to stop for UNDER_DRIVABLE objects area |
Inner-workings / Algorithm
- Gets a detection area and stop line from map information and confirms if there are obstacles in the detection area
- Inserts stop point l[m] in front of the stop line
- Calculates required braking distance based on current velocity,
max_deceleration, anddelay_response_time - If the vehicle cannot stop before the stop line, applies the configured
unstoppable_policy - Sets velocity as zero at the determined stop point
Detection Logic
The module uses two detection sources:
-
Pointcloud detection: Detects any obstacles in the detection area using 3D point cloud data (if
target_filtering.pointcloudis enabled) - Predicted objects detection: Detects classified objects (vehicles, pedestrians, etc.) in the detection area based on perception module outputs
The module stops the vehicle if either detection source finds an obstacle. For performance optimization, if pointcloud detection finds an obstacle, predicted objects detection is skipped (short-circuit evaluation).
Flowchart
```plantuml @startuml title modifyPathVelocity start
:check obstacles area;
if (obstacle detected?) then (no) else (yes) :set last time obstacle found; endif
:get clear stop state duration;
if (clear stop state duration is more than state_clear_time?) then (yes) if (suppress_pass_judge_when_stopping is false or ego is moving) then (yes) :set current state GO; endif :reset clear stop state duration; stop else (no) endif
if (use dead line?) then (yes) :create dead line point; if (Is there dead line point?) then (yes) if (Is over dead line point?) then (yes) stop endif endif endif
:calculate stop point;
if (stop point?) then (yes) else (no) stop endif
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_velocity_detection_area_module
0.47.0 (2025-08-11)
-
style(pre-commit): update to clang-format-20 (#11088) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration (#10919)
- feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration
* remove unintended change ---------
-
Contributors: Mete Fatih Cırıt, Yukinari Hisaki
0.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(detection_area): improve log message (#10797)
* feat(detection_area): improve log message feat(detection_area): improve log message
- fix clang-tidy
* false
-
fix(detection_area): fix args for calcJudgeLineDistWithAccLimit (#10777)
-
fix(planning): fix links in documentations (#10704)
- fix(planning): fix links in documentations
* fix pre-commit ---------
-
Contributors: Kosuke Takeuchi, TaikiYamada4, Yuxuan Liu
0.45.0 (2025-05-22)
-
Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
-
fix(detection_area_module,virtual_traffic_light,no_stopping_area): support overlap lane (#10623)
-
feat(behavior_velocity_planner): extend stop line to path bound (#10435)
- extend stop line to path bound
- style(pre-commit): autofix
- change signature of stop line extension function
- add tests for detection area module
- fix test for no stopping area module
- fix tests for traffic light module
- include necessary header
* fix test for detection area module ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(behavior_velocity_planner): only wait for the required subscriptions (#10546)
-
Contributors: Mitsuhiro Sakamoto, TaikiYamada4, Takayuki Murooka, Yukinari Hisaki
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix(detection_area): integrate RTC feature (#10376)
- Contributors: Ryohsuke Mitsudome, Satoshi OTA
0.43.0 (2025-03-21)
-
Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
-
chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
-
fix(behavior_velocity_planner): planning factor integration (#10292)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libboost-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_detection_area_module at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.47.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-14 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kyoichi Sugahara
- Tomoya Kimura
- Shumpei Wakabayashi
- Yukinari Hisaki
- Takumi Odashima
Authors
- Kyoichi Sugahara
Detection Area
Role
If pointcloud or predicted objects are detected in a detection area defined on a map, the stop planning will be executed at the predetermined point.
Activation Timing
This module is activated when there is a detection area on the target lane.
Module Parameters
| Parameter | Type | Description |
|---|---|---|
use_dead_line |
bool | [-] weather to use dead line or not |
state_clear_time |
double | [s] when the vehicle is stopping for certain time without incoming obstacle, move to STOPPED state |
stop_margin |
double | [m] a margin that the vehicle tries to stop before stop_line |
dead_line_margin |
double | [m] ignore threshold that vehicle behind is collide with ego vehicle or not |
unstoppable_policy |
string | [-] policy for handling unstoppable situations: “go” (pass through), “force_stop” (emergency stop), or “stop_after_stopline” (stop after the stop line) |
max_deceleration |
double | [m/s^2] maximum deceleration used to calculate required braking distance for unstoppable situation handling |
delay_response_time |
double | [s] delay response time used to calculate required braking distance for unstoppable situation handling |
hold_stop_margin_distance |
double | [m] parameter for restart prevention (See Algorithm section) |
distance_to_judge_over_stop_line |
double | [m] parameter for judging that the stop line has been crossed |
suppress_pass_judge_when_stopping |
bool | [m] parameter for suppressing pass judge when stopping |
enable_detected_obstacle_logging |
bool | [-] enable/disable logging of detected obstacle positions, time elapsed since last detection, and ego vehicle position when ego-vehicle is in STOP state |
target_filtering.pointcloud |
bool | [-] whether to stop for pointcloud detection |
target_filtering.unknown |
bool | [-] whether to stop for UNKNOWN objects area |
target_filtering.car |
bool | [-] whether to stop for CAR objects area |
target_filtering.truck |
bool | [-] whether to stop for TRUCK objects area |
target_filtering.bus |
bool | [-] whether to stop for BUS objects area |
target_filtering.trailer |
bool | [-] whether to stop for TRAILER objects area |
target_filtering.motorcycle |
bool | [-] whether to stop for MOTORCYCLE objects area |
target_filtering.bicycle |
bool | [-] whether to stop for BICYCLE objects area |
target_filtering.pedestrian |
bool | [-] whether to stop for PEDESTRIAN objects area |
target_filtering.animal |
bool | [-] whether to stop for ANIMAL objects area |
target_filtering.hazard |
bool | [-] whether to stop for HAZARD objects area |
target_filtering.over_drivable |
bool | [-] whether to stop for OVER_DRIVABLE objects area |
target_filtering.under_drivable |
bool | [-] whether to stop for UNDER_DRIVABLE objects area |
Inner-workings / Algorithm
- Gets a detection area and stop line from map information and confirms if there are obstacles in the detection area
- Inserts stop point l[m] in front of the stop line
- Calculates required braking distance based on current velocity,
max_deceleration, anddelay_response_time - If the vehicle cannot stop before the stop line, applies the configured
unstoppable_policy - Sets velocity as zero at the determined stop point
Detection Logic
The module uses two detection sources:
-
Pointcloud detection: Detects any obstacles in the detection area using 3D point cloud data (if
target_filtering.pointcloudis enabled) - Predicted objects detection: Detects classified objects (vehicles, pedestrians, etc.) in the detection area based on perception module outputs
The module stops the vehicle if either detection source finds an obstacle. For performance optimization, if pointcloud detection finds an obstacle, predicted objects detection is skipped (short-circuit evaluation).
Flowchart
```plantuml @startuml title modifyPathVelocity start
:check obstacles area;
if (obstacle detected?) then (no) else (yes) :set last time obstacle found; endif
:get clear stop state duration;
if (clear stop state duration is more than state_clear_time?) then (yes) if (suppress_pass_judge_when_stopping is false or ego is moving) then (yes) :set current state GO; endif :reset clear stop state duration; stop else (no) endif
if (use dead line?) then (yes) :create dead line point; if (Is there dead line point?) then (yes) if (Is over dead line point?) then (yes) stop endif endif endif
:calculate stop point;
if (stop point?) then (yes) else (no) stop endif
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_velocity_detection_area_module
0.47.0 (2025-08-11)
-
style(pre-commit): update to clang-format-20 (#11088) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration (#10919)
- feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration
* remove unintended change ---------
-
Contributors: Mete Fatih Cırıt, Yukinari Hisaki
0.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(detection_area): improve log message (#10797)
* feat(detection_area): improve log message feat(detection_area): improve log message
- fix clang-tidy
* false
-
fix(detection_area): fix args for calcJudgeLineDistWithAccLimit (#10777)
-
fix(planning): fix links in documentations (#10704)
- fix(planning): fix links in documentations
* fix pre-commit ---------
-
Contributors: Kosuke Takeuchi, TaikiYamada4, Yuxuan Liu
0.45.0 (2025-05-22)
-
Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
-
fix(detection_area_module,virtual_traffic_light,no_stopping_area): support overlap lane (#10623)
-
feat(behavior_velocity_planner): extend stop line to path bound (#10435)
- extend stop line to path bound
- style(pre-commit): autofix
- change signature of stop line extension function
- add tests for detection area module
- fix test for no stopping area module
- fix tests for traffic light module
- include necessary header
* fix test for detection area module ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(behavior_velocity_planner): only wait for the required subscriptions (#10546)
-
Contributors: Mitsuhiro Sakamoto, TaikiYamada4, Takayuki Murooka, Yukinari Hisaki
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix(detection_area): integrate RTC feature (#10376)
- Contributors: Ryohsuke Mitsudome, Satoshi OTA
0.43.0 (2025-03-21)
-
Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
-
chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
-
fix(behavior_velocity_planner): planning factor integration (#10292)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libboost-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_detection_area_module at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.47.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-14 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kyoichi Sugahara
- Tomoya Kimura
- Shumpei Wakabayashi
- Yukinari Hisaki
- Takumi Odashima
Authors
- Kyoichi Sugahara
Detection Area
Role
If pointcloud or predicted objects are detected in a detection area defined on a map, the stop planning will be executed at the predetermined point.
Activation Timing
This module is activated when there is a detection area on the target lane.
Module Parameters
| Parameter | Type | Description |
|---|---|---|
use_dead_line |
bool | [-] weather to use dead line or not |
state_clear_time |
double | [s] when the vehicle is stopping for certain time without incoming obstacle, move to STOPPED state |
stop_margin |
double | [m] a margin that the vehicle tries to stop before stop_line |
dead_line_margin |
double | [m] ignore threshold that vehicle behind is collide with ego vehicle or not |
unstoppable_policy |
string | [-] policy for handling unstoppable situations: “go” (pass through), “force_stop” (emergency stop), or “stop_after_stopline” (stop after the stop line) |
max_deceleration |
double | [m/s^2] maximum deceleration used to calculate required braking distance for unstoppable situation handling |
delay_response_time |
double | [s] delay response time used to calculate required braking distance for unstoppable situation handling |
hold_stop_margin_distance |
double | [m] parameter for restart prevention (See Algorithm section) |
distance_to_judge_over_stop_line |
double | [m] parameter for judging that the stop line has been crossed |
suppress_pass_judge_when_stopping |
bool | [m] parameter for suppressing pass judge when stopping |
enable_detected_obstacle_logging |
bool | [-] enable/disable logging of detected obstacle positions, time elapsed since last detection, and ego vehicle position when ego-vehicle is in STOP state |
target_filtering.pointcloud |
bool | [-] whether to stop for pointcloud detection |
target_filtering.unknown |
bool | [-] whether to stop for UNKNOWN objects area |
target_filtering.car |
bool | [-] whether to stop for CAR objects area |
target_filtering.truck |
bool | [-] whether to stop for TRUCK objects area |
target_filtering.bus |
bool | [-] whether to stop for BUS objects area |
target_filtering.trailer |
bool | [-] whether to stop for TRAILER objects area |
target_filtering.motorcycle |
bool | [-] whether to stop for MOTORCYCLE objects area |
target_filtering.bicycle |
bool | [-] whether to stop for BICYCLE objects area |
target_filtering.pedestrian |
bool | [-] whether to stop for PEDESTRIAN objects area |
target_filtering.animal |
bool | [-] whether to stop for ANIMAL objects area |
target_filtering.hazard |
bool | [-] whether to stop for HAZARD objects area |
target_filtering.over_drivable |
bool | [-] whether to stop for OVER_DRIVABLE objects area |
target_filtering.under_drivable |
bool | [-] whether to stop for UNDER_DRIVABLE objects area |
Inner-workings / Algorithm
- Gets a detection area and stop line from map information and confirms if there are obstacles in the detection area
- Inserts stop point l[m] in front of the stop line
- Calculates required braking distance based on current velocity,
max_deceleration, anddelay_response_time - If the vehicle cannot stop before the stop line, applies the configured
unstoppable_policy - Sets velocity as zero at the determined stop point
Detection Logic
The module uses two detection sources:
-
Pointcloud detection: Detects any obstacles in the detection area using 3D point cloud data (if
target_filtering.pointcloudis enabled) - Predicted objects detection: Detects classified objects (vehicles, pedestrians, etc.) in the detection area based on perception module outputs
The module stops the vehicle if either detection source finds an obstacle. For performance optimization, if pointcloud detection finds an obstacle, predicted objects detection is skipped (short-circuit evaluation).
Flowchart
```plantuml @startuml title modifyPathVelocity start
:check obstacles area;
if (obstacle detected?) then (no) else (yes) :set last time obstacle found; endif
:get clear stop state duration;
if (clear stop state duration is more than state_clear_time?) then (yes) if (suppress_pass_judge_when_stopping is false or ego is moving) then (yes) :set current state GO; endif :reset clear stop state duration; stop else (no) endif
if (use dead line?) then (yes) :create dead line point; if (Is there dead line point?) then (yes) if (Is over dead line point?) then (yes) stop endif endif endif
:calculate stop point;
if (stop point?) then (yes) else (no) stop endif
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_velocity_detection_area_module
0.47.0 (2025-08-11)
-
style(pre-commit): update to clang-format-20 (#11088) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration (#10919)
- feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration
* remove unintended change ---------
-
Contributors: Mete Fatih Cırıt, Yukinari Hisaki
0.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(detection_area): improve log message (#10797)
* feat(detection_area): improve log message feat(detection_area): improve log message
- fix clang-tidy
* false
-
fix(detection_area): fix args for calcJudgeLineDistWithAccLimit (#10777)
-
fix(planning): fix links in documentations (#10704)
- fix(planning): fix links in documentations
* fix pre-commit ---------
-
Contributors: Kosuke Takeuchi, TaikiYamada4, Yuxuan Liu
0.45.0 (2025-05-22)
-
Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
-
fix(detection_area_module,virtual_traffic_light,no_stopping_area): support overlap lane (#10623)
-
feat(behavior_velocity_planner): extend stop line to path bound (#10435)
- extend stop line to path bound
- style(pre-commit): autofix
- change signature of stop line extension function
- add tests for detection area module
- fix test for no stopping area module
- fix tests for traffic light module
- include necessary header
* fix test for detection area module ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(behavior_velocity_planner): only wait for the required subscriptions (#10546)
-
Contributors: Mitsuhiro Sakamoto, TaikiYamada4, Takayuki Murooka, Yukinari Hisaki
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix(detection_area): integrate RTC feature (#10376)
- Contributors: Ryohsuke Mitsudome, Satoshi OTA
0.43.0 (2025-03-21)
-
Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
-
chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
-
fix(behavior_velocity_planner): planning factor integration (#10292)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libboost-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_detection_area_module at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.47.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-14 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kyoichi Sugahara
- Tomoya Kimura
- Shumpei Wakabayashi
- Yukinari Hisaki
- Takumi Odashima
Authors
- Kyoichi Sugahara
Detection Area
Role
If pointcloud or predicted objects are detected in a detection area defined on a map, the stop planning will be executed at the predetermined point.
Activation Timing
This module is activated when there is a detection area on the target lane.
Module Parameters
| Parameter | Type | Description |
|---|---|---|
use_dead_line |
bool | [-] weather to use dead line or not |
state_clear_time |
double | [s] when the vehicle is stopping for certain time without incoming obstacle, move to STOPPED state |
stop_margin |
double | [m] a margin that the vehicle tries to stop before stop_line |
dead_line_margin |
double | [m] ignore threshold that vehicle behind is collide with ego vehicle or not |
unstoppable_policy |
string | [-] policy for handling unstoppable situations: “go” (pass through), “force_stop” (emergency stop), or “stop_after_stopline” (stop after the stop line) |
max_deceleration |
double | [m/s^2] maximum deceleration used to calculate required braking distance for unstoppable situation handling |
delay_response_time |
double | [s] delay response time used to calculate required braking distance for unstoppable situation handling |
hold_stop_margin_distance |
double | [m] parameter for restart prevention (See Algorithm section) |
distance_to_judge_over_stop_line |
double | [m] parameter for judging that the stop line has been crossed |
suppress_pass_judge_when_stopping |
bool | [m] parameter for suppressing pass judge when stopping |
enable_detected_obstacle_logging |
bool | [-] enable/disable logging of detected obstacle positions, time elapsed since last detection, and ego vehicle position when ego-vehicle is in STOP state |
target_filtering.pointcloud |
bool | [-] whether to stop for pointcloud detection |
target_filtering.unknown |
bool | [-] whether to stop for UNKNOWN objects area |
target_filtering.car |
bool | [-] whether to stop for CAR objects area |
target_filtering.truck |
bool | [-] whether to stop for TRUCK objects area |
target_filtering.bus |
bool | [-] whether to stop for BUS objects area |
target_filtering.trailer |
bool | [-] whether to stop for TRAILER objects area |
target_filtering.motorcycle |
bool | [-] whether to stop for MOTORCYCLE objects area |
target_filtering.bicycle |
bool | [-] whether to stop for BICYCLE objects area |
target_filtering.pedestrian |
bool | [-] whether to stop for PEDESTRIAN objects area |
target_filtering.animal |
bool | [-] whether to stop for ANIMAL objects area |
target_filtering.hazard |
bool | [-] whether to stop for HAZARD objects area |
target_filtering.over_drivable |
bool | [-] whether to stop for OVER_DRIVABLE objects area |
target_filtering.under_drivable |
bool | [-] whether to stop for UNDER_DRIVABLE objects area |
Inner-workings / Algorithm
- Gets a detection area and stop line from map information and confirms if there are obstacles in the detection area
- Inserts stop point l[m] in front of the stop line
- Calculates required braking distance based on current velocity,
max_deceleration, anddelay_response_time - If the vehicle cannot stop before the stop line, applies the configured
unstoppable_policy - Sets velocity as zero at the determined stop point
Detection Logic
The module uses two detection sources:
-
Pointcloud detection: Detects any obstacles in the detection area using 3D point cloud data (if
target_filtering.pointcloudis enabled) - Predicted objects detection: Detects classified objects (vehicles, pedestrians, etc.) in the detection area based on perception module outputs
The module stops the vehicle if either detection source finds an obstacle. For performance optimization, if pointcloud detection finds an obstacle, predicted objects detection is skipped (short-circuit evaluation).
Flowchart
```plantuml @startuml title modifyPathVelocity start
:check obstacles area;
if (obstacle detected?) then (no) else (yes) :set last time obstacle found; endif
:get clear stop state duration;
if (clear stop state duration is more than state_clear_time?) then (yes) if (suppress_pass_judge_when_stopping is false or ego is moving) then (yes) :set current state GO; endif :reset clear stop state duration; stop else (no) endif
if (use dead line?) then (yes) :create dead line point; if (Is there dead line point?) then (yes) if (Is over dead line point?) then (yes) stop endif endif endif
:calculate stop point;
if (stop point?) then (yes) else (no) stop endif
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_velocity_detection_area_module
0.47.0 (2025-08-11)
-
style(pre-commit): update to clang-format-20 (#11088) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration (#10919)
- feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration
* remove unintended change ---------
-
Contributors: Mete Fatih Cırıt, Yukinari Hisaki
0.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(detection_area): improve log message (#10797)
* feat(detection_area): improve log message feat(detection_area): improve log message
- fix clang-tidy
* false
-
fix(detection_area): fix args for calcJudgeLineDistWithAccLimit (#10777)
-
fix(planning): fix links in documentations (#10704)
- fix(planning): fix links in documentations
* fix pre-commit ---------
-
Contributors: Kosuke Takeuchi, TaikiYamada4, Yuxuan Liu
0.45.0 (2025-05-22)
-
Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
-
fix(detection_area_module,virtual_traffic_light,no_stopping_area): support overlap lane (#10623)
-
feat(behavior_velocity_planner): extend stop line to path bound (#10435)
- extend stop line to path bound
- style(pre-commit): autofix
- change signature of stop line extension function
- add tests for detection area module
- fix test for no stopping area module
- fix tests for traffic light module
- include necessary header
* fix test for detection area module ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(behavior_velocity_planner): only wait for the required subscriptions (#10546)
-
Contributors: Mitsuhiro Sakamoto, TaikiYamada4, Takayuki Murooka, Yukinari Hisaki
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix(detection_area): integrate RTC feature (#10376)
- Contributors: Ryohsuke Mitsudome, Satoshi OTA
0.43.0 (2025-03-21)
-
Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
-
chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
-
fix(behavior_velocity_planner): planning factor integration (#10292)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libboost-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_detection_area_module at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.47.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-14 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kyoichi Sugahara
- Tomoya Kimura
- Shumpei Wakabayashi
- Yukinari Hisaki
- Takumi Odashima
Authors
- Kyoichi Sugahara
Detection Area
Role
If pointcloud or predicted objects are detected in a detection area defined on a map, the stop planning will be executed at the predetermined point.
Activation Timing
This module is activated when there is a detection area on the target lane.
Module Parameters
| Parameter | Type | Description |
|---|---|---|
use_dead_line |
bool | [-] weather to use dead line or not |
state_clear_time |
double | [s] when the vehicle is stopping for certain time without incoming obstacle, move to STOPPED state |
stop_margin |
double | [m] a margin that the vehicle tries to stop before stop_line |
dead_line_margin |
double | [m] ignore threshold that vehicle behind is collide with ego vehicle or not |
unstoppable_policy |
string | [-] policy for handling unstoppable situations: “go” (pass through), “force_stop” (emergency stop), or “stop_after_stopline” (stop after the stop line) |
max_deceleration |
double | [m/s^2] maximum deceleration used to calculate required braking distance for unstoppable situation handling |
delay_response_time |
double | [s] delay response time used to calculate required braking distance for unstoppable situation handling |
hold_stop_margin_distance |
double | [m] parameter for restart prevention (See Algorithm section) |
distance_to_judge_over_stop_line |
double | [m] parameter for judging that the stop line has been crossed |
suppress_pass_judge_when_stopping |
bool | [m] parameter for suppressing pass judge when stopping |
enable_detected_obstacle_logging |
bool | [-] enable/disable logging of detected obstacle positions, time elapsed since last detection, and ego vehicle position when ego-vehicle is in STOP state |
target_filtering.pointcloud |
bool | [-] whether to stop for pointcloud detection |
target_filtering.unknown |
bool | [-] whether to stop for UNKNOWN objects area |
target_filtering.car |
bool | [-] whether to stop for CAR objects area |
target_filtering.truck |
bool | [-] whether to stop for TRUCK objects area |
target_filtering.bus |
bool | [-] whether to stop for BUS objects area |
target_filtering.trailer |
bool | [-] whether to stop for TRAILER objects area |
target_filtering.motorcycle |
bool | [-] whether to stop for MOTORCYCLE objects area |
target_filtering.bicycle |
bool | [-] whether to stop for BICYCLE objects area |
target_filtering.pedestrian |
bool | [-] whether to stop for PEDESTRIAN objects area |
target_filtering.animal |
bool | [-] whether to stop for ANIMAL objects area |
target_filtering.hazard |
bool | [-] whether to stop for HAZARD objects area |
target_filtering.over_drivable |
bool | [-] whether to stop for OVER_DRIVABLE objects area |
target_filtering.under_drivable |
bool | [-] whether to stop for UNDER_DRIVABLE objects area |
Inner-workings / Algorithm
- Gets a detection area and stop line from map information and confirms if there are obstacles in the detection area
- Inserts stop point l[m] in front of the stop line
- Calculates required braking distance based on current velocity,
max_deceleration, anddelay_response_time - If the vehicle cannot stop before the stop line, applies the configured
unstoppable_policy - Sets velocity as zero at the determined stop point
Detection Logic
The module uses two detection sources:
-
Pointcloud detection: Detects any obstacles in the detection area using 3D point cloud data (if
target_filtering.pointcloudis enabled) - Predicted objects detection: Detects classified objects (vehicles, pedestrians, etc.) in the detection area based on perception module outputs
The module stops the vehicle if either detection source finds an obstacle. For performance optimization, if pointcloud detection finds an obstacle, predicted objects detection is skipped (short-circuit evaluation).
Flowchart
```plantuml @startuml title modifyPathVelocity start
:check obstacles area;
if (obstacle detected?) then (no) else (yes) :set last time obstacle found; endif
:get clear stop state duration;
if (clear stop state duration is more than state_clear_time?) then (yes) if (suppress_pass_judge_when_stopping is false or ego is moving) then (yes) :set current state GO; endif :reset clear stop state duration; stop else (no) endif
if (use dead line?) then (yes) :create dead line point; if (Is there dead line point?) then (yes) if (Is over dead line point?) then (yes) stop endif endif endif
:calculate stop point;
if (stop point?) then (yes) else (no) stop endif
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_velocity_detection_area_module
0.47.0 (2025-08-11)
-
style(pre-commit): update to clang-format-20 (#11088) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration (#10919)
- feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration
* remove unintended change ---------
-
Contributors: Mete Fatih Cırıt, Yukinari Hisaki
0.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(detection_area): improve log message (#10797)
* feat(detection_area): improve log message feat(detection_area): improve log message
- fix clang-tidy
* false
-
fix(detection_area): fix args for calcJudgeLineDistWithAccLimit (#10777)
-
fix(planning): fix links in documentations (#10704)
- fix(planning): fix links in documentations
* fix pre-commit ---------
-
Contributors: Kosuke Takeuchi, TaikiYamada4, Yuxuan Liu
0.45.0 (2025-05-22)
-
Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
-
fix(detection_area_module,virtual_traffic_light,no_stopping_area): support overlap lane (#10623)
-
feat(behavior_velocity_planner): extend stop line to path bound (#10435)
- extend stop line to path bound
- style(pre-commit): autofix
- change signature of stop line extension function
- add tests for detection area module
- fix test for no stopping area module
- fix tests for traffic light module
- include necessary header
* fix test for detection area module ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(behavior_velocity_planner): only wait for the required subscriptions (#10546)
-
Contributors: Mitsuhiro Sakamoto, TaikiYamada4, Takayuki Murooka, Yukinari Hisaki
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix(detection_area): integrate RTC feature (#10376)
- Contributors: Ryohsuke Mitsudome, Satoshi OTA
0.43.0 (2025-03-21)
-
Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
-
chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
-
fix(behavior_velocity_planner): planning factor integration (#10292)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libboost-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_detection_area_module at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.47.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-14 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kyoichi Sugahara
- Tomoya Kimura
- Shumpei Wakabayashi
- Yukinari Hisaki
- Takumi Odashima
Authors
- Kyoichi Sugahara
Detection Area
Role
If pointcloud or predicted objects are detected in a detection area defined on a map, the stop planning will be executed at the predetermined point.
Activation Timing
This module is activated when there is a detection area on the target lane.
Module Parameters
| Parameter | Type | Description |
|---|---|---|
use_dead_line |
bool | [-] weather to use dead line or not |
state_clear_time |
double | [s] when the vehicle is stopping for certain time without incoming obstacle, move to STOPPED state |
stop_margin |
double | [m] a margin that the vehicle tries to stop before stop_line |
dead_line_margin |
double | [m] ignore threshold that vehicle behind is collide with ego vehicle or not |
unstoppable_policy |
string | [-] policy for handling unstoppable situations: “go” (pass through), “force_stop” (emergency stop), or “stop_after_stopline” (stop after the stop line) |
max_deceleration |
double | [m/s^2] maximum deceleration used to calculate required braking distance for unstoppable situation handling |
delay_response_time |
double | [s] delay response time used to calculate required braking distance for unstoppable situation handling |
hold_stop_margin_distance |
double | [m] parameter for restart prevention (See Algorithm section) |
distance_to_judge_over_stop_line |
double | [m] parameter for judging that the stop line has been crossed |
suppress_pass_judge_when_stopping |
bool | [m] parameter for suppressing pass judge when stopping |
enable_detected_obstacle_logging |
bool | [-] enable/disable logging of detected obstacle positions, time elapsed since last detection, and ego vehicle position when ego-vehicle is in STOP state |
target_filtering.pointcloud |
bool | [-] whether to stop for pointcloud detection |
target_filtering.unknown |
bool | [-] whether to stop for UNKNOWN objects area |
target_filtering.car |
bool | [-] whether to stop for CAR objects area |
target_filtering.truck |
bool | [-] whether to stop for TRUCK objects area |
target_filtering.bus |
bool | [-] whether to stop for BUS objects area |
target_filtering.trailer |
bool | [-] whether to stop for TRAILER objects area |
target_filtering.motorcycle |
bool | [-] whether to stop for MOTORCYCLE objects area |
target_filtering.bicycle |
bool | [-] whether to stop for BICYCLE objects area |
target_filtering.pedestrian |
bool | [-] whether to stop for PEDESTRIAN objects area |
target_filtering.animal |
bool | [-] whether to stop for ANIMAL objects area |
target_filtering.hazard |
bool | [-] whether to stop for HAZARD objects area |
target_filtering.over_drivable |
bool | [-] whether to stop for OVER_DRIVABLE objects area |
target_filtering.under_drivable |
bool | [-] whether to stop for UNDER_DRIVABLE objects area |
Inner-workings / Algorithm
- Gets a detection area and stop line from map information and confirms if there are obstacles in the detection area
- Inserts stop point l[m] in front of the stop line
- Calculates required braking distance based on current velocity,
max_deceleration, anddelay_response_time - If the vehicle cannot stop before the stop line, applies the configured
unstoppable_policy - Sets velocity as zero at the determined stop point
Detection Logic
The module uses two detection sources:
-
Pointcloud detection: Detects any obstacles in the detection area using 3D point cloud data (if
target_filtering.pointcloudis enabled) - Predicted objects detection: Detects classified objects (vehicles, pedestrians, etc.) in the detection area based on perception module outputs
The module stops the vehicle if either detection source finds an obstacle. For performance optimization, if pointcloud detection finds an obstacle, predicted objects detection is skipped (short-circuit evaluation).
Flowchart
```plantuml @startuml title modifyPathVelocity start
:check obstacles area;
if (obstacle detected?) then (no) else (yes) :set last time obstacle found; endif
:get clear stop state duration;
if (clear stop state duration is more than state_clear_time?) then (yes) if (suppress_pass_judge_when_stopping is false or ego is moving) then (yes) :set current state GO; endif :reset clear stop state duration; stop else (no) endif
if (use dead line?) then (yes) :create dead line point; if (Is there dead line point?) then (yes) if (Is over dead line point?) then (yes) stop endif endif endif
:calculate stop point;
if (stop point?) then (yes) else (no) stop endif
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_velocity_detection_area_module
0.47.0 (2025-08-11)
-
style(pre-commit): update to clang-format-20 (#11088) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration (#10919)
- feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration
* remove unintended change ---------
-
Contributors: Mete Fatih Cırıt, Yukinari Hisaki
0.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(detection_area): improve log message (#10797)
* feat(detection_area): improve log message feat(detection_area): improve log message
- fix clang-tidy
* false
-
fix(detection_area): fix args for calcJudgeLineDistWithAccLimit (#10777)
-
fix(planning): fix links in documentations (#10704)
- fix(planning): fix links in documentations
* fix pre-commit ---------
-
Contributors: Kosuke Takeuchi, TaikiYamada4, Yuxuan Liu
0.45.0 (2025-05-22)
-
Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
-
fix(detection_area_module,virtual_traffic_light,no_stopping_area): support overlap lane (#10623)
-
feat(behavior_velocity_planner): extend stop line to path bound (#10435)
- extend stop line to path bound
- style(pre-commit): autofix
- change signature of stop line extension function
- add tests for detection area module
- fix test for no stopping area module
- fix tests for traffic light module
- include necessary header
* fix test for detection area module ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(behavior_velocity_planner): only wait for the required subscriptions (#10546)
-
Contributors: Mitsuhiro Sakamoto, TaikiYamada4, Takayuki Murooka, Yukinari Hisaki
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix(detection_area): integrate RTC feature (#10376)
- Contributors: Ryohsuke Mitsudome, Satoshi OTA
0.43.0 (2025-03-21)
-
Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
-
chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
-
fix(behavior_velocity_planner): planning factor integration (#10292)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libboost-dev |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_velocity_detection_area_module at Robotics Stack Exchange
Package Summary
| Tags | No category tags. |
| Version | 0.47.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-11-14 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | planner ros calibration self-driving-car autonomous-driving autonomous-vehicles ros2 3d-map autoware |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Kyoichi Sugahara
- Tomoya Kimura
- Shumpei Wakabayashi
- Yukinari Hisaki
- Takumi Odashima
Authors
- Kyoichi Sugahara
Detection Area
Role
If pointcloud or predicted objects are detected in a detection area defined on a map, the stop planning will be executed at the predetermined point.
Activation Timing
This module is activated when there is a detection area on the target lane.
Module Parameters
| Parameter | Type | Description |
|---|---|---|
use_dead_line |
bool | [-] weather to use dead line or not |
state_clear_time |
double | [s] when the vehicle is stopping for certain time without incoming obstacle, move to STOPPED state |
stop_margin |
double | [m] a margin that the vehicle tries to stop before stop_line |
dead_line_margin |
double | [m] ignore threshold that vehicle behind is collide with ego vehicle or not |
unstoppable_policy |
string | [-] policy for handling unstoppable situations: “go” (pass through), “force_stop” (emergency stop), or “stop_after_stopline” (stop after the stop line) |
max_deceleration |
double | [m/s^2] maximum deceleration used to calculate required braking distance for unstoppable situation handling |
delay_response_time |
double | [s] delay response time used to calculate required braking distance for unstoppable situation handling |
hold_stop_margin_distance |
double | [m] parameter for restart prevention (See Algorithm section) |
distance_to_judge_over_stop_line |
double | [m] parameter for judging that the stop line has been crossed |
suppress_pass_judge_when_stopping |
bool | [m] parameter for suppressing pass judge when stopping |
enable_detected_obstacle_logging |
bool | [-] enable/disable logging of detected obstacle positions, time elapsed since last detection, and ego vehicle position when ego-vehicle is in STOP state |
target_filtering.pointcloud |
bool | [-] whether to stop for pointcloud detection |
target_filtering.unknown |
bool | [-] whether to stop for UNKNOWN objects area |
target_filtering.car |
bool | [-] whether to stop for CAR objects area |
target_filtering.truck |
bool | [-] whether to stop for TRUCK objects area |
target_filtering.bus |
bool | [-] whether to stop for BUS objects area |
target_filtering.trailer |
bool | [-] whether to stop for TRAILER objects area |
target_filtering.motorcycle |
bool | [-] whether to stop for MOTORCYCLE objects area |
target_filtering.bicycle |
bool | [-] whether to stop for BICYCLE objects area |
target_filtering.pedestrian |
bool | [-] whether to stop for PEDESTRIAN objects area |
target_filtering.animal |
bool | [-] whether to stop for ANIMAL objects area |
target_filtering.hazard |
bool | [-] whether to stop for HAZARD objects area |
target_filtering.over_drivable |
bool | [-] whether to stop for OVER_DRIVABLE objects area |
target_filtering.under_drivable |
bool | [-] whether to stop for UNDER_DRIVABLE objects area |
Inner-workings / Algorithm
- Gets a detection area and stop line from map information and confirms if there are obstacles in the detection area
- Inserts stop point l[m] in front of the stop line
- Calculates required braking distance based on current velocity,
max_deceleration, anddelay_response_time - If the vehicle cannot stop before the stop line, applies the configured
unstoppable_policy - Sets velocity as zero at the determined stop point
Detection Logic
The module uses two detection sources:
-
Pointcloud detection: Detects any obstacles in the detection area using 3D point cloud data (if
target_filtering.pointcloudis enabled) - Predicted objects detection: Detects classified objects (vehicles, pedestrians, etc.) in the detection area based on perception module outputs
The module stops the vehicle if either detection source finds an obstacle. For performance optimization, if pointcloud detection finds an obstacle, predicted objects detection is skipped (short-circuit evaluation).
Flowchart
```plantuml @startuml title modifyPathVelocity start
:check obstacles area;
if (obstacle detected?) then (no) else (yes) :set last time obstacle found; endif
:get clear stop state duration;
if (clear stop state duration is more than state_clear_time?) then (yes) if (suppress_pass_judge_when_stopping is false or ego is moving) then (yes) :set current state GO; endif :reset clear stop state duration; stop else (no) endif
if (use dead line?) then (yes) :create dead line point; if (Is there dead line point?) then (yes) if (Is over dead line point?) then (yes) stop endif endif endif
:calculate stop point;
if (stop point?) then (yes) else (no) stop endif
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_velocity_detection_area_module
0.47.0 (2025-08-11)
-
style(pre-commit): update to clang-format-20 (#11088) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration (#10919)
- feat(detection_area): set stop point behind actual stop line when ego exceeds max acceleration
* remove unintended change ---------
-
Contributors: Mete Fatih Cırıt, Yukinari Hisaki
0.46.0 (2025-06-20)
-
Merge remote-tracking branch 'upstream/main' into tmp/TaikiYamada/bump_version_base
-
feat(detection_area): improve log message (#10797)
* feat(detection_area): improve log message feat(detection_area): improve log message
- fix clang-tidy
* false
-
fix(detection_area): fix args for calcJudgeLineDistWithAccLimit (#10777)
-
fix(planning): fix links in documentations (#10704)
- fix(planning): fix links in documentations
* fix pre-commit ---------
-
Contributors: Kosuke Takeuchi, TaikiYamada4, Yuxuan Liu
0.45.0 (2025-05-22)
-
Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
-
fix(detection_area_module,virtual_traffic_light,no_stopping_area): support overlap lane (#10623)
-
feat(behavior_velocity_planner): extend stop line to path bound (#10435)
- extend stop line to path bound
- style(pre-commit): autofix
- change signature of stop line extension function
- add tests for detection area module
- fix test for no stopping area module
- fix tests for traffic light module
- include necessary header
* fix test for detection area module ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
-
feat(behavior_velocity_planner): only wait for the required subscriptions (#10546)
-
Contributors: Mitsuhiro Sakamoto, TaikiYamada4, Takayuki Murooka, Yukinari Hisaki
0.44.2 (2025-06-10)
0.44.1 (2025-05-01)
0.44.0 (2025-04-18)
- Merge remote-tracking branch 'origin/main' into humble
- fix(detection_area): integrate RTC feature (#10376)
- Contributors: Ryohsuke Mitsudome, Satoshi OTA
0.43.0 (2025-03-21)
-
Merge remote-tracking branch 'origin/main' into chore/bump-version-0.43
-
chore: rename from [autoware.universe]{.title-ref} to [autoware_universe]{.title-ref} (#10306)
-
fix(behavior_velocity_planner): planning factor integration (#10292)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| eigen |
| libboost-dev |