温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
平行
误差
关键
问题
探讨
软件
测试
平行度误差的关键问题探讨与软件测试
林 翔
〔福建商业高等专科学校 福建福州 350012〕
【】平行度误差评定的关键在于基准拟合,其拟合精度决定误差评定结果之精度。对于平面基准和空间直线基准,数模重新整定,寻求全新算法,并论证其对“最小条件〞要求的符合性,且通过了对程序进行的大量算例测试。在高精度基准拟合确定根底上,研发功能完全的平行度误差评定软件,经大量算例测试说明了其评定结果的高精度性。
【关键词】平行度误差;基准拟合;最小条件;软件测试;高精度
Research on the Parallelism Error and Software Testing
LIN Xiang
(Fujian Commercial College, Fuzhou, Fujian, 350012)
Abstract: Baseline fitting is a key factor in parallelism error evaluation and the fitting accuracy can influence evaluation results. The paper uses data mold to construct datum and space straight-line basis to find new algorithm, prove the requirements of the "minimum conditions", and is tested by a large number of the algorithm. Based on the high-precision baseline fitting, the software of parallelism error evaluation is designed and the high-precision of evaluation result is assured by the testing.
Key words: parallelism error; baseline fitting; minimum conditions; Software testing; high-precision
一、平行度误差的关键问题
任何一种定向误差评定的关键问题,不外乎基准确实定,空间平行度误差的评定也不例外。探讨空间平行度误差评定,按基准来区分,要考虑有2大类4种情况:一类是基准为空间平面,被测对象分空间直线和平面2种,可简称为“线对面〞平行度误差、“面对面〞平行度误差;另一类是基准为空间直线,被测对象同样也分空间直线和平面2种,简称为“线对线〞 平行度误差、“面对线〞平行度误差。
1、如果基准是的,是精确给定的,按文献[1]规定上述4种问题的解决相对简单一些:
“线对面〞、“面对面〞:只要求出被测直线或被测平面上所有测量点到基准平面的最大距离与最小距离,二者之差即为其平行度误差值;
“线对线〞:以基准直线的方向矢量为法矢作一平面,令被测直线上所有测量点投影到该平面,对所有投影点求最小外包圆,那么此圆之直径即为其平行度误差值;
“面对线〞:以基准直线的方向矢量为法矢作一平面,令被测平面上所有测量点投影到该平面,对所有投影点求二维直线度误差,那么此直线度误差值即为平行度误差值。
因此在基准已经给定时,上述4种情况下求平行度误差的核心问题是求“最小外包圆〞直径与“二维直线度误差〞,而此二问题的求解在文献[2]、[3]中已有详细阐述,且所求的最小外包圆直径与二维直线度误差值的精度非常高,可以直接引用,此处不作赘述。
2、如果基准未明确给出,而是通过测量得到的,那么就必须先对基准的测量点集进行平面拟合或空间直线拟合,以确定基准,进而按上一局部所述的4种情况处理,最终求出相应的平行度误差值。显然,这种情况下基准的拟合认定,就成为了误差评定的关键。
国标[1]规定“由基准要素建立基准时,基准为该基准要素的拟合要素。拟合要素的位置应符合最小条件〞。 按此要求,基准为空间直线的,可以引用文献[4]提供的方法求取,以该算法得出的空间直线度误差符合“最小区域〞原那么,因此所拟合的直线必然符合“最小条件〞要求。从文献[4]罗列的算例来看,其空间直线度误差评定的精度极佳,超过目前业界绝大局部常见的主流软件。
基准为平面的,也同样要对平面测量点集进行平面拟合,拟合的硬指标也是要符合“最小条件〞原那么,以下对此关键问题展开探讨。
二、基准平面拟合
基准平面上测量点集P={Pk(xk, yk, zk),k=1~n},设基准的拟合平面为π0,其法矢记作(l,m,1),按文献[1]关于“最小条件〞的规定,求π0其实就是求“平面度误差〞的过程,而且求取平面度误差的算法必须符合“最小区域〞原那么,这样求得的拟合基准平面π0才满足要求,可以作为基准使用。
“平面度误差〞属于形位误差中之形状误差范畴,现行的平面度误差算法很多,如借助matlab[5]、LABview[6]等专业软件包或著名的“PC_DMIS〞软件[7]来设计算法的,也有利用改良蜂群算法[8]来开发算法的,但其中符合“最小区域〞原那么的高精度算法乏善可陈,有的算法过程复杂却难以实用,有的甚至不具备收敛于“最小区域〞的机制。为此,有必要针对关键问题重新建立数学模型并寻求符合“最小区域〞原那么的算法。
1、平面拟合的数学模型
点集P为平面上n个测量点之集合,P={Pk(xk, yk, zk),k=1~n},拟合平面方程为π0:,P中任一点Pk至π0的距离为:δk=|/, (k=1~n);
按“最小区域〞原那么,拟合平面的目标函数:δ=max(δk)+min(δk),(k=1~n);
令目标函数f= min(δ)成立,就可求出平面π0的各个参数l、m、d,所得的π0就是符合“最小条件〞的拟合基准平面。
2、计算方法
f= min(δ) 是离散型的,可以求其数值解,使得f趋于极小,即f=δ--à min。
算法的思路是先以“最小二乘平面〞求取初始的拟合平面π0,获得初始平面度误差δ0值;然后不断有意识地改变初始平面π0〔指π0法向量(l,m,1)〕,使初始π0朝着可能降低δ0值的方向转动,从而使计算过程到达δ0值趋于min的目的。
显然,算法的关键是在后面的过程。
不妨记以“最小二乘平面〞拟合得到的初始平面π0: ,点集P中距初始π0距离最大者为Pi、最小者为Pj,对应的距离为δi、δj,Pi、Pj在π0的投影点分别为Ai、Aj,自然AiPi=δi,AjPj=δj,记δ0=|δi|+|δj|,如图一所示。
沿AiPi距Ai距离ξ远处取点Ai’,AiAi’=ξ〔ξ是一个甚小值〕;同样在AjPj上取点Aj’,AjAj’ =ξ;记Ai’Aj’中点Aij,于π0上求点Aij’,满足AijAij’⊥Ai’Aj’。以Ai’、Aj’、Aij’三点作新 图一 初始拟合基准平面与测点关系
平面π0’,易见π0’系π0绕AijAij’做微小转动之后得到的。
π0’由π0转动获得,目的是使δ值下降,这一点需要证明:记共面线段PiAi、PjAj构成的平面为π1,如图二所示,Pi至π0’的距离δi’,Pj至π0’的距离δj’;观察△PiAi Ai’、△PjAj Aj’,∠PiAi’Ai、∠PjAj’Aj均为钝角,故δi’<δi、δj’<δj,是有δ’=|δi’|+|δj’| < |δi|+|δj|=δ0,由此得证。
δ’并不是平面π0’的平面度误差,因此究竟转动得到的π0’能否把δ0降下来,还需通过P对π0’计算平面度误差值δ,并与δ0作比拟,并分以下3种情况进行判断:
1) 假设δ<δ0,平面π0’取代平面π0,然后再依上法对平面π0作微小转动;
2) 假设δ≥δ0,那么减小ξ值,重新在原π0根底上求π0’,再通过点集P对π0’计算δ值,判断δ<δ0是否成立: 图二 π0、π0’与各测点及投影点关系
a〕如果成立,类同1〕情况,按1〕操作;
b〕如果不成立,继续减小ξ值,重新在原π0根底上求π0’,并返回1〕;
3) 假设ξ已减小为非常小的值,到达精度要求,也不能经转动π0而把δ0降下来,那么计算过程终止,π0就是所求的拟合基准平面。
π0是依“最小区域〞原那么求取得到的,因此满足“最小条件〞要求。
3、基准平面拟合算法框图
开始
输入基准平面测量点集P={Pk,〔k=1~n〕}及ξ
以“最小二乘平面〞算法求初始拟合平面π0之各参数l、m、d值,及δ0
以ξ在平面π0根底上求取平面π0’,以点集P={Pk,〔k=1~n〕}计算δ
π0’取代π0
δ<δ0
y
N
ξ足够小
N
y
ξ=ξ/2
输出π0的法矢〔l,m,1〕,及平面度误差值δ0
结束
4、编程与测试
按照上述算法框图,笔者用C语言编程,并收集了50多个关于“平面度误差〞的算例加以验算。从国标[1]易知,对于给定的点集,平面度误差的评定值越小,那么拟合的平面越符合“最小条件〞。软件经过50多个算例测试,结果均说明以本算法计算得到平面度误差值都等于或小于原文的值,说明本算法拟合的平面更加理想。兹随选假设干算例略作比拟说明:
文献[5]~[9]中各给出了一个平面度误差算例,原文得到的误差值依次是:8.971μm、2.0268μm、0.59571mm、0.15487mm、0.0753928;用本算法进行计算,平面度误差依次为8.971μm、1.9143μm、0.577350mm、0.15487mm、0.065163。显然本算法求得的平面度误差值精度更高,因此求得的相应的拟合平面更符合“最小条件〞。
三、平行度误差软件测试
1、平行度误差计算
解决了高精度的“空间直线拟合〞、“平面拟合〞问题,也就解决了平行度误差评定中基准拟合的关键问题,平行度误差评定所涉及的4种类型,都迎刃而解了:
“线对线〞:以文献[4]的方法拟合基准直线,在此根底上以文献[3]求最小外包圆,输出直径值;
“面对线〞:同上法拟合基准直线,在此根底上以文献[2]求二维直线度误差,输出该值;
“线对面〞、“面对面〞: 以本文前述的方法拟合基准平面,基于此基准平面求出被测对象上所有测量点至基准的最大、最小距离,求出二者之差并输出。
2、编程与测试
平行度误差高精度评定软件用C语言编程,功能包括上述4项。通过数十个算例的测试,结果说明该软件是稳定可靠的,计算得到平行度误差值具有高精度性。以下针对上述4种类型选5个算例略作说明。
“线对线〞:文献[10]给出的算例,其基准直线上分布9个测量点,被测直线上有5个测量点。原文的平行度误差为0.740598μm;本软件计算得到的平行度误差为2.057695μm〔基准的直线度误差为3.701226μm〕;
“面对线〞:依然是文献[10]的算例,基准直线上分布9个测量点,被测平面有16个测量点。原文的平行度误差为10.678857μm;本软件计算得到的平行度误差为5.69515μm〔基准的直线度误差为0.544669μm〕;
“线对面〞:还是文献[10]的算例,其基准平面上分布9个测量点,被测直线上有8个测量点。原文的平行度误差为0.659μm;本软件计算得到的平行度误差为13.384616μm〔基准的平面度误差为6.307692μm〕;
“面对面〞:文献[11]给出的算例,其基准平面、被测平面上各有9个测量点。原文的平行度误差为64.2μm〔基准平面度误差为32.9501〕;本软件计算得到的平行度误差为64.199967μm〔基准的平面度为32.9250μm〕。
文献[12]给出的“面对面〞算