一种基于ROS的仿真方法、装置和电子设备制造方法及图纸

技术编号:32282803 阅读:12 留言:0更新日期:2022-02-12 19:50
本发明专利技术提供一种基于ROS的仿真方法,包括:获取目标对象的待仿真数据、仿真架构信息,以及仿真架构信息中各模块的消息发送频率;基于仿真架构信息中各模块的消息发送频率以独立发送消息命令的形式确定各模块的仿真推进虚拟时钟;将待仿真数据输入仿真系统中,并基于仿真推进虚拟时钟以及对应的虚拟时钟推进阈值对待仿真数据进行仿真,得出仿真结果;将至少两次仿真结果进行对比,确定分析结果。本发明专利技术具有更强的稳定性、兼容性;同时,本发明专利技术容易实现、使用操作简易,无需根据具体使用场景,分类使用繁杂的调度器,易实现、适用范围广、开发周期短、所需成本低。所需成本低。所需成本低。

【技术实现步骤摘要】
一种基于ROS的仿真方法、装置和电子设备


[0001]本专利技术涉及自动驾驶
,尤其涉及一种基于ROS的仿真方法、装置和电子设备。

技术介绍

[0002]在基于车路协同的自动驾驶(无人驾驶)系统中,智能车系统由多个功能模块组成,且各功能模块之间存在一定的依赖关系,如预测模块依赖于感知模块的输出;不同模块的触发条件也不相同,如规划模块是依据时钟触发的,而预测模块是依赖于感知模块数据触发的。由依赖关系和触发条件共同形成的功能模块执行顺序就是自动驾驶系统的时序。在理想情况下,每个模块都能在满足触发条件时立刻执行并在预期的时间内完成任务,即只要确保各模块的输出真实性与及时性就可以完全复现实际路测可能遇到的问题,由于仿真时路况较为复杂且考虑到最大化利用计算资源,各功能模块将无法严格按照正确的顺序执行。例如当智能车经过拥堵路段时,感知模块需要处理的数据会明显增多,规划模块也可能因为交通参与者过多导致耗时增加,时序必然与理想情况不符合,故每一次计算环境的轻微变化都有可能导致时序的变化,进而导致仿真结果行为不一致。目前主流的仿真系统内部节点的调度系统主要是基于ROS通信机制,由于ROS底层架构设计适用于机器人系统,对于智能车执行逻辑并非完美适配,故导致了“行为不一致问题”,即无法确定节点的消息处理时间,无法确定消息是否处理完成,无法确定节点运行顺序,无法保证时序一致性。在智能车系统运行中,当出现系统资源的变化,其行为也随之发生变化。例如,当仿真任务在一台机器上运行时,系统产生的结果和这台机器的状态有关,这台机器被独占使用或是和其它任务同时运行,其结果会存在差异。并且,即使不考虑资源利用率,让仿真任务独占机器资源,同一任务运行多次,结果也会有微弱的扰动。在离线环境中此问题更为凸显,由于离线环境追求资源利用率的最大化,意味着计算资源十分紧张。此时,扰动将变得不再轻微,结果也将变得更不可靠,仿真结果也就失去了价值。
[0003]因此,现有的基于ROS的仿真方法存在时序不一致的技术问题,需要改进。

技术实现思路

