@卡尔曼滤波理解

2023-05-16

Kalman Filter For Dummies

翻译

 

如何用卡尔曼滤波算法求解电池SOC(基础篇)——转载留存

卡尔曼滤波算法详细推导     这一篇对预备知识的介绍还是很好的,过程与原理讲解也很到位,应该是目前看到中文里最好的讲解了。 这篇非常好,很值得看!!

一、预备知识

1、协方差矩阵

    X是一个n维列向量,u_ix_i的期望,协方差矩阵为

             P=E[(X-E[X])(X-E[X])^T] 

                =\begin{bmatrix} E[(x_1-u_1)(x_1-u_1)]& E[(x_1-u_1)(x_2-u_2)]& ...& E[(x_1-u_1)(x_n-u_n)]&\\ E[(x_2-u_2)(x_1-u_1)]& E[(x_2-u_2)(x_2-u_2)]& ...& E[(x_2-u_2)(x_n-u_n)]\\ ...& ...& ...& ...&\\ E[(x_n-u_n)(x_1-u_1)]& E[(x_n-u_n)(x_2-u_2)]& ...& E[(x_n-u_n)(x_n-u_n)]& \end{bmatrix}

      可以看出

   协方差矩阵都是对称矩阵且是半正定的  

   协方差矩阵的迹tr(P)X的均方误差

2、用到的两个矩阵微分公式

     公式一:

          \frac{\partial tr(AB)}{\partial A}=B^T

     公式二:若B是对称矩阵,则下式成立

          \frac{\partial tr(ABA^T)}{\partial A}=2AB         

tr表示矩阵的迹,具体推导过程参考相关矩阵分析教程            矩阵微分公式,应该是矩阵论里的内容

扩展卡尔曼滤波新手教程(一)----中文版               这一篇也可以,一些相关概念,更切实一些 。

这里的噪声的概念和之前理解得有点不同,之前以为噪声就是环境干扰。            

翻译自老外(大学老师)的博客(进去点开  EKF Tutorial,还有更加丰富的讲解以及在线曲线调参),应该是比较准确的。

Part2:处理噪声

当然,在真实世界中,像海拔高度的测量是通过如GPS或气压计这样的传感器完成的。这些传感器往往具有不同的精度。例如,For example, Garmin 公司将其测高计产品的输出精度表述为“10英尺“。因此,可以说,如果测高计读到1000英尺的输出结果,那么我们的实际高度可能是990到1010英尺的任意值。如果传感器输出始终保持偏移一个常数值,我们就可以简单地加或减这个常数值来决定我们的海拔高度。然而实际上,传感器的精确度会不断地发生无法预知的变化,从而导致我们观测到的传感器读数始终是真实海拔高度的带有噪声的版本:

我们可以将测量噪声表示为可观测高度范围的百分比,若在观测过程中伴随了相对测量值10%的噪声,则此时的海拔高度的观测值随时间的变化如下图所示:

在这里插入图片描述

 为了更好地完成飞机高度随时间下降的曲线图,我们还应考虑飞机实际的高度变化可能不会是一个平滑的过程。因为任何一个开过飞机的人都会告诉你,当他们驾驶飞机降落时,飞机实际上都会经历一定数量的振荡。这些振荡是由噪声定义的,所以可以被看作是另一种噪声信号:

更具一般性的表示:

其中, 称为过程噪声,因为就像飞机的振荡一样,它是过程中固有的部分,不是由观测或测量带来的。 

所以,测量过程的噪声是由传感器测量精度带来的,而状态转移过程的噪声是干扰。(暂时是这样理解的)

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

@卡尔曼滤波理解 的相关文章

  • C语言中转义字符

    在字符集中 xff0c 有一类字符具有这样的特性 xff1a 当从键盘上输入这个字符时 xff0c 显示器上就可以显示这个字符 xff0c 即输入什么就显示什么 这类字符称为可显示字符 xff0c 如a b c 43 和空格符等都是可显示字
  • c++ 中map 的find 用法

    用find函数来定位数据出现位置 xff0c 它返回的一个迭代器 xff0c 当数据出现时 xff0c 它返回数据所在位置的迭代器 xff0c 如果map中没有要查找的数据 xff0c 它返回的迭代器等于end函数返回的迭代器 xff0c
  • 解决AndroidStudio控制台输出乱码

    方法一 xff1a Help gt Edit Custom VM Options 在最后一行换行加上 xff1a xff08 不要漏掉符号 加好之后重启AndroidStudio xff09 Dfile encoding 61 UTF 8
  • c++--UDP发送接收

    UDP发送接收 头文件 include lt Winsock2 h gt 库 pragma comment lib Ws2 32 lib 连接Sockets相关库 初始化Windows SOCKET WSADATA wsaData if W
  • Airsim Setting up PX4 Hardware-in-Loop 环境搭建教程(windows)

    Airsim Setting up PX4 Hardware in Loop 环境搭建教程 xff08 windows xff09 经过本教程 xff0c 能够通过PX4连接遥控器 xff0c 继而能够控制airsim UE4中四轴模型 目
  • 在PX4 v1.9.2替换姿态控制算法方法

    在PX4 v1 9 2替换姿态控制算法方法 目的是在model中写一个与mc att control类似的model加入自己的姿态控制算法并替换之 目录 姿态控制算法simlink搭建生成并简单说明 PX4 v1 9 2姿态控制接口简单介绍
  • 不必通宵挂机,飞速克隆PX4源码的方法

    不必通宵挂机 xff0c 飞速克隆PX4源码的方法 项目地址 国内github网速 xff0c 那是慢的没法说 xff0c 克隆个PX4源码要半天 xff0c 然后更新子模块 xff0c 那不得需要一夜的时间 xff0c 有时早上一来 xf
  • Simlink与PX4硬件在环仿真(HIL)实现

    Simlink与PX4硬件在环仿真 HIL 实现 介于涉及的知识比较多 xff0c 这里只是简单的介绍一下 xff0c 硬件在环HIL介绍 simlink与PX4通信实现 硬件在环HIL介绍 为来贯彻万物都可以用数学公式表示 xff0c 我
  • MSP430如何给板子下载程序?(IAR MSPFET CCS)

    MSP430如何给板子下载程序 xff1f 这个问题其实很简单 xff0c 但就在前几天的我就吃了很大的亏 xff0c 搞了一天都没搞懂 这篇文章来谈一谈我走过的坑吧 xff0c 希望对你有所帮助 一 下载IAR开发IDE 43 串口下载工
  • ROS中ENU坐标系与无人机中NED坐标系的转换关系理解

    ROS中ENU坐标系与无人机中NED坐标系的转换关系理解 项目地址 无人机中NED坐标理解ENU与NED转换 无人机中NED坐标理解 机体坐标系 xff1a 机体坐标系固连飞机 xff0c 其原点 取在多旋翼的重心位置上 x轴在多旋翼对称平
  • PX4无人机ROS下仿真开发

    PX4无人机ROS下仿真开发 Overview Simulation Px4 control Slam Map Image process Planning Volans 项目地址volans 注 xff1a 有任何疑问都可在issues提
  • FlightPlot安装使用方法

    FlightPlot安装使用方法 下载flightPlot源码下载切换openjdk 版本重启安装flightPlot 下载flightPlot源码 git clone recursive https github com PX4 Flig
  • 基于Ubuntu+Eclipse+GDB+OpenOCD+STlink搭建STM32开发环境

    基于Ubuntu 43 Eclipse 43 GDB 43 OpenOCD 43 STlink搭建STM32开发环境 准备工作 xff1a 一台能够上网的配置还不错的电脑 xff0c stm32开发板 xff0c stlink下载器 本人的
  • APM直升机调试记录

    Author xff1a Bingo Time xff1a 20190601 xff0c V1 0 直升机调试记录 十字盘机械配平上位机调十字盘水平调整直升机在Stabilize模式下悬停调整直升机在AltHold模式下悬停调整直升机在Po
  • 3.3 创建一个 ROS 功能包

    本节主要介绍如何用 catkin 来创建一个新的功能包 xff0c 并且使用前面介绍的 rospack 命令去查看功能包的依赖 3 3 1 catkin 功能包的构成 一个完整的 catkin 功能包需要具备以下几个条件 xff1a 包含一
  • 树莓派安装MAVROS的一些坑

    一 基于原生系统安装ROS 详见文章https blog csdn net qq 33662995 article details 98645837 xff0c 写的很详细了 二 源码安装MAVROS 由于树莓派环境下不能直接从二进制安装
  • 树莓派3 ubuntu Mate 16.04 安装ROS环境

    以下仅为回忆使用 设备 xff1a 树莓派3 系统 xff1a Ubuntu mate 16 04 日期 xff1a 2018 7 20 目前支持树莓派3b 43 官方的Ubuntu mate系统还没出 xff0c 強行使用會出現彩虹屏 x
  • SSH远程连接服务器登录时出现如下错误Disconnected:No supported authentication methods available

    当使用 SSH 登录云服务器 ECS xff08 Elastic Compute Server xff09 Linux 服务器时 xff0c 即便正确输入了密码 xff0c 也会出现类似如下错误信息 xff1a span class tok
  • 内存分配方式详解(堆、栈、自由存储区、全局/静态存储区和常量存储区)

    原文地址 xff1a https blog csdn net u013007900 article details 79338653 参考文章 xff1a http www cnblogs com hanyonglu archive 201
  • Jenkins, docker-compose动态修改镜像版本升级部署

    docker compose镜像版本动态控制 提取 env文件进行配置通用环境变量 当前机器用户的home路径 HOST HOME 61 home guimu 上传文件临时路径 TMP DATA PATH 61 HOST HOME temp

