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
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Path optimizer
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
| Name | Type | Description |
|---|---|---|
~/input/path |
autoware_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Changelog for package autoware_path_optimizer
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- feat(autoware_trajectory_processor): support agnocast_wrapper::Node (#13243) feat(path_smoother, path_optimizer): support agnocast_wrapper::Node
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_trajectory_optimiser): add temporal MPT tracking (#12394)
- autowar_trajectory_optimizer
* Apply suggestion from \@go-sakayori Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>>
* Apply suggestion from \@danielsanchezaran Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
- fixes
- fixes
- fixes
- style(pre-commit): autofix
- fixes
- fixes
- fixes
- fixes
- fixes
- fixes
- fix
- fix
- fix
- fix
- fix
- fix
- fix
* fix
Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>> Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
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: Arjun Jagdish Ram, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_path_optimizer): fixed an issue with cropping the ref_trajectory and its corresponding spline (#12391)
- fix
* changes for review ---------
-
fix(autoware_path_optimizer): fixed an issue with early return and A/B switching to use acados or not (#12385) fix
-
feat(autoware_path_optimizer): reintroducing acados MPT along with changes to linking to acados (#12300)
* Revert "feat(autoware_path_optimizer): reverts new path optimizer due to failing builds (#12298)" This reverts commit 7302e8ce79eef35b51971bbbfff28c1b40cf529e.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/path_optimizer.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share autoware_path_optimizer)/config/path_optimizer.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_path_optimizer 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
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Path optimizer
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
| Name | Type | Description |
|---|---|---|
~/input/path |
autoware_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Changelog for package autoware_path_optimizer
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- feat(autoware_trajectory_processor): support agnocast_wrapper::Node (#13243) feat(path_smoother, path_optimizer): support agnocast_wrapper::Node
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_trajectory_optimiser): add temporal MPT tracking (#12394)
- autowar_trajectory_optimizer
* Apply suggestion from \@go-sakayori Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>>
* Apply suggestion from \@danielsanchezaran Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
- fixes
- fixes
- fixes
- style(pre-commit): autofix
- fixes
- fixes
- fixes
- fixes
- fixes
- fixes
- fix
- fix
- fix
- fix
- fix
- fix
- fix
* fix
Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>> Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
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: Arjun Jagdish Ram, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_path_optimizer): fixed an issue with cropping the ref_trajectory and its corresponding spline (#12391)
- fix
* changes for review ---------
-
fix(autoware_path_optimizer): fixed an issue with early return and A/B switching to use acados or not (#12385) fix
-
feat(autoware_path_optimizer): reintroducing acados MPT along with changes to linking to acados (#12300)
* Revert "feat(autoware_path_optimizer): reverts new path optimizer due to failing builds (#12298)" This reverts commit 7302e8ce79eef35b51971bbbfff28c1b40cf529e.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/path_optimizer.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share autoware_path_optimizer)/config/path_optimizer.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_path_optimizer 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
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Path optimizer
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
| Name | Type | Description |
|---|---|---|
~/input/path |
autoware_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Changelog for package autoware_path_optimizer
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- feat(autoware_trajectory_processor): support agnocast_wrapper::Node (#13243) feat(path_smoother, path_optimizer): support agnocast_wrapper::Node
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_trajectory_optimiser): add temporal MPT tracking (#12394)
- autowar_trajectory_optimizer
* Apply suggestion from \@go-sakayori Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>>
* Apply suggestion from \@danielsanchezaran Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
- fixes
- fixes
- fixes
- style(pre-commit): autofix
- fixes
- fixes
- fixes
- fixes
- fixes
- fixes
- fix
- fix
- fix
- fix
- fix
- fix
- fix
* fix
Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>> Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
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: Arjun Jagdish Ram, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_path_optimizer): fixed an issue with cropping the ref_trajectory and its corresponding spline (#12391)
- fix
* changes for review ---------
-
fix(autoware_path_optimizer): fixed an issue with early return and A/B switching to use acados or not (#12385) fix
-
feat(autoware_path_optimizer): reintroducing acados MPT along with changes to linking to acados (#12300)
* Revert "feat(autoware_path_optimizer): reverts new path optimizer due to failing builds (#12298)" This reverts commit 7302e8ce79eef35b51971bbbfff28c1b40cf529e.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/path_optimizer.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share autoware_path_optimizer)/config/path_optimizer.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_path_optimizer 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
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Path optimizer
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
| Name | Type | Description |
|---|---|---|
~/input/path |
autoware_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Changelog for package autoware_path_optimizer
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- feat(autoware_trajectory_processor): support agnocast_wrapper::Node (#13243) feat(path_smoother, path_optimizer): support agnocast_wrapper::Node
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_trajectory_optimiser): add temporal MPT tracking (#12394)
- autowar_trajectory_optimizer
* Apply suggestion from \@go-sakayori Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>>
* Apply suggestion from \@danielsanchezaran Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
- fixes
- fixes
- fixes
- style(pre-commit): autofix
- fixes
- fixes
- fixes
- fixes
- fixes
- fixes
- fix
- fix
- fix
- fix
- fix
- fix
- fix
* fix
Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>> Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
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: Arjun Jagdish Ram, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_path_optimizer): fixed an issue with cropping the ref_trajectory and its corresponding spline (#12391)
- fix
* changes for review ---------
-
fix(autoware_path_optimizer): fixed an issue with early return and A/B switching to use acados or not (#12385) fix
-
feat(autoware_path_optimizer): reintroducing acados MPT along with changes to linking to acados (#12300)
* Revert "feat(autoware_path_optimizer): reverts new path optimizer due to failing builds (#12298)" This reverts commit 7302e8ce79eef35b51971bbbfff28c1b40cf529e.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/path_optimizer.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share autoware_path_optimizer)/config/path_optimizer.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_path_optimizer 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
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Path optimizer
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
| Name | Type | Description |
|---|---|---|
~/input/path |
autoware_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Changelog for package autoware_path_optimizer
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- feat(autoware_trajectory_processor): support agnocast_wrapper::Node (#13243) feat(path_smoother, path_optimizer): support agnocast_wrapper::Node
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_trajectory_optimiser): add temporal MPT tracking (#12394)
- autowar_trajectory_optimizer
* Apply suggestion from \@go-sakayori Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>>
* Apply suggestion from \@danielsanchezaran Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
- fixes
- fixes
- fixes
- style(pre-commit): autofix
- fixes
- fixes
- fixes
- fixes
- fixes
- fixes
- fix
- fix
- fix
- fix
- fix
- fix
- fix
* fix
Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>> Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
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: Arjun Jagdish Ram, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_path_optimizer): fixed an issue with cropping the ref_trajectory and its corresponding spline (#12391)
- fix
* changes for review ---------
-
fix(autoware_path_optimizer): fixed an issue with early return and A/B switching to use acados or not (#12385) fix
-
feat(autoware_path_optimizer): reintroducing acados MPT along with changes to linking to acados (#12300)
* Revert "feat(autoware_path_optimizer): reverts new path optimizer due to failing builds (#12298)" This reverts commit 7302e8ce79eef35b51971bbbfff28c1b40cf529e.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/path_optimizer.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share autoware_path_optimizer)/config/path_optimizer.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_path_optimizer 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
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Path optimizer
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
| Name | Type | Description |
|---|---|---|
~/input/path |
autoware_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Changelog for package autoware_path_optimizer
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- feat(autoware_trajectory_processor): support agnocast_wrapper::Node (#13243) feat(path_smoother, path_optimizer): support agnocast_wrapper::Node
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_trajectory_optimiser): add temporal MPT tracking (#12394)
- autowar_trajectory_optimizer
* Apply suggestion from \@go-sakayori Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>>
* Apply suggestion from \@danielsanchezaran Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
- fixes
- fixes
- fixes
- style(pre-commit): autofix
- fixes
- fixes
- fixes
- fixes
- fixes
- fixes
- fix
- fix
- fix
- fix
- fix
- fix
- fix
* fix
Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>> Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
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: Arjun Jagdish Ram, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_path_optimizer): fixed an issue with cropping the ref_trajectory and its corresponding spline (#12391)
- fix
* changes for review ---------
-
fix(autoware_path_optimizer): fixed an issue with early return and A/B switching to use acados or not (#12385) fix
-
feat(autoware_path_optimizer): reintroducing acados MPT along with changes to linking to acados (#12300)
* Revert "feat(autoware_path_optimizer): reverts new path optimizer due to failing builds (#12298)" This reverts commit 7302e8ce79eef35b51971bbbfff28c1b40cf529e.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/path_optimizer.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share autoware_path_optimizer)/config/path_optimizer.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_path_optimizer 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
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Path optimizer
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
| Name | Type | Description |
|---|---|---|
~/input/path |
autoware_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Changelog for package autoware_path_optimizer
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- feat(autoware_trajectory_processor): support agnocast_wrapper::Node (#13243) feat(path_smoother, path_optimizer): support agnocast_wrapper::Node
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_trajectory_optimiser): add temporal MPT tracking (#12394)
- autowar_trajectory_optimizer
* Apply suggestion from \@go-sakayori Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>>
* Apply suggestion from \@danielsanchezaran Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
- fixes
- fixes
- fixes
- style(pre-commit): autofix
- fixes
- fixes
- fixes
- fixes
- fixes
- fixes
- fix
- fix
- fix
- fix
- fix
- fix
- fix
* fix
Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>> Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
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: Arjun Jagdish Ram, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_path_optimizer): fixed an issue with cropping the ref_trajectory and its corresponding spline (#12391)
- fix
* changes for review ---------
-
fix(autoware_path_optimizer): fixed an issue with early return and A/B switching to use acados or not (#12385) fix
-
feat(autoware_path_optimizer): reintroducing acados MPT along with changes to linking to acados (#12300)
* Revert "feat(autoware_path_optimizer): reverts new path optimizer due to failing builds (#12298)" This reverts commit 7302e8ce79eef35b51971bbbfff28c1b40cf529e.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/path_optimizer.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share autoware_path_optimizer)/config/path_optimizer.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_path_optimizer 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
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Path optimizer
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
| Name | Type | Description |
|---|---|---|
~/input/path |
autoware_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Changelog for package autoware_path_optimizer
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- feat(autoware_trajectory_processor): support agnocast_wrapper::Node (#13243) feat(path_smoother, path_optimizer): support agnocast_wrapper::Node
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_trajectory_optimiser): add temporal MPT tracking (#12394)
- autowar_trajectory_optimizer
* Apply suggestion from \@go-sakayori Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>>
* Apply suggestion from \@danielsanchezaran Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
- fixes
- fixes
- fixes
- style(pre-commit): autofix
- fixes
- fixes
- fixes
- fixes
- fixes
- fixes
- fix
- fix
- fix
- fix
- fix
- fix
- fix
* fix
Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>> Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
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: Arjun Jagdish Ram, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_path_optimizer): fixed an issue with cropping the ref_trajectory and its corresponding spline (#12391)
- fix
* changes for review ---------
-
fix(autoware_path_optimizer): fixed an issue with early return and A/B switching to use acados or not (#12385) fix
-
feat(autoware_path_optimizer): reintroducing acados MPT along with changes to linking to acados (#12300)
* Revert "feat(autoware_path_optimizer): reverts new path optimizer due to failing builds (#12298)" This reverts commit 7302e8ce79eef35b51971bbbfff28c1b40cf529e.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/path_optimizer.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share autoware_path_optimizer)/config/path_optimizer.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_path_optimizer 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
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Path optimizer
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
| Name | Type | Description |
|---|---|---|
~/input/path |
autoware_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Changelog for package autoware_path_optimizer
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- feat(autoware_trajectory_processor): support agnocast_wrapper::Node (#13243) feat(path_smoother, path_optimizer): support agnocast_wrapper::Node
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_trajectory_optimiser): add temporal MPT tracking (#12394)
- autowar_trajectory_optimizer
* Apply suggestion from \@go-sakayori Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>>
* Apply suggestion from \@danielsanchezaran Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
- fixes
- fixes
- fixes
- style(pre-commit): autofix
- fixes
- fixes
- fixes
- fixes
- fixes
- fixes
- fix
- fix
- fix
- fix
- fix
- fix
- fix
* fix
Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>> Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
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: Arjun Jagdish Ram, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_path_optimizer): fixed an issue with cropping the ref_trajectory and its corresponding spline (#12391)
- fix
* changes for review ---------
-
fix(autoware_path_optimizer): fixed an issue with early return and A/B switching to use acados or not (#12385) fix
-
feat(autoware_path_optimizer): reintroducing acados MPT along with changes to linking to acados (#12300)
* Revert "feat(autoware_path_optimizer): reverts new path optimizer due to failing builds (#12298)" This reverts commit 7302e8ce79eef35b51971bbbfff28c1b40cf529e.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/path_optimizer.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share autoware_path_optimizer)/config/path_optimizer.param.yaml]
Messages
Services
Plugins
Recent questions tagged autoware_path_optimizer 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
- Takayuki Murooka
- Kosuke Takeuchi
- Takamasa Horibe
Authors
- Takayuki Murooka
Path optimizer
Purpose
This package generates a trajectory that is kinematically-feasible to drive and collision-free based on the input path, drivable area. Only position and orientation of trajectory are updated in this module, and velocity is just taken over from the one in the input path.
Feature
This package is able to
- make the trajectory inside the drivable area as much as possible
- NOTE: Static obstacles to avoid can be removed from the drivable area.
- insert stop point before the planned footprint will be outside the drivable area
Note that the velocity is just taken over from the input path.
Inputs / Outputs
input
| Name | Type | Description |
|---|---|---|
~/input/path |
autoware_planning_msgs/msg/Path | Reference path and the corresponding drivable area |
~/input/odometry |
nav_msgs/msg/Odometry | Current Velocity of ego vehicle |
output
| Name | Type | Description |
|---|---|---|
~/output/trajectory |
autoware_planning_msgs/msg/Trajectory | Optimized trajectory that is feasible to drive and collision-free |
Flowchart
Flowchart of functions is explained here.
@startuml
title pathCallback
start
:isDataReady;
:createPlannerData;
group generateOptimizedTrajectory
group optimizeTrajectory
:check replan;
if (replanning required?) then (yes)
:getEBTrajectory;
:getModelPredictiveTrajectory;
if (optimization failed?) then (no)
else (yes)
:send previous\n trajectory;
endif
else (no)
:send previous\n trajectory;
endif
end group
:applyInputVelocity;
:insertZeroVelocityOutsideDrivableArea;
:publishDebugMarkerOfOptimization;
end group
:extendTrajectory;
:setZeroVelocityAfterStopPoint;
:publishDebugData;
stop
@enduml
createPlannerData
The following data for planning is created.
struct PlannerData
{
// input
Header header;
std::vector<TrajectoryPoint> traj_points; // converted from the input path
std::vector<geometry_msgs::msg::Point> left_bound;
std::vector<geometry_msgs::msg::Point> right_bound;
// ego
geometry_msgs::msg::Pose ego_pose;
double ego_vel;
};
check replan
When one of the following conditions are met, trajectory optimization will be executed. Otherwise, previously optimized trajectory is used with updating the velocity from the latest input path.
File truncated at 100 lines see the full file
Changelog for package autoware_path_optimizer
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- feat(autoware_trajectory_processor): support agnocast_wrapper::Node (#13243) feat(path_smoother, path_optimizer): support agnocast_wrapper::Node
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE, Yutaro Kobayashi
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(autoware_trajectory_optimiser): add temporal MPT tracking (#12394)
- autowar_trajectory_optimizer
* Apply suggestion from \@go-sakayori Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>>
* Apply suggestion from \@danielsanchezaran Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>>
- fixes
- fixes
- fixes
- style(pre-commit): autofix
- fixes
- fixes
- fixes
- fixes
- fixes
- fixes
- fix
- fix
- fix
- fix
- fix
- fix
- fix
* fix
Co-authored-by: Go Sakayori <<go-sakayori@users.noreply.github.com>> Co-authored-by: danielsanchezaran <<daniel.sanchez@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
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: Arjun Jagdish Ram, Sarun MUKDAPITAK, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_path_optimizer): fixed an issue with cropping the ref_trajectory and its corresponding spline (#12391)
- fix
* changes for review ---------
-
fix(autoware_path_optimizer): fixed an issue with early return and A/B switching to use acados or not (#12385) fix
-
feat(autoware_path_optimizer): reintroducing acados MPT along with changes to linking to acados (#12300)
* Revert "feat(autoware_path_optimizer): reverts new path optimizer due to failing builds (#12298)" This reverts commit 7302e8ce79eef35b51971bbbfff28c1b40cf529e.
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/launch_visualization.launch.xml
-
- vehicle_model
- use_sim_time [default: false]
- launch/path_optimizer.launch.xml
-
- input_path_topic [default: input/path]
- output_path_topic [default: output/path]
- enable_debug_info [default: false]
- param_path [default: $(find-pkg-share autoware_path_optimizer)/config/path_optimizer.param.yaml]