Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
jazzy

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro lyrical showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro rolling showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_route_handler package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_specs autoware_geography_utils autoware_global_parameter_loader autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_planning_test_manager autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.9.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-07-03
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The route_handling package

Maintainers

  • Zulfaqar Azmi
  • Kosuke Takeuchi
  • Mamoru Sobue
  • Alqudah Mohammad

Authors

  • Fumiya Watanabe
  • Takayuki Murooka

route handler

route_handler is a library for calculating driving route on the lanelet map.

Unit Testing

The unit testing depends on autoware_test_utils package. autoware_test_utils is a library that provides several common functions to simplify unit test creating.

route_handler_test

By default, route file is necessary to create tests. The following illustrates the route that are used in the unit test

Lane change test route

lane_change_test_route

  • The route is based on map that can be obtained from autoware_test_utils\test_map
CHANGELOG

Changelog for package autoware_route_handler

1.1.0 (2025-05-01)

  • feat(route_handler): use a cost metric to select start lane (#357)

    • feat(route_handler): use a cost metric to select start lane

    * style(pre-commit): autofix ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • Contributors: Mert Çolak

1.9.0 (2026-06-24)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • feat: add setAllowArea method in route handler for downstream module route validation (#1194)

    • feat: add setAllowArea method in route handler and support for finding next_lanelets_sequence when route consists areas
    • style(pre-commit): autofix
    • test(autoware_route_handler): add unit tests for allow-area route support

    * fix: address precommit-ci errors ---------Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • perf(autoware_route_handler): drop duplicate routing graph build in setMap (#1119)

    * perf(autoware_route_handler): drop duplicate routing graph build in setMap setMap() built the whole-map vehicle RoutingGraph twice and ran an unused full-map lanelet query in both overloads. Building a RoutingGraph over an entire HD map is one of the most expensive operations in the stack.

    - In the LaneletMapConstPtr overload, instantiate_routing_graph_and_traffic_rules already builds the vehicle graph with the Germany/Vehicle rules, which is identical to the vehicle graph rebuilt for the overall-graph container. Reuse the already-built routing_graph_ptr_ as the container's vehicle slot instead of rebuilding it, halving the routing-graph build cost of this overload.

    - In the LaneletMapBin overload, routing_graph_ptr_ is built with the Autoware participant rules (lanelet::autoware::DefaultLocation), which permit routing through areas, whereas the overall-graph container intentionally uses the plain Germany/Vehicle vehicle graph. To preserve the observable getOverallGraphPtr() behavior, the separate vehicle graph build is kept here; only the dead all_lanelets query is removed.

    - Remove the unused [all_lanelets]{.title-ref} lanelet-layer query from both overloads. Add characterization tests (test/test_set_map.cpp) pinning the observable graph state exposed via getRoutingGraphPtr() / getOverallGraphPtr(): the overall-graph container always exposes two non-null graphs, and for the LaneletMapConstPtr overload the container's vehicle graph encodes the same per-lanelet following relations as routing_graph_ptr_ and is deterministic across reconstruction. No public API change. Behavior preserved (verified by full package test suite). Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): assert vehicle graph against independent reference (#82) Build a separate Germany/Vehicle routing graph in the test and compare the reused production routing graph against it, instead of comparing the routing graph to the container's vehicle slot (the same shared_ptr), which made the assertion f(x)==f(x). Add a pointer-identity check to document the intended reuse. Refs: autowarefoundation/autoware_core#1096

    * test(autoware_route_handler): drop weak setMap characterization tests Remove test/test_set_map.cpp per review. On the area-free sample map, Germany/Vehicle and DefaultLocation rules produce identical following() relations, so the tests would pass even with the wrong rules and were hard to read. The production setMap() change has no observable behavior change and remains; a focused setMap test on an area-containing fixture can be added separately. Refs: autowarefoundation/autoware_core#1096 ---------

  • feat: add support for area for route planning (#993)

    • feat: add support for area for route planning
    • style(pre-commit): autofix
    • feat(route_handler): publish mixed lanelet/area routes in LaneletRoute segments
    • style(pre-commit): autofix

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_route_handler at Robotics Stack Exchange