From 2ce02f2a5bfecf208ba9f09e09bcdc358803d553 Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Mon, 6 Feb 2023 16:17:17 +0800 Subject: [PATCH] =?UTF-8?q?[ADAS=20LIB][opt3.0]=E6=9B=B4=E6=96=B0=E7=9B=91?= =?UTF-8?q?=E6=8E=A7=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../support/adas/high/common/MogoReport.java | 110 +++++++++++++++--- 1 file changed, 93 insertions(+), 17 deletions(-) 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 dcc7a49aa5..3365f70734 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 @@ -13,7 +13,6 @@ public class MogoReport { public static final String RESULT_SHOW_WARNING = "RESULT_SHOW_WARNING"; - public enum Result { AUTOPILOT_SYSTEM_UNSTARTED(RESULT_AUTOPILOT_SYSTEM_UNSTARTED, "自动驾驶系统启动过程中出错,pad可能无法连接,云端监控可能无法上报"), AUTOPILOT_DISABLE(RESULT_AUTOPILOT_DISABLE, "无法启动自动驾驶"), @@ -23,7 +22,6 @@ public class MogoReport { SHOW_WARNING(RESULT_SHOW_WARNING, "一般为过渡状态,存在不确定因素,有可能对自动驾驶有微弱影响,需要在pad端显示为黄色告警。\n如果偶尔上报该result可忽略,如果频繁上报需联系人员进行排查。 目前仅有RTK无法确认状态事件。"); - /** * 消息result code */ @@ -69,6 +67,7 @@ public class MogoReport { public static final String ACTION_CHECK_GEAR = "ACTION_CHECK_GEAR"; public static final String ACTION_CHECK_NETWORK = "ACTION_CHECK_NETWORK"; public static final String ACTION_TRY_AGAIN_LATER = "ACTION_TRY_AGAIN_LATER"; + public static final String ACTION_REMOTEPILOT_REQUEST = "ACTION_REMOTEPILOT_REQUEST"; public enum Action { @@ -79,7 +78,8 @@ public class MogoReport { REBOOT_VEHICLE(ACTION_REBOOT_VEHICLE, "重启车辆"), CHECK_GEAR(ACTION_CHECK_GEAR, "检查车辆档位等影响自动驾驶的因素"), CHECK_NETWORK(ACTION_CHECK_NETWORK, "检查网络连接和路由器等影响通信的因素"), - TRY_AGAIN_LATER(ACTION_TRY_AGAIN_LATER, "请稍后重试"); + TRY_AGAIN_LATER(ACTION_TRY_AGAIN_LATER, "请稍后重试"), + REMOTEPILOT_REQUEST(ACTION_REMOTEPILOT_REQUEST, "请求远程驾驶"); /** * 消息Action code @@ -268,6 +268,20 @@ public class MogoReport { String TASK_CONFIG_EMPTY = "ERECORD_TASK_CONFIG_EMPTY";//配置为空 String TASK_QUEUE_EMPTY = "ERECORD_TASK_QUEUE_EMPTY";//数据队列为空 } + + /** + * 平行驾驶相关异常 + */ + interface EPARALLEL { + String AICLOUD_CONNECTION_ERROR = "EPARALLEL_AICLOUD_CONNECTION_ERROR";//平行驾驶长连接异常 + } + + /** + * 车辆处于困境,等待平行驾驶接管 + */ + interface EVEHICLE { + String IN_TROUBLE = "EVEHICLE_IN_TROUBLE";//planning 检测到车处于困境,把困境状态汇报给 SSM,ssm 发出该事件,等待驾舱端开始平行驾驶 + } } /** @@ -309,9 +323,10 @@ public class MogoReport { } /** - * 系统状态 常规信息 + * 系统状态 */ interface ISYS { + /*******常规信息*******/ String STARTING = "ISYS_STARTING";//系统启动中 String RUNNING = "ISYS_RUNNING";//所有Xavier启动完成 String EXITING = "ISYS_EXITING";//系统退出中 @@ -327,19 +342,14 @@ public class MogoReport { String SYSTEM_IN_IDLE = "ISYS_SYSTEM_IN_IDLE";//系统进入空闲状态 String SYSTEM_OUT_IDLE = "ISYS_SYSTEM_OUT_IDLE";//系统退出空闲状态 - String FUNC_YY_START = "ISYS_FUNC_YY_START";//产品状态检查开始 - String FUNC_YY_FINISH = "ISYS_FUNC_YY_FINISH";//产品状态达成(第一次ready) - String FUNC_YY_TIMEOUT = "ISYS_FUNC_YY_TIMEOUT";//产品状态检查超时 - String FUNC_YY_ABORT = "ISYS_FUNC_YY_ABORT";//产品状态检查中止 - String FUNC_YY_UNREADY = "ISYS_FUNC_YY_UNREADY";//产品状态未就绪 - String FUNC_YY_READY = "ISYS_FUNC_YY_READY";//产品状态就绪 - + /*******轨迹下载相关*******/ 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";//轨迹管理_轨迹下载超时 + /*******配置更新相关*******/ String CONFIG_UPDATE_HADMAP = "ISYS_CONFIG_UPDATE_HADMAP";//需要重启升级高精地图 String CONFIG_UPDATE_AI_MODEL = "ISYS_CONFIG_UPDATE_AI_MODEL";//需要重启升级AI模型 String CONFIG_UPDATE_SLAM_MAP = "ISYS_CONFIG_UPDATE_SLAM_MAP";//需要重启升级SLAM地图 @@ -355,13 +365,65 @@ public class MogoReport { interface ISSM { String INIT = "ISSM_INIT";//SSM系统上电初始化 String RESTARTED = "ISSM_RESTARTED";//SSM系统发生重启 - String MODE_XX_START = "ISSM_MODE_XX_START";//SSM变更模式开始 - 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模式就绪 - String MODE_XX_UNREADY = "ISSM_MODE_XX_UNREADY";//SSM未就绪 +// String MODE_XX_START = "ISSM_MODE_XX_START";//SSM变更模式开始 +// 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模式就绪 +// String MODE_XX_UNREADY = "ISSM_MODE_XX_UNREADY";//SSM未就绪 + + //以上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_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_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_ABORT = "ISSM_MODE_STOP_ABORT";//SSM变更模式中止 + String MODE_STOP_TIMEOUT = "ISSM_MODE_STOP_TIMEOUT";//SSM变更模式超时 + String MODE_STOP_READY = "ISSM_MODE_STOP_READY";//SSM模式就绪 + String MODE_STOP_UNREADY = "ISSM_MODE_STOP_UNREADY";//SSM未就绪 + +// String FUNC_YY_START = "ISSM_FUNC_YY_START";//产品状态检查开始 +// String FUNC_YY_FINISH = "ISSM_FUNC_YY_FINISH";//产品状态达成(第一次ready) +// String FUNC_YY_TIMEOUT = "ISSM_FUNC_YY_TIMEOUT";//产品状态检查超时 +// String FUNC_YY_ABORT = "ISSM_FUNC_YY_ABORT";//产品状态检查中止 +// String FUNC_YY_UNREADY = "ISSM_FUNC_YY_UNREADY";//产品状态未就绪 +// String FUNC_YY_READY = "ISSM_FUNC_YY_READY";//产品状态就绪 + + //以上6组被注释掉的字段 中的FUNC_YY分别替换成FUNC_COLD_START、FUNC_AUTO_PILOT、FUNC_REMOTE_PILOT + String FUNC_COLD_START_START = "ISSM_FUNC_COLD_START_START";//产品状态检查开始 + String FUNC_COLD_START_FINISH = "ISSM_FUNC_COLD_START_FINISH";//产品状态达成(第一次ready) + String FUNC_COLD_START_TIMEOUT = "ISSM_FUNC_COLD_START_TIMEOUT";//产品状态检查超时 + String FUNC_COLD_START_ABORT = "ISSM_FUNC_COLD_START_ABORT";//产品状态检查中止 + String FUNC_COLD_START_UNREADY = "ISSM_FUNC_COLD_START_UNREADY";//产品状态未就绪 + String FUNC_COLD_START_READY = "ISSM_FUNC_COLD_START_READY";//产品状态就绪 + + String FUNC_AUTO_PILOT_START = "ISSM_FUNC_AUTO_PILOT_START";//产品状态检查开始 + String FUNC_AUTO_PILOT_FINISH = "ISSM_FUNC_AUTO_PILOT_FINISH";//产品状态达成(第一次ready) + String FUNC_AUTO_PILOT_TIMEOUT = "ISSM_FUNC_AUTO_PILOT_TIMEOUT";//产品状态检查超时 + String FUNC_AUTO_PILOT_ABORT = "ISSM_FUNC_AUTO_PILOT_ABORT";//产品状态检查中止 + String FUNC_AUTO_PILOT_UNREADY = "ISSM_FUNC_AUTO_PILOT_UNREADY";//产品状态未就绪 + String FUNC_AUTO_PILOT_READY = "ISSM_FUNC_AUTO_PILOT_READY";//产品状态就绪 + + String FUNC_REMOTE_PILOT_START = "ISSM_FUNC_REMOTE_PILOT_START";//产品状态检查开始 + String FUNC_REMOTE_PILOT_FINISH = "ISSM_FUNC_REMOTE_PILOT_FINISH";//产品状态达成(第一次ready) + String FUNC_REMOTE_PILOT_TIMEOUT = "ISSM_FUNC_REMOTE_PILOT_TIMEOUT";//产品状态检查超时 + String FUNC_REMOTE_PILOT_ABORT = "ISSM_FUNC_REMOTE_PILOT_ABORT";//产品状态检查中止 + String FUNC_REMOTE_PILOT_UNREADY = "ISSM_FUNC_REMOTE_PILOT_UNREADY";//产品状态未就绪 + String FUNC_REMOTE_PILOT_READY = "ISSM_FUNC_REMOTE_PILOT_READY";//产品状态就绪 } interface IAGENT { @@ -392,6 +454,20 @@ public class MogoReport { String TASK_AUTO = "IRECORDER_TASK_AUTO";//自动录包任务创建 String TASK_CMD = "IRECORDER_TASK_CMD";//指令录包任务创建 } + + /** + * 平行驾驶相关 + */ + interface IPARALLEL { + String AICLOUD_CONNECTION_OK = "IPARALLEL_AICLOUD_CONNECTION_OK";//长连接连接恢复后, 5s 内如果长连状态一直 ok 的话,会触发该事件 建议鹰眼展示该事件 + } + + /** + * 车辆处于困境相关 + */ + interface IVEHICLE { + String NOT_IN_TROUBLE = "IVEHICLE_NOT_IN_TROUBLE";//车辆脱离困境,恢复正常,可继续开始自动驾驶了 触发频率:处于困境中,触发一次; 脱困后,触发一次 云端驾舱会接入该事件 建议鹰眼也接入,展示困境状态/脱困状态 + } } } }