舰船科学技术  2016, Vol. 38 Issue (7): 39-43   PDF    
船舶动力定位模拟器自动定位功能研究与实现
钱小斌, 尹勇, 张秀凤     
大连海事大学 航海动态仿真和控制实验室, 辽宁 大连 116026
摘要: 为了自主研发功能完备、扩展性好的船舶动力定位模拟器,分析船舶动力定位模拟器中各个模块的功能,对现有航海模拟器的系统架构进行改进,提出适用于多单元协同仿真的船舶动力定位模拟器系统架构。根据动力定位系统自动定位模式的原理,设计动力定位控制器和推力分配算法,提出使用Direct2D图形技术来设计动力定位人机交互界面。最后在所设计的动力定位模拟器系统架构下,以1艘动力定位供给船为仿真对象实现在不同海况条件下的自动定位功能和系统信息显示,并验证算法的有效性。
关键词: 动力定位模拟器     系统架构     自动定位     人机界面    
Auto position function research and implementation for ship dynamic positioning simulator
QIAN Xiao-bin, YIN Yong, ZHANG Xiu-feng     
Key Laboratory of Marine Simulation and Control, Dalian Maritime University, Dalian 116026, China
Abstract: In order to develop the full-featured dynamic positioning simulator with good extensibility, the function of each module of DP system is analyzed. System architecture is designed and improved based on the existing navigation simulator. According to the principle of auto position mode, DP controller and thruster allocation algorithm are designed. Human-machine interface module is developed by using Direct2D graphics technology. Under the architecture of DP simulator, the simulation experiments verify the effectiveness of the proposed algorithm, which can simulate Auto Position and system information display.
Key words: dynamic positioning simulator     system architecture     auto position     man-machine interface    
0 引言

动力定位系统由导航系统、控制系统、推进系统及动力系统组成,其运行模式包括手动模式、自动定位模式、自动区域定位模式、目标跟踪模式等[1]。动力定位模拟器是模拟动力定位船舶在海上作业时动力定位系统的操作和运行,主要用于人员培训和适任评估[2-3]。研究如何将诸多仿真单元高效、系统地整合为一个有机整体是研究动力定位模拟器的前提,这就需要研究运行效率高、扩展性强的动力定位模拟器系统架构。文献[4]开发的船舶操纵模拟器是虚拟现实技术在航海领域应用的一个成功案例。但操纵模拟器系统架构中的仿真节点负担过重[5],如海图机同时负担海图软件运行、数学模型解算、网络数据收发和转发等任务。为了能够成功地研制出船舶动力定位模拟器,本文分析动力定位系统各个模块的功能,在原有航海模拟器系统架构的基础上进行改进,提出适用于多单元协同仿真的船舶动力定位模拟器系统架构。

动力定位系统经历了经典控制理论、现代控制理论和智能控制技术3个阶段。目前大多数动力定位系统产品以第2代现代控制理论技术为主,由Balchen等首先提出[6]。随后Saelid和Fung分别采用频率自适应算法和自校正卡尔曼滤波器算法进行了改进和扩展[7-8]。在动力定位系统人机交互界面仿真方面,徐荣华等采用VC开发了半物理半仿真动力定位系统平台[9],吴楠等使用VB和Matlab混合编程实现了界面的仿真[10],施吉伟使用VC和Matlab混合编程实现了界面的仿真[11],刘学军使用WPF技术实现了界面的仿真[12]

针对船舶在不同海况条件下受到非零均值环境扰动的自动定位问题,在消化吸收现阶段的动力定位系统的相关理论研究成果,本文建立带有积分器的线性二次型动力定位控制器和推力分配算法,采用Direct2D图形技术对挪威康斯伯格海事公司的K-Pos动力定位系统的人机交互界面进行仿真,并在所设计的架构下实现了船舶在不同海况条件下的自动定位功能。

1 船舶动力定位模拟器系统架构 1.1 设计思想

挪威船级社对动力定位模拟器的等级划分为A、B、C和S,其中A级为最高级的全功能船舶动力定位操纵模拟器[1]。动力定位船舶可用于单船作业(钻井平台定位),也可应用于海上多船协同作业(如浮式生产储存装载单元作业等),因而模拟器需要实现多船交互功能。因此,DP模拟器应是一个多船协同仿真系统,采用分布交互式仿真技术,将不同房间的船型和教练员站连接在同一个网络中,同时将不同单元的子系统进行整合,从而实现整个系统的互联和实时运行。

为解决现有航海模拟器系统架构中各个网络节点(海图机)存在负担过重的问题[5],在动力定位模拟器系统架构中进行以下改进:

