基于改进麻雀搜索算法的AMR自主移动机器人路径规划方法

文档序号:27907421发布日期:2021-12-11 05:59阅读:218来源:国知局
基于改进麻雀搜索算法的AMR自主移动机器人路径规划方法
基于改进麻雀搜索算法的amr自主移动机器人路径规划方法
技术领域
1.本发明属于机器人导航规划领域,具体涉及一种基于改进麻雀搜索算法的amr自主移动机器人路径规划方法。


背景技术:

2.amr自主移动机器人是一种无人驾驶物流搬运车,属于智能型amr自主移动机器人,在国家现代化建设进程中发挥着重要的作用。amr自主移动机器人可以按照上位机下达的指令,通过车载传感器确定位置与环境信息,并根据事先设计的程序,沿着规划的路线自动行驶并且在指定位置停靠,具有自动避障导航等功能,极大程度解放了劳动力,提高了运输效率。同时其较为完善的安全防护及导航避障功能搭配智能化的调度管理,使得工业物流运输的安全性和可靠性得到大大提高,而其中的路径规划功能是amr自主移动机器人在复杂环境下完成任务实现自主导航的核心支撑。
3.通常认为路径规划方法分为基于搜索的路径规划方法、基于采样的路径规划算法以及智能算法。基于搜索的路径规划,如dijkstra、a*及其经典的变体算法,如ara*、weighteda*、theta*、lazytheta*等,其本质都是在已经构建好的地图上,首先定义成本函数,然后搜索每个节点和边以找到成本最小路径,其核心在于启发式函数的设计,该类算法容易扩展许多具有相同代价的节点。而基于采样的路径规划算法,rrt、rrt*等,适合解决多自由度机器人在复杂环境下和动态环境中的路径规划。通过对状态空间进行采样,可以保证得到连接起始点与终点的可行解,但是由于采样过程是对整个空间进行不稳定采样,因此效率较低,在复杂场景下很难实时求解并且保证解的最优性。智能算法如禁忌搜索算法,粒子群优化、灰狼算法等往往需要大量时间进行迭代技术,实时性较差,通常与其他算法结合使用。其中基于搜索的路径规划方法由于导向性好,实时性较高,适合在低维的状态空间下使用,在amr自主移动机器人的工作环境中得到了广泛应用。但是现有基于搜索的算法仍存在在较大场景路径搜索内存消耗大、效率低、路径未考虑机器人执行难度等问题。


技术实现要素:

4.本发明的目的在于提供一种基于改进麻雀搜索算法的amr自主移动机器人路径规划方法,
5.为实现上述目的,本发明的技术方案是:一种基于改进麻雀搜索算法的amr自主移动机器人路径规划方法,amr自主移动机器人基于麻雀搜索算法采用模拟麻雀觅食的方式进行路径搜索,即麻雀种群从起点开始迭代搜索,到目标点结束搜索,其中,每一只麻雀经过的位置代表一条可能的轨迹,在觅食的过程中,麻雀分为探索者和追随者,探索者在种群中负责寻找食物并为整个麻雀种群提供觅食区域和方向,而追随者则是利用发现者来获取食物;麻雀个体的适应度即为目标函数值,通过对麻雀种群中探索者和追随者适应度的更新比较,得到麻雀种群的最优位置,不断迭代寻优后,返回的最优解即为所求最优轨迹。
6.在本发明一实施例中,所述方法包括以下步骤:
7.1)将二维环境地图分割成大小完全相同的赋有二进制的网格单元,每个栅格用n
ij
表示,每个栅格信息表示为:
[0008][0009]
其中,n
ij
=0时表示为当前栅格所处位置是无障碍物的自由空间;n
ij
=1时表示为当前栅格所处位置有障碍物;
[0010]
2)amr自主移动机器人在二维环境中作为质点存在且仅能向8个方向搜索移动,即上、下、左、右、左上、左下、右上和右下;假设每个栅格的边长都为1,则amr自主移动机器人单步移动距离都为1或
[0011]
3)获取路径的起点信息,初始化相关参数,生成初始种群并获取适应度较高的前n/2只麻雀的位置x
n/2
,同时通过反向学习获取适应度较高的前n/2只麻雀的对立点的位置产生新的初始种群对立点的位置计算规则描述为:
[0012][0013]
其中,lb为搜索空间的下边界,ub为搜索空间的上边界;
[0014]
4)获取当前最优和最差麻雀个体;
[0015]
5)更新麻雀位置并计算适应度;麻雀群体中分为探索者和追随者,探索者的位置更新如下:
[0016][0017]
其中,t为当前迭代,j=1,2,...,d,为i只麻雀第t代第j维的位置,α为[0,1]的随机数,t
max
为最大迭代次数,q为服从正态分布的随机数,l=[1,1,

,1]1×
d
,r2∈[0,1]为报警值,st∈[0.5,1.0]为报警阈值;当r2<st时,则麻雀周围没有危险,即没有障碍物栅格,探索者开始搜索;当r2≥st时,表示有麻雀发现危险,即有障碍物栅格,所有麻雀转移到安全区域;
[0018]
追随者通过监视探索者并跟随适应度较高的探索者获取食物,追随者的位置更新如下:
[0019][0020]
其中,为第(t+1)代探索者占据的最佳位置,为第t代种群中全局最差位置,a表示一个矩阵,矩阵中的每个元素随机分配1或

1,其计算方式如下:
[0021]
a
+
=a
t
(aa
t
)
‑1[0022]
在迭代寻优过程中,假设意识到危险的麻雀占麻雀总数的10%~20%,则对全体麻雀位置产生的的影响可以表示为:
[0023][0024]
其中,为第t代种群中的最佳位置,β为步长控制参数,服从均值为0、方差为1的正态分布,k为[0,1]的随机数,f
i
为麻雀当前位置的适应度,f
g
为全局最优适应度,f
w
为全局最差适应度,ε为不为零的极小值;
[0025]
6)根据适应度值判断是否更新全局最优位置;
[0026]
7)利用模拟退火算法中的metropolis准则判断是否接受新解,metropolis准则描述为:
[0027][0028]
其中,te为当前温度,x为当前麻雀位置,x'为候选的麻雀位置,通过比较p与区间[0,1]内的随机数,如果随机数大于p,放弃候选麻雀位置x',否则接收x';
[0029]
8)判断是否达到最大迭代次数,若满足,输出最优麻雀位置,形成搜索路径,若不满足,跳转至步骤4)。
[0030]
在本发明一实施例中,麻雀搜索算法搜索路径的代价函数即适应度函数为:
[0031][0032]
其中,n为麻雀经过的节点个数,length为麻雀在i+1栅格节点到i栅格节点的距离,当i+1栅格节点为障碍物栅格时,length=m,m为当前环境栅格总数;当i+1栅格节点为自由栅格时,则考虑amr自主移动机器人的运动方向,当方向为上、下、左、右时,length=1,当方向为左上、左下、右上、右下时,
[0033]
在本发明一实施例中,采用反向学习策略对麻雀种群位置进行更新,提高麻雀种群质量,从而减小麻雀个体的适应度值,缩短路径搜索时间。
[0034]
在本发明一实施例中,利用模拟退火算法中的metropolis准则判断是否接受新解,避免麻雀种群在寻优过程中产生停滞或陷入局部最优,提高其搜索能力。
[0035]
本发明还提供一种基于改进麻雀搜索算法的amr自主移动机器人路径规划系统,包括存储器、处理器以及存储于存储器上并能够被处理器运行的计算机程序指令,当处理器运行该计算机程序指令时,能够实现上述的方法步骤。
[0036]
相较于现有技术,本发明具有以下有益效果:
[0037]
本发明基于麻雀搜索算法,模拟麻雀觅食的方式,同时引入了反向学习策略和模拟退火算法中的metropolis准则,提高了amr自主移动机器人路径搜索能力,能够有效地跳出局部最优,稳定高效的规划出一条代价最优、满足约束的安全可行的amr自主移动机器人运动轨迹。
附图说明
[0038]
图1是本发明实施例amr自主移动机器人。
[0039]
图2是本发明实施例的运动方向图。
[0040]
图3是本发明实施例的方法实现流程图。
[0041]
图4是本发明实施例中现有方法与本方法的路径搜索效果比较图。
具体实施方式
[0042]
下面结合附图,对本发明的技术方案进行具体说明。
[0043]
应该指出,以下详细说明都是示例性的,旨在对本技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本技术所属技术领域的普通技术人员通常理解的相同含义。
[0044]
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0045]
本实施例提供了一种基于改进麻雀搜索算法的amr自主移动机器人路径规划方法,基于麻雀搜索算法,模拟麻雀觅食的方式进行路径搜索,每一只麻雀经过的位置代表一条可能的轨迹,在觅食的过程中,利用反向学习策略优化麻雀的初始种群,提高初始解的质量,增强算法的局部搜索能力;同时,混合模拟退火算法中的metropolis准则,判断是否接受新解,使算法能够跳出局部最优,加强全局搜索能力。麻雀分为探索者和追随者,探索者在种群中负责寻找食物并为整个麻雀种群提供觅食区域和方向,而追随者则是利用发现者来获取食物。麻雀个体的适应度即为目标函数值,通过对麻雀种群中探索者和追随者适应度的更新比较,得到麻雀种群的最优位置,不断迭代寻优后,返回的最优解即为所求最优轨迹。
[0046]
如图3所示,本发明实例的方法具体包括以下步骤:
[0047]
1)将二维环境地图分割成大小完全相同的赋有二进制的网格单元,每个栅格用n
ij
表示,每个栅格信息表示为:
[0048][0049]
其中,n
ij
=0时表示为当前栅格所处位置是无障碍物的自由空间;n
ij
=1时表示为当前栅格所处位置有障碍物;
[0050]
2)amr自主移动机器人(如图1所示)在二维环境中作为质点存在且仅能向8个方向搜索移动,即上、下、左、右、左上、左下、右上和右下;amr自主移动机器人移动方向如图2所示。假设每个栅格的边长都为1,则amr自主移动机器人单步移动距离都为1或
[0051]
3)获取路径的起点信息,初始化相关参数,生成初始种群并获取适应度较高的前n/2只麻雀的位置x
n/2
,同时通过反向学习获取适应度较高的前n/2只麻雀的对立点的位置产生新的初始种群对立点的位置计算规则描述为:
[0052]
[0053]
其中,lb为搜索空间的下边界,ub为搜索空间的上边界;
[0054]
4)获取当前最优和最差麻雀个体;
[0055]
5)更新麻雀位置并计算适应度;麻雀群体中分为探索者和追随者,探索者的位置更新如下:
[0056][0057]
其中,t为当前迭代,j=1,2,...,d,为i只麻雀第t代第j维的位置,α为[0,1]的随机数,t
max
为最大迭代次数,q为服从正态分布的随机数,l=[1,1,

,1]1×
d
,r2∈[0,1]为报警值,st∈[0.5,1.0]为报警阈值;当r2<st时,则麻雀周围没有危险,即没有障碍物栅格,探索者开始搜索;当r2≥st时,表示有麻雀发现危险,即有障碍物栅格,所有麻雀转移到安全区域;
[0058]
追随者通过监视探索者并跟随适应度较高的探索者获取食物,追随者的位置更新如下:
[0059][0060]
其中,为第(t+1)代探索者占据的最佳位置,为第t代种群中全局最差位置,a表示一个矩阵,矩阵中的每个元素随机分配1或

1,其计算方式如下:
[0061]
a
+
=a
t
(aa
t
)
‑1[0062]
在迭代寻优过程中,假设意识到危险的麻雀占麻雀总数的10%~20%,则对全体麻雀位置产生的的影响可以表示为:
[0063][0064]
其中,为第t代种群中的最佳位置,β为步长控制参数,服从均值为0、方差为1的正态分布,k为[0,1]的随机数,f
i
为麻雀当前位置的适应度,f
g
为全局最优适应度,f
w
为全局最差适应度,ε为不为零的极小值;
[0065]
6)根据适应度值判断是否更新全局最优位置;
[0066]
7)利用模拟退火算法中的metropolis准则判断是否接受新解,metropolis准则描述为:
[0067][0068]
其中,te为当前温度,x为当前麻雀位置,x'为候选的麻雀位置,通过比较p与区间
[0,1]内的随机数,如果随机数大于p,放弃候选麻雀位置x',否则接收x';
[0069]
8)判断是否达到最大迭代次数,若满足,输出最优麻雀位置,形成搜索路径,若不满足,跳转至步骤4)。
[0070]
在本发明一实施例中,麻雀搜索算法搜索路径的代价函数即适应度函数为:
[0071][0072]
其中,n为麻雀经过的节点个数,length为麻雀在i+1栅格节点到i栅格节点的距离,当i+1栅格节点为障碍物栅格时,length=m,m为当前环境栅格总数;当i+1栅格节点为自由栅格时,则考虑amr自主移动机器人的运动方向,当方向为上、下、左、右时,length=1,当方向为左上、左下、右上、右下时,
[0073]
麻雀搜索算法搜索路径的代价函数即适应度函数为:
[0074][0075]
其中,n为麻雀经过的节点个数,length为麻雀在i+1栅格节点到i栅格节点的距离,当i+1栅格节点为障碍物栅格时,length=m,m为当前环境栅格总数;当i+1栅格节点为自由栅格时,则考虑amr自主移动机器人的运动方向,根据图2,当方向为上、下、左、右时,length=1,当方向为左上、左下、右上、右下时,
[0076]
本发明还相应提供了一种基于改进麻雀搜索算法的amr自主移动机器人路径规划系统,包括存储器、处理器以及存储于存储器上并能够被处理器运行的计算机程序指令,当处理器运行该计算机程序指令时,能够实现上述的方法步骤。
[0077]
图4示出了本发明方法与现有的麻雀搜索搜索算法在路径搜索效果上的差别。图4(a)为麻雀搜索算法,图4(b)为本发明方法。从图4可以看出,相较于现有的麻雀搜索算法,本发明方法可以有效缩短搜索路径,进一步得到更优的路径规划。
[0078]
随着应用场景复杂性不断提升,对机器人路径规划方法的环境适应性要求也越来越高,与此同时,随着搜索空间的增加,需要搜索、以及储存的节点数也大大增加。本发明通过提高初始解的质量,增强算法的局部搜索能力,同时利用模拟退火算法中的metropolis准则,判断是否接受新解,使算法能够跳出局部最优,加强全局搜索能力。
[0079]
由于规划的路径是一系列折线路径,未考虑机器人运动学约束容易导致路径出现不必要的转向。为了解决该类现象,本发明引入了效率因子的概念,通过设计路径直线度的惩罚项,减少了不必要的扩展。
[0080]
现有的搜索算法最为人诟病的是精度越高,需要储存节点数据越多,在栅格地图进行路径搜索工作时,一旦地图尺寸偏大或者精度过高则需要维护大量节点造成性能浪费,而对于实际的机器人运动轨迹,算法获取的大多数节点并没有意义,繁杂的数据量反而给后期机器人执行任务带来了困扰。因此,本发明对获取的一系列路径轨迹节点,进行特征提取,减少因储存与维护导致的算法效率低下,同时为后续优化机器人实际运动轨迹,提供关键节点。
[0081]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0082]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0083]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0084]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0085]
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1