首页> 中国专利> 船舶运动控制算法测试仿真系统

船舶运动控制算法测试仿真系统

摘要

本发明涉及船舶运动控制算法测试仿真系统,由船舶模型的设置与测试模块、控制算法的加载与测试模块、船舶运动数学模型模块、船舶航向与航迹曲线显示界面和船舶运动虚拟现实仿真场景五个部分组成。船舶模型的设置与测试模块、控制算法的加载与测试模块分别与船舶运动数学模型模块进行双向数据连接;船舶运动数学模型模块单向传输数据至船舶航向与航迹曲线显示界面和船舶运动虚拟现实仿真场景中;同时船舶航向与航迹曲线显示界面和船舶运动虚拟现实仿真场景都可单向传输数据至船舶模型的设置与测试模块和控制算法的加载与测试模块。该仿真系统方便控制算法改进,减少海上试验次数,降低试验成本,缩短开发周期,加速先进控制理论在实际工程中的应用。

著录项

  • 公开/公告号CN101373491A

    专利类型发明专利

  • 公开/公告日2009-02-25

    原文格式PDF

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

    申请/专利号CN200810011857.8

  • 发明设计人 沈智鹏;郭晨;叶光;

    申请日2008-06-13

  • 分类号G06F17/50(20060101);

  • 代理机构21226 大连八方知识产权代理有限公司;

  • 代理人卫茂才

  • 地址 116026 辽宁省大连市甘井子区凌海路1号

  • 入库时间 2023-12-17 21:23:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-07-31

    未缴年费专利权终止 IPC(主分类):G06F17/50 授权公告日:20100120 终止日期:20120613 申请日:20080613

    专利权的终止

  • 2010-01-20

    授权

    授权

  • 2009-04-22

    实质审查的生效

    实质审查的生效

  • 2009-02-25

    公开

    公开

说明书

技术领域

本发明涉及一种高可信度的船舶运动控制算法测试仿真系统。

背景技术

由于船舶航行实船实验的费用很高,所以大多数船舶运动控制理论工作者只能进行仿真研究。仿真工作者对控制算法的研究偏多,对被控对象的研究偏少,而被控对象逼真度不高直接导致整个系统的仿真逼真度不高,这样就导致了算法测试仿真结论可信度不高,降低了工程人员对控制理论工作者工作的认可程度,从而延缓了一些先进控制理论在实际工程中的应用。控制系统仿真属于控制理论与仿真技术交叉的领域,但当前很少有控制理论工作者把控制系统仿真当作一个系统仿真的问题来处理,而普通的仿真理论工作者又很难从事控制理论相关的工作,这在一定程度上影响了先进仿真理论在控制系统仿真这一交叉领域中的应用,也导致了控制系统仿真存在着“仿真可信度不高”的问题。

发明内容

本发明针对船舶运动控制仿真这一具体的问题,基于系统建模与仿真的校核、验证和验收技术,研制一套高可信度的船舶运动控制算法测试仿真系统,加速先进控制理论在船舶运动控制领域中的应用。

本发明一种高可信度的船舶运动控制算法测试仿真系统主要具有以下功能:

(1)船型的选择以及实船数据的输入。本仿真系统提供5446TEU大型集装箱船和3万吨油轮两种船型,使用者还可根据需要自行输入不同船型及实船数据。

(2)船舶运动数学模型的选择与参数计算。根据算法测试的不同目的和要求,使用者可以选择不同类型的模型,本系统提供两种船舶运动模型:响应模型和分离模型。使用者选择完船型和数学模型种类后,本系统就可计算并显示出相应船模的所有参数值。

(3)船舶模型的测试。本系统可进行船舶回转运动仿真、Z型实验仿真,与实船实验数据比较,便可测试模型的有效性。

(4)控制算法的加载与测试。本系统提供PID控制、自适应控制、模糊控制等常用控制模块;使用者只需将自己设计的控制算法按规定的格式编译成动态连接库,就可加入到本平台中。根据控制算法的不同,使用者可进行船舶航向和船舶航迹控制仿真测试;平台还提供一个“事件编辑器”,可方便用户进行更复杂的事件仿真测试。在测试过程中,用户可以观察航向、舵角、船速等参数的动态数据和显示曲线,同时可观察船舶运动虚拟现实仿真场景,据此可对控制算法进行测试、优化和改进。

(5)历史数据的保存。在测试过程中,可将船舶运动状态的重要动态数据保存下来,便于以后的进一步研究应用。

本发明的技术方案是:船舶运动控制算法测试仿真系统,主要由船舶模型的设置与测试模块1、控制算法的加载与测试模块2、船舶运动数学模型模块3、船舶航向与航迹曲线显示界面4和船舶运动虚拟现实仿真场景5五部分组成。船舶模型的设置与测试模块1、控制算法的加载与测试模块2分别与船舶运动数学模型模块3进行双向数据连接;船舶运动数学模型模块3单向传输数据至船舶航向与航迹曲线显示界面4和船舶运动虚拟现实仿真场景5中;同时船舶航向与航迹曲线显示界面4和船舶运动虚拟现实仿真场景5都可单向传输数据至船舶模型的设置与测试模块1和控制算法的加载与测试模块2。所述的船舶模型的设置与测试模块1、控制算法的加载与测试模块2、船舶运动数学模型模块3、和船舶航向与航迹曲线显示界面4用VC++开发,所述的船舶运动虚拟现实仿真场景5由VC++和Vega混合编程实现。

本发明一种高可信度的船舶运动控制算法测试仿真系统的工作原理是:

船舶模型的测试:首先根据测试目的和要求不同由船舶模型的设置与测试模块1选择合适的船型、计算出船舶参数并传输到船舶运动数学模型模块3中,接着船舶运动数学模型模块3进行船舶回转实验仿真,同时仿真结果输出到船舶航向与航迹曲线显示界面4和船舶运动虚拟现实仿真场景5中,将仿真实验结果与实船实验数据进行比较,当回转圈航迹误差小于在一个船长时,则认为所建立的船舶运动数学模型是有效的,否则无效。

控制算法的测试:当建立了有效的船舶运动数学模型后,就可进行控制算法的测试。首先由控制算法的加载与测试模块2加载需要测试的控制算法,然后与船舶运动数学模型模块3构成闭环控制系统,通过“事件编辑器”对船舶航行环境、船舶转向点等条件进行设置,接着进行船舶运动控制仿真,同时将仿真结果输出到船舶航向与航迹曲线显示界面4和船舶运动虚拟现实仿真场景5中,最后分析船舶航线、航迹和动态数据等仿真结果,并判断所加载控制算法的控制特性。

本发明的优点和有益效果是:与通常的算法测试仿真过程相比,本发明船舶运动控制算法测试仿真系统增加了许多仿真的工作,其中多种模型的选择明确了仿真的目的,而合适的模型能够更为有效地进行算法测试;对模型的完整性和精确性的要求能够明显地提高仿真逼真度;“事件仿真算法测试”能够在连续的时间轴上进行算法测试,对于控制算法的鲁棒性、自适应性都能进行更好的测试。

本系统中船舶模型的测试工作实际属于仿真工作,并不包含太多的控制理论知识,并且具有一定的通用性,可以提前完成,即可提前构造一套有效的、高可信度的控制系统,然后更换控制算法来测试控制效果就可以得到可信度较高的算法结论分析。因此,该仿真系统能够减少船舶系统控制研究者大量的重复性工作,帮助科研工作者更快速有效的进行船舶运动控制算法仿真测试,方便控制算法改进,得到可信度较高的仿真测试结论,从而实现减少海上试验次数,降低试验成本,缩短开发周期,加速先进控制理论在实际工程中的应用。

附图说明

下面结合附图对本发明做进一步详细地描述:

图1是本发明一种高可信度的船舶运动控制算法测试仿真系统的组成结构框图。

图中:1、船舶模型的设置与测试模块,2、控制算法的加载与测试模块,3、船舶运动数学模型模块,4、船舶航向与航迹曲线显示界面,5、船舶运动虚拟现实仿真场景。

具体实施方式

