首页> 中国专利> 一种船舶自动舵算法测试仿真系统

一种船舶自动舵算法测试仿真系统

摘要

本发明公开了一种船舶自动舵算法测试仿真系统,包括主框架、标准电子海图模块、船舶运动数学模型模块、航海计算工具箱模块、航线设计模块和自动舵控制器模块。本发明构建了标准电子海图模块,该模块基于国际标准的电子海图,能够加载全球的S57格式电子海图数据,且可任意比例尺无级缩放浏览全球海图,具多种数据显示方式和颜色显示方案,整个界面简洁美观。本发明可以设置不同的风流情况,使得船舶可以在逼真的海上干扰情况下模拟航行。使用者可以不受时间、地点的限制,可以在全球任意海域,大范围长时间的测试船舶自动舵,从而解决船舶自动舵实船测试存在风险大、调试周期长、费用高的问题。

著录项

  • 公开/公告号CN104483845A

    专利类型发明专利

  • 公开/公告日2015-04-01

    原文格式PDF

  • 申请/专利权人 大连海事大学;

    申请/专利号CN201410679964.3

  • 申请日2014-11-21

  • 分类号G05B17/02(20060101);G05D1/02(20060101);

  • 代理机构21212 大连东方专利代理有限责任公司;

  • 代理人李洪福

  • 地址 116026 辽宁省大连市高新园区凌海路1号

  • 入库时间 2023-12-17 04:19:09

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-11-06

    未缴年费专利权终止 IPC(主分类):G05B17/02 授权公告日:20170111 终止日期:20171121 申请日:20141121

    专利权的终止

  • 2017-01-11

    授权

    授权

  • 2015-04-29

    实质审查的生效 IPC(主分类):G05B17/02 申请日:20141121

    实质审查的生效

  • 2015-04-01

    公开

    公开

说明书

技术领域

本发明涉及航海仿真领域中的一种船舶自动舵算法测试仿真系统。

背景技术

水运是地区与地区之间、国与国之间进行大宗贸易最为有效的运输方式。 世界经济发展水平的提高,促使各地区、各国之间贸易交往逐步深入,且交易 量不断增大,从而导致海上交通密度不断增大,而且,船舶在海上航行时不可 避免地会受到风、浪、流、雾、礁等因素的影响,对船舶运行产生干扰,因此, 船舶运动控制是一个重要的研究领域,船舶运动控制器设计是其中一个重要的 研究课题,其最终目标是提高船舶自动化、智能化水平,保证船舶航行的安全 性、经济性和舒适性。

控制论的全面繁荣为船舶运动控制器的设计提供了很多控制算法。特别是 神经网络控制、模糊控制、混合智能控制、H∞鲁棒控制和非线性控制等理论 都被不同程度地引入到船舶运动控制器的设计领域,为船舶运动控制学科的发 展注入了活力。传统的自动舵控制算法从提出到投入工程实践的过程中需要多 次上船进行实船测试即循回式测试,这种测试方案费用昂贵、周期长、危险系 数高,在产品不能保证航行安全时用户船长不允许尝试使用进行测试的新算法。

在科学技术飞速发展的今天,计算机模拟仿真技术己经成为对许多复杂系 统进行分析、设计、试验、评估的必不可少的手段,它以数学理论为基础,以 计算机和各种物理设施为设备工具,利用系统模型对实际的或设想的系统进行 试验仿真研究的一门综合技术,主要有物理仿真、数字仿真和物理-数字混合仿 真等方法。针对船舶自动舵实船测试存在风险大、调试周期长、费用高的缺点, 并方便科研人员对自动舵控制算法的研究。因此,将计算机模拟仿真技术应用 在船舶自动舵算法测试中,设计船舶自动舵算法测试仿真系统可以有效地解决 此类问题。

在已有的利用计算机模拟仿真技术设计的船舶自动舵算法测试仿真系统 中,有利用Matlab中Simulink工具箱进行系统仿真验证自动舵算法控制性能, 但是要将这些程序用到产品样机中,程序转换过程相当复杂且需很大工作量; 有基于全任务船舶操纵模拟器的船舶自动舵仿真测试平台,由于是基于全任务 船舶操纵模拟器,所以购买及运行成本都较高,不利于普及,并且使用的是自 定义光栅矢量化海图,显示不美观;也有一种基于VB的船舶自动舵控制算法仿 真测试平台,由于是基于VB实现,所以平台执行效率不高,不利于快速测试自 动舵算法,同时其使用的是简易墨卡托海图,测试海域范围的大小受限,只设 置4个比例尺,不能无级缩放显示。

综上所述,当前的船舶自动舵算法测试系统主要存在以下问题:

1、没有采用国际标准的电子海图,显示粗糙不美观,不适合长时间大海域 范围的测试。

2、在船舶自动舵算法测试时,无法实时调节自动舵算法的参数,以及无法 实时修改测试航迹自动舵所需的航线。

3、不能设置不同的仿真时间比例,从而无法快速测试船舶自动舵算法。

目前,能提供与海上实际情况相近的基于国际标准电子海图、可实时调节 参数、快速测试的船舶自动舵算法测试仿真系统却尚无先例。

发明内容

为解决现有船舶自动舵算法测试仿真系统的问题,本发明的目的是设计能 提供与海上实际情况相近、实时调节参数、并且能设置仿真时间比例从而能够 快速测试的一种船舶自动舵算法测试仿真系统。

为了实现上述目的,本发明的技术方案如下:一种船舶自动舵算法测试仿 真系统,包括主框架、标准电子海图模块、船舶运动数学模型模块、航海计算 工具箱模块、航线设计模块和自动舵控制器模块;所述的主框架采用的是Visual  C++的MFC的单文档程序,其他各模块采用动态链接库接口技术进行封装设计;

所述的主框架是基于Visual C++的MFC的单文档程序,主要完成用户的交 互显示界面,所述的交互显示界面包括主显示区、信息显示面板、环境设置面 板、本船设置面板、操舵设置面板和操船面板;所述的主显示区包括显示绘制 海图、活动距标圈、航线、本船图标和航迹;所述的信息显示面板包括显示本 船的航向、航速、转艏角速度、纵横向速度、位置、目标航路点以及偏航距离; 所述的环境设置面板用于设置修改自动舵算法测试时的外部干扰,外部干扰包 括风速、风向、流速和流向;所述的本船设置面板用于选择自动舵算法测试时 的船模,直接输入经纬度或通过鼠标设置本船位置,设置本船的航速和航向; 所述的操舵设置面板用于选择操舵的类别和选择不同自动舵算法,以及设置仿 真时间比例,仿真时间比例设为与现实时间1:1仿真或设为超现实时间比例仿 真;所述的操船面板用于仿真测试的开关控制以及舵和车钟的控制和显示,同 时也通过以调用动态链接库的形式与标准电子海图模块、船舶运动数学模型模 块、航海计算工具箱模块、航海设计模块和自动舵控制器模块进行通讯;

所述的标准电子海图模块解析S57国际标准的电子海图数据,采用S-52标 准显示绘制海图,加载全球的S57格式电子海图数据,且以任意比例尺无级缩 放浏览全球海图,具有三种数据显示方式:基本显式、标准显示和全部显示; 具有三种颜色方案:白天、傍晚和黑夜;

所述的船舶运动模型模块是船舶运动控制器设计的基础,采用三自由度运 动的MMG船舶数学模型,MMG船舶数学模型的主要特点是将作用于船舶上的流体 动力和力矩按照物理意义,分解为作用于祼船体、敞水螺旋桨和敞水舵上的流 体动力和力矩,以及它们之间的相互干涉流体动力和力矩;所述的三自由度运 动包括纵荡运动、横荡运动和首摇运动;

所述的航海计算工具箱模块包括常用的航海计算的功能函数、两经纬点间 的距离及方位的计算、纬度见长率的计算;

所述的航线设计模块用于设计测试航迹自动舵所需的航线;航线设计的功 能全部集中在航线设计面板中,用户通过主框架的菜单,打开或关闭航线设计 面板;用户通过鼠标在海图上实时增加、修改和删除航路点来设计划航线;在 海图上设计完航路点后,再在航线设计面板上命名航线,增加航线起讫港信息; 在航线设计面板右边的航路点列表查看航路点的位置、相对距离和相对方位信 息并能设置每条航线段的左右偏航距离;设计好的航线都显在航线设计面板左 边的航线列表中,对每条航线进行是否在海图上显示、导航、编辑、删除和保 存操作;存储大量航线,并且对正在用于航迹控制的航线进行实时编辑和实时 检测自动舵算法的控制效果;

所述的自动舵控制器模块用于加入用户设计的自动舵控制算法并测试自动 舵控制算法。自动舵控制器模块由用户编写,以MFC扩展动态链接库的形式被 主框架调用;自动舵控制器模块采用自定义标准的数据接口,自动舵控制器模 块有标准的接口告诉主框架当前自动舵控制器模块有哪些控制算法,主框架则 会相应的初始化主框架界面中的算法列表。测试自动舵算法时,主框架会给控 制模块提供的输入参数,所述的输入参数包括主框架当前所选择的控制算法及 所选的航线信息或保持的航向,船舶的位置、航速、航向、转艏角速度、目标 航路点、偏航距离,船舶数学模型的船长、船宽、吃水、型深、排水量、方形 系数。

与现有技术相比,本发明的优点和有益效果是:

1、本发明构建了标准电子海图模块,该模块基于国际标准的电子海图,能 够加载全球的S57格式电子海图数据,且可任意比例尺无级缩放浏览全球海图, 具多种数据显示方式和颜色显示方案,整个界面简洁美观。本发明可以设置不 同的风流情况,使得船舶可以在逼真的海上干扰情况下模拟航行。使用者可以 不受时间、地点的限制,可以在全球任意海域,大范围长时间的测试船舶自动 舵,从而解决船舶自动舵实船测试存在风险大、调试周期长、费用高的问题。 本发明采用计算机模拟仿真技术,构建了能提供与海上实际情况相近的基于电 子海图的船舶自动舵测试仿真系统。

2、由于本发明已经搭建好整个自动舵测试环境,同时自动舵控制器模块有 标准的接口协议,所以使用者只需集中精力研究并编写自动舵控制器模块中的 自动舵控制算法,无需把时间耗费在搭建测试环境的过程中,大大方便了自动 舵算法的研发人员,并且可在仿真运行时修改自动舵控制器参数,有利于快速 直观地调出满意的自动舵控制器参数。本发明可设置仿真时间比例,既可设为 与现实时间1:1仿真,也可设为超现实时间比例仿真,所以可节约等待结果的 时间,快速计算检验仿真结果。本发明具有强大的航线设计功能,可以灵活设 计并存储大量航线,并且正在用于航迹控制的航线可以实时编辑,实时验证控 制算法的执行效果。本发明提供了多条船的运动数学模型,所以使用者可以对 同一算法选用多条船进行测试,有利于测试算法对不同类型船舶的有效果。

附图说明

本发明共有附图4张,其中:

图1是本发明基于电子海图的船舶自动舵测试仿真系统。

图2是本发明基于电子海图的船舶自动舵测试仿真系统的操作流程图。

图3是本发明基于电子海图的船舶自动舵测试仿真系统的系统主界面。

图4是本发明基于电子海图的船舶自动舵测试仿真系统的航线设计面板。

图中:1、主框架,2、电子海图模块,3、船舶运动模块,4、航海计算工 具模块,5、航线设计模块,6、自动舵控制器模块。

具体实施方式

下面结合附图对本发明进行进一步地描述。如图1所示,

基于电子海图的船舶自动舵测试仿真系统包括主框架1、电子海图模块2、 船舶运动模块3、航海计算工具模块4、航线设计模块5、自动舵控制器模块6。 所述的主框架1采用的是Visual C++的MFC的单文档程序,其他各模块采用动 态链接库接口技术进行封装设计;

