Package Summary
| Version | 0.53.0 |
| License | Apache-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
- Arjun Jagdish Ram
- Taiki Yamada
Authors
Manual Lane Change Handler
Purpose
Manual Lane Change Handler helps shift the preferred-primitives of a route to the left or right. A manual lane-change handler rviz plugin is also available for use for the user.
Example for using the Manual Lane Change Handler
Service call to shift the preferred-lanes to the left
ros2 service call /planning/mission_planning/manual_lane_change_handler/set_preferred_lane tier4_external_api_msgs/srv/SetPreferredLane lane_change_direction:\ 0\
Services
| Name | Type | Description |
|---|---|---|
/planning/manual_lane_change_handler/manual_lane_change_handler/set_preferred_lane |
tier4_external_api_msgs/srv/SetPreferredLane | preferred-lane request |
Subscriptions
| Name | Type | Description |
|---|---|---|
input/odometry |
nav_msgs/msg/Odometry | vehicle odometry |
/planning/mission_planning/route |
autoware_planning_msgs/msg/LaneletRoute | current lanelet route |
/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/output/is_reroute_available |
tier4_planning_msgs/msg/RerouteAvailability | Availability to reroute generally published by the behavior_path_planner. The set_preferred_lane service will be denied when this topic is false. |
Publications
| Name | Type | Description |
|---|---|---|
~/debug/processing_time_ms |
autoware_internal_debug_msgs/msg/Float64Stamped | processing time for lane change for debug |
~/debug/route_marker |
visualization_msgs/msg/MarkerArray | route marker for debug |
~/debug/goal_footprint |
visualization_msgs/msg/MarkerArray | goal footprint for debug |
Service client
| Service Name | Description |
|---|---|
| ~/set_preferred_lane | The service to set the preferred lane |
Registered Servers
| Service Name | Description |
|---|---|
| /planning/mission_planning/mission_planner/set_preferred_primitive | The service to set the preferred primitive |
Setting Preferred Lane
This service allows for shifting the current preferred lane to the left or right, or reverting to the default preferred lane received from the route planner. As the vehicle moves, the shifting is done relative to the current preferred lane.
Based on certain criteria, shifting may be rejected, as in the following cases:
- Left or Right shift is not available due to no lane being present to shift to
- The next segment is a turn or the very last lane - this is to ensure that we can navigate the enter path and end up at the goal
- The reroute availability provided by the behavior_path_planner is
false
@startuml
title process_lane_change_request
start
:Compute override_direction from request;
if (override_direction == AUTO) then (yes)
if (currently in lane-change override) then (yes)
:revert to original route;
stop
else (no)
:do nothing;
stop
endif
else (no)
if (has a route been set?) then (yes)
:find initial segment;
while (not penultimate segment) is (yes)
if (shift unavailable\nor next segment is turn?) then (yes)
--> while (not penultimate segment) ' continue
else (no)
if (left-shift requested and possible) then (yes)
:shift left;
elseif (right-shift requested and possible) then (yes)
:shift right;
endif
--> while (not penultimate segment) ' jump back instead of implicit join
endif
endwhile (no)
stop
else (no)
:do nothing;
stop
endif
endif
@enduml
Changelog for package autoware_manual_lane_change_handler
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(autoware_manual_lane_change_handler): added a new maintainer (#13273) Added new maintainer
- fix(planning, control): point design param_files at the packages that install them (#13219) BehaviorPathPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. PlanningValidator referenced its checker plugins' param files under the host package with a planning_validator_ filename prefix the plugins do not use. TrajectoryFollower referenced config/ where the package installs param/, and controller files that exist per controller type (mpc, pid). ManualLaneChangeHandler declared a param file that does not exist; the node declares no parameters. The run_out module ships a config directory that ament_auto_package() did not install. Co-authored-by: Claude Fable 5 <<noreply@anthropic.com>>
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Arjun Jagdish Ram, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: add area support for route planning and fix DCO signoff (#12572)
- feat: add support for area for route planning
- feat(mission_planner): publish lane+area route segments and goal height
- fix(manual_lane_change_handler): guard lane-only APIs when route has areas
- feat(mission_planner): visualize route area segments as LINE_STRIP in RViz
- fix (remaining_distance_calculator): derive lane list from route msg when areas present in the route
* fix(mission_planner): drop redundant goal_height init in refine_goal_height Removes cppcheck redundantInitialization warning; goal_height is always set in the area vs lane branches before use.
- style(pre-commit): autofix
- fix: resolve merge conflicts
* style(pre-commit): autofix ---------Co-authored-by: Ryohsuke Mitsudome <<ryohsuke.mitsudome@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
Contributors: emmeyteja, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_manual_lane_change_handler): use RouteHandler directly (#12389)
- fix
* removed unused params ---------
-
chore(planning): remove unused lanelet2_extension header (#12294)
- unused lanelet2_extension in planning component
- unused lanelet2_extension in planning component (2)
* unused lanelet2_extension in planning component (3) ---------Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(manual_lane_change_handler): remove unreadVariable (#11973)
-
Contributors: Arjun Jagdish Ram, Ryuta Kambe, Sarun MUKDAPITAK, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(manual_lane_change_handler): remove unusedVariable (#11972)
- feat(manual_lane_change_handler): check reroute_availability when set_preferred_lanes is called (#11819) add feature to check the reroute_availability when the set_preferred_lane is called
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, Taiki Yamada
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/manual_lane_change_handler.launch.xml
-
- map_topic_name [default: /map/vector_map]
Messages
Services
Plugins
Recent questions tagged autoware_manual_lane_change_handler at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache-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
- Arjun Jagdish Ram
- Taiki Yamada
Authors
Manual Lane Change Handler
Purpose
Manual Lane Change Handler helps shift the preferred-primitives of a route to the left or right. A manual lane-change handler rviz plugin is also available for use for the user.
Example for using the Manual Lane Change Handler
Service call to shift the preferred-lanes to the left
ros2 service call /planning/mission_planning/manual_lane_change_handler/set_preferred_lane tier4_external_api_msgs/srv/SetPreferredLane lane_change_direction:\ 0\
Services
| Name | Type | Description |
|---|---|---|
/planning/manual_lane_change_handler/manual_lane_change_handler/set_preferred_lane |
tier4_external_api_msgs/srv/SetPreferredLane | preferred-lane request |
Subscriptions
| Name | Type | Description |
|---|---|---|
input/odometry |
nav_msgs/msg/Odometry | vehicle odometry |
/planning/mission_planning/route |
autoware_planning_msgs/msg/LaneletRoute | current lanelet route |
/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/output/is_reroute_available |
tier4_planning_msgs/msg/RerouteAvailability | Availability to reroute generally published by the behavior_path_planner. The set_preferred_lane service will be denied when this topic is false. |
Publications
| Name | Type | Description |
|---|---|---|
~/debug/processing_time_ms |
autoware_internal_debug_msgs/msg/Float64Stamped | processing time for lane change for debug |
~/debug/route_marker |
visualization_msgs/msg/MarkerArray | route marker for debug |
~/debug/goal_footprint |
visualization_msgs/msg/MarkerArray | goal footprint for debug |
Service client
| Service Name | Description |
|---|---|
| ~/set_preferred_lane | The service to set the preferred lane |
Registered Servers
| Service Name | Description |
|---|---|
| /planning/mission_planning/mission_planner/set_preferred_primitive | The service to set the preferred primitive |
Setting Preferred Lane
This service allows for shifting the current preferred lane to the left or right, or reverting to the default preferred lane received from the route planner. As the vehicle moves, the shifting is done relative to the current preferred lane.
Based on certain criteria, shifting may be rejected, as in the following cases:
- Left or Right shift is not available due to no lane being present to shift to
- The next segment is a turn or the very last lane - this is to ensure that we can navigate the enter path and end up at the goal
- The reroute availability provided by the behavior_path_planner is
false
@startuml
title process_lane_change_request
start
:Compute override_direction from request;
if (override_direction == AUTO) then (yes)
if (currently in lane-change override) then (yes)
:revert to original route;
stop
else (no)
:do nothing;
stop
endif
else (no)
if (has a route been set?) then (yes)
:find initial segment;
while (not penultimate segment) is (yes)
if (shift unavailable\nor next segment is turn?) then (yes)
--> while (not penultimate segment) ' continue
else (no)
if (left-shift requested and possible) then (yes)
:shift left;
elseif (right-shift requested and possible) then (yes)
:shift right;
endif
--> while (not penultimate segment) ' jump back instead of implicit join
endif
endwhile (no)
stop
else (no)
:do nothing;
stop
endif
endif
@enduml
Changelog for package autoware_manual_lane_change_handler
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(autoware_manual_lane_change_handler): added a new maintainer (#13273) Added new maintainer
- fix(planning, control): point design param_files at the packages that install them (#13219) BehaviorPathPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. PlanningValidator referenced its checker plugins' param files under the host package with a planning_validator_ filename prefix the plugins do not use. TrajectoryFollower referenced config/ where the package installs param/, and controller files that exist per controller type (mpc, pid). ManualLaneChangeHandler declared a param file that does not exist; the node declares no parameters. The run_out module ships a config directory that ament_auto_package() did not install. Co-authored-by: Claude Fable 5 <<noreply@anthropic.com>>
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Arjun Jagdish Ram, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: add area support for route planning and fix DCO signoff (#12572)
- feat: add support for area for route planning
- feat(mission_planner): publish lane+area route segments and goal height
- fix(manual_lane_change_handler): guard lane-only APIs when route has areas
- feat(mission_planner): visualize route area segments as LINE_STRIP in RViz
- fix (remaining_distance_calculator): derive lane list from route msg when areas present in the route
* fix(mission_planner): drop redundant goal_height init in refine_goal_height Removes cppcheck redundantInitialization warning; goal_height is always set in the area vs lane branches before use.
- style(pre-commit): autofix
- fix: resolve merge conflicts
* style(pre-commit): autofix ---------Co-authored-by: Ryohsuke Mitsudome <<ryohsuke.mitsudome@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
Contributors: emmeyteja, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_manual_lane_change_handler): use RouteHandler directly (#12389)
- fix
* removed unused params ---------
-
chore(planning): remove unused lanelet2_extension header (#12294)
- unused lanelet2_extension in planning component
- unused lanelet2_extension in planning component (2)
* unused lanelet2_extension in planning component (3) ---------Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(manual_lane_change_handler): remove unreadVariable (#11973)
-
Contributors: Arjun Jagdish Ram, Ryuta Kambe, Sarun MUKDAPITAK, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(manual_lane_change_handler): remove unusedVariable (#11972)
- feat(manual_lane_change_handler): check reroute_availability when set_preferred_lanes is called (#11819) add feature to check the reroute_availability when the set_preferred_lane is called
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, Taiki Yamada
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/manual_lane_change_handler.launch.xml
-
- map_topic_name [default: /map/vector_map]
Messages
Services
Plugins
Recent questions tagged autoware_manual_lane_change_handler at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache-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
- Arjun Jagdish Ram
- Taiki Yamada
Authors
Manual Lane Change Handler
Purpose
Manual Lane Change Handler helps shift the preferred-primitives of a route to the left or right. A manual lane-change handler rviz plugin is also available for use for the user.
Example for using the Manual Lane Change Handler
Service call to shift the preferred-lanes to the left
ros2 service call /planning/mission_planning/manual_lane_change_handler/set_preferred_lane tier4_external_api_msgs/srv/SetPreferredLane lane_change_direction:\ 0\
Services
| Name | Type | Description |
|---|---|---|
/planning/manual_lane_change_handler/manual_lane_change_handler/set_preferred_lane |
tier4_external_api_msgs/srv/SetPreferredLane | preferred-lane request |
Subscriptions
| Name | Type | Description |
|---|---|---|
input/odometry |
nav_msgs/msg/Odometry | vehicle odometry |
/planning/mission_planning/route |
autoware_planning_msgs/msg/LaneletRoute | current lanelet route |
/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/output/is_reroute_available |
tier4_planning_msgs/msg/RerouteAvailability | Availability to reroute generally published by the behavior_path_planner. The set_preferred_lane service will be denied when this topic is false. |
Publications
| Name | Type | Description |
|---|---|---|
~/debug/processing_time_ms |
autoware_internal_debug_msgs/msg/Float64Stamped | processing time for lane change for debug |
~/debug/route_marker |
visualization_msgs/msg/MarkerArray | route marker for debug |
~/debug/goal_footprint |
visualization_msgs/msg/MarkerArray | goal footprint for debug |
Service client
| Service Name | Description |
|---|---|
| ~/set_preferred_lane | The service to set the preferred lane |
Registered Servers
| Service Name | Description |
|---|---|
| /planning/mission_planning/mission_planner/set_preferred_primitive | The service to set the preferred primitive |
Setting Preferred Lane
This service allows for shifting the current preferred lane to the left or right, or reverting to the default preferred lane received from the route planner. As the vehicle moves, the shifting is done relative to the current preferred lane.
Based on certain criteria, shifting may be rejected, as in the following cases:
- Left or Right shift is not available due to no lane being present to shift to
- The next segment is a turn or the very last lane - this is to ensure that we can navigate the enter path and end up at the goal
- The reroute availability provided by the behavior_path_planner is
false
@startuml
title process_lane_change_request
start
:Compute override_direction from request;
if (override_direction == AUTO) then (yes)
if (currently in lane-change override) then (yes)
:revert to original route;
stop
else (no)
:do nothing;
stop
endif
else (no)
if (has a route been set?) then (yes)
:find initial segment;
while (not penultimate segment) is (yes)
if (shift unavailable\nor next segment is turn?) then (yes)
--> while (not penultimate segment) ' continue
else (no)
if (left-shift requested and possible) then (yes)
:shift left;
elseif (right-shift requested and possible) then (yes)
:shift right;
endif
--> while (not penultimate segment) ' jump back instead of implicit join
endif
endwhile (no)
stop
else (no)
:do nothing;
stop
endif
endif
@enduml
Changelog for package autoware_manual_lane_change_handler
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(autoware_manual_lane_change_handler): added a new maintainer (#13273) Added new maintainer
- fix(planning, control): point design param_files at the packages that install them (#13219) BehaviorPathPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. PlanningValidator referenced its checker plugins' param files under the host package with a planning_validator_ filename prefix the plugins do not use. TrajectoryFollower referenced config/ where the package installs param/, and controller files that exist per controller type (mpc, pid). ManualLaneChangeHandler declared a param file that does not exist; the node declares no parameters. The run_out module ships a config directory that ament_auto_package() did not install. Co-authored-by: Claude Fable 5 <<noreply@anthropic.com>>
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Arjun Jagdish Ram, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: add area support for route planning and fix DCO signoff (#12572)
- feat: add support for area for route planning
- feat(mission_planner): publish lane+area route segments and goal height
- fix(manual_lane_change_handler): guard lane-only APIs when route has areas
- feat(mission_planner): visualize route area segments as LINE_STRIP in RViz
- fix (remaining_distance_calculator): derive lane list from route msg when areas present in the route
* fix(mission_planner): drop redundant goal_height init in refine_goal_height Removes cppcheck redundantInitialization warning; goal_height is always set in the area vs lane branches before use.
- style(pre-commit): autofix
- fix: resolve merge conflicts
* style(pre-commit): autofix ---------Co-authored-by: Ryohsuke Mitsudome <<ryohsuke.mitsudome@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
Contributors: emmeyteja, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_manual_lane_change_handler): use RouteHandler directly (#12389)
- fix
* removed unused params ---------
-
chore(planning): remove unused lanelet2_extension header (#12294)
- unused lanelet2_extension in planning component
- unused lanelet2_extension in planning component (2)
* unused lanelet2_extension in planning component (3) ---------Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(manual_lane_change_handler): remove unreadVariable (#11973)
-
Contributors: Arjun Jagdish Ram, Ryuta Kambe, Sarun MUKDAPITAK, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(manual_lane_change_handler): remove unusedVariable (#11972)
- feat(manual_lane_change_handler): check reroute_availability when set_preferred_lanes is called (#11819) add feature to check the reroute_availability when the set_preferred_lane is called
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, Taiki Yamada
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/manual_lane_change_handler.launch.xml
-
- map_topic_name [default: /map/vector_map]
Messages
Services
Plugins
Recent questions tagged autoware_manual_lane_change_handler at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache-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
- Arjun Jagdish Ram
- Taiki Yamada
Authors
Manual Lane Change Handler
Purpose
Manual Lane Change Handler helps shift the preferred-primitives of a route to the left or right. A manual lane-change handler rviz plugin is also available for use for the user.
Example for using the Manual Lane Change Handler
Service call to shift the preferred-lanes to the left
ros2 service call /planning/mission_planning/manual_lane_change_handler/set_preferred_lane tier4_external_api_msgs/srv/SetPreferredLane lane_change_direction:\ 0\
Services
| Name | Type | Description |
|---|---|---|
/planning/manual_lane_change_handler/manual_lane_change_handler/set_preferred_lane |
tier4_external_api_msgs/srv/SetPreferredLane | preferred-lane request |
Subscriptions
| Name | Type | Description |
|---|---|---|
input/odometry |
nav_msgs/msg/Odometry | vehicle odometry |
/planning/mission_planning/route |
autoware_planning_msgs/msg/LaneletRoute | current lanelet route |
/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/output/is_reroute_available |
tier4_planning_msgs/msg/RerouteAvailability | Availability to reroute generally published by the behavior_path_planner. The set_preferred_lane service will be denied when this topic is false. |
Publications
| Name | Type | Description |
|---|---|---|
~/debug/processing_time_ms |
autoware_internal_debug_msgs/msg/Float64Stamped | processing time for lane change for debug |
~/debug/route_marker |
visualization_msgs/msg/MarkerArray | route marker for debug |
~/debug/goal_footprint |
visualization_msgs/msg/MarkerArray | goal footprint for debug |
Service client
| Service Name | Description |
|---|---|
| ~/set_preferred_lane | The service to set the preferred lane |
Registered Servers
| Service Name | Description |
|---|---|
| /planning/mission_planning/mission_planner/set_preferred_primitive | The service to set the preferred primitive |
Setting Preferred Lane
This service allows for shifting the current preferred lane to the left or right, or reverting to the default preferred lane received from the route planner. As the vehicle moves, the shifting is done relative to the current preferred lane.
Based on certain criteria, shifting may be rejected, as in the following cases:
- Left or Right shift is not available due to no lane being present to shift to
- The next segment is a turn or the very last lane - this is to ensure that we can navigate the enter path and end up at the goal
- The reroute availability provided by the behavior_path_planner is
false
@startuml
title process_lane_change_request
start
:Compute override_direction from request;
if (override_direction == AUTO) then (yes)
if (currently in lane-change override) then (yes)
:revert to original route;
stop
else (no)
:do nothing;
stop
endif
else (no)
if (has a route been set?) then (yes)
:find initial segment;
while (not penultimate segment) is (yes)
if (shift unavailable\nor next segment is turn?) then (yes)
--> while (not penultimate segment) ' continue
else (no)
if (left-shift requested and possible) then (yes)
:shift left;
elseif (right-shift requested and possible) then (yes)
:shift right;
endif
--> while (not penultimate segment) ' jump back instead of implicit join
endif
endwhile (no)
stop
else (no)
:do nothing;
stop
endif
endif
@enduml
Changelog for package autoware_manual_lane_change_handler
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(autoware_manual_lane_change_handler): added a new maintainer (#13273) Added new maintainer
- fix(planning, control): point design param_files at the packages that install them (#13219) BehaviorPathPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. PlanningValidator referenced its checker plugins' param files under the host package with a planning_validator_ filename prefix the plugins do not use. TrajectoryFollower referenced config/ where the package installs param/, and controller files that exist per controller type (mpc, pid). ManualLaneChangeHandler declared a param file that does not exist; the node declares no parameters. The run_out module ships a config directory that ament_auto_package() did not install. Co-authored-by: Claude Fable 5 <<noreply@anthropic.com>>
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Arjun Jagdish Ram, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: add area support for route planning and fix DCO signoff (#12572)
- feat: add support for area for route planning
- feat(mission_planner): publish lane+area route segments and goal height
- fix(manual_lane_change_handler): guard lane-only APIs when route has areas
- feat(mission_planner): visualize route area segments as LINE_STRIP in RViz
- fix (remaining_distance_calculator): derive lane list from route msg when areas present in the route
* fix(mission_planner): drop redundant goal_height init in refine_goal_height Removes cppcheck redundantInitialization warning; goal_height is always set in the area vs lane branches before use.
- style(pre-commit): autofix
- fix: resolve merge conflicts
* style(pre-commit): autofix ---------Co-authored-by: Ryohsuke Mitsudome <<ryohsuke.mitsudome@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
Contributors: emmeyteja, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_manual_lane_change_handler): use RouteHandler directly (#12389)
- fix
* removed unused params ---------
-
chore(planning): remove unused lanelet2_extension header (#12294)
- unused lanelet2_extension in planning component
- unused lanelet2_extension in planning component (2)
* unused lanelet2_extension in planning component (3) ---------Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(manual_lane_change_handler): remove unreadVariable (#11973)
-
Contributors: Arjun Jagdish Ram, Ryuta Kambe, Sarun MUKDAPITAK, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(manual_lane_change_handler): remove unusedVariable (#11972)
- feat(manual_lane_change_handler): check reroute_availability when set_preferred_lanes is called (#11819) add feature to check the reroute_availability when the set_preferred_lane is called
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, Taiki Yamada
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/manual_lane_change_handler.launch.xml
-
- map_topic_name [default: /map/vector_map]
Messages
Services
Plugins
Recent questions tagged autoware_manual_lane_change_handler at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache-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
- Arjun Jagdish Ram
- Taiki Yamada
Authors
Manual Lane Change Handler
Purpose
Manual Lane Change Handler helps shift the preferred-primitives of a route to the left or right. A manual lane-change handler rviz plugin is also available for use for the user.
Example for using the Manual Lane Change Handler
Service call to shift the preferred-lanes to the left
ros2 service call /planning/mission_planning/manual_lane_change_handler/set_preferred_lane tier4_external_api_msgs/srv/SetPreferredLane lane_change_direction:\ 0\
Services
| Name | Type | Description |
|---|---|---|
/planning/manual_lane_change_handler/manual_lane_change_handler/set_preferred_lane |
tier4_external_api_msgs/srv/SetPreferredLane | preferred-lane request |
Subscriptions
| Name | Type | Description |
|---|---|---|
input/odometry |
nav_msgs/msg/Odometry | vehicle odometry |
/planning/mission_planning/route |
autoware_planning_msgs/msg/LaneletRoute | current lanelet route |
/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/output/is_reroute_available |
tier4_planning_msgs/msg/RerouteAvailability | Availability to reroute generally published by the behavior_path_planner. The set_preferred_lane service will be denied when this topic is false. |
Publications
| Name | Type | Description |
|---|---|---|
~/debug/processing_time_ms |
autoware_internal_debug_msgs/msg/Float64Stamped | processing time for lane change for debug |
~/debug/route_marker |
visualization_msgs/msg/MarkerArray | route marker for debug |
~/debug/goal_footprint |
visualization_msgs/msg/MarkerArray | goal footprint for debug |
Service client
| Service Name | Description |
|---|---|
| ~/set_preferred_lane | The service to set the preferred lane |
Registered Servers
| Service Name | Description |
|---|---|
| /planning/mission_planning/mission_planner/set_preferred_primitive | The service to set the preferred primitive |
Setting Preferred Lane
This service allows for shifting the current preferred lane to the left or right, or reverting to the default preferred lane received from the route planner. As the vehicle moves, the shifting is done relative to the current preferred lane.
Based on certain criteria, shifting may be rejected, as in the following cases:
- Left or Right shift is not available due to no lane being present to shift to
- The next segment is a turn or the very last lane - this is to ensure that we can navigate the enter path and end up at the goal
- The reroute availability provided by the behavior_path_planner is
false
@startuml
title process_lane_change_request
start
:Compute override_direction from request;
if (override_direction == AUTO) then (yes)
if (currently in lane-change override) then (yes)
:revert to original route;
stop
else (no)
:do nothing;
stop
endif
else (no)
if (has a route been set?) then (yes)
:find initial segment;
while (not penultimate segment) is (yes)
if (shift unavailable\nor next segment is turn?) then (yes)
--> while (not penultimate segment) ' continue
else (no)
if (left-shift requested and possible) then (yes)
:shift left;
elseif (right-shift requested and possible) then (yes)
:shift right;
endif
--> while (not penultimate segment) ' jump back instead of implicit join
endif
endwhile (no)
stop
else (no)
:do nothing;
stop
endif
endif
@enduml
Changelog for package autoware_manual_lane_change_handler
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(autoware_manual_lane_change_handler): added a new maintainer (#13273) Added new maintainer
- fix(planning, control): point design param_files at the packages that install them (#13219) BehaviorPathPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. PlanningValidator referenced its checker plugins' param files under the host package with a planning_validator_ filename prefix the plugins do not use. TrajectoryFollower referenced config/ where the package installs param/, and controller files that exist per controller type (mpc, pid). ManualLaneChangeHandler declared a param file that does not exist; the node declares no parameters. The run_out module ships a config directory that ament_auto_package() did not install. Co-authored-by: Claude Fable 5 <<noreply@anthropic.com>>
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Arjun Jagdish Ram, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: add area support for route planning and fix DCO signoff (#12572)
- feat: add support for area for route planning
- feat(mission_planner): publish lane+area route segments and goal height
- fix(manual_lane_change_handler): guard lane-only APIs when route has areas
- feat(mission_planner): visualize route area segments as LINE_STRIP in RViz
- fix (remaining_distance_calculator): derive lane list from route msg when areas present in the route
* fix(mission_planner): drop redundant goal_height init in refine_goal_height Removes cppcheck redundantInitialization warning; goal_height is always set in the area vs lane branches before use.
- style(pre-commit): autofix
- fix: resolve merge conflicts
* style(pre-commit): autofix ---------Co-authored-by: Ryohsuke Mitsudome <<ryohsuke.mitsudome@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
Contributors: emmeyteja, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_manual_lane_change_handler): use RouteHandler directly (#12389)
- fix
* removed unused params ---------
-
chore(planning): remove unused lanelet2_extension header (#12294)
- unused lanelet2_extension in planning component
- unused lanelet2_extension in planning component (2)
* unused lanelet2_extension in planning component (3) ---------Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(manual_lane_change_handler): remove unreadVariable (#11973)
-
Contributors: Arjun Jagdish Ram, Ryuta Kambe, Sarun MUKDAPITAK, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(manual_lane_change_handler): remove unusedVariable (#11972)
- feat(manual_lane_change_handler): check reroute_availability when set_preferred_lanes is called (#11819) add feature to check the reroute_availability when the set_preferred_lane is called
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, Taiki Yamada
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/manual_lane_change_handler.launch.xml
-
- map_topic_name [default: /map/vector_map]
Messages
Services
Plugins
Recent questions tagged autoware_manual_lane_change_handler at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache-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
- Arjun Jagdish Ram
- Taiki Yamada
Authors
Manual Lane Change Handler
Purpose
Manual Lane Change Handler helps shift the preferred-primitives of a route to the left or right. A manual lane-change handler rviz plugin is also available for use for the user.
Example for using the Manual Lane Change Handler
Service call to shift the preferred-lanes to the left
ros2 service call /planning/mission_planning/manual_lane_change_handler/set_preferred_lane tier4_external_api_msgs/srv/SetPreferredLane lane_change_direction:\ 0\
Services
| Name | Type | Description |
|---|---|---|
/planning/manual_lane_change_handler/manual_lane_change_handler/set_preferred_lane |
tier4_external_api_msgs/srv/SetPreferredLane | preferred-lane request |
Subscriptions
| Name | Type | Description |
|---|---|---|
input/odometry |
nav_msgs/msg/Odometry | vehicle odometry |
/planning/mission_planning/route |
autoware_planning_msgs/msg/LaneletRoute | current lanelet route |
/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/output/is_reroute_available |
tier4_planning_msgs/msg/RerouteAvailability | Availability to reroute generally published by the behavior_path_planner. The set_preferred_lane service will be denied when this topic is false. |
Publications
| Name | Type | Description |
|---|---|---|
~/debug/processing_time_ms |
autoware_internal_debug_msgs/msg/Float64Stamped | processing time for lane change for debug |
~/debug/route_marker |
visualization_msgs/msg/MarkerArray | route marker for debug |
~/debug/goal_footprint |
visualization_msgs/msg/MarkerArray | goal footprint for debug |
Service client
| Service Name | Description |
|---|---|
| ~/set_preferred_lane | The service to set the preferred lane |
Registered Servers
| Service Name | Description |
|---|---|
| /planning/mission_planning/mission_planner/set_preferred_primitive | The service to set the preferred primitive |
Setting Preferred Lane
This service allows for shifting the current preferred lane to the left or right, or reverting to the default preferred lane received from the route planner. As the vehicle moves, the shifting is done relative to the current preferred lane.
Based on certain criteria, shifting may be rejected, as in the following cases:
- Left or Right shift is not available due to no lane being present to shift to
- The next segment is a turn or the very last lane - this is to ensure that we can navigate the enter path and end up at the goal
- The reroute availability provided by the behavior_path_planner is
false
@startuml
title process_lane_change_request
start
:Compute override_direction from request;
if (override_direction == AUTO) then (yes)
if (currently in lane-change override) then (yes)
:revert to original route;
stop
else (no)
:do nothing;
stop
endif
else (no)
if (has a route been set?) then (yes)
:find initial segment;
while (not penultimate segment) is (yes)
if (shift unavailable\nor next segment is turn?) then (yes)
--> while (not penultimate segment) ' continue
else (no)
if (left-shift requested and possible) then (yes)
:shift left;
elseif (right-shift requested and possible) then (yes)
:shift right;
endif
--> while (not penultimate segment) ' jump back instead of implicit join
endif
endwhile (no)
stop
else (no)
:do nothing;
stop
endif
endif
@enduml
Changelog for package autoware_manual_lane_change_handler
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(autoware_manual_lane_change_handler): added a new maintainer (#13273) Added new maintainer
- fix(planning, control): point design param_files at the packages that install them (#13219) BehaviorPathPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. PlanningValidator referenced its checker plugins' param files under the host package with a planning_validator_ filename prefix the plugins do not use. TrajectoryFollower referenced config/ where the package installs param/, and controller files that exist per controller type (mpc, pid). ManualLaneChangeHandler declared a param file that does not exist; the node declares no parameters. The run_out module ships a config directory that ament_auto_package() did not install. Co-authored-by: Claude Fable 5 <<noreply@anthropic.com>>
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Arjun Jagdish Ram, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: add area support for route planning and fix DCO signoff (#12572)
- feat: add support for area for route planning
- feat(mission_planner): publish lane+area route segments and goal height
- fix(manual_lane_change_handler): guard lane-only APIs when route has areas
- feat(mission_planner): visualize route area segments as LINE_STRIP in RViz
- fix (remaining_distance_calculator): derive lane list from route msg when areas present in the route
* fix(mission_planner): drop redundant goal_height init in refine_goal_height Removes cppcheck redundantInitialization warning; goal_height is always set in the area vs lane branches before use.
- style(pre-commit): autofix
- fix: resolve merge conflicts
* style(pre-commit): autofix ---------Co-authored-by: Ryohsuke Mitsudome <<ryohsuke.mitsudome@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
Contributors: emmeyteja, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_manual_lane_change_handler): use RouteHandler directly (#12389)
- fix
* removed unused params ---------
-
chore(planning): remove unused lanelet2_extension header (#12294)
- unused lanelet2_extension in planning component
- unused lanelet2_extension in planning component (2)
* unused lanelet2_extension in planning component (3) ---------Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(manual_lane_change_handler): remove unreadVariable (#11973)
-
Contributors: Arjun Jagdish Ram, Ryuta Kambe, Sarun MUKDAPITAK, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(manual_lane_change_handler): remove unusedVariable (#11972)
- feat(manual_lane_change_handler): check reroute_availability when set_preferred_lanes is called (#11819) add feature to check the reroute_availability when the set_preferred_lane is called
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, Taiki Yamada
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/manual_lane_change_handler.launch.xml
-
- map_topic_name [default: /map/vector_map]
Messages
Services
Plugins
Recent questions tagged autoware_manual_lane_change_handler at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache-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
- Arjun Jagdish Ram
- Taiki Yamada
Authors
Manual Lane Change Handler
Purpose
Manual Lane Change Handler helps shift the preferred-primitives of a route to the left or right. A manual lane-change handler rviz plugin is also available for use for the user.
Example for using the Manual Lane Change Handler
Service call to shift the preferred-lanes to the left
ros2 service call /planning/mission_planning/manual_lane_change_handler/set_preferred_lane tier4_external_api_msgs/srv/SetPreferredLane lane_change_direction:\ 0\
Services
| Name | Type | Description |
|---|---|---|
/planning/manual_lane_change_handler/manual_lane_change_handler/set_preferred_lane |
tier4_external_api_msgs/srv/SetPreferredLane | preferred-lane request |
Subscriptions
| Name | Type | Description |
|---|---|---|
input/odometry |
nav_msgs/msg/Odometry | vehicle odometry |
/planning/mission_planning/route |
autoware_planning_msgs/msg/LaneletRoute | current lanelet route |
/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/output/is_reroute_available |
tier4_planning_msgs/msg/RerouteAvailability | Availability to reroute generally published by the behavior_path_planner. The set_preferred_lane service will be denied when this topic is false. |
Publications
| Name | Type | Description |
|---|---|---|
~/debug/processing_time_ms |
autoware_internal_debug_msgs/msg/Float64Stamped | processing time for lane change for debug |
~/debug/route_marker |
visualization_msgs/msg/MarkerArray | route marker for debug |
~/debug/goal_footprint |
visualization_msgs/msg/MarkerArray | goal footprint for debug |
Service client
| Service Name | Description |
|---|---|
| ~/set_preferred_lane | The service to set the preferred lane |
Registered Servers
| Service Name | Description |
|---|---|
| /planning/mission_planning/mission_planner/set_preferred_primitive | The service to set the preferred primitive |
Setting Preferred Lane
This service allows for shifting the current preferred lane to the left or right, or reverting to the default preferred lane received from the route planner. As the vehicle moves, the shifting is done relative to the current preferred lane.
Based on certain criteria, shifting may be rejected, as in the following cases:
- Left or Right shift is not available due to no lane being present to shift to
- The next segment is a turn or the very last lane - this is to ensure that we can navigate the enter path and end up at the goal
- The reroute availability provided by the behavior_path_planner is
false
@startuml
title process_lane_change_request
start
:Compute override_direction from request;
if (override_direction == AUTO) then (yes)
if (currently in lane-change override) then (yes)
:revert to original route;
stop
else (no)
:do nothing;
stop
endif
else (no)
if (has a route been set?) then (yes)
:find initial segment;
while (not penultimate segment) is (yes)
if (shift unavailable\nor next segment is turn?) then (yes)
--> while (not penultimate segment) ' continue
else (no)
if (left-shift requested and possible) then (yes)
:shift left;
elseif (right-shift requested and possible) then (yes)
:shift right;
endif
--> while (not penultimate segment) ' jump back instead of implicit join
endif
endwhile (no)
stop
else (no)
:do nothing;
stop
endif
endif
@enduml
Changelog for package autoware_manual_lane_change_handler
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(autoware_manual_lane_change_handler): added a new maintainer (#13273) Added new maintainer
- fix(planning, control): point design param_files at the packages that install them (#13219) BehaviorPathPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. PlanningValidator referenced its checker plugins' param files under the host package with a planning_validator_ filename prefix the plugins do not use. TrajectoryFollower referenced config/ where the package installs param/, and controller files that exist per controller type (mpc, pid). ManualLaneChangeHandler declared a param file that does not exist; the node declares no parameters. The run_out module ships a config directory that ament_auto_package() did not install. Co-authored-by: Claude Fable 5 <<noreply@anthropic.com>>
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Arjun Jagdish Ram, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: add area support for route planning and fix DCO signoff (#12572)
- feat: add support for area for route planning
- feat(mission_planner): publish lane+area route segments and goal height
- fix(manual_lane_change_handler): guard lane-only APIs when route has areas
- feat(mission_planner): visualize route area segments as LINE_STRIP in RViz
- fix (remaining_distance_calculator): derive lane list from route msg when areas present in the route
* fix(mission_planner): drop redundant goal_height init in refine_goal_height Removes cppcheck redundantInitialization warning; goal_height is always set in the area vs lane branches before use.
- style(pre-commit): autofix
- fix: resolve merge conflicts
* style(pre-commit): autofix ---------Co-authored-by: Ryohsuke Mitsudome <<ryohsuke.mitsudome@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
Contributors: emmeyteja, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_manual_lane_change_handler): use RouteHandler directly (#12389)
- fix
* removed unused params ---------
-
chore(planning): remove unused lanelet2_extension header (#12294)
- unused lanelet2_extension in planning component
- unused lanelet2_extension in planning component (2)
* unused lanelet2_extension in planning component (3) ---------Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(manual_lane_change_handler): remove unreadVariable (#11973)
-
Contributors: Arjun Jagdish Ram, Ryuta Kambe, Sarun MUKDAPITAK, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(manual_lane_change_handler): remove unusedVariable (#11972)
- feat(manual_lane_change_handler): check reroute_availability when set_preferred_lanes is called (#11819) add feature to check the reroute_availability when the set_preferred_lane is called
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, Taiki Yamada
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/manual_lane_change_handler.launch.xml
-
- map_topic_name [default: /map/vector_map]
Messages
Services
Plugins
Recent questions tagged autoware_manual_lane_change_handler at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache-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
- Arjun Jagdish Ram
- Taiki Yamada
Authors
Manual Lane Change Handler
Purpose
Manual Lane Change Handler helps shift the preferred-primitives of a route to the left or right. A manual lane-change handler rviz plugin is also available for use for the user.
Example for using the Manual Lane Change Handler
Service call to shift the preferred-lanes to the left
ros2 service call /planning/mission_planning/manual_lane_change_handler/set_preferred_lane tier4_external_api_msgs/srv/SetPreferredLane lane_change_direction:\ 0\
Services
| Name | Type | Description |
|---|---|---|
/planning/manual_lane_change_handler/manual_lane_change_handler/set_preferred_lane |
tier4_external_api_msgs/srv/SetPreferredLane | preferred-lane request |
Subscriptions
| Name | Type | Description |
|---|---|---|
input/odometry |
nav_msgs/msg/Odometry | vehicle odometry |
/planning/mission_planning/route |
autoware_planning_msgs/msg/LaneletRoute | current lanelet route |
/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/output/is_reroute_available |
tier4_planning_msgs/msg/RerouteAvailability | Availability to reroute generally published by the behavior_path_planner. The set_preferred_lane service will be denied when this topic is false. |
Publications
| Name | Type | Description |
|---|---|---|
~/debug/processing_time_ms |
autoware_internal_debug_msgs/msg/Float64Stamped | processing time for lane change for debug |
~/debug/route_marker |
visualization_msgs/msg/MarkerArray | route marker for debug |
~/debug/goal_footprint |
visualization_msgs/msg/MarkerArray | goal footprint for debug |
Service client
| Service Name | Description |
|---|---|
| ~/set_preferred_lane | The service to set the preferred lane |
Registered Servers
| Service Name | Description |
|---|---|
| /planning/mission_planning/mission_planner/set_preferred_primitive | The service to set the preferred primitive |
Setting Preferred Lane
This service allows for shifting the current preferred lane to the left or right, or reverting to the default preferred lane received from the route planner. As the vehicle moves, the shifting is done relative to the current preferred lane.
Based on certain criteria, shifting may be rejected, as in the following cases:
- Left or Right shift is not available due to no lane being present to shift to
- The next segment is a turn or the very last lane - this is to ensure that we can navigate the enter path and end up at the goal
- The reroute availability provided by the behavior_path_planner is
false
@startuml
title process_lane_change_request
start
:Compute override_direction from request;
if (override_direction == AUTO) then (yes)
if (currently in lane-change override) then (yes)
:revert to original route;
stop
else (no)
:do nothing;
stop
endif
else (no)
if (has a route been set?) then (yes)
:find initial segment;
while (not penultimate segment) is (yes)
if (shift unavailable\nor next segment is turn?) then (yes)
--> while (not penultimate segment) ' continue
else (no)
if (left-shift requested and possible) then (yes)
:shift left;
elseif (right-shift requested and possible) then (yes)
:shift right;
endif
--> while (not penultimate segment) ' jump back instead of implicit join
endif
endwhile (no)
stop
else (no)
:do nothing;
stop
endif
endif
@enduml
Changelog for package autoware_manual_lane_change_handler
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(autoware_manual_lane_change_handler): added a new maintainer (#13273) Added new maintainer
- fix(planning, control): point design param_files at the packages that install them (#13219) BehaviorPathPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. PlanningValidator referenced its checker plugins' param files under the host package with a planning_validator_ filename prefix the plugins do not use. TrajectoryFollower referenced config/ where the package installs param/, and controller files that exist per controller type (mpc, pid). ManualLaneChangeHandler declared a param file that does not exist; the node declares no parameters. The run_out module ships a config directory that ament_auto_package() did not install. Co-authored-by: Claude Fable 5 <<noreply@anthropic.com>>
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Arjun Jagdish Ram, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: add area support for route planning and fix DCO signoff (#12572)
- feat: add support for area for route planning
- feat(mission_planner): publish lane+area route segments and goal height
- fix(manual_lane_change_handler): guard lane-only APIs when route has areas
- feat(mission_planner): visualize route area segments as LINE_STRIP in RViz
- fix (remaining_distance_calculator): derive lane list from route msg when areas present in the route
* fix(mission_planner): drop redundant goal_height init in refine_goal_height Removes cppcheck redundantInitialization warning; goal_height is always set in the area vs lane branches before use.
- style(pre-commit): autofix
- fix: resolve merge conflicts
* style(pre-commit): autofix ---------Co-authored-by: Ryohsuke Mitsudome <<ryohsuke.mitsudome@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
Contributors: emmeyteja, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_manual_lane_change_handler): use RouteHandler directly (#12389)
- fix
* removed unused params ---------
-
chore(planning): remove unused lanelet2_extension header (#12294)
- unused lanelet2_extension in planning component
- unused lanelet2_extension in planning component (2)
* unused lanelet2_extension in planning component (3) ---------Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(manual_lane_change_handler): remove unreadVariable (#11973)
-
Contributors: Arjun Jagdish Ram, Ryuta Kambe, Sarun MUKDAPITAK, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(manual_lane_change_handler): remove unusedVariable (#11972)
- feat(manual_lane_change_handler): check reroute_availability when set_preferred_lanes is called (#11819) add feature to check the reroute_availability when the set_preferred_lane is called
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, Taiki Yamada
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/manual_lane_change_handler.launch.xml
-
- map_topic_name [default: /map/vector_map]
Messages
Services
Plugins
Recent questions tagged autoware_manual_lane_change_handler at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache-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
- Arjun Jagdish Ram
- Taiki Yamada
Authors
Manual Lane Change Handler
Purpose
Manual Lane Change Handler helps shift the preferred-primitives of a route to the left or right. A manual lane-change handler rviz plugin is also available for use for the user.
Example for using the Manual Lane Change Handler
Service call to shift the preferred-lanes to the left
ros2 service call /planning/mission_planning/manual_lane_change_handler/set_preferred_lane tier4_external_api_msgs/srv/SetPreferredLane lane_change_direction:\ 0\
Services
| Name | Type | Description |
|---|---|---|
/planning/manual_lane_change_handler/manual_lane_change_handler/set_preferred_lane |
tier4_external_api_msgs/srv/SetPreferredLane | preferred-lane request |
Subscriptions
| Name | Type | Description |
|---|---|---|
input/odometry |
nav_msgs/msg/Odometry | vehicle odometry |
/planning/mission_planning/route |
autoware_planning_msgs/msg/LaneletRoute | current lanelet route |
/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/output/is_reroute_available |
tier4_planning_msgs/msg/RerouteAvailability | Availability to reroute generally published by the behavior_path_planner. The set_preferred_lane service will be denied when this topic is false. |
Publications
| Name | Type | Description |
|---|---|---|
~/debug/processing_time_ms |
autoware_internal_debug_msgs/msg/Float64Stamped | processing time for lane change for debug |
~/debug/route_marker |
visualization_msgs/msg/MarkerArray | route marker for debug |
~/debug/goal_footprint |
visualization_msgs/msg/MarkerArray | goal footprint for debug |
Service client
| Service Name | Description |
|---|---|
| ~/set_preferred_lane | The service to set the preferred lane |
Registered Servers
| Service Name | Description |
|---|---|
| /planning/mission_planning/mission_planner/set_preferred_primitive | The service to set the preferred primitive |
Setting Preferred Lane
This service allows for shifting the current preferred lane to the left or right, or reverting to the default preferred lane received from the route planner. As the vehicle moves, the shifting is done relative to the current preferred lane.
Based on certain criteria, shifting may be rejected, as in the following cases:
- Left or Right shift is not available due to no lane being present to shift to
- The next segment is a turn or the very last lane - this is to ensure that we can navigate the enter path and end up at the goal
- The reroute availability provided by the behavior_path_planner is
false
@startuml
title process_lane_change_request
start
:Compute override_direction from request;
if (override_direction == AUTO) then (yes)
if (currently in lane-change override) then (yes)
:revert to original route;
stop
else (no)
:do nothing;
stop
endif
else (no)
if (has a route been set?) then (yes)
:find initial segment;
while (not penultimate segment) is (yes)
if (shift unavailable\nor next segment is turn?) then (yes)
--> while (not penultimate segment) ' continue
else (no)
if (left-shift requested and possible) then (yes)
:shift left;
elseif (right-shift requested and possible) then (yes)
:shift right;
endif
--> while (not penultimate segment) ' jump back instead of implicit join
endif
endwhile (no)
stop
else (no)
:do nothing;
stop
endif
endif
@enduml
Changelog for package autoware_manual_lane_change_handler
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(autoware_manual_lane_change_handler): added a new maintainer (#13273) Added new maintainer
- fix(planning, control): point design param_files at the packages that install them (#13219) BehaviorPathPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. PlanningValidator referenced its checker plugins' param files under the host package with a planning_validator_ filename prefix the plugins do not use. TrajectoryFollower referenced config/ where the package installs param/, and controller files that exist per controller type (mpc, pid). ManualLaneChangeHandler declared a param file that does not exist; the node declares no parameters. The run_out module ships a config directory that ament_auto_package() did not install. Co-authored-by: Claude Fable 5 <<noreply@anthropic.com>>
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Arjun Jagdish Ram, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: add area support for route planning and fix DCO signoff (#12572)
- feat: add support for area for route planning
- feat(mission_planner): publish lane+area route segments and goal height
- fix(manual_lane_change_handler): guard lane-only APIs when route has areas
- feat(mission_planner): visualize route area segments as LINE_STRIP in RViz
- fix (remaining_distance_calculator): derive lane list from route msg when areas present in the route
* fix(mission_planner): drop redundant goal_height init in refine_goal_height Removes cppcheck redundantInitialization warning; goal_height is always set in the area vs lane branches before use.
- style(pre-commit): autofix
- fix: resolve merge conflicts
* style(pre-commit): autofix ---------Co-authored-by: Ryohsuke Mitsudome <<ryohsuke.mitsudome@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
Contributors: emmeyteja, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_manual_lane_change_handler): use RouteHandler directly (#12389)
- fix
* removed unused params ---------
-
chore(planning): remove unused lanelet2_extension header (#12294)
- unused lanelet2_extension in planning component
- unused lanelet2_extension in planning component (2)
* unused lanelet2_extension in planning component (3) ---------Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(manual_lane_change_handler): remove unreadVariable (#11973)
-
Contributors: Arjun Jagdish Ram, Ryuta Kambe, Sarun MUKDAPITAK, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(manual_lane_change_handler): remove unusedVariable (#11972)
- feat(manual_lane_change_handler): check reroute_availability when set_preferred_lanes is called (#11819) add feature to check the reroute_availability when the set_preferred_lane is called
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, Taiki Yamada
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/manual_lane_change_handler.launch.xml
-
- map_topic_name [default: /map/vector_map]
Messages
Services
Plugins
Recent questions tagged autoware_manual_lane_change_handler at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache-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
- Arjun Jagdish Ram
- Taiki Yamada
Authors
Manual Lane Change Handler
Purpose
Manual Lane Change Handler helps shift the preferred-primitives of a route to the left or right. A manual lane-change handler rviz plugin is also available for use for the user.
Example for using the Manual Lane Change Handler
Service call to shift the preferred-lanes to the left
ros2 service call /planning/mission_planning/manual_lane_change_handler/set_preferred_lane tier4_external_api_msgs/srv/SetPreferredLane lane_change_direction:\ 0\
Services
| Name | Type | Description |
|---|---|---|
/planning/manual_lane_change_handler/manual_lane_change_handler/set_preferred_lane |
tier4_external_api_msgs/srv/SetPreferredLane | preferred-lane request |
Subscriptions
| Name | Type | Description |
|---|---|---|
input/odometry |
nav_msgs/msg/Odometry | vehicle odometry |
/planning/mission_planning/route |
autoware_planning_msgs/msg/LaneletRoute | current lanelet route |
/planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/output/is_reroute_available |
tier4_planning_msgs/msg/RerouteAvailability | Availability to reroute generally published by the behavior_path_planner. The set_preferred_lane service will be denied when this topic is false. |
Publications
| Name | Type | Description |
|---|---|---|
~/debug/processing_time_ms |
autoware_internal_debug_msgs/msg/Float64Stamped | processing time for lane change for debug |
~/debug/route_marker |
visualization_msgs/msg/MarkerArray | route marker for debug |
~/debug/goal_footprint |
visualization_msgs/msg/MarkerArray | goal footprint for debug |
Service client
| Service Name | Description |
|---|---|
| ~/set_preferred_lane | The service to set the preferred lane |
Registered Servers
| Service Name | Description |
|---|---|
| /planning/mission_planning/mission_planner/set_preferred_primitive | The service to set the preferred primitive |
Setting Preferred Lane
This service allows for shifting the current preferred lane to the left or right, or reverting to the default preferred lane received from the route planner. As the vehicle moves, the shifting is done relative to the current preferred lane.
Based on certain criteria, shifting may be rejected, as in the following cases:
- Left or Right shift is not available due to no lane being present to shift to
- The next segment is a turn or the very last lane - this is to ensure that we can navigate the enter path and end up at the goal
- The reroute availability provided by the behavior_path_planner is
false
@startuml
title process_lane_change_request
start
:Compute override_direction from request;
if (override_direction == AUTO) then (yes)
if (currently in lane-change override) then (yes)
:revert to original route;
stop
else (no)
:do nothing;
stop
endif
else (no)
if (has a route been set?) then (yes)
:find initial segment;
while (not penultimate segment) is (yes)
if (shift unavailable\nor next segment is turn?) then (yes)
--> while (not penultimate segment) ' continue
else (no)
if (left-shift requested and possible) then (yes)
:shift left;
elseif (right-shift requested and possible) then (yes)
:shift right;
endif
--> while (not penultimate segment) ' jump back instead of implicit join
endif
endwhile (no)
stop
else (no)
:do nothing;
stop
endif
endif
@enduml
Changelog for package autoware_manual_lane_change_handler
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(autoware_manual_lane_change_handler): added a new maintainer (#13273) Added new maintainer
- fix(planning, control): point design param_files at the packages that install them (#13219) BehaviorPathPlanner listed its plugin modules' param files as relative paths, resolving against the host node package; each module package installs its own config. PlanningValidator referenced its checker plugins' param files under the host package with a planning_validator_ filename prefix the plugins do not use. TrajectoryFollower referenced config/ where the package installs param/, and controller files that exist per controller type (mpc, pid). ManualLaneChangeHandler declared a param file that does not exist; the node declares no parameters. The run_out module ships a config directory that ament_auto_package() did not install. Co-authored-by: Claude Fable 5 <<noreply@anthropic.com>>
- refactor(planning): move node design files into each package (#13102) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Arjun Jagdish Ram, Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat: add area support for route planning and fix DCO signoff (#12572)
- feat: add support for area for route planning
- feat(mission_planner): publish lane+area route segments and goal height
- fix(manual_lane_change_handler): guard lane-only APIs when route has areas
- feat(mission_planner): visualize route area segments as LINE_STRIP in RViz
- fix (remaining_distance_calculator): derive lane list from route msg when areas present in the route
* fix(mission_planner): drop redundant goal_height init in refine_goal_height Removes cppcheck redundantInitialization warning; goal_height is always set in the area vs lane branches before use.
- style(pre-commit): autofix
- fix: resolve merge conflicts
* style(pre-commit): autofix ---------Co-authored-by: Ryohsuke Mitsudome <<ryohsuke.mitsudome@tier4.jp>> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
-
Contributors: emmeyteja, github-actions
0.51.0 (2026-05-01)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
fix(autoware_manual_lane_change_handler): use RouteHandler directly (#12389)
- fix
* removed unused params ---------
-
chore(planning): remove unused lanelet2_extension header (#12294)
- unused lanelet2_extension in planning component
- unused lanelet2_extension in planning component (2)
* unused lanelet2_extension in planning component (3) ---------Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>
-
fix(manual_lane_change_handler): remove unreadVariable (#11973)
-
Contributors: Arjun Jagdish Ram, Ryuta Kambe, Sarun MUKDAPITAK, github-actions
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(manual_lane_change_handler): remove unusedVariable (#11972)
- feat(manual_lane_change_handler): check reroute_availability when set_preferred_lanes is called (#11819) add feature to check the reroute_availability when the set_preferred_lane is called
- Contributors: Ryohsuke Mitsudome, Ryuta Kambe, Taiki Yamada
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| autoware_planning_launch |
Launch files
- launch/manual_lane_change_handler.launch.xml
-
- map_topic_name [default: /map/vector_map]