公开/公告号CN101178594A
专利类型发明专利
公开/公告日2008-05-14
原文格式PDF
申请/专利权人 上海奈凯电子科技有限公司;
申请/专利号CN200710171564.1
申请日2007-11-30
分类号G05B19/41(20060101);
代理机构31002 上海智信专利代理有限公司;
代理人王洁
地址 200032 上海市斜土路1221号305室
入库时间 2023-12-17 20:11:07
法律状态公告日
法律状态信息
法律状态
2012-07-11
专利权人的姓名或者名称、地址的变更 IPC(主分类):G05B19/41 变更前: 变更后: 申请日:20071130
专利权人的姓名或者名称、地址的变更
2011-11-30
专利权的转移 IPC(主分类):G05B19/41 变更前: 变更后: 登记生效日:20111021 申请日:20071130
专利申请权、专利权的转移
2009-07-22
授权
授权
2008-07-09
实质审查的生效
实质审查的生效
2008-05-14
公开
公开
技术领域
本发明涉及数控机床系统领域,特别涉及数控机床运动控制技术领域,具体是指一种数控机床系统中实现对刀路进行插补控制的方法。
背景技术
制造业是国民经济的基础产业,制造业的水平高低是衡量一个国家工业发达程度的重要标志。数控机床质量水平的高低,关系着国家制造业水平的高低。
同时,非均匀有理B样条(Nurbs,Non-Uniform Rational B-Spline)曲线是一种具有局部性的、形式简单的描述空间中曲线的方法,其在CAD软件和CAM软件中经常用于曲线曲面造型设计。
虽然在实际生产中,数控机床对形状的加工,都是采用“线段构成平面”的方法,但是目前还没有成熟的技术将该Nurbs曲线方法用于数控系统的插补部分。因为现有技术中,将该方法用于曲线曲面造型的时候,主要关注点在于对于形状的刻画,而不像将其用于制造加工时需要关心其实际的使用环境。而在进行数控机床刀路的插补过程中,需要考虑速度、加速度规划和精度控制的要求。这些方面目前还没有一个比较好的方法,这样就给人们的生产和工作带来了一定的不便。
发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种能够巧妙利用Nurbs曲线对刀路进行控制、过程快速高效、操作简单快捷、工作性能稳定可靠、适用范围较为广泛的数控机床系统中实现对刀路进行插补控制的方法。
为了实现上述的目的,本发明的数控机床系统中实现对刀路进行插补控制的方法如下:
该数控机床系统中实现对刀路进行插补控制的方法,其主要特点是,所述的方法包括以下步骤:
(1)将数控机床系统所需要加工的形状采用非均匀有理B样条曲线进行描述;
(2)将所述的非均匀有理B样条曲线在满足系统预设的精度要求的条件下进行离散化,并形成一位置点列;
(3)对所述的位置点列中的各点在满足系统预设的加速度和精度要求的条件下进行速度规划,并得到各点所对应的速度;
(4)根据所述的位置点列和其中各点所对应的速度形成插补序列;
(5)根据所述的插补序列产生刀路控制信号并发送给数控机床系统中的动力装置。
该数控机床系统中实现对刀路进行插补控制的方法中的非均匀有理B样条曲线根据以下公式表示为一分段有理多项式矢函数:
其中,p(u)为位置矢量,di为控制顶点,n为控制顶点总数,ωi为与控制顶点di相联系的权因子,k为非均匀有理B样条曲线的阶次,Ni,k(u)为由节点矢量V={v0,v1,…,vn+k+1}按以下的德布尔考克斯递推公式决定的k次规范B样条基函数:
其中,对V={V0,v1,...,Vn+k+1}中的元素进行单位化后得到0=v0≤…≤vi ≤vi+1≤…≤vn+k+1=1,u为参数,且0≤u≤1。
该数控机床系统中实现对刀路进行插补控制的方法中的将非均匀有理B样条曲线进行离散化并形成一位置点列,包括以下步骤:
(21)根据以下公式得到初始参数序列:
U0={0,d,2d,3d,…,(N-1)d,1};
其中,
(22)将所述的初始参数序列U0作为节点矢量,根据所述的非均匀有理B样条曲线的分段有理多项式矢函数计算得到初始参数序列U0所对应的初始位置点列:
P0={p(u1),p(u2),p(u3),…,p(un)},ui∈U,0<i<n;
(23)依次遍历每个ui,根据以下公式计算ui,i+1:
(24)根据所述的非均匀有理B样条曲线的分段有理多项式矢函数计算得到ui,i+1所对应的位置p(ui,i+1):
(25)判断p(ui,i+1)到p(ui)和p(ui+1)之间的连线的距离是否小于系统预设的精度误差ε;
(26)如果是,则表明ui和ui+1的选取合理,对ui的处理结束;
如果否,则将ui,i+1加入初始参数序列中,得到:
U={...,ui,ui,i+1,ui+1…};
同时,将p(ui,i+1)加入初始位置点列中,得到:
P={…,p(ui),p(ui,i+1),p(ui+1),…};
然后用ui+1代替ui,i+1。
重复上述步骤(23)~(26),直到找到一个ui,i+1,使得p(ui,i+1)到p(ui)和p(ui+1)之间的连线的距离小于系统预设的精度误差ε;
(27)重复上述步骤(23),直到遍历所有的ui,并将得到的P作为位置点列返回。
该数控机床系统中实现对刀路进行插补控制的方法中的精度误差ε为0.001毫米~0.05毫米。
该数控机床系统中实现对刀路进行插补控制的方法中的对位置点列中的各点进行速度规划并得到对应的速度,包括以下步骤:
(31)根据以下公式计算出所述的位置点列P中每个点p(ui)所对应的曲率半径ri:
其中,a、b、c分别为由p(ui-1)、p(ui)、p(ui+1)所构成的三角形的三边长度,
(32)根据以下关系式计算出所述的位置点列P中每个点p(ui)所对应的最大运行速度vix:
其中,r0为参考半径,v0为r0情况下所允许最大参考速度。
该数控机床系统中实现对刀路进行插补控制的方法中的根据位置点列和其中各点所对应的速度形成插补序列,包括以下步骤:
(1)使用以下公式表示所述的位置点列中的相邻两点之间的插补段增量信息:
(p(ui+1)-p(ui),vix);其中i=0,1,…,n-1;
(2)根据各个插补段增量信息形成插补序列Sn:
Sn={(p(u1)-p(u0),v0x),(p(u2)-p(u1),v1x),(p(u3)-p(u2),v2x),…,(p(un)-p(un-1),v(n-1)x)}。
该数控机床系统中实现对刀路进行插补控制的方法中的根据插补序列产生刀路控制信号,包括以下步骤:
(1)依次在每个系统预设的控制周期内将位置增量信息p(ui+1)-p(ui)转换为脉冲当量的整数倍,其中i=0,1,…,n-1;
(2)再将位置增量信息转换为脉冲信号。
该数控机床系统中实现对刀路进行插补控制的方法中的控制周期为0.0005秒~0.005秒。
该数控机床系统中实现对刀路进行插补控制的方法中的动力装置可以为步进电机或者伺服驱动器。
采用了该发明的数控机床系统中实现对刀路进行插补控制的方法,由于其将数控机床所加工的对象的形状采用多条三次非均匀有理B样条(Nurbs)曲线来描述,并在满足精度要求的情况下将Nurbs解析曲线离散化为位置点列,并在满足位置精度和加速度要求的情况下指定了位置点列中各点所在位置的最大速度,从而确保了加工过程中刀路的最大偏差不会超过允许的范围,并使得各点的运行速度受到有效约束,不仅过程快速高效,操作简单快捷,而且工作性能稳定可靠,适用范围较为广泛,为数控机床控制技术的进一步发展奠定了坚实的基础。
附图说明
图1为本发明的数控机床系统中实现对刀路进行插补控制的方法中判断p(u′)到p(ui)和p(ui+1)之间的连线的距离是否小于系统预设的精度误差ε的示意图。
具体实施方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
首先,对本发明中的与数控机床技术领域相关的几个名词解释如下:
NURBS曲线——非均匀有理B样条(Non-Uniform Rational B-Spline)曲线。
刀路——在制造业中,人们使用G/M代码或其他能用来描述加工轨迹的文件格式来描述的一条加工轨迹,该轨迹就称为刀路。
插补——对刀路的细化过程。人们在数控加工中描述的往往只是刀路的起点、终点,并不描述机床是如何从起点运动到终点的,这个运动过程需要机床控制系统(简称数控系统)来完成。一般思想是将刀路细化为一系列小的线段,通过控制机床通过这些小线段的端点,也就等效于让机床从起点运动到终点,这个细化的过程就称为插补。
解析曲线——能用函数表达式刻画的曲线方程。如y=x+1表示一条二维空间中的直线。
动力装置——为机床提供驱动力的装置。一般使用步进电机、伺服驱动器。
控制周期——数控系统在跟动力装置进行数据交换的时候,总是把时间分成一个一个小的片断,该片断的长度称为控制周期。控制周期一般取0.0005~0.005秒。数控系统通过控制在每个控制周期中向动力装置发送的数据量来控制机床的运行速度和路径。
脉冲当量——机床能分辨的最小距离。机床的任何运动距离都是脉冲当量的整数倍。
请参阅图1所示,该数控机床系统中实现对刀路进行插补控制的方法,包括以下步骤:
(1)将数控机床系统所需要加工的形状采用非均匀有理B样条曲线进行描述;该非均匀有理B样条曲线根据以下公式表示为一分段有理多项式矢函数:
其中,p(u)为位置矢量,di为控制顶点,n为控制顶点总数,ωi为与控制顶点di相联系的权因子,k为非均匀有理B样条曲线的阶次,Ni,k(u)为由节点矢量V={v0,v1,…,vn+k+1}按以下的德布尔考克斯递推公式决定的k次规范B样条基函数:
其中,对V={v0,v1,...,vn+k+1}中的元素进行单位化后得到0=v0≤…≤vi≤vi+1≤…≤vn+k+1=1,u为参数,且0≤u≤1。
(2)将所述的非均匀有理B样条曲线在满足系统预设的精度要求的条件下进行离散化,并形成一位置点列,包括以下步骤:
(a)根据以下公式得到初始参数序列:
U0={0,d,2d,3d,…,(N-1)d,1};
其中,
(b)将所述的初始参数序列U0作为节点矢量,根据所述的非均匀有理B样条曲线的分段有理多项式矢函数计算得到初始参数序列U0所对应的初始位置点列:
P0={p(u1),p(u2),p(u3),…,p(un)},ui∈U,0<i<n;
(c)依次遍历每个ui,根据以下公式计算ui,i+1:
(d)根据所述的非均匀有理B样条曲线的分段有理多项式矢函数计算得到ui,i+1所对应的位置p(ui,i+1):
(e)判断p(ui,i+1)到p(ui)和p(ui+1)之间的连线的距离是否小于系统预设的精度误差ε;
(f)如果是,说明ui和ui+1的选取合理,对ui的处理结束。
如果否,则将ui,i+1加入初始参数序列中,得到:
U={…,ui,ui,i+1,ui+1,…};
同时,将p(ui,i+1)加入初始位置点列中,得到:
P={…,p(ui),p(ui,i+1),p(ui+1),…};
然后用ui+1代替ui,i+1。
重复上述步骤(c)~(f),直到找到一个ui,i+1,使得p(ui,i+1)到p(ui)和p(ui+1)之间的连线的距离小于系统预设的精度误差ε;
(g)重复上述步骤(c),直到遍历所有的ui,并将得到的P作为位置点列返回。
(3)对所述的位置点列中的各点在满足系统预设的加速度和精度要求的条件下进行速度规划,并得到各点所对应的速度,包括以下步骤:
(a)根据以下公式计算出所述的位置点列P中每个点p(ui)所对应的曲率半径ri:
其中,a、b、c分别为由p(ui-1)、p(ui)、p(ui+1)所构成的三角形的三边长度,
(b)根据以下关系式计算出所述的位置点列P中每个点p(ui)所对应的最大运行速度vix:
其中,r0为参考半径,v0为r0情况下所允许最大参考速度;
(4)根据所述的位置点列和其中各点所对应的速度形成插补序列,包括以下步骤:
(a)使用以下公式表示所述的位置点列中的相邻两点之间的插补段增量信息:
(p(ui+1)-p(ui),vix);其中i=0,1,…,n-1;
(b)根据各个插补段增量信息形成插补序列Sn:
Sn={(p(u1)-p(u0),v0x),(p(u2)-p(u1),v1x),(p(u3)-p(u2),v2x),…,(p(un)-p(un-1),v(n-1)x)};
(5)根据所述的插补序列产生刀路控制信号并发送给数控机床系统中的动力装置,该根据插补序列产生刀路控制信号,包括以下步骤:
(a)依次在每个系统预设的控制周期内将位置增量信息p(ui+1)-p(ui)转换为脉冲当量的整数倍,其中i=0,1,…,n-1,该控制周期为0.0005秒~0.005秒;
(b)再将位置增量信息转换为脉冲信号。
其中,所述的动力装置可以为步进电机或者伺服驱动器。
在实际生产中,由于数控机床系统对形状的加工,都是采用“线段构成平面”的方法,故可以采用使用多条三次非均匀有理B样条曲线来描述一个形状的方法。
这样在每次插补的时候,实际上需要处理的是一条条的NURBS曲线。
采用本发明的方法的基本思路如下:
(1)先将NURBS曲线在满足精度要求的情况下离散化,形成一位置点列,该点列在给定精度条件下等价于未离散化前的解析曲线。
(2)规划位置点列中各点的速度。规划过程中需要考虑满足加速度和精度要求。
(3)将计算出来的位置点列和对应速度使用某种数据格式以增量方式描述出来形成一个数据列,该数据列即为插补序列;一般情况下,该插补序列是一个增量序列。所谓增量序列,是指该序列中后一个元素的值是相对于前一个元素的值而言的。
(4)将插补序列按控制周期以增量方式发送给动力装置,便达到了让机床以一定的速度按NURBS曲线描述的路径运动到指定地点的目的。
首先,Nurbs曲线的解析描述如下:
一条K次NURBS曲线可以表示为一分段有理多项式矢函数:
其中di(i=0,1,...,n)、ωi(i=0,1,...,n)和V=v0,v1,...,vn+k+1}分别可以由计算机辅助制造(CAM,Computer-aided manufacturing)软件计算后给出。
di(i=0,1,…,n)为控制顶点。ωi(i=0,1,...,n)称为权或权因子(weights),分别与控制顶点di(i=0,1,...,n)相联系。Ni,k(u)是由节点矢量V={v0,v1,…,vn+k+1}按德布尔考克斯递推公式决定的K次规范B样条基函数:
在使用过程中,一般先用节点矢量序列V={v0,v1,…,vn+k+1}中最大的一个元素去除序列V中的每一个元素,使得V中的任一个元素的值都小于1:
V={v0,v1,…,vn+k+1},其中v0=0,vn+k+1=1,0=v0≤…≤vi ≤vi+1≤…≤vn+k+1=1
使用(1.1)、(1.2)式,只要给出了任意的u(0≤u≤1),就可以得到对应的位置p(u)。
关于上述结论的详细理论推导过程,请参阅以下文献:
施法中,计算机辅助几何设计与非均匀有理B样条,高等教育出版社,2001年8月第1版。
在本发明的方法中,首先将NURBS解析曲线按照以下方式离散化为位置序列:
从前面的讨论可知,假设有如下的参数数列U,
U={u1,u2,…,un},其中,u1=0,un=1,0≤ui<ui+1≤1,1<i<n ……(1.3)
那么通过(1.1)式就很容易求得对应的位置序列为:
P={p(u1),p(u2),p(u3),…,p(un)},ui∈U,0<i<n ……(1.4)
所以在将NURBS解析曲线离散化时,问题的关键是如何得到满足要求的参数数列U。下面是本发明所使用的一种方法:
先给出一粗略的参数序列U={u0,…,ui,ui+1,…,un},然后考查ui和ui+1之间是否需要插入新的元素来提高离散后的精度,如果不需要,继续考查ui+1和ui+2;如果需要,那么插入ui,j+1,使得U变为U={u0,…,ui,ui,i+1,ui+1,…,un},接着考查ui和ui,i+1,重复上面的过程,最后必能得到一新的参数序列U(l),将该序列中的元素ui,(i=1,2,…,M,M为序列中元素个数)代入(1.1)式就可以得到满足精度要求的位置序列。具体请参阅图1所示,其中如果C到经过AB的直线的距离小于ε,就使用AB来近似表示图1中的曲线;反之,首先使用ACB来表示曲线,进而采用判断AB的方法分别来判断AC和CB。
举例如下:
取某一正整数N(通常情况下取100),取步长
U={0,d,2d,3d,…,(N-1)d,1} ……(1.5)
该数列的通项可以表示为u(i)=(i-1)d i=1,2,…,n。
对任意的0<i<N,为了使经过p(ui)和p(ui+1)的线段与解析曲线的最大距离不超过精度要求ε(ε为一任意小正数,实际应用中一般取0.05~0.001毫米),通过(1.1)式计算出
接下来是进行速度计算:
使用样条曲线的曲率计算公式计算出位置列表中各点的曲率,然后采用向心加速度约束该位置允许的最大速度。
计算出位置序列P中每个元素对应的曲率半径。
要计算出P中元素P(i)的曲率半径,需要使用p(i-1)、p(i)、p(i+1)的信息。这三个点确定了唯一的一个圆(即三点所确定的三角形的外接圆),我们把该圆的半径R近似作为p(i)的曲率半径。
使用如下公式计算R:(详情见《数学手册》,高等教育出版社,1979年5月第1版)。
其中a、b、c为三角形三边长:
对参数序列U中的每一个元素p(i),总可以通过上面的步骤寻找到曲率半径ri。如果给出在指定的参考半径r0的情况下的允许最大参考速度为v0,那么使用向心加速度约束可以得到在曲率半径为ri时允许的最大运行速度vm,如下式:
vix就是当实际曲率半径为ri时允许的最大运行速度。其中r0为参考半径,v0为参考速度,意思是当曲率半径为r0时允许的最大运行速度为v0,在实际应用中,一般取r0为5毫米,v0为500~1500毫米/分钟。
通过对位置列表中每个元素的计算,可以得到整个位置序列中各元素对应的最大运行速度。所有位置的速度构成速度序列
Vel={v0,v1,...vn} ……(1.8)
对于插补的过程,具体如下:
该阶段的主要工作是对位置序列P和对应的速度序列Vel做一个包装,使用一种数据结构表示出来送到能识别该结构的硬件或者动力装置即可。
下面是在此种思想下的一种实现方法:
使用距离和速度来描述位置序列中的相邻两段,形如(d,v)。整个位置序列可以描述成
Sn={(p1-p0,v0),(p2-p1,v1),(p3-p2,v2),…,(pn-pn-1,vn-1)} ……(1.9)
该序列就是插补后的最终结果。
最后是和机床动力系统的交互处理,具体如下:
该部分的工作是将插补序列转换为电信号发送给机床的动力装置以便驱动机床运动。采用在每个控制周期内将插补序列中的一个元素发送给驱动系统的方法进行。
例如,在(1.9)式所示的位置序列中,每个控制周期内都将d转换为脉冲当量的整数倍后(使用四舍五入的方法整数化),再转换为脉冲信号发送给机床的动机系统。
同时需要指出的是,本发明的方法主要采用了数值计算,对解析曲线的离散化过程需要进行数学迭代,这会带来时间和空间代价,由于现代计算机的运算速度和存储资源相对较丰富,这样的数学迭代运算是非常容易完成的。
采用了上述的数控机床系统中实现对刀路进行插补控制的方法,由于其将数控机床所加工的对象的形状采用多条三次非均匀有理B样条(Nurbs)曲线来描述,并在满足精度要求的情况下将Nurbs解析曲线离散化为位置点列,并在满足位置精度和加速度要求的情况下指定了位置点列中各点所在位置的最大速度,从而确保了加工过程中刀路的最大偏差不会超过允许的范围,并使得各点的运行速度受到有效约束,不仅过程快速高效,操作简单快捷,而且工作性能稳定可靠,适用范围较为广泛,为数控机床控制技术的进一步发展奠定了坚实的基础。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
机译: 使用第一起重系统远程控制方面的方法期望第二起重系统远程系统; _在具有转向装置的钻孔中测量s的起重方法的方法在第一系统和第二起重系统中,举升系统提升s的系统; Chin s进行起重的测量操作带有偏差的穿孔孔和用于实现提升孔的测量的系统,该系统使用第一子系统和第二提升装置来实现带有偏差的孔的测量操作Su Bsistema提升孔
机译: 道路-轨道车辆的控制方法,包括在非激活的轨道引导单元中执行针对在道路上行驶而优化的道路控制,以及在激活的轨道引导单元中进行针对在轨道上进行行驶而优化的轨道控制。
机译: 钣金对象,例如屏蔽金属门的制造方法,涉及基于验证数据对数控机床进行编程控制,以计算机方式实现机械加工