李金健, 胡 權(quán)
北京理工大學(xué), 北京 100090
空間機(jī)械臂在完成在軌抓取操作、在軌組裝以及空間碎片捕獲等任務(wù)時,首先要解決對周邊環(huán)境、操作對象的感知與測量問題[1].為此,通常攜帶傳統(tǒng)圖像相機(jī)作為視覺傳感器[2].但是傳統(tǒng)圖像相機(jī)具有數(shù)據(jù)量大、測量延遲高等缺點(diǎn),當(dāng)目標(biāo)在快速旋轉(zhuǎn)或移動時,獲得的圖像具有拖影,給測量、辨識以及跟蹤帶來了難題.除此之外,傳統(tǒng)相機(jī)動態(tài)范圍低,難以在空間復(fù)雜光學(xué)環(huán)境下開展目標(biāo)識別與跟蹤工作.針對以上問題,本文選取動態(tài)視覺傳感器(dynamic vision sensor, DVS)作為感知器件來解決空間機(jī)械臂的測量和控制問題.
動態(tài)視覺傳感器又稱為事件相機(jī)(event camera),是一種受生物啟發(fā)的基于地址-事件格式表達(dá)的新型視覺傳感器.如圖1所示[3],與傳統(tǒng)相機(jī)同步輸出圖像幀的原理不同,事件相機(jī)只捕捉場景的運(yùn)動信息,并異步輸出事件流數(shù)據(jù),這使得事件相機(jī)具有一些傳統(tǒng)相機(jī)無法比擬的優(yōu)勢,如低延遲、高時間分辨率、低數(shù)據(jù)量以及高動態(tài)范圍特性等[4].事件相機(jī)一般能達(dá)到120 dB以上的場景動態(tài)范圍,遠(yuǎn)高于傳統(tǒng)相機(jī)的60 dB,這使得其在復(fù)雜空間環(huán)境下仍能有效開展工作.由于事件相機(jī)具有諸多傳統(tǒng)視覺傳感器不具備的優(yōu)勢,期望將事件相機(jī)作為感知測量器件,提升空間機(jī)械臂的感知與操作能力.
圖1 事件相機(jī)與傳統(tǒng)圖像相機(jī)的工作原理對比Fig.1 Comparison of principles between event cameras and traditional image cameras
目前,在機(jī)械臂視覺伺服領(lǐng)域,結(jié)合事件相機(jī)的研究成果較少,大多數(shù)工作依舊使用傳統(tǒng)圖像相機(jī)作為視覺傳感器.RAJKUMA等[5]于2020年首次基于事件相機(jī)實(shí)現(xiàn)了機(jī)械臂視覺伺服,其采用Harris算子提取活躍事件表面中的角點(diǎn)信息,并通過圖像雅可比矩陣、角點(diǎn)熱圖等實(shí)現(xiàn)對目標(biāo)的跟蹤和抓取.隨后,他們又引入基于位置的視覺伺服方法實(shí)現(xiàn)了基于事件相機(jī)的鉆孔任務(wù)[6].對于視覺伺服而言,高精度、高幀率的特征檢測與跟蹤是任務(wù)成功的關(guān)鍵.上述研究中所使用的角點(diǎn)特征存在跟蹤困難、跟蹤精度低等缺點(diǎn).相比于角點(diǎn)特征,圓形特征所攜帶的信息更多,跟蹤相對容易.目前基于事件的圓形特征檢測主要基于Hough變換開展,如eHough和梯度eHough算法等[7],但這些算法都存在計算量大的缺點(diǎn).本文提出了基于迭代重加權(quán)最小二乘的圓形特征檢測與跟蹤算法,能夠在實(shí)現(xiàn)同等跟蹤成功率的情況下實(shí)現(xiàn)更高幀率的特征檢測反饋,充分發(fā)揮事件相機(jī)的高時間分辨率優(yōu)勢.隨后,利用基于事件的視覺伺服(event-based visual servo, EBVS)方法[5],設(shè)計了跟蹤運(yùn)動目標(biāo)的視覺控制律.所設(shè)計的控制方法能夠有效降低視覺延遲,提高特征檢測頻率以及機(jī)械臂伺服精度.
事件相機(jī)由獨(dú)立的像素組成,這些像素根據(jù)亮度的變化生成異步事件流數(shù)據(jù).若像素x=[xy]T處產(chǎn)生的亮度增量滿足式(1)則會產(chǎn)生一個事件
ΔL(xi,ti)=piC,i∈N
(1)
式中,i代表事件序號,ΔL表示亮度增量,ti是第i個事件發(fā)生的時間戳,pi∈{-1,+1}代表事件的極性,C>0是恒正的時間對比度閾值.當(dāng)同一像素處ΔL增大到超過時間對比度閾值,則該像素輸出一個正極性(ON)事件;若光線變暗,ΔL降低到一定閾值,則會輸出一個負(fù)極性(OFF)事件.因此,事件e可以被異步的表示為如下形式:
ei=[xitipi]T
(2)
在處理事件數(shù)據(jù)時,針對不同的應(yīng)用有不同的處理方法.常用的方法包括逐事件處理、批量事件處理以及合成事件幀處理等[4].其中,合成事件幀方法通過累積事件生成灰度圖像以適配傳統(tǒng)視覺算法,具有較大延遲且背離了事件異步處理范式.相比而言,逐事件和批量事件方法更貼合異步處理事件的初衷.
由于事件數(shù)據(jù)與圖像數(shù)據(jù)在編碼方式上大為不同,傳統(tǒng)視覺中的邊緣檢測或Hough變換等算法很難有效應(yīng)用于事件數(shù)據(jù)處理.因此,針對基于事件相機(jī)的圓形特征檢測任務(wù),首先使用批量事件處理方法將N個事件統(tǒng)一為一組,然后基于擬合的方式檢測圓形特征.
批量事件處理中的事件數(shù)量可以采用固定數(shù)量或固定時間的方式確定.其中,固定數(shù)量累積的方式會產(chǎn)生不規(guī)則的視覺反饋信息,不便于視覺伺服控制器的設(shè)計.除此之外,考慮到事件相機(jī)的實(shí)際信號采集,事件以包的形式按固定時間傳輸,因此采用固定時間累積方法.取時間間隔ΔT,第k個周期累積得到的事件集合可以表示為
(3)
由于事件相機(jī)生成的稀疏事件大多分布于邊緣特征附近,因此可采用類似迭代最近點(diǎn)的方法[8],通過求解如下優(yōu)化問題來擬合圓形特征的圓心坐標(biāo)c=[cxcy]T以及半徑r.
(4)
式(4)本質(zhì)上是圓的幾何擬合方法,需要非線性優(yōu)化求解,求解速度較慢.為了匹配事件相機(jī)的超高時間分辨率特性,可以使用圓的代數(shù)擬合方法作為近似[9],該優(yōu)化問題可表示為
(5)
式(5)為線性最小二乘問題,存在解析解且求解速度快.文獻(xiàn)[9]證明了其與式(4)的擬合精度相近,并且擁有相同的擬合方差.為了進(jìn)一步提高檢測精度,降低事件流中背景活動噪聲的影響[10],本文使用基于Tukey權(quán)重函數(shù)的迭代重加權(quán)最小二乘方法(iterative reweight least square, IRLS)求解上述線性最小二乘問題[11].
(6)
(7)
其中:最大半徑rmax是為了避免ROI的無限擴(kuò)大所設(shè)計的半徑上限,與跟蹤的特征大小有關(guān);rmultiple為縮放系數(shù),本文取為1.5獲得ROI后,用于后續(xù)擬合以及跟蹤的事件集合為
(8)
航天器的對接裝置、表面圓孔等會在相機(jī)圖像坐標(biāo)系中形成二維圓形特征.基于觀察到的二維特征,可使用視覺伺服的方式實(shí)現(xiàn)空間機(jī)械臂的抵近操作,從而為后續(xù)空間機(jī)械臂的操作任務(wù)提供基礎(chǔ).EBVS是基于圖像的視覺伺服(image-based visual servo, IBVS)方法的推廣[12],其控制流程圖如圖2所示.視覺伺服任務(wù)需建立任務(wù)變量與機(jī)械臂控制變量之間的微分關(guān)系,通過設(shè)計視覺控制器使任務(wù)變量與期望任務(wù)變量之間的誤差趨近于零.本文采用單目手眼配置的視覺伺服框架,事件相機(jī)安裝于空間機(jī)械臂末端.經(jīng)過特征檢測的事件流數(shù)據(jù)被轉(zhuǎn)化為EBVS控制器可用的特征信息從而實(shí)現(xiàn)視覺伺服.
圖2 EBVS控制結(jié)構(gòu)圖Fig.2 Control structure diagram of EBVS
(9)
其中:JC為時變的復(fù)合雅克比矩陣,該矩陣由3個雅克比矩陣復(fù)合而成:第一部分是圖像雅可比矩陣JS,第二部分是空間機(jī)械臂廣義雅可比矩陣JG[13],第三部分是相機(jī)速度與機(jī)械臂末端速度之間的微分雅克比矩陣JT;?s/?t是目標(biāo)運(yùn)動引起的特征變化率.廣義雅可比矩陣JG是基座姿態(tài)Ψb、機(jī)械臂關(guān)節(jié)角q以及各剛體質(zhì)量mi和慣量Ii的函數(shù),i表示各剛體序號.考慮基座受控狀態(tài)時,廣義雅克比矩陣近似只與機(jī)械臂關(guān)節(jié)角有關(guān).
基于1.2節(jié)提出的圓形特征檢測跟蹤算法構(gòu)造圖像雅可比矩陣.圓形特征屬于圖像矩特征的一種.對于連續(xù)密集分布的圖形O,i+j階原點(diǎn)矩定義為
(10)
根據(jù)文獻(xiàn)[14]中的結(jié)論,原點(diǎn)矩特征可由格林公式計算圖像雅可比矩陣.對于圓形特征還可以找到一組解耦特征,即規(guī)范化重心-面積特征,使得所控制的3個平動自由度解耦.規(guī)范化重心-面積特征為
(11)
設(shè)計視覺控制律使得當(dāng)前特征收斂至期望特征附近.為保證1.2節(jié)圓形特征檢測跟蹤算法有效,需要使目標(biāo)特征所在平面與事件相機(jī)的成像平面始終平行,因此本文按此工況設(shè)計視覺控制律,使用檢測得到的圓形特征來控制事件相機(jī)的平動自由度,同時使用基于位置的視覺伺服獨(dú)立控制相機(jī)的轉(zhuǎn)動自由度,從而保證平行條件.若需要處理不平行的情況,需要改進(jìn)1.2節(jié)的算法以檢測透視投影后的橢圓特征參數(shù),另外還需要設(shè)計橢圓特征的圖像雅可比矩陣等,本文對此不做討論.
使用具有前饋環(huán)節(jié)的比例負(fù)反饋設(shè)計速度級視覺控制器.當(dāng)目標(biāo)運(yùn)動引起的特征變化率被準(zhǔn)確估計的情況下,控制平動自由度的方程為
(12)
控制轉(zhuǎn)動自由度的方程為
w=-λwθu
(13)
(14)
第k-1個控制周期給定控制量所引起的圓形特征變化率可以寫為JS,k-1vk-1.假設(shè)目標(biāo)在第k個控制周期的速度保持不變,可以將式(12)寫為
(15)
使用事件相機(jī)進(jìn)行視覺伺服會面臨一個傳統(tǒng)視覺伺服不會遇到的問題,即在特征誤差收斂到0的過程中,相機(jī)與目標(biāo)之間的相對速度逐漸趨近于0,會造成事件量降低并引起特征檢測失效.
對式(1)進(jìn)行線性化后可得[4]
piLt(xi,ti)Δti=C
(16)
其中,Δti為xi像素處發(fā)生的事件相距上一事件之間的時間差.考慮理想的事件生成模型,且像素xi處所有事件的極性在較短的ΔT內(nèi)不變.使用亮度恒定性假設(shè),可以獲得光流和事件數(shù)量之間的近似關(guān)系
(17)
本節(jié)對C設(shè)計調(diào)節(jié)策略來主動改善事件量大小,使其維持在能夠?qū)崿F(xiàn)特征檢測的程度.與此同時,該調(diào)節(jié)策略也可以避免過大事件量造成的計算效率下降.定義時間對比度靈敏度σ=1/C,采用如下調(diào)節(jié)策略:
(18)
其中,κ為調(diào)節(jié)增益,N*為期望事件量,σ的上限和下限分別取5和1.5[16].得到所需的時間對比度閾值之后,按照對數(shù)特性調(diào)節(jié)事件相機(jī)的內(nèi)部電流.對于事件仿真器而言可以直接修改C值,對于商業(yè)事件相機(jī),可調(diào)用時間對比度設(shè)定接口.
本文的仿真環(huán)境基于第二代機(jī)器人操作系統(tǒng)(robot operating system2, ROS2)以及Ignition Gazebo仿真器搭建.仿真中使用六自由度機(jī)械臂,DH參數(shù)與AUBO-i5機(jī)械臂一致.仿真相機(jī)固定于機(jī)械臂末端,形成手眼配置視覺伺服系統(tǒng).對于事件相機(jī)仿真,需要根據(jù)高幀率圖像信號合成事件流信號.本文調(diào)用Ignition Gazebo圖像話題,使用V2E模擬器生成合成事件[17],原始圖像幀速率(frames per second, FPS)為200.表1列出了仿真環(huán)境中事件相機(jī)相關(guān)的參數(shù).
表1 仿真環(huán)境參數(shù)表Tab.1 Simulation environment parameters
關(guān)于時間對比度閾值方差,截斷頻率以及各噪聲的具體參數(shù)含義可參考文獻(xiàn)[16].搭建的仿真環(huán)境如圖3所示,目標(biāo)在XY平面內(nèi)繞點(diǎn)(0.55,0.2)m,以角速度0.4 rad/s做半徑為0.1 m的圓周運(yùn)動.
圖3 視覺伺服仿真場景Fig.3 Simulation scene of the visual servo
為驗(yàn)證基于事件的特征檢測算法的性能,對比了傳統(tǒng)的基于幀的Hough算法以及eHough算法[7].該算法根據(jù)每個事件的梯度方向進(jìn)行Hough變換,有效減少了Hough變換的變換次數(shù).
本文總共進(jìn)行了10次特征檢測跟蹤實(shí)驗(yàn),單次實(shí)驗(yàn)時長為30 s.測試時,機(jī)械臂靜止,只啟用特征檢測模塊且目標(biāo)始終位于相機(jī)視野中.基于事件的檢測算法以ΔT=500 μs的間隔累積事件,各算法的檢測速率按照總計算時長除以檢測次數(shù)來計算.3種算法都實(shí)現(xiàn)了100%的跟蹤率,即實(shí)驗(yàn)時均沒有發(fā)生目標(biāo)丟失.本文所提出算法在單次實(shí)驗(yàn)中的部分結(jié)果展示于圖4,其中,黃色點(diǎn)為累積事件,內(nèi)部紅色圓形為檢測得到的圓特征,外部紫色圓形為當(dāng)前時刻ROI.圖4顯示了從初始跟蹤到跟蹤收斂的過程,該算法在短時間內(nèi)實(shí)現(xiàn)了10次跟蹤.
圖4 基于事件的圓形特征檢測結(jié)果Fig.4 Results of event-based circular feature detection
三種算法的平均檢測速率列于表2可以看出,本文提出的圓形特征檢測跟蹤算法實(shí)現(xiàn)了極高的檢測速率,并且遠(yuǎn)遠(yuǎn)超過了傳統(tǒng)相機(jī)的檢測極限.
表2 圓形特征檢測算法對比Tab.2 Comparison of circular detection algorithms
本節(jié)對比了IBVS控制器與本文設(shè)計的EBVS控制器在運(yùn)動目標(biāo)伺服跟蹤實(shí)驗(yàn)上的效果,兩者都使用相同的視覺控制律,區(qū)別僅在于特征檢測算法.IBVS從圖像中提取圓形特征而EBVS使用1.2節(jié)所設(shè)計的檢測跟蹤算法.
機(jī)械臂的初始關(guān)節(jié)角為(-1.11, 0.06, 1.29, -0.34, 1.57, 0.46) rad,歸一化的期望特征量為(0,0,0.4),期望深度為0.4 m.當(dāng)目標(biāo)發(fā)生移動時,特征檢測模塊將輸出圓形特征的規(guī)范化表達(dá),然后采用ROS2通訊將該信息傳輸給機(jī)械臂視覺伺服模塊.若系統(tǒng)狀態(tài)正常,則該模塊計算特征誤差,根據(jù)視覺控制律生成機(jī)械臂關(guān)節(jié)速度指令,控制機(jī)械臂快速移動至期望位置.啟動控制節(jié)點(diǎn)后,IBVS和EBVS都可以在短時間內(nèi)使特征收斂至期望特征附近,收斂結(jié)果如圖5所示.
圖5 視覺伺服收斂結(jié)果對比Fig.5 Comparison of convergence results of visual servo
圖5(b)中外圈圓為EBVS收斂時刻的ROI.圖5(c)為伺服過程中相機(jī)中心的三維軌跡,IBVS與EBVS都能夠?qū)崿F(xiàn)對圓周運(yùn)動目標(biāo)的跟蹤,然而,在跟蹤圓周運(yùn)動的過程中IBVS出現(xiàn)了漂移.盡管EBVS始終處于較好的跟蹤狀態(tài),但跟蹤軌跡存在一定抖動,這是由于事件流相比圖像數(shù)據(jù)具有更多的噪聲,在EBVS高頻反饋下,造成了控制量出現(xiàn)抖動.
IBVS和EBVS的特征誤差以及機(jī)械臂關(guān)節(jié)角的仿真結(jié)果如圖6與圖7所示.圖6(a)與圖7(a)表示歸一化特征誤差隨時間的變化,圖6(b)與圖7(b)表示機(jī)械臂各關(guān)節(jié)角隨時間的變化情況.仿真結(jié)果顯示,兩種視覺傳感器的收斂時間相近,說明視覺伺服的控制周期長短對對收斂時間影響較小.
圖6 基于圖像的視覺伺服結(jié)果Fig.6 Results of the IBVS
圖7 基于事件的視覺伺服結(jié)果Fig.7 Results of the EBVS
然而,在伺服收斂階段,使用這兩種視覺傳感器所形成的震蕩程度是不同的,EBVS最終的穩(wěn)態(tài)誤差約為0.01,對于IBVS則約為0.017,且存在速度突變的風(fēng)險.這是因?yàn)樵谠O(shè)計目標(biāo)速度補(bǔ)償時,假設(shè)了目標(biāo)在相鄰兩個周期的速度相同,但這在實(shí)際情況下是很難滿足的.當(dāng)控制周期較長時,目標(biāo)在下一時刻的速度已經(jīng)發(fā)生較大變化,造成了跟蹤精度較低.從這個角度來看,使用事件相機(jī)可以很輕松的達(dá)到高幀率的視覺反饋,能夠?yàn)闄C(jī)械臂伺服跟蹤系統(tǒng)提供有力跟蹤保證,從而實(shí)現(xiàn)較高精度的伺服跟蹤.但需要注意的是,這需要2.4節(jié)調(diào)節(jié)策略的支撐,否則在特征誤差極小時,事件相機(jī)可能無法形成足夠的事件用于進(jìn)行特征檢測.
所使用的地面實(shí)驗(yàn)系統(tǒng)包括AUBO-i5六自由度機(jī)械臂,CeleX-V事件相機(jī)[18]以及工控計算機(jī),上位機(jī)軟件基于ROS2開發(fā).針對CeleX-V參數(shù)標(biāo)定,首先使用其灰度功能采集圖像幀,使用張正友標(biāo)定法[19]與Tsai-Lenz法[20]分別對其內(nèi)參、外參進(jìn)行標(biāo)定.運(yùn)動目標(biāo)視覺伺服與跟蹤地面實(shí)驗(yàn)場景及實(shí)驗(yàn)過程如圖8所示.
圖8 運(yùn)動目標(biāo)視覺伺服實(shí)驗(yàn)過程Fig.8 Experimental process of servo tracking of moving targets
目標(biāo)在二維平面內(nèi)多次進(jìn)行快速運(yùn)動.啟動特征檢測模塊與機(jī)械臂視覺伺服模塊后,機(jī)械臂根據(jù)事件相機(jī)檢測到的特征信息向目標(biāo)趨近.伺服過程中,目標(biāo)每進(jìn)行一次運(yùn)動,機(jī)械臂便會立即跟隨同一方向移動,從而使特征誤差快速趨近于零,最終使圓形特征移動至圖像中心.
圖9展示了其中一次地面實(shí)驗(yàn)的特征誤差變化曲線,特征跟蹤誤差能在3 s內(nèi)收斂,說明所設(shè)計的圓形特征檢測與跟蹤算法以及機(jī)械臂視覺伺服方法是合理且有效的.
圖9 基于事件的視覺伺服地面實(shí)驗(yàn)結(jié)果Fig.9 Experiment results of the event-based visual servo
本文提出一種應(yīng)用于事件相機(jī)的基于擬合的圓形特征檢測與跟蹤算法,在該算法的基礎(chǔ)上,研究了基于規(guī)劃化重心-面積特征的空間機(jī)械臂視覺伺服方法,設(shè)計了具有前饋速度補(bǔ)償?shù)囊曈X控制律并論述了在跟蹤運(yùn)動目標(biāo)時,事件相機(jī)的高時間分辨率特性能夠提高伺服控制精度.仿真實(shí)驗(yàn)結(jié)果表明,提出的特征檢測與跟蹤算法能夠在獲得高跟蹤成功率的情況下實(shí)現(xiàn)高幀率特征檢測反饋.進(jìn)一步的,事件相機(jī)的高幀率反饋也增加了視覺伺服的收斂精度.地面實(shí)驗(yàn)中,機(jī)械臂在事件相機(jī)的驅(qū)動下能夠快速收斂至目標(biāo)位置附近,驗(yàn)證了基于事件的視覺伺服的可行性.本文所提出的方法推動了事件相機(jī)在空間機(jī)械臂感知與控制領(lǐng)域的應(yīng)用.未來將進(jìn)一步探討事件相機(jī)在太空環(huán)境下的其他應(yīng)用模式,改進(jìn)和提升特征檢測與跟蹤算法在復(fù)雜空間環(huán)境下的跟蹤精度,設(shè)計變步長自適應(yīng)控制律以適配事件相機(jī)的視覺反饋信號.