zoukankan      html  css  js  c++  java
  • ubuntu 14.04调试ORBSLAM2

    1  具备的条件:

    (1)ubuntu 14.04

    (2)ROS indigo(可选)


    2  安装依赖

    (1)Pangolin:https://github.com/stevenlovegrove/Pangolin

    安装依赖:

    sudo apt-get install libglew-dev

    sudo apt-get install cmake

    sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev

    sudo apt-get install libpython2.7-dev

    安装Pangolin:

    git clone https://github.com/stevenlovegrove/Pangolin.git

    cd Pangolin

    mkdir build

    cd build

    cmake -DCPP11_NO_BOOSR=1 ..

    make -j

    (2)OpenCV:http://opencv.org/(我使用的是OpenCV 2.4.10)

    安装步骤:参考:http://blog.csdn.net/csqingchen/article/details/43968925

    (3)Eigen3:http://eigen.tuxfamily.org/

    直接在终端:sudo apt-get install libeigen3-dev

    (4)BLAS and LAPACK

    安装步骤:

        sudo apt-get install libblas-dev

        sudo apt-get install liblapack-dev


    3  安装ORB-SLAM2

      git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2(我直接放在Home文件夹下)

      cd ORB_SLAM2

      chmod +x build.sh

      ./build.sh

        碰到问题:

    找不到<Eigen/Core>,但是eigen3已经安装,

    解决——运行指令:sudo ln -s /usr/include/eigen3/Eigen /usr/local/include/Eigen


    4  下载并运行TUM(慕尼黑工业大学)的数据集

    目前为止,我实际跑了单目、RGB-D的一个数据集作为调试用。

    下载TUM的数据集:http://vision.in.tum.de/rgbd/dataset/freiburg1/rgbd_dataset_freiburg1_xyz.tgz

    解压放到~/ORB_SLAM2/Examples下

    运行单目的指令:Monocular Examples TUM Dataset

    cd ~/ORB_SLAM2/

      ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml Examples/rgbd_dataset_freiburg1_xyz

    运行RGB-D的指令: RGB-D Example TUM Dataset

          cd ~/ORB_SLAM2/

    ./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml Examples/rgbd_dataset_freiburg1_xyz Examples/RGB-D/associations/fr1_xyz.txt

    以上均不需要ROS,在ubuntu 14.04下就能实现。

    继续跑TUM(慕尼黑工业大学)的数据集:

    初始化失败的数据集:(不完全统计)

    rgbd_dataset_freiburd1_floor

    rgbd_dataset_freiburd2_pioneer_slam

    rgbd_dataset_freiburd3_nostructure_notexture_near_withloop


     5  在ROS下跑ORB-SLAM2,使用外接摄像机

    (1)安装ROS indigo,

    (2)到路径Examples/ROS/ORB_SLAM2下,执行:

    mkdir build
    cd build
    cmake .. -DROS_BUILD_TYPE=Release
    make -j

    完成了ROS indigo下ORB-SLAM2的调试,使用的是索尼的PS3摄像机,效果不错。

    ORB-SLAM2的ROS节点,以双目为例,在路径: path/to/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src的ros_stereo.cc中,可以看到订阅左右摄像机的Topic:

        message_filters::Subscriber<sensor_msgs::Image> left_sub(nh, "/stereo/left/image_raw", 1);
        message_filters::Subscriber<sensor_msgs::Image> right_sub(nh, "/stereo/right/image_raw", 1);

    发布对应的Tocpic上,就能够运行ORB-SLAM2的Stereo版。

    (3)基于VSLAM的四旋翼飞行器自主悬停控制

     


     6  后记

    按理说,下载作者开源代码(https://github.com/raulmur/ORB_SLAM2),根据README的说明安装依赖关系,一步一步按照说明进行下去,顺利的话就能完成。一开始,我是在ubuntu 12.04.5上进行,Map Viewer不能显示内容,一直是黑屏,尝试解决未果,并在运行sudo autoremove的时候,破坏了ubuntu系统。后来,转到ubuntu 14.04.3+indigo上继续搞。在ubuntu12.04上搞的时候,碰到的问题、解决的问题其实更多,但是最后Map Viewer的问题没能解决,不做记录,但欢迎交流。

    发表的相关论文:

    [1] 林辉灿, 吕强, 张洋, 等. 稀疏和稠密的VSLAM的研究进展[J]. 机器人, 2016, 38(5): 621-631.

       http://robot.sia.cn/CN/Y2016/V38/I5/621

       CNKI

    [2] 林辉灿, 吕强, 卫恒, 等. 基于VI-SLAM的四旋翼自主飞行与三维稠密重构[J]. 光学学报,2018,38(07):0715004.

      http://kns.cnki.net/KCMS/detail/31.1252.O4.20180312.0927.054.html

      http://www.opticsjournal.net/Articles/HPAbstract?manu_number=g180489

    [3] 林辉灿, 吕强, 王国胜, 等. 鲁棒的非线性优化的立体视觉-惯导SLAM[J]. 机器人, 2018, 40(6).

      http://kns.cnki.net/KCMS/detail/21.1137.TP.20180514.1838.002.html


    其它参考:http://blog.csdn.net/aptx704610875/article/details/51490201 

  • 相关阅读:
    SpringMVC 工作流程
    zookeeper
    Zookeeper
    HashMap
    Shiro learning
    Shiro learning
    Shiro learning
    Easy Poi入门
    Enum枚举学习- java5之前和之后的写法
    linux命令行todo列表管理工具Taskwarrior介绍
  • 原文地址:https://www.cnblogs.com/huicanlin/p/5265477.html
Copyright © 2011-2022 走看看