【路径规划】基于麻雀算法求解机器人栅格地图最短路径规划问题matlab代码
1 简介通过栅格法建立栅格地图作为机器人路径规划的工作环境,采用麻雀算法作为机器人路径搜索的规则。将所有机器人放置于初始位置,经过NC次无碰撞迭代运动找到最优路径,到达目标位置。为防止机器人在路径搜索过程中没有达到最大迭代次时路径大小已不发生变化而陷入局部最优,则通过对各路径上的信息素进行增减来使机器人路径搜索跳出当前值,继续搜索,直到迭代完毕,获得最优路径。麻雀搜索算法的思想来自于麻雀种群的觅食行为和反捕食行为可抽象为探索者-跟随者-预警者模型。探索者具有较高的能量储备适应度值高主要为跟随者提供觅食区域和方向。跟随者跟随适应度值最优的探索者寻找食物以获得自己的能量储备增加自身的适应度值。部分跟随者也可能不断地监视探索者从而争夺食物。预警者在意识到危险时会发出警报同时迅速向安全区域移动来获得更好的位置处于种群中间的麻雀则随机行走靠近别的麻雀即反捕食行为。同时若警报值大于安全阈值时探索者需要将所有的跟随者带离危险区域。2 部分代码function path1GenerateSmoothPath(path,G) path1path; longsize(path,1); i1; while i~long-2 a1path1(i,1); b1path1(i,2); a3path1(i2,1); b3path1(i2,2); if a1a3 if all(G(a1:a3,b1:b3)0)% all(G(a1:a3,b3)0) all(G(a1:a3,ceil((b1b3)/2))0) path1(i1,:)[]; ii-1; end else if all(G(a3:a1,b1:b3)0)% all(G(a3:a1,b3)0) all(G(a3:a1,ceil((b1b3)/2))0) path1(i1,:)[]; ii-1; end end ii1; longsize(path1,1); end3 仿真结果4 参考文献[1]周东健, 张兴国, 马海波,等. 基于栅格地图-蚁群算法的机器人最优路径规划[J]. 制造业自动化, 2014, 000(005):1-3,10.博主简介擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真相关matlab代码问题可私信交流。部分理论引用网络文献若有侵权联系博主删除。