黃戰華,王吉虎
(天津大學精密儀器與光電子工程學院,光電信息技術科學教育部重點實驗室,天津300072)
基于TOF的海潮高度在線測量系統設計*
黃戰華*,王吉虎
(天津大學精密儀器與光電子工程學院,光電信息技術科學教育部重點實驗室,天津300072)
為提高現有的潮汐及水位儀器(如浮子式、超聲波式、雷達式水位計)在線測量的實時性和穩定性,減小儀器的體積、成本和功耗,設計了一種基于TOF(Time of Flight,即飛行時間法)三維成像測距并結合XBEE MESH技術的無線網絡測量系統。傳感節點使用準直的850 nm紅外LED發射光源,采用ARM+CPLD控制和提取EPC610 TOF成像芯片的有效測量數據并進行實時校正和計算,單個測量節點能實現1 m~7 m范圍內誤差±1.25 cm,測量速率為500次/秒的高速測量,其尺寸只有2.5 cm×2.5 cm大小。無線網絡部分采用Peer-to-Peer MESH自組織網絡結構,采用無線模塊主動喚醒傳感器,同步和異步休眠相結合的控制形式大大降低了功耗。
在線測量;TOF三維成像;Peer-to-Peer MESH自組網;體積小;低功耗設計
EEACC:7320Zdoi:10.3969/j.issn.1004-1699.2015.09.011
潮位測量往往需要在海岸邊建立驗潮井,而驗潮井的底端通過輸水管道與海水相連,所以井內水面相對海面要平穩,故驗潮儀器要安置于井口,通過接觸或非接觸的方式測量儀器與水面間的距離,從而間接測出水面至測站基面的距離,即潮高。常用的潮位測量方式有水尺[1]、浮子式水位計、壓力式水位計、超聲波、雷達以及激光水位計。水尺測量精度低,浮子式測量需接觸水面,體積笨重,壓力式需將壓力計置于水底,超聲波和雷達易受雷電和環境影響,激光器能耗大,驅動繁瑣,長時間工作不穩定[2]。
針對這一情況,本文采用準直過的850 nm紅外LED做發射光源以提高信號源的穩定性,接收探測器采用基于TOF技術[3~6]的高速三維成像芯片EPC610,使用ARM+CPLD結構控制EPC610的數據采集過程和數據的后期校正計算,最終得到被測面的三維點云圖。結合XEBB MESH結構的無線傳感網絡,將各個驗潮站的潮汐信息傳輸至協調器網關并由協調器通過其他類型網絡如蜂窩網絡傳遞至中心管理室。
測量節點采用TOF測距技術,測量原理如圖1所示。

圖1 飛行時間法測距的原理
TOF測距中光源一般采用LED,并且光源一般被調制到幾兆甚至幾十兆赫茲,假設被調制之后的發射光信號為理想的正弦波,描述為:
S(t)=A+cos(wt)(1)
信號經被測物返回之后可描述為:
R(t)=B+kAcos(wt+Δφ)(2)
其中B為外部疊加的干擾噪聲造成的返回信號整體偏移量,A為發射信號振幅,而kA則為返回測量信號振幅,信號衰減系數為k。那么光脈沖飛行的時間Δt計算公式如下:
Δt=Δφ×Tm/(2π)=Δφ/(2πfm)(3)
其中,Tm是指調制光的周期,fm是指調制光的頻率。所以距離d計算公式[7~8]如下:
d=c×Δt/2(4)
光電傳感器一旦接收到返回測量信號就同步進行解調,進而可通過計算得到測量信號的各種參數,實際在TOF深度成像的信號處理過程中,一般采用四點測量法進行解算[9~10]。選取每個測量周期0、π/2、π、3π/2四點處對返回測量信號進行采樣,每個采樣點之間的間隔為四分之一的測量周期,即正交采樣。那么發射信號與返回信號之間的相位差Δφ,偏移量B和測量返回信號振幅kA就可以計算得知:

其中,Ci為每個采樣點對應的互相關系數。
2.1測量節點系統結構
如圖2所示,測量節點控制板采用ARM+CPLD結構,CPLD負責發生與EPC610通信的10 MHz SPI總線,ARM端負責啟停CPLD與EPC610的數據傳輸,ARM同時控制電源管理芯片來啟動和停止EPC610。EPC610使用恒電流電路驅動實現對外部兩個850 nm紅外LED的高頻調制。

