一种求解关节式坐标测量机最佳测量区的方法与流程

文档序号:15931826发布日期:2018-11-14 01:45阅读:163来源:国知局

本发明涉及一种应用于坐标测量技术领域中的求解关节式坐标测量机最佳测量区的方法。

背景技术

关节式坐标测量机为多杆通过多个旋转关节串联而成的空间开链式串联结构,由于其具有测量速度快、方便携带、测量空间较开阔、测量死角较少、对环境的要求低等优点,被广泛应用于汽车整车及零部件、模具、航空航天、汽轮机、重机以及其他机械加工行业。

六自由度关节式坐标测量机由3个测量臂、6个关节、6个圆编码器及1个测头构成。各个关节转动的角度由安装在其上的圆编码器输出获得;6个编码器记录的角度和测量机结构参数决定了测量机测头的坐标。

由于关节式坐标测量机串联式的机械结构,其圆编码器的误差由于放大作用传递到测头时,导致其测量精度较低,目前提高关节式坐标测量机的精度成为亟待解决的核心问题。

关节式坐标测量机对空间内任意一点进行测量时,可以通过多种不同的姿态去进行测量,不同姿态下6个圆编码器的测角误差就会有多种不同的组合。由此可以推广到关节式坐标测量机的整个测量空间,即任意一点的误差变化是具有一定规律且连续的,故在整个测量空间内存在最大误差最小的立方体区域即最佳测量区。

果蝇优化算法是一种基于果蝇觅食行为推演出寻求全局优化的新方法,由潘文超教授于2011年提出。果蝇算法具有简单、参数少、计算量小、寻优精度高等优点,广泛应用于军事、工程、医学、管理与财务等各种领域,但是目前还没有学者将其应用于坐标测量领域。粒子群算法(pso)属于进化算法的一种,和模拟退火算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,它没有遗传算法的交叉和变异操作,它通过追随当前搜索到的最优值来寻找全局最优。这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。

国内很多学者对提高关节式坐标测量机精度和最佳测量区问题进行了研究。郑大腾等运用支持向量机理论得到以单点测量为目标的最佳测量区和以空间距离测量为目标的最佳测量区模型,但是该方法实用性不强,且模型是以大量的实测数据为基础建立的,其测量误差不包括圆编码器测角误差。秦自瑞采用仿真分析的方法得出测量机上圆编码器误差导致的测量误差具有一定的抵偿性的结论,并给出了测量误差较小时6个圆编码器的角度使用范围。但是由于测量机采用的是手动测量方式,测量姿态具有随机性,因此该方法并不实用。



技术实现要素:

为了克服背景技术中的不足,本发明公开了一种求解关节式坐标测量机最佳测量区的方法,上述方法能够求解出关节式坐标测量机的最佳测量区,在其最佳测量区内作业,可以达到提高关节式坐标测量机精度的目的。

本发明是一种求解关节式坐标测量机最佳测量区的方法,所述关节式坐标测量机为六自由度关节式坐标测量机,由3个测量臂、6个关节、6个圆编码器及1个测头构成。各个关节转动的角度由安装在其上的圆编码器输出获得;

本发明实现发明目的采用如下技术方案:

步骤一、利用d-h方法建立关节式坐标测量机的测量方程p,

其中:c表示cos,s表示sin,li是杆件的长度;θi是各关节实际转动量;di是关节偏置量;ai是相邻关节轴线的扭转角度;l是测量机测头长度。

步骤二、标定圆编码器误差,得到其误差特性函数ei(θi)。将关节式坐标测量机结构参数和误差特性函数代入其测量方程p,得到带有关节转角误差的坐标公式:

则由于圆编码器导致的测量误差为:

步骤三、利用蒙特卡洛方法得到各个关节转角的随机数,采用数值的方法得到测量机的整体测量空间。(用matlab进行仿真)

步骤四、任取一采样点,将其坐标代入关节式坐标测量机的测量模型,采用牛顿迭代法求解非线性方程组,得到空间内任意点的多种测角组合,然后代入基于圆编码器误差的测量误差模型中,得到该采样点的误差分布及最大测量误差。在x>0,y=0半个平面内布置采样点,得到这半个平面内采样点的数据集合,对关节1的角度值θ1加上一个偏转角度δθ1,得到与x>0,y=0半个平面之间夹角为δθ1的另一个平面上所对应的所有点在不同测量姿态下的角度集合,从而得到整个测量空间内的误差分布,求得每个采样点的最大测量误差,得到整个空间的最大误差分布情况。

步骤五、由步骤一和步骤二可得最大误差模型:

将整体测量空间等间隔划分成若干个小立体空间,使用foa+pso求得各个立体空间内的最大误差,比较各个立体空间的最大误差,得到最大误差最小的立体空间,即为最佳测量区。

与已有技术相比,本发明有益效果体现在:

本发明中将圆编码器误差特性函数和关节式坐标测量机的结构参数代入关节式坐标测量机的测量模型中,得到基于圆编码器测角误差的关节式坐标测量机的误差模型;利用牛顿迭代法逆解出任意采样点的多个圆编码器测角组合,并代入其误差模型,得到该点的测量误差分布及最大测量误差;利用适当的布点与推广算法,求得整个测量空间内的误差分布和最大误差分布,不仅解决了实际测量中测量数据样本数有限的问题,还减少了很多工作量,提高了工作效率;最后首次将果蝇算法(foa)和粒子群算法(pso)相结合运用到坐标测量领域,利用果蝇算法简单、参数少、计算量小、寻优精度高等优点,大大提高了计算效率和精度。本发明可求得关节式坐标测量机的最佳测量区域,为后续提高六自由度关节式坐标测量机自动测量精度和建立最佳测量区数据库奠定了基础。

附图说明

图1是测量空间云点图。

图2是采样点m(200,0,-200)不同姿态下误差点云图。

图3是整个测量空间内各采样点最大测量误差分布图。

图4是六自由度关节式坐标测量机的结构图。

具体实施方式

以下通过具体实施例对本发明做进一步解释说明。

本实施例中关节式坐标测量机为六自由度关节式坐标测量机,由3个测量臂、6个关节、6个圆编码器及1个测头构成。各个关节转动的角度由安装在其上的圆编码器输出获得;

具体实施步骤如下:

步骤一、利用d-h方法建立关节式坐标测量机的测量方程p,

其中:c表示cos,s表示sin,li是杆件的长度;θi是各关节实际转动量;di是关节偏置量;ai是相邻关节轴线的扭转角度;l是测量机测头长度。

步骤二、标定圆编码器误差,其误差分布曲线为符合狄利克雷条件的以2π为周期的类正弦曲线,将其误差分布曲线设为三阶傅里叶级数,得到其误差特性函数ei(θi)。

ei(θi)=ai+bicos(θi)+cisin(θi)+dicos(2θi)+eisin(2θi)+ficos(3θi)

+gisin(3θi)

将关节式坐标测量机结构参数和误差特性函数代入其测量方程p,得到带有关节转角误差的坐标公式:

则由于圆编码器导致的测量误差为:

步骤三、利用蒙特卡洛方法得到各个关节转角的随机数,采用数值的方法得到测量机的整体测量空间。根据关节式坐标测量机结构参数用matlab仿真分析其整个测量空间,如图1所示。根据仿真结果可知,本坐标测量机测量空间为一个完整的球体,内部无空腔,测头可达范围为:

xmin=-6.06286×102mmxmax=6.05847×102mm

ymin=-6.05503×102mmymax=6.07493×102mm

zmin=-3.12345×102mmzmax=9.02439×102mm

步骤四、

a、取采样点m(200,0,-200),将其坐标代入关节式坐标测量机的测量模型,采用牛顿迭代法求解非线性方程组,得到空间内任意点的5000种测角组合(选取20组数据如下表所示),

然后将这5000种测角组合代入基于圆编码器误差的测量误差模型中,得到该采样点的误差分布及最大测量误差。(如图2所示)

b、在x>0,y=0半个平面内布置采样点,得到这半个平面内采样点的数据集合,对关节1的角度值θ1加上一个偏转角度δθ1,得到与x>0,y=0半个平面之间夹角为δθ1的另一个平面上所对应的所有点在不同测量姿态下的角度集合,从而得到整个测量空间内的误差分布,求得每个采样点的最大测量误差,得到整个空间的最大误差分布情况。(如图3所示)

步骤五、

a、由步骤一和步骤二可得最大误差模型:

将上式转换为

因为是有约束的优化问题,采用外罚函数对约束进行处理,将其变成一种外罚函数,再添加到目标函数中。记可行域为:

构造罚函数为:

目标增广函数为:

这样就将有约束的优化问题转化为了无约束优化问题,则目标函数为:

b、利用foa+pso算法求得目标函数最小值,所对应的点即最大误差最小的采样点。

果蝇算法基本流程为

(1)随机初始果蝇群体位置

initx_axis

inity_axis

(2)赋予果蝇个体利用嗅觉搜寻食物的随机方向与距离

xi=x_axis+randomvalue

yi=y_axis+randomvalue

(3)由于无法得知食物位置,所以先估计与原点的距离(dist),再计算味道浓度判定值(s),其值为距离的倒数。

(4)味道浓度判定值(s)代入味道浓度判定函数,求得该果蝇个体位置的味道浓度(smelli)。

smelli=function(si)

(5)找出此果蝇群体中味道浓度最低的果蝇(求极小值)

[bestsmell,bestindex]=min(smell)

(6)保留最佳味道浓度值与x、y坐标,此时果蝇群体利用视觉往该位置飞去。

smellbest=bestsmell

x_axis=x(bestindex)

y_axis=y(bestindex)

(7)进入迭代寻优,重复步骤2-5,判断味道浓度是否优于前一代的味道浓度,如果大于则执行步骤6。

pso算法中的参数有c1、c2和ω,c1、c2为加速度因子,ω为惯性权重。这三个参数会影响粒子群算法的效率和准确性。加速因子c1设置较大的值,会使粒子过多的在局部徘徊,相反地,较大的c2值会使粒子过早收敛到局部最优值。惯性权重ω体现的是粒子继承先前的速度的能力,较大的惯性权重值有利于全局搜索,较小的惯性权重值则更有利于局部搜索。经过查阅文献和多次实验,针对惯性权重的选择,这里选用:

其中ωstart=0.9,ωend=0.4,k为当前迭代代数,tmax为最大迭代代数。

对于加速度因子则利用果蝇算法(foa)寻优,求得最优值为c1=c2=1.49445。

将整体测量空间从x、y、z三个方向分别以200mm为间隔分割成343个小立体空间,使用粒子群算法(pso)求得各个立体空间内的最大误差,运行程序,剔除不在测量空间内的数据,得到220组数据,取15组数据如下表所示,

分析所得数据可知,各个区域最大测量误差变化范围为0.0634mm~0.1876mm其中区域-100≤x≤100,-100≤y≤100,400≤z≤600的误差最小,为0.0634mm,将工件放置于该小立方体区域内测量,精度最高,即该六自由度关节式坐标测量机的最佳测量区域。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

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