基于数字孪生的发动机螺栓拧紧研究

2023-10-07 03:54王元钰刘勇王军义徐志刚杨啸武琳丰
机床与液压 2023年17期
关键词:离线编程柔性

王元钰,刘勇,王军义,徐志刚,杨啸,武琳丰

(1.沈阳航空航天大学机电工程学院,辽宁沈阳 110135;2.中国科学院沈阳自动化研究所机器人学国家重点实验室,辽宁沈阳 110016;3.中国科学院机器人与智能制造创新研究院,辽宁沈阳 110169)

0 前言

近年来,我国国防事业的发展日新月异,每年都以远超大众想象的速度生产制造新型装备。航空发动机作为航空航天与国防等领域的核心引擎,是国家硬实力提升的主推力。发动机装配是其稳定运行的基础,螺栓拧紧是发动机装配中必不可少的一个工序。随着机器人刚度及精度的提升,机器人逐渐被应用在发动机的螺栓拧紧领域。使用机器人拧紧发动机螺栓时,传统的示教编程刚性装配存在需要投入大量人力物力、调试时间长、编程效率低等缺点,因此示教编程不适用于中小批量多品种的发动机生产。

针对上述问题,不同学者对编程方法进行了研究。李科霖[1]提出了一种机器人自动控制抛光方法,该方法以人机演示辅助编程为基础,研究了人-机器人演示柔顺性和机器人环境接触力控制两项关键技术,但演示过程耗时较长且编程难度较高。葛科迪等[2]使用示教曲面流形离线构造先验虚拟夹具,根据待加工表面与先验虚拟夹具的吻合情况判断使用弹簧阻尼系统在线补偿示教路径偏差,或者通过虚拟夹具刚柔性自适应调整实现迭代修正,但结果的正确与否过于依赖虚拟夹具构建。赵罡等人[3]提出一种工业机器人离线示教编程的并联测量平台,采用测量平台与工业机器人之间的坐标变换得到控制机器人运动所需的位姿数据。刘朱伟[4]结合了工业机器人的示教编程和虚拟现实技术,研究基于虚拟现实的工业机器人示教编程平台的关键技术。夏姝[5]基于Blockly设计并实现了一套图形化示教编程语言,降低了机器人示教难度,提高了示教效率,但仅仅在示教编程层面提高了效率。倪自强等[6]提出了一种示教编程方法,通过双目视觉系统识别并提取示教工具的末端位姿,通过奇异值分解法建立视觉系统与机器人之间的坐标映射关系,最终获得规划机器人运动所需的位姿数据,并将位姿数据转换为机器人的可执行文件。迟明善等[7]提出了一种利用示教编程方法的新方案,基于示教编程技术控制共融机器人,使其完成复杂的日常操作,但机器人完成一次操作的时间较长。沈靖皓[8]提出一种特殊的示教方法,该方法通过手势引导操控机器人的同时,使示教者专注于任务本身,稀释学习指令和示教流程的作用,进而减少了示教编程的难度。张连新等[9]提出一种机器人示教编程设计方法,该方法以嵌入式CPU模块为基础,开发的示教编程器可以增强程序编辑能力,进而控制机器人完成所需操作,但并未减少采用示教方法编程的工作量。LEE等[10]开发了一种无源外骨骼作为远程操作系统的主器件,通过对轨迹点示教,采用操作空间框架来控制从臂,结果验证了所提出的基于远程操作的机器人编程方法的有效性。

以上研究的示教编程方法编程时间长、工作效率低,不适用于中小批量多品种的发动机螺栓拧紧。本文作者提出一种基于数字孪生平台、机器人柔性拧紧发动机螺栓的方法。通过数字孪生平台实现离线编程,通过物理空间与数字空间标定修订程序,最终快速柔性地完成发动机的螺栓拧紧工作。

1 螺栓拧紧方案设计

针对中小批量多品种的发动机螺栓拧紧问题,基于数字孪生平台建立柔性螺栓拧紧系统。系统包含螺栓拧紧过程数字孪生仿真、物理空间与数字空间一致性标定等部分,如图1所示。通过数字孪生仿真验证螺栓拧紧系统的可行性,通过物理空间与数字空间一致性标定控制机器人精准完成操作,结果证明:通过文中提出的方法,机器人能快速柔性地拧紧发动机的螺栓。

图1 基于数字孪生的柔性螺栓拧紧方法

为了确保机器人在拧紧过程中可达且保持良好姿态,过程中使用2台机器人配合完成螺栓拧紧,如图2(a)所示。2台机器人分别从螺栓放置架中取螺栓,设置干涉查看器,确保两台机器人拧紧发动机螺栓时不会干涉。操控机器人先选径向的2个螺栓孔拧紧螺栓,再拧紧正交方向上的2个螺栓孔,随后对余下螺栓孔径向依次成对拧紧。为了保证拧紧精度以及拧紧效率,设计机构——螺栓拧紧工作头,如图2(b)所示。螺栓拧紧工作头是拧紧螺栓的工具,也可以控制螺栓拧紧扭矩。拧紧工作头使用连接法兰和连接支座将机器人和拧紧机进行定位固连,连接支座上再集成视觉相机和配套相机光源,确保拧紧头能够精准识别螺栓和螺栓孔。针对不同型号的螺栓,设计自适应螺栓拧紧套筒来稳定抓取与拧紧螺栓。自适应螺栓套筒是与拧紧机相连且直接与螺栓接触的机构,具备与拧紧机之间的手动快换能力,可根据使用需求人工更换套筒,快捷方便。套筒与拧紧头连接部分设计一个弹性卡珠结构,保证套筒更换方便,更换后套筒与拧紧机连接紧固,螺栓拧紧过程安全。螺栓拧紧过程中使用视觉相机辅助监测。

图2 机器人螺栓拧紧设备

构建数字孪生模型是实现发动机快速柔性螺栓拧紧的首要步骤。建立机器人运动学模型进而求得机器人正、逆解,以机器人与零部件不产生任何干涉为前提,使用五次多项式插值对机器人进行轨迹规划。在Process simulate中建立模型,依据零件类型定义模型为资源或者零件(螺栓为零件,其余为资源)。建立操作,控制机器人完成发动机的螺栓拧紧工作并输出离线程序。因物理空间与数字空间的坐标值不匹配,所以对物理空间与数字空间的坐标进行标定。标定后修改程序,将修改后的程序传入机器人控制器中,操控机器人拧紧发动机螺栓。

此方法同样适用其他型号、形状的发动机螺栓拧紧。不同的发动机型号对应的螺栓型号不同,更换螺栓拧紧工具头完成不同型号螺栓的拧紧任务,最终可满足直径φ750 mm~φ1 200 mm及φ1 400 mm~φ2 000 mm产品的柔性装配。

2 螺栓拧紧过程数字孪生仿真

2.1 机器人运动学求解及轨迹规划

为了在数字孪生平台中实现机器人对航空发动机螺栓的拧紧,并确保拧紧工作的效率及安全性,因此对机器人进行轨迹规划。轨迹规划的前提是对机器人进行运动学计算,将路径点转化为关节矢量角度值,而后利用五次多项式插值拟合出机器人的轨迹。

2.1.1 机器人运动学求解

机器人运动学求解是机器人进行离线编程轨迹规划的基础[11],描述了机器人关节空间与操作空间的关系,通过对机器人进行运动学求解来获得运动过程中机器人的各个关节数据以及机器人末端点位置。在程序转换和运动仿真过程中,需要使用机器人运动过程中的各个关节角度数据,因此首先对机器人进行正、逆运动学建模[12-14]。D-H法利用变换矩阵对相邻连杆空间关系加以阐述,经过矩阵依次变换后得到机器人末端执行器相对于基坐标系的位置信息,因此采用D-H参数法对机器人进行数学建模。建立机器人连杆坐标系如图3所示。

图3 机器人连杆坐标系

根据连杆坐标系与机器人参数列出KR210机器人的D-H参数,如表1所示。

表1 KR210机器人的D-H 参数

基于D-H参数在MATLAB中建立机器人运动学模型,使用Link函数建立机器人6个连杆,用SerialLink函数串联连杆,qlim函数设置各个转角的旋转角度范围,生成机器人模型如图4所示。

图4 机器人模型

当机器人6个关节分别转过相应角度θi后,通过各关节间的旋转平移变换得到各个连杆的变换矩阵:

(2)

轨迹规划过程中,要根据机器人末端到达的某位姿求解对应关节的角度值,即求解机器人逆运动学方程[15]。

