move_base 分层代价地图的作用(翻译)
A. 标准层
Static Map Layer:为了做全局规划,机器人需要一个超越其传感器的地图,以了解墙壁和其他静态障碍物的位置。 静态地图可以先用SLAM算法生成,也可以从架构图中创建。 当层接收到地图时,updateBounds方法将需要返回覆盖整个地图的边界框。 然而,在随后的迭代中,由于它是静态的,所以绑定框的大小不会增加。 在实践中,静态地图一直是全局代价图的底层,因此它将其值直接复制到主成本图中,因为在其之前没有其他层将被写入主节点。 (如果机器人在使用生成的地图导航时运行SLAM,则分层成本图方法允许静态地图层更新,而不会丢失其他层的所有先前信息。)
Obstacles Layer:该层从诸如激光和RGB-D相机的高精度传感器收集数据,并将其放置在二维网格中。 传感器和传感器之间的空间被标记为自由空间,传感器读数的位置被标记为占用。 每个周期,边界框扩展以适应所有新数据。 根据传感器数据与静态映射所需的信任级别,该层可以配置为覆盖主成本映射中的值。 或者,该层只能写入致命的障碍,并将未知区域更新为自由空间。
Voxels Layer:这一层具有与障碍层相同的功能,但在三维空间中跟踪传感器数据。在[12]中引入的三维像素网格允许更智能地清除障碍物,以反映可以看到的多个高度。
Inflation Layer:如前所述,膨胀过程在每个致命障碍周围插入缓冲区。增加到costmap的值取决于离最近的障碍的距离。机器人肯定会发生碰撞的地点有致命的代价,而且周围的区域有一些小的非致命的成本。这些值确保机器人不会撞上致命的障碍物,也不愿太靠近。更新边界的步骤将增加前一个边界框,以确保新的致命障碍将被夸大,并且在前一个跳跃框外的致命障碍也会膨胀到跳跃的盒子中。updateValues步骤直接操作在master costmap上,而不存储本地副本。
B. 新功能
Sonar Layer:单片成本地图能够处理声纳数据,但是分层成本地图增加了如何处理它的选项。将一层用于声纳读数可以避免玻璃墙被激光观测排除的问题。此外,我们还可以使用这一层来处理不同于高准确度障碍层的声纳数据。我们建造的声纳层实现了一个概率声纳模型,并使用贝叶斯逻辑更新成本图。然后我们就可以设定一个截止概率,我们只写一些我们相对确定的数据,在master costmap中。请注意,这种方法允许我们保持概率的语义含义,而不必直接将它们与成本结合起来
Caution Zones Layer:这个层让我们能够以比空闲/占用更详细的方式指定机器人环境的区域。尽管没有障碍,但大多数机器人都希望避免导航到楼梯导向。或者机器人不应该导航到特定的人的办公室。有许多场景,运营商将要限制机器人可以安全驾驶的地方,尽管出现导航。在实践中看到的这些限制的一种技术是在静态地图上标记障碍物。这种技术可以起作用,但可以从其他应用程序(如AMCL)可能需要的地图中删除信息。这一层还使我们能够标记不一定被禁止的区域,但不是可取的。向厨房增加非致命成本可以确保机器人不会靠近危险液体驱动,除非没有其他选择。这些区域也可用于社会上不太可接受的领域,例如人与物体之间的空间,如电视机,如Ferguson和Likhachev所示
Claustrophobic Layer:通胀层在致命障碍周围增加了一个小缓冲区,但幽闭恐怖层增加了更大的缓冲区,以增加接近障碍物的相对成本。这一层对于那些关于机器人相对于障碍物的确切位置有更多不确定性的场景来说是很有用的,而在障碍物中驾驶的几率或成本也很高。
C. 人机交互层
正如在相关的工作部分中所看到的,将更复杂的成本添加到costmap的主要动机之一是为了建模由人机交互引入的约束。
Proxemic Layer:研究人员和机器人之间空间关系的研究稳步上升,以及确保机器人不违反预期关系的方法。最常见的方法是增加高斯分布,或者是多重高斯分布的混合物,到costmap,如Kirby,[8]。这些调整创造了周围的区域,使路径更接近人们更昂贵的路径,尊重他们的代理关注点。
我们创建了一个代理层,它实现了Kirby混合的高斯模型。利用检测到的人的位置和速度(从人的腿的激光扫描中提取出来),该层将每个人的高斯值写入到图层的私有成本地图中,然后添加到master costmap中。根据两个不同的参数(振幅和方差)来度量生成的值。一般来说,当你增加这些参数时,最优路径会离你的人更远。然而,正如在[13]中所讨论的那样,在最优路径更改为最短路径之前,这些参数可以发生多大的改变是有限度的。这意味着调整参数,试图让机器人更远的离开,相反的情况发生,这在社会上是次优的。[13]的结果是复制的
我们也开始实施相关工作中提到的更复杂的代理模型。一些模型比一个人的位置和方向更多地假设信息,我们的层实现假设它们与足够强大的传感器能力结合在一起来探测像头部和身体姿势这样的东西。
Hallway Layer:在一些文化中,人们习惯走在正确的道路上,就像许多国家的司机在马路的右边一样。我们实现了一个层,它决定了机器人是否在走廊里,动态地增加了走廊左边的成本,让机器人更喜欢右边。我们在最近的一项用户研究中使用了一个类似的模型,在这里,层改变了成本,让机器人更喜欢在走廊的另一边进行导航,这是最接近的人(通常是右侧)。这一层的添加不仅能有效地将机器人移到走廊的一边,还能使人在互动过程中更有效
Wagon Ruts Layer: 如果机器人的目标是避免在社会上受到侵害,并尽量减少意想不到的障碍,一个有效的策略可能包括模仿人类的交通模式。这一层可以降低人们走过的路的成本,从而产生机器人的最佳路径。你也可以逆转成本的极性,并在人们通常是为了减少社会混乱的地区增加价值。
https://blog.csdn.net/xmy306538517/article/details/72899667
move_base 分层代价地图的作用(翻译)的更多相关文章
- Dynamics CRM2011/2013 站点地图sitemap的翻译
实体.属性字段.ribbon等的翻译可以通过解决方案来解决(具体可见我前面的博客:http://blog.csdn.net/vic0228/article/details/37690913),但解决方 ...
- 小豆包的学习之旅:占用概率栅格地图和cost-map
接下来将制图和定位问题分别进行介绍.这两个问题可以视为SLAM过程中两个相互联系的子问题,但是也可以视为两个单独的问题.虽然说SLAM问题是鸡和蛋的问题,但是在实际处理过程中总是有先后的.为了简化问题 ...
- Navigation源码(一) move_base最全解析
一.概述 目测是全网最全的解析,花了几个小时通读并整理的,供大家参考学习. 概况的话可以看下古月居 https://www.guyuehome.com/270,其实它是翻译官方的,英语ok的可以去ro ...
- ROS导航之地图costmap_2d与bresenham算法
读者可以参读http://wiki.ros.org/costmap_2d costmap_2d: 无论是激光雷达还是如kinect 或xtion pro深度相机作为传感器跑出的2D或3D SLAM ...
- ANTLR4将BF翻译成CPP
实验环境: 操作系统:windows 10 JAVA:JDK 1.8 antlr:antlr-4.7.1-complete.jar IDE:IntelliJ IDEA 2017.2.7 实验目的: 实 ...
- 用户故事地图(User Story Mapping)之初体验
北京这几日的天儿真是好的出奇,白天风和日丽,晚上繁星漫天:在这样一个周六的下午,小编参加了一次北京敏捷社区(微信号:Agile1001)组织的活动:<用户故事地图User Story Mappi ...
- [转] 基于ArcGISServer实现活动地图标注
——王嘉彬(Esri中国上海分公司) 1.背景 1.1.主流互联网地图应用的现状 在目前主流的互联网地图应用中,如 Google Map(图 1).搜狗地图(图2),POI 兴趣点的文字标注越来越多的 ...
- ASP.NET的SEO:Linq to XML---网站地图和RSS Feed
本系列目录网站地图的作用是让搜索引擎尽快的,更多的收录网站的各个网页. 这里我们首先要明白一个基本的原理,搜索引擎的爬行方式.整个互联网就像一张纵横交错的"网":网的各个节点 ...
- Linq to XML---网站地图和RSS Feed(ASP.NET的SEO)
本系列目录网站地图的作用是让搜索引擎尽快的,更多的收录网站的各个网页. 这里我们首先要明白一个基本的原理,搜索引擎的爬行方式.整个互联网就像一张纵横交错的"网":网的各个节点 ...
随机推荐
- 微信小程序学习笔记(三)--框架-逻辑层
逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈. 开发者写的所有代码最终将会打包成一份 JavaScript 文件,并在小程序启动的时候运行,直到小程序销毁.这一行为类似 Service ...
- 探索Redis设计与实现7:Redis内部数据结构详解——intset
本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...
- eclipse run error:g++ not found in Path
网上有人说: 在eclipse下 windows-->Preference-->C/C++-->Build-->Setting然后选择Discovery标签,将里面的内容全部R ...
- Windows 08 R2_NLB负载均衡(图文详解)
目录 目录 Load Balance 使用NLB来部署Web Farm集群 环境准备 在Win08r2pc1中配置DNS服务 在Win08r2pc1中部署File Service文件服务 在Win08 ...
- winform DataGridView的虚模式填充,CellValueNeeded事件的触发条件
虚模式填充常用来处理大量数据,某个字段的显示问题. DataGridView是.net 2.0新增的表格数据编辑和显示控件,简单的数据显示和编辑,只需直接和数据源绑定就可以了. 对于 一些特殊情况,我 ...
- 如何在原生Android项目里嵌入Cordova
背景: 这段时间在维护一个Cordova混合项目,以前稍微接触过Cordova,也写过简单的纯纯的Cordova的Demo,但是没有尝试过混合原生的Cordova. 在接到项目后比较了一下项目架构和C ...
- 【C++第一个Demo】---控制台RPG游戏1【游戏简介】
经过1个月的制作和多次修改,终于有了基本雏形(此篇仅用于纪念历时3个多月C/C++学习所付出努力,也给和我一样苦恼于不能快速理解面向对象的同学们一点灵感) 在制作这个Demo过程中也受到了很多大 ...
- UVA1595_Symmetry
给出平面上n个点,问你能不能找到一个竖线让他们对称 这道题后面发现真的不难,又不止一种方法 我当时写的很挫,死脑筋的就找一个点的对称点存不存在,用结构体存点信息,在排序用find找,,然后不知道一堆w ...
- Node.js、vue.js的使用
Vue.js的使用 1.下载Node.js 2.打开cmd 3.执行命令 npm i 4.输入命令 npm run serve 5.浏览器打开 http://localhost:8080
- 06、python的基础-->编码小知识
1.编码类型ascii A : 00000010 8位 一个字节 unicode A : 00000000 00000001 00000010 00000100 32位 四个字节 中:00000000 ...