高皓宇,郭松子,姜 晟,成海炎,方 斌,張進華,*,洪 軍
(1.西安交通大學 教育部現代設計與轉子軸承重點實驗室,陜西 西安 710049;2.中國艦船研究設計中心,湖北 武漢 430034)
近年來,隨著對魚類運動的研究得到了極大的擴展,研究人員逐漸開始進行一系列針對各種生物魚類特性的新型仿生機器魚的研發工作。然而復雜多變的水下環境會極大地干擾仿生機器魚的正常運動和任務執行,難以獲取相應的水下信息。在機器魚的水下運動中,魚鰭與水環境之間的相互作用使魚鰭發生被動變形,從而產生了驅動機器魚的推進力[1]。了解魚鰭獲得的感知信息和推進力之間的關系是機器魚具備驅動控制、靈活調節和環境適應能力的基礎。
PHELAN等人的研究表明了測量仿生魚鰭形變狀態既是一種魚鰭形態方面的感官測量,也是一種與產生推進力有關的映射[2],但并未建立具體的映射模型;KAHN等人對魚鰭運動學的研究也表明無論是作為一種感官測量,還是作為一種與產生推進力有關的物理現象,在魚鰭內部分布傳感器可以有效預測推進力的變化特征[3],說明了魚鰭變形測量對于推進力預測的重要性,但其僅在理論上進行了闡釋,并未進行具體的實驗驗證。由于仿生魚鰭在運動過程中每個部位的形變狀態不同,因此仿生魚鰭的不同位置對于推進力的產生有著不同的貢獻程度,FRANK等人的仿真結果表明拍動式魚類的胸鰭外側尖端的大幅度柔性變形主導了推進力的產生[4]。而一些研究人員最近開發的用于水下環境感知的水流傳感器[5]和渦流傳感器[6]在與柔性仿生魚鰭的集成上也面臨著巨大的挑戰,不能很好地實現多傳感數據的同步采集。
針對上述存在的問題,本文基于魚鰭的形變特性和推進力之間的關系,制備了基于壓電/壓阻雙傳感模式的仿魚鰭復合傳感器并搭建實驗平臺,采集仿生魚鰭在運動過程中的推進力信息和復合傳感器輸出的傳感信息。為了揭示傳感信息和推進力信息之間的復雜關系,更好地完成推進力預測工作,建立基于BP人工神經網絡的推進力預測模型并對建立的模型進行訓練。同時,針對分布在仿生魚鰭上不同位置的不同傳感層各自的輸出特性以及與推進力的關聯程度,提出用皮爾遜相關分析法對輸入層數據進行篩選和優化,以提高模型的預測精度,為進一步提升機器魚的水下感知能力提供了新的途徑。
如圖1(a)所示,魚鰭對于外界刺激的感知是快速檢測功能和慢速檢測功能的結合,快速檢測受體僅在魚鰭運動開始和結束時發生響應,且對不同彎曲速度和頻率刺激對應著不同的輸出強度;在魚鰭保持在彎曲位置時,慢速檢測受體在彎曲期間會對其狀態持續做出響應,且隨著魚鰭彎曲量的增加,慢速檢測受體持續保持活躍且保持期內的強度持續增加[7]。為了模擬魚鰭這一感知特性,通過在一個柔性傳感器上集成柔性壓電層和柔性壓阻層,采取雙模式傳感原理將2種基于不同測量原理的傳感器的優點結合,設計并制備了仿魚鰭復合傳感器,使其完成對彎曲速度等動態信息和彎曲角度等靜態信息的同步感測,其工作原理圖如圖1(b)所示。

圖1 仿魚鰭復合傳感器仿生原理圖Fig.1 Bionic principle diagram of fish fin-like composite sensor
由于仿魚鰭復合柔性傳感器中的壓電傳感層和壓阻傳感層都具有各自的性能特色,為了驗證復合傳感器的傳感性能和感知范圍,通過激振試驗測試復合傳感器中壓電層和壓阻層的輸出特性。如圖2(a)所示,當激振頻率設置為10 Hz時,壓電層可以檢測出高頻動態刺激信息的變化。而相對于壓電層信號,壓阻層輸出的信號沒有一個明顯的增大趨勢,并且輸出信號也不穩定,代表著壓阻層輸出的信號不能正確反映出高頻動態刺激信息,如圖2(b)所示。而壓阻層在感知靜態刺激信息的性能方面則具備一定的優勢。

圖2 復合傳感器的動態刺激檢測Fig.2 Dynamic stimulus detection with composite sensors
表1展示了仿魚鰭復合傳感器中各傳感層的性能參數,說明仿魚鰭復合傳感器中的壓電層和壓阻層的傳感性能各有側重,結合2個傳感層的優勢可對動態刺激信息和靜態信息進行檢測。

表1 仿魚鰭復合傳感器性能參數Table 1 Performance parameters of fishtail-like composite sensor
為了準確評估仿魚鰭復合傳感器的信號和其與推進力之間的映射關系,需同步采集機器魚的仿生魚鰭在拍動過程中產生的推進力信息與安裝在仿生魚鰭中的復合傳感器輸出的感測信息,進行推進力的估計方法研究。我們在一款拍動式推進的機器魚模型[8]的仿生魚鰭上分布式安裝仿魚鰭復合傳感器。由于仿生魚鰭在運動過程中每個部位的形變狀態不同,所以安裝在仿生魚鰭上不同位置的復合傳感器對于推進力的預測有著不同的貢獻程度。在本實驗中選擇將復合傳感器安裝在仿生魚鰭的前緣尖端位置(a),背側近端位置(b)和腹側位置(c),安裝位置如圖3所示。

圖3 復合傳感器布局方案示意圖Fig.3 Scheme schematic of composite sensor layout
基于以上分析和測量需求,搭建了仿生魚鰭變形–推進力實驗平臺。該實驗平臺主要由玻璃水缸(1.2 m×1.5 m×1.0 m)、六軸力傳感器(ATI-Mini40-IP68,ATI)、數據采集卡(USB-6210,National Instruments)、控制板(RoboMaster C,Dji)、恒壓電源、防水舵機、固定夾具、仿生魚鰭和仿魚鰭復合傳感器幾個部分組成。將仿魚鰭復合傳感器通過澆筑成型法嵌入安裝到仿生魚鰭中,用于測量仿生魚鰭拍動時的變形狀態。仿生魚鰭通過與六軸力傳感器連接,用夾具安裝在玻璃水缸上方的支架上。在實驗中,通過控制板產生PWM信號驅動舵機使仿生魚鰭在水下執行數千次往復拍動步態,通過六軸力傳感器采集仿生胸鰭在往復拍動時產生的推進力信息,并同步采集仿魚鰭復合傳感器輸出的信號。
經過對推進力信息的分析,發現其具體的規律一般表現為:對于不同的拍動幅度和不同的拍動頻率,都會對應有不同的推進力輸出,而每個拍動周期內的仿生魚鰭形變狀態和推進力基本都是按固定的周期規律性變化的。
由于仿生魚鰭的各個部位的變形狀態是與周圍流體相互作用的結果,安裝在不同位置上的復合傳感器的感測信息可能是相互關聯的。各種輸入信息之間的相關性通常會導致數值條件不良的建模問題[9]。而神經網絡目前在處理復雜非線性問題中對于數據分析、數據挖掘和預測等方面都能表現出極強的能力。
人工神經網絡模仿了神經系統感知外部信息的機制,通過讓眾多神經元對外界信息進行學習和相互傳遞來準確描述不同信息之間的內在聯系[10]。BP神經網絡是目前應用比較廣泛的人工神經網絡,通過誤差反向傳播算法訓練后,BP神經網絡具有良好的非線性映射能力,且其結構和訓練簡單,使其能夠通過學習和訓練進行大量輸入輸出模型映射關系的儲存,在非線性問題中擬合程度高,很好地適應復合傳感器中各傳感層輸出信號的波動性大等特征,在預測領域應用較為廣泛。
含有1層隱含層的多層神經網絡模型的結構功能已經可以滿足很多要求不高的非線性問題和應用場景,所以我們采用如圖4所示的單隱含層的BP神經網絡作為預測模型的結構框架。其結構組成包含輸入層、隱含層和輸出層3個部分。其中,模型的輸入層導入的數據為X=(x1,x2,...,xn)T,此向量代表著仿生魚鰭上各復合傳感器的壓電/壓阻層的輸出信號;模型的隱含層輸入的數據為Y=(y1,y2,...,ym)T,預測模型輸出量為推進力P,而目標期望輸出量為推進力T。從輸入層到中間隱含層的權值為V=(v11,v22,...,vnm)T,從中間隱含層到輸出層的權值為W=(w1,w2,...,wm)T。

圖4 推進力預測模型結構框架Fig.4 Structural framework of propulsion prediction model
BP神經網絡推進力預測模型的激勵函數采用Sigmoid函數,它的數學表達式為
BP神經網絡的學習算法的過程為不斷更新模型中層與層的權值,直到預測模型推進力輸出量P與目標期望推進力輸出量T之間的誤差縮至最小。預測模型使用單隱含層BP神經網絡,當模型推進力輸出量P達不到目標期望推進力輸出量T的要求,將兩者之間的誤差設為E,則有以下定義:
其中,隱含層的數學表達式為
預測模型輸出量P的數學表達式為
模型中各層的權值,決定了模型預測的誤差,所以可通過直接調整各層的權值來對誤差E進行修正。具體的,通過誤差函數對各層權值求偏導,可以得到各權值的數學表達式:
通過以上推導可以得知,在此預測模型的學習算法中,各層的權值的影響因素為:當前層數的輸入信號、訓練值與真實值之間的誤差信號以及學習率η。
為了滿足BP神經網絡模型在推進力預測中的應用要求,還需要對BP神經網絡預測模型中的參數不斷進行訓練優化,以不斷提升模型的預測性能和精準性。將各傳感器信號作為輸入層數據進行歸納和處理后,隨機劃分為訓練集、驗證集和測試集幾個互斥子集,然后對推進力預測模型中的各層權值與參數進行合理選擇。經過訓練集和驗證集的不斷計算來優化預測模型的參數,使優化后的預測模型的性能可以滿足對測試集進行推進力預測分析的要求。
推進力預測模型訓練與學習的流程:1)構建模型結構及神經網絡初始化;2)訓練集生成,模型訓練;3)預測誤差計算及返回;4)調整各層各單元權重值;5)得出最優權重值。
在推進力預測實驗過程中,首先需要經過合理的數據劃分完成訓練集、測試集和驗證集的建立;然后需要對訓練數據進行預處理,在確定了模型的結構之后,進行初始化參數工作,進而完成模型預測的準備工作。
由于仿生魚鰭上搭載了3個復合傳感器,一共6個輸入節點,故先將預測模型的輸入層節點數設置為6。對于隱含層的節點數,采用經驗公式法來確定,常用的確定隱含層節點數的公式為
式中:l為表隱含層的節點數;a為輸入層的節點數;b為輸出層的節點數;c為1~10之間的正整數。
由于隱含層節點數不僅與輸入、輸出層的節點數有關,還與預測問題的實際情況和激活函數的型式以及樣本數據的特性等因素有關[11],所以上述公式還是以估算為主,理論上還沒有一種科學和普遍的確定方法。結合王嶸冰等人如何確定人工神經網絡隱含層結構的相關研究[12],針對研究問題相對簡單的特點,采用的是結合上述經驗公式在區間內進行窮舉對比的方式來確定隱含層的結構,選定指標是推進力的輸出值和標簽值的誤差,以該誤差最小為標準確定隱含層結構。首先,由于輸入層節點為6,根據公式計算后可以得出隱含層節點數為12,隱含層的節點范圍為3~13。將單隱含層神經網絡的神經元節點數設定為12,再依次確定各層隱含層神經元數量。將初步范圍中的所有層數分別進行訓練以確定層數,然后將每層訓練結束后的均方根誤差(Root Mean Square Error,RMSE)進行對比,當RMSE最小時,該隱含層節點數作為該網絡的最佳隱含層節點數。均方根誤差的計算公式為
式中:n為數據樣本總量;t為采樣時刻;D(t)為在t時刻的樣本數據;D′(t)為在t時刻的預測值。
在維持其他變量不變的情況下,設置不同隱含層數量來對前向驅動力和側向力的預測性能進行對比分析,預測結果如表2所示。可以看出,對于前向驅動力來說,當隱含層數為2時,RMSE最小,預測效果最好,精度最高;隱含層數超過3層后RMSE變大,預測精度開始降低。說明隱含層數設置為2層時,前向驅動力預測最為理想;側向力也是類似的情況。
基于以上分析,分別對前向驅動力和側向力的預測模型參數進行設置。其中,激勵函數為sigmoid函數;訓練函數選擇trainlm函數;迭代次數設為1 000;學習率η設為0.01;誤差閾值設為10–6。隱含層設置為2層,且每層神經元數目均為12。將6組共15 000個樣本數據來對預測模型進行訓練,劃分70%的數據為訓練集,然后選取20%為測試集,最后10%的數據為驗證集。輸入層為6組傳感器采集的數據,輸出層分別為推進力和側向力,由此建立起6-12-12-1的BP神經網絡預測模型結構。對2個預測模型分別訓練10 000次,得到如下的運算結果,如圖5所示。

