Ubuntu18.04安装ORB_SLAM3并运行测试

一、 前期准备

  1. 创建一个工作目录
cd..
mkdir myslam && cd myslam
  1. 安装依赖
sudo apt-get update
#安装git和cmake
sudo apt-get install git cmake
#安装opencv
sudo apt-get install libopencv-dev
#安装glew
sudo apt-get install libglew-dev
sudo apt-get install glew-utils
#安装boost
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install libx11-dev libxmu-dev libglu1-mesa-dev libgl2ps-dev libxi-dev g++ libzip-dev libpng12-dev libcurl4-gnutls-dev libfontconfig1-dev libsqlite3-dev libglew*-dev libssl-dev

注意,根据官方提示,DBoW2 和 g2o都不需要自行安装,官方有修改版本的,放在Thirdparty目录下,在编译安装SLAM时就会自行编译

二、 编译安装Panglin

Pangolin主要作用是可视化,用户界面相关API
官方GitHub https://github.com/stevenlovegrove/Pangolin

  1. 首先克隆代码,以下方式二选一
#直连方式
git clone https://github.com/stevenlovegrove/Pangolin.git
#加速代理方式
git clone https://hub.fastgit.org/stevenlovegrove/Pangolin.git

注意,如果以上方式克隆的代码编译有问题并且无法解决,请到下面这个网址下载稳定发行版
点击进入 https://github.com/stevenlovegrove/Pangolin/tags
笔者下载的版本是v0.6,下载后解压到当前目录下

  1. 进行编译
cd Pangolin
#安装依赖
./scripts/install_prerequisites.sh
mkdir build && cd build
cmake -DCPP11_NO_BOOST=1 ..
cmake --build .

不出意外编译完成后,使用以下命令安装

sudo make install

如果你没有注意,在执行make -j时,会出现:
make: *** 没有指明目标并且找不到 makefile。 停止。
解决办法:
sudo apt-get install libxkbcommon-x11-dev
再执行语句
cmake -DCPP11_NO_BOOST=1 …
make -j
就安装成功了

三、安装Eigen 3安装

sudo apt-get install libeigen3-dev

如果在编译ORB-SLAM3时报错找不到Eigen 3则使用编译安装

#github 有个mirror,版本3.3.4 from 2017
git clone https://github.com/eigenteam/eigen-git-mirror
#安装
cd eigen-git-mirror
mkdir build
cd build
cmake ..
sudo make install
#安装后,头文件安装在/usr/local/include/eigen3/

四、编译安装ORB_SLAM3

官方GitHub https://github.com/Lu-tju/ORB_SLAM3

  1. 首先克隆代码,以下方式二选一
#直连方式
git clone https://github.com/Lu-tju/ORB_SLAM3.git
#加速代理方式
git clone https://hub.fastgit.org/Lu-tju/ORB_SLAM3.git
  1. 进行编译
cd ORB_SLAM3
chmod +x build.sh
./build.sh
#编译ros版本
cd ORB_SLAM3
chmod +x build_ros.sh
./build_ros.sh
  1. 添加环境变量
nano ~/.bashrc
#在最后添加并保存退出
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/.../ORB_SLAM3/Examples/ROS
#上面...填上ORB_SLAM3的具体路径
source ~/.bashrc

编译过程中,如报错如下:
OpenCV > 2.4.3 not found.
解决方案:修改两处CMakeLists.txt
nano ORB_SLAM3/CMakeLists.txt
nano ORB_SLAM3/Thirdparty/DBoW2/CMakeLists.txt
找到 "find_package(OpenCV"字样
修改为自身OPENCV版本号
笔者为4.1.0,注释掉原来的,则修改如下

#find_package(OpenCV 3.0 QUIET)
find_package(OpenCV 4.1 QUIET)

编译过程中,如报错如下:
error: no match for ‘operator/’
解决方案:修改以下两个文件的代码
nano ORB_SLAM3/src/LocalMapping.cc
nano ORB_SLAM3/src/CameraModels/KannalaBrandt8.cpp
在原有的#include与namespace之间 加入以下代码

namespace cv
{
template<typename _Tp, int m, int n> static inline
Matx<_Tp, m, n> operator / (const Matx<_Tp, m, n> &a, float alpha)
{
return Matx<_Tp, m, n>(a, 1.f / alpha, Matx_ScaleOp());
}
}

五、测试

  1. 修改代码订阅话题名(当然也可以编写launch文件remap话题名称)

在ORB_SLAM3/Examples/ROS/ORB_SLAM3/src目录下找到:ros_mono.cc文件,打开并修改成自己的订阅名称

ros::Subscriber sub = nodeHandler.subscribe("/camera/image_raw", 1, &ImageGrabber::GrabImage,&igb);

如果想使用Imu融合,则修改ros_mono_inertial.cc文件

ros::Subscriber sub_imu = n.subscribe("/imu", 1000, &ImuGrabber::GrabImu, &imugb); 
ros::Subscriber sub_img0 = n.subscribe("/camera/image_raw", 100, &ImageGrabber::GrabImage,&igb);

回到ORB_SLAM3主目录执行编译

sh build_ros.sh
  1. 单目摄像头
#没IMU
rosrun ORB_SLAM3 Mono Vocabulary/ORBvoc.txt Examples/ROS/ORB_SLAM3/Asus.yaml
#有IMU
rosrun ORB_SLAM3 Mono_inertial Vocabulary/ORBvoc.txt Examples/ROS/ORB_SLAM3/Asus.yaml

双目IMU:   
  1. 双目摄像头(博主未测试)
#没IMU
rosrun ORB_SLAM3 Stereo_inertial Vocabulary/ORBvoc.txt Examples/ROS/ORB_SLAM3/Asus.yaml
#有IMU
rosrun ORB_SLAM3 Stereo_inertial Vocabulary/ORBvoc.txt Examples/ROS/ORB_SLAM3/Asus.yaml

可用功能一览
可用功能一览
单目效果
请添加图片描述

其他资料
基于ROS下的安卓手机图像和IMU跑ORB-SLAM3 https://blog.csdn.net/h_372101/article/details/108235178
后续如果还有什么遗留问题,可留言

  • 0
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 要在Ubuntu 18.04上安装ORB_SLAM3,您可以按照以下步骤操作: 1. 安装必要的依赖项: ``` sudo apt-get install build-essential cmake git libgtk2.-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libeigen3-dev libboost-all-dev libprotobuf-dev protobuf-compiler libgoogle-glog-dev libgflags-dev libatlas-base-dev liblapack-dev libblas-dev ``` 2. 克隆ORB_SLAM3存储库: ``` git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3 ``` 3. 进入ORB_SLAM3目录并创建build目录: ``` cd ORB_SLAM3 mkdir build cd build ``` 4. 运行cmake: ``` cmake .. ``` 5. 编译ORB_SLAM3: ``` make -j4 ``` 6. 运行ORB_SLAM3: ``` ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /path/to/dataset/sequence/ ``` 其中,/path/to/dataset/sequence/是您要运行ORB_SLAM3的数据集的路径。 希望这可以帮助您安装ORB_SLAM3。 ### 回答2: Orb_slam3是一款基于Ubuntu操作系统的开源物体三维建模软件,它可以准确地模拟出物体的运动轨迹、形态等,并对其进行快速的重建。下面是Ubuntu18.04安装Orb_slam3的方法。 1. 下载安装Orb_slam3所需要的依赖库: 首先要安装git库,输入以下命令`sudo apt-get install git`。 然后安装依赖关系`sudo apt-get install build-essential cmake g++ git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libv4l-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libopencv-dev libtbb-dev libeigen3-dev libblas-dev liblapack-dev libprotobuf-dev protobuf-compiler libgoogle-glog-dev libgflags-dev libzmq3-dev`。 2. 下载ORB_SLAM3源代码: 安装完依赖库后,请输入以下命令。 ```` cd /home git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3 ```` 3. 生成ORB_SLAM3的可执行程序: 编译安装ORB-SLAM程序,运行以下命令。 ```` cd ORB_SLAM3 chmod +x build.sh ./build.sh ```` 4. 使用ORB_SLAM3进行物体三维重建: 使用ORB_SLAM3准确地模拟出物体的运动轨迹、形态,然后进行三维重建。进入ORB_SLAM3目录,运行以下命令。 ```` rosrun ORB_SLAM3 Stereo Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml true ```` 5. 建议:升级显卡驱动 安装ORB_SLAM3后,建议升级显卡驱动以便更好的使用ORB_SLAM3软件。 以上就是Ubuntu18.04安装ORB_SLAM3的全部步骤,友好的交互界面使得练手极为方便,让使用者轻松地看到所需的信息,这也是它被越来越多的用户所信赖的原因。 ### 回答3: Ubuntu 18.04是一种开源的操作系统,ORB_SLAM3是一种全新的视觉SLAM库,它可以实现精准的视觉定位和建图,能够广泛应用于机器人、自动驾驶、虚拟现实等领域。以下是安装ORB_SLAM3的步骤: 1.安装依赖项 首先,必须安装ORB_SLAM3所需的一些依赖项,如Eigen,Boost,OpenCV和Pangolin等。可以在终端窗口中运行以下命令进行安装: sudo apt-get install libeigen3-dev sudo apt-get install libboost-all-dev sudo apt-get install libopencv-dev sudo apt-get install libopencv-dev sudo apt-get install libglew-dev sudo apt-get install libsuitesparse-dev 2.克隆ORB_SLAM3库 使用git工具从GitHub上克隆ORB_SLAM3库。运行以下命令: git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3 3.构建ORB_SLAM3库 进入ORB_SLAM3目录并构建ORB_SLAM3库。运行以下命令: cd ORB_SLAM3 chmod +x build.sh ./build.sh 4.下载数据集 如果要测试ORB_SLAM3的性能,需要下载一些数据集。运行以下命令,以下载KITTI数据集: ./tools/kitti_downloader.sh 5.测试ORB_SLAM3 最后,可以使用ORB_SLAM3库来测试视觉SLAM的性能。运行以下命令: ./Examples/Monocular/mono_kitti Vocabulary/ORBvoc.txt Examples/Monocular/KITTI00-02.yaml path_to_dataset_folder/dataset 在执行此命令时,必须将“path_to_dataset_folder”替换为数据集所在的路径。此外,应该将“Examples/Monocular/KITTI00-02.yaml”替换为数据集文件中包含的文件。这将运行ORB_SLAM3并显示视觉定位和建图的结果。 总之,使用这些步骤可以在Ubuntu 18.04上成功安装ORB_SLAM3,并进行视觉定位和建图的测试

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值