一种改进的布谷鸟算法及优化机器人结构参数的方法与流程

文档序号:23339127发布日期:2020-12-18 16:32阅读:334来源:国知局
一种改进的布谷鸟算法及优化机器人结构参数的方法与流程

本发明属于优化算法技术领域,涉及一种改进的布谷鸟算法,还涉及应用上述算法优化机器人结构参数的方法。



背景技术:

为了使机器人在有限的空间内能够灵活高效的运动,需要对机器人结构参数进行优化设计。对机器人结构参数进行优化的方法大多数为遗传算法,但是遗传算法具有求解精度低,收敛速度慢等缺点。传统的布谷鸟算法虽应用广泛,但还是存在一定缺陷:莱维飞行随机性较大,缺乏有效机制来加强搜索深度,算法收敛精度不高。



技术实现要素:

本发明的目的是提供一种改进的布谷鸟算法,解决了现有技术中存在的收敛精度低的问题。

本发明所采用的技术方案是,一种改进的布谷鸟算法,包括传统的布谷鸟算法,用自适应步长控制因子α(ti+1)替换传统的布谷鸟算法中步长控制因子,α(ti+1)通过下式表示:

上式中,t为当前迭代次数与总迭代次数之比,αmin为步长控制因子的下限,αmax为步长控制因子的上限,tmax为最大迭代次数,ti为当前迭代次数。

本发明的特点还在于:

传统的布谷鸟算法包括以下步骤:

步骤1、初始化种群:设置鸟巢数量为m,维数为n,发现概率为pa,最大迭代次数为n,计算每个鸟巢位置的适应度;

步骤2、通过莱维飞行公式对鸟巢位置进行更新,莱维飞行公式为:

上式中,表示第t代第i个鸟巢位置;α(ti+1)是步长控制因子;

步骤3、求解通过步骤2更新后鸟巢位置的适应度,若更新后的适应度高于更新前的适应度,则用更新后的鸟巢位置替换更新前的鸟巢位置;

步骤4、根据发现概率随机淘汰步骤3得到的部分鸟巢位置,并通过偏好随机行走更新被淘汰的鸟巢位置,偏好随机游走的公式为:

其中γ~u(0,1),为第t代中的两个随机鸟巢位置;

步骤5、计算经过步骤4更新后鸟巢位置的适应度,并输出适应度最好的鸟巢位置;

步骤6、对步骤2-5进行迭代,并判断是否满足终止条件,若满足,则步骤5得到的鸟巢位置为最优解,否则进行下一次迭代。

终止条件为达到最大迭代次数或步骤5得到的适应度达到终止范围。

本发明的另一目的是提供一种基于改进的布谷鸟算法优化机器人结构参数的方法,解决了现有技术中存在的求解精度低的问题。

本发明所采用的另一技术方案是,一种基于改进的布谷鸟算法优化机器人结构参数的方法,包括以下步骤:

步骤1、根据dh参数确定机器人第i个关节变换矩阵

上式中,a、d、α、θ均为关节尺寸;

将机器人每个关节的变换矩阵依次相乘得到机器人末端相对于基坐标的变换矩阵

步骤2、根据变换矩阵求取机器人雅可比矩阵j(q),雅可比矩阵j(q)的第i列如下:

对于转动关节i:

ji=((p×n)z(p×o)z(p×a)znzozaz)t(7);

对于移动关节i:

ji=(nzozaz000)t(8);

上式中,n,o,a,p是变换矩阵的四个列矢量;

计算雅可比矩阵j(q)的条件数:

上式中,σmax(j)、σmin(j)分别表示雅可比矩阵的最大奇异值、最小奇异值;

根据雅可比矩阵的条件数计算第i个关节在整个运动空间内运动学灵巧度:

步骤3、采用改进的布谷鸟算法对每个关节尺寸进行优化,鸟巢位置为关节尺寸,适应度为灵巧度,目标函数为:

min(gci)(11);

约束条件为:

rmin<r<rmax(12);

上式中,r为关节的工作半径。

