当前位置:   article > 正文

mid360运行FAST_LIO

mid360运行FAST_LIO

本文来自 https://blog.csdn.net/qq_16775293/article/details/132408005

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

1 安装SDK

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文件夹中下载FAST_LIO源码

git clone https://github.com/hku-mars/FAST_LIO.git
cd FAST_LIO
git submodule update --init
cd …/…
2.3. 在src文件夹中下载livox_ros_driver2源码
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.h、FAST_LIO/src/laserMapping.cpp
修改前:

#include <livox_ros_driver/CustomMsg.h>
修改后:

#include <livox_ros_driver2/CustomMsg.h>
3.3. 修改FAST_LIO的命名空间
分别打开FAST_LIO/src/preprocess.h、FAST_LIO/src/preprocess.cpp、FAST_LIO/src/laserMapping.cpp中的命名空间,有多处需要修改
修改前:

livox_ros_driver::
修改后:

livox_ros_driver2::

4. 编译工程

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

cd src/livox_ros_driver2
./build.sh ROS1

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

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
  

闽ICP备14008679号