2. 上海爱谱华顿电子科技(集团)有限公司, 上海 201316;
3. 上海立达学院 数字科学学院,上海 201609
2. Shanghai Aipu-Waton Electronic Technology (Group) Co., Ltd., Shanghai 201316, China;
3. Digital Science Colloge, Shanghai Lida University, Shanghai 201609, China
水面无人艇可部署在载人艇无法接受的水域,执行自主规划与航行等全自动化任务。而自治学习是水面无人艇自主规划与航行的前提与保障,其能力将直接影响无人艇自主航行时的安全和效率。
在国外,无人艇的研究起步较早,出现了很多优秀的自治学习算法。如传统算法:Dijkstra、A*、模拟退火与人工势场等;以及一些仿生学算法:如蚁群、遗传、粒子群优化等。近年来,由于强化学习(RL)[1]的突破性发展,无人艇的自治学习取得里程碑式进步。其智能体(Agent)在选择动作
为此,本文提出无人艇自治学习的APF-DDPG算法。该算法利用人工势场等改进复合奖惩函数设计,优化经验池方案和随机采样策略,添加高斯噪声提高探索性,以及修改神经网络模型等;以适应连续动作,并提高其稳定与收敛性能等。
1 仿真环境与模型的搭建 1.1 仿真环境建模这里选取舟山群岛附近的实际环境,采用栅格法表达地图环境。基于Python中的CV模块,通过Python语言,利用阈值法实现图像二值化,以解决动作离散与真实环境匹配度低等问题。即利用图像中水域与岸基、障碍物、航行船艇等之间的差异,将整个图像设置为0和1两个不同级别;通过对每个像素点数值的判断,选取合理阈值,使用阈值类算法中的OTSU最大类间方差法,划分每一个像素点是水域还是障碍物,来获得二值化的图像。
当部分水域被错分为不可航行区域,或部分不可航行区域被错分成水域,则会导致这水域与不可航行区域间的方差变小。所以此算法只需保证合理的阈值划分,使得方差最大,则仿真环境被错分的概率最小。图1所示为本次实验所选的卫星地图与二值化仿真图。
|
图 1 仿真环境图 Fig. 1 Simulation environment diagram |
根据所建立的环境模型,利用其坐标以及无人艇的偏航角来建立状态空间,如图2所示。无人艇在地图中某一点的状态可表示为[15]:
|
图 2 环境状态空间示意图 Fig. 2 Schematic diagram of environmental state space |
| $ {s}_{t}=({x}_{t},{y}_{t},{\theta }_{t})。$ | (1) |
式中:
这里对连续动作空间进行设计,如图3所示。基于世界坐标系下的方向角和运动线速度,在初始位置的基础上,用航迹推算无人艇当前的位置,推导如下[15]:
|
图 3 航迹计算原理图 Fig. 3 Schematic diagram of trajectory calculation |
| $ {X}\left({t}\right)={X}\left(0\right)+\sum _{i=0}^{t-1}{d}_{i}\cdot {\cos} ({\theta }_{i}),$ | (2) |
| $ {Y}\left({t}\right)={Y}\left(0\right)+\sum_{i=0}^{t-1}{d}_{i}\cdot {\sin} ({\theta }_{i}),$ | (3) |
| $ {\theta }_{t}={\theta }_{0}+\sum_{i=0}^{t-1}\Delta {\theta }_{i}。$ | (4) |
式中:X(0)、Y(0)、X(t)、Y(t)分别为无人艇初始和t时刻的横、纵坐标;
DDPG算法的结构和原理如图4所示。其将AC算法中的Actor和Critic网络,参考DQN,都复制并设计为在线的Online网络和目标的Target网络,使得动作选择策略、Q值函数的计算以及神经网络参数更新等,分开进行,提高稳定性和收敛性。其中:1)Online Actor网络,根据当前状态s选取动作a,与环境交互产生奖励r,同时利用策略梯度更新其网络权值
|
图 4 DDPG算法完整框架及其参数更新方式 Fig. 4 The complete framework of DDPG algorithm and its parameter update method |
Online Actor网络的参数
| $ \left\{\begin{aligned} &{\theta }^{Q\mathrm{\text{`}}}\leftarrow \tau {\theta }^{Q}+(1-\tau ){\theta }^{Q\mathrm{'}},\\ & {\theta }^{\mu \mathrm{\text{`}}}\leftarrow \tau {\theta }^{\mu }+(1-\tau ){\theta }^{\mu \mathrm{{'}}}。\end{aligned}\right. $ | (5) |
式中:
仿真实验平台采用Pycharm为集成环境,语言为Python3.6,利用Pytorch搭建神经网络模型,并基于12×12的海域二值地图,建立二维直角坐标系,左下角为
|
|
表 1 DDPG算法部分模型超参数表 Tab.1 Hyperparameter table of DDPG algorithm models |
如图5所示:1)Q学习的最终路径虽可到达目标终点,但由于动作不连续,路径只能由无人艇8个方向的运动得到;2)DDPG的最终路径从起点绕过障碍物并到达目标终点,由于动作连续,曲线光滑,路程也更短。
|
图 5 DDPG与Q学习的路径对比图 Fig. 5 Path comparison between DDPG and Q learning |
但实验中也发现DDPG算法易陷入局部最优解,如图6所示:路径规划中的平均奖励;前2次在80千次迭代后才趋向于收敛,寻路步数过多;第3次测试没有收敛,收敛和稳定性较差。
|
图 6 DDPG三次平均奖励的分析图 Fig. 6 Analysis chart of three average rewards for DDPG |
图7表示DDPG算法实验的损失函数对比。其中,图7(a)为Actor网络损失函数,前2次趋于收敛,但第3次的损失函数线条居高不下,对应上图6中Mean Reward一直没上升,表示此次实验无人艇未找到终点;图7(b)为Critic网络的损失函数,同样前2次趋于收敛,第3次的线条处于上方。同时,图7(a)与图7(b)中其他线条的损失函数虽趋于收敛,但收敛过程和效果不佳。
|
图 7 DDPG三次实验的损失分析图 Fig. 7 Loss analysis chart of DDPG three experiments |
实际工程中,对地图自由空间中的每个点,都相对于目标终点计算出欧氏距离的方平,并乘上一个引力系数
| $ {U}_{\mathrm{att}}\left(q\right)=\frac{1}{2}\xi {d}^{2}(q,{q}_{\mathrm{goal}})。$ | (6) |
式中:
此外,还需一个让无人艇懂得避开地图中障碍物的斥力势场
| $ {U}_{{\mathrm{rep}}}\left(q\right)=\left\{\begin{aligned} &\frac{1}{2}\eta {\left(\frac{1}{D\left(q\right)}-\frac{1}{{Q}^{\mathrm{*}}}\right)}^{2},D\left(q\right)\leqslant {Q}^{\mathrm{*}},\\ &0,D(q)> {Q}^{\mathrm{*}}。\end{aligned}\right. $ | (7) |
式中:
无人艇在势场中的自治学习,仍需梯度下降法来寻找最优点。用Matlab建立其梯度,如图8所示,各个小箭头代表无人艇当前位置的梯度大小和方向。越靠近终点的梯度越小,靠近障碍物的梯度则呈排斥趋势,且越靠近障碍物排斥力越大。
|
图 8 人工势场梯度显示图 Fig. 8 Artificial potential field gradient display map |
本节吸收人工势场叠加寻路的思想,设计DDPG算法的奖惩函数
| $ {Reward}1=-{\varepsilon }_{1}\cdot\mathrm{d}\left({q},{q}_{\mathrm{goal}}\right)+{\varepsilon }_{2}{\sum }_{k}d\left(q,{q}_{\mathrm{obs}}\left(k\right)\right), $ | (8) |
| $ {{d}\left( {q},{q}_{\mathrm{obs}}\left(k\right)\right)=\left\{\begin{aligned} &d\left(q,{q}_{\mathrm{obs}}\left(k\right)\right)-f,\\ &ifd(q,{q}_{\mathrm{obs}}\left(k\right))< f-\delta ,\\ &{\dfrac{3}{{\delta }^{2}}(d\left(q,{q}_{\mathrm{obs}}\left(k\right)\right)-f^{3})}-{\frac{2}{\delta }(d\left(q,{q}_{\mathrm{obs}}\left(k\right)\right)-f^{2})},\\ &iff-\delta \leqslant d\left(q,{q}_{\mathrm{obs}}\left(k\right)\right)< f,\\& 0,\mathrm{else}。\end{aligned} \right.}$ | (9) |
其中:
同时考虑无人艇到达终点以及触碰障碍物或超出地图范围,给予高奖励与高惩罚,并设置
| $ {Reward}2=\left\{\begin{aligned} &100, \;d(q,{q}_{\mathrm{goal}})< goal\_ \min,\\ & -100,\;flag\_ validity=\mathrm{False}。\\ \end{aligned}\right. $ | (10) |
式中:goal_min为终点的有效范围;
为让算法的路径尽可能最优,还需设置步数惩罚,每走一步给予一定的惩罚;同时为让路线尽可能平滑,对方向角偏移也给予一定的惩罚,如下式
| $ {Reward}3=\left\{\begin{aligned} &Reward-{\varepsilon }_{3},\\ &Reward-{\varepsilon }_{4}angle。\end{aligned}\right. $ | (11) |
式中:
本研究还将经验池优化方案和随机采样策略引入DDPG算法中。Online Critic网络在评价动作时,需对损失函数进行计算,定义如下均方误差
| $ L=\frac{1}{N}\sum \limits_{i}({y}_{i}-Q{({{s}_{i}},{{a}_{i}}|{{\theta }^{Q}}))}^{2}。$ | (12) |
式中:
| $ {y}_{i}={r}_{i}+\gamma Q\mathrm{'}({s}_{i+1},\mu \mathrm{'}({s}_{i+1}|{\theta }^{{{\mu }^{\mathrm{'}}}})|{\theta }^{Q\mathrm{'}})。$ | (13) |
式中:
| $ {{\nabla }_{\theta \mu }{J}_{\beta }(\mu )\approx {E}_{S\sim {{\rho }^{\beta }}}\left[{{{\nabla }_{a}}Q\left(s,a|{\theta }^{Q}\right)|}_{a=\mu (s)}\cdot {\nabla }_{\theta \mu }\mu (s|{\theta }^{\mu })\right]。} $ | (14) |
式中:
当从经验池中随机采样小批量转换状态数据时,根据蒙特-卡罗方法,将这些数据代入式(14),策略梯度
| $ {{\nabla }_{\theta \mu }{J}_{\beta }(\mu )\approx \frac{1}{N}\sum \limits_{i}{{{(\nabla }_{a}}Q\left(s,a|{\theta }^{Q}\right)|}_{s={{s}_{i}},a=\mu ({{s}_{i}})}{\cdot {{\nabla }_{\theta \mu }}\mu (s|{{\theta }^{\mu }})|}_{s={{s}_{i}}}。} $ | (15) |
但随机抽样若不考虑数据质量,就会导致很多无效数据被多次训练,降低DDPG算法的效率。因此,利用TD算法中的时序差分误差(TD-error)对经验池中各样本数据进行重要程度的评估,这里的TD-error就是估计Q值与目标Q值的差值。利用TD-error对各个经验数据设置采样概率
| $ {p}_{i}\propto \left| TD-error\right| +\varepsilon 。$ | (16) |
式中:
DDPG算法作为确定性策略,直接输出动作可提高算法效率,但也导致探索性不足。所以在无人艇的动作选择中加入噪声。这里利用Online Actor网络,在策略
| $ {a}_{t}=\mu \left({s}_{t}|{\theta }^{\mu }\right)+{n}_{t}。$ | (17) |
通过引入Uhlenbeck-Ornstein随机过程的离散化形式作为随机噪声
| $ {n}_{t}=\left(1-\tau \right){n}_{t-1}+\sigma {\varepsilon }_{t-1}。$ | (18) |
式中:
在DDPG算法的神经网络结构基础上,本节对APF-DDPG算法的神经网络结构也进行修改:1)修改输入层,添加目标在无人艇自身坐标系下的变量;2)加深隐藏层,起到更好的拟合作用。如图9所示。
|
图 9 APF-DDPG神经网络结构图 Fig. 9 APF-DDPG neural network structure diagram |
在Actor输入层,输入状态和终点坐标;在Critic输入层,输入状态、动作和终点坐标。后面都使用FC1~FC4四个全连接层进行参数拟合,神经元个数分别为128、64、32、64,之后进行算术和运算。并加深了神经网络的层数,设置FC5~FC8等4个全连接层进行函数拟合;Actor网络神经元个数分别为128、128、128、2,用于输出二维动作参数;其FC1、FC3、FC5、FC6、FC7使用ReLU激活函数,FC2、FC4为线性输出,FC8则使用Tanh激活函数;Critic网络神经元个数分别为128、128、128、1,用于输出Q值函数;FC1、FC3、FC5、FC6、FC7、FC8均使用ReLU激活函数,FC2、FC4则为线性输出。
APF-DDPG算法的超参数设置如表2所示。
|
|
表 2 APF-DDPG算法超参数列表 Tab.2 List of hyperparameters for APF-DDPG algorithm |
在Pytorch神经网络框架下搭建仿真实验环境,采用Python语言。实验时,无人艇运动起点、目标终点及周围障碍物情况均一致。每学习回合结束,需重置环境;重置时,无人艇的起点与目标终点均随机生成。
图10是APF-DDPG与DDPG算法的损失函数对比,左图和右图分别为Actor和Critic网络的损失函数。对比发现APF-DDPG算法在此环境下的收敛步长,要短于DDPG算法,收敛值也明显小于DDPG算法。
|
图 10 APF-DDPG与DDPG损失函数对比图 Fig. 10 Comparison of loss functions between APF-DDPG and DDPG |
图11表示在同一地图上相同起点与终点情况下,DDPG与APF-DDPG算法在路线上的差异。DDPG算法由于奖惩函数设置等原因,会导致一些曲折;而APF-DDPG由于在人工势场奖惩函数等的作用下,会更快更平滑地到达目标终点。
|
图 11 APF-DDPG与DDPG自治学习对比图 Fig. 11 Comparison of APF-DDPG and DDPG Autonomous Learning |
图12表示APF-DDPG的随机自治学习对比图。4张图显示无人艇均已找到目标终点,并成功避障。
|
图 12 APF-DDPG不同场景的自治学习对比图 Fig. 12 Comparison of autonomous learning in different scenarios of APF-DDPG |
最后,以图12为场景,航速10 m/s,分别取100次随机实验,比较DQN、DDPG和APF-DDPG的成功率、碰撞率、平均路径长度、平均到达时间、样本效率等指标,如表3所示。所提APF-DDPG算法在路径安全、平滑性和整体均衡合理性上,比DDPG和DQN更为优越,能更好地满足无人艇的实际规划需求。
|
|
表 3 三种算法的试验数据对比 Tab.3 Comparative experimental data of three algorithms |
本文通过对DDPG算法各方面的改进,并设计仿真实验环境,结果验证了APF-DDPG算法的可行性及其性能,证明了该改进的APF-DDPG算法,在无人艇复杂环境下路径规划的有效性与优越性。
| [1] |
PANOV A I, YAKOVLEV K S, SUVOROV R. Grid path planning with deep reinforcement learning: Preliminary results[J]. Procedia Computer Science, 2018, 123(2018): 347-353. DOI:10.1016/j.procs.2018.01.054 |
| [2] |
SHANI G, HECKERMAN D, BRAFMAN R I, et al. An MDP-based recommender system[J]. Journal of Machine Learning Research, 2005, 6(5): 1265-1295. |
| [3] |
ZHANG L J, CHEN Y. Finite-time adaptive dynamic programming for affine-form nonlinear systems[J]. IEEE Transactions on Neural Networks and Learning Systems, 2025, 36(2): 3573-3586. DOI:10.1109/TNNLS.2023.3337387 |
| [4] |
LEE J Y, KIM Y. Hamilton-Jacobi based policy-iteration via deep operator learning[J]. Neurocomputing, 2025, 646(2025): 130-515. DOI:10.2139/ssrn.4884534 |
| [5] |
LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553): 436-444. DOI:10.1038/nature14539 |
| [6] |
POLVARA R, PATACCHIOLA M, SHARMA S, et al. Toward end-to-end control for UAV autonomous landing via deep reinforcement learning[C]//2018 International Conference on Unmanned Aircraft Systems (ICUAS), 2018.
|
| [7] |
VAN HASSELT H, GUEZ A, SILVER D. Deep reinforcement learning with double Q-learning[C]//Proceedings of the AAAI Conference on Artificial Intelligence, 2016.
|
| [8] |
HORGAN D, QUAN J, BUDDEN D, et al. Distributed prioritized experience replay[J]. arXiv preprint arXiv: 1803.00933, 2018: 1−19.
|
| [9] |
FORTUNATO M, AZAR M G, PIOT B, et al. Noisy networks for exploration[J]. arXiv preprint arXiv: 1706.10295, 2017: 1−21.
|
| [10] |
BHATNAGAR S, SUTTON R S, GHAVAMZADEH M, et al. Natural actor-critic algorithms[J]. Automatica, 2009, 45(11): 2471-2482. |
| [11] |
MNIH V, BADIA A P, MIRZA M, et al. Asynchronous methods for deep reinforcement learning[C]//International Conference on Machine Learning, 2016.
|
| [12] |
BARTH-MARON G, HOFFMAN M W, BUDDEN D, et al. Distributed distributional deterministic policy gradients[J]. arXiv preprint arXiv: 1804.08617, 2018: 1−16.
|
| [13] |
SILVER D, LEVER G, HEESS N, et al. Deterministic policy gradient algorithms[C]//International Conference on Machine Learning, 2014.
|
| [14] |
LI Y, WU D, WANG H, et al. Dynamic collision avoidance for maritime autonomous surface ships based on deep Q-network with velocity obstacle method[J]. Ocean Engineering, 2025, 320: 120335. DOI:10.1016/j.oceaneng.2025.120335 |
| [15] |
任建 周卫祥. 基于改进人工势场法的无人艇路径规划[J]. 舰船科学技术, 2025, 47(13): 52-57. REN J, ZHOU W X. Path planning of unmanned surface vehicle based on improved artificial potential field method[J]. Ship Science and Technology, 2025, 47(13): 52-57. |
| [16] |
NG A Y, HARADA D, RUSSELL S. Policy invariance under reward transformations: Theory and application to reward shaping[C]//Machine Learning: Sixteenth International Conference on Machine Learning(ICML'99). Bled, Slovenia. Morgan Kaufmann Publishers Inc, 1999.
|
2026, Vol. 48
