VMware Ubuntu禾赛激光雷达:PTP(1588v2)时间同步 + ROS2 Humble Rviz点云显示
文章标签Ubuntu、VMware、禾赛JT128、PTP1588v2、ROS2 Humble、Rviz2摘要本文记录在VMware虚拟机Ubuntu22.02环境下禾赛激光雷达1588‑v2(PTP)时间同步完整实操流程同时记录ROS2 Humble环境搭建、禾赛ROS2驱动编译配置、Rviz查看点云全过程包含GitHub拉取代码网络踩坑、工作空间目录规范、配置文件修改等实操避坑。前言激光雷达除了网络连通之外时间同步是非常关键的一环。多传感器融合时需要雷达点云拥有准确时间戳本文使用linuxptp实现1588‑v2 PTP时间同步把Ubuntu虚拟机设置为PTP主时钟给禾赛JT128雷达授时。 同时完整记录ROS2 Humble安装、禾赛SDKROS2驱动编译、Rviz查看点云全部实操记录实际踩坑点方便大家复现。测试环境 虚拟机系统Ubuntu22.02ROS版本ROS2 Humble雷达型号禾赛JT128雷达IP192.168.1.201对接雷达网卡ens33桥接网卡1 PTP 1588‑v2时间同步配置方案虚拟机Ubuntu作为PTP主时钟Grand Master雷达作为从设备同步虚拟机时间使用UDP/IP传输模式。1.1 雷达端配置PTP参数打开PandarView2→LidarUtilities工具填入雷达IP连接雷达切换到Time Sync页面PTP Profile选择1588v2保存配置雷达会重启时间同步模块。1.2 Ubuntu安装linuxptp工具# 安装ptp工具 sudo apt-get install linuxptp 安装ethtool查看网卡PTP硬件时间戳能力 sudo apt-get install ethtool查看网卡是否支持硬件时间戳sudo ethtool -T ens33重要提示VMware虚拟机虚拟网卡不支持硬件时间戳Hardware Clock: none只能使用软件时间戳模式。1.3 启动PTP主时钟UDP/IP模式-4代表UDP/IP模式‑i ens33指定对接雷达网卡‑S即--software‑timestamping强制软件时间戳虚拟机必须加这个参数不加该参数ptp4l会直接报错无法启动虚拟机该现象属于正常‑m打印运行日志。sudo ptp4l -m -4 -i ens33 -S看到日志输出assuming the grand master role代表本机已经成为PTP主时钟。⚠️注意ptp4l命令是前台运行关闭终端就会停止授时1.4 验证同步状态在LidarUtilities的Time Sync页面PTP Status状态变为tracking代表雷达已经成功跟踪PTP主时钟时间同步完成。PandarView2显示雷达时间戳为UTC时间国内东八区需要8小时才等于本地北京时间不是故障。2 ROS2 Humble安装本文使用鱼香ROS一键安装脚本适合国内网络环境。鱼香ROS - 杭州鱼香机器人科技有限公司运行脚本后选择一键安装ROS2 Humble。安装完成后验证版本source /opt/ros/humble/setup.bash echo $ROS_DISTRO输出humble代表ROS2安装成功。3 编译禾赛HesaiLidar_SDK_2.0底层SDK3.1 安装依赖首先需要安装的是禾赛的SDK可以去github下载相应的SDK包下载完成后进入下图片的文件夹内跟着操作克隆这步可以省略因为刚刚已经下载然后开始第二步安装依赖sudo apt update sudo apt install -y build-essential cmake libboost-all-dev libyaml-cpp-dev libpcl-dev libpcap-dev openssl依赖包说明build‑essentialgcc/g编译器C编译必备cmake编译构建工具libboost‑all‑devC工具库禾赛SDK大量使用libyaml‑cpp‑dev解析yaml配置文件libpcl‑devPCL点云库libpcap‑devpcap离线回放、抓包库openssl加密通讯依赖3.2 SDK编译进入SDK源码根目录执行mkdir -p build cd build cmake -DCMAKE_BUILD_TYPERelease .. make -j$(nproc)对于有图形界面的可以跟着我这样操作直接打开文件夹在终端打开即可没有的就按照他的提示进入SDK源目录中。注意这里面的是文件夹不是压缩包刚刚下载的是压缩包需解压。4 搭建ROS2工作空间编译HesaiLidar_ROS_2.0驱动4.1 创建ROS2工作空间目录进入github中禾赛的页面进入ROS_2里面不过他没有中文文档开个浏览器翻译就行。这个安装ROS_2的安装过程和禾赛官网操作指南里面的Rviz查看点云一样而且目前我只是想看Rviz中的点云图所以就跟着操作指南里面进行操作即可github里面有部分是我暂时用不到的后续用到再进行更新好下面就开始一步一步操作即可前面两步都是安装工具第三步需要注意要在虚拟机中创建一个新的文件夹然后在里面新建一个src文件夹放源码。示例工作空间根目录~/10.12ROS2规范源码包必须放在src文件夹内部。也可以直接在终端用命令创建文件夹mkdir -p ~/10.12/src cd ~/10.12/src4.2 获取源码进入src目录选择在终端打开执行克隆命令不过因为网络原因一般下载会出现失败就会出现下图情况不过别担心。你可以直接去他们github官网下载ROS2.0的包下载完成后同样解压成文件夹不过注意的是一般情况下ROS文件夹如下而我们解压出来的文件夹是HesaiLidar_ROS_2.0-master这个时候我们就需要根据ROS空间结构把他移动到src目录下并且对他重命名重命名完成后需要进入该文件夹对雷达的配置文件进行修改匹配4.3 修改雷达yaml配置文件yaml文件中的配置根据雷达和自己的要求进行对应的修改改完以后记得进行保存操作。进入src/HesaiLidar_ROS_2.0/config/编辑config.yaml修改关键参数source_type:11实时雷达在线device_ip_address: 192.168.1.201雷达IPudp_port:2368host_ip_address:192.168.1.100虚拟机桥接网卡IP在需要单播时设置广播情况下为空即可4.4 colcon编译工作空间回到工作空间根目录执行终端命令cd ~/10.12或者直接进入即可colcon build --symlink-install # 加载工作空间环境 . install/local_setup.bash--symlink‑install软链接模式修改yaml配置文件不需要重新编译。然后等它加载完成完成以后在运行下方代码就可以打开Rviz查看当前雷达的点云图ros2 launch hesai_ros_driver start.py5 其他方式启动驱动Rviz查看点云以后也无需再进入10.12文件夹再执行命令只需要执行下面命令就可以打开Rviz不过记得修改文件名。# 加载ROS2系统环境 source /opt/ros/humble/setup.bash # 加载自己工作空间驱动环境 source ~/10.12/install/setup.bash # 启动禾赛驱动 ros2 launch hesai_ros_driver start.py6 常见踩坑总结VMware虚拟机PTP只能软件时间戳ptp4l命令必须加‑S虚拟网卡不支持硬件时间戳。PTP输出时间是UTC时间北京时间需要8小时不属于故障。下载Github zip压缩包文件夹会带‑master后缀务必重命名避免CMake缓存冲突编译报错。优先网络排查先ping雷达、tcpdump抓2368端口UDP确认收到数据包再调试上层ROS驱动。‑‑symlink‑install模式下修改yaml配置直接生效不用重复colcon build。

相关新闻

page_alloc __parse_numa_zonelist_order

page_alloc __parse_numa_zonelist_order

__parse_numa_zonelist_order() 是内核中用于解析用户指定的 zonelist 排序策略的辅助函数。它把用户传入的字符串(如 "node"、"zone"、"default")转换成对应的内部常量,供 build_zonelists() 决定如何排列 NU…

2026/10/14 10:36:21 阅读更多 →
用MCU模拟PS/2键盘:从协议时序到扫描码组合键的完整实现

用MCU模拟PS/2键盘:从协议时序到扫描码组合键的完整实现

简介:面向单片机开发者的PS/2键盘模拟程序资源包,演示如何让单片机模拟PS/2键盘协议,主动向计算机发送按键扫描码,实现单片机控制电脑操作的目标,适用于嵌入式输入设备、自动化测试台架及特殊人机交互场景。压缩包内含…

2026/10/14 10:35:15 阅读更多 →
AnyPS5跨平台游戏串流方案:从架构设计到实操优化

AnyPS5跨平台游戏串流方案:从架构设计到实操优化

1. 从“AnyPS5”这个标题说起:一个跨平台游戏串流方案的设计初衷 第一次看到“AnyPS5”这个标题,我脑子里蹦出来的第一反应是:这大概率是一个围绕主机游戏远程串流展开的项目。为什么这么判断?因为“Any”这个前缀在技术圈里通常意…

