实时自适应轮廓误差估计方法
【技术领域】
[0001] 本发明涉及数控系统领域,尤其涉及一种用于轮廓控制的在线实时误差估计方 法。
【背景技术】
[0002] 在机器人与数控机床中,一个关键的目标就是使机器人或者刀具沿着理想的轨迹 运动,并且使实际运动轨迹和理想轨迹间的轮廓误差尽量的小。由于摩擦等非线性因素、测 量信号中的噪声、各个轴的动态特性不匹配等原因引起的轮廓误差不可避免,如果只是独 立的控制各个轴的运动,并不能很好的实现轮廓误差尽量小的目的。因此,考虑多轴耦合因 素,综合设计轮廓控制器是现代数控系统的主流做法。而在各种轮廓控制器中,其中关键的 一步就是实时的估计轮廓误差。
[0003]目前国内外厂家生产的数控系统中采用的轮廓误差估计方法主要有以下三类:
[0004] 第一,基于泰勒展开的方法。定义实际刀具位置点到轮廓的距离函数,并使用其泰 勒级数展开式作为其轮廓误差的估计。当用一阶泰勒展开时,就相当于用当前参考指令点 处的切线代替理想轨迹,用实际刀具位置到这条切线的距离作为轮廓误差估计。当用二阶 泰勒展开时,相当于用参考指令点处的二阶函数代替理想轨迹。这类方法的优点是方法简 单直观,计算结果可以直接应用到典型的轮廓控制器--交叉親合控制器(crosscoupled control,CCC)中。但是,由于泰勒级数展开的截断误差。其在高速运动和理想轨迹曲率较 大时,都会有很大的估计误差。而通过增加泰勒展开阶数的方法,虽然可以提高估计精度, 但是随着阶数的提高,计算量也急剧增加,因此不适合实时计算。
[0005] 第二,基于小线段估计的方法。这种方法是依次连接各个插补点,以此形成一系列 的小线段,用这一系列的小线段来代替原有的理想曲线。然后,就可以方便地用实际刀具点 到这一系列小线段的最短距离作为轮廓误差的估计。这种方法,由于用小线段来代替理想 曲线,因此不可避免的带来了弓高误差(chorderror)。和第一类方法一样,在高速运动和 理想轨迹曲率较大时,估计误差都会急剧变大。
[0006] 第三,基于速度向量的方法。这种方法是利用任意时刻实际刀具位置处的速度向 量和理想刀具位置处的速度向量来做估计。这种方法基于速度变化平缓的假设,否则估计 效果不佳。
[0007] 在本技术领域,包括以上各种方法多是由国外人员首创,国内并没有相关专利。但 是,如上所述,这些方法都存在各种不足,尤其在高速运动和理想轨迹曲率较大时,各种方 法都不能在保持较好的估计精度同时保证较小的计算量,以满足实时计算的要求。
【发明内容】
[0008] 针对现有技术的上述缺陷,本发明基于插补点不一定必须作为运动控制器的参考 位置指令的思想,提出一种实时自适应轮廓误差估计方法,在高速和大曲率时,通过适当的 多计算插补点来获得更精确的轮廓误差估计,从而为运动控制器提供更加精确的输入值, 最终获得更加良好的运动控制精度。
[0009] 为实现上述目的,本发明的技术解决方案如下:
[0010] -种实时自适应轮廓误差估计方法,其特点征在于,包括如下步骤:
[0011] 步骤一、根据参数曲线插补方法,在原有插补点sk,ski,sk2,...之间产生额外的 插补名
其中,k表示第k个插补周期,i表示由第i个 原始插补点衍生出的额外插补点,h表示对应于第i个原始插补点衍生出的额外插补点最 大个数是h个,其具体数值由以下步骤确定;
[0012] 步骤二、搜索原有插补点Sk,Sk ^Sk2,...,找出离实际刀具位置?1<最近的原有插补 '存SkΠ1,
[0013] 步骤三、如果m= 0,直接转到步骤四,否则,连接点Sk "与邻近点Sk "i其连线记为 线段1,连接点Sk "与邻近点Sk "+1其连线记为线段2,比较实际刀具位置P,到这两条线段的 距离,并且认为足点在近的那条线段所在曲线上;
[0014] 步骤四、采用二分法,在步骤三选定的线段中继续搜索到与实际刀具位置Pk最近 的原有插补点;
[0015] 步骤五、反复步骤四,直到搜索区间中没有插补点,即不可继续二分,此时实际刀 具位置匕到这个区间起点和终点的连线的距离就是估计的轮廓误差,而到这条连线的垂足 就是足点。
[0016] 优选的,还包括步骤六,把估计的轮廓误差从无符号标量转化为有符号标量,公式 如下:
[0017] sgn(N·ε)
[0018] 其中,Ν为足点P#处曲线的法向量,ε是以PkS起点,Ρ*为终点的轨迹误差向量。
[0019] 步骤一所述的根据参数曲线插补的方法产生额外插补点的具体方法是:
[0020] 采用下式
[0021]
[0022] 其中,Vj是第j时刻的理想速度值,κ表示此时理想曲线的曲率,Q为一个由具体 应用场景确定的可调整参数。
[0023] 步骤二所述找出离实际刀具位置Pk最近的原有插补点Skni,具体是:逐点计算从Sk 到SkN各原有插补点到实际刀具位置Pk的距离,找出其中距离最近的点原有插补点Sk "。
[0024] 与现有技术相比,本发明的有益效果是:
[0025] 1)传统方法随着路径曲率的变大,估计误差都会急剧增大,而本发明提出的方法 则会一直保持较好的估计误差效果。
[0026] 2)不管是在较低的速度还是较高的速度下,都具有更为精确的估计精度,更高鲁 棒性。
[0027] 3)如果用相同的运动控制器,更加精确的输入无疑会带来更加精确的运动控制效 果,也就意味着机床中更加精确的轮廓轨迹。
【附图说明】
[0028] 图1是本发明步骤二的示意图
[0029] 图2是本发明步骤三、四、五的示意图
[0030] 图3是本发明实施平台的示意图
[0031] 图4(a)是实施例1中轨迹跟踪的理想抛物线(b)为此抛物线沿X轴变化时的曲 率
[0032] 图5(a)是实例例1中三类方法的估计误差(b)是第二类方法和本发明的方法的 估计误差
【具体实施方式】
[0033] 以下所有实施实例均在一个X-Y平台上实现。所用电机为安川的SGMJV-04ADE6S 交流伺服电机,驱动器设置为速度模式。位置反馈通过电机自带的编码器实现。编码器精度 为每转8096个脉冲。丝杠的螺距为4毫米,因此位置反馈的精度为每个脉冲0. 977微米。
[0034] 控制系统采用一台IntelCorei5处理器,主频为3. 1GHz的普通PC机,并且用NI 公司的6221扩展卡通过PCI总线控制电机驱动器。位置环的采样频率为1kHz. (1.7)式中 的Q设为1。精确的轮廓误差用离线非实时的方法算得。图3为此实施平台的示意图。
[0035] -种实时自适应轮廓误差估计方法,包括如下步骤:
[0036] -、修改一般参数曲线插补算法,产生更多的插补点。
[0037] 设参数曲线可以表示为
[0038] r(u) =(x(u),y(u),z(u)),a^u^b (1. 1)
[0039] 其中u即为参数。同时把u表示成弧长s的函数u(s)。一般参数曲线插补算法的 基本思路是通过对u(s]+1)进行泰勒展开来获得j+Ι时刻的参数u的值。通常展开到二阶:
[0040]
[0041] 其中
.可以通过下式计算:
[0042]
[0043]
[0044] 把式(1. 3)和(1. 4)代入式(1. 2)可得
[0045]
(丄.:5):
[0046] 其中AS]代表一个伺服周期内的弧长增量,它可以由下式计算得到
[0047] ΔSj=vjTs (1. 6)
[0048] 其中Ts为一个伺服周期的时间,v,为j时刻的理想速度。为了得到额外的插补点 可以修改Vj为
[0049]
ctη
[0050] 其中I中用到的为向下取整运算。并且注意,此时的速度ν',只是用来产生更 多的插补点,而不是真实的运动速度。由式(1.1)(1.5)(1.6)(1.7)组成修改后的插补算 法。设由修改前的插补算法得到的插补点为Sk,SkuSk2,...,由修改后得到的额外的插补 点)
[0051] 以下各步将通过搜索曲线