Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takumi Odashima
- Kosuke Takeuchi
- Mamoru Sobue
Authors
Goal Planner design
Purpose / Role
goal_planner generates a smooth path toward the goal and additionally searches for safe path and goal to execute dynamic pull_over on the road shoulders lanes following the traffic rules.
Design
If goal modification is not allowed, just park at the designated fixed goal using fixed_goal_planner.
If allowed, rough_goal_planner works to park around the vacant spots in the shoulder lanes around the goal by executing pull_over toward left or right side of the road lanes.
@startuml
package goal_planner{
class GoalPlannerModule {}
package rough_goal_planner <<Rectangle>>{
package lane_parking <<Rectangle>>{
class ShiftPullOver {}
class GeometricPullOver {}
}
package freespace_parking <<Rectangle>>{
class FreeSpacePullOver {}
}
class GoalSearcher {}
struct GoalCandidates {}
struct PullOverPath{}
abstract class PullOverPlannerBase {}
}
package fixed_goal_planner <<Rectangle>>{
abstract class FixedGoalPlannerBase {}
class DefaultFixedPlanner{}
}
}
package utils{
class PathShifter {}
class GeometricParallelParking {}
}
package freespace_planning_algorithms
{
class AstarSearch{}
class RRTStar{}
}
' goal planner
ShiftPullOver --|> PullOverPlannerBase
GeometricPullOver --|> PullOverPlannerBase
FreeSpacePullOver --|> PullOverPlannerBase
DefaultFixedPlanner --|> FixedGoalPlannerBase
PathShifter --o ShiftPullOver
GeometricParallelParking --o GeometricPullOver
AstarSearch --o FreeSpacePullOver
RRTStar --o FreeSpacePullOver
PullOverPlannerBase --o GoalPlannerModule
FixedGoalPlannerBase --o GoalPlannerModule
PullOverPath --o PullOverPlannerBase
@enduml
trigger condition
fixed_goal_planner
fixed_goal_planner just plans a smooth path to the designated goal.
NOTE: this planner does not perform the several features described below, such as “goal search”, “collision check”, “safety check”, etc.
fixed_goal_planner is used when both conditions are met.
- Route is set with
allow_goal_modification=false. This is the default. - The goal is set on
roadlanes.
If the path given to goal_planner covers the goal, fixed_goal_planner smoothly connects the goal and the path points around the goal within the radius of refine_goal_search_radius_range using spline interpolation.

rough_goal_planner
pull over on road lane
rough_goal_planner is triggered following the behavior_path_planner scene module interface namely through isExecutionRequested function and it returns true when following two conditions are met.
- The distance between the goal and ego get shorter than $\max$(
pull_over_minimum_request_length, stop distance with decel and jerk constraints).
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_path_goal_planner_module
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(goal_planner): use resampled_arc_path (#12690)
-
feat(autoware_vehicle_info_utils): refactor to use createFootprint with base_pose (#12586)
- refactor universe_utils to transform in createFootprint
- refactor mission_universe_planner to transform in createFootprint
- refactor path_optimizer to transform in createFootprint
- common-evaluator refactor createFootprint to apply base_link internally
- bpp refactor createFootprint to apply base_link internally
* bvp refactor createFootprint to apply base_link internally ---------
-
Contributors: Mehmet Emin BAŞOĞLU, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
refactor(boundary_departure_checker): deprecate legacy rule-based boundary departure checker (#12420) refactor: separate bdp
-
fix(goal_planner): prevent crash when output path is empty (#12284)
-
chore(behavior_path_planner): remove unused lanelet2_extension header (#12292) unused lanelet2_extension in bpp modules Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
feat(lanelet2_extension): replace ported lanelet2_extension utilities functions (final) (#12173) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(goal_planner): fix node dead issue (#12177) fix issue
-
refactor(planning): replace toGeomMsg/toLaneletPoint to autoware_lanelet2_utils in lane_change/goal_planner (#12080) refactor(behavior_path_planner): deprecate toLaneletPoint/toGeomPt in lane_change/goal_planner
-
feat(autoware_lanelet2_extension): replace remaining lanelet2_extension utilities functions - bpp packages (#12085)
- replace getArcCoordinates in bpp packages
- replace getArcCoordinates usage in bpp packages (2)
* replace getArcCoordinates in bpp package (3) (autoware_behavior_path_goal_planner_module)
* replace getArcCoordinates in bpp package(4) (autoware_behavior_path_start_planner_module)
- replace getLateralDistanceToClosestLanelet in bpp package
- replace getExpandedLanelet(s) in bpp package
- replace combineLaneletsShape in bpp packages
- fix wrong condition in bpp
- style(pre-commit): autofix
- remove directly dereference opt for combine_lanelet
- remove log if lanelet is empty
- bind reference to optional value for combine_lanelets_shape
- remove log and simply return outside else in get_dirty_expanded_lanelets opt
* remove .has_value in lane_change_module for consistency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| range-v3 |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_static_centerline_generator |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_path_goal_planner_module at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takumi Odashima
- Kosuke Takeuchi
- Mamoru Sobue
Authors
Goal Planner design
Purpose / Role
goal_planner generates a smooth path toward the goal and additionally searches for safe path and goal to execute dynamic pull_over on the road shoulders lanes following the traffic rules.
Design
If goal modification is not allowed, just park at the designated fixed goal using fixed_goal_planner.
If allowed, rough_goal_planner works to park around the vacant spots in the shoulder lanes around the goal by executing pull_over toward left or right side of the road lanes.
@startuml
package goal_planner{
class GoalPlannerModule {}
package rough_goal_planner <<Rectangle>>{
package lane_parking <<Rectangle>>{
class ShiftPullOver {}
class GeometricPullOver {}
}
package freespace_parking <<Rectangle>>{
class FreeSpacePullOver {}
}
class GoalSearcher {}
struct GoalCandidates {}
struct PullOverPath{}
abstract class PullOverPlannerBase {}
}
package fixed_goal_planner <<Rectangle>>{
abstract class FixedGoalPlannerBase {}
class DefaultFixedPlanner{}
}
}
package utils{
class PathShifter {}
class GeometricParallelParking {}
}
package freespace_planning_algorithms
{
class AstarSearch{}
class RRTStar{}
}
' goal planner
ShiftPullOver --|> PullOverPlannerBase
GeometricPullOver --|> PullOverPlannerBase
FreeSpacePullOver --|> PullOverPlannerBase
DefaultFixedPlanner --|> FixedGoalPlannerBase
PathShifter --o ShiftPullOver
GeometricParallelParking --o GeometricPullOver
AstarSearch --o FreeSpacePullOver
RRTStar --o FreeSpacePullOver
PullOverPlannerBase --o GoalPlannerModule
FixedGoalPlannerBase --o GoalPlannerModule
PullOverPath --o PullOverPlannerBase
@enduml
trigger condition
fixed_goal_planner
fixed_goal_planner just plans a smooth path to the designated goal.
NOTE: this planner does not perform the several features described below, such as “goal search”, “collision check”, “safety check”, etc.
fixed_goal_planner is used when both conditions are met.
- Route is set with
allow_goal_modification=false. This is the default. - The goal is set on
roadlanes.
If the path given to goal_planner covers the goal, fixed_goal_planner smoothly connects the goal and the path points around the goal within the radius of refine_goal_search_radius_range using spline interpolation.

rough_goal_planner
pull over on road lane
rough_goal_planner is triggered following the behavior_path_planner scene module interface namely through isExecutionRequested function and it returns true when following two conditions are met.
- The distance between the goal and ego get shorter than $\max$(
pull_over_minimum_request_length, stop distance with decel and jerk constraints).
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_path_goal_planner_module
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(goal_planner): use resampled_arc_path (#12690)
-
feat(autoware_vehicle_info_utils): refactor to use createFootprint with base_pose (#12586)
- refactor universe_utils to transform in createFootprint
- refactor mission_universe_planner to transform in createFootprint
- refactor path_optimizer to transform in createFootprint
- common-evaluator refactor createFootprint to apply base_link internally
- bpp refactor createFootprint to apply base_link internally
* bvp refactor createFootprint to apply base_link internally ---------
-
Contributors: Mehmet Emin BAŞOĞLU, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
refactor(boundary_departure_checker): deprecate legacy rule-based boundary departure checker (#12420) refactor: separate bdp
-
fix(goal_planner): prevent crash when output path is empty (#12284)
-
chore(behavior_path_planner): remove unused lanelet2_extension header (#12292) unused lanelet2_extension in bpp modules Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
feat(lanelet2_extension): replace ported lanelet2_extension utilities functions (final) (#12173) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(goal_planner): fix node dead issue (#12177) fix issue
-
refactor(planning): replace toGeomMsg/toLaneletPoint to autoware_lanelet2_utils in lane_change/goal_planner (#12080) refactor(behavior_path_planner): deprecate toLaneletPoint/toGeomPt in lane_change/goal_planner
-
feat(autoware_lanelet2_extension): replace remaining lanelet2_extension utilities functions - bpp packages (#12085)
- replace getArcCoordinates in bpp packages
- replace getArcCoordinates usage in bpp packages (2)
* replace getArcCoordinates in bpp package (3) (autoware_behavior_path_goal_planner_module)
* replace getArcCoordinates in bpp package(4) (autoware_behavior_path_start_planner_module)
- replace getLateralDistanceToClosestLanelet in bpp package
- replace getExpandedLanelet(s) in bpp package
- replace combineLaneletsShape in bpp packages
- fix wrong condition in bpp
- style(pre-commit): autofix
- remove directly dereference opt for combine_lanelet
- remove log if lanelet is empty
- bind reference to optional value for combine_lanelets_shape
- remove log and simply return outside else in get_dirty_expanded_lanelets opt
* remove .has_value in lane_change_module for consistency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| range-v3 |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_static_centerline_generator |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_path_goal_planner_module at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takumi Odashima
- Kosuke Takeuchi
- Mamoru Sobue
Authors
Goal Planner design
Purpose / Role
goal_planner generates a smooth path toward the goal and additionally searches for safe path and goal to execute dynamic pull_over on the road shoulders lanes following the traffic rules.
Design
If goal modification is not allowed, just park at the designated fixed goal using fixed_goal_planner.
If allowed, rough_goal_planner works to park around the vacant spots in the shoulder lanes around the goal by executing pull_over toward left or right side of the road lanes.
@startuml
package goal_planner{
class GoalPlannerModule {}
package rough_goal_planner <<Rectangle>>{
package lane_parking <<Rectangle>>{
class ShiftPullOver {}
class GeometricPullOver {}
}
package freespace_parking <<Rectangle>>{
class FreeSpacePullOver {}
}
class GoalSearcher {}
struct GoalCandidates {}
struct PullOverPath{}
abstract class PullOverPlannerBase {}
}
package fixed_goal_planner <<Rectangle>>{
abstract class FixedGoalPlannerBase {}
class DefaultFixedPlanner{}
}
}
package utils{
class PathShifter {}
class GeometricParallelParking {}
}
package freespace_planning_algorithms
{
class AstarSearch{}
class RRTStar{}
}
' goal planner
ShiftPullOver --|> PullOverPlannerBase
GeometricPullOver --|> PullOverPlannerBase
FreeSpacePullOver --|> PullOverPlannerBase
DefaultFixedPlanner --|> FixedGoalPlannerBase
PathShifter --o ShiftPullOver
GeometricParallelParking --o GeometricPullOver
AstarSearch --o FreeSpacePullOver
RRTStar --o FreeSpacePullOver
PullOverPlannerBase --o GoalPlannerModule
FixedGoalPlannerBase --o GoalPlannerModule
PullOverPath --o PullOverPlannerBase
@enduml
trigger condition
fixed_goal_planner
fixed_goal_planner just plans a smooth path to the designated goal.
NOTE: this planner does not perform the several features described below, such as “goal search”, “collision check”, “safety check”, etc.
fixed_goal_planner is used when both conditions are met.
- Route is set with
allow_goal_modification=false. This is the default. - The goal is set on
roadlanes.
If the path given to goal_planner covers the goal, fixed_goal_planner smoothly connects the goal and the path points around the goal within the radius of refine_goal_search_radius_range using spline interpolation.

rough_goal_planner
pull over on road lane
rough_goal_planner is triggered following the behavior_path_planner scene module interface namely through isExecutionRequested function and it returns true when following two conditions are met.
- The distance between the goal and ego get shorter than $\max$(
pull_over_minimum_request_length, stop distance with decel and jerk constraints).
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_path_goal_planner_module
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(goal_planner): use resampled_arc_path (#12690)
-
feat(autoware_vehicle_info_utils): refactor to use createFootprint with base_pose (#12586)
- refactor universe_utils to transform in createFootprint
- refactor mission_universe_planner to transform in createFootprint
- refactor path_optimizer to transform in createFootprint
- common-evaluator refactor createFootprint to apply base_link internally
- bpp refactor createFootprint to apply base_link internally
* bvp refactor createFootprint to apply base_link internally ---------
-
Contributors: Mehmet Emin BAŞOĞLU, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
refactor(boundary_departure_checker): deprecate legacy rule-based boundary departure checker (#12420) refactor: separate bdp
-
fix(goal_planner): prevent crash when output path is empty (#12284)
-
chore(behavior_path_planner): remove unused lanelet2_extension header (#12292) unused lanelet2_extension in bpp modules Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
feat(lanelet2_extension): replace ported lanelet2_extension utilities functions (final) (#12173) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(goal_planner): fix node dead issue (#12177) fix issue
-
refactor(planning): replace toGeomMsg/toLaneletPoint to autoware_lanelet2_utils in lane_change/goal_planner (#12080) refactor(behavior_path_planner): deprecate toLaneletPoint/toGeomPt in lane_change/goal_planner
-
feat(autoware_lanelet2_extension): replace remaining lanelet2_extension utilities functions - bpp packages (#12085)
- replace getArcCoordinates in bpp packages
- replace getArcCoordinates usage in bpp packages (2)
* replace getArcCoordinates in bpp package (3) (autoware_behavior_path_goal_planner_module)
* replace getArcCoordinates in bpp package(4) (autoware_behavior_path_start_planner_module)
- replace getLateralDistanceToClosestLanelet in bpp package
- replace getExpandedLanelet(s) in bpp package
- replace combineLaneletsShape in bpp packages
- fix wrong condition in bpp
- style(pre-commit): autofix
- remove directly dereference opt for combine_lanelet
- remove log if lanelet is empty
- bind reference to optional value for combine_lanelets_shape
- remove log and simply return outside else in get_dirty_expanded_lanelets opt
* remove .has_value in lane_change_module for consistency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| range-v3 |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_static_centerline_generator |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_path_goal_planner_module at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takumi Odashima
- Kosuke Takeuchi
- Mamoru Sobue
Authors
Goal Planner design
Purpose / Role
goal_planner generates a smooth path toward the goal and additionally searches for safe path and goal to execute dynamic pull_over on the road shoulders lanes following the traffic rules.
Design
If goal modification is not allowed, just park at the designated fixed goal using fixed_goal_planner.
If allowed, rough_goal_planner works to park around the vacant spots in the shoulder lanes around the goal by executing pull_over toward left or right side of the road lanes.
@startuml
package goal_planner{
class GoalPlannerModule {}
package rough_goal_planner <<Rectangle>>{
package lane_parking <<Rectangle>>{
class ShiftPullOver {}
class GeometricPullOver {}
}
package freespace_parking <<Rectangle>>{
class FreeSpacePullOver {}
}
class GoalSearcher {}
struct GoalCandidates {}
struct PullOverPath{}
abstract class PullOverPlannerBase {}
}
package fixed_goal_planner <<Rectangle>>{
abstract class FixedGoalPlannerBase {}
class DefaultFixedPlanner{}
}
}
package utils{
class PathShifter {}
class GeometricParallelParking {}
}
package freespace_planning_algorithms
{
class AstarSearch{}
class RRTStar{}
}
' goal planner
ShiftPullOver --|> PullOverPlannerBase
GeometricPullOver --|> PullOverPlannerBase
FreeSpacePullOver --|> PullOverPlannerBase
DefaultFixedPlanner --|> FixedGoalPlannerBase
PathShifter --o ShiftPullOver
GeometricParallelParking --o GeometricPullOver
AstarSearch --o FreeSpacePullOver
RRTStar --o FreeSpacePullOver
PullOverPlannerBase --o GoalPlannerModule
FixedGoalPlannerBase --o GoalPlannerModule
PullOverPath --o PullOverPlannerBase
@enduml
trigger condition
fixed_goal_planner
fixed_goal_planner just plans a smooth path to the designated goal.
NOTE: this planner does not perform the several features described below, such as “goal search”, “collision check”, “safety check”, etc.
fixed_goal_planner is used when both conditions are met.
- Route is set with
allow_goal_modification=false. This is the default. - The goal is set on
roadlanes.
If the path given to goal_planner covers the goal, fixed_goal_planner smoothly connects the goal and the path points around the goal within the radius of refine_goal_search_radius_range using spline interpolation.

rough_goal_planner
pull over on road lane
rough_goal_planner is triggered following the behavior_path_planner scene module interface namely through isExecutionRequested function and it returns true when following two conditions are met.
- The distance between the goal and ego get shorter than $\max$(
pull_over_minimum_request_length, stop distance with decel and jerk constraints).
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_path_goal_planner_module
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(goal_planner): use resampled_arc_path (#12690)
-
feat(autoware_vehicle_info_utils): refactor to use createFootprint with base_pose (#12586)
- refactor universe_utils to transform in createFootprint
- refactor mission_universe_planner to transform in createFootprint
- refactor path_optimizer to transform in createFootprint
- common-evaluator refactor createFootprint to apply base_link internally
- bpp refactor createFootprint to apply base_link internally
* bvp refactor createFootprint to apply base_link internally ---------
-
Contributors: Mehmet Emin BAŞOĞLU, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
refactor(boundary_departure_checker): deprecate legacy rule-based boundary departure checker (#12420) refactor: separate bdp
-
fix(goal_planner): prevent crash when output path is empty (#12284)
-
chore(behavior_path_planner): remove unused lanelet2_extension header (#12292) unused lanelet2_extension in bpp modules Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
feat(lanelet2_extension): replace ported lanelet2_extension utilities functions (final) (#12173) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(goal_planner): fix node dead issue (#12177) fix issue
-
refactor(planning): replace toGeomMsg/toLaneletPoint to autoware_lanelet2_utils in lane_change/goal_planner (#12080) refactor(behavior_path_planner): deprecate toLaneletPoint/toGeomPt in lane_change/goal_planner
-
feat(autoware_lanelet2_extension): replace remaining lanelet2_extension utilities functions - bpp packages (#12085)
- replace getArcCoordinates in bpp packages
- replace getArcCoordinates usage in bpp packages (2)
* replace getArcCoordinates in bpp package (3) (autoware_behavior_path_goal_planner_module)
* replace getArcCoordinates in bpp package(4) (autoware_behavior_path_start_planner_module)
- replace getLateralDistanceToClosestLanelet in bpp package
- replace getExpandedLanelet(s) in bpp package
- replace combineLaneletsShape in bpp packages
- fix wrong condition in bpp
- style(pre-commit): autofix
- remove directly dereference opt for combine_lanelet
- remove log if lanelet is empty
- bind reference to optional value for combine_lanelets_shape
- remove log and simply return outside else in get_dirty_expanded_lanelets opt
* remove .has_value in lane_change_module for consistency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| range-v3 |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_static_centerline_generator |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_path_goal_planner_module at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takumi Odashima
- Kosuke Takeuchi
- Mamoru Sobue
Authors
Goal Planner design
Purpose / Role
goal_planner generates a smooth path toward the goal and additionally searches for safe path and goal to execute dynamic pull_over on the road shoulders lanes following the traffic rules.
Design
If goal modification is not allowed, just park at the designated fixed goal using fixed_goal_planner.
If allowed, rough_goal_planner works to park around the vacant spots in the shoulder lanes around the goal by executing pull_over toward left or right side of the road lanes.
@startuml
package goal_planner{
class GoalPlannerModule {}
package rough_goal_planner <<Rectangle>>{
package lane_parking <<Rectangle>>{
class ShiftPullOver {}
class GeometricPullOver {}
}
package freespace_parking <<Rectangle>>{
class FreeSpacePullOver {}
}
class GoalSearcher {}
struct GoalCandidates {}
struct PullOverPath{}
abstract class PullOverPlannerBase {}
}
package fixed_goal_planner <<Rectangle>>{
abstract class FixedGoalPlannerBase {}
class DefaultFixedPlanner{}
}
}
package utils{
class PathShifter {}
class GeometricParallelParking {}
}
package freespace_planning_algorithms
{
class AstarSearch{}
class RRTStar{}
}
' goal planner
ShiftPullOver --|> PullOverPlannerBase
GeometricPullOver --|> PullOverPlannerBase
FreeSpacePullOver --|> PullOverPlannerBase
DefaultFixedPlanner --|> FixedGoalPlannerBase
PathShifter --o ShiftPullOver
GeometricParallelParking --o GeometricPullOver
AstarSearch --o FreeSpacePullOver
RRTStar --o FreeSpacePullOver
PullOverPlannerBase --o GoalPlannerModule
FixedGoalPlannerBase --o GoalPlannerModule
PullOverPath --o PullOverPlannerBase
@enduml
trigger condition
fixed_goal_planner
fixed_goal_planner just plans a smooth path to the designated goal.
NOTE: this planner does not perform the several features described below, such as “goal search”, “collision check”, “safety check”, etc.
fixed_goal_planner is used when both conditions are met.
- Route is set with
allow_goal_modification=false. This is the default. - The goal is set on
roadlanes.
If the path given to goal_planner covers the goal, fixed_goal_planner smoothly connects the goal and the path points around the goal within the radius of refine_goal_search_radius_range using spline interpolation.

rough_goal_planner
pull over on road lane
rough_goal_planner is triggered following the behavior_path_planner scene module interface namely through isExecutionRequested function and it returns true when following two conditions are met.
- The distance between the goal and ego get shorter than $\max$(
pull_over_minimum_request_length, stop distance with decel and jerk constraints).
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_path_goal_planner_module
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(goal_planner): use resampled_arc_path (#12690)
-
feat(autoware_vehicle_info_utils): refactor to use createFootprint with base_pose (#12586)
- refactor universe_utils to transform in createFootprint
- refactor mission_universe_planner to transform in createFootprint
- refactor path_optimizer to transform in createFootprint
- common-evaluator refactor createFootprint to apply base_link internally
- bpp refactor createFootprint to apply base_link internally
* bvp refactor createFootprint to apply base_link internally ---------
-
Contributors: Mehmet Emin BAŞOĞLU, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
refactor(boundary_departure_checker): deprecate legacy rule-based boundary departure checker (#12420) refactor: separate bdp
-
fix(goal_planner): prevent crash when output path is empty (#12284)
-
chore(behavior_path_planner): remove unused lanelet2_extension header (#12292) unused lanelet2_extension in bpp modules Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
feat(lanelet2_extension): replace ported lanelet2_extension utilities functions (final) (#12173) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(goal_planner): fix node dead issue (#12177) fix issue
-
refactor(planning): replace toGeomMsg/toLaneletPoint to autoware_lanelet2_utils in lane_change/goal_planner (#12080) refactor(behavior_path_planner): deprecate toLaneletPoint/toGeomPt in lane_change/goal_planner
-
feat(autoware_lanelet2_extension): replace remaining lanelet2_extension utilities functions - bpp packages (#12085)
- replace getArcCoordinates in bpp packages
- replace getArcCoordinates usage in bpp packages (2)
* replace getArcCoordinates in bpp package (3) (autoware_behavior_path_goal_planner_module)
* replace getArcCoordinates in bpp package(4) (autoware_behavior_path_start_planner_module)
- replace getLateralDistanceToClosestLanelet in bpp package
- replace getExpandedLanelet(s) in bpp package
- replace combineLaneletsShape in bpp packages
- fix wrong condition in bpp
- style(pre-commit): autofix
- remove directly dereference opt for combine_lanelet
- remove log if lanelet is empty
- bind reference to optional value for combine_lanelets_shape
- remove log and simply return outside else in get_dirty_expanded_lanelets opt
* remove .has_value in lane_change_module for consistency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| range-v3 |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_static_centerline_generator |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_path_goal_planner_module at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takumi Odashima
- Kosuke Takeuchi
- Mamoru Sobue
Authors
Goal Planner design
Purpose / Role
goal_planner generates a smooth path toward the goal and additionally searches for safe path and goal to execute dynamic pull_over on the road shoulders lanes following the traffic rules.
Design
If goal modification is not allowed, just park at the designated fixed goal using fixed_goal_planner.
If allowed, rough_goal_planner works to park around the vacant spots in the shoulder lanes around the goal by executing pull_over toward left or right side of the road lanes.
@startuml
package goal_planner{
class GoalPlannerModule {}
package rough_goal_planner <<Rectangle>>{
package lane_parking <<Rectangle>>{
class ShiftPullOver {}
class GeometricPullOver {}
}
package freespace_parking <<Rectangle>>{
class FreeSpacePullOver {}
}
class GoalSearcher {}
struct GoalCandidates {}
struct PullOverPath{}
abstract class PullOverPlannerBase {}
}
package fixed_goal_planner <<Rectangle>>{
abstract class FixedGoalPlannerBase {}
class DefaultFixedPlanner{}
}
}
package utils{
class PathShifter {}
class GeometricParallelParking {}
}
package freespace_planning_algorithms
{
class AstarSearch{}
class RRTStar{}
}
' goal planner
ShiftPullOver --|> PullOverPlannerBase
GeometricPullOver --|> PullOverPlannerBase
FreeSpacePullOver --|> PullOverPlannerBase
DefaultFixedPlanner --|> FixedGoalPlannerBase
PathShifter --o ShiftPullOver
GeometricParallelParking --o GeometricPullOver
AstarSearch --o FreeSpacePullOver
RRTStar --o FreeSpacePullOver
PullOverPlannerBase --o GoalPlannerModule
FixedGoalPlannerBase --o GoalPlannerModule
PullOverPath --o PullOverPlannerBase
@enduml
trigger condition
fixed_goal_planner
fixed_goal_planner just plans a smooth path to the designated goal.
NOTE: this planner does not perform the several features described below, such as “goal search”, “collision check”, “safety check”, etc.
fixed_goal_planner is used when both conditions are met.
- Route is set with
allow_goal_modification=false. This is the default. - The goal is set on
roadlanes.
If the path given to goal_planner covers the goal, fixed_goal_planner smoothly connects the goal and the path points around the goal within the radius of refine_goal_search_radius_range using spline interpolation.

rough_goal_planner
pull over on road lane
rough_goal_planner is triggered following the behavior_path_planner scene module interface namely through isExecutionRequested function and it returns true when following two conditions are met.
- The distance between the goal and ego get shorter than $\max$(
pull_over_minimum_request_length, stop distance with decel and jerk constraints).
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_path_goal_planner_module
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(goal_planner): use resampled_arc_path (#12690)
-
feat(autoware_vehicle_info_utils): refactor to use createFootprint with base_pose (#12586)
- refactor universe_utils to transform in createFootprint
- refactor mission_universe_planner to transform in createFootprint
- refactor path_optimizer to transform in createFootprint
- common-evaluator refactor createFootprint to apply base_link internally
- bpp refactor createFootprint to apply base_link internally
* bvp refactor createFootprint to apply base_link internally ---------
-
Contributors: Mehmet Emin BAŞOĞLU, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
refactor(boundary_departure_checker): deprecate legacy rule-based boundary departure checker (#12420) refactor: separate bdp
-
fix(goal_planner): prevent crash when output path is empty (#12284)
-
chore(behavior_path_planner): remove unused lanelet2_extension header (#12292) unused lanelet2_extension in bpp modules Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
feat(lanelet2_extension): replace ported lanelet2_extension utilities functions (final) (#12173) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(goal_planner): fix node dead issue (#12177) fix issue
-
refactor(planning): replace toGeomMsg/toLaneletPoint to autoware_lanelet2_utils in lane_change/goal_planner (#12080) refactor(behavior_path_planner): deprecate toLaneletPoint/toGeomPt in lane_change/goal_planner
-
feat(autoware_lanelet2_extension): replace remaining lanelet2_extension utilities functions - bpp packages (#12085)
- replace getArcCoordinates in bpp packages
- replace getArcCoordinates usage in bpp packages (2)
* replace getArcCoordinates in bpp package (3) (autoware_behavior_path_goal_planner_module)
* replace getArcCoordinates in bpp package(4) (autoware_behavior_path_start_planner_module)
- replace getLateralDistanceToClosestLanelet in bpp package
- replace getExpandedLanelet(s) in bpp package
- replace combineLaneletsShape in bpp packages
- fix wrong condition in bpp
- style(pre-commit): autofix
- remove directly dereference opt for combine_lanelet
- remove log if lanelet is empty
- bind reference to optional value for combine_lanelets_shape
- remove log and simply return outside else in get_dirty_expanded_lanelets opt
* remove .has_value in lane_change_module for consistency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| range-v3 |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_static_centerline_generator |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_path_goal_planner_module at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takumi Odashima
- Kosuke Takeuchi
- Mamoru Sobue
Authors
Goal Planner design
Purpose / Role
goal_planner generates a smooth path toward the goal and additionally searches for safe path and goal to execute dynamic pull_over on the road shoulders lanes following the traffic rules.
Design
If goal modification is not allowed, just park at the designated fixed goal using fixed_goal_planner.
If allowed, rough_goal_planner works to park around the vacant spots in the shoulder lanes around the goal by executing pull_over toward left or right side of the road lanes.
@startuml
package goal_planner{
class GoalPlannerModule {}
package rough_goal_planner <<Rectangle>>{
package lane_parking <<Rectangle>>{
class ShiftPullOver {}
class GeometricPullOver {}
}
package freespace_parking <<Rectangle>>{
class FreeSpacePullOver {}
}
class GoalSearcher {}
struct GoalCandidates {}
struct PullOverPath{}
abstract class PullOverPlannerBase {}
}
package fixed_goal_planner <<Rectangle>>{
abstract class FixedGoalPlannerBase {}
class DefaultFixedPlanner{}
}
}
package utils{
class PathShifter {}
class GeometricParallelParking {}
}
package freespace_planning_algorithms
{
class AstarSearch{}
class RRTStar{}
}
' goal planner
ShiftPullOver --|> PullOverPlannerBase
GeometricPullOver --|> PullOverPlannerBase
FreeSpacePullOver --|> PullOverPlannerBase
DefaultFixedPlanner --|> FixedGoalPlannerBase
PathShifter --o ShiftPullOver
GeometricParallelParking --o GeometricPullOver
AstarSearch --o FreeSpacePullOver
RRTStar --o FreeSpacePullOver
PullOverPlannerBase --o GoalPlannerModule
FixedGoalPlannerBase --o GoalPlannerModule
PullOverPath --o PullOverPlannerBase
@enduml
trigger condition
fixed_goal_planner
fixed_goal_planner just plans a smooth path to the designated goal.
NOTE: this planner does not perform the several features described below, such as “goal search”, “collision check”, “safety check”, etc.
fixed_goal_planner is used when both conditions are met.
- Route is set with
allow_goal_modification=false. This is the default. - The goal is set on
roadlanes.
If the path given to goal_planner covers the goal, fixed_goal_planner smoothly connects the goal and the path points around the goal within the radius of refine_goal_search_radius_range using spline interpolation.

rough_goal_planner
pull over on road lane
rough_goal_planner is triggered following the behavior_path_planner scene module interface namely through isExecutionRequested function and it returns true when following two conditions are met.
- The distance between the goal and ego get shorter than $\max$(
pull_over_minimum_request_length, stop distance with decel and jerk constraints).
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_path_goal_planner_module
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(goal_planner): use resampled_arc_path (#12690)
-
feat(autoware_vehicle_info_utils): refactor to use createFootprint with base_pose (#12586)
- refactor universe_utils to transform in createFootprint
- refactor mission_universe_planner to transform in createFootprint
- refactor path_optimizer to transform in createFootprint
- common-evaluator refactor createFootprint to apply base_link internally
- bpp refactor createFootprint to apply base_link internally
* bvp refactor createFootprint to apply base_link internally ---------
-
Contributors: Mehmet Emin BAŞOĞLU, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
refactor(boundary_departure_checker): deprecate legacy rule-based boundary departure checker (#12420) refactor: separate bdp
-
fix(goal_planner): prevent crash when output path is empty (#12284)
-
chore(behavior_path_planner): remove unused lanelet2_extension header (#12292) unused lanelet2_extension in bpp modules Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
feat(lanelet2_extension): replace ported lanelet2_extension utilities functions (final) (#12173) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(goal_planner): fix node dead issue (#12177) fix issue
-
refactor(planning): replace toGeomMsg/toLaneletPoint to autoware_lanelet2_utils in lane_change/goal_planner (#12080) refactor(behavior_path_planner): deprecate toLaneletPoint/toGeomPt in lane_change/goal_planner
-
feat(autoware_lanelet2_extension): replace remaining lanelet2_extension utilities functions - bpp packages (#12085)
- replace getArcCoordinates in bpp packages
- replace getArcCoordinates usage in bpp packages (2)
* replace getArcCoordinates in bpp package (3) (autoware_behavior_path_goal_planner_module)
* replace getArcCoordinates in bpp package(4) (autoware_behavior_path_start_planner_module)
- replace getLateralDistanceToClosestLanelet in bpp package
- replace getExpandedLanelet(s) in bpp package
- replace combineLaneletsShape in bpp packages
- fix wrong condition in bpp
- style(pre-commit): autofix
- remove directly dereference opt for combine_lanelet
- remove log if lanelet is empty
- bind reference to optional value for combine_lanelets_shape
- remove log and simply return outside else in get_dirty_expanded_lanelets opt
* remove .has_value in lane_change_module for consistency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| range-v3 |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_static_centerline_generator |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_path_goal_planner_module at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takumi Odashima
- Kosuke Takeuchi
- Mamoru Sobue
Authors
Goal Planner design
Purpose / Role
goal_planner generates a smooth path toward the goal and additionally searches for safe path and goal to execute dynamic pull_over on the road shoulders lanes following the traffic rules.
Design
If goal modification is not allowed, just park at the designated fixed goal using fixed_goal_planner.
If allowed, rough_goal_planner works to park around the vacant spots in the shoulder lanes around the goal by executing pull_over toward left or right side of the road lanes.
@startuml
package goal_planner{
class GoalPlannerModule {}
package rough_goal_planner <<Rectangle>>{
package lane_parking <<Rectangle>>{
class ShiftPullOver {}
class GeometricPullOver {}
}
package freespace_parking <<Rectangle>>{
class FreeSpacePullOver {}
}
class GoalSearcher {}
struct GoalCandidates {}
struct PullOverPath{}
abstract class PullOverPlannerBase {}
}
package fixed_goal_planner <<Rectangle>>{
abstract class FixedGoalPlannerBase {}
class DefaultFixedPlanner{}
}
}
package utils{
class PathShifter {}
class GeometricParallelParking {}
}
package freespace_planning_algorithms
{
class AstarSearch{}
class RRTStar{}
}
' goal planner
ShiftPullOver --|> PullOverPlannerBase
GeometricPullOver --|> PullOverPlannerBase
FreeSpacePullOver --|> PullOverPlannerBase
DefaultFixedPlanner --|> FixedGoalPlannerBase
PathShifter --o ShiftPullOver
GeometricParallelParking --o GeometricPullOver
AstarSearch --o FreeSpacePullOver
RRTStar --o FreeSpacePullOver
PullOverPlannerBase --o GoalPlannerModule
FixedGoalPlannerBase --o GoalPlannerModule
PullOverPath --o PullOverPlannerBase
@enduml
trigger condition
fixed_goal_planner
fixed_goal_planner just plans a smooth path to the designated goal.
NOTE: this planner does not perform the several features described below, such as “goal search”, “collision check”, “safety check”, etc.
fixed_goal_planner is used when both conditions are met.
- Route is set with
allow_goal_modification=false. This is the default. - The goal is set on
roadlanes.
If the path given to goal_planner covers the goal, fixed_goal_planner smoothly connects the goal and the path points around the goal within the radius of refine_goal_search_radius_range using spline interpolation.

rough_goal_planner
pull over on road lane
rough_goal_planner is triggered following the behavior_path_planner scene module interface namely through isExecutionRequested function and it returns true when following two conditions are met.
- The distance between the goal and ego get shorter than $\max$(
pull_over_minimum_request_length, stop distance with decel and jerk constraints).
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_path_goal_planner_module
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(goal_planner): use resampled_arc_path (#12690)
-
feat(autoware_vehicle_info_utils): refactor to use createFootprint with base_pose (#12586)
- refactor universe_utils to transform in createFootprint
- refactor mission_universe_planner to transform in createFootprint
- refactor path_optimizer to transform in createFootprint
- common-evaluator refactor createFootprint to apply base_link internally
- bpp refactor createFootprint to apply base_link internally
* bvp refactor createFootprint to apply base_link internally ---------
-
Contributors: Mehmet Emin BAŞOĞLU, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
refactor(boundary_departure_checker): deprecate legacy rule-based boundary departure checker (#12420) refactor: separate bdp
-
fix(goal_planner): prevent crash when output path is empty (#12284)
-
chore(behavior_path_planner): remove unused lanelet2_extension header (#12292) unused lanelet2_extension in bpp modules Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
feat(lanelet2_extension): replace ported lanelet2_extension utilities functions (final) (#12173) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(goal_planner): fix node dead issue (#12177) fix issue
-
refactor(planning): replace toGeomMsg/toLaneletPoint to autoware_lanelet2_utils in lane_change/goal_planner (#12080) refactor(behavior_path_planner): deprecate toLaneletPoint/toGeomPt in lane_change/goal_planner
-
feat(autoware_lanelet2_extension): replace remaining lanelet2_extension utilities functions - bpp packages (#12085)
- replace getArcCoordinates in bpp packages
- replace getArcCoordinates usage in bpp packages (2)
* replace getArcCoordinates in bpp package (3) (autoware_behavior_path_goal_planner_module)
* replace getArcCoordinates in bpp package(4) (autoware_behavior_path_start_planner_module)
- replace getLateralDistanceToClosestLanelet in bpp package
- replace getExpandedLanelet(s) in bpp package
- replace combineLaneletsShape in bpp packages
- fix wrong condition in bpp
- style(pre-commit): autofix
- remove directly dereference opt for combine_lanelet
- remove log if lanelet is empty
- bind reference to optional value for combine_lanelets_shape
- remove log and simply return outside else in get_dirty_expanded_lanelets opt
* remove .has_value in lane_change_module for consistency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| range-v3 |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_static_centerline_generator |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_path_goal_planner_module at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takumi Odashima
- Kosuke Takeuchi
- Mamoru Sobue
Authors
Goal Planner design
Purpose / Role
goal_planner generates a smooth path toward the goal and additionally searches for safe path and goal to execute dynamic pull_over on the road shoulders lanes following the traffic rules.
Design
If goal modification is not allowed, just park at the designated fixed goal using fixed_goal_planner.
If allowed, rough_goal_planner works to park around the vacant spots in the shoulder lanes around the goal by executing pull_over toward left or right side of the road lanes.
@startuml
package goal_planner{
class GoalPlannerModule {}
package rough_goal_planner <<Rectangle>>{
package lane_parking <<Rectangle>>{
class ShiftPullOver {}
class GeometricPullOver {}
}
package freespace_parking <<Rectangle>>{
class FreeSpacePullOver {}
}
class GoalSearcher {}
struct GoalCandidates {}
struct PullOverPath{}
abstract class PullOverPlannerBase {}
}
package fixed_goal_planner <<Rectangle>>{
abstract class FixedGoalPlannerBase {}
class DefaultFixedPlanner{}
}
}
package utils{
class PathShifter {}
class GeometricParallelParking {}
}
package freespace_planning_algorithms
{
class AstarSearch{}
class RRTStar{}
}
' goal planner
ShiftPullOver --|> PullOverPlannerBase
GeometricPullOver --|> PullOverPlannerBase
FreeSpacePullOver --|> PullOverPlannerBase
DefaultFixedPlanner --|> FixedGoalPlannerBase
PathShifter --o ShiftPullOver
GeometricParallelParking --o GeometricPullOver
AstarSearch --o FreeSpacePullOver
RRTStar --o FreeSpacePullOver
PullOverPlannerBase --o GoalPlannerModule
FixedGoalPlannerBase --o GoalPlannerModule
PullOverPath --o PullOverPlannerBase
@enduml
trigger condition
fixed_goal_planner
fixed_goal_planner just plans a smooth path to the designated goal.
NOTE: this planner does not perform the several features described below, such as “goal search”, “collision check”, “safety check”, etc.
fixed_goal_planner is used when both conditions are met.
- Route is set with
allow_goal_modification=false. This is the default. - The goal is set on
roadlanes.
If the path given to goal_planner covers the goal, fixed_goal_planner smoothly connects the goal and the path points around the goal within the radius of refine_goal_search_radius_range using spline interpolation.

rough_goal_planner
pull over on road lane
rough_goal_planner is triggered following the behavior_path_planner scene module interface namely through isExecutionRequested function and it returns true when following two conditions are met.
- The distance between the goal and ego get shorter than $\max$(
pull_over_minimum_request_length, stop distance with decel and jerk constraints).
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_path_goal_planner_module
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(goal_planner): use resampled_arc_path (#12690)
-
feat(autoware_vehicle_info_utils): refactor to use createFootprint with base_pose (#12586)
- refactor universe_utils to transform in createFootprint
- refactor mission_universe_planner to transform in createFootprint
- refactor path_optimizer to transform in createFootprint
- common-evaluator refactor createFootprint to apply base_link internally
- bpp refactor createFootprint to apply base_link internally
* bvp refactor createFootprint to apply base_link internally ---------
-
Contributors: Mehmet Emin BAŞOĞLU, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
refactor(boundary_departure_checker): deprecate legacy rule-based boundary departure checker (#12420) refactor: separate bdp
-
fix(goal_planner): prevent crash when output path is empty (#12284)
-
chore(behavior_path_planner): remove unused lanelet2_extension header (#12292) unused lanelet2_extension in bpp modules Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
feat(lanelet2_extension): replace ported lanelet2_extension utilities functions (final) (#12173) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(goal_planner): fix node dead issue (#12177) fix issue
-
refactor(planning): replace toGeomMsg/toLaneletPoint to autoware_lanelet2_utils in lane_change/goal_planner (#12080) refactor(behavior_path_planner): deprecate toLaneletPoint/toGeomPt in lane_change/goal_planner
-
feat(autoware_lanelet2_extension): replace remaining lanelet2_extension utilities functions - bpp packages (#12085)
- replace getArcCoordinates in bpp packages
- replace getArcCoordinates usage in bpp packages (2)
* replace getArcCoordinates in bpp package (3) (autoware_behavior_path_goal_planner_module)
* replace getArcCoordinates in bpp package(4) (autoware_behavior_path_start_planner_module)
- replace getLateralDistanceToClosestLanelet in bpp package
- replace getExpandedLanelet(s) in bpp package
- replace combineLaneletsShape in bpp packages
- fix wrong condition in bpp
- style(pre-commit): autofix
- remove directly dereference opt for combine_lanelet
- remove log if lanelet is empty
- bind reference to optional value for combine_lanelets_shape
- remove log and simply return outside else in get_dirty_expanded_lanelets opt
* remove .has_value in lane_change_module for consistency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| range-v3 |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_static_centerline_generator |
Launch files
Messages
Services
Plugins
Recent questions tagged autoware_behavior_path_goal_planner_module at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Takumi Odashima
- Kosuke Takeuchi
- Mamoru Sobue
Authors
Goal Planner design
Purpose / Role
goal_planner generates a smooth path toward the goal and additionally searches for safe path and goal to execute dynamic pull_over on the road shoulders lanes following the traffic rules.
Design
If goal modification is not allowed, just park at the designated fixed goal using fixed_goal_planner.
If allowed, rough_goal_planner works to park around the vacant spots in the shoulder lanes around the goal by executing pull_over toward left or right side of the road lanes.
@startuml
package goal_planner{
class GoalPlannerModule {}
package rough_goal_planner <<Rectangle>>{
package lane_parking <<Rectangle>>{
class ShiftPullOver {}
class GeometricPullOver {}
}
package freespace_parking <<Rectangle>>{
class FreeSpacePullOver {}
}
class GoalSearcher {}
struct GoalCandidates {}
struct PullOverPath{}
abstract class PullOverPlannerBase {}
}
package fixed_goal_planner <<Rectangle>>{
abstract class FixedGoalPlannerBase {}
class DefaultFixedPlanner{}
}
}
package utils{
class PathShifter {}
class GeometricParallelParking {}
}
package freespace_planning_algorithms
{
class AstarSearch{}
class RRTStar{}
}
' goal planner
ShiftPullOver --|> PullOverPlannerBase
GeometricPullOver --|> PullOverPlannerBase
FreeSpacePullOver --|> PullOverPlannerBase
DefaultFixedPlanner --|> FixedGoalPlannerBase
PathShifter --o ShiftPullOver
GeometricParallelParking --o GeometricPullOver
AstarSearch --o FreeSpacePullOver
RRTStar --o FreeSpacePullOver
PullOverPlannerBase --o GoalPlannerModule
FixedGoalPlannerBase --o GoalPlannerModule
PullOverPath --o PullOverPlannerBase
@enduml
trigger condition
fixed_goal_planner
fixed_goal_planner just plans a smooth path to the designated goal.
NOTE: this planner does not perform the several features described below, such as “goal search”, “collision check”, “safety check”, etc.
fixed_goal_planner is used when both conditions are met.
- Route is set with
allow_goal_modification=false. This is the default. - The goal is set on
roadlanes.
If the path given to goal_planner covers the goal, fixed_goal_planner smoothly connects the goal and the path points around the goal within the radius of refine_goal_search_radius_range using spline interpolation.

rough_goal_planner
pull over on road lane
rough_goal_planner is triggered following the behavior_path_planner scene module interface namely through isExecutionRequested function and it returns true when following two conditions are met.
- The distance between the goal and ego get shorter than $\max$(
pull_over_minimum_request_length, stop distance with decel and jerk constraints).
File truncated at 100 lines see the full file
Changelog for package autoware_behavior_path_goal_planner_module
0.53.0 (2026-09-29)
-
Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
-
chore(pre-commit): update clang-format to v22.1.5 (#13126)
- chore(pre-commit): update clang-format to v22.1.5
* style(pre-commit): autofix ---------
-
Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(goal_planner): use resampled_arc_path (#12690)
-
feat(autoware_vehicle_info_utils): refactor to use createFootprint with base_pose (#12586)
- refactor universe_utils to transform in createFootprint
- refactor mission_universe_planner to transform in createFootprint
- refactor path_optimizer to transform in createFootprint
- common-evaluator refactor createFootprint to apply base_link internally
- bpp refactor createFootprint to apply base_link internally
* bvp refactor createFootprint to apply base_link internally ---------
-
Contributors: Mehmet Emin BAŞOĞLU, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
refactor(boundary_departure_checker): deprecate legacy rule-based boundary departure checker (#12420) refactor: separate bdp
-
fix(goal_planner): prevent crash when output path is empty (#12284)
-
chore(behavior_path_planner): remove unused lanelet2_extension header (#12292) unused lanelet2_extension in bpp modules Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
feat(lanelet2_extension): replace ported lanelet2_extension utilities functions (final) (#12173) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(goal_planner): fix node dead issue (#12177) fix issue
-
refactor(planning): replace toGeomMsg/toLaneletPoint to autoware_lanelet2_utils in lane_change/goal_planner (#12080) refactor(behavior_path_planner): deprecate toLaneletPoint/toGeomPt in lane_change/goal_planner
-
feat(autoware_lanelet2_extension): replace remaining lanelet2_extension utilities functions - bpp packages (#12085)
- replace getArcCoordinates in bpp packages
- replace getArcCoordinates usage in bpp packages (2)
* replace getArcCoordinates in bpp package (3) (autoware_behavior_path_goal_planner_module)
* replace getArcCoordinates in bpp package(4) (autoware_behavior_path_start_planner_module)
- replace getLateralDistanceToClosestLanelet in bpp package
- replace getExpandedLanelet(s) in bpp package
- replace combineLaneletsShape in bpp packages
- fix wrong condition in bpp
- style(pre-commit): autofix
- remove directly dereference opt for combine_lanelet
- remove log if lanelet is empty
- bind reference to optional value for combine_lanelets_shape
- remove log and simply return outside else in get_dirty_expanded_lanelets opt
* remove .has_value in lane_change_module for consistency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| range-v3 |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_static_centerline_generator |