Ubuntu 20.04使用Livox mid 360 测试 FAST_LIO

前言

Livox mid360需要使用Livox-SDK2,而非Livox-SDK,以及对应的livox_ros_driver2 。并需要修改FAST_LIO中部分代码。

1. 安装Livox-SDK2

参考官方教程

1.1. 安装CMake

c 复制代码
sudo apt install cmake

1.2. 安装编译Livox-SDK2

c 复制代码
git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd ./Livox-SDK2/
mkdir build && cd build
cmake .. && make -j
sudo make install

Livox-SDK2可以下载在任何位置并编译安装。

2. 编译FAST_LIO工程

2.1. 创建ROS1工程

c 复制代码
mkdir fast_lio && cd fast_lio
mkdir src && cd src

2.2. 在src文件夹中下载FAST_LIO源码

c 复制代码
git clone https://github.com/hku-mars/FAST_LIO.git
cd FAST_LIO
git submodule update --init
cd ../..

2.3. 在src文件夹中下载livox_ros_driver2源码

c 复制代码
git clone https://github.com/Livox-SDK/livox_ros_driver2.git

3. 修改FAST_LIO代码

3.1. 修改FAST_LIO的CMakelists.txt

修改前:

c 复制代码
find_package(catkin REQUIRED COMPONENTS
  geometry_msgs
  nav_msgs
  sensor_msgs
  roscpp
  rospy
  std_msgs
  pcl_ros
  tf
  livox_ros_driver		# <-修改这里
  message_generation
  eigen_conversions
)

修改后:

c 复制代码
find_package(catkin REQUIRED COMPONENTS
  geometry_msgs
  nav_msgs
  sensor_msgs
  roscpp
  rospy
  std_msgs
  pcl_ros
  tf
  livox_ros_driver2		# <-修改这里
  message_generation
  eigen_conversions
)

3.2. 修改FAST_LIO的package.xml

修改前:

c 复制代码
<build_depend>livox_ros_driver</build_depend>
<run_depend>livox_ros_driver</run_depend>

修改后:

c 复制代码
<build_depend>livox_ros_driver2</build_depend>
<run_depend>livox_ros_driver2</run_depend>

3.3. 修改FAST_LIO的头文件引用

分别打开FAST_LIO/src/preprocess.hFAST_LIO/src/laserMapping.cpp

修改前:

c 复制代码
#include <livox_ros_driver/CustomMsg.h>

修改后:

c 复制代码
#include <livox_ros_driver2/CustomMsg.h>

3.3. 修改FAST_LIO的命名空间

分别打开FAST_LIO/src/preprocess.hFAST_LIO/src/preprocess.cppFAST_LIO/src/laserMapping.cpp 中的命名空间,有多处需要修改

修改前:

c 复制代码
livox_ros_driver::

修改后:

c 复制代码
livox_ros_driver2::

4. 编译工程

在工程目录的fast_lio/src/livox_ros_driver2 使用下面指令编译,不要直接使用catkin_make

c 复制代码
cd src/livox_ros_driver2
./build.sh ROS1

编译成功如下图

如果还有编译错误提示,那就说明livox_ros_driver::没有全部改成livox_ros_driver2:: ,如下图:

5. 修改Livox mid360的配置

参考官方教程

5.1. 修改电脑IP地址

建议电脑ip修改为192.168.1.5,否则需要修改下面的配置文件中对应的电脑ip,DNS地址写不写无所谓。

5.2. 修改Livox mid360 IP

打开文件fast_lio/src/livox_ros_driver2/config/MID360_config.json。Livox mid360的IP是出厂后已经固定下来的,看它上面的二维码下面的 SN 码 ,后两个数字前面再加一个1,便是其对应的ip。(例如 SN 码后两位数字为12,那它对应的ip就是192.168.1.112)。

c 复制代码
{
  "lidar_summary_info" : {
    "lidar_type": 8
  },
  "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" : {
      "cmd_data_ip" : "192.168.1.5",  	# <-这里和修改后的电脑ip一致
      "cmd_data_port": 56101,
      "push_msg_ip": "192.168.1.5",  	# <-这里和修改后的电脑ip一致
      "push_msg_port": 56201,
      "point_data_ip": "192.168.1.5",  	# <-这里和修改后的电脑ip一致
      "point_data_port": 56301,
      "imu_data_ip" : "192.168.1.5",  	# <-这里和修改后的电脑ip一致
      "imu_data_port": 56401,
      "log_data_ip" : "",
      "log_data_port": 56501
    }
  },
  "lidar_configs" : [
    {
      "ip" : "192.168.1.12",		  	# <-这里是Livox mid360的ip
      "pcl_data_type" : 1,
      "pattern_mode" : 0,
      "extrinsic_parameter" : {
        "roll": 0.0,
        "pitch": 0.0,
        "yaw": 0.0,
        "x": 0,
        "y": 0,
        "z": 0
      }
    }
  ]
}

6. 运行测试

打开两个终端,分别运行

c 复制代码
source devel/setup.bash
roslaunch livox_ros_driver2 msg_MID360.launch

另外一个终端运行

c 复制代码
source devel/setup.bash
roslaunch fast_lio mapping_mid360.launch

运行成功截图如下

相关推荐
搬砖者(视觉算法工程师)16 小时前
Ubuntu 24.04 LTS 系统上树莓派摄像头模块 v2.1(IMX219)的安装配置与故障排查
linux·数据库·ubuntu
拓云者也16 小时前
本文汇总了Linux 主流发行版Ubuntu的命令行操作指令集------包括零基础友好的常用命令分类整理,涵盖日常操作、系统管理、软件维护等核心场景
linux·运维·ubuntu
xiyuping2416 小时前
star2026视觉冬训任务书——利用Ubuntu与ROS1,打通控制与视觉全流程
linux·运维·ubuntu
乙酸氧铍18 小时前
python 实现解压7z生成的zip分卷
linux·python·ubuntu·zip·7z
林深现海20 小时前
二、如何在 ROS 2 仿真中实现四足机器人的 VLA(视觉-语言-动作)控制链路
linux·vscode·yolo·ubuntu·机器人
一只自律的鸡20 小时前
【Linux驱动】Ubuntu基础 上篇
linux·ubuntu
苏三福21 小时前
clawdbot 使用
linux·运维·ubuntu
yumenai_1 天前
【K8s 避坑指南】2026 最新 Kubernetes v1.28 + Containerd 安装全流程(内网/离线通用版)
ubuntu·云原生·容器·kubernetes·k8s
卿着飞翔1 天前
ubuntu上的mysql远程连不上root
mysql·ubuntu·adb
yumenai_1 天前
Ubuntu 虚拟机只有一个网卡时,如何在固定 IP 和 DHCP(手机热点)之间切换
ubuntu