童佳寧, 李志剛
(1. 河北工業(yè)大學(xué) 電氣工程學(xué)院, 天津 300130; 2. 石家莊職業(yè)技術(shù)學(xué)院 信息工程系, 石家莊 050051)
在港口的清淤工作中,提高機械設(shè)備的工作效率、降低能耗、預(yù)測設(shè)備故障及糾正操作人員的不規(guī)范操作動作等一直是業(yè)內(nèi)追求的目標。實現(xiàn)這些目標的關(guān)鍵在于對機械運動特別是連續(xù)機械運動的準確識別及分析。準確識別出清淤設(shè)備關(guān)鍵部位的運動動作,進而將運動動作與標準庫的規(guī)范動作進行比對,同時做出相應(yīng)的評估。再根據(jù)所得評估結(jié)果得出設(shè)備工作狀態(tài)等級,對所監(jiān)測的清淤船進行報警或?qū)嵤┫鄳?yīng)的干預(yù)或提交操作改進意見。
隨著混合傳感器和數(shù)據(jù)傳輸技術(shù)的進步及機器學(xué)習(xí)技術(shù)的發(fā)展,機械動作識別尤其是連續(xù)動作的識別與分析已成為可能。通過混合傳感器采集到機械設(shè)備工作時的運動信號,并對這些數(shù)據(jù)進行深入的處理和分析,可判斷出設(shè)備所處的工作狀態(tài)。
常用的動作采集方法有采集運動軌跡、物體輪廓和骨架信息等。再通過建立模型對其進行分類,典型分類方法有支持向量機、隱馬爾可夫模型及動態(tài)時間規(guī)整等,其中廣泛應(yīng)用且效果較好的是支持向量機,這是一種有著堅實理論基礎(chǔ)的小樣本學(xué)習(xí)方法。但它需要借助二次規(guī)劃來求解支持向量,而求解二次規(guī)劃將涉及m階矩陣的計算,當m數(shù)目很大時該矩陣的存儲與計算將耗費大量的機器內(nèi)存和運算時間,使得該方法在大數(shù)據(jù)量實時識別場合中使用有所不及。視頻采集所用Kinect主要應(yīng)用于人體動作識別,識別景深范圍小,對于較大型設(shè)備動作已超出其識別范圍。
鑒于以上方法的局限性,本文提出一種連續(xù)動作的識別方法。通過在機械臂上安裝三維混合傳感器,采集作業(yè)時的運動數(shù)據(jù)。建立機械臂模型并分析其運動特性和采集到的運動數(shù)據(jù),提出一種新的復(fù)合特征參數(shù)用于動作分割。在完成連續(xù)動作分割的基礎(chǔ)上分析鏟斗作業(yè)動作,提出一種位移向量作為BP神經(jīng)網(wǎng)絡(luò)進行動作識別的特征參數(shù),最終將機械臂的核心動作從整體作業(yè)過程中識別出來。連續(xù)動作識別流程見圖1。
清淤船機械臂完整機械結(jié)構(gòu)見圖2。機械臂作業(yè)動作全部反應(yīng)在鏟斗上;鏟斗的空間坐標(包括位置和角度)及鏟斗的運動速度和加速度完全取決于機械臂的動作。小臂前端的四連桿機構(gòu)控制鏟斗的翻轉(zhuǎn)動作。
將大臂、小臂和四連桿機構(gòu)抽象出來,建立機械臂抽象模型見圖3,其中:b桿為鏟斗;c桿為小臂。
混合傳感器分別安裝于大臂、小臂和四連桿,分別獲得它們與水平方向的夾角。鏟斗鏟齒尖端與四連桿機構(gòu)的b桿成固定的90°。∠B可通過傳感器獲得;四連桿各桿長度可由各型號挖掘機手冊得到,最終需求解到的∠I,即斗口面與垂直方向夾角(后稱斗口角)。將核心部分的四連桿機構(gòu)抽出見圖4。
(1)
由式(1)可求得∠G。
(2)
(3)
由式(2)和式(3)可求得∠H和∠K,得到斗口角∠I為
∠I=∠G-90=∠D+∠F-180
(4)
鏟斗的位移一定在由機械臂尺寸決定的范圍內(nèi)。鏟斗運動過程見圖5。圖5中:θ為作業(yè)中大臂繞車身旋轉(zhuǎn)的角度;d為鏟斗運動位移。求取過程為
(5)
清淤船機械臂完成一次從挖掘、轉(zhuǎn)運到卸載的運動過程,大臂、小臂和四連桿動作通過多個混合三維速度-加速度傳感器以每秒數(shù)百萬個數(shù)據(jù)的速度進行采集,并不斷地傳至數(shù)據(jù)中心。這些數(shù)據(jù)中摻雜著各種機械振動造成的無效數(shù)據(jù),如發(fā)動機的振動、機械臂和鏟斗振動等。為剔除這些無效數(shù)據(jù),面對數(shù)據(jù)量較大和系統(tǒng)要求實時性較高的特點,選用算法簡便、處理速度較快的快速移窗濾波法進行處理。將原始數(shù)據(jù)與濾波后數(shù)據(jù)對比繪制波形曲線見圖6,由圖6可知濾波效果十分顯著。
通過對數(shù)據(jù)的分析發(fā)現(xiàn),在清淤作業(yè)中完成一次完整的連續(xù)挖-移-卸動作時,斗口角呈現(xiàn)出周期性的變化(見圖7)。因此,可將斗口角作為特征參數(shù),分割出每個周期的起止時間,即將完整的一次連續(xù)動作從總時長中分離出來。
所得到的鏟斗動作時間和鏟斗位移可選作BP神經(jīng)網(wǎng)絡(luò)的輸入特征值。
BP神經(jīng)網(wǎng)絡(luò)強調(diào)的是網(wǎng)絡(luò)采用誤差反向傳播的算法進行權(quán)值調(diào)整。它由多層構(gòu)成,層間全連接且層內(nèi)無連接。其中,網(wǎng)絡(luò)的傳遞函數(shù)必須可微。BP基本結(jié)構(gòu)見圖8。

