一种智能驾驶系统的时钟同步方法及设备与流程

文档序号:32005677发布日期:2022-11-02 13:04阅读:53来源:国知局
一种智能驾驶系统的时钟同步方法及设备与流程

1.本发明涉及一种智能驾驶系统的时钟同步方法及设备。


背景技术:

2.智能驾驶系统中因感知距离及感知需求的不同,会配置多种传感器,包括毫米波雷达、激光雷达、摄像头(camera)、gnss和imu等,但因每种传感器的通讯方式不同,基础时钟频率不同,导致每个传感器接收到同一帧报文时各自的本地时钟不同,同一时刻智驾域控制器做出的相应的判断是不准确的。
3.比如,智能驾驶系统内的感知模块检测到一个障碍物,控制决策模块需要知道这个障碍物是在什么时间检测到的,以此作出响应。如果感知模块和控制模块都在一个控制器内,延时不会很大;但若是感知模块和控制模块分布在不同的控制器中,感知模块发送的障碍物信息携带的时间戳与实际检测到的时间偏差太大,那么等控制模块作出响应时,可能汽车已经撞到障碍物上了。


技术实现要素:

4.本发明的目的是提供一种智能驾驶系统的时钟同步方法及设备。
5.本发明提供一种智能驾驶系统的时钟同步方法,所述方法包括:发送端通过sync报文将时间信息t0r中秒的部分s(t0r)发送给接收端;接收端接收sync报文并使用can底层机制,检测sync报文实际接收到的时间点t2r;发送端通过fup报文发送时间信息中秒的部分t0r与sync报文实际传输的时间点t1r之间的偏移量t4r;接收端基于sync报文中的时间信息中秒的部分t0r、偏移量t4r和sync报文实际接收到的时间点t2r,计算对应的全局时钟。
6.进一步的,上述方法中,接收端基于sync报文中的时间信息中秒的部分t0r、偏移量t4r和sync报文实际接收到的时间点t2r,计算对应的全局时钟,包括:基于如下公式计算对应的全局时钟globaltime(t3r):globaltime(t3r)=(t3r-t2r)+s(tr0)+t4r,其中,t3r表示基于can timeslave的本地时钟实体的任意时间,s(t0r)表示t0r中秒的部分。
7.进一步的,上述方法中,还包括:依靠以太网数据电缆通过携带时间戳的数据包,将主节点的时钟信息发送给各个从节点;从节点根据接收到的时钟信息,计算主节点和从节点之间的时间偏移量,根据主节点和从节点之间的时间偏移量,调整从节点的本地时钟。
8.进一步的,上述方法中,从节点根据接收到的时钟信息,计算主节点和从节点之间的时间偏移量,包括:
t
r,i+1
)*rateratio
i+1
;其中,rateratio
i+1
表示grandmaster时钟频率与ptp实例i+1的localclock实体频率的比率;preciseorigintimestamp表示最初发送同步信息时grandmaster clock的时间;correctionfield
i1
表示发送sync报文时同步时间t
s,i
和preciseorigintimestamp之间的差异,t
s,i
表示ptp实例i向ptp实例i+1发送同步报文的时刻;t
i+1
表示要求解的ti的下一个要求解的时刻;t
r,i+1
表示ptp实例i+1收到来自ptp实例i的同步报文的时刻;di表示t
r,i+1
时刻的主节点和从节点之间的传输时间延迟,此时,ptp实例i为主节点,ptp实例i+1为从节点。
13.进一步的,上述方法中,还包括:在多摄像机系统中,多个解串器共用同一个时钟源,为传输数据到ipd控制器的片上系统提供统一的时间基准;同时解串器将时钟源通过控制链路传递到各个摄像机。
14.根据本发明的另一方面,还提供一种智能驾驶系统的时钟同步设备,包括:发送端,用于通过sync报文将时间信息t0r中秒的部分s(t0r)发送给接收端;发送端通过fup报文发送时间信息中秒的部分t0r与sync报文实际传输的时间点t1r之间的偏移量t4r;接收端,用于接收sync报文并使用can底层机制,检测sync报文实际接收到的时间点t2r;接收端基于sync报文中的时间信息中秒的部分t0r、偏移量t4r和sync报文实际接收到的时间点t2r,计算对应的全局时钟。
15.根据本发明的另一方面,还提供一种基于计算的设备,其中,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:发送端通过sync报文将时间信息t0r发中秒的部分s(t0r)发送给接收端;接收端接收sync报文并使用can底层机制,检测sync报文实际接收到的时间点t2r;发送端通过fup报文发送时间信息中秒的部分t0r与sync报文实际传输的时间点t1r之间的偏移量t4r;接收端基于sync报文中的时间信息中秒的部分t0r、偏移量t4r和sync报文实际接收到的时间点t2r,计算对应的全局时钟。
16.根据本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:发送端通过sync报文将时间信息t0r中秒的部分s(t0r)t0r发送给接收端;接收端接收sync报文并使用can底层机制,检测sync报文实际接收到的时间点t2r;发送端通过fup报文发送时间信息中秒的部分t0r与sync报文实际传输的时间点t1r之间的偏移量t4r;接收端基于sync报文中的时间信息中秒的部分t0r、偏移量t4r和sync报文实际接
收到的时间点t2r,计算对应的全局时钟。
17.本发明通过can时钟同步、ethernet时钟同步和多相机时钟同步的方式,可以实现各个ecu(electronic control unit,电子控制器单元)之间由一个一致的全局时钟global time(gt)来提供相对准确、精度足够的绝对时间值,并且将此时间值同步到各个ecu。本发明将所有的传感器的时钟统一到全局时钟,从而避免产生因传输延迟/其他延迟对数据实时性,有效性的影响。
附图说明
18.图1示出本发明一实施例的智能驾驶系统的时钟同步方法的系统结构图;图2示出本发明一实施例的can时钟同步的原理图;图3示出本发明一实施例的ethernet时钟同步中的传输时间延迟的原理图;图4示出本发明一实施例的ethernet时钟同步中的计算时钟同步参数的原理图;图5示出本发明一实施例的多相机时钟同步的原理图。
具体实施方式
19.下面结合附图对本发明作进一步详细描述。
20.在本技术一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
21.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
22.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
23.如图2所示,本发明提供一种智能驾驶系统的时钟同步方法,包括:步骤s11,发送端(can time master)通过sync报文将时间信息t0r中秒的部分s(t0r)发送给接收端;步骤s12,接收端(can time slave)接收sync报文并使用can底层机制,检测sync报文实际接收到的时间点t2r;步骤s13,发送端通过fup报文发送时间信息中秒的部分t0r与sync报文实际传输的时间点t1r之间的偏移量t4r;步骤s14,接收端基于sync报文中的时间信息中秒的部分t0r、偏移量t4r和sync报文实际接收到的时间点t2r,计算对应的全局时钟。
24.在此,本发明可以实现各个ecu(electronic control unit,电子控制器单元)之
间由一个一致的全局时钟global time(gt)来提供相对准确、精度足够的绝对时间值,并且将此时间值同步到各个ecu。本发明将所有的传感器的时钟统一到全局时钟,从而避免产生因传输延迟/其他延迟对数据实时性,有效性的影响。
25.发送端如毫米波雷达的通讯方式为can/canfd方式,接收端如ipd对毫米波雷达的同步方式为基于can的时钟同步。如图1所示,车辆上的毫米波雷达可以包括:左前毫米波雷达、左后毫米波雷达、右前毫米波雷达、右后毫米波雷达和前向毫米波雷达。
26.图1中,tg为时间网关(time gateway);gm为全局时钟(global master);tm为主时钟(time master);ts为从时钟(time slave)。
27.具体为采用两步机制:第一步中,在第一个广播报文(即sync报文)中,时间信息中秒的部分(t0r)被发送。发送端ecu,即time master,使用can底层机制,如“can传输确认”来检测sync报文实际传输的时间点t1r,并打上时间戳。接收端ecu,即time slave,接收sync报文并使用can底层机制,如“can接收指示”来检测sync报文实际接收到的时间点t2r,并打上时间戳;第二步中,在第二个广播报文(即fup报文)中,time master发送前一个sync报文中传输的时间信息t0r与实际检测到的发送时间t1r之间的偏移量t4r。fup报文不使用时间戳,无论是在发送方还是在接收方。
28.接收端,即time slave将sync和fup报文中的信息结合起来,并与之前接收的sync报文的t2r相结合,通过globaltime(t3r)计算公式计算全局时钟。
29.如图2所示,本发明的智能驾驶系统的时钟同步方法一实施例中,步骤s15,接收端基于sync报文中的时间信息中秒的部分t0r、偏移量t4r和sync报文实际接收到的时间点t2r,计算对应的全局时钟,包括:基于如下公式计算对应的全局时钟globaltime(t3r):globaltime(t3r)=(t3r-t2r)+s(tr0)+t4r=(t3r-t2r)+t1r,其中,t3r表示基于can timeslave的本地时钟实体的任意时间,s(t0r)表示t0r中秒的部分。
30.在此,t0r是想要同步的时间(即gm时间)。t0r中秒的部分(即s(t0r))被放在sync报文中发送出去;t1r是通过传输确认机制捕获的实际发送时间;t2r是通过接收指示机制捕获的接收到sync报文的时间;t3r是基于can timeslave的本地时钟实体的任意时间。
31.t4r=t1r-s(t0r)。
32.任意时刻t3r所要同步的全局时钟,以globaltime(t3r)表示即globaltime(t3r)=computed rel. time=(t3r-t2r)+s(tr0)+t4r=(t3r-t2r)+t1r。
33.图2中s(t)表示时间t中秒的部分;sync(s(t0r))表示函数带的参数;fup(t4r)表示函数带的参数;公式中s(t0r)表示时间t0r中秒的部分。
34.本发明的智能驾驶系统的时钟同步方法一实施例中,还包括:步骤s21,依靠以太网数据电缆通过携带时间戳的数据包,将主节点的时钟信息发送给各个从节点;步骤s22,从节点根据接收到的时钟信息,计算主节点和从节点之间的时间偏移量,根据主节点和从节点之间的时间偏移量,调整从节点的本地时钟。
35.在此,激光雷达(lidar)通讯方式为以太网(ethernet),ipd对激光雷达的同步方式基于ethernet的时钟同步;本实施例采用通用的精确时间协议(gptp),在以太网中实现了所有时间敏感节点在统一时间下精确工作。本实施例中,依靠原始的以太网数据电缆,通过携带时间戳的数据包,将主节点的时钟信息发送给各个从节点,然后从节点根据接收到的时间信息计算主从节点之间的时间偏移量,调整本地时钟,从而实现整个网络的时间同步。
36.如图3所示,本发明的智能驾驶系统的时钟同步方法一实施例中,步骤s22,从节点根据接收到的时钟信息,计算主节点和从节点之间的时间偏移量,包括:s221,在t1时刻由从节点(initiator slave)向主节点(responder master)发起延迟测量请求pdelay_req;s222,主节点记录延迟测量请求pdelay_req的接收时刻t2;s223,主节点基于接收到的延迟测量请求在t3时刻向从节点发送反馈信息pdelay_resp;s224,从节点记录反馈信息pdelay_resp的接收时刻t4;s225,基于t1、t2、t3和t4时刻,计算主节点和从节点之间的传输时间延迟d。
37.本发明的智能驾驶系统的时钟同步方法一实施例中,s225,基于t1、t2、t3和t4时刻,计算主节点和从节点之间的传输时间延迟d,包括:基于如下公式计算主节点和从节点之间的传输时间延迟d:。
38.在此,本实施例计算master到slave间的传输时间延迟,由从节点slave向主节点master发起pdelay_req延迟测量请求,计算公式:。
39.如图4所示,本发明的智能驾驶系统的时钟同步方法一实施例中,步骤s22,根据主节点和从节点之间的时间偏移量,调整从节点的本地时钟,包括:s226,根据主节点和从节点之间的传输时间延迟d,调整从节点的本地时钟。
40.如图4所示,本发明的智能驾驶系统的时钟同步方法一实施例中,s226,根据主节点和从节点之间的传输时间延迟d,调整从节点的本地时钟,包括:s2261,ptp实例i-1在时间t
s,i-1
发送一个sync同步报文给ptp实例i;在t
s,i-1
以后的时间,ptp实例i-1向ptp实例i发送一个相关的follow_up报文,所述follow_up报文包含:preciseorigintimestamp、correctionfield
i-1
和rateratioi;s2262,ptp实例i的任意时刻ti的对应的gm主时钟时间globaltime(ti)基于如下公式计算:globaltime(ti)=preciseorigintimestamp+correctionfield
i-1
+di+(t
i-t
r,i
)*rateratioi;其中,rateratioi表示grandmaster时钟频率与ptp实例i的localclock实体频率的比率;preciseorigintimestamp表示最初发送同步信息时grandmaster clock的时间;
correctionfield
i-1
表示发送sync报文时同步时间t
s,i-1
和preciseorigintimestamp之间的差异,t
s,i-1
表示ptp实例i-1向ptp实例i发送同步报文的时刻;ti表示要求解的时刻;t
r,i
表示ptp实例i收到来自ptp实例i-1的同步报文的时刻;di表示t
r,i
时刻的主节点和从节点之间的传输时间延迟,ptp实例i-1为主节点(master port),ptp实例i为从节点(slave port)。
41.具体的:t
s,i-1
:ptp实例i-1向ptp实例i发送同步报文的时刻;t
r,i
:ptp实例i收到来自ptp实例i-1的同步报文的时刻;t
s,i
:ptp实例i向ptp实例i+1发送同步报文的时刻;t
r,i+1
:ptp实例i+1收到同步报文的时刻;ti为后续要求解的时刻,t
i+1
为后续要求解的ti时刻后的下一时刻。
42.t
s,i-1
和t
s,i
之间以grandmaster clock的时基表示的间隔时间=平均传输延迟(d)+驻留时间。即=[d+(t
s,i-t
r,i
)]*rateratioi。
[0043]
其中,rateratioi表示:rateratioi是grandmaster时钟频率与ptp实例i的localclock实体频率的比率。
[0044]
ptp实例i的任意时刻ti,参照本地时钟,所对应的gm主时钟时间globaltime(ti)= preciseorigintimestamp+correctionfield
i-1
+di+(t
i-t
r,i
)*rateratioi。
[0045]
其中,preciseorigintimestamp表示最初发送同步信息时grandmaster clock的时间;correctionfield
i-1
表示发送sync报文时同步时间t
s,i-1
和preciseorigintimestamp之间的差异;di表示t
r,i
时刻的主节点和从节点之间的传输时间延迟。
[0046]
如图4所示,本发明的智能驾驶系统的时钟同步方法一实施例中,s2262,ptp实例i的任意时刻ti的对应的gm主时钟时间globaltime(ti)基于如下公式计算之后,还包括:s2263,ptp实例i在时间t
s,i
发送一个sync同步报文给ptp实例i+1;在t
s,i-1
以后的时间,ptp实例i向ptp实例i+1发送一个相关的follow_up报文,所述follow_up报文包含:preciseorigintimestamp、correctionfieldi和rateratio
i+1
;s2264,ptp实例i+1的任意时刻t
i+1
对应的gm主时钟时间globaltime(ti)基于如下公式计算:globaltime(t
i+1
)=preciseorigintimestamp+correctionfieldi+d
i+1
+(t
i+1-t
r,i+1
)*rateratio
i+1
;其中,rateratio
i+1
表示grandmaster时钟频率与ptp实例i+1的localclock实体频率的比率;preciseorigintimestamp表示最初发送同步信息时grandmaster clock的时间;correctionfield
i1
表示发送sync报文时同步时间t
s,i
和preciseorigintimestamp之间的差异,t
s,i
表示ptp实例i向ptp实例i+1发送同步报文的时刻;t
i+1
表示要求解的ti的下一个要求解的时刻;t
r,i+1
表示ptp实例i+1收到来自ptp实例i的同步报文的时刻;di
表示t
r,i+1
时刻的主节点和从节点之间的传输时间延迟,此时,ptp实例i为主节点,ptp实例i+1为从节点。
[0047]
在此,ptp实例i+1的任意时刻t
i+1
,参照本地时钟,所对应的gm主时钟时间globaltime(t
i+1
)=preciseorigintimestamp+correctionfieldi+d
i+1
+(t
i+1-t
r,i+1
)*rateratio
i+1

[0048]
其中,correctionfieldi表示:correctionfieldi包含发送sync报文时同步时间(即t
s,i
)和preciseorigintimestamp之间的差异。
[0049]
图1中switch对应于step2中的想要求解的ti时刻;激光雷达的tm对应的是step2中的想要求解的ti时刻的想要求解的下一个t
i+1
时刻;iam对应的是step2中的想要求解的i时刻前一个时刻t
i-1.
本发明的智能驾驶系统的时钟同步方法一实施例中,还包括:步骤s31,在多摄像机系统中,多个解串器共用同一个时钟源,为传输数据到ipd控制器的片上系统提供统一的时间基准;同时解串器将时钟源通过控制链路传递到各个摄像机。
[0050]
在此,如图5所示,有摄像机(camera)均通过lvds方式传输视频数据给ipd控制器。
[0051]
本实施例,在多摄像机系统中,多个解串器(deserializer)共用同一个时钟源,为传输数据到ipd控制器的片上系统提供统一的时间基准;同时解串器将时钟源通过控制链路传递到各个摄像机,实现多个摄像机具有相同的时钟源,这样保证了摄像机和ipd在统一的时钟域下运行。
[0052]
ipd控制器对摄像头的时钟同步方式为所有解串器具有相同参考时钟源,晶体选用高稳定低温漂,这样保证各摄像机模块有相同时钟;统一的硬件同步信号输出到各解串器,保证多摄像机同时触发,适用于摄像机内部无振荡器。
[0053]
解串器的refclk时钟由外部振荡器提供。
[0054]
振荡器规格:频率误差:小于等于
±
50ppm;频率稳定性:小于等于
±
50ppm;温度:-40℃~85℃。
[0055]
外部帧同步信号是由ipd控制器输出的脉冲信号到各个解串器端口,解串器通过控制链路将脉冲信号传递到摄像机,触发图像传感器采集图像信息,外部帧同步方式可以使多个摄像机同时触发,以实现向ipd控制器输出时钟同步的图像。
[0056]
根据本发明的另一方面,还提供一种智能驾驶系统的时钟同步设备,包括:发送端,用于通过sync报文将时间信息t0r中秒的部分s(t0r)发送给接收端;发送端通过fup报文发送时间信息中秒的部分t0r与sync报文实际传输的时间点t1r之间的偏移量t4r;接收端,用于接收sync报文并使用can底层机制,检测sync报文实际接收到的时间点t2r;接收端基于sync报文中的时间信息中秒的部分t0r、偏移量t4r和sync报文实际接收到的时间点t2r,计算对应的全局时钟。
[0057]
根据本发明的另一方面,还提供一种基于计算的设备,其中,包括:处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:发送端通过sync报文将时间信息t0r中秒的部分s(t0r)发送给接收端;接收端接收sync报文并使用can底层机制,检测sync报文实际接收到的时间点t2r;发送端通过fup报文发送时间信息中秒的部分t0r与sync报文实际传输的时间点t1r之间的偏移量t4r;接收端基于sync报文中的时间信息中秒的部分t0r、偏移量t4r和sync报文实际接收到的时间点t2r,计算对应的全局时钟。
[0058]
根据本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:发送端通过sync报文将时间信息t0r中秒的部分s(t0r)发送给接收端;接收端接收sync报文并使用can底层机制,检测sync报文实际接收到的时间点t2r;发送端通过fup报文发送时间信息中秒的部分t0r与sync报文实际传输的时间点t1r之间的偏移量t4r;接收端基于sync报文中的时间信息中秒的部分t0r、偏移量t4r和sync报文实际接收到的时间点t2r,计算对应的全局时钟。
[0059]
本发明各设备实施例的详细内容具体可参见各方法实施例的对应部分,在此,不再赘述。
[0060]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
[0061]
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0062]
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
[0063]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论
从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1