CN107291047B - 一种基于多约束条件的正反双向nurbs曲线插补方法 - Google Patents

一种基于多约束条件的正反双向nurbs曲线插补方法 Download PDF

Info

Publication number
CN107291047B
CN107291047B CN201710573857.6A CN201710573857A CN107291047B CN 107291047 B CN107291047 B CN 107291047B CN 201710573857 A CN201710573857 A CN 201710573857A CN 107291047 B CN107291047 B CN 107291047B
Authority
CN
China
Prior art keywords
interpolation
curve
acceleration
step length
constraint
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
CN201710573857.6A
Other languages
English (en)
Other versions
CN107291047A (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.)
Fujian University of Technology
Original Assignee
Fujian University of 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 Fujian University of Technology filed Critical Fujian University of Technology
Priority to CN201710573857.6A priority Critical patent/CN107291047B/zh
Publication of CN107291047A publication Critical patent/CN107291047A/zh
Application granted granted Critical
Publication of CN107291047B publication Critical patent/CN107291047B/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/41Numerical 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 interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • 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/34Director, elements to supervisory
    • G05B2219/34094Library with different kind of interpolation curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical 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

本发明提供一种基于多约束条件的正反双向NURBS曲线插补方法,从预处理曲线段集按顺序取出当前需要处理的曲线段,从正反两个方向同时计算最大进给步长;根据最大进给步长得到当前插补点位置信息,将正向插补点存储到插补数据队列,将反向插补点存至LIFO缓冲区;当双向插补至交汇区时,调整交汇点加速度值,使速度平滑过渡;当正向插补结束后,将暂存在LIFO缓冲区的反向插补点存储到插补数据队列;接续到正向插补点之后,完成一个曲线段的插补预处理,随后将插补点数据下达给伺服控制系统,驱动电机实现各轴进给,保证了加工效率又提高了插补精度。

Description

