以直线为基准的高精度平行度误差值的求法_第1页
以直线为基准的高精度平行度误差值的求法_第2页
以直线为基准的高精度平行度误差值的求法_第3页
以直线为基准的高精度平行度误差值的求法_第4页
以直线为基准的高精度平行度误差值的求法_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

以直线为基准的高精度平行度误差值的求法

1基准直线方程在智能制造和检测领域,平行度误差是一项非常重要的技术水平。属于“位置误差”的“方向误差”范畴,用来解释三维物体与基准之间的平行度。本文把基准为空间直线的平行度误差问题,单列出来进行讨论。为讨论方便,设基准直线方程为1:x-x0a=y-y0b=z-z0cx−x0a=y−y0b=z−z0c;→Τ(a‚b‚c)为l的方向矢量,P0(x0,y0,z0)为l经过的点;被测对象上的测量点为Pk(xk,yk,zk)(k=1~m),因被测对象可以是直线,也可以是平面,故要解决的问题包括以下二个方面:1.1平行度误差值这时的平行度误差是指:在过基准直线l的平面族中,存在这样一个平面,使得被测平面各点到该平面的距离之最大值与最小值之差达到最小,该差值即为平行度误差值。换一种等价的说法:作一个以基准直线l的方向为法向的平面πl,如图一所示,令被测平面上的各点Pk(k=1~m)投影到πl,各投影点的直线度误差值(二维的)即为平行度误差之值。1.2平行度误差值这时的平行度误差是指:以基准直线l方向作一族小圆柱,使圆柱包容被测直线所有的测量点,则该族圆柱中直径最小者(即最小包容柱)直径之值即为平行度误差值。换一种说法:作一个以l方向为法向的平面πl,令被测直线上的各测量点Pk(k=1~m)向πl投影,则该平行度误差为平面πl上包容所有投影点的最小外包圆的直径之值。2使用高精度的“直线度误差”计算程序,求解“基准直线”基准直线1有给定与非给定两种情况,以下分别进行讨论:2.1如果l已给定,即→Τ(a‚b‚c)、P0(x0,y0,z0)已知,则上述的二个方面的内容就归结为如下二个方面的问题:1)对于“面对线”问题,很容易作平面πl⊥l,令被测平面上各点Pk(xk,yk,zk)(k=1~m)在πl上投影,投影点的直线度误差值正好可以用以描述解决“面对线”平行度误差。直线度误差(此时是二维的)属“形状误差”范畴,需要采用高精度的“直线度误差”计算程序加以解决,才能获得精准的基准直线;2)对于“线对线”问题,同样作平面πl,求被测直线上各点Pk(xk,yk,zk)(k=1~m)在πl上投影,再求投影点的最小外包圆直径,该直径值即“线对线”平行度误差值。求取“最小外包圆”,同样需要高精度计算程序加以解决。2.2如果基准直线不是给定的,只给出基准直线上测量点Qp(xp,yp,zp)(p=1~n),则必须先设法通过Qp(p=1~n)把基准确定下来,然后继续进行上述“面对线”或“线对线”的平行度误差计算。按文献规定,必须通过基准直线的“空间直线度误差”求取过程,以获得基准直线的各个参数(即直线l方程中之a、b、c、x0、y0、z0各值),而且“空间直线度误差”算法同样必须符合“最小区域”原则,求得的基准直线才是最精确的。直线度误差亦属于“形状误差”范畴,同样需要采用针对性的算法程序加以解决。3寻求或选择“直线度误差”三维计算方法基于以上所述,我们可以把解决平行度误差计算的关键技术,归纳为如下三个内容:3.1当基准直线l是由一系列测量点Qp(p=1~n)来描述,要通过Qp(p=1~n)来求取基准l,就必须寻求或选择一种符合“最小区域”概念与评定准则的“直线度误差”(三维)计算方法,在计算直线度误差过程给出直线l方程的各参数a、b、c、x0、y0、z0之值,以确立基准l;3.2在计算被测平面相对于基准直线l的平行度误差时,必须寻求或选择一种符合“最小区域”概念的“直线度误差”(二维)计算方法,所得到的直线度误差之值,就是我们所要求取的平行度误差值;3.3在计算被测直线相对于基准直线l的平行度误差过程中,要针对平面πl上的投影点,寻求一种能包容这些投影点的“最小外包圆”计算方法,该“最小外包圆”的直径就是我们所要求的平行度误差值;4数学模型的构建针对以上所列的三个技术关键内容,需要分别建立相应的数学模型,以便计算、分析:4.1直线度误差1p的基本概念基准直线上的测量点为Qp(xp,yp,zp)(p=1~n),设基准直线方程为l:x-x0a=y-y0b=z-z0c‚Qp到l的距离为:бp=√(xp-x′p)2(yp-y′p)2+(zp-z′p)2,(p=1~n);其中Q′p(x′p,y′p,zp)是Qp(xp,yp,zp)在直线l上的投影点,计算公式为:x′p=x0+atp,y′p=y0+btp,z′p=z0+ctp;这里tp=[a(xp-x0)+b(yp-y0)c(zp-z0)]/√a2+b2+c2;记直线度误差的目标函数:δ=max(бp)-min(бp),(p=1~n);令直线度误差f=min(δ)成立,就可求得基准直线l方程的各参数a、b、c、d及x0、y0、z0之值,由此得到符合“最小区域”准则的基准直线l。4.2gkxk,yk拟合的直线方程记被测平面上的点Pk(xk,yk,zk)(k=1~m)在某一平面上投影点为Gk(x″k,y″k),设将要通过Gk(x″k,y″k)拟合的直线方程为l2:y+ax+b=0,任一点Gk到l2的距离为:бk=(y″k+ax″k+b)/,√1+a2(k=1~m);记直线度误差的目标函数δ=max(бk)-min(бk),(k=1~m);令直线度误差f=min(δ)成立,即可求得符合“最小区域”准则的直线度误差值。4.3包日金gkk记被测直线上的点Pk(xk,yk,zk)(k=1~m)在二维平面上投影点为Gk(x″k,y″k)(k=1~m),设包容点集Gk(k=1~m)的圆方程为c:(x-x0)2+(y-y0)2=R2,显然,对于Gk,必须满足:(x″k-x0)2+(y″k-y0)2≤R2(k=1~m);令平行度误差的目标函数f=min(2R)成立,即可求得R、x0、y0各值,圆c即为符合“最小包容”准则的最小外包圆,圆c之直径即为平行度误差值。5算法的选择针对上述三个数学模型,以下分别寻求相应的算法。5.1直线l的距离算法思路:对于点集Pk(xk,yk,zk)(k=1~n),设基准直线为l:x-x0a=y-y0b=z-z0c,Pk(k=1~n)到l的距离之最大者δ,通过有目的变动直线l的位置,让δ值随之而降下来。“变动”可以分解“移动”和“转动”两项操作,以下讨论如何对直线l“移动”和“转动”:移动:即对于直线l,不改变a、b、c,只改变参数x0、y0、z0,以使δ下降。具体方法是:设Pk(k=1~n)在l上的投影点为Qk(k=1~n),记δ=|QvPv|=max(|QkPk|)(k=1~n)。沿QvPv取点Qv′,使|QvQv′|=ε1(ε1是一个很小的步长),过Qv′作直线l′//l,显然Pv到直线l′的距离小于Pv到直线l的距离,这就为直线l的移动带来可能。究竟能否“移动”,要由Pk(k=1~n)到直线l′的最大距离δ′来判断:如果δ′<δ成立,说明确实把δ值降下来了,这正是我们所期望的,以直线l’取代l;如果δ′<δ不成立,有2种可能:a)ε1取值不合适,可改变ε1的大小,重新移动直线l并作同样的判断;b)ε1值已经很小,达到了计算的控制精度,则停止对直线l移动,此时若以l为轴线、以δ为半径作圆柱,它就是包容Pk(k=1~n)的一个外包圆柱。转动:即尝试对l进行转动,视l转动后能否使δ下降,以决定是否实施转动。记Pk(k=1~n)中距直线l的两个最远点为Pi、Pj,其在l上投影分别为Qi、Qj,如图2示。沿着QiPi取点Qi′,使QiQi′=ε2(ε2为很小步长),沿QjPj取点Qj′,使QjQj′=ε2,连接Qi′、Qj′作直线l′,l′可能把δ值降下来。证明:设Pi在l′的投影为Pi′,则点Pi′、Qi、Qj、Pi落在由直线l、l′构成的平面上,见图2,△PiPi′Qi中,因PiPi′⊥l′,故∠PiPi′Qi为钝角,因钝角的任一邻边必小于对角边,故PiPi′<PiQi;同理,对于Pj也存在类似的一个钝角三角形,使得PjPj′<PjQj,故|PiPi′|+|PjPj′|<|PiQi|+|PjQj|成立,这表明δ值的下降是可能的。“可能”能否成为事实,同样要视点集Pk(k=1~n)至直线l′最大距离的变化情况来判断:若Pk(k=1~n)到l′的最大距离降了,则直线l′取代直线l,然后对l再进行“转动”并判断。否则的话,减小ε2之值,即减小转动幅度,重新转动l生成l′,重复上述的判断。计算终止的条件:当ε1、ε2值已经很小,不论“移动”还是“转动”直线l,都不能使δ值降下来,此时即可终止计算,δ值即为点集Pk(k=1~n)的空间直线度误差值。参考文献,各给出了一个算例,原文给出的空间直线度误差值分别是8.25μm、0.060mm、36.7μm、0.0328mm、0.024932mm;以本算法编程计算得出的结果分别为6.335μm、0.050916mm、25.992861μm、0.031485mm、0.009185mm,算例结果比较表明,本算法占据精度优势。5.2计算直线转校本算法参考文献所提供的算法,其主要思想为:设平面点集Wk(xk,yk)(k=1~v),先通过“最小二乘法”拟合得到的初始基准直线为l2:y=kx+b,点集Wk(k=1~v)到直线l2距离中最大值为δi、最小值为δj,对应的点为Wi、Wj。记Ai、Aj分为Wi、Wj在直线l2的投影点,即WiAi=δi,WjAj=δj,记δ=|δi|+|δj|。沿着AiWi方向取一个点Ai′,AiAi′=ε(很小的步长),沿着AjWj方向取一个点Aj′,AjAj′=ε;过Ai′、Aj′做一条新直线l′,l′与l的夹角很小,可以视l′为l作微小转动以后获得的。然后对Wk(k=1~v)与直线l之间的距离计算、δ值的比较判断、l的转动,方法类同前述“三维直线度”中“转动”的思想与方法,直至求出满足“最小区域”准则的直线度误差值与基准方程l。参考文献都各给出了一个算例,原文计算得出的平面直线度误差值分别是45μm、6.6μm、28.8μm、7.8μm、6.048μm(实为7.15μm);以本算法编程计算得出的结果分别为44.799μm,6.599881μm,28.2161μm、6.60μm、6.065μm,算例结果比较表明,本算法占据精度优势。5.3点集gkk本算法参考文献所提供的“最小外包圆”算法,其主要思想为:对于平面点集Gk(k=1~n),首先找出一条外包折线,折线对应的点集Gk′(k=1~n′),显然点集Gk′(k=1~n′)是个凸集,且点集Gk′(k=1~n′)点集Gk(k=1~n)。再从点集Gk′(k=1~n′)中剔除那些使得“三点成一线”的中间点,剩下的点记为点集Gk″(k=1~n″)点集Gk′(k=1~n′)。找出点集Gk″(k=1~n″)的所有外包圆,从中找出最小圆,就是我们所要的“最小外包圆”。需要指出的是,此“最小外包圆”圆周上可能有Gk(k=1~n)某两个点、某三个点,或更多个点。参考文献都各给出了一个算例,原文计算得出的最小外包圆半径分别是25.6532、50.001341、50.001357、14.71324、0.1134;以本算法编程计算得出的结果分别为25.50、50.00131、50.00131、14.7086、0.1005,算例结果比较表明,本算法占据精度优势。6程序框架图和算术示例分析6.1总结图6.1.1采用平面直方法计算平面位移误差6.1.2采用线条法计算平面差的误差6.2参考文献所带来的算法为了验证程序的正确性,我们收集了许多算例加以验算,结果表明本程序的开发是成功的,程序在计算精度上有一定的优势,达到预想的目的,以下各列出2个“面对线平行度误差”、“线对线平行度误差”算例加以说明。参考文献均给出了一个“面对线”算例,原文给出的平行度误差分别为10.0μm、10.678857μm;本程序计算得到的结果为6.66667μm和5.69515μm。参考文献也各给出了一个“线对线”算例,原文给出的平行度误差分别为0.740598μm(该值偏小是由于原文基准的计算结果精度低所致)、0.0372mm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论