国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

仿蝠鲼航行器游動規(guī)律智能控制與優(yōu)化方法

2022-01-19 05:18:10魏旭飛劉洲陽魏先利
數(shù)字海洋與水下攻防 2021年6期
關(guān)鍵詞:胸鰭游動航行

魏旭飛,劉洲陽,魏先利

(航天科工集團第三研究院水下裝備總體部,北京 100074)

0 引言

海洋中的魚類等生物經(jīng)歷了億萬年的演化,在水下運動和環(huán)境適應(yīng)能力上展現(xiàn)出優(yōu)越特性,研究人員“道法自然”,開展了大量仿生水下航行器的研究[1-3]。然而,受限于傳感器、材料、結(jié)構(gòu)和控制等技術(shù),仿生水下航行器相較于真實魚類在許多指標(biāo)上還有較大差距。以推進效率為例,依靠尾和鰭的協(xié)調(diào)運動,普通魚類的推進效率可達80%,鲹科魚類則超過90%,而普通螺旋槳推進器的平均效率僅為 40%~50%[4]。因此,如何提高游動性能已經(jīng)成為仿生水下航行器領(lǐng)域一個重要的科學(xué)問題。

游動性能的提升涉及水動力構(gòu)形、結(jié)構(gòu)機構(gòu)、驅(qū)動方式、運動控制等多學(xué)科的優(yōu)化,是個非常復(fù)雜的耦合問題。Anderson設(shè)計了升沉和俯仰2個自由度的二維平板擺動實驗,通過測量尾鰭輸入和輸出的功率來計算推進效率,證明了仿生機器魚推進效率優(yōu)于傳統(tǒng)機械方式[5]。哈工程的蘇玉民團隊從水動力性能出發(fā),通過計算流體力學(xué)仿真發(fā)現(xiàn)調(diào)整弦向變形相位角可以使尾鰭節(jié)省能量[6]。中科院自動化所喻俊志團隊從驅(qū)動裝置優(yōu)化的角度出發(fā),設(shè)計曲柄滑塊裝置,避免了電機因不斷加速和減速而造成的能量損失,從而提升了性能[7]。北航梁建宏團隊通過水動力學(xué)定性觀察和定量測量實驗發(fā)現(xiàn)游動能耗會隨著擺動頻率和相對波長的增大而增大[8]。國防科大王光明團隊通過樣機試驗研究了波動鰭條結(jié)構(gòu)、鰭面材料、擺動頻率和波形數(shù)目對波動鰭推進效果的影響,發(fā)現(xiàn)擺動頻率和幅值對推進性能影響最大[9]。

可以發(fā)現(xiàn),目前仿生游動性能的研究主要采用計算流體力學(xué)和樣機試驗方法,通過人為控制各運動參數(shù)來探究游動性能的影響因素,獲得的往往是一套固化的游動參數(shù)。然而,真實魚類的游動規(guī)律會隨著水下環(huán)境的變化而變化,若采用固化的游動規(guī)律,仿生航行器的表現(xiàn)顯然是差強人意的。為了解決這一問題,本文將采用深度強化學(xué)習(xí)(deep reinforcement learning,DRL)方法,在初始游動規(guī)律的基礎(chǔ)上進一步挖掘仿生航行器游動性能的提升空間,通過仿生航行器的自我試錯,在游動參數(shù)空間中學(xué)習(xí)高效的游動策略。

1 深度強化學(xué)習(xí)訓(xùn)練環(huán)境

訓(xùn)練環(huán)境主要包括航行器運動特性的模擬,狀態(tài)空間、動作空間與回報函數(shù)的設(shè)計,并承擔(dān)著數(shù)據(jù)歸一化、游動性能評價、回報函數(shù)計算等作用。

1.1 仿蝠鲼運動模型

仿蝠鲼航行器通過柔性胸鰭擺動提供矢量推力實現(xiàn)機動航行。胸鰭運動可簡化為沿展向的周期性擺動運動和沿弦向的周期性扭轉(zhuǎn)運動,其數(shù)學(xué)描述如下:

