天天看点

视觉SLAM十四讲 学习笔记004视频05

视频05

  • cp slambook/3rdparty/ceres-solver.tar.gz ./
  • 将ceres-solver.tar.gz一起保存到code文件夹下
  • tar -xzvf ceres-solver.tar.gz 解压
  • 安装环境
  • sudo apt-get install libcxsparse3 libsuitesparse-dev libeigen3-dev libgoogle-glog-dev libgtest-dev
  • 视频里libcxsparse3为libcxsparse3.1.4,但我这里找不到3.1.4所以按照libcxsparse3安装的
  • 然后 建立 build文件
  • cmake …=>make -j2
    视觉SLAM十四讲 学习笔记004视频05
  • 报错:
    视觉SLAM十四讲 学习笔记004视频05
/usr/include/eigen3/Eigen/src/Core/util/XprHelper.h:64:8: error: no type named ‘Literal’ in ‘struct Eigen::NumTraits<ceres::Jet<double, 6> >’
 struct promote_scalar_arg<S,T,false> : promote_scalar_arg_unsupported<S,T,typename NumTraits<S>::Literal> {};
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

           

-根据度娘查找,可能是版本不匹配

eigen与slam版本不匹配

  • 查看版本号
  • pkg-config --modversion eigen3

    3.3.4

有人说不需要重装EIGEN,所以先试试这个

视觉SLAM十四讲 学习笔记004视频05
  • 找到1.14.0版本
视觉SLAM十四讲 学习笔记004视频05

安装依赖

sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev
           

解压

tar -zxvf ceres-solver-1.14.0.tar.gz 
cd ceres-solver-1.14.0/
mkdir build
cd build/
cmake ..
make
sudo make install
           
ls /usr/local/include/ceres/
           

能看到头文件

视觉SLAM十四讲 学习笔记004视频05
ls /usr/local/lib/

           

能看到libceres.a文件

视觉SLAM十四讲 学习笔记004视频05

接下来安装g2o

cp slambook/3rdparty/g2o.tar.gz  ./
tar -xzvf g2o.tar.gz 
mkdir build
cmake ..
           
sudo apt-get install libqt4-dev libqglviewer-dev-qt4 libcholmod3
           

视频中要求的是libqglviewer-dev 但我这里没有,只能换成了libqglviewer-dev-qt4

sudo apt-get install libqt4-dev qt4-qmake 

           

依然报错:

-- Could NOT find QGLVIEWER (missing: QGLVIEWER_LIBRARY) 
           

依然前一个博主的一篇踩坑日记

依然报错:

Could NOT find QGLVIEWER (missing: QGLVIEWER_LIBRARY) 
           

找了一个新的方法

十、安装优化库:G2O、GTSAM和Ceres

sudo apt-get install libqglviewer-dev-qt5

           

用这个方法,似乎没报错了

但到make -j2时,又有提示了:

报错:

EIGEN_DEPRECATED const unsigned int AlignedBit = 0x80;

见第6个坑

具体等发现这个坑避不过去了再处理吧

cd ../../slambook/ch6/ceres_curve_fit
mkdir build
cd build
cmake ..
make
./curve_fitting
           

能看到仿真的数据

视觉SLAM十四讲 学习笔记004视频05
  • 继续g2o编译
  • sudo make install
cd slambook/ch6/g2o_curve_fitting/
mkdir build 
cd build
cmake ..
make
./curve_fitting 
           

也能看到数据

视觉SLAM十四讲 学习笔记004视频05

继续阅读