一文盘点自动驾驶系统超全的系统时间同步方案设计
下一代自动驾驶系统需要采用多激光雷达、多毫米波雷达、多摄像头等各类传感器,传感器从采集数据到处理到发送到域控制器内部,存在延时,且延时的时长不稳定。为了提高自动驾驶的传感器融合、决策规划和融合定位等性能,自动驾驶高级域控制器HPC与其关联的传感器均需要做时间同步,实际过程就是需要定义清楚传感器输入数据的时间戳信息(包括打时间戳的时刻及精度要求),同时也需要定义整体时间同步方案和同步精度要求。
1 概述
要讲清楚时钟同步原理需要首先解释清楚两种时钟同步类型:数据时钟和管理时钟。
首先,整体上是组合惯导提供的UTC时间通过PPS+GPRMC给时间同步服务器授时。该时间同步服务器将相应的时间信息通过PTP协议和中央网关,给各类传感器数据采集主机授时。HPC则需要实现好内部SOC和MCU之间的时间同步过程。
HPC的SOC和MCU之间的数据面时间通过gPTP协议时间同步,其中SOC为主master;
HPC的SOC和MCU之间的管理面时间通过HPC私有协议进行同步,SOC为主Master,通过以太链路进行同步。
SOC和MCU同步过程中,管理时钟和数据时钟都会做同步,数据面用gPTP协议,在其时间同步精度要求250微妙内,管理时钟用私有协议,也通过以太网,精度是10ms。其内部的管理时间和数据面时间就需要对齐,HPC要保证数据时钟的连续性,不允许有异常跳变。因为异常跳变会引起很严重的数据误传和误解析。
每次域控制器冷启动时,域控制器会尝试与提供主时钟的节点持续进行一定时间(该时间可以根据实际情况按需标定)的通信以进行初始同步。如果同步成功,则数据时钟会采用当前管理时间,以同步获取到的绝对时间;对应的驱动程序可以随其启动,并调用对应的应用软件进行运算。如果同步不成功 ,域控制器会一直尝试同步。
2 HPC与VDC的同步过程
整个同步分类主要包括中央域控制器与网关、各类传感器及执行器之间的同步。HPC的绝对时间通常通过中央网关CGW作为整车所有控制器提供统一时间源,将整体的同步时间戳输出给所有关联的控制器端(如车身域控制器PDC、整车域控制器VDC、座舱域控制器CSC等)。在下一代自动驾驶系统架构中,整车域控制器VDC不仅承担着控制整车执行器端运行的功能,还同时兼任着中央网关CGW的功能,承载着HPC与其他域控制器信息交互和协议转化的功能。
如下图表示了自动驾驶控制器HPC与其关联域控制器的连接关系。
前述讲到VDC可作为中央网关功能,因此以HPC为中心的控制器间同步过程着重在于HPC与VDC之间的同步过程。通过VDC的信息中转可以实现各域控制器之间的同步及通信功能。各控制器主要通过以太网直连,采用基于以太网gPTP协议。HPC与VDC的同步过程需要考虑与HPC直连的GNSS输入绝对时间为主时钟,该时间误差比较小(通常在10ms内)。考虑智驾大数据云端分析精度,及 gPTP协议精度通常要求在250微妙内,HPC和VDC定周期可采用其整数倍精度(如125毫秒)做同步。
3 HPC局部网络节点的同步过程
HPC局部网络节点同步过程是指其与传感器之间的同步过程。在自动驾驶私有内部网络均以域控制器为主节点Master,采用其相应的数据端时间做时间源。HPC通过局部内网单独给传感器(激光雷达、毫米波雷达、行车摄像头、环视摄像头和组合惯导等)提供统一时间源。过程中,分别通过以太网连接激光雷达、组合惯导(预留1PPS),同时通过CANFD/以太网连接毫米波雷达、超声波盒子PDC,通过GSML/LVDS连接摄像头(包含行车/环视摄像头)。该类不同的网络连接形式均作为从节点与网关做时间同步。
其中主要包含三大传感器如下:
视觉传感器
以行车控制和泊车控制的摄像头进行区分。
行车摄像头主要包括前视摄像头、侧视摄像头、后视摄像头为代表,泊车摄像头主要指环视摄像头;采用集中式方案后的摄像头通常不再是一体机,而是简单的传感器而已,输入的是原始图像。
HPC和摄像头通过视频数据线缆如GSML或LVDS进行数据传输,HPC利用其数据时钟(即系统时间,非绝对时间)作为时间源,定时发送触发信号Trigger Signal给摄像头,摄像头基于实时触发信号调整曝光时刻。由于单相机内无法直接记录对应的时间戳,因此使用多相机同步触发的方式进行同步,并以记录域控内的触发信号的时刻作为图像的初始时间戳。
摄像头其成像中间(如下计算方式)时刻打时间戳,且时间精度要求在10ms内。
Tmidtime成像中间=Ttrigger(触发时刻)+1/2*Texposure(曝光时间);
如上公式中曝光时间是固定的。
由于触发时刻位于整帧图像的曝光末尾,为了提高时间戳的精度,需要对曝光时长进行补偿以获取中间行曝光结束点时刻,来代表整帧图像的曝光中间时刻;通常采用如下公式进行时间补偿。
Tcompensate(补偿时间)=每行长度×总行数/2
域控制器记录时刻包括如下5个时刻:摄像头成像中间时刻、图像进感知模块的时刻、图像感知结果进融合模块的时刻、感知融合结果发送时间、下游模块接收时刻。
激光雷达
当前主要利用的是半固态激光雷达。
HPC和激光雷达通常也是基于以太网gPTP协议结合千兆以太网直连,HPC为主节点Master,激光雷达为从节点Slave。HPC同步时间源采用的是绝对时间(即系统时间)作为数据时钟,时间同步精度要求仍旧是250微妙内。HPC和激光雷达采用同步时间精度的整数倍周期(比如可以是125毫秒、也可以是250ms)做同步,激光雷达需要按照该同步过程实时更新时间。此外,激光雷达需要在发出每帧点云中每个点的时间作为传感器打时间戳的时刻要求(精度要求为1ms内)。
同样,域控制器需要基于激光雷达返回时间记录激光点云发送点时刻(即激光雷达在接收到反射信号时可以记录到每个点的时刻);输入域控制器时间戳(通常此时激光雷达已带有相应的时间信息,HPC则不用再打时间戳);激光感知模块时间戳(一般则由激光雷达供应商进行原始点云信息处理,如果是集中式方案则由HPC中的SOC负责进行前端点云感知,并由专有的SOC进行感知后端融合);感知结果带上时间戳发送给下游模块接收;且此时需要打上最后一个时间戳。域控制器的数据时钟针对激光点云感知而言主要用于感知算法设计(这类算法可以是车端,也可以是云端),而绝对时间主要涉及本地时间,主要用于数据记录和存储业务。
毫米波雷达
主要指前毫米波雷达、角毫米波雷达。
通常前毫米波雷达单独对信息进行同步,而角毫米波雷达群本身会存在一个主雷达对其所有的信息进行进一步过程同步。通常以上一代自动驾驶来说,毫米波雷达输入数据通常采用的是目标级数据,而下一代域控制器采用集中式方案后,对于将3D毫米波雷达更新换代为4D毫米波雷达,即直接处理毫米波雷达点云的呼声越来越高。这个过程中,毫米波雷达不再具备计算单元,而是简单输入点云数据。
但由于毫米波雷达的微波信号处理仍旧存在较高的难度,对于下一代自动驾驶系统来说,很多OEM仍旧采用目标级数据进行直连,时间同步精度通常要求叫激光雷达更加宽泛些,通常为1ms以内。点云毫米波雷达发出和收到回波的中间时刻作为标记打上时间戳,要求精度1ms内。
同时,HPC和毫米波雷达通过设定1-2秒的周期间隔进行同步,该时间段内毫米波雷达实时更新对应的时间。同样的,域控制器基于毫米波雷达返回时间支持记录包含以下五个时刻的时间戳:
回波反射点生成时间戳、回波输入至域控制器时间戳(当然对于目标级数据记录,其毫米波雷达已带时间戳信息,华为不再打时间戳);毫米波雷达输出的目标物信息是由原始反射点聚类过滤得到,为了获取更加精准的时间戳,通常需要获得原始反射点生成时刻的时间戳,如下图红色部分。
感知结果发送专门SOC/MCU并与其他传感器做大融合时间戳。同样的,域控制器的数据时间(或本地时间)用于算法设计运行,而绝对时间用于数据记录和存储业务。
HPC需要对智能camera和radar的报文需额外打上对应报文进入时刻的时间戳,对数据进感知模块时刻打时间戳,作为备份使用与毫米波雷达确认,尤其角雷达,通过时间同步信息才能确定角雷达是否可发出目标。
组合惯导/独立惯导系统
下一代自动驾驶系统中,不同的OEM对于惯导使用的类型有所不同,通常根据其自研能力分为组合惯导和独立惯导两种类型。由于组合惯导内置卫惯组合算法,根据实际应用情况,这里我们只针对较为简单的组合惯导的直连进行说明。HPC作为主节点Master而组合惯导为从节点,通过100兆以太网与组合惯导直连。
其中,以太网仍旧是基于gPTP协议进行的。HPC同步时间源仍旧采用数据时钟(即系统时间,非绝对时间)进行同步。要求时间同步精度要求:250微妙内,同步周期为同步精度要求的整数倍时间间隔(如1毫秒或125毫秒)。其间,组合惯导根据RTK和IMU信息基于最近一次IMU采样,打时间戳。其精度限制在1ms内。
此外,IMU的采样时刻、进入HPC时刻、进入后端融合模块这三个时刻均会被打上时间戳。
4 HPC外部网络节点的时间同步过程
除开内部网路节点时间同步外,对于下一代自动驾驶系统来说,其与相关联的执行器之间(如集成制动控制系统EPBi、电子转向系统EPS、动力控制系统VCU)均存在大量外部信息交互。参考阶段性集中控制方式,这类整车控制端口通常通过整车控制器VDC进行连接和同步控制。如前述,VDC实际亦可看成中央网关,除开对各类域控制器的信息转发外,其还承担着整个同步时间戳的定义和发送。因为对于整车系统,整个绝对时间是自动驾驶系统的域控制器HPC连接的GNSS/GPS所获得的。
关联系统通常是通过整车域控端口(VDC)进行单独的时间同步控制,因此HPC和ESP、EPS、VCU之间通常是不存在直接的主从节点这类型的时间同步关系,而是在执行指令过程中直接将各自时间戳发送给VDC控制器,在执行过程中进行时间对齐即可。
5 HPC安全冗余控制过程中的时间同步过程
对于整个自动驾驶系统来说,在时间同步过程中仍旧需要考虑相应的失效控制逻辑。考虑到其内所包含的AI芯片SOC和逻辑芯片MCU所承载的不同的功能。通常在两者出现故障的不同时刻会存在一定程度的功能降级。这类功能降级我们称之为局部功能降级。局部功能降级期间,若部分SOC失效时,MCU通过晶振维护时间和传感器做同步。期间,仍可接收Radar及其余SOC传递过来的摄像头目标数据信息,并保持输出时间戳的稳定。因此,可以说局部功能降级后系统在短时间内仍旧使用原时间戳做应对,MCU仍可保持原时间数据稳定(其时间同步过程可参照MCU中的管里面时钟进行),支持功能的运行。因为短时间内误差很小,所以该时间内不做时间同步风险也很小。
当然,如果整个HPC失效,则需要另外一个备份控制器(可以是另外一个低配版本的HPC,也可以是额外增加的智能摄像头Smart Camera)进行安全控制。此过程中,则需要重新建立该备份控制器与对应传感器之间的时间同步关系。
另外一种失效模式为供电失效引起的功能降级。这里需要说明,域控制器存在两种睡眠模式:深度睡眠和浅度睡眠。该睡眠模式主要与是否掐断整体供电有关。如果控制器处于深睡眠,则数据时钟直接使用上一次下电时存储的管理时钟,不再进行重新计时。如果控制器处于浅睡眠,则直接利用本次下电的管理时钟进行计时。相对于深度睡眠来说,浅睡眠同步的时钟结果更加准确。当然无论睡眠深浅,该时间段内控制器时钟始终是无效的,且各软件均无法正常运行。当然,由于整个浅睡眠转化到深睡眠的时间是可以自定义的(如12小时)。
6 总结
本文详细的讲解了下一代自动驾驶系统的各个控制单元的时间同步原理,并对同步过程中的各个模块提出了精度要求,涉及局部网络节点同步、全局网络节点同步。其中,局部网络节点同步主要是针对自动驾驶系统内部的传感器与域控之间的同步关系。全局网络节点同步主要是针对自动驾驶系统与外部关联系统(如控制制动、转向、动力、车门、车灯、网关等)进行的时间同步关系。
对于整体计算精度而言,局部网络节点同步是至关重要的,因为涉及的传感器单元比较多,需要各自针对自身实际情况打上对应的时间戳,并最终由域控进行总同步。全局网络节点同步则实际参照各分域控与HPC之间的信息交互简单的进行时间信息交换即可。这里需要注意的是,整体系统的绝对时间均来自于GNSS系统,通常可由HPC或CSC进行连接输入。
以上是一文盘点自动驾驶系统超全的系统时间同步方案设计的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

