江 舟
(安徽汽車職業(yè)技術(shù)學(xué)院 機(jī)電工程系,安徽 合肥 230601)
科技的快速發(fā)展使得機(jī)器人技術(shù)逐漸成熟,工業(yè)機(jī)器人的廣泛應(yīng)用在一定程度上改變了勞動密集型產(chǎn)業(yè)的格局。機(jī)器人作業(yè)的過程中只有實(shí)現(xiàn)對目標(biāo)物體的精準(zhǔn)抓取,才能夠?qū)崿F(xiàn)對目標(biāo)物體的移動和運(yùn)輸目標(biāo),充分地發(fā)揮機(jī)器人在工業(yè)生產(chǎn)中的應(yīng)用[1]。伴隨著機(jī)器人抓取技術(shù)研究的不斷深入,機(jī)器人在裝配、包裝、分揀、采摘等領(lǐng)域中得到了廣泛的應(yīng)用。舒奇等[2]采用視覺圖像處理軟件對目標(biāo)物體進(jìn)行特征提取,通過對比參照物來獲取控制夾爪開合的比例,實(shí)現(xiàn)機(jī)器人對目標(biāo)物體的自適應(yīng)抓取。崔旭東等[3]采用雙目立體視覺技術(shù)對散亂堆放狀態(tài)下的工件進(jìn)行測量獲得三維點(diǎn)云數(shù)據(jù),同時和已建立工件CAD模型離散獲得的三個工件進(jìn)行點(diǎn)云匹配,獲得工件位姿,從而實(shí)現(xiàn)機(jī)器人對散亂堆放工件的分揀。饒期捷等[4]融合機(jī)器視覺技術(shù)提出了基于改進(jìn)Canny邊緣檢測與Hough變換的機(jī)器人抓取檢測算法,并通過Baxter機(jī)器人驗(yàn)證了所提出算法對目標(biāo)物體抓取的準(zhǔn)確性與魯棒性。李秀智等[5]對機(jī)器人抓取目標(biāo)物體放置方式不固定、形狀不規(guī)則、準(zhǔn)確計算機(jī)器人抓取姿態(tài)難度大的問題,基于深度學(xué)習(xí)理論提出了一種雙網(wǎng)絡(luò)架構(gòu)的機(jī)器人最優(yōu)抓取姿態(tài)檢測算法,該算法對目標(biāo)物體檢測的精度高達(dá)91%,能夠滿足機(jī)器人抓取任務(wù)要求。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)領(lǐng)域的新方向,使得其更加接近人工智能目標(biāo)。前人的研究主要是應(yīng)用于工業(yè)生產(chǎn)中,水果的特殊形狀使得前人提出的抓取方法在水果抓取上往往不能達(dá)到預(yù)期的效果。基于此,本文構(gòu)建基于深度學(xué)習(xí)的工業(yè)機(jī)器人精準(zhǔn)抓取算法,并應(yīng)用于機(jī)器人水果抓取試驗(yàn)中,驗(yàn)證算法的有效性。
工業(yè)機(jī)器人精準(zhǔn)抓取是工業(yè)機(jī)器人實(shí)施物體搬運(yùn)等作業(yè)的關(guān)鍵所在,由4大模塊組成,分別為相機(jī)模塊、圖像處理模塊、機(jī)器人載體模塊、數(shù)據(jù)處理模塊。相機(jī)模塊的作用是采集機(jī)器人機(jī)械臂周邊的環(huán)境以及所抓取目標(biāo)物體的信息,通常是安裝在工業(yè)機(jī)器人的機(jī)械臂上。圖像處理模塊的作用是對相機(jī)所采集的圖像信息進(jìn)行處理,包括圖像降噪、圖像輪廓提取等。機(jī)器人載體模塊的作用是控制機(jī)器人移動,完成對目標(biāo)物體的抓取。數(shù)據(jù)處理模塊的作用是進(jìn)行圖像數(shù)據(jù)的進(jìn)一步分析,實(shí)現(xiàn)對待抓取目標(biāo)的識別與定位。工業(yè)機(jī)器人精準(zhǔn)抓取系統(tǒng)工作流程如圖1所示。
圖1 工業(yè)機(jī)器人精準(zhǔn)抓取系統(tǒng)工作流程Fig.1 Workflow for the precise robotic grasping system
在工業(yè)機(jī)器人作業(yè)時,相機(jī)對目標(biāo)抓取物以及周邊的環(huán)境進(jìn)行圖像采集,通過圖像處理模塊進(jìn)行簡單預(yù)處理后發(fā)送給后臺的數(shù)據(jù)處理模塊。后臺數(shù)據(jù)處理模塊利用圖像處理算法、深度學(xué)習(xí)算法等進(jìn)行特征提取、相機(jī)標(biāo)定,通過模塊匹配來識別出待抓取物體的位姿信息。在獲得待抓取物體的位姿信息之后,數(shù)據(jù)模塊通過TCP/IP協(xié)議和工業(yè)機(jī)器人之間進(jìn)行通訊,同時將位姿信息發(fā)送給機(jī)器人,引導(dǎo)工業(yè)機(jī)器人實(shí)施精準(zhǔn)抓取操作。
(1)
CNN的卷積操作是選擇卷積核,利用所選擇的卷積核對整個圖像進(jìn)行卷積操作,獲取圖像的特征。在進(jìn)行卷積操作獲取圖像特征以后,對圖像特征進(jìn)行分類。由于卷積操作后數(shù)據(jù)出現(xiàn)冗余,采用池化操作來壓縮數(shù)據(jù)量。設(shè)輸入層為卷積層,第l層為池化層,那么卷積層計算公式為:
(2)
圖2 工業(yè)機(jī)器人目標(biāo)檢測流程Fig.2 Target detection process of the industrial robot
式中:down(·)為下采樣。
CNN的隱含層中神經(jīng)元包含卷積核權(quán)重系數(shù)與偏置項(xiàng),為提高CNN的計算效率,對上層特征進(jìn)行卷積運(yùn)算,由激活函數(shù)來提取特征圖。CNN在進(jìn)行圖像處理的過程中不斷地學(xué)習(xí),通過學(xué)習(xí)到的知識來進(jìn)行圖像特征的區(qū)分。伴隨著CNN層數(shù)的增加,其所能夠檢測特征的復(fù)雜度也在增加,CNN的深度學(xué)習(xí)能力能夠有效地對圖像的特征節(jié)點(diǎn)進(jìn)行高精度、高效率分類。基于CNN的工業(yè)機(jī)器人目標(biāo)檢測流程如圖2所示。
圖4 部分相機(jī)標(biāo)定圖像Fig.4 Partial camera calibration image
圖3 目標(biāo)定位各個坐標(biāo)系關(guān)系Fig.3 Relationship between target locating and each coordinate system
工業(yè)機(jī)器人對目標(biāo)物體的精準(zhǔn)抓取必須獲取目標(biāo)物體的位姿信息,即機(jī)器人在識別到抓取目標(biāo)物體之后還要對目標(biāo)進(jìn)行定位。在目標(biāo)物體定位的過程中,要確定抓取目標(biāo)物體的三維信息,必須建立工業(yè)相機(jī)成像的模型,實(shí)現(xiàn)相機(jī)的坐標(biāo)變換。圖3為目標(biāo)定位各個坐標(biāo)系關(guān)系[7]。
在圖3中,OWXWYWZW為世界三維直角坐標(biāo)系,是用戶定義在真實(shí)三維世界的坐標(biāo)系,其目的是描述物體在真實(shí)世界的位置;OCXCYCZC為相機(jī)三維直角坐標(biāo)系,是用戶定義在相機(jī)上的坐標(biāo)系,其目的是從相機(jī)的角度來對物體的位置進(jìn)行描述;oxy為圖像平面直角坐標(biāo)系,其目的是描述物體從相機(jī)坐標(biāo)系到圖像坐標(biāo)系之間的投影透射關(guān)系;ouv為像素平面直角坐標(biāo)系。OC為相機(jī)光心點(diǎn),o為圖像坐標(biāo)中心點(diǎn),P為待抓取目標(biāo)物體真實(shí)坐標(biāo)點(diǎn),p為P在圖像平面直角坐標(biāo)系中的投影點(diǎn),f為工業(yè)相機(jī)的焦距。世界三維直角坐標(biāo)系與相機(jī)三維直角坐標(biāo)系之間可以通過旋轉(zhuǎn)變換與平移變換得到,設(shè)世界坐標(biāo)系和相機(jī)坐標(biāo)系之間的平移矩陣為T,那么
T=(XOC-OW,YOC-OW,ZOC-OW)
(3)
世界三維直角坐標(biāo)系中的點(diǎn)P(XW,YW,ZW)與相機(jī)三維直角坐標(biāo)系中的點(diǎn)p(XC,YC,ZC)之間關(guān)系為:
(4)
根據(jù)投影原理,相機(jī)與圖像之間坐標(biāo)變換關(guān)系為:
(5)
相機(jī)坐標(biāo)系中的點(diǎn)p(XC,YC,ZC)和圖像坐標(biāo)系中的點(diǎn)p0(x,y)之間的變換關(guān)系為:
(6)
像素坐標(biāo)系中的點(diǎn)p′(u,v)和圖像坐標(biāo)系中的點(diǎn)p0(x,y)之間的變換關(guān)系為:
(7)
式中:dx和dy為像素當(dāng)量;(u0,v0)為圖像坐標(biāo)系的原點(diǎn)。
相機(jī)標(biāo)定就是從世界坐標(biāo)系到相機(jī)坐標(biāo)系,再由相機(jī)坐標(biāo)系到圖像坐標(biāo)系的轉(zhuǎn)換過程,通過相機(jī)標(biāo)定來獲取相機(jī)的內(nèi)參矩陣與外參矩陣[8]。在相機(jī)標(biāo)定的過程中選擇長×寬為20 mm×14 mm的標(biāo)定板,將相機(jī)垂直固定,通過改變標(biāo)定板的位置與角度來獲取相機(jī)標(biāo)定圖像,共獲取標(biāo)定圖像60張,隨機(jī)選擇6張相機(jī)標(biāo)定圖像進(jìn)行展示,結(jié)果如圖4所示。
在獲得相機(jī)標(biāo)定圖像后,借助MATLAB軟件中的相機(jī)標(biāo)定工具箱對工業(yè)相機(jī)進(jìn)行標(biāo)定,獲得相機(jī)的內(nèi)參矩陣和外參矩陣,進(jìn)而獲得待抓取目標(biāo)物體的實(shí)際位姿坐標(biāo)信息。
機(jī)器人在農(nóng)業(yè)中的應(yīng)用能夠有效提高農(nóng)業(yè)生產(chǎn)效率,特別是當(dāng)前水果的大面積種植導(dǎo)致傳統(tǒng)的人工采摘無法適應(yīng)現(xiàn)代農(nóng)業(yè)發(fā)展的需求[9]。工業(yè)機(jī)器人應(yīng)用于水果采摘的關(guān)鍵是要精準(zhǔn)抓取水果,這樣才能進(jìn)一步采摘。為了驗(yàn)證本文采用方法對目標(biāo)抓取物檢測的效果,和yolov3目標(biāo)檢測算法[10]進(jìn)行對比,蘋果檢測效果如圖5所示。
圖5 蘋果檢測效果對比Fig.5 Comparison of apple detection results
由圖5可知,本文方法在蘋果樹葉遮擋、蘋果之間相互遮擋情況下對蘋果的檢測效果明顯優(yōu)于yolov3方法。
工業(yè)機(jī)器人精準(zhǔn)抓取的關(guān)鍵在于獲取待抓取蘋果的實(shí)際位姿信息,由于蘋果近似為球形,因此機(jī)器人只需要獲取蘋果中心點(diǎn)的坐標(biāo)信息即可。在實(shí)際的蘋果抓取試驗(yàn)中,以待抓取蘋果的坐標(biāo)誤差來衡量工業(yè)機(jī)器人抓取的精度。表1為機(jī)器人抓取目標(biāo)蘋果的坐標(biāo)數(shù)據(jù)及誤差。
表1 機(jī)器人抓取目標(biāo)蘋果坐標(biāo)數(shù)據(jù)及誤差Tab.1 Coordinate data and error in robotic grasping of the target apple
由表1可知,x、y、z三個方向上坐標(biāo)誤差最大為0.5 cm,同時在z方向上的誤差普遍小于x方向和y方向的誤差。機(jī)器人抓取目標(biāo)蘋果坐標(biāo)數(shù)據(jù)誤差比較小,即基于深度學(xué)習(xí)的機(jī)器人抓取方法能夠更好地對蘋果進(jìn)行識別和定位,具有優(yōu)良的水果抓取能力。
工業(yè)機(jī)器人精準(zhǔn)抓取是機(jī)器人實(shí)現(xiàn)對目標(biāo)物體移動和運(yùn)輸目標(biāo)的基礎(chǔ),設(shè)計了包含相機(jī)模塊、圖像處理模塊、機(jī)器人載體模塊、數(shù)據(jù)處理模塊的工業(yè)機(jī)器人精準(zhǔn)抓取系統(tǒng)。采用深度學(xué)習(xí)的典型算法卷積神經(jīng)網(wǎng)絡(luò)來進(jìn)行目標(biāo)物體的檢測,通過相機(jī)坐標(biāo)變換與相機(jī)標(biāo)定來實(shí)現(xiàn)目標(biāo)物體定位。將提出的機(jī)器人精準(zhǔn)抓取算法應(yīng)用于蘋果抓取試驗(yàn)中,結(jié)果表明該算法能夠在樹葉遮擋、蘋果之間相互遮擋的情況下對蘋果進(jìn)行檢測,同時對蘋果真實(shí)位置的定位準(zhǔn)確度高,能夠提升工業(yè)機(jī)器人的精準(zhǔn)抓取率,這對工業(yè)機(jī)器人的開發(fā)具有一定的參考價值。