0 前言
五轴加工在三轴加工基础上增加了两个旋转轴,从而使加工方式更加灵活,材料去除率更高,加工时间更短,可以处理更为复杂的工件[1-2]。但是旋转轴的运动也使刀具姿态控制更为复杂,从而引入许多五轴加工所特有的问题[3-4]。奇异点问题就是其中重要的一个。当刀具通过奇异点附近区域(本文称奇异区域)时,旋转轴会产生不连续并且急速的转动,这大大增加了非线性误差,同时极易破坏工件,甚至损伤机床部件[5-6]。因此,对奇异区域内的刀具路径进行优化处理,对于提高加工精度和加工效率至关重要。
AFFOUARD 等[6]提出通过多项式插补修改刀具路径来避开奇异位置,但是插补算法复杂,计算上代价较大。MUNLIN 等[7-8]通过选择奇异点附近旋转轴运动的最短路径来减小误差,但该方法在选择转角取值时,考虑的是相邻点转角变化量的相对值最小,而相邻点之间转角变化量的绝对值可能较大,出现这样的情况时误差仍然较大。SORBY[9]提出的方法是在奇异点附近插入刀位点,同时修改C轴转角,避免加工通过奇异点时误差过大,但由于之前没有对奇异区域的范围进行检测,因此当刀具穿过奇异区域却不经过奇异点时,加工精度不够理想。王丹等[10]给出的通用的五轴加工非线性误差控制算法也可以运用到奇异区域的处理上,但由于单纯采用线性插值,使奇异区域内的加工速度大大降低,而且插值过密容易导致机床频繁地做加减速运动,易引起刀具颤振。
针对以上问题,本文在前人研究的基础上,以AC 双转台五轴机床为例,给出一种将优化C 轴转角(简称C 角)、修改刀轴方向、递归线性插值三者结合的刀具路径优化算法,从而在提高奇异区域内加工精度的同时,保证速度尽量快、加工更平稳。
1 五轴机床的运动学方程
1.1 AC 双转台五轴机床正向反向运动学变换本文以AC 双转台五轴机床作为研究对象(图1)。首先根据其机床结构和运动链建立机床正向运动学方程。设工件坐标系坐标原点为Ow,工件坐标系下的刀具位置矢量为pw=(xw yw zw)T,刀具方向矢量为uw=(i j k) T;机床坐标系原点为Om,机床线性轴运动矢量为pm=(xm ym zm)T,机床旋转轴为A 和C,对应的机床转角分别为α 和γ。
根据图1 所示的运动链,AC 双转台五轴机床的正向运动学方程如下.
由式(3)计算出的原始C 角在(–π, π]之间。由表1 可知,如果相邻点之间i 或j 的方向发生变化,C角可能会发生剧烈变化。例如第n 点刀轴方向为 (0.100 0, –0.100 0, 0.989 9),第n+1 点的刀轴方向为 (–0.100 0, –0.100 0, 0.989 9),直接依据式(3)计算出来的C角分别为3/ 4π 和−3/ 4π ,相距3/ 2π 。由式 (4)~(7)可知,线性轴的取值与旋转轴有关,C 角变化剧烈会导致线性轴变化剧烈,从而产生较大的误差。因此需要对原始的C 角进行修正。由于正弦函数和余弦函数都以2π 为周期,因此利用这一特性在反解三角函数的过程中修改C 角的取值
式中 n 1 γ + ′ ——修改后的第n+1 点的C 角取值n 1 γ + ——修改前的第n+1 点的C 角取值n γ ——修改前的第n 点的C 角取值经过这样处理后,加工路径上Δγ ( n 1 n γ γ + − )都不超过π ,过大转角得到初步控制。对于AC 双转台五轴机床来说,C 轴对线性轴的影响大,A 轴较小[11]。因此只需要对C 角进行优化即可。
2 奇异区域内的优化方法
2.1 奇异点和奇异区域
由图1 可知,当α=0 时,刀轴与转台台面垂直, C 角取任何值刀轴方向都不会改变,造成自由度丢失。根据式(2)~(3)也可以看到,α=0 时,刀具方向矢量为 (0,0,1),此时γ = arctan(0 / 0) ,无解,在Matlab 中规定为0。对于AC 双转台机床,刀轴方向为(0,0,1) 的点就是奇异点。尽管在反运动学变换过程中修正了C 角的取值,但是如果刀具经过奇异点附近即奇异区域时,Δγ 仍然很大,甚至可能达到π 。刀具进入奇异区域后,越接近奇异点,C 角变化越剧烈,由此产生的非线性误差越显著,对工件和刀具可能造成的损害也越大。需指出的是,刀具经过奇异区域并不一定会经过奇异点,而经过奇异点就一定是经过了奇异区域。
对于奇异区域的范围,可以采用基于机床雅可比矩阵条件数的方法来界定:首先根据机床的运动学方程和相邻点各轴运动变化量建立五轴机床雅可比矩阵,然后求解雅可比矩阵的条件数,如果条件数超过给定值,则可以判定当前加工区间处于奇异区域内[12]。
2.2 奇异点及其附近的C 角处理
造成奇异区域内非线性误差过大的原因一般有两个:一是因为奇异点处i 和j 均为0,造成C角值不能确定;二是因为奇异点前后两点的i 或j可能会发生变号造成的。下面分别就这两种情况给出处理方法。
2.2.1 第一种情况
对于第一种情况,由于当刀具在奇异点位置时,刀轴与转台台面垂直,C 角无论取何值都不会影响该点的刀轴方向,因此可以指定这一点的C 角值。设指定后的C 角值为γ ′ ,奇异点前后两点的C角值分别为1 γ 和2 γ 。设定的C 角值要使1 γ ,γ ′ , 2 γ波动最小,需要三者方差最小。奇异点处C 角设定方法如下
这样,奇异点左右两个区间的Δγ 都不超过π/2,过大的Δγ 有效降低。表2 给出一处奇异点附近的刀位数据。表3 是对应的机床各轴运动坐标数据。
刀具从第1 点走到第3 点,C 角一共变化了π ,但由于第2 点和第1 点之间的Δγ = π ,所以导致这两点之间的路径呈现为一个很大的弧。按照上述方法对奇异点处C 角进行设定。之后根据设定的角度修改x,y,z 轴的取值。
表4 给出奇异点处C 角设定后的机床各轴运动坐标。
可知,尽管处理后z 轴方向比原先增加了0.3mm 左右的误差,但是却使x 轴方向的误差减小了大约40 mm,y 轴方向的误差减小了大约20 mm。整体误差大大降低。
2.2.2 第二种情况
第二种情况是奇异点附近可能会存在轴对称的点,即位置坐标和方向矢量都关于三维空间某一坐标轴对称。对AC 机床来说,对称的两点z 轴坐标总是相同的,因此只需要研究Oxy 平面上投影的情况。若方向矢量的投影关于y 轴对称,则i 绝对值相同,符号相反;若方向矢量的投影关于x 轴对称的两点,则j 绝对值相同,符号相反。这样,相邻两点的C 角就可能相差超过π/2 。图3 所示为一种奇异点附近的对称情况。
以C 角从第一象限转到第二象限为例说明。当i ≥ 0且j>0 时,C 角在第一象限,设此时γ =θ 。若i 不变,j 变号,C角转到第二象限,此时的γ = π −θ 。C角的变化量Δγ = π −θ −θ = π − 2θ 。当| i |≥| j |时,π/4 ≤θ < π/2 , 0 < Δγ ≤ π/2 ; 当| i |<| j | 时, 0 <θ < π/4,π/2 < Δγ ≤ π。因此,当C角从第一象限转到第二象限时, 若| i |<| j | , 令| i′ |=| j′ |= (| i | + | j |) / 2,就可以保证旋转不超过π/2 ,其中i′ 和j′ 分别表示修改后刀轴方向矢量在工件坐标系的x 轴和y 轴方向的分量。
同理可得出其他象限的情况,如表5 所示.
需要说明的是,如果两点不是轴对称,而是中心对称,则上述方法无法将Δγ 控制到π/2以内,这时只能通过插值法进行处理。
尽管倾斜刀具可以调整C 角,从而降低非线性误差,但同时也会带来过切和欠切误差。下面通过比较二者的误差大小来证明倾斜刀轴的有效性。以平底刀为例。设刀具直径为d,刀具倾斜角为δ ,由此产生的过切和欠切误差为h。
易知
h = d sinδ (9)
设原来的刀轴方向矢量为a ,修改后的刀轴方向矢量为b ,则sinδ = (| a × b |) /(| a |i| b |) 。由于| a |=| b |=1,所以sinδ =| a × b |。
令| k |= 0.995 0 时刀具进入奇异区域,可知0 ≤| i |≤ 0.099 9,0 ≤| j |≤ 0.099 9 。下面分析刀具从第一象限进入第二象限的情况,其他情况同理。当前一点刀轴矢量为(0, 0.099 9, 0.995 0),后一点刀轴矢量为(0, –0.099 9, 0.995 0)时,Δγ = π,变化量最大。根据上面方法对前后两点分别进行修改。前一点为(0.05, 0.05, 0.997 5),后一点为(0.05, –0.05, 0.997 5)。sinα = 0.070 5。若平底刀直径取6 mm,则过切和欠切误差h=0.423 mm。也就是说,对于直径6 mm 的平底刀,修改刀轴方向引入的最大过切和欠切误差为0.423 mm,而过大的C 角由π 降到π/2 ,由此降低的非线性误差远大于新引入的过切和欠切误差。因此在奇异点附近倾斜刀轴是有效的。表6 给出一处奇异点附近的刀位数据。表7 是对应的机床各轴运动坐标。
由表4 可见,由于j 符号发生变化,且| i |<| j |,第2 点和第3 点间的C 角变化超过π/2 。同时看到第1 点与第2 点以及而第3 点与第4 点间的变化很小,因此可以考虑修改第2 点和第3 点处的刀轴方向,适当增加其他两个区间的C 角变化量,来降低奇异点附近的过大C 轴转动8 为修改后的刀位数据。表9 为对应的机床各轴运动坐标。
图5 是倾斜刀轴前后的路径对比图。4 个点的C 角方差由修改前的2.484 5 降到1.854 4,波动变小。最大非线性误差由16.680 8 mm 降到8.810 4mm,平均误差也由6.075 5 mm 降到4.903 3 mm。使用直径6 mm 的平底刀,倾斜刀轴所引入的过切和欠切误差仅为0.106 8 mm。由此可见,整体误差大大降低。
2.3 递归插点
经过以上处理后,大部分Δγ 都降到π/2以下(除非存在中心对称的刀位点)。如果还需要进一步提高加工精度,则通过插点对加工路径进行线性化。
设相邻两个刀位点为( w, w ) p′ u′ 和( w, w ) p′′ u′′ 。设实际加工路径的中点与编程直线的中点之间的距离为r 。最大允许误差为ω 。若r >ω ,在相邻刀位点中点处插入新的刀位点( pw,uw ),然后检查( w, w ) p′ u′ 与 ( pw,uw )之间、( pw,uw )与( w, w ) p′′ u′′ 之间的非线性误差是否超过ω 。如此递归进行,直到r ≤ω 。
插入新刀位点时将刀具的位姿同旋转轴的转角结合起来考虑,具体方法如下:设(α0 ,γ 0 ) 和 (α1,γ 1)分别为刀位点( w, w ) p′ u′ 与( w, w ) p′′ u′′ 所对应的旋转轴转角坐标。首先,计算(α0 ,γ 0 )和(α1,γ 1)的中值对应的方向矢量w u ,然后求w ′p 与wp′′的中值pw,最后将pw与uw组成新刀位点( pw,uw )。若直接令w ( w w ) / 2 p = p′ + p′′ ,再用式(2)和式(3)求解中点处的α 、γ ,则不能有效降低误差,原因是奇异区域内分量i 和j 接近0,造成C 角值偏差很大。
2.4 整体优化流程
综上所述,奇异区域的优化处理流程如图6 和图7 所示。
3 加工试验
下面通过仿真试验和实际加工对上文给出的算法进行验证。选择直径6 mm 的球头刀进行加工。加工曲面S(u,v)的参数方程如式(10)所示
式中,u, v 为曲面方程的参数。表10、11 给出初始刀位点和初始机床各轴运动坐标。可以看到奇异点附近的两种情况所导致的C 轴过大偏转。
图8 所示是所给加工曲面的Matlab 仿真效果图。经过对C 角初步优化后,过大的环形轨迹得到初步控制,再通过二次优化和插值处理,得到的路径与理想路径基本接近。
实际加工的路径对比如图9 所示。图9a 实线圈出的是奇异区域内的过大环状轨迹,其中靠下面的两个是第一种情况,靠上面的两个是第二种情况。可以看到,处理后加工路径更加平滑,加工精度大大提高,实际的加工情况与理论分析结果一致。需要说明的是,由于过大环形轨迹会对刀具造成损害,因此未对图8b 所示的情况进行实际加工。采用直接插点法,需插入737 个点才能将最大非线性误差降到0.099 8 mm。而采用综合方法处理时,新插入点304 个,最大非线性误差0.098 4 mm,速度是直接插点法的二倍。
4 结论
(1) 本文在对奇异区域内五轴加工过程的处理上,根据相邻点C 角变化量大小,依次进行C 角的初次优化、C 角的二次优化、加工路径线性化处理。尽管这个过程会引入新的过切和欠切误差,并且为了降低某一个区间的过大误差而增加了其他区间的误差,但是整体的误差得到了有效控制,同时增加的误差也在允许范围内。
(2) 这种处理方式既保证了奇异区域内的加工精度,有效地保护了工件和机床部件,又尽可能地减少了插点的数量,使奇异区域内的加工速度尽量提高。
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com