当前位置:首页 期刊杂志

运用改进的教学-模拟退火算法辨识关节臂式三坐标测量机的结构参数

时间:2024-07-28

夏军勇 刘科进 钟 飞 孙 颖

湖北工业大学机械工程学院,武汉,430068

0 引言

关节臂式三坐标测量机[1-3]具有质量小、使用方便、测量范围广等优点[2-4],它一般由一个底座、两个关节臂、三组旋转关节及相应的零部件组成[5]。但是,不同于传统的三坐标测量机,由于关节臂式三坐标测量机的测头末端的坐标与其结构参数之间存在高非线性[2-3]的关系,所以其结构参数的较小变化就会引起测头末端坐标较大的变化[6],坐标误差受结构参数的影响极大[4,7]。显然,由于一系列因素的影响,使用一段时间后,其实际结构参数和标称结构参数通常并不相等[6],从而导致测头末端的实际坐标并不等于用标称结构参数计算出来的坐标。因此,当关节臂式三坐标测量机使用一段时间后,找到实际结构参数并将其重新植入控制设备中,从而准确地获得测头末端的实际坐标是迫切需要解决的问题。目前主要有两种方法来减小关节臂式三坐标测量机测头末端的坐标误差并提高定位精度和降低运动不确定度[8-10]:①使用更高精度的零部件;②用合适的方法来辨识结构参数从而对其进行补偿。但由于高精度零部件的制造成本很高,故使用高精度的零部件会大大增加制造成本,不利于它的推广和广泛应用。

基于以上分析,仅使用一个或几个更高精度的零部件,既不经济,也很难大幅度减小关节臂式三坐标测量机的测头末端的坐标误差[10-11],因此,很有必要用合适的方法来辨识其结构参数。目前,主要的辨识方法是使用简单的辅助工具结合合适的优化算法来进行。例如,FANG 等[12]使用基于量子行为的粒子群算法来辨识关节臂式三坐标测量机的结构参数;SANTOLARIA 等[13]用激光跟踪仪建立多点定位系统并从激光跟踪仪中获取数据,从而辨识关节臂式三坐标测量机的结构参数;刘志等[14]将几何搜索和结构参数辨识相结合,建立了两边辨识法;HAMANA 等[15]以球状中心坐标测量系统作为测量工具来辨识关节臂式三坐标测量机的结构参数;KOVA等[16]用激光干涉仪和线性量规建立高精密测量系统来辨识并补偿关节臂式三坐标测量机的结构参数;SANTOLARIA 等[13]在傅里叶多项式的基础上,用标称值和单点重复率误差模型来辨识和补偿关节臂式三坐标测量机的结构参数;王斌[17]建立了复合球坐标系并在此坐标系下通过点圆法和反转法来辨识关节臂式三坐标测量机的结构参数,并用混合优化算法来辨识测头的结构参数。

尽管有很多方法可辨识和补偿关节臂式三坐标测量机的结构参数,但这些方法依赖于使用高精密的元器件,这些元器件极大地增加了设备的制造成本且受外部环境影响很大,会引起很大的测量不确定性。另外,使用高精密的元器件使得辨识程序复杂、不便操作,很大程度上增加了其复杂性。本文在单点重复率误差的基础上,将改进的教学算法和模拟退火算法进行融合,提出一种混合算法来对关节臂式三坐标测量机的结构参数进行辨识。首先,将锥型孔固定在基座上并将关节臂式三坐标测量机的测头末端伸进锥型孔里面使其与锥型孔配合;其次,摇动关节臂式三坐标测量机到不同的位姿和构型以得到多组不同的关节转角组合;再次,将得到的数据分别与教学算法、模拟退火算法和改进的教学-模拟退火算法结合来对关节臂式三坐标测量机的结构参数进行辨识以得到相应不同的辨识结果;然后,用辨识前后的关节臂式三坐标测量机再次进行单点重复率误差实验,得到相应的结果;最后,对相应的结果进行比较、分析和归纳从而得出结论。

1 运动学建模及分析

图1是关节臂式三坐标测量机的物理结构图和坐标系图。

(a)结构图 (b)坐标图

在运动学中,关节臂式三坐标测量机的测头末端的坐标可以通过一系列的矩阵变换得到。运动学建模的目的就是构建各关节转角和测头末端的坐标之间的传递函数。设i-1Ti表示第i个坐标系到第i-1个坐标系的变换矩阵,根据MDH模型[18],第i个坐标系到第i-1个坐标系之间的传递函数为

(1)

其中,θi、di、ai-1、αi-1、l分别是关节转角、连杆长度、关节偏距、关节扭角和测头长度;s表示sin,c表示cos。给出以上矩阵以后,关节臂式三坐标测量机的测头末端在基坐标系中的坐标可表示为

(2)

其中,x、y、z分别是测头末端在基坐标系中x轴、y轴和z轴三个方向的坐标。关节臂式三坐标测量机的标称参数见表1。

表1 关节臂式三坐标测量机的标称参数

尽管关节臂式三坐标测量机有5组参数,但是只有关节转角θi是动态变化的,其余4组参数均为常数,也被称作结构参数。通常,这四组结构参数在出厂前由供应商辨识好并将其作为标称结构参数。然而,由于一些因素的影响,当关节臂式三坐标测量机使用一段时间之后,其标称参数发生了改变,这也会引起测头末端坐标的误差,故很有必要对关节臂式三坐标测量机的结构参数进行重新辨识。

2 相关分析和目标函数

测头末端的坐标可以用式(2)计算。经过高精密仪器测量N种姿态下测头末端的坐标Pk(kx,ky,kz)(k=1,2,…,N)及相应的关节转角kθi(k=1,2,…,N;i=1,2,…,6),则由式(2)可得

(3)

通过解这3N组方程,关节臂式三坐标测量机的实际结构参数就能被解出并被用作新的标称结构参数。此方法理论上讲是正确且可行的,但实际上,一方面式(3)是隐式方程,很难甚至几乎不可能解出其解析解;另一方面,测头末端的坐标是要通过高精密的仪器测量得到的,这就使得操作繁琐并且很难实现。因此,本文采用单点重复率误差的方法对其进行辨识。简单来讲,就是用关节臂式三坐标测量机在N种不同姿态下测量同一点的坐标得到N组关节转角,再将这N组关节转角和相关算法结合来对关节臂式三坐标测量机的结构参数进行辨识。

将关节臂式三坐标测量机的测头末端插入锥型孔里面使其与锥型孔配合,然后摇动关节臂到N种不同姿态下,就可以得到N组不同的关节转角kθi。设任意一组已知的结构参数为(di,ai-1,αi-1,l),记为X=(di,ai-1,αi-1,l),将X及kθi代入式(3),得到测头末端坐标的实际值与标称值的差:

(4)

因在实际情况中,实际坐标(x,y,z)很难测量出来,所以用坐标的平均值来代替其实际值:

(5)

求出kE后,其平均值为

(6)

因kE的平均值不能反映这些数据的分布规律,所以引入其相应的标准差:

(7)

对于任意一组给定的结构参数X=(di,ai-1,αi-1,l),根据“3σ原则”,其目标函数定义为

(8)

(9)

本文将式(8)定义为目标函数,并结合优化算法来寻找其最优解或可接受的解,将此最优解或可接受的解作为关节臂式三坐标测量机的实际结构参数。显然,当X越接近X*时,F(X)越小。因此,后续算法的目的就是找到使F(X)为0或小于给定阈值的X0,此解就是需要找到的解。

3 改进的教学-模拟退火算法

3.1 教学算法

教学算法[19-21]是一种模拟教学行为机制的仿生群智能优化算法,其核心思想是模拟课堂中老师对学生的教学以及学生之间互相学习的行为机制,其运算机制主要分为两个阶段:教学阶段和学习阶段。

(1)教学阶段。在教学阶段,“教师”的位置保持不变,“学生”逐个地向“教师”学习并通过下式更新自己的位置:

Difference_Meant=rt(Mnew-TFMt)

(10)

Xnew,i=Xold,i+Difference_Meant

(11)

其中,t指整个群体进化到了第t代;rt是(0,1)之间的一个随机数;Mnew是进化到当前代的“老师”;TF是群体平均值的改变因子;Mt是所有变量的均值,通过下式来计算:

(12)

式中,D为变量的维度。

(2)学习阶段。在学习阶段,第i个个体通过下式更新位置:

(13)

式中,fitness(·)是相应个体的适应度值;Xold,i、Xnew,i分别为第i个个体更新前和更新后的位置;r为(0,1)之间的随机数。

尽管教学算法没有参数需要设定,运算机制比较简单,但是它的寻优速度不快,并且寻优精度不高。特别是对于像本文中这种多变量高维高非线性的问题,算法对其进行寻优的时候会急剧增加算法的运算量和运算时间,大幅降低其效率。为避免此弊端,本文对教学算法进行改进从而得到改进的教学算法来加快其寻优速度。

3.2 改进的教学算法

鉴于教学算法的这种特点,本文对其“教学阶段”和“学习阶段”都有所改进,以加快其收敛速度。在教学阶段,分别做如下改进。

(1)动态更新“教师”角色。即当每个 “学生” 向 “老师” 学习完后,就比较该学习完的 “学生” 和当前 “老师” 的适应度值,选择两者中适应度值较好的个体作为新的 “老师”。更新机制如下:若fitness(Xnew,i)≥fitness(Mnew),则Mnew=Xnew,i。其中,Xnew,i是第i个个体更新后的位置,Mnew是当前代的 “老师”。

