Skip to content

feat: add support for area for route planning#12381

Open
emmeyteja wants to merge 12 commits intoautowarefoundation:mainfrom
emmeyteja:feat/add-area-support-for-route-search-thru-lanelet-area-lanelet
Open

feat: add support for area for route planning#12381
emmeyteja wants to merge 12 commits intoautowarefoundation:mainfrom
emmeyteja:feat/add-area-support-for-route-search-thru-lanelet-area-lanelet

Conversation

@emmeyteja
Copy link
Copy Markdown

@emmeyteja emmeyteja commented Mar 24, 2026

Description

Universe updates for mission routes that can include Lanelet2 Area segments (LaneletPrimitive.primitive_type == "area").

  • Mission planner (default_planner): Plans with area-inclusive RouteHandler APIs, builds LaneletRoute.segments with mixed lane and area primitives, and refines goal Z when the last segment is an area. Lane-only setRouteLanelets still receives only lanelets; full L–A–L topology is carried in segments.
  • Remaining distance / time calculator: If the subscribed route contains an area segment, derives the lane list from LaneletRoute (skipping areas for arc length) instead of lane-only RoutingGraph::getRoute, and recomputes when the map arrives after the route.

Related links

Parent Issue:

Related PRs

Design Documents

Tier IV Internal Design Document: Area Visualization
Tier IV Internal Design Document: Route Serach through Areas

How was this PR tested?

  • colcon build of affected packages.
  • Sim or logging with a map where mission path is lane → area → lane; confirm route publication and remaining-distance behavior without spurious “failed to find route” warnings from lane-only recomputation.

Notes for reviewers

Please check segment handling and RouteHandler usage in mission planner; remaining-distance path is gated on presence of any area segment in the cached route.

Interface changes

No new topics or message types. LaneletRoute payload may include area segments when the map and routing rules allow.

Effects on system behavior

Missions that only connect via Areas can get a published route where pure lane routing could not. Subscribers that ignore primitive_type or only use getRoute may still misbehave. Trajectory / behavior through the connector is not defined by this PR alone.

Signed-off-by: Ryohsuke Mitsudome <ryohsuke.mitsudome@tier4.jp>
@github-actions github-actions Bot added the component:planning Route planning, decision-making, and navigation. (auto-assigned) label Mar 24, 2026
@emmeyteja emmeyteja marked this pull request as draft March 24, 2026 12:02
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 24, 2026

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

emmeyteja and others added 6 commits March 24, 2026 21:07
Signed-off-by: emmeyteja <emmeyteja@gmail.com>
…areas

Signed-off-by: emmeyteja <emmeyteja@gmail.com>
… RViz

Signed-off-by: emmeyteja <emmeyteja@gmail.com>
…when areas present in the route

Signed-off-by: emmeyteja <emmeyteja@gmail.com>
@emmeyteja emmeyteja added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Mar 26, 2026
…height

Removes cppcheck redundantInitialization warning; goal_height is always
set in the area vs lane branches before use.

Made-with: Cursor
@emmeyteja
Copy link
Copy Markdown
Author

@mitsudome-r @soblin Could you please review this PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component:planning Route planning, decision-making, and navigation. (auto-assigned) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci)

Projects

Status: To Triage

Development

Successfully merging this pull request may close these issues.

2 participants