肖 佳,楊 微,張志威
(廣州軟件學院 軟件工程系,廣州 510990)
隨著移動機器人的智能化發(fā)展,工業(yè)、運輸、電力等領域都開始應用移動機器人,以達到減少工作壓力的目的。在應用范圍不斷擴張的同時,各行業(yè)對機器人性能也提出更高要求[1]。尤其在服務行業(yè)和電力行業(yè)中,移動機器人的工作環(huán)境較為復雜,一旦機器人移動過程中與障礙物相撞,在影響工作效率的同時還會產(chǎn)生額外的經(jīng)濟損失[2]。想要順利完成工作,就要確保機器人具有良好的避障性能,而機器人移動中障礙物定位研究,就是影響機器人避障性能的關鍵。
文獻[3]根據(jù)障礙物定位精度要求,布置多個傳感器采集機器人運行環(huán)境信息,并通過深度學習算法進行障礙物定位與識別,但該方法的抗噪性較差。文獻[4]依托于YOLOv4 算法,設計一種障礙物檢測與定位模式,通過雙目相機獲取障礙物圖像,根據(jù)圖像中障礙物位置信息和像素位置距離信息,明確障礙物當前所處位置,但該方法定位誤差較大。文獻[5]采用SSD 網(wǎng)絡模型,對原始采集圖像內(nèi)存在的障礙物提取邊緣框,通過HSI 顏色空間描述框內(nèi)的圖像,再根據(jù)圖像亮度信息進行分割處理,利用線性擬合算法,對分割后的子區(qū)域進行計算,獲取障礙物與機器人之間的歐氏距離,完成障礙物定位,但該方法的定位速度較慢。
為解決當前定位方法的不足之處,本文提出基于圖像識別技術的機器人移動過程中障礙物定位方法。實驗驗證結果表明,該方法可以滿足移動機器人快速、精準的導航。
為了準確獲取障礙物空間位置信息,本文采用雙目立體視覺技術[6],在移動機器人上安裝2 個雙目攝像機,按照圖1 所示的雙目立體視覺技術原理,在機器人移動過程中,對周圍區(qū)域環(huán)境圖像進行采集。圖1 中,P 表示場景點,C 表示光軸交點,C1、C2表示2 個攝像機的光學中心,P1、P2表示圖像投影點,O1表示左側攝像機的投影平面中心點,O2表示右側攝像機的投影平面中心點。
圖1 雙目視覺示意圖Fig.1 Schematic diagram of binocular vision
依托于雙目立體視覺系統(tǒng),構建機器人移動環(huán)境測量模型,需要明確世界坐標系和攝像機坐標系之間的聯(lián)系,確保攝像機安裝位置最佳,采集深度且有意義的環(huán)境信息,不同坐標系之間的關系如下所示:
式中:(XC,YC,ZC)表示機器人本體坐標系中場景點坐標;()表示雙目立體視覺系統(tǒng)內(nèi)場景點的坐標;(d,g)表示機器人坐標系中雙目視覺系統(tǒng)坐標系原點的坐標。
本文構建的雙目立體視覺測量系統(tǒng),不屬于主動視覺系統(tǒng),當相機初次調(diào)整結束后,不會隨著機器人的移動發(fā)生任何變化。所以,不同坐標系之間屬于單純的平移關系:
式中:(XC1,YC1,ZC1)表示左側攝像機坐標;B 表示機器人移動距離。
結合式(1)和式(2),可得出:
此外,在測量模型構建過程中,本文通過旋轉矩陣、平移矩陣[7],對雙目立體視覺系統(tǒng)進行校正,保證左右相機的世界坐標系相同。按照校正后的雙目立體視覺測量模型,機器人移動過程中,獲取周圍環(huán)境中存在的所有物體的深度信息,實現(xiàn)周圍環(huán)境的立體重建。
為了更準確地檢測圖像內(nèi)包含的特征信息,本文基于圖像識別技術設計了一種新的圖像信息檢測方法,該方法主要包括圖像處理和信息檢測2 個環(huán)節(jié)[8]。首先,采用移位去尾的算法,對原始采集圖像進行灰度化處理。引入雙線性插值法進行降采樣處理,雙線性插值法的實現(xiàn)如圖2 所示。
圖2 中,A 表示插值像素點,Q12,Q11,Q22,Q21表示插值像素點的鄰近的4 個像素點,R1,R2表示沿x軸方向插入的像素點,y0,y1,y2表示插值像素點y 軸坐標。
圖2 雙線性插值原理Fig.2 Bilinear interpolation principle
式中:A(x,y)表示插值像素點的坐標值。
針對降采樣處理后的圖像進行分析可知,圖像中像素點的對比度較低,影響圖像識別的準確率。因此,本文結合直方圖均衡化方法,實現(xiàn)灰度圖對比度增強[9],則累計分布函數(shù)為
式中:s 表示灰度變量;e 表示圖像灰度級;T 表示累計分布函數(shù);γ 表示圖像對比度;λ 表示概率密度函數(shù);ε 表示積分假變量。
最后一個圖像處理階段,就是圖像平滑去噪階段,通過雙邊濾波器處理不必要的圖像特征,得到輸出像素值公式:
式中:h 表示輸出圖像;(i,j)表示輸出圖像坐標;? 表示原圖像;(k,l)表示原圖像坐標;η 表示加權系數(shù)。
圖像處理完成后,在基于圖像識別的信息檢測方法設計過程中,結合局部二值模式和Canny 算子分割模式,提取圖像邊緣信息,得到邊緣強度與梯度方向計算結果:
匯總上述公式計算結果,獲取障礙物邊緣信息,并框選出障礙物所在區(qū)域,將該區(qū)域作為鎖定的目標圖像,建立內(nèi)部點陣,針對圖像內(nèi)每個像素點的坐標進行編碼,將整體圖像轉換為一串二進制碼,利用AprilTag 庫內(nèi)的編碼進行解碼處理,依據(jù)解碼結果輸出圖像信息檢測結果。
由于機器人在障礙物識別過程中,處于移動狀態(tài),且周圍環(huán)境內(nèi)的障礙物也可能出現(xiàn)移動,在移動機器人障礙物識別算法建立時,需要合成機器人運動信息和障礙物運動信息。因此,本文基于圖像信息檢測結果,依據(jù)小波不變矩特征設計障礙物識別所需的分類器。小波不變矩特征為
式中:F 表示圖像的小波不變矩特征;m,n,q 表示特征尺度;β 表示圖像函數(shù);(o,τ)表示圖像函數(shù)的極坐標;φ 表示小波函數(shù);χ 表示尺度因子;ν 表示位移因子。
引入次優(yōu)搜索算法,選擇2 個合適的小波不變矩特征,進行圖像特征信息提取,將特征提取結果輸入分類器,輸出障礙物識別結果。
為了實現(xiàn)障礙物精準定位,本文引入投影差分法,通過二值化后的逆投影差分圖,描述障礙物距離機器人的距離,以及障礙物方向,基于此描述障礙物空間位置,障礙物狀態(tài)估計的坐標系配置如圖3 所示。
圖3 障礙物狀態(tài)估計的坐標系配置Fig.3 Coordinate system configuration of obstacle state estimation
圖3 中,abc 表示像素坐標系,a′b′c′表示障礙物局部坐標系,aˉbˉcˉ表示機器人自身坐標系,θ 表示障礙物。則障礙物在障礙物局部坐標系中的坐標可以表示為
而機器人坐標系內(nèi),障礙物坐標推導公式為
結合式(11)和式(12),推算出障礙物方向,以及障礙物與機器人之間的距離:
式中:D表示障礙物與機器人之間的距離;μ 表示障礙物方向。
為了驗證本文提出的障礙物定位方法,特進行實驗分析。在室內(nèi)環(huán)境中搭建圖4 所示的實驗場景,場景內(nèi)分散放置了8 個障礙物,再隨機選定一款智能巡檢機器人,在機器人移動狀態(tài)下,進行障礙物定位研究。實驗環(huán)境設計完成后,考慮到本文設計的定位方法是以雙目立體視覺系統(tǒng)為基礎的,在移動機器人上方安裝2 個微型攝像機,每個攝像機的分辨率為1950×1050 像素,2 個相機的有限檢測范圍為800 cm。
圖4 實驗場景Fig.4 Experimental scenario
本次實驗過程中,依托于MATLAB 工具箱,通過棋盤標定法完成攝像機標定。設置左右兩側的攝像機所采集圖像,是針對相同位置棋盤同步拍攝的,再通過MFC 程序將標定圖像輸入MATLAB 工具箱,得到圖5 所示的標定棋盤圖像組。
圖5 標定棋盤圖像組Fig.5 Calibration checkerboard image group
通過標定工具箱內(nèi)的自動程序,完成2 個攝像機的標定分析,得到表1 所示的標定結果。按照表1所示的標定結果,設置雙目攝像機的各項參數(shù),通過雙目立體視覺系統(tǒng)測量機器人運行過程中的周圍環(huán)境圖像,再進行后續(xù)障礙物檢測。
表1 左右攝像機標定結果(單位:Pixel)Tab.1 Calibration results of left and right cameras(unit:pixel)
由于初始采集圖像是圖6(a)所示的彩色圖像,為了便于檢測障礙物,對原始圖像進行灰度化處理,得到圖6(b)。通過直方圖均衡化方法,對灰度化圖像進行增強處理,得到圖6(c)所示的效果圖。最后,采用Canny 算子檢測算法,設置高低閾值比為2∶1,得到障礙物輪廓檢測結果,如圖6(d)所示。
圖6 障礙物檢測示意圖Fig.6 Schematic diagram of obstacle detection
障礙物檢測結束后,運用本文提出的方法,得出機器人移動過程中障礙物定位結果。為了體現(xiàn)本文設計定位方法的優(yōu)越性,在上述實驗環(huán)境中,采用文獻[3]和文獻[4]提出的方法,進行障礙物定位。記錄不同方法的障礙物定位結果,以及障礙物到移動機器人的真實距離,得到表2。由表2 可知,本文提出的定位方法,對于距離較近的障礙物定位結果與真實值完全一致,如障礙物4、5、6、7、8,對于超出1 m 范圍的障礙物,定位結果會產(chǎn)生一定誤差,但最大定位誤差為0.5 cm,滿足障礙物定位要求。應用文獻[3]、文獻[4]提出的方法進行障礙物定位后,所顯示的最大定位誤差分別為1.8 cm 和3.4 cm。綜上所述,本文設計的障礙物定位方法,使得最大定位誤差減少了72%、85%,該方法的應用有效提升了機器人工作質量。
表2 不同方法的障礙物定位結果Tab.2 Obstacle location results of different methods
為了滿足人們對智能機器人越來越高的避障要求,本文針對障礙物定位問題,提出一種以圖像識別技術為核心的定位方法,確保機器人在運行過程中迅速、精確地獲取周圍環(huán)境中存在的障礙信息,為后續(xù)運行路徑的制定提供依據(jù)。從實驗結果來看,所提方法的應用有效降低了故障定位的誤差,為機器人自主運行決策提供可靠信息。