一种基于最大实体状态的同轴度评定方法与流程

文档序号:11951072阅读:1019来源:国知局
一种基于最大实体状态的同轴度评定方法与流程

本发明属于精密计量与计算机应用领域,具有涉及一种基于最大实体状态的同轴度快速评定方法,可用于被测圆柱体有尺寸要求、其轴线的同轴度公差有最大实体要求并且其基准要素有尺寸要求和最大实体要求的圆柱形几何产品的同轴度误差合格性检测和评定,并为加工工艺的改进提供指导。



背景技术:

尺寸误差、形位误差(形状误差和位置误差的简称)直接影响产品质量、装配及其使用寿命,快速、准确地计算零件误差,具有重要的意义。尺寸公差(公差即误差的允许范围)和形位公差之间的关系称为公差原则,其中,最大实体要求是体现零件可装配性的一种公差原则。

国家标准GB/T16671-2009规定了被测圆柱体有尺寸要求、其轴线的同轴度公差有最大实体要求并且其基准要素有尺寸要求和最大实体要求的情况,该情况规定了:1、被测圆柱体的最大实体状态;2、被测圆柱体的局部尺寸的范围;3、被测圆柱体的最大实体状态与基准圆柱体的最大实体状态之间的方位关系;4、基准圆柱体的最大实体状态及其局部尺寸的范围,补充解释了最小实体状态下的被测圆柱体的轴线与最小实体状态下的基准圆柱体的轴线之间可能的同轴度误差,但并未给出具体的计算公式。

因此,为了判断介于最大实体尺寸和最小实体尺寸之间(尺寸误差的合格性检测方法在国家标准GB/T3177、GB/T1958、GB/T18779.1、GB/T18779.2中有规定,不属于本发明的范畴)的零件的上述同轴度的合格性,国家标准GB/T1958-2004给出了利用高精度的、尺寸恒定的通规、止规来检测圆柱体的上述同轴度是否合格的方法。然而,高精度的、尺寸恒定的通规、止规的制造成本较高,并且测量不同尺寸的圆柱体零件需要使用不同的通规、止规,进一步增加了测量成本。

被测圆柱体有尺寸要求、其轴线的同轴度有最大实体要求并且其基准要素没有最大实体要求的情况下,在精密计量与计算机应用领域可以通过三坐标测量机测量被测圆柱体和基准圆柱体上的测点,计算被测圆柱体相对于基准圆柱体的同轴度,并判断被测圆柱体的同轴度是否合格。但是还没有数学方法来来评定被测圆柱体有尺寸要求、其轴线的同轴度公差有最大实体要求并且其基准要素有尺寸要求和最大实体要求的零件的合格性。



技术实现要素:

本发明所要解决的技术问题是提供一种基于最大实体状态的同轴度快速评定方法,其不仅实现了被测圆柱体有尺寸要求、其轴线的同轴度公差有最大实体要求并且其基准要素有尺寸要求和最大实体要求的零件的合格性检测和评定,而且算法稳定性好、计算效率高,可以推广应用于其它被测要素有尺寸要求、其定向定位公差有最大实体要求并且其基准要素有尺寸要求和最大实体要求的零件的合格性检测和评定中。

为解决上述问题,本发明是通过以下方案实现的:

步骤1:获取被测圆柱体C b 、基准圆柱体C A 的几何设计参数;如果被测圆柱体C b的同轴度公差及基准圆柱体C A 都有最大实体要求,并且基准圆柱体C A 只有尺寸公差——可以应用包容原则,那么跳转到步骤2,否则结束本快速评定方法,并给出结论“被测圆柱体的同轴度公差不能用本方法评定”。

所述的被测圆柱体C b 的几何设计参数包括:是孔要素还是轴要素、名义直径Db、名义长度Lb、轴的上偏差e sb或孔的上偏差E Sb、轴的下偏差e ib或孔的下偏差E Ib、同轴度公差Tb, AM, coa、同轴度公差是否标注最大实体要求、同轴度公差的基准圆柱体C A 是否标注最大实体状态。

所述的基准圆柱体C A 的几何设计参数包括:是孔要素还是轴要素、名义直径DA、名义长度LA、轴的上偏差e sA或孔的上偏差E SA、轴的下偏差e iA或孔的下偏差E IA、尺寸公差是否应用包容原则、其它几何公差。

步骤2:获取实际被测圆柱体Cb、实际基准圆柱体CA的测量数据;评价实际基准圆柱体CA的尺寸误差和实际被测圆柱体Cb的尺寸误差,如果上述误差都合格,跳转到步骤3,否则结束本快速评定方法,并给出结论“实际基准圆柱体CA和/或实际被测圆柱体Cb的其它误差不合格”。

步骤3:将实际基准圆柱体CA的测量数据拟合为圆柱体C CA,在被测圆柱体的拟合圆柱体上建立局部坐标系,并计算实际被测圆柱体Cb、实际基准圆柱体CA的测量数据在该局部坐标系中的坐标。

步骤4:以实际基准圆柱体CA相对于圆柱体C CAM的三维空间姿态vA为变量,以实际被测圆柱体Cb相对于圆柱体C CAM的当量直径db, AM, coa=f (vA)为目标函数,进行目标优化,得到实际被测圆柱体Cb相对于圆柱体C CAM的极限当量直径db, AM, coa, mM

其中,vA受到如下约束:对于任意不超出基准圆柱体C A 最大实体边界圆柱体C CAM的圆柱体C CA,其相对于圆柱体C CAM的三维空间姿态可以表示为vA;对于任意vA,圆柱体C CA不超出基准圆柱体C A 最大实体边界圆柱体C CA

步骤5:根据被测圆柱体C b 的最大实体实效尺寸DbMV和圆柱体C Cb的直径db、最当量直径db, AM, min,判断实际被测圆柱体Cb的同轴度误差是否合格。

为了便于将实际零件与设计图形对应起来,本发明可以将以下步骤具体化为:

步骤2中所述实际被测圆柱体b 、实际基准圆柱体A 的测量数据是在测量空间直角坐标系中测量的,并且包括以下四个测点数据集:

实际基准圆柱体A 的底面上的测点Pmeasure, A, under, i的测点数据pmeasure, A, under, i(xmeasure, A, under, i, ymeasure, A, under, i, zmeasure, A, under, i),i =1, 2 … II 为测点数目且为正整数,所有的测点数据pmeasure, A, under, i(xmeasure, A, under, under, i, ymeasure, A, under, i, zmeasure, A, under, i)形成测点数据集{pmeasure, A, under, i}。

实际基准圆柱体A 的侧面上的测点P measure, A, n的测点数据pmeasure, A, n(xmeasure, A, n, ymeasure, A, n, zmeasure, A, n),n =1, 2 … NN 为测点数目且为正整数,所有的测点数据pmeasure, A, n(xmeasure, A, n, ymeasure, A, n, zmeasure, A, n)形成测点数据集{pmeasure, A, n}。

实际被测圆柱体b 的底面上的测点Pmeasure, b, under, j的测点数据pmeasure, b, under, j(xmeasure, b, under, j, ymeasure, b, under, j, zmeasure, b, under, j),j =1, 2 … JJ 为测点数目且为正整数,所有的测点数据pmeasure, b, under, j(xmeasure, b, under, under, j, ymeasure, b, under, j, zmeasure, b, under, j)形成测点数据集{pmeasure, b, under, j}。

实际被测圆柱体b 的侧面上的测点Pmeasure, b, m的测点数据pmeasure, b, m(xmeasure, b, m, ymeasure, b, m, zmeasure, b, m),m =1, 2 … MM 为测点数目且为正整数,所有的测点数据pmeasure, b, m(xmeasure, b,m, ymeasure, b, m, zmeasure, b, m)形成测点数据集{pmeasure, b, m}。

为了简化实际零件与设计图形的对应过程,可以尽量减少实际被测圆柱体和实际基准圆柱体的底面测点,此时,本发明的以下步骤可以具体化为:

步骤2中,实际基准圆柱体A 的底面上的测点数I =2,并且两个测点Pmeasure, A, under, 1Pmeasure,A,under,2分别在实际基准圆柱体A 的两个底面上。

实际被测圆柱体b 的底面上的测点数J =2,并且两个测点Pmeasure, b, under, 1Pmeasure,b,under,2分别在实际被测圆柱体b 的两个底面上。

步骤3中,将实际基准圆柱体CA的测点数据集{pmeasure, A, n}拟合为圆柱体C CA的侧面,Pmeasure, A, under, 1Pmeasure,A,under,2连线的中点Pmeasure, A, under, 1/2在圆柱体C CA的两个底面的对称平面P LA, 1/2上,圆柱体C CA的长度等于基准圆柱体C A 的名义长度LA

在圆柱体C CA上建立局部直角坐标系Oxyz, A,坐标系Oxyz, A的原点与圆柱体C CA的几何中心OA重合,坐标系Oxyz, A的一个坐标轴与圆柱体C CA的轴线重合,该坐标轴的正方向向量与向量OAPmeasure, b, under, 1/2的点积不小于零,其中,Pmeasure, b, under, 1/2Pmeasure, b, under, 1Pmeasure,b,under,2连线的中点;定义圆柱体C CA的单位方向向量nCCA的长度为1、正方向与该坐标轴的正方向向量相同。

将实际基准圆柱体CA的测点数据集{pmeasure, A, n}和实际被测圆柱体Cb的测点数据集{pmeasure, b, m}进行坐标转换,得到实际基准圆柱体CA和实际被测圆柱体Cb的测点在坐标系Oxyz, A中的坐标集{pA, n}和{pb, m}。

为了降低本发明的使用难度,并考虑到形状误差在总误差中的贡献,本发明可以具体化为:

步骤1:获取被测圆柱体C b 、基准圆柱体C A 的几何设计参数;如果被测圆柱体C b的同轴度公差及基准圆柱体C A 都有最大实体要求,并且基准圆柱体C A 只有尺寸公差——可以应用包容原则,那么跳转到步骤2,否则结束本快速评定方法,并给出结论“被测圆柱体的同轴度公差不能用本方法评定”。

所述的被测圆柱体C b 的几何设计参数包括是孔要素还是轴要素、名义直径Db、名义长度Lb、轴的上偏差e sb或孔的上偏差E Sb、轴的下偏差e ib或孔的下偏差E Ib、同轴度公差Tb, AM, coa、同轴度公差是否标注最大实体要求、同轴度公差的基准圆柱体C A 是否标注最大实体状态。

所述的基准圆柱体C A 的几何设计参数包括:是孔要素还是轴要素、名义直径DA、名义长度LA、轴的上偏差e sA或孔的上偏差E SA、轴的下偏差e iA或孔的下偏差E IA、尺寸公差是否应用包容原则、其它几何公差。

步骤2:获取实际被测圆柱体Cb、实际基准圆柱体CA的测量数据,包括以下四个测点数据集:

实际基准圆柱体CA的两个测点Pmeasure, A, under, 1Pmeasure,A,under,2分别在实际基准圆柱体CA的两个底面上,两个测点的测点数据pmeasure, A, under, 1 (xmeasure, A, under, 1, ymeasure, A, under, 1, zmeasure, A, under, 1)、pmeasure, A, under, 2 (xmeasure, A, under, 2, ymeasure, A, under, 2, zmeasure, A, under, 2)形成测点数据集{pmeasure, A, under, i},i =1, 2;实际基准圆柱体CA的侧面上的测点P measure, A, n的测点数据pmeasure, A, n(xmeasure, A, n, ymeasure, A, n, zmeasure, A, n),n =1, 2 … NN 为测点数目且为正整数,所有的测点数据pmeasure, A, n(xmeasure, A, n, ymeasure, A, n, zmeasure, A, n)形成测点数据集{pmeasure, A, n};实际被测圆柱体Cb的两个测点Pmeasure, b, under, 1Pmeasure,b,under,2分别在实际被测圆柱体Cb的两个底面上,两个测点的测点数据pmeasure, b, under, 1 (xmeasure, b, under, 1, ymeasure, b, under, 1, zmeasure, b, under, 1)、pmeasure, b, under, 2 (xmeasure, b, under, 2, ymeasure, b, under, 2, zmeasure, b, under, 2)形成测点数据集{pmeasure, b, under, j},j =1, 2;实际被测圆柱体Cb的侧面上的测点Pmeasure, b, m的测点数据pmeasure, b, m(xmeasure, b, m, ymeasure, b, m, zmeasure, b, m),m =1, 2 … MM 为测点数目且为正整数,所有的测点数据pmeasure, b, m(xmeasure, b,m, ymeasure, b, m, zmeasure, b, m)形成测点数据集{pmeasure, b, m}。

评价实际基准圆柱体CA和实际被测圆柱体Cb的尺寸误差是否合格,如果上述误差都合格,跳转到步骤3,否则结束本快速评定方法,并给出结论“实际基准圆柱体CA和/或实际被测圆柱体Cb的其它误差不合格”。

步骤3:计算pmeasure, A, under, 1/2=(pmeasure, A, under, 1+pmeasure, A, under, 2)/2。

将步骤2中获取的四个测点数据集进行坐标变换,得到四个粗略平移数据集{p0, A, under, i(x0, A, under, i, y0, A, under, i, z0, A, under, i)|p0, A, under, i =pmeasure, A, under, i -pmeasure, A, under, 1/2i =1, 2}、{p0, A, n(x0, A, n, y0, A, n, z0, A, n)|p0, A, n =pmeasure, A, n -pmeasure, A, under, 1/2n =1, 2 … N }、{p0, b, under, j(x0, b, under, j, y0, b, under, j, z0, b, under, j)|p0, b, under, j =pmeasure, b, under, j -pmeasure, A, under, 1/2,,j =1, 2}、{p0, b, m(x0, b, m, y0, b, m, z0, b, m)|p0, b, m =pmeasure, b, m -pmeasure, A, under, 1/2m =1, 2 … M }。

计算p0, b, under, 1/2(x0, b, under, 1/2, y0, b, under, 1/2, z0, b, under, 1/2)=(p0, b, under, 1+p0, b, under, 2)/2。

解目标优化问题1:

s.t.

解得最优解(x0,min, y0,min, α0,min, β0,min),即实际基准圆柱体CA的拟合圆柱体C CA对应的(x0, y0, α0, β0)的值。

将粗略平移数据集{p0, A, n(x0, A, n, y0, A, n, z0, A, n)}进行如下坐标变换,n =1, 2 … N

得到实际被测圆柱所有测点相对于实际基准圆柱体的坐标集{pA, n(A, n, yA, n, zA, n)}。

将粗略平移数据集{p0, b, m(x0, b, m, y0, b, m, z0, b, m)}进行如下坐标变换,m =1, 2 … M

得到实际被测圆柱所有测点相对于实际基准圆柱体的坐标集{pb, m(b, m, yb, m, zb, m)}。

步骤4:计算基准圆柱体C A 最大实体边界圆柱体C CAM的直径DAM,当基准圆柱体C A 是轴时,DAM = DA +e sA;当基准圆柱体C A 是孔时,DAM = DA +E IA

解目标优化问题2:

s.t.

解得圆柱体C Cb相对于圆柱体C CAM的极限当量直径db, AM, coa, mM=|min db, AM, coa|。

步骤5:计算被测圆柱体C b 的最大实体实效尺寸:当被测圆柱体C b 是轴时,DbMV = Db +e sb +Tb, AM, coa;当被测圆柱体C b 是孔时,DbMV = Db +E Ib -Tb, AM, coa

当被测圆柱体C b 是轴时,如果极限当量直径db, AM, coa, mMDbMV,那么给出结论“实际被测圆柱体Cb的同轴度误差合格”,否则给出结论“实际被测圆柱体Cb的同轴度误差不合格”。

当被测圆柱体C b 是孔时,如果DbMVdb, AM, coa, mM,那么给出结论“实际被测圆柱体Cb的同轴度误差合格”,否则给出结论“实际被测圆柱体Cb的同轴度误差不合格”。

在零件误差分析问题中,需要求解一些目标优化问题,其特点包括:需要同时考量误差值和名义参数,而这两类数值的大小通常差别几个数量级;最优解的附近的函数值变化较缓和;等式约束通常有确定的解;通常能给出至少一个可行的解。针对这些特点,本发明提供一种多层粒子群算法来解决前述两个目标优化问题,其特征是步骤如下:

步骤01:定义多层粒子群算法的参数或使用其默认值,包括分辨率TPOS、粒子数NPNP≥ 2)、内层最大迭代次数Ni,rdNi,rd ≥ 1)、外层最大迭代次数No,rd、外层最小迭代次数no,rd、质量权因子W 、局部权因子C1、全局权因子C2

步骤02:定义NP个粒子pPSO,k(pPSO, k,1, p PSO, k,2, , pPSO, k,Q),其值对应目标优化问题中的自变量(x1, x2, , xQ),pPSO, k, q的取值区间分别与xq的取值区间相同;k =1, 2 … NPq =1, 2 … Q ;所有粒子组成粒子集{pPSO,k};设置一个粒子pPSO,1的初始值或使用其默认值。

将外层粒子群算法的迭代次数设置为0。

步骤03:分别在pPSO, k, q的取值区间按平均分布随机取(NP -1)个值,构建(NP -1)个粒子pPSO,kk =2, 3 … NPq =1, 2 … Q

分别在pPSO, k, q的取值区间按平均分布随机取NP个值,构建NP个粒子pPSO,k的初始速度vPSO, k (vPSO, k,1, v PSO, k,2, …, vPSO, k,q);所有粒子的速度组成速度集{vPSO,k};k =1, 2 … NPq =1, 2 … Q

定义NP个粒子pPSO,k的局部最优解为pPSO,k,min=pPSO,kk =1, 2 … NP

pPSO, k, q的值分别代入目标优化问题中的变量x q及其等式约束,并计算相应的目标优化函数值fk=f (x1,x2, , xQ);k =1, 2 … NPq =1, 2 … Q

记录粒子pPSO,k对应的局部最优值fk,min=fkk =1, 2 … NP

记录全局最优值fmin=min fk,min,并记录与min fk,min对应的粒子的值为全局最优解pPSO,min

将内层粒子群算法的迭代次数设置为0。

步骤04:将粒子pPSO,k的值更新为pPSO,k +vPSO, kk =1, 2 … NP

令(x1, x2, , xQ)=pPSO,k,并代入目标优化问题的不等式约束;如果不等式约束成立,那么将(x1, x2, , xQ)代入目标优化问题中的等式约束,并计算和更新相应的目标优化函数值fk;如果fkfk,min,那么更新粒子pPSO,k的局部最优值fk,min=fk,并更新粒子pPSO,k的局部最优解为pPSO,k,min=pPSO,k;如果fkfmin,那么更新全局最优值fmin=fk,并更新全局最优解为pPSO,min=pPSO,kk =1, 2 … NPq =1, 2 … Q

如果各粒子的局部最优值和局部最优解非常接近,即,(|max fk,min– min fk,min| ≤ TPOS)且(|pPSO,k,min, mean pPSO,k,min| ≤ TPOS),其中,pPSO,k,min, meanpPSO,k,min的算术平均值,k =1, 2 … NP;那么,转到步骤07,否则转到步骤05。

步骤05:将粒子pPSO,k的速度vPSO,k的值更新为W vPSO,k +Crand1C1 (pPSO,k,min - pPSO,k) + Crand2C2 (pPSO,min - pPSO,k),其中,Crand1Crand2是在区间[0, 1]中相互独立地按平均分布随机选取的两个值;k =1, 2 … NP

步骤06:累积一次内层粒子群算法的迭代次数;如果内层粒子群算法的迭代次数大于Ni,rd,那么跳转到步骤07,否则跳转到步骤04。

步骤07:记录每次迭代得到的内层粒子群算法的全局最优值fmin,s=fmin,其中,s是外层粒子群算法的迭代次数。

将粒子pPSO,1的值设置为当前的全局最优解pPSO,min

当外层粒子群算法的迭代次数s > no,rd时,令g =s -no,rd,判断多层粒子群算法的收敛性;如果|fmin,s– min fmin, g | ≤ TPOS,那么,结束多层粒子群算法并输出目标优化问题的最优解pPSO,min和最优值fmin,否则,累积一次外层粒子群算法的迭代次数。

如果外层粒子群算法的迭代次数大于No,rd,那么停止外层粒子群算法并输出目标优化问题的最优解(x1, x2, , xQ)=pPSO,min和最优值min f =fmin,否则,更新粒子pPSO,1的初始值为pPSO,min跳转到步骤03。

为了便于本方法的使用,前述多层粒子群算法的默认参数可以设置如下:

分辨率TPOS默认值是0.00005、粒子数NP默认值是20、内层最大迭代次数Ni,rd默认值是100、外层最大迭代次数No,rd默认值是100、外层最小迭代次数no,rd默认值是50、质量权因子W 默认值是0.5、局部权因子C1默认值是2、全局权因子C2默认值是2;pPSO,1的初始值默认为零向量。

为了提高本发明的计算效率,本发明中的目标优化问题1可以用下述方法求解:

求解目标优化问题1的多层粒子群算法如下:

步骤11:定义多层粒子群算法的参数或使用其默认值,包括分辨率TPOS、粒子数NPNP≥ 2)、内层最大迭代次数Ni,rdNi,rd ≥ 1)、外层最大迭代次数No,rd、外层最小迭代次数no,rd、质量权因子W 、局部权因子C1、全局权因子C2

步骤12:定义NP个粒子pPSO,k(pPSO, k,1, pPSO, k,2, pPSO, k,3, pPSO, k,4),其值对应目标优化问题1中的变量(x0, y0, α0, β0),pPSO, k,1pPSO, k,2pPSO, k,3pPSO, k,4的取值区间分别与x0y0α0β0的取值区间相同,即:pPSO, k,1p PSO, k,2∈[-DA, DA],pPSO, k,3pPSO, k,4∈[-π , π ];k =1, 2 … NP;所有粒子组成粒子集{pPSO,k};设置一个粒子pPSO,1(p PSO,1,1, p PSO,1,2, pPSO,1,3, pPSO,1,4)的初始值为(0, 0, 0, 0)。

将外层粒子群算法的迭代次数设置为0。

步骤13:分别在pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间按平均分布随机取(NP -1)个值,构建(NP -1)个粒子pPSO,kk =2, 3 … NP

分别在pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间按平均分布随机取NP个值,构建NP个粒子pPSO,k的初始速度vPSO, k (vPSO, k,1, v PSO, k,2, vPSO, k,3, vPSO, k,4);所有粒子的速度组成速度集{vPSO,k};k =1, 2 … NP

定义NP个粒子pPSO,k的局部最优解为pPSO,k,min=pPSO,kk =1, 2 … NP

pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的值分别代入目标优化问题1中的变量x0y0α0β0及其等式约束,并计算相应的目标优化函数值d1,A,kk =1, 2 … NP;即,

where

记录粒子pPSO,k对应的局部最优值d1,A,k,min=d1,A,kk =1, 2 … NP

