Comments (2)
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:
- It must be checked whether the roads are actually consistent from the point of view of all possible participants (what if at some point the road is no longer passable for trucks?).
- That there is a road connecting A and B does not mean that it is possible to get from the entry Lanelet to the exit Lanelet. Maybe it is not possible to change lanes in between.
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.
from lanelet2.
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.
from lanelet2.
Related Issues (20)
- [Question] Possible Paths other than shortest path from start to end lanelets HOT 6
- Add support for python type hints in python package HOT 6
- Map of Karlsruhe HOT 4
- Python: add node to existing lineString HOT 3
- How to do the same job as BinParser in lanelet2_io in Python HOT 5
- lanelet2_core build fails HOT 3
- Lanelet2_validation fail while catkin build HOT 3
- lanelet2_core fails to build on ROS 2 Rolling HOT 1
- Remove dependency of mrt_cmake_modules HOT 3
- lanelet2_io [ Exited with code 2 ] HOT 2
- How to load an .osm file with the Geocentric projection to get the data in ECEF HOT 6
- When load an OSM file, is tag: one_way work? HOT 1
- lanelet2 don't output anything HOT 2
- Broken Links within Mkdocs Documentation HOT 2
- Route search by specifying impassable lanes HOT 4
- Lanelet2 3D Viz HOT 3
- Output of findWithin2d gives incomprehensible outputs when used on pointLayer of a known map HOT 2
- Automatically add role left and right to lanelet HOT 1
- ShortestPath Function including lanechange doesn't work
- lanelet2-projection failing on ROS2 Rolling HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lanelet2.