论文《Frontier Based Exploration for Autonomous Robot》

1

文章的重点时实现波前边界检测,在实时构建的地图上搜索边界,并通过一个规划算法引导机器人移动到最近的边界,直至创建整个环境。
一些概念:
Unknown Region:
Known Region:
Open-Space:不包含障碍物的已知区域。
Occupied-Space:包含障碍物的已知区域。
Occupancy Grid:
Frontier:已知区域与未知区域的交界。边界是一组未知区域点,每个点都包含Open-Space邻域点。

2

边界检测算法基于广度优先策略。首先在整个网格上运行BFS搜索,并将边界点添加到一个队列中。然后再边界点上运行第二个BFS搜索以获得最终边界(边界是连续的,是由边界点连接而成)。
边界按照与机器人当前位置的欧氏距离的递增顺序排列在队列中。因此,该算法引导机器人移动到最近的边界。

3

算法是在frontier-based exploration【1】上改进的,称为Wavefront Frontier Detector (WFD) 波前边界检测算法。WFD与原来的方法相似,基于两个嵌套的广度优先搜索。WFD算法相对于原始算法的主要优点是,它只扫描占用网格的已知区域,而不是在算法每次运行时扫描整个网格的原始方法。WFD方法是有效的,因为边界永远不会出现在未知区域。这一关键差异显著降低了算法的时间复杂度。为了确保每次调用算法时只扫描已知区域,WFD使用四种可能的指示之一对点进行分类:
Map-Open-List: 第一层BFS 队列中的点
Map-Close-List: 第一层BFS已经处理过的点
Frontier-Open-List: 第二层BFS 队列中的点
Frontier-Close-List: 第二次BFS处理过的点

代码:https://github.com/tpepels/turtlebot_slam

代码未能成功复现,但逻辑比较清晰.

总框图

波前边界检测算法

波前边缘检测 Wavefront Frontier Detector相关推荐

  1. 计算机视觉理论笔记 (5) - 边缘检测 (Edge Detection)

    边缘检测 - Edge Detection 总览 边缘(edges) 基于梯度 (gradient)的边缘检测 检测不连续性(detection of discontinuities) 1D 2D 梯 ...

  2. 《ZEMAX光学设计超级学习手册》一一2.2 几何光学像质量评价

    本节书摘来自异步社区出版社<ZEMAX光学设计超级学习手册>一书中的第2章,第2.2节,作者: 林晓阳 更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.2 几 ...

  3. HEVC/H.265编码原理

    一.HEVC简介 随着现代通信技术的发展,视频拍摄设备变得便携化.轻量化,各类剪辑软件的开发升级也使得视频的制作变得更加的容易,大量涌现的网络视频平台为视频发布和传播提供了必不可少的渠道,这使得互联网 ...

  4. zemax评价函数编辑器_zemax默认评价函数使用方法

    默认评价函数中有三种优化目标: 1.波前优化(wavefront) 在单透镜例子中,波前差优化评价函数为0,意味着透镜聚焦后光程差为0. 两种情况:1.点光源发出完美的球面波在任一位置处球面上光程差为 ...

  5. x265-1.8版本-x265.h代码注释

    注:问号以及未注释部分 会在x265-1.9版本内更新 /*********************************************************************** ...

  6. x265-1.7版本-x265.h代码注释

    注:问号以及未注释部分 会在x265-1.8版本内更新 /*********************************************************************** ...

  7. HEVC 编解码详解

    本文转载自http://blog.csdn.net/nonmarking/article/details/47356791 本系列文章分为三个部分,首先对HEVC标准做一个介绍,然后回顾一下H.264 ...

  8. Hevc 视频编解码并行处理技术

    一 并行处理技术 并行处理一般是指许多指令得以同时进行的处理模式,并行处理通常是将处理的过程分解成小部分,之后采用多个运算单元并以兵法方式加以解决,本章只讨论使用过个处理器的并行处理技术.通常分为两种 ...

  9. 【opencv 官方教程】翻译3 图像处理 下

    Image Processing (imgproc module) In this section you will learn about the image processing (manipul ...

最新文章

  1. Three.js学习笔记 – “我和小伙伴都惊呆了”的特效和Three.js初探
  2. Python基础day02【if结构、if elif 结构、while循环、for循环、Break和continue、Debug 调试、三目运算、循环 else 结构】
  3. observable_Java Observable addObserver()方法与示例
  4. python3知识点汇总_35个高级Python知识点总结
  5. 【华为云技术分享】云图说 | 容器交付流水线ContainerOps,助力企业容器化转型
  6. Smarty模板引擎技术二
  7. php按钮鼠标感应就变色,JavaScript_JS实现网页滚动条感应鼠标变色的方法,本文实例讲述了JS实现网页滚 - phpStudy...
  8. [转]Git 撤销操作
  9. SSM和SSH框架总结
  10. 泰森多边形算法 java_泰森多边形构建原理
  11. Unity笔记-29-ARPG游戏项目-13-打击感(卡肉)与僵直感
  12. (不重点考)试算平衡的分类
  13. php公众号开发配置网页域名,微信公众号网页开发授权配置流程
  14. 企业邮箱使用安全注意事项
  15. 网易中国创业家大赛倒计时,2017年8月报名结束
  16. macos重启docker
  17. 双路服务器56核系统推荐,华硕发布双路志强主板:最高支持56核,112线程
  18. 正则表达式 学习笔记
  19. 序列1 - 以太坊的诞生,史上最大ICO之一
  20. javaSocket基础

热门文章

  1. hdu 5234 Happy birthday
  2. 使用paddlepaddle进行手写数字识别
  3. linux win10启动不了怎么办,win10不能启动怎么办?win10无法正常启动的解决方法
  4. Python学生信息管理系统(增删查改、模糊查找、txt文件输出)# 谭子
  5. ceph web监控管理平台calamari
  6. 百鸡问题用计算机思维,大力出奇迹:当古代数学难题遇到计算机
  7. 前端开发:Vue项目中解决Emitted value instead of an instance of Error问题
  8. D3.js绘制竖向组织架构图
  9. WSL关闭与windows的互交互(解决PATH等环境变量问题
  10. Allegro设置区域规则的方法