ubuntu18.04-ORB-slam2安装与运行

本篇博客整理了ROS安装,ORB-slam2安装,ROS的ORB-slam2安装


1.ROS安装

1.2 ROS安装 · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程

安装时,sudo rosdep init 和 rosdep update 失败,会碰到连接问题,采用以下连接提供的方法安装

https://blog.csdn.net/qq_35813104/article/details/117332670

至此,ROS安装完成,可以使用roscore验证。


2.ORB-SLAM2安装

2.1安装工具

 sudo apt-get install cmake
 
 sudo apt-get install git
 
 sudo apt-get install gcc g++  

2.2安装Pangolin

Pangolin是对OpenGL进行封装的轻量级的OpenGL输入/输出和视频显示的库。可以用于3D视觉和3D导航的视觉图,可以输入各种类型的视频、并且可以保留视频和输入数据用于debug。

安装依赖

 sudo apt-get install libglew-dev
 
 sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
 
 sudo apt-get install libpython2.7-dev

安装Pangolin

Pangolin下载链接:

https://github.com/stevenlovegrove/Pangolin

使用版本建议为V0.5,这样可以避免Eigen3报错。

ubuntu18.04-ORB-slam2安装与运行_第1张图片

 2.3安装Eigen

sudo apt-get install libeigen3-dev

2.4安装opencv

opencv官方下载地址:Releases - OpenCV

选择版本3.4.0,下载并解压

cd opencv3.4.0
mkdir build
cd build
cmake ..
make -j2
sudo make install

2.5安装ORB-SLAM2

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

此处会报错 

ubuntu18.04-ORB-slam2安装与运行_第2张图片

解决方法:

在所有报错的文件,添加头文件:

#include 

具体文件如下:

mono_euroc.cc
mono_kitti.cc
mono_tum.cc
rgbd_tum.cc
ViewerAR.cc
stereo_euroc.cc
stereo_kitti.cc
LocalMapping.cc
LoopClosing.cc
System.cc
Tracking.cc
Viewer.cc

到这里ORB-SLAM2就安装好了。

2.6 ROS的ORB-SLAM2安装

2.6.1 添加环境变量

  export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM2/Examples/ROS

2.6.2 编译ROS文件

  chmod +x build_ros.sh
  ./build_ros.sh

./build_ros.sh会出现许多报错如下:

ubuntu18.04-ORB-slam2安装与运行_第3张图片

参考这篇博客解决

https://blog.csdn.net/qq_44725448/article/details/117107020?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-117107020-blog-104906376.pc_relevant_multi_platform_whitelistv1&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-117107020-blog-104906376.pc_relevant_multi_platform_whitelistv1&utm_relevant_index=1

2.6.3 运行摄像头

编译USB(下载地址:GitHub - ros-drivers/usb_cam: A ROS Driver for V4L USB Cameras)

注意修改src/usb_cam-develop/launch文件中的launch,需要修改成自己的设备号。

mkdir -p ./usb_cam_ws/src
catkin_init_workspace

//把usb_cam放到usb_cam_ws/src下

cd usb_cam_ws/
catkin_make
source devel/setup.bash

新开一个终端,运行

roscore
//新开终端
roslaunch usb_cam usb_cam-test.launch

3 运行ORB-SLAM2

3.1下载数据集

Tum数据集:Computer Vision Group - Dataset Download

下载好解压缩,最后放在ORB-SLAM2路径下。建议使用fr1/xyz数据集

ubuntu18.04-ORB-slam2安装与运行_第4张图片

3.2运行

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml ./data/rgbd_dataset_freiburg1_xyz

3.3使用ROS运行ORB-SLAM2

参考2.6.3,运行摄像头

运行rostopic list查看消息

ubuntu18.04-ORB-slam2安装与运行_第5张图片

gedit /home/hong/Desktop/ORB_SLAM2-master/ORB_SLAM2-master/Examples/ROS/ORB_SLAM2/src/ros_mono.cc

修改订阅的话题为摄像头话题

运行ORB-SLAM2(如果没有出现轨迹和关键帧,需要调整自己的相机分辨率或者相机内参,可能是自己的内参与默认值相差大,导致无法求解)

//新开终端
source ~/.bashrc
rosrun ORB_SLAM2 Mono /home/hong/Desktop/ORB_SLAM2-master/ORB_SLAM2-master/Vocabulary/ORBvoc.txt /home/hong/Desktop/ORB_SLAM2-master/ORB_SLAM2-master/Examples/Monocular/TUM1.yaml

ubuntu18.04-ORB-slam2安装与运行_第6张图片

你可能感兴趣的:(SLAM,机器人,自动驾驶)