圖2 測量節點結構
在一個測量周期內由微處理器讀取EPC610的四次原始采樣值,每個采樣有8×8=64個測量數據、一個行飽和像素數目和兩個溫度值,四次采樣值經過計算篩選出有效測量數據,然后對其進行非均勻性校正得到最終探測目標的點云數據。一次完整的測量周期如圖3所示。

圖3 EPC610一次完整的測量周期
2.2EPC610的初始化過程
初始化過程包括兩部分,首先是啟動EPC610 的bootloader,將ROM中的默認配置表加載到EPC610的RAM中,然后修改EPC610對兩個紅外LED的時鐘分頻數,LED的調制頻率同時影響距離測量的分辨率和測距范圍,本系統配置將LED調制為20 MHz,此時距離測量分辨率為2.5 mm,最大測量范圍是7.5 m。
2.3有效數據的篩選
在一個測量周期內,EPC610采集并緩存了4次原始數據,每次采樣數據量為64×12 bit=96 bytes,然后進入篩選算法判斷本次測量數據是否有效,若數據無效則調整積分時間進入下一個測量周期。
①讀取每一行的飽和像元的數目和有效像元的數目,即MIN_VALID_PIX和MAX_SAT_PIX,在每次測量數據中,取作為閾值,進入下一步的篩選。
②每個像素接收到的信號幅度即像素動態范圍的篩選,針對每個像素,由四點測量法的原理可知,其信號幅度信號幅度越大,測量精度越高,像素越接近飽和。小于100說明接收信號太弱或信號與背景噪聲相差不大,需增大積分時間,大于1 000表明探測器接近飽和,要降低積分時間。所以選取100~1 000作為動態范圍篩選區間。
③像素信噪比篩選,對于每個像素,AMR=20log10(Edc/Eac),AMR<60 dB,信噪比較高,可作為理想的輸出,否則,需放棄本測量周期的4組數據并適當調整積分時間,進入下一個測量周期。
經過三步篩選的數據可認定為本測量周期的4組數據有效,可進行下一步的數據校正。
2.4積分時間的調整
EPC610提供了從1.60 μs到52.6 ms的16檔積分時間可供調整,在有效數據的篩選流程中使用二分查找而非步進查找方式調整積分時間。
2.5EPC610的非均勻性校正
在同一測量距離下,由四點測量法公式計算EPC610提取的有效數據得到的點云數據參差不齊,因此需要進行非均勻性校正,由于輸入距離與輸出點云數據之間存在近似線性關系,所以本文使用實時性良好的兩點線性校正法。分別取距離d1=2.9 m 和d2=0.5 m下的點云數據做基準,假定d1下64個點云數據為Xij(d1),d2下64個點云數據為Xij(d2),d1下64個點云數據的平均值為V1,d2下64個點云數據的平均值為V2,那么有:

校正因子和增量因子矩陣
Gij=(V2-V1)/[Xij(d2)-Xij(d1)](10)
Oij=(V2×Xij(d1)-V1×Xij(d2)/[Xij(d2)-Xij(d1)](11)
那么校正后的點云輸出。
Yij=Gij×Xij+Oij(12)
得到校正因子矩陣后,重復新一輪的測量,以距離2.6 m下的點云數據為例驗證校正效果,如圖4所示,左圖是有效點云數據但未校正過,右圖是校正過后的。

圖4 非均勻性校正結果
傳統的無線傳感網絡比如ZigBee網絡,每個節點需配置設備類型為協調器、路由器或者終端,終端節點可以異步周期性的休眠,而協調器和路由器應處于一直上電狀態,協調器作為整個網絡的中心管理節點,其發送的消息和命令會緩存在終端節點的父節點上,終端節點在喚醒時刻會輪詢父節點是否有消息到來,若沒有則進入下一周期的休眠[11]。另外,層次性的網絡拓撲使得協調器的工作量大,且整個網絡的功耗較大,環境致使拓撲條件變化時適應能力較差。
本系統使用DIGI公司支持Peer-to-Peer Mesh自組織技術的XBEE模塊,其工作在免費的2.4 GHz,如圖5所示,采用完全對等的Mesh拓撲[12~14]結構,網絡中所有的節點包括協調器都可以休眠,整個網絡可以工作在同步休眠方式或者功耗更低的異步休眠方式。相對于層次網絡拓撲,測量節點同時兼具路由和中繼的功能,這種自組織的拓撲結構使得協調器工作量大大減輕,適合在海岸嚴酷的作業環境下進行自動化的測量,在其他領域也有相應的應用[15~16]。

圖5 XBEE MESH拓撲
3.1節點工作過程
傳統的測量節點由微控制器來統籌傳感器和無線模塊的工作,然而在本系統中微控制器和EPC610的功耗較無線模塊要大許多,所以該系統中測量節點使用XBEE主動喚醒微控制器的模式,要使用到XBEE模塊的Sleep-REQ睡眠請求標志引腳。XBEE模塊被喚醒之后,Sleep-REQ被拉高,通知ARM端XEBB被喚醒,此時ARM由休眠轉入正常工作模式并通過USART與XEBB通信,ARM端打開EPC610的電源開始數據采集,并將一幀數據發送至XBEE,發送完成,ARM端切斷傳感器的電源并將ARM本身置為低功耗休眠模式,隨后Sleep-REQ 被XBEE模塊置低,模塊進入休眠或者等待同步休眠幀的到來。這種方法相比傳統的微控制器做主機模式來控制傳感器和無線模塊的測量節點,微控制器和EPC610在不工作時處于完全休眠狀態從而降低系統功耗。
協調器結構與測量節點類似,只是不具有傳感測量功能,主要作用是作為網關將各節點的采集數據集中發送至蜂窩或其他網絡,同時接受中心控制室傳送的啟動采集命令并喚醒整個網絡。
3.2無線模塊的操作模式
Xbee模塊提供AT指令或API幀結構兩種操作模式,AT指令方式簡單但不靈活,而API幀結構方式允許用戶自定義幀的封裝內容,使用靈活,本文使用第二種方式,來自測量節點的幀大小被封裝為17個字節,幀的數據域自定義為測量節點的編號+傳輸數據,通過節點編號標識該數據幀來自哪一驗潮站。
3.3休眠設置
無線傳感網絡一般采用電池做供電,因此必須采用節點和協調器休眠的方式來節省功耗,XBEE模塊可以配置同步和異步休眠模式。處于異步休眠模式時,節點周期性的監聽是否有喚醒幀來到,沒有則進入下一周期的休眠,如果有則喚醒該測量節點并進行數據傳輸,異步模式下各節點大部分時間處在休眠狀態,因此系統功耗較低。而同步模式無需模塊喚醒過程,節點數據傳輸完成之后,等待協調器廣播的同步休眠命令,收到則轉入休眠模式,否則一直等待直到超時自動轉入休眠。為防止出現此種情況,本文使用同步和異步休眠結合的方式配置節點和協調器。
所有節點包括協調器在不工作時均處于低功耗的異步休眠模式,中心控制室發送采集命令到協調器后,協調器被喚醒并全網廣播異步喚醒幀,各測量節點被喚醒后進入同步工作模式,協調器開始周期性的收到各測量節點的潮汐數據,直到采集停止,協調器停止廣播同步休眠幀并進入低功耗的異步休眠模式,同時各測量節點因接收同步休眠幀超時同樣也進入低功耗的異步休眠模式。整個過程如圖6所示,上面是協調器的流程,下面是各個測量節點的工作流程。
本系統設置異步休眠下的休眠時間和監聽時間比值為450,監聽時間為2 000 μs,那么異步休眠周期為2×(1+450)=902 ms,同步休眠間隔為600 s,即10 min采集一次。系統中有6個測量節點,1個協調器。無線射頻速率為250 kbit/s。
4.1節點測距實驗
單個測量節點的實物圖如圖7所示,只有2.5 cm×2.5 cm,中間的EPC610僅有4 mm×4 mm大小。在實際測量時,對每個測量周期的點云數據取平均作為該次測量的距離值。從23 cm到603 cm,每間隔10 cm作為一測量點,每個測量點處進行30個測量周期取平均得到該處的測距值,測量結果如圖8所示。

圖7 測量節點實物圖

圖8 距離測量結果
可見,從1 m~7 m的測量范圍內,絕對誤差均在±1.25 cm以內。
4.2測距實時性分析
EPC610使用SPI總線與微控制器通信,頻率為10 MHz。假定EPC610使用的積分時間是51.2 μs,一個SPI幀即SPI Command需要(16 SPI bits+1 NSS pulse bit)·0.1 μs=1.7 μs,那么在系統流程的各個階段使用的時間如下:①EPC610初始化:8 rows×18 SPI Commands×1.7 μs=244.8 μs;②啟動測量:2 SPI Commands×1.7 μs=3.4 μs;③讀取1次DCS采樣值的時間包括EPC610采集、響應和通信時間:51.2 μs+ 175 μs+8 rows×18 SPI Commands×1.7 μs=471 μs,一個測量周期需要4次DCS,即4 μs×471 μs=1 884 μs。所以一個完整的數據提取周期需要2 132.2 μs,微處理器在與EPC610進行數據通信的同時在并行的進行篩選校正等計算,故一次完整的測量周期需消耗接近2 132.2 μs,即1 s可以測量接近500次,可以做到實時測量。但是如此高速的測量會帶來無線網絡的擁塞,故調整ARM端的延時,使得測量數據輸出響應時間,即測量初始化時間為1.5 s,以限制每個測量節點輸入網絡的流量。
4.3測量誤差分析
TOF采用的是解調相位的方式來計算往返時間,所以測量的精準度不僅取決于CPU定時器的穩定度,還取決于相移測量的精準度。比如,LED調制脈沖與探測器之間同步信號發生10 ps的偏移,就相當于增加1.5 mm的距離測量誤差。
被測對象對紅外LED光的反射率影響,為保證探測器接收到足夠的反射信號,本文采用了純白色的反射板浮于水面上。探測物體反射率越小,返回的信號幅度也越小,有效數據量越少,精準度越低。
LED準直帶來的誤差,LED發散角比較大,導致光斑能量不集中,反射回探測器的光信號能量弱,致使測距精度低。另外,LED驅動電路設計以及這部分在電路板上布線時的不合理將會導致LED被調制后的信號不完全是理想的正弦信號而導致測量誤差。
EPC610屬于半導體探測器,使用時溫度會對其產生溫度漂移誤差,系統使用時的溫度誤差來源有環境變化產生的溫度誤差以及大功率LED散熱性不好產生的誤差。對于環境誤差可以使用逐段進行補償的方法去掉,對于儀器自身的散熱性帶來的誤差可以在LED上加散熱片解決。EPC610在對其64個像素進行閾值篩選時,選取的閾值區間也會影響測量精度,信號幅度區間太小會使信噪比太小直接產生測量誤差,在100~1 000的范圍內可以很好的使用測量的距離,而50~100之間的范圍也可以被使用,但距離噪聲會非常明顯。EPC610在選取積分時間時,積分時間過長,回波信號太大致使像素飽和,太小又會導致信噪比太小,因此選取適當的積分時間也會影響系統的穩定性和準確性。
4.4功耗估算
無線模塊的接收電流Ir=55 mA,發送電流It= 250 mA,休眠電流Is<50 μA。由圖6的工作流程可知,系統功耗主要有以下4部分:①異步喚醒過程,時間為0.5~1個異步休眠周期,這里取一個異步休眠周期為902 ms,平均消耗電流為(Ir+It)/2=152.5 mA。②測量數據響應過程1 500 ms,能耗包括兩部分,ARM和EPC610在此時間內需要100 mA。由于XBEE被喚醒后仍然沒有有效數據到來,所以XBEE 在1 000 ms-902 ms=98 ms的時間內,XBEE仍處于接收狀態,電流為Ir=55 mA。故在此1 500 ms消耗的平均電流為(1 500 ms×100 mA+98 ms×55 mA)/ 1 500 ms=103.59 mA。③無線傳輸部分,經測試,一次有效地數據傳輸需要平均時間為T≈6.108ms,那么最壞的總的傳輸時間為:節點個數×T/(協調器個數×傳輸效率)=6×6.108 ms/0.5=73.296 ms,消耗的平均電流為(Ir+It)/2=152.5 mA。④同步休眠幀等待超時時間500 ms,消耗的平均電流為Ir=55 mA。
可以看出,一次完整的測量總共需要近3 s,消耗的平均電流為113 mA。如果采用5 000 mAh的移動電源供電,采集的時間間隔為10 min,那么總共可以使用5 000 mAh/113 mA*3 600/3 s/24/6=368.7。
本文分析了傳統潮汐測量裝置的缺陷,針對海岸作業特點,設計了一種基于紅外LED做發光光源的TOF測距裝置,包括LED光源的準直和接收鏡頭的選型,紅外LED的驅動電路設計以及控制系統的設計,使用三層的篩選算法提取了有效地測量數據并進行非均勻性校正,測距實時性和精度滿足項目需求。較傳統的中心狀網絡拓撲結構,本文使用自組織且對等的MESH網絡拓撲結構,有效地解決了因外部因素引起的拓撲結構變化或傳統中心節點失效導致網絡崩潰的問題,低功耗方面,本文使用無線模塊主動喚醒微控制器和傳感器的方式并結合同步和異步休眠方式減少了無謂的能耗,最后估計了系統的功耗和使用時長。
[1] 黃戰華,熊浩倫,朱猛,等.嵌入式水尺圖像檢測系統與判讀算法研究[J].光電工程,2013(4):1-7.
[2] 高占科,于惠莉,索利利,等.水位計(驗潮儀)的檢定和校準[J].計量技術,2007(7):53-56.
[3] 王煥欽.新型光電測距與三維成像技術研究[D].中國科學技術大學,2009.
[4] 董利軍.高分辨率激光三維成像雷達技術研究[D].中國科學院研究生院(西安光學精密機械研究所),2012.
[5] 何榮芳,孫長庫,王鵬,等.SMT封裝電路板三維在線檢測技術[J].傳感技術學報,2015,(2):290-296.
[6] 孫力,蔡健榮,李永平,等.基于TOF成像技術的柑橘實時識別與定位[J].江蘇大學學報:自然科學版,2013,34(3):293-297.
[7] 汪濤.相位激光測距技術的研究[J].激光與紅外,2007,37 (1):29-31.
[8] 吳斌,莊洵,劉常杰,等.鐵路機車車輛靜態限界測量系統校準方法研究[J].傳感技術學報,2013,26(1):58-62.
[9] 丁津津.TOF三維攝像機的誤差分析及補償方法研究[D].合肥:合肥工業大學,2011.
[10]潘華東,王其聰,謝斌,等.飛行時間法三維成像攝像機數據處理方法研究[J].浙江大學學報:工學版,2010,(6):1049-1056.
[11]Faludi R.Building Wireless Sensor Networks:with ZigBee,XBee,Arduino and Processing[M].O'Reilly Media,Inc.,2010.
[12]朱德權.走近無線Mesh網絡[J].數據通信,2007(2):14-18.
[13]Güner H E,Ambarkütük M.Building Wireless Mesh Sensor Networks Using Xbee an Darduino[M].2013.
[14]范濤,張燕.無線Mesh網絡的組網及其相關標準[J].數據通信,2005(4):40-42.
[15]陳博,徐建政,劉霄.新型微功率無線抄表系統[J].電力自動化設備,2011,31(5):134-136.
[16]王瑋,郭成城,李松.無線Mesh網絡在礦井通信中的應用[J].計算機工程,2008,34(19):130-132.

黃戰華(1965-),男,湖北省孝感人,博士,教授,1986年于華中科技大學獲得學士學位,1989年、1992年于天津大學分別獲得碩士和博士學位,主要從事光電圖像處理與模式識別、光電子信息技術及多媒體計算機應用與控制的研究,zhanhua@tju.cdu.cn;

王吉虎(1988-),男,山東省泰安人,碩士研究生,2011年于長春理工大學獲得學士學位,主要從事光電信息處理、嵌入式系統設計和無線傳感網絡的研究,datang7878@126.com。
The Design of Tidal Level Measurement System Based on TOF*
HUANG Zhanhua*,WANG Jihu
(Key Laboratory of Opto-electronics Information Technology,Ministry of Education,College of Precision Instrument and Opto-Electronic Engineering,Tianjin University,Tianjin 300072,China)
In order to improve the real-time performance and stabilityof the existing tide and water level measuring instrument,such as float type,ultrasonic,radar level gauge,reduce the size,the cost and power consumption of the instrument,this paper describes the design of a wireless sensor network system based on TOF(Time of Flight)three-dimensional imaging and XBEE MESH Technology.The sensor nodeuses 850 nm focused infrared LED as emission source,the ARM+CPLD architecture to control and extract the effective measurement data of EPC610 TOF imaging chip for real-time correction and calculation.A single measurement node can achieve an error of±1.25 cm at the range of 1 m~7 m,high-speed measurement rate at 500 times/sec and its size is only 2.5 cm× 2.5 cm.The wireless network uses Peer-to-Peer MESH self-organizing technology,using the wireless module to awaken the sensoractively and the combination of synchronous and asynchronous sleep mode,thus greatly reduced the power consumption.
online measurement;TOF 3D imaging;Peer-to-Peer MESH network;small in size;low power consumption design
TP277
A
1004-1699(2015)09-1328-07
項目來源:國家863項目(2008AA04Z134)
2015-04-18修改日期:2015-06-24