步骤3具体包括以下步骤:

步骤3.1、确定鸟巢数量m、发现概率,鸟巢位置为随机生成的关节尺寸;

步骤3.2、将m组关节尺寸代入公式(5)-(10),计算得到灵巧度gci;

步骤3.3、判断m组关节尺寸是否满足公式(12)的约束条件;

步骤3.4、若关节的工作半径不满足约束条件,则该关节尺寸为劣质鸟巢位置,按照被发现的概率淘汰,并通过公式(4)产生新的关节尺寸;

步骤3.5、若关节的工作半径满足约束条件,则将公式(11)作为目标函数,采用改进的布谷鸟算法进行迭代以获得最优关节尺寸。

步骤3.5具体包括以下步骤:

步骤3.5.1、将当前关节尺寸代入公式(2)对关节尺寸进行更新;

步骤3.5.2、求解更新后关节尺寸的灵巧度,若更新后关节尺寸的灵巧度大于更新前关节尺寸的灵巧度,则用更新后的关节尺寸替换更新前的关节尺寸;

步骤3.5.3、按照进行迭代,直至满足目标函数,输出最优关节尺寸。

本发明的有益效果是:

本发明改进的布谷鸟算法,用自适应步长控制因子替换传统算法中固定的步长控制因子,在算法搜索前期使用较大的步长控制因子,能够快速在全局范围内发现优质解所在区域,随着迭代次数的增加,逐渐减小步长控制因子,加强对局部优质解区域的细致搜索,能提高算法的收敛速度和性能;本发明一种基于改进的布谷鸟算法优化机器人结构参数的方法,采用改进的布谷鸟算法,以全运动空间内运动学灵巧度为目标函数,搜索机器人的最优关节尺寸,能提高搜索深度和求解精度。

附图说明

图1是本发明一种改进的布谷鸟算法的流程图;

图2是本发明一种基于改进的布谷鸟算法优化机器人结构参数的方法的流程图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明一种改进的布谷鸟算法,在传统的布谷鸟算法进行改进,用自适应步长控制因子α(ti+1)替换原有固定的步长控制因子,如图1所示,包括以下步骤:

步骤1、初始化种群:设置鸟巢数量为m,维数为n,发现概率为pa,最大迭代次数为n,计算每个鸟巢位置(解)的适应度;

步骤2、通过莱维飞行公式对鸟巢位置进行更新:

上式中,表示第t代第i个鸟巢位置;α是步长控制因子,规定α取值范围为[0.01,0.5];

使α随着进化代数的增加而减小。在算法搜索前期使用较大的步长控制因子,能够快速在全局范围内发现优质解所在区域,随着迭代次数的增加,应逐渐减小步长控制因子,加强对局部优质解区域的细致搜索,这有利于提高算法的收敛速度和性能。综上所述,提出α的改进公式:

上式中,t为当前迭代次数与总迭代次数之比,αmin为步长控制因子的下限,αmax为步长控制因子的上限,tmax为最大迭代次数,ti为当前迭代次数;算法初始阶段t<0.35时,应该采用大步长进行全局搜索;算法中期可能达到最佳更新状态,即0.35≤t≤0.65,此时应在优质解所在区域进一步搜索,加强局部精细搜索,α保持不变;算法后期t>0.65,采用小步长进行精细搜索寻找最优值;

则改进后的莱维飞行公式为:

步骤3、求解通过步骤2更新后鸟巢位置的适应度,若更新后的适应度高于更新前的适应度,则用更新后的鸟巢位置替换更新前的鸟巢位置;

步骤4、根据发现概率随机淘汰步骤3得到的部分鸟巢位置,并通过偏好随机行走更新被淘汰的鸟巢位置,偏好随机游走的公式为:

其中γ~u(0,1),为第t代中的两个随机鸟巢位置;

步骤5、计算经过步骤4更新后鸟巢位置的适应度,并输出适应度最好的鸟巢位置;

