史曉虎,文小玲
(武漢工程大學 電氣信息學院,武漢 430205)
21 世紀是海洋的世紀,仿生機器魚融合魚類推進機理和機器人技術,不僅具備移動靈活、速度快和適應復雜環(huán)境下工作等優(yōu)勢,而且還可以有效減少對環(huán)境的影響,因此在海洋領域中具有巨大的應用前景和潛在價值。
仿生機器魚具有獨特的機械結構和推進模式[1],其運動控制是整個機器魚的核心。 目前仿生機器魚常用的運動控制方法主要有擬合魚體波法、正弦控制器法和基于中樞模式發(fā)生器(CPG)的控制方法[2]。文獻[3]總結了擬合魚體波法、正弦控制器法和基于中樞模式發(fā)生器模型的控制方法的基本原理和優(yōu)缺點。 文獻[4]對采用擬合魚體波控制的機器魚的運動學模型進行了優(yōu)化,有效抑制了機器魚頭部的擺動。 文獻[5]從柔性機器魚的動力學模型出發(fā),初步探索了魚體動力學參數(shù)與其游動性能之間的關系。文獻[6]基于機器魚的動力學模型構建CPG 網(wǎng)絡,根據(jù)不同模態(tài)的原理設置控制參數(shù),使CPG 網(wǎng)絡輸出不同的信號,實現(xiàn)機器魚的各種運動。
在機器魚的運動控制中,頻率、幅值等控制參數(shù)的改變都會影響控制信號的輸出,進而影響機器魚的游動速度、平穩(wěn)性等性能。 控制參數(shù)的整定對機器魚的性能至關重要,卻很少有人對控制參數(shù)的選擇進行討論。 本文為了合理選擇頻率、幅值等控制參數(shù)、使機器魚的性能更佳,首先對采用正弦振蕩器控制的仿生機器魚進行了運動學建模和水動力學分析, 然后利用PSO 算法進行控制參數(shù)的優(yōu)化,最后對機器魚的運動學模型及控制參數(shù)優(yōu)化方法進行仿真驗證。
本文基于BCF 推進模式,設計了一種采用三關節(jié)尾鰭推進的仿生機器魚,利用3 個舵機來控制尾鰭的擺動,從而實現(xiàn)機器魚的游動,3 個舵機的擺動采用正弦控制器來控制,其機械結構如圖1 所示。
圖1 機器魚結構示意圖Fig.1 Schematic diagram of the structure of the robotic fish
正弦控制器法是一種基于運動學的控制方法。大多數(shù)魚類的身體或鰭的推進波形接近正弦運動,該方法將仿生機器魚中每個關節(jié)看作一個正弦控制器,通過改變正弦控制器的頻率、幅值以及彼此之間的相位差便可產生不同的游動模態(tài)。 控制方程可以表述為
式中:φi(t)為每個關節(jié)在t 時刻的擺動角度;A 為每個關節(jié)的最大擺動幅值;ω 為頻率;Ψ 為角偏移量;φ0為相鄰關節(jié)間的相位滯后角。
仿生機器魚在游動的過程中,尾鰭擺動頻率、幅值的變化影響著魚類的游動性能。 本文采用正弦控制器控制機器魚尾鰭的擺動,因此尾部關節(jié)的擺動規(guī)律為
仿生機器魚依靠尾鰭擺動進行游動,推力由尾鰭擺動伴隨產生的流體推力和尾渦提供。 由于尾鰭擺動時, 尾鰭沿展向的不同位置具有不同的線速度,因此采用“微元積分”的方法對尾鰭在擺動過程中的受力情況進行分析。 如圖2 所示,仿生機器魚尾鰭分四步完成一個擺動周期。
圖2 尾鰭擺動示意圖Fig.2 Schematic diagram of tail fin swing
以尾鰭擺動第一步為例,分析擺動過程中的受力情況。 任取尾鰭上一微元G,其受力情況如圖3所示。 圖中,v0為水流相對于機器魚沿X 方向的速度,v 為尾鰭相對來流的速度,r 為微元G 到轉動軸的距離。 微元G 沿尾鰭的法向速度vn和切向速度vt分別為
圖3 尾鰭擺動示意圖Fig.3 Force analysis diagram of caudal fin
尾鰭上微元G 受到周圍流體沿尾鰭的法向的推力dFn和沿切向的推力dFt分別為
式中:ρ 為流體密度;Cn為法向升力系數(shù);Ct為切向阻力系數(shù);dA 為微元G 的面積。
通過力的分解與合成,尾鰭上微元G 受到周圍流體的推力可等效為沿X 方向的推力dFx和沿Y方向的推力dFy。 進一步對尾鰭沿展向積分(R 為展長), 得到尾鰭所受周圍流體沿X 方向的推力Fx和沿Y 方向的推力Fy分別為
任何處于流體中的物體運動都會形成一連串尾隨其后的渦流,即卡門渦街。 卡門渦街為機器魚的游動提供了前進的推力。 卡門渦街對機器魚的推力FSt為
式中:ω 為尾鰭的擺動頻率;A 為尾鰭擺動的幅值;v為機器魚的游動速度;k 為卡門渦街力系數(shù)。
機器魚所受阻力主要由魚身提供,與流體密度、流體作用與魚身的有效面積以及機器魚的速度有關。
式中:FD為機器魚受到的阻力;ρ 為流體密度;vx為機器魚在X 方向的游動速度;CD為阻力系數(shù);S 為機器魚在流體中的有效作用面積。
設機器魚質量為m,則根據(jù)上式可得機器魚在X 方向的動力學方程為
為驗證所建運動學模型的有效性,對仿生機器魚的直線游動及其性能進行了仿真分析。
機器魚在直游時,主要考慮游動速度和平穩(wěn)性這2 個性能指標。 本文中,用X 方向的平均速度表示游動速度,用Y 方向受到的最大偏轉力表示機器魚的平穩(wěn)性,機器魚所受偏轉力越大、平穩(wěn)性越差。
設直游狀態(tài)下第一、二、三關節(jié)的擺動幅值比為1∶1.2∶1.44,擺動頻率相同。 圖4 為此模型直游狀態(tài)下相同運動時間內平均速度和最大偏轉力與尾部第一關節(jié)擺動幅值和頻率的關系。
圖4 直游性能與控制參數(shù)的關系Fig.4 Relationship between swimming performance and control parameters
由圖4 可看出,當尾鰭擺動幅值相同時,擺動頻率越大,機器魚游動速度越大,其所受偏轉力也越大,平穩(wěn)性越差;當尾鰭擺動頻率相同時,所受偏轉力隨著擺動幅值的增加逐漸增加,平穩(wěn)性逐漸變差, 而速度與幅值的關系因頻率的不同有所差異;當擺動頻率較小時,超過一定擺幅,機器魚游動速度隨著擺動幅值的增加而減小; 當擺動頻率較大時,擺動幅值越大,機器魚游動速度越大。
速度和平穩(wěn)性是衡量仿生機器魚運動狀態(tài)是否最優(yōu)的2 個非常重要的性能指標,并且兩者會相互制約。 因此,將二者融合得到機器魚直游控制參數(shù)的優(yōu)化函數(shù)為
式中:k1,k2表示在優(yōu)化函數(shù)中平均速度和所受偏轉力FY的權重系數(shù), 通過調節(jié)它們的大小關系,可以選擇出最優(yōu)控制參數(shù),并且它們兩者間的正負關系應取相反,表示兩者間的相互制約關系。
PSO(粒子群算法)是源自于鳥群捕食行為的一種優(yōu)化算法,其基本思想是通過群體中個體之間的協(xié)作和信息共享來尋找最優(yōu)解, 具有收斂速度快、效率高等優(yōu)點,因此被廣泛應用到各種領域。
PSO 算法在n 維空間內進行迭代尋優(yōu),每個粒子根據(jù)當前所處的最優(yōu)位置和全局最優(yōu)位置來迭代更新自己的位置,每個粒子都有自己的位置向量和速度向量,以及由一個目標函數(shù)所決定的適應度值。
在每一次的迭代中,粒子都要按以下迭代算法更新自己的位置:
式中:f 為目標函數(shù),通過比較不同位置的適應度值,更新最優(yōu)位置。
PSO 參數(shù)優(yōu)化算法的流程可分為以下5 步,如圖5 所示。
圖5 PSO 優(yōu)化算法流程Fig.5 Flow chart of PSO optimization algorithm
步驟1:初始化粒子群參數(shù),設置粒子個數(shù)M、最大迭代次數(shù)N、位置界限和速度界限。
步驟2:隨機初始化粒子位置以及它們各自的速度。
步驟3:計算每個粒子的適應度值,并更新每個粒子的個體最優(yōu)位置以及全局最優(yōu)位置。
步驟4:更新粒子速度及位置,并轉到步驟3。
步驟5:判斷是否達到最大迭代次數(shù),或者達到最優(yōu)解,若達到,輸出最優(yōu)解,否則轉到步驟4。
在本文的PSO 優(yōu)化算法中,直線游動狀態(tài)下的粒子的位置表示為第一關節(jié)的擺動頻率ω 和幅值A。
為了驗證PSO 控制參數(shù)優(yōu)化算法的有效性,基于上述運動學模型,首先隨機選取機器魚直游的兩組控制參數(shù), 然后利用PSO 算法求得了一組兼顧速度和平穩(wěn)性的最優(yōu)控制參數(shù),最后對三組控制參數(shù)下機器魚的性能進行了仿真分析。 三組控制參數(shù)的取值如表1 所示,機器魚游動性能仿真結果如圖6 所示。
圖6 直游性能與控制參數(shù)的關系Fig.6 Comparison diagram of swimming performance
表1 機器魚直游狀態(tài)下的控制參數(shù)Tab.1 Control parameters of the robotic fish in the state of direct swimming
從仿真結果可以看出,對應隨機控制參數(shù)1,2及PSO 優(yōu)化控制參數(shù),機器魚的平均速度分別為0.176 m/s、0.187 m/s、0.185 m/s,最大偏轉力分別為51.3 N、132.1 N、92.0 N。 仿真結果表明,采用PSO 算法進行控制參數(shù)的優(yōu)化后,機器魚既擁有較快的游動速度又具備更好的平穩(wěn)性。
為了準確控制機器魚獲得最佳游動性能,本文首先結合正弦控制器的驅動原理建立了機器魚的運動學模型,并分析了其控制參數(shù)(頻率和幅值)與機器魚直線游動性能間的關系;然后,利用PSO 算法對運動學模型中的控制參數(shù)進行了優(yōu)化; 最后,對機器魚的直線游動進行了實驗研究,實驗結果表明所建立的運動學模型符合魚類的生物學特征,并且采用PSO 算法對控制參數(shù)進行優(yōu)化后,可使機器魚的直游性能達到更佳。