1) 船舶运动数学模型解算的任务将由DP机实现,对于满足DP2的系统(含2套DP机),由主DP机实现。则DP机需要实时解算船舶运动数学模型、动力定位控制系统功能解算等。

2) 增加1台网络服务器,用于网络数据的接收和转发。系统中各个计算机将数据发送给服务器,服务器再将接收的数据转发给其他计算机。

因此,网络通信结构在软件上由树形拓扑结构变为星状拓扑结构(见图 1),通信协议采用TCP/IP协议。

图 1 动力定位模拟器系统架构 Fig. 1 System architecture of dynamic positioning simulator
1.2 系统组成

动力定位模拟器由1个教练员站和多个船构成,各个本船根据其大小可布置在同一房间或不同的房间中,系统构成如图 1所示。DP模拟器的关键技术包括船舶运动数学模型、数据处理与滤波技术、动力定位控制算法、推力分配算法、三维视景显示技术、计算机网络技术、DP故障与评估模型等。

教练员站主要用于教师对学员进行教学和讲评,并控制学员站的运行,由教师机、网络服务器、本船视景监控终端、DP机操作界面监控终端、闭路电视视频监控、投影仪和打印机等组成。本船单元由DP机、视景系统、雷达、ECDIS、报警机、望远镜以及传感器(位置参考系统、风传感器、首向传感器)等模拟设备组成,其中DP机、报警单元、传感器是主要的模拟对象。而所有仿真设备的数据通信均需通过网络服务器进行转发。

2 船舶自动定位功能仿真

针对船舶受到非零均值环境扰动下的自动定位问题,动力定位控制器根据该测量位置和期望位置的偏差计算所需的控制力,同时与风扰动的前馈补偿叠加,通过推力分配得到各个推进器的推力,以克服环境扰动使船舶自动定位,最后由船舶运动数学模型计算出船舶的运动状态,并在人机交互界面中显示相关信息,如图 2所示。

图 2 自动定位模式的工作原理 Fig. 2 Principle of auto position model
2.1 船舶动力定位系统的数学模型

船舶水面动力定位只考虑纵荡、横荡和首摇3个自由度。如图 3所示,向量$\boldsymbol{\eta} {\rm{ = }}{[x{\rm{, }}\;y{\rm{, }}\;\psi]^{\rm{T}}}$表示船舶在北东坐标系O0X0Y0下的位置和航向,向量$\nu {\rm{ = }}{[u{\rm{, }}\;v{\rm{, }}\;r]^{\rm{T}}}$表示船舶在随船坐标系下的水平速度和首摇角速度。由于船舶首向变化很小,应用小角理论,引入船体平行坐标OpXpYp,原点Op是在期望位置(xd, yd),位置向量可表示为${\boldsymbol{\eta} _p} = {[{x_p}, \;{y_p}, \;{\psi _p}]^{\rm{T}}}$,则动力定位船舶在海面运动的数学模型表示为[13]

$ \begin{array}{*{20}{c}} {{{\dot \eta }_p} = \nu, }\\ {\boldsymbol{M}\dot \nu + \boldsymbol{C}(\nu )\nu + \boldsymbol{D}(\nu )\nu + g(\eta ) = \tau + {\tau _E}, } \end{array} $ (1)
$ \eta = \boldsymbol{R}(\psi ){\eta _p}。 $ (2)
图 3 船体平行参考系统 Fig. 3 Vessel parallel coordinates

式中:M为含附加质量的惯性矩阵;C为科氏向心力;D为线性的阻尼矩阵;g为恢复力和力矩;τ为推进器实际产生的推力;τE为环境扰动;R(ψ)为旋转矩阵。

2.2 环境扰动模型

动力定位船舶在自动定位过程中,处于低速或静止状态,易受到风浪等海洋环境扰动的影响,为此建立海洋环境扰动模型。

风对船舶的作用力和力矩的计算可按如下计算[14]

$ {\tau _{wind}} = \frac{1}{2}{\rho _a}U_{wind\_R}^2\left[{\begin{array}{*{20}{l}} {{C_X}{A_T}}\\ {{C_Y}{A_L}}\\ {{C_N}{A_L}L} \end{array}} \right]。 $ (3)

式中:ρa为空气密度;CXCYCN为风压力(矩)系数,本文采用Isherwood经验公式计算获得;ATAL分别为船舶水线以上正投影面积和侧投影面积;L为船长。

1阶波浪力和力矩采用文献[15]的波浪扰动力算法。2阶波浪力和力矩采用Daidola提出的波浪漂移力和力矩的计算公式[16]

$ {\tau _{wave}} = \frac{{\rho gL\zeta }}{2}\left[{\begin{array}{*{20}{l}} {{C_{xw}}\cos ({\chi _e})}\\ {{C_{yw}}sin({\chi _e})}\\ {{C_{nw}}sin({\chi _e})} \end{array}} \right]。 $ (4)

式中:ζ为波高;χe为遭遇浪向角;CxwCywCnw均为波浪漂移力系数。

2.3 控制器的设计

针对船舶受到非零均值的海洋环境扰动的影响,设计带有积分器的线性二次型最优控制的动力定位控制器。同时通过扩展卡尔曼滤波器可得到低频的运动状态。船舶处于低速或静止状态,忽略科氏向心力和回复力,引入积分项,根据式(1)可得到线性状态空间表达式[13]

$ \dot x = \boldsymbol{A}x + \boldsymbol{B}\tau + \boldsymbol{E}\omega, $ (5)
$ y = \boldsymbol{C}x。 $ (6)

式中:$x = {[\eta _p^{\rm{T}}, \;{\nu ^{\rm{T}}}, \;{z^{\rm{T}}}]^{\rm{T}}}$为当前状态;$\dot z = y$y为当前位置和航向的输出;ω为环境扰动。

系统矩阵为:

$ \boldsymbol{A} = \left[{\begin{array}{*{20}{c}} {{0_{{\rm{3 \times 3}}}}}&{{I_{{\rm{3 \times 3}}}}}&{{0_{{\rm{3 \times 3}}}}}\\ {{0_{3{\rm{ \times 3}}}}}&{-{M^{-1}}D}&{{0_{3 \times 3}}}\\ {{I_{{\rm{3 \times 3}}}}}&{{0_{{\rm{3 \times 3}}}}}&{{0_{{\rm{3 \times 3}}}}} \end{array}} \right], $ (7)

控制输入矩阵和扰动输入矩阵为:

$ \boldsymbol{B} = \boldsymbol{E} = [\begin{array}{*{20}{c}} {{0_{{\rm{3 \times 3}}}}}&{{{({\boldsymbol{M}^{{\rm{-1}}}})}^{\rm{T}}}}&{{0_{{\rm{3 \times 3}}}}{]^{\rm{T}}}。} \end{array} $ (8)

状态输出矩阵为:

$ \boldsymbol{C} = [\begin{array}{*{20}{c}} \boldsymbol{I} &{{0_{{\rm{3 \times 3}}}}}&{{0_{3 \times 3}}], } \end{array} $ (9)

海洋环境风的作用可视为缓慢变化,并根据风传感器测量计算得到近似的风力(矩)${\hat \tau _{wind}}$大小,可以将其近似前向反馈,因此τ可分为2部分,一部分是用于克服低频运动的力(矩),另一部分则是前向反馈风的干扰力(矩),可表示为:

$ \tau = {\tau _{LQ}}-{\hat \tau _{{\rm{wind}}}}, $ (10)

LQ控制器的最优性能指标函数J[17]

$ \min J = \frac{1}{2}\int\limits_{\rm{0}}^\infty {[{x^{\rm{T}}}Qx + \tau _{LQ}^{\rm{T}}R{\tau _{LQ}}]} {\rm{d}}\tau 。 $ (11)

则用于克服低频运动的力(矩)表示为:

$ {\tau _{LQ}} =-Kx =-{R^{-1}}{B^{\rm{T}}}Px(t)。 $ (12)

其中P为黎卡提矩阵代数方程ATP + PA -PBR-1BTP + Q=0的解。

2.4 推力分配模型

推力分配系统是动力定位系统的重要组成部分,推力分配模型将控制器发出虚拟控制力τ转化为对推进器的转向α和转速u,即[13]

$ \tau = \boldsymbol{T}(\alpha )f, $ (13)
$ f = Ku。 $ (14)

式中:f为推进器的推力;Tα)为推进器布置矩阵;K为推力系数。

由于推进器机械特性的约束,将推力分配优化问题转化为二次规划问题的求解,优化的目标函数为[18]

$ J = \min \sum\limits_{i = 1}^3 {{\boldsymbol{W}_i}||{T_i}||_2^2} + \sum\limits_{i = 1}^2 {{\Omega _i}||{\delta _i}||_2^2} + \sum\limits_{i = 1}^2 {{\boldsymbol{Q}_i}||{s_i}||_2^2} 。 $ (15)

约束条件:

$ Bu + s = \tau, $ (16)
$ Au{\rm{ < }}b, $ (17)
$ {s_{{\rm{min}}}} \le s \le s{s_{{\rm{max}}}}, $ (18)
$ {T^ - } \le T \le {T^{\rm{ + }}}, $ (19)
$ {\delta ^{\rm{-}}} \le \delta \le {\delta ^{\rm{ + }}}, $ (20)

式中:W为各个推进器的能耗权值矩阵;Ω为舵的变化频率权值矩阵;Q为推力分配的推力误差权值矩阵。

2.5 人机交互界面的设计

人机交互界面能够直观地显示动力定位船舶的运行状态,DP操作员通过人机交互界面完成对DP系统的操作。为实现DP模拟器的环境真实感,要求仿真界面应与真实DP系统的界面一致或者接近。本文以Visual Studio 2010为开发平台,使用Direct2D图形技术,对Kongsberg公司的K-Pos动力定位系统的人机交互界面进行仿真。

Direct2D图形技术支持硬件加速,具有抗锯齿等优点,绘图性能优于传统的GDI(Graphics Device Interface,图形设备接口)。为了能够方便实现代码的移植,将Direct2D中常用的底层图形函数接口(即点、线、面、字符串的绘制接口)进行了重新封装,所需绘制的图形通过自定义的函数接口绘制。从而,可以通过更换底层的封装函数就可以实现使用其他图形技术的开发,适合平台的移植。其中“自动定位模式”的仿真界面效果如图 4所示。

图 4 “自动定位”模式的人机交互主界面 Fig. 4 Man-machine interaction interface of Autopos mode
3 仿真实验

在所设计的船舶动力定位模拟器系统架构下,将相关算法和人机交互界面进行集成,用于验证本文所设计的控制算法和模型,以1艘动力定位供给船为实验对象,进行船舶自动定位模式的仿真。该供给船的无因次惯性矩阵和阻尼矩阵分别为[19]

$ \begin{array}{*{20}{c}} {M = \left[{\begin{array}{*{20}{c}} {1.1274}&{0.0000}&{0.0000}\\ {0.0000}&{1.8902}&{-0.0744}\\ {0.0000}&{-0.0744}&{0.0308} \end{array}} \right], }\\ {D = \left[{\begin{array}{*{20}{c}} {0.0358}&{0.0000}&{0.0000}\\ {0.0000}&{0.1183}&{-0.0124}\\ {0.0000}&{-0.0041}&{0.0308} \end{array}} \right]。} \end{array} $

在仿真实验中,船舶的起始位置是$\eta = {\left[ {10{\rm{m}},10{\rm{m}},{\rm{ }}{4^ \circ }} \right]^{\rm{T}}}$,期望位置为${\eta _d} = {\rm{ }}{\left[ {0{\rm{m}},0{\rm{m}},{\rm{ }}{0^ \circ }} \right]^{\rm{T}}}$,进行2次仿真实验,环境扰动变量分别设置为:1)风速为8 kn,真风向为180°,有义波高为1 m,浪向为0°,相当于3级海况3级风;2)风速为12 kn,真风向为45°,有义波高为2 m,浪向为225°,相当于4级海况4级风。仿真时间为1 000 s,实验结果如图 5图 6所示。

图 5 3级风和3级海况的实验结果 Fig. 5 Experiment result of Beaufort No. 3 and Sea State 3

图 6 4级风和4级海况的实验结果 Fig. 6 Experiment result of Beaufort No. 4 and Sea State 4

图 5图 6是人机交互界面软件的“Posplot”视图,每个网格间距(Grid)为4 m,中心点为期望位置,黑色曲线为船舶的运动轨迹,可以看出,船舶在不同海况条件下,带有积分器的线性二次型最优控制器能够克服船舶所受到的非零均值外界海洋环境扰动,快速回到期望位置,控制性能良好,实现了船舶的自动定位。

4 结语

本文根据船舶动力定位模拟器的功能需求,设计具有星型网络拓扑结构的船舶动力定位模拟器系统架构。根据自动定位模式下的DP系统工作原理,建立海洋环境扰动下的船舶运动数学模型,设计动力定位控制器和推力分配模型,提出采用Direct2D图形技术来开发动力定位系统的人机交互界面。最后在所设计的系统架构下,以1艘动力定位供给船为仿真对象,实现了船舶在环境扰动下的自动定位。进一步的研究工作是研究动力定位系统的其他工作模式仿真,如目标跟踪、航迹控制等,实现动力定位模拟器的全部功能。

参考文献
[1] 边信黔, 付明玉, 王元慧. 船舶动力定位[M]. 北京: 科学出版社, 2011 : 331 -338.
[2] Nautical Institute. Dynamic positioning operator's training and certification scheme[M]. UK: Nautical Institute, 2014 .
[3] IMCA. Guidance on the use of simulators[M]. UK:IMCA, 2012.
[4] 尹勇, 金一丞. 航海模拟器与分布交互仿真技术[J]. 计算机仿真 , 2000, 17 (6) :66–68, 61.
YIN Yong, JIN Yi-cheng. Marine simulator and distributed interactive simulation technology[J]. Computer Simulation , 2000, 17 (6) :66–68, 61.
[5] 郝爽爽.航海模拟器数据通信的优化设计与实现[D].大连:大连海事大学, 2013.
[6] BALCHEN J G, JENSSEN N A, SÆLID S. Dynamic positioning using Kalman filtering and optimal control theory[C]//IFAC/IFIP Symposium on Automation in Offshore Oil Field Operation. Bergen:Pergamon Press, Inc., 1976:183-186.
[7] SAELID S, JENSSEN N A, BALCHEN J. Design and analysis of a dynamic positioning system based on Kalman filtering and optimal control[J]. IEEE Transactions on Automatic Control , 1983, 28 (3) :331–339. DOI:10.1109/TAC.1983.1103225
[8] FUNG P, GRIMBLE M. Dynamic ship positioning using a self-tuning Kalman filter[J]. IEEE Transaction on Automatic Control , 1983, 28 (3) :339–350. DOI:10.1109/TAC.1983.1103226
[9] 徐荣华.船舶动力定位系统建模与随机控制研究[D].广州:广东工业大学, 2011.
[10] 吴楠, 陈红卫. 船舶动力定位仿真系统设计[J]. 舰船科学技术 , 2013, 35 (5) :103–106, 110.
WU Nan, CHEN Hong-wei. Simulation design on dynamic positioning system of vessels[J]. Ship Science and Technology , 2013, 35 (5) :103–106, 110.
[11] 施吉伟.船舶动力定位系统控制器设计及其操控界面开发[D].大连:大连海事大学, 2014.
[12] 刘学军, 吴德烽, 杨国豪, 等. 面向船舶动力定位模拟器的推力分配仿真子系统开发[J]. 船舶工程 , 2014, 36 (4) :96–100.
LIU Xue-jun, WU De-feng, YANG Guo-hao, et al. Development of thruster allocation simulation system for ship dynamic positioning simulator[J]. Ship Engineering , 2014, 36 (4) :96–100.
[13] FOSSEN T I. Handbook of marine craft hydrodynamics and motion control[M]. London:UK: Wiley, 2011 : 199 -213.
[14] ISHERWOOD R M. Wind resistance of merchant ships[M]. England: Royal Institution of Naval Architects, 1972 : 327 -338.
[15] 张秀凤, 尹勇, 金一丞. 规则波中船舶运动六自由度数学模型[J]. 交通运输工程学报 , 2007, 7 (3) :40–43.
ZHANG Xiu-feng, YIN Yong, JIN Yi-Cheng. Ship motion mathematical model with six degrees of freedom in regular wave[J]. Journal of Traffic and Transportation Engineering , 2007, 7 (3) :40–43.
[16] DAIDOLA J C, GRAHAM D A, CHANDRASH L. A simulation program for vessel's maneuvering at slow speeds[C]//Proceedings of 11th Ship Technology and Research Symposium. Portland, OR:Society of Naval Architects, 1986.
[17] 朱熀秋, 黄振跃, 阮颖, 等. 交流主动磁轴承电主轴线性二次型最优控制[J]. 电机与控制学报 , 2012, 16 (10) :71–78, 94.
ZHU Huang-qiu, HUANG Zhen-yue, RUAN Ying, et al. Linear quadratic optimal control of electric spindle supported by AC active magnetic bearings[J]. Electric Machines and Control , 2012, 16 (10) :71–78, 94.
[18] 袁伟, 俞孟蕻, 朱艳. 动力定位系统舵桨组合推力分配研究[J]. 船舶力学 , 2015, 19 (4) :397–404.
YUAN Wei, YU Meng-hong, ZHU Yan. Research on thrust allocation of dynamic positioning vessels with propeller-rudder pairs[J]. Journal of Ship Mechanics , 2015, 19 (4) :397–404.
[19] FOSSEN T I, SAGATUN S I, SØRENSEN A J. Identification of dynamically positioned ships[J]. Control Engineering Practice , 1996, 4 (3) :369–376. DOI:10.1016/0967-0661(96)00014-7