Game engines are increasingly used as simulation platforms by the autonomous vehicle (AV) community to develop vehicle control systems and test environments. A key requirement for simulation-based development and verification is determinism, since a deterministic process will always produce the same output given the same initial conditions and event history. Thus, in a deterministic simulation environment, tests are rendered repeatable and yield simulation results that are trustworthy and straightforward to debug. However, game engines are seldom deterministic. This paper reviews and identifies the potential causes of non-deterministic behaviours in game engines. A case study using CARLA, an open-source autonomous driving simulation environment powered by Unreal Engine, is presented to highlight its inherent shortcomings in providing sufficient precision in experimental results. Different configurations and utilisations of the software and hardware are explored to determine an operational domain where the simulation precision is sufficiently low i.e.\ variance between repeated executions becomes negligible for development and testing work. Finally, a method of a general nature is proposed, that can be used to find the domains of permissible variance in game engine simulations for any given system configuration.
翻译:自动飞行器(AV)社区越来越多地将游戏引擎用作模拟平台,以开发车辆控制系统和测试环境。模拟开发与核查的一个关键要求是确定性,因为根据相同的初始条件和事件历史,确定性过程总是产生相同的产出。因此,在确定性模拟环境中,测试可以重复并产生可信赖和直截了当的模拟结果。然而,游戏引擎很少具有确定性。本文审查并查明了游戏引擎中非决定性行为的潜在原因。利用由非实时引擎驱动的开放源自主驱动模拟环境CARLA进行案例研究,以突出其在提供足够精确的实验结果方面的内在缺陷。对软件和硬件的不同配置和用途进行了探讨,以确定一个模拟精确度相当低的操作领域,即:重复处决之间的差异对于开发和测试工作来说是微不足道的。最后,提出了一种一般性质的方法,可以用来查找任何特定系统配置的游戏引擎模拟中可允许的差异领域。