所述的主框架1是基于Visual C++的MFC的单文档程序,主要完成用户的 交互显示界面,交互显示界面包括:①主显示区:显示绘制海图、活动距标圈、航 线、本船图标、航迹;②信息显示面板:显示本船的航向、航速、转艏角速度、 纵横向速度、位置、目标航路点、偏航距离;③环境设置面板:用于设置修改 自动舵算法测试时的外部干扰,包括风速、风向、流速、流向;④本船设置面 板:用于包括选择自动舵算法测试时的船模,直接输入经纬度或通过鼠标设置 本船位置,设置本船的航速、航向;⑤操舵设置面板:用于选择操舵的类别和 选择不同自动舵算法,以及设置仿真时间比例,既可设为与现实时间1:1仿真, 也可设为超现实时间比例仿真;⑥操船面板;用于包括仿真测试的开关控制以 及舵和车钟的控制和显示。同时也通过以调用动态链接库的形式与电子海图模 块2、船舶运动模块3、航海计算工具模块4、航海设计模块5、自动舵控制器 模块6进行交互;

所述的电子海图模块2,可以解析S57国际标准的电子海图数据,采用S-52 标准显示绘制海图。能够加载全球的S57格式电子海图数据,且可任意比例尺 无级缩放浏览全球海图。具有三种数据显示方式:基本显式、标准显示、全部 显示;具有三种颜色方案:白天、傍晚、黑夜。

所述的船舶运动模块3是船舶运动控制器设计的基础,本系统采用三自由 度运动(即纵荡运动、横荡运动和首摇运动)的MMG船舶数学模型,MMG模 型的主要特点是将作用于船舶上的流体动力和力矩按照物理意义,分解为作用 于祼船体、敞水螺旋桨和敞水舵上的流体动力和力矩,以及它们之间的相互干 涉流体动力和力矩。

所述的航海计算工具模块4主要包括了一些常用的航海计算的功能函数, 包括两经纬点间的距离及方位的计算,纬度见长率的计算等。

所述的航线设计模块5主要用于设计测试航迹自动舵所需的航线。航线设 计的功能全部集中在航线设计面板中,用户可以通过系统菜单中的视图,打开 或关闭航线设计面板;用户可以通过鼠标在海图上实时增加,修改,删除航路 点来设计划航线;在海图上设计完航路点后,可以在航线设计面板上命名航线, 增加航线起讫港信息;在航线设计面板右边的航路点列表查看航路点的位置, 相对距离,相对方位信息并能设置每条航线段的左右偏航距离;设计好的航线 都显在航线设计面板左边的航线列表中,可以对每条航线进行是否在海图上显 示、导航、编辑、删除、保存等操作;可以存储大量航线,并且正在用于航迹 控制的航线可以实时编辑,实时检测自动舵算法的控制效果。

所述的自动舵控制器模块6是用于加入用户设计的自动舵控制算法并在系 统中测试自动舵控制算法。因此,自动舵控制器模块6通常由用户编写。自动 舵控制器模块6是以MFC扩展动态链接库的形式被主框架调用,可以包含一种 或多种算法。自动舵控制器模块6采用自定义标准的数据接口,自动舵控制器 模块6有标准的接口告诉主框架1当前自动舵控制器模块6有哪些控制算法, 主框架1则会相应的初始主框架界面中的算法列表。测试自动舵算法时,主框 架1给自动舵控制器模块6提供的输入包括:主框架1当前所选择的控制算法 及所选的航线信息或保持的航向;船舶的位置、航速、航向、转艏角速度、目 标航路点、偏航距离;船舶数学模型的船长、船宽、吃水、型深、排水量、方 形系数等数据。

本发明的工作方法,包括以下步骤(仿真操作主流程见图2):

A、启动系统。

B、测试自动舵算法:用户开始测试自动舵算法,需首先选择操舵模式,若 选择航迹自动舵,需选择控制算法和航线,若没有航线,则要新建一条航线。 若选择航向自动舵,需设置保持的航向。

