Nvidia Xavier NX安装ORB-SLAM2
前言
为了新手更好地理解安装过程,全程避免使用脚本(即.sh文件)
提示:以下是本篇文章正文内容
一、安装依赖
1 安装git工具
(正常来说这个工具自带的有,若没有可通过下面命令下载)
sudo apt-get install git
2 下载并安装 OpenCV
git clone https://github.com/opencv/opencv.git opencv
(可以通过命令下载,也可以去自己下载安装包,教程很多)
cd opencv (进入下载好的opencv包)
mkdir build(建立build文件)
cd build (进入build文件夹)
终端输入:(编译过程,其中标黄部分需要注意)
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/home/nvidia/Project/opencv3413 -D BUILD_PNG=OFF -D BUILD_TIFF=OFF -D BUILD_TBB=OFF -D BUILD_JPEG=OFF -D BUILD_JASPER=OFF -D BUILD_ZLIB=OFF -D BUILD_EXAMPLES=ON -D BUILD_opencv_java=OFF -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=OFF -D ENABLE_PRECOMPILED_HEADERS=OFF -D WITH_OPENCL=OFF -D WITH_OPENMP=OFF -D WITH_FFMPEG=ON -D WITH_GSTREAMER=ON -D WITH_GSTREAMER_0_10=OFF -D WITH_CUDA=ON -D WITH_GTK=ON -D WITH_VTK=OFF -D WITH_TBB=ON -D WITH_1394=OFF -D WITH_OPENEXR=OFF -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 -D CUDA_ARCH_BIN=7.2 -D CUDA_ARCH_PTX=“” -D INSTALL_C_EXAMPLES=ON -D INSTALL_TESTS=ON -D OPENCV_TEST_DATA_PATH=…/opencv_extra/testdata -D WITH_LAPACK=OFF …
第一个标黄部分:安装opencv的位置,自行设定,设定后记住位置后面需要用到
第二个标黄部分:安装过程中会需要与之相关的错误,若遇到,按照下面操作即可
打开opencv/build/data/cmake_install.cmake文件
将73行注释:
file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/OpenCV/testdata" TYPE DIRECTORY FILES "/home/nvidia/Project/opencv-3.4.13/…/opencv_extra/testdata/")
接下来:
make -j4
sudo make install
至此,opencv安装完成
3 下载并安装 Pangolin
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
cmake --build .
(问题不大,安装过程中没遇到什么问题)
4 下载并安装 Eigen3、PCL
正常情况下这两个会系统自带,不需要安装
二、安装ORB-SLAM2
1 官网安装
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh
2 本人:分步安装(更好理解)
若下面make过程中出现卡顿等现象,可以修改为 make -j1
(1)在ORB_SLAM2-master文件夹下执行 安装DBoW2
cd Thirdparty/DBoW2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j
(2)在ORB_SLAM2-master文件夹下执行 安装g2o
cd Thirdparty/g2o
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j
(3)在ORB_SLAM2-master文件夹下执行 解压Vocabulary
cd Vocabulary
tar -xf ORBvoc.txt.tar.gz
(4)在ORB_SLAM2-master文件夹下执行
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j1
(上述部分是build.sh脚本中执行的内容)
在执行上面操作过程中不记得那个步骤提示“找不到opencv”,需要进行修改:
打开ORB_SLAM2-master/CMakeLists.txt文件
在find_package(OpenCV 3.4.13 QUIET)上方加上
set(OpenCV_DIR /home/nvidia/路径/share/OpenCV) 即之前下载安装opencv时候提示过的黄色部分
(下面部分是build_ros.sh脚本中执行的内容)
(5)在ORB_SLAM2-master文件夹下执行
cd Examples/ROS/ORB_SLAM2
mkdir build
cd build
cmake .. -DROS_BUILD_TYPE=Release
make -j
!!! 这里会出现报错
[rosbuild] rospack found package “ORB_SLAM2“ at ““
通过以下方式解决:
解决方法一:
sudo vim ~/.bashrc
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/nvidia/ORB_SLAM2-master/Examples/ROS
source ~/.bashrc
(网上能找到的通用方法,但本人尝试很多次后没有效果,有效果的同志可以留言说一下)
解决方法二:
cd /opt/ros/melodic/
sudo vim setup.bash
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/nvidia/ORB_SLAM2-master/Examples/ROS
source setup.bash
(亲测有效)
测试是否添加成功两种方式
1、roscd ORB_SLAM2
2、echo $ROS_PACKAGE_PATH
另外,操作过程中仍可能会提示找不到opencv,与上面同样的道理
打开ORB_SLAM2-master/Examples/ROS/ORB_SLAM2/CMakeLists.txt
在find_package(OpenCV 3.4.13 QUIET)上方加上
set(OpenCV_DIR /home/nvidia/路径/share/OpenCV) 即之前下载安装opencv时候提示过的黄色部分
总结
本文主要讲述了在nvidia xavier nx上安装ORB-SLAM2的过程,包含所遇到的问题及解决方案,可能存在记忆缺失等情况导致记录不完全,大家多多包涵,有问题私信或评论都可以,我会尽快回复