如何判断N圈是否相互交叉以及在哪一点?

时间:2015-04-09 17:15:26

标签: algorithm math geometry artificial-intelligence robotics

这就是我面临的问题:我有一个充满障碍的计划。我有一个愚蠢失去的机器人。机器人不知道他在哪里!但是他知道他可以看到障碍物的一些顶点......并且使用它的传感器,他可以分辨出他自己和每个可见顶点之间的距离。每个顶点都是障碍物的一部分。机器人不知道他的位置,所以他认为他的位置是(0,0)。机器人想知道他在地图上的位置。我试图通过多角度解决这个问题。

问题是:如何找到N个圆圈之间的交点并告诉它出现的确切位置?

在任何情况下,我都没有清楚自己,只要问问我可以提供更多信息。

编辑:(鉴于相关的问题,我会更加清楚)

  • 我想知道所有圆圈是否都有一个(也是唯一一个)交点,我想知道它是什么意思。
  • 考虑到他是(0,0),假设他不知道他在哪里,顶点位置被给予机器人!所以,他只能告诉每个顶点的距离和角度(事实上,他接收坐标)。
  • N大于3

1 个答案:

答案 0 :(得分:1)

所以,只是为了重新迭代,你的机器人有了#34;地图"所有顶点的全局位置VG = {V1g,...,VNg}。它具有所有顶点VL = {V1l,...,VNl}的局部视图,由角度和到它的位置的距离给出 - 然而它不知道哪个顶点是全局的。它想知道它的全球地位。还给出了一个独特的"全局顶点分布。

如果是这样的话:

知道至少一个来自VG的顶点的映射 - > VL使问题变得微不足道。因此,机器人需要首先做到这一点(再次假设独特的布局)。不确定任何点形状/模式匹配算法,但我猜有一些。您可能会使用一些技巧,如凸壳是独特的,这使问题相当微不足道。也可以从图论的角度来看待它,比如建立原始全局地图的最小生成树,然后将每个顶点与本地集匹配。