当前位置: 首页 > news >正文

Mid-360激光雷达与Fast-LIO2实战:从环境搭建到实时建图

1. 环境准备:从零搭建开发环境

第一次接触Mid-360激光雷达和Fast-LIO2时,我花了两天时间才把环境搭好。现在回想起来,其实只要按照正确的顺序安装依赖库,整个过程可以压缩到1小时内完成。下面我会把踩过的坑都告诉你,让你少走弯路。

1.1 硬件与系统要求

我建议使用Ubuntu 20.04 LTS系统,这是目前ROS1最稳定的支持版本。实测在Ubuntu 22.04上会遇到各种兼容性问题,特别是Eigen库的版本冲突。硬件方面需要准备:

  • Livox Mid-360激光雷达(建议使用原厂附带的一分三线缆)
  • 千兆网卡(板载或USB3.0转接均可)
  • 至少4核CPU和8GB内存(建图过程较吃资源)

注意:如果使用虚拟机,务必开启USB3.0直通模式,否则雷达数据传输会不稳定。但我强烈推荐物理机安装,实测性能差距可达30%。

1.2 基础依赖安装

先更新系统并安装编译工具:

sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential cmake git wget

接下来是ROS1的安装。我推荐使用清华源加速下载:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt update sudo apt install -y ros-noetic-desktop-full

安装完成后别忘记初始化环境:

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

2. 关键依赖库安装

2.1 Ceres Solver安装

Ceres是Fast-LIO2的核心优化库,必须安装2.1.0版本。我试过用apt直接安装,但会出现ABI不兼容问题。推荐源码编译:

sudo apt-get -y install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev wget -O ceres-solver.zip https://github.com/ceres-solver/ceres-solver/archive/refs/tags/2.1.0.zip unzip -q ceres-solver.zip -d ~/third_party pushd ~/third_party/ceres-solver-2.1.0 mkdir build && cd build cmake -DBUILD_SHARED_LIBS=TRUE .. make -j$(nproc) sudo make install popd

编译完成后验证安装:

pkg-config --modversion ceres # 应该输出2.1.0

2.2 GTSAM安装

GTSAM是另一个重要的因子图优化库。最新版可能会有兼容性问题,建议使用4.1.1版本:

cd ~/third_party git clone --branch 4.1.1 https://github.com/borglab/gtsam.git mkdir -p gtsam/build && cd gtsam/build cmake -D GTSAM_USE_SYSTEM_EIGEN=ON .. make -j$(nproc) sudo make install

2.3 Livox SDK2配置

这是Mid-360的官方驱动库,必须正确安装:

cd ~/third_party git clone https://github.com/Livox-SDK/Livox-SDK2.git cd Livox-SDK2 mkdir build && cd build cmake .. make sudo make install

安装后需要配置udev规则:

sudo cp ~/third_party/Livox-SDK2/sdk_core/90-livox.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules

3. Fast-LIO2项目部署

3.1 创建工作空间

建议使用catkin工具管理ROS工作空间:

mkdir -p ~/catkin_ws/src cd ~/catkin_ws catkin_make source devel/setup.bash

3.2 下载与编译

推荐使用jiale67维护的版本,这个分支对Mid-360支持最好:

cd ~/catkin_ws/src git clone https://github.com/jiale67/Fast-lio2.git cd Fast-lio2 git submodule update --init cd ../.. catkin_make -j$(nproc)

编译时常见错误处理:

  • 如果遇到Eigen相关错误,检查是否安装了3.3.7版本
  • 如果提示找不到Livox SDK,尝试设置环境变量:
    export LIVOX_SDK2_DIR=~/third_party/Livox-SDK2

4. 雷达网络配置

4.1 主机IP设置

Mid-360使用有线网络连接,需要手动配置IP:

  1. 进入Ubuntu网络设置
  2. 选择有线连接→IPv4→手动
  3. 填写以下参数:
    • IP地址:192.168.1.5
    • 子网掩码:255.255.255.0
    • 网关:192.168.1.1

4.2 雷达参数配置

修改Fast-LIO2的雷达配置文件:

nano ~/catkin_ws/src/Fast-lio2/src/livox_ros_driver2/config/MID360_config.json

