移动机器人的自主导航:RRT 路径规划算法(教程含源码)

机器人运动规划是一个术语,意思是找到一组可行的配置,将机器人从初始位置带到所需位置。基本 RRT 路径规划算法通过创建连接起点和终点(目标)点的节点树来实现这一点。

在每一步中,该算法都会选择一个随机点,然后将该点连接到已经计算并插入到节点/点树中的最近点。因此,在这两点之间创建了一条边/路径。然后检查连接两点的路径,看它是否与任何障碍物发生碰撞。如果没有与障碍物发生碰撞,则将此节点添加到节点树中。但是,如果路径与任何障碍物发生碰撞,则确定移动不可行,并使用新拾取的点再次执行相同的计算。这些操作迭代执行,直到达到目标点或公差范围。

该算法广泛用于机器人,因为它可以应用于由障碍物组成的环境。即使它使机器人到达其目标点,由基本 RRT 算法计算的路径通常不是最优的,因为它使用随机选取的点。尽管存在用于优化路径的改进算法(例如 RRT*),但我们将检查基本的 RRT 算法,它有一些小改动。

具有 10000 次迭代的 RRT 算法的动画

在下文中,我们将介绍如何将机器人移动到目标而不会撞到任何障碍物。RRT 算法将运行多次,以便为特定的路径规划问题创建不同的解决方案。

让我们检查一下我们的机器人将要找到它的方式的环境(C 空间):

在这里插入图片描述

我们的起点位于 (-0.5, -0.5),所需点位于 (0.5, 0.5) 点。

由于我们的环境相对

猜你喜欢

转载自blog.csdn.net/code2day/article/details/131273443