.. _program_listing_file_osi-documentation_osi-validation_open-simulation-interface_osi_detectedlane.proto: Program Listing for File osi_detectedlane.proto =============================================== |exhale_lsh| :ref:`Return to documentation for file ` (``osi-documentation/osi-validation/open-simulation-interface/osi_detectedlane.proto``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp 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; } }