LK 博客
雷达传输数据环境配置
项目
约 1 分钟阅读 0 赞 0 条评论 鸿蒙黑体

雷达传输数据环境配置

Jokerbai
Jokerbai @Jokerbai
累计点赞 0 登录后每个账号只能点一次
内容长度 0 正文词元数
正文
目录会跟随阅读位置移动。
阅读进度

Livox Mid-360 在 Ubuntu 24.04 + ROS 2 Jazzy 环境下从零配置工作汇报

一、工作背景

本阶段工作的主要目标,是在现有 Ubuntu 24.04 + ROS 2 Jazzy 环境基础上,完成 Livox Mid-360 激光雷达 的从零接入与基础运行验证,为后续的点云采集、SLAM 建图和三维重建实验打通前置链路。

  • 完成 Mid-360 硬件接入与网络配置
  • 在 Ubuntu 24.04 上部署 Livox 相关开发环境
  • 编译并安装 Livox-SDK2
  • 编译并运行 livox_ros_driver2
  • 在 ROS 2 Jazzy 环境下成功接收点云数据
  • 在 RViz 中完成实时点云可视化
  • 完成第一包 rosbag 数据录制

二、工作目标

结合当前研究任务,本次从零配置工作的具体目标如下:

  1. 梳理 Mid-360 在 Ubuntu 24.04 + ROS 2 Jazzy 环境下的部署流程。
  2. 解决 Livox 驱动在新系统、新编译器环境下可能出现的兼容性问题。
  3. 建立一套可复现的配置流程,便于后续在其他设备或新环境中快速迁移。
  4. 完成雷达数据接入验证,并为后续的点云建图与三维重建实验准备输入数据。

三、当前环境与基础条件

3.1 硬件条件

本次工作使用的硬件条件如下:

  • Livox Mid-360 激光雷达
  • 对应供电设备
  • 网线 / 交换机
  • Ubuntu 24.04 主机
  • 主机有线网口可用

3.2 软件环境

当前主机软件环境如下:

  • Ubuntu 24.04 LTS
  • ROS 2 Jazzy
  • 终端与 sudo 权限正常
  • 可正常使用 gitcmakeapt

3.3 环境特点说明

需要说明的是,当前环境中的 Ubuntu 24.04 + ROS 2 Jazzy 并不是 Livox 官方资料里最常见的推荐组合。与传统的 Ubuntu 20.04 / 22.04 + ROS 2 Foxy / Humble 相比,这套环境在使用 Livox-SDK2livox_ros_driver2 时,可能会出现一些兼容性问题。

因此,本次工作的一个重点,就是在不更换现有主系统的前提下,将 Mid-360 基础链路跑通,并总结出针对 24.04 + Jazzy 的配置经验。

四、总体实施思路

本次配置工作没有直接进入三维重建阶段,而是按“先打通采集链路,再开展上层算法”的思路推进。总体流程如下:

硬件接通
→ 网络配置
→ 安装基础依赖
→ 编译 Livox-SDK2
→ 创建 ROS 2 工作区
→ 编译 livox_ros_driver2
→ 配置 Mid-360 JSON 文件
→ 配置主机网卡 IP
→ 启动驱动并查看实时点云
→ 录制 rosbag 数据
→ 为后续 SLAM / 三维重建做准备

这样做的原因是:当前只有雷达,没有现成数据文件,也没有直接可用的重建输入,因此必须先完成实时点云接入与数据录制,后续的建图和重建才有基础。

五、具体工作过程

5.1 系统与 ROS 2 环境检查

首先对系统基础环境进行确认,保证当前主机为 Ubuntu 24.04,且 ROS 2 Jazzy 已正确安装并可使用。

使用的检查命令如下:

lsb_release -a
source /opt/ros/jazzy/setup.bash
ros2 --version

通过以上检查,可以确认:

  • 系统版本正确
  • ROS 2 Jazzy 已可正常加载
  • 后续 ROS 2 工作区构建具备前提条件

5.2 安装基础依赖

在进入 Livox 相关源码编译前,先补齐必要的构建依赖与点云依赖。安装命令如下:

sudo apt update
sudo apt install -y \
  build-essential \
  cmake \
  git \
  pkg-config \
  libapr1-dev \
  libpcl-dev \
  python3-colcon-common-extensions

