您的位置:首页 > 其它

ubuntu 16.04 x64 ROS kinetic 安装ORB—SLAM

2016-11-04 10:51 531 查看
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文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: