无人艇(unmanned surface vehicles, USV)作为一种水面运载平台,目前已在矿产勘测、反潜战争、海事安全、水面作业支持、电子战争和海事禁行区支持等领域得到了实际应用[1]。自主巡航是USV的一项基本功能,可以提高USV的作业效率,扩大作业覆盖范围[2]。在自主巡航过程中,直线航迹跟踪控制能力是USV顺利完成各项任务的基本保障。
USV直线航迹跟踪控制器通常采用外环制导和内环控制相结合的结构[3-7]。文献[3]将经典的视线(line-of-sight , LOS)制导律与比例-积分-微分(proportion-integral-differential, PID)控制律相结合,实现了小型自航模在实验室环境下的航迹跟踪控制;文献[4]采用同样的方法设计了小型无人艇航迹跟踪控制器,并通过湖试验证了方法的有效性。为提高直线航迹跟踪控制精度,文献[5]针对海洋环境中的风浪流干扰问题,在LOS制导算法基础上增加积分项,提出了ILOS制导算法;文献[6]又在此基础上,提出一种非线性自适应路径跟踪控制方法,仿真结果表明该方法可以有效补偿由风浪流的干扰而产生的横向力;文献[7]考虑到非零时变横漂角的影响,将LOS制导算法与模糊自适应PID控制算法相结合,设计了一种考虑时变漂角的直线航迹跟踪控制器,并进行了海试验证。
尽管基于外环制导和内环控制相结合的航迹跟踪控制器设计方法已广泛应用于工程实践,但其在实际应用中经常出现航迹转向阶段航向角波动大、航向角曲线不平缓的现象[3,8],转向阶段航迹跟踪的动态品质欠佳。而目前针对上述问题的研究相对较少,文献[9]设计了一种制导律,通过自适应参数减小USV纵向速度改变对视线法的影响,采用tanh函数修正期望艏向曲线平缓度。然而,当船速在不断变化时,无人艇的操纵性也会随之而变,模型参数必将受到一定程度的影响,这显然不利于精确的航向控制。
本文针对上述航迹转向阶段USV航向角波动大、航向角曲线不平缓的问题,以经典的直线航迹跟踪算法为设计基础,开展了算法优化设计,提出了一种基于可变切换点圆半径参数的航迹跟踪算法。仿真结果表明,本文的设计方法能够有效改善航迹转向阶段的动态性能。
1 USV操纵响应模型USV操纵响应模型是描述系统输入(如舵角或螺旋桨转速)与系统输出(如首向角或转首角速度)之间的动态响应关系的数学模型。由于一阶响应模型比较简单,需要考虑的参数影响又比较少,在建模过程中又很容易得到,在实际应用中也能够反映船舶运动的动态特性,因而本文采用目前广泛使用的一阶野本(Nomoto)模型,其数学表达式为[10]:
$ \left\{ {\begin{array}{*{20}{c}} {T\dot r + r = K\delta }, \\ {r = \dot \psi } {\text 。} \end{array}} \right. $ | (1) |
其中:δ为输入舵角;ψ为输出艏向角;r为转首角速度;K,T为操纵性指数,一般可直接通过规定的实船试验来获取[10]。
2 航迹跟踪控制的基本原理航迹跟踪算法的基本思想是将算法设计分解为航向制导律设计和航向控制器设计2个组成部分,使得航向控制器的设计独立于航向制导律的设计。
航迹跟踪控制的基本原理如图1所示。首先,航向制导律根据期望路径点(xd , yd)与GPS测得的当前船位信息(x, y),计算当前期望航向角ψd;然后,航向控制器根据当前期望航向角ψd与当前航向角ψ的角度偏差ψe,输出当前舵角指令。最终,舵机通过执行该指令产生相应舵角,控制USV转向,使USV航迹偏差减小,回到设定航迹的偏差带内。
![]() |
图 1 航迹跟踪控制原理图 Fig. 1 Schematic diagram of path tracking control |
在实际工程应用中,一般根据LOS制导原理来设计航向制导算法,同时根据PID控制原理来设计航向控制算法。
1)LOS制导算法
LOS制导算法的指导思想是:如果使被控USV的航向保持对准视线角,那么经过适当的控制,就能使被控USV到达期望的位置,达到航迹跟踪的效果[3]。
LOS制导算法的基本原理如图2所示,该算法通过引入一个可视距离Δ来实现。该可视距离被定义为USV期望航向ψd与期望航迹的交点PLOS和USV当前位置在期望航迹上的投影点之间的距离,且Δ=nL,其中L为USV长度,n一般取2~5。该制导算法的数学公式为[3]:
$ {\psi _d} = {\alpha _k} + \arctan \left( {\frac{{ - e}}{\Delta }} \right), $ | (2) |
式中:ψd为当前的期望航向;e表示当前的横向偏差;αk是大地坐标系正北方向与期望航迹线PkPk+1的夹角。
![]() |
图 2 LOS制导原理示意图 Fig. 2 Schematic diagram of LOS guidance principle |
2)PID控制算法
本文根据PID控制原理来设计航向控制器,其原理表达式为:
$ \delta = {K_P}{\psi _e} + {K_I}\int {{\psi _e}{\rm d}t} + {K_D}{\dot \psi _e}。$ | (3) |
其中:δ为当前的指令舵角;ψe为当前航向角偏差,且ψe=ψd-ψ;KP,KI和KD为控制器参数。一般而言,通过设计合理的控制器参数,即可使得航向角误差收敛于零。
3)路径跟踪点的切换规则
假设每一段期望直线航迹都由2个期望路径点来确定,若USV经控制算法跟踪当前期望路径点Pk+1(xk+1,yk+1),则当USV进入该期望路径点一定范围时,就自动放弃跟踪该期望路径点,而转入跟踪下一个期望路径点Pk+2(xk+2,yk+2)。
通常的做法是,一旦USV当前位置P(x, y)满足如下条件:
$ {(x - {x_{k + 1}})^2} + {(y - {y_{k + 1}})^2} \leqslant {R^2}{\text ,} $ | (4) |
则立即开始跟踪下一个期望路径点,参数R在这里称为切换点圆半径,一般根据经验来确定。
3 航迹跟踪算法优化设计 3.1 参数R的寻优方法假设USV以一定的巡航速度进行航迹跟踪,且假定每次都以相同的转角进行直线航迹切换,下面给出某一特定转角条件下参数R的优化方法。
1)设计目标函数为:
$ f = \int {\left| {e(t)} \right|{\rm d}t}, $ | (5) |
其中,e(t)为t时刻的横向偏差,当USV切换跟踪航迹点时开始累积横向偏差,当横向偏差稳定时则停止累积;注意,这里判定稳定时需要同时考虑横向偏差及其变化率。
1)设计约束条件为:
$ \left| {\;f - \left| {\int {e(t)} dt} \right|\;} \right| < \varepsilon, $ | (6) |
其中,ε为误差容许值。
3)粗略估计R的范围[Rmin, Rmax],并根据这个范围,采用二分法查找最优解。
这里,二分法查找的基本思路是:
每进行1次航迹切换就计算1次目标函数值,假定当前是进行第j次切换,并设定Rj的初值R1为(Rmin+Rmax)/2,当
如果满足条件(6),则
$ \left\{ {\begin{array}{*{20}{c}} {{R_{max}} = {R_{j - 1}}}\text{,} \\ {{R_j} = {R_{j - 1}} - ({R_{max}} - {R_{min}})/2} \text{。} \end{array}} \right. $ | (7) |
如果不满足条件(6),则
$ \left\{ {\begin{array}{*{20}{c}} {{R_{min}} = {R_{j - 1}}} \text{,}\\ {{R_j} = {R_{j - 1}} + ({R_{max}} - {R_{min}})/2} \text{。} \end{array}} \right. $ | (8) |
二分法查找最优解的终止条件为目标函数值趋于稳定。
需要说明的是,由于参数R主要影响初始横向偏差,而基于LOS制导原理的航迹跟踪算法的收敛性与横向偏差的初值无关,因此参数R并不影响航迹跟踪算法的收敛性。
3.2 航迹跟踪算法设计首先,根据不同的航迹切换转角(10°,20°,…)设计各自的寻优路径,对参数R分别寻优,得到10°,20°,…分别对应的最优参数R1,R2,…。
其次,按照阶梯法则设计参数R的参考规则表,如表1所示。
![]() |
表 1 设计参数R的参考规则 Tab.1 The reference rule of design parameter R |
根据USV巡航任务的路径点P1,P2…,PN+1的位置信息,计算转向角β1,β2,…,βN,再依据参考规则表寻找各自所对应的切换点圆半径R1,R2,…,RN。
最后,根据第2节的方法来设计航迹跟踪算法,并按照上述切换点圆半径序列来进行参数R的优化设计。
需要注意的是,在USV实际巡航探测作业中,若超过120°的大转角并不常见,则可不用针对这些大转角来设计路径对参数R寻优,以便节省USV控制系统优化调试时间。
4 仿真结果分析本文仿真选用的模型参数为文献[8]给出的参数:船长3.96m,型宽1.55 m,吃水0.3~0.5 m,满载排水量0.708t;船速为1m/s时的操纵性指数K为0.25,T为2.17;舵机的角度操控范围为[−25°, 25°]。
4.1 参数R对航向角曲线平缓度的影响假设USV初始位置为(100,0),设定路径点为P1(100,0),P2(100,300)和P3,其中P3的坐标随转角而定。USV初始航向为0°,巡航速度设定为1 m/s。
通过仿真可以发现,一方面,由图3和图4所示,不管是大转角还是小转角,当参数R由一个足够大的值逐渐减小到某临界值时,USV的运动轨迹都逐渐地收敛到期望航迹上,航向角也无超调的收敛于期望航向,且收敛速度随R的减小而加快;另一方面,当参数R小于这个临界值时,USV的运动轨迹将越过下一段期望航迹,如图3(b)和图3(c)所示,航向角也相应产生较大超调,如图4(b)和图4(c)所示。当然,这里的临界值也因转角而异,大转角的临界值相对较高,小转角的临界值相对较低。
![]() |
图 3 不同转角条件下的USV轨迹 Fig. 3 Trajectory of USV under different turning angles |
![]() |
图 4 不同转角条件下的航向角变化曲线 Fig. 4 Variation curve of heading angle under different turning angles |
由此可知,当USV进行直线航迹切换时,需要根据不同的转角来优化各自的切换点圆半径参数R。否则,若参数R取得过大,则可能导致USV航迹跟踪收敛速度较慢;反过来,若参数R取得过小,则可能使USV首向曲线在目标航向附近产生较大幅度波动。
4.2 参数R的寻优过程及结果分析在USV定速巡航的速度为1 m/s、LOS制导律中可视距离Δ为20 m、舵机的舵角限幅为±25°的前提条件下,首先根据经验大致估计Rmax为50 m、Rmin为0 m,然后可得R初值为25 m,最后分别针对不同的航迹切换转角设计不同路径,寻找各自的最优参数R。
部分转角对应的参数R的寻优过程如表2所示。由表2可知,一方面,最优参数R的求解精度随迭代次数的增加而逐渐提高,当迭代5次即可达到米级的精度,当迭代8次则可达到分米级的精度;另一方面,不同的航迹切换转角对应着不同的最优参数R,且该最优参数随着转角的增大而增大。另外,按照3.2节的优化设计方法,可针对仿真模型制作参数R的参考规则表,结果如表3所示。
![]() |
表 2 参数R的迭代寻优过程 Tab.2 Iterative optimization process of parameter R |
![]() |
表 3 参数R的参考规则表 Tab.3 Reference rules of parameter R |
假设USV初始位置为(0, 0),初始航向为0°,定速巡航速度为1m/s,舵角限幅为±25°。设置路径点为P1(100,0),P2(100,300),P3(300,400),P4(400,250),P5(400,50),P6(700,200),单位为m。这里共有5段直线路径和4次航迹切换,经计算可知这4次航迹切换转角分别为63.4°,82.9°,33.7°和116.6°,根据表3的参考规则,可将参数R分别设计为8.7,11.4,5.2和18.3。
本次仿真中,原算法采用的是基于LOS制导律和PID控制律的航迹跟踪算法。根据图5可知,在整个航迹跟踪过程中,不管原算法的参数R取大还是取小,原算法与本文优化算法的轨迹曲线基本吻合,都能较好地跟踪期望航迹,当初始横向偏差较大时也能收敛,但2种算法在航迹切换点附近的跟踪效果有所差异。
![]() |
图 5 航迹跟踪轨迹 Fig. 5 Path tracking trajectory |
由图6可知,在350 s前后的63.4°转角和580 s前后的82.9°转角两处,参数R为10的原算法和本文优化算法均能使航向角以较快的速度跟踪到目标航向且几乎无超调,其根本原因是原算法参数R的取值正好在最优值附近,而本文优化算法则是直接针对不同转角设计相应的优化参数R,该参数也在最优值附近;在750 s前后的33.7°小转角处,原算法中参数R不管取20还是10都不合适,其收敛速度均不及本文优化算法;在950 s前后的116.6°大转角处,参数R为20的原算法和本文优化算法均能使航向无超调地到达目标航向处,且本文优化算法的收敛速度相对更快一些,而参数R为10的原算法则使横向偏差曲线(见图7)和航向角曲线(见图6)均产生了较大幅度的波动。
![]() |
图 6 航向角变化曲线 Fig. 6 Variation curve of heading angle |
![]() |
图 7 横向偏差变化曲线 Fig. 7 Variation curve of lateral deviation |
由此可见,按照本文的优化算法,针对不同的转角设计不同的优化参数R,可以使USV在航迹切换时快速且平稳地跟踪下一段期望航迹。
5 结 语为解决USV直线航迹跟踪工程实践中遇到的航迹转向阶段航向角波动大、航向角曲线不平缓的问题,考虑到航迹切换点圆半径参数R对航向角曲线平缓度有较大影响,因而以参数R为优化对象,并以横向偏差累积结果为目标函数,提出了一种基于二分法查找的参数寻优方法,然后以经典的基于LOS制导律和PID控制律的航迹跟踪算法为设计基础,给出了一种算法优化设计方案。在本文优化算法中,参数R被设计为可变参数,且因转角大小而异。仿真结果表明,本文的优化算法有效,能使USV在航迹转向阶段快速且平稳地跟踪下一段期望航迹。
[1] |
郑华荣, 魏艳, 瞿逢重. 水面无人艇研究现状[J]. 中国造船, 2020, 61(S1): 228-240. |
[2] |
田勇, 王丹, 彭周华, 等. 无人水面艇直线航迹跟踪控制器的设计与验证[J]. 大连海事大学学报, 2015, 41(4): 14-18. |
[3] |
韩鹏, 刘志林, 周泽才, 等. 基于LOS法的自航模航迹跟踪控制算法实现[J]. 应用科技, 2018, 45(03): 66-70. |
[4] |
陈卓, 金建海, 张波, 等. 水面无人艇自主导航与控制系统的设计与实现[J]. 中国造船, 2020, 61(S1): 89-96. |
[5] |
BORHAUG E, PAVLOV A, PETTERSEN K Y. Integral LOS control for path following of underactuated marine surface vessels in the presence of constant ocean currents [C]// Proceedings of the 47th IEEE Conference on Decision and Control. Piscataway, NJ: IEEE Press, 2008: 4984−4991.
|
[6] |
FOSSEN T I, PETTERSEN K Y, GALEAZZI R. Line-of-sight path following for dubins paths with adaptive sideslip compensation of drift forces[J]. IEEE Transactions on Control Systems Technology, 2015, 23(2): 820-827. DOI:10.1109/TCST.2014.2338354 |
[7] |
范云生, 郭晨, 赵永生, 等. 时变漂角下USV直线路径跟踪控制器设计与验证[J]. 仪器仪表学报, 2016, 37(11): 2514-2520. DOI:10.3969/j.issn.0254-3087.2016.11.014 |
[8] |
文元桥, 杨吉, 王亚周, 等. 无人艇自适应路径跟踪控制器的设计与验证[J]. 哈尔滨工程大学学报, 2019, 40(3): 482-488. |
[9] |
朱骋, 庄佳园, 张磊, 等. 基于改进视线法的欠驱动无人艇路径跟踪[J]. 哈尔滨工程大学学报, 2020, 41(6): 784-791. |
[10] |
李永涛. 水面无人艇参数辨识方法研究[D]. 哈尔滨: 哈尔滨工程大学, 2015.
|