VFH 2D —— Path Planning

2023-05-16

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

       进行路径规划的前提是,无人机或机器人自身已经对当前环境有一个清晰的认知(环境感知),清晰地知道当前自己处在当前环境下的位置姿态朝向以及目的地的位置。下面的仿真也是基于上述这个前提的。那么,环境感知针对所谓的智能体(robot、uav......)一定是需要强大的传感器的,例如激光雷达、视觉传感器等,通过这些传感器获取当前环境的信息,再通过最近大火的SLAM(三维实时地图重建)算法对当前的环境感知到位,从而进行下一步的path planning路径规划。

       从网上扒了个大神实现的水平面二维的VFH算法仿真,自己修改了一些,以便展示更清晰美观。

       VFH算法的原理如下:

         1)利用机载距离传感器采集的距离数据,实时更新二维直角直方图网格。

         2)直方图网格被简化为围绕机器人瞬间位置构造的一维极坐标直方图。极坐标直方图是VFF和VFH方法之间最显著的区  别,因为它允许对机器人的瞬时环境进行空间解释(称为极坐标障碍密度)。

         3)极障碍密度低于阈值的连续扇区称为“候选谷”。选择最接近目标方向的候选谷进行进一步处理。

         4)确定所选候选方向的中心方向和转向的方向。

         5)机器人朝向与那个方向对齐。

         6)机器人在迎面接近障碍物时降低速度。

 

VFH+算法仿真示意图:

 

                                                  

 

一组VFH&VFH+&VFH*的对比仿真——相关参数一致:

 

VFH算法的实际路径走了10.2,VFH+算法的实际路径为10,VFH*算法的实际路径为10。

