虞致國,萬書芹,魏 斌,陳子逢,黃召軍
(中國電子科技集團公司第58研究所,江蘇 無錫 214035)
定位包括室外定位、室內定位兩類。其中室外定位比較成熟,如GPS、北斗系統等,但它們的信號難以穿透室內空間的建筑材料,無法在室內進行應用。室內定位技術不僅可讓使用者快速辨識位置,而且可以提供其他輔助服務,如設備跟蹤、無線路由協助、網絡拓撲控制等[1-2]。目前,室內定位技術已成為國內外的研究熱點之一[3-5]。
ZigBee技術是一種低速率、小范圍、低功耗的無線通信協議。隨著該技術的迅速應用,基于該技術的局部定位技術也開始得到廣泛的研究。本文以ZigBee技術為基礎平臺,基于鏈接質量指標(LQI)實現了一個無線高精度室內定位系統,具有可方便利用已有硬件設備、成本低、可嵌入到傳感網系統中等特點。
三邊測量法是無線網絡中基于距離定位的基本算法。三邊測量需要同時測量目標對象到三個已知位置的靜態節點的距離,進一步求三個已知半徑和圓心坐標的圓的交點,從而給目標定位。圖1為三邊測量定位模型。

圖1 三邊測量定位模型
已知三個參考節點A、B、C的坐標分別為(x1,y1)、(x2,y2)、(x3,y3),它們到未知節點的距離節點(x,y)的距離分別為r1、r2、r3,則可以建立如下方程:

由式(1)可以得出D點的坐標。
從三邊測量法的原理可以看出,其核心為測出未知目標至參考點的距離。LQI為ZigBee協調器選擇信道的依據之一,在ZigBee收發模塊每接收一個數據幀時都可以得到,其動態范圍為0~255。LQI與實際距離的對應關系模型直接影響到定位的準確性。在本文中,我們采用的方法是多項式擬合的方法。假定盲節點到參考節點的距離為d,參考節點提取的LQI為lqi_val,則假定有以下關系:

其中參數a3、a2、a1及a0要根據實際的場景模型測得數據經過MATLAB模擬得到。
整個系統包括無線節點和管理終端,其中節點包括協調器、參考節點和盲節點。參考節點為已知自身位置坐標信息的固定節點。盲節點為待定位的節點,可在參考點包圍的范圍任意移動。定位流程為盲節點廣播發送報文給參考節點,參考節點從接收到的報文中提取LQI并把它發回給盲節點,然后由盲節點統一打包后發給協調器,再傳回到管理終端。系統結構如圖2所示。

圖2 定位系統的基本結構
為了在無線傳感器網絡應用中節省成本,設計一種無線傳感器網絡通用節點的基本構架,完成一種具有實用價值、通用節點的軟硬件平臺的搭建是一個值得關注的問題。文中設計的硬件主要包括協調器節點、參考節點和盲節點三類。硬件平臺采用模塊化設計思想,盡量將一些公用模塊獨立出來。射頻模塊為各種類型節點不可缺少的部分,因此可以單獨設計。為了降低開發成本,協調器節點和參考節點采用了相同的主板,只是根據一些實際需求來判斷是否焊接相應的器件。協調器、參考節點和盲節點結構如圖3所示。

圖3 節點框圖
射頻模塊的硬件包括MCU電路、時鐘、RF匹配電路、天線、相應的對外接口等。為改進傳統無線技術的應用,越來越多的無線網絡器件和無線網絡解決方案在向芯片無線網絡平臺或無線單片機的新型解決方案方向發展,如TI公司的CC2430/CC2431、FreeScale公司的MC1319x/MC1322x系列等。文中選擇的是MC1322x,該芯片是Freescale公司針對ZigBee應用推出的片上封裝解決方案,芯片集成了標準的ARM內核、2.4GHz射頻收發器,并在開發環境中提供了ZigBee 2007/PRO協議棧。為了更好地適應低功耗開發,MC13224V設有低功耗工作模式Hibernate、Doze。
(1)協調器主板
協調器主板完成狀態指示、供電、顯示、串口通信、下載編程、I/O擴展等輔助功能。主板可通過RS232串口轉換電路實現PC機與網關節點間的數據傳輸。
(2)盲節點主板
因為受到應用環境及設備體積等其他客觀條件的影響,其供電受到限制,不便于持續以有線方式供電,用電池供電使系統體積小巧且便于攜帶。因此,電源部分采用3.0V鈕扣電池,電池電量通過芯片內部集成ADC進行監測。
節點的硬件實物圖如圖4、圖5所示。

