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

  运行成功截图如下

相关推荐
雷工笔记1 小时前
Ubuntu迁移记录
笔记·ubuntu
一叶龙洲2 小时前
ubuntu26.04 xfce美化成mac
服务器·ubuntu·macos
一叶龙洲14 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
敖行客 Allthinker16 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
keyipatience17 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
观山岳五楼18 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
辰痕~19 小时前
物理机装Linux操作系统(Ubuntu为例)
linux·ubuntu
Byron Loong1 天前
【Git】如何检查 Ubuntu 系统上 gitLab 是否开启
git·ubuntu·gitlab
一叶龙洲2 天前
win11与Ubuntu之间同步配置、插件
linux·运维·ubuntu
小秋求学记.2 天前
Linux_Ubuntu的相关问题
linux·运维·ubuntu