王 洋,陳 坤,袁 亮
(新疆大學(xué)機(jī)械工程學(xué)院,新疆 烏魯木齊 830047)
近年來(lái),隨著水下生物形態(tài)調(diào)查、輸油管道故障檢測(cè)、水下考古、海岸線安全和軍事行動(dòng)等水下研究與應(yīng)用的不斷深入,水下機(jī)器人(AUV)已成為越來(lái)越重要的課題[1]。隨著水下機(jī)器人研究領(lǐng)域和任務(wù)描述的不斷擴(kuò)大,激勵(lì)著人們不斷去探索高效、高機(jī)動(dòng)型的水下推進(jìn)控制技術(shù)[2]。
雖然螺旋推進(jìn)器是一種有效的工程推進(jìn)裝置,但這些推進(jìn)器存在結(jié)構(gòu)尺寸大、噪音大、隱蔽性能差等缺點(diǎn)。近年來(lái),仿生學(xué)的研究越來(lái)越受到人們的重視,從動(dòng)物身上獲得靈感來(lái)解決現(xiàn)實(shí)問(wèn)題,創(chuàng)造出更高效的機(jī)器人。生活在江河湖海中的魚類,在長(zhǎng)期殘酷的生存斗爭(zhēng)中,其體形和運(yùn)動(dòng)器官都進(jìn)化得非常適合水中運(yùn)動(dòng),展現(xiàn)了驚人的水中運(yùn)動(dòng)性能[3]。因此,仿魚推進(jìn)機(jī)構(gòu)可以是一種可行的替代傳統(tǒng)旋轉(zhuǎn)螺旋槳的水下航行器推進(jìn)方式[4]。受生物魚的速度、效率和敏捷性的啟發(fā),設(shè)計(jì)出不同類型的機(jī)器魚[5-7]。
仿生學(xué)研究表明,在自然界中,節(jié)律運(yùn)動(dòng)是由中央模式發(fā)生器(CPG)產(chǎn)生的,中央模式發(fā)生器是一種神經(jīng)元電路,在沒(méi)有攜帶特定時(shí)間信息的感覺(jué)或高級(jí)輸入的情況下可以產(chǎn)生節(jié)律運(yùn)動(dòng)模式?;贑PG的神經(jīng)控制方法開始被用于不同的控制結(jié)構(gòu)以獲得不確定的運(yùn)動(dòng)行為,CPG被廣泛地應(yīng)用于各種仿生機(jī)器人,以獲得智能、魯棒、穩(wěn)定、自適應(yīng)和分層的控制解決方案。兩足機(jī)器人、機(jī)器魚、六足機(jī)器人、蠑螈機(jī)器人和蛇形機(jī)器人使用不同的CPG模型進(jìn)行控制。
2007年,日本的Kimura將CPG模型成功應(yīng)用在四足行走機(jī)器人控制,采用CPG實(shí)現(xiàn)多種運(yùn)動(dòng)模式,使其能在復(fù)雜的地面上穩(wěn)定運(yùn)動(dòng)。文獻(xiàn)針對(duì)仿生蠑螈的水陸兩種環(huán)境下的運(yùn)動(dòng)與步態(tài)的切換進(jìn)行研究,提出了完整的相位振蕩器模型,成功將之應(yīng)用到仿蠑螈機(jī)器人中。2019年,為了提高蛇形機(jī)器人的運(yùn)動(dòng)效率,優(yōu)化了CPG 控制器的運(yùn)動(dòng)參數(shù),并實(shí)現(xiàn)了蛇形機(jī)器人在復(fù)雜地面的自適應(yīng)路徑跟蹤。
CPG的種類很多,應(yīng)用在仿生機(jī)器魚上的主要有HOPF振蕩器,Kimura振蕩器、七鰓鰻CPG等。2006年,通過(guò)CPG控制器在線改變參數(shù),獲得了幾種不同的游泳模式來(lái)模擬真實(shí)魚在自然界中的各種行為。2016 年,文獻(xiàn)[8]采用了動(dòng)態(tài)模型和粒子群優(yōu)化(PSO)算法相結(jié)合的方法對(duì)中央模式產(chǎn)生器(CPG)網(wǎng)絡(luò)的參數(shù)進(jìn)行優(yōu)化,通過(guò)對(duì)實(shí)際機(jī)器魚的大量實(shí)驗(yàn),驗(yàn)證了基于粒子群優(yōu)化算法的優(yōu)化方案,優(yōu)化后的結(jié)果顯示優(yōu)于先前報(bào)道的向前和向后游泳速度。2019年,為了使機(jī)器魚獲得有節(jié)奏、自適應(yīng)的閉環(huán)控制性能,提出了一種由基于七鰓鰻CPG 網(wǎng)絡(luò)和模糊邏輯控制器組成的新型控制機(jī)制,實(shí)驗(yàn)驗(yàn)證了機(jī)器魚的自主游動(dòng)和偏航控制性能,同時(shí)驗(yàn)證了機(jī)器魚的逃逸性能。文獻(xiàn)研究了四關(guān)節(jié)機(jī)器魚的最大游動(dòng)速度和較高的推進(jìn)效率,基于牛頓歐拉方法建立動(dòng)力學(xué)模型,并與基于HOPF的CPG網(wǎng)絡(luò)相結(jié)合,還進(jìn)一步利用粒子群優(yōu)化算法對(duì)CPG 模型的特征參數(shù)進(jìn)行優(yōu)化,從而提高了推進(jìn)性能。
這里的其余部分安排如下。在第二節(jié)中,介紹了Light Hill理論和HOPF振蕩器。在第三節(jié)中,建立了仿真模型,并搭建了實(shí)驗(yàn)樣機(jī)。第四節(jié)對(duì)實(shí)驗(yàn)樣機(jī)和虛擬樣機(jī)進(jìn)行了仿真模擬。最后,在第五節(jié)中給出結(jié)論。
為了控制多關(guān)節(jié)尾鰭機(jī)器魚的運(yùn)動(dòng),首先引入Light Hill[9]的理論,運(yùn)用該理論得到魚體的運(yùn)動(dòng)包絡(luò)方程,之后為了實(shí)現(xiàn)底層的運(yùn)動(dòng)控制,采用了HOPF 非線性振蕩器作為CPG 的信號(hào)發(fā)生器,同時(shí)根據(jù)文獻(xiàn)[10]論證了其極限環(huán)的存在性與唯一性,最終證明了HOPF振蕩器的穩(wěn)定性。
Light Hill將魚體的推進(jìn)行波簡(jiǎn)化為一個(gè)由魚頭向魚尾方向傳播且波動(dòng)幅度逐漸增加的正弦曲線,因此魚體的體干波動(dòng)曲線可以通過(guò)兩組曲線的合成來(lái)描述,即魚體波包絡(luò)線和正弦曲線[9]。連續(xù)形式的魚體波方程由式(1)給出:
式中:y—魚體的橫向(側(cè))位移;x—魚體的前向位移;t—時(shí)間;A1,A2—魚體波幅包絡(luò)線C=A1x+A2x2的系數(shù);β—波長(zhǎng)系數(shù),β=2π/α,α—魚體波的波長(zhǎng);ω—魚體波方程的角速度。
由于多關(guān)節(jié)尾鰭機(jī)器魚無(wú)法完全擬合出連續(xù)形式的魚體波波動(dòng)曲線。為了使機(jī)器魚更好地?cái)M合魚體波方程,可將連續(xù)形式的方程進(jìn)行離散:
式中:i—單個(gè)擺動(dòng)周期內(nèi)的波序號(hào),i=1,2,…,M;M—單個(gè)擺動(dòng)周期內(nèi)魚體及尾鰭運(yùn)動(dòng)被離散的數(shù)目。
當(dāng)A1=A2=10,β=10,M=5時(shí),魚體波曲線及其包絡(luò)線圖譜,如圖1所示。
圖1 魚體波曲線及其包絡(luò)線Fig.1 The Curves of Fish Body Wave and Their Envelopes
為了仿生機(jī)器魚游動(dòng)時(shí)能貼近上文的魚體波曲線,基本的方法是在簡(jiǎn)單的正弦振蕩器的基礎(chǔ)上進(jìn)行改進(jìn),這里采用非線性HOPF振蕩器,其表達(dá)如下:
式中:x,y—振蕩器的狀態(tài)變量;ω—固有振蕩頻率;μ—振幅。
由于HOPF振蕩器是結(jié)構(gòu)穩(wěn)定的且與初始條件無(wú)關(guān),因此可作為機(jī)器魚尾鰭節(jié)律運(yùn)動(dòng)的信號(hào)發(fā)生器。
為了保持機(jī)器魚尾鰭節(jié)律運(yùn)動(dòng)的同步性,可通過(guò)檢查非線性振蕩器的極限環(huán)的存在性和唯一性,對(duì)于HOPF 振蕩器,由文獻(xiàn)[10]可知,其極限環(huán)存在且唯一,其極限環(huán)圖與單組初始條件下的輸出特性,如圖2所示。
圖2 HOPF極限環(huán)圖與單組初始條件下的輸出特性Fig.2 HOPF Limit Cycle Diagrams and Output Characteristics Under Single Initial Conditions
基于HOPF 振蕩器的CPG模型,雖然能夠調(diào)節(jié)輸出信號(hào)的頻率和幅值,但是因?yàn)槿鄙賹?duì)應(yīng)的相位決定因子而無(wú)法實(shí)現(xiàn)信號(hào)間的相位自由調(diào)節(jié)。根據(jù)文獻(xiàn)[8],通過(guò)引入耦合矩陣Q和旋轉(zhuǎn)矩陣R,得到了預(yù)測(cè)耦合相位振蕩器之間相位關(guān)系的方法。首先在CPG模型中添加了一個(gè)擾動(dòng)項(xiàng)Pi:
式中:h1,h2—耦合系數(shù);
Q1,Q2—CPG單元的耦合矩陣;
R1,R2—CPG單元的旋轉(zhuǎn)矩陣;
φi—第i-1和第i個(gè)振蕩單元間的相位差。
耦合矩陣Q和旋轉(zhuǎn)矩陣R,可取如下:
綜上可得改進(jìn)后的HOPF振蕩器變?yōu)椋?/p>
式中:zi—輸出;di—輸出系數(shù)。
對(duì)于采用多關(guān)節(jié)串聯(lián)尾鰭的機(jī)器魚,采用弱耦合且相互抑制的CPG網(wǎng)絡(luò)控制模式,該模式的輸出信號(hào)能夠很好的作用于每個(gè)關(guān)節(jié)的CPG單元,實(shí)現(xiàn)鏈?zhǔn)紺PG網(wǎng)絡(luò)信號(hào)輸出。鏈?zhǔn)紺PG耦合模型,如圖3所示。
圖3 鏈?zhǔn)今詈螩PG網(wǎng)絡(luò)模型Fig.3 Chain Coupling CPG Network Model
這里基于HOPF 振蕩器構(gòu)建鏈?zhǔn)今詈系腃PG 網(wǎng)絡(luò),所構(gòu)建的CPG網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)包含4個(gè)CPG單元,輸出信號(hào)則對(duì)應(yīng)仿生機(jī)器魚尾鰭的四個(gè)關(guān)節(jié)的幅角。
依據(jù)鲹科魚類推進(jìn)原理,利用舵機(jī)驅(qū)動(dòng)實(shí)現(xiàn)魚體包絡(luò)線的形成,在機(jī)器魚工作的時(shí)候,電源帶動(dòng)舵機(jī)(1~4)工作,4個(gè)舵機(jī)串聯(lián)連接,通過(guò)控制每個(gè)舵機(jī)擺動(dòng)一定的角度,實(shí)現(xiàn)真實(shí)鲹科魚類游行動(dòng)作的模仿,最終達(dá)到多舵機(jī)串聯(lián)來(lái)實(shí)現(xiàn)機(jī)器魚BCF推進(jìn)的目的。
采用SolidWorks建立仿生機(jī)器魚的三維模型,如圖4所示。
圖4 仿生機(jī)器魚三維模型Fig.4 3D Model of Bionic Robotic Fish
機(jī)器魚的運(yùn)動(dòng)主體由頭部、胸鰭、連接件、支撐環(huán)架、舵機(jī)、大連接塊、小連接塊、舵盤和尾鰭組成,機(jī)器魚驅(qū)動(dòng)模塊的配重安裝在頭部的空腔內(nèi),最后需要對(duì)機(jī)器魚進(jìn)行密封。
為了分析機(jī)器魚尾鰭部分在CPG 振蕩器作用下的運(yùn)動(dòng)規(guī)律,使用ADAMS建立其虛擬樣機(jī),這里只分析尾鰭部分的運(yùn)動(dòng),暫不考慮頭部的偏航。因此,第一個(gè)舵機(jī)設(shè)置了固定,對(duì)于虛擬樣機(jī)的仿真參數(shù),這里僅進(jìn)行運(yùn)動(dòng)仿真實(shí)驗(yàn)。所施加的旋轉(zhuǎn)副方程類型為角位移,約束方程為:
式中:t—時(shí)間。這個(gè)方程體現(xiàn)了各關(guān)節(jié)的運(yùn)動(dòng)變化規(guī)律。
同時(shí)鏈?zhǔn)今詈螩PG 網(wǎng)絡(luò)與尾鰭關(guān)節(jié)的對(duì)應(yīng)關(guān)系,如圖5所示。
圖5 尾鰭關(guān)節(jié)與CPG網(wǎng)絡(luò)對(duì)應(yīng)關(guān)系Fig.5 The Relationship Between the Joints of the Caudal Fins and CPG Network
采用STM32F103ZET6作為CPG信號(hào)的發(fā)生器,STM32F103是采用ARM32位的CORTEX-M3內(nèi)核,具有運(yùn)算速度高于51單片機(jī)、接口編程模塊化的特點(diǎn)。
所選取的舵機(jī)的擺角范圍為(0~270)°,型號(hào)為RDS3218,該型號(hào)的舵機(jī)是數(shù)字舵機(jī),因此不再需要光電隔離器來(lái)處理信號(hào)。由于舵機(jī)的擺角是采用PWM控制,因此STM32 的PWM 輸出信號(hào)與各關(guān)節(jié)的CPG 單元之間存在對(duì)應(yīng)關(guān)系。實(shí)驗(yàn)樣機(jī),如圖6所示。
圖6 實(shí)驗(yàn)樣機(jī)Fig.6 Experimental Prototype
機(jī)器魚尾鰭關(guān)節(jié)零部件參數(shù),如表1所示。
表1 零部件參數(shù)Tab.1 Parts Parameter
圖中四個(gè)舵機(jī)分別對(duì)應(yīng)四個(gè)關(guān)節(jié),關(guān)節(jié)1到關(guān)節(jié)4分別與微控制器的PB4、PB5、PB0、PB1引腳相連接,其PWM 的產(chǎn)生是由STM32的定時(shí)器3產(chǎn)生。舵機(jī)的詳細(xì)參數(shù),如表2所示。
表2 RDS3218舵機(jī)參數(shù)Tab.2 Parameters of RDS3218 Steering Engine
首先對(duì)所搭建的CPG模型進(jìn)行虛擬樣機(jī)的設(shè)計(jì)與仿真。虛擬樣機(jī)與CPG振蕩器單元的對(duì)應(yīng)關(guān)系,如圖7所示。
圖7 ADAMS運(yùn)動(dòng)仿真Fig.7 ADAMS Motion Simulation
仿真結(jié)果,如圖7所示。從圖中可以看出各舵機(jī)的位移都符合簡(jiǎn)諧運(yùn)動(dòng),很有規(guī)律,關(guān)節(jié)之間的運(yùn)動(dòng)符合鏈?zhǔn)今詈螩PG 的變化規(guī)律。
為了驗(yàn)證所建立的耦合鏈?zhǔn)紺PG 模型的有效性,針對(duì)其在Matlab R2019b上進(jìn)行了模擬仿真,仿真參數(shù),如表3所示。
表3 耦合鏈?zhǔn)紺PG仿真參數(shù)Tab.3 Coupling Chain CPG Simulation Parameters
仿真環(huán)境參數(shù),如表4所示。
表4 仿真環(huán)境參數(shù)Tab.4 Simulation Environment Parameters
將表3中的參數(shù)代入式(6),并進(jìn)行數(shù)值模擬,仿真結(jié)果,如圖8所示。
圖8 鏈?zhǔn)今詈螩PG輸出信號(hào)Fig.8 Chain Coupled CPG Output Signal
根據(jù)文獻(xiàn)[8]使用CPG能夠?qū)崿F(xiàn)機(jī)器魚的多模態(tài)游動(dòng),這里也進(jìn)行了多模態(tài)游動(dòng)的模擬仿真,仿真結(jié)果,如圖9所示。
圖9 正反向游動(dòng)的CPG輸出Fig.9 CPG Output of Forward and Backward Swimming
直游對(duì)于魚類來(lái)說(shuō),是最基本的游動(dòng)模態(tài),圖9(a)展示了前向游動(dòng)時(shí)的CPG 信號(hào)輸出,相位差φi=45°,可以看出,在頭部指向尾部方向上,各關(guān)節(jié)擺動(dòng)幅度在逐漸增加,相位上滯后一個(gè)穩(wěn)定的角度,舵機(jī)周期性擺動(dòng),向前推進(jìn),實(shí)現(xiàn)機(jī)器魚向前直游的模態(tài)。
與直游模態(tài)相比較,當(dāng)CPG 模型輸出到各關(guān)節(jié)上的相位差為φi=-45°時(shí),尾部的CPG振蕩單元相位超前頭部神經(jīng)元,這樣就實(shí)現(xiàn)了機(jī)器魚的倒游。圖8(b)展示了仿生機(jī)器魚倒游時(shí)CPG輸出信號(hào),由圖可以看出,CPG模型輸出到從頭部到尾部關(guān)節(jié)上的控制信號(hào)的相位依次滯后,這樣就實(shí)現(xiàn)了機(jī)器魚的倒游模態(tài)。
為了更直接的對(duì)比,圖10給出了機(jī)器魚直游-倒游-直游的CPG 輸出控制信號(hào)。當(dāng)時(shí)間t在(0~5)s 之間時(shí),固有頻率取為ω=2π,機(jī)器魚的關(guān)節(jié)控制信號(hào)處于依次超前關(guān)系,即關(guān)節(jié)1的行為依次超前其他關(guān)節(jié)相位,此時(shí)機(jī)器魚直游;當(dāng)t在(5~10)s之間時(shí),相位差由φi=-45°變?yōu)棣読=45°,固有頻率不變,控制信號(hào)相位關(guān)系由超前變?yōu)闇?,機(jī)器魚倒游;當(dāng)t在(10~15)s之間時(shí),相位差又變?yōu)棣読=45°,固有頻率變?yōu)棣?4π,與此同時(shí),相位關(guān)系由滯后變?yōu)槌?、且頻率發(fā)生了改變。
圖10 多模態(tài)CPG信號(hào)輸出Fig.10 Multimodal CPG Signal Output
這樣從倒游切換為直游,整個(gè)過(guò)程的信號(hào)變化光滑、平緩,表明從直游至倒游再到直游是平緩的切換,體現(xiàn)了CPG 多模態(tài)控制的優(yōu)點(diǎn)。
為了驗(yàn)證前文所提的理論,搭建了機(jī)器魚尾鰭實(shí)驗(yàn)平臺(tái),如圖11(a)所示。攝像頭位于機(jī)器魚的正上方,并且固定。
機(jī)器魚的第一關(guān)節(jié)與豎直平面木板固定,豎直平面木板與水平平面桌面垂直,為了便于觀察,在水平桌面上放置一個(gè)直角三角板。
將式(6)以及表2中的參數(shù)編為控制舵機(jī)的程序,最終實(shí)驗(yàn)樣機(jī)的運(yùn)行情況的序列,如圖11(b)所示。實(shí)驗(yàn)開始時(shí),魚尾鰭關(guān)節(jié)全部處于中間位置,然后對(duì)各關(guān)節(jié)進(jìn)行CPG運(yùn)行。
對(duì)圖11所在的視頻截圖進(jìn)行手工標(biāo)記,將尾鰭CPG關(guān)節(jié)中的顏色塊中心所在的像素坐標(biāo)提出,并進(jìn)行繪制結(jié)果,如圖12所示。
圖12 Y軸方向關(guān)節(jié)位移Fig.12 Y-Axis Joint Displacement
從圖12中可以看出,機(jī)器魚尾鰭的運(yùn)動(dòng)規(guī)律基本與耦合鏈?zhǔn)紺PG 的輸出信號(hào)相符,由于實(shí)驗(yàn)室沒(méi)有能夠用于定量測(cè)量的設(shè)備,因此只做出定性分析。
從Light Hill的大擺幅細(xì)長(zhǎng)體理論中得到啟發(fā),建立了四關(guān)節(jié)舵機(jī)串聯(lián)的尾鰭,并用HOPF非線性振蕩器構(gòu)造了用于控制多關(guān)節(jié)尾鰭的鏈?zhǔn)今詈螩PG 模型,通過(guò)仿真驗(yàn)證了鏈?zhǔn)今詈螩PG模型能夠?qū)崿F(xiàn)多模態(tài)游動(dòng)且運(yùn)動(dòng)模式切換平滑的特點(diǎn),最后建立了機(jī)器魚尾鰭關(guān)節(jié)的虛擬樣機(jī)并在Matlab上得到了理論驗(yàn)證,用實(shí)驗(yàn)驗(yàn)證了將鏈?zhǔn)今詈螩PG 模型移植到實(shí)驗(yàn)樣機(jī)的可行性,以及運(yùn)動(dòng)規(guī)律的正確性。