ubuntu18 配置ROS环境 运行 ORB-SLAM2

配置环境

Ubuntu18从虚拟机开始配置ROS环境以及相关库的安装
参考此博客:
配置ROS环境

运行ORB-SLAM2

创建工作空间

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

获取orb-slam2

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh

将build.sh文件和build_ros.sh中的make -j改为make
打开ORB_SLAM2文件夹下的下列文件加入头文件代码

#include

Examples/Monocular/mono_euroc.cc
Examples/Monocular/mono_kitti.cc
Examples/Monocular/mono_tum.cc
Examples/RGB-D/rgbd_tum.cc
Examples/Stereo/stereo_euroc.cc
Examples/Stereo/ORB_SLAM2/src/AR/ViewerAR.cc
Examples/Ros/stereo_kitti.cc
src/LocalMapping.cc
src/LoopClosing.cc
src/System.cc
src/Tracking.cc
src/Viewer.cc

修改ORB_SLAM2/Examples/ROS/ORB_SLAM2/文件夹下的CMakeLists.txt文件,在set(LIBS xxxxx 的后面加上下列这一句代码

-lboost_system

如下图所示
ubuntu18 配置ROS环境 运行 ORB-SLAM2_第1张图片
打开/ORB_SLAM2/CMakeLists.txt文件,将find_package(OpenCV …)这行代码中的opencv版本号改成自己安装的opencv版本号,如下图所示
ubuntu18 配置ROS环境 运行 ORB-SLAM2_第2张图片
进入ORB_SLAM2文件夹进行编译

./build.sh

删除ORB_SLAM2文件夹下的build文件夹

mkdir build
cd build
cmake ..
make -j4

再单独编译ROS

 cd ~/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/
 mkdir build
 cd build
 cmake ..
 make -j4

编辑bash文件

sudo  gedit ~/.bashrc

将以下代码添加到文件末尾

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/src/ORB_SLAM2/Examples/ROS

使修改立即生效,在终端输入

source ~/.bashrc

运行数据集
首先执行下面的语句

sudo apt-get install libcanberra-gtk-module

打开链接
数据集下载地址
可以下载这个文件
ubuntu18 配置ROS环境 运行 ORB-SLAM2_第3张图片
解压到你想放数据集的文件夹
进入ORB_SLAM2文件夹,输入以下代码(后半部分填你自己的数据存放位置)

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/ql/dataset/rgbd_dataset_freiburg1_xyz

运行成功
ubuntu18 配置ROS环境 运行 ORB-SLAM2_第4张图片

你可能感兴趣的:(VSLAM,c++)