【MATLAB课题推荐】AUV惯性导航与INS/DVL组合导航定位方法研究:从纯惯性漂移到自适应鲁棒融合算法

【MATLAB课题推荐】AUV惯性导航与INS/DVL组合导航定位方法研究:从纯惯性漂移到自适应鲁棒融合算法

课题推荐

推荐课题:

复杂水下环境下基于自适应鲁棒误差状态卡尔曼滤波的AUV SINS/DVL组合导航定位研究

英文:

Adaptive Robust Error-State Kalman Filtering for AUV SINS/DVL Integrated Navigation in Complex Underwater Environments

该课题属于水下无人系统(AUV)、惯性导航、组合导航和多传感器融合领域的经典研究方向。

整体研究路线非常清晰:

  1. 建立AUV纯惯性导航系统;
  2. 分析纯INS长期运行时的位置漂移问题;
  3. 引入DVL速度辅助信息构建SINS/DVL组合导航系统;
  4. 针对DVL异常、噪声变化和短时失锁设计改进滤波算法。

该方向具有以下特点:

  • 理论成熟,有大量论文基础;
  • MATLAB容易实现;
  • 不需要复杂硬件;
  • 创新点容易扩展;
  • 适合作为本科毕设、硕士课题以及工程算法验证项目。

研究背景

自主水下航行器(Autonomous Underwater Vehicle,AUV)广泛应用于海洋测绘、水下探测、目标搜索和军事侦察等任务。

由于水下环境无法接收GNSS卫星信号,AUV通常依靠惯性导航系统(INS)实现自主定位。

惯性导航系统利用陀螺仪和加速度计测量角速度和比力,通过积分计算速度和位置。

然而:

  • 陀螺零偏会导致姿态误差不断增加;
  • 加速度计偏置会造成速度误差积累;
  • 位置误差经过二次积分快速发散。

因此,单独依靠惯性导航时:

短时间内具有较高精度,但长时间运行会产生明显漂移。

DVL(Doppler Velocity Log,多普勒测速仪)利用声学多普勒效应测量AUV相对于海底或水体的运动速度。

由于速度信息不会经过积分累积,因此DVL能够有效约束惯性导航误差。

因此:

SINS/DVL组合导航是目前AUV最经典、最工程化的导航方案之一。

推荐技术路线

整体框架如下:

IMU | ↓ ┌────────────────┐ │ SINS机械编排 │ └────────────────┘ | ↓ 惯性导航状态预测 | | ↓ ┌────────────────┐ DVL --->│ 自适应鲁棒ESKF │ └────────────────┘ | ↓ 误差估计反馈 | ↓ AUV位置/速度/姿态

其中:

  • INS负责高频预测;
  • DVL负责速度约束;
  • ESKF负责误差估计和状态修正。

基础模型

惯性测量模型

陀螺仪输出:

ω~ibb=ωibb+bg+ng \widetilde{\omega}_{ib}^{b}= \omega_{ib}^{b} + b_g + n_gωibb=ωibb+bg+ng
其中:

  • ωibb\omega_{ib}^{b}ωibb:真实角速度;
  • bgb_gbg:陀螺零偏;
  • ngn_gng:陀螺噪声。

加速度计输出:

f~b=fb+ba+na \widetilde{f}^{b}= f^{b} + b_a + n_afb=fb+ba+na

其中:

  • fbf^bfb:真实比力;
  • bab_aba:加速度计零偏;
  • nan_ana:加速度噪声。

惯性导航方程

速度更新:

v˙n=Cbnfb+gn \dot{v}^{n}= C_b^n f^b + g^nv˙n=Cbnfb+gn

位置更新:

p˙n=vn \dot{p}^{n}= v^np˙n=vn

由于:

a→v→p a \rightarrow v \rightarrow pavp

存在两次积分过程,因此IMU误差会不断放大。

INS/DVL组合导航模型

DVL输出速度:

v~DVLd=vDVLd+nDVL \widetilde{v}_{DVL}^{d}= v_{DVL}^{d} + n_{DVL}vDVLd=vDVLd+nDVL

转换到导航坐标系:

v~DVLn=CbnCdbv~DVLd\widetilde{v}_{DVL}^{n}= C_b^nC_d^b \widetilde{v}_{DVL}^{d}vDVLn=CbnCdbvDVLd
组合导航采用速度差作为观测量:

zk=vINS,kn,vDVL,kn z_k= v_{INS,k}^{n}, v_{DVL,k}^{n}zk=vINS,kn,vDVL,kn

然后利用卡尔曼滤波估计:

  • 姿态误差;
  • 速度误差;
  • 位置误差;
  • IMU零偏。

ESKF误差状态模型

经典15维误差状态:

δx=[δθTδvTδpTbgTbaT]T \delta x= [ \delta\theta^T \delta v^T \delta p^T b_g^T b_a^T ]^Tδx=[δθTδvTδpTbgTbaT]T

推荐创新点设计

创新点1:DVL质量检测

问题:

DVL并不是一直可靠。

例如:

  • 海底反射弱;
  • 气泡干扰;
  • 海底距离过远;
  • 声学环境变化。

利用新息统计判断DVL质量。

优点:

实现简单,而且具有统计意义。

创新点2:DVL测量噪声自适应

实际DVL:正常环境:噪声小;复杂环境:噪声大。

当DVL质量下降:自动增大R。

效果:降低错误DVL数据对导航结果的影响。

创新点3:鲁棒滤波抑制异常值

创新点4:DVL失锁恢复机制

设置DVL状态:

正常 ↓ 退化 ↓ 失锁 ↓ 恢复

失锁期间不更新.恢复阶段逐渐恢复DVL权重:

避免DVL重新出现时造成滤波突变。

创新点5:DVL比例因数在线估计(推荐)

MATLAB仿真设计

运动轨迹

建议:

0-200s 直线航行 200-400s 转弯 400-600s 加速 600-800s S型机动 800-1000s 深度变化

传感器参数

示例:

参数数值
IMU频率100 Hz
DVL频率1 Hz
陀螺零偏10°/h
加速度计零偏500 μg
DVL速度噪声0.02 m/s
仿真时间1000 s

9. 实验对比

建议比较:

算法作用
Pure INS展示漂移
INS/DVL EKF基础方法
INS/DVL ESKF标准误差状态
Adaptive ESKF噪声自适应
Robust Adaptive ESKF最终算法
典型运动剖面:

代码定制、讲解等,可联系我