“ 本系列尝试从是什么、为什么、用什么测、怎么测和谁来测等方面来介绍什么是自动驾驶虚拟仿真测试。这是第二篇。”
01
仿真测试是汽车工程师的自然需求
仿真测试其实在结构开发领域早已广泛应用。如果说验证一个螺栓强度还可以翻手册、使用公式计算,那么对于一些复杂的零件的强度校核和结构优化,就要借助仿真手段,这就是CAE(Computer Aided Engineering)。比如下图中对零件的应力分布计算。CAE手段的使用有效减少了样件的数量,缩短了试验时间,节省了开发成本。
这些好处主要是零部件结构开发部门所享有,算法和控制器的开发部门自然很是羡慕。
我们可不可以在算法开发阶段就进行测试发现一些低级错误?
可不可以在办公室就能对算法和控制器进行测试,而不是每个版本的新程序都要到实车上测试、在寒冬酷暑的室外调试很久?
可不可以在计算机上对真实世界中危险或不易实现的场景进行测试?
可不可以在解决完bug或算法升版后,对之前的测试场景方便的进行重复测试?
欣慰的是,这些需求仿真测试都可以满足。
02
仿真测试是汽车开发流程的必然要求
V模型是广泛在软件开发和测试中使用流程,如下图所示:
V模型要求在开发团队进行不同阶段开发的同时,测试团队编制对应的测试用例,并在开发阶段完成后立即进行测试。这就要求在集成测试、系统测试等暂无完整产品样件的情况下,就开始进行测试。
另外,有数据表明,在汽车电控系统的开发过程中,越早发现问题则修正问题的成本越低。在开发的早期,就建立起测试验证的手段,快速高效的发现和解决开发过程中的问题,可以有效减低开发成本、提高开发效率。
而在开发的早期进行测试,在暂无完整产品样件的情况下进行测试,就需要仿真手段提供测试环境。
03
仿真测试是自动驾驶开发的必经之路
自动驾驶汽车是一个新生事物,消费者对其安全性还不够信任。那么,自动驾驶汽车的安全性达到什么水平才能被消费者接受呢?其安全水平不低于人类驾驶员,应该是一个最起码的要求。
根据RAND公司一份名为《Driving to Safety》的报告,要证明自动驾驶汽车相比于人类驾驶员能够减少20%交通事故死亡率,需要进行约80亿公里的公共道路测试,假设由100辆车组成的车队每年365天每天24小时不间歇的以40km/h的平均速度进行测试,大概需要225年。
这个测试时间显然是不现实的。就要求在实车测试之外,寻求其他的方法,大幅缩短测试时间。
在虚拟环境下进行大规模的仿真测试,成为了必须选择的方法。下图所示的waymo公司的CarCraft仿真平台中,有25000台仿真车辆同时进行测试,每天总计可进行1200万公里的测试。按照这个速度,完成上面提到的80亿公里的测试,仅需要2年。