卡尔曼滤波器预测实现
Kalman Filter Prediction Implementation
我正在尝试实施卡尔曼滤波器来定位机器人。
我对预测步骤(不包括过程噪声)感到困惑 x = Fx + u
如果x是状态估计向量:[xLocation, xVelocity],F是状态转移矩阵[[1 1],[0 1]],那么新的xLocation等于xLocation + xVelocity + the运动向量对应分量u.
为什么方程不是 x = x + u?机器人的预测位置不应该是机器人的位置+运动吗?
也许对于矩阵实际表示的内容有些混淆。
"control vector",u,可能是系统外部施加的加速度。
在这种情况下,我希望方程式如下所示:
x位置 = x位置 + x速度
x速度 = x速度 + u速度
这两个等式假设每 1 秒应用一次更新(否则需要应用一些 "delta time" 因素,包括转移矩阵和控制向量)。
对于上述情况,矩阵和向量为:
状态向量(包含 2 个条目的列向量):
x位置
x速度
转移矩阵(2 x 2矩阵):
1 1
0 1
控制向量(有2个条目的列向量):
0
u速度
This link 包含对卡尔曼滤波器的很好的解释和可视化。
我正在尝试实施卡尔曼滤波器来定位机器人。 我对预测步骤(不包括过程噪声)感到困惑 x = Fx + u
如果x是状态估计向量:[xLocation, xVelocity],F是状态转移矩阵[[1 1],[0 1]],那么新的xLocation等于xLocation + xVelocity + the运动向量对应分量u.
为什么方程不是 x = x + u?机器人的预测位置不应该是机器人的位置+运动吗?
也许对于矩阵实际表示的内容有些混淆。
"control vector",u,可能是系统外部施加的加速度。
在这种情况下,我希望方程式如下所示:
x位置 = x位置 + x速度
x速度 = x速度 + u速度
这两个等式假设每 1 秒应用一次更新(否则需要应用一些 "delta time" 因素,包括转移矩阵和控制向量)。
对于上述情况,矩阵和向量为:
状态向量(包含 2 个条目的列向量):
x位置
x速度
转移矩阵(2 x 2矩阵):
1 1
0 1
控制向量(有2个条目的列向量):
0
u速度
This link 包含对卡尔曼滤波器的很好的解释和可视化。