2d三边测量

Rya*_*her 5 artificial-intelligence trilateration

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

我的程序可以调用一种方法从充电器获取距离测量值.因此,使用三边测量,我应该能够通过调用此方法,记录我的艾未未的当前位置和充电器是从该点超过3倍远的距离,找到充电器.

我在维基百科http://en.wikipedia.org/wiki/Trilateration上找到了这个trilateration的例子,但这适用于3d空间.我只处理2D空间.此外,我不明白如何使用维基百科中显示的公式,在网络上搜索插入数字的工作示例,并且谷歌搜索很少沸腾到最终坐标.

我不是数学专业; 我只是一个探索AI问题的狂热爱好者.

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

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

任何使用我的样本数据的例子都将非常感激.一旦我能够掌握数学知识,编程就会非常直接.

Don*_*eba 11

正如Wikipedia trilateriation 文章所描述的那样,您可以通过连续计算来计算(x,y)坐标:e x,i,e y,d,j,x,y.您必须熟悉矢量符号,因此,例如,e x =(P2 - P1)/‖P2 - P1‖表示:

  • e x,x =(P2 x - P1 x)/ sqrt((P2 x - P1 x)2 +(P2 y - P1 y)2)
  • e x,y =(P2 y - P1 y)/ sqrt((P2 x - P1 x)2 +(P2 y - P1 y)2)

您的数据是:

  • P1 =(39,28); r 1 = 8
  • P2 =(13,39); r 2 = 11
  • P3 =(16,40); r 3 = 8

计算步骤是:

  1. e x =(P2 - P1)/‖P2 - P1‖
  2. i = e x(P3 - P1)
  3. È ÿ =(P3 - P1 - I·电子X)/‖P3 - P1 - I·电子X
  4. d =‖P2 - P1‖
  5. j = e y(P3 - P1)
  6. x =(r 1 2 -r 2 2 + d 2)/ 2d
  7. y =(r 1 2 -r 3 2 + i 2 + j 2)/ 2j-ix/j