Page 170 - 《软件学报》2026年第1期
P. 170

任睿晗 等: 面向整车系统的自动驾驶安全测试研究综述                                                       167


                 指标衡量测试充分性. 基本思想是, 如果能够测试自动驾驶系统面对所有类型环境下的全部决策行为, 即可认为其
                 设计和功能是完善的. 由于自动驾驶项目代码量庞大, 因此指向软件内部的代码覆盖率不再适用. 研究人员结合测
                 试场景多样性和自动驾驶系统行为, 提出了新的覆盖率度量, 指导测试场景生成, 全面充分测试自动驾驶系统. 本
                 节根据覆盖率度量将文献分为驾驶决策              [65–67] 和环境要素  [68–71] 两类. 表  2  总结了该分类下工作的覆盖方法.

                                              表 2 测试充分性分类下的工作对比

                   文献        分类                             覆盖方法                                ADS
                   [65]                       添加不同位置的静态NPC使行驶路线覆盖更多区块                          Apollo
                   [66]    驾驶决策                   计算抽象轨迹间的距离衡量轨迹相似度                            Apollo
                   [67]                   根据原始参数及其突变体的执行结果判断影响决策的参数集                         Autonomoose
                   [68]                 将交汇处划分成不同路径类型, 并通过添加静态NPC测试路径规划                        Apollo
                   [69]               将交汇处分类并为每类的代表生成场景, 测试系统对动态NPC的反应能力                       Apollo
                           环境要素
                   [70]                对天气、道路和自车行为这3类输入进行组合测试, 覆盖所有抽象场景                        Apollo
                   [71]                  通过可达性分析确定车辆的物理交互区域, 并用向量集抽象表达                       BeamNG.AI

                  4.2.1    驾驶决策
                    本分类的目标是覆盖所有类型的驾驶决策, 测试自动驾驶系统在不同场景下的分析和处理能力. 驾驶决策包
                 括了变道、超车、转弯等行为, 一段时间内决策的组合形成轨迹. 当前研究通常使用环境参数和系统参数两种因
                 素影响驾驶决策, 如图      9  所示.


                                                             环境参数
                                                   驾驶决策                静态障碍物
                                                             系统参数      动态障碍物
                                         测试充分性
                                                             道路结构       道路拓扑
                                                   环境要素                 天气
                                                             对象组合
                                                        覆盖度量           场景参数
                                                    图 9 测试充分性分类

                    一些研究方案通过环境参数影响驾驶决策. 驾驶环境包括地图上的静态障碍物和动态障碍物, 自动驾驶系统
                 与其交互, 做出对应的决策. 当改变环境参数时, 自车的行驶轨迹会发生变化, 即每一时刻的决策会动态变化. 例
                 如, ASF  [65] 使用模糊测试变异  NPC  在测试场景中的位置, 以挑战自车的规划能力, 通过计算自车轨迹经过的区块
                 与全部区块的比值得到轨迹覆盖率, 引导产生更复杂的驾驶行为. 实验结果表明, 与随机模糊测试器和                               AV-Fuzzer
                 相比, 该工作能够覆盖更多区块. 但是, 其覆盖率度量的精度受限于区块面积, 难以实现细粒度的决策覆盖. 因此,
                 研究人员提出通过比较抽象轨迹判断决策的覆盖程度. 例如, BehAVExplor                  [66] 计算了同一时间尺度内两个抽象轨
                 迹的汉明距离, 以此衡量轨迹间的相似度, 从而将没有造成违规但差异较大的轨迹保留在种子集合中, 保证自车决
                 策的多样性, 最终检测到       16  种独特的违规行为.
                    除此之外, 部分研究方案通过系统参数影响驾驶决策. 自动驾驶系统的参数与决策行为密切相关, 决定了其激
                 进与保守程度. 例如, 自车与其他车辆应当保持的最小距离, 自车在交叉路口范围内的速度限制等. Laurent 等人                           [67]
                 提出参数覆盖率, 对比规划器中的原始参数及其突变体的执行结果, 根据车辆轨迹、轨迹的安全性和舒适性指标
                 的差距, 分析参数与决策的对应关系. 通过覆盖参数集, 验证自动驾驶系统的所有驾驶决策.
                  4.2.2    环境要素
                    本分类的目标是覆盖所有类型的环境要素. 环境中的对象包括天气、道路结构、障碍物等, 将其排列组合并
                 实例化后, 场景数量呈几何级增长. 因此, 必须将所有输入对象分析归纳为抽象类型, 用少量的场景近似全部场景
                 空间. 根据测试的输入对象, 可以将该类工作分为道路结构和对象组合两类, 如图                       9  所示.
                    一些研究人员关注覆盖地图中所有交汇处的道路结构, 随后迭代生成关键场景. 例如, CROUTE                          [68] 将地图建模
   165   166   167   168   169   170   171   172   173   174   175