一种闭环仿真测试系统及方法
文献发布时间:2024-04-18 19:58:21
技术领域
本发明涉及仿真测试技术领域,尤其涉及一种闭环仿真测试系统及方法。
背景技术
在V字形开发流程,即V模型中,一个完整的测试包括单元测试、MIL测试(模型在环测试)、SIL测试(软件在环测试)、HIL测试(硬件在环测试)、实车测试,其中,MIL测试、SIL测试、HIL测试均为闭环仿真测试。
目前,用于高级驾驶辅助系统(ADAS)的闭环仿真测试的仿真测试模型架构通常是根据选用的场景仿真软件的特性,开展模型搭建工作,例如根据环境仿真软件(VTD)的信号输出类型进行分类建模,将carsim动力学模型按照运算模块和输出模块进行分类建模,将被测算法模块按功能分类建模,这种方式所搭建得到的模型只能适应于同一类型仿真软件或仿真手段;而且由于被测对象不同、不同测试工程师建模习惯不同,导致搭建的测试环境也不相同,不同仿真软件的信号传递方式、信号输出类型千差万别,进而导致测试环境难以移植;此外,在不同仿真软件之间切换时,自动化测试用例也无法在MIL测试、SIL测试、HIL测试这三种闭环仿真测试的测试环境下复用,通常需要重新设计测试环境,进而增加了开发的重复工作量,降低了仿真测试效率。
发明内容
为了解决以上技术问题,本发明提供了一种闭环仿真测试系统及方法。
本发明所解决的技术问题可以采用以下技术方案实现:
一种闭环仿真测试系统,包括:
模型构建单元,用于构建一用以根据测试用例执行仿真测试的仿真测试模型,所述仿真测试模型包括依次连接形成闭环的多个功能模块,所述仿真测试模型的所述多个功能模块包括:
动力学仿真模块,用于进行动力学仿真处理,以响应于一控制信号并输出一结构化的动力学信息;
环境仿真模块,连接所述动力学仿真模块,用于根据所述动力学信息进行环境仿真,并输出一结构化的环境仿真数据;
被测算法模块,分别连接所述动力学仿真模块和所述环境仿真模块,用于根据所述动力学信息和所述环境仿真数据输出下一时刻的所述控制信号;
所述动力学仿真模块和所述环境仿真模块分别包括功能主体单元以及结构化输出单元。
可选地,还包括:
测试变更单元,连接所述模型构建单元,用于在所述测试用例发生变更时根据所述测试用例从发生变更的所述功能模块对应的所述结构化输出单元中提取所需的输出信号,并根据提取的所述输出信号与变更后的所述功能主体单元的输出进行信号匹配重连,以实现根据变更后的所述测试用例执行闭环仿真测试。
可选地,所述动力学仿真模块中所述功能主体单元包括:
一用于模拟自车响应的动力学模型,所述动力学模型响应于所述控制信号并输出所述动力学信息;
所述结构化输出单元包括:
第一结构化输出单元,用于通过信号匹配的方式与所述动力学模型连接,将所述动力学模型的输出信号打包成结构体数据,得到结构化的所述动力学信息。
可选地,所述环境仿真模块中所述功能主体单元包括:
一环境仿真模型,所述环境仿真模型根据所述动力学信息配置仿真传感器,并输出所述环境仿真数据;
所述结构化输出单元包括:
第二结构化输出单元,用于通过信号匹配的方式与所述环境仿真模型连接,将所述仿真传感器的输出信号打包成结构体数据,得到结构化的所述环境仿真数据。
可选地,所述被测算法模块中预置有多个不同测试环境的被测算法单元;所述被测算法单元包括模型在环测试单元、软件在环测试单元和硬件在环测试单元中的至少一个;
所述被测算法模块包括:
切换控制单元,用于根据所述动力学信息和所述环境仿真数据进行匹配,将匹配得到的所述被测算法单元作为目标被测单元,并将所述被测算法模块的输入和输出分别切换至与所述目标被测单元连接;
所述目标被测单元用于根据所述动力学信息和所述环境仿真数据输出下一时刻的所述控制信号。
可选地,所述被测算法单元还包括横向控制被测算法单元和/或纵向控制被测算法单元;
所述动力学仿真模块中所述功能主体单元还包括:驾驶员模型,用于根据所述横向控制被测算法单元和/或所述纵向控制被测算法单元输出横向和/或纵向控制信号。
可选地,所述结构化输出单元的数据类型为BUS结构体。
可选地,还包括:信号流转汇总单元,用于汇总并展示各所述功能模块之间的信号流转关系。
本发明还提供一种闭环仿真测试方法,应用于如上述的闭环仿真测试系统中,包括:
构建一用以根据测试用例执行仿真测试的仿真测试模型,所述仿真测试模型包括依次连接形成闭环的多个功能模块,所述多个功能模块包括:动力学仿真模块、环境仿真模块和被测算法模块;所述动力学仿真模块和所述环境仿真模块分别包括功能主体单元以及结构化输出单元;
所述动力学仿真模块用于进行动力学仿真处理,以响应于一控制信号并输出一结构化的动力学信息;
所述环境仿真模块用于根据所述动力学信息进行环境仿真,并输出一结构化的环境仿真数据;
所述被测算法模块用于根据所述动力学信息和所述环境仿真数据输出下一时刻的所述控制信号。
可选地,还包括:
在所述测试用例发生变更时根据所述测试用例从发生变更的所述功能模块对应的所述结构化输出单元中提取所需的输出信号,并根据提取的所述输出信号与变更后的所述功能主体单元的输出进行信号匹配重连,以实现根据变更后的所述测试用例执行闭环仿真测试。
本发明技术方案的优点或有益效果在于:
本发明将仿真测试模型的各个功能模块分开建模,该通用模型架构高内聚、低耦合;并且将每个功能模块中信号输出采用结构化输出的方式,进行模块间的信号传递,在测试用例发生变更时,从结构化输出单元中提取信号并重新进行信号匹配,即可实现仿真测试模型的搭建,减少模型搭建中的重复工作量,提高模型搭建的效率,无需变更仿真测试模型架构,即可实现测试用例的复用。
附图说明
图1为本发明的较佳实施例中,闭环仿真测试系统的结构框图;
图2为本发明的较佳实施例中,仿真测试模型的架构示意图;
图3为本发明的较佳实施例中,仿真测试模型的信号流转示意图;
图4为本发明较佳实施例中,闭环仿真测试方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
参见图1,本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种闭环仿真测试系统,包括:
模型构建单元1,用于构建一用以根据测试用例执行仿真测试的仿真测试模型11,仿真测试模型11包括依次连接形成闭环的多个功能模块,如图2和图3所示,仿真测试模型的多个功能模块包括:
动力学仿真模块111,用于进行动力学仿真处理,以响应于一控制信号并输出一结构化的动力学信息;
环境仿真模块112,连接动力学仿真模块,用于根据动力学信息进行环境仿真,并输出一结构化的环境仿真数据;
被测算法模块113,分别连接动力学仿真模块和环境仿真模块,用于根据动力学信息和环境仿真数据输出下一时刻的控制信号;
动力学仿真模块111和环境仿真模块112分别包括功能主体单元以及结构化输出单元。
具体的,本发明实施例提供的仿真测试模型的模型架构在结构上分为三部分,即动力学仿真模块111、环境仿真模块112和被测算法模块113。其中,动力学仿真模块111内部包括基于移动体的动力学仿真算法构建的动力学模型1111,动力学模型1111包括但不限于驱动系统、制动系统、转向系统或其他用于仿真测试车载系统,用于进行移动体的动力学仿真运算,输出动力学信息,动力学信息包括但不限于如移动体位置、移动体位姿信息,然后将移动体的动力学信息打包写入结构体中,以bus_type结构体表示,传递给环境仿真模块112和被测算法模块113。环境仿真模块112内部包括环境仿真模型1121,环境仿真模块112用于接收动力学仿真模块111输出的动力学信息,并传递给环境仿真模型1121,模型基于传感器仿真算法搭建仿真传感器以及提供真值的信息传递接口,用于获取传感器数据,即上述环境仿真数据,环境仿真数据包括但不限于如目标移动体信息、车道线信息,并打包成BUS结构体,传递给被测算法模块113。被测算法模块112根据测试方法不同,可灵活放置用于执行MIL测试的被测算法模型、用于执行SIL测试的被测软件接口、用于执行HIL测试的被测硬件控制器通讯接口,被测算法模块112用于接收动力学仿真模块111输出的动力学信息和环境仿真模块112输出的环境仿真数据,根据动力学信息和环境仿真数据计算下一时刻控制信号。
本发明实施例将仿真测试模型的各个功能模块分开建模,该通用模型架构高内聚、低耦合;并且,对每个功能模块中的信号输出转换成结构化输出的形式,使得功能模块和功能模块之间采用结构化的形式进行信号传递。
作为可选的实施方式,其中,如图1所示,还包括:
测试变更单元2,连接模型构建单元1,用于在测试用例发生变更时根据测试用例从发生变更的功能模块对应的结构化输出单元中提取所需的输出信号,并根据提取的输出信号与变更后的功能主体单元的输出进行信号匹配重连,以实现根据变更后的测试用例执行闭环仿真测试。
具体的,在本实施例中,在测试用例发生变更时,从结构化输出单元中提取信号并重新进行信号匹配,即可实现仿真测试模型的搭建,减少模型搭建中的重复工作量,提高模型搭建的效率,无需变更仿真测试模型架构,即可实现测试用例的复用。
作为可选的实施方式,其中,动力学仿真模块111中功能主体单元包括:
一用于模拟自车响应的动力学模型1111,动力学模型1111响应于控制信号并输出动力学信息;
结构化输出单元包括:
第一结构化输出单元1112,用于通过信号匹配的方式与动力学模型连接,将动力学模型1111的输出信号打包成结构体数据,得到结构化的动力学信息。
具体的,在本实施例中,在动力学仿真模块111的内部,将搭载动力学信息的各动力学信号整合成第一结构化输出单元1112,在测试用例发生变更时,仅需从第一结构化输出单元1112内提取需要的信号,重新做信号匹配,即可实现动力学仿真模块111中功能主体单元的变更,实现动力学仿真模块111中的动力学模型1111与第一结构化输出单元1112重新连接。
上述测试用例变更包括但不限于如测试项目变更、测试环境变更、测试用的环境仿真模型软件或动力学模型软件变更。
作为可选的实施方式,其中,环境仿真模块112中功能主体单元包括:
一环境仿真模型1121,环境仿真模型1121根据动力学信息配置仿真传感器,并输出环境仿真数据;
结构化输出单元包括:
第二结构化输出单元1122,用于通过信号匹配的方式与环境仿真模型1121连接,将仿真传感器的输出信号打包成结构体数据,得到结构化的环境仿真数据。
具体的,在本实施例中,通过将环境仿真模型1121的输出信号进行结构化处理,在测试用例发生变更,如环境仿真模型1121变更或者需测试输出变更时,只需要将从第二结构化输出单元1122中提取所需信号,然后与变更后的环境仿真模型1121进行信号匹配,即可实现重连接,实现环境仿真模块112的重搭建,提高了模块搭建效率。
作为可选的实施方式,其中,被测算法模块113中预置有多个不同测试环境的被测算法单元;被测算法单元包括模型在环测试单元1132、软件在环测试单元1133和硬件在环测试单元1134中的至少一个;
被测算法模块113包括:
切换控制单元1131,用于根据动力学信息和环境仿真数据进行匹配,将匹配得到的被测算法单元作为目标被测单元,并将被测算法模块的输入和输出分别切换至与目标被测单元连接;
目标被测单元用于根据动力学信息和环境仿真数据输出下一时刻的控制信号。
具体的,在本实施例中,上述仿真测试模型的通用架构可用于V模型开发流程中模型在环测试、软件在环测试、硬件在环测试这三种测试的测试环境模型。
进一步的,在被测算法模块113内部,用于接收动力学仿真模块111输出的动力学信息和环境仿真模块112输出的环境仿真数据,根据动力学信息和环境仿真数据计算下一时刻控制信号。上述动力学信息和环境仿真数据均为结构化的数据,在同一测试环境下,被测算法模块113的输入是固定不变的;在同一项目接口需求下,被测算法模块113的输出也是固定不变的。进一步的,当测试项目变更或测试环境变更时,只需要更换被测算法模块113内部的被测算法单元,然后从结构化的数据中提取信号并做信号匹配即可,实现变更后的模型搭建,模型搭建效率高,提高仿真效率。
由于ADAS的MIL测试、SIL测试、HIL测试的区别仅在于被测对象存在形式不同,在环境仿真模型软件一样的情况下,环境仿真模型软件提供的输出是一样的,而动力学模型软件能接收的输入也是一样的,因此,当仿真测试环境配置为MIL/SIL/HIL测试时,只需要切换至模型在环测试单元1132、或软件在环测试单元1133或硬件在环测试单元1134,即可实现测试环境的变更。
作为可选的实施方式,其中,被测算法单元还包括横向控制被测算法单元和/或纵向控制被测算法单元;
动力学仿真模块111中功能主体单元还包括:驾驶员模型1113,用于根据横向控制被测算法单元和/或纵向控制被测算法单元输出横向和/或纵向控制信号。
具体的,在本实施例中,动力学仿真模块111内部还包括驾驶员模型,用于进行横向和/或纵向被测算法单独测试时的补充控制,在测试时提供补充控制信号,以便被测算法单元能够响应来输出控制信号。
作为可选的实施方式,其中,结构化输出单元的数据类型为BUS结构体。
具体的,在本实施例中,功能模块和功能模块之间的交互均为BUS结构体形式,可由多个工程师同时开展模块搭建工作,然后进行集成匹配,有助于工程师协同工作,从而加速仿真建模过程。
作为可选的实施方式,其中,还包括:信号流转汇总单元(图中未示出),用于汇总并展示各功能模块之间的信号流转关系。
具体的,考虑到现有技术中在模块分类建模过程中,模块内部的仿真软件信息获取和信号转换放置在一起,内部大量使用global全局变量信号跳转,即所搭建得到的模型中所有模型间的信号流转和关联关系在最外层不可见。在本实施例中,通过环境仿真中传感器、真值信息获取、动力学、被测算法或通讯接口分模块建模,并在根目录呈现各模块间的信号流转关系。
进一步的,上述信号流转关系包括对应各功能模块内部功能主体单元和结构化输出单元之间的第一信号流转关系,以及功能模块与功能模块之间的第二信号流转关系,以便于测试人员快速了解各功能模块包含的信息与可修改内容。
进一步的,通过上述信号流转关系的展示,在测试用例变更后,如功能主体单元更换后,提取更换后的新的功能主体单元的输出信号,将提取信号与结构化输出单元的BUS结构体重新进行信号匹配,快速修改第一信号流转关系,实现仿真测试模块的快速搭建,减少模型搭建中的重复工作量,提高模型搭建的效率。
本发明还提供一种闭环仿真测试方法,应用于如上述的闭环仿真测试系统中,如图4所示,包括:
A1,构建一用以根据测试用例执行仿真测试的仿真测试模型,仿真测试模型包括依次连接形成闭环的多个功能模块,多个功能模块包括:动力学仿真模块111、环境仿真模块112和被测算法模块113;动力学仿真模块111和环境仿真模块112分别包括功能主体单元以及结构化输出单元;
动力学仿真模块111用于进行动力学仿真处理,以响应于一控制信号并输出一结构化的动力学信息;
环境仿真模块112用于根据动力学信息进行环境仿真,并输出一结构化的环境仿真数据;
被测算法模块113用于根据动力学信息和环境仿真数据输出下一时刻的控制信号。
作为可选的实施方式,其中,还包括:
A2,在测试用例发生变更时根据测试用例从发生变更的功能模块对应的结构化输出单元中提取所需的输出信号,并根据提取的输出信号与变更后的功能主体单元的输出进行信号匹配重连,以实现根据变更后的测试用例执行闭环仿真测试。
具体的,本发明实施例将仿真测试模型的各个功能模块分开建模,该通用模型架构高内聚、低耦合;并且,对每个功能模块中的信号输出转换成结构化输出的形式,使得功能模块和功能模块之间采用结构化的形式进行信号传递,在测试用例发生变更时,从结构化输出单元中提取信号并重新进行信号匹配,即可实现仿真测试模型的搭建,减少模型搭建中的重复工作量,提高模型搭建的效率,无需变更仿真测试模型架构,即可实现测试用例的复用。
采用上述技术方案的优点或有益效果在于:
(1)本发明提出的通用模型架构,遵循高内聚、低耦合的设计方法,将环境仿真(传感器、真值)、动力学仿真等XIL测试通用模块分离出来单独建模,形成独立的功能模块,将被测算法中的三种测试环境做成可切换模块,与环境仿真进行匹配,有助于提高测试环境中各模块的可复用性,灵活性,减少环境搭建中的重复工作量,提高仿真环境搭建的效率。
(2)本发明通过将功能模块内部的仿真模型,如环境仿真模型、动力学模型等部分同样模块化建模,在项目过程中切换仿真模型软件时,仅修改对应的仿真模型软件模块即可实现仿真软件切换,可在多种仿真软件之间灵活切换,无需变更整体模型架构,最小化模型变更,最大程度减少重复工作。
(3)本发明提出的通用模型架构可以在MIL测试、SIL测试、HIL测试这三种测试环境之间灵活切换;并且通过功能模块的结构化输出,在测试环境切换后通过信号提取和信号匹配的方式,使得MIL测试、SIL测试、HIL测试这三种测试环境共用自动化测试用例,减少测试用例设计中的重复工作量。
(4)XIL测试中各类型测试用例统一也有利于实现背靠背测试,以测试模型-代码-控制器整个过程的软件表现一致性。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
- 一种智能汽车仿真测试场景库生成方法及测试系统和方法
- 一种系统保护实时闭环仿真测试系统及其运行方法
- 一种发电厂计算机监控系统的仿真闭环测试系统及方法