步骤6、对步骤2-5进行迭代,并判断是否达到最大迭代次数或步骤5得到的适应度达到终止范围,若达到,则步骤5得到的鸟巢位置为最优解,否则进行下一次迭代。

本发明一种基于改进的布谷鸟算法优化机器人结构参数的方法,如图2所示,包括以下步骤:

步骤1、根据dh参数确定机器人第i个关节变换矩阵

上式中,a为两z轴的距离,d为两x轴的距离,α为两z轴的夹角,θ为为两x轴的夹角;a、d、α、θ均为关节尺寸;

将机器人每个关节的变换矩阵依次相乘得到机器人末端相对于基坐标的变换矩阵

根据工作空间的限制和工作任务的要求,采用实验法确定各关节的运动半径。

步骤2、采用微分变换法根据变换矩阵求取机器人雅可比矩阵j(q),雅可比矩阵j(q)的第i列如下:

对于转动关节i:

ji=((p×n)z(p×o)z(p×a)znzozaz)t(7);

对于移动关节i:

ji=(nzozaz000)t(8);

上式中,n,o,a,p是变换矩阵的四个列矢量;

雅可比矩阵的条件数能够表示灵巧度大小,则雅可比矩阵j(q)的条件数为:

上式中,σmax(j)、σmin(j)分别表示雅可比矩阵的最大奇异值、最小奇异值,条件数的范围为[1+∞],条件数越小,机器人的灵巧度越大,性能也越优异。

由于条件数只与机器人关节的转角和结构尺寸有关,反映了机器人在指定位姿下的运动能力,但不能反映在任务空间内的运动能力,对此提出了全域空间条件数均值(gci)这一指标,即对条件数在整个运动空间内取平均值,这一指标可以反映在整个运动空间内运动学灵巧度:

步骤3、采用改进的布谷鸟算法对每个关节尺寸进行优化,鸟巢位置为关节尺寸,鸟巢的位置在各关节尺寸的搜索空间随机生成;机器人关节尺寸会对机器人的灵巧度产生影响,为使机器人满足打磨过程的工作空间需求,将灵巧度作为目标函数。由于只对关节尺寸进行优化,机器人的结构不发生改变,关节尺寸影响机器人到达的最远距离,所以使工作半径作为约束条件,目标函数为:

目标函数为:

min(gci)(11);

约束条件为:

rmin<r<rmax(12);

上式中,r为工作半径。

步骤3.1、确定鸟巢数量m、发现概率,鸟巢位置为随机生成的关节尺寸;

步骤3.2、将m组关节尺寸代入公式(5)-(10),计算得到灵巧度gci;

步骤3.3、判断m组关节尺寸是否满足公式(12)的约束条件;

步骤3.4、若关节的工作半径不满足约束条件,则该关节尺寸为劣质鸟巢位置,按照被发现的概率淘汰,并通过公式(4)产生新的关节尺寸;

步骤3.5、若关节的工作半径满足约束条件,则将公式(11)作为目标函数,采用改进的布谷鸟算法进行迭代以获得最优关节尺寸。

步骤3.5具体包括以下步骤:

步骤3.5.1、将当前关节尺寸代入公式(2)对关节尺寸进行更新;

步骤3.5.2、求解更新后关节尺寸的灵巧度,若更新后关节尺寸的灵巧度大于更新前关节尺寸的灵巧度,则用更新后的关节尺寸替换更新前的关节尺寸;

步骤3.5.3、按照进行迭代,直至满足目标函数,输出最优关节尺寸。

通过以上方式,本发明改进的布谷鸟算法,用自适应步长控制因子替换传统算法中固定的步长控制因子,在算法搜索前期使用较大的步长控制因子,能够快速在全局范围内发现优质解所在区域,随着迭代次数的增加,逐渐减小步长控制因子,加强对局部优质解区域的细致搜索,能提高算法的收敛速度和性能;本发明一种基于改进的布谷鸟算法优化机器人结构参数的方法,采用改进的布谷鸟算法,以全运动空间内运动学灵巧度为目标函数,搜索机器人的最优关节尺寸,能提高搜索深度和求解精度。

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