CN112783084B - 一种曲线加工方法及数控系统 - Google Patents

一种曲线加工方法及数控系统 Download PDF

Info

Publication number
CN112783084B
CN112783084B CN202110003861.5A CN202110003861A CN112783084B CN 112783084 B CN112783084 B CN 112783084B CN 202110003861 A CN202110003861 A CN 202110003861A CN 112783084 B CN112783084 B CN 112783084B
Authority
CN
China
Prior art keywords
curve
node
curvature
inflection point
midpoint
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
Application number
CN202110003861.5A
Other languages
English (en)
Other versions
CN112783084A (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.)
Shenzhen Han's Smart Control Technology Co ltd
Han s Laser Technology Industry Group Co Ltd
Original Assignee
Shenzhen Han's Smart Control Technology Co ltd
Han s Laser Technology Industry Group Co Ltd
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 Shenzhen Han's Smart Control Technology Co ltd, Han s Laser Technology Industry Group Co Ltd filed Critical Shenzhen Han's Smart Control Technology Co ltd
Priority to CN202110003861.5A priority Critical patent/CN112783084B/zh
Publication of CN112783084A publication Critical patent/CN112783084A/zh
Application granted granted Critical
Publication of CN112783084B publication Critical patent/CN112783084B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

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

本发明公开了一种曲线加工方法及数控系统,所述加工方法包括步骤:对曲线轨迹进行预处理,确定各拐点的节点值;求出各拐点在预设弓高误差限制下的插补速度;根据预设曲线长度计算公式,求出各拐点之间的曲线长度;根据各拐点的插补速度及各拐点之间的曲线长度,规划出曲线插补速度;将曲线插补速度发送至加工执行装置,使加工执行装置根据曲线插补速度进行曲线加工。本发明通过在插补前通过找到曲线的所有拐点,并求出拐点处满足精度要求下的速度,结合速度规划模型,使得针对曲线的加工能够平稳快速地进行,并同时达到精度和效率的要求。

Description

