ORB-SLAM2的安装和使用

1、软硬件

  1)软件--装有ROS kinetic ubuntu 16.04  同时兼容  ROS Indigo ubuntu 14.04

  2)硬件--笔记本、笔记本自带摄像头(或者淘宝上十几块钱的USB摄像头)


2、建立orbslam_ws工作空间

cd ~/rgbdslam_ws/src  
wget -q http://github.com/felixendres/rgbdslam_v2/archive/kinetic.zip  
unzip -q kinetic.zip  
cd ~/rgbdslam_ws/  

3、驱动摄像头显示图像

$ cd ~/orbslam_ws/src
$ git clone https://github.com/bosch-ros-pkg/usb_cam
$ cd ..
$ catkin_make
$ source devel/setup.bash
打开一个终端
$ roscore
打开另一个终端
$ cd ~/orbslam_ws
$ source devel/setup.bash
$ roslaunch usb_cam usb_cam-test.launch
4、编译ORB-SLAM2之前的相关依赖项和库安装

1)安装Boost

$ sudo apt-get install libboost-all-dev 
2)安装g2o
为了编译g2o需要先安装如下三个库

$ sudo apt-get install libblas-dev
$ sudo apt-get install liblapack-dev
$ sudo apt-get install libeigen3-dev
下载并编译g2o
$ cd ~/orbslam_ws/src
$ git clone https://github.com/RainerKuemmerle/g2o
$ cd ~/orbslam_ws/src/g2o
$ mkdir build 
$ cmake ..
$ make 
$ sudo make install
3 ) 安装 Pangolin

$ sudo apt-get install libglew-dev   #安装Glew
$ sudo apt-get install cmake         #安装CMake
$ sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev  #安装Boost
$ sudo apt-get install libpython2.7-dev  #安装Python2'Python3
下载、编译、安装Pangolin:
$ cd ~/orbslam_ws/src
$ git clone https://github.com/stevenlovegrove/Pangolin.git
$ cd Pangolin
$ mkdir build
$ cd build
$ cmake -DCPP11_NO_BOOST=1 ..
$ make
$ sudo make install

上述步骤如若在执行make的过程中出现以下错误,如下图红框圈出所示:

可以用如下方法解决:打开Pangolin文件夹下的/home/ljl/visionslam_ws/src/Pangolin/CMakeModules/FindLibRealSense.cmake文件,删除一行并增加一行

    PATH_SUFFIXES librealsense)
#add a hint so that it can find it without the pkg-config
find_library(LIBREALSENSE_LIBRARY
    NAMES librealsense.so
    HINTS /usr/lib /usr/local/lib )

  set(LIBREALSENSE_INCLUDE_DIRS ${LIBREALSENSE_INCLUDE_DIR})    --去掉该行
  string(REPLACE "/librealsense" "" LIBREALSENSE_INCLUDE_DIRS ${LIBREALSENSE_INCLUDE_DIR})   --增加该行
  set(LIBREALSENSE_LIBRARIES ${LIBREALSENSE_LIBRARY})

include(FindPackageHandleStandardArgs)

上述修改完成后,再次进入终端输入

$ make
$ sudo make install

5、下载ORB_SLAM2  ROS包

$ cd ~/orbslam_ws/src
$ git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
6、编译ORB_SLAM2

1) 编译DBoW2

cd ~/orbslam_ws/src/ORB_SLAM2/Thridparty/DBoW2
mkdir build 
cmake ..
make
2)  编译ORB_SLAM2
cd catkin_ws/src/ORB_SLAM2
mkdir build 
cd build 
cmake ..
make 
3)  编译ROS的example
cd ~/catkin_ws/src/ORB_SLAM2/Example/ROS/ORB_SLAM2
mkdir build
cd build
cmake ..
make 
7、修改ros_mono.cc

进入~/orbslam_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src 
打开 ros_mono.cc 把程序里面的topic改为 /usb_cam/image_raw 
具体还要查看自己的rviz(即上一步打开的摄像头窗口的标题) 
然后进入~/orbslam_ws/src/ORB_SLAM
8、启动

1)第一个终端

roscore
2) 第二个终端

roslaunch usb_cam usb_cam-test.launch
3)第三个终端

rosrun ORB_SLAM2 Mono  /home/ljl/visionslam_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt  /home/ljl/visionslam_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml
9、ORB_SLAM2初始化

    主要操作:左右平移摄像头,最后可以看到类似下图的效果






 
 
 
 
 

猜你喜欢

转载自blog.csdn.net/zhuoyueljl/article/details/78524602