【简历完善】- SLAM - 第一篇:卡尔曼滤波的学习

这篇具有很好参考价值的文章主要介绍了【简历完善】- SLAM - 第一篇:卡尔曼滤波的学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

场景:晚上你需要从自己的卧室去上厕所,你知道家里的布局,了解自己的步长,但是没有灯。你如何才能走到厕所呢?

一些术语

  1. “预测” = “估计”。下面所说的预测和估计就是一回事。不同博客里面这两个词语大概意思也是一致的。
    比如,你摸黑走了10步,你“估计”你“大概”到了。
  2. “观测”。当你摸黑走了10步,就要放水了。但你开了一下灯,想确定一下,发现自己还差一步。这就是观测的过程。
  3. 总结:下面这张图(来源:link)中有四个变量都是要估计的。
    • x_k^ : 你估计自己大概率处于10步的位置。
    • Pk:你不太确定,但是估计距离马桶也就半步的误差,可以直接放水了。
    • x_k^’ : 你开灯,发现自己才走到大概9步的位置,不能放水。
    • Pk’ : 你比较确定自己的方位“大概”在9步的位置,比摸黑估计的 Pk 小多了。
  4. 我们的卡尔曼滤波就是“预测”和“观测”的结合。思路是“预测”提供初值,观测进行优化。
    【简历完善】- SLAM - 第一篇:卡尔曼滤波的学习,找工作 - slam相关-激光雷达-点云操作,Slam,学习

一、直接目的:五个公式

【简历完善】- SLAM - 第一篇:卡尔曼滤波的学习,找工作 - slam相关-激光雷达-点云操作,Slam,学习

1.1 第一个公式

这个k就是你的步数,xk^ 就是你的位置,Fk 就是你估计自己一步走多远。后面的那个 u,其实是加速度。因为论文中的xk不仅仅表示位置,还有速度。但是我们这里假设你摸黑走路是匀速的,先不管他。

1.2 第二个公式

一开始 k = 0 的时候,你是在卧室(原点,x=0)。但是你走着走着你越来越担心自己走偏了。这就反映在方差上,也就是第二个式子。因为你状态变换的时候乘了一个 Fk,所以你的方差会乘 Fk 的平方。Qk 有博客说是: 外部不确定性(你穿拖鞋可能打滑了,但是你不知道)。但我暂时不知道应该如何计算 Qk,先不管。

1.3 中间休息一会

上面的都是高中物理和高中概率论,而且都是你单纯依据“预测”进行的,接下来要开个灯进行“观测”,确定一下你的位置(就是优化一下)。接下来重头戏来了,第三个公式莫名来了个H?这是什么?

1.4 第三个公式

这个公式是真的不好理解。

1.4.1 转换矩阵的引入

转换矩阵Hk:将小车的状态数据转换到传感器数据层。(?H如何计算呢?)
有博客1 这样说的:
【简历完善】- SLAM - 第一篇:卡尔曼滤波的学习,找工作 - slam相关-激光雷达-点云操作,Slam,学习
稍微解释一下,这里的

  • u,可以理解为:当我走了10步的时候(x_k^=10),我应该看到马桶(u= 马桶)。这个H其实是你大脑把10步的信息转换成了马桶的图片。
  • 方差:看到的马桶可大可小,不太确定。

1.4.2 开灯前后的对比

在开灯前,我们有以下分布:

  • 分布1:我们的预测(均值 = 大概会看到马桶,方差 = 马桶大小可以变)。

在开灯后,我们有:

  • 分布2:实际的分布(实际均值,实际方差);我看了一下,这个实际均值和实际方差是指传感器的均值和方差。(这里我也不太清楚,如何依据一个照片来算这两个值,先放放)。

注意,上面两个分布都是完全知道的,而且描述的都是一个东西,博客1 采用的方法是:相乘!(意义是什么呢?)可以参考这张图。
【简历完善】- SLAM - 第一篇:卡尔曼滤波的学习,找工作 - slam相关-激光雷达-点云操作,Slam,学习
比如你有一个数据(Z1,Z2),这个可能更靠近红色的中心(概率更大),也可能靠近绿色中心。要兼顾两种,那只能乘起来了(有点牵强,但是好像是有道理的,先不管,反正这样做可行)。

1.4.3 正式开始公式3的推导

经过上面的讨论,我们确定了目标:已知两个正太分布,求两个分布的乘积的分布。这个容易,大学概率论基础,我们直接给出新分布的均值和方差。
【简历完善】- SLAM - 第一篇:卡尔曼滤波的学习,找工作 - slam相关-激光雷达-点云操作,Slam,学习
注意,我们把新的均值写成:u’ = 老的估计均值 + 更新量 的形式。然后就是重点了,把卡尔曼滤波前两个公式放到这个概率论的结果中:
【简历完善】- SLAM - 第一篇:卡尔曼滤波的学习,找工作 - slam相关-激光雷达-点云操作,Slam,学习
上图中的三个公式就是公式 3 4 5!所以完结了!文章来源地址https://www.toymoban.com/news/detail-619301.html

到了这里,关于【简历完善】- SLAM - 第一篇:卡尔曼滤波的学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 卡尔曼滤波理论小释之卡尔曼增益

    卡尔曼增益是卡尔曼滤波理论中的一个核心概念。一般教材里面是这么给出它的公式的: 图1  卡尔曼增益 直觉上容易理解,所谓的增益是指每次融合数据后不确定性的变化程度。如果融合了新的数据后不确定性降低了,那么这个增益就是正面的,有助于提高预测的准确度。

    2024年02月05日
    浏览(83)
  • Arduino云台,关键是可以调角度!!!基于MPU6050,用卡尔曼滤波进行角度处理,保证你能一次过学会从硬件到软件的制做!!!(第一节)

    哈哈哈,我又来啦!!!    大家好啊!我是菜鸟啊啊啊,今天给大家带来的是Arduino云台,云台分为处理部分和执行部分,执行部分只需要用电机驱动就可以了,但是菜鸟这边只不过是用舵机就可以了因为经费这东西不支持我大手大脚,所以才选用了较为便宜的SG90舵机,下面是

    2024年02月14日
    浏览(39)
  • 卡尔曼滤波器-概述及用递归思想解读卡尔曼滤波器 | 卡尔曼滤波器应用举例(附Matlab程序)| 数学基础-数据融合、协方差矩阵、状态空间方程

      卡尔曼滤波器是最优化的(Optimal)、递归的(Recursive)、数字处理的(Data Processing)算法(Algorithm)。卡尔曼滤波器更像是观测器,而不是一般意义上的滤波器,应用广泛,尤其是在导航中,它的广泛应用是因为生活中存在大量的不确定性。   当描述一个系统的不确

    2024年02月06日
    浏览(54)
  • 卡尔曼滤波系列_实例(二)均加速运动的卡尔曼滤波

    此系列(一)对卡尔曼滤波的原理进行了简单的阐述,总结了卡尔曼滤波的两大过程:预测和更新。接下来举例对卡尔曼滤波的使用进行介绍,加深对卡尔曼滤波的理解。 1.场景介绍 如上图所示,可知小车的初始速度为0,初始位置也为0,小车向前的加速度为1,小车感知自身

    2024年02月15日
    浏览(37)
  • 卡尔曼滤波学习笔记

    从直观上来看,卡尔曼滤波是把两个存在误差的结果 融合 在一起,得到一个从数学上可以得到证明的 最优估计值 。 而这两个存在误差的结果,一个是从理论上推导出来的,称之为 先验估计值 ;一个是用传感器测量出来的,称之为 测量值 。它们之所以存在误差,是因为前

    2024年02月11日
    浏览(43)
  • 卡尔曼滤波介绍

        卡尔曼滤波无论是在单目标还是多目标领域都是很常用的一种算法,将卡尔曼滤波看作一种运动模型,用来对目标的位置进行预测,并且利用预测结果对跟踪的目标进行修正,属于自动控制理论中的一种方法。     在对视频中的目标进行跟踪时,当 目标运动速度较慢 时

    2024年02月14日
    浏览(39)
  • 【算法系列】卡尔曼滤波算法

    ·【算法系列】卡尔曼滤波算法 ·【算法系列】非线性最小二乘求解-直接求解法 ·【算法系列】非线性最小二乘求解-梯度下降法 ·【算法系列】非线性最小二乘-高斯牛顿法  ·【算法系列】非线性最小二乘-列文伯格马夸尔和狗腿算法  文章目录 系列文章 文章目录 前言 一、

    2024年02月12日
    浏览(39)
  • 卡尔曼滤波器简介——概述

    关于卡尔曼滤波器         大多数现代系统都有许多传感器,可以根据一系列测量来估计隐藏(未知)状态。例如,GPS接收器提供位置和速度估计,其中位置和速度是隐藏状态,卫星信号到达的差分时间是测量值。         跟踪和控制系统的最大挑战之一是在存在不确

    2024年02月01日
    浏览(70)
  • 卡尔曼滤波算法原理及示例

      例程:物体做匀速运动每秒运动1m,观测器观测方差为1m

    2024年02月15日
    浏览(39)
  • 卡尔曼滤波的Python实现

    为了在Python编程环境下实现卡尔曼滤波算法,特编写此程序 主要用到了以下3个模块 numpy(数学计算) pandas(读取数据) matplotlib(画图展示) 代码的核心是实现了一个Kf_Params类,该类定义了卡尔曼滤波算法的相关参数 然后是实现了一个kf_init()函数,用来初始化卡尔曼滤波算

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包