CN113273105B - 用于对自动驾驶车辆的多个辅助设备进行时间同步的方法、车辆、计算机设备和存储介质 - Google Patents
用于对自动驾驶车辆的多个辅助设备进行时间同步的方法、车辆、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113273105B CN113273105B CN202080007588.7A CN202080007588A CN113273105B CN 113273105 B CN113273105 B CN 113273105B CN 202080007588 A CN202080007588 A CN 202080007588A CN 113273105 B CN113273105 B CN 113273105B
- Authority
- CN
- China
- Prior art keywords
- auxiliary
- ptp protocol
- auxiliary devices
- time
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
一种用于对自动驾驶车辆中的多个辅助设备进行时间同步的方法、车辆、计算机设备和计算机可读存储介质,该方法包括:确定多个辅助设备中的一个辅助设备作为主辅助设备,并将主辅助设备的时钟作为主时钟(202);通过可编程逻辑器件控制在主辅助设备和其他辅助设备之间经由网络传输PTP协议报文(204);基于PTP协议报文的传输,计算其他辅助设备的时钟与主辅助设备的主时钟之间的时间偏差(206);以及基于时间偏差对其他辅助设备的时钟进行调整,使得其他辅助设备的时钟与主时钟同步(208)。
Description
技术领域
本申请涉及时间同步领域,尤其是涉及用于对车辆中的多个辅助设备进行时间同步的方法、车辆、计算机设备和计算机可读存储介质。
背景技术
精确时间同步协议(Precision Timing Protocol,PTP)是电子电气工程师协会(IEEE,Institute of Electrical and Electronics Engineers)1588及IEEE802.1AS组织提出的一种高精度时间同步协议。精确时间同步协议用于对搭载在网络中的各个装置的时钟进行精确同步。具体地,例如在自动驾驶领域中,需要利用精确时间同步协议对搭载在车辆内的多个传感器的时钟进行高精度同步,以确保多个传感器能够提供同一时刻的数据,从而确保传感器数据的高可靠性,使得在自动驾驶中能够及时准确地对各种环境因素进行识别和判断。在传统方式中,通常使用个人电脑(Personal Computer,PC)或微控制单元(Micro Control Unit,MCU)软件***的软件方案或者利用芯片来实现精确时间同步协议的网络同步技术。但是,通过软件进行时钟同步的同步精度不高,而通过芯片进行时钟同步的方案不够灵活。
发明内容
根据本申请的各个实施例,提供了用于对自动驾驶车辆中的辅助设备进行时间同步的方法、车辆、计算机设备和计算机可读存储介质,技术方案如下。
用于对自动驾驶车辆的多个辅助设备进行时间同步的方法,包括:确定所述多个辅助设备中的一个辅助设备作为主辅助设备,并且将所述主辅助设备的时钟作为主时钟;通过可编程逻辑器件控制在所述主辅助设备和其他辅助设备之间经由网络传输PTP协议的报文;基于所述PTP协议的报文的传输,计算所述其他辅助设备的时钟与所述主辅助设备的主时钟之间的时间偏差;以及基于所述时间偏差,对所述其他辅助设备的时钟进行调整,使得所述其他辅助设备的时钟与所述主时钟同步。
自动驾驶车辆,其包括:多个辅助设备,各自具有时钟;处理器,配置为确定所述多个辅助设备中的一个辅助设备作为主辅助设备,并且将所述主辅助设备的时钟作为主时钟;以及可编程逻辑器件,配置为:控制在所述主辅助设备和所述其他辅助设备之间经由网络传输PTP协议的报文;其中,所述其他辅助设备基于所述PTP协议的报文的传输,计算所述其他辅助设备的时钟与所述主辅助设备的主时钟之间的时间偏差;并基于所述时间偏差,对所述其他辅助设备的时钟进行调整,使得所述其他辅助设备的时钟与所述主时钟同步。
计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现如下处理:确定自动驾驶车辆中的多个辅助设备中的一个辅助设备作为主辅助设备,并且将所述主辅助设备的时钟作为主时钟;通过可编程逻辑器件控制在所述主辅助设备和所述其他辅助设备之间经由网络传输PTP协议的报文;基于所述PTP协议的报文的传输,计算所述其他辅助设备的时钟与所述主辅助设备的主时钟之间的时间偏差;以及基于所述时间偏差,对所述其他辅助设备的时钟进行调整,使得所述其他辅助设备的时钟与所述主时钟同步。
计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如下处理:确定自动驾驶车辆中的多个辅助设备中的一个辅助设备作为主辅助设备,并且将所述主辅助设备的时钟作为主时钟;通过可编程逻辑器件控制在所述主辅助设备和所述其他辅助设备之间经由网络传输PTP协议的报文;基于所述PTP协议的报文的传输,计算所述其他辅助设备的时钟与所述主辅助设备的主时钟之间的时间偏差;以及基于所述时间偏差,对所述其他辅助设备的时钟进行调整,使得所述其他辅助设备的时钟与所述主时钟同步。
根据上述用于对自动驾驶车辆的辅助设备进行时间同步的方法、车辆、计算机设备和计算机可读存储介质,通过可编程逻辑器件对车辆中的辅助设备进行控制,由于可编程逻辑器件的多路并行的特性,能够准确地控制在执行PTP协议的报文传输过程中的对报文进行处理的时间,即排除了这一段时间在每次执行PTP协议的处理中的不稳定性,换言之,使得对报文进行处理的时间在每次执行PTP协议的处理中都是相同的,从而使得主辅助设备的主时钟与其他辅助设备的时钟之间的时间偏差的计算更准确,提高了多个辅助设备之间的时间同步精度。因此,在自动驾驶车辆中,能够提供多个辅助设备的同一时刻的数据,为自动驾驶提供更可靠的辅助设备的数据,提高了自动驾驶的性能。此外,由于可编程逻辑器件的功能可以根据实际需求而做出改变,因此,基于可编程逻辑器件来控制车辆的辅助设备的时钟执行PTP协议的处理从而进行时间同步,具有更高的灵活性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是根据实施例的用于对自动驾驶车辆中的多个辅助设备进行时间同步的方法的应用环境示意图;
图2是根据实施例的用于对自动驾驶车辆的辅助设备进行时间同步的方法的流程图;
图3是根据实施例的用于对自动驾驶车辆的辅助设备进行时间同步的方法的流程图;
图4是根据实施例的PTP协议的报文在网络中传输的示意图;
图5是根据实施例的PTP协议的报文在网络中进行处理的示意图;
图6是根据实施例的用于对自动驾驶车辆的辅助设备进行时间同步的方法的流程图;
图7是根据实施例的车辆的结构框图;
图8是根据实施例的计算机设备的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供用于对自动驾驶车辆的辅助设备进行时间同步的方法,可以应用于多种应用环境中。例如,可以应用于如图1所示的自动驾驶的应用环境中。如图1所示,在该应用环境中,车辆100包括多个辅助设备、可编程逻辑器件130和车辆控制装置140。车辆具体可以是自动驾驶车辆,例如无人驾驶车辆,或其他具有远程辅助驾驶功能的车辆,例如仓库叉车,挖土机等。辅助设备包括主辅助设备110和至少一个其他辅助设备120。辅助设备例如是是用于辅助自动驾驶功能的多个传感器,例如摄像机(包括单目、双目立体视觉、全景视觉及红外摄相机)和测距传感器(包括雷达、激光雷达等)等。可编程逻辑器件130可以是现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)或其他能够实现对信号进行多路并行处理的可编程逻辑器件。车辆控制装置140可以是对车辆中的辅助设备进行控制的处理器,用于获取多个辅助设备的数据。为了保证在自动驾驶功能中使用的辅助设备的数据的可靠性,通常要求多个辅助设备的时间的高精度同步。因此,多个辅助设备之间利用基于PTP协议的网络同步技术来使得多个辅助设备之间的时钟同步。为了描述简洁,该应用环境中例示了一个其他辅助设备120,然而,其他辅助设备120的数量不受限制,并且可以是更多个其他辅助设备120。
在一个实施例中,主辅助设备110包括主时钟作为主辅助设备110的时钟源,其他辅助设备120的时钟作为其他辅助设备120的时钟源。在进行主辅助设备110和其他辅助设备120之间的时间同步时,通过可编程逻辑器件130控制在所述主辅助设备110和所述其他辅助设备120之间经由网络传输PTP协议的报文。其他辅助设备120基于PTP协议的报文的传输,计算其他辅助设备120的时钟与所述主辅助设备110的主时钟之间的时间偏差,并基于该时间偏差调整其他辅助设备120的时钟,使得其他辅助设备120的时钟与主辅助设备110的主时钟同步。
在其中一个实施例中,如图2所示,提供了用于对自动驾驶车辆的多个辅助设备进行时间同步的方法。以该方法应用于图1的自动驾驶应用环境为例进行说明,包括以下步骤。
步骤202:确定多个辅助设备中的一个辅助设备作为主辅助设备110,并将主辅助设备110的时钟作为主时钟。
其中,主辅助设备110和其他辅助设备120分别是车辆中的不同的辅助设备。
步骤204:通过可编程逻辑器件130控制在主辅助设备110和其他辅助设备120之间经由网络传输PTP协议的报文。
可编程逻辑器件130是一种通用的集成电路,它的逻辑功能按照用户对器件的设计和编程来确定,用户可以根据实际电路的功能需要对可编程逻辑器件130进行设计,并且可以随时根据用户期望的功能而重新编程或进行升级,用户只需要通过数据传输将新的逻辑编程文件上载到可编程逻辑器件130,就可以在可编程逻辑器件130中创建新的硬件逻辑。因此,使用可编程逻辑器件130实现硬件电路的功能具有较高的灵活性。此外,由于可编程逻辑器件130具有多路并行的特性,即能够并行地对多路信号进行处理。相比于通用的CPU,CPU对高级程序语言的处理是串行顺序执行的,为了对应高级程序语言的执行顺序,CPU返回的结果是串行执行。因此,在数字信号处理中,可编程逻辑器件130相比于通用的CPU对指令执行的时间更加可控,具有更大的性能优势。
PTP协议是一种高精度的时间同步协议。通过在网络中的辅助设备之间执行基于PTP协议的时间同步处理,能够使网络中的辅助设备的时钟的时间同步。PTP协议的报文是通过基于PTP协议进行时间同步时在网络中传输的报文。网络例如是以太网,或其他可用于PTP协议的报文传输的网络。
在一个实施例中,在PTP协议的报文在网络中传输的过程中,即在PTP协议的报文从主辅助设备110发送到其他辅助设备120,以及从其他辅助设备120发送到主辅助设备110的过程中,需要对PTP协议的报文进行处理,并且还可能需要经过路由器和交换机等网络装置对PTP协议的报文进行传递。其中,对报文进行的处理包括对报文进行封装和解封装等,对报文进行封装和解封装将在后文详细描述。
步骤206:基于PTP协议的报文的传输,计算其他辅助设备120的时钟与主辅助设备110的主时钟之间的时间偏差。
在执行PTP协议的报文的传输过程中,需要记录在网络中的辅助设备的对报文发送的时间及接收的时间,例如,记录主辅助设备110发送PTP协议的报文的时间、其他辅助设备120接收PTP协议的报文的时间、其他辅助设备120发送PTP协议的报文的时间以及主辅助设备110接收PTP协议的报文的时间。通过利用上述时间进行计算,能够得到其他辅助设备120的时钟与主辅助设备110的主时钟之间的时间偏差。
步骤208:基于时间偏差对其他辅助设备120的时钟进行调整,使得其他辅助设备120的时钟与主时钟同步。
通过步骤206的计算得到主辅助设备110的主时钟与其他辅助设备120的时钟之间的时间偏差(offset),该时间偏差即为两个时钟之间需要进行时钟校准的偏差。通过调整该偏差,使得主辅助设备110的主时钟和其他辅助设备120的时钟的时间同步,达到对主辅助设备110的主时钟和其他辅助设备120的时钟进行时间同步的目的。
根据上述用于对自动驾驶车辆的辅助设备进行时间同步的方法,通过可编程逻辑器件130对车辆中的辅助设备进行控制,由于可编程逻辑器件的多路并行的特性,能够准确地控制在执行PTP协议的报文传输过程中的对报文进行处理的时间,即排除了这一段时间在每次执行PTP协议的处理中的不稳定性,换言之,使得对报文进行处理的时间在每次执行PTP协议的处理中都是相同的,从而使得主辅助设备110的主时钟与其他辅助设备120的时钟之间的时间偏差的计算更准确,提高了多个辅助设备之间的时间同步精度。因此,在自动驾驶车辆中,能够提供多个辅助设备的同一时刻的数据,为自动驾驶提供更可靠的辅助设备的数据,提高了自动驾驶的性能。此外,由于可编程逻辑器件130的功能可以根据实际需求而做出改变,因此,基于可编程逻辑器件130来控制车辆的辅助设备的时钟执行PTP协议的处理从而进行时间同步,具有更高的灵活性。
在其中一个实施例中,如图3和图4所示,通过可编程逻辑器件130控制在主辅助设备110和其他辅助设备120之间经由网络传输PTP协议的报文的步骤,具体包括以下内容。
步骤302:从主辅助设备110向其他辅助设备120发送PTP协议同步报文,并生成第一时间戳T1。
步骤304:当其他辅助设备120接收到PTP协议同步报文时,生成第二时间戳T2。
步骤306:从主辅助设备110向其他辅助设备120发送包括第一时间戳T1的PTP协议跟随报文。
步骤308:从其他辅助设备120向主辅助设备110发送PTP协议延迟请求报文,并生成第三时间戳T3。
步骤310:当主辅助设备110接收到PTP协议延迟请求报文时,生成第四时间戳T4。
步骤312:响应于PTP协议延迟请求报文,而从主辅助设备110向其他辅助设备120发送包括第四时间戳T4的PTP协议延迟请求响应报文。
其中,在步骤302中,当从主辅助设备110向其他辅助设备120发送PTP协议同步报文时,PTP协议同步报文可以包括估计发送该同步报文的时刻的发送时刻估计时间戳。其中,时间戳由可编程逻辑器件130生成。可编程逻辑器件通过连续地生成PPS秒脉冲信号而生成持续运行的时间,并定期地输出UTC时间戳信息。由于PTP协议同步报文周期性地从主辅助设备110的主时钟发送给其他辅助设备120的时钟,因此PTP协议同步报文所携带的发送时刻估计时间戳仅用于估计发送的时间,而不能携带精确的PTP协议同步报文离开主辅助设备110的主时钟的时间。因此,在PTP协议同步报文离开主辅助设备110的主时钟时,生成精确记录该时刻的第一时间戳T1。然后,在随后从主辅助设备110的主时钟向其他辅助设备120的时钟发送PTP协议跟随报文时,在PTP协议跟随报文中封装有表示PTP协议同步报文的精确发送时间的第一时间戳T1。PTP协议同步报文离开主辅助设备110的主时钟的时间和到达其他辅助设备120的时钟的时间以及PTP协议延迟请求报文离开主辅助设备110的主时钟的时间和到达其他辅助设备120的时钟的时间被分别标上时间戳T1、T2、T3、T4。通过上述步骤,其他辅助设备120的时钟得到第一时间戳T1、第二时间戳T2、第三时间戳T3和第四时间戳T4,并且得到分别由上述时间戳所标识的PTP协议同步报文的发送时间t1、PTP协议同步报文的接收时间t2、PTP协议延迟请求报文的发送时间t3和PTP协议延迟请求报文的接收时间t4。上述时间戳可以由可编程逻辑器件130生成。
在其中一个实施例中,基于所述PTP协议的报文的传输,计算所述其他辅助设备的时钟与所述主辅助设备的主时钟之间的时间偏差的步骤还包括:基于第一时间戳T1、第二时间戳T2、第三时间戳T3和第四时间戳T4,计算其他辅助设备120的时钟与主辅助设备110的主时钟之间的时间偏差。
图4是根据实施例的PTP协议的报文在网络中传输的示意图。在图4中,offset表示主辅助设备110的主时钟和其他辅助设备120的时钟之间的时间偏差。即,两个时钟之间的时间偏离值就是offset。此外,在图4中,delay表示PTP协议的报文在网络中传输时的网络延时,即PTP协议的报文从一个时钟经过网络传输到另一个时钟时所产生的延时。其他辅助设备120的时钟可以通过所得到的由精确时间戳T1、T2、T3、T4所标识的时间t1、t2、t3、t4,计算主辅助设备110的主时钟和其他辅助设备120的时钟之间的时间偏差offset以及网络延时delay。具体可以采用以下式(1)和式(2)计算。
上述计算主辅助设备110的主时钟和其他辅助设备120的时钟之间的时间偏差offset的过程可以由其他辅助设备120执行。由此,其他辅助设备120可以得到两个时钟之间的时间偏差offset。其他辅助设备120得到两个时钟之间的时间偏差offset之后,就可以对其他辅助设备120的时钟进行调整和修正,从而使得主辅助设备110的主时钟和其他辅助设备120的时钟同步。
在其中一个实施例中,在传输PTP协议的报文的过程中,以相同的报文处理时间发送同一类型的PTP协议的报文。
如上所述,PTP协议的报文包括PTP协议同步报文、PTP协议跟随报文、PTP协议延迟请求报文和PTP协议延迟请求响应报文等多个类型的PTP协议的报文。由于PTP协议同步报文周期性地从主辅助设备110的主时钟发送给其他辅助设备120的时钟,因此图4所示的PTP协议的报文在网络中的传输过程是周期性地进行的。一次PTP协议的处理即为完成一次PTP协议同步报文、PTP协议跟随报文、PTP协议延迟请求报文和PTP协议延迟请求响应报文这四个类型的PTP协议的报文的传输的处理。在该实施例中,PTP协议同步报文的报文处理时间在每次执行PTP协议的处理中是相同的,PTP协议跟随报文的报文处理时间在每次执行PTP协议的处理中是相同的,PTP协议延迟请求报文的报文处理时间在每次执行PTP协议的处理中是相同的,并且PTP协议延迟请求响应报文的报文处理时间在每次执行PTP协议的处理中是相同的。换句话说,在每次执行PTP协议的处理中,对PTP协议的报文进行处理时间是相同的。
请继续参见图5,图5是根据实施例的PTP协议的报文在网络中的处理的示意图。图5中的箭头方向为PTP协议的报文在网络中的传输方向的示例。报文在网络中的传输时间,即t2-t1和t4-t3,包括报文在网络中传输经过路由器和/或交换机的时间,以及报文处理时间。报文处理时间是指从对报文进行处理的时间。以下将详细描述对报文进行处理的过程。当PTP协议的报文从主辅助设备110传递到其他辅助设备120的过程中,报文经过网络中的应用层、运输层、网络层、MAC层和物理层。在上述网络的各个层中,报文被加入首部和/或尾部而被封装,从而在上述各个层中依次传输。在该实施例中,同一类型的PTP协议的报文在传输过程中的进行上述处理的时间在每次PTP协议的传输中是相同的,并且,在每次PTP协议的传输中,对PTP协议的报文的处理时间是相同的。
在传输PTP协议的报文的过程中,通过以相同的报文处理时间发送同一类型的PTP协议的报文,能够排除报文处理时间的不稳定性,进而只需要计算报文在网络中传输的过程中经过路由器和/或交换机的时间所导致的时间偏差和延迟,提高了整体的时间同步的精度。
在其中一个实施例中,报文处理时间是PTP协议的报文在所述主辅助设备侧或所述其他辅助设备侧的网络的MAC层和应用层之间的传输时间。
继续参见图5,当PTP协议的报文从主辅助设备传递到其他辅助设备120时,PTP协议的报文在主辅助设备110侧依次经过网络中的应用层、运输层、网络层、链路层(MAC层),并且在各个层中被封装。具体的封装处理例如是,在应用层中PTP协议的报文被应用程序填充后发送;在运输层将PTP报文加UDP报头被封装成UDP报文;在网络层加入IPv4的IP报头,封装成IP报文;在链路层中封装成以太帧传输。但应当理解的是,PTP协议的报文不限于经过UDP和IPv4进行封装,还可以经过UDP和IPv6进行封装,或使用其它已知的封装方式进行封装。此后,PTP协议的报文经过路由器和/或交换机(即经过物理层、链路层和网络层的中转)传递到其他辅助设备120。在其他辅助设备120侧,经封装的PTP协议的报文依次经过物理层、链路层(MAC层)、网络层、运输层和应用层,并且在各个层中被解封装,从而,其他辅助设备120得到PTP协议的报文。具体地,对报文进行封装和解封装的时间即为报文处理时间。
在该实施例中,报文处理时间是PTP协议的报文在网络中从应用层传输到MAC层以及从MAC层传输到应用层的时间。通过控制同一类型的PTP协议的报文在网络中从应用层传输到MAC层以及从MAC层传输到应用层的时间在每次执行PTP协议的处理中是相同的,能够控制对报文进行处理的报文处理时间的在每次执行PTP协议的处理中是相同的,即排除了报文处理时间的不稳定性,进而只需要计算报文在网络中传输的过程中经过路由器和/或交换机的时间所导致的时间偏差和延迟,提高了整体的时间同步的精度。
在其中一个实施例中,参见图6,用于对自动驾驶车辆的辅助设备进行时间同步的方法还包括:
步骤602:监测网络媒体接口。
步骤604:当监测到所述网络媒体接口的信号时,在主辅助设备110和其他辅助设备120之间经由网络传输PTP协议的报文。
网络媒体接口可以是介质无关接口(Media Independent Interface,MII)或称为媒体独立接口,它包括MAC层和物理层之间的管理接口,用于MAC层和物理层之间的通信。该网络媒体接口可以检测网络上是否有数据在传送。具体地,当物理层发送数据时,或当物理层接收从MAC传送的数据时,该网络媒体接口生成接口信号。当可编程逻辑器件130监测到该网络媒体接口的信号时,进行PTP协议的传输,即,在主辅助设备110和其他辅助设备120之间经由网络传输PTP协议的报文。其中,网络媒体接口可以是MII、RMII、SMII或GMII等。
在其中一个实施例中,该方法还包括,基于所述辅助设备的数量而对可编程逻辑器件130的硬件逻辑做出修改。
如上所述,其他辅助设备120的数量不受限制,并且可以具有更多个其他辅助设备120。因此,用户可以改变其他辅助设备120的数量。在该实施例中,可以基于辅助设备的数量而对可编程逻辑器件130的硬件逻辑做出修改。即,当其他辅助设备120的数量增多或减少时,可以适应性地修改可编程逻辑器件130的功能,使其能够控制更多或更少数量的辅助设备。相比于使用芯片对PTP协议的传输进行控制的方案,根据本申请实施例的方案能够通过调整可编程逻辑器件130的功能而对辅助设备进行控制,不需要重新开发和更换芯片,方案更加灵活。
在其中一个实施例中,辅助设备包括测距传感器和摄像机。
具体地,主辅助设备110和其他辅助设备120可以分别是搭载在车辆内的多个传感器,例如测距传感器和摄像机。这些传感器可以是用于辅助自动驾驶的多个传感器,或用于远程辅助驾驶功能的多个传感器。在自动驾驶或驾驶辅助的领域中,需要利用精确时间同步协议对搭载在车辆内的多个传感器的时钟进行高精度同步,以确保多个传感器能够提供同一时刻的数据。通过本申请的技术方案,基于可编程逻辑器件对搭载在车辆内的多个传感器进行高精度的PTP协议时间同步,时间同步精度更高。
参见图7,在其中一个实施例中,提供了一种自动驾驶车辆700,其包括多个辅助设备、可编程逻辑器件730和处理器750。多个辅助设备各自具有时钟。其中,处理器750配置为确定所述多个辅助设备中的一个辅助设备作为主辅助设备710,并且将所述主辅助设备710的时钟作为主时钟;可编程逻辑器件730配置为控制在主辅助设备710和其他辅助设备720之间经由网络传输PTP协议的报文。其他辅助设备720配置为基于PTP协议的报文的传输,计算其他辅助设备720的时钟与主辅助设备710的主时钟之间的时间偏差,并基于该时间偏差,对其他辅助设备720的时钟进行调整,使得其他辅助设备720的时钟与主时钟同步。
根据上述自动驾驶车辆,通过可编程逻辑器件对车辆中的辅助设备进行控制,由于可编程逻辑器件的多路并行的特性,能够准确地控制在执行PTP协议的报文传输过程中的对报文进行处理的时间,即排除了这一段时间在每次执行PTP协议的处理中的不稳定性,换言之,使得对报文进行处理的时间在每次执行PTP协议的处理中都是相同的,从而使得主辅助设备的主时钟与其他辅助设备的时钟之间的时间偏差的计算更准确,提高了多个辅助设备之间的时间同步精度。因此,在自动驾驶车辆中,能够提供多个辅助设备的同一时刻的数据,为自动驾驶提供更可靠的辅助设备的数据,提高了自动驾驶的性能。此外,由于可编程逻辑器件的功能可以根据实际需求而做出改变,因此,基于可编程逻辑器件来控制车辆的辅助设备的时钟执行PTP协议从而进行时间同步,具有更高的灵活性。
在其中一个实施例中,车辆700还包括车辆控制装置740。车辆控制装置740可以是控制车辆中的主辅助设备710和其他辅助设备720的处理器,用于获取主辅助设备710和其他辅助设备720的数据。可编程逻辑器件730通过总线连接到处理器750,通过处理器750控制可编程逻辑器件730的工作状态。为了描述简洁,图7中仅示出了一个其他辅助设备720,但应当理解的是,车辆700可以包括更多个其他辅助设备720。
在其中一个实施例中,可编程逻辑器件730还配置为:从主辅助设备710向其他辅助设备720发送PTP协议同步报文,并生成第一时间戳;当其他辅助设备720接收到PTP协议同步报文时,生成第二时间戳;从主辅助设备710向其他辅助设备720发送包括第一时间戳的PTP协议跟随报文;从其他辅助设备720向主辅助设备发送PTP协议延迟请求报文,并生成第三时间戳;当主辅助设备710接收到PTP协议延迟请求报文时,生成第四时间戳;以及响应于PTP协议延迟请求报文,而从主辅助设备710向其他辅助设备720发送包括第四时间戳的PTP协议延迟请求响应报文。
在其中一个实施例中,其他辅助设备720还配置为:基于第一时间戳、第二时间戳、第三时间戳和第四时间戳,计算其他辅助设备720的时钟与主辅助设备的主时钟之间的时间偏差。
在其中一个实施例中,可编程逻辑器件730还配置为:在传输PTP协议的报文的过程中,以相同的报文处理时间,发送同一类型的PTP协议的报文。
在其中一个实施例中,报文处理时间是PTP协议的报文在主辅助设备710侧或其他辅助设备侧720的网络的MAC层和应用层之间的传输时间。
在其中一个实施例中,可编程逻辑器件还配置为:监测网络媒体接口;以及当监测到网络媒体接口的信号时,控制在主辅助设备710和其他辅助设备720之间经由网络传输PTP协议的报文。
在其中一个实施例中,可编程逻辑器件730的硬件逻辑能够基于辅助设备的数量而被修改。
在其中一个实施例中,辅助设备包括测距传感器和摄像机。
关于对本实施例的车辆的具体限定可以参见上文中对于用于对自动驾驶车辆的辅助设备进行时间同步的方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述各个方法实施例中的步骤。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
一种计算机设备,包括存储器及一个或多个处理器,存储器中储存有计算机可读指令,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各个方法实施例中的步骤。
一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (14)
1.用于对自动驾驶车辆的多个辅助设备进行时间同步的方法,应用于自动驾驶车辆中,所述自动驾驶车辆包括多个辅助设备和可编程逻辑器件,所述方法包括:
确定所述多个辅助设备中的一个辅助设备作为主辅助设备,并且将所述主辅助设备的时钟作为主时钟;
监测网络媒体接口;
当监测到所述网络媒体接口的信号时,通过所述可编程逻辑器件控制在所述主辅助设备和其他辅助设备之间经由网络传输PTP协议的报文,在传输PTP协议的报文的过程中,以相同的报文处理时间发送同一类型的PTP协议的报文;所述可编程逻辑器件对所述信号进行多路并行处理;
基于所述PTP协议的报文的传输,计算所述其他辅助设备的时钟与所述主辅助设备的主时钟之间的时间偏差;所述PTP协议的报文包括PTP协议同步报文;所述PTP协议同步报文包括估计发送所述PTP协议同步报文的时刻的时间戳;所述时间戳通过所述可编程逻辑器件生成;以及
基于所述时间偏差,对所述其他辅助设备的时钟进行调整,使得所述其他辅助设备的时钟与所述主时钟同步;
所述方法还包括:在用户改变所述其他辅助设备的数量时,基于所述辅助设备的数量对所述可编程逻辑器件的硬件逻辑做出修改,使其能够控制的辅助设备数量与增多或减少的所述其他辅助设备数量对应地增多或减少。
2.根据权利要求1所述的方法,其中,通过可编程逻辑器件控制在所述主辅助设备和所述其他辅助设备之间经由网络传输PTP协议的报文,包括:
从所述主辅助设备向所述其他辅助设备发送PTP协议同步报文,并生成第一时间戳;
当所述其他辅助设备接收到所述PTP协议同步报文时,生成第二时间戳;
从所述主辅助设备向所述其他辅助设备发送包括所述第一时间戳的PTP协议跟随报文;
从所述其他辅助设备向所述主辅助设备发送PTP协议延迟请求报文,并生成第三时间戳;
当所述主辅助设备接收到所述PTP协议延迟请求报文时,生成第四时间戳;以及
响应于所述PTP协议延迟请求报文,而从所述主辅助设备向所述其他辅助设备发送包括所述第四时间戳的PTP协议延迟请求响应报文。
3.根据权利要求2所述的方法,其中,基于所述PTP协议的报文的传输,计算所述其他辅助设备的时钟与所述主辅助设备的主时钟之间的时间偏差,包括:
基于所述第一时间戳、所述第二时间戳、所述第三时间戳和所述第四时间戳,计算所述其他辅助设备的时钟与所述主辅助设备的主时钟之间的时间偏差。
4.根据权利要求1所述的方法,其中,所述报文处理时间是PTP协议的报文在所述主辅助设备侧或所述其他辅助设备侧的网络的MAC层和应用层之间的传输时间。
5.根据权利要求1所述的方法,还包括:
所述网络媒体接口为介质无关接口。
6.根据权利要求1所述的方法,其中,所述辅助设备包括测距传感器和摄像机。
7.自动驾驶车辆,其包括:
多个辅助设备,各自具有时钟;
处理器,配置为确定所述多个辅助设备中的一个辅助设备作为主辅助设备,并且将所述主辅助设备的时钟作为主时钟;以及
可编程逻辑器件,配置为监测网络媒体接口;当监测到所述网络媒体接口的信号时,控制在所述主辅助设备和其他辅助设备之间经由网络传输PTP协议的报文,在传输PTP协议的报文的过程中,以相同的报文处理时间发送同一类型的PTP协议的报文;所述可编程逻辑器件对所述信号进行多路并行处理;
其中,所述其他辅助设备配置为基于所述PTP协议的报文的传输,计算所述其他辅助设备的时钟与所述主辅助设备的主时钟之间的时间偏差;所述PTP协议的报文包括PTP协议同步报文;所述PTP协议同步报文包括估计发送所述PTP协议同步报文的时刻的时间戳;所述时间戳通过所述可编程逻辑器件生成;并基于所述时间偏差,对所述其他辅助设备的时钟进行调整,使得所述其他辅助设备的时钟与所述主时钟同步;在用户改变所述其他辅助设备的数量时,基于所述辅助设备的数量对所述可编程逻辑器件的硬件逻辑做出修改,使其能够控制的辅助设备数量与增多或减少的所述其他辅助设备数量对应地增多或减少。
8.根据权利要求7所述的自动驾驶车辆,其中,所述可编程逻辑器件还配置为:
从所述主辅助设备向所述其他辅助设备发送PTP协议同步报文,并生成第一时间戳;
当所述其他辅助设备接收到所述PTP协议同步报文时,生成第二时间戳;
从所述主辅助设备向所述其他辅助设备发送包括所述第一时间戳的PTP协议跟随报文;
从所述其他辅助设备向所述主辅助设备发送PTP协议延迟请求报文,并生成第三时间戳;
当所述主辅助设备接收到所述PTP协议延迟请求报文时,生成第四时间戳;以及
响应于所述PTP协议延迟请求报文,而从所述主辅助设备向所述其他辅助设备发送包括所述第四时间戳的PTP协议延迟请求响应报文。
9.根据权利要求8所述的自动驾驶车辆,其中,所述其他辅助设备还配置为:
基于所述第一时间戳、所述第二时间戳、所述第三时间戳和所述第四时间戳,计算所述其他辅助设备的时钟与所述主辅助设备的主时钟之间的时间偏差。
10.根据权利要求7所述的自动驾驶车辆,其中,所述报文处理时间是PTP协议的报文在所述主辅助设备侧或所述其他辅助设备侧的网络的MAC层和应用层之间的传输时间。
11.根据权利要求7所述的自动驾驶车辆,其中,所述可编程逻辑器件还配置为:
所述网络媒体接口为介质无关接口。
12.根据权利要求7所述的自动驾驶车辆,其中,所述辅助设备包括测距传感器和摄像机。
13.计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现如下处理:
确定自动驾驶车辆中的多个辅助设备中的一个辅助设备作为主辅助设备,并且将所述主辅助设备的时钟作为主时钟;
监测网络媒体接口;
当监测到所述网络媒体接口的信号时,通过可编程逻辑器件控制在所述主辅助设备和其他辅助设备之间经由网络传输PTP协议的报文,在传输PTP协议的报文的过程中,以相同的报文处理时间发送同一类型的PTP协议的报文;所述可编程逻辑器件对所述信号进行多路并行处理;
基于所述PTP协议的报文的传输,计算所述其他辅助设备的时钟与所述主辅助设备的主时钟之间的时间偏差;所述PTP协议的报文包括PTP协议同步报文;所述PTP协议同步报文包括估计发送所述PTP协议同步报文的时刻的时间戳;所述时间戳通过所述可编程逻辑器件生成;以及
基于所述时间偏差,对所述其他辅助设备的时钟进行调整,使得所述其他辅助设备的时钟与所述主时钟同步;
在用户改变所述其他辅助设备的数量时,基于所述辅助设备的数量对所述可编程逻辑器件的硬件逻辑做出修改,使其能够控制的辅助设备数量与增多或减少的所述其他辅助设备数量对应地增多或减少。
14.计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如下处理:
确定自动驾驶车辆中的多个辅助设备中的一个辅助设备作为主辅助设备,并且将所述主辅助设备的时钟作为主时钟;
监测网络媒体接口;
当监测到所述网络媒体接口的信号时,通过可编程逻辑器件控制在所述主辅助设备和其他辅助设备之间经由网络传输PTP协议的报文,在传输PTP协议的报文的过程中,以相同的报文处理时间发送同一类型的PTP协议的报文;所述可编程逻辑器件对所述信号进行多路并行处理;
基于所述PTP协议的报文的传输,计算所述其他辅助设备的时钟与所述主辅助设备的主时钟之间的时间偏差;所述PTP协议的报文包括PTP协议同步报文;所述PTP协议同步报文包括估计发送所述PTP协议同步报文的时刻的时间戳;所述时间戳通过所述可编程逻辑器件生成;以及
基于所述时间偏差,对所述其他辅助设备的时钟进行调整,使得所述其他辅助设备的时钟与所述主时钟同步;
在用户改变所述其他辅助设备的数量时,基于所述辅助设备的数量对所述可编程逻辑器件的硬件逻辑做出修改,使其能够控制的辅助设备数量与增多或减少的所述其他辅助设备数量对应地增多或减少。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/091144 WO2021232260A1 (zh) | 2020-05-20 | 2020-05-20 | 用于对自动驾驶车辆的多个辅助设备进行时间同步的方法、车辆、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113273105A CN113273105A (zh) | 2021-08-17 |
CN113273105B true CN113273105B (zh) | 2023-09-12 |
Family
ID=77227970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080007588.7A Active CN113273105B (zh) | 2020-05-20 | 2020-05-20 | 用于对自动驾驶车辆的多个辅助设备进行时间同步的方法、车辆、计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113273105B (zh) |
WO (1) | WO2021232260A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821074B (zh) * | 2021-09-06 | 2023-09-08 | 北京车和家信息技术有限公司 | 一种时间同步方法、装置、电子设备和存储介质 |
CN113839732B (zh) * | 2021-09-18 | 2024-07-05 | 阿里巴巴达摩院(杭州)科技有限公司 | 时钟同步方法、装置及设备 |
CN113904959B (zh) * | 2021-11-02 | 2023-04-07 | 广州小鹏自动驾驶科技有限公司 | 一种时延分析方法、装置、车辆、存储介质 |
CN114980005A (zh) * | 2022-05-16 | 2022-08-30 | 中国第一汽车股份有限公司 | 数据传输方法、装置、存储介质、处理器及电子装置 |
CN115276867A (zh) * | 2022-06-16 | 2022-11-01 | 中国第一汽车股份有限公司 | 一种基于tsn时间敏感网络通信技术的雷达数据传输方法、装置及其车辆 |
CN115047938B (zh) * | 2022-08-12 | 2022-11-04 | 浙江大学 | 时钟同步方法、***、电子设备及计算机可读存储介质 |
CN116054987B (zh) * | 2022-10-12 | 2023-12-15 | 哈尔滨市科佳通用机电股份有限公司 | 一种车载设备的校时方法及存储介质 |
CN116032412B (zh) * | 2023-03-28 | 2023-07-18 | 之江实验室 | 多相机跨平台时间同步方法、装置、***及电子设备 |
CN116938378B (zh) * | 2023-09-14 | 2024-01-09 | 西安羚控电子科技有限公司 | 基于反射内存网络的时钟同步精度测量方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109462454A (zh) * | 2018-12-31 | 2019-03-12 | 武汉环宇智行科技有限公司 | 基于ptp协议的汽车传感器时间同步方法及*** |
CN110225544A (zh) * | 2019-06-27 | 2019-09-10 | 合肥更鼓电子科技有限公司 | 一种基于光纤网络的移动通信基站高精度时间同步方法 |
CN110351823A (zh) * | 2018-04-03 | 2019-10-18 | 华为技术有限公司 | 通信的方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI411277B (zh) * | 2009-12-23 | 2013-10-01 | Ind Tech Res Inst | 網路從節點與網路系統精確時間同步之方法 |
KR102208580B1 (ko) * | 2018-02-09 | 2021-01-28 | 한국전자통신연구원 | 무인 이동체, 무인 이동체들 사이의 시간 동기화 지원 장치 및 그 방법 |
US10868664B2 (en) * | 2018-07-20 | 2020-12-15 | Integrated Device Technology, Inc. | Minimizing timestamp error in PTP systems |
CN110401505A (zh) * | 2019-07-19 | 2019-11-01 | 深圳大学 | 一种无线网络精确时间同步方法 |
-
2020
- 2020-05-20 CN CN202080007588.7A patent/CN113273105B/zh active Active
- 2020-05-20 WO PCT/CN2020/091144 patent/WO2021232260A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351823A (zh) * | 2018-04-03 | 2019-10-18 | 华为技术有限公司 | 通信的方法和装置 |
CN109462454A (zh) * | 2018-12-31 | 2019-03-12 | 武汉环宇智行科技有限公司 | 基于ptp协议的汽车传感器时间同步方法及*** |
CN110225544A (zh) * | 2019-06-27 | 2019-09-10 | 合肥更鼓电子科技有限公司 | 一种基于光纤网络的移动通信基站高精度时间同步方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021232260A1 (zh) | 2021-11-25 |
CN113273105A (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113273105B (zh) | 用于对自动驾驶车辆的多个辅助设备进行时间同步的方法、车辆、计算机设备和存储介质 | |
US11177896B2 (en) | Time synchronization device and time synchronization method | |
KR102652569B1 (ko) | 비용 최적화된 환경들에서 phy 레벨 하드웨어 타임스탬핑 및 시간 동기화의 수행 | |
KR101426325B1 (ko) | 패킷-교환 네트워크를 위한 네트워크 요소 | |
US9960871B1 (en) | Method and apparatus for securing clock synchronization in a network | |
US11979481B2 (en) | Time synchronisation | |
CN107710753B (zh) | 分散式同步的多传感器*** | |
CN111555834B (zh) | 基于ieee1588协议的无线网络的时钟同步方法及*** | |
US11316605B2 (en) | Method, device, and computer program for improving synchronization of clocks in devices linked according to a daisy-chain topology | |
US10592552B1 (en) | Determining real-time timestamps for robotic sensor data | |
CN110176973B (zh) | 时钟同步的方法、***、计算机设备和存储介质 | |
US11463973B2 (en) | Clock synchronization using wireless side channel | |
KR20160078893A (ko) | 반도체 장치, 전자 디바이스ㆍ모듈 및 네트워크 시스템 | |
US11349587B2 (en) | Generating a timestamp | |
CN114586297A (zh) | 一种同步方法及设备 | |
WO2018041108A1 (zh) | 确定时间同步报文的时钟时间的方法、装置和设备 | |
EP3985890A1 (en) | Physical layer device with precision timing | |
US10111189B2 (en) | Enhanced phase synchronization of a timing slave apparatus in a packet switching network | |
Gutiérrez et al. | Time synchronization in modular collaborative robots | |
US20170117980A1 (en) | Time synchronization for network device | |
CN116017670A (zh) | 无线网络节点同步方法、***、设备及可读存储介质 | |
CN113887557A (zh) | 一种多传感器数据融合的方法、***、设备和存储介质 | |
US20140241344A1 (en) | Direct updating of network delay in synchronization packets | |
CN112119366A (zh) | 时间同步方法、装置、***和可移动平台 | |
CN115276866B (zh) | 一种智能驾驶***的时钟同步方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |