路径规划(六)动态RRT(Dynamic RRT)

标签: 函数 工具箱 建模 算法

王昊 2023-01-05 14:11:02

6.1原理

        Dynamic RRT和Extended RRT一样,也是用来解决动态路径规划问题,它们的思想有一点是共通的,那就是不要完全放弃初始RRT生成的树或初始路径的信息,而是在此基础上重新规划。Dynamic RRT和Extended RRT的区别在于,Extended RRT利用的是RRT生成的初始路径的信息,而Dynamic RRT利用的是RRT生成的初始RRT树的信息。

思路如下:

        在老地图中,用RRT算法生成了一个RRT树,在新地图中,原始RRT树的节点信息(坐标、父节点)存储在一个节点集合中。在新地图中,先检测新地图中比老地图多出的障碍物,然后,以碰撞检测为评判根据,删除老节点集合中与新障碍物无法通过碰撞检测的节点和边。的到一颗修建过后的与新地形无碰撞的修剪后RRT树,然后再在这颗修剪后的额RRT树的基础上,继续生长这棵树,直到这棵树连接起点和终点,然后回溯路径,得出新路径。

89dded9949e780c685fe54c29e1488b.png

①从从初始配置到目标配置生成的 RRT 开始(图(a))。

 

②当配置空间发生变化时(例如通过接收新信息),将RRT中因这些变化而失效的所有部分标记为无效(图(b)和(c))。

 

③然后我们修剪树以去除所有这些无效部分(图(d))。

 

④此时,保证树中剩余的所有节点和边都是有效的,但树可能不再达到目标。最后,我们把树长出来,直到再次达到目标


6.2 伪码

3bf273bd9cc3bbfd66aa081569012fb.png


6.3 程序示例

bf7a45f8258b3b9ea838901227910bd.png

加入新的障碍物后,被该障碍物折断的剩余的图:

e4f64eacadd4582bd7b1750ed53c7a9.png

在原来的树的基础上,继续生长后的图:

574acae1f213d93b0da1fdc37634c50.png


6.4 参考

Replanning with RRTs 

2682 0 0 收藏 回复

回复

回复

重置 提交