使用具有特定约束的占用网格进行路径规划

问题描述 投票:0回答:1

我有一个二元占用网格,代表一个环境,其中零表示空白空间,一表示墙壁。我需要为圆柱形差动轮式机器人规划一条路径,使其沿着墙壁移动。但是,我有一些特定的限制,我正在努力满足。

我的目标是生成一条路径,让机器人可以查看每面墙的每个面,同时与墙保持一定的安全距离以避免损坏它。此外,我希望机器人尽可能与墙壁保持最大距离。

有人可以建议一种方法或算法来帮助我在考虑这些约束的同时实现我想要的路径吗?任何指导或代码示例将不胜感激。谢谢!

我已经尝试通过对网格应用距离变换并将其用作规划基础来生成路径。然而,由此产生的路径并不完美并且存在一些问题。

Distance Transform Grid

Obtained Path

期望的路径

algorithm graph-theory robotics
1个回答
0
投票
  • 将 R 设置为您想要的机器人和墙壁之间的间距。
  • 构造一个矩形的单元格网格,R 的单元格之间有间距
  • 标记所有不包含墙壁且小于墙壁的 2 * R 的单元格。
  • 创建一个图形,其顶点位于每个标记的单元格和每个相邻顶点之间的边。
  • 运行路线规划代码以生成访问图中每个顶点的路径。

最后一步是棘手的一步!为此,我可以建议我的名为“Obstacle”的应用程序产生这种结果:

障碍文档和代码:https://github.com/JamesBremner/PathFinder/wiki/Obstacles

© www.soinside.com 2019 - 2024. All rights reserved.