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

自动驾驶时间同步

 主要包含两个大的概念:时间系统间的时间同步与传感器数据间的时间同步

1. 时间系统间的时间同步

概念:

自动驾驶域控一般由多个芯片与多种类型的传感器组成,如:MCU + SoC + Camera + Lidar + Radar + USS + GNSS,其中 MCU/SoC/Camera/Lidar 等较为复杂的电子器械上一般自带专门的时间系统,由时间系统提供与时间相关的接口给到应用程序,这些时间系统间的时间需要保持一致。

1.1 时间系统

时间系统通过接口形式,为应用程序提供多种时间功能,如世界时间获取,周期计时等。时间系统主要依赖于晶振计时,初始时间设置与时间同步。

1.1.1 晶振计时:

晶体振荡器每秒钟振荡几千至上百万次(振荡次数越多,时间间隔越精准),为时间系统提供较为精准的时钟信号,过程可以简单描述为:晶体每振荡N次,时间系统增加1纳秒。晶振。

一般系统设计当中,晶振的计时始终累积,不随时间同步变换。

但晶振存在两个问题,一是无法获取初始时间,二是晶振本身存在一定的误差

1.1.2 初始时间设置与时间同步:

系统启动后,默认会有个初始时间,如经典的 1970-01-01 00:00:00,需要使用外部信号对时间进行初始设置。

初始时间设置以后,随着时间推移,晶振累积的误差变大,需要对时间进行纠正微调。例如我们使用的手机,一般每周会与互联网时间同步一次,累积误差一般在几十秒内。

1.2 同步方式 NTP/PTP(gPTP)

时间同步主要有两种方式,NTP与PTP(gPTP可以理解为PTP协议的特定部分)。linux内核对两种协议都有支持(NTP,ptp4l),配置相应的参数(如NTP服务器/客户端地址)即可。具体协议内容不做展开。

PTP协议的时间精度显著高于NTP,主要原因包括以下几个方面:

  • 硬件支持的差异‌

PTP依赖硬件时间戳记录报文收发时间,直接在数据链路层处理时间信息,减少了操作系统和软件栈的延迟干扰‌。而NTP主要基于软件时间戳,在应用层处理同步,无法避免协议栈处理带来的不确定性‌。

  • 时间戳记录位置不同‌

PTP在数据链路层精确记录报文的发送和接收时间,时间戳更贴近物理网络的实际传输时刻‌。NTP的时间戳记录发生在应用层,报文经过协议栈各层时可能引入额外延迟抖动‌。

  • 网络延迟计算方法优化‌

PTP通过多次报文交换(Sync、Follow_Up、Delay_Req等)计算双向传输延迟,并基于网络对称性假设将总延迟均摊为单向值,误差更小‌。NTP仅通过两次报文交换估算延迟,且未严格区分主从路径的延迟差异,精度受限‌。

  • 主从结构与层级设计‌

PTP采用严格的主从架构(Best Master Clock Algorithm),由单一高精度主时钟直接同步所有从节点,减少层级累积误差‌。而NTP采用分层树状结构(Stratum层级),多级跳转会导致误差逐级放大‌。

  • 同步机制覆盖范围更全面‌

PTP不仅同步绝对时间,还通过相位和频率同步消除时钟漂移,实现亚微秒级精度‌。NTP主要针对绝对时间同步,对频率同步的支持较弱,精度通常停留在毫秒级‌。

综上,PTP通过硬件协同、精确的时间戳记录、优化的延迟算法以及更严格的网络同步机制,实现了比NTP高2-3个数量级的时间精度‌。

1.3 自动驾驶系统中的系统时间同步

双时钟源

双时钟源的核心构成

‌1. GNSS卫星时钟源‌

  • 采用北斗/GPS双模接收机,通过PPS秒脉冲(1Hz)和GPRMC报文提供全局时间基准。PPS脉冲精度可达20ns级别,GPRMC报文则补充完整UTC时间信息‌。
  • 双卫星系统(如北斗+GPS)形成冗余,当某一系统信号丢失时,可在20ms内切换至备用卫星源,确保时钟连续性‌。

