趙晴晴,段渭軍,傅賢鋒
(西北工業(yè)大學(xué)電子信息學(xué)院,西安 710072)
?
基于超聲波六元陣列TDOA測距的WSN定位系統(tǒng)設(shè)計與實現(xiàn)*
趙晴晴,段渭軍*,傅賢鋒
(西北工業(yè)大學(xué)電子信息學(xué)院,西安 710072)
基于超聲波測距的定位技術(shù)以其精度高、范圍廣和性能穩(wěn)定等優(yōu)點,在無線傳感器網(wǎng)絡(luò)中廣泛應(yīng)用。為了實現(xiàn)較大范圍的高精度定位,采用TDOA的測距技術(shù)設(shè)計了滿足遠距離測量和二維全向測距的六元超聲波傳感器陣列系統(tǒng),實現(xiàn)了無錨節(jié)點的無線傳感器網(wǎng)絡(luò)中節(jié)點的高精度定位和實時監(jiān)控。測距實驗結(jié)果表明,該系統(tǒng)的測量距離最遠為16 m,平均測距誤差為0.14 %;定位實驗結(jié)果表明,10個節(jié)點可以在3 min內(nèi)完成全部組網(wǎng)和定位,平均定位誤差約為23.74 cm。
無線傳感器網(wǎng)絡(luò);定位系統(tǒng);超聲波六元陣;TDOA測距;無錨節(jié)點定位
無線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Network)是近年來備受人們關(guān)注的前沿?zé)狳c研究領(lǐng)域,無論是在軍事偵察、工業(yè)控制,還是地理環(huán)境監(jiān)測等應(yīng)用場合,節(jié)點的位置信息至關(guān)重要,因為不含位置信息的傳感器感知數(shù)據(jù)往往是沒有意義的[1]。然而為了減小節(jié)點部署和校準(zhǔn)的成本,WSN應(yīng)用多采取隨機部署的機制,致使節(jié)點無法事先確定自身的位置,需要其部署后進行自身定位[2]。
現(xiàn)有的定位技術(shù)可以根據(jù)定位過程中是否需要使用已知位置信息的錨節(jié)點,分為錨節(jié)點定位和無錨節(jié)點定位[3]。隨著WSN向節(jié)點數(shù)量多、硬件成本低且體積小的方向發(fā)展,基于錨節(jié)點的定位技術(shù)在成本、體積、功耗和部署環(huán)境等方面越來越受限,而無錨節(jié)點定位技術(shù)的研究變得越來越重要[4]。然而,目前無錨節(jié)點定位技術(shù)的定位精度相對較低,需要進一步研究以提高其定位精度。
無錨節(jié)點定位技術(shù)多采用基于超聲波TDOA測距的節(jié)點定位方法。超聲波測距的優(yōu)點是指向性好,不受光線、電磁波、煙霧和灰塵的影響,缺點是具有一定的方向性,單個超聲波傳感器無法同時為周圍的節(jié)點提供測距服務(wù)。TDOA測距系統(tǒng)中,發(fā)射節(jié)點同時發(fā)射射頻信號和超聲波信號,接收節(jié)點根據(jù)此兩種信號的到達時間差并已知二者的傳播速度,計算出兩節(jié)點之間的距離[5-6]。雖然TDOA測距技術(shù)需要額外的硬件支持,在一定程度上增加了節(jié)點的硬件成本和系統(tǒng)功耗,但該測距技術(shù)不需要定位網(wǎng)絡(luò)進行全局時間同步,能夠大大降低實現(xiàn)時間精確同步帶來的硬件成本,且減少了因時間同步可能產(chǎn)生的測量誤差,使測距精度保持在厘米級。
在綜合考慮節(jié)點的定位精度、硬件實現(xiàn)、算法復(fù)雜度以及擴展性等指標(biāo)的基礎(chǔ)上,本文研究了基于超聲波TDOA測距的無錨節(jié)點定位算法,采用六組超聲波傳感器陣列,設(shè)計了一種滿足遠距離測量和高精度定位的超聲波傳感器六元陣列定位系統(tǒng),解決了測距節(jié)點超聲波信號二維全向發(fā)送與接收的問題,實現(xiàn)了無錨節(jié)點的WSN中節(jié)點的高精度定位和實時監(jiān)控顯示。
1.1 整體架構(gòu)
定位系統(tǒng)由定位網(wǎng)絡(luò)和監(jiān)控中心兩部分組成,如圖1所示。定位網(wǎng)絡(luò)是由隨機部署的待定位節(jié)點組成,首先基于共線度信息選取一定數(shù)量的參考節(jié)點建立相對坐標(biāo)系,然后待定位節(jié)點通過TDOA測距技術(shù)測量其與參考節(jié)點間的距離,再根據(jù)無錨節(jié)點的定位算法計算出自身在相對坐標(biāo)系中的相對位置,最后將自身的位置信息通過射頻信號發(fā)送至Sink節(jié)點。監(jiān)控中心的Sink節(jié)點負責(zé)收集定位網(wǎng)絡(luò)中節(jié)點的網(wǎng)絡(luò)地址、節(jié)點間的距離以及節(jié)點坐標(biāo)等信息,并通過UART串口將節(jié)點信息上傳至顯示終端,最終構(gòu)建并顯示出全網(wǎng)節(jié)點的相對坐標(biāo)圖。
圖1 系統(tǒng)示意圖
圖2 系統(tǒng)實物圖
傳感器節(jié)點在不同應(yīng)用中其結(jié)構(gòu)也不盡相同。考慮到網(wǎng)絡(luò)節(jié)點的功能需求以及構(gòu)成節(jié)點的模塊眾多,因此本文將處理器模塊、RF模塊、傳感器模塊、控制模塊和信號檢測模塊布置在一塊電路板上稱為主控板;另一電路板則放置超聲波陣列收發(fā)模塊,稱為超聲波陣列板,這樣設(shè)計的優(yōu)點就是減少了模塊間的干擾,增加了系統(tǒng)的可擴展性。系統(tǒng)實物如圖2所示。
1.2 處理器模塊
處理器模塊主要由微控制器、通信接口以及可編程閾值比較電路組成。在綜合考慮了主控制器在網(wǎng)絡(luò)節(jié)點中的主要任務(wù),處理能力、體積、功耗、片上資源和成本等因素后,選用NXP公司推出的第3代無線SOC模塊——JN5148作為節(jié)點主控制器[7]。
由于超聲波的衰減特性以及閾值檢測法的運算量小、實時性好等特點,本文采用閾值可變的比較電路檢測法處理接收信號,電路原理如圖3所示。
圖3 閾值比較電路原理圖
1.3 超聲波收發(fā)模塊
超聲傳感器的方向角一般為(60±5)°[8],單個超聲波傳感器無法同時為周圍的節(jié)點提供測距服務(wù),因此本文創(chuàng)新設(shè)計了一組超聲波傳感器六元陣列,實現(xiàn)了測距節(jié)點超聲波信號的二維全向發(fā)送與接收。
超聲波陣列收發(fā)模塊的發(fā)射電路負責(zé)驅(qū)動超聲波傳感器發(fā)射超聲波信號,接收電路則對接收的信號進行濾波和放大處理。
①發(fā)射電路
如圖4所示,DC-DC電壓轉(zhuǎn)換器(MAX864)將+5 V電壓轉(zhuǎn)換至±10 V輸出,為運放(LM8261)提供對稱的雙電源;由主控芯片產(chǎn)生的40 kHz的方波信號分別連接到六路LM8261的輸入端,通過軟件編程可控制每一路PWM信號的通斷,電路原理如圖5所示。
圖4 升壓模塊原理圖
圖5 channel_1發(fā)射電路原理圖
②接收電路
接收模塊采用二級放大電路將接收到的信號放大后輸送到閾值可變比較電路模塊,REV_EN1~REV_EN6為接收使能信號,分別用于控制六路接收電路的通斷,channel_1的電路原理如圖6所示。
圖6 超聲波接收電路原理圖(channel_1)
1.4 控制模塊
控制模塊主要負責(zé)超聲波陣列收發(fā)模塊中相關(guān)信號的控制,如超聲波信號發(fā)送使能和接收使能以及芯片的片選信號等。
如圖7所示,只需3個主控制器I/O口以及2片級聯(lián)的74HC595即可實現(xiàn)對電路中所有使能信號的控制。
圖7 控制電路原理圖
1.5 電源模塊
JN5148的工作電壓為2.3 V~3.6 V,而系統(tǒng)中的模擬電路和數(shù)字電路均采用5.0 V電源,因此設(shè)計了電源轉(zhuǎn)換電路滿足供電需求,如圖8所示,VCC的取值范圍為6 V~12 V。
圖8 電壓轉(zhuǎn)換原理圖
2.1 共線度定義
基于共線度DC(Degree of Collinearity)的無錨節(jié)點定位算法[9]的特征是以網(wǎng)絡(luò)中部分節(jié)點為參考節(jié)點,建立整個網(wǎng)絡(luò)的相對坐標(biāo)系統(tǒng)。本章算法中的共線度定義為3個參加節(jié)點為一組,由它們組成的三角形的最小內(nèi)角的余弦值,即三角形3個內(nèi)角余弦值的最大值[10-11],如圖9所示。3個參考節(jié)點組成△ABC,根據(jù)余弦定理可得:
(1)
(2)
(3)
參考節(jié)點的共線度為:
DC=max{cos(θa),cos(θb),cos(θc)}
(4)
圖9 共線度定義與取值范圍
2.2 定位算法描述
因為無錨節(jié)點定位中無預(yù)先部署錨節(jié)點,所以算法首先初始化一個參考坐標(biāo)系,然后其余待定位節(jié)點基于該參考坐標(biāo)系實現(xiàn)自身坐標(biāo)的相對定位。具體過程是:1)由Sink節(jié)點通過運行隨機定時器選取第1個參考節(jié)點R1(0,0);2)根據(jù)測距閾值在第1個參考節(jié)點的鄰居節(jié)點中確定第2個參考節(jié)點R2,根據(jù)R1與R2之間的測距距離值d12確定R2的坐標(biāo)為(d12,0);3)假設(shè)R1與R2共有t個鄰居節(jié)點,根據(jù)式(4)計算節(jié)點與R1、R2組成的節(jié)點組的共線度DC1,DC2,…,DCt,從中選擇共線度最小的節(jié)點作為第3個參考節(jié)點R3,其坐標(biāo)由式(5)和式(6)計算得到:
(5)
(6)
式中,d13為R1與R3的距離,d12為R1與R2的距離,d23為R2與R3的距離。4)由3個參考節(jié)點發(fā)射超聲波提供測距服務(wù),待定位節(jié)點接收超聲波并測量與該參考節(jié)點的距離;5)待定位節(jié)點基于最小二乘法進行坐標(biāo)估計。假設(shè)待定位節(jié)點ni坐標(biāo)為(xi,yi),待定位節(jié)點到參考節(jié)點的測距值分別為d1i、d2i、d3i,且參考節(jié)點坐標(biāo)為R1(x1,y1),R2(x2,y2),R3(x3,y3),則根據(jù)最小二乘法可求解待定位節(jié)點的坐標(biāo):
(7)
其中,
(8)
(9)
(10)
節(jié)點的定位算法流程如圖10所示。
圖10 節(jié)點定位算法流程圖
圖11 共線度無關(guān)(α=1 %)的定位效果
2.3 算法仿真與分析
為了驗證算法的有效性,首先在OMNeT++[12]平臺下對算法進行了仿真實驗。定義節(jié)點間的測距范圍為15 m(令L=15 m),在20 m×20 m的場景中隨機部署10個節(jié)點,閾值d=2 L/3,節(jié)點的相對測距誤差α取1 %或2 %。本文分別在共線度無關(guān)和基于共線度情況下進行了仿真實驗,并對兩種算法進行了性能對比。
算法定位效果。共線度無關(guān)的定位效果和基于共線度的定位效果分別如圖11和圖12所示(N=10,α=1 %)。
圖12 基于共線度(α=1 %)的定位效果
性能對比。α=1 %時,針對不同的網(wǎng)絡(luò)規(guī)模N,分別計算共線度無關(guān)和基于共線度的節(jié)點估計位置與真實節(jié)點位置的平均定位誤差。仿真結(jié)果如圖13所示,在共線度無關(guān)的情況下,節(jié)點數(shù)為8時,由于節(jié)點部署過于稀疏,分布不均勻,同時在參考節(jié)點隨機選取的情況下,共線度較大,網(wǎng)絡(luò)節(jié)點的平均定位誤差較大;隨著網(wǎng)絡(luò)節(jié)點密度的增大,節(jié)點分布更均勻,整個網(wǎng)絡(luò)的平均定位誤差急劇減小。而在基于共線度的情況下由于在參考節(jié)點的選取階段引入了共線度,使得平均定位誤差相比于共線度無關(guān)的情況下大幅減小,同時定位性能也更穩(wěn)定。
圖13 不同節(jié)點密度的平均定位誤差
2.4 監(jiān)控系統(tǒng)設(shè)計
定位監(jiān)控顯示系統(tǒng)通過串口接收Sink節(jié)點上傳的節(jié)點的相關(guān)信息,并實時地構(gòu)建定位網(wǎng)絡(luò)的網(wǎng)絡(luò)拓撲和全網(wǎng)節(jié)點的相對坐標(biāo)系。監(jiān)控顯示系統(tǒng)的開發(fā)工具為python2.7+PyQt4+Eric4,其中,Eric4是一個用PyQt4和QScintilla2開發(fā)的python集成開發(fā)環(huán)境(IDE),適合開發(fā)圖形界面的python應(yīng)用程序。
監(jiān)控顯示系統(tǒng)的實現(xiàn)如圖14所示,拓撲顯示區(qū)域負責(zé)構(gòu)建全網(wǎng)節(jié)點的相對坐標(biāo)系以及節(jié)點定位信息的顯示,消息文本顯示區(qū)域負責(zé)顯示Sink節(jié)點上傳的信息和監(jiān)控顯示系統(tǒng)自身的運行信息。為了便于操作串口,監(jiān)控顯示系統(tǒng)還具有串口設(shè)置功能,包括串口號和波特率的設(shè)置,其他設(shè)置默認為無奇偶校驗位,停止位為1,數(shù)據(jù)位為8。
圖14 定位監(jiān)控顯示系統(tǒng)
為了彌補環(huán)境溫度變化對超聲波測距精度的影響,本文利用溫度傳感器采集環(huán)境溫度對超聲波的傳播速度進行補償[13]:
Vu=331.5+0.607t(m/s)
(11)
其中Vu為補償后的速度,t為環(huán)境溫度(℃);對于軟件延時和同步精度差等誤差,則利用參量補償?shù)姆绞絹頊p小誤差。
首先對超聲波節(jié)點進行TDOA測距實驗以驗證其測距精度。實驗中,節(jié)點從1 m處開始測距并逐漸增大距離,每隔1 m測量一組,每組測量15次。實驗結(jié)果表明,最大測量距離為16 m,平均測距誤差2.14 cm,最小誤差近似為0,最大誤差為35 cm,相對測距誤差范圍為0 %到2.333 %,平均相對測距誤差約為0.14 %。
網(wǎng)絡(luò)節(jié)點定位實驗在體育館內(nèi)進行,將10個節(jié)點隨機布置在20 m× 20 m的范圍內(nèi);在3 min內(nèi)全部組網(wǎng)測距并完成自身定位,PC端通過Sink節(jié)點上傳的節(jié)點位置信息實時的顯示網(wǎng)絡(luò)拓撲結(jié)構(gòu)及全網(wǎng)的相對坐標(biāo)。實驗結(jié)果如圖15所示。
圖15 節(jié)點定位實驗結(jié)果
為了更直觀的顯示定位效果,本文將系統(tǒng)定位實驗的節(jié)點坐標(biāo)和實際的節(jié)點坐標(biāo)進行了對比,對比結(jié)果如圖16所示。
實驗結(jié)果顯示,樣本數(shù)據(jù)的平均定位誤差是23.74 cm,最大定位誤差是39.45 cm,最小定位誤差約為11 cm,定位精度較高。
圖16 定位效果對比圖
本文首先研究設(shè)計并實現(xiàn)了基于超聲波陣列測距的網(wǎng)絡(luò)節(jié)點,基于該節(jié)點,從減小測距誤差、改進定位算法等方面提高系統(tǒng)定位精度,并最終進行系統(tǒng)實現(xiàn)。測距實驗結(jié)果表明,該系統(tǒng)的測距精度比較高,測量距離最遠為16 m,平均測距誤差為0.14 %;定位實驗結(jié)果表明,10個節(jié)點可以在3 min內(nèi)組網(wǎng)測距并全部完成自身定位,平均定位誤差大約為23.74 cm。
[1] 朱劍,趙海,徐永強,等. 無線傳感器網(wǎng)絡(luò)中的定位模型[J]. 軟件學(xué)報,2011,22(7):1612-1625.
[2]黃潔,王福豹,段渭軍. WSN節(jié)點超聲波測距技術(shù)研究[J]. 電子設(shè)計工程,2013. 21(6):120-122.
[3]Cui Xunxue,Shan Zhiguan,Liu Jianjun. Distributed Localization for Anchor-Free Sensor network[J]. Journal of System Engineering and Electronics,2008,19(3):405-418.
[4]崔遜學(xué),劉建軍,樊秀梅. 傳感器網(wǎng)絡(luò)中一種分布式無錨節(jié)點定位算法[J]. 計算機研究與發(fā)展,2009,46(3):425-433.
[5]趙晴晴,黃亮,傅賢鋒,等. 基于超聲波六元陣列測距的WSN節(jié)點定位技術(shù)研究[J]. 傳感技術(shù)學(xué)報,2014. 27(3):368-372.
[6]趙海,張寬,朱劍,等. 基于TDOA的超聲波測距誤差分析與改進[J]. 東北大學(xué)學(xué)報:自然科學(xué)版,2011(6):802-805.
[7]陳真清. 基于JN5148的WSN平臺設(shè)計及節(jié)能研究[D]. 大連:大連理工大學(xué),2010.
[8]Tikanmki A,Mkel T,Pietikinen A,et al. Mult-iRobot System for Exploration in an Outdoor Environment[J]. Robotics and Applications and Telematics,2007,9(1):563-567.
[9]吳凌飛,孟慶虎,梁華為. 一種基于共線度的無線傳感器網(wǎng)絡(luò)定位算法[J]. 傳感技術(shù)學(xué)報,2009,22(5):722-727.
[10]孟文超. 無線傳感器網(wǎng)絡(luò)定位系統(tǒng)研究及設(shè)計[D]. 杭州:浙江工業(yè)大學(xué),2011.
[11]樊小翔. 基于移動錨節(jié)點的節(jié)點自適應(yīng)定位研究[D]. 西安:西北工業(yè)大學(xué),2009.
[12]朱曉姝. OMNet++仿真工具的研究與應(yīng)用[J]. 大連工業(yè)大學(xué)學(xué)報,2010. 29(1):62-65.
[13]蘇煒,龔壁建,潘笑. 超聲波測距誤差分析[J]. 傳感器技術(shù),2004(6):8-11.
趙晴晴(1989-),女,山東德州人,碩士生,主要研究方向為無線傳感器網(wǎng)絡(luò),zhaoqingqing0413@163.com;
段渭軍(1962-),男,陜西渭南人,副教授,碩士生導(dǎo)師,主要研究方向為無線傳感器網(wǎng)絡(luò)、信號處理,duanwj@nwpu.edu.cn。
TheDesignandImplementationofWSNLocalizationSystemBasedonSix-ElementArrayofUltrasonicTDOARanging*
ZHAOQingqing,DUANWeijun*,FUXianfeng
(School of Electronics and Information,Northwestern Polytechnical University,Xi’an 710072,China)
For the high accuracy,wide range and stable performance,the ultrasonic positioning technology is becoming an important research point in wireless sensor networks. This paper presents a six-element array ultrasonic sensor system which meets long distance measurements and 2D omnidirectional ranging based on TDOA technology. It also implements high-precision positioning and real-time monitoring in a anchor-free WSN. The ranging experiment result shows that the furthest distance measurement is 16 meters and the average distance measurement error is 0.14 %;The positioning experiment result shows that 10 nodes can complete networking and positioning in 3 min,the average positioning error is 23.74 cm.
wireless sensor networks;localization system;six-element array of ultrasonic;TDOA;anchor-free;localization
項目來源:西安市科技計劃項目(CX1255①)
2014-05-28修改日期:2014-07-30
10.3969/j.issn.1004-1699.2014.09.017
TP393
:A
:1004-1699(2014)09-1247-06