一种船舶自动舵算法测试仿真系统的制作方法

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

【技术领域】
[0001] 本发明涉及航海仿真领域中的一种船舶自动舵算法测试仿真系统。

【背景技术】
[0002] 水运是地区与地区之间、国与国之间进行大宗贸易最为有效的运输方式。世界经 济发展水平的提高,促使各地区、各国之间贸易交往逐步深入,且交易量不断增大,从而导 致海上交通密度不断增大,而且,船舶在海上航行时不可避免地会受到风、浪、流、雾、礁等 因素的影响,对船舶运行产生干扰,因此,船舶运动控制是一个重要的研究领域,船舶运动 控制器设计是其中一个重要的研究课题,其最终目标是提高船舶自动化、智能化水平,保证 船舶航行的安全性、经济性和舒适性。
[0003] 控制论的全面繁荣为船舶运动控制器的设计提供了很多控制算法。特别是神经网 络控制、模糊控制、混合智能控制、Hc?鲁棒控制和非线性控制等理论都被不同程度地引入 到船舶运动控制器的设计领域,为船舶运动控制学科的发展注入了活力。传统的自动舵控 制算法从提出到投入工程实践的过程中需要多次上船进行实船测试即循回式测试,这种测 试方案费用昂贵、周期长、危险系数高,在产品不能保证航行安全时用户船长不允许尝试使 用进行测试的新算法。
[0004] 在科学技术飞速发展的今天,计算机模拟仿真技术己经成为对许多复杂系统进行 分析、设计、试验、评估的必不可少的手段,它以数学理论为基础,以计算机和各种物理设施 为设备工具,利用系统模型对实际的或设想的系统进行试验仿真研究的一门综合技术,主 要有物理仿真、数字仿真和物理-数字混合仿真等方法。针对船舶自动舵实船测试存在风 险大、调试周期长、费用高的缺点,并方便科研人员对自动舵控制算法的研究。因此,将计算 机模拟仿真技术应用在船舶自动舵算法测试中,设计船舶自动舵算法测试仿真系统可以有 效地解决此类问题。
[0005] 在已有的利用计算机模拟仿真技术设计的船舶自动舵算法测试仿真系统中,有利 用Matlab中Simulink工具箱进行系统仿真验证自动舵算法控制性能,但是要将这些程序 用到产品样机中,程序转换过程相当复杂且需很大工作量;有基于全任务船舶操纵模拟器 的船舶自动舵仿真测试平台,由于是基于全任务船舶操纵模拟器,所以购买及运行成本都 较高,不利于普及,并且使用的是自定义光栅矢量化海图,显示不美观;也有一种基于VB的 船舶自动舵控制算法仿真测试平台,由于是基于VB实现,所以平台执行效率不高,不利于 快速测试自动舵算法,同时其使用的是简易墨卡托海图,测试海域范围的大小受限,只设置 4个比例尺,不能无级缩放显示。
[0006] 综上所述,当前的船舶自动舵算法测试系统主要存在以下问题:
[0007] 1、没有采用国际标准的电子海图,显示粗糙不美观,不适合长时间大海域范围的 测试。
[0008] 2、在船舶自动舵算法测试时,无法实时调节自动舵算法的参数,以及无法实时修 改测试航迹自动舵所需的航线。
[0009] 3、不能设置不同的仿真时间比例,从而无法快速测试船舶自动舵算法。
[0010]目前,能提供与海上实际情况相近的基于国际标准电子海图、可实时调节参数、快 速测试的船舶自动舵算法测试仿真系统却尚无先例。


【发明内容】

