做了个SLAM的小视频,有兴趣的朋友可以看下
1)Library depended
一个完整的SLAM系统包括,数据流获取,数据读取,特征提取,特征匹配,POSE恢复,回环检测,全局优化,数据可视化,系统界面等,基于此列出SLAM系统所需依赖的库,同时会发布各个库的编译方式以及对各个库联合编译时出现的问题提出解决方案。
Eigen
Eigen库有效支持线性代数,矩阵和矢量运算,数值分析及其相关的算法
Eigen 3.0, Download website: http://eigen.tuxfamily.org/index.php?title=Main_Page
G2o
用于SLAM全局优化
G2o, Download website: https://openslam.org/g2o.html
Opencv
用于图像读取,矩阵运算
Opencv3.1, Download website: http://opencv.org/
SiftGPU
用于特征提取和匹配
SiftGPU, Download website: http://cs.unc.edu/~ccwu/siftgpu/
VTK
数据可视化以及界面操作
VTK7.0.0, Download website: http://www.vtk.org/download/
PCL
点云ICP算法,segment算法,cluster算法等
PCL1.7.2, Download website: http://pointclouds.org/downloads/windows.html
OpenNI
与PCL配合使用,Kinect数据获取
Attached with PCL library
QT
用于界面绘制
QT5.7+ qt-vs-addin, Download website: https://www.qt.io/qt5-7/
2)编译及配置
(1) Eigen
Eigen库直接下载即可,不需要配置,可将其放在程序目录下
(2)G2O
(3)PCL配置
从以下网址下载所需版本的PCL安装包,http://unanancyowen.com/?p=1255&lang=en,经测试1.7.2+vs2013是比较稳定的配置。下载安装之后配置环境变量
PCL_ROOT | C:Program FilesPCL 1.7.2 (or C:Program Files (x86)PCL 1.7.2) |
Path |
;%PCL_ROOT%in ;%PCL_ROOT%3rdPartyqullin ;%PCL_ROOT%3rdPartyflannin |