摘 要:文章提出了一種基于實時反饋強化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)控制的船舶艏搖智能控制方法。該方法將神經(jīng)網(wǎng)絡(luò)的非線性建模和強化學(xué)習(xí)的自適應(yīng)控制技術(shù)相結(jié)合,能夠?qū)崿F(xiàn)對船舶航行過程中舵角的精確控制。并將PID控制算法、模型預(yù)測控制算法和實時反饋強化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)控制算法進(jìn)行對比分析,仿真實驗結(jié)果表明,后者在控制效果和穩(wěn)定性方面均優(yōu)于前兩種方法,能夠有效地提高船舶航行過程中舵角的控制精度和魯棒性。
關(guān)鍵詞:實時反饋;強化學(xué)習(xí);神經(jīng)網(wǎng)絡(luò);船舶艏搖
中圖分類號:TP39;TP18;U664.82 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2024)08-0083-06
0 引 言
船舶艏搖角是指船舶前部相對于靜水面的搖晃角度,是船舶在海洋航行中常見的運動模態(tài)之一。艏搖角的大小和穩(wěn)定性直接關(guān)系到船舶的航行性能和安全性,因此艏搖角控制一直是船舶運動控制的重要研究領(lǐng)域。傳統(tǒng)的艏搖角控制方法主要基于PID控制算法或者模型預(yù)測控制算法,這些方法在控制效果和穩(wěn)定性方面存在一定的局限性。一方面,PID控制算法需要根據(jù)船舶艏搖角的測量值計算控制量,而船舶運動傳感器的數(shù)據(jù)受到環(huán)境因素和傳感器自身誤差的影響,容易產(chǎn)生誤差和漂移,從而影響控制效果。另一方面,模型預(yù)測控制算法需要建立艏搖角動力學(xué)模型,但是艏搖角動力學(xué)模型的復(fù)雜性和不確定性使得模型預(yù)測控制算法的控制效果和穩(wěn)定性受到限制。近年來,強化學(xué)習(xí)作為一種基于試錯學(xué)習(xí)的智能控制方法,基于智能體與環(huán)境的交互學(xué)習(xí)不斷試錯和反饋,探索環(huán)境來獲取獎勵信號,從而得到最優(yōu)的行為策略,從而提高控制系統(tǒng)的性能和魯棒性[1]?;趯崟r反饋強化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型的船舶艏搖智能控制系統(tǒng),能夠?qū)崿F(xiàn)對舵角的精確控制,提高船舶艏搖角的控制精度和魯棒性,對船舶的穩(wěn)定性和航行效率有至關(guān)重要的作用。
1 幾種控制方法對比研究
1.1 傳統(tǒng)的PID控制方法
目前,船舶艏搖控制主要采用傳統(tǒng)的PID控制方法,但存在許多局限性,如模型參數(shù)難以確定、魯棒性不夠、適應(yīng)性不足等,只能根據(jù)已知的船舶動態(tài)模型進(jìn)行控制,不能根據(jù)實時反饋信息及時調(diào)整控制策略,因此對于系統(tǒng)的魯棒性、穩(wěn)定性以及適應(yīng)性較差,特別是對于存在未知干擾或模型不準(zhǔn)確的情況下,PID控制的性能會急劇下降[2]。
1.2 強化學(xué)習(xí)方法
為了解決PID控制方法存在的問題,近年來,越來越多的研究者開始探索基于機器學(xué)習(xí)的控制方法。其中,強化學(xué)習(xí)(RL)方法因其在不確定環(huán)境下自適應(yīng)學(xué)習(xí)的能力,成為船舶自動化控制領(lǐng)域的研究熱點之一。強化學(xué)習(xí)通過不斷試錯的方式,不斷調(diào)整船舶控制策略,最大限度地發(fā)揮預(yù)設(shè)的獎勵功能。相比傳統(tǒng)的控制方法,強化學(xué)習(xí)的適應(yīng)性和魯棒性更強。
強化學(xué)習(xí)的基本框架可以概括為四個主要元素:狀態(tài)(state)、動作(action)、獎勵(reward)和策略(policy)。狀態(tài)表示環(huán)境現(xiàn)在的狀態(tài),動作表示智能體可選的行動,獎勵表示智能體的行動質(zhì)量,策略是智能體根據(jù)其經(jīng)驗采取行動的規(guī)則[3]。其目的是在不確定的環(huán)境中學(xué)習(xí)行為策略,以最大化預(yù)期的累積回報。在強化學(xué)習(xí)中,智能體(即學(xué)習(xí)算法)通過與環(huán)境交互來學(xué)習(xí),從而獲得有關(guān)其當(dāng)前狀態(tài)和可用動作的信息。通過試錯學(xué)習(xí)來改善其決策策略,通過策略學(xué)習(xí)來學(xué)習(xí)如何在給定的狀態(tài)下選擇動作。強化學(xué)習(xí)算法可以分為價值基礎(chǔ)算法和策略基礎(chǔ)算法。價值基礎(chǔ)算法的目標(biāo)是學(xué)習(xí)如何評估狀態(tài)和動作的質(zhì)量,例如Q-learning算法和SARSA算法。策略基礎(chǔ)算法的目標(biāo)是直接學(xué)習(xí)最優(yōu)策略,例如Policy Gradient算法和Actor-Critic算法。近年來,深度強化學(xué)習(xí)結(jié)合了深度學(xué)習(xí)和強化學(xué)習(xí)的優(yōu)勢,使模型泛化能力更高,性能更好[4]。
1.3 實時反饋深度強化學(xué)習(xí)方法
基于實時反饋深度強化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型的船舶艏搖角控制方法,利用深度強化學(xué)習(xí)的思想,通過學(xué)習(xí)環(huán)境狀態(tài)和動作的映射關(guān)系,得到優(yōu)化的控制策略。具體來說,本文首先構(gòu)建了船舶艏搖角控制的狀態(tài)空間,包括船舶的加速度、角速度、角度等狀態(tài)信息,并使用這些狀態(tài)信息進(jìn)行強化學(xué)習(xí)網(wǎng)絡(luò)的訓(xùn)練[5]。同時,還考慮了船舶存在的未知干擾因素,對于未知干擾的影響,使用了一種基于模型預(yù)測控制(MPC)的方法,通過預(yù)測未來狀態(tài)來優(yōu)化控制策略,提高系統(tǒng)的魯棒性。
2 實時反饋深度強化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型介紹
2.1 基本原理
實時反饋深度強化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型是強化學(xué)習(xí)在實時控制問題上的應(yīng)用,結(jié)合了實時反饋和神經(jīng)網(wǎng)絡(luò)的特點。其基本原理是通過學(xué)習(xí)環(huán)境狀態(tài)和采取行動的反饋,通過調(diào)整模型參數(shù)實現(xiàn)對行動的優(yōu)化[6]。
具體來說,狀態(tài)表示環(huán)境的特征,動作是智能體對環(huán)境的反應(yīng),獎勵是智能體行動的結(jié)果,策略則是智能體在不同狀態(tài)下采取的行動規(guī)則。模型通過不斷地嘗試,學(xué)會了在不同狀態(tài)下最大限度地發(fā)揮獎勵的作用,從而將最優(yōu)的動作選擇出來。
2.2 算法設(shè)計
基于值函數(shù)和策略函數(shù)進(jìn)行優(yōu)化。其中,值函數(shù)用于估計智能體在當(dāng)前狀態(tài)下采取某一行動的長期收益,策略函數(shù)則用于指導(dǎo)智能體在不同狀態(tài)下的行動選擇。在實時反饋深度強化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型中,值函數(shù)和策略函數(shù)通常使用神經(jīng)網(wǎng)絡(luò)進(jìn)行建模。
在訓(xùn)練過程中,智能體通過與環(huán)境的交互不斷優(yōu)化神經(jīng)網(wǎng)絡(luò)的參數(shù),以學(xué)習(xí)到最優(yōu)的值函數(shù)和策略函數(shù)。每一步都需要計算當(dāng)前狀態(tài)下的最優(yōu)行動,根據(jù)執(zhí)行的行動和獲得的獎勵來更新神經(jīng)網(wǎng)絡(luò)的參數(shù),從而實現(xiàn)模型的優(yōu)化和學(xué)習(xí)。實時反饋深度強化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型的優(yōu)點是能夠處理實時控制問題,且具有很好的通用性和可擴(kuò)展性。
3 實驗評價指標(biāo)和方法
3.1 評價指標(biāo)
為了評價所提出的實時反饋深度強化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型的控制效果,本文采用了以下七個評價指標(biāo):
1)訓(xùn)練情況:訓(xùn)練過程中的訓(xùn)練曲線,可以了解模型在不同迭代次數(shù)下的表現(xiàn),并進(jìn)行調(diào)整和優(yōu)化。
2)模型性能:通過評估模型的預(yù)測結(jié)果與真實值之間的差距,計算方式為預(yù)測值與真實值之差的平方和的平均值,我們主要采用實時的輸出值與目標(biāo)值的差距和誤差柱狀圖對模型性能進(jìn)行評估。
3)模型誤差直方(EH):模型對于預(yù)測結(jié)果與訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)真實結(jié)果之間的區(qū)別。誤差可以是正值、負(fù)值或者零,正值表示模型偏高估計,負(fù)值表示模型偏低估計,而零表示模型的預(yù)測完全正確??梢蕴岈F(xiàn)出模型的預(yù)測精度。
4)誤差自相關(guān)性(EA):在時間序列分析中,同一序列內(nèi)相鄰時間點的誤差值之間存在相關(guān)性的現(xiàn)象。也就是說,前一個時間點的誤差值與后一個時間點的誤差值之間存在一定的相關(guān)性。
誤差自相關(guān)性可能會導(dǎo)致模型的預(yù)測效果不佳,因為如果誤差具有一定的自相關(guān)性,那么模型預(yù)測出的誤差也會受到之前誤差的影響,從而可能會導(dǎo)致模型的預(yù)測結(jié)果出現(xiàn)較大的偏差。
5)最大偏差角度(MAD):艏向角在規(guī)定時間內(nèi)的最大偏差值,衡量了模型對于控制目標(biāo)的精度和穩(wěn)定性。
6)穩(wěn)態(tài)最大偏差角度(SSD):當(dāng)模型達(dá)到穩(wěn)定狀態(tài)時,艏向角與目標(biāo)角度之間的偏差值,衡量了模型的穩(wěn)態(tài)性能。
7)調(diào)整時間(TAT):模型從初始狀態(tài)到達(dá)穩(wěn)定狀態(tài)的時間是用來衡量模型的反應(yīng)速度。
3.2 實驗方法
3.2.1 模型設(shè)計思路
實時反饋強化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型,此模型可以做到實時反饋(5 s)數(shù)據(jù),每5 ms采樣一次,采樣對象為艏搖角,每秒鐘采樣200次,5 s采樣的總數(shù)據(jù)集為1 000次,將5 s作為一個固定時間間隔。如圖1所示,我們假設(shè)將第一個時間間隔點設(shè)為t1,第二個時間間隔點為t2,第三個時間間隔點為t3,第四個時間間隔點為t4,t1到t2時間間隔為T1,t2到t3時間間隔為T2,t3到t4時間間隔為T3,T1 = T2 = T3 = 5 S。
船舶正常航行過程中,在t2時刻,將T1內(nèi)的艏搖角、舵角實際值導(dǎo)入到Reinforcement Learning Designer模型中進(jìn)行訓(xùn)練,模型將在T2時間內(nèi)訓(xùn)練完成并輸出控制信號,來預(yù)測T3時間內(nèi)的艏搖角、舵角數(shù)據(jù),以達(dá)到預(yù)測控制。如圖1所示,在T3內(nèi),將T3實際艏搖角值與T3預(yù)測艏搖角值進(jìn)行對比擬合,如若實際值與預(yù)測值擬合結(jié)果在設(shè)定范圍內(nèi),則證明模型優(yōu)良,繼續(xù)循環(huán)此流程來預(yù)測T4、T5時間段內(nèi)的數(shù)據(jù);若T3的艏搖角實際值與艏搖角預(yù)測值擬合結(jié)果不在設(shè)定范圍內(nèi),則將擬合的差值反饋到模型來優(yōu)化下一次的訓(xùn)練。每次訓(xùn)練的數(shù)據(jù)集總量為1 000。以此往復(fù)循環(huán)來預(yù)測下個時間間隔內(nèi)的數(shù)據(jù),從而實現(xiàn)對舵的預(yù)測控制。
3.2.2 模型搭建和訓(xùn)練過程
1)數(shù)據(jù)預(yù)處理。我們首先需要對收集的過往的艏搖角和舵角數(shù)據(jù)集進(jìn)行預(yù)處理。采用數(shù)據(jù)濾波和歸一化方法,以消除噪聲并使其適合于神經(jīng)網(wǎng)絡(luò)的輸入。同時,將訓(xùn)練數(shù)據(jù)劃分為訓(xùn)練集和測試集。首先用Layer Normalization(LN)對數(shù)據(jù)進(jìn)行歸一化處理,如圖2所示。因為LN相比于BN(Batch Normalization),LN不依賴于批次大小,并且可以處理變長序列數(shù)據(jù)。然后將數(shù)據(jù)集按70%、15%、15%的比例依次劃分為訓(xùn)練集、測試集和驗證集,如圖3所示。
2)搭建時間序列神經(jīng)網(wǎng)絡(luò)模型。使用長短期記憶網(wǎng)絡(luò)(LSTM)時間序列神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)數(shù)據(jù)中的時間依賴關(guān)系和非線性性。對于船舶的艏搖角和舵角數(shù)據(jù)集,采用兩個獨立的時間序列神經(jīng)網(wǎng)絡(luò)來分別學(xué)習(xí)它們的時間依賴性和非線性性。每個時間序列神經(jīng)網(wǎng)絡(luò)都可以處理輸入序列,并輸出相應(yīng)的預(yù)測值。
利用MATLAB搭建一個LSTM時間序列神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)模型,代碼如下:
% 加載數(shù)據(jù)集
data = readtable('dataset.csv');
inputs = table2array(data(:, 2:3))'; % 過往艏搖角和舵角值作為輸入
targets = table2array(data(:, 4:5))'; % 預(yù)測的艏搖角和舵角值作為輸出
% 將數(shù)據(jù)集分為訓(xùn)練集和驗證集
numSamples = size(inputs, 2);
numTraining = round(numSamples * 0.8); % 80%用于訓(xùn)練,20%用于驗證
indices = randperm(numSamples);
trainingIndices = indices(1:numTraining);
validationIndices = indices(numTraining+1:end);
trainingInputs = inputs(:, trainingIndices);
trainingTargets = targets(:, trainingIndices);
validationInputs = inputs(:, validationIndices);
validationTargets = targets(:, validationIndices);
% 定義LSTM網(wǎng)絡(luò)架構(gòu)
numFeatures = size(inputs, 1); % 輸入特征數(shù)(艏搖角和舵角)
numResponses = size(targets, 1); % 輸出響應(yīng)數(shù)(艏搖角和舵角)
numHiddenUnits = 200; % LSTM隱含層單元數(shù)
layers = [
sequenceInputLayer(numFeatures)
lstmLayer(numHiddenUnits, 'OutputMode', 'sequence')
dropoutLayer(0.2)
fullyConnectedLayer(numResponses)
regressionLayer
];
% 設(shè)置訓(xùn)練選項
options = trainingOptions('adam', ...
'MaxEpochs', 100, ...
'MiniBatchSize', 64, ...
'ValidationData', {validationInputs, validationTargets}, ...
'ValidationFrequency', 10, ...
'Shuffle', 'every-epoch', ...
'Plots', 'training-progress');
% 訓(xùn)練LSTM網(wǎng)絡(luò)
net = trainNetwork(trainingInputs, trainingTargets, layers, options);
% 測試LSTM網(wǎng)絡(luò)
testInputs = inputs(:, validationIndices);
testTargets = targets(:, validationIndices);
predictions = predict(net, testInputs);
% 繪制結(jié)果圖像
figure
subplot(2,1,1)
plot(testTargets(1,:))
hold on
plot(predictions(1,:))
title('艏搖角')
legend('實際值', '預(yù)測值')
subplot(2,1,2)
plot(testTargets(2,:))
hold on
plot(predictions(2,:))
title('舵角')
legend('實際值', '預(yù)測值')
3)搭建強化學(xué)習(xí)模型。采用策略梯度強化學(xué)習(xí)模型,以最大化某些獎勵信號并達(dá)到某個目標(biāo)。接收來自時間序列神經(jīng)網(wǎng)絡(luò)的預(yù)測值作為輸入,并輸出相應(yīng)的行動。在這個模型中,將艏搖角值作為輸入;舵角值作為行動;當(dāng)前的艏搖角值與模型預(yù)測的艏搖角值之間的誤差作為獎勵,當(dāng)誤差較小或者模型性能較好時,可以給予正的獎勵;當(dāng)誤差較大或者模型性能較差時,可以給予負(fù)的獎勵,以期望達(dá)到目標(biāo)艏搖角作為獎勵信號;采用Reinforce深度強化學(xué)習(xí)算法作為策略。采用Q值函數(shù)可以通過神經(jīng)網(wǎng)絡(luò)來建模,以當(dāng)前狀態(tài)和行動作為輸入,預(yù)測未來的獎勵期望值作為輸出。
訓(xùn)練過程可以分為兩個階段:探索階段和利用階段。在探索階段,模型隨機選擇行動,以探索更多的狀態(tài)空間。在利用階段,模型根據(jù)策略選擇最優(yōu)行動??梢酝ㄟ^使用經(jīng)驗回放和目標(biāo)網(wǎng)絡(luò)等技術(shù)來提高訓(xùn)練效率和穩(wěn)定性。MATLAB代碼如下:
% 定義環(huán)境
env = rlPredefinedEnv(\"ShipEnvironment\");
% 定義狀態(tài)空間
obsInfo = getObservationInfo(env);
% 定義動作空間
actInfo = getActionInfo(env);
% 定義代理網(wǎng)絡(luò)
numHiddenUnits = 64;
statePath = [
imageInputLayer([obsInfo.Dimension(1) obsInfo.Dimension(2) 1],'Normalization','none','Name','observation')
fullyConnectedLayer(numHiddenUnits,'Name','fc1')
reluLayer('Name','relu1')
fullyConnectedLayer(numHiddenUnits,'Name','fc2')
reluLayer('Name','relu2')
fullyConnectedLayer(actInfo.Dimension(1),'Name',
'fc3')];
actorNet = layerGraph(statePath);
% 定義代理
agentOpts = rlACAgentOptions(...
'NumStepsToLookAhead',64, ...
'EntropyLossWeight',0.1, ...
'GradientThreshold',1);
agent = rlACAgent(actorNet,obsInfo,actInfo,agentOpts);
% 定義訓(xùn)練選項
trainOpts = rlTrainingOptions(...
'MaxEpisodes',1000, ...
'MaxStepsPerEpisode',200, ...
'Verbose',1, ...
'Plots','training-progress', ...
'StopTrainingCriteria','AverageReward', ...
'StopTrainingValue',100, ...
'ScoreAveragingWindowLength',10);
% 訓(xùn)練代理
trainStats = train(agent,env,trainOpts);
% 使用訓(xùn)練好的代理進(jìn)行預(yù)測
obs = reset(env);
for i = 1:200
action = getAction(agent,obs);
[obs,reward,done] = step(env,action);
if done
break
end
end
3.2.3 訓(xùn)練結(jié)果
在訓(xùn)練過程中,使用的優(yōu)化器是Adam優(yōu)化器,學(xué)習(xí)率為0.001。本文采用的是分批次進(jìn)行訓(xùn)練,每批次數(shù)據(jù)量為1 000,共訓(xùn)練1 000次,每隔100次訓(xùn)練,測試一次性能,并記錄最優(yōu)性能所對應(yīng)的訓(xùn)練次數(shù)和參數(shù)。具體實驗結(jié)果如圖4所示。
如圖5所示,訓(xùn)練結(jié)果符合預(yù)期各項指標(biāo),均在1 000次訓(xùn)練內(nèi)達(dá)到穩(wěn)定效果,訓(xùn)練時間均為5秒以內(nèi),符合設(shè)定的時間間隔。性能、梯度、誤差精度均在預(yù)期誤差內(nèi),模型訓(xùn)練結(jié)果優(yōu)良。
如圖6所示,模型在25輪前均方誤差有驟減趨勢,說明模型控制效率高;在100輪時,均方誤差趨于穩(wěn)定,直到915輪輸出最終的艏搖角預(yù)測值和舵角控制信號,證明模型穩(wěn)定性、安全性高。
如圖7、圖8所示,實時反饋強化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)果顯示出了良好的誤差分布直方圖和自相關(guān)性效果。
3.3 結(jié)論分析
在實驗中,比較了實時反饋強化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型和傳統(tǒng)的PID控制方法在上述指標(biāo)上的表現(xiàn)。為了使實驗結(jié)果更加客觀和準(zhǔn)確,本文采用了10組不同的實驗數(shù)據(jù),并將其平均化以得出最終結(jié)果。同時,每組實驗數(shù)據(jù)重復(fù)實驗5次,確保結(jié)果可靠。為了可以更好的體現(xiàn)模型的控制效果,我們將船舶原始航向角設(shè)為0°,我們將航向角設(shè)置為10°,來觀察實時控制效果,具體實驗數(shù)據(jù)如圖9所示。
4 結(jié) 論
本文基于實時反饋深度強化學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型的船舶艏搖角控制方法,在MATLAB/Simulink仿真環(huán)境下進(jìn)行了大量實驗驗證。通過實驗應(yīng)用的分析,模型控制的艏搖角最大偏差角為1.427 7,在慢慢訓(xùn)練過程中逐漸趨于穩(wěn)態(tài),最大偏差角符合預(yù)期值。也證明了該方法的實際應(yīng)用效果。在船舶智能操縱系統(tǒng)中使用本方法,可以提高船舶操縱員的工作效率和安全性。實驗結(jié)果表明,所提出的方法能夠適應(yīng)不同的船舶動態(tài)模型和未知干擾。因此,對于提高船舶自動化控制水平、提高船舶安全性和經(jīng)濟(jì)性具有一定的參考價值。
參考文獻(xiàn):
[1] 理查德·桑頓,安德魯·巴圖.強化學(xué)習(xí):第2版 [M].俞凱,等譯.北京:電子工業(yè)出版社,2019.
[2] MNIH V,KAVUKCUOGLU K,SILVER D,et al. Human-Level Control Through Deep Reinforcement Learning [J].Nature,2015,518(7540):529-533.
[3] SILVER D,HUANG A,MADDISON C J,et al. Mastering the Game of Go with Deep Neural Networks and Tree Search [J].Nature,2016,529(7587):484-489.
[4] MNIH V,BADIA A P,MIRZA M,et al. Asynchronous Methods for Deep Reinforcement Learning [C]//Proceedings of the 33rd International Conference on International Conference on Machine Learning.New York:JMLR.org,2016:1928-1937.
[5] 朱俊宏,林澤宇,潘柏群,等.基于深度強化學(xué)習(xí)的火車進(jìn)路優(yōu)化方法 [J].自動化學(xué)報,2021,47(6):1359-1368.
[6] 劉偉,趙立飛,王華鋒,等.基于DRL和LSTM的智能家居能耗預(yù)測模型研究 [J].計算機與數(shù)字工程,2021,49(7):1251-1257.
作者簡介:宋偉偉(1981.05—),女,漢族,山東榮成人,系副主任,教授,碩士研究生,研究方向:船舶運動控制;徐躍賓(2002.10—),男,漢族,山東淄博人,本科在讀,研究方向:船舶電子電氣技術(shù);段學(xué)靜(1984.07—),女,漢族,河北保定人,實驗管理員,實驗師,本科,研究方向:電子技術(shù);崔英明(1985.09—),男,漢族,山東榮成人,教師,工程師,本科,研究方向:船舶工程技術(shù);鞏方超(1989.06—),男,漢族,山東棗莊人,講師,碩士,研究方向:電力系統(tǒng)及其自動化、機器視覺。
收稿日期:2023-10-04
基金項目:山東省船舶控制工程與智能系統(tǒng)工程技術(shù)研究中心科研專項(SSCC-2021-0006)
DOI:10.19850/j.cnki.2096-4706.2024.08.019
Research on Intelligent Control of Ship Yaw Based on Real-time Feedback Reinforcement Learning Neural Network
SONG Weiwei1,2, XU Yuebin2, DUAN Xuejing1,2, GONG Fangchao1,2, CUI Yingming2
(1.Research Center of Shandong Province Ship Control Engineering and Intelligent System Engineering and Technology, Weihai 264300, China; 2.Weihai Ocean Vocational College, Weihai 264300, China)
Abstract: This paper proposes an intelligent control method for ship yaw based on real-time feedback reinforcement learning neural network control. This method combines nonlinear modeling of neural networks with adaptive control technology of reinforcement learning to achieve precise control of rudder angle during ship navigation. And the PID control algorithm, model prediction control algorithm, and real-time feedback reinforcement learning neural network control algorithm are compared and analyzed. The simulation experiment results show that the latter is superior to the previous two methods in control effectiveness and stability, and could effectively improve the control accuracy and robustness of the rudder angle during ship navigation.
Keywords: real-time feedback; reinforcement learning; neural network; ship yaw