五轴加工的干涉是五轴数控加工中有待解决的技术难题之一。目前已有了一些有效的解决方法。例如, Y. Takeuchi[ 1~4] 等研制了基于实体模型的五轴免干涉控制软件。它们是在刀具的径向和轴向设置许多检查点, 根据曲面与检查点的干涉程度来调整刀轴矢量。这种方法虽精度高, 但由于不断迭代计算时间特别长, 且只能在工作站上运行, 这样就限制了软件的适用性。张定华等[ 5] 对多轴端铣、侧铣加工中的干涉现象进行分析, 提出了一种以临界约束和刀具与曲面最近距离监视为基础的防干涉方法。这种方法由于没将曲面三角化, 误差较小, 但在计算点到曲面的最近距离时, 对算法的可靠性要求较高, 且“倾角H”的精确调整也很难。
本文提出一种基于曲面模型的免干涉算法, 该算法可对五轴加工进行干涉检查及修正,在微机上运行, 十分有效。
1 刀具尺寸与干涉的关系
分析干涉的原因可从刀具尺寸和曲面形态的关系来考虑。刀具尺寸的选择取决于被加工表面, 一般情况下, 刀具半径不应该大于被加工曲面的最小曲率半径, 这样就可以避免干涉。由于刀具半径变小, 对材料的去除率相应降低, 增加了加工时间; 此外, 刀具越小, 折断的可能性越大。因此, 曲面对刀具半径的限制对加工极为不利。刀具尺寸的选取既不能太大,也不能太小。通常的做法是粗加工时选取直径较大的圆盘铣刀, 留有一定的加工余量; 精加工时选取小尺寸的球头刀加工到曲面的精确尺寸。
2 算法的基本思想
首先将曲面按等参数三角化, 形成平面三角网格, 以此代替被加工曲面; 然后, 以不考虑干涉所产生的刀位文件作为输入数据进行处理, 最后生成针对被加工曲面的免干涉刀位文件。本算法是基于曲面模型, 为了使刀具具有实体特性, 特引入检查线概念。即在刀具周向均匀分布12 条直线段, 直线段的起点位于刀具的顶端( 以圆柱平底铣刀为例) , 方向与刀轴矢量方向相同, 直线段长度等于刀杆长度, 如图1 所示。
3 算法步骤
3. 1 基本思路
首先从输入数据读取一个刀位数据, 得到一个刀位点和刀轴矢量, 对于给定的刀具半径、刀具类型和刀杆长度, 检查线自动产生, 并存贮到数组中; 然后就检查每条直线段是否与三角平面片相交, 如果相交, 经过相应处理, 刀轴矢量就发生改变, 产生免干涉的新刀位数据。
3. 2 具体步骤
( 1) 将加工曲面按等参数三角化, 并将三角形数据存入一个较大的数组T riang le 1。
( 2) 从输入数据读取刀位点和刀轴矢量, 根据刀杆长度在XOY 平面内投影形成一个圆, 这个圆就是可能的干涉区域。在数组Tr iangle 1 中进行搜索, 只要三角形中有一个顶点在XOY 平面内的投影在圆内, 就记录这个三角形, 形成一个针对刀位点和刀轴矢量的新的三角形数组Tr iangle 2。这样就很快地排除了根本不可能产生干涉的三角形。
( 3) 以刀位点为原点, 以刀轴矢量为Zø轴, 建立局部坐标系OøX øYøZø。
( 4) 计算12 个检查线起点在局部坐标系中的坐标值。
(5) 计算局部坐标系到世界坐标系的平移变换矩阵M1。
( 6) 计算局部坐标系向世界坐标系转换的变换矩阵M2。
( 7) 通过变换矩阵M1 , M2 , 计算检查线起点在世界坐标系中的坐标值。
( 8) 根据设定的刀杆长度以及刀轴矢量, 可生成12 条世界坐标系下的检查直线段。
( 9) 每条检查直线段与三角形数组T riang le 2 中每个三角平面片求交, 如果有交点, 则要记录直线段被截长度( 从起点算起) , 存入一个数组D 1, 此外还要计算相交的三角平面片法矢( 指向刀具一侧) , 存入一个数组N 1。
( 10) 求出被截长度数组D1 中最大值dmax , 若ûdmax û< E, 则此时的刀位点和刀轴矢量是可接受的, 不需要改变; 否则转步骤( 11) 。E为干涉检查精度。
( 11) 计算新的刀轴矢量, 方法是将相交的三角平面片法矢加权平均, 其中权重是相应的直线段被截长度, 公式表示为
( 12) 根据刀位点和上式所求得的新刀轴矢量, 重做步骤( 2) , ( 3) , ( 4) , ( 5) , ( 6) , ( 7) , ( 8) , ( 9) , ( 10) 。若ûdmax û> E, 此时不重新计算刀轴矢量, 而是沿着最新的刀轴矢量方向抬刀,其抬刀高度为d max, 由此可得到新的刀位点。
3. 3 算法说明
上述算法中对刀轴矢量只进行了一次计算, 当然为了提高准确性可以进行两次、三次等多次计算, 但事实上, 从上机实践可以看出, 只要计算一次刀轴矢量, 绝大部分干涉即可排除, 较少量的干涉可通过抬刀消除, 这样就大大地节省运行时间。由于刀具类型较多, 刀心位置也不同, 如图2 所示。
在算法中, 检查线段起始位置设定也有所不同。假设局部坐标系OøX øYøZø的原点在刀心, Zø轴与刀轴矢量相同, 则对于端铣刀( R1= 0) , 检查线段起始位置为Zø= 0, 即与刀心处在同一高度。对于环铣刀( R> R1 ) 和球头刀( R= R1 ) , 检查线段起始位置为Zø = - 0. 5R 1, 即从刀心Oø向下0. 5 倍圆角半径处。由上可以看出, 检查线段起始位置的设定, 对端铣刀是准确值, 而对环铣刀和球头刀则是近似值。
4 干涉处理实例
本文用上述算法对如图3 所示曲面进行干涉处理。
原始数据: 平底端铣刀, 刀具半径R = 2. 5mm, 圆角半径R 1= 0, 刀杆长度L = 50mm;干涉检查精度E= 0. 01; 曲面三角化, U 向分为100 个点, nU= 100, V 向分为100 个点, nV=100; 曲面被( nU- 1) ( nV- 1) ×2= 18062 个平面三角片所逼近。在486 微机上运行, 运行时间为30min。
部分刀位点处的干涉处理情况如表1 所示。可见刀轴矢量经过一次调整即达到精度要求。
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com