VFH 2D —— Path Planning

16 篇文章 1 订阅
10 篇文章 8 订阅

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

       进行路径规划的前提是,无人机或机器人自身已经对当前环境有一个清晰的认知(环境感知),清晰地知道当前自己处在当前环境下的位置姿态朝向以及目的地的位置。下面的仿真也是基于上述这个前提的。那么,环境感知针对所谓的智能体(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+会更顺滑一些,可能是我的调参能力还有待提升吧。。。。。。

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
VFH算法(Vector Field Histogram Algorithm)是一种用于机器人导航和避障的算法。它通过分析环境中的障碍物信息,构建一个直方图,然后根据直方图进行路径规划。 在Matlab中实现VFH算法,可以按照以下步骤进行: 1. 首先,需要获取机器人的传感器数据,例如激光雷达数据或超声波传感器数据。这些数据用于检测环境中的障碍物。可以使用Matlab提供的传感器接口进行数据获取。 2. 接下来,根据传感器数据,将环境划分为一系列的扇形区域。每个扇区表示一个特定角度范围内的障碍物信息。可以使用Matlab的向量和矩阵操作来进行扇区划分。 3. 然后,分析每个扇区中的障碍物数据,并将其转换为极坐标。根据障碍物的位置和距离,计算其相对于机器人的极坐标表示。绘制这些障碍物的极坐标表示,并将其加入到直方图中。 4. 构建直方图后,可以根据直方图中的信息进行路径规划。通过分析直方图的形状和障碍物的分布,选择一条不会与障碍物相交的安全路径。 5. 最后,使用Matlab提供的控制命令将路径转化为机器人的运动指令。根据路径规划结果,控制机器人的运动方向和速度。 通过以上步骤,就可以在Matlab中实现VFH算法,并实现机器人的导航和避障功能。在实际应用中,还可以对算法进行优化和改进,以提高导航和避障的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值