logo资料库

flatness算法(有关平面度算法文档).pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
^工●动化 2006年第25卷第1期 先髓■■技m Advance Manufacture Technique o.I.Automation 2006,Vo1.25,No.1 文章编号:1006—1576(2006)01—0027—02 基于Matlab和回归分析的平面度评定方法 周剑平 (黄石理工学院机电学院,湖北黄石435003) 摘要:基于Matlab和回归分析的平面度评定方法,首先利用回归分析方法和最小二乘法建立被测实际表面的数 学模型,然后利用Matlab最小二乘优化函数lsqnonlin求得基准平面方程,最后求两侧实测点到基准平面的最大距离, 则两个最大距离之和即为平面度误差。若误差值小于公差值,则平面度合格。 关键词:平面度评定;Matlab;回归分析;最小二乘法 中图分类号:TP391.72 文献标识码:A Method of Planeness Assess Based on Matlab and Regression Analysis ZHOU Jian-ping (Dept.of Machine&Power,Huangshi Institute of Technology,Huangshi 435003,China) Abstract:The method of planeness assess based on Matlab and regression analysis is that the mathematic model of the measured actual surface was set up by using regression analysis method and the least square method.Then the equation of the reference plane was solved by the lsqnonlin function in Matlab optimization toolbox.At last,the large distances between measured points to the reference plane was found,the sum of two distances is the flatness.If the flatness is less than the tolerance,the flatness is qualified. Keywords:Flaneness assess;Matlab;Regression analysis;Least square method 。 1 前言 方程可写成为: 国标GB ll83-75的平面度误差检测需经多次 选点试算,才能获得符合判别法的最小区域。因 此,用这种方法评定时,选点受人为经验的影响很 大。故采用回归分析法并运用Matlab的工具箱提 供的优化函数来评定平面度。 2回归分析评定原理 测量平面度误差的方法是:先将被测平板置于 基准平板之上,然后按均分网络用千分表测量出被 测表面上各测点至基准平板的距离差值,记下读 数。由于实测值与各测点所在位置即各测点坐标有 关,因此可用被测表面上各测点坐标进行回归求得 一个回归方程。然后用该方程计算各测点的回归 值,将实测值与回归值作代数差,差值中最大正值 对应的实测点到回归平面的距离与差值中最大负值 对应的实测点到回归平面的距离之和即为平面度误 差。若误差值小于公差值,则平面度合格。 3 建立被测实际表面的数学模型 平面度误差是指被测实际表面不平的程度,而 平面在空间直角坐标系中,它的方程一般为: AX+BY+CZ+D=0 若令al=A/C、a2=B/C、a3=D/C,则平面一般 Z=aiX+a2Y+a3 (1) 式(1)便是平面方程线性回归的数学模型,称之 为回归函数。 采用最小二乘法来估计模型式(1)中的参数 (al。a 2。a 3)。令 n F( l,a2,a3)=∑(zi—alxi—a2Yi—a3) (2) i=l 其中,n为实测点数。则(a。。a 。a s)的最d'---乘估 计 ,乏,aA,应满足 ^ ^ ^ F( l,a2,a3)=min F(al,a2,a3) (3) al·a2,a3 至此,已经获得了一个平面方程 ^ ^ ^ Z=alX+ 2Y+a3 (4) 显然,该方程所代表的是一个理想平面,它反 映了所有测点的平面趋势。这些测点有的位于该平 面上,有的位于其上下两侧。在每一侧,总有一个 测点至该平面距离为最大,那么,平面两侧最大的 两距离之和即为平面度误差。 4 Matlab工具箱lsqnonlin函数 在Matlab工具箱中,lsqnonlin函数是用于求解 最小二乘优化问题的。相应数字模型为: 收稿日期:2005—03—03:修回日期:2005—05—05 作者简介:周剑平(1959一),女,四川人,1995年湖北工学院毕业,从事机械设计、现代设计方法研究。 ·27· 维普资讯 http://www.cqvip.com
兵工●动化 2006年第25卷第l期 先盛—■技m Advance Manufacture Technique O.I.Automation 2006,Vo1.25,No.1 已知函数矩阵F(x),F(x)= fl(X) f2(x) fk(X) ,求X使得 m。in F(x) 而 IIF(x) =。∑n,fk(x)2o 调用格式为: 【x,resnorm,residual。exitflag,output] =lsqnonlin(fun,xO,lb。ub,options) 其中:fun是目标函数;x0为迭代初始值;lb,ub 为设置优化参数的上下界;options为设置优化选项 参数;X为返回优化结果;exitflag为返回算法的终 止标志。exitflag>0表示算法因求得了最小值而停 止;exitflag=0表示算法因迭代次数越限而停止; exitflag<0表示算法因函数值发散而停止;output: 是一个返回优化算法信息的结构,它的成员 iterations返回迭代的次数,funcCount返回算法中 函数估计值的数目,algorithm表示使用的算法。 resnorm表示返回∑n fk(x) 值。 k=l 5 应用实例 经实测,实际表面上的9点对测量基准的读数 (单位um)为:(一2,一9,一2,一1,一12,+4,一8,+9,0)。 该零件表面的平面度公差为0.02mm,计算该表 面的平面度误差,在Matlab中编写M文件如下: function F=myfun(X) y=【0,0,-8;0,2,-l;0,4,-2;2,0,9;2,2,-l 2;2,4,-9;4, 0,0;4,2,4;4,4,-2】; k=l:9: F=y(k,3)·x(3)-X(1) y(k,1)-x(2) y(k,2); plan.m xO=[1,l,l】; y=【0,0,-8;0,2,-l;0,4,·2;2,0,9;2,2,·12;2,4,-9;4,0,0,4,2,4;4,4,.2】; 【x,resnorm,residual,exitflag,output]=lsqnonlin(@myfun,x0); max---10000; min=l 00000; for n--l:9: dd=(-y(n,3)_卜x(3)+x(1) y(n,1)_卜x(2) y(n,2))/sqrt(x(1) 2+x(2) 2+1); if dd>max max=dd; end if dd>Optimization terminated successfully: Relative function value changing by less ·28· than OPTIONS.T0IFan flatness=9.9286 x=1.0833..1.1667。.2.1667 output= firstorderopt:1.1 8 1 5e.005 iterations:7 funcCount:29 cgiterations:6 algorithm:’large-scale:trust-region reflective Newton exitflag 1 resnorm=285.1667 由上可知:迭代7次得评定平面的方程为: z=1.0833x一1.1667y一2.1667 平面度误差值为9.9286um,误差平方和为 285.1667。而用传统方法求解,对角线法平面度误 差值为22um>0.02mm(公差值),无法判断平面度 合格与否。 用最小区域法。该平面度误差形状为中凹形, 故可按三角形准则评定: 选点一为:C~2,9, ,一l, 12l+4,一8, ,0),求解 得平面度误差值17.5um<0.02mm(公差值),平面 度合格。 选点二为:(2, ,-2,一1, 1 +4, 8} ,0),则实 现最小区域的最小区域判别法形式构成交叉准则, 根据交叉准则可解得平面度误差值l6um
分享到:
收藏