我在编译过程中主要参考了以下几篇博客:
Ubuntu16.04编译高博的ORBSLAM2_with_pointcloud_map_Andyoyo007的博客-CSDN博客编译高博ORBSLAM2_with_pointcloud_map,用TUM数据集测试。_Seven的博客-CSDN博客
编译安装高翔的ORBSLAM2_with_pointcloud_map,获取点云地图_站在巨人的肩膀上coding-CSDN博客_高翔orbslam2
1、下载源代码
git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map.git
2、将其中的压缩包解压,将压缩包中的ORB_SLAM2_modified用原来的根目录下的ORB_SLAM2_modified来代替。
3、编译安装g20_with_orbslam2并对一些常见的错误进行处理
1) 修改 g2o_with_orbslam2/CMakeLists.txt ,注释如下代码:
2)修改 2)g2o_with_orbslam2/g2o/CMakeLists.txt ,注释如下代码:
3)报错1
解决:修改 g2o_with_orbslam2/g2o/types/slam2d/edge_se2_pointxy_bearing.cpp
将
t.setRotation(t.rotation().angle()+_measurement);
改为
t.setRotation((Eigen::Rotation2Dd)(t.rotation().angle()+_measurement));
4)报错
解决:修改g2o_with_orbslam2/g2o/solvers/eigen/linear_solver_eigen.h(注意:eigen3.2.8不用修改此处,以上版本需修改,如3.3.7) 我的eigen版本 3.3.7 。
将
typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, SparseMatrix::Index> PermutationMatrix;
改为
typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, SparseMatrix::StorageIndex> PermutationMatrix;
5)安装成功
4、编译ORB_SLAM2_modified
暂时还没有编译出来hh