1. 项目背景与研究意义
欠驱动无人水面船舶(USV)作为海洋探测、环境监测和海上救援的重要平台,其自主航行能力直接取决于轨迹跟踪控制的精度与鲁棒性。在实际海洋环境中,船舶控制系统面临三大核心挑战:首先是欠驱动特性——常规船舶仅配备螺旋桨和舵机两个执行机构,无法直接产生侧向推力,导致系统控制输入维度低于状态维度;其次是模型不确定性,包括难以精确测量的水动力参数(如附加质量、阻尼系数)以及随航速变化的非线性耦合效应;最后是复杂的环境干扰,如时变风浪流扰动,其幅值可能达到船舶推力的20%以上。
传统PID控制在平静水域表现尚可,但在面对上述挑战时往往出现超调大(>30%)、稳态误差显著(>5%米级)等问题。我们团队在2022年东海实船测试中就曾遭遇过:当船舶以3节航速进行直线跟踪时,侧向风浪导致轨迹偏移达到船长的15%。这促使我们探索更先进的控制策略,最终形成了这套融合神经网络观测器与自适应滑模的控制方案。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统建模与问题描述
2.1 三自由度运动模型
采用Serret-Frenet坐标系建立船舶运动模型,其动力学方程可表示为:
matlab复制% 动力学方程Matlab表示
M*nu_dot + C(nu)*nu + D(nu)*nu = tau + d_ext
eta_dot = J(psi)*nu
其中M∈R³ˣ³为惯性矩阵(包含附加质量项),C(ν)为科氏力矩阵,D(ν)为阻尼矩阵。我们通过CFD仿真与水池试验相结合的方式,获取某型4.8米USV的典型参数:
matlab复制M = [25.8 0 0; 0 33.5 1.2; 0 1.2 2.8]; % 质量矩阵(kg·m²)
D = [2.5 0 0; 0 5.2 0.8; 0 0.8 1.5]; % 阻尼系数(N·s/m)
2.2 核心控制难点
-
状态不可测问题:船载GPS采样率通常为10Hz,而IMU测量的角速度噪声标准差可达0.05rad/s。我们曾尝试用卡尔曼滤波进行状态估计,但在剧烈横摇时误差会放大3倍以上。
-
复合不确定性:包括:
- 参数不确定性:质量矩阵M的实际值可能有±15%偏差
- 未建模动态:如波浪二阶力导致的低频漂移
- 环境干扰:实测数据显示3级海况下干扰力矩峰值可达15N·m
3. 神经网络观测器设计
3.1 RBFNN架构设计
采用三输入单输出的径向基函数网络结构,隐藏层包含17个神经元,其高斯函数参数通过k-means聚类初始化。观测器的独特之处在于将状态估计与不确定性补偿融为一体:
matlab复制% RBFNN观测器核心代码
function [nu_hat, f_hat] = RBF_Observer(eta_err, W)
phi = exp(-(eta_err - c).^2/(2*b.^2)); % 高斯函数计算
nu_hat = W(:,1:3)'*phi; % 速度估计
f_hat = W(:,4:6)'*phi; % 不确定性估计
end
3.2 权值自适应律
基于Lyapunov稳定性理论设计的权值更新律:
matlab复制W_dot = gamma * phi * (eta_err'*K + nu_tilde'*M); % gamma=0.05为学习率
实测表明,该算法在初始参数误差达200%时,仍能在8秒内收敛到稳态。
4. 自适应滑模控制器实现
4.1 预设性能函数设计
采用指数型性能边界函数:
code复制rho(t) = (rho0 - rho∞)exp(-αt) + rho∞
其中ρ0=2.5m(最大允许误差),ρ∞=0.1m(稳态精度),α=0.5(收敛速率)。通过误差变换:
code复制epsilon = ln( (e/rho + 1) / (1 - e/rho) )
将约束控制转化为无约束控制问题。
4.2 滑模面与控制律
设计积分型滑模面:
code复制s = e_dot + 2*Λ*e + Λ²∫e dt
控制律包含三部分:
matlab复制tau = M*(nu_d_dot - 2*Λ*e_dot - Λ²*e)... % 等效控制
- K*s - f_hat... % 鲁棒项
- (k_hat + η)*sign(s); % 自适应滑模项
其中自适应增益k_hat按如下规律更新:
code复制k_hat_dot = γ||s|| (γ=0.1)
5. 仿真验证与分析
5.1 圆形轨迹跟踪测试
设置半径为20m的圆形参考轨迹,加入幅值10N的周期性横向干扰。与传统SMC对比:
| 指标 | 传统SMC | 本方法 |
|---|---|---|
| 最大位置误差 | 2.8m | 0.6m |
| 收敛时间 | 25s | 12s |
| 控制输入抖振 | ±15N | ±3N |

5.2 直线轨迹抗干扰测试
在t=30s时施加阶跃型侧向干扰,本方法在3.2秒内恢复跟踪,位置超调仅0.4m,而PID控制产生持续振荡。
6. 工程实现要点
-
计算效率优化:将RBFNN的隐含层节点数压缩到17个后,在树莓派4B上运行周期可缩短至5ms,满足实时性要求。
-
参数整定经验:
- 初始学习率γ建议取0.01~0.1
- 滑模面参数Λ对角元素设为[0.8, 0.8, 0.5]
- 性能函数ρ∞取值应大于传感器噪声幅值的2倍
-
硬件在环测试:我们搭建了基于RT-Lab的HIL平台,测试表明在20%参数摄动下,控制器仍能保持稳定。
7. 扩展应用方向
本方法已成功移植到某型水下机器人控制中,针对低速工况(<1m/s)进行了以下改进:
- 将RBFNN替换为Echo State Network,提升对低频扰动的估计精度
- 引入事件触发机制,在保证性能前提下将控制器计算负载降低40%
- 融合视觉定位信息,形成多源观测融合架构
在实际应用中需要注意:当船舶进行大角度转向(>45°)时,建议暂时放宽性能约束边界ρ0,避免控制器过度饱和。我们开发的MATLAB工具箱已开源,包含详细的参数整定指南和典型工况测试案例。