本步骤的主要作用是为后续的 SDK 编译、ROS 2 工作区构建以及点云驱动依赖准备基础环境。

5.3 编译并安装 Livox-SDK2

在完成依赖安装后,开始部署 Livox-SDK2。该组件是后续 livox_ros_driver2 的基础依赖,因此必须先完成安装。

执行步骤如下:

cd ~
git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd Livox-SDK2
mkdir -p build
cd build
cmake ..
make -j$(nproc)
sudo make install

5.3.1 遇到的典型问题

在 Ubuntu 24.04 环境下,Livox-SDK2 可能出现部分源码头文件不完整、编译器检查更严格等问题,常见报错集中在以下几类:

  • uint8_tuint32_tint64_t 等整型定义找不到
  • 某些头文件缺少标准整型声明
  • GCC 13 下兼容性更严格导致旧代码暴露问题

5.3.2 处理思路

若出现上述报错,可检查相关头文件并补充:

#include <cstdint>

通常优先检查以下文件:

  • sdk_core/comm/define.h
  • sdk_core/logger_handler/file_manager.h

处理完成后重新执行:

cd ~/Livox-SDK2/build
cmake ..
make -j$(nproc)
sudo make install

本步骤的目标是确保系统中已经安装好可被驱动调用的 Livox SDK 动态库。

5.4 创建 ROS 2 工作区

在完成 SDK 安装后,开始建立专用于 Livox 雷达驱动的 ROS 2 工作区。创建方式如下:

mkdir -p ~/ws_livox/src
cd ~/ws_livox/src

这样做的目的是将雷达驱动与其他项目分离,避免后续多项目环境相互影响,也便于单独维护和调试。

5.5 获取并编译 livox_ros_driver2

在工作区中拉取驱动源码:

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

进入驱动目录后,先加载 Jazzy 环境:

cd ~/ws_livox/src/livox_ros_driver2
source /opt/ros/jazzy/setup.bash

由于当前环境为 Jazzy,而驱动脚本本身更偏向 Foxy / Humble 体系,因此优先采用以下构建方式:

./build.sh humble

这样做的目的,是尽量走驱动中更稳定的一套 ROS 2 构建分支,以降低直接使用 Jazzy 可能带来的编译问题。

5.5.1 如果构建失败

./build.sh humble 方式未通过,可采用手动构建方式重新编译:

cd ~/ws_livox/src/livox_ros_driver2
rm -rf ../../build ../../install ../../log
cp -f package_ROS2.xml package.xml
cp -rf launch_ROS2 launch

cd ~/ws_livox
source /opt/ros/jazzy/setup.bash
colcon build --cmake-args -DROS_EDITION=ROS2 -DHUMBLE_ROS=humble

此方式本质上是在 ROS 2 工作区内强制指定驱动按 ROS2 + Humble 的兼容路径进行构建,通常比直接用默认分支更容易成功。

5.6 配置 Mid-360 网络参数

驱动编译完成后,下一步是修改 Mid-360 对应的 JSON 配置文件,使雷达 IP 与主机网卡 IP 处于同一网段。

编辑命令如下:

nano ~/ws_livox/src/livox_ros_driver2/config/MID360_config1.json

配置时重点关注以下字段:

  • lidar_ip
  • host_ip
  • point_data_port
  • imu_data_port

可参考如下配置:

{
  "MID360": {
    "lidar_net_info": {
      "cmd_data_port": 56100,
      "push_msg_port": 56200,
      "point_data_port": 56300,
      "imu_data_port": 56400,
      "log_data_port": 56500
    },
    "host_net_info": [
      {
        "lidar_ip": ["192.168.1.100"],
        "host_ip": "192.168.1.5",
        "cmd_data_port": 56101,
        "push_msg_port": 56201,
        "point_data_port": 56301,
        "imu_data_port": 56401,
        "log_data_port": 56501
      }
    ]
  },
  "lidar_configs": [
    {
      "ip": "192.168.1.100",
      "pcl_data_type": 1,
      "pattern_mode": 0,
      "extrinsic_parameter": {
        "roll": 0.0,
        "pitch": 0.0,
        "yaw": 0.0,
        "x": 0,
        "y": 0,
        "z": 0
      }
    }
  ]
}

本次配置中,主机 IP 与雷达 IP 只要位于同一网段即可。首次部署时,建议尽量沿用示例端口,不对端口号做额外修改,以减少排查复杂度。

5.7 配置主机有线网卡 IP

完成 JSON 文件设置后,还需要将 Ubuntu 主机的有线网卡手动设置到与雷达相同的网段。

首先查看网卡名称:

ip addr

若有线网卡名称为 enp3s0,可执行:

sudo ip addr add 192.168.1.5/24 dev enp3s0
sudo ip link set enp3s0 up
ip addr show dev enp3s0

若提示地址已存在,可以先清空再重新设置:

sudo ip addr flush dev enp3s0
sudo ip addr add 192.168.1.5/24 dev enp3s0
sudo ip link set enp3s0 up

本步骤完成后,主机与 Mid-360 在网络层面上应已具备通信条件。

5.8 启动驱动并验证点云接收

网络和配置文件准备完成后,开始启动 Livox ROS 2 驱动。执行命令如下:

cd ~/ws_livox
source /opt/ros/jazzy/setup.bash
source install/setup.bash
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
ros2 launch livox_ros_driver2 rviz_MID360_launch.py

本步骤的目标包括:

  • 启动 Mid-360 驱动节点
  • 发布点云相关 ROS 2 话题
  • 自动打开 RViz 进行可视化验证

其中,添加 LD_LIBRARY_PATH 的目的是防止系统运行时找不到 Livox-SDK2 安装后的共享库文件。

5.9 RViz 点云可视化检查

若驱动启动成功但 RViz 未正常显示点云,需要重点检查以下内容:

(1)Fixed Frame 设置

在 RViz 中,将 Fixed Frame 设置为:

livox_frame

(2)雷达供电与网线连接

检查 Mid-360 是否正常供电、网线是否接触良好、交换机或网口指示灯是否正常。

(3)IP 是否同网段

确认:

  • 雷达 IP
  • 主机网卡 IP
  • JSON 文件中的配置 IP

三者一致且处于同一网段。

(4)共享库问题

如果出现类似如下报错:

liblivox_lidar_sdk_shared.so: cannot open shared object file

则说明运行时未正确找到 SDK 动态库,需要重新导出:

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib

必要时可将其写入 ~/.bashrc 以长期生效。

5.10 查看 ROS 2 话题与数据状态

为了进一步确认雷达数据是否正常发布,可打开新终端执行:

cd ~/ws_livox
source /opt/ros/jazzy/setup.bash
source install/setup.bash
ros2 topic list

然后查看点云话题频率:

ros2 topic hz /livox/lidar

需要注意的是,具体话题名称可能会随 launch 配置变化,因此建议先通过 ros2 topic list 确认实际发布名称,再查看频率。

本步骤的意义在于:即使 RViz 没有正常显示,也能通过 ROS 2 话题层面判断驱动是否真正收到并发布了点云数据。

5.11 录制第一包 rosbag 数据

在确认点云链路正常后,进行第一包原始数据录制,命令如下:

cd ~/ws_livox
source /opt/ros/jazzy/setup.bash
source install/setup.bash
ros2 bag record -a

第一次录制建议控制在较短时长,优先选择小场景进行测试,例如:

  • 一个房间
  • 一段走廊
  • 一张桌子周边区域

录制时建议:

  • 移动速度较慢
  • 尽量平稳
  • 保留一定重复路径
  • 时长控制在 30 秒到 1 分钟左右

这样做的目的是先验证整个采集链路,再为后续点云回放、SLAM 建图和三维重建提供第一份测试数据。

六、本阶段工作结果

按照上述流程,本阶段工作的预期结果应包括以下几项:

  1. 已完成 Ubuntu 24.04 + ROS 2 Jazzy 基础环境确认。
  2. 已完成 Livox-SDK2 的部署与安装。
  3. 已完成 livox_ros_driver2 工作区建立与驱动编译。
  4. 已完成 Mid-360 网络参数配置。
  5. 已完成主机网卡与雷达设备的同网段设置。
  6. 已完成 ROS 2 驱动启动测试。
  7. 已在 RViz 中完成实时点云显示验证。
  8. 已完成第一包 rosbag 数据录制。

如果上述结果全部达成,则说明当前系统已经具备开展下一阶段实验的基础条件。

七、当前存在的问题与风险点

