
回复
(资料性附录)
感知融合服务接口 protobuf 描述
A.1 数据结构定义描述
// common.proto
message Header{
required uint32 ModuleID=1;
message VersionID{
required uint32 major=1;
required uint32 minor=2;
required uint32 patch=3;
}
required VersionID vid=2;
required uint32 sequenceNum=3;
message timeStamp{
required uint64 timeStampS=1;
required uint64 timeStampNs=2;
}
required timeStamp TimeStamp=4;
enum FRAMETYPE{
NA=0;
VCS=1;
WGS84=2;
UTM=3;
}
required FRAMETYPE Frame=5;
emum STATUS{
GOOD=0;
MED=1;
FAILURE=2;
}
required STATUS Status =6;
}
message Point2D{
required double x=1;
required double y=2;
}
message Point3D{
required double x=1;
required double y=2;
required double z=3;
}
message Polygon2D{
repeated point2D p2d=1;
}
message Polygon3D{
repeated point3D p3d=1;
}
message Dimension{
required double height=1;
required double width=2;
required double length=3;
}
message Quaternion {
required double qx = 1 ;
required double qy = 2 ;
required double qz = 3 ;
required double qw = 4 ;
}
message Transformation{
required Point3D Translation=1;
required Quaternion Rotation=2;
}
message Pose{
required Point3D Position=1;
required Quaternion Orientation=2;
required double Covariance=3;
}
message Velocity{
required Point3D Linear=1;
required Point3D Angular =2;
repeated double Covariance=3;
}
message Acceleration{
required Point3D Linear=1;
required Point3D Angular =2;
repeated double Covariance=3;
}
message Object{
required uint32 objectId=1;
enum OBJECTYPE{
Pedestrian=1;
Cyclist=2;
Car=3;
Truck=4;
Tram=5;
Motorcycle=6;
Bicycle=7;
Tricycle=8;
TrafficLight=9;
TrafficSign=10;
RoadSign=11;
TrafficCone=12;
TrafficStick=13;
BillBoard=14;
ParkingSlot=15;
FireHydrant=16;
Unknow_static=17;
Unknow_movable=18;
}
required OBJECTYPE objectType=2;
required double classConfidence=3;
required bool isMovable=4;
optional double existProbability=5;
optional double timeLastSeen=6;
optional double timeCreation=7;
optional double objectAge=8;
optional double trackQuality=9;
required pose referencePoint=10;
required Dimension objectDimension=11;
required Velocity ObjectVelocity=12;
required Acceleration ObjectAccel=13;
optional int32 laneAssignment=14;
optional double laneOffsetLeft=15;
optional double laneOffsetRight=16;
enum LIGHTSTATUS{
OFF=0;
LEFT=1;
RIGHT=2;
BLINK=3;
BRAKE=4;
}
Optional LIGHTSTATUS LightStatus =17;
}
message LaneLine{
enum LANELINETYPE{
WHITE_DASHED = 0;
WHITE_SOLID = 1;
YELLOW_DASHED = 2;
YELLOW_SOLID = 3;
UNKNOWN=4;
}
required LaneLineType Type=1;
required double confidence=2;
repeated Point3D linePoints=3;
}
message StopLine{
enum STOPLINETYPE {
NORMAL=0;
UNKNOWN=1;
}
required STOPLINETYPE Type=1;
required double confidence=2;
required Point3D LeftStart=3;
required Point3D RightEnd=4;
}
message TrafficLight{
required uint32 id=1;
enum TLType {
STRAIGHT = 0;
LEFT = 1;
RIGHT = 2;
U_TURN = 3;
}
required TLtype type=2;
enum TLColour{
RED = 0;
YELLOW = 1;
GREEN = 2;
BLACK = 3;
UNKNOWN = 4;
}
required TLColour Colour =3;
required Point3D Position=4;
required Polygon2D Box=5;
required int32 LaneAttached=6;
optional double RemainingTime=7;
} message TrafficSign{
required uint32 id=1;
enum TSTYPE{
SpeedLimit=0;
HzardWarning=1;
}
required TSTYPE Semantic=2;
optional uint32 value=3;
enum UNITTYPE{
KMPH=0;
TON=1;
}
optional UNITTYPE Unit=4;
required Point3D position=5;
required Polygon2D Box=6;
optional int32 LaneAttached=7;
}
message FreeSpaceMeta{
required double xStart=1;
required dboule xEnd=2;
required dboule xReslution =3;
required uint32 xGridNum =4;
required double yStart=5;
required dboule yEnd=6;
required dboule yReslution =7;
required uint32 yGridNum =8;
}message FreeSpaceCell{
enum CELLSTATUS {
UNKNOW=0;
FREE=1;
OCC_STATIC=2;
OCC_MOVABLE=3;
}
required CELLSTATUS Status=1;
required double Probability=2;
}
message ParkingSpace{
required uint32 id=1;
enum PARKINGTYPE{
PARKING_TYPE_UNKNOWN = 0;
PARKING_TYPE_VERTICAL = 1;
PARKING_TYPE_PARALLEL = 2;
PARKING_TYPE_INC = 3;
}
required PARKINGTYPE Ptype=2;
required double typeConfidence=3;
repeated Point3D ParkingSpotPoints=4;
optional double width=5;
optional double length=6;
required bool valid=7;
}
message VehicleStatus{
required double SteeringAngle=1;
required double steeringVelocity=2;
required Acceleration acc=3;
required Velocity vel=4;
enum DrivingMode{
MANUAL=0;
AUTO=1;
LAT_ONLY=2;
LON_ONLY=3;
}
required DrivingMode ControlMode=5;
enum GearPosition{
GEAR_NEUTRAL = 0;
GEAR_PARKING = 1;
GEAR_DRIVE = 2;
GEAR_REVERSE = 3;
GEAR_LOW = 4;
GEAR_INVALID = 5;
GEAR_NONE = 6;
}
required GearPosition GearMode=6;
enum EngineMode{
ON=0;
OFF=1;
FAILURE=2;
}
required EngineMode eMode =7;
repeated double WheelSpeed=8;
}
A.2 目标识别和跟踪服务接口
// ObjectDetectionAndTrackingService.proto
import common.proto
message ObjectDetectionAndTrackingService{
required Header header=1;
repeated Object ListOfObjects=1;
}
A.3 道路结构服务接口
// RoadStructureService.proto
import common.proto
message RoadStructureService{
required Header header=1;
repeated LaneLine ListOfLaneLine=2;
repeated StopLine ListOfStopLine =3;
}
A.4 交通标志接口
// TrafficSignLightService.proto
message TrafficSignLightService{
required Header header=1;
repeated TrafficLight ListOfTrafficLight=2;
repeated TrafficSign ListOfTrafficSign=3;
}
A.5 可行驶空间接口
// DrivableAreaService.proto
import common.proto
message DrivableAreaService{
required Header header=1;
required FreeSpaceMeta MetaInfo=2;
repeated FreeSpaceCell ListOfFreeSpaceCells=3;
}
A.6 车辆状态服务接口
//VehicleStatusService.proto
import common.proto
message VehicleStatusService{
required Header header=1;
required VehicleStatus vState=2;
}
A.7 泊车位信息服务接口
// ParkinglotDetectionService.proto
import common.proto
message ParkinglotDetectionService {
required Header header=1;
repeated ParkingSpace ParkingLots =2;
}
A.8 环境模型服务接口
import common.proto
message ParkinglotDetectionService {
required Header header=1;
repeated Object ListOfObjects=2;
repeated LaneLine ListOfLaneLine=3;
repeated StopLine ListOfStopLine =4;
repeated TrafficLight ListOfTrafficLight=5;
repeated TrafficSign ListOfTrafficSign=6;
optional FreeSpaceMeta MetaInfo=7;
repeated FreeSpaceCell ListOfFreeSpaceCells=8;
required VehicleStatus vState=9;
repeated ParkingSpace ParkingLots =10;
}
原文作者:爱是与世界平行
原文链接:https://blog.51cto.com/lovebetterworld/5606490