自动驾驶时间同步

news2025/4/18 9:58:24

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

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. 算法层面

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2332511.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目进度延误的十大原因及应对方案

项目进度延误主要源于以下十大原因:目标不明确、需求频繁变更、资源配置不足或不合理、沟通不畅、风险管理不足、缺乏有效的项目监控、技术难题未及时解决、团队协作效率低下、决策链过长、外部因素影响。其中,需求频繁变更是导致延误的关键因素之一&…

消息队列(IPC技术)

目录 一、Linux 中主要的进程间通信方式如下: 二、消息队列函数 (1)msgget函数 功能概述 函数原型 参数解释 返回值 示例 结果 问题 (2) msgsnd函数 功能概述 函数原型 参数说明 返回值 示例 结果 (3&#xff0…

突破焊丝虚影干扰,端子焊点缺陷检测如何实现自动化?

端子焊点作为 3C 产品中连接电路的关键环节,其质量优劣对产品性能有着决定性影响。然而,传统人工检测端子焊点不仅效率低下,难以满足大规模生产需求,而且误判率高,无法精准把控产品质量,成为企业提质增效智…

电能质量在线监测分析装置支持实时监测、数据存储及远程传输,适用于电网、工业等场景

电能质量在线监测分析装置主要技术指标 2.1工作电源 交流:220V10% ;50Hz0.5Hz;谐波畸变率不大于15% 直流:220V10%,纹波系数不大于5% 2.2电流信号输入 输入方式:电流互感器输入; …

01分数规划

好久没发博客了……浅浅复活一下,讲个冷门些的算法。 算法目的:选出k组ai,bi使得 最大。 算法过程: 不妨考虑二分答案,那么答案的形式便是 的形式,则可通过移项转化为,进一步的,我们可以将…

网络安全防护技术

边界安全防护——防火墙 控制:在网络连接点上建立一个安全控制点,对进出数据进行限制隔离:将需要保护的网络与不可信任网络进行隔离,隐藏信息并进行安全防护记录:对进出数据进行检查,记录相关信息 防火墙…

课程分享 | 安全设计原则

讲师介绍 前言 在数字化时代,软件安全已从技术问题升级为关乎企业存亡的战略要务。从SolarWinds供应链攻击到Log4j漏洞风暴,一次次安全事件不断警示我们:传统的边界防护思维已无法应对日益复杂的威胁环境。面对不断演进的攻击手段&#xff0…

【数据结构 · 初阶】- 单链表

目录 一.相关指针知识点 二.链表 1.为什么学了顺序表还要学链表 2.优点 三.实现 1.链表的打印 —— 理解链表结构 (2) 物理结构图 2.链表的尾插 —— 入门 错误写法:tail ! NULL 总结: 正确代码物理图解: (2) 尾插整体代码 (思考…

在Linux系统命令行如何使用deepseek官方API调用AI大模型?

在Linux系统命令行如何调用deepseek官方API调用AI大模型? 书接上文: 同样的开头哈哈哈哈: ”在这个AI技术飞速发展的时代,每一个程序员都应该问问自己:如何将人工智能的强大能力融入到我们熟悉的操作系统中&#xff…

我开源了一个“宝藏”开源项目

我开源了一个“宝藏”开源项目 - AI需求分析项目 | 适合交作业和学习 🚀 前言 大家好!最近在学习软件工程和大模型应用开发的过程中,我发现许多学生都遇到了需求分析AI的题目。把一份需求文档转化为用户故事、实体关系或数据库设计&#xff…

SmolDocling:一种超紧凑的视觉语言模型,用于端到端多模态文档转换

paper地址:SmolDocling: An ultra-compact vision-language model for end-to-end multi-modal document conversion Huggingface地址:SmolDocling-256M-preview 代码对应的权重文件:SmolDocling-256M-preview权重文件 一、摘要 以下是文章摘要的总结: SmolDocling 是一…

理解CSS3 的 max/min-content及fit-content等width值

本文首发在我的个人博客: 理解CSS3 的 max/min-content及fit-content等width值https://www.brandhuang.com/article/1744253362074 width/height 的属性值 fit-content 这是一个 CSS3 属性,用来设置元素的宽度和高度,值为 fit-content&#…

关键路径任务延误,如何快速调整

快速识别延误原因、优化资源配置、实施任务并行、调整任务优先级是关键路径任务延误后快速调整的有效方式。其中,快速识别延误原因尤为重要,需要项目管理者及时发现影响关键路径任务延误的核心问题,通过系统性的分析,确保延误的具…

Elasticsearch 全面解析

Elasticsearch 全面解析 前言一、简介核心特性应用场景 二、核心原理与架构设计1. 倒排索引(Inverted Index)2. 分片与副本机制(Sharding & Replication)3. 节点角色与集群管理 三、核心特点1. 灵活的查询语言(Que…

linux入门四:Linux 编译器

一、C 语言编译器 GCC:开启编程之旅 1.1 GCC 安装:一站式工具链 GCC(GNU Compiler Collection)是 Linux 下最常用的 C/C 编译器,支持多种编程语言。安装命令(适用于 Debian/Ubuntu 系统)&…

springboot集成springcloud vault读值示例

接上三篇 Vault---机密信息管理工具安装及常用示例 Vault机密管理工具集群配置示例 vault签发根证书、中间证书、ca证书流程记录 项目里打算把所有密码都放到vault里管理,vault提供了springcloud vault用来在springboot里连接vault,启动加载vault里的值放…

edis 主从复制

Redis 主从复制是一种数据同步机制,主节点(Master)将数据复制到一个或多个从节点(Slave),从 而实现数据备份、读写分离和高可用性。 1、解决我们的日常一个单机故障,而衍生出来 主从架构 2、…

机器视觉+深度学习,让电子零部件表面缺陷检测效率大幅提升

在精密加工的3C电子行业中,一抹0.1毫米的油渍,一粒肉眼难辨的灰尘或将引发整机性能隐患。当制造业迈入微米级品质竞争时代,产品表面看似微不足道的脏污缺陷,正成为制约企业高质量发展的隐形枷锁。分布无规律的污渍斑点、形态各异的…

Java基础关键_035_Lambda 表达式

目 录 一、引例:TreeSet 排序 1.实现 Comparable 接口 2.比较器 3.匿名内部类 4.Lambda 表达式 5.Lambda 表达式和匿名内部类的区别 二、函数式编程 三、Lambda 表达式的使用 1.无返回值函数式接口 (1)无返回值无参数 (…

OPEX baota 2024.02.26

OPEX baota 2024.02.26 运维集成软件宝塔2024.02.26作废例子: 最重要的两个地方:上传文件 网站,重启应用服务器(tomcat) 其他很少用的