问题标签 [trilateration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
324 浏览

ios - 使用信标进行用户定位 三边测量

我正在使用一个基于信标的项目,我的项目中的主要功能之一是带有信标的室内导航,因为我尝试了一些 3rd 方 sdks,但没有任何帮助。所以我决定用一组方程做我自己的三边测量然后我又被它困住了,因为为了我的目的,我想知道从用户到每个信标的大致距离,我的信标接近值总是给出 0,1,3 所以我将如何获得这些近似距离请帮助我。

我的计算方法userlocation(x,y)如下

0 投票
2 回答
7880 浏览

c++ - 三边测量(2D)算法实现

我正在尝试在 2D 中实现三边测量过程。与此相关的维基百科文章:Tilateration

我在这个网站上找到了一个很好的问题,其中算法得到了很好的解释:人工智能

毕竟,我试图在 C++ 中实现该算法。不幸的是我遇到了一些问题......让我们看看我的实现。它只是一个函数:第一个输入是三个向量,每个向量代表一个带有 X、Y 坐标的 2D 点。其他 (r1,r2,r3) 输入变量代表每个点的距离/半径。

正如我提到的,我关注了这篇文章。我认为问题出在计算 y 坐标的部分。我也不确定最后一部分,我计算finalX,finalY ...

我的主要功能如下:

结果应该在 X~8 和 Y~4.1 左右,但我得到 X = 13.5542 和 Y=-5.09038

所以我的问题是:我在划分 x 和 y 的计算时遇到了问题。我想我可以解决算法直到 x,之后我在计算 y 时遇到问题。

y 的计算如下: y = (r12 - r32 + i2 + j2) / 2j - ix / j

我不知道我应该在这里使用哪个 i 和 j,因为我有两个 i (ix,iy) 和两个 j(jx,jy)。正如你所看到的,我使用了 iy 和 jy,但在行尾我使用了 ix,因为它与 x 相乘。提前致谢!

0 投票
0 回答
928 浏览

c++ - 3个圆在同一条线上的交点-三边测量

我遇到了一个问题:我想计算三个圆的交集。据我所知,我应该使用所谓的三边测量。我已经用 C++ 实现了它。文章说这个解决方案有三个限制。

  1. 所有三个中心都在平面 z = 0 中,
  2. 球心 P1 位于原点,
  3. 球心 P2 在 x 轴上

至于第一个“标准”,我无事可做,因为所有三个中心都在平面 z = 0 中,因为我不使用 Z 坐标。之后,我将这些点平移到第一个点 (P1) 的中心位于原点的位置。之后,我将 P2(和 P3)点旋转到 P2 在 x 轴上的位置。

我的问题是:当三个中心都在X轴上时,我尝试计算交叉区域的中心(使用维基文章的算法计算),但无法计算。另一方面,没有限制说“圆的中心不能在一条线上......让我们直观地看到我的问题,我只是画了它:

三个圆的交点

如您所见,三个圆在 (4,3) 坐标处的同一点上相交。因此,对于这些点都在同一条线上(在本例中,在 x 轴上)有一个解决方案。圆的参数如下(x,y,radius):

正如我所提到的,我成功地实现了三边测量的算法,但它不能解决这个例子,结果是 NaN(不是数字)。当然,我已经用另一个圆圈(不在同一条线上)尝试了这个算法,它工作正常。

所以我开始调试我的实现,我发现问题可能出在哪里。我的实现如下:

当程序计算eyxeyy时,除法中有零,不用说,除以零是“不允许的”。eyx和eyy是 y 方向的单位向量,但是在这种圆的定位中,在 y 方向上没有单位向量。

我的问题是:这个算法有第四个限制吗?在我看来,它会写在文章中,所以:你能建议这个问题的其他解决方案,在所有点都在同一条线上的情况下可以计算交点吗?提前致谢!

0 投票
2 回答
14870 浏览

java - Java中的多点三边测量算法

我正在尝试在我的 Android 应用中实现三边测量算法以确定用户的室内位置。我正在使用超宽带信标来获取到固定点的距离。我能够调整Trilateration Method Android Java中建议的方法如下:

使用这种方法可以为我提供用户位置,但不是非常准确。如何扩展它以使用 3 个以上的已知位置/距离?理想情况下,N>=3 的点数为 N。

0 投票
2 回答
3618 浏览

android - 是否可以使用移动设备进行 wifi/蓝牙三角测量(不是三边测量)?

对于三角测量,您需要知道设备接收信号的方向。我们可以为此计算到达角,但计算该角度需要一组接收器。手机可以计算到达角吗?我之所以这么问,是因为我遇到过诸如 wifi/BLE 三角测量、通过三角测量计算位置等术语,但在大多数情况下它们实际上指的是三边测量。我知道三边测量如何适用于移动设备以及所有细节,但我认为三角测量是不可能的。如果可能的话,如果您使用ibeacons来近似位置,这怎么可能以及哪一个(三角测量或三边测量)会产生更好的结果?

0 投票
0 回答
950 浏览

python - 用scipy解决位置三边测量?4 个方程,3 个变量

我试图在笛卡尔空间中找到一个点的坐标,只知道它与其他已知点的距离。我最初用 3 个距离公式尝试 scipy.optimize.fsolve 并很快了解到 4 个距离是必要的,因为 3 个球体可能在多达 2 个不同的位置重叠。

当我的方程多于变量时,scipy.optimize.fsolve 似乎不起作用。使用 fsolve,我尝试了:

其中 atomxxx[0:3] 是已知空间中其他 4 个点的 x、y、z 笛卡尔坐标,而 Cdist# 是所需点与每个点的距离。

其他优化选项让我不知所措,其中许多需要我不熟悉的不同语法(这个库的新手)。我可以用什么来解决这个至少有 4 个方程的 3 维问题?

谢谢

0 投票
2 回答
677 浏览

python - 如何计算每个帖子的 xyz 位置和时间差的多点定位?

我在搞清楚多点定位时遇到了一些问题。我首先要说我不是数学高手,但我通常能够弄清楚大多数事情,但这让我感到困惑。在阅读了到达时间差后,我到了这一点。

我有四个 wifi 适配器。每个人都在三边金字塔中取一个点,所以我相信这应该能够考虑高度。彼此的相对位置也是固定的。

我正在尝试做的是监听 wifi 信号并找到它们的来源。理论上,我相信我应该能够利用每个 wifi 适配器“听到”一个数据包之间的时间差来找到数据包的来源。

我已经将 GPS 配对到此。它允许我给每个 wifi 适配器一个实际的位置(用一点数学)。

所以当我收到一个数据包时,这就是我所拥有的:

  • wlan1 (X, Y, Z, 时间戳)
  • wlan2 (X, Y, Z, 时间戳)
  • wlan3 (X, Y, Z, 时间戳)
  • wlan4 (X, Y, Z, 时间戳)

X 和 Y 是纬度/经度。Z 是以米为单位的高度,时间戳反映的是微秒。

一些假设是 XYZ 是准确的。出于所有实际目的,如果它们处于关闭状态,那么它们都始终处于关闭状态,这应该反映在寻找源头上。

我一直无法弄清楚如何将任何数学应用于此,并正在寻找一个例子。如有必要,我可以提供一些实际数据。最终目标是开发一个机器人项目,让机器人跟随你,或者更准确地说是你的手机。我采用这种方法的原因是,它让我能够以一种最终在 Google 地图上以可视方式进行调试非常容易的方式记录事物。

我相信,通过从每个点获取时间差异并在适配器之间进行比较,我应该能够在原点位置进行一些准确的拍摄,但这个数学现在离我太远了。

我已将此问题交叉发布到数学网站

0 投票
4 回答
2252 浏览

matlab - 根据信号强度查找位置(圆圈之间的交叉区域)

我正在尝试根据从 4 个 Wi-Fi 接入点接收到的信号强度来估计位置。我测量了 4 个接入点的信号强度,这些接入点位于 100 平方米(10x10)的方形房间的每个角落。我使用 Android 手机记录了已知位置 (x, y) = (9.5, 1.5) 的信号强度。现在我想检查在这种情况下多点定位方法的准确度。使用 MATLAB,我应用了一个公式来使用信号强度计算距离。以下 MATLAB 函数显示了该公式的应用:

输入 RSS 是一个向量,具有在测试点 (x,y) = (9.5, 1.5) 测量的四个信号强度。RSS 向量如下所示:

以及到每个接入点的所有估计距离的合成向量如下所示:

现在我想根据这些距离和接入点位置估计我的位置,以便找到估计位置和已知位置(9.5、1.5)之间的误差。我想找到四个圆之间的交叉区域(为了估计一个位置),其中每个接入点是其中一个圆的中心,距离是圆的半径。

我想找到如图所示的灰色区域:http: //www.biologycorner.com/resources/venn4.gif

0 投票
1 回答
1468 浏览

ios - iBeacon Trilateration 并在 iOS 地图上显示用户的位置

我想用 iBeacons 构建一个简单的 iOS 应用程序。

我有四个 iBeacon,我的目标是通过三边测量来计算我的房间位置。我想在显示屏上显示房间,设置 iBeacons 的固定位置,然后计算位置并将其显示在显示屏上。

我的问题是,我不知道如何开始。

0 投票
0 回答
454 浏览

r - R中用于三边测量的函数

这类似于n 点的三边测量问题,由于没有答案,询问者已经发布了答案。

父帖子中,代码显示为 Mathematica 并在输出中有两个变量 (X,Y)。

我很难使用该函数在 R 中创建相同的nls函数。

我尝试了以下方法:

我收到以下错误:

我知道代码中编写的公式是不正确的,因为分母直接作为信号而不是乘以表示距离的常数。

但是我不明白如何处理这个问题并以更简单的方式表示它以用于 R 中的加权非线性平方估计。