自动驾驶中的时间同步概述

为什么时间同步对自动驾驶系统十分重要?

时间同步,顾名思义就是用来保证多方在同一时刻使用的都是全局且一致的时间戳。随着自动驾驶的浪潮日益高涨,中央集中式架构越来越成为主机厂更为青睐的选择。

既然选择了中央集中式架构,就同时意味着整个架构中会存在多种不同传感器数据的融合,而完成数据融合的一个基本前提就是各个传感器传过来的数据需打上对应的时间戳,为了保证各传感器使用的时间戳一致性,就必然需使用时间同步方案来保证各个传感器的全局时间基准是唯一的。


1.多传感器数据融合:
自动驾驶系统通常依赖于来自不同传感器的数据来实现环境感知。例如,激光雷达可能会提供精准的3D点云数据,摄像头提供视觉图像,雷达则可以帮助提供距离和速度的测量。为了进行有效的数据融合,所有传感器的数据必须在相同的时间基准下进行对齐。时间同步确保这些传感器数据的时标一致,避免数据错位。
2.实时控制与反馈:
自动驾驶系统需要实时感知周围环境,并且依据这些感知结果作出驾驶决策。任何时序的偏差都会导致不准确的控制指令或反应延迟,可能影响车辆的驾驶安全性。例如,传感器数据的时间不同步可能导致车辆对路面状况的反应滞后,或者计算出来的周围物体位置不准确。
3.高精度定位:
自动驾驶车辆依赖高精度的定位技术(如差分GPS、RTK GPS、IMU等)来获取实时位置。如果这些定位系统和其他传感器(如雷达和激光雷达)之间存在时钟偏差,就可能影响车辆的定位精度。时间同步能够确保这些系统协同工作,精确地确定车辆的地理位置。

时间同步种类:

时间同步的挑战


1、传感器时钟不同步:
不同传感器的硬件时钟可能存在偏差和漂移,这会导致它们的时间戳不同步。特别是在高速行驶的自动驾驶系统中,时间差异可能会影响到数据融合的效果。
2、不同系统的时钟源:
自动驾驶系统涉及多个计算平台和控制器,这些平台的时钟来源可能不同。例如,车辆的主计算单元(中央控制单元)和传感器模块可能运行在不同的时钟源上,导致它们的时标不一致。
3、延迟与传输时延:
在自动驾驶系统中,数据的传输可能会存在延迟,尤其是在网络通讯中。时间同步必须考虑到传输时延和数据处理时延,以确保数据在时间上完全对齐。

时间同步方式:

系统部署Linuxpps

        GNSS发送PPS+GPRMC给系统接收,其中ubuntu系统linuxpps已经内置,不需再手动编译, 若版本未内置,可通过如下方式获取编译:

sudo git clone git://git.code.sf.net/p/linuxptp/code linuxptp
cd linuxptp
sudo make
sudo make install

     查看Usage

ptp4l -h

       

  延迟机制选项
  -A 			Auto,自动选择延迟机制。,从E2E开始,当收到对等延迟请求时切换到P2P
  -E 			E2E,选择延迟请求 - 响应(E2E)机制。 默认是用这个机制。 单个PTP通信路径上的所有时钟必须使用相同的机制。 使用E2E机制在端口上收到对等延迟请求时,将输出warning
  -P 			P2P,对等延迟机制
  网络传输选项
  -2 			IEEE 802.3
  -4 			UDP IPV4(默认)
  -6 			UDP IPV6
  时间戳选项
  -H  			使用硬件时间戳(默认)
  -S  			使用软件时间戳					
  -L  			LEGACY HW时间戳
  其他选项
  -f	[file]	从指定文件file中读取配置。 默认情况下不读取任何配置文件。
  -i	[dev]	选择PTP接口设备,例如eth0(可多次指定)必须至少使用此选项或配置文件指定一个端口。
  -p	[dev]	在Linux内核v3.5之前,无法发现与网络接口关联的PHC设备。 此选项指定在旧内核上运行时要使用的PHC设备(例如/ dev/ptp0)。要使用的时钟设备,默认为auto,忽略软件/ LEGACY HW时间戳(不推荐使用此选项)
  -s			slaveOnly mode,从时钟模式(覆盖配置文件)
  -t			透明时钟模式
  -l	[num]	将日志记录级别设置为'num',默认是6
  -m			将消息打印到stdout
  -q			不打印消息到syslog
  -v			打印软件版本并退出
  -h			help

参考链接:时间同步 - PPS+GPRMC-CSDN博客

 系统部署GPSD       

        通过gpsd接收(NEMA+pps)获得精准的绝对时间。

        参考链接:时间同步 - GPSD-CSDN博客

系统部署Chrony

        通过chronyd将上步的时间源同步系统时钟。

        在没有gps、gps解算失效、有网的时候,就是正常地采用ntp协议,网络时钟服务器同步系统时钟,使系统与NTP(时钟服务器)同步。

        参考链接:时间同步 - NTP-CSDN博客

系统部署PTP

        这一步按ptp4l采用什么时间戳(软硬)来划分
        A、软件时间戳,给ptp报文打上的是系统时间的时间戳,不需要用phc2sys
        B、硬件时间戳,给ptp报文打上的是网卡时钟的时间戳,需要提前用phc2sys把系统时钟同步网卡或者网络接口的时钟

        参考链接:时间同步 - PTP-CSDN博客

lidar时间同步设置

        参考链接:lidar常用配置设置-CSDN博客

camera时间同步设置

        参考链接:Camera相关配置

CAN时间同步

        参考链接:时间同步 - AUTOSAR之CanTsyn-CSDN博客

### 自动驾驶系统中的时间同步方法 #### 基于GPS的时间同步自动驾驶系统中,基于全球定位系统(GPS)的“PPS+NMEA”是一种常见的高精度时间同步方式。PPS(Pulse Per Second)信号提供了精确的一秒脉冲,而NMEA(National Marine Electronics Association)语句则包含了更详细的地理位置时间信息。这种方式能够实现微秒级别的精准度,适用于对时间敏感的应用场景[^1]。 ```python import serial from datetime import datetime def read_gps_time(port='/dev/ttyUSB0', baudrate=9600): ser = serial.Serial(port, baudrate) while True: line = ser.readline().decode('utf-8').strip() if 'GPRMC' in line and ',' not in line.split(',')[1]: parts = line.split(',') time_str = parts[1][:6] gps_time = datetime.strptime(time_str, '%H%M%S') return gps_time.strftime('%Y-%m-%d %H:%M:%S') print(read_gps_time()) ``` #### 基于以太网的时间同步 另一种广泛采用的方式是通过以太网络利用IEEE 1588 (Precision Time Protocol, PTP) 或者 IEEE 802.1AS (gPTP),这两种协议可以实现在分布式系统的节点间达到亚微秒级甚至更低延迟下的时间一致性。对于需要跨多个设备保持严格同步的任务来说非常重要。 ```bash sudo apt-get install ptp4l phc2sys ptp4l -i eth0 -m phc2sys -s CLOCK_REALTIME -w ``` ### 面临的问题与挑战 尽管上述两种主要的技术手段已经相当成熟,但在实际应用过程中仍然存在一些困难: - **环境因素影响**:例如,在城市峡谷环境中,卫星信号可能受到建筑物遮挡的影响;而在地下停车场或其他无GNSS覆盖的地方,则完全无法依靠GPS来进行时间校准。 - **硬件兼容性成本考量**:不同供应商提供的组件可能存在接口差异或是性能上的区别,这增加了集成难度并可能导致额外费用支出。此外,为了满足严格的实时性需求,往往还需要专门定制化的硬件支持,进一步提高了整体造价[^2]. - **软件配置复杂度**:像`ntpdate`这样的传统工具虽然简单易用,但它依赖特定版本库文件才能正常工作,并且每次更新操作系统内核之后都需要重新安装这些依赖项[^3]. ### 解决方案建议 针对以上提到的各种障碍,可以从以下几个方面着手改进: - 使用多模态融合策略来增强鲁棒性,即结合多种类型的传感器数据(如Wi-Fi、蓝牙信标等),即使某一类输入失效也能维持基本的功能运作水平; - 推广开放标准技术规范以便降低互操作性的门槛,鼓励更多厂商参与到生态建设当中去,从而促进市场竞争进而拉低价格; - 开发更加智能化自动化的管理平台简化运维流程,减少人为干预带来的不确定性风险的同时提高效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值