参考视频:【奥特学园】ROS机器人入门课程《ROS理论与实践》零基础教程_哔哩哔哩_bilibili

参考文档:http://www.autolabor.com.cn/book/ROSTutorials/

导航实现03_路径规划

毋庸置疑的,路径规划是导航中的核心功能之一,在ROS的导航功能包集navigation中提供了 move_base 功能包,用于实现此功能。

1.move_base简介

move_base 功能包提供了基于动作(action)的路径规划实现,move_base 可以根据给定的目标点,控制机器人底盘运动至目标位置,并且在运动过程中会连续反馈机器人自身的姿态与目标点的状态信息。如前所述(7.1)move_base主要由全局路径规划与本地路径规划组成。

move_base已经被集成到了navigation包,navigation安装前面也有介绍,命令如下:

sudo apt install ros-<ROS版本>-navigation

2.move_base节点说明

move_base功能包中的核心节点是:move_base。为了方便调用,需要先了解该节点action、订阅的话题、发布的话题、服务以及相关参数。

3.move_base与代价地图

3.1概念

机器人导航(尤其是路径规划模块)是依赖于地图的,地图在SLAM时已经有所介绍了,ROS中的地图其实就是一张图片,这张图片有宽度、高度、分辨率等元数据,在图片中使用灰度值来表示障碍物存在的概率。不过SLAM构建的地图在导航中是不可以直接使用的,因为:

  1. SLAM构建的地图是静态地图,而导航过程中,障碍物信息是可变的,可能障碍物被移走了,也可能添加了新的障碍物,导航中需要时时的获取障碍物信息;
  2. 在靠近障碍物边缘时,虽然此处是空闲区域,但是机器人在进入该区域后可能由于其他一些因素,比如:惯性、或者不规则形体的机器人转弯时可能会与障碍物产生碰撞,安全起见,最好在地图的障碍物边缘设置警戒区,尽量禁止机器人进入...

所以,静态地图无法直接应用于导航,其基础之上需要添加一些辅助信息的地图,比如时时获取的障碍物数据,基于静态地图添加的膨胀区等数据。

3.2组成

代价地图有两张:global_costmap(全局代价地图) 和 local_costmap(本地代价地图),前者用于全局路径规划,后者用于本地路径规划。

两张代价地图都可以多层叠加,一般有以下层级:

  • Static Map Layer:静态地图层,SLAM构建的静态地图。

  • Obstacle Map Layer:障碍地图层,传感器感知的障碍物信息。

  • Inflation Layer:膨胀层,在以上两层地图上进行膨胀(向外扩张),以避免机器人的外壳会撞上障碍物。

  • Other Layers:自定义costmap。

多个layer可以按需自由搭配。

4.move_base使用

