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.launch4、编译ORB-SLAM2之前的相关依赖项和库安装
1)安装Boost
$ sudo apt-get install libboost-all-dev2)安装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 install3 ) 安装 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 install5、下载ORB_SLAM2 ROS包
$ cd ~/orbslam_ws/src $ git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM26、编译ORB_SLAM2
1) 编译DBoW2
cd ~/orbslam_ws/src/ORB_SLAM2/Thridparty/DBoW2 mkdir build cmake .. make2) 编译ORB_SLAM2
cd catkin_ws/src/ORB_SLAM2 mkdir build cd build cmake .. make3) 编译ROS的example
cd ~/catkin_ws/src/ORB_SLAM2/Example/ROS/ORB_SLAM2 mkdir build cd build cmake .. make7、修改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)第一个终端
roscore2) 第二个终端
roslaunch usb_cam usb_cam-test.launch3)第三个终端
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.yaml9、ORB_SLAM2初始化
主要操作:左右平移摄像头,最后可以看到类似下图的效果