吳鴻敏, 張國英,管貽生, JUAN Rojas
(1.廣東工業大學 機電工程學院,廣州 510006; 2.廣東省智能制造研究所 廣東省現代控制技術重點實驗室, 廣州 510070)
隨著協作型機器人的廣泛應用與發展,未來機器人必將逐漸地由傳統封閉的制造業環境向與人交互、共融的共享空間邁進,由半自動的操作任務到更加自主完成的執行任務[1]. 從而,不可避免地存在各類異常發生的情況,例如:出現了人類無意識地與機器人手臂碰撞、視覺傳感信息存在偏差造成夾子與物體發生碰撞、夾取的物體在運動過程中滑落及機器人內部傳感器的異常發生等等. 另外,伴隨著機器人對環境感知能力的改善,機器人在執行過程中更加依賴于多模態的傳感信息[2],比如通過力/力矩傳感器能有效地感知所抓取物體的重量及是否與外界發生碰撞、機器人關節編碼器能實現對機器人構型的運動控制以及通過觸覺傳感器判斷是否抓取到物體. 近年來,研究表明實現基于多模態時間序列建模的機器人安全監控將有助于人-機安全共融操作及更長期可靠的機器人自主執行[3-5]. 如何有效地解決此問題是目前機器人操作領域的研究重點及難點.
文獻[3]基于隱馬爾可夫模型(HMM)提出了一種用于機器人裝配任務的過程監測器. 該監測器首先對機器人的裝配任務通過離散的事件進行描述,然后對裝配過程中所產生力/力矩的傳感信號進行建模. 最后在給定隱性狀態數量的前提下,每個事件的HMM參數采用Baum-Welch離線學習方法獲得. 文獻[4-6]提出了一種基于從左向右的HMM模型(Left-to-right HMM)應用于多模態的機器人異常檢測系統. 該系統考慮機器人在執行過程的多模態傳感信息(力/力矩、聲音和視覺)對機器人異常檢測的影響. 通過建立機器人的執行過程與觀察數值的對數似然函數值的映射關系實現了異常檢測,并提出了動態閾值的計算方法. 但是,傳統的HMM模型在應用于多模態時間序列的情況下,具有兩個關鍵的問題:1)在模型學習之前需要給定隱性狀態的數量,限制了對傳感數據的建模能力;2)沒有考慮時間序列的一致性,也就是說,隱性狀態不合理地快速轉換,而機器人實際的執行過程應該保持一定的時間依賴性. 比如,當規劃機器人去抓取桌上的一個杯子時,希望機器人在靠近杯子過程中的觀察值始終歸類到相同的隱性狀態下.
針對參數化HMM中存在的兩個問題,文獻[7]提出了一個貝葉斯非參數模型,即多模態粘性層級狄利克雷過程隱馬爾可夫模型(MD-sHDP-HMM). 該模型是在HDP-HMM[8]的基礎上引入粘性先驗和多模態觀測分布而形成的,保持了HDP-HMM的所有優點,但比HDP-HMM具有更寬的適用范圍和更強的魯棒性,可以對類內差異大、單時刻有多個觀測的復雜時間序列建模. MD-sHDP-HMM模型能有效地從訓練數據集中推斷出最優的隱性狀態數量,并且借助了“粘性”(sticky)的性質增加了隱性狀態自轉換的期望概率,提高了時間序列相鄰數據間的依賴性,已廣泛應用于復雜時間序列中的運動模式學習,如語音分類[9]和人類動作的識別[10]. 基于貝葉斯非參數模型在多模態時間序列應用中的性質,文獻[11]利用HDP-HMM實現了機器人裝配任務過程中的異常檢測. 首先把機器人執行的電子元件裝配任務分割成有限個子任務,并利用有限狀態機對任務進行描述,然后在機器人重復執行正常任務的過程中采集力/力矩數據,最后采用HDP-HMM對各個子任務的數據進行建模,實現了機器人異常的監測. 但是,沒有對機器人的執行過程進行識別、僅考慮了力/力矩信號的作用,降低了機器人對環境的感知能力以及在模型未知參數推斷方面采用傳統的Gibbs采樣方法,造成嚴重低下的計算效率.
本文采用了MD-sHDP-HMM對多模態傳感數據進行建模,通過貝葉斯變分推斷的方法(Bayesian Variational Inference)進行參數的學習,大幅度提高了訓練模型的準確性和減少了計算的復雜度. 所提出的方法首先對機器人的執行任務分割成序列化的執行過程,然后通過對比執行過程中累積觀察數據的對數似然函數值的大小實現執行過程的識別. 在此基礎上,根據正常執行過程訓練得到的對數似然函數值的梯度閾值,實現了機器人執行過程中的實時異常監測. 最終有效地實現了多模態時間序列建模的機器人安全監控.
我們在前期的工作[12]中已提出了使用MD-sHDP-HMM實現機器人在電子元件裝配和拾放任務過程中的精準感知. 所謂的感知即是讓機器人解析自己目前正在執行的過程,有助于解決機器人執行過程的識別問題. 針對機器人安全監控的問題展開研究,在傳統機器人控制框架Sense-Plan-Act的基礎上增加了用于機器人執行過程識別及異常監控的感知(Introspection)階段,提出了一個名為SPAI(Sense-Plan-Act-Introspection)系統框架,如圖1所示. 機器人的復雜任務通過有向圖的形式描述,每個節點具有兩項功能:一方面用于表示機器人各運動基元的始點或終點,生成機器人的運動,即圖1中的M所示;另一方面是感知功能,用于執行過程識別與異常監測,即圖1的I所示. 該系統框架主要包括了4個功能模塊:任務描述、運動生成、精準感知以及異常修復. 任務描述模塊主要是對機器人實際操作的復雜任務分割成序列化的運動基元,然后利用有限狀態機(Finite State Machine)人為地根據任務的執行次序構建機器人自主操作圖,如圖1中從開始節點到完成節點的有向圖表示;運動生成模塊將借助于示范學習(Learning from demonstration)的框架對人類示教的過程進行學習與泛化,有利于提高機器人任務的多樣化和執行過程的不確定性;精準感知模塊主要包括對機器人當前執行過程的識別以及外部異常的監測;異常修復模塊用于對監測到的異常進行分類并執行相應的修復策略.

圖1 機器人安全監控系統框架
近年來,HMM已廣泛應用于語音識別、視覺行為分析和異常檢測等領域. 在使用連續HMM對多模態時間序列建模的基礎上進行機器人或人類的異常行為進行識別,有助于實現人-機交互過程中的安全共融和更長期的機器人自主操作[13-14]. 圖2顯示了層級HMM的概率圖模型. HMM通過隱馬爾科夫鏈假設實現在任意時刻t的狀態只依賴于其前一時刻的狀態,與其他時刻的狀態及觀測無關,也與時刻t無關. 另外,HMM假設在任意時刻的觀測只依賴于該時刻的馬爾科夫鏈的狀態,與其他觀測狀態無關. 因此,HMM模型的觀察數據與隱性狀態的聯合分布表示為
p(y1,...,yT,z1,...,zT)=
(1)
由式(1)可知,HMM模型由三項概率分布組成.p(z1)表示初始隱性狀態的概率分布,由超參數α決定;p(zt|zn-1)表示隱性狀態間的轉移概率;p(yt|zt)表示給定隱性狀態下觀察數據的概率分布,不同的觀察值分布由超參數λ決定. 特別地,本文采用多變量高斯分布(Multivariate Gaussian Distribution)作為觀察模型.

圖2 HMM的概率圖描述
從而,當多模態的時間序列由HMM建模后,即可以用來解決3個問題,首先是參數學習的問題,即給定觀察序列學習HMM的所有參數θ. 其余2個同屬于模式識別的問題,分別是評估問題和解碼問題:給定θ計算求解一段觀察序列的概率值;給定觀察序列求解最優的隱性狀態序列. 本文對于機器人的安全監控主要利用了對評估問題和解碼問題的求解.
機器人安全監控實現流程如圖3所示. 本文在考慮參數化HMM的局限性下,采用貝葉斯非參數模型構建粘性層級狄利克雷過程隱馬爾可夫模型. 首先,假設離散的分布G是一個對數據聚類的過程,它來自于DP (Dirichlet Process),那么
G~DP(γ,H),
(2)
其中,H可以是任意的基分布,γ為集中系數. 層級狄利克雷過程HDP(Hierarchical Dirichlet Process)是狄利克雷過程DP的一種擴展形式,它主要用于解決在DP中,當基分布是連續時所得到的采樣參數與概率1不等的情況[15]. HDP通過在基分布上又定義了一個先驗分布,由每個DP獲得基分布的采樣,這樣就保證了基分布的離散性. 由式(2)可知HDP的定義如下:
(3)