很明显可以看得出VFH+和VFH*还是要优于VFH的,但是通过多次调参对比,相对于VFH+,并没有看得出VFH*有什么显著优势,反而路径直观对比VFH+会更顺滑一些,可能是我的调参能力还有待提升吧。。。。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VFH 2D —— Path Planning 的相关文章

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

    我需要一种强大且简单的方法来从简单字符串中删除非法路径和文件字符 我使用了下面的代码 但它似乎没有做任何事情 我错过了什么 using System using System IO namespace ConsoleApplication1
  • Windows 终端中的图标和背景图像字段无法识别父进程目录

    Windows 终端版本 1 12 10732 0 Windows 内部版本号 19043 1645 Issue 如果这个问题已经在其他地方得到解决 请原谅我 但我意识到当Use parent process directory被检查 Co
  • Keras 导入错误 Nadam

    我在尝试导入 Keras 模块 Nadam 时遇到导入错误 gt gt gt from keras optimizers import Nadam Traceback most recent call last File
  • python:获取上两层目录

    好吧 我不知道模块在哪里x是 但我知道我需要向上两层目录的路径 那么 有没有更优雅的方法 import os two up os path dirname os path dirname file 欢迎提供适用于 Python 2 和 3
  • Javascript:通过将路径作为字符串传递给对象来获取对象的深层值[重复]

    这个问题在这里已经有答案了 可能的重复 使用字符串键访问嵌套的 JavaScript 对象 https stackoverflow com questions 6491463 accessing nested javascript obje
  • 无法在 Windows 10 上更新 pip 的 PATH 变量

    我知道有数千个类似的主题 但我的 pip 命令突然停止工作 尽管我进行了所有研究 但我无法弄清楚原因 自从我上次使用 pip 以来已经有一段时间了 令人惊讶的是我的计算机不再识别该命令 我重新安装了pip 提示告诉我PATH变量没有正确更新
  • Android 中的 java.io.FileNotFoundException

    我正在使用代码从图库中选择图像 public void onCreate Bundle savedInstanceState super onCreate savedInstanceState setContentView R layout
  • 如何在 TypeScript React 项目中使用 eslint import 插件启用绝对路径别名?

    我已经安装了eslint plugin import到我的项目 我的目标是使用 import no relative parent imports error 设置禁止在我的项目中进行相对导入以增强可读性 但是 此设置会在我的项目中产生错误
  • 如何在 OS X 上查看 $PATH 变量的当前值?

    PATH returns bash usr local share npm bin Library Frameworks Python framework Versions 2 7 bin usr local bin usr local s
  • JOGL 异常 - 在 java.library.path 中找不到gluegen-rt

    线程 main java lang UnsatisfiedLinkError中出现异常 java library path中没有gluegen rt 在 java lang ClassLoader loadLibrary ClassLoad
  • python 打开相对文件夹中所有以.txt结尾的文件

    我需要打开并解析文件夹中的所有文件 但我必须使用相对路径 类似于 input files 我知道在 JavaScript 中你可以使用 path 库来解决这个问题 我怎样才能在Python中做到这一点 这样您就可以获得路径中的文件列表作为列
  • Excel的解析路径

    其实我想问以下问题 对于位于 目录中定义的 PATH 怎么能 我找出这些目录中的哪个 找到了 因为我需要使用 Process Run 从 C 运行 Excel 并且只需指示 Excel 即可正常工作 Windows 似乎知道在哪里可以找到它
  • 如何使用 sys.path.append 在 Python 中导入文件?

    我的桌面上有两个目录 DIR1 and DIR2其中包含以下文件 DIR1 file1 py DIR2 file2 py myfile txt 这些文件包含以下内容 file1 py import sys sys path append s
  • 在java中打开Windows资源管理器

    我一直在 Stack Overflow 上寻找这个问题的答案 但找不到适合我的答案 使用 Java 如何创建一个将资源管理器窗口启动到指定目录的按钮 如果可能的话 如何使其适用于 OSX 和 Linux 我不确定它在其他操作系统中如何工作
  • 本地用户名不允许使用字符

    目前 如果我尝试将本地用户 jim bob 添加到 Windows 7 系统 如预期的那样 将显示以下错误对话框 其中显示用户名的所有非法字符 是否有一个快速的 net 方法可以调用并返回相同的字符 例如 Path GetInvalidPa
  • 使用 java.nio.file.Paths 接口时缺少方案(IllegalArgumentException)

    这是一个非常简单的java问题 我在 Linux 系统上使用 Java 8 和 eclipse kepler 我一直在尝试尝试NIO 2 我的代码是 package lucasTest import java io IOException
  • svg路径指针事件-点击检测

    我正在编写一些 HTML 以便可以使用 HTML SVG 和 PATH 标签绘制贝塞尔曲线 我的曲线效果非常好 现在我想添加一项功能 如果用户将鼠标悬停在曲线上 我会更改颜色 但实际情况是 SVG 创建了一个包含路径的大框 并捕获所有点击
  • Ansible:如何为Solaris设置全局路径

    我正在编写 Ansible 剧本来在 Solaris 服务器上设置和安装我们的应用程序 问题是我需要执行的 bash 脚本都假设某个目录位于 PATH 上 即 data bin 如果 Ansible 没有忽略所有这些 这通常不会成为问题 p
  • 无法从角度路由器获取路径或 url

    我无法从 ActivatedRoute 或 Router 导入中获取 URL 或路径 它为路径 输出空白 为 URL 输出 我记得使用的是工作版本 唯一捕获正确路由的是Router events 我也无法订阅ActivatedRoute 中
  • 在 SVG 路径中动态创建渐变层

    我正在使用 SVG 创建动态路径 我现在希望在我的路径中添加渐变 但我被困住了 按照我尝试的方式 我的渐变沿着图 2 所示的路径进行 而我要求它是图 1 中的那种 Current 我的渐变和描边定义如下

随机推荐

  • 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 供学习研究
  • VFH 2D —— Path Planning

    版权声明 xff1a 本文为博主原创博文 xff0c 未经允许不得转载 xff0c 若要转载 xff0c 请说明出处并给出博文链接 进行路径规划的前提是 xff0c 无人机或机器人自身已经对当前环境有一个清晰的认知 xff08 环境感知 x