kalman 滤波实时跟踪时状态转移矩阵是如何确定的。?

关注者
10
被浏览
19,171
登录后你可以
不限量看优质回答 私信答主深度交流 精彩内容一键收藏

本质上是根据所建立的模型确定的,楼主所说的不了解某个物体的运动规律是因为你从一个较长的时间尺度上来看待这个物体的运动,从很短时间间隔来看的话,即使是随机运动的物体,它的运动也是有规律的,比如在0.01s这个时间间隔内该物体可近似为做加速运动、减速运动、匀速运动等。

假设某个物体做匀速的随机运动,传感器在 k 时刻可以观测到关于这个物体的运动信息为: [x_{k},y_{k},z_{k},\dot{x}_{k},\dot{y}_{k},\dot{z}_{k}]^{T} (即位置与速度),那么物体在下一时刻 k+1 的位置可通过匀速运动模型预测为:

\begin{cases} x_{k+1}=x_{k}+\dot{x}_{k}*\Delta t\\ y_{k+1}=y_{k}+\dot{y}_{k}*\Delta t\\ z_{k+1}=z_{k}+\dot{z}_{k}*\Delta t \end{cases}

此时将建立的模型转换到Kalman滤波的形式,假设物体的运动不受外界对系统的作用 u 影响,根据Kalman预测阶段的公式:

\hat{x}_{k+1} = A\hat{x}_{k}+Bu_{k+1} 可简化为: \hat{x}_{k+1} = A\hat{x}_{k} (注意此时的 \hat{x}_{k+1} 为系统的输入向量)

\left[ \begin{array}{c} x_{k+1}\\ y_{k+1}\\ z_{k+1}\\ \dot{x}_{k+1}\\ \dot{y}_{k+1}\\ \dot{z}_{k+1}\\ \end{array} \right]=\left[ \begin{array}{cccccc} 1&0& 0& \Delta t& 0& 0\\ 0&1&0& 0& \Delta t & 0\\ 0&0& 1& 0& 0& \Delta t\\ 0&0&0&1&0&0\\ 0&0&0&0&1&0\\ 0&0&0&0&0&1 \end{array} \right] \left[ \begin{array}{c} x_{k}\\ y_{k}\\ z_{k}\\ \dot{x}_{k}\\ \dot{y}_{k}\\ \dot{z}_{k}\\ \end{array} \right]

因为是匀速运动,所以 k 时刻的速度与 k+1 时刻的速度相同,状态转移矩阵 A 就是这样根据模型所建立的。

码字不易,点个赞吧O(∩_∩)O~