一种基于MATLAB的圆度评定方法

摘要:圆度的评定和计算,实质上是根据圆度的定义构造函数模型、再进行函数优化求解的过程。提出一种基于MATLAB 的圆度评定方法,利用MATLAB 优化工具箱,为采用最小区域圆法、最小二乘圆法、最小外接圆法和最大内接圆法实现圆度的评定提供了新的选择。

1 引言

目前在生产实践中,圆度的测量仪器主要有圆度仪、三坐标测量机等,而圆度的评定和计算则是通过圆度仪、三坐标测量机等精密仪器自带的计算程序来完成。由于设计者对程序严格保密且这些程序大都价格不菲,因此,使用者希望开发更多、更方便的圆度评定方法。实际上,圆度评定和计算的过程就是一个按照圆度评定标准构造函数原型进行优化求解的过程。随着MATLAB软件功能的日益完善,目前MATLAB已拥有600多个工程中可用的数学运算函数,这些函数中所使用的算法作为科研和工程计算的最新研究成果,都经过各种优化及容错处理,使用起来具有很高的鲁棒性和可靠性。在进行优化计算时,只需按要求构造正确的函数模型,然后调用MATLAB的优化函数即可得到满意的计算结果:同时,通过调用MATLAB的插值函数和可视化函数还可方便地实现求解结果的可视化。因此,将MATLAB软件引入圆度评定,将会为圆度评定的实现提供新的选择。
在GB7234-87《圆度测量术语、定义及参数》中,圆度误差的评定方法有:最小区域圆法、最小二乘圆法、最小外接圆法和最大内接圆法。

最小区域圆法是以最小区域圆MZC作为评定基准圆的方法,按此方法求得圆度误差值ΔZ
Z ΔZZ=Rmax-Rmin(1)式中:Rmax、Rmin——各测点相对最小区域圆MZC的最大、最小偏离值
R
i——各测点相对最小区域圆MZC 的偏离值(在最小区域圆MZC 外侧取正值,内侧取负值)
同理,分别将最小二乘圆(LSC)、最小外接圆(MCC)和最大内接圆(MIC)作为评定基圆则可分别求得圆度误差ΔZ
q、ΔZc和ΔZi。

2 圆度评定数学模型

2.1 最小区域圆法

根据圆的标准方程,用最小区域圆法推导出计算公式。假设圆在XOY平面或在平行于XOY的平面上,则最小区域圆的一般方程为 (x-x
c)2+(y-yc)2=Rc2(2)
测得该圆轮廓线上n(n>3)个点,各点坐标为x
i、yi( i=1,…,n),则各点到该圆圆心的距离为 Ri=√(xi-xc)2+(yi-yc)2(3)
按最小区域法构造以下函数,该函数的实质是求解关于圆心坐标x
c、yc的最优化问题,求解结果xc*、yc*即为最小区域圆的圆心坐标值: F(xc,yc)=[Ri]max-[Ri]min=min(4)式中:[Ri]max、[Ri]min——各点距评定圆圆心距离的最大值和最小值

2.2 最小二乘圆法

最小二乘圆的标准方程参见式(2)。
测得圆轮廓线上n(n>3)个点,各点坐标为x
i、yi(i=1,…,n),各点到最小二乘圆的距离为 Ri=√-Rc(xi-xc)2+(yi-yc)2(5)
按最小二乘法构造以下目标函数,该函数的实质是求解关于圆心坐标x
c、yc和圆半径Rc的最优化问题,该函数求解结果xc*、yc*、Rc*即为最小二乘圆圆心坐标值和半径: F(xc,yc,Rc)=nRi2=minΣi=1(6)

2.3 最小外接圆法

同理,按最小外接圆法构造以下函数,R
i参见式(3)。该函数实质上是求解关于圆心坐标xc、yc的最优化问题,其求解结果xc*、yc*即为最小外接圆圆心坐标值: F(xc,yc)=[Ri]max=min(7)
式[R
i]max各点距评定圆圆心距离的最大值

2.4 最大内接圆法

同理,按最大内接圆法构造以下函数,R
i参见式(3)。该函数实质上是求解关于圆心坐标xc、yc的最优化问题,该函数求解结果xc*、yc*即为最大内接圆圆心坐标值: F(xc,yc)=[Ri]min=max(8)式中:[Ri]min——各点距评定圆圆心距离的最小值

3 基于MATLAB的圆度评定

3.1 MATLAB求解步骤

  1. 将所测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)

  1. 根据四种不同的评定方法,分别按式(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,但却非常适合求解非线性和不连续问题。
  2. 按式(3)求解测得各点距评定基圆圆心的距离Ri(i=1,…,n)。
  3. 将求得的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 程序的实现

  1. 程序流程
    应用MATLAB实现圆度评定的程序流程。
  2. 程序界面
    该程序将流程中各个步骤集成到一个GUI中,通过该GUI 可实现数据文件载入、数据编辑、圆度迭代求解、计算结果保存、数据可视化等多种功能。

4 实际算例

为验证该程序求解结果的正确性,对表1中数据分别按最小区域圆法、最小二乘圆法、最小外接圆法和最大内接圆法评定圆度,并将评定结果与三坐标测量机的计算结果进行对比。

  1. 计算数据与圆度评定结果
    计算数据与程序圆度评定结果见表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. 数据可视化
    最小区域圆法等四种方法计算结果的数据可视化。

  3. 程序评定结果与三坐标机计算结果的比较
    用三坐标测量机对相同数据进行计算,以验证本程序圆度评定结果的正确性。两种方式的计算结果对比见表2。

5 结论

基于MATLAB的圆度评定方法为圆度的评定提供了新的选择。经计算实例验证,对相同的数据组,应用该方法的圆度评定结果与采用三坐标测量机计算的结果完全一致。该程序具有以下特点:①使用灵活,可处理多种格式的数据文件。②使用MATLAB自带编译器将程序编译成DLL文件或可执行文件,则勿需MATLAB这一庞大平台的支持,使程序的应用更加灵活。③通过调用MATLAB的插值函数和可视化函数还可方便地实现求解结果的可视化。

作者:西部车床,如若转载,请注明出处:https://www.lathe.cc/2022/06/5438.html