1 简介

通过栅格法建立栅格地图作为机器人路径规划的工作环境,采用蚁群算法结合遗传算法作为机器人路径搜索的规则.将所有机器人放置于初始位置,经过NC次无碰撞迭代运动找到最优路径,到达目标位置.为防止机器人在路径搜索过程中没有达到最大迭代次时路径大小已不发生变化而陷入局部最优,则通过对各路径上的信息素进行增减来使机器人路径搜索跳出当前值,继续搜索,直到迭代完毕,获得最优路径.

【机器人栅格地图】基于蚁群优化遗传算法求解机器人栅格地图最短路径规划问题附Matlab源码_最优路径

【机器人栅格地图】基于蚁群优化遗传算法求解机器人栅格地图最短路径规划问题附Matlab源码_最优路径_02

【机器人栅格地图】基于蚁群优化遗传算法求解机器人栅格地图最短路径规划问题附Matlab源码_迭代_03

【机器人栅格地图】基于蚁群优化遗传算法求解机器人栅格地图最短路径规划问题附Matlab源码_栅格_04

【机器人栅格地图】基于蚁群优化遗传算法求解机器人栅格地图最短路径规划问题附Matlab源码_栅格_05

2 部分代码

function new_population_1=GenerateSmoothPath(path,G)  

  loong=size(path,2);

  for i=1:loong

      path1=path{i};

      long=size(path1,2);

      j=1;

      while j~=long-2

          [a1,b1]=position2rc(path1(j));

          [a3,b3]=position2rc(path1(j+2));

          if a1<a3

              if all(G(a1:a3,b1:b3)==0)% && all(G(a1:a3,b3)==0) && all(G(a1:a3,ceil((b1+b3)/2))==0)

                  path1(j+1)=[];

                  j=j-1;

              end

          else

              if all(G(a3:a1,b1:b3)==0)% && all(G(a3:a1,b3)==0) && all(G(a3:a1,ceil((b1+b3)/2))==0)

                  path1(j+1)=[];

                  j=j-1;

              end

          end

          j=j+1;

          long=size(path1,2);

      end

      new_population_1{i}=path1;

  end    

3 仿真结果

【机器人栅格地图】基于蚁群优化遗传算法求解机器人栅格地图最短路径规划问题附Matlab源码_最优路径_06

【机器人栅格地图】基于蚁群优化遗传算法求解机器人栅格地图最短路径规划问题附Matlab源码_栅格_07

4 参考文献

[1]周东健, 张兴国, 马海波,等. 基于栅格地图-蚁群算法的机器人最优路径规划[J]. 南通大学学报:自然科学版, 2013, 12(4):4.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【机器人栅格地图】基于蚁群优化遗传算法求解机器人栅格地图最短路径规划问题附Matlab源码_迭代_08