王晋鑫 张政
(中船航海科技有限责任公司 北京 100071)
狭窄水域通常指船舶受到水域和水深限制、可航水域较为狭窄,致使船舶操纵受到一定限制的区域。诸如江河、运河、狭窄的海峡、岛礁区、某些分道通航限制水域等。在狭窄水域中,船舶避碰具有以下特点。
(1)空间有限:狭窄水域下船舶的航行空间非常有限,没有条件在较远的距离采取避碰动作,因此需要采取更加谨慎的避碰措施,以避免发生碰撞事故。(2)船舶密度大:在狭窄水域中,相比于开阔水域,船舶之间可能会非常接近,进一步增加了避碰的难度。(3)需要更精准的操纵:在狭窄水域中,需要对船舶实现更精准地控制,以便能够精确避让其他船舶或障碍物。
基于以上特点,本文提出一种基于人工势场法和模型预测控制的船舶智能变速避碰算法。该方法通过对周围环境建模建立人工势场,结合模型预测控制,根据《国际海上避碰规则》对船舶避碰规则和变速的相关要求,预测迭代一定时间内的避碰情况,给出可行的速度值和建议航向。图1为该算法整体框架图。
图1 算法整体框架图
近年来,国内外学者在船舶避碰领域通过对不同算法的研究,产生了众多成果。KUWATA 等人[1]采用速度障碍法并融合海事规则,实现了无人艇的自主避障。1986年,KHATIB O[2]首次提出人工势场法(Artificial Potential Field,APF),并应用于路径规划中。APF方法原理较为简单,易于实现,具有计算速度快的特点,在船舶避碰领域有很强的适用性。
在船舶避碰中应用人工势场法有以下步骤。
1.1.1 构建引力场
引力场的作用是可以使船舶沿着最短路径向目标点移动。引力大小与距离成反比,即船舶离目标点越远,引力越大;引力常数则控制了引力的大小。
式(1)中,Fatt为目标点对本船引力,Katt为引力系数,dog为本船与目标点的距离,Pog为单位矢量,方向为本船指向目标点。
1.1.2 构建斥力场
式(2)中,Krep为斥力系数,d为船舶当前位置与障碍物的距离,Robs为障碍物的半径,d→为船舶当前位置与障碍物中心的向量。斥力场的作用是使船舶远离障碍物,当船舶与障碍物的距离小于障碍物半径时,斥力会增大,直到船舶与障碍物的距离等于障碍物半径时达到最大值。斥力场的大小与船舶与障碍物的距离成反比,与障碍物半径成正比,即船舶离障碍物越近,斥力越大。
1.1.3 计算合力,得出建议航向
在避碰过程中,如果存在多个障碍物,则可以将它们的斥力场叠加,最终的虚拟势场是引力场和斥力场的叠加,船舶会根据虚拟势场的大小和方向做出相应的决策,从而避免与障碍物碰撞。
斥力场合力的大小和方向将与引力场合力的大小和方向相互作用,最终形成虚拟势场,从而实现船舶的避碰。通过合力计算,便可以得到当前状态下的建议航向。
1.2.1 算法概述
模型预测控制(Model Predictive Control,MPC)是一种先进的控制方法,它将预测模型与最优化算法相结合,通过预测系统的未来行为来计算出最优控制动作,从而实现对系统的控制。在应用于船舶避碰时,通过输入当前船舶状态和建议航向以及场景中障碍物、其他船只等环境参数,模拟预测未来一段时间内的船舶运动状态和周围环境变化[3]。
1.2.2 模型选取
描述舰船操纵性的运动模型主要分为以Abkowitz为代表的整体型结构模型、日本拖拽水池委员会提出的分离型结构模型和20 世纪50 年代末野本谦作提出的响应性模型。响应性船舶运动模型相比于分离型模型或整体型模型,可通过实船试验直接获得,简洁且有良好的易用性,实现尺度效应自动消除,广泛应用在船舶操纵性研究领域[4]。本文选取的是整体性模型。
1.2.3 评价函数选取
评价函数用于在有限时域内考察当前指令下预测结果,从而评价指令的可行性,从而实现优化[5]。评价函数需要综合考虑多个方面的影响,本文使用的评价函数考察目标与本船的TCPA、CPA、与建议航向的偏差和速度变化差值4个方面。
(1)TCPA评价函数。
式(4)中:TCPAi为第i个目标的TCPA;doi为第i个目标与本船的绝对距离。当TCPA 为负值或者大于阈值时,不计入评价指数中。
(2)CPA评价函数。
式(5)中,CPAi为第i个目标的CPA,doi为第i个目标与本船的绝对距离。当CPA 为负值或者大于阈值时,不计入评价指数中。
(3)与建议航向偏差评价函数。
式(6)中:K1和K2为方向偏差指标常量;COSadv为人工势场法传入的建议航向;COSpre为预测推演得到的航向。与建议航向偏差越小,评价结果越高。
(4)与建议航速偏差评价函数。
式(7)中:K3和K4为速度变化指标常量;Vcur为本船当前的航速;Vpre为预测推演得到的航速。为保证船舶的稳定行驶,速度改变值越小,评价结果越高。
最终的评价函数为
式(8)中:μTCPA、μCPA、μCdiff和μVdiff分别为TCPA、CPA、航向偏差和速度变化的评价权重系数,各种权重系数的和为1。通过对不同方面的评价结果赋予不同的权重系数,可以在不同情况下生成更合理的评价。
模型接收本船信息、他船信息和周围环境信息,通过人工势场法计算得到的建议航向初步判断舵角指令,之后通过模型推演预测,计算得到单次算法执行时间内的本船状态和周围环境变化,并计算评价指标,优先迭代舵角指令。设置评价指标的阈值,当小范围内迭代结果满足阈值,则选择评价指标最好的参数进行输出。当所有舵角指令无法达到评价阈值,则迭代推进指令,直到满足阈值并输出[6-7]。算法整体流程框架详见图2。
图2 算法流程结构图
本文使用Simulink 对IEC62065 标准中的给出的一种船型进行模拟预测仿真[8]。模型参数如表1所示。
表1 船舶模型参数表
本船初始状态见表2的本船信息表。
表2 本船信息表
他船初始状态见表3的他船信息表。
表3 他船信息表
如图3 显示,此片狭窄水域中,包含4 艘处于运动状态的他船,目标点位于本船90°位置。本船开始运动后,1 号他船从右舷驶来,本船按照国际规则,执行右舷避让操作。在图4中,本船通过右转成功避让1号船,并继续驶向目标点,之后检测到2号和3号船,调整航速航向避开上述船只。其次,本船接收4号船信息:4号船从本船左舷驶来,按照避碰规则4号船应做右舷避让,本船不做避让。当两船到本船设定的紧急避碰范围内如图5所示,本船辨识到5号船并未按照避碰规则进行避让,选择减速让4号船先行通过,之后安全到达目标点位置如图6所示。
图3 仿真初始状态
图4 右舷避让
图6 仿真结束
本文首先根据狭窄水域内船舶空间有限、船只密度大,需要精准操纵的特点,提出一种基于人工势场法和模型预测控制的船舶智能变速避碰算法,并介绍该算法的主要流程和细节:通过人工势场法计算出建议航向,并通过模型预测控制对参数进行迭代,给出合理、安全的操纵建议。最后,通过仿真模拟,证明本方法的可行性和有效性。