robocar-protobuf/events/events.proto

84 lines
1.4 KiB
Protocol Buffer

syntax = "proto3";
package robocar.events;
option go_package = "events";
import "google/protobuf/timestamp.proto";
message FrameRef {
string name = 1;
string id = 2;
google.protobuf.Timestamp created_at= 3;
}
message FrameMessage {
FrameRef id = 1;
bytes frame = 2;
}
message SteeringMessage {
float steering = 1;
float confidence = 2;
FrameRef frame_ref = 3;
}
message ThrottleMessage {
float throttle = 1;
float confidence = 2;
FrameRef frame_ref = 3;
}
message DriveModeMessage {
DriveMode drive_mode = 1;
}
enum DriveMode {
INVALID = 0;
USER = 1;
PILOT = 2;
}
message ObjectsMessage {
repeated Object objects = 1;
FrameRef frame_ref = 2;
}
// BoundingBox that contains an object
message Object {
TypeObject type = 1;
int32 left = 2;
int32 top = 3;
int32 right = 4;
int32 bottom = 5;
float confidence = 6;
}
enum TypeObject {
ANY = 0;
CAR = 1;
BUMP = 2;
PLOT = 3;
}
message SwitchRecordMessage {
bool enabled = 1;
}
// Road description
message RoadMessage {
repeated Point contour = 1; // list of points that describes road contour
Ellipse ellipse = 2; // rotated ellipse that fit road contour
}
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;
}