Package Summary
| Version | 0.50.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-02-25 |
| 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.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- refactor(goal_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet (#11993) refactor(start_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet
- docs(goal_planner): use same terminology from bpp main docs (#11868)
- docs(goal_planner): document revision (#11843)
- Contributors: Mamoru Sobue, Ryohsuke Mitsudome, Zulfaqar Azmi
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Planning and Control Component) (#11784)
- planning component toBinMsg replacement
- control component fromBinMsg replacement
* planning component fromBinMsg replacement ---------
-
chore(goal_planner): change bezier parking parameters in default config (#11698)
-
feat(goal_planner): filter out bezier path with high curvature near start pose (#11693) feat(goal_planner): fiter bezier path with high curvature near start pose
-
Contributors: Kosuke Takeuchi, Ryohsuke Mitsudome, Sarun MUKDAPITAK
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_lanelet2_utils): replace ported functions from autoware_lanelet2_extension (#11593) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
fix(goal_planner): fix bezier path first yaw angle (#11601)
-
fix(goal_planner): prevent out_of_range crashes with bounds checking (#11580)
-
fix(goal_planner): hasPreviousModulePathShapeChanged die (#11579)
-
fix(goal_planner): failed to generate candidate paths when entering another lane for avoidance (#11560)
-
feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker (#11519)
- feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker
- fix default value in readme
- Update readme
* update parameter description ---------
-
fix(goal_planner): fix iterator bug (#11551)
-
fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11544)
- fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11508)
- feat(goal_planner): enhance goal refinement with route handler integration
- Updated [set_goal]{.title-ref} and [refinePathForGoal]{.title-ref} functions to include a [route_handler]{.title-ref} parameter for improved path refinement.
- Introduced utility functions to fill lane IDs and longitudinal velocities based on the input path.
- Removed redundant lane ID filling logic to streamline goal setting process. This change aims to enhance the accuracy of goal positioning and path planning by leveraging route information.
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.50.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-02-25 |
| 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.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- refactor(goal_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet (#11993) refactor(start_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet
- docs(goal_planner): use same terminology from bpp main docs (#11868)
- docs(goal_planner): document revision (#11843)
- Contributors: Mamoru Sobue, Ryohsuke Mitsudome, Zulfaqar Azmi
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Planning and Control Component) (#11784)
- planning component toBinMsg replacement
- control component fromBinMsg replacement
* planning component fromBinMsg replacement ---------
-
chore(goal_planner): change bezier parking parameters in default config (#11698)
-
feat(goal_planner): filter out bezier path with high curvature near start pose (#11693) feat(goal_planner): fiter bezier path with high curvature near start pose
-
Contributors: Kosuke Takeuchi, Ryohsuke Mitsudome, Sarun MUKDAPITAK
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_lanelet2_utils): replace ported functions from autoware_lanelet2_extension (#11593) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
fix(goal_planner): fix bezier path first yaw angle (#11601)
-
fix(goal_planner): prevent out_of_range crashes with bounds checking (#11580)
-
fix(goal_planner): hasPreviousModulePathShapeChanged die (#11579)
-
fix(goal_planner): failed to generate candidate paths when entering another lane for avoidance (#11560)
-
feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker (#11519)
- feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker
- fix default value in readme
- Update readme
* update parameter description ---------
-
fix(goal_planner): fix iterator bug (#11551)
-
fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11544)
- fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11508)
- feat(goal_planner): enhance goal refinement with route handler integration
- Updated [set_goal]{.title-ref} and [refinePathForGoal]{.title-ref} functions to include a [route_handler]{.title-ref} parameter for improved path refinement.
- Introduced utility functions to fill lane IDs and longitudinal velocities based on the input path.
- Removed redundant lane ID filling logic to streamline goal setting process. This change aims to enhance the accuracy of goal positioning and path planning by leveraging route information.
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.50.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-02-25 |
| 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.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- refactor(goal_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet (#11993) refactor(start_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet
- docs(goal_planner): use same terminology from bpp main docs (#11868)
- docs(goal_planner): document revision (#11843)
- Contributors: Mamoru Sobue, Ryohsuke Mitsudome, Zulfaqar Azmi
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Planning and Control Component) (#11784)
- planning component toBinMsg replacement
- control component fromBinMsg replacement
* planning component fromBinMsg replacement ---------
-
chore(goal_planner): change bezier parking parameters in default config (#11698)
-
feat(goal_planner): filter out bezier path with high curvature near start pose (#11693) feat(goal_planner): fiter bezier path with high curvature near start pose
-
Contributors: Kosuke Takeuchi, Ryohsuke Mitsudome, Sarun MUKDAPITAK
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_lanelet2_utils): replace ported functions from autoware_lanelet2_extension (#11593) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
fix(goal_planner): fix bezier path first yaw angle (#11601)
-
fix(goal_planner): prevent out_of_range crashes with bounds checking (#11580)
-
fix(goal_planner): hasPreviousModulePathShapeChanged die (#11579)
-
fix(goal_planner): failed to generate candidate paths when entering another lane for avoidance (#11560)
-
feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker (#11519)
- feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker
- fix default value in readme
- Update readme
* update parameter description ---------
-
fix(goal_planner): fix iterator bug (#11551)
-
fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11544)
- fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11508)
- feat(goal_planner): enhance goal refinement with route handler integration
- Updated [set_goal]{.title-ref} and [refinePathForGoal]{.title-ref} functions to include a [route_handler]{.title-ref} parameter for improved path refinement.
- Introduced utility functions to fill lane IDs and longitudinal velocities based on the input path.
- Removed redundant lane ID filling logic to streamline goal setting process. This change aims to enhance the accuracy of goal positioning and path planning by leveraging route information.
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.50.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-02-25 |
| 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.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- refactor(goal_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet (#11993) refactor(start_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet
- docs(goal_planner): use same terminology from bpp main docs (#11868)
- docs(goal_planner): document revision (#11843)
- Contributors: Mamoru Sobue, Ryohsuke Mitsudome, Zulfaqar Azmi
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Planning and Control Component) (#11784)
- planning component toBinMsg replacement
- control component fromBinMsg replacement
* planning component fromBinMsg replacement ---------
-
chore(goal_planner): change bezier parking parameters in default config (#11698)
-
feat(goal_planner): filter out bezier path with high curvature near start pose (#11693) feat(goal_planner): fiter bezier path with high curvature near start pose
-
Contributors: Kosuke Takeuchi, Ryohsuke Mitsudome, Sarun MUKDAPITAK
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_lanelet2_utils): replace ported functions from autoware_lanelet2_extension (#11593) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
fix(goal_planner): fix bezier path first yaw angle (#11601)
-
fix(goal_planner): prevent out_of_range crashes with bounds checking (#11580)
-
fix(goal_planner): hasPreviousModulePathShapeChanged die (#11579)
-
fix(goal_planner): failed to generate candidate paths when entering another lane for avoidance (#11560)
-
feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker (#11519)
- feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker
- fix default value in readme
- Update readme
* update parameter description ---------
-
fix(goal_planner): fix iterator bug (#11551)
-
fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11544)
- fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11508)
- feat(goal_planner): enhance goal refinement with route handler integration
- Updated [set_goal]{.title-ref} and [refinePathForGoal]{.title-ref} functions to include a [route_handler]{.title-ref} parameter for improved path refinement.
- Introduced utility functions to fill lane IDs and longitudinal velocities based on the input path.
- Removed redundant lane ID filling logic to streamline goal setting process. This change aims to enhance the accuracy of goal positioning and path planning by leveraging route information.
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.50.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-02-25 |
| 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.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- refactor(goal_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet (#11993) refactor(start_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet
- docs(goal_planner): use same terminology from bpp main docs (#11868)
- docs(goal_planner): document revision (#11843)
- Contributors: Mamoru Sobue, Ryohsuke Mitsudome, Zulfaqar Azmi
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Planning and Control Component) (#11784)
- planning component toBinMsg replacement
- control component fromBinMsg replacement
* planning component fromBinMsg replacement ---------
-
chore(goal_planner): change bezier parking parameters in default config (#11698)
-
feat(goal_planner): filter out bezier path with high curvature near start pose (#11693) feat(goal_planner): fiter bezier path with high curvature near start pose
-
Contributors: Kosuke Takeuchi, Ryohsuke Mitsudome, Sarun MUKDAPITAK
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_lanelet2_utils): replace ported functions from autoware_lanelet2_extension (#11593) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
fix(goal_planner): fix bezier path first yaw angle (#11601)
-
fix(goal_planner): prevent out_of_range crashes with bounds checking (#11580)
-
fix(goal_planner): hasPreviousModulePathShapeChanged die (#11579)
-
fix(goal_planner): failed to generate candidate paths when entering another lane for avoidance (#11560)
-
feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker (#11519)
- feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker
- fix default value in readme
- Update readme
* update parameter description ---------
-
fix(goal_planner): fix iterator bug (#11551)
-
fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11544)
- fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11508)
- feat(goal_planner): enhance goal refinement with route handler integration
- Updated [set_goal]{.title-ref} and [refinePathForGoal]{.title-ref} functions to include a [route_handler]{.title-ref} parameter for improved path refinement.
- Introduced utility functions to fill lane IDs and longitudinal velocities based on the input path.
- Removed redundant lane ID filling logic to streamline goal setting process. This change aims to enhance the accuracy of goal positioning and path planning by leveraging route information.
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.50.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-02-25 |
| 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.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- refactor(goal_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet (#11993) refactor(start_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet
- docs(goal_planner): use same terminology from bpp main docs (#11868)
- docs(goal_planner): document revision (#11843)
- Contributors: Mamoru Sobue, Ryohsuke Mitsudome, Zulfaqar Azmi
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Planning and Control Component) (#11784)
- planning component toBinMsg replacement
- control component fromBinMsg replacement
* planning component fromBinMsg replacement ---------
-
chore(goal_planner): change bezier parking parameters in default config (#11698)
-
feat(goal_planner): filter out bezier path with high curvature near start pose (#11693) feat(goal_planner): fiter bezier path with high curvature near start pose
-
Contributors: Kosuke Takeuchi, Ryohsuke Mitsudome, Sarun MUKDAPITAK
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_lanelet2_utils): replace ported functions from autoware_lanelet2_extension (#11593) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
fix(goal_planner): fix bezier path first yaw angle (#11601)
-
fix(goal_planner): prevent out_of_range crashes with bounds checking (#11580)
-
fix(goal_planner): hasPreviousModulePathShapeChanged die (#11579)
-
fix(goal_planner): failed to generate candidate paths when entering another lane for avoidance (#11560)
-
feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker (#11519)
- feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker
- fix default value in readme
- Update readme
* update parameter description ---------
-
fix(goal_planner): fix iterator bug (#11551)
-
fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11544)
- fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11508)
- feat(goal_planner): enhance goal refinement with route handler integration
- Updated [set_goal]{.title-ref} and [refinePathForGoal]{.title-ref} functions to include a [route_handler]{.title-ref} parameter for improved path refinement.
- Introduced utility functions to fill lane IDs and longitudinal velocities based on the input path.
- Removed redundant lane ID filling logic to streamline goal setting process. This change aims to enhance the accuracy of goal positioning and path planning by leveraging route information.
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.50.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-02-25 |
| 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.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- refactor(goal_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet (#11993) refactor(start_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet
- docs(goal_planner): use same terminology from bpp main docs (#11868)
- docs(goal_planner): document revision (#11843)
- Contributors: Mamoru Sobue, Ryohsuke Mitsudome, Zulfaqar Azmi
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Planning and Control Component) (#11784)
- planning component toBinMsg replacement
- control component fromBinMsg replacement
* planning component fromBinMsg replacement ---------
-
chore(goal_planner): change bezier parking parameters in default config (#11698)
-
feat(goal_planner): filter out bezier path with high curvature near start pose (#11693) feat(goal_planner): fiter bezier path with high curvature near start pose
-
Contributors: Kosuke Takeuchi, Ryohsuke Mitsudome, Sarun MUKDAPITAK
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_lanelet2_utils): replace ported functions from autoware_lanelet2_extension (#11593) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
fix(goal_planner): fix bezier path first yaw angle (#11601)
-
fix(goal_planner): prevent out_of_range crashes with bounds checking (#11580)
-
fix(goal_planner): hasPreviousModulePathShapeChanged die (#11579)
-
fix(goal_planner): failed to generate candidate paths when entering another lane for avoidance (#11560)
-
feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker (#11519)
- feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker
- fix default value in readme
- Update readme
* update parameter description ---------
-
fix(goal_planner): fix iterator bug (#11551)
-
fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11544)
- fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11508)
- feat(goal_planner): enhance goal refinement with route handler integration
- Updated [set_goal]{.title-ref} and [refinePathForGoal]{.title-ref} functions to include a [route_handler]{.title-ref} parameter for improved path refinement.
- Introduced utility functions to fill lane IDs and longitudinal velocities based on the input path.
- Removed redundant lane ID filling logic to streamline goal setting process. This change aims to enhance the accuracy of goal positioning and path planning by leveraging route information.
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.50.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-02-25 |
| 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.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- refactor(goal_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet (#11993) refactor(start_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet
- docs(goal_planner): use same terminology from bpp main docs (#11868)
- docs(goal_planner): document revision (#11843)
- Contributors: Mamoru Sobue, Ryohsuke Mitsudome, Zulfaqar Azmi
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Planning and Control Component) (#11784)
- planning component toBinMsg replacement
- control component fromBinMsg replacement
* planning component fromBinMsg replacement ---------
-
chore(goal_planner): change bezier parking parameters in default config (#11698)
-
feat(goal_planner): filter out bezier path with high curvature near start pose (#11693) feat(goal_planner): fiter bezier path with high curvature near start pose
-
Contributors: Kosuke Takeuchi, Ryohsuke Mitsudome, Sarun MUKDAPITAK
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_lanelet2_utils): replace ported functions from autoware_lanelet2_extension (#11593) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
fix(goal_planner): fix bezier path first yaw angle (#11601)
-
fix(goal_planner): prevent out_of_range crashes with bounds checking (#11580)
-
fix(goal_planner): hasPreviousModulePathShapeChanged die (#11579)
-
fix(goal_planner): failed to generate candidate paths when entering another lane for avoidance (#11560)
-
feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker (#11519)
- feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker
- fix default value in readme
- Update readme
* update parameter description ---------
-
fix(goal_planner): fix iterator bug (#11551)
-
fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11544)
- fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11508)
- feat(goal_planner): enhance goal refinement with route handler integration
- Updated [set_goal]{.title-ref} and [refinePathForGoal]{.title-ref} functions to include a [route_handler]{.title-ref} parameter for improved path refinement.
- Introduced utility functions to fill lane IDs and longitudinal velocities based on the input path.
- Removed redundant lane ID filling logic to streamline goal setting process. This change aims to enhance the accuracy of goal positioning and path planning by leveraging route information.
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.50.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-02-25 |
| 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.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- refactor(goal_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet (#11993) refactor(start_planner): replace getClosesetLanelet, fix undefined behavior for default-initialized Lanelet
- docs(goal_planner): use same terminology from bpp main docs (#11868)
- docs(goal_planner): document revision (#11843)
- Contributors: Mamoru Sobue, Ryohsuke Mitsudome, Zulfaqar Azmi
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Planning and Control Component) (#11784)
- planning component toBinMsg replacement
- control component fromBinMsg replacement
* planning component fromBinMsg replacement ---------
-
chore(goal_planner): change bezier parking parameters in default config (#11698)
-
feat(goal_planner): filter out bezier path with high curvature near start pose (#11693) feat(goal_planner): fiter bezier path with high curvature near start pose
-
Contributors: Kosuke Takeuchi, Ryohsuke Mitsudome, Sarun MUKDAPITAK
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(autoware_lanelet2_utils): replace ported functions from autoware_lanelet2_extension (#11593) Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix: tf2 uses hpp headers in rolling (and is backported) (#11620)
-
fix(goal_planner): fix bezier path first yaw angle (#11601)
-
fix(goal_planner): prevent out_of_range crashes with bounds checking (#11580)
-
fix(goal_planner): hasPreviousModulePathShapeChanged die (#11579)
-
fix(goal_planner): failed to generate candidate paths when entering another lane for avoidance (#11560)
-
feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker (#11519)
- feat(turn_signal_decider): add threshold based on distance to lane bound for turning off blinker
- fix default value in readme
- Update readme
* update parameter description ---------
-
fix(goal_planner): fix iterator bug (#11551)
-
fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11544)
- fix(goal_planner): correct the lane_id and velocity interpolation logic in smooth_goal_connection (#11508)
- feat(goal_planner): enhance goal refinement with route handler integration
- Updated [set_goal]{.title-ref} and [refinePathForGoal]{.title-ref} functions to include a [route_handler]{.title-ref} parameter for improved path refinement.
- Introduced utility functions to fill lane IDs and longitudinal velocities based on the input path.
- Removed redundant lane ID filling logic to streamline goal setting process. This change aims to enhance the accuracy of goal positioning and path planning by leveraging route information.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| range-v3 |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_static_centerline_generator |