如何使用Triangulation精确定位具有3个节点的用户的位置? [英] How do you pin point the location of a user with 3 nodes, using Triangulation?

查看:70
本文介绍了如何使用Triangulation精确定位具有3个节点的用户的位置?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试通过其蓝牙强度(RSSI值)找到一个用户.

I am trying to find a user through their Bluetooth strength (RSSI value).

我有3个Raspberry PI,每个PI收集用户的信号强度.可以说返回了节点:

I have 3 Raspberry PIs, each gathering the signal strength of the user. Lets say the nodes returned:

node1 = 65
node2 = 70
node3 = 75

我将如何通过三角测量找到用户并将其指向地图,然后输出RSSI值?

How would I find the user through triangulation and pin point them on a map, and output the RSSI value?

我研究了 Trilateration

I have researched Trilateration and Ceva's Theorem but do not know how to implement them.

我不确定如何在环境中定位节点,是否给主节点指定x = 0 y = 0的位置,我又给其他两个节点什么?

I am unsure on how to locate the nodes in an environment, do I give the main node a location of x=0 y=0, and what do I give the other two nodes?

推荐答案

您的方法基于一些脆弱的假设.

Your approach is predicated on some flimsy assumptions.

三边测量法是根据到已知位置的三个(或四个,如果在三维中进行的话)距离测量来确定空间中的位置.三角剖分是根据对已知位置的三个角度(信号来自何方向)测量来确定空间中的位置.三个Raspberry PI节点在空间上是固定的,并且您拥有一些测量系统,其中每个位置的(x,y(z))位置都是已知的.

Trilateration is determining a position in space based on three (or four, if working in three dimensions) distance measurements to known locations. Triangulation is determining a position in space based on three angular (what direction is the signal coming from) measurements to known locations. The three Raspberry PI nodes are fixed in space, and you have some measurement system where your (x,y (z)) positions for each are known.

您所拥有的是以某些功率单位(例如dBm)为单位的三个信号强度值,并且您希望该值代表到特定接收器的距离.问题是,除非您在一个大的空房间中进行此操作,否则它不是一个特别好的代理.RF信号会从某些物体反射回来,几乎不会产生干扰节点,阴影和各种有趣的东西.根据环境的混乱程度,这可能会使三边测量结果的准确性很差,甚至完全一文不值.

What you have are three values of signal strength in some units of power (dBm, say) and you want that to be proxy for distance to a particular receiver. The problem is, unless you are doing this in a big empty room, it isn't a particularly good proxy. RF signals bounce off of some things, develop little interference nodes, shadows, and all sorts of fun stuff. Depending on how cluttered your environment is, this can make the accuracy of your trilateration result poor, or totally worthless.

假定您在空仓库中操作,首先必须选择一些坐标系并进行一些测量,然后将位置分配给节点.将一个节点设为零可以简化其中一项测量,而您只需要相对于其他节点进行相对测量即可.确保您的X和Y轴垂直.

Assuming you are operating in an empty warehouse, first you have to pick some coordinate frame and make some measurements and assign locations to your nodes. Making one node zero simplifies one of your measurements, you just need to make relative measurements to the others. Make sure your X and Y axes are perpendicular.

然后,您将需要生成一些将RSSI与距离相关联的数据.也就是说,从节点走一段已知的距离,并记下RSSI号是什么.如果幸运的话,每个节点的度量值都将相同.可能并非如此-并非所有收音机都是一样创建的.而且,并非所有天线在每个方向上均一地辐射功率.使用该数据并进行一些手工操作,以估计到已知节点位置的距离;从那里开始,其余的实现应该是简单明了的几何图形(毫无疑问,维基已经确定了布局).

Then you will want to generate some data that correlates RSSI with distance. That is, walk a known distance away from the node and make a note of what the RSSI number is. If you're lucky, this measurement will be the same for each of your nodes. It might not be - not all radios are created equally. Also, not all antenna radiate power uniformly in each direction. Use that data and some handwaving to approximate distances from the known node locations; from there the rest of the implementation should be straight forward geometry (as the wiki no doubt has laid out).

这篇关于如何使用Triangulation精确定位具有3个节点的用户的位置?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