fzi-forschungszentrum-informatik / Lanelet2

Map handling framework for automated driving
BSD 3-Clause "New" or "Revised" License
791 stars 325 forks source link

[Question] Routing efficiency in LaneLet2 #6

Closed msmcconnell closed 5 years ago

msmcconnell commented 5 years ago

LaneLet2 seems to nicely describe complex lane geometries and traffic rules, however, it also appears that there is no concept of a road or road network. This could pose an issue for routing on a large map. As far as a can tell from the documentation, when a route is being determined to go from point A to point B, the user must search the entirety of lanelet network. This is in-efficient for large maps. Has this been addressed in some way? If not, I would think a Road concept could be added where roads contain lanelets and each road has defined connections to other roads thus reducing the initial search space.

poggenhans commented 5 years ago

That Lanelet2 has no concept of roads is intentional. In many situations it is difficult to define what a road actually is, where it begins and where it ends. Close to or within intersections or roundabouts, for example. Adding roads as a "collection of Lanelets that can be treated like one" would raise further potential problems:

Regarding performance: if a map is really big, I would argue that the bottleneck will not be the routing itself (which, by the way, has to be done only once per trip), but everything that happens before: the parsing, the map interpretation, the pre-calculation of graphs and so on. This problem has not yet been addressed (since we are still far from having such large maps), but it could be solved in a similar way to other digital maps (e.g. by cutting the map data into tiles and then putting them together along the probable route).

It might be an idea to use the road concept by internally merging parts of the Lanelet graph where nothing changes into "meta" nodes. But that would rather be an internal optimization that remains hidden from the user.

msmcconnell commented 5 years ago

Fair points though I think for the second bullet you would define roads as connected only where the lanes allow a connection. A road (road segment might be a better term) would simply be a collection of lanes so the lanes would define "connects to" relationships.

However, I'm not trying to define a new feature here and just wanted to hear your approach. For this system to be picked up for autonomous driving, map size will certainly be a factor. Thank you for the detailed response.