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

一种面向自动驾驶场景的数字孪生系统和构建方法

2022-12-02 23:46:52 来源:中国专利 TAG:


1.本发明属于自动驾驶技术领域,具体涉及面向自动驾驶场景的数字孪生系统和构建方法。


背景技术:

2.自动驾驶技术是在没有人为操作的情况下,依靠计算机与人工智能技术,完成完整、安全、有效驾驶的一项前沿科技。
3.现有的自动驾驶系统在开发和设计时通常需要在自动驾驶仿真平台上进行相关算法验证,然后再进一步部署到真实世界场景。但在自动驾驶仿真平台上验证存在以下缺点,首先仿真平台的场景搭建与真实世界通常不一致,不能够完全反映出真实场景的状态,且仿真平台下无法反映出实际车辆及传感器的真实运行状态;其次,仿真平台的验证在时间域上早于真实世界验证,无法做到实时同步;最后,仿真平台与真实世界并无关联,无法构建两者的数据交互。


技术实现要素:

4.本发明的目的在于提供一种面向自动驾驶场景的数字孪生系统和方法,在自动驾驶系统运行时,能够在虚拟空间中反映出实际车辆及传感器的真实运行状态,实现自动驾驶系统状态监控和历史状态的故障定位。
5.本发明提出的面向自动驾驶场景的数字孪生系统,包括数字孪生体定义模块、数字孪生场景搭建模块,其中:所述数字孪生体定义模块,按照自动驾驶的需求对自动驾驶场景中的物理实体进行孪生体的定义,包括孪生体类别、孪生体数据、孪生体数据封装的定义;所述数字孪生场景搭建模块,通过三维重建技术对不同的物理实体进行建模,并构建孪生体模型库,然后再基于游戏引擎类软件搭建虚拟孪生体世界;最后将真实世界中采集到的物理实体数据映射到对应的孪生体模型上,利用真实数据驱动数字孪生场景下的自动驾驶系统的运行,实现真实空间和虚拟空间的实时映射和同步;具体包括孪生体建模、天气系统建模、道路建模、场景建模。
6.进一步地,所述数字孪生体定义模块中:所述数字孪生体定义模块,按照自动驾驶的需求对自动驾驶场景中的物理实体进行孪生体的定义,包括孪生体类别、孪生体数据、孪生体数据封装的定义;其中:所述孪生体类别,构建自动驾驶场景中的孪生体类别,主要包括车辆类孪生体、传感器类孪生体、道路交通类孪生体、自动驾驶系统类孪生体等,并通过继承的方式进行细分;所述孪生体数据,对不同类别的孪生定义不同的数据,每类孪生体拥有特定的数据,其中:所述车辆类孪生体包括车辆当前速度、方向盘转向、车灯状态、汽车引擎状态和胎
压等数据;所述传感器类孪生体包括rgb图像、深度图像、激光点云、温度和湿度等数据;所述道路交通类孪生体包括交通标志、交通信号和路况等数据;所述自动驾驶系统类孪生体包括感知、定位、路径规划和决策等数据;所述孪生体数据封装对上述所涉及到的孪生体数据基于面向对象的思想进行抽象和封装,包括构建统一的孪生体数据格式,构建用于存储和读取的孪生体数据库,构建用于快速传输的数据传输链路。
7.进一步地,所述数字孪生场景搭建模块中:所述孪生体建模,是使用三维重建技术对自动驾驶场景中的物理实体进行数字化建模,并搭建孪生体模型库;所述天气系统建模,是使用游戏引擎模拟不同天气,包括晴天、阴天、雨天、雪天等天气,构建建天气系统,从而验证自动驾驶系统在不同天气情况下的运行效果;所述道路建模,是对自动驾驶道路进行建模处理,包括道路周围建筑群、道路结构、道路标志牌、道路红绿灯等;所述场景建模,是搭建自动驾驶场景综合使用所述孪生体模型库和所述天气系统,基于真实自动驾驶场景搭建等比例还原的数字孪生场景。
8.本发明还提出一种面向自动驾驶场景的孪生体的构建方法,为自动驾驶场景所涉及的真实世界物体实体提供统一的数据对象,包含数据封装、数据读写和数据传输;首先对真实世界的物理实体进行分类,通过数据封装之后成为独立于物理实体原始数据的孪生体形式,同时该孪生体数据可以以存储或读取的方式与数据库进行交互,并最终传输至虚拟空间下对应的孪生体模型之中,进而驱动虚拟空间下的自动驾驶系统的运行。
9.所述的数据封装,为自动驾驶场景所涉及的真实世界物体实体提供统一的数据对象构造方式,具体步骤为:步骤1:构建抽象类别的数据对象,如车辆类孪生体对象、传感器类孪生体对象、道路交通类孪生体对象、自动驾驶系统类孪生体对象;需要说明的是,该抽象类只有成员函数的声明接口,需要利用多态的特性在派生类中实现具体功能需求,并且该对象没有具体的数据成员;步骤2:采用继承的方法扩展抽象对象,如继承自传感器对象并派生为深度相机传感器对象,可以获得传感器对象成员函数的声明接口,并可以进一步添加派生对象的特有属性;步骤3:对步骤2得到派生类添加其特有的数据成员,如深度相机传感器对象中添加深度图像的数据,激光雷达传感器对象中添加激光点云信息;需要说明的是,该派生类的数据成员的格式取决于其对应的不同物理实体原始数据的格式,因此采用派生类的方法可以方便的对不同类型物理实体的数据进行管理和扩充;步骤4:派生类的成员函数继承自其抽象基类所定义的成员函数声明接口,根据数据类别的不同各自实现其特有功能需求。
10.所述的数据传输,构建统一的数据订阅和发布接口,具体步骤为:步骤1:利用派生类的多态特性,采用派生类对象实例化基类指针;
步骤2:采用实例化的基类指针建立订阅机制,实时获取对应物理实体的数据,并进行数据对象的构造;步骤3:数据对象构造完成后,通过实例化的基类指针进行发布,发布封装后的数据对象,包括该数据对象的数据成员信息及数据观测的时间戳信息;步骤4:数字孪生场景对应孪生体模型接收到该数据对象,将该对象的数据和状态映射到虚拟数字孪生体,并实时可视化其数据成员,完成真实世界到虚拟世界的映射功能。
11.所述的数据读写,建立封装的数据对象和数据库的关联,将数据对象存储至数据库或从数据库中读取数据对象,具体包括:(一)数据库的存储步骤1:数据对象构造完成后,根据数据对象所述类别和当前时刻的时间戳信息,构建数据库的多级索引方法,其中首先利用对象所属的抽象类别作为键值进行第一次索引,再根据该对象的具体派生类别进行第二次索引,最后根据时间戳信息作为键值进行第三次索引;步骤2:将该派生类的数据成员按照索引存储到数据库当中,完成数据的存储;(二)数据库的读取步骤1:根据感兴趣的孪生体类别和时间戳信息,通过多级索引的方法找到对应位置的数据成员,如果能够通过索引信息找到对应数据,则进行数据的读取;如过通过索引信息无法找到对应数据则认为本次读取失败,结束数据库的读取流程;步骤2:将成功获取到的相关数据重新封装为孪生体对象,此时可以再次调用数据传输方法完成数据映射的功能。
12.需要说明的是,通过孪生体数据库的构建,数据库的存储功能实质上是实现了对真实世界自动驾驶系统运行的状态监控,数据库的读取功能实质上是通过对历史数据的读取,进而可在虚拟世界中对自动驾驶系统历史状态的故障定位。
13.本发明所述面向自动驾驶场景的数字孪生系统和构建方法,与以往的自动驾驶仿真平台不同,其以数字孪生技术为核心,可实现真实世界和虚拟世界的实时映射及同步;在自动驾驶系统运行时,能够在虚拟空间中反映出实际车辆及传感器的真实运行状态;可以构建真实世界和虚拟世界的数据交互,用于自动驾驶系统状态监控和历史状态的故障定位。
附图说明
14.图1是本发明系统的框架图示。
15.图2是本发明系统的关于rgb相机的具体实施例。
16.图3是本发明所述数据封装方法流程图示。
17.图4是本发明所述数据传输方法流程图示。
18.图5是本发明所述数据读写方法流程图示。
具体实施方式
19.下面结合附图对本发明做进一步说明。
20.如图1所示,面向自动驾驶场景的数字孪生系统,首先由自动驾驶场景中的物理空间实体出发,对该实体分别进行数据层面上的数字孪生体的定义和模型层面上的孪生体三维建模,最后完成真实空间和虚拟空间的实时映射和同步。
21.具体来说,首先由物理实体出发,在数据层面上对该实体进行孪生体的定义,其中又分为类别定义和数据定义两个流程。在类别定义上根据物理实体的不同分为几大种类,如车辆类孪生体、传感器类孪生体、道路交通类孪生体、自动驾驶系统类孪生体等,并且通过通过类继承的方式对其进行类别细分。区分类别之后,对不同类别的物理实体进行对应的数据定义,车辆类孪生体包括车辆当前速度、方向盘转向、车灯状态、汽车引擎状态和胎压等数据,传感器类孪生体包括rgb图像、深度图像、激光点云、温度和湿度等数据,道路交通类孪生体包括交通标志、交通信号和路况等数据,自动驾驶系统类孪生体包括感知、定位、路径规划和决策等数据。完成数字孪生体的定义之后对孪生体进行数据封装,将上述所涉及到的孪生体数据利用基于面向对象的思想进行抽象和封装,并在其中定义孪生体数据库的读写接口和数据传输接口。其中数据库的读写接口可用于将当前时刻的孪生体数据存入到数据库当中或者从数据库中读取历史时刻的孪生体数据,数据传输接口完成将孪生体的数据映射,使得真实世界下物理实体产生的数据可以实时映射到数字孪生场景当中。
22.然后是在模型层面上,由物体实体出发,利用三维重建技术离线得到其三维模型,然后通过对自动驾驶场景下的不同物理实体分别进行孪生体三维建模从而构建孪生体的模型资源库。同时使用游戏引擎模拟不同天气,包括晴天、阴天、雨天、雪天等天气,从而构建天气系统,可用于验证自动驾驶系统在不同天气情况下的运行效果;并且对自动驾驶道路进行建模处理,包括道路周围建筑群、道路结构、道路标志牌、道路红绿灯等,完成标准的交通场景搭建。通过结合上述的模型资源库,天气系统和道路建模,最终在游戏引擎软件当中完成整个虚拟空间下的数字孪生场景搭建。
23.最后通过上述两个流程分支,得到了每个物理实体在数据层面上的孪生体数据和模型层面上的对应模型,利用孪生体封装定义的数据传输接口完成对应数据映射,将真实空间下的相关数据映射至虚拟空间下对应的孪生体模型之中,从而利用真实数据驱动数字孪生场景下的自动驾驶系统的运行,实现真实空间和虚拟空间的实时映射和同步。
24.如图2所示,为面向自动驾驶场景的数字孪生系统的一个具体实施例,以rgb相机为例进行举例说明。首先从所构建的孪生体模型库中加载rgb相机三维模型,将其置于数字孪生场景当中。然后在数据层面上进行孪生体的构建,将其类别定义为传感器类别,数据定义为rgb图像数据。接下来进行孪生体的数据封装,由类别定义可知该rgb相机孪生体需要继承自相机基类class camera,派生类名称为class rgb_camera;由数据定义可知该孪生体的主要数据成员为图像,本例中以二维字节型数组存储图像数据,具体为char image[][];同时根据传感器真实采集的数据的时钟触发信号获得时间戳信息,在数据成员中表示为timestamp。根据存储标志位issaved判断该数据是否需要进行存储,如需要存储则通过派生类实例化的基类指针调用save()函数进行数据库的写操作,如不需要则无需调用。最后通过调用publish()函数进行数据的传输,同时在数字孪生场景中执行subscribe()脚本函数进行数据接收,将图像数据显示于数字孪生场景之中,完成数据映射。
[0025]
如图3-5所示,为本发明提出的数据封装方法、数据传输方法和数据读写方法的流程图。
[0026]
所述的数据封装方法,为自动驾驶场景所涉及的真实世界物体实体提供统一的数据对象构造方式,包括以下步骤:步骤1:构建抽象类别的数据对象,如车辆类孪生体对象、传感器类孪生体对象、道路交通类孪生体对象、自动驾驶系统类孪生体对象;需要说明的是,该抽象类只有成员函数的声明接口,需要利用多态的特性在派生类中实现具体功能需求,并且该对象没有具体的数据成员;步骤2:采用继承的方法扩展抽象对象,如继承自传感器对象并派生为深度相机传感器对象,可以获得传感器对象成员函数的声明接口,并可以进一步添加派生对象的特有属性;步骤3:对步骤2得到派生类添加其特有的数据成员,如深度相机传感器对象中添加深度图像的数据,激光雷达传感器对象中添加激光点云信息;需要说明的是,该派生类的数据成员的格式取决于其对应的不同物理实体原始数据的格式,因此采用派生类的方法可以方便的对不同类型物理实体的数据进行管理和扩充;步骤4:派生类的成员函数继承自其抽象基类所定义的成员函数声明接口,根据数据类别的不同各自实现其特有功能需求。
[0027]
所述的数据传输方法,构建统一的数据订阅和发布接口,包括以下步骤:步骤1:利用派生类的多态特性,采用派生类对象实例化基类指针;步骤2:采用实例化的基类指针建立订阅机制,实时获取对应物理实体的数据,并进行数据对象的构造;步骤3:数据对象构造完成后,通过实例化的基类指针进行发布,发布封装后的数据对象,包括该数据对象的数据成员信息及数据观测的时间戳信息;步骤4:数字孪生场景对应孪生体模型接收到该数据对象,将该对象的数据和状态映射到虚拟数字孪生体,并实时可视化其数据成员,完成真实世界到虚拟世界的映射功能。
[0028]
所述的数据读写方法,建立封装的数据对象和数据库的关联,将数据对象存储至数据库或从数据库中读取数据对象,包括以下步骤:数据库的存储:步骤1:数据对象构造完成后,根据数据对象所述类别和当前时刻的时间戳信息,构建数据库的多级索引方法,其中首先利用对象所属的抽象类别作为键值进行第一次索引,再根据该对象的具体派生类别进行第二次索引,最后根据时间戳信息作为键值进行第三次索引;步骤2:将该派生类的数据成员按照索引存储到数据库当中,完成数据的存储;数据库的读取:步骤1:根据感兴趣的孪生体类别和时间戳信息,通过多级索引的方法找到对应位置的数据成员,如果能够通过索引信息找到对应数据,则进行数据的读取;如过通过索引信息无法找到对应数据则认为本次读取失败,结束数据库的读取流程;步骤2:将成功获取到的相关数据重新封装为孪生体对象,此时可以再次调用数据传输方法完成数据映射的功能。
[0029]
需要说明的是,通过孪生体数据库的构建,数据库的存储功能实质上是实现了对真实世界自动驾驶系统运行的状态监控,数据库的读取功能实质上是通过对历史数据的读取,进而可在虚拟世界中对自动驾驶系统历史状态的故障定位。
[0030]
综上所述,本发明所述面向自动驾驶场景的数字孪生系统和方法与以往的自动驾驶仿真平台不同,其以数字孪生技术为核心,能够完全反映出真实场景的状态,并且解决了仿真平台下无法反映出实际车辆及传感器的真实运行状态的问题,最后实现了真实世界和虚拟世界的实时映射及同步,此外可以用于自动驾驶系统状态监控和历史状态的故障定位。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献