1 简介

目前,随着智能机器人技术的发展,人们对移动机器人的导航,动态避障,路径规划等方面提出了更高的要求.移动机器人运动环境的多变性和复杂性,决定了移动机器人路径规划问题是机器人领域一个研究重点.路径规划作为移动机器人研究中的一个重要研究内容,它是移动机器人按照某一性能指标(如距离,时间,能量等)寻找一条从起始状态到目标状态无碰撞的最优或次最优路径,使之尽可能的平滑和安全.遗传算法是建立在自然选择和群体遗传学基础上的随机,迭代和进化过程,是路径规划研究领域中的一种十分有效地算法.本论文在结合目前多种路径规划方法优缺点的基础上,选择遗传算法来解决移动机器人的路径规划问题.论文在阐述移动机器人的研究状况和发展趋势的基础上,分析了目前移动机器人的路径规划方法,重点研究了基于遗传算法的移动机器人路径规划方法.主要内容有:首先,采用栅格建立地图的方法建立机器人的地图模型,并用序列号法进行编码以及用间断无障碍路径结合启发式方法产生遗传算法的初始种群;其次,选取路径最短设定适应度函数;最后,进行遗传操作,包含有:用轮赌盘方法进行选择,用重合点交叉法进行交叉,以一个较小的概率进行变异和交叉概率和变异概率方法等内容.论文是在静态环境下,对移动机器人进行的全局路径规划。

2 部分代码

clear all
clc
global d
d=[3,9,10,12,13,16,26,31,41,42,48,56,63,69,76,77,81,86,91,94];
G=100;
popsize=50;
poplength=18;
pc=1;
pm=1;
pop=initialize(popsize,poplength);
for i=1:G
    pop=crossover(pop,poplength,pc);
    pop=muate(pop,pm);
    pop=roulette(pop,popsize,poplength);
end
[a,b]=sort(pop(:,poplength+1));
bestroad=pop(b(popsize),:);
t=0;
for i=1:poplength
    if(bestroad(i)~=0)
        t=t+1;
    end
end
disp('Short Road is:');disp(bestroad(1:t))
disp('The Number is:');disp(t)
for i=1:11
    for j=1:11
        gx((i-1)*11+j)=j-1;
        gy((i-1)*11+j)=11-i;
    end
end
for i=1:10
    for j=1:10
        gbh((i-1)*10+j,:)=[(i-1)*11+j,(i-1)*11+j+1,i*11+j+1,i*11+j];
    end
end
hold on
for i=1:length(d)
    fill(gx(gbh(d(i)+1,:)),gy(gbh(d(i)+1,:)),'g')
end
for i=1:100
    plot(gx(gbh(i,1:2)),gy(gbh(i,1:2)))
    plot(gx(gbh(i,2:3)),gy(gbh(i,2:3)))
    plot(gx(gbh(i,3:4)),gy(gbh(i,3:4)))
    plot(gx(gbh(i,4:1)),gy(gbh(i,4:1)))
    text(sum(gx(gbh(i,:)))/4,sum(gy(gbh(i,:)))/4,...
        num2str(i-1),'Color','Blue','Fontsize',10)
end

for i=1:t
    ljx(i)=sum(gx(gbh((bestroad(i)+1),:)))/4;
    ljy(i)=sum(gy(gbh((bestroad(i)+1),:)))/4;
end
ljx=[0.5 ljx];
ljy=[9.5 ljy];
% plot(ljx,ljy,'linewidth',3)
for i=1:length(ljx)-1
    plot(ljx(i:i+1),ljy(i:i+1),'linewidth',3)
    pause(0.2)
end

3 仿真结果

遗传算法解决最短路径问题python 遗传算法解决路径规划_大数据

4 参考文献

[1]李亚杰. 基于遗传算法智能小车路径规划的研究[D]. 辽宁工程技术大学.

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