forked from autowarefoundation/autoware
-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #216 from usdot-fhwa-stol/feature/add_routing_grap…
…h_to_map_updates Add RoutingGraph to map updates
- Loading branch information
Showing
5 changed files
with
52 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Message describing the contents of a lanelet2 routing graph such that it can be reconstructed by the recieving component | ||
|
||
|
||
# A list of lanelets representing vertices in the graph and their associated edges | ||
# This structure mirrors an adjacency list representation of a directed graph | ||
RoutingGraphVertexAndEdges[] lanelet_vertices | ||
|
||
# A list of areass representing vertices in the graph and their associated edges | ||
RoutingGraphVertexAndEdges[] area_vertices | ||
|
||
# The lanelet2 participant type used to generate this graph | ||
# The lanelets and areas in this graph will only be present if they are passable by this participant type | ||
string participant_type | ||
|
||
# The maximum number of routing cost ids used to compute edge costs in this graph | ||
# This field is an optimization to prevent the need to count the number of unique routing cost ids in the edges | ||
int64 num_unique_routing_cost_ids | ||
|
23 changes: 23 additions & 0 deletions
23
messages/autoware_lanelet2_msgs/msg/RoutingGraphVertexAndEdges.msg
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# This message is a description of a single vertex (lanelet or area) and its edges | ||
# in a Lanelet2 Routing Graph. The edges are stored as a collection of equally sized areas where each index corresponds to one edge | ||
# The reason edges are stored as multiple array fields instead of independent message objects | ||
# is because ROS2 DDS implementations have known performance issues with heavily nested data structures. | ||
|
||
int64 lanelet_or_area # Lanelet or area of interest (the vertex) | ||
|
||
# The following 4 arrays must have the same size and ordering such that each index corresponds to the same routing graph edge | ||
int64[] lanelet_or_area_ids # The other vertices connected to the vertex of interest in a lanelet_or_area->lanelet_or_area_ids[i] direction | ||
float64[] edge_routing_costs # The routing costs of the edges | ||
uint16[] edge_routing_cost_source_ids # The ids of the routing cost generators used to compute the routing cost of each edge | ||
uint8[] edge_relations # The relation type of the edge | ||
|
||
# Enum of edge relation types | ||
# See the enum class RelationType in Lanelet2 for relation descriptions | ||
uint8 RELATION_NONE=0 | ||
uint8 RELATION_SUCCESSOR=1 | ||
uint8 RELATION_LEFT=2 | ||
uint8 RELATION_RIGHT=3 | ||
uint8 RELATION_ADJACENT_LEFT=4 | ||
uint8 RELATION_ADJACENT_RIGHT=5 | ||
uint8 RELATION_CONFLICTING=6 | ||
uint8 RELATION_AREA=7 |