RRT*算法:


具体过程:
1. 产生一个随机点xrand。

2. 在树上找到与xrand最近的节点xnearest。

3. 连接xrand与xnearest。

4. 以xrand为中心,ri为半径,在树上搜索节点。

5. 找出潜在的父节点集合Xpotential_parent,其目的是要更新xrand,看看有没有比它更好的父节点。

6. 从某一个潜在的父节点xpotential_parent开始考虑。

7. 计算出xparent作为父节点时的代价。

8. 先不进行碰撞检测,而是将xpotential_parent与xchild(也就是xrand)连接起来。

9. 计算出这条路径的代价。

10. 将新的这条路径的代价与原路径的代价作比较,如果新的这条路径的代价更小则进行碰撞检测,如果新的这条路径代价更大则换为下一个潜在的父节点。

11. 碰撞检测失败,该潜在父节点不作为新的父节点。

12. 开始考虑下一个潜在父节点。

13. 将潜在父节点和xchild连接起来

14. 计算出这条路径的代价。

15. 将新的这条路径的代价与原路径的代价作比较,如果新的这条路径的代价更小则进行碰撞检测,如果新的这条路径代价更大则换为下一个潜在的父节点。

16. 碰撞检测通过。

17. 在树中将之前的边删掉。

18. 在树中将新的边添加进去,将xpotential_parent作为xparent。

19. 遍历所有的潜在父节点,得到更新后的树。

相关文章:
-
2022-12-23
-
2021-06-11
-
2021-12-26
-
2021-05-13
-
2021-06-09
-
2022-02-12
-
2021-07-22
猜你喜欢
-
2021-04-01
-
2021-12-21
-
2021-11-03
-
2021-12-12
-
2021-12-17
-
2021-11-30
相关资源
-
下载
2021-07-14
-
下载
2022-12-24
-
下载
2021-06-06
-
下载
2022-12-06