Ubuntu 14.04/16.04 搭建ORB_SLAM2

一、安装ROS打开USB摄像头的驱动文件

1.建立工作空间

mkdir -p ~/catkin_usb/src

2.下载驱动文件

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

3.编译

注:编译前先进入~/catkin_usb/src/usb_cam/launch目录,将usb_cam-test.launch文件的pixel_format的value值改为mjpeg;将video_device的value改为对应的摄像头序列号(使用ls /dev | grep video查看对应的摄像头序列号)。

cd ~/catkin_usb
catkin_make
source devel/setup.bash

4.运行USB摄像头

(1).打开终端,启动roscore (注:这一步可以省略,使用roslaunch命令会启动roscore)

(2).打开另一个终端,运行

cd ~/orbslam_usb
source devel/setup.bash
roslaunch usb_cam usb_cam-test.launch

二、安装ORB-SLAM2

1.建立ORB-SLAM2的工作空间

mkdir -p ~/orbslam_ws/src

2.安装g2o

(1).安装g2o之前要先安装以下库依赖:

sudo apt-get install libboost-all-dev
sudo apt-get install libblas-dev
sudo apt-get install liblapack-dev
sudo apt-get install libeigen3-dev

(2).下载、编译、安装g2o

注:编译前先升级Cmake版本为3.1及以上(Ubuntu 14.04的需要升级,Ubuntu 16.04不需要升级)。(使用cmake -version查看版本)

cd ~/orbslam_ws/src
git clone https://github.com/RainerKuemmerle/g2o
cd g2o
mkdir build 
cd build
cmake ..
make 
sudo make install

3.安装Pangolin

(1).首先安装所需的依赖

sudo apt-get install libglew-dev   #安装Glew
sudo apt-get install cmake         #安装CMake
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev  #安装Boost
sudo apt-get install libpython2.7-dev  #安装Python2'Python3

(2).下载、编译、安装Pangolin:

注意:最新的Pangolin文件在Ubuntu14.04好像会出现编译错误,以前的文件可以编译通过(链接:https://pan.baidu.com/s/18u3VcyPCKfWh7ZxiMYkRdA
提取码:6aqp
),最新的文件在Ubuntu16.04上可以通过编译。

cd ~/orbslam_ws/src  
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOST=1 ..
make
sudo make install

4.下载ORB_SLAM2

cd ~/orbslam_ws/src
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2

5.编译ORB-SLAM2

注意:在Ubuntu14.04编译时,这里会出现ORB_SLAM2/Thirdparty/g2o下缺少一个config.h文件,将Pangolin/build/src/include/pangolin下的config.h文件拷贝到ORB_SLAM2/Thirdparty/g2o文件夹下

cd ~/orbslam_ws/src/ORB_SLAM2
chmod +x build.sh
./build.sh

注:如果编译时如果出现c++: internal compiler error: killed(program cc1plus)的错误,可使用以下方法进行编译:

cd ~/orbslam_ws/src/ORB_SLAM2
rm -r build
mkdir build
cd build
cmake ..
make

注:在Ubuntu14.04编译时,如果出现No rule to make target …/Thirdparty/DBoW2/lib/libDBoW2.so’, needed by …/lib/libORB_SLAM2.so. Stop.的错误,则进入orbslam_ws/src/ORB_SLAM2/Thirdparty/DBoW2目录,进行以下操作解决:

mkdir build
cd build
cmake ..
make

6.编译ORB-SLAM2中的ROS包

(1).首先在~/.bashrc中添加以下路径,并在终端输入这条命令:

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM2/Examples/ROS
source ~/.bashrc

注:PATH为home目录到ORB-SLAM2的路径

(2).将ORB-SLAM2/Example/ROS/ORB_SLAM2/src下的ros_stereo.cc和ros_mono.cc文件中的/camera/left 话题改为/usb_cam/left

(3).编译ROS包

cd ~/orbslam_ws/src/ORB_SLAM2
chmod +x build_ros.sh
./build_ros.sh

注:如果无法通过编译,使用以下方法进行编译:

cd ~/orbslam_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2
rm -r build
mkdir build
cd build
cmake ..
make

7.运行ORB-SLAM2

(1).首先运行如下命令启动USB摄像头

roslaunch usb_cam usb_cam-test.launch

(2).运行ORB_SLAM2(运行单目)

rosrun ORB_SLAM2 Mono /home/(user)/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/(user)/catkin_ws/src/ORB_SLAM2/Examples/Monocular/***.yaml true 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值