圖3 機器人安全監控實現流程圖
同理,可以利用HDP對HMM模型的隱性狀態轉換概率πj的進行一般性的描述如下:
(4)
其中,GEM表示折棍子的生成過程[16],由此可見集中系數γ決定了β的相對離散比例,當γ越大表示數據越離散,反之,越集中. 通過對HMM的狀態轉換概率增加HDP先驗,即可獲得HDPHMM模型,如圖4左圖所示. 注意到HDP先驗使得對數據的聚類數量是不確定的,從而能有效地解決了傳統HMM中給定隱性狀態的局限性. 另外,在DP過程中增加 “粘性” 參數κ,提高隱性狀態的自我轉換概率,即
(5)

圖4 HDPHMM(左)和sHDPHMM(右)的概率圖模型
使得HDPHMM對序列數據建模時有更好的時間依賴性,這樣將加強模型的實際應用性,如圖4右圖所示. 所構建好sHDPHMM模型的所有未知參數Θ可以通過貝葉斯變分推斷的方法[17]實現. 由建立好的統計學模型可以用于對機器人執行任務進行安全監控,總體的實現流程如圖3所示.
由圖3中A所示,機器人的操作任務被分解成多個執行過程S的形式,對于某一個執行過程s∈S的識別主要是使得機器人在執行任務過程中感知到自己目前所在那段執行過程. 同時,也能有效地驗證所建立模型對該過程產生傳感數據的建模能力. 假設執行過程s的模型參數為Θs,由HMM的性質可知,給定觀察序列y1∶t=[y1,y2,...,yt],利用前向-反向算法[18]求得模型s在時刻t的對數似然函數值Lt,s,即
(6)

(7)
然而,在實際應用中發現,對于直接利用Lt,s的數值大小進行執行過程識別會造成較大的誤差,甚至錯誤,詳細的結果見5.3節. 針對此問題,本文分析了HMM模型的前向算法發現,可以通過計算時刻t的可信狀態(belief state)的方式來預測t+1時刻數據的概率值. 由此,通過計算似然函數的梯度值的方式來實現執行過程的識別,即
Gt,s=Lt,s-Lt-1,s.
(8)
同理地得到
(9)
在實際應用中,通過對比各個時刻t對應所有執行過程模型的似然函數的梯度值便可.
基于上章節機器人執行過程的識別后,本節詳細介紹機器人的異常事件監測的實現,如圖3中的F階段. 本文實現異常檢測的主要思路是:首先,學習正常執行的數據模型;然后,基于此模型測試正常執行過程的數據,以求得正常與異常的邊界定義,也就是異常閾值的計算;最后,基于該模型和對應的閾值實現對測試樣本的預測.

