基于改进混合蛙跳算法的船舶推力分配

2021-11-12 07:53卞显洋肖健梅
船电技术 2021年11期
关键词:蛙跳推进器青蛙

卞显洋,肖健梅

基于改进混合蛙跳算法的船舶推力分配

卞显洋,肖健梅

(上海海事大学物流工程学院,上海 201306)

为了提高船舶动力定位系统的定位精度,保障海上正常作业,本文提出了一种基于改进混合蛙跳算法的船舶推力分配方法。建立了以船舶的推进系统功率最小为目标函数,其中目标包括船舶推进器的功率消耗,推进器的磨损,推力的误差。约束条件包括推进器的推力和方向角正常工作大小以及其变化率的大小。针对传统的混合蛙跳算法的初始化和更新规则进行改进。将改进前后的混合蛙跳算法对船舶推力分配问题进行优化求解,仿真的结果表明改进后混合蛙跳算法能有效的降低船舶的功率消耗,并且提高了船舶动力定位系统的相关精度。

动力定位推力分配混合蛙跳算法功率消耗

0 引言

随着全球贸易联系越来越密切,传统的锚泊式船舶不再适应快速发展的海上作业要求,它的作业精度不高还受水深的影响较大。当下,大部分出海远洋船舶都装备了船舶动力定位系统,它的功能就是使船舶在预先设定的轨迹上航行,提供船舶精准的动力定位服务。推力分配模块是船舶定位系统的核心,它依据船舶动力定位控制器发出的期望推进器推力和力矩,在推力分配模块上对推力和力矩进行合理的分配优化,然后再将推力指令发送给各个船舶的推进器。高效合理的分配船舶各个推进器的推力和推力角,能减少船舶的推进器磨损,推力误差,降低船舶功率消耗。同时还需考虑船舶经济性,怎样使得船舶推进器的功率消耗最少是推力分配模块需要优化目标。从上分析可知,船舶推力分配问题是一个有约束条件的推力分配优化问题[2~3]。

当前,主要应用的方法是序列二次规划法来解决推力优化分配问题,但此方法比较复杂和编程较难实现,约束条件对其影响较大,所以序列二次规划法的应用范围较窄。徐云成[2]等人用序列二次规划法来优化推力分配问题,结果表明船舶推进器的推力和推力角没有太大的起伏变化,表现较为平稳,同时船舶推进器各项误差相对较小。但该方法的缺点是没有将船舶定位控制器和推力分配模块相联系进行实时的仿真,应用的范围较窄。最近些年,研究者在推力分配问题中融入人工智能算法。当前,解决推力分配问题的智能算法主要有遗传算法、人工鱼群算法和粒子群算法等[3]。智能算法处理优化问题速度较快,而且效率较高。

本文提出混合蛙跳算法对于船舶推力分配问题进行优化求解并且改进混合蛙跳算法。因为改进前混合蛙跳算法容易依赖初始值,陷入局部最优,求解的精度性不够。对于混合蛙跳算法的初始值进行改进引入混沌优化原则[4],再对混合蛙跳算法的更新规则进行改进引入收缩因子的策略。这些改进提高了混合蛙跳算法种群的多样性和收敛速度。可以减少期望推力与实际推力之间的误差。

1 船舶动力定位数学模型

1.1 船舶运动学模型

本文船舶动力定位系统只将船舶在海面上的纵荡、橫荡及艏向三个自由度[5]考虑在内。船舶的运动学方程如以下公式所示:

1.2 船舶动力学模型

船舶在海中巡航时速度较为缓慢,其变化程度较低。在这里,我们忽略科里奥立向心矩阵对船舶产生的影响以及非线性阻尼矩阵,将海洋环境扰动力考虑在内,得到如下船舶动力学公式:

1.3 船舶动力定位控制器

船舶的在航行过程中受到自身和海洋环境扰动力的影响就会出现偏离航线的问题,此时需要设计一个动力定位控制器通过其精确计算得到船舶达到期望位置所需的合力及力矩,动力定位控制器的原理就是将设定值和实际值进行比较得到差值。通过不断的调整,使船舶的实际位置和艏摇越来越接近期望值,从而达到动力定位控制器的控制目的。大多数情况下,PID 控制器是动力定位控制器的首选方案,它具有较简单的设计原理和较好的稳定性等许多优点[7]。PID 控制器的设计框图如图1所示:

图1 动力定位控制器原理框图

船舶动力定位系统的期望值与实际值经过动力定位器的比较,进行不断的计算调整,如上图可得到如下的关系公式:

2 推力分配问题

船舶动力定位系统推力分配是一个多目标优化的问题[8]。本文建立一个多目标多约束条件的非线性的船舶动力定位系统推力分配模型。以此使推进系统的能量消耗、控制系统与推进系统之间的推力误差、推进器磨损等因素降到最低。

2.1 推力分配数学模型

推力分配模块的主要作用就是接收船舶动力定位控制器发出的期望力和力矩指令,然后根据推力分配模块内部的优化算法进行优化推力分配以此来确定船舶各个推进器的推力大小和推力角度。如图2是推力分配的原理图,以下是推力模型的是数学公式:

图2 动力定位系统的推力分配原理图

2.2 推力分配的目标函数及约束条件

船舶的推力分配问题不仅需要考虑船舶每个推进器产生的推力和推力角的大小与船舶实际产生实际的推力和推力角的差值。还需要考虑推力和推力角的正常工作范围内最大和最小值,还有推力和推力角大小的变化率大小。推力分配模块根据复杂的海洋环境扰动力实时的做出改变推进器的推力和推力角的大小的命令,而推进器很难在短时间内做出反应,其反应有个合理的工作范围。与此同时,安装在船舶后侧的全回转推进器的超负荷旋转会减少推进器的寿命和推进器的功率。另外,船舶推进器是多个协同工作,而船舶推进器工作时其产生的螺旋桨涡流会对相邻推进器产生水动力影响,干扰其正常工作。这需要对推进器推力和推力角大小及变化率进行约束。

以下是推力分配的目标函数:

3 混合蛙跳算法

3.1 混合蛙跳算法的数学模型

1)青蛙个体向子种群最优个体更新

2)青蛙个体向种群中最优个体进化

式中x是子种群里最好的青蛙个体,x是子种群里最差的青蛙个体,x是全局最好的青蛙。

青蛙个体的随机进化规则:当经过青蛙个体向子种群最优个体和全局最优个体进化后,新个体并未如原先解好,则用rand函数产生新个体,新个体必须符合定义域。

3.2 改进混合蛙跳算法

虽然混合蛙跳算法有着收敛速度较快、稳定性强、步骤简单等优点,但随着推力分配优化问题复杂程度和维数的增加,混合蛙跳算法容易发生种群内局部最优,所以有必要对混合蛙跳算法进行改进。本文首先改进其初始化的方法,采用混沌化原则进行改进。接下来对混合蛙跳算法的进化更新规则进行改进,采用收缩因子方法。

3.2.1混合蛙跳算法的初始化方法改进

改进前的混合蛙跳算法,它的青蛙个体是经过rand函数随机产生的。随机产生混合蛙跳算法初始解的方法不仅会大大降低算法的寻优精度以及算法的收敛时间,而且其具有盲目性。也可能会造成初始的青蛙个体位置可能极不均匀,比如所有位置好的青蛙集中在一块,而位置差的集中在一块,这也大大的增加了算法计算的成本,降低混合蛙跳算法优化问题的效率。

在这采用 Logistic 混沌映射,其公式如下:

将混沌变量在混合蛙跳算法初始化中加入,增加了混合蛙跳算法的种群的多样性,同时也加快了混合蛙跳收敛速度和优化求解的效率。

3.2.2混合蛙跳算法的收缩因子更新方法

混合蛙跳算法局部搜索和全局搜索,其原理首先利用子种群中位置最好的青蛙个体进行更新进化,若发现子种群最优个体更新后效果不如原来,就利用种群位置最好的青蛙个体来进行更新进化。倘若全局最优的个体青蛙更新效果也不如原来时,就随机产生新的青蛙个体。这样传统的混合蛙跳算法更新方法对于种群中青蛙个体的信息交流产生非常不利的影响。为了达到蛙尽其用的目的,采用了粒子群算法中的收缩因子更新方法,此时全局最优的青蛙和子种群最优的青蛙将得到充分的利用。具体公式如下:

(13)

式中1和2是加速常数且是非负的,1和2是0到1范围的随机数,是收缩因子。将混合蛙跳算法中更新后的最差青蛙个体同更新前进行适应度值的相比,如果适应度值优于原来的最差个体,则用产生的新的青蛙个体来来代替它。如果并不优于原来最差的青蛙个体,则以式子(11)为依据,以更新后的青蛙个体为映射初始值,混沌初始化的方式产生新的青蛙个体。

4 船舶动力定位仿真

图3 船舶动力定位的位置

由图3可以看出,当船舶到达期望位置后,在环境扰动下基本可以稳定在原位,并且在3个自由度上几乎无波动。

如图4、5是改进前后混合蛙跳算法的船舶各个推进器的推力仿真图。

图4 改进前算法的推力图

从图5中可分析得,船舶到达预先设定位置的航行过程中,推进器1和推进器2有明显的推力改进,同时推进器3和推进器4推力也表现的较为平稳。基于改进后的混合蛙跳算法推力变化的更加缓慢,振荡幅度很小,功率消耗上也更小。而改进前的混合蛙跳算法推力的变化幅度较大,不利于船舶的稳定航行,同时也会增加船舶的磨损。所以改进后的算法对于船舶推力有着更好的优化作用。

图5 改进后算法的推力图

如图6、7是改进前后混合蛙跳算法的船舶各个推进器的推力角仿真图。

图6 改进前各推进器的推力角

图7 改进后各推进器的推力角

由上面基于改进前后各推进器方向角变化对比分析可知,改进后的推进器3和推进器4更接近于零度,方向角度的变化更小,方向角的曲线更加平缓,且较改进前变化幅度更小。

图8 改进前推进器的总功率

图9 改进后推进器的总功率

通过对混合蛙跳算法改进后优化得到的功率曲线更平滑,功率变化幅度更小,改进后的功率更小。

5 结语

改进后的混合蛙跳算法能使船舶够准确预先设定的位置,提高动力定位的精度。并且能使船舶以较小的推力航行,其中推力和推进器方向角的变化幅度较小,减少了船舶的零件相互磨损有利于延长船舶的使用寿命。最关键的一项优化指标-功率消耗,改进后的算法优化效果明显。

[1] 廖成毅, 杨颖, 吉宇人. 船舶动力定位控制策略研究综述[J]. 舰船科学技术, 2020, 42(17):1-5.

[2] JOHANSEN T A, FOSSEN T I, BERGE S P. Constrained nonlinear control allocation with singularity avoidance using sequential quadratic programming[J]. IEEE Trans. Control Systems Technology, 2004, 12: 211–216.

[3] Zhao Dawei, Ding Fuguang, Tan Jinfeng, et al. Optimal thrust allocation based GA for dynamic Positioning ship[J]. IEEE International Conference on Mechatronics and Automation, Xi'an, China, 2010: 1254–1258.

[4] 徐云成, 俞孟蕻, 袁伟. 结合功率管理推力分配策略研究[J]. 船舶工程,2017, 39(12): 56-59, 64.

[5] 李新想, 王锡淮, 肖健梅. 基于遗传混沌粒子群混合算法的船舶动力定位推力分配研究[J]. 舰船科学技术, 2018, 40(23): 99-103.

[6] 刘明, 华亮, 周俊, 等. 动力定位船舶伪逆法与混沌粒子群法相融合的推力分配算法研究[J]. 海洋工程, 2016, 34(4): 100-106.

[7] Ngongi W E, Du J, Wang R. Robust fuzzy controllerdesign for dynamic positioning system of ships[J]. International Journal of Control Automation & Systems, 2015, 14(1): 1–12.

[8] 童进军, 何黎明, 田作华. 船舶动力定位系统的数学模型[J]. 船舶工程, 2002, (5): 27-29.

Ship Thrust Allocation Based on Improved Shuffled Frog Leaping Algorithm

Bian Xianyang, Xiao Jianmei

(Logistics Engineering College, Shanghai Maritime University, Shanghai 201306, China)

TP18

A

1003-4862(2021)11-0031-05

2021-03-30

卞显洋(1996-),硕士,研究方向:电力系统及其自动化。E-mail:bianxianyang182@163.com

猜你喜欢
蛙跳推进器青蛙
“三层七法”:提高初中生三级蛙跳能力的实践研究
基于CFD扇翼推进器敞水性能预报分析
发挥考核“指挥棒”“推进器”作用
小青蛙捉虫
谁能叫醒小青蛙?
让党建成为信仰播种机和工作推进器
青蛙便签夹
骄傲的青蛙
一种改进的混合蛙跳算法及其在水浴牵伸控制中的应用