卡尔曼滤波学习(4)

状态空间表达:

下面用一个例子来说明状态空间表达

        上图为一个弹簧震动阻尼系统,该系统的动态方程表达式:

F = K*x+B*\dot{x}+m*\ddot{x}

其中

K:弹簧的胡克系数;

B:该系统阻尼系数;

m:物体质量;

F:施加的外力;

x:物体位移;

\dot{x}x关于t时刻的导数,即t时刻的速度;

\ddot{x}x关于t时刻的二阶导数,即t时刻的加速度。

下面设x_1=xx_2=\dot{x}u作为这个系统的输入,即u = F,则有

\dot{x}_1 = x_2x_1求导即x求导)                                (1)

\dot{x_2} = \ddot{x} = \frac{1}{m}*u-\frac{B}{m}*x_2-\frac{K}{m}*x_1              (2)

        上述方程(1)和(2)为该系统的状态变化方程,体现了该系统物体的速度和加速度随时间的变化量。

z_1z_2分别为测量到的物体的位置和速度,则有

z_1 = x = x_1                                                        (3)

z_2 = \dot{x} = x_2                                                        (4)

将方程(1)和(2),(3)和(4)使用矩阵形式表达:

\begin{bmatrix}\dot{x_1} & \\ \dot{x_2} & \end{bmatrix} = \begin{bmatrix}0,1 & \\ -\frac{K}{m},-\frac{B}{m} & \end{bmatrix}*\begin{bmatrix}x_1 \\ x_2 \end{bmatrix} + \begin{bmatrix}0 \\ \frac{1}{m} \end{bmatrix}*u  

即:\dot{X(t)} = A*x(t) + B*u(t)

可以看出\dot{X(t)}X(t)对时间的导数,反应出在连续时间上的变化,即系统状态变化。

\begin{bmatrix}z_1 \\ z_2 \end{bmatrix} = \begin{bmatrix}1,0 & \\ 0,1 & \end{bmatrix}*\begin{bmatrix}x_1 \\ x_2 \end{bmatrix}  

即:Z(t) = H*X(t)

Z(t)是在连续时间上对X(t)的观测值,即测量值。

\dot{X(t)}Z(t)在离散采样时间上进行表达,则有:

x_k = A*x_{k-1}+B*u_{k-1}                (5)

z_{k}=H*x_{k}                                          (6)

        在之前的 卡尔曼学习(1) http://t.csdnimg.cn/0lXcb中提到过,系统的估计和测量都不可避免的存在误差,在方程(5)和(6)中分别引入过程噪音w_{k-1}和测量噪音v_k,即:

x_k = A*x_{k-1}+B*u_{k-1}+w_{k-1}         (7)

z_{k}=H*x_{k}+v_{k}                                        (8)

x_k:系统状态值,预测值

z_k:测量值

        现在整个系统的的预测值和测量值都引入了噪音,导致两个结果均不准确,那么如何从这两个不准确的值中得到最优解呢?这就是卡尔曼滤波要解决的问题。

        根据x_kz_k去得到最优解,就和之前 卡尔曼学习(2) http://t.csdnimg.cn/LXzek中根据两个有误差结果去估计一个相对准确的最优解很相似,不过是换做了一个预测值和一个测量值去进行数据融合。

        学习笔记,参考资料【【卡尔曼滤波器】1_递归算法_Recursive Processing】 https://www.bilibili.com/video/BV1ez4y1X7eR/?share_source=copy_web&vd_source=c29456ffa88bc7559f8ffbe6f8e8f7a5

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值