Program Listing for File osi_detectedlane.proto¶
↰ Return to documentation for file (osi-documentation/osi-validation/open-simulation-interface/osi_detectedlane.proto)
syntax = "proto2";
option optimize_for = SPEED;
import "osi_lane.proto";
import "osi_detectedobject.proto";
package osi3;
//
// \brief A lane segment as detected by the sensor.
//
message DetectedLane
{
// Common information of one detected item.
//
optional DetectedItemHeader header = 1;
// A list of candidates for this lane as estimated by the sensor.
//
// \note OSI uses singular instead of plural for repeated field names.
//
repeated CandidateLane candidate = 2;
//
// \brief A candidate for a detected lane as estimated by the
// sensor.
//
message CandidateLane
{
// The estimated probability that this candidate is the true value.
//
// \note The sum of all \c #probability must be one. This probability is
// given under the condition of
// \c DetectedItemHeader::existence_probability.
//
// Range: [0,1]
//
optional double probability = 1;
// The classification of one lane that defines this candidate.
//
// \note IDs, which are referenced in this message, usually
// reference to \c DetectedXXX::tracking_id IDs.
//
optional Lane.Classification classification = 2;
}
}
//
// \brief A lane boundary segment as detected by the sensor.
//
// \image html OSI_DetectedLaneBoundary.svg
//
message DetectedLaneBoundary
{
// Common information of one detected item.
//
optional DetectedItemHeader header = 1;
// A list of candidates for this lane boundary as estimated by the
// sensor.
//
// \note OSI uses singular instead of plural for repeated field names.
//
repeated CandidateLaneBoundary candidate = 2;
// The list of individual points defining the location of the lane boundary
// (as a list of segments).
//
// Since a \c BoundaryPoint is part of a sequence, only the position
// attribute has to be set for each instance. All other values will be
// reused from the previous \c BoundaryPoint in the sequence or set to
// default values if there is none or it was never set. For dashed lines,
// one \c LaneBoundary::BoundaryPoint has to be at the start and another at
// the end of each dashed line segment. For Botts' dots lines, one \c
// LaneBoundary::BoundaryPoint position has to define each Botts' dot.
//
// \attention For \c LaneBoundary::BoundaryPoint the same rules regarding
// maximum distance and approximation error apply as for \c
// Lane::Classification::centerline.
//
repeated LaneBoundary.BoundaryPoint boundary_line = 3;
// The root mean squared error of the \c LaneBoundary::BoundaryPoint.
// Each \c #candidate has the same \c #boundary_line points and exact
// one \c #boundary_line_rmse rmse confidence value is
// specified which is suitable for all candidates.
//
repeated LaneBoundary.BoundaryPoint boundary_line_rmse = 4;
// Confidence of the segments of the \c LaneBoundary::BoundaryPoint.
// Each \c #candidate has the same \c #boundary_line points and exact
// one \c #boundary_line_confidences confidence value is
// specified which is suitable for all candidates.
//
// Range: [0,1]
//
repeated double boundary_line_confidences = 5;
//
// \brief A candidate for a detected lane boundary as estimated by the
// sensor.
//
message CandidateLaneBoundary
{
// The estimated probability that this candidate is the true value.
//
// \note The sum of all \c #probability must be one. This probability is
// given under the condition of
// \c DetectedItemHeader::existence_probability.
//
// Range: [0,1]
//
optional double probability = 1;
// The classification of one lane boundary that defines this candidate.
//
// \note IDs, which are referenced in this message, usually
// reference to \c DetectedXXX::tracking_id IDs.
//
optional LaneBoundary.Classification classification = 2;
}
}