当前位置: 首页 > 专利查询>山东大学专利>正文

一种基于示范数据强化学习技术的水下航行器自主上浮控制方法技术

技术编号:29049910 阅读:31 留言:0更新日期:2021-06-26 06:11
本发明专利技术涉及一种基于示范数据强化学习技术的水下航行器自主上浮控制方法,属于海洋设备控制技术领域,本发明专利技术基于深度强化学习中“演员

【技术实现步骤摘要】
一种基于示范数据强化学习技术的水下航行器自主上浮控制方法


[0001]本专利技术涉及一种基于示范数据强化学习技术的水下航行器自主上浮控制方法,属于海洋设备控制


技术介绍

[0002]水下航行器是一种机动灵活、可操纵性强、成本较低、搭载方便的海洋装备,越来越广泛的被应用于海底地形地貌的测绘、海洋资源的勘查、海底管道铺设和维护、海洋环境监测等领域。随着陆地资源的日益匮乏,海洋逐渐成为了各国极为重要的战略资源基地,因此,海洋装备技术的研发受到越来越多的关注。水下航行器因其独特的优势、不可替代的作用以及广阔的应用前景,其发展得到了高度的重视和支持。
[0003]然而,水下航行器工作在复杂、未知的海洋环境中如果遭遇自身系统故障、水下强干扰等状况,如若不能及时自主上浮,势必会造成水下航行器的损毁丢失,导致不菲的经济损失及珍贵的科研数据的丢失。2005年2月16日,英国“Autosub

2”号水下航行器在执行某项冰下探测任务时丢失在南极冰下。2010年3月5日,美国“ABE”号水下航行器丢失在智利附近海域。2014年5月本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于示范数据强化学习技术的水下航行器自主上浮控制方法,其特征在于,包括步骤如下:1、构建仿真环境;使用python语言编写水下航行器仿真环境,所述仿真环境包括任务环境部分、水下航行器部分、DRL算法所需参数部分;所述任务环境部分包括设计固定在地理原点的E

ξηζ坐标系、设置了三维地图尺寸的三维区域、上浮成功区域;以及提供了与后续DRL算法交互的step()函数;水下航行器包括三个执行机构,分别为艉部推进器、艉部水平舵以及艉部垂直舵;所述水下航行器部分包括水下航行器六自由度动力学模型、四阶龙格库塔法解算水下航行器动力学模型;所述DRL算法所需参数部分包括对奖励函数r、状态空间S、动作空间A的定义;奖励函数的定义:其中根据上浮任务的设定,定义转移奖励函数为上一时刻水下航行器到水面的距离与此时刻水下航行器到水面距离的差值,如式(1):r
trans
=10*α*(d
old

d
new
)
ꢀꢀ
(1)其中,d
old
表示水下航行器上一时刻水下航行器与水面的距离,d
new
表示水下航行器当前时刻水下航行器与水面的距离,r
trans
为转移奖励函数;设置时间惩罚项为:当所耗费时间超出500个时间步时,触发任务结束;其中α,β为一个0到1之间的正自然数;另外进行了地图边界限制,当水下航行器碰到地图边界时,给予一个较大的惩罚:综合起来,奖励函数被设定为:r=r
trans
+r
time
+r
map
ꢀꢀ
(4)状态空间S的组成如下:设定水下航行器对任务环境的观察量包括以下各分量:一、水下航行器与水面的距离;二、自身的各姿态角的角度;三、推进器输出的力;四、水平舵和垂直舵的偏转角度;五、设置水下航行器上的声呐对周围障碍物的测距信息;通过归一化处理将各观察分量放缩到[0,1]的范围内,状态空间相应定义为S={obs1,obs2,..,obs
n
},n为分量的数量;定义动作空间A,仿真环境中使用的水下航行器为一个运动在三维空间下、具有六个自由度,但只有三个执行机构的欠驱动水下航行器,三个执行机构分别为艉部推进器、艉部水平舵以及艉部垂直舵,通过控制推进器输出力的大小、两组舵面的偏转角度来对水下航行器的运动进行控制,因此定义动作空间为A={F,D
θ
,D
ψ
},其中,F为推进器输出力的大小,D
θ
,D
ψ
为水平舵以及垂直舵的偏转角度;2、进行上浮策略训练,具体步骤如下:
(1)初始化阶段(1

1)设定神经网络包括评估网络和目标网络,评估网络中包括演员网络和评论家网络,目标网络中包括演员网络和评论家网络;随机初始化各神经网络的网络参数;评估演员网络参数θ
π
、目标演员网络参数θ
π