一种曲线加工方法及数控系统
技术领域
本发明涉及数控技术领域,特别涉及一种曲线加工方法及数控系统。
背景技术
目前,数控机床在工作过程中,根据实际加工需求需要加工不同种类的曲线,包括已知的规则曲线和自由曲线。针对规则曲线,能够根据曲线类型构建合理的数学模型,并在加工过程中,求出每周期插补坐标来完成对曲线的加工。
针对自由曲线,由于无法精确的对曲线形态做数学建模,所以传统的做法是由CAM系统来对加工曲线做预处理,把复杂曲线或曲面按精度要求离散成大量直线段,再针对直线段做插补加工。大量的理论以及实际实验结果表明,这种采用大量直线段逼近复杂自由曲线的方法在实际加工过程中存在很多不足。例如,直线段连接处加工角度变化易造成加工速度剧烈波动,加工速度不连续会引起震动并对机床造成冲击,曲线数据量大会影响加工效率等。同时,由于直线逼近的性质势必会带来较大的误差,所以当提高加工精度时,加工速度必然会受到影响,无法满足加工精度和加工速度一致的要求。
因而现有技术还有待改进和提高。
发明内容
鉴于上述现有技术的不足之处,本发明提供一种曲线加工方法,针对曲线的加工能够平稳快速,并同时达到精度和效率的要求。
本发明采取了以下技术方案:
一种曲线加工方法,包括步骤:
对曲线轨迹进行预处理,确定各拐点的节点值;
求出各拐点在预设弓高误差限制下的插补速度;
根据预设曲线长度计算公式,求出各拐点之间的曲线长度;
根据各拐点的插补速度及各拐点之间的曲线长度,规划出曲线插补速度;
将曲线插补速度发送至加工执行装置,使加工执行装置根据曲线插补速度进行曲线加工。
所述的曲线加工方法中,所述对曲线轨迹进行预处理,确定各拐点的节点值的步骤具体包括:
根据NURBS方法对曲线轨迹进行处理并得到曲线轨迹方程;
对曲线轨迹进行第一次查找,确定存在拐点的节点区间;
对存在拐点的节点区间进行第二次查找,确定拐点的节点值。
所述的曲线加工方法中,所述对曲线轨迹进行第一次查找,确定存在拐点的节点区间的步骤具体包括:
将曲线轨迹划分为多个节点区间;
根据预设曲率计算公式,得出各节点区间内的节点曲率变化情况;
当某一节点区间内存在节点曲率上升后再下降的情况,则判断所述节点区间存在拐点。
所述的曲线加工方法中,所述对存在拐点的节点区间进行第二次查找,确定拐点的节点值的步骤包括:
A、将存在拐点的节点区间根据中点进行划分;
B、根据预设曲率计算公式,计算中点以及中点两侧节点的曲率大小;
C、若当前节点区间的中点曲率大于等于中端点曲率点两侧节点的曲率,则初步将中点视为拐点;
若当前节点区间的中点曲率小于等于中点左侧节点的曲率,且中点曲率大于等于中点右侧节点的曲率,则划分后的中点左侧节点区间存在拐点,重复步骤A-C;
若当前节点区间的中点曲率大于等于中点左侧节点的曲率,且中点曲率小于等于中点右侧节点的曲率,则划分后的中点右侧节点区间存在拐点,重复步骤A-C。
所述的曲线加工方法中,所述对曲线轨迹进行第一次查找,确定存在拐点的节点区间的步骤还包括:
根据预设曲率计算公式,计算各节点区间端点及端点两侧节点的曲率大小;
若某一端点存在左侧节点曲率上升且右侧节点曲率下降的情况,则确定所述端点为拐点。
所述的曲线加工方法中,在根据各拐点的插补速度及各拐点之间的曲线长度,规划出曲线插补速度的步骤之后,还包括步骤:
通过泰勒一阶展开式反算插补节点值,得出与曲线插补速度对应的曲线插补距离。
所述的曲线加工方法中,所述拐点为曲线轨迹的分段曲线中曲率极大值的节点。
所述的曲线加工方法中,所述预设曲线长度计算公式为Simpson公式。
一种计算机可读存储介质,其存储有计算机可执行指令,所述计算机可执行指令设置为执行如以上任意一项所述的曲线加工方法。
一种数控系统,所述数控系统与加工执行装置通信连接,且所述数控系统包括处理器以及存储器,所述存储器存储有可被所述处理器执行的指令,以使所述处理器执行如以上任意一项所述的曲线加工方法。
相较于现有技术,本发明提供的一种曲线加工方法及数控系统,在插补前通过找到曲线的所有拐点,并求出拐点处满足精度要求下的速度,结合速度规划模型,使得针对曲线的加工能够平稳快速地进行,并同时达到精度和效率的要求。
附图说明
图1为本发明提供的一种曲线加工方法流程图。
图2为本发明提供的一种曲线加工方法中步骤S100的流程图。
图3为本发明提供的一种曲线加工方法具体实施例中的自由曲线示意图。
图4为本发明提供的一种曲线加工方法中步骤S120的流程图。
图5为本发明提供的一种曲线加工方法中步骤S130的流程图。
图6为本发明提供的一种曲线加工方法具体实施例中的弓高误差的定义图。
图7为本发明提供的一种数控系统的结构框图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,在没有进一步叙述的情况下,一个实施方式中的元件、结构和特征也可以有益地结合到其他实施方式中。
在本发明的描述中,需要说明的是,术语“上”、“下”、“底”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
请参阅图1,为本发明提供的一种曲线加工方法的流程图,所述曲线加工方法包括步骤:
S100、对曲线轨迹进行预处理,确定各拐点的节点值;
S200、求出各拐点在预设弓高误差限制下的插补速度;
S300、根据预设曲线长度计算公式,求出各拐点之间的曲线长度;
S400、根据各拐点的插补速度及各拐点之间的曲线长度,规划出曲线插补速度;
S500、将曲线插补速度发送至加工执行装置,使加工执行装置根据曲线插补速度进行曲线加工。
其中,所述拐点为曲线轨迹的分段曲线中曲率极大值的节点。
本发明采用对自由曲线直接求解的方法来解决直线拟合逼近自由曲线存在的问题。由于自由曲线轨迹形态复杂,所以在插补前,本发明首先对轨迹形态做预处理,找出曲线轨迹的分段曲线中曲率极大值的节点作为拐点。拐点处由于曲率变化大,为了能够满足精度要求,速度必然要降低,因此是实际加工过程中需要特别注意的节点。所以,本发明提供的技术方案可在插补前找到曲线的所有拐点,并求出拐点处满足精度要求下的速度,结合速度规划模型,使整段曲线的加工能够平稳快速,达到精度和效率的一致要求。
在进一步的实施例中,请参阅图2,针对S100、对曲线轨迹进行预处理,确定各拐点的节点值,该步骤具体包括:
S110、根据NURBS方法对曲线轨迹进行处理并得到曲线轨迹方程;
S120、对曲线轨迹进行第一次查找,确定存在拐点的节点区间;
S130、对存在拐点的节点区间进行第二次查找,确定拐点的节点值。
其中,NURBS(Non-Uniform Rational B-Splines,非均匀有理B样条曲线曲面)方法是在贝齐尔方法、B样条方法基础上发展起来的国际标准中通用的工业产品几何形状数学定义方法。NURBS方法为自由曲线和曲面的精确表示与设计提供了一个公共的数学形式,可以通过改变参数方程中的控制顶点和权因子来灵活的改变曲线形状,并且计算稳定、快速,能够满足数控加工中实时性的要求。
请结合图3,为本发明一具体实施例中的自由曲线示意图,针对该自由曲线得到的NURBS曲线方程如下:
Figure BDA0002882169990000061
式中,wi(i=0,1,...,n)称为权或权因子,分别与控制顶点di(i=0,1,...,n)相联系;首末权因子w0,wn>0,其余wi≥0,且顺序k个权因子不同时为0;Ni,k(u)是由节点矢量U=[u0,u1,...,un+k+1]按德布尔-考克斯递推公式决定的k次规范B样条基函数。对于NURBS开曲线,常将两端节点的重复度取为k+1,即u0=u1=...=uk,un+1=un+2=...=un+k+1,且端节点值取为0和1。
在进一步的实施例中,请参阅图4,针对S120、对曲线轨迹进行第一次查找,确定存在拐点的节点区间,该步骤具体包括:
S121、将曲线轨迹划分为多个节点区间;
S122、根据预设曲率计算公式,得出各节点区间内的节点曲率变化情况;
S123、当某一节点区间内存在节点曲率上升后再下降的情况,则判断所述节点区间存在拐点。
其中,得到曲线方程后,假设已知曲线的控制顶点、节点和权重,那么通过曲线数学定义可划分多个节点区间。进行实际运算时,在节点区间内可设置合理的节点间隔,方便系统快速准确的计算并得到节点区间内的节点曲率变化情况。
在对曲线拐点进行第一次查找的过程中,遵循任意节点区间内至多存在一个曲率极大值和一个曲率极小值原则,以被划分好的节点区间为基础,可通过求出区间两端点及其相邻节点的曲率值大小,通过比较其大小来确定当前节点区间内曲率变化情况,从而确定当前节点区间内是否存在节点曲率上升再下降的情况,即是否存在曲率极大值的拐点。
本实施例中曲率计算公式如下:
Figure BDA0002882169990000071
式中,k(u)为曲线的曲率,p'(u),p”(u)分别为曲线上节点u所确定的点的一阶导数和二阶导数。
NURBS导数根据数学推导直接求导,避免计算机在迭代过程中出错。一阶导公式如下:
Figure BDA0002882169990000072
二阶导公式如下:
Figure BDA0002882169990000073
其中,基函数一阶导数公式如下:
Figure BDA0002882169990000074
基函数二阶导数公式如下:
Figure BDA0002882169990000075
通过上述曲率计算公式,可得到各节点区间左右端点及其相邻节点的曲率值大小,进而可以比较出端点曲率持平、上升和下降三种情况,然后可把各个节点区间的曲率变化情况,即曲线形态分为以下九种:
①左端点曲率持平且右端点曲率持平:遍历整个节点区间的节点后曲率均持平,则节点区间内不存在曲率极大值点;
②左端点曲率持平且右端点曲率上升:从左端点处以预设微邻域步长增长向右查找节点曲率,当找到曲率上升的节点后,记录曲线形态为左端点曲率上升且右端点曲率上升形态,具体分析参照⑧;
③左端点曲率持平且右端点曲率下降:从左端点处以预设微邻域步长增长向右计算节点曲率,当找到曲率上升的节点后,则从当前节点到右端点处的节点区间内必然存在曲率极大值点;当找到曲率下降的节点后,具体分析参照⑥;
④左端点曲率下降且右端点曲率持平:从右端点处以微邻域步长增长向左计算节点曲率,当找到曲率上升的节点后,则节点区间不存在极大值点;当找到曲率下降的节点后,具体分析参照⑥;
⑤左端点曲率下降且右端点曲率上升:节点区间不存在曲率极大值点;
⑥左端点曲率下降且右端点曲率下降:从左端点处以预设微邻域步长增长向右计算节点曲率,若存在节点曲率上升趋势,则从当前节点到右端点处的节点区间内存在曲率极大值点;否则节点区间不存在曲率极大值点;
⑦左端点曲率上升且右端点曲率持平:从右端点处以微邻域步长增长向左计算节点曲率,若存在节点曲率上升趋势,具体分析参照⑧,若存在节点曲率下降趋势,则从左端点到当前节点的节点区间内必然存在极大值点;
⑧左端点曲率上升且右端点曲率上升:从左端点处以预设微邻域步长增长向右计算节点曲率,若存在节点曲率下降趋势,则从左端点到当前节点的节点区间内存在曲率极大值点;否则节点区间不存在曲率极大值点;
⑨左端点曲率上升且右端点曲率下降:节点区间存在曲率存在极大值点。
并且,请继续参阅图4,所述步骤S120还包括步骤:
S124、根据预设曲率计算公式,计算各节点区间端点及端点两侧节点的曲率大小;
S125、若某一端点存在左侧节点曲率上升且右侧节点曲率下降的情况,则确定所述端点为曲率极大值点。
通过步骤S124和步骤S125,可以对步骤S120进行补充,防止遗漏各个节点区间的端点存在曲率极大值点的情况,具体分析方法同上。并且,以上所求曲率极大值点即为曲线的拐点。
在进一步的实施例中,请参阅图5,针对S130、对存在拐点的节点区间进行第二次查找,确定拐点的节点值,该步骤具体包括:
S131、将存在拐点的节点区间根据中点进行划分;
S132、根据预设曲率计算公式,计算中点以及中点两侧节点的曲率大小;
S133、若当前节点区间的中点曲率大于等于中点两侧节点的曲率,则初步将中点视为拐点。
S134、若当前节点区间的中点曲率小于等于中点左侧节点的曲率,且中点曲率大于等于中点右侧节点的曲率,则划分后的中点左侧节点区间存在拐点,重复步骤S131-S133;
S135、若当前节点区间的中点曲率大于等于中点左侧节点的曲率,且中点曲率小于等于中点右侧节点的曲率,则划分后的中点右侧节点区间存在拐点,重复步骤S131-S133。
具体来说,将存在拐点的节点区间根据中点进行划分后,该节点区间即分为中点左侧的节点区间、中点以及中点右侧的节点区间。然后计算中点及其左右两侧相隔预设微邻域的节点的曲率值,若是发现中点的曲率值大于等于中点两侧节点的曲率,则拐点位于中点及其两侧节点所确定的区间内,并可初步确定中点是拐点;若不是,则拐点位于中点左侧的节点区间或中点右侧的节点区间内,并对该区间进行下一轮中点划分及判断,直到找到拐点。
进一步的,请继续参阅图5,步骤S130还包括:
S136、计算步骤S133中得到的中点两侧节点的曲率差值,并与预设误差差值进行比较;
S137、若中点两侧节点的曲率差值小于预设误差差值,则确定中点是拐点;
S138、若中点两侧节点的曲率差值大于预设误差差值,则继续对中点两侧节点确定的节点区间查找拐点,直到查找到符合精度要求的拐点。
并且,在步骤S138中,对于中点的左右侧节点确定的节点区间,可在其中点两侧以比预设微邻域更小的第二预设微邻域确定节点,然后再进行曲率计算,即重复步骤S131-步骤S137,直到得到的节点区间的中点的左右两侧节点的曲率差值小于预设误差差值,此时即可确定当前节点区间的中点为拐点。
在进一步的实施例中,请继续参阅图1,对于S200、求出各拐点在预设弓高误差限制下的插补速度,该步骤的具体计算方法如下:
当找到拐点后,利用根据实际加工需求确定的弓高误差来限制插补速度。如图6所示,曲线上存在点Pi与Pi+1,P1是曲线上点Pi与Pi+1连线的中点,P2是弧PiPi+1的中点,P3是节点值为
Figure BDA0002882169990000101
处的点。那么P1P2即为弓高误差,在弓高误差限制下的插补速度公式为:
Figure BDA0002882169990000102
式中,r(u)为曲率半径,δ(u)为弓高误差。实际加工过程中,弓高误差δ(u)为人为设定的精度值。
在进一步的实施例中,对于S300、根据预设曲线长度计算公式,求出各拐点之间的曲线长度,该步骤的具体计算方法如下:
根据曲线加工过程中速度规划的需求,需要知道两个相邻拐点间的曲线长度。在本实施中,利用Simpson法则(辛普森公式,辛普森公式是牛顿-科特斯公式当n=2时的情形,也称为三点公式)来求曲线长度。
已知曲线区间为[a,b],对其做n等分,取
Figure BDA0002882169990000111
在每个区间[xi,xi+1]上应用Simpson公式,最终曲线长度计算公式为:
Figure BDA0002882169990000112
式中,
Figure BDA0002882169990000113
误差控制项为:
Figure BDA0002882169990000114
实际加工过程中,当误差大于设定的允许误差时,等分数n+1,直到误差小于允许误差时终止计算,此时的长度即为在精度要求下的曲线长度。
针对S400、根据各拐点的插补速度及各拐点之间的曲线长度,规划出曲线插补速度,该步骤主要通过建立速度模型,通过结合机床实际加工情况,得出最终的曲线插补速度。
此外,在执行所述步骤S400之后,还包括步骤:
S450、通过泰勒一阶展开式反算插补节点值,得出与曲线插补速度对应的曲线插补距离。
通过泰勒一阶展开式反算出插补节点,进而求出和插补速度对应的每个插补轴的插补距离,最终算出的单轴插补距离才是实际发送给加工执行装置的结果。
根据泰勒一阶展开反算插补节点的公式如下:
Figure BDA0002882169990000121
式中,v是由速度规划模块给出的曲线插补速度。
为了更好的理解本发明,请参阅图1-图6,以下结合具体实施例,对本发明的技术方案进行详细说明。
本实施例针对一种S型曲线提供速度规划方法,包括步骤:
S1、根据拐点粗查找方法确定NURBS曲线上存在拐点的节点区间。
如图2所示,假设已知该S型曲线的控制顶点、节点和权重,那么曲线数学定义即可确定,在节点定义域[0,1]内,存在7个节点区间,粗查找方法以每个区间为基础,确定区间内曲线趋势,来判断是否存在曲率极大值点。
如区间[0,u1]内,假设微邻域增长步长为0.0001,则需要求出左端点0,左端点的右侧节点0.0001,右端点u1,右端点的左侧节点u1-0.0001四个节点处的曲率值。根据粗查找算法的分析步骤,来确定当前区间内的曲线走向。当无法根据当前四个节点确定曲线走向时,从左端点向右、右端点向左分别以微邻域增长步长遍历,比较微邻域内及左右两端曲率值大小,直到能够确定曲线走向为止,记录左右节点值,即为曲率极大值即拐点存在区间。
同理,剩余区间内是否存在曲率极大值都按照上述方法查找。根据图2可以看出,区间[0,u1],[u1,u2],[u2,u3],[u4,u5],[u6,1]中的子区间即为当前步骤所求的存在拐点的节点区间。
S2、根据步骤S1确定的存在拐点的节点区间,来查找具体的拐点对应的节点值。
假设区间[0,u1]内根据步骤S1得到的子区间[ua,ub]内存在拐点,端点曲率大小为c(ua)和c(ub)。取区间邻域增长步长为
Figure BDA0002882169990000131
误差大小为β=0.001。先比较中心节点处的曲线走向,计算中心节点
Figure BDA0002882169990000132
及其左右邻域内的曲率大小,当c(umid-α)≤c(umid)并且c(umid)≥c(umid+α)时,说明中心节点微邻域内存在拐点;当c(umid-α)≤c(umid)并且c(umid)≤c(umid+α)时,说明区间[umid+α,ub]内存在拐点;当c(umid-α)≥c(umid)并且c(umid)≥c(umid+α)时,说明区间[ua,umid-α]内存在拐点。重复以上步骤,不断查找区间中点左右邻域内曲率大小,直到区间左右端点的曲率差值小于误差β时,取区间左右端点平均值处的节点,即当前区间的中点即为所求拐点。
S3、当确定整条曲线上所有的拐点处节点值时,根据公式(7)弓高误差限制下的插补速度公式求出拐点处的限制速度,即可确定整条曲线上各个拐点处的过渡速度。
S4、根据速度规划模型的需求,需要知道曲线长度和起终点速度来规划每个插补周期的速度,所以,对整条曲线以各拐点为分界,根据公式(8)求相邻拐点之间的曲线长度。
S5、在实际数控加工中,如果速度规划模型需要已知终点速度和路径长度时,可根据步骤S3和步骤S4的结果来规划插补速度。当求得插补速度后,可以通过公式(10)泰勒一阶展开式来反算插补节点值,代入公式(1)的NURBS曲线数学表达式,求出节点对应的坐标值,即可知道当前周期的插补量。
节点从0开始,每个插补周期根据规划速度反算插补节点,求出插补距离,分解到各个轴上。理论上直到反算出的节点为1时,插补完成。但在实际应用过程中,会出现反算节点接近于1而不等于1和大于1的情况。当计算出的节点无限接近于1时,设置一个合理的误差值,当反算出的节点与1之间的差值小于误差时,即可判断插补完成;当反算出的节点大于1时,令反算节点等于1并设置插补完成。
本发明还提供了一种非暂态计算机可读存储介质,其存储有计算机可执行指令,所述计算机可执行指令设置为执行上述实施例中的曲线加工方法。
本发明还提供了一种数控系统,如图7所示,所述数控系统与加工执行装置10通信连接,所述加工执行装置10可以是数控车床、数控钻床、数控镗床或数控铣床等自动机床或半自动机床,其用于实现对工件的曲线加工。所述数控系统包括:
至少一个中央处理器(processor)20,图2中以一个中央处理器20为例;显示屏30;以及存储器(memory)40,还可以包括通信接口(Communications Interface)和总线。其中,中央处理器20、显示屏30、存储器40和通信接口可以通过总线完成相互间的通信;显示屏30设置为显示初始设置模式中预设的用户操作界面;通信接口可以传输信息;中央处理器20可以调用存储器40中的逻辑指令,以执行上述实施例中的方法。
所述中央处理器20可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
此外,上述的存储器40中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器40作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本发明实施例中的方法对应的程序指令或模块。中央处理器20通过运行存储在存储器40中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器40可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器40可以包括高速随机存取存储器,还可以包括非易失性存储器。
上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以是非暂态存储介质,包括U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁盘或光盘等等多种可以存储程序代码的介质,也可以是暂态存储介质。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

