舰船科学技术  2025, Vol. 47 Issue (7): 94-98    DOI: 10.3404/j.issn.1672-7649.2025.07.018   PDF    
人工势场法和A-star算法下无人水面艇运动控制研究
汤华鹏1,2     
1. 威海海洋职业学院,山东 威海 264200;
2. 山东省船舶控制工程与智能系统工程技术研究中心,山东 威海 264200
摘要: 无人水面艇具备非线性、欠驱动的特点,尤其在外界海浪等的干扰因素作用下仅能确定局部最优路径,不能获取全局最优路径,导致无人水面艇运动控制效果下降,为此提出基于人工势场法和A-star算法的无人水面艇运动控制方法。在人工势场法中引入振荡势场,使无人水面艇能够跳出受力平衡的困境,从而确定局部最优路径。采用A-star算法进行海上运动区域路径搜索,结合局部最优路径以及路径平滑处理确定全局最优路径。根据航行路径规划结果,采用双闭环控制器计算无人水面艇的期望速度和航向角速度,通过差速推进器实现无人水面艇的运动控制。实验结果显示,该方法能有效控制无人水面艇避开障碍物,安全抵达目标点,无人水面艇控制成功率高,实际应用效果好。
关键词: 人工势场法     A-star算法     无人水面艇     运动控制     局部最小值    
Research on motion control of unmanned surface craft using artificial potential field method and A-star algorithm
Tang Huapeng1,2     
1. Weihai Ocean Vocational College, Weihai 264200, China;
2. Shandong Ship Control Engineering and Intelligent System Engineering Technology Research Center, Weihai 264200, China
Abstract: Unmanned surface vessels have nonlinear and underactuated characteristics, especially under the interference of external waves, they can only determine the local optimal path and cannot obtain the global optimal path, resulting in a decrease in the motion control effect of unmanned surface vessels. Therefore, a motion control method for unmanned surface vessels based on artificial potential field method and A-star algorithm is proposed. Introducing oscillatory potential field into the artificial potential field method enables unmanned surface vessels to escape the dilemma of force balance and determine the local optimal path. Using the A-star algorithm for path search in maritime motion areas, combined with local optimal paths and path smoothing processing to determine the global optimal path. Based on the navigation path planning results, a dual closed-loop controller is used to calculate the expected speed and heading angular velocity of the unmanned surface vessel, and the motion control of the unmanned surface vessel is achieved through a differential thruster. The experimental results show that this method can effectively control unmanned surface vessels to avoid obstacles and safely reach the target point. The success rate of unmanned surface vessel control is high, and the practical application effect is good.
Key words: artificial potential field method     A-star algorithm     unmanned surface vessel     motion control     local minimum value    
0 引 言

无人水面艇(USV)作为一种新型水上机器人,配备了多种传感器,能够自主实现避障导航、污染追踪、环境治理等多类功能[1]。路径规划作为无人水面艇运动控制的重要组成部分,能够确保无人水面艇在运动控制中的安全性。白响恩等[2]构建了海流环境下无人水面艇(USV)的多目标路径规划模型,运用经过优化的粒子群(PSO)算法来进行模型求解与运动控制,在模型求解过程中引入精英反向学习的机制,增强算法从局部最优中逃脱的能力。但是海流环境复杂多变,算法需要具备较强的适应性才能应对各种情况。然而,改进粒子群算法在应对极端海流环境或突发情况时容易陷入局部最优,导致路径规划不准确且无法及时调整,使得其控制质量下降。敖邦乾等[3]采用人工势场法为无人水面艇规划出一条从起点至终点的安全路径,随后运用神经网络-PID控制算法动态调整控制参数,增强控制系统在复杂环境中的性能,确保了无人水面艇能够沿着预定路径进行精确且稳定的航行。但是人工势场法容易陷入局部最优解,当无人水面艇在某个位置时,如果障碍物的斥力合力与目标点的引力大小相等方向相反,则无人水面艇受到的合力为0,此时会陷入局部最优,不再搜索全局最优路径,因此该方法的控制效果并不好。

人工势场法通过精确模拟和计算这些虚拟力的动态交互,人工势能场路径规划算法能够实现目标在复杂环境中的高效局部路径规划。A-star算法又称A*算法,其可以结合代价函数找到全局范围内的最佳路径。为此本文提出一种基于人工势场和A-star算法的无人水面艇运动控制方法,以提高无人水面艇在复杂环境中的自主导航和避障控制能力。

1 无人水面艇运动控制 1.1 基于改进人工势场法的无人水面艇运动局部路径规划

