OpenVINS搭建与测试
本文记录 OpenVINS 在 Ubuntu 22.04 + ROS 2 Humble 下的编译和测试:先用 EuRoC 公开数据集验证,再接入 RealSense D455 实机运行。Jetson 上编译时遇到的内存和 ArUco 问题也一并记录。
环境
- 系统:Ubuntu 22.04
- ROS 2:Humble
- 源码仓库:https://github.com/dreamer198/open_vins.git
源码下载
1 | mkdir -p ~/ros2_ws/src |
依赖安装
1 | source /opt/ros/humble/setup.bash |
编译
进入工作空间根目录:
1 | cd ~/ros2_ws |
直接 colcon build 可能因为并行编译占用内存过高而卡死,建议限制并行度:
1 | MAKEFLAGS="-j8" CMAKE_BUILD_PARALLEL_LEVEL=1 \ |
如果在 Jetson Orin NX 上遇到 OpenCV 缺少 aruco 模块的问题,可以关闭 ArUco Tag 支持后重新编译:
1 | MAKEFLAGS="-j8" CMAKE_BUILD_PARALLEL_LEVEL=1 \ |
编译完成后加载环境:
1 | source ~/ros2_ws/install/setup.bash |
公开数据集测试
下载数据集
数据集下载地址:OpenVINS EuRoC 数据集说明
推荐先下载 Vicon Room 1 01,也就是 V1_01_easy。
运行测试
终端 1:启动 OpenVINS。
1 | cd ~/ros2_ws |
终端 2:播放数据集。
1 | ros2 bag play V1_01_easy |
终端 3:打开 RViz2 可视化。
1 | rviz2 -d ~/ros2_ws/src/open_vins/ov_msckf/launch/display_ros2.rviz |
RealSense D455 实机测试
启动相机
终端 1:发布双目红外图像和 IMU 数据。
1 | ros2 launch realsense2_camera rs_launch.py \ |
用 rqt 查看红外图像,如果能看到红外斑点,关闭相机的激光发射器:
1 | ros2 param set /camera/camera depth_module.emitter_enabled 0 |
启动 OpenVINS
终端 2:运行 D455 配置。
1 | cd ~/ros2_ws |
常见问题
| 现象 | 处理方法 |
|---|---|
| 编译卡死 | 降低 MAKEFLAGS 或 CMAKE_BUILD_PARALLEL_LEVEL |
Jetson 缺少 aruco |
编译时加 --cmake-args -DENABLE_ARUCO_TAGS=OFF |
| 红外图像有斑点 | 关闭 depth_module.emitter_enabled |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Dreamer Island!

