编者按:针对安全性的测试与验证是自动驾驶汽车技术发展的关键环节,亟需系统的、能够覆盖预期功能安全的自动驾驶汽车安全分析方法,为测试验证工作提供输入。同济大学智能汽车研究所团队在自动驾驶汽车安全性研究中,围绕预期功能安全主题,结合现有标准,开展了包括危险识别、风险评估和安全策略设计在内的研究工作。本文即介绍了前期研究中所提出的自动驾驶汽车安全分析方法,该方法符合ISO 26262标准中规定的概念阶段安全分析流程,基于系统理论过程分析(STPA)方法,从控制的角度展开分析,覆盖功能安全和预期功能安全问题,并应用于某自动驾驶车辆上进行了安全分析,提出了安全要求。
本文发表于《汽车技术》2019年第12期。
作者:同济大学智能汽车研究所:陈君毅,周堂瑞,邢星宇,熊璐。
摘要:基于系统理论过程分析(STPA)方法,在现有道路车辆功能安全标准框架下,提出一种面向自动驾驶汽车的安全分析方法,该方法同时适用于分析功能安全和预期功能安全的问题,从系统角度出发,将安全问题视为控制问题,找到系统控制过程中存在的潜在危险,并结合原因分析,最终提出功能安全要求。利用该方法对某开发阶段的SAE L3级自动驾驶汽车进行安全分析,提出了相应的功能安全要求,并验证了所提方法的可行性和有效性。
1、前言
安全性分析与验证是汽车开发过程中的重要环节。依据危险来源的不同,自动驾驶汽车的安全问题可分为功能安全、预期功能安全和信息安全。国际标准化组织(International Organization for Standardization,ISO)颁布的ISO 26262《道路车辆功能安全》为汽车全生命周期内的功能安全设计提供了指导。2019年初公布的ISO/PAS21448《道路车辆预期功能安全》则补充了自动驾驶系统的安全设计指导。
Nancy Leveson于2011年提出基于系统理论的系统理论过程分析(Systems-Theoretic Process Analysis,STPA)方法,将安全视为控制问题,目标是识别出那些可能导致危险发生的不充分的控制,通过安全约束使风险降低到可接受的程度。近年来,研究人员开始尝试应用STPA对自动驾驶汽车进行安全分析,初步验证了STPA方法用于自动驾驶汽车安全分析的可行性。然而现有研究分析对象多为某一系统或功能较为单一的低级别自动驾驶汽车,对于复杂的SAE L3级及以上的自动驾驶汽车,STPA进行安全分析的适用性还有待验证。
基于以上背景,本文提出一种在现有标准框架下,基于STPA的自动驾驶汽车安全分析方法,并在某SAE L3级自动驾驶汽车上进行了应用实践。
2、基于STPA的安全分析方法
STPA分析从具体事故出发,推导得到系统级安全约束,即为避免或减轻危险带来的伤害,对系统行为安全性提出的要求。从控制结构识别不安全控制行为是该方法的核心。本文提出基于STPA的自动驾驶汽车安全分析方法,具体流程如图1所示。
图1 基于STPA的安全分析方法
该方法分为3个流程,共7个步骤,各步骤具体任务为:
- 第1步:相关项定义,明确分析对象的具体功能及其运行场景,作为后续工作的基础。
- 第2~6步:危害分析和风险评估,首先基于已有信息,建立系统控制结构,梳理各功能的控制行为;其次,基于一定的输入条件,识别不安全控制行为;然后,将不安全控制行为与具体运行场景相结合,得到整车级危险事件,并利用标准中汽车安全完整性等级(Automotive Safety Integration Level,ASIL)对每项危险事件从暴露率、严重度和可控性3个角度进行评估,得到风险较高的危险事件;最后,为避免以上危险事件,提出整车级安全目标。
- 第7步:功能安全概念推导,为实现整车级安全目标,提出功能安全要求。将要求分为a,b两部分,首先分析各种不安全控制行为的原因,然后结合各功能的安全目标,得到具体的针对子系统或软、硬件的功能安全要求。
3、自动驾驶汽车安全分析
将本文提出的自动驾驶车辆安全分析方法应用于某SAE L3级自动驾驶车辆。
3.1 明确功能及运行场景
本文所分析的自动驾驶汽车分为有人驾驶和自动驾驶两种模式,全程配备驾驶员。基于设计目标,明确车辆自动驾驶模式下的功能和对应场景要素如表1所示。
表1 车辆自动驾驶模式下功能及运行场景
3.2 建立整车系统控制结构
基于以上具体功能,建立车辆控制结构,如图2所示。
图2 所分析自动驾驶汽车控制结构
建立系统控制结构后,结合具体控制信息,可得到车辆各功能的ICU具体控制行为及相应的输入、输出,结果如表2所示。
表2 所分析自动驾驶汽车各功能ICU控制行为及对应输入输出
3.3 识别不安全控制行为
针对以上各具体控制行为,分析识别不安全控制行为。不安全控制行为基本分类如表3所示。分为需要被控时不提供控制U1,不需要被控时提供控制U2,以及被控对象需要控制时提供控制时的3类不安全控制行为:错误的控制提供时间U3、错误的控制持续时间U4和错误的控制信号U5。
表3 不安全控制行为分类
3.4 识别危险事件
系统的不安全控制行为将会导致车辆非预期行为,在特定运行场景下导致危险事件。由图2可知,ICU依据环境传感器、定位系统等的具体输入决定其控制行为,而这些系统的输入即对应一定的环境条件。依据表2中各控制行为触发输入条件,可以得到具体运行场景,结合各功能不安全控制行为,进而得到整车级危险事件。
开发团队对该车在多种工况下进行了共100余次测试,测试过程中由自动驾驶系统导致的危险共出现26次。通过分析危险发生场景及系统状态,26次危险事件对应5类不安全控制行为的比例如图3所示。
图3 测试过程中各类不安全控制行为对应危险事件占比
以车辆避障功能为例,分析得到5类不安全控制行为对应危险事件如表4所示。
表4 不安全控制行为对应危险事件
结合具体测试结果,对应危险事件H4,测试中出现车辆检测到障碍物并成功开始避障绕行后,由于失去障碍物信息而直接规划路径回原车道行驶,导致与障碍物碰撞的情况。而对于危险事件H5,测试中出现车辆在遇纸箱等大型障碍物进行避障时与障碍物发生剐蹭的情况。以上结果验证了危险事件分析的合理性和有效性。
3.5 对危险事件进行风险评估
依据ISO 26262,采用ASIL对每项危险事件从暴露率、严重度和可控性角度进行评估,据此可以筛选出风险大、必须采取措施避免或控制的危险事件。
由于车辆在运行过程中,行人、障碍物和其他车辆出现的可能性都较高,各项危险事件在这些场景下均有可能导致事故,故所有事件的暴露率评级均取最高E4;由于车辆自动驾驶时设计速度慢(自动驾驶模式下行驶速度不超过20 km/h),即使发生事故,也不会对相关人员造成较严重伤害,故各项危险事件严重度最高为S1;同样由于车辆速度慢,且车上有驾驶员随时观察周围环境和车辆状态,危险事件发生后驾驶员有较长反应时间来采取措施,故各项危险事件可控性最高为C2。由此,各项危险事件ASIL评级最高为A级,可认为整体安全风险较低。
注:本文风险评估以实现完整的安全分析为目的,仍采用传统的基于专家评价的评估方法。后续将开展面向自动驾驶汽车的量化风险评估方法研究。
3.6 得到安全目标
为了避免或减轻车辆危险事件造成事故或伤害,提出对应的整车级安全目标。本文将安全目标表述为某一功能的目的,即在某一条件下,车辆应该实现的对应功能,并达到一定效果,具体安全目标举例见表5。
3.7 提出功能安全要求
为实现以上安全目标,本文提出通过结合对不安全控制行为的原因分析得到具体的功能安全要求。依据各引发原因,可以提出更加有针对性的功能安全要求。本文以表2中避障功能为例,针对ICU避障功能控制行为,具体展示以上各步骤的分析结果,如表5所示。
表5 避障功能安全分析
基于分析所得不安全控制行为及其原因,提出ICU避障功能相关功能安全要求如下:
- 足够的硬件配置和计算资源,ICU运行环境适宜,且有充足、稳定的供电;
- 实时检测车辆前方一定距离,有且仅有在有障碍物且GPS信号稳定情况下,及时规划并执行绕行避障,转弯绕行时确保车辆与障碍物有足够距离;
- 避障过程中实时检测并保持车辆与障碍物的安全距离,完全绕过障碍物后车辆才可回到原车道行驶;
- GPS信号不稳定时,不得规划执行避障操作,且需提醒驾驶员;
- 实时监测传感器、ICU输出信号,以及ICU运行环境和电池电量,异常时提醒驾驶员并主动控制车辆减速停车。
综合系统各功能分析中不安全控制行为的原因可以发现,由于ICU是集成在开发平台上的单一硬件,其失效导致的危险事件在现有缺少监控模块的系统结构下是难避免。因此,本文还提出了对各传感器和ICU输出信号以及ICU运行环境实时监测的功能安全要求。同时,新增系统管理模块实时接收分析各输入、输出信号状态,确保当ICU或传感器输出异常时,直接控制车辆减速停车,提醒驾驶员并尝试重启驾驶脑。以上新增模块及其相应输入、输出如图4所示,基于此可对所分析车辆控制结构进行改进。
图4 新增模块及相应输入输出
在识别危险事件的过程中还可以发现,由于车辆各功能涉及的运行场景可能出现重复的情况,为避免某一场景下多功能触发引起危险,还需考虑多种功能的优先级问题。
汇总所有分析结果,本文共提出3方面功能安全要求:
- 硬件功能安全要求:ICU应有足够的硬件配置、适宜的运行环境并稳固安装;ICU应有充足且稳定的供电。
- 软件功能安全要求:仅在规定区域、条件下启动某一功能;减速停车有最高优先级;保障各行驶模式下与路沿、车道线、轨迹点的距离和误差以及避障模式下与障碍物的安全距离;实时显示GPS信号状态,并在GPS信号弱时提醒驾驶员。
- 新增监测和系统管理模块:实时监控各传感器和ICU的输出,异常情况及时提醒驾驶员并控制车辆减速停车;实时监控ICU运行温度,异常情况提醒驾驶员并控制车辆减速停车,同时尝试重启驾驶脑;实时监控车辆状态,包括电池电量,电量低于20%时及时提醒驾驶员。
4、结语
本文提出一种结合STPA方法与现有安全标准流程的自动驾驶汽车安全分析方法,基于不安全控制行为识别危险事件,进而推导得到功能安全要求。该方法在L3级自动驾驶汽车上的应用实践表明,其可以同时分析功能安全和预期功能安全问题,提出包括硬件、软件和系统模块改进等3方面功能安全要求,验证了该方法进行高等级自动驾驶汽车安全分析的可行性和有效性。后续研究将针对该方法面向功能切换和过渡过程中的安全风险进行扩展。
后续研究计划:在本文基础上,针对STPA方法无法体现完整车辆状态的问题,团队进一步对其进行了扩展,提出了结合状态机的STPA方法,从而更系统地识别危险事件,并进行了实车试验。后续还将围绕预期功能安全主题,展开以下三方面的研究工作:
- 在系统局限性方面,开展基于试验的传感器影响因素分析方法,基于ODD的传感器性能局限测试用例生成方法,和基于场景分析的决策规划系统功能局限测试用例生成方法研究工作;
- 在危险识别方面,开展自动化迭代的自动驾驶汽车危险识别方法研究工作;
- 在风险评估方面,开展以可控性为主的面向自动驾驶汽车的危险事件量化风险评估方法的研究工作。
联系人:李老师
电话:021-69589225
邮箱:11666104@tongji.edu.cn