虽然本阶段总体目标明确,但在 Ubuntu 24.04 + Jazzy 环境下仍存在若干风险点,需要在后续工作中持续关注:

7.1 官方支持力度有限

当前系统组合并非传统推荐环境,因此出现兼容性问题的概率相对更高。

7.2 SDK 与驱动的版本适配问题

在 24.04 / GCC 13 条件下,旧版本源码可能暴露更多编译问题,需要补充头文件或调整构建方式。

7.3 网络配置易出错

雷达项目中最常见的问题之一并不是代码,而是:

  • IP 配置错误
  • 网卡选择错误
  • 配置文件与实际网口不一致

7.4 可视化不等于链路失败

RViz 没有点云显示时,不一定是驱动完全失败,也可能只是 Fixed Frame、话题选择或 RViz 配置问题,因此需要配合 ros2 topic listros2 topic hz 一起判断。

八、下一阶段工作计划

完成本次“从零配置”后,下一阶段将进入数据处理与建图实验阶段。计划工作如下:

  1. 对录制得到的 rosbag 数据进行回放验证。
  2. 接入 LiDAR 里程计或 SLAM 算法进行点云建图。
  3. 输出全局点云地图并进行去噪、滤波、下采样等处理。
  4. 在条件允许时,尝试基于点云生成表面模型,实现初步三维重建。
  5. 进一步评估 Mid-360 在实际场景中的建图质量与稳定性。

从研究路线来看,只有雷达时,最核心的阶段性成果通常是“全局点云地图”,而不是一开始就生成带纹理的三维模型。因此后续工作会优先围绕点云建图展开。

九、附录:关键命令整理

9.1 检查系统与 ROS 2

lsb_release -a
source /opt/ros/jazzy/setup.bash
ros2 --version

9.2 安装依赖

sudo apt update
sudo apt install -y \
  build-essential \
  cmake \
  git \
  pkg-config \
  libapr1-dev \
  libpcl-dev \
  python3-colcon-common-extensions

9.3 安装 Livox-SDK2

cd ~
git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd Livox-SDK2
mkdir -p build
cd build
cmake ..
make -j$(nproc)
sudo make install

9.4 构建驱动

mkdir -p ~/ws_livox/src
cd ~/ws_livox/src
git clone https://github.com/Livox-SDK/livox_ros_driver2.git
cd livox_ros_driver2
source /opt/ros/jazzy/setup.bash
./build.sh humble

9.5 手动构建驱动

cd ~/ws_livox/src/livox_ros_driver2
rm -rf ../../build ../../install ../../log
cp -f package_ROS2.xml package.xml
cp -rf launch_ROS2 launch

cd ~/ws_livox
source /opt/ros/jazzy/setup.bash
colcon build --cmake-args -DROS_EDITION=ROS2 -DHUMBLE_ROS=humble

9.6 配置网卡

ip addr
sudo ip addr add 192.168.1.5/24 dev enp3s0
sudo ip link set enp3s0 up

9.7 启动点云可视化

cd ~/ws_livox
source /opt/ros/jazzy/setup.bash
source install/setup.bash
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
ros2 launch livox_ros_driver2 rviz_MID360_launch.py

9.8 查看话题

ros2 topic list
ros2 topic hz /livox/lidar

9.9 录制 rosbag

ros2 bag record -a

十、总结

本次工作围绕 Livox Mid-360 在 Ubuntu 24.04 + ROS 2 Jazzy 环境下的从零配置 展开,重点解决了雷达设备接入、开发环境部署、驱动编译、点云可视化和数据录制等基础问题。

整体来看,本阶段工作属于后续三维重建任务的前置准备。只有先把“设备—驱动—ROS 2—点云—录包”这条链路跑通,后续的点云建图、位姿估计与三维重建实验才具备实际开展条件。

因此,本次工作的价值主要体现在两点:

  1. 打通了 Mid-360 在现有系统环境下的基础运行链路;
  2. 为后续激光 SLAM 与三维重建研究提供了可复现的环境基础与数据采集条件。

作者名片

Jokerbai
Jokerbai
@Jokerbai

这个作者暂时还没有填写个人简介。

评论区
文章作者和管理员都可以管理这里的评论。
0 条评论
登录后即可参与评论。 去登录
还没有评论,欢迎留下第一条交流内容。