一种基于ros的分布式仿真测试系统的制作方法

文档序号:36873438发布日期:2024-02-02 20:53阅读:17来源:国知局
一种基于ros的分布式仿真测试系统的制作方法

本发明涉及仿真测试的,尤其涉及一种基于ros的分布式仿真测试系统。


背景技术:

1、在自动驾驶和机器人领域,仿真环境的应用非常重要,如carla和unreal engine(ue)等组合的自动驾驶仿真环境已经成为研究和开发的关键工具。以下是一些与这些仿真环境相关的主要应用和优势:

2、(1)自动驾驶系统开发和测试:自动驾驶仿真环境允许开发者在虚拟世界中测试自动驾驶系统的性能,而无需实际上路测试。这有助于降低开发成本、提高安全性,并且可以模拟各种道路和交通情况,包括紧急情况和极端天气条件。

3、(2)算法开发和优化:仿真环境为自动驾驶算法的开发提供了理想的平台。开发者可以在虚拟世界中快速迭代和测试各种感知、决策和控制算法,以优化自动驾驶系统的性能。

4、(3)机器学习和深度学习:仿真环境对于机器学习和深度学习模型的训练和验证非常有用。开发者可以生成大量的虚拟数据,用于训练和评估自动驾驶系统中的感知和决策模型。

5、(4)安全性测试:仿真环境允许在安全控制下测试自动驾驶系统的应对紧急情况和危险场景的能力,而不会对真实世界产生危险。这有助于提高自动驾驶系统的安全性。

6、(5)硬件和传感器仿真:自动驾驶仿真环境可以模拟各种传感器,如激光雷达、摄像头、超声波传感器等的输出,以测试感知系统的性能。

7、(6)快速原型开发:仿真环境允许快速原型开发和验证新的自动驾驶概念和技术,而无需进行昂贵的实际道路测试。

8、然而,在现有技术中,仿真又可以细分为渲染、动力学、传感器等模块。同时对于各个模块来说,市面上已经形成很多优秀的产品或者工具,可以应用到仿真系统的开发过程中。举个例子来说,在以carla+ue为工具开发的仿真环境中,渲染、动力学、传感器等模块都是由ue提供的。同时除了ue之外每个模块都有一些其他代表性的产品或工具,如机器人仿真软件webots,里面有丰富的传感器模型,如在动力学领域知名的开源动力学软件ode。

9、但是,现有技术中的仿真环境的构建方法,也存在一些缺陷,以carla+ue的自动驾驶仿真环境为例,存在以下缺陷:

10、(a)高度耦合。由于渲染、动力学、传感器模块都由ue提供,如果想更换其他动力学引擎十分困难,想更换传感器则需要修改ue源码。

11、(b)不利于大团队开发,由于高度依赖ue源码,往往需要既懂ue又懂开发和其他知识的人员才能熟练使用整套系统。

12、(c)一旦ue不被允许使用,整个系统将报废。

13、(d)不利于资源使用,由于ue高度依赖gpu,对电脑配置要求高,如果一个电脑运行了多个带有ue的仿真程序任务,gpu往往很快达到瓶颈,而cpu资源还有很多富余(或者正好相反),而此时对于该电脑来说,无法再继续增加仿真任务,该电脑的利用到此为止。


技术实现思路

1、针对上述问题,本发明的目的在于提供一种基于ros的分布式仿真测试系统,将整个仿真测试系统按照仿真业务进行拆分,拆分为包括任务管理中心、动力学中心、渲染中心在内的仿真中心,各个仿真中心之间实现业务的解耦,各中心可以单独开发,从而实现和达到更优的使用和资源利用。

2、本发明的上述发明目的是通过以下技术方案得以实现的:

3、一种基于ros的分布式仿真测试系统,包括:任务管理中心、动力学中心、渲染中心;

4、所述任务管理中心、所述动力学中心和所述渲染中心为依据仿真测试系统的任务功能进行拆分后的不同仿真中心,同时不同的所述仿真中心单独解耦开发设计,并在单独解耦开发设计后在不同的所述仿真中心布设ros节点,采用ros的通信机制进行信息交换;

5、所述任务管理中心用于接收仿真任务将所述仿真任务分发至除本身之外的其他所述仿真中心进行任务处理,并接收其他所述仿真中心的信息反馈;

6、所述动力学中心用于接收所述任务管理中心的动力学任务,并将所述动力学任务进行数据处理后作用于刚体运动过程中,同时从所述任务管理中心或所述渲染中心获取物体参数信息计算力对所述刚体的影响;

7、所述渲染中心用于接收所述任务管理中心的渲染任务,并将所述物体参数信息发送给所述动力学中心以及接收所述动力学中心的反馈数据,同时将仿真图像渲染到画面中。

8、进一步地,所述任务管理中心包括油门控制和转向控制在内的与动力学相关的算法与控制,以及包括参数控制、其他控制在内的与渲染相关的算法与控制;

9、所述油门控制用于控制所述动力学中心中所述刚体运动时的发动机动力输出,所述转向控制用于控制所述动力学中心中所述刚体运动时刚体运动方向的控制;

10、所述参数控制用于设置所述渲染中心中包括地面参数、物体几何参数在内的参数,所述其他控制用于对所述渲染中心中进行获取包括天气、地图在内的环境因素进行任务控制。

11、进一步地,所述动力学中心包括发动机模块、变速箱模块、刚体计算模块、轮胎或履带模块在内的模块;