2026/10/14 10:35:15 阅读更多 →

最新新闻

东方财富行情数据接口抓取实战:从XHR响应到SQLite增量存储

东方财富行情数据接口抓取实战:从XHR响应到SQLite增量存储

做数据的人,十个里有八个都动过爬东方财富网的心思。这个系列第二篇,我不再抓静态页面,而是直接抓行情数据接口。上一篇跑通了最基础的页面解析,但那只是开胃菜:页面源码里看不到的几个关键字段——最新价、涨跌幅、成…

2026/10/14 17:37:01 阅读更多 →
B7-H3抗体:一种在肿瘤免疫治疗中兼具双重调控潜力的新兴靶点如何被研究?

B7-H3抗体:一种在肿瘤免疫治疗中兼具双重调控潜力的新兴靶点如何被研究?

B7-H3(又称CD276)是B7免疫共信号家族中的一种I型跨膜蛋白,在正常组织中表达有限,但在黑色素瘤、肺癌、前列腺癌等多种恶性肿瘤表面过表达。其确切功能机制尚存争议:早期研究支持其作为共刺激受体促进T细胞活化&#xf…

2026/10/14 17:37:01 阅读更多 →
Echarts折线图区域高亮交互实现指南

Echarts折线图区域高亮交互实现指南

1. 项目概述:让折线图真正“活”起来的交互细节Echarts 折线图区域鼠标事件高亮——这八个字背后,藏着一个被大量业务系统长期忽视却极其关键的用户体验断点。我做过不下二十个数据可视化项目,从某高校实验室的科研数据看板,到某公…

2026/10/14 17:37:01 阅读更多 →
压裂方案毕设头秃?这些 AI 工具可以这样搭着用 ✨

压裂方案毕设头秃?这些 AI 工具可以这样搭着用 ✨

先交代一下背景:我是石油工程方向的,毕业设计做的是某低渗透砂岩油藏水力压裂工艺方案设计。这类题目在工学 / 矿业类 / 石油工程专业里很典型——要读大量区块地质和压裂文献,要写开题报告和任务书,要做裂缝参数计算、施工参数优…

2026/10/14 17:37:01 阅读更多 →
Ubuntu上构建嵌入式LCD+触摸屏软件模拟器

Ubuntu上构建嵌入式LCD+触摸屏软件模拟器

1. 项目概述:为什么要在Ubuntu上跑开发板的LCD触摸屏模拟器?“Ubuntu——配置开发板lcd和触摸屏模拟器”这个标题乍看像一句操作指令,但背后藏着嵌入式开发中一个高频、高痛、却极少被系统梳理的实操场景:在通用PC环境里&#xff…

2026/10/14 17:37:01 阅读更多 →
IntelliJ IDEA 的Qoder CN 插件报错“暂时无法同步代码库索引选择”怎么解决?完整排查与修复指南

IntelliJ IDEA 的Qoder CN 插件报错“暂时无法同步代码库索引选择”怎么解决?完整排查与修复指南

摘要 本文针对在IDEA中使用Qoder CN时出现的报错,给出官方说明与实战解决步骤。官方指出需启用代码库索引:可点击“创建”手动启用,或切换“自动索引”。实战中,先登录Qoder CN且不要输入提示词,再进入设置—>Qode…

2026/10/14 17:36:00 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →