基于曲率连续的混合曲线插补方法研究
2021-03-25冯倩倩张立强
冯倩倩,张立强,孔 森,刘 钢
(上海工程技术大学机械与汽车工程学院,上海 201620)
0 引言
在CNC 系统中,对复杂零件的轮廓加工通常使用线性(G01)或圆形(G02,G03)指令。因此,系统会生成具有数量大、长度短等特点的小线段,这些小线段彼此之间不连续,破坏了零件轮廓的光顺性。同时,大量的数据也为系统计算处理增加了负担。在满足精度要求的情况下,可能会遇到以下问题:①直线段很短的数控代码无法实现高速加工;②相邻段连接处,进给速度的波动和不连续现象严重;③高加减速可能会引起系统振动,降低加工表面质量。
针对这些问题,国内外学者进行了大量研究。其涉及的主要技术有脉冲响应技术和样条曲线插补技术等,脉冲响应技术通过滤波器生成平滑的进给轮廓。Altintas 等[1-2]提出一种基于FIR 滤波器的在线插值技术,其应用仅限于简单的轨迹点对点;Liu 等[3]提出一种综合运动学方法,采用FIR 滤波器约束具有有界运动的GO1 指令,并产生时间最优和跃度限制的线性段。样条曲线插补方法主要依靠高阶样条曲线[4-6],实现加工路径的平滑转接并提高加工效率,然后对路径进行速度规划以达到平滑速度和加速度,缓解由于机床骤停引起的振动;王斌锐等[7]在拐角过渡时利用圆弧转接,并结合非对称S 加减速规划,实现全局的自适应前瞻加工,但在加工过程中没有考虑拐角误差的约束条件;唐清春等[8]为了得到C3连续的最优刀具位置点曲线,在相邻刀尖点利用B 样条曲线使拐角圆滑过渡;Wang 等[9]提出一种基于Akima 曲线拟合的实时前瞻性插值算法,但计算量大,且无法得到Akima 曲线的斜率向量;Nien 等[10]提出一种高速加工实时前瞻插补方法,在零件轮廓位置连续的基础上,建立连续样条曲线交点处的斜率和曲率的连续条件,通过设定曲率阈值识别拐角,并对不同类型拐角处的轮廓误差和加速度进行限制;李方等[11]提出一种基于直线和NURBS 曲线混合的实时插补算法,通过拟合准则对合适的点集进行分段拟合,但只消除了局部拟合曲线的振动,并没有处理混合段之间的过渡平滑问题,在加工过程中依旧有冲击振动问题存在;Lee 等[12]提出一种G3插值和运动规划相结合的实时插补算法,刀具路径由线段和4 次曲线段混合组成,并能达到G3连续,但研究没有考虑刀具轨迹相交情况;Ye 等[13]提出一种拐角光顺误差约束优化算法,将刀具半径补偿与拐角平滑结合起来,采用多约束规划策略对误差约束进行优化,能够保证切削精度并提高加工效率;Fan 等[14]提出一种基于G4轨迹连续和跳度平滑的实时加工方法,能降低加工过程中的振动;Liu 等[15]提出一种线段实时插补策略,在保证刀具轨迹C2&G2连续和刀具运动跳度连续的同时,具有插值计算效率高的优点;Shi 等[16]提出一种基于曲率连续的5 次PH 曲线过渡的刀具轨迹实时前瞻插补方法,但是只约束了逼近误差,没有对弓高误差作出约束;Wang 等[17]提出一种具有非对称过渡轮廓和有限跳度的角轨迹平滑方法,该方法无需对称的过渡轮廓,因此可以充分利用驱动器的性能,但是限制条件较多,需在拐角轨迹不重叠且转弯过程抖动恒定的情况下作深入研究。
本文提出一种基于曲率连续的混合曲线插补算法。首先根据小线段的长度与线段之间的夹角等约束,确定符合拟合条件的小线段并使用非均匀B 样条曲线进行拟合,然后对相邻不同类型线段之间的拐角使用5 次PH 曲线进行C2Hermite 插值插补,得到一条曲率连续的轮廓路径,并在弓高和加速度的限制下对速度进行约束,完成整个轮廓加工。
1 非均匀B 样条拟合实现
本文使用非均匀B 样条曲线进行轮廓拟合,曲线变化比B 样条更灵活,也不会产生扭结现象。曲率连续,也称为G2连续,是指两个连续的线段在函数处具有相同的切线单位和曲率向量,可以避免法向加速度的不连续性。由于三阶曲线是实现G2连续的最低阶次,因此本文采用3 次非均匀B 样条曲线,定义如式(1)所示。
其中,pi是曲线控制点,Ni,k(u) 是基函数。令实数序列为U={u0,u1,…,um},且满足ui≤ui+1,i=0,1,…,m-1。
Ni,k(u) 是B 样条曲线空间中具有最小支撑的一组基,因此被称为基本样条,定义如式(2)所示。
2 PH 曲线拐角过渡实现
2.1 PH 曲线
PH 曲线不仅具有曲率连续变化的性质,而且PH 曲线能建立精确的“弧长—参数”信息。由于偶次PH 曲线为非正则曲线,具有奇异点;3 次PH 曲线无法灵活处理拐点,5次及以上的PH 曲线能保证G2连续,6 次以上的PH 曲线又过于复杂。因此,本文选择5 次PH 曲线进行拐角处的过渡。定义一条满足控制点为Pi,(i=0,1,2,3,4,5) 的平面5次PH 曲线如式(3)所示。
则5 次PH 曲线曲率如式(4)所示。
其中,实项多项式u(t)=,v(t)=。
2.2 PH 曲线C2Hermite 插值
由PH 曲线的定理可知[18],已知PH 曲线的首末端点、其切矢以及端点处的二阶导,就能得到PH 曲线的C2Her⁃mite 插值。首先根据不同的连接情况,计算拐角点处两个切矢,然后计算PH 曲线拐角过渡的首末端点Ps(xs,ys)和Pe(xe,ye),最后带入曲线方程得到首末端点处的切矢和二阶导,就能完成由PH 曲线进行拟合的拐角过渡。
2.2.1 拐点处切矢计算
拐点处会出现3 种情况,分别为直线与直线相连接、直线与曲线相连接以及曲线与曲线相连接。因此,拐点处可能出现两种切矢,分别为直线端的切矢和曲线端的切矢。
直线端的切矢可由直线的斜率k 表示,为了方便计算,令常数n 为向量的模的倒数,求单位切矢如式(5)所示。
其中,α为直线与x 轴正方向的夹角。
设β为曲线切矢与x 轴正方向的夹角,则曲线P(t)={x(t),y(t)}端点处的单位切矢量如式(6)所示。
2.2.2 拐角处PH 曲线首末端点计算
由图1 所示,已知A(xa,ya)、B(xb,yb)、C(xc,yc)3 点,以拐角B 点为例,由夹角公式可求得∠ABC 的角平分线lB的斜率k0,则首末端点所在的直线L 垂直于角平分线lB。由于首末端点的位置会影响拐角的轮廓误差,因此在计算时要考虑误差限制,由于加工的多样性,设直线L 与拐点B 的最大误差容限为εe,r 为小于1 的常数。r 越小,表示加工精度越高。由拐点B 点到直线L 的距离以及角平分线lB能得到坐标P0(x0,y0),如式(7)所示。
因此,直线L 与线段AB 的交点Ps为PH 曲线的首端点,坐标如式(8)所示。
同理可得拐点B 处的PH 曲线末端点Pe。
Fig.1 Corner transition diagram图1 拐角过渡示意图
3 轮廓拟合插补实现
在进行高速加工时,连续性差的小线段会导致刀具进行频繁加减速,机床受到的冲击会影响零件加工质量和效率。为了使加工过程更加平稳,需要对连续小线段进行预处理。因此,整个轮廓的拟合分为预处理和插补两个过程。拟合曲线本身是G2连续,经过PH 曲线在拐角处的C2Hermite 插值,整个平滑路径是G2连续。
3.1 预处理
为了保证拟合后轮廓的精度,需要利用CAM 系统对零件轮廓进行划分处理。在对处理后得到的连续小线段进行拟合前,需要分析NC 代码中小线段的几何特性,划分区域并筛选出符合条件的小线段在区域内进行小线段组连接,以提高拟合效率,缩短加工时间。
当然,不是所有的线段组都可以直接拟合。例如,高曲率点就不适合直接进行拟合,可能会导致拟合曲线的纽结和变形,需要分区拟合后再通过拐角插补转接光顺;相邻两个拐角之间的距离过小时,会导致刀具在转接过程中的过渡轮廓发生重叠,从而破坏了过渡路径。如果插补后的拐角轮廓重叠,为了使该重叠部分的运动不超出系统的运动学限制,同时减少控制系统由于重叠部分的插补而造成的进给颤动,拐角处进给运动的转接速度会降低,或者会减少最大轮廓误差[19]。因此,为了能够合理地进行拟合,需要考虑几何上的约束。
(1)直线段间拐角。相邻小线段之间的拐角大小反映出小线段之间的连接关系,影响拟合曲线的形状和精度,因此,为了保证拟合误差,夹角需要满足一定条件。
如图 2 所示,连续小线段组上的 3 个交点Pi-1(xi-1,yi-1)、Pi(xi,yi)和Pi+1(xi+1,yi+1),在拟合半径为R的圆弧段上,线段Pi-1Pi和线段PiPi+1之间的夹角φ可由直线间的夹角公式得到,如式(9)所示。
其中,k1为线段PiPi+1的斜率,k2为线段Pi-1Pi的斜率。
线段PiPi+1和线段Pi-1Pi的拐角为θ,δ1和δ2分别为线段PiPi+1和线段Pi-1Pi处的弓高,则θ计算如式(10)所示。
若δmax为给定所允许的最大弓高,在δ1=δ2=δmax时,θ取得最小值θmin,则连续小线段间能进行拟合所允许的最大拐角如式(11)所示。
当φ>φm时,Pi为断点,不能进行拟合。
Fig.2 Schematic diagram of line segment fitting图2 直线段拟合示意图
(2)直线长度。直线段的长度对拟合过程也起到重要影响,线段长度过长,拟合误差也过大,长度较大的线段可以直接由直线插补。直线L 在最大弓高的情况下,最大长度计算如式(12)所示。
因此,当L<Lmax时,直线段能进行拟合。
(3)拟合误差评价。以Hausdorff 距离作为评价曲线拟合标准[20],Hausdorff 距离定义如式(13)所示。
其中,Hm(c,p) 是Hausdorff 距离;c(u) 为拟合曲线方程,p(t) ‖为直线段的集合。设定最大拟合误差为em,则可以通过与Hm(c,p)的比较判定拟合结果是否符合要求。
综上,同时满足连续小线段在交点处的拐角和长度以及拟合误差这3 个约束条件,就能筛选出符合条件的线段组,从而完成本文算法的预处理部分。
3.2 插补
连续小线段经过预处理后,满足约束条件的被拟合成非均匀B 样条曲线,不满足拟合条件的直线段被保留等待插补。因此,插补的内容为相邻拟合曲线之间的过渡和不满足拟合条件的线段。
当小线段间的拐角过小时,该拐点两端存在拟合的直线或曲线,需要进行PH 曲线的拐角过渡;当直线长度过长时,进行直线插补;当拟合误差过大时,选用PH 曲线进行精确拟合。整个插补算法流程如图3 所示。
3.3 拐角转接速度控制
在进行拐角转接时,由于加工速度与曲率同步变化,因此加工速度也要考虑弓高和加速度的约束限制。
(1)弓高限制下的最大速度。曲线的曲率半径为Rκ=1,Tv为插补周期,则由弓高限制下的最大速度计算如式(14)所示。
(2)加速度限制下的最大速度。设拐角处的插补速度为vc,vp为当前插补周期的速度,Δv为前后两个周期的速度差,则拐角处的加速度ac计算如式(15)所示。
在式(15)中,at为切向加速度,an为法向加速度。若设定所允许的最大加速度为acmax,则当ac≤acmax时,拐角速度vc=vp,否则vc=vp-Δv。
即拐角处的最大速度为vcmax=min{vce,vc}。
Fig.3 Interpolation algorithm flow图3 插补算法流程
4 模拟实验
为了验证本算法的有效性,将其与非均匀B 样条算法和PH 曲线算法进行对比。对刀具路径进行实验分析,其整体路径与局部路径如图4 所示(彩图扫OSID 码可见)。
Fig.4 Tool global path and local path图4 刀具整体路径与局部路径
在进行预处理时,设定相同的拟合边界条件为δmax=1μm,em=0.1mm,插补的最大速度为102mm/s,最大加速度为103mm/s2。将本文算法与PH 曲线算法进行对比,速度曲线如图5 所示(彩图扫OSID 码可见),本文算法的整个加工时间为4.733s,而PH 曲线算法需要5.062s 才能完成。本文算法比PH 曲线算法加工时间减少0.329s,加工时间缩短6.5%,提高了加工效率,体现了本文算法的有效性。
Fig.5 Speed curve comparison图5 速度曲线对比
图6 为本文提出算法与非均匀B 样条算法的拐角对比图(彩图扫OSID 码可见),局部放大角度为147.23°。可以看出,两种算法都能提高轮廓的光滑性,完成平滑转接运动,但本文提出的算法在拐角处的轮廓误差明显小于非均匀B 样条算法的过渡轮廓误差。
Fig.6 Corner comparison图6 拐角对比
5 结语
本文提出一种基于曲率连续的混合曲线高速插补算法,对不同类型的加工轮廓,采用对应的插补算法,从而达到同时满足加工效率高和轮廓平滑的要求。加工轮廓在插补之前要对其进行预处理,便于进行轮廓拟合。预处理后,针对轮廓中出现的不同曲线连接情况,分别采用相应的样条曲线实现插补,从而完成整个零件轮廓加工。
实验中将本文算法与非均匀B 样条算法和PH 曲线算法作对比分析,发现本文算法加工时间比PH 曲线算法减少6.5%,加工效率得以提高。采用本文算法得到的拐角与采用非均匀B 样条算法得到的拐角相比,轮廓更精确。
本文是从几何学和运动学出发,并未综合考虑加工过程中的铣削力等动力学因素影响。对于零件加工规划,可进一步考虑动力学约束。为进一步将其应用于生产制造,可将研究拓展到多轴加工领域。