1. 基础环境:

  • 主机设备:Jetson AGX Orin 【32GB】

  • Linux版本:ubuntu20.04;

  • 传感器:Livox mid-360;

  • ROS版本:Noetic;

  • Jetson环境如下:
    请添加图片描述

2. 硬件环境准备

mid-360供电范围为 DC 9~27V,航插输出的网线和Jetson网口连接,将mid-360供电。
在这里插入图片描述
设置Jetson的静态固定ip,我的设置为:192.168.1.201。

3. 安装Livox-SD2并测试

Livox-SD2链接:GitHub - Livox-SDK/Livox-SDK2

Livox-SD2支持的先决条件:
请添加图片描述

3.1 安装&&编译
  1. 安装cmake
sudo apt install cmake
  1. 在自己的工作空间里创建Livox-SD2空间
cd ~/project_z/
mkdir livox_ws
cd livox_ws
mkdir 3rd_party && cd 3rd_party
git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd ./Livox-SDK2/
mkdir build && cd build
cmake .. 
make -j4
sudo make install
3.2 测试

更改测试json文件参数为实际使用的参数,进入~/project_z/livox_ws/3rd_party/Livox-SDK2/samples/livox_lidar_quick_star/路径下,将mid360_config.json文件中的"host_ip" 改为Jetson设备的ip,我这里改成 192.168.1.201

在这里插入图片描述

cd ~/project_z/livox_ws/3rd_party/Livox-SDK2/build/samples/livox_lidar_quick_start/
./livox_lidar_quick_start ../../../samples/livox_lidar_quick_start/mid360_config.json

在这里插入图片描述

正常接收到mid-360发送的点云数据

4. 安装livox_ros_driver2并测试

4.1 安装&&编译

livox_ros_driver2链接:GitHub - Livox-SDK/livox_ros_driver2: Livox device driver under Ros(Compatible with ros and ros2), support Lidar HAP and Mid-360.

cd ~/project_z/livox_ws/
mkdir src
git clone https://github.com/Livox-SDK/livox_ros_driver2.git
cd ~/project_z/livox_ws/src/livox_ros_driver2-master/
./build.sh ROS1  ## 已经提前加载了ROS环境,source /opt/ros/noetic/setup.sh,默认加入了~/.bashrc

## livox_ros_driver2配置环境变量
vi ~/.bashrc
##加入后,保存退出
source ~/project_z/livox_ws/devel/setup.bash  

## 使能环境变量
source ~/.bashrc
4.2 测试
  1. 查看mid-360设备ID,根据ID最后两位确认ip,我的设备最后两位是37,mid-360设备的ip为:192.168.1.137

在这里插入图片描述

  1. 进入 ~/project_z/livox_ws/src/livox_ros_driver2-master/config/路径下,打开MID360_config.json文件,修改mid-360和Jetson的ip,host_net_info为Jetson设备的ip,lidar_configs为mid-360设备的ip。

在这里插入图片描述

  1. 修改launch文件的设备ID,进入~/project_z/livox_ws/src/livox_ros_driver2-master/launch_ROS1/路径下,将msg_MID360.launch和rviz_MID360.launch文件中ID修改成自己设备的ID

在这里插入图片描述

  1. 运行
### 可以先ping一下mid-360的ip,确保双方的IP和物理连接配置正常

roslaunch livox_ros_driver2 msg_MID360.launch  ## 一个终端发布mid-360节点信息
roslaunch livox_ros_driver2 rviz_MID360.launch  ## 另一个终端获取数据并显示

在这里插入图片描述

5. 编译FAST_LIO2并测试

FAST_LIO2链接:GitHub - hku-mars/FAST_LIO: A computationally efficient and robust LiDAR-inertial odometry (LIO) package

5.1 在ROS空间中创建FAST_LIO2空间
cd ~/project_z/pcatkin_ws/src  ## 若是ROS空间工程较多,也可以单独创建一个FAST_LIO2空间,测试完成后,在集成到ROS空间中
git clone https://github.com/hku-mars/FAST_LIO.git  ## 重命名为fast_lio
cd fast_lio
git submodule update --init

  1. 修改fast_lio文件夹下CMakeLists.txt文件,将livox_ros_driver改成livox_ros_driver2find_package中加上genmsg

在这里插入图片描述

  1. fast_lio/package.xmllivox_ros_driver改成livox_ros_driver2,将fast_lio/src路径中的laserMapping.cpp、preprocess.cpp、preprocess.h源码文件中的livox_ros_driver改成livox_ros_driver2

在这里插入图片描述

5.2 编译测试
cd ~/project_z/pcatkin_ws/  
catkin_make -DCATKIN_WHITELIST_PACKAGES="fast_lio"  ## 单独编译fast_lio,或者catkin_make 编译整个ros空间的工程
source devel/setup.bash

运行fast-lio2

roslaunch livox_ros_driver2 msg_MID360.launch   ## 一个终端创建mid-360的节点信息

roslaunch fast_lio mapping_mid360.launch   ## 另一个终端创建fast_lio节点并获取mid-360数据并显示到终端界面

测试建图后效果

在这里插入图片描述

注意

  1. 检查mid-360话题是否活跃、有数据:
roslaunch livox_ros_driver2 msg_MID360.launch 

rostopic list | grep livox

正常情况能看到设备节点信息
在这里插入图片描述

分别 echo 查看是否有数据:

rostopic echo /livox/imu      # 应该滚动 IMU 数据(每秒几百 Hz)
rostopic hz /livox/imu        # 看频率,应 >100 Hz

rostopic echo /livox/lidar    # 可能刷得太快看不到,用 hz 更好
rostopic hz /livox/lidar      # Mid360 应 ≈10 Hz(每帧大量点)
rostopic info /livox/lidar    # 确认发布者是 livox_ros_driver2 的节点
Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