自动驾驶路径规划——基于MATLAB的栅格地图

这篇具有很好参考价值的文章主要介绍了自动驾驶路径规划——基于MATLAB的栅格地图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

1.什么是栅格地图?

 1.1栅格地图用于路径规划的优势:

2.MATLAB栅格地图的绘制 

MATLAB代码

 声明


前言

       这个学期学校开设了相应的课程,同时也在学习古月居机器人学系列的《基于栅格地图的机器人路径规划指南》,为了巩固知识,方便自己的学习与整理,遂以学习笔记的形式记录。

       另附一些其他博主写的文章:
       基于栅格地图的路径规划(一)基于Matlab二维、三维栅格地图的构建 
        路径规划(一):使用Matlab快速绘制栅格地图
        python栅格地图上路径规划作图


1.什么是栅格地图?

       栅格图像,也称光栅图像,是指在空间和亮度上都已经离散化了的图像。我们可以把一幅栅格图像考虑为一个矩阵,矩阵中的任一元素对应于图像中的一个点,而相应的值对应于该点的灰度级(灰度图),数字矩阵中的元素叫做像素。机器人学中地图的表示方法有四种:特征地图、拓扑地图、栅格地图以及直接表征法(Appearance Based Methods)。

       特征地图用有关的几何特征(如点、直线、面)表示环境。

自动驾驶路径规划——基于MATLAB的栅格地图

​      栅格地图则是把环境划分成一系列栅格,其中每一栅格给定一个可能值,表示该栅格被占据的概率。

自动驾驶路径规划——基于MATLAB的栅格地图

       栅格地图、特征地图以及点云地图又被称为尺度地图,常用于地图构建、定位、SLAM、小规模的路径规划。

       拓扑地图把室内环境表示为带结点和相关连接线的拓扑结构图,其中结点表示环境中的重要位置点(拐角、门、电梯、楼梯等),边表示结点间的连接关系,如走廊等。拓扑地图不具备真实的物理尺寸,只表示不同地点的连通关系和距离。

自动驾驶路径规划——基于MATLAB的栅格地图

       直接表征法省去了特征或栅格表示这一中间环节,直接用传感器读取的数据来构造机器人的位姿空间。每种方法各有自己的特点和适用范围,其中特征地图和栅格地图应用最普遍。 
       此外还有语义地图,通过加上标签的方式进行描述,如M楼位于学子路的东侧。语义地图常用于人机交互。

自动驾驶路径规划——基于MATLAB的栅格地图

 1.1栅格地图用于路径规划的优势:

1.可以将任意形状轮廓的地图,用足够精细的栅格进行绘制;
2.每一个栅格,可以通过不同颜色表征不同含义,如黑色代表障碍物、黄色代表起点、红色代表终点。
3.基于栅格地图进行路径规划有横、纵、斜三个规划方向,对于室内低速机器人可以完全按照规划路径行走;对于中高速机器人,可以考虑将规划路径进行平滑处理,以适用于非完全约束系统。

2.MATLAB栅格地图的绘制 

MATLAB绘制栅格地图的几个核心函数及思想:

1.colormap:为栅格地图创建自定义颜色。如黄色栅格代表起点、红色栅格代表终点、黑色栅格代表障碍物。

颜色

double 或 single RGB 三元组

uint8 RGB 三元组

黄色

[1 1 0]

[255 255 0]

品红色

[1 0 1]

[255 0 255]

青蓝色

[0 1 1]

[0 255 255]

红色

[1 0 0]

[255 0 0]

绿色

[0 1 0]

[0 255 0]

蓝色

[0 0 1]

[0 0 255]

白色

[1 1 1]

[255 255 255]

黑色

[0 0 0]

[0 0 0]

2.sb2ind:将行列索引转为线性索引。对于右图栅格地图,10行10列,行从左  上角自上而下排序,列从左上角自左而右排序。相反,ind2sub则将线性索引转为行列索引。

3×3 矩阵的从下标(按位置进行索引)到线性索引的映射如下所示。

自动驾驶路径规划——基于MATLAB的栅格地图

 将 3×3 矩阵的线性索引 [3 4 5 6] 转换为行和列下标。从线性索引到下标(按位置进行索引)的映射如下所示。

自动驾驶路径规划——基于MATLAB的栅格地图

3.为了在栅格地图呈现随机障碍物的效果,可以设障碍物出现频率数值,根据该数据在所有栅格中生成随机数,从而确定障碍物栅格。
4.image:利用colormap建立的颜色图,将数组信息显示为图像。

MATLAB代码

% 基于栅格地图的机器人路径规划算法
% 第1节:利用Matlab快速绘制栅格地图
clc
clear
close all
 
%% 构建颜色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);  % colormap()查看并设置当前颜色图
 
%% 构建栅格地图场景
% 栅格界面大小:行数和列数
rows = 20;
cols = 20; 
 
% 定义栅格地图全域,并初始化空白区域
field = ones(rows, cols);
 
% 障碍物区域
obsRate = 0.2;   % 障碍物出现频率
obsNum = floor(rows*cols*obsRate);   % 总的障碍物个数 floor()朝负无穷大四舍五入
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;

 声明

       本人所有文章仅作为自己的学习记录,若有侵权,联系立删。文章来源地址https://www.toymoban.com/news/detail-441634.html

到了这里,关于自动驾驶路径规划——基于MATLAB的栅格地图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Bresenham直线算法的机器人栅格地图路径规划(附带Matlab代码)

    基于Bresenham直线算法的机器人栅格地图路径规划(附带Matlab代码) 路径规划是机器人导航中的关键任务之一,它涉及寻找从起点到目标点的最优路径。在栅格地图中,机器人通常被表示为一个点,而障碍物被表示为栅格单元。Bresenham直线算法是一种经典的图形算法,可以用于

    2024年02月07日
    浏览(36)
  • 【路径规划】基于matlab火鹰算法栅格地图机器人最短路径规划【含Matlab源码 3679期】

    ✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。 🍎个人主页:海神之光 🏆代码获取方式: 海神之光Matlab王者学习之路—代码获取方式 ⛳️座右铭:行百里者,半于九十。 更多Matlab仿真内容点击👇 Matlab图像处理(进阶版) 路径规划

    2024年02月02日
    浏览(37)
  • 【路径规划】基于matlab帝企鹅算法栅格地图机器人最短路径规划【含Matlab源码 3630期】

    1 帝企鹅算法 帝企鹅优化(Emperor Penguin Optimizer,EPO)算法是Dhiman G和Kumar V于2018年提出的一种新型群智能算法,该算法具有参数少、收敛精度高等特点。帝企鹅从事各种活动,如狩猎、群体觅食,是群居性动物。每当恶劣的气候来临,它们会挤在一起防风御寒。帝企鹅在南极极端

    2024年02月03日
    浏览(31)
  • 基于Matlab的A*算法实现机器人在栅格地图上的三维路径规划

    基于Matlab的A*算法实现机器人在栅格地图上的三维路径规划 一、引言 路径规划是机器人领域中的一个重要问题,尤其是在三维环境中。A*(A-star)算法是一种常用且高效的路径规划算法,可以帮助机器人在给定的栅格地图上找到最短路径。本文将介绍如何使用Matlab来实现A*算

    2024年02月08日
    浏览(34)
  • A*算法在MATLAB中的机器人栅格地图路径规划

    A*算法在MATLAB中的机器人栅格地图路径规划 路径规划是机器人领域中的重要问题之一,其中A*(A-star)算法是一种常用且有效的路径搜索算法。本文将介绍如何在MATLAB中使用A*算法进行机器人栅格地图的路径规划,并提供相应的源代码。 首先,我们需要了解A 算法的原理。A 算

    2024年02月06日
    浏览(38)
  • 【路径规划】鲸鱼算法栅格地图机器人最短路径规划【含Matlab源码 3613期】

    1 鲸鱼算法 一种元启发式优化算法,模拟座头鲸狩猎行为的元启发式优化算法。目前的工作与其他群优化算法相比的主要区别在于,采用随机或最佳搜索代理来模拟捕猎行为,并使用螺旋来模拟座头鲸的泡泡网攻击机制。该算法具有机制简单、参数少、寻优能力强等优点,在

    2024年02月04日
    浏览(39)
  • 【路径规划】自适应遗传算法机器人栅格地图最短路径规划【含Matlab源码 3570期】

    1 遗传算法 遗传算法是一种基于生物进化论模型的优化算法,通过模拟生物进化的过程,通过复制、交叉、突变等操作产生下一代的解,并逐步淘汰掉适应度函数值低的解,增加适应度函数值高的解。遗传算法可以用于解决各种优化问题,如函数优化、组合优化、机器学习等

    2024年02月03日
    浏览(58)
  • 【路径规划】萤火虫算法栅格地图机器人最短路径规划【含Matlab源码 3662期】

    ✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。 🍎个人主页:海神之光 🏆代码获取方式: 海神之光Matlab王者学习之路—代码获取方式 ⛳️座右铭:行百里者,半于九十。 更多Matlab仿真内容点击👇 Matlab图像处理(进阶版) 路径规划

    2024年02月20日
    浏览(47)
  • 基于灰狼算法的机器人栅格地图路径规划

    基于灰狼算法的机器人栅格地图路径规划 路径规划是机器人领域中一项重要的任务,它涉及在给定的环境中找到机器人从起始点到目标点的最优路径。灰狼算法是一种基于自然界中灰狼群体行为的优化算法,可以用于解决路径规划问题。在本文中,我们将介绍如何使用灰狼算

    2024年02月06日
    浏览(43)
  • 基于粒子群算法的机器人栅格地图路径规划

    基于粒子群算法的机器人栅格地图路径规划 路径规划是机器人导航和自主移动的重要任务之一。在栅格地图中,机器人需要找到一条最优路径以避开障碍物并到达目标位置。粒子群算法(Particle Swarm Optimization,PSO)是一种模拟自然群体行为的优化算法,可以用于解决路径规划

    2024年02月07日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包