CN106774151B - 一种可避免过切的刀具半径补偿方法 - Google Patents
一种可避免过切的刀具半径补偿方法 Download PDFInfo
- Publication number
- CN106774151B CN106774151B CN201611067803.4A CN201611067803A CN106774151B CN 106774151 B CN106774151 B CN 106774151B CN 201611067803 A CN201611067803 A CN 201611067803A CN 106774151 B CN106774151 B CN 106774151B
- Authority
- CN
- China
- Prior art keywords
- rotor step
- formula
- rotor
- enabled
- vertex
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/404—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37383—Tool length
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
本发明涉及数控加工技术领域,一种可避免过切的刀具半径补偿方法,包括以下步骤:(1)通过工件轮廓线顶点前、后径向的刀具半径偏移,计算所有顶点的前、后偏移点,(2)通过在前后偏移点间增加过渡顶点和过度线段,将间断的偏移边接续为闭合的偏移曲线,(3)通过矩形包络相交预判断和直线段重心坐标、圆弧段三角投影坐标,计算偏移曲线中的自交点,并依据自交点对圆弧段直线化,(4)通过扫描线分割和基于分割区域的布尔运算无效区判定直线化偏移曲线中的无效区域,(5)利用多边形边的无效属性,删除无效区域并恢复直线化圆弧的原始形状。本发明方法具有计算结果无逼近误差和运算量较低等优点。
Description
技术领域
本发明涉及一种可避免过切的刀具半径补偿方法,属于数控加工技术领域。
背景技术
刀具半径补偿功能是数控加工设备的基本功能,它能够依据刀具半径设定和工件尺寸自动生成加工路径,可以减少操作人员的繁琐计算并避免了由人工计算误差引起的成型尺寸偏差。在电子工业协会(EIA)的RS-274-D中规定通过G40/G41/G42指令设定刀具半径补偿功能,需要实现直线和直线,直线和圆弧,圆弧和圆弧连接的半径补偿方法。
刀具干涉分为局部干涉和全局干涉:局部干涉是指由于刀具直径过大致使刀刃对工件表面造成的过度切削,即过切问题;全局干涉是指刀具非刀刃部分与加工表面或机床其他部分的碰撞问题。刀具干涉是在生成刀具加工轨迹过程中需要解决的一个核心问题。刀具半径补偿功能可视为一种给定工件尺寸数据的刀具加工轨迹生成过程,必须解决刀具局部干涉问题,否则致使精度失准甚至工件报废。
在刀具半径补偿方法方面,已有技术基于解析几何的方法,通过判断转接点类型(缩短、伸长或插入)的方式,计算偏移曲线。在避免过切(刀具局部干涉)的方法方面,已有技术采用多面体法、偏置面法和包络面法等:多面体法是将曲面化为若干三角面片,或者将曲线化为若干直线段,再根据刀具中心到三角面片或直线段的距离判定是否存在过切;偏置面法是通过微分几何方法计算出刀位面,然后在刀位面上规划刀具加工轨迹,由于在刀位面上不存在干涉,因此它是一种避免过切的方法;包络面法是通过刀具旋转包络面的曲率半径与工件轮廓检测点处的曲率半径进行比较,判断是否在检测点处发生过切。多面体法和包络面法是一种离散化方法,会引入逼近误差,误差大小与迭代粒度的选择有关。虽然偏置面法不存在逼近误差,但是求取刀位面的计算复杂。
发明内容
为了克服现有技术中存在的不足,本发明目的是提供一种可避免过切的刀具半径补偿方法,在实现C功能刀具半径补偿方法的同时,该方法是以扫描线算法和基于布尔运算的无效区域判定方法为核心,以更低的计算量实现无逼近误差的无过切刀补轨迹。
为了实现上述发明目的,解决现有技术中所存在的问题,本发明采取的技术方案是:一种可避免过切的刀具半径补偿方法,包括以下步骤:
步骤1、通过工件轮廓线顶点前、后径向的刀具半径偏移,计算所有顶点的前、后偏移点,包括以下子步骤:
(1)设工件轮廓线顶点个数为N,为第i个顶点向量,Pi-1为前一个顶点向量,Pi+1为后一个顶点向量;
(2)令i=0;
(3)若i=N则转子步骤(10)否则转子步骤(4);
(4)若边Pi-1Pi为直线段则采用公式(1)计算前切向若其为圆弧段则采用公式(2)计算前切向
式(2)中,Ci-1为边Pi-1Pi的圆心,函数sgn(x)为符号函数,
二维向量与的外积采用公式(4)计算得到,
(5)若边PiPi+1为直线段则采用公式(5)计算后切向若其为圆弧段则采用公式(6)计算后切向
式(6)中,Ci为边PiPi+1的圆心;
(6)若为左刀补设置,则采用公式(7)计算前径向若为右刀补设置,则采用公式(8)计算前径向
(7)若为左刀补设置,则采用公式(9)计算后径向若为右刀补设置,则采用公式(10)计算后径向
(8)利用公式(11)(12)分别计算前、后偏移点和
式(11)(12)中R为刀具补偿半径,二维向量的长度采用二范数定义,
(9)令i=i+1,转子步骤(3);
(10)结束;
步骤2、通过在前后偏移点间增加过渡顶点和过渡线段,将间断的偏移边接续为闭合的偏移曲线,包括以下子步骤:
(1)设工件轮廓线顶点个数为M,为第i个顶点向量,为边PiPi+1的偏移边;
(2)令i=0;
(3)若i=M则转子步骤(8),否则转子步骤(4);
(4)若则在偏移边Ei和Ei-1间插入过渡线段
(5)若且则通过公式(13)计算中过渡顶点并在偏移边Ei和Ei-1间插入过渡线段和
(6)若且则通过公式(14)(15)计算前过渡顶点Ti B和后过渡顶点Ti F,并在偏移边Ei和Ei-1间插入过渡线段和
(7)令i=i+1,转子步骤(3);
(8)结束;
步骤3、通过矩形包络相交预判断和直线段重心坐标、圆弧段三角投影坐标,计算偏移曲线中的自交点,并依据自交点对圆弧段直线化,包括以下子步骤:
(1)设偏移曲线顶点个数为U,为第i个顶点,为边PiPi+1;
(2)令i=0;
(3)若i=U,则转子步骤(11),否则转子步骤(4);
(4)令j=i+1;
(5)若j=U,则转子步骤(10),否则转子步骤(6);
(6)若Ei或Ej的矩形包络不存在,则按照以下子步骤计算其矩形包络:
(a)若Ek=(Pk,Pk+1)为直线段,则其矩形包络为,
式(16)中,和分别为顶点Pk的横、纵坐标,min和max分别为取最小值和最大值函数;
(b)若Ek为圆弧段,则转子步骤(c),否则转子步骤(i);
(c)设Ek圆心为Ck,半径为R,和所处象限分别为s1和s2,X方向加工区域范围为[XMIN,XMAX],Y方向加工区域范围为[YMIN,YMAX];
(d)令i=s1,d=1,xmin=XMAX,xmax=XMIN,ymin=YMAX,ymax=YMIN,若圆弧为顺时针,则令d=-1;
(e)若i=s2,则转子步骤(i),否则转子步骤(f);
(f)根据条件赋值,若i为第Ⅰ象限且i+d为第Ⅱ象限,或者i为第Ⅱ象限且i+d为第Ⅰ象限,则ymax=Ck,y+R,若i为第Ⅱ象限且i+d为第Ⅲ象限,或者i为第Ⅲ象限且i+d为第Ⅱ象限,则xmin=Ck,x-R,若i为第Ⅲ象限且i+d为第Ⅳ象限,或者i为第Ⅳ象限且i+d为第Ⅲ象限,则ymin=Ck,y-R,若i为第Ⅳ象限且i+d为第Ⅰ象限,或者i为第Ⅰ象限且i+d为第Ⅳ象限,则xmax=Ck,x+R;
(g)令i=i+d转子步骤(e);
(h)按照公式(17)计算圆弧段的矩形包络,
(i)包络为以(xmin,ymin)和(xmax,ymax)为对角顶点的矩形,结束;
(7)判断Ei和Ej矩形包络间是否相交,若不相交则转子步骤(9),否则转子步骤(8);
(8)计算Ei和Ej的交点,并用以下判定确定可行解:
(a)若交点P位于直线,转子步骤(b),否则转子步骤(e);
(b)设交点P所在边的起、止点坐标分别为P1和P2;
(c)按照公式(18)计算重心坐标λ,
(d)若0<λ<1则转(e)否则P为不可行解,转子步骤(j);
(e)若交点P位于圆上,转子步骤(f),否则转子步骤(i);
(f)设交点P所在边的圆心、起、止点坐标分别为C,P1和P2;
(g)若P所在边为逆时针圆弧则按照公式(19)计算三角投影坐标μ(P)和μ(P2),否则按照公式(20)计算
式(19)(20)中,为函数自变量,三角函数可按公式(21)计算,
(h)若0<μ(P)<μ(P2)则转子步骤(i),否则P为不可行解转子步骤(j);
(i)确定P为可行解;
(j)结束;
(9)令j=j+1并转子步骤(5);
(10)令i=i+1,转子步骤(3);
(11)令i=0;
(12)若i=U则转子步骤(16),否则转子步骤(13);
(13)若Ei上自交点数大于0,则转子步骤(14),否则转子步骤(15);
(14)若Ei为圆弧段,则按照三角投影坐标升序,在Pi和Pi+1间插入Ei所有自交点;否则按照重心坐标升序,在Pi和Pi+1间插入Ei所有交点,然后把从Pi到Pi+1之间的所有点用直线段连接,并在偏移曲线中删除Ei;
(15)令i=i+1,转子步骤(12);
(16)结束;
步骤4、通过扫描线分割和基于分割区域的布尔运算无效区判定直线化偏移曲线中的无效区域,包括如下子步骤:
(1)根据直线化偏移曲线,利用标准扫描线构建边表ET;
(2)设边表ET中存在的扫描线条数为V,并令i=0;
(3)若i=V转子步骤(18),否则转子步骤(4);
(4)针对扫描线i并利用标准扫描线算法构建活动边表AEL;
(5)设AEL中有W条边,令j=0;
(6)若j=W转子步骤(10),否则转子步骤(7);
(7)若AEL中边Ej与Ej+1重合且方向相反,则标注二者均为无效边并从AEL中删除,令j=j+1转子步骤(9);
(8)若Ej为平行方向,则标注其为有效边并从AEL中删除,转子步骤(9);
(9)令j=j+1,转子步骤(6);
(10)若轮廓为内环,则在AEL的左、右端分别插入下、上趋向的两条辅助边;
(11)经过以上步骤的一轮预处理后,AEL中判定数据共有K组,则其边共有2K条;
(12)令j=0;
(13)若j=K,则转子步骤(17),否则转子步骤(14);
(14)利用公式(22)计算第j组判定边之左判定边的左区域属性左判定边的右区域属性右判定边的左区域属性和右判定边的右区域属性
式中,和+运算为布尔代数中的“异或”和“或”运算,和分别为左、右判定边的趋向,边PjPj+1的趋向按照公式(23)计算,
(15)若则标注其为无效边,若则标注其为无效边;
(16)令j=j+1,转子步骤(13);
(17)令i=i+1,转子步骤(3);
(18)结束;
步骤5、利用多边形边的无效属性,删除无效区域并恢复直线化圆弧的原始形状,包括以下子步骤:
(1)设多边形中共有Z条边;
(2)令i=0;
(3)若i=Z,转子步骤(6),否则转子步骤(4);
(4)若边Ei为无效边,则将其从多边形中删除;
(5)令i=i+1,转子步骤(3);
(6)再次遍历多边形按照边首尾相连的原则,找出其中所有闭合多边形;
(7)遍历上一步生成的多个多边形,若其中某边源自某圆弧段的直线化,则通过其圆弧段的圆心坐标恢复形状;
(8)结束。
本发明有益效果是:一种可避免过切的刀具半径补偿方法,包括以下步骤:(1)通过工件轮廓线顶点前、后径向的刀具半径偏移,计算所有顶点的前、后偏移点,(2)通过在前后偏移点间增加过渡顶点和过度线段,将间断的偏移边接续为闭合的偏移曲线,(3)通过矩形包络相交预判断和直线段重心坐标、圆弧段三角投影坐标,计算偏移曲线中的自交点,并依据自交点对圆弧段直线化,(4)通过扫描线分割和基于分割区域的布尔运算无效区判定直线化偏移曲线中的无效区域,(5)利用多边形边的无效属性,删除无效区域并恢复直线化圆弧的原始形状。与已有技术相比,本发明方法具有以下优点,一是:已有技术为了简化计算,通过离散化的方法,用若干直线段对曲线进行逼近,存在逼近误差。本发明虽然也需要将圆弧段做直线化处理,但是由于直线分段点来自于自交点,保证在处理前后其自交的拓扑性质不变(即判断圆弧段是否位于无效自交环与判断直线段等价),并且在无效环清除后可以将直线段恢复为圆弧段,因此可以做到无逼近误差。二是:已有技术通过计算距离或者曲率半径的方法判断是否发生刀具局域干涉,计算量较大。本发明采用扫描线算法和基于布尔运算的无效区域判定方法,先利用扫描线对偏移曲线所围多边形分割,再借助布尔运算公式对各分割区域的属性标定,最后将标定过程中的矛盾区域判定为无效区域(过切区域),从而确保计算量较小。三是:已有技术在寻找自交点的过程中,需要遍历所有边(直线段和圆弧段)的组合关系,算法复杂度为O(n2)。本发明采用矩形包络相交预判断的方法,只求解相交可能性大的边与边之间交点,因此运算量较低,其算法复杂度为O(nlogn)。四是:已有技术根据直线方向与圆弧径向的夹角判定圆弧上交点的可行解。本发明利用圆弧三角投影函数(单调函数),赋予圆弧上的点(二维坐标)一维坐标。三角投影坐标的优势在于既可以用于判定可行解,又可以对圆弧上端点和交点按照偏移曲线的绕向排序,为无效自交区域的判定做准备。为了提高计算效率,三角投影坐标中避免了反三角函数的使用。
附图说明
图1是本发明方法步骤流程图。
图2是本发明方法中的工件轮廓线图。
图3是本发明方法中的工件几何偏移图。
图4是本发明方法中的工件直线接续图。
图5是本发明方法中的工件自交点图。
图6是本发明方法中的工件圆弧段直线化图。
图7是本发明方法中的工件扫描线图。
图8是本发明方法中的工件无效边标注图。
图9是本发明方法中的工件无效环删除图。
图10是本发明方法中的工件加工路径图。
具体实施方式
下面结合附图对本发明作进一步说明。
本发明方法步骤流程图如图1所示,算例工件轮廓线如图2所示。本算例为型腔加工类型,图2中曲线段从E0到E12按照顺时针连接,顶点P0到P12为各曲线段的起始点。为了加工型腔,采用右侧刀具半径补偿,刀具半径设定为φ=2mm。按照上文定义,图2中存在(1)直线与直线局域自交点,如E3、E4相交;(2)圆弧与圆弧局域自交点,如E6、E7相交;(3)直线与圆弧局域自交点,如E5、E6相交;(4)直线与直线全局自交点,如E4、E10相交;(5)圆弧与圆弧全局自交点,如E6、E8相交;(6)直线与圆弧全局自交点,如E1、E11相交。
步骤1、通过工件轮廓线顶点的前、后径向的刀具半径偏移,计算所有顶点的前、后偏移点。对于轮廓线上每个顶点,经过几何偏移运算后生成两个偏移点。一个顶点位于连续的两段直线或圆弧上,分别称其为“后段”和“前段”,在加工过程中前段直线或圆弧先于后段直线或圆弧行进。顶点就是前段和后段的交点或者衔接点,因此其在前段和后段分别具有一个切线方向,分别称其为前切向和后切向,规定切线方向指向行进方向。定义切向的垂直方向为其径向,左径向为切向逆时针旋转90°,右径向为顺时针旋转90°,前径向和后径向分别为由前切线和后切线确定径向方向。每个顶点拥有两个径向,即前径向和后径向,而每个径向的左右之分则由刀补设定(左、右刀补)。基于以上定义,顶点的前、后偏移点定义为从顶点出发分别沿前、后径向经过一个刀具半径距离的两个点。下面为上述定义的数学表达,
直线段前切向:其中Pi-1和Pi分别为前直线段的起点和终点。
直线段后切向:其中Pi和Pi+1分别为后直线段的起点和终点。
圆弧段前切向:其中Pi-1、Pi和Ci-1分别为前圆弧段的起点、终点和圆心。圆弧段前切向与垂直,将其旋转90°后根据圆弧的旋转方向选择正确的垂直方向。
圆弧段后切向:其中Pi、Pi+1和Ci分别为后圆弧段的起点、终点和圆心。其几何原理同圆弧段前切向所述。
左径向:其中τi可以是前切向或后切向。左径向与切向垂直,且位于切向的“左侧”,即将τi旋转90°。
右径向:其中τi可以是前切向或后切向。其几何原理同左径向所述。
前偏移点:其中R为刀具半径,可以是左径向或右径向。前偏移点为以Pi为基点,向方向移动R距离的点。
后偏移点:其中R为刀具半径,可以是左径向或右径向。其几何原理同前偏移点所述。
实施步骤1包括以下子步骤:
1)设工件轮廓线顶点个数为N,为第i个顶点向量,Pi-1为前一个顶点向量,Pi+1为后一个顶点向量,
(2)令i=0,
(3)若i=N则转子步骤(10)否则转子步骤(4),
(4)若边Pi-1Pi为直线段则采用公式(1)计算前切向若其为圆弧段则采用公式(2)计算前切向
式(2)中,Ci-1为边Pi-1Pi的圆心,函数sgn(x)为符号函数,
二维向量与的外积采用公式(4)计算得到,
(5)若边PiPi+1为直线段则采用公式(5)计算后切向若其为圆弧段则采用公式(6)计算后切向
式(6)中,Ci为边PiPi+1的圆心,
(6)若为左刀补设置,则采用公式(7)计算前径向若为右刀补设置,则采用公式(8)计算前径向
(7)若为左刀补设置,则采用公式(9)计算后径向若为右刀补设置,则采用公式(10)计算后径向
(8)利用公式(11)(12)分别计算前、后偏移点和
式(11)(12)中R为刀具补偿半径,二维向量的长度采用二范数定义,
(9)令i=i+1,转子步骤(3),
(10)结束。
步骤2、通过在前后偏移点间增加过渡顶点和过度线段的方法,将间断的偏移边接续为闭合的偏移曲线。经过几何偏移后,前后偏移点往往不会重合,通过接续处理可将间断的部分连接起来。定义外接续为前切向与后径向夹角小于90°时前后偏移点的直线过渡,内接续为前切向与后径向夹角大于90°时前后偏移点的直线过渡。内接续情形时,选择以前、后偏移点分别为起、止点的直线段作为过渡曲线,虽然会产生局域自交环,但是可以在后续阶段中消除。外接续情形时,分为两种情况处理:前、后切向夹角小于或等于120°时,将分别过前、后偏移点且以前、后切向为斜率的两直线交点作为中过渡顶点,则过渡曲线为依次经过前偏移点、中过渡顶点和后偏移点的两条直线段;前、后切线夹角大于120°时,将在前切线方向上距前偏移点一个半径的点作为前过渡顶点,将在负后切线方向上距后偏移点一个半径的点作为后过渡顶点,则过渡曲线为依次经过前偏移点、前过渡顶点、后过渡顶点和后偏移点的三条直线段。下面为上述定义的数学表达,
外接续判定条件:
内接续判定条件:
前、后切向夹角和半角:
中过渡顶点:中过渡顶点为以Pi为基点,沿着旋转后的方向移动距离到达的点。通过自适应轮廓线的旋转方向。
前过渡顶点:其几何原理同中过渡顶点所述。
后过渡顶点:其几何原理同中过渡顶点所述。
按照轮廓线顶点顺序依次处理生成加工轨迹。将轮廓线相邻两顶点A、B之间的直线段或圆弧段用A后偏移点和B前偏移点之间的直线段或圆弧段代替,同一顶点的前偏移点和后偏移点之间按上述方法采用一条(内接续)、两条(外接续且夹角小于等于120°)或三条(外接续且夹角大于120°)直线段过渡。对于外接续的两种情况,如果前段是直线段,则将前偏移点从加工轨迹的顶点中删除,如果后段是直线段,则将后偏移点删除。
按照刀具设定,则轮廓线的偏移距离为R=2mm。按照顺序逐点计算前、后偏移点QB,QF,计算结果如图3所示。采用直线接续,计算结果如图4实线所示。
实施步骤2包括以下子步骤:
(1)设工件轮廓线顶点个数为M,为第i个顶点向量,为边PiPi+1的偏移边,
(2)令i=0,
(3)若i=M则转子步骤(8),否则转子步骤(4),
(4)若则在偏移边Ei和Ei-1间插入过渡线段
(5)若且则通过公式(13)计算中过渡顶点并在偏移边Ei和Ei-1间插入过渡线段和
(6)若且则通过公式(14)(15)计算前过渡顶点Ti B和后过渡顶点Ti F,并在偏移边Ei和Ei-1间插入过渡线段和
(7)令i=i+1,转子步骤(3),
(8)结束。
步骤3、通过矩形包络相交预判断法和直线段重心坐标、圆弧段三角投影坐标,计算偏移曲线中的自交点,并依据自交点对圆弧段直线化。为了简化后续计算,在生成扫描线之前,首先采用圆弧端点和自交点对圆弧段直线化。自交点可以是圆弧和圆弧的交点,直线和直线的交点或者圆弧和直线的交点,如果直接用解析几何的方法判断相交,计算量巨大,因此利用圆弧的矩形包络和直线的矩形包络粗略判断相交可能性。定义圆弧段的矩形包络为其上各点X轴范围和Y轴范围所辖矩形。定义直线段的矩形包络为以其为对角线的矩形。当矩形包络相交则计算两直线段之间,两圆弧段之间或者直线段与圆弧段的交点,否则无需计算交点。在计算交点时,为了消除非可行解,还需要判断交点是否位于直线段或者圆弧段。在判断圆弧交点的可行解时,通过引入圆弧的三角投影坐标,降低了计算复杂性。
逆时针圆弧三角投影坐标:其中C,P1,P2,P分别为逆时针圆弧的圆心、起止点坐标和圆上的任意点。三角投影坐标为θ的单调函数,赋予圆弧上的点(二维坐标)一个一维有序坐标。为了提高计算效率,也避免了反三角函数的使用。
顺时针圆弧三角投影坐标:其中C,P1,P2,P分别为顺时针圆弧的圆心、起止点坐标和圆上的任意点。其几何原理同逆时针圆弧三角投影坐标所述。
判断并计算任意两条边的交点,偏移曲线的所有自交点及顶点如图5所示。利用自交点对圆弧段直线化后,计算结果如图6所示。
实施步骤3包括以下子步骤:
(1)设偏移曲线顶点个数为U,为第i个顶点,为边PiPi+1,
(2)令i=0,
(3)若i=U,则转子步骤(11),否则转子步骤(4),
(4)令j=i+1,
(5)若j=U,则转子步骤(10),否则转子步骤(6),
(6)若Ei或Ej的矩形包络不存在,则按照以下子步骤计算其矩形包络,
(a)若Ek=(Pk,Pk+1)为直线段,则其矩形包络为,
式(16)中,和分别为顶点Pk的横、纵坐标,min和max分别为取最小值和最大值函数,
(b)若Ek为圆弧段,则转子步骤(c),否则转子步骤(i),
(c)设Ek圆心为Ck,半径为R,和所处象限分别为s1和s2,X方向加工区域范围为[XMIN,XMAX],Y方向加工区域范围为[YMIN,YMAX],
(d)令i=s1,d=1,xmin=XMAX,xmax=XMIN,ymin=YMAX,ymax=YMIN,若圆弧为顺时针,则令d=-1,
(e)若i=s2,则转子步骤(i),否则转子步骤(f),
(f)根据条件赋值,若i为第Ⅰ象限且i+d为第Ⅱ象限,或者i为第Ⅱ象限且i+d为第Ⅰ象限,则ymax=Ck,y+R,若i为第Ⅱ象限且i+d为第Ⅲ象限,或者i为第Ⅲ象限且i+d为第Ⅱ象限,则xmin=Ck,x-R,若i为第Ⅲ象限且i+d为第Ⅳ象限,或者i为第Ⅳ象限且i+d为第Ⅲ象限,则ymin=Ck,y-R,若i为第Ⅳ象限且i+d为第Ⅰ象限,或者i为第Ⅰ象限且i+d为第Ⅳ象限,则xmax=Ck,x+R,
(g)令i=i+d转子步骤(e),
(h)按照公式(17)计算圆弧段的矩形包络,
(i)包络为以(xmin,ymin)和(xmax,ymax)为对角顶点的矩形,结束,
(7)判断Ei和Ej矩形包络间是否相交,若不相交则转子步骤(9),否则转子步骤(8),
(8)计算Ei和Ej的交点,并用以下判定确定可行解,
(a)若交点P位于直线,转子步骤(b),否则转子步骤(e),
(b)设交点P所在边的起、止点坐标分别为P1和P2,
(c)按照公式(18)计算重心坐标λ,
(d)若0<λ<1则转(e)否则P为不可行解,转子步骤(j),
(e)若交点P位于圆上,转子步骤(f),否则转子步骤(i),
(f)设交点P所在边的圆心、起、止点坐标分别为C,P1和P2,
(g)若P所在边为逆时针圆弧则按照公式(19)计算三角投影坐标μ(P)和μ(P2),否则按照公式(20)计算
式(19)(20)中,为函数自变量,三角函数可按公式(21)计算,
(h)若0<μ(P)<μ(P2)则转子步骤(i),否则P为不可行解转子步骤(j),
(i)确定P为可行解,
(j)结束,
(9)令j=j+1并转子步骤(5),
(10)令i=i+1,转子步骤(3),
(11)令i=0,
(12)若i=U则转子步骤(16),否则转子步骤(13),
(13)若Ei上自交点数大于0,则转子步骤(14),否则转子步骤(15),
(14)若Ei为圆弧段,则按照三角投影坐标升序,在Pi和Pi+1间插入Ei所有自交点;否则按照重心坐标升序,在Pi和Pi+1间插入Ei所有交点,然后把从Pi到Pi+1之间的所有点用直线段连接,并在偏移曲线中删除Ei,
(15)令i=i+1,转子步骤(12),
(16)结束。
步骤4、通过扫描线分割和基于分割区域的布尔运算无效区判定方法,判定直线化偏移曲线中的无效区域。经过以上各阶段处理,偏移曲线成为只有直线段的集合,采用水平扫描线,按照由底向上的方式逐行扫描。若偏移曲线不闭合,可以将其首尾用直线段连接,则使其成为闭合曲线。由于本阶段处理的偏移曲线不存在圆弧段,因此称闭合偏移曲线为多边形,称其直线段为多边形的边E。定义边的高度为其两端点高度最小值。定义等高边集为具有相同高度边的集合。定义边表ET为按照高度升序的等高边集的列表。定义扫描线为由相邻等高边集的高度区间界定的横向直带。定义上、下扫描交点分别为某边与当前扫描线上、下沿的交点。定义活动边表AEL为按照下扫描交点从左至右排列并与当前扫描线相交的边集合。依照边表元素的顺序生成扫描线和活动边表的过程,就是从底向上逐行扫描的过程。
计算几何中采用多边形内部在轮廓线的左侧或右侧的定义,区分内环和外环。内环和外环具有不同的旋转方向,比如通常外环为逆时针,内环为顺时针。不失一般性,本发明也采用此种方向定义。正则多边形必然是外环包围内环或者内环包围外环。但若违反该规则,则多边形存在无效区域,需要删除无效区域后使其成为若干正则多边形。多边形的凹凸性和自交情形增加了判定无效区域的复杂性,本发明根据边的趋向和区域内、外属性的布尔运算,能够快速标定无效区域上的无效边,最后统一删除无效边并构建正则多边形。定义边的趋向DIR为纵坐标的变化方向,由于AEL在判断前删除水平边,所以只存在上下两种方向。当边的左侧邻域位于多边形内部时,边的左区域属性LRA等于1,否则等于0。当边的右侧邻域位于多边形内部时,边的右区域属性RRA等于1,否则等于0。AEL中边的数量为偶数,在无效区域判定时选择连续的偶序数和奇序数边作为一组判定数据,定义偶序数边为左判定边LTE,奇序数边为RTE。
按照从底向上的方式生成水平扫描线,扫描线为两条虚线之间的部分,计算结构如图7所示。由于本算例的轮廓为内环,所以需要在AEL的左右两端添加辅助边,无效边标注计算结果如图8所示(无效边用虚线标示)。
实施步骤4包括如下子步骤:
(1)根据直线化偏移曲线,利用标准扫描线构建边表ET,
(2)设边表ET中存在的扫描线条数为V,并令i=0,
(3)若i=V转子步骤(18),否则转子步骤(4),
(4)针对扫描线i并利用标准扫描线算法构建活动边表AEL,
(5)设AEL中有W条边,令j=0,
(6)若j=W转子步骤(10),否则转子步骤(7),
(7)若AEL中边Ej与Ej+1重合且方向相反,则标注二者均为无效边并从AEL中删除,令j=j+1转子步骤(9),
(8)若Ej为平行方向,则标注其为有效边并从AEL中删除,转子步骤(9),
(9)令j=j+1,转子步骤(6),
(10)若轮廓为内环,则在AEL的左、右端分别插入下、上趋向的两条辅助边,
(11)经过以上步骤的一轮预处理后,AEL中判定数据共有K组,则其边共有2K条,
(12)令j=0,
(13)若j=K,则转子步骤(17),否则转子步骤(14),
(14)利用公式(22)计算第j组判定边之左判定边的左区域属性左判定边的右区域属性右判定边的左区域属性和右判定边的右区域属性
式中,和+运算为布尔代数中的“异或”和“或”运算,和分别为左、右判定边的趋向,边PjPj+1的趋向按照公式(23)计算,
(15)若则标注其为无效边,若则标注其为无效边,
(16)令j=j+1,转子步骤(13),
(17)令i=i+1,转子步骤(3),
(18)结束。
步骤5、利用多边形边的无效属性,删除无效区域(过切区域)并恢复直线化圆弧的原始形状。经过上述阶段处理,多边形的每个边已经被标定为无效或者有效。由无效边首尾相接组成的多边形称为无效环,一个多边形的无效环删除后,可能产生多个多边形。在步骤3对圆弧段直线化处理时,通过将原始圆弧段的圆心存储在其生成直线段数据结构体,则可以保证在复原时利用直线段两端点和圆心坐标得到圆弧曲线。
删除标注为无效的边,保留有效的边(图8中实线标示的边),获得四个无自交点的正多边形,如图9所示。恢复边的圆弧属性后,最终的加工路径如图10所示。
实施步骤5包括以下子步骤:
(1)设多边形中共有Z条边,
(2)令i=0,
(3)若i=Z,转子步骤(6),否则转子步骤(4),
(4)若边Ei为无效边,则将其从多边形中删除,
(5)令i=i+1,转子步骤(3),
(6)再次遍历多边形按照边首尾相连的原则,找出其中所有闭合多边形,
(7)遍历上一步生成的多个多边形,若其中某边源自某圆弧段的直线化,则通过其圆弧段的圆心坐标恢复形状,
(8)结束。
综上,经过以上步骤的处理,可以快速地且无逼近误差地生成具有避免过切的加工轨迹。本发明除计算圆弧段交点、向量长度和半角公式时需要开根号运算外,其它均为普通四则运算,适用于计算资源有限且实时性要求高的嵌入式应用领域。然而虽计算方法简单,但能保证无逼近误差,因此使低成本嵌入式系统实现高精度数控功能成为可能。
Claims (1)
1.一种可避免过切的刀具半径补偿方法,其特征在于包括以下步骤:
步骤1、通过工件轮廓线顶点前、后径向的刀具半径偏移,计算所有顶点的前、后偏移点,包括以下子步骤:
(1)设工件轮廓线顶点个数为N,为第i个顶点向量,Pi-1为前一个顶点向量,Pi+1为后一个顶点向量;
(2)令i=0;
(3)若i=N则转子步骤(10)否则转子步骤(4);
(4)若边Pi-1Pi为直线段则采用公式(1)计算前切向若其为圆弧段则采用公式(2)计算前切向
式(2)中,Ci-1为边Pi-1Pi的圆心,函数sgn(x)为符号函数,
二维向量与的外积采用公式(4)计算得到,
(5)若边PiPi+1为直线段则采用公式(5)计算后切向若其为圆弧段则采用公式(6)计算后切向
式(6)中,Ci为边PiPi+1的圆心;
(6)若为左刀补设置,则采用公式(7)计算前径向若为右刀补设置,则采用公式(8)计算前径向
(7)若为左刀补设置,则采用公式(9)计算后径向若为右刀补设置,则采用公式(10)计算后径向
(8)利用公式(11)(12)分别计算前、后偏移点和
式(11)(12)中R为刀具补偿半径,二维向量的长度采用二范数定义,
(9)令i=i+1,转子步骤(3);
(10)结束;
步骤2、通过在前后偏移点间增加过渡顶点和过渡线段,将间断的偏移边接续为闭合的偏移曲线,包括以下子步骤:
(1)设工件轮廓线顶点个数为M,为第i个顶点向量,为边PiPi+1的偏移边;
(2)令i=0;
(3)若i=M则转子步骤(8),否则转子步骤(4);
(4)若则在偏移边Ei和Ei-1间插入过渡线段
(5)若且则通过公式(13)计算中过渡顶点Ti C,并在偏移边Ei和Ei-1间插入过渡线段和
(6)若且则通过公式(14)(15)计算前过渡顶点Ti B和后过渡顶点Ti F,并在偏移边Ei和Ei-1间插入过渡线段和
(7)令i=i+1,转子步骤(3);
(8)结束;
步骤3、通过矩形包络相交预判断和直线段重心坐标、圆弧段三角投影坐标,计算偏移曲线中的自交点,并依据自交点对圆弧段直线化,包括以下子步骤:
(1)设偏移曲线顶点个数为U,为第i个顶点,为边PiPi+1;
(2)令i=0;
(3)若i=U,则转子步骤(11),否则转子步骤(4);
(4)令j=i+1;
(5)若j=U,则转子步骤(10),否则转子步骤(6);
(6)若Ei或Ej的矩形包络不存在,则按照以下子步骤计算其矩形包络:
(a)若Ek=(Pk,Pk+1)为直线段,则其矩形包络为,
式(16)中,和分别为顶点Pk的横、纵坐标,min和max分别为取最小值和最大值函数;
(b)若Ek为圆弧段,则转子步骤(c),否则转子步骤(i);
(c)设Ek圆心为Ck,半径为R,和所处象限分别为s1和s2,X方向加工区域范围为[XMIN,XMAX],Y方向加工区域范围为[YMIN,YMAX];
(d)令i=s1,d=1,xmin=XMAX,xmax=XMIN,ymin=YMAX,ymax=YMIN,若圆弧为顺时针,则令d=-1;
(e)若i=s2,则转子步骤(i),否则转子步骤(f);
(f)根据条件赋值,若i为第Ⅰ象限且i+d为第Ⅱ象限,或者i为第Ⅱ象限且i+d为第Ⅰ象限,则ymax=Ck,y+R,若i为第Ⅱ象限且i+d为第Ⅲ象限,或者i为第Ⅲ象限且i+d为第Ⅱ象限,则xmin=Ck,x-R,若i为第Ⅲ象限且i+d为第Ⅳ象限,或者i为第Ⅳ象限且i+d为第Ⅲ象限,则ymin=Ck,y-R,若i为第Ⅳ象限且i+d为第Ⅰ象限,或者i为第Ⅰ象限且i+d为第Ⅳ象限,则xmax=Ck,x+R;
(g)令i=i+d转子步骤(e);
(h)按照公式(17)计算圆弧段的矩形包络,
(i)包络为以(xmin,ymin)和(xmax,ymax)为对角顶点的矩形,结束;
(7)判断Ei和Ej矩形包络间是否相交,若不相交则转子步骤(9),否则转子步骤(8);
(8)计算Ei和Ej的交点,并用以下判定确定可行解:
(a)若交点P位于直线,转子步骤(b),否则转子步骤(e);
(b)设交点P所在边的起、止点坐标分别为P1和P2;
(c)按照公式(18)计算重心坐标λ,
(d)若0<λ<1则转(e)否则P为不可行解,转子步骤(j);
(e)若交点P位于圆上,转子步骤(f),否则转子步骤(i);
(f)设交点P所在边的圆心、起、止点坐标分别为C,P1和P2;
(g)若P所在边为逆时针圆弧则按照公式(19)计算三角投影坐标μ(P)和μ(P2),否则按照公式(20)计算
式(19)(20)中,为函数自变量,三角函数可按公式(21)计算,
(h)若0<μ(P)<μ(P2)则转子步骤(i),否则P为不可行解转子步骤(j);
(i)确定P为可行解;
(j)结束;
(9)令j=j+1并转子步骤(5);
(10)令i=i+1,转子步骤(3);
(11)令i=0;
(12)若i=U则转子步骤(16),否则转子步骤(13);
(13)若Ei上自交点数大于0,则转子步骤(14),否则转子步骤(15);
(14)若Ei为圆弧段,则按照三角投影坐标升序,在Pi和Pi+1间插入Ei所有自交点;否则按照重心坐标升序,在Pi和Pi+1间插入Ei所有交点,然后把从Pi到Pi+1之间的所有点用直线段连接,并在偏移曲线中删除Ei;
(15)令i=i+1,转子步骤(12);
(16)结束;
步骤4、通过扫描线分割和基于分割区域的布尔运算无效区判定直线化偏移曲线中的无效区域,包括如下子步骤:
(1)根据直线化偏移曲线,利用标准扫描线构建边表ET;
(2)设边表ET中存在的扫描线条数为V,并令i=0;
(3)若i=V转子步骤(18),否则转子步骤(4);
(4)针对扫描线i并利用标准扫描线算法构建活动边表AEL;
(5)设AEL中有W条边,令j=0;
(6)若j=W转子步骤(10),否则转子步骤(7);
(7)若AEL中边Ej与Ej+1重合且方向相反,则标注二者均为无效边并从AEL中删除,令j=j+1转子步骤(9);
(8)若Ej为平行方向,则标注其为有效边并从AEL中删除,转子步骤(9);
(9)令j=j+1,转子步骤(6);
(10)若轮廓为内环,则在AEL的左、右端分别插入下、上趋向的两条辅助边;
(11)经过以上步骤的一轮预处理后,AEL中判定数据共有K组,则其边共有2K条;
(12)令j=0;
(13)若j=K,则转子步骤(17),否则转子步骤(14);
(14)利用公式(22)计算第j组判定边之左判定边的左区域属性左判定边的右区域属性右判定边的左区域属性和右判定边的右区域属性
式中,和+运算为布尔代数中的“异或”和“或”运算,和分别为左、右判定边的趋向,边PjPj+1的趋向按照公式(23)计算,
(15)若则标注其为无效边,若则标注其为无效边;
(16)令j=j+1,转子步骤(13);
(17)令i=i+1,转子步骤(3);
(18)结束;
步骤5、利用多边形边的无效属性,删除无效区域并恢复直线化圆弧的原始形状,包括以下子步骤:
(1)设多边形中共有Z条边;
(2)令i=0;
(3)若i=Z,转子步骤(6),否则转子步骤(4);
(4)若边Ei为无效边,则将其从多边形中删除;
(5)令i=i+1,转子步骤(3);
(6)再次遍历多边形按照边首尾相连的原则,找出其中所有闭合多边形;
(7)遍历上一步生成的多个多边形,若其中某边源自某圆弧段的直线化,则通过其圆弧段的圆心坐标恢复形状;
(8)结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611067803.4A CN106774151B (zh) | 2016-11-29 | 2016-11-29 | 一种可避免过切的刀具半径补偿方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611067803.4A CN106774151B (zh) | 2016-11-29 | 2016-11-29 | 一种可避免过切的刀具半径补偿方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106774151A CN106774151A (zh) | 2017-05-31 |
CN106774151B true CN106774151B (zh) | 2018-12-21 |
Family
ID=58904059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611067803.4A Active CN106774151B (zh) | 2016-11-29 | 2016-11-29 | 一种可避免过切的刀具半径补偿方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106774151B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107748538B (zh) * | 2017-06-26 | 2020-03-27 | 山东理工大学 | 基于bc型五轴数控机床后处理五轴鼓型刀半径补偿方法 |
CN108748698B (zh) * | 2018-05-04 | 2021-03-09 | 华侨大学 | 一种圆盘锯切割竖曲线并防过切的方法 |
CN109799790B (zh) * | 2018-12-28 | 2020-10-16 | 枣庄北航机床创新研究院有限公司 | 一种刀具半径补偿方法及装置 |
CN110000841B (zh) * | 2019-04-11 | 2021-01-29 | 上海维宏电子科技股份有限公司 | 振动刀加工路径补偿及加工的方法 |
CN110908332B (zh) * | 2019-12-05 | 2023-06-23 | 上海维宏电子科技股份有限公司 | 数控系统中针对圆弧刀路实现刀具半径补偿控制的方法 |
CN113123177B (zh) * | 2019-12-31 | 2023-03-14 | 比亚迪股份有限公司 | 防滑钢板及其加工方法、轨道梁 |
CN111580456B (zh) * | 2020-04-08 | 2021-05-18 | 广州奇芯机器人技术有限公司 | 一种对小线段连续轨迹进行刀具半径补偿的实现方法 |
CN111880480B (zh) * | 2020-07-31 | 2022-03-11 | 杭州爱科科技股份有限公司 | 一种基于cnc铣床的铣刀切割路径生成方法及系统 |
TWI742981B (zh) * | 2021-01-06 | 2021-10-11 | 財團法人工業技術研究院 | 加工路徑過切分析方法 |
CN114800038B (zh) * | 2021-01-29 | 2024-04-05 | 雷应科技股份有限公司 | 刀具检测器 |
CN113670632B (zh) * | 2021-08-18 | 2024-04-12 | 北京经纬恒润科技股份有限公司 | 碰撞检测方法及装置 |
CN117655563B (zh) * | 2024-01-31 | 2024-05-28 | 成都沃特塞恩电子技术有限公司 | 激光切割路径规划方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5677855A (en) * | 1995-01-31 | 1997-10-14 | Smith & Nephew, Inc. | Method of generating grinding paths from a computer model for controlling a numerically controlled grinder |
CN101615022A (zh) * | 2009-07-21 | 2009-12-30 | 中国科学院数学与系统科学研究院 | 基于曲面重构的三轴数控机床刀具的半径补偿方法 |
CN102354157A (zh) * | 2011-08-01 | 2012-02-15 | 大连交通大学 | 一种凸轮廓尖角直线圆弧复合过渡刀具半径补偿算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10330828B4 (de) * | 2003-07-08 | 2006-09-21 | Mtu Aero Engines Gmbh | Verfahren und Vorrichtung zum Fräsen von Freiformflächen |
-
2016
- 2016-11-29 CN CN201611067803.4A patent/CN106774151B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5677855A (en) * | 1995-01-31 | 1997-10-14 | Smith & Nephew, Inc. | Method of generating grinding paths from a computer model for controlling a numerically controlled grinder |
CN101615022A (zh) * | 2009-07-21 | 2009-12-30 | 中国科学院数学与系统科学研究院 | 基于曲面重构的三轴数控机床刀具的半径补偿方法 |
CN102354157A (zh) * | 2011-08-01 | 2012-02-15 | 大连交通大学 | 一种凸轮廓尖角直线圆弧复合过渡刀具半径补偿算法 |
Non-Patent Citations (1)
Title |
---|
集成化CAD/CAM系统中数控加工轨迹生成及代码仿真研究与实现;陈静;《中国优秀博硕士学位论文全文数据库(硕士) 工程科技I辑》;20050915;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106774151A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106774151B (zh) | 一种可避免过切的刀具半径补偿方法 | |
US20210173966A1 (en) | Method for constructing curve of robot processing path of part with small curvature based on point cloud boundary | |
US10599126B2 (en) | Tool-path correcting apparatus and tool-path correcting method | |
Castagnetti et al. | The domain of admissible orientation concept: a new method for five-axis tool path optimisation | |
CN108121862A (zh) | 一种基于三维几何特征的工程图自动标注方法 | |
CN106227152A (zh) | 一种cnc加工的平滑过渡方法及其平滑过渡装置 | |
Xu et al. | Image processing-based contour parallel tool path optimization for arbitrary pocket shape | |
US20110279455A1 (en) | Sketched overdrawn lines for editing spline-based three-dimensional curves | |
CN102436217B (zh) | 飞机结构件槽特征腹板加工驱动几何重构方法 | |
CN113741426B (zh) | 一种基于局部点云曲线拟合的机器人加工路径规划方法 | |
CN106844839B (zh) | 用于优化汽轮机叶片型线的方法 | |
JP2007279937A (ja) | 数値制御単一刃具による輪郭面及び立体の加工方法 | |
CN109507955B (zh) | 一种基于数控系统的刀路偏置路径方法 | |
CN112051803B (zh) | 一种基于空间平面法向量的小线段光顺方法 | |
Xue et al. | Point cloud registration method for pipeline workpieces based on PCA and improved ICP algorithms | |
CN103869756B (zh) | 复杂平面型腔刀具可加工区域计算方法 | |
CN115146576B (zh) | 版图图形的编辑方法、系统、存储介质及装置 | |
CN106424877A (zh) | 一种新型机器人铣削加工刀具轨迹生成方法 | |
CN109636879A (zh) | 带岛的多边形曲线偏移算法 | |
Xu et al. | An optimization algorithm based on no-fit polygon method and hybrid heuristic strategy for irregular nesting problem | |
CN109828529B (zh) | 数控系统中实现锯片椭圆切割控制的方法及相应的系统 | |
Li et al. | A new approach for uncut detection and automatic design of EDM electrodes | |
CN106125677A (zh) | 一种柔性材料轨迹加工方法和装置 | |
JPH0452805A (ja) | 加工軌跡発生方法 | |
US20230066024A1 (en) | Curve Fitting Method, Apparatus and Device Based on A Drawing Tool |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |