一、首先安装orbslam2
下载源码https://github.com/raulmur/ORB_SLAM21. 安装C++11编译器
$sudo apt-get install gcc g++
2.安装Pangolin
$ sudo apt-get install libglew-dev #安装Glew$ sudo apt-get install cmake #安装CMake
#安装Boost
$ sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
$ sudo apt-get install libpython2.7-dev #安装Python2 / Python3
#下载、编译、安装Pangolin:
$ git clone https://github.com/stevenlovegrove/Pangolin.git
$ cd Pangolin
$ mkdir build
$ cd build
$ cmake -DCPP11_NO_BOOST=1 ..
$ make
$ sudo make install
3. 安装OpenCV 2.4.13
若需要GPU加速(使用cuda8.0,cuda8.0以前的版本不支持GTX1080),则需要安装OpenCV 2.4.13)$ sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev
$ unzip opencv-2.4.13.zip
$ cd opencv-2.4.13;mkdir build;cd build;
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -DINSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -DBUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -DCUDA_GENERATION=Kepler ..
$ make
$ sudo make install
设置opencv
$ sudo gedit /etc/ld.so.conf.d/opencv.conf
#在其中写入: /usr/local/lib
$ sudo ldconfig
$ sudo gedit /etc/bash.bashrc
#在文件末尾写入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
#source此脚本
$ source /etc/bash.bashrc
4.安装Eigen3.1.0
$ sudo apt-get install libeigen3-dev
5.BLAS and LAPACK
$ sudo apt-get install libblas-dev
$ sudo apt-get install liblapack-dev
6. DBoW2 and g2o (Included in Thirdparty folder)
ORB_SLAM2使用修改版的DBoW2 库进行位置识别 ,使用 g2o 库进行非线性优化. 这两个修改版的库被放在第三方文件夹内.将在下一步操作中的.sh文件中自动安装。
7. 编译ORB_SLAM2库和例子程序
$ git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
$ cd ORB_SLAM2
$ chmod +x build.sh
$ ./build.sh
生成的libORB_SLAM2.so位于lib目录下,可执行程序mono_tum, mono_kitti, rgbd_tum, stereo_kitti, mono_euroc and stereo_euroc位于Examples目录下。
上述安装方法参考http://blog.youkuaiyun.com/myarrow/article/details/53045405,如需测试程序请参阅。
二、安装稠密orb
下载源码https://github.com/chaizheng2157/RGBD_ORB_SLAM2_RT
1.安装pcl
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all
2.安装openni2
$ git clone https://github.com/occipital/OpenNI2
按照README.md里“### Linux”部分的要求安装依赖项
$ cd OpenNI2
$make
之后安装:
到Packaging文件夹,运行
ReleaseVersion.py [x86|x64|arm|Android]
如果是x86就$./ReleaseVersion.py x86,如果是x64就$./ReleaseVersion.py x64
完成后就会在Final文件夹生成安装包,解压该包,运行$sudo ./install.sh,此时会在同文件夹生成一个OpenNIDevEnvironment文件。
运行
$cat OpenNIDevEnvironment >> ~/.bashrc
即完成安装。
重新回到ORB_SLAM2_modified文件夹,新建.\cmake_modules\FindOpenNI2.cmake
内容为:
CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) #CMAKE版本要求MESSAGE(STATUS "USING BUNDLED FindOpenNI2.cmake ...")
FIND_PATH(OPENNI2_INCLUDE_DIR NAMES XnCppWrapper.h
PATHS
/usr/include/ni
)
FIND_LIBRARY(OPENNI2_LIBRARY_DIR NAMES OpenNI2
PATHS
/usr/lib
)
3.安装g2o
$cd g2o_with_orbslam2
$mkdir build
$cd build
$cmake ..
$make
$sudo make install #如果你已经安装了g2o,不想修改系统里的g2o,那么需要按照以下内容修改:
需要在g2o_with_orbslam2/CMakeLists.txt中的
INSTALL(FILES ${PROJECT_BINARY_DIR}/g2o/config.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/g2o)
的前面加一行
SET(CMAKE_INSTALL_PREFIX "你想安装的位置")
你可以安装在".../RGBD_ORB_SLAM2/orb_slam_rgbd/ORB_SLAM2_modified/Thirdparty"
还需要修改.../RGBD_ORB_SLAM2/orb_slam_rgbd/ORB_SLAM2_modified/cmake_modules/FindG2O.cmake
将:
FIND_PATH(G2O_INCLUDE_DIR g2o/core/base_vertex.h
${G2O_ROOT}/include
$ENV{G2O_ROOT}/include
$ENV{G2O_ROOT}
/usr/local/include
/usr/include
/opt/local/include
/sw/local/include
/sw/include
NO_DEFAULT_PATH
)
修改为
FIND_PATH(G2O_INCLUDE_DIR g2o/core/base_vertex.h
.../RGBD_ORB_SLAM2/orb_slam_rgbd/ORB_SLAM2_modified/Thirdparty(你的G2O安装位置)
)
多个FIND_LIBRARY都删除,替换为
FIND_LIBRARY(${MYLIBRARY}
NAMES "g2o_${MYLIBRARYNAME}"
PATHS
$.../RGBD_ORB_SLAM2/orb_slam_rgbd/ORB_SLAM2_modified/Thirdparty(你的G2O安装位置)
)
4.编译ORB_SLAM2_modified
$cd ORB_SLAM2_modified
$mkdir build
$cd build
$cmake ..
$make
参考RGBD_ORB_SLAM2/README.md