虚拟机ubuntu16.04 安装ORB_SLAM3

虚拟机ubuntu16.04 安装ORB_SLAM3

一.依赖项

使用Pangolin进行可视化和用户界面的显示
使用OpenCV进行图像处理特征提取(opencv的安装
Eigen3,g2o需要用,矩阵计算
DBoW2 和 g2o,使用DBoW2库的修改版本来执行位置识别和g2o库来执行非线性优化

二.进行库安装

1、安装Pangolin(参考此博客
安装依赖包

sudo apt-get install libglew-dev
sudo apt-get install cmake
sudo apt-get install libpython2.7-dev
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev
sudo apt-get install libdc1394-22-dev libraw1394-dev
sudo apt-get install libjpeg-dev libpng12-dev libtiff5-dev libopenexr-dev

Pangolin下载网址:https://github.com/stevenlovegrove/Pangolin/tags
这里下载的是0.5版本,0.6版本编译会出现问题。
在这里插入图片描述
解压:

tar -xzvf Pangolin-0.5.tar.gz 

进入文件夹:

cd Pangolin-0.5/

建立bulid文件夹:

mkdir build
cd build
cmake ..

编译完成
在这里插入图片描述

make 

在这里插入图片描述

sudo make install

在这里插入图片描述
Pangolin安装完成!
2 安装opencv
安装依赖包

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

下载opencv和opencv_contrib:
https://github.com/opencv寻找对应版本
在这里插入图片描述
解压:

tar -xzvf opencv-3.4.2.tar.gz 
tar -xzvf opencv_contrib-3.4.2.tar.gz 

新建文件夹,开始编译

cd opencv-3.4.2/
mkdir build
cd build

cmake命令:

cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D INSTALL_C_EXAMPLES=ON \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D WITH_TBB=ON \
      -D WITH_V4L=ON \
      -D WITH_QT=ON \
      -D WITH_OPENGL=ON \
      -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.16/modules \
      -D BUILD_EXAMPLES=ON ..

遇到报错
在这里插入图片描述检查opencv modules里和opencv_contrib modules里的文件是否重复,删除contrib里的重复组件即可
在这里插入图片描述
编译完成:
在这里插入图片描述

sudo make -j8

在这里插入图片描述

sudo make install

在这里插入图片描述

sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

3 安装eigen3

sudo apt-get install libeigen3-dev

或者采用源码安装,这里参考https://blog.csdn.net/hhz_999/article/details/120473659

三.下载和编译ORB_SLAM3

git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git
cd ORB_SLAM3
chmod +x build.sh

修改部分代码,我这里发生了报错
Opencv4 改为3
在这里插入图片描述
添加libboost_serialization.so链接库,否则编译不通过

LINK_directories("/usr/local/lib")
# If RealSense SDK is found the library is added and its examples compiled
if(realsense2_FOUND)
    include_directories(${PROJECT_NAME}
    ${realsense_INCLUDE_DIR}
    )
    target_link_libraries(${PROJECT_NAME}
    ${realsense2_LIBRARY}
    libboost_serialization.so
    )
endif()
./build.sh

编译完成:
在这里插入图片描述
在此过程中还存在着其他库版本错误:

出现问题:
*CMake 3.10 or higher is required. You are running version 3.5.2 *
这里参考cmake版本升级https://www.cnblogs.com/jsdy/p/12689470.html
出现问题:
在这里插入图片描述
Pangolin版本降级https://blog.csdn.net/weixin_43166819/article/details/121372051
安装opencv4.4 https://blog.csdn.net/lu_linux/article/details/114135156
报错:
在这里插入图片描述
这里参考这篇博客https://www.cnblogs.com/didada/p/12305066.html

四.测试:

下载数据集:
https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets
我下载的是MH01:
在这里插入图片描述
开始运行:

./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./Datasets/EuRoc/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono

效果如下:
在这里插入图片描述
运行ROS版

rosrun ORB_SLAM3 Mono /home/ycp/realsense/ORB_SLAM3_comments/Vocabular/ORBvoc.txt /home/ycp/realsense/ORB_SLAM3_comments/Examples/Monocular/RealSense_D435i.yaml 

说明:

  在实际安装中由于官方的库中含有intel相机相关驱动积相机参数信息,在本次安装编译完成后SLAM也无法正常运行,具体原因还在寻找中,本文展现的效果为另一个版本的测试。

参考博客:

https://blog.csdn.net/qq_43131852/article/details/121546419
https://www.icode9.com/content-4-1134365.html
https://blog.csdn.net/hhz_999/article/details/120473659
https://zpf1900.blog.csdn.net/article/details/118031317

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 要在Ubuntu 16.04安装ORB_SLAM2,您可以按照以下步骤进行操作: 1. 安装必要的依赖项:sudo apt-get install build-essential cmake pkg-config libopencv-dev libeigen3-dev libglew-dev libboost-all-dev libgtk2.-dev 2. 克隆ORB_SLAM2的GitHub存储:git clone https://github.com/raulmur/ORB_SLAM2.git 3. 进入ORB_SLAM2目录:cd ORB_SLAM2 4. 创建build目录并进入:mkdir build && cd build 5. 运行cmake:cmake .. 6. 编译ORB_SLAM2:make -j4 7. 下载ORB_SLAM2的ORBvoc.txt文件:wget https://github.com/raulmur/ORB_SLAM2/blob/master/Vocabulary/ORBvoc.txt.tar.gz && tar -xzvf ORBvoc.txt.tar.gz 8. 运行ORB_SLAM2:./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /path/to/dataset/sequence 注意:在步骤7中,您需要将“/path/to/dataset/sequence”替换为您自己的数据集路径。 希望这可以帮助您安装ORB_SLAM2。 ### 回答2: ORB-SLAM2是一种开源的跨平台系统,用于在实时环境下进行大规模、几何性质不确定性较高的单目、双目和RGB-D相机SLAM。为了实现这个功能,ORB-SLAM2集成了多种先进的技术,包括视觉词典、几何信息、颜色一致性和实时优化等。 准备工作: 1. 操作系统:Ubuntu 16.04 LTS 2. 安装ROS Kinetic:打开终端,输入以下命令 ``` sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 sudo apt-get update sudo apt-get install ros-kinetic-desktop-full sudo rosdep init rosdep update echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc source ~/.bashrc sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential ``` 3. 安装ORB-SLAM2: - 创建ROS工作空间 ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make ``` - 克隆ORB-SLAM2代码 ``` cd ~/catkin_ws/src git clone https://github.com/raulmur/ORB_SLAM2.git ``` - 编译ORB-SLAM2 ``` cd ~/catkin_ws catkin_make ``` - 设置环境变量 ``` echo "export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/src/ORB_SLAM2/Examples/ROS" >> ~/.bashrc source ~/.bashrc ``` 使用ORB-SLAM2: - 在ORB-SLAM2中使用摄像头: ``` roslaunch usb_cam usb_cam-test.launch rosrun ORB_SLAM2 RGBD /home/user/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/user/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2.yaml ``` - 其中 `RGBD` 表示相机类型,`/home/user/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt` 是词典文件路径,`/home/user/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2.yaml` 是ORB-SLAM的参数文件路径。 - 可以用其他类型的摄像头,比如单目或双目摄像头。 - 在ORB-SLAM2中使用数据集: ``` rosrun ORB_SLAM2 RGBD /home/user/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/user/catkin_ws/src/ORB_SLAM2/Examples/RGB-D/TUM1.yaml ./rgbd_dataset_freiburg1_room ``` - 其中 `./rgbd_dataset_freiburg1_room` 是TUM RGB-D数据集中的房间环境数据。 总的来说,安装和使用ORB-SLAM2需要一定的技术基础和操作经验。在安装过程中可能会遇到各种问题,需要仔细阅读错误信息并进行调试。 ### 回答3: 在进行ubuntu16.04安装orb_slam2之前,需要确保你已经按照以下步骤安装了必要的依赖项: 1.安装CMake。你可以使用以下命令进行安装: sudo apt-get install cmake 2.安装必要的依赖项。你可以使用以下命令进行安装: sudo apt-get install libglew-dev libglfw3-dev libusb-1.0-0-dev libudev-dev 3.安装Pangolin。你可以使用以下命令进行安装: sudo apt-get install libpng-dev libjpeg-dev libeigen3-dev sudo apt-get install libboost-all-dev git clone https://github.com/stevenlovegrove/Pangolin.git cd Pangolin mkdir build cd build cmake .. make -j4 sudo make install 4. 安装 OpenCV。你可以使用以下命令进行安装: sudo apt-get install libopencv-dev python-opencv 现在,让我们按照以下步骤进行orb_slam2的安装: 1.克隆orb_slam2的git存储: git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2 2.切换到存储的目录并进行编译: cd ORB_SLAM2 chmod +x build.sh ./build.sh ./build_ros.sh 3.这应该成功编译orb_slam2和RosNode。你可以使用以下命令启动RosNode: rosrun ORB_SLAM2 Mono /***path_to_vocabulary***/ORBvoc.txt /***path_to_settings***/TUM1.yaml 在这里,使用自己的路径和文件名替换"path_to_vocabulary"和"path_to_settings"。 这些命令将开始运行orb_slam2。现在,你可以运行图像视觉SLAM来了解其工作原理。 事实上,这仅是安装orb_slam2的一种方法。你也可以使用其他方法安装它,但是请注意,如果你安装时遇到任何问题,请检查是否满足依赖项和git存储克隆等要求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Spgroc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值