WO2019119268A1 - 数控系统、具有存储功能的装置及nurbs曲线插补方法 - Google Patents
数控系统、具有存储功能的装置及nurbs曲线插补方法 Download PDFInfo
- Publication number
- WO2019119268A1 WO2019119268A1 PCT/CN2017/117222 CN2017117222W WO2019119268A1 WO 2019119268 A1 WO2019119268 A1 WO 2019119268A1 CN 2017117222 W CN2017117222 W CN 2017117222W WO 2019119268 A1 WO2019119268 A1 WO 2019119268A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- interpolation
- speed
- buffer
- nurbs curve
- curve
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/41—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by 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/4103—Digital interpolation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34083—Interpolation general
Definitions
- the invention relates to the field of numerical control technology, in particular to a numerical control system, a device with a storage function and a NURBS curve interpolation method.
- NURBS Non-Uniform Rational B-Splines
- NURBS is the only mathematical method to define the geometry of industrial products.
- interpolation is the process of determining the tool trajectory according to a certain method. That is to say, some data on the curve is known, according to some algorithm.
- a method of obtaining an intermediate point between known points also known as "densification of data points.”
- the existing real-time speed planning NURBS interpolation technique needs to use the interpolation period as a step in each interpolation period, not only the speed limit of the NURBS curve and the length of the uninterpolated portion are obtained, but the speed limit of the current interpolation period is obtained.
- the large amount affecting the running speed of the algorithm, and occupying a large space, it is difficult to meet the real-time requirements when the interpolation period of the numerical control system is small.
- the technical problem mainly solved by the present invention is to provide a numerical control system, a device with a storage function and a NURBS curve interpolation method, which reduces the time overhead of each interpolation cycle by reducing the acquisition amount of the algorithm, and ensures the interpolation. real-time.
- the first technical solution adopted by the present invention is to provide a NURBS curve interpolation method, the method comprising:
- the second technical solution adopted by the present invention is to provide a numerical control system that performs the above NURBS curve interpolation method.
- the third technical solution adopted by the present invention is to provide a device having a storage function, in which program data is stored, and the program data can be executed to implement the above-described NURBS curve interpolation method.
- the invention has the beneficial effects that: in contrast to the prior art, the present invention maintains a look-ahead buffer by setting a forward-looking buffer, storing a curvature limit speed and a backward limit speed of an arc length interval by a forward-looking buffer, and maintaining a look-ahead buffer according to a look-ahead buffer update method. Zones can avoid the need to obtain the curvature of the curve and the remaining distance to the speed limit for each interpolation cycle. Not only can reduce the acquisition amount of the algorithm, thereby reducing the time overhead of each interpolation cycle, and also ensuring the real-time of the interpolation, thereby improving work efficiency and reducing work cost.
- FIG. 1 is a flow chart showing an embodiment of a NURBS curve interpolation method according to the present invention.
- FIG. 1 is a flow chart showing an embodiment of a NURBS curve interpolation method according to the present invention.
- the NURBS curve interpolation method of this embodiment includes:
- Step 101 Establish a look-ahead buffer and save the buffer node data in the look-ahead buffer.
- the numerical control system first needs to establish a look-ahead buffer before acquiring the interpolation speed of the current interpolation period, wherein the look-ahead buffer includes at least one buffer node, and the numerical control system stores data in each buffer node.
- the length of the lookahead buffer satisfies the condition: Where L is the length of the buffer, V max is the maximum speed of the system single axis, a max is the maximum tangential acceleration allowed by the system, and T is the interpolation period.
- the step of establishing the look-aside buffer specifically includes setting a buffer node, and sequentially storing the buffer node in the look-ahead buffer, wherein the look-ahead buffer is established from the last buffer node, and the V of the buffer node at the end point is selected.
- Backward 0, then calculate the value of each variable according to the formula that satisfies the conditions of each variable in the buffer node until the content of the first buffer node is calculated.
- the step of setting a buffer node of equal arc length specifically includes sequentially setting buffer node data u i , C i (u), V K , V backward and flag, where u i is a curve parameter, and C i (u) is Cartesian coordinate value, V K is the curvature limiting speed, V backward is the backward limiting speed, and flag is a flag for determining whether V backward is equal to V K .
- the curve parameter u i satisfies the condition:
- C'(u) is the first derivative of the NURBS curve
- C'(u) the upper right corner of the corner T refers to the transposition of C'(u)
- C"(u) is the second-order derivative of the NURBS curve
- the above formula is a second-order Taylor expansion.
- N i,p (u) is a p-time B-spline basis function defined on the aperiodic and non-uniform node vector U, and N i,p (u) satisfy the condition:
- u is a curve parameter
- p is the number of NURBS curves
- P is a control point
- w i is a weight factor
- the values of a and b are set as needed, and are not specifically limited herein.
- the basis function in order to calculate a parameter item related to a node vector in advance, is set to a matrix form.
- the basis function may also be represented in other forms, and is set as needed. No specific limitation.
- V K min(V bmax , V u ),
- V K is the curvature limiting speed
- min is the minimum function
- V bmax is the maximum centripetal acceleration limiting speed
- V u is the bow height error limiting speed
- V bmax is the maximum centripetal acceleration limiting speed
- V u is the bow height error limiting speed
- K i is the curvature of the current position
- a c is the defined maximum centripetal acceleration
- T is the interpolation period
- ⁇ is the defined maximum Allow bow height error.
- K i is the curvature of the current position
- C'(u) is the first-order derivative of the NURBS curve C(u)
- C"(u) is the second-order derivative of the NURBS curve C(u).
- the trajectory of each interpolation cycle can be regarded as a straight line, so the actual trajectory of each interpolation cycle and the theoretical curve profile will have a certain error, which is the bow height error.
- the user in order to improve the accuracy of the curve processing, the user will set one as needed.
- the maximum allowable bow height error the maximum allowable bow height error can be set as needed, and is not specifically limited herein. Among them, the bow height error satisfies the condition:
- ⁇ is the bow height error
- K i is the curvature of the current position
- V i is the speed at the current interpolation point
- T is the interpolation period
- Step 102 Acquire an interpolation speed of the current interpolation period, determine an interpolation point, and perform NURBS curve interpolation through the interpolation point.
- the interpolation speed of the current interpolation period is obtained, and the interpolation point is determined.
- the step of performing the NURBS curve interpolation by the interpolation point specifically includes acquiring the current interpolation period, and acquiring the interpolation of the current interpolation period. Compensate the speed, obtain the step size of the current interpolation period, determine the interpolation point, and perform NURBS curve interpolation through the interpolation point.
- the interpolation speed of the current interpolation period it is first necessary to acquire the current interpolation period, and then obtain the real-time speed according to the speed planning method.
- the real-time speed is obtained according to the real-time trapezoidal speed planning method.
- V i is the velocity at the current interpolation point
- V i-1 is the velocity at the previous interpolation point of the current interpolation point
- T is the interpolation period.
- V i and V i-1 are calculated by the conditional formula that satisfies the interpolation speed of the current interpolation period, and then the step size of the current interpolation period is used to obtain the step size of the current interpolation period. Determine the current interpolation point and then perform NURBS curve interpolation through the interpolation point.
- Step 103 Determine whether the NURBS curve is completed or not.
- the step of determining whether the NURBS curve is completed by interpolation specifically includes determining whether the curve parameter of the interpolation point is equal to 1. If the curve parameter of the interpolation point is equal to 1, the NURBS curve interpolation is completed.
- Step 104 If the NURBS curve is not interpolated, the next interpolation cycle is entered.
- the step of entering the next interpolation cycle specifically includes determining whether the curve parameter corresponding to the interpolation point is greater than a curve parameter of the first buffer node of the lookahead buffer, if the interpolation The forward curve buffer is updated when the corresponding curve parameter of the point is larger than the curve parameter of the first node of the lookahead buffer.
- the NURBS curve is not interpolated, it is determined whether the curve parameter corresponding to the interpolation point is greater than the curve parameter of the first buffer node of the look-ahead buffer, and if the curve parameter corresponding to the interpolation point is greater than the curve parameter of the first node of the look-ahead buffer, Update the look-ahead buffer to enter the next interpolation cycle; if the curve parameter corresponding to the interpolation point is less than or equal to the curve parameter of the first node of the look-ahead buffer, go directly to the next interpolation cycle.
- the look-ahead buffer in order to continuously update the look-ahead buffer with the interpolation, it is necessary to first calculate the curve parameter in the first buffer node in the look-ahead buffer, and then the curve parameter of the current interpolation point and the first buffer node. The curve parameters are compared. If the curve parameter corresponding to the current interpolation point is larger than the curve parameter of the first buffer node of the look-ahead buffer, the look-ahead buffer is updated, wherein the first buffer node is the first buffer node stored in the current look-ahead buffer. . Further, the step of updating the look-aside buffer specifically includes deleting the first buffer node of the look-aside buffer and inserting a new buffer node at the end of the look-ahead buffer. Wherein, the backward limit speed V backward of the buffer node between the first buffer node and the end buffer node and the flag flag determining whether V backward is equal to V K are recalculated according to the conditional formula that needs to be satisfied above.
- the present invention also provides a numerical control system, which performs the above-mentioned NURBS curve interpolation method.
- a numerical control system which performs the above-mentioned NURBS curve interpolation method.
- the present invention also provides a device having a storage function, stored with program data, and the program data can be executed to implement any of the NURBS curve interpolation methods.
- the storage function device please refer to the above text description. I will not repeat them here.
- the present invention can avoid each insertion by establishing a look-ahead buffer, saving the curvature limit speed and the backward limit speed of the arc length interval by the forward buffer, and maintaining the look-ahead buffer according to the look-ahead buffer update method.
- the complement cycle requires the curvature of the curve and the remaining distance to the speed limit. Not only can the acquisition of the algorithm be reduced, but the time overhead of each interpolation cycle is reduced, and the real-time of the interpolation is also guaranteed.
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)
- Image Generation (AREA)
Abstract
一种数控系统、具有存储功能的装置及NURBS曲线插补方法,包括:建立前瞻缓冲区,在前瞻缓冲区保存缓冲节点数据(101);根据缓冲节点数据获取当前插补周期的插补速度,并确定插补点,通过插补点进行NURBS曲线插补(102);判断NURBS曲线是否插补完成(103),如果NURBS曲线未插补完成,则进入下一个插补周期(104)。通过建立前瞻缓冲区,通过前瞻缓冲区保存等弧长间隔的曲率限制速度和后向限制速度,并按照前瞻缓冲区更新方法维护前瞻缓冲区,不仅能够减少算法的获取量,从而减小每个插补周期的时间开销,还保证了插补的实时性。
Description
本发明涉及数控技术领域,特别是一种数控系统、具有存储功能的装置及NURBS曲线插补方法。
目前市场上大部分CAD系统都支持自由曲线曲面的建模功能,对于模型中的自由曲线曲面,在数控加工过程中,一般采用微段直线逼近曲线的方式进行加工,这就造成了加工文件庞大,且因加减速变化频繁影响表面加工质量。而自由曲线插补可使整条曲线的加工速度较均匀,因而可提高表面加工质量,并可提高加工速度,适于高速加工。非均匀有理B样条(Non-Uniform Rational B-Splines,简称NURBS)为现有的曲线提供了统一的表示方法,NURBS插补已经成为当今数控领域研究的热点之一,并成为数控系统中插补技术发展的必然趋势。
NURBS是定义工业产品几何形状的唯一数学方法,在机床数控系统中,插补即为按照一定的方法确定刀具运动轨迹的过程,也就是说,已知曲线上的某些数据,按照某种算法获取已知点之间的中间点的方法,也称为“数据点的密化”。
由于现有的实时速度规划NURBS插补技术需要在每一个插补周期内以插补周期为步长,通过获取未插补部分的NURBS曲线曲率和长度对当前插补周期的速度限制,不仅获取量大,影响算法的运行速度,而且占用空间大,难以满足数控系统插补周期较小时对实时性的要求。
【发明内容】
本发明主要解决的技术问题是提供一种数控系统、具有存储功能的装置及NURBS曲线插补方法,通过减少算法的获取量来减小每个插补周期的时间开销,并保证了插补的实时性。
为解决上述技术问题,本发明采用的第一个技术方案是:提供一种NURBS曲线插补方法,所述方法包括:
建立前瞻缓冲区,在前瞻缓冲区保存缓冲节点数据;
根据缓冲节点数据获取当前插补周期的插补速度,并确定插补点,通过所
述插补点进行NURBS曲线插补;
判断所述NURBS曲线是否插补完成;
如果所述NURBS曲线未插补完成,则进入下一个插补周期。
为解决上述技术问题,本发明采用的第二个技术方案是:提供一种数控系统,所述数控系统执行上述NURBS曲线插补方法。
为解决上述技术问题,本发明采用的第三个技术方案是:提供一种具有存储功能的装置,存储有程序数据,所述程序数据能够被执行以实现上述NURBS曲线插补方法。
本发明的有益效果是:区别于现有技术,本发明通过建立前瞻缓冲区,通过前瞻缓冲区保存等弧长间隔的曲率限制速度和后向限制速度,并按照前瞻缓冲区更新方法维护前瞻缓冲区,可以避免每个插补周期都需要对曲线曲率和剩余距离对速度的限制进行获取。不仅能够减少算法的获取量,从而减小每个插补周期的时间开销,还保证了插补的实时性,进而提高工作效率,降低工作成本。
图1是本发明NURBS曲线插补方法一实施方式的流程图示意图。
下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,均属于本发明保护的范围。
请参阅图1,图1是本发明NURBS曲线插补方法一实施方式的流程图示意图。本实施方式的NURBS曲线插补方法包括:
步骤101:建立前瞻缓冲区,在前瞻缓冲区保存缓冲节点数据。
在一个具体的实施场景中,数控系统在获取当前插补周期的插补速度之前首先需要建立前瞻缓冲区,其中,前瞻缓冲区包括至少一个缓冲节点,数控系统将数据存储在每个缓冲节点中。其中,前瞻缓冲区的长度满足条件:
其中,L为缓冲区长度,Vmax为系统单轴最大速度,amax为系统允许的最大切向加速度,T为插补周期。
在本实施方式中,建立前瞻缓冲区的步骤具体包括设置缓冲节点,将缓冲节点依次保存在前瞻缓冲区,其中,前瞻缓冲区的建立是从最后一个缓冲节点开始,选择终点处缓冲节点的Vbackward=0,然后按照缓冲节点中各个变量所满足条件的公式计算各个变量的值,直至第一个缓冲节点的内容计算完毕。
具体地,设置缓冲节点的步骤具体包括设置等弧长的缓冲节点,使每个缓冲节点的弧长满足条件:ΔL=VmaxT,其中,ΔL为每个缓冲节点的弧长,Vmax为系统单轴最大速度,T为插补周期。进一步地,设置等弧长的缓冲节点的步骤具体包括依次设置缓冲节点数据ui,Ci(u),VK,Vbackward以及flag,其中,ui为曲线参数,Ci(u)为笛卡尔坐标值,VK为曲率限制速度,Vbackward为后向限制速度,flag为判断Vbackward是否等于VK的标志。
更进一步地,需要分别计算出ui,Ci(u),VK,Vbackward以及flag,然后依次将ui,Ci(u),VK,Vbackward以及flag存储在缓冲节点中。
在本实施方式中,曲线参数ui满足条件:
dS=(Vi-1+Vi)T/2,
其中,dS为插补周期步长的微分,C'(u)是所述NURBS曲线的一阶导矢,C'(u)右上角的角标T指的是C'(u)的转置,C”(u)是所述NURBS曲线的二阶导矢,上述公式为二阶泰勒展开式。
笛卡尔坐标值Ci(u)满足条件:
其中,Ni,p(u)为定义在非周期且非均匀节点矢量U上的p次B样条基函数,且Ni,p(u)满足条件:
其中,u为曲线参数,p为NURBS曲线次数,P为控制点,wi为权因子,且wi>0,在本实施方式中,a=0,b=1,在其它的实施方式中,a,b的值根据需要进行设定,在此不作具体限定。
其中,节点矢量U的集合满足条件:U={0,0...,0,up+1,...um-p-1,1,1,...,1},其中,0和1的个数均为p+1个,且m=n+p+1,其中,m+1为节点个数,n+1为控制点个数。
在本实施方式中,为了预先计算与节点矢量相关的参数项,将基函数设置为矩阵形式,在其它的实施方式中,也可以将基函数以其它的形式表示,根据需要设定,在此不作具体限定。
缓冲节点的曲率限制速度满足条件:VK=min(Vbmax,Vu),
其中,VK为曲率限制速度,min为求最小值函数,Vbmax为最大向心加速度限制速度,Vu为弓高误差限制速度。
其中,Vbmax为最大向心加速度限制速度,Vu为弓高误差限制速度,Ki为当前位置的曲率,ac为定义的最大向心加速度,T为插补周期,δ为定义的最大允许弓高误差。
其中,Ki为当前位置的曲率,C'(u)为NURBS曲线C(u)的一阶导矢,C”(u)为NURBS曲线C(u)的二阶导矢。
由于数控系统加工非直线的曲线时,每个插补周期的轨迹可看作一条直线,因此每个插补周期的实际轨迹和理论曲线轮廓会有一定的误差,该误差即为弓高误差。在本实施方式中,为了提高曲线加工的精度,用户会根据需要设置一
个最大允许弓高误差,该最大允许弓高误差可以根据需要设置,在此不作具体限定。其中弓高误差满足条件:
其中,δ为弓高误差,Ki为当前位置的曲率,Vi为当前插补点处的速度,T为插补周期。
缓冲节点的后向限制速度满足条件:Vbackward=min(VK,Vbackmax),其中,其中,min为求最小值函数,VK为曲率限制速度,Vback为所述前瞻缓冲区最后一个缓冲节点的后向限制速度,amax为系统允许的最大切向加速度,ΔL为每个缓冲节点的弧长。
步骤102:获取当前插补周期的插补速度,并确定插补点,通过插补点进行NURBS曲线插补。
在一个具体的实施场景中,获取当前插补周期的插补速度,并确定插补点,通过插补点进行NURBS曲线插补的步骤具体包括获取当前插补周期,获取当前插补周期的插补速度,获取当前插补周期的步长,确定插补点,通过插补点进行NURBS曲线插补。
具体地,在获取当前插补周期的插补速度之前首先需要获取当前插补周期,然后再根据速度规划方法获取实时速度,在本实施方式中,是根据实时梯形速度规划的方法获取实时速度的,其中,获取当前插补周期的插补速度的步骤具体包括根据缓冲节点数据获取Vmax,Vtarget,Vbmax,Vu,Vforward,Vbackward,获取Vmax,Vtarget,Vbmax,Vu,Vforward,Vbackward的最小值,即插补点的速度满足条件:Vi=min(Vmax,Vtarget,Vbmax,Vu,Vforward,Vbackward),其中,Vi为当前插补点处的速度,min为求最小值函数,Vmax为系统单轴最大速度,Vtarget为目标速度,Vbmax为最大向心加速度限制速度,Vu为弓高误差限制速度,Vforward为向前限制速度,Vbackward为向后限制速度。其中,Vmax,Vtarget,Vbmax,Vu,Vbackward可以通过上述实施方式中各参数所满足的条件公式计算,向前限制速度Vforward满足条件:Vforward=Vi-1+amaxT,其中,Vforward为向前限制速度,Vi-1为当前插补点前一插补点处的速度,amax为允许的最大切向加速度,T为插补周期。
在本实施方式中,当前插补周期的步长满足条件:dS=(Vi-1+Vi)T/2,其中,
S为插补周期的步长,dS为插补周期步长的微分,Vi为当前插补点处的速度,Vi-1为当前插补点的前一插补点处的速度,T为插补周期。具体地,通过上述获取当前插补周期的插补速度满足的条件公式计算出Vi和Vi-1,然后通过当前插补周期的步长满足条件公式获取当前插补周期的步长,进而确定当前插补点,然后通过插补点进行NURBS曲线插补。
步骤103:判断NURBS曲线是否插补完成。
在一个具体的实施场景中,判断NURBS曲线是否插补完成的步骤具体包括判断插补点的曲线参数是否等于1,如果插补点的曲线参数等于1,则NURBS曲线插补完成。
在本实施方式中,为了判断NURBS曲线是否插补完成,首先需要判断当前插补周期插补点的曲线参数是否等于1,以当前插补周期为i为例,ui满足条件:当ui=1时,则NURBS曲线插补完成,进而插补结束,可选的,当ui≠1时,NURBS曲线插补未完成。
步骤104:如果NURBS曲线未插补完成,则进入下一个插补周期。
在一个具体的实施场景中,如果NURBS曲线未插补完成,则进入下一个插补周期的步骤具体包括判断插补点对应的曲线参数是否大于前瞻缓冲区首缓冲节点的曲线参数,如果插补点对应的曲线参数大于前瞻缓冲区首节点的曲线参数,则更新前瞻缓冲区。
具体地,如果NURBS曲线未插补完成,判断插补点对应的曲线参数是否大于前瞻缓冲区首缓冲节点的曲线参数,如果插补点对应的曲线参数大于前瞻缓冲区首节点的曲线参数,则更新前瞻缓冲区,进入下一个插补周期;如果插补点对应的曲线参数小于等于前瞻缓冲区首节点的曲线参数,则直接进入下一个插补周期。
在本实施方式中,为了使前瞻缓冲区随着插补的进行不断更新,需要首先计算出前瞻缓冲区中首缓冲节点中的曲线参数,然后将当前插补点的曲线参数与首缓冲节点中的曲线参数进行比较,如果当前插补点对应的曲线参数大于前瞻缓冲区首缓冲节点的曲线参数,则更新前瞻缓冲区,其中,首缓冲节点即为当前前瞻缓冲区存储的第一个缓冲节点。进一步地,更新前瞻缓冲区的步骤具体包括删除前瞻缓冲区的首缓冲节点,并在前瞻缓冲区的末端插入新的缓冲节
点。其中,位于首缓冲节点和末端缓冲节点之间的缓冲节点的向后限制速度Vbackward和判断Vbackward是否等于VK的标志flag根据上述需要满足的条件公式重新计算。
本发明还提供一种数控系统,该数控系统执行上述任一所述的NURBS曲线插补方法,该数控系统的具体工作方法请参阅上述文字描述,在此不再赘述。
本发明还提供一种具有存储功能的装置,存储有程序数据,程序数据能够被执行以实现任一所述的NURBS曲线插补方法,该具有存储功能装置的具体工作方法请参阅上述文字描述,在此不再赘述。
区别于现有技术,本发明通过建立前瞻缓冲区,通过前瞻缓冲区保存等弧长间隔的曲率限制速度和后向限制速度,并按照前瞻缓冲区更新方法维护前瞻缓冲区,可以避免每个插补周期都需要对曲线曲率和剩余距离对速度的限制进行获取。不仅能够减少算法的获取量,从而减小每个插补周期的时间开销,还保证了插补的实时性。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所做的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (21)
- 一种NURBS曲线插补方法,其特征在于,所述方法包括:建立前瞻缓冲区,在所述前瞻缓冲区保存缓冲节点数据;根据所述缓冲节点数据获取当前插补周期的插补速度,并确定插补点,通过所述插补点进行NURBS曲线插补;判断所述NURBS曲线是否插补完成,如果所述NURBS曲线未插补完成,则进入下一个插补周期。
- 根据权利要求1所述的NURBS曲线插补方法,其特征在于,所述建立前瞻缓冲区的步骤具体包括:设置缓冲节点;将所述缓冲节点依次保存在所述前瞻缓冲区。
- 根据权利要求3所述的NURBS曲线插补方法,其特征在于,所述设置缓冲节点的步骤具体包括:设置等弧长的缓冲节点;使所述每个缓冲节点的弧长满足以下条件:ΔL=VmaxT;其中,ΔL为每个缓冲节点的弧长,Vmax为系统单轴最大速度,T为插补周期。
- 根据权利要求4所述的NURBS曲线插补方法,其特征在于,所述设置等弧长的缓冲节点的步骤具体包括:依次设置所述缓冲节点数据ui,Ci(u),VK,Vbackward以及flag;其中,所述ui为曲线参数,所述Ci(u)为笛卡尔坐标值,所述VK为曲率限制速度,所述Vbackward为后向限制速度,所述flag为判断所述Vbackward是否等于所述VK的标志。
- 根据权利要求5所述的NURBS曲线插补方法,其特征在于,所述缓冲节点的曲率限制速度满足条件:VK=min(Vbmax,Vu);其中,VK为曲率限制速度,min为求最小值函数,Vbmax为最大向心加速度限制速度,Vu为弓高误差限制速度。
- 根据权利要求1所述的NURBS曲线插补方法,其特征在于,所述获取当前插补周期的插补速度,并确定插补点,通过所述插补点进行NURBS曲线插补的步骤具体包括:获取当前插补周期;获取所述当前插补周期的插补速度;获取所述当前插补周期的步长;确定插补点,通过所述插补点进行NURBS曲线插补。
- 根据权利要求13所述的NURBS曲线插补方法,其特征在于,所述获取所述当前插补周期的插补速度的步骤具体包括:根据所述缓冲节点数据获取Vmax,Vtarget,Vbmax,Vu,Vforward,Vbackward;获取所述Vmax,Vtarget,Vbmax,Vu,Vforward,Vbackward的最小值,所述插补点的速度满足条件:Vi=min(Vmax,Vtarget,Vbmax,Vu,Vforward,Vbackward);其中,Vi为当前插补点处的插补速度,min为求最小值函数,Vmax为系统单轴最大速度,Vtarget为目标速度,Vbmax为最大向心加速度限制速度,Vu为弓高误差限制速度,Vforward为向前限制速度,Vbackward为向后限制速度。
- 根据权利要求14所述的NURBS曲线插补方法,其特征在于,所述向前限制速度满足条件:Vforward=Vi-1+amaxT;其中,Vforward为向前限制速度,Vi-1为所述当前插补点前一插补点处的速度,amax为允许的最大切向加速度,T为插补周期。
- 根据权利要求14的NURBS曲线插补方法,其特征在于,所述当前插补周期的步长满足条件:dS=(Vi-1+Vi)T/2;其中,S为插补周期的步长,Vi为当前插补点处的速度,Vi-1为所述当前插补点的前一插补点处的速度,T为插补周期。
- 根据权利要求1所述的NURBS曲线插补方法,其特征在于,所述判断所述NURBS曲线是否插补完成的步骤具体包括:判断所述插补点的曲线参数是否等于1;如果所述插补点的曲线参数等于1,则所述NURBS曲线插补完成。
- 根据权利要求1所述的NURBS曲线插补方法,其特征在于,所述如果所述NURBS曲线未插补完成,则进入下一个插补周期的步骤具体包括:判断所述插补点对应的曲线参数是否大于所述前瞻缓冲区首缓冲节点的曲线参数;如果所述插补点对应的曲线参数大于所述前瞻缓冲区首节点的曲线参数,则更新所述前瞻缓冲区,进入下一个插补周期。
- 根据权利要求18所述的NURBS曲线插补方法,其特征在于,所述如果所述插补点对应的曲线参数大于所述前瞻缓冲区首节点的曲线参数,则更新所述前瞻缓冲区的步骤具体包括:删除所述前瞻缓冲区的首缓冲节点;在所述前瞻缓冲区的末端插入新的缓冲节点。
- 一种数控系统,其特征在于,所述数控系统执行权利要求1-19任一所 述的NURBS曲线插补方法。
- 一种具有存储功能的装置,其特征在于,存储有程序数据,所述程序数据能够被执行以实现权利要求1-19任一所述的NURBS曲线插补方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201780036357.7A CN109416529B (zh) | 2017-12-19 | 2017-12-19 | 数控系统、具有存储功能的装置及nurbs曲线插补方法 |
PCT/CN2017/117222 WO2019119268A1 (zh) | 2017-12-19 | 2017-12-19 | 数控系统、具有存储功能的装置及nurbs曲线插补方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/117222 WO2019119268A1 (zh) | 2017-12-19 | 2017-12-19 | 数控系统、具有存储功能的装置及nurbs曲线插补方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019119268A1 true WO2019119268A1 (zh) | 2019-06-27 |
Family
ID=65463265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/117222 WO2019119268A1 (zh) | 2017-12-19 | 2017-12-19 | 数控系统、具有存储功能的装置及nurbs曲线插补方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109416529B (zh) |
WO (1) | WO2019119268A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111781896A (zh) * | 2020-06-30 | 2020-10-16 | 大族激光科技产业集团股份有限公司 | 一种样条曲线的插补控制方法及加工设备 |
CN111948982A (zh) * | 2020-09-10 | 2020-11-17 | 成都广泰威达数控技术股份有限公司 | 一种基于插补算法的机械加工控制方法 |
CN113156890A (zh) * | 2020-01-22 | 2021-07-23 | 科德数控股份有限公司 | 一种非实时插补数控系统的倍率控制方法 |
CN113534743A (zh) * | 2021-06-23 | 2021-10-22 | 广东安达智能装备股份有限公司 | 结合空间曲线插补算法的点胶机连续运动轨迹控制和优化方法 |
CN113867272A (zh) * | 2021-10-18 | 2021-12-31 | 天津理工大学 | 一种基于切线矢量的用于数控系统椭圆弧及圆弧的速度规划方法 |
CN114019910A (zh) * | 2021-10-29 | 2022-02-08 | 哈尔滨工程大学 | 一种小线段刀具轨迹实时全局光顺方法 |
CN114625004A (zh) * | 2022-03-07 | 2022-06-14 | 中南大学 | 一种基于混合角度分割的自适应前瞻控制算法 |
CN115237058A (zh) * | 2022-09-21 | 2022-10-25 | 济南邦德激光股份有限公司 | 基于牛顿迭代法的b样条实时插补方法、设备和存储介质 |
CN116880341A (zh) * | 2023-09-07 | 2023-10-13 | 上海泛腾电子科技有限公司 | 基于工业以太网总线的高精度运动控制系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111230880B (zh) * | 2020-02-24 | 2021-06-22 | 西安交通大学 | 一种离线编程中的复杂曲面加工轨迹生成方法 |
CN111665785B (zh) * | 2020-06-15 | 2021-06-15 | 北京航空航天大学 | 一种六轴五联动激光加工开放式数控系统及其工作方法 |
CN112269356B (zh) * | 2020-10-27 | 2022-03-18 | 南京溧航仿生产业研究院有限公司 | 一种机器人nurbs轨迹插补方法 |
CN114063568B (zh) * | 2021-11-18 | 2023-11-21 | 上海维宏电子科技股份有限公司 | 基于三次卷积插值实现数控系统倍率调整控制的方法、装置、处理器及计算机可读存储介质 |
CN116079714A (zh) * | 2022-12-02 | 2023-05-09 | 盐城工学院 | 一种基于b样条的六轴机械臂轨迹规划方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0770941A1 (en) * | 1995-05-09 | 1997-05-02 | Fanuc Ltd | Method and device for interpolating free-form surface |
JP2000347715A (ja) * | 1999-06-09 | 2000-12-15 | Toshiba Mach Co Ltd | 数値制御装置 |
CN101976060A (zh) * | 2010-11-17 | 2011-02-16 | 西南交通大学 | 基于机床动力学和曲线特性的nurbs插补方法 |
CN103149879A (zh) * | 2011-12-07 | 2013-06-12 | 沈阳高精数控技术有限公司 | 一种基于弧长的数控系统椭圆插补方法 |
CN107291047A (zh) * | 2017-07-14 | 2017-10-24 | 福建工程学院 | 一种基于多约束条件的正反双向nurbs曲线插补方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10139638A1 (de) * | 2001-08-11 | 2003-02-20 | Heidenhain Gmbh Dr Johannes | Anordnung zur Erzeugung von Führungsgrößen für Regelkreise einer numerisch gesteuerten Maschine |
CN101510087B (zh) * | 2009-01-21 | 2010-11-10 | 西安交通大学 | 微小线段高速加工的前瞻自适应速度控制方法 |
CN101493687B (zh) * | 2009-03-02 | 2010-07-21 | 广西大学 | 实时前瞻全程加减速控制的nurbs曲线自适应分段插补方法 |
CN101957611B (zh) * | 2009-07-16 | 2012-05-23 | 中国科学院沈阳计算技术研究所有限公司 | 样条曲线实时插补方法 |
CN101758422B (zh) * | 2009-12-10 | 2011-01-26 | 华中科技大学 | 一种数控装置技术指标的检测分析装置 |
CN102141794B (zh) * | 2011-02-25 | 2012-11-21 | 广西大学 | 一种用于数控系统的连续轨迹段间衔接速度处理方法 |
CN102141795B (zh) * | 2011-03-23 | 2012-07-25 | 中国地质大学(武汉) | 一种分层重构的nurbs曲线插补器及其配置方法 |
CN102419570B (zh) * | 2011-09-29 | 2013-10-16 | 上海大学 | 数控机床高速加工的加减速前瞻控制方法 |
CN102945020B (zh) * | 2012-10-23 | 2015-03-11 | 北京配天技术有限公司 | 速度前瞻的方法及其数控装置、数控系统 |
CN103970073B (zh) * | 2013-01-24 | 2017-03-15 | 北京配天技术有限公司 | 一种用于数控系统的加减速规划方法、装置及数控机床 |
CN104238458A (zh) * | 2013-06-08 | 2014-12-24 | 沈阳高精数控技术有限公司 | 一种nurbs曲线高速前瞻插补方法 |
KR101743795B1 (ko) * | 2013-07-16 | 2017-06-05 | 엘에스산전 주식회사 | 위치제어 시스템에서 곡선보간 방법 |
CN104597847A (zh) * | 2013-10-31 | 2015-05-06 | 中国科学院沈阳计算技术研究所有限公司 | 基于Akima样条曲线拟合的前瞻插补方法 |
CN104678899B (zh) * | 2015-02-11 | 2017-12-15 | 北京配天技术有限公司 | 曲线速度规划方法、装置及其数控加工路径数据处理方法 |
CN106444637B (zh) * | 2015-08-04 | 2019-12-03 | 深圳市雷赛智能控制股份有限公司 | 一种微小线段动态前瞻控制方法和装置 |
CN107272597B (zh) * | 2017-07-14 | 2019-08-30 | 福建工程学院 | 一种基于进退法的nurbs曲线插补快速预读处理方法 |
CN107291053A (zh) * | 2017-07-14 | 2017-10-24 | 福建工程学院 | 一种nurbs曲线直接插补柔性加减速控制方法 |
-
2017
- 2017-12-19 CN CN201780036357.7A patent/CN109416529B/zh active Active
- 2017-12-19 WO PCT/CN2017/117222 patent/WO2019119268A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0770941A1 (en) * | 1995-05-09 | 1997-05-02 | Fanuc Ltd | Method and device for interpolating free-form surface |
JP2000347715A (ja) * | 1999-06-09 | 2000-12-15 | Toshiba Mach Co Ltd | 数値制御装置 |
CN101976060A (zh) * | 2010-11-17 | 2011-02-16 | 西南交通大学 | 基于机床动力学和曲线特性的nurbs插补方法 |
CN103149879A (zh) * | 2011-12-07 | 2013-06-12 | 沈阳高精数控技术有限公司 | 一种基于弧长的数控系统椭圆插补方法 |
CN107291047A (zh) * | 2017-07-14 | 2017-10-24 | 福建工程学院 | 一种基于多约束条件的正反双向nurbs曲线插补方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113156890B (zh) * | 2020-01-22 | 2023-07-18 | 科德数控股份有限公司 | 一种非实时插补数控系统的倍率控制方法 |
CN113156890A (zh) * | 2020-01-22 | 2021-07-23 | 科德数控股份有限公司 | 一种非实时插补数控系统的倍率控制方法 |
CN111781896A (zh) * | 2020-06-30 | 2020-10-16 | 大族激光科技产业集团股份有限公司 | 一种样条曲线的插补控制方法及加工设备 |
CN111948982A (zh) * | 2020-09-10 | 2020-11-17 | 成都广泰威达数控技术股份有限公司 | 一种基于插补算法的机械加工控制方法 |
CN111948982B (zh) * | 2020-09-10 | 2024-01-30 | 成都广泰威达数控技术股份有限公司 | 一种基于插补算法的机械加工控制方法 |
CN113534743A (zh) * | 2021-06-23 | 2021-10-22 | 广东安达智能装备股份有限公司 | 结合空间曲线插补算法的点胶机连续运动轨迹控制和优化方法 |
CN113534743B (zh) * | 2021-06-23 | 2023-02-07 | 广东安达智能装备股份有限公司 | 结合空间曲线插补算法的点胶机连续运动轨迹控制和优化方法 |
CN113867272A (zh) * | 2021-10-18 | 2021-12-31 | 天津理工大学 | 一种基于切线矢量的用于数控系统椭圆弧及圆弧的速度规划方法 |
CN114019910A (zh) * | 2021-10-29 | 2022-02-08 | 哈尔滨工程大学 | 一种小线段刀具轨迹实时全局光顺方法 |
CN114019910B (zh) * | 2021-10-29 | 2023-07-21 | 哈尔滨工程大学 | 一种小线段刀具轨迹实时全局光顺方法 |
CN114625004A (zh) * | 2022-03-07 | 2022-06-14 | 中南大学 | 一种基于混合角度分割的自适应前瞻控制算法 |
CN114625004B (zh) * | 2022-03-07 | 2024-05-07 | 中南大学 | 一种基于混合角度分割的自适应前瞻控制算法 |
CN115237058A (zh) * | 2022-09-21 | 2022-10-25 | 济南邦德激光股份有限公司 | 基于牛顿迭代法的b样条实时插补方法、设备和存储介质 |
CN116880341A (zh) * | 2023-09-07 | 2023-10-13 | 上海泛腾电子科技有限公司 | 基于工业以太网总线的高精度运动控制系统 |
CN116880341B (zh) * | 2023-09-07 | 2023-12-05 | 上海泛腾半导体技术有限公司 | 基于工业以太网总线的高精度运动控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109416529A (zh) | 2019-03-01 |
CN109416529B (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019119268A1 (zh) | 数控系统、具有存储功能的装置及nurbs曲线插补方法 | |
Liu et al. | Development and implementation of a NURBS interpolator with smooth feedrate scheduling for CNC machine tools | |
CN109976262B (zh) | 一种针对微线段加工的全局曲率连续光顺方法 | |
Nam et al. | A study on a generalized parametric interpolator with real-time jerk-limited acceleration | |
CN106393106B (zh) | 参数自适应密化的机器人nurbs曲线运动插补方法 | |
CN109623166B (zh) | 一种激光切割的拐角处理方法及系统 | |
WO2011052800A1 (ja) | 工具経路の生成方法および装置 | |
CN106814694B (zh) | 一种高速高精度的参数曲线前瞻插补方法 | |
CN112269356B (zh) | 一种机器人nurbs轨迹插补方法 | |
JP5615377B2 (ja) | 工具経路の生成方法および生成装置 | |
CN108073138B (zh) | 适用于高速高精加工的椭圆弧平滑压缩插补算法 | |
CN103809521B (zh) | 基于弦截法的样条曲线插补方法 | |
CN112486101B (zh) | Nurbs曲线自适应前瞻插补方法 | |
CN113276130B (zh) | 一种基于点云切片的自由曲面喷涂路径规划方法及系统 | |
CN105045211B (zh) | 一种等弓高误差变步长切线插补方法 | |
CN113985817B (zh) | 一种可在线插补的机器人小线段轨迹局部光顺方法及系统 | |
Chen et al. | Augmented Taylor's expansion method for B-spline curve interpolation for CNC machine tools | |
CN115202293B (zh) | 一种工业机器人两段式速度规划方法 | |
CN104317251A (zh) | 基于Obrechkoff算法的三次NURBS曲线实时插补方法 | |
JPH04230503A (ja) | 数値制御機械における工具軌道輪郭を求める方法 | |
CN113504764A (zh) | 基于位置矢量加权积分的连续线段数控加工路径平滑方法 | |
CN109507955B (zh) | 一种基于数控系统的刀路偏置路径方法 | |
CN114815743A (zh) | 一种数控机床的曲线插补方法、系统及存储介质 | |
CN114488941A (zh) | 微小线段的轨迹光顺方法、介质及机床数控设备 | |
CN109991921B (zh) | 一种平顺b样条轨迹直接生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17935130 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17935130 Country of ref document: EP Kind code of ref document: A1 |