问题标签 [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 回答
1166 浏览

java - 具有距离测量误差的三边测量

这个链接中,给出了三边测量的过程。

这是我用于本地化过程的 java 代码:

但是现在,如本文所示我想将一些误差引入距离测量。
对于错误alpha,将有六个球体相交:三个内球体和三个外球体。
它们的厚度将是量alpha(测量误差)。

我会得到两个区域而不是两个点。但是我如何估计给定两个区域的点的位置?

为了编写这样的代码,我尝试了这种方法:

这给了我null所有的时间。

你能帮我解决这个问题吗?

编辑:功能intersection()localize(). 它不选择任何点,但同时返回。

论文摘要:
本文研究了使用成对距离和距离测量误差的影响的 3-D 定位。有趣的是,在论文中,二次方程被用来构建线性矩阵,因此,定位是通过使用四个以上的信标(参考)来完成的。在这里,您可以搜索关键字error并查看如何对错误进行建模以及如何构建线性方程。

此外,关于该问题的二维版本,我将参考这篇论文。

0 投票
1 回答
564 浏览

algorithm - 具有范围拒绝的 3D 定位和多点定位

我有一个涉及 3d 定位的问题 - 有点像 GPS。给定一组已知的 3d 坐标(发射器)及其与未知点的距离 d,我想找到未知点(接收器)。有 8 个已知点。距离精确到大约 0.3 毫米,我想进行多点定位以找到接收器的最精确位置。

但是在任何给定的时间点,从这些已知点之一到未知点的距离可能会受到阻碍,并且会给出不正确的距离结果。此外,在任何给定点,非阻塞(和可用)范围可能会偏离 8.7 毫米的恒定误差(尽管如果我检测到这一点,我可以很容易地纠正它)。

解决此问题的最佳方法是什么?由于我的数据不太可能有一个精确的解决方案(所有 4 个以上的球体都可能没有一个完美的交点),因此算法需要能够对其进行近似。我见过依靠迭代来确定最小误差的算法,但是如何过滤掉不正确的范围并识别“非常数”范围?

编辑:一旦我找到一个相当自信的位置,我就可以使用这个先前的位置数据和我的更新率来过滤掉不好的结果。困难在于找到第一个位置。

0 投票
1 回答
637 浏览

python - 仅基于 Rx 级别的距离 GSM 塔?

我正在研究地理定位,但我遇到了地理定位三角测量的问题。

我正在用 Python 编写,但在这种情况下,语言并不重要。

是否可以仅使用接收电平 dB 来了解设备和手机信号塔的大致距离?

我不能用 TA 作为 SIM908 总是返回 255,我也不能使用基站的发射功率,因为​​我没有这个数据。

有可能有这个距离吗?我想做三边测量,我有 7 个纬度点(我用 SIM908 读取的 7 个单元格)和它们的 rxLevel。

0 投票
1 回答
6462 浏览

java - 三边测量法 Android Java

我有一个小问题......有谁知道我该如何实现这个?

我需要这样的java方法:

在实践中,此方法将接收 3 个坐标以及“myLocation”与其中一个之间的距离......

我需要三边测量的算法!!

我进行了一些搜索并进行了一些测试,结果将我推向了太平洋中部!!

关于 OBJECT,真的很简单,有 2 个变量代表纬度和经度。

我试过这个方法:

这个方法:

谢谢!

0 投票
1 回答
1029 浏览

python - 为什么我的 python lmfit leastsq 拟合函数被传递了太多参数?

我试图寻找和我犯同样错误的人,但没有快乐!这也是我的第一篇文章,所以如果解释或指导不当,我深表歉意。欢迎咨询。

我正在解决的问题是:通过测量到多个已知参考点的距离来找到某种接收器的位置。这是基本的三边测量,我正在使用最小二乘法来做到这一点。

我已经成功地使用了 scipy.optimize lesatsq 函数来做到这一点,所以我很确定我的拟合函数有效。但是,我希望能够使用 lmfit Python 包提供的一些额外功能,并且我正在努力将其翻译过来。完整的尝试代码在这里: http: //pastebin.com/4xbfkaCm

lmfit 最小化函数设置对我的拟合函数(称为残差函数)的调用如下,其中 stationarray 是一个包含站点位置和范围的 numpy 数组,params 是要在拟合函数中使用的参数字典

我的拟合函数定义为

当我运行此代码时,我得到 TypeError:

residualfunct() 正好需要 2 个参数(给定 5 个)。

由于这个调用是由最小化函数进行的,我看不出我对此有什么控制权。我只能想象这是因为我将 np.array 作为参数传递而引发的,但这似乎是不可避免的。谁能看到我做错了什么?

谢谢

0 投票
0 回答
994 浏览

trilateration - 使用三边测量使用 3 个已知 (X,Y) 位置查找 X 位置

试图理解三边测量背后的数学,我们有 3 个接入点(AP 1、2、3),我们知道论文 3(AP)的中心坐标。丢失的设备 (X) 是所有 3 个圆相交的位置。

例如网格 = x=30,y=30。

已知位置:AP1 = (5,5)、AP2 = (5,15)、AP3 = (20,10)

未知位置:X

假设 X = (9,11)

我们如何通过数学计算出所有 3 个圆的交点。

非常感谢您的帮助。

在这里,我在方格纸上尝试

0 投票
3 回答
1725 浏览

algorithm - 具有不准确距离数据的多文本实现

我正在尝试创建一个使用 Apple iBeacon 技术来确定自身当前室内位置的 android 智能手机应用程序。我已经设法获取所有可用的信标并通过 rssi 信号计算到它们的距离。

目前我面临的问题是,我找不到任何库或算法实现,该算法通过使用 3 个(或更多)固定点距离来计算 2D 中的估计位置,条件是这些距离不准确(这意味着,三个“三边圆”不相交于一点)。

如果有人可以用任何常见的编程语言(Java、C++、Python、PHP、Javascript 或其他)向我发布链接或实现,我将不胜感激。我已经在 stackoverflow 上阅读了很多关于该主题的内容,但找不到任何我能够在代码中转换的答案(只有一些使用矩阵和反转它们的数学方法,使用向量或类似的东西进行计算)。

编辑

我想了一个自己的方法,对我来说效果很好,但不是那么有效和科学。我遍历位置网格的每一米(或在我的示例中为 0.1 米),并通过比较该位置与所有信标的距离以及我计算的距离来计算该位置成为手机实际位置的可能性接收到 rssi 信号。

代码示例:

当然,不利的一面是,我在 300 平方米的地板上有 30.000 个位置,我必须迭代并测量到我收到信号的每个信标的距离(如果是 5,我只进行 150.000 次计算以确定一个位置)。这很多 - 所以我会让这个问题开放,并希望有一些进一步的解决方案或对这个现有解决方案的良好改进,以使其更有效率。

当然,它不必是三边测量方法,就像这个问题的原始标题一样,拥有一个包含三个以上用于位置确定的信标的算法(多边测量)也是很好的。

0 投票
2 回答
982 浏览

location - 从 iBeacon RSSI 信号中获取位置

我正在尝试借助 3 个或更多 iBeacon 获得准确的位置。有两个步骤

  1. 从 iBeacon 的 RSSI 获得准确的距离。
  2. 应用三边测量算法来计算位置。

现在我没有得到精确的距离。iOS“准确度”并不是真正的距离。我正在应用不同的公式来计算距离,但我无法找到精确的距离。到目前为止,我能够获得高达 10 米的精确距离,但我至少需要 20 米的距离。

(我使用 iBeacon 女巫的默认 txPower 为 -59 dbm,我测量了 C3 的功率并使用 300 毫秒的广播间隔。

任何帮助将不胜感激。谢谢!

0 投票
1 回答
3157 浏览

java - 从 WiFI 强度信号计算的 3 个距离的三边测量

我正在使用 android 扫描 WIFI AP 的每一帧,我从每个 AP 获取信号强度(dbm 中的 RSSI),并且我正在使用以下公式计算距离:

这很好,所以我有三个或更多的距离,现在我需要在地图上绘制所有 AP 的固定位置,我在互联网上做了一些阅读,我发现了三边测量(是确定绝对或相对位置的过程通过距离测量点),但看起来我至少需要一个点(x,y),此时我只有计算出的与信号强度的距离,可以作为不同圆周的半径。

我很困惑,因为我没有任何具体的点 (x,y) 来开始计算手机的位置。

我只需要知道是否有办法计算该点,或者我可以假设初始点,或者我遗漏了一些东西。

谢谢你,我真的很感激。

0 投票
0 回答
214 浏览

wifi - 避免三边测量中信号强度波动的方法

我正在尝试使用 3 个 Raspberry pi 创建一个 wifi 三边测量项目。

我可以将所有 3 个 pi 的数据包捕获到 Web 服务器,但即使移动设备停留在一个位置,我仍然会在信号强度结果中出现剧烈波动。

我一直在研究,但无法真正找到获得一致信号强度的解决方案。

我见过指纹识别方法,但我想避免它,因为它需要大量设置,并且在移动时必须重新校准。

如果您能指出我正确的方向,我将不胜感激。