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

如何测试雷达与相机是否时间同步?

在多传感器融合系统中,相机与雷达的协同感知已成为环境理解的关键。相机通过捕捉纹理信息识别物体类别,而雷达利用激光或毫米波实现全天候精确测距。两者的数据融合既能避免单一传感器缺陷(如相机受光照影响、雷达缺乏语义信息),显著提升了动态障碍物跟踪的稳定性和准确性。

应用场景

自动驾驶在自动驾驶中,摄像头负责获取环境的视觉信息,对行人、车辆、交通标志等目标进行分类与识别;雷达则提供高精度的距离和速度测量,避免误判(如区分路牌和真实障碍物)。

机器人地面机器人用雷达实时探测前方障碍物距离,用摄像头识别障碍物类型。对于空中的无人机可以使用雷达测量离地高度,使用摄像头识别降落平台标记(如二维码)等进行目标识别,实现精准着陆。
定位与建图激光SLAM可生成环境的三维轮廓图,结合摄像头提供的语义地标,为高精度定位和路径规划提供更稳定的支撑。

时间同步的重要性

目前多传感器融合技术在SLAM(同时定位与建图)领域得到广泛应用,其中确保各传感器数据的时间同步是提升系统鲁棒性和精度的关键。由于相机和雷达在采样频率、启动延迟和数据传输等方面存在差异,若未进行有效的时间对齐,可能导致数据融合误差,影响系统性能。因此,在设计相机与雷达的融合系统时,首先应解决传感器之间的时间同步问题,以实现高精度的环境感知和定位。

常见的时间同步方式

NTP时间同步

NTP(Network Time Protocol):通过网络服务器同步系统时间,精度通常为毫秒级,适合低精度需求。部署简便,受网络延迟影响较大。广泛应用于服务器、工业设备、机器人等领域。

PTP时间同步

PTP(Precision Time Protocol, IEEE 1588):是一种高精度时间同步协议,主要用于局域网(LAN)中实现纳秒级的时间同步。其核心原理基于主从架构和双向报文交换,通过测量和补偿网络延迟来实现设备间的时钟对齐。

GPS时间同步

GPS 接收机输出与 UTC 秒脉冲严格对齐的 PPS 信号。其他设备通过硬件接口(GPIO、TTL)捕获 PPS 上升沿,并将此硬件脉冲作为时间基准,对本地时钟或触发器进行校正。

硬件触发同步

使用专用触发器或 FPGA/MCU 产生统一的物理触发脉冲(如 TTL 低电平/高电平信号)。所有设备在同一时刻采集数据帧,时间戳直接由硬件产生。

如何测试相机与雷达是否同步?

以四目相机和Livox Mid-360激光雷达为例,为了对相机和雷达的数据进行融合,我们首先需要测试相机与雷达是否达到时间同步,因此我们需要测试两者的数据时间戳的差值保持在一个稳定的区间。

同步方式

根据雷达和相机参数,两台设备均支持硬件同步的方式。雷达的硬件同步方式如下图所示。在这里我们采用串口的方式来进行同步,具体的引脚信号要求如下表所示。在这里为了同时满足雷达和相机的硬件触发方式,该测试采用STM32来发送脉冲信号。

  • 配置相机为等间距采样,这样相机在采样时将发出一个脉冲,通过STM32单片机接收这个脉冲并将其转化为1Hz同步信号(1PPS)

  • 在STM32中将雷达和相机的硬件触发要求配置完成,并将对应的引脚连接雷达和相机的硬件触发口。本次的测试的触发频率为10Hz,其原理如下图所示,其中t0为相邻两次秒脉冲上升沿的间隔;t1: 秒脉冲的高电平时间;t2: GPRMC的传输时间;t3: GPRMC数据开始发送相对于脉冲上升沿的延迟。

  • 为了测试相机和雷达有没有同步成功,我们编写了一个测试Demo,主要是通过将接收到雷达和相机每帧的时间戳记录下来,通过对比两者差值是否收敛来判断同步是否成功。这里注意的是雷达和相机的时间戳格式不同,需要转成统一格式,本次测试采用统一的UTC格式。

测试结果

测试的结果如下图所示,从图(a)中结果可以看出两者的差值一直处于收敛。在图(b)中两者的差值始终小于1ms,该实验结果表明雷达和相机的时间同步成功。

图(a)

图(b)

如果您有感兴趣的技术话题,请在留言区告诉我们!关注阿木实验室,更多技术干货不断更新! 开发遇到棘手难题可以上阿木官方论坛:bbs.amovlab.com
有工程师亲自解答10000+无人机开发者和你共同进步!

相关文章:

  • list的学习
  • Missashe考研日记-day23
  • 【数字图像处理】彩色图像处理(1)
  • Easysearch Rollup 相比 OpenSearch Rollup 的优势分析
  • 深入解析 Linux 文件系统中的软硬链接:从原理到实践
  • RS232 串行通信:C++ 实现指南
  • SAP系统生产跟踪报表入库数异常
  • C语言中的双链表和单链表详细解释与实现
  • 极狐GitLab Git LFS 速率限制如何设置?
  • [Python] 入门核心笔记
  • 使用C#和FFmpeg开发RTSP视频播放器的完整指南
  • Azkaban集群搭建
  • 递归的模板 (以反转链表为例)
  • AI时代,是该切换到Cursor编辑器了
  • 探究CF1009(div3)C题——XOR and Triangle
  • 【第16届蓝桥杯C++C组】--- 2025
  • Docker Compose 使用实例
  • 接口测试流程和步骤
  • vue3 + element-plus中el-dialog对话框滚动条回到顶部
  • vue使用语音识别
  • 上海群文创作大检阅,102个节目角逐群星奖
  • 李家超:香港特区政府积极推进十五运会各项筹办工作
  • 两大跨国巨头称霸GLP-1市场,国产减肥药的机会在哪?
  • 人民网评:官方轻踩刹车,智能驾驶不能“蒙眼狂奔”
  • 市场监管总局:在全国集中开展食用植物油突出问题排查整治
  • 东航推出“上博号”班机,上博设立“东航特展厅”