一种基于多约束条件的正反双向NURBS曲线插补方法
技术领域
本发明涉及一种基于多约束条件的正反双向NURBS曲线插补方法。
背景技术
高速高精加工不仅要求数控系统具备实时的插补算法,而且控制精度必须达到亚微米级,插补算法的实时性甚至决定着高速加工实现的可能性。非均匀有理B样条(Non-uniform Rationa1 B-spline,NURBS)曲线具有良好的形状表达能力,在汽车、飞机、造船等型面零件造型设计和加工制造方面应用越来越广,已成为STEP-NC中表达自由曲线曲面的唯一形式。以NURBS形式表示的加工文件代码简练,而且没有精度损失,其代码量只有传统NC代码的
Figure GDA0002212549330000011
具有微小段直线不可比拟的优势。但是,数控系统要能支持NURBS曲线插补,必须先构造NURBS曲线插补器,插补速度和精度直接受插补器影响。
NURBS曲线插补会受到各方面因素的影响:首先,实际插补步长应小于插补周期T内以指令速度插补的最大进给步长;其次,NURBS曲线插补时所有插补点均在曲线上,没有径向误差(忽略舍去误差),但存在以进给步长为单位的短直线逼近实际曲线所引起的轮廓误差,实际进给步长形成的短直线应使轮廓误差在允许范围内;另外,由于曲线曲率的存在,当进行高速加工时,还会在法向引起较大的加速度(简称法向加速度),若法向加速度过大而超过机床进给系统动态刚度的设计承受能力,就会对进给系统、工件的加工质量,甚至整个机床造成严重的影响。由以上问题可知,当满足多种约束条件时,插补过程中进给速度和加速度的变化可能与所采用的加减速模式不一致。同时,传统加减速都是沿着插补曲线单方向进行,曲线余下部分插补约束信息无从获知,加速过程无法跟后面的减速关联起来,不知道应该加速到多大才又开始进行减速。
对比文件:
1)对比文件1:速度敏感点分段NURBS曲线的S型加减速控制插补算法
申请号:201410177337.X;
对比文件1中:以曲线速度敏感点的集合为分段点对NURBS曲线进行分段,计算各分段曲线的轨迹长度,采用S行加减速控制方法对各曲线段进行速度规划,按S型加减速控制方法位移公式,根据初步周期T分别对加速和减速阶段进行速度规划,得到各分段曲线在每一个初步周期内的进给速度,将获得的进给速度代入插补公式计算出插补点参数u,再将插补点参数u代入NURBS曲线的矩阵表达式,得到各插补点的坐标值。
对比文件1中采用S曲线加减速控制方法对分段曲线进行速度规划,该规划方法是采用单向规划方法,根据初步周期T分别对加速和减速阶段进行速度规划,得到各分段曲线在每一个初步周期内的进给速度。
2)对比文件2《实时前瞻全程加减速控制的NURBS曲线自适应分段插补方法》
申请号:200910113894.4;
对比文件2中采用矩阵形式表示NURBS曲线,在曲线曲率各极大值处将曲线分段,采用S曲线加减速控制方法对各曲线进行速度规划,得到速度曲线各加减速阶段变化时间,根据插补周期进给速度和对应插补点坐标,生成控制信号给定值。
对比文件2中采用S曲线加减速控制方法对分段曲线进行速度规划,该规划方法是采用单向规划方法,得到速度曲线各加减速阶段变化时间。
3)对比文件3:《一种基于NURBS曲线插补的速度平滑控制方法》
申请号:201210571959.1
对比文件3公开一种基于NURBS曲线插补的速度平滑控制方法,包括:对待加工零件的轮廓参数进行获取,根据获取的轮廓参数进行而得到刀具的加工路径,采用五段S曲线法和空间矢量转接法对刀具的加工路径中的加工段进行加减速规划和平滑转接处理后对将段进行插补处理,从而生成刀具的加工路径控制信号,根据生成的刀具的加工路径控制信号对待加工零件进行加工。
对比文件3中采用五段S曲线法和空间矢量转接法对刀具的加工路径中的加工段进行加减速规划和平滑转接处理后对将段进行插补处理,该规划方法是采用单向规划方法。
4)对比文件4:《基于机床动力学和曲线特性的NURBS插补方法》
申请号:201010546987.9
对比文件4公开一种基于机床动力学和曲线特性的NURBS插补方法,方法由三个环节组成:预插补、前瞻信息处理和实时插补,按照对应的速度模式进行三角函数速度平滑处理,保存三角函数速度平滑处理后的相应数据,若进入加减速区,则根据前瞻信息,采用三角函数速度平滑处理;若没有进入加减速区,则采用速度自适应法进行计算,从而最终获得插补点的坐标和进给速度。
对比文件4中根据前瞻信息判断是否进入加减速区,如果进入加减速区则采用三角函数速度平滑处理,将三角函数速度平滑处理分成三种速度规划模式来进行处理,将速度变化区分别归类,按照对应的规划模式进行处理,得到插补点速度序列,该规划方法是采用单向规划方法。
5)对比文件5:《一种考虑加工特性的NURBS直接插补方法及装置》
申请号:201410582776.9
对比文件5公开了一种考虑加工特性的NURBS直接插补方法及装置,采用考虑机床运动学和动力学特性,以及刀具路径工况,建立多约束条件方程,完成预插补处理,得到进给速度序列,离线速度规划模块寻找并确定切向加速度超差区域的,并采用S型加减速模式对超差区域的速度进行重新调整,利用调整好的速度序列对每个插补周期进行实时插补,插补装置利用动态链接库技术,将插补点的位置信息经过伺服控制器,驱动伺服电机,完成实时在线插补。
对比文件5中采用S型加减速模式对预处理进给速度序列中超差区域的速度进行重新调整,该规划方法是采用单向规划方法。
6)对比文件6:《一种针对嵌入式系统的NURBS插补进给速度规划方法》
申请号:201210511324.2
对比文件6公开了一种针对嵌入式系统的NURBS插补进给速度规划方法,方法首先对插补进给速度进行模态值规定,然后根据NURBS曲线的转折点来划段规划进给速度。
对比文件6以曲线控制点为分割点,对NURBS曲线进行分割成多个子分段,把每一曲线子分段平均分为五部分,分别对应为五种速度模态值。该方法中每一曲线子分段平均分为五部分,每一部分对应五种速度模态值中的一种,即慢加速、急加速、最高速、加减速、慢减速,但方法中并未给出具体规划过程。
7)对比文件7:《一种基于ARM9嵌入式系统和FPGA的NURBS曲线分段插补方法》
申请号:201310003017.8
对比文件7公开了一种基于ARM9嵌入式系统和FPGA的NURBS曲线分段插补方法,采用ARM9嵌入式系统对NURBS曲线进行粗插补,完成对NURBS曲线的分段预处理,采用FPGA对分段曲线进行精插补,最后外围电路将各轴运动分量以脉冲形式输出到电动机的信号控制端口,实习电动机伺服控制。
对比文件7中精插补过程是FPGA读取FIFO队列中曲线段数据,采用S型加减速方法进行减加速处理,根据NURBS曲线定义式实时生成插补点坐标。加减速处理是单向的,是从曲线段起点开始,按照S加减速运动方程进行速度规划,直至曲线段终点。
8)对比文件8:《一种基于NURBS曲线速度规划方法、装置及其数控加工路径数据处理方法》
申请号:201510072415.4
对比文件8公开一种基于NURBS曲线速度规划方法、装置及其数控加工路径数据处理方法,方法包括:获取具有NURBS曲线的数控加工路径数据,获取所述NURBS曲线上参数步长Δui内的加速度ai,将各加速度与最大允许加速度比较确定加速度敏感点和敏感区,确定加速度区间的中间点作为加减速分界点,计算中间点的速度值作为目标速度,根据目标速度对加速度敏感区间进行加速和减速的规划,以得到规划后的NURBS曲线的数控加工路径数据。
对比文件8中获取具有NURBS曲线的数控加工路径数据,获取所述NURBS曲线上参数步长Δui内的加速度ai,将各加速度与最大允许加速度比较确定加速度敏感点和敏感区,确定加速度区间的中间点作为加减速分界点,计算中间点的速度值作为目标速度,根据目标速度对加速度敏感区间进行加速和减速的规划,该速度规划是单向的,从曲线一端单向向另一端进行速度规划。
9)对比文件9《一种连续多类型曲线段混合插补三次多项式进给速度前瞻规划方法》
申请号:201410280826.8
对比文件9公开了一种连续多类型曲线段混合插补三次多项式进给速度前瞻规划方法,分为五大步骤:步骤1:连续多类型曲线段生成;步骤2:段间衔接点临界速度求解;步骤3:单段曲线进给速度规划;步骤4:单段速度规划残差补偿;步骤5:进给速度曲线生成。
对比文件9中单段曲线进给速度规划时,将单段曲线分为常规长段、常规短段、加速短段和减速短段4种速度曲线类型,判断单段曲线进给速度类型后,按对应的类型进行单向速度规划。
10)对比文件10:《NURBS曲线S形加减速双向寻优插补算法研究》
罗福源,游有鹏,尹涓.NURBS曲线S形加减速双向寻优插补算法研究[J].机械工程学报,2012,48(5):147-156.
对比文件10提出运动路程未知情况下不依赖弧长精确计算的正向和反向同步加速的插补新算法,实时动态地求解曲线段内最大进给速度和正反向插补汇合点,从而实现处处满足全部速度约束条件的最优插补。
对比文件10简单的以每个插补周期速度规划中的速度作为约束条件,对NURBS曲线进行双向寻优插补,得到汇合点,但是NURBS曲线插补会受到各方面因素的影响。首先,实际插补步长应小于插补周期T内以指令速度插补的最大进给步长;其次,NURBS曲线插补时所有插补点均在曲线上,没有径向误差(忽略舍去误差),但存在以进给步长为单位的短直线逼近实际曲线所引起的轮廓误差,实际进给步长形成的短直线应使轮廓误差在允许范围内;另外,由于曲线曲率的存在,当进行高速加工时,还会在法向引起较大的加速度(简称法向加速度),若法向加速度过大而超过机床进给系统动态刚度的设计承受能力,就会对进给系统、工件的加工质量,甚至整个机床造成严重的影响。
NURBS曲线插补会受到各方面因素的影响,对NURBS曲线进行插补时,需要对曲线进行预处理工作。目前,NURBS曲线预处理通常的处理方法为,采用速度自适应调整算法,根据弓高误差来调整插补点的进给速度,使插补点满足最大弓高误差限制要求,并采用单向加减速控制方法,对插补点进行速度平滑处理,这种NURBS曲线预处理方式存在以下问题:
首先,实际插补步长应小于插补周期T内以指令速度插补的最大进给步长;其次,NURBS曲线插补时所有插补点均在曲线上,没有径向误差(忽略舍去误差),但存在以进给步长为单位的短直线逼近实际曲线所引起的轮廓误差,实际进给步长形成的短直线应使轮廓误差在允许范围内;另外,由于曲线曲率的存在,当进行高速加工时,还会在法向引起较大的加速度(简称法向加速度),若法向加速度过大而超过机床进给系统动态刚度的设计承受能力,就会对进给系统、工件的加工质量,甚至整个机床造成严重的影响。
由上面的问题可知,当满足多种约束条件时,插补过程中进给速度和加速度的变化可能与所采用的加减速模式不一致。同时,传统加减速都是沿着插补曲线单方向进行,曲线余下部分插补约束信息无从获知,加速过程无法跟后面的减速关联起来,不知道应该加速到多大才又开始进行减速。
发明内容
本发明要解决的技术问题,在于提供一种基于多约束条件的正反双向NURBS曲线插补方法,保证了加工效率又提高了插补精度。
本发明是这样实现的:一种基于多约束条件的正反双向NURBS曲线插补方法,其特征在于:
步骤1、从预处理曲线段集按顺序取出当前需要处理的曲线段,从正反两个方向同时计算最大进给步长;
步骤2、根据最大进给步长得到当前插补点位置信息,将正向插补点存储到插补数据队列,将反向插补点存至LIFO缓冲区;
步骤3、当双向插补至交汇区时,调整交汇点加速度值,使速度平滑过渡;当正向插补结束后,将暂存在LIFO缓冲区的反向插补点存储到插补数据队列;
步骤4、接续到正向插补点之后,完成一个曲线段的插补预处理,随后将插补点数据下达给伺服控制系统,驱动电机实现各轴进给。
进一步地,所述步骤1进一步包括:
多约束条件是指进给步长受指令速度约束、轮廓误差约束、法向加速度约束,可设对应的约束进给步长为:
令指令速度下最大允许进给步长为Li1、最大轮廓误差约束下的进给步长为Li2、最大法向加速度约束下的进给步长为Li3,则第i个插补点约束进给步长Li可表示为:
Li=min(Li1,Li2,Li3) (1)
1)指令速度约束进给步长
设加工进给速度为F,插补周期为T,则单个插补周期进给步长ΔL=F·T,因ΔL为只考虑进给速度的无约束进给步长,所以还需使其符合加减速要求,令最大切向加速度为aTan_max,前一个插补段的进给步长为Li-1,则有:
Li1=Li-1+aTan_max·T2 (2)
2)最大轮廓误差约束进给步长
插补的轮廓误差δi与插补的步长ΔLi及曲线曲率半径ρi之间存在如下关系:
Figure GDA0002212549330000081
在最大轮廓误差δmax约束下的约束进给步长Li2理论值为:
Figure GDA0002212549330000082
由式(3)、(4),插补步长ΔLi即为Li1,可得:
Figure GDA0002212549330000083
设NURBS曲线段C(ui)C(ui+1)的中点N,与弦
Figure GDA0002212549330000084
中点M的连线
Figure GDA0002212549330000085
长度ERi近似为直线逼近曲线的轮廓误差δi,取
Figure GDA0002212549330000086
处近似为曲线段C(ui)C(ui+1)的中点,有:
Figure GDA0002212549330000087
则最大轮廓误差约束进给步长为:
Figure GDA0002212549330000088
3)法向加速度约束进给步长
在最大法向加速度aNor_max约束下的进给步长为:
其中ρi为曲线曲率半径;
由式(4)可知:
Figure GDA0002212549330000091
Figure GDA0002212549330000092
由此,可以得到指令速度约束进给步长Li1、轮廓误差约束进给步长Li2和法向加速度约束进给步长Li3,把这几个值代入式(1)即可得到约束进给步长Li
进一步地,所述步骤2进一步包括:
从预处理曲线段集按顺序取出当前需要处理的曲线段,得到曲线首尾端点参数矢量坐标[ui,uj],曲线长度L,正反起始点速度vs、ve,指令速度vmax,最大轮廓误差δmax,最大法向加速度aNor_max,采用S型曲线加减速方法,对曲线段进行插补预处理,
具体步骤为:
Step1:初始化
Step2:Loop while
Figure GDA0002212549330000094
Step3:根据S加减速算法获得正反向当前加速度
Figure GDA0002212549330000095
速度vb、vf
Step4:基于多约束条件得到最大进给步长;
Step5:计算正反插补点参数
Figure GDA0002212549330000096
Step6:正向插补点存入插补数据队列;
Step7:反向插补点存入LIFO缓冲区;
Step8:End ofLoop。
进一步地,所述步骤3中交汇区判断方法为:
当正反双向插补从曲线段两端向曲线段中间进行插补处理,最终两个方向的插补会出现汇合,设从曲线段左边端点往右为正向插补,从曲线段右边端点往左为反向插补,令un、um分别为正向和反向插补终点,其对应多约束条件下的约束速度为v(un)、v(um),如果满足下式:
Figure GDA0002212549330000101
其中Δu为预设参数步长值;
即认为参数区间[un,um]为插补汇合区。
进一步地,所述调整交汇点加速度值的调整方法为:
Figure GDA0002212549330000102
本发明具有如下优点:本发明一种基于多约束条件的正反双向NURBS曲线插补方法,基于多种约束条件的曲线段正反双向插补预处理过程中,正反双向预插补刚好是两个逆过程,反向预处理过程为正向预处理过程提供了原来难以获取的多种约束信息,使得正向加速过程可以在完整的约束条件下获得最优的进给速度,既保证了加工效率又提高了插补精度。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1是一种基于多约束条件的正反双向NURBS曲线插补方法的流程框图。
图2是一种基于多约束条件的正反双向NURBS曲线插补方法的正反双向插补处理流程图。
图3是一种基于多约束条件的正反双向NURBS曲线插补方法的正反双向插补汇合示意图。
具体实施方式
本发明基于多约束条件的正反双向NURBS曲线插补方法,其特征在于:
步骤1、从预处理曲线段集按顺序取出当前需要处理的曲线段,从正反两个方向同时计算最大进给步长,进一步具体为:
多约束条件是指进给步长受指令速度约束、轮廓误差约束、法向加速度约束,可设对应的约束进给步长为:
令指令速度下最大允许进给步长为Li1、最大轮廓误差约束下的进给步长为Li2、最大法向加速度约束下的进给步长为Li3,则第i个插补点约束进给步长Li可表示为:
Li=min(Li1,Li2,Li3) (1)
1)指令速度约束进给步长
设加工进给速度为F,插补周期为T,则单个插补周期进给步长ΔL=F·T,因ΔL为只考虑进给速度的无约束进给步长,所以还需使其符合加减速要求,令最大切向加速度为aTan_max,前一个插补段的进给步长为Li-1,则有:
Li1=Li-1+aTan_max·T2 (2)
2)最大轮廓误差约束进给步长
插补的轮廓误差δi与插补的步长ΔLi及曲线曲率半径ρi之间存在如下关系:
在最大轮廓误差δmax约束下的约束进给步长Li2理论值为:
Figure GDA0002212549330000112
由式(3)、(4),插补步长ΔLi即为Li1,可得:
Figure GDA0002212549330000113
设NURBS曲线段C(ui)C(ui+1)的中点N,与弦
Figure GDA0002212549330000114
中点M的连线
Figure GDA0002212549330000115
长度ERi近似为直线逼近曲线的轮廓误差δi,取
Figure GDA0002212549330000116
处近似为曲线段C(ui)C(ui+1)的中点,有:
Figure GDA0002212549330000117
则最大轮廓误差约束进给步长为:
3)法向加速度约束进给步长
在最大法向加速度aNor_max约束下的进给步长为:
Figure GDA0002212549330000121
其中ρi为曲线曲率半径;
由式(4)可知:
Figure GDA0002212549330000122
Figure GDA0002212549330000123
由此,可以得到指令速度约束进给步长Li1、轮廓误差约束进给步长Li2和法向加速度约束进给步长Li3,把这几个值代入式(1)即可得到约束进给步长Li
步骤2、根据最大进给步长得到当前插补点位置信息,将正向插补点存储到插补数据队列,将反向插补点存至LIFO缓冲区,进一步包括:
从预处理曲线段集按顺序取出当前需要处理的曲线段,得到曲线首尾端点参数矢量坐标[ui,uj],曲线长度L,正反起始点速度vs、ve,指令速度vmax,最大轮廓误差δmax,最大法向加速度aNor_max,采用S型曲线加减速方法,对曲线段进行插补预处理,
具体步骤为:
Step1:初始化
Figure GDA0002212549330000124
Step2:Loop while
Figure GDA0002212549330000125
Step3:根据S加减速算法获得正反向当前加速度
Figure GDA0002212549330000126
速度vb、vf
Step4:基于多约束条件得到最大进给步长;
Step5:计算正反插补点参数
Figure GDA0002212549330000127
Step6:正向插补点存入插补数据队列;
Step7:反向插补点存入LIFO缓冲区;
Step8:End ofLoop;
步骤3、当双向插补至交汇区时,调整交汇点加速度值,使速度平滑过渡;当正向插补结束后,将暂存在LIFO缓冲区的反向插补点存储到插补数据队列,所述交汇区判断方法为:
当正反双向插补从曲线段两端向曲线段中间进行插补处理,最终两个方向的插补会出现汇合,设从曲线段左边端点往右为正向插补,从曲线段右边端点往左为反向插补,令un、um分别为正向和反向插补终点,其对应多约束条件下的约束速度为v(un)、v(um),如果满足下式:
Figure GDA0002212549330000131
其中Δu为预设参数步长值;
即认为参数区间[un,um]为插补汇合区。
所述调整交汇点加速度值的调整方法为:
Figure GDA0002212549330000132
步骤4、接续到正向插补点之后,完成一个曲线段的插补预处理,随后将插补点数据下达给伺服控制系统,驱动电机实现各轴进给。
本发明提出一种基于多约束条件的正反双向NURBS曲线插补方法,从曲线段首尾端点同时开始,在正反两个方向同时向曲线段中间以插补周期T对曲线段进行插补预处理,获得满足最大进给速约束、最大轮廓误差约束、法向加速度约束以及S曲线加减速约束等多种约束条件的进给步长,进一步由约束进给步长得到对应的每个插补点的速度、参数矢量、坐标位置等信息;随后,将正向插补点存储到插补数据队列,将反向插补点暂存到LIFO缓冲区;当双向插补至交汇区时,调整交汇点加速度值,使速度平滑过渡;当正向插补结束后,将暂存在LIFO缓冲区的反向插补点存储到插补数据队列,接续到正向插补点之后,完成一个曲线段的插补预处理过程;正式插补时,则以插补周期T为时间间隔,从插补数据队列取出经过预处理后的插补点信息,由机床完成实际加工过程。
本发明为一种基于多约束条件的正反双向NURBS曲线插补方法。在该方法中,从预处理曲线段集按顺序取出当前需要处理的曲线段,得到曲线首尾端点参数矢量坐标[ui,uj],曲线段长度L,曲线段两端点速度vs、ve,多约束条件为:指令速度vmax、最大轮廓误差δmax、最大法向加速度aNor_max,采用S型曲线加减速方法,在每个插补周期计算当前正向或方向插补点的加速度值,并入约束条件集。
正反双向插补以NURBS曲线预读曲线段为基本处理单元,从正反两个方向同时以多约束条件计算最大进给步长,并由最大进给步长得到当前插补点位置信息,将正向插补点存储到插补数据队列,将反向插补点暂存到LIFO缓冲区;当双向插补至交汇区时,调整交汇点加速度值,使速度平滑过渡;当正向插补结束后,将暂存在LIFO缓冲区的反向插补点存储到插补数据队列,接续到正向插补点之后,完成一个曲线段的插补预处理,随后将插补点数据下达给伺服控制系统,驱动电机实现各轴进给。
如图1所示,其中详细展示了基于多约束条件的正反双向NURBS曲线插补方法所包括的五个部分,其中每个部分产生的结果作为下一个部分数据处理的对象。
第一个部分对以NURBS曲线表述的加工文件进行加工信息提取,得到NURBS曲线特征(控制点、节点矢量、权值、参考进给速度);第二部分,识别出NURBS曲线曲率极值点,并以这些点为端点将NURBS曲线进行分段,构成预处理曲线段集;第三部分,对曲线段集进行多约束条件下的正反双向预处理,得的正反双向预处理后的数据集;第四部分,将反向处理的数据集接续到正向处理的数据集后,形成插补点数据集;第五部分,按插补周期从插补点数据集取出当前插补点位置信息,生成插补点脉冲下达给伺服系统,并驱动机床各轴实现加工。
多约束条件下最大进给步长计算:
进给步长受指令速度约束、轮廓误差约束、法向加速度约束、S型加减速约束,可设对应的约束进给步长为:
令指令速度下最大允许进给步长为Li1、最大轮廓误差约束下的进给步长为Li2、最大法向加速度约束下的进给步长为Li3,则第i个插补点约束进给步长Li可表示为:
Li=min(Li1,Li2,Li3) (1)
(1)指令速度约束进给步长
设加工进给速度为F,插补周期为T,则单个插补周期进给步长ΔL=F·T。因ΔL为只考虑进给速度的无约束进给步长,所以还需使其符合所采用的S型加减速要求,令最大切向加速度为aTan_max,前一个插补段的进给步长为Li-1,则有:
Li1=Li-1+aTan_max·T2 (2)
(2)最大轮廓误差约束进给步长
插补的轮廓误差δi与插补的步长ΔLi及曲线曲率半径ρi之间存在如下关系:
Figure GDA0002212549330000151
在最大轮廓误差δmax约束下,约束进给步长Li为:
Figure GDA0002212549330000152
由式(3)、(4)可得:
Figure GDA0002212549330000153
为简化NURBS插补点轮廓误差计算,设NURBS曲线段C(ui)C(ui+1)的中点N,与弦
Figure GDA0002212549330000154
中点M的连线
Figure GDA0002212549330000155
长度ERi近似为直线逼近曲线的轮廓误差。取
Figure GDA0002212549330000156
处近似为曲线段C(ui)C(ui+1)的中点,有:
Figure GDA0002212549330000157
则最大轮廓误差约束进给步长为:
Figure GDA0002212549330000158
(3)法向加速度约束进给步长
在最大法向加速度aNor_max约束下的进给步长为:
Figure GDA0002212549330000161
其中ρi为曲线曲率半径。
轮廓误差由曲线曲率决定,计算如下式:
Figure GDA0002212549330000162
由式(9)、(7)可知:
Figure GDA0002212549330000163
Figure GDA0002212549330000164
由此,可以得到指令速度约束进给步长Li1、轮廓误差约束进给步长Li2和法向加速度约束进给步长Li3,把这几个值代入式(1)即可得到约束进给步长Li
如图2所示,从预处理曲线段集按顺序取出当前需要处理的曲线段,得到曲线首尾端点参数矢量坐标[ui,uj],曲线段长度L,曲线段两端点速度vs、ve,多约束条件为:指令速度vmax、最大轮廓误差δmax、最大法向加速度aNor_max,采用S型曲线加减速方法,在每个插补周期计算当前正向或方向插补点的加速度值,并入约束条件集。
正反双向插补以NURBS曲线预读曲线段为基本处理单元,从正反两个方向同时以多约束条件计算最大进给步长,并由最大进给步长得到当前插补点位置信息,将正向插补点存储到插补数据队列,将反向插补点暂存到LIFO缓冲区;当双向插补至交汇区时,调整交汇点加速度值,使速度平滑过渡;当正向插补结束后,将暂存在LIFO缓冲区的反向插补点存储到插补数据队列,接续到正向插补点之后,完成一个曲线段的插补预处理,随后将插补点数据下达给伺服控制系统,驱动电机实现各轴进给。
对曲线段进行正反双向插补预处理的具体步骤为:
Step1:初始化
Figure GDA0002212549330000171
Step2:Loop while
Figure GDA0002212549330000172
Step3:根据S加减速算法获得正反向当前加速度
Figure GDA0002212549330000173
速度vb、vf
Step4:基于多约束条件得到最大进给步长;
Step5:计算正反插补点参数
Figure GDA0002212549330000174
Step6:正向插补点存入插补数据队列;
Step7:反向插补点存入LIFO;
Step8:反向插补点接续到FIFO,所述FIFO即为插补数据队列;
Step9:End ofLoop;
Step10:插补点数据下达给伺服控制系统,驱动电机实现各轴进给。
如图3所示,当正反双向插补从曲线段两端向曲线段中间进行插补处理,最终两个反向的插补会出现汇合。
设从曲线段左边端点往右为正向插补,从曲线段右边端点往左为反向插补,令un、um分别为正向和反向插补终点,其对应多约束条件下的约束速度为v(un)、v(um)。如果满足下式:
Figure GDA0002212549330000175
其中Δu为预设参数步长值;
即认为参数区间[un,um]为插补汇合区。
当正反双向插补进行到汇合区时,为保证速度平滑过渡,应对正向插补终点加速度进行调整,使得正反向插补在汇合区过渡点的速度相等且加速度为零。调整方法为:
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (4)

