视觉惯性里程计(VIO)启动细节增加
2025-12-17
工具与运维
00

目录

VINS-Fusion编译
问题分析
解决方案
1. 安装Ceres Solver依赖
2. 下载并编译Ceres Solver
3. 更新库路径
4. 重新编译catkin工作空间
注意事项

VINS-Fusion编译

首先参考这里配置依赖,然后编译

展开代码
cp -r ~/XTDrone/sensing/slam/vio/VINS-Fusion ~/catkin_ws/src/ mkdir ~/catkin_ws/scripts/ cp ~/XTDrone/sensing/slam/vio/xtdrone_run_vio.sh ~/catkin_ws/scripts/ cd ~/catkin_ws catkin_make #或catkin build,取决于您的编译工具

catkin build出现报错

根据您提供的终端输出,编译失败的核心问题是Ceres Solver库缺失。以下是完整的解决思路和步骤:

问题分析

错误原因

  • CMake无法找到Ceres Solver库(camera_models和global_fusion包依赖该库)
  • 错误信息:Could not find a package configuration file provided by "Ceres"

解决方案

1. 安装Ceres Solver依赖

bash
展开代码
# 安装编译依赖 sudo apt-get update sudo apt-get install -y libgoogle-glog-dev libgflags-dev libatlas-base-dev libeigen3-dev libsuitesparse-dev

2. 下载并编译Ceres Solver

bash
展开代码
# 创建并进入工作目录 mkdir -p ~/ceres-solver cd ~/ceres-solver # 下载源码(建议使用1.14.0版本,兼容性更好) git clone https://ceres-solver.googlesource.com/ceres-solver cd ceres-solver git checkout 1.14.0 # 切换到稳定版本 # 创建build目录并配置 mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local .. # 编译并安装 make -j$(nproc) sudo make install

3. 更新库路径

bash
展开代码
sudo ldconfig

4. 重新编译catkin工作空间

bash
展开代码
cd ~/catkin_ws catkin build

注意事项

  • 版本兼容性:如果使用Ceres 2.x版本,可能会遇到API不兼容问题,建议使用1.14.0版本
  • 环境变量:安装后如果仍找不到,可设置export CMAKE_PREFIX_PATH=/usr/local:$CMAKE_PREFIX_PATH
  • 依赖检查:确保所有编译依赖已正确安装,特别是libgoogle-glog-devlibgflags-dev

完成以上步骤后,VINS-Fusion应该能够正常编译通过。

本文作者:cc

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!