碧波液压网 欢迎你,游客。 登录 注册

空间直线度误差新算法及其编程

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

    

    1 空间直线度误差

    空间直线度误差的讨论是形状误差范畴内的主要研究内容之一。根据国家标准GB/T1182-1996《形状和位置公差》的规定,对以直线为被测对象进行空间直线度误差的评定,就是计算被测对象到基准中心线的最大距离,如果能令该距离值达到最小,那么该值的双倍就是轮廓线的空间直线度误差值。这是一个典型的MinMax问题,用几何直观的说法,就是有一个圆柱把这条轮廓线包容,如果该包容柱的直径达到最小,则该直径的值即是空间直线度误差。

    检测专业通常是以直线上测得的一组点Pk(xk,yk,zk)(k=1~n)来描述这条轮廓线的,如此被测直线的直线度问题就转化为计算Pk(k=1~n)的直线度误差。GB/T1182-1996规定:用“最小区域法”求出的值才满足“最小条件”原则,而对于如何求得“最小区域”,国家标准并没有说明,业内专家则各抒己见,提出了很多空间直线度误差的算法,如粒子群算法[1]、剪移变换法[2]、LSABC算法[3]、坐标变换法[4]等,这些算法都展示出了各自的能力,但不足之处是计算精度均不甚理想。

    笔者经过观察分析,提出了如下新的算法,该算法可使直线度误差计算结果真正具有“最小区域”的意义,满足了“最小条件”的原则。

    2 新算法

    对于Pk(xk,yk,zk)(k=1~n),设基准直线方程为则直线度误差计算的关键就转变成了求直线l的向量Ty(a,b,c)和点P0(x0,y0,z0),使Pk(k=1~n)到直线l之距离的最大者D达到最小。新算法的意图是通过“扰动”直线,让Pk(k=1~n)至变动后直线l的距离最大值D随之降下来。众所周知,“扰动”空间直线l,可以分解为“移动”和“转动”两个动作。以下就寻求可能使D下降的“移动”和“转动”展开探讨。

    (1)移动。对于直线l,移动是指改变其方程中的点P0(x0,y0,z0)坐标,而不改变方向矢量(a,b,c)之值。要将直线l朝哪个方向移动、移动多长的距离,这是问题的关键。解决的办法是:从Pk(k=1~n)中找出距离直线l最远的点Pm,记Pm在l上的垂直投影点为Qm,此时D=ûQmPmû。沿QmPm方向距Qm点E1处,选定一个点Qm′,过Qm′点作一条平行于直线l的新直线l′。显然,Pm到直线l′的距离小于Pm到直线l的距离,这就为直线l的移动操作带来了可能。

    能否把“移动”的可能性变成事实,这需要依据Pk(k=1~n)到直线l′距离的最大值变化情况来判断。如果Pk(k=1~n)到l′距离的最大值D′<D,这正是所期望的,毫无疑义,用直线l′取代直线l;如果D′值没有下降,则存在2种可能:1)E1取值不合适,此时可以改变E1的大小,重新尝试移动直线l,并作同样的判断;2)E1已经很小,达到了计算的控制精度,停止对l移动。此时如果用直线l和半径D作圆柱,它就是包容Pk(k=1~n)的最小外切圆柱,如图1所示。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论