移动机器人的避障问题是移动机器人控制领域的研究热点.针对给定的移动机器人避障问题,探讨了最短路径及最短时间路径的路径规划问题.对于最短路径问题,建立了简化的路径网格模型,将其抽象为由节点及边构成的两维图,再使用经典的Dijkstra算法获得可行的最短路径.对于最短时间路径问题,通过分析移动机器人弯道运行的速度曲线,基于几何方法得出了移动时间与过渡圆弧圆心之间严格的数学关系,此后借助MATLAB优化函数获得最佳的移动路径.算法可为类似机器人避障问题的解决提供借鉴.
%%
clear;
clc;
figure(1);
clf;
cmap = [
0 0 0; % 0 - black - 障碍
1 1 1; % 1 - white - 空地
1 0 0; % 2 - red - 已搜索过的地方
0 0 1; % 3 - blue - 下次搜索备选中心
0 1 0; % 4 - green - 起始点/终点
1 1 0];% 5 - yellow - 到目标点的路径
colormap(cmap);
fid = 'map.bmp';
tic;
map = int8(imbinarize(imread(fid)));
% image(map);
%% 参数设置
startPt = [5, 5];
endPt = [48, 48];
H = inf