Trilateration三邊測量定位演算法

2021-08-04 16:53:27 字數 3065 閱讀 9457

基本原理

trilateration(三邊測量)是一種常用的定位演算法:

已知三點位置 (x1

, y1

), (x2

, y2

), (x3, y3)

已知未知點 (x0

, y0

) 到三點距離 d1

, d2

, d3

以 d1

, d2

, d3 

為半徑作三個圓,根據畢達哥拉斯定理,得出交點即未知點的位置計算公式:

(x1

-x0 )

2+(y

1-y0

)2=d

12(x

2-x0 

)2+(

y2-y

0)2=

d22(

x3-x

0 )2+

(y3-

y0)2

=d32

設未知點位置為 (x, y), 令其中的第乙個球形 p1

的球心座標為 (0, 0),p2

處於相同縱座標,球心座標為 (d, 0),p3

球心座標為 (i, j),三個球形半徑分別為 r1

, r2

, r3

,z為三球形相交點與水平面高度。則有:

r12

=x2+

y2+z

2r22

=(x -

d)2+

y2+z

2r32

=(x -

i)2+

(y -j

)2+z

2

當 z = 0 時, 即為三個圓在水平面上相交為一點,首先解出 x:

x =(

r12-

r22+

d2)/

2d

將公式二變形,將公式一的 z2

代入公式二,再代入公式三得到 y 的計算公式:

y =(

r12-

r32-

x2+(

x -i)

2+j2

)/2j

定義三個圓的座標及半徑,計算出交點的座標 (obj_x, obj_y).

var

x_0

=150

,y_0

=150

;var

x_1

=x_0

,y_1

=y_0,d

=150

,x_2

=x_0 +d

,x_3

=225

,y_3

=315,r

=100

;vari =

x_3

-x_0,j

=y_3

-y_0

;varx =

(math

.pow(r

,2)-

math

.pow(r

,2)+

math

.pow(d

,2))/

(2*d

)+x_0;

varobj_x =x

+x_0

;vary =

(math

.pow(r

,2)-

math

.pow(r

,2)-

math

.pow(x

,2)+

math

.pow

((x -i

),2)+

math

.pow(j

,2))/

(2*j

);var

obj_y =y

+y_0

;

繪出圓形及交點:

svg.(

"circle"

).attr

("cx"

,x_1).

attr

("cy"

,y_1

).attr

("r",r

).style

("fill"

,"blue"

).style

("opacity"

,0.3

);svg.(

"circle"

).attr

("cx"

,x_2).

attr

("cy"

,y_0

).attr

("r",r

).style

("fill"

,"red"

).style

("opacity"

,0.4

);svg.(

"circle"

).attr

("cx"

,x_3).

attr

("cy"

,y_3

).style

("opacity"

,0.5).

attr

("r",r

).style

("fill"

,"yellow"

);svg.(

"circle"

).attr

("cx"

,obj_x).

attr

("cy"

,obj_y

).attr

("r",3

).style

("fill"

,"red"

);

但在實際定位中,給定的距離由於測量的誤差,並不能真正讓三個圓交於一點,需要在相交區域繪製出矩形並計算矩形的中心位置,除三邊測量計算公式之外,也許還可以採用k-means或overlap聚類演算法,後兩者在地圖標註上使用比較廣,有興趣的可以進一步對定位演算法進行研究。

a robust localization algorithm in wireless sensor networks

calculating the intersection area of 3+ circles

clustering map symbols

Trilateration三邊測量定位演算法

基本原理 trilateration 三邊測量 是一種常用的定位演算法 已知三點位置 x1,y1 x2,y2 x3,y3 已知未知點 x0,y0 到三點距離 d1,d2,d3 以 d1,d2,d3 為半徑作三個圓,根據畢達哥拉斯定理,得出交點即未知點的位置計算公式 x1 x0 2 y1 y0 2 d...

三邊六拍「專案

三邊 指的是 邊計畫,邊行動,邊修改 原因 在目標未清,職責未明的情況下就倉促開始往下做細節,結果常會因為在一些小事上扯皮導致專案不斷地延期,即使最後勉強完成了,也與最初的目標相去甚遠。六拍 拍的是 腦門,肩膀,胸脯,桌子,屁股,大腿。拍腦門 經常有些領導有了做乙個專案的想法後,不是組織相關人員嚴格...

專案管理的「三邊六拍」!

三邊 是指 邊計畫 邊實施 邊修改,六拍 是指 拍腦袋 拍肩膀 拍胸口 拍桌子 拍屁股 拍大腿!三邊六拍 很形象,引人深思!三邊六拍 並非本人原創,最開始我是從我的領導那聽到的,我覺得很有意思,很形象,很貼合實際。下面介紹一下什麼是專案管理 六拍 以及我的一些感受 然後介紹 三邊 和我的體會。作者 ...