輸入項包含動作開始時間、動作結(jié)束時間、鏟斗位移挖掘坐標和卸載坐標等4種特征值,因此輸入節(jié)點數(shù)量設(shè)置為4個。輸出判定為是否為完整動作,故設(shè)置輸出節(jié)點為1個。
隱含層所包含的節(jié)點數(shù)對整體網(wǎng)絡(luò)的性能有著很大的影響,一般來說更多的隱含層節(jié)點數(shù)能帶來更強的網(wǎng)絡(luò)性能,但是所帶來的負面影響是訓(xùn)練時間更長。到目前為止,BP網(wǎng)絡(luò)還沒有確定節(jié)點個數(shù)的明確方式。通常做法是采用如下經(jīng)驗公式給出估計范圍:
(6)
式(6)中:k為樣本數(shù);M為隱含層神經(jīng)節(jié)點個數(shù);n為輸入層節(jié)點個數(shù);m為輸出層節(jié)點個數(shù);a為[0,10]之間的常數(shù)。通過經(jīng)驗公式計算范圍結(jié)合試驗結(jié)果,最終將隱層節(jié)點數(shù)設(shè)為4。
訓(xùn)練數(shù)據(jù)歸一化后輸入網(wǎng)絡(luò),每個樣本的實際輸出與期望的差為誤差。實際輸出為
(7)
網(wǎng)絡(luò)的期望輸出為
(8)
在實驗設(shè)計時使用誤差的平方和作為誤差參數(shù)。
(9)
由圖8的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖可得到輸入層到隱層的權(quán)重矩陣為
(10)
從隱層到輸出層的權(quán)重矩陣為
(11)
根據(jù)最速下降法,權(quán)值調(diào)整公式為
(12)
(13)
為了提高訓(xùn)練速度,本文使用有動量因子的最速下降法,因此除了第一次迭代外,之后所有的迭代都要考慮前一次迭代的權(quán)值修改量為
試驗中以斗山DX300LC型挖掘機為例,在多日的清淤作業(yè)中完成的動作包含標準動作挖-移-卸和非標準動作推卸、搬運等。傳感器分別安裝在大臂、小臂、四連桿及底座上,采樣頻率為115.2 kHz,共采集數(shù)據(jù)千余組。機械臂在作業(yè)的同時,攝像機同步拍攝全部過程作為驗證依據(jù),回看視頻時人工標注各時間段內(nèi)動作是否為完整連續(xù)動作,標注后數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)及測試數(shù)據(jù)。利用斗口角作為動作分割的參數(shù),分割出每個連續(xù)動作的起止時間及在此時間段內(nèi)其他對應(yīng)的參數(shù)。部分分割結(jié)果見表1。
針對所分割出的600多組數(shù)據(jù)進一步通過BP神經(jīng)網(wǎng)絡(luò)完成識別判定,識別出連續(xù)挖-移-卸動作并統(tǒng)計次數(shù)(見表2)。

表1 動作分割結(jié)果

表2 識別結(jié)果
本文使用BP神經(jīng)網(wǎng)絡(luò),完成了從機械臂多種動作中識別出連續(xù)的挖-移-卸動作。試驗結(jié)果表明:通過引入斗口角作為動作分割參數(shù)切實可行,可將數(shù)據(jù)進行有效的時間段劃分。引入復(fù)合參數(shù)-鏟斗位移作為BP神經(jīng)網(wǎng)的輸入特征,達到了良好的識別效果,為后續(xù)清淤機械工況等級劃分、故障預(yù)警及操作指導(dǎo)等工作打下良好的基礎(chǔ)。