李家坤,張開升,趙 波,張保成
(中國海洋大學工程學院,山東 青島 266100)
仿魚類水下推進裝置的研究大大提高了現(xiàn)代水下機器人的功能,越來越多的研究把目光聚焦在魚類上。然而,如何有效地研究魚體關鍵設計參數(shù)對游動性能的影響規(guī)律是亟待解決的問題。
有關魚類游動機理的研究,國內外已取得豐富的成果。文獻[1-2]以細長水生生物為研究對象提出了“細長體理論”和“大擺幅細長體理論”。文獻[3]提出了“二維波動板理論”來描述帶有鰭的魚類游動。在游動機理研究成熟的基礎上,人們開展了對機器魚樣機設計與制作的研究。文獻[4]等建立了四關節(jié)仿鲹科機器魚的動力學模型并對其快速起動狀態(tài)進行了運動規(guī)劃。文獻[5]利用表面鍍有超磁致伸縮材料的合金薄板模擬魚尾,建立力學模型并進行了數(shù)值模擬,達到了通過控制外磁場實現(xiàn)機器魚快速起動的目的。文獻[6]采用彈性材料研制出了一款能夠模擬魚類肌肉剛度和阻尼特性的柔性機器魚樣機。文獻[7]通過對四自由度仿生機器魚UC-Ika 1的水動力分析,導出運動控制方程,求解得到機器魚的巡游速度為0.29m/s。文獻[8]應用Udwadia-Kalaba理論對兩關節(jié)仿鲹科推進模式機器魚的動力學進行分析,仿真結果表明增加尾鰭擺動幅值和擺動頻率可以有效地提高機器魚的瞬時加速度。文獻[9-10]結合牛頓-歐拉法與浮動框架法建立了一種新的機器魚動力學模型,文獻[11]采用遞歸牛頓-歐拉算法對機器鰻魚進行了動力學分析。文獻[12]提出了一種串聯(lián)結構來模擬魚類的變剛度游動,并通過數(shù)值仿真得到魚類的游動性能與擺動頻率、身體剛度和斯特魯哈爾數(shù)有密切聯(lián)系,其結果與生物觀察結果一直。文獻[13]用曲柄連桿機構模仿胸鰭擺動為仿生魚提供動力,為仿生魚的結構設計提供了一種新思路。前人已經對仿生機器魚開展了大量研究,但仍然存在一些問題:一方面主要通過實驗獲取魚類游動的關鍵參數(shù),在誤差控制和節(jié)省時間及資源成本方面存在很大缺陷;另一方面沒有考慮魚體與外部環(huán)境的流固耦合作用,因此現(xiàn)有的仿生模型與生物魚類尚有較大差距。
針對以上不足,基于牛頓-歐拉法將魚體離散為包括胸鰭在內的多個部分建立動力學模型。然后,基于遺傳算法工具箱以起動加速度為目標進行優(yōu)化,以提高多參數(shù)協(xié)同下機器魚的起動性能。
鮪科魚類高效的游動效率歸結于流線型的魚體、較大展弦比的尾鰭以及其他魚鰭的共同配合。在此基礎上,將仿生魚模型分為三個部分:胸鰭、尾鰭及魚體[13],如圖1所示。
圖1 模型簡化Fig.1 Model Simplification
魚體的波動推進,可看作一列具有特定波長和頻率的行波沿魚體軸線從前向后傳播的過程[13]。根據(jù)魚體游動情況,魚體波為一波幅逐漸增大的行波系列,由一個二次多項式和正弦曲線合成來近似:
式中:yb—魚體運動方向上x處t時刻的側向位移;
c1—線性波幅;c2—二次波幅包絡線系數(shù);
ω—魚體波動的角頻率;k—魚體波波數(shù)。
在魚類的起動運動中,胸鰭只起到保持魚體平衡的作用,因此為簡化模型,使胸鰭保持恒定擊水角度,尾鰭擺動運動示意圖,如圖2所示。
圖2 尾鰭擺動運動示意圖Fig.2 Caudal Fin Oscillating Motion Diagram
尾鰭的復合運動可以分為三個部分:側向的平動運動、沿前進方向的運動和繞尾柄的擺動運動。其中—尾柄前段魚體的推進速度,尾柄的波動運動為ybc(t)=(c1L2+c2L)sin(ωt-kL),尾鰭繞尾柄的擺動與平動運動存在一定的相位差φ。因此,可以用式(2)描述尾鰭的運動
式中:θc—尾鰭與x軸的擺動角度;Tmax—尾鰭擺動的最大幅值。
根據(jù)上文對外形特征的分析,將魚體劃分為n個部分,分別為魚頭部分(B1)、魚體關節(jié)部分(Bi(i=2…n))、尾鰭部分(C)及胸鰭部分(P1、P2)。仿生魚各個部分通過鉸接連接,并以Oi(i=1…n-1)表示,其中魚頭繞O1旋轉,魚體繞Oi(i=2…n-1)旋轉。各關節(jié)質心與上端鉸鏈的距離為ri。
根據(jù)需要分別建立大地坐標系S,魚體坐標系IB及各關節(jié)的坐標系Ij(j=1…n)。上述坐標系均符合右手法則且z軸指向魚體上方。其中,魚體坐標系原點OB與O1點重合,OBxB指向魚體運動的反方向,OByB沿水平面指向魚體右側;各關節(jié)坐標系隨魚體各部分運動,原點Oi與鉸鏈固連,Ojxj沿各個桿單元指向下一個鉸點,Ojyj垂直于各個桿單元。不考慮垂直方向上的俯仰運動。魚體坐標系相對大地坐標系的三維速度、角速度在魚體坐標系分別表示為(VxVyVz)T、(ωxωyωz)T。另外,定義各關節(jié)角速度為坐標系的定義,如圖3所示。
圖3 坐標系定義Fig.3 Coordinate Definition
使用ZXY歐拉角?、φ、ψ來描述大地坐標系與魚體坐標系間的轉換。另外,定義Ri為各關節(jié)坐標系與魚體坐標系之間的轉換矩陣,如下所示:
根據(jù)簡化的模型和建立的坐標系,設定各個桿單元的的運動定義為:
式中:Ti—第i個桿單元的擺動幅值;φi—第i個桿單元與第i-1個桿單元的相位差,特別的φ1=0。
各桿單元相對于大地坐標系的角速度在魚體坐標系IB中可以描述為:
各桿單元的質心相對于大地坐標系的速度在魚體坐標系IB中可以描述為:
各桿單元相對于大地坐標系的角加速度在魚體坐標系IB中可以描述為:
魚體坐標系相對于大地坐標系的加速度在魚體坐標系IB中可以描述為:
則各桿單元的質心相對于大地坐標系的加速度在魚體坐標系IB中可以描述為:
結合前人的結論[14]以及前文的概述,考慮仿生魚游動受到來自重力場、周圍流場和魚體內部的相互作用。
3.3.1 重力和浮力
由于不考慮魚體的俯仰運動,故豎直方向上的受力平衡。因此,在魚體坐標系內,第i個桿單元的受力可描述為:
式中:Gi—第i個單元所受重力;Ffi—第i個單元所受浮力;mi—第i個單元的質量;Vi—第i個單元的體積;ρ—流體密度;g—重力加速度。
3.3.2 附加質量效應
附加質量效應可由魚體的附加質量描述,各環(huán)節(jié)的附加質量可表示為:
3.3.3 胸鰭升力和阻力
胸鰭受力示意圖,如圖4所示。
圖4 胸鰭受力示意圖Fig.4 Force Diagram of Pectoral Fin
通常將胸鰭近似成為機翼,因此單個胸鰭所受到的力可以描述為以下式(12)、式(13)的形式;當胸鰭擊水角度為α時,可將受力合成為沿魚體方向和豎直方向的阻力和升力,如式(14)所示。
式中:FN、FT—單個胸鰭上的法向力和切向力;Vp、Sp—胸鰭速度和面積;CN、CT—胸鰭的法向力系數(shù)和切向力系數(shù)。
3.3.4 尾鰭升力和阻力
假設尾鰭為一簡易剛性平板。尾鰭受力狀況,如圖5所示。
圖5 尾鰭受力示意圖Fig.5 Force Diagram of Caudal Fin
則魚體所受升力阻力FcL、FcD可表示為:
式中:CcL—升力系數(shù);CcD—阻力系數(shù);Vc—尾鰭質心的法向速度;Sc—尾鰭迎流面積。
進一步可得到尾鰭在魚體運動方向和豎直方向上的分力:
式中:αc—流體速度與水平方向的夾角。
3.3.5 魚體阻力
可以將魚體受到的流體阻力描述為:
式中:CDxi、CDyi—第i個關節(jié)的x、y方向上的阻力系數(shù);Vxi、Vyi—第i個關節(jié)的速度在x、y方向上的分量;Sxi、Sxi—x、y方向上的迎流面積。
3.3.6 魚體內部的相互作用力
魚體各個桿單元之間還存在一相互作用的力Fi i-1與力矩,如圖6所示。
圖6 各環(huán)節(jié)相互作用力與力矩Fig.6 Interaction Forces and Moments
牛頓-歐拉法具有思路清晰和便于編程的特點,由基于經典力學中的牛頓第二定律建立的牛頓方程和歐拉方程組成,根據(jù)中間連桿上的力、力矩平衡來描述各部分之間的速度和力之間的關系。建立任意關節(jié)的牛頓歐拉方程:
式中:Mai—第i個關節(jié)的附加質量;mi—第i個關節(jié)的質量;I—單位陣;0—0矩陣;Ii—第i個關節(jié)慣性張量;fi、τi—第i個關節(jié)外力與外力矩。
對于一個確定的運動狀態(tài),可以通過向外迭代得到各個單元的運動參數(shù)。由于尾鰭處于自由端,所以受到的力和力矩可知,因此可以通過求解魚體自由端的動力學方程,進而完成向后的迭代求解,從而得到整體的動力學特征。
遺傳算法(Genetic Algorithm,GA)是一種模擬生物界進化法則演化而來的隨機全局搜索算法,起源于對生物系統(tǒng)進行的計算機模擬研究。它通過模仿自然界生物優(yōu)勝劣汰的進化規(guī)律而達到尋優(yōu)的目的。遺傳算法從串集開始搜索,覆蓋面積大,具有內在隱并行性與良好的全局搜索能力;采用概率變遷規(guī)則尋求最優(yōu)解,自動獲取和指導優(yōu)化搜索空間,具有自適應性、自組織性和自學習能力。所以遺傳算法適合仿生機器魚多參數(shù)協(xié)同的優(yōu)化計算。
自然界魚類進化出了不同的游動姿態(tài)以應對復雜環(huán)境。在捕食和逃脫時,魚類采用C形起動或S形起動狀態(tài)以達到快速起動的效果。北方梭魚在快速起動時,可達25倍重力加速度,這為彌補現(xiàn)階段水下潛器的不足提供了新的思路。仿生魚起動運動的參數(shù)優(yōu)化可利用遺傳算法工具箱求解目標函數(shù)進而得到波動方程來實現(xiàn)。起動加速度可以表示為:
式中:u—魚體加速度;m—魚體質量;Fx—魚體總推力,其值等于魚體附加質量力、魚鰭升阻力、魚體阻力在機器魚游動方向上分量的代數(shù)和。
為了獲取起動性能較好的波動方程,將魚體離散為6 個關節(jié),設置最大加速度為目標函數(shù),尋優(yōu)得到仿生魚各單元的波動幅值、擺動頻率等關鍵參數(shù)。限定第一關節(jié)的擺動幅值為0,第二、三關節(jié)的擺動幅值小于以保證魚體始終沿著運動方向加速起動。另外,剩余關節(jié)的擺動幅值與相位差φi均小于胸鰭擊水角αi小于波動頻率ω小于5π。根據(jù)機器魚起動加速的實際情況,設置魚體游速Vx=0,時間t=0。則優(yōu)化問題可以描述為:
得到的優(yōu)化結果,如圖7、圖8所示。
圖7 最大起動加速Fig.7 The Maximum Start Acceleration
圖8 最佳運動參數(shù)Fig.8 The Optimum Kinematics Parameters
最大起動加速度u=15.01L/s2,各環(huán)節(jié)擺動幅值Ti、相位差φi、胸鰭擊水角αi、角頻率ω分別為:T1=0;T2=1.028;T3=1.035;T4=1.541;T5=1.552;Tmax=1.554;φ2=0.064;φ3=0.063;φ4=0.054;φ5=0.061;φ=0.066;α1=0.002;α2=0.003;L=1;ω=15.693;t=0;Vx=0。機器魚各關節(jié)的運動變化規(guī)律,如圖9所示。
圖9 機器魚各關節(jié)運動變化規(guī)律Fig.9 Variation Law of Each Fish Robot Link
結合優(yōu)化結果可以得到以下結論:
(1)各關節(jié)角度、角速度均呈現(xiàn)正弦變化規(guī)律,當角度的絕對值達到最大值時,該關節(jié)處于極限位置,對應角速度變化曲線中的零點位置;(2)魚體波動頻率ω達到極值,尾鰭的優(yōu)化幅值接近,整個魚體呈現(xiàn)劇烈的波動狀態(tài)。實際上,各環(huán)節(jié)的擺動幅值都接近極值,相對應的,各環(huán)節(jié)間的擺動相位差都較小,波動具有一致性。這種情況可以解釋為:魚體推進力與波動速度正相關。各環(huán)節(jié)的大擺動幅值和運動的一致性,使魚體和尾鰭波動在同一時間總體達到最大,進而通過極大的魚體和尾鰭的波動速度保證最大的瞬時推進力。在0時刻,各環(huán)節(jié)基本處于平衡位置,角速度數(shù)值達到最大,該結果也可與前面的結論相互對應;(3)左右胸鰭擊水角分別為0.11°與0.17°,接近0°,差值可解釋為優(yōu)化誤差。在不做單獨運動情況下,胸鰭只提供一個阻力,所以要達到減少阻力的效果必須使胸鰭的擊水角為0°;(4)機器魚起動狀態(tài)基本上可認為是C形起動,這與預期結果是一致的。在魚類的兩種起動方式中,S形起動提供數(shù)周期持續(xù)的推進力,而C形起動提供一個瞬時極大的推進力。在其他條件相同情況下,C形起動產生的推進力的幅值大于S形起動。本研究考慮的是單一時間點的瞬時推進加速度,因而C形起動無疑更接近優(yōu)化目標。
經重新擬合,獲取魚體的波動方程為:
尾鰭的擺動方程為:
對前文得到的仿生魚起動游動進行數(shù)值模擬,以驗證多機體協(xié)同優(yōu)化方法的有效性。
設置仿真模型整體長度為1m,其中尾鰭部分為0.23m,胸鰭弦長為0.156m,計算域為(8×4)m的不可壓縮粘性流體,魚體起動速度為0m/s,計算得到仿生魚的推進力隨時間的變化情況,如圖10所示。
圖10 各機體推進力變化規(guī)律Fig.10 Variation Law of Multi-Body Propulsion Force
從圖中可以看出:各機體產生的推進力都接近周期性變化,變化周期為運動周期的一半。魚體是最主要的推進裝置,尾鰭是次要推進裝置,胸鰭在整個過程中都產生阻力。從整個周期的角度來看,機器魚整體運動在某些時刻會產生阻礙魚體前進的“負推力”效果。由機器魚動力學結果可知,魚體的整體運動參數(shù)對魚體推進力都有影響,其中波動頻率ω和尾鰭擺動幅值Tmax是影響機器魚推力幅值最主要的參數(shù)。通過討論波動頻率ω和尾鰭擺動幅值Tmax對加速性能的影響驗證優(yōu)化結果的有效性。參數(shù)的選擇如下對應不同波動頻率和尾鰭幅值時機器魚的推進力變化情況,如圖11、圖12所示??梢钥闯觯弘S著波動頻率的增加,機器魚的推進力幅值也隨之增加,考慮到快速起動的過程和作用時間,增加魚體波動頻率對起動加速性能的提高有積極的影響;同時,與波動頻率的影響相似,推進力幅值隨著尾鰭擺動幅值的增加而增加,這與多機體協(xié)同優(yōu)化的結果一致。但需要注意的是,提高波動頻率與擺動幅值會造成機器魚“負推力”幅值和作用時間的增加,影響機器魚的推進效率。因此在起動完成后,應重新規(guī)劃機器魚的運動。
圖11 不同頻率機器魚推進力變化Fig.11 Variation Law of Multi-Body Propulsion Force with Different Frequency
圖12 不同尾鰭幅值機器魚推進力變化Fig.12 Variation Law of Multi-Body Propulsion Force with Different Caudal Oscillating Amplitude
應用牛頓-歐拉法和遺傳算法構建了鮪科仿生機器魚的動力學優(yōu)化模型,并通過仿真驗證了該方法的有效性,獲取了起動運動姿態(tài)的關鍵參數(shù)規(guī)律如下:
(1)保證胸鰭擊水角為0°;(2)魚體各關節(jié)和尾鰭的波動幅值和角頻率應盡可能大,選擇的相位差應使各環(huán)節(jié)波動具有的一致性,實現(xiàn)機器魚整體波動速度在同一時間點達到最大值。
優(yōu)化得到的波動方程符合鮪科魚類起動運動的游動姿態(tài),證明了遺傳算法在仿生機器魚多機體協(xié)同參數(shù)優(yōu)化研究方面的可行性,為仿生機器魚的樣機設計和實驗研究提供理論依據(jù)。