这是重装系统后第一次泡ORB_SLAM2,把遇到的问题以及解决方法记录一下,方便以后查阅,另外很多人学ORB_slam只是跑个DEMO,并没有去实战应用,现在刚好有一些想法和思路会在这几篇博客进行更新。
平台:ubuntu 16.04
ROS:kinetic
opencv 2.4.9.1(Required at leat 2.4.3. Tested with OpenCV 2.4.11 and OpenCV 3.2**)
摄像头:笔记本自带
安装步骤:
一、驱动摄像头显示图像
$ cd ~/camera_ws/src
$ git clone https://github.com/bosch-ros-pkg/usb_cam
$ cd ..
$ catkin_make
$ source devel/setup.bash
$ roscore
$ roslaunch usb_cam usb_cam-test.launch
记录下显示窗口的topic: /usb_cam/image_raw
二 、编译ORB-SLAM2之前的相关依赖项和库安装
1)安装Boost
$ sudo apt-get install libboost-all-dev2)安装g2o
为了编译g2o需要先安装如下三个库
扫描二维码关注公众号,回复:
947968 查看本文章
$ sudo apt-get install libblas-dev $ sudo apt-get install liblapack-dev $ sudo apt-get install libeigen3-dev $ cd ~/camera_ws/src $ git clone https://github.com/RainerKuemmerle/g2o $ cd ~/camera_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
三、下载ORB_SLAM2 ROS包
$ cd ~/camera_ws/src $ git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2 $ cd ORB_SLAM2 $ chmod +x build.sh $ ./build.sh $ chmod +x build_ros.sh $ ./build_ros.sh
然后执行两个 .sh 重新编译
四、部分安装问题解决
1、没有生成Mono : ./build_ros.sh 没编译成功
2、./build_ros.sh 报错,DSO missing ......
找到 ORB_SLAM2 下的CMakeLists.txt,修改如下 set(LIBS ${OpenCV_LIBS} ${EIGEN3_LIBS} ${Pangolin_LIBRARIES} ${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so ${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so ${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so -lboost_system )
五、运行
1) roscore 2) roslaunch usb_cam usb_cam-test.launch 3) rosrun ORB_SLAM2 Mono /home/zhuoli/camera_ws//src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/zhuoli/camera_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml