AirSim学习日志 10-避障算法调研

做一些简单的避障算法调研,对常见的避障算法原理和优缺点简单了解,便于之后选择合适的方法实现。

1.快速扩展随机树算法(RRT)

参考知乎:https://zhuanlan.zhihu.com/p/66047152

首先确定一张包含了障碍物信息的地图,从出发点开始向目标点生成一棵树,每个节点生长时都有一定的概率直接向终点生长、或朝地图内任意方向生长,以避免被障碍物阻拦生长。经过多次生长后,可以得到由起点到达终点的路径,最短路径的获取可以通过A*等算法实现。

这种方法简单直观,能适应很复杂的情况,但是需要提前知道障碍物的分布情况;生长结果与采样步长和数量相关,采样点过多会导致计算量大,过少可能无法得到理想路径。

2.概率路线图方法(PRM)

参考博客园:https://www.cnblogs.com/21207-iHome/p/7209954.html

与RRT类似,RRT通过树的生长寻找路径,在生长过程中采样点;PRM先在地图中采样,再通过采样点获取路径。

如果使用以上两种方法,需先获取障碍物分布信息,再通过航路点跟踪的方法到达指定目标。

3.人工势场法

参考知乎:https://zhuanlan.zhihu.com/p/66265861

构造人工势场,一种简单的构造方法为引力/斥力势函数,引力来源于目标点,斥力来源于障碍物。通过梯度下降算法,在人工势场中选取势最小的路径。

如果已知障碍物的分布,可以先获取人工势场,计算出最优路径,然后执行;如果未知障碍物的分布,可以尝试根据传感器检测信息实时构造周围势场,获取局部最优路径。缺点是可能陷入局部极小值,需进行改进。

4.Bug避障算法

参考博客园:https://www.cnblogs.com/21207-iHome/p/5998635.html

Bug1算法原理为,遇到障碍物后环绕障碍物一周,然后选择距离目标点最近的位置,并驶向该位置,然后继续前进;

Bug2算法原理为,遇到障碍物后环绕障碍物,在到达目标点与起始点的连线时,离开障碍物,沿该连线继续前进。

Bug1算法需环绕障碍物一周,用时较长;Bug2算法在大多数情况下优于Bug1算法,但复杂情况下可能用时更长。Bug算法原理非常简单,但用时较长、未考虑机器人/无人机的动力学限制,难以适应复杂的情况。

5.向量场直方图(VFH)

类似人工势场法,根据机器人/无人机周边环境,创建一个局部地图,使用极坐标直方图表示,选择值最小、宽度最大的方向前进。该算法改进自VFF算法,之后还有VFH+和VFH*等改进。在三维空间内,查到了3DVFH+的相关论文:《3DVFH+ Real-Time Three-Dimensional Obstacle Avoidance》

VFM算法原理较之前几种都复杂,考虑到的因素也更多,能适应实时环境。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值