(2)改变教学更新公式。在 “教学阶段” ,“学生” 向 “老师” 学习的公式为

Xnew,i=Xold,i+Difference_Meani+cr(gbesti-Xold,i)

(14)

式中,c为(0,1)之间的随机数;gbest为历史最优个体。

在学习阶段,做如下改进:“学生”之间通过互相学习,第i个个体的位置更新公式为

(15)

式中,r1、r2为学习因子,本文均取2。

3.3 改进的教学-模拟退火算法

虽然改进的教学算法具有较快的收敛速度,但是在增加收敛速度的同时会降低收敛精度,使算法陷入局部最优区域。模拟退火算法[22]是一种对固体的退火过程进行模拟的仿生智能优化算法,由于它采用Metropolis接受准则,所以当群体陷入局部最优区域以后,它能通过Metropolis接受准则的特殊机制将陷入局部最优区域的群体“拽出来”,从而让群体在更广阔的新区域重新寻优,进而达到找出全局最优个体的目的。基于模拟退火算法的这种特殊的寻优机制,本文就利用这种特殊机制来扩充在改进的教学算法阶段陷入局部最优区域的解;利用此特性将这个不能接受的最优解“拽出来”,接着到更广阔的空间来继续寻优,从而以更大的概率来找到问题的全局最优解。两种算法的转换靠收敛精度转换准则来连接。

在本文各算法中(教学算法、改进的教学算法、模拟退火算法和改进的教学-模拟退火算法),个体的适应能力由其适应度值来度量,即具有较大适应度值的个体有更大的几率来执行后续操作并产生下一代。就目标函数而言,使目标函数值越小的个体越优良,所以适应度函数定义成以下形式:

(16)

式中,rlim是一个极小的正数,以保证分母不为0。

改进的教学-模拟退火算法的基本原理如下。

(1)转换准则的设计。设t、Xbest(t)和fitness(Xbest(t))分别是当前进化代数、到目前为止的最优个体和最优个体的适应度值,那么转换准则设计为下式的关系:

(17)

其中,K是一个正整数,ε和δ是转换阈值,并且,K、ε和δ都是提前给定的常数。以上条件说明,如果在改进的教学算法阶段得到的最优解Xbest(t)满足式(17),则改进的教学算法终止,算法进入模拟退火阶段,在模拟退火阶段进一步扰动在改进的教学算法阶段得到的最优解 。这两种算法通过这种机制连接起来以后得到的新算法在本文中称为改进的教学-模拟退火算法。

(2)终止条件的设定。对于某个智能优化算法,如果到目前为止所找到的最优解Xbest(t)不是设备的实际结构参数(或不能作为可接受的解),或者混合智能优化算法进化了很多代以后随着迭代次数的增加其最优解基本不再变化,那么可以认为此算法寻优失败,应当终止此算法的运算,从而避免不必要的冗余计算,减少运算量和时间。在本文中,终止条件设定为

F(Xbest(t))≤η

(18)

fitness(Xbest(t))≥τ

(19)

t≥G

(20)

其中,G是最大迭代次数;η和τ都是结束算法运算的阈值。本文中,相关参数设定如下:种群数量M=100;G=40000;K=30;ε=0.1;δ=0.2;T0=104;Markov链的链长J=30;终止温度Te=10-3;温度衰减函数μ=0.9。

4 实验结果及讨论

4.1 实验

当获取一系列关节转角以后,将其分别与教学算法、模拟退火算法和改进的教学-模拟退火算法相结合而进行寻优操作来优化关节臂式三坐标测量机的结构参数。用教学算法、模拟退火算法和改进的教学-模拟退火算法辨识关节臂式三坐标测量机的结构参数的流程框图分别见图2~图4。

图2 用教学算法辨识关节臂式三坐标测量机的结构参数流程图

图3 用模拟退火算法辨识关节臂式三坐标测量机的结构参数流程图

图4 用改进的教学-模拟退火算法辨识关节臂式三坐标测量机的结构参数流程图

如果某个最优解Xbest(t)满足式(18)或式(19),就认为算法寻优成功,即认为此时算法找到了关节臂式三坐标测量机的结构参数的实际值,并且将此个体Xbest(t)记为Xopt。需要注意的是,由于一些误差原因,由算法和测得的基本数据所导出的全局最优个体Xopt一般不等于但无限接近实际值。

由于在算法执行的过程中,相关变量会经过一系列的运算操作,这可能会导致其越过对应的边界值。本文中,由于长度结构参数是非负数并且ai-1(i=1,2,5,6)、d6和αi-1(i=1,3,4)为0,所以ai-1(i=1,2,5,6)和d6的搜索变化范围设定为(0,10);ai-1(i=3,4)和di(i=1,2,…,6)设定为(0,±10);αi-1(i=1,2,…,6)设定为(0,±10°);l设定为(0,10)。当结构参数的某个变量y越过其对应的边界值时,则由随机函数发生器rand生成新变量,具体生成机制如下:

若y越过相应的边界,则

y=(ulim-llim).*rand+y

式中,ulim、llim分别为相应变量的上界和下界。

为便于比较,绘制了最优个体Xbest(t)的适应度F(Xbest(t))的进化曲线。用教学算法、模拟退火算法和改进的教学-模拟退火算法辨识关节臂式三坐标测量机时,将最优个体Xbest(t)的适应度F(Xbest(t))的进化曲线都画在一个坐标系中,其进化曲线如图5所示。用三种算法辨识关节臂式三坐标测量机后所得的关节臂式三坐标测量机的结构参数分别见表2~表4。

表4 用改进的教学-模拟退火算法辨识关节臂式三坐标测量机后得到的结构参数

图5 用不同的算法辨识关节臂式三坐标测量机的结构参数时目标函数的进化曲线

表2 用教学算法辨识关节臂式三坐标测量机后得到的结构参数

用三种算法分别寻优得到关节臂式三坐标测量机优化的结构参数以后,将三组优化后的结构参数分别植入关节臂式三坐标测量机的控制器中作为其新的标称结构参数。为便于分析和比较,分别用辨识前和辨识后的关节臂式三坐标测量机进行新的单点重复率误差实验。如图6所示,单点被重复测量多次,其单点重复率误差曲线如图7所示。

表3 用模拟退火算法辨识关节臂式三坐标测量机后得到的结构参数

(a)全局图

(a)辨识前

4.2 结果

(1)观察图5可知,随着迭代次数的增加,目标函数值逐渐趋向于0。

(2)观察图7可以得到以下两组指标并分别以表格的形式列出结果:① 辨识前后单点重复率误差值的最大值、最小值、平均值和标准差及其在三个方向上的对应分量;② 经过TLBO、SA和mTLBO-SA辨识后单点重复率误差值的最大值、最小值、平均值和标准差及其在三个方向上减少的百分比对应分量的下降率。

其中,辨识前后的单点重复率的误差值见表5;辨识前后的单点重复率误差值分别在x、y和z方向的分量见表6~表8;经过TLBO、SA和mTLBO-SA辨识后单点重复率误差值的下降率见表9;经过TLBO、SA和mTLBO-SA辨识后单点重复率误差值的下降率在x、y和z方向的分量分别见表10~表12。

表5 辨识前后的单点重复率误差

表6 辨识前后单点重复率误差在x方向的分量

表7 辨识前后单点重复率误差在y方向的分量

表8 辨识前后单点重复率误差在z方向的分量

表9 辨识后单点重复率误差下降率

表10 辨识后单点重复率误差下降率在x方向的分量

表11 辨识后单点重复率误差下降率在y方向的分量

表12 辨识后的单点重复率误差下降率在z方向的分量

4.3 讨论

(1)通过教学算法、模拟退火算法及改进的教学-模拟退火算法辨识后,关节臂式三坐标测量机的单点重复率误差值及其在三个相应坐标轴方向上的对应分量均有不同幅度的减少。

(2)经过教学算法辨识后,单点重复率误差值及其在三个相应坐标轴方向上对应分量的减幅从89%到98%不等;经过模拟退火算法辨识后,单点重复率误差值及其在三个相应坐标轴方向上对应分量的减幅从62%到98%不等;经过改进的教学-模拟退火算法辨识后,单点重复率误差值及其在三个相应坐标轴方向上对应分量的减幅从95%到99%不等。

(3)除极个别情况以外,经过mTLBO-SA辨识后单点重复率误差值的各减少幅度都超过96%,并且各减幅比经过TLBO和SA辨识后对应的减幅最少多1%,最大多33%,一般情况下也会多3%~15%。

5 结论

(1)实际情况中,很难测量到关节臂式三坐标测量机的实际结构参数,仅仅使用一些单一的传统算法很容易使算法陷入局部最优区域从而寻优失败。

(2)无论是用教学算法还是模拟退火算法对关节臂式三坐标测量机的结构参数进行辨识,算法都可能会陷入局部最优区域或者早熟,使得优化后的单点重复率误差值不能很好地大幅减小。

(3)通过SA对mTLBO扰动后,算法能在新的区域进行新的寻优操作,这不仅使算法跳出局部最优区域,还能增加群体的多样性,使得群体以更大的概率找到或更接近全局最优解。

(4)通过对比各结果不难发现:mTLBO-SA更适合关节臂式三坐标测量机的结构参数辨识,能更有效且高效地提高关节臂式三坐标测量机的精度和降低其运动不确定度。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!