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