2. 中国科学院机器人与智能制造创新研究院,辽宁 沈阳 110169;
3. 辽宁省水下机器人重点实验室,辽宁 沈阳 110169;
4. 中国科学院大学,北京 100049
2. Institutes for Robotics and Intelligent Manufacturing, Chinese Academy of Sciences, Shenyang 110169,China;
3. Key Laboratory of Marine Robotics in Liaoning Province, Shenyang 110169, China;
4. University of Chinese Academy of Sciences, Beijing 100049, China
自主水下机器人(Autonomous Underwater Vehicle,AUV)在海洋环境观测、海洋资源探查、海底地形测绘等民用方面发挥着重要的作用,同时,在水下目标探测、反雷战等军事应用方面也扮演着重要的角色[1]。自主性和智能性是AUV 最主要和最根本的2个特征[2]。高智能化AUV 能够完成更复杂的任务,具备更广泛的作业范围以及更高的任务可靠性[3]。作为非线性系统最优控制问题的一种解决方案,基于强化学习的控制器已在无人机、水下机器人等多种机器人控制任务中实现应用[4]。与传统控制器相比,强化学习主要有2个优势:1)不依赖系统的模型,依靠交互过程中的试错数据使控制器模型收敛,无需对系统进行精确建模;2)可以通过调节奖励函数生成特定性能指标下的最优控制策略。
近年来,国内外针对基于强化学习的AUV控制方法开展了一定的研究。Wu等[5-6]基于确定性策略梯度策略算法(DPG)构建了AUV深度控制器,并提出优先经验重放机制提高模型训练的收敛性。仿真实验结果表明,该控制器的控制性能可以与基于模型的控制方法相媲美。Huo等[7]在DPG的基础上引入了递归神经网络,允许AUV从历史状态中获取信息,在水平面轨迹跟踪任务中实现了更好的控制精度。Wu[8]提出一个端到端的学习架构,跳过AUV的动力学模型,直接将原始的传感器输入映射到控制输出,并在声学避障和光学视觉管道跟踪任务中验证了算法的有效性。AUV 本身是一个高度非线性、强耦合性和时变性系统[9],仿真环境的动力学模型与真实水下环境存在不可忽视的差异,例如真实环境中存在的海流固定干扰和海底暗涌的瞬间干扰。大多数基于强化学习的AUV控制器仅在理想的仿真环境中进行训练,并未考虑控制器的抗干扰能力。为了提升强化学习控制器对环境干扰的鲁棒性,许多学者在训练时采用域随机化[10]方法添加扰动,或者使用交互历史序列生成上下文信息[11],并将其作为状态变量的一部分来使控制策略具备适应环境的能力。Peng等[12]提出在每轮训练的开始随机选择95个与机器人本身和环境动力学相关的动力学参数:连杆质量、关节阻尼、冰球质量、桌子的高度等等;Yu等[13]提出使用最近的交互历史辨识模型参数,并将辨识结果和当前状态一起作为控制策略的输入。目前,这些先进的方法暂时没有在AUV控制领域得到应用。
本文采用一种基于上下文感知的强化学习AUV控制器,通过将上下文信息作为策略输入的一部分,并在训练过程中引入域随机化方法,从而提升强化学习控制器的抗干扰能力。首先将深度跟踪任务建模为强化学习问题,其次设计基于上下文信息的强化学习控制器,最后通过仿真实验证明本文所提算法的有效性。
1 系统建模及分析 1.1 建立坐标系为了研究AUV的运动特性,首先定义2个坐标系,即惯性坐标系
根据文献[14],将AUV的六自由度动力学方程和运动学方程表示为:
$ {\boldsymbol{M}}\dot v + {\boldsymbol{C}}(v)v + {\boldsymbol{D}}(v)v + g(\eta ) = \tau + {\tau _E} ,$ | (1) |
$ \dot \eta = {\boldsymbol{J}}(\eta )v 。$ | (2) |
式中:
$ {\boldsymbol{J}}(\eta ) = \left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{J}}_1}(\eta )}&{{0_{3 \times 3}}} \\ {{0_{3 \times 3}}}&{{{\boldsymbol{J}}_2}(\eta )} \end{array}} \right]。$ | (3) |
其中,
$\begin{split} {{\boldsymbol{J}}_1}(\eta ) = & \left[ \begin{array}{*{20}{c}} {\cos \psi \cos \theta }&{ - \sin \psi \cos \phi + \cos \psi \sin \theta \sin \phi }\\ {\sin \psi \cos \theta }&{\cos \psi \cos \phi + \sin \psi \sin \theta \sin \phi } \\ { - \sin \theta }&{\cos \theta \sin \phi } \end{array} \right.\\ &\left.\begin{array}{c} {\sin \psi \sin \phi + \cos \psi \sin \theta \cos \phi } \\ { - \cos \psi \sin \phi + \sin \psi \sin \theta \cos \phi }\\ {\cos \theta \cos \phi } \end{array}\right],\end{split} $ | (4) |
$ {{\boldsymbol{J}}_2}(\eta ) = \left[ {\begin{array}{*{20}{c}} 1&{\sin \phi \tan \theta }&{\cos \phi \tan \theta } \\ 0&{\cos \phi }&{ - \sin \phi } \\ 0&{\sin \phi /\cos \theta }&{\cos \phi /\cos \theta } \end{array}} \right]。$ | (5) |
强化学习是一种通过与环境的交互进行策略优化以获取最大回报的机器学习方法。其基本过程[15]可以描述为:Agent在时刻t感知到当前的环境状态
马尔科夫决策过程是描述强化学习问题的基本框架,可以由一个五元组来表示{
$ \mathop {\max }\limits_\theta J(\theta ) = \mathop {\max }\limits_\theta {E_{\tau \sim {\pi _\theta }}}R(\tau ) = \mathop {\max }\limits_\theta \sum\limits_\tau {P(\tau |\theta )} R(\tau ) 。$ | (6) |
式中:
与神经网络的优化思路相同,策略梯度算法通过计算目标函数对参数
$ {\nabla _\theta }J(\theta ) = {E_{\tau \sim {\pi _\theta }}}{\nabla _\theta }\log P(\tau |\theta )R(\tau ),$ | (7) |
为了对策略的优化进行量化,从而保证每次的更新具有一定优化作用,通常使用优势函数
$ {\nabla _\theta }J(\theta ) = {E_{\tau \sim {\pi _\theta }}}\left[\sum\limits_{t = 0}^T {{\nabla _\theta }\log {\pi _\theta }({a_t}|{s_t}){A_t}({s_t},{a_t})} \right] 。$ | (8) |
策略梯度算法的参数更新公式为:
$ {\theta _{k + 1}} = {\theta _k} + \alpha {\nabla _\theta }J({\pi _{{\theta _k}}}) 。$ | (9) |
近端策略优化[16](Proximal Policy Optimization, PPO)是一种通过限制新旧策略之间的差异避免更新步幅过大,确保策略优化时性能稳定提升的策略梯度算法。PPO-clip通过对目标函数进行剪枝操作来控制新旧策略之间的差异,其优化目标为:
$ L(\theta ) = E[\min ({r_t}(\theta ){A_t},clip({r_t}(\theta ),1 - \varepsilon ,1 + \varepsilon ){A_t})] 。$ | (10) |
式中:
$ {r_t}(\theta ) = \frac{{{{\text{π}} _\theta }({a_t}|{s_t})}}{{{{\text{π}} _{{\theta _{\text{old}}}}}({a_t}|{s_t})}}。$ | (11) |
$ clip({r_t}(\theta ),1 - \varepsilon ,1 + \varepsilon ) = \left\{ {\begin{array}{l} {1 + \varepsilon ,{\text{ }}{r_t}(\theta ) \geqslant 1 + \varepsilon } ,\\ {\begin{array}{l} {1 - \varepsilon ,{\text{ }}{r_t}(\theta ) \leqslant 1 - \varepsilon } ,\\ {{r_t}(\theta ),{\text{else}}} 。\end{array}} \end{array}} \right. $ | (12) |
当
本文以深度控制任务为背景,使用框架式AUV[17]作为实验模型。此AUV采用矢量推进模式,通过8个推进器在六自由度中产生力和力矩:
$ \tau = {\boldsymbol{T}}F。$ | (13) |
式中:
此实验模型在横滚和俯仰自由度上具有本质稳定性[18],在横滚和俯仰上的跟踪控制可以忽略,即
控制系统基于PPO-clip算法实现端到端的深度跟踪控制,如图3所示。其中
在深度跟踪任务中,一般采用绝对深度或者相对深度作为状态量。如果采用绝对深度,假设控制器已经学习了在某一个深度范围
为了更好的应对环境中的扰动,本文利用交互历史构建上下文信息作为环境特性的表征,并将其作为状态输入的一部分。
$ contex{t_t} = \{ \Delta {z_{t - N}},{w_{t - N}},{u_{t - N}}...\Delta {z_{t - 1}},{w_{t - 1}},{u_{t - 1}}\}。$ | (14) |
式中:
$ {s_t} = \{ contex{t_t},\Delta {z_t},{w_t}\} 。$ | (15) |
式中:
根据3.1节分析,控制策略的动作空间为一维连续空间
深度跟踪任务的目标是控制AUV在运动过程中保持与期望深度的相对误差为0。在海底跟踪、移动目标物跟踪等任务中,AUV无法获知目标深度变化趋势,也就无法通过计算期望俯仰角进行控制。为了使算法更具普适性,本文仅使用相对深度差构建一步奖励函数:
$ {r_t} = - |\Delta {z_{t + 1}}| 。$ | (16) |
式中:
为了提升强化学习控制器的抗扰性,本文在训练过程中采用域随机化方法。域随机化可以看作是一种正则化方法,通过在训练环境中添加随机扰动来防止控制器过度拟合单一的模拟环境。结合3.1节的分析,在深度控制任务背景下,本文将扰动定义为
$ {\tau _E} = [0,0,{F_H},0,0,0]' 。$ | (17) |
式中:
控制策略训练期间,每个回合开始时模拟环境采样随机大小的
本文使用Python 与Matlab进行联合仿真实验,通过Socket 通信方式实现Python 算法程序与Matlab 仿真模型的数据交换。模拟环境采用由von等[20]实现的基于Simulink的水下机器人模拟器,系统步长设置为0.1 s。强化学习控制算法基于Python语言编写,使用Pytorch库[21]实现控制算法。在每个回合中,AUV初始深度设置为0 m,环境干扰力
PPO-clip算法基于Actor-Critic框架,包含做出决策的Actor网络和评价状态价值的Critic网络。其中Actor网络有3个隐藏层,每个隐藏层的神经元个数是64 个,激活函数为tanh 函数。输入层神经元个数为
为了验证本文所提出算法对环境干扰的鲁棒性,将训练至收敛的控制策略分别在海流干扰、暗涌干扰和海流加暗涌干扰的模拟环境下进行了对比测试。
海流是水下机器人常遇到的扰动,变化及其缓慢,在仿真过程中常把海流作为稳定的定常干扰[22]。以深度跟踪任务为例,AUV初始深度为0 m,目标深度为1 m,AUV需要下降到目标深度并进行深度保持。在海流干扰环境中,AUV在
图中Desired depth为期望深度;Proposed method为本文提出的方法;Baseline为对照实验组,即不使用上下文,仅以当前相对深度差和垂向速度作为输入,在单一无干扰模拟环境中进行训练的控制器。在测试环境中,AUV持续受到海流的定常干扰,AUV与期望深度的相对误差达到特定值时,Baseline输出的控制量与海流干扰力相同,此时AUV的深度保持不变,因此Baseline在海流干扰环境下出现明显的稳态误差。相比之下,本文提出的方法经过短暂的超调后恢复到期望深度,在海流干扰环境中进行了更准确的深度跟踪。
深水区中,对于AUV的垂直运动面,海流的影响较弱,主要干扰情况为暗涌的瞬时干扰[23]。保持跟踪任务的基本设置不变,在Time=60时添加幅值为25 N的阶跃干扰,AUV深度变化曲线如图6所示。可知,Baseline在受到暗涌干扰时产生了较大的振荡,并在之后的跟踪过程中有较大的稳态误差;本文提出的方法经过微小振荡之后迅速适应环境变化,平滑的处理了暗涌干扰。
图7为海流和暗涌共同干扰下的AUV深度变化曲线。在此环境中,AUV持续受到大小为15 N的恒值干扰,并在Time=100时受到幅值为−20 N的阶跃干扰。从图7中,可以得出与上文相同的结论。
为了确定窗口大小
$ L = \sum\limits_{t = 0}^T {{r_t}} = \sum\limits_{t = 0}^T { - |\Delta {z_{t + 1}}|} 。$ | (18) |
图8为性能分布的箱线图。可知,窗口大小从1到4的过程中,性能均值逐渐升高。窗口大小从4逐渐增大时,性能均值逐渐减小,并且方差总体呈逐渐增大的趋势。因此本文选定最佳窗口大小为4。原因在于如果窗口过小,策略无法获得足够的上下文信息来辨别环境干扰;如果窗口过大,状态输入中包含无用的过于久远的历史信息,导致策略性能快速下降。
本文针对基于强化学习的AUV控制器的抗干扰问题,以深度跟踪任务为例,设计了基于PPO-clip算法的AUV深度控制器。通过在状态变量中引入上下文信息,并在训练过程中使用域随机化方法来增强控制器对环境干扰的鲁棒性。仿真实验结果对比验证了本文提出的方法可以有效提升端到端强化学习控制器的抗干扰能力,在海流、暗涌等常见的带干扰水下环境中更准确地完成跟踪任务。
[1] |
康帅, 俞建成, 张进. 微小型自主水下机器人研究现状[J]. 机器人, 2023, 45(2): 218−237. KANG Shuai, YU Jiancheng, ZHANG Jin. Research status of micro autonomous underwater vehicle[J]. Robot, 2023, 45(2): 218−237. |
[2] |
黄琰, 李岩, 俞建成, 等. AUV智能化现状与发展趋势[J]. 机器人, 2020, 42(2): 215−231. HUANG Yan, LI Yan, YU Jiancheng, et al. State-of-the-art and development trends of AUV intelligence[J]. Robot, 2020, 42(2): 215−231. |
[3] |
侯海平, 付春龙, 赵楠, 等. 智能自主式水下航行器技术发展研究[J]. 舰船科学技术, 2022, 44(1): 86-90. HOU Haiping, FU Chunlong, ZHAO Nan, et al. Research on technology development of the intelligent AUV[J]. Ship Science and Technology, 2022, 44(1): 86-90. DOI:10.3404/j.issn.1672-7649.2022.01.017 |
[4] |
许雅筑, 武辉, 游科友, 等. 强化学习方法在自主水下机器人控制任务中的应用[J]. 中国科学:信息科学, 2020, 50(12): 1798-1816. XU Yazhu, WU Hui, YOU Keyou, et al. A selected review of reinforcement learning-based control for autonomous underwater vehicles[J]. Scientia Sinica Informationis, 2020, 50(12): 1798-1816. DOI:10.1360/SSI-2020-0065 |
[5] |
WU H, SONG S, YOU K, et al. Depth control of model-free AUVs via reinforcement learning[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2019, 49(12): 2499−2510.
|
[6] |
SILVER D, LEVER G, HEESS N, et al. Deterministic policy gradient algorithms[C]//Proceedings of the 31st International Conference on Machine Learning. PMLR, 2014: 387−395.
|
[7] |
HUO Y, LI Y, FENG X. Model-free recurrent reinforcement learning for AUV horizontal control[J]. IOP Conference Series:Materials Science and Engineering, 2018, 428(1): 012063. |
[8] |
WU H, SONG S, HSU Y, et al. End-to-end sensorimotor control problems of AUVs with deep reinforcement learning[C]//2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). 2019: 5869−5874.
|
[9] |
吴子明, 杨柯, 唐杨周, 等. 基于反步滑模控制的欠驱动AUV定深运动研究[J]. 舰船科学技术, 2023, 45(1): 114-119. WU Ziming, YANG Ke, TANG Yangzhou, et al. Research on underactuated AUV depth motion based on backstepping sliding mode control[J]. Ship Science and Technology, 2023, 45(1): 114-119. DOI:10.3404/j.issn.1672-7649.2023.01.020 |
[10] |
MURATORE F, RAMOS F, TURK G, et al. Robot Learning From Randomized Simulations: A Review[J]. Frontiers in Robotics and AI, 2022, 9[2023-06-29].
|
[11] |
LEE K, SEO Y, LEE S, et al. Context-aware dynamics model for generalization in model-based reinforcement learning[C]//Proceedings of the 37th International Conference on Machine Learning. PMLR, 2020: 5757−5766.
|
[12] |
PENG X B, ANDRYCHOWICZ M, ZAREMBA W, et al. Sim-to-real transfer of robotic control with dynamics randomization[C]//2018 IEEE International Conference on Robotics and Automation (ICRA). 2018: 3803−3810.
|
[13] |
YU W, TAN J, LIU C K, et al. Preparing for the unknown: learning a universal policy with online system identification[DB/OL]. arXiv, 2017[2023-07-10]. http://arxiv.org/abs/1702.02453.
|
[14] |
FOSSEN T I. Marine control systems – guidance. navigation, and control of ships, rigs and underwater vehicles[J/OL]. Marine Cybernetics, Trondheim, Norway, Org. Number NO 985 195 005 MVA, www. marinecybernetics. com, ISBN: 82 92356 00 2, 2002[2023-06-07].
|
[15] |
封佳祥, 江坤颐, 周彬, 等. 多任务约束条件下基于强化学习的水面无人艇路径规划算法[J]. 舰船科学技术, 2019, 41(23): 140-146. FENG Jiaxiang, JIANG Kunyi, ZHOU Bin, et al. Path planning for USV based on reinforcement learning with multi-task constraints[J]. Ship Science and Technology, 2019, 41(23): 140-146. DOI:10.3404/j.issn.1672-7649.2019.12.028 |
[16] |
SCHULMAN J, WOLSKI F, DHARIWAL P, et al. Proximal policy optimization algorithms[DB/OL]. arXiv, 2017[2023-06-27]. http://arxiv.org/abs/1707.06347.
|
[17] |
PURCELL N. 6-DoF modelling and control of a remotely operated vehicle[EB/OL]//Blue Robotics. (2022-08-11)[2023-06-12].https://bluerobotics.com/6-dof-modelling-and-control-of-a-remotely-operated-vehicle/.
|
[18] |
GAO J, YANG X, LUO X, et al. Tracking control of an autonomous underwater vehicle under time delay[C]//2018 Chinese Automation Congress (CAC). 2018: 907−912.
|
[19] |
VON BENZON M, SØRENSEN F F, UTH E, et al. An open-source benchmark simulator: control of a blueROV2 underwater robot[J]. Journal of Marine Science and Engineering, 2022, 10(12): 1898. DOI:10.3390/jmse10121898 |
[20] |
PASZKE A, GROSS S, MASSA F, et al. PyTorch: An imperative style, high-performance deep learning library[C]//Advances in Neural Information Processing Systems: rol 32. Curran Associates, Inc. , 2019.
|
[21] |
张峥峥. 基于改进型自抗扰控制的水下机器人运动控制系统研究[D]. 芜湖: 安徽工程大学, 2021.
|
[22] |
万磊, 张英浩, 孙玉山, 等. 复杂环境下的欠驱动智能水下机器人定深跟踪控制[J]. 上海交通大学学报, 2015, 49(12): 1849-1854. |
[23] |
WAN L, SUN Y H, SUN Y S, et al. Depth control of underactuatedAUV under complex environment[J]. Journal of Shanghai Jiao Tong University, 2021[2023-06-29].
|