当前位置:   article > 正文

机器人路径规划:基于双向A*算法(bidirectional a star)的机器人路径规划(提供Python代码)_基于改进双向a*算法的移动机器人路径规划研究

基于改进双向a*算法的移动机器人路径规划研究

一、双向A*算法简介

传统A*算法是一种静态路网中求解最短路径最有效的方法, 它结合了BFS 算法和迪杰斯特拉算法(Dijkstra)的优点。 和迪杰斯特拉算法(Dijkstra)一样, A*算法能够用于 搜索最短路径; 和BFS 算法一样, A*算法可以用 启发式函数引导给出当下的最佳解。 传统A*算法的重点在于扩展下一个节点时引入了启发式函数 h(n), 对当前节点到目标节点的距离代价进行了评 估。 通过计算函数的相对最优解来筛选当前节点周 围的扩展节点, 能适用于各种场景, 相当灵活。

双向A*算法具体操作步骤如下:

1) 建立两个open列表和两个close列表, open 列表用来存放正反方向上已经生成但还没有被遍历 即等待检查的节点数据, close列表用来记录正反方 向上已访问过的即不需要再检查的节点数据。

2) 将开始结点和目标节点分别放在两个open 列表中作为当前节点, 对它所有的可达到且没有标 记过的子节点进行扩展, 由于此时待搜索的节点只 有一个, 即开始结点和目标节点的评估值肯定为最 优值, 则将这两个节点分别加入到两个close列 表中。

3) 对open 列表中的子节点计算评估值, 按照 评估值的大小进行排列, 找出评估值最小的节点, 并给它作标记加入到对应的close列表中。

4) 如果满足搜索条件, 表示找到路径, 停止搜 索; 否则将该节点继续进行扩展, 重复执行第三步; 或者open列表空了, 表示没有路径。

5) 从两个close列表的相遇节点开始进行父亲 节点遍历, 规划出最终的路径。

参考文献:

[1]刘梦杰,朱希安,王占刚,等.基于双向A*算法的矿井水灾逃生路径应用研究[J].煤炭工程, 2019(9):6.DOI:CNKI:SUN:MKSJ.0.2019-09-011.

二、部分代码

  1. import math
  2. import matplotlib.pyplot as plt
  3. show_animation = False
  4. class BidirectionalAStarPlanner:
  5. def __init__(self, ox, oy, resolution, rr):
  6. """
  7. Initialize grid map for a star planning
  8. ox: x position list of Obstacles [m]
  9. oy: y position list of Obstacles [m]
  10. resolution: grid resolution [m]
  11. rr: robot radius[m]
  12. """
  13. self.min_x, self.min_y = None, None
  14. self.max_x, self.max_y = None, None
  15. self.x_width, self.y_width, self.obstacle_map = None, None, None
  16. self.resolution = resolution
  17. self.rr = rr
  18. self.calc_obstacle_map(ox, oy)
  19. self.motion = self.get_motion_model()
  20. class Node:
  21. def __init__(self, x, y, cost, parent_index):
  22. self.x = x # index of grid
  23. self.y = y # index of grid
  24. self.cost = cost
  25. self.parent_index = parent_index
  26. def __str__(self):
  27. return str(self.x) + "," + str(self.y) + "," + str(
  28. self.cost) + "," + str(self.parent_index)

三、部分结果

四、完整Python代码

见下方联系方式

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/422940
推荐阅读
相关标签
  

闽ICP备14008679号