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

一种面向无人车控制的数字孪生系统及其搭建方法

2022-07-30 12:42:24 来源:中国专利 TAG:


1.本发明涉及智能无人车自主控制技术领域,特别涉及一种面向无人车控制的 数字孪生系统。


背景技术:

2.数字孪生是能够实现物理世界与信息世界交互与融合的技术手段,它通过创 建多维多尺度的动态高保真模型,对真实世界中的物体进行映射。智能无人车作 为当前的重要研究对象,实现自动化、数字化、智能化的全生命周期管理成为迫 切需求。智能无人车种类多而复杂,目前现有的数字孪生方法难以精确适配无人 车自主控制领域,缺乏虚拟模型动态映射真实无人车行为的方法,真实无人车与 数字系统进行交互时通信效率低,并且缺乏针对无人车自主控制领域的数字化服 务搭建方法。


技术实现要素:

3.本发明针对现有技术的缺陷,提供了一种面向无人车控制的数字孪生系统及 其搭建方法。该方法实现了无人车数字孪生系统的五种服务,分别为三维可视化 仿真服务、状态监控服务、数据监控服务、远程控制服务和目标导航服务,可实 现对无人车的全生命周期管理,提高开发效率。
4.为了实现以上发明目的,本发明采取的技术方案如下:
5.一种面向无人车控制的数字孪生系统,包括:物理空间、虚拟空间、传输链 路和控制服务层。
6.所述物理空间中包括无人车运行环境中的所有实体。对于无人车,包括无人 车本身和无人车内部的电器元件;对于无人车运行环境,包括一切存在的与无人 车运行相关的物体。
7.所述虚拟空间包括搭建与物理空间一致的虚拟仿真环境、即可视化模块,还 包括用于无人车控制的控制模块和用于数据监控、数据存储及后续数据处理的数 据管理模块。虚拟空间中通过对无人车进行多维度多尺度的精细描述,建立高保 真的虚拟模型。
8.在可视化模块中,通过三维建模软件进行模型的外观搭建和3d渲染,通过集 成有物理引擎的可用作机器人运动仿真的软件,对虚拟模型的重量、颜色、材质 等物体属性进行了精细的刻画,最终虚拟无人车模型通过电机关节驱动实现车轮 运动。
9.在控制模块中,通过使用编程语言进行路径规划、轨迹跟踪等算法的编写, 以控制无人车的运动。同时,控制模块还作为与物理空间交互的关键节点,和与 虚拟空间中可视化模块和数据管理模块之间交互的关键节点,控制物理空间和虚 拟空间之间的信息交互以及虚拟空间内部的信息交互。
10.在数据管理模块中,其中数据包含与虚拟空间进行交互的物理空间中的数据 以及虚拟空间本身的数据。数据主要分为两部分;
11.一部分为自然运行状态下获取的实时数据,包括实体无人车的尺寸、材质、 颜色
参数,无人车的线速度、角速度,当前位置的三维坐标以及无人车的姿态数 据,无人车运行环境下的障碍物大小、形状、位置的三维坐标;
12.一部分为仿真过程时获取的仿真数据,包括超调量、调节时间、参考位置、 计算位置、3d轨迹、不同相机视角下的环境图像。
13.数据管理模块,通过可视化界面对多种数据进行展示,并且将数据存储到数 据库中。
14.所述传输链路的作用是提供物理空间与虚拟空间的信息传输通道和虚拟空间 内部各个模块的信息传输通道。物理空间与虚拟空间的信息传输通过话题通信机 制。首先,在物理空间建立随车的ros master节点,作为处理物理空间与虚拟空 间的信息交互的管理节点,同时,在车载传感器建立ros子节点,作为数字孪生 系统的信息获取来源。其次,在虚拟空间的控制模块中建立ros子节点,作为与 物理空间进行信息传输的节点。虚拟空间发出的控制指令和物理空间获取的传感 器信息都通过话题的形式统一由master节点管理。各个节点通过向master节点 提交注册信息与话题订阅信息获取相应节点的信息,从而达到虚拟空间与物理空 间的信息连通。虚拟空间中可视化模块、控制模块及数据管理模块需要相互配合, 通过进行信息交互完成工作。虚拟空间各个模块之间的信息通过socket接口进行 相互传输。
15.所述控制服务层通过对虚拟空间中的模型功能进行服务化封装,结合物理空 间的运行完成无人车自主控制服务。
16.进一步地,无人车自主控制服务有以下5种:
17.1、三维可视化仿真服务。基于虚拟空间下建立的虚拟环境,在控制模块的驱 动下,提供多种无人车自主控制算法的三维可视化仿真服务。
18.2、状态监控服务。基于虚拟空间中对实体无人车的物理特征刻画和3d渲染, 进行虚拟空间的物理模型映射;基于物理空间中无人车运行状态数据的采集和传 输链路中对无人车运行状态数据的传输,进行物理空间和虚拟空间之间的数据映 射,从而提供实时映射的可视化监控服务。
19.3、数据监控服务。基于多种实时数据在虚拟空间中的传输和集成,编写用户 界面,实时显示无人车运行状态的数据,包括无人车的角速度、线速度、位置、 姿态,提供可视化数据监控服务。通过监控数据的状态,可以实时反馈给无人车 调试人员,以便排查错误。
20.4、远程控制服务。在虚拟空间的可视化模块中编写用户界面,使用人机交互 的方式触发设置信号和传输信号的指令,通过传输链路将速度信号发送到物理空 间,驱动实体无人车运动,提供虚拟空间到物理空间的远程控制服务;
21.5、目标导航服务。通过在人机交互的方式在虚拟空间可视化模块中设置目 标点位置,在控制模块中进行路径规划运算,得出最优路径,并发送控制信号 驱动物理空间中的无人车沿轨迹运行至目标点。
22.进一步地,数字孪生系统的搭建流程如下:
23.(1)基于实体无人车,创建虚拟空间中的三维模型,三维模型中应该包含与 物理实体相同的几何特征。
24.(2)基于实体无人车,使用动力学仿真软件搭建虚拟空间中的仿真模型,仿 真环境中应集成有物理引擎,能做到通过电机驱动实现车轮的转动,模拟真实世 界中无人车的
运动状态。
25.(3)基于物理空间的真实运行环境,在仿真环境中搭建相同的无人车运行环 境。
26.(4)将三维模型嵌入到仿真模型中进行组装,完成虚拟空间中的简单模型搭 建。
27.(5)通过包括激光雷达和里程计的传感器对物理空间中无人车的运行数据进 行实时采集,采集的数据包括:无人车的位置、姿态、速度、周边环境。
28.(6)在虚拟空间的控制模块中创建ros子节点,通过向实体无人车上的rosmaster节点提交注册信息和话题订阅信息建立连接,实现物理空间和虚拟空间之 间的信息传输。
29.(7)在虚拟空间中创建socket接口,设置对应的端口号和ip地址,通过 socket接口进行虚拟空间中三个模块之间的信息传输。
30.(8)三维可视化仿真服务:
31.在虚拟空间的控制模块中进行无人车自主控制算法的编写,控制模块输出控 制信号到可视化模块,驱动虚拟无人车模型运行,观察运行效果和运行数据,进 行算法的研究和改进。
32.(9)状态监控服务:
33.采用话题通信机制,通过传输链路中的ros master节点和ros子节点,将物 理空间中的运行数据实时发送给虚拟空间中的控制模块,并通过数据驱动虚拟空 间中的无人车模型运行,实现虚拟无人车和实体无人车的同步运动,完成对运行 状态的可视化监控服务。通过拖动、旋转或缩放可视化模块的界面,从各个方位 各个角度对无人车的运行状态进行观察。通过添加3d轨迹的方式,直接观测实体 无人车的运行轨迹。
34.(10)数据监控服务:
35.编写用户界面,将虚拟空间获取到的无人车运行状态数据实时显示在界面上, 供用户观察,实现数据监控服务。数据监控包括:无人车的线速度、角速度、位 置、姿态。
36.(11)远程控制服务:
37.编写用户界面,通过拖动滑块的方式进行速度大小的指令设置,通过点击按 钮的方式进行前、后、左、右和停止的指令设置,同时触发虚拟空间向物理空间 无人车发送实时速度信号的指令,驱动实体无人车运动,实现远程控制服务。
38.(12)目标导航服务:
39.首先确定物理空间和虚拟空间的环境和模型位置一致。在虚拟空间的可视化 界面中设置目标点,以无人车当前位置为起始点。通过可视化模块中获取起始点 坐标、目标点坐标及当前虚拟空间的图像,发送给控制模块,通过prm算法进行 路径规划,计算出避障后的合理路径。得到路径后,通过五阶贝塞尔曲线对路径 进行平滑处理。将路径提取出后,对路径添加时间约束,然后通过反馈线性化算 法进行轨迹跟踪控制运算。将计算出的控制信号发送给实体无人车,驱动实体无 人车进行轨迹跟踪运动,完成安全避障行驶到目标点的任务。同时,结合状态监 控和数据监控服务,虚拟空间中无人车运行状态与实体无人车同步。
40.进一步地,所述prm算法步骤为:
41.1、在给定地图的自由空间中随机撒点,点的个数自定义为n。
42.2、删除与障碍物存在碰撞的点。
43.3、将剩余的每个样本点与相邻最近的k个点相连。
44.4、删除穿越障碍物的连接线,形成一张概率路线图。
45.5、使用a*算法从得到的概率路线图中搜索从起始点到目标点的路径。
46.进一步地,所述反馈线性化算法步骤为:非完整移动机器人的运动学模型为:
[0047][0048]
式中,为系统状态,其中位置p(t)=[x(t),y(t)]
t
,θ(t) 为角度,控制输入u(t)=[v(t),ω(t)]
t
,其中v(t)为线速度,ω(t)为角速度。
[0049]
参考轨迹的运动学模型和无人车的运动学模型为相同的结构,即:
[0050][0051]
设距离小车中心点前方l位置的点为h点,则h点的运动学方程为:
[0052][0053]
建立小车本体坐标系,并基于该坐标系建立误差方程:
[0054]
p
rf
(t)=r(-θf(t))(pr(t)-pf(t)),
[0055]
θ
rf
(t)=θf(t)-θr(t),
[0056]
其中,旋转矩阵
[0057]
对误差方程进行微分,得到领航者和追随者的误差方程为:
[0058][0059]
跟踪误差系统的控制输入
[0060]
因此,反馈线性化控制器设计为
[0061]
其中,k1、k2为反馈增益。
[0062]
与现有技术相比,本发明的优点在于:
[0063]
本发明提供的数字孪生系统,能够实现对实体无人车的全生命周期管理,提 升无人车开发效率,涉及到的传输链路,提供了高效的虚实通信方法,提升了虚 拟交互的效率。
[0064]
所提出的几种“服务”中,优点分别如下:
[0065]
本发明提供的三维可视化仿真服务相较于一般的matlab仿真等,在仿真时不 再只是将无人车运动看成质点运动。由于集成了物理引擎,能够使无人车对环境 做出类似真
实世界的物理反馈,更加真实地模拟现实世界的无人车在算法驱动下 的运行效果,提高了仿真的有效性。在缺乏真实无人车或真实运行环境时,三维 可视化仿真在提高模拟效果真实性的同时降低成本。
[0066]
本发明提供的状态监控服务可以在虚拟空间的可视化模块中与真实无人车保 持同步运行状态。相较于传统的摄像头监控方式,该状态监控服务能够通过拖动、 旋转或缩放界面的方式多方位、多角度、多距离地进行对无人车的监控,清除监 控死角,增强细节监控效果,提升监控清晰度。同时,状态监控服务中可实时显 示无人车的运行轨迹,反馈给监控人员观察,提升监控准确度。
[0067]
本发明提到的数据监控服务,可以实时地获取到实体无人车的运行数据,并 且进行展示,方便无人车监控人员进行观察,并及时排查错误。
[0068]
本发明提供的目标导航服务,结合了状态监控和数据监控实现,能够通过人 机交互的方式,控制无人车运行到目标点,相较于传统的目标导航方式,该服务 可操作性强,可视化程度高,成本低。
[0069]
本发明适用于无人车自主控制领域,并可以扩展至无人机控制、越野车控制、 履带车控制等相关领域。
附图说明
[0070]
图1是本发明实施例数字孪生系统结构示意图;
[0071]
图2是本发明实施例虚拟空间结构示意图;
[0072]
图3是本发明实施例传输链路结构示意图;
[0073]
图4是本发明实施例数字孪生系统搭建流程图;
[0074]
图5是本发明实施例状态监控服务效果图;
[0075]
图6是本发明实施例远程控制用户界面效果图;
[0076]
图7是本发明实施例目标导航服务下的可视化界面图;
[0077]
图8是本发明实施例物理无人车和虚拟无人车的模型及交互关系。
具体实施方式
[0078]
为使本发明的目的、技术方案及优点更加清楚明白,以下根据附图并列举实 施例,对本发明做进一步详细说明。
[0079]
如图1所示,一种面向无人车控制的数字孪生系统,包括:物理空间、虚拟 空间、传输链路和控制服务层。
[0080]
所述物理空间中主要包括无人车运行环境中的所有实体。对于无人车,不仅 包括无人车本身,还包括无人车内部的电机控制器、电池、激光雷达、高清摄像 头等;对于无人车运行环境,需要包括地面、静态障碍物、动态障碍物等一切存 在的与无人车运行相关的物体。
[0081]
如图2所示,所述虚拟空间不仅包括搭建与物理空间一致的虚拟仿真环境, 即可视化模块,还包括用于无人车控制的控制模块和用于数据监控、数据存储及 后续数据处理的数据管理模块。虚拟空间中通过对无人车进行多维度多尺度的描 述,建立高保真的虚拟模型。
[0082]
在可视化模块中,通过solidworks、blender等三维建模软件进行模型的外 观搭建和3d渲染,通过集成有物理引擎的可用作机器人运动仿真的软件(如 unity3d、v-rep等),对虚拟模型的重量、颜色、材质等物体属性进行了精细的 刻画,最终虚拟无人车模型可通过电机关节驱动实现车轮运动。
[0083]
在控制模块中,通过使用matlab、c、c 、python等语言进行路径规划、轨 迹跟踪等算法的编写,以控制无人车的运动。同时,控制模块还作为与物理空间 交互的关键节点,和与虚拟空间中可视化模块和数据管理模块之间交互的关键节 点,控制物理空间和虚拟空间之间的信息交互以及虚拟空间内部的信息交互。
[0084]
在数据管理模块中,其中数据应该包含与虚拟空间进行交互的物理空间中的 数据以及虚拟空间本身的数据。这些数据主要分为两部分,一部分为自然运行状 态下获取的实时数据,包括实体无人车的尺寸、材质、颜色等参数,无人车的线 速度、角速度,当前位置的三维坐标以及无人车的姿态数据,无人车运行环境下 的障碍物大小、形状、位置的三维坐标等,一部分为仿真过程时获取的仿真数据, 包括超调量、调节时间、参考位置、计算位置、3d轨迹、不同相机视角下的环境 图像等。多种数据在虚拟空间中应形成单独的数据管理模块,一方面通过可视化 界面对多种数据进行展示,以便对无人车运行状态进行实时的数据监控,另一方 面,将数据存储到数据库中,以便后续通过机器学习、数据挖掘等多种技术进行 其他功能的开发。
[0085]
如图3所示,所述传输链路的作用是提供物理空间与虚拟空间的信息传输通 道和虚拟空间内部各个模块的信息传输通道。物理空间与虚拟空间的信息传输主 要通过话题通信机制。首先,在物理空间建立随车的ros master节点,作为处理 物理空间与虚拟空间的信息交互的管理节点,同时,在车载传感器建立ros子节 点,作为数字孪生系统的信息获取来源。其次,在虚拟空间的控制模块中建立ros 子节点,作为与物理空间进行信息传输的节点。虚拟空间发出的控制指令和物理 空间获取的传感器信息都通过话题的形式统一由master节点管理。各个节点通过 向master节点提交注册信息与话题订阅信息获取相应节点的信息,从而达到虚拟 空间与物理空间的信息连通。虚拟空间中可视化模块、控制模块及数据管理模块 需要相互配合,通过进行信息交互完成工作。虚拟空间各个模块之间的信息通过 socket接口进行相互传输。
[0086]
所述控制服务层通过对虚拟空间中的模型功能进行服务化封装,结合物理空 间的运行完成无人车自主控制服务。面向无人车自主控制的服务有以下5种:
[0087]
1、三维可视化仿真服务。基于虚拟空间下建立的虚拟环境,在控制模块的驱 动下,提供多种无人车自主控制算法(例如基于人工势场法、a*、prm的多种路 径规划算法,基于自抗扰控制、模型预测控制、反馈线性化控制的多种轨迹跟踪 算法等)的三维可视化仿真服务。由于虚拟空间的无人车包含了无人车的几何特 征和物理特征,比如重量、材质等,再结合物理引擎,能够对地面的地形、障碍 物等都做出类似真实世界的反馈,因此能够更加真实地模拟算法对无人车实体的 控制效果,有利于开发人员进行无人车算法的研究和改进,以验证算法有效性和 创新性。
[0088]
2、状态监控服务。基于虚拟空间中对实体无人车的物理特征刻画和3d渲染, 进行虚拟空间的物理模型映射;基于物理空间中无人车运行状态数据的采集和传 输链路中对无人车运行状态数据的传输,进行物理空间和虚拟空间之间的数据映 射,从而提供实时映
射的可视化监控服务。该服务可以对实体无人车进行多方位 多角度的三维可视化监控,消除监控死角。
[0089]
3、数据监控服务。基于多种实时数据在虚拟空间中的传输和集成,编写用户 界面,实时显示无人车运行状态的数据,包括无人车的角速度、线速度、位置、 姿态等,提供可视化数据监控服务。通过监控数据的状态,可以实时反馈给无人 车调试人员,以便排查错误。
[0090]
4、远程控制服务。在虚拟空间的可视化模块中编写用户界面,使用人机交互 的方式触发设置信号和传输信号的指令,通过传输链路将速度信号发送到物理空 间,驱动实体无人车运动,提供虚拟空间到物理空间的远程控制服务;
[0091]
5、目标导航服务。通过在人机交互的方式在虚拟空间可视化模块中设置目 标点位置,在控制模块中进行路径规划运算,得出最优路径,并发送控制信号 驱动物理空间中的无人车沿轨迹运行至目标点。
[0092]
如图4所示,上述数字孪生系统的搭建流程如下:
[0093]
(1)基于实体无人车,创建虚拟空间中的三维模型,三维模型可采用 solidworks、blender等软件进行绘制。三维模型中应该包含与物理实体相同的 几何特征,如无人车的尺寸、材质、重量、颜色、纹理等。
[0094]
(2)基于实体无人车,使用动力学仿真软件(如v-rep、unity3d等)搭建 虚拟空间中的仿真模型,仿真环境中应集成有物理引擎,能做到通过电机驱动实 现车轮的转动,模拟真实世界中无人车的运动状态。
[0095]
(3)基于物理空间的真实运行环境,在仿真环境中搭建相同的无人车运行环 境,包含地面的地形、障碍物等。
[0096]
(4)将三维模型嵌入到仿真模型中进行组装,完成虚拟空间中的简单模型搭 建。
[0097]
(5)通过激光雷达和里程计对物理空间中无人车的运行数据进行实时采集, 其中包含无人车的位置、姿态、速度、周边环境等。
[0098]
(6)在虚拟空间的控制模块中创建ros子节点,通过向实体无人车上的rosmaster节点提交注册信息和话题订阅信息建立连接,实现物理空间和虚拟空间之 间的信息传输。
[0099]
(7)在虚拟空间中创建socket接口,设置对应的端口号和ip地址,通过socket接口进行虚拟空间中三个模块之间的信息传输。
[0100]
(8)三维可视化仿真服务的实现过程如下:
[0101]
在虚拟空间的控制模块中进行无人车自主控制算法的编写,控制模块输出控 制信号到可视化模块,驱动虚拟无人车模型运行,观察运行效果和运行数据,进 行算法的研究和改进。
[0102]
(9)状态监控服务的实现过程如下:
[0103]
采用话题通信机制,通过传输链路中的ros master节点和ros子节点,将物 理空间中的运行数据(角速度、线速度、位置、姿态等)实时发送给虚拟空间中 的控制模块,并通过数据驱动虚拟空间中的无人车模型运行,实现虚拟无人车和 实体无人车的同步运动,完成对运行状态的可视化监控服务。通过拖动、旋转或 缩放可视化模块的界面,可以从各个方位各个角度对无人车的运行状态进行观察。 通过添加3d轨迹的方式,可以直接观测实体无人车的运行轨迹。状态监测服务效 果如图5所示。
[0104]
(10)数据监控服务的实现过程如下:
[0105]
编写用户界面,将虚拟空间获取到的无人车运行状态数据实时显示在界面上, 供用户观察,实现数据监控服务。数据包括无人车的线速度、角速度、位置、姿 态等。
[0106]
(11)远程控制服务的实现过程如下:
[0107]
编写用户界面,通过拖动滑块的方式进行速度大小的指令设置,通过点击按 钮的方式进行前、后、左、右和停止的指令设置,同时触发虚拟空间向物理空间 无人车发送实时速度信号的指令,驱动实体无人车运动,实现远程控制服务。用 户界面模块如图6所示。
[0108]
(12)目标导航服务的实现过程如下:
[0109]
首先确定物理空间和虚拟空间的环境和模型位置一致。在虚拟空间的可视化 界面中设置目标点,以无人车当前位置为起始点。通过可视化模块中获取起始点 坐标、目标点坐标及当前虚拟空间的图像,发送给控制模块,通过prm算法进行 路径规划,计算出避障后的合理路径。得到路径后,通过五阶贝塞尔曲线对路径 进行平滑处理。将路径提取出后,对其添加时间约束,然后通过反馈线性化算法 进行轨迹跟踪控制运算。将计算出的控制信号发送给实体无人车,驱动实体无人 车进行轨迹跟踪运动,完成安全避障行驶到目标点的任务。同时,结合可视化监 控服务,虚拟空间中无人车运行状态与实体无人车同步。目标导航服务下,虚拟 空间中的可视化界面如图7所示。
[0110]
上文提到的prm算法步骤为:
[0111]
1、在给定地图的自由空间中随机撒点,点的个数自定义为n。
[0112]
2、删除与障碍物存在碰撞的点。
[0113]
3、将剩余的每个样本点与相邻最近的k个点相连。
[0114]
4、删除穿越障碍物的连接线,形成一张概率路线图。
[0115]
5、使用a*算法从得到的概率路线图中搜索从起始点到目标点的路径。
[0116]
上文提到的反馈线性化控制器设计步骤为:非完整移动机器人的运动学模型 为:
[0117][0118]
式中,为系统状态,其中位置p(t)=[x(t),y(t)]
t
,θ(t) 为角度,控制输入u(t)=[v(t),ω(t)]
t
,其中v(t)为线速度,ω(t)为角速度。
[0119]
参考轨迹的运动学模型和无人车的运动学模型为相同的结构,即:
[0120][0121]
设距离小车中心点前方l位置的点为h点,则h点的运动学方程为:
[0122][0123]
建立小车本体坐标系,并基于该坐标系建立误差方程:
[0124]
p
rf
(t)=r(-θf(t))(pr(t)-pf(t)),
[0125]
θ
rf
(t)=θf(t)-θr(t),
[0126]
其中,旋转矩阵
[0127]
对误差方程进行微分,得到领航者和追随者的误差方程为:
[0128][0129]
跟踪误差系统的控制输入
[0130]
因此,反馈线性化控制器设计为
[0131]
其中,k1、k2为反馈增益。
[0132]
物理无人车和虚拟无人车的模型及交互关系如图8所示。
[0133]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解 本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和 实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不 脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保 护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献