1. 研究背景及相关工作

1)研究背景

单目视觉惯性slam是一种旨在跟踪移动平台的增量运动并使用来自单个车载摄像头和imu传感器的测量结果同时构建周围环境地图的技术。视觉相机和惯性测量单元(imu)是slam技术的理想选择,因为这两种传感器模式尺寸小,价格便宜,功耗低,并且可以相互补充。视觉传感器在大多数纹理丰富的场景中效果很好,但是如果遇到玻璃,白墙等特征较少的场景,基本上无法工作;imu长时间使用有很大的累计误差,但在短时间内,其相对位移数据又有很高的精度。所以视觉传感器失效时,融合imu数据,能够提高定位的精度,并且在系统正常运行过程中结合相机和imu数据同时对状态进行估计。这些属性使得视觉惯性组合可以广泛用于实际应用中,例如机器人导航[1][2],自动或半自动驾驶[3],实时三维重建[4],虚拟和增强现实[5]。

  几种视觉惯性融合技术已经被提出,像递归(卡尔曼滤波)算法[6][7],使用imu测量数据进行状态积分,以及基于关键帧的非线性优化方法[8][9][10],同时最小化视觉和惯性几何误差。然而这些方法的性能很大程度上取决于相机和imu之间的6自由度的精确外部参数校准。无论是在求取相机位姿的时候还是在后端融合相机和imu数据进行状态优化的过程中都用到了外部参数。不正确的校准将在运动估计中引入系统偏差并降低整体导航性能。

2)相关工作

  获得精确外部参数的一种代替方法是利用离线方法[11][12][13]。然而,这些方法复杂且耗时,因为他们通常需要专业人士小心地将传感器套件移动到固定的校准目标前面。此外,每当重新定位传感器或施加显著的器械应力时,通常需要重复该过程。另一种替代方案是应用在线校准方法来联合估计初始值和外部参数。Kelly等人提出了一种基于无迹卡尔曼滤波器的自校准方法[14]来校准外部参数。Martinelli引入了一种封闭形式的解决方案来估计初始值[15],后来在[16]中提出了它的修订,以自动估计陀螺仪偏差。Yang和Shen用基于优化的线性估计器校准外部参数和初始值(imu偏差除外)[17]。在他们的扩展单目视觉惯性系统(VINS-Mono)中,imu偏差校准包含在滑动窗口非线性估计器中[18]。

2. 问题描述

  因为优化时,拥有视觉和惯性两种传感器数据,需要利用这两种数据同时对系统状态进行优化。所以,我们认定以imu位姿为基准,在进行图像点与空间点的操作时便通过桥梁—外参R和T将imu位姿转换成相机位姿。所以R T的精准度极为重要。

      

3. 本人问题的描述及解决办法

输入:Ps[i] Rs[i] 图像帧 (Ps Rs 代表imu位姿,精度极高)

输出:R T(相机-imu外参)

  • 根据公式,求出R的初值,这里用到了相机位姿,所以需要做纯视觉初始化。
  • 需要求尺度s,公式如下。这里需要做改进,因为T未知,所以同时将T设为待求量(改进公式见笔记本)。 (求出s后还可以通过该公式求出T的初值 )

      

  • 第三步非线性优化时会优化空间点深度,所以这步要做三角化,初始化深度。(三角化时,以相邻两帧的相机位姿为基准,所以会用到纯视觉初始化的相机位姿)。
  • 非线性紧耦合优化,公式:

同时优化R T和空间点深度λ。

4. 新思路

1)    简单对比发现vi orb-slam的初始化考虑因素更多一些(包括求取了加速度偏置,以及外参的平移),两个方法的初始化详细对比见我的另一篇博客https://www.cnblogs.com/mybrave/p/9564899.html

  所以,尝试做该实验,将vi orb-slam中视觉惯导初始化的部分移植到vins中,查看优化效果。

2)

  • 使用双目相机算出R的初值。
  • 直接通过双目算出空间点深度,这里便不需要求s和相机平移。
  • 第三步进行非线性紧耦合优化公式为:

      

  (双目求出的空间点深度要比单目+imu算出的深度更精确吗??? 差别就在尺度s和两帧之间的旋转平移的准确度上,尺度s即在初始化的过程中求出)

[1] A. Stelzer, H. Hirschmüller, and M. Görner, “Stereo-vision-based navigation of a six-legged walking robot in unknown rough terrain,” Int. J. Robot. Res., vol. 31, no. 4, pp. 381–402, 2012.
[2] H. Liu, Z. Wang, and P. Chen, “Feature points selection with flocks of features constraint for visual simultaneous localization and mapping,” Int. J. Adv. Robot. Syst., vol. 14, no. 1, pp. 1–11, 2016.

[3] S. Weiss, D. Scaramuzza, and R. Siegwart, “Monocular-SLAM-based navigation for autonomous micro helicopters in GPS-denied environments,” J. Field Robot., vol. 28, no. 6, pp. 854–874, 2011.

[4] P. Tanskanen, K. Kolev, L. Meier, F. Camposeco, O. Saurer, and M. Pollefeys, “Live metric 3d reconstruction on mobile phones,” in Proc. IEEE Int. Conf. Comput. Vision, 2013, pp. 65–72.

[5] T. Oskiper, S. Samarasekera, and R. Kumar, “Multi-sensor navigation algorithm using monocular camera, IMU and GPS for large scale augmented reality,” in Proc. IEEE Int. Symp. Mixed Augmented Reality, 2012, pp. 71–80.

[6] M. Li and A. I. Mourikis, “Improving the accuracy of EKF-based visual-inertial odometry,” in Proc. IEEE Int. Conf. Robot. Autom., 2012, pp. 828–835.
[7] P. Tanskanen, T. Naegeli, M. Pollefeys, and O. Hilliges, “Semi-direct EKF-based monocular visual-inertial odometry,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2015, pp. 6073–6078.
[8] S. Leutenegger, S. Lynen, M. Bosse, R. Siegwart, and P. Furgale, “Keyframe-based visual-inertial odometry using nonlinear optimization,” Int. J. Robot. Res., vol. 34, no. 3, pp. 314–334, 2015.

[9] V. Usenko, J. Engel, J. Stückler, and D. Cremers, “Direct visual-inertial odometry with stereo cameras,” in Proc. IEEE Int. Conf. Robot. Autom., 2016, pp. 1885–1892.
[10] C. Forster, L. Carlone, F. Dellaert, and D. Scaramuzza, “IMU preintegration on manifold for efficient visual-inertial maximum-a-posteriori estimation,” in Proc. Robot. Sci. Syst., 2015.
[11] J. Rehder and R. Siegwart, “Camera/IMU calibration revisited,” IEEE Sensors J., vol. 17, no. 11, pp. 3257–3268, 2017.
[12] P. Furgale, J. Rehder, and R. Siegwart, “Unified temporal and spatial calibration for multi-sensor systems,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2013, pp. 1280–1286.
[13] P. Furgale, T. D. Barfoot, and G. Sibley, “Continuous-time batch estimation using temporal basis functions,” in Proc. IEEE Int. Conf. Robot. Autom., 2012, pp. 2088–2095.
[14] J. Kelly and G. S. Sukhatme, “Visual-inertial sensor fusion: Local-ization, mapping and sensor-to-sensor self-calibration,” Int. J. Robot. Res., vol. 30, no. 1, pp. 56–79, 2011.
[15] A. Martinelli, “Closed-form solution of visual-inertial structure from motion,” Int. J. Comput. Vision, vol. 106, no. 2, pp. 138–152, 2014.
[16] J. Kaiser, A. Martinelli, F. Fontana, and S. Scaramuzza, “Simultaneous state initialization and gyroscope bias calibration in visual inertial aided navigation,” IEEE Robot. Autom. Lett., vol. 2, no. 1, pp. 18–25,
2017.

[17] Z. Yang and S. Shen, “Monocular visual-inertial state estimation with online initialization and camera-IMU extrinsic calibration,” IEEE Trans. Autom. Sci. Eng., vol. 14, no. 1, pp. 39–51, 2017.

[18] Y. Lin, F. Gao, T. Qin, W. Gao, T. Liu, W. Wu, Z. Yang, and S. Shen, “Autonomous aerial navigation using monocular visual-inertial fusion,” J. Field Robot., 2017.

相机-imu外参校准总结的更多相关文章

  1. 相机imu外参标定

    1. 第一步初始化imu外参(可以从参数文档中读取,也可以计算出),VINS中处理如下: # Extrinsic parameter between IMU and Camera. estimate_ ...

  2. VINS(四)初始化与相机IMU外参标定

    和单目纯视觉的初始化只需要获取R,t和feature的深度不同,VIO的初始化话通常需要标定出所有的关键参数,包括速度,重力方向,feature深度,以及相机IMU外参$R_{c}^{b}$和$p_{ ...

  3. 解放双手——相机与IMU外参的在线标定

    本文作者 沈玥伶,公众号:计算机视觉life,编辑部成员 一.相机与IMU的融合 在SLAM的众多传感器解决方案中,相机与IMU的融合被认为具有很大的潜力实现低成本且高精度的定位与建图.这是因为这两个 ...

  4. 相机IMU融合四部曲(三):MSF详细解读与使用

    相机IMU融合四部曲(三):MSF详细解读与使用 极品巧克力 前言 通过前两篇文章,<D-LG-EKF详细解读>和<误差状态四元数详细解读>,已经把相机和IMU融合的理论全部都 ...

  5. 相机IMU融合四部曲(二):误差状态四元数详细解读

    相机IMU融合四部曲(二):误差状态四元数详细解读 极品巧克力 前言 上一篇文章,<D-LG-EKF详细解读>中,讲了理论上的SE3上相机和IMU融合的思想.但是,还没有涉及到实际的操作, ...

  6. 相机IMU融合四部曲(一):D-LG-EKF详细解读

    相机IMU融合四部曲(一):D-LG-EKF详细解读 极品巧克力 前言 前两篇文章<Google Cardbord的九轴融合算法>,<Madgwick算法详细解读>,讨论的都是 ...

  7. 【项目实战】自备相机+IMU跑通Vins-Mono记录

    前言 初次接触SLAM,公司要求用自己的设备来跑通vinsmono这个程序,虽然已经跑通了别人的数据包,但是真正自己上手来运行这个程序,发现真的是困难重重,特意在此记载下来整个过程,以供大家参考. 我 ...

  8. kalibr论文阅读笔记

    单目相机IMU标定 该论文将相机IMU标定分为两个大方面: 一. 使用基函数来估计时间偏差 二. 相机和IMU的空间位置转换 校准变量:重力.外参旋转和平移.时钟偏移.IMU位姿.加速度计偏置.陀螺仪 ...

  9. OKVIS(一)初始化流程及代码结构

    OKVIS代码结构: okvis_apps: your own app okvis_ceres: backend main code, estimator, error term;  okvis_co ...

随机推荐

  1. Ubuntu16.04更换NVIDIA驱动导致无法进入图形界面的解决方案

    一.进入recovery模式 由于无法进入图形界面,所以需要在开机时进入恢复模式.我的机器上时在开机时通过引导选项中的recovery mode选项进入,进入之后可以看到许多选项卡,选择root,回车 ...

  2. CTSC2018 && APIO2018 && SDOI2018R2游记

    Day -? 占个坑先.希望CTSC,APIO别打铁,R2别滚粗QAQ CTSC Day 0 早起坐车睡觉颓废报道颓废 反正游记就是咕懒得写了 Day 1 早上四点被xp的闹钟吵醒(???还两次) 幸 ...

  3. idea中使用maven

    转:https://www.cnblogs.com/kagome2014/p/8431064.html 对于新版的IDEA可以直接打开Maven项目,但是对于旧版的IDEA需要使用Maven命令生成项 ...

  4. Redis(RedisTemplate)运算、算法(incr、decr、increment)

    RedisTemplate配置:https://www.cnblogs.com/weibanggang/p/10188682.html package com.wbg.springRedis.test ...

  5. 【题解】洛谷P3953 [NOIP2017TG] 逛公园(记忆化搜索+SPFA)

    题目来源:洛谷P3953 思路 先用SPFA求一遍最短路 在求最短路的同时可以把所有点到终点的最短路求出来 dis数组 注意要反向SPFA  因为从起点开始可能会走到一些奇怪的路上导致时间负责度增加 ...

  6. 【题解】洛谷P2661 [NOIP2015TG] 信息传递

    题目来源:洛谷P2661 思路 运用并查集查找图中最小环的长度 如果A传递信息给B 就从A加一条边指向B 并更新A的父节点 从A到父节点的路径长度为B到父节点的路径长度+1 如果有两个点的祖先相同而且 ...

  7. 再探motan

    前言:上周使用motan是通过group远程调用超级土豆的服务,但是因为我需要写一些服务,不得不在本地启动服务,于是就详细的自己配置了一次motan. 上一篇博客也说到了,motan主要有3部分组成: ...

  8. 关于ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法

    转 关于ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法 2016年03月31日 10:14:59 阅读数:1 ...

  9. 【HDOJ 5726】GCD(RMQ+二分)

    Problem Description Give you a sequence of N(N≤100,000) integers : a1,...,an(0<ai≤1000,000,000). ...

  10. jQuery语法、选择器、效果等使用

    1.jQuery语法 1.1 基础语法:$(selector).action( ) 美元符号定义 jQuery 选择符(selector)“查询”和“查找” HTML 元素 jQuery 的 acti ...