[0011]为解决现有船舶自动舵算法测试仿真系统的问题,本发明的目的是设计能提供与 海上实际情况相近、实时调节参数、并且能设置仿真时间比例从而能够快速测试的一种船 舶自动舵算法测试仿真系统。
[0012] 为了实现上述目的,本发明的技术方案如下:一种船舶自动舵算法测试仿真系统, 包括主框架、标准电子海图模块、船舶运动数学模型模块、航海计算工具箱模块、航线设计 模块和自动舵控制器模块;所述的主框架采用的是VisualC++的MFC的单文档程序,其他 各模块采用动态链接库接口技术进行封装设计;
[0013] 所述的主框架是基于VisualC++的MFC的单文档程序,主要完成用户的交互显示 界面,所述的交互显示界面包括主显示区、信息显示面板、环境设置面板、本船设置面板、操 舵设置面板和操船面板;所述的主显示区包括显示绘制海图、活动距标圈、航线、本船图标 和航迹;所述的信息显示面板包括显示本船的航向、航速、转艏角速度、纵横向速度、位置、 目标航路点以及偏航距离;所述的环境设置面板用于设置修改自动舵算法测试时的外部干 扰,外部干扰包括风速、风向、流速和流向;所述的本船设置面板用于选择自动舵算法测试 时的船模,直接输入经纬度或通过鼠标设置本船位置,设置本船的航速和航向;所述的操舵 设置面板用于选择操舵的类别和选择不同自动舵算法,以及设置仿真时间比例,仿真时间 比例设为与现实时间1:1仿真或设为超现实时间比例仿真;所述的操船面板用于仿真测试 的开关控制以及舵和车钟的控制和显示,同时也通过以调用动态链接库的形式与标准电子 海图模块、船舶运动数学模型模块、航海计算工具箱模块、航海设计模块和自动舵控制器模 块进行通讯;
[0014] 所述的标准电子海图模块解析S57国际标准的电子海图数据,采用S-52标准显示 绘制海图,加载全球的S57格式电子海图数据,且以任意比例尺无级缩放浏览全球海图,具 有三种数据显示方式:基本显式、标准显示和全部显示;具有三种颜色方案:白天、傍晚和 黑夜;
[0015] 所述的船舶运动模型模块是船舶运动控制器设计的基础,采用三自由度运动的 MMG船舶数学模型,MMG船舶数学模型的主要特点是将作用于船舶上的流体动力和力矩按 照物理意义,分解为作用于裸船体、敞水螺旋桨和敞水舵上的流体动力和力矩,以及它们 之间的相互干涉流体动力和力矩;所述的三自由度运动包括纵荡运动、横荡运动和首摇运 动;
[0016] 所述的航海计算工具箱模块包括常用的航海计算的功能函数、两经纬点间的距离 及方位的计算、纬度见长率的计算;
[0017] 所述的航线设计模块用于设计测试航迹自动舵所需的航线;航线设计的功能全部 集中在航线设计面板中,用户通过主框架的菜单,打开或关闭航线设计面板;用户通过鼠标 在海图上实时增加、修改和删除航路点来设计划航线;在海图上设计完航路点后,再在航线 设计面板上命名航线,增加航线起讫港信息;在航线设计面板右边的航路点列表查看航路 点的位置、相对距离和相对方位信息并能设置每条航线段的左右偏航距离;设计好的航线 都显在航线设计面板左边的航线列表中,对每条航线进行是否在海图上显示、导航、编辑、 删除和保存操作;存储大量航线,并且对正在用于航迹控制的航线进行实时编辑和实时检 测自动舵算法的控制效果;
[0018] 所述的自动舵控制器模块用于加入用户设计的自动舵控制算法并测试自动舵控 制算法。自动舵控制器模块由用户编写,以MFC扩展动态链接库的形式被主框架调用;自 动舵控制器模块采用自定义标准的数据接口,自动舵控制器模块有标准的接口告诉主框架 当前自动舵控制器模块有哪些控制算法,主框架则会相应的初始化主框架界面中的算法列 表。测试自动舵算法时,主框架会给控制模块提供的输入参数,所述的输入参数包括主框架 当前所选择的控制算法及所选的航线信息或保持的航向,船舶的位置、航速、航向、转艏角 速度、目标航路点、偏航距离,船舶数学模型的船长、船宽、吃水、型深、排水量、方形系数。
[0019] 与现有技术相比,本发明的优点和有益效果是:
[0020] 1、本发明构建了标准电子海图模块,该模块基于国际标准的电子海图,能够加载 全球的S57格式电子海图数据,且可任意比例尺无级缩放浏览全球海图,具多种数据显示 方式和颜色显示方案,整个界面简洁美观。本发明可以设置不同的风流情况,使得船舶可以 在逼真的海上干扰情况下模拟航行。使用者可以不受时间、地点的限制,可以在全球任意海 域,大范围长时间的测试船舶自动舵,从而解决船舶自动舵实船测试存在风险大、调试周期 长、费用高的问题。本发明采用计算机模拟仿真技术,构建了能提供与海上实际情况相近的 基于电子海图的船舶自动舵测试仿真系统。
[0021] 2、由于本发明已经搭建好整个自动舵测试环境,同时自动舵控制器模块有标准的 接口协议,所以使用者只需集中精力研究并编写自动舵控制器模块中的自动舵控制算法, 无需把时间耗费在搭建测试环境的过程中,大大方便了自动舵算法的研发人员,并且可在 仿真运行时修改自动舵控制器参数,有利于快速直观地调出满意的自动舵控制器参数。本 发明可设置仿真时间比例,既可设为与现实时间1:1仿真,也可设为超现实时间比例仿真, 所以可节约等待结果的时间,快速计算检验仿真结果。本发明具有强大的航线设计功能,可 以灵活设计并存储大量航线,并且正在用于航迹控制的航线可以实时编辑,实时验证控制 算法的执行效果。本发明提供了多条船的运动数学模型,所以使用者可以对同一算法选用 多条船进行测试,有利于测试算法对不同类型船舶的有效果。