(3)

令等式第三行第四列两边相等,则有:

(4)

同理,可用同样方法继续求出关节角θ2-θ6,文中不再赘述。

由式(4)可看出θ1有2组解,六自由度机器人理论上有16组逆解。以机器人各关节运动角度绝对值之和最小作为评价函数即式(5),确定唯一逆解。

(5)

其中:θi0为机器人运动前的关节角。

2.1.2 机器人轨迹规划

机器人装配过程中,机器人的运动轨迹对其运行稳定性和效率有重要影响[16-17]。使用五次多项式插值进行轨迹拟合,增加机器人在运动过程中的平顺性和连续性。五次多项式通式为

(6)

式中:时间t∈[0,tm];θ(t)、θ′(t)、θ″(t)分别为t时刻对应的关节角度、角速度、角加速度;A、B、…、F为多项式系数,由以下约束条件求得:

(7)

根据式(7)的约束条件,即可求出多项式系数:

(8)

根据式(6)、(8)可确定机器人各关节在时间t的位置、角速度以及角加速度。

基于五次多项式的轨迹规划,使机器人关节速度、加速度以及运动轨迹曲线均连续且光滑,运动相对平稳,因此机器人在发动机的螺栓拧紧过程中不会产生较大振动,装配质量更牢靠。

设定起始点和终止点,起始点S1(-2 098,2 264,1 396),终止点S2(-145,2 737,309)。对机器人进行轨迹规划仿真。确定规划标准:(1)机器人不发生干涉;(2)机器人不能处于不良的姿态;(3)在拧紧螺栓以及取出螺栓位置之前有一段直线路径,在直线路径中控制机器人直线运动等。按标准规划轨迹,将仿真出的轨迹应用到Process simulate中,如图5所示。

图5 机器人轨迹仿真

关节角度、角速度、角加速度曲线如图6所示,可以看出:机器人按照图5路径工作,既能安全完成螺栓拧紧任务,又能光滑平稳地运动,且无振动现象。

图6 机器人关节角度(a)、角速度(b)、角加速度(c)

2.2 建立数字孪生模型

在Process simulate中对机器人进行运动学编辑和姿态编辑。机器人共有6个自由度,先创建6个连杆,除此之外,机器人上还有其他可动部件,因此共创建9个连杆。在连杆中添加运动关系,包括旋转、移动等。重新建立机器人的TCP坐标,粗建立螺栓坐标以及被拧紧点的坐标,使机器人可以到达拧紧位置。操控机器人到达该位置,精确调整坐标方向,依据机器人姿态是否良好以及机器人是否可达来调整该位置的X、Y、Z坐标方向。数字孪生模型如图7所示。

图7 螺栓拧紧机构数字孪生模型

在数字孪生模型中新建操作,控制机器人完成螺栓拧紧工作。在工作路径中,当机器人的运动线路为直线时(规划标准(3)),将此段路经的Motion Type从PTP改为LIN,并将Zone由Fine改为Medium。发动机螺栓拧紧过程中,机器人的速度定为300 mm/s。添加干涉检查并对机器人进行可达范围测试。对机器人、螺栓拧紧头、螺栓放置器以及发动机两两(除螺栓放置器及发动机外)建立干涉检查,设置发生干涉时停止操作,依据结果判断是否需要修改机器人拧紧路径。

新建复合操作,包括拾放操作以及设备操作。在机器人到达拾取点及放置点前,将gun的状态设置为wait。进行设备操作,控制设备取出以及拧紧螺栓。待整个操作完成,设置机器人回到初始位置,便于进行下一次操作。确认各个点的坐标以及机器人的各个姿态后,生成机器人程序如图8所示。使用2台机器人同时进行发动机螺栓的拧紧工作。完成一次螺栓的拧紧后,继续拧紧其他螺栓,生成程序并将离线生成的程序暂存到模板中。

图8 机器人离线程序

3 物理空间与数字空间一致性标定

在基于数字孪生的柔性螺栓拧紧机器人研究过程中,仿真环境与实际现场坐标存在一定偏差,为保证螺栓拧紧精度,物理空间与数字空间一致性标定成为发动机快速柔性螺栓拧紧研究实用化的关键。

