CN101493687B - 实时前瞻全程加减速控制的nurbs曲线自适应分段插补方法 - Google Patents

实时前瞻全程加减速控制的nurbs曲线自适应分段插补方法 Download PDF

Info

Publication number
CN101493687B
CN101493687B CN2009101138944A CN200910113894A CN101493687B CN 101493687 B CN101493687 B CN 101493687B CN 2009101138944 A CN2009101138944 A CN 2009101138944A CN 200910113894 A CN200910113894 A CN 200910113894A CN 101493687 B CN101493687 B CN 101493687B
Authority
CN
China
Prior art keywords
curve
interpolation
speed
max
prime
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.)
Expired - Fee Related
Application number
CN2009101138944A
Other languages
English (en)
Other versions
CN101493687A (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.)
Guangxi University
Original Assignee
Guangxi University
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 Guangxi University filed Critical Guangxi University
Priority to CN2009101138944A priority Critical patent/CN101493687B/zh
Publication of CN101493687A publication Critical patent/CN101493687A/zh
Application granted granted Critical
Publication of CN101493687B publication Critical patent/CN101493687B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种实时前瞻全程加减速控制的NURBS曲线自适应分段插补方法,采用矩阵形式表示NURBS曲线,并进行预处理;对所述NURBS曲线采用自适应速度调整算法,获得满足插补精度要求的进给速度等参数;在曲线曲率各极大值处将曲线分段;采用S曲线加减速控制方法对各分段曲线进行速度规划,得到速度曲线各加减速阶段变化时间;根据插补周期和各加减速阶段变化时间,得到各插补周期进给速度和对应插补点坐标;根据插补点坐标和进给速度,生成控制信号给定值。采用本发明方法,可实现NURBS曲线插补全程前瞻处理,使实时插补过程快速高效;整个插补运动过程平滑稳定,适用范围广泛,对高速高精数控系统的发展有重要意义。

Description

实时前瞻全程加减速控制的NURBS曲线自适应分段插补方法
技术领域
该发明涉及数控系统领域,特别是数控机床或关节型机器人运动控制技术中一种具有前瞻功能的实时全程加减速控制的自适应分段NURBS曲线插补方法。
背景技术
非均匀有理B样条(Non-Uniform Rational B-Spline,简称NURBS曲线)因其设计灵活、算法稳定等优点成为计算机几何信息表达、设计和数据交换等方面的工业标准,在CAD/CAM系统中得到广泛应用,航空、宇航、汽车、模具等行业中大量自由型面采用NURBS曲线来表示。NURBS曲线插补在高速加工中的优势主要体现在:曲线信息完整、程序代码大为简化、加工精度更高、进给速度更快、进给运动过程平稳;因此研究NURBS曲线插补技术,对于提高计算机数字控制系统的性能具有十分重要意义。
目前市场上具有NURBS曲线插补功能的数控系统产品不多,且多集中在FANUC等国外公司。现行公开的NURBS曲线插补方法还存在很多缺点,如:不能全面控制插补全过程中速度、加速度和加加速度的变化,算法复杂,实时性不高,难以实现减速点位置的准确预测等,对实现现代数控加工的高速高精及关节型机器人高速平滑的运动目标带来困难。
发明内容
本发明为了克服现有技术中的不足,提供一种实时前瞻全程S曲线加减速控制的非均匀有理B样条(NURBS)曲线自适应分段插补方法。该方法采用前瞻预处理与实时插补分离的方式,将大部分数值计算集中在前瞻预处理部分,减少实时插补过程的计算量,从而提高插补实时性。以机器常数(最大加速度、最大加加速度)和允许最大弦高误差为限制条件,采用S曲线加减速控制方法对NURBS曲线全程插补进给速度进行规划,使整个插补运动过程平滑稳定,且满足插补精度要求,同时解决减速点预测难的问题,是一种适用范围广泛的数控插补控制方法。
为实现上述目标,本发明的技术方案如下:
一种实时前瞻全程加减速控制的NURBS曲线自适应分段插补方法,包括以下步骤:
前瞻预处理部分:
(1)采用矩阵形式表示NURBS曲线,并进行预处理;
(2)对所述NURBS曲线采用自适应速度调整算法,获得满足插补精度要求的进给速度参数;
(3)在速度自适应调整范围内的曲线曲率各极大值处将曲线分段;
(4)采用S曲线加减速控制方法对各分段曲线进行速度规划,得到速度曲线各加减速阶段变化时间;
实时插补部分:
(5)根据插补周期和各加减速阶段变化时间,得到各插补周期进给速度和对应插补点坐标;
(6)根据插补点坐标和进给速度,生成控制信号给定值,输出到系统动力部分。
本发明方法所述三次NURBS曲线矩阵形式表示为:
P i ( t ) = 1 t t 2 t 3 A i ω i - 3 d i - 3 ω i - 2 d i - 2 ω i - 1 d i - 1 ω i d i 1 t t 2 t 3 A i ω i - 3 ω i - 2 ω i - 1 ω i
其中:Pi(t)为位置矢量,ωi为权因子,与控制顶点di相对应,
A i = a 1,1 a 1,2 a 1,3 a 1,4 a 2,1 a 2,2 a 2,3 a 2,4 a 3,1 a 3,2 a 3,3 a 3,4 a 4,1 a 4,2 a 4,3 a 4,4 = ( ▿ i ) 2 ▿ i - 1 2 ▿ i - 2 3 1 - a 1,1 - a 1,3 ( ▿ i - 1 ) 2 ▿ i - 1 2 ▿ i - 1 3 0 - 3 a 1,1 3 ( a 1,1 - a 2,3 ) 3 ▿ i ▿ i - 1 ▿ i - 1 2 ▿ i - 1 3 0 3 a 1,1 - 3 ( a 1,1 - a 3,3 ) 3 ( ▿ i ) 2 ▿ i - 1 2 ▿ i - 1 3 0 - a 1,1 a 1,1 - a 4,3 - a 4,4 - ( a 3,3 3 + a 4,4 + ( ▿ i ) 2 ▿ i 2 ▿ i - 1 3 ) ( ▿ i ) 2 ▿ i 2 ▿ i 3
Figure 544881DEST_PATH_GSB00000055080400023
Figure 940090DEST_PATH_GSB00000055080400024
Figure 754463DEST_PATH_GSB00000055080400025
特别地
Figure 576925DEST_PATH_GSB00000055080400026
对于节点矢量U=[u0,u1,…,un+k+1],可生成
Figure 719325DEST_PATH_GSB00000055080400027
其中k为曲线阶次,n为控制顶点个数,
Figure 918225DEST_PATH_GSB00000055080400028
参数u∈[ui,ui+1),(0≤t ≤1,i=3,4,...,n)。
展开矩阵表达式Ai,整理并令:
Y0=a1,1ωi-3di-3+a1,2ωi-2di-2+a1,3ωi-1di-1+a1,4ωidi
Y1=a2,1ωi-3di-3+a2,2ωi-2di-2+a2,3ωi-1di-1+a2,4ωidi
Y2=a3,1ωi-3di-3+a3,2ωi-2di-2+a3,3ωi-1di-1+a3,4ωidi
Y3=a4,1ωi-3di-3+a4,2ωi-2di-2+a4,3ωi-1di-1+a4,4ωidi
Y0′=a1,1ωi-3+a1,2ωi-2+a1,3ωi-1+a1,4ωi
Y1′=a2,1ωi-3+a2,2ωi-2+a2,3ωi-1+a2,4ωi
Y2′=a3,1ωi-3+a3,2ωi-2+a3,3ωi-1+a3,4ωi
Y3′=a4,1ωi-3+a4,2ωi-2+a4,3ωi-1+a4,4ωi
则: P i ( t ) = Y 0 + Y 1 t + Y 2 t 2 + Y 3 t 3 Y 0 ′ + Y 1 ′ t + Y 2 ′ t 2 + Y 3 ′ t 3 0≤t≤1,i=3,4,...,n
由于控制顶点di与权因子ωi都是已知,而且Ai仅与节点矢量U有关,这样可以在插补前预先求出系数Y0,Y1,Y2,Y3,Y0′,Y1′,Y2′,Y3′,插补计算时只需直接调用各项系数,从而大大加快计算速度。
本发明方法所述NURBS曲线采用自适应速度调整算法获取满足插补精度要求的进给速度参数,包括以下步骤:
(2.1)采用二阶泰勒展开式计算插补点对应参数u值:
令:x=Px(u),y=Py(u),z=Pz(u)
x ′ = dP x ( u ) du , y ′ = dP y ( u ) du , z ′ = dP z ( u ) du
x ′ ′ = d 2 P x ( u ) du 2 , y ′ ′ = d 2 P y ( u ) du 2 , z ′ ′ = d 2 P z ( u ) du 2
则: u i + 1 = u i + V ( u i ) T + ( T 2 / 2 ) ( dV ( u i ) / dt ) ( x ′ ) 2 + ( y ′ ) 2 + ( z ′ ) 2 - ( V ( u i ) T ) 2 ( x ′ x ′ ′ + y ′ y ′ ′ + z ′ z ′ ′ ) 2 ( ( x ′ ) 2 + ( y ′ ) 2 + ( z ′ ) 2 ) 2
其中,V(ui)为当前插补点进给速度,T为插补周期;
(2.2)采用圆弧近似方法确定弦高误差和进给速度及曲率半径之间的关系:
如附图1所示,在区间u∈[ui,ui+1)内,用一段圆弧拟合NURBS曲线,ρi是u=ui处的曲率半径。ρi=1/βi,其中βi是NURBS曲线上任意一点的曲率,可通过下式计算:
β i = [ y ′ z ′ y ′ ′ z ′ ′ 2 + z ′ x ′ z ′ ′ x ′ ′ 2 + x ′ y ′ x ′ ′ y ′ ′ 2 ] 1 / 2 ( x ′ 2 + y ′ 2 + z ′ 2 ) 3 / 2
C(ui)和C(ui+1)分别是近似圆上u=ui和u=ui+1处的插补点,而P(ui)和P(ui+1)分别是NURBS曲线上u=ui和u=ui+1处的插补点。因为C(ui)=P(ui),并令L=||C(ui+1)-C(ui)||,则进给速度V(ui)可以近似地表示为:
V ( u i ) = L T
弦高误差δ为:
δ = ρ i - ρ i 2 - ( L 2 ) 2
如果限定弦高误差δ的大小,则相应的进给速度为:
V ( u i ) = 2 T ρ i 2 - ( ρ i - δ ) 2
上式表明进给速度V(ui)应随δ和ρi的变化自适应地调整,调整规则如下:
V ( u i ) = F 2 T &rho; i 2 - ( &rho; i - &delta; ) 2 > F 2 T &rho; i 2 - ( &rho; i - &delta; ) 2 2 T &rho; i 2 - ( &rho; i - &delta; ) 2 < F
其中F是进给速度指令值。如果曲线上当前点的曲率半径足够小,则弦高误差可能超过误差限定值,这时插补算法将进给速度由F减小到以满足限定的弦高误差要求;否则,以给定的进给速度F继续进行插补;
(2.3)将步骤(2.2)中得到的速度V(ui)代入(2.1)中计算下一插补点对应参数ui+1
(2.4)重复以上(2.1)~(2.3)3个步骤,直到完成全部NURBS曲线自适应速度调整。
本发明方法所述弦高误差δ在任意范围都可实现。
本发明方法所述在速度自适应调整范围内的曲线曲率各极大值处将曲线分段,包括以下步骤:
(3.1)根据自适应速度调整公式,找出速度开始发生较大变化时曲线的曲率βrg
&beta; rg = 2 &delta; F 2 ( T 2 ) 2 + &delta; 2
其中,δ为允许最大插补精度误差值;
(3.2)根据获得的整条曲线曲率βi,在βi≥βrg范围内找出各曲率极大值点,并以各曲率极大值点对应参数u(记为useg)为分段点,将曲线分段;
(3.3)根据步骤(3.2)得到分段曲线各项参数,计算出各曲线段速度最大值Vmax、初始速度Vstr、结束速度Vend、各段轨迹长度Lseg和分段点对应的参数useg值。
本发明方法所述采用S曲线加减速控制方法对各分段曲线进行速度规划,得到速度曲线各加减速阶段变化时间,计算过程如附图3、附图4所示,包括以下步骤:
(4.1)计算满足分段曲线最后一段速度要求的最短轨迹长度Ldec
L dec = ( V str ( n ) + V end ( n ) ) | V str ( n ) - V end ( n ) | / J max
其中,n为分段后曲线段段数。
(4.2)比较分段曲线末段实际长度Lseg(n)与Ldec,当Lseg(n)≥Ldec时进入步骤(4.3),当Lseg(n)<Ldec时合并分段曲线最后两段,且Lseg(n-1)=Lseg(n-1)+Lseg(n),Vend(n-1)=Vend(n),n=n-1,返回步骤(4.1)。
(4.3)根据步骤(4.1)~(4.2)调整后的分段曲线各参数,结合S曲线加减速控制方法重新规划分段曲线的速度曲线各加减速变化阶段时间ti(i=1,2,…,7),其中S曲线加减速控制方法的位移公式如下:
s ( t ) = v s t + 1 6 J max t 3 t &Element; [ 0 , t 1 ) s 1 + v 1 t + 1 2 A max t 2 t &Element; [ t 1 , t 1 + t 2 ) s 1 = v 1 t 1 + 1 6 J max t 1 3 s 2 + v 2 t + 1 2 A max t 2 - 1 6 J max t 3 t &Element; [ t 1 + t 2 , 2 t 1 + t 2 ) , s 2 = s 1 + v 1 t 2 + 1 2 A max t 2 2 s 3 + v 3 t t &Element; [ 2 t 1 + t 2 , 2 t 1 + t 2 + t 4 ) , s 3 = s 2 + v 2 t 3 + 1 2 A max t 3 2 - 1 6 J max t 3 3 s 4 + v 4 t - 1 6 J max t 3 t &Element; [ 2 t 1 + t 2 + t 4 , 2 t 1 + t 2 + t 4 + t 5 ) , s 4 = s 3 + v 3 t 4 s 5 + v 5 t - 1 2 A max t 2 t &Element; [ 2 t 1 + t 2 + t 4 + t 5 , 2 t 1 + t 2 + t 4 + t 5 + t 6 ) , s 5 = s 4 + v 4 t 5 - 1 6 J max t 5 3 s 6 + v 6 t - 1 2 A max t 2 + 1 6 J max t 3 t &Element; [ 2 t 1 + t 2 + t 4 + t 5 + t 6 , 2 t 1 + t 2 + t 4 + 2 t 5 + t 6 ) , s 6 = s 5 + v 5 t 6 1 2 A max t 6 2
Amax为最大加速度,Jmax为最大加加速度,t1,t2,t3为各加速阶段时间,t4为匀速段时间,t5,t6,t7为各减速阶段时间。
加速阶段轨迹长度
Figure 476693DEST_PATH_GSB00000055080400062
减速阶段轨迹长度
Figure 914628DEST_PATH_GSB00000055080400063
本发明方法所述实时插补模块,根据插补周期和由预处理模块得到的分段曲线各加减速阶段变化时间,计算出分段曲线各插补周期内进给速度和对应插补点坐标,包括以下步骤:
(5.1)根据插补周期T和步骤(4.3)获得分段曲线速度曲线中各加减速阶段变化时间,计算各加减速阶段插补步数。
(5.2)根据步骤(5.1)获得的插补步数,结合S曲线加减速位移计算公式,计算得到各分段曲线在每一插补周期内的进给速度。
(5.3)根据步骤(5.2)获得的进给速度代入步骤(2.1),计算得插补点对应参数u,再代入曲线矩阵表达展开式,可得到各插补点坐标,即可得到插补点位置增量,最后将插补点位置增量转换为脉冲信号,发送给系统动力部分驱动电机运行。
该方法所述动力部分为步进电机或伺服驱动系统。
本发明与现有技术相比具有以下优点和效果:
(1)提高插补全过程执行机构运动平滑性
本算法采用S曲线加减速控制方法来规划插补进给速度,使整个插补过程的速度变化平滑、加速度连续、加加速度恒定,且都保持在允许范围内,因此避免加速度及加加速度过大对系统造成冲击,提高执行机构运动平滑性。
(2)提高减速点位置预测的准确性
本算法通过分析各分段曲线起始速度、终点速度、最大速度及曲线段长度,按照S曲线加减速控制方法自适应调整进给速度在加速、匀速及减速各部分所需要的准确时间,同时确定了减速点位置,且比其他单独预测方法获得的减速点位置更精确。
(3)提高实时性
本算法采用前瞻预处理与实时插补相结合的策略,在前瞻预处理在实时插补前完成,对实时性要求没有影响;同时在前瞻部分中采用NURBS曲线的矩阵表达式预先计算出表达式中各项系数,在实时插补中可直接使用,减少计算量和计算时间,在主频为2.42GHz的Pentium4处理器VC++6.0平台下,前瞻预处理所需时间不超过50μs,实时插补所需计算时间不超过10μs,相对1ms左右的插补周期来说完全满足实时性要求。
(4)使用范围更广泛
本算法中前瞻预处理部分也可用于加工前检测加工参数的合理性,为实时插补过程提供可靠保证。
附图说明
图1是本发明中的圆弧近似法估算下一插补点示意图
图2为本发明的总体结构流程图
图3是本发明的S曲线加减速规划计算流程图
图4是本发明的S曲线加减速规划中重新计算最大速度流程图
具体实施方式
下面结合附图对本发明作进一步描述。
如附图2所示,本发明中前瞻预处理和实时插补单独进行,以保证前瞻预处理不影响实时性要求。
前瞻预处理包括以下步骤:
(1)采用矩阵形式表示三次NURBS曲线如下所示:
P i ( t ) = 1 t t 2 t 3 A i &omega; i - 3 d i - 3 &omega; i - 2 d i - 2 &omega; i - 1 d i - 1 &omega; i d i 1 t t 2 t 3 A i &omega; i - 3 &omega; i - 2 &omega; i - 1 &omega; i
其中:Pi(t)为位置矢量,ωi为权因子,与控制顶点di相对应,
A i = a 1,1 a 1,2 a 1,3 a 1,4 a 2,1 a 2,2 a 2,3 a 2,4 a 3,1 a 3,2 a 3,3 a 3,4 a 4,1 a 4,2 a 4,3 a 4,4 = ( &dtri; i ) 2 &dtri; i - 1 2 &dtri; i - 2 3 1 - a 1,1 - a 1,3 ( &dtri; i - 1 ) 2 &dtri; i - 1 2 &dtri; i - 1 3 0 - 3 a 1,1 3 ( a 1,1 - a 2,3 ) 3 &dtri; i &dtri; i - 1 &dtri; i - 1 2 &dtri; i - 1 3 0 3 a 1,1 - 3 ( a 1,1 - a 3,3 ) 3 ( &dtri; i ) 2 &dtri; i - 1 2 &dtri; i - 1 3 0 - a 1,1 a 1,1 - a 4,3 - a 4,4 - ( a 3,3 3 + a 4,4 + ( &dtri; i ) 2 &dtri; i 2 &dtri; i - 1 3 ) ( &dtri; i ) 2 &dtri; i 2 &dtri; i 3
Figure DEST_PATH_GSB00000055080400083
Figure DEST_PATH_GSB00000055080400084
特别地
Figure DEST_PATH_GSB00000055080400086
对于节点矢量U=[u0,u1,…,un+k+1],可生成
Figure GA20183329200910113894401D00101
其中k为曲线阶次,n为控制顶点个数, t = ( u - u i ) / ( u i + 1 - u i ) = ( u - u i ) / &dtri; i , 参数u∈[ui,ui+1)(0≤t≤1,i=3,4,...,n)。
展开矩阵表达式Ai,整理并令:
Y0=a1,1ωi-3di-3+a1,2ωi-2di-2+a1,3ωi-1di-1+a1,4ωidi
Y1=a2,1ωi-3di-3+a2,2ωi-2di-2+a2,3ωi-1di-1+a2,4ωidi
Y2=a3,1ωi-3di-3+a3,2ωi-2di-2+a3,3ωi-1di-1+a3,4ωidi
Y3=a4,1ωi-3di-3+a4,2ωi-2di-2+a4,3ωi-1di-1+a4,4ωidi
Y′0=a1,1ωi-3+a1,2ωi-2+a1,3ωi-1+a1,4ωi
Y′1=a2,1ωi-3+a2,2ωi-2+a2,3ωi-1+a2,4ωi
Y′2=a3,1ωi-3+a3,2ωi-2+a3,3ωi-1+a3,4ωi
Y′3=a4,1ωi-3+a4,2ωi-2+a4,3ωi-1+a4,4ωi
则: P i ( t ) = Y 0 + Y 1 t + Y 2 t 2 + Y 3 t 3 Y 0 &prime; + Y 1 &prime; t + Y 2 &prime; t 2 + Y 3 &prime; t 3 0≤t≤1,i=3,4,...,n
根据已知条件权因子ωi、控制顶点di及节点矢量U,计算出系数Y0,Y1,Y2,Y3,Y′0,Y′1,Y′2,Y′3
(2)自适应速度调整模块:以弦高误差为限制条件,自适应调整插补进给速度,包括以下步骤:
(a)将曲线上当前点对应参数ui代入步骤(1)中NURBS曲线矩阵表达式,计算出曲线上对应点曲率βi及曲率半径ρi
(b)将曲率半径ρi、系统参考速度F、插补周期T及允许最大弦高误差δ代入自适应调整规则式:
V ( u i ) = F 2 T &rho; i 2 - ( &rho; i - &delta; ) 2 > F 2 T &rho; i 2 - ( &rho; i - &delta; ) 2 2 T &rho; i 2 - ( &rho; i - &delta; ) 2 < F
可得到该插补周期内符合误差要求的进给速度V(ui);
(c)将自适应调整后的速度V(ui),代入二阶泰勒展开式计算下一插补点对应参数ui+1值:
u i + 1 = u i + V ( u i ) T + ( T 2 / 2 ) ( dV ( u i ) / dt ) ( x &prime; ) 2 + ( y &prime; ) 2 + ( z &prime; ) 2 - ( V ( u i ) T ) 2 ( x &prime; x &prime; &prime; + y &prime; y &prime; &prime; + z &prime; z &prime; &prime; ) 2 ( ( x &prime; ) 2 + ( y &prime; ) 2 + ( z &prime; ) 2 ) 2
其中:x=Px(u),y=Py(u),z=Pz(u)
x &prime; = dP x ( u ) du , y &prime; = dP y ( u ) du , z &prime; = dP z ( u ) du
x &prime; &prime; = d 2 P x ( u ) du 2 , y &prime; &prime; = d 2 P y ( u ) d u 2 , z &prime; &prime; = d 2 P z ( u ) du 2
重复以上(a)、(b)、(c)三个步骤,并记录每一插补周期的进给长度Li、进给速度V(ui)、对应插补点参数ui以及对应插补点曲率βi;直至ui+1=1,完成全部NURBS曲线自适应速度调整。
(3)将NURBS曲线分段,包括以下步骤:
(a)计算曲线插补中需要进行自适应速度调整的临界曲率βrg
&beta; rg = 2 &delta; F 2 ( T 2 ) 2 + &delta; 2
δ为允许最大弦高误差。
(b)依次将步骤(2)中获得的插补点曲率βi与βrg比较,找出每一βi≥βrg区域内的曲率极大值,记为βseg(j),并找出其对应参数u值,记为useg(j)(j=1,2,…,n-1),n为分段后曲线段数量。再以useg(j)为分段点,将曲线分为n段。
(c)最后根据步骤(2)中获得的每一插补周期的进给长度Li、进给速度V(ui)、对应插补点参数ui,计算出每一分段曲线的速度最大值Vmax(j)、初始速度Vstr(j)、结束速度Vend(j)以及各段轨迹长度Lseg(j),j=1,2,…,n。
(4)完成曲线分段后,进行S曲线加减速规划,计算过程如附图3,4所示,包括以下步骤:
(a)最末曲线段规划,包括以下步骤:
(a1)计算满足最末曲线段速度要求的最短轨迹长度Ldec
L dec = ( V str ( n ) + V end ( n ) ) | V str ( n ) - V end ( n ) | / J max
(a2)比较Lseg(n)与Ldec,当Lseg(n)≥Ldec时完成最末曲线段规划;当Lseg(n)<Ldec时合并分段曲线最后两段,且Lseg(n-1)=Lseg(n-1)+Lseg(n),Vend(n-1)=Vend(n),n=n-1,返回步骤(a1)。
(b)完成最末曲线段规划后,对最终分段曲线依次进行S曲线加减速规划,包括以下步骤:
(b1)读取分段曲线段参数Vmax、Vstr、Vend及Lseg。判断Vmax、Vstr、Vend之间大小关系,当Vmax=Vstr=Vend时,由S曲线加减速位移公式可得t4=Lseg/Vmax,t1=t2=t3=t5=t6=t7=0,t1,t2,t3为加速各阶段时间,t4为匀速段时间,t5,t6,t7为减速各阶段时间。当Vmax≠Vstr或Vmax≠Vend时,进入步骤(b2)。
(b2)当Vmax≠Vstr或Vmax≠Vend时:
①判断Vmax-Vstr与Amax 2/Jmax大小。当 V max - V str > A max 2 / J max 时:t1=t3=Amax/Jmax,t2=(Vmax-Vstr)/Amax-t1;当 V max - V str &le; A max 2 / J max 时: A max = ( V max - V str ) J max , t 1 = t 3 = ( V max - V str ) / J max , t2=0。使用计算得到的t1,t2,t3计算符合该时间分布的加速轨迹长度La: La = V str ( t 1 + t 2 + t 3 ) + 1 2 J max t 1 2 ( t 2 + t 3 ) + 1 2 A max ( t 2 + t 3 ) 2 .
②判断Vmax-Vend与Amax 2/Jmax大小。当 V max - V end > A max 2 / J max 时:t5=t7=Amax/Jmax,t6=(Vmax-Vend)/Amax-t5;当 V max - V end &le; A max 2 / J max 时: A max = ( V max - V str ) J max , t 5 = t 7 = ( V max - V end ) / J max , t6=0。使用计算得到的t5,t6,t7计算符合该时间分布的减速轨迹长度Ld: Ld = V max ( t 5 + t 6 + t 7 ) - 1 2 J max t 5 2 ( t 6 + t 7 ) - 1 2 A max ( t 6 + t 7 ) 2 .
(b3)比较Lseg与La+Ld大小:①当Lseg>La+Ld时,t4=(Lseg-La-Ld)/Vmax;②当Lseg=La+Ld时,t4=0;③Lseg<La+Ld时,说明该段曲线实际最大速度达不到自适应调整得到的最大速度,需要进入步骤(b31)重新计算最大速度Vmax。当出现情况①或②时,完成该段曲线加减速规划,并将时间ti(i=1,2,…,7)存入存储区;重复步骤(b1)~(b3)直至完成所有分段曲线加减速规划。
(b31)重新计算该段曲线最大速度Vmax,如附图4所示,包括以下步骤:
(b31-1)假设实际最大速度为 V max &prime; = max ( V str , V end ) + A max 2 / J max , 代入步骤(b2),计算符合Vmax=V′max的加速轨迹长度La和减速轨迹长度Ld。
(b31-2)比较Lseg与La+Ld大小:①当Lseg>La+Ld时, V max = A max 4 - 2 J max [ A max 2 ( V str + V end ) - J max ( V str 2 + V end 2 ) - 2 A max J max L seg ] - A max 2 2 J max ;②当Lseg=La+Ld时,Vmax=V′max;③Lseg<La+Ld时,说明该段曲线实际最大速度达不到假设的最大速度V′max,需要进入步骤(b31-3)重新求解。当出现情况①或②时,完成该段曲线最大速度求解,代入步骤(b2)~(b3)完成加减速规划。
(b31-3)假设实际最大速度为 V max &prime; &prime; = min ( V str , V end ) + A max 2 / J max , 代入步骤(b2),计算符合Vmax=V″max的加速轨迹长度La和减速轨迹长度Ld。比较Lseg与La+Ld大小:当Lseg=La+Ld时,Vmax=V″max;当Lseg>La+Ld及Lseg<La+Ld时按照附图4所示流程获得满足Lseg=La+Ld的最大速度Vmax,代入步骤(b2)~(b3)完成加减速规划。
实时插补包括以下步骤:
(5)依次读取由前瞻预处理获得的分段曲线加减速时间ti(i=1,2,…,7),根据系统给定的采样周期T,将加减速时间ti(i=1,2,…,7)离散化,则每一阶段插补次数为Ni,Ni为ti/T圆整后数据(i=1,2,…,7),将离散后时间点依次代入S曲线加减速控制方法位移公式,计算得每一时间离散点对应进给速度Vt。将Vt代入步骤(2)中(c),可计算得下一插补点参数u并代入步骤(1)中三次NURBS曲线矩阵表达,计算出对应曲线上点坐标X(u),Y(u),Z(u)。
(6)根据步骤(5)获得的插补点速度和位置信息,转换为运动控制信号,发送给系统动力部分驱动电机运行,直至完成该段曲线插补,再重复步骤(5)、(6)进行下一段曲线实时插补。
本发明方法主要采用了数值计算,这会带来时间和空间代价,但大量计算集中在前瞻预处理阶段,不会对实时插补过程造成影响。
[0142]在此说明书中,本发明已参照其特定流程作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

