如何找出每个帖子的xyz位置和时间差异的多点定位?

时间:2015-07-10 17:09:20

标签: python math geometry trilateration

我在解决多方面问题时遇到了一些问题。我首先会说我不是一个数学专家,但我通常能够解决大部分事情,但这个让我很困惑。在阅读了抵达时差后,我到了这一点。

我有四个wifi适配器。每个人都在三面金字塔中占据一席之地,所以我认为这应该能够考虑到身高。彼此的相对位置也是固定的。

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

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

所以这就是我收到包裹时的情况:

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

X和Y是lat / lng。 Z是以米为单位的海拔高度,时间戳以微秒为单位。

要做的一些假设是XYZ是准确的。出于所有实际目的,如果它们已经关闭,那么它们一直都是关闭的,这应该反映在寻找源头。

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

我相信通过从每个点获取时间差异并在适配器上进行比较,我应该能够在原点进行一些准确的拍摄,但是这个数学现在已经远远超出了我。< / p>

我有cross-posted this question to the Mathematics site

2 个答案:

答案 0 :(得分:0)

有各种各样的算法,我找到了一篇看起来很有用的简单论文here,但在各种期刊中也有更先进的最小二乘算法。

正如警告一样,多点定位非常对传感器的位置错误和到达时间差的错误敏感。所以你的结果可能不是特别好 - 你说你的时钟不同步(它们需要)并且你正在使用GPS定位(误差为±3 m)。对于它的价值,你也可以使用GPS时间,但我不确定错误。

答案 1 :(得分:0)

一些(不幸的是否定的)观点:

如果您的时间戳是在信号击中天线时计算出来的,那么您能够解决的是指向源的方向而不是距离。毕竟,来自一百万英里之外的信号在两个天线之间的传播延迟与一米之外的传播延迟相同。

除非您的机器人非常大,否则如果时间戳之间的增量不完全由因素其他而非信号传播延迟主导,我会感到惊讶。电磁辐射很快就会发生,所以几乎没有错误的余地。例如:

  • wifi适配器将具有某种板载处理固件 - 报告新信号的速度有多快?延迟是否恒定还是取决于802.11规范的神秘细节?您是否会收到信号到达或完整数据包到达的通知,这可能是一系列的ack和重传的结果?
  • 您的设备通过某种IO总线链接到适配器 - 即使我们假设适配器是完美的,当接收到新脉冲时,该总线上会出现争用 - 哪个适配器获胜并获得先加工?
  • 您的设备可能有一个单核CPU - 来自适配器的信号处理和给定时间戳的速度有多快?事件之间的延迟将决定时间戳的保真度,从而确定系统的最高准确度。
  • 设备完全是金属专用于将时间戳放在信号上,还是其他软件也在运行?如果某些其他事件抢占您的信号处理怎么办?
  • 如果您处于室内环境中,您将获得间接传播 - 假设系统本身是完美的,您如何检测在一个适配器上检测到的信号通过从墙上弹回而走的路径较长的情况2?