一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种汽车智能驾驶自动化仿真测试方法及装置与流程

2021-12-17 18:27:00 来源:中国专利 TAG:


1.本发明涉及智能驾驶技术领域,更具体地说,涉及一种汽车智能驾驶自动化仿真测试方法及装置。


背景技术:

2.adas(advanced driver assistance system,高级驾驶辅助系统)利用安装于车辆上的多种传感器设备、决策运算设备以及高性能的线控执行器,在行车过程中感知周围环境,并根据车辆状态与行车意图进行系统的运算和分析,为驾驶员提供危险预警、紧急干预、驾驶辅助等方面的帮助,大幅提升了驾驶员的行车安全性和乘坐舒适性。由此,各大主机厂以及零部件供应商都在积极研发相关adas产品,市场需求也在快速增长。
3.adas功能的复杂性也决定了其对于测试验证手段更高的要求。由于adas功能场景众多、功能复杂、安全性要求高,为了全面地测试adas功能逻辑与运行性能,需要进行大量的试验验证,而仿真测试则是测试验证中的重要一环。通过运用虚拟仿真技术对adas软件进行测试,便于在产品开发初期对功能进行验证,可以有效缩减开发周期与成本;而且利用计算机虚拟仿真可以快速进行大量的验证,节省了开发时间便于快速迭代;同时某些极限工况整车试验难以完成,而仿真验证技术可以很容易实现,因此相关虚拟仿真验证技术对于adas功能开发来说是不可或缺的。
4.在现有技术中,由于智能驾驶场景元素种类繁多测试用例编写繁琐复杂,测试人员需要自己手动编写测试用例、手动搭建仿真场景,工作量大耗费时间长,测试过程中只能逐条手动测试,并且需要测试人员手动打开各个仿真软件,整个测试过程中从用例编写、仿真场景搭建到进行测试如果有一环出错都会导致测试无法顺利进行。


技术实现要素:

5.有鉴于此,为解决上述问题,本发明提供一种汽车智能驾驶自动化仿真测试方法及装置,技术方案如下:
6.一种汽车智能驾驶自动化仿真测试方法,所述方法包括:
7.生成测试用例库,所述测试用例库中包含批量生成的多个测试用例,所述测试用例是以元素阵列的方式分析特征要素所生成的;
8.搭建测试场景库,所述测试场景库中包含所述测试用例的测试场景,所述测试场景是通过读取测试场景要素所搭建的;
9.配置测试项目,所述配置项目包含所配置的测试用例;
10.将所配置的测试用例输入到待测试的智能驾驶算法中,并通过预定义的车辆仿真模型运行在相应测试场景下的响应来获得测试结果,所述车辆仿真模型的输入为所述智能驾驶算法的输出。
11.优选的,所述将所配置的测试用例输入到待测试的智能驾驶算法中,并通过预定义的车辆仿真模型运行在相应测试场景下的响应来获得测试结果,包括:
12.生成所配置的测试用例的测试条目队列,所述测试条目队列中的一个条目为所配置的一个测试用例;
13.判断所述测试条目队列的首条目是否为空;
14.如果不为空,将所述首条目输入至所述智能驾驶算法中,并在所述车辆仿真模型运行在相应测试场景的过程中,通过监控所述首条目的运行状态处理所述首条目的故障,直到获得测试结果;
15.将所述首条目对应的测试结果存储至第一指定位置;
16.将所述首条目移出所述测试条目,并返回执行所述判断所述测试条目队列的首条目是否为空;
17.如果为空,生成表征所述测试项目测试结束的信息。
18.优选的,所述方法还包括:
19.基于所述第一指定位置处、所配置的测试用例对应的测试结果,生成测试报告。
20.优选的,所述基于所述第一指定位置处、所配置的测试用例对应的测试结果,生成测试报告,包括:
21.如果监测到所述首条目对应的测试结果被存储至所述第一指定位置处,在所述第一指定位置处读取所述首条目对应的测试结果;
22.对所述首条目对应的测试结果进行绘图,并进行量化评价;
23.将所述首条目对应的绘图结果和量化评价结果存储至第二指定位置处;
24.如果监测到所生成的表征所述测试项目测试结束的信息,将所述第二指定位置处、所配置的测试用例对应的绘图结果和量化评价结果逐页写入文档中。
25.优选的,所述方法还包括:
26.生成所述测试项目的测试信息概览,以及所配置的测试用例的索引目录;
27.将所述测试信息概览和所述索引目录写入所述文档中。
28.一种汽车智能驾驶自动化仿真测试装置,所述装置包括:
29.测试用例自动化生成模块,用于生成测试用例库,所述测试用例库中包含批量生成的多个测试用例,所述测试用例是以元素阵列的方式分析特征要素所生成的;
30.测试场景自动化搭建模块,用于搭建测试场景库,所述测试场景库中包含所述测试用例的测试场景,所述测试场景是通过读取测试场景要素所搭建的;
31.图形化用户接口,用于配置测试项目,所述配置项目包含所配置的测试用例;
32.自动测试流程控制模块,将所配置的测试用例输入到待测试的智能驾驶算法中,并通过预定义的车辆仿真模型运行在相应测试场景下的响应来获得测试结果,所述车辆仿真模型的输入为所述智能驾驶算法的输出。
33.优选的,所述自动测试流程控制模块,具体用于:
34.生成所配置的测试用例的测试条目队列,所述测试条目队列中的一个条目为所配置的一个测试用例;判断所述测试条目队列的首条目是否为空;如果不为空,将所述首条目输入至所述智能驾驶算法中,并在所述车辆仿真模型运行在相应测试场景的过程中,通过监控所述首条目的运行状态处理所述首条目的故障,直到获得测试结果;将所述首条目对应的测试结果存储至第一指定位置;将所述首条目移出所述测试条目,并返回执行所述判断所述测试条目队列的首条目是否为空;如果为空,生成表征所述测试项目测试结束的信
息。
35.优选的,所述装置还包括:
36.测试报告自动生成模块,用于基于所述第一指定位置处、所配置的测试用例对应的测试结果,生成测试报告。
37.优选的,所述测试报告自动生成模块,具体用于:
38.如果监测到所述首条目对应的测试结果被存储至所述第一指定位置处,在所述第一指定位置处读取所述首条目对应的测试结果;对所述首条目对应的测试结果进行绘图,并进行量化评价;将所述首条目对应的绘图结果和量化评价结果存储至第二指定位置处;如果监测到所生成的表征所述测试项目测试结束的信息,将所述第二指定位置处、所配置的测试用例对应的绘图结果和量化评价结果逐页写入文档中。
39.优选的,所述测试报告自动生成模块,还用于:
40.生成所述测试项目的测试信息概览,以及所配置的测试用例的索引目录;将所述测试信息概览和所述索引目录写入所述文档中。
41.本技术提供的汽车智能自动化仿真测试方法及装置,能够自动生成测试用例库、以及搭建测试场景库。在测试项目被配置后,能够将所配置的测试用例输入到待测试的智能驾驶算法中,并通过预定义的车辆仿真模型在相应测试场景下的响应来获得测试结果。基于本技术能够提高测试的自动化程度、增强测试工作的可复用性,将整个测试过程一体化、提高工作效率和缩短开发周期。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
43.图1为本技术实施例提供的汽车智能自动化仿真测试方法的方法流程图;
44.图2为本技术实施例提供的自动化仿真的测试场景的示意图;
45.图3为本技术实施例提供的汽车智能自动化仿真测试方法的部分方法流程图;
46.图4为本技术实施例提供的汽车智能自动化仿真测试装置的结构示意图。
具体实施方式
47.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
49.本技术实施例提供一种汽车智能驾驶自动化仿真测试方法,该方法的方法流程图如图1所示,包括如下步骤:
50.s10,生成测试用例库,测试用例库中包含批量生成的多个测试用例,测试用例是
以元素阵列的方式分析特征要素所生成的。
51.现阶段,测试用例的编写主要依靠人工逐条进行,由于智能驾驶功能逻辑复杂,需覆盖场景众多,故为保证所编写测试用例的充分完整性,往往需要大量的人力和时间投入。
52.在本技术实施例中,由于测试用例都是由若干特征要素构成的,比如测试名称、测试步骤、测试场景、测试时长等。因此,可以基于该特征要素生成相应的测试用例。
53.对于其中较为关键的测试场景,可以根据测试场景特征要素的重要性程度、量化值等,批量生成测试用例,确保所生成测试用例的规范性和完整性。具体的,通过分析测试场景特征要素的重要性指数构建特征要素矩阵,将测试场景特征要素定义为特定变量,用元素阵列方式自动化生成测试用例。
54.以下对测试场景特征要素矩阵法构建测试用例的过程,进行说明:
55.首先需要进行测试场景特征要素分析,对连续的测试场景要素进行离散化处理,随后通过信息熵与层次分析的方式确定测试场景要素的重要性指数,接下来对不同测试场景要素的重要性指数进行平坦化处理,得到测试场景特征要素矩阵。
56.针对特定场景,测试人员可根据该场景下特征要素的相对重要性参数自主选择重点考察特征要素,产生涵盖多种特征要素的典型测试场景,将场景内可配置的元素定义为特有的变量,然后对测试场景特征要素以变量赋值的配置方式写入测试用例,将涵盖的元素变量按阵列方式生成测试用例库,应用于后续自动化测试。
57.测试场景特征要素所配置的变量按照人-车-环境进行大类划分,通常包含道路曲率、道路坡度、摩擦系数、道路类型、目标车辆初始位置及速度、目标车辆运动轨迹控制、整车状态信号控制等,其中道路类型包含岔道、并道、车道线丢失、车道线突变等特殊道路场景。量化后的特征要素已具备规范化处理条件,可编写代码实现测试用例生成过程的自动化。
58.应用测试场景特征要素矩阵法在保证测试场景高保真的基础上,实现了测试用例的标准化、量化及自动化处理,适用于自动化测试,益于提高测试效率。
59.下表为一个典型的测试场景特征要素矩阵:
[0060][0061]
s20,搭建测试场景库,测试场景库中包含测试用例的测试场景,测试场景是通过读取测试场景要素所搭建的。
[0062]
针对每个测试用例,需要搭建对应的测试场景。若借助人工方式依次搭建测试用例对应的测试场景,一方面,当场景要素繁杂时,难以保证两者是完全对应的;另一方面,一旦测试用例修改,测试场景的人工调整在所难免。
[0063]
为克服上述不足,本技术实施例可以通过脚本自动化读取测试场景特征要素,即测试场景配置变量及对应参数,而后借助软件api对测试系统中的整车状态信号、车辆动力学模型以及道路场景模块进行配置,自动搭建与测试用例相对应的测试场景,实现软件中测试场景的自动化配置。
[0064]
参见图2所示的自动化仿真的测试场景。测试系统通常由智能驾驶算法模块、输入接口信号模块及车辆仿真模型等部分组成,测试过程可以理解为使输入接口信号模块按照测试用例要求给智能驾驶算法模块输入,智能驾驶算法模块的输出信号传递给车辆仿真模型,通过观测车辆仿真模型的运动来评估智能驾驶功能,整个过程形成一个闭环。
[0065]
功能开发人员会将待测的智能驾驶算法编译封装供测试人员进行测试,智能驾驶算法模块包含相应的输入接口、输出接口及智能驾驶核心算法。输入接口信号模块用于匹配智能驾驶算法模块的输入接口,通常由整车状态信号模块、传感器信号模块、诊断信号模块等部分组成。
[0066]
车辆仿真模型由车辆动力学模型、道路场景(车道宽度、弯道半径、坡度、道路附着系数等)等要素构成,可响应智能驾驶算法输出的油门、制动及转向等控制输出,主要用来仿真汽车的在不同仿真场景下的性能表现。
[0067]
测试场景的自动化搭建是通过python编程读取测试用例内的测试场景配置变量及对应参数,配置好测试系统中整车状态信号、车辆动力学模型、道路场景等模块。测试场景配置变量及对应参数有错误时,会将错误记入该次测试对应的记录文件,用于指导测试用例的修改。
[0068]
s30,配置测试项目,配置项目包含所配置的测试用例。
[0069]
本技术实施例中,为满足多功能多测试用的批量自动化测试需求,同时降低测试用人力成本,提高测试便利性,本发明设计了图形化用户接口和编写了自动测试流程控制脚本。
[0070]
测试场景搭建完成后,测试人员通过图形化用户接口(graphic user interface,简称gui)配置测试项目,即待测试的智能驾驶算法及用于测试智能驾驶算法的测试用例,当然,如果测试用例库有更新时测试人员可以根据需要修改测试分类。
[0071]
待配置好测试项目后,测试人员点击“开始测试”按键,软件将分析选取的测试项目,将相关信息组织为一定结构的数据传递到后续自动测试流程控制脚本中,步骤s40即为该脚本的执行过程。
[0072]
本技术实施例中,自动化测试程序主要包含图形化用户接口和自动测试流程控制脚本两个部分。图形化用户接口主要用于向测试人员显示相关信息,并向测试人员提供测试项目输入和测试控制的接口。自动测试流程控制脚本主要实现自动化测试时测试项目的测试顺序控制,以及单项测试时的环境初始化、测试监控以及测试数据后处理等流程的协调匹配。
[0073]
图形化用户接口部分通过python编程调用pyqt5 gui库实现界面基本框架,相关逻辑处理程序则作为回调函数嵌入。用户通过界面上的复选框和编辑框输入测试项目,点击“开始测试”按钮后程序分析配置的测试用例,并按照一定的顺序逐一测试。
[0074]
s40,将所配置的测试用例输入到待测试的智能驾驶算法中,并通过预定义的车辆仿真模型运行在相应测试场景下的响应来获得测试结果,车辆仿真模型的输入为智能驾驶
算法的输出。
[0075]
本技术实施例中,对所配置的测试用例逐一测试的过程中,调用仿真测试软件,通过运行预定义的车辆仿真模型进行测试,待所有配置的测试用例完成后,整个测试完成。
[0076]
具体实现过程中,步骤s40中“所配置的测试用例输入到待测试的智能驾驶算法中,并通过预定义的车辆仿真模型运行在相应测试场景下的响应来获得测试结果”包括如下步骤,方法流程图如图3所示:
[0077]
s401,生成所配置的测试用例的测试条目队列,测试条目队列中的一个条目为所配置的一个测试用例;
[0078]
s402,判断测试条目队列的首条目是否为空;若否,则执行步骤s403;若是,则执行步骤s406。
[0079]
s403,将首条目输入至智能驾驶算法中,并在车辆仿真模型运行在相应测试场景的过程中,通过监控首条目的运行状态处理首条目的故障,直到获得测试结果;
[0080]
s404,将首条目对应的测试结果存储至第一指定位置;
[0081]
s405,将首条目移出测试条目,并返回执行判断测试条目队列的首条目是否为空;
[0082]
s406,生成表征测试项目测试结束的信息。
[0083]
本技术实施例中,自动测试流程控制脚本执行过程中,首先检测测试项目,并对测试项目的有效性进行判断;若测试项目有效,则自动生成测试条目队列,对测试环境进行初始化设置,并按顺序对所配置的每个测试用例进行测试;若测试项目无效,则会弹出对话框提醒测试人员重新配置测试项目。
[0084]
测试过程中,程序会调用相关仿真测试软件,运行预定义的车辆仿真模型进行测试,每测试完成首条目的测试用例就更新一次测试条目队列的首条目,并开始下一条测试;若测试过程中出现异常情况或该条测试用例未在期望的时间内完成,而会对该故障进行处理,避免单个测试用例发生故障导致其他测试用例无法进行。对首条目的测试用例测试结束后,将测试结果的数据会存储在指定的目录下。
[0085]
在此基础上,为了清晰高效地呈现测试结果,本技术实施例还可以执行以下步骤:
[0086]
基于第一指定位置处、所配置的测试用例对应的测试结果,生成测试报告。
[0087]
本技术实施例中,配合使用basic latex软件,可以编程实现自动化测试报告生成。测试报告中可以包含测试结果的概览和详情信息,通过详情信息,软件开发人员可以快速获取相应测试用例的测试结果、失败原因、关键变量变化曲线等信息,快速锁定测试失败的测试用例并做进一步分析,有效提高了测试以及软件版本迭代的效率。
[0088]
在具体实现过程中,“基于第一指定位置处、所配置的测试用例对应的测试结果,生成测试报告”可以采用如下步骤:
[0089]
如果监测到首条目对应的测试结果被存储至第一指定位置处,在第一指定位置处读取首条目对应的测试结果;对首条目对应的测试结果进行绘图,并进行量化评价;将首条目对应的绘图结果和量化评价结果存储至第二指定位置处;如果监测到所生成的表征测试项目测试结束的信息,将第二指定位置处、所配置的测试用例对应的绘图结果和量化评价结果逐页写入文档中。
[0090]
本技术实施例中,为减少批量处理对大量计算资源的占用,生成测试报告时按照测试用例逐个读取测试结果。具体可以使用matlab进行自动化测试脚本的编写,程序会逐
个读取测试结果,测试结果中保存有测试用例的基本信息(测试用例编号、测试过程描述、所需绘制的变量名等)、测试数据以及量化评价指标等,根据这些信息,程序可以自动化的进行绘图和量化评价,并将其保存在指定的目录下。
[0091]
在测试项目测试结束后,将所有测试用例对应的绘图结果和量化评价结果逐页写入文档中。而写入文档时,测试用例的顺序可以参考测试条目队列。基于此,所有测试用例的详细信息,则会逐页在测试报告中显示,包括测试用例编号、测试过程描述、测试期待的结果、测试通过与否、测试失败原因以及测试关键信息的绘图,方便测试和开发人员获得每个测试用例的详细信息。最后,调用dos命令对文档进行编译,生成最终的pdf测试报告。
[0092]
在此基础上,方便测试和开发人员获得测试的总体信息。本技术实施例还可以执行以下步骤:
[0093]
生成测试项目的测试信息概览,以及所配置的测试用例的索引目录;将测试信息概览和索引目录写入文档中。
[0094]
本技术实施例中,测试信息概览主要包括测试人员、测试总耗时、测试用例所在的测试项目、数量分布、所有测试用例的通过率、测试项目的通过率。
[0095]
此外,测试报告基于latex编写,所有图像都是位图,方便查看测试结果绘图的细节,并且可以方便地进行测试用例的索引,进行不同测试用例之间的跳转查看。
[0096]
本技术提供的汽车智能自动化仿真测试方法,能够自动生成测试用例库、以及搭建测试场景库。在测试项目被配置后,能够将所配置的测试用例输入到待测试的智能驾驶算法中,并通过预定义的车辆仿真模型在相应测试场景下的响应来获得测试结果。基于本技术能够提高测试的自动化程度、增强测试工作的可复用性,将整个测试过程一体化、提高工作效率和缩短开发周期。
[0097]
基于上述实施例提供的汽车智能自动化仿真测试方法,本技术实施例则对应提供一种执行上述汽车智能自动化仿真测试方法的装置,该装置的结构示意图如图4所示:
[0098]
测试用例自动化生成模块10,用于生成测试用例库,测试用例库中包含批量生成的多个测试用例,测试用例是以元素阵列的方式分析特征要素所生成的;
[0099]
测试场景自动化搭建模块20,用于搭建测试场景库,测试场景库中包含测试用例的测试场景,测试场景是通过读取测试场景要素所搭建的;
[0100]
图形化用户接口30,用于配置测试项目,配置项目包含所配置的测试用例;
[0101]
自动测试流程控制模块40,将所配置的测试用例输入到待测试的智能驾驶算法中,并通过预定义的车辆仿真模型运行在相应测试场景下的响应来获得测试结果,车辆仿真模型的输入为智能驾驶算法的输出。
[0102]
可选的,自动测试流程控制模块40,具体用于:
[0103]
生成所配置的测试用例的测试条目队列,测试条目队列中的一个条目为所配置的一个测试用例;判断测试条目队列的首条目是否为空;如果不为空,将首条目输入至智能驾驶算法中,并在车辆仿真模型运行在相应测试场景的过程中,通过监控首条目的运行状态处理首条目的故障,直到获得测试结果;将首条目对应的测试结果存储至第一指定位置;将首条目移出测试条目,并返回执行判断测试条目队列的首条目是否为空;如果为空,生成表征测试项目测试结束的信息。
[0104]
可选的,装置还包括:
[0105]
测试报告自动生成模块,用于基于第一指定位置处、所配置的测试用例对应的测试结果,生成测试报告。
[0106]
可选的,测试报告自动生成模块,具体用于:
[0107]
如果监测到首条目对应的测试结果被存储至第一指定位置处,在第一指定位置处读取首条目对应的测试结果;对首条目对应的测试结果进行绘图,并进行量化评价;将首条目对应的绘图结果和量化评价结果存储至第二指定位置处;如果监测到所生成的表征测试项目测试结束的信息,将第二指定位置处、所配置的测试用例对应的绘图结果和量化评价结果逐页写入文档中。
[0108]
可选的,测试报告自动生成模块,还用于:
[0109]
生成测试项目的测试信息概览,以及所配置的测试用例的索引目录;将测试信息概览和索引目录写入文档中。
[0110]
本技术提供的汽车智能自动化仿真测试装置,能够自动生成测试用例库、以及搭建测试场景库。在测试项目被配置后,能够将所配置的测试用例输入到待测试的智能驾驶算法中,并通过预定义的车辆仿真模型在相应测试场景下的响应来获得测试结果。基于本技术能够提高测试的自动化程度、增强测试工作的可复用性,将整个测试过程一体化、提高工作效率和缩短开发周期。
[0111]
以上对本发明所提供的一种汽车智能自动化仿真测试方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
[0112]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0113]
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0114]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献