樓宇監測是樓宇智能化的重要組成部分,主要是針對樓宇出入口、內部過道以及一些重要場所進行監測,特別是在無人值守的情況下。能夠自動監測人員進入樓宇和重要場所情況。在必要情況下,能夠采集進入這些場所人員的圖像、聲音等信息,自動報警。樓宇監測系統要求無人值守、網絡化、便于操作和管理、系統成本低廉、能夠自動報警并且自動收集到相關的信息。現有的監測系統多數通過有線方式進行數據傳輸,成本普遍比較高,通常高達幾萬元甚至幾十萬元,且維護困難,擴展性差。
ZigBee 技術(也稱之為802.15.4 標準)是一種近距離、低復雜度、低功耗、低數據速率、低成本、高容量的無線傳感網絡技術,主要適合于承載數據流量較小的業務。相對于現有的各種無線通信技術,ZigBee技術是最低功耗和成本的技術。而與ZigBee 技術相反,WiFi(Wireless Fidelity, 也稱之為802.11 標準)是一種遠距離、復雜度較高、高功耗、高數據速率(達54Mbps)、高成本的無線網絡技術。目前在無線局域網中得到了較為廣泛的應用,十分便于接入Internet.
可見基于ZigBee 技術的無線傳感器網絡具有可快速部署、隱蔽性強、成本低、無人值守等優點,十分適合于樓宇監測的應用。但是,由于Zig-Bee 技術是一種低數據速率的無線傳輸技術,它一般傳輸的數據量較小,而在樓宇監測系統中,除了監測是否有人員進入樓宇和重要場所之外,還需要采集和傳輸數據量較大的圖像、聲音等信息。這對于ZigBee 技術是個難點,很難完成,但是對于WiFi 則易如反掌。因此,為了滿足樓宇監測系統的具體需要,我們可以將ZigBee 技術和WiFi 技術相結合,構建一個技術ZigBee 和WiFi 相結合的樓宇監測系統。利用ZigBee 技術組建無線傳感器監測網絡,監測和報警人員進入情況,傳輸小數據量的監測活動信息; 利用WiFi 技術組建無線監測局域網絡,根據無線傳感器監測網絡監測的情況采集相關的圖像或聲音信息,傳輸大數據量的監測活動信息。
1 監測系統體系結構
根據上述對樓宇監測系統的要求以及ZigBee技術和WiFi 技術的特點分析,提出了一種基于ZigBee 技術和WiFi 技術相結合的樓宇監測系統,其體系結構如圖1 所示。樓宇某層的網絡布局如圖2 所示,其中O(0, 0)表示坐標原點。
圖1 樓宇監測體系結構
圖2 樓宇某層網絡布局圖
本系統由4個部分組成:①基于ZigBee 技術的無線傳感器網絡子系統;②基于WiFi 技術的機器人子系統;③基于WiFi 技術的攝像監視子系統; ④監控中心子系統。
其中,基于ZigBee 技術的無線傳感器網絡子系統由若干個紅外傳感檢測器(IR)、音頻傳感檢測器、匯集節點Mo te 和網關T mo te 組成。IR 被安裝到樓宇進出口和重要場所,每臨近的5 個檢測器匯集到一個匯集節點Mote.匯集節點采用由美國克爾斯博科技(CrossBow )公司開發和生產的無線傳感設備Mote, 該節點由處理器和RF 芯片構成。
該子系統主要負責監視人員進入樓宇和重要場所的活動情況,當有人員進入IR 的監測范圍時,IR便將監測數據發送給與它相連接的Mo te, 然后通過網關T mote 上報給監控子系統。在監控子系統中可以將這些監測數據存入數據庫,同時對一些重要場所設置告警規則,當規測滿足時,觸發告警。
圖2 樓宇某層網絡布局圖基于WiFi 技術的機器人子系統由若干個機器人和無線網絡接入節點(無線路由器)組成。該子系統主要負責對重要場所的侵入活動進行跟蹤。當監控中心子系統觸發告警后,通過WiFi 通信技術給機器人發送命令,指揮機器人到指定的位置進行跟蹤,采集相關的圖像和音頻信息,并將這些信息反饋到監控中心顯示/ 播放和存檔。本系統中的機器人采用加拿大Dr. Ro bo t 公司設計和開發的智能無線機器人X80 系列WiRobot (該機器人配備有超聲波傳感器3 個、紅外距離傳感器7 個、人體傳感監測器2 個、攝像頭1 個、音頻播放器1 個)。
無線網絡接入節點采用D- Link 公司生產的無線路由器。
基于WiFi 技術的攝像監視子系統由若干個Web 照相機和無線網絡接入節點(無線路由器)組成。Web 照相機被安裝到樓宇進出口和重要場所,能夠對監視范圍內的活動情況進行拍照,并將照片通過無線網絡接入節點發送到監控中心進行顯示和存檔。本系統中的Web 照相機采用D-Link 公司生產的DCS-G900 照相機。
監控中心子系統由服務器、PC、筆記本電腦等組成。該子系統主要負責對整個監測系統進行調度、控制、數據處理和存儲。監控中心子系統中的設備可以通過有線,也可以通過WiFi 無線接入網絡。
2 關鍵技術
基于ZigBee和WiFi相結合的樓宇監測系統中涉及到的關鍵技術主要有傳感數據的采集、傳感器節點能量的節省、坐標系統的建立以及機器人的控制。
2. 1 傳感數據的采集
傳感數據采集是本系統中最為基礎的功能,是系統處理的數據來源和控制基礎。本系統中采用的匯集傳感器節點是由克爾斯博科技(CrossBow )公司開發和生產的無線傳感設備Mo te, 該節點是在TinyOS 支持之下進行數據采集和通信工作。TinyOS是美國加州大學伯克利分校專門針對傳感器網絡特點而設計的操作系統。TinyOS 使用高效的基于事件的執行方式,包含經過特殊設計的組建模型,成為高效率的模塊化和易于構造的組件型應用軟件。在TinyOS 中,通過nesC 語言表達組件以及組件之間的事件/ 命令接口。
本系統中的傳感數據的采集和傳輸也是在TinyOS 基礎之上進行設計和開發的。利用nesC應用程序框架和各種組件開發了數據采集和數據傳輸功能模塊,并將采集的數據在監控中心實時顯示和入庫存儲。為了便于數據的采集和識別,在監控中心的服務器中預先給每個傳感器IR 分配一個惟一的標識(ID), 通過該ID 指示傳感器的位置。如圖2 所示的傳感器布局中,共布局了45 個IR 傳感器,根據每臨近的5 個IR 匯集為的原則,分別分配ID 號為11, 12, 13, 14, 15, 21, 22, ,,,91, 92, 93, 94, 95. 為了盡量節省傳感器的能量,傳感器IR 采用休眠工作機制,即當沒有數據需要發送時,傳感器IR 處于休眠狀態,當需要發送數據時,IR 被喚醒并傳送數據。IR 檢測和傳送數據采用基于事件驅動方式,傳感器IR 檢測到人員活動時,將它的ID 通過匯集節點Mote 和網關T mo te傳送到監控中心的數據采集模塊。數據采集模塊接收到該ID 后,提取當前的系統時間,然后將ID 和當前的系統時間實時顯示并存入數據庫。
在一個樓宇中可能有一些重要區域(或稱之為禁區), 當檢測到某個禁區出現人員活動時,檢測中心應當自動發出告警信息。為此,首先需要在該禁區安裝若干個傳感器IR, 如圖2 所示禁區316 中的5 個IR. 然后在監控中心的服務器中預先將該禁區與該禁區中安裝的所有傳感器IR 的ID 進行關聯,并設置告警條件。當處于該禁區所有IR 中的任何一個檢測到人員活動時,立即將該ID 以及當前的系統時間實時顯示并存入數據庫,同時通過聲音、顏色發布告警。
2. 2 基于能量均衡的分簇多跳路由
當樓宇中多層樓道的傳感器節點組成一個規模較大的傳感器網絡時,傳感數據往往需要經過多個中間節點(簇頭)的轉發才能到達網關,再通過網關發送到監控中心。由于傳感器中間節點的能量有限, 盡量降低傳感器中間節點的能量消耗。提高網絡的生存周期是無線傳感器網絡必須重點考慮和解決的問題。 將傳感器網絡的能量消耗分為有用能耗和無用能耗。有用能耗包括傳數據輸/ 接收、數據處理、數據查詢等; 無用能耗主要有空閑偵聽、數據重傳、額外開銷以及產生和處理控制包。高效的路由算法能夠較好的降低數據傳輸/接收能量消耗。
系統一個方面通過休眠機制, 使傳感器節點在無數據傳輸時處于休眠來降低節點的能量消耗。
同時由于充當簇頭節點的能量消耗遠遠高于其他的節點,為了提高整個網絡的整體生存期,提出了一種基于能量均衡的分簇多跳路由算法。算法的基本思想是將若干個節點劃分為一個簇,定時評估簇內各個節點的剩余能量。根據能量評估結果,使剩余能量最多的節點充當簇頭,即定時動態產生簇頭,使簇內各個節點輪值充當簇頭,從而避免長期讓某個節點充當簇頭將能量耗盡后無法工作的現象發生。該算法相對于其他的相關算法具有簡單、易于實現、高效的特點。
2. 3 坐標系統構建
本系統需要建立兩個坐標系統,一個是傳感器布局實際空間坐標系統,該坐標系統主要用于控制機器人的移動以及指示告警位置。另一個坐標系統是屏幕圖形顯示坐標系統,主要用于屏幕以圖形方式顯示傳感器布局和告警點。
在傳感器布局實際空間坐標系統中需要標識的對象主要包括三個方面: 傳感器的位置、重要場所的位置以及特殊標識物的位置。
如前所述,由于預先將每個傳感器編制了惟一的ID, 于是可以根據坐標原點O(0, 0)預先測量確定傳感器IR 的坐標位置,然后建立傳感器ID 與傳感器位置信息的配置表。因此,當某個傳感器報警時,利用該傳感器的ID 通過查表可以確定報警點的位置。
重要場所(禁區)的位置信息原則上可以通過安裝在該場所中傳感器的ID 來指示,但是由于需要控制機器人對該場所進行跟蹤監視,實際上是對某區域范圍中的可疑人員進行跟蹤監視。因此嚴格的說需要的是該場所的位置信息(確切的說是進入該場所入口的位置信息), 而不是場所中傳感器的位置信息。所以,可以將一些重要場所的位置信息預先在坐標系統中標出,并且建立場所中所有傳感器與該場所入口的位置信息對應表。當該場所中任何一個傳感器報警時,通過查找對應表,給出該場所入口的位置信息。如圖2 所示,當確定坐標原點O(0, 0)的位置后,通過測量,可以預先獲得一些重要場所的坐標信息。如: 302A 的坐標信息是(-182, 697); 302 的是(- 939, 1302); 329 的是(2393,1606); 330 的是(2121, 1303 ); 316 的是(1545,1698). 坐標信息的單位是厘米,因此根據該坐標系統控制機器人的移動,精確度可以達到1 厘米。
特殊標識物是用于控制機器人的一些輔助性標識。由于WiRobot X80 自身沒有位置定位裝置,但是在控制機器人移動的過程中,需要及時掌握機器人的當前位置,因此通過坐標系統和特殊標識物來解決這個問題。如圖2 所示墻壁1 和墻壁2 可用作特殊標識物,當控制機器人進入320, 330, 316 等房間時,需要利用墻壁1 作為標識,指示控制機器人轉向。當控制機器人進入329 房間時,需要利用墻壁1 和墻壁2 作為標識。根據圖2 中的位置,墻壁1 和墻壁2 的位置信息是: 墻壁1 (* * * ,1667). 由于利用墻壁1 控制機器人的轉動,只是關心它與原點的Y 值,而不關心它的X 值。墻壁2(2363, * * * ), 同理,只是關心它與原點的X 值,而不關心它的Y 值。
例如,當需要控制機器人進入316 房間,程序的控制規程是根據316 的坐標信息(1545, 1698)驅動機器人從原點O(0, 0)出發,一直前行,直至到達墻壁1(通過機器人的紅外傳感可以檢測到), 然后控制機器人90b右轉,當X 值達到1545 時,控制機器人90b左轉進入316 房間。
系統以圖形界面方式顯示傳感器布局、機器人的實時移動路線以及顯示告警點,因此還需要建立一個圖形界面坐標系統。為了保持顯示圖形能夠與實際傳感器布局以及告警點一致,與機器人的移動同步,需要將傳感器布局實際空間坐標系統與圖形界面坐標系統映射。具體方法是當進行圖形顯示時,將實際空間坐標系統中的坐標值映射為圖形界面中的坐標值,按照圖形界面中的坐標值進行畫圖顯示。當圖形被放大/ 縮小時,按照圖形放大/ 縮小的比例因子重新計算被映射的坐標值。為了保證系統的靈活性,我們開發了坐標系統映射配置功能,用戶可以預先輸入實際空間坐標系統中的傳感器、重要場所、特殊標識物以及原點等的坐標信息。系統能夠將這些坐標信息直接映射為圖形界面中的坐標值。當需要新增加禁區、特殊標識物、新增或移動傳感器節點時,只需要重新配置這些點的坐標信息即可,而不需要修改系統軟件部分。
2. 4 機器人的控制
基于WiFi 技術的機器人子系統主要負責對重要場所的侵入活動進行跟蹤。當監控中心子系統觸發告警后,通過WiFi 通信技術給機器人發送命令,指揮機器人到指定的位置進行跟蹤,采集相關的圖像和音頻信息,并將這些信息反饋到監控中心顯示/ 播放和存檔。
1)機器人的驅動。
機器人按照給定的速度前進(假定速度為Vcm/ s), 前進時間t 秒,可以計算出它移動的距離d= v* t . 這樣在實際空間坐標系統中我們可以確定機器人的當前位置,從而可以控制機器人順利到達目的地。但是實際情況較為復雜,在機器人前進的過程中,機器人可能不是完全走直線,也可能走成斜線,如圖3 所示。這樣根據速度和時間計算出來的d 值與坐標系統中的實際Y 值之間存在偏差,而且偏差值可能較大。為了解決該問題,我們可以根據d 和Y 計算得到偏移的x 值,然后對坐標X 值進行矯正。實際上,通過反復試驗發現,如果當機器人在原點時的前進方向剛好垂直于特殊標識物墻壁1, 偏移值x 很小(偏移量< 3% ), 可以忽略。當然,在原點時的讓機器人的前進方向剛好垂直于特殊標識物墻壁1 是很困難的。
圖3 機器人可能行進的實際路線
如上述控制機器人進入316 房間的例子中,假定當機器人在原點時的前進方向剛好垂直于特殊標識物墻壁1. 如果考慮到實際可能存在的偏差,則程序的控制規程是,根據316 的坐標信息(1545, 1698)驅動機器人從原點O(0, 0)出發,同時開始計時,一直前行,直至到達墻壁1(通過機器人的紅外傳感可以檢測到). 此時根據機器人實際行進的距離d 和已知的墻壁1 距離原點的垂直距離Y 值(1667), 計算出偏移值x . 同時比較機器人前方左右端兩個紅外傳感檢測值,可以判斷出是偏移正向的x , 還是偏移負向的x . 將機器人當前的位置設定為(x , 1667), 然后控制機器人90b右轉,當X 值達到1545 時,控制機器人90b左轉,繼續前行31 cm(1698~ 1667)進入316 房間。
2)障礙物的避讓。
控制機器人前行的過程中可能遇到障礙物。因此,需要控制機器人自動檢測和自動避讓障礙物。
障礙物的自動檢測比較簡單,利用機器人上配置的超聲波傳感器或紅外傳感器以及WiRobotSDK 提供的API 可以實現。本軟件系統采用紅外傳感器以及WiRobo tSDK 提供的API 來實現,通過獲取機器人前端、左、右各個紅外傳感器的檢測值,可以分別判斷出在前方、左、右是否存在障礙物。
控制機器人避讓障礙物則較為復雜,主要是需要重新計算坐標值。設計和實現的機器人躲避障礙物控制流程如圖4 所示。
圖4 機器人躲避障礙物流程圖
當機器人在前行的過程中檢測到前方出現障礙物時,停止機器人的前進,繼續檢測左、右方是否也存在障礙物。①如果左方存在有障礙物(說明只能向右方躲避),則暫存當前的行進距離值y , 并且控制機器人向右轉動90b繼續前進,直到機器人的左方紅外傳感器檢測不存在障礙物為止(表明已經繞過障礙物),假定向右行進了d 厘米,則將原來的目標點的坐標值X 修正為X - d, 然后控制機器人向左轉動90b繼續前進,同時在原來的y 值基礎上繼續記錄行進距離值。②如果右方存在有障礙物(說明只能向左方躲避),則暫存當前的行進距離值y , 并且控制機器人向左轉動90b繼續前進,直到機器人的右方紅外傳感器檢測不存在障礙物為止(表明已經繞過障礙物),假定向左行進了d 厘米,則將原來的目標點的坐標值X 修正為X + d, 然后控制機器人向右轉動90b繼續前進,同時在原來的y值基礎上繼續記錄行進距離值。③如果左、右方均不存在障礙物(說明向左、右方均能躲避), 系統默認控制向右方躲避,其控制方法與①相同。
3 結論
由于ZigBee 和WiFi 各自存在較為明顯的特點,許多特性是相互補充的,因此將二者相結合具有很好的應用前景。本系統結合ZigBee 和WiFi 各自的優點,建立了一種樓宇監測無線網絡系統。它能夠自動監測樓宇中人員的活動情況,并根據基于ZigBee 無線傳感器網絡發出的告警指令,自動控制機器人到達告警位置進行跟蹤。與傳統的監測系統相比較,該系統具有低成本、無人值守的特點。該系統已經在科羅拉多礦業學院工程系主樓上得到實際應用。該系統還可以應用于礦山、小區等地方,同時,也適用于環境監測(需要將紅外距離傳感檢測器換成溫度、濕度等傳感檢測器). 但是,該機器人目前只能每次從固定的地點(坐標原點)出發,經過預定的路線到達目標點,當然,如果配備GPS 模塊,就很容易解決該問題。