背景
KErrorCompensation.DLL是External-Array公司独立开发的产品。其中使用的数学原理是基于1985年在CIRP中刊登的一篇题为"坐标测量机的误差补偿"的研究报告,该报告的作者是G.Zhang,R.Veale,T.Charlton,B.Borchardt,R.Hocken。
误差补偿的数学模型假定了刚体机械结构和互相垂直的三坐标「XY21。对于每一个机器坐标存在六种误差可能:三个平移、三个旋转,加上三个坐标轴之间的俩俩不垂直误差,一共是21个机和误差。
有时在CMM工业中它被称作21度误差补偿。误差补偿是用来消除那些可测并可重复的机械几何误差,认识到这一点是很重要的。但这并不等于说可以使任何一台测量机变成绝对无误差的。更适当的说法是这使测量机的精度其高了,对于任何基于误差补偿原理的软件来说都是这样的。
数学模型:
依上述模型,明显可见该误差补偿不会考虑二次误差。
2·重要旋转误差和非重要旋转误差
每个坐标轴有三个旋转误差,有时它们在通用工业术语中被称作Pitch,Yaw,Roll,但是此文档使用更为精确的数学术语,分别用A,B、c指示围绕X、Y、z轴的旋转.
重要旋转误差是那些机械组件产生的几何误差,那也是大多数CMM测量误差的产生原因。按照,CMM一般的做法,探头系统量程相对短于机器量程。因此,我们把那些仅仅因为受探头偏移影响而产生的误差定义为非重要误差。探头偏移参考点对错误收集机制是十分重要的。还没有统一的标准用来说明应从哪里测量偏移。通常,应用软件为他自己的偏移做出定义。NeptuneMeasurement定义的探头偏移参考点如下图所示:
所有的探头偏移都是在机器坐标系统中测量的。
在这个误差补偿数学模型中,需要预先定义机械运动学结构。针对工作中的机器的不同的运动学结构,误差补偿算法将使用不同的方法。因此,向误差补偿数据文件(将于稍后的章节中介绍)中输入正确的机器类型是十分重要的。
上述重要误差或非重要误差是在探头长度较短的假定下的。当然,对于那些使用半米或一米的探针扩展的机器来说,在这个误差补偿数学模型所关系的问题中就不存在非重要误差了。
3,机器运动学结构定义
机器运动学结构所关心的是:第一、第二、第三运动轴。
下面一个简单的例子将演示此定义的必要性。对于正常的水平臂测量机,Z轴是第二轴。z旋转误差或者关于c的旋转误差(2轴)将引入第一轴测量误差,该误差可能是 轴的或Y轴的。在上一章节中,我们定义这个误差为重要误差。但是对于移动桥式测量机,2轴通常是第三轴。Z旋转误差或者关于c的旋转误差(z轴)将为第一轴和第二轴引入测量误差,但是非重要的数量,因为旋转臂是探头在第一和第二轴的偏移方向。
测量机类型 YXZ
测量机类型XYZ
测量机类型XZY
测量机类型YZX
总共有四个运动学结构定义在误差补偿算法中。在误差补偿输入数据文件中选择正确的机器模型可以保证使用正确的误差补偿算法。
通常说,在三个移动轴中总共有9个旋转误差,其中有五个是重要误差,而其余四个是非重要误差。这五个重要旋转误差是从下述三点得到的:第一移动轴,第二移动轴围第一轴的旋转误差,第二移动轴为自身的旋转误差。
4,输入数据格式次章节说明误差补偿数据文件数据格式结构。在数入数据文件中任何不合法的字将引起装载时的失败。缺少必须的数据条目也将引起装载失败。我们使用蓝色字体标识必须的数据条目。
误差数入文件使用ASCI1编码。因此可以使用任何ASCI1文件编辑器进行编辑,例如:Notepado
a.测量机类型输入
TYPE=Var 1
Var 1可以是:
XYZ
YXZ
XZY
YZX
在第三节中描述如何定义测量机类型。
b.轴不垂直误差(也称为squareness误差)
XYSE=Value
YZSE=Value
ZXSE=Value
XYSE表示XY轴不垂直误差。数值的单位是十分之一微米。
例如:one arcsecond of sequareness error in XY plane will produce5 microns of error for every meter of length.
C.XERROR= YERROR= ZERROR= ENDERROR Position Linear STON STON+ A B C 0 100 1 5 10
C.XERROR=
YERROR=
ZERROR=
ENDERROR
Position Linear STON STON+ A B C
0
100 10 5 2 10 2 5
"XERROR="表示下面的数据块是X轴的误差,"YERROR="和"ZERROR="以此类推。用关键字ENDERROR表示数据块的结束。总共可能有七个数据栏。每个数据栏的解释如下:
第一栏:测量机位置。
测量机位置的单位是:MM(毫米)。测量机可以从零刻度、负刻度或正刻度读取。任何两个位置不应该有相同的数据条目。测量机位置必须按位置数据增长,的方向输入。对两个邻近的位置之间的间隔没有必须得要求。他也可以从两个相邻的位置到另两个相邻的位置之间自由变化。
第二栏:
平移误差或者有时称作线性误差。线性误差的单位是十分之一微米。线性误差是作为真实位置的减法刻度位置测量的。真实位置经常使用激光系统测量。
第三和第四数据栏:
这两栏是straightness误差条目。数据的单位是十分之一微米。
每个轴总共有两个误差。第三栏是第一个straightness误差,第四栏是第二个straightness误差。第一个straightness误差是沿着移动轴后向的线性误差,第二个straightness误差是沿着移动轴前向的线性误差,使用右手坐标。例如:对于X轴,第一straightness是Y误差,第二straightness是Z误差。
第五、六、七数据栏:这三栏是旋转误差条目。单位是十分之一arcsecond。第五栏是围 轴的旋转误差,第六栏是围 轴的旋转误差,第七栏是围2轴的旋转误差。
分隔符:两个相邻的数据条目之间的分隔符可以是:空格,TAB,或逗号。
缺省数据条目:从第三栏到第七栏,都可以使用缺省的条目。缺省值是零。当数据栏没有使用,缺省值将自动生效。由于数据是位置相关的,缺省栏总被认为是有最高栏序号。例如,如果没有旋转误差,第五栏到第七栏就不需要填充零了。如果有旋转误差至,但是没有straightness值,straiqhtness值必须填入零并置于旋转误差条目之前。如果只有位移误差,第三栏到第七栏就都可以不填。
d.注释行注释行是由字符","打头的一行。当数据输入的一行使用","打头,将自动忽略此行。
e.空行空行将被忽略。
5·在Neptune测量软件中使用误差补偿
a.误差影射数据文件的注册表设置Neptune测量软件使用注册表项表示误差影射数据文件的位置和名字。下图是注册表中的位置:
b.实时误差影射指示用法
只有当测量机homed时几何误差修正才生效。
Neptune测量软件使用数码管(DRO)字体的文字颜色标识误差的环境。如下图所示:
7,补偿判定方法
a.补偿顺序
1-旋转误差 9项
2-直线度误差6项
3-位置度误差3项
4-垂直度误差3项
b.方向判断旋转误差:
使用右手定则:右手拇指指向不动轴正方向,从当前角摆位置指向理论位置,如果和右手旋转方向一致时,数据补偿为“正”,否则数据补偿为“负”。
如上图,z对 脚摆,即在zY平面内,z轴在运动过程中偏移至z1或者22位置。
使用右手大拇指指向 轴正方向:
1.脚摆在z1位置时,从21指向理论z位置和我们右手旋向是一致的,因此脚摆在Z1位置测量出的数据补偿符号为正。
2.脚摆在z2位置时,从22指向理论z位置和我们右手旋向反向,因此脚摆至z2位置测量出的数据补偿符号为负。
直线度:
当实际位置大于理论位置时,补偿为正;当实际位置小于理论位置时,补偿为负。