本系列文章主要对Bug类路径规划算法的原理进行介绍,在本系列的第一篇文章中按照时间顺序梳理了自1986年至2018年Bug类路径规划算法的发展,整理了13种BUG系列中的典型算法,从本系列的第二篇文章开始依次详细介绍了其中具有代表性的BUG1、BUG2、Tangent BUG、I-BUG、RandomBug、BugFlood等算法。
本系列文章链接 (点击可跳转):
-----------------------------------------------------------------------------
BUG系列路径规划算法原理介绍(一)——总结篇
BUG系列路径规划算法原理介绍(二)——BUG1 BUG2算法
BUG系列路径规划算法原理介绍(三)——Tangent BUG算法
BUG系列路径规划算法原理介绍(四)——I-BUG算法
BUG系列路径规划算法原理介绍(五)——RandomBug算法
BUG系列路径规划算法原理介绍(六)——BugFlood算法
-----------------------------------------------------------------------------
本篇文章作为本系列文章第一篇文章—总结篇或者说目录索引篇,整理索引了本系列所有的文章,提供了本系列中其他文章的链接。本篇文章按照时间顺序梳理了自1986年至2018年Bug类路径规划算法的发展,整理了13种BUG系列中的典型算法。
BUG类算法的发展及典型算法
BUG类算法,是基于几何地图规划的算法,算法原理类似昆虫爬行的运动决策策略,其核心思路是当机器人遇到障碍物时,就沿着障碍物边界运动,没有遇到障碍物时候,就沿着起点到终点的连线方向上运动。
1、BUG1 and BUG2(在本系列第二篇文章中已详细介绍)
1987年 Vladimir J. Lumelsky 和 Alexander A. Stepanov 在论文《Path-planning strategies for a point mobile automaton moving amidst unknown obstacles of arbitrary shape》中回顾了BUG1 算法,并提出了BUG2算法。
(1)论文链接:https://linkspringer.53yu.com/article/10.1007/bf01840369
(2)论文DOI:10.1007/bf01840369
(3)论文摘要
考虑了在充满未知障碍物的二维场景中移动的自动机的路径规划问题。自动机是一个点; 障碍物可以是任意形状,具有连续的边界和有限的大小; 对场景的大小没有限制。自动机可用的信息仅限于其自身的当前坐标和目标位置的坐标。同样,当自动机碰到障碍物时,自动机的 “触觉传感器” 会检测到此事实。该信息被证明足以达到目标或在有限的时间内得出无法达到目标的结论。开发了在公认模型框架内运行的任何算法生成的路径长度的最坏情况下界; 界限用场景中自动机遇到的障碍物的周长表示。提供了保证到达目标 (如果目标可到达) 的算法,以及目标可达性的测试。研究了算法的效率,并产生了生成路径长度的最坏情况上限。
(4)规划示例:
2、VisBug
1990年 V.J. Lumelsky和T. Skewis在论文《Incorporating range sensing in the robot navigation function》中提出了VisBug算法
(1)论文链接:https://ieeexplore.ieee.org/abstract/document/59969
(2)论文DOI: 10.1109/21.59969
(3)论文摘要:
考虑了移动机器人导航模型,其中机器人是在具有未知形状的任意障碍物的环境中运行的点自动机。机器人的输入信息包括其自身和目标点坐标,以及本地感测信息,例如来自立体视觉或测距仪。解决了这些算法问题1) 是否有可能将传感和规划功能结合起来,从而产生与本质上类似的 “主动传感”,以规划的需求为指导?(答案是 “是”)。2) 更丰富的感测 (例如,立体视觉与触觉) 能否保证更好的性能,即导致更短的路径?(一般答案是 “否”。) 提出了一种将距离数据与运动计划相结合的范例。事实证明,需要对更简单的 “触觉” 算法进行广泛的修改,以充分利用额外的传感功能。描述了两种保证收敛并表现出不同行为 “风格” 的算法,并在仿真示例中演示了它们的性能。
(4)规划示例:
3、TangentBug(在本系列第三篇文章中已详细介绍)
1996年 I. Kamon和E. Rivlin在论文《A new range-sensor based globally convergent navigation algorithm for mobile robots》中提出了TangentBug算法
(1)论文链接:https://ieeexplore.ieee.org/abstract/document/503814
(2)论文DOI: 10.1109/ROBOT.1996.503814
(3)论文摘要
我们提出了TangentBug,一种新的基于距离传感器的两自由度移动机器人导航算法。该算法将局部反应规划与全局收敛行为相结合。对于局部规划,TangentBug使用范围数据计算基于一种新结构的局部最短路径,称为局部切线图(LTG)。机器人使用LTG在向目标移动时选择局部最优方向。机器人还在其另一种运动模式中使用LTG,在该模式下,它遵循障碍物边界。在这种模式下,机器人使用LTG进行局部捷径,并测试允许机器人恢复朝向目标运动的离开条件。我们分析了TangentBug的收敛性和性能特性。我们还提供了仿真结果,表明TangentBug始终比经典VisBug算法性能更好。此外,TangentBug生成的路径在简单环境中随着传感器最大检测范围的增加而接近全局最优路径。
(4)规划示例:
4、DistBug
1997年 I. Kamon和E. Rivlin在论文《Sensory-based motion planning with global proofs》中提出了DistBug算法
(1)论文链接:https://ieeexplore.ieee.org/abstract/document/650160
(2)论文DOI: 10.1109/70.650160
(3)论文摘要
提出了一种基于感官的算法DistBug,该算法可以保证在可能的情况下达到目标,并报告目标是否无法到达。该算法是反应性的,因为它依赖于范围数据来做出本地决策,并且不会创建世界模型。该算法由两种行为 (运动模式) 组成: 障碍物之间的直线运动和障碍物边界跟随。给出了仿真结果以及实际机器人的实验。离开障碍物边界的条件基于到目标方向的自由范围。这种情况允许机器人在当地条件保证全局收敛的情况下立即离开障碍物。当机器人接近障碍物时,范围数据用于选择转弯方向。还引入了在似乎方向错误的情况下反转跟随方向的边界的标准。这些本地决策的直接结果是无法显着改善性能。
(4)规划示例:
5、RoverBug
1999年 Sharon Laubach 在 Joel Burdick论文《RoverBug: Long Range Navigation for Mars Rovers》中提出了RoverBug算法
(1)论文链接 https://linkspringer.53yu.com/chapter/10.1007/BFb0119412
(2)论文DOI: 10.1007/BFb0119412
(3)论文摘要
火星探路者成功后,对用于行星探索的新型移动机器人的需求出现了。这些机器人必须能够在严重的资源限制下,在崎rough,未知的地形上自主穿越长距离。我们提出了 “RoverBug” 算法,该算法是完整的,正确的,需要最小内存,并且仅使用车载传感器,这些传感器在算法的指导下仅感测导航所需的数据。描述了RoverBug在喷气推进实验室 (JPL) 的Rocky7火星探测器原型上的实现,并给出了在模拟火星地形中运行的实验结果。
(4)规划示例:
6、PE-BUG
2001年 S. Rajko;和S.M. LaValle在论文《A pursuit-evasion BUG algorithm》中提出了PE-BUG算法
(1)论文链接:https://ieeexplore.ieee.org/abstract/document/932894
(2)论文DOI: 10.1109/ROBOT.2001.932894
(3)论文摘要
我们考虑了搜索不可预测的运动目标的问题,使用的II机器人缺乏环境地图,缺乏构建地图的能力,并且导航能力不完善。我们提出了一种完整的算法,该算法为机器人提供了一种运动策略,该策略可以确保检测到难以捉摸的目标 (如果存在这种策略)。假定机器人具有全向感测设备,该设备用于检测移动目标以及2D环境中深度数据的不连续性。我们还表明,该机器人具有与具有完整地图和完美导航能力的机器人相同的pi-oblem解决能力。该算法已在仿真中实现,并给出了一些示例。
(4)规划示例:
7、K-Bug
2007年 Ricardo A. Langer和Leandro S. Coelho在论文《K-Bug, A New Bug Approach for Mobile Robot’s Path Planning》中提出了K-Bug
(1)论文链接:https://ieeexplore.ieee.org/abstract/document/4389264
(2)论文DOI: 10.1109/CCA.2007.4389264
(3)论文摘要
这项工作提出了K-Bug算法,这是一种属于Bug族的移动机器人路径规划的新方法。该算法的主要思想可用于提高使用局部信息的现有路径规划方法的性能,或者如果全局信息可用,则可以用作全新的方法。它还对文献中发现的方法进行了简短的比较,证明了即使在复杂的环境中,它的有效性,低的计算成本和高的鲁棒性。
(4)规划示例:
8、CBUG
2008年, Yoav Gabriely和Elon Rimon在论文《CBUG: A Quadratically Competitive Mobile Robot Navigation Algorithm》中提出了CBUG算法
(1)论文链接:https://ieeexplore.ieee.org/abstract/document/4689414
(2)论文DOI: 10.1109/TRO.2008.2006237
(3)论文摘要
本文关注的问题是尺寸为D的移动机器人必须在未知的平面环境中导航到目标。在线导航算法的竞争力衡量其路径长度相对于最佳离线路径的长度。虽然竞争力通常意味着恒定的相对绩效,但这里将其概括为在线绩效与最佳离线解决方案之间的任何函数关系。本文介绍了一种新的在线导航算法,称为CBUG,该算法需要恒定的内存并具有二次竞争性能。此外,表明通常,任何在线导航算法都必须至少具有二次竞争性能。CBUG算法达到了二次下界,因此具有最佳竞争力。该算法经过了一些实际的改进,并在类似办公室的环境中说明了其性能。
(4)规划示例:
9、I-BUG(在本系列第四篇文章中已详细介绍)
2009年 ,Kamilah Taylor和Steven M. LaValle在论文《I-Bug: An intensity-based bug algorithm》中提出了I-BUG算法
(1)论文链接:https://ieeexplore.ieee.org/abstract/document/5152728
(2)论文DOI: 10.1109/ROBOT.2009.5152728
(3)论文摘要
本文介绍了一种基于传感器的规划算法,该算法使用的传感信息比bug算法家族中的任何其他算法都要少。机器人无法访问有关位置坐标,角坐标,时间或测距的精确信息,但仍然能够将自己导航到平面中未知的分段分析障碍物中的目标。唯一提供真实值的传感器是强度传感器,它测量从目标发出的信号强度。信号强度函数可能是对称的,也可能不是对称的; 主要要求是电平集是同心圆的拓扑圆。为该方法建立了收敛性分析和距离界。
(4)规划示例:
10、RandomBug (在本系列第五篇文章中已详细介绍)
2014年, 徐啟蕾在论文《RandomBug: Novel Path Planning Algorithm in Unknown Environment》中提出了RandomBug算法
(1)论文链接:https://benthamopen.com/ABSTRACT/TOEEJ-8-252
(2)论文DOI: 10.2174/1874129001408010252
(3)论文摘要
本文提出了一种在完全未知环境下用于自主移动代理的新颖实时路径规划算法。在该算法中,所有计划的路径都以矢量的形式被描述和存储在算法中。当自主沿着计划的路径移动时,仅考虑单个方向上的旋转角度和移动距离。该算法将距离传感器数据与安全半径相结合,从而确定阻塞障碍物并通过选择随机中间点来计算较短的路径。这些随机中间点是在当前路径中存在阻塞障碍时生成的。然后选择最佳中间点并将其插入当前路径中以重新生成新的计划路径。仿真结果表明,该算法是有效的。
(4)规划示例:
11、Real-Time Bug
2015年 ,Thaker Nayl和George Nikolakopoulos等人在论文《Real-Time Bug-Like Dynamic Path Planning for an Articulated Vehicle》中提出了Real-Time Bug算法
(1)论文链接:https://linkspringer.53yu.com/chapter/10.1007/978-3-319-10891-9_11
(2)论文DOI 10.1007/978-3-319-10891-9_11
(3)论文摘要
本文提出了一种新颖的实时bug算法,用于在有限且感官重建的周围静态环境下为铰接式车辆执行动态平滑路径规划方案。在一般情况下,可以通过改变铰接式转向角以驱动铰接式车辆的前部和后部远离障碍物来执行防撞技术。在提出的方法因素中,例如铰接式车辆的实际动力学,初始和目标配置 (位移和方向),当前点和目标点之间的最小和总行驶距离,并且考虑了操作空间的几何形状,以计算铰接式车辆未来路途点的更新。在续集中,在产生车辆铰接角度的必要变化率之前,通过利用Bezier线在线迭代地平滑生成的路径规划。通过多个仿真研究来评估所提出方案的效率,这些仿真研究模拟了铰接式车辆在存在多个障碍物的情况下在开放和受限空间中的运动。
(4)规划示例:
12、BugFlood(在本系列第六篇文章中已详细介绍)
2018年,Nishant Sharma和Shivam Thukral等人在论文《A virtual bug planning technique for 2D robot path planning》中提出了BugFlood算法
(1)论文链接:https://ieeexplore.ieee.org/abstract/document/8430678
(2)论文DOI: 10.23919/ACC.2018.8430678
(3)论文摘要
我们提出了一种受bug算法启发的路径规划技术,可以在障碍物丰富的环境中快速计算路径 (或报告不存在此类路径)。在我们的方法中,我们模拟了虚拟错误,这些错误在感知到障碍物后会分成两个错误,以相反的方向探索障碍物边界,直到错误在视线中找到目标。然后,错误离开了障碍,朝着目标前进。将一个bug一分为二的过程一直持续到所有bug达到目标为止。该算法易于实现,如果存在解决方案,则可以快速找到解决方案。我们在路径长度上提供最坏的情况范围,并提供可证明的收敛保证,并开发启发式方法以最大程度地减少环境中活动错误的数量。我们将算法的性能与开放式运动计划库 (OMPL) 和可见性图方法中的不同计划器进行了比较。结果表明,与其他计划者相比,所提出的算法以较低的计算时间提供了较低的成本路径,并且可以快速指示路径是否不存在。
(4)规划示例: