VFH & VFH+ & VFH*—— Path Planning

2023-05-16

版权声明:本文为博主原创博文,未经允许不得转载,若要转载,请说明出处并给出博文链接

              

       最近在学习VFH算法,感觉蛮神奇,特意从维基百科扒来了资料,供学习研究。。。

       在机器人技术中,Vector Field Histogram(VFH,向量场直方图)是Johann Borenstein和Yoram Koren在1991年[1]提出的一种实时路径规划算法。VFH通过所谓的直方图网格利用机器人环境的统计表示,因此非常重视处理来自传感器和建模误差的不确定性。与其他避障算法不同,VFH考虑了机器人的动力学和形状,并返回特定于平台的转向指令。VFH作为一个局部路径规划器而非全局路径规划器,已被证明产生接近最优路径。

        原VFH算法是基于 Virtual Force Field虚拟力场的局部路径规划算法。VFH在1998年由Iwan Ulrich和Johann Borenstein[2]更新,并重新命名为VFH+(非官方的“增强VFH”)。这个方法在2000年由Ulrich和Borenstein再次更新,并被重新命名为VFH*[3]。 VFH是目前移动机器人中最受欢迎的局部路径规划器之一,与后来开发的动态窗口方法竞争。许多机器人开发工具和仿真环境都内置了对VFH的支持。

 

VFH的目标是计算效率,鲁棒,不敏感的误读。在实践中,VFH算法被证明是快速和可靠的,特别是在穿越密集的障碍。VFH算法的中心是通过直方图网格使用障碍物的统计表示。这样的表示非常适合不准确的传感器数据,并适应多传感器读数的融合。

  • VFH算法包含三个主要部分:

①直角直方图网格:利用机器人的距离传感器,如声纳或激光测距仪,构建二维直角直方图网格。网格不断实时更新。
②极坐标直方图:将围绕机器人瞬间位置的笛卡尔坐标直方图降低,构造一维极坐标直方图。
③候选谷:根据与目标方向的接近度,选择极障碍密度低于阈值的连续扇区,称为候选谷。
一旦选定的候选方向的中心被确定,机器人的方向被引导。机器人在迎面接近障碍物时降低速度。

VFH 2D simulation

  • VFH+算法改进包括:

①阈值迟滞:迟滞增加了计划轨迹的平滑性。
②机器人体型尺寸:考虑不同体型的机器人,不需要通过低通滤波器手动调整参数。
③障碍物前视:被障碍物阻挡的扇区在VFH+中被遮蔽,这样引导角度就不会直接进入障碍物。
④成本函数:添加了一个成本函数来更好地表征算法的性能,并通过改变成本函数或其参数来提供行为切换的可能性。

  • VFH*算法

2000年8月,Iwan Ulrich和Johann Borenstein发表了一篇描述VFH*的论文,声称改进了原来的VFH算法,明确地处理了局部规划算法在全局最优性没有得到保证的缺点。在VFH*中,算法通过最小化代价和启发式函数来验证A*搜索算法生成的转向命令。虽然在实践中很简单,但在实验结果中表明,这种向前看的验证能够成功地处理原VFH和VFH+无法处理的问题情况(产生的轨迹是快速和平滑的,没有明显的减速存在障碍)。

 

