Package symbol

autoware_lanelet2_utils package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core 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_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.7.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

The autoware_lanelet2_utils package

Maintainers

  • Mamoru Sobue
  • Maxime Clement
  • Kosuke Takeuchi

Authors

  • Mamoru Sobue

autoware_lanelet2_utils

Nomenclature

This package aims to strictly define the meaning of several words to clarify the documentation and API’s scope. In the table below, codespace words are given specific meanings when used in the API and API description. italic words are emphasized to indicate that it refers to social common sense which often comes with ambiguity. To help disambiguate the meaning, illustration is provided. “Lanelet” refers to the entity of alanelet::ConstLanelet object in order to distinguish with the word “lane” used in social customs. A and B stands for some Lanelets objects.

Word Meaning Illustration
driving The vehicle position belongs to the designated Lanelet. In each map, green Lanelet are the driving lanes of the vehicle.
driving
Open
boundary,
entry,
exit
The boundary of a Lanelet refers to the left or right Linestring. boundary_entry_exit
Open
adjacent If A is adjacent to B, A and B share a common boundary with same direction either on the left or right side. In each map, orange Lanelet is adjacent to green Lanelet.
adjacent
Open
same_direction Lanelet A and Lanelet B are same_direction if A and B are directly or indirectly adjacent to each other. In each map, orange Lanelets are same_direction as green Lanelet.
same_direction
Open
bundle A bundle refers to a transitive closure set of Lanelets which are same_direction to each other. The enclosed sets of Lanelets are bundles.
bundle
Open
opposite If A is opposite to B, A and B share a common boundary with opposite direction. In the first map, green Lanelet and orange Lanelet are opposite to each other.
In the second map, two red Lanelets are not opposite relation because they do not share a common LineString.
opposite
Open
opposite_direction If A and B are opposite_direction, the bundle of A and B are directly opposite to each other. In the each map, green Lanelet and orange Lanelet are opposite_direction because their bundles(enclosed in dotted line) are opposite relation.
opposite_direction
Open
connected A is connected to(from) B if and only if the exit(entry) of A is identical to the entry(exit) of B. A is connected to B, and B is connected from A.
connected
Open
following The following Lanelets of A is the list of Lanelets to which A is connected. In each map, orange Lanelets are the following of green Lanelet.
following
Open
previous The previous Lanelets of A is the list of Lanelets from which A is connected. In each map, orange Lanelets are the previous of green Lanelet.
previous
Open
conflicting A is conflicting with B if A and B are geometrically intersecting.  
merging A is said to be merging Lanelet of B if and only if A is conflicting with B and both A and B are connected to a common Lanelet. In each map, one of the orange Lanelet is a merging Lanelet of the other orange Lanelet.
merging
Open
sibling The designated Lanelets are referred to as sibling if all of them are connected from a common Lanelet. In each map, orange Lanelets are siblings.
sibling
Open
oncoming TBD TBD
upcoming TBD TBD
sequence sequence is a list of Lanelets whose each element is connected from or adjacent to the previous element. sequence
Open
current_route_lanelet current_route_lanelet is one of the lanelet within the route which serves as the reference for ego position.  

API description

<autoware/lanelet2_utils/geometry.hpp>

Function Description Average Computational Complexity Illustration
extrapolate_point Linearly extrapolate a point (ConstPoint3d) beyond a segment defined by two points (first and second) with given distance.   extrapolate_point
Open
interpolate_point Linearly interpolates a point along a segment defined by two points.   interpolate_point
Open
interpolate_lanelet Find an interpolated point from a lanelet centerline at a given distance.   interpolate_lanelet
Open
interpolate_lanelet_sequence Find the first interpolated point from a centerline of the lanelet sequence at a given distance.   interpolate_lanelet_sequence
Open
concatenate_center_line Concatenate all center line of input lanelet sequence (several ConstLanelets)   concatenate_center_line
Open
get_linestring_from_arc_length Extract a sub-linestring between two arc-length positions along an input linestring.   get_linestring_from_arc_length
Open
get_pose_from_2d_arc_length Compute the 2D pose (position and heading) at a given arc-length along a sequence of lanelets.   get_pose_from_2d_arc_length
Open
get_polygon_from_arc_length Extract a lanelet Polygon between two arc-length positions along input lanelet sequence.   get_polygon_from_arc_length
Open
get_closest_segment Find the closest segment of the ConstLineString3d to the search point (BasicPoint3d).   get_closest_segment
Open
get_lanelet_angle Find the angle of center line segment of the lanelet that is closest to search point (BasicPoint3d). The angle is defined with the x-axis as the reference (0 radians). Positive angles are measured counterclockwise, while negative angles are measured clockwise within range of −π to π radians.   get_lanelet_angle
Open
get_closest_center_pose Find pose of the closest point of the lanelet centerline to search point.   get_closest_center_pose
Open
get_arc_coordinates Find ArcCoordinates of the search pose on lanelet sequence centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates
Open
get_arc_coordinates_on_ego_centerline Find ArcCoordinates of the search pose on lanelet sequence centerline.
When the use_waypoints in the autoware_map_loader is true, the waypoints tag in the lanelet2::LaneletMapPtr is used instead of the centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates_on_ego_centerline
Open
get_lateral_distance_to_centerline Find distance of search pose to centerline (distance in ArcCoordinates).

(lanelet - lanelet::ConstLanelet or lanelet sequence - lanelet::ConstLanelets)
  get_lateral_distance_to_centerline
Open
get_lateral_distance_to_centerline_lanelet_sequence
Open
combine_lanelets_shape Combine lanelet sequence (several lanelets) into one lanelet.   combine_lanelets_shape
Open
get_dirty_expanded_lanelet Expand the lanelet.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelet
Open
get_dirty_expanded_lanelets Expand several lanelets.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelets
Open
get_fine_centerline Get the centerline of ConstLanelet (without offset) with designated resolution.
Note: The number of segments is calculated as the ceiling of the longer bound length divided by the resolution.
  get_fine_centerline
Open
get_centerline_with_offset Get the centerline of ConstLanelet with offset.

Sign Convention: <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_centerline_with_offset
Open
get_right_bound_with_offset Get the right bound of ConstLanelet with offset.

Sign Convention: (Opposite to centerline) <ul><li>Positive: to the right bound</li><li>Negative: to the left bound</li></ul>
  get_right_bound_with_offset
Open
get_left_bound_with_offset Get the left bound of ConstLanelet with offset.

Sign Convention: (Same as centerline) <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_left_bound_with_offset
Open
is_in_lanelet Check if the query pose is inside lanelet or within given radius from the closest point of lanelet.   is_in_lanelet
Open

Example Usage of geometry

Extrapolate point for distance of 5.

```cpp title=”./examples/example_geometry.cpp:51:55” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:51:55 –8<–


Interpolate point at half of the segment.


```cpp title="./examples/example_geometry.cpp:69:74"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:69:74
--8<--

Interpolate lanelet at distance of 3.

```cpp title=”./examples/example_geometry.cpp:82:84” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:82:84 –8<–


Interpolate lanelet sequence at distance of 3.


```cpp title="./examples/example_geometry.cpp:92:98"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:92:98
--8<--

Concatenate several lanelet centerline.

```cpp title=”./examples/example_geometry.cpp:110:118” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:110:118 –8<–

```

Get linestring from arc-length range (of 0.5 to 1.5).

