宮昭,蔡月日,畢樹生,馬宏偉
(北京航空航天大學 機械工程及自動化學院,北京 100191)
魚類經(jīng)過億萬年的自然選擇,進化出了非凡的游動能力,在游動速度、效率、機動性等各個方面表現(xiàn)近乎完美[1],這也吸引著研究人員通過仿生的方式來提高水下機器人的性能[2-3].
多數(shù)魚類通過彎曲身體產(chǎn)生從前往后的運動波,一直延伸到尾鰭,這種游動方式被稱為身體/尾鰭(Body and/or Caudal Fin,BCF)模式,另外一些魚類則通過擺動胸鰭或者中間鰭的方式來游動,這種方式則被稱為中間鰭/對鰭(Median and/or Paired Fin,MPF)模式[4].
與BCF模式相比,在仿生機器魚研究上,MPF模式在機動性與穩(wěn)定性上具有更大的優(yōu)勢[5-7].牛鼻鲼,作為 MPF模式魚類的一種,在機動性與穩(wěn)定性方面優(yōu)勢明顯.仿生牛鼻鲼機器魚與其仿生原型一樣,具備寬大的胸鰭,通過對胸鰭擺動運動的控制,可以實現(xiàn)機器魚在航向、俯仰與滾轉3個方向上的高機動可控游動.
胸鰭擺動推進機器魚一般通過兩側胸鰭的不對稱(振幅或相位差不同)擺動[8]產(chǎn)生偏航扭矩以實現(xiàn)航向控制;俯仰控制則是通過尾鰭擺動產(chǎn)生俯仰力矩實現(xiàn)[9].但是較少有學者研究機器魚的滾轉機動控制.滾轉機動控制對機器魚抵抗水流擾動能力以及特殊工作環(huán)境(如機器魚水下探測時,需要穿過廢墟中的狹縫,機器魚可以調整自身的滾轉角,使腹部平面與狹縫平行,進而在沿狹縫寬度方向上所占尺寸最小,便于自身通過)下的避障能力都至關重要.
本文給出了一種基于中樞模式發(fā)生器(Central Pattern Generator,CPG)的模糊控制方法,用于實現(xiàn)胸鰭擺動推進機器魚的滾轉機動控制.在北京航空航天大學人工泳池進行了相關滾轉游動的實驗.實驗結果表明,機器魚能夠快速達到并穩(wěn)定在目標滾轉角度,由此證明了本文提出的滾轉控制方法的有效性.
胸鰭擺動推進機器魚樣機的機構簡圖如圖1所示,樣機由中間基體,胸鰭單元以及尾鰭單元構成.左右兩側胸鰭各由3根鰭條構成,尾鰭由2根鰭條構成.兩側胸鰭的中間鰭條(鰭條2與鰭條4)分別具有一個轉動關節(jié),轉動關節(jié)連接一根碳纖維鰭條,然后通過彈簧分別與前后鰭條相連.當胸鰭擺動時,碳纖維鰭條在彈簧拉力作用下,會產(chǎn)生俯仰運動,有利于增大胸鰭尖端拍水時的攻角,從而提高推進效率.
圖1 機構簡圖Fig.1 Mechanism schematic
圖2為機器魚的物理樣機,每一根胸鰭鰭條均由高扭矩舵機(3.7N·m,7.4V 供電)驅動.橡皮繩作為彈簧來提供鰭條間的拉力;浮力塊用于機器魚的水下配平,使機器魚在靜止狀態(tài)下能夠以水平姿態(tài)懸浮于水中.
相比之前研制的機器魚[10-11],本文中的機器魚采用了新的走線形式,舵機的供電線與信號線均通過殼體內部的走線孔連接到控制板上,除無線串口模塊天線與接收機信號線外,無其他線路直接暴露于水中.在密封方式上,O型圈與X型圈分別用于機器魚的靜密封與動密封,保證了機器魚水下密封的可靠性.
圖2 物理樣機Fig.2 Physical prototype
機器魚的控制系統(tǒng)硬件結構如圖3所示.采用72MHz的單片機作為微型控制器單元,負責傳感器的數(shù)據(jù)采樣,上位機以及遙控器控制信號接收,數(shù)據(jù)處理,決策,然后發(fā)送運動參數(shù)給CPG控制器.CPG控制器用于產(chǎn)生可以被舵機識別的脈沖寬度調制(PWM)控制信號,控制舵機所需的轉動.姿態(tài)傳感器用于反饋機器魚的航向、俯仰、滾轉3個姿態(tài),每隔0.2 s反饋一組歐拉角形式的姿態(tài)數(shù)據(jù).液位計用于反饋機器魚的深度信息,機器魚只有達到一定深度后才能進行滾轉游動,深度過淺時胸鰭將擺出水面,導致機器魚失去平衡.
圖3 硬件架構Fig.3 Hardware configuration
為了便于描述牛鼻鲼胸鰭擺動規(guī)律,建立如圖4所示的坐標系,沿胸鰭寬度方向為展向,身體前后方向為弦向,在身體中軸線的中間位置建立笛卡兒坐標系,樣機坐標系建立方式與其保持統(tǒng)一,如圖2所示.根據(jù)牛鼻鲼胸鰭擺動規(guī)律[10]可知,其胸鰭沿弦向截面近似為正弦運動,其擺動中心線為x軸,展向截面運動可以近似為三次多項式函數(shù),定義其擺動中心線為上下兩個極限位置的對稱中心線.
圖4 牛鼻鲼胸鰭擺動規(guī)律曲線Fig.4 Oscillating discipline curves of Cownose Ray’s pectoral fins
通過觀測牛鼻鲼在水中的游動姿態(tài)發(fā)現(xiàn),牛鼻鲼在游動時,沿弦向方向胸鰭的擺動對稱中心線與身體的朝向保持一致,如圖5所示.牛鼻鲼在上浮游動時,身體朝上,胸鰭擺動中心線也朝上;水平游動時身體保持水平,胸鰭擺動中心線也保持水平;下潛時,胸鰭擺動中心線也朝下.因此可以得出,胸鰭擺動產(chǎn)生的平均推力與擺動對稱中心線的方向保持一致.
圖5 不同游動姿態(tài)下的牛鼻鲼胸鰭擺動規(guī)律Fig.5 Oscillating disciplines of Cownose Ray’s pectoral fins in different swimming poses
因此,若控制一側胸鰭擺動中心線上偏,另一側胸鰭擺動中心線下偏,則一側產(chǎn)生斜向上的推進力Fwr,相應的另一側產(chǎn)生斜向下的推進力Fwl,兩側的推進力會產(chǎn)生翻滾力矩.如圖6所示,機器魚左側胸鰭中心線下偏,右側中心線上偏,則其在向前游動的同時,會向左側滾轉.反之,則機器魚向右側滾轉.
圖6 胸鰭擺動中心偏置示意圖Fig.6 Oscillating center bias schematic of pectoral fins
機器魚樣機的第i根鰭條擺動中心線的位置如圖7所示.機器魚鰭條擺動的兩個極限位置的對稱中心線為鰭條擺動中心線.則Ribias是第i個鰭條單元的擺動中心線與y軸之間的夾角(規(guī)定逆時針為正),稱為振幅偏置,同時,定義
式中:ΔRijbias為第i根鰭條的振幅偏置與第j根鰭條擺動偏置的差值.
為了度量胸鰭擺動中心線的傾斜程度,定義
式中:Ubias為常數(shù),其值為正時,左側胸鰭下偏,右側胸鰭上偏,反之,則左側胸鰭上偏,右側胸鰭下偏,且Ubias的絕對值越大,中心線傾斜角越大.
圖7 鰭條擺動中心線定義Fig.7 Definition of fin oscillating center line
為了更好地模擬自然原型胸鰭的擺動規(guī)律,樣機的鰭條按正弦規(guī)律擺動.但是,采用插值法輸出正弦信號時,若振幅、相位等參數(shù)改變則容易導致輸出信號突變等問題.因此,為了實現(xiàn)胸鰭條單元的柔順擺動及光滑的姿態(tài)切換過渡,本文參照兩棲蛇機器人[12]、蠑螈機器人[13]以及機器魚[8]的CPG模型,建立了適合本文的CPG模型.
本文中的CPG網(wǎng)絡結構如圖8所示,每個單元與其上下、左右相鄰單元之間的連接關系均是雙向的.前后單元的連接關系影響運動波沿鰭面的傳遞規(guī)律,進而影響機器魚的前進速度及俯仰穩(wěn)定.而左右單元的連接關系則影響機器魚的航向穩(wěn)定.
圖8 CPG網(wǎng)絡結構示意圖Fig.8 CPG network structure schematic
CPG單元1~6分別對應鰭條1~6,用于控制胸鰭的運動;單元7、8分別對應鰭條7、8,用于控制尾鰭運動.單個CPG單元鰭條擺動的運動模型為
式中:φi、ri和 ribias分別為 i單元的相位、振幅與振幅偏置;υi為單元的擺動固有頻率;ai和bi為兩個正系數(shù),會影響系統(tǒng)的響應速度及超調量.而單元與單元之間的耦合通過連接權重wij以及相位差Δφij實現(xiàn);θi為胸鰭鰭條舵機的擺動角度.相位方程式(3)以及振幅方程式(4)能夠較好地控制單元的相位以及振幅突變,從而抑制了機器魚在運動過程中因控制參數(shù)的突變而帶來的機械抖動問題,可增強游動的穩(wěn)定性能.
由于流固耦合問題,水下復雜流體擾動以及姿態(tài)傳感器本身精度限制等因素,精確的機器魚滾轉控制動力學模型建立難度很大.考慮到模糊控制方法是基于專家經(jīng)驗的邏輯控制,可以避開動力學建模等難題,因此本文采用模糊控制方法進行機器魚的滾轉機動控制.借鑒模糊控制在機器魚深度控制[9]、航向控制、轉彎避障[14-16]等方面的相關研究思路,進行滾轉角模糊控制器設計.
模糊控制器由規(guī)則庫、推理機、模糊化接口、清晰化接口等部分組成.基于大量的專家經(jīng)驗,并通過一定的匹配規(guī)則,對于給定的輸入,可以得到相應的輸出.
本文中基于CPG的模糊控制器結構如圖9所示,模糊滾轉角控制器有兩個輸入變量及一個輸出變量.輸入變量分別為誤差e與誤差變化量ec,輸出變量為與擺動偏置差值Ubias相關的過程變量ubias.整個控制器的輸入為期望滾轉角,輸出為當前滾轉角.在某一時刻t,給定期望滾轉角rt與當前滾轉角yt,則該時刻的誤差以及誤差變化量分別表示為:et=rt- yt,ect=et- et-1.
在實驗中,機器魚滾轉角可以在[-π/2,π/2]之間變化,因此,誤差的變化范圍定為-π≤e≤π;根據(jù)機器魚的滾轉速度以及測試環(huán)境中水流擾動的大小,設定 ec的變化范圍為-π/4≤ec≤π/4;而偏置差值的過渡變量ubias范圍為 -3°≤ubias≤ +3°,對應偏置差值 Ubias范圍為-12°≤Ubias≤ +12°.
為了與姿態(tài)傳感器反饋的數(shù)據(jù)保持一致,本文規(guī)定機器魚水平時,滾轉角為0°;往左側滾轉,角度為正,往右側滾轉,角度為負.滾轉角度偏差E、偏差變化率 Ec和控制量 U的論域定義為[-3,3],與 e、ec和 ubias分別對應比例因子為 k1=3/(π/2),k2=3/(π/4),k3=4.
在模糊化輸入階段,隸屬度函數(shù)均采用三角函數(shù),如圖10所示,E、Ec均被分為7檔,分別對應語言變量NB(負大)、NM(負中)NS(負小)、ZE(零)、PS(正小)、PM(正中)、PB(正大).
模糊規(guī)則庫在建立時,采用IF-THEN的規(guī)則,根據(jù)大量實驗得出的經(jīng)驗,總結歸納出了49條模糊控制規(guī)則,建立了模糊規(guī)則庫,如表1所示.
在對U的清晰化輸出階段,隸屬度函數(shù)仍采用如圖10所示的三角函數(shù),同樣分為7檔,采用中心-平均法求得對應的輸出量為
式中:μij為前件隸屬度,通過 Mamdani推理方法(取小)求得;uij為第 ij條規(guī)則蘊含模糊集合中心值.
圖9 基于CPG的模糊控制器結構Fig.9 Structure of fuzzy controller based on CPG
圖10 各語言變量的隸屬度函數(shù)Fig.10 Membership function for each linguistic variable
表1 模糊控制規(guī)則表Table 1 Rule table for fuzzy control
模糊控制器輸出ubias需要乘以比例因子k3,得到偏置差值Ubias,然后輸送給CPG控制器.CPG控制器中,υi、Ri和 Δφij等參數(shù)均保持不變,Ubias僅引起振幅偏置Ribias的改變,且規(guī)定兩側胸鰭的第3根鰭條(鰭條3,鰭條6)的振幅偏置R3bias=R6bias≡0°.鰭條1、鰭條2、鰭條4和鰭條5的振幅偏置Ribias可由式(1)和式(2)計算得到,即
CPG控制器將更改后的運動參數(shù)進行迭代計算,輸出計算結果,用于控制機器魚胸鰭的擺動.
在機器魚滾轉機動控制實驗中,圖11為目標滾轉角分別為60°、45°和30°時滾轉角隨時間的變化曲線.從圖11(a)可以看出,機器魚的最快滾轉速度約為10(°)/s,穩(wěn)態(tài)誤差為 ±5°.誤差呈周期性變化波動,而且周期與機器魚胸鰭擺動的周期吻合,均為0.5Hz.當初始角度與目標角度相差變小時(見圖11(b)、圖11(c)),機器魚仍能以較快的速度達到目標滾轉角.目標滾轉角度為45°和30°時,穩(wěn)態(tài)誤差仍為±5°以內.證明了本文所述模糊控制方法具有較好的穩(wěn)定性.
通過實時發(fā)送目標滾轉角度,并且配合機器魚的航向控制,最終實現(xiàn)了機器魚滾轉機動避障游動,其避障過程的視頻截圖如圖12所示.機器魚翼展為920mm,兩根豎直障礙物之間的間距為450mm,機器魚魚身厚度為200mm.機器魚以90°的滾轉角,通過了寬度不足翼展1/2的狹窄空間,證明了其游動的高機動性.
圖11 滾轉角隨時間變化曲線Fig.11 Curve of roll angle changing with time
圖12 滾轉機動避障Fig.12 Obstacle avoidance by rolling maneuvering
本文通過基于CPG的模糊控制方法實現(xiàn)了機器魚的滾轉機動控制并進行了相關實驗.實驗結果表明:
1)機器魚能夠以較快的速度達到目標滾轉角度,最快滾轉角速度為10(°)/s.
2)機器魚在目標滾轉角度分別為60°、45°和30°時,穩(wěn)態(tài)誤差均不超過±5°,證明控制方法具有較好的穩(wěn)定性.
3)配合航向控制,機器魚通過滾轉游動實現(xiàn)了高機動性的避障游動,證明滾轉控制一定程度上提高了機器魚的機動性.
在實驗中發(fā)現(xiàn),機器魚在滾轉游動時航向會發(fā)生較大變化,原因是機器魚有一定的滾轉角后,航向與俯仰存在一定的耦合,機器魚因胸鰭周期性擺動而帶來的周期性俯仰帶來了航向的不穩(wěn)定.下一步工作中將對機器魚的俯仰與滾轉進行解耦,以實現(xiàn)機器魚在給定滾轉角下的穩(wěn)定航向控制.
References)
[1] Domenici P,Blake R.The kinematics and performance of fish fast-start swimming[J].Journal of Experimental Biology,1997,200(8):1165-1178.
[2] Sfakiotakis M,Lane DM,Davies JB C.Review of fish swimming modes for aquatic locomotion[J].IEEE Journal of Oceanic Engineering,1999,24(2):237-252.
[3] Triantafyllou M S,Triantafyllou G S,Yue D K P.Hydrodynamics of fishlike swimming[J].Annual review of fluid mechanics,2000,32(1):33-53.
[4] Webb PW.Form and function in fish swimming[J].Scientific American,1984,251(1):58-68.
[5] Rosenberger L J.Pectoral fin locomotion in batoid fishes:Undulation versus oscillation[J].Journal of Experimental Biology,2001,204(2):379-394.
[6] Blake RW.Fish functional design and swimming performance[J].Journal of Fish Biology,2004,65(5):1193-1222.
[7] Suzuki H,Kato N,Suzumori K.Load characteristics of mechanical pectoral fin[J].Experiments in Fluids,2008,44(5):759-771.
[8] Cao Y,Bi S,Cai Y,et al.Applying coupled nonlinear oscillators to imitate swimming modes of cow-nosed rays[C]∥Proceedings of the 2013 IEEE International Conference on Robotics and Biomimetics.Piscataway,NJ:IEEE Press,2013:552-557.
[9] Niu C,Zhang L,Bi S,et al.Development and depth control of a robotic fish mimicking cownose ray[C]∥Proceedings of the 2012 IEEE International Conference on Robotics and Biomimetics.Piscataway,NJ:IEEE Press,2012:814-818.
[10] Zheng L,Bi S,Cai Y,et al.Design and optimization of a robotic fish mimicking cow-nosed ray[C]∥Proceedings of the 2010 IEEE International Conference on Robotics and Biomimetics.Piscataway,NJ:IEEE Press,2010:1075-1080.
[11] Cai Y,Bi S,Zheng L.Design optimization of a bionic fish with multi-joint fin rays[J].Advanced Robotics,2012,26(1-2):177-196.
[12] Ijspeert A J,Crespi A.Online trajectory generation in an amphibious snake robot using a lamprey-like central pattern generator model[C]∥Proceedings of the 2007 IEEE International Conference on Robotics and Automation.Piscataway,NJ:IEEE Press,2007:262-268.
[13] Ijspeert A J,Crespi A,Ryczko D,et al.From swimming to walking with a salamander robot driven by a spinal cord model[J].Science,2007,315(5817):1416-1420.
[14] Na SY,Shin D,Kim JY,et al.Obstacle recognition and collision avoidance of a fish robot based on fuzzy neural networks[M]∥Fuzzy Information and Engineering.Berlin:Springer,2007:337-344.
[15] Lee P J,Yen C H,Chan C L,et al.Implementation of a fuzzy control based intelligent robot fish[J].International Journal of Fuzzy Systems,2009,11(4):287-297.
[16] Lee P J,Lee M S,Wang R C.A fuzzy control based robotic fish with multiple actuators[J].International Journal of Fuzzy Systems,2012,14(1):45-53.