当前位置: 首页 > article >正文

Ubuntu 24.04 LTS 和 ROS 2 Jazzy 环境中使用 Livox MID360 雷达

本文介绍如何在 Ubuntu 24.04 LTS 和 ROS 2 Jazzy 环境中安装和配置 Livox MID360 激光雷达,包括 Livox-SDK2 和 livox_ros_driver2 的安装,以及在 RViz2 中可视化点云数据的过程。同时,我们也补充说明了如何正确配置 IP 地址以确保雷达与主机通讯正常。


1. 安装 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

编译前修改头文件

为避免某些版本下的编译错误,请在以下两个文件顶部添加:

#include <cstdint>
  • sdk_core/comm/define.h
  • sdk_core/logger_handler/file_manager.h

2. 安装 livox_ros_driver2

mkdir -p livox_ws/src
cd livox_ws/src/
git clone https://github.com/Livox-SDK/livox_ros_driver2.git
cd livox_ros_driver2
./build.sh humble

处理 PCL 相关依赖问题

如果编译报错提示缺少 PCL 相关依赖,请执行:

sudo apt install libpcl-dev ros-jazzy-pcl-ros
./build.sh humble

3. 配置 Livox MID360 网络参数

Livox MID360 是以太网雷达,在使用前需要配置 JSON 文件中的 IP 信息,确保雷达和主机网络通信正常。

示例配置(MID360_config.json):

{"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.10","cmd_data_port": 56101,"push_msg_ip": "192.168.1.10","push_msg_port": 56201,"point_data_ip": "192.168.1.10","point_data_port": 56301,"imu_data_ip" : "192.168.1.10","imu_data_port": 56401,"log_data_ip" : "","log_data_port": 56501}},"lidar_configs" : [{"ip" : "192.168.1.142","pcl_data_type" : 1,"pattern_mode" : 0,"extrinsic_parameter" : {"roll": 0.0,"pitch": 0.0,"yaw": 0.0,"x": 0,"y": 0,"z": 0}}]
}

IP 设置说明:

  • lidar_configs[].ip:雷达设备的 IP(例如 192.168.1.142),应与实际设备保持一致。
  • host_net_info.*_ip:你的主机 IP 地址(如 192.168.1.10),需与雷达处于同一子网。
  • 设置完成后,确保网络配置正确,使用 ping 192.168.1.142 测试连通性。

4. 可视化点云数据(RViz2)

然后运行:

ros2 launch livox_ros_driver2 rviz_MID360_launch.py

在 RViz2 中:

  • 设置 Fixed Framelivox_frame
  • 添加 PointCloud2 类型的显示器,选择 /livox/lidar

结语

通过以上步骤,你可以在 ROS 2 Jazzy 环境中成功运行 Livox MID360 激光雷达,获取点云数据并在 RViz2 中可视化。关键在于正确配置 IP 地址与网络端口,确保主机和雷达设备之间的通信顺畅。


参考链接:https://qiita.com/porizou1/items/f2123c16af3f86200a06

http://www.lryc.cn/news/2393962.html

相关文章:

  • 自动化立体仓库堆垛机SRM控制系统FC19手动控制功能块开发
  • Ollama(1)知识点配置篇
  • VMware Workstation虚拟系统设置双网口
  • Qt基础终结篇:从文件操作到多线程异步UI,深度解析核心要点
  • ubuntu中,文本编辑器nano和vim区别,vim的用法
  • 山洪灾害声光电监测预警解决方案
  • 【Rust模式与匹配】Rust模式与匹配深入探索与应用实战
  • React从基础入门到高级实战:React 高级主题 - React Concurrent 特性:深入探索与实践指南
  • electron安装报错处理
  • NHANES指标推荐:CQI
  • 【OpenHarmony】【交叉编译】使用gn在Linux编译3568a上运行的可执行程序
  • Med-R1论文阅读理解-1
  • 【从零开始学习QT】快捷键、帮助文档、Qt窗口坐标体系
  • 强化学习笔记总结(结合论文)
  • Java线程安全解决方案全面指南
  • superior哥深度学习系列(大纲)
  • 基于stm32的多旋翼无人机(Multi-rotor UAV based on stm32)
  • 实验分享|基于sCMOS相机科学成像技术的耐高温航空涂层材料损伤检测实验
  • RAG混合检索:倒数秩融合RRF算法
  • 2011肠衣问题
  • RG3000网关构建5G LAN智慧工厂智能制造
  • Rust语言学习教程、案例与项目实战指引
  • 通信应用高速模数转换器ADC
  • 大模型测评选型指南:企业级大模型测评实战解析
  • 微信小程序学习目录
  • AG32 DMAC实现内部MCU与FPGA通信【知识库】
  • webrtc初了解
  • [STM32学习笔记(九)]CubeMX项目使用系统定时器SysTick的中断服务函数进行定时
  • 5G 核心网 NGAP UE-TNL 偶联和绑定
  • 性能测试怎么做?方法、流程与核心要点解析