参考文献:

  1.  Borenstein, J.; Koren, Y. (1991). "The vector field histogram-fast obstacle avoidance for mobile robots". IEEE Transactions on Robotics and Automation7 (3): 278–288.     ——>   VFH(原始paper)
  2. ^ Ulrich, I.; Borenstein, J. (1998). "VFH+: reliable obstacle avoidance for fast mobile robots". Robotics and Automation, 1998. Proceedings. 1998 IEEE International Conference on2.   ——>     VFH+(原始paper)
  3. ^ Ulrich, I.; Borenstein, J. (2000). "VFH: local obstacle avoidance with look-aheadverification". Robotics and Automation, 2000. Proceedings. ICRA'00. IEEE International Conference on3.   ——>     VFH*(原始paper)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VFH & VFH+ & VFH*—— Path Planning 的相关文章

  • 如何从路径和文件名中删除非法字符?

    我需要一种强大且简单的方法来从简单字符串中删除非法路径和文件字符 我使用了下面的代码 但它似乎没有做任何事情 我错过了什么 using System using System IO namespace ConsoleApplication1
  • 如何在Python中独立于语言安装(linux)获取用户桌面路径

    我找到了 如何找到用户桌面的路径 的几个问题和答案 但在我看来它们都已失效 至少我找到的那些 原因是 如果用户安装的 Linux 不是英语 他或她的桌面很可能位于除 Desktop 例如 对于瑞典语 我相信它是在 Skrivbord 谁知道
  • 规范化 solaris 上的路径名

    在 GNU 系统上我只会使用readlink f SOME PATH 但 Solaris 没有 readlink 我更喜欢在 bash 中运行良好的程序 但如果需要的话其他程序也可以 Edit 到目前为止 我想到的最好的方法是使用 cd 和
  • Android 中的 java.io.FileNotFoundException

    我正在使用代码从图库中选择图像 public void onCreate Bundle savedInstanceState super onCreate savedInstanceState setContentView R layout
  • 将构建参数传递给 .wxs 文件以动态构建 wix 安装程序

    我是一名学生开发人员 我已经为我现在工作的公司构建了几个安装程序 所以我对WIX还是比较熟悉的 我们最近决定拥有一个构建服务器来自动构建我们的解决方案 它构建调试和发布以及混淆 和非混淆 项目 你真的不需要理解这些 您需要了解的是 我有相同
  • 如何在 TypeScript React 项目中使用 eslint import 插件启用绝对路径别名?

    我已经安装了eslint plugin import到我的项目 我的目标是使用 import no relative parent imports error 设置禁止在我的项目中进行相对导入以增强可读性 但是 此设置会在我的项目中产生错误
  • python sys.path 故障排除

    python 文档位于http docs python org library sys html http docs python org library sys html比如说sys path is 从环境变量 PYTHONPATH 以及
  • 如何让 Python 找到 ffprobe?

    I have ffmpeg and ffprobe安装在我的 mac macOS Sierra 上 并且我已将它们的路径添加到 PATH 中 我可以从终端运行它们 我正在尝试使用ffprobe使用以下代码获取视频文件的宽度和高度 impor
  • Excel的解析路径

    其实我想问以下问题 对于位于 目录中定义的 PATH 怎么能 我找出这些目录中的哪个 找到了 因为我需要使用 Process Run 从 C 运行 Excel 并且只需指示 Excel 即可正常工作 Windows 似乎知道在哪里可以找到它
  • 捆绑 pathsForResourcesOfType:inDirectory:

    在我的应用程序中 我有很多图片 分为几个类别 以下是项目内和我的硬盘上的应用程序树 ApplicationName Resources Thumbs Images Buttons Default png 在拇指文件夹中 我有很多 png 文
  • Process.Start() 可以考虑系统路径吗?

    我已经对此进行了一段时间的搜索和实验 但我没有运气 我正在尝试制作一个控制台程序来自动执行一些我无法使用 BAT 文件完成的任务 我想从 Windows SDK 调用 signcode exe 该 bin 文件夹包含我的系统路径中的所有工具
  • 获取 Windows 窗体应用程序的执行目录的路径

    我想获取 Windows 窗体应用程序的执行目录的路径 即可执行文件所在的目录 有谁知道 NET 中的内置方法可以做到这一点 在VB NET中 Dim directory as String My Application Info Dire
  • 如何将路径添加到 Apache PATH 变量?

    我在 apache2 的 custom conf 文件中设置了以下内容 SetEnv PATH PATH opt local lib mysql5 bin this is a test 但是它不起作用 当我打电话时 hey shell ex
  • 节点未找到全局模块

    所以我意识到这是一个相当通用的标题和问题 但我已经搜索了很多答案 但遗憾的是它们似乎都不适合我 我希望通过我自己提供更多信息 也许有人有一个具体的答案 或者确切地知道将我重定向到哪个答案 我的问题 当我全局安装节点模块时 例如npm ins
  • 全部配对图表上的所有路径

    这可能是一个没有最佳解决方案的问题 假设我有一个有向图 不知道它是否有循环 循环检测将是这个问题的方面之一 给定一组顶点 可能是数百万个顶点 我需要计算给定图的所有唯一对之间的所有不同路径 没有重复顶点的路径 我该如何应对这种情况 让我们看
  • C# 中包含非 ascii 字符的文件路径和 FileInfo

    我得到一个或多或少看起来像这样的字符串 C bl h bleh 我用它创建了一个 FileInfo 但是当我检查它是否存在时 它返回 false var file new FileInfo path file Exists 如果我手动将路径
  • Uri.parse("文件://" + ???);访问特定文件夹

    我的问题分为两部分 如何获取以下代码来访问此位置 存储 模拟 0 电影 特定文件夹 Code private Uri getUriFromMediaStore int position int dataIndex mMediaStoreCu
  • 如何序列化 android.graphics.Path 对象

    我正在尝试将 Android graphics Path 对象存储在内部设备内存中 有谁知道如何序列化 android graphics Path 对象 另外 还有其他方法来存储 Path 对象吗 谢谢 我这样做的方法是从原始 Path 类
  • PHP如何找到Web服务器的临时路径?

    当您处理 HTTP 上传时 文件将上传到 FILES field name tmp name 我知道我可以从那里提取临时路径 但我期待着也许 SERVER具有临时路径 没有 或其他优雅的方式来了解它的参数 有没有 ini get uploa
  • 在 Mac OS X 10.6.8 中手动编译 Ruby 时,GEM 在哪里?

    我在 Snow Leopard 上手动构建了 Ruby 1 9 2 现在我找不到我的旧 GEM 文件了 我猜他们现在正走在不同的道路上 所以我有三个问题 什么是 旧 宝石路径 在哪里gem install sinatra把西纳特拉宝石 当我

