彭 靜,田軍委*,張 震,李錦濤
(西安工業(yè)大學(xué) 機(jī)電工程學(xué)院,陜西 西安 710021)
機(jī)器視覺是人工智能快速發(fā)展的一個分支,廣泛應(yīng)用于工業(yè)裝配技術(shù),利用視覺傳感器實時提取工件圖像,將其位姿信息傳至控制系統(tǒng)實現(xiàn)裝配任務(wù)。因此裝配過程中對工件的位姿估算結(jié)果將直接影響裝配質(zhì)量,但是位姿計算與機(jī)器人本身精度與相機(jī)精度都有一定關(guān)聯(lián),使位姿估算仍然存在定位精度問題。
為了準(zhǔn)確獲取目標(biāo)位姿,國內(nèi)外學(xué)者對裝配過程中工件位姿做了以下研究:RuiWang 等[1]利用手眼視覺和末端位置姿態(tài)預(yù)測運動目標(biāo)的運動狀態(tài)。Motta等[2]通過消除圖像徑向失真計算精確的相機(jī)校準(zhǔn)矩陣,實現(xiàn)姿態(tài)估計。Marko ?vaco 等[3]使用微距鏡頭的垂直CCD 攝像機(jī)測量位姿,精度好但手動調(diào)整姿態(tài)耗費時間。Xu 等[4]將圖像的點特征和線特征分別用于位置控制和姿態(tài)控制。谷雨等[5]采用圖像矩和單應(yīng)性矩陣分解得到姿態(tài)控制平動和轉(zhuǎn)動自由度。趙航等[6]通過優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,使機(jī)器人末端執(zhí)行器在更短時間內(nèi)達(dá)到預(yù)期位置,但存在神經(jīng)網(wǎng)絡(luò)框架運算量大的問題。
上述研究對姿態(tài)的估算測量都取得了較大進(jìn)展,但也存在依賴外部設(shè)備測量的問題,對此本研究提出基于機(jī)器視覺的工件位姿估算方法研究,選擇柱形工件為研究對象,在機(jī)器視覺輔助下利用機(jī)械臂自帶相機(jī)采集工件圖像,使用圖像處理技術(shù)獲取工件參數(shù),完成目標(biāo)位姿估算,將工件位姿校正到裝配狀態(tài)下的水平狀態(tài)。
位姿包括位置和姿態(tài)兩個方面,位置為工件的x、y、z 坐標(biāo),姿態(tài)為剛體與ox 軸、oy 軸、oz 軸的夾角。對于空間中的目標(biāo)而言,任何一個點都必須用以上六個參數(shù)指定,即 (x,y,z,rx,ry,rz)。剛體在空間中具有六個自由度,則剛體位置可用一個3×1 的平移矩陣來表示,即剛體坐標(biāo)系中心O'在基坐標(biāo)系中的位置,即:P= [x y z]T,剛體的姿態(tài)可用一個3×3 的旋轉(zhuǎn)矩陣來表示
機(jī)器人學(xué)中,用齊次矩陣描述剛體的位置和姿態(tài),其中前3×3 矩陣表示旋轉(zhuǎn)矩陣,最后一列為平移矩陣,齊次矩陣形式表示為
通過上述理論可知,計算工件位姿4×4 位姿矩陣,本研究擬采用圖像處理算法識別工件端面,提取端面輪廓和最小外接圓,利用輪廓參數(shù)與外接圓間的偏轉(zhuǎn)角度關(guān)系實現(xiàn)位姿的評估校正,實現(xiàn)工件的位姿與相機(jī)水平正對,具體方法如下。
(1) 使用Baxter 機(jī)器人右臂加持工件,左臂相機(jī)采集不同腕關(guān)節(jié)角度下樣本圖像。
(2) 在原圖上獲取工件所在區(qū)域的感興趣區(qū)域,使用閾值分割算法將目標(biāo)工件從背景中分離,將工件填充為白色,其余背景填充為黑色,生成二值圖像。
(3) 使用輪廓尋找函數(shù)在二值圖輪廓集中尋找最大輪廓,該輪廓即為工件橢圓端面;用最小外接圓算法獲取端面外接圓。
(4) 使用橢圓擬合算法獲取輪廓橢圓上頂點坐標(biāo)、中心點位置、旋轉(zhuǎn)方向等特征參數(shù),對應(yīng)頂點相連構(gòu)成長短軸,計算長短軸間距離與外接圓之間的偏差。
(5) 通過上述偏差與偏轉(zhuǎn)角度的關(guān)系,將偏轉(zhuǎn)角度作為補償量,校正工件位置,實現(xiàn)工件位姿校正到水平位置。
通過上述分析,搭建本文實驗平臺如下:
(1) 硬件平臺。機(jī)器人選取Baxter 仿人型冗余雙臂機(jī)器人,控制系統(tǒng)主要用戶計算機(jī)、主體計算機(jī)、嵌入式控制器和驅(qū)動器組成,工件尺寸為軸:25×100;孔:41×80。
(2) 軟件平臺。軟件平臺選擇在Ubuntu(Linux)16.04 下搭建,通訊方式采用訂閱話題和發(fā)布消息的方式軟件配置為:Opencv3.4.1、Python3.6,實驗平臺見圖1。
在搭建好的實驗平臺上,使用機(jī)械左臂相機(jī)采集右臂夾持工件的孔軸圖像,選取腕關(guān)節(jié)角度依次增大的15 個樣本進(jìn)行分析,使用圖像處理獲取到外圓輪廓上的四個點,繪制兩點之間連線,樣本處理見圖2。
圖像像素變化見表1,最小外接圓直徑像素穩(wěn)定后基本不發(fā)生變化。圖3 為工件外圓輪廓與正圓的可視化偏差,長軸與圓直徑間偏差較小,整體為下降趨勢,偏差多數(shù)小于兩個像素。短軸偏差呈上升趨勢,說明隨著腕關(guān)節(jié)角度增加,短軸長度不斷減小,偏差不斷增大。則需要將工件調(diào)整為短軸逐漸增大的方向,即減小腕關(guān)節(jié)旋轉(zhuǎn)角度。
表1 不同角度下工件像素變化
比較不同偏轉(zhuǎn)角度下樣本末端的位姿與已知狀態(tài)的位姿,得出的偏差角度見表2,大致處于實際實驗中腕關(guān)節(jié)偏轉(zhuǎn)角度,存在的部分誤差來源于關(guān)節(jié)弧度角與角度之間的轉(zhuǎn)換以及機(jī)械臂關(guān)節(jié)的輕微晃動,在一定誤差內(nèi)滿足校正要求。
表2 偏差角度
將偏差角度輸入機(jī)械臂系統(tǒng),計算出工齊次位姿矩陣為式(3)
依據(jù)理論分析和實驗驗證,右臂末端工件位姿實現(xiàn)了從下垂?fàn)顟B(tài)到水平狀態(tài),通過相同原理計算左臂上工件位姿,為式(4)
獲得機(jī)械臂狀態(tài)見圖4,雙臂實現(xiàn)了水平位姿調(diào)整,校正后平行狀態(tài)下工件位姿見表3,由于機(jī)械臂本身柔性影響,其位姿參數(shù)選取小數(shù)點后六位數(shù),滿足精度要求。
表3 工件位姿
針對目標(biāo)裝配過程中位姿估算問題,提出一種利用機(jī)器視覺下的測算方法,將位姿問題轉(zhuǎn)化為工件端面參數(shù)與端面外接圓之間的偏差問題,使用相機(jī)采集圖像,對圖像處理后依據(jù)不同樣本下的偏差變化,得出偏差越大時工件隨腕關(guān)節(jié)偏轉(zhuǎn)角度就越大。通過對機(jī)械臂腕關(guān)節(jié)角度進(jìn)行調(diào)整實驗校正,最終獲取目標(biāo)狀態(tài)下工件位姿矩陣。