--关注回复“40429”--
↓↓领取《汽车驾驶自动化分级》(GB/T 40429-2021)↓↓
对于整个自动驾驶系统的时钟同步来说,因为各个传感器时钟源都有钟漂,而且每个时钟源钟漂不同,所以即使把各个传感器时间戳在初始时刻对齐,运行一段时间之后,之前对齐的结果仍会偏离。因此,为了统一各个传感器或芯片的时钟,需进行时间同步。同步过程需要设置相应的同步时钟源。当前,常见的时间同步主要有以下几种方式:
以上同步源中,大家可能对GNSS的定位功能比较熟悉,其实它的授时功能是和定位同等重要的功能,在自动驾驶的传感器配置里,GNSS是一个必备的传感器,它自带秒脉冲发生器,所以可以直接使用。而且GNSS信号能够达到定位要求时,自身时钟也会受到卫星上原子钟的校正,从而进一步提高精度。在当前分布式架构中,通常的时间同步信号式通过can/canfd进行传输,而下一代自动驾驶系统则基本采用以太网进行信号传递。对于融合需要的信息,需要在报文中打上相关的时间戳来进行匹配,时间戳应尽量接近目标被探测到对的实际时刻。实例:以最通用分布式架构5R1V1D为例说明各个传感器在时间同步上的原理。方案一:由其中一个传感器融合另外一个传感器数据,将接收时间点在对应位置打上时间戳,然后整体发给域控制器。域控制器在接收到相应的融合目标后,在对应接收点上打上时间戳。Tcan:表示通过can总线发送信息到摄像头的时间间隔;T_abs:最后由传感器发送到域控制器的时间差值;方案二:基于域控制器底层基础软件Autosar的时间同步解决方案。AUTOSAR 解决方案,ADS 中的时间Master,每个传感器中的时间Slave。带有时间主控的 ECU 将在一个公共时基内同步所有其他从属 ECU。传感器将发送时间戳以告知“何时测量目标对象”。由于所有 ECU 在公共时基通信,域控制器会直接将所有传感器数据置于公共时间坐标中,然后重新计算到其本地时间供其使用。T_global_V:公共时基中的摄像头测量时间点;
T_global_R: 公共时基中的雷达测量时间点;Tmeasure: 公共时基中的环境目标测量时间点; 本节主要讲解基于组合惯导接收GNSS的授时和PPS时间同步的原理。由于激光雷达通常使用PPS进行同步,高精定位普遍预留PPS。在开发阶段的数据采集中,可考虑使用此方法与域控同步。一般地,卫星(GPS/北斗…)中会有精准的时间信息(一般为UTC时间)。高精定位系统通过接受多颗卫星的信号,可以获取精准的UTC时间,此过程一般与定位过程一起进行(可能需要时间信息来提高定位精度)。此方式的另外一个可能应用是卫星向数采设备授时。在GNSS完成授时的同时需要通过GPIO将相应的PPS信号从组合惯导系统ECU发送给中央域控制器HPC,两者进行过程会存在一定的时间差。如上图所示,ECU过CAN/ETH发送当下的UTC时刻给HPC,随即ECU通过GPIO发送PPS给HPC,每次脉冲上升沿为当前秒数开始时间。随后,HPC用PPS信号对UTC时间进行修正,从PPS精度获知能达到10ns。NTP即Network Time Protocol,网络时间协议。是通过时钟同步服务器从GPS卫星上获取标准的时间信号,将这些信号通过各种接口传输给自动化系统中需要时间信息的设备(计算机、保护装置、故障录波器、事件顺序记录装置、安全自动装置、远动RTU),这样就可以达到整个系统的时间同步。NTP常用于Windows操作系统的时间同步,在局域网中精度在10ms左右。可用于精度要求不高的数采设备同步(供应商方案)。PTP 是一种高精度时间同步协议,可以到达亚微秒级精度,有资料说可达到30纳秒左右的偏差精度,但需要网络的节点(交换机)支持PTP协议,才能实现纳秒量级的同步。一般在实际使用中,现有的NTP可以达到5ms以内的精度,对一般的应用都是满足的;对于超高精度设备,可以使用PTP设备提高同步精度。与NTP主要区别:PTP是在硬件级实现的,NTP是在应用层级别实现的。PTP 是主从同步系统,一般采用硬件时间戳,并配合一些对NTP更高精度的延时测量算法。Step1:t1时刻Master(Router A)发送NTP报文,该报文数据在t2时刻被Slave(Router B)收到;
Step2:随后,Router B在t3时刻返回NTP报文,并加入t2/t3值。Step3:Router A在t4时刻收到并记录t4时刻值。Step4:Router B可计算传输延时△t=[(t2-t1)+(t4-t3)]/2(默认往返延时相同)。Step5:同时Router B可校准时钟偏差offset=t4-t3- △tStep1:t1时刻Master(Router A)发送同步报文信号Sync,该报文数据在t2时刻被Slave(Router B)收到;Step2:几乎同时,Router A发送跟随报文FUP,将时刻t1时间值告知Router B。Step3:随后,Router B在t3时刻发送DelayReq报文,该报文数据在t4时刻被Router B收到。Step4:几乎同时,Router A随后发送DelayResp报文,将时刻t4时间值告知Router B。从钟根据 t1 、 t2 、 t3 、 t4 计算时间偏移 (offset) 以及传输延时 ( delay) ,即 t2 -t1 = offset + delay t4 - t3 = delay - offset 计算出 delay = ( t4 - t3 + t2 - t1) / 2 offset = ( t2 - t1 - t4 + t3) / 2 ,从中根据 offset 从钟可以调整自己的时钟。在Autosar的软件架构中进行同步的过程需要理清两个比较重要的术语。其一是时间主站Time Master是一个实体,它是某个时基的主站,并将该时基传播到通信网络某个段内的一组时基,作为该时基的源。如果时间主站也是全局基准时间的所有者,所有其他时基都来自该时基,那么它就是全局时间主站。时间网关通常由一个连接到一个或多个时间从站的时间主站端口组成。当将时间实体映射到真实的 ECU 时,必须注意,一个 ECU 可以是一个时基的时间主站(甚至全局时间主站)和另一个时基的时间从站。总体来说,AUTOSAR完全通过CAN/ETH通讯进行,假设在Autsosar软件架构下通信的两个终端ECU分别为两大不同域端控制器,其一是自动驾驶域控制器HPC,其二是车身区域控制器PDC,假设由自动驾驶域控制器HPC接收世界时钟,并对PDC进行时间同步。Step1:HPC在t0时刻HPC接收发送当下的UTC时间,并于t1时刻发送给PDC,PDC于t2时刻收到该时间戳信息;Step2:然后HPC计算跟随时间戳信息FUP并发送Δt=t1-t0给PDC; Step3:PDC于t3时刻收到该时间戳信息,并计算两次报文的时间差Δt’=t3-t2;Step4:PDC在时间戳t3时刻通过计算当下的时间=(t3-t2)+t1,随机每隔一段时间进行一次同步;如上简单描述了整个Autosar简单的同步过程,后续文章将单独针对这一块进行详细的过程说明。域控内部芯片的时间同步通常是将域控区分成各种不同功能的模块进行,比如针对SOC来说,主要是负责进行相应的图像智能识别和处理,其中包含深度神经网络。这里我们举出一种简单的例子进行说明。假设我们在下一代自动驾驶系统中,设计成了相应的行泊一体控制器。其中包含智能行车处理芯片单元,这里假设我们采用英伟达已经量产的较大算力Xavier来进行深度神经网络处理,采用英飞凌MCU芯片TC397来进行逻辑算力的计算,而对于泊车模块可采用德州仪器的TDA4来进行相应的泊车信息处理。 如上如表示了目前在研的高阶自动驾驶系统的域控传输信息同步过程内部架构,其中主要包含摄像头、毫米波雷达、激光雷达、高精地图、超声波雷达几类。各个传感器在对目标检测和发送过程中存在时间延迟,到达域控制器芯片的传感器信号需要在芯片上进行时间同步。其中参照如上图中的基本连接方式,目标信息及车辆动信息通过CAN或LVDS传入域控,最终智能行车目标信息会在SOC(Xavier)中进行目标前融合,智能泊车信息会在SOC(TDA4)中进行前融合,而最终所有传感器信息则会在MCU(TC397)中进行目标后融合。同时,在轨迹规划中也会在收到最终的融合数据时,根据不同的目标大融合信息进行轨迹规划和预测。因此,对于域控制器来说,需要在终端芯片上分别进行时间同步。同步过程如下:Step1:在t1时刻传感器探测到目标。其中,摄像头是指该帧曝光的时刻,而雷达是指接收到回波的时刻;Step2:在t2时刻各传感器发出检测到的目标信息;Step3:在t3时刻各内部芯片接收到传感器发出的检测信息,然后在t3-t4时间段内,智能行车和智能泊车芯片将各自进行信息前融合;Step4:在t4时刻智能行车和智能泊车芯片SOC发出相应的前融合信息给MCU芯片进行后融合和轨迹规划;Step5:在t5时刻,MCU将最终收到智能行车芯片(Xavier)和智能泊车芯片(TDA4)发出的前融合信息。然后在t5-t6时间段内,MCU将根据接收到的环境传感信息进行轨迹规划和行为预测;Step6:在t6时刻,MCU将最终预测的轨迹和规划的决策控制指令发送给执行器进行控制执行。转载自焉知智能汽车,文中观点仅供分享交流,不代表本公众号立场,如涉及版权等问题,请您告知,我们将及时处理。
-- END --