以下 , 我们将进行e的运算推导
设:
则有实际目标变量的表达式:
数学模型中目标变量的表达式:
实际模型中测量变量的表达式:
数学模型中测量变量的表达式:
将目标变量的实际值和估计值相减:
将上述方程带入误差e的表达式 , 我们可得出误差e的解析解:
从推导结果中我们不难看出 , 估计值和实际值的误差随时间呈指数形式变化 , 当(F-KH)1时 , 随着时间的推移 , 会无限趋近于零 , 也就是意味着估计值和实际值相吻合 。这就是为什么卡尔曼滤波器可以完美预测出目标状态值的原理 。
在估计WALL-E位置的问题上 , 我们不知道位置和速度的准确值 , 但是我们可以给出一个估计区间( 图5.a ) 。卡尔曼滤波假设所有的变量是随机的且符合高斯分布(正态分布) 。每个变量有一个均值和一个方差( 图5.b ) 。而 图5.c 则表示速度和位置是相关的 。
假如我们已知上一个状态的位置值 , 现在要预测下一个状态的位置值 。如果我们的速度值很高 , 我们移动的距离会远一点 。相反 , 如果速度慢 , WALL-E不会走的很远 。这种关系在跟踪系统状态时很重要 , 它给了我们更多的信息:一个观测值告诉我们另一个观测值可能是什么样子 。这就是卡尔曼滤波的目的------从所有不确定信息中提取有价值的信息 。
根据数理统计知识 , 我们知道这种两个观测值(随机变量)之间的关系可以通过一个协方差矩阵
描述( 图6 ) 。
我们假设系统状态的分布为 高斯分布(正态分布) , 所以在时刻我们需要两个信息:最佳预估值及其协方差矩阵(如式(2)所示) 。
下一步 , 我们需要通过时刻的状态来预测时刻的状态 。请注意 , 我们不知道状态的准确值 , 但是我们的预测函数并不在乎 , 它仅仅是对时刻所有可能值的范围进行预测转移 , 然后得出一个k时刻新值的范围 。在这个过程中 , 位置和速度的变化为
我们可以通过一个状态转移矩阵来描述这个转换关系
同理 , 我们更新协方差矩阵为
到目前为止 , 我们考虑的都是匀速运动的情况 , 也就是系统没有对WALL-E的运动状态进行控制的情况 。那么 , 如果系统对WALL-E进行控制 , 例如发出一些指令启动或者制动轮子 , 对这些额外的信息 , 我们可以通过一个向量来描述这些信息 , 并将其添加到我们的预测方程里作为一个修正 。假如我们通过发出的指令得到预期的加速度 , 运动状态方程就更新为
引入矩阵表示为
式中称为控制矩阵 , 称为控制向量(例如加速度) 。当然 , 如果没有任何外界动力影响的系统 , 可以忽略这一部分 。
我们增加另一个细节 , 假如我们的预测转换矩阵不是100%准确呢 , 会发生什么?如果状态只会根据系统自身特性演变 , 那样将不会有任何问题 。如果所有外界作用力对系统的影响可以被计算得十分准确 , 那样也不会有任何问题 。但是如果有些外力我们无法预测 , 例如我们在跟踪一个四轴飞行器 , 它会受到风力影响;或者在跟踪一个轮式机器人 , 轮子可能会打滑 , 地面上的突起会使它减速 。我们无法跟踪这些因素 , 而这些不确定事件发生时 , 预测方程将会失灵 。因此 , 我们将这些不确定性统一建模 , 在预测方程中增加一个不确定项 。
通过这种方式 , 使得原始状态中的每一个点可以都会预测转换到一个范围 , 而不是某个确定的点( 图7.a ) 。可以这样描述------中的每个点移动到一个符合方差的高斯分布里( 图7.b ) 。换言之 , 我们把这些不确定因素描述为方差为的高斯噪声 , 并用表示 。这样就会产生一个新的高斯分布 , 方差不同 , 但是均值相同( 图7.c ) 。
通过对的叠加扩展 , 得到完整的预测转换方程为
新的预测转换方程只是引入了已知的系统控制因素 。新的不确定性可以通过之前的不确定性计算得到 。到这里 , 我们得到了一个模糊的估计范围------通过和描述的范围 。
秒懂生活扩展阅读
- vivoy66双卡怎么设置
- 家里的网络电视很卡怎么办
- 信用卡绑定支付宝怎么消费
- 计时打卡是什么意思
- vivoy35a如何安装sd卡
- 一家银行可以办理几张类卡
- CF游戏里怎么买更名卡
- 广州市医疗保险卡在哪里修改密码
- 闲鱼卖显卡需要全程录像吗
- 闲鱼卖显卡对方收到说是坏的怎么办