圖4 協調器節點(參考節點)硬件實物

圖5 盲節點硬件實物
對于MC1322x來說,FreeScale公司提供了Beekit軟件開發環境用以輔助開發。該軟件免費提供了BeeStack協議棧,可以生成不同應用模板。BeeStack協議棧為非搶占式輪轉查詢式操作系統,已經編寫了從MAC層(macEventLoop)到ZigBee設備應用層(ZDapp_event_loop)五層任務的事件處理函數。開發者一般情況下只需要編寫應用層的任務和處理函數即可。
系統定位過程是盲節點將周圍一跳范圍內參考節點的LQI通過協調器虛擬串口傳送到管理終端,然后管理終端機進行計算并將結果顯示在一定的圖形畫面上。因此,必須實現整個無線網絡的通信,通信流程如下:
(1)協調器節點建立網絡。管理終端發送相應的配置參數到無線網絡,如盲節點的休眠時間。
(2)盲節點廣播一定次數(如60次)特定格式的報文,用于請求獲取LQI,并設定報文的跳轉次數為1。
(3)參考節點從接收到盲節點LQI請求的報文,提取收到報文的LQI。考慮到LQI有一定的波動性,將LQI按高斯概率模型預處理后作平均,處理后的LQI發送給盲節點。
(4)盲節點將接收到LQI發送給主節點。
盲節點主要用于定位功能,定位功能主要是發送LQI廣播命令,要求參考節點將提取的LQI發送回來,然后接收并打包LQI,其軟件流程如圖6所示。被定位的終端節點多采用電池供電,在設計過程中要盡量采取降低功耗的措施。軟件低功耗設計的主要目的就是結合實際系統情況,充分利用MCU的各種低功耗特性來降低系統功耗。主要從兩個方面進行考慮:
(1)設定盲節點定期轉為休眠狀態,并定期喚醒。使節點大部分時間處于休眠狀態,處于休眠狀態的節點關閉無線通信模塊、傳感模塊以及MCU部分電路,只保留MCU內部定時器和中斷。節點進入休眠狀態時開啟定時器,定時器到時喚醒節點,進行新一輪的定位。
(2)關閉一切不必要的外設,盡可能降低功耗。
節點定位系統主要用于實施監測盲節點的位置,實現對盲節點的監控。監控軟件采集定位信息,通過相應的算法,計算出盲節點的位置,然后顯示在監控界面的坐標圖上,因此定位軟件實現的主要功能如下:
(1)節點參數設置;
(2)設置定位區域的坐標及背景圖片;
(3)定位數據存儲;
(4)實時顯示盲節點;
(5)場景模型選擇(模型的測距參數可以來自于現場測試或類型場景)。

圖6 盲節點的定位流程
軟件采用Visual basic編寫,其界面如圖7所示。圖形部分為實時數據顯示區域。當定位網絡組建成功后,可以用PC軟件來設定節點的類型(參考節點或盲節點)、發送功率、定位頻率等。參數設置關閉后,再通過PC機或節點本身的按鈕來啟動節點的跟蹤定位。圖7中四角略大的圓點表示的是參考節點,中間略小的圓點表示的是盲節點。

圖7 PC軟件界面
本文研究實現了一種面向室內公共場所的無線高精度定位系統。該系統主要應用在機場、商場等室內公共場所及倉庫、超市、貨場等場所,給需要定位的對象配置一個終端設備,這樣可以根據終端設備發出的信息,方便快捷地找到所需的位置信息,也可以提供更高層次的服務。
[1] 朱劍,趙海,張希元,等. 基于LQI量度的無線鏈路質量評估模型[J].東北大學學報(自然科學版),2008,29(9):1262-1265.
[2] 徐國艷,孫劭軒,王江鋒,等. 一種基于LQI的道路車輛定位方法實現[J].公路交通科技,2010,27(4):122-126.
[3] 李娟,唐小超,葛立峰. 基于CC11O1射頻技術的室內超聲定位系統[J].自動化與儀表,2009,6:1-4.
[4] 王洋,王忠. 基于CC2431的無線定位系統[J].通信技術,2009,42(9):190-192.
[5] 李同松. 基于ZigBee技術的室內定位系統研究與實現[D].大連理工大學,2008.
[6] 魏斌,虞致國,等.局部無線定位系統中的高精度定位算法研究[J].電子與封裝,2011,11(8):25-28.