Ubuntu 20.04使用Livox mid 360 测试 FAST_LIO

本文指导如何在ROS1环境中使用LivoxMid360激光雷达,需从Livox-SDK升级到Livox-SDK2,并更新FAST_LIO代码、依赖项和配置文件,以适应新的驱动程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

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

1. 安装Livox-SDK2

参考官方教程
1.1. 安装CMake

sudo apt install cmake

1.2. 安装编译Livox-SDK2

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工程

mkdir fast_lio && cd fast_lio
mkdir src && cd src

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

git clone https://github.com/Livox-SDK/livox_ros_driver2.git
cd livox_ros_driver2
./build.sh ROS1

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

git clone https://github.com/hku-mars/FAST_LIO.git
cd FAST_LIO
git submodule update --init
cd ../..

3. 修改FAST_LIO代码

3.1. 修改FAST_LIO的CMakelists.txt
修改前:

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
)

修改后:

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
修改前:

<build_depend>livox_ros_driver</build_depend>
<run_depend>livox_ros_driver</run_depend>

修改后:

<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
修改前:

#include <livox_ros_driver/CustomMsg.h>

修改后:

#include <livox_ros_driver2/CustomMsg.h>

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

livox_ros_driver::

修改后:

livox_ros_driver2::

4. 编译工程

  fast_lio的编译依赖于livox_ros_driver2包,因此需要确保livox_ros_driver2在编译fast_lio之前编译,然后再编译整个工程。如果livox_ros_driver2还未编译,需要先将FAST_LIO移出src文件夹,编译livox_ros_driver2后再将FAST_LIO移回来。

catkin_make

  编译成功如下图
在这里插入图片描述
  如果还有编译错误提示,那就说明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)。

{
  "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. 运行测试

  打开两个终端,分别运行

source devel/setup.bash
roslaunch livox_ros_driver2 msg_MID360.launch

请添加图片描述

  另外一个终端运行

source devel/setup.bash
roslaunch fast_lio mapping_mid360.launch

  运行成功截图如下
请添加图片描述

### 安装 Livox Mapping 软件或驱动程序 要在 Ubuntu 20.04 上安装 Livox Mapping 软件及其相关依赖项,可以按照以下方法操作: #### 准备工作 确保系统已更新至最新状态并安装必要的工具包: ```bash sudo apt update && sudo apt upgrade -y sudo apt install build-essential cmake git wget unzip -y ``` #### 步骤一:安装 ROS 和 Livox SDK 为了运行 Livox Mapping 功能模块,需先完成 ROS 的安装以及 Livox SDK 的配置。 1. **安装 ROS Noetic** 参考官方文档或者指定链接[^3]中的说明来安装 ROS Noetic 版本。完成后设置环境变量: ```bash source /opt/ros/noetic/setup.bash ``` 2. **安装 Livox SDK** 根据提供的教程克隆仓库并构建 Livox SDK: ```bash mkdir ~/ws_livox/src cd ~/ws_livox/src git clone https://github.com/Livox-SDK/livox_ros_driver.git . ``` 构建 Catkin 工作空间: ```bash cd ~/ws_livox/ catkin_make echo "source ~/ws_livox/devel/setup.bash" >> ~/.bashrc source ~/.bashrc ``` #### 步骤二:安装 PCL 库 由于 Livox Mapping 需要用到 Point Cloud Library (PCL),因此需要正确安装该库。如果遇到编译错误,则参考解决方案[^4]调整安装流程。 1. 添加 PPA 并安装 PCL 1.8 或更高版本: ```bash sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl sudo apt-get update sudo apt-get install libpcl-dev pcl-tools ``` 2. 如果仍存在兼容性问题,请手动下载源码进行编译。具体步骤如下: - 下载对应版本的 PCL 源代码; - 使用 CMake 编译并安装。 #### 步骤三:获取 Livox Mapping 文件 通过 Git 获取 Livox 提供的地图生成器项目或其他功能扩展脚本。 1. 克隆映射相关的存储库(假设目标为 `livox_mapping`): ```bash git clone https://github.com/Livox-SDK/livox_ros_driver.git ~/ws_livox/src/mapping_module ``` 2. 修改路径下的参数文件以适配硬件设备型号(如 MID-70),通常位于 `.yaml` 中定义传感器属性。 #### 步骤四:验证与测试 启动节点前确认所有服务正常运作无误后再执行命令加载地图生成逻辑。 ```bash roslaunch livox_ros_driver demo.launch rosrun mapping_node generate_map ``` 以上即完成了基于 Ubuntu 20.04 系统环境下针对 Livox 设备支持的一系列准备工作及实际应用部署指南[^4]。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值