Simulation is essential to validate autonomous driving systems. However, a simple simulation, even for an extremely high number of simulated miles or hours, is not sufficient. We need well-founded criteria showing that simulation does indeed cover a large fraction of the relevant real-world situations. In addition, the validation must concern not only incidents, but also the detection of any type of potentially dangerous situation, such as traffic violations. We investigate a rigorous simulation and testing-based validation method for autonomous driving systems that integrates an existing industrial simulator and a formally defined testing environment. The environment includes a scenario generator that drives the simulation process and a monitor that checks at runtime the observed behavior of the system against a set of system properties to be validated. The validation method consists in extracting from the simulator a semantic model of the simulated system including a metric graph, which is a mathematical model of the environment in which the vehicles of the system evolve. The monitor can verify properties formalized in a first-order linear temporal logic and provide diagnostics explaining their non satisfaction. Instead of exploring the system behavior randomly as many simulators do, we propose a method to systematically generate sets of scenarios that cover potentially risky situations, especially for different types of junctions where specific traffic rules must be respected. We show that the systematic exploration of risky situations has uncovered many flaws in the real simulator that would have been very difficult to discover by a random exploration process.
翻译:模拟是验证自动驾驶系统的关键。 但是, 简单的模拟, 即使是极多的模拟里程或时数, 也是不够的。 我们需要有充分依据的标准, 表明模拟确实覆盖了相当一部分相关的现实世界情况。 此外, 验证不仅必须涉及事故, 还必须涉及检测任何类型的潜在危险情况, 如交通违规。 我们调查一个严格的模拟和测试验证方法, 用于整合现有工业模拟器和正式定义的测试环境的自动驾驶系统。 环境包括一个驱动模拟进程的假想生成器, 以及一个监测器, 在运行时对系统观察到的一套要验证的系统属性进行检查。 验证方法包括从模拟器中提取一个模拟系统的静态模型, 包括一个计量图, 这是系统车辆演进的环境的数学模型。 监视器可以验证在一阶线性时间逻辑和正式定义的测试环境中所规范的特性。 环境包括一个模拟过程和监视器, 而不是像许多模拟器那样随机地探索系统的行为, 在运行过程中对系统观察到的系统行为进行检查, 我们建议一种方法, 系统化的勘探规则必须系统地展示各种风险的风险评估, 。