LIO-SAM算法实战:从理论到代码实现

1. 环境准备:从零搭建LIO-SAM实战平台

想动手把LIO-SAM跑起来,第一步就是把环境搭好。这听起来有点枯燥,但就像盖房子打地基,地基稳了后面才不容易出问题。我刚开始折腾的时候,也在这里踩过不少坑,比如依赖版本冲突、编译报错找不到头文件,一折腾就是大半天。所以,我把自己趟过的路总结一下,争取让你一次搞定。

LIO-SAM的核心依赖其实就三大块:ROSGTSAMPCL。ROS是机器人操作系统,提供了消息传递、工具集这些基础设施;GTSAM是乔治亚理工开发的因子图优化库,LIO-SAM里那个关键的因子图优化就靠它;PCL是点云库,所有点云数据的处理都离不开它。我们的目标就是在Ubuntu系统上,把这三位“大爷”请到位,并且让它们和谐共处。

我强烈推荐使用 Ubuntu 20.04 搭配 ROS Noetic。这是经过社区大量验证的稳定组合,相关的教程和问题解答也最全。如果你用Ubuntu 18.04或22.04,也不是不行,但可能会遇到一些需要额外解决的依赖问题,对新手不太友好。

下面是一套我实测可用的“懒人”安装命令,你可以打开终端,一条一条执行。记得在安装ROS那一步,根据提示选择desktop-full版本,这样基础的视觉、仿真工具就都齐了。

# 1. 设置ROS Noetic的软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

# 2. 更新软件包列表并安装ROS Noetic桌面完整版
sudo apt update
sudo apt install ros-noetic-desktop-full

# 3. 初始化rosdep并设置环境变量
sudo rosdep init
rosdep update
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

# 4. 安装编译工具和必要的依赖
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
sudo apt install libpcl-dev libeigen3-dev libboost-all-dev

# 5. 安装GTSAM (因子图优化库)
# 建议安装4.1.1版本,这是LIO-SAM官方推荐兼容的版本
cd ~
git clone https://github.com/borglab/gtsam.git
cd gtsam
git checkout 4.1.1
mkdir build && cd build
cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..
sudo make install -j$(nproc)

安装完这些,基础环境就差不多了。接下来就是获取LIO-SAM的源代码。我建议你在~/catkin_ws/src目录下操作,这是ROS工作空间的标准结构。把代码克隆下来后,用catkin_make命令编译。编译过程可能会花点时间,如果一切顺利,最后看到[100%] Built target lio_sam_mapOptmization这样的输出,就说明成功了。

# 6. 创建ROS工作空间并下载LIO-SAM源码
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/TixiaoShan/LIO-SAM.git

# 7. 安装LIO-SAM的ROS依赖
cd ~/catkin_ws
rosdep install --from-paths src --ignore-src -r -y

# 8. 编译LIO-SAM
catkin_make -j$(nproc)

编译成功只是第一步,我们还需要数据来测试。LIO-SAM的作者在GitHub上提供了几个公开数据集,比如Walking DatasetPark Dataset。你可以用wget命令下载。下载后,通常是一个.bag文件,这是ROS的标准数据记录格式,里面包含了录制好的点云、IMU等数据流。播放这个bag文件,就相当于你的机器人“重走”了一遍录制时的路线,LIO-SAM算法会实时处理这些数据并建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值