[發明專利]基于強化學習技術的自主水下機器人無模型控制方法有效
| 申請號: | 202010087508.5 | 申請日: | 2020-02-11 |
| 公開(公告)號: | CN111240344B | 公開(公告)日: | 2023-04-07 |
| 發明(設計)人: | 孫延超;秦洪德;張佩;王卓;曹禹;景銳潔;張宇昂;杜雨桐 | 申請(專利權)人: | 哈爾濱工程大學 |
| 主分類號: | G05D1/06 | 分類號: | G05D1/06 |
| 代理公司: | 哈爾濱市松花江專利商標事務所 23109 | 代理人: | 時起磊 |
| 地址: | 150001 黑龍江*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 強化 學習 技術 自主 水下 機器人 模型 控制 方法 | ||
1.一種基于雙神經網絡強化學習技術的自主水下機器人無模型控制方法,其特征在于,利用基于雙BP神經網絡強化學習的控制器對自主水下機器人進行控制,所述控制器包括基于雙BP神經網絡Q學習速度控制器;
所述速度控制器包含一個當前BP神經網絡和一個目標BP神經網絡,利用Q學習算法,實現當前BP神經網絡和目標BP神經網絡對應的整體控制器的學習;
速度控制器和艏向控制器中的當前BP神經網絡中均包含一個狀態BP神經網絡和一個動作BP神經網絡;
當前BP神經網絡中的狀態BP神經網絡的輸入為速度的偏差和偏差變化率,經過Q學習算法,輸出為k個縱向推力所對應的Q值,所以狀態BP神經網絡也稱Q值網絡;
當前BP神經網絡中的動作BP神經網絡的輸入為速度的偏差和偏差變化率,經過Q學習算法,輸出為k個縱向推力所對應的動作值;
目標BP神經網絡包含一個狀態BP神經網絡,目標BP神經網絡的狀態BP神經網絡與當前BP神經網絡中的狀態BP神經網絡結構相同,目標BP神經網絡的狀態BP神經網絡輸入為當前狀態st執行最優動作at后所得到的下一時刻的狀態st+1,并且目標BP神經網絡的狀態BP神經網絡參數總是為當前BP神經網絡狀態BP神經網絡前10步所更新的神經網絡參數;
速度控制器以Q學習的方式進行更新,從而實現自主水下機器人的速度控制;速度控制器以Q學習的方式進行更新的過程包括以下步驟:
步驟1、初始化所有BP神經網絡的權值為[-1,1]的隨機數,并設置α、γ、ε;α為Q學習學習率;γ為Q學習折扣率;ε為Q學習貪婪率;
步驟2、觀察當前狀態st;
步驟3、基于當前BP神經網絡輸出ak和Q(st,ak),其中k∈[1,10];
步驟4、根據ε貪婪策略選擇動作at并執行動作at;
步驟5、對Q值進行擬合,得到Qm(st,at);
步驟6、觀察新狀態st+1和即時回報rt+1;
步驟7、基于目標BP神經網絡的狀態BP神經網絡輸出
步驟8、計算實際值與期望值的偏差;所述計算實際值與期望值的偏差過程如下:
得到TD誤差后,需要根據TD誤差分別計算出當前BP神經網絡的k個動作和k個Q值的偏差,計算公式分別如下:
式中,k∈{1,2,...,10},ΔQ(st,at)為最優動作對應的最大Q值的偏差,即TD誤差,Qm(st,at)為擬合函數進行擬合后的最大輸出Q值,Qm-1(st+1,a′)為目標BP神經網絡的輸出值,γ為折扣率,ΔQm(st,ak)為第k個Q值的偏差,Δak(st)為第k個動作的偏差;
步驟9、更新當前BP神經網絡的Q值網絡參數;所述更新當前BP神經網絡的Q值網絡參數的過程包括以下步驟:
有了實際輸出值與期望輸出值的偏差后,通過梯度下降和鏈式規則對當前BP神經網絡的參數進行更新,并且針對Q值和動作兩個方面的更新,Q值和動作的損失函數分別如下:
式中,EQ(t)和Ea(t)分別表示第k個Q值和動作的損失函數;
步驟10、更新當前BP神經網絡中的動作BP神經網絡參數;
n步迭代后,更新目標BP神經網絡Q值網絡參數;
步驟11、返回步驟2,重復執行,直至滿足結束條件回合結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工程大學,未經哈爾濱工程大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010087508.5/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種綠色環保型城市景觀設計方法
- 下一篇:一種尼龍齒輪的加工工藝





