概述
LIO-SAM (Lidar Inertial Odometry and Mapping) 是一个紧耦合的激光雷达惯性里程计框架,集成了 IMU 预积分和 GPS 数据,适用于机器人建图和定位。
环境要求
组件 |
版本 |
下载地址 |
Ubuntu |
18.04+ |
- |
ROS |
Melodic |
- |
gtsam |
4.0.2 |
GitHub |
Eigen |
3.3.7 |
GitLab |
LIO-SAM |
最新版 |
GitHub |
安装步骤
1. 安装系统依赖
1 2 3 4 5
| sudo apt update
sudo apt install -y build-essential cmake libboost-all-dev
|
2. 安装 Eigen 库
1 2 3 4 5 6 7 8 9 10 11 12
| wget https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz tar -zxvf eigen-3.3.7.tar.gz
cd eigen-3.3.7 mkdir build && cd build sudo cmake .. sudo make install
sudo cp -r /usr/local/include/eigen3/Eigen/ /usr/local/include/
|
3. 安装 ROS Melodic
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
sudo apt update sudo apt-get install -y ros-melodic-desktop-full
sudo apt-get install -y ros-melodic-rqt* python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
sudo rosdep init rosdep update
|
4. 配置 ROS 环境
1 2 3
| echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc
|
5. 安装 gtsam
1 2 3 4 5 6 7 8 9 10 11 12
| git clone https://github.com/borglab/gtsam.git cd gtsam
git checkout 4.0.2
mkdir build && cd build cmake .. make -j$(nproc) sudo make install
|
6. 安装 LIO-SAM
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src
git clone https://github.com/TixiaoShan/LIO-SAM.git
cd ~/catkin_ws rosdep install --from-paths src --ignore-src -y
catkin_make -j$(nproc)
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc
|
验证安装
测试 ROS 安装
1 2 3 4 5
| roscore
echo $ROS_PACKAGE_PATH
|
测试 LIO-SAM 编译
1 2 3 4 5
| rospack find lio_sam
roslaunch lio_sam run.launch
|
常见问题解决
1. Eigen 头文件找不到
问题:编译时出现 fatal error: Eigen/Dense: No such file or directory
解决方案:
1 2
| sudo ln -s /usr/local/include/eigen3/Eigen /usr/local/include/Eigen
|
2. gtsam 版本不兼容
问题:需要特定版本的 gtsam
解决方案:
1 2 3
| cd gtsam git checkout 4.0.2
|
3. ROS 依赖问题
问题:缺少 ROS 包依赖
解决方案:
1 2
| rosdep install --from-paths src --ignore-src -y
|
使用说明
启动 LIO-SAM
1 2 3 4 5
| roslaunch lio_sam run.launch
roslaunch lio_sam visualization.launch
|
数据播放
1 2
| rosbag play your_data.bag
|
目录结构
1 2 3 4 5 6 7
| ~/catkin_ws/ └── src/ └── LIO-SAM/ ├── config/ # 配置文件 ├── launch/ # 启动文件 ├── src/ # 源代码 └── package.xml # ROS 包配置
|
注意事项
- 版本匹配:确保所有组件的版本兼容性
- 内存要求:编译过程需要足够的内存,建议 8GB+ RAM
- 网络连接:下载依赖需要稳定的网络连接
- 权限问题:某些操作需要 sudo 权限
后续步骤
- 配置参数:根据你的传感器调整
config/params.yaml
- 数据采集:使用你的传感器采集数据
- 性能调优:根据实际场景调整算法参数
参考资源