《武汉工程大学学报》  2015年09期 50-56   出版日期:2015-09-30   ISSN:1674-2869   CN:42-1779/TQ
磨抛离线编程中修正砂带位姿及加工姿态


0 引 言随着对机器人离线编程技术的不断研究,机器人离线编程研究集中在以高度智能化和自动化的方式让机器人完成作业任务,系统正朝着通用化、完整化、视觉化、智能化和应用化的方向发展. 本课题所研发工业机器人自动磨抛中心主要是由工业机器人、砂抛机、离线编程系统、力反馈控制系统、在线控制系统以及校准装置等组成[1]. 结合离线编程系统将大大提高了本系统的生产效率. 在进行离线编程中,为了实现机器人仿真工作环境单元模型与实际工作环境单元模型的匹配度和实际加工轨迹与理论加工轨迹的吻合度. 首先,将理论加工轨迹分别与在标定前和标定后的工作环境里离线编程生成的加工轨迹进行对比. 发现未标定生成的加工轨迹与仿真理论加工轨迹基本不吻合,那么将难以满足磨抛加工. 从而证明对工作环境进行标定是实际生成的加工轨迹基本与仿真理论加工轨迹吻合的重要环节. 因此,通常在进行离线编程前需要先对工作环境进行标定[2]. 1 标定的一般方法机器人作业标定通常有两种方式:路径标定和工件标定. 不同的路径,路径标定是不一样的;工件标定是提高仿真过程中的坐标系与实际坐标系的吻合程度. 工件标定的方法有很多种,最常用的有正交平面工件标定、圆形基准四点工件标定和辅助特征点三点标定等三种工件标定方法. 这些方法均需要在实际工件和工件模型中找到两个对应的坐标系,将这两个坐标系重合的同时也完成了工件和工件模型位置的重合. 但是这些方法仍不适应于磨抛系统,存在下列原因:(1)仿真过程中无法确定磨抛时磨抛深度量. (2)磨抛的水龙头形状各异,需要不同的夹具,夹具和工具的安装以及砂抛机的制造和安装过程中同样会产生误差.(3)如图1所示,砂带和砂轮都是柔性的,标定点不容易对准. (4)磨抛加工是一种面与面接触加工方式,对于凹加工曲面(见图2)往往需要通过柔性砂带变形完成磨抛,如图3所示. 弯曲程序根据实际进行调整,而这些方法标定完后无法进行更改或者更改麻烦. (5)最重要的是砂带和砂轮在长期抛光过程中的变形都会导致抛光的误差,需要重新标定,这样较为麻烦. 综上所述,这些方法的可调性太差,而磨抛加工不确定性较多,要求标定的方法具有较强的可调性. 本文针对工作环境标定中的砂抛机砂带位置修正做了大量的实验研究,提出了有效可行的实验来实现砂带位置的修正. 图1 抛光砂带Fig.1 Polishing belt图2 凹加工面Fig.2 Concave processing surface图3 凹加工曲面磨抛Fig.3 Grinding and polishing process of concave curved surface 2 砂抛机砂带修正的方法2.1 砂带修正的原理在三维软件中对砂带或者砂抛轮上建立的工具坐标系跟实际砂带或者砂抛轮相同位置建立的工具坐标系存在偏差,从而导致磨抛的轨迹与理想的不一样. 如图4为实际工具坐标系与理论之间存在的偏差示意图,离线编程中根据砂带上的特征点建立的工具坐标系为L,S为实际砂带上同样特征点建立的工具坐标系. 两个坐标系之间存在着一定的偏差,通过本实验的偏移变量法测定出这两个坐标系间的偏差值,通过在Solidworks软件平台上修正砂带位姿. 图4 实际与理论工具坐标系的偏差示意图Fig.4 The schematic diagram of deviation in actual and theoretical tool coordinate system一般坐标系T可表示为   T=(X,Y,Z;RX,RY,RZ)(1)其中X,Y,Z分别表示坐标系原点的坐标;RX,RY,RZ表示为坐标系的姿态. 现在通过变量使坐标系T表示改变成:T=(X+ΔX,Y+ΔY,Z+ΔZ;RX+ΔRX,RY+ΔRY, RZ+ΔRZ) (2)其中ΔX,ΔY,ΔZ,ΔRX,ΔRY,ΔRZ均是坐标系变量. 该偏移变量法的步骤可以描述为:①机器人末端法兰盘上安装标定工件,如图5所示;②在Solidworks软件中利用三点法在实体的特殊点处建立工件坐标系以及工具坐标系;③对标定工件沿砂带上下左右进行离线编写一段标定程序;④在程序中添加坐标系变量(ΔX,ΔY,ΔZ,ΔRX,ΔRY,ΔRZ)和类似于式(2)的相关指令;⑤将编写好的程序导入示教器中并运行标定程序的情况,如图6所示;⑥通过不断修改变量重新运行程序,直至实际工具坐标系与离线编程中的工具坐标系重合;⑦根据示教器上显示的偏差值在Soliworks软件平台上调整工作环境的布局. 图5 机器人末端法兰安装标定工具Fig.5 Flange mounting calibration tool of robot end 图6 实际运行标定程序的示意图Fig.6 The schematic diagram of the calibration procedure of the actual operation2.2 修正实验验证本文采用ABB工业机器人,因此要使用也必须是ABB运动控制指令,ABB类似于式(2)的指令存在如下两种:第一种坐标系变换指令:Workobject_1.uframe.trans.x:=Workobject_1.uframe.trans.x+a1;Workobject_1.uframe.trans.y:=Workobject_1.uframe.trans.y+a2;Workobject_1.uframe.trans.z:=Workobject_1.uframe.trans.z+a3;Workobject_1.uframe.rot:=Workobject_1.uframe.rot*orientzyx(a,b,c);Tooldata_1.tframe.trans.x:=Tooldata_1.tframe.trans.x+b1;Tooldata_1.tframe.trans.y:=Tooldata_1.tframe.trans.y+b2;Tooldata_1.tframe.trans.z:=Tooldata_1.tframe.trans.z+b3;Tooldata_1.tframe.rot:=Tooldata_1.tframe.rot*orientzyx(a,b,c);前3条指令表示为工具坐标系沿自身坐标系x、y、z轴偏移一定量;第4条指令表示为工具坐标系绕自身坐标系做RPY转动;第5~7条指令表示工件坐标系沿自身坐标系x、y、z轴偏移一定量;最后一条指令表示为工件坐标系绕自身坐标系做RPY转动. RPY转动中Roll是围绕当前坐标系Z轴旋转,Pitch是围绕当前坐标系X轴旋转,Yaw是围绕当前坐标系Y轴旋转. 第二种坐标系变换指令:MoveLOffs(RelTool(Target_10,rx,ry,rz\Rx:=rrx\Ry:=rry\Rz:=rrz),ox,oy,oz)表示目标点到达实际工具坐标系后沿工具坐标系x、y、z轴偏移一定量,绕工具坐标系x、y、z轴转动一定量. 两种指令均能完成砂带的标定且能完成后续的微调标定工作,但是第2种指令可对一段加工路径上的任意一个目标点再进行一次偏移,以便用于一些特殊情况进行修正,而第1种只能对一段加工路径进行修正. 故本实验采用第2种坐标系变换指令进行标定. 将标定工具沿砂带上运动的程序导入到示教器里,模拟位姿显示标定工具垂直且贴合砂带,但实际修正前砂带与标定工具间存在明显的偏移和间隙. 软件中的初始位置效果与实际效果差别如图7所示. 图7 实际与模拟位姿对比情况Fig.7 A comparison between actual posture and simulation posture往程序运动添加一些相关变量以及指令来对程序作修改,以完成偏差的修正,其重要的程序指令结构如下:定义变量Var num rx:=0;Var num ry:=0;Var num rz:=0;Var num rrx:=0;Var num rry:=0;Var num rrz:=0;MoveLOffs(RelTool(Target_10,rx,ry,rz\Rx:=rrx\Ry:=rry\Rz:=rrz),ox,oy,oz),v10,z100,Tooldata_1\WObj:=Workobject_1…通过在线检测和变量的修正,在示教器上得到最终砂带的偏差量,如图8所示. 根据示教器显示的偏差量,获得了实际工具坐标系与模拟之间的偏差量,如表1所示. 图8 示教器上的砂带的偏移量Fig.8 Belt offset in the teach device表1 实际砂带位置偏差量Table.1 Deviation of actual belt position  根据测得砂带的偏差值,通过Solidworks修正工作环境中砂带位姿,并在修正后的砂带上重新建立工具坐标系,其最后的效果如图9所示. 图9 修正后位姿情况Fig.9 Posture after modification在完成工作环境标定之后,将程序生成每段加工程序均改变成标定的程序格式,以便通过改变参数变量进一步完成现场微调路径,根据试抛的效果来改变磨抛深度和砂带的变形量. 2.3 砂带修正方法的优缺点2.3.1 砂带修正方法的优点 砂带修正方法最大的优点是灵活性强,砂带位姿修正后还能在现场微调时进行重复微调坐标系达到修正路径的目的. 十分适合柔性的加工工具,磨抛过程中不定的因素如砂带的磨损、抛光轮的变形和切削深度,以及适合复杂的加工曲面如凹凸曲面的修正. 砂带修正方法具有较强的独立性,根据实际的磨抛加工需要,可以在一些特殊点上添加偏移指令实现不影响其他目标点的前提下,完成所需点的修正. 2.3.2 砂带修正方法的缺点 磨抛的水龙头形状各异,需要不同的夹具,夹具和工具以及砂抛机的制造和安装位置的误差以及砂带和砂轮在长期抛光过程中的变形都会导致磨抛的误差. 处理措施:在实际磨抛工件前还需要进一步对该方法的微调来修正. 尽管这样标定后仍然存在偏差,但是加工的工具砂带和抛光轮都是柔性的,能够弥补该方法的不足. 3 路径修正磨抛的过程是通过面接触来完成的,而进行离线编程的时候是根据规划出的加工线进行计算编写的. 因此,必须根据工件的加工面特征来修正加工点坐标系的姿态. 有时离线编程得到的目标点的逆运动学解满足判定条件(各关节角在有效范围内),如图10(a)所示,但是机器人从上一目标点以直线插补运动到该目标点的过程中出现了第5轴转到了0度的现象,见图10(b),这种现象称为奇异位形. 奇异位形是机器人机构的一种重要的运动学特性,它是指机械手的工作空间中,手部参考点不能实现沿任意方向的微小位移或转动时相应机械手的位形.因此,提出一种以姿态插补的方法来解决上述问题. 图10 目标点分析Fig.10 Target points analysis3.1 路径插补原理插补是已知曲线上的某些数据,按照某种算法计算已知点之间的中间点的方法,也称为“数据点的密化”. 曲线的起点、终点之间的空间进行数据密化,从而形成要求的轮廓轨迹,这种“数据密化”机能就称为“插补”. 路径插值一般的方法有四元数线性插补和欧拉角插补. 它们都是根据目标点沿着路径长度的位置均匀的分布方位差(坐标系的方向和位置). 给定路径始末目标点的两个姿态分别是Rs,Re,坐标系姿态可用(RX,RY,RZ)表示,其中RX,RY,RZ分别表示坐标系x、y、z轴的方向矢量. 始末姿态的差值为    ΔRX=RXRs-RXReΔRY=RYRs-RYReΔRZ=RZRs-RZRe(3)设给定路径的周长为S,路径中目标点与初始目标点的弧长为Si,则经过直线插补后其他目标点的姿态(RXi,RYi,RZi)为  RXi= RXRs+ΔRX·■RYi= RYRs+ΔRY·■RZi= RZRs+ΔRZ· ■(4)3.1.1 欧拉角插补 欧拉角的坐标系姿态(RX,RY,RZ)一般使用(αi,βi,γi)表示. 设初始姿态Rs(αs,βs,γs),末端姿态为Re(αe,βe,γe),根据式(4),当前的姿态Ri为:          αi=αs+(αs-αe)·■βi=βs+(βs-βe)·■γi=γs+(γs-γe)·■(5)3.1.2 四元数插补 用四元数q(x,y,z,s)表示姿态,根据四元数球面线性内插补(Slerp)方法[3],如图11所示,始末姿态q1与q2之间的角度为θ,在q1,q2之间进行插值qi,qi与q1之间的夹角为tθ,t=Si/S,t∈[0,1],则当前qi的姿态的四元数为   qi=k1q1+k2q2 (6)式(6)中的k1,k2为标量;根据三角相似关系,k1,k2的值为   k1=■,k2=■(7)将式(7)代入到式(6)得到四元数线性插补公式为 qi=(q1sin(1-t)θ+q2sinθ)/sinθ(8)  图11 四元数线性插补原理Fig.11 The interpolation principle of quaternion linear欧拉角在描述空间方位时存在周期性,且在两个方位间求插值非常困难,甚至会出现“万向锁”(gimbal lock)的现象,使用较为不便[4];此外等量的欧拉角变化,会导致旋转运动不均匀. 而四元数插补不仅不会出现这些状况,还支持相同的旋转速度,姿态运动平滑性高. 因此本实验是基于四元数线性插补完成修正的. 3.2 四元数线性插补修正3.2.1 形状导致的姿态修正 砂带与工件表面进行磨抛,而目标点的坐标系是根据加工曲线的形状而建立的. 因此,先对加工线上的几个关键点如起始点、中点和终点坐标系姿态要进行适当的变换,然后通过四元数线性插补完成中间加工点的插补,修正加工姿态. 由于还未对Solidworks进行二次开发自动生成坐标系可视化功能,故将程序导入到Robotstudio进行验证这种插补是否正确,在Robotstudio里呈现的效果如图12所示. 图中黄色点位代表工件抛光路径,绿色的线代表工件与砂带接触姿态变化. 从图12中看出插补后在同样的抛光路径中工件与砂带接触比较均匀,这样进一步使得抛光工艺得到保证. 图12  四元数线性插补前后对比Fig.12 Before and after quaternion linear interpolation3.2.2 奇异位形的修正 对于目标点运动过程中出现奇异位形,其修正的方法一般是对出现奇异位形的相邻两目标点间添加一定数量的目标点,并对这些目标点进行四元数线性插补来修正奇异位形现象. 4 结 语a.为了保证离线编程生成的轨迹的精准度,提出了基于工业机器人指令的一种可调性较高的砂带位姿修正的偏移变量法,该方法主要是在工件或者工具坐标系的参数里添加变量参数,通过不断的改变变量参数完成测定实际和理论坐标系之间的偏差量,根据测定的偏差量完成工作砂带位置的修正,修正后生成的轨迹基本与仿真理论轨迹吻合,该方法主要的特点是不仅适用于砂带的修正,而且同样适合于后续的微调工作. b.讨论了生成程序中数据如加工姿态和目标点奇异位形情况,采用了四元数线性插补方法进行修正,修正后的加工点姿态更加均匀,更加符合磨抛要求,奇异位形的现象也得到了解决. 致 谢本研究得到了国家高技术研究发展计划(863计划)的资助,在此表示衷心的感谢!