MID360+fastlio功能笔记

MID-360雷达使用指南

MID-360使用指南

注意事项:Jetson orin nano中,如果使用宇树雷达,则添加ws_livox工作空间,如果是mid-360z则添加mid_ws工作空间,同时添加可能会出现功能包的冲突,导致启动调用出错

简介:在实际使用3维激光定位的过程中,测试了宇树雷达和MID-360雷达。实测宇树雷达震动太大,在无人机可以科研使用,不建议工业级产品使用,MID-360相对效果要好得多,稳定性等方面也远高于宇树雷达

前言:Livox mid360需要使用Livox-SDK2,而非Livox-SDK,以及对应的livox_ros_driver2 。并需要修改FAST_LIO中部分代码。相反宇树雷达则使用Livox-SDK和livox_ros_driver。为了方便共存使用,jetson orin nano镜像设置了两个工作空间,其中ws_livox安装了宇树对应的功能包和FAST-LIO算法,mid_ws工作空间安装了MID-360雷达对应的功能包。

在使用过程重,出现一次黄色警告,No point,skip this scan,此处不影响定位效果,猜测可能是启动响应问题

No point,skip this scan  

硬件雷达:

一、接线连接

livox MID-360航插一分三线,其中航空母头连接激光雷达,网线连接PC,电源需要DC 9~27 V,推荐使用 12 V,注意正负极
在这里插入图片描述

一、安装Livox-SDK2

1.1、安装CMake

sudo apt install cmake

1.2、 安装编译Livox-SDK2和livox_ros_driver2(也可以先安装FAST-LIO)

新建或者到ROS工作空间下的src
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安装在ROS工作空间下,理论上可以在任何位置下载并编译安装,同时最好将FAST-LIO也一起安装在同一个工作空间下,使用管理方便

二、编译FAST_LIO工程

此处我使用的自己修改的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源码

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

3、修改FAST_LIO代码

注意:目的就是把所有livox_ros_driver 改成livox_ros_driver2,否则消息格式对不上

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.4、修改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::,如下图:

在这里插入图片描述

5、修改Livox mid360的配置

5.1、修改电脑IP地址

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

在这里插入图片描述

5.2、修改Livox mid360 IP

注:第一次使用为了减少工作量,我将电脑IP改成了192.168.1.5,并且我雷达SN后两位是30,故雷达对应的完整IP为192.168.1.130

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

{
  "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.130",		  	# <-这里是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. 运行测试

注意:FAST-LIO源码已经做了修改,可以直接输出odom里程计信息,不建议使用官方的代码

打开两个终端,分别运行

注:launch文件,也需要将雷达对应的SN码进行修改,然后才能使用,此步骤千万不能遗忘,默认功能包参数是100000000000,修改成雷达对应的SN码

roslaunch livox_ros_driver2 msg_MID360.launch

在这里插入图片描述

话题查看:出现以下话题,并且按照一定频率发布则表明雷达启动成功

在这里插入图片描述

另外一个终端运行

roslaunch fast_lio mapping_mid360.launch

在这里插入图片描述

MID360 FAST-LIO2是一种基于Livox激光MID-360雷达和FAST-LIO2激光SLAM算法的建图系统。下面是使用MID360 FAST-LIO2的步骤: 1. 安装Livox激光MID-360 SDK2和ROS2驱动。按照README文件中的说明进行安装。 2. 配置ROS2驱动。livox_mid360_driver_ws工程中,修改livox_ros_driver2/config/MID360_config.json文件中的参数。将cmd_data_ip改为192.168.1.50,将下面的ip改为雷达的IP地址,最后两位为雷达S/N码的最后两位数字。这样配置后,才能发布雷达和IMU的数据。 3. 编译并运行ROS2驱动。在livox_mid360_driver_ws目录下执行以下命令: ```shell catkin_make source ./devel/setup.bash roslaunch livox_ros_driver2 msg_MID360.launch ``` 4. 下载并安装Livox Viewer2。可以从Livox官网的下载页面(https://www.livoxtech.com/downloads)下载Livox Viewer2。 5. 下载并安装LIO-Livox和Livox-Mapping。可以从Livox-SDK的GitHub页面(https://github.com/Livox-SDK/LIO-Livox和https://github.com/Livox-SDK/livox_mapping)下载相应的代码。 6. 配置LIO-Livox。根据LIO-Livox的README文件中的说明进行配置。 7. 启动Livox Viewer2,并连接MID-360雷达。 8. 启动LIO-Livox。在LIO-Livox的工程目录下执行以下命令: ```shell roslaunch lio_livox lio_livox.launch ``` 9. 启动Livox-Mapping。在Livox-Mapping的工程目录下执行以下命令: ```shell roslaunch livox_mapping livox_mapping.launch ``` 通过以上步骤,你就可以使用MID360 FAST-LIO2进行建图了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流浪者1015

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值