劉楚天,陳曉瀚,胡嘉成
(廣東工業(yè)大學(xué) 機(jī)電工程學(xué)院,廣東 廣州 510006)
視覺傳感器搭配機(jī)械臂進(jìn)行作業(yè)在整個工業(yè)生產(chǎn)中是很常見的。傳統(tǒng)的基于視覺傳感器的控制方式多是基于位置的視覺伺服方式,這種方式一般都需要對系統(tǒng)進(jìn)行標(biāo)定,需要標(biāo)定的部分包括相機(jī)內(nèi)部參數(shù)、機(jī)器人運動學(xué)參數(shù)以及相機(jī)與機(jī)器人之間的手眼關(guān)系。通常這種方式要求工作環(huán)境與標(biāo)定環(huán)境一致,但在有毒、高溫、水下等環(huán)境中都沒有辦法進(jìn)行標(biāo)定操作。標(biāo)定的過程是非常繁瑣的,對操作人員有一定要求,且標(biāo)定過的系統(tǒng)結(jié)構(gòu)發(fā)生了變化其參數(shù)也會發(fā)生變化,需要重新進(jìn)行標(biāo)定。為了解決這些問題,免標(biāo)定視覺伺服的方式被提出,例如使用神經(jīng)網(wǎng)絡(luò)去擬合手眼關(guān)系、基于卡爾曼濾波估計圖像雅克比矩陣、基于自抗擾控制器(Auto Disturbance Rejection Controller)的免標(biāo)定視覺伺服控制等[1]。
所謂的免標(biāo)定視覺伺服是指在不進(jìn)行相機(jī)以及手眼標(biāo)定的情況下,利用視覺系統(tǒng)控制機(jī)器人完成目標(biāo)任務(wù)的方法。基于圖像的視覺伺服常用于免標(biāo)定的視覺伺服控制中[2,3]?;趫D像的視覺伺服是需要圖像特征的,通常控制六軸機(jī)器人需要四個特征點,但在某些情況下目標(biāo)可能并沒有豐富的圖像特征,如軌跡跟蹤[4]。因此,需要一種在少特征的情況下也能進(jìn)行免標(biāo)定視覺伺服的方法。本文提出了一種雙目免標(biāo)定視覺伺服系統(tǒng),并從系統(tǒng)的軟硬件設(shè)計、系統(tǒng)圖像雅克比矩陣估計算法、控制器算法三方面展開論述,最后通過定位實驗說明本系統(tǒng)的可行性和有效性。
雙目免標(biāo)定視覺伺服系統(tǒng)主要由三部分組成,分別是機(jī)器人執(zhí)行部分、視覺傳感部分以及控制器部分。整個系統(tǒng)的硬件部分包括視覺傳感器、六軸機(jī)械臂以及上位機(jī)。雙目免標(biāo)定視覺伺服系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 雙目免標(biāo)定視覺伺服系統(tǒng)結(jié)構(gòu)框圖
六軸機(jī)械臂作為系統(tǒng)的執(zhí)行機(jī)構(gòu),實時地接收上位機(jī)發(fā)送的控制指令,在接收指令之后其內(nèi)部關(guān)節(jié)速度控制器控制各關(guān)節(jié)達(dá)到指令設(shè)定值。視覺傳感器利用其自身可以通過光學(xué)元件感知外界信息的特點為系統(tǒng)提供豐富的信息。上位機(jī)是整個系統(tǒng)的大腦,系統(tǒng)的圖像雅克比矩陣估計算法、圖像特征提取算法、機(jī)器人的控制算法都是在其中進(jìn)行的。上位機(jī)與機(jī)器人之間的硬件連結(jié)是由雙絞線完成的,軟件上的通信是由socket實現(xiàn)的,視覺傳感器和電腦的信息傳輸是通過USB數(shù)據(jù)線完成的,各個算法以及模塊之間的信息交換也都是在上位機(jī)上完成的。
為了使各個模塊之間相互獨立,本系統(tǒng)采用多線程的方式,以降低圖像處理時耗長對整個系統(tǒng)的不利影響。圖像處理模塊實時地對視覺傳感器獲得的圖片進(jìn)行圖像處理,包括濾波、二值化、邊緣檢測、目標(biāo)提取等,并將獲得的信息構(gòu)造成圖像的特征向量發(fā)送給另外兩個模塊。圖像雅克比矩陣估計模塊會實時地接收圖像處理模塊發(fā)送的圖像特征向量信息以及機(jī)器人發(fā)送的關(guān)節(jié)角信息,通過算法結(jié)合上述的信息估算出系統(tǒng)下一步的圖像雅克比矩陣并發(fā)送給控制模塊??刂颇K實時接收上面兩個模塊發(fā)送的信息,并計算出機(jī)械臂關(guān)節(jié)的運動速度,實時調(diào)整機(jī)械臂的運動控制機(jī)器人完成定位任務(wù)。
(1)
(2)
其中:s(t)和s(d)分別為當(dāng)前圖像特征和期望圖像特征。
在絕大多數(shù)機(jī)器人系統(tǒng)中,控制兩輸入的都是關(guān)節(jié)運動速度。對于這樣的系統(tǒng),我們可以建立如下微分映射關(guān)系,即:
(3)
(4)
其中:J=JpJr為系統(tǒng)的圖像雅克比矩陣。
圖像雅克比矩陣實質(zhì)上是對非線性的手眼映射關(guān)系在某一時刻線性逼近,這就需要對每一時刻的圖像雅克比矩陣進(jìn)行在線估計。本文選擇線性離散卡爾曼濾波算法對系統(tǒng)的圖像雅克比矩陣進(jìn)行實時在線估計。
將系統(tǒng)的圖像雅克比矩陣的各個元素看成是某一線性離散系統(tǒng)的狀態(tài)變量,定義系統(tǒng)的狀態(tài)變量為:
(5)
根據(jù)卡爾曼濾波算法基本理論和濾波公式,首先對系統(tǒng)的狀態(tài)進(jìn)行先驗估計:
(6)
計算先驗誤差協(xié)方差矩陣:
(7)
獲取卡爾曼增益:
(8)
其中:K(k)為k時刻的最優(yōu)卡爾曼增益;C(k)為k時刻的測量矩陣;Rv為測量噪聲方差陣,一般是常量,取Rv=0.5I8。
矯正狀態(tài)估計誤差方差陣:
(9)
獲取系統(tǒng)狀態(tài)的最優(yōu)估計:
(10)
x(0)是初始圖像雅克比矩陣所轉(zhuǎn)換的初始向量。初始圖像雅克比矩陣獲取方法是在機(jī)器人的初始位置任意給定l步線性無關(guān)的試探運動(l即為機(jī)器人的自由度,本文為6),得到相鄰兩次的機(jī)器人的關(guān)節(jié)角變化,Δp1,…,Δpl,并在每次運動時觀察相應(yīng)的軌跡起始端的像素坐標(biāo)變化Δf1,…,Δfl,從而獲取初始的圖像雅克比矩陣估計值J(0),即:
(11)
定義系統(tǒng)誤差為圖像誤差e(t)=s(d)-s(t)。在跟蹤過程中,為了加速系統(tǒng)響應(yīng),引入了比例控制策略:
va=c1J+e(t).
(12)
其中:va為機(jī)器人的關(guān)節(jié)角速度;c1為比例控制系數(shù);J+為J的偽逆矩陣。
通過李雅普諾夫函數(shù)來驗證系統(tǒng)的穩(wěn)定性[5]:
(13)
考慮到系統(tǒng)的圖像雅克比矩陣模型式(4)和圖像誤差e(t),則式(13)的導(dǎo)數(shù)為:
(14)
由李雅普諾夫穩(wěn)定性理論可知:當(dāng)JJ+正定時,閉環(huán)控制系統(tǒng)逐漸趨于穩(wěn)定;當(dāng)JJ+半正定時,該系統(tǒng)無法通過李雅普諾夫函數(shù)判斷是否是穩(wěn)定的。
在實際的系統(tǒng)中,可以通過合理地選擇圖像特征以及限制機(jī)械臂的關(guān)節(jié)運動范圍來使JJ+保持正定,從而避免系統(tǒng)的不收斂?;趫D像的免標(biāo)定視覺伺服系統(tǒng)控制原理框圖如圖2所示。
圖2 基于圖像的免標(biāo)定視覺伺服系統(tǒng)控制原理框圖
本文通過機(jī)械臂末端定位實驗對所提出的雙目免標(biāo)定視覺伺服系統(tǒng)的可行性進(jìn)行了驗證,搭建的系統(tǒng)實物圖如圖3所示。
圖3 搭建的系統(tǒng)實物圖
本系統(tǒng)選擇六自由度協(xié)作型操作臂作為執(zhí)行模塊,其控制器通過雙絞線與上位機(jī)相連,并實時地將機(jī)器人的關(guān)節(jié)角信息發(fā)送給上位機(jī)。將兩臺工業(yè)相機(jī)安裝在操作臂末端使其固連,可以保證兩臺相機(jī)與機(jī)器人末端的速度是一致的。這兩臺相機(jī)實時地獲取目標(biāo)點的圖片并通過USB數(shù)據(jù)線發(fā)送給上位機(jī)。上位機(jī)接收到圖片信息以及其機(jī)器人關(guān)節(jié)角信息后會調(diào)用圖像處理算法、系統(tǒng)的圖像雅克比矩陣估計算法、控制算法并將處理后得到的信息發(fā)送給機(jī)器人控制器驅(qū)動機(jī)器人進(jìn)行運動。本實驗的圖像目標(biāo)是兩個點,用以驗證少目標(biāo)點的情況下本系統(tǒng)可以完成機(jī)器人的視覺免標(biāo)定定位實驗。整個實驗都是在沒有進(jìn)行相機(jī)、手眼以及機(jī)器人運動學(xué)參數(shù)標(biāo)定的情況下進(jìn)行的。
本實驗的目標(biāo)是將機(jī)器人從初始位置移動到期望位置,即將圖像中的目標(biāo)點從初始位置移動到期望位置。初始的圖像特征向量為:
s=[u11,v11,u12,v12,u21,v21,u22,v22]T=
[450,320,504,312,186,352,281,345]T.
(15)
其中:(u11,v11)為相機(jī)1中第1個特征點初始位置的像素坐標(biāo);(u12,v12)為相機(jī)1中第2個特征點初始位置的像素坐標(biāo);(u21,v21)為相機(jī)2中第1個特征點初始位置的像素坐標(biāo);(u22,v22)為相機(jī)2中第2個特征點初始位置的像素坐標(biāo)。
期望的圖像特征向量為:
[400,212,451,205,137,160,241,151]T.
(16)
本系統(tǒng)所選用的噪聲值是通過多次實驗效果確定的,上文已介紹,這里不過多贅述。
經(jīng)過多次重復(fù)實驗,可以證明本系統(tǒng)可以達(dá)到預(yù)計目標(biāo)。其中一次的實驗初始圖像、期望圖像以及經(jīng)過實驗后的最終圖像如圖4所示,可以看出實驗后的圖像與期望圖像是很相近的。在定位過程中各圖像中圖像特征點的圖像誤差變化過程如圖5所示。由圖5可以看出:每個點都是從一開始就朝著縮小圖像誤差的方向運動,直到最后收斂到0附近。
圖4 實驗前、后的圖像
圖5 兩個相機(jī)中的兩個圖像特征點的誤差變化過程
本文提出了一種雙目免標(biāo)定視覺伺服系統(tǒng),并介紹了系統(tǒng)實現(xiàn)的理論原理:本系統(tǒng)使用的是基于圖像的視覺伺服方法,采用圖像雅克比矩陣的方法代替?zhèn)鹘y(tǒng)的手模型,通過卡爾曼濾波對圖像雅克比矩陣進(jìn)行估計并更新,最后通過比例控制法控制機(jī)器人到達(dá)目標(biāo)位置。定位實驗驗證了本系統(tǒng)的可行性。