一文读懂自动驾驶系统模拟仿真测试

作者:北斗(10年智能座舱及导航娱乐系统开发管理经验、3年自动驾驶产品化经验、5年自动驾驶模拟仿真测试环境构建经验)


伴随自动驾驶技术的不断发展,搭载自动驾驶系统的车辆也越来越多的出现在整车销售市场上。自动驾驶技术日益成熟,对人们的驾乘体验产生了巨大影响,无论从安全性、舒适性上,都有了不同程度的改善。

为了让自动驾驶系统表现出更好的功能与性能水平,在自动驾驶系统开发过程中,系统级模拟仿真测试是必不可少,而且是至关重要的。如果说自动驾驶系统是汽车发展史上一块金子,那么自动驾驶系统模拟仿真测试就是试金石。

本文对自动驾驶系统模拟仿真测试方法及流程进行介绍,完整梳理自动驾驶系统模拟仿真测试中要点,并从设计开发层面进行分析说明。

■自动驾驶系统模拟仿真测试:做什么(What?)

自动驾驶模拟仿真测试是基于模拟仿真测试场景构建的模拟仿真环境,运用有效的测试用例,对被测自动驾驶系统或系统组件(感知单元、决策单元、执行单元),进行参数量化及效果确认的测试验证方法。模拟仿真测试具备真实性、安全性、准确性等方面特点,已逐渐成为了自动驾驶汽车产业研发过程中不可或缺的一部。

图片
图1  自动驾驶系统三大系统组件

在自动驾驶系统开发流程中,主要测试包括:功能测试、模型在环 (MIL)、软件在环(SIL)、硬件在环(HIL)、车辆在环(VIL),实车道路测试等。测试涵盖组件等级、系统等级以及产品产级,贯彻整个自动驾驶系统研发过程,而且各测试对开发的影响是相互联系的,测试对象也是逐步升级,环环相扣密不可分的。其中大部分测试都涉及到模拟仿真测试的应用。

■自动驾驶系统模拟仿真测试:为什么做(Why?)

自动驾驶汽车的发展对汽车产业发展起到了颠覆性的影响作用。随着自动驾驶技术的发展日趋成熟,市场对自动驾驶产品的期望也越来越高。这些需求给自动驾驶技术的发展提供动力的同时,也给自动驾驶产业带来的更高要求。无论是可靠性、安全性,还是实用性、舒适性,都需要自动驾驶产品研发团队进行全面准确的测试。

■自动驾驶系统模拟仿真测试:谁去做(Who?)

目前在自动驾驶汽车产业链中,涉及到产品系统测试的环节有很多,针对于使用者需求,对模拟仿真测试的应用角度和实施侧重点也存在差异。

图片
图2  自动驾驶汽车产业链概要图

自动驾驶系统研发团队

首先是自动驾驶系统研发团队,主要应用于系统研发阶段的设计开发测试验证。这个应用场景是模拟仿真测试应用最全面、最多样的,基于研发测试需求,对测试用例进行针对性配置,以及反复的测试实施与调整应用。

自动驾驶汽车整车制造厂家

其次是自动驾驶汽车整车生产厂家,主要应用于整车量产阶段的整车级功能及性能验证,这个使用场景主要测试的是系统的功能效果,对自动驾驶系统与车辆进行匹配性验证,同时也会应用到一些特定场景环境下,评估环境对整体自动驾驶系统的影响作用效果,如整车级EMC试验等。

自动驾驶车辆相关检测检验机构

最后是车辆相关检测检验机构,主要应用于从法规要求角度出发的产品级测试验证实验。这个应用场景更侧重于在已发布法规的标准测试用例条件下,进行部分明确要求的指标参数及功能效果的确认。对测试系统的配置要求基本固化,同时对系统环境的测试覆盖范围要求较高。

■自动驾驶系统模拟仿真测试:什么时候去做(When?)

前文提及,自动驾驶系统模拟仿真测试涵盖组件等级、系统等级以及产品产级,贯彻整个自动驾驶系统研发过程,其主要实施测试时间点有如下几个方面。

自动驾驶系统功能效果确认

自动驾驶系统由感知、决策、执行三大部分构成,自动驾驶系统的开发其实可以看做针对这三大组件的系统集成开发。所有的设计开发都需要进行开发结果的确认,在这个时候,模拟仿真测试就可以得到切实的应用,这样是其最基础的应用。

自动驾驶系统不良问题解析

自动驾驶系统在开发过程中会遇到各种各样的问题,在不良问题解析的过程中,一个可以反复稳定再现问题场景的环境,无疑会对问题解析和对策起到决定性作用。在场景稳定再现的应用需求方面,模拟仿真测试系统具备着先天优势,由于其场景是人工构建而成,场景中的要素可配置,更可以按照需求反复稳定的重复再现,直到找出问题发生规律及真正原因。

■自动驾驶系统模拟仿真测试:何处做(Where?)

自动驾驶系统模拟仿真测试的实施是基于虚拟场景,所以其测试场所也不需要在真是道路中,更不需要真实的道路要素,比如行人、目标车辆等。因此测试的实施地点,仅仅需要满足测试系统以及被测物可以被放置的空间要求即可,当然为了确保测试免受外界影响,应选择相对封闭的室内空间。其实在模拟仿真测试系统应用中,很多测试系统都半永久的,甚至是临时构建的可移动便携系统,这也恰恰体现了模拟仿真测试的便利性特点。

■自动驾驶系统模拟仿真测试:怎样做(How?)

自动驾驶汽车量产开发V模型开发流程,已经被行业深度认可。V模型开发流程及方法也被广泛应用在整车开发过程中。自动驾驶系统模拟仿真测试同样是基于V模型开发流程基础上实现的闭环测试方式,整个开发流程的每个环节步骤都有模拟仿真测试测应用。

图片图3  自动驾驶模拟仿真测试在V模型开发流程中的应用

自动驾驶系统的开发是基于产品需求和系统规划进行的,在明确的需求基础上开展顶层设计以及模块化设计,进而完成初步整体系统设计开发。系统初步设计开发完成后,系统的测试验证工作需要基于开发流程进行逐级测试验证。这些验证就包含了多种测试方法,主要包括:模型在环 (MIL)、软件在环(SIL)、硬件在环(HIL)、车辆在环(VIL)等在环测试。

模型在环测试(MIL)

模型在环(MIL), Model in the loop,针对各种系统涉及的模块算法组件,在模型开发环境下进行模拟仿真验证,同时通过针对性的测试用例,对模块组件模型的功能需求,进行设计符合性验证。在自动驾驶系统测试过程中,验证控制算法模型是否准确地实现了功能需求是必要测试内容之一,而MIL是所有测试方式中最关键的。在测试应用中软件工程师可以使用Simlink等开发环境进行验证实施。

软件在环测试(SIL)

软件在环(SIL),Software in the loop,是出于对代码自身正确性及生成过程中影响因素的考虑,我们针对已开发的算法自动生成的代码,与算法模型的一致性进行验证。这就是SIL,是一种等效性测试。测试的目的是验证代码与控制模型在所有功能上是否完全一致。SIL的基本原则一般是使用与MIL完全相同的测试用例输入,将MIL的测试输出结果与SIL的测试输出结果进行对比,确认结果之间差异是否在许容差异范围内。为了测试的高效性,有时甚至不接入被控对象模型,而是直接对算法模型和生成代码进行相同的输入,查看输出是否一致。

硬件在环测试(HIL)

硬件在环(HIL),Hardware in the loop,是一个快速控制原型(RCP)的逆过程。基于真实的控制器硬件组件,搭配运行开发环境中的模拟被控对象,使其受控制于真实的控制器硬件组件,以此对控制器进行在环测试。提及HIL就不得不提及快速控制原型(RCP),RCP实际上是基于PC的硬件资源,应用模拟仿真开发环境,虚拟了一个原型控制器,在这个虚拟控制器中运行Simulink控制算法,并使用真实的被控对象进行验证,实现控制算法的快速开发。

整车在环测试(VIL)

整车在环(VIL),Vehicle in the loop,VIL是将被测的自动驾驶系统搭载到真实车辆中,对自动驾驶系统架构中不同的感知单元,进行针对性感知模拟,配合实时模拟仿真控制,并基于模拟仿真交通场景,构建的一种系统级闭环测试系统平台。测试系统可实现整车搭载状态下的,多种ADAS功能验证。系统基于多种复杂交通场景进行虚拟测试,实现真实系统、真实车辆状态下的系统级测试验证。

■ 总结

自动驾驶系统模拟仿真测试是基于产品测试需求,结合模拟仿真测试技术应用的测试手段。其根本目的是为了准确有效的把握被测系统的功能性能现状,通过持续验证改善对策,提升自动驾驶系统的功能覆盖面和性能参数指标,所以。随之自动驾驶技术的发展,自动驾驶系统模拟仿真测试方法及流程也会随之更新迭代,并逐渐形成自动驾驶产品研发流程与自动驾驶测试方法手段的动态发展平衡,从而进一步促进自动驾驶产业更好的向前发展。