具有nurbs插补功能的五坐标数控机床运动控制器的制作方法

文档序号:6286973阅读:274来源:国知局

专利名称::具有nurbs插补功能的五坐标数控机床运动控制器的制作方法
技术领域
:本发明涉及一种数控机床的运动控制器,特别是一种具有NURBS插补功能的五坐标数控机床软件化运动控制器,属于数控机床软件
技术领域

背景技术
:五轴联动数控机床是机床数控
技术领域
制高点的重要标志,在国民经济发展和国防建设等方面具有特别重要的现实意义。目前,叶轮、叶片、船用螺旋桨、重型发电机转子、汽轮机转子、大型柴油机曲轴等复杂零部件的加工普遍采用五轴联动数控机床的线性插补功能完成。然而该加工方式存在的数控代码文件庞大、加工效率低和加工质量差等缺点,严重影响了五轴联动数控机床潜力的发挥。五坐标样条曲线插补技术成为机床数控领域的研究热点。Langeron等人提出了一种采用非均匀B样条曲线表达刀具路径和刀具方位的数控代码指令格式。陈良骥等人提出双NURBS插补指令格式。Fleisig等人提出了采用五次多项式样条插值刀具路径,采用贝齐尔曲线插值刀具方位点的曲线插补方法。以上曲线插补方法较好的解决了线性插补存在的问题,但仍有以下不足以上文章只涉及数控机床的插补算法,未涉及控制器的研制过程;Langeron及陈良骥等人提出的插补方法中输入控制器的样条曲线为机床坐标系下加工信息,数控程序依赖于数控机床的形式,当加工条件变化时,NC程序需重新编制;Fleisig等人采用型值点直接插值方法,控制器中的信息量将成倍增加,NC程序量严重受限;位置曲线和方位曲线参数取同的方法只适用于两曲线长度相当的场合,当长度差别较大时将出现大的加工误差。SIEMENS、FANUC和DMG等数控机床制造商在其高端数控系统中推出了曲线插补功能,并在实际应用中取得了良好的加工效果。然而,这些曲线插补功能的实现方法未有公开的介绍。具有曲线插补功能的数控机床价格昂贵,并且其购买条件受到诸多限制。所以我们着手进行了具有NURBS插补功能的五坐标数'控机床软件化运动控制器的研发。
发明内容本发明的目的是为了解决现有数控机床运动控制器存在开放性差、灵活性差,导致控制器不易功能扩充及修改,无法满足可配置型运动控制器的要求;以及采用型值点直接插值方法使控制器中的信息量成倍增加,造成NC程序量严重受限等问题。为此,本发明提供了一种具有NURBS插补功能的五坐标数控机床运动控制器。本发明为解决上述技术问题采取的技术方案是本发明所述运动控制器为运行在PC机Windows操作系统上的应用程序系统,所述运动控制器读取五坐标数控程序后产生的机床各轴运动指令通过SERCOS接口传递给伺服系统实现五坐标数控机床的数控加工;所述运动控制器包括以下单元:人机接口模块、任务协调模块、任务生成模块、轴组模块、轴模块、逆运动变换模块、控制规律模块和离散逻辑控制模块,其中人机接口模块,用于负责操作者与控制器之间的交互,还用于(主要)完成在数控系统运行前和运行中数控系统参数的修改和设定;任务协调模块,用于进行任务分配以及负责所述运动控制器内各模块的协调与调度;任务生成模块,用于解析零件加工程序文件(NC程序),提取加工程序中的各种信息并生成包含运动信息的运动段指令和逻辑控制指令,还用于对运动指令进行刀具补偿,还用于生成方位曲线和协调样条曲线;轴组模块,用于完成插补任务,对译码得到的运动指令按照进给速度要求进行细分,得到单个插补周期内的进给量,并输出给各个轴模块;轴模块,用于接收来自轴组模块的指令,同时读取外部的反馈信息,根据用户需求选择性地调用伺服控制规律完成位置控制或速度控制等功能,并将控制信息发送给逆运动变换模块;逆运动变换模块,用于对工件坐标系下表示刀具位置的位置矢量点及表示刀轴方位的刀位矢量点进行逆机床的运动学变换,求取插补周期结束时刻机床各运动轴的位置信息,并将控制信息发送给外部执行单元;控制规律模块,用于负责伺服控制规律的计算,提供多种控制策略(如PID控制规律、模糊控制规律和神经网络等);离散逻辑控制模块,用于负责对外部输入和内部状态变量进行布尔运算得到相应输出和内部状态变量,并对外部输入输出设备进行控制;上述各模块单元对外提供可操作、可执行接口以及向用户提供程序接口;任务生成模块生成协调样条曲线的具体过程为根据插补过程中位置曲线两点间弧长与方位曲线两点间角度存在一一对应的关系,位置曲线上参数",与参数"2间所夹弧的长度s采用式1计算""2)=〖V(A"))2+(/("))2+(("))2(1)方位曲线i方位矢量a和方位矢量^间的夹角a采用式2计算义=arccos(仏'《2)(2)采用式3所示多项式样条建立位置曲线弧长S和方位曲线矢量间的夹角;i的映射关系,以获得机床线性轴与旋转轴间的协调运动关系Cs;^^3(s—s/好,4《w(3)、6式中M,为样条系数列;任务生成模块生成方位曲线的具体过程为:设存储在"NURBS"结构体的"machA"和"machC"数组中的角度值分别为H,…,W和^。,c,,…,c^,则对应的方位矢量《,(^0,l,…,")可以通过公式4求得sina,..cosc,.sina,.sine,cosa,(4)加工过程中为了获得连续变化的机床旋转轴角度,需要构造一条通过所有方位矢量的方位曲线与位置曲线相对应;选取非均匀B样条曲线作为方位矢量的插值曲线;选取两方位矢量间的夹角作为方位曲线的节点矢量,两矢量^与《"间的夹角通过公式5求取A,.=arccos(^.仏+1),/=O,l,.","一l(5)方位曲线的控制顶点采用计算机辅助几何设计CAGD中的B样条曲线反算方法获得;当方位曲线的节点矢量和控制顶点确定以后,相应的方位曲线唯一确定;所述轴组模块完成插补任务的具体过程为当双端队列SingleStep_deqUe中的信息通过共享内存传递给轴组模块,并且控制器接收到autorun指令时,轴组模块进行实时插补运算设输入控制器的位置样条曲线为/K"),方位样条曲线为《(A),任务生成器模块单元生成的协调样条曲线为义CS);以第A+1个插补周期的插补点求取为例说明曲线的实时插补运算过程;假定进给速度设定为^,所述运动控制器的插补周期设定为r,则有所以(6)<formula>formulaseeoriginaldocumentpage12</formula>(7)将参数w对^进行二阶Taylor展开,得其截断高阶余项的计算公式:<formula>formulaseeoriginaldocumentpage12</formula>这里&="(")为第*个插补周期,^=W时刻参数W的值;从而|伞(")||(9)II""L叫设和分别为参数%和对应的位置样条曲线上的插补点,r为该两点对应的曲率圆弧半径,丄为两点间弦长;其中f为弓高误差;两插补点间的弦长通过下式求取丄=|/^+1)1("*)|(10)弓高误差的求取表达式为~-一2-(争2(11)从而可以求出满足弓高误差要求的插补最大弦长为-4xp:2孩2r-《)(12)将公式10求得的插补点间弦长与公式12求得的插补最大弦长进行比较,如果丄超出最大弦长丄exp的范围,则将丄exp作为插补弦长对P("w)进行修正,否则按照公式9求得的%+1进行曲线插补;这样,在曲率半径比较大的区域,机床将按照给定的进给速度进行切削加工,当进入曲率半径小的区域时,通过降低切削速度使得控制器配置过程中指定的插补误差得到保证;采用公式1求取参数"W对应的位置曲线弧长,并将其带入协调样条曲线方程,可以求得方位曲线对应的角度参数^+1;将参数人+1带入方位曲线方程可以求得第^+l个插补周期的方位矢量点。本发明的有益效果是采用本发明的NURBS插补方法进行数控加工时,在NC程序大量减少的同时,加工误差较线性插补误差大幅减小(如图8所示)。本发明采用模块化的体系结'构,满足可配置型运动控制器的要求,增强数控系统的开放性,每个模块为功能独立的组件单元,控制器的功能扩充及修改可针对具体模块施行。此外,通过更换有限模块单元,可使控制器方便、灵活地适应不同的机床形式。本发明最小量运行运动控制中的实时性任务,满足了数控系统硬实时性要求。本发明的NURBS插补功能中立于机床运动学,可用于任意形式五坐标机床的运动控制。通过建立位置曲线和方位曲线间的参数映射,使机床平动轴与转动轴f司的运动规划符合实际加工要求。实际加工实验验证了控制器的性能及插补方法的正确性。本发明中选取两方位矢量间的夹角作为方位曲线的节点矢量,该'选取方法充分考虑了机床旋转轴插补的实质,更加合理。各模块单元对外提供可操作和可执行接口,实现了功能应用与技术实现的分离,增强了模块单元的可重用性。各模块单元向用户提供程序接口,便于集成先进加工经验及开发特定应用的模块单元。所述运动控制器为运行在PC机Windows操作系统上的应用程序系统,控制器产生的机床各轴运动指令通过SERCOS(数控系统和数字伺服通讯的唯一国际标准)接口传递给伺服系统。同时,加工过程中的检测量及监控量也通过该接口传输回控制器,由控制器进行处理。本发明参考美国OMAC协议标准。附图.说明图l是本发明的整体结构框图;图2是准备机能指令图(G05.6);图3是插补过程中的弓高误差图;图4是自由型曲面图;图5是安装有本发明的数控机床照片;图6是用于对图4所示自由曲面进行数控加工的NC程序截图(将进给速度指令设定为3600mra/min,插补周期设定为0.0025s);图7a为位置样条进给速度曲线图,7b为方位样条进给速度曲线图;图8是对图4所示自由曲面分别采用五坐标线性插补加工方法和本发明所述的NURBS插补方法进行数控加工的误差曲线比较图;图9是采用本发明对图4所示自由型曲面加工时的加工过程中图片;图10是采用本发明对图4所示自由型曲面加工时的加工结果图.片。具体实施例方式具体实施方式一结合图13所示,说明本实施方式本实施方式所述的具有NURBS插补功能的五坐标数控机床运动控制器的结构为:所述运动控制器为运行在?(:机\^111(1(^8操作系统上的应用程序系统,所述运动控制器读取五坐标数控程序后产生的机床各轴运动指令通过SERCOS接口传递给伺服系统实现五坐标数控机床的数控加工;所述运动控制器包括以.下单元人机接口模块1、任务协调模块2、任务生成模块3、轴组模块4、轴模块5、逆运动变换模块6、控审li规律模块7和离散逻辑控制模块8,其中人机接口模块l,用于负责操作者与控制器之间的交互,还用于(主要)完成在数控系统运行前和运行中数控系统参数的修改和设定;任务协调模块2,用于进行任务分配以及负责所述运动控制器内各模块的协调与调度;任务生成模块3,用于解析零件加工程序文件(NC程序),提取加工程序中的各种信息并生成包含运动信息的运动段指令和逻辑控制指令,还用于对运动指令进行刀具补偿,还用于生成方位曲线和协调样条曲线;轴组模块4,用于完成插补任务,对译码得到的运动指令按照进给速度要求进行细分,得到单个插补周期内的进给量,并输出给各个轴模块;轴模块5,用于接收来自轴组模块的指令,同时读取外部的反馈信息,根据用户需求选择性地调用伺服控制规律完成位置控制或速度控制等功能,并将控制信息发送给逆运动变换模块6;逆运动变换模块6,用于对工件坐标系下表示刀具位置的位置矢量点及表示刀轴方位的刀位矢量点进行逆机床的运动学变换,求取插补周期结束时刻机床各运动轴的位置信息,并将控制信息发送给外部执行单元;控制规律模块7,用于负责伺服控制规律的计算,提供多种控制策略(如PID控制规律、模糊控制规律和神经网络等);离散逻辑控制模块8,用于负责对外部输入和内部状态变量进行布尔运算得到相应输出和内部状态变量,并对外部输入输出设备进行控制;上述各模块单元对外提供可操作、可执行接口以及向用户提供程序接口。本实施方式所述的具有NURBS插补功能的五坐标数控机床运动控制器的NURBS插补的指令格式为-对零部件进行数控加工时,需要生成定义刀具相对工件表面运动的刀具路径。三坐标数控加工的刀具轨迹由一系列的笛卡尔矢量表达。每个矢量(位置矢量)表达一个加工位置。对五坐标刀具路径而言,需同时指定刀具的姿态(刀位矢量)。因而,五坐标的刀具路径由位置矢量序列和刀位矢量序列构成的矢量集表达。用CAM系统进行五坐标数控程序编制时,根据所选取的刀具路径生成方法、初始给定的刀倾角和刀转角进行路径规划,根据干涉判别方法进行修正,可以分别计算出刀具刀心点位置矢量和刀轴方位矢量。将求得的一系列位置矢量进行NURBS曲线拟合并求取加工过程中的刀转角,根据拟合曲线信息和刀转角信息生成符合图3所示NURBS插补指令格式的NC加工程序。如图2所示,G05.6为准备机能指令,控制器读入其后的样条曲线信息进行插补运算。X、Y、Z等代码指定位置样条曲线的控制顶点,K代码指定其节点矢量;R指定控制点处的权重值;F代码为进给速度指令;A、C等代码指定数控机床的旋转轴角度值。不同于一般的商品化机床,输入控制器的NURBS曲线信息其所在坐标系为工件坐标系,当机床形式发生变化时,保持NC程序文件不变,只需选取相应的逆运动学变换模块单元并定制机床参数即可构建适应新的机床形式的运动控制器。本实施方式所述的具有NURBS插补功能的五坐标数控机床运动控制器的数控程序信息提取及参数映射建立过程为1、数控程序信息提取NC程序输入数控机床控制器后,控制器的任务生成器模块单元将提取NC程序中的信息并开辟存储空间对信息进行存储;任务生成器模块单元中开发的用于加工信息存储的数据结构(0++语言编写)如下所示typedefenum{LINE,CSCURVE,NURBS}〃定义运动段类型typedefstructNURBS一struc"doubletraverse_rate,start—rate,end—rate;〃速度信息double*tparx,*tpary,*tparz;〃方位矢量intP;Z/位置样条的阶次double*nodevt;//位置样条节点矢量double*conlpt,*con2pt,*con3pt;〃位置样条控制顶点double*rval;〃控制顶点对应权重double*tnodevt;//方位样条节点矢量double*tconlpt,*tcon2pt,*teon3pt;〃方位样条控制顶点double*SepAngle;〃方位矢量夹角double*ArcLength;//节点对应点间的弧长double*coordvt;〃协调样条节点矢量double*coordlpt,*coord2pt,*coord3pt;〃协调样条的控制顶点double*machA,*machC;〃旋转轴角度}NURBS;typedefstructsingleStep2_struct{SINGLESTEP—TYPEsingleStep—type;m—structm—struct;spslinespsline一struct;spsplinespspline—struct;NURBSNURBS一structj}singleStep2;位置曲线信息、方位曲线信息和协调样条曲线信息存入双端队列SingleStep_deque中,待译码工作完成以后通过共享内存传递给轴组模块单元进行数据点的密化(插补)工作。2、协调样条建立五坐标数控插补过程中,如何求取不同插补时刻机床的旋转轴角度值是五坐标插补技术的一个重要问题。将位置曲线及方位曲线参数取同的做法只适用于位置曲线和方位曲线长度相当,且曲线曲率变化均匀的场合。当两曲线长度存在较大差别或曲线曲率变化规律相似度较差时,插补求得的机床角度值将存在较大的误差。插补过程中位置曲线两点间弧长(以曲线起始点作为参考点)与方位曲线两点间角度(以曲线起始点作为参考点)存在一一对应的关系。位鞏曲线上参数",与参数"J司所夹弧的长度s采用式1计算S("pt/2)=〖2扭"))2+(/("))2十(?("))2(i)方位曲线上^位矢量a和方位矢量《2间的夹角义采用式2计算A二arccos(仏.《2)(2)本发明中NURBS插补控制方法采用式3所示多项式样条建立位置曲线弧长s和方位曲线矢量间的夹角义的映射关系,以获得机床线性轴与旋转轴间的协调运动关系;眷Sl^烈A^、"力、"6^6+~6(3)式中AO为样条系数列;3、方位样条曲线的建立假定存储在NURBS结构体的"machA"和"machC"数组中的角度值分别为H,"p…,W和(c。,c,,…,cJ,则对应的方位矢量仏0、0,1,…,")可以通过公式4求smq.cosc,.sina,..sine,cos《(4)加工过程中为了获得连续变化的机床旋转轴角度,需要构造一条通过所有方位矢量的曲线与位置曲线相对应。选取非均匀B样条曲线作为方位矢量的插值曲线。在他人的研究中普遍采用两方位矢量间的弦长作为插值曲线的节点矢量。本专利中的控制器选取两方位矢量间的夹角作为方位曲线的节点矢量,该选取方法充分考虑了机床旋转轴插补的实质,更加合理。两矢量《,与《,+1间的夹角通过公式5求取。&:arccos(n》,/=0,1,...,"-1(5)方位曲线的控制顶点采用计算机辅助几何设计(CAGD)中的B样条曲线反算方法获得。当方位曲线的节点矢量和控制顶点确定以后,相应的方位曲线唯一确定。本实施方式所述的具有NURBS插补功能的五坐标数控机床运动控制器的曲线实时插补运算具体过程为当双端队列singleStep—deque中的信息通过共享内存传递给轴组模块,并且控制器接收到autorun指令时,轴组模块进行实时插补运算。假设输入控制器的位置样条曲线为P("),方位样条曲线为《(义),任务生成器模块单元生成的协调样条曲线为义C5);以第^+l个插补周期的插补点求取为例说明曲线的实时插补运算过程假定进给速度设定为r,控制器的插补周期设定为r,则有(6)所以:(7)将参数"对f进行二阶Taylor展开,得其截断高阶余项的计算公式:r2j2mi(8)这里^为第)fc个插补周期,=*r时刻参数"的值(从而(9)假定和分别为参数%和对应的位置样条曲线上的插补点,r为该两点对应的曲率圆弧半径,i为两点间弦长;其对应关系如图3所示;其中《为弓高误差;两插补点间的弦长通过下式求取丄+K")-(10)弓高误差的求取表达式为""-^2-(*)2(11)从而可以求出满足弓高误差要求的插补最大弦长为丄呻二2V"2r-《)(12)将公式10求得的插补点间弦长与公式12求得的插补最大弦长进行比较,如果i超出最大弦长Axp的范围,则将Z,作为插补弦长对/K",+,)进行修正,否则按照公式9求得的"w进行曲线插补。这样,在曲率半径比较大的区域,机床将按照给定的进给速度进行切削加工,当进入曲率半径小的区域时,通过降低切削速度使得控制器配置过程中指定的插补误差得到保证。采用公式1求取参数",+,对应的位置曲线弧长(以曲线起始点作为参考点),并将其带入协调样条曲线方程,可以求得方位曲线对应的角度参数A+,;将参数^带入方位曲线方程可以求得第*+1个插补周期的方位矢量点&+1。本实施方式所述的具有NURBS插补功能的五坐标数控机床运动控制器的插补点的逆运动学变换的具体过程为机床控制器接收的NC文件中的曲线信息为工件坐标系下的加工信息,因而,经轴组模块实时插补运算所得的数据点位于工件坐标系下。这些数据还不能输出给驱动器控制机床运动;逆运动学变换模块对插补所得数据点执行逆机床的运动学变换操作,将该数据点坐标映射至数控机床的机床坐标系;下面以带回转工作台的X,Y,Z,A,C型五轴联动数控机床(带有三个平动轴和两个转动轴)为例,说明插补点的逆机床的运动学变换过程假设求取的第"l个插补周期的插补点为位置矢量/K^,^[^^,a+,a+,],方位矢量9(D-[C附",,"",];工件坐标系原点与机床坐标系原点间的距离为^(^为可定制参数);假定和映射至机床坐标系后,所得机床各轴的运动坐标值为jtyzJc,C卿'COW'COW,COOT^COOTj=arctan(13)C—=900+arctanC^270。+arctanC—=90°—arctan附jm』卩"i"1,/t+120,mt+^0(14)平动轴运动坐标值按下述方程求取:乙.一cosC咖.sinL—0——0_(15)开发了对应各种形式五轴联动数控机床的逆机床运动学变换模块单元,机床使用者可以根据自己机床的形式选取相应的逆运动学变换模块单元,定制机床参数,最后按照控制器的架构配置出自己需要的具有NURBS插补功能的运动控制器。具体实施方式二本实施方式所述人机接口模块l、任务协调模块2和任务生成模块3执行非实时性任务,为所述运动控制器的非实时模块,采用组件对象模型(ComponentObjectModel,COM)技术开发。其它与具体实施方式一相同。具体实施方式三本实施方式所述轴组模块4、轴模块5、逆运动变换模块6、控制规律模块7和离散逻辑控制模块8执行实时性任务,为所述运动控制器的实时模块,釆用实时动态链接库(Real-TimeDynamicLinkLibrary,RTDLL)技术开发。其它与具体实施方式一或二相同。实验验证将该NURBS插补运动控制器配置到齐齐哈尔第二机床厂与本研究所(哈尔滨工业大学机电工程学院机械制造及自动化系数控技术研究所)联合研制的带回转工作台的X,Y,Z,A,C型五轴联动数控机床XKV715上(如图5),并对图4所示的自由型曲面进行了加工实验。由图7a和7b可知当以指定速度恒速进给时,位置样条曲线进给速度波动在0.06mm/s范围内,不超过设定速度的0.1%。方位样条曲线进给速度由协调曲线获得,旋转轴进给速度不恒定,但是与线性插补对比可知,其速度波动大幅减小,进给速度平滑。对图4所示自由曲面分别采用五坐标线性插补加工方法和本文的NURBS插补方法进行数控加工。采用线性插补加工时,其插补路径由146段线性单元构成。分别采集插补过程中的弓高误差绘制弓高误差曲线,误差曲线如图8所示。显然,采用本发明所述NURBS插补方法进行数控加工时,在NC程序大量减少的同时,加工误差较线性插补误差大幅减小。采用本发明的具有NURBS插补功能的数控机床运动控制器对图4所示自由型曲面加工时,加工过程中图片和加工结果图片分别如图9和图10所示。权利要求1、一种具有NURBS插补功能的五坐标数控机床运动控制器,所述运动控制器为运行在PC机Windows操作系统上的应用程序系统,所述运动控制器读取五坐标数控程序后产生的机床各轴运动指令通过SERCOS接口传递给伺服系统实现五坐标数控机床的数控加工;其特征在于所述运动控制器包括以下单元人机接口模块(1)、任务协调模块(2)、任务生成模块(3)、轴组模块(4)、轴模块(5)、逆运动变换模块(6)、控制规律模块(7)和离散逻辑控制模块(8),其中人机接口模块(1),用于负责操作者与控制器之间的交互,还用于完成在数控系统运行前和运行中数控系统参数的修改和设定;任务协调模块(2),用于进行任务分配以及负责所述运动控制器内各模块的协调与调度;任务生成模块(3),用于解析零件加工程序文件,提取加工程序中的各种信息并生成包含运动信息的运动段指令和逻辑控制指令,还用于对运动指令进行刀具补偿,还用于生成方位曲线和协调样条曲线;轴组模块(4),用于完成插补任务,对译码得到的运动指令按照进给速度要求进行细分,得到单个插补周期内的进给量,并输出给各个轴模块;轴模块(5),用于接收来自轴组模块的指令,同时读取外部的反馈信息,根据用户需求选择性地调用伺服控制规律完成位置控制或速度控制等功能,并将控制信息发送给逆运动变换模块(6);逆运动变换模块(6),用于对工件坐标系下表示刀具位置的位置矢量点及表示刀轴方位的刀位矢量点进行逆机床的运动学变换,求取插补周期结束时刻机床各运动轴的位置信息,并将控制信息发送给外部执行单元;控制规律模块(7),用于负责伺服控制规律的计算,提供多种控制策略;离散逻辑控制模块(8),用于负责对外部输入和内部状态变量进行布尔运算得到相应输出和内部状态变量,并对外部输入输出设备进行控制;上述各模块单元对外提供可操作、可执行接口以及向用户提供程序接口;任务生成模块(3)生成协调样条曲线的具体过程为根据插补过程中位置曲线两点间弧长与方位曲线两点间角度存在一一对应的关系,位置曲线上参数u1与参数u2间所夹弧的长度s采用式1计算<mathsid="math0001"num="0001"><math><![CDATA[<mrow><mi>S</mi><mrow><mo>(</mo><msub><mi>u</mi><mn>1</mn></msub><mo>,</mo><msub><mi>u</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>=</mo><msubsup><mo>&Integral;</mo><msub><mi>u</mi><mn>1</mn></msub><msub><mi>u</mi><mn>2</mn></msub></msubsup><msqrt><msup><mrow><mo>(</mo><msup><mi>x</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msup><mi>y</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msup><mi>z</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math></maths>方位曲线上方位矢量q1和方位矢量q2间的夹角λ采用式2计算λ=arccos(q1·q2)(2)采用式3所示多项式样条建立位置曲线弧长S和方位曲线矢量间的夹角λ的映射关系,以获得机床线性轴与旋转轴间的协调运动关系<mathsid="math0002"num="0002"><math><![CDATA[<mrow><mi>&lambda;</mi><mrow><mo>(</mo><mi>S</mi><mo>)</mo></mrow><mo>=</mo><mfrac><msup><mrow><mo>(</mo><msub><mi>S</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><mi>S</mi><mo>)</mo></mrow><mn>3</mn></msup><mrow><mn>6</mn><msub><mi>h</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow></mfrac><msub><mi>M</mi><mi>j</mi></msub><mo>+</mo><mfrac><msup><mrow><mo>(</mo><mi>S</mi><mo>-</mo><msub><mi>S</mi><mi>j</mi></msub><mo>)</mo></mrow><mn>3</mn></msup><mrow><mn>6</mn><msub><mi>h</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow></mfrac><msub><mi>M</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>&lambda;</mi><mi>j</mi></msub><mfrac><msub><msup><mi>h</mi><mn>2</mn></msup><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mn>6</mn></mfrac><msub><mi>M</mi><mi>j</mi></msub><mfrac><msub><msup><mi>h</mi><mn>2</mn></msup><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mn>6</mn></mfrac><msub><mi>M</mi><mi>j</mi></msub></mrow>]]></math></maths><mathsid="math0003"num="0003"><math><![CDATA[<mrow><mo>+</mo><mfrac><mrow><mi>S</mi><mo>-</mo><msub><mi>S</mi><mi>j</mi></msub></mrow><msub><mi>h</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub></mfrac><mrow><mo>(</mo><msub><mi>&lambda;</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>&lambda;</mi><mi>j</mi></msub><mfrac><msub><msup><mi>h</mi><mn>2</mn></msup><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mn>6</mn></mfrac><mrow><mo>(</mo><msub><mi>M</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>M</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mi>j</mi><mo>=</mo><mn>0,1</mn><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mi>n</mi><mo>+</mo><mn>6</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math></maths>式中hj=Sj-Sj-1;Mj为样条系数列;任务生成模块(3)生成方位曲线的具体过程为设存储在“NURBS”结构体的“machA”和“machC”数组中的角度值分别为{a0,a1,…,an}和{c0,c1,…,cn},则对应的方位矢量qi(i=0,1,…,n)可以通过公式4求得<mathsid="math0004"num="0004"><math><![CDATA[<mrow><msub><mi>q</mi><mi>i</mi></msub><mo>=</mo><mfencedopen='['close=']'><mtable><mtr><mtd><mi>sin</mi><msub><mi>a</mi><mi>i</mi></msub><mo>&CenterDot;</mo><mi>cos</mi><msub><mi>c</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><msub><mrow><mi>sin</mi><mi>a</mi></mrow><mi>i</mi></msub><mo>&CenterDot;</mo><msub><mrow><mi>sin</mi><mi>c</mi></mrow><mi>i</mi></msub></mtd></mtr><mtr><mtd><mi>cos</mi><msub><mi>a</mi><mi>i</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math></maths>加工过程中为了获得连续变化的机床旋转轴角度,需要构造一条通过所有方位矢量的方位曲线与位置曲线相对应;选取非均匀B样条曲线作为方位矢量的插值曲线;选取两方位矢量间的夹角作为方位曲线的节点矢量,两矢量qi与qi+1间的夹角通过公式5求取λi=arccos(qi·qi+1),i=0,1,…,n-1(5)方位曲线的控制顶点采用计算机辅助几何设计CAGD中的B样条曲线反算方法获得;当方位曲线的节点矢量和控制顶点确定以后,相应的方位曲线唯一确定;所述轴组模块(4)完成插补任务的具体过程为当双端队列singleStep_deque中的信息通过共享内存传递给轴组模块,并且控制器接收到autorun指令时,轴组模块进行实时插补运算设输入控制器的位置样条曲线为p(u),方位样条曲线为q(λ),任务生成器模块单元生成的协调样条曲线为λ(S);以第k+1个插补周期的插补点求取为例说明曲线的实时插补运算过程;假定进给速度设定为V,所述运动控制器的插补周期设定为T,则有<mathsid="math0005"num="0005"><math><![CDATA[<mrow><mi>V</mi><mo>=</mo><mo>|</mo><mo>|</mo><mfrac><mrow><mi>dp</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mrow><mi>dt</mi></mfrac><mo>|</mo><mo>|</mo><mo>=</mo><mo>|</mo><mo>|</mo><msup><mi>p</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mo>&CenterDot;</mo><mfrac><mi>du</mi><mi>dt</mi></mfrac><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math></maths>所以<mathsid="math0006"num="0006"><math><![CDATA[<mrow><mfrac><mi>du</mi><mi>dt</mi></mfrac><mo>=</mo><mfrac><mi>V</mi><mrow><mo>|</mo><mo>|</mo><msup><mi>p</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math></maths>将参数u对t进行二阶Taylor展开,得其截断高阶余项的计算公式<mathsid="math0007"num="0007"><math><![CDATA[<mrow><msub><mi>u</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>u</mi><mi>k</mi></msub><mo>+</mo><mi>T</mi><mfrac><mi>du</mi><mi>dt</mi></mfrac><msub><mo>|</mo><mrow><mi>t</mi><mo>=</mo><mi>kT</mi></mrow></msub><mo>+</mo><mfrac><msup><mi>T</mi><mn>2</mn></msup><mn>2</mn></mfrac><mo>&CenterDot;</mo><mfrac><mrow><msup><mi>d</mi><mn>2</mn></msup><mi>u</mi></mrow><msup><mi>dt</mi><mn>2</mn></msup></mfrac><msub><mo>|</mo><mrow><mi>t</mi><mo>=</mo><mi>kT</mi></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math></maths>这里uk=u(tk)为第k个插补周期,tk=kT时刻参数u的值;从而<mathsid="math0008"num="0008"><math><![CDATA[<mrow><msub><mi>u</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>u</mi><mi>k</mi></msub><mo>+</mo><mfrac><mrow><mi>V</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>T</mi><mi>s</mi></msub></mrow><msub><mrow><mo>|</mo><mo>|</mo><mfrac><mrow><mi>dp</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mrow><mi>du</mi></mfrac><mo>|</mo><mo>|</mo></mrow><mrow><mi>u</mi><mo>=</mo><msub><mi>u</mi><mi>k</mi></msub></mrow></msub></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math></maths>设p(uk)和p(uk+1)分别为参数uk和uk+1对应的位置样条曲线上的插补点,r为该两点对应的曲率圆弧半径,L为两点间弦长;其中ξ为弓高误差;两插补点间的弦长通过下式求取L=||p(uk+1)-p(uk)||(10)弓高误差的求取表达式为<mathsid="math0009"num="0009"><math><![CDATA[<mrow><mi>&xi;</mi><mo>=</mo><mi>r</mi><mo>-</mo><msqrt><msup><mi>r</mi><mn>2</mn></msup><mo>-</mo><msup><mrow><mo>(</mo><mfrac><mi>L</mi><mn>2</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math></maths>从而可以求出满足弓高误差要求的插补最大弦长为<mathsid="math0010"num="0010"><math><![CDATA[<mrow><msub><mi>L</mi><mi>exp</mi></msub><mo>=</mo><mn>2</mn><msqrt><mi>&xi;</mi><mrow><mo>(</mo><mn>2</mn><mi>r</mi><mo>-</mo><mi>&xi;</mi><mo>)</mo></mrow></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>]]></math></maths>将公式10求得的插补点间弦长与公式12求得的插补最大弦长进行比较,如果L超出最大弦长Lexp的范围,则将Lexp作为插补弦长对p(uk+1)进行修正,否则按照公式9求得的uk+1进行曲线插补;采用公式1求取参数uk+1对应的位置曲线弧长,并将其带入协调样条曲线方程,可以求得方位曲线对应的角度参数λk+1;将参数λk+1带入方位曲线方程可以求得第k+1个插补周期的方位矢量点。2、根据权利要求1所述的具有NURBS插补功能的五坐标数控机床运动控制器,其特征在于逆运动变换模块(6)进行进行逆机床的运动学变换的具体过程为机床控制器接收的NC文件中的曲线信息为工件坐标系下的加工信息,因而,经轴组模块实时插补运算所得的数据点位于工件坐标系下,这些数据还不能直接输出给所述运动控制器控制机床运动;逆运动变换模块对插补所得数据点执行逆机床的运动学变换操作,将该数据点坐标映射至数控机床的机床坐标系;基于带回转工作台的X,Y,Z,A,C型五轴联动数控机床来说明插补点的逆机床的运动学变换过程设求取的第"l个插补周期的插补点为位置矢量PO[^,^,^],方位矢量《(U-[L,附",,"",];工件坐标系原点与机床坐标系原点间的距离为假定P("",)和9(^+1)映射至机床坐标系后,所得机床各轴的运动坐标值为<formula>formulaseeoriginaldocumentpage6</formula>转动轴运动坐标值按下述方程求取:<formula>formulaseeoriginaldocumentpage6</formula>平动轴运动坐标值按下述方程求取:<formula>formulaseeoriginaldocumentpage6</formula>3、根据权利要求1所述的具有NURBS插补功能的五坐标数控机床运动控制器,其特征在于所述人机接口模块(1)、任务协调模块(2)和任务生成模块(3)执行非实时性任务,为所述运动控制器的非实时模块,采用组件对象模型ComponentObjectModel技术开发。4、根据权利要求1、2或3所述的具有NURBS插补功能的五坐标数控机床运动控制器,其特征在于轴组模块(4)、轴模块(5)、逆运动变换模块(6)、控制规律模块(7)和离散逻辑控制模块(8)执行实时性任务,为所述运动控制器的实时模块,采用实时动态链接库Real-TimeDynamicLinkLibrary技术开发。全文摘要具有NURBS插补功能的五坐标数控机床运动控制器,它涉及一种数控机床的运动控制器。本发明的目的是为了解决现有数控机床运动控制器存在开放性差、灵活性差,导致控制器不易功能扩充及修改,无法满足可配置型运动控制器的要求;以及采用型值点直接插值方法使控制器中的信息量成倍增加,造成NC程序量严重受限等问题。所述运动控制器包括人机接口模块、任务协调模块、任务生成模块、轴组模块、轴模块、逆运动变换模块、控制规律模块和离散逻辑控制模块。采用本发明的NURBS插补方法进行数控加工时,在NC程序大量减少的同时,加工误差较线性插补误差大幅减小。采用模块化的体系结构,满足可配置型运动控制器的要求,增强数控系统的开放性,控制器的功能扩充及修改可针对具体模块施行。文档编号G05B19/41GK101615024SQ20091007257公开日2009年12月30日申请日期2009年7月23日优先权日2009年7月23日发明者源刘,富宏亚,王永章,华路,韩德东,韩振宇申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1