1 简介

移动机器人路径规划一直是一个比较热门的话题,A星算法以及其扩展性算法被广范地应用于求解移动机器人的最优路径.该文在研究机器人路径规划算法中,详细阐述了传统A星算法的基本原理,并通过栅格法分割了机器人路径规划区域,利用MATLAB仿真平台生成了机器人二维路径仿真地图对其进行仿真实验,并对结果进行分析和研究,为今后进一步的研究提供经验.

【机器人栅格地图】基于A星算法实现机器人复杂栅格地图路径规划附matlab代码_路径规划

2 部分代码

clear;clc;
close all
disp('A*开始搜索路径......')
%% 画一个方形地图
map.XYMAX=50; % 地图尺寸
map.start=[5,1]; % 起点坐标
map.goal=[45,45]; % 终点坐标
genGrid(map); % 绘制地图
hold on;
obstacle = GetBoundary(map); %边界数据
nObstacle = 60; %在地图中随机加入XX个障碍物
obstacle = GetObstacle(nObstacle,obstacle,map);%障碍物和边界坐标
obstacle = [obstacle;10 4;10 5;10 6;10 7;10 8];
obstacle = [obstacle;11 4;11 5;11 6;11 7;11 8];
obstacle = [obstacle;12 4;12 5;12 6;12 7;12 8];
obstacle = [obstacle;13 4;13 5;13 6;13 7;13 8];
obstacle = [obstacle;20 20;20 19;20 18;20 17;];
obstacle = [obstacle;25 20;25 19;25 18;25 17;25 16;25 15;25 14;25 13;25 21;25 22;25 23;25 24;25 25;25 26;25 28;25 27];
obstacle = [obstacle;25 29;25 30;25 31;25 32;25 33;25 34;25 38];
%% 画出障碍点
fillPlot(obstacle,[0 0 0]);
%% 调用算法画出路径
path=AStar(obstacle,map);%A*算法
if length(path)>=1
plot(path(:,1),path(:,2),'Color','y','LineWidth',2);
end

3 仿真结果

【机器人栅格地图】基于A星算法实现机器人复杂栅格地图路径规划附matlab代码_移动机器人_02

4 参考文献

[1]周宇杭, 王文明, 李泽彬,等. 基于A星算法的移动机器人路径规划应用研究[J]. 电脑知识与技术:学术版, 2020, 16(13):4.

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

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


【机器人栅格地图】基于A星算法实现机器人复杂栅格地图路径规划附matlab代码_matlab代码_03