本文为IMU预积分总结与公式推导系列技术报告的第二篇。

承接第一篇的内容,本篇将推导IMU预积分的测量值,并分析其测量误差的分布形式。

传统捷联惯性导航的递推算法,以初始状态为基础,利用IMU测量得到的比力和角速度信息进行积分运算,实时更新载体的位姿及速度等状态,回顾上一篇给出的运动模型,如果已知k时刻的载体状态Rk、vk和pk,则利用IMU测量值可以直接递推得到k+1时刻的载体状态,根据这种思路,如果知道上一帧图像采样时刻载体的位姿和速度,则可以递推得到当前帧的位姿和速度。需要注意的是,传统的惯导解算中非常重要的一个问题是处理重力,由于加计的测量特性,其测量值为包含反向重力的比力,而不是纯加速度。这使得一旦姿态不准确,重力投影误差将对速度和位置积分产生严重影响。

在基于BA的视觉惯性融合算法中,各个节点的载体状态都是有待优化的量。IMU预积分的初衷,是希望借鉴纯视觉SLAM中图优化的思想,将帧与帧之间IMU相对测量信息转换为约束节点(载体位姿)的边参与到优化框架中。IMU预积分理论最大的贡献是对这些IMU相对测量进行处理,使得它与绝对位姿解耦(或者只需要线性运算就可以进行校正),从而大大提高优化速度。另外,这种优化架构还使得加计测量中不受待见的重力变成一个有利条件——重力的存在将使整个系统对绝对姿态(指相对水平地理坐标系的俯仰角和横滚角,不包括真航向)可观。要知道纯视觉VO或者SLAM是完全无法得到绝对姿态的。

此外,由于传感器测量误差的存在,无论是纯惯导还是纯VO解算,单纯依靠递推运算不可避免的将带来累积误差(低精度IMU会极快发散)。将两种传感器融合可以利用冗余测量(例如两种方式都可以求取相对位姿)来抑制累积误差。同时,IMU和视觉这两种不同源的测量,也使得IMU的bias可观,从而可以在优化中被有效估计。另外老生常谈的纯单目视觉缺乏绝对尺度的问题,也可以由惯性信息的引入而得以解决。

罗里吧嗦了一大堆,下面我们就来看看IMU预积分中是如何处理相对测量的。

本篇对IMU预积分的理想模型及其噪声展开部分的公式进行了分析和推导。噪声分布将用来计算IMU预积分的信息矩阵,在优化框架中起到平衡权重的作用。

转载泡泡机器人——IMU预积分总结与公式推导2的更多相关文章

  1. 转载泡泡机器人——IMU预积分总结与公式推导1

    IMU预积分技术最早由T Lupton于12年提出[1],C Forster于15年[2][3][4]将其进一步拓展到李代数上,形成了一套优雅的理论体系.Forster将IMU预积分在开源因子图优化库 ...

  2. IMU 预积分推导

    给 StereoDSO 加 IMU,想直接用 OKVIS 的代码,但是有点看不懂.知乎上郑帆写的文章<四元数矩阵与 so(3) 左右雅可比>提到 OKVIS 的预积分是使用四元数,而预积分 ...

  3. VINS(七)estimator_node 数据对齐 imu预积分 vision

    首先通过vins_estimator mode监听几个Topic(频率2000Hz),将imu数据,feature数据,raw_image数据(用于回环检测)通过各自的回调函数封装起来 ros::Su ...

  4. VINS(三)IMU预积分

    IMU的数据频率一般远高于视觉,在视觉两帧k,k+1之间通常会有>10组IMU数据.IMU的数据通过积分,可以获取当前位姿(p位置,q四元数表达的姿态).瞬时速度等参数. 在VIO中,如果参考世 ...

  5. IMU预积分

    https://www.sohu.com/a/242760307_715754 http://www.sohu.com/a/243155537_715754 https://www.sohu.com/ ...

  6. [转载]在线文档预览方案-Office Web Apps

    最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...

  7. 泡泡机器人SLAM 2019

    LDSO:具有回环检测的直接稀疏里程计:LDSO:Direct Sparse Odometry with Loop Closure Abstract—In this paper we present ...

  8. 分享| 语义SLAM的未来与思考(泡泡机器人)

    相比典型的点云地图,语义地图能够很好的表示出机器人到的地方是什么,机器人“看”到的东西是什么.比如进入到一个房间,点云地图中,机器人并不能识别显示出来的一块块的点云到底是什么,但是语义地图的构建可以分 ...

  9. 【转载】C/C++预处理器

    转自:http://www.cnblogs.com/lidabo/archive/2012/08/27/2658909.html C/C++编译系统编译程序的过程为预处理.编译.链接.预处理器是在程序 ...

随机推荐

  1. RAC(ReactiveCocoa)介绍(一)

    最近在学习RAC,之前在iOS工作中,类之间的传值,无非是block.delegate代理.KVO和Notification等这几种方法.在RAC中,同样具备替代block.delegate代理.KV ...

  2. C#写一个简单爬虫

    最近研究C#的爬虫写法,搞了半天,才在网上很多的写法中整理出了一个简单的demo(本人菜鸟,大神勿喷).一是为了自己记录一下以免日后用到,二是为了供需要朋友参考. 废话不多说,上代码 using Ht ...

  3. HeadFirst设计模式读书笔记之工厂模式

    1. 简单工厂 1. 你开了一家披萨店,点披萨的方法可能是这样: public Pizza orderPizza(String type) { Pizza pizza; if (type.equals ...

  4. vue框架入门和ES6介绍

    vue框架入门和ES6介绍 vue-mvvm模式,vue是一种轻量级的前端框架,主要为模板渲染,数据同步,组件化,模块化,路由等. https://cn.vuejs.org/ 源码:https://g ...

  5. 复活广州.net俱乐部

    上个月张队长在深圳搞了一场活动,我们广州这边的.net粉丝也去了几个,我刚好有辆破车,于是我们一车会合后出发去深圳参加活动了,和大家在车上的交流使我感触良多.只说几点和本文相关的: .net在中国的生 ...

  6. 《.NET 进阶指南》读书笔记2------定义不可改变类型

    不可改变对象的定义 一个类型的对象在创建后,它的状态就不能再改变,知道它死亡,它的状态一直维持与创建时相同.这时候称该对象具有不可改变性.这样的类型为不可改变类型. 不可改变对象在创建的时候,必须完全 ...

  7. 关于如何使用xposed来hook微信软件

     安卓端  难点有两个  收款码的生成和到帐监听   需要源码加 2442982910

  8. 好代码是管出来的——.Net中的代码规范工具及使用

    上一篇文章介绍了编码标准中一些常用的工具,本篇就具体来介绍如何使用它们来完成代码管理. 本文主要内容有: Roslyn简介 开发基于Roslyn的代码分析器 常用的基于Roslyn的代码分析器 在.N ...

  9. C#语言中的修饰符

    public:公有访问.不受任何限制. private:私有访问.只限于本类成员访问,子类和实例都不能访问. protected:保护访问.只限于本类和子类访问,实例不能访问. internal:内部 ...

  10. 创建一个Windows服务程序与实现定时器效果

    1.创建一个Windows服务程序 一.   新建Window服务项目 二.   添加安装程序 三.   配置服务属性 四.   编写定时器代码 publicpartialclassService1 ...