记录全局最优值d1,A,min=min d1,A,k,min,并记录与min d1,A,k,min对应的粒子的值为全局最优解pPSO,min

将内层粒子群算法的迭代次数设置为0。

步骤14:将粒子pPSO,k的值更新为pPSO,k +vPSO, kk =1, 2 … NP

令(x0, y0, α0, β0)=pPSO,k,并代入目标优化问题1的不等式约束,即0≤-x0,b,under,1/2cosα0sinβ0+y0,b,under,1/2sinα0+z0,b,under,1/2cosα0cosβ0x0y0∈[-DA, DA],α0β0∈[-π , π ];如果不等式约束成立,那么将(x0, y0, α0, β0)代入目标优化问题1中的等式约束,计算并更新相应的目标优化函数值d1,A,k;如果d1,A,kd1,A,k,min,那么更新粒子pPSO,k的局部最优值d1,A,k,min=d1,A,k,并更新粒子pPSO,k的局部最优解为pPSO,k,min=pPSO,k;如果d1,A,kd1,A,min,那么更新全局最优值d1,A,min=d1,A,k,并更新全局最优解为pPSO,min=pPSO,kk =1, 2 … NP

如果各粒子的局部最优值和局部最优解非常接近,即,(|max d1,A,k,min– min d1,A,k,min| ≤ TPOS)且(|pPSO,k,min, mean pPSO,k,min| ≤ TPOS),其中,pPSO,k,min, meanpPSO,k,min的算术平均值,k =1, 2 … NP;那么,转到步骤17,否则转到步骤15。

步骤15:将粒子pPSO,k的速度vPSO,k的值更新为W vPSO,k +Crand1C1 (pPSO,k,min - pPSO,k) + Crand2C2 (pPSO,min - pPSO,k),其中,Crand1Crand2是在区间[0, 1]中相互独立地按平均分布随机选取的两个值;k =1, 2 … NP

步骤16:累积一次内层粒子群算法的迭代次数;如果内层粒子群算法的迭代次数大于Ni,rd,那么跳转到步骤17,否则跳转到步骤14。

步骤17:记录每次迭代得到的内层粒子群算法的全局最优值d1,A,min,s=d1,A,min,其中,s 是外层粒子群算法的迭代次数。

将粒子pPSO,1的值设置为当前的全局最优解pPSO,min

当外层粒子群算法的迭代次数s > no,rd时,令g =s -no,rd,判断多层粒子群算法的收敛性;如果|d1,A,min,s– min d1,A,min, g | ≤ TPOS,那么,结束多层粒子群算法并输出目标优化问题1的最优解pPSO,min和最优值d1,A,min,否则,累积一次外层粒子群算法的迭代次数。

如果外层粒子群算法的迭代次数大于No,rd,那么停止外层粒子群算法并输出目标优化问题1的最优解(x0, y0, α0, β0)=pPSO,min和最优值min d1, A=d1,A,min,否则,更新粒子pPSO,1的初始值为pPSO,min跳转到步骤13。

为了提高本发明的计算效率,本发明中的目标优化问题2可以用下述方法求解:

求解目标优化问题2的多层粒子群算法如下:

步骤21:定义多层粒子群算法的参数或使用其默认值,包括分辨率TPOS、粒子数NPNP≥ 2)、内层最大迭代次数Ni,rdNi,rd ≥ 1)、外层最大迭代次数No,rd、外层最小迭代次数no,rd、质量权因子W 、局部权因子C1、全局权因子C2

步骤22:定义粒子pPSO,k(pPSO, k,1, p PSO, k,2, pPSO, k,3, pPSO, k,4)的值对应目标优化问题2中的变量(d xA, d yA, d r xA, d r yA),pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间分别与d xAd yAd r xAd r yA的取值区间相同,k =1, 2 … NP;所有粒子组成粒子集{pPSO,k};设置一个粒子pPSO,1(p PSO,1,1, p PSO,1,2, pPSO,1,3, pPSO,1,4)的初始值为(0, 0, 0, 0)。

将外层粒子群算法的迭代次数设置为0。

步骤23:分别在pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间中按平均分布随机取(NP -1)个值,构建(NP -1)个粒子pPSO,kk =2, 3 … NP

分别在pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间中按平均分布随机取NP个值,构建NP个粒子pPSO,k的初始速度vPSO, k (vPSO, k,1, v PSO, k,2, vPSO, k,3, vPSO, k,4);所有粒子的速度组成速度集{vPSO,k};k =1, 2 … NP

定义NP个粒子pPSO,k的局部最优解为pPSO,k,min=pPSO,kk =1, 2 … NP

pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的值代入目标优化问题2中的变量d xAd yAd r xAd r yA及其等式约束,并计算相应的目标优化函数值db,AM,coa,kk =1, 2 … NP

记录粒子pPSO,k的局部最优值db,AM,coa,k,min=db,AM,coa,kk =1, 2 … NP

记录全局最优值db,AM,coa,min=min db,AM,coa,k,min,并记录与min db,AM,coa,k,min对应的粒子的值为全局最优解pPSO,min

将内层粒子群算法的迭代次数设置为0。

步骤24:将粒子pPSO,k的值更新为pPSO,k +vPSO, kk =1, 2 … NP

令(d xA, d yA, d r xA, d r yA)=pPSO,k,并代入目标优化问题2的不等式约束,如果不等式约束成立,那么将(d xA, d yA, d r xA, d r yA)代入目标优化问题2的等式约束,计算并更新相应的目标优化函数值db,AM,coa,k;如果db,AM,coa,kdb,AM,coa,k,min,那么更新粒子pPSO,k的局部最优值db,AM,coa,k,min=db,AM,coa,k,并更新粒子pPSO,k的局部最优解为pPSO,k,min=pPSO,k;如果db,AM,coa,kdb,AM,coa,min,那么更新全局最优值db,AM,coa,min=db,AM,coa,k,并更新全局最优解为pPSO,min=pPSO,kk =1, 2 … NP

如果各粒子的局部最优值和局部最优解非常接近,即,(|max db,AM,coa,k,min– min db,AM,coa,k,min| ≤ TPOS)且(|pPSO,k,min, mean pPSO,k,min| ≤ TPOS),其中,pPSO,k,min, meanpPSO,k,min的算术平均值,k =1, 2 … NP;那么,转到步骤27,否则转到步骤25。

步骤25:将粒子pPSO,k的速度vPSO,k的值更新为W vPSO,k +Crand1C1 (pPSO,k,min - pPSO,k) + Crand2C2 (pPSO,min - pPSO,k),其中,Crand1Crand2是在区间[0, 1]中相互独立地按平均分布随机选取的两个值;k =1, 2 … NP

步骤26:累积一次内层粒子群算法的迭代次数;如果内层粒子群算法的迭代次数大于Ni,rd,那么停止内层粒子群算法并跳转到步骤27,否则跳转到步骤24。

步骤27:记录每次迭代得到的外层粒子群算法的全局最优值db,AM,coa,min,s=db,AM,coa,min,其中,s 是外层粒子群算法的迭代次数。

将粒子pPSO,1的值设置为当前的全局最优解pPSO,min

当外层粒子群算法的迭代次数s > no,rd时,令g =s -no,rd,判断多层粒子群算法的收敛性;如果|db,AM,coa,min,s– min db,AM,coa,min, g | ≤ TPOS,那么,结束多层粒子群算法并输出目标优化问题2的最优解pPSO,min和最优值db,AM,coa,min,否则,累积一次外层粒子群算法的迭代次数。

如果外层粒子群算法的迭代次数大于No,rd,那么停止外层粒子群算法并输出目标优化问题2的最优解(d xA, d yA, d r xA, d r yA) =pPSO,min和最优值min db,AM,coa=db,AM,coa,min,否则,更新粒子pPSO,1的初始值为pPSO,min并跳转到步骤23。

附图说明