;评估评论家网络参数θ
Q
、目标评论家网络参数θ
Q

;评估演员网络的输出值为π(s|θ
π
),目标演员网络的输出为π

(s|θ
π

),评估评论家网络输出为Q(s,a|θ
Q
),目标评论家网络的输出为Q

(s,a|θ
Q

);(1

2)初始化训练过程相关超参数:目标网络软替代更新频率参数;经验回放缓存空间尺寸;使用示范数据进行预训练的次数;每个时间步从经验回放缓存空间采样的转移过程条数,评估演员网络延迟更新频率,奖励折损率;(2)预训练阶段:(2

1)将N条完整使水下航行器在仿真环境中成功上浮的episode作为示范数据加载到经验回放缓存空间,N为任意正整数,并永久保存;这些条episode中各单步转移过程以(s
t
‑1,a
t
,r
t
,s
t
,done)的形式存储,其中s
t
‑1为上一时刻状态、a
t
为当前时刻采取的动作、r
t
为当前时刻获得的奖励值、s
t
为当前时刻状态、done为当时刻是否触发任务终止条件的标志位;(2

2)经验回放缓存中的转移过程在接下来训练中被采样的概率正比于其优先级p
i
,被采样的概率计算方式为:其中,ρ为调节优先级影响大小的指数因子,k为经验回放缓存中已有的转移过程的数目;而优先级p
i
的确定方式为:其中,λ3为调节贡献度的权重值;Q(s
i
,a
i

Q
)为评估评论家网络对某第i个状态

动作对的输出值;为对a求取梯度,δ
i
为此转移过程与上一转移过程的时序误差:δ
i
=r+γmax
a

Q(s

,a


Q

)

Q(s,a|θ

)
ꢀꢀꢀ
(8)其中,r为前文的奖励函数值;γ为奖励折损因子,Q(s

,a


Q

)为目标评论家网络根据下一时刻状态

动作对(s

,a

)的输出值;Q(s,a|θ

)为目标评论家网络根据当前时刻状态

动作对(s,a)的输出值;∈为一个正常数;(2

3)进行预训练:使用加载了示范数据的经验回放缓存开始进行n
pre
步预训练,n
pre
的值大于一个专家episode中的转移过程数目,并应在数量级上小于总仿真步数,在预训练的过程中,智能体并不与任务环境进行交互,仅使用从此时经验回放缓存每个时间步采样得到的batch条转移过程学习;在学习过程中,评估评论家网络及评估演员网络的loss函数被设计为:在学习过程中,评估评论家网络及评估演员网络的loss函数被设计为:其中,L1(θ
Q
)为单步转移过程的loss函数,其计算方式为单步累计奖励与评估评论家网络输出值的差的平方的期望值,具体为:L1(θ
Q
)=E[r+γQ

(s

,π

(s


π

)|θ
Q

)

Q(s,a|θ
Q
)]2ꢀꢀ
(11)
其中,r为前文的奖励函数值;γ为奖励折损因子;Q

(s

,π

(s


π

)|θ
Q

)为目标评论家网络根据目标演员网络的输出而做出的输出,π

(s

|θπ

【专利技术属性】
技术研发人员:李沂滨张天泽缪旭弘魏征尤岳周广礼贾磊庄英豪宋艳
申请(专利权)人:山东大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1