如图1所示,本发明的一种高可信度的船舶运动控制算法测试仿真系统,主要由船舶模型的设置与测试模块1、控制算法的加载与测试模块2、船舶运动数学模型模块3、船舶航向与航迹曲线显示界面4和船舶运动虚拟现实仿真场景5五部分组成。船舶模型的设置与测试模块1、控制算法的加载与测试模块2分别与船舶运动数学模型模块3进行双向数据连接;船舶运动数学模型模块3单向传输数据至船舶航向与航迹曲线显示界面4和船舶运动虚拟现实仿真场景5中;同时船舶航向与航迹曲线显示界面4和船舶运动虚拟现实仿真场景5都可单向传输数据至船舶模型的设置与测试模块1和控制算法的加载与测试模块2。

船舶运动数学模型模块3设计实现了响应型模型,三自由度MMG模型和四自由度的平野模型。

船舶航向与航迹曲线显示界面4可以显示航向、航迹、命令舵角、实际舵角、主机转速、航速、,以及等参数的实时数据和曲线。

一、船舶模型的设置与测试模块1的设计与实现

1.模型的选择

本仿真系统将模型分为响应型模型和分离模型两种,由于Nomoto模型过于简化,在最近几年已经很少使用,所以此处的响应型模型特指Norrbin模型;分离模型在仿真的使用中,可以分为三自由度MMG模型和四自由度的平野模型。

2.模型重要参数的输入

仿真系统通过“打开”和“保存”按钮实现数据的存取;模型的重要参数包括船舶自身参数以及海洋参数;在此处的参数通过单击“参数确认正确”按钮就可以导入仿真系统中。本系统中带有5446TEU系列集装箱的COSCO Shanghai号的和3万吨油轮的重要数据可供用户使用。

3.模型验证

由于模型的不同,所以验证时分为Norrbin模型、三自由度MMG模型与四自由度平野模型三种情况进行。但是,由于Norrbin响应型模型本身是一个定常模型,而回转实验中,主机通常都是定油门运行,整个回转运行中航速都会有较大变化,已经超出模型摄动的范围,所以基于Norrbin模型进行的回转实验分为两种,一种是定参数Norrbin模型回转,一种是变参数Norrbin模型回转,在变参数Norrbin模型中,通过时间分段改变Norrbin模型的参数来近似船舶回转中的降速。

(1)定参数Norrbin模型回转实验

由于Norrbin模型本身是一个匀速的定参数模型,所以采用Norrbin模型进行回转实验本身就是有一定困难的,但为了比较这几种模型,本系统可进行定参数Norrbin模型的仿真回转实验。

(2)变参数Norrbin模型回转实验

为了表现出船舶回转过程中降速的过程,本系统可采用分段变参数的办法,即根据船舶数据以及实船实验数据,计算出不同航速下的模型参数,然后在回转实验中,分段采用不同的参数。

(3)三自由度MMG模型和四自由度的平野模型回转实验

由于三自由度MMG模型和四自由度平野模型都是时变模型,所以在给出回转实验图时给出仿真回转实验中的数据曲线图。在基于三自由度MMG模型的回转实验中的数据曲线图中给出航向、航速、主机转速的曲线图,基于三自由度MMG模型的回转实验中的数据曲线图中再加上横摇角的曲线图。

二、控制算法的加载与测试模块2的设计与实现

如何方便用户快速加载新的算法,是本发明仿真系统的一个重要内容。如果系统的控制算法仍然需要用户自己通过加代码的方式把算法写入程序中,这显然是无法令人满意的,本系统采用通过动态链接库(DLL)的方式来加载算法。

动态链接库的名称可以根据编写算法的内容任取,但动态链接库中必须包含一个名为ShipState的结构体,同时在命名为Controller( )的函数中编写控制算法。算法通过定义形如ShipState *m_PShipState格式的指针m_PShipState,来与程序交换数据,算法需要的实际航向或航迹,设定航向或航迹的数据通过指针m_PShipState都可得到,算法需要存储的中间变量放在ComputeStatePara数组中,最后计算出的控制量保存在变量RudderD中。

struct ShipState

{  double nowCourseDirect;//当前航向

   double SetCourseDirect;//设定航向

     double CourseError;//当前航向偏差;

     double LastCourseError;//上一时刻航向偏差;

     double CourseErrorChange;//航向偏差变化率(微分)

     double CourseErrorChangeSum;//航向偏差变化率积分

     double RudderD;//舵角

     double MovingU;//纵向速度

     double ErrorX;//位置x的偏差

     double ErrorY;//位置y的偏差

     double ErrorLocation;//当前位置的偏差

     double LastErrorLocation;//上一时刻位置的偏差

     double LocationErrorChange;//位置偏差变化率(微分);

     double LocationErrorChangeSum;/位置偏差变化率积分

     double h;//仿真步长

     double ComputeStatePara[100];//中间变量

     double t;//仿真时间

};

void Controller(ShipState *m_PShipState)

{   //用户控制算法程序

}

在控制算法测试方面,本发明提出状态仿真算法测试与事件仿真算法测试两种方法,定义如下

状态仿真算法测试:是建立仿真系统之后,在一定的设定条件下,研究控制算法在某单-信号,通常为阶跃信号下的控制效果的测试方法。

事件仿真算法测试:是建立仿真系统之后,在一定的设定条件下,在时间轴上,研究被控对象在进行一系列活动的过程中,控制算法在多种信号下的控制效果的测试方法。

针对事件仿真算法测试本系统设计了一个事件编辑器。如果主要研究船舶航向控制、航迹控制,那么影响船舶运动控制的船舶的主要活动就是主机操纵,而外界主要影响就是风、浪、流扰动变化,所设计的“事件编辑器”是一个方便用户,只要调整几个参数就可以仿真实船一系列活动的对话框。通过“事件编辑器”的方式,用户可以快速地实现“事件仿真算法测试”,在整个事件中,主机转速以及风、浪、流外界干扰都可以多次变化。虽然输入内容增多,但这样仿真的效果更接近于实际情况,有更高的可信度。

三、船舶运动虚拟现实仿真场景5的设计与实现:该模块由VC++和Vega混合编程实现。

Vega是美国Multigen-Paradigm公司用于虚拟现实、实时实景仿真、声音仿真以及其他可视化领域的世界领先级应用软件工具。它支持快速复杂的视觉仿真程序,能为用户提供一种复杂仿真事件的便捷手段,它将易用的工具和高级仿真功能巧妙地结合起来,使用户以简单的操作迅速地创建、编辑和运行复杂的仿真应用程序。由于Vega大幅度地减少了源代码的编程,使软件的维护和实时性能的进一步优化变得更加容易,从而大大提高了工作效率。

Vega提供了很多功能模块,各模块带有方便的接口。其中Vega海洋仿真模块为实现逼真的海洋仿真提供了完善的动态和静态海洋模型、区域矢量以及各种各样的海洋特殊效果等,使用海洋仿真模块用户可以快捷地开发出极具创造性的海洋仿真应用,所有的海洋效果都可以通过扩展的图形界面方便地进行设置,或者实时地通过该模块的应用程序编程接口加以控制。

本系统基于VC++的SDI框架,利用Vega开发船舶运动虚拟场景。

程序主框架为

main(intargc,char*argv[])

{

  vgInitSys( );           /*初始化Vega系统*/

  vgInitMarine( );        /*初始化海洋模块*/

  vgInitFx( );            /*调用特效模块*/

  vgDefineSys(argv[1]);   /*定义系统:读取ADF文件*/

  vgConfigSys( );         /*系统配置*/

  while(1)                 /*主循环*/

  {  vgSyncFrame( );      /*帧同步*/

     vgFrame( );          /*当前帧下进行所有内部处理工作*/

     /*应用程序具体实现代码*/

  }

}

所设计与实现的船舶运动虚拟现实仿真场景具有以下功能:海洋颜色可调,海浪等级可调,船舶尾迹,天空可变,光线可调,多视角观察船舶运动姿态,船舶四自由度运动,以及舵和减摇鳍的实时运动。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号