ORB-SLAM3结合RealSense D455相机实时运行&离线官方样例测试部署

前言

ORB-SLAM3直接按照官网的教程进行编译会有一些错误报出,在此总结编译orb-slam3的整体流程以及中间遇到的一些问题。

编译环境

Ubuntu 18.04 LTS
OpenCV 3.4.5(之前是3.2.0但有问题,重装新的版本)
Pangolin
OpenGL
Glew
Eigen3
DBoW2 and g2o

配置环境

1. C++11

检查G++版本,查看是否支持C++11
一般g++版本大于4.7即可

g++ -v
2. Pangolon

地址:https://github.com/stevenlovegrove/Pangolin
先安装OpenGL,Glew

### 编译orb-slam3发现pangolin编译错误排查的环境问题
sudo apt install pkg-config
sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols
sudo apt-get install doxygen
######################################################

sudo apt install libgl1-mesa-dev
sudo apt install libglew-dev
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
cmake --build . --target pangolin_doc
sudo make install
3.Eigen3

需要最少3.1.0
Eigen是用于线性代数的C ++模板库:矩阵,向量,数值解算器和相关算法。这里使用命令行安装。

sudo apt install libeigen3-dev
 
//若默认安装的是/usr/local/include/eigen3/Eigen 下,将Eigen文件夹拷贝一份到/usr/local/include 下
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include
4.DBoW2 and g2o

虽然orb-slam3项目中自带,但还是先源码编译了一遍,对后面的编译五影响。

  • 下载编译 DBoW2
git clone https://github.com/dorian3d/DBoW2.git DBoW2
cd DBoW2
mkdir build
cd build
cmake ..
make
sudo make install
  • 下载编译 g2o
git clone https://github.com/RainerKuemmerle/g2o.git g2o
cd g2o
mkdir build
cd build
cmake 
### 配置 ORB-SLAM2 和 ORB-SLAM3 运行环境 要在 Ubuntu 20.04 上成功配置 ORB-SLAM2 和 ORB-SLAM3 并使其与 ROS 实现无缝集成,需遵循以下方法: #### 安装依赖项 首先安装必要的软件包和工具链。这些包括编译器、构建工具以及 OpenCV 等库的支持。 ```bash sudo apt update && sudo apt upgrade -y sudo apt install build-essential cmake git libeigen3-dev libsuitesparse-dev \ libopencv-dev python3-catkin-tools ros-noetic-* -y ``` 上述命令会安装 CMake、Eigen 库、SuiteSparse 数学优化库、OpenCV 开发版本以及其他 ROS Noetic 所需的相关组件[^1]。 #### 下载并编译 ORB-SLAM2 和 ORB-SLAM3 克隆官方仓库到本地目录,并按照说明完成源码的下载与编译过程。 对于 **ORB-SLAM2**: ```bash git clone https://github.com/raulmur/ORB_SLAM2.git cd ORB_SLAM2 chmod +x build.sh ./build.sh ``` 而对于 **ORB-SLAM3**, 类似操作适用于此项目结构: ```bash git clone https://github.com/UZI-CVSLAB/orb_slam3_ros.git cd orb_slam3_ros/ catkin_make source devel/setup.bash ``` 注意,在此过程中可能遇到路径设置问题;确认最终生成可执行二进制文件位于指定位置 `PATH/ORB_SLAM3/Examples/ROS` 即表明正确无误。 #### 启动节点和服务 为了验证整个系统的功能正常与否,可以开启多个终端窗口来分别启动不同的服务端口及数据流处理程序。 在一个新的 Terminal 中输入以下指令初始化核心通信框架: ```bash roscore ``` 接着于第二个 Tab 页面加载预先录制好的传感器数据集用于测试目的: ```bash rosbag play MH_01_easy.bag --clock ``` 最后一步是在第三个独立 Session 内调用实际算法逻辑模块本身: ```bash rosrun ORB_SLAM3 Mono Vocabulary/ORBvoc.txt Examples/Monocular/EuRoC.yaml ``` 以上三步共同协作实现了完整的视觉里程计解决方案演示效果展示[^2]。 通过这的方式不仅完成了基础软硬件平台准备工作还确保了各子系统之间良好交互性能达到预期目标——即支持实时定位映射任务需求满足条件下的高效运作模式转换机制形成闭环控制体系架构设计思路清晰明确易于维护扩展性强等特点优势明显突出表现优异值得推广普及应用价值极高前景广阔未来潜力无限!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值