使用卡尔曼滤波进行dvl标定

1. 状态向量定义

状态向量专门用于估计 DVL 的各类误差。我们有以下三类误差:

  • 常值误差(零偏误差):即 DVL 在测量速度时的恒定偏差。
  • 刻度因数误差:即 DVL 测量速度值的比例误差。
  • 安装误差:DVL 与载体之间的安装角度误差。

因此,状态向量可以定义为:

X k = [ b x b y b z α x α y α z θ x θ y θ z ] X_k = \begin{bmatrix} b_x \\ b_y \\ b_z \\ \alpha_x \\ \alpha_y \\ \alpha_z \\ \theta_x \\ \theta_y \\ \theta_z \end{bmatrix} Xk= bxbybzαxαyαzθxθyθz


2. 系统模型(状态转移方程)

系统模型描述的是 DVL 误差的演化。因为我们假设这些误差在短时间内是恒定的,状态向量不会随时间有显著变化,因此状态转移方程可以是简单的恒定模型:

X k + 1 = X k X_{k+1} = X_k Xk+1=Xk

这意味着我们认为 DVL 的安装误差、刻度因数误差和常值误差在整个过程中保持恒定,或变化很小。

在卡尔曼滤波器的状态更新中,忽略了过程噪声 ( w_k ),因此状态预测方程简化为:

X ^ k + 1 = A X ^ k \hat{X}_{k+1} = A \hat{X}_k X^k+1=AX^k

其中 ( A ) 为单位矩阵 ( I )。


3. 测量模型

测量模型描述的是 DVL 的观测如何受到误差的影响。这里,DVL 的测量值 ( Z_k ) 会受到常值误差、刻度因数误差和安装误差的影响。设 DVL 测量的是速度 ( V_{DVL} ),而外部参考传感器(如 GPS)提供的“真值”速度是 ( V_{ref} ),则 DVL 测量模型可以表示为:

Z k = H X k + v k Z_k = H X_k + v_k Zk=HXk+vk

其中 ( H ) 为测量矩阵,表示 DVL 测量受各种误差的影响。具体的测量模型可以描述为:

[ V D V L x V D V L y V D V L z ] = [ ( 1 + α x ) ( V r e f x + b x ) + ϵ x ( θ x ) ( 1 + α y ) ( V r e f y + b y ) + ϵ y ( θ y ) ( 1 + α z ) ( V r e f z + b z ) + ϵ z ( θ z ) ] + v k \begin{bmatrix} V_{DVLx} \\ V_{DVLy} \\ V_{DVLz} \end{bmatrix} = \begin{bmatrix} (1 + \alpha_x)(V_{refx} + b_x) + \epsilon_x(\theta_x) \\ (1 + \alpha_y)(V_{refy} + b_y) + \epsilon_y(\theta_y) \\ (1 + \alpha_z)(V_{refz} + b_z) + \epsilon_z(\theta_z) \end{bmatrix} + v_k VDVLxVDVLyVDVLz = (1+αx)(Vrefx+bx)+ϵx(θx)(1+αy)(Vrefy+by)+ϵy(θy)(1+αz)(Vrefz+bz)+ϵz(θz) +vk


4. 卡尔曼滤波步骤

通过卡尔曼滤波器,可以不断调整 DVL 的误差估计。具体步骤如下:

  • 预测步骤

    • 预测状态(根据状态转移方程):

      X ^ k + 1 = A X ^ k = X ^ k \hat{X}_{k+1} = A \hat{X}_k = \hat{X}_k X^k+1=AX^k=X^k

    • 预测误差协方差:

      P k + 1 = A P k A T = P k P_{k+1} = A P_k A^T = P_k Pk+1=APkAT=Pk

  • 更新步骤

    • 计算卡尔曼增益:

      K k = P k H T ( H P k H T + R ) − 1 K_k = P_k H^T (H P_k H^T + R)^{-1} Kk=PkHT(HPkHT+R)1

      其中,( R ) 是测量噪声协方差矩阵。

    • 更新状态估计:

      X ^ k = X ^ k + K k ( Z k − H X ^ k ) \hat{X}_k = \hat{X}_k + K_k (Z_k - H \hat{X}_k) X^k=X^k+Kk(ZkHX^k)

      这里的 ( Z_k ) 是 DVL 的测量数据,( V_{ref} ) 是外部传感器提供的参考速度。

    • 更新误差协方差矩阵:

      P k = ( I − K k H ) P k P_k = (I - K_k H) P_k Pk=(IKkH)Pk


5. 结果解释

通过卡尔曼滤波器的状态更新,逐渐估计出 DVL 的常值误差、刻度因数误差和安装误差。外部传感器提供的参考信息作为真值,用来更新卡尔曼滤波器的状态,从而使得 DVL 的测量结果趋于更准确。


6. 注意事项

  • 外部参考的准确性:虽然假设外部传感器提供的参考速度是真值,但在实际应用中,外部传感器也可能有噪声或误差。如果外部传感器误差较大,可能会影响最终的 DVL 标定结果。
  • 噪声矩阵 ( R ):根据实际测量数据,合理选择测量噪声协方差矩阵 ( R ),有助于滤波器的收敛和稳定性。
  • 非线性误差处理:安装误差 ( \theta ) 可能引入非线性关系,如果误差较大,可以考虑使用扩展卡尔曼滤波器(EKF)或无迹卡尔曼滤波器(UKF)来处理非线性问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值