【专利附图】

【附图说明】
[0022] 本发明共有附图4张,其中:
[0023] 图1是本发明基于电子海图的船舶自动舵测试仿真系统。
[0024] 图2是本发明基于电子海图的船舶自动舵测试仿真系统的操作流程图。
[0025] 图3是本发明基于电子海图的船舶自动舵测试仿真系统的系统主界面。
[0026] 图4是本发明基于电子海图的船舶自动舵测试仿真系统的航线设计面板。
[0027] 图中:1、主框架,2、电子海图模块,3、船舶运动模块,4、航海计算工具模块,5、航线 设计模块,6、自动舵控制器模块。

【具体实施方式】
[0028] 下面结合附图对本发明进行进一步地描述。如图1所示,
[0029] 基于电子海图的船舶自动舵测试仿真系统包括主框架1、电子海图模块2、船舶运 动模块3、航海计算工具模块4、航线设计模块5、自动舵控制器模块6。所述的主框架1采 用的是VisualC++的MFC的单文档程序,其他各模块采用动态链接库接口技术进行封装设 计;
[0030] 所述的主框架1是基于VisualC++的MFC的单文档程序,主要完成用户的交互显 示界面,交互显示界面包括:①主显示区:显示绘制海图、活动距标圈、航线、本船图标、航 迹;②信息显示面板:显示本船的航向、航速、转艏角速度、纵横向速度、位置、目标航路点、 偏航距离;③环境设置面板:用于设置修改自动舵算法测试时的外部干扰,包括风速、风 向、流速、流向;④本船设置面板:用于包括选择自动舵算法测试时的船模,直接输入经纬 度或通过鼠标设置本船位置,设置本船的航速、航向;⑤操舵设置面板:用于选择操舵的类 别和选择不同自动舵算法,以及设置仿真时间比例,既可设为与现实时间1:1仿真,也可设 为超现实时间比例仿真;⑥操船面板;用于包括仿真测试的开关控制以及舵和车钟的控制 和显示。同时也通过以调用动态链接库的形式与电子海图模块2、船舶运动模块3、航海计 算工具模块4、航海设计模块5、自动舵控制器模块6进行交互;
[0031] 所述的电子海图模块2,可以解析S57国际标准的电子海图数据,采用S-52标准显 示绘制海图。能够加载全球的S57格式电子海图数据,且可任意比例尺无级缩放浏览全球 海图。具有三种数据显示方式:基本显式、标准显示、全部显示;具有三种颜色方案:白天、 傍晚、黑夜。
[0032] 所述的船舶运动模块3是船舶运动控制器设计的基础,本系统采用三自由度运动 (即纵荡运动、横荡运动和首摇运动)的MMG船舶数学模型,MMG模型的主要特点是将作用 于船舶上的流体动力和力矩按照物理意义,分解为作用于裸船体、敞水螺旋桨和敞水舵上 的流体动力和力矩,以及它们之间的相互干涉流体动力和力矩。
[0033] 所述的航海计算工具模块4主要包括了一些常用的航海计算的功能函数,包括两 经纬点间的距离及方位的计算,纬度见长率的计算等。
[0034] 所述的航线设计模块5主要用于设计测试航迹自动舵所需的航线。航线设计的功 能全部集中在航线设计面板中,用户可以通过系统菜单中的视图,打开或关闭航线设计面 板;用户可以通过鼠标在海图上实时增加,修改,删除航路点来设计划航线;在海图上设计 完航路点后,可以在航线设计面板上命名航线,增加航线起讫港信息;在航线设计面板右边 的航路点列表查看航路点的位置,相对距离,相对方位信息并能设置每条航线段的左右偏 航距离;设计好的航线都显在航线设计面板左边的航线列表中,可以对每条航线进行是否 在海图上显示、导航、编辑、删除、保存等操作;可以存储大量航线,并且正在用于航迹控制 的航线可以实时编辑,实时检测自动舵算法的控制效果。
[0035] 所述的自动舵控制器模块6是用于加入用户设计的自动舵控制算法并在系统中 测试自动舵控制算法。因此,自动舵控制器模块6通常由用户编写。自动舵控制器模块6 是以MFC扩展动态链接库的形式被主框架调用,可以包含一种或多种算法。自动舵控制器 模块6采用自定义标准的数据接口,自动舵控制器模块6有标准的接口告诉主框架1当前 自动舵控制器模块6有哪些控制算法,主框架1则会相应的初始主框架界面中的算法列表。 测试自动舵算法时,主框架1给自动舵控制器模块6提供的输入包括:主框架1当前所选择 的控制算法及所选的航线信息或保持的航向;船舶的位置、航速、航向、转艏角速度、目标航 路点、偏航距离;船舶数学模型的船长、船宽、吃水、型深、排水量、方形系数等数据。
[0036] 本发明的工作方法,包括以下步骤(仿真操作主流程见图2):
[0037]A、启动系统。
[0038]B、测试自动舵算法:用户开始测试自动舵算法,需首先选择操舵模式,若选择航迹 自动舵,需选择控制算法和航线,若没有航线,则要新建一条航线。若选择航向自动舵,需设 置保持的航向。
[0039]C、参数设置:设置风流环境参数及本船的位置、航向、速度等参数。
[0040]D、开始仿真:点击操船面板上的"开始"按扭开始仿真,随之"开始"按扭变为"结 束"按扭。运行的过程中可进行暂停仿真、修改风流设置、修改仿真时间比例等操作。
[0041]E、结束仿真:点击"结束"按扭结束仿真,同时会提示用户是否保存本次仿真测试 数据。用户可对记录文件命名并选择目录进行保存。
[0042]F、退出系统。
[0043]本发明各子系统的实施方式如下:
[0044] 1、主框架1的实施方式
[0045] 主框架1是在Windows操作系统上使用VisualStudio2010平台进行搭建,主框 架1主要完成用户的交互显示界面,包括主显示区、信息显示面板、环境设置面板、本船设 置面板、操舵设置面板、操船面板。同时也通过以调用动态链接库的形式调用其他子模块。
[0046] 用户界面是本发明和用户之间进行交互和信息交换的媒介,实现了信息的内部形 式与用户可以接受形式之间的转换。因此,用户界面是本发明中非常重要的方面,设计时既 要保证界面美观大方又要符合用户的操作习惯。用户能够通过界面对本发明进行各种操 作,也能直观检验自动舵的控制效果。主框架1具体是采用MFC的单档模式框架,默认可选 择多种应用程序外观。其他显示控制面板都基于可浮动停靠的MFC控件,用户若不习惯系 统的默认布局,可以按用户个人习惯重新布局,也可关闭或显示全部显示控制面板。实现的 默认主界面如图3所示。
[0047] 2、电子海图模块2
[0048] 电子海图模块2通过解析S57国际标准的电子海图数据,然后采用S-52标准显示 绘制海图。该电子海图显示模块能够加载全球的S57格式电子海图数据,根据当前窗口的 地理显示范围,自动加载相应的海图,且可任意比例尺无级缩放浏览全球海图。电子海图模 块2是封装成标准的动态链接库,其对外提供了绘图显示,显示模式等功能接口函数。这 样主框架1调用相应的函数,就能完成海图的显示。海图的显示是在主框架1中主视图类 CShipAutoControlView中的OnPaint函数中完成:
[0049]

