高皓宇,郭松子,姜 晟,成海炎,方 斌,張進華,*,洪 軍
(1.西安交通大學 教育部現(xiàn)代設計與轉(zhuǎn)子軸承重點實驗室,陜西 西安 710049;2.中國艦船研究設計中心,湖北 武漢 430034)
近年來,隨著對魚類運動的研究得到了極大的擴展,研究人員逐漸開始進行一系列針對各種生物魚類特性的新型仿生機器魚的研發(fā)工作。然而復雜多變的水下環(huán)境會極大地干擾仿生機器魚的正常運動和任務執(zhí)行,難以獲取相應的水下信息。在機器魚的水下運動中,魚鰭與水環(huán)境之間的相互作用使魚鰭發(fā)生被動變形,從而產(chǎn)生了驅(qū)動機器魚的推進力[1]。了解魚鰭獲得的感知信息和推進力之間的關系是機器魚具備驅(qū)動控制、靈活調(diào)節(jié)和環(huán)境適應能力的基礎。
PHELAN等人的研究表明了測量仿生魚鰭形變狀態(tài)既是一種魚鰭形態(tài)方面的感官測量,也是一種與產(chǎn)生推進力有關的映射[2],但并未建立具體的映射模型;KAHN等人對魚鰭運動學的研究也表明無論是作為一種感官測量,還是作為一種與產(chǎn)生推進力有關的物理現(xiàn)象,在魚鰭內(nèi)部分布傳感器可以有效預測推進力的變化特征[3],說明了魚鰭變形測量對于推進力預測的重要性,但其僅在理論上進行了闡釋,并未進行具體的實驗驗證。由于仿生魚鰭在運動過程中每個部位的形變狀態(tài)不同,因此仿生魚鰭的不同位置對于推進力的產(chǎn)生有著不同的貢獻程度,F(xiàn)RANK等人的仿真結(jié)果表明拍動式魚類的胸鰭外側(cè)尖端的大幅度柔性變形主導了推進力的產(chǎn)生[4]。而一些研究人員最近開發(fā)的用于水下環(huán)境感知的水流傳感器[5]和渦流傳感器[6]在與柔性仿生魚鰭的集成上也面臨著巨大的挑戰(zhàn),不能很好地實現(xiàn)多傳感數(shù)據(jù)的同步采集。
針對上述存在的問題,本文基于魚鰭的形變特性和推進力之間的關系,制備了基于壓電/壓阻雙傳感模式的仿魚鰭復合傳感器并搭建實驗平臺,采集仿生魚鰭在運動過程中的推進力信息和復合傳感器輸出的傳感信息。為了揭示傳感信息和推進力信息之間的復雜關系,更好地完成推進力預測工作,建立基于BP人工神經(jīng)網(wǎng)絡的推進力預測模型并對建立的模型進行訓練。同時,針對分布在仿生魚鰭上不同位置的不同傳感層各自的輸出特性以及與推進力的關聯(lián)程度,提出用皮爾遜相關分析法對輸入層數(shù)據(jù)進行篩選和優(yōu)化,以提高模型的預測精度,為進一步提升機器魚的水下感知能力提供了新的途徑。
如圖1(a)所示,魚鰭對于外界刺激的感知是快速檢測功能和慢速檢測功能的結(jié)合,快速檢測受體僅在魚鰭運動開始和結(jié)束時發(fā)生響應,且對不同彎曲速度和頻率刺激對應著不同的輸出強度;在魚鰭保持在彎曲位置時,慢速檢測受體在彎曲期間會對其狀態(tài)持續(xù)做出響應,且隨著魚鰭彎曲量的增加,慢速檢測受體持續(xù)保持活躍且保持期內(nèi)的強度持續(xù)增加[7]。為了模擬魚鰭這一感知特性,通過在一個柔性傳感器上集成柔性壓電層和柔性壓阻層,采取雙模式傳感原理將2種基于不同測量原理的傳感器的優(yōu)點結(jié)合,設計并制備了仿魚鰭復合傳感器,使其完成對彎曲速度等動態(tài)信息和彎曲角度等靜態(tài)信息的同步感測,其工作原理圖如圖1(b)所示。
圖1 仿魚鰭復合傳感器仿生原理圖Fig.1 Bionic principle diagram of fish fin-like composite sensor
由于仿魚鰭復合柔性傳感器中的壓電傳感層和壓阻傳感層都具有各自的性能特色,為了驗證復合傳感器的傳感性能和感知范圍,通過激振試驗測試復合傳感器中壓電層和壓阻層的輸出特性。如圖2(a)所示,當激振頻率設置為10 Hz時,壓電層可以檢測出高頻動態(tài)刺激信息的變化。而相對于壓電層信號,壓阻層輸出的信號沒有一個明顯的增大趨勢,并且輸出信號也不穩(wěn)定,代表著壓阻層輸出的信號不能正確反映出高頻動態(tài)刺激信息,如圖2(b)所示。而壓阻層在感知靜態(tài)刺激信息的性能方面則具備一定的優(yōu)勢。
圖2 復合傳感器的動態(tài)刺激檢測Fig.2 Dynamic stimulus detection with composite sensors
表1展示了仿魚鰭復合傳感器中各傳感層的性能參數(shù),說明仿魚鰭復合傳感器中的壓電層和壓阻層的傳感性能各有側(cè)重,結(jié)合2個傳感層的優(yōu)勢可對動態(tài)刺激信息和靜態(tài)信息進行檢測。
表1 仿魚鰭復合傳感器性能參數(shù)Table 1 Performance parameters of fishtail-like composite sensor
為了準確評估仿魚鰭復合傳感器的信號和其與推進力之間的映射關系,需同步采集機器魚的仿生魚鰭在拍動過程中產(chǎn)生的推進力信息與安裝在仿生魚鰭中的復合傳感器輸出的感測信息,進行推進力的估計方法研究。我們在一款拍動式推進的機器魚模型[8]的仿生魚鰭上分布式安裝仿魚鰭復合傳感器。由于仿生魚鰭在運動過程中每個部位的形變狀態(tài)不同,所以安裝在仿生魚鰭上不同位置的復合傳感器對于推進力的預測有著不同的貢獻程度。在本實驗中選擇將復合傳感器安裝在仿生魚鰭的前緣尖端位置(a),背側(cè)近端位置(b)和腹側(cè)位置(c),安裝位置如圖3所示。
圖3 復合傳感器布局方案示意圖Fig.3 Scheme schematic of composite sensor layout
基于以上分析和測量需求,搭建了仿生魚鰭變形–推進力實驗平臺。該實驗平臺主要由玻璃水缸(1.2 m×1.5 m×1.0 m)、六軸力傳感器(ATI-Mini40-IP68,ATI)、數(shù)據(jù)采集卡(USB-6210,National Instruments)、控制板(RoboMaster C,Dji)、恒壓電源、防水舵機、固定夾具、仿生魚鰭和仿魚鰭復合傳感器幾個部分組成。將仿魚鰭復合傳感器通過澆筑成型法嵌入安裝到仿生魚鰭中,用于測量仿生魚鰭拍動時的變形狀態(tài)。仿生魚鰭通過與六軸力傳感器連接,用夾具安裝在玻璃水缸上方的支架上。在實驗中,通過控制板產(chǎn)生PWM信號驅(qū)動舵機使仿生魚鰭在水下執(zhí)行數(shù)千次往復拍動步態(tài),通過六軸力傳感器采集仿生胸鰭在往復拍動時產(chǎn)生的推進力信息,并同步采集仿魚鰭復合傳感器輸出的信號。
經(jīng)過對推進力信息的分析,發(fā)現(xiàn)其具體的規(guī)律一般表現(xiàn)為:對于不同的拍動幅度和不同的拍動頻率,都會對應有不同的推進力輸出,而每個拍動周期內(nèi)的仿生魚鰭形變狀態(tài)和推進力基本都是按固定的周期規(guī)律性變化的。
由于仿生魚鰭的各個部位的變形狀態(tài)是與周圍流體相互作用的結(jié)果,安裝在不同位置上的復合傳感器的感測信息可能是相互關聯(lián)的。各種輸入信息之間的相關性通常會導致數(shù)值條件不良的建模問題[9]。而神經(jīng)網(wǎng)絡目前在處理復雜非線性問題中對于數(shù)據(jù)分析、數(shù)據(jù)挖掘和預測等方面都能表現(xiàn)出極強的能力。
人工神經(jīng)網(wǎng)絡模仿了神經(jīng)系統(tǒng)感知外部信息的機制,通過讓眾多神經(jīng)元對外界信息進行學習和相互傳遞來準確描述不同信息之間的內(nèi)在聯(lián)系[10]。BP神經(jīng)網(wǎng)絡是目前應用比較廣泛的人工神經(jīng)網(wǎng)絡,通過誤差反向傳播算法訓練后,BP神經(jīng)網(wǎng)絡具有良好的非線性映射能力,且其結(jié)構(gòu)和訓練簡單,使其能夠通過學習和訓練進行大量輸入輸出模型映射關系的儲存,在非線性問題中擬合程度高,很好地適應復合傳感器中各傳感層輸出信號的波動性大等特征,在預測領域應用較為廣泛。
含有1層隱含層的多層神經(jīng)網(wǎng)絡模型的結(jié)構(gòu)功能已經(jīng)可以滿足很多要求不高的非線性問題和應用場景,所以我們采用如圖4所示的單隱含層的BP神經(jīng)網(wǎng)絡作為預測模型的結(jié)構(gòu)框架。其結(jié)構(gòu)組成包含輸入層、隱含層和輸出層3個部分。其中,模型的輸入層導入的數(shù)據(jù)為X=(x1,x2,...,xn)T,此向量代表著仿生魚鰭上各復合傳感器的壓電/壓阻層的輸出信號;模型的隱含層輸入的數(shù)據(jù)為Y=(y1,y2,...,ym)T,預測模型輸出量為推進力P,而目標期望輸出量為推進力T。從輸入層到中間隱含層的權(quán)值為V=(v11,v22,...,vnm)T,從中間隱含層到輸出層的權(quán)值為W=(w1,w2,...,wm)T。
圖4 推進力預測模型結(jié)構(gòu)框架Fig.4 Structural framework of propulsion prediction model
BP神經(jīng)網(wǎng)絡推進力預測模型的激勵函數(shù)采用Sigmoid函數(shù),它的數(shù)學表達式為
BP神經(jīng)網(wǎng)絡的學習算法的過程為不斷更新模型中層與層的權(quán)值,直到預測模型推進力輸出量P與目標期望推進力輸出量T之間的誤差縮至最小。預測模型使用單隱含層BP神經(jīng)網(wǎng)絡,當模型推進力輸出量P達不到目標期望推進力輸出量T的要求,將兩者之間的誤差設為E,則有以下定義:
其中,隱含層的數(shù)學表達式為
預測模型輸出量P的數(shù)學表達式為
模型中各層的權(quán)值,決定了模型預測的誤差,所以可通過直接調(diào)整各層的權(quán)值來對誤差E進行修正。具體的,通過誤差函數(shù)對各層權(quán)值求偏導,可以得到各權(quán)值的數(shù)學表達式:
通過以上推導可以得知,在此預測模型的學習算法中,各層的權(quán)值的影響因素為:當前層數(shù)的輸入信號、訓練值與真實值之間的誤差信號以及學習率η。
為了滿足BP神經(jīng)網(wǎng)絡模型在推進力預測中的應用要求,還需要對BP神經(jīng)網(wǎng)絡預測模型中的參數(shù)不斷進行訓練優(yōu)化,以不斷提升模型的預測性能和精準性。將各傳感器信號作為輸入層數(shù)據(jù)進行歸納和處理后,隨機劃分為訓練集、驗證集和測試集幾個互斥子集,然后對推進力預測模型中的各層權(quán)值與參數(shù)進行合理選擇。經(jīng)過訓練集和驗證集的不斷計算來優(yōu)化預測模型的參數(shù),使優(yōu)化后的預測模型的性能可以滿足對測試集進行推進力預測分析的要求。
推進力預測模型訓練與學習的流程:1)構(gòu)建模型結(jié)構(gòu)及神經(jīng)網(wǎng)絡初始化;2)訓練集生成,模型訓練;3)預測誤差計算及返回;4)調(diào)整各層各單元權(quán)重值;5)得出最優(yōu)權(quán)重值。
在推進力預測實驗過程中,首先需要經(jīng)過合理的數(shù)據(jù)劃分完成訓練集、測試集和驗證集的建立;然后需要對訓練數(shù)據(jù)進行預處理,在確定了模型的結(jié)構(gòu)之后,進行初始化參數(shù)工作,進而完成模型預測的準備工作。
由于仿生魚鰭上搭載了3個復合傳感器,一共6個輸入節(jié)點,故先將預測模型的輸入層節(jié)點數(shù)設置為6。對于隱含層的節(jié)點數(shù),采用經(jīng)驗公式法來確定,常用的確定隱含層節(jié)點數(shù)的公式為
式中:l為表隱含層的節(jié)點數(shù);a為輸入層的節(jié)點數(shù);b為輸出層的節(jié)點數(shù);c為1~10之間的正整數(shù)。
由于隱含層節(jié)點數(shù)不僅與輸入、輸出層的節(jié)點數(shù)有關,還與預測問題的實際情況和激活函數(shù)的型式以及樣本數(shù)據(jù)的特性等因素有關[11],所以上述公式還是以估算為主,理論上還沒有一種科學和普遍的確定方法。結(jié)合王嶸冰等人如何確定人工神經(jīng)網(wǎng)絡隱含層結(jié)構(gòu)的相關研究[12],針對研究問題相對簡單的特點,采用的是結(jié)合上述經(jīng)驗公式在區(qū)間內(nèi)進行窮舉對比的方式來確定隱含層的結(jié)構(gòu),選定指標是推進力的輸出值和標簽值的誤差,以該誤差最小為標準確定隱含層結(jié)構(gòu)。首先,由于輸入層節(jié)點為6,根據(jù)公式計算后可以得出隱含層節(jié)點數(shù)為12,隱含層的節(jié)點范圍為3~13。將單隱含層神經(jīng)網(wǎng)絡的神經(jīng)元節(jié)點數(shù)設定為12,再依次確定各層隱含層神經(jīng)元數(shù)量。將初步范圍中的所有層數(shù)分別進行訓練以確定層數(shù),然后將每層訓練結(jié)束后的均方根誤差(Root Mean Square Error,RMSE)進行對比,當RMSE最小時,該隱含層節(jié)點數(shù)作為該網(wǎng)絡的最佳隱含層節(jié)點數(shù)。均方根誤差的計算公式為
式中:n為數(shù)據(jù)樣本總量;t為采樣時刻;D(t)為在t時刻的樣本數(shù)據(jù);D′(t)為在t時刻的預測值。
在維持其他變量不變的情況下,設置不同隱含層數(shù)量來對前向驅(qū)動力和側(cè)向力的預測性能進行對比分析,預測結(jié)果如表2所示??梢钥闯?,對于前向驅(qū)動力來說,當隱含層數(shù)為2時,RMSE最小,預測效果最好,精度最高;隱含層數(shù)超過3層后RMSE變大,預測精度開始降低。說明隱含層數(shù)設置為2層時,前向驅(qū)動力預測最為理想;側(cè)向力也是類似的情況。
基于以上分析,分別對前向驅(qū)動力和側(cè)向力的預測模型參數(shù)進行設置。其中,激勵函數(shù)為sigmoid函數(shù);訓練函數(shù)選擇trainlm函數(shù);迭代次數(shù)設為1 000;學習率η設為0.01;誤差閾值設為10–6。隱含層設置為2層,且每層神經(jīng)元數(shù)目均為12。將6組共15 000個樣本數(shù)據(jù)來對預測模型進行訓練,劃分70%的數(shù)據(jù)為訓練集,然后選取20%為測試集,最后10%的數(shù)據(jù)為驗證集。輸入層為6組傳感器采集的數(shù)據(jù),輸出層分別為推進力和側(cè)向力,由此建立起6-12-12-1的BP神經(jīng)網(wǎng)絡預測模型結(jié)構(gòu)。對2個預測模型分別訓練10 000次,得到如下的運算結(jié)果,如圖5所示。
圖5 預測結(jié)果圖Fig.5 Prediction results
從推進力預測結(jié)果來看,側(cè)向力的預測效果相比于前向驅(qū)動力的預測效果較好。雖然對于前向驅(qū)動力和側(cè)向力的預測都達到了一定的效果,但是預測性能還有進一步提升的空間。主要原因是輸入層節(jié)點的選擇,由于輸入層的6組傳感數(shù)據(jù)保留了原始變量的大量信息,部分的傳感數(shù)據(jù)對推進力的影響很小,加入這些參數(shù)反而干擾了主要因素與推進力之間關系的建立,故所選取的輸入層的數(shù)據(jù)不能夠很好地反映要輸出的推進力。每組傳感數(shù)據(jù)對于前向驅(qū)動力和側(cè)向力預測的影響程度也不同,這是由于相同傳感層信號與前向驅(qū)動力和側(cè)向力信息的相關程度也有很大差別,所以各傳感層對于前向驅(qū)動力和側(cè)向力預測的貢獻度都有差別。
雖然完成了推進力的預測工作,但是預測的精度還有待進一步提升。有研究表明,使用彎曲傳感器的線性預測模型比使用壓力傳感器的線性預測模型表現(xiàn)更好,但這些結(jié)果尚未在人工神經(jīng)網(wǎng)絡預測模型中得到驗證。由于相同傳感層對于前向驅(qū)動力和側(cè)向力預測的影響程度不同,因此需要分別對前向驅(qū)動力和側(cè)向力的預測進行分析,比較安裝在不同位置的傳感器之間的性能,從而初步確定能使預測模型性能調(diào)整至最好的最佳傳感器的安裝位置和類型。
1) 安裝在不同位置的復合傳感器的預測性能對比。
①前向驅(qū)動力預測性能。
首先,將安裝于仿生魚鰭前緣尖端位置a,背側(cè)近端位置b,腹側(cè)位置c的復合傳感器的壓電/壓阻層信號分別導入到前向驅(qū)動力預測模型(輸入層節(jié)點為2)中進行前向驅(qū)動力預測實驗,其他參數(shù)保持不變,對比布置在3個測量點的復合傳感器的前向驅(qū)動力預測性能,預測結(jié)果如圖6所示。
圖6 各位置復合傳感器的前向驅(qū)動力預測性能對比圖Fig.6 Comparison of the forward drive prediction performance of composite sensor by position
可以發(fā)現(xiàn)來自仿生魚鰭尖端位置a處的變形狀態(tài)數(shù)據(jù)構(gòu)成的前向驅(qū)動力預測模型表現(xiàn)最好,這與前人對于魚體水動力學的研究結(jié)果[3]一致,魚鰭尖端的變形主導了前向驅(qū)動力的產(chǎn)生。所以,如果要對前向驅(qū)動力進行測量或預測,變形狀態(tài)的最佳取樣點通常位于魚鰭尖端部分。
②側(cè)向力預測性能。
按同樣的位置安裝復合傳感器進行預測實驗,對比布置在3個測量點的復合傳感器的側(cè)向力預測性能,預測結(jié)果如圖7所示。
對預測效果進行對比分析可以發(fā)現(xiàn)來自仿生魚鰭c處的變形狀態(tài)數(shù)據(jù)構(gòu)成的側(cè)向力預測模型效果最好,代表魚鰭腹側(cè)的變形主導了側(cè)向力的產(chǎn)生。所以,如果要對側(cè)向力進行測量或預測,變形狀態(tài)的最佳取樣點通常位于魚鰭腹側(cè)部分。
2) 最佳傳感器組合分析。
雖然使用更多的輸入層數(shù)據(jù)可以使預測過程中提供更多信息,但這些信息并非所有都可以與所研究的任務或過程產(chǎn)生正向促進作用。因此,為了舍棄對推進力預測不重要甚至會影響預測精準性的輸入層數(shù)據(jù),提出用皮爾遜相關系數(shù)(Pearson Correlation Coefficient)分別度量各傳感層數(shù)據(jù)與推進力信號之間的相關性,從而對輸入層數(shù)據(jù)進行篩選和優(yōu)化。皮爾遜相關系數(shù)r值可以衡量2個連續(xù)信號如何隨時間共同變化,代表兩者之間的關聯(lián)程度,其計算公式為
式中:{xi,i=1,2,...,n}和{yi,i=1,2,...,n}分別為2個信號;和分別為2個信號的平均值;rxy為2個信號的皮爾遜相關系數(shù)。若rxy>0,表明2個變量是正相關;若rxy<0,表明2個變量是負相關。rxy的絕對值越大表明相關性越強。皮爾遜相關系數(shù)和其代表的2個信號間的相關程度如表3所示。
表3 皮爾遜相關系數(shù)和對應關聯(lián)程度Table 3 Pearson correlation coefficient and corresponding correlation degree
用皮爾遜相關性分別分析6組傳感數(shù)據(jù)與推進力中的推進力和側(cè)向力之間的相關系數(shù),計算得到的各輸入層節(jié)點與推進力信息之間的相關系數(shù)和對應的相關程度如表4所示。
表4 各傳感層的相關系數(shù)和關聯(lián)程度Table 4 Correlation coefficient and correlation degree of each sensing layer
分別對比6個不同安裝位置的仿魚鰭復合傳感器中各傳感層與前向驅(qū)動力、側(cè)向力的相關性,得出以下結(jié)論:
①對于前向驅(qū)動力的相關因素,布置在仿生魚鰭尖端的復合傳感器a中的壓阻層的信號與推進力信息的相關系數(shù)最高,說明位于魚鰭尖端的變形情況最能與推進力的變化產(chǎn)生映射規(guī)律。
②對于側(cè)向力的相關因素,可以發(fā)現(xiàn)安裝在a、b、c這3個位置的壓電傳感信息均與側(cè)向力信息的相關程度較高,說明在魚鰭上分布壓電傳感器比分布壓阻傳感層更能對側(cè)向力進行準確預測。對于最佳取樣位置,可以發(fā)現(xiàn)靠近腹側(cè)位置的傳感器更能正確反映出側(cè)向力的變化。
根據(jù)上述皮爾遜相關性分析,剔除與前向驅(qū)動力和側(cè)向力信息呈現(xiàn)“極弱相關或無相關”的關聯(lián)程度的傳感層數(shù)據(jù)。分別對BP神經(jīng)網(wǎng)絡預測模型進行訓練,得到如圖8的預測結(jié)果。
圖8 預測結(jié)果圖Fig.8 Prediction results
從預測結(jié)果來看,由于保留了與推進力信息相關程度較高的關聯(lián)變量傳感層數(shù)據(jù)作為輸入層節(jié)點,并剔除了與推進力信息相關程度不高甚至于完全不相關的傳感層數(shù)據(jù),降低數(shù)據(jù)集維度的同時提高了推進力預測的準確性和高效性。結(jié)果顯示對于前向驅(qū)動力和側(cè)向力的預測性能相較于之前都得到了提升,預測效果較為理想,證明基于BP神經(jīng)網(wǎng)絡及皮爾遜相關性分析的多傳感層組合的推進力預測是有效可行的。
本文針對現(xiàn)有對機器魚推進力進行識別和預測研究的局限性,提出了一種通過仿魚鰭復合傳感器對魚鰭產(chǎn)生的推進力預測的方法。通過在一個柔性傳感器上集成柔性壓電層和柔性壓阻層制備了仿魚鰭復合傳感器,使其完成對仿生魚鰭變形狀態(tài)的感測,并建立了基于BP人工神經(jīng)網(wǎng)絡的推進力預測模型,對仿生魚鰭在拍動過程中受到的推進力進行識別和預測。針對安裝在仿生魚鰭上不同位置和不同傳感層類型的預測效果,提出用皮爾遜相關性分析法對輸入層數(shù)據(jù)進行篩選和優(yōu)化,提高模型的預測精度。實驗結(jié)果表明:基于BP神經(jīng)網(wǎng)絡及皮爾遜相關性分析的多傳感層組合的推進力預測模型能夠有效預測魚鰭產(chǎn)生的推進力的變化特征,并具有一定的預測精度。研究結(jié)果進一步提升了機器魚的水下感知能力,為機器魚的驅(qū)動控制和環(huán)境適應提供了新的方法,擁有廣泛的應用范圍。