视觉SLAM 前三章Ubuntu实践

前言

主要针对 《视觉SLAM十四讲 从理论到实践》 前三章 实践部分 做的个人笔记。
本章主要分为三部分:编程基础EigenEigen几何模块
其中,Eigen几何模块和可视化演示这一部分现在并未理解,没有解决。

Ubuntu 16.04 安装

见参考链接1.
此链接给出了详细的教程,安装时Ubuntu 16.04很顺利。

失败原因及分析

因为刚开始是用的最新版的UltraISO烧录,出了问题,应该是启动盘没做好
按F12时检测不到启动盘,然后损坏了显卡驱动,无奈重装Windows
重装后重新用老版本烧录后,安装过程没遇到任何问题
并不确定为什么启动盘没烧录好
大家烧录时一定提前多多搜索,别出类似问题!

2.4 实践:编程基础

2.4.2 Hello SLAM

桌面显示

同时按下:Ctrl + Win + d。按下,桌面一片空白;再按一次,桌面恢复原状。

打开指定文件夹或路径

见参考链接2.
但我觉得这个并不是很好用,我习惯右击文件夹后,选择在终端打开.

2.4.3 使用cmake

见参考链接3.
另外附一份Linux下CMake简明教程,以做备用,见参考链接4.

2.4.5 使用IDE——Kdevelop

Kdevelop的安装和汉化见参考链接5.
Kdevelop的简单使用和简单调试见参考链接6.
断点调试这一部分,不是太理解,后续有机会再补充。

将Kdevelop固定到启动器

右击启动器中的Kdevelop选择锁定到启动器

3.2 实践:Eigen

Eigen安装见参考链接7.

遇到的问题

[Error]'cout’was not declared in this scope

见参考链接8.
代码少加了using namespace std;
加上该代码后,就可以直接写cout,而不是std::cout.

部分代码解释

  1. v_3d << 3, 2, 1
    将3,2,1输入v_3d
  2. cout << result2 << endl;
    将result2输出
  3. Eigen::SelfAdjointEigenSolver<Eigen::Matrix3d> eigen_solver ( matrix_33.transpose()*matrix_33 );
    见参考链接9.
    使用Eigen::EigenSolver计算( matrix_33.transpose()*matrix_33 )的特征值和特征向量
  4. x = matrix_NN.colPivHouseholderQr().solve(v_Nd);
    见参考链接10.
    Eigen::ColPivHouseholderQR实现QR分解

3.6 实践:Eigen几何模块

代码注释见参考链接11.

具体代码及原理,并没有理解。

3.7 可视化演示

遇到的问题

fatal error: pangolin/pangolin.h: No such file or directory

Pangolin安装见参考链接12.
讲解的很全面,其中的链接都可以看看。

具体代码及原理,并没有理解。

未解决的问题

  1. Ubuntu下分屏
  2. Kdevelop使用中文注释显示不完整

结尾

这是近期最满意的一篇博客了,尽管最后两节还是理解不了。
之后又得学C++了,之前并没有系统学过。换来换去,有点不适应。该学的总还是得学,跑不了的,早晚的事。
切实体会到《矩阵分析》的重要性,尤其对自己现在的方向。数学学不好,编程都看不懂,也编不出来高质量的自己满意的程序。

另,因为自己啃课本比较费劲,发现B站有些学习视频还是不错,以后会多多关注。

最近状态已经调整好,有空就学点,没空就复习备考。
考完试后,确定会调双目相机,结合实践,应该会成长的快一些。

个人水平有限,有问题欢迎各位大神批评指正!

参考链接

  1. Ubuntu 16.04 安装基础入门教程
    https://jingyan.baidu.com/article/3c48dd348bc005e10be358eb.html
  2. ubuntu怎么进入指定文件夹/更改路径?
    https://jingyan.baidu.com/article/e9fb46e15e86507521f766f6.html
  3. 如何在Ubuntu(LINUX)下安装cmake 和cmake-gui
    https://www.jianshu.com/p/13b28743d7ed
  4. Linux下CMake简明教程
    https://blog.csdn.net/whahu1989/article/details/82078563#commentBox
  5. ubuntu16.04下安装kdevelop和汉化
    https://www.cnblogs.com/feifanrensheng/p/8513122.html
  6. Kdevelop的简单使用和简单调试
    https://blog.csdn.net/qq_27806947/article/details/80119294
  7. ubuntu 16.04 + eigen3 安装(解决 fatal error: Eigen/Core: No such file or directory)
    https://www.cnblogs.com/dinghongkai/p/11308805.html
  8. [Error]'cout’was not declared in this scope
    https://blog.csdn.net/kent_xyli/article/details/90315149
  9. Eigen::EigenSolver< _MatrixType > Class Template Reference
    http://eigen.tuxfamily.org/dox/classEigen_1_1EigenSolver.html
  10. Eigen::ColPivHouseholderQR< _MatrixType > Class Template Reference
    http://eigen.tuxfamily.org/dox/classEigen_1_1ColPivHouseholderQR.html
  11. Eigen 中Geometry (几何模块)
    https://blog.csdn.net/weixin_40353209/article/details/81356034
  12. Pangolin 安装及其使用
    https://blog.csdn.net/c602273091/article/details/65441315
发布了24 篇原创文章 · 获赞 15 · 访问量 5377

猜你喜欢

转载自blog.csdn.net/qq_34122861/article/details/102466306