一种对智能驾驶车辆进行集成化测试的方法
技术领域
本发明属于智能车测试领域,具体涉及一种用于智能车的集成化测试方法的设计。
背景技术
随着消费者对车辆安全的理解和需求不断提升,智能车技术的开发与应用也就成了汽车企业市场竞争力的重要筹码,能够让更多汽车搭载更加有效减少伤亡、提高效率的智能系统,也就更具有现实和普世意义。此时,除了研究智能车的新功能和算法之外,保证智能车在行驶环境中的可靠与安全已成为其开发最大的难点。只有通过完善的智能车测试与评价技术,才能够尽早在研发阶段发现问题,挖掘隐藏的功能缺陷及不合理之处,才能够保证智能车应用的功能完备性和有效性,从而保证产品在炙手可热的市场中的核心竞争力。
传统车主要以实车测试为主,实车测试必然会带来较大的风险。同时,国家相关法律法规以及测试标准还没有出台,针对特定场景的危险工况测试,也没有切实可行的解决方案。
现有的一些ECU仿真测试在不同的仿真阶段使用的数据不同,导致最后测试结果没有可比较性,从而无法很好地验证控制器功能与性能,可能会在车辆实际的驾驶过程中不能保证安全可靠性。同时,在智能车不同的ECU仿真测试中使用不同的数据,在提高成本的同时,也使得智能车不同的ECU之间的协调性差,导致智能车测试评价效果较差。
发明内容
本发明所要解决的问题是提供一种对智能驾驶车辆进行集成化测试的方法,使得在智能车单个ECU的项目开发过程中共用基于相同测试场景的不同仿真技术,从而很好地验证控制器功能与性能,保证车辆实际的驾驶过程中的安全性和可靠性。同时,在智能车不同的ECU仿真测试中使用相同的数据,在降低成本的同时,也使得智能车不同的ECU之间的协调性好,提高了智能车测试评价的准确性。
本发明一种对智能驾驶车辆进行集成化测试的方法,其具体步骤为:
①、针对智能车控制策略和算法实现虚拟测试场景下的模型在环仿真测试;
②、针对由模型生成或手写的代码实现虚拟测试场景下的软件在环仿真测试;
③、将模型代码下载到目标硬件实现虚拟测试场景下的硬件在环仿真测试;
④、将控制器安装到智能车上实现虚拟测试场景下的车辆在环仿真测试;
⑤、将控制器安装到智能车上实现真实场景下的实车测试;
步骤①-④中的测试场景为复用同一个虚拟测试场景;
每一种测试方法均要接受来自测试系统定义的测试用例作为信号输入,并收集相关评价指标参数,与功能定义指标参数对比,以评价策略/算法的控制效果。
进一步地,所述模型在环仿真测试的步骤是:在虚拟环境场景下,传感器模型将场景数据传输到控制策略和算法模型,控制策略和算法模型基于被控车辆动力学模型计算控制输出,从而使虚拟的车辆在虚拟环境场景下动作。
进一步地,所述模型在环仿真测试是基于MATLAB/Simulink设计模型,再辅以虚拟环境场景;在这个集成层次上,该技术主要基于MATLAB软件环境对算法进行快速简单的调试和优化;该阶段主要验证智能车策略和算法以及模型级别的集成测试。
进一步地,所述软件在环仿真测试的步骤是:在与模型在环仿真测试中同样的虚拟环境场景下,传感器模型将场景数据传输到模型代码中,模型代码将处理过的数据传输到车辆动力学模型,从而使虚拟的车辆在虚拟环境场景下动作。
进一步地,所述软件在环仿真测试的主要目的就是验证基于模型生成的代码或手写的代码与步骤①中的模型功能是否一致;该阶段可以复用步骤①所使用的虚拟环境场景,可实现对生成或手写的代码的早期确认;如果测试过程中发现代码问题时,可以很快定义到具体是哪个模型的问题。
进一步地,所述硬件在环仿真测试的步骤是:在与模型在环仿真测试中同样的虚拟环境场景下,传感器模型将场景数据传输到控制器,控制器计算处理传感器数据,并将处理过的数据传输到车辆动力学模型,从而使虚拟的车辆在虚拟环境场景下动作。
进一步地,所述硬件在环仿真测试是以控制器运行仿真模型来模拟被控对象的运行状态,通过I/O接口与被测的ECU连接,对被测ECU进行全方面的、系统的测试;该阶段可以复用步骤①中所使用的虚拟环境场景。
进一步地,所述车辆在环仿真测试的步骤是:一辆真实行驶的智能车通过仿真软件虚拟仿真环境中相应的虚拟传感器探测到前方虚拟目标(车辆或行人);将探测到的障碍物信息通过CAN报文发出,同时实车的传感器接收并传递至实车ECU之中,并由ECU进一步评估外部环境情况从而决定相应的控制策略。
进一步地,所述车辆在环仿真测试是一种被应用于智能车进行复杂功能测试和验证工作时,为了在相同时间内而减少测试工作量的一种新型仿真测试技术;不仅具备虚拟驾驶的优势,同时还通过在虚拟交通环境中集成真实车辆的方式来整合仿真技术的优势;考虑真实的车辆动力学响应,并允许亲自体验功能,可用于驾驶员与系统交互行为的评估。该阶段可以复用步骤①中所使用的虚拟环境场景。
进一步地,所述真实场景中的实车测试在功能定义的场景中进行;在测试车辆中安装已开发的系统,并在闭环中设置执行组件(制动器、方向盘和发动机控制);大多数情况下,所进行的测试作为系统进一步修改的依据;在此阶段中记录的数据可能会在所有提交的方案中用作仿真的输入。
简单地说,在测试验证开始时,模型在环仿真测试将被用于验证智能车ECU控制策略和算法以及模型级别的集成测试。此后,从模型中自动生成或手动的ECU代码将被软件在环仿真测试使用。这一步在不需要ECU硬件的情况下为软件的实现带来更高的信心。在这个层次,可以复用模型在环仿真测试的功能测试场景来验证ECU的其他功能。最后,将软件下载到目标硬件,并使用硬件在环技术来验证该软件行为是否与在模型在环和软件在环测试中观察到的相同。车辆在环仿真测试克服已知的传统实车道路试验的局限性,即通过整合虚拟仿真技术与常规道路试验的方法来实现。考虑真实的车辆动力学影响,并允许亲自体验功能,用于驾驶员与系统交互行为的评估。实车闭环测试是集成级别的最终验证,作为系统进一步修改的依据,收集测试数据用作仿真输入。
在各层次仿真上,ECU的运行环境可以是虚拟或仿真重构的(也就是说,在测试中记录驾驶员、车辆、交通状况和环境交互所产生的测试场景数据,然后在虚拟环境中再现)。仿真可以是开环(没有环境反馈)或是闭环(有环境反馈)。实车闭环测试可以被认为是集成级别的最终验证。
本发明的优点是:1、在ECU的模型、软件、硬件及车辆在环仿真测试的每个仿真级别上都复用了虚拟场景数据,还包括实时仿真,从而保证了测试结果的可比较性,从而验证计算模型,如果有问题可以及时修改。同时,很好地验证控制器功能与性能,保证车辆实际的驾驶过程中的安全性和可靠性。2、在智能车不同的ECU仿真测试中复用了虚拟或仿真重构的数据,在降低成本的同时,也保证了不同的ECU之间的协调性,提高了智能车测试评价的准确性。3、在多核计算集群上执行仿真时,可以减少仿真时间。
总之,本发明减少了实车路试的次数,缩短开发时间和降低成本的同时提高ECU的软件质量,降低智能车开发厂家的风险。
附图说明
图1是本发明测试方法的示意图;
图2是模型在环仿真测试步骤的示意图;
图3是软件在环仿真测试步骤的示意图;
图4是硬件在环仿真测试步骤的示意图;
图5是车辆保持控制系统在环仿真测试步骤的示意图;
图6是车辆在环仿真测试步骤的示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。
本发明一种对智能驾驶车辆进行集成化测试的方法,其具体步骤为:
①、针对智能车控制策略或算法实现虚拟测试场景下的模型在环仿真测试;
②、针对由模型生成或手写的代码实现虚拟测试场景下的软件在环仿真测试;
③、将模型代码下载到目标硬件实现虚拟测试场景下的硬件在环仿真测试;
④、将控制器安装到智能车上实现虚拟测试场景下的车辆在环仿真测试;
⑤、将控制器安装到智能车上实现真实场景下的实车测试;
步骤①-④中的测试场景为复用同一个虚拟测试场景;
每一种测试方法均要接受来自测试系统定义的测试用例作为信号输入,并收集相关评价指标参数,与功能定义指标参数对比,以评价策略/算法的控制效果。
在进行集成化测试前,需要先构建一个测试场景,测试场景可以是基于所采集的真实驾驶数据重构的虚拟测试场景,也可以是基于测试标准、测试人员经验或极端测试需求通过虚拟软件搭建的虚拟测试场景。因此可以看出,本发明测试方法最依赖的就是数据。为了保证测试结果的准确性,需要大量的数据。
测试场景用到的数据采集和验证的具体步骤是:
(1)数据的采集
数据来源有两个部分:一、人类驾驶或自动驾驶过程中基于车载传感器采集的真实驾驶数据,这些数据不仅包括位置和速度的信息,而且包含信息的分类(汽车、行人等)、类型(迎面而来的、正在消失的、静止不动的、移动的等等),数据的置信度,等等;二、原始的数据也可以基于仿真软件虚拟生成。例如,Dspace/ASM Traffic的MotionDesk是支持虚拟道路场景生成的商业软件工具之一。该软件允许用户定义虚拟现实,包括虚拟现实环境下可以定义的目标:车辆、建筑物、道路、天气和各种障碍,以及他们的行为。
(2)数据存储
收集的数据需要大量的存储资源。由于单个文件很大,所以复制它们并在PC上进行操作非常不方便。因此,需要利用计算集群设备来处理大量的数据,几乎所有数据的操作都可以在集群上完成,用以太网进行通信。
(3)数据的处理与验证
驾驶测试中收集的数据需要验证。通常是手动完成,通过查看日志并选出算法给出的不同于预期结果的情况。然而,手动完成非常耗时,可以设计一个自动完成这些筛选的方法。这不仅节省分析的时间,而且还可以将日志分类为特定的类别。如:高速工况、城市工况、有行人或骑自行车的人等,并分类登记。从而,将来可快速地从感兴趣的类别中选择日志,然后快速验证所有的更改。
步骤1:模型在环仿真测试
模型在环(Model-in-the-loop-MIL)仿真测试的主要目的是验证智能车策略和算法模型的功能实现情况以及模型级别的确定。
其测试步骤是:在虚拟环境场景下,传感器模型将场景数据传输到控制策略和算法模型,控制策略和算法模型基于被控车辆动力学模型计算控制输出,从而使虚拟的车辆在虚拟环境场景下动作。
模型在环仿真测试基于MATLAB/Simulink的控制策略和算法模型,再辅以虚拟环境场景。在这个集成层次上,该技术允许使用一个众所周知的MATLAB软件环境对控制策略和算法进行快速简单的调试和优化。基于模型的设计方法可进行孤立组件的快速开发。从系统工程的角度来看,它促进了客户需求定义,因为它提供了项目早期阶段展示和修改预期行为的能力。
步骤2:软件在环仿真测试
软件在环(Model-in-the-loop-MIL)仿真测试的主要目的是验证基于模型生成的模型代码与用于代码生成的模型功能是否一致。
其测试步骤是:在与模型在环仿真测试中同样的虚拟环境场景下,传感器模型将场景数据传输到模型代码中,模型代码将处理过的数据传输到车辆动力学模型,从而使虚拟的车辆在虚拟环境场景下动作。此步骤中的代码是基于步骤1中的控制策略和算法模型生成的代码或者手写的代码。
该阶段复用了步骤1中所使用的虚拟环境场景,可实现对生成的代码或手写的代码的早期确认。如果测试过程中发现代码问题时,可以很快定义到具体是哪个模型的问题,从而进行相关的处理。
步骤3:硬件在环仿真测试
硬件在环(Hardware-in-the-loop-HIL)仿真测试的主要目的是验证控制策略和算法的硬件适应性和实时性效果。
其测试步骤是:在与模型在环仿真测试中同样的虚拟环境场景下,传感器模型将场景数据传输到控制器,控制器计算处理传感器数据,并将处理过的数据传输到车辆动力学模型,从而使虚拟的车辆在虚拟环境场景下动作。步骤2中的模型代码被编译并下载到目标控制器硬件中。
该阶段是以控制器运行仿真模型来模拟被控对象的运行状态,通过I/O接口与被测的ECU连接,对被测ECU进行全方面的、系统的测试。
该阶段复用步骤1中所使用的虚拟环境场景,除了降低成本之外,另一个优点是能够创建测试人员想要的特定场景以测试模型。从安全性、可行性和成本上考虑,硬件在环仿真测试已经成为ECU开发流程中非常重要的一环,减少了实车路试的次数,缩短开发时间和降低成本的同时提高ECU的软件质量,降低智能车开发厂家的风险。
通过HIL可以在“虚拟车辆”中对控制器进行大量测试,而无需真实的车辆。HIL测试系统可模拟驾驶员、车辆及其工作环境,因而是自动测试电子控制系统(ECU)的一种理想实验室工具。这种测试手段的好处在于:可将测试过程从试验台架中分离;可进行极限或危险条件下的ECU测试,而不会对测试人员或车辆造成危害;便于模拟被控对象的各种工况和输入信号间的各种状态组合关系;快速模拟/重现复杂的故障模式,在ECU开发的前期阶段便可识别复杂故障的根源;可实现多ECU集成测试;可实现全天候的自动化测试,自动测试比手动测试覆盖的范围更广泛;易于维护和扩展测试能力;缩短开发周期,节省开发成本。
下面以一个具体的车道保持控制系统(LKA)为例,对硬件在环仿真测试进行详细的说明:
建立虚拟测试场景,通过VGA将图像传送到显示器中,利用真实的摄像头获得场景的图像并传输给LKA的控制器,控制器计算处理图像信息,输出方向盘转角、车速等指令,并通过CAN总线输出到车辆动力学模型,使虚拟的车辆通过驾驶员模型在虚拟场景中进行相关的动作。同时,虚拟场景将模拟的路径反馈给驾驶员模型,驾驶员模型将方向盘转角、车速等数据反馈给车辆动力学模型、控制器,为控制器提供反馈,实现闭环测试。
步骤4:车辆在环仿真测试
车辆在环(Vehicle-in-the-loop-VIL)仿真测试的目的是验证真实动力学特性下的功能实现。
车辆在环仿真测试是一种被应用于智能车进行复杂功能测试和验证工作时,为了在相同时间内减少测试工作量的一种新型仿真测试技术。它不仅具备虚拟驾驶的优势,同时还通过在虚拟交通环境中集成真实车辆的方式来整合仿真技术的优势。
VIL技术克服已知的传统实车道路试验的局限性,即通过整合虚拟仿真技术与常规道路试验的方法来实现。为此,一辆真车将被“嵌入”至一个虚拟交通环境中(包含交通场景、交通标志、道路等等)并且可以在一个空旷的户外场地进行测试。在真实外部环境和仿真软件(ASM/PreScan/CarMaker/CarSim)的虚拟环境之间建立一种链接,实现以下测试步骤:
一辆真实行驶的智能车通过仿真软件虚拟仿真环境中相应的虚拟传感器探测到前方虚拟目标(车辆或行人);将探测到的障碍物信息通过CAN报文发出,同时实车的传感器接收并传递至实车ECU之中,并由ECU进一步评估外部环境情况从而决定相应的控制策略。此步骤中的车辆已经安装了步骤3中的控制器。这里的仿真场景中的场景信息通过传感器模型将目标信息传递到控制器中,同时虚拟测试场景传送到显示器中,利用真实的摄像头获得场景的图像并将目标信息传递到控制器中,控制器发出加速、制动、转向等指令,智能车按照指令进行相应动作。驾驶员可以选择不同的场景反复地做此项测试。
该项技术具有以下优势:真实的车辆动力学响应,允许亲自体验功能;较少的设备及硬件投入;可用于驾驶员与系统交互行为的评估。
上述每一步仿真测试均要接受来自测试系统定义的测试用例作为信号输入,并收集相关评价指标参数,与功能定义指标参数对比,以评价策略/算法的控制效果。
步骤5:实车闭环测试
作为智能车控制策略和算法开发测试的最后一步,真实场景中的集成测试在功能定义的场景中进行。在测试车辆中安装已开发的系统,并在闭环中设置执行组件(制动器、方向盘和发动机控制)。演示场景要求测试车辆执行诸如调整速度、自动制动等操作。作为对定位的验证方法,需要对自车和目标对象参考定位系统进行准确实时的绝对坐标、速度和加速度数据的记录。从定位系统获得的数据用于测试后处理的对标测试和性能验证。演示功能测试用例通常依照NCAP或NHTSA设置。大多数情况下,所进行的测试作为系统进一步修改的依据。在此阶段中记录的数据可能会在所有提交的方案中用作仿真的输入。此步骤可以是在所有的ECU均完成了上述4个仿真测试后,然后集中安装在测试车辆后进行,也可以每个ECU单独进行这个步骤。
下面以车道保持控制系统(LKA)为例,对实车闭环测试进行详细的说明:
测试车辆基于Drive PX 2自动驾驶样车平台:1)具备LKA系统功能;2)包括:两台Driver PX2计算平台,一台用作环境感知计算处理,一台用作运动控制计算处理;NVIDIA摄像头,获取车道信息;3)定位系统:GPS接收和发射设备、NoVtel固定基站和SPAN-CPT实现差分定位;4)数据采集系统:笔记本电脑运行数据采集和分析程序、CANalst-Ⅱ进行数据传输。
其测试过程:1、基线采集;2、样车处于LKA系统工作状态;3、运行数据采集系统,收集样车行驶坐标及车速、转角等信息;4、数据离线处理得到行驶轨迹;5、将样车LKA的行驶轨迹与基线轨迹对比,评价样车的LKA功能和性能。
在实车闭环测试中,测试过程中摄像头同时记录行驶场景,此场景可以作为步骤①-④中重构场景的源,用以扩充重构的虚拟场景。