建立坐标系:{B}为工业机器人坐标系;{T}为激光跟踪仪测量坐标系;{W}为标定系统世界坐标系。使用基于多点拟合与轴线矢量测量融合的方法[18]对数字空间与物理空间进行一致性标定,如图9所示。

图9 物理空间与数字空间机器人坐标一致性转换

机器人基座标原点OB为轨迹圆C1轴线与机器人安装平面的交点。工业机器人回到Home点,使用激光跟踪仪测量关节1和2 的轨迹点,生成轨迹圆C1、C2,旋转机器人关节1、2并记录SMR坐标,拟合获得基坐标系Z轴与X轴的轴向单位矢量nC1和nC2,根据式(9):

R=(nC2,nC1×nC2,nC1)

(9)

(10)

(11)

4 实验验证

机器人示教编程的缺点有编程技术门槛高、编程效率低、安全性差等[19]。将机器人示教编程与离线编程进行对比,如表2所示。

表2 示教编程与离线编程对比

示教编程内容包括:选择坐标系、添加移动指令、插入运动动作(PTP、LIN等)、移动机器人、添加拧紧指令、选择示教速度等。完成编程后对程序进行手动检查,确认无误后,才可拧紧发动机螺栓。在使用示教编程拧紧发动机的一颗螺栓时,仅在选择坐标系一项工作上,示教编程就需要建立8~10个平面。而此次需要对发动机拧紧44个螺栓,所以示教编程不适用于中小批量多品种的发动机螺栓拧紧工作。因此文中使用离线编程方法完成发动机的螺栓拧紧工作。

首先构建基于实测数据的数字孪生模型,为快速柔性拧紧发动机螺栓提供高精度模型。通过数字空间与物理空间的虚实交互实现发动机柔性快速螺栓拧紧,在数字空间规划的拧紧轨迹通过离线程序输出至拧紧机器人,机器人按规划轨迹进行螺栓拧紧。设计以下拧紧顺序:孔1-22由机器人1完成拧紧,顺序为1→22→2→21→3→……→11;孔23-44由机器人2完成拧紧,拧紧顺序为23→44→24→43→25→……→34,如图10所示。

图10 机器人柔性螺栓拧紧现场

图10 螺栓拧紧顺序

在物理空间与数字空间坐标标定后,在Process simulate中查看是否有拧紧偏差,若有,则向物理空间设备反馈偏差信息,物理空间设备以反馈的数字空间偏差信息为基础,进行闭环控制调整;若没有,则控制机器人完成发动机螺栓拧紧工作,如图11所示。

进行3次拧紧实验,每次分别拧紧44颗螺栓,结果如表3所示。

表3 离线编程与示教编程拧紧对比

如表3所示,使用文中提出的机器人离线编程方法无论是速度、效率、安全性较示教编程都大大提高。

5 结束语

文中主要研究基于数字孪生的快速、柔性拧紧发动机螺栓的方法,解决了示教编程刚性装配引起的螺栓拧紧效率低下、不能应对中小批量多类型的发动机螺栓拧紧问题。通过螺栓拧紧过程数字孪生仿真离线生成机器人程序,利用物理空间与数字空间一致性标定消除仿真环境与现场坐标的偏差。消除偏差后修改程序,而后套入模板将它导入至机器人控制器中,操控机器人完成航空发动机的螺栓拧紧工作。研究结果表明:文中提出的方法无论是安全性还是工作效率,都远远优于传统的示教编程方法,研究的方法更为不同型号的航空发动机螺栓拧紧提供了决策级新手段,提高了拧紧效率,从而为研究中小批量多类型的发动机柔性快速螺栓拧紧技术提供了理论依据和技术参考。

在今后的研究中,将对使用此方法拧紧的螺栓以及航空发动机喷管、燃烧室的变形以及应力进行研究,更深入地研究航空发动机的螺栓拧紧问题。

猜你喜欢
离线编程柔性
一种柔性抛光打磨头设计
灌注式半柔性路面研究进展(1)——半柔性混合料组成设计
异步电机离线参数辨识方法
呼吸阀离线检验工艺与评定探讨
编程,是一种态度
元征X-431实测:奔驰发动机编程
高校学生管理工作中柔性管理模式应用探索
浅谈ATC离线基础数据的准备
编程小能手
纺织机上诞生的编程