Open francocipollone opened 4 years ago
@francocipollone aren't we doing this already via the Validate functions in xodr?
@francocipollone aren't we doing this already via the Validate functions in xodr?
We are verifying the road linkage, yes. And we also are verifying that the described connections in the junction xodr node if the road belongs to a junction.
However when there are missing connections (https://github.com/ToyotaResearchInstitute/maliput_malidrive/issues/57) we are just logging it. We are not evaluating whether those missing connections are omitted because it is redundant(and there is no missing information to build the roads) or because there are actual errors when creating the xodr description.
However when there are missing connections (#57) we are just logging it. We are not evaluating whether those missing connections are omitted because it is redundant(and there is no missing information to build the roads) or because there are actual errors when creating the xodr description
Right. This is done by the Solve* functions in builder_tools, right?
Alright, if that's the case there is still work to do for this task.
Context
Sometimes in the connectivity map of a Junction, the information is not complete, some possible connections are missing. (Although the OpenDrive standard says: "Junction record contains the information about all possible connections between roads meeting at a physical junction.")
And that is ok in almost all the maps because the information provided is enough to create a road map. The connections that must be described are those where the path is ambiguous.
To put an example I will use Town03 map:
This is the Road 847 that belongs to the junction 831:
So one would expect that in the connectivity map of the junction 831, the connections to the road 40(predecessor) and road 27(successor) to be described.
However, there is no reference to Road 27:
When traversing Road 40 at the moment you hit the junction you have multiples paths. (So it is ambiguous, you need to know the possible paths.) But with Road 27, you only have one possible path and that is why that connection is not described. The connection that is missing could be added if it is needed, this would be:
But in practical terms, it is not needed, and many of the XODRs we have, don't provide this "obvious" connections.
Victory condition
Complement current RoadLinks verification in order to verify semantics and coherence between Junctions description and Road description.