饒期捷,黃海松,張松松
(貴州大學(xué)現(xiàn)代制造技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,貴陽 550025)
隨著科學(xué)技術(shù)的飛速發(fā)展,人類迎來了人工智能時(shí)代,機(jī)器人的應(yīng)用場景也伴隨著人工智能技術(shù)的發(fā)展,逐步進(jìn)入醫(yī)療救援、家政服務(wù)、地質(zhì)勘探、工業(yè)制造等領(lǐng)域。中國制造2025概念的提出,更使智能制造體系順應(yīng)新的工業(yè)環(huán)境而建立,但傳統(tǒng)的工業(yè)機(jī)器人已經(jīng)無法滿足智能制造體系。傳統(tǒng)的機(jī)器人抓取只能進(jìn)行簡單重復(fù)的結(jié)構(gòu)化動作,而新型智能協(xié)作式機(jī)器人通過與人工智能技術(shù)的結(jié)合,能滿足柔性靈活抓取需求,提升抓取作業(yè)的穩(wěn)定性和生產(chǎn)效率。因此研究基于新型智能協(xié)作式機(jī)器人的靈活抓取對推進(jìn)中國制造2025的進(jìn)程有著重要的研究意義和巨大的應(yīng)用前景。
機(jī)器視覺是通過光學(xué)的裝置和非接觸的傳感器自動的接受和處理一個(gè)真實(shí)物體的圖像,以獲得所需信息或用于控制機(jī)器人運(yùn)動的裝置[1-4]。作為一門交叉性學(xué)科,機(jī)器視覺技術(shù)涵蓋圖像處理技術(shù)、人工智能技術(shù)、計(jì)算機(jī)科學(xué)和自動化領(lǐng)域[5]。通過模擬人的視覺,使機(jī)器人完成自主檢測和控制等功能,近年來,機(jī)器視覺憑借其高精度、高效率、非接觸式、易于集成等優(yōu)勢,在智能制造方向扮演著重要的角色。本論文通過研究雙臂智能協(xié)作機(jī)器人Baxter的系統(tǒng)組成和工作原理,結(jié)合機(jī)器視覺技術(shù),在ROS(robot operating system)平臺下開發(fā)基于智能協(xié)作機(jī)器人Baxter的目標(biāo)抓取算法。
算法研究的主要任務(wù)是通過改進(jìn)的機(jī)器人抓取檢測算法控制協(xié)作式機(jī)器人Baxter完成對指定工作區(qū)域的目標(biāo)物件檢測,同時(shí)將識別出來的各類別物件抓取放置到置物托盤中,并通過實(shí)驗(yàn)驗(yàn)證抓取任務(wù)的準(zhǔn)確性和魯棒性。重點(diǎn)針對任務(wù)過程中的圖像預(yù)處理和物件識別模塊使用的算法進(jìn)行研究和改進(jìn),從而提升抓取過程總體的運(yùn)行速度、準(zhǔn)確性和魯棒性,以滿足智能制造體系生產(chǎn)的實(shí)際需求。
物件目標(biāo)抓取任務(wù)過程結(jié)構(gòu)如圖1所示,開啟機(jī)器人手部攝像機(jī),控制機(jī)器人手臂移動到工作臺上方。目標(biāo)抓取任務(wù)包括場景圖像感知、目標(biāo)物件位置識別、物件抓取定位、機(jī)械臂抓取及放置四個(gè)模塊。場景圖像感知部分通過機(jī)器人手部相機(jī)獲得工作場景的實(shí)時(shí)彩色圖像后,通過ROS傳輸給計(jì)算機(jī)進(jìn)行圖像預(yù)處理。目標(biāo)物件位置識別模塊通過輸入預(yù)處理后的圖像,基于本文提出的抓取檢測算法,識別出待抓取的目標(biāo)物件以及抓取物件后的放置托盤位置。物件抓取定位模塊獲取物件在像素坐標(biāo)中的坐標(biāo)信息后,通過手眼標(biāo)定的方法,將像素坐標(biāo)轉(zhuǎn)換為物體在機(jī)器人基坐標(biāo)系下的坐標(biāo)。機(jī)械臂抓取及放置模塊基于上文得到的待抓取物件坐標(biāo)信息,通過反向動力學(xué)將坐標(biāo)信息轉(zhuǎn)化為機(jī)器人7個(gè)關(guān)節(jié)的運(yùn)動位置信息,進(jìn)而控制機(jī)器人的手臂及其末端執(zhí)行器完成抓取任務(wù)。
圖1 抓取任務(wù)過程結(jié)構(gòu)圖
本文采用的機(jī)器人是美國 Rethink Robot 公司于2012年首次推出一款雙臂智能協(xié)作機(jī)器人Baxter機(jī)器人完成靈活抓取任務(wù)[6]。該機(jī)器人是世界上首款制造級的人形機(jī)器人,也是目前全球應(yīng)用最廣泛的雙臂機(jī)器人,全球已經(jīng)有27個(gè)國家的實(shí)驗(yàn)室、大學(xué)和研發(fā)中心采用Baxter機(jī)器人作為研究平臺。在我國,由于對相關(guān)領(lǐng)域的研究較晚以及各項(xiàng)條件的限制,目前只有少數(shù)高等院校和科研院所具備使用智能協(xié)作機(jī)器人進(jìn)行相關(guān)研究[7]。Baxter機(jī)器人擁有多種類型的末端執(zhí)行器如圖2所示,在本文中使用平行夾爪作為抓取的末端執(zhí)行器。手爪由Baxter機(jī)器人內(nèi)置的伺服機(jī)控制手爪的張開與閉合,并通過Baxter API完成對手爪的編程操作。
(a) 平行夾爪 (b) 氣動力吸盤
(c) 壁虎式夾爪圖2 Baxter機(jī)器人末端執(zhí)行器
Baxter機(jī)器人的左右機(jī)械臂由7個(gè)獨(dú)立的旋轉(zhuǎn)運(yùn)動關(guān)節(jié)串聯(lián)而成,如圖3所示,其各關(guān)節(jié)轉(zhuǎn)角、轉(zhuǎn)速和力矩參數(shù)如表1所示。
圖3 Baxter機(jī)器人關(guān)節(jié)圖
表1 關(guān)節(jié)轉(zhuǎn)動范圍
本文為了提升目標(biāo)物件位置和放置托盤位置識別的準(zhǔn)確性,采用的機(jī)器人抓取檢測算法是改進(jìn)的Canny算法和Hough變換算法相結(jié)合的方法。并使用二次定位的方式進(jìn)一步提升識別結(jié)果的準(zhǔn)確性[8]。
文獻(xiàn)[9]提出的Canny邊緣檢測算法是從不同視覺對象中提取有用的結(jié)構(gòu)并大大減少待處理的數(shù)據(jù)量的一門方法。Canny邊緣檢測算法可以分為以下5個(gè)階段[10-12]:
第1階段:使用高斯濾波器與圖像進(jìn)行卷積,用以平滑圖像消除噪聲,高斯濾波器核的生成方程式如下:
(1)
1≤i,j≤(2k+1)
(2)
第2階段:使用邊緣檢測的算子計(jì)算圖像中所有像素點(diǎn)水平Gx和垂直Gy方向的一階導(dǎo)數(shù)值,由此確定像素點(diǎn)的梯度G和方向θ。G和θ計(jì)算公式為:
(3)
θ=arctan(Gy/Gx)
(4)
第3階段:應(yīng)用非極大值抑制,消除邊緣檢測造成的雜散響應(yīng),相關(guān)偽代碼如下:
11:function ELIMINATE(Gp,Gp1,Gp2)2:result←03:edge←04:if Gp>Gp1 and Gp>Gp2 then5:edge←Gp6:else7:result←18:end if9:return result,edge10:end function
其中Gp1和Gp2分別表示像素點(diǎn)P1和P2的梯度線性插值。
第4階段:應(yīng)用雙閾值檢測確定真實(shí)和潛在的邊緣。
第5階段:通過抑制孤立的弱邊緣完成最終的邊緣檢測。
由上文算法流程可知,在使用Canny邊緣檢測算法過程中,對平滑濾波方差、高低閾值這3個(gè)參數(shù)的設(shè)定是圖像處理的關(guān)鍵。尤其是在對雙閾值的處理過程中,閾值參數(shù)過高會造成邊緣斷裂和不連續(xù)的顯現(xiàn);閾值參數(shù)設(shè)置過低則會導(dǎo)致出現(xiàn)較多的虛假邊緣。因此,本文針對傳統(tǒng)Canny邊緣檢測算法原理和缺陷進(jìn)行研究分析,結(jié)合抓取圖像的特點(diǎn),對Canny算子進(jìn)行了改進(jìn),針對高低閾值設(shè)定這一方面,使用Otsu算法替代傳統(tǒng)的人工設(shè)置,通過實(shí)現(xiàn)雙閾值的自適應(yīng)獲取改進(jìn)生成的邊緣圖像的清晰度。
最大類間方差法(Otus)是一種可以根據(jù)圖像的灰度直方圖信息自適應(yīng)確定閾值的方法,用于在類間方差最大的情形。該算法的基本思想是存在閾值Ω把采集到的圖像像素劃分為C1(小于Ω)和C2(大于Ω)兩類,設(shè)圖像灰度級為k,兩類像素的均值分別為m1和m2,全局的圖像像素均值為MG。同時(shí)像素被分為C1和C2兩類的概率分別為p1、p2,因此存在下列公式:
P1×M1+P2×M2=MG
(5)
P1+P2=1
(6)
其中,
(7)
(8)
(9)
其次灰度級k的累加均值M和圖像全局均值MG分別為:
(10)
(11)
將公式(10)、公式(11)帶入類間方差表達(dá)式最終得出:
(12)
根據(jù)公式(12)通過遍歷搜索、計(jì)算上述公式最大化的灰度級k,即能實(shí)現(xiàn)自適應(yīng)獲取最優(yōu)的高低閾值,進(jìn)而提升生產(chǎn)的邊緣圖像的清晰度,改進(jìn)前后檢測效果如圖4所示。
(a) 改進(jìn)前 (b) 改進(jìn)后圖4 邊緣檢測對比圖
霍夫變換是一種用于圖像分析,計(jì)算機(jī)視覺和數(shù)字圖像處理的特征提取技術(shù)。該技術(shù)的目的是通過投票程序找到特定類別的形狀中對象的不完美實(shí)例。該投票過程是在參數(shù)空間中執(zhí)行的,在該參數(shù)空間中,由所謂的累加器空間中的局部最大值獲得對象候選,累加器空間由用于計(jì)算霍夫變換的算法明確構(gòu)造。本文在傳統(tǒng)的Hough檢測技術(shù)的基礎(chǔ)上,加以改進(jìn),實(shí)現(xiàn)對目標(biāo)工件的檢測與定位[13-16]。
直線在參數(shù)空間中的方程為:
(13)
圓在參數(shù)空間中的方程為:
r2=(a-x)2+(b-y)2
(14)
并且由于實(shí)際工廠的生產(chǎn)過程檢測現(xiàn)場存在較為復(fù)雜的光線干擾,例如灰塵、強(qiáng)光、昏暗等,導(dǎo)致采集到的圖片較為昏暗,因此本文使用一種新型的自適應(yīng)亮度調(diào)節(jié)的辦法,對采集的圖像進(jìn)行亮度的調(diào)整,通過設(shè)定像素閾值x,實(shí)現(xiàn)當(dāng)圖像過于昏暗或亮度過高時(shí)自動對圖像進(jìn)行調(diào)整,以增強(qiáng)目標(biāo)工件在采集圖像中的辨識度。
像素點(diǎn)亮度計(jì)算公式為:
(15)
其中,F(xiàn)(x,y)表示平均像素值;R(x,y)、G(x,y)、B(x,y)分別表示各個(gè)通道的像素值。
為解決實(shí)驗(yàn)過程中識別圓形目標(biāo)時(shí)易出現(xiàn)的誤判現(xiàn)象,本文依據(jù)圓形物體所獨(dú)有的圓心到圓邊任意點(diǎn)距離相等的幾何特性,增加在圓形邊緣上選取的散點(diǎn)樣本的數(shù)量并將散點(diǎn)樣本的數(shù)量設(shè)置為參數(shù)空間中的閾值,用以解決對非圓形目標(biāo)的誤判。改進(jìn)前后圖形對比如圖5所示。
(a) 改進(jìn)前 (b) 改進(jìn)后圖5 目標(biāo)檢測對比圖
Baxter機(jī)器人的雙機(jī)械臂末端設(shè)置有紅外感測裝置和攝像頭,因此本文設(shè)計(jì)基于手眼系統(tǒng)的靈活抓取算法,并通過內(nèi)嵌的攝像頭采集工作臺上實(shí)時(shí)畫面,獲取目標(biāo)物體中心點(diǎn)像素坐標(biāo),并通過一系列坐標(biāo)計(jì)算變換,引導(dǎo)并控制機(jī)器人的手臂運(yùn)動到指定位置,進(jìn)而對工作臺上的工件進(jìn)行靈活抓取。
Baxter機(jī)器人基坐標(biāo)系、手臂末端坐標(biāo)系及末端執(zhí)行器坐標(biāo)系之間位置關(guān)系如圖6所示。
圖6 坐標(biāo)系位置關(guān)系圖
通過分析Baxter機(jī)器人手部紅外、攝像頭采集到的Baxter雙臂的末端執(zhí)行器到置物托盤和工作臺的高度與角度,建立待檢測目標(biāo)相對相機(jī)坐標(biāo)系的轉(zhuǎn)換矩陣、相機(jī)坐標(biāo)系相對機(jī)械臂末端坐標(biāo)系的轉(zhuǎn)換矩陣以及機(jī)械臂末端坐標(biāo)系相對機(jī)器人基坐標(biāo)的轉(zhuǎn)換矩陣。
為了使用Baxter機(jī)器人的手部攝像機(jī)找到目標(biāo)的位置,必須知道從相機(jī)到物體的距離以及該距離處的像素寬度,因此本文采用RAC標(biāo)定法[17],并執(zhí)行以下實(shí)驗(yàn)以查找相機(jī)的校準(zhǔn)因子。如圖7所示單獨(dú)的圖像只能得出圖像點(diǎn)的角度。
圖7 坐標(biāo)系投影示意圖
因此本文在實(shí)驗(yàn)過程中準(zhǔn)備了一個(gè)如圖8所示的靶,該靶由24個(gè)分布于6×4網(wǎng)格,其中間間隔為4 cm的2 cm正方形組成。將其放置在距離相機(jī)不同距離的位置,并對圖像進(jìn)行分析以找到每個(gè)正方形的中心(以像素為單位)。將每個(gè)圖像都轉(zhuǎn)換為灰度圖像。用于將灰度圖像轉(zhuǎn)換為黑白圖像以及觸摸圖像的所有黑色區(qū)域的強(qiáng)度閾值。面積閾值用于去除圖像中心的黑色小區(qū)域,從而保留目標(biāo)正方形。在找到每個(gè)目標(biāo)正方形的中心并用圓盤標(biāo)記中心的情況下,將正方形轉(zhuǎn)換為灰色,產(chǎn)生結(jié)果如圖8所示,通過對結(jié)果的分析得出,相機(jī)在1m處的校準(zhǔn)系數(shù)為每像素2.5 mm。
圖8 相機(jī)標(biāo)定圖
在分揀系統(tǒng)的設(shè)計(jì)過程中,本文設(shè)定機(jī)械臂末端執(zhí)行器位姿于工作臺桌面垂直向上方位并保持分揀過程中機(jī)械臂手臂高度固定的方法,將原本采集圖像像素坐標(biāo)到Baxter機(jī)器人的三維工作空間坐標(biāo)系的轉(zhuǎn)換簡化為二維平面的工作空間坐標(biāo)系轉(zhuǎn)換。通過Baxter機(jī)器人手部的紅外傳感器可測出末端到工作臺桌面的距離,結(jié)合攝像機(jī)標(biāo)定系數(shù),利用公式(16)可以實(shí)現(xiàn)圖像坐標(biāo)系與Baxter機(jī)器人末端執(zhí)行器坐標(biāo)系之間的轉(zhuǎn)換[18]。
α=(β-γ)×Cc×d+Pa+O
(16)
其中,α表示機(jī)器人基坐標(biāo)系下的坐標(biāo);β表示相機(jī)坐標(biāo)系下的像素坐標(biāo);γ表示相機(jī)圖像中心點(diǎn)像素的坐標(biāo);Pa表示Baxter機(jī)械臂的位姿;Os表示Baxter機(jī)械臂末端執(zhí)行器與手部攝像頭在x,y坐標(biāo)系下的偏移量;Cc表示相機(jī)校準(zhǔn)系數(shù);d表示攝像頭到工作臺的距離。
機(jī)器人靈活抓取的工作流程,分為以下幾個(gè)步驟。
步驟1:啟動Baxter機(jī)器人,控制Baxter機(jī)器人的機(jī)械臂移動到工作區(qū)域正上方如圖9所示,并保持手臂垂直向下,同時(shí)開啟機(jī)械臂末端執(zhí)行器的攝像頭。
圖9 Baxter機(jī)器人工作狀態(tài)圖
步驟2:使用末端執(zhí)行器上的攝像機(jī)采集工作臺上的實(shí)時(shí)場景圖像,并通過機(jī)器人操作系統(tǒng)將采集到的圖像信息實(shí)時(shí)傳遞回計(jì)算機(jī),其中場景采集圖像和以及ROS系統(tǒng)中Baxter機(jī)器人采集圖像和計(jì)算機(jī)進(jìn)行實(shí)時(shí)傳遞過程中,用于發(fā)布和訂閱圖像信息的robot、Baxter_cams、cameras 3個(gè)節(jié)點(diǎn)之間的關(guān)系如圖10b所示。
(a) 實(shí)時(shí)圖像(b) ROS節(jié)點(diǎn)圖圖10 采集圖像及ROS節(jié)點(diǎn)圖
步驟3:通過Hough算法識別出工作臺上的目標(biāo)物件,并計(jì)算出物件的質(zhì)心坐標(biāo),同時(shí)對質(zhì)心坐標(biāo)處于托盤區(qū)域的目標(biāo)物件進(jìn)行剔除防止重復(fù)夾取的狀況出現(xiàn)。
步驟4:通過Canny算法對預(yù)處理后的圖像進(jìn)行邊緣檢測,識別出相應(yīng)的物件放置區(qū)域中心,并對檢測出的物件放置托盤進(jìn)行劃分,如圖11所示。
圖11 中心識別及托盤區(qū)域劃分圖
步驟5:Baxter機(jī)器人執(zhí)行抓取任務(wù),并自動調(diào)整夾持器角度,避免抓取過程對目標(biāo)物件周圍臨近的物件造成碰撞,影響被碰撞物件的抓取。
實(shí)驗(yàn)開始,將多種物品隨機(jī)擺放在工作臺的隨機(jī)位置上,按照上述抓取任務(wù)流程進(jìn)行10次反復(fù)試驗(yàn),執(zhí)行抓取的過程中,多目標(biāo)任務(wù)的抓取原則為攝像頭采集圖像最右上端的物件,并重復(fù)抓取動作直至所有被檢測物件都放置到托盤區(qū)域。如果出現(xiàn)抓取失敗的情況,程序自動結(jié)束并提示抓取失敗。10次抓取實(shí)驗(yàn)的成功率均為100%,但是10次實(shí)驗(yàn)中出現(xiàn)了部分目標(biāo)物件未識別的情況目標(biāo)物件的總體識別率在90%~100%之間,該實(shí)驗(yàn)結(jié)果證明了本文提出的基于機(jī)器視覺的Baxter機(jī)器人靈活抓取算法具有較好的魯棒性和準(zhǔn)確性。實(shí)驗(yàn)過程如圖12所示。
圖12 實(shí)驗(yàn)過程圖
本文以雙臂智能協(xié)作式機(jī)器人Baxter為研究對象,基于機(jī)器視覺技術(shù),在ROS平臺下,提出并實(shí)現(xiàn)了一種融合Canny邊緣檢測技術(shù)和Hough變換算法的機(jī)器人抓取檢測方法。并在Baxter機(jī)器人上基于該算法進(jìn)行了靈活抓取的實(shí)驗(yàn)驗(yàn)證,展示了基于Baxter機(jī)器人的完整靈活抓取流程。實(shí)驗(yàn)結(jié)果表明該方法具有較強(qiáng)的魯棒性和準(zhǔn)確性。該實(shí)驗(yàn)對國內(nèi)智能協(xié)作式機(jī)器人的研究以及工業(yè)生產(chǎn)過程中的靈活抓取應(yīng)用研究具有案例參考價(jià)值,并能夠作為實(shí)現(xiàn)自主抓取應(yīng)用的主要解決方案進(jìn)行進(jìn)一步研究。