圖5 預測結果圖Fig.5 Prediction results
從推進力預測結果來看,側向力的預測效果相比于前向驅動力的預測效果較好。雖然對于前向驅動力和側向力的預測都達到了一定的效果,但是預測性能還有進一步提升的空間。主要原因是輸入層節點的選擇,由于輸入層的6組傳感數據保留了原始變量的大量信息,部分的傳感數據對推進力的影響很小,加入這些參數反而干擾了主要因素與推進力之間關系的建立,故所選取的輸入層的數據不能夠很好地反映要輸出的推進力。每組傳感數據對于前向驅動力和側向力預測的影響程度也不同,這是由于相同傳感層信號與前向驅動力和側向力信息的相關程度也有很大差別,所以各傳感層對于前向驅動力和側向力預測的貢獻度都有差別。
雖然完成了推進力的預測工作,但是預測的精度還有待進一步提升。有研究表明,使用彎曲傳感器的線性預測模型比使用壓力傳感器的線性預測模型表現更好,但這些結果尚未在人工神經網絡預測模型中得到驗證。由于相同傳感層對于前向驅動力和側向力預測的影響程度不同,因此需要分別對前向驅動力和側向力的預測進行分析,比較安裝在不同位置的傳感器之間的性能,從而初步確定能使預測模型性能調整至最好的最佳傳感器的安裝位置和類型。
1) 安裝在不同位置的復合傳感器的預測性能對比。
①前向驅動力預測性能。
首先,將安裝于仿生魚鰭前緣尖端位置a,背側近端位置b,腹側位置c的復合傳感器的壓電/壓阻層信號分別導入到前向驅動力預測模型(輸入層節點為2)中進行前向驅動力預測實驗,其他參數保持不變,對比布置在3個測量點的復合傳感器的前向驅動力預測性能,預測結果如圖6所示。