在构建的人工势场环境中,无人水面艇会受到来自目标点的吸引作用,驱使其朝向目标位置前进;同时,障碍物则施加排斥效应,确保无人水面艇不会与障碍物发生碰撞而保持安全距离[4],这2种力形成合力,控制无人水面艇航行方向使其沿着最优路径到达目标点。

设定航行过程中无人水面艇所处位置、目标点位置分别为$ P $$ G $,那么相对于$ P $$ G $受到的引力势能表达式为:

$ {U_{att}}(P) = \frac{1}{2}\xi {d^2}(P,G) 。$ (1)

式中:$ \xi $为引力势场;$ d(P,G) $$ P $$ G $两点之间欧氏距离大小。通过该引力场形成的引力大小表达式为:

$ {F_{at}}(P) = - \nabla {U_{att}}(P) = \xi d(P,G)\nabla d(P,G)。$ (2)

假设无人水面艇航行过程中的障碍物位置为$ O $,则障碍物对无人水面艇产生的斥力势能表达式为:

$ {U_{rep}}(P) =\left\{ \begin{array}{ll} \dfrac{1}{2}\eta {\left( {\dfrac{1}{{d(P,O)}} - \dfrac{1}{{{d_0}}}} \right)^2}, &0 \leqslant d(P,O) \leqslant {d_0} ,\\ 0 , & d(P,O) > {d_0}。\end{array} \right. $ (3)

式中:$ \eta $为斥力势场;$ d(P,O) $$ P $$ O $两点之间的欧氏距离大小;$ {d_0} $为无人水面艇与障碍物之间无斥力产生情况下的欧氏距离。通过该斥力场形成的斥力大小表达式为:

$ \begin{split} & {F_{rep}}(P) = - \nabla {U_{rep}}(P) = \\ & \left\{ \begin{array}{ll} \eta \left( {\dfrac{1}{{d(P,O)}} - \dfrac{1}{{{d_0}}}} \right)\dfrac{1}{{{d^2}(P,O)}}\nabla d(P,O), & 0 \leqslant d(P,O) \leqslant {d_0},\\ 0 , & d(P,O) > {d_0} 。\end{array} \right. \end{split} $ (4)

综上获取引力斥力势场函数,获取无人水面艇全局势场函数、所受合力表达式分别为:

$ U(P) = {U_{rep}}(P) + {U_{att}}(P),$ (5)
$ F(P) = - U(P) = {F_{at}}(P) + {F_{rep}}(P) 。$ (6)

在原有引力势场中引入振荡函数$ F( \cdot ) $,帮助无人水面艇寻找下一运动点,改进后的引力势场函数表达式为:

$ {U_{att}}(P) = \frac{1}{2}\xi {d^2}(P,G)F(P)。$ (7)

式中:$ F(P) $的函数定义为:

$ \begin{split} F(P) =& \left[ \begin{array}{ll} \cos \theta & \sin \theta \\ - \sin \theta & \cos \theta \end{array} \right] \cdot \left[ \begin{array}{ll} \cos \theta & - \sin \theta \\ \sin \theta & \cos \theta \end{array} \right] \times\\ & \left[\begin{array}{ll} \cos (\theta \cdot G(P)) & - \sin (\theta \cdot G(P)) \\ \sin (\theta \cdot G(P)) & \cos (\theta \cdot G(P)) \end{array} \right] 。\\ \end{split} $ (8)

分析可知,无人水面艇受到的$ F(P) $越小,$ \arctan (1/ F(P))^2 $的数据便越接近$ \text{π} /2 $,那么$ \mathop {\lim }\limits_{F(P) \to 0} G(P) = 1 $,此种条件下,式(8)的首尾2个矩阵之间的关系为互逆,通过$ \left[ \begin{array}{ll} \cos \theta & \sin \theta \\ - \sin \theta & \cos \theta \end{array} \right] $可以实现改进前引力场的旋转变换,当$ F(P) < 5 $$ F(P) < 10 $$ F(P) \geqslant 10 $条件下时,分别执行旋转引力势场、减小引力势场旋转幅度、$ \arctan (1/ F(P))^2 $无限趋近于0并使$ \mathop {\lim }\limits_{F(P) \to 0} G(P) = 0 $。式(8)中最后一个矩阵为单位矩阵,此时忽略不计,同时前2个矩阵为互逆关系,此时$ F(P) $不起作用。$ \theta $用于描述随机角,在启动引力函数时,会随机从其中包含的方向中选取一个完成局部最小困境逃脱,获取最佳局部避障路径规划结果,其计算公式如下:

$ G(P) = \frac{{{U_{att}}(P)\arctan {{(1/F(P))}^2}}}{{\text{π}/2}} 。$ (9)

为展示人工势场法和改进A-Star算法应用改进人工势场法进行无人水面艇局部路径规划的效果,以运动控制过程中的局部避障规划效果为例,针对目标规划陷入局部最小值情况,分别应用改进前后人工势场法进行无人水面艇运动控制中的局部避障路径规划,结果如图1所示。

图 1 改进前后人工势场法局部避障路径规划结果 Fig. 1 Local obstacle avoidance path planning results of artificial potential field method before and after improvement

分析图1 数据可知,应用人工势场法进行避障路径规划时,在面向目标点前的最后一个障碍物时,陷入了局部最小值困境,此时无人海面艇达到受力平衡状态,无法继续航行;而应用改进后的人工势场法,可在陷入局部困境时,可以通过增加振荡势场改变引力势场方向,助力无人水面艇逃离局部最优困境,顺利抵达终点。

改进人工势场法通过在传统人工势场法中引入振荡势场,解决了无人水面艇在局部最小点受困的难题,提高了路径规划的成功率和灵活性。该方法不仅能够在复杂环境中动态调整势场方向,助力无人水面艇灵活应对各种挑战,还能有效增强避障能力,确保航行安全。同时,通过优化路径规划,减少了不必要的航行时间和能耗,提升了航行效率。此外,该方法还具备处理三维空间环境的能力,为无人水面艇提供了更加多样化的路径规划选择,并增强了系统的鲁棒性和稳定性。

1.2 基于A-star算法的无人水面艇运动全局路径规划

在利用改进人工势场法完成无人水面艇运动局部路径规划后,利用A-star算法进行无人水面艇运动全局路径规划,将二者结合能够确定无人水面艇运动的最优路径,能够为后续的无人水面艇运动控制奠定重要的基础。

A-star算法作为一种启发式全局路径搜索算法,可以有效实现无人水面艇海上运行全局路径规划。为此全局路径规划阶段采用A-star算法中八连通区域搜索方式进行海上运动区域路径搜索[5],将A-star算法的启发式函数的表达式描述为:

$ f(n) = g(n) + h(n) 。$ (10)

式中:$ g(n) $$ h(n) $分别用于描述始发点到当前节点、当前节点到目标点的距离。$ h(n) $的计算表达式为:

$ h(n) = \sqrt {{{({x_m} - {x_n})}^2} + {{({y_m} - {y_n})}^2}} 。$ (11)

式中:$ ({x_m},{y_m}) $$ ({x_n},{y_n}) $分别用于描述目标点、当前点的坐标

A-star算法依据启发式函数值在搜索过程中优先选择更有潜力接近目标节点的路径,从而实现无人海面艇海上运动的全局路径规划。

由于A-star获取的无人海面艇运动全局路径为折线,导致路径的拐点过多,为此通过路径平滑处理,提升其运动全局路径的规划效果。设置2个目标完成无人海面艇全局路径的平滑处理,表达式为:

$ norm({P_i} - {S_i}) \to \min f\left( n \right) ,$ (12)
$ norm({S_i} - {S_{i + 1}}) \to \min f\left( n \right)。$ (13)

式中:$ {P_i} $$ {S_i} $分别为平滑处理前、后无人海面艇的第$ i $个路径点;$ {S_{i + 1}} $为平滑后第$ i + 1 $个路径点。

设定平滑代价函数$ C $表达式为:

$ C = \alpha \left\| {{P_i} - {S_i}} \right\| + \beta \left\| {{S_i} - {S_{i + 1}}} \right\| 。$ (14)

式中:$ \alpha $$ \beta $分别为初始路径权值系数、平滑权值系数;$ \alpha \left\| {{P_i} - {S_i}} \right\| $为路径平滑后无人海面艇所处路径节点与原始路径的偏差;$ \beta \left\| {{S_i} - {S_{i + 1}}} \right\| $为路径平滑后无人海面艇所处路径节点之间的距离;$ \alpha \left\| {{P_i} - {S_i}} \right\| $$ \beta \| {S_i} - {S_{i + 1}} \| $之间相互制约,共同实现全局路径平滑过程的最小化处理。其中$ \alpha $$ \beta $之间的差值越大,则全局路径平滑处理后的无人海面艇路径点与原始路径点的接近程度越高,相反路径的平滑程度越高[6]

采取梯度下降法完成平滑代价函数$ C $的求解,获取$ C $的最小值,过程为:

1)设置起始点,即令$ {S_i} $$ {P_i} $,且存在$ i =1,2,...,n $

2)通过迭代操作遍历除去始发点和目标点的全部路径点,并对$ {S_i} $执行更新处理。