[0004]本专利技术提供一种基于ROS的仿真方法、装置和电子设备,用以解决现有的基于ROS的仿真方法时序不一致的技术问题。
[0005]为解决上述技术问题,本专利技术提供以下技术方案:本专利技术提供一种基于ROS的仿真方法,包括:获取目标对象的待仿真数据、仿真架构信息,以及所述仿真架构信息中各模块的消息发送频率;基于所述仿真架构信息中各模块的消息发送频率以独立发送消息命令的形式确定所述各模块的仿真推进虚拟时钟;将所述待仿真数据输入仿真系统中,并基于所述仿真推进虚拟时钟以及对应的虚
拟时钟推进阈值对所述待仿真数据进行仿真,得出仿真结果;将至少两次所述仿真结果进行对比,确定分析结果。
[0006]优选的,所述确定所述各模块的仿真推进虚拟时钟包含以下步骤:确定各模块消息的初始状态;根据所有模块的消息发送频率确定最小仿真时间单位;根据所述确定最小仿真时间单位确定虚拟时钟推进指令及虚拟时钟推进规则。
[0007]进一步优选的,所述最小仿真时间单位为各模块的消息频率在每个子阶段最大公因数。
[0008]进一步优选的,所述待仿真数据包括车辆的位置信息、速度信息。
[0009]进一步优选的,所述目标对象的仿真架构信息包括中定位、感知、跟踪、预测、规划、控制模块的架构信息以及各模块之间的耦合关系。
[0010]进一步优选的,各模块的消息发送频率,存储于相应的模块数据包。
[0011]进一步优选的,所述仿真结果进行对比是通过对同一时间戳的距离偏差求平方和的方式进行对比。
[0012]本专利技术还提供一种基于ROS的仿真装置,包括:获取模块,用于获取目标对象的待仿真数据、仿真架构信息,以及所述仿真架构信息中各模块的消息发送频率;确定模块,用于基于所述仿真架构信息中各模块的消息发送频率以独立发送消息命令的形式确定所述各模块的仿真推进虚拟时钟;仿真计算模块,用于将所述待仿真数据输入仿真系统中,并基于所述仿真推进虚拟时钟以及对应的虚拟时钟推进阈值对所述待仿真数据进行仿真,得出仿真结果;分析模块,用于将至少两次所述仿真结果进行对比,确定分析结果。
[0013]优选的,确定模块302包括:第一确定单元,用于确定各模块消息的初始状态;第二确定单元,用于根据所有模块的消息发送频率确定最小仿真时间单位;第三确定单元,用于根据所述确定最小仿真时间单位确定虚拟时钟推进指令及虚拟时钟推进规则。
[0014]本专利技术还提供一种电子设备,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行上述任一项所述的基于ROS的仿真方法中的操作。
[0015]有益效果:本专利技术提供一种基于ROS的仿真方法、装置和电子设备,相比于直接使用基于ROS通信机制的节点调度系统,本专利技术技术方案具有更强的稳定性、兼容性;同时,本专利技术容易实现、使用操作简易,无需根据具体使用场景,分类使用繁杂的调度器,易实现、适用范围广、开发周期短、所需成本低。
附图说明
[0016]下面结合附图,通过对本专利技术的具体实施方式详细描述,将使本专利技术的技术方案及其它有益效果显而易见。
[0017]图1为本专利技术的基于ROS的仿真方法的流程示意图。
[0018]图2为本专利技术的各模块的仿真推进虚拟时钟示意图。
[0019]图3为本专利技术的各模块的仿真虚拟时钟推进。
[0020]图4为本专利技术的电子设备的结构示意图。
具体实施方式
[0021]下面将结合本专利技术中的附图,对本专利技术中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0022]本专利技术提供一种基于ROS的仿真方法、装置和电子设备,用以解决现有的基于ROS的仿真方法时序不一致的技术问题。
[0023]请参阅图1,图1是本专利技术的基于ROS的仿真方法的流程示意图,该方法包括:S101:获取目标对象的待仿真数据、仿真架构信息,以及所述仿真架构信息中各模块的消息发送频率。
[0024]从仿真系统中获取目标对象的待仿真数据、仿真架构信息,以及所述仿真架构信息中各模块的消息发送频率,例如,定位模块频率为100Hz,感知模块频率为10Hz,跟踪模块频率为10Hz,预测模块频率为10Hz,规划模块频率为10Hz,控制模块频率为100Hz,待仿真数据、仿真架构信息可以从仿真系统中直接调取,也可以手动输入,待仿真数据包括但不限于车辆的位置信息、速度信息等信息;目标对象的仿真架构信息包括中定位、感知、跟踪、预测、规划、控制模块的架构信息以及各模块之间的耦合关系,具体的,感知模块的消息是由仿真平台从数据包读取并发送的,故需要区分测试模块发送的消息与仿真平台自发的消息,各模块的消息发送频率,可以在相应的模块数据包中直接读取,也可以根据实际仿真需要,手动本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于ROS的仿真方法,其特征在于,包括:获取目标对象的待仿真数据、仿真架构信息,以及所述仿真架构信息中各模块的消息发送频率;基于所述仿真架构信息中各模块的消息发送频率以独立发送消息命令的形式确定所述各模块的仿真推进虚拟时钟;将所述待仿真数据输入仿真系统中,并基于所述仿真推进虚拟时钟以及对应的虚拟时钟推进阈值对所述待仿真数据进行仿真,得出仿真结果;将至少两次所述仿真结果进行对比,确定分析结果。2.如权利要求1所述的基于ROS的仿真方法,其特征在于,所述确定所述各模块的仿真推进虚拟时钟包含以下步骤:S102a:确定各模块消息的初始状态;S102b:根据所有模块的消息发送频率确定最小仿真时间单位;S102c:根据所述确定最小仿真时间单位确定虚拟时钟推进指令及虚拟时钟推进规则。3.如权利要求2所述的基于ROS的仿真方法,其特征在于,所述最小仿真时间单位为各模块的消息频率在每个子阶段最大公因数。4.如权利要求2所述的基于ROS的仿真方法,其特征在于,所述待仿真数据包括车辆的位置信息、速度信息。5.如权利要求2所述的基于ROS的仿真方法,其特征在于,所述目标对象的仿真架构信息包括中定位、感知、跟踪、预测、规划、控制模块的架构信息以及各模块之间的耦合关系。6.如权利要求1所述的基于ROS的仿真方法,其特征在于,所述...

【专利技术属性】
技术研发人员:吴开阳王劲
申请(专利权)人:中智行科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1