IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 一看就懂的卡尔曼滤波五个公式 -> 正文阅读

[人工智能]一看就懂的卡尔曼滤波五个公式

一看就懂的卡尔曼滤波五个公式

任何物体的运动都有一个运动方程:
x k ^ = A x k ? 1 + u + w , w ∈ ( 0 , Q ) (1) \hat{x_k} =Ax_{k-1}+u+w ,w\in (0,Q) \tag{1} xk?^?=Axk?1?+u+w,w(0,Q)(1)式中,k为某一个时刻,u为输入量,x为k-1时刻系统真实状态,w为方差Q的高斯误差, x k ^ \hat{x_k} xk?^?为k时刻估计状态。
至此,根据这个系统状态我们有一个测量方程:
z k ^ = H x k ^ (2) \hat{z_k} =H\hat{x_k}\tag{2} zk?^?=Hxk?^?(2)式(2)被人称为先验。
这两个方程由于实际上 很多情况达不到标准导致了会有误差,然后方程变为:
z k = H x k ^ + v , v ∈ ( 0 , R ) (3) \\z_k=H\hat{x_k}+v,v\in (0,R)\tag{3} zk?=Hxk?^?+v,v(0,R)(3)式中,v为方差R的高斯误差。
一般来说,式(3)中的 z k z_k zk?是通过传感器测量出来的(测量值),式(2)中的 z k ^ \hat{z_k} zk?^?是我们通过运动方程转化过来的(理论值)。针对这两个值我们到底应该相信谁呢?当然是谁的表现好谁的权重大,从而可以建立一个方程:
H X n e w = ( 1 ? K ) H x k ^ + K z k = H x k ^ + K ( z k ? H x k ^ ) (5) HX_{new}=(1-K)H\hat{x_k}+Kz_k=H\hat{x_k}+K(z_k-H\hat{x_k})\tag{5} HXnew?=(1?K)Hxk?^?+Kzk?=Hxk?^?+K(zk??Hxk?^?)(5)式中, H X n e w HX_{new} HXnew?为后验,K为权重。然后会发现K如何取值,前面说了谁的表现好就取谁的多一点,而衡量一个好学生表现好的标准是他成绩好然后保持稳定,成绩好就是卡尔曼算法的初值需要好,稳定就是协方差要小,说白了就是需要保持在90分以上而不是一会儿70一会儿100的。所以我们需要对协方差建模,首先是 x k ^ \hat{x_k} xk?^?的协方差 p k  ̄ \overline{p_k} pk??通过(1)式可得:
p k  ̄ = A e k ? 1 e k ? 1 ′ A ′ + Q = A p k ? 1 A ′ + Q (6) \overline{p_k}=Ae_{k-1}e_{k-1}'A'+Q=Ap_{k-1}A'+Q\tag{6} pk??=Aek?1?ek?1?A+Q=Apk?1?A+Q(6)然后zk的协方差 p k ~ \widetilde{p_k} pk? ?也可以根据(3)求出:
p k ~ = H e k ^ e k ^ ′ H ′ + R = H p k  ̄ H ′ + R (7) \widetilde{p_k}=H\hat{e_k}\hat{e_k}'H'+R=H\overline{p_k}H'+R\tag{7} pk? ?=Hek?^?ek?^?H+R=Hpk??H+R(7)而先验协方差 p k ^ \hat{p_k} pk?^?很容易从式(2)得出:
p k ^ = H e k ^ e k ^ ′ H ′ = H p k  ̄ H ′ \hat{p_k}=H\hat{e_k}\hat{e_k}'H'=H\overline{p_k}H' pk?^?=Hek?^?ek?^?H=Hpk??H从而我们可以建立一个权重表达式:
K = p k ^ / p k ~ = = H p k  ̄ H ′ / ( H p k  ̄ H ′ + R ) (8) K= \hat{p_k}/ \widetilde{p_k}==H\overline{p_k}H'/(H\overline{p_k}H'+R)\tag{8} K=pk?^?/pk? ?==Hpk??H/(Hpk??H+R)(8)从该市可看出理论值的协方差 p k ^ \hat{p_k} pk?^?越大,K越大,式(5)中理论值的比重越小,间接说明了式(5)的正确性,把K值代入式(5)我们可以得到:
H X n e w = H x k ^ + H p k  ̄ H ′ / ( H p k  ̄ H ′ + R ) ? ( z k ? H x k ^ ) (9) HX_{new}=H\hat{x_k}+H\overline{p_k}H'/(H\overline{p_k}H'+R)*(z_k-H\hat{x_k})\tag{9} HXnew?=Hxk?^?+Hpk??H/(Hpk??H+R)?(zk??Hxk?^?)(9)但是我们想要估计的是状态X_{new},设 K ′ = p k  ̄ H ′ / ( H p k  ̄ H ′ + R ) K'=\overline{p_k}H'/(H\overline{p_k}H'+R) K=pk??H/(Hpk??H+R),从而式(5)可以两边除以H可得:
X n e w = x k ^ + K ′ ( z k ? H x k ^ ) (10) X_{new}=\hat{x_k}+K'(z_k-H\hat{x_k}) \tag{10} Xnew?=xk?^?+K(zk??Hxk?^?)(10)式中。 X n e w X_{new} Xnew?估计值与真实值X_t的误差为:
x t ? X n e w = x t ? x k ^ ? K ′ ( H x t ? H x k ^ + v ) = e k ? K ′ H e k + K ′ v (11) x_t-X_{new}=x_t-\hat{x_k}-K'(Hx_t-H\hat{x_k}+v)=e_k-K'He_k+K'v \tag{11} xt??Xnew?=xt??xk?^??K(Hxt??Hxk?^?+v)=ek??KHek?+Kv(11)从而更新协方差方程:
P k = ( I ? K ′ H ) p k  ̄ (12) Pk=(I-K'H)\overline{p_k} \tag{12} Pk=I?KHpk??(12)
随便弄个跟踪图:
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-03 01:12:38  更:2022-02-03 01:14:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 20:43:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码