ORB-SLAM2编译运行

源码地址

源码链接:git clone https://github.com/raulmur/ORB_SLAM2.git

电脑配置

Ubuntu 18.04 + ROS Melodic + GTSAM 4.0.2 + CERES 1.14.0
pcl1.8+vtk8.2.0+opencv3.2.0

环境配置

之前已经配置过VINS-MOON的环境(可参考之前的博客)

编译

 cd ~/catkin_ws/src
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 <unistd.h>
#include <stdio.h>
#include <stdlib.h>
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/stereo_kitti.cc
Examples/Stereo/ORB_SLAM2/src/AR/ViewerAR.cc
Examples/Ros/stereo_kitti.cc
Examples/ROS/ORB_SLAM2/src/AR/ViewerAR.cc
src/Converter.cc
src/Frame.cc
src/FrameDrawer.cc
src/Initializer.cc
src/KeyFrame.cc
src/KeyFrameDatabase.cc
src/LocalMapping.cc
src/LoopClosing.cc
src/Map.cc
src/MapDrawer.cc
src/MapPoint.cc
src/Optimizer.cc
src/ORBextractor.cc
src/ORBmatcher.cc
src/PnPsolver.cc
src/Sim3Solver.cc
src/System.cc
src/Tracking.cc
src/Viewer.cc

添加原因:
(遇到同样的错误,可以添加头文件)
在这里插入图片描述

参考链接:https://blog.csdn.net/Robert_Q/article/details/121592896
修改ORB_SLAM2/Examples/ROS/ORB_SLAM2/文件夹下的CMakeLists.txt文件,在set(LIBS xxxxx 的后面加上

-lboost_system

/ORB_SLAM2/CMakeLists.txt文件,将find_package(OpenCV …)中的opencv版本号改成自己安装的opencv版本号
版本号查看:

pkg-config --modversion opencv

参考链接:https://blog.csdn.net/qin_liang/article/details/127419612

./build.sh

删除build文件夹,再次编译

mkdir build
cd build
cmake ..
make -j2

编译ROS

 cd ~/catkin_ws2/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/
 mkdir build
 cd build
 cmake ..
 make -j2

修改.bashrc文件

sudo  gedit ~/.bashrc

在文件尾添加

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

修改后在终端输入

source ~/.bashrc

适配Kitti数据集

运行结果

tum数据集

下载地址:https://cvg.cit.tum.de/data/datasets/rgbd-dataset/download
运行
在ORB_SLAM2文件夹下

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /path/to/dataset/rgbd_dataset_freiburg1_xyz

在这里插入图片描述对保存在ORB_SLAM2文件夹下的KeyFrameTrajectory.txt通过evo绘制

evo_traj tum KeyFrameTrajectory.txt -p --plot_mode=xyz

在这里插入图片描述

kitti数据集生成

参考之前的VINSMOON运行博客

kitti数据集

3个终端

roscore
 rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/Monocular/KITTI00-02.yaml

ORB_SLAM2用于接受相机数据的topic话题为 /camera/image_raw

rosbag play kitti_2011_10_03_drive_0034_synced.bag /kitti/camera_gray_left/image_raw:=/camera/image_raw

在这里插入图片描述对保存在ORB_SLAM2文件夹下的KeyFrameTrajectory.txt通过evo绘制(单目无法恢复尺度)

evo_traj tum KeyFrameTrajectory.txt -p --plot_mode=xyz

在这里插入图片描述

evo_traj tum KeyFrameTrajectory.txt 02_gt_tum.txt --ref=02_gt_tum.txt -a -p --plot_mode=xyz

在这里插入图片描述

参考链接:
1.https://blog.csdn.net/qq_37417682/article/details/104130666?spm=1001.2101.3001.6650.16&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-16-104130666-blog-128161032.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-16-104130666-blog-128161032.235%5Ev43%5Econtrol&utm_relevant_index=17
2.https://blog.csdn.net/weixin_56337147/article/details/130344059?spm=1001.2101.3001.6650.12&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-12-130344059-blog-128161032.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-12-130344059-blog-128161032.235%5Ev43%5Econtrol&utm_relevant_index=13

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值