Ubuntu18.04安装和配置ORB_SLAM2(非ROS、ROS环境)

目录

一、安装工具

二、安装Eigen库

三、安装Pangolin0.5

四、安装Opencv3.4.1(过高版本会导致错误)

五、安装ORB_SLAM2

若要在ROS环境下运行

六、运行数据集 


一、安装工具

注意如果是虚拟机务必学会使用快照功能,很有用!

安装cmake、git、gcc、g++

  • 在终端输入以下代码
sudo apt-get install cmake
sudo apt-get install git
sudo apt-get install gcc g++

二、安装Eigen库

  • 在终端输入以下代码
sudo apt-get install libeigen3-dev

三、安装Pangolin0.5

  • 安装依赖项
sudo apt-get install libglew-dev libpython2.7-dev
sudo apt-get install libxkbcommon-x11-dev

 注意 不能用“git clone https://github.com/stevenlovegrove/Pangolin.git”这串代码安装Pangolin,否则会默认安装最新版(0.6版),导致后面运行出现错误

pangolin0.5版本的百度网盘下载链接: 百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1yEQvArzHz35CUJc-BEmNiw 提取码: n6r8 直接用Ubuntu内的火狐浏览器打开下载

  • 在压缩文件所在目录打开终端,输入以下代码进行解压
unzip Pangolin_v0.5.zip
  • 解压后移动到主目录(其他目录也可),进入Pangolin文件夹进行编译
cd Pangolin
mkdir build
cd build
cmake .. 
make
sudo make install

四、安装Opencv3.4.1(过高版本会导致错误)

  • 用火狐浏览器打开OpenCV官网(http://opencv.org),点击上方菜单栏Library-Releases,点击下载OpenCV 的Source版本,然后解压。可以选择自己需要的版本,我下载的是3.4.10版本的,输入以下代码进行解压,后面文件名自行更改
unzip opencv-3.4.10.zip
  • 将解压后的文件移动至主目录,打开终端,安装依赖项
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
sudo apt-get install build-essential  //[compiler]
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev //[required] 
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev  //[optional] 
  •  在opencv-3.4.10文件夹的目录下打开终端进行编译
cd opencv-3.4.10
mkdir build
cd build
cmake ..
make
sudo make install
  •  配置编译环境
sudo gedit /etc/ld.so.conf.d/opencv.conf 
  •  在打开的空白文件中添加如下代码

/usr/local/lib  

  • 保存后关闭文件夹, 打开终端输入以下代码
sudo ldconfig  
  •  配置bash
sudo gedit /etc/bash.bashrc  
  •  在打开的文件末尾添加以下两行代码

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH  

  • 再执行以下命令
source /etc/bash.bashrc  
sudo updatedb  

五、安装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
  • 打开下列文件加入头文件代码 

#include<unistd.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
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
 

 如图所示

  •  打开~/ORB_SLAM2/CMakeLists.txt文件,将find_package(OpenCV …)这行代码中的opencv版本号改成自己安装的opencv版本号,如下图所示

  •  完成以上步骤后,进入ORB_SLAM2文件夹进行编译
./build.sh
mkdir build
cd build
cmake ..
make

完成ORB_SLAM2的安装

若要在ROS环境下运行

SLAM在ROS下跑和非ROS下跑的区别:可以把ROS理解成Linux下集成了许多好用的第三方和多进程编程的一个库集。在ROS下跑SLAM可以使用ROS的许多成熟的方法库。比如进程间通信可以默认使用ROSMaster建立的本地socket通信。不在ROS下跑,很多进程间通信、同步、回调之类的就需要自己去设计——引用自知乎网友@Slayers

  • Ubuntu18.04对应ROS版本为melodic 可以使用小鱼老师的一键安装、配置ROS的代码
    wget http://fishros.com/install -O fishros && bash fishros
    

原文:如何一行代码安装ROS|2022最新版|一行代码安装ROS2|一行代码解决rosdep|一行代码配置多ROS环境_鱼香ROS的博客-CSDN博客_ros安装脚本

  • 创建工作空间

roscore
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,则在ROS工作空间catkin_ws/src目录下完成第五步步骤;若已安装且编译过,则将ORB_SLAM2文件夹直接移动到src目录下并重新编译(见第五步步骤)
  • 在ORB_SLAM2目录下继续执行下列三条命令 ,编译build_ros.sh文件                   

注意:先编译总的ORB_SLAM2(build.sh),再编译ROS(build_ros.sh)

chmod +x build_ros.sh
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/src/ORB_SLAM2/Examples/ROS
./build_ros.sh
  • 先编译总的ORB_SLAM2(若在工作空间外编译过,则删除原来的build文件夹)
cd ~/catkin_ws/src/ORB_SLAM2/
mkdir build
cd build
cmake ..
make
  • 再单独编译ROS
 cd        //回到主目录
 cd ~/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/
 mkdir build
 cd build
 cmake ..
 make
  • 编辑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

  •  下载完成后解压缩到主目录(其他位置也可),进入ORB_SLAM2文件夹进行编译
  • 注意代码最后一部分是数据集的存储路径,需要按照自己的存储路径进行更改
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/qixin/rgbd_dataset_freiburg1_xyz
  • 出现运行结果

 参考文章:

 Ubuntu18.04 ORB_SLAM2的安装、配置、运行SLAM单目实例_君琴的博客-CSDN博客_orbslam2安装

【在ROS下编译ORB_SLAM2遇到错误,】pangolin could not be found because dependency Eigen3 could not be found_瞲_大河弯弯的博客-CSDN博客

Unbuntu18.04 安装并配置OpenCV3.4.1_君琴的博客-CSDN博客

 ubuntu18.04 安装OpenCV3.4.1踩坑过程_一直等待花开1的博客-CSDN博客_ubuntu18.04安装opencv3.3.1

 Ubuntu18.04下 ORB_SLAM2的安装与配置_爱跑步的mango的博客-CSDN博客_orb-slam2安装

猜你喜欢

转载自blog.csdn.net/m0_65009717/article/details/123885882