多传感器时间同步
为什么要时间同步
- 每个传感器都有自己的时钟源
- 不同传感器具有不同的采样频率
- 另外数据传输、camera曝光等都会产生不可控的延迟
为了有效融合多个传感器的感知数据,必须进行时间同步
各传感器时间戳
| 传感器 | 时间戳 |
|---|---|
| GPS/GNSS时间戳 | GPS时间指的是GPS原子时,是以UTC时间1980年1月6日0时0分0秒为时间基准,以后按照TAI秒长累计计时 |
| camera时间戳 | 自动驾驶上使用rolling shuttercamera是支持外部触发曝光的,但由于camera帧周期包括曝光时间和readout时间(整帧像素点读出),所以需要关注曝光时间,对于相同cmos芯片的camera,其readout时间是固定的,来反推图像真实时间戳(一般采用曝光中间时间) |
| lidar时间戳 | 目前自动驾驶中所使用的lidar,从硬件层面上就支持授时,即有硬件trigger触发LiDAR的数据,并给这一帧数据打上时间戳,LiDAR通常有两种时间同步接口:基于IEEE 1588的以太网时间同步机制和PPS+NMEA协议 (基于GNSS的时间同步机制) |
| 毫米波雷达时间戳 | 目前主流的车载毫米波雷达采用FMCW调制方式,其上电后开始进行信号的发送和接收,内部有专门的时间机制,无法接收外部的时间。另外毫米波雷达周期性发送can信号,所以可以从can信号中获取数据时间 |
| IMU时间戳 | 一般IMU与GNSS集成在一起的,假设集成在FPGA上,那么接收FPGA输出的高精度时间脉冲,从而将传感器信号打上高精度时间戳 |
统一时钟源
通过统一的时钟源给各传感器提供相同的基准时间,各传感器根据提供的基准时间校准各自的时钟时间,从硬件上实现时间同步。因为时钟源都有钟漂,而且每个时钟源钟漂不同,所以即使把各个传感器时间戳在初始时刻对齐,运行一段时间之后,之前对齐的结果就会偏离。解决这个问题的办法就是在硬件上把时钟源统一。
在自动驾驶的传感器配置里,GNSS接收机是必不可少的设备之一,GNSS中导航卫星内置高精度原子钟,GNSS接收机通过解算导航卫星信号,可以获得超高精度的时钟信号。GNSS信号能够达到定位要求时,自身时钟也会受到卫星上原子钟的校正,从而进一步提高精度。
一般可以采用GNSS时间作为统一时间源,通过GNSS给各个传感器提供基准时间,各传感器根据提供的基准时间校准各自的时钟时间;除了GNSS之外,根据需求还可以加入PTP和NTP授时方案,利用网络来进行时间同步。
几个概念:
-
GNSS授时主要原理是通过PPS+NMEA(例如GPRMC)来授时,GPRMC报文提供年月日时分秒信息(一般通过波特率9600串口发送接收,处理时间为毫秒级别)、PPS则通常使用1PPS即频率为1次每秒的秒脉冲,接入工控机,当工控机支持时,设备接收到PPS脉冲后,毫秒及以下位清零重新计算。整体的时间就是与GPRMC报文中的UTC时间整秒相加,得到系统时间。具体可以参考PPS+GPRMC授时原理
-
NTP(Network Time Protocol)是用于不同计算机之间同步时钟的网络协议。它的设计目标是使所有的互连的机器之间的时钟与UTC时间只相差若干毫秒。
-
PTP(Precision Time Protocol,1588 V2)是基于以太网的高精度时钟同步协议,能够实现以太网中多个从节点(各种传感器)与主节点(主机)之间的亚微秒级时钟同步,前提是所有节点之间都通过以太网互联,交换机支持PTP协议,并且每

最低0.47元/天 解锁文章
2571

被折叠的 条评论
为什么被折叠?



