侯月陽,林新迪,盧 山
(1.上海航天控制技術研究所,上海 201109; 2. 上海市空間智能控制技術重點實驗室,上海 201109)
空間機器人大多配備視覺敏感器,但是在軌服務、在軌碎片清除等領域中常規(guī)的視覺感知技術受到很多限制,例如光照、遮擋等[1]。對于被操控目標的很多內在屬性,例如“軟”、“硬”等,難以通過視覺敏感器感知獲取。對空間機器人而言,觸覺也是獲取環(huán)境信息的一種重要感知方式。與視覺不同,觸覺傳感器可直接測量多種性質特征。同時,觸覺也是人類感知外部環(huán)境的一種基本模態(tài)。因此,為機器人引入觸覺感知模塊,不僅在一定程度上模擬了人類的感知與認知機制,又符合實際操作應用的強烈需求[2]。然而,目前航天領域所用觸覺傳感相關研究較少,美國國家航空航天局(NASA)開發(fā)了機械手Robonaut上使用的觸覺傳感器[3],美國海軍空間技術中心報道了空間機器人上觸覺感知算法[4]。空間操作中的另一個重要方向是觸覺交互。日本開發(fā)了面向ETS-VII衛(wèi)星遙操作觸覺接口[5]。加州理工學院研制了可以綜合集成視覺與觸覺反饋的虛擬顯示系統(tǒng),可輔助應用于空間探測[6]。此外,還有專家提出將觸覺與視覺進行融合,從而實現(xiàn)異類信息的智能感知[7]。
在民用領域,科研人員對觸覺分類與識別開展了廣泛的研究。廣義地說觸覺包括接觸覺、壓覺、力覺、滑覺、冷熱覺等與接觸有關的感覺,狹義地說它是機械手與對象接觸面上的力感覺[8]。一般來說,機器人觸覺傳感器主要有檢測和識別功能。其中檢測功能包括對操作對象的狀態(tài)、機械手與操作對象的接觸狀態(tài)、操作對象的物理性質進行檢測;識別功能是在檢測的基礎上提取操作對象的形狀、大小、剛度、紋理、溫度等特征,以進行分類和物體識別[9]。
經(jīng)過對當前觸覺物體識別工作的系統(tǒng)調研,將用于觸覺物體識別的方法劃分為三類:剛性物體、紋理材質和可變形物體[10]。這三者的典型例子為金屬工件、布料和橘子。
對“剛性物體”的識別主要利用形狀信息。這一方法要求機械手多次抓取同一物體以獲得不同部位的信息,并利用樸素貝葉斯方法進行分類[11]。
對“紋理材質”的識別所用的物體一般具有標準的規(guī)則形狀,而重點考慮其表面特性; 與視覺敏感器相比,觸覺傳感器可以獲得更精細的紋理特性,同時,可以綜合利用振動、滑擦等方式獲得關于紋理材質的一些特殊性質,因此可形成對視覺敏感器的有益補充[12]。
對“可變形物體”的識別一般利用其形變特性。形變的識別同時強調物體的表面特性與內部狀態(tài),而這些內部狀態(tài)無法用普通的視覺敏感器獲取,形變過程需要用多變量時間序列刻畫,因此給物體的識別帶來很大挑戰(zhàn)。由于物體的形變特性非常復雜,一般很難用統(tǒng)一的模型對其機理進行描述,因此目前廣泛使用機器學習方法[13]。
機器學習成為觸覺物體識別的主流方法,深度學習在觸覺信號處理中的應用也開始起步,但如何有效地提取一般物體的觸覺特征以實現(xiàn)更高效準確的分類仍然是一個難題。本文首先介紹DTW觸覺序列表征,進一步研究建立DTW核實現(xiàn)對整個觸覺序列的編碼工作,然后通過觸覺分類抓捕試驗驗證了方法的有效性。
機器人靈巧手指尖的觸覺傳感器用來捕獲多層次物體特性,例如紋理特性、魯棒性、時空特性和摩擦特性等,因此成為智能機器人領域重要的傳感器模態(tài)。然而現(xiàn)有研究忽略了靈巧手不同指尖間采集到的物體多層次形態(tài)的聯(lián)系。
文獻[14]描述了自行設計開發(fā)的具有64組觸覺傳感模塊并按照8×8規(guī)格進行排列的觸覺傳感器。作者分別將其安裝在Schunk 2指與Schunk 3指靈巧手手指上來對一系列物體進行抓取以構建觸覺數(shù)據(jù)集,并利用觸覺時間序列的動態(tài)序列匹配(dynamic time warping,DTW)作為距離度量,使用了最近鄰分類算法對觸覺序列進行處理來進行物體識別。
使用DTW算法對時間序列進行分析建模的方法可以對時間序列進行彎曲和伸縮,對于長度不同的時間序列也具有較好的適用性,并且可以用于尋找時間序列之間的最佳匹配關系,具有較高的魯棒性,最初廣泛應用于對于聲音信號的辨識中。
文獻[6]將DTW算法應用于觸覺序列的度量。使用DTW算法來對觸覺序列進行特征提取,對于距離的衡量方法及過程如下:首先尋找一種合適的距離來作為DTW下界距離的量度。這種量度可以用于對不滿足相似性要求的距離的去除,并以此來提高算法的效率和準確性。DTW的下界距離一般需要滿足正確性、有效性和緊密性這三種要求。其中,正確性是指進行過濾處理后的下界距離中不可以漏掉任意一個滿足條件的時間序列;有效性是指盡量減少DTW距離計算過程中所花費的時間和空間成本;緊密性則要求DTW距離與所計算的下界距離結果近似,這樣可以使候選集在有限的空間中盡量包含盡量多的可用數(shù)據(jù),并且這樣也可以減少后續(xù)計算的復雜程度。
其次,通過該下界距離進行觸覺序列之間變量的對應,這種匹配關系如圖1所示[6]。每種匹配都使用一條虛線來表示,稱其為彎曲路徑,彎曲路徑有多條,但是這些彎曲路徑與每個樣本序列之間的對應關系是唯一的。彎曲路徑也必須滿足以下三點:保證序列的起始點與結束點相匹配,即由起點(x1,y1)開始,而由終點(xn,ym)止;彎曲路徑上的任意相鄰兩點(xi1,yj1)與(xi2,yj2)之間滿足不等式0≤|i1-i2|≤1,0≤|j1-j2|≤1;如果(xi1,yj1)、(xi2,yj2)是彎曲路徑上相連,則必須要滿足i2-i1≥0,j2-j1≥0。
圖1 DTW距離Fig.1 DTW distance
參照文獻[11]算法進行觸覺序列的建模與表征。觸覺序列分類問題表述如下:給定N個訓練時間序列樣本S=[S1,S2,…,Si,…SN]∈Rd×Ti×N,第i個樣本為Si∈Rd×Ti,其中Rd×Ti表示維度為d×Ti的實數(shù)集,d是序列的空間維度,Ti是序列的時間長度,樣本對應的標簽為li,i=1,2,…,N。設計一個能給新加入的樣本分類的分類器。顯然,怎樣挖掘序列間潛在的聯(lián)系來設計一個魯棒性的分類器是個十分重要的問題。
對各個手指的觸覺時間序列分類建模,手指個數(shù)為M,傳感器陣列的觸覺序列為o,其數(shù)值為p×q,其中p為傳感器陣列的行數(shù),q為傳感器陣列的列數(shù),隨著傳感器和物體接觸時間的推移,采集到的p×q的觸覺序列不斷增加。建模過程中,將每個p×q的觸覺序列按順序排列成長度為o的列數(shù)據(jù),因此單個手指單位時間采集到的觸覺序列為一個o維的序列。
每個觸覺序列的空間維度d通過M×o計算,靈巧手M個手指分別采集空間維度為o的觸覺序列,然后將M個手指采集到的M組序列按順序并排組合成d維的觸覺序列。
定義兩個長度為Ti和Tj的時間序列樣本Si和Sj,按時間分解為
Si=[si,1,si,2,…,si,t,…,si,Ti]∈Rd×Ti
(1)
Sj=[sj,1,sj,2,…,sj,t,…,sj,Ti]∈Rd×Ti
(2)
式中:si,t∈Rd,sj,t∈Rd,均為列向量,i,j=1,2,…,Ni,j。因此得到:
(3)
式中:W為Si和Sj之間的抓取路徑矩陣;wk=(i,j)k為抓取路徑W的第k個元素,K為W的最后一個路徑序號。所以最小匹配路徑采用DTW距離描述為
(4)
雖然DTW距離匹配對于不等長的觸覺時間序列能發(fā)揮最大優(yōu)勢,但是DTW距離不滿足三角不等式和距離測度的性質,在實際應用中,式(4)在編碼過程中對野值會出現(xiàn)奇異無解的情況,因此下一節(jié)提出一種稀疏編碼方法進行解決
本節(jié)在DTW距離的基礎上應用DTW核實現(xiàn)對整個觸覺序列的編碼工作。對于靈巧手的觸覺序列分類,靈巧手一般包含幾個觸覺手指,每個手指可以采集到不同的觸覺序列。提出基于觸覺的聯(lián)合稀疏編碼方法,用于一個單獨時間序列的不同手指間觸覺信息的簡單融合。這種方法不僅簡單而且能挖掘不同手指采集的觸覺信息指尖的內在聯(lián)系,把不同的手指當做不同的傳感器,然后單獨進行編碼。
指尖觸覺序列由M個手指獲得,每一個手指的觸覺序列可以由訓練樣本線性表示,聯(lián)合稀疏編碼聯(lián)合M個手指的觸覺信息對觸覺序列進行分類。
對于第i個樣本序列按不同采集手指信息可分解為S=[S1,S2,…,Sm,…,SM]T,由第m個手指得到的序列為Sm∈Ro×Ti×N,m=1,2,…,M,設第m個手指采集序列對應的字典為Φ(Dm),得到M個手指信息的聯(lián)合稀疏編碼為
(5)
式中:xm為第m個手指的稀疏編碼矢量,m=1,2,…,M;X=[x1x2x3]∈RN×3;L21范數(shù)為X每個列向量2范數(shù)的和。利用CVX凸優(yōu)化工具求解式(5)中的稀疏系數(shù)xm;利用得到的xm,根據(jù)稀疏編碼理論,測試樣本Sm的殘差rm,c計算為
(6)
式中:KT(Sm,Dm,c)=Φ(Sm)TΦ(Dm,c);K(Dm,c,Dm,c)=Φ(Dm,c)TΦ(Dm,c);Dm,c為第m個手指提取的觸覺序列字典中第c類的特征;Φ(Sm)T為Φ(Sm)的轉置。利用式(6)得到的殘差rm,c,計算M個手指的殘差和rc,有
(7)
聯(lián)合稀疏編碼方法解決下述優(yōu)化問題,即將不同手指的訓練樣本觸覺序列求取最小二乘結果,此時所得到的不同指尖觸覺序列度量為最優(yōu),有
(8)
式中:P∈R2×K為映射矩陣;K為對齊兩個信號所需的步數(shù);Si,P1,k和Sj,P2,k為不同手指的訓練樣本觸覺序列。把k行的P表示為Pk,然后可以描述該變量矩陣P的約束:
1)P1,k∈{1,2,…,Ti},P2,k∈{1,2,…,Tj};
2)邊界條件:p1=[1,1]T,pK=[Ti,Tj]T;
3)連續(xù)性:0≤pk+1-pk≤1,k=1,2,…,K-1;
4)單調性:pk1-pk2≤0,k1≤k2。
K值是受到限制的,有
max(Ti,Tj)≤K≤Ti+Tj-1
優(yōu)化問題可以等價為
(9)
式中:Z∈{0,1}K×Ti,Y∈{0,1}K×Tj為需要測量對齊的觸覺序列Si,Sj的二進制選擇矩陣。
圖3 抓取目標Fig.3 Grasping objects
實驗中,采集觸覺信息的多指靈巧手參數(shù)為手指數(shù)M=3,單手指傳感器單元數(shù)o=24,單手指傳感器行數(shù)p=8,但手指傳感器列數(shù)q=3。多指靈巧手手指標記成手指1、手指2、手指3。手指1和手指2同步旋轉并且對于關節(jié)底座對稱的展開。前后掌的“展開”運動允許爪子重新配置適應不同大小、形狀和方位的目標。除了擴展運動,靈巧手的3個手指設有兩個關節(jié)并且由一個無刷伺服電機驅動。使用3個手指可以使靈巧安全地“把握”各種物體。
在每個時間段,從每個手指的24個傳感器單元中收集觸覺數(shù)據(jù)。通過重塑8×3矩陣作為一個24維向量并且假設序列長度為T,分別獲得手指1、2、3的24維動態(tài)觸覺序列S1∈R24×T,S2∈R24×T,S3∈R24×T。最終串聯(lián)3個24維序列合并為一個單一的序列,有
(10)
選擇并采集7種典型精細操作目標(包括兩種柔性太陽能板、兩種插頭(分別為塑料和金屬材質)、三種線纜(分別為柔性線纜、多股線纜、金屬線纜),用觸覺信息表征目標信息,實物如圖2所示。
圖2 目標Fig.2 Objects
上述工作大多是利用指頭上的觸覺傳感器,在抓取過程中一般采取精細抓取模式。另一方面,很多機械手的掌部也帶有觸覺傳感器,這啟發(fā)了一些學者利用強力抓取模式來獲取觸覺數(shù)據(jù)。本文也利用這種操作模式針對典型目標開展觸覺序列的分類工作。在觸覺數(shù)據(jù)采集過程中,每個目標被三指靈巧手抓取10次,機械臂抓取位置圖如圖3所示。
觸覺信息反饋被接觸目標的材料、形狀、狀態(tài)等信息影響[15]。這些觸覺序列的不同可以用來進行目標分類識別,如圖4所示。
圖4 觸覺信息Fig.4 Tactile information
實驗過程中隨機10次選取9組觸覺樣本作為訓練集樣本,剩余1組作為測試集樣本,每種分類方法實驗準確率取10次隨機分類準確率的平均值。在表1和表2為以觸覺信息為特征的分類結果的混淆矩陣,其中表1是采用貝葉斯分類方法[3]的結果,表2是采用稀疏矩陣方法的分類結果。
表1 采用貝葉斯方法的觸覺混淆矩陣
表2 采用稀疏編碼的觸覺混淆矩陣
從上面兩個混淆矩陣中可以看出,由于抓取姿態(tài)的不同,不同類目標之間的區(qū)分度較好。但對同一類目標(如不同的線纜),存在一定的混淆。此外,采用貝葉斯分類方法的總體識別率為87.71%,采用稀疏編碼方法的總體識別率為90.07%,結果表明稀疏編碼方法對于觸覺分類準確率有2.36%的提升。
本文研究了采用觸覺進行目標分類感知的問題,重點研究了基于聯(lián)合稀疏編碼的觸覺信息表征方法,采用貝葉斯分類方法作為對比,進行了典型目標分類試驗,試驗結果表明總體識別率達到了90.07%,相比與貝葉斯分類方法,分類準確率提高了2.36%。由試驗可知,不同類目標之間的區(qū)分度較好,而對于同類目標(如不同線纜)則混淆較大,說明單一依靠觸覺手段難以完全區(qū)分目標,因此后續(xù)將研究引入其他信息源輔助進行分類感知的問題。