-
Notifications
You must be signed in to change notification settings - Fork 0
/
osi_sensorspecific.proto
157 lines (134 loc) · 3.63 KB
/
osi_sensorspecific.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
syntax = "proto2";
option optimize_for = SPEED;
import "osi_common.proto";
package osi3;
//
// \brief Message encapsulates all data for detected objects that is specific to
// radar sensors.
//
message RadarSpecificObjectData
{
// The radar cross section (RCS) of the detected object.
//
// Unit: dB m^2
//
optional double rcs = 1;
}
//
// \brief Message encapsulates all data for detected objects that is specific to
// lidar sensors.
//
message LidarSpecificObjectData
{
// currently no fields.
//
}
//
// \brief Message encapsulates all data for detected objects that is specific to
// camera sensors.
//
message CameraSpecificObjectData
{
// currently no fields.
//
}
//
// \brief Message encapsulates all data for detected objects that is specific to
// ultrasonic sensors.
//
message UltrasonicSpecificObjectData
{
// Maximum measured distance from one sensor which leads to the calculation
// of this object.
//
// Unit: m
//
// \rules
// is_greater_than_or_equal_to: 0
// \endrules
//
optional double maximum_measurement_distance_sensor = 1;
// This value indicates the probability height for the classification in the
// calculated object.
//
// Unit: %
//
// \rules
// is_less_than_or_equal_to: 1
// is_greater_than_or_equal_to: 0
// \endrules
//
optional double probability = 2;
// This indicates if the detection was calculated based on one or multiple
// sensors.
//
optional TrilaterationStatus trilateration_status = 3;
// Describes the general moving direction of the detection.
//
optional Trend trend = 4;
// Ultrasonic signalway. Sender to receiver.
//
// \note This information can also be derived from the corresponding \c
// UltrasonicDetection. \c UltrasonicDetection refer to DetectedXXX by \c
// UltrasonicDetection::object_id.
//
repeated Signalway signalway = 5;
//
// This indicates if the object was calculated based on one or multiple
// sensors.
//
enum TrilaterationStatus
{
// Unknown (must not be used in ground truth).
//
TRILATERATION_STATUS_UNKNOWN = 0;
// Other (unspecified but known).
//
TRILATERATION_STATUS_OTHER = 1;
// No trilateration used.
//
TRILATERATION_STATUS_NOT_TRILATERATED = 2;
// Trilateration used.
//
TRILATERATION_STATUS_TRILATERATED = 3;
}
//
// Describes the general moving direction of the detection.
//
enum Trend
{
// Unknown (must not be used in ground truth).
//
TREND_UNKNOWN = 0;
// Other (unspecified but known).
//
TREND_OTHER = 1;
// Distance (object, sensor) is constant. The object has approached in
// the past before it was constant.
//
TREND_CONSTANT_APPROACHING = 2;
// Distance (object, sensor) is constant. The object has departed in the
// past before it was constant or there is no history.
//
TREND_CONSTANT = 3;
// Distance (object, sensor) is decreasing.
//
TREND_APPROACHING = 4;
// Distance (object, sensor) is increasing.
//
TREND_DEPARTING = 5;
}
//
// \brief Message encapsulates all data for detected objects that is
// specific to ultrasonic sensors.
//
message Signalway
{
// The ID of the ultrasonic sensor's sender.
//
optional Identifier sender_id = 1;
// The ID of the ultrasonic sensor's receiver.
//
optional Identifier receiver_id = 2;
}
}