open-simulation-interface icon indicating copy to clipboard operation
open-simulation-interface copied to clipboard

Clarify what an intersection is

Open tbleher opened this issue 4 months ago • 1 comments

Describe the problem

It's not clear to me what constitutes an intersection in OSI.

OpenDRIVE 1.8 has the following definition:

Junctions enable the connection of more than two roads. Four types of junctions exist:

  • Common junctions are junctions with drivable lanes that can overlap and where traffic can cross.
  • Direct junctions are junctions where traffic can change roads but cannot cross other traffic.
  • Virtual junctions are junctions where the main road is not interrupted.
  • Crossings are junctions where traffic cannot change the roads.

From the very terse description in OSI, I gather that what OpenDRIVE calls Common junctions should be classified as TYPE_INTERSECTION in OSI. But what about the other types?

For me it would be very helpful if everything that was classified as a junction in OpenDRIVE would be marked as an intersection in OSI, but I fear that reality is far more complicated (starting with the fact that OSI does not have the concept of roads right now).

I want to create a traffic agent that is interoperable between different scenario engines, and for this I need to ensure that all parts of the simulation have the same understanding of what constitutes an intersection.

Please clarify in the docs what consitutes an intersection in OSI. It would be also helpful for interoperability if there was some guide how different OpenDRIVE junctions should be converted to OSI, so that different simulation engines generate comparable results.

tbleher avatar Nov 10 '25 17:11 tbleher

An OSI physical lane of type intersection is only defined by its free lane boundaries and lane pairings of incoming/outgoing lanes. The free lane boundaries can be the actual outer bounds of the intersection area. There can also be free lane boundaries inside the intersection area if they're not clearly assignable to another physical lane. The TYPE_INTERSECTION can be used if there is a larger area where vehicles are allowed to cross in various ways without adhering to exact perceivable lanes. But I think OSI does not (intend to) give any specific rules on when to use it or not as it's really up to the exact situation/use case in my opinion.

I guess you could have such intersections wherever OpenDRIVE defines junctions but I don't know how this helps for designing traffic agents. Don't we have logical lanes for such use cases?

thomassedlmayer avatar Nov 20 '25 11:11 thomassedlmayer