图1,本发明的基本方法的流程图。

图2,本发明中求解目标优化问题的多层粒子群算法的基本方法的流程图。

图3,步骤4中轴类零件相对于最大实体边界的运动。

图4,实验对象的几何设计图。

具体实施方式

实验实施例:

步骤1:获取被测圆柱体b 、基准圆柱体A 的几何设计参数;判断被测圆柱体b 的同轴度公差是否能用本方法评定,如果被测圆柱体b 的同轴度公差及基准圆柱体A 都有最大实体要求,并且基准圆柱体A 只有尺寸公差要求——该尺寸公差要求可以应用包容原则,那么跳转到步骤2,否则结束本快速评定方法,并给出结论“被测圆柱体的同轴度公差不能用本方法评定”。

所述的被测圆柱体b 的几何设计参数包括:是孔要素还是轴要素、名义直径Db、名义长度Lb、轴的上偏差e sb或孔的上偏差E Sb、轴的下偏差e ib或孔的下偏差E Ib、同轴度公差Tb, AM, coa、同轴度公差是否标注最大实体要求、同轴度公差的基准圆柱体A 是否标注最大实体状态。

所述的基准圆柱体A 的几何设计参数包括:是孔要素还是轴要素、名义直径DA、名义长度LA、轴的上偏差e sA或孔的上偏差E SA、轴的下偏差e iA或孔的下偏差E IA、尺寸公差是否应用包容原则、其它几何公差。

步骤2:获取实际被测圆柱体b 、实际基准圆柱体A 的测量数据,包括以下四个测点数据集:

实际基准圆柱体A 的两个测点Pmeasure, A, under, 1Pmeasure,A,under,2分别在实际基准圆柱体A 的两个底面上,两个测点的测点数据pmeasure, A, under, 1 (xmeasure, A, under, 1, ymeasure, A, under, 1, zmeasure, A, under, 1)、pmeasure, A, under, 2 (xmeasure, A, under, 2, ymeasure, A, under, 2, zmeasure, A, under, 2)形成测点数据集{pmeasure, A, under, i},i =1, 2;实际基准圆柱体A 的侧面上的测点Pmeasure, A, n的测点数据pmeasure, A, n(xmeasure, A, n, ymeasure, A, n, zmeasure, A, n),n =1, 2 … NN 为测点数目且为正整数,所有的测点数据pmeasure, A, n(xmeasure, A, n, ymeasure, A, n, zmeasure, A, n)形成测点数据集{pmeasure, A, n};实际被测圆柱体b 的两个测点Pmeasure, b, under, 1Pmeasure,b,under,2分别在实际被测圆柱体b 的两个底面上,两个测点的测点数据pmeasure, b, under, 1 (xmeasure, b, under, 1, ymeasure, b, under, 1, zmeasure, b, under, 1)、pmeasure, b, under, 2 (xmeasure, b, under, 2, ymeasure, b, under, 2, zmeasure, b, under, 2)形成测点数据集{pmeasure, b, under, j},j =1, 2;实际被测圆柱体b 的侧面上的测点Pmeasure, b, m的测点数据pmeasure, b, m(xmeasure, b, m, ymeasure, b, m, zmeasure, b, m),m =1, 2 … MM 为测点数目且为正整数,所有的测点数据pmeasure, b, m(xmeasure, b,m, ymeasure, b, m, zmeasure, b, m)形成测点数据集{pmeasure, b, m}。

评价实际基准圆柱体A 和实际被测圆柱体b 的尺寸误差是否合格,如果上述误差都合格,跳转到步骤3,否则结束本快速评定方法,并给出结论“实际基准圆柱体A 和/或实际被测圆柱体b 的其它误差不合格”。

步骤3:计算pmeasure, A, under, 1/2=(pmeasure, A, under, 1+pmeasure, A, under, 2)/2。

将步骤2中获取的四个测点数据集进行坐标变换,得到四个粗略平移数据集{p0, A, under, i(x0, A, under, i, y0, A, under, i, z0, A, under, i)|p0, A, under, i =pmeasure, A, under, i -pmeasure, A, under, 1/2i =1, 2}、{p0, A, n(x0, A, n, y0, A, n, z0, A, n)|p0, A, n =pmeasure, A, n -pmeasure, A, under, 1/2n =1, 2 … N }、{p0, b, under, j(x0, b, under, j, y0, b, under, j, z0, b, under, j)|p0, b, under, j =pmeasure, b, under, j -pmeasure, A, under, 1/2,,j =1, 2}、{p0, b, m(x0, b, m, y0, b, m, z0, b, m)|p0, b, m =pmeasure, b, m -pmeasure, A, under, 1/2m =1, 2 … M }。

计算p0, b, under, 1/2(x0, b, under, 1/2, y0, b, under, 1/2, z0, b, under, 1/2)=(p0, b, under, 1+p0, b, under, 2)/2。

解目标优化问题1:

s.t.

步骤11:使用多层粒子群算法的默认参数,包括分辨率TPOS=0.00005、粒子数NP=20、内层最大迭代次数Ni,rd=100、外层最大迭代次数No,rd =100、外层最小迭代次数no,rd=50、质量权因子W =0.5、局部权因子C1=2、全局权因子C2=2。

步骤12:定义20个粒子pPSO,k(pPSO, k,1, p PSO, k,2, pPSO, k,3, pPSO, k,4),其值对应目标优化问题1中的变量(x0, y0, α0, β0),pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间分别与x0y0α0β0的取值区间相同,即:pPSO, k,1p PSO, k,2∈[-DA, DA],pPSO, k,3pPSO, k,4∈[-π , π ];k =1, 2 … 2 0 ;所有粒子组成粒子集{pPSO,k};设置一个粒子pPSO,1(p PSO,1,1, p PSO,1,2, pPSO,1,3, pPSO,1,4)的初始值为(0, 0, 0, 0)。

将外层粒子群算法的迭代次数设置为0。

步骤13:分别在pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间按平均分布随机取19个值,构建19个粒子pPSO,kk =2, 3 … 20。

分别在pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间按平均分布随机取20个值,构建20个粒子pPSO,k的初始速度vPSO, k (vPSO, k,1, v PSO, k,2, vPSO, k,3, vPSO, k,4);所有粒子的速度组成速度集{vPSO,k};k =1, 2 … 20。

定义20个粒子pPSO,k的局部最优解为pPSO,k,min=pPSO,kk =1, 2 … 20。

pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的值分别代入目标优化问题1中的变量x0y0α0β0及其等式约束,并计算相应的目标优化函数值d1,A,kk =1, 2 … 20;即,

where

记录粒子pPSO,k对应的局部最优值d1,A,k,min=d1,A,kk =1, 2 … 20。

记录全局最优值d1,A,min=min d1,A,k,min,并记录与min d1,A,k,min对应的粒子的值为全局最优解pPSO,min

将内层粒子群算法的迭代次数设置为0。

步骤14:将粒子pPSO,k的值更新为pPSO,k +vPSO, kk =1, 2 … 20。

令(x0, y0, α0, β0)=pPSO,k,并代入目标优化问题1的不等式约束,即0≤-x0,b,under,1/2cosα0sinβ0+y0,b,under,1/2sinα0+z0,b,under,1/2cosα0cosβ0x0y0∈[-DA, DA],α0β0∈[-π , π ];如果不等式约束成立,那么将(x0, y0, α0, β0)代入目标优化问题1中的等式约束,计算并更新相应的目标优化函数值d1,A,k;如果d1,A,kd1,A,k,min,那么更新粒子pPSO,k的局部最优值d1,A,k,min=d1,A,k,并更新粒子pPSO,k的局部最优解为pPSO,k,min=pPSO,k;如果d1,A,kd1,A,min,那么更新全局最优值d1,A,min=d1,A,k,并更新全局最优解为pPSO,min=pPSO,kk =1, 2 … 20。

如果各粒子的局部最优值和局部最优解非常接近,即,(|max d1,A,k,min– min d1,A,k,min| ≤ 0.00005)且(|pPSO,k,min, mean pPSO,k,min| ≤ 0.00005),那么,转到步骤17,否则转到步骤15;其中,pPSO,k,min, meanpPSO,k,min的算术平均值,k =1, 2 … 20。

步骤15:将粒子pPSO,k的速度vPSO,k的值更新为0.5vPSO,k +2Crand1 (pPSO,k,min - pPSO,k) + 2Crand2 (pPSO,min - pPSO,k),其中,Crand1Crand2是在区间[0, 1]中相互独立地按平均分布随机选取的两个值;k =1, 2 … 20;

步骤16:累积一次内层粒子群算法的迭代次数;如果内层粒子群算法的迭代次数大于100,那么跳转到步骤17,否则跳转到步骤14。

步骤17:记录每次迭代得到的内层粒子群算法的全局最优值d1,A,min,s=d1,A,min,其中,s 是外层粒子群算法的迭代次数。

将粒子pPSO,1的值设置为当前的全局最优解pPSO,min

当外层粒子群算法的迭代次数s > 50时,令g =s -50,判断多层粒子群算法的收敛性;如果|d1,A,min,s– min d1,A,min, g | ≤ 0.00005,那么,结束多层粒子群算法并输出目标优化问题1的最优解pPSO,min和最优值d1,A,min,否则,累积一次外层粒子群算法的迭代次数。

如果外层粒子群算法的迭代次数大于100,那么停止外层粒子群算法并输出目标优化问题1的最优解(x0, y0, α0, β0)=pPSO,min和最优值min d1, A=d1,A,min,否则,更新粒子pPSO,1的初始值为pPSO,min跳转到步骤13。

解得实际基准圆柱体A 的拟合圆柱体C CA的直径dA=|min d1, A|和对应的pPSO,min的值(x0,min, y0,min, α0,min, β0,min)。

将粗略平移数据集{p0, A, n(x0, A, n, y0, A, n, z0, A, n)}进行如下坐标变换,n =1, 2 … N

得到实际被测圆柱所有测点相对于实际基准圆柱体的坐标集{pA, n(xA, n, yA, n, zA, n)}。

将粗略平移数据集{p0, b, m(x0, b, m, y0, b, m, z0, b, m)}进行如下坐标变换,m =1, 2 … M

得到实际被测圆柱所有测点相对于实际基准圆柱体的坐标集{pb, m(xb, m, yb, m, zb, m)}。

步骤4:计算基准圆柱体A 最大实体边界圆柱体C CAM的直径DAM,当基准圆柱体A是轴时,DAM = DA +e sA;当基准圆柱体A 是孔时,DAM = DA +E IA

解目标优化问题2:

s.t.

步骤21:定义多层粒子群算法的参数或使用其默认值,包括分辨率TPOS、粒子数NPNP≥ 2)、内层最大迭代次数Ni,rdNi,rd ≥ 1)、外层最大迭代次数No,rd、外层最小迭代次数no,rd、质量权因子W 、局部权因子C1、全局权因子C2

步骤22:定义粒子pPSO,k(pPSO, k,1, p PSO, k,2, pPSO, k,3, pPSO, k,4)的值对应目标优化问题2中的变量(d xA, d yA, d r xA, d r yA),pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间分别与d xAd yAd r xAd r yA的取值区间相同,k =1, 2 … NP;所有粒子组成粒子集{pPSO,k};设置一个粒子pPSO,1(p PSO,1,1, p PSO,1,2, pPSO,1,3, pPSO,1,4)的初始值为(0, 0, 0, 0)。

将外层粒子群算法的迭代次数设置为0。

步骤23:分别在pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间中按平均分布随机取(NP -1)个值,构建(NP -1)个粒子pPSO,kk =2, 3 … NP

分别在pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间中按平均分布随机取NP个值,构建NP个粒子pPSO,k的初始速度vPSO, k (vPSO, k,1, v PSO, k,2, vPSO, k,3, vPSO, k,4);所有粒子的速度组成速度集{vPSO,k};k =1, 2 … NP

定义NP个粒子pPSO,k的局部最优解为pPSO,k,min=pPSO,kk =1, 2 … NP

pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的值代入目标优化问题2中的变量d xAd yAd r xAd r yA及其等式约束,并计算相应的目标优化函数值db,AM,coa,kk =1, 2 … NP

记录粒子pPSO,k的局部最优值db,AM,coa,k,min=db,AM,coa,kk =1, 2 … NP

记录全局最优值db,AM,coa,min=min db,AM,coa,k,min,并记录与min db,AM,coa,k,min对应的粒子的值为全局最优解pPSO,min

将内层粒子群算法的迭代次数设置为0。

步骤24:将粒子pPSO,k的值更新为pPSO,k +vPSO, kk =1, 2 … NP

令(d xA, d yA, d r xA, d r yA)=pPSO,k,并代入目标优化问题2的不等式约束,如果不等式约束成立,那么将(d xA, d yA, d r xA, d r yA)代入目标优化问题2的等式约束,计算并更新相应的目标优化函数值db,AM,coa,k;如果db,AM,coa,kdb,AM,coa,k,min,那么更新粒子pPSO,k的局部最优值db,AM,coa,k,min=db,AM,coa,k,并更新粒子pPSO,k的局部最优解为pPSO,k,min=pPSO,k;如果db,AM,coa,kdb,AM,coa,min,那么更新全局最优值db,AM,coa,min=db,AM,coa,k,并更新全局最优解为pPSO,min=pPSO,kk =1, 2 … NP

如果各粒子的局部最优值和局部最优解非常接近,即,(|max db,AM,coa,k,min– min db,AM,coa,k,min| ≤ TPOS)且(|pPSO,k,min, mean pPSO,k,min| ≤ TPOS),其中,pPSO,k,min, meanpPSO,k,min的算术平均值,k =1, 2 … NP;那么,转到步骤27,否则转到步骤25。

步骤25:将粒子pPSO,k的速度vPSO,k的值更新为W vPSO,k +Crand1C1 (pPSO,k,min - pPSO,k) + Crand2C2 (pPSO,min - pPSO,k),其中,Crand1Crand2是在区间[0, 1]中相互独立地按平均分布随机选取的两个值;k =1, 2 … NP

步骤26:累积一次内层粒子群算法的迭代次数;如果内层粒子群算法的迭代次数大于Ni,rd,那么停止内层粒子群算法并跳转到步骤27,否则跳转到步骤24。

步骤27:记录每次迭代得到的外层粒子群算法的全局最优值db,AM,coa,min,s=db,AM,coa,min,其中,s 是外层粒子群算法的迭代次数。

将粒子pPSO,1的值设置为当前的全局最优解pPSO,min

当外层粒子群算法的迭代次数s > no,rd时,令g =s -no,rd,判断多层粒子群算法的收敛性;如果|db,AM,coa,min,s– min db,AM,coa,min, g | ≤ TPOS,那么,结束多层粒子群算法并输出目标优化问题2的最优解pPSO,min和最优值db,AM,coa,min,否则,累积一次外层粒子群算法的迭代次数。

如果外层粒子群算法的迭代次数大于No,rd,那么停止外层粒子群算法并输出目标优化问题2的最优解(d xA, d yA, d r xA, d r yA) =pPSO,min和最优值min db,AM,coa=db,AM,coa,min,否则,更新粒子pPSO,1的初始值为pPSO,min并跳转到步骤23。

解得圆柱体C Cb相对于圆柱体C CAM的极限当量直径db, AM, coa, mM=|min db, AM, coa|。

步骤5:计算被测圆柱体b 的最大实体实效尺寸:当被测圆柱体b 是轴时,DbMV = Db +e sb +Tb, AM, coa;当被测圆柱体b 是孔时,DbMV = Db +E Ib -Tb, AM, coa

