CN108363357A - 加工轨迹生成方法及相应装置 - Google Patents

加工轨迹生成方法及相应装置 Download PDF

Info

Publication number
CN108363357A
CN108363357A CN201711382957.7A CN201711382957A CN108363357A CN 108363357 A CN108363357 A CN 108363357A CN 201711382957 A CN201711382957 A CN 201711382957A CN 108363357 A CN108363357 A CN 108363357A
Authority
CN
China
Prior art keywords
triangular plate
cutter
point
determined
subpoint
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.)
Granted
Application number
CN201711382957.7A
Other languages
English (en)
Other versions
CN108363357B (zh
Inventor
李振瀚
李喜艳
杨帆
干力雄
颜昌亚
陈吉红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Publication of CN108363357A publication Critical patent/CN108363357A/zh
Application granted granted Critical
Publication of CN108363357B publication Critical patent/CN108363357B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35349Display part, programmed locus and tool path, traject, dynamic locus

Abstract

本发明涉及一种加工轨迹生成方法及相应装置。该方法包括:根据待加工工件的三维模型将待加工工件的表面离散成三角片模型;针对在与待加工工件的表面对应的驱动面上规划的驱动轨迹上的每一个驱动点,确定刀具从驱动点沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片,针对每一个三角片,确定刀具投影点和投影距离,确定刀具投影距离最小的投影点作为与驱动点相对应的刀触点,以及根据刀触点确定与驱动点相对应的刀位点;以及根据待加工工件的表面对应的驱动面上的每一个驱动点对应的刀位点生成待加工工件的表面的加工轨迹。本发明还提供了一种计算机存储介质。

Description

加工轨迹生成方法及相应装置
技术领域
本发明涉及数控加工技术领域,更具体地涉及一种加工轨迹生成方法及实现这种方法的相应装置,可以应用于例如五轴数控加工等适用的数控加工场景。
背景技术
相比于三轴数控加工,五轴数控加工增加了两个旋转轴的自由度,可实现刀具和被加工表面之间更好的贴合性,减少加工时间,提高工件表面加工精度。无论是三轴数控加工,还是五轴数控加工,都涉及加工刀具轨迹的计算。目前常用的刀具轨迹计算策略包括刀位面(CL-surface)策略、刀触点驱动的策略(Contact-driven)和基于投影的策略(Projection-based)。
图1示出了刀位面策略(CL-surface策略)的基本方法100的流程图。CL-surface策略将刀具与工件恰好相切时的刀位点(CL点,(Cutter Location点)的集合定义为CLsurface(刀位面)。如图1所示,在步骤S110,计算刀位面。在步骤S120,根据计算得到的刀位面生成刀具轨迹。例如,文献《Mesh-based tool path generation for constantscallop-height machining》公开了将驱动面和偏置曲面离散的的三角网格模型求交确定CL轨迹。CL-surface策略可以在计算CL轨迹的过程中检测并消除干涉,可适用于所有的APT(Automatically Programmed Tools,自动编程工具)刀具三轴加工和球头刀五轴加工,但是不能适用于平底刀、环形刀和一般的APT刀具五轴加工。
图2示出了刀触点驱动的策略的基本方法200的流程图。如图2所示,在步骤S210,计算刀触点(CC点,Cutter Contact点)轨迹。在步骤S220,计算刀轴。在步骤S230,计算CL轨迹。例如,这在文献《Adaptive iso-planar tool path generation for machining offree-form surfaces》和《Five-axis tool path generation based on machine-dependent potential field》中均有介绍。方法200最终生成的轨迹可能存在过切,导致加工精度不高,加工表面质量较差。
图3示出了基于投影的策略的基本方法300的流程图。如图3所示,在步骤S310,通过确定驱动面来规划驱动轨迹。在步骤S320,执行投影算法。在步骤S330,利用投影算法生成CL轨迹。例如,文献《Fixed-axis tool positioning with built-in globalinterference checking for NC path generation》公开了采用基于驱动轨迹的刀具向曲面离散的三角网格投影的算法生成刀具加工轨迹。专利CN201410597489.5记载了一种用于五轴数控加工的等残留高度刀触点轨迹的生成方法,针对复杂网格模型的五轴加工,提出自适应的投影偏置方法来生成五轴等残留刀触点轨迹。方法300可以直接生成无过切的加工轨迹,适用于任意APT刀具,但是轨迹计算效率较低。
如上所述,目前的刀具轨迹的投影算法主要存在以下局限性:
(1)大多的刀具轨迹计算策略关于防过切处理的研究仅适用于三轴数控加工;
(2)目前的投影算法用于生成加工轨迹时的加工轨迹计算效率往往较低,需要求解非线性高阶方程。此时方程的根即为投影点位置。如果方程有多个根,极易遗漏一些根,即找不到最优解,从而导致投影算法失败,得不到正确的刀触点,使得加工轨迹缺失,严重影响被加工件表面质量;
(3)由于五轴数控加工增加了两个旋转轴自由度,导致每一个刀触点的刀轴方向都是任意的,而目前的投影算法没有给出沿任意方向投影到三角网格的具体实现方案,限制了投影算法在五轴三角网格加工中的使用,使得加工轨迹相对于驱动轨迹没有规律且不均匀。
发明内容
为了解决上述问题,本发明提出了一种加工轨迹生成机制,该机制可以应用于三轴数控加工、五轴数控加工等。具体地,该机制根据基于投影的策略中的投影算法的特点来生成无干涉的加工轨迹。
根据本发明的第一方面,提供了一种加工轨迹生成方法。该方法包括:根据待加工工件的三维模型将待加工工件的表面离散成三角片模型,所述三角片模型由多个三角片构成;针对在与待加工工件的表面对应的驱动面上规划的驱动轨迹上的每一个驱动点,确定刀具从所述驱动点沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片,针对所述一个或多个三角片中的每一个三角片,确定刀具成功投影到三角片上的投影点和对应的投影距离,确定刀具成功投影到所述一个或多个三角片中的每一个三角片上的投影点中投影距离最小的投影点作为与所述驱动点相对应的刀触点,以及根据所述刀触点确定与所述驱动点相对应的刀位点;以及根据待加工工件的表面对应的驱动面上的每一个驱动点对应的刀位点生成待加工工件的表面的加工轨迹。
在一个实施例中,确定刀具从所述驱动点沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片包括:从所述驱动点沿预定投影方向对刀具建立包围盒;以及确定所述包围盒沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片。
在一个实施例中,所述包围盒为AABB盒。
在一个实施例中,所述刀具包括两个或多个几何组成部分,确定刀具成功投影到三角片上的投影点和对应的投影距离包括:确定所述两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的面上;以及如果确定所述两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的面上,则确定所述几何组成部分成功投影到三角片的面上的投影点和对应的距离。
在一个实施例中,确定刀具成功投影到三角片上的投影点和对应的投影距离包括:如果确定所述两个或多个几何组成部分中没有几何组成部分成功投影到三角片的面上,则确定所述两个或多个几何组成部分是否有一个几何组成部分成功投影到三角片的边上;以及如果确定所述两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的边上,则确定所述几何组成部分成功投影到三角片的边上的投影点和对应的距离。
在一个实施例中,确定刀具成功投影到三角片上的投影点和对应的投影距离包括:如果确定所述两个或多个几何组成部分中没有几何组成部分成功投影到三角片的边上,则确定所述两个或多个几何组成部分是否有一个几何组成部分成功投影到三角片的顶点上;以及如果确定所述两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的顶点上,则确定所述顶点为投影点。
在一个实施例中,所述两个或多个几何组成部分包括圆环体部分,以及确定所述两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的面上包括:确定圆环体部分上是否有一个点处的法矢与所述三角片的法矢互为相反数;如果圆环体部分上有一个点处的法矢与所述三角片的法矢互为相反数,则确定圆环体部分上法矢与所述三角片的法矢互为相反数的点沿预定投影方向投影到三角片的面上的点是否在所述三角片的面上;以及如果圆环体部分上法矢与所述三角片的法矢互为相反数的点沿预定投影方向投影到三角片的面上的点在所述三角片的面上,则确定所述圆环体部分成功投影到三角片的面上。
在一个实施例中,确定所述几何组成部分成功投影到三角片的面上的投影点和对应的距离包括:根据圆环体部分上法矢与所述三角片的法矢互为相反数的点,确定所述点沿预定投影方向投影到三角片的面上的点作为圆环体部分成功投影到三角片的面上的投影点。
在一个实施例中,所述两个或多个几何组成部分包括圆环体部分,以及确定所述两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的边上包括:确定三角片的三条边中是否有一条边与圆环体部分相切;以及如果三角片的三条边中有一条边与圆环体部分相切,则确定圆环体部分成功投影到三角片的边上。
在一个实施例中,确定三角片的三条边中是否有一条边与圆环体部分相切包括:通过对由预定投影方向与三角片的边构成的投影平面与刀具曲面求交,确定圆环体部分在三角片模型上的投影点;确定圆环体部分在三角片模型上的投影点是否在所述三角片的边上;以及如果所述投影点在三角片的边上,则确定圆环体部分成功投影到三角片的边上。
在一个实施例中,三角片的三条边中有一条边与圆环体部分相切满足以下两个投影约束条件:圆环体部分上的切点处的法矢与所述边的向量垂直;以及所述切点位于所述投影平面内。
在一个实施例中,所述预定投影方向为刀轴方向,确定圆环体部分在三角片模型上的投影点包括:将所述两个投影约束条件转化为一元四次方程;以及求解所述一元四次方程的所有实根,以确定圆环体部分在三角片模型上的投影点。
在一个实施例中,求解所述一元四次方程包括:根据Abel–Ruffini理论和FerrariLodovico方法求解所述一元四次方程的所有实根。
在一个实施例中,所述预定投影方向为任意方向,确定圆环体部分在三角片模型上的投影点包括:将所述两个投影约束条件转化为一元八次方程;求解所述一元八次方程的所有实根;以及从求解到的所有实根中选择对应投影距离最短的实根作为圆环体部分在三角片模型上的投影点。
在一个实施例中,求解所述一元八次方程的所有实根包括:基于Bezier截断方法从所述一元八次方程中求得区间集合,所述集合中的每个区间只包含一个根;以及利用二分法从所述集合中求解所述一元八次方程的所有实根。
在一个实施例中,基于Bezier截断方法从所述一元八次方程中求得区间集合包括:求n次多项式fn(x)中变量x的范围x∈[a,b];将n次多项式fn(x)表示成n次Bernstein多项式p(t),t∈[0,1],并求Bernstein多项式的系数{bi};利用求得的系数{bi}来构造Bezier曲线t∈[0,1],其中d(t)表示Bernstein多项式p(t)上的点到t轴的距离,Di表示Bezier曲线D(t)的控制点;求Bezier曲线D(t)的最小凸包{Ai};求Bezier曲线D(t)的控制多边形{Di}及所述最小凸包{Ai}与t轴的交点,以得到关于t的初始解区间{[ti,ti+1]};优化初始解区间,以保证每个解区间有唯一根;以及输出优化后的解区间的集合作为所述区间集合。
在一个实施例中,优化初始解区间包括:对于每一个初始解区间[ti,ti+1],由公式x=a+(b-a)*t来计算x,以得到区间[xi,xi+1];将n次多项式fn(x)转换成n次Bernstein多项式p(t),并计算n次Bernstein多项式的系数{bi};如果Bernstein多项式的系数{bi}的正负符号变更次数大于或等于2,则去掉无根的区间,或者将包含两个或两个以上根的区间细分为多个子区间,以使得每个子区间只有一个根;如果Bernstein多项式的系数{bi}的符号变更次数为1,则输出Bernstein多项式的系数{bi}的符号变更次数为1的区间;以及如果Bernstein多项式的系数{bi}的符号变更次数为0,则对下一个初始解区间进行优化。
在一个实施例中,根据所述刀触点确定与所述驱动点相对应的刀位点包括:根据以下公式计算刀具坐标系下的刀位点:CL=CL0+dPPV,其中,CL表示刀具坐标系下的刀位点,CL0表示刀具坐标系下的初始刀位点,dP表示投影距离,以及PV表示投影方向。
根据本发明的第二方面,提供了一种加工轨迹生成装置。该装置包括:离散单元,被配置为根据待加工工件的三维模型将待加工工件的表面离散成三角片模型,所述三角片模型由多个三角片构成;刀位点确定单元,被配置为针对在与待加工工件的表面对应的驱动面上规划的驱动轨迹上的每一个驱动点,确定刀具从所述驱动点沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片,针对所述一个或多个三角片中的每一个三角片,确定刀具成功投影到三角片上的投影点和对应的投影距离,确定刀具成功投影到所述一个或多个三角片中的每一个三角片上的投影点中投影距离最小的投影点作为与所述驱动点相对应的刀触点,以及根据所述刀触点确定与所述驱动点相对应的刀位点;以及生成单元,被配置为根据待加工工件的表面对应的驱动面上的每一个驱动点对应的刀位点生成待加工工件的表面的加工轨迹。
在一个实施例中,确定刀具从所述驱动点沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片包括:从所述驱动点沿预定投影方向对刀具建立包围盒;以及确定所述包围盒沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片。
在一个实施例中,所述包围盒为AABB盒。
在一个实施例中,所述刀具包括两个或多个几何组成部分,确定刀具成功投影到三角片上的投影点和对应的投影距离包括:确定所述两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的面上;以及如果确定所述两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的面上,则确定所述几何组成部分成功投影到三角片的面上的投影点和对应的距离。
在一个实施例中,确定刀具成功投影到三角片上的投影点和对应的投影距离包括:如果确定所述两个或多个几何组成部分中没有几何组成部分成功投影到三角片的面上,则确定所述两个或多个几何组成部分是否有一个几何组成部分成功投影到三角片的边上;以及如果确定所述两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的边上,则确定所述几何组成部分成功投影到三角片的边上的投影点和对应的距离。
在一个实施例中,确定刀具成功投影到三角片上的投影点和对应的投影距离包括:如果确定所述两个或多个几何组成部分中没有几何组成部分成功投影到三角片的边上,则确定所述两个或多个几何组成部分是否有一个几何组成部分成功投影到三角片的顶点上;以及如果确定所述两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的顶点上,则确定所述顶点为投影点。
在一个实施例中,所述两个或多个几何组成部分包括圆环体部分,以及确定所述两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的面上包括:确定圆环体部分上是否有一个点处的法矢与所述三角片的法矢互为相反数;如果圆环体部分上有一个点处的法矢与所述三角片的法矢互为相反数,则确定圆环体部分上法矢与所述三角片的法矢互为相反数的点沿预定投影方向投影到三角片的面上的点是否在所述三角片的面上;以及如果圆环体部分上法矢与所述三角片的法矢互为相反数的点沿预定投影方向投影到三角片的面上的点在所述三角片的面上,则确定所述圆环体部分成功投影到三角片的面上。
在一个实施例中,确定所述几何组成部分成功投影到三角片的面上的投影点和对应的距离包括:根据圆环体部分上法矢与所述三角片的法矢互为相反数的点,确定所述点沿预定投影方向投影到三角片的面上的点作为圆环体部分成功投影到三角片的面上的投影点。
在一个实施例中,所述两个或多个几何组成部分包括圆环体部分,以及确定所述两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的边上包括:确定三角片的三条边中是否有一条边与圆环体部分相切;以及如果三角片的三条边中有一条边与圆环体部分相切,则确定圆环体部分成功投影到三角片的边上。
在一个实施例中,确定三角片的三条边中是否有一条边与圆环体部分相切包括:通过对由预定投影方向与三角片的边构成的投影平面与刀具曲面求交,确定圆环体部分在三角片模型上的投影点;确定圆环体部分在三角片模型上的投影点是否在所述三角片的边上;以及如果所述投影点在三角片的边上,则确定圆环体部分成功投影到三角片的边上。
在一个实施例中,三角片的三条边中有一条边与圆环体部分相切满足以下两个投影约束条件:圆环体部分上的切点处的法矢与所述边的向量垂直;以及所述切点位于所述投影平面内。
在一个实施例中,所述预定投影方向为刀轴方向,确定圆环体部分在三角片模型上的投影点包括:将所述两个投影约束条件转化为一元四次方程;以及求解所述一元四次方程的所有实根,以确定圆环体部分在三角片模型上的投影点。
在一个实施例中,求解所述一元四次方程包括:根据Abel–Ruffini理论和FerrariLodovico装置求解所述一元四次方程的所有实根。
在一个实施例中,所述预定投影方向为任意方向,确定圆环体部分在三角片模型上的投影点包括:将所述两个投影约束条件转化为一元八次方程;求解所述一元八次方程的所有实根;以及从求解到的所有实根中选择对应投影距离最短的实根作为圆环体部分在三角片模型上的投影点。
在一个实施例中,求解所述一元八次方程的所有实根包括:基于Bezier截断方法从所述一元八次方程中求得区间集合,所述集合中的每个区间只包含一个根;以及利用二分法从所述集合中求解所述一元八次方程的所有实根。
在一个实施例中,基于Bezier截断方法从所述一元八次方程中求得区间集合包括:求n次多项式fn(x)中变量x的范围x∈[a,b];将n次多项式fn(x)表示成n次Bernstein多项式p(t),t∈[0,1],并求Bernstein多项式的系数{bi};利用求得的系数{bi}来构造Bezier曲线t∈[0,1],其中d(t)表示Bernstein多项式p(t)上的点到t轴的距离,Di表示Bezier曲线D(t)的控制点;求Bezier曲线D(t)的最小凸包{Ai};求Bezier曲线D(t)的控制多边形{Di}及所述最小凸包{Ai}与t轴的交点,以得到关于t的初始解区间{[ti,ti+1]};优化初始解区间,以保证每个解区间有唯一根;以及输出优化后的解区间的集合作为所述区间集合。
在一个实施例中,优化初始解区间包括:对于每一个初始解区间[ti,ti+1],由公式x=a+(b-a)*t来计算x,以得到区间[xi,xi+1];将n次多项式fn(x)转换成n次Bernstein多项式p(t),并计算n次Bernstein多项式的系数{bi};如果Bernstein多项式的系数{bi}的正负符号变更次数大于或等于2,则去掉无根的区间,或者将包含两个或两个以上根的区间细分为多个子区间,以使得每个子区间只有一个根;如果Bernstein多项式的系数{bi}的符号变更次数为1,则输出Bernstein多项式的系数{bi}的符号变更次数为1的区间;以及如果Bernstein多项式的系数{bi}的符号变更次数为0,则对下一个初始解区间进行优化。
在一个实施例中,根据所述刀触点确定与所述驱动点相对应的刀位点包括:根据以下公式计算刀具坐标系下的刀位点:CL=CL0+dPPV,其中,CL表示刀具坐标系下的刀位点,CL0表示刀具坐标系下的初始刀位点,dP表示投影距离,以及PV表示投影方向。
根据本发明的第三方面,提供了一种加工轨迹生成装置。该装置包括:通信接口;至少一个处理器;以及存储器,所述存储器存储所述至少一个处理器可执行的指令,所述指令在被所述至少一个处理器执行时使得所述加工轨迹生成装置执行根据本发明的第一方面所述的方法。
根据本发明的第四方面,提供了一种计算机存储介质。该计算机存储介质存储有计算机可执行指令,所述计算机可执行指令在被加工轨迹生成装置的至少一个处理器执行时,使得所述加工轨迹生成装置执行根据本发明的第一方面所述的方法。
根据本发明的上述技术方案,本发明通过选择刀具与曲面投影距离最短的接触点作为刀触点来生成无干涉的加工轨迹,所生成的加工轨迹可适用于三轴数控加工、五轴数控加工以及任意工件表面的加工,并且可以采用APT刀具等任意适当的刀具。
附图说明
通过下面结合附图说明本发明的优选实施例,将使本发明的上述及其它目标、特征和优点更加清楚,其中:
图1示出了刀位面策略(CL-surface策略)的基本方法100的流程图。
图2示出了刀触点驱动的策略的基本方法200的流程图。
图3示出了基于投影的策略的基本方法300的流程图。
图4是示出了根据本发明的数控加工系统400的应用场景的示意图。
图5是示出了根据本发明实施例的数控加工系统400的示例操作500的时序图。
图6示出了根据本发明实施例的投影算法的示例原理图。
图7示出了根据本发明实施例的加工轨迹生成方法700的示意性流程图。
图8示出了根据本发明实施例的步骤S720的示例实现。
图9示出了根据本发明实施例的刀具向工件表面投影的示意图。
图10示出了根据本发明实施例的刀具向单个三角片投影的示意图。
图11示出了根据本发明实施例的APT刀具的一个示例结构。
图12示出了根据本发明实施例的步骤S730的示例实现。
图13示出了根据本发明实施例的步骤S1210确定圆环体部分是否成功投影到三角片的面上的示例实现。
图14示出了根据本发明实施例的步骤S1220确定圆环体部分成功投影到三角片的面上的投影点和对应的距离的示例实现。
图15示出了根据本发明实施例的圆环体部分向三角片的面投影的示例示意图。
图16和图17示出了根据本发明实施例的圆环体部分向三角片的边投影的示例示意图。
图18示出了根据本发明实施例的步骤S1230的示例实现。
图19示出了根据本发明实施的步骤S1810的示例实现。
图20示出了根据本发明实施例的步骤S1910的示例实现。
图21示出了根据本发明实施例的步骤S1910的另一示例实现。
图22示出了根据本发明实施例的步骤S2120的示例实现。
图23示出了根据本发明实施例的步骤S2210的示例实现。
图24示出了根据本发明实施例的通过两个相邻三角片的法矢来确定变量x的范围的示例示意图。
图25示出了根据本发明实施例的步骤S2320中的n次多项式转化为n次Bernstein多项式的示例示意图。
图26示出了根据本发明实施例的步骤S2330中的构造Bezier曲线的示例示意图。
图27示出了根据本发明实施例的步骤S2330中的最小凸包的示例形成示意图。
图28示出了根据本发明实施例的获得Bezier曲线D(t)的凸包顶点{Ai}的具体示例流程图。
图29示出了根据本发明实施例的图25中的Bezier曲线的控制多边形与图26中的最小凸包和t轴的交点示意图。
图30示出了根据本发明实施例的获得t的初始解区间{[ti,ti+1]}的具体示例流程图。
图31示出了根据本发明实施例的初始解区间的示例示意图。
图32示出了根据本发明实施例的优化初始解区间的示例流程图。
图33是示出了根据本发明实施例的加工轨迹生成装置3300的结构框图。
图34是示出了根据本发明实施例的加工轨迹生成装置3400的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施;例是示例性的,仅用于解;释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”到另一元件时,它可以直接连接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”可以包括无线连接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明提出了一种加工轨迹生成机制,用于生成无干涉的加工轨迹。该机制基于投影的策略中的投影算法的特点,针对用于生成加工轨迹的投影算法进行了设计。具体地,该投影算法被设计为选择刀具与三角片模型投影距离最短的接触点作为刀触点,由此来生成刀具加工轨迹。
图4是示出了根据本发明的数控加工系统400的应用场景的示意图。数控加工系统400可以用于三轴数控机床、五轴数控机床或任意工件表面的加工。如图4所示,数控加工系统400可以包括路径规划端410和加工控制端420。
路径规划端410用于根据待加工工件的三维模型在待加工工件的表面(下面简称为工件表面)规划出合理的刀具加工轨迹(简称为加工轨迹)。在本文中,加工轨迹主要涉及刀具的刀位点,即,可以通过确定刀位点来生成加工轨迹。具体地,路径规划端410首先要根据待加工工件的三维模型将工件表面离散成三角片模型,然后利用投影算法通过选择最短投影距离对应的刀具与三角片模型的接触点作为刀触点,最后根据刀触点确定对应的刀位点,由此生成加工轨迹。路径规划端410可以包括安装在其中的路径规划客户端(未示出)。例如,该路径规划客户端可以是浏览器或者其他适当的应用程序。用户可以通过路径规划客户端从待加工工件的三维模型中选择要进行加工的工件表面。路径规划客户端可以按照用户的选择规划出合理的刀具加工轨迹,并将所规划的刀具加工轨迹通知到加工控制端420,以控制刀具按照所规划的刀具加工轨迹来对待加工工件进行加工。例如,路径规划端410可以是手持计算机、膝上型计算机、平板电脑等具备三维模型分析和处理能力的任意设备。
加工控制端420用于加工待加工工件。具体地,加工控制端420可以控制刀具按照路径规划端410所生成的加工轨迹来加工待加工工件。加工控制端420可以是与数控系统(CNC)或者适用于在数控加工过程中控制加工轨迹的任意其他设备,包括但不限于与机床通信连接的计算机,例如移动电话、个人数字助理(PDA)、手持计算机、膝上型计算机、平板电脑等。
路径规划端410和加工控制端420既可以通过通信网络430相连,也可以集成在一起。通信网络430可以是有线的或无线的。具体地,通信网络430的示例可以包括(但不限于):有线电缆或光纤型网络、或者移动或蜂窝网络或WLAN(“无线局域网”,可能是802.11(或WiFi)或者WiMAX型的)、或者还可能是蓝牙型的无线短距离通信网络。
尽管图4将路径规划端410与加工控制端420示意为两个分离实体,然而本发明并不局限于此。例如,路径规划端410也可以是集成在加工控制端420上的具备三维模型分析和处理能力、同时可与用户交互的设备。例如,在加工控制端420实现在数控机床(CNC)上的情况下,路径规划端410也可以与加工控制端420集成在一起,作为数控机床(CNC)的一部分。
下面将主要以图4为例来说明本发明的总的发明构思。图5是示出了根据本发明实施例的数控加工系统400的示例操作500的时序图。
如图5所示,在框510,路径规划端410接收用户对待加工工件的三维模型中的工件表面的选择。具体地,路径规划端410可以接收用户对三维模型中要加工的工件表面的选择。例如,路径规划端410可以通过其自身的交互式界面向用户呈现待加工工件的三维模型,使得用户可以从三维模型中选择要进行路径规划的工件表面。备选地,路径规划端410也可以根据待加工工件的三维模型自动确定要进行加工的工件表面。
在框520,路径规划端410为所选择的要进行加工的工件表面规划出刀具加工轨迹(例如,具体包括刀具的刀位点)。具体地,路径规划端410可以选择最短投影距离对应的刀具与三角片模型的接触点作为刀触点,并根据由此得到的刀触点获得刀具的刀位点,从而生成无干涉的刀具加工轨迹。例如,路径规划端410可以设计用于生成该刀具加工轨迹的投影算法,该投影算法给出了刀具到三角片模型的投影原理。
图6示出了根据本发明实施例的投影算法的示例原理图。
如图6所示,对于给定的待加工工件,该投影算法首先根据待加工工件的三维模型确定其驱动面,然后在驱动面上规划驱动轨迹,驱动点为等距离分布在驱动轨迹上的一系列点,最后确定初始的刀轴方向。在确定刀具姿态后,这些驱动点的位置即为刀具的驱动位置。为了便于描述,在处于驱动位置时,刀具与工件表面无干涉。根据该投影算法,将刀具从驱动位置沿着预定投影方向向工件表面投影,所得到的投影点即为刀具加工轨迹上的刀触点。换句话说,假设在保持刀具姿态不变(即,仅平移而没有旋转)的情况下将刀具沿着预定投影方向朝待工件表面移动,直到刀具接触待工件表面并与工件表面相切,此时的切点即为刀触点。
此外,本发明利用三角片模型逼近来工件表面,以将刀具向工件表面投影简化为刀具向三角片模型投影,从而能够解决工件表面的曲面形状比较复杂的问题。
在框530,路径规划端410将得到的刀具加工轨迹发送到加工控制端420,例如通过通信网络430。
在框540,加工控制端420根据刀具加工轨迹来控制刀具加工出相应的工件表面。
图7示出了根据本发明实施例的加工轨迹生成方法700的示意性流程图。例如,加工轨迹生成方法700可以应用于三轴数控加工、五轴数控加工、任意工件表面的加工及任意APT刀具。加工轨迹生成方法700可以由图4的路径规划端410来执行,下面以此为例进行描述,然而应理解本发明不限于此。例如,加工轨迹生成方法700可以直接在数控系统(CNC)上实现。加工轨迹生成方法700可以包括步骤S710-S760,其中步骤S720-S750是针对在与待加工工件的表面对应的驱动面上规划的驱动轨迹上的每一个驱动点(例如如图6所示的刀具初始位置)确定对应的刀位点。
在步骤S710,路径规划端410根据待加工工件的三维模型将待加工工件的表面离散成三角片模型。该三角片模型可以由多个三角片构成。
具体而言,在满足给定的误差范围内,多边形网格模型可逼近工件表面的曲面模型,以解决工件表面的曲面形状比较复杂的问题,从而将刀具向工件表面投影问题简化为刀具向三角网格模型投影。这里需要说明的是,三角片模型是多边形网格的一种,多边形网格又被称为“Mesh”,是计算机图形学中用于为各种不规则物体建立模型的一种数据结构。现实世界中的物体表面直观上看都是由曲面构成的;而在计算机世界中,由于只能用离散的结构去模拟现实中连续的事物。所以现实世界中的曲面实际上在计算机里是由无数个小的多边形面片去组成的。这样的小面片的集合就被称作Mesh。Mesh既可以由三角形组成,也可以由其他平面形状如四边形,五边形等组成,由于平面多边形实际上也能再细分成三角形。所以,使用全由三角形组成的三角网格(Triangle Mesh)来表示物体表面也是具有一般性的。因此,本实施方式并不局限于使用三角片模型对工件表面进行建模,使用三角形外的其他多边形来对工件表面进行建模同样是可行的。
在步骤S720,路径规划端410确定刀具从驱动点沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片。预定投影方向可以为刀轴方向或预定义的其他任意方向。
图8示出了根据本发明实施例的步骤S720的示例实现。
如图8所示,在步骤S810,路径规划端410从驱动点沿预定投影方向对刀具建立包围盒。
包围盒是一种求解离散点集最优包围空间的算法,基本思想是用体积稍大且特性简单的几何体(称为包围盒),来近似地代替复杂的几何对象。例如,包围盒优选地可以是AABB盒(Axis-aligned bounding box),它被定义为包含该对象,且边平行于坐标轴的最小六面体。可以理解的是,本发明并不局限于AABB盒,其它常见的包围盒算法,例如包围球(Sphere)、方向包围盒OBB(Oriented bounding box)以及固定方向凸包FDH(Fixeddirections hulls或k-DOP)等,也同样适用于本发明。
在步骤S820,路径规划端410确定包围盒沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片。
图9示出了根据本发明实施例的刀具向工件表面投影的示意图。
如图9所示,路径规划端410将待加工工件的表面离散成由多个三角片构成的三角片模型(如图中所示的“离散后的三角片模型”),并从驱动点(刀具初始位置)沿预定投影方向对刀具建立AABB盒,由此确定包围盒沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片,如图中所示的“筛选后的三角片模型”。
图10示出了根据本发明实施例的刀具向单个三角片投影的示意图。
如图10所示,刀具向单个三角片投影可以包括刀具的每一个部分向三角片的面投影、刀具的每一个部分向三角片的边投影、以及刀具的每一个部分向三角片的顶点投影。刀具的任一部分成功投影到三角片的面、边或顶点上的投影点可以视为刀具与三角片的接触点,即,刀触点。应理解,尽管图10中将刀具示意为APT刀具,然而应理解本发明并不局限于APT刀具,任意其他适当的刀具也适用于本发明。
在一个实现方式中,刀具可以包括两个或多个几何组成部分,例如圆锥体部分(包括圆柱体部分)和圆环体部分。这里,我们所提到的刀具的几何组成部分主要涉及刀具的有效切削部分,即用于进行加工(例如切削)的部分或者与待加工工件的表面直接接触的部分。
图11示出了根据本发明实施例的APT刀具的一个示例结构。
如图11(b)所示,该APT刀具的有效切削区域包含上部的圆锥体部分、中部的圆环体部分和下部的圆锥体部分。如图11(a)所示,该APT刀具的圆环体部分的圆心为(d,h),刀具的刀杆长度H、刀具切削长度L、尖角A1、侧端角A2、直径D、圆弧部分半径R。
以图11所示的APT刀具为例,步骤S720可以实现为路径规划端410确定刀具的各个有效切削部分从驱动点沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片。
回到图7,在步骤S730,路径规划端410针对投影所覆盖的一个或多个三角片中的每一个三角片,确定刀具成功投影到该三角片上的投影点和对应的投影距离。
图12示出了根据本发明实施例的步骤S730的示例实现。
在步骤S1210,路径规划端410确定刀具是否有一个几何组成部分成功投影到三角片的面上。
如果在步骤S1210确定了刀具中有一个几何组成部分成功投影到三角片的面上,则加工轨迹生成方法700前进到步骤S1220。如果否,则加工轨迹生成方法700前进道步骤S1230。
例如,路径规划端410可以按照自下而上的顺序考虑刀具的各个有效切削部分是否成功投影到三角片的面上。以图11所示的APT刀具为例,路径规划端410可以先看下部圆锥体是否成功投影到三角片的面上,再看中部圆环体是否成功投影到三角片的面上,最后看上部圆锥体是否成功投影到三角片的面上。在这个过程中,只要确定了有一个部分成功投影到了三角片的面上,则加工轨迹生成方法700前进到步骤S1220,而不再考虑其他部分。当然,路径规划端410也可以按照自上而下以外的顺序来考虑刀具的各个有效切削部分是否成功投影到三角片的面上。
在步骤S1220,路径规划端410确定该几何组成部分成功投影到三角片的面上的投影点和对应的距离。
由于圆锥体部分的数据表达式为2次方程,所以路径规划端410可以采用各种已知方法来确定圆锥体部分成功投影到三角片的面上的投影点和对应的距离,所以这里不再进行赘述。对于圆环体部分而言,由于它的数学表达式为4次方方程,因此圆环体部分投影到三角片上比较困难。下面将主要描述如何确定圆环体部分是否成功投影到三角片的面上以及如何确定圆环体部分成功投影到三角片的面上的投影点和对应的距离。
图13示出了根据本发明实施例的步骤S1210确定圆环体部分是否成功投影到三角片的面上的示例实现。
如图13所示,在步骤S1310,路径规划端410确定圆环体部分上是否有一个点处的法矢与该三角片的法矢互为相反数。
如果圆环体部分上有一个点处的法矢与三角片的法矢互为相反数,则加工轨迹生成方法700前进到步骤S1320。如果否,即,刀具中没有几何组成部分成功投影到三角片的面上,加工轨迹生成方法700前进到步骤S1230。
在步骤S1320,路径规划端410确定圆环体部分上法矢与该三角片的法矢互为相反数的点沿预定投影方向投影到三角片的面上的点是否在该三角片的面上。如果是,则加工轨迹生成方法700前进到S1330,否则前进到步骤S1230。
在步骤S1330,路径规划端410确定该圆环体部分成功投影到三角片的面上。
图14示出了根据本发明实施例的步骤S1220确定圆环体部分成功投影到三角片的面上的投影点和对应的距离的示例实现。
在步骤S1410,路径规划端410根据圆环体部分上法矢与三角片的法矢互为相反数的点,确定该点沿预定投影方向投影到三角片的面上的点作为圆环体部分成功投影到三角片的面上的投影点。由此,路径规划端410可以相应地确定刀具初始位置(即,驱动点)到该投影点之间的距离。
图15示出了根据本发明实施例的圆环体部分向三角片的面投影的示例示意图。
在这种情况下,路径规划端410可以根据初始刀位点CL0(即,驱动点)、刀轴方向TA(0,0,1)、投影方向PV、刀具信息TS及三角片信息TF(例如,图15所示的三角片的三个顶点P1、P2、P3),计算刀触点CC和投影距离dp。具体地,路径规划端410将工件坐标系WCS下面的法矢NF转化到刀具坐标系CCS下,然后计算刀具坐标系CCS下的刀具偏置矢量O,即CCS下的点CC0,最后在刀具坐标系CCS下将过点CC0沿投影方向的直线与三角片求交,以得到刀具坐标系CCS下的CC点和投影距离dP。如果CC点位于三角片的内部,即表明该圆环体部分成功投影到三角片的面上,则CC点为圆环体部分成功投影到三角片的面上的投影点,dP为相应的投影距离。
回到图12,如果在步骤S1210确定了刀具中没有几何组成部分成功投影到三角片的面上,则加工轨迹生成方法700前进到步骤S1230。
在步骤S1230,路径规划端410确定刀具中是否有一个几何组成部分成功投影到三角片的边上。
如果在步骤S1230确定了刀具中有一个几何组成部分成功投影到三角片的边上,则加工轨迹生成方法700前进到步骤S1240。
例如,路径规划端410可以按照自下而上的顺序考虑刀具的各个有效切削部分是否成功投影到三角片的边上。以图11所示的APT刀具为例,路径规划端410可以先看下部圆锥体是否成功投影到三角片的边上,再看中部圆环体是否成功投影到三角片的边上,最后看上部圆锥体是否成功投影到三角片的边上。在这个过程中,只要确定了有一个部分成功投影到了三角片的边上,则加工轨迹生成方法700前进到步骤S1240,而不再考虑其他部分。当然,路径规划端410也可以按照自上而下以外的顺序来考虑刀具的各个有效切削部分是否成功投影到三角片的边上。
在步骤S1240,路径规划端410确定该几何组成部分成功投影到三角片的边上的投影点和对应的距离。
由于圆锥体部分的数据表达式为2次方程,所以路径规划端410可以采用各种已知方法来确定圆锥体部分成功投影到三角片的边上的投影点和对应的距离,所以这里不再进行赘述。对于圆环体部分而言,由于它的数学表达式为4次方方程,因此圆环体部分投影到三角片上比较困难。下面将主要描述如何确定圆环体部分是否成功投影到三角片的边上以及如何确定圆环体部分成功投影到三角片的边上的投影点和对应的距离。
图16和图17示出了根据本发明实施例的圆环体部分向三角片的边投影的示例示意图。
图16示出了工件坐标系WCS和刀具坐标系CCS。如图16所示,路径规划端410可以由投影方向PV和三角片的边向量V确定投影平面。
如图17所示,投影平面可以由边向量V(Vx,Vy,Vz)和投影方向PV(Ux,Uy,Uz)决定,边的两个顶点可以表示为P1(Px,Py,Pz),圆环体部分可由圆心(d,h)和角度(α,θ)来描述。
圆环体部分上的任意一点PT可以表示为:
其中,
圆环体部分上任意一点PT的法矢为NT,可以表示为:
投影平面的法矢NP可由边的向量V和投影向量PV决定:
图18示出了根据本发明实施例的步骤S1230的示例实现。
如图18所示,在步骤S1810,路径规划端410确定三角片的三条边中是否有一条边与圆环体部分相切。如果有一条边与圆环体部分相切,则方法前进到步骤S1820,否则前进到步骤S1250。
在步骤S1820,路径规划端410确定圆环体部分成功投影到三角片的边上。
图19示出了根据本发明实施的步骤S1810的示例实现。
在步骤S1910,路径规划端410通过对由预定投影方向与三角片的边构成的投影平面与刀具曲面求交,来确定圆环体部分在三角片模型上的投影点。
在步骤S1920,路径规划端410确定圆环体部分在三角片模型上的投影点是否在该三角片的边上。如果是,则加工轨迹生成方法700前进到步骤S1930,否则该方法前进到步骤S1250。
在步骤S1930,路径规划端410确定圆环体部分成功投影到三角片的边上。
在本示例实现中,三角片的三条边中有一条边与圆环体部分相切满足以下两个投影约束条件:圆环体部分上的切点处的法矢与该边的向量垂直;以及切点位于投影平面内。这两个投影约束条件可以分别由如下投影约束方程来表示:
NT·V=0 (4)
(PT-P1)·NP=0 (5)
以上两个投影约束方程均为关于变量α和θ的两个非线性方程,联立两个方程即可得到一个关于角度θ的非线性方程:
(S1 2-1)(d(VzS2-UzS1)+Q)2+r2((UxVx+UyVy+UzVz)S1-S2)2=0 (6),
其中S1=cos(θ)Vy-sin(θ)Vx,S2=cos(θ)Uy-sin(θ)Ux,以及
Q=hUxVy-hUyVx-PxUyVz+PxUzVy+PyUxVz-PyUzVx-PzUxVy+PzUyV1
图20示出了根据本发明实施例的步骤S1910的示例实现。在本示例实现中,预定投影方向为刀轴方向。
如图20所示,在步骤S2010,路径规划端410将上述两个投影约束条件转化为一元四次方程。也就是说,当PV(Ux,Uy,Uz)为刀轴方向TA(0,0,1)时,方程(6)中的变量S2=0,则方程(6)可化简为一个关于变量S1的一元四次方程,如下所示:
(S1 2-1)(d(-UzS1)+Q)2+R2((UxVx+UyVy+UzVz)S1)2=0 (7)。
在步骤S2020,路径规划端410求解该一元四次方程的所有实根,以确定圆环体部分在三角片模型上的投影点。
例如,步骤S2020可以根据Abel–Ruffini理论和Ferrari Lodovico方法求解该一元四次方程(7)的所有实根,进而得到投影点。
这将刀具沿刀轴方向的投影转化为对一个一元四次方程的直接求解,从而避免了采用数值迭代,提高了计算效率。
图21示出了根据本发明实施例的步骤S1910的另一示例实现。在本示例实现中,预定投影方向为任意方向。
如图21所示,在步骤S2110,路径规划端410将如方程(4)和(5)所表示的上述两个投影约束条件转化为一元八次方程。
具体地,当刀具沿任意方向投影时,即,PV(Ux,Uy,Uz)为任意方向时,可以利用三角函数的万能公式,用替换系数ai(i=0,1,2...8),以得到如下所示的一元八次方程。
f(x)=a8x8+a7x7+a5x5+a4x4+a3x3+a2x2+a1x+a0 (8)
在步骤S2120,路径规划端410求解该一元八次方程的所有实根。
在步骤S2130,路径规划端410从求解到的所有实根中选择对应投影距离最短的实根作为圆环体部分在三角片模型上的投影点。
图22示出了根据本发明实施例的步骤S2120的示例实现。
在步骤S2210,路径规划端410基于Bezier截断方法从该一元八次方程中求得区间集合。该集合中的每个区间只包含一个根。
在步骤S2220,路径规划端410利用二分法从该集合中求解该一元八次方程的所有实根。
图23示出了根据本发明实施例的步骤S2210的示例实现。
在步骤S2310,路径规划端410求n次多项式fn(x)中变量x的范围x∈[a,b]。
由几何关系可知,如果圆环体部分向三角片的边投影成功,则切点在圆弧上对应的法矢的反方向一定位于三角片模型上的两个相邻三角片的法矢的之间。
图24示出了根据本发明实施例的通过两个相邻三角片的法矢来确定变量x的范围的示例示意图。
首先定义NF1和NF2分别为这两个相邻三角片的法矢。假设α1和θ1为表示法矢NF1的参数,α2和θ2为表示法矢NF2的参数,则可以得到:
那么,在NF1和NF2已知的情况下,可以求得角度α1122,相应地路径规划端410可以通过求出变量x的范围。
回到图23,在步骤S2320,路径规划端410将n次多项式fn(x)表示成n次Bernstein多项式p(t),t∈[0,1],并求Bernstein多项式的系数{bi}。
图25示出了根据本发明实施例的步骤S2320中的n次多项式转化为n次Bernstein多项式的示例示意图。
在步骤S2330,路径规划端410利用求得的系数{bi}来构造Bezier曲线t∈[0,1],其中d(t)表示Bernstein多项式p(t)上的点到t轴的距离,Di表示Bezier曲线D(t)的控制点。
图26示出了根据本发明实施例的步骤S2330中的构造Bezier曲线的示例示意图。
回到图23,在步骤S2340,路径规划端410求Bezier曲线D(t)的最小凸包{Ai}。
图27示出了根据本发明实施例的步骤S2330中的最小凸包的示例形成示意图。
如图27所示,路径规划端410可以根据Bezier曲线D(t)的控制点{Di},i=0,1...,n,来获得Bezier曲线D(t)的凸包顶点{Ai}。
图28示出了根据本发明实施例的获得Bezier曲线D(t)的凸包顶点{Ai}的具体示例流程图。
在步骤S2810,路径规划端410比较所有控制点的t的值,选出t值最大的点,记为A0。如果有多个点的t值相等,取在这些点中取d(t)值最大的点为A0,方向与纵轴正向一致的射线记为L0,如图27(a)所示。
在步骤S2820,路径规划端410依次以Ai为开始点,让Li逆时针旋转,在所有控制点中找一点Ai+1,使得以Ai为始点且过Ai+1的射线与射线Li之间的夹角最小,记这条射线为Li+1(i=0,1…n)。
接下来,路径规划端410重复步骤S2820,直到找到某个An=A0,这时A1,A2,…An就是凸包的全部顶点。
在步骤S2830,路径规划端410按凸包全部顶点的索引由小到大顺序连线,从而形成最小凸包,如图27(b)所示。
回到图23,在步骤S2350,路径规划端410求Bezier曲线D(t)的控制多边形{Di}及最小凸包{Ai}与t轴的交点,以得到关于t的初始解区间{[ti,ti+1]}。
图29示出了根据本发明实施例的图25中的Bezier曲线的控制多边形与图26中的最小凸包和t轴的交点示意图。
下面将结合图29来具体描述如何根据Bezier曲线的控制点{Di}及凸包顶点{Ai}来获得初始解区间{[ti,ti+1]}。
图30示出了根据本发明实施例的获得t的初始解区间{[ti,ti+1]}的具体示例流程图。
在步骤S3010,路径规划端410判断控制多边形的每一条边DiDi+1与t轴是否相交,以及如果相交,则求出交点的参数tDi。以图29为例,D3D4与t轴相交,则对应的交点的参数为tD3
在步骤S3020,路径规划端410判断最小凸包的每一条边AiAi+1与t轴是否相交,以及如果相交,求出其交点的参数tAi。以图29为例,A3A4与t轴相交,则对应的交点的参数为tA3
在步骤S3030,路径规划端410将步骤3010和步骤3020求得的交点参数按从小到大的顺序排序,每两个参数形成一个区间,则可得到对应的初始区间[t0,t1],[t1,t2]…。
回到图23,在步骤S2360,路径规划端410优化初始解区间,以保证每个解区间有唯一根。
图31示出了根据本发明实施例的初始解区间的示例示意图。
在初始解区间内,Bezier曲线有可能与t轴不相交,或者不止一个交点,如图31所示在区间[t0,t1]有一个根,在区间[t1,t2]内有两个根,在区间[t2,t3]内无根,因此需要对解区间进行优化。
图32示出了根据本发明实施例的优化初始解区间的示例流程图。
在步骤S3210,路径规划端410对于每一个初始解区间[ti,ti+1],由公式x=a+(b-a)*t来计算x,以得到区间[xi,xi+1]。
在步骤S3220,路径规划端410将n次多项式fn(x)转换成n次Bernstein多项式p(t),并计算n次Bernstein多项式的系数{bi}。
在步骤S3230,路径规划端410对Bernstein多项式的系数{bi}的符号进行判断。具体地,路径规划端410判断Bernstein多项式的系数{bi}的正负符号变更了多少次。例如,Bernstein多项式的系数{bi}为{-1,1,1,2,-1},那么系统的正负符号变更了2次,即,从{-1}变更为{1}和从{2}变更为{-1}。
如果Bernstein多项式的系数{bi}的正负符号变更次数大于或等于2,则方法前进到步骤S3240;如果Bernstein多项式的系数{bi}的符号变更次数为1,则方法前进到步骤S3250;以及如果Bernstein多项式的系数{bi}的符号变更次数为0,则方法前进到步骤S3260。
在步骤S3240,Bernstein多项式的系数{bi}的正负符号变更次数大于或等于2,则路径规划端410去掉无根的区间,或者将包含两个或两个以上根的区间细分为多个子区间,以使得每个子区间只有一个根。
在步骤S3250,路径规划端410输出Bernstein多项式的系数{bi}的符号变更次数为1的区间。
具体地,对于可能包含两个根或者无根的区间优化,如果Bernstein系数{bi}符号改变两次,则凸包与t轴相交。由于控制点的作用是将样条曲线拉着接近控制点,因此可以根据区间[α,β]上的最高或者最低控制点将区间分成两部分。如果第一个控制点b0>0,则找最低控制点及其对应参数γ。如果第一个控制点b0<0,则找最高控制点及其对应参数γ。将区间[α,β]分为[α,γ]和[γ,β],计算区间[α,γ]上的Bernstein系数{bi]1和区间[γ,β]上的Bernstein系数{bi}2
如果系数{bi}1和系数{bi}2均不变号,则求解方程在[α,γ]和[γ,β]内无根,因此在区间[α,β]无根。
如果系数{bi}1和系数{bi}2中至少有一个变号一次,表明至少有一个根。
如果系数{bi}1变号一次,系数{bi}2不变号,表明在区间[α,γ]有一个根。
如果系数{bi}1不变号,系数{bi}2变号一次,表明在区间[γ,β]有一个根。
如果系数{bi}1变号一次,系数{bi}2变号一次,则表明在区间[α,γ]和区间[γ,β]内各有一个根。
如果系数{bi}1和系数{bi}2中至少有一个变号两次,都需要进一步细分区间。
如果系数{bi}1变号两次,系数{bi}2不满足,则对区间[α,γ]细分。
如果系数{bi}1不满足,系数{bi}2变号两次,则对区间[γ,β]细分。
如果系数{bi}1变号两次,系数{bi}2变号两次,则对区间[α,γ]和区间[γ,β]内作一个判断,对包含根可能性大的区间优先细分。
在步骤S3260,路径规划端410对下一个初始解区间进行优化。
回到图23,在步骤S2370,路径规划端410输出优化后的解区间的集合作为该区间集合。
例如,路径规划端410可以将可能包含两个根或者无根的区间[α,β]上的最高或者最低控制点将区间分成两部分后,基于符号变更法则,考虑凸包与t轴相交的特性,不断细分区间进行判断,最终输出包含一个根的区间和无根的区间。
上述参考图21-32所描述的方法将刀具沿任意方向的投影转化为采用Bezier截断的方法来求得仅包含一个实根的解区间并利用二分法求得一元八次方程的所有实根,进而计算投影点,以得到加工轨迹。这能够提高投影算法的灵活性,使得投影算法更加适用于五轴加工,能够保证加工轨迹的均匀和规律性。
回到图12,在步骤S1250,路径规划端410确定刀具中是否有一个几何组成部分成功投影到三角片的顶点上。
如果在步骤S1250确定了刀具中有一个几何组成部分成功投影到三角片的顶点上,则加工轨迹生成方法700前进到步骤S1260。
在步骤S1260,路径规划端410确定该顶点为投影点。由此,路径规划端410就能够确定相应的投影距离。
如果在步骤S1250确定了刀具中没有一个几何组成部分成功投影到三角片的顶点上,加工轨迹生成方法700回到步骤S1210,以针对下一个三角片执行步骤S1210-S1260。
回到图7,在步骤S740,路径规划端410确定刀具成功投影到一个或多个三角片中的每一个三角片上的投影点中投影距离最小的投影点作为与驱动点相对应的刀触点。如上所述,步骤S730是在给定驱动点(刀具初始位置)的情况下针对刀具从驱动点沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片中的每一个三角片而执行的,所以刀具针对每一个三角片都可能有一个成功投影的投影点,步骤S740是确定这些投影点中投影距离最小的那一个投影点作为与驱动点相对应的刀触点。
在步骤S750,路径规划端410根据刀触点确定与驱动点相对应的刀位点。
例如,路径规划端410可以根据以下公式计算刀具坐标系下的刀位点:
CL=CL0+dPPV
其中,CL表示刀具坐标系下的刀位点,CL0表示刀具坐标系下的初始刀位点(即,驱动点),dP表示投影距离,以及PV表示投影方向。
在步骤S760,路径规划端410根据待加工工件的表面对应的驱动面上的每一个驱动点对应的刀位点生成待加工工件的表面的加工轨迹。
如上所述,步骤S720-S750是针对在与待加工工件的表面对应的驱动面上规划的驱动轨迹上的每一个驱动点(例如如图6所示的刀具初始位置)确定对应的刀位点。步骤S760根据每一个驱动点对应的刀位点来确定待加工工件的表面的加工轨迹。
利用加工轨迹生成方法700,本发明通过选择最短投影距离相对应的刀具与三角片模型的接触点作为刀触点,以生成无干涉(即,无过切)的加工轨迹,适用于三轴或五轴数控加工以及任意工件表面的加工,并且可以利用任意APT刀具。此外,本发明提出了将刀具向三角片的面投影以及向三角片的边投影的原理,将刀触点的计算集中于刀具坐标系CCS下,然后转化到工件坐标系WCS下,这能够提高投影效率。
图33是示出了根据本发明实施例的加工轨迹生成装置3300的结构框图。加工轨迹生成装置3300可以应用于三轴数控加工、五轴数控加工、任意工件表面的加工及任意APT刀具。加工轨迹生成装置3300既可以实现在图4的路径规划端410或数控系统(CNC)上,也可以执行加工轨迹生成方法700。如图33所示,加工轨迹生成装置3300包括离散单元3310、刀位点确定单元3320和生成单元3330。
在一个实现方式中,确定刀具从驱动点沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片包括:从驱动点沿预定投影方向对刀具建立包围盒;以及确定包围盒沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片。
在一个实现方式中,该包围盒为AABB盒。
在一个实现方式中,刀具包括两个或多个几何组成部分,确定刀具成功投影到三角片上的投影点和对应的投影距离包括:确定两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的面上;以及如果确定两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的面上,则确定几何组成部分成功投影到三角片的面上的投影点和对应的距离。
在一个实现方式中,确定刀具成功投影到三角片上的投影点和对应的投影距离包括:如果确定两个或多个几何组成部分中没有几何组成部分成功投影到三角片的面上,则确定两个或多个几何组成部分是否有一个几何组成部分成功投影到三角片的边上;以及如果确定两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的边上,则确定几何组成部分成功投影到三角片的边上的投影点和对应的距离。
在一个实现方式中,确定刀具成功投影到三角片上的投影点和对应的投影距离包括:如果确定两个或多个几何组成部分中没有几何组成部分成功投影到三角片的边上,则确定两个或多个几何组成部分是否有一个几何组成部分成功投影到三角片的顶点上;以及如果确定两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的顶点上,则确定顶点为投影点。
在一个实现方式中,两个或多个几何组成部分包括圆环体部分,以及确定两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的面上包括:确定圆环体部分上是否有一个点处的法矢与三角片的法矢互为相反数;如果圆环体部分上有一个点处的法矢与三角片的法矢互为相反数,则确定圆环体部分上法矢与三角片的法矢互为相反数的点沿预定投影方向投影到三角片的面上的点是否在三角片的面上;以及如果圆环体部分上法矢与三角片的法矢互为相反数的点沿预定投影方向投影到三角片的面上的点在三角片的面上,则确定圆环体部分成功投影到三角片的面上。
在一个实现方式中,确定几何组成部分成功投影到三角片的面上的投影点和对应的距离包括:根据圆环体部分上法矢与三角片的法矢互为相反数的点,确定点沿预定投影方向投影到三角片的面上的点作为圆环体部分成功投影到三角片的面上的投影点。
在一个实现方式中,两个或多个几何组成部分包括圆环体部分,以及确定两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的边上包括:确定三角片的三条边中是否有一条边与圆环体部分相切;以及如果三角片的三条边中有一条边与圆环体部分相切,则确定圆环体部分成功投影到三角片的边上。
在一个实现方式中,确定三角片的三条边中是否有一条边与圆环体部分相切包括:通过使得对预定投影方向与三角片的边构成的投影平面与刀具曲面求交,确定圆环体部分在三角片模型上的投影点;确定圆环体部分在三角片模型上的投影点是否在三角片的边上;以及如果投影点在三角片的边上,则确定圆环体部分成功投影到三角片的边上。
在一个实现方式中,三角片的三条边中有一条边与圆环体部分相切满足以下两个投影约束条件:圆环体部分上的切点处的法矢与边的向量垂直;以及切点位于投影平面内。
在一个实现方式中,预定投影方向为刀轴方向,确定圆环体部分在三角片模型上的投影点包括:将两个投影约束条件转化为一元四次方程;以及求解一元四次方程的所有实根,以确定圆环体部分在三角片模型上的投影点。
在一个实现方式中,求解一元四次方程包括:根据Abel–Ruffini理论和FerrariLodovico装置求解一元四次方程的所有实根。
在一个实现方式中,预定投影方向为任意方向,确定圆环体部分在三角片模型上的投影点包括:将两个投影约束条件转化为一元八次方程;求解一元八次方程的所有实根;以及从求解到的所有实根中选择对应投影距离最短的实根作为圆环体部分在三角片模型上的投影点。
在一个实现方式中,求解一元八次方程的所有实根包括:基于Bezier截断方法从一元八次方程中求得区间集合,集合中的每个区间只包含一个根;以及利用二分法从集合中求解一元八次方程的所有实根。
在一个实现方式中,基于Bezier截断方法从一元八次方程中求得区间集合包括:求n次多项式fn(x)中变量x的范围x∈[a,b];将n次多项式fn(x)表示成n次Bernstein多项式p(t),t∈[0,1],并求Bernstein多项式的系数{bi};利用求得的系数{bi}来构造Bezier曲线t∈[0,1],其中d(t)表示Bernstein多项式p(t)上的点到t轴的距离,Di表示Bezier曲线D(t)的控制点;求Bezier曲线D(t)的最小凸包{Ai};求Bezier曲线D(t)的控制多边形{Di}及最小凸包{Ai}与t轴的交点,以得到关于t的初始解区间{[ti,ti+1]};优化初始解区间,以保证每个解区间有唯一根;以及输出优化后的解区间的集合作为区间集合。
在一个实现方式中,优化初始解区间包括:对于每一个初始解区间[ti,ti+1],由公式x=a+(b-a)*t来计算x,以得到区间[xi,xi+1];将n次多项式fn(x)转换成n次Bernstein多项式p(t),并计算n次Bernstein多项式的系数{bi};如果Bernstein多项式的系数{bi}的正负符号变更次数大于或等于2,则去掉无根的区间,或者将包含两个或两个以上根的区间细分为多个子区间,以使得每个子区间只有一个根;如果Bernstein多项式的系数{bi}的符号变更次数为1,则输出Bernstein多项式的系数{bi}的符号变更次数为1的区间;以及如果Bernstein多项式的系数{bi}的符号变更次数为0,则对下一个初始解区间进行优化。
在一个实现方式中,根据刀触点确定与驱动点相对应的刀位点包括:根据以下公式计算刀具坐标系下的刀位点:CL=LC0+dPPV,其中,CL表示刀具坐标系下的刀位点,CL0表示刀具坐标系下的初始刀位点,dP表示投影距离,以及PV表示投影方向。
图34是示出了根据本发明实施例的加工轨迹生成装置3400的结构框图。加工轨迹生成装置3400可以应用于三轴数控加工、五轴数控加工、任意工件表面的加工及任意APT刀具。例如,加工轨迹生成装置3400可以是手持计算机、膝上型计算机、平板电脑等具备三维模型分析和处理能力的任意设备。加工轨迹生成装置3400既可以实现在图4的路径规划端410或数控系统(CNC)上,也可以执行加工轨迹生成方法700。
如图34所示,加工轨迹生成装置3400包括:通信接口3410、处理器3420(例如CPU)和存储器3430。为了便于说明,图34中示意性地示出了一个处理器。然而,本领域技术人员应理解加工轨迹生成装置3400也可以包括两个或多个处理器。
通信接口3410用于与外部通信。例如通信接口3410可以是Ethernet(以太网,注册商标)接口。加工轨迹生成装置3400可以通过通信接口3410,使用一定的通信协议与加工控制端420进行通信。通信接口3410也可以供用户与加工轨迹生成装置3400进行直接通信。例如,通信接口3410也可以是输入设备(例如键盘、鼠标等)和输出设备(例如显示器),向用户呈现待加工工件的三维模型,使得用户可以从三维模型中选择要进行路径规划的工件表面。
存储器3430存储处理器3420可执行的指令,使得加工轨迹生成装置3400执行结合图7-32所描述的加工轨迹生成方法700。
本发明还提供至少一个具有非易失性或易失性存储器形式的计算机存储介质,例如电可擦除可编程只读存储器(EEPROM)、闪存和硬盘驱动,存储有计算机可执行指令。计算机可执行指令在被处理器执行时使得加工轨迹生成装置执行例如之前结合图7-32描述的过程的动作。
处理器可以是单个CPU(中央处理器),但是也可以包括两个或更多个处理器。例如,处理器可以包括通用微处理器;指令集处理器和/或相关芯片集和/或专用微处理器(例如,专用集成电路(ASIC))。处理器也可以包括用于高速缓存目的的板载存储器。例如,计算机存储介质可以是闪存、随机存取存储器(RAM)、只读存储器(ROM)或EEPROM。
本技术领域技术人员可以理解,本发明包括涉及用于执行本发明中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明所公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (38)

1.一种加工轨迹生成方法,包括:
根据待加工工件的三维模型将待加工工件的表面离散成三角片模型,所述三角片模型由多个三角片构成;
针对在与待加工工件的表面对应的驱动面上规划的驱动轨迹上的每一个驱动点,
确定刀具从所述驱动点沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片;
针对所述一个或多个三角片中的每一个三角片,确定刀具成功投影到三角片上的投影点和对应的投影距离;
确定刀具成功投影到所述一个或多个三角片中的每一个三角片上的投影点中投影距离最小的投影点作为与所述驱动点相对应的刀触点;以及
根据所述刀触点确定与所述驱动点相对应的刀位点;以及
根据待加工工件的表面对应的驱动面上的每一个驱动点对应的刀位点生成待加工工件的表面的加工轨迹。
2.根据权利要求1所述的加工轨迹生成方法,其中,确定刀具从所述驱动点沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片包括:
从所述驱动点沿预定投影方向对刀具建立包围盒;以及
确定所述包围盒沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片。
3.根据权利要求2所述的加工轨迹方法,其中,所述包围盒为AABB盒。
4.根据权利要求1-3任意一项所述的加工轨迹生成方法,其中,所述刀具包括两个或多个几何组成部分,确定刀具成功投影到三角片上的投影点和对应的投影距离包括:
确定所述两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的面上;以及
如果确定所述两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的面上,则确定所述几何组成部分成功投影到三角片的面上的投影点和对应的距离。
5.根据权利要求4所述的加工轨迹生成方法,其中确定刀具成功投影到三角片上的投影点和对应的投影距离包括:
如果确定所述两个或多个几何组成部分中没有几何组成部分成功投影到三角片的面上,则确定所述两个或多个几何组成部分是否有一个几何组成部分成功投影到三角片的边上;以及
如果确定所述两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的边上,则确定所述几何组成部分成功投影到三角片的边上的投影点和对应的距离。
6.根据权利要求5所述的加工轨迹生成方法,其中,确定刀具成功投影到三角片上的投影点和对应的投影距离包括:
如果确定所述两个或多个几何组成部分中没有几何组成部分成功投影到三角片的边上,则确定所述两个或多个几何组成部分是否有一个几何组成部分成功投影到三角片的顶点上;以及
如果确定所述两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的顶点上,则确定所述顶点为投影点。
7.根据权利要求4至6中任一项所述的加工轨迹生成方法,其中,所述两个或多个几何组成部分包括圆环体部分,以及确定所述两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的面上包括:
确定圆环体部分上是否有一个点处的法矢与所述三角片的法矢互为相反数;
如果圆环体部分上有一个点处的法矢与所述三角片的法矢互为相反数,则确定圆环体部分上法矢与所述三角片的法矢互为相反数的点沿预定投影方向投影到三角片的面上的点是否在所述三角片的面上;以及
如果圆环体部分上法矢与所述三角片的法矢互为相反数的点沿预定投影方向投影到三角片的面上的点在所述三角片的面上,则确定所述圆环体部分成功投影到三角片的面上。
8.根据权利要求7所述的加工轨迹生成方法,其中,确定所述几何组成部分成功投影到三角片的面上的投影点和对应的距离包括:
根据圆环体部分上法矢与所述三角片的法矢互为相反数的点,确定所述点沿预定投影方向投影到三角片的面上的点作为圆环体部分成功投影到三角片的面上的投影点。
9.根据权利要求5或6所述的加工轨迹生成方法,其中,所述两个或多个几何组成部分包括圆环体部分,以及确定所述两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的边上包括:
确定三角片的三条边中是否有一条边与圆环体部分相切;以及
如果三角片的三条边中有一条边与圆环体部分相切,则确定圆环体部分成功投影到三角片的边上。
10.根据权利要求9所述的加工轨迹生成方法,其中,确定三角片的三条边中是否有一条边与圆环体部分相切包括:
通过对由预定投影方向与三角片的边构成的投影平面与刀具曲面求交,确定圆环体部分在三角片模型上的投影点;
确定圆环体部分在三角片模型上的投影点是否在所述三角片的边上;以及
如果所述投影点在三角片的边上,则确定圆环体部分成功投影到三角片的边上。
11.根据权利要求10所述的加工轨迹生成方法,其中,三角片的三条边中有一条边与圆环体部分相切满足以下两个投影约束条件:
圆环体部分上的切点处的法矢与所述边的向量垂直;以及
所述切点位于所述投影平面内。
12.根据权利要求11所述的加工轨迹生成方法,其中,所述预定投影方向为刀轴方向,确定圆环体部分在三角片模型上的投影点包括:
将所述两个投影约束条件转化为一元四次方程;以及
求解所述一元四次方程的所有实根,以确定圆环体部分在三角片模型上的投影点。
13.根据权利要求12所述的加工轨迹生成方法,其中,求解所述一元四次方程包括:
根据Abel–Ruffini理论和Ferrari Lodovico方法求解所述一元四次方程的所有实根。
14.根据权利要求11所述的加工轨迹生成方法,其中,所述预定投影方向为任意方向,确定圆环体部分在三角片模型上的投影点包括:
将所述两个投影约束条件转化为一元八次方程;
求解所述一元八次方程的所有实根;以及
从求解到的所有实根中选择对应投影距离最短的实根作为圆环体部分在三角片模型上的投影点。
15.根据权利要求14所述的加工轨迹生成方法,其中,求解所述一元八次方程的所有实根包括:
基于Bezier截断方法从所述一元八次方程中求得区间集合,所述集合中的每个区间只包含一个根;以及
利用二分法从所述集合中求解所述一元八次方程的所有实根。
16.根据权利要求15所述的加工轨迹生成方法,其中,基于Bezier截断方法从所述一元八次方程中求得区间集合包括:
求n次多项式fn(x)中变量x的范围x∈[a,b];
将n次多项式fn(x)表示成n次Bernstein多项式p(t),t∈[0,1],并求Bernstein多项式的系数{bi};
利用求得的系数{bi}来构造Bezier曲线t∈[0,1],其中d(t)表示Bernstein多项式p(t)上的点到t轴的距离,Di表示Bezier曲线D(t)的控制点;
求Bezier曲线D(t)的最小凸包{Ai};
求Bezier曲线D(t)的控制多边形{Di}及所述最小凸包{Ai}与t轴的交点,以得到关于t的初始解区间{[ti,ti+1]};
优化初始解区间,以保证每个解区间有唯一根;以及
输出优化后的解区间的集合作为所述区间集合。
17.根据权利要求16所述的加工轨迹生成方法,其中,优化初始解区间包括:
对于每一个初始解区间[ti,ti+1],由公式x=a+(b-a)*t来计算x,以得到区间[xi,xi+1];
将n次多项式fn(x)转换成n次Bernstein多项式p(t),并计算n次Bernstein多项式的系数{bi};
如果Bernstein多项式的系数{bi}的正负符号变更次数大于或等于2,则去掉无根的区间,或者将包含两个或两个以上根的区间细分为多个子区间,以使得每个子区间只有一个根;
如果Bernstein多项式的系数{bi}的符号变更次数为1,则输出Bernstein多项式的系数{bi}的符号变更次数为1的区间;以及
如果Bernstein多项式的系数{bi}的符号变更次数为0,则对下一个初始解区间进行优化。
18.根据权利要求1至17中任一项所述的加工轨迹生成方法,其中,根据所述刀触点确定与所述驱动点相对应的刀位点包括:
根据以下公式计算刀具坐标系下的刀位点:
CL=CL0+dPPV
其中,CL表示刀具坐标系下的刀位点,CL0表示刀具坐标系下的初始刀位点,dP表示投影距离,以及PV表示投影方向。
19.一种加工轨迹生成装置,包括:
离散单元,被配置为根据待加工工件的三维模型将待加工工件的表面离散成三角片模型,所述三角片模型由多个三角片构成;
刀位点确定单元,被配置为针对在与待加工工件的表面对应的驱动面上规划的驱动轨迹上的每一个驱动点,
确定刀具从所述驱动点沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片;
针对所述一个或多个三角片中的每一个三角片,确定刀具成功投影到三角片上的投影点和对应的投影距离;
确定刀具成功投影到所述一个或多个三角片中的每一个三角片上的投影点中投影距离最小的投影点作为与所述驱动点相对应的刀触点;以及
根据所述刀触点确定与所述驱动点相对应的刀位点;以及
生成单元,被配置为根据待加工工件的表面对应的驱动面上的每一个驱动点对应的刀位点生成待加工工件的表面的加工轨迹。
20.根据权利要求19所述的加工轨迹生成装置,其中,确定刀具从所述驱动点沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片包括:
从所述驱动点沿预定投影方向对刀具建立包围盒;以及
确定所述包围盒沿预定投影方向到三角片模型上的投影所覆盖的一个或多个三角片。
21.根据权利要求20所述的加工轨迹装置,其中,所述包围盒为AABB盒。
22.根据权利要求19-21任意一项所述的加工轨迹生成装置,其中,所述刀具包括两个或多个几何组成部分,确定刀具成功投影到三角片上的投影点和对应的投影距离包括:
确定所述两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的面上;以及
如果确定所述两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的面上,则确定所述几何组成部分成功投影到三角片的面上的投影点和对应的距离。
23.根据权利要求22所述的加工轨迹生成装置,其中确定刀具成功投影到三角片上的投影点和对应的投影距离包括:
如果确定所述两个或多个几何组成部分中没有几何组成部分成功投影到三角片的面上,则确定所述两个或多个几何组成部分是否有一个几何组成部分成功投影到三角片的边上;以及
如果确定所述两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的边上,则确定所述几何组成部分成功投影到三角片的边上的投影点和对应的距离。
24.根据权利要求23所述的加工轨迹生成装置,其中,确定刀具成功投影到三角片上的投影点和对应的投影距离包括:
如果确定所述两个或多个几何组成部分中没有几何组成部分成功投影到三角片的边上,则确定所述两个或多个几何组成部分是否有一个几何组成部分成功投影到三角片的顶点上;以及
如果确定所述两个或多个几何组成部分中有一个几何组成部分成功投影到三角片的顶点上,则确定所述顶点为投影点。
25.根据权利要求22至24中任一项所述的加工轨迹生成装置,其中,所述两个或多个几何组成部分包括圆环体部分,以及确定所述两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的面上包括:
确定圆环体部分上是否有一个点处的法矢与所述三角片的法矢互为相反数;
如果圆环体部分上有一个点处的法矢与所述三角片的法矢互为相反数,则确定圆环体部分上法矢与所述三角片的法矢互为相反数的点沿预定投影方向投影到三角片的面上的点是否在所述三角片的面上;以及
如果圆环体部分上法矢与所述三角片的法矢互为相反数的点沿预定投影方向投影到三角片的面上的点在所述三角片的面上,则确定所述圆环体部分成功投影到三角片的面上。
26.根据权利要求25所述的加工轨迹生成装置,其中,确定所述几何组成部分成功投影到三角片的面上的投影点和对应的距离包括:
根据圆环体部分上法矢与所述三角片的法矢互为相反数的点,确定所述点沿预定投影方向投影到三角片的面上的点作为圆环体部分成功投影到三角片的面上的投影点。
27.根据权利要求23或24所述的加工轨迹生成装置,其中,所述两个或多个几何组成部分包括圆环体部分,以及确定所述两个或多个几何组成部分中是否有一个几何组成部分成功投影到三角片的边上包括:
确定三角片的三条边中是否有一条边与圆环体部分相切;以及
如果三角片的三条边中有一条边与圆环体部分相切,则确定圆环体部分成功投影到三角片的边上。
28.根据权利要求27所述的加工轨迹生成装置,其中,确定三角片的三条边中是否有一条边与圆环体部分相切包括:
通过对由预定投影方向与三角片的边构成的投影平面与刀具曲面求交,确定圆环体部分在三角片模型上的投影点;
确定圆环体部分在三角片模型上的投影点是否在所述三角片的边上;以及
如果所述投影点在三角片的边上,则确定圆环体部分成功投影到三角片的边上。
29.根据权利要求28所述的加工轨迹生成装置,其中,三角片的三条边中有一条边与圆环体部分相切满足以下两个投影约束条件:
圆环体部分上的切点处的法矢与所述边的向量垂直;以及
所述切点位于所述投影平面内。
30.根据权利要求29所述的加工轨迹生成装置,其中,所述预定投影方向为刀轴方向,确定圆环体部分在三角片模型上的投影点包括:
将所述两个投影约束条件转化为一元四次方程;以及
求解所述一元四次方程的所有实根,以确定圆环体部分在三角片模型上的投影点。
31.根据权利要求30所述的加工轨迹生成装置,其中,求解所述一元四次方程包括:
根据Abel–Ruffini理论和Ferrari Lodovico装置求解所述一元四次方程的所有实根。
32.根据权利要求29所述的加工轨迹生成装置,其中,所述预定投影方向为任意方向,确定圆环体部分在三角片模型上的投影点包括:
将所述两个投影约束条件转化为一元八次方程;
求解所述一元八次方程的所有实根;以及
从求解到的所有实根中选择对应投影距离最短的实根作为圆环体部分在三角片模型上的投影点。
33.根据权利要求32所述的加工轨迹生成装置,其中,求解所述一元八次方程的所有实根包括:
基于Bezier截断方法从所述一元八次方程中求得区间集合,所述集合中的每个区间只包含一个根;以及
利用二分法从所述集合中求解所述一元八次方程的所有实根。
34.根据权利要求33所述的加工轨迹生成装置,其中,基于Bezier截断方法从所述一元八次方程中求得区间集合包括:
求n次多项式fn(x)中变量x的范围x∈[a,b];
将n次多项式fn(x)表示成n次Bernstein多项式p(t),t∈[0,1],并求Bernstein多项式的系数{bi};
利用求得的系数{bi}来构造Bezier曲线t∈[0,1],其中d(t)表示Bernstein多项式p(t)上的点到t轴的距离,Di表示Bezier曲线D(t)的控制点;
求Bezier曲线D(t)的最小凸包{Ai};
求Bezier曲线D(t)的控制多边形{Di}及所述最小凸包{Ai}与t轴的交点,以得到关于t的初始解区间{[ti,ti+1]};
优化初始解区间,以保证每个解区间有唯一根;以及
输出优化后的解区间的集合作为所述区间集合。
35.根据权利要求34所述的加工轨迹生成装置,其中,优化初始解区间包括:
对于每一个初始解区间[ti,ti+1],由公式x=a+(b-a)*t来计算x,以得到区间[xi,xi+1];
将n次多项式fn(x)转换成n次Bernstein多项式p(t),并计算n次Bernstein多项式的系数{bi};
如果Bernstein多项式的系数{bi}的正负符号变更次数大于或等于2,则去掉无根的区间,或者将包含两个或两个以上根的区间细分为多个子区间,以使得每个子区间只有一个根;
如果Bernstein多项式的系数{bi}的符号变更次数为1,则输出Bernstein多项式的系数{bi}的符号变更次数为1的区间;以及
如果Bernstein多项式的系数{bi}的符号变更次数为0,则对下一个初始解区间进行优化。
36.根据权利要求19至35中任一项所述的加工轨迹生成装置,其中,根据所述刀触点确定与所述驱动点相对应的刀位点包括:
根据以下公式计算刀具坐标系下的刀位点:
CL=CL0+dPPV
其中,CL表示刀具坐标系下的刀位点,CL0表示刀具坐标系下的初始刀位点,dP表示投影距离,以及PV表示投影方向。
37.一种加工轨迹生成装置,包括:
通信接口;
至少一个处理器;以及
存储器,所述存储器存储所述至少一个处理器可执行的指令,所述指令在被所述至少一个处理器执行时使得所述加工轨迹生成装置执行根据权利要求1至18中任一项所述的方法。
38.一种计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令在被加工轨迹生成装置的至少一个处理器执行时,使得所述加工轨迹生成装置执行根据权利要求1至18中任一项所述的方法。
CN201711382957.7A 2016-12-23 2017-12-20 加工轨迹生成方法及相应装置 Active CN108363357B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201611205764X 2016-12-23
CN201611205764.XA CN106774145A (zh) 2016-12-23 2016-12-23 一种用于生成无干涉的五轴加工轨迹的投影算法

Publications (2)

Publication Number Publication Date
CN108363357A true CN108363357A (zh) 2018-08-03
CN108363357B CN108363357B (zh) 2020-04-03

Family

ID=58919877

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201611205764.XA Pending CN106774145A (zh) 2016-12-23 2016-12-23 一种用于生成无干涉的五轴加工轨迹的投影算法
CN201711382957.7A Active CN108363357B (zh) 2016-12-23 2017-12-20 加工轨迹生成方法及相应装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201611205764.XA Pending CN106774145A (zh) 2016-12-23 2016-12-23 一种用于生成无干涉的五轴加工轨迹的投影算法

Country Status (1)

Country Link
CN (2) CN106774145A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109712240A (zh) * 2018-12-13 2019-05-03 华中科技大学 一种适用于增材制造的曲面分层方法
WO2021000720A1 (zh) * 2019-06-30 2021-01-07 华中科技大学 一种基于点云边界构建小曲率零件机器人加工路径曲线的方法
TWI742981B (zh) * 2021-01-06 2021-10-11 財團法人工業技術研究院 加工路徑過切分析方法
CN116661374A (zh) * 2023-07-27 2023-08-29 泉州华中科技大学智能制造研究院 基于三轴联动控制的鞋模加工方法、装置及可读介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107283220A (zh) * 2017-08-07 2017-10-24 哈尔滨电机厂有限责任公司 整体模型转轮二次定位数控加工工艺方法
CN109521731B (zh) * 2017-09-19 2021-07-30 沈阳高精数控智能技术股份有限公司 一种基于公差带的G2连续Bézier刀具轨迹平滑算法
CN109343468B (zh) * 2018-10-25 2020-07-14 华中科技大学 一种基于投影偏置的叶片多轴轨迹生成方法
CN110456730B (zh) * 2019-07-25 2021-05-11 上海拓璞数控科技股份有限公司 用于双五轴镜像铣设备的防碰撞系统和方法
CN113311782B (zh) * 2021-04-14 2022-08-05 沃飞长空科技(成都)有限公司 一种用于复合材料加工的曲面轨迹规划方法及装置
CN113867257B (zh) * 2021-08-25 2023-06-09 上海航天精密机械研究所 回转类舱体孔特征的加工排序方法及系统
CN113942014B (zh) * 2021-11-08 2023-08-01 北京华航唯实机器人科技股份有限公司 轨迹生成方法及轨迹生成装置、机器人设备、存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101109944A (zh) * 2007-08-23 2008-01-23 上海交通大学 五轴数控加工光滑无干涉刀具路径的规划方法
WO2008135656A1 (fr) * 2007-03-20 2008-11-13 Snecma Procédé de réparation de pièces usinées telles que des aubes de turbomachines ou des pales de dam
CN103744349A (zh) * 2013-10-08 2014-04-23 华中科技大学 一种平头立铣刀加工过渡曲面的无干涉刀具路径生成方法
WO2014188085A1 (fr) * 2013-05-22 2014-11-27 Coriolis Software Procede de definition de trajectoires de fibre a partir de courbes ou grille de contrainte
CN104331023A (zh) * 2014-10-30 2015-02-04 华侨大学 一种用于五轴数控加工的等残留高度刀触点轨迹的生成及优化处理方法
CN104525668A (zh) * 2014-11-12 2015-04-22 常州工学院 一种多点成形加工曲面的冲头调形方法
CN105759717A (zh) * 2016-04-25 2016-07-13 华中科技大学 一种用于五轴数控加工的刀具轨迹防过切的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008135656A1 (fr) * 2007-03-20 2008-11-13 Snecma Procédé de réparation de pièces usinées telles que des aubes de turbomachines ou des pales de dam
CN101109944A (zh) * 2007-08-23 2008-01-23 上海交通大学 五轴数控加工光滑无干涉刀具路径的规划方法
WO2014188085A1 (fr) * 2013-05-22 2014-11-27 Coriolis Software Procede de definition de trajectoires de fibre a partir de courbes ou grille de contrainte
CN103744349A (zh) * 2013-10-08 2014-04-23 华中科技大学 一种平头立铣刀加工过渡曲面的无干涉刀具路径生成方法
CN104331023A (zh) * 2014-10-30 2015-02-04 华侨大学 一种用于五轴数控加工的等残留高度刀触点轨迹的生成及优化处理方法
CN104525668A (zh) * 2014-11-12 2015-04-22 常州工学院 一种多点成形加工曲面的冲头调形方法
CN105759717A (zh) * 2016-04-25 2016-07-13 华中科技大学 一种用于五轴数控加工的刀具轨迹防过切的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
林俊锋 等: ""复杂三角网格模型分治加工刀具轨迹生成"", 《计算机辅助设计与图形学学报》 *
钟国宇 等: ""面向三角网格模型数控加工的研究现状分析"", 《机床与液压》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109712240A (zh) * 2018-12-13 2019-05-03 华中科技大学 一种适用于增材制造的曲面分层方法
CN109712240B (zh) * 2018-12-13 2020-10-02 华中科技大学 一种适用于增材制造的曲面分层方法
WO2021000720A1 (zh) * 2019-06-30 2021-01-07 华中科技大学 一种基于点云边界构建小曲率零件机器人加工路径曲线的方法
US11200351B2 (en) 2019-06-30 2021-12-14 Huazhong University Of Science And Technology Method for constructing curve of robot processing path of part with small curvature based on point cloud boundary
TWI742981B (zh) * 2021-01-06 2021-10-11 財團法人工業技術研究院 加工路徑過切分析方法
US11654522B2 (en) 2021-01-06 2023-05-23 Industrial Technology Research Institute Method for analyzing overcutting defect of machining process
CN116661374A (zh) * 2023-07-27 2023-08-29 泉州华中科技大学智能制造研究院 基于三轴联动控制的鞋模加工方法、装置及可读介质
CN116661374B (zh) * 2023-07-27 2023-10-27 泉州华中科技大学智能制造研究院 基于三轴联动控制的鞋模加工方法、装置及可读介质

Also Published As

Publication number Publication date
CN108363357B (zh) 2020-04-03
CN106774145A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN108363357A (zh) 加工轨迹生成方法及相应装置
CN103901818B (zh) 计算机辅助制造装置、产品形状加工方法及存储介质
Held et al. A smooth spiral tool path for high speed machining of 2D pockets
CN100435055C (zh) 五轴数控加工光滑无干涉刀具路径的规划方法
Jun et al. Optimizing tool orientations for 5-axis machining by configuration-space search method
Marshall et al. A survey of cutter path construction techniques for milling machines
CN108415365B (zh) 一种基于轮廓中轴线的型腔高效螺旋铣削刀具路径规划方法
Xu et al. A mapping-based spiral cutting strategy for pocket machining
CN109597354B (zh) 一种三角网格模型的多约束数控加工轨迹生成方法
CN109597357A (zh) 一种面向叶片旋铣工艺的数控编程方法及装置
Lu et al. Tool path generation for five-axis machining of blisks with barrel cutters
Karunakaran et al. Octree-based NC simulation system for optimization of feed rate in milling using instantaneous force model
CN105785919A (zh) 点云五轴无全局干涉刀轴矢量可行域计算方法
S. Pande et al. A generative process planning system for parts produced by rapid prototyping
Oropallo et al. Generating point clouds for slicing free-form objects for 3-D printing
Luo et al. Optimal tool orientation generation and chip volume/cutting force predictions for 5-axis CNC machining of curved surfaces using flat-end mills
Kudabalage et al. Postprocessor for five-axis machining of STL surfaces based on Nagata interpolation and optimization of rotation angles
CN105929792B (zh) 点云模型五轴无局部干涉刀轴偏角范围计算方法
JP2629759B2 (ja) 数値制御加工用データ生成方法
CN111506016B (zh) 一种数控系统中基于g68.2的平面加工的cam处理方法
Grimm et al. Adaptive smooth surface fitting with manifolds
José Legaz Computer aided ship design: a brief overview
Jiang et al. An accurate modeling method for the HGM hypoid gear
Hazony et al. Seamless design-to-manufacture of marine propulsers: A case study for rapid response machining
Chaudhary et al. Isophote Based Tool Path Planning Strategy for Sculptured Surface CNC Machining

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