【问题标题】:2-D Multi-Robots Avoiding Obstacles to Goal二维多机器人避免目标障碍
【发布时间】:2015-04-01 07:40:22
【问题描述】:

我正在考虑将三个机器人连接在一起并形成一个三角形(不是以物理方式),并尝试在 Java 小程序中避免在通往目标位置的途中出现静态障碍。此外,我专注于 A* 算法的寻路和选择系统中心作为启发式值的参考点。但我发现即使 A* 已经生成了基于系统中心的路径,多机器人在前往目标时仍然可能会碰到障碍物。有什么好办法解决吗?

【问题讨论】:

  • 您确定您的 a* 工作正常吗?联网机器人是什么意思?是物理链接吗?它们可以被视为单个但大型的机器人吗?你确定你解释你的路径正确吗?你能提供一些代码吗?
  • 嗯,假设障碍物没有移动(如果它们是,那么可能值得在问题中明确说明)然后,如果您的寻路“撞”到障碍物,那么根据定义它是不工作。被阻止的节点不应在打开列表中。
  • @user902383 很抱歉让这个问题不清楚。所有的实现都是在Java小程序中模拟的,机器人会四处移动,它可以向内向外扩展,但始终连接成三角形。如果我将其视为单点,我如何计算启发式值?或者除了A*之外还有其他好的算法来解决协调运动的机器人吗?
  • @DFreeman 抱歉让这个问题不清楚。我已经编辑了问题。
  • @Bruce 只需进行额外检查,以发现您的机器人所在点所描述的圆半径内是否有任何障碍物。我相信这应该有效。另外,如果您向我们提供您的 a* 算法的实现,那就太好了

标签: java a-star robot


【解决方案1】:

如果您使用占用地图进行导航,请使每个图块至少具有机器人网络的大小。然后,如果一个单元“未被占用”,您肯定知道您的整个网络可以适应它而不会遇到任何障碍。机器人本身可以使用细分地图。所以你可以想象占用地图中的一个单元格对机器人来说代表一个 3x3 单元格。因此,机器人仍然可以使用其细分单元进行精确编队,而路径规划算法可以确保无论机器人如何排列,它们都是安全的

我已经包含了一个玩具示例。黑线代表占用地图的单元格,这是您的路径规划算法所看到的。机器人(黄色的小方块)在内部细分了占用图(规划算法不需要知道这一点),并且还可以在单​​个占用单元内更改它们自己的配置。

深粉红色的单元格显示物理块的位置,但我们认为整个区域(大单元格)被占用。即使网络可能会越过物理障碍。通过简单地说它附近的区域被占用,我们减少了陷入棘手情况的几率。

A* 只能看到浅粉色和浅绿色的细胞。机器人可以在内部进一步细分更大的块

【讨论】:

    猜你喜欢
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 2019-04-03
    • 2014-03-24
    • 2021-12-20
    • 2023-02-10
    • 1970-01-01
    相关资源
    最近更新 更多