当前位置: 首页 > 科技观察

一文盘点自动驾驶系统超全的系统时间同步方案设计

时间:2023-03-11 20:36:34 科技观察

本文盘点自动驾驶系统的超完备系统时间同步方案设计装置内部存在延时,延时长短不稳定。为了提高自动驾驶传感器融合、决策规划和融合定位的性能,需要对自动驾驶的高层域控制器HPC及其相关传感器进行时间同步。戳时间和精度要求),还需要定义总体时间同步方案和同步精度要求。1概述为阐明时钟同步的原理,有必要对两种时钟同步进行说明:数据时钟和管理时钟。首先,整体来说,组合惯导提供的UTC时间是通过PPS+GPRMC的方式给到时间同步服务器的。时间同步服务器通过PTP协议和中心网关使用相应的时间信息,为各种传感器数据采集主机提供时间服务。HPC需要实现内部SOC和MCU之间的时间同步过程。HPCSOC与MCU之间的数据平面时间通过gPTP协议同步,其中SOC为master;HPCSOC与MCU之间的管理面时间通过HPC私有协议同步,SOC为主,采用以太网链路。同步。在SOC和MCU同步过程中,管理时钟和数据时钟会同步。数据面采用gPTP协议,时间同步精度要求在250微秒以内。管理时钟采用私有协议,同样通过以太网,精度10ms。其内部管理时间和数据平面时间需要对齐,HPC必须保证数据时钟的连续性,不允许异常跳跃。因为不正常的跳转会造成严重的数据误传和误解。每次域控制器冷启动时,域控制器都会尝试与提供主时钟的节点通信一段时间(时间可根据实际需要校准)进行初始同步。如果同步成功,数据时钟会使用当前的管理时间来同步获取到的绝对时间;可以用它启动相应的驱动程序,调用相应的应用软件进行计算。如果同步不成功,域控制器会不断尝试同步。2HPC与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毫秒)。3HPC本地网络节点的同步过程HPC本地网络节点的同步过程是指自身与传感器之间的同步过程。在自驾车专用内网中,域控制器是主节点Master,以其对应的数据终端时间作为时间源。HPC通过本地内网为传感器(激光雷达、毫米波雷达、行车摄像头、环视摄像头、组合惯导等)提供统一的时间源。过程中激光雷达与组合惯导通过以太网连接(预留1PPS),毫米波雷达与超声波箱PDC通过CANFD/以太网连接,摄像头(含行车/环视摄像头)通过以太网连接GSML/LVDS。这些不同的网络连接形式被用作时间同步的从节点和网关。主要包括以下三大传感器:视觉传感器以摄像头区分,用于行车控制和停车控制。行车摄像头主要包括前视摄像头、侧视摄像头和后视摄像头。倒车摄像头主要是指环视摄像头。采用集中式解决方案后,摄像头通常不再是一体机,而是简单的传感器。输入是原始图像。HPC与摄像头之间通过GSML或LVDS等视频数据线进行数据传输。HPC使用其数据时钟(系统时间,而非绝对时间)作为时间源,定期向相机发送触发信号。相机根据实时触发信号调整曝光。时间。由于单个相机无法直接记录相应的时间戳,因此采用多相机同步触发进行同步,将域控中触发信号记录的时刻作为图像的初始时间戳。时间戳始终标记在相机成像的中间(计算方式如下),时间精度要求在10ms以内。Tmidtime成像中=Ttrigger(触发时刻)+1/2*Texosure(曝光时间);上式中的曝光时间是固定的。由于触发时刻位于整帧图像的曝光结束处,为了提高时间戳的准确性,需要对曝光时长进行补偿,得到中线的曝光结束点来表示整帧图像的中间曝光时刻;以下公式通常用于时间补偿。Tcompensate(补偿时间)=每行长度×总行数/2?域控制器的记录时间包括以下5个时刻:摄像头成像的中间时刻、图像进入画面的时刻感知模块,图像感知结果进入融合模块的时刻,以及感知融合结果发送时间,下游模块接收时间。激光雷达目前主要使用半固态激光雷达。HPC和激光雷达通常是基于以太网gPTP协议结合千兆以太网直连,HPC为主节点,激光雷达为从节点Slave。HPC同步时间源采用绝对时间(系统时间)作为数据时钟,时间同步精度要求仍在250微秒以内。HPC和激光雷达使用同步??时间精度的整数倍(例如可以是125毫秒或250毫秒)进行同步,激光雷达需要根据同步过程实时更新时间。另外,激光雷达需要发出每一帧点云中每个点的时间作为传感器的时间戳(精度要求在1ms以内)。同样,域控制器需要根据激光雷达返回时间(即激光雷达接收到反射信号时,能够记录每个点的时刻)记录激光点云发送点时间;输入域控制器时间戳(通常此时激光雷达已经有对应的时间信息,HPC不需要时间戳);激光感知模块时间戳(一般由激光雷达供应商进行原始点云信息处理,如果是集中式方案,则由HPC中的SOC负责前端点云感知,以及感知的专有SOC和后端融合);感知结果带时间戳发送给下游模块;并且此时需要标记最后一个时间戳。域控制器的数据时钟主要用于激光点云感知的感知算法设计(这类算法可以在车侧也可以在云端),而绝对时间主要涉及本地时间,主要是用于数据记录和存储服务。毫米波雷达主要指前置毫米波雷达和角度毫米波雷达。通常,前置毫米波雷达单独同步信息,而角毫米波雷达组本身会有一个主雷达,进一步处理同步其所有信息。一般来说,对于上一代自动驾驶,毫米波雷达的输入数据通常是目标级数据,而下一代域控制器采用集中式方案后,需要直接处理替换3D毫米波雷达与4D毫米波雷达。毫米波雷达点云化的呼声越来越高。在这个过程中,毫米波雷达不再有计算单元,只是简单地输入点云数据。但由于毫米波雷达的微波信号处理难度仍然比较大,对于下一代自动驾驶系统,很多主机厂仍然采用目标级数据进行直连,时间同步精度通常要求比激光雷达,通常在1毫秒以内。点云毫米波雷达发送和接收回波的中间时刻标记为时间戳,精度要求在1ms以内。同时,HPC与毫米波雷达通过设置1-2秒的周期间隔进行同步,毫米波雷达在该时间段内实时更新相应的时间。同样,基于毫米波雷达回波时间支持记录的域控制器包含以下五个时刻的时间戳:回波反射点产生时间戳、回波输入到域控制器时间戳(当然,对于目标级数据记录,其毫米波雷达已经有时间戳信息,华为不再有时间戳);毫米波雷达输出的目标信息是通过对原始反射点进行聚类和滤波得到的。为了获取更准确的时间戳,通常需要获取原始反射点的生成时间Timestamp,如下图红色部分所示。感知结果发送到专用的SOC/MCU,并与其他传感器融合进行时间戳。同样,域控制器的数据时间(或本地时间)用于算法设计和运行,而绝对时间用于数据记录和存储操作。HPC需要在报文进入智能摄像头和雷达报文的时间加上时间戳,对进入传感模块的数据进行时间戳,作为与毫米波雷达确认的备份,特别是角雷达,通过时间同步信息。确定角雷达是否可以发送目标。组合惯导/独立惯导系统在下一代自动驾驶系统中,不同主机厂采用不同类型的惯导,通常根据自主开发能力分为组合惯导和独立惯导两种。由于组合惯导内置星惯组合算法,根据实际应用情况,这里只对组合惯导相对简单的直连进行说明。HPC为主节点,组合惯导系统为从节点。通过100M以太网直接连接组合惯导系统。其中,以太网仍然基于gPTP协议。HPC同步时间源仍然使用数据时钟(即系统时间,不是绝对时间)进行同步。时间同步精度要求:250微秒以内,同步周期为同步精度要求的时间间隔(如1毫秒或125毫秒)的整数倍。同时,集成惯性导航是基于RTK和IMU信息的最新IMU采样的时间戳。其精度限制在1ms以内。此外,IMU的采样时间、进入HPC的时间、进入后端融合模块的时间都会被打上时间戳。4HPC外网节点时间同步过程除了内网节点时间同步外,对于下一代自动驾驶系统,其与相关执行器(如集成制动控制系统EPBi、电子转向系统EPS、Power控制系统(VCU)与外部信息交互较多,参考阶段集中控制方式,此类整车控制端口通常通过整车控制器VDC连接同步控制,如前所述,VDC实际上可以看作是一个中央网关,除了向各个域控制器转发信息外,还负责整个同步时间戳的定义和传输。因为对于整车系统来说,整个绝对时间是通过连接到的GNSS/GPS获得的自动驾驶系统的域控制器HPC,关联系统通常执行单独的t通过车辆域控制端口(VDC)进行时间同步控制。因此,HPC与ESP、EPS、VCU之间通常没有直接的主从节点时间同步关系。在指令过程中,将各自的时间戳直接发送给VDC控制器,在执行过程中可以进行时间对齐。5HPC安全冗余控制过程中的时间同步过程对于整个自动驾驶系统,在时间同步过程中仍然需要考虑相应的故障控制逻辑。考虑到AI芯片SOC和其中包含的逻辑芯片MCU所承载的功能不同。当两者都失败时,通常会在不同时间出现某种程度的功能退化。这种功能退化称为部分功能退化。在部分功能退化期间,如果部分SOC发生故障,MCU将通过晶振维持时间与传感器同步。在此期间,仍然可以接收到Radar和其他SOC发送的相机目标数据信息,输出时间戳可以保持稳定。因此可以说,部分功能退化后,系统在短时间内仍使用原来的时间戳,MCU仍能保持原来时间数据的稳定性(时间同步过程可与参考MCU中的内部时钟)以支持功能的运行。因为在短时间内误差很小,所以在这段时间内不进行时间同步的风险也很小。当然,如果整个HPC出现故障,还需要另外一个备份控制器(可以是另外一个低配置版本的HPC,也可以是额外的SmartCamera)来进行安全控制。在此过程中,需要重新建立备份控制器与对应传感器的时间同步关系。另一种故障模式是由电源故障引起的功能退化。这里需要注意的是,域控制器的睡眠模式有两种:深度睡眠和浅度睡眠。休眠模式主要与是否切断整体供电有关。如果控制器处于深度睡眠,数据时钟将直接使用上次掉电时存储的管理时钟,不会重新计时。如果控制器处于浅睡眠状态,则直接使用本次掉电的管理时钟进行计时。与深度睡眠相比,浅睡眠同步的时钟结果更加准确。当然,无论睡眠深度如何,这段时间控制器时钟总是无效的,所有软件都无法正常运行。当然,由于整个浅睡过渡到深睡的时间是可以自定义的(比如12小时)。6小结本文详细阐述了下一代自动驾驶系统各控制单元的时间同步原理,并对同步过程中各模块提出了精度要求,涉及局部网络节点同步和全局网络节点同步。其中,本地网络节点的同步主要针对自动驾驶系统内部传感器与域控制器之间的同步关系。全局网络节点同步主要是针对自动驾驶系统与外部相关系统(如控制刹车、转向、动力、车门、灯光、网关等)的时间同步关系。对于整体的计算精度,本地网络节点的同步非常重要,因为涉及到的传感器单元很多,每个都需要根据自己的实际情况打上相应的时间戳,最后由域控制器进行整体同步。对于全局网络节点同步,只需参考各个子域控制器与HPC之间的信息交互,交换时间信息即可。这里需要注意的是,整个系统的绝对时间来自GNSS系统,通常可以通过HPC或CSC连接输入。