金 軻,俞桂英,丁 燁,鄭建明
(1.上海交通大學機械與動力工程學院,上海 200240;2.浙江萬豐科技開發(fā)股份有限公司,浙江 嵊州 312400)
機器人視覺系統(tǒng)廣泛地應用于各種特種機器人中,如飛行機器人[1-3]、輪式機器人[4]和水下機器人[5]等。在復雜的工作環(huán)境中,視覺系統(tǒng)能夠為機器人提供豐富的環(huán)境信息,指導機器人進行正確的決策,完成預定的動作。為了在統(tǒng)一的坐標框架下對視覺系統(tǒng)捕捉的圖像數(shù)據(jù)和機器人工作空間中的三維運動數(shù)據(jù)進行分析與融合,需要對機器人視覺系統(tǒng)進行手眼標定,以獲得視覺傳感器坐標系和機器人末端執(zhí)行器坐標系之間的變換關系。
傳統(tǒng)的手眼標定方法[6-8]需要使用已知尺寸的標記物作為參考,分別測定標記物圖像數(shù)據(jù)和機器人末端位姿數(shù)據(jù),通過三維空間內的幾何約束進行手眼標定求解。Park等[9]提出將手眼標定分為旋轉標定和平移標定2個部分,先通過最小二乘法進行旋轉標定,再使用旋轉標定的結果進行平移標定,但旋轉標定的誤差會傳遞到平移標定中。Daniilidis[10]基于對偶四元數(shù)理論設計求解算法,通過奇異值分解獲取標定結果,實現(xiàn)了旋轉部分和平移部分的同時標定,但算法的魯棒性不強,在噪聲的干擾下,計算可能不穩(wěn)定。Strobl等[11]針對手眼標定優(yōu)化問題提出了一種基于特殊歐氏群SE(3)的標定誤差度量方法,將手眼標定問題轉化為一個非線性優(yōu)化問題,但求解過程中可能落入局部最優(yōu),對求解時的初值有較高的要求。Zhao[12]提出了一種基于凸優(yōu)化的手眼標定方法,將非線性的優(yōu)化求解問題轉化為L∞范數(shù)上的凸優(yōu)化問題進行求解,有效地避免了局部最優(yōu)問題,但所得的齊次變換矩陣可能不落在特殊歐氏群SE(3)上。Heller等[13]基于多元多項式重新構建了優(yōu)化目標,并通過迭代進行求解,在考慮了SE(3)約束的同時,保證了所得解的全局最優(yōu)性,但計算復雜度高。智向陽等[14]提出了一種實現(xiàn)簡單的凸優(yōu)化手眼標定方法,為了解決最優(yōu)解不滿足SE(3)約束的問題,通過QR分解對最優(yōu)解的旋轉矩陣部分進行了正交化,但沒有嚴格地證明正交化后的結果具有全局最優(yōu)性。
本文針對眼在手機器人視覺系統(tǒng),提出了一種基于差分進化算法[15]的手眼標定方法。通過李群李代數(shù)理論,構建系統(tǒng)手眼標定誤差函數(shù)。通過差分進化算法對優(yōu)化問題進行求解,避免了局部最優(yōu)問題。該方法計算簡單,易于實現(xiàn),在考慮了SE(3)約束的同時,能夠保證所得解的全局最優(yōu)性。
在典型的眼在手機器人視覺系統(tǒng)中,相機固定于機器人末端并隨機器人運動。為了統(tǒng)一地分析機器人工作空間中的三維運動數(shù)據(jù)與圖像空間中的圖像特征數(shù)據(jù),需要通過手眼標定確定相機坐標系到機器人末端坐標系之間的變換矩陣。一般的手眼標定方法需要在世界坐標系中固定一個標定板,如圖1所示。將機器人末端執(zhí)行器移動到不同位置處,采集機器人末端位姿以及對應位置處相機捕捉到的標定板圖片,進而計算從相機坐標系{C}到機器人末端坐標系{E}的變換矩陣。
圖1 手眼標定示意
(1)
(2)
AX=XB
(3)
手眼標定的目的是在已知A和B的條件下求解齊次變換矩陣X。由于實際工程應用中采集到的機器人末端位姿數(shù)據(jù)和標定板圖片數(shù)據(jù)中存在噪聲,求解時使用的齊次變換矩陣A和B并不準確。為了獲得較為精確的求解結果,一般采集多組數(shù)據(jù)進行標定。設標定過程中共采集了n組齊次變換矩陣Ai和Bi(i=1,2,…,n),選擇合適的定義于SE(3)上的誤差函數(shù)d(·,·),可將手眼標定過程轉化為求解如下優(yōu)化問題:
(4)
利用位姿變換矩陣的性質,式(3)可改寫為
(5)
RA,RB和RX分別為齊次變換矩陣A,B和X對應的旋轉矩陣;bA,bB和bX分別為A,B和X對應的平移向量。對式(5)進行推導可得:
RARX=RXRB
(6)
RAbX+bA=RXbB+bX
(7)
式(6)和式(7)分別表示式(3)的旋轉部分和平移部分,求解式(3)中的矩陣X等價于求解旋轉矩陣RX和平移向量bX。對于采集了多組齊次變換矩陣的手眼標定問題,需要尋求有效的誤差函數(shù),以獲取最優(yōu)的RX和bX。
首先考慮通過式(6)獲取旋轉分量的誤差函數(shù),在式(6)中,矩陣RA,RB和RX均為特殊正交群SO(3)上的元素。利用旋轉矩陣的性質對式(6)進行推導可得
RA=RXRBRXT
(8)
由于RA和RXRBRXT位于SO(3)中,對其進行對數(shù)運算可以獲得對應的李代數(shù),結合矩陣對數(shù)的性質可以推導得
1n(RA)=RX1n(RB)RXT
(9)
由旋轉矩陣的性質可知,1n(RA)和ln(RB)均為反對稱矩陣。對任意的三維向量ω,將其對應的反對稱矩陣記為[ω]×,代入式(9)可得
[α]×=RX[β]×RXT
(10)
α和β分別為1n(RA)和1n(RB)對應的三維向量。結合反對稱矩陣的性質可得
[α]×=[RXβ]×
(11)
對于任意的反對稱矩陣,其對應的三維向量是唯一的。因此式(11)可改寫為
α=RXβ
(12)
式(11)與式(12)等價,描述了手眼標定求解過程中旋轉分量上的約束關系。當使用多組齊次變換矩陣Ai和Bi(i=1,2,…,n)進行手眼標定時,定義手眼標定在旋轉分量上的誤差函數(shù)為
(13)
αi和βi∈R3,分別為齊次變換矩陣Ai和Bi的旋轉矩陣所對應的李代數(shù)。
對于式(7)所示的手眼標定求解的平移分量,定義手眼標定在平移分量上的誤差函數(shù)為
(14)
RAi∈SO(3),表示齊次變換矩陣Ai對應的旋轉矩陣;bAi,bBi∈R3,分別表示齊次變換矩陣Ai和Bi對應的平移向量。記γ∈R3為旋轉矩陣RX對應的李代數(shù),定義手眼標定問題的決策向量x∈R6為
(15)
定義手眼標定問題對應的目標函數(shù)為
f(x)=Er(x)+λEt(x)
(16)
λ為權重系數(shù)。則手眼標定問題的數(shù)學模型可以表示為
(17)
對于任意的三維向量,在SO(3)上都有唯一的元素與其對應。當計算得到最優(yōu)解x*時,對應的旋轉矩陣RX和平移向量bX也唯一確定。該優(yōu)化問題的構造形式保證了通過求解式能夠獲得位于SE(3)上的齊次變換矩陣X,而不需要附加額外的約束條件。
為了求解式(17)所示的優(yōu)化問題,采用差分進化算法計算最優(yōu)的齊次變換矩陣X。差分進化算法是一種隨機啟發(fā)式搜索方法,擁有較強的全局搜索能力和魯棒性,能夠避免在搜索最優(yōu)解的過程中落入局部最優(yōu)。差分進化算法的基本思想是模擬生物進化規(guī)律進行搜索迭代,算法實現(xiàn)包含如下步驟。
a.隨機生成初代種群。在6維空間中,設定各個維度的上界和下界,隨機產生M個符合約束條件的6維向量xi(i=1,2,…,M)。
b.變異操作。設當前種群處于第t代,對于下一代的變異個體hi(t+1),其產生的方式為
hi(t+1)=xp1(t)+F(xp2(t)-xp3(t))
(18)
c.交叉操作。對變異個體hi(t+1)進行交叉,生成新的待選個體vi(t+1),具體的操作為
(19)
vij(t+1)和xij(t)分別為vi(t+1)和xi(t)的第j個分量(j=1,2,…,6);r為區(qū)間[0,1]內的隨機數(shù);CR∈[0,1]為交叉因子。
d.選擇操作。設置算法的評價函數(shù)為手眼標定問題的目標函數(shù)f(x),通過評價函數(shù)確定差分進化方向,生成第t+1代個體:
(20)
定義第t代種群中對應評價函數(shù)值最小的個體為第t代的最優(yōu)個體。在產生新一代種群后,若迭代達到最大迭代次數(shù),則停止迭代,否則重新執(zhí)行步驟b到步驟d。迭代結束后,末代的最優(yōu)個體即為差分進化算法所獲得的優(yōu)化問題最優(yōu)解。
為了驗證本文所提出的基于差分進化算法的手眼標定方法(以下簡稱為差分進化算法)的有效性,搭建了機器人相機實驗平臺進行手眼標定實驗驗證,如圖2所示。實驗使用的機器人為UR10六自由度工業(yè)機器人,使用的相機為大恒MER-131-75GM/C單目工業(yè)相機,相機通過連接件固連于機器人末端執(zhí)行器。采用的標定板為8×7柵格的棋盤格標定板,每個棋盤格的邊長為25 mm,如圖3所示。
圖2 實驗平臺 圖3 采樣的標定板圖像
(21)
使用前18組齊次變換矩陣AN和BN(N=1,2,…,18)進行手眼標定,確定相機坐標系到機器人末端坐標系之間的變換矩陣X。使用后6組齊次變換矩陣AN和BN(N=19,20,…,24)對算法求得的變換矩陣X進行驗證。在確定手眼標定目標函數(shù)時,設定權重系數(shù)λ=1。在使用差分進化算法求解時,根據(jù)推薦的參數(shù)選取方式[15],設定個體數(shù)量M=30,變異因子F=0.5,交叉因子CR=0.9,最大迭代次數(shù)為100。根據(jù)先驗知識,設定種群的上界向量xU和下界向量xL為
(22)
計算得到的齊次變換矩陣X為
(23)
為了驗證該方法的有效性,以Zhao[12]提出的正交矩陣形式凸優(yōu)化方法(以下簡稱為凸優(yōu)化方法)進行對比。定義變換矩陣AN(N=19,20,…,24)的估計值為
(24)
相應地,定義估計AN時的平移誤差和旋轉誤差為:
(25)
(26)
圖4 不同樣本的平移誤差 圖5 不同樣本的旋轉誤差
利用李群李代數(shù)理論,將手眼標定問題轉化為針對誤差函數(shù)的優(yōu)化問題,通過對目標函數(shù)使用差分進化算法,實現(xiàn)優(yōu)化問題的求解。借助李代數(shù)與李群的對應特性,該方法能夠保證求解得到的齊次變換矩陣X落在SE(3)上。利用差分進化算法,避免了該方法在求解過程中落入局部最優(yōu)。最后搭建手眼標定實驗平臺,與其他方法進行對比實驗。實驗結果表明,本文所述方法在平移誤差估計和旋轉誤差估計上均能達到較高的精度,驗證了本文所述方法的可行性和有效性。