柳 寧, 張嘉歡, 李德平, 王 高+
(1.暨南大學(xué) 信息科學(xué)技術(shù)學(xué)院,廣東 廣州 510632;2.暨南大學(xué) 智能科學(xué)與工程學(xué)院,廣東 珠海 519070)
在家電等產(chǎn)品生產(chǎn)線上,常要設(shè)置產(chǎn)品外觀、零件漏裝與錯(cuò)裝、配線錯(cuò)裝等檢測工位。家電產(chǎn)線上的產(chǎn)品流轉(zhuǎn)速度約0.06 m/s~0.17 m/s,順暢、合拍的產(chǎn)線對提升生產(chǎn)效率、保證產(chǎn)品質(zhì)量至關(guān)重要。產(chǎn)線檢測同樣如此,停線檢測對產(chǎn)品流轉(zhuǎn)效率和連續(xù)性影響較大,基于視覺的產(chǎn)線檢測易實(shí)現(xiàn)不停線檢測,采用機(jī)器人視覺伺服技術(shù)可滿足常規(guī)0.06 m/s~0.17 m/s的流轉(zhuǎn)要求,采用機(jī)器人手眼視覺(眼在手上(Eye-In-Hand,EIH))方式跟蹤產(chǎn)線上產(chǎn)品待檢部位,可以在獲得清晰圖像的前提下檢測、分析相應(yīng)部位的缺陷特征。受限于圖像獲取和處理速度,傳統(tǒng)視覺機(jī)器人常采用“看后走”的開環(huán)模式,該模式適用于靜態(tài)目標(biāo)定位[1-2]。在運(yùn)動目標(biāo)跟蹤場景中,基于產(chǎn)線連續(xù)生產(chǎn)的目標(biāo)跟蹤需求,需要在固定控制周期內(nèi)更新位姿,以完成視覺引導(dǎo)跟隨。然而,這種“看后走”的開環(huán)控制方法易受標(biāo)定、機(jī)器人運(yùn)動學(xué)誤差的影響,因此衍生出機(jī)器人視覺伺服技術(shù)。
在控制算法方面,視覺伺服用視覺信息進(jìn)行機(jī)器人末端閉環(huán)控制,分為基于位置的視覺伺服(Position-Based Visual Servoing,PBVS)和基于圖像的視覺伺服(Image-Based Visual Servoing,IBVS)。PBVS控制律設(shè)計(jì)簡單,理論上全局收斂,但其成功與否很大程度取決于位姿估計(jì)是否準(zhǔn)確;IBVS直接用圖像信息作為誤差信號,用圖像雅可比矩陣將圖像信息與機(jī)器人運(yùn)動進(jìn)行映射[3],對標(biāo)定誤差魯棒性強(qiáng),伺服精度高,但其理論上只是局部收斂[4]。針對PBVS和IBVS的缺點(diǎn),MALIS等[5]結(jié)合2-D和3-D視覺伺服優(yōu)點(diǎn)提出2-1/2-D混合視覺伺服框架,姿態(tài)控制基于三維信息,平移控制基于擴(kuò)展圖像坐標(biāo),但也存在單應(yīng)性矩陣求解實(shí)時(shí)性不強(qiáng)和容易受圖像噪聲影響等問題[1]。不少學(xué)者致力于研究PBVS和IBVS切換的控制策略,以綜合其優(yōu)點(diǎn)[6]。
在相機(jī)配置方面,眼在手上的單目視覺系統(tǒng)結(jié)構(gòu)最簡單,成為主要的研究方向[7]。對于復(fù)雜的任務(wù)場景,單目視覺難以獲得良好的視覺反饋。MARCHAND和HAGER第一次提出使用雙相機(jī)協(xié)同配置[8],用手上相機(jī)與全局相機(jī)分別控制兩個(gè)任務(wù),以在3D環(huán)境中規(guī)避障礙物;ASSA等[9]提出一種基于融合結(jié)構(gòu)的多相機(jī)位姿估計(jì)算法,提高了視覺測量的魯棒性;GARCIA-ARACIL等[8]為雙相機(jī)視覺誤差信號賦以權(quán)重,避免了IBVS存在任務(wù)奇點(diǎn)、圖像特征消失和局部最小等典型問題;VIJAYAN等[10]首先基于全局相機(jī)提供的視覺信息使機(jī)器人手上相機(jī)對準(zhǔn)和靠近目標(biāo),最后切換到IBVS,解決了切換時(shí)的速度突變問題,然而該方法只適用于靜態(tài)目標(biāo)。
在圖像特征的選擇和提取方面,許多文獻(xiàn)中伺服的目標(biāo)帶有設(shè)計(jì)的標(biāo)記或圖案,極大地簡化了圖像處理的流程。然而,在實(shí)際的家電生產(chǎn)線上,目標(biāo)不會帶有專門設(shè)計(jì)的視覺特征,因此這些研究成果不能直接用于產(chǎn)線。點(diǎn)特征是視覺伺服中最常用的圖像特征。尺度不變性特征匹配(Scale Invariant Feture Transform,SIFT)算法[11]、加速魯棒特征(Speeded Up Robust Features,SURF)算法[12]、定向FAST關(guān)鍵點(diǎn)檢測和Brief描述符(Oriented Fast and Rotated Brief,ORB)算法[13]等能夠自動選擇和匹配圖像點(diǎn)特征,在PBVS和IBVS均有應(yīng)用[14-16],然而它們只能針對紋理目標(biāo),且實(shí)時(shí)性不強(qiáng)。針對無紋理目標(biāo)的識別與檢測,HINTERSTOISSER等[17]提出基于梯度的LINE-2D模板匹配算法,其實(shí)時(shí)性與魯棒性強(qiáng),能夠自動提取和匹配目標(biāo)圖像特征,具有良好的泛用性。
綜上所述,視覺伺服在家電產(chǎn)線視覺檢測應(yīng)用場景中,存在IBVS不能保證全局收斂、單目視覺反饋不佳和伺服目標(biāo)通用性不強(qiáng)的問題,因此本文提出一種基于切換控制的雙相機(jī)視覺伺服方法。首先,使用全局相機(jī)對目標(biāo)進(jìn)行位姿估計(jì),引導(dǎo)機(jī)器人末端運(yùn)動到指定位姿,然后切換到基于雙相機(jī)的視覺伺服系統(tǒng),手上相機(jī)負(fù)責(zé)平移解耦控制,全局相機(jī)負(fù)責(zé)旋轉(zhuǎn)控制與速度估計(jì),克服了IBVS局部收斂的缺陷。最后通過在實(shí)體機(jī)器人上進(jìn)行傳送帶場景無標(biāo)記目標(biāo)的定位與跟蹤實(shí)驗(yàn),并與基于位姿估計(jì)的開環(huán)控制方法、基于單應(yīng)性矩陣的位置視覺伺服方法和混合視覺伺服方法進(jìn)行對比,驗(yàn)證了所提方法在跟蹤精度、穩(wěn)定性與實(shí)時(shí)性等方面的優(yōu)勢。該方法已應(yīng)用于空調(diào)產(chǎn)線對空調(diào)外機(jī)進(jìn)行標(biāo)簽檢測和螺母漏裝檢測。
視覺伺服控制的目標(biāo)是使視覺誤差e(t)最小化,
e(t)=s(m(t),a)-s*。
(1)
式中:m(t)為圖像測量值的集合;a為系統(tǒng)相關(guān)的參數(shù);s為當(dāng)前視覺特征值;s*為期望視覺特征值。
考慮s*是恒定的,s的變化僅由相機(jī)運(yùn)動引起,因此視覺誤差e的變化率與相機(jī)運(yùn)動的關(guān)系為
(2)
式中Le為交互矩陣或圖像雅可比矩陣。令視覺誤差e呈指數(shù)收斂,則控制律可設(shè)計(jì)為
(3)
在目標(biāo)跟蹤任務(wù)中,考慮s*是恒定的,視覺誤差e的變化率
(4)
(5)
若能在笛卡爾空間精確估計(jì)目標(biāo)的運(yùn)動速度,將其作為前饋補(bǔ)償量輸入視覺伺服控制器,則可認(rèn)為由目標(biāo)運(yùn)動引起的視覺誤差變化率為0,此時(shí)控制律寫作
(6)
式中V0為笛卡爾空間中目標(biāo)的運(yùn)動速度,如果對其估計(jì)得不準(zhǔn)確,則會存在跟蹤誤差。設(shè)置高比例系數(shù)λ會在速度估計(jì)存在誤差時(shí)降低穩(wěn)態(tài)跟蹤誤差,然而λ設(shè)置過高易造成系統(tǒng)不穩(wěn)定[18]。因此,在跟蹤任務(wù)中較為準(zhǔn)確地估計(jì)目標(biāo)的運(yùn)動速度成為降低跟蹤誤差的關(guān)鍵。
IBVS中最常用的圖像特征為點(diǎn)特征。笛卡爾空間特征點(diǎn)的3D空間位置在相機(jī)坐標(biāo)系下表示為(X,Y,Z),其歸一化圖像坐標(biāo)表示為(x,y,1)。點(diǎn)特征的交互矩陣[7]
(7)
式中:Z為點(diǎn)特征的圖像深度,任何使用點(diǎn)特征的交互矩陣的控制方案都需要估計(jì)Z的值;計(jì)算x和y需要標(biāo)定相機(jī)內(nèi)參。
對于復(fù)雜的工作場景,單目視覺難以獲得良好的視覺反饋,因此本文采用如圖1a所示的全局相機(jī)與手上相機(jī)協(xié)同配置的雙相機(jī)視覺系統(tǒng)。全局相機(jī)視野大,保證了系統(tǒng)的收斂區(qū)間和工作范圍,克服了IBVS局部收斂的弊端,而且能夠應(yīng)對目標(biāo)相對于手上相機(jī)初始不可見的極端情況。眼在手上相機(jī)靈活、探索性強(qiáng)并能移動獲取近距離視圖,可以利用相機(jī)精度提高視覺伺服精度。
視覺伺服系統(tǒng)的控制策略如圖1b所示。機(jī)器人運(yùn)動控制策略分為兩個(gè)階段:第1階段,系統(tǒng)使用全局相機(jī)基于LINE-2D算法進(jìn)行目標(biāo)檢測并完成位姿估計(jì),引導(dǎo)機(jī)器人末端運(yùn)動到指定位姿,即目標(biāo)附近。當(dāng)末端位姿偏差小于設(shè)定值時(shí),切換為第2階段雙相機(jī)IBVS,切換的控制策略克服了IBVS不能保證全局收斂的弊端。在第2階段,手上相機(jī)基于LINE-2D算法進(jìn)行目標(biāo)檢測,得到目標(biāo)圖像中心坐標(biāo),并根據(jù)成功匹配的模板尺度完成深度估計(jì),進(jìn)行平移解耦控制;全局相機(jī)對目標(biāo)的轉(zhuǎn)角姿態(tài)變化敏感,負(fù)責(zé)旋轉(zhuǎn)控制。另外,使用全局相機(jī)并結(jié)合卡爾曼濾波實(shí)時(shí)估計(jì)目標(biāo)的運(yùn)動速度,作為視覺伺服控制器的前饋補(bǔ)償。對于實(shí)際應(yīng)用中空調(diào)產(chǎn)線對應(yīng)的滾筒式輸送線場景,滾筒與目標(biāo)之間存在相對滑動,通過滾筒線速度估計(jì)目標(biāo)速度存在較大誤差。本文方法不依賴于傳送帶固裝壓接編碼器獲取目標(biāo)的運(yùn)動速度,能夠很好地應(yīng)對不同傳送帶場景下的目標(biāo)跟蹤任務(wù)。
2.2.1 全局相機(jī)目標(biāo)檢測與位姿估計(jì)
全局相機(jī)采用基于梯度的LINE-2D算法進(jìn)行目標(biāo)檢測。對給定的目標(biāo)原始模板進(jìn)行恰當(dāng)?shù)匦D(zhuǎn)構(gòu)成目標(biāo)模板集,然后在待測圖像中進(jìn)行匹配以檢測不同角度的目標(biāo)。算法的輸出包括目標(biāo)的圖像中心坐標(biāo)和轉(zhuǎn)角等。該方法在尺寸為640×480圖像上的檢測速率大于50 fps。
對于傳送帶場景,可將目標(biāo)位姿估計(jì)定義為傳送帶平面位姿估計(jì)問題。根據(jù)目標(biāo)檢測得到的目標(biāo)圖像中心坐標(biāo)和轉(zhuǎn)角確定目標(biāo)相對于工作平面的位姿:
(8)
經(jīng)工作平面坐標(biāo)系到全局相機(jī)坐標(biāo)系變換,得到目標(biāo)在全局相機(jī)坐標(biāo)系下的位姿,再經(jīng)眼在手外手眼關(guān)系變換可求解目標(biāo)相對于機(jī)器人基座的位姿:
(9)
2.2.2 示教與運(yùn)動控制
(10)
(11)
則機(jī)器人末端的運(yùn)動控制律設(shè)計(jì)為
(12)
2.3.1 手上相機(jī)目標(biāo)檢測
從第1階段示教的期望圖像中提取準(zhǔn)備檢測的目標(biāo)作為原始模板進(jìn)行尺度縮放,構(gòu)建模板集。采用LINE-2D算法在待測圖像中進(jìn)行匹配完成目標(biāo)檢測,得到目標(biāo)圖像中心坐標(biāo)和成功匹配的模板尺度,原始模板圖像與目標(biāo)檢測結(jié)果如圖2所示。作為視覺伺服的圖像點(diǎn)特征,目標(biāo)圖像中心坐標(biāo)比傳統(tǒng)的點(diǎn)特征魯棒性更強(qiáng),能容許圖像噪聲,成功匹配的模板尺度信息用于進(jìn)行深度估計(jì)。
采用如圖3所示的窗口匹配方法進(jìn)一步提高圖像處理的速度,以減小視覺伺服周期。首幀進(jìn)行全圖匹配,當(dāng)?shù)?次檢測到目標(biāo)后,記錄目標(biāo)圖像中心坐標(biāo);基于此預(yù)測下一幀目標(biāo)位置,然后更新當(dāng)前匹配窗口,此后進(jìn)行鄰域窗口匹配;若窗口匹配未檢測到目標(biāo),再進(jìn)行全圖匹配。目標(biāo)檢測得到的視覺特征用于視覺伺服控制?;谠摲椒?當(dāng)圖像尺寸為960×540時(shí),視覺伺服周期可控制在33 ms以內(nèi),既保證了檢測圖像的高分辨率,又很在大程度上解決了視覺系統(tǒng)的延時(shí)問題。
2.3.2 深度估計(jì)
LINE-2D模板匹配算法支持對原始模板進(jìn)行不同尺度的縮放來構(gòu)建模板集,以檢測不同尺度空間的目標(biāo)。本文提出一種根據(jù)成功匹配的模板尺度估計(jì)圖像深度的方法,深度估計(jì)為
ScZc=SdZd。
(13)
式中:Sc為在當(dāng)前圖像中成功匹配的模板尺度;Zc為待估計(jì)的圖像深度;Sd為在期望圖像中成功匹配的模板尺度,為定值1;Zd為期望圖像中目標(biāo)圖像中心坐標(biāo)的深度,可根據(jù)先驗(yàn)知識提前獲取。
尺度縮放范圍過大會增加模板集的圖像數(shù)目,影響目標(biāo)檢測的匹配速度。本文方法采用切換的控制策略,第1階段基于位姿估計(jì)的運(yùn)動控制可確保切換時(shí)手上相機(jī)已到達(dá)期望位姿附近。因此,將原始模板尺度縮放的范圍設(shè)置為[0.9,1.1]便可保證切換時(shí)能夠成功檢測目標(biāo),步長設(shè)為0.025便可同時(shí)兼顧深度估計(jì)精度和圖像處理速度。根據(jù)深度估計(jì)結(jié)果,對手上相機(jī)沿Z軸方向進(jìn)行視覺伺服運(yùn)動控制。
2.3.3 控制律設(shè)計(jì)
本文采用平移與旋轉(zhuǎn)解耦的控制律設(shè)計(jì)方式,忽略圖像雅可比矩陣的非對角元素,使控制律簡單且易實(shí)現(xiàn),相機(jī)各個(gè)自由度的控制律可以分開設(shè)計(jì)。
目標(biāo)圖像中心坐標(biāo)對手上相機(jī)沿X和Y方向的運(yùn)動最敏感,成功匹配的模板尺度對相機(jī)沿Z方向的運(yùn)動最敏感,因此根據(jù)手上相機(jī)目標(biāo)檢測和深度估計(jì)的結(jié)果進(jìn)行平移解耦控制。采用1.3節(jié)點(diǎn)特征的交互矩陣形式,忽略非對角元素的影響,相機(jī)平移控制律設(shè)計(jì)為:
式中:(xc,yc)為當(dāng)前幀目標(biāo)歸一化圖像的中心坐標(biāo);(xd,yd)為期望圖像中目標(biāo)歸一化圖像的中心坐標(biāo);Zd和Zc分別為期望圖像和當(dāng)前圖像中目標(biāo)圖像中心的深度;Sd和Sc分別為期望圖像和當(dāng)前圖像中成功匹配的模板尺度。
全局相機(jī)對目標(biāo)的轉(zhuǎn)角姿態(tài)變化敏感,經(jīng)文中的位姿估計(jì)算法和坐標(biāo)系變換可求解手上相機(jī)相對于目標(biāo)的期望姿態(tài),并與當(dāng)前姿態(tài)比較得到姿態(tài)誤差,轉(zhuǎn)換為轉(zhuǎn)軸u和轉(zhuǎn)角θ表示的姿態(tài)形式θu,則相機(jī)的旋轉(zhuǎn)控制律設(shè)計(jì)為
ω=λθu,
(15)
式中:向量ω為相機(jī)旋轉(zhuǎn)角速度;θu為姿態(tài)誤差。
2.3.4 速度估計(jì)與前饋補(bǔ)償
在跟蹤任務(wù)中,需要估計(jì)目標(biāo),的運(yùn)動速度,速度估計(jì)越準(zhǔn),穩(wěn)態(tài)跟蹤誤差越小。使用全局相機(jī)并結(jié)合卡爾曼濾波實(shí)時(shí)估計(jì)目標(biāo)的運(yùn)動速度,將采用全局相機(jī)進(jìn)行目標(biāo)檢測得到的目標(biāo)圖像中心坐標(biāo)(xeth,yeth)作為卡爾曼濾波的測量值,將其變化速度(vx,vy)作為卡爾曼濾波的內(nèi)部狀態(tài)進(jìn)行估計(jì),則目標(biāo)在全局相機(jī)坐標(biāo)系下的平移運(yùn)動速度
(16)
式中:Zeth為全局相機(jī)視野中目標(biāo)圖像中心的深度,近似為定值,可在工作平面外參標(biāo)定中獲取;K為全局相機(jī)內(nèi)參矩陣,由相機(jī)標(biāo)定得到。
經(jīng)過如式(17)所示的坐標(biāo)系變換,得到目標(biāo)相對于當(dāng)前手上相機(jī)坐標(biāo)系的運(yùn)動速度V0,將其作為伺服控制器的前饋補(bǔ)償。
(17)
對于目標(biāo)跟蹤任務(wù),相機(jī)的平移控制律可設(shè)計(jì)為:
式中:V0x,V0y,V0z分別為目標(biāo)運(yùn)動速度V0在手上相機(jī)坐標(biāo)系X,Y,Z3個(gè)方向的速度分量。
搭建如圖4所示的視覺伺服實(shí)驗(yàn)平臺,進(jìn)行目標(biāo)定位與跟蹤實(shí)驗(yàn),驗(yàn)證所提方法的可行性。實(shí)驗(yàn)平臺包括1臺6DOF工業(yè)機(jī)器人、2臺映美精工業(yè)相機(jī)、1組傳送帶裝置、1臺待檢測的空調(diào)目標(biāo)和1臺工業(yè)計(jì)算機(jī)。其中,工業(yè)機(jī)器人型號為GR606-900B,全局相機(jī)型號為DFK 33GX264e,手上相機(jī)型號DFK 39GX265-Z20,工業(yè)計(jì)算機(jī)CPU型號為i7-6700,內(nèi)存16 G。
3.1.1 目標(biāo)定位于全局相機(jī)視野不同位置的實(shí)驗(yàn)
僅采用全局相機(jī)進(jìn)行目標(biāo)位姿估計(jì)的方法也能完成開環(huán)的定位和跟蹤任務(wù)[19]。實(shí)驗(yàn)中全局相機(jī)的視場為1 600 mm×1 200 mm,相機(jī)分辨率為1 920×1 440像素,將圖像尺寸縮放至640×480再進(jìn)行處理,以提高目標(biāo)檢測的速度。令目標(biāo)靜止于全局相機(jī)視野的不同位置,采用本文方法和基于位姿估計(jì)的開環(huán)控制方法[19]分別進(jìn)行定位實(shí)驗(yàn)。表1所示為兩種方法定位的平均位置誤差和姿態(tài)誤差。
表1 目標(biāo)位于全局相機(jī)視野不同位置時(shí)的定位誤差
由表1可知,目標(biāo)位于全局相機(jī)視野的不同位置時(shí),基于位姿估計(jì)的開環(huán)控制方法的定位精度差別較大。當(dāng)目標(biāo)位于視野邊緣時(shí)(表1最后一行),位置偏差急劇增大,這是由于其定位精度容易受相機(jī)標(biāo)定和手眼標(biāo)定誤差的影響,難以兼顧整個(gè)相機(jī)視野范圍。本文方法引入第2階段手上相機(jī)IBVS,能夠容許標(biāo)定誤差,無論目標(biāo)位于全局相機(jī)視野中央還是邊緣,定位的位置偏差和姿態(tài)偏差均大幅減小,定位精度大幅提高。兩種方法的位置和姿態(tài)標(biāo)準(zhǔn)差相當(dāng),位姿抖動較小。
3.1.2 目標(biāo)不同運(yùn)動速度下的跟蹤實(shí)驗(yàn)
依次增大傳送帶上目標(biāo)的運(yùn)動速度,分別統(tǒng)計(jì)本文方法和基于位姿估計(jì)的開環(huán)控制方法[19]跟蹤的穩(wěn)態(tài)位置偏差和姿態(tài)誤差,如圖6所示。
由圖6a可知,基于位姿估計(jì)的開環(huán)控制方法跟蹤的穩(wěn)態(tài)位置偏差較大,隨著目標(biāo)運(yùn)動速度的加快,其跟蹤位置偏差急劇增大,滯后非常嚴(yán)重。當(dāng)目標(biāo)運(yùn)動速度大于120 mm/s時(shí),棋盤格已經(jīng)不能完整地保持在手上相機(jī)的視野內(nèi),因此不再統(tǒng)計(jì)其跟蹤誤差。相比之下,本文方法的跟蹤精度大幅提升,隨著目標(biāo)運(yùn)動速度的增大,跟蹤位置偏差始終保持在較低水平,很大程度上克服了目標(biāo)跟蹤任務(wù)中的跟隨滯后問題。當(dāng)目標(biāo)運(yùn)動速度達(dá)到傳送帶空調(diào)產(chǎn)線的最高速度170 mm/s時(shí),跟蹤位置偏差維持在18 mm以內(nèi),滿足工業(yè)傳送帶場景機(jī)器人隨線進(jìn)行視覺檢測的需求。由圖6b可知,本文方法姿態(tài)偏差相對更小。另外,兩種方法跟蹤的位置標(biāo)準(zhǔn)差相差不大,姿態(tài)標(biāo)準(zhǔn)差均維持在較低值,姿態(tài)抖動程度較小。
為了使視覺系統(tǒng)自動提取和匹配目標(biāo)圖像特征,應(yīng)選擇基于單應(yīng)性矩陣的視覺伺服方法,并將其與基于單應(yīng)性矩陣的視覺伺服方法進(jìn)行對比。常用的局部特征描述算法SIFT,SURF,ORB,AKAZE(accelerated-KAZE)[20]能夠完成特征點(diǎn)的自動提取和匹配,根據(jù)匹配點(diǎn)對并利用隨機(jī)抽樣一致性(RANdom SAmple Consensus,RANSAC)算法求解射影單應(yīng)性矩陣,進(jìn)而根據(jù)相機(jī)內(nèi)參求解歐幾里得單應(yīng)性矩陣[21]。對單應(yīng)性矩陣進(jìn)行分解,獲得手上相機(jī)的平移矩陣和旋轉(zhuǎn)矩陣,可將其應(yīng)用于設(shè)計(jì)視覺伺服控制律[7]。在文中實(shí)驗(yàn)場景下對SIFT,SURF,AKAZE,ORB算法進(jìn)行初步實(shí)驗(yàn)與比較,結(jié)果表明SURF和ORB算法求解的單應(yīng)性矩陣誤差很大,分解得到的平移和旋轉(zhuǎn)矩陣無法使相機(jī)收斂到期望位姿,最終選擇時(shí)間與精度綜合性能最好的AKAZE算法作為單應(yīng)性矩陣的求解算法?;诖?將文獻(xiàn)[7]基于單應(yīng)性矩陣的傳統(tǒng)位置伺服方法和文獻(xiàn)[5]混合視覺伺服方法應(yīng)用于同樣的場景,從而進(jìn)行對比實(shí)驗(yàn)。
3.2.1 靜止目標(biāo)定位實(shí)驗(yàn)
保持目標(biāo)靜止,讓機(jī)器人末端從期望位姿(398.32 mm,-58.44 mm,543.31 mm,179.30°,0.03°,1.35°)運(yùn)動到位姿(351.17 mm,-218.25 mm,571.90 mm,179.30°,0.06°,17.82°),保證目標(biāo)在手上相機(jī)視野中初始可見。分別采用本文方法、基于單應(yīng)性矩陣的位置視覺伺服方法[7]和混合視覺伺服方法[5]進(jìn)行定位實(shí)驗(yàn)。
表2所示為3種方法的視覺伺服周期與定位誤差對比??梢娙咚欧諗亢蟮膱D像誤差和位置偏差相當(dāng),本文方法的平均定位精度略小于基于單應(yīng)性矩陣的位置視覺伺服方法,這是因?yàn)長INE-2D算法使用的梯度擴(kuò)散機(jī)制會降低目標(biāo)檢測精度。若圖像金字塔最底層不進(jìn)行梯度擴(kuò)散并額外使用亞像素匹配,則可有效提高精度,但會影響LINE-2D算法的實(shí)時(shí)性。由表2可見,本文方法的視覺伺服周期為33 ms,同樣分辨率下的圖像處理速度提高了10倍以上,其實(shí)時(shí)性較強(qiáng),在一定程度上解決了視覺系統(tǒng)的延時(shí)問題。高實(shí)時(shí)性也使得其位置與姿態(tài)標(biāo)準(zhǔn)差更小,伺服收斂后相機(jī)的穩(wěn)定性更強(qiáng)。
表2 3種方法的視覺伺服周期與定位誤差
圖7所示為采用3種方法完成定位任務(wù)的機(jī)器人關(guān)節(jié)速度收斂曲線。為了方便比較,實(shí)驗(yàn)中視覺伺服比例控制系數(shù)λ均設(shè)置為0.2,λ值越大,相機(jī)收斂越快?;趩螒?yīng)性位置伺服方法與混合伺服方法的視覺伺服周期較長,λ值不能設(shè)置過大,否則會使系統(tǒng)無法收斂。因此,降低伺服周期,提高實(shí)時(shí)性,才能設(shè)置更大的λ值來提高機(jī)器人的作業(yè)速度。由圖7a可知,本文方法的相機(jī)速度收斂曲線下降得最平滑,在第370個(gè)伺服周期附近系統(tǒng)切換控制策略,切換時(shí)相機(jī)速度未出現(xiàn)較大跳變,隨后速度繼續(xù)收斂到0,而且收斂后比較穩(wěn)定,未出現(xiàn)大的波動。由圖7b和7c可見,兩種對比方法的相機(jī)速度也能收斂到0附近,但收斂后出現(xiàn)了較大波動,相機(jī)穩(wěn)定性下降,這是由于單應(yīng)性矩陣的求解和分解不準(zhǔn)確導(dǎo)致的。
圖8所示為3種方法相機(jī)運(yùn)動的笛卡爾空間軌跡,從收斂趨勢和平滑性方面可見本文方法軌跡效果最優(yōu),具有更好的任務(wù)空間運(yùn)動性能,充分體現(xiàn)本文所提分階段和切換控制策略的優(yōu)勢。
3.2.2 運(yùn)動目標(biāo)的跟蹤實(shí)驗(yàn)
跟蹤任務(wù)中需要估計(jì)目標(biāo)的運(yùn)動速度,為了確保對比實(shí)驗(yàn)條件相同,基于單應(yīng)性矩陣的兩種視覺伺服對比方法均采用本文所提速度估計(jì)方法。不失一般性,實(shí)驗(yàn)調(diào)整全局相機(jī)安裝角度使相機(jī)X軸與傳送帶平行,則傳送帶上目標(biāo)的運(yùn)動軌跡可以近似為一維運(yùn)動。表3所示為傳送帶上目標(biāo)的實(shí)際速度與采用本文方法估計(jì)得到速度的對比。
由表3可知,在目標(biāo)不同的運(yùn)動速度下,速度估計(jì)誤差均維持在較低值,驗(yàn)證了所提速度估計(jì)方法的可行性。由1.2節(jié)分析可知,設(shè)置較大的比例控制系數(shù)λ可以在速度估計(jì)存在誤差時(shí)減小穩(wěn)態(tài)跟蹤偏差。本文方法具有低控制周期、高實(shí)時(shí)性的特征,在λ設(shè)置較大值時(shí)仍能保證穩(wěn)定收斂,從而減小速度估計(jì)不精確導(dǎo)致的跟蹤誤差。
表3 目標(biāo)運(yùn)動的實(shí)際速度與估計(jì)速度 mm/s
跟蹤實(shí)驗(yàn)中統(tǒng)計(jì)了相機(jī)伺服收斂后的位置偏差和標(biāo)準(zhǔn)差,以及姿態(tài)偏差和標(biāo)準(zhǔn)差。偏差體現(xiàn)了視覺伺服的跟蹤精度,標(biāo)準(zhǔn)差體現(xiàn)了相機(jī)收斂后的穩(wěn)定性,這兩項(xiàng)指標(biāo)在家電產(chǎn)品的視覺檢測應(yīng)用中具有重要意義,大的偏差可能會使目標(biāo)離開手上相機(jī)視野導(dǎo)致跟蹤失敗,大的標(biāo)準(zhǔn)差意味著相機(jī)抖動嚴(yán)重,可能會使圖像模糊,導(dǎo)致視覺檢測任務(wù)失敗。圖9所示為3種方法在目標(biāo)運(yùn)動速度為80 mm/s以內(nèi)跟蹤的穩(wěn)態(tài)位置誤差和姿態(tài)誤差。
由圖9a可知,在目標(biāo)不同的運(yùn)動速度下,本文方法的跟蹤位置偏差和標(biāo)準(zhǔn)差均大幅優(yōu)于對比方法,其視覺伺服精度更高,穩(wěn)定性更強(qiáng)。隨著目標(biāo)運(yùn)動速度的增大,本文方法的跟蹤位置偏差始終保持在10 mm以內(nèi),能夠很好地應(yīng)對目標(biāo)運(yùn)動速度較快的場景。兩種對比方法的跟蹤位置偏差較大,而且隨著目標(biāo)速度的增大,跟蹤誤差快速增長,因此不適用于跟蹤運(yùn)動目標(biāo)。由圖9b可知,3種方法的姿態(tài)偏差和標(biāo)準(zhǔn)差相當(dāng)。
高實(shí)時(shí)性與較好的跟蹤精度和穩(wěn)定性使本文方法的工業(yè)應(yīng)用具有可行性,該方法已應(yīng)用于滾筒傳送帶空調(diào)外機(jī)產(chǎn)線,實(shí)現(xiàn)了對空調(diào)外機(jī)標(biāo)簽內(nèi)容和螺母漏裝的檢測。
采用人工手檢外機(jī)標(biāo)簽內(nèi)容和部件外觀質(zhì)量的方式受較多外部因素影響,檢測過程需要暫停傳送帶流轉(zhuǎn),造成生產(chǎn)節(jié)拍下降。采用視覺檢測機(jī)器人自動跟蹤產(chǎn)線上的產(chǎn)品,并進(jìn)行同步視覺檢測,能夠有效提高生產(chǎn)效率,而視覺跟隨檢測的準(zhǔn)確率很大程度上取決于機(jī)器人手上相機(jī)能否對檢測對象穩(wěn)定、清晰地進(jìn)行拍攝。因此,隨線運(yùn)動、穩(wěn)定同步拍攝對視覺檢測機(jī)器人提出了高動態(tài)控制的要求。采用本文基于切換控制的雙相機(jī)視覺伺服方案,體現(xiàn)了切換過程的平穩(wěn)收斂和切換速度的平滑過渡,使機(jī)器人具有隨線運(yùn)動、平穩(wěn)清晰拍攝及實(shí)時(shí)處理的功能。
圖10和圖11所示為本文方法跟蹤檢測空調(diào)外機(jī)的標(biāo)簽和扇葉螺母的效果。其中,編號為00的圖像為視覺伺服的期望圖像,由示教獲得,其余編號的圖像為跟蹤過程中手上相機(jī)拍攝的用于視覺檢測的一組圖像。手上相機(jī)的視場為355.5 mm×200 mm,圖像分辨率均為960×540像素,空調(diào)外機(jī)的運(yùn)動速度約為80 mm/s。對比視覺伺服的期望圖像和跟蹤過程中拍攝的圖像可知,手上相機(jī)能夠收斂到期望位姿,使機(jī)器人具有較高的跟蹤精度和穩(wěn)定的跟蹤過程,既可應(yīng)用于紋理目標(biāo),又可應(yīng)用于無紋理目標(biāo),其拍攝的圖像清晰度較高,不會出現(xiàn)模糊問題,滿足家電產(chǎn)品視覺檢測的需求。從跟蹤圖像中定位出標(biāo)簽區(qū)域和螺母區(qū)域,并設(shè)計(jì)相應(yīng)的視覺檢測算法,便可完成標(biāo)簽內(nèi)容檢測和螺母漏裝檢測,提高了工業(yè)檢測的效率和準(zhǔn)確率。
針對家電產(chǎn)品的機(jī)器視覺在線檢測應(yīng)用場景,本文提出一種基于切換控制的雙相機(jī)視覺伺服方法。通過實(shí)驗(yàn)驗(yàn)證,該方法采用基于切換的控制策略克服了IBVS不能保證全局收斂的缺陷;采用輕量化的LINE-2D算法和窗口匹配方法提升了圖像處理的速度,并將視覺伺服周期嚴(yán)格控制在33 ms以內(nèi),其動態(tài)性能強(qiáng),且不依賴于專門設(shè)計(jì)的視覺特征,能夠?qū)Ρ粰z目標(biāo)圖像特征進(jìn)行自動提取和魯棒性匹配,適用范圍廣,具有工業(yè)應(yīng)用可行性。通過與相關(guān)研究進(jìn)行對比,驗(yàn)證了本文方法在跟蹤精度、穩(wěn)定性和實(shí)時(shí)性等方面的優(yōu)勢。然而,該方法有預(yù)置工作模板、示教期望位姿等附加步驟,當(dāng)傳送帶上待檢目標(biāo)速度出現(xiàn)大幅變化時(shí),由于跟隨控制系統(tǒng)中卡爾曼濾波算法的滯后性,機(jī)器人跟蹤期望位姿收斂變慢,導(dǎo)致跟蹤精度下降。未來將針對目標(biāo)運(yùn)動速度突變較大時(shí)的跟蹤性能進(jìn)行進(jìn)一步研究與優(yōu)化。