(10)
由式(10),可知每個時刻t的異常監測閾值為
ρt,s=μ(Lt,s)-c·σ(Lt,s).
(11)
其中,c表示比例常數. 因此,機器人在實際操作過程中,當Lt,s<ρt,s表示監測到異常的發生,反之,正常執行.
在實際應用中發現,通過式(11)得到的閾值使得異常監測器出現頻繁的錯誤觸發(False Positive),意味著把正常的執行情況監測成為了異常. 另外,對于常數變量c的確定需要進行繁瑣的交互驗證. 針對此問題,本文參照機器人執行過程識別的經驗,通過求解每個對數似然函數值向量的梯度值信息來確定異常發生的閾值.

(12)
然后,由式(12)求解執行過程s所有正常測試樣本的取值范圍
Grange,s=Gmax,s-Gmin,s.
(13)
最后,用于異常監測的梯度閾值可以定義如下:
ρs=Gmin,s-0.5Grange,s.
(14)
由此,給定的機器人的執行過程,該閾值為一個常數,當任一時刻t求得似然函數的梯度值Gt,s<ρs時,監測到異常,否則表示正常執行.
本文所提出的方法將通過一個Baxter機器人與人類協作完成物品裝箱的任務進行驗證,圖5(a)顯示了整個實驗平臺的設計環境. 設定Baxter機器人的右手臂用于抓取和放置6種不同形狀或重量的物品到固定的快遞盒中(位于圖像的最左側). Baxter機器人由左手臂運動到一個固定的位姿,以便其末端的攝像頭能準確地檢測到物體表面的標記. 其中,右手末端關節與夾子之間裝有一個6維的力/力矩傳感器,夾子的兩手指分別裝有一個7×4矩陣分布的觸覺傳感器;物體表面的標注用于對物體進行位姿估計. 該任務的實現過程是人類逐一地把物品放在相機的視野區域內,通過左手相機的物體定位,然后機器人按照預先定義好的5個操作過程進行執行任務,分別是:起始點→預抓取點、預抓取點→抓取點、抓取點→預抓取點、預抓取點→預放置點和預放置點→放置點,各個過程分別對應于如圖5(b)~(f)所示.

圖5 實驗測試平臺:Baxter 機器人執行物品裝箱
本文將考慮3種模態的傳感信息:機器人末端關節的速度信號、力/力矩傳感信號及兩個手指的觸覺信號. 特別地,原始的機器人末端關節的速度信號包括了三維線速度和三維角速度信號,力/力矩傳感信號包括了三維力信號和三維力矩信號,每個觸覺傳感器將產生28維的信息. 若直接對所有68維的傳感信號進行建模將增加了大量冗余的信息,并且加劇了計算的效率. 另外,為了考慮機器人執行任務的速度不同和操作物體的重量不同等因素. 本文所考慮的傳感信息包括原始的6維末端速度信號和其對應2維的模向量、原始的6維力/力矩信號和其對應2維的模向量及2維觸覺傳感器的標準差信號. 綜上所述,每時刻所考慮的傳感信息是一個18維的向量.
如圖5所示,本文所考慮的機器人任務包含了5個執行過程. 針對實驗分析的過程分為兩大類:正常任務的數據采集以及異常任務的測試. 正常任務的數據采集是用于學習正常的統計學模型,主要是通過5個參與者分別獨立完成一整組物品裝箱的實驗,由上述可知每組實驗包含6個不同的物體,從而,總共采集了正常執行的任務數量是30次. 其中,用于訓練的任務的數量是18,用于測試的數量是12. 另外,對于異常任務的執行,同樣是5個參與者分別獨立完成一整組物品裝箱的實驗,不同的是在任務執行過程中人為地或者機器人自身產生一次或多次異常的情況,以用于驗證異常監測的有效性.
由章節3可知,對于機器人執行過程的識別是通過計算任一時刻觀察在所有學習好的模型下的對數似然函數值的梯度值實現的,參考式(9)可知. 如圖6所示,顯示了針對同一測試任務下,對數似然函數值曲線和梯度曲線的對比圖. 由圖中可知,不同顏色的曲線代表不同執行過程模型下所計算得到的數值,考慮似然函數梯度值的情況下才能清楚地識別出不同執行過程的轉換. 如圖7所示,分別顯示了機器人5次正常操作任務的執行過程識別結果,不同顏色的背景條框分別代表5個不同的MD-sHDPHMM模型,各個子圖中的上半部分表示了人為分解任務的真實值,下半部分是通過梯度值估計的執行過程分解結果. 由此,可見本文所提出方法能有效地和準確地應用于機器人復雜任務下的執行過程識別.
由第4章節的定義可知,在給定識別的機器人執行過程之后,通過實時地計算當前時刻觀察數據的對數似然函數梯度值實現異常事件的監測. 本文對比了同一個異常或正常測試任務下,利用對數似然函數值或對數似然函數梯度值進行異常監測的情況,如圖8所示. 圖中各個子圖中不同顏色的背景條框分別代表5個不同的MD-sHDPHMM模型,由此可以得知:1)在異常任務測試中,豎向紅色實線表示人為記錄異常發生的時刻,總共有8次異常的發生. 另外,橫向紅色虛直線表示了不同時刻的異常閾值;2)對異常任務的監測中,對數似然函數梯度值更能準確地觸發異常,而對數似然函數值將會引起大量的誤判(False Positive)及沒有監測到的情況 (False Negative) ;3)對正常任務的監測中,對數似然函數梯度值沒有監測到任何的異常,但是對數似然函數值同樣地出現了嚴重的誤判.