```cpp title=”./examples/example_geometry.cpp:142:150”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package autoware_lanelet2_utils

1.1.0 (2025-05-01)

  • refactor(autoware_lanelet2_utils)!: move everything to namespace experimental (#372)

  • refactor(autoware_lanelet2_utils): rewrite using modern C++ without API breakage (#347)

    • refactor using modern c++
    • precommit
    • fix
    • fix
    • precommit
    • use std::strcmp
    • precommit

    * Revert "refactor using modern c++" This reverts commit 3f7e4953c08f5237dc3bc75db3d896cc9c0640a3. ---------

  • Contributors: Mamoru Sobue, Yutaka Kondo

1.7.0 (2026-02-14)

  • Merge remote-tracking branch 'origin/main' into humble

  • feat(lanelet2_utils): add empty input handler for get_arc_coordinates (#831)

    • add empty input lanelets handler for get_arc_coordinates

    * add test ensure default ArcCoordinates ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • docs(lanelet2_utils): add succeeding/preceding lanelet sequence illustration (#830) added succeeding/preceding lanelet sequences illustration

  • feat(lanelet2_extension): port some lanelet2_extension query functions (2) (#809)

  • feat(lanelet2_extension): port remaining lanelet2_extension utilities functions (#760) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • feat(lanelet2_extension): port some lanelet2_extension query functions (#790)

    • port left/right/all_neighbor_lanelets and their tests
    • replace getAllNeighbors* with ported functions
    • add neighbors order description and verify in test
    • add ported functions to API table
    • add example code snippet

    * Remove optional from return value Assume one lanelet is always in return value (itself)

    • change usage of left/right_lanelets (always check access)
    • fix README for example code snippet
    • fix cppcheck-differential

    * fix README description ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>> Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>

  • revert: feat(path_generator): use [route_manager]{.title-ref} to handle route data #725 (#801) This reverts commit 2403cb5952d33db8e4a403d6cc7b368521d47f5e.

  • feat(path_generator): use [route_manager]{.title-ref} to handle route data (#725)

  • Contributors: Mitsuhiro Sakamoto, Ryohsuke Mitsudome, Sarun MUKDAPITAK

1.6.0 (2025-12-30)

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

  • feat(autoware_lanelet2_utils): define remove_const in header (#741) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • chore: jazzy-porting: fix test depend launch-test missing (#738) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

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_lanelet2_utils at Robotics Stack Exchange

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

autoware_lanelet2_utils package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core 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_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.7.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

The autoware_lanelet2_utils package

Maintainers

  • Mamoru Sobue
  • Maxime Clement
  • Kosuke Takeuchi

Authors

  • Mamoru Sobue

autoware_lanelet2_utils

Nomenclature

This package aims to strictly define the meaning of several words to clarify the documentation and API’s scope. In the table below, codespace words are given specific meanings when used in the API and API description. italic words are emphasized to indicate that it refers to social common sense which often comes with ambiguity. To help disambiguate the meaning, illustration is provided. “Lanelet” refers to the entity of alanelet::ConstLanelet object in order to distinguish with the word “lane” used in social customs. A and B stands for some Lanelets objects.

Word Meaning Illustration
driving The vehicle position belongs to the designated Lanelet. In each map, green Lanelet are the driving lanes of the vehicle.
driving
Open
boundary,
entry,
exit
The boundary of a Lanelet refers to the left or right Linestring. boundary_entry_exit
Open
adjacent If A is adjacent to B, A and B share a common boundary with same direction either on the left or right side. In each map, orange Lanelet is adjacent to green Lanelet.
adjacent
Open
same_direction Lanelet A and Lanelet B are same_direction if A and B are directly or indirectly adjacent to each other. In each map, orange Lanelets are same_direction as green Lanelet.
same_direction
Open
bundle A bundle refers to a transitive closure set of Lanelets which are same_direction to each other. The enclosed sets of Lanelets are bundles.
bundle
Open
opposite If A is opposite to B, A and B share a common boundary with opposite direction. In the first map, green Lanelet and orange Lanelet are opposite to each other.
In the second map, two red Lanelets are not opposite relation because they do not share a common LineString.
opposite
Open
opposite_direction If A and B are opposite_direction, the bundle of A and B are directly opposite to each other. In the each map, green Lanelet and orange Lanelet are opposite_direction because their bundles(enclosed in dotted line) are opposite relation.
opposite_direction
Open
connected A is connected to(from) B if and only if the exit(entry) of A is identical to the entry(exit) of B. A is connected to B, and B is connected from A.
connected
Open
following The following Lanelets of A is the list of Lanelets to which A is connected. In each map, orange Lanelets are the following of green Lanelet.
following
Open
previous The previous Lanelets of A is the list of Lanelets from which A is connected. In each map, orange Lanelets are the previous of green Lanelet.
previous
Open
conflicting A is conflicting with B if A and B are geometrically intersecting.  
merging A is said to be merging Lanelet of B if and only if A is conflicting with B and both A and B are connected to a common Lanelet. In each map, one of the orange Lanelet is a merging Lanelet of the other orange Lanelet.
merging
Open
sibling The designated Lanelets are referred to as sibling if all of them are connected from a common Lanelet. In each map, orange Lanelets are siblings.
sibling
Open
oncoming TBD TBD
upcoming TBD TBD
sequence sequence is a list of Lanelets whose each element is connected from or adjacent to the previous element. sequence
Open
current_route_lanelet current_route_lanelet is one of the lanelet within the route which serves as the reference for ego position.  

API description

<autoware/lanelet2_utils/geometry.hpp>

Function Description Average Computational Complexity Illustration
extrapolate_point Linearly extrapolate a point (ConstPoint3d) beyond a segment defined by two points (first and second) with given distance.   extrapolate_point
Open
interpolate_point Linearly interpolates a point along a segment defined by two points.   interpolate_point
Open
interpolate_lanelet Find an interpolated point from a lanelet centerline at a given distance.   interpolate_lanelet
Open
interpolate_lanelet_sequence Find the first interpolated point from a centerline of the lanelet sequence at a given distance.   interpolate_lanelet_sequence
Open
concatenate_center_line Concatenate all center line of input lanelet sequence (several ConstLanelets)   concatenate_center_line
Open
get_linestring_from_arc_length Extract a sub-linestring between two arc-length positions along an input linestring.   get_linestring_from_arc_length
Open
get_pose_from_2d_arc_length Compute the 2D pose (position and heading) at a given arc-length along a sequence of lanelets.   get_pose_from_2d_arc_length
Open
get_polygon_from_arc_length Extract a lanelet Polygon between two arc-length positions along input lanelet sequence.   get_polygon_from_arc_length
Open
get_closest_segment Find the closest segment of the ConstLineString3d to the search point (BasicPoint3d).   get_closest_segment
Open
get_lanelet_angle Find the angle of center line segment of the lanelet that is closest to search point (BasicPoint3d). The angle is defined with the x-axis as the reference (0 radians). Positive angles are measured counterclockwise, while negative angles are measured clockwise within range of −π to π radians.   get_lanelet_angle
Open
get_closest_center_pose Find pose of the closest point of the lanelet centerline to search point.   get_closest_center_pose
Open
get_arc_coordinates Find ArcCoordinates of the search pose on lanelet sequence centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates
Open
get_arc_coordinates_on_ego_centerline Find ArcCoordinates of the search pose on lanelet sequence centerline.
When the use_waypoints in the autoware_map_loader is true, the waypoints tag in the lanelet2::LaneletMapPtr is used instead of the centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates_on_ego_centerline
Open
get_lateral_distance_to_centerline Find distance of search pose to centerline (distance in ArcCoordinates).

(lanelet - lanelet::ConstLanelet or lanelet sequence - lanelet::ConstLanelets)
  get_lateral_distance_to_centerline
Open
get_lateral_distance_to_centerline_lanelet_sequence
Open
combine_lanelets_shape Combine lanelet sequence (several lanelets) into one lanelet.   combine_lanelets_shape
Open
get_dirty_expanded_lanelet Expand the lanelet.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelet
Open
get_dirty_expanded_lanelets Expand several lanelets.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelets
Open
get_fine_centerline Get the centerline of ConstLanelet (without offset) with designated resolution.
Note: The number of segments is calculated as the ceiling of the longer bound length divided by the resolution.
  get_fine_centerline
Open
get_centerline_with_offset Get the centerline of ConstLanelet with offset.

Sign Convention: <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_centerline_with_offset
Open
get_right_bound_with_offset Get the right bound of ConstLanelet with offset.

Sign Convention: (Opposite to centerline) <ul><li>Positive: to the right bound</li><li>Negative: to the left bound</li></ul>
  get_right_bound_with_offset
Open
get_left_bound_with_offset Get the left bound of ConstLanelet with offset.

Sign Convention: (Same as centerline) <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_left_bound_with_offset
Open
is_in_lanelet Check if the query pose is inside lanelet or within given radius from the closest point of lanelet.   is_in_lanelet
Open

Example Usage of geometry

Extrapolate point for distance of 5.

```cpp title=”./examples/example_geometry.cpp:51:55” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:51:55 –8<–


Interpolate point at half of the segment.


```cpp title="./examples/example_geometry.cpp:69:74"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:69:74
--8<--

Interpolate lanelet at distance of 3.

```cpp title=”./examples/example_geometry.cpp:82:84” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:82:84 –8<–


Interpolate lanelet sequence at distance of 3.


```cpp title="./examples/example_geometry.cpp:92:98"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:92:98
--8<--

Concatenate several lanelet centerline.

```cpp title=”./examples/example_geometry.cpp:110:118” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:110:118 –8<–

```

Get linestring from arc-length range (of 0.5 to 1.5).

```cpp title=”./examples/example_geometry.cpp:142:150”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package autoware_lanelet2_utils

