老哥学习网 - www.lg9.cn 2024年05月21日 08:00 星期二
当前位置 首页 >公文范文 > 公文大全 >

基于双B样条的手机点胶轨迹插补算法研究

发布时间:2023-03-20 21:05:12 浏览数:

徐建明,李 想

(浙江工业大学 信息工程学院,浙江 杭州 310023)

手机边框点胶加工需要对点胶机的进给速度和姿态进行控制,而实现这些功能的关键在于插补算法。传统直线插补、圆弧插补通过小线段逼近曲线轨迹,插补精度较低,且无法控制点胶姿态,因此有必要研究一种适用于五轴点胶机的参数曲线插补算法。国内外已有很多学者针对参数曲线插补技术进行研究。王娟[1]将PVT(位置-速度-时间路径插值)插补算法应用于点胶机,克服了传统直线圆弧插补在线段连接处速度方向不连续的问题,得到了较为光滑的插补轨迹。党志广等[2]使用三次样条曲线对加工轨迹进行逼近,也得到了较为光滑的加工曲线。朱宁[3]对三次样条曲线的插补算法进行改进,通过控制进给步长恒定实现了恒进给速度插补。胡自化等[4]和王云凯[5]分别对B样条插补算法和非均匀有理B样条(Non-uniform rational B-splines,简称NURBS)插补算法进行研究,两者均采用泰勒展开法来计算插补参数。吴玉香等[6]使用三步四阶隐式Adams方法计算预估插补参数,并用二分迭代法进行校正。刘恒俊[7]提出一种基于Gear预估校正法的插补参数计算方法,相较于泰勒展开法计算精度得到明显提升。Xu等[8]提出使用两条B样条曲线直接规划旋转轴运动轨迹,保证了旋转轴运行平稳。Sun等[9]提出了一种用于短线段加工的B样条过渡方法和实时预插补方法,在高加工速度条件下提高了加工质量。Li等[10]对双NURBS曲线插补进行了研究,使用双NURBS曲线同时规划加工刀尖点轨迹和刀轴点轨迹,实现了五轴联动插补。

目前,虽然国内外有很多针对数控机床插补算法的研究,但缺少针对点胶机插补算法的研究。零件切削加工与点胶加工对插补算法有着不同的要求,作为常用插补方法的PVT插补算法存在速度波动大、无法有效控制点胶方向的缺点。对此,笔者提出了一种面向五轴点胶加工的双B样条插补算法,主要研究内容是:1) 采用两条B样条曲线分别描述点胶针尖点(简称针尖点)轨迹和点胶针轴点(简称针轴点)轨迹;2) 使用预估校正法计算针尖点轨迹的插补参数,其中预估部分采用泰勒一阶展开法,校正部分采用牛顿迭代法,然后根据两条轨迹插补参数的同步关系计算针轴点轨迹的插补参数,进而计算两条插补轨迹;3) 根据两条插补轨迹计算非过渡区间的两个旋转轴转角,使用五次多项式曲线规划过渡区间内的旋转轴转角,根据旋转轴转角和针尖点轨迹计算平动轴位移量;4) 在CODESYS软件平台上使用ST语言编写算法程序并进行仿真,在双转台五轴点胶机平台上进行实验,以验证笔者设计算法的有效性。

图1 手机边框点胶示意图Fig.1 Schematic diagram of mobile phone frame dispensing

手机边框点胶加工需要解决的问题如下:

1) 点胶所用胶黏剂通常比较黏稠,受重力影响的胶体喷出后容易偏离目标点,使用双转台五轴结构的点胶机会有更好的效果。点胶加工时双转台上的点胶工件开始转动,而点胶机的出胶方向始终向下,与重力方向一致,这将有效减小重力对点胶的影响。因此,保证点胶针轴矢量与工件表面法线方向重合十分重要。

2) 按点胶机行业标准定义,点胶速度为每分钟的点胶数量。同时,要求每次点胶的出胶量偏差较小[11]。常规点胶阀在单位时间内的出胶量保持恒定,进给速度波动大会导致堆胶、断胶等问题。因此,实现点胶均匀的关键在于控制点胶机的进给速度。

