傅軍棟, 張 胤
(華東交通大學(xué) 電氣與電子工程學(xué)院,南昌 330013)
?
一種協(xié)同定位算法在智能照明系統(tǒng)中的應(yīng)用
傅軍棟, 張胤
(華東交通大學(xué) 電氣與電子工程學(xué)院,南昌330013)
摘要:燈具是智能照明系統(tǒng)的控制對(duì)象,而控制燈具的前提是找到燈具的位置;針對(duì)燈具的定位問題,提出了一種基于加權(quán)質(zhì)心和泰勒級(jí)數(shù)展開的協(xié)同定位算法;為使定位更加穩(wěn)定與精確,該算法利用加權(quán)質(zhì)心算法對(duì)未知節(jié)點(diǎn)進(jìn)行初始定位,再將其作為泰勒級(jí)數(shù)展開算法的初值,精確估計(jì)未知節(jié)點(diǎn)的位置;仿真結(jié)果表明,與傳統(tǒng)的加權(quán)質(zhì)心算法相比,該協(xié)同定位算法收斂性好,定位精度高,最大定位誤差小于1.8 m,平均定位誤差可以達(dá)到0.7 m;這種定位算法應(yīng)用于智能照明控制系統(tǒng)中,有利于精確地對(duì)燈節(jié)點(diǎn)進(jìn)行控制。
關(guān)鍵詞:智能照明系統(tǒng);節(jié)點(diǎn)定位;測(cè)距;加權(quán)質(zhì)心;泰勒級(jí)數(shù)展開
0引言
在現(xiàn)有的多數(shù)智能照明控制中,需要預(yù)先定義好節(jié)點(diǎn)的編碼,再安裝時(shí)還需記錄節(jié)點(diǎn)編碼對(duì)應(yīng)的位置信息,設(shè)置相對(duì)復(fù)雜。隨著物聯(lián)網(wǎng)的不斷發(fā)展,ZigBee技術(shù)得到了廣泛的推廣和應(yīng)用。采用ZigBee無線傳感網(wǎng)絡(luò)構(gòu)建的智能照明系統(tǒng)[1],在照明設(shè)備上安裝ZigBee就可以將燈節(jié)點(diǎn)轉(zhuǎn)換為對(duì)無線網(wǎng)絡(luò)節(jié)點(diǎn)的控制,如果能夠通過信號(hào)的強(qiáng)弱及方位來獲取燈的物理位置,將有利于對(duì)燈進(jìn)行可視化設(shè)置。本文主要以基于ZigBee的無線傳感網(wǎng)構(gòu)建的智能照明系統(tǒng)[2]為研究?jī)?nèi)容,實(shí)現(xiàn)智能照明系統(tǒng)中燈節(jié)點(diǎn)的快速定位。
多年來,對(duì)于無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)的定位技術(shù)國(guó)內(nèi)外專家學(xué)者提出了許多算法[3]。根據(jù)是否需要測(cè)量節(jié)點(diǎn)間的距離分為兩類:一類是基于測(cè)距的定位算法(Range-Based);另一類是無需測(cè)距的定位算法(Range-Free),基于測(cè)距的節(jié)點(diǎn)定位算法,文獻(xiàn)[4]提出了一種基于TOA的定位算法,該算法利用發(fā)出無線信號(hào)的節(jié)點(diǎn)到接收信號(hào)節(jié)點(diǎn)的時(shí)間計(jì)算兩節(jié)點(diǎn)間的距離,對(duì)節(jié)點(diǎn)時(shí)間的同步性要求高,且耗能大。基于非測(cè)距的節(jié)點(diǎn)定位算法,文獻(xiàn)[5]提出了一種Centroid定位算法,該算法僅利用節(jié)點(diǎn)間的網(wǎng)絡(luò)連通度,將未知節(jié)點(diǎn)鄰近的信標(biāo)節(jié)點(diǎn)的質(zhì)心作為未知節(jié)點(diǎn)的位置。文獻(xiàn)[6]提出了一種DV-HOP定位算法,該算法首先計(jì)算網(wǎng)絡(luò)平均每跳的距離,然后計(jì)算未知節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)的跳數(shù),最后利用平均每跳的距離跟跳數(shù)來計(jì)算未知節(jié)點(diǎn)的位置。
對(duì)于無線智能照明系統(tǒng)來說,對(duì)燈節(jié)點(diǎn)的定位精度要求較高,然而上述的定位算法誤差較大、定位精度不高,針對(duì)上述問題,本文提出了一種基于加權(quán)質(zhì)心和泰勒級(jí)數(shù)展開相結(jié)合的協(xié)同定位算法。該算法首先利用RSSI測(cè)距模型計(jì)算節(jié)點(diǎn)間的距離,然后利用加權(quán)質(zhì)心算法估計(jì)未知節(jié)點(diǎn)的大概位置,最后用泰勒級(jí)數(shù)展開精確的定位未知節(jié)點(diǎn)的位置。該算法定位精度較高,能夠滿足無線智能照明系統(tǒng)燈節(jié)點(diǎn)的定位要求。
1智能照明系統(tǒng)的組成
由ZigBee[7]無線信號(hào)通信的基本原理可知,整個(gè)照明系統(tǒng)主要由終端節(jié)點(diǎn)(燈節(jié)點(diǎn))、協(xié)調(diào)器節(jié)點(diǎn)、上位機(jī)及Android手機(jī)組成。本系統(tǒng)的結(jié)構(gòu)如圖1所示。在整個(gè)ZigBee網(wǎng)絡(luò)中,終端節(jié)點(diǎn)以路由的方式加入,同時(shí)具有終端節(jié)點(diǎn)采集和控制的功能。協(xié)調(diào)器在完成自組網(wǎng)的情況下廣播發(fā)送查詢未知節(jié)點(diǎn)(不知道具體坐標(biāo)位置的節(jié)點(diǎn))的命令,未知節(jié)點(diǎn)在收到查詢命令后,向周圍的信標(biāo)節(jié)點(diǎn)(已知坐標(biāo)位置的節(jié)點(diǎn))發(fā)送8次blast信號(hào),信標(biāo)節(jié)點(diǎn)在收到未知節(jié)點(diǎn)的blast信號(hào)后,記錄下與該未知節(jié)點(diǎn)的RSSI值,然后對(duì)這8個(gè)RSSI值取平均,最后所有信標(biāo)節(jié)點(diǎn)通過ZigBee[8]網(wǎng)絡(luò)把處理得到的RSSI平均值發(fā)送給協(xié)調(diào)器節(jié)點(diǎn),協(xié)調(diào)器節(jié)點(diǎn)在通過串口將數(shù)據(jù)傳給上位機(jī),上位機(jī)經(jīng)過協(xié)同定位算法處理后,求出未知節(jié)點(diǎn)的坐標(biāo)。然后把未知節(jié)點(diǎn)的坐標(biāo)顯示在監(jiān)控軟件的界面上,以便用戶對(duì)終端節(jié)點(diǎn)進(jìn)行操作。同時(shí)上位機(jī)通過WiFi可以把未知節(jié)點(diǎn)的坐標(biāo)發(fā)送到手機(jī)供手機(jī)顯示,用戶通過手機(jī)也可以對(duì)終端節(jié)點(diǎn)進(jìn)行操作,開關(guān)或者對(duì)燈具進(jìn)行調(diào)光等。
圖1 智能照明系統(tǒng)結(jié)構(gòu)圖
2定位算法原理
2.1RSSI室內(nèi)傳播模型
由無線信號(hào)通信的基本原理可知,無線信號(hào)在傳播的過程中,信號(hào)強(qiáng)度隨傳播距離的增加而有規(guī)律地衰減。因此,可以通過信號(hào)強(qiáng)度與距離的關(guān)系來求得節(jié)點(diǎn)間的距離。目前,比較常見的RSSI[9]—距離傳播模型有自由空間傳播、shadowing、兩徑放射、哈它等模型,室內(nèi)環(huán)境由于存在多徑反射、非視距、障礙物等的影響,一般采用更具綜合性的Shadowing傳播模型。Shadowing傳播模型如式(1):
(1)
式(1)中,d表示接收端到信號(hào)源的距離,PL(d)表示相距為d時(shí),接收端接收到的信號(hào)強(qiáng)度,單位為dBm,d0表示參考距離,一般取1 m,PL(d0)表示距離為1 m時(shí)的接收信號(hào)強(qiáng)度,n表示路徑損耗系數(shù),表示信號(hào)強(qiáng)度隨距離增加時(shí)的衰減速率,ε是均值為0,均方差為σ(dB)的高斯白噪聲,令PL(d0)=A,PL(d)=RSSI,則式(1)化簡(jiǎn)為:
(2)
在實(shí)際應(yīng)用中,一般不考慮高斯白噪聲,采用簡(jiǎn)化的Shadowing模型,如式(3):
(3)
根據(jù)公式(3)求出距離的表達(dá)式:
(4)
在一些文獻(xiàn)中給出了A和n的取值范圍,如表1所示,本實(shí)驗(yàn)因?yàn)樵谵k公室中進(jìn)行,A取-50,n取2,利用公式(4)求得節(jié)點(diǎn)間的距離。此距離在代入加權(quán)質(zhì)心算法中求得未知節(jié)點(diǎn)的初始坐標(biāo)。
2.2加權(quán)質(zhì)心算法
質(zhì)心算法僅考慮網(wǎng)絡(luò)連通度,首先設(shè)定一個(gè)通信半徑,然后記錄能與未知節(jié)點(diǎn)進(jìn)行通信的信標(biāo)節(jié)點(diǎn)的坐標(biāo)。最后把這些信標(biāo)節(jié)點(diǎn)組成的多邊形的質(zhì)心作為未知節(jié)點(diǎn)的坐標(biāo),顯然,質(zhì)心算法的定位精度不高,只能實(shí)現(xiàn)粗略的定位,而且非常依賴于信標(biāo)節(jié)點(diǎn)的數(shù)量,但其計(jì)算簡(jiǎn)單,僅僅需要考慮網(wǎng)絡(luò)的連通度。假設(shè)未知節(jié)點(diǎn)坐標(biāo)為(X,Y,Z),能與其進(jìn)行通信的k個(gè)信標(biāo)節(jié)點(diǎn)坐標(biāo)為(x1,y1,z1),(x2,y2,z2),……(xk,yk,zk),則未知節(jié)點(diǎn)的坐標(biāo)表達(dá)式如下:
表1 不同情況下A和n值
(5)
也可以簡(jiǎn)化為式(6):
(6)
式(6)中,(X,Y,Z)表示未知節(jié)點(diǎn)的坐標(biāo),(xi,yi,zi)表示信標(biāo)節(jié)點(diǎn)的坐標(biāo),k表示能與未知節(jié)點(diǎn)進(jìn)行通信的信標(biāo)節(jié)點(diǎn)個(gè)數(shù)。
上述質(zhì)心算法由于并沒有考慮信標(biāo)節(jié)點(diǎn)離未知節(jié)點(diǎn)的遠(yuǎn)近程度對(duì)未知節(jié)點(diǎn)定位的影響,因此定位效果不好,顯然信標(biāo)節(jié)點(diǎn)離未知節(jié)點(diǎn)越遠(yuǎn),對(duì)未知節(jié)點(diǎn)的影響越小,反之,則對(duì)未知節(jié)點(diǎn)的影響越大??紤]到這個(gè)因素,在質(zhì)心算法的基礎(chǔ)上加一個(gè)權(quán)值,這個(gè)權(quán)值與距離成反比,從而可提高定位的精度。加權(quán)質(zhì)心算法[10]的公式如下:
(7)
(8)
式(7)中,(X,Y,Z)表示未知節(jié)點(diǎn)的坐標(biāo),N表示與未知節(jié)點(diǎn)能通信的信標(biāo)節(jié)點(diǎn)的坐標(biāo),wi表示信標(biāo)節(jié)點(diǎn)的權(quán)重,(xi,yi,zi)表示信標(biāo)節(jié)點(diǎn)的坐標(biāo),式(8)中的di表示未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的距離,也就是公式(4)求得的d,n為權(quán)重系數(shù),一般取1~4,這里取1。利用公式(7)求得未知節(jié)點(diǎn)的初始坐標(biāo),然后再代入泰勒級(jí)數(shù)展開式中,使節(jié)點(diǎn)的定位更加準(zhǔn)確。
2.3泰勒級(jí)數(shù)展開法
泰勒級(jí)數(shù)Taylor展開法是一種需要初始未知的遞歸算法,如果初始位置選取不恰當(dāng),可能會(huì)造成算法不收斂,這里我們選取加權(quán)質(zhì)心算法來定位未知節(jié)點(diǎn)的初始位置,然后在利用泰勒級(jí)數(shù)展開法來更精確地定位未知節(jié)點(diǎn)的坐標(biāo)。由式(7)可知,(X,Y,Z)表示未知節(jié)點(diǎn)的坐標(biāo),(xi,yi,zi)表示信標(biāo)節(jié)點(diǎn)的坐標(biāo),di表示未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的距離,于是用一個(gè)函數(shù)fi(X,Y,Z)來表示信標(biāo)節(jié)點(diǎn)與未知節(jié)點(diǎn)測(cè)量距離和估計(jì)距離之間的差值,如式(9)所示:
(9)
假設(shè)根據(jù)加權(quán)質(zhì)心算法得到未知節(jié)點(diǎn)坐標(biāo)為(X0,Y0,Z0),把它代入公式(9)的X,Y,Z再將式(9)在(X0,Y0,Z0)點(diǎn)處用泰勒級(jí)數(shù)展開到一階導(dǎo)數(shù),忽略后面的高階項(xiàng),得到式(10):
(10)
其中:fi代表fi(X0,Y0,Z0),當(dāng)fi(X,Y,Z)足夠小時(shí)定位的節(jié)點(diǎn)就是實(shí)際的節(jié)點(diǎn),所以我們令fi(X,Y,Z)=0,式(10)可以寫成矩陣的形式,如式(11):
(11)
(12)
(13)
(14)
(15)
求解矩陣f=AΔ,其最小二乘解為:
(16)
得到Δ后,修正未知節(jié)點(diǎn)的坐標(biāo),X=X0+ΔX,Y=Y0+ΔY,Z=Z0+ΔZ重復(fù)以上步驟,直到ΔX,ΔY,ΔZ滿足預(yù)先設(shè)定好的值ε,ε=0.001,使得ΔX2+ΔY2+ΔZ2≤ε,記錄此時(shí)的ΔX,ΔY,ΔZ則未知節(jié)點(diǎn)的坐標(biāo)就為X=X0+ΔX,Y=Y0+ΔY,Z=Z0+ΔZ從而進(jìn)一步提高了節(jié)點(diǎn)的定位精度。
2.4算法流程
加權(quán)質(zhì)心和泰勒級(jí)數(shù)展開協(xié)同定位法是在加權(quán)質(zhì)心算法的基礎(chǔ)上更精確定位的一種算法,該算法具有定位精度高,誤差小等特點(diǎn)。具體實(shí)現(xiàn)步驟如下:
第1步:產(chǎn)生信標(biāo)節(jié)點(diǎn)和未知節(jié)點(diǎn)的坐標(biāo)集。根據(jù)實(shí)際情況在Matlab中產(chǎn)生信標(biāo)節(jié)點(diǎn)的坐標(biāo)(xi,yi,zi)與未知節(jié)點(diǎn)的坐標(biāo)(X,Y,Z)。
第2步:確定與未知節(jié)點(diǎn)具有通信能力的信標(biāo)節(jié)點(diǎn)坐標(biāo)。由于在實(shí)際環(huán)境中RSSI[11]的測(cè)量具有不確定性,相同距離的同一個(gè)位置所測(cè)得RSSI都有很大的區(qū)別,所以我們利用公式(2)計(jì)算未知節(jié)點(diǎn)(X,Y,Z)與信標(biāo)節(jié)點(diǎn)(xi,yi,zi)距離為d時(shí)的RSSI,如果RSSI[12]大于所設(shè)的限值-90,則認(rèn)為未知節(jié)點(diǎn)在信標(biāo)節(jié)點(diǎn)的通信范圍內(nèi),記錄下此時(shí)的信標(biāo)節(jié)點(diǎn)坐標(biāo)。用于后面的加權(quán)質(zhì)心算法進(jìn)行計(jì)算。
第3步:求出未知節(jié)點(diǎn)與能與其通信的信標(biāo)節(jié)點(diǎn)的距離。根據(jù)第2步求得的RSSI與公式(4)求得未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的距離di。
第4步:確定未知節(jié)點(diǎn)的初始坐標(biāo)。把第2步求得的信標(biāo)節(jié)點(diǎn)坐標(biāo)與第3步求得的未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的距離di代入公式(7)、(8)求出未知節(jié)點(diǎn)的初始坐標(biāo)。
第5步:確定未知節(jié)點(diǎn)的坐標(biāo)。根據(jù)第4步求出的初始坐標(biāo)代入公式(16)求出修正量ΔX,ΔY,ΔZ的值。在判斷是否滿足ΔX2+ΔY2+ΔZ2≤ε,如果滿足則記錄下此時(shí)ΔX,ΔY,ΔZ的值,代入公式X=X0+ΔX,Y=Y0+ΔY,Z=Z0+ΔZ得到未知節(jié)點(diǎn)的最終坐標(biāo),具體流程如圖2所示。
圖2 定位流程圖
3算法仿真與分析
以某辦公樓一、二樓為實(shí)驗(yàn)場(chǎng)景,辦公樓的長(zhǎng)為52 m,寬為18 m,層高3 m,二樓的平面如圖3所示,●代表信標(biāo)節(jié)點(diǎn)燈的位置,總共15個(gè),*代表未知燈節(jié)點(diǎn)的位置,總共55個(gè),一樓的情況類似。建立直角坐標(biāo)系,二樓信標(biāo)節(jié)點(diǎn)燈的坐標(biāo)如下:(1.6,2.3,6),(14.3,2.3,6),(26.6,2.3,6),(38.5,2.3,6),(47.5,2.3,6),(1.4,8.5,6),(13.4,8.5,6),(25.4,8.5,6),(31.4,8.5,6),(46.4,8.5,6),(1.6,14.3,6),(14.3,14.3,6),(26.6,14.3,6),(38.5,14.3,6),(47.5,14.3,6)。
圖3 二樓平面示意圖
為了比較不同定位算法的定位性能,在Matlab環(huán)境下進(jìn)行仿真實(shí)驗(yàn)。●代表信標(biāo)節(jié)點(diǎn)的位置,*代表未知節(jié)點(diǎn)的實(shí)際位置,ο表示未知節(jié)點(diǎn)定位的位置,實(shí)際位置與定位位置之間的線段表示定位的誤差。加權(quán)質(zhì)心算法和協(xié)同定位算法的定位結(jié)果分別如圖4,圖5所示,從圖中可以看出加權(quán)質(zhì)心算法定位誤差較大,而協(xié)同定位算法定位誤差較小,完全符合智能照明系統(tǒng)中燈具節(jié)點(diǎn)定位精度高的要求。圖6為兩種算法的定位誤差對(duì)比圖,加權(quán)質(zhì)心算法的最大誤差為5.7,平均誤差為3.4,協(xié)同定位算法的最大定位誤差為1.8 m,平均誤差為0.7,對(duì)比上述結(jié)果可以發(fā)現(xiàn)協(xié)同定位算法的最大定位誤差都比加權(quán)質(zhì)心算法的平均定位誤差要小,可見,協(xié)同定位算法明顯提高了定位的精確度,證明了算法的優(yōu)越性。
圖4 加權(quán)質(zhì)心定位示意圖
圖5 協(xié)同定位示意圖
圖6 定位誤差對(duì)比圖
4總結(jié)
針對(duì)無線智能照明系統(tǒng)中燈具的定位問題,提出了一種基于加權(quán)質(zhì)心和泰勒級(jí)數(shù)展開協(xié)同定位的算法。一方面有效改善了泰勒級(jí)數(shù)算法在初始值偏離真實(shí)值較大的情況下算法不收斂的問題;另一方面有效提高了定位的精度。最后通過仿真實(shí)驗(yàn)比較了協(xié)同定位算法和加權(quán)質(zhì)心算法的定位效果,仿真結(jié)果表明:協(xié)同定位算法的定位誤差明顯小于加權(quán)質(zhì)心算法,提高了定位的精度,對(duì)于無線智能照明控制系統(tǒng)的定位具有一定的借鑒意義。
參考文獻(xiàn):
[1] 徐勇,欒曉明,王丹.基于ZigBee技術(shù)的智能照明系統(tǒng)設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2010,29(1):42-45.
[2] 殷駿,王巍.基于Zigbee的LED智能照明系統(tǒng)設(shè)計(jì)[J].照明工程學(xué)報(bào),2011,22(4):75-78.
[3] 王小平,羅軍,沈昌祥.無線傳感器網(wǎng)絡(luò)定位理論和算法[J].計(jì)算機(jī)研究與發(fā)展,2011,48(3):353-363.
[4] 王沁,何杰,張前雄,等.測(cè)距誤差分級(jí)的室內(nèi)TOA定位算法[J].儀器儀表學(xué)報(bào),2011,32(12):2851-2856.
[5] 宮娜娜,王緩緩.無線傳感器網(wǎng)絡(luò)質(zhì)心算法的最佳通信半徑[J].計(jì)算機(jī)仿真,2013,30(5):203-207.
[6] 王景琿. 一種基于DV-Hop的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位算法[J]. 計(jì)算機(jī)工程,2015,41(1):82-86.
[7] 戴國(guó)華,易靈芝,王根平. 一種新的基于ZigBee技術(shù)定位算法[J]. 計(jì)算機(jī)測(cè)量與控制,2012,04:1105-1107.
[8] 朱斌,譚勇,黃江波. 基于ZigBee無線定位技術(shù)的安全監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J]. 計(jì)算機(jī)測(cè)量與控制,2010,18(6):1247-1249,1252.
[9] 劉玉軍,蔡猛,高立恒,等. 基于RSSI測(cè)距的傳感器節(jié)點(diǎn)質(zhì)心定位修正算法[J]. 計(jì)算機(jī)測(cè)量與控制,2014,22(9):2860-2862.
[10] 王洪元,蔣燕蓉,焦筱悛,等.一種改進(jìn)的加權(quán)質(zhì)心自定位算法[J].計(jì)算機(jī)與應(yīng)用化學(xué),2014,31(3):263-267.
[11] RSSI-Based Indoor Localization and Tracking Using Sigma-Point Kalman Smoothers[J].IEEE Journal of Selected Topics in Signal Processing,2009,3(5):860.
[12] Yaghoubi F, Abbasfar A, Maham B, et al.Energy-Efficient RSSI-Based Localization for Wireless Sensor Networks[J].IEEE communications letters: A publication of the IEEE Communications Society,2014,18(6):973-976.
Application of A Cooperative Localization Algorithm in Intelligent Lighting System
Fu Jundong, Zhang Yin
(School of Electrical and Electronic Engineering,East China Jiaotong University, Nanchang330013,China)
Abstract:Lamps are the controlled object of the intelligent lighting system. However, The premise of controlling the lamps is to find the position. In view of the lamp localization problem, this paper puts forward a kind of cooperative localization algorithm based on weighted centroid and Taylor series expansion, In order to effectively improve the stability and accuracy of localization, in this paper, the weighted centroid algorithm is used to get initial location result which acts as the initial value in Taylor series expansion algorithm to get accuracy results. The Simulation results show that The cooperative localization algorithm is not only good convergence and high precision, compared with the traditional weighted centroid algorithm, maximum position error is less than 1.8 m, the average position error can reach 0.7 m. The localization algorithm is applied to intelligent lighting control system and is advantageous to the accurate control of lamp nodes.
Keywords:intelligent lighting system; node localization; distance measurement; weight centroid; Taylor series expansion
文章編號(hào):1671-4598(2016)02-0279-04
DOI:10.16526/j.cnki.11-4762/tp.2016.02.077
中圖分類號(hào):TP312
文獻(xiàn)標(biāo)識(shí)碼:A
作者簡(jiǎn)介:傅軍棟(1972-),男,陜西漢中人,碩士,副教授,主要從事無線通信,電力系統(tǒng),建筑電氣及智能化方向的研究。
收稿日期:2015-09-06;修回日期:2015-10-09。