1 简介
移动机器人路径规划一直是一个比较热门的话题,A星算法以及其扩展性算法被广范地应用于求解移动机器人的最优路径。
2 部分代码
function OptimalPath_2=Eliminate_inflection_point( OptimalPath,MAP )
%消除多余拐点
path = OptimalPath;
len = size(path,1);
% startX = OptimalPath(1,2);
% startY = OptimalPath(1,1);
% endX = OptimalPath(len,2);
% endY = OptimalPath(len,1);
i=len;
while(i>=1)
for j=1:1:i-2
p_i_x = path(i,2);
p_i_y = path(i,1);
p_j_x = path(j,2);
p_j_y = path(j,1);
flag = hasBarrier(p_i_x,p_i_y,p_j_x,p_j_y,MAP);
if(flag == false)
for k=i-1:-1:j+1
path(k,:)=[]; %删除两点之间所有的点 第k行
end
len = size(path,1);
break;
end
end
if(flag == false)
i=j;
else
i=i-1;
end
end
% for i=len:-1:1
% for j=1:1:i-2
% p_i_x = path(i,2);
% p_i_y = path(i,1);
% p_j_x = path(j,2);
% p_j_y = path(j,1);
% flag = hasBarrier(p_i_x,p_i_y,p_j_x,p_j_y,MAP);
% if(flag == false)
% for k=i-1:-1:j+1
% path(k,:)=[]; %删除两点之间所有的点 第k行
% end
% i=j;
% len = size(path,1);
% break;
% end
% end
%
% end
OptimalPath_2=path;
end
3 仿真结果
4 参考文献
[1]周宇杭等. "基于A星算法的移动机器人路径规划应用研究." 电脑知识与技术:学术版 16.13(2020):4.
5 MATLAB代码与数据下载地址
见博客主页