CN116047933A - 一种仿真测试方法及装置 - Google Patents
一种仿真测试方法及装置 Download PDFInfo
- Publication number
- CN116047933A CN116047933A CN202310018023.4A CN202310018023A CN116047933A CN 116047933 A CN116047933 A CN 116047933A CN 202310018023 A CN202310018023 A CN 202310018023A CN 116047933 A CN116047933 A CN 116047933A
- Authority
- CN
- China
- Prior art keywords
- node
- simulation
- information
- module
- simulation data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 269
- 238000010998 test method Methods 0.000 title claims abstract description 26
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 96
- 238000012360 testing method Methods 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000008447 perception Effects 0.000 claims description 46
- 238000012545 processing Methods 0.000 claims description 45
- 230000004927 fusion Effects 0.000 claims description 24
- 238000004891 communication Methods 0.000 claims description 20
- 238000010276 construction Methods 0.000 abstract description 5
- 230000005540 biological transmission Effects 0.000 description 11
- 230000001133 acceleration Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种仿真测试方法及装置,该方法应用于仿真测试系统中的桥接器模块,该方法包括:接收仿真软件模块发送的第一仿真数据;将第一仿真数据转换为基于第二地图标准的第二仿真数据,并将第二仿真数据以第一ROS话题的格式发布到自动驾驶算法模块,以使自动驾驶算法模块中的目标节点接收第二仿真数据;接收自动驾驶算法模块的控制节点基于第二仿真数据发布的第二ROS话题,第二ROS话题中包括第一控制指令;将第一控制指令转换为基于第一地图标准的第二控制指令;将第二控制指令发送给仿真软件模块,以使仿真软件模块根据第二控制指令控制被测车辆在仿真场景中运行。该方案有效地简化了仿真测试环境的搭建过程,减小了仿真测试过程的操作难度。
Description
技术领域
本发明涉及自动驾驶领域,尤其涉及一种仿真测试方法及装置。
背景技术
随着自动驾驶行业的发展,车辆的自动驾驶功能也日趋完善,绑定自动驾驶模式的车辆可以将驾驶员从驾驶状态解放出来。随着自动驾驶级别的提升,对自动驾驶技术的要求越来越高。自动驾驶仿真测试主要是以数学建模的方式将自动驾驶的应用场景进行数字化,建立尽可能接近真实世界的系统模型,通过软件仿真实现对自动驾驶系统的测试验证,从而降低降低自动驾驶系统测试和回归的时间及成本,提高测试场景的覆盖率,避免实车路测的安全问题。
目前,现有的自动驾驶仿真测试技术采用分布式架构进行在环仿真,仿真器模块与自动驾驶软件系统分别运行在不同的系统内,仿真器模块与自动驾驶模块通过TCP通讯方式进行数据传输交互,存在仿真测试环境搭建复杂、仿真测试过程操作复杂的问题。
发明内容
本发明提供一种仿真测试方法及装置,解决了现有技术中仿真测试环境搭建复杂、仿真测试过程操作复杂的问题。
为达到上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种仿真测试方法,应用于仿真测试系统中的桥接器模块,所述仿真测试系统还包括自动驾驶算法模块和仿真软件模块,所述方法包括:
接收仿真软件模块发送的第一仿真数据,所述第一仿真数据为位于仿真场景中的被测车辆的目标种类的信息,所述目标种类为定位信息、姿态信息和感知信息中的一种,所述第一仿真数据基于第一地图标准生成;
将所述第一仿真数据转换为基于第二地图标准的第二仿真数据,并将所述第二仿真数据以第一ROS话题的格式发布到自动驾驶算法模块,以使所述自动驾驶算法模块中的目标节点接收所述第二仿真数据;所述目标节点为已订阅所述目标种类的信息的节点;
接收所述自动驾驶算法模块的控制节点基于所述第二仿真数据发布的第二ROS话题,所述第二ROS话题中包括第一控制指令;
将所述第一控制指令转换为基于所述第一地图标准的第二控制指令,所述第一控制指令基于所述第二地图标准生成;
将所述第二控制指令发送给所述仿真软件模块,以使所述仿真软件模块根据所述第二控制指令控制所述被测车辆在所述仿真场景中运行。
在一种可能的实现方式中,所述桥接器模块包括多个话题发布端口,其中,所述多个话题发布端口中的第一话题发布端口用于发布包括定位信息的第一ROS话题,第二话题发布端口用于发布包括姿态信息的第一ROS话题,第三话题端口用于发布包括感知信息的第一ROS话题。
在一种可能的实现方式中,所述桥接器模块还包括话题订阅端口;所述接收所述自动驾驶算法模块的控制节点基于所述第二仿真数据发布的第二ROS话题,具体为:
所述话题订阅端口接收所述自动驾驶算法模块的控制节点基于所述第二仿真数据发布的第二ROS话题。
在一种可能的实现方式中,所述仿真软件模块包括定位节点、感知节点和车身姿态节点;所述接收仿真软件模块发送的第一仿真数据,具体为:
通过TCP通信端口接收所述仿真软件模块的目标节点发送的第一仿真数据,所述目标节点为所述定位节点、感知节点和车身姿态节点中的至少一个;
所述仿真软件模块还包括动力学节点;所述将所述第二控制指令发送给所述仿真软件模块,具体为:
通过TCP通信端口将所述第二控制指令发送给所述动力学节点。
第二方面,本发明提供一种仿真测试方法,应用于仿真测试系统中的自动驾驶算法模块,所述仿真测试系统还包括桥接器模块和仿真软件模块,所述方法包括:
接收所述桥接器模块发布的第一ROS话题,所述第一ROS话题内容为基于第二地图标准的第二仿真数据,所述第二仿真数据为所述桥接器将基于第一地图标准的第一仿真数据转换得到的,所述第一仿真数据为所述仿真软件模块采集的仿真场景中的被测车辆在当前时刻的目标种类的信息;所述目标种类为定位信息、感知信息和姿态信息中的一种;目标节点接收所述第二仿真数据,并将对所述第二仿真数据的处理结果发送给所述自动驾驶算法模块中的控制节点;所述目标节点为所述自动驾驶算法模块中已订阅所述目标种类的信息的节点;
所述控制节点根据所述处理结果生成第一控制指令,并将所述第一控制指令以第二ROS话题的格式发布到所述桥接器模块,以使所述桥接器模块将所述第一控制指令转换为基于第一地图标准的第二控制指令,并将所述第二控制指令发送给所述仿真软件模块;所述第一控制指令基于第二地图标准生成,所述第二控制指令用于控制所述被测车辆在所述仿真场景中运行。
在一种可能的实现方式中,所述目标节点为地图节点、融合预测节点以及决策规划节点中的至少一个,所述地图节点订阅所述定位信息,所述融合预测节点订阅所述定位信息以及所述感知信息,所述决策规划节点订阅所述定位信息以及所述姿态信息;所述目标节点接收所述第二仿真数据,具体包括:
在所述第二仿真数据为所述定位信息的情况下,所述地图节点、所述融合预测节点以及所述决策规划节点接收所述第二仿真数据;
在所述第二仿真数据为所述感知信息的情况下,所述融合预测节点接收所述第二仿真数据;
在所述第二仿真数据为姿态信息的情况下,所述决策规划节点接收所述第二仿真数据。
在一种可能的实现方式中,所述融合预测节点还订阅所述地图节点发布的话题,所述决策规划节点还订阅所述地图节点和所述融合预测节点发布的话题,所述控制节点订阅所述决策规划节点发布的话题;所述目标节点接收所述第二仿真数据,并将对所述第二仿真数据的处理结果发送给所述自动驾驶算法模块中的控制节点,具体包括:
所述地图节点接收所述第二仿真数据中的定位信息,并根据所述定位信息生成路线和地图信息;
所述地图节点将所述路线和地图信息以第三ROS话题的格式发布;
所述融合预测节点接收所述第三ROS话题,并根据所述第三ROS话题中包括的路线和地图信息,以及接收到的定位信息和感知信息,生成预测信息;
所述融合预测节点将所述预测信息以第四ROS话题的格式发布;
所述决策规划节点接收所述第四ROS话题以及所述第三ROS话题;
所述决策规划节点根据所述第四ROS话题中的预测信息和所述第三ROS话题中的路线和地图信息,以及接收到的所述定位信息和所述感知信息,对所述被测车辆下一时刻的运行状态进行决策规划,并根据所述决策规划的结果生成处理结果;
所述决策规划节点将所述处理结果以第五ROS话题的格式发布;
所述控制节点接收所述第五ROS话题。
第三方面,本发明提供一种仿真测试装置,应用于仿真测试系统中的桥接器模块,所述仿真测试系统还包括自动驾驶算法模块和仿真软件模块,所述装置包括:
第一处理模块,用于接收仿真软件模块发送的第一仿真数据,所述第一仿真数据为位于仿真场景中的被测车辆的目标种类的信息,所述目标种类为定位信息、姿态信息和感知信息中的一种,所述第一仿真数据基于第一地图标准生成;
第二处理模块,用于将所述第一仿真数据转换为基于第二地图标准的第二仿真数据,并将所述第二仿真数据以第一ROS话题的格式发布到自动驾驶算法模块,以使所述自动驾驶算法模块中的目标节点接收所述第二仿真数据;所述目标节点为已订阅所述目标种类的信息的节点;
第三处理模块,用于接收所述自动驾驶算法模块的控制节点基于所述第二仿真数据发布的第二ROS话题,所述第二ROS话题中包括第一控制指令;
第四处理模块,用于将所述第一控制指令转换为基于所述第一地图标准的第二控制指令,所述第一控制指令基于所述第二地图标准生成;
第五处理模块,用于将所述第二控制指令发送给所述仿真软件模块,以使所述仿真软件模块根据所述第二控制指令控制所述被测车辆在所述仿真场景中运行。
在一种可能的实现方式中,所述桥接器模块包括多个话题发布端口,所述第二处理模块具体被配置为执行通过所述多个话题发布端口中的第一话题发布端口发布包括定位信息的第一ROS话题,通过第二话题发布端口发布包括姿态信息的第一ROS话题,通过第三话题端口发布包括感知信息的第一ROS话题。
在一种可能的实现方式中,所述桥接器模块还包括话题订阅端口;所述第三处理模块具体被配置为执行通过所述话题订阅端口接收所述自动驾驶算法模块的控制节点基于所述第二仿真数据发布的第二ROS话题。
在一种可能的实现方式中,所述仿真软件模块包括定位节点、感知节点和车身姿态节点;所述第一处理模块具体被配置为执行通过TCP通信端口接收所述仿真软件模块的目标节点发送的第一仿真数据,所述目标节点为所述定位节点、感知节点和车身姿态节点中的至少一个;
所述仿真软件模块还包括动力学节点;所述第五处理模块具体被配置为执行通过TCP通信端口将所述第二控制指令发送给所述动力学节点。
第四方面,本发明提供一种电子设备,该电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述任一项所述的仿真测试方法。
第五方面,本发明提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述任一项所述的仿真测试方法。
本发明实施例提供的仿真测试方法应用于仿真测试系统的桥接器模块,首先,接收仿真软件模块发送的第一仿真数据,包括仿真软件模块发送的定位信息、姿态信息和感知信息中的一种,其中,第一仿真数据是基于第一地图标准生成的;其次,将第一仿真数据转换为基于第二地图标准的第二仿真数据,并将第二仿真数据以第一ROS话题的格式发布到自动驾驶算法模块,通过自动驾驶算法中的目标节点接收第二仿真数据,其中,目标节点为已经订阅定位信息、姿态信息或感知信息的节点;再次,接收自动驾驶算法模块的控制节点基于第二仿真数据发布的第二ROS话题,其中,第二ROS话题中包括第一控制指令;之后,将第一控制指令转换为基于第一地图标准的第二控制指令,其中,第二控制指令是基于第二地图标准生成的;最后,将第二控制指令发送给仿真软件模块,仿真软件模块根据第二控制指令控制被测车辆在仿真场景中运行。本方案通过桥接器模块将仿真软件模块输出的数据和自动驾驶算法模块的控制节点输出的数据转换成彼此可识别的数据,桥接器模块与自动驾驶算法模块的各节点之间通过ROS话题通讯的方式进行数据传输,在进行测试环境搭建时,只需要根据自动驾驶算法模块中的各节点的实际需求订阅对应的定位信息、姿态信息或感知信息,无需再考虑各信息的数据传输过程,也无需在桥接器模块与自动驾驶算法模块之间建立数据传输通路,从而有效地简化了仿真测试环境的搭建过程;在进行仿真测试过程时,桥接器模块只需要将定位信息、姿态信息或感知信息以第一ROS话题的方式发布,自动驾驶算法模块的各节点只需要订阅需要的信息即可接收对应的第一ROS话题,无需进行其他的操作,从而有效地减小了仿真测试过程的操作难度。
附图说明
图1为本发明实施例提供的第一种仿真测试方法的步骤流程图;
图2为本发明实施例提供的仿真测试系统的结构框图;
图3为本发明实施例提供的第二种仿真测试方法的步骤流程图;
图4为本发明实施例提供的第三种仿真测试方法的步骤流程图;
图5为本发明实施例提供的仿真测试装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。另外,“基于”或“根据”的使用意味着开放和包容性,因为“基于”或“根据”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。
现有的自动驾驶仿真测试技术采用分布式架构进行在环仿真,仿真器模块与自动驾驶软件系统分别运行在不同的系统内,仿真器模块与自动驾驶模块通过TCP通讯方式进行数据传输交互,存在仿真测试环境搭建复杂、仿真测试过程操作复杂的问题。
现有技术中,是通过桥接器将仿真场景的定位信息和感知数据及车辆的状态转换成算法模块可识别的数据,再通过桥接器将算法模块反馈的控制信息转换成仿真软件可识别的数据,从而控制被测车辆的运行状态并监控仿真结果。现有技术的算法模块的运行依赖自有格式的高精度地图数据,仿真软件的运行依赖OpenDRIVE地图数据,两个地图之间需要使用对应的桥接器进行地图数据的转换,该转换过程很繁琐,导致仿真测试技术对地图的依赖性较大。
为了解决现有技术中仿真测试环境搭建复杂、仿真测试过程操作复杂的问题,本发明实施例提供了一种仿真测试方法及装置。
图1为本发明实施例提供的第一种仿真测试方法的步骤流程图。
如图1所示,仿真测试方法应用于仿真测试系统中的桥接器模块,仿真测试系统还包括自动驾驶算法模块和仿真软件模块。该方法包括:
步骤101、接收仿真软件模块发送的第一仿真数据。第一仿真数据为位于仿真场景中的被测车辆的目标种类的信息,目标种类为定位信息、姿态信息和感知信息中的一种,第一仿真数据基于第一地图标准生成。
其中,仿真软件模块根据分散自律调度集中(CTC)仿真系统搭建OpenSCENARIO场景、设置主车及障碍物信息,并在主车上仿真实际传感器的参数。仿真主车接收自动驾驶算法模块输出的控制信号,并根据该控制信号生成虚拟场景的主车定位及车辆状态传感器的感知数据。
第一地图标准指的是仿真软件模块使用的OpenDRIVE地图数据标准。
通过仿真软件模块获取被测车辆基于第一地图标准生成的定位信息、姿态信息以及感知信息等第一仿真数据;之后,通过桥接器模块接收仿真软件模块发送的定位信息、姿态信息以及感知信息。
图2为本发明实施例提供的仿真测试系统的结构框图。
如图2所示,仿真软件模块包括定位节点、感知节点和车身姿态节点;接收仿真软件模块发送的第一仿真数据,接收仿真软件模块发送的第一仿真数据,具体为:
通过TCP通信端口接收仿真软件模块的目标节点发送的第一仿真数据,目标节点为定位节点、感知节点和车身姿态节点中的至少一个。
具体的,通过仿真软件模块的定位节点获取自车位置信息、速度、加速度以及航向等定位信息;通过感知节点获取障碍物的位置、速度、加速度以及航向角、感知车道线等感知信息;通过车身姿态节点获取车辆的刹车/油门、加速度、方向盘转角以及车轮等车身姿态信息。
桥接器模块通过TCP通信端口从定位节点获取定位信息,从感知节点获取感知信息,从车身姿态节点获取车身姿态信息。
步骤102、将第一仿真数据转换为基于第二地图标准的第二仿真数据,并将第二仿真数据以第一ROS话题的格式发布到自动驾驶算法模块,以使自动驾驶算法模块中的目标节点接收第二仿真数据。目标节点为已订阅目标种类的信息的节点。
其中,自动驾驶算法模块根据仿真软件发送的主车定位信息及障碍物信息进行定位及规划控制,并反馈控制数据,通过桥接器模块将控制数据转换为基于仿真软件模块生成的可识别数据,并将可识别数据发送至仿真软件模块,通过可识别数据控制被测车辆在仿真场景中运行,来监控仿真结果。
第二地图标准指的是自动驾驶算法模块使用的地图数据。
具体的,桥接器模块将基于第一地图标准的第一仿真数据转换为基于第二地图标准的第二仿真数据,之后将第二仿真数据以第一ROS话题的格式发出。
通过自动驾驶算法模块中的已订阅目标种类的信息的节点接收对应的第一ROS话题。
进一步的,桥接器模块包括多个话题发布端口。其中,多个话题发布端口中的第一话题发布端口用于发布包括定位信息的第一ROS话题,第二话题发布端口用于发布包括姿态信息的第一ROS话题,第三话题端口用于发布包括感知信息的第一ROS话题。
自动驾驶算法模块内的各节点根据需要的数据订阅对应的话题发布端口即可获取到需要的信息。
步骤103、接收自动驾驶算法模块的控制节点基于第二仿真数据发布的第二ROS话题。第二ROS话题中包括第一控制指令。
其中,第二仿真数据具体为自动驾驶算法模块的控制节点输出的刹车/油门、加速度以及方向盘转角信息。
自动驾驶算法模块的控制节点以第二ROS话题的格式将第二仿真数据发布。通过桥接器模块订阅自动驾驶算法模块的控制节点,使桥接器模块可以接收到第二ROS话题。
可选的,桥接器模块还包括话题订阅端口。接收自动驾驶算法模块的控制节点基于第二仿真数据发布的第二ROS话题,具体为:
话题订阅端口接收自动驾驶算法模块的控制节点基于第二仿真数据发布的第二ROS话题。
在本实施例中,桥接器模块通过话题订阅端口订阅自动驾驶算法模块的控制节点,以实时接收自动驾驶算法模块的控制节点发布的第二ROS话题。
步骤104、将第一控制指令转换为基于第一地图标准的第二控制指令。第一控制指令基于第二地图标准生成。
具体的,通过桥接器模块将基于第二地图标准生成的第一控制指令转换为基于第一地图标准的第二控制指令,即将第一控制指令转变为仿真软件模块可识别的第二控制指令。
步骤105、将第二控制指令发送给仿真软件模块,以使仿真软件模块根据第二控制指令控制被测车辆在仿真场景中运行。
可选的,仿真软件模块还包括动力学节点。将第二控制指令发送给仿真软件模块,具体为:
通过TCP通信端口将第二控制指令发送给动力学节点。
桥接器模块将第二控制指令通过TCP通信端口发送至仿真软件模块的动力学节点,仿真软件模块的动力学节点根据第二控制指令控制被测车辆在仿真场景中的运行。
在本发明实施例中,仿真测试系统中的桥接器模块、自动驾驶算法模块和仿真软件模块在同台工作站的同一个Ubuntu系统中工作,能够包括数据传输的流畅性,解决数据交互的延迟及数据不同步的问题。
在本发明实施例中,仿真测试系统还包括节点管理器,通过节点管理器为桥接器模块中的多个话题发布端口和话题订阅端口,以及自动驾驶算法模块中的目标节点和控制节点提供命名和注册服务;在各节点之间建立访问和消息交流,辅助各节点相互查找并建立通信连接。
本发明实施例提供的仿真测试方法应用于仿真测试系统的桥接器模块,首先,接收仿真软件模块发送的第一仿真数据,包括仿真软件模块发送的定位信息、姿态信息和感知信息中的一种,其中,第一仿真数据是基于第一地图标准生成的;其次,将第一仿真数据转换为基于第二地图标准的第二仿真数据,并将第二仿真数据以第一ROS话题的格式发布到自动驾驶算法模块,通过自动驾驶算法中的目标节点接收第二仿真数据,其中,目标节点为已经订阅定位信息、姿态信息或感知信息的节点;再次,接收自动驾驶算法模块的控制节点基于第二仿真数据发布的第二ROS话题,其中,第二ROS话题中包括第一控制指令;之后,将第一控制指令转换为基于第一地图标准的第二控制指令,其中,第二控制指令是基于第二地图标准生成的;最后,将第二控制指令发送给仿真软件模块,仿真软件模块根据第二控制指令控制被测车辆在仿真场景中运行。
本方案通过桥接器模块将仿真软件模块输出的数据和自动驾驶算法模块的控制节点输出的数据转换成彼此可识别的数据,桥接器模块与自动驾驶算法模块的各节点之间通过ROS话题通讯的方式进行数据传输,在进行测试环境搭建时,只需要根据自动驾驶算法模块中的各节点的实际需求订阅对应的定位信息、姿态信息或感知信息,无需再考虑各信息的数据传输过程,也无需在桥接器模块与自动驾驶算法模块之间建立数据传输通路,从而有效地简化了仿真测试环境的搭建过程;在进行仿真测试过程时,桥接器模块只需要将定位信息、姿态信息或感知信息以第一ROS话题的方式发布,自动驾驶算法模块的各节点只需要订阅需要的信息即可接收对应的第一ROS话题,无需进行其他的操作,从而有效地减小了仿真测试过程的操作难度。
桥接器模块与自动驾驶算法模块的各节点之间通过ROS话题通讯的方式进行数据传输,使得每个节点发出的话题都可以被其他各节点订阅;在进行话题订阅时,只需要在配置文件时增加需要订阅的话题的名称即可实现,无需对该节点内部的代码进行更改,使操作过程更加简单。
本发明可以直接从仿真软件模块中获取自动驾驶算法模块所需的地图数据,可以直接从仿真软件的地图中直接获取地图数据,从而减小了仿真测试技术对地图的依赖性。
本发明中的各个节点都是独立的节点,对其中一个节点的参数细节进行修改时,不会影响其他节点内部代码的执行。
本发明结合仿真软件模块与自动驾驶算法模块对车辆进行联合仿真测试,桥接器模块与自动驾驶算法模块的各节点之间通过ROS话题通讯的方式进行数据传输,能够加速自动驾驶算法模块的迭代速度和里程积累。与传统的实车测试相比,本发明还能缩短测试周期,降低实车测试的危险性。
图3为本发明实施例提供的第二种仿真测试方法的步骤流程图。
如图3所示,仿真测试方法应用于仿真测试系统中的自动驾驶算法模块,仿真测试系统还包括桥接器模块和仿真软件模块,方法包括:
步骤301、接收桥接器模块发布的第一ROS话题。第一ROS话题内容为基于第二地图标准的第二仿真数据,第二仿真数据为桥接器将基于第一地图标准的第一仿真数据转换得到的,第一仿真数据为仿真软件模块采集的仿真场景中的被测车辆在当前时刻的目标种类的信息;目标种类为定位信息、感知信息和姿态信息中的一种;目标节点接收第二仿真数据,并将对第二仿真数据的处理结果发送给自动驾驶算法模块中的控制节点;目标节点为自动驾驶算法模块中已订阅目标种类的信息的节点。
其中,如图2所示,目标节点为地图节点、融合预测节点以及决策规划节点中的至少一个,地图节点订阅定位信息,融合预测节点订阅定位信息以及感知信息,决策规划节点订阅定位信息以及姿态信息。
目标节点接收第二仿真数据,具体包括:
在第二仿真数据为定位信息的情况下,地图节点、融合预测节点以及决策规划节点接收第二仿真数据。
在第二仿真数据为感知信息的情况下,融合预测节点接收第二仿真数据。
在第二仿真数据为姿态信息的情况下,决策规划节点接收第二仿真数据。
融合预测节点还订阅地图节点发布的话题,决策规划节点还订阅地图节点和融合预测节点发布的话题,控制节点订阅决策规划节点发布的话题。
目标节点接收第二仿真数据,并将对第二仿真数据的处理结果发送给自动驾驶算法模块中的控制节点,具体包括:
地图节点接收第二仿真数据中的定位信息,并根据定位信息生成路线和地图信息。
地图节点将路线和地图信息以第三ROS话题的格式发布。
融合预测节点接收第三ROS话题,并根据第三ROS话题中包括的路线和地图信息,以及接收到的定位信息和感知信息,生成预测信息。
融合预测节点将预测信息以第四ROS话题的格式发布。
决策规划节点接收第四ROS话题以及第三ROS话题。
决策规划节点根据第四ROS话题中的预测信息和第三ROS话题中的路线和地图信息,以及接收到的定位信息和感知信息,对被测车辆下一时刻的运行状态进行决策规划,并根据决策规划的结果生成处理结果。
决策规划节点将处理结果以第五ROS话题的格式发布。
控制节点接收第五ROS话题。
步骤302、控制节点根据处理结果生成第一控制指令,并将第一控制指令以第二ROS话题的格式发布到桥接器模块,以使桥接器模块将第一控制指令转换为基于第一地图标准的第二控制指令,并将第二控制指令发送给仿真软件模块。第一控制指令基于第二地图标准生成,第二控制指令用于控制被测车辆在仿真场景中运行。
具体的,控制节点根据第五ROS话题中的处理结果生成第一控制指令,并将第一控制指令以第二ROS话题的格式发布到桥接器模块,通过桥接器模块将基于第二地图标准生成的第一控制指令转换为仿真软件模块可识别的基于第一地图标准生成的第二控制指令,并将第二控制指令发送至仿真软件模块,仿真软件模块通过第二控制指令控制被测车辆在仿真场景中运行。
图4为本发明实施例提供的第三种仿真测试方法的步骤流程图。
如图4所示,仿真测试系统包括桥接器模块、自动驾驶算法模块和仿真软件模块。
步骤401、桥接器模块接收仿真软件模块发送的第一仿真数据。第一仿真数据为位于仿真场景中的被测车辆的目标种类的信息,目标种类为定位信息、姿态信息和感知信息中的一种,第一仿真数据基于第一地图标准生成。
具体的,通过仿真软件模块获取被测车辆基于第一地图标准生成的定位信息、姿态信息以及感知信息等第一仿真数据。
之后,通过桥接器模块对应接收仿真软件模块发送的定位信息、姿态信息以及感知信息。
其中,定位信息包括被测车辆的自车位置信息、速度、加速度以及航向;感知信息包括障碍物的位置、速度、加速度以及航向角、感知车道线;姿态信息包括被测车辆的刹车/油门、加速度、方向盘转角以及车轮状态信息。
步骤402、桥接器模块将第一仿真数据转换为基于第二地图标准的第二仿真数据,并将第二仿真数据以第一ROS话题的格式发布到自动驾驶算法模块,以使自动驾驶算法模块中的目标节点接收第二仿真数据。目标节点为已订阅目标种类的信息的节点。
具体的,桥接器模块将基于第一地图标准的第一仿真数据转换为基于第二地图标准的第二仿真数据,并将第二仿真数据以第一ROS话题的格式发出。
之后,通过自动驾驶算法模块中的已订阅目标种类的信息的节点接收对应的第一ROS话题。
步骤403、自动驾驶算法模块的目标节点接收桥接器模块发布的第一ROS话题,对第一ROS话题中的第二仿真数据进行处理,并将处理结果发送至自动驾驶算法模块的控制节点。
具体的,自动驾驶算法模块的目标节点包括地图节点、融合预测节点以及决策规划节点中的至少一个。地图节点订阅定位信息,融合预测节点订阅定位信息以及感知信息,决策规划节点订阅定位信息以及姿态信息。
通过地图节点、融合预测节点以及决策规划节点分别对其订阅的第一ROS话题中的第二仿真数据进行处理,并将最终的处理结果发送到自动驾驶算法模块的控制节点。
步骤404、自动驾驶算法模块的控制节点根据处理结果生成第一控制指令,并将第一控制指令以第二ROS话题的格式发布到桥接器模块。
具体的,自动驾驶算法模块的控制节点根据处理结果生成基于第二地图标准的第一控制指令;之后,将第一控制指令通过第二ROS话题的格式发布到桥接器模块进行处理。
步骤405、桥接器模块接收自动驾驶算法模块的控制节点基于第二仿真数据发布的第二ROS话题。第二ROS话题中包括第一控制指令。
其中,第二仿真数据具体为自动驾驶算法模块的控制节点输出的刹车/油门、加速度以及方向盘转角信息。
具体的,通过桥接器模块订阅自动驾驶算法模块的控制节点,使桥接器模块可以接收到第二ROS话题。
步骤406、桥接器模块将第一控制指令转换为基于第一地图标准的第二控制指令。第一控制指令基于第二地图标准生成。
具体的,通过桥接器模块将基于第二地图标准生成的第一控制指令转换为基于第一地图标准生成的第二控制指令,即将第一控制指令转变为仿真软件模块可识别的第二控制指令。
步骤407、桥接器模块将第二控制指令发送给仿真软件模块,以使仿真软件模块根据第二控制指令控制被测车辆在仿真场景中运行。
具体的,桥接器模块将第二控制指令通过TCP通信端口发送至仿真软件模块的动力学节点,仿真软件模块的动力学节点根据第二控制指令控制被测车辆在仿真场景中的运行。
图5为本发明实施例提供的仿真测试装置的结构框图。
如图5所示,仿真测试装置应用于仿真测试系统中的桥接器模块,仿真测试系统还包括自动驾驶算法模块和仿真软件模块,装置包括:
第一处理模块501,用于接收仿真软件模块发送的第一仿真数据,第一仿真数据为位于仿真场景中的被测车辆的目标种类的信息,目标种类为定位信息、姿态信息和感知信息中的一种,第一仿真数据基于第一地图标准生成;
第二处理模块502,用于将第一仿真数据转换为基于第二地图标准的第二仿真数据,并将第二仿真数据以第一ROS话题的格式发布到自动驾驶算法模块,以使自动驾驶算法模块中的目标节点接收第二仿真数据;目标节点为已订阅目标种类的信息的节点;
第三处理模块503,用于接收自动驾驶算法模块的控制节点基于第二仿真数据发布的第二ROS话题,第二ROS话题中包括第一控制指令;
第四处理模块504,用于将第一控制指令转换为基于第一地图标准的第二控制指令,第一控制指令基于第二地图标准生成;
第五处理模块505,用于将第二控制指令发送给仿真软件模块,以使仿真软件模块根据第二控制指令控制被测车辆在仿真场景中运行。
桥接器模块包括多个话题发布端口,第二处理模块502具体被配置为执行:
通过多个话题发布端口中的第一话题发布端口发布包括定位信息的第一ROS话题,通过第二话题发布端口发布包括姿态信息的第一ROS话题,通过第三话题端口发布包括感知信息的第一ROS话题。
桥接器模块还包括话题订阅端口。第三处理模块503具体被配置为执行通过话题订阅端口接收自动驾驶算法模块的控制节点基于第二仿真数据发布的第二ROS话题。
仿真软件模块包括定位节点、感知节点和车身姿态节点。第一处理模块501具体被配置为执行:
通过TCP通信端口接收仿真软件模块的目标节点发送的第一仿真数据,目标节点为定位节点、感知节点和车身姿态节点中的至少一个;
仿真软件模块还包括动力学节点。第五处理模块505具体被配置为执行:
通过TCP通信端口将第二控制指令发送给动力学节点。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供了一种电子设备,电子设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现本发明实施例中的仿真测试方法。
本发明实施例还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现本发明实施例中的仿真测试方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种仿真测试方法,其特征在于,应用于仿真测试系统中的桥接器模块,所述仿真测试系统还包括自动驾驶算法模块和仿真软件模块,所述方法包括:
接收仿真软件模块发送的第一仿真数据,所述第一仿真数据为位于仿真场景中的被测车辆的目标种类的信息,所述目标种类为定位信息、姿态信息和感知信息中的一种,所述第一仿真数据基于第一地图标准生成;
将所述第一仿真数据转换为基于第二地图标准的第二仿真数据,并将所述第二仿真数据以第一ROS话题的格式发布到自动驾驶算法模块,以使所述自动驾驶算法模块中的目标节点接收所述第二仿真数据;所述目标节点为已订阅所述目标种类的信息的节点;
接收所述自动驾驶算法模块的控制节点基于所述第二仿真数据发布的第二ROS话题,所述第二ROS话题中包括第一控制指令;
将所述第一控制指令转换为基于所述第一地图标准的第二控制指令,所述第一控制指令基于所述第二地图标准生成;
将所述第二控制指令发送给所述仿真软件模块,以使所述仿真软件模块根据所述第二控制指令控制所述被测车辆在所述仿真场景中运行。
2.根据权利要求1所述的方法,其特征在于,所述桥接器模块包括多个话题发布端口,其中,所述多个话题发布端口中的第一话题发布端口用于发布包括定位信息的第一ROS话题,第二话题发布端口用于发布包括姿态信息的第一ROS话题,第三话题端口用于发布包括感知信息的第一ROS话题。
3.根据权利要求2所述的方法,其特征在于,所述桥接器模块还包括话题订阅端口;所述接收所述自动驾驶算法模块的控制节点基于所述第二仿真数据发布的第二ROS话题,具体为:
所述话题订阅端口接收所述自动驾驶算法模块的控制节点基于所述第二仿真数据发布的第二ROS话题。
4.根据权利要求3所述的方法,其特征在于,所述仿真软件模块包括定位节点、感知节点和车身姿态节点;所述接收仿真软件模块发送的第一仿真数据,具体为:
通过TCP通信端口接收所述仿真软件模块的目标节点发送的第一仿真数据,所述目标节点为所述定位节点、感知节点和车身姿态节点中的至少一个;
所述仿真软件模块还包括动力学节点;所述将所述第二控制指令发送给所述仿真软件模块,具体为:
通过TCP通信端口将所述第二控制指令发送给所述动力学节点。
5.一种仿真测试方法,其特征在于,应用于仿真测试系统中的自动驾驶算法模块,所述仿真测试系统还包括桥接器模块和仿真软件模块,所述方法包括:
接收所述桥接器模块发布的第一ROS话题,所述第一ROS话题内容为基于第二地图标准的第二仿真数据,所述第二仿真数据为所述桥接器将基于第一地图标准的第一仿真数据转换得到的,所述第一仿真数据为所述仿真软件模块采集的仿真场景中的被测车辆在当前时刻的目标种类的信息;所述目标种类为定位信息、感知信息和姿态信息中的一种;目标节点接收所述第二仿真数据,并将对所述第二仿真数据的处理结果发送给所述自动驾驶算法模块中的控制节点;所述目标节点为所述自动驾驶算法模块中已订阅所述目标种类的信息的节点;
所述控制节点根据所述处理结果生成第一控制指令,并将所述第一控制指令以第二ROS话题的格式发布到所述桥接器模块,以使所述桥接器模块将所述第一控制指令转换为基于第一地图标准的第二控制指令,并将所述第二控制指令发送给所述仿真软件模块;所述第一控制指令基于第二地图标准生成,所述第二控制指令用于控制所述被测车辆在所述仿真场景中运行。
6.根据权利要求5所述的方法,其特征在于,所述目标节点为地图节点、融合预测节点以及决策规划节点中的至少一个,所述地图节点订阅所述定位信息,所述融合预测节点订阅所述定位信息以及所述感知信息,所述决策规划节点订阅所述定位信息以及所述姿态信息;所述目标节点接收所述第二仿真数据,具体包括:
在所述第二仿真数据为所述定位信息的情况下,所述地图节点、所述融合预测节点以及所述决策规划节点接收所述第二仿真数据;
在所述第二仿真数据为所述感知信息的情况下,所述融合预测节点接收所述第二仿真数据;
在所述第二仿真数据为姿态信息的情况下,所述决策规划节点接收所述第二仿真数据。
7.根据权利要求6所述的方法,其特征在于,所述融合预测节点还订阅所述地图节点发布的话题,所述决策规划节点还订阅所述地图节点和所述融合预测节点发布的话题,所述控制节点订阅所述决策规划节点发布的话题;所述目标节点接收所述第二仿真数据,并将对所述第二仿真数据的处理结果发送给所述自动驾驶算法模块中的控制节点,具体包括:
所述地图节点接收所述第二仿真数据中的定位信息,并根据所述定位信息生成路线和地图信息;
所述地图节点将所述路线和地图信息以第三ROS话题的格式发布;
所述融合预测节点接收所述第三ROS话题,并根据所述第三ROS话题中包括的路线和地图信息,以及接收到的定位信息和感知信息,生成预测信息;
所述融合预测节点将所述预测信息以第四ROS话题的格式发布;
所述决策规划节点接收所述第四ROS话题以及所述第三ROS话题;
所述决策规划节点根据所述第四ROS话题中的预测信息和所述第三ROS话题中的路线和地图信息,以及接收到的所述定位信息和所述感知信息,对所述被测车辆下一时刻的运行状态进行决策规划,并根据所述决策规划的结果生成处理结果;
所述决策规划节点将所述处理结果以第五ROS话题的格式发布;
所述控制节点接收所述第五ROS话题。
8.一种仿真测试装置,其特征在于,应用于仿真测试系统中的桥接器模块,所述仿真测试系统还包括自动驾驶算法模块和仿真软件模块,所述装置包括:
第一处理模块,用于接收仿真软件模块发送的第一仿真数据,所述第一仿真数据为位于仿真场景中的被测车辆的目标种类的信息,所述目标种类为定位信息、姿态信息和感知信息中的一种,所述第一仿真数据基于第一地图标准生成;
第二处理模块,用于将所述第一仿真数据转换为基于第二地图标准的第二仿真数据,并将所述第二仿真数据以第一ROS话题的格式发布到自动驾驶算法模块,以使所述自动驾驶算法模块中的目标节点接收所述第二仿真数据;所述目标节点为已订阅所述目标种类的信息的节点;
第三处理模块,用于接收所述自动驾驶算法模块的控制节点基于所述第二仿真数据发布的第二ROS话题,所述第二ROS话题中包括第一控制指令;
第四处理模块,用于将所述第一控制指令转换为基于所述第一地图标准的第二控制指令,所述第一控制指令基于所述第二地图标准生成;
第五处理模块,用于将所述第二控制指令发送给所述仿真软件模块,以使所述仿真软件模块根据所述第二控制指令控制所述被测车辆在所述仿真场景中运行。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-7中任一项所述的自动驾驶仿真测试方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1-7中任一项所述的自动驾驶仿真测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310018023.4A CN116047933A (zh) | 2023-01-06 | 2023-01-06 | 一种仿真测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310018023.4A CN116047933A (zh) | 2023-01-06 | 2023-01-06 | 一种仿真测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116047933A true CN116047933A (zh) | 2023-05-02 |
Family
ID=86119639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310018023.4A Pending CN116047933A (zh) | 2023-01-06 | 2023-01-06 | 一种仿真测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116047933A (zh) |
-
2023
- 2023-01-06 CN CN202310018023.4A patent/CN116047933A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7291159B2 (ja) | データ採集方法、装置、デバイス、プログラム及びコンピュータ可読記憶媒体 | |
WO2021169588A1 (zh) | 自动驾驶仿真方法和装置、电子设备及存储介质 | |
CN110209146B (zh) | 自动驾驶车辆的测试方法、装置、设备及可读存储介质 | |
CN109991987B (zh) | 自动驾驶决策方法及装置 | |
CN113848855B (zh) | 车辆控制系统测试方法、装置、设备、介质及程序产品 | |
CN112783006B (zh) | 用于自动驾驶车辆车载计算单元的硬件在环仿真测试系统 | |
CN112249035B (zh) | 基于通用数据流架构的自动驾驶方法、装置及设备 | |
CN113033925B (zh) | 用于控制自动驾驶车辆行驶、装置、电子设备和介质 | |
CN109515444B (zh) | 用于输出无人驾驶汽车的行驶性能指标的方法和装置 | |
WO2020029580A1 (zh) | 训练用于生成自动驾驶策略的控制策略模型的方法和装置 | |
JP7196189B2 (ja) | 移動ロボットを制御するための方法、装置及び制御システム | |
CN112671487B (zh) | 一种车辆测试的方法、服务器以及测试车辆 | |
CN115113542A (zh) | 自动驾驶仿真方法、系统、电子设备及可读存储介质 | |
CN113642243A (zh) | 多机器人的深度强化学习系统、训练方法、设备及介质 | |
CN114771570A (zh) | 自动驾驶车辆的控制方法和装置 | |
CN115016435A (zh) | 一种自动驾驶车辆测试方法、装置、系统、设备和介质 | |
CN114021332A (zh) | 一种调试方法、装置、设备以及存储介质 | |
CN113741223A (zh) | 车辆远程控制方法、装置、设备、介质以及自动驾驶车辆 | |
Neumeier et al. | Yet another driving simulator openrouts3d: The driving simulator for teleoperated driving | |
CN112597005A (zh) | 一种自动驾驶全栈算法闭环仿真测试系统及方法 | |
WO2024001590A1 (zh) | 一种车辆远程控制方法、装置、电子设备及存储介质 | |
CN116047933A (zh) | 一种仿真测试方法及装置 | |
CN115454082A (zh) | 车辆避障方法及系统、计算机可读存储介质和电子设备 | |
CN114282380A (zh) | 自动驾驶算法的测试方法、装置、电子设备和存储介质 | |
CN115309085A (zh) | 无人驾驶双通讯冗余控制方法、系统、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230908 Address after: Room A101, Building I, No. 7 Zhongchuang Second Road, Hangzhou Bay New Area, Ningbo City, Zhejiang Province, 315335 Applicant after: Ningbo Lutes Robotics Co.,Ltd. Address before: A504, Building 3, No. 28, Chuanjiangchi Second Road, Wuhan Economic and Technological Development Zone, Hubei 430058 Applicant before: Wuhan Lotus Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |