[0059] 以下对本发明作进一步说明。
[0060] 一种基于差分进化单纯形算法的关节式坐标测量机标定方法,用于六自由度关节式坐标测量机运动学参数标定,具体包括如下步骤:
[0061] 步骤一,建立关节式坐标测量机数学模型。
[0062] 根据关节式坐标测量机建模理论,依据常用的DH参数法进行建模,可以坐标换算公式如式(1)所示:
[0063]
[0064] 式(1)中,θ1,θ2,θ3,θ4,θ5,θ6分别为关节式坐标测量机中六个角度传感器的读数值,θ0,1,θ0,2,θ0,3,θ0,4,θ0,5,θ0,6,α1,α2,α3,α4,α5,α6,a1,a2,a3,a4,a5,a6,d1,d2,d3,d4,d5,d6,l均为测量机运动学参数,为理论值(其数值为现有技术),其值分别为0°、0°、0°、0°、0°、0°、‑
90°、‑90°、‑90°、‑90°、‑90°、90°、0mm、62mm、0mm、62mm、0mm、0mm、376mm、0mm、751mm、0mm、
500mm、15mm、98mm。
[0065] 建立理论参数集P,相对角度集Θ如下:
[0066] Pth=(θ0,1,θ0,2,θ0,3,θ0,4,θ0,5,θ0,6,α1,α2,α3,α4,α5,α6,a1,a2,a3,a4,a5,a6,d1,d2,d3,d4,d5,d6,l)
[0067] Θ=(θ1,θ2,θ3,θ4,θ5,θ6)
[0068] 由此,被标定测量机测头(球形测头的球心)的理论坐标(x,y,z)表示为
[0069] x=fx(Pth,Θ)
[0070] y=fy(Pth,Θ)
[0071] z=fz(Pth,Θ)
[0072] 其中,fx()、fy()、fz()均为依据式(1)所得的函数关系。
[0073] 由于机械加工误差、装配误差以及测量机受力产生的形变,导致测量机实际的运动学参数与理论设计值产生偏离;据此,建立测量机实际运动学参数集ΔP如下。
[0074] ΔP=(Δθ0,1,Δθ0,2,Δθ0,3,Δθ0,4,Δθ0,5,Δθ0,6,Δα1,Δα2,Δα3,Δα4,Δα5,Δα6,
[0075] Δa1,Δa2,Δa3,Δa4,Δa5,Δa6,Δd1,Δd2,Δd3,Δd4,Δd5,Δd6,Δl)
[0076] 由此,被标定测量机测头的实际坐标(xm,ym,zm)表示为:
[0077] xm=fx(ΔP,Θ)
[0078] ym=fy(ΔP,Θ)
[0079] zm=fz(ΔP,Θ)
[0080] 步骤二,关节式坐标测量机转角数据采集。
[0081] 将锥窝标定件置于被标定测量机的测量空间中。锥窝标定件为顶部开设有倒置圆锥形槽,且尺寸已知的标准件。将被标定测量机的测头置于锥窝标定件中。锥窝能约束测量
机球形测头,使得测量机姿态变化时,球形测头始终位于锥窝中,即球形测头的空间坐标已
知,且不发生变化。测量机在该点下进行n次采样,n=50,每次采样采用不同的姿态,得到n
组转角数据(每组转角数据均由六个角度传感器的读数值组成)。
[0082] 步骤三、建立适应度函数如式(2)所示,
[0083]
[0084] 式(2)中,自变量为测量机运动学参数集P;xm、ym、zm为测量机运动学参数集P结合第m组转角数据计算得到的被标定测量机测头空间坐标;
[0085] 步骤四、以差分进化单纯形算法辨识测量机运动学参数。
[0086] 差分进化算法是一种采用浮点矢量编码在连续空间中进行随机搜索的优化算法,该算法原理简单,受控参数少,实施随机、并行、直接的全局搜索。但是差分进化算法存在着
全局搜索能力和收敛速度之间的矛盾,通过改变参数可以提高算法的收敛速度,但是会导
致全局搜索能力的下降,得不到满意的优化解。为解决这一问题,本文将全局优化算法和局
部搜索策略进行集成,将单纯形法这种具有良好局部搜索能力的优化算法嵌入到差分进化
算法中,提出了用于关节式坐标测量机标定的差分进化单纯形算法,算法具体步骤如下:
[0087] 4‑1.初始化种群规模N,收缩因子F∈[0,2],交叉概率CR∈[0,1],空间维数为D=25。设置最大迭代次数T=1000,初始迭代次数t=1。初始化单纯形的反射系数α>0、扩展系
数γ>1、压缩系数β∈(0,1)、收缩系数λ∈(0,1)、允许误差ε>0。本实施例中,种群规模N=
50,收缩因子F=0.5,交叉概率CR=0.9,反射系数α=1,扩展系数γ=1.2,压缩系数β=
0.5,收缩系数λ=0.5。
t
[0088] 在搜索空间中随机产生第t代种群 Pi=(pi1,pi2,...,piD),i=1,2...,N,其中,pi1、pi2、pi3、pi4、pi5、pi6分别在θ0,1、θ0,2、θ0,3、θ0,4、θ0,5、θ0,6上下浮动1°的范围内。pi7、pi8、pi9、pi10、pi11、pi12分别在α1、α2、α3、α4、α5、α6上下浮动1°的范围内。pi13、pi14、pi15、pi16、pi17、pi18分别在a1、a2、a3、a4、a5、a6上下浮动10mm的范围内。pi19、pi20、pi21、pi22、pi23、pi24、pi25分别在d1、d2、d3、d4、d5、d6、l上下浮动10mm的范围内。
[0089] 4‑2.根据适应度函数分别计算第t代种群内各目标个体 的适应度F(Pit)。
[0090] 4‑3.取N个适应度F(Pit)中的最小值作为当前种群中最优适应度最优适应度对应的个体为最优个体 若最优适应度 连续l代没有
改进(即t>l且 ),则执行步骤4‑4;否则,执行步骤4‑6。
[0091] 4‑4.以步骤4‑3所得最优个体 为中心,按标准正态分布随机生成D+1个顶点的初始单纯形。初始单纯形中含有D+1个顶点 k=0,1,...,D;顶点 的
第j维取值(即第j个元素)xk,j的表达式如式(3)所示。
[0092] xk,j=pbest,j×(1+0.5)ηj,k 式(3)
[0093] 式(2)中,j=1,2,...,D;pbest,j为最优个体 的第j维取值;ηj,k是服从N(0,1)标准正态分布的随机变量。
[0094] 进入步骤4‑5。
[0095] 4‑5.启动单纯形算法,并以搜索结果替代第t代种群中最差个体。单纯形算法的具体步骤如下:
[0096] 4‑5‑1.分别计算初始单纯形的D+1个顶点 的适应度,并将初始单纯形的D+1个顶点按适应度从小到大进行排序并依次重新命名为 为最优点, 为
次优点, 为最差点,即
[0097] 4‑5‑2.求出除最差点 外的其余顶点的形心 如式(4)所示。
[0098]
[0099] 4‑5‑3.将形心 和最差点 连线,并在其延长线上取点 作为反射点;反射点如式(5)所示。
[0100]
[0101] 式(5),α为前述的初始化单纯形的反射系数。
[0102] 4‑5‑4.单纯形判断步骤
[0103] ①.若反射点 的适应度小于最优点 的适应度,即 则进入步骤②。
[0104] 若反射点 的适应度大于最优点 的适应度,且小于次优点 的适应度,即则进入步骤③;
[0105] 若反射点 的适应度大于次优点 的函数值,即 时,则进入步骤④;
[0106] ②.扩展出新顶点 如式(6)所示。
[0107]
[0108] 式(6),γ为前述的初始化单纯形的扩展系数。
[0109] 若 则取 构成新的单纯形;若则取 构成新的单纯形。之后,进入步骤4‑5‑5。
[0110] ③.取 构成新的单纯形。之后,进入步骤4‑5‑5。
[0111] ④.以最差点 与反射点 中适应度较小的那个点作为特征点 即令
[0112] 进行压缩,得到压缩点 如式(7)所示。
[0113]
[0114] 式(7),β为前述的初始化单纯形的压缩系数。
[0115] 若 取 构成新的单纯形;若 时,进行收缩,得到D个收缩点 如式(8)所示,j=1,2,...,D。
[0116]
[0117] 式(8),λ为前述的初始化单纯形的收缩系数;
[0118] 取 构成新的单纯形。
[0119] 之后,进入步骤4‑5‑5。
[0120] 4‑5‑5.将当前单纯形的D+1个顶点按适应度从小到大进行排序并依次重新命名为若当前单纯形满足式(9),则以当前单纯形中适应度最小的那个顶点
作为输出点替换第t代种群Pt中适应度最大的个体,并进入步骤4‑6。否则,重复步骤4‑5‑2
至4‑5‑4。
[0121]
[0122] 式(9)中, 为当前单纯形的n+1个顶点的形心, ε为前述的允许误差。
[0123] 4‑6.i=1,2,...,N,依次执行步骤4‑7。
[0124] 4‑7.在第t代种群中除第i个个体外,随机选取三个不同的个体作为待变异个体和两个缩放个体,将两个缩放个体的向量差缩放后与待变异个体进行向量合成,生成第i变异
t
个体Vi如式(10)所示。
[0125] Vit=Pr1t+F·(Pr2t‑Pr3t) 式(10)
[0126] 式(10)中,r1,r2,r3∈{1,2,...,N}为各不相同的整数,且与i也不相同。F为前述t t
的收缩因子,控制差分矢量(Pr2‑Pr3)的缩放,以此避免搜索的停滞。
[0127] 4‑8.根据N个变异个体Vit=(vi1t,vi2t,...,viDt)和N个目标个体生成N个试验个体 i=1,2,...,N。 是第i个试验
个体 的第j维取值, 的表达式如式(11)所示。
[0128]
[0129] 式(11)中,CR为前述的交叉概率,rand(0,1)为[0,1]之间均匀分布的随机数。1≤jrand≤D,jrand为确定整数,能确保实验个体 从变异个体 中得到至少一个分量。
[0130] 4‑9.为了决定实验个体 能否进化到下一代,差分进化算法采取贪婪的选择方式,在实验个体 和原种群的目标个体 之间进行对比,适应度函数较小的个体将进入下
一代。得到第t+1代种群 如式(12)所示,i=1,2,...,N。
[0131]
[0132] 进入步骤4‑10。
[0133] 4‑10.若t=T,则将第t+1代种群 中适应度最小的那个个体作为最终个体,并进入步骤五;否则,将t增大1后,重复执行步骤4‑2至4‑9。
[0134] 步骤五、以步骤四所得的最终个体内的25个元素作为测量机实际运动学参数集ΔP输入关节式坐标测量机,标定完成。
[0135] 所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施
例,都属于本发明保护的范围。