Merge branch 'dev_robotaxi-d_230809_6.0.0' into 6.0.0merge2master
# Conflicts: # OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/model/SweeperTaskModel.java # libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java # libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/OnAdasListener.java
This commit is contained in:
@@ -65,6 +65,31 @@ public class AdasParam {
|
||||
* 为空的原因:未查询此数据、工控机不存在此数据、解析失败
|
||||
*/
|
||||
public final M1StitchedVideoSelfVehicleParam m1StitchedVideoSelfVehicleParamParse;
|
||||
/**
|
||||
* 故障减速停车策路开关
|
||||
* -1:未知 0:关闭故障减速停车策略 1(默认):使用故障减速停车策略
|
||||
*/
|
||||
public final int breakdownSlowDown;
|
||||
/**
|
||||
* 盲区开关
|
||||
* 0: off 1:on
|
||||
*/
|
||||
public final int blindArea;
|
||||
/**
|
||||
* 融合v2n开关
|
||||
* 0:不发给PnC 1:发给Pnc
|
||||
*/
|
||||
public final int v2nToPnc;
|
||||
/**
|
||||
* 融合v2i开关
|
||||
* 0:不发给PnC和鹰眼 1:发给Pnc和鹰眼,默认0
|
||||
*/
|
||||
public final int v2iToPnc;
|
||||
/**
|
||||
* 融合模式
|
||||
* 1:全融合模式 2:盲区模式 3:超视距模式 4:透传模式 5:纯路侧模式,默认1
|
||||
*/
|
||||
public final int fusionMode;
|
||||
|
||||
public AdasParam(MessagePad.SetParamReq param) {
|
||||
int detouringCmd = -1;
|
||||
@@ -77,6 +102,12 @@ public class AdasParam {
|
||||
int weakNetSlowDown = -1;
|
||||
String m1StitchedVideoSelfVehicleParam = null;
|
||||
M1StitchedVideoSelfVehicleParam m1StitchedVideoSelfVehicleParamParse = null;
|
||||
int breakdownSlowDown = -1;
|
||||
int blindArea = -1;
|
||||
int v2nToPnc = -1;
|
||||
int v2iToPnc = -1;
|
||||
int fusionMode = -1;
|
||||
|
||||
if (param != null) {
|
||||
int size = param.getReqsCount();
|
||||
if (size > 0) {
|
||||
@@ -127,6 +158,26 @@ public class AdasParam {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
} else if (type == AdasConstants.MapSystemParamType.BREAKDOWN_SLOW_DOWN_VALUE) {
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
breakdownSlowDown = Integer.parseInt(value);
|
||||
}
|
||||
} else if (type == AdasConstants.MapSystemParamType.BLIND_AREA_VALUE) {
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
blindArea = Integer.parseInt(value);
|
||||
}
|
||||
} else if (type == AdasConstants.MapSystemParamType.V2N_TO_PNC_VALUE) {
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
v2nToPnc = Integer.parseInt(value);
|
||||
}
|
||||
} else if (type == AdasConstants.MapSystemParamType.V2I_TO_PNC_VALUE) {
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
v2iToPnc = Integer.parseInt(value);
|
||||
}
|
||||
} else if (type == AdasConstants.MapSystemParamType.FUSION_MODE_VALUE) {
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
fusionMode = Integer.parseInt(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -141,6 +192,11 @@ public class AdasParam {
|
||||
this.weakNetSlowDown = weakNetSlowDown;
|
||||
this.m1StitchedVideoSelfVehicleParam = m1StitchedVideoSelfVehicleParam;
|
||||
this.m1StitchedVideoSelfVehicleParamParse = m1StitchedVideoSelfVehicleParamParse;
|
||||
this.breakdownSlowDown = breakdownSlowDown;
|
||||
this.blindArea = blindArea;
|
||||
this.v2nToPnc = v2nToPnc;
|
||||
this.v2iToPnc = v2iToPnc;
|
||||
this.fusionMode = fusionMode;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -149,11 +205,17 @@ public class AdasParam {
|
||||
"\n变道绕障的目标障碍物速度阈值=" + (detouringSpeed == -1 ? "未知" : detouringSpeed + "m/s") +
|
||||
"\nAEB开关=" + (aebCmd == -1 ? "未知" : aebCmd == 0 ? "关" : "开") +
|
||||
"\n限制绕障开关=" + (laneChangeRestrainValid == -1 ? "未知" : laneChangeRestrainValid == 0 ? "正常绕障" : "限制绕障") +
|
||||
"\n停车让行线前避让等待开关=" + (stopYieldValid == -1 ? "未知" : stopYieldValid == 0 ? "无需等待" : "等待") +
|
||||
"\n地图限速功能开关=" + (hadmapSpeedLimitValid == -1 ? "未知" : hadmapSpeedLimitValid == 0 ? "不使用" : "使用") +
|
||||
"\n停车让行线前避让等待开关=" + (stopYieldValid == -1 ? "未知" : stopYieldValid == 0 ? "停车让行线前无需避让等待" : "停车让行线前需要避让等待") +
|
||||
"\n地图限速功能开关=" + (hadmapSpeedLimitValid == -1 ? "未知" : hadmapSpeedLimitValid == 0 ? "不使用地图限速功能" : "使用地图限速功能") +
|
||||
"\n环岛模式开关=" + (rampThetaValid == -1 ? "未知" : rampThetaValid == 0 ? "普通模式" : "环岛模式") +
|
||||
"\n弱网减速停车策略开关=" + (weakNetSlowDown == -1 ? "未知" : weakNetSlowDown == 0 ? "关闭" : "使用") +
|
||||
"\nm1拼接视频自车位置参数=" + (m1StitchedVideoSelfVehicleParam == null ? "未知" : m1StitchedVideoSelfVehicleParam);
|
||||
"\n弱网减速停车策略开关=" + (weakNetSlowDown == -1 ? "未知" : weakNetSlowDown == 0 ? "关闭弱网减速停车策略" : "使用弱网减速停车策略") +
|
||||
"\nm1拼接视频自车位置参数=" + (m1StitchedVideoSelfVehicleParam == null ? "未知" : m1StitchedVideoSelfVehicleParam) +
|
||||
"\n故障减速停车策路开关=" + (breakdownSlowDown == -1 ? "未知" : breakdownSlowDown == 0 ? "关闭故障减速停车策略" : "使用故障减速停车策略") +
|
||||
"\n盲区开关=" + (blindArea == -1 ? "未知" : blindArea == 0 ? "关" : "开") +
|
||||
"\n融合V2N开关=" + (v2nToPnc == -1 ? "未知" : v2nToPnc == 0 ? "不发给PnC" : "发给PnC") +
|
||||
"\n融合V2I开关=" + (v2iToPnc == -1 ? "未知" : v2iToPnc == 0 ? "不发给PnC和鹰眼" : "发给Pnc和鹰眼") +
|
||||
"\n融合模式=" + (fusionMode == -1 ? "未知" : fusionMode == 5 ? "纯路侧模式" : fusionMode == 4 ? "透传模式" : fusionMode == 3 ? "超视距模式" : fusionMode == 2 ? "盲区模式" : "全融合模式")
|
||||
;
|
||||
}
|
||||
|
||||
public static class M1StitchedVideoSelfVehicleParam {
|
||||
|
||||
@@ -2,15 +2,16 @@ package com.zhjt.mogo.adas.data.bean;
|
||||
|
||||
/**
|
||||
* 监控事件报告中定义的事件以及解释
|
||||
* 根据MAP3.3.1事件定义编写
|
||||
* 根据MAP3.5.0事件定义编写
|
||||
* http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=113713916 最后修改于2023-07-27
|
||||
*/
|
||||
public class MogoReport {
|
||||
public static final String RESULT_AUTOPILOT_SYSTEM_UNSTARTED = "RESULT_AUTOPILOT_SYSTEM_UNSTARTED";
|
||||
public static final String RESULT_AUTOPILOT_DISABLE = "RESULT_AUTOPILOT_DISABLE";
|
||||
public static final String RESULT_AUTOPILOT_INFERIOR = "RESULT_AUTOPILOT_INFERIOR";
|
||||
public static final String RESULT_REMOTEPILOT_DISABLE = "RESULT_REMOTEPILOT_DISABLE";
|
||||
public static final String RESULT_REMOTEPILOT_INFERIOR = "RESULT_REMOTEPILOT_INFERIOR";
|
||||
public static final String RESULT_SHOW_WARNING = "RESULT_SHOW_WARNING";
|
||||
public static final String RESULT_AUTOPILOT_SYSTEM_UNSTARTED = "RESULT_AUTOPILOT_SYSTEM_UNSTARTED";//自动驾驶系统启动失败
|
||||
public static final String RESULT_AUTOPILOT_DISABLE = "RESULT_AUTOPILOT_DISABLE";//无法启动自动驾驶
|
||||
public static final String RESULT_AUTOPILOT_INFERIOR = "RESULT_AUTOPILOT_INFERIOR";//自动驾驶效果受影响
|
||||
public static final String RESULT_REMOTEPILOT_DISABLE = "RESULT_REMOTEPILOT_DISABLE";//无法启动远程驾驶
|
||||
public static final String RESULT_REMOTEPILOT_INFERIOR = "RESULT_REMOTEPILOT_INFERIOR";//远程驾驶效果受影响
|
||||
public static final String RESULT_SHOW_WARNING = "RESULT_SHOW_WARNING";//存在不确定因素
|
||||
|
||||
|
||||
public enum Result {
|
||||
@@ -159,12 +160,11 @@ public class MogoReport {
|
||||
String TRA_NOT_EXIST = "EMAP_TRA_NOT_EXIST";//无法找到轨迹文件
|
||||
String TRA_LOAD_FAILED = "EMAP_TRA_LOAD_FAILED";//加载轨迹文件失败
|
||||
String ENGINE_INIT_FAILED = "EMAP_ENGINE_INIT_FAILED";//引擎初始化失败,包括轨迹路径不存在;vehicle_config.txt加载失败
|
||||
String ATTITUDE_INIT_FAILED = "EMAP_ATTITUDE_INIT_FAILED";//当前位置距离轨迹距离大于15m
|
||||
String EXIT_AUTOPILOT_FOR_PLANNING = "EMAP_EXIT_AUTOPILOT_FOR_PLANNING";//因planning掉帧强退自动驾驶
|
||||
String EXIT_AUTOPILOT_FOR_LOCATION = "EMAP_EXIT_AUTOPILOT_FOR_LOCATION";//因location掉帧强退自动驾驶
|
||||
String EXIT_AUTOPILOT_FOR_CHASSIS = "EMAP_EXIT_AUTOPILOT_FOR_CHASSIS";//因底盘消息掉帧强退自动驾驶
|
||||
String EXIT_AUTOPILOT_FOR_DISTANCE = "EMAP_EXIT_AUTOPILOT_FOR_DISTANCE";//因planning起点距离当前过远强退自动驾驶
|
||||
String EPARALLEL_AICLOUD_CONNECTION_ERROR = "EPARALLEL_AICLOUD_CONNECTION_ERROR";//断网(此时不符合平行驾驶条件) 平行驾驶退出到自驾,同时减速停车
|
||||
String EPARALLEL_AICLOUD_NETWORK_WEAK = "EPARALLEL_AICLOUD_NETWORK_WEAK";//弱网,平行驾驶退出到自驾,同时减速停车
|
||||
String EXIT_AUTOPILOT_FOR_BRAKE = "EMAP_EXIT_AUTOPILOT_FOR_BRAKE";//制动踏板干预而强退自动驾驶
|
||||
String EXIT_AUTOPILOT_FOR_ACCEL = "EMAP_EXIT_AUTOPILOT_FOR_ACCEL";//加速踏板干预而强退自动驾驶
|
||||
String EXIT_AUTOPILOT_FOR_STEER = "EMAP_EXIT_AUTOPILOT_FOR_STEER";//方向盘干预而强退自动驾驶
|
||||
@@ -189,6 +189,9 @@ public class MogoReport {
|
||||
String CONTROL_ABNORMAL_COMMAND = "EMAP_CONTROL_ABNORMAL_COMMAND";//controller发布的控制指令异常
|
||||
String CAN_ADAPTER_NO_CHASSIS_INFO = "EMAP_CAN_ADAPTER_NO_CHASSIS_INFO";//can_adapter未成功转发地盘信息
|
||||
String TRAJECTORY_LOST_WHEN_AUTOPILOT = "EMAP_TRAJECTORY_LOST_WHEN_AUTOPILOT";//自驾状态,但是全局轨迹丢失超过1.5s
|
||||
String PLANNING_FOR_PERCEPTION_TIMEOUT = "EMAP_PLANNING_FOR_PERCEPTION_TIMEOUT";//鹰眼下发进入自驾指令,自车还未进入自驾,感知延迟超过1s
|
||||
String PLANNING_FOR_HADMAP_ENGINE_LANES_MSG_TIMEOUT = "EMAP_PLANNING_FOR_HADMAP_ENGINE_LANES_MSG_TIMEOUT";//鹰眼下发进入自驾指令,自车还未进入自驾,地图车道数据延迟超过1s
|
||||
String PLANNING_FOR_PREDICTION_TIMEOUT = "EMAP_PLANNING_FOR_PREDICTION_TIMEOUT";//鹰眼下发进入自驾指令,自车还未进入自驾,预测数据延迟超过1s
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -208,6 +211,7 @@ public class MogoReport {
|
||||
String ACCEL_INFERENCE = "EVHC_ACCEL_INFERENCE";//由于油门干预退出自动驾驶或无法进入自动驾驶
|
||||
String CSS = "EVHC_CSS";//底盘不允许进入自动驾驶
|
||||
String GEAR = "EVHC_GEAR";//档位不是D或N档
|
||||
String EPB = "EVHC_EPB";//驻车(手刹)不是锁止(拉起)状态
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -227,6 +231,8 @@ public class MogoReport {
|
||||
String ROUTING_REQ_TIMEOUT = "ESYS_ROUTING_REQ_TIMEOUT";//自动驾驶开始前,routing请求无响应
|
||||
String PLANNING_CHANGE_FAILIED = "ESYS_PLANNING_CHANGE_FAILIED";//planning版本切换启动失败
|
||||
String CHECK_TRAJECTORY_FAILURE = "ESYS_CHECK_TRAJECTORY_FAILURE";//轨迹文件检查超时或检查结果无可用轨迹
|
||||
String TRAJECTORY_AGENT_NOT_READY = "ESYS_TRAJECTORY_AGENT_NOT_READY";//轨迹下载客户端未就绪拒绝轨迹下载请求
|
||||
String MAP_ENGINE_NOT_READY = "ESYS_MAP_ENGINE_NOT_READY";//地图引擎未就绪拒绝自驾
|
||||
String FAULT = "ESYS_FAULT";//master启动10分钟,仍有agent未连接
|
||||
String REBOOT_WARNING = "ESYS_REBOOT_WARNING";//命令重启不完全提示(部分模块没有关闭成功)
|
||||
String CAN_MSG_LOST = "ESYS_CAN_MSG_LOST";//master接收底盘消息超时
|
||||
@@ -238,6 +244,7 @@ public class MogoReport {
|
||||
String CONFIG_UPDATING_URL_NOT_ARRIVED = "ESYS_CONFIG_UPDATING_URL_NOT_ARRIVED";//url不可达
|
||||
String CONFIG_UPDATING_MD5_CHECK_ERROR = "ESYS_CONFIG_UPDATING_MD5_CHECK_ERROR";//md5检查失败
|
||||
String CONFIG_UPDATING_REJECT_SAME_TRAJ_TASK = "ESYS_CONFIG_UPDATING_REJECT_SAME_TRAJ_TASK";//拒绝同名轨迹任务
|
||||
String CONFIG_UPDATING_HTTP_FAILED = "ESYS_CONFIG_UPDATING_HTTP_FAILED";//获取下载列表失败
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -268,6 +275,7 @@ public class MogoReport {
|
||||
String INIT = "ECAM_INIT";//相机初始化失败
|
||||
String CALIB = "ECAM_CALIB";//标定信息读取失败
|
||||
String GRAB_FATAL = "ECAM_GRAB_FATAL";//相机数据采集异常
|
||||
String TS_ERROR = "ECAM_TS_ERROR";//图像时间戳异常
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -310,6 +318,14 @@ public class MogoReport {
|
||||
interface EVEHICLE {
|
||||
String IN_TROUBLE = "EVEHICLE_IN_TROUBLE";//planning 检测到车处于困境,把困境状态汇报给 SSM,ssm 发出该事件,等待驾舱端开始平行驾驶
|
||||
}
|
||||
|
||||
/**
|
||||
* EFM(FM故障)
|
||||
*/
|
||||
interface EFM {
|
||||
String ERROR3_STOP_PILOT = "EFM_ERROR3_STOP_PILOT";//触发降级停车策略
|
||||
String ERROR2_FUNC_FORBID = "EFM_ERROR2_FUNC_FORBID";//禁止车辆部分功能
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -337,6 +353,16 @@ public class MogoReport {
|
||||
String TRA_ROUTING = "IMAP_TRA_ROUTING";//算路成功
|
||||
String TRA_TYPE = "IMAP_TRA_TYPE";//加载轨迹类型通知
|
||||
String ENTRY_AUTOPILOT = "IMAP_ENTRY_AUTOPILOT";//控制进入自动驾驶成功
|
||||
String PLANNING_FOR_PREDICTION_RECEIVED = "IMAP_PLANNING_FOR_PREDICTION_RECEIVED";//自车进入车自驾,收到预测消息时解除预测数据超时警报
|
||||
String PLANNING_FOR_HADMAP_ENGINE_LANES_MSG_RECEIVED = "IMAP_PLANNING_FOR_HADMAP_ENGINE_LANES_MSG_RECEIVED";//自车进入车自驾,收到地图车道消息时解除地图数据超时警报
|
||||
String PLANNING_FOR_PERCEPTION_RECEIVED = "IMAP_PLANNING_FOR_PERCEPTION_RECEIVED";//自车进入车自驾,收到感知消息时解除感知数据超时警报
|
||||
String START_AUTOPILOT = "IMAP_START_AUTOPILOT";//控制侧开始自驾
|
||||
String EXIT_AUTOPILOT = "IMAP_EXIT_AUTOPILOT";//控制侧正常退出自驾
|
||||
String START_REMOTEPILOT = "IMAP_START_REMOTEPILOT";//控制侧开始平行驾驶
|
||||
String ENTRY_REMOTEPILOT = "IMAP_ENTRY_REMOTEPILOT";//控制侧进入平行驾驶
|
||||
String EXIT_REMOTEPILOT = "IMAP_EXIT_REMOTEPILOT";//控制侧退出平行驾驶
|
||||
String CONTROLLER_START_FM_COMMAND = "IMAP_CONTROLLER_START_FM_COMMAND";//控制侧开始故障处理命令
|
||||
String CONTROLLER_FINISH_FM_COMMAND = "IMAP_CONTROLLER_FINISH_FM_COMMAND";//控制侧完成故障处理命令
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -370,6 +396,7 @@ public class MogoReport {
|
||||
String SYSTEM_IN_IDLE = "ISYS_SYSTEM_IN_IDLE";//系统进入空闲状态
|
||||
String SYSTEM_OUT_IDLE = "ISYS_SYSTEM_OUT_IDLE";//系统退出空闲状态
|
||||
String ALREADY_AUTOPILOT_STATE = "ISYS_ALREADY_AUTOPILOT_STATE";//已经在自驾状态驾驶,忽略自驾命令
|
||||
String AUTOPILOT_TAKEN_OVER_BY_REMOTE = "ISYS_AUTOPILOT_TAKEN_OVER_BY_REMOTE";//自动驾驶被远程驾驶接管
|
||||
|
||||
/*******轨迹下载相关*******/
|
||||
String INIT_TRAJECTORY_START = "ISYS_INIT_TRAJECTORY_START";//轨迹管理_轨迹开始下载
|
||||
@@ -386,6 +413,7 @@ public class MogoReport {
|
||||
String CONFIG_UPDATING_SLAM_MAP = "ISYS_CONFIG_UPDATING_SLAM_MAP";//slam 地图更新中
|
||||
String CONFIG_UPDATING_AI_MODEL = "ISYS_CONFIG_UPDATING_AI_MODEL";//AI模型更新中
|
||||
String CONFIG_UPDATING_GRID_MAP = "ISYS_CONFIG_UPDATING_GRID_MAP";//珊格地图更新中
|
||||
String TRAJECTORY_AGENT_READY = "ISYS_TRAJECTORY_AGENT_READY ";//配置下载客户端已就绪
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -394,10 +422,14 @@ public class MogoReport {
|
||||
interface ISSM {
|
||||
String INIT = "ISSM_INIT";//SSM系统上电初始化
|
||||
String RESTARTED = "ISSM_RESTARTED";//SSM系统发生重启
|
||||
String AUTO_PILOT_STATE_CHANGE = "ISSM_AUTO_PILOT_STATE_CHANGE";//自驾状态变化,msg填写 1 to 0
|
||||
String REMOTE_PILOT_STATE_CHANGE = "ISSM_REMOTE_PILOT_STATE_CHANGE";//平行驾驶状态变化, msg填写 1 to 6
|
||||
String AUTO_PILOT_FINISH = "ISSM_AUTO_PILOT_FINISH";//一次自驾请求处理结束
|
||||
String REMOTE_PILOT_FINISH = "ISSM_REMOTE_PILOT_FINISH";//一次平行驾驶处理结束
|
||||
String HAVE_AGENT_CONNECTED = "ISSM_HAVE_AGENT_CONNECTED";//agent已连接成功
|
||||
|
||||
// String MODE_XX_START = "ISSM_MODE_XX_START";//SSM变更模式开始
|
||||
// String MODE_XX_FINISH = "ISSM_MODE_XX_FINISH";//SSM变更模式完成(第一次ready
|
||||
// String MODE_XX_FINISH = "ISSM_MODE_XX_FINISH";//SSM变更模式完成(第一次ready)
|
||||
// String MODE_XX_ABORT = "ISSM_MODE_XX_ABORT";//SSM变更模式中止
|
||||
// String MODE_XX_TIMEOUT = "ISSM_MODE_XX_TIMEOUT";//SSM变更模式超时
|
||||
// String MODE_XX_READY = "ISSM_MODE_XX_READY";//SSM模式就绪
|
||||
@@ -406,21 +438,21 @@ public class MogoReport {
|
||||
//以上6组被注释掉的字段 中的MODE_XX分别替换成MODE_RUN、MODE_IDLE、MODE_STOP
|
||||
|
||||
String MODE_RUN_START = "ISSM_MODE_RUN_START";//SSM变更模式开始
|
||||
String MODE_RUN_FINISH = "ISSM_MODE_RUN_FINISH";//SSM变更模式完成(第一次ready
|
||||
String MODE_RUN_FINISH = "ISSM_MODE_RUN_FINISH";//SSM变更模式完成(第一次ready)
|
||||
String MODE_RUN_ABORT = "ISSM_MODE_RUN_ABORT";//SSM变更模式中止
|
||||
String MODE_RUN_TIMEOUT = "ISSM_MODE_RUN_TIMEOUT";//SSM变更模式超时
|
||||
String MODE_RUN_READY = "ISSM_MODE_RUN_READY";//SSM模式就绪
|
||||
String MODE_RUN_UNREADY = "ISSM_MODE_RUN_UNREADY";//SSM未就绪
|
||||
|
||||
String MODE_IDLE_START = "ISSM_MODE_IDLE_START";//SSM变更模式开始
|
||||
String MODE_IDLE_FINISH = "ISSM_MODE_IDLE_FINISH";//SSM变更模式完成(第一次ready
|
||||
String MODE_IDLE_FINISH = "ISSM_MODE_IDLE_FINISH";//SSM变更模式完成(第一次ready)
|
||||
String MODE_IDLE_ABORT = "ISSM_MODE_IDLE_ABORT";//SSM变更模式中止
|
||||
String MODE_IDLE_TIMEOUT = "ISSM_MODE_IDLE_TIMEOUT";//SSM变更模式超时
|
||||
String MODE_IDLE_READY = "ISSM_MODE_IDLE_READY";//SSM模式就绪
|
||||
String MODE_IDLE_UNREADY = "ISSM_MODE_IDLE_UNREADY";//SSM未就绪
|
||||
|
||||
String MODE_STOP_START = "ISSM_MODE_STOP_START";//SSM变更模式开始
|
||||
String MODE_STOP_FINISH = "ISSM_MODE_STOP_FINISH";//SSM变更模式完成(第一次ready
|
||||
String MODE_STOP_FINISH = "ISSM_MODE_STOP_FINISH";//SSM变更模式完成(第一次ready)
|
||||
String MODE_STOP_ABORT = "ISSM_MODE_STOP_ABORT";//SSM变更模式中止
|
||||
String MODE_STOP_TIMEOUT = "ISSM_MODE_STOP_TIMEOUT";//SSM变更模式超时
|
||||
String MODE_STOP_READY = "ISSM_MODE_STOP_READY";//SSM模式就绪
|
||||
@@ -498,6 +530,26 @@ public class MogoReport {
|
||||
interface IVEHICLE {
|
||||
String NOT_IN_TROUBLE = "IVEHICLE_NOT_IN_TROUBLE";//车辆脱离困境,恢复正常,可继续开始自动驾驶了 触发频率:处于困境中,触发一次; 脱困后,触发一次 云端驾舱会接入该事件 建议鹰眼也接入,展示困境状态/脱困状态
|
||||
}
|
||||
|
||||
/**
|
||||
* IFSM(功能状态管理)
|
||||
*/
|
||||
interface IFSM {
|
||||
String AUTO_PILOT_STATE_CHANGED = "IFSM_AUTO_PILOT_STATE_CHANGED";//自动驾驶状态机变化 (msg 填写如 standby to active )
|
||||
String REMOTE_PILOT_STATE_CHANGED = "IFSM_REMOTE_PILOT_STATE_CHANGED";//平行驾驶状态机变化
|
||||
String TELECTRL_PILOT_STATE_CHANGED = "IFSM_TELECTRL_PILOT_STATE_CHANGED";//遥感驾驶状态机变化
|
||||
}
|
||||
|
||||
/**
|
||||
* IFM (故障管理)
|
||||
*/
|
||||
interface IFM {
|
||||
String HANDLE_FAULTS_START = "IFM_HANDLE_FAULTS_START";//FM开始处理故障
|
||||
String HANDLE_FAULTS_STOP = "IFM_HANDLE_FAULTS_STOP";//FM停止处理故障
|
||||
String ALL_FAULTS_RECOVER = "IFM_ALL_FAULTS_RECOVER";//FM当前已无故障 (只有有故障到全都消失时候上报)
|
||||
String ONLY_WARNING_FAULTS = "IFM_ONLY_WARNING_FAULTS";//FM仅存在警示故障
|
||||
String ERROR1_SLOW_SPEED = "IFM_ERROR1_SLOW_SPEED";//存在故障触发减速策略
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.zhjt.mogo.adas.data.bean;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 自动驾驶能力 能否启动自动驾驶
|
||||
*/
|
||||
public class UnableAutopilotReason {
|
||||
|
||||
public enum SourceType {
|
||||
LIB,//ADAS庫
|
||||
CHASSIS,//底盤
|
||||
SSM,
|
||||
FSM,
|
||||
}
|
||||
|
||||
/**
|
||||
* 來源
|
||||
*/
|
||||
public final SourceType source;
|
||||
/**
|
||||
* 具體原因
|
||||
*/
|
||||
public final String unableAutopilotReason;
|
||||
|
||||
|
||||
public UnableAutopilotReason(SourceType source, String unableAutopilotReason) {
|
||||
this.source = source;
|
||||
this.unableAutopilotReason = unableAutopilotReason;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
UnableAutopilotReason that = (UnableAutopilotReason) o;
|
||||
return source == that.source && TextUtils.equals(unableAutopilotReason, that.unableAutopilotReason);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(source, unableAutopilotReason);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "{原因:" + unableAutopilotReason + " 来源:" + source + "}";
|
||||
}
|
||||
}
|
||||
@@ -100,3 +100,13 @@ enum CleanSystemControlMode {
|
||||
Clean_PureWash_Left_Work = 13;
|
||||
Clean_PureWash_Right_Work = 14;
|
||||
}
|
||||
|
||||
enum DoorNumber {
|
||||
NONE = 0;
|
||||
FRONT_LEFT = 1;
|
||||
FRONT_RIGHT = 2;
|
||||
REAR_LEFT = 3;
|
||||
REAR_RIGHT = 4;
|
||||
MIDDLE = 5;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,8 +30,9 @@ enum MessageType
|
||||
MsgTypeOBU = 0x1000a; //OBU
|
||||
MsgTypeChassisStates = 0x1000b; //重构后的底盘状态, 透传
|
||||
MsgTypeFunctionStates = 0x1000c; //重构后的功能状态, 透传
|
||||
MsgTypeBackCameraVideo = 0x1000d; //清扫车后部摄像头视频 10hz
|
||||
MsgTypeBackCameraVideo = 0x1000d; //后部摄像头视频 10hz
|
||||
MsgTypeM1StitchedVideo = 0x1000e; //m1拼接视频 10hz
|
||||
MsgTypeSSMState = 0x1000f; //ssm 系统状态 1hz hq m1 MAP350开始支持,其他车型MAP360开始支持
|
||||
|
||||
MsgTypeBasicInfoReq = 0x10100; //自动驾驶设备基础信息请求
|
||||
MsgTypeBasicInfoResp = 0x10101; //自动驾驶设备基础信息应答
|
||||
@@ -247,17 +248,20 @@ message Line
|
||||
string stopUrl_dpqp = 10; //打点文件下载的cos url,默认“”
|
||||
string stopMd5_dpqp = 11; //轨迹文件md5,默认“”
|
||||
uint64 timestamp_dpqp = 12; //上传轨迹完成时间戳(ms):用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖
|
||||
string lineName = 13; //路线名
|
||||
}
|
||||
|
||||
message TrajectoryDownloadReq
|
||||
{
|
||||
Line line = 1; //路线
|
||||
uint32 source = 2; //指令来源: 0: default, 1:pad, 2:aicloud
|
||||
uint32 downloadType = 3; //下载类型: 0:正常下载 1:预下载
|
||||
}
|
||||
|
||||
// message definition for MessageType: MsgTypeBasicInfoReq
|
||||
message BasicInfoReq
|
||||
{
|
||||
bytes certification = 1;//域控ssl证书
|
||||
}
|
||||
|
||||
// message definition for MessageType: MsgTypeBasicInfoResp
|
||||
@@ -267,6 +271,7 @@ message BasicInfoResp
|
||||
uint32 environment = 2; //1: 研发环境, 2:测试环境, 3:生产环境 4:演示环境
|
||||
uint32 role = 3; //客户端角色:0: 司机屏,1: 乘客屏,2: 调试屏
|
||||
string version = 4; //鹰眼版本
|
||||
bytes certification = 5; //鹰眼ssl证书
|
||||
}
|
||||
|
||||
// message definition for MsgTypeSetAutopilotModeReq
|
||||
@@ -603,8 +608,13 @@ message SetOneParam
|
||||
// 5:停车让行线前避让等待开关(bool) 0:停车让行线前无需等待 1:停车让行线前需要等待 默认0
|
||||
// 6:地图限速功能开关(bool) 0:不使用地图限速功能 1:使用地图限速功能 默认0
|
||||
// 7:环岛模式开关(bool) 0:普通模式 1:环岛模式 默认0
|
||||
// 8:弱网减速停车策略开关(bool) 0:关闭弱网减速停车策略 1:使用弱网减速停车策略
|
||||
// 8:弱网减速停车策略开关(bool) 0:关闭弱网减速停车策略 1:使用弱网减速停车策略 默认1
|
||||
// 9:m1拼接视频自车位置参数(string), 格式:x,y,width,height
|
||||
// 10:故障减速停车策略开关(bool) 0:关闭故障减速停车策略 1:使用故障减速停车策略 默认1
|
||||
// 11: 盲区开关(bool) 0: off 1:on /telematics/sensor/blindarea_flag
|
||||
// 12: 融合v2n开关(bool) 0:不发给PnC 1:发给Pnc /telematics/fusion/v2n_flag
|
||||
// 13: 融合v2i开关(bool) 0:不发给PnC和鹰眼 1:发给Pnc和鹰眼,默认0 /telematics/fusion/v2i_flag
|
||||
// 14: 融合模式(int) 1:全融合模式 2:盲区模式 3:超视距模式 4:透传模式 5:纯路侧模式,默认1 /telematics/fusion/fusion_mode
|
||||
string value = 2; // 转成字符串的值
|
||||
}
|
||||
|
||||
@@ -700,3 +710,6 @@ message SessionInfo
|
||||
uint64 connectedTimeStamp = 4;
|
||||
string version = 5;
|
||||
}
|
||||
|
||||
//message definition for MsgTypeSSMState
|
||||
//refer to ssm_info.proto for details
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
syntax = "proto3";
|
||||
package mogo.telematics;
|
||||
|
||||
enum ParamSetType
|
||||
enum ParamSetType
|
||||
{
|
||||
ParamSetTypeNone = 0;
|
||||
ParamSetTypeBlindArea = 1; //bool, 0:off 1:on
|
||||
ParamSetTypeV2N = 2; //bool, 0:不发给PnC 1:发给Pnc
|
||||
ParamSetTypeV2I = 3; //bool, 0:不发给PnC和鹰眼 1:发给Pnc和鹰眼,默认0
|
||||
}
|
||||
|
||||
message ParamSetCmd
|
||||
|
||||
@@ -14,5 +14,10 @@ enum MapSystemParamType{
|
||||
RAMP_THETA_VALID = 7;//环岛模式开关
|
||||
WEAK_NET_SLOW_DOWN = 8;//弱网减速停车策略开关
|
||||
M1_STITCHED_VIDEO_SELF_VEHICLE_PARAM = 9;//m1拼接视频自车位置参数(string), 格式:x,y,width,height
|
||||
BREAKDOWN_SLOW_DOWN = 10;//故障减速停车策路开关
|
||||
BLIND_AREA = 11;//盲区开关(bool) 0: off 1:on /telematics/sensor/blindarea_flag
|
||||
V2N_TO_PNC = 12;//融合v2n开关(bool) 0:不发给PnC 1:发给Pnc /telematics/fusion/v2n_flag
|
||||
V2I_TO_PNC = 13;//融合v2i开关(bool) 0:不发给PnC和鹰眼 1:发给Pnc和鹰眼,默认0 /telematics/fusion/v2i_flag
|
||||
FUSION_MODE = 14;//融合模式(int) 1:全融合模式 2:盲区模式 3:超视距模式 4:透传模式 5:纯路侧模式,默认1 /telematics/fusion/fusion_mode
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
syntax = "proto2";
|
||||
|
||||
package system_master;
|
||||
|
||||
|
||||
enum HealthState {
|
||||
NORMAL = 0;
|
||||
FAULT = 1;
|
||||
UNKNOW = 2;
|
||||
}
|
||||
|
||||
message HealthInfo{
|
||||
required string name = 1; //node name
|
||||
required HealthState state = 2; //health state
|
||||
optional string code = 3; //code 与系统事件错误码对应,如有该错误填写,没有不填
|
||||
optional string desc = 4; //补充描述,用于未知情况
|
||||
}
|
||||
|
||||
54
libraries/mogo-adas-data/src/main/proto/ssm_info.proto
Normal file
54
libraries/mogo-adas-data/src/main/proto/ssm_info.proto
Normal file
@@ -0,0 +1,54 @@
|
||||
syntax = "proto2";
|
||||
|
||||
package system_master;
|
||||
import "personal/ssm_base.proto";
|
||||
|
||||
enum NodeState {
|
||||
NONE = 0; //未知状态None
|
||||
WAITING = 1; //依赖未就绪Waiting
|
||||
STARTING = 2; //启动中Starting
|
||||
RUNNING = 3; //运行running
|
||||
STOPPING = 4; //停止stopping
|
||||
BROKEN = 5; //无法启动状态
|
||||
MAN_RUN = 6; //非自动启动状态
|
||||
MAN_STOP = 7; //非自动关闭状态
|
||||
}
|
||||
|
||||
enum AgentState {
|
||||
DISCONNECT = 0; //未连接或断开连接
|
||||
CONNECTED = 1; //连接状态
|
||||
}
|
||||
|
||||
enum ModeState {
|
||||
MODE_STOP_UNREADY = 0; //停止模式-未就绪
|
||||
MODE_STOP_READY = 1; //运行模式-就绪 (所有节点关闭)
|
||||
MODE_RUN_UNREADY = 2; //运行模式-未就绪
|
||||
MODE_RUN_READY = 3; //运行模式-就绪 (所有节点启动)
|
||||
MODE_IDLE_UNREADY = 4; //空闲模式-未就绪
|
||||
MODE_IDLE_READY = 5; //空闲模式-就绪 (非驾驶状态)
|
||||
}
|
||||
|
||||
|
||||
message NodeInf {
|
||||
optional string node_name = 1; //node name
|
||||
optional string launch_name = 2; //launch name
|
||||
optional NodeState state = 3;
|
||||
}
|
||||
|
||||
message SsmStatusInf {
|
||||
required ModeState mode_state = 1; // 当前系统模式状态
|
||||
optional string map_version = 2; // MAP 版本信息
|
||||
optional string master_version = 3; // SSM 版本信息
|
||||
required bool auto_pilot_ready = 4; // 自动驾驶状态就绪
|
||||
required bool remote_pilot_ready = 5; // 平行驾驶状态就绪
|
||||
repeated NodeInf auto_pilot_unready_list = 6; //自驾未就绪节点列表
|
||||
repeated NodeInf remote_pilot_unready_list = 7; //平行驾驶未就绪列表
|
||||
optional string auto_pilot_unready_reason = 8; //自动驾驶状态未就绪原因描述
|
||||
optional string remote_pilot_unready_reason = 9; //平行驾驶状态未就绪原因描述
|
||||
repeated HealthInfo health_info=10; // 健康检查状态信息
|
||||
|
||||
optional uint64 cur_used_lineid = 20 [default = 0]; //0:当前无可用轨迹,需要下单,other: 可用轨迹id
|
||||
optional string hd_map_ver = 21; //高精地图版本
|
||||
optional string slam_map_ver = 22; //slam地图版本
|
||||
optional string grid_map_ver = 23; //栅格地图版本
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
syntax = "proto2";
|
||||
|
||||
package system_master;
|
||||
import "personal/ssm_base.proto";
|
||||
|
||||
enum SystemState {
|
||||
SYS_STARTING = 0; //系统正在启动
|
||||
@@ -14,19 +15,6 @@ enum SystemState {
|
||||
REMOTE_PILOT_RUNNING = 8; //平行驾驶运行中
|
||||
}
|
||||
|
||||
enum HealthState {
|
||||
NORMAL = 0;//正常
|
||||
FAULT = 1;//异常
|
||||
UNKNOW = 2;//未知
|
||||
}
|
||||
|
||||
message HealthInfo{
|
||||
required string name = 1; //node name
|
||||
required HealthState state = 2; //health state
|
||||
optional string code = 3; //code 与系统事件错误码对应,如有该错误填写,没有不填
|
||||
optional string desc = 4; //补充描述,用于未知情况
|
||||
}
|
||||
|
||||
message TopicInfo{
|
||||
optional string name = 1; //topic name
|
||||
optional int32 hz = 2; //Topic发送的频率
|
||||
@@ -50,7 +38,7 @@ message NodeFaultList{
|
||||
|
||||
message StatusInfo {
|
||||
required SystemState sys_state=1; // 当前系统状态
|
||||
repeated HealthInfo health_info=2; // 健康检查状态信息
|
||||
repeated HealthInfo health_info=2; // 健康检查状态信息
|
||||
optional DropTopic topic_drop_info=3; // topic 掉频信息, 如有掉频添加没有不添加
|
||||
optional string reserved = 4; // 用于表示idle模式,'idle' 表示idle模式 'work' 表示正常工作
|
||||
// add by liyl 20220907
|
||||
@@ -63,5 +51,9 @@ message StatusInfo {
|
||||
optional NodeFaultList remote_pilot_unready_list = 11; //平行驾驶未就绪列表, 20221128 增加
|
||||
optional string auto_pilot_unready_reason = 12; //自动驾驶状态未就绪原因描述
|
||||
optional string remote_pilot_unready_reason = 13; //平行驾驶状态未就绪原因描述
|
||||
}
|
||||
|
||||
optional uint64 cur_used_lineid = 20 [default = 0]; //0:当前无可用轨迹,需要下单,other: 可用轨迹id
|
||||
optional string hd_map_ver = 21; //高精地图版本
|
||||
optional string slam_map_ver = 22; //slam地图版本
|
||||
optional string grid_map_ver = 23; //栅格地图版本
|
||||
}
|
||||
|
||||
@@ -74,6 +74,11 @@ message DoorState {
|
||||
optional bool is_on = 1; //是否开启
|
||||
}
|
||||
|
||||
message DoorStateV2 {
|
||||
optional DoorNumber number = 1; // 车门编号
|
||||
optional uint32 status = 2; // 车门开闭状态(0-关, 1-开)
|
||||
}
|
||||
|
||||
message LightState {
|
||||
optional bool is_on = 1; //是否开启
|
||||
optional uint32 color = 2; //颜色
|
||||
@@ -116,13 +121,13 @@ message VehicleState {
|
||||
optional bool steer_inference = 23 [default = false]; //方向盘干预
|
||||
optional bool brake_inference = 24 [default = false]; //制动踏板干预
|
||||
optional bool accel_inference = 25 [default = false]; //加速踏板干预
|
||||
optional bool gear_switch_inference = 26 [default = false]; //档位切换干预
|
||||
optional bool gear_switch_inference = 26 [default = false]; //档位切换干预
|
||||
optional bool location_missing = 27 [default = false]; //未收到定位
|
||||
optional bool trajectory_missing = 28 [default = false]; //未收到轨迹
|
||||
optional bool chassis_status_missing = 29 [default = false]; //未收到车辆底盘反馈信息
|
||||
optional bool brake_light_status = 30 [default = false]; //自驾模式下制动灯状态
|
||||
optional bool pilot_mode_condition_met = 31 [default = false];
|
||||
|
||||
|
||||
optional float steeringSpd = 32 [default = 0]; // steering angle speed in degrees/s
|
||||
|
||||
optional float leftFrontWheelAngle = 33 [default = 0];//左前轮角度(deg),左负右正
|
||||
@@ -136,6 +141,8 @@ message VehicleState {
|
||||
optional float bms_soc = 40 [default = 0]; // 电量百分比范围 0~100
|
||||
optional float fuel_value = 41 [default = 0]; // 油车剩余油量
|
||||
|
||||
repeated DoorStateV2 door_state = 42; // 车门状态
|
||||
|
||||
optional SweeperFuTianCleanSystemState sweeper_futian_clean_system_state = 200; // 福田清扫车上装状态信息
|
||||
optional RoboTaxiState robo_taxi_state = 201; // taxi状态
|
||||
optional RoboBusState robo_bus_state = 202; // bus状态
|
||||
|
||||
Reference in New Issue
Block a user