随机推荐

  • Eigen使用方法

    看了这边博客之后总结一下https blog csdn net augusdi article details 12907341 xff0c 感谢原作 xff01 看了之后学到了好多 xff01 1 矩阵定义 不管是向量还是矩阵 xff0c
  • Linux C 书籍推荐

    建议学习路径 xff1a 首先先学学编辑器 xff0c vim emacs什么的都行 然后学make file文件 xff0c 只要知道一点就行 xff0c 这样就可以准备编程序了 然后看看 C程序设计语言 K amp R xff0c 这样
  • Lidar与imu外参标定

    目录 网上资料 方案1 方案2 Lidar与IMU的相对旋转 实现 总结 附录 xff1a 最近由于工作需要 xff0c 花了几天时间了解激光与imu的标定方法 xff1b 因为项目需要 xff0c 且这里是个人认识的一个整理 xff0c
  • ROS的tf包中坐标变换的方法

    1 setRotation函数的参数 在坐标变换的时候常有这样的写法 xff1a tfTutorialsAdding a frame C 43 43 transform setOrigin tf Vector3 0 0 2 0 0 0 tr
  • 转载-自定义ros消息 vector

    原创 xff1a https blog csdn net m zhangjingdong article details 79617966 1 我在ros程序包中新建一个msg文件夹 xff0c 用于存储msg消息相关定义 xff0c 之后
  • 学神的“诞生”-2014清华大学本科生特等奖学金答辩观后感

    清华的特奖与交大的竢实扬华 偶然间在学堂在线上留意到有这样的一场现场答辩 xff0c 很想知道最高学府的最高荣誉花落谁家 xff0c 得此殊荣的又是些怎样的 学神 xff0c 几点感受记录之 1 经历 gt gt 证书 清华的学生更注重大学
  • qt中 美化 问题列表

    1 QTabWidget 中tab xff0c tab bar xff0c pane属性分布 2 使用qss美化时 xff0c tab标签上和pane中都能美化成功 xff0c 但tab最右侧的tab bar却始终没有成功 设置控件的背景
  • AttributeError: module 'cv2.cv2' has no attribute 'createLBPHFaceRecognizer'

    AttributeError module cv2 cv2 has no attribute createLBPHFaceRecognizer 在某一次做人脸识别的小demo的过程中遇到了这个问题 下面直接上产生问题的源代码 span cl
  • CAN总线ACK响应问题

    CAN总线的应答位 xff08 ACK xff09 用来表示节点已经收到有效的帧 任何节点如果准确无误地接收到帧 xff0c 则要向总线上发送显性位 xff0c 该显性位将掩盖发送节点输出的隐性位 xff0c 使总线上表现为显性 如果发送节
  • 嵌入式书籍推荐

    嵌入式书籍推荐 Linux基础 1 Linux与Unix Shell 编程指南 C语言基础 1 C Primer Plus xff0c 5th Edition 美 Stephen Prata着 2 The C Programming Lan
  • 调试中关于__FILE__, __LINE__ 及 __FUNCTION__ 用法

    在C语言中 FILE xff1a 打印相应的文件名 LINE xff1a 打印语句在源代码中相应的行 FUNCTION xff1a 打印语句在源代码中相应的函数名
  • 看技术书籍坚持不下来的,看这里,记录增量学习法

    今天 xff0c 在阅读 软技能 代码之外的生存指南 这本书的过程中 xff0c 学习到了番茄工作法 定额工作法 xff0c 受此启发 xff0c 突然脑海里冒出了一个方法论 xff0c 这是我独创的一个学习方法论 xff0c 我把它称作
  • ubuntu16.04安装realsense2环境与SDK(D435)

    关于realsense2环境的安装以及SDK的使用现在的文档还不是很多 xff0c 就分享下我的过程 xff0c 希望对大家有帮助 我安装是从源码构建的 xff0c 以下是我参考的资料链接 第一个链接是官网 xff0c 我是以它为主 xff
  • C++服务器研发精进

    一袭青衫闯帝都 xff0c 回首已然四春秋 壮志未酬心未老 xff0c 抚膺身衰发已疏 转眼间已经工作四年有余 xff0c 回想刚毕业的懵懂无知 xff0c 仿佛就在昨日 xff0c 成长乎 xff1f 徒增岁月矣 理想中的职业生涯应该是目
  • [kernel 启动流程] (第二章)第一阶段之——设置SVC、关闭中断

    1 kernel启动流程第一阶段简单说明 arch arm kernel head S kernel入口地址对应stext ENTRY stext 1 第一阶段要做的事情 xff0c 也就是stext的实现内容 设置为SVC模式 xff0c
  • opencv 2.4.9编译踩坑笔记

    为了跑GSLAM xff0c 一直遇到opencv版本的问题 xff0c 本机之前是4 1 0 xff0c 作者回答用的版本是opencv2 4 9 xff0c 没办法 xff0c 再装一个 最终我的CMAKE指令 xff1a cmake
  • 如何使用APM固件飞控来使能外部位置控制

    在三维激光雷达平台上我们飞控采用pixhawk2的飞控 官方给我说这个支持APM和PX4的固件 xff0c 但是对APM固件的支持性比较好 xff0c 因此就选用了APM的飞控 在一开始装好飞机后 xff0c 第一次飞还好好的 xff0c
  • CentOS 8中安装docker时报错的解决

    CentOS 8中安装docker时报错的解决 Problem package podman span class token operator span 3 span class token punctuation span 2 span
  • 四旋翼飞行器(QuadCopter--Parrot mini drone)—— 基于模型设计(Model Based Design)

    版权声明 xff1a 本文为博主原创博文 xff0c 未经允许不得转载 xff0c 若要转载 xff0c 请说明出处并给出博文链接 最近一段时间 xff0c 朋友圈被MATLAB禁止哈工大 哈工程等科研院校使用刷屏了 xff0c 顿时各种声
  • VFH & VFH+ & VFH*—— Path Planning

    版权声明 xff1a 本文为博主原创博文 xff0c 未经允许不得转载 xff0c 若要转载 xff0c 请说明出处并给出博文链接 最近在学习VFH算法 xff0c 感觉蛮神奇 xff0c 特意从维基百科扒来了资料 xff0c 供学习研究