Claims (8)

1.一种曲线加工方法,其特征在于,包括步骤:
对曲线轨迹进行预处理,确定各拐点的节点值;
求出各拐点在预设弓高误差限制下的插补速度;
根据预设曲线长度计算公式,求出各拐点之间的曲线长度;
根据各拐点的插补速度及各拐点之间的曲线长度,规划出曲线插补速度;
将曲线插补速度发送至加工执行装置,使加工执行装置根据曲线插补速度进行曲线加工;
所述对曲线轨迹进行预处理,确定各拐点的节点值的步骤具体包括:
根据NURBS方法对曲线轨迹进行处理并得到曲线轨迹方程;
对曲线轨迹进行第一次查找,确定存在拐点的节点区间;
对存在拐点的节点区间进行第二次查找,确定拐点的节点值;
所述对存在拐点的节点区间进行第二次查找,确定拐点的节点值的步骤包括:
A、将存在拐点的节点区间根据中点进行划分;
B、根据预设曲率计算公式,计算中点以及中点两侧节点的曲率大小;
C、若当前节点区间的中点曲率大于等于中点两侧节点的曲率,则初步将中点视为拐点;
若当前节点区间的中点曲率小于等于中点左侧节点的曲率,且中点曲率大于等于中点右侧节点的曲率,则划分后的中点左侧节点区间存在拐点,重复步骤A-C;
若当前节点区间的中点曲率大于等于中点左侧节点的曲率,且中点曲率小于等于中点右侧节点的曲率,则划分后的中点右侧节点区间存在拐点,重复步骤A-C。
2.根据权利要求1所述的一种曲线加工方法,其特征在于,所述对曲线轨迹进行第一次查找,确定存在拐点的节点区间的步骤具体包括:
将曲线轨迹划分为多个节点区间;
根据预设曲率计算公式,得出各节点区间内的节点曲率变化情况;
当某一节点区间内存在节点曲率上升后再下降的情况,则判断所述节点区间存在拐点。
3.根据权利要求2所述的一种曲线加工方法,其特征在于,所述对曲线轨迹进行第一次查找,确定存在拐点的节点区间的步骤还包括:
根据预设曲率计算公式,计算各节点区间端点及端点两侧节点的曲率大小;
若某一端点存在左侧节点曲率上升且右侧节点曲率下降的情况,则确定所述端点为拐点。
4.根据权利要求1所述的一种曲线加工方法,其特征在于,在根据各拐点的插补速度及各拐点之间的曲线长度,规划出曲线插补速度的步骤之后,还包括步骤:
通过泰勒一阶展开式反算插补节点值,得出与曲线插补速度对应的曲线插补距离。
5.根据权利要求1所述的一种曲线加工方法,其特征在于,所述拐点为曲线轨迹的分段曲线中曲率极大值的节点。
6.根据权利要求1所述的一种曲线加工方法,其特征在于,所述预设曲线长度计算公式为Simpson公式。
7.一种计算机可读存储介质,其特征在于,其存储有计算机可执行指令,所述计算机可执行指令设置为执行如权利要求1-6中任意一项所述的曲线加工方法。
8.一种数控系统,其特征在于,所述数控系统与加工执行装置通信连接,且所述数控系统包括处理器以及存储器,所述存储器存储有可被所述处理器执行的指令,以使所述处理器执行如权利要求1-6中任意一项所述的曲线加工方法。
CN202110003861.5A 2021-01-04 2021-01-04 一种曲线加工方法及数控系统 Active CN112783084B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110003861.5A CN112783084B (zh) 2021-01-04 2021-01-04 一种曲线加工方法及数控系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110003861.5A CN112783084B (zh) 2021-01-04 2021-01-04 一种曲线加工方法及数控系统