‌2. 以太网时钟源‌

  • 基于IEEE 1588 PTP或802.1AS gPTP协议,通过主时钟节点(一般为MCU)向域控制器、相机、雷达等设备分发时间信号,实现亚微秒级同步‌。
  • PTP协议支持硬件时间戳记录,规避操作系统协议栈延迟,精度比纯软件方案(如NTP)高2-3个数量级‌。
双时钟源协同机制
  1. ‌主备切换逻辑‌

    当GNSS信号受遮挡(如隧道场景)时,系统自动切换至PTP网络时钟源;GNSS信号恢复后重新校准网络时钟,防止长期漂移‌。
  2. ‌硬件级同步触发‌

    激光雷达、相机等传感器通过PPS脉冲触发数据采集,确保物理层时间对齐;域控制器结合PTP协议对多传感器时间戳进行微调,消除传输延迟‌。
技术优势
  1. ‌抗干扰能力提升‌
    双时钟源通过卫星与地面网络互补,解决单一信号源易受环境干扰的问题(如城市峡谷、电磁干扰)‌。

  2. ‌误差控制优化‌
    GNSS提供绝对时间基准,PTP实现局部高精度同步,两者结合可将全域时间误差控制在100ns以内‌

2. 传感器数据间的时间同步

概念:

传感器采样频率有快有慢,一般而言,摄像头频率10~15Hz,激光雷达频率在20Hz,毫米波雷达频率20~25Hz...

自动驾驶算法模块接收到传感器数据时,时间无法完全保持一致,需要对传感器数据进行一定的校准

同步方式

1. 软件层面

软件层面需要尽可能以适合算法使用的方式处理传感器数据的时间

举例:

为了在激光雷达和摄像头之间实现良好的跨模态数据对齐,当顶部激光雷达扫过摄像头视场中心时,摄像头的曝光就会被触发。图像的时间戳是曝光触发时间;激光雷达扫描的时间戳是当前激光雷达帧完成旋转的时间。由于摄像头的曝光时间几乎是瞬时的,这种方法通常可以实现良好的数据对齐。需要注意的是,摄像头的运行频率为 12Hz,而激光雷达的运行频率为 20Hz。12 个摄像头的曝光尽可能均匀地分布在 20 个激光雷达扫描中,因此并非所有激光雷达扫描都有对应的摄像头帧。将摄像头的帧速率降低到 12Hz 有助于降低感知系统的计算、带宽和存储需求。

2. 算法层面

算法使用传感器数据进行二维或三维建模时,需要选取某一种类型的传感器数据作为主要场景(一般是摄像头图像),然后将采集到的其它传感器的数据在时间上做一定修正,渲染到主场景中,实现传感器数据的时空统一

相关文章:

  • vue3 开发电子地图功能
  • Daz3D角色UE5材质优化
  • 解锁塔能科技,开启工厂绿色转型与可持续发展双引擎
  • 基于 OpenHarmony 5.0 的星闪轻量型设备应用开发-Ch1 开发环境搭建
  • 0201概述-机器学习-人工智能
  • go-zero自动生成repository文件和测试用例
  • 无人机击落技术难点与要点分析!
  • 探索 OpenHarmony 开源硬件的学习路径:从入门到实战的全攻略
  • 14. git clone
  • MySQL 架构设计:数据库的“城市规划指南“
  • ubuntu18.04安装miniforge3
  • 基于Python的网络爬虫技术研究
  • OpenBayes 一周速览|1分钟生成完整音乐,DiffRhythm人声伴奏一键搞定; Stable Virtual Camera重塑3D视频创作
  • 按键消抖(用状态机实现)
  • Elasticsearch 学习规划
  • 技术优化实战解析:Stream重构与STAR法则应用指南
  • 16. git push
  • [ctfshow web入门] web33
  • Manifold-IJ 2022.1.21 版本解析:IntelliJ IDEA 的 Java 增强插件指南
  • QEMU源码全解析 —— 块设备虚拟化(17)
  • 建设掌上银行官方网站/免费web服务器网站
  • 怎么样让百度收录网站/苏州关键词seo排名
  • 湛江北京网站建设/北京seo课程
  • 有没有教做化学药品的网站/seo网站排名全选
  • 自建公司网站/b站视频未能成功转码
  • wordpress 站内链接/互联网营销师报名官网