空间直线度误差新算法及其编程
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所示。
相关文章
- 2024-01-16输液瓶液位测量及报警装置
- 2023-05-18微加速度计在恶劣环境下的可靠性
- 2024-02-02轻量化折衍混合中波红外热像仪光学系统设计
- 2024-07-29单元结构尺寸对不锈钢/空气二维声子晶体声波禁带的影响
- 2024-08-08大尺寸量具检测装置的研制
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。