Publications (2)

Publication Number Publication Date
CN112783084A CN112783084A (zh) 2021-05-11
CN112783084B true CN112783084B (zh) 2022-02-22

Family

ID=75753797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110003861.5A Active CN112783084B (zh) 2021-01-04 2021-01-04 一种曲线加工方法及数控系统

Country Status (1)

Country Link
CN (1) CN112783084B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114200892B (zh) * 2021-11-01 2024-07-05 苏州谋迅智能科技有限公司 交互输入设备平滑输出的方法和装置、存储介质和设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104020719A (zh) * 2014-04-29 2014-09-03 深圳华南数控系统有限公司 速度敏感点分段nurbs曲线的s型加减速控制插补算法
CN104678899B (zh) * 2015-02-11 2017-12-15 北京配天技术有限公司 曲线速度规划方法、装置及其数控加工路径数据处理方法
CN109828535B (zh) * 2019-01-11 2021-07-27 天津理工大学 一种基于四阶龙格-库塔算法的nurbs曲线插补方法
CN110471368A (zh) * 2019-08-30 2019-11-19 长安大学 一种高速数控机床加工速度自适应的前瞻插补方法
CN110879569B (zh) * 2019-12-18 2021-09-07 湖南戈人自动化科技有限公司 一种前瞻控制方法
CN112015142A (zh) * 2020-08-26 2020-12-01 无锡信捷电气股份有限公司 一种基于nurbs的小线段加工方法

