廖 平
中南大学,长沙,4100831
复杂曲面在现代机械制造业中的应用越来越广泛,在工程实际中,针对复杂曲面的高效率、高精度的测量要求也越来越高。最小区域法是我国和ISO评定复杂曲面轮廓度误差的标准。但是,复杂曲面轮廓度误差的求解是一个复杂非线性寻优问题[1-5],目前采用的大多是传统的近似求解方法,因此,基于最小区域法的复杂曲面轮廓度误差的计算仍然是一个难题。
美国学者Kennedy等[6]于1995年提出了粒子群优化(particle swarm optimization)算法,该算法具有高效并行优化、流程简单、不需要梯度信息、容易实现等特点,对求解复杂曲面轮廓度误差非线性优化问题具有独到之处。
本文提出了基于粒子群算法和分割逼近法的复杂曲面轮廓度误差的计算方法。
粒子群优化算法是一种基于群智能方法的演化计算技术,其思想来源于对鸟群捕食行为的模拟[6-7],采用速度—位置搜索模型,在优化问题的D维空间随机产生一个粒子数为m的初始种群,并赋予每个粒子一个随机速度。更新粒子的速度和位置可表示为
式中,Vti为粒子i第t次迭代速度矢量;ω为惯性因子,ω≥0;c1、c2为学习因子;r1、r2为均匀分布在(0,1)区间的随机数;Xti为粒子i第t次迭代位置矢量;Pti为粒子最好位置;Gti为种群当前最好位置。
假设求函数f(X)的最小值,那么粒子i的个体最优位置为
则群体粒子的领域最优值和对应的位置为
在CAD/CAM/CAGD中,形状复杂、不规则的曲线轮廓一般以一组离散坐标点和相应控制参数表示,坐标测量机对轮廓进行测量时得到的也是一组离散坐标点。对于这些离散的坐标点一般用参数样条曲面进行拟合。而NURBS曲面具有局部性、变差缩减性、凸包性、在仿射与透视变换下的不变性、参数连续性,以及权因子的调形性等一系列优良性能,在航空、航天、造船、汽车及模具工业的计算机辅助设计和辅助制造过程中得到广泛应用。一个k次NURBS曲面可以表示为多片有理多项式矢函数形式[8]:
式中,di,j为矩形域上特征网格控制点;ωi,j为相应控制点的权因子,规定四角点处用正权因子,即 ω0,0,ωm,0,ω0,n,ωm,n >0,其余 ωi,j≥0;Ni,k(u)、Nj,l(v)分别为u向k次和v向l次规范B样条基函数,它们分别由节点矢量U=(u0,u1,…,um+k+1)与V=(v0,v1,…,vn+l+1)由De Boor—Cox递推公式决定。
按最小区域法来评定复杂曲面轮廓度误差,其误差值是包容被测轮廓的两理论轮廓等距面的最小距离,如图1所示。
设复杂曲面理论基准点为(xtb,ytb,ztb),实际轮廓测得基准点为(xb,yb,zb),轮廓测点坐标为P={Pj=(xj,yj,zj)|j=1,2,…,m},其坐标变换矩阵为
式中,Tp为测点平移坐标变换矩阵;Tx为测点绕x轴旋转θ后的变换矩阵;Ty为测点绕y轴旋转φ后的变换矩阵;Tz为测点绕z轴旋转ψ后的变换矩阵。
测点变换后的新坐标为复杂曲面轮廓度误差数学模型为
式中,dtj(Δx,Δy,Δz,θ,φ,ψ)为测点(xj,yj,zj)经过坐标变换后到理论轮廓的最小距离。
从复杂曲面轮廓度误差数学模型理论可知:只有测点的位置位于最佳位置时,才能保证包容全部测点的理论轮廓等距面之间的距离最小,这是一个非常复杂的非线性优化问题[9-10]。
设测点坐标为(xk,yk,zk),如图2所示,该点到用NURBS曲面描述的理论轮廓r(u,v)最小距离的数学模型为
要精确计算点到复杂曲面的最小距离,需要解决求解方法的选择和算法的计算效率两个关键问题。采用微分几何方法求测点到理想轮廓的最小距离计算方法复杂,且工作量大,为此,本文提出一种快速数值求解法 ——分割逼近法。
(1)将NURBS曲面r(u,v)u向10等分、v向10等分,在曲面上形成11×11网格点r(ui,vj)(i=0,1,…,10;j=0,1,…,10)。
(2)计算测点 pk到理论曲面网格点r(ui,vj)(i=0,1,…,10;j=0,1,…,10)上的距离dts
i,j,初始分割时取s=1。如图 3所示。
(3)求测点到理论曲面上所有网格点距离的最小值:
继续分割10×10等分,在曲面上形成11×11网格点r(us+1i,vs+1j)(i=0,1,…,10;j=0,1,…,10),转到(2),继续求解。
(1)基本参数设置。c1=2,c2=2,ω=1,粒子群数量为n=30,最大迭代次数为tmax=100。
(2)粒子群初始化。在参数(Δx,Δy,Δz,θ,φ,ψ)允许的范围内随机初始化粒子群体的位置:
随机初始化对应的速度:
每个粒子的初始最优与初值相同,即
由式(4)求初始种群到达的最优位置,即
(3)确定适应值函数。选取复杂曲面轮廓度误差的目标函数为适应值函数,即个体(Δxti,Δyti,Δzti,θti,φti,ψti)所对应的各测点到理论设计轮廓的最小距离中的最大值为
其中,eti为所有测点P={(xj,yj,zj)|j=1,2,…,m}经过(Δxti,Δyti,Δzti,θti,φti,ψti)所对应的坐标变换后到理论设计轮廓的最小距离,eti采用分割逼近法求得。
(4)求出每一个粒子的最优位置。首先计算每个粒子的适应值 f(Δxti,Δyti,Δzti,θti,φti,ψti),然后求出每一个粒子的最优位置:
(5)求当代种群中到达的最优位置,即
(6)根据式(1)、式(2)更新每个粒子的位置和飞行速度。
(7)检查更新粒子位置越限情况并进行相应处理。
(8)判断迭代次数t是否到达设定值tmax,如未达到则继续迭代;若达到则停止计算,此时得到的种群中最优位置为Ptg,所对应的适应值即为复杂曲面轮廓度误差。
表1为一理论设计轮廓三次NURBS曲面特征顶点,表2为实际轮廓测点,其中:
U=(0,0,0,0,0.5,1,1,1,1)
V=(0,0,0,0,0.5,1,1,1,1)
采用粒子群算法和分割逼近法相结合方法计算得到的轮廓度误差为0.073 788 109 106 757 8mm,采用最小二乘法计算的轮廓度误差为0.095 179 980 162 99 9mm,从计算结果可以看出采用粒子群算法和分割逼近法相结合的方法计算轮廓误差值比最小二乘法的计算结果小,说明最小二乘法获得的不是最优解,不符合最小区域法评定复杂曲面轮廓度误差的标准。
表1 理论轮廓控制点坐标 mm
表2 测点坐标 mm
(续表)
本文采用粒子群算法和分割逼近法相结合的方法计算复杂曲面轮廓度误差,其精确度非常高,可达到任意给定的精度值,理论上可以收敛于全局最优解,完全符合最小区域法的评定标准。该算法简单明了,易于计算机程序实现,为复杂曲面轮廓度误差的数据处理开辟了新的途径,尤其非常适用于三坐标测量机、飞机型架三坐标测量系统的复杂曲面轮廓度误差的测量数据处理。
[1]侯宇,张竞,崔晨阳.复杂线轮廓度误差坐标测量的数据处理方法[J].计量学报,2002,23(1):13-16.
[2]郭慧,林大钧.基于微粒群算法的复杂曲面轮廓度误差计算[J].东华大学学报(自然科学版),2008,34(3):274-277.
[3]王伯平,曾建潮.一种自调整的空间面轮廓度误差的评定方法[J].计量学报,2002,23(2):106-108.
[4]Yu Yuan,Lu Jun,Wang Xiaochun.Modeling and A-nalysis of the Best Match in Free—form Surface Measuring[J].Mechanical Science and Technology,2001,20(3):19-20.
[5]Liu Yujun,Zhu Xiuli.Research on Curve Surface Fairing of Complicated Ship Hull Plate[J].Journal of Dalian University of Technology,2005,45(2):226-229.
[6]Kennedy J,Eberhart R C.Particle Swarm Optimization[C]//Proc.of IEEE International Conference on Neural Networks.Piscataway,New Jersey:IEEE Service Center,1995:1942-1948.
[7]Eberhart R C,Shi Y.Particle Swarm Optimization:Developments,Applications and Resources[C]//Proc.of Congress on Evolutionary Computation.Piscataway:IEEE Press,2001:81-86.
[8]Choi B K,Yoo W S,Lee C S.Matrix Representation for NURBS Curve and Surface[J].Computer—aided Design,1990,22(4):235-240.
[9]刘元朋,刘晶,张力宁.复杂曲面测量数据最佳匹配问题研究[J].中国机械工程,2005,16(12):1080-1082.
[10]Kyuseojin A,Akmoto Y.A New Method of Best—fitting on Curved Surface[J].SPIE,1993,2101:54-61.