基于深度强化学习的智能船舶航迹跟踪控制

基于深度强化学习的智能船舶航迹跟踪控制

人工智能技术与咨询 昨天

本文来自《中国舰船研究》 ,作者祝亢等

关注微信公众号:人工智能技术与咨询。了解更多咨询!

0.   引 言

目前,国内外对运载工具的研究正朝着智能化、无人化方向发展,智能船舶技术受到全球造船界与航运界的广泛关注。其以实现船舶航行环境的智能化、自主化发展为目标,深度融合传统船舶设计与制造技术以及现代信息通信与人工智能技术,包含智能航行、智能船用设备、智能船舶测试等多方面的研究[1]。其中,智能航行技术一直是保障船舶顺利完成货物运输、通信救助等任务的重要基础。要使船舶在面对多种复杂水域干扰的情况下也能遵守正常的通航秩序,安全地执行任务且保证完成效果,采取有效的控制手段精确进行航迹跟踪就显得尤为重要。

针对航迹跟踪的研究任务可以分为制导和控制2个方面。在制导方面,常由视线(line-of-sight,LOS)算法将路径跟踪问题转换为方便处理的动态误差控制问题;在控制方面,基于船舶的复杂非线性系统,常考虑使用PID等无模型控制方法,或采用模型线性化的方法来解决非线性模型在计算速率方面存在的问题。但对于复杂的环境,传统PID控制器不仅参数复杂,还不具备自适应学习能力。而最优控制、反馈线性化一类的控制算法通常需要建立精确的模型才能获得较高的控制精度。滑模控制虽然对模型精度要求不高,但其抖振问题难以消除[2]。即使存在一些自适应参数调节方法,如通过估计系统输出实现PID参数自整定的自适应PID控制方法,也会由于模型的不确定性和外界扰动,存在系统输出与真实输出的偏差[3],又或者存在参数寻优时间过长的问题而影响控制的实时性。对于与模糊逻辑相结合的响应速度快、实时性好的PID自适应控制器[4],其控制精度依赖于复杂的模糊规则库,致使整体计算复杂。

考虑到船舶的复杂非线性系统模型,和保障航迹跟踪控制的实时性时产生的大量参数整定和复杂计算等问题,本文将采用深度强化学习算法来研究智能船舶的轨迹跟踪问题。深度强化学习(deep reinforcement learning,DRL)是深度学习与强化学习的结合,其通过强化学习与环境探索得到优化的目标,而深度学习则给出运行的机制用于表征问题和解决问题。深度强化学习算法不依赖动力学模型和环境模型,不需要进行大量的算法计算,还具备自学习能力。Magalhães等[5]基于强化学习算法,使用Q-learning设计了一种监督开关器并应用到了无人水面艇,它能智能地切换控制器从而使无人艇的行驶状态符合多种环境与机动要求。2015年,Mnih等[6]为解决复杂强化学习的稳定性问题,将强化学习与深度神经网络相结合,提出了深度Q学习(deep Q network,DQN)算法,该算法的提出代表了深度强化学习时代的到来。之后,在欠驱动无人驾驶船舶的航行避碰中也进行了相关应用[7]。

面对存在的大量参数整定、复杂算法计算等问题,为实现船舶航迹跟踪的精准控制,本文拟设计一种基于深度确定性策略梯度算法(deep deterministic policy gradient,DDPG)的深度强化学习航迹跟踪控制器,在LOS算法制导的基础上,对船舶航向进行控制以达到航迹跟踪效果。然后,根据实际船舶的操纵特性以及控制要求,将船舶路径跟踪问题建模成马尔可夫决策过程,设计相应的状态空间、动作空间与奖励函数,并采用离线学习方法对控制器进行学习训练。最后,通过仿真实验验证深度强化学习航迹控制器算法的有效性,并与BP-PID控制器算法的控制效果进行对比分析。

1.   智能船舶航迹跟踪控制系统总体设计

1.1   LOS算法制导

航迹跟踪控制系统包括制导和控制2个部分,其中制导部分一般是根据航迹信息和船舶当前状态确定所需的设定航向角值来进行工作。本文使用的LOS算法已被广泛运用于路径控制。LOS算法可以在模型参数不确定的情况下,以及在复杂的操纵环境中与控制器结合,从而实现对模型的跟踪控制。视线法的导航原理是基于可变的半径与路径点附近生成的最小圆来产生期望航向,即LOS角。经过适当的控制,使当前船舶的航向与LOS角一致,即能达到航迹跟踪的效果[8]。

LOS算法示意图如图1所示。假设当前跟踪路径点为Pk+1(xk+1,yk+1)Pk+1(xk+1,yk+1),上一路径点为Pk(xk,yk)Pk(xk,yk),以船舶所在位置Ps(xs,ys)Ps(xs,ys)为圆心,选择半径RLosRLos与路径PkPk+1PkPk+1相交,选取与Pk+1Pk+1相近的点PLos(xLos,yLos)PLos(xLos,yLos)作为LOS点,当前船舶坐标到LOS点的方向矢量与x0x0的夹角ψLosψLos则为需要跟踪的LOS角。图中:dd为当前船舶至跟踪路径的最短距离;ψψ为当前航向角。

其中,半径RLosRLos的计算公式如式(1)和式(2)所示,为避免RminRmin的计算出现零值,在最终的计算中加入了2倍的船长LppLpp来进行处理[9]。

⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪a(t)=(x(t)−xk)2+(y(t)−yk)2−−−−−−−−−−−−−−−−−−−−−√b(t)=(xk+1−x(t))2+(y(t)−yk+1)2−−−−−−−−−−−−−−−−−−−−−−−−√c(t)=(xk+1−xk)2+(yk+1−yk)2−−−−−−−−−−−−−−−−−−−−−−√Rmin(t)=a(t)2−(c(t)2−b(t)2+a(t)22c(t))2−−−−−−−−−−−−−−−−−−−−−−−−−−⎷{a(t)=(x(t)−xk)2+(y(t)−yk)2b(t)=(xk+1−x(t))2+(y(t)−yk+1)2c(t)=(xk+1−xk)2+(yk+1−yk)2Rmin(t)=a(t)2−(c(t)2−b(t)2+a(t)22c(t))2

(1)

RLos=Rmin(t)+2LppRLos=Rmin(t)+2Lpp

(2)

式中,所计算的RminRmin即为当前时刻t的航迹误差ε,也即图1中的dd。

图片

图  1  LOS导航原理图

Figure  1.  Schematic diagram of LOS algorithm

船舶在沿着路径进行跟踪时,若进入下一个航向点的一定范围内,即以Pk+2(xk+2,yk+2)Pk+2(xk+2,yk+2)为圆心、RACRAC为半径的接受圆内,则更新当前航向点为下一航向点,半径RACRAC一般选取为2倍船长。

1.2   基于强化学习的控制过程设计

强化学习(reinforcement learning,RL)与深度学习同属机器学习范畴,是机器学习的一个重要分支,主要用来解决连续决策的问题,是马尔可夫决策过程(Markov decision processes,MDP)问题[10]的一类重要解决方法。

此类问题均可模型化为MDP问题,简单表示为四元组<S,A,P,R><S,A,P,R>。其中,SS为所有状态值的集合,即状态空间;AA为动作值集合的动作空间ÿ

  • 9
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值