Also Published As

Publication number Publication date
CN112783084A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
CN101539769B (zh) 基于二次b样条曲线对g01代码的拟合及插补方法
CN109976262B (zh) 一种针对微线段加工的全局曲率连续光顺方法
CN109496286B (zh) 数控系统及其路径规划方法和计算机可读存储介质
CN112783084B (zh) 一种曲线加工方法及数控系统
CN112947309B (zh) 基于等残高端面的机器人打磨路径规划方法及设备
Dhanik et al. Contour parallel milling tool path generation for arbitrary pocket shape using a fast marching method
CN108073138B (zh) 适用于高速高精加工的椭圆弧平滑压缩插补算法
CN109828535B (zh) 一种基于四阶龙格-库塔算法的nurbs曲线插补方法
CN114237161B (zh) 一种基于数字滤波的工业机器人nurbs曲线插补方法
JP2875656B2 (ja) 数値制御機械における工具軌道輪郭を求める方法
US20170235283A1 (en) Gear tooth profile simulation apparatus and method, and machining tool edge surface simulation apparatus and method
CN105045211A (zh) 一种等弓高误差变步长切线插补方法
CN110908337B (zh) 一种对nurbs反求控制点预估方法
CN109732219B (zh) 一种激光切割的倒圆角方法及系统
CN111610751A (zh) 过点集nurbs插值曲线的插值误差多次细分迭代计算方法
CN109991921B (zh) 一种平顺b样条轨迹直接生成方法
CN116484635A (zh) 基于改进圆弧拟合算法的正弦弧线拟合局部光顺方法
CN109697272B (zh) 一种简易的二次b样条曲线拟合方法
JPH03259307A (ja) 自由曲面加工データ作成方法
WO2022095507A1 (zh) 基于平均滤波的直线段平滑方法、装置、设备及存储介质
CN103678799A (zh) 一种弯边钣金件斜角值快速测量标定方法
EP1061424B1 (en) Three-dimensional machining method
CN113449428B (zh) 一种采用多级修正与耦合抽稀算法的刀位点优化方法
CN104699904B (zh) 一种螺旋桨不均匀加工余量调整方法
CN117726710B (zh) 一种基于曲线离散的绘制方法及相关装置

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