| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> EKF之雅克比矩阵(一) -> 正文阅读 |
|
[数据结构与算法]EKF之雅克比矩阵(一) |
扩展卡尔曼滤波 (EKF)前言一般的卡尔曼滤波(KF),是假设系统模型是线性的,即系统的输入输出满足齐次性和叠加性。标准卡尔曼滤波的前提条件之一,就是高斯分布的x_k 预测后仍服从高斯分布,高斯分布的x_k 变换到观测空间后仍服从高斯分布因此标准卡尔曼滤波只适合线性系统的处理。 但是实际工程中,卡尔曼滤波一般用于对传感器,电机等电子器件。这些期间由于电子性质,自身特性,基本都是非线性的,那么在这个系统之上建立的所有模型,都符合非线性系统。 如何将一个非线性系统线性化,就是EKF改进的部分。 一、什么是线性化?请大家看下面这个圆:
这个方法直接告诉大家,就是求圆在这个点处的导数,即可得出这个小小的线段的方程式了。这就是一种局部线性化的方式。 而在卡尔曼滤波中,一切数据传递,计算,更新都是通过矩阵来完成,怎么把一个矩阵线局部线性化呢?通过求该矩阵的雅克比矩阵即可。 二、雅克比矩阵雅克比矩阵的概念我是从可汗学院看来的,有兴趣大家可以移步b站看熟肉: 1.矩阵的几何含义已知一个矩阵 A = 他在笛卡尔坐标系下的几何含义为: 假设有另一个矩阵 B =
但是我们能看出来,矩阵A到矩阵B是一个很标准的线性关系,那如果存在一组多元函数,且该函数呈现非线性关系,那么如何从几何层面理解这个多元函数与基底的关系呢? 2.非线性矩阵与基底的关系假设有一个矩阵C = [ f 1 ( x , y ) f 2 ( x , y ) ] (3) \left[ \begin{matrix} f1(x,y) \\ f2(x,y) \\ \end{matrix} \right] \tag{3} [f1(x,y)f2(x,y)?](3) = [ x + s i n ( y ) y + s i n ( x ) ] (4) \left[ \begin{matrix} x + sin(y) \\ y + sin(x) \\ \end{matrix} \right] \tag{4} [x+sin(y)y+sin(x)?](4) 这个矩阵是个非常典型的非线性矩阵,下面将坐标系中的所有(x,y)均乘以该矩阵,即将该坐标系中的所有点均转换成矩阵C下的点,抓住其中一个小矩形放大: 但是当对某一个区域放大时,可以看到虽然新图形围城的小矩形不那么方正,但是也没有变得特别扭曲,这个小矩形和基底之间的关系,就是其非线性化的程度。把这个区域再放大,那么其形状越接近基底。这就说明新图形的整体是非线性的,但是对局部而言,仍可以看做是线性的。放大倍率越大,其线性化程度越好。
3.雅克比矩阵根据上面对圆的局部线性化的推导,我们只要求出矩阵C导数,就可以得出矩阵C的雅克比矩阵D了。一个矩阵是多维度的,我们对这个矩阵的每一个维度求偏导,如矩阵C存在二维(x,y),那么只需要求矩阵C对于x的偏导,对于y的偏导,即可推出雅克比矩阵。 CSDN打公式太麻烦了,下面直接上图: 三、工程中雅克比矩阵如何应用卡尔曼滤波中,需要对系统建模,根据模型推导状态转移矩阵F和更新矩阵H,通常还有个控制矩阵U不过这个不常用,一般通过状态空间对系统建模,太细就先不讲。 EKF中需要非线性化的就是矩阵F和矩阵H,这两个矩阵分别用于协方差矩阵Pk的更新和卡尔曼系数Kk的更新。 F(x1,x2,x3,x4) = [ f 1 ( x 1 , x 2 , x 3 , x 4 ) f 2 ( x 1 , x 2 , x 3 , x 4 ) f 3 ( x 1 , x 2 , x 3 , x 4 ) f 4 ( x 1 , x 2 , x 3 , x 4 ) ] (5) \left[ \begin{matrix} f1(x1,x2,x3,x4) \\ f2(x1,x2,x3,x4) \\ f3(x1,x2,x3,x4) \\ f4(x1,x2,x3,x4) \\ \end{matrix} \right] \tag{5} ?????f1(x1,x2,x3,x4)f2(x1,x2,x3,x4)f3(x1,x2,x3,x4)f4(x1,x2,x3,x4)??????(5) JF = 总结
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/25 23:39:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |