目 录
0 修订历史... 2
1. 概要... 5
1.1. 目的... 5
1.2. 适用范围... 5
1.3. 参考文档... 5
2. 缩写或定义... 5
3. 业务概述... 6
3.1. 业务视图... 6
3.2. 功能描述... 6
3.2.1 状态监控... 6
3.2.2 数据收集和上报和分析... 7
3.2.3 故障诊断... 7
3.2.4 失效保护... 7
3.2.5 故障恢复... 7
3.3. 性能描述... 7
3.3.1 状态监控... 7
3.3.2 故障诊断... 8
3.3.3 数据收集... 8
3.3.4 失效保护... 8
4. 总体设计... 8
4.1. 概述... 8
4.2. 状态监控... 9
4.3. 故障诊断... 10
4.4. 失效保护... 11
4.5. 故障恢复... 12
4.6. 业务需求实现... 13
4.6.1 司机操作类... 13
4.6.2 车身类... 15
4.6.3 业务逻辑类... 17
4.6.4 HAVP 退出... 19
4.6.5 HAVP 中断... 20
4.7. 数据收集上报... 21
5. 软件故障表... 21
本文档定义AVP中安全运行相关的的架构设计。用于说明其含义,范围,主要接口,实现约束,功能列表和功能的主要对内和对外接口,以指导后续设计和开发。
读者包括:开发人员,产品人员和测试人员。
AVP(Automate Valet Parking):自主泊车产品总称。
HAVP(Home-zone Automated Valet Parking):应用于私人停车场的自主泊车产品,可通过手机APP实现50米内的远程取还车。
PAVP(Public-zone Automated Valet Parking):应用于公共停车场的自主泊车产品,实现从停车场入口到车位的无人驾驶。
CMS(Condition Monitor System):状态监控系统,该系统通过对车身及系统数据的实时监控及时发现异常,从而对车辆采取有效的保护措施,并将故障及时上传云端,报告给用户。
FPM(Failure Protection Mechanism):失效保护机制,当系统监控到失效时,对车辆采取有效的保护措施。
卫兵系统:AVP系统安全系统的统称,其中包含安全系统状态监控+失效保护统称为卫兵系统。
在技术实现上,卫兵系统分为:状态监控、故障诊断、失效保护、故障恢复、数据收集、守护进程等车端模块。同时通过数据回传通路,系统安全相关数据会上报云端,并在云端通过数据分析实现对车端功能迭代和效果优化。
获取系统在运行过程中,各个子模块产生各种错误信息。监控项包括车身、硬件、系统、执行器等方面的数据。
发生异常时,收集相关数据,上报到云端。在云端分析回传的数据。通过对收集的数据进行统计分析,能够更加精准地给出监控的阈值,提升监控的准确性。
对异常信息作出梳理判断,找出问题出现的根本原因,并将根本原因输出,供故障恢复模 块执行恢复动作 。
当系统失效时,发出刹车命令,降低车辆碰撞风险。
对可恢复故障采取有效恢复措施。
车身和硬件故障为不可恢复故障,发生此类故障后,卫兵应该采取的动作为:刹停,上报状态,等待维修 。
发生系统故障时,或者尝试清理磁盘,或等待适当时间,若故障依然不能恢复则转入功能故障状态。
发生执行器故障时,尝试重启执行器,若故障依然不能恢复则转入功能故障状态。
在2m/s(7km/h)的速度下,要在故障发生后,1.5m以内实现刹车。
覆盖率100%,发生异常后,要求在100ms内捕获异常。
诊断正确率100%
收到异常后,要将异常发生前后一段时间的数据收集、打包,以用于研发分析。
收到异常后,要求在100ms内发出刹车指令(到UMB)。
故障信息的收集包括三个大方向,分别是:
其中:
Monitor的工作原理如下图所示,监控内容包含了算法内部错误,CPU,内存,flash使用超限,数据流频率异常,车身信息异常,车辆配置参数异常,硬件异常。每种错误或者异常在Monitor内部都有一个与之对应的detector负责具体的监控工作。Monitor每个周期执行时会将每个detector发现的故障汇总成一个err_code的故障列表,诊断和数据回传将获取此故障列表做后续的处理。[W,6]
Diagnosis模块内部维护一个根因表,根因表记录着所有可能导致系统严重故障的根因err_code。诊断模块首先从monitor获取此时的故障列表,然后在内部根因表中进行根因匹配,匹配过程如下图所示,需要通过框架提供的相关接口,查找对应err_code的上游执行器和数据源,再通过反馈回来的执行器和数据源与故障列表中的故障进行匹配,若匹配成功,则说明当前被识别的故障在故障列表中存在上游故障,因此当前被识别的故障非根因,应该从故障列表中将其删除。[W,7]
在正常行驶中,车辆的刹停由control模块输出,并经仲裁模块转发,can_sender模块翻译为线控命令最终实现控车。当系统出现异常时,故障诊断模块发出紧急刹车指令,同时通知control模块。仲裁模块保证紧急刹车指令被最高优响应,减少时延。control模块被通知处于紧急刹车状态后,也做出对应的处理(内部状态机流转)。[W,8]
Supervisor实现进程级的失效保护,为主进程(avp-pavaro eda)失效或者SOC整体失效提供保护。MCU监听『supervisor心跳为supervisor失效』或『soc死机心跳消失』后的进行刹车和流转状态,并进行故障处理(重启SOC)。[W,9]
对可恢复故障采取有效恢复措施。恢复措施包括:对执行器进行reset操作、重启执行器所在线程、重启Pavaro进程、重启Soc等。[W,10]