robocar-protobuf/events/events.proto

118 lines
2.2 KiB
Protocol Buffer
Raw Normal View History

2019-12-31 14:43:01 +00:00
syntax = "proto3";
package robocar.events;
2021-09-01 18:31:50 +00:00
option go_package = "./events";
2019-12-31 14:43:01 +00:00
2020-01-03 15:48:25 +00:00
import "google/protobuf/timestamp.proto";
2019-12-31 14:43:01 +00:00
message FrameRef {
string name = 1;
string id = 2;
2020-01-03 15:48:25 +00:00
google.protobuf.Timestamp created_at= 3;
2019-12-31 14:43:01 +00:00
}
message FrameMessage {
FrameRef id = 1;
bytes frame = 2;
}
2024-01-22 18:19:41 +00:00
message DisparityMessage {
FrameRef frame_ref= 1;
bytes disparity = 2;
double focal_length_in_pixels = 3;
// the distance between two mono cameras
double baseline_in_mm = 4;
}
2019-12-31 14:43:01 +00:00
message SteeringMessage {
float steering = 1;
float confidence = 2;
FrameRef frame_ref = 3;
}
message ThrottleMessage {
float throttle = 1;
float confidence = 2;
FrameRef frame_ref = 3;
}
2023-02-27 18:54:15 +00:00
enum SpeedZone {
UNKNOWN = 0;
SLOW = 1;
NORMAL = 2;
FAST = 3;
}
message SpeedZoneMessage {
SpeedZone speed_zone = 1;
float confidence = 2;
FrameRef frame_ref = 3;
}
2019-12-31 23:34:30 +00:00
message DriveModeMessage {
DriveMode drive_mode = 1;
}
enum DriveMode {
INVALID = 0;
USER = 1;
PILOT = 2;
2023-10-14 11:08:08 +00:00
COPILOT = 3;
2019-12-31 23:34:30 +00:00
}
message ObjectsMessage {
2019-12-31 14:43:01 +00:00
repeated Object objects = 1;
FrameRef frame_ref = 2;
}
// BoundingBox that contains an object, coordinates as percent
2019-12-31 23:34:30 +00:00
message Object {
2019-12-31 14:43:01 +00:00
TypeObject type = 1;
float left = 2;
float top = 3;
float right = 4;
float bottom = 5;
2019-12-31 14:43:01 +00:00
float confidence = 6;
2024-01-23 22:25:48 +00:00
int64 distanceInMm = 7;
2019-12-31 14:43:01 +00:00
}
2019-12-31 23:34:30 +00:00
enum TypeObject {
2019-12-31 14:43:01 +00:00
ANY = 0;
CAR = 1;
BUMP = 2;
PLOT = 3;
}
2020-01-01 00:03:56 +00:00
message SwitchRecordMessage {
bool enabled = 1;
}
2020-01-03 22:57:52 +00:00
// Road description
message RoadMessage {
repeated Point contour = 1; // list of points that describes road contour
Ellipse ellipse = 2; // rotated ellipse that fit road contour
2020-01-03 23:52:48 +00:00
FrameRef frame_ref = 3; // Reference to the frame used for compute
2020-01-03 22:57:52 +00:00
}
message Point {
int32 x = 1;
int32 y = 2;
}
message Ellipse {
Point center = 1;
int32 width = 2;
int32 height = 3;
float angle = 4;
float confidence = 5;
}
2020-01-25 17:14:36 +00:00
// Record message used to tensorflow learning
message RecordMessage {
FrameMessage frame = 1;
SteeringMessage steering = 2;
SteeringMessage autopilot_steering = 4;
DriveModeMessage drive_mode = 5;
DisparityMessage disparity = 6;
2020-02-02 12:36:32 +00:00
string recordSet = 3; // Record set name
2020-01-25 17:14:36 +00:00
}