劉艷紅,豆園林,任海川,曹桂州
(鄭州大學 電氣工程學院,鄭州 450001)
采用軟材料或柔性材料加工的軟體機器人對非結構化的環境有很好的適應性和人機交互的安全性[1]。軟體機器人相較于傳統的剛性結構具有高靈活性、復雜環境適應性和人機交互安全性的優勢,在醫療康復、勘測救援等領域具有廣闊的應用前景。軟體驅動器是軟體機器人動力組成部分,實現軟體機器人的廣泛應用不能缺少對軟體驅動器形狀信息的檢測,準確測量軟體驅動器角度有利于軟體機器人實現形狀重構、閉環位置控制和姿態實時監測。然而,由于軟體驅動器本身具有高度柔順性,傳統的傳感器很難應用到軟體驅動器角度測量上[2]。因此,如何準確獲取軟體驅動器形狀反饋信息(如角度變化)是軟體機器人研究的挑戰性問題之一。
基于視覺傳感器[3-4]的測量方法被廣泛應用于軟體驅動器角度測量,但其易受外界環境光線、障礙物遮擋、工作區域等因素的影響。因此,一些學者從不同的測量原理出發,設計了多種用于測量軟體驅動器角度的非視覺傳感器,包括電阻式傳感器[5-6]、光學傳感器[7-8]和電磁式傳感器[9]。由于制作簡單、造價低、柔韌性好、對磁場不敏感等特性,電阻式傳感器已經在商用數據手套中成功應用[10]。為了使傳感裝置更易植入軟體驅動器中,文獻[6]以銀漿作為敏感元件,采用3D 打印自制曲率傳感器。雖然具有制造簡單、造價低等特點,但自制的傳感器仍存在遲滯和漂移效應,限制了傳感器測量的精度。相較于電阻式傳感器,電磁式傳感器具有高測量精度和靈敏度的特點。文獻[9]將線性霍爾元件和磁鐵嵌入到軟體手臂中,以軟體手臂彎曲時的高度變化反映軟體手臂彎曲的角度變化,實現在形狀記憶合金驅動下軟體手臂的角度測量。然而,外界磁場的變化將直接對敏感元件帶來干擾,影響測量的準確性[11]。光纖傳感器[8]免除了電阻式傳感器以及電磁式傳感器的測量缺陷,通過檢測光纖傳感器光強的變化實現軟體驅動器姿態傳感檢測,但光纖傳感器復雜昂貴的制造工藝、額外的硬件設備和復雜的信號調理電子器件限制了光纖傳感器模塊化集成,尚未實現商業化[12]。慣性傳感器(Intertial Measurement Unit,IMU)[13-14]具有精度高、質量輕、體積小、造價低、易于實現和可重復性高等優點,常被用于角度測量。文獻[15]采用IMU和液態金屬混合測量的方式使角度測量精度均方根誤差達到3.1°,但腔道變形達到極限時會導致內部液體泄露,慣性傳感器的剛性結構在軟體驅動器的角度測量中也易受到氣道膨脹的影響。綜上所述,針對軟體驅動器角度測量,目前仍缺少高精度、高可靠性、造價低且易制造的接觸式傳感器。
為提高軟體驅動器角度的測量精度,可利用高清攝像頭測量軟體驅動器標記點來計算軟體驅動器的角度作為角度測量基準,選擇質量輕、造價低的商用曲率傳感器和九軸姿態傳感器,采用數據融合算法[16-17]實現軟體驅動器角度的測量。九軸姿態傳感器測量軟體驅動器末端姿態角度的精度易受軟體驅動器氣道膨脹的影響,內部集成的陀螺儀角速度估計軟體驅動器角度也容易產生累計誤差。采用卡爾曼濾波算法融合慣性傳感器和曲率傳感器角度測量數據,可有效減少接觸式傳感器受氣道膨脹的影響。然而,曲率傳感器測量軟體驅動器角度容易受到漂移影響,造成卡爾曼濾波算法融合曲率傳感器與慣性傳感器精度有限。
本文采用模糊推理與卡爾曼濾波結合的數據融合算法融合曲率傳感器和九軸姿態傳感器數據,減少接觸式傳感器受漂移、氣道膨脹的影響。同時利用長短時記憶(Long Short-Term Memory,LSTM)網絡、BP 神經網絡分別融合接觸式傳感器角度測量值,給出角度測量的優化融合方案。
本文采用jy901 九軸姿態傳感器和flex 4.5 寸曲率傳感器對軟體驅動器的角度進行測量。jy901 傳感器內部集成了高精度的陀螺儀、加速度計和地磁場傳感器。姿態角度測量穩定性達到0.01°,角速度測量穩定性達到0.05°/s。flex 曲率傳感器阻值變化范圍:180°捏彎的阻值是未被彎曲電阻的2倍。數據融合方案如圖1所示。其中:低通濾波器對曲率傳感器測量值進行濾波,得到彎曲角度;九軸姿態傳感器分別輸出軟體驅動器末端部位的翻滾角度和翻滾角速度,并利用角速度與時間的乘積估計軟體驅動器角度;長短時記憶網絡和BP 神經網絡分別融合曲率傳感器測量角度和九軸姿態傳感器翻滾角度;模糊推理算法推斷九軸姿態傳感器受氣道膨脹影響下的翻滾角膨脹量,并取代靜態下曲率傳感器角度測量值,以減少曲率傳感器漂移效應,卡爾曼濾波算法融合九軸姿態傳感器角速度積分值與模糊推理下的曲率傳感器角度測量值,最終計算得到4 個角度的融合值。

圖1 傳感器融合方案Fig.1 Sensor fusion scheme
實驗平臺由固定裝置、傳感器、控制盒、軟體驅動器以及筆記本電腦組成。固定裝置由鋁型材搭建成的300 mm×300 mm×260 mm 長方體骨架,用于固定各傳感器以及軟體驅動器。控制盒由STM32F103開發板、導氣管道、氣壓傳感器、電磁閥與調節閥組成。各傳感器安裝位置以及軟體驅動器彎曲角度示意圖如圖2 所示。其中:flex 4.5 寸曲率傳感器安裝在軟體驅動器彎曲側;jy901 九軸姿態傳感器安裝在軟體驅動器末端位置;高清攝像頭固定在軟體驅動器前方。

圖2 傳感器安裝和軟體驅動器彎曲角度示意圖Fig.2 Schematic diagram of sensor installation and soft actuator bending angle
視覺傳感器獲取軟體驅動器彎曲圖像,采樣頻率達到30 HZ,角度測量精度達到0.2°;九軸姿態傳感器最高采樣頻率為200 HZ,姿態角度測量精度靜態0.05°,動態0.1°;九軸姿態傳感器末端位置屬于軟體驅動器可延展層,而氣道膨脹會造成九軸姿態傳感器測量軟體驅動器姿態角精度下降。曲率傳感器與九軸傳感器同頻輸出,角度測量精度達到4.5°。假設軟體驅動器在有氣體通過的部分為圓弧彎曲,r表示圓弧彎曲半徑,m表示圓弧弦長。采用MATLAB 的OpenCV 工具箱識別圖像中黑色標記點的位置信息,如圖2 右上角所示,軟體驅動器在x軸和y軸組成的平面內做彎曲運動,兩圓形標記點組成的長度為m向量與y軸夾角θ的2 倍,即為軟體驅動器的角度變化值。
實驗采用氣泵作為動力源,設置氣壓在37~55 kPa范圍,通過對軟體驅動器的多周期充放氣,實現基于各傳感器的角度測量實驗。首先,氣源通過電磁閥和氣缸對軟體驅動器進行恒壓驅動,時間是20 s;然后,關閉氣源電磁閥并打開放氣電磁閥,時間是20 s。在相同氣壓下,需要重復采樣3 次,測試高清攝像頭重復采樣精度,采樣時間為0.08 s。實驗共采集180 個周期的軟體驅動器彎曲角度數據,每個周期為40 s,共獲得89 900 個采樣點。每個樣本點數據包括九軸姿態傳感器翻滾角度、陀螺儀X軸角速度、曲率傳感器測量值、軟體驅動器氣壓值。采用均方根誤差和標準均方根誤差作為評價指標,比較傳感器及數據融合算法的精度,如式(1)和式(2)所示。

其中:yi表示模型值表示測量值;||ymax-ymin||表示最大角度與最小角度的歐氏距離。
常用的數據融合算法有人工神經網絡[18]、深度學習網絡[19-20]、卡爾曼濾波[21-22]、加權平均、D-S 證據推理[23]、模糊推理等。卡爾曼濾波通過模型和傳感器測量值估計最優狀態,被廣泛應用于多傳感器數據融合。人工神經網絡如BP 神經網絡能夠學習特征,存儲先驗知識,通過訓練神經網絡,可以完成物體模式識別(如人體運動識別)、數據分類和預測功能。深度學習網絡如長短時記憶網絡(LSTM)可以更好地解決時間序列問題,訓練長時間滯后數據。模糊推理根據模糊集合理論,可以較好地對模糊不明確信息進行判斷。
神經網絡是一種按照誤差逆向傳播算法訓練的多層神經網絡。傳統的BP 神經網絡結構由輸入層、隱層和輸出層組成,每層包含數個節點。基于神經網絡能夠融合特征實現數據的預測對傳感器信息進行數據融合。隱層神經元個數的選取可以根據式(3)確定。

其中:m表示隱層神經元的個數;p表示輸入層的個數;o表示輸出層的個數;?是1~10 之間的常數。采用MATLAB 2018a 深度學習工具箱中的神經網絡函數創建BP 神經網絡。BP 神經網絡輸入層為2,分別為jy901 傳感器翻滾角以及flex 傳感器角度值。最大迭代次數分3 種情況(600、900、1 200),隱層分3 種情況(3、8、13),輸出層為1,學習率為0.000 2。此外,BP 網絡將測量的總數據按8∶2 比例分為訓練數據集和預測數據集。
LSTM 網絡相比于BP 神經網絡可以從訓練數據中模擬出更復雜的結構。LSTM 可以更好地解決時間序列問題,能夠記憶長時間的歷史數據。LSTM有很多記憶塊,每個記憶塊由輸入門、記憶細胞、遺忘門和輸出門組成。每個記憶塊運行原理如下:
1)數據通過遺忘門從細胞狀態丟棄某些信息。
遺忘門采用σ函數,根據之前記憶塊輸出值ht-1與當前輸入值xt生成0~1 的ft函數值給每個細胞狀態Ct-1,1 表示之前的記憶通過,0 表示之前的記憶舍棄。ft函數的表達式為:

2)決定新信息將被存儲在細胞狀態中。
這一步分成兩部分:首先輸入門將決定某些值會被更新,然后記憶門將會形成一個新的候選值Ct添加到細胞狀態中,根據以下方式更新狀態:

3)由輸出門決定信息的輸出。
式(7)所示的σ函數決定輸出細胞狀態某一部分。在此基礎上,式(8)通過tanh 函數將Ct值調整為-1 到1,并將其乘以sigmoid 門的輸出,以便只輸出目標信息。

在式(4)~式(8)中:f、i、C、o、h分別表示遺忘門、輸入門、細胞狀態、輸出門和隱層輸出;Wx和Wh輸入和隱層權值;b表示偏移量;σ函數表示sigmoid 激活函數。
實驗設置LSTM 輸入層數為2,與BP 神經網絡輸入數據保持一致,輸出層數為1,求解器設置為‘adam’,最大迭代次數分3 種情況(600、900、1 200),隱層神經元分3 種情況(100、150、200),減少神經網絡融合結果的偶然性,提高LSTM 融合結果的可信度。硬件使用GPU 進行訓練。LSTM 神經網絡初始學習率設置為0.005,學習率下降周期為200,學習率下降因子為0.2,LSTM 網絡將測量的總數據按8∶2比例分為訓練數據集和預測數據集。
卡爾曼濾波是一種高效的遞歸濾波器,能夠實現系統狀態的最優估計。本文選用卡爾曼濾波融合曲率傳感器和九軸姿態傳感器。卡爾曼濾波選用式(9)和式(10)所示的形式。

其中:w(k) 和v(k+1)表示過程噪聲和測量噪聲;y(k+1)表示k+1 時刻測量變量;H=1 表示測量矩陣;A=1 為系統矩陣;B=1 為輸入矩陣表示k時刻陀螺儀角速度;t為采樣周期。測量矩陣以及狀態矩陣分別如式(11)和式(12)所示。

其中:fflex(k)為k時刻曲率傳感器測量值;θ(k)表示k時刻軟體驅動器彎曲角度。卡爾曼濾波通過式(13)~式(17)方程完成狀態的最優估計。

其中:Qk和Rk分別表示過程激勵噪聲協方差矩陣和測量噪聲協方差矩陣;Pk表示k時刻狀態協方差矩陣。
模糊推理是采用模糊邏輯由給定的輸入到輸出的映射過程。模糊推理包括輸入變量模糊化、在模糊規則前件中應用模糊算子、根據模糊蘊含運算由前提推斷結論、模糊合成、輸出變量反模糊化5 個過程。模糊規則主要以“if …,then”的形式,其中,“if”部分通常稱為模糊規則的前件,“then”稱為模糊規則的后件。根據模糊蘊含運算由前提推斷結論,即規則“if x is A,then y is B”,記為A→B。
定義翻滾角的論域為[0°180°],模糊子集為:{XA,JX,ZA,JD,DA}={小角度,較小角度,中角度,較大角度,大角度};氣道膨脹量模糊輸出的論域[-20°0],模糊子集為:{XF,JXF,ZF,JDF,DF}={小負,較小負,中負,較大負,大負}。模糊規則的制定:
1)如果翻滾角為XA,則輸出為XF;
2)如果翻滾角為JX,則輸出為JXF;
3)如果翻滾角為ZA,則輸出為ZF;
4)如果翻滾角為JD,則輸出為JDF;
5)如果翻滾角為DA,則輸出為DF。
基于上述實驗過程,本文對高清攝像頭采樣點進行3 次重復采樣數據分析。實驗結果表明,每個樣本點最大值和最小值之差與樣本點平均值的平均誤差為0.78%,表明高清攝像頭具有較高的重復測量精度,可作為軟體驅動器角度測量的基準。
最大迭代次數以及隱層節點數都會對神經網絡融合結果造成影響。針對不同的融合對象,最大迭代次數和隱層節點數并沒有唯一公式可以確定。因此,對于神經網絡融合曲率傳感器和慣性傳感器,研究確定神經網絡最大迭代次數和隱層節點數對于融合慣性傳感器和曲率傳感器具有重要研究意義。采用LSTM 神經網絡和BP 神經網絡進行數據分析,3 種最大迭代次數預測結果如表1 所示,其中,RL_RMSE表示LSTM 融合結果均方根誤差,RB_RMSE表示BP 神經網絡融合結果均方根誤差。

表1 LSTM 和BP 網絡不同迭代次數均方根誤差比較Table 1 Comparison of root mean square error of different iterations between LSTM and BP network (°)
由表1 可知,神經網絡不同的迭代次數對接觸式傳感器數據融合影響較大。對比表1 融合結果,當BP 神經網絡和LSTM 網絡最大迭代次數為1 200時,融合flex 曲率傳感器和慣性傳感器精度最高。故將兩種神經網絡的迭代次數選為1 200。測試隱層節點參數對BP 神經網絡和LSTM 網絡融合結果的影響,均方根誤差結果如表2 和表3 所示。

表2 BP 神經網絡不同隱層節點下均方根誤差Table 2 Root mean square error of different hidden layer nodes in BP neural network (°)