12、所述发动机模块用于接收所述油门控制下发的油门控制指令,对所述刚体进行包括转速和扭矩在内的发动机动力输出,所述变速箱模块用于接收所述油门控制下发的油门控制指令,控制发动机与刚体车轮的转速间的比值;

13、所述刚体计算模块用于接收所述渲染中心或所述任务管理中心中的所述物体几何参数,并结合所述物体几何参数计算力对所述刚体的影响;

14、所述轮胎或履带模块用于接收所述地面参数,对轮胎和履带进行设计选择或调整。

15、进一步地,在所述刚体计算模块中,结合所述物体几何参数计算力对所述刚体的影响,具体包括:

16、计算出力作用于物体后,物体在笛卡尔坐标系中的新位置和新欧拉角,并依据所述新位置和所述新欧拉角计算出从原位置和原欧拉角到所述新位置和所述新欧拉角所需的变换矩阵m,并将所述变换矩阵m通过ros通信方式传到所述渲染中心,所述渲染中心在所述变换矩阵m下叠加包括摄像机矩阵、投影矩阵在内的矩阵,最终渲染到驾驶场景画面中。

17、进一步地,所述渲染中心包括地面参数模块、物体几何参数模块在内的参数控制模块,以及包括天气控制模块、地图控制模块在内的环境因素控制模块;

18、所述地面参数模块用于接收所述任务管理中心下发的所述地面参数设置任务,对所述地面参数进行设置,并将所述地面参数发送到所述轮胎和履带模块对轮胎和履带进行设计选择或调整;

19、所述物体几何参数模块用于接收所述任务管理中心下发所述物体几何参数的设置任务,并将所述物体几何参数发送到所述刚体计算模块,结合所述物体几何参数计算力对所述刚体的影响,其中所述物体几何参数包括几何尺寸、质心和连接关系在内的信息;

20、所述天气控制模块用于接收所述任务管理中心下发的天气控制任务,并将获取的天气渲染到真实驾驶场景的画面中;

21、所述地图控制模块用于接收所述任务管理中心下发的地图控制任务,并将获取的地图渲染到真实驾驶场景的画面中。

22、进一步地,所述动力学中心将包括刚体位置在内的信息反馈给所述任务管理中心,所述渲染中心将包括摄像头数据在内的信息反馈给所述任务管理中心;

23、所述任务管理中心结合所述动力学中心和所述渲染中心反馈的信息对所述仿真任务进行调度。

24、进一步地,基于ros的分布式仿真测试系统,还包括:传感器中心;

25、所述传感器中心用于提供传感参数和数据信息,将所述数据信息发送给所述渲染中心,其中,所述数据信息包括摄像头矩阵、焦距、畸变系数在内的摄像头模型信息;

26、所述传感器中心从所述渲染中心获取摄像机所产生的基本图像,在所述传感器中心做包括图像畸变、噪声生成、特效添加在内的处理,并将处理完的图像通过所述任务管理中心返回给所述仿真任务。

27、进一步地,所述动力学中心还包括动力学资源管理模块,所述渲染中心包括渲染资源管理模块,所述传感器中心包括传感器资源管理模块;

28、所述动力学资源管理模块调度所述动力学中心的cpu、gpu的资源全部用于动力学计算;

29、所述渲染资源管理模块调度所述渲染中心的gpu的资源全部用于渲染计算,以及调度cpu和gpu内存用于辅助渲染相关;

30、所述传感器资源管理模块根据所述传感器中心的特点,增加硬件设施来实现增强效果。

31、进一步地,建立数据共享机制,在所述任务管理中心、所述动力学中心和所述渲染中心之间进行数据共享。

32、进一步地,分别在所述任务管理中心、所述动力学中心和所述渲染中心中各个模块上设置所述ros节点,在各个模块之间采用ros的通信机制进行信息交换。

33、与现有技术相比,本发明包括以下至少一种有益效果是:

34、(1)通过提供一种基于ros的分布式仿真测试系统,包括:任务管理中心、动力学中心、渲染中心;所述任务管理中心、所述动力学中心和所述渲染中心为依据仿真测试系统的任务功能进行拆分后的不同仿真中心,同时不同的所述仿真中心单独解耦开发设计,并在单独解耦开发设计后在不同的所述仿真中心布设ros节点,采用ros的通信机制进行信息交换。上述技术方案,把整个仿真测试系统合理的拆分为任务管理中心、动力学中心和渲染中心,实现了各个中心的解耦,后续通过任务管理中心把仿真任务分发到不同的中心进行处理,实现了业务的分类集中处理。同时采用ros节点实现各个中心的信息交换,实现联机部署。

35、(2)通过布设ros节点,采用ros的通信机制进行信息交换。可以在信息交互时采用特定的数据结构或者格式进行交互,方便各个中心之间的信息交互。

36、(3)各个中心在解耦后,可以实现任意中心的替换。例如在动力学中心可以更换其他的动力学软件,且对其他的中心无影响。

37、(4)能够根据各个中心的特点进行代码优化提升速度。由于每个中心只做一类事情,代码和流程中有高度的一致性和重复性,因此可以针对这些做专项优化。

38、(5)硬件资源成本降低,例如在动力学中心中可以不需要gpu,或采用低端的gpu,而渲染中心中则需要更高的gpu。硬件资源利用率高,例如在渲染中心中,将资源向gpu中倾斜,在动力学中心中,资源向cpu倾斜。

39、(6)有利于团队协作,各个中心只需要找专人负责,而不需要关心其他中心。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1