Ubuntu 20.04 下 ORB-SLAM3 安装运行记录

时 2023 年 8 月 29 日


安装

前置依赖安装

ROS Noetic

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update
sudo apt install ros-noetic-desktop-full
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc`
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
sudo apt install python3-rosdep
sudo rosdep init
rosdep update

OpenCV 4.4

若已安装 ROS noetic 则可跳过此步骤,因为 ROS noetic 自带 OpenCV 4.2.0,与 ORB-SLAM3 所要求的 OpenCV 4.4.0 没什么区别,仅需修改 ORB-SLAM3 项目目录下的 CMakeLists.txt 文件即可。

Pangolin 0.5

Pangolin-0.5.zip
官方未对该依赖的版本做出说明,经测试 Pangolin 0.5 版本未见错误。

sudo cp ./Pangolin-0.5 /usr/local/src/
cd /usr/local/src/
sudo unzip Pangolin-0.5
sudo apt-get install libglew-dev
sudo apt-get install cmake
cd Pangolin-0.5
sudo mkdir build
# 执行完下面的 sudo make install 命令后,该依赖将被安装到 /usr/local/Pangolin-0.5
sudo cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/Pangolin-0.5 ..
sudo make -j7
sudo make install

ORB-SLAM3

  1. git clone 源码;
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git
  1. 修改所需 OpenCV 版本;
find_package(OpenCV 4.4)
   if(NOT OpenCV_FOUND)
      message(FATAL_ERROR "OpenCV > 4.4 not found.")
   endif()
find_package(OpenCV 4)
	if(NOT OpenCV_FOUND)
     message(FATAL_ERROR "OpenCV > 4 not found.")
  endif()

将 ORB-SLAM3/Examples/ROS/CMakeLists.txt 中:

find_package(OpenCV 3.0 QUIET)
find_package(OpenCV 4.0 QUIET)
  1. 修改 ORB-SLAM3/build.sh(build_ros.sh) 文件,在 make -j 后面加上线程数;
  2. 编译。
# 非 ROS
./build.sh

# ROS
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/Your/ORB-SLAM3/path/Examples/ROS
./build_ros.sh

编译 ORB-SLAM3 ROS 出现的问题

问题 1:不存在目录 Examples/ROS/ORB_SLAM3

Screenshot from 2023-08-29 16-11-56.png

解决:将 Examples_old/ROS 复制到 Examples 目录下

Examples_old 目录下的例子是 v0.4-beta 版本的,v0.1-release 的 Examples 中没有 ROS 目录。

不要忘记修改 ORB_SLAM3/Examples/ROS/ORB_SLAM3/CMakeLists.txt,使其找到 OpenCV 4。

问题 2:找不到头文件 sophus/se3.hpp

Screenshot from 2023-08-29 16-19-42.png

解决:在 include_directories 中添加路径

${PROJECT_SOURCE_DIR}/../../../Thirdparty/Sophus

Screenshot from 2023-08-29 16-24-16.png

问题:错误转换

Screenshot from 2023-08-29 16-27-02.png

解决:不会!修改 ORB_SLAM3/Examples/ROS/ORB_SLAM3/CMakeLists.txt,将下述几行注释掉。

rosbuild_add_executable(MonoAR
src/AR/ros_mono_ar.cc
src/AR/ViewerAR.h
src/AR/ViewerAR.cc
)

target_link_libraries(MonoAR
${LIBS}
)

运行

非 ROS

./Examples/Stereo-Inertial/stereo_inertial_euroc Vocabulary/ORBvoc.txt Examples/Stereo-Inertial/EuRoC.yaml /mnt/wzy/workspace/information/dataset/euroc/zip/MH_01_easy Examples/Stereo-Inertial/EuRoC_TimeStamps/MH01.txt

问题:程序已经运行,却没有可视化界面

Screenshot from 2023-08-29 16-32-40.png

解决:修改运行对应的源程序,将下图处 false 改为 true,保存并重新编译即可

Screenshot from 2023-08-29 16-34-47.png

运行成功

Screenshot from 2023-08-29 16-40-30.png

ROS

  1. 运行 roscore
  2. 运行下述命令:
./Examples/ROS/ORB_SLAM3/Stereo_Inertial Vocabulary/ORBvoc.txt Examples/Stereo-Inertial/EuRoC.yaml false
  1. play bag:
rosbag play /mnt/wzy/workspace/information/dataset/euroc/bag/MH_01_easy.bag /cam0/image_raw:=/camera/left/image_raw /cam1/image_raw:=/camera/right/image_raw /imu0:=/imu

运行成功

Screenshot from 2023-08-29 16-58-24.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Ubuntu 20.04安装ORB-SLAM3,你需要按照以下步骤进行操作: 1. 首先,确保你的系统满足ORB-SLAM3的安装要求。根据引用中提到的环境说明,你需要在虚拟机VMware上安装Ubuntu 20.04,并且有一个搭载Win10(i5-8500)的主机。 2. 接下来,你需要安装OpenCV 3.3.5。根据引用中的指示,你可以通过以下命令来安装所需的依赖项: ``` 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 libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev ``` 3. 现在,你需要下载并编译ORB-SLAM3。按照引用中提到的步骤,进入ORB-SLAM3的主目录,打开终端,并执行以下命令: ``` sudo ./bootstrap.sh sudo ./b2 install ``` 4. 最后,你需要安装Pangolin图形库以及它的依赖项。根据引用中的指示,你可以通过以下命令来安装所需的依赖项: ``` sudo apt install libgl1-mesa-dev sudo apt install libglew-dev sudo apt install libpython2.7-dev sudo apt install pkg-config sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols ``` 完成以上步骤后,你应该成功地在Ubuntu 20.04安装ORB-SLAM3。请确保按照引用内容所列的正确顺序执行每个步骤,并确保你的系统满足所需的依赖项。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值