从零手写VIO学习记录——系列七:【VIO系统初始化】(学习记录 | 作业 | 代码)

本系列主要根据深蓝学院《视觉SLAM进阶:从零开始手写VIO》。博客主要以本人在课程学习过程中的作业和修改的代码为主。如需详细视频及PPT,请联系深蓝学院相关人员。

代码已上传github: https://github.com/why-freedom/VIOLearning_Note_Code.git(有用话给个star >_<)

本节是VIO的重点,主要是VINS的鲁棒初始化:外参估计,重力估计对齐

  1. 初始化主要有以下几个问题:

    1. IMU怎么和世界坐标系对齐?
    2. 单目视觉姿态如何和IMU轨迹对齐,尺度如何获取?
    3. VIO系统的初始化速度v,传感器bias等如何估计?
    4. IMU和相机之间的外参数等如何估计?
  2. 视觉和IMU对齐流程:

    1. 旋转外参数未知,则先估计旋转参数:主要利用IMU旋转积分 q b k b k + 1 q_{b_kb_{k+1}} qbkbk+1和视觉测量 q c k c k + 1 q_{c_kc_{k+1}} qckck+1
    2. 已知旋转外参数,利用旋转约束估计陀螺仪bias
    3. 利用平移约束估计重力方向,速度,以及尺度初始值
    4. 对重力向量g进行进一步优化
    5. 求解世界坐标系和初始化相机坐标系之间的旋转矩阵,并将轨迹对齐到世界坐标系。
  3. 关于加速度bias为何没有估计?
    量很小,影响不大。

  4. 平移外参数为何没有初始化?
    陀螺仪bias对平移影响是线性的,对系统影响不大

详细参考论文:
1、Zhenfei Yang and Shaojie Shen. “Monocular visual–inertial state estimation with online initialization and camera–IMU extrinsic calibration”. In: IEEE Transactions on Automation Science and Engineering 14.1 (2016), pp. 39–51.
2、Tong Qin and Shaojie Shen. “Robust initialization of monocular visual-inertial estimation on aerial robots”. In: 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE. 2017, pp. 4225–4232

本节作业是讲第二节的仿真数据集(视觉特征,IMU)接入到VIO系统中,对结果进行评估:

你可能感兴趣的:(从零手写VIO)