式中:下標(biāo)flap代表擺動;θflap(t)為t時刻的擺動角;Aflap為胸鰭最大擺幅;fflap為胸鰭擺動頻率;φ0flap為胸鰭擺動初始時刻相位,Bflap為胸鰭擺動角偏置;下標(biāo)twist代表扭轉(zhuǎn);θtwist(t)為t時刻的扭轉(zhuǎn)角;Atwist為胸鰭最大扭幅;ftwist為胸鰭扭轉(zhuǎn)頻率;φ0twist為胸鰭扭轉(zhuǎn)初始時刻相位;Btwist為胸鰭扭轉(zhuǎn)角偏置;Δφ是胸鰭扭轉(zhuǎn)角初始相位與擺動角初始相位的差值,簡稱扭擺相位差。

1.2 狀態(tài)量和動作量設(shè)計

仿蝠鲼航行器的游動過程可用馬爾科夫決策過程建模描述??紤]仿蝠鲼航行器智能體與環(huán)境的交互軌跡:

式中:st表示t時刻智能體的狀態(tài);at表示t時刻智能體執(zhí)行的動作。對于深度強化學(xué)習(xí)而言,選取何種狀態(tài)量作為智能體的觀測進行訓(xùn)練直接影響算法的收斂能力,需要精心設(shè)計。為充分描述航行器前向游動狀態(tài),本文選取5維向量st=[dvx,vx,vy,?,wz]作為狀態(tài)量,包括期望前向速度與當(dāng)前前向速度的差dvx、前向速度vx、航行器y軸速度vy、俯仰角?和俯仰角速度wz。其中各參數(shù)的取值范圍及含義詳見表1所示。

表1 智能體觀測狀態(tài)量Tab.1 Observation variables of the agent

考慮到設(shè)計目標(biāo)是提升航行器直航過程中的游動性能,為了降低問題的維度,減少不必要的試錯成本,本文選用左右胸鰭對稱運動的方式。此外,為降低仿蝠鲼航行器往復(fù)的俯仰運動對游動平穩(wěn)性的影響,設(shè)計PD控制器以期望俯仰角為零進行俯仰控制。綜上,本文選取at=[Aflap,Atwist,Δφ]作為智能體的動作量,包括胸鰭擺幅Aflap,胸鰭扭幅Atwist和扭擺相位差Δφ,各動作量的取值范圍和含義如表2所示。

表2 環(huán)境模型動作量Tab.2 Action variables of environment model

此外,胸鰭的運動頻率設(shè)置為fflap=ftwist=0.5 Hz,擺動角偏置Bflap和扭轉(zhuǎn)角偏置Btwist設(shè)置為 0°。為降低數(shù)據(jù)的方差,提高深度神經(jīng)網(wǎng)絡(luò)收斂速度,狀態(tài)量和動作量在送入深度神經(jīng)網(wǎng)絡(luò)前進行歸一化處理,將其取值歸一化到[-1,1]范圍內(nèi)。

1.3 回報函數(shù)設(shè)計

回報函數(shù)設(shè)計是深度強化學(xué)習(xí)研究中的重要環(huán)節(jié),需要根據(jù)任務(wù)進行人工設(shè)計和調(diào)優(yōu)。本文選用如下的直航游動性能評價方式:

基于上述評價方式,回報函數(shù)設(shè)計如下:

式中:W為航行器在一個周期內(nèi)航行所耗費的功;reward0為回報函數(shù)基準(zhǔn);0.35是期望速度,m/s。

2 基于DDPG的仿蝠鲼航行器游動性能優(yōu)化控制

DDPG算法非常適合解決連續(xù)動作空間問題[10],在此基礎(chǔ)上,本文利用經(jīng)驗回放池(replay experience buffer)和預(yù)熱輪(warm up)方式提高樣本利用率,改善DDPG的學(xué)習(xí)能力。

2.1 算法結(jié)構(gòu)

DDPG由4個網(wǎng)絡(luò)組成,分別是:Actor當(dāng)前網(wǎng)絡(luò)、Actor目標(biāo)網(wǎng)絡(luò)、Critic當(dāng)前網(wǎng)絡(luò)、Critic目標(biāo)網(wǎng)絡(luò)。為了穩(wěn)定學(xué)習(xí)過程,采用軟更新機制更新網(wǎng)絡(luò)參數(shù),即

為了增加算法的探索性,DDPG的動作A會增加噪聲N:

Critic當(dāng)前網(wǎng)絡(luò)的損失函數(shù)是:

Actor當(dāng)前網(wǎng)絡(luò)的損失函數(shù)是:

2.2 訓(xùn)練樣本

