




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
欢迎访问GreenSim团队主页/greensim 邮箱:基于遗传算法的机器人路径规划MATLAB源代码基本思路是:取各障碍物顶点连线的中点为路径点,相互连接各路径点,将机器人移动的起点和终点限制在各路径点上,利用最短路径算法来求网络图的最短路径,找到从起点P1到终点Pn的最短路径。上述算法使用了连接线中点的条件,因此不是整个规划空间的最优路径,然后利用遗传算法对找到的最短路径各个路径点Pi (i=1,2,n)调整,让各路径点在相应障碍物端点连线上滑动,利用Pi= Pi1+ti(Pi2-Pi1)(ti0,1 i=1,2,n)即可确定相应的Pi,即为新的路径点,连接此路径点为最优路径。function L1,XY1,L2,XY2=JQRLJGH(XX,YY)% 基于Dijkstra和遗传算法的机器人路径规划% GreenSim团队专业级算法设计&代写程序% 欢迎访问GreenSim团队主页/greensim%输入参数在函数体内部定义%输出参数为% L1 由Dijkstra算法得出的最短路径长度% XY1 由Dijkstra算法得出的最短路径经过节点的坐标% L2 由遗传算法得出的最短路径长度% XY2 由遗传算法得出的最短路径经过节点的坐标%程序输出的图片有% Fig1 环境地图(包括:边界、障碍物、障碍物顶点之间的连线、Dijkstra的网络图结构)% Fig2 由Dijkstra算法得到的最短路径% Fig3 由遗传算法得到的最短路径% Fig4 遗传算法的收敛曲线(迄今为止找到的最优解、种群平均适应值)% 画Fig1figure(1);PlotGraph;title(地形图及网络拓扑结构)PD=inf*ones(26,26);for i=1:26 for j=1:26 if D(i,j)=1 x1=XY(i,5); y1=XY(i,6); x2=XY(j,5); y2=XY(j,6); dist=(x1-x2)2+(y1-y2)2)0.5; PD(i,j)=dist; end endend% 调用最短路算法求最短路s=1;%出发点t=26;%目标点L,R=ZuiDuanLu(PD,s,t);L1=L(end);XY1=XY(R,5:6);% 绘制由最短路算法得到的最短路径figure(2);PlotGraph;hold onfor i=1:(length(R)-1) x1=XY1(i,1); y1=XY1(i,2); x2=XY1(i+1,1); y2=XY1(i+1,2); plot(x1,x2,y1,y2,k); hold onendtitle(由Dijkstra算法得到的初始路径)% 使用遗传算法进一步寻找最短路%第一步:变量初始化M=50;%进化代数设置N=20;%种群规模设置Pm=0.3;%变异概率设置LC1=zeros(1,M);LC2=zeros(1,M);Yp=L1;%第二步:随机产生初始种群X1=XY(R,1);Y1=XY(R,2);X2=XY(R,3);Y2=XY(R,4);for i=1:N farmi=rand(1,aaa);end% 以下是进化迭代过程counter=0;%设置迭代计数器while counterM%停止条件为达到最大迭代次数 % 第三步:交叉 %交叉采用双亲双子单点交叉 newfarm=cell(1,2*N);%用于存储子代的细胞结构 Ser=randperm(N);%两两随机配对的配对表 A=farmSer(1);%取出父代A B=farmSer(2);%取出父代B P0=unidrnd(aaa-1);%随机选择交叉点 a=A(:,1:P0),B(:,(P0+1):end);%产生子代a b=B(:,1:P0),A(:,(P0+1):end);%产生子代b newfarm2*N-1=a;%加入子代种群 newfarm2*N=b; for i=1:(N-1) A=farmSer(i); B=farmSer(i+1); newfarm2*i=b; end FARM=farm,newfarm;%新旧种群合并 % 第四步:选择复制 SER=randperm(2*N); FITNESS=zeros(1,2*N); fitness=zeros(1,N); for i=1:(2*N) PP=FARMi; FITNESS(i)=MinFun(PP,X1,X2,Y1,Y2);%调用目标函数 end for i=1:N f1=FITNESS(SER(2*i-1); f2=FITNESS(SER(2*i); if f1=f2 else farmi=FARMSER(2*i); fitness(i)=FITNESS(SER(2*i); end end %记录最佳个体和收敛曲线 minfitness=min(fitness); meanfitness=mean(fitness); if minfitnessrand&pos(1)=i AA=farmi; AA(POS)=rand; farmi=AA; end end counter=counter+1; disp(counter);end% 输出遗传算法的优化结果PPP=0.5,Xp,0.5;PPPP=1-PPP;X=PPP.*X1+PPPP.*X2;Y=PPP.*Y1+PPPP.*Y2;XY2=X,Y;L2=Yp;% 绘制Fig3figure(8)PlotGraph;hold onhold onfor i=1:(length(R)-1) x1=XY1(i,1); y1=XY1(i,2); x2=XY1(i+1,1); y2=XY1(i+1,2); plot(x1,x2,y1,y2,k,LineWidth,1); hold onendfor i=1:(length(R)-1) x1=XY2(i,1); y1=XY2(i,2); x2=XY2(i+1,1); y2=XY2(i+1,2); plot(x1,x2,y1,y2,k); hold onendtitle(遗传算法最终结果)figure(9)PlotGraph;hold onfor i=1:(length(R)-1) x1=XY1(i,1); y1=XY1(i,2); x2=XY1(i+1,1); y2=XY1(i+1,2); plot(x1,x2,y1,y2,k,LineWidth,1); hold onendhold onfor i=1:(length(R)-1) x1=XY2(i,1); y1=XY2(i,2); x2=XY2(i+1,1); y2=XY2(i+1,2);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园校外安全教育班会
- 在校园的安全教育
- 水管空气打压施工方案
- 酒店厨房设备安装工程方案
- 政治期末考试题及答案
- 世界建筑节活动方案设计
- 税务局出口退税出口货物劳务专项税务合规合同
- 真题二建考试题zhent及答案
- 离婚抚养权协议书范本两份
- 机关单位食堂承包与智慧食堂建设协议
- 燃料电池催化剂研究报告
- 2025年化妆品代理合同范本模板
- 2025年江苏省农垦集团有限公司人员招聘笔试备考及参考答案详解
- 2025至2030年中国粗杂粮及粗杂粮加工行业市场调研分析及投资战略咨询报告
- 军用无人机讲解课件
- 2025年中国移动校园招聘笔试试题解析及答题技巧
- 长宏国际安全知识培训课件
- 2025-2026学年地质版(2024)小学体育与健康三年级(全一册)教学设计(附目录P123)
- 项目四旅游电子商务网络营销92课件
- 电缆桥架设备知识培训课件
- 快乐的牛仔课件
评论
0/150
提交评论