劉乃龍,周曉東,劉釗銘,崔 龍
(1. 中國科學院沈陽自動化研究所機器人學國家重點實驗室 沈陽 110169;2. 中國科學院大學機器人與智能制造學院 沈陽 110169;3. 北京控制工程研究所精密轉(zhuǎn)動和傳動機構(gòu)長壽命技術(shù)北京市重點實驗室 北京 海淀區(qū) 100094;4. 空間智能控制技術(shù)重點實驗室 北京 海淀區(qū) 100094)
機器人軸孔裝配是一種經(jīng)典的機器人裝配操作任務(wù)[1-4]。機器人在進行軸孔裝配操作的過程中,即裝載在機器人末端的軸在孔中進行接觸運動時,軸孔之間呈現(xiàn)出不同的相對位姿和相互接觸力狀態(tài),即接觸狀態(tài)。它體現(xiàn)了軸孔之間的幾何相對關(guān)系及接觸中的力信息。
在裝配過程中,軸孔之間一般存在多種接觸狀態(tài)類型。而在不同的接觸狀態(tài)類型下,其接觸動力學模型是不同的,即接觸狀態(tài)不同,要控制的系統(tǒng)的狀態(tài)方程也不同。因此,接觸狀態(tài)是一個典型的混合系統(tǒng),而該交互過程所對應(yīng)的控制系統(tǒng)是一個典型的切換系統(tǒng)。在裝配過程中,通過對接觸狀態(tài)類型的實時監(jiān)控與辨識,可以選擇更有針對性的控制律,也可以增強針對裝配事件的安全監(jiān)控。因此,如何有效地利用接觸過程中的信息對接觸狀態(tài)進行分類和辨識,是裝配成功與否的關(guān)鍵。
文獻[5]通過模糊集來建立力信息的不確定性,提出了基于神經(jīng)網(wǎng)絡(luò)來生成每一個接觸形式的置信級別,實現(xiàn)對力傳感器信號的分類,計算效率較高。文獻[6]提出了使用隱馬爾可夫模型進行接觸狀態(tài)的辨識。其中首先將力作為觀測信號,通過訓練隱馬爾克夫模型使觀測信號的出現(xiàn)概率最大,再使用該模型進行在線的接觸狀態(tài)辨識。該方法需要針對不同的基本接觸,建立不同的隱馬爾可夫模型。文獻[7-8]使用基于定性的小波特征和支持向量機的方法,對接觸狀態(tài)進行了辨識。從力的準靜態(tài)模型出發(fā),使用離散的小波變換提取離線特征,然后使用支持向量機(support vector machines, SVM)方法進行在線分類。文獻[9]進一步通過SVM 分類構(gòu)建了模糊推斷機制,從而實現(xiàn)對接觸狀態(tài)的層次化分類。
另外,大量研究基于高斯混合模型(Gaussian mixture models, GMMs),通過分布的角度認識信號數(shù)據(jù)。文獻[10]使用基于期望最大化的高斯混合模型(GMMs)的方法監(jiān)控裝配任務(wù)的接觸狀態(tài)。采集的監(jiān)督信號按照接觸類別被分成多段,然后針對于每一接觸狀態(tài)建立不同的高斯混合模型。文獻[11]提出一種基于分布相似性測量的高斯混合模型方法建模柔性零件在裝配工程中的接觸狀態(tài)。該研究通過分布相似性測量優(yōu)化高斯混合模型的組件個數(shù)來提高適應(yīng)性。
文獻[12]使用了支持向量回歸(support vector Regression, SVR)算法對不同的裝配運動行為下的接觸狀態(tài)進行了分類,并使用粒子蟻群算法(particle swarm optimization, PSO)優(yōu)化了 SVR中的一些參數(shù),使得分類效果得到提升。
傳統(tǒng)的接觸狀態(tài)辨識方法都是通過監(jiān)督數(shù)據(jù)的方式對裝配過程中所產(chǎn)生的接觸信號特征和接觸狀態(tài)類別之間建立映射關(guān)系,從而對接觸狀態(tài)進行分類。這種方法的局限性是依賴監(jiān)督數(shù)據(jù)的獲取,且通常依賴于準靜態(tài)接觸模型,對于復(fù)雜形狀的裝配任務(wù),模型分析的復(fù)雜度也會增加。此外,傳統(tǒng)的幾何接觸狀態(tài)方式,在軸孔間隙很小的情況下判定的接觸狀態(tài)比較單一,無法充分發(fā)現(xiàn)裝配過程中的接觸狀態(tài)在復(fù)雜度上的不同。為了發(fā)現(xiàn)更多的隱藏接觸類型,本文將對裝配過程中的力或軸孔相對位姿信號構(gòu)成的多變量時間序列,按時間步長等分成多段時間序列片段后,依據(jù)一定的度量,利用無監(jiān)督的方式,給出這些時間片段對應(yīng)的類別標簽。
由于接觸力的數(shù)據(jù)是易變的,且具有波動性,單純地使用單個時刻的狀態(tài)來進行判斷是不魯棒的。另一方面,該過程中的狀態(tài)不僅和當前的狀態(tài)有關(guān),還和之前的多個時刻的狀態(tài)有相關(guān)性,因此通過時間序列的方式能更準確地揭示這一時間段內(nèi)所呈現(xiàn)的規(guī)律性。
本文通過多變量構(gòu)成的時間序列數(shù)據(jù)進行分析,利用基于LSTM 網(wǎng)絡(luò)的深度時間聚類(deep temporal clustering, DTC)方法[13]對接觸狀態(tài)進行端到端的聚類,以給出接觸狀態(tài)數(shù)據(jù)構(gòu)成的時間序列片段隱含的類型。
圖1 DTC 網(wǎng)絡(luò)架構(gòu)
在該網(wǎng)絡(luò)模型中,輸入信號首先通過一個時間的自動編碼器被編碼到一個潛在的空間。這個時間的自動編碼器,由卷積自動編碼和一個Bi-LSTM的網(wǎng)絡(luò)層構(gòu)建形成,由于Bi-LSTM 的使用,使得其能夠更好地利用數(shù)據(jù)的時間連續(xù)性進行編碼。Bi-LSTM 輸出的潛在表示將被輸入給一個時間聚類層,該聚類層通過本文定義的相似性度量產(chǎn)生聚類的分配指標。通過將輸入的序列分離到不同的聚類中心所展開的子空間內(nèi),從而實現(xiàn)對序列的聚類。
時間聚類層利用TAE 層輸出的潛在信號進行進一步的聚類,假設(shè)這一聚類層包含有k個聚類中心,在潛在信號空間里利用這些聚類中心來進行層次聚類。本文在聚類層中對潛在空間使用的相似性度量是復(fù)雜度不變距離(complexity-invariant distance,CID)[14]。該復(fù)雜性不變相似性度量的引入使得很多方法在數(shù)據(jù)集的分類問題上獲得了提升,是對時間序列的歐式空間的距離施加了一個復(fù)雜性估計的校正。其計算公式為:
(x,y)=ED(x,y)CF(x,y)
式中,N 表示時間序列x 和y的時間步數(shù)。
CID 表示的意義是,當x 和y的復(fù)雜性差別較大的時候,該距離也更大。
在聚類層,根據(jù)潛在空間的狀態(tài)zi與聚類中心ωj的相似性度量 dij進行分類,第i 個輸入分配到第j 個類的概率值通過下式計算:
式中, α是分布核[15]的自由度數(shù)。通過比較屬于不同類的概率值,取其中最大值的索引作為當前輸入信號 xi的分配類別。
對于編碼和解碼的網(wǎng)絡(luò)層部分的損失函數(shù)使用均方差(MSE)。聚類層通過使用KL 散度來進行優(yōu)化網(wǎng)絡(luò)權(quán)重參數(shù)。在該網(wǎng)絡(luò)構(gòu)架之中,聚類層參數(shù)的優(yōu)化將會導致編碼?解碼網(wǎng)絡(luò)中權(quán)重參數(shù)的變化。該機制使得DTC 方法不同于傳統(tǒng)的降維方法,因為傳統(tǒng)的降維方法只優(yōu)化狀態(tài)重建的過程,而聚類僅優(yōu)化分離類別的過程。這種設(shè)計的好處主要是為了使?jié)撛诳臻g的特征更容易被分離。
時間聚類層的優(yōu)化目標是使用關(guān)于 qij和其目標分布值 pij的KL 散度損失函數(shù)。 pij的定義為:
相應(yīng)的KL 散度為:
由于聚類對初始化中心較敏感,DTC 中首先預(yù)訓練TAE 層先獲得有意義的潛在空間表示,然后通過層次聚類來獲得可信的初始聚類中心。
在裝配實驗中,本文在KUKA 機器人的重力補償模式下,通過示教再現(xiàn)的方式進行插孔裝配,收集了5 條長時間軌跡的末端力傳感器和位姿數(shù)據(jù),每條軌跡包含的實際時間步數(shù)分別為1 079、1 265、1 562、1 129 和959,按照不同的時間步長設(shè)置通過滑動窗口的方法劃分出了多個時間序列片段構(gòu)成的數(shù)據(jù)。在下面的說明中,只考慮時間步數(shù)為10、20 和50 時間序列片段的情況。
在網(wǎng)絡(luò)參數(shù)優(yōu)化的過程中,本文在卷積層使用50 個濾波器,核大小為10。Bi-LSTM 的濾波器為50 和1。反卷積層使用的核大小為10。初始化權(quán)重參數(shù)為標準正態(tài)分布,方差為0.01。自動編碼網(wǎng)絡(luò)使用Adam 優(yōu)化器進行優(yōu)化,重復(fù)進行10 個epochs,對于端到端網(wǎng)絡(luò)則重復(fù)優(yōu)化100 epochs 以保證最終的損失函數(shù)值小于設(shè)定的閾值。時間聚類層的中心則使用K-means 算法進行初始化。對于預(yù)訓練自動編碼網(wǎng)絡(luò)和端到端網(wǎng)絡(luò)的最小的batch 設(shè)置為32,網(wǎng)絡(luò)訓練的初始學習率設(shè)置為0.1。
在不同的時間步數(shù)下,本文使用了不同的池化層大小使?jié)撛诘谋硎緦痈o湊,網(wǎng)絡(luò)訓練更快。對于時間步數(shù)為10、20 和50 的任務(wù),設(shè)置的池化大小分別為2、4 和5。
下面對接觸狀態(tài)變量以不同的信號組成的情形,給出相應(yīng)的聚類分析結(jié)果。
力反饋信息是裝配接觸狀態(tài)中重要的特征,通常使用力信息進行接觸狀態(tài)的辨識。本文首先采用直接的末端力和力矩反饋信息來作為輸入特征,進行時間序列的聚類分析。
輸入特征為力f =(fx,fy,fz,tx,ty,tz),共有6 個維度,其中(fx,fy,fz)表示不同方向上的接觸力,(tx,ty,tz)表示不同方向上的接觸力矩。
圖2 表示了時間步數(shù)分別為10、20、50,設(shè)定聚類數(shù)目為5,以力和力矩為輸入特征在時間序列聚類時,測試軌跡的x方向力 fx上的聚類結(jié)果。其中,曲線中不同顏色部分代表其屬于不同的接觸狀態(tài)類型??梢园l(fā)現(xiàn),相對時間步數(shù)為10 的情況,時間步數(shù)為50 時在測試軌跡上進行聚類所能體現(xiàn)出的類型略有減少,類型在測試軌跡上分布得不夠細致,即在長時間內(nèi)呈現(xiàn)出單一的類別。這說明若要呈現(xiàn)過程中細致的接觸狀態(tài)的復(fù)雜性變化,那么應(yīng)選擇相對較小的時間步數(shù)進行時間序列片段的聚類分析;如果要反映接觸狀態(tài)的長程關(guān)聯(lián)性,則應(yīng)選擇較長的時間步數(shù)。
圖2 以力和力矩為輸入特征,時間步數(shù)為10、20、50 的時間序列聚類力fx 的結(jié)果
實際的插孔的接觸狀態(tài)不僅與接觸力有關(guān),還和軸孔之間的相對位姿有關(guān),特別是軸孔之間的摩擦特性與插孔深度相關(guān)的情況,相對位姿的不同將顯著影響插孔接觸情形的復(fù)雜程度。這里使用力信息和相對位姿作為輸入特征,對由這些特征構(gòu)成的時間序列進行聚類分析。
輸入特征為f =(fx,fy,fz,tx,ty,tz,P,Q),其中,P=(px,py,pz)表示軸孔之間的相對位置,Q=(qw,qx,qy,qz)表示軸孔之間的相對姿態(tài)的四元數(shù)表示。
在時間序列片段的時間步數(shù)都設(shè)為50 時,通過對測試軌跡聚類后的 fx的聚類結(jié)果(圖2c 和圖3),可以發(fā)現(xiàn),使用力和相對位姿信息為輸入特征的情況,相比僅使用力信息作為輸入特征的情況,得到的接觸狀態(tài)類別在測試軌跡上的分布更細致。即在力位混合信息作為輸入特征的情況下,雖然時間步數(shù)變長了,但仍然有更細致的類別被辨識出來,并不會在較長時間段內(nèi)呈現(xiàn)出單一的類別。這也在一定程度上印證了實際的接觸情形和力與相對位姿都緊密關(guān)聯(lián)的事實。
圖3 以力和力矩及相對位姿為輸入特征,時間步數(shù)為50 的fx 聚類結(jié)果
通過力和相對位姿為輸入特征的聚類結(jié)果,也說明DTC 可以有效地利用力和位置的混合信息來進行接觸狀態(tài)的聚類分析。
在傳統(tǒng)的接觸狀態(tài)辨識中,常常使用準靜態(tài)特征f1= fx/fz和f2=my/fz為輸入特征,其中 my為y 方向的力矩。
由于在準靜態(tài)力特征下,其數(shù)值可能存在較大的突變,本文使用最大最小值歸一化的方法對該輸入特征先進行歸一化處理。這將使得網(wǎng)絡(luò)訓練的收斂速度更快,同時保證最終權(quán)重參數(shù)能更準確地反映實際狀態(tài)在數(shù)量上的關(guān)系。
使用準靜態(tài)模型的力特征的聚類分析結(jié)果如圖4 所示,可以發(fā)現(xiàn)準靜態(tài)模型中的特征在多維時間序列上的表現(xiàn)是較為單一的。這說明其很難反映簡單的幾何接觸狀態(tài)類型之外的接觸類型。本文還分析了傳統(tǒng)的使用準靜態(tài)模型特征和相對位姿構(gòu)成的輸入特征的聚類情況,同樣發(fā)現(xiàn)在時間序列的聚類結(jié)果中反映的接觸狀態(tài)類別也比較單一。
圖4 準靜態(tài)特征輸入下的第一個特征維度的聚類結(jié)果
在裝配過程中,可以使用得到的辨識模型進行接觸狀態(tài)構(gòu)成的事件的監(jiān)測。本文定義狀態(tài)的切換作為一個裝配事件,那么裝配過程就是由一系列這樣的裝配事件構(gòu)成。本文通過對這些接觸事件的探測來監(jiān)控裝配的過程[16]。假設(shè)接觸狀態(tài)的類別有s1,s2,···,sN, N為總的狀態(tài)類別數(shù),那么從 si轉(zhuǎn)換到 sj狀態(tài)就構(gòu)成裝配事件 eij,其中,i,j=1,2,···,5。
以使用六維力和相對位姿信息為輸入特征,時間步數(shù)為50,預(yù)定聚類數(shù)目為5 的力 fx上的聚類結(jié)果曲線為例,給出其裝配事件的描述。在圖3 的曲線上,每種顏色按出現(xiàn)先后順序依次標記為類別s1,s2,s3,s4,s5。其中,發(fā)生的接觸狀態(tài)轉(zhuǎn)變事件序列為e12,e21,e13,e31,e14,e43,e31,e12。
在測試樣本軌跡上,不同的輸入特征和不同的時間步數(shù)設(shè)置下所得到的聚類模型所檢測到的裝配事件個數(shù)的結(jié)果如表1 所示。可以看出,原始的力和相對位姿的混合信息在監(jiān)測到的接觸事件數(shù)最多,其能表示的接觸類型也更細致,這為監(jiān)測過程的特征選擇提供了參考依據(jù)。
表1 不同的輸入特征對應(yīng)的在測試樣本上檢測到的裝配事件數(shù)
本文利用一種端到端的深度時間聚類網(wǎng)絡(luò)對裝配過程中的接觸狀態(tài)信號構(gòu)成的時間序列片段進行了聚類分析,使用復(fù)雜度不變度量來區(qū)分時間序列片段所反映的接觸情形的復(fù)雜程度,并對不同的輸入特征的聚類結(jié)果進行了研究。實驗結(jié)果表明,本文的方法可以對接觸狀態(tài)構(gòu)成的時間序列片段進行分類,且越短的時間步數(shù)得到的聚類結(jié)果越細致,而時間步數(shù)越長的情況則可以用接觸狀態(tài)之間隨時間上的長程的相關(guān)性描述;并且對于不同的輸入特征的聚類結(jié)果表明,使用力位混合信息的特征有助于給出更細致的接觸狀態(tài)類型描述。本文提出的方法是以數(shù)據(jù)驅(qū)動的方法對接觸狀態(tài)進行建模,不需要對接觸過程進行準靜態(tài)分析,具有一定的通用性,并且利用接觸狀態(tài)所構(gòu)成的時間序列的方式有利于提取接觸狀態(tài)變量的時間關(guān)聯(lián)特性,可以使聚類的結(jié)果更加魯棒。值得注意的是,本文方法雖然可以對重復(fù)裝配過程中的裝配事件進行監(jiān)測,但是該無監(jiān)督方式所給出的接觸狀態(tài)類型目前還缺乏合適的物理描述,這將是下一步的研究工作。