ZigBee 定位解決方案
| [日期:2008-7-15] |
來源:21IC中國電子網 作者:Jarle Boe,德州儀器 |
[字型:大 中 小] |
設想一下,您衝進購物中心,急切地想為您的另一半選購他(她)稱心如意的生日禮物。在這種情況下,該從何下手?您會很自然地掏出手機或 PDA 來選擇選購生日禮物的最佳方案。此時,您的移動手持終端裝置將顯示出購物中心的導購圖,並在圖上標明您需前往的採購區。當您在購物中心轉悠時,移動手持終端裝置上將顯示出您可能會感興趣的商品。
當今的射頻 (RF) 技術有望使上述設想成為現實。TI ZigBee RF 裝置中內嵌的定位引擎可以與室內 GPS 系統相媲美,其內嵌的定位引擎使用 ZigBee 網路的 RF 基礎設施來計算事物或人們所處的位置。與 GPS 相比較而言,定位引擎在單晶片 RF 收發器中與 MCU 整合在一起,成本也不及 GPS 硬體的十分之一,功耗也只是 GPS 硬體的一小部分。該定位引擎既可用於室內,也可用於室外,而且只要有現成的 ZigBee 網路,就無需安裝移動的接收天線。
典型的應用程式套件括:
• 遙控開/關房屋中所有房間的燈具;
• 跟蹤碼頭倉庫的集裝箱起運情況;
• 跟蹤網站的裝置。
另外,當新裝置接入網路時,該定位引擎能夠確定其物理位置,因此定位引擎還能用於簡化無線網路的設定。
後台裝置
大多數的無線感應器網路都要求具備一種確定網路節點位置的方法。因此在裝置安裝期間,您需要弄清楚哪些節點相互之間直接進行資料交換,或者確定哪些節點直接與中央資料擷取點進行資料交換。
當通過基於軟體的計算方法來確定網路節點位置時,我們就會考慮到市場化解決方案 (market solution)。這些具體的計算方法是:節點首先讀取計算節點位置的參數,然後將相關資訊傳送到中央資料擷取點對節點位置進行計算,最後,又將節點位置的有關參數傳回至該節點。這就是典型的資料密集型計算,並且需要配置一台 PC 或高效能的 MCU。
這種計算節點位置的方法之所以只適用於小型的網路和有限的節點數量,是因為進行相關計算所需的流量將隨著節點數量的增加而呈指數級速度增加。因此,高流量負載加上頻寬的不足限制了這種方法在以電池供電的網路中的應用。
針對上述問題,CC2431 採用了一種分布式定位計算方法。這種計算方法根據從距離最近的參考節點(其位置是已知的)接收到的資訊,對節點進行本地計算,確定相關節點的位置。因此,網路流量的多少將由待測節點範圍中節點的數量決定。另外,由於網路流量會隨著待測節點數量的增加而成比例遞增,因此,CC2431 還允許同一網路中存在大量的待測節點。
本文中所提供的結果是根據對 ZigBee 網路的測量得出的,然而,這些測量結果同樣適用於基於 IEEE 802.15.4.構建的更簡單的網路。
定位引擎技術
定位引擎根據無線網路中臨近射頻的接收訊號強度指示 (RSSI),計算所需定位的位置。在不同的環境中,兩個射頻之間的 RSSI 訊號會發生明顯的變化。例如,當兩個射頻之間有一位行人時,接收訊號將會降低 30dBm。為了補償這種大的差異以及出於對定位結果精確性方面的考慮,定位引擎將根據來自多達 16 個射頻的 RSSI 值,開展有關的定位計算。其依據的理論是:當採用大量的節點後,RSSI 的變化最終將達到平均值。
在 RF 網路中,具有已知位置的定位引擎射頻稱為參考節點,而需要計算定位位置的節點稱為待測節點。
要求在參考節點和待測節點之間傳輸的唯一資訊就是參考節點的 X 和 Y 座標。定位引擎根據接收到的 X 和 Y 座標,並結合根據參考節點的資料測量得出的 RSSI 值,計算位置進行定位。
將定位技術納入網路通訊協定
一些採用定位引擎的應用可能要求,放置若干個參考節點作為基礎設施設定不可或缺的一部分。ZigBee 技術能夠實現對家庭、辦公以及工業等應用的無線控制。人們期望,隨著 ZigBee 裝置在樓宇基礎設施中的安裝數量不斷增多,ZigBee 將會在家庭和辦公自動化方面擁有更為廣闊的應用前景。
典型的辦公場所都會配置 ZigBee 裝置,通過各辦公室和會議室中的溫度感應器,控制溫度調節裝置以及 A/C 導管。同時,每個房間還會安裝由 ZigBee 控制的燈具開關和裝置,而這些裝置又易於作為定位引擎的參考節點。將 ZigBee 射頻作為 ZigBee 協議棧上的參考節點所需的代碼容量通常小於 1 Kb。
定位引擎從 3 至 16 個參考節點採集資料,並使用這些資料對應定位的位置進行計算。如果定位引擎從 16 個以上的節點接收到資料時,它則會將接收到的參考節點位置進行分類,然後採用 16 個參考節點中訊號最強的 RSSI 值。
擴大覆蓋範圍
定位引擎的覆蓋範圍為 64×64 米,然而大多數的應用要求更大的覆蓋範圍。擴大定位引擎的覆蓋範圍可以通過兩種方法來實現:
• 提高參考節點的輸出功率,同時降低定位引擎計算結果的精度;
• 在一個更大的範圍布置參考節點,並利用最強的訊號進行相關參考節點的定位計算。
由於第二種方法能夠在擴大定位引擎覆蓋面的同時而不犧牲定位的精確度,因此更為可取。這種方法具體的工作原理是:網路中的待測節點發出廣播資訊,並從各相鄰的參考節點採集資料,然後根據這些參考節點的訊號強度,選擇訊號最強的參考節點的 X 和 Y 座標。然後,計算與參考節點相關的其他節點的座標。最後,對定位引擎中的資料進行處理,並考慮距離最近參考節點的位移值,從而獲得待測節點在大型網路中的實際位置(請參閱圖 1)。
為了達到最佳的定位範圍,當布置參考節點時,應同時考慮到室內和室外環境中天花板/地板的吸附作用。最佳的方案就是使各節點處於相同的高度,並遠離地面、天花板以及牆壁。在實際的部署過程中要達到這種要求,是比較困難的(如果可以實現的話)。因此,盡量將參考節點固定在天花板的高度或低於天花板的高度,並使天線倒置以使 RF 訊號向外和向下傳輸,同時將待測節點(手持或固定於裝置)放置在人的腰部以上和頭部以下的任何高度的地方(此處提到的高度是以人站立在該環境中為標準的)。節點的這種設定方法實現了天花板和地板吸附作用的最小化,同時將實現在該場所中的行人或物體之間的相互幹擾的最小化。
定位引擎的精確性
為了確保定位引擎的室內效能,在辦公環境中將採用具有 8 個參考節點的網路。我們根據現有表面將參考節點置於辦公室的角落位置,如辦公桌椅表面或其他介於人的腰部和肩部之間的現有的表面。在圖 2 中,8 個參考節點分別用 A-H 8個字母來命名。
在 6 個選定的位置採集定位估計值資料,每一位置的定位元據平均有 20 讀取點。相關測試結果請參閱表 1。
在採集 8 個參考節點的資料後,然後將 6 個新增的參考節點添加到系統中。接下來,在 4 個相同的位置,重新進行定位估計測算,觀察這些新增的參考節點對定位估計值的影響。
14 個參考節點的測量結果如表 2 所示。
當節點位置進入網路的覆蓋範圍時,定位的精確性將明顯提高。而且,當網路中設定的參考節點增多時,定位的精確性也將會不斷提高。在本實驗中,增設 6 個參考節點後,四個位置的定位精確性都會有所提高,同時降低了各定位報告位置的標準差(一致性)。
提高精確性
定位引擎採用來自附近參考節點的 RSSI 測量值來計算待測節點的位置。RSSI 將隨著天線設計、周圍環境以及包括若干其他因素在內的其他附近 RF 源的變化而變化。定位引擎將數個節點的位置資訊加以平均。增加節點的數量,則可降低對各節點具體測試結果的依賴性,同時全面提高精確度。
無論在什麼情況下設定參考節點,都會影響到定位的精確性,這主要是因為當參考節點設定在離相關表面很近的地方時,會產生天花板或地板的吸附作用。因此,應盡量使用在各方位都具備相同發射能力的全向天線。
結論
定位引擎實現了 ZigBee 網路射頻的“房間式”精確性,而且功耗低,通訊開銷也實現了最小化。另外,定位引擎技術還能運用現有的 ZigBee 基礎設施來確定網路中的位置。諸如此類的資訊可由用於追蹤目的的中央資料擷取點輕鬆擷取,使用者也可使用該定位引擎技術完成樓宇內的導航工作。