一种基于MATLAB的圆度评定方法
摘要:圆度的评定和计算,实质上是根据圆度的定义构造函数模型、再进行函数优化求解的过程。提出一种基于MATLAB 的圆度评定方法,利用MATLAB 优化工具箱,为采用最小区域圆法、最小二乘圆法、最小外接圆法和最大内接圆法实现圆度的评定提供了新的选择。
1 引言
Z ΔZZ=Rmax-Rmin(1)式中:Rmax、Rmin——各测点相对最小区域圆MZC的最大、最小偏离值
i——各测点相对最小区域圆MZC 的偏离值(在最小区域圆MZC 外侧取正值,内侧取负值)
q、ΔZc和ΔZi。
2 圆度评定数学模型
2.1 最小区域圆法
c)2+(y-yc)2=Rc2(2)
i、yi( i=1,…,n),则各点到该圆圆心的距离为 Ri=√(xi-xc)2+(yi-yc)2(3)
c、yc的最优化问题,求解结果xc*、yc*即为最小区域圆的圆心坐标值: F(xc,yc)=[Ri]max-[Ri]min=min(4)式中:[Ri]max、[Ri]min——各点距评定圆圆心距离的最大值和最小值
2.2 最小二乘圆法
i、yi(i=1,…,n),各点到最小二乘圆的距离为 Ri=√-Rc(xi-xc)2+(yi-yc)2(5)
c、yc和圆半径Rc的最优化问题,该函数求解结果xc*、yc*、Rc*即为最小二乘圆圆心坐标值和半径: F(xc,yc,Rc)=nRi2=minΣi=1(6)
2.3 最小外接圆法
i参见式(3)。该函数实质上是求解关于圆心坐标xc、yc的最优化问题,其求解结果xc*、yc*即为最小外接圆圆心坐标值: F(xc,yc)=[Ri]max=min(7)
i]max各点距评定圆圆心距离的最大值
2.4 最大内接圆法
i参见式(3)。该函数实质上是求解关于圆心坐标xc、yc的最优化问题,该函数求解结果xc*、yc*即为最大内接圆圆心坐标值: F(xc,yc)=[Ri]min=max(8)式中:[Ri]min——各点距评定圆圆心距离的最小值
3 基于MATLAB的圆度评定
3.1 MATLAB求解步骤
- 将所测n(n>3)点(各点坐标为xi、yi(i=1,…,n))中的三点P1(x1,y1)、P2(x2,y2)和P3(x3,y3)代入以下方程组,解得圆心坐标初值x0、y0及半径初值R0:
x0=x12(y2-y3)+x22(y3-y1)+x32(y1-y2)-(y1-y2)(y2-y3)(y3-y1)2[x1(y2-y3)+x2(y3-y1)+x3(y1-y2)]y0=y12(x2-x3)+y22(x3-x1)+y32(x1-x2)-(x1-x2)(x2-x3)(x3-x1)2[x1(y2-y3)+x2(y3-y1)+x3(y1-y2)]R0=√(x1-x0)2+(y1-y0)2(9)
- 根据四种不同的评定方法,分别按式(4)、式(6)、式(7)、式(8)构造函数F(xc,yc)或函数F(xc,yc,Rc):将x0、y0或x0、y0、R0作为初值代入函数F(xc,yc)或函数F(xc,yc,Rc)进行迭代求解,得到满足迭代求解精度和该函数式的解xc*、yc*或xc*、yc*、Rc*,该解即为评定基圆的圆心坐标或圆心坐标和半径(注:采用最小二乘法评定圆度时,需圆心坐标和半径值x0、y0、R0作为初值,而其余三种评定方法只需圆心坐标x0、y0作为初值)。在进行迭代求解时,采用优化算法Nelder-Mead Simplex Method,该算法未利用函数导数信息,而只是进行函数值的计算。虽然其计算效率、收敛速度不及Quasi-NewtonMethod 和BFGS Method,但却非常适合求解非线性和不连续问题。
- 按式(3)求解测得各点距评定基圆圆心的距离Ri(i=1,…,n)。
- 将求得的Ri(i=1,…,n)代入下式即可求得圆度误差值ΔZ
ΔZ=(Ri)max-(Ri)min(10)
表1 计算数据与圆度评定结果序号XY最小区域圆法最小二乘圆法最小外接圆法最大内接圆法149.99960.0000-0.0015-0.0000-0.00050.0014247.551215.4503-0.0027-0.0014-0.00180.0000340.451029.3893-0.00080.0005-0.00010.0017429.389440.4511-0.00070.0005-0.00020.0017515.450547.5517-0.0023-0.0010-0.00200.000060.000050.00120.00000.00120.00000.00227-15.451247.5540-0.00010.0011-0.00040.00208-29.389240.4508-0.0016-0.0004-0.00200.00059-40.451129.3895-0.0014-0.0001-0.00190.000810-47.553015.4509-0.0017-0.0003-0.00230.000511-49.99980.0000-0.0022-0.0008-0.00280.000212-47.5535-15.4511-0.00140.0001-0.00180.001213-40.4504-29.3889-0.0027-0.0011-0.00300.000014-29.3905-40.45260.00000.0017-0.00000.002915-15.4508-47.5527-0.0022-0.0005-0.00190.0008160.0000-50.0001-0.0018-0.0001-0.00130.00131715.4512-47.5538-0.00080.0010-0.00000.00251829.3893-40.4509-0.00150.0001-0.00060.00171940.4508-29.3892-0.00150.0001-0.00050.00172047.5520-15.4506-0.0021-0.0006-0.00100.0009圆度统计结果0.00270.00310.00300.0029偏差最大点00.001700.0029偏差最小点-0.0027-0.0014-0.0030表2 计算结果对比(mm) 最小区域法最小二乘法最小外接圆法最大内接圆法本程序圆度评定结果ΔZZ=0.0027ΔZq=0.0031ΔZc=0.0030ΔZi=0.0029 三坐标机计算结果ΔZZ=0.0027ΔZq=0.0031ΔZc=0.0030ΔZi=0.0029
3.2 程序的实现
- 程序流程
- 应用MATLAB实现圆度评定的程序流程。
- 程序界面
- 该程序将流程中各个步骤集成到一个GUI中,通过该GUI 可实现数据文件载入、数据编辑、圆度迭代求解、计算结果保存、数据可视化等多种功能。
- 该程序将流程中各个步骤集成到一个GUI中,通过该GUI 可实现数据文件载入、数据编辑、圆度迭代求解、计算结果保存、数据可视化等多种功能。
4 实际算例
- 计算数据与圆度评定结果
- 计算数据与程序圆度评定结果见表1。
- 四种方法的评定基圆方程分别为:
- 最小区域圆法评定基圆方程: (x+0.0005)
2+(y+0.0004)2=50.00162- 最小二乘圆法评定基圆方程: (x+0.0005)
2+(y+0.0001)2=50.00012- 最小外接圆法评定基圆方程: (x+0.0012)
2+(y+0.0001)2=50.00132- 最大内接圆法评定基圆方程: (x+0.0007)
2+(y+0.0001)2=49.99892 - 数据可视化
- 最小区域圆法等四种方法计算结果的数据可视化。
- 程序评定结果与三坐标机计算结果的比较
- 用三坐标测量机对相同数据进行计算,以验证本程序圆度评定结果的正确性。两种方式的计算结果对比见表2。
5 结论
作者:西部车床,如若转载,请注明出处:https://www.lathe.cc/2022/06/5438.html