基于MATLAB GUI的船舶操纵性指数计算

2022-02-09 16:51解国强
中国水运 2022年1期
关键词:运动控制

解国强

摘 要:为了满足在控制器设计时需要获取船舶操纵性指数这一问题,本文在梳理理论计算公式之后,在MATLAB的GUI中编程实现了两个船舶操纵性指数与三个时间常数的计算平台,并通过实例验证了平台计算结果的正确性。本文所做的研究对控制器设计者和船舶驾驶员了解船舶操纵性能均具有很大的参考价值。

关键词:船舶操纵性指数;MATLAB;GUI;运动控制

中图分类号:U445          文献标识码:A            文章编号:1006—7973(2022)01-0098-03

1引言

船舶Nomoto模型是在设计船舶航向保持等控制器时广泛使用的一种线性数学模型[1]。目前,可用于获取船舶Nomoto模型K、T指数的方法主要有三种[2]。这三种方法虽然最终都可以获得K、T指数的可靠数值,但在某些情况下,用二阶Nomoto模型来进行船舶航向保持等控制器设计仍稍显不足,如考虑执行器动态时则仍需采用三阶Nomoto模型,从而需要获得与T指数相对应的T1、T2和T3这三个时间常数的具体数值。本文采用公式计算的方法,借助MATLAB强大的数据计算与处理能力对涉及T1、T2和T3这三个参数的算式进行解算,并借助GUI的良好图形界面功能将最终结果展示出来,构建了一个图形用户界面的K、T指数计算平台,便于满足不同控制器设计情况对参数的需求,也方便以后进行其他功能的拓展。

诸多研究者借助MATLAB和GUI的强大功能对船舶方面的诸多问题进行了计算或可视化展示。文献[3]通过深入地研究了不规则的海浪干扰建模,以及海浪干扰对于船舶运动的作用和影响,构建了长峰和短峰不规则波的三维波面模型,并借助MATLAB自身的绘制函数给出了长峰与短峰不规则波的三维海面图。文献[4]主要是采用VB与MATLAB进行混合编程,设计出一款集数据提取、数据处理、建模、仿真及比较等多种功能于一体的现代化实船工业数据处理、建模和仿真系统。文献[5]采用VB.NET与MATLAB进行混合编程,设计出了可以用于计算与分析冰区航行船舶推进轴系时域瞬态振动的工程应用软件。文献[6]采用灰色预测理论对船载的相继增压柴油机性能进行预测,并采用MATLAB的GUI设计了一款灰色预测仿真平台。文献[7]采用MATLAB的GUI开发出了一套可实现计算表征船舶固有CO2排放水平评价指标功能的船舶能效设计指数EEDI的辅助计算系统。文献[8]借助MATLAB的GUI设计了一款用于深海铺管船托管架系统调整的软件。文献[9]在VB环境下,借助MATLAB强大的图形绘制功能,建立了一套船舶摇荡的可视化仿真平台。

2 Nomoto模型K、T指数计算方法

若想计算Nomoto模型的K、T指数,则需要获得船舶的8个基本参数的具体数值,即两柱间长L、船宽B、吃水D、方形系数Cb、重心距船中距离xc、船速V、舵叶面积Aδ、排水体积▽。

首先,根据Clarke给出的回归公式[10]计算出10个线性流体动力导数,如式(1)所示。

而式(1)中的是船舶本身的流体动力导数,在实际应用时还应考虑舵对船体流体动力导数的干扰,对这些流体动力导数做出一定的修正,其修正增量按式(2)确定[10]。

在对各流体动力导数进行修正后,可按式(3)计算得到6个相关的中间参量。

其中除先前所述的流体动力导数外,带撇的量为的无量纲数值,具体的无量纲方法按式(4)计算,其中ρ为海水密度。

最终按式(5)和式(6)计算可得二阶Nomoto模型的K、T指数。

其中,通常,的数值一般与相近[1]。对于操纵性良好的船舶,通常具有大的正值K和小的正值T。此外,,,,满足式(7)所对应的关系。