机器人导航(仿真)(三)——路径规划(更新中)相关推荐

  1. Chapter7 机器人导航仿真(Ⅰ)----导航实现

    目录 一.机器人导航实现 1.1 本章简介 1.1.1 本章主要内容介绍 1.1.2 预期达成的学习目标 1.1.3 导航模块简介 1.1.4 导航之坐标系 1.1.5 导航条件要求 1.2 导航实现 ...

  2. 在Jetson Nano上学习ROS的记录(版本Ubuntu18.04,课程来源赵虚左老师的《ROS理论与实践》)第十二章 机器人导航(仿真)

    系列文章目录 第一章 ROS空间创建.helloworld的实现.开启多个节点 第二章 话题通信 第三章 服务通信 第四章 参数服务器 第五章 常用指令 第六章 通信机制实操 第七章 ROS通信机制进 ...

  3. 7.2.4 导航实现04_路径规划

    ROS入门 7.2.4 导航实现04_路径规划 <ROS入门-理论与实践>视频教程镇楼 毋庸置疑的,路径规划是导航中的核心功能之一,在ROS的导航功能包集navigation中提供了 mo ...

  4. 导轮式机器人_轮式移动机器人导航控制与路径规划研究

    摘要: 随着计算机,网络,机械电子,信息,自动化以及人工智能等技术的飞速发展,移动机器人的研究进入了一个崭新的阶段.同时,太空资源,海洋资源的开发与利用为移动机器人的发展提供了广阔的空间. 本文结合& ...

  5. 【路径规划】基于matlab DWA算法机器人局部避障路径规划【含Matlab源码 890期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[路径规划]基于matlab DWA算法机器人局部避障路径规划[含Matlab源码 890期] 获取代码方式2: 通过订阅紫极神光博客付费 ...

  6. 多目标/单-VRT路径规划-更新汇总

    VRT路径规划更新汇总 说明 本文作为本人整理与改进的路径规划相关算法的功能更新与近期会分享的内容代码****预告. 所有更新的内容来源于与不同客户需求而编写的特定功能. 如果需要相关代码或具有疑问可 ...

  7. 【ROS】—— 机器人导航(仿真)—导航实现(十八)[重要][重要][重要]

    文章目录 前言 准备条件 1. 导航实现01_SLAM建图 1.1 gmapping简介 1.2 gmapping节点说明 1.3 gmapping使用 1.3.1 编写gmapping节点相关lau ...

  8. 【Matlab路径规划】A_star算法智能仓储机器人移动避碰路径规划【含源码 1180期】

    一.代码运行视频(哔哩哔哩) [Matlab路径规划]A_star算法智能仓储机器人移动避碰路径规划[含源码 1180期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文 ...

  9. 扫地机器人是如何实现路径规划的 揭秘扫地机的定位导航原理

    科技改变生活,不可否认科技的进步的确为我们的生活带来许多便捷,以智能家电为例,智能电饭煲.智能洗碗机.智能扫地机等产品已逐渐成为家庭的一分子,其中以扫地机表现最为抢眼.能做到智能规划清扫,收割了不少家 ...

最新文章

  1. 从面试角度分析CopyOnWriteArrayList源码
  2. jquery操作select取值赋值与设置选中[转]
  3. LeetCode UTF-8 Validation
  4. Android-ImageLoader的最基础的操作
  5. python 多元线性回归_Python机器学习,多元线性回归分析问题
  6. 「递归」第2集 | 变得了魔术,解得了高数,这届鹅厂程序员有点酷
  7. Html5做webapp中界面适配的问题总结
  8. scss-!optional
  9. 顺序表的插入删除查找遍历
  10. java spliterator_java 8 stream中的Spliterator简介
  11. python︱写markdown一样写网页,代码快速生成web工具:streamlit 展示组件(三)
  12. 【一天一个C++小知识】012.C++11常用新特性汇总
  13. CUBRID学习笔记 43 insert into
  14. 2021-10-11 全国大学生软件测试大赛赛前学习参考资料
  15. wps流程图直线上怎么填字_流程图走起!使用WPS文字快速制作美观的流程图
  16. 数值分析(12):Rung-Kutta法及单步法的收敛性和稳定性分析
  17. golang开发环境之Sublime Text 2+GoSublime+gocode+MarGo
  18. java smslib 发送短信错误信息
  19. 码农的自我修养 - ARM V9架构的巨大价值
  20. VS2005中文版下载地址和msdn_vs2005中文版

热门文章

  1. java产品经理_产品经理必懂的技术那点事儿:成为全栈产品经理
  2. 项目成本管理__计划价值_挣值_实际成本三者关系与应对措施
  3. 南方电网计算机招聘笔试,南方电网招聘笔试题(附答案).PDF
  4. 2019年最新出搜索引擎蜘蛛网页爬虫大全
  5. Pr 电影开场帷幕拉开效果和轨道遮罩的应用
  6. 一起学CC3200系列教程之跑马灯---库
  7. Mysql创建用户与赋权限操作
  8. php提取视频音乐,如何从视频里提取音乐伴奏
  9. SAP JCo 3.0 下载
  10. 17 Redis 的性能受CPU结构影响