李超偉,李 笑,郭彥澤
(廣東工業(yè)大學機電工程學院,廣東 廣州 510006)
遙操作工程機器人能夠在人難以接近或對人有害的環(huán)境由操作者遙控操作完成復雜的作業(yè)任務[1]。為了提高作業(yè)效率,需采用視覺、聽覺、力覺、運動覺等臨場感提示技術[2-3]。視覺提示技術是利用攝像機采集現(xiàn)場圖像并通過網(wǎng)絡傳輸給操作者,使操縱者可以通過圖像信息完成復雜作業(yè)。但由于傳輸?shù)膱D像信息數(shù)據(jù)量大,存在較大時延,可能導致工程機器人無法正常作業(yè)。針對此問題,可將基于雙目形式的機器視覺技術運用于遙操作工程機器人上,通過圖像處理計算出作業(yè)場景的深度信息并及時反饋給操作者。由于傳輸?shù)奈恢眯畔?shù)據(jù)量較小,時延可明顯減小。因此,研究基于雙目視覺形式的遙操作工程機器人定位系統(tǒng)具有工程實際意義。
近年來許多國內(nèi)外學者對雙目視覺定位測距系統(tǒng)開展了研究[4-5]。文獻[6]提出了用Matlab和Opencv相結合的方法實現(xiàn)雙目立體視覺的測距,通過使用“絕對誤差累計”的小窗口對左右圖像之間的相同點進行立體匹配獲取視差圖,從而求解出目標和相機之間的距離。該方法在測量紋理突出的目標時效率和精度較高,但在匹配低紋理的目標圖像時會存在較大的誤差。文獻[7]研究了基于神經(jīng)網(wǎng)絡的遙操作工程機器人雙目視覺定位方法,利用工程機器人上特征點的二維圖像坐標和三維世界坐標構建神經(jīng)網(wǎng)絡模型,以此模型實現(xiàn)遙操作工程機器人的定位。該方法簡單有效,但神經(jīng)網(wǎng)絡的建立需要大量的樣本訓練,過程較為繁瑣。文獻[8]提出了一種結合sift特征點的雙目視覺定位方法,通過對目標物的檢測,sift特征點的選擇和匹配,最終獲取圖像中目標物的三維信息。該方法運行處理速度快,實用性強,但是在進行sift匹配時容易產(chǎn)生誤匹配,需要對匹配出來的多對sift點進行篩選,以此來得到正確的sift匹配點。為解決遙操作工程機器人作業(yè)過程中視頻圖像傳輸?shù)臅r延問題,提出一種基于單特征點匹配(SFPM)的雙目立體視覺定位方法。通過對機器人抓手和抓取物上的單特征點的特征檢測和立體匹配,完成對兩者的分別定位。由于特征點具有唯一性,且特征點的提取受強約束限制,因此不存在特征點誤匹配問題,同時基于單特征點的局部匹配減小了運算量,提高了匹配效率。實驗驗證了該方法的有效性。
基于SFPM的雙目立體視覺定位方法流程,如圖1所示。首先對兩臺相機進行單目標定和立體標定,獲取相機內(nèi)外參數(shù)、畸變量以及兩相機之間的位置關系,采集的圖像經(jīng)校正之后,提取單特征點進行立體匹配,經(jīng)重投影計算后獲取特征點的三維坐標,從而實現(xiàn)對遙操作工程機器人及抓取物的定位與測距。
圖1 雙目立體視覺定位方法流程Fig.1 Binocular Stereo Vision Localization Method Flow
根據(jù)針孔型攝像機成像模型,假設空間中任意一點P在相機成像平面上的投影點為p,則兩點間存有如下關系:
式中:XW,YW,ZW—P 點的空間坐標值;fx,fy,cx,cy—相機內(nèi)部參數(shù);u、v—投影點p的像素坐標值;r、t—相機的外部參數(shù)矩陣;zc—P點在相機坐標系下的坐標。
采用基于透視模型的線性標定方法,首先,分別對左右相機完成單目標定,獲得各自的內(nèi)部參數(shù),同時根據(jù)透鏡的畸變關系求得相機畸變矩陣(k1,k2,k3,k4,k5)T,之后進行立體標定,獲取兩臺相機之間的旋轉矩陣R、平移矩陣T。在實際使用相機時,左右相機的成像平面并不是完全共面,因此需要進行立體校正,使左右成像平面位于同一空間平面且左右圖像中的同一成像點在水平方向上實現(xiàn)對齊。
在機器人抓手與抓取物上各自選擇能準確代表其空間位置的某一點作為特征點進行提取。遙操作工程機器人抓手部分,如圖2所示。選定抓手爪鉗后邊的三角形構件區(qū)域作為圖像ROI區(qū)域,選定構件上兩個圓形突兀物圓心連線的中點作為整個抓手部分的質(zhì)點,在左、右圖像上分別提取出該點作為待匹配點。采用歸一化相關匹配法進行目標識別,分別從左右兩幅圖像中識別出三角形構件區(qū)域作為圖像ROI區(qū)域。歸一化相關匹配法通過計算參考圖和模板圖之間的互相關度量值來確定二者的匹配程度,其計算公式為:
式中:x,y—基準圖大小;m,n—模板大小;A(i,j)—實時圖像中匹配區(qū)域的像素灰度值;B(i-x,j-y)—模板中的像素灰度值;Bˉ—模板的灰度均值;Aˉx,y—圖像中匹配區(qū)域的均值;酌(x,y)—度量值,度量值越大,則匹配的相似度越高。
圖2 遙操作工程機器人抓手部分Fig.2 Gripper Part of Teleoperation Engineering Robot
檢測到三角形構件區(qū)域后,對ROI區(qū)域進行邊緣檢測,對提取出來的邊緣輪廓進行擬合與篩選,得到三角形構件上兩個圓形突兀物完整邊緣輪廓,確定兩圓形輪廓的圓心及兩圓心連線中點,將此中點作為唯一特征點,提取其亞像素坐標進行接下來的深度信息恢復計算。
遙操作工程機器人抓取的作業(yè)對象,一般具有明顯的幾何特征,如立方體形的混凝土塊,圓柱體形的水泥支撐柱等。研究中,選取立方體磚塊模擬工程機器人作業(yè)時的抓取物,根據(jù)顏色及紋理特征,在分離后的單通道圖像中進行閾值分割,篩選出磚塊上表面,對分割后的圖像經(jīng)Gaussian濾波后進行輪廓查找,使用moments計算圖像所有輪廓的矩:
式中:p對應x維度上的矩,q對應y維度上的矩。
計算其一階矩,得到相應的m00、m01、m10的值,輪廓的面積即為m00,輪廓的質(zhì)心坐標計算如下:
設置輪廓面積閾值,去除圖像中的其他輪廓僅保留抓取物的輪廓,提取出輪廓的質(zhì)心作為特征點。
求得抓手部分的單特征點在左圖像上的圖像坐標p1(x1,y1),以及該特征點在左右圖像上的視差d1,經(jīng)重投影公式可計算出該質(zhì)點的空間三維坐標:
式中:Q—重投影矩陣。
為驗證提出的定位方法的有效性,建立了基于雙目視覺的遙操作工程機器人定位系統(tǒng),并對不同位姿下的遙操作工程機器人及處于不同位置的抓取物進行了大量的定位實驗研究。
系統(tǒng)硬件上主要包括一臺遙操作工程機器人,如圖3所示。兩臺工業(yè)相機,配有千兆網(wǎng)卡的pc機等,軟件上基于VS2010并配置opencv視覺圖像庫的環(huán)境進行開發(fā)。通過兩臺工業(yè)相機構成雙目立體視覺,將采集的圖片傳送至pc機進行深度恢復,最終獲取工程機器人抓手及被抓物的三維坐標,計算出相對距離作為遙操作工程機器人作業(yè)操作參考。
圖3 遙操作工程機器人Fig.3 Teleoperation Engineering Robot
對左右相機分別進行單目標定,得到相機內(nèi)部參數(shù)和畸變系數(shù),如表1所示。經(jīng)立體標定得到左右相機之間的旋轉及平移矩陣,如表2所示。之后根據(jù)標定結果進行圖像的立體校正。
表1 單目標定結果Tab.1 Single Objective Definite Result
表2 雙目標定結果Tab.2 Binocular Objective Definite Result
建立遙操作工程機器人三角形構件模板,如圖4(a)所示。通過對左右相機采集的圖像進行模板匹配,如圖4(b)所示。正確檢測到左右圖像中的三角形構件區(qū)域作為圖像ROI區(qū)域。
圖4 對機器人抓手部分的模板匹配Fig.4 Template Matching for Robot Gripper Part
對ROI區(qū)域進行canny算法后提取出的輪廓圖,如圖5(a)所示。圖5(b)是對提取出來的圓弧邊緣進行擬合獲得完整圓形邊緣,確定兩圓形輪廓的圓心及兩圓心連線中點。
圖5 工程機器人特征點的獲取Fig.5 Acquisition of Feature Points on Engineering Robots
在單通道圖像中閾值分割后的圖像,如圖6(a)所示。可以明顯看到立方體磚塊的上表面被完整的提取出來,圖6(b)是經(jīng)過計算圖像所有輪廓的矩的面積后篩選出來的立方體磚塊輪廓并確定了其輪廓質(zhì)心。
圖6 抓取物上特征點的獲取Fig.6 Acquisition of Feature Points on a Grab
通過重投影矩陣Q,求得抓手和被抓物體的空間坐標,計算兩者的相對距離,系統(tǒng)的定位測距實驗結果,如表3所示。
表3 測距結果Tab.3 Ranging Results
實驗表明,定位誤差與遙操作工程機器人或抓取物相對于雙目相機的歐氏距離相關。當二者相對于相機較近時,獲取二者的三維坐標較為準確,相對距離也較為準確。系統(tǒng)對左右圖像特征點的提取平均耗時0.92s,對特征點進行三維恢復并最終計算出相對距離平均耗時0.21s。根據(jù)遙操作工程機器人的作業(yè)性質(zhì),該定位精度和實時性可滿足工程作業(yè)要求。
針對遙操作工程機人作業(yè)過程中視頻圖像傳輸?shù)臅r延問題,提出了一種基于SFPM的雙目立體視覺定位方法。實驗表明,該方法可消除誤匹配現(xiàn)象,減少圖像匹配計算量,定位準確,定位效率高,可為遙操作工程機器人的視覺提示系統(tǒng)設計提供技術參考。