經(jīng)驗回放池replay buffer的總存儲量1 000 000,在warm up至其中有256個樣本后開始訓(xùn)練。每批次在 replay buffer中隨機選取 128個樣本進行學(xué)習(xí),取訓(xùn)練總步數(shù)為500 000。

2.3 控制模型設(shè)計

控制算法模型為多層感知機。Actor網(wǎng)絡(luò)采用節(jié)點數(shù)分別為64和32的兩層全連接隱層,激活函數(shù)使用Relu。輸出層選用全連接層,維度為3,激活函數(shù)選用 tanh,保證 Actor網(wǎng)絡(luò)的輸出在-1~1之間。Actor網(wǎng)絡(luò)使用Adam優(yōu)化器進行參數(shù)優(yōu)化,學(xué)習(xí)率0.001。

Critic網(wǎng)絡(luò)采用節(jié)點數(shù)分別為64和32的兩層全連接隱層,激活函數(shù)使用Relu。輸出層為狀態(tài)-動作值Q,維度為1。Critic網(wǎng)絡(luò)使用Adam優(yōu)化器進行參數(shù)優(yōu)化,學(xué)習(xí)率0.001。

同經(jīng)典 DDPG算法一致,本文使用目標(biāo)網(wǎng)絡(luò)增強神經(jīng)網(wǎng)絡(luò)收斂的穩(wěn)定性,取更新系數(shù)τ= 0.001。在控制策略探索方面,為保證算法具有一定的探索性,在歸一化的動作量上添加期望為 0,方差為ε= 0.1的高斯噪聲。

2.4 訓(xùn)練周期

仿蝠鲼航行器選取 0.5 Hz的胸鰭運動頻率,胸鰭控制信號 1 s更新一次,尾鰭控制信號 0.1 s更新一次。為了更加準(zhǔn)確地評估胸鰭運動方式對游動性能的影響,強化學(xué)習(xí)的步長與胸鰭運動周期保持一致。航行器運動5個周期構(gòu)成一次訓(xùn)練輪次。

2.5 終止條件設(shè)計

每輪訓(xùn)練的終止條件是完成全程航行或失穩(wěn)。

完成全程航行主要根據(jù)該輪次的終止時間判斷,若終止時間等于該輪次的設(shè)計航行總時間則判定航行器成功完成全程航行。

失穩(wěn)判定主要依據(jù)姿態(tài)角和速度,標(biāo)準(zhǔn)為

當(dāng)一輪訓(xùn)練終止而當(dāng)前訓(xùn)練總步數(shù)未達設(shè)計訓(xùn)練總步數(shù)時,重置環(huán)境,開始新一輪訓(xùn)練。

3 訓(xùn)練及仿真試驗結(jié)果

3.1 訓(xùn)練結(jié)果分析

訓(xùn)練持續(xù)2 000步左右時模型收斂,繼續(xù)訓(xùn)練到45 000步提前終止訓(xùn)練,圖1為訓(xùn)練過程中回報函數(shù)值隨訓(xùn)練步數(shù)變化曲線。

圖1 訓(xùn)練過程中回報函數(shù)值變化情況Fig.1 Variation of train reward during training

圖2為訓(xùn)練過程中每隔100步進行測試的回報函數(shù)曲線,可以看出神經(jīng)網(wǎng)絡(luò)模型的收斂較為穩(wěn)定,即使因為隨機樣本導(dǎo)致學(xué)習(xí)偶爾進入局部最優(yōu)也能很快恢復(fù)到較好的水平。

圖2 訓(xùn)練過程中測試時的回報函數(shù)值變化情況Fig.2 Variation of evaluate reward during training

3.2 控制結(jié)果分析

為評估神經(jīng)網(wǎng)絡(luò)控制模型的控制效果,首先考察基準(zhǔn)控制策略的控制效果。以擺幅30°,扭幅30°,相位差90°這一固化游動控制策略作為基準(zhǔn)進行控制仿真。仿真中取初速度0.35 m/s,仿真40 s,過程中狀態(tài)量變化情況如圖3所示。從圖中可以看出,航行器平均速度約為0.32 m/s,俯仰角在±30°以內(nèi)。

圖3 基準(zhǔn)控制策略下系統(tǒng)狀態(tài)變化情況Fig.3 System state variation during baseline swimming strategy

