因为之前已经运行过 LIO-SAM,工作空间已创建,直接拉取源码并编译。
编译
cd ~/catkin_ws/src
git clone https://github.com/hku-mars/FAST_LIO.git
cd FAST_LIO
git submodule update --init --recursive
cd ../..
sudo apt install libeigen3-dev libpcl-dev libyaml-cpp-dev libgoogle-glog-dev
catkin_make -DCMAKE_BUILD_TYPE=Release
source devel/setup.bash
说明:
git submodule update --init --recursive:下载主仓库引用的子仓库。FAST-LIO2 用到的 ikd-Tree 等第三方库作为 submodule 存在,不更新会导致编译报错找不到源码。cd ../..:切换回 catkin 工作区根目录,以便执行catkin_make。
常见报错及解决
1、缺 pcl_ros 包
错误提示缺少 ROS 中的 pcl_ros 包。这是 PCL 集成到 ROS 系统的中间层,不是 PCL 本体。
解决方法:安装对应的 ROS Noetic 版本下的 pcl_ros。
注意:如果之前手动编译过 PCL 并放在
/usr/local下,建议不要混用 apt 安装的 ROS 包和手动编译的 PCL,否则可能出现 runtime 链接冲突。
2、缺 Livox ROS 驱动包
错误提示 CMake Error: Could NOT find livox_ros_driver。Livox ROS 驱动包不是 apt 直接提供的,需要手动 clone 并编译。
解决方法:
- 创建工作空间(如未建)。
- 下载 livox_ros_driver 源码。该仓库依赖 Livox-SDK 的 C++ 驱动,但通常包含预编译好的库,无需单独安装 SDK。
- 编译。
3、找不到静态库文件
错误提示 /usr/bin/ld: 找不到 -llivox_sdk_static。说明链接器找不到 Livox SDK 的静态库文件。
解决方法:正确安装 Livox SDK 并重新编译 livox_ros_driver。
Livox-SDK 仓库里自带了 build 文件夹,里面有 notes.txt 说明。如果之前操作过,建议先清空这个目录再重新构建,以免缓存冲突。
配置环境变量,建议将相关路径加到 ~/.bashrc 里保持永久生效。回到工作空间重新编译 livox_ros_driver 和 FAST-LIO2。
4、rospack 找不到包
编译的是 ~/catkin_ws/src/livox_SDK,而官方 ROS 驱动包名字是 livox_ros_driver。livox_SDK 是纯 SDK,不是 ROS 包,不包含 package.xml,所以 ROS 不识别。
解决方案:
- 下载并编译真正的 Livox ROS 驱动包。
- 确保在 src 下有
livox_ros_driver包,而不是 。


