【发布时间】:2015-04-01 07:40:22
【问题描述】:
我正在考虑将三个机器人连接在一起并形成一个三角形(不是以物理方式),并尝试在 Java 小程序中避免在通往目标位置的途中出现静态障碍。此外,我专注于 A* 算法的寻路和选择系统中心作为启发式值的参考点。但我发现即使 A* 已经生成了基于系统中心的路径,多机器人在前往目标时仍然可能会碰到障碍物。有什么好办法解决吗?
【问题讨论】:
-
您确定您的 a* 工作正常吗?联网机器人是什么意思?是物理链接吗?它们可以被视为单个但大型的机器人吗?你确定你解释你的路径正确吗?你能提供一些代码吗?
-
嗯,假设障碍物没有移动(如果它们是,那么可能值得在问题中明确说明)然后,如果您的寻路“撞”到障碍物,那么根据定义它是不工作。被阻止的节点不应在打开列表中。
-
@user902383 很抱歉让这个问题不清楚。所有的实现都是在Java小程序中模拟的,机器人会四处移动,它可以向内向外扩展,但始终连接成三角形。如果我将其视为单点,我如何计算启发式值?或者除了A*之外还有其他好的算法来解决协调运动的机器人吗?
-
@DFreeman 抱歉让这个问题不清楚。我已经编辑了问题。
-
@Bruce 只需进行额外检查,以发现您的机器人所在点所描述的圆半径内是否有任何障碍物。我相信这应该有效。另外,如果您向我们提供您的 a* 算法的实现,那就太好了