【权利要求】
1. 一种船舶自动舵算法测试仿真系统,其特征在于:包括主框架(1)、标准电子海图模 块(2)、船舶运动数学模型模块、航海计算工具箱模块、航线设计模块(5)和自动舵控制器 模块(6);所述的主框架(1)采用的是Visual C++的MFC的单文档程序,其他各模块采用 动态链接库接口技术进行封装设计; 所述的主框架(1)是基于Visual C++的MFC的单文档程序,完成用户的交互显示界面, 所述的交互显示界面包括主显示区、信息显示面板、环境设置面板、本船设置面板、操舵设 置面板和操船面板;所述的主显示区包括显示绘制海图、活动距标圈、航线、本船图标和航 迹;所述的信息显示面板包括显示本船的航向、航速、转艏角速度、纵横向速度、位置、目标 航路点以及偏航距离;所述的环境设置面板用于设置修改自动舵算法测试时的外部干扰, 外部干扰包括风速、风向、流速和流向;所述的本船设置面板用于选择自动舵算法测试时的 船模,直接输入经纬度或通过鼠标设置本船位置,设置本船的航速和航向;所述的操舵设置 面板用于选择操舵的类别和选择不同自动舵算法,以及设置仿真时间比例,仿真时间比例 设为与现实时间1:1仿真或设为超现实时间比例仿真;所述的操船面板用于仿真测试的开 关控制以及舵和车钟的控制和显示,同时也通过以调用动态链接库的形式与标准电子海图 模块(2)、船舶运动数学模型模块、航海计算工具箱模块、航海设计模块和自动舵控制器模 块(6)进行通讯; 所述的标准电子海图模块(2)解析S57国际标准的电子海图数据,采用S-52标准显示 绘制海图,加载全球的S57格式电子海图数据,且以任意比例尺无级缩放浏览全球海图,具 有三种数据显示方式:基本显式、标准显示和全部显示;具有三种颜色方案:白天、傍晚和 黑夜; 所述的船舶运动模块(3)是船舶运动控制器设计的基础,采用三自由度运动的MMG船 舶数学模型,MMG船舶数学模型的主要特点是将作用于船舶上的流体动力和力矩按照物理 意义,分解为作用于裸船体、敞水螺旋桨和敞水舵上的流体动力和力矩,以及它们之间的相 互干涉流体动力和力矩;所述的三自由度运动包括纵荡运动、横荡运动和首摇运动; 所述的航海计算工具模块(4)包括常用的航海计算的功能函数、两经纬点间的距离及 方位的计算、纬度见长率的计算; 所述的航线设计模块(5)用于设计测试航迹自动舵所需的航线;航线设计的功能全部 集中在航线设计面板中,用户通过主框架(1)的菜单,打开或关闭航线设计面板;用户通过 鼠标在海图上实时增加、修改和删除航路点来设计划航线;在海图上设计完航路点后,再在 航线设计面板上命名航线,增加航线起讫港信息;在航线设计面板右边的航路点列表查看 航路点的位置、相对距离和相对方位信息并能设置每条航线段的左右偏航距离;设计好的 航线都显在航线设计面板左边的航线列表中,对每条航线进行是否在海图上显示、导航、编 辑、删除和保存操作;存储大量航线,并且对正在用于航迹控制的航线进行实时编辑和实时 检测自动舵算法的控制效果; 所述的自动舵控制器模块(6)用于加入用户设计的自动舵控制算法并测试自动舵控 制算法;自动舵控制器模块(6)由用户编写,以MFC扩展动态链接库的形式被主框架⑴调 用;自动舵控制器模块(6)采用自定义标准的数据接口,自动舵控制器模块(6)有标准的 接口告诉主框架(1)当前自动舵控制器模块(6)有哪些控制算法,主框架(1)则会相应的 初始化主框架(1)界面中的算法列表;测试自动舵算法时,主框架(1)会给控制模块提供的 输入参数,所述的输入参数包括主框架(1)当前所选择的控制算法及所选的航线信息或保 持的航向,船舶的位置、航速、航向、转艏角速度、目标航路点、偏航距离,船舶数学模型的船 长、船宽、吃水、型深、排水量、方形系数。
【文档编号】G05B17/02GK104483845SQ201410679964
【公开日】2015年4月1日 申请日期:2014年11月21日 优先权日:2014年11月21日
【发明者】李铁山, 沈海青, 李荣辉, 郭晨, 沈智鹏, 彭周华 申请人:大连海事大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1