沈陽理工大學自動化與電氣工程學院 谷鳳偉 金西虎 姜 珊
移動機器人的智能避障算法已經有很多專家學者進行了非常深入的研究,對于簡單已知結構化環(huán)境的障礙物檢測也已經取得了較好的效果,但針對復雜多變的環(huán)境往往就已有算法來說不能夠達到良好的避障要求。于是,近幾年來多傳感器信息融合技術就越發(fā)引起人們足夠的重視,而且多傳感器融合系統(tǒng)還可以有效地解決單一傳感器模糊點的問題[1],從而能夠更加精確地觀察和解釋環(huán)境,所以在移動機器人的避障系統(tǒng)中有非常大的研究價值。雖然此領域目前也已經有很多的研究工作,但如何能很好的描述并處理所有的傳感器信息進一步加以融合用于導航避障還沒有一個很好的方法,尤其是非結構化復雜環(huán)境。
本文主要討論由雙目相機組成的視覺系統(tǒng)和激光測距與超聲波傳感器的信息融合問題。以往的檢測避障有結合兩種傳感器的而且用超聲波傳感器的居多,但超聲波測距范圍偏小,只能在低速運行機器人系統(tǒng)中起到作用,如果在正前方的障礙檢測中采用激光測距不僅測距范圍增大,檢測靈敏性也得到極大提高,給機器人足夠的避障反應時間。同時再結合雙目相機獲取障礙物二維圖像,融合有關的信息就能精確定位障礙物[2]??紤]到圖像和距離兩方面的互補信息,這里提出T-S模糊神經網絡方法,因其具有實時處理大量數據的能力、知識泛化能力及結構的容錯性等優(yōu)點[3],可以滿足條件。
本文先結合兩種傳感器,分別為四個超聲波傳感器和兩個激光測距儀。超聲波傳感器由三個部分構成:超聲換能器、處理單元以及輸出級。首先,處理單元會對超聲換能器加上電壓激勵,在其受激之后會以脈沖的形式發(fā)出超聲波,緊接著超聲換能器能夠轉入接受狀態(tài),處理單元會對接收到的超聲脈沖進行一步分析,判斷接收到的信號是不是之前所發(fā)出的超聲波的回聲。如果是就可以測量超聲波的傳播時間,使用測量時間計算行程,除以2就可以得到反射超聲波物體的距離[4]。超聲波傳感器分列在移動機器人左側90°、45°和右側90°、45°,主要用來檢測側邊障礙物。
激光測距儀作為一種基于TOF(time of flight)原理的高精度、高解析度的外部傳感器,其與超聲波傳感器相比,激光測距儀可以達到更遠的測距距離、更高的角度分辨率、更加短的采樣周期甚至較低的測量噪聲;與像相機中的圖像傳感器相比,其基本不受光線影響、處理方法較為簡單和數據精度更高等一系列優(yōu)點。本實驗采用兩個DLS-50型激光測距儀裝置在機器人正前方。測距傳感器安放位置如圖1所示。
圖1 測距傳感器組
其中,1、2為激光測距儀,3、4、5、6為超聲波傳感器,UGV-1為移動機器人平臺。
雙目立體視覺(Binocular Stereo Vision)是機器視覺的一種非常重要形式,其是基于視差原理且使用成像設備從不同的物理位置獲取到被測物體的兩幅圖像,可以通過計算圖像對應點之間的位置偏差從而來獲得物體的三維幾何信息的方法[5]。立體視覺系統(tǒng)是由左右兩部相機組成。如下圖2所示,圖中分別以字母l和r標注左、右相機的相應參數。世界坐標系中的任一點A(X,Y,Z)在左右相機中的成像面Cl和Cr上的成像點分別是al(ul,vl)和ar(ur,vr),然后分別作出其與各自的相機光心Ol和Or之間的連線,也就是投影線alOl和arOr,得到的交點為A(X,Y,Z)。
圖2 雙目立體視覺基本原理圖
使用機器視覺傳感器及相應算法來實現(xiàn)移動機器人對障礙物的識別及躲避是使用的主要方法之一。視覺避障的主要功能還包括利用視覺中的圖像信息對各種自然場景進行識別,從而加以確定移動機器人的可行區(qū)域,其中的關鍵技術為障礙物的檢測和識別。目前障礙檢測方法有根據顏色信息進行圖像分割檢測障礙物和利用邊緣檢測技術檢測出障礙物及其邊緣信息。本文還結合多種傳感器,利用雙目視覺主要進行障礙高度檢測,激光和超聲波傳感器進行障礙距離檢測,實時性得到很大提高,比以往的僅用雙目檢測障礙速度快很多。研究障礙檢測方法流程如圖3所示。
圖3 障礙檢測系統(tǒng)流程
首先使用雙目CCD相機采集彩色的圖像對,接著對左右兩幅圖像進行匹配,獲取圖像的視差圖和得到深度信息,然后采集部分樣本點并且利用其在攝像機坐標系下的三維坐標信息求取得到道路的平面方程,最后,根據點到平面的距離公式就能夠獲得物體在物理三維環(huán)境的高度圖,從而判斷出障礙物高度。三維空間中某個點(x,y,z)到平面的距離d的計算公式為:
激光測距儀和超聲波傳感器提供了對環(huán)境中障礙物距離和方向的快速檢測,激光掃描數據[6]可用極坐標表示為:
或者由直角坐標表示為
式中:N——掃描點數。同樣對于超聲波傳感器可以估算4個距離值,用基于特征點和形心與它們所在區(qū)域的關系采取一種簡單方法計算,通過坐標轉換就獲得在攝像機坐標系中的4個點的距離值。
對于多傳感器系統(tǒng)來說,信息具有多樣性和復雜性,因此對信息融合方法的基本要求是具有魯棒性和并行處理能力。目前較為成熟的多傳感器信息融合方法有很多,其中不乏優(yōu)秀的智能融合計算方法,比如:模糊集合理論、神經網絡、小波分析理論和SVM(Support Vector Machine)等。本文結合神經網絡和模糊理論的各自優(yōu)點,采用T-S模糊神經網絡進行障礙高度和距離信息的融合,具有較好的魯棒性,而且在此基礎上加入高度判決機制,根據移動平臺自身特性設定通行高度閾值,如果障礙物低于設定閾值高度就直行,高于設定閾值高度再轉給神經網絡模型預測,這樣可以大大提高速度滿足實時性要求。
這種由Takagi和Sugeno提出的一種可以用于多維模糊推理的方法,本質上是非線性,并且易于表達復雜系統(tǒng)的動態(tài)特性的模型,稱之為T-S模型[7]。其結構特點具有局部逼近功能,而且又兼具了模糊邏輯和神經網絡兩者的優(yōu)點,既能夠很容易地表示出模糊和定性的知識,又具有很好的學習能力。網絡的拓撲結構如圖4所示,這里采用簡化的T-S模糊神經網絡結構。
圖4 機器人避障控制下的T-S模糊神經網絡模型
其中,x1~x6是模糊神經網絡的輸入,x1是激光測距儀獲取的障礙距離,x2~x5是超聲波傳感器獲取的障礙距離,x6為障礙方向角o,在此之前已經過雙目視覺系統(tǒng)做過障礙高度判決機制[8],y1為模糊神經網絡輸出,對應機器人運行控制角s。
第一層作為輸入層,其每一個節(jié)點直接與各個輸入分量相連接。在這個系統(tǒng)中,一共有6個節(jié)點,分別連接6個輸入分量:dl、dlf、df、drf、dr和o。
第二層一共是15個節(jié)點,每一個節(jié)點都代表一個語言變量值,其中1~10的節(jié)點分別對應dl、dlf、df、drf、dr的語言變量值{NEAR,FAR},即為近和遠的劃分,11~15的節(jié)點對應o的語言變量值{L,LF,F,RF,R},為左方、左前方、正前方、右前方和右方的劃分。它的作用能夠計算出各個輸入分量分別屬于各語言變量值的模糊集合的隸屬度函數,而且有:
式中:i=1,2,…,n;j=1,2,…,mi。
N為輸入分量的個數,mi為xi的模糊分割數。且此系統(tǒng)中,n=6、m1=m2=m3=m4=m5=2、m6=5,與此同時,對于前5個輸入分量都采用gbellmf隸屬度函數,而第6個輸入分量是采用trimf隸屬度函數。
第三層一共是有160個節(jié)點,每一個節(jié)點分別代表一條模糊規(guī)則,它的作用可以用作匹配模糊規(guī)則的前件,從而計算出每一條規(guī)則的適用度。也就是:
上式中:i1=i2=i3=i4=i5∈{1,2},i6∈{1,2,3,4,5};j=1,2,…,160。
第四層的節(jié)點數是與第三層的節(jié)點數相同,N4=N3=160,它的功能是實現(xiàn)歸一化計算,即:
式中:j=1,2,…,160。
第五層作為系統(tǒng)的輸出層,可以實現(xiàn)清晰化計算,而且在這個系統(tǒng)中有:
這里的y1就是運行控制角s。
因為障礙方向o與機器人運行方向相關,所以先設定好由不同的環(huán)境決定的規(guī)則,由此規(guī)則得出機器人在不同類別環(huán)境和障礙物的情況下所期望的移動機器人的左右輪速度值,同時根據左右輪速度的不同來控制機器人運動方向。例如當機動小車的左前方有障礙物時,所期望的左右輪的速度分別為0.2m/s,0.1m/s;當機動小車左方和右方都有障礙物存在時,所期望的左右輪速度分別為0.2m/s,0.2m/s。當然速度的值也不是隨意定義,它會根據距離障礙物的遠近來不斷調整,根據傳感器傳回數據并經過計算得到移動小車的左右輪速度值。
本文選取300組訓練樣本并進行100次迭代,對機器人避障的T-S模糊神經網絡進行訓練。而且,機動小車每隔100ms時間就進行一次檢測,將獲得的傳感器探測障礙距離數據經過初次融合后作為模糊神經網絡的輸入再次進行數據融合[9],輸出結果為系統(tǒng)控制量,選取適當的隸屬度函數后最終得到歸一化后輸出的誤差圖和避障仿真圖,分別如圖5、6所示,并使用本文算法得到的結果與沒有使用雙目視覺得到的結果進行對比。我們發(fā)現(xiàn),使用本文算法的避障準確率明顯高于未使用雙目視覺的方法,由于缺乏高度檢驗機制,遇到障礙即轉向的方法不僅對速度要求較高而且實際應用也受限。
圖5 期望輸出與實際輸出圖
用經過T-S模糊神經網絡訓練后的融合算法對機器人進行避障測試,機器人可以很好的躲避障礙物到達目標點。
圖6 避障仿真結果圖
本文基于雙目視覺融合激光測距儀和超聲波傳感器的機器人避障方法,用于復雜未知環(huán)境,可以有效解決障礙不能及時檢測從而無法給機器人留有足夠反應時間的問題,雙目相機檢測到障礙并加以處理得到障礙高度信息,做完閾值判定再傳給機器人的融合系統(tǒng),這樣使得機器人運動效率得到更大提高。實驗表明,該種方法可以滿足移動小車實時避障要求。但是,在T-S模糊神經網絡中的節(jié)點數是固定的,如果對于調節(jié)輸入需要增加或者減少節(jié)點的情況能夠有效處理就可以進一步理解周圍環(huán)境,提高避障準確率。
[1]戈新良,楊杰.基于多傳感器融合的機器人障礙物檢測和識別[J].計算機仿真,2005,03:168-170.
[2]何燚,張翼飛.基于雙目視覺的移動機器人避障算法仿真研究[J].計算機仿真,2013,02:282-285
[3]李會來,李小民,蘇立軍.基于T-S型模糊神經網絡的輪式機器人避障方法研究[J].計算機測量與控制,2011,01:173-175.
[4]Jongkyu Park,Yub Je,Haksue Lee,Wonkyu Moon.Design of an ultrasonic sensor for measuring distance and detecting obstacles[J].Ultrasonics,2009:503.
[5]Bo Li,Wei Xie.Target tracking and measuring based on binocular vision[J].IEEE Conference on Information Science and Technology,2013:1393-1396.
[6]李永堅. 融合視覺和激光測距的機器人Monte Carlo自定位方法[J]. 農業(yè)機械學報,2012,01:170-174.
[7]肖寒春,孫鵬飛,李津. 基于模糊神經網絡在智能輪椅避障中的應用[J].計算機工程與設計,2013,02:665-669.
[8]解興哲,王姮,劉冉,劉滿祿.基于雙目視覺的障礙物高度檢測[J].傳感器與微系統(tǒng),2010,07:118-120.
[9]杜釗君,吳懷宇.基于激光測距與雙目視覺信息融合的移動機器人SLAM研究[J].計算機測量與控制,2013,01:180-183.