2. 船舶运动数学模型基础

自动舵的核心任务是“根据航向偏差算出舵角”,而它能否算得准、控得稳,前提是有一个能描述船舶如何响应舵角的数学模型。本节从船舶六自由度运动出发,逐步收敛到工程上最常用的 Nomoto 模型,并说明线性与非线性响应模型的差别以及各参数的物理意义,为后续 PID 参数整定和仿真搭建提供被控对象基础。

一、从六自由度到平面三自由度

船舶在空间中的运动可用六个自由度描述:沿三个坐标轴的平移(纵荡 surge、横荡 sway、垂荡 heave)和绕三个坐标轴的旋转(横摇 roll、纵摇 pitch、艏摇 yaw)。工程上通常采用固定坐标系 O-XYZ 与船体坐标系 o-xyz 两套参照:船体坐标系原点取在船舶重心,x 轴指向船首,y 轴指向右舷,z 轴指向龙骨下方;艏摇角 ψ 以船首向右偏转为正,舵角 δ 以右舵为正。这一符号约定在后续 PID 控制器中必须保持一致,否则会出现“越纠越偏”的正反馈。

对航向控制而言,纵荡由主机转速决定、垂荡与纵摇主要受波浪影响、横摇由舵和波浪共同激励,真正与自动舵直接耦合的是艏摇运动,而艏摇又通过横荡产生耦合。因此在航向自动舵设计中,通常把问题简化为“舵角 δ → 艏摇角速度 r → 艏向角 ψ”的平面三自由度(纵荡、横荡、艏摇)问题,横摇仅作为干扰或通过耦合项间接考虑。这一简化是 Nomoto 模型成立的前提。

二、Nomoto 模型:从二阶到一阶

基于线性操纵性理论,船舶艏摇运动可写成二阶线性微分方程:

T₁T₂·ψ⃛ + (T₁+T₂)·ψ̈ + ψ̇ = K·(T₃·δ̇ + δ)

其中 ψ 为艏向角,δ 为舵角,K 为增益,T₁、T₂、T₃ 为时间常数。对大多数船舶,T₃ 与 T₁、T₂ 相比很小,可近似取 T₃≈T₁+T₂−T₁T₂/T₃ 的简化形式,进一步忽略舵角速率项后得到工程上最常用的一阶 Nomoto 模型:

T·ψ̈ + ψ̇ = K·δ
即  ψ̇ = r,   T·ṙ + r = K·δ

写成传递函数形式为 G(s)=ψ(s)/δ(s)=K/[s(Ts+1)],即“一个积分环节串联一个一阶惯性环节”。这个形式非常直观:舵角先经过一阶惯性产生艏摇角速度 r,r 再积分得到艏向角 ψ。对 PID 设计来说,被控对象含有一个积分环节,意味着开环已有一阶无差度,比例控制即可消除稳态航向偏差,但积分环节也带来相位滞后,是横摇/艏摇振荡的根源之一。

船舶航向 Nomoto 模型信号链与参数作用 舵角指令 δ (右舵为正) 一阶惯性环节 K / (Ts + 1) K 增益 · T 时间常数 积分环节 1 / s r → ψ 艏向角 ψ 航向反馈量 艏摇角速度 r 参数物理意义 K(增益,1/s):单位舵角产生的稳态艏摇角速度,反映船舶回转能力;K 越大转向越灵敏,但过大会使闭环易振荡。 T(时间常数,s):艏摇角速度跟随舵角变化的滞后程度,反映船舶惯性;T 越大响应越迟钝,PID 需更强积分或更长积分时间。 K/T 之比:近似为初始回转角加速度系数,是衡量操纵性的重要指标;满载大型船舶 K 小、T 大,自动舵增益应相应降低。 注:以上为教学示例性说明,实际 K、T 需通过 Z 形试验或参数辨识获得。

三、线性与非线性响应模型

Nomoto 模型是线性模型,它假设船舶响应与舵角成正比、叠加原理成立。在小舵角(一般 |δ|≤5°~10°)和较小艏摇角速度下,这一假设基本成立,足以支撑航向保持工况的 PID 设计。但当船舶进行大角度回转、或航速较低、或舵角较大时,船舶响应呈现明显的非线性:相同舵角下右舵与左舵的转艏效果不对称,回转角速度存在饱和,甚至出现“舵角增大而转艏不再增加”的现象。

工程上常用的非线性响应模型是 Bech 模型或 Norrbin 模型,其典型形式为在 Nomoto 方程中引入非线性阻尼项:

T·ṙ + r + α·r³ = K·δ

其中 α 为非线性系数,r³ 项刻画了高角速度下的阻尼增强。当 |r| 较小时 α·r³ 可忽略,模型退化为线性 Nomoto 模型;当 |r| 较大时该项显著,使模型更贴近实船。对自动舵而言,线性模型用于小偏差航向保持的 PID 整定,非线性模型则用于大角度转向、航向变更和极限工况的仿真验证,两者配合使用才能既保证设计简便又保证仿真可信。

四、参数获取与仿真建模要点

K 与 T 不能凭空设定,工程上通常通过实船或船模的 Z 形试验(10°/10° 或 20°/20°)获取:记录舵角与艏向角响应曲线,从曲线中读取转艏角速度的稳态值反推 K,从达到稳态值 63% 的时间读取 T。若没有试验条件,也可用经验公式估算,例如基于船长 L 与航速 V 的回归式,但这类估算只适合初步仿真,不能替代辨识结果。

在 Simulink 或 Python 中搭建该模型时,一阶 Nomoto 模型可直接用“增益 + 惯性 + 积分”三个模块串联实现,状态变量取 r 与 ψ。以某教学示例船(假设 K=0.12 1/s,T=18 s,航速 12 kn)为例,若给定 5° 右舵阶跃,稳态艏摇角速度约为 K·δ=0.12×5°≈0.6°/s,达到 63% 稳态值约需 18 s。仿真时应注意:舵角输入需限幅(通常 ±35°)并加舵速限制(如 2.5°/s),否则模型响应会偏离实际;同时应把航向角 ψ 做 ±180° 的周期处理,避免积分累积导致角度跳变。

建模自检清单:① 坐标系与舵角正负号是否与控制器一致;② K、T 是否来自试验或明确标注为估算值;③ 是否加入舵角限幅与舵速限制;④ 航向角是否做周期归一化;⑤ 线性模型用于小舵角整定、非线性模型用于大舵角验证,二者结论是否一致。

理解本节模型后,PID 控制器面对的就不再是一个抽象黑箱,而是一个具有明确增益、惯性和非线性的动态对象。后续整定 PID 参数时,K 决定比例增益的量级,T 决定积分时间与微分作用的取舍,而非线性项则提醒我们:一套参数很难在全工况下都最优,必要时需按航速或海况做增益调度。