基于力反馈牵引力导引的机器人辅助装配技术研究
2021-04-04汤海洋
汤海洋 ,纪 柱 ,李 论
(1.上海飞机制造有限公司,上海 200436;2.中国科学院网络化控制系统重点实验室,沈阳 110016;3.中国科学院沈阳自动化研究所,沈阳 110016;4.中国科学院机器人与智能制造创新研究院,沈阳 110169)
0 引言
在飞机总装过程中,由于空间限制和设备多样性,目前的装配作业大量依赖人工操作,并辅以吊具、升降车、架梯等简易工装进行产品的装配工作[1,2],这种装配模式对操作人员的技能水平和劳动力依存度较高,存在以下几个方面的局限性:1)大纵深、大质量设备安装困难;2)装配过程中对设备的长时间托举易造成工作人员疲劳;3)狭小空间操作困难[3],而且容易损坏线缆等其他已安装设备;4)人工装配难以保证装配精度,而且装配效率低[4]。工业机器人具有载重量大、定位精度高、装配一致性好、响应速度快等特点[5],可以很好地解决人工装配存在的问题,能够满足大重量、高精度的飞机装配需求,且在国外产品装配领域中已有相关应用先例[6~8]。采用工业机器人对产品进行辅助装配,可以提升产品装配质量和可靠性,是产品总装的发展趋势之一。
针对飞机装配过程中提出的单件小批量,装配工况不固定,变化多样等应用需求,本文提出了一种基于力反馈牵引力导引的机器人辅助装配技术,通过在工业机器人上安装六维力传感器获取施加在工件上的外力,并根据外力为机器人各个轴设置修正量,实现人对机器人的导引,从而实现设备柔顺安装。实验结果表明,使用该技术的工业机器人能够很好地按照人的意图进行移动,达到了将操作人员的经验和工业机器臂的负载优势结合在一起的目的,对实现飞机总装过程中大重量设备高精度、高效率地装配具有重要意义。
1 重力补偿算法
在机器人辅助装配系统中,机器人是跟随施加在工件上的外力和外力矩进行移动的,而通过机器人末端的六维力传感器测得的力还包括工件自身的重力,不能直接测得外力和外力矩,另外传感器自身也存在零点误差[9],所以为了能够准确获取施加在工件上的外力和外力矩,系统需要具有获取负载质心位置、负载重力和六维力传感器零点误差的重力补偿算法。
张立建[10]等通过变换机器人末端姿态(至少3个姿态)获取N组六维力传感器数据以及各个姿态下机器人末端法兰坐标系相对足部坐标系的角度,再利用六维力传感器数据与工件重心在传感器坐标系中的坐标之间存在的关系,如式(1)所示,求解出了工件重心在传感器坐标系中的坐标,如式(2)所示。然后又通过机器人世界坐标系、机器人足部坐标系、机器人法兰坐标系和机器人末端坐标系之间的变换,将重力变换到传感器坐标系中,求出了机器人的底座倾角以及六维力传感器自身的零点误差,从而计算出了施加在工件上的外部力和外部力矩。
式(1)和式(2)中,(FxN,FyN,FzN,MxN,MyN,MzN)为第N组六维力传感器数据,p=[x,y,z,k1,k2,k3]T,其中(x,y,z)为工件重心在传感器坐标系中的坐标,(k1,k2,k3)为常数。
2 机器人辅助装配算法
机器人辅助装配算法的目的是根据外力和外力矩为机器人各轴设置合适的修正量,算法包括平移和旋转两种模式,分别实现机器人在X、Y、Z方向的平移和在A、B、C方向的转动,平移模式和旋转模式又分别包括多轴联合运动和单轴运动两种模式,其中平移模式是由外部力Fex、Fey、Fez引导的,旋转模式是由外部力矩Mex、Mey、Mez引导的,接下来分别对这两种模式的算法进行介绍。
在平移模式下,操作人员施加在工件上的合外力为:
式中,Fex、Fey、Fez分别为外力在机器人末端坐标系X、Y、Z三个方向的分力,Fall为合外力。
设施加在机器人末端的最小外力阈值和最大外力阈值分别为Fmin和Fmax,机器人末端的单次最大修正量为Vmax。
当合力Fall小于外力的最小阈值Fmin时,操作人员施加的力过小,机器人末端不能够进行移动。当Fmin≤Fall≤Fmax时,机器人可以移动,其末端的合修正量为:
式中,Vall为机器人末端合修正量。
然后根据X、Y、Z方向的外力大小,为各轴分配修正量:
式中,VX、VY、VZ分别为机器人末端在X、Y、Z方向的修正量。
当外力大于最大阈值Fmax时,为了防止机器人速度过快对操作人员造成危险,机器人末端合修正量将保持在最大,即:
这种情况下,机器人末端X、Y、Z三个方向的修正量同样可以通过式(5)进行计算。
在平移模式的单轴移动模式下,同样通过式(4)计算机器人合修正量,式(5)计算各个轴的修正量,但是在对机器人的修正量的进行设置时,只是针对指定轴进行设置,而不是对三个轴X、Y、Z都进行设置。
旋转模式与平移模式类似,首先对三个外力矩进行合成,可得:
式中,Mall为合成外力矩。
同样,设施加在机器人末端的最小外力矩阈值和最大外力矩阈值分别为Mmin和Mmax,机器人末端的单次最大转动修正量为ωmax。
当合力矩Mall小于外力矩的最小阈值时,机器人末端不能够进行转动。当Mmin≤Mall≤Mmax时,机器人末端的合转动修正量为:
式中,ωall为合转动修正量。
然后根据各个轴的外力矩大小,为各个轴分配转动修正量,可得:
式中,ωA、ωB、ωC分别为机器人末端三个旋转轴A、B、C的修正量。
当外力矩大于最大阈值时Mmax,同样为了防止机器人速度过快对操作人员造成危险,机器人末端合修正量将保持在最大修正量,即:
在旋转模式的单轴模式下,同样通过式(8)计算机器人的旋转合修正量,式(9)计算各个轴的转动修正量,但是在对机器人的修正量的进行设置时,只是针对指定轴进行设置,而不是对三个旋转轴都进行设置。
3 机器人辅助装配软件系统
机器人辅助装配控制系统的开发环境选用基于Windows平台的Microsoft Visual Studio 2013,具体语言采用C++。选用Qt 5.8.0设计上位机软件界面,设计的界面如图1所示,机器人辅助装配控制系统的上位机的设计采用模块化设计方案,整个界面分为5个模块,分别是机器人模块、力传感器模块、控制参数设置模块、状态信息显示模块和总控模块。
机器人模块可以显示机器人末端的实时坐标、机器人当前坐标相对于原始坐标的修正量、重力补偿获取的各个参数的数值,如图2所示。
力传感器模块通过折线图可以实时地显示传感器受到的力、工件受到的外部力和外部力矩,如图3所示。
图1 上位机软件界面
图2 软件界面的机器人模块
图3 软件界面的力传感器模块
状态信息显示模块和控制参数设置模块如图4所示。前者可以显示当前系统的一些状态,后者可以对工件的移动模式进行选择,移动模式包括平移模式和旋转模式两种,此外,后者还可以对轴方向、步长(单次最大修正量)、力或力矩的最大阈值和最小阈值进行设置。
机器人辅助装配系统的具体控制方式由机器人通过机器人程序指定,若点击软件界面下方的“开始”按钮,同时执行“机器人重力补偿程序”,系统将进入重力补偿阶段,若点击“开始”之后,执行的是“机器人辅助装配程序”,系统将进入机器人辅助装配阶段。
图4 控制参数设置模块和状态信息显示模块
4 实验
图5为机器人辅助装配实验平台,由KUKA机器人、连接法兰、框架、ATI六维力传感器组成,ATI六维力传感器固定在机器人上,框架与力传感器之间通过法兰连接。
图5 机器人辅助装配实验平台
对工件进行重力补偿时,需要获取机器人在多个(大于3个)姿态时的数据,实验时选择5种姿态,如图6所示,机器人处于不同姿态时各轴的角度如表1所示。
图6 重力补偿时机器人的5种姿态
表1 重力补偿时机器人各轴角度
对工件进行50次重力补偿,将每次实验获取的工件重力绘成折线图,如图7所示,平均重力为112.680N,工件的实际重力为108.486N,误差为3.87%,误差较小,表明重力补偿算法可以对工件重力进行有效补偿。
图7 重力补偿实验数据
图8为机器人辅助装配的平移过程,其中第一张图为机器人初始位置,其余各图为操作人员对工件施力之后机器人姿态的变化,实验结果显示机器人末端可以很好地按照操作人员的意图进行平移,实现对工件位置的调整。
图8 机器人辅助装配平移过程示意图
图9为机器人辅助装配的旋转过程,其中第一张图为机器人初始位置,其余各图为操作人员对工件施力之后机器人姿态的变化,实验结果显示机器人末端可以很好地按照操作人员的意图进行旋转,实现对工件姿态的调整。
图9 机器人辅助装配旋转过程
5 结语
本文提出了一种基于力反馈牵引力导引的机器人辅助装配技术,通过重力补偿算法获取操作人员施加在工件上的外力和外力矩,通过机器人辅助装配算法根据外力和外力矩为机器人末端设置合适的修正量,从而达到操作人员对机器人进行导引的目的。实验结果显示:该技术重力补偿的误差为3.87%,能够准确获取施加在工件上的外力和外力矩;当操作人员对工件施加外力时,工业机器人能够快速地响应人的意图,并按照人的意图平稳地平移和旋转。