[發明專利]一種基于Actor-Critic算法的水下機器人運動控制方法有效
| 申請號: | 202011432207.8 | 申請日: | 2020-12-09 |
| 公開(公告)號: | CN112462792B | 公開(公告)日: | 2022-08-09 |
| 發明(設計)人: | 孫延超;杜雨桐;王卓;吳淼;秦洪德;韓光潔 | 申請(專利權)人: | 哈爾濱工程大學 |
| 主分類號: | G05D1/06 | 分類號: | G05D1/06 |
| 代理公司: | 哈爾濱市松花江專利商標事務所 23109 | 代理人: | 張換男 |
| 地址: | 150001 黑龍江*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 actor critic 算法 水下 機器人 運動 控制 方法 | ||
1.一種基于Actor-Critic算法的水下機器人運動控制方法,其特征在于:所述方法具體過程為:
步驟一、初始化參數;
步驟二、基于反步法分別設計水下機器人的速度控制系統和艏向控制系統,再根據簡化后的AUV動力學模型和運動學方程確定速度控制系統的控制律以及艏向控制系統的控制律;
步驟三、設定Actor-Critic神經網絡,Actor-Critic神經網絡包括四個RBF神經網絡,分別為Actor當前網絡、Actor目標網絡、Critic當前網絡和Critic目標網絡;
步驟四、確定Actor當前網絡的輸入和輸出;確定Critic當前網絡的輸入和輸出;
步驟五、確定Actor目標網絡的輸入和輸出;確定Critic目標網絡的輸入和輸出;
步驟六、設定Actor網絡的損失函數,對Actor網絡的損失函數求梯度下降,并通過RBF神經網絡更新公式更新Actor當前網絡權值參數;
步驟七、計算Critic網絡的損失函數,對Critic網絡的損失函數求梯度下降,并通過RBF神經網絡更新公式來更新Critic當前網絡權值參數;
步驟八、重復執行步驟四至步驟七n次,第n次將更新后的critic當前網絡權值參數復制到critic目標網絡,將更新后的Actor當前網絡權值參數復制到Actor目標網絡;
步驟九、重復執行步驟八,直至Actor-Critic神經網絡收斂,得到穩定的Q值;此時Actor當前網絡輸出動作,疊加噪聲后,通過變換即為控制律參數值;
所述步驟六中設定Actor網絡的損失函數,對Actor網絡的損失函數求梯度下降,并通過RBF神經網絡更新公式更新Actor當前網絡權值參數;具體過程為:
Actor網絡損失函數為:
其中,n為輸出Q值數量;Q(si,ai,w)是輸入狀態和動作后得到的價值;si為當前狀態;ai為Actor當前網絡輸出動作;w為神經網絡權值;
RBF神經網絡更新公式為:
式中,Δcij和Δσj是徑向基函數參數增量;Δwjk是神經網絡權值增量;η為常數;wjk為第k個隱層權值;ydk為期望輸出Q值;yk為當前輸出Q值;xi為神經網絡第i輸入;cij為第i個輸入量對第j個基函數的中心點;x為神經網絡輸入;cj為第j個基函數的中心點;E表示損失函數;f(·)為以e為底的指數函數;
下一時刻的權值為:
cij(t+1)=cij(t)+Δcij+α[cij(t)-cij(t-1)]
σj(t+1)=σj(t)+Δσj+α[σj(t)-σj(t-1)]
wjk(t+1)=wjk(t)+Δwjk+α[wjk(t)-wjk(t-1)]
其中η為神經網絡學習率,f(·)為節點基函數,yk是神經網絡輸出值,ydk是期望輸出,t表示迭代當前步,α為平滑因子,表示損失函數;
所述步驟七中計算Critic網絡的損失函數,對Critic網絡的損失函數求梯度下降,并通過RBF神經網絡更新公式來更新Critic當前網絡權值參數;具體過程為:
通過Critic目標網絡輸出的Qt+1與回報函數R,得到期望值yi=R+γQt+1(St+1,at+1,w')
其中w′是Critic期望網絡權值;
對于速度,設回報函數為速度與加速度相對于目標的差值,即R=-|ud-u|-|u1d-u1|,對于舶向角,設計回報函數為R=-|ψd-ψ|-|ψ1d-ψ1|;
ud為目標速度;u為當前速度;u1d為目標加速度;u1為當前目標加速度;
ψd為目標舶向角;ψ為當前舶向角;ψ1d為目標舶向角導數;ψ1為當前舶向角導數;
計算TD誤差:
其中γ是折扣率;
進而得到損失函數:
式中,n為輸出Q值數量;w為神經網絡權值;Q(si,ai,w)是輸入狀態和動作后得到的價值;si為當前狀態;ai為當前動作;
對損失函數J(w)求梯度下降,并通過RBF神經網絡更新公式來更新critic當前網絡和權值參數;
所述步驟九中重復執行步驟八,直至Actor-Critic神經網絡收斂,得到穩定的Q值;此時Actor當前網絡輸出動作,疊加噪聲后,通過變換即為控制律參數值;
具體公式為:
ku=(a|tu-6)*0.2+Ku0
kψ1=(a|tψ1-7)*0.2+Kr10
kψ2=(a|tψ2-7)*0.2+Kr20
式中,Ku0、Kr10、Kr20為控制器原始參數;a|tu、a|tψ1和a|tψ2是Actor-Critic算法最終輸出的動作值;*是乘號;
所述步驟二中基于反步法分別設計水下機器人的速度控制系統和艏向控制系統,再根據設計的速度控制系統以及艏向控制系統確定速度控制系統的控制律以及艏向控制系統的控制律;具體過程為:
水下機器人的速度控制系統為:
其中,m為水下機器人的質量,和Xu|u|均為無量綱水動力參數,u為水下機器人縱向速度,|u|為u的絕對值,為水下機器人縱向加速度,τu為推進器縱向推力,v為水下機器人橫向速度,r為水下機器人偏航角速度;
水下機器人速度控制系統的控制律為:
其中,ku為速度控制系統的控制律的待調節控制參數;ku>0;ud為目標速度;為目標加速度;
水下機器人的艏向控制系統為:
其中,為實際艏向角的一階導數,為r的一階導數,Nr、Nr|r|均為無量綱水動力參數,|r|為r的絕對值,τr為轉艏力矩,Iz為水下機器人繞運動坐標系z軸的轉動慣量;
所述運動坐標系為:以水下機器人的重心為原點O,以指向水下機器人的艏向方向為x軸正向,以指向水下機器人的右舷方向為為y軸正向,以指向水下機器人的底部方向為z軸正向,且x軸、y軸、z軸符合右手螺旋定則的坐標系;
水下機器人艏向控制系統的控制律為:
其中,kψ1為艏向控制系統的控制律的第一個待調節控制參數,kψ2為艏向控制系統的控制律的第二個待調節控制參數;kψ1>0和kψ2>0;
所述步驟一中初始化參數;具體為:
初始化神經網絡參數θ、w為[-1,1]的隨機數,并設置神經網絡更新權值α、折扣率γ、ε;初始化控制器原始參數ku0、Kr10以及Kr20;初始化AUV模型參數質量m,無量綱水動力參數Xu|u|、Nr、Nr|r|,水下機器人繞運動坐標系z軸的轉動慣量Iz;
所述步驟三中設定Actor-Critic神經網絡,Actor-Critic神經網絡包括四個RBF神經網絡,分別為Actor當前網絡、Actor目標網絡、Critic當前網絡和Critic目標網絡;具體過程為:
四個RBF神經網絡都是單輸入層、單隱層和單輸出層;
輸入層節點數量為i,隱層節點數量為j,輸出層節點數量為k,隱層節點基函數為高斯基函數,如下式所示,cj是第j個基函數的中心點,σj為基函數圍繞中心點寬度,‖x-cj‖2表示向量x-cj的二范數;x為神經網絡輸入;
式中,αj(x)為隱層節點基函數;f(·)是以e為底的指數函數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工程大學,未經哈爾濱工程大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011432207.8/1.html,轉載請聲明來源鉆瓜專利網。





