Ubuntu 20.04使用Livox mid 360 测试 FAST_LIO

不懂音乐的欣赏者 2024-06-14 09:07:03 阅读 74

前言

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.gitcd ./Livox-SDK2/mkdir build && cd buildcmake .. && make -jsudo make install

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

2. 编译FAST_LIO工程

2.1. 创建ROS1工程

mkdir fast_lio && cd fast_liomkdir src && cd src

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

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

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

git clone https://github.com/hku-mars/FAST_LIO.gitcd FAST_LIOgit submodule update --initcd ../..

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.bashroslaunch livox_ros_driver2 msg_MID360.launch

请添加图片描述

另外一个终端运行

source devel/setup.bashroslaunch fast_lio mapping_mid360.launch

运行成功截图如下

请添加图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。