基于数字孪生的机器人虚拟调试系统设计及开发
扫描二维码
随时随地手机看文章
引言
随着经济社会的不断发展,未来绝大多数企业都将成为数字化的公司。这不仅只是要求企业开发出具备数字化特征的产品,更要整个企业逐渐数字化,通过数据驱动的手段改变整个产品的设计、开发、制造和服务过程,并用数据驱动的方式连接企业的内部和外部环境,而这一切都是建立在数字孪生技术的基础上。
数字孪生概念模型主要包括三个部分:物理空间的实体、虚拟空间的模型、物理空间和虚拟空间之间的数据和信息接口。数字孪生目的是通过数字化技术,建立物理世界的虚拟模型,借助数据模拟实体在真实环境下的行为,通过虚实交互、数据分析、人工智能等技术手段,改进和提升物理实体的效能。当前,大部分自动化设备的调试都是实机调试,然而实机调试存在诸多问题:(1)机械、电气和控制工程师在实机完成前难以进行联合调试,只能分开各自调试,容易出现设计问题:(2)设计、制造、调试及后续实际生产过程各环节属于串行式流程,调试周期会很长:(3)实机调试需要技术水平较高的工程师才能完成,如果派遣经验不足的工程师,反而容易损坏设备:(4)实机调试需要停机,会影响生产效率,进行试生产需要花费多余的成本。因此,虚拟调试技术为解决以上问题提供了新的方法和途径。
数字孪生技术是虚拟调试的关键基础,所以本文重点介绍在产品设计阶段,依托数字孪生技术开展工作站逻辑性、可靠性仿真和分析,进而改进设计和提高可靠性。
1虚拟调试系统架构
虚拟调试系统需要解决的问题主要有两个:一是验证设计逻辑的正确性、可用性,二是确定参数的合理值或者最佳值。以上下料产线来举例,虚拟调试可以分为上下料产线机械本体和逻辑控制程序两个方面。机械本体的虚拟调试需要进行运动学检查,确保设备各部件在正常运动下不产生碰撞干涉行为。逻辑控制程序方面,需要验证程序设计的正确性,即程序是否能完成正常的控制功能,能否正确识别传感器和各I/O变量,执行正确的逻辑。另外,还可以通过调节生产中合理的工艺参数,确定最佳的生产节拍。
根据以上调试需求,本文设计虚拟调试系统架构如图1所示。本虚拟调试系统由工程师通过人机交互界面控制产线数字孪生模型,控制命令由虚拟控制系统交互通信接口到达模型端,数字孪生模型接到控制指令后,模拟与实际设备相同的行为运行,由通信接口将模型运行信息反馈回控制系统。数字孪生模型会模拟实机的运行状态,并通过孪生模型的三维仿真动画展示出来。此外,数字孪生模型还可以模拟各类传感器,配合产线在不同状态下的I/O量,真实PLC会跟虚拟控制系统进行通信,执行PLC程序,方便调试正确性。
基于数字孪生的虚拟调试系统架构中,数字孪生模型构建是基础。本系统是基于Unity引擎开发的,借助该引擎可快速开发数字孪生模型。另外,基于C#面向对象的思想,结合实际设备的特点,采用多物理领域统一建模的方法构建数字孪生模型。模型构建中主要依据三条指导原则:面向对象分解原则、多物理领域统一集成原则和增量式构建原则。
2建立数字孪生模型
由于本系统是基于Unity开发的,上下料产线等实体模型都是由通用三维设计软件先建立好模型,然后利用格式中转的方式或者购买Pixyz插件,在Unity中快速导入、准备和优化CAD、网格和点云模型,实现实时可视化。
数字孪生模型需要添加刚体属性才能受到重力或其他作用力的影响。使用Unity的优势在于其自带的碰撞盒组件(Collider),将物体挂上刚体组件(Rigidbody),如图2所示,就可以受到重力和其他力的作用,也可以检测到碰撞。只有挂上了这些组件,才可以用代码编写触发函数或者碰撞回调函数。如果模型没有定义刚体,它就会静止,而且不会参与到任何运动中,因此本系统设计的时候一定要清楚哪些物体需要定义为刚体。
本系统以上下料产线为数字孪生对象,包含一台数控车床、带手爪的工业机器人、上料准备机和工件完成区,如图3所示。由于本系统的目的是进行虚拟调试,所以数控车床的孪生模型只需要有开关门的动画仿真,并不需要仿真切削加工过程。带手爪的工业机器人需要有动作仿真,所以需要在机器人这个物体上挂上带有机器人运动学正逆解的函数,而手爪需要仿真松开和夹紧动作。另外,上料准备机和工件完成区不需要赋予任何运动,只需要对每一个工件赋予刚体和碰撞盒,运行过程中,在重力作用下自然会逐个进入到上料位置。值得注意的是,本例中工件其实有两个子物体,共用一个碰撞盒,在加工前会显示毛坯件,隐藏完成件,加工后会显示完成件把毛坯件隐藏。以上就是一个简单上下料产线的数字孪生模型构建方式。
3电气控制和执行机构
要完成上下料产线的正确运行,除了每一个设备可以正常工作以外,还需要它们相互配合,才可以完成上下料。因此,需要在系统中设置传感器,常用的传感器有碰撞传感器、距离传感器和位置传感器。本例中,机器人手爪的夹紧就用到了碰撞传感器,在上料位置需要时刻检测手爪夹紧的程度,利用碰撞传感器来判断手爪是否抓紧毛坯工件。同样地,在数控车床加工完打开门后,机器人夹取完成件的时候也需要使用碰撞传感器。本例中位置传感器运用在上料准备机上,上一个工件被夹取后,其他毛坯会自动下移,当毛坯到底的时候就会触发位置传感器。位置传感器就是为了确保上料机上有毛坯,不会出现没有毛坯但是机器人过来空抓的情况。
其实,传感器就是作为动作触发的条件,相当于一个信号的输入,所以本系统还设置了一个虚拟的输入/输出端子,可以仿真实机上的I/O端子。本系统通过socket通信,跟机器人控制器、机床控制器和PLC进行数据传输。通过系统虚拟模拟传感器的触发,修改外部实机的输入信号。举例说明如下:毛坯工件到位,会触发位置传感器,然后给机器人控制器一个输入信号,机器人接收到信号后会执行上料程序,运行到上料位置,然后等待;紧接着手爪会进行夹紧动作,当碰撞传感器触发后,会给手爪和机器人一个信号,手爪会停止夹紧动作,而机器人会继续执行上料程序,把毛坯运输到数控机床的安装位置。由此可知,虚拟输入/输出端子板很重要,对于虚拟调试不可或缺,因此,本系统还特地准备了一个虚拟端子板的调试面板,如图4所示,用于显示当前的虚拟输入/输出的状态。
4自动化逻辑
本例上下料产线包括数控车床、带手爪机器人、上料准备机等主要模块。为保证各部分之间的协调运行,有必要对控制系统建立仿真序列进行虚拟自动化逻辑控制仿真。工业上的产线,一般都是把PLC作为控制系统,它与微型计算机相似,负责的工作是根据输入来执行事前编写好的程序。因此,虚拟调试系统最主要的目的就是检验PLC程序的正确性。本例上下料产线建立仿真序列是基于动作流程,在每一步流程结束后,需要对应地变更虚拟输入变量,以此条件来检验PLC程序。
上下料产线的动作流程如下:
(1)机器人运动到毛坯料的侧方;
(2)机器人手爪中心往毛坯料中心移动:
(3)手爪夹紧毛坯:
(4)机器人手爪上移,然后夹着毛坯进入数控车床的卡盘正前侧:
(5)数控车床卡盘夹紧毛坯:
(6)机器人手爪松开毛坯:
(7)机器人退出数控车床工作区域:
(8)数控车床关门并进行加工:
(9)加工完成后打开门:
(10)机器人进入并夹紧完成件:
(11)数控车床卡盘松开:
(12)机器人带着完成件移动到工件完成区上方:
(13)机器人手爪松开工件,使其自行掉落到工件完成区。
往复循环上述步骤,完成所有毛坯的加工。每个动作完成后都设计了对应的传感器来检测动作是否完成到位,并通过输入/输出监控面板的状态实时反映系统的状态,从而保证了系统运行的正确性。在完成数字孪生模型的相关设置以及控制信号的连接后,可以在本系统进行基于数字孪生模型的虚拟调试,从而达到高效验证模型、优化系统设计的目的。
5结语
新系统的设计和实施通常是耗时且高成本的过程,完成设计、采购、安装后,在客户现场生产运行之前还需要进行调试。通过对设备虚拟调试验证其可行性后再进行实物加工和实施,可以缩短产品从设计到实际生产的时间,使现场的调试速度更快、风险更低。
本文结合数控车床上下料产线设计并开发了虚拟调试系统,阐述了数字孪生技术在制造自动化装备开发过程中既可以有效缩短新产品开发周期,又可以降低新产品研发风险和研发投入的作用。由此可见,基于数字孪生的虚拟调试技术将在智能制造时代发挥重要作用。