您的位置:首页 > 其它

ubuntu 16.04 x64 ROS kinetic 安装ORB—SLAM

2018-03-28 11:34 483 查看
1、g2o (included)
     We use g2o to perform several optimizations. We include a modified copy of the library including only the components we need and also some changes that are listed inThirdparty/g2o/Changes.txt. In order to compile g2o you will need to have installed CHOLMOD, BLAS, LAPACK and Eigen3.

    sudo apt-get install libsuitesparse-dev
    sudo apt-get install libblas-dev
    sudo apt-get install liblapack-dev 

    注意:在安装eigen3这个库的时候请用下面这个版本:
    https://launchpad.net/ubuntu/trusty/amd64/libeigen3-dev/3.2.0-8  
    找到libeigen3-dev_3.2.0-8_all.deb这个deb下载下来,然后在下载的目录下:
        sudo dpkg -i libeigen3-dev_3.2.0-8_all.deb
    在编译ORB-slam这个包的时候会报错,这里是第一个坑

2、确定你安装了一下库和依赖 (boost, eigen3, cholmod, blas, lapack).
  2.0下载ORB的包 git clone https://github.com/raulmur/ORB_SLAM.git ORB_SLAM
  2.1添加系统路径:
    cd ~
    gedit .bashrc
    在.bashrc文件的最后一行加入:
    export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/robot3/ORB_SLAM-master(2.0中你的ORB的包文件路径)添加完毕,关闭.bashrc
    source .bashrc注意:如果你直接将ORB—slam这个包放到ros打工作空间下,就不用2.1这一步了!!!
  2.2 Build g2o. Go into Thirdparty/g2o/ and execute:

    cd ORB_SLAM-master/Thirdparty/g2o/
    mkdir build
    cd build
    cmake .. -DCMAKE_BUILD_TYPE=Release
    make 

   2.3 Build DBoW2. Go into Thirdparty/DBoW2/ and execute:
    cd ORB_SLAM-master/Thirdparty/DBoW2/
    mkdir build
    cd build
    cmake .. -DCMAKE_BUILD_TYPE=Release
    make (如果未安装OpenCV,首先编译OpenCV) 

    2.4 Build ORB_SLAM. In the ORB_SLAM root execute:
    
这里需要打开manifest.xml,然后注释掉对opencv2的依赖,注释完如下:
<package>
  <description brief="ORB_SLAM">

     ORB_SLAM

  </description>
  <author>Raul Mur-Artal</author>
  <license>GPLv3</license>
  <depend package="roscpp"/>
  <depend package="tf"/>
  <depend package="sensor_msgs"/>
  <!--depend package="OpenCV"-->
  <depend package="image_transport"/>
  <depend package="cv_bridge"/>

</package>
(这是第二个坑)

然后打开src/ORBextractor.cc这个文件,在开头添加#include <opencv2/opencv.hpp>,因为我的系统找不到下面两个opencv的头文件(这是第三个坑),下面正常编译就可以了:
                 
    cd ORB_SLAM-master/
    mkdir build
    cd build
    cmake .. -DROS_BUILD_TYPE=Release
    make

结果:
[  0%] Built target rospack_genmsg_libexe
[  0%] Built target rosbuild_precompile
Scanning dependencies of target ORB_SLAM-master
[  5%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/main.cc.o
[ 10%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/Tracking.cc.o
[ 15%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/LocalMapping.cc.o
[ 21%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/LoopClosing.cc.o
[ 26%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/FramePublisher.cc.o
[ 31%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/Converter.cc.o
[ 36%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/KeyFrame.cc.o
[ 42%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/Optimizer.cc.o
[ 47%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/PnPsolver.cc.o
[ 52%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/Frame.cc.o
[ 57%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/KeyFrameDatabase.cc.o
[ 63%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/Sim3Solver.cc.o
[ 68%] Building CXX object CMakeFiles/ORB_SLAM-master.dir/src/Initializer.cc.o
[ 73%] Linking CXX executable ../bin/ORB_SLAM-master
[100%] Built target ORB_SLAM-master
说明OK了~~~

3.2 测试数据集准备

        http://webdiis.unizar.es/~raulmur/orbslam/downloads/Example.bag.tar.gz         上面的链接为测试数据集的下载链接,可以下下着,比较大了,会很慢。。       下载完解压 得到Example.bag文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: