MSS学习分享第二弹

        欢迎来到MSS学习的第二弹,这篇就要开始正式的建模仿真啦~

一、建模

1、船舶模型选择

        根据需要在 Marine craft models 里面选择适当的船舶模型,我这里选择的是三自由度低速船舶模型中的 CyberShip2 (CS2)。新建一个空白模型,我这里给他命名为MODEL1,把选中的模块直接复制过去。

        从图中我们看到该模块有一个输入 τ(tau),两个输出 η(eta)和 ν(nu),τ,η和 ν的定义分别为:

                \tau= \begin{bmatrix} X \\ Y \\ Z \\ K \\ M \\ N \end{bmatrix}                                 \eta = \begin{bmatrix} x \\ y \\ z \\ \phi \\ \theta \\ \psi \end{bmatrix}                                \nu = \begin{bmatrix} u \\ v \\ w \\ p \\ q \\ r \end{bmatrix}

τ 为作用在船舶上的广义力:

        X:前进方向的力(surge force);

        Y:横移方向的力(sway force);

        Z:垂直方向的力(heave force);

        K:横滚方向的力矩(roll moment);

        M:纵倾方向的力矩(pitch moment);

        N:偏航方向的力矩(yaw moment);

η 通常表示船舶的姿态(位置和方向),包括六个自由度的运动:

        x:前进(surge);

        y:横移(sway);

        z:垂直(heave);

        ϕ:横滚(roll);

        θ:纵倾(pitch);

        ψ:偏航(yaw);

ν 通常表示船舶在体坐标系下的速度向量,包括线速度和角速度:

        u:前进速度(surge velocity);

        v:横移速度(sway velocity);

        w:垂直速度(heave velocity);

        p:横滚角速度(roll rate);

        q:纵倾角速度(pitch rate);

        r:偏航角速度(yaw rate);

2、控制器选择

        这里我选择使用的是动态定位控制器(DP):

 

        这里多了一个输入\eta_{ref}通常表示参考位置或参考姿态,这是控制系统期望船舶达到的位置和姿态,用于指导船舶的运动和定位。所以在前一章基本框架基础上,我们还需另加一个模块用来设定参考位置或参考姿态。

3、预估器选择

        预估器的选择需要和控制器对应起来,前面我们选择的是DP控制器,所以这里我们对应选择Passive DP wave filter(被动DP波浪过滤器)。在DP系统中,波浪过滤器用于处理因海洋波浪引起的高频运动信号,从而提高系统的稳定性和精度。

        被动DP波浪过滤器的主要作用是过滤掉由波浪引起的高频干扰,从而使DP系统更能准确地控制船舶的位置和姿态。具体来说,它可以:

(1)减少高频噪声:滤除高频的波浪运动信号,避免其影响DP系统的控制决策;

(2)提高系统稳定性:通过抑制波浪的影响,使系统在应对低频环境干扰时更加稳定;

(3)优化控制响应:减少高频噪声对控制输入的影响,使控制器输出更平滑,更加符合实际控制需求。

        新增输入y,这里要与 横移 y 区分开来,这里的y是一个矩阵,其定义为:

y = \eta +\eta_w

        \eta_w :在动态定位系统中,\eta_w 通常表示由于环境力(风力、波浪等)引起的船舶位置和姿态变化,通常包括三种运动:前进方向变化(x_w)、横移位置变化(y_w)和偏航位置变化(\psi_w)。这些运动对船舶的稳定性和控制有重要影响,因此在DP系统中需要精确建模和补偿。

4、环境扰动设置

        简单起见,我们假设一个无风、无洋流的环境,仅仅考虑波浪的影响,这里选择线性二阶波谱来进行波浪环境模拟:

        点开该模块,可以看到输入是白噪声,输出为波幅:

        根据手册内容我们知道 

\eta_w=KH(s)w(s) 

         其中,K 为恒定可调的增益,该增益 K 必须选择使η中的信号的振幅具有合理的幅度。

        Hs(s)是包含波谱s(ω)的线性近似的对角矩阵,其对角线上的元素为二阶波传递函数h^{[i]}(s),如下:

 H(s)=\begin{bmatrix} h^{[1]}(s) & & & & & \\ & h^{[2]}(s) & & & & \\ & & h^{[3]}(s)& & & \\ & & &h^{[4]}(s) & & \\ & & & &h^{[5]}(s) & \\ & & & & &h^{[6]}(s) \end{bmatrix}

        其中 

h^{[i]}(s)=\frac{2\times \lambda\times w_0\times \sigma\times s}{s^2+2\times \lambda\times w_0s+w_0^2}

        分子为增益参数K_w=2 \lambda w_0\sigma,其中 σ 是描述波强度的常数,λ 是阻尼系数,w_0是主导波频率。

        一般来说,会有六个传递函数,每个自由度对应一个,这里我们只研究三自由度模型,只需设置前进方向(x_w)、横移位置(y_w)和垂直位置(\psi_w)上的变化即可。

         w(s)由白噪声模块提供,我们直接在库浏览器中进行搜索:

        直接添加第一个Band-limited White loise即可,噪声功率可以适当调大,默认为0.1。   

二、MaLouDeMingYeShiMing

        哈哈哈哈哈哈哈,我要疯了....摸索着学到这里了,师兄让我别用Simulink,我要滚回去看代码了.........哈哈哈哈哈哈哈哈哈,剩下的路你们继续走吧,哈哈哈哈哈哈哈哈哈哈哈......没事哒!没事哒!没!事!哒!

        

在进行船舶运动仿真以及导航系统测试时,Matlab船舶系统模拟器(MSS)提供了一个强大的工具集。MSS是一个专门为船舶系统设计的Matlab和Simulink库,能够模拟船舶运动并测试制导、导航和控制系统(GNC)的性能。 参考资源链接:[Matlab船舶系统模拟器:制导、导航与控制仿真](https://wenku.csdn.net/doc/645uki3p0s) 首先,需要在Matlab和Simulink环境中搭建船舶模型。这包括选择合适的水动力模型来描述船舶在水中的运动。MSS库提供了多种水动力模型,能够模拟从简单的线性运动到复杂的非线性运动特性。 接下来,为了集成GNC模块,你可以利用MSS库中的模块来设计控制算法。例如,设计路径规划算法时,可以使用特定的GNC模块来设定船舶的预定航迹,并实施自动导航功能。同时,通过这些模块可以实现姿态控制系统,确保船舶在航行中的稳定性和精确性。 在导航系统测试方面,MSS库允许用户在仿真环境中测试各种传感器和导航算法,例如GPS、惯性导航系统(INS)以及其他类型的导航技术。这样可以确保导航系统在模拟的海洋环境中的性能满足预期标准。 为了实现实时仿真,你需要确保仿真时间与实际时间同步,或者使用实时仿真工具来模拟时间的流逝。MSS库可能提供了与Matlab的实时仿真功能(如Real-Time Windows Target)的接口,使得开发者可以将仿真结果应用于实时系统。 通过MSS进行这些步骤时,你可以使用MSS库中的核心代码文件,如LimiteEstabilidad.m和PolosSalientes.m,来分析船舶的稳定性与控制系统的性能。同时,利用如Mauricio_Soria_Assignment.mlx这样的交互式脚本文件来具体实现算法。 最后,将所有模块整合到一起,并通过Matlab的GUI进行操作,这样可以更加直观地观察仿真结果,调整参数,直到达到满意的仿真效果。 综合使用MSS库中的各个功能,可以创建出一个综合的实时船舶运动仿真平台,并对导航系统进行详尽的测试。《Matlab船舶系统模拟器:制导、导航与控制仿真》一书中详细介绍了这些内容,提供了一个关于如何使用MSS进行仿真和测试的全面指南。对于希望深入了解Matlab船舶系统仿真中应用的用户来说,这是一本宝贵的参考资料。 参考资源链接:[Matlab船舶系统模拟器:制导、导航与控制仿真](https://wenku.csdn.net/doc/645uki3p0s)
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值