圖6 各位置復合傳感器的前向驅動力預測性能對比圖Fig.6 Comparison of the forward drive prediction performance of composite sensor by position
可以發現來自仿生魚鰭尖端位置a處的變形狀態數據構成的前向驅動力預測模型表現最好,這與前人對于魚體水動力學的研究結果[3]一致,魚鰭尖端的變形主導了前向驅動力的產生。所以,如果要對前向驅動力進行測量或預測,變形狀態的最佳取樣點通常位于魚鰭尖端部分。
②側向力預測性能。
按同樣的位置安裝復合傳感器進行預測實驗,對比布置在3個測量點的復合傳感器的側向力預測性能,預測結果如圖7所示。
對預測效果進行對比分析可以發現來自仿生魚鰭c處的變形狀態數據構成的側向力預測模型效果最好,代表魚鰭腹側的變形主導了側向力的產生。所以,如果要對側向力進行測量或預測,變形狀態的最佳取樣點通常位于魚鰭腹側部分。
2) 最佳傳感器組合分析。
雖然使用更多的輸入層數據可以使預測過程中提供更多信息,但這些信息并非所有都可以與所研究的任務或過程產生正向促進作用。因此,為了舍棄對推進力預測不重要甚至會影響預測精準性的輸入層數據,提出用皮爾遜相關系數(Pearson Correlation Coefficient)分別度量各傳感層數據與推進力信號之間的相關性,從而對輸入層數據進行篩選和優化。皮爾遜相關系數r值可以衡量2個連續信號如何隨時間共同變化,代表兩者之間的關聯程度,其計算公式為
式中:{xi,i=1,2,...,n}和{yi,i=1,2,...,n}分別為2個信號;和分別為2個信號的平均值;rxy為2個信號的皮爾遜相關系數。若rxy>0,表明2個變量是正相關;若rxy<0,表明2個變量是負相關。rxy的絕對值越大表明相關性越強。皮爾遜相關系數和其代表的2個信號間的相關程度如表3所示。

表3 皮爾遜相關系數和對應關聯程度Table 3 Pearson correlation coefficient and corresponding correlation degree
用皮爾遜相關性分別分析6組傳感數據與推進力中的推進力和側向力之間的相關系數,計算得到的各輸入層節點與推進力信息之間的相關系數和對應的相關程度如表4所示。

表4 各傳感層的相關系數和關聯程度Table 4 Correlation coefficient and correlation degree of each sensing layer
分別對比6個不同安裝位置的仿魚鰭復合傳感器中各傳感層與前向驅動力、側向力的相關性,得出以下結論:
①對于前向驅動力的相關因素,布置在仿生魚鰭尖端的復合傳感器a中的壓阻層的信號與推進力信息的相關系數最高,說明位于魚鰭尖端的變形情況最能與推進力的變化產生映射規律。
②對于側向力的相關因素,可以發現安裝在a、b、c這3個位置的壓電傳感信息均與側向力信息的相關程度較高,說明在魚鰭上分布壓電傳感器比分布壓阻傳感層更能對側向力進行準確預測。對于最佳取樣位置,可以發現靠近腹側位置的傳感器更能正確反映出側向力的變化。
根據上述皮爾遜相關性分析,剔除與前向驅動力和側向力信息呈現“極弱相關或無相關”的關聯程度的傳感層數據。分別對BP神經網絡預測模型進行訓練,得到如圖8的預測結果。

圖8 預測結果圖Fig.8 Prediction results
從預測結果來看,由于保留了與推進力信息相關程度較高的關聯變量傳感層數據作為輸入層節點,并剔除了與推進力信息相關程度不高甚至于完全不相關的傳感層數據,降低數據集維度的同時提高了推進力預測的準確性和高效性。結果顯示對于前向驅動力和側向力的預測性能相較于之前都得到了提升,預測效果較為理想,證明基于BP神經網絡及皮爾遜相關性分析的多傳感層組合的推進力預測是有效可行的。
本文針對現有對機器魚推進力進行識別和預測研究的局限性,提出了一種通過仿魚鰭復合傳感器對魚鰭產生的推進力預測的方法。通過在一個柔性傳感器上集成柔性壓電層和柔性壓阻層制備了仿魚鰭復合傳感器,使其完成對仿生魚鰭變形狀態的感測,并建立了基于BP人工神經網絡的推進力預測模型,對仿生魚鰭在拍動過程中受到的推進力進行識別和預測。針對安裝在仿生魚鰭上不同位置和不同傳感層類型的預測效果,提出用皮爾遜相關性分析法對輸入層數據進行篩選和優化,提高模型的預測精度。實驗結果表明:基于BP神經網絡及皮爾遜相關性分析的多傳感層組合的推進力預測模型能夠有效預測魚鰭產生的推進力的變化特征,并具有一定的預測精度。研究結果進一步提升了機器魚的水下感知能力,為機器魚的驅動控制和環境適應提供了新的方法,擁有廣泛的應用范圍。