First Estimate Jacobian (FEJ) 如何理解SLAM中的First Estimate Jacobian

2023-05-16

First Estimate Jacobian (FEJ) 如何理解SLAM中的First Estimate Jacobian

First Estimate Jacobian是Visual Inertial中的一个很重要的概念,今天,由泡泡机器人的王京和张腾为大家带来他们的一点思考。欢迎大家在下方说说自己对FEJ的想法和思考。 此篇文章属于泡泡机器人原创专栏的VIO系列中的第一篇,后面我们还会陆续对VIO的一些基础知识以及高级知识进行一系列的科普介绍,希望大家看后能够有所收货。

1.Observability能观性

对于一个系统,Observability性质(能观性)[1,2],决定了这个系统在进行状态估计时,哪些自由度是可以被估计出来的。并且其能观性是不受估计方法(Closed-form 方法、EKF、或者Nonlinear Optimization等等)改变的。 与自控理论中的可观性一样,能观性通过Observability Matrix(能观性矩阵)体现,系统Unobservable的状态维数是这个矩阵零空间的维数。(对于非线性系统,相关性质和矩阵比较特别些,会用到Locally Weakly Observable的概念或者其他的定义,未深究,感兴趣可以看[1]和它的参考文献[8]) 比如,单目纯视觉SLAM里,尺度和6DOF的绝对位姿——总共7DOF——无法被估计。(绝对位姿的6个自由度可以通过固定某一帧位姿来进行固定,而剩下的尺度却无法通过纯视觉固定下来,这在误差累积下,会造成单目VSLAM的尺度漂移[3]) 再比如Visual-Inertial系统里,在运动激励充分(足够多轴向有足够大的加速度/角速度)的情况下,尺度、滚转/俯仰角是可以被估计的,只剩下绝对偏航角、绝对位置无法获得[1],也就是说对于Visual-Inertial系统在合适的运动模式下Unobservable的维数是4。(甚至相机-IMU外参和零偏也可以估计。)
Full observability requires the camera–IMU platform to undergo rotation about at least two IMU axes and acceleration along two IMU axes.

2.二维机器人EKF-SLAM中First Estimate Jacobian

Huang Guoquan老师在[4]中提出First Estimate Jacobian(之后简写成FEJ),论文是针对针对二维机器人3DOF的EKF-SLAM。 上述情况,离散化后EKF系统的传播和测量方程如下
在这里插入图片描述
对于3DOF的系统,其能观性矩阵如下:
在这里插入图片描述
在这里插入图片描述
这种Observability性质的改变带来的影响,论文里称为inconsistency。
Therefore, the filter gains “nonexistent” information about the robot’s global orientation. This leads to an unjustified reduction in the orientation uncertainty, which in turn, further reduces the uncertainty in all the state variables, causing inconsistency.
在这里插入图片描述
tial系统中FEJ的引入 Li Mingyang在MSCKF2.0[5]中采用FEJ来对MSCKF进行改进。 基本思路和上面一样,作者对标准MSCKF的能观性矩阵进行分析,发现矩阵的零空间维数是3。而前面[1]等已经指出,Visual-Inertial系统在一般情况下的Unobservable维数是4。 这里和二维EKF-SLAM中的yaw一样,对应于yaw的原本Unobservable的自由度,在标准MSCKF中错误的变成Observable了。 同样,这种能观性的改变也会带来inconsistency,而采用FEJ的方法可以修正这个影响。

4.Sliding Window

Sliding Window方法中的FEJ 上面都是滤波类型方法的应用,对于优化的方法,OKVIS[6]使用了这一方式,DSO[7]参考OKVIS也采用了FEJ。
we employ first- estimate Jacobians, i.e. whenever linearization of a variable is employed, we fix the linearization point for any subsequent linearization involving that particular variable
对于Sliding window的方法,一般会采用Marginalization的方式把离开window的状态所带有的信息给保留下来。 (Marginalization可以看看贺一家博客和里面的参考文献 SLAM中的marginalization 和 Schur complement)
在这里插入图片描述
如上图是OKVIS的window,在新增一个KeyFrame时,会把window中的较早的一个KeyFrame以及相关的一些landmark给marginalize掉。 (OKVIS为了保证稀疏性,不是所有的landmark都进行marg。OKVIS中old KeyFrame之间covisible的landmark——Landmarks visible in KF1 but not KF4——被marg,而能被最新的KF或者frame所看到的landmark直接drop,这样只会导致KF与KF之间被fill-in。) (上面博客中提到,“要marg那些不被其他帧观测到的特征点”,是保证KF与KF之间也不会有fill-in。) 进行Marg时会用到相关状态的Jacobian,按照一般的思路,也是用最新的估计值作为线性化点来计算。以上图对KF1进行Marg为例,KF2/KF3和其他没有被Marg的状态,在这次进行Marg时计算Jacobian的线性化点,和Marg之后进行优化计算、或者对KF2进行Marg时的线性化点,因为状态更新之后就不同了。

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

First Estimate Jacobian (FEJ) 如何理解SLAM中的First Estimate Jacobian 的相关文章

  • 物联网设备连接的下一个引爆点:4G Cat.1

    不看这几篇好文 xff0c 就别说自己了解物联网 一 背景 物联网从概念兴起至今已经过了好几些年了 何为物联网 xff0c 首先要定义何为 物 xff08 Things xff09 xff0c 笔者理解所有具备连接能力的设备都可以是物 xf
  • 物联网云端一体人工智能方案的探索

    不看这几篇好文 xff0c 就别说自己了解物联网 1 高速发展的人工智能 说到人工智能 xff0c 大家并不陌生 xff0c 无论是围棋大战中战胜顶尖段位人类围棋手的Alpha Go xff0c 还是弹跳自如的波士顿机器狗 而无数的科幻电影
  • 带你走进多媒体世界:视频文件是怎么播放出来的

    不看这几篇好文 xff0c 就别说自己了解物联网 1 前言 多媒体是什么 xff1f 维基百科的解释是 xff1a 多媒体 xff08 Multimedia xff09 xff0c 在电脑应用系统中 xff0c 组合两种或两种以上媒体的一种
  • 从语音交互历史浅看它是否会是物联网行业的一个爆点?

    不看这几篇好文 xff0c 就别说自己了解物联网 背景 近几年得益于人工智能在语音领域的突破 xff0c 语音AI已经趋于成熟 xff0c 尤其在智能音箱领域 xff0c 智能音箱又带来了IoT应用到智能家居 本文主要讨论从语音交互历史看它
  • 物联网之IP Camera解决方案简介

    不看这几篇好文 xff0c 就别说自己了解物联网 前言 IP Camera 即网络摄像头 xff0c 是物联网领域中的一个重要场景 本文将带领读者了解IP Camera这一典型物联网场景的市场 IP Camera的重要组成部分 以及以Haa
  • 如何快速搭建一个像“天猫精灵”的智能语音助手?

    不看这几篇好文 xff0c 就别说自己了解物联网 天猫精灵相信大家都不陌生了 xff0c 它是阿里巴巴于2017年7月5日发布的AI智能终端品牌 让用户以自然语言对话的交互方式 xff0c 实现影音娱乐 购物 信息查询 生活服务等功能操作
  • 如何基于芯片SDK开发安防监控产品

    1 前言 近些年来 xff0c 安防监控市场需求广泛 安防监控已经成众多细分行业 xff0c 如金融 教育 医疗 交通等 xff0c 安全的必需品 消费类市场中 xff0c 随着人们对人身及财产安全意识的不断提升 xff0c 中小企业 商铺
  • Spark Streaming 与 Kafka 集成分析

    前言 Spark Streaming 诞生于2013年 xff0c 成为Spark平台上流式处理的解决方案 xff0c 同时也给大家提供除Storm 以外的另一个选择 这篇内容主要介绍Spark Streaming 数据接收流程模块中与Ka
  • MircoPython 的组件扩展方法

    1 背景 本节内容将详细介绍如何扩展一个新的MicroPython 的组件 组件扩展方式分两种 xff1a 模块扩展 xff0c 模块 43 类扩展 右边netmgr 功能以模块的方式扩展的 xff0c 在使用的时候直接导入模块进行使用 左
  • HaaS第一本实体书籍 当代物联网开发圣经 现在开始预售

    元宇宙 xff08 Metaverse xff09 概念近期霸屏大众视野 xff0c 在社会各圈层掀起热议 这一极具科技感与未来感的抽象概念激发了人们无穷想象力 xff0c 现实世界与虚拟世界融合仿佛近在眼前 元宇宙概念始于 雪崩 一书 x
  • 工科生的信仰 ESP32 + HaaS Python 打造HaaS收音机

    HaaS收音机 简介 FM收音机作为上世纪的产物 xff0c 一度是大家日常使用最多的工具之一 xff0c 现在已经很少用到 xff0c 主要还是用在汽车上 一台经典的收音机往往能勾起很多人的回忆 本案例教大家如何快速打造一台物联网FM收音
  • 【HaaS Python硬件积木】HCSR04超声波测距传感器

    来这里发现更多拿来即用的传感器 HaaS开发框架 HaaS积木方案 xff0c 赋能生态开发者 xff0c 让您快速找到自己需要的解决方案 xff0c 硬件主板与外设 xff0c 以及各种应用组件 https haas iot aliyun
  • 【HaaS Python硬件积木】4路触摸电容模块-TTP224

    来这里发现更多拿来即用的传感器 HaaS开发框架 HaaS积木方案 xff0c 赋能生态开发者 xff0c 让您快速找到自己需要的解决方案 xff0c 硬件主板与外设 xff0c 以及各种应用组件 https haas iot aliyun
  • 【HaaS Python硬件积木】土壤湿度传感器

    来这里发现更多拿来即用的传感器 HaaS开发框架 HaaS积木方案 xff0c 赋能生态开发者 xff0c 让您快速找到自己需要的解决方案 xff0c 硬件主板与外设 xff0c 以及各种应用组件 https haas iot aliyun
  • 【HaaS Python硬件积木】空气质量检测模块 - CCS811

    空气质量检测模块 CCS811 来这里发现更多拿来即用的硬件积木 https haas iot aliyun com solution detail hardware 一 产品简介 通过CCS811传感器模块可以测量环境中TVOC 总挥发性
  • 阿里云IoT | HaaS开源百校科技助力计划 —— 开源大使招募

    x1f44b Hi xff0c 各位爱好科技的同学们 在这个技术快速升级 重构的时代 有这样一个活动 xff0c 你不容错失 它就是HaaS开源百校科技助力计划 这是一项由阿里云IoT HaaS技术团队在全国高校推出的活动 帮助未来的新一代
  • HaaS Python 2.2 版本发布,更好更快更稳,将开发易用性进行到底

    x1f44b Hello 好久不见 HaaS Python 2 2 版本升级如期发布 来看看又多了哪些激动人心的新功能吧 HaaS Studio 版本升级 布局全新改版 xff0c 热门动态首页直达支持从案例列表中快速创建案例支持快速引入传
  • 【HaaS Tuesday】物联网局域通信 选择 Wi-Fi or 蓝牙?听工程师们笑谈技术发展史

    物联网局域通信 Wi Fi or 蓝牙 xff1f 听大佬们笑谈技术发展史 HaaS Tuesday 第二期上线 快来交出你的一键三连 xff01
  • 用大数据思维做运维监控

    今天一大早就看到了一篇文章 xff0c 叫 大数据对于运维的意义 该文章基本上是从三个层面阐述的 xff1a 工程数据 xff0c 譬如工单数量 xff0c SLA可用性 xff0c 基础资源 xff0c 故障率 xff0c 报警统计业务数
  • 饭碗空空 猫猫流泪 用HaaS Python DIY一个宠物自动投食器 再也不用担心主子挨饿

    来这里 发现更多有趣案例 HaaS趣味案例 1 简介 自动投食器是一种可以自动投喂宠物粮的设备 xff0c 致力于解决当家中无人时宠物无法喂养的问题 该设备具备云端接入能力 xff0c 可通过手机进行控制 xff0c 拥有两种投喂模式可供选

随机推荐