- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB 源码遗传算法的栅格法机器人
路径规划实现(复制源码可直接运行)
新建一个脚本,将源码复制进去,可以直接运行。
Figure 1
文件(E) 编辑(E) 查看(Y) 插入(I) 工具(I) 桌面(D) 窗口(W) 帮助(H)
X
N
台 口 田 国
路径长度 perlenth=1,persmooth=7的优化曲线图
路径长度
迭代次数 CSDN@ 千歌叹尽执夏
坐标y
坐标y
Figure 2
文件(F) 编辑(E) 查看(V) 插入(I) 工具(T) 桌面(D) 窗口(W) 帮助(H) Y
国
国
1234567891011121314151617181920
坐标x
%基于遗传算法的栅格法机器人路径规划的MATLAB 实现
clc;
clear;
%输入数据,即栅格地图
G=[00000000000000000000;
00100000000000000000;
00100011100000000000;
CSDn@ 干歌叹宋执夏
00000011100000000000;
00000011100000000000;
01110000000000000000;
01110011100000000000;
00000011101011000000;
01110000001011000000;
00000000000000000000;
00000001101111000000;
00000001100000000000;
00000000000111011110;
00000000001000000000;
00110000001111111110;
00110011101000000000;
00000011101000000110;
00000000000000100110;
00000000000000100000;
00000000000000000000];
p start =0;%起始序号
p end =399;%终止序号
NP =200;%种群数量
max gen =50;%最大进化代数
percross =0.8;%交叉概率
permutate =0.2;%变异概率
perlenth =1;%路径长度比重
persmooth =7;%路径顺滑度比重
%init path =[];
z =1;
new popl ={};%元胞类型数组,啥都可以存,类似C 语言中的结构
new pop2 ={};
[y,x]=size(G);% x =20,y =20, 行数和列数
%起点所在列(从左到右编号1.2.3...)
xstart =mod(p start, x)+1;
%起点所在行(从上到下编号行1.2.3...)
ystart =fix(p start / x)+1;
%终点所在列、行
xend =mod(p end,x)+1;% mod 函数取余函数,前除以后取余数
yend =fix(p end /x)+1;% fix 函数取整函数,四舍五入取整数
%种群初始化第一步,必经节点,从起始点所在行开始往上,在每行中挑选一个
自由栅格,构成必经节点
pass num = yend-ystart +1;%等于地图总共的行数,表示
pop =zeros(NP,pass num);% pop初始化置零,等于最大迭代次数*地图总行
数的矩阵,表示所有可能的路径
for globall i =1:NP
pop(global1 i,1)= p start;%循环NP 次,把起点放入pop 首列
globall j =1;
for global iyk = ystart+1:yend-1%除去起点和终点
globall j = globall j +1;
can =[];%每一行无障碍的点组成 can 数组
for global ixk =1:x
global ino =(global ixk -1)+(global iyk -1)* x;%给每个栅
格编序号
ifG(global iyk, global ixk)==0
can =[can global ino];%把无障碍的点加入 can 数组中
end
end
can num =length(can);% can 数组的长度
index =randi(can num);%产生随机的整数
pop(global1 i,global1 j)=can(index);% 每一行表示的一条路径中加入一个
无障碍的点
end
pop(global1 i,end)=
您可能关注的文档
- 中华优秀传统文化教学设计(山东教育出版社)六年级.docx
- 必威体育精装版的某市生活垃圾焚烧发电厂项目可行性研究报告(含全套图纸和财务报表.docx
- (发改委立项)年产24万吨氨纶投资项目可行性研究报告.docx
- (已瘦身)(中职)化工单元操作(1-7单元)完整版ppt课件全套电子教案.docx
- (必威体育精装版)生产线自动装箱系统的设计.docx
- 《包装设计》教案(2).docx
- 《飘》英文演讲介绍22页PPT.docx
- 《通信工程设计及概预算》教学课件汇总全书电子教案完整版幻灯片_1-520.docx
- 《中西方饮食文化差异》教学设计.docx
- 《醉翁亭记》中醉乐之美探究(论文范文).docx
文档评论(0)