Claims (2)

1.实时前瞻全程加减速控制的NURBS曲线自适应分段插补方法,
其特征在于,包括以下步骤:
前瞻预处理部分:
(1)采用矩阵形式表示NURBS曲线,并进行预处理;
(2)对所述NURBS曲线采用自适应速度调整算法,获得满足插补精度要求的进给速度参数;
(3)在速度自适应调整范围内的曲线曲率各极大值处将曲线分段;
(4)采用S曲线加减速控制方法对各分段曲线进行速度规划,得到速度曲线各加减速阶段变化时间;
实时插补部分:
(5)根据插补周期和各加减速阶段变化时间,得到各插补周期进给速度和对应插补点坐标;
(6)根据插补点坐标和进给速度,生成控制信号给定值,输出到系统动力部分。
2.根据权利要求1所述实时前瞻全程加减速控制的NURBS曲线自适应分段插补方法,其特征在于,所述步骤(6),动力部分为步进电机或伺服驱动系统。
CN2009101138944A 2009-03-02 2009-03-02 实时前瞻全程加减速控制的nurbs曲线自适应分段插补方法 Expired - Fee Related CN101493687B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101138944A CN101493687B (zh) 2009-03-02 2009-03-02 实时前瞻全程加减速控制的nurbs曲线自适应分段插补方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101138944A CN101493687B (zh) 2009-03-02 2009-03-02 实时前瞻全程加减速控制的nurbs曲线自适应分段插补方法

