1. 环境准备:避开版本兼容的"深坑"
激光雷达与惯导标定是自动驾驶和机器人定位中的关键环节,而Lidar_IMU_Init作为开源工具链中的明星项目,在实际部署时却让不少人"栽了跟头"。我花了整整三天时间才解决所有编译问题,其中最头疼的就是版本依赖陷阱。先说结论:Ubuntu 18.04+ROS Melodic是基础,但更关键的是Ceres必须锁定2.0.0版本——这是血泪教训换来的经验。
先检查你的系统是否满足这些硬指标:
- 操作系统:Ubuntu 18.04/20.04(实测16.04会出现GLIBCXX版本冲突)
- ROS版本:Melodic或Noetic(建议Melodic,兼容性更优)
- 关键库版本:
- PCL ≥ 1.8(建议1.10.0)
- Eigen ≥ 3.3.4(推荐3.3.7)
安装基础依赖时有个细节容易忽略:
bash复制sudo apt-get install -y libsuitesparse-dev libboost-all-dev
这两个库在官方文档里没明确要求,但编译Ceres时会默默报错。另外提醒:如果之前装过其他版本的Ceres,务必先执行sudo rm -rf /usr/local/lib/cmake/Ceres彻底清理旧版本。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 源码获取与"坑点"预判
克隆源码看似简单,但这里藏着两个隐形炸弹:
bash复制git clone https://github.com/hku-mars/LiDAR_IMU_Init.git
cd LiDAR_IMU_Init
第一个坑:仓库默认分支可能是开发版。建议切到稳定tag:
bash复制git checkout v1.2.0 # 具体版本号以仓库最新release为准
第二个坑:子模块初始化。很多人直接编译会报livox_ros_driver缺失,其实需要手动初始化子模块:
bash复制git submodule update --init --recursive
我遇到过更诡异的情况:网络波动导致子模块下载不完整。建议完成后检查third_party目录是否包含:
- livox_ros_driver
- fast-li