1.一种基于多约束条件的正反双向NURBS曲线插补方法,其特征在于:
步骤1、从预处理曲线段集按顺序取出当前需要处理的曲线段,从正反两个方向同时计算最大进给步长;
步骤2、根据最大进给步长得到当前插补点位置信息,将正向插补点存储到插补数据队列,将反向插补点存至LIFO缓冲区;
步骤3、当双向插补至交汇区时,调整交汇点加速度值,使速度平滑过渡;当正向插补结束后,将暂存在LIFO缓冲区的反向插补点存储到插补数据队列,所述交汇区判断方法为:
当正反双向插补从曲线段两端向曲线段中间进行插补处理,最终两个方向的插补会出现汇合,设从曲线段左边端点往右为正向插补,从曲线段右边端点往左为反向插补,令un、um分别为正向和反向插补终点,其对应多约束条件下的约束速度为v(un)、v(um),如果满足下式:
Figure FDA0002212549320000011
其中Δu为预设参数步长值;
即认为参数区间[un,um]为插补汇合区;
步骤4、接续到正向插补点之后,完成一个曲线段的插补预处理,随后将插补点数据下达给伺服控制系统,驱动电机实现各轴进给。
2.如权利要求1所述的一种基于多约束条件的正反双向NURBS曲线插补方法,其特征在于:所述步骤1进一步包括:
多约束条件是指进给步长受指令速度约束、轮廓误差约束、法向加速度约束,可设对应的约束进给步长为:
令指令速度下最大允许进给步长为Li1、最大轮廓误差约束下的进给步长为Li2、最大法向加速度约束下的进给步长为Li3,则第i个插补点约束进给步长Li可表示为:
Li=min(Li1,Li2,Li3) (1)
1)指令速度约束进给步长
设加工进给速度为F,插补周期为T,则单个插补周期进给步长ΔL=F·T,因ΔL为只考虑进给速度的无约束进给步长,所以还需使其符合加减速要求,令最大切向加速度为aTan_max,前一个插补段的进给步长为Li-1,则有:
Li1=Li-1+aTan_max·T2 (2)
2)最大轮廓误差约束进给步长
插补的轮廓误差δi与插补的步长ΔLi及曲线曲率半径ρi之间存在如下关系:
在最大轮廓误差δmax约束下的约束进给步长Li2理论值为:
Figure FDA0002212549320000022
由式(3)、(4),插补步长ΔLi即为Li1,可得:
Figure FDA0002212549320000023
设NURBS曲线段C(ui)C(ui+1)的中点N,与弦
Figure FDA0002212549320000024
中点M的连线
Figure FDA0002212549320000025
长度ERi近似为直线逼近曲线的轮廓误差δi,取
Figure FDA0002212549320000026
处近似为曲线段C(ui)C(ui+1)的中点,有:
Figure FDA0002212549320000027
则最大轮廓误差约束进给步长为:
Figure FDA0002212549320000028
3)法向加速度约束进给步长
在最大法向加速度aNor_max约束下的进给步长为:
其中ρi为曲线曲率半径;
由式(4)可知:
Figure FDA00022125493200000210
Figure FDA0002212549320000031
由此,可以得到指令速度约束进给步长Li1、轮廓误差约束进给步长Li2和法向加速度约束进给步长Li3,把这几个值代入式(1)即可得到约束进给步长Li
3.如权利要求1所述的一种基于多约束条件的正反双向NURBS曲线插补方法,其特征在于:所述步骤2进一步包括:
从预处理曲线段集按顺序取出当前需要处理的曲线段,得到曲线首尾端点参数矢量坐标[ui,uj],曲线长度L,正反起始点速度vs、ve,指令速度vmax,最大轮廓误差δmax,最大法向加速度aNor_max,采用S型曲线加减速方法,对曲线段进行插补预处理,
具体步骤为:
Step1:初始化
Step2:Loop while
Figure FDA0002212549320000033
Step3:根据S加减速算法获得正反向当前加速度
Figure FDA0002212549320000034
速度vb、vf
Step4:基于多约束条件得到最大进给步长;
Step5:计算正反插补点参数
Figure FDA0002212549320000035
Step6:正向插补点存入插补数据队列;
Step7:反向插补点存入LIFO缓冲区;
Step8:End of Loop。
4.如权利要求1所述的一种基于多约束条件的正反双向NURBS曲线插补方法,其特征在于:所述调整交汇点加速度值的调整方法为:
Figure FDA0002212549320000036
CN201710573857.6A 2017-07-14 2017-07-14 一种基于多约束条件的正反双向nurbs曲线插补方法 Active CN107291047B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710573857.6A CN107291047B (zh) 2017-07-14 2017-07-14 一种基于多约束条件的正反双向nurbs曲线插补方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710573857.6A CN107291047B (zh) 2017-07-14 2017-07-14 一种基于多约束条件的正反双向nurbs曲线插补方法

