目录
一、前言
二、依赖的环境
三、 安装Livox-SDK2,fast_lio2 和 livox_ros_driver2
(1) 安装Livox-SDK2
(2) 安装 fast_lio2 和 livox_ros_driver2
四、mid-360 设备硬件设置
五、运行设备
六、topic信息查看
一、前言
- Livox mid-360需要使用
Livox-SDK2
,而非Livox-SDK
,以及对应的livox_ros_driver2
。并需要修改FAST_LIO中部分代码。- 地址为:Faster—LIO;高博的介绍为:Faster-LIO:快速激光IMU里程计。论文地址为:Faster-LIO:快速激光IMU里程计PDF。
- 大部分Lidar SLAM都是基于loam进行改造的,基本上是通过线特征edge和面特征(面点)分割进行配准得到里程计的,而fast-lio2是通过一个迭代扩展卡尔曼滤波器去优化帧内位姿,然后通过输入点云与地图进行配准得到里程计,精度和鲁棒性都不错。
二、依赖的环境
PCL >= 1.8, Follow PCL Installation.
Eigen >= 3.3.4, Follow Eigen Installation.
- ROS (melodic or noetic)
- glog: sudo apt-get install libgoogle-glog-dev
- Eigen: sudo apt-get install libeigen3-dev
- pcl: sudo apt-get install libpcl-dev
- yaml-cpp: sudo apt-get install libyaml-cpp-dev
三、 安装Livox-SDK2,fast_lio2 和 livox_ros_driver2
新建一个文件夹: Livox-SDK2_ROS_driver/src
(1) 安装Livox-SDK2
- cd Livox-SDK2_ROS_driver/src
- git clone https://github.com/Livox-SDK/Livox-SDK2.git
- cd ./Livox-SDK2/
- mkdir build && cd build
- cmake .. && make -j
- sudo make install
编译完成后,效果图如下:
(2) 安装 fast_lio2 和 livox_ros_driver2
步骤一: 下载 FAST_LIO代码
- cd Livox-SDK2_ROS_driver/src // 也是安装这个目录下
- git clone https://github.com/hku-mars/FAST_LIO.git
- cd FAST_LIO
- git submodule update --init
- cd ../..
步骤二: 下载 livox_ros_driver2
- cd Livox-SDK2_ROS_driver/src // 也是安装这个目录下
- git clone https://github.com/Livox-SDK/livox_ros_driver2.git
步骤三: 修改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.4. 修改FAST_LIO的命名空间
分别打开FAST_LIO/src/preprocess.h、FAST_LIO/src/preprocess.cpp、FAST_LIO/src/laserMapping.cpp中的命名空间,有多处需要修改
修改前: livox_ros_driver修改后: livox_ros_driver2
注意拉:代码中, livox_ros_driver::全部改成livox_ros_driver2::
步骤四:编译工程
注意啦:在工程目录的fast_lio/src/livox_ros_driver2使用下面指令编译,不要直接使用
catkin_make
- cd livox_ros_driver2
- source /opt/ros/melodic/setup.sh //ubuntu18.04 用 melodic,其他选择相应的版本
- ./build.sh ROS1
编译后的结果如下:
四、mid-360 设备硬件设置
(1)修改电脑IP地址
- 建议电脑ip修改为192.168.1.5,否则需要修改下面的配置文件中对应的电脑ip,DNS地址写不写无所谓。
- 雷达的IP是192.168.1.1** 最后两位为雷达S/N码最后两位数字 mid360 iP应该192.168.1.125
- 再把Ubuntu的有线IP改为静态IP,我这里改为192.168.1.25,在一个局域网内就行,可以Ping通mid360的IP就行。
ping通了!!!
(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.125)。
- 改这个文件里的IP,前面几个改为Ubuntu端静态IP,最后一个改为mid360的静态IP。
五、运行设备
前提:设备连接,前面三步骤没有出现问题
打开两个终端,分别运行
- cd Livox-SDK2_ROS_driver
-
source devel/setup.bash
-
roslaunch livox_ros_driver2 msg_MID360.launch
结果如下:
另外打开一个终端
- cd Livox-SDK2_ROS_driver
- source devel/setup.bash
- roslaunch fast_lio mapping_mid360.launch
六、topic信息查看
- rostopic list // 看一下发布的topic
- rostopic echo "topic" // 看一下发布的topic具体信息
- rostopic hz "topic" // 看一下发布的topic的频率