舰船科学技术  2026, Vol. 48 Issue (1): 154-158    DOI: 10.3404/j.issn.1672-7649.2026.01.022   PDF    
基于差分进化算法的无人船路径规划优化策略
肖仲明, 侯宝艺, 刘正江     
大连海事大学 航海学院,辽宁 大连 116026
摘要: 为了解决无人船在路径规划过程中与目标船或障碍物距离过近、未能及时采取避让措施的问题,提出一种结合国际海上避碰规则的改进差分进化算法,并将其应用于无人船的路径规划和避碰。对差分进化算法中的控制因子FCR进行自适应调整,从而动态优化算法在不同时期的搜索能力,进而提高搜索效率。本文使用总航程、路径平滑度以及国际海上避碰规则构建适应度函数,选取高质量路径点。仿真实验结果表明,改进的差分进化算法使得本船在与其他船舶的会遇过程中能及时有效采取避让措施,同时确保规划路径的经济性,从而证明了算法的有效性。
关键词: 无人船     路径规划     避碰     差分进化    
Path planning optimization strategy for USV based on differential evolution algorithm
XIAO Zhongming, HOU Baoyi, LIU Zhengjiang     
Navigation College, Dalian Maritime University, Dalian 116026, China
Abstract: To solve the problem of unmanned ships getting too close to target vessels or obstacles and fail to take avoidance measures in time during the path planning process, an improved differential evolution algorithm integrated with the International Regulations for Preventing Collisions at Sea (COLREGs) was proposed and applied to the path planning and collision avoidance of USVs. The control factor F and CR in the differential evolution algorithm were adaptively adjusted to dynamically optimize the algorithm's search capabilities at different stages, enhancing search efficiency. The fitness function is constructed using total voyage distance, path smoothness, and COLREGs to select high-quality path points. Simulation results demonstrate that the improved differential evolution algorithm enables the vessel to take timely and effective evasive actions during encounters with other ships while ensuring the economic efficiency of the planned path, thereby proving the effectiveness of the algorithm.
Key words: USV     path planning     collision avoidance     differential evolution    
0 引 言

无人船,是一种无需载人操作可在海面执行各种复杂任务的自主船舶,集成了自主导航系统、自主感知系统、路径规划与避碰系统、能源管理以及远程控制与监控系统等一系列先进技术[1],已成为海事领域当前的研究热点。得益于其强大的自主运行能力,无人船已应用在社会生活中的诸多领域。

路径规划与避碰的重点是规划一条从出发点到目的点经济且能够避免与目标来船或障碍物发生碰撞的路径[2]。路径规划通常分为静态路径规划与动态路径规划[3]。静态路径规划又称全局路径规划,根据已知的、不变的障碍物和环境条件,在船舶开始航行前规划其路线,规划过程相对简单可靠,不需要实时进行数据处理。动态路径规划又称局部路径规划,相比之下,其环境条件是未知的,可变的。在这种情况下,无人船可能会遇到未知的障碍物、动态来船或漂浮物等,因此必须实时处理数据,并在检测到新障碍物或环境变化时调整航线,以确保安全避碰,动态路径规划对于在复杂、不可预测的海洋环境中操作的无人船至关重要。

陈新等[4]通过在A*算法的启发式函数$h(n)$中加入分区距离信息对传统A*算法进行改进,缩短了航行距离,优化了路径质量。王成等[5]通过对传统蚁群算法引入初始信息素不均匀分配机制与信息素惩罚机制,提高了算法初期的搜索效率并加快收敛速度。王鸿东等[6]通过将RRT算法与速度避障法相结合并考虑国际海上避碰规则抑制了RRT算法的无效扩展现象并优化了船舶的避碰能力。徐小强等[7]提出一种融合人工蜂群算法的改进粒子群优化算法,该算法通过对权重及学习因子进行动态调整加快了算法收敛,融入了跟随蜂与侦察蜂机制,避免了算法陷入局部最优,提高了搜索效率。宁君等[8]对传统人工势场法进行了改进,利用模拟退火算法对传统人工势场法的斥力函数进行优化,解决了算法运行过程中的目标不可达与局部极小值点问题。

差分进化算法是一种用于解决复杂空间中连续优化问题的进化算法,由Storn等[9]于1997年首次提出。差分进化算法因其出色的鲁棒性和适应性,在处理具有多个变量和复杂结构的优化问题时具有较好的优势,该算法能够在各种复杂和不确定的环境中趋向于找到最佳解决方案,这一特性对于无人船在复杂的海洋环境中,特别是在遭遇未知障碍物时的路径规划至关重要。

因此,本文将差分进化算法应用于无人船的路径规划与避碰中,并将参数自适应机制引入差分进化算法,从而对控制因子$F$$CR$进行自适应改进,动态优化算法的搜索能力。此外,将国际海上避碰规则与改进的差分进化算法结合,增强船舶的避碰能力。利用总航程、路径平滑度以及国际海上避碰规则构建适应度函数选取高质量路径点,从而提高路径规划的合理性与有效性。

1 差分进化算法

差分进化算法的原理与遗传算法类似,主要包括种群初始化、适应度评估、差分变异、交叉操作、选择操作5个步骤。

1.1 种群初始化

随机生成初始种群,种群规模为$N$,种群规模的选择通常取决于问题的复杂性,更复杂的问题可能需要构建更大的种群规模。每个个体由$D$维向量组成,初始种群中的每个向量在问题参数的预定义范围内随机生成。构建初始种群为:

$ {X_i}(0) = ({x_{i1}}(0),{x_{i2}}(0),...,{x_{iD}}(0)),{\text{ }}i = 1,2,...,{\text{ }}N。$ (1)

式中:$ {X_i}(0) $为单一个体;$ {x_{i1}}(0),{x_{i2}}(0),...,{x_{iD}}(0) $为个体的每一维向量。个体的第$j$维向量初始化公式为:

$ x_{ij}(0)=x_{j_{\min}}+\mathrm{rand}(0,1)\cdot(x_{j_{\max}}-x_{j_{\min}})。$ (2)

式中:$ {x}_{j\_\mathrm{min}}、$$ {x_{j\_\max }} $分别为向量的最小值与最大值。

1.2 适应度评估

适应度函数需要根据具体的优化问题来定义,在本文中,适应度函数用于评估路径点的优劣,适应度值越低,适应度越好。

1.3 差分变异

变异操作的原理是通过将种群中2个或多个随机选择的矢量之间的加权差添加到第3个矢量中来创建一个新的矢量,也就是突变矢量,这一过程将新的遗传物质引入种群,促进了算法在搜索空间中的进一步探索,变异策略如下:

$ {h_i}(t) = {x_{p1}}(t) + F \cdot ({x_{p2}}(t) - {x_{p3}}(t))。$ (3)

式中:$ {x}_{p1}(t)、{x}_{p2}(t)、{x}_{p3}(t) $分别为第$t$次迭代中从父代随机选择的种群编号为$ p1、p2、p3 $的不同向量;$ {h_i}(t) $为生成的变异向量;$F$为缩放因子。

1.4 交叉操作

交叉操作的原理是引入个体间额外的遗传多样性和重组种群内个体之间的信息,通过组合来自多个父代向量特征来探索搜索空间中的新领域。交叉操作过程如下:

