白發(fā)剛,薛鋼,4,黃健堃,劉延俊,4
(1.山東大學(xué)海洋研究院,266237,山東青島;2.山東大學(xué)高效潔凈機(jī)械制造教育部重點實驗室,250061,濟(jì)南;3.山東大學(xué)機(jī)械工程國家級實驗教學(xué)示范中心,250061,濟(jì)南;4.山東大學(xué)機(jī)械工程學(xué)院,250061,濟(jì)南)
隨著海洋智能裝備技術(shù)的不斷進(jìn)步,人類對海洋的探索活動不斷朝著精細(xì)化方向發(fā)展,所聚焦的空間尺度越來越小,對水下裝備性能的要求越來越高。相比于傳統(tǒng)的自主式水下航行器,仿生機(jī)器魚能夠在有限空間內(nèi)連續(xù)躲避障礙物,具有更高的機(jī)動性和自主運動能力,在水下機(jī)器人領(lǐng)域備受青睞。
近十余年來,國內(nèi)外學(xué)者研制了不同種類、不同驅(qū)動方式的仿生機(jī)器魚樣機(jī)[1-3],而由電機(jī)驅(qū)動的串聯(lián)多關(guān)節(jié)身體/尾鰭推進(jìn)模式(body and/or caudal fin,BCF)機(jī)器魚因其結(jié)構(gòu)簡單、負(fù)載能力強(qiáng)、動作精度高,且具備高效、高速、高機(jī)動性等特點,一直是研究的熱點[4]。
受生物節(jié)律運動啟發(fā)的中樞模式發(fā)生器(central pattern generator,CPG)已被廣泛應(yīng)用于生成多自由度機(jī)器人周期性運動信號[5-6],在此基礎(chǔ)上,袁俊[7]、楊越麒[8]采用Newton-Euler法對BCF式多關(guān)節(jié)機(jī)器魚進(jìn)行了動力學(xué)分析,其中,水動力學(xué)分析采用細(xì)長體理論[9]和莫里森(Morison)方程,利用一種改進(jìn)的霍普夫(Hopf)振蕩器CPG模型[10]驅(qū)動各個關(guān)節(jié)擺動,獲得了游動速度和位置曲線;汪明[11]采用Lagrange法進(jìn)行了動力學(xué)建模,在水動力學(xué)分析中考慮了前緣吸力對魚體的影響,利用Ijspeert振蕩器CPG模型[12]產(chǎn)生關(guān)節(jié)驅(qū)動信號,建立了基于CPG信號控制的機(jī)器魚動力學(xué)模型;Kim等[13-14]提出了基于Kane方法的機(jī)器魚動力學(xué)建模方法,并通過仿真分析得到了不同魚類游動模型的位置輸出信息。上述研究工作為分析仿生機(jī)器魚游動時的動力學(xué)問題提供了一定的理論基礎(chǔ)。然而,考慮BCF式串聯(lián)多關(guān)節(jié)機(jī)器魚游動過程受力的時變性、非線性,構(gòu)建精確的水動力學(xué)和機(jī)構(gòu)動力學(xué)耦合模型,一直是仿生機(jī)器魚理論研究的難題。
本文利用CPG模型產(chǎn)生仿生機(jī)器魚關(guān)節(jié)角驅(qū)動信號,基于細(xì)長體理論,考慮附加質(zhì)量力效應(yīng),求解魚體的流體阻力,利用Newton-Euler法求解機(jī)構(gòu)動力學(xué)模型,建立了機(jī)器魚的水動力學(xué)和機(jī)構(gòu)動力學(xué)耦合模型。通過機(jī)器魚物理樣機(jī)的水動力學(xué)測量實驗,驗證了動力學(xué)模型的準(zhǔn)確性;采用數(shù)值計算方法仿真分析了機(jī)器魚的運動特征參數(shù)對其游動性能的影響。
根據(jù)機(jī)器人多剛體系統(tǒng)動力學(xué)建模理論[15],建立仿生機(jī)器魚運動學(xué)與動力學(xué)分析用到的坐標(biāo)系系統(tǒng),如圖1所示。定義世界坐標(biāo)系Cw(owxwywzw),該坐標(biāo)系與大地固連,原點ow設(shè)定在機(jī)器魚運動的起始位置,平面owxwyw與水平面平行,owzw軸平行于重力方向。定義機(jī)體坐標(biāo)系Cb(obxbybzb),原點ob位于魚體頭部浮心,obxb軸指向頭部前端方向,obzb軸平行于頭部浮心與質(zhì)心的連線。定義關(guān)節(jié)坐標(biāo)系,其原點位于魚體尾部關(guān)節(jié)點Ji(i=0,1,2)處,oixi軸沿兩相鄰關(guān)節(jié)點連線方向,oizi軸指向魚體腹部向下。為了方便描述機(jī)器魚受到的時變水動力,參考文獻(xiàn)[8]的水動力學(xué)分析方法引入速度坐標(biāo)系Cv(ovxvyvzv),ovxv軸沿頭部速度方向,由機(jī)體坐標(biāo)系Cb繞obyb軸旋轉(zhuǎn)攻角α、再繞obzb軸旋轉(zhuǎn)側(cè)滑角β可獲得ovxv軸。所有坐標(biāo)系均符合右手定則,沿x、y、z軸的單位向量分別用e1、e2、e3表示。
定義仿生機(jī)器魚頭部的質(zhì)量為mb,尾部兩相鄰關(guān)節(jié)點連線的連桿Li的長度為li,質(zhì)量為mi,θi表示關(guān)節(jié)間夾角,ri(i≠0)表示坐標(biāo)系Ci-1指向坐標(biāo)系Ci的矢量(在關(guān)節(jié)坐標(biāo)系Ci-1下表達(dá))。定義rbm、rbt、rbpl和rbpr分別為浮心到質(zhì)心、浮心到尾部起始點、浮心到左側(cè)胸鰭力作用點、浮心到右側(cè)胸鰭力作用點的矢量(在機(jī)體坐標(biāo)系Cb下表達(dá))。利用世界坐標(biāo)系Cw到機(jī)器魚浮心的矢量wPb=(x,y,z)T表示機(jī)器魚的位置,利用歐拉角wAb=(φ,θ,ψ)T表示機(jī)器魚的姿態(tài),利用Vb=(u,v,w)T和Ωb=(p,q,r)T分別表示機(jī)器魚在機(jī)體坐標(biāo)系Cb中的平移線速度和旋轉(zhuǎn)角速度。
根據(jù)以上定義法則,由關(guān)節(jié)坐標(biāo)系C0到機(jī)體坐標(biāo)系Cb以及由關(guān)節(jié)坐標(biāo)系Ci-1到Ci的轉(zhuǎn)換矩陣分別為
(1)
由速度坐標(biāo)系Cv到機(jī)體坐標(biāo)系Cb的轉(zhuǎn)換矩陣為
(2)
由機(jī)體坐標(biāo)系Cb到世界坐標(biāo)系Cw的線速度轉(zhuǎn)換矩陣wRb和角速度轉(zhuǎn)換矩陣wTb分別為
(3)
(4)
式中:c*表示cos(*);s*表示sin(*);t*表示tan(*)。
目前,常用的產(chǎn)生機(jī)器魚關(guān)節(jié)擺動信號的方法主要有魚體波擬合法[16-17]和基于CPG模型的方法。生物研究表明,脊椎動物可通過生物CPG在沒有中樞神經(jīng)參與的情況下產(chǎn)生節(jié)律信號。受此啟發(fā),CPG模型可以通過神經(jīng)元振蕩器之間的相互作用產(chǎn)生節(jié)律信號,以控制機(jī)器魚的運動[18]。本文選用引入相位因子和偏轉(zhuǎn)因子的基于Hopf振蕩器的CPG模型[19-20],該模型由多個神經(jīng)元振蕩器組成,數(shù)學(xué)描述如下
(5)
仿生機(jī)器魚浮心在世界坐標(biāo)系下的速度更新公式為
(6)
(7)
(8)
根據(jù)文獻(xiàn)[7-8],尾部關(guān)節(jié)Ji的速度和加速度在關(guān)節(jié)坐標(biāo)系Ci下可表示為
(9)
其中
2.2.1 重力和浮力
仿生機(jī)器魚在游動過程中,尾部各個關(guān)節(jié)重心與浮心重合,所受的重力和浮力平衡,可以忽略其對機(jī)器魚運動的影響,而機(jī)器魚頭部的重心和浮心不重合,所受的重力和浮力在坐標(biāo)系Cb下表示為
(10)
式中:Fgrav、Fbuoy和Tgrav、Tbuoy分別表示機(jī)器魚頭部受的重力、浮力和重力矩、浮力矩。
2.2.2 頭部流體阻力
準(zhǔn)穩(wěn)態(tài)升阻力模型[21]可描述仿生機(jī)器魚頭部流體阻力,定義頭部的攻角α和側(cè)滑角β分別為
(11)
(12)
頭部所受的流體阻力由速度坐標(biāo)系Cv轉(zhuǎn)化到機(jī)體坐標(biāo)系Cb下可以表示為
(13)
其中:Fhydro和Thydro表示機(jī)器魚頭部受到的流體阻力;ρ為流體密度;Sb為頭部的有效面積;Cb,d、Cb,sf、Cb,l分別為與攻角α和β相關(guān)的阻力系數(shù)、側(cè)滑力系數(shù)、升力系數(shù);Cb,τx、Cb,τy、Cb,τz分別為各個坐標(biāo)軸方向上的力矩系數(shù);Kb表示轉(zhuǎn)動阻尼項的系數(shù)矩陣。
2.2.3 胸鰭力
仿生機(jī)器魚胸鰭受到的水動力是其實現(xiàn)三維運動的主要外力,胸鰭質(zhì)心處的速度為
(14)
式中:rbp表示頭部浮心到胸鰭質(zhì)心的矢量。定義胸鰭繞機(jī)體坐標(biāo)系y軸順時針旋轉(zhuǎn)的角度θp為正,則胸鰭攻角為
αp=γ+θp
(15)
式中:γ=arctan(Vpz/Vpx)。忽略胸鰭側(cè)滑力的影響,則胸鰭的升阻力和力矩可表示為
(16)
式中:fp,drag、fp,lift、τp分別表示胸鰭受到的阻力、升力和阻力矩;Sp表示胸鰭的面積;Cp,d、Cp,l、Cp,τ分別表示與胸鰭攻角相關(guān)的阻力系數(shù)、升力系數(shù)和力矩系數(shù)。
將胸鰭升力與阻力轉(zhuǎn)換到坐標(biāo)系Cb下可表示為
(17)
進(jìn)一步,考慮左右胸鰭并將胸鰭力平移到浮心,可以表示為
(18)
式中:Fpect和Tpect即為左右胸鰭對機(jī)器魚頭部的合力和力矩在坐標(biāo)系Cb下的表達(dá)。
2.2.4 尾部流體阻力
對于多關(guān)節(jié)尾部,連桿Li受到的黏滯阻力在關(guān)節(jié)坐標(biāo)系Ci下表示為
(19)
式中:Fvisi和Tvisi表示機(jī)器魚尾部連桿Li受的黏滯阻力和阻力矩;cfx、cfy、cfz和cτx、cτy、cτz分別為黏滯阻力和力矩系數(shù)。
對于尾部L0和L1連桿,其受到的黏滯阻力即為流體阻力Fhi和力矩Thi,即Fhi=Fvisi,Thi=Tvisi;由于尾部L2連桿上固連有尾鰭,因此連桿L2受的流體阻力在坐標(biāo)系C2下表示為
(20)
式中:lcf表示從關(guān)節(jié)點J2到連桿L2的尾鰭升力中心的長度;Fcf和Tcf表示尾鰭水動力在坐標(biāo)系C2下的表達(dá)。
尾鰭受力分析如圖2所示,計算尾鰭受力點的速度
(21)
則尾鰭升阻力和力矩可以表示為
(22)
式中:D、L、τcf分別為尾鰭受到的阻力、升力和力矩;Scf表示尾鰭的有效面積;Ccf,d、Ccf,l、Ccf,τ分別為與尾鰭攻角αcf有關(guān)的阻力系數(shù)、升力系數(shù)、力矩系數(shù)。將尾鰭受力轉(zhuǎn)換到坐標(biāo)系C2下得
(23)
根據(jù)Newton-Euler法,連桿Li(質(zhì)心)受到的力和力矩可表示為
(24)
其中
式中:Φi表示考慮機(jī)器魚尾部關(guān)節(jié)附加質(zhì)量和附加轉(zhuǎn)動慣量的慣性矩陣;βi表示尾部連桿的哥式力和向心力;lci表示關(guān)節(jié)點Ji到連桿Li質(zhì)心的長度;Fi和Ti為關(guān)節(jié)點Ji對連桿Li的作用力和力矩,所有關(guān)節(jié)間作用力均在自身關(guān)節(jié)坐標(biāo)系Ci下表達(dá)。
聯(lián)合式(9)和式(24),將尾部連桿間的相互作用力由最后一桿L2開始反向迭代,加速度和速度向前迭代,可求得連桿L0對頭部的作用力在C0下表示為
(25)
其中
將尾部第一關(guān)節(jié)的力平移到浮心,則尾部對頭部的作用力為
(26)
其中
進(jìn)一步,以機(jī)器魚頭部為研究對象,列寫Newton-Euler方程
(27)
進(jìn)一步,聯(lián)立式(26)和式(27)可得機(jī)器魚的動力學(xué)方程
(28)
為了驗證動力學(xué)模型中水動力分析的準(zhǔn)確性,采用如圖3(a)所示的深圳樂智機(jī)器人有限公司機(jī)器魚產(chǎn)品和圖3(b)所示的水動力測試平臺獲得機(jī)器魚尾部擺動產(chǎn)生的水動力。
該機(jī)器魚物理樣機(jī)能夠設(shè)置不同速度等級,在不同速度等級下,尾部擺動頻率相同(2 Hz),最大擺動幅度不同。實驗中利用六維力傳感器對低、中、高3個速度等級(固定頭部測得的尾部最大擺動幅度分別為25°、32°、40°)條件下尾部產(chǎn)生的水動力進(jìn)行測量,每個速度等級下測量6組數(shù)據(jù),并進(jìn)行降噪處理和統(tǒng)計學(xué)分析。采用攝像機(jī)拍攝不同速度等級下尾部的擺動圖像,利用三連桿近似擬合柔性尾部的中線,獲得三關(guān)節(jié)尾部的擺動規(guī)律,圖4給出了低速擺動時一個周期內(nèi)的尾部運動時序圖。通過調(diào)整CPG模型參數(shù),可以得到與之匹配的機(jī)器魚物理樣機(jī)的關(guān)節(jié)角θi(t)變化規(guī)律,圖5所示為低速擺動時CPG模型輸出的機(jī)器魚各個關(guān)節(jié)控制信號。
表1給出了仿生機(jī)器魚的水動力學(xué)和機(jī)構(gòu)動力學(xué)耦合模型仿真過程中各個體段的物理參數(shù),其中,質(zhì)量矩陣M和轉(zhuǎn)動慣量Λ均為考慮了附加質(zhì)量效應(yīng)的值(頭部和尾部關(guān)節(jié)分別等效為規(guī)則的橢球和圓柱形來考慮)。同時,為了考慮機(jī)器魚受到的時變非線性水動力,本文分析魚體各部分的水動力用到的水動力系數(shù),通過CFD仿真[22-23]分析獲得。
圖6給出了機(jī)器魚尾部水動力時歷曲線,從圖6可以看出,在不同速度等級下,推進(jìn)力Fx恒為正值,側(cè)向力Fy在0附近周期性波動。仿真獲得的側(cè)向力和繞obzb軸的水動力矩結(jié)果與實驗測量值具有較高的吻合性,但是推進(jìn)力的實驗測量值大于仿真結(jié)果。計算平均推進(jìn)力發(fā)現(xiàn),低速擺動下實驗測量值為0.529 1 N,仿真結(jié)果為0.433 76 N,偏差近18%,其他速度等級條件下也存在相似結(jié)果。造成該現(xiàn)象的原因可能為本文所建立的耦合動力學(xué)模型中未考慮尾渦作用的影響,而機(jī)器魚樣機(jī)在實際游動過程中產(chǎn)生具有射流效應(yīng)的推力型反卡門渦街,對尾鰭的推力有增強(qiáng)作用[24-25]。隨著機(jī)器魚的游動,尾渦逆游動方向逐漸消散,但是本實驗中機(jī)器魚在原位擺動,尾渦不斷在尾鰭末端積累,進(jìn)一步放大了尾渦作用,使推進(jìn)力的實驗測量值大于仿真計算值。仿真獲得的推進(jìn)力時歷曲線與實驗獲得的推進(jìn)力時歷曲線具有相似的變化規(guī)律,通過仿真和實驗分析,驗證了動力學(xué)模型的有效性和水動力學(xué)分析的準(zhǔn)確性。
表1 仿生機(jī)器魚物理參數(shù)Table 1 Physical parameters of robot fish
為了進(jìn)一步分析本文所建立的仿生機(jī)器魚的空間動力學(xué)模型并測試其有效性,利用Matlab進(jìn)行動力學(xué)仿真。給定一組CPG模型參數(shù):r1=1,r2=1.3,r3=5.6;φ1=φ3=30°,φ2=90°,h1=1,h2=2;ci=6。當(dāng)胸鰭擺角為0°時,通過調(diào)整機(jī)器魚尾部擺動角頻率ωi和偏置bi,可以改變CPG模型輸出的關(guān)節(jié)擺角信號θi(t),進(jìn)而實現(xiàn)機(jī)器魚在平面內(nèi)的任意游動;若給定胸鰭轉(zhuǎn)角,機(jī)器魚可以實現(xiàn)三維空間內(nèi)運動。
圖7給出了仿生機(jī)器魚的平面直游時的運動學(xué)參數(shù)時歷曲線。圖7(a)表明機(jī)器魚直游時僅有沿owxw軸方向的位移x;圖7(c)表明直游時沿owxw軸方向的速度u由0增大至穩(wěn)定值,其他方向的速度均值為0。圖7(b)和圖7(d)顯示機(jī)器魚直游時僅有繞owzw軸的偏航角ψ和角速度r,其他方向的角度和角速度也維持在0附近。圖8(a)為仿生機(jī)器魚的平面轉(zhuǎn)向游動的位移時歷曲線,圖8(b)為仿生機(jī)器魚的三維空間圓周游動的位移時歷曲線。以上仿真結(jié)果完全符合預(yù)期分析和機(jī)器魚的實際運動特征,需要指出的是,由于頭部的轉(zhuǎn)艏運動,仿生機(jī)器魚游動過程的速度、位移等時歷曲線并非光滑曲線,而是呈現(xiàn)出一定的波動性。
以上3.2節(jié)中實驗測量的水動力與相同參數(shù)下的仿真數(shù)據(jù)在結(jié)果上體現(xiàn)出了較好的一致性,同時,基于Newton-Euler法推導(dǎo)建立的機(jī)器魚空間耦合動力學(xué)模型在本節(jié)中能夠?qū)崿F(xiàn)預(yù)期仿真運動效果,在一定程度上體現(xiàn)了建立模型的合理性和有效性。
進(jìn)一步,定義了穩(wěn)定向前游速和頭部穩(wěn)定性兩個評價仿生機(jī)器魚游動性能的指標(biāo)。用速度時均值衡量穩(wěn)定向前游速,定義如下
(29)
機(jī)器魚直游時,頭部的偏航擺動呈現(xiàn)周期性,用偏航角擺幅δ來衡量游動穩(wěn)定性(δ與穩(wěn)定性成反比),定義如下
(30)
根據(jù)所建立的耦合動力學(xué)模型,分析機(jī)器魚運動的3個特征參數(shù)(CPG模型輸入)的影響,即關(guān)節(jié)間相位差φi、擺動角頻率ω和最大擺動幅度A對機(jī)器魚的平均游動速度u和頭部穩(wěn)定性δ的影響,仿真分析結(jié)果如圖9所示。
從圖9(a)和9(b)可以看出,以φ=30°和φ=60°為例,在合理的擺動頻率和幅度范圍內(nèi),關(guān)節(jié)間相位差一致時,擺動角頻率ω和最大擺動幅度A與u和β近似成線性關(guān)系,隨著ω和A增大,β和u均增大。因此,增大尾部擺動頻率和擺動幅度,能夠獲得更大的平均游動速度,但是也會降低仿生機(jī)器魚的游動穩(wěn)定性。
此外,從圖9(c)和9(d)可以看出,在角頻率ω一定的情況下,相比于穩(wěn)定游速u,關(guān)節(jié)間相位差φ對于穩(wěn)定性β的影響更加明顯,較大的φ會帶來更好的穩(wěn)定性;然而,隨著φ增大,平均游速u有逐漸減小的趨勢,但是變化幅度較小。因此,設(shè)計仿生機(jī)器魚的CPG模型參數(shù)時,在滿足平均游速對尾部擺動頻率和最大擺動幅度要求的前提下,應(yīng)選擇較大的關(guān)節(jié)間相位差,以獲得更好的游動穩(wěn)定性。
本文基于細(xì)長體理論計算了三關(guān)節(jié)仿生機(jī)器魚游動的水動力,采用Newton-Euler法建立了機(jī)器魚空間游動的機(jī)構(gòu)動力學(xué)模型,并分析了各運動特征參數(shù)對機(jī)器魚游動性能的影響,主要結(jié)論如下:
(1)利用機(jī)器魚物理樣機(jī)和水動力測量設(shè)備開展實驗,并通過Matlab進(jìn)行機(jī)器魚運動仿真,驗證了所提出的機(jī)器魚游動過程的耦合動力學(xué)模型的合理性和有效性;
(2)在相同關(guān)節(jié)間相位差條件下,擺動角頻率和最大擺動幅度與平均游速近似成正比,與頭部穩(wěn)定性成反比,較大的擺動頻率和擺動幅度會使得平均游動速度增加,但也會降低機(jī)器魚的游動穩(wěn)定性;
(3)在相同角頻率條件下,相比于穩(wěn)定游速,頭部穩(wěn)定性對關(guān)節(jié)間相位差的變化更加敏感,較大的關(guān)節(jié)間相位差能夠獲得更好的穩(wěn)定性,在設(shè)置機(jī)器魚的CPG模型參數(shù)時,應(yīng)盡量選擇較大的關(guān)節(jié)間相位差。
通過本文研究,建立了精確的仿生機(jī)器魚二維、三維多模態(tài)游動耦合動力學(xué)模型,為進(jìn)一步研究仿生機(jī)器魚復(fù)雜軌跡跟蹤問題提供了前提和理論基礎(chǔ)。目前作者正著力于高機(jī)動性機(jī)器魚物理樣機(jī)的開發(fā)研制,計劃在未來進(jìn)行機(jī)器魚空間機(jī)動性實驗研究,進(jìn)一步對本文建立的模型進(jìn)行驗證,同時,探究近水面尾部擊水面積、攻角等參數(shù)對機(jī)器魚游動性能的影響。