当被测圆柱体C b 是轴时,如果极限当量直径db, AM, coa, mMDbMV,那么给出结论“实际被测圆柱体Cb的同轴度误差合格”,否则给出结论“实际被测圆柱体Cb的同轴度误差不合格”。

当被测圆柱体C b 是孔时,如果DbMVdb, AM, coa, mM,那么给出结论“实际被测圆柱体Cb的同轴度误差合格”,否则给出结论“实际被测圆柱体Cb的同轴度误差不合格”。

实验对象:

被测孔有尺寸要求、其孔线的同孔度公差有最大实体要求并且其基准孔有尺寸要求和最大实体要求的阶梯孔零件的同孔度误差合格性检测和评定:

步骤1:获取如图4所示的被测圆柱体b 、基准圆柱体A 的几何设计参数(长度单位为毫米,角度单位为度,弧度单位为1)。

所述的被测圆柱体b 的几何设计参数包括:是孔要素、名义直径Db=24、名义长度Lb=15、孔的上偏差E Sb=0.4、孔的下偏差E Ib=0、同孔度公差Tb, AM, coa=0.2、同孔度公差标注最大实体要求、同孔度公差的基准圆柱体A 标注最大实体状态。

所述的基准圆柱体A 的几何设计参数包括:是孔要素、名义直径DA=39、名义长度LA=22、孔的上偏差E SA=0.1、孔的下偏差E IA=0.07、尺寸公差应用包容原则,没有几何公差要求。

被测圆柱体b 的同孔度公差及基准圆柱体A 都有最大实体要求,并且基准圆柱体A 只有尺寸公差要求并应用包容原则,跳转到步骤2。

步骤2:获取实际被测圆柱体b 、实际基准圆柱体A 的测量数据,包括以下四个测点数据集,如表1所示:

实际基准圆柱体A 的两个测点Pmeasure, A, under, 1Pmeasure,A,under,2分别在实际基准圆柱体A 的两个底面上,两个测点的测点数据形成测点数据集{pmeasure, A, under, i},i =1, 2;实际基准圆柱体A 的侧面上的测点P measure, A, n分布在3层圆周上,每层圆周3个点,其测点数据形成测点数据集{pmeasure, A, n},n =1, 2 … 9;实际被测圆柱体b 的两个测点Pmeasure, b, under, 1Pmeasure,b,under,2分别在实际被测圆柱体b 的两个底面上,两个测点的测点数据形成测点数据集{pmeasure, b, under, j},j =1, 2;实际被测圆柱体b 的侧面上的测点Pmeasure, b, m分布在3层圆周上,每层圆周3个点,其测点数据形成测点数据集{pmeasure, b, mm =1, 2 … 9}。

将3层圆周上的测点P measure, A, n分别拟合为3个圆,其直径分别为39.086、39.083、39.099,判定实际基准圆柱体A 的尺寸误差合格;将3层圆周上的测点pmeasure, b, m分别拟合为3个圆,其直径分别为24.013、24.017、24.021,判定实际被测圆柱体b 的尺寸误差合格;跳转到步骤3。

步骤3:计算pmeasure, A, under, 1/2=(pmeasure, A, under, 1+pmeasure, A, under, 2)/2=(261.1905, 229.524, -584.6165)。

将步骤2中获取的四个测点数据集进行坐标变换,得到四个粗略平移数据集{p0, A, under, i(x0, A, under, i, y0, A, under, i, z0, A, under, i)|p0, A, under, i =pmeasure, A, under, i -pmeasure, A, under, 1/2i =1, 2},如表1所示;{p0, A, n(x0, A, n, y0, A, n, z0, A, n)|p0, A, n =pmeasure, A, n -pmeasure, A, under, 1/2n =1, 2 … N },如表1所示;{p0, b, under, j(x0, b, under, j, y0, b, under, j, z0, b, under, j)|p0, b, under, j =pmeasure, b, under, j -pmeasure, A, under, 1/2,,j =1, 2},如表1所示;{p0, b, m(x0, b, m, y0, b, m, z0, b, m)|p0, b, m =pmeasure, b, m -pmeasure, A, under, 1/2m =1, 2 … M },如表1所示。

计算p0, b, under, 1/2=(p0, b, under, 1+p0, b, under, 2)/2=(-23.8675, 3.699, -18.67)。

解目标优化问题1:

s.t.

步骤11:使用多层粒子群算法的默认参数,包括分辨率TPOS=0.00005、粒子数NP=20、内层最大迭代次数Ni,rd=100、外层最大迭代次数No,rd =100、外层最小迭代次数no,rd=50、质量权因子W =0.5、局部权因子C1=2、全局权因子C2=2。

步骤12:定义20个粒子pPSO,k(pPSO, k,1, p PSO, k,2, pPSO, k,3, pPSO, k,4),其值对应目标优化问题1中的变量(x0, y0, α0, β0),pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间分别与x0y0α0β0的取值区间相同,即:pPSO, k,1p PSO, k,2∈[-39, 39],pPSO, k,3pPSO, k,4∈[-π , π ];k =1, 2 … 20;所有粒子组成粒子集{pPSO,k};设置一个粒子pPSO,1(p PSO,1,1, p PSO,1,2, pPSO,1,3, pPSO,1,4)的初始值为(0, 0, 0, 0)。

将外层粒子群算法的迭代次数设置为0。

步骤13:分别在pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间按平均分布随机取19个值,构建19个粒子pPSO,kk =2, 3 … 20。

分别在pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间按平均分布随机取20个值,构建20个粒子pPSO,k的初始速度vPSO, k (vPSO, k,1, v PSO, k,2, vPSO, k,3, vPSO, k,4);所有粒子的速度组成速度集{vPSO,k};k =1, 2 … 20。

定义20个粒子pPSO,k的局部最优解为pPSO,k,min=pPSO,kk =1, 2 … 20。

pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的值分别代入目标优化问题1中的变量x0y0α0β0及其等式约束,并计算相应的目标优化函数值d1,A,kk =1, 2 … 20;即,

where

记录粒子pPSO,k对应的局部最优值d1,A,k,min=d1,A,kk =1, 2 … 20。

记录全局最优值d1,A,min=min d1,A,k,min,并记录与min d1,A,k,min对应的粒子的值为全局最优解pPSO,min

将内层粒子群算法的迭代次数设置为0。

步骤14:将粒子pPSO,k的值更新为pPSO,k +vPSO, kk =1, 2 … 20。

令(x0, y0, α0, β0)=pPSO,k,并代入目标优化问题1的不等式约束,即0≤-x0,b,under,1/2 cosα0 sinβ0 +y0,b,under,1/2 sinα0 + z0,b,under,1/2 cosα0 cosβ0x0y0∈[-39, 39],α0β0∈[-π , π ];如果不等式约束成立,那么将(x0, y0, α0, β0)代入目标优化问题1中的等式约束,计算并更新相应的目标优化函数值d1,A,k;如果d1,A,kd1,A,k,min,那么更新粒子pPSO,k的局部最优值d1,A,k,min=d1,A,k,并更新粒子pPSO,k的局部最优解为pPSO,k,min=pPSO,k;如果d1,A,kd1,A,min,那么更新全局最优值d1,A,min=d1,A,k,并更新全局最优解为pPSO,min=pPSO,kk =1, 2 … 20。如果各粒子的局部最优值和局部最优解非常接近,即,(|max d1,A,k,min– min d1,A,k,min| ≤ 0.00005)且(|pPSO,k,min, mean pPSO,k,min| ≤ 0.00005),其中,pPSO,k,min, meanpPSO,k,min的算术平均值,k =1, 2 … 20;那么,转到步骤17,否则转到步骤15。

