王凤娇 宗 岩 靳志刚 张苏林
(中汽数据(天津)有限公司,天津300000)
随着自动驾驶的等级增加与功能丰富,传统的测试方法与工具不能满足自动驾驶测试的要求,使自动驾驶测试工作进度缓慢。基于场景的仿真测试手段在测试效率、成本、覆盖率等方面的优势,且通过仿真覆盖实车不能实现的边缘场景,可以在仿真环境下尽早发现实车测试不易识别的软件故障,仿真测试将逐步成为实车测试的前提条件与当前研究热点。
自动驾驶仿真场景是在设计的作用域范围内,可从驾驶能力/功能特征、物理环境、交通参与者行为、评价准则等相关因素进行考量。自动驾驶场景测试分为静态与动态两类,场景设计可遵循Open X 系列标准进行设计。静态场景通常包括道路设施、交通附属设施、周边环境等;动态场景通常包括交通管理控制、机动车、行人与非机动车等[1]。
场景应用是ISO 26262 标准的整个开发过程中以得到各中间产物,在不同阶段建立并描述满足一致性要求场景,将场景划分为三个抽象级别:概念设计阶段的功能场景、系统开发阶段的逻辑场景和测试验证阶段的具体场景[4]。
以AEB 为例,功能场景依赖于功能需求描述详细程度。AEB功能描述:在规定范围内,由感知系统识别本车前方可能会发生碰撞的目标,当系统计算出本车在阈值区间会和前方目标发生碰撞时,系统提供制动辅助,避免碰撞发生或减缓碰撞强度。
车辆道路行驶需要描述道路的几何结构和拓扑结构、与其他交通参与者的交互等,还可根据排列组合方式罗列主车与交通参与者的位置与相对运动趋势进行设计,排除不合理场景来保证场景覆盖性。表1 为在一个城市道路的功能场景:主车行驶在城市道路右侧车道上,前方有行人横穿马路。
表2 为从表1 所示的功能场景中衍生出的逻辑场景。功能场景术语表中的每一项都必须分配一个描述该术语的参数,有时可能需要多个参数来描述单个术语。在示例中,车道都是通过车道宽度来描述,几何结构是由一个半径来表示,行人由其与主车相对位置来描述。
表1 AEB 功能场景实例
表2 AEB 逻辑场景实例
表3 AEB 具体场景实例
表4 AEB 误触发场景
表3 为表2 中的逻辑场景中得出的一个具体场景。逻辑场景到具体场景的转化其实是每个参数都从指定的参数范围内确定一个具体的参数值,从而确定一个特定的测试条件。参数确定从基于需求、等价类划分、边界值、错误猜想等功能安全测试用例设计方法进行考虑。
只有具体场景才能转化为测试用例,但测试用例需要增加被测试对象的预期行为及相关测试需求,而被测试对象的预期行为和需求时根据功能场景和逻辑场景得出,故测试用例的设计离不开功能安全不同阶段的功能场景、逻辑场景、具体场景。
SOTIF 强调的是避免因为预期的功能表现局限而导致不合理的风险。智能系统涉及到的算法/功能具有非预测行为,通过应用SOTIF 以及分析环境场景,识别和评估场景并触发事件,设计人员不需要额外的操作,就可以完成“智能场景感知”系统的设计。“功能表现局限”体现在三个方面:传感器感知局限导致场景识别错误、深度学习不够导致决策算法判断场景错误、执行器功能局限导致与理想目标偏差。故在识别危险事件时,要从预期功能和合理可预见的误操作等“功能表现局限”角度验证和确认SOTIF 相关场景。
若在正常情况下AEB 被触发,反而会导致驾驶体验感差、后车追尾等危险。故针对AEB 误触发进行的设计验证是AEB开发工作的重要环节,表4 列举了常见的误触发场景。
误触发场景按照“功能表现局限”进行识别,然后按照功能场景、逻辑场景、具体场景进行具设计,最终形成误触发测试用例,进一步补充功能安全中的故障注入、错误猜想等方面用例。此外,还可以根据常见的交通事故及人为误操作来丰富测试用例并进行分类。
通过“实时道路仿真场景VS 误操作”的组合,从功能安全和预期功能安全角度出发,生成可能会导致的危险事件,分析这些危险事件的模型,将有助于推倒出危险发生的可能性,以及测试智能驾驶辅助系统的行为,从根本上避免潜在的危险。
基于驾驶模拟技术成功实现了车路协同应用系统的再现与仿真测试,通过构造虚拟路侧传感器、虚拟车车通信系统,构建试验车辆与背景车辆的交互场景,形成了面向人因的车路协同应用系统实验测试仿真一般性方法。但是基于场景的自动驾驶仿真测试还处于初级阶段,未来还需要大力突破拟的仿真场景与实际路况融合数据库的创建、自动驾驶仿真测试标准及工具链等核心技术,建立自动驾驶的仿真测试的架构体系,为智能产业发展保驾护航[3]。