小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
视觉SLAM ORB_SLAM3在ubuntu18.04 ubuntu20.04 安装运行测试
-
参考博客:https://mp.csdn.net/mp_blog/creation/editor/129137521
入手了一个rgbd摄像头,想学一下视觉SLAM,最先安装的ORB-SLAM2,在ubuntu22.04 ubuntu20.04分别进行了安装,都没有成功,其中各种报错,解决不了。毕竟8年前的代码,好多东西和现在的环境匹配不了,后看到ORBB_SLAM3是二〇年的代码,2的升级版,发布时间不长,应该和现在的linux环境差不多,安装难度应该小一点,遂在ubuntu18.04安装成功了,又在ubuntu20.04安装了一次,相比来说比slam2安装容易多了,如果从来没有玩过视觉slam的建议安装3,下面是安装历程,全当是自己学习的笔记,也给首次安装的朋友当个参考。一、ROS一键安装
orb-slam3不需要ros也能运行,可以不安装ros,新安装的系统只用此命令一键换源,安装速度会快很多,如果本来就是国内源,此步可以跳过直接进入第二步。
wget http://fishros.com/install -O fishros && . fishros
二、ORB_SLAM3依赖安装
pangolin,EIGEN3,OPENCV,DBoW2 和 g2o
1 安装c++编译软件
sudo apt update sudo apt install git cmake gcc g++
2 安装EIGEN3
sudo apt-get install libeigen3-dev
3 安装pangolin0.6
卸载Pangolin(如果以前没有安装过可以跳过卸载步骤)
cd Pangolin/build make clean sudo make uninstall //卸载 sudo rm -r /usr/local/include/pangolin //删除残留文件 cd ../.. sudo rm -r Pangolin //删除源代码 安装依赖
sudo apt install libglew-dev libpython2.7-dev
sudo apt install libglew-dev
sudo apt install cmake
sudo apt install libpython2.7-dev
sudo apt install pkg-config
sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols
sudo apt install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavdevice-dev
不管有没有都安装一遍,已经安装过的不会再次安装的。### Pangolin的安装 Pangolin官网流程安装 https://github.com/stevenlovegrove/Pangolin ![截图 2023-02-14 12-48-12.png](/forum/assets/uploads/files/1676350148381-截图-2023-02-14-12-48-12.png) 下载v0.6源码: git clone https://github.com/stevenlovegrove/Pangolin.git ### 安装依赖: sudo apt install libgl1-mesa-dev 安装命令
cd Pangolin //进入源码文件夹
mkdir build
cd build
cmake ..
make
sudo make install报错可能会是缺少依赖,不报错可以不装。
sudo apt install libgl1-mesa-dev
sudo apt install pkg-config
sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols4 安装OpenCV
ros melodic 自带opencv 3.2,ros安装了opencv就可以不在安装了,这也是安装ORB_SLAM3里面最大的一个坑,因为网上安装ORB_SLAM3的教程里都有安装opencv 4.2的选项,如果在安装opencv4.2版本,3版和4版会冲突,这也是很大的一个祸根,会导致以后运行ORB_SLAM3 ros版 报错:
ORB SLAM3 ubuntu18.04 ROS 运行 段错误 (核心已转储)
终端输入命令检查版本会输出3.2.0说明opencv3.2已经安装好了
pkg-config opencv --modversion
其他版本ros安装opencv请参考:
https://mp.csdn.net/mp_blog/creation/editor/129175515
三 ORB-SLAM3安装
下载:
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.gitcd ORB_SLAM3 chmod +x build.sh ./build.sh
在ubuntu 22.04 里面编译报错,需要c++14 在主CMakeLists.txt 加
add_compile_options(-std=c++14) //加上这行代码能通过编译
LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules)
find_package(OpenCV 4.4)这里也可以打开build.sh 按里面代码分步安装。
四 测试
下载:EuRoC 数据集下载序列(ASL 格式)
Downloads下的ASL Dataset Format,点击任意link下载即可
https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets#downloads
/ORB_SLAM3下新建Datasets,将下载好的文件MH_01_easy.zip解压(就是图中第一个Machine Hall 01)放入Datasets,并改名为MH01
目录结构~/ORB_SLAM3/Datasets/MH01/mav0测试orb3源码好不好使
cd ORB_SLAM3
双目测试
./Examples/Stereo/stereo_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo/EuRoC.yaml ./Datasets/MH01 ./Examples/Stereo/EuRoC_TimeStamps/MH01.txt dataset-MH01_sterego
参考博客:
https://blog.csdn.net/weixin_48924581/article/details/126534339 -