摘 要:采用單目CCD攝像機獲取環境空間的圖像信息,融合來自超聲波測距傳感器系列的深度數據可完成對環境空間的快速理解。設計出基于多傳感器信息融合的移動機器人障礙探測系統,分析了多傳感信息A/D數據的實時采集方法,采用多傳感器數據自適應加權融合算法獲取最終測量結果。實驗表明該算法具有線性無偏最小方差性,可獲取最優的數據融合值。
關鍵詞:機器人視覺;多傳感器信息;障礙物檢測;數據融合
中圖分類號:TP242.6 文獻標志碼:A
Obstacle Detecting System of Mobile Robot Based on Multi-sensor
Information Amalgamation
YU Ping,SHOU Bing
(Jiangxi Industry Polytechnic College, Nanchang 330095, China)
Abstract:Image information of environment space can be obtained by one-eye CCD vidicon, and rapid comprehension of environment space is implemented by amalgamating depth data from supersonic displacement measurement sensor. Mobile robot obstacle detecting system based on multi-sensor information amalgamation is designed, and real time A/D data collecting method of multi-sensor information is analyzed. Ultimate measurement results can be obtained by multi-sensor data auto-adjustable amalgamation arithmetic. It indicates that the arithmetic has the properties of no linear error and minimum convariance error which can optimize data amalgamation values.
Key words:robot vision;multi-sensor information;obstacle detecting;data amalgamation
自主導航對于移動機器人在障礙空間運動具有十分重要的意義,而獲得機器人對環境空間的理解是移動機器人實現自主導航的先決條件。傳統的感知環境的方法是使用超聲波、光電開關實現移動機器人的避障,這種方法在一定程度上能實現機器人的局部自主導航。隨著CCD(Charged Coupled Device)電荷耦合器件的出現,從圖像上獲取的環境空間信息數據由于其完整性越來越起著決定性的作用。基于人眼模型的雙目視覺檢測技術是一種立體視覺檢測系統[1-2],近年來被成功地用于工業檢測、物體識別、工件定位等諸多領域。但雙目視覺檢測技術需要對來自兩個CCD攝像機的兩幅圖像進行匹配,以形成一幅完整的三維立體圖像。對于灰度圖像利用灰度相關取灰度相關最大位置實現匹配,但灰度相關匹配的計算量很大,并且匹配精度也難以達到理想的效果。如在作像素級灰度相關融合時,設數字化后待融合圖像尺寸為NN像素,采用較好融合效果的金字塔法需要的MAC(乘并累加)運算總量達到1253N2,取N=480,設“實時”要求為每秒10幀,則MAC運算總量達到100M,僅從圖像匹配校準方面可見雙目CCD立體檢測技術難以滿足移動機器人對環境空間的理解。
1 移動機器人障礙探測系統結構
基于小孔成像模型的單目CCD攝像系統如果能輔助某種手段獲得縱深數據,就可以實現信息從數字圖像坐標向三維世界坐標下的轉化[3-4]。本文給出了一個基于多傳感器(CCD攝像機、超聲波測距傳感器、熱釋電紅外、光電)信息的移動機器人障礙探測系統,其結構功能如圖1所示。
機器人障礙探測系統在理解環境空間過程中,超聲波測距傳感器系列不斷對移動環境空間進行掃描,當檢測到障礙物時返回障礙物的距離信息,計算機根據獲得的距離數據判斷是否觸發熱釋電紅外傳感器檢測障礙物溫度以及從黑白CCD攝像機采樣環境空間圖像信息[5]。障礙物的距離信息、溫度信息經HY-6070數據采集控制板實現A/D轉換,同圖像采集卡送來的數字圖像數據一并送計算機進行融合處理。計算機對二維灰度圖像進行濾噪平滑預處理,從限定的背景中分離出圖像目標,獲取其輪廓及形心位置,在圖像坐標下測量障礙物的尺寸。之后根據基于小孔成像模型標定的攝像機參數矩陣,將圖像坐標下障礙物信息轉換到世界坐標下,從而使移動機器人獲得對環境空間的理解,為機器人在障礙空間的自主導航提供可靠的信息數據(障礙物方位,大小,形狀,距離),指導移動機器人進行避障導航。
圖1 基于多傳感器的機器人障礙探測系統
Fig.1 Robot obstacle detecting system based on multi-sensor
2 傳感器信息數據采集
移動機器人障礙探測系統需要采集多種傳感器(CCD攝像機圖像信息、超聲波測距信息、熱釋電測溫信息)信息[6]。CCD攝像機的圖像信息是通過VIDEO-PCI-XR圖像采集卡經模數轉換后采集到開辟的計算機內存,這個過程可用隨VIDEO-PCI-XR采集卡提供的驅動函數庫編程將數字圖像送往計算機內存,不需計算機CPU的參與,節省了計算機資源。
多路超聲波測距傳感器的測距信息和熱釋電紅外傳感器的測溫信息經由HY-6070通用數據采集控制卡采集入計算機,考慮到兩種傳感器響應周期較長,設定啟動A/D轉換為定時觸發方式。采集的數據傳輸可選用軟件查詢方式,計算機CPU每隔一定的時間去查詢采集卡的狀態,當查詢到采集卡的A/D轉換狀態完成位為1時,從設定的地址端口完成讀入多路數據信息。這種讀入多路傳感數據信息的函數相對來說比較“笨重”,在用戶界面線程中執行時很容易造成消息映射的遲滯,解決的辦法是創建一個輔助線程來完成這個比較“笨重”的工作過程,然后在用戶界面線程和輔助線程建立通信完成計算機對傳感數據信息的采集。在輔助線程
UINT GetADInfo_ThreadProc(LPVOID pParam)
中完成傳感數據的采集。在用戶界面線程的時鐘響應函數中調用函數
Afx Begin Thread(GetADInfo_ThreadProc, GetSafeHwnd())
啟動輔助線程,采用公有變量實現兩個線程的通信。
另一種數據傳輸更為有效的方法是中斷采集方式。Windows XP是一個運行在最高級特權Ring0層的多線程操作系統,處理硬件響應也是在Ring0層,而所有的應用程序卻運行在最低級特權Ring3層上,這樣就限制了應用程序對硬件響應的操作。要實現對HY-6070數據采集卡的中斷操作,必須開發相應的運行在Ring0層的中斷功能驅動程序。應用Video Software公司的VtoolsD驅動開發工具設計了Windows XP下管理中斷操作的AD6070.VXD,實現了HY-6070的中斷方式數據傳輸,節省了計算機CPU資源。在設計AD6070.VXD時,先從中斷管理類VHardwareInt派生AD6070HwInt,并調用AD6070HwInt類的構造函數AD6070HwInt:VHardwareInt(AD6070_IRQ,0,0,0){}虛擬化中斷源,在中斷響應函數AD6070HwInt::OnHardwareInt(VMHANDLE hVM)中實現對指定端口數據的采集。應用程序對AD6070.VXD的通信先調用Create File(),獲得AD6070.VXD的設備句柄,然后調用Device Io Control()與AD6070.VXD通信,在AD6070.VXD中設置
Ad6070 Device::OnW32DeviceIoControl()
AD6070.VXD對應用程序的通信采用Win32事件的方法,在應用程序中首先要定義一個事件,接著加載kernel32.dll模塊到進程內存空間,調用函數Get Proc Address()從模塊中獲取未公開函數Open VXD Handle()的入口地址,使用Open VXD Handle()將Ring3層的事件句柄轉換成Ring0層的事件句柄。在應用程序中定義輔助線程DWORD WINAPI Get AD Result Thread(),在事件為有信號狀態時將AD6070.VXD采集的數據取到應用程序,實時獲得超聲波測距信息及熱釋電紅外傳感器的測溫信息。
3 自適應加權數據融合
本文所設計的機器人障礙探測系統中,數據融合應用于兩個層次[7-8]。第一個層次是將CCD攝像機采樣的圖像信息與超聲波測距傳感器采樣的深度信息進行融合,應用小孔攝像機后投影模型及CCD攝像機標定數據將圖像坐標下的二維信息轉換到世界坐標下的三維信息。在第一個層次的融合過程中,超聲波測距數據信息的精度影響著信息轉換的效果,這要求我們必須采取合適的方法提高超聲波測距傳感器的數據信息的精度。第二個層次的融合正是為了提高超聲波測距傳感器的精度,本文是采用一種自適應加權融合估計算法來實現的,其原理模型如圖2所示。
圖2 自適應加權融合模型
Fig.2Auto-adaptable amalgamation model
從含有觀測噪聲的測量數據中估計一個隨機量,這是在實際測量中經常遇到的一個問題。我們評價一個估計算法的好壞一般都以均方差作為評價指標。自適應加權融合估計算法具有線性無偏最小方差性。
n個傳感器的方差分別為σ21,σ22,…σ2n所要估計的真值為X,各傳感器的測量值為X1,X2,…, Xn,它們彼此相互獨立,且為X的無偏估計;各傳感器的加權因子分別為W1,W2,…Wn,則融合后的值和加權因子滿足以下兩式:
=∑np=1WPXP(1)
∑np=1WP=1(2)
當總均方誤差為最小時其對應的加權因子為
WP=1σ2p∑ni=11σ2i (p=1,2,…,n)(3)
此時對應的最小均方誤差為
σ2min=1∑nP=11σ2P(4)
若估計真值為常量,則可根據各個傳感器歷史數據的均值來進行估計。
此時的估計值為
=∑nP=1WPX-P(k)
此時所對應的最小均方誤差
σ-2min=1∑nP=11σ2P=σ2mink(7)
圖3 自適應加權融合結果1 Fig.3 Amalgamation result1 of auto-adjustable method
圖4 自適應加權融合結果2Fig.4 Amalgamation result2 of auto-adjustable method
圖3和圖4顯示了兩種不同情況的融合結果,兩次測量采用傳感器數目分別為3種和4種,測量次數為4次和5次,兩次測量相對偏差為0.2%。自適應加權融合估計算法具有線性無偏最小方差性,估計后的均方誤差不僅小于依靠單個傳感器估計的均方誤差,而且小于采用多傳感器均值作估計所得均方誤差,明顯提高了測量精度。
4 結論
針對移動機器人避障的實際要求,考慮到雙目CCD視覺系統的圖像件匹配校準計算量過大,本文給出了一個基于多傳感器信息的單目CCD攝像機障礙探測系統。然后就多傳感器信息在Windows應用程序中的實時采集設計了輔助采集線程和支持Windows下硬件中斷操作的AD6070.VXD。在信息融合過程中設計了自適應加權融合算法旨在提高單種傳感器的測量精度,實驗表明該方法具有線性無偏最小方差性,滿足性能要求。
參考文獻:
vision-dynamicof vision perception[A].In Proceedings of Image Understanding Workshop[C].MontereyCA, Mexico, 1998:365-384.
[3]Sorin Z. Improved median filter for impulse noise removal[J].TELSIKS Serbia and Motenegra, Nis,2003, 10(1): 681-684.
[4]Tsap L V, Goldof D B, sarkar S. Nonrigid motion analysisbased on dynamic refinement of finite element models[J].IEEE Transactions on pattern Analysis and MachineIntelligence, 2000, 22(5): 526-543.
[5]Murphy R R, Demp S. Shafer theory for sensor fusion in autonomous mobile robots[J].IEEE Trans on Robot Automation, 1998, 14 (2):197-206.
[6]Diguez A R, Sanz R, Lpez J. Deliberative on line Local path planning for autonomous mobile robots[J].Journal of Intelligent and Robotic Systems, 2003, 37 (1):1-19.
[7]Qiao F B, Yang R Q. Multi-sensor systems and informationprocessing of mobile robot in uncertain environments[J].Journal of Southeast University (English Edition), 2004, 20(3):341-345.
[8]李玉榕,郭智疆,蔣靜坪.多傳感器融合在移動機器人運動控制中的應[J].儀器儀表學報,2002, 23 (1):106-110.
[9]張英.拱泥機器人的運動分類及控制[J].船海工程,2007 (6):100-102.