问题标签 [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 投票
1 回答
622 浏览

c - 为 TDOA 三边测量实施 Fang 算法的问题

我一直在关注这篇论文(特别是关于 Fang 方法的部分),试图使用TDOA 技术解决三边测量问题。

我希望在 Fang / TDOA 方面有经验的人可以帮助我。出于某种原因,我的实现将不正确的根返回到最终的二次方。这是我到目前为止编写的代码:

最终我希望x_result等于发射机的 x 坐标 ( tx.x == 0.7),但令人沮丧的是结果是≈0.237

我的确切问题的轮廓(以及它的解决方案,两条双曲线相交的地方)可以在下图中以几何方式查看:

时差图

任何帮助将不胜感激!

0 投票
0 回答
383 浏览

ios - 信标三边测量算法每次都给出相同的结果。IOS 斯威夫特

我正在尝试在我的应用程序中创建室内定位功能。所以我做了以下事情

1:拍摄一张楼层地图图像并根据米我为图像设置像素,以便我可以获得放置在地图上的信标的正确位置

2:现在通过信标的 RSSI 值,我得到了 BLE 和 iPhone 之间的距离(以米为单位)

3:现在我正在尝试使用三边测量算法,这样我就可以获得用户的正确位置。

现在我从设备到手机的距离正确,但是当我尝试找到手机的位置时,我正在使用三边测量算法,但每次我得到相同的响应时,天气距离是高还是低

所以这是我的三边测量算法代码。

如果我做错了什么,请告诉我。

0 投票
0 回答
29 浏览

math - 三边测量 x 分量小于实际位置的一半

我正在使用超声波接收器阵列来估计物体的位置,但阵列的总长度约为 1 米(它们都在同一条线上)。

通过使用获得的距离,我尝试使用三边测量来查看是否可以估计位置。

问题从这里开始:虽然位置的 y 轴分量与实际位置相当接近,但该位置的 x 轴分量大约是实际位置的一半。也就是说,如果实际位置是(5,10)m,那么得到的位置大约是(2.5,9.8)m。我使用的方程式是

x = (r1^2 - r2^2 - x1^2 + x2^2) / (2*(x2-x1))

其中 r1 和 r2 是接收器 1 和接收器 2 获得的距离,x1 和 x2 是接收器位置的 x 坐标。

我想知道这是否是由于基线较小,或者是否有一些关于数学的东西我遗漏了。另外,我应该如何解决这个问题?我曾想过将 x 分量乘以 2,但现在它大约是实际 x 分量的一半可能只是巧合。

0 投票
1 回答
105 浏览

python - 将三边测量的坐标转换为图片或 svg 上的位置

我正在做一个项目,在一个房间里使用三个 bt 阅读器来跟踪 bt 设备。这已经很好了,我有一些数据。

我希望,我的数学是正确的,因此我可以使用三边测量来计算我的位置。好吧,在我的纸张和任意 python 脚本上都可以正常工作。

我使用了以下提示:

三边测量 C# 如何回到“正常”坐标?

java中的三边测量示例

最后 https://math.stackexchange.com/questions/100448/finding-location-of-a-point-on-2d-plane-given-the-distances-to-three-other-know

由于我知道我的 3 个接收器在“现实世界”中的坐标和距离,我问自己如何将这些信息转换为我的 2D 图片(或 svg)。

例如,如何将我的三个距离 3m、5m 和 6m 转换为 600x800 像素的图片。如何在图片上设置阅读器的位置?有什么建议或现实世界的提示吗?如果我放大或缩小图片会怎样?如何在源自真实数据的图片上找到我的位置标记的坐标?

谢谢

0 投票
1 回答
229 浏览

algorithm - 如何使用信标技术通过 trilat 库计算精确位置

我目前正在尝试使用信标技术开发一个实时位置查找应用程序。因此,为此,我需要使用信标扫描仪网关跟踪信标标签。我正在使用 Node Js,并使用trilat 库来计算 x,y 坐标。但每次它只计算一个质心位置!

这是我计算 x 和 y 坐标的代码,以及使用 RSSI 值计算的距离。

应用程序.js

参考示例图像

0 投票
1 回答
172 浏览

php - 使用 PHP 过滤标准偏差

我想用我的标准偏差结果过滤我将添加多少级别。这些是我需要做的步骤:

  1. 根据数组值计算标准偏差。(解决)

  2. 找到数组值的平均值并与标准偏差结果相加。例如:平均值 = -49.7 标准差 = 3.37

所以,我需要继续添加这个值,直到我得到一个新的数字列表。例如:-49.7、-46.33、-42.96、-39.59

之后,我只需要过滤打印从 -49.7 到 -39.59 的数组值。

有人可以帮我吗?

0 投票
0 回答
312 浏览

c# - Unity蓝牙信标三边测量

我目前正在开发一个 AR 应用程序,当没有足够的功能时它会扫描信标。我有 3 个信标,我想使用 2D 三边测量来确定用户的位置。3 个信标的位置以及用户与每个特定信标之间的距离是已知的。我附上了一张图表来展示。有谁知道如何编写三边测量算法来找到用户的位置(向量 2)

图表请看以更好地理解

  • (X1,Y1) , (X2,Y2) , (X3,Y3) , D1, d2 和 D3 的位置是已知的(参考图片^)*
0 投票
1 回答
202 浏览

c++ - Ceres-solver 给出错误的三边形结果

我正在尝试使用谷歌的 ceres 求解器(http://ceres-solver.org/)来计算非线性最小二乘三边测量(目标是使用 BLE 信标进行室内定位)。我的问题是 CERES 给出的结果存在重大错误,并且比较了另一个也使用 Levenberg-Marquardt 算法的解决方案,很明显我的 ceres 设置有问题。

我的出发点是:https ://nrr.mit.edu/sites/default/files/documents/Lab_11_Localization.html文档的B部分。起初我使用的库是这个 JAVA 项目:https ://github.com/lemmingapex/Trilateration ,它使用上述 LM 算法来解决三边测量问题。导数和雅可比矩阵是预先计算/编码的(我(还)不理解这些,为了快速前进,不幸的是不得不跳过更深入的理解)。使用 CERES(我第一次使用它) AutoDiffCostFunction 似乎是我定义问题的一种非常简单的方法,如下所示:

比较来自 2 解决方案的一些示例:

输入(来自 JAVA 代码,C++ 具有相同的值,但更短;数字以毫米为单位):

java三边测量库的解决方案:-23085.6 24505.1(接近预期位置)

谷神星解决方案:-13891.2, 22133.1(远离)

(还将这两个测试与其他测试进行比较,在许多测试中都给出了相同(良好)的结果。但这些现实生活中的数据似乎“混淆”了谷神星并给出了错误的结果。)

我可以想到 3 个可能的问题所在:

你能帮我解决我缺少的东西吗?(由于技术要求,我们继续使用 C++,这就是为什么我们需要在 JAVA 中替换这个已经工作的非线性三边形版本)

顺便说一句,每次调用这个三边测量计算时,这个解决方案不是计算导数吗?那么,与我不使用 autocostfunctor 相比,这会带来很大的延迟,对吧?

感谢您的任何见解!(我尝试加入 ceres google 群组但尚未获得批准,因此在这里询问,因为还有一些与 ceres-solver 相关的问题)

0 投票
1 回答
482 浏览

android - 用于室内定位的信标三边测量

我有这个项目,我正在尝试扩展我们的应用程序,它可以通过定位智能手机的位置来传输应用程序用户的实时位置。我花了几个小时寻找合适的信标,但我似乎无法理解哪些信标最适合我的项目。

我想要实现的是在我的工作场所各处放置信标,以便能够通过三边测量查看该区域内使用该应用程序的每个人的实时位置。我需要覆盖大约 4.000 平方米的大面积。

我不是在寻找预构建的软件解决方案,而只是在寻找能够将跟踪系统集成到我现有的 Android/IOS 应用程序中的硬件。

所以我想问的是我应该使用什么样的信标。我也看过一些用 arduino 构建的项目,但看起来他们都在使用外部发射器,这不是我想要的。启用蓝牙的智能手机应该是唯一的发射器。

如果您对使用哪个信标有任何建议,请告诉我。

感谢您的阅读和您的帮助,祝您有美好的一天。

最诚挚的问候

卡鲁佐·罗德里格斯

0 投票
1 回答
69 浏览

node.js - 使用 Lat、Lon 和 RSSI 的 NodeJS Wifi 网络三边测量

我正在尝试构建一种算法,用于使用纬度、经度和 RSSI 来定位 WiFi 网络的大致位置(纬度/经度)。

我构建了一个 NodeJS wifi 扫描仪,它不断扫描 wifi 网络。每个网络都由 mac 地址跟踪,并具有一个跟踪数组,其中包含每次扫描仪遇到网络时捕获的 RSSI、纬度坐标和经度坐标。

使用此信息,我想使用每个接入点的跟踪数组中包含的信息来计算特定网络的近似纬度/经度坐标/位置。

是否有执行此操作的现有实现/算法?