Skip to content

Commit

Permalink
Concretize documentation of Route- and LogicalLaneSegment
Browse files Browse the repository at this point in the history
Signed-off-by: Fabian Pfeuffer <[email protected]>
  • Loading branch information
Fabian Pfeuffer authored and Fabian Pfeuffer committed Nov 22, 2023
1 parent 6e666a8 commit a2d4d6f
Showing 1 changed file with 22 additions and 7 deletions.
29 changes: 22 additions & 7 deletions osi_route.proto
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,13 @@ message Route
//
// \brief A segment of a logical lane.
//
// \note The #LogicalLaneSegment allows that #start_s > #end_s.
// If #start_s < #end_s, then the traffic agent should traverse the
// segment in the logical lane's reference line definition direction.
// If #end_s > #start_s, then the traffic agent should traverse the
// segment in the opposite of the logical lane's reference line
// definition direction.
//
message LogicalLaneSegment
{
// The ID of the logical lane this segment belongs to.
Expand All @@ -76,15 +83,23 @@ message Route
// \brief A segment of a route.
//
// A route segment describes a segment of a traffic agent's route through the
// road network. The route segment is composed of a list of logical lanes
// segments that indicate the agent which logical lanes it should use in a
// given interval, so that it will eventually reach its destination.
// In general, only lanes should be listed that are parallel to each
// other, though some may have different lengths (e.g. if a lane widening
// logical lanes of the road network.
//
// Each time there is a successor-predecessor relation between the logical
// lanes along the route (i.e. a logical lane ends, and is continued by another
// logical lane, e.g. at a junction border), a new #RouteSegment starts. The
// #RouteSegment then lists the logical lane segments that can be used to
// travel through this space of the road.
//
// Together, the listed logical lane segments should form a continuous area,
// where the traffic agent can move freely. These will mostly be parallel
// lanes, though lanes may overlap (e.g. if one lane splits into two on a
// junction). In general, the logical lane segments in a #RouteSegment will
// have the same length, though there are exceptions (e.g. if a lane widening
// occurs, the newly appearing lane will have a shorter length).
//
// Typically a route segment will be either
// - a set of lanes between two junctions, or
// - a set of parallel lanes between two junctions, or
// - parallel lanes on an intersection with the same driving direction
//
// ## Example
Expand Down Expand Up @@ -113,7 +128,7 @@ message Route
//
// The logical lane segments of a route segment should be connected without
// gaps, meaning that, together, the lane segments should form a
// continous area.
// continuous area.
//
repeated LogicalLaneSegment lane_segment = 1;

Expand Down

0 comments on commit a2d4d6f

Please sign in to comment.