馬利紅, 范晨光, 王書平, 周 武
(1.浙江師范大學 數理與信息工程學院,浙江 金華 321004;2.浙江師范大學 工學院,浙江 金華 321004)
?
基于深度圖像的室內機器人避障系統
馬利紅1,范晨光1,王書平2,周武2
(1.浙江師范大學 數理與信息工程學院,浙江 金華321004;2.浙江師范大學 工學院,浙江 金華321004)
為了增強室內移動機器人的障礙物檢測能力和降低系統成本,提出了一種基于深度圖像的單一Kinect傳感器的室內移動機器人避障系統.該系統將Kinect傳感器豎直放置,并對深度圖像進行了幾何變換,提供了更加適合探測地面和空中障礙物的視角.對深度圖像進行中值濾波以消除圖像噪聲,并采用統計平均的背景減除法去除無障礙背景,提取障礙物的深度圖像,然后對障礙物的大小、位置與數量進行檢測,最后根據檢測的結果,并利用人工視場與Kinect攝像頭對位置環境局部最小值場景的檢測相結合進行避障路徑的選擇.結果表明:局部最小值場景檢測方法能夠高效檢測出環境中存在局部最小值的缺陷,沿墻行走模式也大大減少無效路徑,解決了狹窄通道內震蕩的問題,有效地實現了室內機器人在動態環境下的避障.
深度圖像;室內機器人;Kinect;避障
(1.CollegeofMathematics,PhysicsandInformationEngineering,ZhejiangNormalUniversity,Jinhua321004,China; 2.CollegeofEngineering,ZhejiangNormalUniversity,Jinhua321004,China)
移動機器人的自主行走能力是保證機器人能夠完成預定任務的前提.家庭服務機器人是移動機器人的重要發展方向,然而家庭服務機器人的普及和推廣速度一直非常緩慢,主要原因是家庭環境比較復雜和多變,機器人的避障效果不理想;另一個重要原因是家庭服務機器人成本較高,不利于機器人的推廣.傳統的移動機器人障礙物檢測的傳感器使用紅外傳感器、超聲波傳感器、雙目攝像頭和激光雷達等.其中超聲波的反射性強、定向性差;3D激光雷達成本過高等;雙目視覺易受光照等環境變化的影響[1];或者多種傳感器同時使用需要多種傳感器的數據融合,這便增加了數據處理硬件要求和復雜性.微軟研制的新型深度影像傳感器被廣泛應用于目標檢測、跟蹤與識別、室內3D地圖建構等領域[1-3].Kinect傳感器使用的是一種光編碼(light coding)技術.它使用激光散斑(laser speckle),這些散斑具有高度的隨機性,而且會隨著距離的不同而變換圖案,因此,空間中不同的位置具有不同的圖案,據此可以獲得障礙物的形狀及距離的相關信息.所以,Kinect在提取周圍環境深度信息上為進一步提高障礙物檢測的效果和距離計算準確性提供了可靠的保障[4].使用單一的Kinect傳感器來獲取障礙物的深度圖像能夠很好地保證系統的實時性,因此,Kinect的應用日趨廣泛[5].
隨著國家“十三五”規劃的實施,智能化與機器人是國家重點發展的領域,移動機器人作為機器人家族中的重要一員,對其要求也越來越高,移動機器人應用領域遍及軍事、救災、探測、加工制造、娛樂傳媒、家庭服務等.許多學者對機器人自主導航進行了大量的研究,就機器人自主避障提出許多算法[6].其中人工勢場法作為一種經典的局部規劃算法,因其計算量比較少、且描述簡單、便于機器人實時控制而應用廣泛[7-9].但人工勢場法在實時路徑規劃時存在局部極小點、陷阱區及在復雜障礙物前產生振蕩等問題.本文在此基礎上結合Kinect傳感器的優勢提出了使用Kinect單一傳感器改進人工勢場法的有效避障系統,利用人工視場法與Kinect攝像頭對位置環境局部最小值場景的檢測相結合進行避障路徑的選擇.該系統能夠高效檢測出環境中存在局部最小值缺陷的障礙物場景,沿墻行走模式也大大減少無效路徑,解決了狹窄通道內震蕩的問題,有效地實現室內機器人在動態環境下的避障.
1.1避障系統的構成
本文提出的避障系統的硬件部分主要由筆記本電腦、Kinect傳感器和Pioneer-3移動平臺組成.筆記本電腦用于深度圖像的處理、障礙物檢測和避障路徑的選擇;Kinect傳感器用于采集周圍環境信息并生成深度圖像數據;Pioneer-3移動平臺是整個系統的移動載體與執行機構,如圖1所示.

