[Proposal] Dynamic Lanelet2 Loading #4120
Replies: 3 comments 7 replies
-
|
Hi everyone, I just want to share some updates and demo video: You can check the current works with following draft PRs.
And check the demo video: Video Link
About Map Side:
About Planning Side:
|
Beta Was this translation helpful? Give feedback.
-
|
@StepTurtle I have a few questions:
This is separate from the current activity, but relevant, so I wanted to share some information. Currently, lane-level (lanelet2) maps have become essential for routing, which poses a challenge for the development of HD mapless behavior and motion planners, as the mission planners for routing still require lanelet2. We are also considering both lane-level and road-level maps. I plan to start a separate discussion on this topic soon. |
Beta Was this translation helpful? Give feedback.
-
|
@StepTurtle Best, |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello, we want to share our proposal on dynamic lanelet2 map loading with you.
Our goal is to dynamically load Lanelet2 maps required for the current driving situation, aiming to avoid time consumption and reduce computational costs in the planning pipeline, while also addressing long-term issues associated with Lanelet2 map projection.
With the method we plan to implement, the components in need will be able to retrieve the entire map in a single request (e.g., mission planner), while those who want to receive the map dynamically will be able to receive it according to the location of the vehicle (e.g. behavior planner).
The main idea of this implementation is to create something similar with differential dynamic point cloud loading in Autoware. You can check the implementation of dynamic point cloud loading here:
Check out these links to see the issues we're trying to fix:
We have some progress on parsing lanelet2 maps and loading them with custom lanelet parser, but we did not share any prototype yet. We will share it soon.
For the method we aim to develop, we plan to implement the following items (These could be change with different approach):
Create a custom lanelet parser under lanelet2_extension to read the divided lanelet2 files and create a single lanelet2 map.
Create a ROS2 service under https://github.com/autowarefoundation/autoware_msgs/tree/main/autoware_map_msgs/srv to communicate between the map loader and the behavior planner. Here is an example service file:
Update lanelet2_map_loader to be able to load and publish a single lanelet2 file or multiple lanelet2 files.
Update behavior planner to request the required lanelet2 map from the map loader with service calls.
You will be able to load lanelet with the following scenarios:
Whole area loading: The whole lanelet2 map is loaded at once. This is the current situation, and we plan to use this method in the mission planner.
Differential loading: The lanelet2 map is divided into multiple files and loaded according to the current driving situation. This is the method we plan to develop.
Possible Approaches
We are considering three different approaches for differential loading, and we will decide on the most suitable one. If you have any suggestions, we would be happy to hear them.
Approach 1:
Approach 2:
Approach 3:
We would be happy to hear any suggestions or opinions you would like to add.
Beta Was this translation helpful? Give feedback.
All reactions