ubuntu16.04下ORB_SLAM2的配置

1 依赖安装

安装过程参考本文4.1 — 4.3

1.1 Pangolin

1.2 OpenCV

1.3 Eigen3

2 ORB_SLAM2安装

下载地址

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

3 运行效果

  • 处理 TUM 数据集

下载 associate.py 放入数据集的根目录

python associate.py rgb.txt depth.txt > associated.txt
  • 在 orb_slam2 文件夹下创建 data 文件夹,放入处理好的 TUM 数据集
  • 在 orb_slam2 根目录下运行
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM3.yaml data/rgbd_dataset_freiburg3_walking_xyz data/rgbd_dataset_freiburg3_walking_xyz/associated.txt 

在这里插入图片描述

4 问题

  • 如果编译过程中出现error: usleep() 没有声明的情况,在 include 文件夹下对应的 System.h 文件中加入以下声明
#include<unistd.h>
  • /opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_imgcodecs3.so.3.3.1:对‘TIFFReadDirectory@LIBTIFF_4.0’

在CMakeLists.txt文件文件中添加:

target_link_libraries(${PROJECT_NAME}
    ${OpenCV_LIBS} /usr/lib/x86_64-linux-gnu/libtiff.so.5 
  )
  • 删除orb_slam下的build文件夹,直接打开终端
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j8

5 编译build_ros

5-1 编译问题

  1. [rosbuild] rospack found package “ORB_SLAM2” at “”, but the current
    directory is “/home/angelo/ORB_SLAM2/Examples/ROS/ORB_SLAM2”. You
    should double-check your ROS_PACKAGE_PATH to ensure that packages
    are found in the correct precedence order.
sudo ln -s ~/orb_slam2/Examples/ROS/ORB_SLAM2 /opt/ros/kinetic/share/ORB_SLAM2
  1. /home/zxy/orb_slam2/Examples/ROS/ORB_SLAM2/…/…/…/Thirdparty/g2o/g2o/types/…/core/jacobian_workspace.h:30:22:
    fatal error: Eigen/Core: 没有那个文件或目录
***在cmakelists中加入:
include_directories("/usr/include/eigen3")
  1. undefined reference to symbol ‘_ZN5boost6system15system_categoryEv’

在cmakelists中加入: -lboost_system

set(LIBS 
${OpenCV_LIBS} 
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so
-lboost_system
)

5-2 运行

rosrun ORB_SLAM2 RGBD Vocabulary/ORBvoc.txt Examples/ROS/ORB_SLAM2/Asus.yaml
  1. Failed to open settings file at: Examples/ROS/ORB_SLAM2/Asus.yaml

执行文件同时连接了opencv2 与 opencv3
在保留之前安装的OPENCV2的情况下在电脑上再安装一个OPENCV3

cd opencv-3.4.5

sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
sudo apt-get install qt5-default

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DWITH_CUDA=OFF ..
make -j8
sudo make install

安装OPENCV3后,修改ORB-SLAM2/CMakeLists.txt,将自己安装opencv3库的路径设置到OpenCV_DIR中

set(OpenCV_DIR /usr/local/opencv3/share/OpenCV)

原文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值