3)在达到最大迭代次数或者$ C $达到设定阈值时停止,输出此时对应的平滑处理后的无人海面艇全局路径规划结果,其计算公式如下:

$ Z(P) = \frac{{G(P) + \min C}}{{f\left( n \right)}} 。$ (15)

为验证人工势场法和改进A-Star算法应用改进A-star算法的全局路径规划效果,对比A-star算法改进前后路径的平滑程度,结果如图2所示。

图 2 全局路径平滑度分析 Fig. 2 Global path smoothness analysis

分析图2数据发现,A-star算法规划的全局路径虽然可以顺利抵达终点,但是路径的拐点较多,不仅增加了运动控制的难度,还可能在实际应用中导致航行器频繁调整航向,从而增加能耗和降低效率。改进A-star算法,通过引入平滑代价函数有效兼顾了路径点的准确性以及路径的平滑性,极大程度地减少了运动控制后全局路径的拐点数量,提升全局路径运动控制效果,不仅有利于运动控制的实现,还能够降低航行器的能耗和提高航行效率。

1.3 无人水面艇运动控制实现

使用改进A-star算法得到的全局路径作为航行的主要指导路径,以此为基础采用双闭环控制器实现其运动控制。无人水面艇运动控制结构如图3所示。

图 3 双闭环控制器的运动控制结构 Fig. 3 Motion control structure of dual closed-loop controller