3) 在恒进给速度点胶的条件下,当使用运动学公式计算两个转台旋转轴转角时会遇到轴速度突变的问题。由于直线部分轨迹曲率为0,姿态保持不变,而弧线段曲率突然改变会造成刚性冲击。因此,需要规划旋转轴在直线段与弧线段处的过渡轨迹。

插补算法需基于运动学模型设计,首先,笔者将对双转台五轴点胶机进行运动学分析。建立的双转台五轴点胶机连杆坐标系如图2所示。

图2 五轴点胶机连杆坐标系Fig.2 Connecting rod coordinate system of five-axis dispenser

五轴点胶机的五轴包括A轴、C轴2个旋转轴和X轴、Y轴、Z轴3个平动轴。图2中坐标系O0x0y0z0,O1x1y1z1,O2x2y2z2,O3x3y3z3,O4x4y4z4,O5x5y5z5和O6x6y6z6分别为工件坐标系、转台C轴坐标系、转台A轴坐标系、X轴滚珠丝杆坐标系、Y轴滚珠丝杆坐标系、Z轴滚珠丝杆坐标系和工具坐标系,工具坐标系原点O6与针尖点为同一点。工件坐标系原点设置在工件夹具中心,O1(O2)为参考旋转中心,也是A轴与C轴的垂直交点。L1为工件坐标系原点O0到旋转中心O1(O2)的距离,L2为旋转中心O1(O2)到X轴的距离,L3为X轴到Y轴的距离,L4为Y轴到Z轴的距离,L5为针尖点到Z轴的距离,L6为针尖点到x5坐标轴的距离,这6个参数均是由机械结构确定的定值。θC为C轴旋转角度,θA为A轴旋转角度,当针尖点O6(P1)与夹具中心O0重合且两个旋转轴角度均为0时的O0位置定义为编程零点,此时5个轴的位置定义为各轴零点。

然后,根据双转台五轴点胶实验平台的结构,运用Denavit-Hartenberg参数法推导出双转台五轴点胶机的运动学计算公式,即

P1x=(L5-L4)cosθCcosθA+(L2+L3+L6)cosθCsinθA-
xcosθCcosθA-ysinθC-zcosθCsinθA
P1y=xcosθAsinθC-ycosθC+zsinθCsinθA-
(L2+L3+L6)sinθCsinθA+(L4-L5)cosθ2sinθA
P1z=(L5-L4)sinθA-(L2+L3+L6)cosθA-
xsinθA+zcosθA-L1

(1)

式中:x,y,z为转台沿X,Y,Z轴相对于零点的位移量;θA,θC为转台绕A轴和C轴的转角。根据相对运动关系,将除Z轴滚珠丝杆电机外的所有电机设置为反转模式。根据式(1)和5个轴的位移和转角,计算出当前针尖点在工件坐标系下的坐标值P1x,P1y,P1z。

最后,进行逆运动学求解。在工件坐标系下定义针轴点P2的坐标值为P2x,P2y,P2z。关于针尖点轨迹和针轴点轨迹的计算将在下一章详述。假设已知针尖点和针轴点的坐标,则逆运动学中θA和θC的角度值可通过公式计算,即

(2)

已知θA和θC,令

n1=(L5-L4)cosθCcosθA+(L2+L3+
L6)cosθCsinθA-P1x
n2=-(L2+L3+L6)sinθCsinθA+
(L4-L5)cosθAsinθC-P1y
n3=(L5-L4)sinθA-(L2+L3+
L6)cosθA-L1-P1z

(3)

式(3)等式右边均为已知量,将式(1)代入式(3)可列出非齐次方程组,即

(4)

由行程限制可知:cosθA不为0;sinθC和cosθC不同时为0;方程组式(4)的系数矩阵秩为3。方程组式(4)有唯一解,即

(5)

式(2,5)共同组成双转台五轴点胶机的逆运动学计算式。至此,得到了双转台五轴点胶机的运动学模型,下面进行插补算法的方案设计。

针对问题1),笔者使用两条三次B样条曲线规划针尖点和针轴点的轨迹。针尖点与其对应的针轴点共同确定了点胶针轴矢量。B样条曲线具有几何不变性、凸包性、局部支撑性和变差减缩性等诸多优良特性[12]。根据B样条曲线的几何不变性与仿射不变性可知:只要用于插补的原始数据点所确定的点胶针轴矢量垂直于点胶曲面,使用这些数据点插补计算得到的中间轨迹所对应的点胶针轴矢量也将垂直于点胶曲面。给定n个原始路径点,则控制顶点数量为n+2,总共需要n+k+3个节点[13]。B样条曲线的表达式为

(6)

式中:Ni,k(u)为B样条基函数;k为曲线次数,k=3即为3次B样条曲线;di为B样条曲线的第i个控制顶点;u为插补参数,u∈[0,1]。插补轨迹起始点对应的插补参数为0,终点对应插补参数为1。端点处的节点矢量重复度为k+1,即首端4个节点矢量相同,末端4个节点矢量相同。待插补的路径点有n个,总共需要n+k+3个节点。定义针尖点轨迹的节点矢量为U=[u1,u2,…,un+k+3],针轴点轨迹的节点矢量为W=[w1,w2,…,wn+k+3],节点矢量中的各节点值可由积累弦长法确定[13]。

针对问题2),首先采用预估校正法计算针尖点轨迹的插补参数,使用泰勒一阶展开法计算预估插补参数;进而使用牛顿迭代法对预估插补参数进行迭代处理,重复迭代直至得到符合要求的针尖点插补参数;然后根据两条B样条轨迹的同步关系计算针轴点轨迹的插补参数;最后通过德布尔算法计算出两条插补轨迹。

针对问题3),将直线段与弧线段接点处的节点区间作为过渡区间,使用五次多项式对过渡区间内的旋转轴转角进行轨迹规划[14],非过渡区间的旋转轴转角则由两条插补轨迹通过逆运动学计算式得到。

图3为过渡区间示意图,加工方向为逆时针方向。p(un1),p(un2),p(un3),p(un4),p(un5),p(un6),p(un7),p(un8)分别为8个直线段与弧线段连接处的路径点,对应8个过渡区间。使用CAM软件生成的G代码包含这些路径点的信息,根据这些路径点的序号可以确定对应节点的下标n1~n8。8个过渡区间分别为[un1,un1+1],[un2-1,un2],[un3,un3+1],[un4-1,un4],[un5,un5+1],[un6-1,un6],[un7,un7+1],[un8-1,un8]。8个过渡区间的并集R为总的过渡区间。

图3 过渡区间示意图Fig.3 Schematic diagram of the transition zone

根据上述方案设计双B样条插补算法,算法流程图如图4所示。

图4 双B样条插补算法流程图Fig.4 Flow chart of double B-spline interpolation algorithm

首先进行双B样条轨迹规划,得到插补轨迹关于插补参数u的计算式。然后每个插补周期都使用预估校正法计算插补参数u,将u代入针尖点轨迹计算式得到针尖点轨迹。接着根据插补参数是否在过渡区间范围内,确定旋转轴转角的计算方式。若不在过渡区间内,则根据同步关系计算针轴点插补参数,进而计算针轴点插补轨迹;若在过渡区间内,则使用五次多项式计算旋转轴转角。最后根据旋转轴转角和针尖点轨迹反算出平动轴位移量。重复此流程,直至插补参数大于等于1,插补完成。

由式(6)所定义的针尖点B样条曲线轨迹为

(7)

式中:d1x,i,d1y,i,d1z,i为针尖点轨迹第i个控制顶点的坐标值。针轴点轨迹表达式为

(8)

式中:d2x,i,d2y,i为针轴点轨迹第i个控制顶点的坐标值。

G代码包含的待插补原始数据点的X,Y,Z坐标值即为针尖点坐标。针轴点的原始数据点可由针尖点坐标及其对应的A轴和C轴角度值计算得出。针尖点和针轴点轨迹的控制顶点可根据待插补轨迹点及其对应节点矢量通过追赶法反算[13]得出。

定义式法求插补轨迹点需要计算B样条基函数,计算量较大,使用德布尔算法可以更加高效地计算B样条曲线上的点和导矢[15]。给定u∈[ui,ui+1],使用德布尔算法计算针尖点X坐标值P1x的公式为

(9)

