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.