zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【路径优化】基于改进的RRT算法的全局路径规划(Matlab代码实现)

MATLAB规划算法代码 实现 基于 优化 路径
2023-09-14 09:05:20 时间

 💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

🚀支持:🎁🎁🎁如果觉得博主的文章还不错或者您用得到的话,可以关注一下博主,如果三连收藏支持就更好啦!这就是给予我最大的支持!

📋📋📋本文目录如下:⛳️⛳️⛳️

目录

1 概述

2 数学模型 

3 运行结果

4 流程图

5 结论 

6 Matlab代码实现

1 概述

快速探索随机树(RRT)在运动规划中很受欢迎,因为它们可以有效地找到单查询问题的解决方案。最优 RRT (RRT*s) 将 RRT 扩展到寻找最优解的问题,但这样做是渐近地找到从初始状态到规划域中每个状态的最优路径。这种行为不仅效率低下,而且与它们的单查询性质不一致。对于寻求最小化路径长度的问题,可以改进解决方案的状态子集可以用长超球体来描述。我们表明,除非直接对该子集进行采样,否则在大世界或高状态维度中改进解决方案的概率会变得任意小。在本文中,我们提出了一种通过直接采样该子集来集中搜索的精确方法。所提出的采样技术的优势通过一种新算法 Informed RRT* 得到证明。该方法保留了与 RRT* 相同的完整性和最优性概率保证,同时提高了收敛速度和最终解决方案的质量。我们将该算法作为对 RRT* 的简单修改,可以通过更高级的路径规划算法进一步扩展。我们通过实验证明它在收敛速度、最终解决方案成本和找到困难通道的能力方面优于 RRT*,同时证明对规划问题的状态维度和范围的依赖性较小。

2 数学模型 

     \begin{array}{r} \sigma^{*}=\underset{\sigma \in \Sigma}{\arg \min }\left\{c(\sigma) \mid \sigma(0)=\mathbf{x}_{\text {start }}, \sigma(1)=\mathbf{x}_{\text {goal }},\right. \\ \left.\forall s \in[0,1], \sigma(s) \in X_{\text {free }}\right\}, \end{array}

         X_{f}=\left\{\mathbf{x} \in X \quad \mid f(\mathbf{x})<c_{\text {best }}\right\}

详细数学模型见第5部分。

3 运行结果

 

4 流程图

 

5 结论 

在本文中,我们讨论了 RRT* 算法改进解决方案的必要条件是从规划问题的子集 Xf ⊆X 添加状态。对于寻求最小化 Rn 中路径长度的问题,可以通过以初始状态和目标状态为焦点的长超球体(一种特殊类型的超椭球体)来估计该子集 X̂f ⊇Xf。结果表明,随着问题的维数增加、采样集的大小增加或解接近理论最小值,通过对较大集合的拒绝采样从该子集中添加新状态的概率变得任意小。提出了一种直接对 X̂f 进行抽样的简单方法,该方法允许创建知情抽样规划器,例如 Informed RRT*。结果表明,Informed RRT* 在无需对最优同伦类进行任何假设的情况下,无论状态维度如何,都能在有限时间内找到接近最优解的能力优于 RRT*.

6 Matlab代码实现