1.1.0 (2025-05-01)

  • refactor(autoware_lanelet2_utils)!: move everything to namespace experimental (#372)

  • refactor(autoware_lanelet2_utils): rewrite using modern C++ without API breakage (#347)

    • refactor using modern c++
    • precommit
    • fix
    • fix
    • precommit
    • use std::strcmp
    • precommit

    * Revert "refactor using modern c++" This reverts commit 3f7e4953c08f5237dc3bc75db3d896cc9c0640a3. ---------

  • Contributors: Mamoru Sobue, Yutaka Kondo

1.7.0 (2026-02-14)

  • Merge remote-tracking branch 'origin/main' into humble

  • feat(lanelet2_utils): add empty input handler for get_arc_coordinates (#831)

    • add empty input lanelets handler for get_arc_coordinates

    * add test ensure default ArcCoordinates ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • docs(lanelet2_utils): add succeeding/preceding lanelet sequence illustration (#830) added succeeding/preceding lanelet sequences illustration

  • feat(lanelet2_extension): port some lanelet2_extension query functions (2) (#809)

  • feat(lanelet2_extension): port remaining lanelet2_extension utilities functions (#760) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • feat(lanelet2_extension): port some lanelet2_extension query functions (#790)

    • port left/right/all_neighbor_lanelets and their tests
    • replace getAllNeighbors* with ported functions
    • add neighbors order description and verify in test
    • add ported functions to API table
    • add example code snippet

    * Remove optional from return value Assume one lanelet is always in return value (itself)

    • change usage of left/right_lanelets (always check access)
    • fix README for example code snippet
    • fix cppcheck-differential

    * fix README description ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>> Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>

  • revert: feat(path_generator): use [route_manager]{.title-ref} to handle route data #725 (#801) This reverts commit 2403cb5952d33db8e4a403d6cc7b368521d47f5e.

  • feat(path_generator): use [route_manager]{.title-ref} to handle route data (#725)

  • Contributors: Mitsuhiro Sakamoto, Ryohsuke Mitsudome, Sarun MUKDAPITAK

1.6.0 (2025-12-30)

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

  • feat(autoware_lanelet2_utils): define remove_const in header (#741) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • chore: jazzy-porting: fix test depend launch-test missing (#738) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

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_lanelet2_utils at Robotics Stack Exchange

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

autoware_lanelet2_utils package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core 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_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.7.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

The autoware_lanelet2_utils package

Maintainers

  • Mamoru Sobue
  • Maxime Clement
  • Kosuke Takeuchi

Authors

  • Mamoru Sobue

autoware_lanelet2_utils

Nomenclature

This package aims to strictly define the meaning of several words to clarify the documentation and API’s scope. In the table below, codespace words are given specific meanings when used in the API and API description. italic words are emphasized to indicate that it refers to social common sense which often comes with ambiguity. To help disambiguate the meaning, illustration is provided. “Lanelet” refers to the entity of alanelet::ConstLanelet object in order to distinguish with the word “lane” used in social customs. A and B stands for some Lanelets objects.

Word Meaning Illustration
driving The vehicle position belongs to the designated Lanelet. In each map, green Lanelet are the driving lanes of the vehicle.
driving
Open
boundary,
entry,
exit
The boundary of a Lanelet refers to the left or right Linestring. boundary_entry_exit
Open
adjacent If A is adjacent to B, A and B share a common boundary with same direction either on the left or right side. In each map, orange Lanelet is adjacent to green Lanelet.
adjacent
Open
same_direction Lanelet A and Lanelet B are same_direction if A and B are directly or indirectly adjacent to each other. In each map, orange Lanelets are same_direction as green Lanelet.
same_direction
Open
bundle A bundle refers to a transitive closure set of Lanelets which are same_direction to each other. The enclosed sets of Lanelets are bundles.
bundle
Open
opposite If A is opposite to B, A and B share a common boundary with opposite direction. In the first map, green Lanelet and orange Lanelet are opposite to each other.
In the second map, two red Lanelets are not opposite relation because they do not share a common LineString.
opposite
Open
opposite_direction If A and B are opposite_direction, the bundle of A and B are directly opposite to each other. In the each map, green Lanelet and orange Lanelet are opposite_direction because their bundles(enclosed in dotted line) are opposite relation.
opposite_direction
Open
connected A is connected to(from) B if and only if the exit(entry) of A is identical to the entry(exit) of B. A is connected to B, and B is connected from A.
connected
Open
following The following Lanelets of A is the list of Lanelets to which A is connected. In each map, orange Lanelets are the following of green Lanelet.
following
Open
previous The previous Lanelets of A is the list of Lanelets from which A is connected. In each map, orange Lanelets are the previous of green Lanelet.
previous
Open
conflicting A is conflicting with B if A and B are geometrically intersecting.  
merging A is said to be merging Lanelet of B if and only if A is conflicting with B and both A and B are connected to a common Lanelet. In each map, one of the orange Lanelet is a merging Lanelet of the other orange Lanelet.
merging
Open
sibling The designated Lanelets are referred to as sibling if all of them are connected from a common Lanelet. In each map, orange Lanelets are siblings.
sibling
Open
oncoming TBD TBD
upcoming TBD TBD
sequence sequence is a list of Lanelets whose each element is connected from or adjacent to the previous element. sequence
Open
current_route_lanelet current_route_lanelet is one of the lanelet within the route which serves as the reference for ego position.  

API description

<autoware/lanelet2_utils/geometry.hpp>

Function Description Average Computational Complexity Illustration
extrapolate_point Linearly extrapolate a point (ConstPoint3d) beyond a segment defined by two points (first and second) with given distance.   extrapolate_point
Open
interpolate_point Linearly interpolates a point along a segment defined by two points.   interpolate_point
Open
interpolate_lanelet Find an interpolated point from a lanelet centerline at a given distance.   interpolate_lanelet
Open
interpolate_lanelet_sequence Find the first interpolated point from a centerline of the lanelet sequence at a given distance.   interpolate_lanelet_sequence
Open
concatenate_center_line Concatenate all center line of input lanelet sequence (several ConstLanelets)   concatenate_center_line
Open
get_linestring_from_arc_length Extract a sub-linestring between two arc-length positions along an input linestring.   get_linestring_from_arc_length
Open
get_pose_from_2d_arc_length Compute the 2D pose (position and heading) at a given arc-length along a sequence of lanelets.   get_pose_from_2d_arc_length
Open
get_polygon_from_arc_length Extract a lanelet Polygon between two arc-length positions along input lanelet sequence.   get_polygon_from_arc_length
Open
get_closest_segment Find the closest segment of the ConstLineString3d to the search point (BasicPoint3d).   get_closest_segment
Open
get_lanelet_angle Find the angle of center line segment of the lanelet that is closest to search point (BasicPoint3d). The angle is defined with the x-axis as the reference (0 radians). Positive angles are measured counterclockwise, while negative angles are measured clockwise within range of −π to π radians.   get_lanelet_angle
Open
get_closest_center_pose Find pose of the closest point of the lanelet centerline to search point.   get_closest_center_pose
Open
get_arc_coordinates Find ArcCoordinates of the search pose on lanelet sequence centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates
Open
get_arc_coordinates_on_ego_centerline Find ArcCoordinates of the search pose on lanelet sequence centerline.
When the use_waypoints in the autoware_map_loader is true, the waypoints tag in the lanelet2::LaneletMapPtr is used instead of the centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates_on_ego_centerline
Open
get_lateral_distance_to_centerline Find distance of search pose to centerline (distance in ArcCoordinates).

(lanelet - lanelet::ConstLanelet or lanelet sequence - lanelet::ConstLanelets)
  get_lateral_distance_to_centerline
Open
get_lateral_distance_to_centerline_lanelet_sequence
Open
combine_lanelets_shape Combine lanelet sequence (several lanelets) into one lanelet.   combine_lanelets_shape
Open
get_dirty_expanded_lanelet Expand the lanelet.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelet
Open
get_dirty_expanded_lanelets Expand several lanelets.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelets
Open
get_fine_centerline Get the centerline of ConstLanelet (without offset) with designated resolution.
Note: The number of segments is calculated as the ceiling of the longer bound length divided by the resolution.
  get_fine_centerline
Open
get_centerline_with_offset Get the centerline of ConstLanelet with offset.

Sign Convention: <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_centerline_with_offset
Open
get_right_bound_with_offset Get the right bound of ConstLanelet with offset.

Sign Convention: (Opposite to centerline) <ul><li>Positive: to the right bound</li><li>Negative: to the left bound</li></ul>
  get_right_bound_with_offset
Open
get_left_bound_with_offset Get the left bound of ConstLanelet with offset.

Sign Convention: (Same as centerline) <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_left_bound_with_offset
Open
is_in_lanelet Check if the query pose is inside lanelet or within given radius from the closest point of lanelet.   is_in_lanelet
Open

Example Usage of geometry

Extrapolate point for distance of 5.

```cpp title=”./examples/example_geometry.cpp:51:55” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:51:55 –8<–


Interpolate point at half of the segment.


```cpp title="./examples/example_geometry.cpp:69:74"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:69:74
--8<--

Interpolate lanelet at distance of 3.

```cpp title=”./examples/example_geometry.cpp:82:84” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:82:84 –8<–


Interpolate lanelet sequence at distance of 3.


```cpp title="./examples/example_geometry.cpp:92:98"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:92:98
--8<--

Concatenate several lanelet centerline.

```cpp title=”./examples/example_geometry.cpp:110:118” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:110:118 –8<–

```

Get linestring from arc-length range (of 0.5 to 1.5).

```cpp title=”./examples/example_geometry.cpp:142:150”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package autoware_lanelet2_utils

1.1.0 (2025-05-01)

  • refactor(autoware_lanelet2_utils)!: move everything to namespace experimental (#372)

  • refactor(autoware_lanelet2_utils): rewrite using modern C++ without API breakage (#347)

    • refactor using modern c++
    • precommit
    • fix
    • fix
    • precommit
    • use std::strcmp
    • precommit

    * Revert "refactor using modern c++" This reverts commit 3f7e4953c08f5237dc3bc75db3d896cc9c0640a3. ---------

  • Contributors: Mamoru Sobue, Yutaka Kondo

1.7.0 (2026-02-14)

  • Merge remote-tracking branch 'origin/main' into humble

  • feat(lanelet2_utils): add empty input handler for get_arc_coordinates (#831)

    • add empty input lanelets handler for get_arc_coordinates

    * add test ensure default ArcCoordinates ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • docs(lanelet2_utils): add succeeding/preceding lanelet sequence illustration (#830) added succeeding/preceding lanelet sequences illustration

  • feat(lanelet2_extension): port some lanelet2_extension query functions (2) (#809)

  • feat(lanelet2_extension): port remaining lanelet2_extension utilities functions (#760) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • feat(lanelet2_extension): port some lanelet2_extension query functions (#790)

    • port left/right/all_neighbor_lanelets and their tests
    • replace getAllNeighbors* with ported functions
    • add neighbors order description and verify in test
    • add ported functions to API table
    • add example code snippet

    * Remove optional from return value Assume one lanelet is always in return value (itself)

    • change usage of left/right_lanelets (always check access)
    • fix README for example code snippet
    • fix cppcheck-differential

    * fix README description ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>> Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>

  • revert: feat(path_generator): use [route_manager]{.title-ref} to handle route data #725 (#801) This reverts commit 2403cb5952d33db8e4a403d6cc7b368521d47f5e.

  • feat(path_generator): use [route_manager]{.title-ref} to handle route data (#725)

  • Contributors: Mitsuhiro Sakamoto, Ryohsuke Mitsudome, Sarun MUKDAPITAK

1.6.0 (2025-12-30)

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

  • feat(autoware_lanelet2_utils): define remove_const in header (#741) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • chore: jazzy-porting: fix test depend launch-test missing (#738) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

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_lanelet2_utils at Robotics Stack Exchange

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

autoware_lanelet2_utils package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core 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_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.7.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

The autoware_lanelet2_utils package

Maintainers

  • Mamoru Sobue
  • Maxime Clement
  • Kosuke Takeuchi

Authors

  • Mamoru Sobue

autoware_lanelet2_utils

Nomenclature

This package aims to strictly define the meaning of several words to clarify the documentation and API’s scope. In the table below, codespace words are given specific meanings when used in the API and API description. italic words are emphasized to indicate that it refers to social common sense which often comes with ambiguity. To help disambiguate the meaning, illustration is provided. “Lanelet” refers to the entity of alanelet::ConstLanelet object in order to distinguish with the word “lane” used in social customs. A and B stands for some Lanelets objects.

Word Meaning Illustration
driving The vehicle position belongs to the designated Lanelet. In each map, green Lanelet are the driving lanes of the vehicle.
driving
Open
boundary,
entry,
exit
The boundary of a Lanelet refers to the left or right Linestring. boundary_entry_exit
Open
adjacent If A is adjacent to B, A and B share a common boundary with same direction either on the left or right side. In each map, orange Lanelet is adjacent to green Lanelet.
adjacent
Open
same_direction Lanelet A and Lanelet B are same_direction if A and B are directly or indirectly adjacent to each other. In each map, orange Lanelets are same_direction as green Lanelet.
same_direction
Open
bundle A bundle refers to a transitive closure set of Lanelets which are same_direction to each other. The enclosed sets of Lanelets are bundles.
bundle
Open
opposite If A is opposite to B, A and B share a common boundary with opposite direction. In the first map, green Lanelet and orange Lanelet are opposite to each other.
In the second map, two red Lanelets are not opposite relation because they do not share a common LineString.
opposite
Open
opposite_direction If A and B are opposite_direction, the bundle of A and B are directly opposite to each other. In the each map, green Lanelet and orange Lanelet are opposite_direction because their bundles(enclosed in dotted line) are opposite relation.
opposite_direction
Open
connected A is connected to(from) B if and only if the exit(entry) of A is identical to the entry(exit) of B. A is connected to B, and B is connected from A.
connected
Open
following The following Lanelets of A is the list of Lanelets to which A is connected. In each map, orange Lanelets are the following of green Lanelet.
following
Open
previous The previous Lanelets of A is the list of Lanelets from which A is connected. In each map, orange Lanelets are the previous of green Lanelet.
previous
Open
conflicting A is conflicting with B if A and B are geometrically intersecting.  
merging A is said to be merging Lanelet of B if and only if A is conflicting with B and both A and B are connected to a common Lanelet. In each map, one of the orange Lanelet is a merging Lanelet of the other orange Lanelet.
merging
Open
sibling The designated Lanelets are referred to as sibling if all of them are connected from a common Lanelet. In each map, orange Lanelets are siblings.
sibling
Open
oncoming TBD TBD
upcoming TBD TBD
sequence sequence is a list of Lanelets whose each element is connected from or adjacent to the previous element. sequence
Open
current_route_lanelet current_route_lanelet is one of the lanelet within the route which serves as the reference for ego position.  

API description

<autoware/lanelet2_utils/geometry.hpp>

Function Description Average Computational Complexity Illustration
extrapolate_point Linearly extrapolate a point (ConstPoint3d) beyond a segment defined by two points (first and second) with given distance.   extrapolate_point
Open
interpolate_point Linearly interpolates a point along a segment defined by two points.   interpolate_point
Open
interpolate_lanelet Find an interpolated point from a lanelet centerline at a given distance.   interpolate_lanelet
Open
interpolate_lanelet_sequence Find the first interpolated point from a centerline of the lanelet sequence at a given distance.   interpolate_lanelet_sequence
Open
concatenate_center_line Concatenate all center line of input lanelet sequence (several ConstLanelets)   concatenate_center_line
Open
get_linestring_from_arc_length Extract a sub-linestring between two arc-length positions along an input linestring.   get_linestring_from_arc_length
Open
get_pose_from_2d_arc_length Compute the 2D pose (position and heading) at a given arc-length along a sequence of lanelets.   get_pose_from_2d_arc_length
Open
get_polygon_from_arc_length Extract a lanelet Polygon between two arc-length positions along input lanelet sequence.   get_polygon_from_arc_length
Open
get_closest_segment Find the closest segment of the ConstLineString3d to the search point (BasicPoint3d).   get_closest_segment
Open
get_lanelet_angle Find the angle of center line segment of the lanelet that is closest to search point (BasicPoint3d). The angle is defined with the x-axis as the reference (0 radians). Positive angles are measured counterclockwise, while negative angles are measured clockwise within range of −π to π radians.   get_lanelet_angle
Open
get_closest_center_pose Find pose of the closest point of the lanelet centerline to search point.   get_closest_center_pose
Open
get_arc_coordinates Find ArcCoordinates of the search pose on lanelet sequence centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates
Open
get_arc_coordinates_on_ego_centerline Find ArcCoordinates of the search pose on lanelet sequence centerline.
When the use_waypoints in the autoware_map_loader is true, the waypoints tag in the lanelet2::LaneletMapPtr is used instead of the centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates_on_ego_centerline
Open
get_lateral_distance_to_centerline Find distance of search pose to centerline (distance in ArcCoordinates).

(lanelet - lanelet::ConstLanelet or lanelet sequence - lanelet::ConstLanelets)
  get_lateral_distance_to_centerline
Open
get_lateral_distance_to_centerline_lanelet_sequence
Open
combine_lanelets_shape Combine lanelet sequence (several lanelets) into one lanelet.   combine_lanelets_shape
Open
get_dirty_expanded_lanelet Expand the lanelet.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelet
Open
get_dirty_expanded_lanelets Expand several lanelets.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelets
Open
get_fine_centerline Get the centerline of ConstLanelet (without offset) with designated resolution.
Note: The number of segments is calculated as the ceiling of the longer bound length divided by the resolution.
  get_fine_centerline
Open
get_centerline_with_offset Get the centerline of ConstLanelet with offset.

Sign Convention: <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_centerline_with_offset
Open
get_right_bound_with_offset Get the right bound of ConstLanelet with offset.

Sign Convention: (Opposite to centerline) <ul><li>Positive: to the right bound</li><li>Negative: to the left bound</li></ul>
  get_right_bound_with_offset
Open
get_left_bound_with_offset Get the left bound of ConstLanelet with offset.

Sign Convention: (Same as centerline) <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_left_bound_with_offset
Open
is_in_lanelet Check if the query pose is inside lanelet or within given radius from the closest point of lanelet.   is_in_lanelet
Open

Example Usage of geometry

Extrapolate point for distance of 5.

```cpp title=”./examples/example_geometry.cpp:51:55” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:51:55 –8<–


Interpolate point at half of the segment.


```cpp title="./examples/example_geometry.cpp:69:74"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:69:74
--8<--

Interpolate lanelet at distance of 3.

```cpp title=”./examples/example_geometry.cpp:82:84” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:82:84 –8<–


Interpolate lanelet sequence at distance of 3.


```cpp title="./examples/example_geometry.cpp:92:98"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:92:98
--8<--

Concatenate several lanelet centerline.

```cpp title=”./examples/example_geometry.cpp:110:118” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:110:118 –8<–

```

Get linestring from arc-length range (of 0.5 to 1.5).

```cpp title=”./examples/example_geometry.cpp:142:150”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package autoware_lanelet2_utils

1.1.0 (2025-05-01)

  • refactor(autoware_lanelet2_utils)!: move everything to namespace experimental (#372)

  • refactor(autoware_lanelet2_utils): rewrite using modern C++ without API breakage (#347)

    • refactor using modern c++
    • precommit
    • fix
    • fix
    • precommit
    • use std::strcmp
    • precommit

    * Revert "refactor using modern c++" This reverts commit 3f7e4953c08f5237dc3bc75db3d896cc9c0640a3. ---------

  • Contributors: Mamoru Sobue, Yutaka Kondo

1.7.0 (2026-02-14)

  • Merge remote-tracking branch 'origin/main' into humble

  • feat(lanelet2_utils): add empty input handler for get_arc_coordinates (#831)

    • add empty input lanelets handler for get_arc_coordinates

    * add test ensure default ArcCoordinates ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • docs(lanelet2_utils): add succeeding/preceding lanelet sequence illustration (#830) added succeeding/preceding lanelet sequences illustration

  • feat(lanelet2_extension): port some lanelet2_extension query functions (2) (#809)

  • feat(lanelet2_extension): port remaining lanelet2_extension utilities functions (#760) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • feat(lanelet2_extension): port some lanelet2_extension query functions (#790)

    • port left/right/all_neighbor_lanelets and their tests
    • replace getAllNeighbors* with ported functions
    • add neighbors order description and verify in test
    • add ported functions to API table
    • add example code snippet

    * Remove optional from return value Assume one lanelet is always in return value (itself)

    • change usage of left/right_lanelets (always check access)
    • fix README for example code snippet
    • fix cppcheck-differential

    * fix README description ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>> Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>

  • revert: feat(path_generator): use [route_manager]{.title-ref} to handle route data #725 (#801) This reverts commit 2403cb5952d33db8e4a403d6cc7b368521d47f5e.

  • feat(path_generator): use [route_manager]{.title-ref} to handle route data (#725)

  • Contributors: Mitsuhiro Sakamoto, Ryohsuke Mitsudome, Sarun MUKDAPITAK

1.6.0 (2025-12-30)

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

  • feat(autoware_lanelet2_utils): define remove_const in header (#741) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • chore: jazzy-porting: fix test depend launch-test missing (#738) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

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_lanelet2_utils at Robotics Stack Exchange

Package symbol

autoware_lanelet2_utils package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core 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_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
github

Package Summary

Version 1.7.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

The autoware_lanelet2_utils package

Maintainers

  • Mamoru Sobue
  • Maxime Clement
  • Kosuke Takeuchi

Authors

  • Mamoru Sobue

autoware_lanelet2_utils

Nomenclature

This package aims to strictly define the meaning of several words to clarify the documentation and API’s scope. In the table below, codespace words are given specific meanings when used in the API and API description. italic words are emphasized to indicate that it refers to social common sense which often comes with ambiguity. To help disambiguate the meaning, illustration is provided. “Lanelet” refers to the entity of alanelet::ConstLanelet object in order to distinguish with the word “lane” used in social customs. A and B stands for some Lanelets objects.

Word Meaning Illustration
driving The vehicle position belongs to the designated Lanelet. In each map, green Lanelet are the driving lanes of the vehicle.
driving
Open
boundary,
entry,
exit
The boundary of a Lanelet refers to the left or right Linestring. boundary_entry_exit
Open
adjacent If A is adjacent to B, A and B share a common boundary with same direction either on the left or right side. In each map, orange Lanelet is adjacent to green Lanelet.
adjacent
Open
same_direction Lanelet A and Lanelet B are same_direction if A and B are directly or indirectly adjacent to each other. In each map, orange Lanelets are same_direction as green Lanelet.
same_direction
Open
bundle A bundle refers to a transitive closure set of Lanelets which are same_direction to each other. The enclosed sets of Lanelets are bundles.
bundle
Open
opposite If A is opposite to B, A and B share a common boundary with opposite direction. In the first map, green Lanelet and orange Lanelet are opposite to each other.
In the second map, two red Lanelets are not opposite relation because they do not share a common LineString.
opposite
Open
opposite_direction If A and B are opposite_direction, the bundle of A and B are directly opposite to each other. In the each map, green Lanelet and orange Lanelet are opposite_direction because their bundles(enclosed in dotted line) are opposite relation.
opposite_direction
Open
connected A is connected to(from) B if and only if the exit(entry) of A is identical to the entry(exit) of B. A is connected to B, and B is connected from A.
connected
Open
following The following Lanelets of A is the list of Lanelets to which A is connected. In each map, orange Lanelets are the following of green Lanelet.
following
Open
previous The previous Lanelets of A is the list of Lanelets from which A is connected. In each map, orange Lanelets are the previous of green Lanelet.
previous
Open
conflicting A is conflicting with B if A and B are geometrically intersecting.  
merging A is said to be merging Lanelet of B if and only if A is conflicting with B and both A and B are connected to a common Lanelet. In each map, one of the orange Lanelet is a merging Lanelet of the other orange Lanelet.
merging
Open
sibling The designated Lanelets are referred to as sibling if all of them are connected from a common Lanelet. In each map, orange Lanelets are siblings.
sibling
Open
oncoming TBD TBD
upcoming TBD TBD
sequence sequence is a list of Lanelets whose each element is connected from or adjacent to the previous element. sequence
Open
current_route_lanelet current_route_lanelet is one of the lanelet within the route which serves as the reference for ego position.  

API description

<autoware/lanelet2_utils/geometry.hpp>

Function Description Average Computational Complexity Illustration
extrapolate_point Linearly extrapolate a point (ConstPoint3d) beyond a segment defined by two points (first and second) with given distance.   extrapolate_point
Open
interpolate_point Linearly interpolates a point along a segment defined by two points.   interpolate_point
Open
interpolate_lanelet Find an interpolated point from a lanelet centerline at a given distance.   interpolate_lanelet
Open
interpolate_lanelet_sequence Find the first interpolated point from a centerline of the lanelet sequence at a given distance.   interpolate_lanelet_sequence
Open
concatenate_center_line Concatenate all center line of input lanelet sequence (several ConstLanelets)   concatenate_center_line
Open
get_linestring_from_arc_length Extract a sub-linestring between two arc-length positions along an input linestring.   get_linestring_from_arc_length
Open
get_pose_from_2d_arc_length Compute the 2D pose (position and heading) at a given arc-length along a sequence of lanelets.   get_pose_from_2d_arc_length
Open
get_polygon_from_arc_length Extract a lanelet Polygon between two arc-length positions along input lanelet sequence.   get_polygon_from_arc_length
Open
get_closest_segment Find the closest segment of the ConstLineString3d to the search point (BasicPoint3d).   get_closest_segment
Open
get_lanelet_angle Find the angle of center line segment of the lanelet that is closest to search point (BasicPoint3d). The angle is defined with the x-axis as the reference (0 radians). Positive angles are measured counterclockwise, while negative angles are measured clockwise within range of −π to π radians.   get_lanelet_angle
Open
get_closest_center_pose Find pose of the closest point of the lanelet centerline to search point.   get_closest_center_pose
Open
get_arc_coordinates Find ArcCoordinates of the search pose on lanelet sequence centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates
Open
get_arc_coordinates_on_ego_centerline Find ArcCoordinates of the search pose on lanelet sequence centerline.
When the use_waypoints in the autoware_map_loader is true, the waypoints tag in the lanelet2::LaneletMapPtr is used instead of the centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates_on_ego_centerline
Open
get_lateral_distance_to_centerline Find distance of search pose to centerline (distance in ArcCoordinates).

(lanelet - lanelet::ConstLanelet or lanelet sequence - lanelet::ConstLanelets)
  get_lateral_distance_to_centerline
Open
get_lateral_distance_to_centerline_lanelet_sequence
Open
combine_lanelets_shape Combine lanelet sequence (several lanelets) into one lanelet.   combine_lanelets_shape
Open
get_dirty_expanded_lanelet Expand the lanelet.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelet
Open
get_dirty_expanded_lanelets Expand several lanelets.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelets
Open
get_fine_centerline Get the centerline of ConstLanelet (without offset) with designated resolution.
Note: The number of segments is calculated as the ceiling of the longer bound length divided by the resolution.
  get_fine_centerline
Open
get_centerline_with_offset Get the centerline of ConstLanelet with offset.

Sign Convention: <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_centerline_with_offset
Open
get_right_bound_with_offset Get the right bound of ConstLanelet with offset.

Sign Convention: (Opposite to centerline) <ul><li>Positive: to the right bound</li><li>Negative: to the left bound</li></ul>
  get_right_bound_with_offset
Open
get_left_bound_with_offset Get the left bound of ConstLanelet with offset.

Sign Convention: (Same as centerline) <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_left_bound_with_offset
Open
is_in_lanelet Check if the query pose is inside lanelet or within given radius from the closest point of lanelet.   is_in_lanelet
Open

Example Usage of geometry

Extrapolate point for distance of 5.

```cpp title=”./examples/example_geometry.cpp:51:55” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:51:55 –8<–


Interpolate point at half of the segment.


```cpp title="./examples/example_geometry.cpp:69:74"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:69:74
--8<--

Interpolate lanelet at distance of 3.

```cpp title=”./examples/example_geometry.cpp:82:84” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:82:84 –8<–


Interpolate lanelet sequence at distance of 3.


```cpp title="./examples/example_geometry.cpp:92:98"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:92:98
--8<--

Concatenate several lanelet centerline.

```cpp title=”./examples/example_geometry.cpp:110:118” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:110:118 –8<–

```

Get linestring from arc-length range (of 0.5 to 1.5).

```cpp title=”./examples/example_geometry.cpp:142:150”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package autoware_lanelet2_utils

1.1.0 (2025-05-01)

  • refactor(autoware_lanelet2_utils)!: move everything to namespace experimental (#372)

  • refactor(autoware_lanelet2_utils): rewrite using modern C++ without API breakage (#347)

    • refactor using modern c++
    • precommit
    • fix
    • fix
    • precommit
    • use std::strcmp
    • precommit

    * Revert "refactor using modern c++" This reverts commit 3f7e4953c08f5237dc3bc75db3d896cc9c0640a3. ---------

  • Contributors: Mamoru Sobue, Yutaka Kondo

1.7.0 (2026-02-14)

  • Merge remote-tracking branch 'origin/main' into humble

  • feat(lanelet2_utils): add empty input handler for get_arc_coordinates (#831)

    • add empty input lanelets handler for get_arc_coordinates

    * add test ensure default ArcCoordinates ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • docs(lanelet2_utils): add succeeding/preceding lanelet sequence illustration (#830) added succeeding/preceding lanelet sequences illustration

  • feat(lanelet2_extension): port some lanelet2_extension query functions (2) (#809)

  • feat(lanelet2_extension): port remaining lanelet2_extension utilities functions (#760) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • feat(lanelet2_extension): port some lanelet2_extension query functions (#790)

    • port left/right/all_neighbor_lanelets and their tests
    • replace getAllNeighbors* with ported functions
    • add neighbors order description and verify in test
    • add ported functions to API table
    • add example code snippet

    * Remove optional from return value Assume one lanelet is always in return value (itself)

    • change usage of left/right_lanelets (always check access)
    • fix README for example code snippet
    • fix cppcheck-differential

    * fix README description ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>> Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>

  • revert: feat(path_generator): use [route_manager]{.title-ref} to handle route data #725 (#801) This reverts commit 2403cb5952d33db8e4a403d6cc7b368521d47f5e.

  • feat(path_generator): use [route_manager]{.title-ref} to handle route data (#725)

  • Contributors: Mitsuhiro Sakamoto, Ryohsuke Mitsudome, Sarun MUKDAPITAK

1.6.0 (2025-12-30)

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

  • feat(autoware_lanelet2_utils): define remove_const in header (#741) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • chore: jazzy-porting: fix test depend launch-test missing (#738) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

File truncated at 100 lines see the full file

Dependant Packages

Name Deps
autoware_trajectory
autoware_lanelet2_map_visualizer
autoware_map_height_fitter
autoware_map_loader
autoware_mission_planner
autoware_path_generator
autoware_route_handler
autoware_behavior_velocity_planner_common
driving_environment_analyzer
autoware_traffic_light_recognition_marker_publisher
autoware_lane_departure_checker
autoware_control_evaluator
autoware_pose_estimator_arbiter
yabloc_common
yabloc_pose_initializer
autoware_map_tf_generator
autoware_compare_map_segmentation
autoware_crosswalk_traffic_light_estimator
autoware_detected_object_validation
autoware_elevation_map_loader
autoware_map_based_prediction
autoware_predicted_path_postprocessor
autoware_radar_object_tracker
autoware_simpl_prediction
autoware_traffic_light_arbiter
autoware_traffic_light_map_based_detector
autoware_traffic_light_multi_camera_fusion
autoware_traffic_light_occlusion_predictor
autoware_traffic_light_visualization
autoware_costmap_generator
autoware_diffusion_planner
autoware_mission_planner_universe
autoware_remaining_distance_time_calculator
autoware_trajectory_safety_filter
autoware_trajectory_traffic_rule_filter
autoware_behavior_path_goal_planner_module
autoware_behavior_path_lane_change_module
autoware_behavior_path_planner
autoware_behavior_path_planner_common
autoware_behavior_velocity_blind_spot_module
autoware_behavior_velocity_intersection_module
autoware_behavior_velocity_roundabout_module
autoware_behavior_velocity_traffic_light_module
autoware_motion_velocity_out_of_lane_module
autoware_planning_validator_rear_collision_checker
autoware_pointcloud_preprocessor
autoware_simple_planning_simulator
autoware_traffic_light_rviz_plugin
tier4_traffic_light_rviz_plugin

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_lanelet2_utils at Robotics Stack Exchange

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

autoware_lanelet2_utils package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core 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_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.7.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

The autoware_lanelet2_utils package

Maintainers

  • Mamoru Sobue
  • Maxime Clement
  • Kosuke Takeuchi

Authors

  • Mamoru Sobue

autoware_lanelet2_utils

Nomenclature

This package aims to strictly define the meaning of several words to clarify the documentation and API’s scope. In the table below, codespace words are given specific meanings when used in the API and API description. italic words are emphasized to indicate that it refers to social common sense which often comes with ambiguity. To help disambiguate the meaning, illustration is provided. “Lanelet” refers to the entity of alanelet::ConstLanelet object in order to distinguish with the word “lane” used in social customs. A and B stands for some Lanelets objects.

Word Meaning Illustration
driving The vehicle position belongs to the designated Lanelet. In each map, green Lanelet are the driving lanes of the vehicle.
driving
Open
boundary,
entry,
exit
The boundary of a Lanelet refers to the left or right Linestring. boundary_entry_exit
Open
adjacent If A is adjacent to B, A and B share a common boundary with same direction either on the left or right side. In each map, orange Lanelet is adjacent to green Lanelet.
adjacent
Open
same_direction Lanelet A and Lanelet B are same_direction if A and B are directly or indirectly adjacent to each other. In each map, orange Lanelets are same_direction as green Lanelet.
same_direction
Open
bundle A bundle refers to a transitive closure set of Lanelets which are same_direction to each other. The enclosed sets of Lanelets are bundles.
bundle
Open
opposite If A is opposite to B, A and B share a common boundary with opposite direction. In the first map, green Lanelet and orange Lanelet are opposite to each other.
In the second map, two red Lanelets are not opposite relation because they do not share a common LineString.
opposite
Open
opposite_direction If A and B are opposite_direction, the bundle of A and B are directly opposite to each other. In the each map, green Lanelet and orange Lanelet are opposite_direction because their bundles(enclosed in dotted line) are opposite relation.
opposite_direction
Open
connected A is connected to(from) B if and only if the exit(entry) of A is identical to the entry(exit) of B. A is connected to B, and B is connected from A.
connected
Open
following The following Lanelets of A is the list of Lanelets to which A is connected. In each map, orange Lanelets are the following of green Lanelet.
following
Open
previous The previous Lanelets of A is the list of Lanelets from which A is connected. In each map, orange Lanelets are the previous of green Lanelet.
previous
Open
conflicting A is conflicting with B if A and B are geometrically intersecting.  
merging A is said to be merging Lanelet of B if and only if A is conflicting with B and both A and B are connected to a common Lanelet. In each map, one of the orange Lanelet is a merging Lanelet of the other orange Lanelet.
merging
Open
sibling The designated Lanelets are referred to as sibling if all of them are connected from a common Lanelet. In each map, orange Lanelets are siblings.
sibling
Open
oncoming TBD TBD
upcoming TBD TBD
sequence sequence is a list of Lanelets whose each element is connected from or adjacent to the previous element. sequence
Open
current_route_lanelet current_route_lanelet is one of the lanelet within the route which serves as the reference for ego position.  

API description

<autoware/lanelet2_utils/geometry.hpp>

Function Description Average Computational Complexity Illustration
extrapolate_point Linearly extrapolate a point (ConstPoint3d) beyond a segment defined by two points (first and second) with given distance.   extrapolate_point
Open
interpolate_point Linearly interpolates a point along a segment defined by two points.   interpolate_point
Open
interpolate_lanelet Find an interpolated point from a lanelet centerline at a given distance.   interpolate_lanelet
Open
interpolate_lanelet_sequence Find the first interpolated point from a centerline of the lanelet sequence at a given distance.   interpolate_lanelet_sequence
Open
concatenate_center_line Concatenate all center line of input lanelet sequence (several ConstLanelets)   concatenate_center_line
Open
get_linestring_from_arc_length Extract a sub-linestring between two arc-length positions along an input linestring.   get_linestring_from_arc_length
Open
get_pose_from_2d_arc_length Compute the 2D pose (position and heading) at a given arc-length along a sequence of lanelets.   get_pose_from_2d_arc_length
Open
get_polygon_from_arc_length Extract a lanelet Polygon between two arc-length positions along input lanelet sequence.   get_polygon_from_arc_length
Open
get_closest_segment Find the closest segment of the ConstLineString3d to the search point (BasicPoint3d).   get_closest_segment
Open
get_lanelet_angle Find the angle of center line segment of the lanelet that is closest to search point (BasicPoint3d). The angle is defined with the x-axis as the reference (0 radians). Positive angles are measured counterclockwise, while negative angles are measured clockwise within range of −π to π radians.   get_lanelet_angle
Open
get_closest_center_pose Find pose of the closest point of the lanelet centerline to search point.   get_closest_center_pose
Open
get_arc_coordinates Find ArcCoordinates of the search pose on lanelet sequence centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates
Open
get_arc_coordinates_on_ego_centerline Find ArcCoordinates of the search pose on lanelet sequence centerline.
When the use_waypoints in the autoware_map_loader is true, the waypoints tag in the lanelet2::LaneletMapPtr is used instead of the centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates_on_ego_centerline
Open
get_lateral_distance_to_centerline Find distance of search pose to centerline (distance in ArcCoordinates).

(lanelet - lanelet::ConstLanelet or lanelet sequence - lanelet::ConstLanelets)
  get_lateral_distance_to_centerline
Open
get_lateral_distance_to_centerline_lanelet_sequence
Open
combine_lanelets_shape Combine lanelet sequence (several lanelets) into one lanelet.   combine_lanelets_shape
Open
get_dirty_expanded_lanelet Expand the lanelet.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelet
Open
get_dirty_expanded_lanelets Expand several lanelets.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelets
Open
get_fine_centerline Get the centerline of ConstLanelet (without offset) with designated resolution.
Note: The number of segments is calculated as the ceiling of the longer bound length divided by the resolution.
  get_fine_centerline
Open
get_centerline_with_offset Get the centerline of ConstLanelet with offset.

Sign Convention: <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_centerline_with_offset
Open
get_right_bound_with_offset Get the right bound of ConstLanelet with offset.

Sign Convention: (Opposite to centerline) <ul><li>Positive: to the right bound</li><li>Negative: to the left bound</li></ul>
  get_right_bound_with_offset
Open
get_left_bound_with_offset Get the left bound of ConstLanelet with offset.

Sign Convention: (Same as centerline) <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_left_bound_with_offset
Open
is_in_lanelet Check if the query pose is inside lanelet or within given radius from the closest point of lanelet.   is_in_lanelet
Open

Example Usage of geometry

Extrapolate point for distance of 5.

```cpp title=”./examples/example_geometry.cpp:51:55” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:51:55 –8<–


Interpolate point at half of the segment.


```cpp title="./examples/example_geometry.cpp:69:74"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:69:74
--8<--

Interpolate lanelet at distance of 3.

```cpp title=”./examples/example_geometry.cpp:82:84” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:82:84 –8<–


Interpolate lanelet sequence at distance of 3.


```cpp title="./examples/example_geometry.cpp:92:98"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:92:98
--8<--

Concatenate several lanelet centerline.

```cpp title=”./examples/example_geometry.cpp:110:118” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:110:118 –8<–

```

Get linestring from arc-length range (of 0.5 to 1.5).

```cpp title=”./examples/example_geometry.cpp:142:150”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package autoware_lanelet2_utils

1.1.0 (2025-05-01)

  • refactor(autoware_lanelet2_utils)!: move everything to namespace experimental (#372)

  • refactor(autoware_lanelet2_utils): rewrite using modern C++ without API breakage (#347)

    • refactor using modern c++
    • precommit
    • fix
    • fix
    • precommit
    • use std::strcmp
    • precommit

    * Revert "refactor using modern c++" This reverts commit 3f7e4953c08f5237dc3bc75db3d896cc9c0640a3. ---------

  • Contributors: Mamoru Sobue, Yutaka Kondo

1.7.0 (2026-02-14)

  • Merge remote-tracking branch 'origin/main' into humble

  • feat(lanelet2_utils): add empty input handler for get_arc_coordinates (#831)

    • add empty input lanelets handler for get_arc_coordinates

    * add test ensure default ArcCoordinates ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • docs(lanelet2_utils): add succeeding/preceding lanelet sequence illustration (#830) added succeeding/preceding lanelet sequences illustration

  • feat(lanelet2_extension): port some lanelet2_extension query functions (2) (#809)

  • feat(lanelet2_extension): port remaining lanelet2_extension utilities functions (#760) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • feat(lanelet2_extension): port some lanelet2_extension query functions (#790)

    • port left/right/all_neighbor_lanelets and their tests
    • replace getAllNeighbors* with ported functions
    • add neighbors order description and verify in test
    • add ported functions to API table
    • add example code snippet

    * Remove optional from return value Assume one lanelet is always in return value (itself)

    • change usage of left/right_lanelets (always check access)
    • fix README for example code snippet
    • fix cppcheck-differential

    * fix README description ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>> Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>

  • revert: feat(path_generator): use [route_manager]{.title-ref} to handle route data #725 (#801) This reverts commit 2403cb5952d33db8e4a403d6cc7b368521d47f5e.

  • feat(path_generator): use [route_manager]{.title-ref} to handle route data (#725)

  • Contributors: Mitsuhiro Sakamoto, Ryohsuke Mitsudome, Sarun MUKDAPITAK

1.6.0 (2025-12-30)

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

  • feat(autoware_lanelet2_utils): define remove_const in header (#741) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • chore: jazzy-porting: fix test depend launch-test missing (#738) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

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_lanelet2_utils at Robotics Stack Exchange

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

autoware_lanelet2_utils package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core 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_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.7.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

The autoware_lanelet2_utils package

Maintainers

  • Mamoru Sobue
  • Maxime Clement
  • Kosuke Takeuchi

Authors

  • Mamoru Sobue

autoware_lanelet2_utils

Nomenclature

This package aims to strictly define the meaning of several words to clarify the documentation and API’s scope. In the table below, codespace words are given specific meanings when used in the API and API description. italic words are emphasized to indicate that it refers to social common sense which often comes with ambiguity. To help disambiguate the meaning, illustration is provided. “Lanelet” refers to the entity of alanelet::ConstLanelet object in order to distinguish with the word “lane” used in social customs. A and B stands for some Lanelets objects.

Word Meaning Illustration
driving The vehicle position belongs to the designated Lanelet. In each map, green Lanelet are the driving lanes of the vehicle.
driving
Open
boundary,
entry,
exit
The boundary of a Lanelet refers to the left or right Linestring. boundary_entry_exit
Open
adjacent If A is adjacent to B, A and B share a common boundary with same direction either on the left or right side. In each map, orange Lanelet is adjacent to green Lanelet.
adjacent
Open
same_direction Lanelet A and Lanelet B are same_direction if A and B are directly or indirectly adjacent to each other. In each map, orange Lanelets are same_direction as green Lanelet.
same_direction
Open
bundle A bundle refers to a transitive closure set of Lanelets which are same_direction to each other. The enclosed sets of Lanelets are bundles.
bundle
Open
opposite If A is opposite to B, A and B share a common boundary with opposite direction. In the first map, green Lanelet and orange Lanelet are opposite to each other.
In the second map, two red Lanelets are not opposite relation because they do not share a common LineString.
opposite
Open
opposite_direction If A and B are opposite_direction, the bundle of A and B are directly opposite to each other. In the each map, green Lanelet and orange Lanelet are opposite_direction because their bundles(enclosed in dotted line) are opposite relation.
opposite_direction
Open
connected A is connected to(from) B if and only if the exit(entry) of A is identical to the entry(exit) of B. A is connected to B, and B is connected from A.
connected
Open
following The following Lanelets of A is the list of Lanelets to which A is connected. In each map, orange Lanelets are the following of green Lanelet.
following
Open
previous The previous Lanelets of A is the list of Lanelets from which A is connected. In each map, orange Lanelets are the previous of green Lanelet.
previous
Open
conflicting A is conflicting with B if A and B are geometrically intersecting.  
merging A is said to be merging Lanelet of B if and only if A is conflicting with B and both A and B are connected to a common Lanelet. In each map, one of the orange Lanelet is a merging Lanelet of the other orange Lanelet.
merging
Open
sibling The designated Lanelets are referred to as sibling if all of them are connected from a common Lanelet. In each map, orange Lanelets are siblings.
sibling
Open
oncoming TBD TBD
upcoming TBD TBD
sequence sequence is a list of Lanelets whose each element is connected from or adjacent to the previous element. sequence
Open
current_route_lanelet current_route_lanelet is one of the lanelet within the route which serves as the reference for ego position.  

API description

<autoware/lanelet2_utils/geometry.hpp>

Function Description Average Computational Complexity Illustration
extrapolate_point Linearly extrapolate a point (ConstPoint3d) beyond a segment defined by two points (first and second) with given distance.   extrapolate_point
Open
interpolate_point Linearly interpolates a point along a segment defined by two points.   interpolate_point
Open
interpolate_lanelet Find an interpolated point from a lanelet centerline at a given distance.   interpolate_lanelet
Open
interpolate_lanelet_sequence Find the first interpolated point from a centerline of the lanelet sequence at a given distance.   interpolate_lanelet_sequence
Open
concatenate_center_line Concatenate all center line of input lanelet sequence (several ConstLanelets)   concatenate_center_line
Open
get_linestring_from_arc_length Extract a sub-linestring between two arc-length positions along an input linestring.   get_linestring_from_arc_length
Open
get_pose_from_2d_arc_length Compute the 2D pose (position and heading) at a given arc-length along a sequence of lanelets.   get_pose_from_2d_arc_length
Open
get_polygon_from_arc_length Extract a lanelet Polygon between two arc-length positions along input lanelet sequence.   get_polygon_from_arc_length
Open
get_closest_segment Find the closest segment of the ConstLineString3d to the search point (BasicPoint3d).   get_closest_segment
Open
get_lanelet_angle Find the angle of center line segment of the lanelet that is closest to search point (BasicPoint3d). The angle is defined with the x-axis as the reference (0 radians). Positive angles are measured counterclockwise, while negative angles are measured clockwise within range of −π to π radians.   get_lanelet_angle
Open
get_closest_center_pose Find pose of the closest point of the lanelet centerline to search point.   get_closest_center_pose
Open
get_arc_coordinates Find ArcCoordinates of the search pose on lanelet sequence centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates
Open
get_arc_coordinates_on_ego_centerline Find ArcCoordinates of the search pose on lanelet sequence centerline.
When the use_waypoints in the autoware_map_loader is true, the waypoints tag in the lanelet2::LaneletMapPtr is used instead of the centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates_on_ego_centerline
Open
get_lateral_distance_to_centerline Find distance of search pose to centerline (distance in ArcCoordinates).

(lanelet - lanelet::ConstLanelet or lanelet sequence - lanelet::ConstLanelets)
  get_lateral_distance_to_centerline
Open
get_lateral_distance_to_centerline_lanelet_sequence
Open
combine_lanelets_shape Combine lanelet sequence (several lanelets) into one lanelet.   combine_lanelets_shape
Open
get_dirty_expanded_lanelet Expand the lanelet.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelet
Open
get_dirty_expanded_lanelets Expand several lanelets.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelets
Open
get_fine_centerline Get the centerline of ConstLanelet (without offset) with designated resolution.
Note: The number of segments is calculated as the ceiling of the longer bound length divided by the resolution.
  get_fine_centerline
Open
get_centerline_with_offset Get the centerline of ConstLanelet with offset.

Sign Convention: <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_centerline_with_offset
Open
get_right_bound_with_offset Get the right bound of ConstLanelet with offset.

Sign Convention: (Opposite to centerline) <ul><li>Positive: to the right bound</li><li>Negative: to the left bound</li></ul>
  get_right_bound_with_offset
Open
get_left_bound_with_offset Get the left bound of ConstLanelet with offset.

Sign Convention: (Same as centerline) <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_left_bound_with_offset
Open
is_in_lanelet Check if the query pose is inside lanelet or within given radius from the closest point of lanelet.   is_in_lanelet
Open

Example Usage of geometry

Extrapolate point for distance of 5.

```cpp title=”./examples/example_geometry.cpp:51:55” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:51:55 –8<–


Interpolate point at half of the segment.


```cpp title="./examples/example_geometry.cpp:69:74"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:69:74
--8<--

Interpolate lanelet at distance of 3.

```cpp title=”./examples/example_geometry.cpp:82:84” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:82:84 –8<–


Interpolate lanelet sequence at distance of 3.


```cpp title="./examples/example_geometry.cpp:92:98"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:92:98
--8<--

Concatenate several lanelet centerline.

```cpp title=”./examples/example_geometry.cpp:110:118” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:110:118 –8<–

```

Get linestring from arc-length range (of 0.5 to 1.5).

```cpp title=”./examples/example_geometry.cpp:142:150”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package autoware_lanelet2_utils

1.1.0 (2025-05-01)

  • refactor(autoware_lanelet2_utils)!: move everything to namespace experimental (#372)

  • refactor(autoware_lanelet2_utils): rewrite using modern C++ without API breakage (#347)

    • refactor using modern c++
    • precommit
    • fix
    • fix
    • precommit
    • use std::strcmp
    • precommit

    * Revert "refactor using modern c++" This reverts commit 3f7e4953c08f5237dc3bc75db3d896cc9c0640a3. ---------

  • Contributors: Mamoru Sobue, Yutaka Kondo

1.7.0 (2026-02-14)

  • Merge remote-tracking branch 'origin/main' into humble

  • feat(lanelet2_utils): add empty input handler for get_arc_coordinates (#831)

    • add empty input lanelets handler for get_arc_coordinates

    * add test ensure default ArcCoordinates ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • docs(lanelet2_utils): add succeeding/preceding lanelet sequence illustration (#830) added succeeding/preceding lanelet sequences illustration

  • feat(lanelet2_extension): port some lanelet2_extension query functions (2) (#809)

  • feat(lanelet2_extension): port remaining lanelet2_extension utilities functions (#760) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • feat(lanelet2_extension): port some lanelet2_extension query functions (#790)

    • port left/right/all_neighbor_lanelets and their tests
    • replace getAllNeighbors* with ported functions
    • add neighbors order description and verify in test
    • add ported functions to API table
    • add example code snippet

    * Remove optional from return value Assume one lanelet is always in return value (itself)

    • change usage of left/right_lanelets (always check access)
    • fix README for example code snippet
    • fix cppcheck-differential

    * fix README description ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>> Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>

  • revert: feat(path_generator): use [route_manager]{.title-ref} to handle route data #725 (#801) This reverts commit 2403cb5952d33db8e4a403d6cc7b368521d47f5e.

  • feat(path_generator): use [route_manager]{.title-ref} to handle route data (#725)

  • Contributors: Mitsuhiro Sakamoto, Ryohsuke Mitsudome, Sarun MUKDAPITAK

1.6.0 (2025-12-30)

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

  • feat(autoware_lanelet2_utils): define remove_const in header (#741) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • chore: jazzy-porting: fix test depend launch-test missing (#738) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

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_lanelet2_utils at Robotics Stack Exchange

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

autoware_lanelet2_utils package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core 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_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.7.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

The autoware_lanelet2_utils package

Maintainers

  • Mamoru Sobue
  • Maxime Clement
  • Kosuke Takeuchi

Authors

  • Mamoru Sobue

autoware_lanelet2_utils

Nomenclature

This package aims to strictly define the meaning of several words to clarify the documentation and API’s scope. In the table below, codespace words are given specific meanings when used in the API and API description. italic words are emphasized to indicate that it refers to social common sense which often comes with ambiguity. To help disambiguate the meaning, illustration is provided. “Lanelet” refers to the entity of alanelet::ConstLanelet object in order to distinguish with the word “lane” used in social customs. A and B stands for some Lanelets objects.

Word Meaning Illustration
driving The vehicle position belongs to the designated Lanelet. In each map, green Lanelet are the driving lanes of the vehicle.
driving
Open
boundary,
entry,
exit
The boundary of a Lanelet refers to the left or right Linestring. boundary_entry_exit
Open
adjacent If A is adjacent to B, A and B share a common boundary with same direction either on the left or right side. In each map, orange Lanelet is adjacent to green Lanelet.
adjacent
Open
same_direction Lanelet A and Lanelet B are same_direction if A and B are directly or indirectly adjacent to each other. In each map, orange Lanelets are same_direction as green Lanelet.
same_direction
Open
bundle A bundle refers to a transitive closure set of Lanelets which are same_direction to each other. The enclosed sets of Lanelets are bundles.
bundle
Open
opposite If A is opposite to B, A and B share a common boundary with opposite direction. In the first map, green Lanelet and orange Lanelet are opposite to each other.
In the second map, two red Lanelets are not opposite relation because they do not share a common LineString.
opposite
Open
opposite_direction If A and B are opposite_direction, the bundle of A and B are directly opposite to each other. In the each map, green Lanelet and orange Lanelet are opposite_direction because their bundles(enclosed in dotted line) are opposite relation.
opposite_direction
Open
connected A is connected to(from) B if and only if the exit(entry) of A is identical to the entry(exit) of B. A is connected to B, and B is connected from A.
connected
Open
following The following Lanelets of A is the list of Lanelets to which A is connected. In each map, orange Lanelets are the following of green Lanelet.
following
Open
previous The previous Lanelets of A is the list of Lanelets from which A is connected. In each map, orange Lanelets are the previous of green Lanelet.
previous
Open
conflicting A is conflicting with B if A and B are geometrically intersecting.  
merging A is said to be merging Lanelet of B if and only if A is conflicting with B and both A and B are connected to a common Lanelet. In each map, one of the orange Lanelet is a merging Lanelet of the other orange Lanelet.
merging
Open
sibling The designated Lanelets are referred to as sibling if all of them are connected from a common Lanelet. In each map, orange Lanelets are siblings.
sibling
Open
oncoming TBD TBD
upcoming TBD TBD
sequence sequence is a list of Lanelets whose each element is connected from or adjacent to the previous element. sequence
Open
current_route_lanelet current_route_lanelet is one of the lanelet within the route which serves as the reference for ego position.  

API description

<autoware/lanelet2_utils/geometry.hpp>

Function Description Average Computational Complexity Illustration
extrapolate_point Linearly extrapolate a point (ConstPoint3d) beyond a segment defined by two points (first and second) with given distance.   extrapolate_point
Open
interpolate_point Linearly interpolates a point along a segment defined by two points.   interpolate_point
Open
interpolate_lanelet Find an interpolated point from a lanelet centerline at a given distance.   interpolate_lanelet
Open
interpolate_lanelet_sequence Find the first interpolated point from a centerline of the lanelet sequence at a given distance.   interpolate_lanelet_sequence
Open
concatenate_center_line Concatenate all center line of input lanelet sequence (several ConstLanelets)   concatenate_center_line
Open
get_linestring_from_arc_length Extract a sub-linestring between two arc-length positions along an input linestring.   get_linestring_from_arc_length
Open
get_pose_from_2d_arc_length Compute the 2D pose (position and heading) at a given arc-length along a sequence of lanelets.   get_pose_from_2d_arc_length
Open
get_polygon_from_arc_length Extract a lanelet Polygon between two arc-length positions along input lanelet sequence.   get_polygon_from_arc_length
Open
get_closest_segment Find the closest segment of the ConstLineString3d to the search point (BasicPoint3d).   get_closest_segment
Open
get_lanelet_angle Find the angle of center line segment of the lanelet that is closest to search point (BasicPoint3d). The angle is defined with the x-axis as the reference (0 radians). Positive angles are measured counterclockwise, while negative angles are measured clockwise within range of −π to π radians.   get_lanelet_angle
Open
get_closest_center_pose Find pose of the closest point of the lanelet centerline to search point.   get_closest_center_pose
Open
get_arc_coordinates Find ArcCoordinates of the search pose on lanelet sequence centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates
Open
get_arc_coordinates_on_ego_centerline Find ArcCoordinates of the search pose on lanelet sequence centerline.
When the use_waypoints in the autoware_map_loader is true, the waypoints tag in the lanelet2::LaneletMapPtr is used instead of the centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates_on_ego_centerline
Open
get_lateral_distance_to_centerline Find distance of search pose to centerline (distance in ArcCoordinates).

(lanelet - lanelet::ConstLanelet or lanelet sequence - lanelet::ConstLanelets)
  get_lateral_distance_to_centerline
Open
get_lateral_distance_to_centerline_lanelet_sequence
Open
combine_lanelets_shape Combine lanelet sequence (several lanelets) into one lanelet.   combine_lanelets_shape
Open
get_dirty_expanded_lanelet Expand the lanelet.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelet
Open
get_dirty_expanded_lanelets Expand several lanelets.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelets
Open
get_fine_centerline Get the centerline of ConstLanelet (without offset) with designated resolution.
Note: The number of segments is calculated as the ceiling of the longer bound length divided by the resolution.
  get_fine_centerline
Open
get_centerline_with_offset Get the centerline of ConstLanelet with offset.

Sign Convention: <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_centerline_with_offset
Open
get_right_bound_with_offset Get the right bound of ConstLanelet with offset.

Sign Convention: (Opposite to centerline) <ul><li>Positive: to the right bound</li><li>Negative: to the left bound</li></ul>
  get_right_bound_with_offset
Open
get_left_bound_with_offset Get the left bound of ConstLanelet with offset.

Sign Convention: (Same as centerline) <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_left_bound_with_offset
Open
is_in_lanelet Check if the query pose is inside lanelet or within given radius from the closest point of lanelet.   is_in_lanelet
Open

Example Usage of geometry

Extrapolate point for distance of 5.

```cpp title=”./examples/example_geometry.cpp:51:55” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:51:55 –8<–


Interpolate point at half of the segment.


```cpp title="./examples/example_geometry.cpp:69:74"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:69:74
--8<--

Interpolate lanelet at distance of 3.

```cpp title=”./examples/example_geometry.cpp:82:84” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:82:84 –8<–


Interpolate lanelet sequence at distance of 3.


```cpp title="./examples/example_geometry.cpp:92:98"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:92:98
--8<--

Concatenate several lanelet centerline.

```cpp title=”./examples/example_geometry.cpp:110:118” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:110:118 –8<–

```

Get linestring from arc-length range (of 0.5 to 1.5).

```cpp title=”./examples/example_geometry.cpp:142:150”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package autoware_lanelet2_utils

1.1.0 (2025-05-01)

  • refactor(autoware_lanelet2_utils)!: move everything to namespace experimental (#372)

  • refactor(autoware_lanelet2_utils): rewrite using modern C++ without API breakage (#347)

    • refactor using modern c++
    • precommit
    • fix
    • fix
    • precommit
    • use std::strcmp
    • precommit

    * Revert "refactor using modern c++" This reverts commit 3f7e4953c08f5237dc3bc75db3d896cc9c0640a3. ---------

  • Contributors: Mamoru Sobue, Yutaka Kondo

1.7.0 (2026-02-14)

  • Merge remote-tracking branch 'origin/main' into humble

  • feat(lanelet2_utils): add empty input handler for get_arc_coordinates (#831)

    • add empty input lanelets handler for get_arc_coordinates

    * add test ensure default ArcCoordinates ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • docs(lanelet2_utils): add succeeding/preceding lanelet sequence illustration (#830) added succeeding/preceding lanelet sequences illustration

  • feat(lanelet2_extension): port some lanelet2_extension query functions (2) (#809)

  • feat(lanelet2_extension): port remaining lanelet2_extension utilities functions (#760) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • feat(lanelet2_extension): port some lanelet2_extension query functions (#790)

    • port left/right/all_neighbor_lanelets and their tests
    • replace getAllNeighbors* with ported functions
    • add neighbors order description and verify in test
    • add ported functions to API table
    • add example code snippet

    * Remove optional from return value Assume one lanelet is always in return value (itself)

    • change usage of left/right_lanelets (always check access)
    • fix README for example code snippet
    • fix cppcheck-differential

    * fix README description ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>> Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>

  • revert: feat(path_generator): use [route_manager]{.title-ref} to handle route data #725 (#801) This reverts commit 2403cb5952d33db8e4a403d6cc7b368521d47f5e.

  • feat(path_generator): use [route_manager]{.title-ref} to handle route data (#725)

  • Contributors: Mitsuhiro Sakamoto, Ryohsuke Mitsudome, Sarun MUKDAPITAK

1.6.0 (2025-12-30)

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

  • feat(autoware_lanelet2_utils): define remove_const in header (#741) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • chore: jazzy-porting: fix test depend launch-test missing (#738) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

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_lanelet2_utils at Robotics Stack Exchange

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

autoware_lanelet2_utils package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core 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_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.7.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

The autoware_lanelet2_utils package

Maintainers

  • Mamoru Sobue
  • Maxime Clement
  • Kosuke Takeuchi

Authors

  • Mamoru Sobue

autoware_lanelet2_utils

Nomenclature

This package aims to strictly define the meaning of several words to clarify the documentation and API’s scope. In the table below, codespace words are given specific meanings when used in the API and API description. italic words are emphasized to indicate that it refers to social common sense which often comes with ambiguity. To help disambiguate the meaning, illustration is provided. “Lanelet” refers to the entity of alanelet::ConstLanelet object in order to distinguish with the word “lane” used in social customs. A and B stands for some Lanelets objects.

Word Meaning Illustration
driving The vehicle position belongs to the designated Lanelet. In each map, green Lanelet are the driving lanes of the vehicle.
driving
Open
boundary,
entry,
exit
The boundary of a Lanelet refers to the left or right Linestring. boundary_entry_exit
Open
adjacent If A is adjacent to B, A and B share a common boundary with same direction either on the left or right side. In each map, orange Lanelet is adjacent to green Lanelet.
adjacent
Open
same_direction Lanelet A and Lanelet B are same_direction if A and B are directly or indirectly adjacent to each other. In each map, orange Lanelets are same_direction as green Lanelet.
same_direction
Open
bundle A bundle refers to a transitive closure set of Lanelets which are same_direction to each other. The enclosed sets of Lanelets are bundles.
bundle
Open
opposite If A is opposite to B, A and B share a common boundary with opposite direction. In the first map, green Lanelet and orange Lanelet are opposite to each other.
In the second map, two red Lanelets are not opposite relation because they do not share a common LineString.
opposite
Open
opposite_direction If A and B are opposite_direction, the bundle of A and B are directly opposite to each other. In the each map, green Lanelet and orange Lanelet are opposite_direction because their bundles(enclosed in dotted line) are opposite relation.
opposite_direction
Open
connected A is connected to(from) B if and only if the exit(entry) of A is identical to the entry(exit) of B. A is connected to B, and B is connected from A.
connected
Open
following The following Lanelets of A is the list of Lanelets to which A is connected. In each map, orange Lanelets are the following of green Lanelet.
following
Open
previous The previous Lanelets of A is the list of Lanelets from which A is connected. In each map, orange Lanelets are the previous of green Lanelet.
previous
Open
conflicting A is conflicting with B if A and B are geometrically intersecting.  
merging A is said to be merging Lanelet of B if and only if A is conflicting with B and both A and B are connected to a common Lanelet. In each map, one of the orange Lanelet is a merging Lanelet of the other orange Lanelet.
merging
Open
sibling The designated Lanelets are referred to as sibling if all of them are connected from a common Lanelet. In each map, orange Lanelets are siblings.
sibling
Open
oncoming TBD TBD
upcoming TBD TBD
sequence sequence is a list of Lanelets whose each element is connected from or adjacent to the previous element. sequence
Open
current_route_lanelet current_route_lanelet is one of the lanelet within the route which serves as the reference for ego position.  

API description

<autoware/lanelet2_utils/geometry.hpp>

Function Description Average Computational Complexity Illustration
extrapolate_point Linearly extrapolate a point (ConstPoint3d) beyond a segment defined by two points (first and second) with given distance.   extrapolate_point
Open
interpolate_point Linearly interpolates a point along a segment defined by two points.   interpolate_point
Open
interpolate_lanelet Find an interpolated point from a lanelet centerline at a given distance.   interpolate_lanelet
Open
interpolate_lanelet_sequence Find the first interpolated point from a centerline of the lanelet sequence at a given distance.   interpolate_lanelet_sequence
Open
concatenate_center_line Concatenate all center line of input lanelet sequence (several ConstLanelets)   concatenate_center_line
Open
get_linestring_from_arc_length Extract a sub-linestring between two arc-length positions along an input linestring.   get_linestring_from_arc_length
Open
get_pose_from_2d_arc_length Compute the 2D pose (position and heading) at a given arc-length along a sequence of lanelets.   get_pose_from_2d_arc_length
Open
get_polygon_from_arc_length Extract a lanelet Polygon between two arc-length positions along input lanelet sequence.   get_polygon_from_arc_length
Open
get_closest_segment Find the closest segment of the ConstLineString3d to the search point (BasicPoint3d).   get_closest_segment
Open
get_lanelet_angle Find the angle of center line segment of the lanelet that is closest to search point (BasicPoint3d). The angle is defined with the x-axis as the reference (0 radians). Positive angles are measured counterclockwise, while negative angles are measured clockwise within range of −π to π radians.   get_lanelet_angle
Open
get_closest_center_pose Find pose of the closest point of the lanelet centerline to search point.   get_closest_center_pose
Open
get_arc_coordinates Find ArcCoordinates of the search pose on lanelet sequence centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates
Open
get_arc_coordinates_on_ego_centerline Find ArcCoordinates of the search pose on lanelet sequence centerline.
When the use_waypoints in the autoware_map_loader is true, the waypoints tag in the lanelet2::LaneletMapPtr is used instead of the centerline.

ArcCoordinates consists of {length, distance}.<ul><li>length: arc-length of pose projection point on the lanelet sequence centerline</li><li>distance: lateral distance from centerline to pose (left is positive, right is negative).</li></ul>
  get_arc_coordinates_on_ego_centerline
Open
get_lateral_distance_to_centerline Find distance of search pose to centerline (distance in ArcCoordinates).

(lanelet - lanelet::ConstLanelet or lanelet sequence - lanelet::ConstLanelets)
  get_lateral_distance_to_centerline
Open
get_lateral_distance_to_centerline_lanelet_sequence
Open
combine_lanelets_shape Combine lanelet sequence (several lanelets) into one lanelet.   combine_lanelets_shape
Open
get_dirty_expanded_lanelet Expand the lanelet.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelet
Open
get_dirty_expanded_lanelets Expand several lanelets.

Note: <ul><li>for left_offset positive value expand, negative value narrow lanelet </li> <li> for right_offset negative value expand, positive value narrow lanelet</li></ul>
  get_dirty_expanded_lanelets
Open
get_fine_centerline Get the centerline of ConstLanelet (without offset) with designated resolution.
Note: The number of segments is calculated as the ceiling of the longer bound length divided by the resolution.
  get_fine_centerline
Open
get_centerline_with_offset Get the centerline of ConstLanelet with offset.

Sign Convention: <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_centerline_with_offset
Open
get_right_bound_with_offset Get the right bound of ConstLanelet with offset.

Sign Convention: (Opposite to centerline) <ul><li>Positive: to the right bound</li><li>Negative: to the left bound</li></ul>
  get_right_bound_with_offset
Open
get_left_bound_with_offset Get the left bound of ConstLanelet with offset.

Sign Convention: (Same as centerline) <ul><li>Positive: to the left bound</li><li>Negative: to the right bound</li></ul>
  get_left_bound_with_offset
Open
is_in_lanelet Check if the query pose is inside lanelet or within given radius from the closest point of lanelet.   is_in_lanelet
Open

Example Usage of geometry

Extrapolate point for distance of 5.

```cpp title=”./examples/example_geometry.cpp:51:55” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:51:55 –8<–


Interpolate point at half of the segment.


```cpp title="./examples/example_geometry.cpp:69:74"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:69:74
--8<--

Interpolate lanelet at distance of 3.

```cpp title=”./examples/example_geometry.cpp:82:84” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:82:84 –8<–


Interpolate lanelet sequence at distance of 3.


```cpp title="./examples/example_geometry.cpp:92:98"
--8<--
common/autoware_lanelet2_utils/examples/example_geometry.cpp:92:98
--8<--

Concatenate several lanelet centerline.

```cpp title=”./examples/example_geometry.cpp:110:118” –8<– common/autoware_lanelet2_utils/examples/example_geometry.cpp:110:118 –8<–

```

Get linestring from arc-length range (of 0.5 to 1.5).

```cpp title=”./examples/example_geometry.cpp:142:150”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package autoware_lanelet2_utils

1.1.0 (2025-05-01)

  • refactor(autoware_lanelet2_utils)!: move everything to namespace experimental (#372)

  • refactor(autoware_lanelet2_utils): rewrite using modern C++ without API breakage (#347)

    • refactor using modern c++
    • precommit
    • fix
    • fix
    • precommit
    • use std::strcmp
    • precommit

    * Revert "refactor using modern c++" This reverts commit 3f7e4953c08f5237dc3bc75db3d896cc9c0640a3. ---------

  • Contributors: Mamoru Sobue, Yutaka Kondo

1.7.0 (2026-02-14)

  • Merge remote-tracking branch 'origin/main' into humble

  • feat(lanelet2_utils): add empty input handler for get_arc_coordinates (#831)

    • add empty input lanelets handler for get_arc_coordinates

    * add test ensure default ArcCoordinates ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • docs(lanelet2_utils): add succeeding/preceding lanelet sequence illustration (#830) added succeeding/preceding lanelet sequences illustration

  • feat(lanelet2_extension): port some lanelet2_extension query functions (2) (#809)

  • feat(lanelet2_extension): port remaining lanelet2_extension utilities functions (#760) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • feat(lanelet2_extension): port some lanelet2_extension query functions (#790)

    • port left/right/all_neighbor_lanelets and their tests
    • replace getAllNeighbors* with ported functions
    • add neighbors order description and verify in test
    • add ported functions to API table
    • add example code snippet

    * Remove optional from return value Assume one lanelet is always in return value (itself)

    • change usage of left/right_lanelets (always check access)
    • fix README for example code snippet
    • fix cppcheck-differential

    * fix README description ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>> Co-authored-by: Mamoru Sobue <<hilo.soblin@gmail.com>>

  • revert: feat(path_generator): use [route_manager]{.title-ref} to handle route data #725 (#801) This reverts commit 2403cb5952d33db8e4a403d6cc7b368521d47f5e.

  • feat(path_generator): use [route_manager]{.title-ref} to handle route data (#725)

  • Contributors: Mitsuhiro Sakamoto, Ryohsuke Mitsudome, Sarun MUKDAPITAK

1.6.0 (2025-12-30)

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

  • feat(autoware_lanelet2_utils): define remove_const in header (#741) Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • chore: jazzy-porting: fix test depend launch-test missing (#738) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

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_lanelet2_utils at Robotics Stack Exchange