diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java index 40ab786a87..7f8ba35e31 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java @@ -2,7 +2,7 @@ package com.zhidao.support.adas.high.common; /** * 监控事件报告中定义的事件以及解释 - * 根据240消息定义编写 + * 根据250消息定义编写 * http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=79433139 */ public class MogoReport { @@ -11,6 +11,7 @@ public class MogoReport { private static final String RESULT_AUTOPILOT_INFERIOR = "RESULT_AUTOPILOT_INFERIOR"; private static final String RESULT_REMOTEPILOT_DISABLE = "RESULT_REMOTEPILOT_DISABLE"; private static final String RESULT_REMOTEPILOT_INFERIOR = "RESULT_REMOTEPILOT_INFERIOR"; + private static final String RESULT_SHOW_WARNING = "RESULT_SHOW_WARNING"; // private static final String RESULT_DISCONNECTED_WITH_PAD = "RESULT_DISCONNECTED_WITH_PAD"; // private static final String RESULT_PAD_CANNOT_CONNECT_TELEMATICS = "RESULT_PAD_CANNOT_CONNECT_TELEMATICS"; @@ -27,7 +28,8 @@ public class MogoReport { AUTOPILOT_DISABLE(RESULT_AUTOPILOT_DISABLE, "无法启动自动驾驶"), AUTOPILOT_INFERIOR(RESULT_AUTOPILOT_INFERIOR, "自动驾驶部分功能受影响,演示模式可以考虑强行启动,需联系人员排查问题。\n例如定位偏移,camera无数据,算法严重丢帧,属于自动驾驶可以启动,但是效果受影响。"), REMOTEPILOT_DISABLE(RESULT_REMOTEPILOT_DISABLE, "无法启动远程驾驶"), - REMOTEPILOT_INFERIOR(RESULT_REMOTEPILOT_INFERIOR, "远程驾驶部分功能受影响。例如网络高延迟"); + REMOTEPILOT_INFERIOR(RESULT_REMOTEPILOT_INFERIOR, "远程驾驶部分功能受影响。例如网络高延迟"), + SHOW_WARNING(RESULT_SHOW_WARNING, "一般为过渡状态,存在不确定因素,有可能对自动驾驶有微弱影响,需要在pad端显示为黄色告警。\n如果偶尔上报该result可忽略,如果频繁上报需联系人员进行排查。 目前仅有RTK无法确认状态事件。"); // DISCONNECTED_WITH_PAD(RESULT_DISCONNECTED_WITH_PAD, "未检测到来自pad的链接,如果只报了这个result,可以通过后台/远程驾驶启动自动驾驶"), // PAD_CANNOT_CONNECT_TELEMATICS(RESULT_PAD_INFO_LOST, "Pad无法连接到工控机"), @@ -66,6 +68,8 @@ public class MogoReport { return REMOTEPILOT_DISABLE.desc; case RESULT_REMOTEPILOT_INFERIOR: return REMOTEPILOT_INFERIOR.desc; + case RESULT_SHOW_WARNING: + return SHOW_WARNING.desc; // case RESULT_DISCONNECTED_WITH_PAD: // return DISCONNECTED_WITH_PAD.desc; @@ -151,4 +155,172 @@ public class MogoReport { } } } + + public interface Code { + /** + * 异常类型 + */ + interface Error { + /** + * 系统初始化阶段错误 + */ + interface EINIT { + String LOST_FILE = "EINIT_LOST_FILE";//系统启动时缺失必要文件,或者容器配置错误 + } + + /** + * 硬件故障 + */ + interface EHW { + String LIDAR = "EHW_LIDAR";//未检测到雷达 + String GNSS = "EHW_GNSS";//未检测到gnss + String RTK = "EHW_RTK";//定位不准,gnss节点反馈的状态不是42 + String CAN = "EHW_CAN";//无法与底盘通信,获取不到地盘状态,无法进入自动驾驶 + } + + /** + * 自动驾驶系统故障 + */ + interface EMAP { + String NODE = "EMAP_NODE";//节点异常退出 + String NODE_DEAD = "EMAP_NODE_DEAD";//节点异常退出过多,放弃重启 + String DATA_NOT_EXIST = "EMAP_DATA_NOT_EXIST";//无法加载到正确的sqlite文件 + String TRA_NOT_EXIST = "EMAP_TRA_NOT_EXIST";//无法找到轨迹文件 + String TRA_LOAD_FAILED = "EMAP_TRA_LOAD_FAILED";//加载轨迹文件失败 + 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 HADMAP_ENGINE_NO_ROUTING_INFO = "EMAP_HADMAP_ENGINE_NO_ROUTING_INFO";//hadmap_engine算路失败或未找到轨迹文件导致的轨迹文件信息未发布 + String HADMAP_NO_TRAJECTORY = "EMAP_HADMAP_NO_TRAJECTORY";//hadmap未发布全局路径 + String HADMAP_PLANNING_NO_TRAJECTORY = "EMAP_HADMAP_PLANNING_NO_TRAJECTORY";//local_planning未发布局部轨迹 + String CONTROL_ABNORMAL_COMMAND = "EMAP_CONTROL_ABNORMAL_COMMAND";//controller发布的控制指令异常 + String CAN_ADAPTER_NO_CHASSIS_INFO = "EMAP_CAN_ADAPTER_NO_CHASSIS_INFO";//can_adapter未成功转发地盘信息 + } + + /** + * telematics相关故障 + */ + interface ETELEMATICS { + String AICLOUD_AUTH_ERROR = "ETELEMATICS_AICLOUD_AUTH_ERROR";//telematics连接云端失败 + } + + /** + * 车辆故障或其他状态引起的问题 + */ + interface EVHC { + String GEAR_INFERENCE = "EVHC_GEAR_INFERENCE";//由于档位干预退出自动驾驶或无法进入自动驾驶 + String BRAKE_INFERENCE = "EVHC_BRAKE_INFERENCE";//由于刹车干预退出自动驾驶或无法进入自动驾驶 + String STEER_INFERENCE = "EVHC_STEER_INFERENCE";//由于方向盘干预退出自动驾驶或无法进入自动驾驶 + String ACCEL_INFERENCE = "EVHC_ACCEL_INFERENCE";//由于油门干预退出自动驾驶或无法进入自动驾驶 + String CSS = "EVHC_CSS";//底盘不允许进入自动驾驶 + } + + /** + * 系统状态检测异常 + */ + interface ESYS { + String AUTOPILOT_FAILED = "ESYS_AUTOPILOT_FAILED";//在尝试启动自动驾驶,但是超过指定时间后底盘未进入,会发送此事件 + String IN_INIT = "ESYS_IN_INIT";//系统处于启动中,拒绝进入自动驾驶/远程驾驶 + String IN_EXIT = "ESYS_IN_EXIT";//系统处于退出中,拒绝进入自动驾驶/远程驾驶 + String NOT_ALLOW_AUTOPILOT_FOR_REMOTE = "ESYS_NOT_ALLOW_AUTOPILOT_FOR_REMOTE";//系统处于远程驾驶中,拒绝进入自动驾驶 + String NOT_ALLOW_REBOOT = "ESYS_NOT_ALLOW_REBOOT";//重启拒绝 + String TOPIC_FREQ_DROPED = "ESYS_TOPIC_FREQ_DROPED";//存在topic严重掉频 + String AUTOPILOT_TAKEN_OVER_BY_REMOTE = "ESYS_AUTOPILOT_TAKEN_OVER_BY_REMOTE";//自动驾驶被远程驾驶接管 + String ROUTING_REQ_TIMEOUT = "ESYS_ROUTING_REQ_TIMEOUT";//自动驾驶开始前,routing请求无响应 + String FAULT = "ESYS_FAULT";//master启动10分钟,仍有agent未连接 + } + + interface EAGENT { + String FATAL = "EAGENT_FATAL";//agent严重故障,无法恢复 + String MASTER_COMMAND_HANDLER_FAILED = "EAGENT_MASTER_COMMAND_HANDLER_FAILED";//agent未能成功执行master指令 + } + + /** + * 相机相关异常 + */ + interface ECAM { + String INIT = "ECAM_INIT";//相机初始化失败 + String CALIB = "ECAM_CALIB";//标定信息读取失败 + } + + /** + * 定位异常 + */ + interface ELCT { + String RTK_STATUS_FAULT = "ELCT_RTK_STATUS_FAULT";//RTK状态错误 + String RTK_STATUS_UNKNOWN = "ELCT_RTK_STATUS_UNKNOWN";//RTK状态不确定 + } + } + + /** + * 常规类型 + */ + interface Info { + /** + * 系统初始化阶段 + */ + interface IINIT { + String BOOST = "IINIT_BOOST";//linux系统已启动(此事件会延迟发出,timestamp填linux启动时的事件) + String TIME_SYNC = "IINIT_TIME_SYNC";//时间已同步 + String SENSOR_NORMAL = "IINIT_SENSOR_NORMAL";//各传感器正常 + String MAP_STARTED = "IBOOT_MAP_STARTED";//当前xavier上所有节点已启动成功 + + } + + /** + * 自动驾驶运行信息 + */ + interface IMAP { + String TRA_EXIST = "IMAP_TRA_EXIST";//已找到轨迹文件 + String DATA_EXIST = "IMAP_DATA_EXIST";//加载正确的sqlite + String TRA_LOADED = "IMAP_TRA_LOADED";//轨迹文件加载成功 + String TRA_ROUTING = "IMAP_TRA_ROUTING";//算路成功 + + } + + /** + * telematics节点信息 + */ + interface ITELEMATICS { + String ROUTING_REQUEST_SENT = "ITELEMATICS_ROUTING_REQUEST_SENT";//已发送算路请求 + String AUTOPILOT_CMD_FORWARDED = "ITELEMATICS_AUTOPILOT_CMD_FORWARDED";//自动驾驶命令已转发 + String AICLOUD_AUTH_OK = "ITELEMATICS_AICLOUD_AUTH_OK";//aicloud连接认证成功 + + } + + /** + * 系统状态 常规信息 + */ + interface ISYS { + String STARTING = "ISYS_STARTING";//系统启动中 + String RUNNING = "ISYS_RUNNING";//所有Xavier启动完成 + String EXITING = "ISYS_EXITING";//系统退出中 + String AUTOPILOT_READY = "ISYS_AUTOPILOT_READY";//自动驾驶状态就绪 + String AUTOPILOT_STARTING = "ISYS_AUTOPILOT_STARTING";//自动驾驶启动中 + String AUTOPILOT_RUNING = "ISYS_AUTOPILOT_RUNING";//自动驾驶运行中 + String TOPIC_FREQ_NORMAL = "ISYS_TOPIC_FREQ_NORMAL";//topic频率正常或者恢复正常 + String CAN_NORMAL = "ISYS_CAN_NORMAL";//底盘状态正常或恢复正常 + String REOMTEPILOT_STARTING = "ISYS_REOMTEPILOT_STARTING";//平行驾驶启动中 + String REOMTEPILOT_RUNING = "ISYS_REOMTEPILOT_RUNING";//平行驾驶运行中 + String INIT_TRAJECTORY_START = "ISYS_INIT_TRAJECTORY_START";//轨迹管理_轨迹开始下载 + String INIT_TRAJECTORY_SUCCESS = "ISYS_INIT_TRAJECTORY_SUCCESS";//轨迹管理_轨迹下载成功 + String INIT_TRAJECTORY_FAILURE = "ISYS_INIT_TRAJECTORY_FAILURE";//轨迹管理_轨迹下载失败,本地无对应轨迹 + String INIT_TRAJECTORY_WARNING = "ISYS_INIT_TRAJECTORY_WARNING";//轨迹管理_轨迹下载失败,本地有对应轨迹,认为成功 + String INIT_TRAJECTORY_TIMEOUT = "ISYS_INIT_TRAJECTORY_TIMEOUT";//轨迹管理_轨迹下载超时 + } + + interface IAGENT { + String EXECUTE_MASTER_COMMAND = "IAGENT_EXECUTE_MASTER_COMMAND";//执行系统指令成功 + } + + interface ICAM { + String READY = "ICAM_READY";//相机已就绪 + } + + interface ILCT { + String RTK_STATUS_NORMAL = "ILCT_RTK_STATUS_NORMAL";//rtk状态正常或恢复正常 + } + } + } }