張宜陽,汪 明,杜曉彬,王昆侖
(山東建筑大學(xué) 信息與電氣工程學(xué)院,濟南 250101)
近年來,有許多高校都在進行仿生機器魚的研究,其中因為具有高速、高效、高機動性等優(yōu)點,身體/尾鰭推進(BCF,body and/or caudal fin propulsion)模式的仿鲹科機器魚逐漸成為仿生機器魚的研發(fā)重點[1]。例如Wang等人使用粒子群優(yōu)化(PSO,particle swarm optimization)算法和中樞模式發(fā)生器(CPG,central pattern generators)模型[2]來獲取四聯(lián)機械魚的最大平均速度和最大推進效率[3]。汪明等人設(shè)計了一種基于CPG控制的機器海豚,通過實驗驗證了所提出的機器海豚的有效性和實用性[4]。Yu等人研發(fā)了一種無線電控制的四連桿仿生機器魚及其控制系統(tǒng),文章實現(xiàn)了點對點 (PTP,point to point) 控制算法,并采用了高架視覺系統(tǒng)來提供實時視覺反饋[5]。Yu等人構(gòu)建了一種用于展覽目的的新型仿生海豚,通過實驗室實驗和現(xiàn)場實驗證明了基于CPG的步態(tài)生成方法,具有明確的頻率和幅度可調(diào)性,而且具有很強的交互性[6]。盡管現(xiàn)階段已經(jīng)有很多仿鲹科機器魚及其控制方法,但隨著流體力學(xué)技術(shù)和計算機技術(shù)的發(fā)展,人們發(fā)現(xiàn)機器人形態(tài)特征和運動方式對于仿生機器人的設(shè)計和復(fù)雜行為研究至關(guān)重要[7-9]。由于計算流體力學(xué)仿真可以直觀的顯示和說明肉眼不可見的流場狀態(tài),并且大大減少了實驗所用的費用,縮短了實驗周期,因此有關(guān)機器人系統(tǒng)的流體力學(xué)建模也多了起來[10]。Yu等人建立了多關(guān)節(jié)仿生機器魚的動態(tài)模型并且進行了實驗仿真,提供了一個很好的仿鲹科機器魚CPG耦合動力學(xué)模型[11]。Dong等人提出了一種仿生鯨鯊式水下滑翔機的創(chuàng)新設(shè)計,通過計算流體力學(xué)方法,驗證了鯨鯊式滑翔機的滑翔能力[12]。Wu和Yu等人建立了一個全狀態(tài)的滑翔機器人海豚動力學(xué)模型,說明了所開發(fā)的滑翔機器人海豚的強大運動能力,并驗證了所制定的動態(tài)模型的有效性[13]。Yu等人提出了一種動力學(xué)模型,其應(yīng)用于具有CPG耦合的仿生機器魚上,為鲹科仿生機器魚的運動模式提供了良好的思路[14]。薛文奎等人對于仿鲹科的雙體耦合系統(tǒng)進行了動力學(xué)研究,驗證了雙體機器魚反相波動耦合推進的優(yōu)越性[15]。K.A.Morgansen等人考慮了機器魚的運動控制算法設(shè)計,應(yīng)用非線性控制方法對一種平面的仿鲹科推進的機器魚進行了建模和控制設(shè)計[16]。于浩然等人利用Fluent完成了對碟形水下機器人黏性流場阻力分析[17]。Wang等人通過建立3D的動力學(xué)模型來研究仿生海豚的機動性,為水下滑翔仿生海豚的真實應(yīng)用提供了有價值的指導(dǎo)[18]。馬影等人利用計算流體力學(xué)(CFD,computational fluid dynamics)方法對蝠鲼的非定常水動力特性進行了模擬分析[19]。夏丹等人采用數(shù)值模擬方法對鲹科模式機器魚的自主游動機理進行研究,其結(jié)果對于獲得更為合理的三維機器魚的穩(wěn)態(tài)游動機理有著重要意義[20]。吳文廣以鲹科模式魚類作為研究對象進行了一系列的仿真,其結(jié)論對進一步開展魚類推進機理研究和仿魚類推進器的研制,提供了重要的參考依據(jù)[21]。
本文以流體力學(xué)分析為切入點,基于計算流體力學(xué)方法,利用Fluent軟件對構(gòu)建的魚體模型使用采集到的金槍魚魚尾擺動數(shù)據(jù)和魚體波方法進行仿真,分析仿生機器魚在應(yīng)用兩種方法時,不同擺動頻率和幅度對游動速度的影響,同時也通過真實的實驗驗證上述仿真結(jié)果的正確性,為優(yōu)化仿生機器魚的運動控制提供一種新的思路。
本文采用的仿真軟件為Fluent,其能夠運用計算流體力學(xué)方法得到給定流體區(qū)域內(nèi)的離散解,細致描述給定流場內(nèi)部的參數(shù)變化。
所有的流體問題都遵守著質(zhì)量守恒定律、動量守恒定律和熱量守恒定律。本次仿真中不考慮熱量交換問題,故熱量守恒定律不在考慮范圍之內(nèi)。質(zhì)量守恒定律的數(shù)學(xué)表達式如下:
(1)
式中,ux,uy,uz分別為x,y,z方向在t時刻的速度分量,t為時間,ρ為流體密度。質(zhì)量守恒定律保證在單位時間內(nèi)流入系統(tǒng)的流體凈質(zhì)量和該系統(tǒng)在單位時間內(nèi)的質(zhì)量增量是相等的。
動量守恒定律的數(shù)學(xué)表達式描述了在粘性不可壓縮的流體系統(tǒng)內(nèi),系統(tǒng)內(nèi)所受的外力的總和等于系統(tǒng)內(nèi)部的動量的變化率。動量守恒定律的數(shù)學(xué)表達式為納維斯托克斯方程,納維斯托克斯方程在直角坐標系的表示如下:
(2)
式中,ρ為流體密度,ux,uy,uz分別為x,y,z方向在t時刻的速度分量,τ為應(yīng)力張量,F(xiàn)為應(yīng)用在物體上的力,若物體只受重力影響時,F(xiàn)x=Fy=0,F(xiàn)z=ρg。
可以看出描述流體問題的方程都為偏微分方程,為了解決偏微分方程很難求出其解析解的問題,目前主流的CFD軟件大部分都采用有限體積法(FVM, finite volume method)。有限體積法又稱有限容積法、控制體積法,其基本思路是將給定的計算域劃分成互為獨立且不相同的子區(qū)域,并且在這些子區(qū)域內(nèi),通過網(wǎng)格的劃分設(shè)定節(jié)點,建立離散方程。通過上述操作后,計算域的偏微分方程就變成了每個節(jié)點上的代數(shù)方程組,便可以對其進行求解。
本文使用Fluent仿真軟件進行仿真計算有三個步驟:前處理、計算求解和后處理。前處理包括魚體幾何模型的建立、計算域的劃分、網(wǎng)格的劃分、邊界條件的設(shè)定和控制參數(shù)的設(shè)定,其目的為創(chuàng)造計算求解步驟所需的模型,為下一步進行仿真實驗奠定基礎(chǔ)。計算求解則是利用CFD求解器,在已經(jīng)建立好的模型行進行求解運算,輸出數(shù)據(jù)。后處理則是通過后處理軟件對求解的量進行處理分析。建模仿真流程如圖1所示。
圖1 建模仿真流程圖
1.3.1 仿真模型的構(gòu)建及實驗
本仿真所用的魚體模型使用SoildWorks軟件構(gòu)建,構(gòu)建的仿生機器魚3D模型仿照鲹科魚外形,其尺寸如圖2所示。
圖2 仿生機器魚3D模型
本仿真構(gòu)建的魚體模型在游動時采用魚體波產(chǎn)生的數(shù)據(jù)和金槍魚游動時采集數(shù)據(jù)兩種運動控制方式。魚類在游動時,魚頭至魚尾呈現(xiàn)出的一個身體波動規(guī)律。Lighthill[22]提出的鲹科魚類魚體波模型:
(3)
式中,Ybody(x,t)為魚類沿垂直中心線擺動的幅值,x為魚類沿魚尾至魚頭方向上的位移,c1、c2分別為魚體包絡(luò)線的一次系數(shù)、二次系數(shù),λ為魚體波波長,在本次仿真實驗中,所用c1、c2和λ的取值分別為0.08、0.000 1和1.7。
在以大數(shù)據(jù)作為背景的媒體發(fā)展主要呈現(xiàn)出一種新媒體與傳統(tǒng)媒體相融合的現(xiàn)象,媒體的融合發(fā)展成為了媒體行業(yè)的重要任務(wù)。根據(jù)我國當(dāng)下的媒體融合現(xiàn)狀,媒體融合這一重要工作仍存在較多問題,尤其是對新媒體與傳統(tǒng)媒體融合的意義以及重要性的領(lǐng)悟上存在缺陷。首先,有極大一部分媒體工作者對于媒體融合的目標不清晰,阻礙了媒體融合的高速發(fā)展;其次,媒體工作者對大數(shù)據(jù)時代的認識較為欠缺,對大數(shù)據(jù)技術(shù)的掌握不到位,媒體工作者的綜合能力水平需要提高;最后,對媒體融合的管理體系、管理制度等不夠完善,需要進一步加強和改進,對傳統(tǒng)的管理模式做出適當(dāng)、有效的調(diào)整。
真實金槍魚游動采樣數(shù)據(jù)是通過計算機視覺技術(shù),在金槍魚的游動視頻中批量地、逐幀地采集魚的尾部位置變化,然后得到連續(xù)獨立的離散數(shù)據(jù)點,模型通過讀取這些數(shù)據(jù)點實現(xiàn)魚的尾部的位置變化,從而實現(xiàn)尾部的擺動,進而實現(xiàn)游動。將金槍魚游動采集的魚尾位置離散數(shù)據(jù)經(jīng)過擬合后,得到如下式的數(shù)據(jù)曲線:
Y=sin(7.346t+6.147)
(4)
式中,Y為魚尾沿垂直中心線方向擺動的幅值,t為時間序列。圖3為魚體波數(shù)據(jù)和金槍魚數(shù)據(jù)的在魚尾部同一位置上的數(shù)據(jù)曲線。
圖3 驅(qū)動方式數(shù)據(jù)曲線
為了對比仿真實驗中不同的驅(qū)動方式,在不同擺動的頻率和幅度下對游動速度的影響關(guān)系,在本次仿真中設(shè)置兩組仿真,其中的一組仿真使用金槍魚游動采樣數(shù)據(jù),另一組使用魚體波數(shù)據(jù),僅改變兩組仿真中魚尾擺動的頻率和幅度進行仿真實驗,以減少其他變量對本仿真的干擾。每一組內(nèi)設(shè)置了魚尾擺動頻率為1 Hz、2 Hz,魚尾幅值為4 cm、8 cm,共四組對比仿真。設(shè)置的仿真實驗如表1所示。
表1 仿真實驗組
1.3.2 網(wǎng)格劃分及邊界條件設(shè)定
本仿真使用動網(wǎng)格重疊方法實現(xiàn)仿真中魚體的游動。首先劃分出計算網(wǎng)格和背景網(wǎng)格。魚體的網(wǎng)格區(qū)域采用四面體為主的非結(jié)構(gòu)網(wǎng)格,背景網(wǎng)格采用四面體結(jié)構(gòu)網(wǎng)格,這樣劃分網(wǎng)格的優(yōu)點是,魚體的網(wǎng)格區(qū)域采用四面體為主的非結(jié)構(gòu)網(wǎng)格能夠滿足CFD求解器對瞬態(tài)計算的網(wǎng)格精度要求。而背景網(wǎng)格由于受魚體游動影響不大,故設(shè)定四面體結(jié)構(gòu)網(wǎng)格,以減少計算量。在建立模型時設(shè)置計算網(wǎng)格和重疊網(wǎng)格(Overset),實現(xiàn)動網(wǎng)格的重疊。邊界條件的設(shè)置如圖4所示。
圖4 仿真模型邊界條件
圖4(a)中上、下、左、右4個面為固定壁面,圖4(b)中左面設(shè)置為速度入口,來流速度為1 m/s,右壁面設(shè)置為壓力出口,設(shè)置背景區(qū)域的流體介質(zhì)為水。使用用戶自定義文件(UDF)宏定義實現(xiàn)魚體的游動方式、游動方向和速度的計算。粘性模型采用k-ω模型,選擇Low-Re矯正,采用瞬態(tài)計算,并行計算。仿真模型中,流體介質(zhì)為水,密度為998.2 kg/m3,粘度為0.001 kg/m-s,來流速度為1 m/s,特征長度為0.04 m,因此模型的雷諾數(shù)Re為4×103。劃分網(wǎng)格后的流體域模型如圖5所示,其中節(jié)點為118 311個,單元為245 220個。
圖5 劃分網(wǎng)格后的流體域
設(shè)置好仿真環(huán)境后,進行的仿真魚體模型游動如圖6所示。
圖6 游動示意圖
在應(yīng)用兩種不同的游動驅(qū)動方式,且只改變魚體擺動頻率和幅度的情況下,按照上述所建立的仿真模型,進行計算后,每個仿真所得出的魚體速度在t=1 s、t=3 s、t=5 s時如表2所示。
表2 不同時刻的速度 m/s
從表2中可以看出,無論是改變頻率還是改變幅度,都會對速度產(chǎn)生影響,且改變幅度對改變頻率對速度的影響更大。若是將頻率和幅度都同時增大,速度變化最為明顯。
為了更直觀地分析兩種游動方式對速度的影響,圖7表示了在相同的擺動頻率和擺動幅度下,不同的游動方式對速度的影響。
圖7 不同游動方式速度變化對比
可以看到,在圖7(a)中,使用魚體波數(shù)據(jù)和使用金槍魚數(shù)據(jù)的速度變化并沒有明顯的差別,這說明在低頻率、小幅度的游動中,兩者的差距不大;在圖7(b)中,使用金槍魚數(shù)據(jù)的速度要略快于使用魚體波數(shù)據(jù)的方法;但是在圖7(c)中,使用金槍魚數(shù)據(jù)的速度比使用魚體波數(shù)據(jù)的速度快8.1%;在圖7(d)中,使用金槍魚數(shù)據(jù)的速度也要明顯略快于使用魚體波數(shù)據(jù)的方法。
圖8為上述各仿真在5 s時的速度對比圖。
圖8 兩種驅(qū)動方式在第5 s時速度對比
從圖中可以看出,仿生機器魚在小幅值游動時,兩種驅(qū)動方式速度相差無幾,但是在大幅值游動時,使用金槍魚數(shù)據(jù)驅(qū)動方式的速度要明顯大于魚體波數(shù)據(jù)的方式。
在低頻率、大幅度的情況下,通過仿真得到了魚體使用兩種驅(qū)動方法所產(chǎn)生的推力,如圖9所示。
圖9 兩種驅(qū)動方式產(chǎn)生的推力
從圖9可以看出,使用金槍魚數(shù)據(jù)方式所得到的推力數(shù)值要大于使用魚體波數(shù)據(jù)方式。兩種推進方式所得到的推力波形相似,都是在0.2 s左右到達峰值,然后下降到最低值,之后按照正弦規(guī)律變換??梢钥吹剑瑥?.5 s開始,使用金槍魚數(shù)據(jù)驅(qū)動方式的推力波形的峰值達到了1.4 N,與最低值得差值為0.6 N;使用魚體波數(shù)據(jù)方式的推力波形達到了1.3 N,與最低值相差0.8 N。根據(jù)上述可以得出結(jié)論,使用魚體波數(shù)據(jù)方式和金槍魚數(shù)據(jù)方式的推力波形相似,但在數(shù)值上,不管是波形的最大值還是最小值,使用金槍魚數(shù)據(jù)方式的推力要整體大于使用魚體波數(shù)據(jù)方式的推力,且使用金槍魚數(shù)據(jù)方式的推力波形的插差值要小于使用魚體波數(shù)據(jù)方式。由此可知,在低頻率、大幅度的情況下,使用金槍魚數(shù)據(jù)方式所產(chǎn)生的推力,大于使用魚體波數(shù)據(jù)方式產(chǎn)生的推力,因此使用金槍魚數(shù)據(jù)的方法速度更快。
綜上所述,在小幅度的游動模式中,兩種驅(qū)動模式的速度沒有明顯的差別;在大幅度,尤其是低頻率大幅度的游動模式中,使用金槍魚數(shù)據(jù)方法的游動效果是明顯優(yōu)于使用魚體波數(shù)據(jù)方式的。因此,金槍魚數(shù)據(jù)方法相較于魚體波數(shù)據(jù)方法,更適合仿生機器魚在大幅度擺動的情況下游動。
為了驗證上述的仿真結(jié)果的正確性,本文在搭建的實驗平臺上應(yīng)用兩種控制方法進行實驗。實驗所用的實驗平臺如圖10所示。
圖10 實驗平臺
圖10中,上位機控制仿生機器魚進行應(yīng)用兩種控制方法的實驗,攝像機記錄實驗結(jié)果,水池提供實驗環(huán)境。
本文的實驗分為4個部分,分別為使用魚體波數(shù)據(jù)方式小幅值、金槍魚數(shù)據(jù)方式小幅值、魚體波數(shù)據(jù)方式大幅值、金槍魚數(shù)據(jù)方式大幅值,每個部分中設(shè)置魚尾部擺動幅度大幅值為25 cm、魚尾部擺動幅度小幅值為15 cm,魚尾部擺動頻率分別為1 Hz、1.5 Hz、2 Hz的對比實驗。這樣設(shè)置實驗組的目的是,能夠通過實驗得出不同驅(qū)動方式在不同的幅度和頻率下的仿生魚的游動速度,從而反映出驅(qū)動效果。
圖11顯示的是使用魚體波數(shù)據(jù)方式,在小幅值擺動的情況下的位置與時間變化圖。
圖11 魚體波數(shù)據(jù)驅(qū)動方式小幅值擺動
從圖11中可以發(fā)現(xiàn),仿生機器魚都是從水池的左側(cè)開始,以到達水池的右側(cè)為結(jié)束,圖中的時間分別表示仿生機器魚在開始游動時、仿生機器魚到達中間位置時、仿生機器魚到達結(jié)束位置時的時刻。以此,便可以使用時間表示仿生機器魚的游動速度,游動速度越快,則方法的效果越好。通過對比可知,在使用魚體波數(shù)據(jù)驅(qū)動方式小幅值擺動的情況下,頻率越快,游動速度越快。且仿生機器魚到達中間位置所用的時間基本為整體所用時間的一半,表明仿生機器魚在勻速運動。
對比以上3個不同頻率的實驗可知,在使用魚體波數(shù)據(jù)驅(qū)動方式進行小幅值擺動時,仿生機器魚會進行勻速的直線運動,且提升擺動頻率對于游動速度的提升效果是明顯的,擺動頻率越快,則游動速度越快。
圖12顯示的為使用金槍魚數(shù)據(jù)方式,在小幅值擺動的情況下進行的3組實驗。
圖12 金槍魚數(shù)據(jù)驅(qū)動方式小幅值擺動
圖12中可以看出,增大頻率對于提升游動速度的效果是明顯的。在頻率為1 Hz、1.5 Hz時,仿生機器魚游動至中間位置的時間為游動時間的一半,但頻率為2 Hz時,到達中間位置所用的時間超出了整體游動時間的一半,游動過程的后半段所用時間占全部游動時間的1/3,這表明在游動過程中仿生機器魚的加速時間大于勻速游動的時間。由此可得出結(jié)論,在使用金槍魚數(shù)據(jù)驅(qū)動方式進行小幅值擺動時,提高擺動頻率能夠提升仿生機器魚的游動速度,但是在低頻時提升頻率的效果不大,在頻率翻倍時,仿生機器魚的游動速度提升明顯。
圖13顯示的為使用魚體波數(shù)據(jù)方式,在大幅值擺動的情況下進行的實驗。
圖13 魚體波數(shù)據(jù)驅(qū)動方式大幅值擺動
從圖13中可以看出,擺動幅度的越大,仿生機器魚的游動速度也越快,且仿生機器魚到達中間位置所用的時間大約都為整體游動時間的一半,仿生機器魚進行勻速直線運動。由此可知在使用魚體波數(shù)據(jù)方式進行大幅度的游動時,提高擺動頻率能夠增快仿生機器魚的游動速度,且改變低頻時,速度變化明顯,從中頻到高頻,速度提升較小。
圖14顯示的為使用金槍魚數(shù)據(jù)方式,在大幅值擺動的情況下進行的三組實驗。
圖14 金槍魚數(shù)據(jù)驅(qū)動方式大幅值擺動
圖14中可以看出,仿生魚進行勻速直線運動,且擺動頻率越快,游動速度越快。改變頻率對于仿生機器魚的速度變化影響明顯。
整理以上4組實驗的所有平均游動速度,得到了速度對比圖,如圖15所示,其中擺動的大小幅值指仿生機器魚尾鰭部位擺動的幅值。
圖15 實驗平均速度圖
分析圖中的游動速度可以看出,無論應(yīng)用何種驅(qū)動方式和擺動幅度,頻率的快慢和平均游動速度成正相關(guān),頻率越快,平均游動速度越大。在頻率一定的情況下,增大幅度也能夠增加平均游動速度,無論應(yīng)用何種驅(qū)動方式和擺動頻率,擺動幅度增大,平均游動速度也會增大,且使用金槍魚數(shù)據(jù)方式的平均游動速度的增幅要大于使用魚體波數(shù)據(jù)方式。
在擺動頻率為1 Hz時,使用金槍魚數(shù)據(jù)大幅值的游動和使用魚體波數(shù)據(jù)大幅值游動的速度相等,且大于剩下兩組的平均游動速度。但無論擺動幅度和驅(qū)動方式如何變化,平均游動速度均為每組實驗中的最小值。在擺動頻率為1.5 Hz時,使用金槍魚數(shù)據(jù)驅(qū)動方式,使用魚體波數(shù)據(jù)方式和使用金槍魚大幅值擺動數(shù)據(jù)的平均游動速度相差無幾,但小幅度擺動時的效果并不理想,要遠遠低于其他三組實驗的平均游動速度。在擺動頻率為2 Hz時,使用金槍魚游動采樣數(shù)據(jù)擺動方式無論擺動幅度的大小,游動效果都要強于使用魚體波數(shù)據(jù)游動方式,且仿生機器魚以大幅值擺動時,對魚體波數(shù)據(jù)方式的游動速度要比小幅值擺動的提升程度大。
總結(jié)上述的實驗結(jié)果可以看出,仿生機器魚在以中低頻率擺動時,無論使用何種驅(qū)動方式和擺動幅度,仿生機器魚的游動效果沒有明顯的區(qū)別,但以高頻率擺動時,使用金槍魚數(shù)據(jù)驅(qū)動的效果要明顯強于使用魚體波數(shù)據(jù)方式,在小幅度擺動的情況下,使用金槍魚數(shù)據(jù)的游動速度要比使用魚體波數(shù)據(jù)方式的游動速度高出9%;在大幅度的擺動情況下,使用金槍魚數(shù)據(jù)的游動速度要比使用魚體波數(shù)據(jù)的游動速度高出15.4%。因此得出結(jié)論,金槍魚數(shù)據(jù)驅(qū)動方式比魚體波數(shù)據(jù)更適合高頻率、大幅值的游動情況。
本文對使用不同的兩種游動方法進行了模擬仿真,比較了在兩種游動方法下不同擺動頻率和不同擺動幅度對魚體速度的影響。通過仿真可以看出,使用金槍魚游動采樣數(shù)據(jù)方法相較于使用魚體波數(shù)據(jù)方法更適合在魚尾擺動頻率一定、擺動幅度大的情況下使用。又通過實驗驗證了仿真結(jié)果的正確性。這為仿鲹科機器魚的運動控制提供了一種新的、高效的思路,使仿鲹科機器魚的運動控制不在局限于魚體波方程,為仿鲹科機器魚能夠更快速、更高效的控制方法提供了指導(dǎo)。在今后的研究中,將繼續(xù)對使用金槍魚數(shù)據(jù)驅(qū)動方法的適用性及其轉(zhuǎn)彎性能進行研究。