盧金燕,戚肖克
(1.河南工程學(xué)院電氣信息工程學(xué)院,鄭州 451191;2.中國(guó)政法大學(xué)法治信息管理學(xué)院,北京 102249)
視覺(jué)伺服是近年來(lái)機(jī)器人和自動(dòng)化領(lǐng)域的研究熱點(diǎn)之一。它利用視覺(jué)傳感器捕捉豐富的環(huán)境信息,在視覺(jué)定位、目標(biāo)跟蹤、拾取和定位、裝配等領(lǐng)域得到了廣泛的應(yīng)用[1-4]。
根據(jù)視覺(jué)誤差信號(hào)的選擇,視覺(jué)伺服可分為基于位置的視覺(jué)伺服(Position Based Visual Servoing,PBVS)、基于圖像的視覺(jué)伺服(Image Based Visual Servoing,IBVS)和混合視覺(jué)伺服(Hybrid Visual Servoing,HVS)。其中,IBVS 對(duì)相機(jī)的標(biāo)定誤差和空間模型誤差不敏感,控制器設(shè)計(jì)靈活,計(jì)算過(guò)程相對(duì)簡(jiǎn)單,是最常用的視覺(jué)伺服方法。
由于點(diǎn)特征的圖像坐標(biāo)變化與機(jī)器人運(yùn)動(dòng)速度之間的映射關(guān)系非常容易獲取,因此點(diǎn)特征成為大多數(shù)視覺(jué)伺服系統(tǒng)的首選。基于點(diǎn)特征,文獻(xiàn)[5]提出了一種應(yīng)用在非完整移動(dòng)機(jī)器人上的主從編隊(duì)跟蹤控制方案。它避免了測(cè)量位置和速度,但需要在圖像空間中建立主從運(yùn)動(dòng)學(xué)模型。為了將軟體操作手應(yīng)用于受限環(huán)境當(dāng)中,在機(jī)械臂長(zhǎng)度和目標(biāo)位置未知的情況下,文獻(xiàn)[6]使用人工標(biāo)記的點(diǎn)特征設(shè)計(jì)自適應(yīng)視覺(jué)伺服控制器。然而,該方法假設(shè)曲率是分段常量,在實(shí)際情況中可能很難滿足。利用至少三個(gè)非共線點(diǎn)特征,文獻(xiàn)[7]提出了一種基于圖像的四旋翼無(wú)人機(jī)視覺(jué)伺服方法。該方法不需要每個(gè)點(diǎn)特征的實(shí)時(shí)深度值,但需要將圖像平面的所有點(diǎn)特征投影到虛擬平面,并推導(dǎo)出點(diǎn)特征在虛擬平面中的變化特性。為了解決三個(gè)圖像點(diǎn)的視覺(jué)伺服問(wèn)題,文獻(xiàn)[8]提出了一種基于Fisher 信息矩陣最優(yōu)度量的主動(dòng)視覺(jué)任務(wù)函數(shù),并將該函數(shù)和視覺(jué)伺服共同用于多目標(biāo)優(yōu)化框架,以提高姿態(tài)估計(jì)精度;然而,該方法只在視覺(jué)伺服仿真平臺(tái)(VIsual Servoing Platform,VISP)上進(jìn)行了驗(yàn)證。文獻(xiàn)[9]使用共面的四個(gè)點(diǎn)表示移動(dòng)機(jī)器人當(dāng)前和期望的位姿,但該方法只構(gòu)建了沿x軸和z軸的平移,以及沿y軸的旋轉(zhuǎn)。文獻(xiàn)[10]利用點(diǎn)特征計(jì)算無(wú)人機(jī)的三維空間位置,使用基于虛擬相機(jī)圖像的視覺(jué)伺服方法實(shí)現(xiàn)欠驅(qū)動(dòng)無(wú)人機(jī)的三維空間軌跡控制。
作為一種高維特征,直線可以提供多種環(huán)境信息,也經(jīng)常被用于視覺(jué)伺服當(dāng)中。文獻(xiàn)[11]對(duì)點(diǎn)、直線和圓特征分別推導(dǎo)了交互矩陣,其中直線的交互矩陣需要用到含有直線的平面在攝像機(jī)坐標(biāo)系中的方程參數(shù)。為擺脫平面參數(shù)的約束,文獻(xiàn)[12]利用兩點(diǎn)的極坐標(biāo)推導(dǎo)出直線的交互矩陣,并給出直線交互矩陣的求取方法。文獻(xiàn)[13]通過(guò)直線的二維/三維對(duì)應(yīng)關(guān)系集合處理相機(jī)的姿態(tài)估計(jì)問(wèn)題,即PnL(Perspective-n-Line)問(wèn)題,為需要處理直線對(duì)應(yīng)關(guān)系的應(yīng)用提供了一種解決方案,例如基于直線特征的目標(biāo)跟蹤或增強(qiáng)現(xiàn)實(shí)中的相機(jī)定位。文獻(xiàn)[14]利用三維直線構(gòu)建基于圖的可視化的即時(shí)定位與地圖構(gòu)建(Simultaneous Localization And Mapping,SLAM)系統(tǒng),從而實(shí)現(xiàn)機(jī)器人的定位和映射。文獻(xiàn)[15]利用建筑物的結(jié)構(gòu)線條作為圖像特征,實(shí)現(xiàn)了機(jī)器人在有多個(gè)人造物體的室內(nèi)場(chǎng)景中的定位。文獻(xiàn)[16]提出一種基于單目像機(jī)的三維直線主動(dòng)估計(jì)方法,該方法用球坐標(biāo)表示直線的矩矢量,并在系統(tǒng)動(dòng)力學(xué)中引入代數(shù)約束,計(jì)算較為復(fù)雜。文獻(xiàn)[17]采用基于四元數(shù)的視覺(jué)伺服方法,利用跟蹤的標(biāo)記直線表示目標(biāo)位姿,實(shí)現(xiàn)機(jī)器人對(duì)空間任意移動(dòng)物體的抓取。
為了充分利用點(diǎn)和直線的特性,研究者提出將點(diǎn)與直線相結(jié)合的視覺(jué)伺服方法。文獻(xiàn)[18]提出了一種針對(duì)低紋理的室內(nèi)環(huán)境的魯棒SLAM 方法,該方法使用位姿求解器處理點(diǎn)和直線的對(duì)應(yīng)關(guān)系,并構(gòu)建統(tǒng)一的優(yōu)化模型以同時(shí)最小化點(diǎn)和直線的重投影誤差;文獻(xiàn)[19]針對(duì)紋理較差的場(chǎng)景或運(yùn)動(dòng)模糊圖像,提出了一種基于點(diǎn)和直線的實(shí)時(shí)單目視覺(jué)SLAM,該方法可以根據(jù)3 張連續(xù)圖像中的5 條直線的對(duì)應(yīng)關(guān)系估計(jì)相機(jī)姿態(tài)和構(gòu)建三維地圖。為了估計(jì)相機(jī)的狀態(tài),文獻(xiàn)[20]提出了一種利用點(diǎn)和直線的緊耦合單目視覺(jué)慣性測(cè)程系統(tǒng)。在建立點(diǎn)特征和直線特征的投影模型后,文獻(xiàn)[21]構(gòu)造一種新的重組Hessian 矩陣和梯度向量來(lái)迭代估計(jì)位姿,該方法可以自適應(yīng)相機(jī)的運(yùn)動(dòng)狀態(tài);文獻(xiàn)[22]提出一種雷達(dá)-單目視覺(jué)測(cè)程方法,該方法將點(diǎn)特征和直線特征融合為地標(biāo),并利用點(diǎn)和直線的地標(biāo)投影誤差實(shí)現(xiàn)目標(biāo)跟蹤。此類方法能夠利用點(diǎn)和直線使視覺(jué)測(cè)量更加準(zhǔn)確;但大多需要建立點(diǎn)特征和直線特征的對(duì)應(yīng)關(guān)系,計(jì)算過(guò)程繁瑣,且容易導(dǎo)致后續(xù)的控制不夠靈活。文獻(xiàn)[23]提出一種基于虛擬目標(biāo)引導(dǎo)的快速搜索隨機(jī)樹(shù)的視覺(jué)伺服方法,實(shí)現(xiàn)視野受限的移動(dòng)機(jī)器人的位姿控制,該方法利用直線特征檢測(cè)相機(jī)視野是否受限,利用點(diǎn)特征使機(jī)器人沿規(guī)劃軌跡到達(dá)期望位姿,能夠同時(shí)滿足相機(jī)的視野限制和速度限制;但是計(jì)算量較大,實(shí)時(shí)性不高。
針對(duì)上述問(wèn)題,本文聯(lián)合使用點(diǎn)特征和直線特征,提出一種分階段的視覺(jué)伺服方法。分析并利用文獻(xiàn)[12]推導(dǎo)的直線交互矩陣,解耦了IBVS 的姿態(tài)控制和位置控制,并將IBVS 分解為姿態(tài)控制和位姿控制兩個(gè)階段,最終實(shí)現(xiàn)了機(jī)器人的六自由度對(duì)準(zhǔn)。在姿態(tài)控制階段,利用直線特征及其交互矩陣消除旋轉(zhuǎn)偏差;在位置控制階段,利用點(diǎn)特征及其交互矩陣消除平移偏差。同時(shí),根據(jù)相機(jī)運(yùn)動(dòng)量以及相機(jī)運(yùn)動(dòng)前后特征的變化量,可對(duì)深度進(jìn)行在線估計(jì)。此外,通過(guò)監(jiān)督器調(diào)節(jié)相機(jī)的運(yùn)動(dòng)速度,從而保證特征不會(huì)在相機(jī)視野中丟失。
基于單目視覺(jué)機(jī)器人系統(tǒng),本文方法的目標(biāo)是將機(jī)器人移向目標(biāo),實(shí)現(xiàn)末端與目標(biāo)的位姿對(duì)準(zhǔn)。當(dāng)機(jī)器人完成對(duì)準(zhǔn)后,可以進(jìn)行后續(xù)的裝配、焊接等操作。這是一個(gè)典型的視覺(jué)控制問(wèn)題,而IBVS 可以提供一個(gè)很好的解決方案。具體來(lái)說(shuō),可以通過(guò)將實(shí)際的視覺(jué)特征與期望的視覺(jué)特征相匹配以實(shí)現(xiàn)該任務(wù)。
定義圖像平面中視覺(jué)特征的實(shí)際值和期望值之間的誤差e為:
其中:m是圖像特征的集合,如點(diǎn)、直線等。a是一組視覺(jué)伺服系統(tǒng)參數(shù),可用來(lái)獲取潛在的系統(tǒng)知識(shí),如相機(jī)參數(shù)、目標(biāo)模型等。利用m和a,可得到視覺(jué)特征向量s(m,a)。向量s*是視覺(jué)特征向量s(m,a)的期望值。
在IBVS 中,通過(guò)設(shè)計(jì)合適的控制律,將提取的特征m映射到目標(biāo)特征s的空間中,并與期望特征s*進(jìn)行比較。當(dāng)兩者之差為零,即誤差e為零時(shí),系統(tǒng)達(dá)到穩(wěn)定的收斂狀態(tài)。
其中:Ls是特征s的交互矩陣。
其中:λ是調(diào)節(jié)系數(shù)。
將vc作為速度控制的輸入,根據(jù)式(2)~(3),可得到如下的IBVS 控制律:
其中:是Ls的偽逆。
由式(4)可知,根據(jù)特征誤差和交互矩陣可以得到相機(jī)的運(yùn)動(dòng)速度控制量,從而使誤差穩(wěn)定收斂,實(shí)現(xiàn)實(shí)際圖像特征和期望圖像特征的匹配。
為了實(shí)現(xiàn)機(jī)器人的位姿對(duì)準(zhǔn),本文選擇點(diǎn)和直線作為圖像特征,將IBVS 分解為姿態(tài)控制和位置控制兩個(gè)階段。在姿態(tài)控制階段利用直線特征消除姿態(tài)偏差,在位置控制階段利用點(diǎn)特征消除位置偏差,實(shí)現(xiàn)機(jī)器人的六自由度控制。
焦距歸一化成像平面上的直線方程可以用極坐標(biāo)表示為:
其中:θ為直線的正交線與x1c軸之間的夾角;ρ為焦距歸一化成像平面上原點(diǎn)到直線的距離。
將相機(jī)速度記為vc=[vca,ωca],其中vca=[vcax,vcay,vcaz]T和ωca=[ωcax,ωcay,ωcaz]T分別是相機(jī)的平移和旋轉(zhuǎn)速度。由文獻(xiàn)[9]可知,當(dāng)相機(jī)運(yùn)動(dòng)時(shí),直線角度參數(shù)θ在焦距歸一化成像平面上的變化情況如下:
其中:Ll1是一條直線的角度參數(shù)θ的交互矩陣。
從式(6)可以看出,只有旋轉(zhuǎn)運(yùn)動(dòng)對(duì)焦距歸一化平面上的直線角度變化有貢獻(xiàn)。將Ll1寫(xiě)為L(zhǎng)l1=[0,Ll1w],Ll1w是一條直線的角度參數(shù)θ與相機(jī)旋轉(zhuǎn)之間的交互矩陣。
根據(jù)式(6)~(7),焦距歸一化成像平面上直線角度參數(shù)θ的變化與相機(jī)旋轉(zhuǎn)的關(guān)系可表示為:
由式(8)可知,直線角度θ的變化僅由相機(jī)旋轉(zhuǎn)引起,此時(shí)旋轉(zhuǎn)運(yùn)動(dòng)可以獨(dú)立于平移運(yùn)動(dòng)。進(jìn)一步,如果選擇合適的直線作為圖像特征,可以將旋轉(zhuǎn)運(yùn)動(dòng)和平移運(yùn)動(dòng)分離,從而實(shí)現(xiàn)IBVS 中姿態(tài)控制和位置控制的解耦。
根據(jù)式(8),選擇直線的角度變化作為圖像特征表示相機(jī)的旋轉(zhuǎn)運(yùn)動(dòng),則相機(jī)的旋轉(zhuǎn)可以用至少三條直線的期望角度和當(dāng)前角度之間的誤差控制,因此可以得到:
其中:Lwm是m條直線的角度變化與相機(jī)旋轉(zhuǎn)之間的交互矩陣。
進(jìn)一步,根據(jù)式(4)、(9),通過(guò)直線的角度偏差可以得到相機(jī)的姿態(tài)控制律:
假設(shè)鏡頭畸變可以被忽略或預(yù)先校正,那么相機(jī)的內(nèi)參數(shù)可以用針孔模型描述。對(duì)于相機(jī)坐標(biāo)系中的點(diǎn)(xc,yc,zc),記其在焦距歸一化平面的坐標(biāo)為(x1c,y1c,1)。對(duì)于單目視覺(jué)系統(tǒng),一般情況下(xc,yc,zc)是未知的,而x1c和y1c可以根據(jù)圖像坐標(biāo)和相機(jī)的內(nèi)參數(shù)計(jì)算。
其中:(u,v)是圖像坐標(biāo);kx、ky、u0和v0是相機(jī)的內(nèi)參數(shù)。
當(dāng)相機(jī)運(yùn)動(dòng)時(shí),一個(gè)點(diǎn)特征在焦距歸一化平面上的變化可以表示為:
其中:Lp1是一個(gè)點(diǎn)的交互矩陣。
其中:(x1c,y1c)是點(diǎn)特征在焦距歸一化平面的坐標(biāo);zc是點(diǎn)特征在相機(jī)坐標(biāo)系的深度。
由于在姿態(tài)控制階段已經(jīng)消除了旋轉(zhuǎn)偏差,此階段只進(jìn)行平移控制。在這種情況下,相機(jī)的旋轉(zhuǎn)速度ωca為0,點(diǎn)特征在焦距歸一化平面上的坐標(biāo)變化僅由相機(jī)的平移運(yùn)動(dòng)引起。
根據(jù)式(12)~(13),可以得到點(diǎn)特征變化與相機(jī)平移運(yùn)動(dòng)之間的關(guān)系:
其中:Lpnv是n個(gè)點(diǎn)特征在焦距歸一化平面上的坐標(biāo)變化與相機(jī)平移之間的交互矩陣。
根據(jù)式(4)、(14),可以得相機(jī)的位置控制律:
從式(14)可以看出,為了計(jì)算交互矩陣Lpnv,必須估計(jì)點(diǎn)特征在相機(jī)坐標(biāo)系的深度。點(diǎn)特征的深度可以通過(guò)相機(jī)的運(yùn)動(dòng)在線估計(jì)。將式(13)代入(12)中,可以得到:
因此,根據(jù)攝像機(jī)的運(yùn)動(dòng)速度和特征點(diǎn)的運(yùn)動(dòng)速度估計(jì)特征點(diǎn)的深度,整理式(16)可得:
根據(jù)式(17),在相機(jī)每次運(yùn)動(dòng)后,利用相機(jī)的運(yùn)動(dòng)量、相機(jī)運(yùn)動(dòng)前后點(diǎn)特征在焦距歸一化平面上的坐標(biāo)變化以及點(diǎn)特征在焦距歸一化平面上的坐標(biāo),可以重新計(jì)算點(diǎn)特征的深度zc,從而實(shí)現(xiàn)在線深度估計(jì)。
需要指出的是,采集第一幀圖像進(jìn)行運(yùn)動(dòng)控制時(shí),由于沒(méi)有相機(jī)運(yùn)動(dòng)量初值,無(wú)法進(jìn)行深度估計(jì)。因此,在第一幀圖像時(shí),只提取圖像特征,不計(jì)算運(yùn)動(dòng)調(diào)整量,第一步的運(yùn)動(dòng)量人為設(shè)定。機(jī)器人主動(dòng)運(yùn)動(dòng)后,根據(jù)主動(dòng)運(yùn)動(dòng)前后的特征參數(shù)和攝像機(jī)主動(dòng)運(yùn)動(dòng)量,進(jìn)行深度估計(jì)。
根據(jù)上述控制律,設(shè)計(jì)的控制系統(tǒng)如圖1 所示,控制系統(tǒng)由視覺(jué)檢測(cè)、姿態(tài)控制、位置控制、深度估計(jì)、監(jiān)督器和機(jī)器人6 部分構(gòu)成。在IBVS 過(guò)程中,先根據(jù)視覺(jué)檢測(cè)得到的直線特征進(jìn)行姿態(tài)控制,當(dāng)直線特征的實(shí)際值與期望值小于設(shè)定閾值時(shí),根據(jù)視覺(jué)檢測(cè)得到的點(diǎn)特征進(jìn)行位置控制。當(dāng)點(diǎn)特征的實(shí)際值與期望值小于設(shè)定閾值時(shí),IBVS 過(guò)程結(jié)束。
圖1 本文控制系統(tǒng)框圖Fig.1 Block diagram of the proposed control system
視覺(jué)檢測(cè)部分用于采集目標(biāo)圖像,提取點(diǎn)和直線特征。姿態(tài)控制部分根據(jù)直線特征的期望值與當(dāng)前值Fθc=(θ1,θ2,…,θm)之間的偏差,以及Lwm,計(jì)算出旋轉(zhuǎn)速度ωca,控制機(jī)器人的姿態(tài),控制律見(jiàn)式(10)。根據(jù)點(diǎn)特征的期望值與當(dāng)前值Fpc=((x1c1,y1c1),(x1c2,y1c2),…,(x1cn,y1cn))之間的偏差,以及Lpnv,計(jì)算出平移速度vca,控制機(jī)器人的位置,控制律見(jiàn)式(15)。深度估計(jì)部分根據(jù)相機(jī)運(yùn)動(dòng)前后特征的變化,利用式(16),計(jì)算點(diǎn)特征在相機(jī)坐標(biāo)系的深度值。監(jiān)督器用于控制相機(jī)的旋轉(zhuǎn)和平移調(diào)節(jié)速度,如果大于設(shè)定的閾值,則減小本次的控制系數(shù)。機(jī)器人為被控對(duì)象,執(zhí)行姿態(tài)控制和位置控制模塊的運(yùn)動(dòng)命令??刂破鞯妮敵鰹闄C(jī)器人末端在相機(jī)坐標(biāo)系下的速度,機(jī)器人接收到控制輸出后,將其轉(zhuǎn)換為機(jī)器人末端坐標(biāo)系或基坐標(biāo)系下的速度進(jìn)行運(yùn)動(dòng)。
采用Eye-in-Hand 機(jī)器人平臺(tái)驗(yàn)證本文算法的性能,如圖2 所示。該平臺(tái)采用安川公司的六自由度機(jī)器人Motoman UP6,大恒公司的MER-200-14GX 相機(jī),相機(jī)固定在機(jī)器人的末端上,構(gòu)成Eye-in-Hand 系統(tǒng)。圖像大小為1 626×1 238 像素。相機(jī)的內(nèi)參數(shù)模型為針孔模型,鏡頭畸變采用四階布朗畸變模型。
圖2 Eye-in-Hand機(jī)器人平臺(tái)Fig.2 Eye-in-Hand robot platform
實(shí)驗(yàn)中,在白板上粘貼一個(gè)矩形圖案作為目標(biāo)對(duì)象。選取矩形的四條邊進(jìn)行姿態(tài)控制,選取矩形的四個(gè)角點(diǎn)進(jìn)行位置控制。為了保證視覺(jué)特征的準(zhǔn)確性,在圖像處理過(guò)程中首先提取矩形的四條邊,利用Canny 算子進(jìn)行檢測(cè),然后利用概率霍夫變換進(jìn)行提取。四個(gè)角點(diǎn)通過(guò)邊的交點(diǎn)得到。
根據(jù)點(diǎn)特征的圖像坐標(biāo)和相機(jī)的內(nèi)參數(shù),可以得到點(diǎn)特征在焦距歸一化平面上的坐標(biāo)。從左上角開(kāi)始,沿逆時(shí)針?lè)较?,將矩形的四條邊分別記為直線1~4,將矩形的四個(gè)角點(diǎn)分別記為點(diǎn)A、B、C、D。它們的期望值分別如表1~2 所示。
表1 直線的期望值Tab.1 Expectedd values for lines
表2 點(diǎn)的期望值Tab.2 Expected values for points
由于本平臺(tái)的機(jī)器人只接收姿態(tài)命令,所以速度用增量除以采樣周期時(shí)間代替。另外,為了控制機(jī)器人,通過(guò)式(18)將相機(jī)的運(yùn)動(dòng)轉(zhuǎn)換為末端的運(yùn)動(dòng),表示為:
其中:Te為末端的位姿矩陣;Tca為相機(jī)的位姿矩陣;Mex是從末端坐標(biāo)系到相機(jī)坐標(biāo)系的變換矩陣,即手眼關(guān)系。
首先,根據(jù)上述控制律和相關(guān)設(shè)置,對(duì)本文方法進(jìn)行實(shí)驗(yàn)驗(yàn)證。整個(gè)實(shí)驗(yàn)過(guò)程分為姿態(tài)控制和位置控制兩個(gè)階段。首先控制姿態(tài),當(dāng)姿態(tài)誤差小于設(shè)定閾值后,進(jìn)行位置控制。實(shí)驗(yàn)過(guò)程中,分別記錄姿態(tài)控制階段的直線角度誤差和位置控制階段的點(diǎn)特征誤差進(jìn)行實(shí)驗(yàn)分析。在姿態(tài)控制階段,為了接近目標(biāo),每一步讓機(jī)器人沿深度方向移動(dòng)100 mm。
在姿態(tài)控制階段,提取矩形的四條邊作為特征,計(jì)算直線角度當(dāng)前值與期望值之間的偏差。首先用式(9)計(jì)算交互矩陣Lwm,然后用式(10)計(jì)算相機(jī)的姿態(tài)調(diào)整量。實(shí)驗(yàn)過(guò)程中的四條邊的角度誤差如圖3 所示。從圖3 可以看出,直線角度誤差經(jīng)過(guò)7 步收斂到設(shè)定閾值,即姿態(tài)控制階段在第7步結(jié)束。
圖3 四條邊的角度誤差Fig.3 Angle errors of four edges
在位置控制階段,提取矩形的四個(gè)角點(diǎn)作為特征,計(jì)算點(diǎn)特征當(dāng)前值與期望值之間的偏差。首先用式(17)估計(jì)點(diǎn)特征的深度,然后用式(14)計(jì)算交互矩陣Lpnv,最后用式(15)計(jì)算相機(jī)的位置調(diào)整量。實(shí)驗(yàn)過(guò)程中四個(gè)角點(diǎn)在焦距歸一化平面的誤差如圖4 所示。從圖4 可以看出,四個(gè)角點(diǎn)經(jīng)過(guò)9 步都收斂到設(shè)定值,即位置控制階段在第9 步結(jié)束。
圖4 四個(gè)角點(diǎn)在焦距歸一化平面的誤差Fig.4 Errors of four points on focal length normalization plane
然后,將傳統(tǒng)IBVS 作為對(duì)比方法開(kāi)展對(duì)比實(shí)驗(yàn)。選擇矩形的四個(gè)角點(diǎn)作為圖像特征,傳統(tǒng)IBVS 方法與本文方法的條件設(shè)置完全相同。在傳統(tǒng)IBVS 方法中,用式(13)計(jì)算點(diǎn)特征的交互矩陣,用式(4)計(jì)算相機(jī)的位姿調(diào)整量,傳統(tǒng)IBVS 方法的四個(gè)角點(diǎn)在焦距歸一化平面誤差如圖5 所示。
在相同的期望位姿、期望特征參數(shù)、圖像處理過(guò)程的情況下,從圖5 可以看出,經(jīng)過(guò)19 步調(diào)整后,傳統(tǒng)IBVS 方法的控制過(guò)程結(jié)束。由圖3~4 可知,本文方法的控制過(guò)程在第16步結(jié)束。因此,本文方法的控制誤差收斂速度略高于傳統(tǒng)IBVS 方法。由于本文方法聯(lián)合使用了點(diǎn)和直線兩種圖像特征,而對(duì)比方法僅使用了點(diǎn)特征,所以本文方法能從圖像特征得到更豐富的信息,視覺(jué)測(cè)量結(jié)果更加準(zhǔn)確。另外,相較于傳統(tǒng)IBVS 方法,本文方法對(duì)姿態(tài)和位置進(jìn)行了解耦和分階段控制,使位置調(diào)整過(guò)程中的點(diǎn)特征變化不受姿態(tài)控制的影響,因此控制過(guò)程更加高效。
圖5 傳統(tǒng)IBVS方法的四個(gè)角點(diǎn)在焦距歸一化平面的誤差Fig.5 Errors of four points on focal length normalization plane for traditional IBVS method
本文方法和傳統(tǒng)IBVS 方法的特征點(diǎn)軌跡如圖6~7 所示,實(shí)心標(biāo)記表示期望位姿下特征點(diǎn)的圖像位置。從圖6~7可以看出,點(diǎn)特征和直線特征的聯(lián)合使用有助于提高視覺(jué)測(cè)量的準(zhǔn)確性,因此本文方法的特征點(diǎn)能夠有序到達(dá)期望位姿下的圖像位置附近,而傳統(tǒng)IBVS 方法的特征點(diǎn)在圖像平面的坐標(biāo)變化比較無(wú)序,容易導(dǎo)致目標(biāo)丟失,造成伺服失敗。
圖6 本文方法的特征點(diǎn)軌跡Fig.6 Feature point trajectories by using the proposed method
實(shí)驗(yàn)過(guò)程中,為了控制機(jī)器人,利用式(18)將相機(jī)的運(yùn)動(dòng)轉(zhuǎn)換為末端的運(yùn)動(dòng),并記錄機(jī)器人末端的位姿變化。本文方法的機(jī)器人末端位置和姿態(tài)變化如圖8 所示;傳統(tǒng)IBVS方法的機(jī)器人末端位置和姿態(tài)變化如圖9 所示。從機(jī)器人末端位姿曲線可以看出,本文方法和傳統(tǒng)IBVS 方法的末端位姿變化與特征點(diǎn)圖像坐標(biāo)變化相吻合。
圖7 傳統(tǒng)IBVS方法的特征點(diǎn)軌跡Fig.7 Feature point trajectories by using traditional IBVS method
圖8 本文方法的機(jī)器人末端位置和姿態(tài)變化Fig.8 Position and pose changes of end-effector of robot by using the proposed method
圖9 傳統(tǒng)IBVS方法的機(jī)器人末端位置和姿態(tài)變化Fig.9 Position and pose changes of end-effector of robot by using traditional IBVS method
本文方法和傳統(tǒng)IBVS 方法的機(jī)器人末端軌跡如圖10~11 所示??梢钥闯?,本文方法的機(jī)器人末端位姿變化較平穩(wěn),而傳統(tǒng)IBVS 方法在控制過(guò)程的后半段收斂較慢。表3給出了對(duì)準(zhǔn)結(jié)束時(shí),兩種方法的機(jī)器人末端位姿偏差,可以看出,本文方法平移方向最大誤差3.26 mm,旋轉(zhuǎn)方向最大誤差0.72°,而傳統(tǒng)IBVS 方法平移方向最大誤差7.35 mm,旋轉(zhuǎn)方向最大誤差1.26°。因此,本文方法的對(duì)準(zhǔn)誤差更小。
圖10 本文方法的機(jī)器人末端軌跡Fig.10 End-effector trajectory of robot by using the proposed method
由以上實(shí)驗(yàn)結(jié)果及分析可知,點(diǎn)特征和直線特征的聯(lián)合使用使本文方法的視覺(jué)測(cè)量結(jié)果更加可靠,姿態(tài)控制和位置控制的解耦降低了本文方法對(duì)視覺(jué)測(cè)量誤差的敏感性。因此,相較于傳統(tǒng)IBVS 方法,本文方法的控制過(guò)程更加高效,控制誤差收斂更快,對(duì)準(zhǔn)誤差更小。
圖11 傳統(tǒng)IBVS方法的機(jī)器人末端軌跡Fig.11 End-effector trajectory of robot by using traditional IBVS method
本文以點(diǎn)和直線作為特征,提出一種新的基于圖像的視覺(jué)伺服方法。利用圖像特征的交互矩陣解耦了IBVS 的姿態(tài)控制和位置控制,進(jìn)而分別針對(duì)姿態(tài)和位置設(shè)計(jì)了控制定律,通過(guò)兩個(gè)階段的控制最終實(shí)現(xiàn)機(jī)器人的六自由度對(duì)準(zhǔn)。同時(shí),本文方法可以根據(jù)相機(jī)的運(yùn)動(dòng)對(duì)特征的深度進(jìn)行在線估計(jì),并通過(guò)監(jiān)督器使特征始終保持在相機(jī)視野當(dāng)中。實(shí)驗(yàn)結(jié)果表明,本文方法能夠?qū)崿F(xiàn)快速、高精度的對(duì)準(zhǔn)。但是,本文方法需要離線標(biāo)定相機(jī)參數(shù),未來(lái)將研究在線標(biāo)定的視覺(jué)控制,并應(yīng)用到機(jī)器人裝配系統(tǒng)中。