表3 LSTM 網絡不同隱層節點下均方根誤差Table 3 Root mean square error of different hidden layer nodes in LSTM network (°)
由表2 可知,隱層節點數對BP 神經網絡融合曲率傳感器和慣性傳感器結果影響較小,并且過多的隱層節點數會增加網絡結構的復雜性,使網絡的學習速度下降,容易產生“過擬合”現象。因此,隱層節點根據式(3)、表2 的數據融合結果以及以上隱層節點數的分析,選擇隱層節點數為8 對于BP 神經網絡數據融合結果較好。然而表3 中LSTM 網絡不同的隱層神經元數對慣性傳感器和曲率傳感器融合結果影響較大,合適的隱層神經元個數能夠使LSTM 網絡獲取滿意的融合結果。由于較少的隱層節點數會造成LSTM 網絡不能具有必要的學習和信息處理能力,過多的隱層節點一方面會造成LSTM 網絡在學習過程中更易陷入局部極小點,另一方面會造成LSTM 網絡的學習速度變得很慢。考慮到表3 的融合結果以及LSTM 神經網絡隱層節點數的分析,對于LSTM 網絡融合慣性傳感器和曲率傳感器,隱層神經元個數選擇150 能夠獲得較為滿意的數據融合結果。
基于LSTM 網絡、BP 神經網絡和模糊推理與卡爾曼濾波的數據融合結果分別如圖3~圖5 所示(彩色效果見《計算機工程》官網HTML 版),各傳感器測量值和數據融合結果均方根誤差和標準均方根誤差如表4 所示。從實驗結果可以看出,采用模糊推理與卡爾曼相結合融合算法相較于卡爾曼濾波融合可以有效提高接觸式傳感器測量軟體驅動器角度的精度,減少接觸式傳感器測量軟體驅動器角度受漂移以及氣道膨脹影響。LSTM 網絡融合值均方根誤差和標準均方根誤差最小,表明LSTM 網絡相較于BP 神經網絡可以更深度模擬2 種接觸式傳感器特征輸入,LSTM 神經網絡針對慣性傳感器和flex 曲率傳感器數據融合結果在整體測量范圍內效果最優。

表4 各傳感器測量值和數據融合結果Table 4 Measurement value of each sensor and data fusion result

圖3 基于LSTM 神經網絡的預測結果Fig.3 Prediction results based on LSTM neural network

圖4 基于BP 神經網絡的預測結果Fig.4 Prediction results based on BP neural network

圖5 基于模糊推理卡爾曼濾波結合的融合結果Fig.5 Fusion results based on the combination of fuzzy inference and kalman filter
為更進一步比較4 種數據融合算法的局部測量精度,將長短時記憶網絡、卡爾曼濾波、模糊推理與卡爾曼、BP 神經網絡所有預測結果與視覺傳感器測量值之差作絕對值,絕對值越小說明該采樣點的局部測量精度最好。對4 種融合算法分別對應的絕對值最小值個數與所有采樣點求百分比,得到表5 所示結果。

表5 4 種算法最優融合數據概率分布Table 5 Probability distribution of optimal fusion data of four algorithms %
由表5 可知,模糊推理與卡爾曼相結合的數據融合算法最優概率結果明顯優于卡爾曼濾波算法,且概率分布結果與BP 神經網絡相近,表明模糊推理與卡爾曼相結合的數據融合算法融合接觸式傳感器測量軟體驅動器角度在局部測量精度上大概率優于單一卡爾曼濾波算法。LSTM 神經網絡概率值遠大于其他3 種數據融合算法,表明LSTM 神經網絡融合結果在局部測量精度大概率要優于其他3 種數據融合算法。
除了分析融合精度,計算速度也是反映數據融合算法的重要指標。本文采用時間消耗對比4 種數據融合算法的計算速度。實驗結果表明,平均時間消耗上BP >LSTM >Fuzzy+Kalman >Kalman。BP神經網絡平均運行時間最長,卡爾曼濾波算法平均運行時間最短。因此,局部測量精度以及整體測量精度均表明LSTM 神經網絡的整體效果遠優于其他3 種融合算法,時間消耗也表明LSTM 神經網絡要優于BP 神經網絡,差于其他兩種融合算法。
數據融合模型一般分為基于物理概念的模型和人工智能的模型。對于商用曲率傳感器和慣性傳感器的數據融合,采用模糊推理與卡爾曼濾波相結合能夠有效減少接觸式傳感器漂移和受氣道膨脹影響。然而,基于物理模型的數據融合需要曲率傳感器噪聲滿足高斯白噪聲,這限制了數據融合精度。考慮到基于人工智能的模型能夠根據曲率傳感器和慣性傳感器歷史數據自主學習模型規律,使人工智能模型在融合復雜數據下具有更好的魯棒性,本文采用BP 神經網絡和LSTM 網絡融合2 種傳感器的數據規律。實驗結果表明,與物理模型相比,人工智能模型能夠提高接觸式傳感器測量軟體驅動器角度精度。LSTM 網絡相較于BP 神經網絡可以更準確地模擬特征的復雜信息,進一步提高角度測量的精度。后續將對視覺傳感器和接觸式傳感器測量軟體驅動器角度的數據融合進行研究,以滿足軟體驅動器在更廣泛條件下的應用需求。