位置环和速度环通过串联的形式组建上述双闭环控制器:

1)位置环可以依据规划出的无人海面艇航行路径中的下一路径点坐标$ P(x,y) $,通过求解无人海面艇的航向角偏差$ {e_\psi } $和位置偏差$ {e_p} $,作为自身的输入数据,获取无人海面艇的期望进退线速度$ {u_R} $以及航向角速度期望值$ {r_R} $

2)速度环结合位置环的输出以及当下无人海面艇的进退线速度实际值$ u $和航向角速度实际值$ r $,计算速度和角速度偏差$ {e_u} $$ {e_r} $,并输出无人海面艇差速推进器的转速控制量$ {n_{port}} $$ {n_{stbd}} $,实现无人水面艇海上运动的避障控制。

上述过程采用位置环和速度环串联的双闭环控制器结构,实现了无人水面艇的精确运动控制。位置环依据规划路径中的下一路径点坐标,通过计算USV的航向角偏差和位置偏差,生成精确的期望进退线速度和航向角速度,为USV提供准确的导航指令。速度环则结合位置环的输出和USV当前的实际速度值,实时计算速度和角速度偏差,并输出差速推进器的转速控制量,实现对USV速度的精确调节。这种双闭环控制结构不仅提高了控制系统的稳定性和响应速度,还能更灵活地适应不同路径点之间的变化,确保USV在航行过程中能够沿着预定路径平稳航行。

2 实验分析

借助VC++软件平台对本文研究的基于人工势场法和A-Star算法的无人水面艇运动控制效果进行分析,以某片已知海域环境进行分析,设定该无人水面艇在已知海域的环境中以固定步长为25 m进行航行运动。参数详情如表1所示。

表 1 无人水面艇详细参数 Tab.1 Detailed parameters of unmanned surface craft

应用人工势场法和改进A-Star算法在该海域中进行无人水面艇运动控制,在控制作用下,规划出从起点(80,0)至目标点(25,100)的航行路径控制结果,如图4所示。

图 4 无人水面艇运动控制结果 Fig. 4 Motion control results of unmanned surface craft

分析图4数据可知,人工势场法和改进A-Star算法可以有效控制无人水面艇在该海域中进行安全航行,人工势场法和改进A-Star算法控制下的航行路径可以有效避开大量的障碍物,安全抵达终点。其中人工势场法和改进A-Star算法中人工势场法为无人水面艇提供了明确的避障策略,而A-Star算法则优化了航行路径,使无人水面艇能够以最短或最优的路径抵达目标点。这2种方法的结合不仅提高了无人水面艇的航行效率,还显著增强了其在复杂环境中的适应能力。

在此基础上,将改进粒子群算法、神经网络-PID控制方法作为实验对比方法,通过对比不同方法的无人水面艇运动控制过程中的航向角以及控制成功率来验证不同方法的实际应用效果。其中,无人水面艇行进的方向与正北方向的夹角,用于描述其运动方向,该值与目标值越接近,控制效果越好。3种方法应用下的航向角测试结果如图5所示。

图 5 3种方法应用下的航向角测试结果 Fig. 5 Test results of heading angle under the application of three methods

分析图5可知,随着实验时间的增加,无人水面艇航向角呈现显著变化趋势。其中,改进粒子群算法、神经网络-PID控制方法控制下的无人水面艇航向角与目标值之间的差距比较大,而人工势场法和改进A-Star算法应用下的无人水面艇航向角与目标值之间的差距非常小,说明该方法控制下无人水面艇能够按照预定轨迹进行航行,实际应用效果好。

无人水面艇控制成功率测试结果如表2所示。

表 2 无人水面艇控制成功率测试结果 Tab.2 Test results of success rate of unmanned surface vessel control

表2可知,改进粒子群算法的无人水面艇控制成功率最大值和最小值分别为78.19%、70.13%;神经网络-PID控制方法的无人水面艇控制成功率最大值和最小值分别为87.33%、80.56%;人工势场法和改进A-Star算法的无人水面艇控制成功率最大值和最小值分别为98.67%、94.78%。经过对比可知,设计方法应用下的无人水面艇运动控制成功率更高,实际应用效果好。

3 结 语

本文研究了基于人工势场法和改进A-Star算法的无人水面艇运动控制方法,并通过仿真分析验证了其有效性。实验采用型号为USV50的无人水面艇,在设定海域地图中进行航行测试。研究结果显示:

1)综合控制效果。人工势场法和改进A-Star算法能成功引导无人水面艇避开障碍物,安全抵达终点,提高航行效率与复杂环境适应能力。

2)局部路径规划。改进的人工势场法解决了局部最小值问题,通过调整势场方向帮助无人水面艇顺利穿越障碍区域。

3)全局路径规划。改进后的A-Star算法通过优化路径平滑性,显著减少了拐点数量,降低了运动控制难度,并有望减少能耗、提升航行效率。

参考文献
[1]
包涵, 杨林初, 郁家丞, 等. 基于改进灰狼算法的无人船路径规划[J]. 船舶工程, 2024, 46(10): 1-11.
BAO H, YANG L C, YU J C, et al. Path planning for unmanned surface vehicle based on improved grey wolf optimization algorithm[J]. Ship Engineering, 2024, 46(10): 1-11.
[2]
白响恩, 孙广志, 徐笑锋. 基于改进粒子群算法的海流环境下无人水面艇路径规划[J]. 上海海事大学学报, 2023, 44(4): 1-7.
BAI X E, SUN G Z, XU X F. Path planning of unmanned surface vessels in ocean current environment based on improved particle swarm optimization algorithm[J]. Journal of Shanghai Maritime University, 2023, 44(4): 1-7.
[3]
ZHANG R , LIU Y , ANDERLINI E. Robust trajectory tracking control for unmanned surface vessels under motion constraints and environmental disturbances:[J]. Proceedings of the Institution of Mechanical Engineers, Part M: Journal of Engineering for the Maritime Environment, 2022, 236(2): 394-411.
[4]
何志强, 专祥涛, 梁杰, 等. 基于区域人工势场的无人船目标跟踪策略研究[J]. 中国造船, 2023, 64(1): 236-245.
HE Z Q, ZHUAN X T LIANG J, et al. Research on target tracking strategy of unmanned surface vessel based on regional artificial potential field[J]. Shipbuilding of China, 2023, 64(1): 236-245. DOI:10.3969/j.issn.1000-4882.2023.01.021
[5]
舒伟楠, 赵建森, 谢宗轩, 等. 基于改进A*算法的水面无人艇路径规划[J]. 上海海事大学学报, 2022, 43(2): 1-6.
SHU W N, ZHAO J S, XIE Z X, et al. Path planning for unmanned surface vessels based on improved A * algorithm[J]. Journal of Shanghai Maritime University, 2022, 43(2): 1-6.
[6]
支琛博, 张爱军, 杜新阳, 等. 改进A*算法的移动机器人全局路径规划研究[J]. 计算机仿真, 2023, 40(2): 486-491.
ZHI C B, ZHANG A J, DU X Y, et al. Research on global path planning of mobile robot based on improved A * algorithm research on improved A * algorithm based on real-time and security[J]. Computer Simulation, 2023, 40(2): 486-491. DOI:10.3969/j.issn.1006-9348.2023.02.090