前言
主要针对 《视觉SLAM十四讲 从理论到实践》 前三章 实践部分 做的个人笔记。
本章主要分为三部分:编程基础,Eigen 和 Eigen几何模块 。
其中,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
.
部分代码解释
v_3d << 3, 2, 1
将3,2,1输入v_3dcout << result2 << endl;
将result2输出Eigen::SelfAdjointEigenSolver<Eigen::Matrix3d> eigen_solver ( matrix_33.transpose()*matrix_33 );
见参考链接9.
使用Eigen::EigenSolver计算( matrix_33.transpose()*matrix_33 )的特征值和特征向量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.
讲解的很全面,其中的链接都可以看看。
具体代码及原理,并没有理解。
未解决的问题
- Ubuntu下分屏
- Kdevelop使用中文注释显示不完整
结尾
这是近期最满意的一篇博客了,尽管最后两节还是理解不了。
之后又得学C++了,之前并没有系统学过。换来换去,有点不适应。该学的总还是得学,跑不了的,早晚的事。
切实体会到《矩阵分析》的重要性,尤其对自己现在的方向。数学学不好,编程都看不懂,也编不出来高质量的自己满意的程序。
另,因为自己啃课本比较费劲,发现B站有些学习视频还是不错,以后会多多关注。
最近状态已经调整好,有空就学点,没空就复习备考。
考完试后,确定会调双目相机,结合实践,应该会成长的快一些。
个人水平有限,有问题欢迎各位大神批评指正!
参考链接
- Ubuntu 16.04 安装基础入门教程
https://jingyan.baidu.com/article/3c48dd348bc005e10be358eb.html - ubuntu怎么进入指定文件夹/更改路径?
https://jingyan.baidu.com/article/e9fb46e15e86507521f766f6.html - 如何在Ubuntu(LINUX)下安装cmake 和cmake-gui
https://www.jianshu.com/p/13b28743d7ed - Linux下CMake简明教程
https://blog.csdn.net/whahu1989/article/details/82078563#commentBox - ubuntu16.04下安装kdevelop和汉化
https://www.cnblogs.com/feifanrensheng/p/8513122.html - Kdevelop的简单使用和简单调试
https://blog.csdn.net/qq_27806947/article/details/80119294 - ubuntu 16.04 + eigen3 安装(解决 fatal error: Eigen/Core: No such file or directory)
https://www.cnblogs.com/dinghongkai/p/11308805.html - [Error]'cout’was not declared in this scope
https://blog.csdn.net/kent_xyli/article/details/90315149 - Eigen::EigenSolver< _MatrixType > Class Template Reference
http://eigen.tuxfamily.org/dox/classEigen_1_1EigenSolver.html - Eigen::ColPivHouseholderQR< _MatrixType > Class Template Reference
http://eigen.tuxfamily.org/dox/classEigen_1_1ColPivHouseholderQR.html - Eigen 中Geometry (几何模块)
https://blog.csdn.net/weixin_40353209/article/details/81356034 - Pangolin 安装及其使用
https://blog.csdn.net/c602273091/article/details/65441315