一种基于改进遗传算法的移动机器人路径规划方法与流程

文档序号:22541504发布日期:2020-10-17 02:03阅读:132来源:国知局
一种基于改进遗传算法的移动机器人路径规划方法与流程

本发明涉及机器人领域,特别涉及一种基于改进遗传算法的移动机器人路径规划方法。



背景技术:

移动机器人可通过人类的设计规划,使其替代人类进行一些危险复杂的工作。因此移动机器人的路径规划在机器人技术中显得尤为重要。近年来,国内外学者提出了多种算法用于解决移动机器人路径规划的问题,包括遗传算法、粒子群算法、人工势场法、蚁群算法等。其中,粒子群算法能实现快速收敛但可能陷入停滞;人工势场法计算较为简单,但可能抵达不了目标点;蚁群算法具有很强的鲁棒性但易陷入局部最优解。其中,遗传算法具有全局搜索的能力,然而陷入局部最优、收敛速度慢,优化稳定性差是其不可忽视的缺点。



技术实现要素:

本发明解决的技术问题是:提高移动机器人在路径规划中的能力,解决其存在的不足。

为了解决上述问题,本发明的技术解决方案提出了一种基于改进遗传算法的移动机器人路径规划,包括以下步骤:

步骤1:在栅格地图中对机器人工作空间进行环境建模;

步骤2:初始化算法参数及种群;

步骤3:计算个体适应度值;

步骤4:判断进化次数是否达到最大,若是,输出种群中的最优解,算法结束,否则转至步骤5;

步骤5:利用轮盘赌法选择父代个体;

步骤6:进行精英保留策略,即在进行轮盘赌选择时,将最优个体保留至下一代,继续进行交叉变异操作;

步骤:7:生成一个(0,1)之间的随机数,判断是否满足动态变化的交叉概率pc,若满足转至步骤8,否则转至步骤9;

步骤8:对种群进行交叉操作,生成新的个体;

步骤9:生成一个(0,1)之间的随机数,判断是否满足动态变化的变异概率pm,若满足转至步骤10,否则转至步骤11;

步骤10:对种群进行变异操作,生成新的个体;

步骤11:生成新一代种群,进化次数加一,转至步骤4。

进一步的,在所述步骤2中包括如下步骤:

步骤2.1:初始化各项参数,将机器人置于初始位置;

步骤2.2:判断栅格是否连续,若不连续则用障碍物附近的自由栅格予以填补,连接成可行路径,其判断方法为:

δ=max{abs(xi+1-xi),abs(yi+1-yi)}

式中(xi,yi),(xi+1,yi+1)为两栅格对应的坐标;abs,max表示绝对值和最大值;当δ=1时,表示两栅格连续,否则,通过平均值法插入栅格,其计算方法为:

步骤2.3:若pi’序号栅格附近均为障碍物栅格,则淘汰此条路径,重复上述步骤直至生成一条可行路径,

步骤2.4:当所有个体搜寻完毕时结束。

进一步的,在所述步骤3中,适应度值通过适应度函数计算得到,适应度函数由路径长度函数及平滑度函数组成,其计算方法为:

fit=a×fit1+b×fit2

式中,fit1为长度函数,fit2为平滑度函数,a、b分别为二者权重,计算方法为:

式中,length为路径总长度,end为机器人行走步数,

式中,θ表示机器人在行进过程中转弯角度的大小,利用余弦函数判断其大小,对应给钝角、直角、锐角给予5、30、1000的惩罚。

进一步的,在所述步骤7中的交叉操作中设有自适应调节的交叉概率计算公式,其计算方法为:

式中,pc(i)表示交叉概率,i表示当前进化代数,mg表示最大进化代数。

进一步的,在所述步骤9中的变异操作中设有自适应调节的变异概率计算公式,其计算方法为:

式中,pm(i)表示变异概率pm_max表示变异概率的上限

有益效果:本发明与现有技术相比:应用于移动机器人路径规划时不仅增强了其寻找最优解的能力,减少了转弯次数;增加种群多样性,避免陷入局部最优,加快了收敛速度。

附图说明

图1是本发明的基于改进遗传算法的移动机器人路径规划方法流程图;

图2是基本遗传算法的路径仿真;

图3是基本遗传算法的收敛曲线;

图4是本发明的改进遗传算法的路径仿真;

图5是本发明的改进遗传算法的收敛曲线。

具体实施方式

现结合附图对本发明的具体实施方式做进一步详细的说明。为了本领域技术人员可以更好地了解本发明的实施,本发明还提供了利用matlab2018a软件进行机器人路径规划的仿真验证结果。

本发明提出的一种基于改进遗传算法的移动机器人路径规划方法如图1所示,包括以下步骤:

步骤1:运用栅格法对机器人工作空间进行环境建模;

步骤2:初始化算法参数及种群;

步骤3:计算种群适应度值。在步骤3中,本申请在适应度函数中增加了带惩罚项的平滑度函数,一定程度上减少了机器人拐弯次数,同时提升了机器人的安全性。

步骤4:判断进化次数是否达到最大,若是,输出种群中的最优解,算法结束,否则转至步骤5;

步骤5:利用轮盘赌法选择父代个体;

步骤6:进行精英保留策略,即在进行轮盘赌选择时,将最优个体保留至下一代,继续进行交叉变异操作;

步骤7:生成一个(0,1)之间的随机数,判断是否满足动态变化的交叉概率pc,若满足转至步骤8,否则转至步骤9;基本遗传算法中,交叉概率和变异概率在整个进化过程中固定不变,不利于增加种群的多样性,因此在步骤7和步骤9中,本申请提出了一种随进化次数而改变的自适应交叉概率公式和变异概率公式,交叉概率计算公式如下:

步骤8:对种群进行交叉操作,生成新的个体;

步骤9:生成一个(0,1)之间的随机数,判断是否满足动态变化的变异概率pm,若满足转至步骤10,否则转至步骤11;在步骤9中,本申请提出了一种随进化次数而改变的自适应交叉概率公式,计算公式如下:

为了避免算法陷入随机搜索,对变异概率设置上限pm_max。

自适应变化的交叉概率、变异概率增加了种群的多样性,提高了算法收敛速度。

步骤10:对种群进行变异操作,生成新的个体;

步骤11:生成新一代种群,进化次数加一,转至步骤4。

为了验证本方法的正确性和有效性,用matlab2018a软件在20×20的栅格地图中进行仿真实验,与基本遗传算法进行对比。在基本遗传算法中,设置算法的主要参数:种群规模为100,交叉概率pc为0.8,变异概率pm为0.1,最大进化代数为100;在改进遗传算法中,种群规模为100,初始交叉概率pc为0.9,变异概率pm为0.01,最大进化代数为100,pm_max为0.3,权重系数a、b分别取1和7。

基本遗传算法和改进遗传算法的最优解及收敛曲线分别如图3和5所示。从图中可以看出,基本遗传算法在进化30次时陷入了局部最优解,最终搜索到的路径长度为29.8。改进遗传算法收敛速度大幅提高,在进化17次时搜索到最优路径长度为29.8,该解为机器人路径长度的最优值。在基本遗传算法中机器人进行了13次转弯,转弯次数较多;本文算法中机器人仅进行了7次转弯,大大较少了转弯次数,提升了机器人的安全性。

上述值为机器人运行一次的仿真结果,为了避免随机性对算法性能的影响,对两种算法分别进行10次仿真运算,将结果记录于表1。通过对比可得出如下结论:从路径长度上看,改进遗传算法每次都能收敛于最优解,而基本遗传算法有时会陷入次优解;从收敛速度上看,改进遗传算法相较于基本遗传算法大幅提高,且转弯次数大幅降低,证明了本发明所提算法的正确性及有效性。

表1两种算法独立运行10次的结果比较

本发明未详细说明部分都属于领域技术人员公知常识,以上所述仅为本发明的一个具体实施例,并不用以限制本发明,只要在本发明的方法构思和技术方案上所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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