写在前面&笔者的个人理解三维Gaussiansplatting(3DGS)是近年来在显式辐射场和计算机图形学领域出现的一种变革性技术。这种创新方法的特点是使用了数百万个3D高斯,这与神经辐射场(NeRF)方法有很大的不同,后者主要使用隐式的基于坐标的模型将空间坐标映射到像素值。3DGS凭借其明确的场景表示和可微分的渲染算法,不仅保证了实时渲染能力,而且引入了前所未有的控制和场景编辑水平。这将3DGS定位为下一代3D重建和表示的潜在游戏规则改变者。为此我们首次系统地概述了3DGS领域的最新发展和关

昨天面试被问到了是否做过长尾相关的问题,所以就想着简单总结一下。自动驾驶长尾问题是指自动驾驶汽车中的边缘情况,即发生概率较低的可能场景。感知的长尾问题是当前限制单车智能自动驾驶车辆运行设计域的主要原因之一。自动驾驶的底层架构和大部分技术问题已经被解决,剩下的5%的长尾问题,逐渐成了制约自动驾驶发展的关键。这些问题包括各种零碎的场景、极端的情况和无法预测的人类行为。自动驾驶中的边缘场景"长尾"是指自动驾驶汽车(AV)中的边缘情况,边缘情况是发生概率较低的可能场景。这些罕见的事件

0.写在前面&&个人理解自动驾驶系统依赖于先进的感知、决策和控制技术,通过使用各种传感器(如相机、激光雷达、雷达等)来感知周围环境,并利用算法和模型进行实时分析和决策。这使得车辆能够识别道路标志、检测和跟踪其他车辆、预测行人行为等,从而安全地操作和适应复杂的交通环境.这项技术目前引起了广泛的关注,并认为是未来交通领域的重要发展领域之一。但是,让自动驾驶变得困难的是弄清楚如何让汽车了解周围发生的事情。这需要自动驾驶系统中的三维物体检测算法可以准确地感知和描述周围环境中的物体,包括它们的位置、

一先导与重点文章主要介绍自动驾驶技术中几种常用的坐标系统,以及他们之间如何完成关联和转换,最终构建出统一的环境模型。这里重点理解自车到相机刚体转换(外参),相机到图像转换(内参),图像到像素有单位转换。3d向2d转换会有相应的畸变,平移等。重点:自车坐标系相机机体坐标系需要被重写的是:平面坐标系像素坐标系难点:要考虑图像畸变,去畸变和加畸变都是在像平面上去补偿二简介视觉系统一共有四个坐标系:像素平面坐标系(u,v)、图像坐标系(x,y)、相机坐标系()和世界坐标系()。每种坐标系之间均存在联系,

轨迹预测在自动驾驶中承担着重要的角色,自动驾驶轨迹预测是指通过分析车辆行驶过程中的各种数据,预测车辆未来的行驶轨迹。作为自动驾驶的核心模块,轨迹预测的质量对于下游的规划控制至关重要。轨迹预测任务技术栈丰富,需要熟悉自动驾驶动/静态感知、高精地图、车道线、神经网络架构(CNN&GNN&Transformer)技能等,入门难度很大!很多粉丝期望能够尽快上手轨迹预测,少踩坑,今天就为大家盘点下轨迹预测常见的一些问题和入门学习方法!入门相关知识1.预习的论文有没有切入顺序?A:先看survey,p

最近一个月由于众所周知的一些原因,非常密集地和行业内的各种老师同学进行了交流。交流中必不可免的一个话题自然是端到端与火爆的特斯拉FSDV12。想借此机会,整理一下在当下这个时刻的一些想法和观点,供大家参考和讨论。如何定义端到端的自动驾驶系统,应该期望端到端解决什么问题?按照最传统的定义,端到端的系统指的是一套系统,输入传感器的原始信息,直接输出任务关心的变量。例如,在图像识别中,CNN相对于传统的特征提取器+分类器的方法就可以称之为端到端。在自动驾驶任务中,输入各种传感器的数据(相机/LiDAR

目标检测在自动驾驶系统当中是一个比较成熟的问题,其中行人检测是最早得以部署算法之一。在多数论文当中已经进行了非常全面的研究。然而,利用鱼眼相机进行环视的距离感知相对来说研究较少。由于径向畸变大,标准的边界框表示在鱼眼相机当中很难实施。为了缓解上述描述,我们探索了扩展边界框、椭圆、通用多边形设计为极坐标/角度表示,并定义一个实例分割mIOU度量来分析这些表示。所提出的具有多边形形状的模型fisheyeDetNet优于其他模型,并同时在用于自动驾驶的Valeo鱼眼相机数据集上实现了49.5%的mAP

原标题:SIMPL:ASimpleandEfficientMulti-agentMotionPredictionBaselineforAutonomousDriving论文链接:https://arxiv.org/pdf/2402.02519.pdf代码链接:https://github.com/HKUST-Aerial-Robotics/SIMPL作者单位:香港科技大学大疆论文思路:本文提出了一种用于自动驾驶车辆的简单高效的运动预测基线(SIMPL)。与传统的以代理为中心(agent-cent