Publications (2)

Publication Number Publication Date
CN107291047A CN107291047A (zh) 2017-10-24
CN107291047B true CN107291047B (zh) 2020-02-07

Family

ID=60100400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710573857.6A Active CN107291047B (zh) 2017-07-14 2017-07-14 一种基于多约束条件的正反双向nurbs曲线插补方法

Country Status (1)

Country Link
CN (1) CN107291047B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019119268A1 (zh) * 2017-12-19 2019-06-27 深圳配天智能技术研究院有限公司 数控系统、具有存储功能的装置及nurbs曲线插补方法
CN108549328B (zh) * 2018-03-22 2020-05-26 汇川技术(东莞)有限公司 自适应速度规划方法及系统
CN112269356B (zh) * 2020-10-27 2022-03-18 南京溧航仿生产业研究院有限公司 一种机器人nurbs轨迹插补方法
CN112486101B (zh) * 2020-12-14 2024-03-08 大连大学 Nurbs曲线自适应前瞻插补方法
CN114706349B (zh) * 2022-04-06 2022-11-25 南华大学 曲面零件的数控加工方法、装置、设备及可读存储介质
CN117555291B (zh) * 2024-01-11 2024-03-22 佛山德玛特智能装备科技有限公司 一种插补方法、装置、插补器和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298358A (zh) * 2011-04-30 2011-12-28 上海交通大学 五轴数控加工双nurbs刀具轨迹速度规划方法
CN103149879A (zh) * 2011-12-07 2013-06-12 沈阳高精数控技术有限公司 一种基于弧长的数控系统椭圆插补方法
CN105759726A (zh) * 2016-03-22 2016-07-13 大连理工大学 基于轮廓误差约束的自适应曲线插补方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298358A (zh) * 2011-04-30 2011-12-28 上海交通大学 五轴数控加工双nurbs刀具轨迹速度规划方法
CN103149879A (zh) * 2011-12-07 2013-06-12 沈阳高精数控技术有限公司 一种基于弧长的数控系统椭圆插补方法
CN105759726A (zh) * 2016-03-22 2016-07-13 大连理工大学 基于轮廓误差约束的自适应曲线插补方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NURBS 曲线S形加减速寻回实时插补算法;刘献礼等;《机械工程学报》;20170228;第53卷(第3期);全文 *
NURBS曲线S形加减速双向寻优插补算法研究;罗福源等;《机械工程学报》;20120331;第48卷(第5期);第148-150页 *

Also Published As

Publication number Publication date
CN107291047A (zh) 2017-10-24

Similar Documents

Publication Publication Date Title
CN107291047B (zh) 一种基于多约束条件的正反双向nurbs曲线插补方法
Lai et al. On the development of a parametric interpolator with confined chord error, feedrate, acceleration and jerk
Sun et al. A G3 continuous tool path smoothing method for 5-axis CNC machining
CN103048953B (zh) 一种基于arm9嵌入式系统和fpga的nurbs曲线分段插补方法
CN101493687B (zh) 实时前瞻全程加减速控制的nurbs曲线自适应分段插补方法
CN101976060B (zh) 基于机床动力学和曲线特性的nurbs插补方法
JP3662799B2 (ja) 数値制御装置及び数値制御方法
US6823234B2 (en) Curve interpolation method
Bi et al. A general, fast and robust B-spline fitting scheme for micro-line tool path under chord error constraint
KR100253684B1 (ko) 가공능률을향상시키기위해가공기의능력을고려하여커터경로를규정하는이산점들을생성하는방법
JP2010511919A (ja) 許容差ベースの経路設計と制御の方法
CN101539769A (zh) 基于二次b样条曲线对g01代码的拟合及插补方法
CN112486101B (zh) Nurbs曲线自适应前瞻插补方法
CN105045211A (zh) 一种等弓高误差变步长切线插补方法
CN110879569A (zh) 一种前瞻控制方法
CN111633668B (zh) 一种用于机器人加工三维自由曲面的运动控制方法
JP2001255919A (ja) 数値制御装置及び数値制御方法
Qiao et al. Nanoscale trajectory planning with flexible Acc/Dec and look-ahead method
US9645568B2 (en) Numerical controller having command path compression function
CN103048954A (zh) 一种基于arm9嵌入式系统和fpga的nurbs曲线分段插补方法
CN112051803B (zh) 一种基于空间平面法向量的小线段光顺方法
CN112865750A (zh) 基于fir滤波器的数控系统倍率变化平滑控制方法及装置
Zhou et al. NURBS curve interpolation algorithm based on tool radius compensation method
JP2790643B2 (ja) 数値制御装置
JP3068989B2 (ja) 数値制御装置

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