SLAM 十四讲(第一版)疑难排查
SLAM 十四讲(第一版)疑难排查
记录《SLAM 十四讲(第一版)》学习过程遇到的疑难杂症和排查结果,包括数学上的和编程环境上的,欢迎补充。
0. 使用软件环境
WSL
:windows 下的 linux 子系统,使用 WSL2 的 Ubuntu-18.04 版本MobaXterm
:用来连接 ssh 命令行,带显示功能,可以显示各种可视化结果ROS
:使用 melodic 版本- 教材:视觉SLAM十四讲_第1版(视觉SLAM十四讲:从理论到实践 两版 PDF和源码:https://www.cnblogs.com/zhjblogs/p/14734064.html)
1. WSL、ROS 等环境配置
- 旧版 WSL 的手动安装步骤:https://learn.microsoft.com/zh-cn/windows/wsl/install-manual
- 执行步骤 1-5 然后 “下载发行版” Ubuntu 18.04 更方便
- 在 Ubuntu 中安装 ROS Melodic:http://wiki.ros.org/cn/melodic/Installation/Ubuntu
- Ubuntu 换源:https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.21cb1b11dmiB5Z
- ROS 换源:https://developer.aliyun.com/mirror/ros?spm=a2c6h.13651102.0.0.49d41b11qOAUq3
- windows 10 下利用WSL的Linux环境实现vscode C/C++环境的配置:https://blog.csdn.net/jasneik/article/details/124157155
ch3. 三维空间刚体运动
- 矩阵的运算及其运算规则:http://www2.edu-edu.com.cn/lesson_crs78/self/j_0022/soft/ch0605.html
- 矩阵运算与常用矩阵:https://zhuanlan.zhihu.com/p/362082020
- SLAM 反对称矩阵:https://blog.csdn.net/CSSDCC/article/details/121653596
- 特征值与特征向量:http://www2.edu-edu.com.cn/lesson_crs78/self/j_4184/soft/ch0501.html
ch4. 李群与李代数
- 什么是「齐次」「非齐次」「线性」「非线性」?:https://www.zhihu.com/question/19816504/answer/436003494
- 到底什么是非线性优化?:https://blog.51cto.com/u_14355665/6099228
- 李群和李代数 —— 名字听起来很猛其实也没那么复杂:https://zhuanlan.zhihu.com/p/358455662
- 为啥需要李群与李代数?:https://zhuanlan.zhihu.com/p/166399333
- 如何理解最小二乘法?:https://matongxue.blog.csdn.net/article/details/81127117
- 机器人中的李群和李代数(一)——基础知识:https://zhuanlan.zhihu.com/p/435445206
- 视觉SLAM学习之李群李代数:https://zhuanlan.zhihu.com/p/388778282
ch5. 相机与图像
- 安装 OpenCV 依赖项:sudo apt install build-essential libgtk2.0-dev libvtk6-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev libtbb-dev
- opencv 出错 E: Unable to locate package libjasper-dev:https://blog.csdn.net/qq_41663800/article/details/103411697
- Installation in Linux:https://docs.opencv.org/4.7.0/d7/d9f/tutorial_linux_install.html
ch6. 非线性优化
-
ubantu18.04安装ceres库,出现E: Unable to locate package libcxsparse3.1.2解决方案:https://blog.csdn.net/qq_41667348/article/details/115306914
-
error: no type named ‘Literal’ in ‘struct Eigen::NumTraits<ceres::Jet<double, 2> >:slambook 第一版代码自带的 ceres 库版本过低和 eigens 不匹配,从 github 下载 ceres 2.1.0 源码进行编译安装即可解决,eigens 是 apt install 的 3.3.4
-
使用 g2o 时遇到报错 libg2o_core.so: cannot open shared object file: No such file or directory:https://blog.csdn.net/qq_39779233/article/details/128335576
ch8. 视觉里程计 2
- 第八讲错误2 ‘dict_keys’ object has no attribute ‘remove’:https://blog.csdn.net/weixin_44694952/article/details/104429905
ch9. 实践章:设计前端
- 高翔slam project0.3出现double free or corruption (out)问题解决:https://blog.csdn.net/coc1996/article/details/99702034
ch11. 后端 2
- ubuntu18.04 安装g2o_viewer,遇到的所有坑和解决方法:https://blog.csdn.net/qq_42257666/article/details/124809484
参考链接
《视觉SLAM十四讲》第一版源码slambook编译调试(和本文互补参考,排版较混乱):https://blog.csdn.net/Bonaventure/article/details/122835848