
Ubuntu 18.04安装ORB-SLAM3+ROS跑通TUM数据集
注意路径:第一部分是可执行文件,第二部分是ORB词袋,第三部分是配置文件(在这里更改自己相机的参数),第四部分是数据文件存放所在的文件夹,第五部分是RGB和深度图像的时间戳文件。下列步骤是可选择的,若ROS自带的opencv可以满足编译要求,则不需要执行以下步骤,本次项目中opencv4.2可以满足编译需求。作用:ORB-SLAM3在ROS的cv-bridge数据格式转换和C++的库。记得顺便安装
(一)ORB-SLAM3安装
Ubuntu20.04
ROS melodic
Pangolin 0.6
Open CV 3.2.0
Eigen 3
默认已经装好了Ubuntu18.04和ROS melodic
注:ROS安装推荐鱼香ros一键安装:
wget http://fishros.com/install -O fishros && . fishros
记得顺便安装下rosdep,后续编译ORB-SLAM3的ROS版会有用
1.安装pangolin 0.6
很多教程安装的为0.5,我测试的为0.6稳定版也可以
pangolin0.6链接:https://github.com/stevenlovegrove/Pangolin/archive/refs/tags/v0.6.zip
(1)安装依赖
sudo apt-get install libglew-dev libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libpng-dev
(2)编译安装
cd pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOST=1 ..
make -j
sudo make install
(3)测试结果
cd cd ../examples/HelloPangolin
mkdir build
cd build
cmake ..
make
sudo make install
安装成功
2.OpenCV安装
作用:ORB-SLAM3在ROS的cv-bridge数据格式转换和C++的库。
(1)安装cv-bridge
sudo apt-get install libopencv-dev
sudo apt-get install ros-noetic-cv-bridge
(2)安装OpenCV
注:ROS melodic 自带Open CV 3.2
ROS noetic 自带Open CV 4.2
可使用下面的指令查看opencv版本
pkg-config --modversion opencv
pkg-config --modversion opencv4 #opencv4
安装依赖
sudo apt-get install build-essential cmake git
sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev
sudo apt-get install libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy python3-dev python3-numpy
sudo apt-get install libtbb2 libtbb-dev libjasper-dev libdc1394-22-dev
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
注:E:无法定位libjasper-dev 问题
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
下列步骤是可选择的,若ROS自带的opencv可以满足编译要求,则不需要执行以下步骤,本次项目中opencv3.2可以满足编译需求。
#################################################################
选装:将下载好的OpenCV解压到你的目录下,开始编译
下载地址:https://opencv.org/releases/
cd 下载的opencv目录下
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
#电脑性能差可去掉-j4,性能很好可增加数字(线程)
make -j4
sudo make install
编译存在的iccicv问题
下载地址:https://gitee.com/tiange7/opencv_install_resource
下载完将压缩文件放入/3rdparty/ippicv/downloads/linux.../
添加环境变量
(1)添加环境路径
配置OpenCV变量,编辑文件 /etc/ld.so.conf.d/opencv.conf(如果没有就会自动创建):
sudo gedit /etc/ld.so.conf.d/opencv.conf
然后添加 OpenCV4 的 lib 路径:
/usr/local/opencv4/lib
保存退出,执行
sudo ldconfig
编辑 ~/.bashrc 文件:
sudo gedit ~/.bashrc
最后添加:
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/local/opencv4/lib/pkgconfig
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./usr/local/opencv4/lib
保存退出
刷新环境变量
source ~/.bashrc
查看opencv版本
pkg-config --modversion opencv
pkg-config --modversion opencv4 #opencv4
3.Eigen库
命令安装
sudo apt-get install libeigen3-dev
(二)ORB-SLAM3编译运行
1.修改CMakeList文件
在find package上面加,目的是使用标准的c++14来编译
set(CMAKE_CXX_STANDARD 14) #使用c++14来编译
注:所有的CmakeList中将find opencv 改成对应的版本
2.安装python2.7
sudo apt install libpython2.7-dev
3.添加ROS环境
在编译ros版本时候需要初始化ROS
sudo gedit ~/.bashrc
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/path/ORB_SLAM3/Examples/ROS
source ~/.bashrc
4.编译
需要添加可执行权限
cd ORB-SLAM3
chmod +x build.sh build_ros.sh
#先编译非ROS版
./build.sh
#在编译ROS版
./build_ros.sh
5.测试TUM数据集
TUM数据集下载地址:Computer Vision Group - Dataset Download
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples_old/RGB-D/TUM3.yaml /home/slam/datasets/rgbd_dataset_freiburg3_walking_xyz /home/slam/datasets/rgbd_dataset_freiburg3_walking_xyz/associations.txt
注意路径:第一部分是可执行文件,第二部分是ORB词袋,第三部分是配置文件(在这里更改自己相机的参数),第四部分是数据文件存放所在的文件夹,第五部分是RGB和深度图像的时间戳文件。
测试结果:

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)