前言
在环境感知与规划专题(一)——A*算法入门一文中阐述了广泛应用于机器人路径搜索问题的求解算法——A*,它是一种基于图搜索的路径规划算法。而主流的路径规划算法分为基于图搜索的路径规划算法与基于采样的路径规划算法。 本文将阐述一种基于采样的路径规划算法——快速搜索随机树(RRT)。
快速搜索随机树(RRT)
快速搜索随机树(RRT)算法从起始点开始,在地图上进行随机采样(如Monte Carlo Sample),或者说随机撒点,进而,根据采样点信息,结合障碍物检测等约束条件,构建一颗搜索树,直到树的枝叶延伸至目标点或达到预设的采样次数为止。 RRT的算法流程如下图所示,
算法主要包含如下部分:
- 随机采样得到采样点
- 寻找搜索树种距离采样点最近的点
- 在与的连线上向前延伸一段距离,从而得到
- 对于与之间的路径,我们需要对其进行碰撞检测,若该路径是的,那么我们将与加入搜索树;反之,则放弃该节点
- 以此迭代,最终找到目标点为止
总结
本篇阐述了基于采样的路径搜索算法——快速搜索随机树(RRT),在地图维度较高或尺寸较大时,基于采样的路径规划算法较基于图搜索的路径规划算法(如A*等)有更高的搜索效率。然而,该算法得到的路径并非全局最优的,甚至每一次计算的得到的结果都有所不同。 下一篇中,我们将阐述快速搜索随机树算法在工程中存在的问题及其改进算法。
作者简介: 一个被Coding耽误的无人机算法工程师,控制、导航略懂一二,热衷技术,喜欢乒乓、音乐、电影,欢迎交流。 知乎: @遥远的乌托邦 GitHub: https://github.com/DistantUtopia 微信公众号: @遥远的乌托邦
发布于 2020-05-26