根据式(7),并在计算时考虑三个时间常数间的大小关系,最终可以获得时间常数,,的具体数值。

3基于MATLAB GUI的软件实现方法

图形用户界面(Graphical User Interfaces, GUI)给人的视觉感官与VB的设计环境很相似,且控件的外形及属性设置也与VB的相似,但在控件功能的程序实现上,MATLAB却显得更为简洁。程序由一个主函数、各子函数和功能函数构成。其中,主函数为固定格式的函数,无需修改。各子函数和功能函数需按照预先设计的作用进行代码的编辑。运行程序后可得到如图1所示的初始界面。

4实例验证

文献[12]中给出了大连海事大学教学实习船的基本参数与二阶Nomoto模型的K、T指数,见表1。将育鲲轮的基本参数输入到相应的文本框中后,按下确定按钮,最终可得到育鲲轮的各模型指数为K=0.31496,T=64.5289,T1=69.9575,T2=4.5081,T3=9.9367,计算界面如图2所示。若将程序结果四舍五入保留到小数点后两位,所得的最终结果与文献[12]中所给出的数据一致,且三个时间常数也满足文献[1]中所指出的数量关系,说明本文所设计的船舶操纵性指数的计算平台能够准确计算相应参数。

5结论

本文在MATLAB的GUI中编程实现了两个船舶操纵性指数与三个时间常数的计算平台,并通过实例验证了平台计算结果的正确性。通过平台所计算得到的数据,对于船舶运动控制器的设计具有很大的理论价值,与此同时,该系统还可在封装形成可执行文件后,供控制器设计者使用。也为船舶驾驶员了解船舶操纵性能提供了一种有效的数据获取途径。此外,本文所设计的系统还为未来拓展其他功能打下了基础。

参考文献:

[1] 张显库, 金一丞. 控制系统建模与数字仿真(第二版)[M]. 大连: 大连海事大学出版社, 2013.

[2] 李宗波,张显库,张杨.基于SPSS技术的船舶操纵性指数K、T预报[J].航海技术,2007(05):2-5.

[3] 钱小斌,尹勇,张秀凤,李业.海上不规则波浪扰动对船舶运动的影响[J].交通运输工程学报,2016,16(03):116-124.

[4] 张国庆,张显库.实船数据处理建模及仿真系统[J].中国造船,2011,52(03):52-58.

[5] 肖能齐,徐翔,周瑞平.冰区航行船舶轴系时域瞬态扭振计算及软件开发[J].中国造船,2019,60(02):138-149.

[6] 祖象欢,杨传雷,王银燕.基于GM(1,1)模型和MATLAB GUI的相繼增压柴油机性能预测[J].哈尔滨工程大学学报,2015,36(11):1454-1458.

[7] 朱刚,黄杰雄,温小飞.基于MATLAB的船舶能效设计指数辅助计算系统开发[J].中国水运(下半月),2019,19(08):77-78.

[8] 徐兴平,王西录,冯帆,汪海,张辛,王龙庭,刘广斗.基于深海铺管船托管架系统调整的软件开发[J].石油机械,2019,47(06):67-72.

[9] 晁大海,宋杨.基于VB与Matlab的船舶摇荡运动仿真[J].舰船科学技术,2018,40(19):63-66.

[10] Clarke D. The application of maneuvering criteria in hull design using linear theory[J]. RINA, 1982:45-68.

[11] 张志涌, 杨祖樱. MATLAB教程(R2018a)[M]. 北京:北京航空航天大学出版社, 2019.

[12] 关巍,周庆宏,任志浩,滕斌.规划控制策略下的无人船航向简捷鲁棒控制[J].哈尔滨工程大学学报,2019,40(11):1801-1808.

猜你喜欢
运动控制
具有自主感知行为的虚拟人运动控制技术研究综述
三维平动并联机床控制系统设计
贴片机X/Y轴快速高精度定位的实现
基于TMS320F2812的调光器系统的设计