一种适用于小线段的半径补偿 干涉回避算法
2016-12-30 来源:武汉华中数控股份有限公司 作者:吴烜辉 应坤
【摘要】: 小线段程序在使用半径补偿时出现了刀具干涉报警,首先介绍了法兰克系统的刀具干涉回避算法,然后给出了通过计算刀补段的交点回避干涉报警的算法,同时对算法的优化进行了讨论,最后对算法的效率及有效性进行了测试。
【关键词】: 小线段 半径补偿干涉
引言
在电子信息行业以及飞机、汽车的零配件加工中,由 CAM 等软件生成的程序,通常由大量的小线段及小圆弧组成。由于效率及成本方面的考虑,通常会在小线段程序中大量使用半径补偿。但是因为 CAM 软件本身的误差,或者编程人员的参数选择不当,有时候会生成有半径补偿干涉的程序,此时数控系统仅给出报警并停止加工的策略是不合适的。数控系统必须能够自动回避干涉,保证加工的顺利进行。
1、法兰克干涉回避算法
法兰克系统的干涉回避算法分为两种情况。一种是连续三段编程轨迹的刀补轨迹发生干涉,如图 1( 左 ) 所示,V2 和 V5 相互干涉,因此,V2、V5 以及其内侧的 V3、V4 被删除,V1 和V6 被连接起来。另一种情况是相邻的三段不干涉,但是多段后发生干涉,如图 1(右)所示,从程序段 1 的终点到程序段 N-1 间建立辅助的“间隙矢量”,对间隙矢量建立刀补轨迹从而回避刀具干涉报警。
图1 连续三段的干涉回避 ( 左 ) 和多段的干涉回避 ( 右)
法兰克系统的干涉回避算法是基于刀具矢量的,具有计算简单、速度快的优点,但是这种算法对于一些特殊情况无法回避干涉。2、计算刀补段交点的干涉回避算法本文的算法通过直接计算刀补段间的交点来回避刀具干涉。为了判断刀补段是否有交点,首先需要缓存每段编程轨迹的刀补轨迹信息。为方便讨论问题,假设对连续 5 段计算是否有刀具干涉,同时假设每个程序段的刀补段只有一段,则缓存刀补轨迹信息的数据结构如图 2 所示 :如果两个刀补段之间有交点,则删除两段之间的刀补段。假设计算出了 B1 与 B3 有交点,则删除B2段,将交点设为B1的终点、B3的起点,再重新计算 B1、B3 的其它程序段信息,调整后的数据结构如图 3 所示。
图 2 数据结构 ( 左 ) 与计算序列 ( 右)
图 3 有交点后调整缓冲区
3、算法优化
判断刀补段之间是否有交点分为三种情况 :1)直线段与直线段是否有交点。2)直线段与圆弧段是否有交点。3)圆弧段与圆弧段是否有交点。
首先需要根据直线 / 圆的方程求出交点,然后再判断交点是否确实落在两个刀补段上。可见,这种算法的计算量比较大。为了提高算法的效率,首先引入矩形包络法,就是根据段的起点、终点数据得出包含程序段的最大矩形。如果两个刀补段的包络矩形不相交,则两个刀补段必然没有交点,如图 4 所示,因为直线段AB 与圆弧段 CD的包络矩形不相交,所以AB 段与 CD 段没有交点。如果两个刀补段的包络矩形相交,则两个刀补段就有可能相交,此时再根据两个刀补段的直线 / 圆方程计算交点。如果两个刀补段的方程有解,下一步,就需要判断这个交点是否同时在两个刀补段上。对于交点是否在直线段上,只需要简单的大小比较就能够判断出来。对于交点是否在圆弧段上,为了减少计算量,尝试将圆弧分成四个象限内的单调圆弧段,于是也可以通过简单的大小比较判断出交点是否在圆弧段上了。
图 4 矩形包络法示例
4、算法验证测试
在华中 8 型数控系统中运行测试程序,第一个测试是运行一个来自深圳某知名加工企业的手机外壳加工程序,为了简化测试,仅运行发生干涉报警的程序段,测试程序如下 :
%1234
G54 G0 X0 Y0
G41 D01 G01 X-33.458 Y-67.263 ;
N1 X-33.508 Y-67.296;A---->B
N2 X-33.504 Y-67.312;B---->C
G03 X-33.007 Y-68.341 I5.962 J2.244
G40 G01 X-32.567 Y-67.368
M30
1 号刀的刀具半径为 0.03mm,运行程序的结果如图 5 所示,虚线表示 G 代码的编程轨迹,实线部分是 G 代码的刀补后轨迹,从图 5(左)可以看到刀补轨迹 A’ B’ 与 C’ D’ 相交于 E’ 点,所以最终回避干涉后的路径为 A’ ->E’ ->D’。
图 5 发生刀具干涉的路径 ( 左 ) 与回避干涉后的路径 ( 右)
第二个测试程序用来测试相邻三段不干涉,但是间隔多段后发生干涉的情形。测试程序如下 :1 号刀的刀具半径为 1mm,运行程序的结果如图 6 所示。
%1234
G54 G0 X0 Y0
G41 D01 G01 X10 Y0
X5 Y-5
X17
X12Y0
G40X20
M30
图 6 发生刀具干涉的路径 ( 左 ) 与回避干涉后的路径 ( 右)
第三个测试是算法时间测试,在华中 8 型数控系统上运行一个手机外壳加工程序,同时使用不同的干涉检测段数得出的结果如表 1 所示。根据表 1 的数据,回避干涉算法时间能够满足华中 8 型数控系统 1ms 的插补要求。
4、结语
本文所提出的半径补偿干涉回避算法,虽然计算量较大,但通过算法优化,已经能够满足华中 8 型数控系统的要求。而且,这种算法能够处理文献 1 中提到的法兰克系统无法回避干涉的几种情况。目前,这个算法已经集成在华中 8 型数控系统中,配套的机床在成都某厂飞机零件加工,以及东莞、深圳等地企业电子信息产品零件批量加工中都有应用。
基金项目 :“高档数控机床与基础制造装备”科技重大专项(2013ZX04001-021)
投稿箱:
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com