LIO-SAM安装指南:从零开始搭建高精度SLAM系统
还在为机器人定位与建图(SLAM)系统的复杂安装而头疼吗?本文将手把手教你从零开始安装配置LIO-SAM(Lidar Inertial Odometry via Smoothing and Mapping),这个紧耦合的激光雷达惯性里程计系统能够实现实时高精度的定位与建图。
通过本文你将掌握:
- ✅ LIO-SAM系统依赖的完整安装方法
- ✅ 两种安装方式:源码编译和Docker容器化
- ✅ 关键配置参数的详细解读与调优
- ✅ 激光雷达和IMU数据的正确准备方法
- ✅ 系统运行与测试的完整流程
- ✅ 常见问题的排查与解决技巧
📦 系统依赖与前置要求
LIO-SAM基于ROS(Robot Operating System)框架开发,需要以下核心依赖:
ROS版本要求:
- ROS Kinetic 或 Melodic(推荐)
- 对于Noetic版本需要特殊配置
安装ROS依赖包:
sudo apt-get install -y ros-kinetic-navigation
sudo apt-get install -y ros-kinetic-robot-localization
sudo apt-get install -y ros-kinetic-robot-state-publisher
GTSAM库安装:
sudo add-apt-repository ppa:borglab/gtsam-release-4.0
sudo apt install libgtsam-dev libgtsam-unstable-dev
🛠️ 安装方法一:源码编译安装
步骤1:创建工作空间并克隆代码
cd ~/catkin_ws/src
git clone https://gitcode.com/GitHub_Trending/li/LIO-SAM.git
cd ..
步骤2:编译项目
catkin_make
步骤3:配置环境变量 将以下内容添加到.bashrc文件中:
source /opt/ros/kinetic/setup.bash
source ~/catkin_ws/devel/setup.bash
🐳 安装方法二:Docker容器化安装
对于希望快速部署或避免环境冲突的用户,推荐使用Docker方式:
构建Docker镜像:
docker build -t liosam-kinetic-xenial .
运行Docker容器:
docker run --init -it -d \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=$DISPLAY \
liosam-kinetic-xenial \
bash
⚙️ 配置文件详解
核心配置文件 config/params.yaml 包含所有重要参数:
传感器配置:
sensor: velodyne # 支持velodyne/ouster/livox
N_SCAN: 16 # 激光雷达通道数
Horizon_SCAN: 1800 # 水平分辨率
IMU外参配置(关键!):
extrinsicRot: [-1, 0, 0, 0, 1, 0, 0, 0, -1]
extrinsicRPY: [0, -1, 0, 1, 0, 0, 0, 0, 1]
注意:外参矩阵需要根据实际的IMU安装位置进行校准
回环检测配置:
loopClosureEnableFlag: true
loopClosureFrequency: 1.0
📊 数据准备要求
激光雷达数据要求:
- 必须包含点时间戳(time字段)
- 必须包含环号信息(ring字段)
- 时间戳范围应在0-0.1秒之间(10Hz旋转)
IMU数据要求:
- 必须使用9轴IMU(6轴IMU需要额外配置)
- 推荐数据率≥200Hz(500Hz最佳)
- 需要正确的外参标定
🚀 运行与测试
启动LIO-SAM系统:
roslaunch lio_sam run.launch
播放数据包测试:
rosbag play your-bag.bag -r 3
保存地图服务:
rosservice call /lio_sam/save_map 0.2 "/Downloads/LOAM/"
🔧 常见问题排查
问题1:Z字形或抖动行为
- 原因:激光雷达和IMU时间戳不同步
- 解决:检查时间同步机制
问题2:地图优化崩溃
- 原因:GTSAM库版本不兼容
- 解决:安装指定版本的GTSAM
问题3:GPS数据不可用
- 原因:坐标转换框架配置错误
- 解决:检查
base_link到gps_frame的tf变换
📈 性能优化建议
- CPU核心数配置:根据实际硬件调整
numberOfCores参数 - 降采样率:点云密集时增加
downsampleRate值 - 映射频率:调整
mappingProcessInterval平衡精度与速度 - 回环检测频率:根据场景复杂度调整
loopClosureFrequency
通过本文的详细指导,你应该已经成功安装并配置好了LIO-SAM系统。记得首先使用提供的样本数据集进行测试,确保系统正常运行后再使用自己的数据。如果在安装过程中遇到问题,欢迎查阅项目的issue页面寻找解决方案。
下一步建议:尝试不同的传感器配置和参数调优,以获得最佳的性能表现!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考








