《从零开始手写VIO》第一章作业

1.VIO文献阅读
1.1视觉与IMU进行融合之后有何优势?
视觉优势在于其不产生漂移,并可以直接测量旋转与平移,但是易受外界环境如光照、遮挡、动态物体等影响,并且单目视觉无法测量尺度,对纯旋转运动也无法进行估计,同时快速运动时图像匹配不上易跟丢。
IMU优势在于响应快,不太受外界环境影响,角速度测量比较准,并可以估计绝对尺度,但是其存在零漂,直接对数据积分位姿也容易发散。视觉和IMU的特点几乎是互补的,用来融合构建里程计非常make sense
1.2哪些常见的视觉+IMU融合方案? 工业界应用的例子?常见方案:大体上可以分为基于滤波和基于优化的两类融合方案,基于滤波的有MSCKF,ROVI0,R-I0,OpenVINS,基于优化的有VINS,OKVIS,VIORB等。
工业界的应用: Google的Proiect Tango,用到了MSCKF: 一些无人机、ARIVR中的定位方案也是用的VIO算法.
1.3学术界中,VIO研究有哪些新进展? 学习方法用到VIO中的例子?学术界中VIO提高的方向包括精度、鲁棒性和效率二部分。在VIO中,可以用深度学习网络来预测相机的位姿状态、场景深度。还可以用网络剔除动态物体等来提高VIO系统的鲁棒性。
利用了深度学习的例子包括D3VO(使用深度学习来预测场深度、光度、姿态等),VINet(使用深度学习来预测相机位姿),DeepVO(使用网络来预测位姿)等.

2.四元数和李代数更新验证两种更新方式一致,所编写的代码主要分为以下4个步骤:
1.生成随机四元数

Eigen::Vector4d q_random = Eigen::Vector4d::Random(); 

q_random.normalize();

Eigen::Quaterniond q_init(q_random[0],q_random[1],q_random[2],q_random[3]);

2.四元数转旋转矩阵

Eigen::Matrix3d R init = q_init.toRotationMatrix();

3.四元数和旋转矩阵分别进行更新

Eigen::Vector3d w(0.01, 0.02,.03);
Eigen::Quaterniond delta_q(1,0.5 * w.x(),0.5 * w.y(),0.5 * w.z());
Eigen::Quaterniond q update = q_init * delta_q;
q_update.normalize();
Eigen::Matrix3d R_update = R_init * skew_symmetric(w).exp();

// 其中,skew_symmetric函数将三维向量转化为反对称矩阵
// Eigen::Matrix3d skew symmetric(const Eigen::Vector3d &w)
//{
    // Eigen::Matrix3d mat;
    // mat << 0,-w.z(), w.y(), w.z(),0 ,-w.x(), -w.y(), w.x(), 0;
    // return mat;
//}

4.比较更新后的两个四元数

Eigen::Quaterniond q_verify(R update);
std::cout << "q_update: " << q_update.w() << " " << g_update.x() << ""
          << q_update.y() << " " << g update.z() << std::endl;
std::cout << "g_verify: " << g verify.w() << " " << g_verify.x() << ""
          << q_verify.y() << " " << g_verify.z() << std::endl;

3.其他导数

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值