$ v_{ij}(t+1)=\left\{\begin{gathered}h_{ij}(t),\text{ }\mathrm{if\text{ }}\mathrm{rand}\leqslant CR\text{ }\mathrm{or}\text{ }j=j_{\mathrm{rand}},\\ x_{ij}(t),\text{ }\mathrm{else}。\\ \end{gathered}\right. $ (4)

式中:$ {v_{ij}}(t + 1) $为交叉操作后产生的新向量;$CR$为交叉因子,取值范围为[0−1]。

1.5 选择操作

差分进化算法的选择操作遵循一种简单有效的方法,即贪婪选择,选择适应度函数较好的个体作为下一代的初始个体,引导种群进一步的迭代优化。不同于其他复杂的进化算法,差分进化算法的选择过程是直接的,这有助于保持计算效率。种群进化方向的选择表达式为:

$ x_i(t+1)=\left\{\begin{gathered}v_i(t+1),\text{ }\mathrm{if}\text{ }fit(v_i(t+1))\geqslant fit(x_i(t)),\\ v_i(t),\text{ }\mathrm{else}。\\ \end{gathered}\right. $ (5)

式中:$ fit({v_i}(t + 1)) $$ fit({x_i}(t)) $分别为新个体与初始个体的适应度值。

2 改进的差分进化算法 2.1 对缩放因子$F$的自适应改进

缩放因子$F$[10]可以被视为一种调节个体扰动程度的因子,它影响着个体走向空间中潜在解的移动步长,当$F$较大时,个体在搜索空间中的移动步长较大,使得算法能够对解空间进行更广泛的搜索,增强了算法逃离局部最优的能力,然而,过大的$F$值可能会导致个体冲出最优区域或破坏算法的收敛速度。当$F$较小时,算法对当前候选区域的搜索能力得到增强,加快算法的收敛速度,但也降低了对全局解空间的搜索能力,降低了种群多样性,增加陷入局部最优的风险。因此,本文对缩放因子$F$进行了自适应改进,使其能够根据迭代阶段自动调整,从而动态优化算法的搜索能力,具体改进方法如下:

$ F = \frac{{({F_{\max }} - {F_{\min }})}}{2}\left(1 + \frac{{{T_{\max }} - t}}{{{T_{\max }}}}\right)。$ (6)

式中:$ {F_{\max }} $$ {F_{\min }} $分别为缩放因子$F$的最大值与最小值,$ {T_{\max }} $为最大迭代次数,$t$为当前的迭代次数。

可知,当算法处于迭代的初期阶段时,$t$较小,此时具有较大的$F$值,算法具有较强的全局搜索能力,能够对解空间进行全面的搜索,增加找到最优解的概率。随着迭代的进行,缩放因子$F$逐渐减小,当处于迭代后期时,$t$较大,此时具有较小的$F$值,算法倾向于对局部最优区域进行搜索,加快收敛速度。

2.2 对交叉因子$CR$的自适应改进

交叉因子$CR$[11]决定了在交叉操作期间初始个体的各维向量与变异个体的各维向量发生交换的可能性,控制着种群内的遗传多样性水平。较高的$CR$值允许在突变过程中将变异个体的更多信息元素传递给初始个体,较低的$CR$值则倾向于保留初始个体中的信息元素,可能会有过早收敛的风险。因此,本文对$CR$引入自适应调整机制,优化整个进化过程中的收敛速度和解的质量,有助于管理种群的遗传多样性。改进如下:

$ CR_i=\left\{\begin{gathered}\mathrm{if}\text{ }fit(x_i)\geqslant fit_{mean},\\ \text{ }CR_{\min}+(CR_{\max}-CR_{\min})\cdot\frac{fit(x_i)-fit_{\min}}{fit_{\max}-fit_{\min}},\\ \mathrm{else}:CR_{\min}。\\ \end{gathered}\right. $ (7)

式中:$ fit({x_i}) $$ fi{t_{mean}} $分别为个体${x_i}$的适应度值与总体的平均适应度值;$ C{R_{\min }} $$ C{R_{\max }} $分别为交叉因子$CR$的最小值与最大值;$ fi{t_{\max }} $$ fi{t_{\min }} $分别为所有个体中适应度值的最大值与最小值。本方法将特定个体的适应度值与种群平均适应度值进行比较,若它小于平均值,则意味着个体较好,此时具有较小的交叉概率;若个体适应度值大于平均值,则意味着个体需要进行进一步的优化,应增加其交叉概率,促进对最优个体的搜索。图1为改进差分进化算法的流程图。

图 1 改进差分进化算法流程图 Fig. 1 Flowchart of improved differential evolution algorithm
2.3 适应度函数的构建

适应度函数的构建决定了算法评估和寻找潜在解决方案的能力。在本文中,路径规划与避碰问题被转化为多目标优化问题,在构建适应度函数时需要仔细考虑优化目标、约束以及解空间的特征,根据多准则进行评估。因此,以总航程、路径平滑度以及国际海上避碰规则构建适应度函数。

通过分析当前路径点、前一路径点以及目的点之间的位置关系来评估总航程,构建基于总航程的目标函数:

$ \begin{split} {F_1} = &\frac{{\sqrt {{{({x_i} - {x_{i - 1}})}^2} + {{({y_i} - {y_{i - 1}})}^2}} }}{{\sqrt {{{({x_n} - {x_{i - 1}})}^2} + {{({y_n} - {y_{i - 1}})}^2}} }} + \\ &\frac{{\sqrt {{{({x_n} - {x_i})}^2} + {{({y_n} - {y_i})}^2}} }}{{\sqrt {{{({x_n} - {x_{i - 1}})}^2} + {{({y_n} - {y_{i - 1}})}^2}} }} 。\end{split} $ (8)

式中:$({x_i},{y_i})$为当前路径点;$({x_{i - 1}},{y_{i - 1}})$为前一路径点;$ ({x_n},{y_n}) $为目的点。

构建基于平滑度的目标函数:

$ {F_2} = \arccos \left( {\frac{{({x_i} - {x_{i - 1}},{y_i} - {y_{i - 1}}) \cdot {{({x_n} - {x_i},{y_n} - {y_i})}^{\rm{T}}}}}{{||({x_i} - {x_{i - 1}},{y_i} - {y_{i - 1}}) \cdot ({x_n} - {x_i},{y_n} - {y_i})||}}} \right)。$ (9)

通过将平滑度纳入适应度函数的评估中,减少了船舶在航行过程中出现的大幅度转向。

构建基于国际海上避碰规则的目标函数:

$ {F_3} = \left\{ \begin{gathered} 1\;000^\circ \leqslant {\theta _r} \leqslant 112.5^\circ {\text{ }}{\rm{or}}{\text{ }}355^\circ \leqslant {\theta _r} \leqslant 005^\circ,\\ 0,{\rm otherwise} 。\\ \end{gathered} \right. $ (10)

通过考虑国际海上避碰规则,增强了船舶的自主避让能力,使得避碰行为更加符合航海实践。

适应度函数$ Fit = {W_1}{F_1} + {W_2}{F_2} + {W_3}{F_3} $,其中$ {W}_{1}、{W}_{2}、{W}_{3} $分别为总航程、平滑度以及规则的权重。

3 仿真实验

在Matlab平台上设计并执行了一系列的仿真实验,针对不同的海上会遇情景来评估算法在复杂海况中的性能与鲁棒性。具体的仿真场景包括:本船与目标船的追越局面、对遇局面以及交叉相遇局面。在这些场景中,本船被设置为让路船,而目标船则为直航船,以全面验证本船的动态避碰能力。

此外,将改进的差分进化算法与标准差分进化算法进行了比较,性能评价指标包括算法的运行时间、总偏航距离、路径的平滑度以及避让行为是否符合避碰规则等,对于仿真中使用的算法,参数设置保持一致,以确保结果的公正性和比较的有效性。具体参数如下:种群规模$N = 20$;种群维度$D = 10$;迭代次数$K = 50$

3.1 追越局面

在此场景中,无人船(让路船)需要从后方快速接近并安全超过前方的目标船(直航船)。此场景测试算法在动态环境中调整路径以优化追越行为的能力。

图2分别为改进差分进化算法与标准差分进化算法在追越场景中的实验结果。改进算法的运行时间、总偏航距离、与目标船的最近距离分别为5.1627 s、14.9272 n mile、0.3717 n mile,未改进算法的各项数据分别为5.3475 s、15.6287 n mile、0.2852 n nile。由实验结果可知,改进算法使得本船在追越目标船舶的过程中,在检测到目标船舶时调整航向,从目标船舶左侧驶过,并保持一定安全距离,在追越完成后,本船逐渐靠近原航线并最终到达目的点。而未改进的算法虽也能保持与目标船的安全距离并从左侧驶过,但在追越完成后,未能及时返回原航线,逐渐偏离航线,从而降低了路径的经济性。同时改进算法的各项数据均优于未改进的算法,证明了本文算法在追越局面下的有效性。

图 2 追越局面中不同算法的对比实验结果 Fig. 2 Comparative experimental results of different algorithms in overtaking situation
3.2 对遇局面

在对遇情境中,无人船与目标船从相对方向直接朝向彼此行驶,无人船需要及时调整航向以避免正面碰撞。这一场景考验算法在处理高风险碰撞威胁时的反应速度和决策准确性。

图3分别为改进差分进化算法与未改进差分进化算法在对遇场景中的实验结果。改进算法的运行时间、总偏航距离、与目标船的最近距离分别为5.7438 s、12.0647 n mile、0.4393 n mile,未改进算法的各项数据分别为5.6253 s、19.4281 n mile、0.4273 n nile。由实验结果可知,图3(a)中本船在与目标船舶形成对遇局面时能及时调整航向,从目标船舶左侧驶过,在完成避让操作后及时返回原航线,既保障了航行安全又具有较高的经济性。如图3(b)所示,本船在避让完成后未能返回原航线,可能导致本船不能及时到达目标点。

图 3 对遇局面中不同算法的对比实验结果 Fig. 3 Comparative experimental results of different algorithms in head-on situation
3.3 交叉相遇局面

图4为改进差分进化算法与未改进差分进化算法在交叉相遇场景中的实验结果。改进算法的运行时间、总偏航距离、与目标船的最近距离分别为5.5271 s、14.4293 n mile、0.4027 n mile,未改进算法的各项数据分别为5.6341 s、16.2746 n mile、0.3928 n nile。由实验结果可知,改进算法使得本船在与目标船舶的会遇过程中,在距离较远时沿原航线航行,在检测到潜在碰撞危险时,及时调整航向,并从目标船船尾处安全通过,避让完成后及时返回原航线,而未改进的算法使得本船在避让目标船的过程中从目标船的船头驶过,不符合避让规则的要求,存在较高的碰撞风险。

图 4 交叉相遇局面中不同算法的对比实验结果 Fig. 4 Comparative experimental results of different algorithms in crossing situation
4 结 语

本文提出了一种结合国际海上避碰规则的改进差分进化算法,用于解决复杂海洋环境中无人船的路径规划与避碰问题。通过对缩放因子$F$与交叉因子$CR$进行自适应调整,利用总航程、路径平滑度以及国际海上避碰规则构建适应度函数,不仅优化了算法在不同阶段的搜索能力,同时显著提升了路径规划的经济性与安全性。仿真实验结果验证了本文提出的改进差分进化算法的有效性:

1)自适应改进的差分进化算法增强了应对未知环境与动态变化条件的能力,对未来无人船的智能化和自主化操作具有重要推动作用。

2)改进的差分进化算法在遵守国际海上避碰规则的同时,有效降低了航行成本,在无人物流运输与海洋地质调查等领域具有较大应用潜力。

未来研究应进一步探讨算法在更加复杂的海洋环境中的适应性,特别是在极端天气条件与高密度水域的应用。

参考文献
[1]
张文拴, 李争, 郑瑶. 国内外无人船发展现状及研发趋势[J]. 舰船科学技术, 2024, 46(15): 79-83.
ZHANG W S, LI Z, ZHENG Y. The current status and research and development trend of unmanned ships at home and abroad[J]. Ship Science and Technology, 2024, 46(15): 79-83.
[2]
宁君, 马昊冉, 李伟, 等. 基于改进RRT算法的船舶路径规划与跟踪控制[J]. 中国航海, 2022, 45(3): 106-112.
NING J, MA H R, LI W, et al. Ship route planning and tracking control based on improved RRT algorithm [J]. Navigation of China, 2022, 45(3): 106-112.
[3]
赵亮, 王芳, 白勇. 水面无人艇路径规划的现状与挑战[J]. 船舶工程, 2022, 44(4): 1-7+48.
ZHAO L, WANG F, BAI Y. Current status and challenges of unmanned surface vehicle path planning [J]. Ship Engineering, 2022, 44(4): 1-7+48.
[4]
陈新, 袁宇浩, 饶丹. 一种改进A*算法在无人船路径规划中的应用[J]. 计算机仿真, 2021, 38(3): 277-281.
CHEN X, YUAN Y H, RAO D. Improved A* algorithm and its application in path planning of unmanned surface vehicle [J]. Computer Simulation, 2021, 38(3): 277-281.
[5]
王成, 任佳, 张育. 基于改进蚁群算法的无人船路径规划研究[J]. 海南大学学报(自然科学版), 2021, 39(3): 242-250.
WANG C, REN J, ZHANG Y. Research on unmanned ship path planning based on improved ant colony algorithm[J]. Journal of Hainan University (Natural Science), 2021, 39(3): 242-250.
[6]
王鸿东, 易宏, 向金林, 等. 基于海事规则的中型无人艇避碰路径规划算法研究及应用[J]. 中国舰船研究, 2022, 17(5): 184-195+203.
WANG H D, YI H, XIANG J L, et al. Collision avoidance path planning algorithm research and application of medium-sized USV based on COLREGS[J]. Chinese Journal of Ship Research, 2022, 17(5): 184-195+203.
[7]
徐小强, 刘静雯, 冒燕. 基于改进粒子群算法的无人船全局路径规划研究[J]. 武汉理工大学学报, 2023, 45(3): 131-138.
XU X Q, LIU J W, MAO Y. Global path planning of USV based on improved PSO [J]. Journal of Wuhan University of Technology, 2023, 45(3): 131-138.
[8]
宁君, 马昊冉, 李铁山. 基于改进人工势场法的船舶路径规划与跟踪控制[J]. 哈尔滨工程大学学报, 2022, 43(10): 1414-1423.
NING J, MA H R, LI T S. Underactuated surface vessel path planning and following control based on an improved artificial potential field method[J]. Journal of Harbin Engineering University, 2022, 43(10): 1414-1423. DOI:10.11990/jheu.202107017
[9]
STORN R, PRICE K. Differential evolution – a simple and efficient heuristic for global optimization over continuous spaces[J]. Journal of Global Optimization, 1997, 11: 341–359.
[10]
GONG Y, ZHANG S, LUO M. A mutation operator self-adaptive differential evolution particle swarm optimization algorithm for USV navigation[J]. Front. Neurorobot 2022, 16: 1076455.
[11]
YUAN Q, SUN R, DU X. Path planning of mobile robots based on an improved particle swarm optimization algorithm[J]. Processes. 2023, 11(1): 26.