Processing math: 3%

基于改进DDPG算法的无人艇自适应控制

宋利飞, 许传毅, 郝乐, 郭荣, 柴威

宋利飞, 许传毅, 郝乐, 等. 基于改进DDPG算法的无人艇自适应控制[J]. 中国舰船研究, 2024, 19(1): 137–144. DOI: 10.19693/j.issn.1673-3185.03122
引用本文: 宋利飞, 许传毅, 郝乐, 等. 基于改进DDPG算法的无人艇自适应控制[J]. 中国舰船研究, 2024, 19(1): 137–144. DOI: 10.19693/j.issn.1673-3185.03122
SONG L F, XU C Y, HAO L, et al. Adaptive control of unmanned surface vehicle based on improved DDPG algorithm[J]. Chinese Journal of Ship Research, 2024, 19(1): 137–144 (in Chinese). DOI: 10.19693/j.issn.1673-3185.03122
Citation: SONG L F, XU C Y, HAO L, et al. Adaptive control of unmanned surface vehicle based on improved DDPG algorithm[J]. Chinese Journal of Ship Research, 2024, 19(1): 137–144 (in Chinese). DOI: 10.19693/j.issn.1673-3185.03122
宋利飞, 许传毅, 郝乐, 等. 基于改进DDPG算法的无人艇自适应控制[J]. 中国舰船研究, 2024, 19(1): 137–144. CSTR: 32390.14.j.issn.1673-3185.03122
引用本文: 宋利飞, 许传毅, 郝乐, 等. 基于改进DDPG算法的无人艇自适应控制[J]. 中国舰船研究, 2024, 19(1): 137–144. CSTR: 32390.14.j.issn.1673-3185.03122
SONG L F, XU C Y, HAO L, et al. Adaptive control of unmanned surface vehicle based on improved DDPG algorithm[J]. Chinese Journal of Ship Research, 2024, 19(1): 137–144 (in Chinese). CSTR: 32390.14.j.issn.1673-3185.03122
Citation: SONG L F, XU C Y, HAO L, et al. Adaptive control of unmanned surface vehicle based on improved DDPG algorithm[J]. Chinese Journal of Ship Research, 2024, 19(1): 137–144 (in Chinese). CSTR: 32390.14.j.issn.1673-3185.03122

基于改进DDPG算法的无人艇自适应控制

基金项目: 国家自然科学基金资助项目(52201379);中央高校基本科研业务费专项资金资助项目(3120622898)
详细信息
    作者简介:

    宋利飞,男,1989年生,博士,副教授。研究方向:智能船舶。E-mail:songlifei@whut.edu.cn

    许传毅,男,1999年生,硕士生。研究方向:无人艇路径跟踪。E-mail:xcywork@whut.edu.cn

    柴威,男,1988年生,博士,教授。研究方向:船舶安全性与可靠性。E-mail:chaiwei@whut.edu.cn

    通讯作者:

    柴威

  • 中图分类号: U664.82;TP242.6

Adaptive control of unmanned surface vehicle based on improved DDPG algorithm

知识共享许可协议
基于改进DDPG算法的无人艇自适应控制宋利飞,采用知识共享署名4.0国际许可协议进行许可。
  • 摘要:
    目的 

    针对水面无人艇(USV)在干扰条件下航行稳定性差的问题,提出一种基于深度强化学习(DRL)算法的智能参数整定方法,以实现对USV在干扰情况下的有效控制。

    方法 

    首先,建立USV动力学模型,结合视线(LOS)法和PID控制器对USV进行航向控制;其次,引入DRL理论,设计智能体环境状态、动作和奖励函数在线调整PID参数;然后,针对深度确定性策略梯度 (DDPG)算法收敛速度慢和训练时容易出现局部最优的情况,提出改进DDPG算法,将原经验池分离为成功经验池和失败经验池;最后,设计自适应批次采样函数,优化经验池回放结构。

    结果 

    仿真实验表明,所改进的算法迅速收敛。同时,在训练后期条件下,基于改进DDPG算法控制器的横向误差和航向角偏差均显著减小,可更快地贴合期望路径后保持更稳定的路径跟踪。

    结论 

    改进后的DDPG算法显著降低了训练时间成本,不仅增强了智能体训练后期的稳态性能,还提高了路径跟踪精度。

    Abstract:
    Objective 

    In order to tackle the issue of the poor navigation stability of unmanned surface vehicles (USVs) under interference conditions, an intelligent control parameter adjustment strategy based on the deep reinforcement learning (DRL) method is proposed.

    Method 

    A dynamic model of a USV combining the line-of-sight (LOS) method and PID navigation controller is established to conduct its navigation control tasks. In view of the time-varying characteristics of PID parameters for course control under interference conditions, the DRL theory is introduced. The environmental state, action and reward functions of the intelligent agent are designed to adjust the PID parameters online. An improved deep deterministic policy gradient (DDPG) algorithm is proposed to increase the convergence speed and address the issue of the occurrence of local optima during the training process. Specifically, the original experience pool is separated into success and failure experience pools, and an adaptive sampling mechanism is designed to optimize the experience pool playback structure.

    Results 

    The simulation results show that the improved algorithm converges rapidly with a slightly improved average return in the later stages of training. Under interference conditions, the lateral errors and heading angle deviations of the controller based on the improved DDPG algorithm are reduced significantly. Path tracking can be maintained more steadily after fitting the desired path faster.

    Conclusion 

    The improved algorithm greatly reduces the cost of training time, enhances the steady-state performance of the agent in the later stages of training and achieves more accurate path tracking.

  • 水面无人艇(unmanned surface vehicle, USV),是海洋环境中无人系统的重要组成部分,在军事、民用和科研等方面具有举足轻重的地位[1-3]。路径跟踪技术是保证USV航行质量的基础。近年来,随着人工智能技术的不断发展,深度强化学习(deep reinforcement learning,DRL)技术得到了广泛应用。强化学习(reinforcement learning,RL)是指智能体与环境不断互动,并根据奖励逐渐学习最优策略的过程[4-7]。借助神经网络强大的特征提取和函数拟合能力,DRL成为机器学习领域的研究热点。目前,DRL方法也被用于USV的控制策略研究。例如,李宝安[8]基于深度确定性策略梯度(deep deterministic policy gradient, DDPG)算法训练神经网络实现了USV的运动控制,相比传统的比例−积分−微分(proportional integral derivative,PID)控制算法,其在稳定性以及抗干扰能力上具有一定优势,但仿真验证仅限于跟踪期望舵角曲线,在风浪干扰的情况下未给出验证结果。Deng等[9]使用RL方法实现了USV的最佳控制行为,并与传统PID算法相比较,验证了该RL算法的可行性。Zhao等[10]设计了一种改进的深度Q网络 (deep Q-network,DQN)结构,将决策网络输出为USV的控制律,降低了路径跟踪系统的复杂度,并通过数值仿真验证了所提方法具有可用性和通用性。祝亢等[11]将DRL技术与引导系统结合,使USV获得所需的航向命令,并将训练完成的控制器与BP-PID控制器进行对比研究,该系统具有偏航误差小、舵角变化频率小等优点。Zhao等[12]通过具有随机制动的改进DRL解决了欠驱动USV形成的路径跟踪问题,验证了RL方法在USV编队控制的优越性。

    目前,将RL应用到USV航向PID控制领域的研究较少。PID控制算法作为经典控制算法,具有结构简单、可靠性高和操作方便等优点,在USV领域得到了广泛应用。但固定参数的PID控制器控制精度差且超调量大,而PID参数整定又是一个复杂的过程,实际应用依赖于人工经验。针对USV航向控制PID参数自整定的研究主要集中于采用群体智能算法或自适应等方式,以目标函数最优为参数优化目标,例如蚁群算法、遗传算法、模糊算法等。这些算法在一定程度上解决了控制参数的寻优问题,但是在未知环境下实时性较差,且存在计算量大、难以适应干扰改变等问题。苑光明等[13]提出了一种利用具有变异特征的蚁群算法优化PID参数来进行USV航向控制的方法,其具有航向控制超调量小、跟踪速度快等优点,但未考虑风浪干扰对控制器影响。Zhang等[14]针对未知时变环境扰动和船舶航向控制参数不确定性的非线性控制问题,设计了一种自适应自调节PID方案,解决了控制参数整定难、设计复杂的问题,很好地抵抗了时变干扰。Liao等[15]设计了一种改进的自适应模糊PID控制方法,解决了USV受机动性、扰动大等因素影响的控制问题,通过实验验证了所提方法的有效性和可行性。

    基于以上分析,运用DRL方法解决PID参数整定问题具有重大意义。本文将提出一种改进DDPG的USV智能参数控制方法,针对模型状态、动作、奖励等方面进行设计,以及考虑DDPG算法累计误差大、训练速度慢的问题,提出一种分离优先经验回放的经验池改进算法,以提升数据的采样效率。此外,还设计自适应采样批次函数,使智能体能够根据自身训练程度将相应批次大小的数据输入智能体评价网络。最后,在干扰情况下,将本文所提方法与经过DDPG算法训练后的智能参数器、文献[16]自适应PID控制器进行仿真对比,以验证改进后的DDPG智能参数器跟踪效果。

    本文中对USV建立水平面三自由度运动模型,如图1所示。

    图  1  USV操纵运动坐标系
    Figure  1.  USV manipulation motion coordinate system

    图1中,u,v,r分别为USV运动的3个自由度上的速度,Uuv的合速度,φ为USV艏向角。由受力分析可以得到USV在水平面上的如下运动方程:

    \left\{\begin{aligned} & m(\dot{u}-vr-x_{\rm{G}}r^2)=\boldsymbol{X} \\ & m(\dot{v}+ur+x_{\rm{G}}r^2)=\boldsymbol{Y} \\ & \boldsymbol{I}_{\text{z}}\dot{r}+mx_G(\dot{v}+ur)=\boldsymbol{N}\end{aligned}\right. (1)

    式中:m为USV实际质量; {x_{\rm{G}} } 为USV重心左、右中线上的纵向坐标; {{\boldsymbol{I}}_{\textit{z}}} 为惯性矩; \boldsymbol{X},\boldsymbol{Y}和\boldsymbol{N} 分别为USV3个自由度的所受的力和力矩分量。

    USV在两坐标系的变换关系如下式所示:

    \left\{ \begin{aligned} & {u\cos \varphi - v\sin \varphi = \dot X} \\ & {u\sin \varphi + v\cos \varphi = \dot Y} \\ & {r = \dot \varphi } \end{aligned}\right. (2)

    式中: \dot{X},\dot{Y} 代表位置导数; \dot \varphi 代表方位角导数。

    作用在USV上的水动力和力矩不仅与其自身几何形状有关,还与其运动特性和流体特性有关。为了进一步简化问题,考虑操舵时间短暂,本文忽略操作过程中推进器转速和舵角的导数 \dot d 因素的作用,则水动力关系式可表示为:

    \left\{\begin{aligned} & \boldsymbol{X}\left(u,v,r,\dot{u},\dot{v},\dot{r},d\right)=\boldsymbol{X} \\ & \boldsymbol{Y}\left(u,v,r,\dot{u},\dot{v},\dot{r},d\right)=\boldsymbol{Y} \\ & \boldsymbol{N}\left(u,v,r,\dot{u},\dot{v},\dot{r},d\right)=\boldsymbol{N}\end{aligned}\right. (3)

    将上式在平衡状态附近作泰勒展开,忽略三阶以上的高阶项,并考虑其综合影响,可得到

    \left\{\begin{aligned} & \left(m-X_{\dot{u}}\right)\dot{u}=\boldsymbol{X} \\ & \left(m-Y_{\dot{v}}\right)\dot{v}+\left(mx_{\rm{G}}-Y_{\dot{r}}\right)\dot{r}=\boldsymbol{Y} \\ & \left(mx_{\rm{G}}-N_{\dot{v}}\right)\dot{v}+\left(I_{\text{z}}-N_{\dot{r}}\right)\dot{r}=\boldsymbol{N}\end{aligned}\right. (4)

    上述公式的水动力系数及参数详见文献[11]。

    视线(LOS)制导法[17]在USV航向控制领域发挥着重要作用。本文定义如下:O−XY为惯性坐标系,OdXdYd为载体坐标系;USV的xy轴速度uv、角速度r、航向角\varphi 、USV与目标航线横向距离ye、目标航线的倾斜角度αk、前视距离Δ、USV舵角d。如图2所示,LOS制导原理是设定一个当前前视目标点(xd , yd)和上一路径点(x0 , y0),并有一定的前视距离Δ,则期望航向角 {\varphi _{\text{d}}} = {\alpha _{\text{k}}} - {\text{ arctan}}\left( {{y_{\text{e}}}/\varDelta } \right) ,航向角与目标航线倾角的偏差为epsi。通过不断地计算航向偏差,LOS法可计算下一时刻USV的期望舵角值,从而不断地实时调整航向。LOS制导法极大程度上简化了控制器输出,降低了控制器设计的复杂程度。

    图  2  LOS原理示意图
    Figure  2.  Schematic diagram of LOS algorithm

    在航向控制领域,针对PID控制器的积分饱和现象,本文使用PD控制USV航向舵角。控制器的输出为USV的舵角,即

    d = {k_{\mathrm{p}}} * {e_{\rm{psi}}} + {k_{\mathrm{d}}} * {e_{{\text{psi\_dot}}}} (5)

    其中,

    {e_{\rm{psi}}} = {\varphi _{\text{d}}} - \varphi ,\;{e_{{\text{psi\_dot}}}} = ({e_{\rm{psi}}} - e_{\rm{psi}}')/t

    式中: e_{\rm{psi}}' 为上一时刻航向角偏差; {e_{{\text{psi\_dot}}}} 为航向偏差变化率。

    本文方法总流程说明如下:首先,由LOS法确定期望航向\varphi _{\mathrm{d}} ,将USV状态信息存入经验池;然后,经神经网络训练由Actor网络输出PD参数;再经控制器计算得到下一步的舵角;最后,由模型得到USV新的航向角及其他状态信息。本文总体控制结构如图3所示。

    图  3  基于DRL的USV控制框图
    Figure  3.  Block diagram of USV control based on DRL

    RL是机器学习的一个重要分支,它主要研究的是智能体如何在环境中采取行动,以最大化其对环境的累积奖励。在这个过程中,智能体与环境不断地交互,通过尝试不同的行为并观察结果,来学习如何采取最优的行动。马尔科夫决策过程(Markov decision process, MDP)是DL中的一个基本概念,一个MDP中由状态空间S、动作决策空间A、初始状态的分布 p\left( {{s_{\text{1}}}} \right) 以及转移模型 p\left( {{{{s}}_{t{\text{ + 1}}}}{\text{| }}{{{s}}_t}{\text{, }}{a_t}} \right) 和奖励函数 r\left( {{s_t}{\text{, }}{a_t}} \right) 组成。在每个时间步内智能体收到一个状态 {s_t} ,并做出动作 {a_t} ,获得奖励 {r_t} 。智能体的行为策略描述为π,其是将状态映射到动作的概率分布。RL的目标是找到一个最优策略 {{\text{π}}^ * } ,使某一状态的回报最大化,即累计回报值 R_t = r_{t+1} + \gamma r_{t+2} + \gamma^2 r_{t+3} + \cdots (其中γ为折扣因子)。动作价值函数广泛的应用在RL算法中,动作价值函数如式(6)所示。通过计算期望值,可以评估在给定状态下执行某一动作的预期回报。

    Q({s_t},{a_t}) = {E_{{s_i} \geqslant t,}}_{{a_i} \geqslant t} ~ {\text{π}}\left[ {{R_t}|{s_t},{a_t}} \right] (6)

    DDPG算法是一种Actor−Critic的DRL方法。策略函数 {\text{π}}(s|{\theta _{\text{a}}}) 和动作价值函数 Q(s,a|{\theta _{\text{c}}}) 是深度神经网络(deep neural networks, DNN),其中 {\theta _{\text{a}}} {\theta _{\text{c}}} 为参数,并采用随机梯度下方法更新参数。

    \begin{split} & \quad\theta_{\text{c}}\leftarrow\theta_{\text{c}}-\alpha_{\text{c}}\frac{1}{N}\sum\limits_{i\in B}^{ }\nabla_{\theta_{\mathrm{c}}}(y_i-Q(s_i,a_i|\theta_{\text{c}}))^2 \\ & \theta_{\text{a}}\leftarrow\theta_{\text{a}}-\alpha_{\text{a}}\frac{1}{N}\sum\limits_{i\in B}^{ }\nabla a_iQ(s_i,a_i|\theta_{\text{c}})\nabla_{\theta_{\mathrm{a}}}\text{π}(s_i|\theta_{\text{a}}) \end{split} (7)

    式中: {\alpha _{\text{c}}} {\alpha _{\text{a}}} 为学习率;N为随机采样样本的数量;B代表经验池; {y_i} 为动作价值估计,并由下式确定:

    {y_i} = {r_i} + \gamma Q'({s_{i + 1}},{\text{π}}'({s_{i + 1}}|{\theta _{{\text{a}}'}})|{\theta _{{\text{c}}'}}) (8)

    式中: {\theta _{{\text{a}}'}} {\theta _{{\text{c}}'}} 是两个目标网络的参数。在DDPG算法中引入目标网络来稳定训练,通过下式更新学习参数:

    \left\{ \begin{aligned} & {\theta _{{\text{c}}'}} = (1 - \tau ){\theta _{{\text{c}}'}} + \tau {\theta _{\text{c}}} \\& {\theta _{{\text{a}}'}} = (1 - \tau ){\theta _{{\text{a}}'}} + \tau {\theta _{\text{a}}} \end{aligned}\right. (9)

    式中, \tau 为目标网络的更新速率。

    DDPG算法的工作结构如图4所示。算法执行过程如下:

    图  4  DDPG算法工作结构
    Figure  4.  DDPG algorithm framework

    1) 由Actor网络生成一组动作at,并加入Ornstein−Uhlenbeck (OU)噪声;

    2) 智能体根据当前动作将下一状态 {s_{t + 1}} 输入到奖励函数中,将 \left( {{s_t}{\text{, }}{a_{{t}}}, r, {s_{t + 1}}} \right) 存入经验池;

    3) 从经验回放缓冲区抽取n个样本,分别将 {s_t}{\text{, }}{s_{t + 1}} 输入到Actor网络,将 \left( {{s_t}{\text{, }}{a_{{t}}}, r, {s_{t + 1}}} \right) 输入到Critic网络迭代更新;

    4) Target−Actor网络接收 {s_t}{\text{, }}{s_{t + 1}} ,将动作a和随机噪声输入到智能体与环境交互,由策略函数根据下一状态计算得到下一个动作 {\mu (s_{t + 1})} ,并输入到Target−Critic网络,然后接收动作值Q,对网络进行更新;

    5) Target−Critic网络接收 {s_{t + 1}} {a_{t + 1}} 并计算Q值,然后将Q值与奖励r结合,计算标签,用于网络的迭代更新。

    因此,本文状态空间可定义为:

    \boldsymbol{S}=[u,v,r,\varphi,e_{\rm{psi}},y_{\mathrm{e}},d,\alpha_{\mathrm{k}},\dot{d},\dot{e}_{\rm{psi}}] (10)

    Actor网络结构如图5所示,其包括一个输入层,两个隐藏层以及一个输出层。输入层维度为12;两个隐藏层的神经元分别为400和300;输出层维度为2。为了更好地挖掘相关特征,防止出现梯度饱和、梯度消失的问题,中间激活函数采用ReLU,输出层激活函数采用Tanh。

    图  5  Actor网络结构
    Figure  5.  Actor network structure

    图6描述了Critic网络结构,该结构包括一个输入层,两个隐藏层及一个输出层。输入层分两个部分:一部分是环境的状态信息,另一部分是Actor网络输出的动作值;两个隐藏层的神经元分别为400和300;输出层维度为1,即状态动作值。

    图  6  Critic网络结构
    Figure  6.  Critic network structure

    本文使用的奖励函数分两个部分,设置如下:

    {r_{\rm{psi}}} = \left\{ \begin{aligned} & 0,&&{e_{\rm{psi}}} \leqslant 0.1 \\ & - {e_{\rm{psi}}} - 0.1{e_{{\mathrm{psi\_last}}}},&&{e_{\rm{psi}}} > 0.1 \end{aligned}\right. (11)
    {r_{{y_{\rm{e}} }}} = \left\{ \begin{aligned} & 0,&&{y_{\rm{e}} } \leqslant 1 \\ & - 0.1,&&{y_{\rm{e}} } > 1 \end{aligned}\right. (12)
    r = {r_{{y_{\rm{e}} }}} + {r_{{\text{psi}}}} (13)

    奖励函数的目的是使目标USV尽快贴合期望轨迹,并控制USV在距离期望轨迹1 m的范围内。针对DDPG算法累计误差较大的问题,本文对Actor网络和Target−Actor网络延迟进行更新,即在对Critic网络更新N次后,再对Actor网络和Target−Actor网络进行更新。

    N = \left\lfloor {1 + \frac{{{N_{\text{a}}}}}{{{N_{\text{m}}}}}} \right\rfloor (14)

    式中,Na表示目前总经验池的数量;Nm表示经验池的最大容量。式(14)表示训练开始时,经验池容量还没有达到最大,N向下取整取为1。在训练初期,大多数经验价值不大,对智能体的学习不利,所以快速存储经验;当经验池的容量达到最大时,则让智能体充分学习经验。

    针对训练速度慢的问题,本文的方法是将经验池分为成功探索经验池和失败探索经验池。同时,为了消除数据之间的相关性,本文设计了自适应批次数量函数,见式(15),即在成功经验池和失败经验池中各自抽取B条经验数据:

    \sigma = 1 + \frac{{{n_{\text{e}}}}}{{{n_{\max }}}} (15)
    B = \left\lfloor {\sigma * n} \right\rfloor (16)

    式中: {n_{\text{e}}} 为训练次数; {n_{\max }} 为设置的总训练次数;σ为倍数;n为原来样本数量。

    仿真基于Python编程语言,在tensorflow框架下执行并验证。在DRL中,每次的奖励值是衡量训练效果的重要指标,图7为改进DDPG算法与DDPG算法训练1500次的奖励回报对比结果。由图7可见,改进后的DDPG算法显著缩减训练时间,且收敛迅速,后期网络表现更稳定。

    图  7  改进DDPG与DDPG算法奖励收敛曲线
    Figure  7.  Reward convergence curve of improved DDPG and DDPG

    上述训练完成后,保存DDPG中使奖励函数达到最大的Actor网络参数,将其应用于轨迹跟踪仿真。本文以要求USV沿着理想的直线路径航行为例,初始航向与该路径平行。为了验证改进DDPG智能参数匹配器抗干扰性和航行稳定性,在横向力和回转力矩允许范围内,同时加入[−0.2×103, 0.2×103]的设计干扰,包括横向干扰力(单位N)和转艏干扰力矩(单位N·m),如图8所示。

    图  8  设计干扰
    Figure  8.  Design interference

    仿真时,预设期望轨迹为点(20, 20)到点(160, 20)的线段。USV从(0, 0)出发,初始航向角为 0^\circ ,初始纵向速度u =1.242 m/s,横向速度为0 m/s,可视距离Δ取两倍船长,Kp范围为[−0.50, 0.50],Kd范围为[−50, 50],最大舵角范围为[−35°, 35°],最大打舵速度为16.667 (°)/s。最大时间步设为1750步,时间步间隔0.1 s。当USV距离终点小于1 m时仿真结束。改进DDPG参数器输出的控制参数如图9所示。

    图  9  KpKd曲线
    Figure  9.  Kp and Kd curves

    将改进DDPG智能参数器与DDPG智能参数器、自适应PID控制器做对比。跟踪轨迹对比曲线如图10所示。USV航行速度、角速度曲线如图11所示。

    图  10  跟踪轨迹曲线对比
    Figure  10.  Comparison of trajectory tracking curve
    图  11  速度和角速度变化曲线对比
    Figure  11.  Comparison of velocity and angular velocity curve

    图10可知,在扰动情况下,3种控制器都较好地完成了轨迹跟踪,但改进后的参数器超调量更小,收敛速度更快,更好地完成了轨迹跟踪。由图11可以看出,与自适应控制器相比,基于DDPG算法的参数器速度量抖动更小,曲线更平滑;与DDPG算法参数器相比,改进后DDPG算法参数器的响应速度相差不大,但跟踪曲线更平滑,整个跟踪控制过程中横向误差相对较小,并且稳态性能得到提升。同时,无论是横向速度量还是转艏角速度量,改进后的参数器波动幅度更小,曲线更平缓。

    USV航向角与期望航向角对比曲线如图12所示,舵角对比曲线如图13所示。USV航行稳定后的平均横向误差和平均航向角偏差如表1所示。

    图  12  航向角变化曲线对比
    Figure  12.  Comparison of heading angle change curves
    图  13  舵角变化曲线对比
    Figure  13.  Comparison of rudder angle change curves
    表  1  两种控制器在扰动情况下误差数据对比表
    Table  1.  Comparison of error data of two controllers in the case of follower disturbance
    控制器 稳定后横向误差
    均值/m
    稳定后航向角偏差
    均值/(°)
    改进DDPG 0.291 0.80
    DDPG 0.425 2.08
    自适应PID[16] 0.997 3.02
    下载: 导出CSV 
    | 显示表格

    图12可知,在干扰情况下,改进DDPG参数器更好地完成了航向角的跟踪,且稳定后的曲线更平滑,抖动较小。当期望航向改变时,改进后的参数器能够以较快的调节速度达到期望航向,并保持稳定的跟踪效果,且稳定后的平均航向角偏差小于1°。由图13可知,当USV受到干扰时,改进的参数器克服了打大舵的问题,稳定后的舵角在0°附近上线波动,最大波动角度不超过6°,且动舵频率也在一个合理的范围之内。

    本文研究了一种USV的自适应航行方法。该方法包括一个基于DDPG算法的智能参数器,在无法精确建模的情况下学习USV动力学,为USV路径跟踪提供适当的PID控制参数,引导抗干扰的操舵行为,实现USV快速、精准路径跟踪。所提方法的创新体现在以下3个方面:

    1) 针对DDPG算法累计误差大的问题,设计自适应延迟更新Actor网络参数的方法,即在Critic网络更新一定次数后再对Actor网络参数进行更新。

    2) 针对DDPG算法训练速度慢,不易收敛的问题,设计自适应批次函数,在训练时自动从成功经验池和失败经验池选取合适批次数据进行训练,从面显著增加了训练速度,同时还增加了训练探索,使参数匹配器更具鲁棒性。

    3) 将DRL方法应用到航向PID参数整定方面。与原DDPG算法相比,航向稳定性控制精度提升了45.7%;与自适应PID控制相比,航向稳定性控制精度提升了73.5%。改进后DDPG算法参数器可以快速保证USV航向稳定,提高了抗干扰能力,使USV路径跟踪的控制效果更优。

    本文所提算法在参数整定上具有一定优势,与PID控制方法结合控制效果更优。鉴于PID控制技术易实现的可能,其发展前景应不止停留在仿真层面,未来还需进一步开展实验验证;鉴于目前其他控制技术的成熟度,未来还应基于性能更强的控制策略设计DRL控制器。

  • 图  1   USV操纵运动坐标系

    Figure  1.   USV manipulation motion coordinate system

    图  2   LOS原理示意图

    Figure  2.   Schematic diagram of LOS algorithm

    图  3   基于DRL的USV控制框图

    Figure  3.   Block diagram of USV control based on DRL

    图  4   DDPG算法工作结构

    Figure  4.   DDPG algorithm framework

    图  5   Actor网络结构

    Figure  5.   Actor network structure

    图  6   Critic网络结构

    Figure  6.   Critic network structure

    图  7   改进DDPG与DDPG算法奖励收敛曲线

    Figure  7.   Reward convergence curve of improved DDPG and DDPG

    图  8   设计干扰

    Figure  8.   Design interference

    图  9   KpKd曲线

    Figure  9.   Kp and Kd curves

    图  10   跟踪轨迹曲线对比

    Figure  10.   Comparison of trajectory tracking curve

    图  11   速度和角速度变化曲线对比

    Figure  11.   Comparison of velocity and angular velocity curve

    图  12   航向角变化曲线对比

    Figure  12.   Comparison of heading angle change curves

    图  13   舵角变化曲线对比

    Figure  13.   Comparison of rudder angle change curves

    表  1   两种控制器在扰动情况下误差数据对比表

    Table  1   Comparison of error data of two controllers in the case of follower disturbance

    控制器 稳定后横向误差
    均值/m
    稳定后航向角偏差
    均值/(°)
    改进DDPG 0.291 0.80
    DDPG 0.425 2.08
    自适应PID[16] 0.997 3.02
    下载: 导出CSV
  • [1] 程烨. 小型无人艇研究现状及关键技术[J]. 中国造船, 2020, 61(增刊1): 241–249. doi: 10.3969/j.issn.1000-4882.2020.z1.029

    CHENG Y. Research status and key technologies of small USV[J]. Shipbuilding of China, 2020, 61(Supp 1): 241–249 (in Chinese). doi: 10.3969/j.issn.1000-4882.2020.z1.029

    [2] 郑华荣, 魏艳, 瞿逢重. 水面无人艇研究现状[J]. 中国造船, 2020, 61(增刊1): 228–240. doi: 10.3969/j.issn.1000-4882.2020.z1.028

    ZHENG H R, WEI Y, QU F Z. Review on recent developments of unmanned marine surface vessels[J]. Shipbuilding of China, 2020, 61(Supp 1): 228–240 (in Chinese). doi: 10.3969/j.issn.1000-4882.2020.z1.028

    [3]

    LIU Z Q, YU L W, XIANG Q, et al. Research on USV trajectory tracking method based on LOS algorithm[C]//Proceedings of the 14th International Symposium on Computational Intelligence and Design (ISCID). Hangzhou, China: IEEE, 2021.

    [4] 刘全, 翟建伟, 章宗长, 等. 深度强化学习综述[J]. 计算机学报, 2018, 41(1): 1–27. doi: 10.11897/SP.J.1016.2019.00001

    LIU Q, ZHAI J W, ZHANG Z Z, et al. A survey on deep reinforcement learning[J]. Chinese Journal of Computers, 2018, 41(1): 1–27 (in Chinese). doi: 10.11897/SP.J.1016.2019.00001

    [5] 何立, 沈亮, 李辉, 等. 强化学习中的策略重用: 研究进展[J]. 系统工程与电子技术, 2022, 44(3): 884–899. doi: 10.12305/j.issn.1001-506X.2022.03.21

    HE L, SHEN L, LI H, et al. Survey on policy reuse in reinforcement learning[J]. Systems Engineering and Electronics, 2022, 44(3): 884–899 (in Chinese). doi: 10.12305/j.issn.1001-506X.2022.03.21

    [6]

    DAOUN D, IBNAT F, ALOM Z, et al. Reinforcement learning: a friendly introduction[C]//The International Conference on Deep Learning, Big Data and Blockchain. Cham: Springer, 2021: 134−146.

    [7]

    HEUILLET A, COUTHOUIS F, DÍAZ-RODRÍGUEZ N. Explainability in deep reinforcement learning[J]. Knowledge-Based Systems, 2021, 214: 106685. doi: 10.1016/j.knosys.2020.106685

    [8] 李宝安. 基于深度强化学习的无人艇控制研究[J]. 中国造船, 2020, 61(增刊1): 14–20. doi: 10.3969/j.issn.1000-4882.2020.z1.003

    LI B A. Research on control of unmanned surface vehicle based on deep reinforcement learning[J]. Shipbuilding of China, 2020, 61(Supp 1): 14–20 (in Chinese). doi: 10.3969/j.issn.1000-4882.2020.z1.003

    [9]

    DENG W N, LI H, WEN Y Q. Data-driven unmanned surface vessel path following control method based on reinforcement learning[C]//2019 Chinese Control and Decision Conference (CCDC). Nanchang, China: IEEE, 2019: 3035−3040.

    [10]

    ZHAO Y J, QI X, MA Y, et al. Path following optimization for an underactuated USV using smoothly-convergent deep reinforcement learning[J]. IEEE Transactions on Intelligent Transportation Systems, 2021, 22(10): 6208–6220. doi: 10.1109/TITS.2020.2989352

    [11] 祝亢, 黄珍, 王绪明. 基于深度强化学习的智能船舶航迹跟踪控制[J]. 中国舰船研究, 2021, 16(1): 105–113. doi: 10.19693/j.issn.1673-3185.01940

    ZHU K, HUANG Z, WANG X M. Tracking control of intelligent ship based on deep reinforcement learning[J]. Chinese Journal of Ship Research, 2021, 16(1): 105–113 (in both Chinese and English). doi: 10.19693/j.issn.1673-3185.01940

    [12]

    ZHAO Y J, MA Y, HU S L. USV formation and path-following control via deep reinforcement learning with random braking[J]. IEEE Transactions on Neural Networks and Learning Systems, 2021, 32(12): 5468–5478. doi: 10.1109/TNNLS.2021.3068762

    [13] 苑光明, 冯国强, 丁承君, 等. 具有变异特征的蚁群优化PID的USV航向控制[J]. 传感器与微系统, 2020, 39(8): 16–19.

    YUAN G M, FENG G Q, DING C J, et al. USV course control by ant colony optimization PID with mutation characteristics[J]. Transducer and Microsystem Technologies, 2020, 39(8): 16–19 (in Chinese).

    [14]

    ZHANG Q, DING Z Y, ZHANG M J. Adaptive self-regulation PID control of course-keeping for ships[J]. Polish Maritime Research, 2020, 27(1): 39–45. doi: 10.2478/pomr-2020-0004

    [15]

    LIAO Y L, JIA Z H, ZHANG W B, et al. Layered berthing method and experiment of unmanned surface vehicle based on multiple constraints analysis[J]. Applied Ocean Research, 2019, 86: 47–60. doi: 10.1016/j.apor.2019.02.003

    [16]

    ASFIHANI T, ARIF D K, SUBCHAN, et al. Comparison of LQG and adaptive PID controller for USV heading control[J]. Journal of Physics:Conference Series, 2019, 1218(1): 012058. doi: 10.1088/1742-6596/1218/1/012058

    [17] 袁鹏, 徐泓燊, 张雪飞, 等. 基于速度选择切换型视线法的无人帆船循迹航行[J]. 中国舰船研究, 2020, 15(1): 31–37. doi: 10.19693/j.issn.1673-3185.01664

    YUAN P, XU H S, ZHANG X F, et al. Unmanned sailing boat path tracking control based on speed selection switching LOS method[J]. Chinese Journal of Ship Research, 2020, 15(1): 31–37 (in both Chinese and English). doi: 10.19693/j.issn.1673-3185.01664

  • 期刊类型引用(3)

    1. 辛增淼,万思成,高永锹,王天雷,郝晓曦,邱光繁. 基于DDPG算法的桥式吊车自适应防摆控制. 五邑大学学报(自然科学版). 2025(01): 24-30 . 百度学术
    2. 关巍,郝淑慧,崔哲闻,王淼淼. 基于改进DDPG算法的无人船自主避碰决策方法. 中国舰船研究. 2025(01): 172-180 . 本站查看
    3. 秦雷洪,张松涛,南晓峰,钟齐鸣. 基于深度强化学习的双体船姿态控制. 中国舰船研究. 2024(06): 219-227 . 本站查看

    其他类型引用(1)

图(13)  /  表(1)
计量
  • 文章访问数:  791
  • HTML全文浏览量:  92
  • PDF下载量:  139
  • 被引次数: 4
出版历程
  • 收稿日期:  2022-10-10
  • 修回日期:  2022-11-10
  • 网络出版日期:  2022-11-20
  • 发布日期:  2023-06-05
  • 刊出日期:  2024-02-27

目录

/

返回文章
返回