Canonical access functions available?
There are certain functions that most any simulator needs to compute on road data. I see that the algorithms for such functions can be quite complex (and thus prone to implementation error) for an OpenDRIVE road description. I am wondering if there are any reference implementation libraries, or pseudo code algorithm descriptions, etc. available as a guide? Or is this intended to be the value-added intellectual property of the vendors using OpenDRIVE?
- if there is a vehicle on a road at position S, lane ID L, in the center of the lane, compute the (x,y,z) location of the vehicle.
- ...and compute the orientation (heading, pitch, roll) of the above vehicle given that its heading is aligned with the lane centerline tangent and it has 3 support points at given offsets from the vehicle location.
- if the vehicle above moves a distance DS along the lane (which of course does not mean that its s coordinate along the road reference line changes by the same amount DS), what is its new location? (or, its new position S' with respect to the road reference line).
For the latter function, it could be moving along a lane with changing width/border, moving along a curving road geometry, entering a new lane with a different width/border function, entering a new lane section with different lanes, and/or entering a new road geometry.
These functions can be built using information in the OpenDRIVE spec, but this would be something that I wish could be found on the OpenDRIVE web site.
#1 Updated by Marius Dupuis 4 months ago
- Status changed from New to In Progress
- Assignee set to Marius Dupuis
- % Done changed from 0 to 20
There are commercial libraries available but no OpenSource yet. But I think it's a good idea to have a certain set of functionality available to the community free-of-charge. We should continue this discussion.
#2 Updated by Michael Scholz 9 days ago
We at DLR are starting to publish OpenDRIVE-related content on Github. With our first draft of the GDAL-XODR driver you get reference lines as OGC Simple Features with absolute geometries. In a few weeks it will support creation of lane polygons as well, which you could easily query with GIS functions to answer such kind of questions on fast, indexed spatial database level, for example.
#3 Updated by Douglas Reece 9 days ago
This is actually kind of funny, because the problem I am working on is how to take linear feature data and create an OpenDRIVE representation of it. Somehow these operations cancel?
I looked up the Github entry and read the description there. From the Current Functionality and Further To-Dos sections, it is not clear that the end result will be sufficient for ingesting into a simulation and use in the computations I described above. For example:
- Is the representation of the road reference line, and other linear features, a multi-segment line? If so, is it reasonable to have sample points say 0.1m or less apart so that motion generated by tracking the line appears smooth? The OpenDRIVE curve representations permit arbitrarily fine sampling within a simulation.
- Will you be generating lane centerlines? This is where simulated vehicles nominally drive. Also, all paths through junctions?
- Will the driver account for all of the various ways that lane borders and widths can vary down the length of the road, i.e with lane offset, lane width, and lane border geometry? Arbitrary division of the road into sections, with lanes appearing and disappearing in the length of the road?
- Will you be representing junction information including controllers?