ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Ubuntu 22.04 复现 Fast-LIO2 指南:ROS2 环境配置与编译实践

Ubuntu 22.04 复现 Fast-LIO2 指南:ROS2 环境配置与编译实践

投稿 Linux操作系统 作者:bhluo 时间:2025-11-17 13:52:37 0 删除 编辑

# Ubuntu 22.04 复现 Fast-LIO2 指南:ROS2 环境配置与编译实践


Fast-LIO2 作为高效的激光惯性里程计算法,在机器人领域具有重要应用价值。本文将详细介绍在 Ubuntu 22.04 系统上配置 ROS2 环境并复现 Fast-LIO2 的完整流程。


## 环境准备与系统要求


在开始复现之前,需要确保系统满足基本要求。推荐使用 Ubuntu 22.04 LTS 版本,该系统对 ROS2 Humble 提供了良好支持。


### 系统更新与基础依赖安装


首先更新系统并安装必要的开发工具:


```bash

# 更新系统软件包

sudo apt update && sudo apt upgrade -y


# 安装基础开发工具

sudo apt install -y \

    build-essential \

    cmake \

    git \

    wget \

    curl \

    software-properties-common \

    lsb-release

```


验证系统版本信息:


```bash

# 检查 Ubuntu 版本

lsb_release -a


# 检查系统架构

uname -m

```


## ROS2 Humble 安装与配置


### 安装 ROS2 基础环境


按照官方推荐方式安装 ROS2 Humble:


```bash

# 设置 locale

sudo apt update && sudo apt install -y locales

sudo locale-gen en_US en_US.UTF-8

sudo update-locale LC_ALL=en_US.UTF-8.UTF-8

export.UTF-8

<"kuww.com.cn">

<"zhongguoinfo.com">

<"bijiapinpai.com">


# 添加 ROS2 软件源

sudo apt install -y software-properties-common

sudo add-apt-repository universe


# 添加 ROS2 GPG 密钥

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg


# 添加 ROS2 仓库

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | \

    sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null


# 安装 ROS2 基础包

sudo apt update

sudo apt install -y ros-humble-desktop


# 安装开发工具

sudo apt install -y \

    python3-rosdep \

    python3-colcon-common-extensions \

    ros-dev-tools

<"fjiqx.com">

<"doyeepp.com">

<"wenfatshed.com">

```


### 配置 ROS2 环境


初始化 rosdep 并设置环境变量:


```bash

# 初始化 rosdep

sudo rosdep init

rosdep update


# 设置环境变量

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

source ~/.bashrc


# 验证安装

printenv | grep ROS

```


## CMake 版本管理与选择


Fast-LIO2 对 CMake 版本有一定要求,需要确保使用合适的版本:


```bash

# 检查当前 CMake 版本

cmake --version


# 如果版本较低,安装更新的 CMake

wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | \

    gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null

sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main"

sudo apt update

sudo apt install -y cmake cmake-qt-gui

<"hrbrkxfqc.com">

<"tjjsjcj.com">

<"xijiazx.mobi">


# 验证新版本

cmake --version

```


## 安装 Fast-LIO2 依赖项


### 安装 Eigen3 和 Pangolin


Fast-LIO2 依赖 Eigen3 进行矩阵运算,Pangolin 用于可视化:


```bash

# 安装 Eigen3

sudo apt install -y libeigen3-dev


# 安装 Pangolin 依赖

sudo apt install -y \

    libgl1-mesa-dev \

    libglew-dev \

    libwayland-dev \

    libxkbcommon-dev \

    wayland-protocols


# 编译安装 Pangolin

cd ~

git clone https://github.com/stevenlovegrove/Pangolin.git

cd Pangolin

mkdir build && cd build

cmake ..

make -j$(nproc)

sudo make install

```


### 安装 ROS2 相关依赖


安装 Fast-LIO2 所需的 ROS2 包:


```bash

# 安装 ROS2 导航相关包

sudo apt install -y \

    ros-humble-navigation2 \

    ros-humble-nav2-bringup \

    ros-humble-slam-toolbox

<"djmfzb.mobi">

<"yjmfzb.mobi">

<"fjmfzb.mobi">


# 安装点云处理相关包

sudo apt install -y \

    ros-humble-pcl-ros \

    ros-humble-laser-geometry

```


## 复现 Fast-LIO2


### 下载 Fast-LIO2 源代码


创建工作空间并下载源码:


```bash

# 创建工作空间

mkdir -p ~/fast_lio2_ws/src

cd ~/fast_lio2_ws/src


# 克隆 Fast-LIO2 代码

git clone https://github.com/hku-mars/FAST_LIO.git

cd FAST_LIO


# 下载子模块

git submodule update --init --recursive

```


### 编译 Fast-LIO2


使用 colcon 工具进行编译:


```bash

# 返回工作空间根目录

cd ~/fast_lio2_ws


# 安装依赖

rosdep install --from-paths src --ignore-src -r -y


# 编译代码

colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release


# 设置工作空间环境

echo "source ~/fast_lio2_ws/install/setup.bash" >> ~/.bashrc

source ~/.bashrc

<"mzlzb.mobi">

<"kqiuzb.mobi">

<"longmen.mobi">

```


### 解决编译问题


如果遇到编译错误,可能需要手动处理一些依赖关系:


```bash

# 安装 Livox SDK(如果使用 Livox 激光雷达)

cd ~

git clone https://github.com/Livox-SDK/Livox-SDK.git

cd Livox-SDK

mkdir build && cd build

cmake ..

make -j$(nproc)

sudo make install


# 重新编译 Fast-LIO2

cd ~/fast_lio2_ws

colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

```


## 运行与测试


### 准备测试数据


下载测试数据集验证算法:


```bash

# 创建数据目录

mkdir -p ~/fast_lio2_data

cd ~/fast_lio2_data


# 下载示例数据(以官方提供的示例为准)

wget [数据文件链接]

```


### 运行 Fast-LIO2


启动 Fast-LIO2 节点:


```bash

# 启动 ROS2 核心

roscore &


# 在新的终端中运行 Fast-LIO2

source ~/fast_lio2_ws/install/setup.bash

ros2 launch fast_lio mapping.launch.py

<"feisuzb.mobi">

<"zhizhuzb.mobi">

<"meihzilian.mobi">


# 或者使用具体配置文件

ros2 run fast_lio fastlio_mapping --ros-args -p config_file:=$(pwd)/config/avia.yaml

```


### 数据播放与可视化


播放数据包并查看结果:


```bash

# 播放数据包

ros2 bag play [数据包路径]


# 启动 RViz2 进行可视化

rviz2


# 在 RViz2 中添加相关显示:

# - 添加 PointCloud2 显示激光点云

# - 添加 Path 显示轨迹

# - 添加 TF 显示坐标系关系

```


## 参数配置与调优


### 修改配置文件


根据传感器类型调整参数:


```yaml

# config/avia.yaml 示例配置

preprocess:

    lidar_type: 1           # Livox Avia

    point_filter_num: 1

    scan_line: 6


postprocess:

    publish_frame: "camera_init"

    extrinsic_T: [0.0, 0.0, 0.0]

    extrinsic_R: [1.0, 0.0, 0.0,

                  0.0, 1.0, 0.0, 

                  0.0, 0.0, 1.0]

```


### 性能优化配置


调整编译参数提升性能:


```bash

# 重新编译启用优化

cd ~/fast_lio2_ws

colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-O3 -march=native"

```


## 故障排除


### 常见问题解决


**问题1:Pangolin 编译错误**


```bash

# 确保安装所有依赖

sudo apt install -y libjpeg-dev libpng-dev


# 重新编译 Pangolin

cd Pangolin/build

cmake -DCMAKE_BUILD_TYPE=Release ..

make -j$(nproc)

<"zuxie.mobi">

<"nbab.mobi">

<"cbab.mobi">

```


**问题2:ROS2 消息类型错误**


```bash

# 更新消息定义

rosdep update

rosdep install --from-paths src --ignore-src -r -y


# 重新编译

colcon build

```


**问题3:CUDA 相关错误(如果使用 GPU)**


```bash

# 检查 CUDA 安装

nvidia-smi


# 如果未安装 CUDA,可安装或禁用 CUDA 支持

cd ~/fast_lio2_ws

colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_CUDA=OFF

```


### 调试技巧


使用 ROS2 工具进行调试:


```bash

# 查看节点状态

ros2 node list


# 查看话题列表

ros2 topic list


# 查看具体话题内容

ros2 topic echo /topic_name


# 检查 TF 树

ros2 run tf2_tools view_frames.py

```


## 结果验证与评估


### 轨迹精度评估


使用 EVO 工具进行轨迹评估:


```bash

# 安装 EVO

pip install evo --upgrade --no-binary evo


# 保存轨迹数据

ros2 topic echo /fastlio/odometry --csv > odometry.csv


# 评估轨迹精度

evo_rpe kitti ground_truth.txt odometry.txt -r trans_part --align --plot

```


### 性能分析


监控系统资源使用情况:


```bash

# 查看 CPU 和内存使用

htop


# 监控 ROS2 节点性能

ros2 run fast_lio performance_monitor

```


通过以上步骤,您应该能够在 Ubuntu 22.04 系统上成功复现 Fast-LIO2。整个过程涉及 ROS2 环境配置、依赖管理、编译优化和运行调试等多个环节,每个步骤都需要仔细执行。如果在某个环节遇到问题,建议参考官方文档和社区讨论寻求解决方案。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/19545/viewspace-3101866/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-11-01

  • 博文量
    895
  • 访问量
    933562