矢曲线上的点。一阶导矢曲线的控制顶点可由每两个相邻的针尖点轨迹控制顶点求得,计算方法为

(10)

由式(10)可计算得到对应参数u的3个导矢曲线控制顶点,而P′1x可由一阶导矢曲线的3个控制顶点经2级递推得到,其计算方法为

(11)

P′1y和P′1z的求解同理。至此可得到针尖点轨迹、针轴点轨迹以及针轴点轨迹一阶导矢的计算式,此外还需要计算符合恒进给速度要求的针尖点轨迹插补参数u和针轴点轨迹插补参数w。

点胶机进给速度定义为

(12)

式中:T为插补周期;L为每个插补周期内的进给步长。双转台五轴实验平台的插补周期即是CODESYS控制系统的总线扫描周期,因为不能实时更改,所以要保持进给速度恒定就需要保证每个插补周期内的进给步长恒定。而B样条曲线插补中,目标坐标点由插补参数u确定,因此保证进给速度恒定的关键在于插补参数u的计算。

插补参数的传统计算方法为王云凯[5]和吴玉香等[6]所使用的泰勒展开法。泰勒一阶展开法的插补参数计算表达式为

(13)

式中:un为已知的第n个插补周期的插补参数;un+1为第n+1个插补周期的预估插补参数。泰勒二阶展开法的插补参数计算表达式为

(14)

式中:P″1x,P″1y,P″1z为B样条曲线的二阶导矢。可以看出泰勒展开法实际上是针对曲线曲率变化进行一定的补偿,其本质为开环算法,计算结果不收敛。根据式(13,14)可知泰勒一阶展开法所计算出的预估参数是单调递增的。而泰勒二阶展开法计算的参数可能在曲率较大时计算出反向插补参数,且需额外计算二阶导矢信息。综上所述,笔者将采用泰勒一阶展开法计算预估插补参数。对于预估参数,进一步使用牛顿迭代法进行校正。

(15)

设目标插补步长为L=VT,令预估插补步长与目标插补步长相等,得到非线性方程为

(16)

方程两边均为距离标量,为方便计算对两边同时进行平方,即

(17)

预估插补参数un+1的计算可转换为对非线性方程(17)的求解。而此非线性方程的求解使用牛顿迭代法可实现。牛顿迭代法可实现至少二阶收敛,牛顿迭代法原理及收敛性证明详见文献[16]。泰勒一阶展开法和牛顿迭代法所需要的一阶导矢信息可由德布尔算法快速求出。计算出的一阶导矢信息可被下一插补周期的泰勒展开法用于计算预估插补参数,以提高预估插补参数的计算精度。

整理式(17)可得

(18)

对f(un+1)求导可得

f′(un+1)=2P′1xΔP1x(un+1)+2P′1yΔP1y(un+1)+
2P′1zΔP1z(un+1)

(19)

牛顿迭代法的定义式为

(20)

将式(18,19)代入式(20)即可得到计算插补参数的牛顿迭代式。在计算插补参数时,每个插补周期都先使用泰勒一阶展开法计算初步预估的插补参数,然后再使用牛顿迭代法对其进行迭代,直到预估插补步长符合要求。

使用预估校正法的插补参数计算流程图如图5所示。

图5 预估校正法流程图Fig.5 Flow chart of predictive correction method

得到符合条件的参数后,就可使用德布尔算法求出针尖点轨迹,再根据两条轨迹的插补参数同步关系确定针轴点轨迹的插补参数,插补参数u和w的同步关系[17]为

(21)

根据式(21)可得到针轴点轨迹的插补参数,进而计算出针轴点轨迹。

设第i个节点为姿态突变点,下标j表示A轴或C轴;θj,i为第i个节点的旋转轴角度,θj,i+1为第i+1个节点的旋转轴角度;Ts为由节点i运动到节点i+1所需时间,Vj,i为轴运动到第i个节点处的速度,Vj,i+1为第i+1个节点处的速度,首末加速度为0。根据约束条件可得到五次多项式曲线的系数,即

(22)

五次多项式曲线的表达式为

θj(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5

(23)

将式(22)代入式(23)即可得到A轴和C轴的五次多项式曲线轨迹的表达式。过渡区间处C轴电机位置记录曲线如图6所示,速度曲线如图7所示。

图6 C轴位置曲线Fig.6 C-axis position curve

图7 C轴速度曲线Fig.7 C-axis speed curve

仿真平台为CODESYS软件,控制器CPU为ARM Cortex-A8 600 MHz/1 GHz。实验对象为如图8所示的手机模型。图8中深色部分为点胶轨迹所在曲面,其中心线为点胶轨迹。使用MasterCAM软件提取特征点得到G代码格式的型值点信息。

图8 手机模型图Fig.8 Mobile phone model diagram

分别运用PVT插补法和双B样条插补算法进行仿真验证。针对双B样条插补算法,再使用不同插补参数的计算方法进行仿真对比。使用速度波动率(速度误差占设定速度的百分比)作为衡量进给速度波动的指标。设置二分迭代和牛顿迭代法的迭代结束条件为速度波动率小于1×10-4%,插补周期设置为1 ms。使用CODESYS软件中的数据跟踪功能记录仿真数据。

PVT插补仿真实验结果如图9所示,由图9可以看出除直线段外进给速度不能被有效控制。泰勒一阶展开法的仿真结果如图10所示。单独使用泰勒一阶展开法在插补开始时速度波动率最大,这是由于泰勒一阶展开法计算需要有上一个点的一阶导矢信息,而第一个点之前没有导矢信息,只能按给定初值计算。

图9 PVT插补法的仿真进给速度曲线Fig.9 The simulation feed rate curve of PVTinterpolation method

图10 泰勒一阶展开法的仿真进给速度曲线Fig.10 The simulation feed rate curve of Taylor’sfirst-order expansion method

当使用迭代法控制进给步长进行插补时,整体进给速度都是恒定的,对比效果不明显,因此此处不再给出二分迭代法及牛顿迭代法的进给速度仿真图,主要对比使用不同插补方法时的速度波动率及迭代次数。表1为不同插补方法的仿真结果对比数据。使用二分迭代法无法在设定的速度误差和插补周期条件下完成插补,数据跟踪出现高丢包率,当插补周期增加到4 ms时不再丢包。有效控制了进给速度,但迭代次数太多,影响实时性。牛顿迭代法平均迭代次数较少,且速度波动率更小,实现了恒进给速度约束条件下插补参数的快速计算。

表1 不同插补方法的仿真结果对比表Table 1 Comparison table of simulation results of differentinterpolation methods

选取对应速度波动率96%时的插补参数作为迭代初值,迭代终止条件设置为速度波动率小于1×10-4%,实验结果如图11所示。在高初值误差条件下,二分迭代法需要迭代28次,迭代后速度波动率为4.6×10-7%,牛顿迭代法需要迭代4次,迭代后速度波动率为3×10-6%。选取对应速度波动率2%时的插补参数作为迭代初值,迭代终止条件不变,实验结果如图12所示。在低初值误差条件下,二分迭代法所需迭代数为34次,迭代后速度波动率为1.18×10-5%。牛顿迭代法所需迭代数为2次,迭代后速度波动率为3.14×10-6%。可见二分迭代法在插补参数的迭代计算中效果不好。此外,牛顿迭代法每次迭代完成时计算出的一阶导矢数据可以直接被下一插补周期的泰勒一阶展开法用于计算预估参数,从而提升下一次泰勒预估展开法的预估精度。仿真实验验证了大部分情况下牛顿迭代法只需要迭代1次即可满足设定误差要求。对算法的仿真验证了使用泰勒一阶法预估参数结合牛顿迭代法校正参数的预估校正算法可以有效减小计算量,提高实时性。

图11 高初值误差条件下迭代次数对比图Fig.11 Comparison chart of iteration timesunder high initial error conditions

图12 低初值误差条件下迭代次数对比图Fig.12 Comparison chart of iteration timesunder low initial error conditions

实验平台为双转台五轴点胶机,控制器与仿真实验相同。3个平动轴使用欧姆龙R88D_KN02H_ECT驱动器及配套的R88M-K200030H-BOS2-Z电机,额定功率为200 W。旋转轴使用禾川SV-X3EB010A-A2伺服驱动器及配套的禾川SV-X2MH010A-N2LA电机,额定功率为100 W。旋转轴搭配减速比为40的减速器。分别使用PVT插补和B样条插补进行实验,进给速度均设置为10 mm/s,并利用CODESYS内置参数跟踪功能记录实验数据。

图13为使用PVT插补时的进给速度跟踪记录。使用PVT插补时进给速度的波动率比较大,最大速度波动率为79%,平均速度波动率为4.9%。图14为使用双B样条插补时的进给速度跟踪记录。最大速度波动率为29.1%,平均速度波动率为1.9%,较PVT插补有明显改善。实验记录的速度波动率数据相较于仿真结果有较大偏差,原因在于实验平台的伺服系统性能不足,带负载时旋转轴速度误差较大,旋转轴速度对合成速度有很大影响,因而实验效果不太理想。

图13 PVT插补的实际进给速度曲线Fig.13 Actual feed rate curve of PVT interpolation

图14 双B样条插补的实际进给速度曲线Fig.14 Actual feed rate curve of double B-spline interpolation

在双B样条插补算法的应用中,点胶针轴矢量通常为单位矢量长度。为使轨迹更易被观察,实验中将双B样条之间的间距设为10 mm,间距的大小对插补并无影响。五轴点胶机的实验点胶轨迹结果如图15所示,两条B样条曲线轨迹共同确定了点胶轨迹和点胶针轴矢量。为了便于对比,将弧线段处轨迹放大并调整为俯视图。图16为双B样条插补弧线段处轨迹的俯视图。使用双B样条插补算法时点胶针轴矢量基本与轨迹法向量方向一致。图17为PVT插补弧线段处轨迹的俯视图,可以看出使用PVT插补算法时点胶针轴矢量的偏差较大。图18为目标轨迹、B样条插补轨迹和PVT插补轨迹的局部对比图,选取了直线与圆弧接点处轨迹进行对比。双B样条插补最大误差为0.2 mm,PVT插补最大误差为0.85 mm。实验结果表明双B样条插补相较于PVT插补可以显著提高点胶精度。

图15 双B样条的插补轨迹图Fig.15 Interpolation trajectory diagram ofdouble B-spline

图16 双B样条插补的轨迹俯视图Fig.16 Top view of trajectory of double B-splineinterpolation

图17 PVT插补的轨迹俯视图Fig.17 Top view of the trajectory of PVTinterpolation

图18 点胶轨迹对比图Fig.18 Dispensing track comparison chart

笔者基于五轴点胶机研究了双B样条插补算法;采用双B样条曲线规划了点胶轨迹和非过渡区间的点胶针轴矢量;使用预估校正法计算插补参数,有效控制了进给速度,且迭代次数较少;使用五次多项式曲线规划过渡区间内的旋转轴转角,实现了直线段与弧线段处点胶姿态的平稳过渡。在CODESYS软件和双转台五轴点胶机平台上进行了仿真与实验,仿真与实验结果显示:相较于PVT插补算法,笔者所提双B样条插补算法在相同条件下对进给速度的控制效果更好,点胶轨迹和点胶针轴矢量的误差更小。综上所述,笔者所提双B样条插补算法在工程实践中具有实用价值。

本文得到了浙江工业大学教学改革项目(JG201918)的资助。

猜你喜欢 针尖轨迹曲线 未来访谈:出版的第二增长曲线在哪里?出版人(2022年8期)2022-08-23解析几何中的轨迹方程的常用求法中学生数理化(高中版.高考数学)(2022年4期)2022-05-25针尖上的蜂蜜阅读与作文(小学低年级版)(2021年6期)2021-07-11幸福曲线英语文摘(2020年6期)2020-09-21轨迹读友·少年文学(清雅版)(2020年4期)2020-08-24缝衣针扬子江(2020年4期)2020-08-04轨迹读友·少年文学(清雅版)(2020年3期)2020-07-24针尖和笔尖少年文艺·开心阅读作文(2017年7期)2017-08-05写小诗滇池(2017年5期)2017-05-19梦寐以求的S曲线Coco薇(2015年10期)2015-10-19

推荐访问:算法 轨迹 研究

相关文章:

Top