关键参数说明:

  • lidar_ip: 雷达IP(默认为192.168.1.1XX,XX是SN码后两位)
  • imu_rate: 建议设置为100(与Mid-360的IMU频率一致)
  • pointcloud_topic: 保持为"livox/lidar"

5. 实时建图实战

5.1 启动建图节点

先启动雷达驱动:

source ~/catkin_ws/devel/setup.bash roslaunch livox_ros_driver2 rviz_MID360.launch

新建终端启动Fast-LIO2:

source ~/catkin_ws/devel/setup.bash roslaunch fast_lio2 fastlio_mapping.launch

5.2 结果可视化

在RViz中添加以下显示项:

  1. 添加PointCloud2,Topic设置为"/cloud_registered"
  2. 添加Path,Topic设置为"/odometry_path"
  3. 调整点云大小设为0.05以获得最佳视觉效果

常见问题排查:

  • 如果点云不显示,检查雷达IP是否正确
  • 如果建图漂移严重,尝试调整fastlio_mapping.launch中的mapping参数
  • 点云密度不足时,可以修改point_filter_num参数

6. 参数调优经验

经过多次实测,我发现这些参数对Mid-360效果最好:

<param name="mapping/point_filter_num" value="1"/> <param name="mapping/max_iteration" value="3"/> <param name="mapping/cube_side_length" value="20.0"/>

对于室内场景,建议将cube_side_length减小到10.0;室外大场景则可以增大到50.0。如果遇到计算资源不足的情况,可以适当增加point_filter_num的值。

建图质量的关键在于IMU和雷达的时间同步。Mid-360内置的硬件同步已经很不错,但如果发现轨迹漂移,可以尝试:

sudo ptpd -i enp3s0 -M

这会启动PTP时间同步协议,实测可以将时间误差控制在微秒级。

http://www.jsqmd.com/news/604996/

相关文章:

  • zq—算法基础:时空复杂度()
  • 多线程——面试中一个常考的内容(7)
  • 航海小知识 | 电子海图是什么?不止是“把图纸搬进电脑”
  • 朝闻道夕死可以(吗?
  • IIS配置HTTPS如何多个二级域名连接!
  • 如何在Dify知识库中实现多条件排除查询
  • STLink烧录器使用指南与STM单片机调试技巧
  • OpenClaw+千问3.5-35B-A3B-FP8内容处理实战:从图片识别到Markdown报告生成
  • 6款AI论文降重软件,智能改写与优化,显著提升原创度。
  • 处理通用产品时使用变量
  • Dify如何实现多轮对话记忆?
  • 2026企业媒体发稿成本管控行业洞察:找媒体发稿成本太高怎么办?邯郸市佳铭文化教你破局之道
  • 2026年四川地区消防训练箱公司TOP5推荐 附参数对比 - 优质品牌商家
  • 网卡数据处理机制与性能优化实战
  • 好用的办公家具推荐
  • aardio桌面开发实战:轻量级串口控制工具开发
  • 渗透基础知识ctfshow——Web应用安全与防护(第二章)
  • 0欧姆电阻在电子设计中的关键应用与选型指南
  • 6款AI论文改写工具,智能降重与语言润色,有效减少重复率。
  • AI率降完复测变高,不是工具问题是这个原因
  • k8s资源之StatefulSet
  • 从一次线上事故复盘:我们如何用OWASP ZAP揪出jQuery遗留的AJAX CSRF漏洞
  • DVCon 2025 论文精华导读及下载链接
  • Arduino传感器线性映射封装库:模拟信号调理与缓存优化
  • 2026最新!5款亲测好用的录音转写在线神器,免费无套路,办公学习必备真香!
  • 2026温州本地正规黄金白银回收标杆名录 附选购避坑全指南 - 优质品牌商家
  • 揭秘Apollo框架C++内存泄漏:3步定位、2分钟修复,车载系统崩溃率直降92%
  • Anomaly Detection系列(CVPR2025 LASB论文解读)
  • Dify知识库如何实现多轮对话中的情感分析
  • Redis面试问题大全,看这些就够了(凭借这个oc网易,快手)