C、参数设置:设置风流环境参数及本船的位置、航向、速度等参数。

D、开始仿真:点击操船面板上的“开始”按扭开始仿真,随之“开始”按 扭变为“结束”按扭。运行的过程中可进行暂停仿真、修改风流设置、修改仿 真时间比例等操作。

E、结束仿真:点击“结束”按扭结束仿真,同时会提示用户是否保存本次 仿真测试数据。用户可对记录文件命名并选择目录进行保存。

F、退出系统。

本发明各子系统的实施方式如下:

1、主框架1的实施方式

主框架1是在Windows操作系统上使用Visual Studio 2010平台进行搭建, 主框架1主要完成用户的交互显示界面,包括主显示区、信息显示面板、环境 设置面板、本船设置面板、操舵设置面板、操船面板。同时也通过以调用动态 链接库的形式调用其他子模块。

用户界面是本发明和用户之间进行交互和信息交换的媒介,实现了信息的 内部形式与用户可以接受形式之间的转换。因此,用户界面是本发明中非常重 要的方面,设计时既要保证界面美观大方又要符合用户的操作习惯。用户能够 通过界面对本发明进行各种操作,也能直观检验自动舵的控制效果。主框架1 具体是采用MFC的单档模式框架,默认可选择多种应用程序外观。其他显示控 制面板都基于可浮动停靠的MFC控件,用户若不习惯系统的默认布局,可以按 用户个人习惯重新布局,也可关闭或显示全部显示控制面板。实现的默认主界 面如图3所示。

2、电子海图模块2

电子海图模块2通过解析S57国际标准的电子海图数据,然后采用S-52标 准显示绘制海图。该电子海图显示模块能够加载全球的S57格式电子海图数据, 根据当前窗口的地理显示范围,自动加载相应的海图,且可任意比例尺无级缩 放浏览全球海图。电子海图模块2是封装成标准的动态链接库,其对外提供了 绘图显示,显示模式等功能接口函数。这样主框架1调用相应的函数,就能完 成海图的显示。海图的显示是在主框架1中主视图类CShipAutoControlView中 的OnPaint函数中完成:

3、船舶运动模块3

船舶运动模型是设计实现船舶自动舵算法测试仿真系统的核心,所以首先 需完成船舶运动数学模型的建模。本发明建立的是三自由度运动(即纵荡运动 、横荡运动和首摇运动)的MMG船舶运动数学模型,以MMG模型为基础建 立船舶平面运动方程如下式:

(m+mx)u·r-(m+my)vrr=Xh+Xp+Xr+Xe(m+my)v·r+(m+mx)urr=Yh+Yp+Yr+Ye(Izz+Jzz)r·=Nh+Np+Nr+Ne---(1)

其中,m为船体质量;mx、my分别为船舶纵向和横向的附加质量;Izz、Jzz分别 为船舶的首摇和附加惯性矩;ur和vr为船舶对水速度;X、Y、N为作用于船体上 的外力和力矩,下标h、p、r、e分别代表船体、螺旋桨、舵以及外界环境。

船舶运动模块3主要的功能是根据主框架1中选择的船模,设置的风流环 境参数、以及本船的航向、航速等参数,先计算出式(1)中风流等作用于船体 上的外力和力矩,然后利用龙格库塔方法求解式(1),求出船舶的纵横向速度 及转艏角速度。船舶运动数学模型的解算具体是在主框架1中主视图类 CShipAutoControlView中的OnTimer定时器函数中调用,该定时器每隔0.5秒触 发一次,进而解算得到船舶动态数据。OnTimer函数部分如下:

4、航海计算工具模块4

航海计算工具模块4主要将一些常用的航海计算的功能函数都封装在一个 动态链接库中,然后供主框架1调用。其主要包括两经纬点间的距离及方位的 计算,纬度见长率的计算等功能。

5、航线设计模块5

航线设计模块5主要用于设计测试航迹自动舵所需的航线。该模块被封装 成扩展的MFC动态链接库,航线设计的功能主要集中在航线设计面板上,用户 可以通过系统菜单中的视图,打开或关闭航线设计面板;航线设计的功能包括 在海图上实时增加,修改,删除航路点来设计划航线;设置航线名、起讫港信 息;在航线设计面板右边的航路点列表查看航路点的位置,相对距离,相对方 位信息并能设置每条航线段的左右偏航距离;设计好的航线都显在航线设计面 板左边的航线列表中,可以对每条航线进行是否在海图上显示、导航、编辑、 删除、保存等操作;航线设计面板界面如图4所示。

6、自动舵控制器模块6

自动舵控制器模块6是用于加入用户设计的自动舵控制算法并在系统中测 试自动舵控制算法。因此,自动舵控制器模块6通常由用户编写。自动舵控制 器模块6是以MFC扩展动态链接库的形式被主框架调用,可以包含一种或多种 算法。自动舵控制器模块6采用自定义标准的数据接口,自动舵控制器模块6 有标准的接口告诉主框架当前自动舵控制器模块6有哪些控制算法,主框架1 则会相应的初始主框架界面中的算法列表。主框架1给自动舵控制器模块6提 供的输入包括系统当前所选择的控制算法、船模、所选的航线信息等数据。提 供的自动舵接口函数是autoPilot(),autoPilot函数部分如下:

本发明实现了以下功能:

1、海图功能。本发明能够加载全球的S57格式电子海图数据,本发明运 行前,用户将*.000文件放置在指定目录,本发明运行时就能够根据当前窗口范 围自动加载相应位置的海图;可任意比例尺无级缩放浏览海图;三种数据显示 方式:基本显式、标准显示、全部显示;三种颜色方案:白天、傍晚、黑夜;

2、航线设计功能。用户可以通过本发明菜单中的视图,打开或关闭航线 设计面板;用户可以通过鼠标在海图上实时增加,修改,删除航路点来设计划 航线;在海图上设计完航路点后,可以在航线设计面板上命名航线,增加航线 起讫港信息;在航线设计面板右边的航路点列表查看航路点的位置,相对距离, 相对方位信息并能设置每条航线段的左右偏航距离;设计好的航线都显在航线 设计面板左边的航线列表中,可以对每条航线进行是否在海图上显示、导航、 编辑、删除、保存等操作;可以存储大量航线,并且正在用于航迹控制的航线 可以实时编辑,实时检测自动舵算法的控制效果。

3、设置功能。主要包括以下功能:①环境设置:可以实时设置修改控制器 测试时的外部干拢,包括风速、风向、流速、流向;②本船设置:可选择控制 器测试时的船模,直接输入经纬度或通过鼠标设置本船位置,设置本船的航速、 航向;③操舵设置:用户可以选择手操舵、航迹自动舵、航向自动舵;选择手 操舵可通过船舶的车钟和舵控制船舶运动;自动舵可选择不同算法,航迹自动 舵可选择不同的航线,航向自动舵需输入保持的航向;④控制器参数设置:控 制器研发人员可设置并在仿真运行时调整控制器参数;⑤仿真时间比例设置: 既可设为与现实时间1:1仿真,也可设为超现实时间比例仿真。

4、显示功能。在海图上显示本船和航迹;大比例尺时,以按船的实际长宽 在海图上显示,在小比例尺时,以两个同心圆显示;可以选择航迹线显示的粗 细和颜色;以数据或曲线的形式显示本船的位置、航向、航速、目标航路点、 偏航距离等信息;当测试自动舵时,控制器输出的命令舵角会实时刷新操舵面 板上的舵控件指示角,这样更能形象的观察控制算法的有效性。

5、记录和回放功能。一个仿真结束后自动提示是否保存本次仿真的所有 本船动态信息、操舵记录、所选自动舵算法和航线、相应的风流环境设置等有 效数据。这样用户可以通过回放分析仿真数据,对比控制算法的性能。

6、其他功能。有方位距标圈工具,可在海图上测量距离和方位。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号