[8.3.0] 820决策停止线接口,同步PB,鹰眼目前未接入
This commit is contained in:
@@ -135,6 +135,7 @@ import com.zhjt.service.chain.ChainLog
|
||||
import fault_management.FmInfo
|
||||
import fsm.Fsm2024
|
||||
import function_state_management.FunctionStates
|
||||
import hadmap.Hadmap
|
||||
import localization.LocState
|
||||
import mogo.telematics.pad.MessagePad
|
||||
import mogo.telematics.pad.MessagePad.TrackedObject
|
||||
@@ -1654,6 +1655,16 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
CallerV2XManager.invokeObuUploadStatus(enable)
|
||||
}
|
||||
|
||||
/**
|
||||
* 决策停止线(自动驾驶决策呈现使用) 定频,理论是10hz,实际会有不同
|
||||
*
|
||||
* @param header 头
|
||||
* @param mapMsg 数据
|
||||
*/
|
||||
override fun onPlanningStopLine(header: MessagePad.Header, mapMsg: Hadmap.MapMsg) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否可以启动自动驾驶
|
||||
* 使用方法查看:app_ipc_monitoring/uiMainActivity/onAutopilotAbility
|
||||
|
||||
@@ -117,6 +117,7 @@ public enum MessageType {
|
||||
TYPE_SEND_SET_OBU_UPLOAD_REQ(MessagePad.MessageType.MsgTypeSetObuUploadReq, R.string.adas_data_MsgTypeSetObuUploadReq),
|
||||
TYPE_SEND_OBU_UPLOAD_STATUS(MessagePad.MessageType.MsgTypeObuUploadStatus, R.string.adas_data_MsgTypeObuUploadStatus_SEND),
|
||||
TYPE_RECEIVE_OBU_UPLOAD_STATUS(MessagePad.MessageType.MsgTypeObuUploadStatus, R.string.adas_data_MsgTypeObuUploadStatus_RECEIVE),
|
||||
TYPE_RECEIVE_PLANNING_STOP_LINE(MessagePad.MessageType.MsgTypePlanningStopLine, R.string.adas_data_MsgTypePlanningStopLine),
|
||||
|
||||
//TODO 透传原始pb文件中不存在以下type。由于Java中无法强转,所以在mogo-adas-data/message_pad.proto中放开注释
|
||||
TYPE_RECEIVE_PLANNING_DECISION_STATE(MessagePad.MessageType.MsgTypePlanningDecisionState, R.string.adas_data_MsgTypePlanningDecisionState),
|
||||
|
||||
499
libraries/mogo-adas-data/src/main/proto/hadmap.proto
Normal file
499
libraries/mogo-adas-data/src/main/proto/hadmap.proto
Normal file
@@ -0,0 +1,499 @@
|
||||
syntax = "proto2";
|
||||
package hadmap;
|
||||
|
||||
import "header.proto";
|
||||
import "geometry.proto";
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
enum LaneMarkColor {
|
||||
COLOR_WHITE = 0;
|
||||
COLOR_YELLOW = 1;
|
||||
}
|
||||
|
||||
enum LaneMarkType {
|
||||
LANE_MARK_NONE = 0; //û<>л<EFBFBD><D0BB>ߵij<DFB5><C4B3><EFBFBD>
|
||||
LANE_MARK_SOLID = 0x1; //<2F><>ɫ<EFBFBD><C9AB>ʵ<EFBFBD><CAB5>
|
||||
LANE_MARK_BROKEN = 0x2; //<2F><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LANE_MARK_SOLID2 = 0x10;
|
||||
LANE_MARK_BROKEN2 = 0x20;
|
||||
LANE_MARK_SOLIDSOLID = 0x11; //LANE_MARK_SOLID | LANE_MARK_SOLID2, <20><>ɫ˫ʵ<CBAB><CAB5>
|
||||
LANE_MARK_SOLIDBROKEN = 0x21; //LANE_MARK_SOLID | LANE_MARK_BROKEN2, <20><>ɫʵ<C9AB><CAB5><EFBFBD><EFBFBD>
|
||||
LANE_MARK_BROKENSOLID = 0x12; //LANE_MARK_BROKEN | LANE_MARK_SOLID2, <20><>ɫ<EFBFBD><C9AB>ʵ<EFBFBD><CAB5>
|
||||
LANE_MARK_BROKENBROKEN = 0x22; //LANE_MARK_BROKEN | LANE_MARK_BROKEN2,<2C><>ɫ˫<C9AB><CBAB><EFBFBD><EFBFBD>
|
||||
|
||||
LANE_MARK_CURB = 0x100; //·<><C2B7>ʯ
|
||||
|
||||
LANE_MARK_FENCE = 0x200; //դ<><D5A4>
|
||||
LANE_MARK_SOLID_FENCE = 0x201; //LANE_MARK_SOLID | LANE_MARK_FENCE, դ<><D5A4><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>
|
||||
LANE_MARK_BROKEN_FENCE = 0x202; //LANE_MARK_BROKEN | LANE_MARK_FENCE, դ<><D5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LANE_MARK_SOLIDSOLID_FENCE = 0x211; //LANE_MARK_SOLIDSOLID | LANE_MARK_FENCE, դ<><D5A4>˫ʵ<CBAB><CAB5>
|
||||
LANE_MARK_SOLIDBROKEN_FENCE = 0x221; //LANE_MARK_SOLIDBROKEN | LANE_MARK_FENCE, դ<><D5A4>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
|
||||
LANE_MARK_BROKENSOLID_FENCE = 0x212; //LANE_MARK_BROKENSOLID | LANE_MARK_FENCE, դ<><D5A4><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>
|
||||
LANE_MARK_BROKENBROKEN_FENCE = 0x222; //LANE_MARK_BROKENBROKEN | LANE_MARK_FENCE, դ<><D5A4>˫<EFBFBD><CBAB><EFBFBD><EFBFBD>
|
||||
|
||||
LANE_MARK_GRASS = 0x400; //·<><C2B7>Ե
|
||||
LANE_MARK_BOLD = 0x1000; //bold line
|
||||
|
||||
LANE_MARK_YELLOW = 0x10000; //yellow lines, default white,blue green red
|
||||
LANE_MARK_SOLID_YELLOW = 0x10001; //LANE_MARK_SOLID | LANE_MARK_YELLOW,//<2F>Ƶ<EFBFBD>ʵ<EFBFBD><CAB5>
|
||||
LANE_MARK_BROKEN_YELLOW = 0x10002; //LANE_MARK_BROKEN | LANE_MARK_YELLOW,//<2F>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
LANE_MARK_SOLIDSOLID_YELLOW = 0x10011; //LANE_MARK_SOLIDSOLID | LANE_MARK_YELLOW,//<2F><>˫ʵ<CBAB><CAB5>
|
||||
LANE_MARK_SOLIDBROKEN_YELLOW = 0x10021; //LANE_MARK_SOLIDBROKEN | LANE_MARK_YELLOW,//<2F><>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
|
||||
LANE_MARK_BROKENSOLID_YELLOW = 0x10012; //LANE_MARK_BROKENSOLID | LANE_MARK_YELLOW,//<2F><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>
|
||||
LANE_MARK_BROKENBROKEN_YELLOW = 0x10022; //LANE_MARK_BROKENBROKEN | LANE_MARK_YELLOW,//<2F><>˫<EFBFBD><CBAB>
|
||||
|
||||
LANE_MARK_SOLID_YELLOW_FENCE = 0x10201; //LANE_MARK_SOLID_FENCE | LANE_MARK_YELLOW,դ<><D5A4><EFBFBD>Ƶ<EFBFBD>ʵ<EFBFBD><CAB5>
|
||||
LANE_MARK_Broken_YELLOW_FENCE = 0x10202; //LANE_MARK_BROKEN_FENCE | LANE_MARK_YELLOW,դ<><D5A4><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
LANE_MARK_SOLIDSOLID_YELLOW_FENCE = 0x10211; //LANE_MARK_SOLIDSOLID_FENCE | LANE_MARK_YELLOW,դ<><D5A4><EFBFBD><EFBFBD>˫ʵ<CBAB><CAB5>
|
||||
LANE_MARK_SOLIDBROKEN_YELLOW_FENCE = 0x10221; //LANE_MARK_SOLIDBROKEN_FENCE | LANE_MARK_YELLOW,դ<><D5A4><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
|
||||
LANE_MARK_BROKENSOLID_YELLOW_FENCE = 0x10212; //LANE_MARK_BROKENSOLID_FENCE | LANE_MARK_YELLOW,դ<><D5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>
|
||||
LANE_MARK_BROKENBROKEN_YELLOW_FENCE = 0x10222; //LANE_MARK_BROKENBROKEN_FENCE | LANE_MARK_YELLOW,դ<><D5A4>˫<EFBFBD><CBAB>ʵ
|
||||
|
||||
LANE_MARK_WHITEYELLOW = 0x20000; //<2F><><EFBFBD><EFBFBD>һ<EFBFBD>
|
||||
LANE_MARK_SOLIDSOLID_WHITEYELLOW = 0x20011; //LANE_MARK_SOLIDSOLID | LANE_MARK_WHITEYELLOW,<2C><><EFBFBD><EFBFBD>һ<EFBFBD>˫ʵ<CBAB><CAB5>
|
||||
LANE_MARK_SOLIDBROKEN_WHITEYELLOW = 0x20012; //LANE_MARK_SOLIDBROKEN | LANE_MARK_WHITEYELLOW,<2C><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LANE_MARK_BROKENSOLID_WHITEYELLOW = 0x20021; //LANE_MARK_BROKENSOLID | LANE_MARK_WHITEYELLOW,<2C><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
|
||||
LANE_MARK_BROKENBROKEN_WHITEYELLOW = 0x20022; //LANE_MARK_BROKENBROKEN | LANE_MARK_WHITEYELLOW,<2C><><EFBFBD><EFBFBD>һ<EFBFBD>˫<EFBFBD><CBAB>
|
||||
|
||||
LANE_MARK_YELLOWWHITE = 0x30000; ////<2F><><EFBFBD><EFBFBD>Ұ<EFBFBD>
|
||||
LANE_MARK_SOLIDSOLID_YELLOWWHITE = 0x30011; //LANE_MARK_SOLIDSOLID | LANE_MARK_YELLOWWHITE,<2C><><EFBFBD><EFBFBD>Ұ<EFBFBD>˫ʵ<CBAB><CAB5>
|
||||
LANE_MARK_SOLIDBROKEN_YELLOWWHITE = 0x30012; //LANE_MARK_SOLIDBROKEN | LANE_MARK_YELLOWWHITE,<2C><><EFBFBD><EFBFBD>Ұ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
|
||||
LANE_MARK_BROKENSOLID_YELLOWWHITE = 0x30021; //LANE_MARK_BROKENSOLID | LANE_MARK_YELLOWWHITE,<2C><><EFBFBD><EFBFBD>Ұ<EFBFBD><D2B0><EFBFBD>ʵ<EFBFBD><CAB5>
|
||||
LANE_MARK_BROKENBROKEN_YELLOWWHITE = 0x30022; //LANE_MARK_BROKENBROKEN | LANE_MARK_YELLOWWHITE,<2C><><EFBFBD><EFBFBD>Ұ<EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD>
|
||||
|
||||
LANE_MARK_OTHERCOLORS = 0x40000;
|
||||
LANE_MARK_LDM_P = 0x100000;
|
||||
LANE_MARK_VGL_P = 0x200000;
|
||||
LANE_MARK_SHIELDED = 0x1000000;
|
||||
LANE_MARK_ABSEBNT = 0x2000000;
|
||||
}
|
||||
|
||||
enum LaneType {
|
||||
LANE_TYPE_None = 0;
|
||||
LANE_TYPE_Driving = 1;
|
||||
LANE_TYPE_Stop = 2;
|
||||
LANE_TYPE_Shoulder = 3;
|
||||
LANE_TYPE_Biking = 4;
|
||||
LANE_TYPE_Sidewalk = 5;
|
||||
LANE_TYPE_Border = 6;
|
||||
LANE_TYPE_Restricted = 7;//BUS
|
||||
LANE_TYPE_Parking = 8;
|
||||
LANE_TYPE_MwyEntry = 9;
|
||||
LANE_TYPE_MwyExit = 10;
|
||||
LANE_TYPE_Acceleration = 11;//加速车<E9809F>?
|
||||
LANE_TYPE_Deceleration = 12;//减速车<E9809F>?
|
||||
LANE_TYPE_Compound = 13;//???, todo
|
||||
LANE_TYPE_HOV = 14;//美国/加拿大为提高效率,拼车或者公交车<E4BAA4>?行的车道,乘车人数需2人及以上
|
||||
LANE_TYPE_Slow = 15;//???? todo
|
||||
LANE_TYPE_Reversible = 16;//<2F>?汐车<E6B190>?
|
||||
LANE_TYPE_EmergencyParking = 17;//紧急停车带
|
||||
LANE_TYPE_Emergency = 20;
|
||||
LANE_TYPE_TurnLeftWaiting = 21;
|
||||
LANE_TYPE_Ramp = 22;//匝道
|
||||
LANE_TYPE_UTurnWaiting = 23;//掉头待转区车<E58CBA>?
|
||||
LANE_TYPE_TurnRightWaiting = 24;//右转待转区车<E58CBA>?
|
||||
LANE_TYPE_JuncTurnLeft = 25;//<2F>?口左<E58FA3>?车道
|
||||
LANE_TYPE_JuncStraight = 26;//<2F>?口直行车<E8A18C>?
|
||||
LANE_TYPE_JuncTurnRight = 27;//<2F>?口右<E58FA3>?车道
|
||||
LANE_TYPE_Turn = 28;//掉头车道
|
||||
LANE_TYPE_Diversion = 29;//导流带车<E5B8A6>?
|
||||
LANE_TYPE_DrivingSide = 30;//<2F>?通车<E9809A>?-辅路
|
||||
LANE_TYPE_BikingSide = 31;//非机动车<E58AA8>?-辅路
|
||||
LANE_TYPE_TurnRighSide = 32;//右转车道-辅路
|
||||
LANE_TYPE_TaxiLane = 33;//出<>?<3F>车专用车道
|
||||
LANE_TYPE_LeftOrUturnWaite = 34;//左转或调头待<E5A4B4>?车道
|
||||
LANE_TYPE_PoliceCarLane = 35;//警务专用车道
|
||||
LANE_TYPE_AcceleOrDeceleLane = 36;//加减速车<E9809F>?
|
||||
}
|
||||
|
||||
enum LaneArrow {
|
||||
LANE_ARROW_None = 0x0;
|
||||
LANE_ARROW_Straight = 0x1;
|
||||
LANE_ARROW_Left = 0x2;
|
||||
LANE_ARROW_Right = 0x4;
|
||||
LANE_ARROW_Uturn = 0x8;
|
||||
LANE_ARROW_SkewLeft = 0x20;
|
||||
LANE_ARROW_SkewRight = 0x40;
|
||||
LANE_ARROW_StraightLeft = 0x3;//LANE_ARROW_Straight | LANE_ARROW_Left,
|
||||
LANE_ARROW_StraightRight = 0x5;//LANE_ARROW_Straight | LANE_ARROW_Right,
|
||||
LANE_ARROW_LeftRight = 0x6;//LANE_ARROW_Left | LANE_ARROW_Right,
|
||||
LANE_ARROW_LeftUturn = 0xa;//LANE_ARROW_Left | LANE_ARROW_Uturn,
|
||||
LANE_ARROW_StraightUturn = 0x9;//LANE_ARROW_Straight | LANE_ARROW_Uturn,
|
||||
}
|
||||
|
||||
enum RoadType {
|
||||
ROAD_TYPE_Normal = 0;
|
||||
ROAD_TYPE_OTHER = 1;
|
||||
ROAD_TYPE_SA = 2; // Service Area
|
||||
ROAD_TYPE_PA = 3; //Parking Area
|
||||
ROAD_TYPE_ControlAccess = 4;
|
||||
ROAD_TYPE_GenerapRamp = 5;
|
||||
ROAD_TYPE_Overpass = 6;
|
||||
ROAD_TYPE_Underpass = 7;
|
||||
ROAD_TYPE_PrivateRoad = 8;
|
||||
ROAD_TYPE_PedestrainRoad = 9;
|
||||
ROAD_TYPE_OverpassForP = 10; //Overpass for passenger
|
||||
ROAD_TYPE_BusOnly = 11;
|
||||
ROAD_TYPE_BicycleOnly = 12; //Bicycle only30 Bridge
|
||||
ROAD_TYPE_Tunnel = 13;
|
||||
ROAD_TYPE_UTA = 14; //Undefined Traffic Figure
|
||||
ROAD_TYPE_ICEntrance = 15;
|
||||
ROAD_TYPE_TollBooth = 16;
|
||||
ROAD_TYPE_ConstructionRoad = 17;
|
||||
ROAD_TYPE_Roundabout = 18;
|
||||
ROAD_TYPE_Intersection = 19;
|
||||
}
|
||||
|
||||
enum RoadDirection {
|
||||
ROAD_DIRECTION_FORWARD = 0;
|
||||
ROAD_DIRECTION_BACKWARD = 1;
|
||||
ROAD_DIRECTION_BIDIRECTIONAL = 2;
|
||||
}
|
||||
|
||||
enum ObjectType {
|
||||
OBJECT_TYPE_None = 0;
|
||||
OBJECT_TYPE_Curb = 1;
|
||||
OBJECT_TYPE_TrafficBarrier = 2;
|
||||
OBJECT_TYPE_OverheadCrossing = 3;
|
||||
OBJECT_TYPE_Tunnel = 4;
|
||||
OBJECT_TYPE_Gantry = 5;
|
||||
OBJECT_TYPE_TrafficSign = 6;
|
||||
OBJECT_TYPE_VariableMessageSign = 7;
|
||||
OBJECT_TYPE_PermanentDelineator = 8;
|
||||
OBJECT_TYPE_TollBooth = 9;
|
||||
OBJECT_TYPE_EmergencyCallbox = 10;
|
||||
OBJECT_TYPE_Ditch = 11;
|
||||
OBJECT_TYPE_Pole = 12;
|
||||
OBJECT_TYPE_Building = 13;
|
||||
OBJECT_TYPE_RoadSign = 14;
|
||||
OBJECT_TYPE_CrossWalk = 15;
|
||||
OBJECT_TYPE_TrafficLights = 16;
|
||||
OBJECT_TYPE_TunnelWall = 17;
|
||||
OBJECT_TYPE_Arrow = 18;
|
||||
OBJECT_TYPE_Text = 19;
|
||||
OBJECT_TYPE_RoadSign_Text = 20;
|
||||
OBJECT_TYPE_Stop = 21;
|
||||
OBJECT_TYPE_LaneBoundary = 22;
|
||||
OBJECT_TYPE_ParkingSpace = 23;
|
||||
OBJECT_TYPE_DrivingArea = 24;
|
||||
OBJECT_TYPE_FeaturePoint = 25;
|
||||
OBJECT_TYPE_SpeedLimit = 26;
|
||||
OBJECT_TYPE_EdgeDriving = 27;
|
||||
OBJECT_TYPE_Horn = 28;
|
||||
OBJECT_TYPE_NoParkingGrid = 29;
|
||||
}
|
||||
|
||||
enum ObjectShape {
|
||||
OBJECT_SHAPE_None = 0;
|
||||
OBJECT_SHAPE_Rectangle = 1;
|
||||
OBJECT_SHAPE_Triangle = 2;
|
||||
OBJECT_SHAPE_Circle = 3;
|
||||
OBJECT_SHAPE_Diamond = 4;
|
||||
OBJECT_SHAPE_RTriangle = 5;
|
||||
OBJECT_SHAPE_Arrow = 6;
|
||||
OBJECT_SHAPE_Bicycle = 7;
|
||||
OBJECT_SHAPE_WheelChair = 8;
|
||||
OBJECT_SHAPE_Cross = 9;
|
||||
OBJECT_SHAPE_Polyline = 10;
|
||||
OBJECT_SHAPE_Polygon = 11;
|
||||
OBJECT_SHAPE_Point = 12;
|
||||
}
|
||||
|
||||
// junction type
|
||||
enum JunctionType {
|
||||
JCT_TYPE_CROSS = 609; //ʮ<><CAAE>·<EFBFBD>ڡ<EFBFBD>T<EFBFBD><54>·<EFBFBD><C2B7>
|
||||
JCT_TYPE_SIDE_MASTER = 612; //<2F><>·<EFBFBD><C2B7><EFBFBD><EFBFBD>·֮<C2B7><D6AE><EFBFBD>·<EFBFBD>ڿ<EFBFBD>
|
||||
JCT_TYPE_TO_RIGHT = 614; //<2F><><EFBFBD><EFBFBD>
|
||||
JCT_TYPE_INCREASE = 6151; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD>
|
||||
JCT_TYPE_DECREASE = 6152; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٴ<EFBFBD>
|
||||
JCT_TYPE_OUT_RAMP = 6153; //<2F><><EFBFBD>ѵ<EFBFBD><D1B5><EFBFBD>
|
||||
JCT_TYPE_IN_RAMP = 6154; //<2F><><EFBFBD>ѵ<EFBFBD><D1B5><EFBFBD>
|
||||
JCT_TYPE_SINGLE_UTURN = 616; //<2F><><EFBFBD><EFBFBD><EFBFBD>ͷ
|
||||
JCT_TYPE_RING_LAND = 617; //<2F><><EFBFBD><EFBFBD>
|
||||
JCT_TYPE_SAMLL_MASTER = 619; //С·<D0A1>ڡ<EFBFBD><DAA1><EFBFBD>·<EFBFBD><C2B7><EFBFBD>Ӵ<EFBFBD>
|
||||
JCT_TYPE_CROSS_NOT_LANE_NOT_SEGGREGATE = 6091; //ʮ<><CAAE>·<EFBFBD>ڡ<EFBFBD>T<EFBFBD><54>·<EFBFBD><C2B7>(·<>ڷ<EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><DEB3><EFBFBD><EFBFBD>߹ᴩ,<2C><>·<EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>)
|
||||
JCT_TYPE_CROSS_NOT_LANE_SEGGREGATE = 6092; //ʮ<><CAAE>·<EFBFBD>ڡ<EFBFBD>T<EFBFBD><54>·<EFBFBD><C2B7>(·<>ڷ<EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><DEB3><EFBFBD><EFBFBD>߹ᴩ,<2C><>·<EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>)
|
||||
JCT_TYPE_CROSS_LANE_NOT_SEGGREGATE = 6201; //ʮ<><CAAE>·<EFBFBD>ڡ<EFBFBD>T<EFBFBD><54>·<EFBFBD><C2B7>(·<>ڷ<EFBFBD>Χ<EFBFBD>ڴ<EFBFBD><DAB4>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD>߹ᴩ,<2C><>·<EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>)
|
||||
JCT_TYPE_CROSS_LANE_SEGGREGATE = 6202; //ʮ<><CAAE>·<EFBFBD>ڡ<EFBFBD>T<EFBFBD><54>·<EFBFBD><C2B7>(·<>ڷ<EFBFBD>Χ<EFBFBD>ڴ<EFBFBD><DAB4>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD>߹ᴩ,<2C><>·<EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>)
|
||||
|
||||
JCT_TYPE_UNKOWN = 99999; // δ֪<CEB4><D6AA><EFBFBD><EFBFBD>
|
||||
}
|
||||
|
||||
// physical isolation type
|
||||
enum IsolationType {
|
||||
ISO_TYPE_GREENBELT = 1;
|
||||
ISO_TYPE_SAFETYISLAND = 2;
|
||||
ISO_TYPE_JUNCTION_CURB = 3;
|
||||
}
|
||||
|
||||
message BoundaryPoint{
|
||||
optional double x = 1;
|
||||
optional double y = 2;
|
||||
optional double z = 3;
|
||||
optional LaneMarkType point_type = 4;
|
||||
optional uint32 lane_tag = 5;
|
||||
}
|
||||
|
||||
message LanePoint{
|
||||
optional double x = 1;
|
||||
optional double y = 2;
|
||||
optional double z = 3;
|
||||
optional LaneType point_center_type = 4;
|
||||
optional LaneArrow point_center_arrow = 5;
|
||||
optional uint32 point_speed_limit = 6;
|
||||
}
|
||||
|
||||
message LaneBoundary {
|
||||
// lane boundary primary key
|
||||
optional uint64 pkid = 1;
|
||||
|
||||
// epsg code
|
||||
optional uint32 srs = 2;
|
||||
|
||||
// lane mark
|
||||
optional LaneMarkType type = 3;
|
||||
optional LaneMarkColor color = 4;
|
||||
|
||||
// 将LaneMarkType绑定到每个geom点上
|
||||
repeated BoundaryPoint point = 5;
|
||||
}
|
||||
|
||||
message Lane {
|
||||
// road primary key
|
||||
optional uint64 road_pkid = 1;
|
||||
|
||||
// sectin id, ascend order
|
||||
optional uint32 section_id = 2;
|
||||
|
||||
// lane id follow OpenDrive Specification
|
||||
optional int32 lane_id = 3;
|
||||
|
||||
// lane name, "road.section.lane"
|
||||
optional string name = 4;
|
||||
|
||||
// epsg code
|
||||
optional uint32 srs = 5;
|
||||
|
||||
// left lane boundary geometry pkid
|
||||
optional uint64 left_boundary_id = 6;
|
||||
|
||||
// right lane boundary geometry pkid
|
||||
optional uint64 right_boundary_id = 7;
|
||||
|
||||
// lane type
|
||||
optional LaneType type = 8;
|
||||
|
||||
// lane arrow
|
||||
optional LaneArrow arrow = 9;
|
||||
|
||||
// speed limit
|
||||
optional uint32 speed_limit = 10;
|
||||
|
||||
// 将LaneType,LaneArrow,speedlimit绑定到每个geom点上
|
||||
repeated LanePoint point = 11;
|
||||
|
||||
// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5>ܳ<EFBFBD><DCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
optional uint32 parallel_lane_count = 12;
|
||||
|
||||
// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ڵij<DAB5><C4B3><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
optional uint32 drive_lane_count = 13;
|
||||
|
||||
// whether it is recommended
|
||||
optional bool recommended = 14;
|
||||
|
||||
// for parallel lanes, steps away from the best lane
|
||||
optional int32 rank = 15;
|
||||
|
||||
// Passable distance
|
||||
optional double passable_dis = 16;
|
||||
|
||||
optional double dis_to_goal = 17;
|
||||
}
|
||||
|
||||
message Section {
|
||||
// section id
|
||||
optional uint32 id = 1;
|
||||
|
||||
// lanes
|
||||
repeated Lane lanes = 2;
|
||||
|
||||
// boundaries
|
||||
repeated LaneBoundary boundaries = 3;
|
||||
}
|
||||
|
||||
message Road {
|
||||
// primary key
|
||||
optional uint64 pkid = 1;
|
||||
|
||||
// geohash key
|
||||
optional string id = 2;
|
||||
|
||||
// road name
|
||||
optional string name = 3;
|
||||
|
||||
// epsg code
|
||||
optional uint32 srs = 4;
|
||||
|
||||
// road length
|
||||
optional float length = 6;
|
||||
|
||||
// section count of road
|
||||
optional uint32 section_num = 7;
|
||||
|
||||
// road type
|
||||
optional RoadType road_type = 8;
|
||||
|
||||
// road driving direction
|
||||
optional RoadDirection direction = 9;
|
||||
|
||||
// curvature geometry
|
||||
repeated geometry.Point curvature = 10;
|
||||
|
||||
// slope geometry
|
||||
repeated geometry.Point slope = 11;
|
||||
|
||||
// heading geometry
|
||||
repeated geometry.Point heading = 12;
|
||||
|
||||
// super_elevation geometry
|
||||
repeated geometry.Point super_elevation = 13;
|
||||
|
||||
// road geometry
|
||||
repeated geometry.Point geom = 14;
|
||||
|
||||
// sections
|
||||
repeated Section sections = 15;
|
||||
|
||||
// opposite roads
|
||||
repeated uint64 opposite_pkid = 16;
|
||||
|
||||
// this road have lane nums
|
||||
optional uint32 lane_num = 17;
|
||||
|
||||
// this road hava drive lane nums
|
||||
optional uint32 drive_lane_num = 18;
|
||||
}
|
||||
|
||||
message Junction {
|
||||
// primary key
|
||||
optional uint64 pkid = 1;
|
||||
|
||||
// epsg code
|
||||
optional uint32 srs = 2;
|
||||
|
||||
// junction altitude
|
||||
optional float altitude = 3;
|
||||
|
||||
// junction polygon
|
||||
optional geometry.Polygon geom = 4;
|
||||
|
||||
// junction type
|
||||
optional JunctionType type = 5;
|
||||
|
||||
// road pkid
|
||||
repeated uint32 road_ids = 6;
|
||||
}
|
||||
|
||||
message LaneLink {
|
||||
// primary key
|
||||
optional uint64 pkid = 1;
|
||||
|
||||
// from road pkid
|
||||
optional uint64 from_road_pkid = 2;
|
||||
|
||||
// from road section id
|
||||
optional uint32 from_section_id = 3;
|
||||
|
||||
// from road lane id
|
||||
optional int32 from_lane_id = 4;
|
||||
|
||||
// to road pkid
|
||||
optional uint64 to_road_pkid = 5;
|
||||
|
||||
// to road section id
|
||||
optional uint32 to_section_id = 6;
|
||||
|
||||
// to road lane id
|
||||
optional int32 to_lane_id = 7;
|
||||
|
||||
// 驶出<E9A9B6>?口的lanlink,<6B>?<3F>字段true,非<EFBC8C>?<3F>?fasle
|
||||
optional bool from_junction = 8;
|
||||
|
||||
// 进出<E8BF9B>?口的lanlink,<6B>?<3F>字段true,非<EFBC8C>?<3F>?false
|
||||
optional bool to_junction = 9;
|
||||
|
||||
// lane_link geometry
|
||||
repeated geometry.Point geom = 10;
|
||||
|
||||
// the type of lane_link
|
||||
optional LaneType type = 11;
|
||||
}
|
||||
|
||||
|
||||
message Object {
|
||||
// object primary key
|
||||
optional uint64 pkid = 1;
|
||||
|
||||
// road id
|
||||
optional uint64 road_pkid = 2;
|
||||
|
||||
// section id
|
||||
optional uint64 section_id = 3;
|
||||
|
||||
// lane id
|
||||
optional int32 lane_id = 4;
|
||||
|
||||
// objcet type
|
||||
optional ObjectType type = 5;
|
||||
|
||||
// polygon style
|
||||
optional ObjectShape shape = 6;
|
||||
|
||||
// object text
|
||||
optional string text = 7;
|
||||
|
||||
// object attribute
|
||||
optional string attribute = 8;
|
||||
|
||||
// object geom
|
||||
repeated geometry.Point geom = 9;
|
||||
|
||||
// object value
|
||||
optional float value = 10;
|
||||
|
||||
}
|
||||
|
||||
message PhysicalIsolation {
|
||||
// primary key
|
||||
optional uint64 pkid = 1;
|
||||
|
||||
// physical isolation name
|
||||
optional string name = 2;
|
||||
|
||||
// type
|
||||
optional IsolationType type = 3;
|
||||
|
||||
// road pkid
|
||||
repeated uint64 road_pkid = 4;
|
||||
|
||||
// junction pkid
|
||||
repeated uint64 junction_pkid = 5;
|
||||
|
||||
// physical isolation geometry
|
||||
optional geometry.Polygon geom = 6;
|
||||
}
|
||||
|
||||
message Map {
|
||||
repeated Road roads = 1;
|
||||
repeated LaneLink lanelinks = 2;
|
||||
repeated Junction junctions = 3;
|
||||
repeated Object objects = 4;
|
||||
repeated PhysicalIsolation isolations = 5;
|
||||
//TODO: junction relation with roads
|
||||
}
|
||||
|
||||
message MapMsg {
|
||||
optional common.Header header = 1;
|
||||
optional Map map = 2;
|
||||
}
|
||||
@@ -112,6 +112,7 @@ enum MessageType
|
||||
MsgTypeForceStopOrStartCloudReq = 0x10138;//关闭或打开云链接
|
||||
MsgTypeSetObuUploadReq = 0x10139;//关闭或打开域控上报自车数据到OBU
|
||||
MsgTypeObuUploadStatus = 0x1013A;//obu上报状态查询以结果(上下行)
|
||||
MsgTypePlanningStopLine = 0x1013B;//决策停止线(自动驾驶决策呈现使用) 定频,理论是10hz,实际会有不同
|
||||
}
|
||||
|
||||
message Header
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
<string name="adas_data_MsgTypeSetObuUploadReq">Domain control OBU upload switch control</string>
|
||||
<string name="adas_data_MsgTypeObuUploadStatus_SEND">Domain control OBU upload status query</string>
|
||||
<string name="adas_data_MsgTypeObuUploadStatus_RECEIVE">Domain control OBU upload status response</string>
|
||||
<string name="adas_data_MsgTypePlanningStopLine">Planning Stop Line</string>
|
||||
<string name="adas_data_MsgTypePlanningDecisionState">Planning decision state</string>
|
||||
<string name="adas_data_MsgTypeSweeperTaskIndexData">Sweeper index data</string>
|
||||
<string name="adas_data_MsgTypeObuWarningData">OBU warning event</string>
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
<string name="adas_data_MsgTypeSetObuUploadReq">域控上报OBU开关控制</string>
|
||||
<string name="adas_data_MsgTypeObuUploadStatus_SEND">域控上报OBU开关状态查询</string>
|
||||
<string name="adas_data_MsgTypeObuUploadStatus_RECEIVE">域控上报OBU开关状态响应</string>
|
||||
<string name="adas_data_MsgTypePlanningStopLine">决策停止线</string>
|
||||
<string name="adas_data_MsgTypePlanningDecisionState">Planning决策状态</string>
|
||||
<string name="adas_data_MsgTypeSweeperTaskIndexData">清扫车指标数据</string>
|
||||
<string name="adas_data_MsgTypeObuWarningData">OBU预警事件</string>
|
||||
|
||||
@@ -43,6 +43,7 @@ import chassis.VehicleStateOuterClass;
|
||||
import fault_management.FmInfo;
|
||||
import fsm.Fsm2024;
|
||||
import function_state_management.FunctionStates;
|
||||
import hadmap.Hadmap;
|
||||
import localization.LocState;
|
||||
import mogo.telematics.pad.MessagePad;
|
||||
import mogo.v2x.MogoV2X;
|
||||
@@ -778,6 +779,14 @@ public interface OnAdasListener {
|
||||
*/
|
||||
void onObuUploadStatus(@NonNull MessagePad.Header header, @NonNull MessagePad.SetEnableReq enable);
|
||||
|
||||
/**
|
||||
* 决策停止线(自动驾驶决策呈现使用) 定频,理论是10hz,实际会有不同
|
||||
*
|
||||
* @param header 头
|
||||
* @param mapMsg 数据
|
||||
*/
|
||||
void onPlanningStopLine(@NonNull MessagePad.Header header, @NonNull Hadmap.MapMsg mapMsg);
|
||||
|
||||
/**
|
||||
* 是否有能力启动自动驾驶
|
||||
*
|
||||
|
||||
@@ -63,6 +63,7 @@ public class MyMessageFactory implements IMyMessageFactory {
|
||||
private IMsg vlmMessage;//视觉语言模型
|
||||
private IMsg vlmMessageImage;//视觉语言模型图像
|
||||
private IMsg obuUploadStatusMessage;//域控上报OBU开关状态响应
|
||||
private IMsg planningStopLineMessage;//决策停止线
|
||||
|
||||
private final AutopilotReview autopilotReview;
|
||||
private final TurnLightState lightLeft = new TurnLightState();
|
||||
@@ -373,6 +374,12 @@ public class MyMessageFactory implements IMyMessageFactory {
|
||||
obuUploadStatusMessage = new ObuUploadStatusMessage();
|
||||
}
|
||||
return obuUploadStatusMessage;
|
||||
} else if (messageType == MessageType.TYPE_RECEIVE_PLANNING_STOP_LINE.typeCode) {
|
||||
//决策停止线
|
||||
if (planningStopLineMessage == null) {
|
||||
planningStopLineMessage = new PlanningStopLineMessage();
|
||||
}
|
||||
return planningStopLineMessage;
|
||||
} else {
|
||||
//MessageType.TYPE_DEFAULT.typeCode
|
||||
return null;
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
package com.zhidao.support.adas.high.msg;
|
||||
|
||||
import android.os.SystemClock;
|
||||
|
||||
import com.google.protobuf.InvalidProtocolBufferException;
|
||||
import com.zhidao.support.adas.high.AdasChannel;
|
||||
import com.zhidao.support.adas.high.OnAdasListener;
|
||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||
import com.zhidao.support.adas.high.protocol.RawData;
|
||||
|
||||
import hadmap.Hadmap;
|
||||
|
||||
/**
|
||||
* 决策停止线
|
||||
*/
|
||||
public class PlanningStopLineMessage extends MyAbstractMessageHandler {
|
||||
|
||||
public PlanningStopLineMessage() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlerMsg(RawData raw, OnAdasListener adasListener) throws InvalidProtocolBufferException {
|
||||
Hadmap.MapMsg mapMsg = Hadmap.MapMsg.parser().parseFrom(raw.originalData.toByteArray(), raw.getOffsetValue(), raw.getPackageLengthValue() - raw.getOffsetValue());
|
||||
AdasChannel.calculateTimeConsumingOnDispatchRaw("决策停止线", raw.receiveTime);
|
||||
long nowTime = 0;
|
||||
if (CupidLogUtils.isEnableLog())
|
||||
nowTime = SystemClock.elapsedRealtime();
|
||||
if (adasListener != null) {
|
||||
adasListener.onPlanningStopLine(raw.getHeader(), mapMsg);
|
||||
}
|
||||
AdasChannel.calculateTimeConsumingBusiness("决策停止线", nowTime);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user