圖1 避障系統構成圖
1.2避障系統的工作原理
避障系統首先將Kinect傳感器豎直放置,并對深度圖像進行了幾何變換,提供了更加適合探測地面和空間障礙物的視角,對深度圖像進行中值濾波處理以達到消除深度圖像噪聲的目的;采用基于統計平均的背景減除法來去除無障礙物的背景,消除地面背景對障礙物造成的干擾,從而將障礙物從深度圖像中提取出來;然后對障礙物的大小、位置和數量進行檢測;最后,根據障礙物的位置、大小和數量并結合人工勢場法和Kinect場景檢測模式進行避障.
2.1深度圖像預處理
深度圖像預處理主要包括深度圖像翻轉,深度圖像的中值濾波處理.Kinect放置示意圖如圖2所示,默認狀態下即Kinect水平放置,傳感器水平視角為57°,垂直視角為43°,Kinect探測深度范圍是0.7~4.5 m,最佳探測區域為1.2~2.5 m,翻轉之后Kinect探測水平視角變為43°,垂直視角為57°,探測深度范圍不發生變化,如圖3所示.翻轉之后,Kinect探測寬度范圍變化,該實驗平臺上Kinect傳感器高度設定為0.8 m,可探測范圍變化如圖4所示.

圖2Kinect布置方式 圖3Kinect翻轉后視角變化

圖4Kinect翻轉前后垂直視角探測范圍對比圖
通過張克華等[3]提出的計算公式計算可得翻轉前后可探測地面的最小距離和可探測高度最小距離的結果如表1所示.
由圖4和表1可以得知,翻轉之后的 Kinect傳感器可探測最近的地面障礙物的距離減小了557 mm,表明:Kinect傳感器相對應的探測盲區得到了優化.同理,Kinect傳感器可探測指定高度的(本文設定為2 000 mm)最小距離減少了697 mm,表明傳感器可探測空間障礙物盲區得到進一步優化,所以,翻轉所得到的探測視角更適合探測覆蓋地面到空間區域的整個范圍的障礙物檢測,效果如圖5所示.

表1 Kinect傳感器2種放置狀態可探測范圍對比 mm

圖5Kinect翻轉前后深度圖像范圍對比圖
2.2基于統計的背景減除算法
由于Kinect傳感器存在邊緣噪聲,對障礙物邊界檢測造成干擾,獲取圖像首先進行中值濾波處理,有效抑制邊緣噪聲對障礙物檢測的影響.另外,Kinect傳感器深度圖像中地面影響較大,原因是地面與障礙物距離較近,深度圖像中的灰度值較為接近,因此,會對地面障礙物的檢測構成干擾,需要對無障礙物環境進行建模,通過差幀處理消除來自地面的影響,提高障礙物的檢測效率.

圖6深度圖像中地面區域(虛線部分)和障礙物區域(橢圓部分)
深度圖像中地面區域與障礙物區域的深度值的差值很小,邊界不明顯,不能夠準確測出障礙物的像素坐標,如圖6所示.因此,需要對無障礙物圖像進行背景建模,統計出該環境中的背景圖像,在檢測障礙物時,將背景圖像與當前深度圖像數據流進行差幀處理,從而濾去地面的影響.基于統計平均的背景建模是統計一段無障礙物環境的深度圖像序列中每一個像素點的像素值,計算出該圖像序列的各個像素點均值作為目標圖像的像素值.其統計公式如下:
(1)
背景減除法的原理是:第1步是對無障礙物環境下得到的深度圖像序列的每一個像素點進行統計平均的背景建模,獲得背景模型圖像fb(x0,y0);第2步是將當前幀fn(x0,y0)與背景圖像fb(x0,y0)做差幀處理,也就是2幀圖像的對應像素點的像素值相減,得到一個目標圖像dk,即
(2)
最后,將得到的目標圖像進行二值化處理、形態學處理,去除地面背景對地面障礙物檢測的干擾.基于統計平均的背景減除法過程如圖7所示.

圖7 基于統計平均的背景減除法流程圖

左→右:中值濾波、差幀圖、差幀圖中值濾波、二值圖、原深度圖像
圖8基于統計平均的背景建模處理實驗圖
在圖8中,①,②,③3幅照片表示的是中值濾波處理后的圖像:圖像①經過與統計平均建模法得到的背景圖像進行差幀處理得到了濾除背景的圖像②,由于傳感器噪聲和振動等影響,差幀圖像②存在很多噪聲,進行中值濾波、膨脹、腐蝕處理后,得到較為理想的圖像③.基于統計平均的背景建模處理過程的實驗效果如圖8所示.
根據統計平均的原理和實際實驗效果的表現,基于統計平均的背景建模比較適合Kinect深度圖像檢測環境障礙物的要求.
2.3障礙物識別算法
目標圖像通過二值處理之后進行障礙物的識別.障礙物的識別主要包括檢測目標圖像中障礙物的輪廓,計算圖像中障礙物的像素面積大小,過濾由噪聲原因形成的非障礙物圖像和障礙物邊界信息提取,障礙物識別的具體流程如圖9所示.

圖9 障礙物識別流程圖
在FindContour函數找到障礙物的輪廓以后,運用OpenCV庫中ContourArea計算輪廓內的像素面積大小,從而確定障礙物大小及數量,根據對傳感器性能試驗的測試得出,設定500為判斷是否為障礙物的閾值是較為合理的,探測效果較為理想.實驗效果如圖10所示.
從深度圖像中探測出障礙物的位置信息,提取的障礙物信息是障礙物的圖像坐標信息,移動機器人進行避障路徑的判斷,必須獲取對應于世界坐標系的位置信息.因此,首先需要進行攝像機標定.攝像機標定的目的是將在障礙物檢測過程中獲得的圖像坐標信息轉化為世界坐標系的位置信息,移動機器人才能夠進行無效障礙物過濾和避障路徑的選擇.

圖10從左至右依次是障礙物數量及面積輸出界面、二值化處理圖像及canny算法實驗效果圖
根據Kinect傳感器工作原理可知,其深度圖像實際上是包含x,y,z這3個坐標信息,其中x,y是普通灰度圖像具有的像素坐標;z是表示物體與攝像機的距離大小,在深度圖像中表現為灰度值的大小,Kinect成像原理是基于激光散斑,然而Microsoft Kinect SDK并未給出攝像機標定函數,因此,需要根據世界坐標與像素坐標的幾何關系進行推算.攝像機標定示意圖如圖11所示.

圖11 障礙物邊界像素坐標示意圖

圖12 Kinect傳感器水平探測視角示意圖
攝像機標定的原理是將深度圖像分為左右兩部分,分界線為x=240,對應世界坐標系的左右分界線,也就是說,當x<240時,物體實際位置位于移動機器人左側;x>240時,則位于右側.根據公式3計算偏離機器人中心線的距離L1.
(3)
式(3):x1是該像素點的橫坐標;α為Kinect傳感器水平探測視角(見圖12),α=43°;dv為該像素點的深度值;Wmax表示深度圖像的寬度,即Wmax=480.由公式(3)可得出L1的計算公式:
(4)
若L1>0,則說明障礙物邊界在機器人左側;若L1<0,則說明障礙物邊界在機器人右側.圖11中y=320對應的是實際高度,就是Kinect傳感器紅外攝像機的高度,本文設定為800 mm.障礙物實際高度的計算公式為
(5)
式(5)中:y1為該像素點的縱坐標;β為Kinect傳感器的垂直探測視角;dv為該像素點的深度值;Hmax為深度圖像的長度,即Hmax=640.障礙物相對地面的實際高度的公式為
(6)
H1>0時在攝像機上方;H1<0時在攝像機下方.將障礙物的像素坐標轉化為相對于機器人的局部坐標,然后將實際環境中的坐標傳輸到人工勢場法中用來做路徑選擇.
2.4障礙物躲避路徑判斷
本文所設計的避障系統是在未知環境下進行的自主探測,因此,采用了局部路徑規劃中較為有效的算法:人工勢場法是梯度勢場法,勢場的負梯度作為作用在機器人上的虛擬力,障礙物對機器人產生斥力,目標點產生引力,引力和斥力的合力作為機器人的加速力,該力“推動”移動機器人向著目標做無碰運動.其工作原理如圖13所示.
針對人工勢場法所存在的局部最小值缺陷(即鎖死現象),國內外許多學者進行了很多研究,在特定的環境中解決了該問題,然而在完全未知的環境下僅僅通過對人工勢場法的引力場和斥力場的優化仍無法解決算法缺陷.為此,本文運用Kinect局部最優值場景檢測來解決該問題.解決人工勢場法的局部最小值問題的原理是對位置環境進行局部最小值場景檢測.當機器人檢測到前方有墻時,有可能陷入局部最小值場景,如圖14所示.此時啟動場景檢測模式,如圖15.具體操作方法是,機器人此時速度為0,先讓Kinect傳感器向左旋轉30°,然后向右旋轉30°.如果左右兩側都將測到有側面墻存在,則說明機器人已陷入局部最小值場景,機器人在此場景中可能被鎖死,給移動機器人原地旋轉180°,然后退出該場景;若左右兩側未檢測到墻時,那么說明機器人并未陷入局部最小值場景,則根據人工勢場法進行路徑選擇.

圖13人工勢場法原理圖

圖14局部最小值示意圖圖15局部最小值場景示意圖
為了驗證Kinect傳感器障礙物檢測系統的可靠性,在Pioneer-3移動平臺中添加Kinect傳感器搭建避障系統,并進行了實驗,分別包括地面障礙物和懸空障礙物檢測,如圖16所示,無效障礙物過濾實驗效果提示了有障礙物.地面障礙物和懸空障礙物檢測結果是檢測到了前方右側和空間的有障礙物.

圖16 地面障礙物和懸空障礙物檢測與無效障礙物過濾
為了驗證機器人對局部最小值場景的處理能力,避障路徑選擇實驗和局部最小值場景檢測試驗,如圖17所示.局部最小值場景檢測的實驗結果是移動機器人攝像頭左右旋轉檢測后,原地旋轉退出該場景,說明局部最小值場景檢測有效,局部最小值場景檢測效果如圖18、圖19所示.

圖17 局部最小值檢測場景

圖18局部最小值場景深度圖像與識別效果

(a)狹窄通道場景試驗結果過程圖(b)沿墻場景試驗結果過程圖
圖19場景檢測試驗過程圖
本文基于單一Kinect傳感器能夠同時檢測地面和空間障礙物的檢測系統,結合深度圖像分析改進了人工勢場法存在的不足,運用Kinect局部最優值場景檢測來解決人工勢場法的局部最小值問題.搭建了障礙物檢測系統試驗平臺并進行了實際場景的實驗測試,避障系統能夠成功識別障礙物和局部最小值的場景,達到了系統設計的預期,基本滿足了機器人自主行走的要求.
[1]楊磊,蔡紀源,任衍允,等.一種基于深度信息的障礙物檢測方法[J].計算機技術與發展,2015,25(8):43-47.
[2]Filipe V,Fernandes H,Sousa A.Blind navigation support system based on Microsoft Kinect[J].Procedia Computer Science,2012,14(8):94-101.
[3]張克華,王書平,尹小紅,等.復雜環境下單一Kinect導盲系統設計[J].光學 精密工程,2015,8(1):55-58.
[4]López-Ramírez J J,Quintanilla-Olvera A L,Luis J.Detecting objects using color and depth segmentation with Kinect sensor[J].Procedia Technology,2012(3):196-204.
[5]蘇仕瑋,侯廷偉.以Kinect配合智能型手機實做盲人輔具系統[D].臺南:“國立”成功大學,2013:8.
[6]張毅,蔣翔,羅元,等.基于深度圖像的移動機器人動態避障算法[J].控制工程,2013,4(20):663-670.
[7]姬偉,程風儀,趙德安,等.基于改進人工勢場的蘋果采摘機器人機械手避障方法[J].農業機械學報,2013,11(44):253-259.
[8]Gilbert E G,Johnson D W.Distance functions and their application to robot path planning in the presence of obstacles[J].IEEE J Robotics and Automation 1985,1(1):21-30.
[9]李奕銘.基于人工勢場法的移動機器人避障研究[D].合肥:合肥工業大學,2013.
(責任編輯杜利民)
On the obstacle avoidance system for mobile robots based on depth image in indoor condition
MA Lihong1,FAN Chenguang1,WANG Shuping2,ZHOU Wu2
An obstacle avoidance system for mobile robots was designed to improve obstacle detection and reduce costs used a single sensor Kinect based on the depth images in indoors condition. The Kinect sensor was placed vertically, and the depth image was geometry transformed in this system, which provided a more suitable field to detect obstacles of ground and air. The depth image by median filtering eliminated image noise efficiently, and through the statistical average background subtraction division removing barrier-free background to extract the obstacles of depth image, and then detected the size, location and quantities of the obstacles, according to the test results using the combination of artificial field and Kinect device camera to local minimum position environment scene detection for path choice avoiding walls. The experimental result showed that the local minimum value of scene detection method could efficiently detected the local minimum defects in the environment scene, the invalid path of walking along the wall model was greatly reduced, the problem of the narrow channels of concussion was solved, interior obstacle avoidance of robot in dynamic environment was effectively implemented.
depth image; mobile robots in indoor condition; Kinect; obstacle avoidance
10.16218/j.issn.1001-5051.2016.03.007
收文日期:2016-03-22;2016-04-25
國家自然科學基金青年基金項目資助(51405450);2014年度國家級大學生創新創業訓練計劃項目(201410345009)
馬利紅(1979-),女,浙江嘉興人,副教授,博士.研究方向:光全息與數字全息技術.
TP391.41
A
1001-5051(2016)03-0276-07