Publications (2)

Publication Number Publication Date
CN101493687A CN101493687A (zh) 2009-07-29
CN101493687B true CN101493687B (zh) 2010-07-21

Family

ID=40924312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101138944A Expired - Fee Related CN101493687B (zh) 2009-03-02 2009-03-02 实时前瞻全程加减速控制的nurbs曲线自适应分段插补方法

Country Status (1)

Country Link
CN (1) CN101493687B (zh)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976060B (zh) * 2010-11-17 2012-02-08 西南交通大学 基于机床动力学和曲线特性的nurbs插补方法
CN102540978B (zh) * 2010-12-09 2013-07-10 中国科学院沈阳计算技术研究所有限公司 面向高速加工的表面质量优先的样条曲线实时插补方法
CN102566496B (zh) * 2010-12-09 2013-12-18 中国科学院沈阳计算技术研究所有限公司 适用于数控装置的进给速度动态实时前瞻控制方法
CN102141795B (zh) * 2011-03-23 2012-07-25 中国地质大学(武汉) 一种分层重构的nurbs曲线插补器及其配置方法
JP5326015B2 (ja) 2012-02-20 2013-10-30 ファナック株式会社 加工曲線作成機能を有する数値制御装置
CN102809945B (zh) * 2012-08-08 2014-08-27 武汉华中数控股份有限公司 数控加工中的运动规划方法、运动规划器及其应用
CN103801981B (zh) * 2012-11-14 2016-12-21 中国科学院沈阳计算技术研究所有限公司 一种用于样条插补的四次多项式速度规划算法
CN102981455A (zh) * 2012-12-04 2013-03-20 杭州电子科技大学 一种针对嵌入式系统的nurbs曲线实时插补方法
CN103076759B (zh) * 2012-12-31 2015-02-11 北京配天技术有限公司 一种获取数控系统的s型曲线的方法及其装置
CN103760827B (zh) * 2014-01-10 2016-08-17 大连理工大学 跃度约束的数控加工进给率的离线规划方法
CN104020719A (zh) * 2014-04-29 2014-09-03 深圳华南数控系统有限公司 速度敏感点分段nurbs曲线的s型加减速控制插补算法
CN104007705B (zh) * 2014-05-05 2016-09-28 上海交通大学 小线段路径压缩平滑的前瞻插补系统
CN104035380B (zh) * 2014-05-12 2017-01-25 浙江理工大学 基于偏移量nurbs曲线的数控裁床运动控制方法
CN103984285A (zh) * 2014-05-27 2014-08-13 大连理工大学 一种多约束五轴加工进给率定制方法
CN104076742B (zh) * 2014-06-20 2016-12-07 北京航空航天大学 一种连续多类型曲线段混合插补三次多项式进给速度前瞻规划方法
CN104181860B (zh) * 2014-08-25 2016-09-07 浙江理工大学 数控机床s型加减速控制方法
CN105629882A (zh) * 2014-11-07 2016-06-01 中国科学院沈阳计算技术研究所有限公司 一种用于样条插补的三角函数速度规划方法
CN105739436B (zh) * 2014-12-12 2019-01-18 沈阳机床(集团)设计研究院有限公司上海分公司 一种数控机床样条曲线自适应快速插补方法
CN104678899B (zh) 2015-02-11 2017-12-15 北京配天技术有限公司 曲线速度规划方法、装置及其数控加工路径数据处理方法
CN105137914B (zh) * 2015-07-10 2018-01-19 广东松山职业技术学院 一种应用于数控机床的三点圆法参数自适应插补算法
CN106647637A (zh) * 2015-11-03 2017-05-10 中国科学院沈阳计算技术研究所有限公司 一种用于高质量加工的三角函数加减速控制方法
CN105759725B (zh) * 2016-03-22 2018-04-10 大连理工大学 速度敏感区间恒速曲线插补速度规划方法
CN106547251B (zh) * 2016-10-11 2019-04-30 浙江大学 一种基于低速敏感区域插补信息反馈的五轴刀路生成方法
CN106227152A (zh) * 2016-10-17 2016-12-14 合肥工业大学 一种cnc加工的平滑过渡方法及其平滑过渡装置
CN106814694B (zh) * 2017-02-14 2019-07-16 华南理工大学 一种高速高精度的参数曲线前瞻插补方法
CN107329458A (zh) * 2017-07-10 2017-11-07 深圳市旗众智能自动化有限公司 一种连续小线段轨迹的动态自适应速度前瞻控制方法
CN107272597B (zh) * 2017-07-14 2019-08-30 福建工程学院 一种基于进退法的nurbs曲线插补快速预读处理方法
CN107291053A (zh) * 2017-07-14 2017-10-24 福建工程学院 一种nurbs曲线直接插补柔性加减速控制方法
CN107765648B (zh) * 2017-10-13 2020-01-10 山东大学 一种cnc加工的进给速度规划方法及装置
CN107817764B (zh) * 2017-10-23 2019-03-08 山东大学 一种基于s曲线加减速算法的nurbs曲线双向自适应插补方法
CN107943034B (zh) * 2017-11-23 2020-08-04 南开大学 移动机器人沿给定路径的完备且最短时间轨迹规划方法
WO2019119268A1 (zh) * 2017-12-19 2019-06-27 深圳配天智能技术研究院有限公司 数控系统、具有存储功能的装置及nurbs曲线插补方法
CN108153246B (zh) * 2017-12-26 2020-07-10 哈工大机器人(合肥)国际创新研究院 一种基于指定速度的参数自适应s形速度规划插补方法
CN108415427B (zh) * 2018-02-11 2021-06-11 昆山艾派科技有限公司 机器人多步连续运动的路径拼接方法
CN108958169B (zh) * 2018-07-27 2021-04-06 山东大学 一种基于s曲线的pvt控制方法
CN110471368A (zh) * 2019-08-30 2019-11-19 长安大学 一种高速数控机床加工速度自适应的前瞻插补方法
CN110703696B (zh) * 2019-10-14 2020-07-24 杭州电子科技大学 七段式跃度线性连续数控装置高速进给加减速方法
CN111230880B (zh) * 2020-02-24 2021-06-22 西安交通大学 一种离线编程中的复杂曲面加工轨迹生成方法
CN112015142A (zh) * 2020-08-26 2020-12-01 无锡信捷电气股份有限公司 一种基于nurbs的小线段加工方法
CN111948982B (zh) * 2020-09-10 2024-01-30 成都广泰威达数控技术股份有限公司 一种基于插补算法的机械加工控制方法
CN114872035B (zh) * 2020-10-16 2023-08-22 深圳市华成工业控制股份有限公司 运动速度和路径的规划方法及减速控制和数据更新的方法
CN112305994B (zh) * 2020-11-05 2021-11-16 广东三维家信息科技有限公司 基于平均滤波的直线段平滑方法、装置、设备及存储介质
CN114609964A (zh) * 2020-12-08 2022-06-10 山东新松工业软件研究院股份有限公司 协作机器人的打磨控制方法、装置及计算机可读存储介质
CN113064077A (zh) * 2021-02-20 2021-07-02 山东科技大学 一种基于分段拟合的锂电池寿命衰减曲线拟合方法
CN113031525B (zh) * 2021-03-03 2022-06-21 福州大学 一种应用于数控加工的多项式加减速运动控制方法及设备
CN113515091B (zh) * 2021-04-02 2022-05-20 华中科技大学 一种拐角平滑样条的轨迹实时插补方法和装置
CN113467368A (zh) * 2021-07-15 2021-10-01 苏州谋迅智能科技有限公司 S形速度曲线的调整方法
CN114035513A (zh) * 2021-09-28 2022-02-11 苏州谋迅智能科技有限公司 S形速度曲线前瞻规划方法和装置、存储介质和计算设备
CN113848802B (zh) * 2021-10-13 2022-04-01 南京航空航天大学 一种动态的高速嵌套前瞻规划方法
CN114131612B (zh) * 2021-12-20 2024-01-30 中国科学院长春光学精密机械与物理研究所 基于nurbs曲线插补算法的冗余机械臂实时前瞻轨迹规划方法
CN115328032B (zh) * 2022-10-11 2023-03-31 济南邦德激光股份有限公司 基于s形加减速的b样条速度前瞻控制方法、设备和介质

