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