本发明涉及人工智能技术领域,特别是涉及到一种基于蝗虫优化算法的机器人多目标路径规划。
背景技术:
作为一种新兴的智能算法,蝗虫优化算法的灵感来源于蝗虫的生命周期。蝗虫在自然界中是单独存在的,但它们被认为是自然界中最大的群体之一。这种生物的独特之处在于无论在幼虫期还是成年期都能看到蝗群的变化。幼虫期蝗虫群的主要特征是运动缓慢,步伐小。算法的搜索行为分为全局探索和局部开发两部分。在全局探索中,蝗虫群体向外跳跃,种群快速移动,有利于全局探索。但在局部开发中,蝗群往往行动缓慢并在小范围内运动,有利于局部搜索。这两种搜索以及对目标搜索都是由蝗虫群同时完成的。蝗虫优化算法(goa)在移动机器人导航问题中的应用符合移动机器人导航技术的趋势,因此申请人设计一种基于蝗虫优化算法的机器人多目标路径规划。
技术实现要素:
为了解决上述存在问题,本发明提供一种基于蝗虫优化算法的机器人多目标路径规划,通过将蝗虫优化算法运用于机器人多目标路径规划,从而解决移动机器人导航问题。
本发明提供一种基于蝗虫优化算法的机器人多目标路径规划,具体步骤如下:
1)初始化机器人目标种群的初始位置、种群规模及算法中的各参数,如:cmax、cmin、最大迭代次数;
2)计算机器人目标群每个搜索个体的适应度值,并找出当前全局最优解;
3)m=最优粒子;
4)使用引入了曲线自适应策略来改进参数c来更新参数c;
5)标准化区间在[1,4]的机器人目标之间的距离;
6)通过基本机器人目标优化算法更新当前粒子的位置;
7)修剪外部种群,为每个粒子选择全局最优位置;
8)计算并选择每个粒子的个体历史最优位置和种群最优位置进行比较;
9)将每个粒子的最优位置粒子存档,与m进行比较,更新最优粒子;
10)根据新的非支配解与已存档的非支配解的比较,更新外部存储ceph;
11)移动机器人绕开障碍物,选择距离目标最安全的点,输出最优轨迹。
作为本发明进一步改进,所述基本机器人目标优化算法,用以下数学模型来进行描述:
xi=si+gi+bi(1)
其中:xi是机器人目标群中第i只机器人目标的位置;si是第i只机器人目标的受到其他机器人目标的相互作用力的影响;gi是第i只机器人目标受到的重力作用的影响;bi是第i只机器人目标受到的风力作用的影响;
下面对机器人目标算法中更新行为用数学模型具体说明:
1)si的计算公式如式(2)所示:
其中:
s函数定义为机器人目标受到其他机器人目标的相互作用力的影响函数,公式如下:
sr=fe-r/l-e-r(3)
其中:f是吸引强度参数;l是吸引长度比例参数,机器人目标之间的相互作用分为吸引和排斥:
当sr>0时,机器人目标之间相互吸引,r的取值范围称为吸引区;
当sr=0时,机器人目标之间既不相互吸引也不相互排斥,r的取值范围称为舒适区,当r的取值过大时,sr≈0,但是此时r的取值并不是舒适域;
当sr<0时,机器人目标之间相互排斥,此时r的取值范围称为排斥区;
因此,不能将此函数应用于大距离机器人目标之间的强作用力;
2)gi值计算如下:
其中:g是引力常数;
3)bi的计算公式如下:
其中:u是漂移常数;
由于机器人目标到达舒适区的速度很快,机器人目标群无法收敛于目标位置,因此该数学模型不能直接用于求解优化问题,通过引入参数以区分不同阶段的寻优,更新机器人目标位置的数学模型如下:
其中:ubd、lbd分别是第i只机器人目标第d维变量的上边界和下边界,
作为本发明进一步改进,所述找出当前全局最优解方法如下:
首先,在工作空间中随机生成自由空间v(x,y),然后,找到起始位置sp(x,y)到目标位置tp(x,y)的无碰撞顶点的索引序列,在工作空间中,所选顶点的位置显示下一个顶点的索引vn(x,y),n∈[1,n+1],其中最终索引表示环境中的目标位置vn+1(x,y)=tp(x,y),计算初始位置sp0和目标位置tpn+1之间的路径长度,用于计算路径长度的函数如下:
其中:l(p)是路径的长度;d(spi,tpi+1)是spi和tpi+1之间的距离,初始位置和目标位置之间的距离分为n等分段,因此,计算d(spi,tpi+1)的值,如下所示:
利用三个目标函数对移动机器人进行路径规划,式(9)中函数f1(p)是用于查找起始位置和目标位置之间的最短路径,即欧几里得距离:
另一个目标函数f2(p)用来优化平滑路径。表示为在每次迭代中,将起始点和目标点连接起来,将其中所有的等分路线段上的点连接所形成的夹角的补角之和f2(p)越小,表示每个路径点的夹角就越大,路径就越平滑;
其中:ψi是两条直线之间的夹角(0<ψ<π);n是路径中的直线段数;
其中:k为安全系数;d表示路径到障碍物的最小距离,d值越大,f3(p)越小,安全性越高。
在多目标优化问题中,机器人路径规划可以看作是求解一个多目标,包括三个目标函数及以上,多维即等分线=维度数=n函数的多目标优化问题;
为了获得多目标优化最优解,使用pareto最优解决方案,pareto优势算子定义如下:
其中:
pareto数学定义如下:
可行解集由x中所有的可行解组成,记为
minf(p)=(f1(x),f2(x),…,fh(x))i=1,2,…,h;x∈[xl,xu](14)
其中:x是一组决策向量;f(p)是目标向量(f1,f2,…fn)∈y∈rh的目标函数;xl和xu分别是可行解集上限和下限的约束条件,满足约束形式的所有搜索粒子的决策空间的可行集合是λ={x∈rh|x∈[xl,xu]},正如前面所提到的,优化的目的是找到pareto最优解,f(p)是路径规划问题中的目标函数,具有三个不等式,分别为式(9)~(11),因此,式(9)~(11)可用多目标机器人目标优化算法最优数学公式来表示:
其中:
作为本发明进一步改进,引入了曲线自适应策略来改进参数c,包括,
1)引入了曲线自适应策略来改进参数c的控制方法,公式如下:
其中:cmax为最大值;cmin为最小值;l为当前迭代次数;l为最大迭代次数,式(16)是基本机器人目标群算法的c参数更新方程,该方程更新c参数采用线性方式,但是存在:机器人目标搜索初期c减小过快,而造成勘探不足;在搜索后期c减小过慢而造成开发不足,为了平衡种群搜索和开发,需要用c参数动态调整机器人目标群的勘探和开发,同时应减小与迭代次数成比例的舒适区,采用曲线自适应更新策略刚好弥补这一不足,式(15)中采用的是余弦自适应方式,余弦函数在开始和结束时下降速率小,余弦自适应调整参数c在前期的值比式(16)线性调整的值大,增加机器人目标的搜索能力,随着迭代次数的增加,搜索的效率提高,机器人目标群会朝目标位置附近收敛;后期c参数的比式(16)中的小,可以缩小机器人目标的搜索范围,增加机器人目标的局部搜索能力,这些特点使得在不陷入局部最优的情况下,极大地提高了算法的收敛速度;
2)添加外部储存ceph集来保存搜索过程中的非支配解。每次迭代过程对支配解集b进行位置更新,并对更新后的支配解集b与ceph中的粒子进行比较,若xi∈b,且xj∈ceph,使得xi支配xj,则删除xj,使xi加入a更新外部ceph,全局最优解从外部储存ceph中选出。具有最短和最光滑路径约束的多目标路径规划优化模型的主要目标是获得多目标pareto最优解,因此,根据决策空间可行解集λ和pareto最优解f(p*),mogoa的主要目的是确定通过确定保存在ceph中的pareto最优解集x的支配关系,若新的候选解优于当前解,则优胜劣汰,不断更新当前解和全局最优解。
本发明提供一种基于蝗虫优化算法的机器人多目标路径规划,是在含有静态障碍物的二维环境中获取机器人初始位置和目标位置之间的最优路径。由于蝗虫优化算法中每个蝗虫的位置更新是由自身当前位置、目标位置和其他蝗虫的位置共同决定。本设计使用多目标函数来生成初始位置到目标位置的无碰撞最优路径,这些函数表示了最优化变量的最短距离、最小能耗和最小时间的影响。所使用的目标函数通过连接初始位置和目标位置在配置空间中产生无碰撞路径。
附图说明
图1本发明算法流程图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述:
本发明提供一种基于蝗虫优化算法的机器人多目标路径规划,通过将蝗虫优化算法运用于机器人多目标路径规划,从而解决移动机器人导航问题。
作为本发明的一种实施例,本发明提供如图1所示的一种基于蝗虫优化算法的机器人多目标路径规划,具体步骤如下:
1)初始化机器人目标种群的初始位置、种群规模及算法中的各参数,如:cmax、cmin、最大迭代次数;
2)计算机器人目标群每个搜索个体的适应度值,并找出当前全局最优解;
所述找出当前全局最优解方法如下:
首先,在工作空间中随机生成自由空间v(x,y),然后,找到起始位置sp(x,y)到目标位置tp(x,y)的无碰撞顶点的索引序列,在工作空间中,所选顶点的位置显示下一个顶点的索引vn(x,y),n∈[1,n+1],其中最终索引表示环境中的目标位置vn+1(x,y)=tp(x,y),计算初始位置sp0和目标位置tpn+1之间的路径长度,用于计算路径长度的函数如下:
其中:l(p)是路径的长度;d(spi,tpi+1)是spi和tpi+1之间的距离,初始位置和目标位置之间的距离分为n等分段,因此,计算d(spi,tpi+1)的值,如下所示:
利用三个目标函数对移动机器人进行路径规划,式(9)中函数f1(p)是用于查找起始位置和目标位置之间的最短路径,即欧几里得距离:
另一个目标函数f2(p)用来优化平滑路径。表示为在每次迭代中,将起始点和目标点连接起来,将其中所有的等分路线段上的点连接所形成的夹角的补角之和f2(p)越小,表示每个路径点的夹角就越大,路径就越平滑;
其中:ψi是两条直线之间的夹角(0<ψ<π);n是路径中的直线段数;
其中:k为安全系数;d表示路径到障碍物的最小距离,d值越大,f3(p)越小,安全性越高。
在多目标优化问题中,机器人路径规划可以看作是求解一个多目标,包括三个目标函数及以上,多维即等分线=维度数=n函数的多目标优化问题;
为了获得多目标优化最优解,使用pareto最优解决方案,pareto优势算子定义如下:
其中:
pareto数学定义如下:
可行解集由x中所有的可行解组成,记为
minf(p)=(f1(x),f2(x),…,fh(x))i=1,2,…,h;x∈[xl,xu](14)
其中:x是一组决策向量;f(p)是目标向量(f1,f2,…fn)∈y∈rh的目标函数;xl和xu分别是可行解集上限和下限的约束条件,满足约束形式的所有搜索粒子的决策空间的可行集合是λ={x∈rh|x∈[xl,xu]},正如前面所提到的,优化的目的是找到pareto最优解,f(p)是路径规划问题中的目标函数,具有三个不等式,分别为式(9)~(11),因此,式(9)~(11)可用多目标机器人目标优化算法最优数学公式来表示:
其中:
3)m=最优粒子;
4)使用引入了曲线自适应策略来改进参数c来更新参数c;
引入了曲线自适应策略来改进参数c,包括,
1)引入了曲线自适应策略来改进参数c的控制方法,公式如下:
其中:cmax为最大值;cmin为最小值;l为当前迭代次数;l为最大迭代次数,式(16)是基本机器人目标群算法的c参数更新方程,该方程更新c参数采用线性方式,但是存在:机器人目标搜索初期c减小过快,而造成勘探不足;在搜索后期c减小过慢而造成开发不足,为了平衡种群搜索和开发,需要用c参数动态调整机器人目标群的勘探和开发,同时应减小与迭代次数成比例的舒适区,采用曲线自适应更新策略刚好弥补这一不足,式(15)中采用的是余弦自适应方式,余弦函数在开始和结束时下降速率小,余弦自适应调整参数c在前期的值比式(16)线性调整的值大,增加机器人目标的搜索能力,随着迭代次数的增加,搜索的效率提高,机器人目标群会朝目标位置附近收敛;后期c参数的比式(16)中的小,可以缩小机器人目标的搜索范围,增加机器人目标的局部搜索能力,这些特点使得在不陷入局部最优的情况下,极大地提高了算法的收敛速度;
2)添加外部储存ceph集来保存搜索过程中的非支配解。每次迭代过程对支配解集b进行位置更新,并对更新后的支配解集b与ceph中的粒子进行比较,若xi∈b,且xj∈ceph,使得xi支配xj,则删除xj,使xi加入a更新外部ceph,全局最优解从外部储存ceph中选出。具有最短和最光滑路径约束的多目标路径规划优化模型的主要目标是获得多目标pareto最优解,因此,根据决策空间可行解集λ和pareto最优解f(p*),mogoa的主要目的是确定通过确定保存在ceph中的pareto最优解集x的支配关系,若新的候选解优于当前解,则优胜劣汰,不断更新当前解和全局最优解。
5)标准化区间在[1,4]的机器人目标之间的距离;
6)通过基本机器人目标优化算法更新当前粒子的位置;
所述基本机器人目标优化算法,用以下数学模型来进行描述:
xi=si+gi+bi(1)
其中:xi是机器人目标群中第i只机器人目标的位置;si是第i只机器人目标的受到其他机器人目标的相互作用力的影响;gi是第i只机器人目标受到的重力作用的影响;bi是第i只机器人目标受到的风力作用的影响;
下面对机器人目标算法中更新行为用数学模型具体说明:
1)si的计算公式如式(2)所示:
其中:
s函数定义为机器人目标受到其他机器人目标的相互作用力的影响函数,公式如下:
sr=fe-r/l-e-r(3)
其中:f是吸引强度参数;l是吸引长度比例参数,机器人目标之间的相互作用分为吸引和排斥:
当sr>0时,机器人目标之间相互吸引,r的取值范围称为吸引区;
当sr=0时,机器人目标之间既不相互吸引也不相互排斥,r的取值范围称为舒适区,当r的取值过大时,sr≈0,但是此时r的取值并不是舒适域;
当sr<0时,机器人目标之间相互排斥,此时r的取值范围称为排斥区;
因此,不能将此函数应用于大距离机器人目标之间的强作用力;
2)gi值计算如下:
其中:g是引力常数;
3)bi的计算公式如下:
其中:u是漂移常数;
由于机器人目标到达舒适区的速度很快,机器人目标群无法收敛于目标位置,因此该数学模型不能直接用于求解优化问题,通过引入参数以区分不同阶段的寻优,更新机器人目标位置的数学模型如下:
其中:ubd、lbd分别是第i只机器人目标第d维变量的上边界和下边界,
7)修剪外部种群,为每个粒子选择全局最优位置;
8)计算并选择每个粒子的个体历史最优位置和种群最优位置进行比较;
9)将每个粒子的最优位置粒子存档,与m进行比较,更新最优粒子;
10)根据新的非支配解与已存档的非支配解的比较,更新外部存储ceph;
11)移动机器人绕开障碍物,选择距离目标最安全的点,输出最优轨迹。
本发明算法在多个障碍物且数目不同的环境中进行了性能和效率的测试如下:
第一个测试标准是最优解错误率(errorratioer),本申请使用一个标准来评估多目标优化算法的性能,测量解是否为实际pareto最优解的概率,er是评价帕累托最优解算法精度的一个很好指标。计算方法如下:
其中:m为pareto最优解的个数。当xi=0时,得到的解是pareto最优解;否则,xi=1。
第二个测试标注是最优解覆盖率scm(setcoveragemetric),计算公式如下:
其中:a和是目标空间中的两个非支配解,即覆盖率是b中的非支配解被a中非支配解覆盖的个数在b中所占比例;|b|表示集合b中元素的个数;
由式(19)可知,scm(a,b)∈[0,1]。scm(a,b)值越大,表示解集a覆盖解集b的程度越高,也就是说a优于b的程度也越高,当scm(a,b)>scm(b,a)时,表示解集a覆盖解集b的比例要小于解集b覆盖解集a的比例,说明解集a中的非支配解要优于解集b中的非支配解集。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作任何其他形式的限制,而依据本发明的技术实质所作的任何修改或等同变化,仍属于本发明所要求保护的范围。