路径规划入门学习之随机生成栅格地图
前言
机器人的路径规划问题是运动规划中的一个重要问题,具有广泛的应用价值和研究价值。本人从今天开始学习机器人的路径规划问题,写文章用于记录学习的过程和遇到的一些问题,也希望能得到一些大佬的指点,大家共同进步。
一、栅格地图
栅格地图是机器人路径规划问题中一种常用的地图建模方法,就是将场景内的所有事物进行二值化处理,障碍物为1,非障碍物为0。
栅格地图实质上是将移动机器人的工作环境进行单元分割,将其用大小相等的方块表示出来,这样栅格大小的选取是影响规划算法性能的一个很重要的因素。栅格较小的话,栅格地图中的环境信息会非常清晰,但会增大信息存储量,干扰信号也会随之增加,规划速度会相应降低,实时性得不到保证;反之,由于信息量少,抗干扰能力有所增强,规划速度随之增快,但环境信息会变得模糊,不利于有效路径的规划。
二、随机生成栅格地图
1.随机数创建m*n矩阵地图
使用随机数生成mn矩阵,这里以2020矩阵地图为例。
%随机数创建栅格地图(20*20),大于0.8为1
Map=rand(20)>0.8;
2.完整代码
使用随机数生成20*20矩阵地图。
%% 随机创建栅格地图的方法
function grid_map
Map=rand(20)>0.8;%随机数创建栅格地图(20*20),大于0.8为1
[rows,cols]=size(Map);
figure(1);
axis([0 rows 0 cols]);
axis image;
axis ij;
set(gca,'xtick',1:1:rows,'ytick',1:1:cols);
set(gca,'GridLineStyle','-','xGrid','on','yGrid','on');
hold on
%对为1的栅格填充颜色
for i=1:rows%行
for j=1:cols%列
if Map(i,j)==1
row=j-1;
col=i-1;
fill([row row+1 row+1 row],[col col col+1 col+1],[1 0.1 0.6]);%栅格四个顶点的横坐标、纵坐标和颜色
end
end
end
end
3. 所生成的地图
总结
这篇博文是路径规划算法学习的一个前期准备工作,后面还会陆续更新一些学习路径规划算法的博文,期待大家的点评和指正。