圖6 同一測試任務下,對數似然函數值和梯度曲線圖. 不同顏色的曲線代表不同執行過程模型下所計算得到的數值
Fig.6 Log-likelihood and gradient-based log-likelihood of a testing task. The curves in different colors represent the values calculated under different execution process models

圖7 機器人執行過程識別
參照章節5.2的說明,對總共30次可能發生異常的操作任務進行總體的異常監測性能分析. 通過把異常事件的監測定義為一個二分類的問題,即是把測試事件歸類為異常與正常的兩類. 再者,假設人為記錄異常發生的時刻為真實值,即圖8中的豎向紅色實線所示,若異常監測觸發的時刻與該真實值的差距小于1s定義為正確檢測(Ture Positive). 最后,考慮了精確率 (Precision)、召回率 (Recall)和準確率 (Accuracy)作為評價的指標對比文中提到的兩種異常監測方法的性能,其中對數似數函數值作為閾值的方法(見式(11),常數c=3) 簡寫為“似值”,梯度閾值的方法(見式(14))簡寫為“梯值”,具體的結果如表1所示.

圖8 機器人異常事件監測的驗證

表1 異常事件監測的性能對比
從表1中結果可知,似然函數的異常監測的平均精確率僅為85%,相比于梯度閾值的方法表示出現了更多的誤判,如圖8中第四個子圖所示;召回率較低的結果表明似然函數的異常監測方法對于異常的事件有嚴重遺漏檢測的情況. 綜上所述,本文所提出基于對數似然函數梯度閾值的方法對于總共67次異常檢測的平均監測準確率為93.8%.
本文針對多模態時間序列建模的機器人安全監控的問題,借助于前期提出的機器人感知系統框架, 采用了MD-sHDPHMM對多模態傳感信息進行建模. 得益于該模型的強大建模能力,深入分析模型的似然函數計算過程,首先提出了基于對數似然函數梯度值的機器人執行過程識別,隨后借助優秀的執行過程識別的實現,提出了基于對數似然函數梯度閾值的機器人異常監測. 實驗結果表明,提出的機器人執行過程識別與機器人異常監測的方法對所設計實驗的總體異常監測精確率為95.2%,召回率為94.2%及準確率為93.8%,有效地實現了機器人自主操作或與人類交互過程中的安全監控,并且集成于SPAI系統框架中,易于擴展到其他的機器人平臺及不同的操作任務,對未來機器人的普及具有重要的研究與應用價值.