Ubuntu16.04+VMware ORB_SLAM2的环境配置

Ubuntu16.04下 ORB_SLAM2的安装与配置

一、 ORB_SLAM2的安装与配置

1、相关基础应用安装

(1)更新apt库,更新软件列表

sudo apt-get update

(2)安装git,用于从Github上克隆项目到本地

sudo apt-get install git

(3)安装cmake,用于程序的编译

sudo apt-get install cmake

(4)安装gcc、g++

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

2、Pangolin安装

(1)安装依赖项

sudo apt-get install libglew-dev libpython2.7-dev

(2)项目下载

git clone https://github.com/stevenlovegrove/Pangolin.git

下载成功出现如下界面
在这里插入图片描述
(3)编译

cd Pangolin
mkdir build
cd build
cmake ..
make -j
sudo make install

在这里插入图片描述
正常情况下,在输入cd Pangolin并执行之后,会自动执行下面几个命令。

3、安装OpenCV

(1)安装相关依赖项

sudo apt-get install build-essential

sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

(2)将windows上下载好的opencv-3.4.1解压后复制到linux中
在这里插入图片描述
(3)编译安装opencv

cd ~/opencv-3.4.1
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release –D CMAKE_INSTALL_PREFIX=/usr/local ..

采用8线程编译,速度更快,如果计算机不允许,也可以采用4线程编译

make -j8

编译成功
在这里插入图片描述
执行命令

sudo make install

(4)配置opencv环境
打开opencv.conf文件

sudo gedit /etc/ld.so.conf.d/opencv.conf 

在空白文件中添加:

/usr/local/lib  

如图所示:
在这里插入图片描述
(5)保存后关闭文件,回到终端执行以下命令,使修改后的文件生效

sudo ldconfig  

(6)配置bash文件

sudo gedit /etc/bash.bashrc  

在bash文件末尾添加:

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

在这里插入图片描述
(7)执行命令,使修改文件生效

source /etc/bash.bashrc  

4、安装Eigen3

执行以下命令,安装Eigen3

sudo apt-get install libeigen3-dev

5、安装ORB_SLAM

(1)下载克隆仓库

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2

在这里插入图片描述
(2)编译ORB-SLAM2

cd ORB_SLAM2
chmod +x build.sh
./build.sh

(3)因为我们的ORB_SLAM需要在ROS下运行,所以需要将ORB_SLAM2保存到自己的ROS工作空间下,我的为catkin_ws/src(这一步直接复制相关文件夹)

在这里插入图片描述
(4)编辑 .bashrc文件,添加我们的ROS工作空间下ORB_SLAM2路径到文件末尾
首先,执行命令

 sudo  gedit ~/.bashrc

在打开的.bashrc文件末尾添加自己的ORB_SLAM2/Examples/ROS文件路径:(我的为:/home/luxiaolu/catkin_ws/src/ORB_SLAM2/Examples/ROS)

export SVGA_VGPU10=0

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

在这里插入图片描述
(5)执行命令,使修改后的文件生效

source ./catkin_ws/devel/setup.sh
source ~/.bashrc

(6)执行命令

cd catkin_ws/src/ORB_SLAM2
chmod +x build_ros.sh
./build_ros.sh

命令执行时间较长,可能会遇到一下问题:
在这里插入图片描述
解决办法:修改cmakwlists.txt文件(在文件相应位置,添加 箭头指向的内容)
在这里插入图片描述
(7)再次运行

chmod +x build_ros.sh
./build_ros.sh

6、运行单目SLAM实例

(1)下载数据集到相应文件夹中,我的路径是/home/luxiaolu/rgbd_dataset_freiburg1_xyz

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

在这里插入图片描述
出现如下图示,则单目SLAM实例运行成功:
在这里插入图片描述

二、USB_cam安装

1、下载usb_cam源码并配置环境

(1)从github下载源码到相应文件目录下(我下载在 catkin_ws/src目录下):

cd catkin_ws/src
git clone https://github.com/bosch-ros-pkg/usb_cam.git

(2)回到 catkin_ws目录下,执行 命令编译功能包:

ctakin_make
source ./devel/setup.bash

2、编译usb_cam

(1)执行命令

cd usb_cam
mkdir build
cd build
cmake ..

在这里插入图片描述
(2)执行make命令

make

出现如下界面
在这里插入图片描述

3、摄像头调用

(1)打开新终端,运行ros

roscore

(2)回到之前的终端中,运行launch夹下usb_cam中的launch文件

cd ..
cd launch
roslaunch usb_cam usb_cam-test.launch

在这里插入图片描述
可以看到摄像头实时画面则安装运行成功,然后可以关闭所有终端,进行下一步ORB_SLAM2实时运行部分。

三、ORB_SLAM2实时运行

(1)终端运行ros,执行命令

roscore

在这里插入图片描述
(2)进入launch/usb_cam文件夹,启动usb_cam节点

roslaunch usb_cam usb_cam-test.launch

在这里插入图片描述
(3)修改ros_mono.cc中文件内容
在自己的ORB_SLAM2/Examples/ROS/ORB_SLAM2/src文件夹下找到ros_mono.cc文件(我的在/home/luxiaolu/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src文件夹下)

打开文件修改如图红色部分内容如下:
在这里插入图片描述
(4)进入到~/catkin_ws/src/ORB_SLAM2目录下,重新编译,使我们的修改生效

./build_ros.sh

编译成功后,执行下一步操作

3、调用摄像头,进行实时单目运行

(1)运行以下命令

rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值