手写VIO学习总结(一)

文章目录

  • 1.简介
  • 作业1.1
  • 作业1.2
  • 作业1.2

1.简介

贺一家和高博合作推出了一个关于 VIO 的课程,此课程主要为VIO学习者提供学习资源。VIO不仅应用在无人车、机器人,还应用于手机 AR 等领域。可以说,VIO 已成为 vSLAM 算法工程师的必备技能。课程介绍如下:

手写VIO学习总结(一)_第1张图片
本博客主要记录学习课程的笔记和课程的作业。

作业1.1

阅读VIO 相关综述文献如a,回答以下问题:
• 视觉与IMU 进行融合之后有何优势?
• 有哪些常见的视觉+IMU 融合方案?有没有工业界应用的例子?
• 在学术界,VIO 研究有哪些新进展?有没有将学习方法用到VIO
中的例子?
你也可以对自己感兴趣的方向进行文献调研,阐述你的观点。
回答在我上一篇博客,视觉惯导研究综述中

作业1.2

课件提到了可以使用四元数或旋转矩阵存储旋转变量。当我们用计算出来的 w w w 对某旋转更新时,有两种不同方式:
手写VIO学习总结(一)_第2张图片
请编程验证对于小量 w w w = [0.01, 0.02, 0.03]T,两种方法得到的结果非常接近,实践当中可视为等同。因此,在后文提到旋转时,我们并不刻意区分旋转本身是q 还是R,也不区分其更新方式为上式的哪一种。

#include 
#include 
#include 
#include "sophus/so3.h"
#include "sophus/se3.h"
using namespace std; 

int main( int argc, char** argv )
{
    // 沿Z轴转90度的旋转矩阵
    Eigen::Matrix3d R = Eigen::AngleAxisd(M_PI/2, Eigen::Vector3d(0,0,1)).toRotationMatrix();
    
    std::cout << "R :"<< endl << R <

结果显示:
手写VIO学习总结(一)_第3张图片

作业1.2

使用右乘so(3),推导以下导数:
手写VIO学习总结(一)_第4张图片
性质:
手写VIO学习总结(一)_第5张图片
手写答案如下:
手写VIO学习总结(一)_第6张图片

你可能感兴趣的:(视觉slam学习)