ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置

ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置目录

          • 环境:VMware18
          • Linux系统:Ubuntu18.04
      • 提前准备:安装Pangolin、openCV、Eigen库
        • Pangolin安装
        • openCV安装
        • Eigen安装
      • 一、ORB_SLAM2的安装
        • 将ORB_SLAM2包克隆到本地(最好放到本地的ROS工作区里面):
        • 对ORB_SLAM2包进行编译:
        • 在ROS下运行ORB_SLAM2:
      • 三、安装usb_cam
        • 将usb_cam包克隆到ros的工作区里
        • 创建usb_cam的编译文件夹
        • 进行编译
        • 修改usb_cam包里的launch文件的权限
        • 然后到ros工作区注册程序
        • 编译ros工作区
        • 测试相机
        • 启动该相机节点
      • 四、usb_cam+ORB_SLAM2的使用
        • 修改ORB_SLAM2下的./Examples/ROS/ORB_SLAM2/src下的ros_mono.cc文件
        • 再次编译
        • 数据集下载
        • 运行单目实例
        • 配合usb_cam运行

环境:VMware18
Linux系统:Ubuntu18.04

提前准备:安装Pangolin、openCV、Eigen库

  1. Pangolin安装

    从github上克隆到本地:

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

    进入pangolin文件夹,创建并编译文件

    cd Pangolin
    mkdir build
    cd build
    # 配置编译
    cmake -DCPP11_NO_BOOSR=1 ..	
    

    编译Pangolin资源文件

    sudo make -j8	# 看性能,性能好则用-j8,不好则用-j4
    
  2. openCV安装

    见如下博客:https://blog.csdn.net/lk1252793766/article/details/105613723

  3. Eigen安装

    终端输入命令:

    sudo apt-get install libeigen3-dev
    

    Eigen是一个库文件所以一般都可以在/usr/include下找到

准备工作结束,下面开始ORB_SLAM2的安装过程

一、ORB_SLAM2的安装

  1. 将ORB_SLAM2包克隆到本地(最好放到本地的ROS工作区里面):

    终端输入:

    git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
    

    大概44M左右,github的下载、访问较多,可能会比较慢,请耐心等待…
    ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第1张图片

  2. 对ORB_SLAM2包进行编译:

    可以修改build.sh的文件内容,使其编译得更快:

    gedit build.sh
    

    ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第2张图片

    将所有的make -j4修改文make -j8,下面在build_ros.sh的文件也可以做这样的修改。

    然后,给build.sh文件可执行权限:

    chmod +x build.sh
    

    开始编译:

    ./build.sh
    

    ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第3张图片

  3. 在ROS下运行ORB_SLAM2:

    1. 将Eigen库头文件添加到当前ORB_SLAM2文件夹下的CMakeLists.txt文件的include_directories块中:
      ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第4张图片

    2. 修改 ./Examples/ROS/ORB_SLAM2文件夹下的CMakeLists.txt文件中set模块,添加-lboost_system:
      ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第5张图片

    3. 添加环境变量:

      终端输入

      gedit ~/.bashrc
      export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:*ORB_SLAM2包所在路径*/Examples/ROS
      source ~/.bashrc	# 使其立即生效
      
    4. 开始编译:

      编译过程可能会弹出许多代码段,如果没有报错的话就不用管;若是报错的话,就在对应的文件内添加相应的头文件。

      ./build_ros.sh
      

      ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第6张图片

    到这里我们的ORB_SLAM2基本上都安装好了

三、安装usb_cam

  1. 将usb_cam包克隆到ros的工作区里

    git clone https://github.com/bosch-ros-pkg/usb_cam.git
    

    最好克隆到ros工作区的src文件夹下,这里我是重新演示一遍就没clone到那里。

  2. 创建usb_cam的编译文件夹

    cd usb_cam
    mkdir build
    cd build
    
  3. 进行编译

    cmake ..
    make -j8
    

    ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第7张图片

  4. 修改usb_cam包里的launch文件的权限

  5. 然后到ros工作区注册程序

    cd ~/carkin_ws
    source ./devel/setup.bash
    
  6. 编译ros工作区

    ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第8张图片

  7. 测试相机

    在测试前需要将笔记本上的摄像头连接到虚拟机下:
    ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第9张图片

    新开终端,启动ros核心库

    roscore
    

    ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第10张图片

  8. 启动该相机节点

    回到ros工作区下,输入如下命令

    roslaunch usb_cam usb_cam-test.launch
    

    ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第11张图片

    相机启动成功:
    ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第12张图片

四、usb_cam+ORB_SLAM2的使用

  1. 修改ORB_SLAM2下的./Examples/ROS/ORB_SLAM2/src下的ros_mono.cc文件

​ 将注释代码,改为下面的一行代码。

  1. 再次编译

    cd ~/catkin_ws/src/ORB_SLAM2
    ./build_ros.sh
    

    ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第13张图片

  2. 数据集下载

    下载链接:http://vision.in.tum.de/data/datasets/rgbd-dataset/download
    ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第14张图片

  3. 运行单目实例

    ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/likui/mywork/rgbd_dataset_freiburg1_xyz 	# 最后一个参数是自己下载的数据集的位置
    

    结果如下:
    ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第15张图片
    ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第16张图片

  4. 配合usb_cam运行

    打开usb_cam

    roslaunch usb_cam usb_cam-test.launch
    

    开始运行

    rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml
    

    ROS学习——ubuntu18.04上ORB_SLAM2的安装及配置_第17张图片

至此ROS下运行ORB_SLAM2实例,差不多都完成了。

你可能感兴趣的:(嵌入式系统)