一种虚实结合数字孪生仿真实验平台构建方法

文档序号:24732253发布日期:2021-04-20 15:11阅读:790来源:国知局
一种虚实结合数字孪生仿真实验平台构建方法

1.本发明属于生产制造信息化领域,具体涉及一种虚实结合数字孪生仿真实验平台构建方法。


背景技术:

2.随着“工业4.0”概念的深入,智能制造与智能工厂已然成为制造业发展的重要方向与趋势。数字孪生系统作为对物理实体或系统的精确数字化拷贝,包括了物理对象的各类属性,对实现智能制造、数字化工厂有着重要意义。同时自动化生产线作为实现智能制造的核心组成之一,对提高企业经济效益,增强企业制造能力有着重要的作用。然而,传统的自动化生产线在设计阶段往往无法预演设计结果,同时无法直观体现出工控设备如plc、机器人运动控制器实际编程对自动化生产线的影响。
3.在自动化生产设计阶段过程中,必然要涉及到工控设备编程的实际效果的体现。plc设备在pc端完成编程后需部署至实际物理设备上,控制物理实体进行运动,通过实际运动效果反馈对程序进行进一步的改进,在大型自动化生产线的设计过程中,该种设计方案将花费大量的时间对实体设备进行调试。同时在涉及到机械臂等大型自动化设备的调试时,将花费大量的成本采购实体设备,无法做到灵活调试与实验。
4.目前,通过虚拟仿真手段设计多机器人和多台加工设备的自动化生产线已有一定的发展,这些手段以全虚拟仿真为研究手段,能够通过遗传算法、模拟退火算法等方法获得最佳排产或生产节拍的设备布局与优化工艺流程,以该种研究手段能够大大简化自动化生产线设计流程。然而在涉及到加工装备的动作控制时,上述手段将会暴露对真实场景还原度不足、无法提供有力的调试方案等问题。


技术实现要素:

5.本发明的目的在于提供一种虚实结合数字孪生仿真实验平台的构建方法,通过结合真实的运动控制器设备与虚拟仿真环境,建立能够实时在线的虚拟调试实验平台,能够解决仿真设计阶段真实程度不足与调试阶段效率低下等问题。
6.实现本发明目的的技术解决方案为:一种虚实结合数字孪生仿真实验平台构件方法,包括如下步骤:
7.步骤(1):设计设备三维模型,并将其导入仿真软件;
8.步骤(2):在仿真软件中添加运动控制脚本与数据接口;
9.步骤(3):编写plc控制器的控制程序或机器人的运动控制器程序,编写完成后下载至相应控制器中进行编译运行,运行程序、获得数据信号;
10.步骤(4):将plc控制器或近期人的运动控制器与仿真软件建立通信连接,将步骤(3)获得的数据信号传输至步骤(1)中的仿真软件中,进行数据交互,驱动仿真软件中的虚拟设备运动;
11.步骤(5):根据虚拟设备运动状态与控制器的实际编程效果相比较,获得控制器的
直观调试结果。
12.进一步的,所述步骤(1)中的仿真软件为coppeliasim。
13.进一步的,所述步骤(1)“设计设备三维模型,并将其导入仿真软件”具体包括如下步骤:
14.步骤(11):利用三维建模软件对被控制的设备进行三维建模;
15.步骤(12):通过cad软件对步骤(11)建立的模型进行轻量化处理;
16.步骤(13):三维模型导入仿真软件后,对模型进行拆解,将关键部件单独拆分,将相对不重要的零部件进行整合。
17.进一步的,所述步骤(12)的轻量化处理具体为:利用简单凸形状对原始三维模型进行等效替换,在可能发生计算的部位用薄片状实体替换。
18.进一步的,所述步骤(13)中将机械臂和卡爪单独拆分,将机械底座和底盘进行整合。
19.进一步的,步骤(4)中的数据信号传输具体为:控制器将工作状态以及一系列i/o口控制信号通过标准通信协议进行数据传输。
20.本发明与现有技术相比,其显著优点在于:
21.(1)本方案通过建立在尺寸、功能与行为逻辑上忠实于物理实体的虚拟设备,基于lua脚本编写数据传输接口,获得控制器实时传输的运动数据,驱动仿真虚拟设备运行。该方案能够显著提高仿真运行效果与速度,增强仿真程度;同时利用虚拟仿真与真实物理运动控制器结合,建立半实物半虚拟数字孪生实验平台,能够在保证真实设备的基础上,尽量减少调试周期,削减设计成本,并能够直观清晰的反映出plc与机器人运动控制器的编程效果,提高了调试效率。
22.(2)本方案通过模型轻量化的手段对建立完成的孪生模型进行处理,基于等效替代的过程削减孪生模型中的三角面片数量,实现了大幅度提升了仿真运行效果并提高三维模型导入仿真环境中的速度。
附图说明
23.图1为本发明的实验平台构建示意图。
24.图2为本发明的优化改善模型示意图。
25.图3为本发明的机械臂数据信息模型。
26.图4为本发明的运动控制器与虚拟机械臂连接方案。
27.图5为本发明的运动控制器与仿真环境通讯过程。
具体实施方式
28.一种虚实结合数字孪生仿真实验平台,包括:plc控制器、运动控制器、虚拟仿真环境,上述plc与运动控制器通过以太网分别接入仿真pc。
29.进一步地,所述plc为三菱plc,型号为fx5u

64m。
30.进一步地,所述运动控制器为三菱运动控制器,型号为cr800。
31.进一步地,所述仿真环境为仿真软件coppeliasim。
32.进一步地,上述实体设备与pc机利用网线进行连接。
33.进一步地,pc端建立所控设备的具体三维模型,并进行轻量化处理。
34.进一步地,将三维模型导入虚拟环境中,并进行逻辑建模与数据接口脚本编写。
35.进一步地,编写plc控制程序与机器人运动控制程序,并下载运行,将生成的实时数据传输至已建立完成的虚拟环境中,驱动被控模型,验证调试结果。
36.根据上述的虚实结合数字孪生仿真实验平台建立方法,具体包括以下步骤:
37.(1)利用solidworks等三维建模软件对被控设备进行三维建模,该模型将忠实于实体模型,在尺寸、形状、细节等方面进行等比例还原。建模完成后,通过rhino等cad软件对模型进行轻量化处理。由于三维模型导入仿真软件中会存在大量三角面片,这将极大的减慢导入速度,给仿真环境造成巨大负担,过多的面片计算将导致模型无法正常运动,故通过cad手段删除多余的三角面片,尽可能在形状与尺寸几近实体的状态下减少三角面片的数量,提高导入模型速度。
38.(2)导入obj、stl等格式的三维模型后,对模型进行拆解,将关键零部件如:机械臂卡爪、机械臂等单独拆分出来,相对不重要的零部件:如机器人底座、试验工作台铝合金框架等进行整合。上述操作有利于对重要零部件进行数字化逻辑建模,添加相应的运动控制脚本与数据接收接口,实现对关键零部件的外部控制;整合非重要零部件将其设置为非凸模型,减少在运动过程中的实时计算,提高模型的运行速度。
39.针对某些需要进行碰撞的虚拟实体,通过采用等效替换的方案来减少碰撞计算提高运行速度。以物料托盘为例,物料托盘三维模型导入后为形状属性为简单随机形状:它有一种颜色和一组视觉属性,没有优化,无法用于动态碰撞响应计算(因为非常缓慢和不稳定)。故利用形状属性为简单的凸形状:用一种颜色和一组视觉属性表示一个凸网格。这是一种优化后的模型,可用于动态碰撞响应计算,由于网格数量少且简单,在进行碰撞计算时将极大的提高计算的速度。故使用简单的凸形状(薄片状长方体)替代发生碰撞的位置。
40.表1 简单随机形状与简单凸形状
[0041][0042]
针对需要添加运动控制脚本的模型,通过分析该模型的运动部分设计脚本方案并进行离线编程验证。以传送带为例,首先,设置接收plc控制器传输的启动信号,通过sim.getintegersignal()函数进行接收。其次,设置传送带速度 beltvelocity,仿真步长dt,传送带移动距离pos,通过pos=pos+beltvelocity*dt 方法更新迭代传送带移动距离。最后,通过sim.getobjectmatrix()函数检测目标对象的变换矩阵,得到所需坐标轴方向的移动距离。当plc开启传送带运行信号并被仿真环境成功接收后,将激活上述步骤,实现传送带的运动;当plc关闭传送带运行信号并被仿真环境成功接收后,将关闭虚拟传送带运动。
[0043]
针对需要添加运动控制的机械臂模型,以6轴机械臂为例,首先对各机械臂进行合并重命名为robota1~robota6,建立机械臂旋转关节robotj1~robotj6,将各机械臂移动至相对应的旋转关节下,建立机械臂树形结构,调整各关节角度,使机械臂处于默认状态。其次设置各个关节的关节最小值与关节行程,并建立两个辅助坐标点tcp点与target点,将tcp点与target点位置重合,将target点置于根节点下,将tcp点置于机械臂末端工具头节点下,作为机械臂卡爪抓取点,并设置机械臂正反解脚本。最后设置控制脚本,通过sim.setjointtargetposition()函数接收机器人运动控制器传输的关节转角数据,并驱动相应关节移动至指定位置,实现实时运行。
[0044]
表2 常用api
[0045][0046]
(3)编写plc控制程序与机器人运动控制器程序,以三菱fx5u

64m为例,在rt toolbox3中编写逻辑梯形图控制传送带及气动阀门,完成后编译下载至plc中。plc在运行后将数据传输至仿真环境中,首先将plc于pc置于同一网关下并ping通,后利用slmp进行数据通信。利用slmp通信采用半双工通信,访问cpu模块时,在相对于前一个指令报文发送,接收到来自cpu模块侧的相应报文后,发送下一个指令报文。以读操作(本次操作以位为单位,读取m100开始的8个bit数据位的数据)为例,发送:
[0047]
500000ff03ff000018000004010001m*0001000008
[0048]
副帧头:5000;网络编号:00;plc编号:ff;i/o编号(请求目标模块): 03ff;请求目标多点站:00;请求数据长度:0018(24字节);保留:0000;指令:0401(批量读取);子指令:0001;软元件代码:m*;起始软元件编号: 000100;软元件点数:0008,反馈:
[0049]
d00000ff03ff00000c000000000000(通讯正常)
[0050]
副帧头:d000;网络编号:00;pc编号:ff;i/0编号(请求目标模块):03ff;请求目标多点站:00;响应数据长:000c(12字节);结束代码:0000;响应数据部:00000000。
[0051]
接收到数据后,通过coppeliasim远程通信python脚本接收来自plc控制器发送的
数据信号。首先开启信号端口,远程连接coppeliasim仿真环境,连接成功后测试接收数据是否正确后,传输至虚拟环境机械臂数据接口并驱动虚拟设备进行运动。
[0052]
如图1所示,本方法仅需要plc控制器、机器人运动控制器等逻辑控制器件和虚拟仿真环境。开发者可在plc或机器人运动控制器中编写运动控制代码和程序,编写完成后下载至相应控制器中进行编译运行,运行程序所获得的数据信号(布尔信号、机器人关节转角等)将通过一定的通信协议(opc ua、tcp/ip、 udp、串口通信等方式)传输至虚拟仿真环境,虚拟设备通过建立相应的三维模型,并添加运动控制脚本与信号接收脚本与实体控制器进行数据交互,驱动虚拟设备运动;根据虚拟设备运动状态与控制器的实际编程效果相比较,获得控制器的直观调试结果。利用该方法可直观查看控制器的编程效果,能够节省大量的调试时间,削减调试成本,提高调试的灵活性便捷性。
[0053]
如图2所示,原始模型导入后是简单随机形状属性,可以看到模型是由许多三角面片构成的,在进行物理引擎碰撞计算时,碰撞接触的所有三角面片部分均参与运算,这将极大的增加计算机运算负担导致计算速度过缓,进而导致仿真运行卡顿,无法实现实时运动效果。优化方案是利用简单凸形状对原始模型进行等效替换,在可能发生计算的部位用薄片状实体替换,结合图2,可以看到优化后的模型所具有的模型与原模型相比面片数量大量减少,碰撞计算速度更快,结果更加精确。
[0054]
导入机械臂等运动模型后,首先进行分离与整合,将非重要部分(如机械臂底座、底盘等)进行结合处理,将被控部位(如机械臂、卡爪)单独分离并编号,添加运动关节robotj1~robotj6,将各机械臂移动至相应关节下,建立机械臂树形结构。添加target点与tcp点与运动学逆解算法,将机械臂设置为可运动状态;在仿真软件中编写lua脚本添加数据接口,添加数据接口用于接收运动控制器发送的信号。
[0055]
如图3所示,对运动控制器运行生成的数据进行采集,建立采集信息模型。以三菱机械臂rv

4frl为例,整个机器人模块由六个关节和工具头7个部分组成,每个关节包含关节值:速度、状态和关节转角等;工具头包含其工作状态、动作信号和指示距离等;控制器将工作状态以及一系列i/o口控制信号通过标准通信协议进行数据传输。
[0056]
如图4所示,该虚实结合的实验平台构建方法首先将运动控制器等实体设备通过以太网等通讯方式进行连接,并测试通信是否正常,连接成功后运行 coppeliasim仿真环境,启动plc控制器并运行数据通信脚本接收来自plc控制器传输的数据,以数据驱动仿真环境中的虚拟设备运行。通过上述方法可以直观看到pl控制设备运行的结果,当结果运行不如预期时,通过调试plc程序后重复上述过程直至达到理想的plc程序效果。
[0057]
如图5所示,通讯过程以外部pc向运动控制器发送请求报文为开始,运动控制器按照外部pc已发送的报文进行读取处理,运动控制器处理报文完成后,将回应响应报文,外部pc接收来自运动控制器的响应报文与运动数据,根据编程者需求上述操作步骤可反复进行,pc将持续接收运动控制器传输的信号量,最后pc端发送结束通信报文,结束上述通信过程。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1