Also Published As

Publication number Publication date
CN101493687A (zh) 2009-07-29

Similar Documents

Publication Publication Date Title
CN101493687B (zh) 实时前瞻全程加减速控制的nurbs曲线自适应分段插补方法
CN103064344B (zh) 一种基于nurbs曲线插补的速度平滑控制方法
Fan et al. A realtime curvature-smooth interpolation scheme and motion planning for CNC machining of short line segments
Dong et al. Smooth feedrate planning for continuous short line tool path with contour error constraint
Lai et al. On the development of a parametric interpolator with confined chord error, feedrate, acceleration and jerk
Zhang et al. Curve fitting and optimal interpolation on CNC machines based on quadratic B-splines
Feng et al. Design of a real-time adaptive NURBS interpolator with axis acceleration limit
CN107817764A (zh) 一种基于s曲线加减速算法的nurbs曲线双向自适应插补算法
CN109765887A (zh) 一种自动驾驶控制方法
CN109571473A (zh) 一种误差可控的小线段轨迹光顺方法
CN103048953B (zh) 一种基于arm9嵌入式系统和fpga的nurbs曲线分段插补方法
CN101539769A (zh) 基于二次b样条曲线对g01代码的拟合及插补方法
CN103801981A (zh) 一种用于样条插补的四次多项式速度规划算法
CN109416529A (zh) 数控系统、具有存储功能的装置及nurbs曲线插补方法
CN112486101B (zh) Nurbs曲线自适应前瞻插补方法
Jin et al. A fine-interpolation-based parametric interpolation method with a novel real-time look-ahead algorithm
CN104281099A (zh) 一种考虑加工特性的nurbs直接插补方法及装置
CN108227630A (zh) 一种采用时间参数多项式插补的自由曲面数控加工方法
CN106647637A (zh) 一种用于高质量加工的三角函数加减速控制方法
CN104020719A (zh) 速度敏感点分段nurbs曲线的s型加减速控制插补算法
Baek et al. Fast and precision NURBS interpolator for CNC systems
Baek et al. Precision NURBS interpolator based on recursive characteristics of NURBS
KR100664681B1 (ko) 매개변수곡선으로 기술된 로봇 경로의 샘플 테이터를이용한 직접보간 시스템 및 방법
JP2790643B2 (ja) 数値制御装置
CN104020718A (zh) 一种nurbs曲线参考模型自适应实时插补方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100721

Termination date: 20190302

CF01 Termination of patent right due to non-payment of annual fee