圖4展示了胸鰭擺動和扭轉(zhuǎn)運動的實際變化情況,其中上方為實時控制指令,下方為經(jīng)過舵機模型后的實際執(zhí)行指令,相比實時控制指令存在一個較小的延遲??梢钥闯觯叫衅餍伥挃[動和扭轉(zhuǎn)均以正弦形式運動,運動曲線平滑連續(xù)。

圖4 基準(zhǔn)控制策略控制擺幅和扭幅實際值Fig.4 Variation of the amplitude of flap and the amplitude of twist during baseline swimming strategy

經(jīng)統(tǒng)計,在基準(zhǔn)游動控制策略下,航行器平均速度0.325 7 m/s,游動能效為0.052 7 m/J。

接下來驗證基于DRL的控制模型。令航行器以初速度0.35 m/s開始航行40 s,完成任務(wù)后查看航行狀態(tài),統(tǒng)計平均游速和游動能效值。

圖5展示了收斂后的神經(jīng)網(wǎng)絡(luò)模型控制狀態(tài)變化。從圖中可以看出,航行器平均速度在0.4 m/s附近,俯仰角保持在±40°以內(nèi)。3個執(zhí)行機構(gòu)的可控維度均參與了控制,擺幅在12°~30°之間變化,扭幅變化不大,基本維持在 30°附近,相位差在125°~180°之間變化。

圖5 神經(jīng)網(wǎng)絡(luò)模型系統(tǒng)狀態(tài)變化情況及動作量)Fig.5 The variation of system state and action during NN-based swimming strategy

圖6展示了胸鰭擺動和扭轉(zhuǎn)運動的實際變化情況,其中上方為實時控制指令,下方為經(jīng)過舵機模型后的實際執(zhí)行指令??梢钥闯觯叫衅餍伥挃[動和扭轉(zhuǎn)均以正弦形式運動,運動曲線在指令切換時存在較小的抖動但仍處于可用狀態(tài)。

圖6 神經(jīng)網(wǎng)絡(luò)模型控制擺幅和扭幅實際值Fig.6 The variation of flap amplitude(left)and twist amplitude(right)during NN-based swimming strategy

經(jīng)統(tǒng)計,在基于DDPG的游動控制策略下,航行器平均速度0.372 8 m/s,游動能效為0.065 6 m/J。相比基準(zhǔn)游動控制策略,航行速度提升0.047 1 m/s(14.46%),游動能效提升0.012 9 m/J(24.48%)。

4 結(jié)束語

本文從控制策略優(yōu)化的角度出發(fā),以仿蝠鲼航行器為研究對象,使用基于DDPG的DRL方法對直航游動規(guī)律進行優(yōu)化。訓(xùn)練完成后與固化的游動策略進行了比較,在 40 s的游動時間內(nèi),優(yōu)化后的游動策略在航行速度上相比基準(zhǔn)游動控制策略提升了14.46%,在游動能效上降低了24.48%,在降低能量消耗的同時獲取了更快的前向游速,從而實現(xiàn)了游動性能的提升。該方法同樣適用于其他仿生推進方式的水下航行器游動規(guī)律優(yōu)化設(shè)計。

猜你喜歡
胸鰭游動航行
仿牛鼻鲼機器魚倒游性能胸鰭結(jié)構(gòu)設(shè)計與實驗
永不停歇的魚
到慧骃國的航行
球軸承用浪型保持架徑向游動量的測量
哈爾濱軸承(2021年1期)2021-07-21 05:43:16
把手放進袋子里
金魚如何辨雌雄
小舟在河上航行
機器鱈魚胸鰭/尾鰭協(xié)同推進直線游動動力學(xué)建模與實驗研究
“水中飛鳥”:豹魴鮄
航行
青年歌聲(2017年6期)2017-03-13 00:57:56
吉首市| 广元市| 府谷县| 当雄县| 大渡口区| 正蓝旗| 凤冈县| 涿州市| 金门县| 焉耆| 竹溪县| 轮台县| 泉州市| 恩平市| 达州市| 绥德县| 安顺市| 屏山县| 四会市| 舞阳县| 安远县| 广饶县| 长兴县| 关岭| 水富县| 嵊州市| 江川县| 康平县| 怀集县| 五台县| 铜鼓县| 绿春县| 西乌珠穆沁旗| 黄大仙区| 滁州市| 玉溪市| 芷江| 南通市| 西乌珠穆沁旗| 灌云县| 河东区|