(9-1)RRT算法:RRT算法介绍

本文介绍了RRT算法,一种在高维状态空间和动态环境中高效的路径规划方法,尤其在机器人、自动驾驶和无人机领域。文章详细阐述了RRT的基本原理、改进版本如RRTConnect和RRT*,以及位姿空间在运动规划中的重要性。
摘要由CSDN通过智能技术生成

RRT(Rapidly-exploring Random Tree)是一种基于随机采样的树形路径规划算法,适用于高维状态空间和动态环境中的路径规划。RRT算法能够快速生成可行路径,并且可以在运动过程中动态地调整路径以适应环境的变化。在本章的内容中,将详细讲常用动态路径规划算法中RRT算法的知识和用法,展示这些算法在智能驾驶、无人机和机器人等领域的应用过程。

9.1  RRT算法介绍

RRT是一种用于路径规划的算法,特别适用于机器人、自动驾驶车辆和其他自主系统的运动规划问题。该算法通过在自由空间中随机采样并迭代地构建一棵树来寻找从起点到目标点的可行路径。

9.1.1  机器人运动规划介绍

在过去的十多年中,机器人的运动规划问题已经收到了大量的关注,因为机器人开始成为现代工业和日常生活的重要组成部分。最早的运动规划的问题只是考虑如何移动一架钢琴从一个房间到另一个房间而没有碰撞任何物体。早期的算法则关注研究一个最完备的运动规划算法(完备性指如果存在这么一条规划的路径,那么算法一定能够在有限时间找到它))。例如用一个多边形表示机器人,其他的多边形表示障碍物体,然后转化为一个代数问题去求解。但是这些算法遇到了计算的复杂性问题,他们有一个指数时间的复杂度。在 1979 年,Reif 则证明了钢琴搬运工问题的运动规划是一个 PSPACE-hard 问题。所以这种完备的规划算法无法应用在实际中。

在实际应用中,运动规划算法有胞分法,势场法,路径图法等。这些算法在参数设置的比较好的时候,可以保证规划的完备性,在复杂环境中也可以保证花费的时间上限。然而,这些算法在实际应用中有许多缺点。例如在高维空间中这些算法就无法使用,像胞分法会使得计算量过大。势场法会陷入局部极小值,导致规划失败。

基于采样的运动规划算法是最近十几年提出的一种算法,并且已经吸引了极大的关注。概括的讲,基于采样的运动规划算法一般是连接一系列从无障碍的空间中随机采样的点,试图建立一条从初始状态到目标状态的路径。与最完备的运动规划算法相反,基于采样的方法通过避免在状态空间中显式地构造障碍物来提供大量的计算节省。即使这些算法没有实现完整性,但是它们是概率完备,这意味着规划算法不能返回解的概率随着样本的数量趋近无穷而衰减到零,并且这个下降速率是指数型的。

快速扩展随机树(Rapidly-exploring Random Trees,RRT)算法,是近十几年得到广泛发展与应用的基于采样的运动规划算法,它由美国爱荷华州立大学的 Steven M. LaValle 教授在1998 年提出,他一直从事 RRT 算法的改进和应用研究,他的相关工作奠定了 RRT 算法的基础。RRT 算法是一种在多维空间中有效率的规划方法。原始的 RRT 算法是通过一个初始点作为根节点,通过随机采样,增加叶子节点的方式,生成一个随机扩展树,当随机树中的叶子节点包含了目标点或进入了目标区域,便可以在随机树中找到一条由树节点组成的从初始点到目标点的路径。

快速扩展随机树(RRT)也是一种数据结构和算法,其设计用途是用来有效搜索高维非凸空间,可应用于路径规划、虚拟现实等研究。RRT 是一种基于概率采样的搜索方法,它采用一种特殊的增量方式进行构造,这种方式能迅速缩短一个随机状态点与树的期望距离。该方法的特点是能够快速有效的搜索高维空间,通过状态空间的随机采样点,把搜索导向空白区域,从而寻找到一条从起始点到目标点的规划路径。它通过对状态空间中的采样点进行碰撞检测,避免了对空间的建模,能够有效的解决高维空间和复杂约束的路径规划问题。RRT 算法适合解决多自由度机器人在复杂环境下和动态环境中的路径规划问题。与其他的随机路径规划方法相比,RRT 算法更适用于非完整约束和多自由度的系统中。

RRT 算法的主要优点之一是它的随机性和快速性。通过随机采样并迭代地扩展树,RRT 能够有效地探索大型自由空间,并在有限时间内找到可行路径。此外,RRT 算法对于高维空间中的运动规划问题也很有效,因为它不需要显式地构建整个空间的表示,而是在需要时根据采样点来动态扩展搜索树。

注意:RRT算法也有一些局限性,例如在某些情况下可能会找到次优路径,以及对于高度动态的环境或需要考虑更多因素的问题可能不够灵活。因此,有时候需要结合其他算法或改进来解决特定的路径规划问题。

9.1.2  改进的RRT 算法

相比于最原始的RRT 算法的一些缺点,一些专家提出了许多改进的RRT 算法,其中常用的改进算法如下所示。

1. 基于概率 P RRT

为了加快随机树到达目标点的速度,简单的改进方法是:在随机树每次的生长过程中,根据随机概率(0.0 到 1.0 的随机值 p)来选择生长方向是目标点还是随机点。2001 年,LaValle在采样策略方面引入 RRT GoalBias 与 RRT GoalZoom,RRT GoalBias 方法中,规划器随机采样的同时以一定概率向最终目标运动。在RRTGoalZoom的方法中,规划器分别在整个空间和目标点周围的空间进行采样。

2. RRT_Connect

RRT_Connect 即连接型RRT,2000 年由 LaValle 教授和日本东京大学的 Kuffner 教授联合提出。该算法一开始同时从初始状态点和目标状态点生长两棵随机树,每一次迭代过程中, 其中一棵树进行扩展,尝试连接另一棵树的最近节点来扩展新节点。然后,两棵树交换次序重复上一迭代过程。这种双向的RRT 技术具有良好的搜索特性,相比原始快速扩展随机树算法,在搜索速度、搜索效率有了显著提高。

3. RRT*

2010 年,MIT 的 Sertac 和 Emilio 证明了在基于采样的运动规划算法中,随着 RRT 算法采样点趋向于无穷,其收敛到最优解的概率为 0,为此他们提出了渐进最优(asymptotic optimality)的 RRT*算法。该算法在原有 RRT 算法基础上,改进了父节点选择的方式, 采用代价函数来选取扩展节点邻域内最小代价的节点为父节点,同时,每次迭代后都会重新连接现有树上的节点,从而保证计算复杂度和渐进最优解。

9.1.3  与 RRT 算法相关的概念

1. 位姿空间

运动规划的状态空间是应用于机器人变换的集合,称为位姿空间(configuration space))。在位姿空间中引入了 C空间、C空间障碍物、自由空间等一系列概念。法国计算机科学家Latombe在他的著作中对路径规划的文献进行了总结统一。对于路径规划问题,位姿空间的引入是一次划时代的革命,一旦清楚的理解了位姿空间的概念和意义,许多诸如几何学、运动学等各种以不同形式出现的运动规划问题都可以采用相同的规划算法加以解决,这种层次的抽象是非常重要的。

(1)位姿(configuration)

机器人一个位姿指的是一组相互独立的参数集,它能完全确定机器人上所有的点在工作空间 W 中的位置,这些参数用来完整描述机器人在工作空间 W 中的状态。一个位姿通常表示为带有位置和方向参数的一个向量(vector),用 q 表示。

(2)自由度(degrees of freedom)

机器人的自由度定义为机器人运动过程中决定其运动状态的所有独立参数的数目,即 q 的维数。

(3)位姿空间(configuration space)

位姿空间是机器人所有可能位姿组成的集合, 代表了机器人所有可能的运动结果,称为C-空间,也可简记为 C。

未完待续

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农三叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值