步骤15:将粒子pPSO,k的速度vPSO,k的值更新为0.5vPSO,k +2Crand1 (pPSO,k,min - pPSO,k) + 2Crand2 (pPSO,min - pPSO,k),其中,Crand1Crand2是在区间[0, 1]中相互独立地按平均分布随机选取的两个值;k =1, 2 … 20;

步骤16:累积一次内层粒子群算法的迭代次数;如果内层粒子群算法的迭代次数大于100,那么跳转到步骤17,否则跳转到步骤14。

步骤17:记录每次迭代得到的内层粒子群算法的全局最优值d1,A,min,s=d1,A,min,其中,s 是外层粒子群算法的迭代次数。

将粒子pPSO,1的值设置为当前的全局最优解pPSO,min

当外层粒子群算法的迭代次数s > 50时,令g =s -50,判断多层粒子群算法的收敛性;如果|d1,A,min,s– min d1,A,min, g | ≤ 0.00005,那么,结束多层粒子群算法并输出目标优化问题1的最优解pPSO,min和最优值d1,A,min,否则,累积一次外层粒子群算法的迭代次数。

如果外层粒子群算法的迭代次数大于100,那么停止外层粒子群算法并输出目标优化问题1的最优解(x0, y0, α0, β0)=pPSO,min和最优值min d1, A=d1,A,min,否则,更新粒子pPSO,1的初始值为pPSO,min跳转到步骤13。

解得实际基准圆柱体A 的拟合圆柱体C CA的直径dA=|min d1, A|=39.099和对应的pPSO,min的值(x0,min, y0,min, α0,min, β0,min)= (13.9257, 6.4138, 0.012, 0.0149)。

将粗略平移数据集{p0, A, n(x0, A, n, y0, A, n, z0, A, n)}进行如下坐标变换,n =1, 2 … N

得到实际被测圆柱所有测点相对于实际基准圆柱体的坐标集{pA, n(xA, n, yA, n, zA, n)} ,如表1所示。

将粗略平移数据集{p0, b, m(x0, b, m, y0, b, m, z0, b, m)}进行如下坐标变换,m =1, 2 … M

得到实际被测圆柱所有测点相对于实际基准圆柱体的坐标集{pb, m(xb, m, yb, m, zb, m)},如表1所示。

步骤4:计算基准圆柱体C A 最大实体边界圆柱体C CAM的直径DAM,基准圆柱体C A 是孔,DAM = DA +E IA =39+0.07=39.07;

解目标优化问题2:

s.t.

步骤21:定义多层粒子群算法的参数或使用其默认值,包括分辨率TPOS、粒子数NPNP≥ 2)、内层最大迭代次数Ni,rdNi,rd ≥ 1)、外层最大迭代次数No,rd、外层最小迭代次数no,rd、质量权因子W 、局部权因子C1、全局权因子C2

步骤22:定义粒子pPSO,k(pPSO, k,1, p PSO, k,2, pPSO, k,3, pPSO, k,4)的值对应目标优化问题2中的变量(d xA, d yA, d r xA, d r yA),pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间分别与d xAd yAd r xAd r yA的取值区间相同,k =1, 2 … NP;所有粒子组成粒子集{pPSO,k};设置一个粒子pPSO,1(p PSO,1,1, p PSO,1,2, pPSO,1,3, pPSO,1,4)的初始值为(0, 0, 0, 0)。

将外层粒子群算法的迭代次数设置为0。

步骤23:分别在pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间中按平均分布随机取(NP -1)个值,构建(NP -1)个粒子pPSO,kk =2, 3 … NP

分别在pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的取值区间中按平均分布随机取NP个值,构建NP个粒子pPSO,k的初始速度vPSO, k (vPSO, k,1, v PSO, k,2, vPSO, k,3, vPSO, k,4);所有粒子的速度组成速度集{vPSO,k};k =1, 2 … NP

定义NP个粒子pPSO,k的局部最优解为pPSO,k,min=pPSO,kk =1, 2 … NP

pPSO, k,1p PSO, k,2pPSO, k,3pPSO, k,4的值代入目标优化问题2中的变量d xAd yAd r xAd r yA及其等式约束,并计算相应的目标优化函数值db,AM,coa,kk =1, 2 … NP

记录粒子pPSO,k的局部最优值db,AM,coa,k,min=db,AM,coa,kk =1, 2 … NP

记录全局最优值db,AM,coa,min=min db,AM,coa,k,min,并记录与min db,AM,coa,k,min对应的粒子的值为全局最优解pPSO,min

将内层粒子群算法的迭代次数设置为0。

步骤24:将粒子pPSO,k的值更新为pPSO,k +vPSO, kk =1, 2 … NP

令(d xA, d yA, d r xA, d r yA)=pPSO,k,并代入目标优化问题2的不等式约束,如果不等式约束成立,那么将(d xA, d yA, d r xA, d r yA)代入目标优化问题2的等式约束,计算并更新相应的目标优化函数值db,AM,coa,k;如果db,AM,coa,kdb,AM,coa,k,min,那么更新粒子pPSO,k的局部最优值db,AM,coa,k,min=db,AM,coa,k,并更新粒子pPSO,k的局部最优解为pPSO,k,min=pPSO,k;如果db,AM,coa,kdb,AM,coa,min,那么更新全局最优值db,AM,coa,min=db,AM,coa,k,并更新全局最优解为pPSO,min=pPSO,kk =1, 2 … NP

如果各粒子的局部最优值和局部最优解非常接近,即,(|max db,AM,coa,k,min– min db,AM,coa,k,min| ≤ TPOS)且(|pPSO,k,min, mean pPSO,k,min| ≤ TPOS),其中,pPSO,k,min, meanpPSO,k,min的算术平均值,k =1, 2 … NP;那么,转到步骤27,否则转到步骤25。

步骤25:将粒子pPSO,k的速度vPSO,k的值更新为W vPSO,k +Crand1C1 (pPSO,k,min - pPSO,k) + Crand2C2 (pPSO,min - pPSO,k),其中,Crand1Crand2是在区间[0, 1]中相互独立地按平均分布随机选取的两个值;k =1, 2 … NP

步骤26:累积一次内层粒子群算法的迭代次数;如果内层粒子群算法的迭代次数大于Ni,rd,那么停止内层粒子群算法并跳转到步骤27,否则跳转到步骤24。

步骤27:记录每次迭代得到的外层粒子群算法的全局最优值db,AM,coa,min,s=db,AM,coa,min,其中,s 是外层粒子群算法的迭代次数。

将粒子pPSO,1的值设置为当前的全局最优解pPSO,min

当外层粒子群算法的迭代次数s > no,rd时,令g =s -no,rd,判断多层粒子群算法的收敛性;如果|db,AM,coa,min,s– min db,AM,coa,min, g | ≤ TPOS,那么,结束多层粒子群算法并输出目标优化问题2的最优解pPSO,min和最优值db,AM,coa,min,否则,累积一次外层粒子群算法的迭代次数。

如果外层粒子群算法的迭代次数大于No,rd,那么停止外层粒子群算法并输出目标优化问题2的最优解(d xA, d yA, d r xA, d r yA) =pPSO,min和最优值min db,AM,coa=db,AM,coa,min,否则,更新粒子pPSO,1的初始值为pPSO,min并跳转到步骤23。

解得圆柱体C Cb相对于圆柱体C CAM的极限当量直径db, AM, coa, mM=|min db, AM, coa|=23.792。

步骤5:计算被测圆柱体b 的最大实体实效尺寸:被测圆柱体b 是孔,DbMV = Db +E Ib -Tb, AM, coa=24+0-0.3=23.7。

被测圆柱体b 是孔,23.7=DbMVdb, AM, coa, mM=23.792,给出结论“实际被测圆柱体b 的同轴度误差合格”。

表1数据集和坐标集

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1