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 分层代价地图的作用(翻译)的更多相关文章

  1. Dynamics CRM2011/2013 站点地图sitemap的翻译

    实体.属性字段.ribbon等的翻译可以通过解决方案来解决(具体可见我前面的博客:http://blog.csdn.net/vic0228/article/details/37690913),但解决方 ...

  2. 小豆包的学习之旅:占用概率栅格地图和cost-map

    接下来将制图和定位问题分别进行介绍.这两个问题可以视为SLAM过程中两个相互联系的子问题,但是也可以视为两个单独的问题.虽然说SLAM问题是鸡和蛋的问题,但是在实际处理过程中总是有先后的.为了简化问题 ...

  3. Navigation源码(一) move_base最全解析

    一.概述 目测是全网最全的解析,花了几个小时通读并整理的,供大家参考学习. 概况的话可以看下古月居 https://www.guyuehome.com/270,其实它是翻译官方的,英语ok的可以去ro ...

  4. ROS导航之地图costmap_2d与bresenham算法

    读者可以参读http://wiki.ros.org/costmap_2d   costmap_2d: 无论是激光雷达还是如kinect 或xtion pro深度相机作为传感器跑出的2D或3D SLAM ...

  5. ANTLR4将BF翻译成CPP

    实验环境: 操作系统:windows 10 JAVA:JDK 1.8 antlr:antlr-4.7.1-complete.jar IDE:IntelliJ IDEA 2017.2.7 实验目的: 实 ...

  6. 用户故事地图(User Story Mapping)之初体验

    北京这几日的天儿真是好的出奇,白天风和日丽,晚上繁星漫天:在这样一个周六的下午,小编参加了一次北京敏捷社区(微信号:Agile1001)组织的活动:<用户故事地图User Story Mappi ...

  7. [转] 基于ArcGISServer实现活动地图标注

    ——王嘉彬(Esri中国上海分公司) 1.背景 1.1.主流互联网地图应用的现状 在目前主流的互联网地图应用中,如 Google Map(图 1).搜狗地图(图2),POI 兴趣点的文字标注越来越多的 ...

  8. ASP.NET的SEO:Linq to XML---网站地图和RSS Feed

    本系列目录网站地图的作用是让搜索引擎尽快的,更多的收录网站的各个网页.    这里我们首先要明白一个基本的原理,搜索引擎的爬行方式.整个互联网就像一张纵横交错的"网":网的各个节点 ...

  9. Linq to XML---网站地图和RSS Feed(ASP.NET的SEO)

    本系列目录网站地图的作用是让搜索引擎尽快的,更多的收录网站的各个网页.    这里我们首先要明白一个基本的原理,搜索引擎的爬行方式.整个互联网就像一张纵横交错的"网":网的各个节点 ...

随机推荐

  1. css实现文本溢出用...显示

    文本溢出省略号显示,要实现这个必须 要有四个条件: 1.须有容器宽度:width:value 2.强制文本在一行内显示:white-space:nowrap: 3.溢出内容隐藏:overflow:hi ...

  2. linux下oracle数据库服务和监听的启动停止

    oracle数据库是重量级的,其管理非常复杂,将其在linux平台上的启动和关闭步骤整理一下. 安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_p ...

  3. jdbc的连接数据库,使用PreparedStatement实现增删改查等接口

    首先是连接,关闭资源等数据库操作 将连接数据库,关闭资源封装在JDBCUtils里 package jdbc.utils; import java.sql.Connection; import jav ...

  4. mysql性能查看 命中率 慢查询

    网上有很多的文章教怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一 ...

  5. vue中setTimeout切换浏览器页签时怎么清除解决方案

    大家都知道,vue中有完整的生命周期,this.$router.push('')可以跳到相应的页面中,在beforeDestroy中可以监听到,将定时器清空,又或是通过this._isDestroye ...

  6. JS-text节点模拟innerHTML属性

    # [在线预览](https://jsfiddle.net/1010543618/mz7ybu8g/2/) text 节点无 innerHTML 这个属性!!! 如果直接修改 text 节点的属性(d ...

  7. docker-compose 搭建 Redis Sentinel 测试环境

    docker-compose 搭建 Redis Sentinel 测试环境 本文介绍如何使用 docker-compose 快速搭建一个 Redis Sentinel 测试环境.其中 Redis 集群 ...

  8. The document cannot be opened. It has been renamed, deleted or moved.

    In the Individual components section of the Visual Studio Installer, make sure that Razor Language S ...

  9. upc组队赛5 Ground Defense【枚举】

    Ground Defense 题目描述 You are a denizen of Linetopia, whose n major cities happen to be equally spaced ...

  10. github中fork分支和pullrequest的最佳实践

    github中fork分支和pullrequest的最佳实践 */--> code {color: #FF0000} pre.src {background-color: #002b36; co ...