危害识别与分类是安全工程和验证的核心。危害可分为三种不同类别:
由于自动驾驶车辆(AV)系统内部限制或出现故障导致的危害。这些危害已经被写入了ISO 26262标准中。
由于驾驶员的误用导致的危害。我们将故意的误用视为安保问题,因此这不属于安全标准范畴。无意误用属于安全标准范畴,但误用的性质决定了适用哪种安全标准。
来自静态或动态环境对象的危险。动态对象包括其他交通参与者,例如车辆、行人等。静态对象包括地图上有或没有的对象。地图对象包括,例如,道路几何形状、道路标记和指示器、减速带、停车震动带等。地图未标注的的静态对象包括掉落在道路上的树木和坑洼、临时道路指示器,例如工作区等。
根据预期功能安全(SOTIF)标准,系统故障和非故意误用被视作内部危害,而故意误用和环境对象被视作外部危害。然而,外部因素也可能导致无意误用。例如,当遇到交通状况或紧急情况等无法避免的外部因素,需要放置临时的地理限制,由于这类的地理限制而造成的无意误用,也在我们的考虑范围之内。还要考虑由于意外的天气因素或意外的全球定位系统信号失联造成的无意误用。这些例子引发了一个不同的误用类别。因此,应该为误用提供一个单独的分类以同时考虑内部和外部因素。
风险评估
我们将 ISO 26262 从业人员正在使用的风险评估方法扩展,扩展至可包含多个车辆。根据 ISO 26262 的方法论,风险是通过危害的严重程度(S)、暴露程度(E)和可控制性(C)来评估的。在实际中,S值可以限于财产损失或伤害或死亡;伤害的相对频率见图7。
图7 伤害类型的相对频率
严重程度E的值可以是0 < E < 1,代表危害发生的概率。C的值可以是0 < C < 1,由此C = 1表示车辆无法避免危害(例如,一定会发生碰撞),C = 0表示总是能避免危害(例如,总是撞不上)。用这个方法,危害根据其严重性进行分组。将每组的危害表示为,对应的风险针对每个危害 都有,其中公式为:
与危害代表单一车辆故障的ISO 26262不同,评估自主驾驶相关的残余风险需要考虑在特定情况下有多辆车辆存在的危害。
示例1: 为了说明不同的类别,考虑从表30中获得的数据,基于2010年MAIS和KABACO的数据,如图7所示,我们观察到少于2%的撞车事故会导致致命伤害,即致命危害,几乎一半仅导致财产损失即中的危害。剩下的一半是与多重伤害相关的,即。
对于不相交的危害 的集合,可以将整体相关的残余风险估计为各个残余风险的总和。但是,当危害叠加时,则需要评估其严重性、暴露程度和可控性。为了简单起见,可以合理地假定叠加危害的严重程度等于其每个组件的最大严重程度。将表示为可能叠加的危害,每种严重类型(“财产损害”、“伤害”、“死亡”)的总体残余风险是:
给定个危害集中有个子集,指数复杂性使式计算变得不切实际。因此有必要提出一个不需要明确考虑所有可能子集的有效评估。
风险边界
在,且 和 均在0~1之间的情况下,显然,。因此,如果我们需要知道上限,最有效的方法就是获得或的上限。我们假设危害是不可避免的,使用进一步简化了叠加风险的范围,用中所有危害的联合概率来定义叠加风险,即
这种简化可以通过估计中任何风险子集发生相关的概率密度来限制风险。更严格地说,对于每一个单独的危害,其总风险的边界为独立发生的概率与其与的任何其他子集叠加的概率之和,即:
为了避免考虑不可能叠加的危害组合,可以将划分为个簇,使得在不同的簇中叠加危害的概率很低,即:
对于这些簇,计算残余风险的复杂度与簇数成线性关系,但近似的随簇的大小而呈指数下降:
通过对叠加危害的条件概率和因果关系建模,例如使用概率因果模型,可以使界限更加严格。而贝叶斯推理的多项式复杂性则可以通过将集群映射到bucket并应用销项处理。
危害动态视图
危害动态序列旨在通过最大限度地延长其发生时间(TTM),来为可预防的危害,指定避免的方法。根据这一动态序列,自动驾驶系统需要随时持续监测多个潜在危害,评估危害的TTM,对于最紧迫的严重危害,我们还要采取措施推迟(或通过无限期推迟来避免)这些危害的发生时间。
定义1:危害的发生时间(TTM)指发生危害时的预计时间间隔。
实例2:碰撞时间(TTC)度量标准表示在假设速度和方向不变的情况下发生车祸前的持续时间。人们已经证明TTC是区分危急行为和正常行为、以及识别危险情况的有效指标。当TTC低于最低阈值时,我们便认为不安全。自动驾驶系统应该持续评估TTC,并且选择措施来使之最大化。
依照算法1的规定,具有动态危害的安全驾驶将持续扫描环境,评估可预见的危害的TTM,并且对最紧迫的严重危害应用这一措施,以增加TTM。
输入:危害集合
输入:危害严重程度
输入:可能措施
从属性:Function 读取传感器数据。
从属性:Function 估计当前情况 。
从属性:Function 在给定情况 下估计危害 的TTM
从属性:Function 模拟将措施 应用到情况的结果。
从属性:Function 应用措施A的动作函数 。
从属性:Function 确定TTMs的代价,代表严重程度。
算法1:动态回路的驾驶危害
实例3:考虑上文班车剐蹭实例。根据算法1,班车的自动驾驶系统应该通过选择=“倒车”将即将发生的TTM最大化。
通过观察情况 ,我们可以对算法1进行系统验证和安全监控,TTM对控制重复指令的每一次迭代估计 、 和 。
避免明确的规则编码,同时使用危害动态序列、隐含的连续TTM估计、行动选择来启用危害避免验证。
危害建模
本文提到的方法,关键点在于模拟分析解耦,就是将TTM估值误差的测量与基于其含义的模拟分析解耦,具体如图8所示。我们训练感知和融合模型来识别危害,从本质上扩展图9a描述的基本对象事件检测响应(OEDR)框架。因此,横跨多个传感器的目标跟踪和融合是如图9b所示的动态危害识别和TTM估值管通道的中间步骤,它可调用深度神经网络(DNN)予以实现。与之类似,如图10所示,我们可以通过向场景感知逻辑中添加危害分析步骤来扩展SOTIF时间序列(图3)。
图8 验证动态环境危害驾驶。
图9 用危害分析扩展对象事件检测响应(OEDR)
图10 用危害扩展预期功能安全(SOTIF)时间序列。
通过比较TTM估值与真值,并且使用回归方法估计分布参数(如图9c所示),我们可以标定测试轨迹数据。随后,算法1在仿真注入故障时对该分布进行采样,并且为所有危害类型提供统一的合理化影响分析。
1)限制的建模
我们将建好的系统故障建模方法扩展至针对动态危害的TTM误差建模。一些建好的方法沿着驾驶重复指令管道对从属性和数据路径建模,并且正式确定每个组件的输入规范。随后,我们使用AIAG的FMECA、FMEA、FTA等,可以分析这些规范的偏差。我们建议将系统界定为包含场景中的所有交通参与方,以此来扩展这些方法,并且通过对场景中的所有交通参与方进行建模,开展FMECA和FTA。这包括对所有交通参与方的潜在行为展开建模。
FMECA和FTA分析应该针对适用场景展开所有交通参与方建模。
实例4:例如,我们考虑使用ADAS定速巡航用例,该系统在此的任务是与前车保持安全距离。接受建模的系统包括自动驾驶车辆外加受到跟踪的前车。通过测量自动驾驶车辆和前车之间的相对距离和速度,定速巡航可以十分有效地使用TTC测量值。如图11所示,为了理解传感器的能力和限制,我们可以将测得的相对距离X测得建模为真值X和误差的和。与之类似,测得的相对速度是真值V和误差的和。测得的TTC为:
该模型的优点是可以根据从物理测试读数获得的真值以及使用经仿真合成的场景图像来测得误差e及其分布。我们可以训练一个深度神经网络(DNN)估值器,同时用仿真图像来测量与前车的距离,以此来开展此类实验。我们在晴天图像上训练估值器(即回归量),并且测量了在晴天图像、黄昏图像、雪天图像上的误差。其结果如图12所示,表明DNN估值器误差为正态分布。如图13所示,结果是TTC误差按照两个正态分布比值分布,得到经参数化7的柯西分布:
。
图11 简单高级驾驶辅助系统(ADAS)碰撞时间(TTC)误差模型。
图12 简单高级驾驶辅助系统误差测量
图13 碰撞时间(TTC)柯西误差分布
最重要的是,我们观察到黄昏和雪天图像的估值误差x是偏移的,0>5m。这意味着不安全的过度估值,因为基于TTC的防撞制动触发时间会比没有此类误差的情况更晚。
验证动态危害驾驶重复指令应着重测量TTM估值误差的分布与真值,以及随后使用仿真来评估这种误差分布的影响,如图8所示。
2)误用的建模
只有无意误用才适用于安全标准,而故意误用被视作一项安保问题。无意误用主要分为两类:
在车辆运行设计域(ODD)之外的使用。避免此类误用需要自动检测ODD以外的情况,并且将这种检测结果通知操作员。
对临时限制的不恰当反应。例如,由于事故导致漏油或其他不可预见的事件。避免这种误用需要我们对计划外的限制开展建模并与操作员展开沟通。
在任何情况下,针对即将发生的错用开展的沟通必须为操作员留出合理的时间和选项作出反应以及避免进一步误用。这通常需要启动程序一段时间,例如20秒。一旦开展适当沟通,任何后续误用均为有意误用,因此超出安全标准范畴。请注意,下文第三章针对偷拍标签和偷拍说明描述的分析适用于这一情况。
对ODD检测制定要求,处理临时限制和隐含的沟通,以防止无意误用。
误用危害与TTM有关,后者可以在动态危害重复指令中得到估计。例如,20秒的TTM与给人类驾驶员的第一个交接通知相关。正如TTC估值,这种估值中的误差可通过比较真值来测量。这样的测量应该量化误差P(εTTM)的分布,使仿真中的影响评估能够获得各种结果的相对频率和置信度。
验证误用风险应着重测量TTM估值误差与真值,以及随后使用仿真来评估这种误差的影响,如图8所示。
3)环境危害的建模
为了简化和统一广泛的环境危害建模,我们测量道路上不同位置的TTM误差,并且使用仿真来传播影响。这种方法将测量TTM误差分布的挑战从验证任务中解耦,如图8所示。由于道路条件的建模误差和限制,这一测量方法是将传感器放置在道路上的不同位置,记录其相对距离和速度估值,然后应用参数回归估计TTM误差分布的均值和方差。
实例5:例如,我们考虑在进入隧道时为双向道路开展TTC建模。图15给出了隧道TTC比例模型说明。浅橙色圆圈代表TTC估值的置信区间,预计TTC估值会出现在圆圈中心。在进入该隧道之前,TTC估值十分准确,用小半径圆来描述。进入隧道后,光照条件发生变化,导致TTC估值错误率增加。当辆车轨迹处于最大角度时,误差率最高。在隧道内失去GPS信号导致合并危害,以增加的圆圈尺度来建模自动驾驶车辆移动到隧道更深处。
有必要训练感知算法来估计TTM。随后,有必要测量从物理测试轨迹测试中获得的估值误差与真值的位置相关分布。
建模偏差和方差
TTM误差估值方法需要测量危害类型的平均值(=偏差)和置信区间(=尺度)。尽管测量和指定道路上所有可能位置的置信区间不切实际,但对特定的网格点进行测量却很合理。图15中TTM误差分布图使用圆心来描述测量点,以圆心为原点的箭头表示误差均值(=偏差),半径表示测得的误差标准差的2倍(是置信区间的一半)。随后,在仿真过程中通过对指定的最近网格点进行线性插值来估计特定位置x,y的TTM置信区间。
图14 线性插值
图15 简单高级驾驶辅助系统(ADAS)碰撞时间(TTC)隧道误差模型
插值如何发挥作用:对于单个尺度,我们要求在点上可以获得标准偏差的测量值,如图14a所示。对于任意点 ,估计的值需要分两步:
步骤1:找到 , 使
步骤2:根据下式计算:
求出,我们得到:
同样模式也适用于估计的平均值。将这种方法推广到大于二维的场景,我们得到双线性和三线性插值,它们能够估计已知网格点上的测量数据在未知点处的平均值和置信区间,如图14b所示。图14c描述了测得的网格点之间的全双线性插值。
使用TTM参数的简单分布模型来估计测量位置之间的误差。
使用一个简单的误差分布均值和方差参数模型,促使代理模型发展,量化可接受的误差率。
合并危害建模
鲜有单一危害导致事故或功能故障。因此,对多重合并危害发生时的影响开展建模便至关重要。一旦合并危害的TTM最大值全部合并,合并效应便会成为现实。
实例6:我们考虑两种危害:(1)在隧道中丢失GPS信号;(2)一段湿滑路段。丢失GPS信号和湿滑路段分别会产生发生合并危害的最大TTM。当局可以在隧道内放置湿滑路面警示牌。
问题:如何对合并危害进行建模?
潜在不失效条件导致的故障
潜在条件是未经筹划的“突发”潜在行为,1967年,阿波罗1号太空舱起火事件,潜在条件最初就是通过阿波罗计划发现的。根据《阿波罗潜电路分析手册》,“潜在通路通常被称为与部件故障无关的系统故障或异常。研究发现,这种潜在通路具有明显的分类特征.
人们从太空舱火灾中吸取了教训,便开始对实际发生的潜在条件开展系统研究。停在地面上的一架B-52轰炸机意外发射了一枚导弹;一架B-52轰炸机意外投射了导弹;一架商务飞机在飞行过程中失去电力并且耗尽电池,而机组人员毫无反应;一名电力工人在断电电线上工作时触电身亡,这些都在人们的研究范围内。
所有这些事件均不存在任何组件失效。举个“神秘时间”为例,水压传感器激活自动喷淋系统,进而触发了火灾报警。若冲厕次数足够多,便会产生触发警报所需的压降。
20世纪90年代,MartynThomas报道了一起著名的汽车潜在事件:“打开收音机,踩下刹车踏板,同时打开后窗,安全气囊便会开启。”
2016年4月,一辆自动驾驶的庞巴迪圣保罗单轨列车发生了一起险些相撞的事故,当时一列火车出发后,发现火车的车门是敞开的。操作人员实施干预,用紧急停止按钮按停了列车。潜在计时分析发现,列车自动控制系统(ATC)以任意方式发出错误的开门命令,导致车门开启。
如今,我们知道潜在事件是普遍存在的。美国航空工业协会(AIAA)S-102.2.5-2019标准要求追踪所有影响结果的路径,前提是所有组件均正常运行。潜在事件的特征如下所示:
由引入意料之外的路径,如布线、油管、软件界面、操作人员动作、仪表、机械联锁等其他特定组或条件(如时间不兼容)所致。
导致从间歇性妨害到系统彻底损失或死亡等意料之外的系统影响。
AIAA标准包含四种潜在条件:
潜在路径:电流、能量、逻辑序列在意料之外的方向上流动的意外路径。
潜在计时:以意想不到或冲突顺序发生的事件。
潜在指示:系统运行条件显示模糊或错误,可能导致系统或操作员采取不希望存在的操作。
潜在标记:不正确的系统功能标记,可能导致操作错误。
表一给出了AIAA潜在通路标准规定的总体成熟度等级。为了实现高可靠性,最高成熟度级别需要用置信界限来量化潜在通路状态发生的概率。无论使用手工、半自动化还是自动化方法开展分析,其先决条件是采集、处理、评估详细系统设计信息。这一分析应该是:
成熟要求 | |
水平1: | 识别硬件潜在路径和时间 |
水平2: | 识别软件潜行路径和时间 指定每个级别的严重程度分类处置 对安全、任务、可靠性、维护、监控至关重要 |
水平3: | 然后,指定关键指标 然后,确定具体情况 对每个条件应用FMECA/危害分析。 |
水平4: | 用置信界限量化条件发生概率。 |
表一 美国科学俱乐部联合会(SCA)美国航空工业协会(AIAA)S-102.2.5-2019国家标准
该标准适用于整个系统,而非预先选定的组件子集。此类预先选择通常会沿着相同边界将系统划分开来,从而无法让系统设计师看清潜在条件。被排除的组件可能具有关键的潜行效应。
我们建议,将AIAA潜在通路标准作为SOTIF建议做法的一部分。
传统潜在件分析使用函数操作符来分解系统并且将一个地形列表与一个“线索地形”列表进行匹配。对于每项匹配,我们均要测试一个详尽的组合列表,以此来识别出一个不希望出现的结果。
此类分析不适用利用AI组件的系统,因为这些组件无法提取地形。这些方法必须加以扩展,以P(scenario)倾斜代替地形线索,以发现P(crash | scenario)的危害和剩余风险分布模式。具体而言,我们需要确定这些模式在自动驾驶汽车版本演变的过程中具体的变化方式。
问题:如何将潜在条件分析扩展至支持带有AI组件的系统?