☰
FAST-LIVO2 在 Jetson + ROS2 Humble 环境部署问题——Sophus编译失败
2026/9/28 18:16:10 网站建设 项目流程

1. 环境介绍

本文记录本人在 NVIDIA Jetson Orin NX 平台部署 FAST-LIVO2 过程中遇到的 Sophus 编译失败问题以及解决办法。

2. 问题现象

在编译 FAST-LIVO2 时,出现:

Target "Sophus::Sophus" not found

导致无法继续编译。

3. 问题原因分析

FAST-LIVO2依赖Sophus库进行李群计算,包括:

  • SO(3)旋转表示
  • SE(3)位姿变换
  • IMU积分
  • 状态估计

FAST-LIVO2中的CMake文件通过:

find_package(Sophus REQUIRED)

寻找Sophus。

但是之前安装的Sophus版本虽然能够编译,但是安装后没有生成正确的CMake配置文件:

SophusConfig.cmake

导致FAST-LIVO2无法识别。

4. 解决方法

(1)删除旧版本Sophus

进入工作空间:

cd ~/FASTLIVO2_WS/src

删除:

rm -rf Sophus

(2)重新安装Sophus 1.22.10

下载:

git clone https://github.com/strasdat/Sophus.git

进入:

cd Sophus

切换版本:

git checkout 1.22.10

(3)编译安装

创建build目录:

mkdir build cd build

编译:

cmake .. make -j4

安装:

sudo make install

4. 设置Sophus路径

安装完成后发现:Sophus并不在:

/usr/local/lib/cmake/Sophus

而是在:

/usr/local/share/sophus/cmake/

里面包含:

SophusConfig.cmake SophusConfigVersion.cmake SophusTargets.cmake

因此设置:

export Sophus_DIR=/usr/local/share/sophus/cmake

5. FAST-LIVO2重新编译

最终编译通过

Finished <<< sophus Finished <<< fast_livo

说明Sophus问题解决。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询