资源简介
用matlab实现基于栅格地图的A星算法路径规划,代码中障碍物为任意障碍物。
代码片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% A* ALGORITHM
% 04-26-2005
% Vivian Paul
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%DEFINE THE 2-D MAP ARRAY
MAX_X=30;
MAX_Y=30;
MAX_VAL=10;
OPEN_COUNT=0;
CLOSED_COUNT=0;
%This array stores the coordinates of the map and the
%objects in each coordinate
MAP=2*(ones(MAX_XMAX_Y));
% Obtain Obstacle Target and Robot Position
% Initialize the MAP with input values
% Obstacle=-1Target = 0Robot=1Space=2
i=0;j=0;
x_val = 1;
y_val = 1;
axis([0 MAX_X0 MAX_Y])
set(gca‘xtick‘0:1:30‘ytick‘0:1:30‘GridLinestyle‘‘-‘...
‘xGrid‘‘on‘‘yGrid‘‘on‘)
%grid on;
hold on;
n=0;%Number of Obstacles
pause(1);
h=msgbox(‘Please Select the Target using the Left Mouse button‘);
uiwait(h5);
if ishandle(h) == 1
delete(h);
end
xlabel(‘Please Select the Target using the Left Mouse button‘‘Color‘‘black‘);
but=0;
while (but ~= 1) %Repeat until the Left button is not clicked
[xvalyvalbut]=ginput(1);
end
xval=floor(xval);
yval=floor(yval);
xTarget=xval;%X Coordinate of the Target
yTarget=yval;%Y Coordinate of the Target
MAP(xvalyval)=0;%Initialize MAP with location of the target
plot(xval+.5yval+.5‘gd‘);
text(xval+1yval+.5‘Target‘)
pause(2);
h=msgbox(‘Select Obstacles using the Left Mouse buttonto select the last obstacle use the Right button‘);
xlabel(‘Select Obstacles using the Left Mouse buttonto select the last obstacle use the Right button‘‘Color‘‘black‘);
uiwait(h10);
if ishandle(h) == 1
delete(h);
end
while but == 1
[xvalyvalbut] = ginput(1);
xval=floor(xval);
yval=floor(yval);
MAP(xvalyval)=-1;%Put on the closed list as well
plot(xval+.5yval+.5‘ro‘);
end%End of While loop
pause(1);
h=msgbox(‘Please Select the Vehicle initial position using the Left Mouse button‘);
uiwait(h5);
if ishandle(h) == 1
delete(h);
end
xlabel(‘Please Select the Vehicle initial position ‘‘Color‘‘black‘);
but=0;
while (but ~= 1) %Repeat until the Left button is not clicked
[xvalyvalbut]=ginput(1);
xval=floor(xval);
yval=floor(yval);
end
xStart=xval;%Starting Position
yStart=yval;%Starting Position
MAP(xvalyval)=1;
plot(xval+0.5yval+0.5‘bo‘);
text(xval+1yval+.5‘start‘)
%--------------------------------------------------------------------------
OPEN=[];
%--------------
% CLOSED=zeros(MAX_VAL2);
CLOSED=[];
%Put all obstacles on the Closed list
k=1;%Dummy counter
for i=1:MAX_X
for j=1:MAX_Y
if(MAP(ij) == -1)%障碍物为-1
CLOSED(k1)=i;
CLOSED(k2)=j;
k=k+1;
end
end
end
CLOSED_COUNT=size(CLOSED1);
%set the starting node as the first node
xNode=xval;
yNode=yval;
OPEN_COUNT=1;
path_cost=0;
goal_distance=distance(xNodeyNodexTargetyTarget);%目标距离并非路径长度
OPEN(OPEN_COUNT:)=insert_open(xNodeyNodexNodeyNodepath_costgoal_distancegoal_distance);
OPEN(OPEN_COU
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-19 09:28 A星代码(动态设置)+文档\
文件 372 2007-01-07 13:57 A星代码(动态设置)+文档\A.caa
文件 372 2007-01-07 13:59 A星代码(动态设置)+文档\A1.caa
文件 280122 2007-01-07 13:58 A星代码(动态设置)+文档\A_算法在矢量地图最优路径搜索中的应用_刘浩 (1).caj
文件 280122 2007-01-07 13:58 A星代码(动态设置)+文档\A_算法在矢量地图最优路径搜索中的应用_刘浩.caj
文件 244875 2007-01-07 13:59 A星代码(动态设置)+文档\A_算法改进算法及其应用_张仁平.caj
目录 0 2018-01-19 09:28 A星代码(动态设置)+文档\A星算法\
文件 7158 2017-05-19 16:09 A星代码(动态设置)+文档\A星算法\Axing.m
文件 156 2017-05-09 16:03 A星代码(动态设置)+文档\A星算法\distance.m
文件 1873 2017-05-03 17:16 A星代码(动态设置)+文档\A星算法\expand_array.m
文件 543 2017-05-03 17:16 A星代码(动态设置)+文档\A星算法\insert_open.m
文件 1060 2017-05-03 17:16 A星代码(动态设置)+文档\A星算法\min_fn.m
文件 208 2017-05-03 17:16 A星代码(动态设置)+文档\A星算法\node_index.m
文件 231797 2007-01-07 13:59 A星代码(动态设置)+文档\基于加权A_算法的服务型机器人路径规划_赵真明.caj
文件 686043 2007-01-07 13:58 A星代码(动态设置)+文档\基于平滑A_算法的移动机器人路径规划_王红卫.caj
- 上一篇:关于PID整定的matlab,m文件
- 下一篇:基于栅格地图的A-星算法路径规划
相关资源
- 基于栅格地图的A-星算法路径规划
- 关于PID整定的matlab,m文件
- 10分钟搞定matlabGUI.ppt
- 通信原理课程设计 课程设计 MATLA
- PCM编码器与PCM解码器的MATLAB实现及性
- 模糊神经网络的构建及MATLAB仿真
- 期末设计基于Criminisi算法的matlab实现
- MATLAB智能算法30个案例分析 源代码
- wuyufei_Turbo码matlab仿真.rar
-
基于MATLAB_Simuli
nk的扩频通信系统仿 - Image Deformation Using Moving Least Squaresma
- 通信系统仿真课后答案
- Matlab+R2008a+安装教程.pdf
- MATLAB仿真空调系统
- Duda《模式分类》第二版的Matlab源代码
- 超完整规范的多目标遗传优化算法M
- Matlab优化算法.pdf
- matlab动力学分析程序详解
- 车牌识别MATLAB程序
- 基于蚁群算法和神经网络匹配算法的
- MapleToolboxforMATLAB-MapleToolboxforMATLAB操作
- MapleToolboxforMATLAB-Maple Toolbox for MATLAB演
- matlab开发-Image2Data
- MATLAB条形码识别GUI版.zip
- LSB算法水印安全性测试及MATLAB实现
- 语音信号处理MATLAB程序
- 常用正则化方法matlab代码及说明
- MATLAB图像数字水印方案毕业论文论文
- matlab的说话人识别
- 基于matlab的车牌识别.
评论
共有 条评论