随机推荐

  • k8s集群容器外部与容器内部服务互相访问

    一 容器外部访问容器内部服务 1 hostNetwork 参数 容器内部服务与宿主机同一网段 特点 当 Pod 调度到哪个节点就使用哪个节点的 IP 地址 xff0c 客户端使用 IP 地址访问容器里面的服务 一个 node 只能启动一个
  • Github库名命名规范

    Github库名命名规范 一 必要性说明 由于迁移到Github上的项目越来越多 xff0c 对项目的管理越来越困难 由于各项目命名具有随意性 xff0c 用之代表git仓库名后就很难快速回忆起这个项目的相关细节 xff0c 通常需要不断打
  • 斜线/、反斜线\、双斜线//、双反斜线\\——详解

    读法 xff1a 三个符号 xff0c 中为正 xff0c 左为斜线 xff0c 右为反斜 xff1b 八字 xff0c 先撇为斜 xff0c 后捺为反斜 用法介绍 xff1a 1 双斜线 xff1a 协议和主机名之间的分隔符 xff0c
  • 类成员变量为什么加“m_”前缀

    防止调用构造函数初始化时 xff0c 传递的变量名相同
  • 【类型转换】C++中char、char*、int、string相互转换函数及string转不同进制数函数

    1 char转int与int转char 1 1 char转int xff1a span class token keyword char span a span class token operator 61 span span class
  • C++获取、打印当前时间:time、localtime

    总结 xff1a 1 函数1为基本的获取time t格式时间函数 xff1b 2 函数3 4为转换为tm格式时间函数 xff1b 3 函数2 5 6为输出可读格式时间函数 4 其中函数2 5不符合使用习惯 xff0c 因此不长使用 xff0
  • ubuntu16.04安装完docker后无法上网,没有eth0或eno1只有docker0

    ubuntu16 04安装完docker后无法上网 xff0c 没有eth0或eno1只有docker0 vim etc NetworkManager NetworkManager conf 把里面的 dns 61 dnsmasq用 注释掉
  • OpenCV—PnP单目测距

    OpenCV PnP单目测距 使用单目相机结合OpenCV的pnp解算实现单目测距 xff08 需要知道物体的长宽 xff09 开始用的opencv 自带的标定api 标定相机 xff0c 但是标定结果和matlab的结果有出入 xff0c
  • 【具体实现过程】百度地图POI区域的边界经纬度坐标数据采集

    最近有个项目需要拿到百度地图中XXX市中所有学校的边界坐标 经过一下午的努力 xff0c 终于成功拿到了坐标 xff0c 对坐标数据还原和验证 特此记录一下具体实现过程和爬取思路 前言 xff1a 什么是POI xff1f Point of
  • Gazebo仿真平台模型搭建与修改

    ROS进阶教程 xff08 一 xff09 Gazebo仿真平台模型搭建与修改 文件讲解Models 文件World文件Launch文件 模型编辑可视化操作配置文件编辑 仿真操作流程完成model建模world文件和launch文件修改 其
  • XShell过期需要采购解决办法

    有天Xshell更新完再打开 xff0c 提示我去采购 xff0c 当然采购得花钱 xff0c 所以下面方法是解决这一问题 1 跳到官网 https www netsarang com download free license html
  • 【SMT32CubeMx安装详解】

    SMT32CubeMx安装详解 文章目录 SMT32CubeMx安装详解 前言一 准备工作二 CubeMax安装三 工程参数配置总结 前言 记录CubeMax软件安装和相关工程配置的简单操作 一 准备工作 在我们进行软件安装之前首先将我们需
  • AirSim无人机仿真平台(windows)

    1 环境 xff1a UE4 26 43 AirSim 43 VS2019 2 安装步骤 xff1a 1 xff09 先下载Epic Games安装启动器 xff0c 然后再安装UE4 26 xff1b 2 xff09 安装VS2019社区
  • ubuntu18在docker下运行kalibr

    一些命令 docker images sudo docker run it kalibr latest sudo docker run it v local path docker path respository bin bash sud
  • 机器人避障规划算法之VFH系列算法研究现状

    机器人路径规划算法可以分为全局路径规划与局部路径规划 xff0c 全局规划算法一般需要地图信息作为先验知识 xff0c 而局部规划算法利用传感器探测环境信息避开障碍物 常用的全局算法算法有可视图法 xff0c 栅格地图法 xff0c 智能算
  • Windows配置ArUco

    windows10 vs2019 opencv3 4 6 注意 xff0c 一定要选择与opencv版本一样的opencv contrib 进行编译 xff0c 否则将会出现错误 xff0c 有很多的工程不能编译通过 xff0c 不能产生相
  • ArUco估计位姿原理

    ArUco使用 PnP OpenCV aruco 校准相机 Camera Calibration Demo 使用opencv的aruco库进行位姿估计 include lt opencv2 core core hpp gt include
  • 传递函数极点与微分方程的解

    如何解微分方程 setting y 61 e rx xff0c 点睛之笔
  • MPC控制

    基于状态空间模型的控制 模型预测控制 xff08 MPC xff09 简介 对基于状态空间模型的控制理解得很到位 在这里我重点讲解一下状态空间 模型 那么什么是状态 xff1f 输出是不是也是状态的一种 xff1f 对的 xff0c 输出也
  • @卡尔曼滤波理解

    Kalman Filter For Dummies 翻译 如何用卡尔曼滤波算法求解电池SOC xff08 基础篇 xff09 转载留存 卡尔曼滤波算法详细推导 这一篇对预备知识的介绍还是很好的 xff0c 过程与原理讲解也很到位 xff0c