【问题标题】:2d trilateration二维三边测量
【发布时间】:2012-04-02 14:01:06
【问题描述】:

我正在编写一些代码来参与 AI 挑战。人工智能挑战的主要目标是模拟机器人并通过迷宫导航到目的地区域。可选的次要目标是找到放置在迷宫中未知位置的充电器。这一切都是在 2D 网格中完成的。

我的程序可以调用一个方法从充电器获取距离测量值。所以使用三边测量我应该能够通过调用这个方法来定位充电器,记录我的ai当前位置和充电器离那个点的距离3倍。

我在 wikipedia http://en.wikipedia.org/wiki/Trilateration 上找到了这个三边测量示例,但这适用于 3d 空间。我只处理二维空间。另外我不明白如何使用维基百科中显示的公式,在网上搜索一个插入数字并归结为最终坐标的工作示例在谷歌搜索中很少见。

我不是数学专业的;我只是一个探索人工智能问题的爱好者。

如何计算问题的解释和逐步示例是我需要的,因为数学不是我的强项。以下是一些示例数据:

  • 点 1:x=39,y=28,距离=8
  • 点 2:x=13,y=39,距离=11
  • 点 3:x=16,y=40,距离=8

非常感谢任何使用我的示例数据的示例。一旦我能完全理解数学,对此的编程将非常简单。

【问题讨论】:

  • 只需采用 3D 公式并将高度设置为零。
  • 那肯定行得通,但我不知道如何使用维基百科上的公式。我正在寻找如何进行计算的分步示例。
  • 请问是哪个 AI 挑战?
  • www2.mohawkcollege.ca/events/amazebot 莫霍克学院的 amazebot 挑战。这是一个伟大的学术项目。这纯粹是可选的,不会为此评分。

标签: artificial-intelligence trilateration


【解决方案1】:

正如维基百科三边测量article 所描述的,您通过连续计算来计算 (x,y) 坐标:ex, i, ey, d, j, x,y。你必须熟悉矢量符号,例如,ex = (P2 - P1) / ‖P2 - P1‖ 表示:

  • ex,x = (P2x - P1x) / sqrt((P2x - P1x)2 + (P2y - P1y)2)
  • ex,y = (P2y - P1y) / sqrt((P2x - P1x)2 + (P2y - P1y)2)

您的数据是:

  • P1 = (39, 28); r1 = 8
  • P2 = (13, 39); r2 = 11
  • P3 = (16, 40); r3 = 8

计算步骤为:

  1. ex = (P2 - P1) / ‖P2 - P1‖
  2. i = ex(P3 - P1)
  3. ey = (P3 - P1 - i · ex) / ‖P3 - P1 - i · ex‖李>
  4. d = ‖P2 - P1‖
  5. j = ey(P3 - P1)
  6. x = (r12 - r22 + d2) / 2d
  7. y = (r12 - r32 + i2 + j2) / 2j - ix / j

【讨论】:

  • 非常感谢。现在我可以理解这些变量的来源了。当然,我必须对向量进行一些练习,但这是一个好的开始。谢谢唐 :)。
  • 和最后一步得到未知点的真实坐标告诉维基如下:8. p1,2 = P1 + x*ex + y*ey给出了原始坐标系中的点,因为exey是基本单位向量, 在原始坐标系中表示。 -- 来自匿名用户的编辑评论
  • stackoverflow.com/questions/23400351/… 你也可以看看这篇文章吗?
  • @OnurÇağırıcı,太远了?这可能意味着输入坐标不好。例如,共线坐标可能会这样做。
  • @DonReba 我检查共线性。我的观点是[-0.8092775327548827, -19.576297388406005, 0.0][0.8541381922861269, -9.975819993705937, 0.0][-0.597554605602997, -18.347159283433726, 0.0]y = 13233.037425080443.
猜你喜欢
  • 2012-04-28
  • 1970-01-01
  • 2013-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-12
  • 2016-03-07
相关资源
最近更新 更多