基于栅格地图的机器人路径规划算法笔记

本文介绍了栅格地图在机器人路径规划中的应用,包括其与尺度地图、拓扑地图的区别以及语义地图的特性。通过MATLAB演示了如何创建自定义颜色的栅格地图,并设置障碍物、起点和终点,以及如何使用image函数进行显示。同时,文章探讨了基于栅格地图的路径规划优势,特别是在低速和中高速机器人路径规划中的适用性。
摘要由CSDN通过智能技术生成

在这里插入图片描述
尺度地图:具有真实的物理尺寸,如栅格地图、特征地图、点云地图,常用于地图构建、定位、slam、小规模路径规划。
拓扑地图:不具备真实的物理尺寸,只表示不同地点的联通关系和距离,如铁路网。
语义地图:加标签的尺度地图,常用于人机交互。
栅格地图用于路径规划的优势:
1、可以将任意形状轮廓的地图,用足够精细的栅格进行绘制。
2、每一个栅格,可以通过不同的颜色表征不同的含义,如黑色代表障碍物、黄色代表起点、红色代表终点。
3、基于栅格地图进行路径规划有横、纵、斜三个规划方向,对于室内低速机器人可以完全按照规划路径走;对于中高速机器人,可以考虑将路径规划进行平滑处理,以适用于非完全约束系统。
MATLAB绘制栅格地图的几个核心函数及思想:
1、colormap:为栅格地图创建自定义颜色。
2、sub2ind:将行列索引转换为线性索引。对于10行10列的栅格地图,行从左上角自上而下排序,列从左上角自左而右排序。相反,ind2sub则将线性索引转为行列索引。
3、为了在栅格地图呈现随机障碍物的效果,可以设障碍物出现频率数值,根据该数据在所有栅格中生成随机数,从而确定障碍物栅格。
4、image:利用colormap建立的颜色图,将数组信息显示为图像。

%% 构建颜色map图
cmap = [1 1 1;...    %1-白色-空地
    0 0 0;...       %2-黑色-静态障碍
    1 0 0;...       %3-红色-动态障碍
    1 1 0;...       %4-黄色-起始点
    1 0 1;...       %5-品红-目标点
    0 1 0;...       %6-绿色-到目标点的规划路径
    0 1 1];         %7-青色-动态规划的路径

%构建颜色map图
colormap(cmap);
%% 构建栅格地图场景
% 栅格界面大小:行数和列数
rows = 10;
cols = 20; 

% 定义栅格地图全域,并初始化空白区域
field = ones(rows, cols);

% 障碍物区域
obsRate = 0.3;
obsNum = floor(rows*cols*obsRate);
obsIndex = randi([1,rows*cols],obsNum,1);
field(obsIndex) = 2;

% 起始点和目标点
startPos = 2;
goalPos = rows*cols-2;
field(startPos) = 4;
field(goalPos) = 5;

%% 画栅格图
image(1.5,1.5,field);
grid on;
set(gca,'gridline','-','gridcolor','k','linewidth',2,'GridAlpha',0.5);
set(gca,'xtick',1:cols+1,'ytick',1:rows+1);
axis image;
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值