1。在github下载工程文件
git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map
2。解压缩得到2个文件,与ORB_SLAM2_modified合并到同一个文件夹
3。编译g2o_with_orbslam2
cd g2o_with_orbslam2
mkdir build
cmake ..
make
----当遇到编译错误时,作如下修改:
(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));
(2)/g2o_with_orbslam2/g2o/solvers/eigen/linear_solver_eigen.h
//typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, SparseMatrix::Index> PermutationMatrix;
typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, SparseMatrix::StorageIndex> PermutationMatrix;
4。进入/ORB_SLAM2_modified文件夹
chmod +x build.sh
./build.sh
--如果遇见DBoW2和g2o错误,例如报optimizer.cc未引用或者指针错误,作如下修改:
进入Thirdparty文件下,删除DBoW2和g2o里面的build文件
回到/ORB_SLAM2_modified文件夹,重新编译:./build.sh
5。(图例)