发明内容
针对现有技术中存在的上述不足之处,本发明要解决的技术问题是根据刀轴姿态类型变化与否对奇异点附近半径补偿矢量突变程度的影响,给出一种尽量不损失加工速度的分类处理方法。
本发明为实现上述目的所采用的技术方案是:一种五轴端铣刀补偿中运动突变现象的控制方法,包括以下步骤:
步骤1)读第一个切触点的半径补偿矢量;
步骤2)判断当前点的半径补偿矢量是否为零矢量;
如果是,则将该点后第一个非零半径补偿矢量赋值给该点,进行步骤3);
如果为否,进行步骤3);
步骤3)读第二个切触点的半径补偿矢量;
步骤4)判断当前半径补偿矢量是否为零矢量;
如果是,则将前一点的半径补偿矢量赋给当前点,进行步骤5);
如果为否,进行步骤5);
步骤5)计算该点与前一点的半径补偿矢量夹角;
步骤6)判断该点与前一点的半径补偿矢量夹角是否小于允许值;
如果是,则执行步骤9;
步骤7)如果为否,判断刀轴姿态类型是否发生变化;
如果发生变化,将前一点半径补偿矢量赋值给后一点,执行步骤9;
步骤8)如果不发生变化,则在该点与前一点之间插入ω/ω0个新切触点,计算新切触点的坐标、刀轴矢量与半径补偿矢量;
步骤9)判断当前切触点是否为最后一点;
步骤10)如果为否,读下一点的半径补偿矢量,返回步骤4;
如果是,结束。
所述半径补偿矢量在平底刀时通过
计算得到,其中,n为加工表面法矢量,u是刀轴方向矢量,r是平底刀半径补偿矢量;
所述半径补偿矢量在环形刀时通过
计算得到,rb是环形刀半径补偿矢量中的分量,环形刀半径补偿矢量为
其中n为加工表面法矢量,u是刀轴方向矢量。
所述允许值是根据加工精度设定。
所述相邻点半径补偿矢量夹角通过
计算得到,uf1和uf2为进给坐标系下相邻点刀轴矢量,nf为刀具进给坐标系下的曲面法矢量。
所述刀轴姿态类型包括刀具倾斜类型和刀具偏转类型:
所述刀具倾斜类型包括:当α∈(0,π/2)时的刀具前倾和当α∈(π/2,π)时的刀具后倾;
刀具偏转类型包括:当β∈(0,π/2)时的刀具右偏和当β∈(π/2,π)时的刀具左偏;
其中,α为y轴正向与刀轴矢量u的夹角,β为进给坐标系x轴正方向与u的夹角。
所述插入新切触点和刀轴矢量通过
(0<i<t)
计算得到,其中p1、p2为工件坐标系下相邻切触点,u1、u2为相邻点刀轴矢量,其中i为整数。
所述新的切触点坐标通过
(0<i<t)
计算得到,其中,ri′和ri分别为新插入点的半径补偿矢量在新坐标系下和原坐标系下的坐标,w0为允许值,A为过渡矩阵A=[ax T,ay T,az T]。
本发明具有以下优点:
1本方法基于相邻点半径补偿矢量夹角是否超出允许值对突变现象进行判断,判断更加准确。
2本方法对半径补偿矢量突变严重的区间采用插值法进行处理,对突变程度较轻的区间将前一点半径补偿矢量赋值给后一点。这种处理方法不但可以消除奇异点附近半径补偿矢量的突变情况,而且可以尽量不降低加工速度。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
图1为本发明方法流程图。如图2所示为三种常见刀具——球头刀、平底刀和环形刀的示意图。设p为切触点位置矢量,o为刀心点位置矢量,n为加工表面法矢量,u是刀轴方向矢量,r是半径补偿矢量。其中表面法矢量、刀轴矢量以及补偿矢量均为单位矢量。另设R1是球头刀的刀具半径,R2是平底刀的刀具半径,R3是环形刀的刀具半径,R4为环形刀的刃口半径。
球头刀半径补偿矢量通式为:
r=n (1)
平底刀半径补偿矢量通式为:
环形刀半径补偿矢量通式为:
其中,ra为切触点到环形刀刃口中心的补偿向量,rb为环形刀刃口中心到刀心点的补偿向量。
在半径补偿矢量的基础上,结合刀具长度补偿矢量(刀轴矢量),建立切触点与直线轴控制点之间的空间映射关系,三种刀具的情况分别如下:
q=p+R1n+Lu (6)
其中q为直线轴控制点位置矢量,L为刀具有效长度。
根据式(1)可知,球头刀的半径补偿矢量始终等于曲面法矢量,因此不会出现奇异解。而对于平底刀和环形刀来说,当u=n时,[(u×n)×u]/|(u×n)×u|=(000)/0,此时半径补偿矢量是长度为零方向任意的零矢量,无法由通式求出,成为奇异解。此时对于平底刀和环形刀,切触点与直线轴控制点之间的空间映射关系分别变为:
q=p+Lu (9)
q=p+R4n+Lu (10)
当相邻加工点有且只有一个为奇异点时,相邻点的半径补偿矢量必然相差一个单位矢量,显然半径补偿矢量发生了突变,最终导致直线轴控制点的运动也因此产生突变。此外,在刀轴矢量向奇异姿态逼近的过程中,由于半径补偿矢量(或组成部分)的分子分母都逼近0,导致在某个位置r方向发生突变。最终导致直线轴控制点运动发生突变。
针对平底刀和环形刀半径补偿矢量的突变问题,本发明方法步骤如下:
步骤1)判断当前半径补偿矢量是否为零矢量。
如果当前点为奇异点,即当前点半径补偿矢量为零矢量,则将前一点的半径补偿矢量赋给当前点。若当前奇异点为第一个加工点,此时将其后面第一个非零半径补偿矢量赋给当前点。
步骤2)求解相邻点半径补偿矢量夹角,是否超过允许值。
步骤3)判断刀轴姿态类型是否发生变化。
若相邻点半径补偿矢量夹角超过允许范围,则执行步骤3。下面给出本发明中刀具姿态类型的定义。
首先建立进给坐标系。以刀心点为进给坐标系的原点,进给方向矢量f为y轴,曲面法矢量n为z轴,c=f×n为x轴,如附图3所示。然后在进给坐标系下给出前倾角和侧偏角的定义。先假设刀具不倾斜,此时刀轴矢量与法矢量重合。将法矢量n绕x轴旋转得到中间矢量u′,再将u′绕y轴旋转得到矢量u,即最终的刀轴矢量。n与u′的夹角为前倾角,表示为τ,u′与u的夹角为侧偏角,表示为
二者取值都是(0,π/2)。
按照刀具进给坐标系的定义,进给方向矢量f与法矢量n是垂直的。设进给方向f即y轴正向同刀轴矢量u的夹角为α,显然f与u′的夹角也等于α。设进给坐标系x轴正方向同u的夹角为β。当α∈(0,π/2)时称刀具前倾,当α∈(π/2,π)称刀具后倾;当β∈(0,π/2)时称刀具右偏,当β∈(π/2,π)时称刀具左偏。当刀具的倾斜类型或者偏转类型发生变化时,称刀轴姿态类型即刀姿类型发生变化。刀姿类型变化与否影响到奇异点附近半径补偿矢量的突变程度。
先说明刀姿类型发生变化的情况。设进给坐标系下相邻点刀轴矢量为uf1和uf2,二者在进给坐标系y-z平面上的投影为uf1′和uf2′。将uf1和uf2代入式(2)或式(3)得到相邻点半径补偿矢量rf1和rf2,将uf1′和uf2′代入式(2)或式(3)即得到rf1′和rf2′,显然rf1′与rf1方向相同,rf2′与rf2方向相同。由于相邻点刀轴矢量都接近曲面法矢量nf,即接近刀具进给坐标系的z轴,因此uf1′≈uf1,uf2′≈uf2,rf1′≈rf1,rf2′≈rf2,所以rf1′-rf2′≈rf1-rf2,即rf1′与rf2′之间的变化可以反映rf1和rf2之间的变化。当刀具倾斜类型发生变化时,不失一般性,令uf1′与y轴正向的夹角小于90°,uf2′与y轴正向的夹角大于90°。根据右手定则,uf1′×nf与uf2′×nf方向相反,因此,rf1′和rf2′几乎完全反向,如图4所示。这说明当刀姿接近奇异姿态而刀具倾斜类型发生变化时,半径补偿矢量旋转接近180°,突变程度严重。同理,当偏转类型变化时,半径补偿矢量旋转也几乎完全反向。附图4给出的是当偏转类型不变而倾斜类型发生变化时,平底刀刀轴矢量和法矢量在进给坐标系y-z面上的投影。附图5是平底刀刀姿类型变化时半径补偿矢量和直线轴控制点突变的示意图。
再说明刀姿类型发生不变的情况。此时相邻点的倾斜类型和偏转类型都相同。相邻点半径补偿矢量rf1与rf2的夹角用ω表示。
在进给坐标系中,nf=(0,0,1)。计算式(11)的分子得到:
由于相邻点的倾斜类型和偏转类型都相同,因此相邻点刀轴矢量uf1与uf2在进给坐标系的同一卦限,因此[(uf1×nf)×uf1]·[(uf2×nf)×uf2]>0。又由于|(uf1×nf)×uf1||(uf2×nf)×uf2|>0,因此根据式11知ω<π/2。由此可知,当刀姿类型不产生变化时,半径补偿矢量的突变程度较轻,偏转量低于90°。附图6是刀姿类型不变时半径补偿矢量及直线轴控制点突变的示意图。
步骤4)分情况对奇异点及其附近区域的突变现象进行处理。
下面分别给出平底刀和环形刀的处理方法。
平底刀的处理方法:如果当前点为奇异点,即当前点半径补偿矢量为零矢量,则将前一点的半径补偿矢量赋给当前点。有一种特殊情况:当前奇异点为第一个加工点,此时将其后面第一个非零半径补偿矢量赋给当前点。
当相邻点半径补偿矢量夹角不小于90°,突变程度严重,此时采用插值法适当降低速度。设相邻插补点半径补偿矢量之间允许的最大角度为ω
0,则在相邻插补点之间再插入
个点。
设工件坐标系下相邻切触点为p1、p2,相邻点刀轴矢量为u1、u2,相邻点半径补偿矢量为r1和r2,切触点、刀轴矢量的插补方式如式(13):
(0<i<t) (13)
其中i为介于0与t之间的整数,ui为新插入各点处的刀轴矢量。
中间各点半径补偿矢量的求解相对复杂,下面给出基于矢量旋转的插值方法。设r1和r2所在的工件坐标系为原坐标系,按下面方法建立新坐标系:以原坐标系的原点O为新坐标系的原点O′,以不共面的矢量ax=[r1×(r2×r1)]/|r1×(r2×r1)|,ay=r1,az=(r2×r1)/|r2×r1|作为新仿射坐标系的一组基,分别为新坐标系的x轴(用x′表示),y轴(用y′表示)和z轴(用z′表示)。若令A=[ax T,ay T,az T],则原坐标系到新坐标系的过渡矩阵为A。
在新坐标系中,r1绕z′旋转到r2,因此各点半径补偿矢量的求解公式为:
(0<i<t) (14)
其中ri′和ri分别为新插入点的半径补偿矢量在新坐标系下和原坐标系下的坐标。结合式(13),得到各插入点对应的直线轴控制点位置坐标。
当相邻点半径补偿矢量夹角小于90°时,突变程度较轻,将前一点的半径补偿矢量赋给后一点。之所以不采用插值法,是为了消除运动突变的同时尽量不损失加工速度(插点越多,速度越慢),同时降低运算的复杂度。
环形刀的处理方法:由式(3)可知,环形刀半径补偿矢量由两部分ra和ra相加得到。其中ra等于曲面法矢量n,不会产生奇异解。而rb=(u×n)×u=|(u×n)×u|,求解过程存在奇异解。当rb为奇异解时,当前加工点成为奇异点。
如果当前点为奇异点,即当前点rb为零矢量,半径补偿矢量等于曲面法矢量,则将前一点的rb赋给当前点,再计算新的半径补偿矢量。有一种特殊情况:当前奇异点为第一个加工点,此时将其后面第一个非零rb赋给当前点。
当相邻点半径补偿矢量夹角不小于90°,突变程度严重,此时采用插值法适当降低速度。设相邻插补点半径补偿矢量之间允许的最大角度为ω
0,则在相邻插补点之间再插入
个点。
设工件坐标系下相邻切触点为p1、p2,相邻点刀轴矢量为u1、u2,曲面法矢量为n1、n2,半径补偿矢量的rb分量为rb1和rb2,切触点、刀轴矢量的插补方式如式(15):
其中i为介于0与t之间的整数。
中间各点半径补偿矢量的求解如下。设rb1和rb2所在的工件坐标系为原坐标系,按下面方法建立新坐标系:以原坐标系的原点O为新坐标系的原点O′,以不共面的矢量ax=[rb1×(rb2×rb1)]/|rb1×(rb2×rb1)|,ay=rb1,az=(rb2×rb1)/|rb2×rb1|作为新坐标系的一组基,分别为新坐标系的x轴(用x′表示),y轴(用y′表示)和z轴(用z′表示)。若令A=[ax T,ay T,az T],则原坐标系到新坐标系的过渡矩阵为A。
在新坐标系中,rb1绕z′旋转到rb2,因此各点半径补偿矢量的求解公式为:
(0<i<t) (16)
其中rbi′和rbi分别为新插入点的rb分量在新坐标系下和原坐标系下的坐标,则新的半径补偿矢量为ri=ni+rbi。结合式(15),得到各插入点对应的直线轴控制点位置坐标。
当相邻点半径补偿矢量夹角小于90°时,突变程度较轻,将前一点的半径补偿矢量赋给后一点。