robotics - 如何避免机器人陷入局部最小值?

标签 robotics a-star motion-planning

我有一段时间专注于机器人的运动规划,并且有一段时间想探索改善“势场”方法提供的机会的可能性。我的挑战是避免机器人在使用“势场”方法时陷入“局部最小值”。我没有使用“随机游走”方法来避免机器人被困,而是考虑是否有可能实现 A* 的变体,它可以作为一种指导来精确地避免机器人被困在“局部最小值”。

有没有这方面的一些经验,或者可以引用文献,它比“随机游走”方法中使用的方法更有效地避免了局部最小值。

最佳答案

A* 和潜在字段都是搜索策略。您遇到的问题是某些搜索策略比其他搜索策略更“贪婪”,而且过于贪婪的算法通常会陷入局部最小值。

有一些替代方案,其中贪婪(陷入局部最小值的主要原因)和多样性(尝试在短期内似乎不是一个好的选择的新替代方案)之间的张力被参数化。

几年前,我对 Ant ​​算法进行了一些研究(搜索 Marco Dorigo、ACS、ACO),他们有一系列可以应用于几乎任何事物的搜索算法,它们可以控制贪婪与探索你的搜索空间。在他们的一篇论文中,他们甚至比较了使用遗传算法、模拟退火和其他算法解决 TSP(典型旅行商问题)的搜索性能。 Ant 赢了。

我过去使用遗传算法解决了 TSP,如果您愿意,我仍然在 delphi 中有源代码。

关于robotics - 如何避免机器人陷入局部最小值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2199696/

相关文章:

c# - 根据旋转角度计算新的点偏移量?

algorithm - A星回溯

python - 将 dijkstras 转换为 * python

python - 如何在不手动编写的情况下将障碍物分配到我的网格?

simulator - 什么是好的机器人模拟器?

c++ - 我可以使用 boost 图实现势场/深度优先避障方法吗?

algorithm - 简化二维 map 的离线算法

robotics - 引导机器人通过路径

algorithm - C++中的RRT算法