最近几个月忙于博士毕业,找工作一直没有继续更新博客,希望以这一篇开始,每个月能够继续有几篇总结博客。

首先review一下比较著名的vio系统

  1. Tightly coupled

    • EKF: mainly ETH ASL R.Siegwart work
  2. Tightly-coupled
    • EKF:

      • MSCKF->MSCKF2.0->SR-ISWR  observability and consistency analysis
      • ROVIO
      • SR-ISWF
    • Optimization:
      • OKVIS
      • VINS-Mono (more robust initialization compared with OKVIS and less sensitive towards noise and bias prior)
      • Inertial ORB (no original open source, no metric scale estimation at the beginning, sudden change of Map when the scale is solved)

VIO系统的优点显而易见,难点在于如何将visual和inertial两个传感器的优缺点有效结合,达到快速初始化(最重要的是尺度和重力方向),稳定鲁邦估计,以及对噪声和传感器参数(相机IMU外参,IMU零偏)的高度容忍或者在线估计。

这篇博客主要比较集中优化方法的初始化过程,为了达到非线性优化问题的最优解,一个靠谱的初值可以让系统很快收敛,不仅可以提高优化速度,也可以达到optimal的状态估计。相反,初值估计错误不仅导致非线性优化问题陷入局部最小,而且使得参数估计完全错误,从而使得系统崩溃(俗称系统飞掉,特别是imu的bias参数估计错误)。

  首先介绍OKVIS的初始化方法,OKVIS对IMU的参数非常敏感(相对于VINS-Mono使用商用级别commercial-grade的IMU即可,它需要使用工业级别industrial-grade的IMU来完成初始化操作),因为整个系统的状态propagation就是基于IMU,更严苛的是系统的初始化状态也完全依赖于初始(几十个或者几百个)IMU数据的propagation给出的姿态,如果是pure rotation运动,则使用2D-2D匹配进行跟踪,轨迹仅由IMU给出,当可以三角化出landmark时(有足够的2D-2D匹配内点,且内点可以恢复出3D点(使用Kneip的Opengv中算法)),初始化完成。后续同时使用3D-2D匹配和2D-2D匹配。因此,IMU给出的初始轨迹估计需要比较准确,才可以给出初始轨迹,并且确定何时可以初始化完成。

TX1: https://www.phoronix.com/scan.php?page=article&item=nvidia-jtx1-perf&num=1%3C/span%3E%3C/blockquote%3E

VIO 初始化小结 - 10.17的更多相关文章

  1. 背水一战 Windows 10 (17) - 动画: ThemeTransition(过渡效果)

    [源码下载] 背水一战 Windows 10 (17) - 动画: ThemeTransition(过渡效果) 作者:webabcd 介绍背水一战 Windows 10 之 动画 ThemeTrans ...

  2. 发现struct proc_dir_entry内核3.10.17移到internal中去了,倒

    struct proc_dir_entry 原:2.6.38.8 在#include <linux/proc_fs.h> 现:3.10.17 在fs/proc/internal.h:str ...

  3. Windows 8.1 正式版微软官方原版镜像下载(新增10/17新版下载)

    中文版:中国区OEM预装版本,特定国家版,锁定语言,其它功能和核心版没有区别.简体中文单语言版:锁定语言,其它功能和核心版没有区别.专业版+核心版[零售版][推荐]:镜像内包含专业版(Professi ...

  4. Dell Technology Summit(2018.10.17)

    时间:2018.10.17地点:北京国家会议中心

  5. 10.17 NOIP模拟赛

    目录 2018.10.17 NOIP模拟赛 A 咒语curse B 神光light(二分 DP) C 迷宫maze(次短路) 考试代码 B 2018.10.17 NOIP模拟赛 时间:1h15min( ...

  6. WIN8.1 PRO RTM VOL.Enterprise.2013.10.17

    Windows 8.1 Pro VL (x64) - DVD (Chinese-Simplified)ISO|Chinese - Simplified|发布日期: 2013/10/17文件名: cn_ ...

  7. 2020.10.17 JZOJ 提高B组T2 导弹拦截

    2020.10.17 JZOJ 提高B组T2 导弹拦截 题目 Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统. 敌国的导弹形成了立体打击,每个导弹可以抽象成一个三维空间中的 ...

  8. 10.17小结:table.copy() 和 distinct 查询

    1. 当datatable 已存在于一个dataset中时,可以使用 ds.tables.add(dt.copy()) 来向dataset 中添加datatable; 2. 当datarow已存在于一 ...

  9. 16.10.17学到的Java知识

    1. 例:3-2.6==0.4的值是什么?可能乍一看,感觉是返回TRUE,因为3-2.6=0.4,0.4==0.4:所以返回TRUE. 然而,上面分析在JAVA中是错的. 由于浮点数的运算在JAVA中 ...

随机推荐

  1. 学习WebSocket一(WebSocket初识)

    Java EE 7 去年刚刚发布了JSR356规范,使得WebSocket的Java API得到了统一,Tomcat从7.0.47开始支持JSR356,这样一来写WebSocket的时候,所用的代码都 ...

  2. ejb3persistence.jar javax.persistence的注解配置

    JPA注解持久化类很方便,需要jar包:ejb3-persistence.jar.我用以下三个类来说明用法.  sh原创 转载请注明: http://67566894.iteye.com/blog/6 ...

  3. Intellij IDEA 代码中类非全路径显示

  4. AtomicInteger线程安全的计数器

    在多线程环境下计数的时候,++i和i++是不安全的,故而需要加锁机制,也可以使用volatile关键字进行修饰,但是更简单有效的方式是使用Atomic类

  5. centos7修改主机名和ip映射

    1.修改主机名:命令:/etc/hostname文件输入:HOSTNAME=node3想永久修改,应该修改配置文件 /etc/sysconfig/network. 输入:NETWORKING=yes ...

  6. HDU 1029 Ignatius and the Princess IV (map的使用)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1029 Ignatius and the Princess IV Time Limit: 2000/10 ...

  7. mysql 修改数据类型

    只修改列的数据类型的方法: 通常可以写成 alter table 表名 modify column 列名 新的列的类型 例如:student表中列sname的类型是char(20),现在要修改为var ...

  8. 轻量ORM-SqlRepoEx (七)AspNetCore应用

    ORM-SqlRepoEx 是 .Net平台下兼容.NET Standard 2.0,一个实现以Lambda表达式转转换标准SQL语句,使用强类型操作数据的轻量级ORM工具,在减少魔法字串同时,通过灵 ...

  9. 一点一点看JDK源码(五)java.util.ArrayList 后篇之forEach

    一点一点看JDK源码(五)java.util.ArrayList 后篇之forEach liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 代 ...

  10. iOS:文件操作相关(18-03-23更)

    0.iOS文件系统 1.工程内文件 2.文件夹管理 3.文件操作 4.NSCache 附录: 1.沙盒文件夹.文件大小 2.清除沙盒 Library / Cache 下所有数据 3.测试plist 0 ...