用于车辆的时间同步系统和方法

文档序号:1046242 发布日期:2020-10-09 浏览:5次 >En<

阅读说明:本技术 用于车辆的时间同步系统和方法 (Time synchronization system and method for vehicle ) 是由 王�华 王丰雷 闫振强 于 2019-03-29 设计创作,主要内容包括:本申请实施例公开了用于车辆的时间同步系统和方法。所述车辆包括卫星导航设备、至少一个激光雷达(LiDAR)设备、至少一个相机和控制器。所述时间同步方法包括:所述卫星导航设备发送协调世界时(UTC)和秒脉冲(PPS)信号到所述控制器和所述至少一个激光雷达设备,所述卫星导航设备包括第一时钟;基于所述秒脉冲信号和所述协调世界时,通过所述控制器将所述控制器的第二时钟与所述卫星导航设备的所述第一时钟同步;基于所述秒脉冲信号和所述协调世界时,通过所述至少一个激光雷达设备将所述至少一个激光雷达设备的第三时钟与所述卫星导航设备的所述第一时钟同步;以及所述至少一个相机将所述至少一个相机的第四时钟与所述控制器的所述第二时钟同步。(The embodiment of the application discloses a time synchronization system and a time synchronization method for a vehicle. The vehicle includes satellite navigation equipment, at least one LiDAR (LiDAR) device, at least one camera, and a controller. The time synchronization method comprises the following steps: the satellite navigation device transmitting coordinated Universal Time (UTC) and Pulse Per Second (PPS) signals to the controller and the at least one lidar device, the satellite navigation device including a first clock; synchronizing, by the controller, a second clock of the controller with the first clock of the satellite navigation device based on the pulse-of-seconds signal and the coordinated universal time; synchronizing, by the at least one lidar device, a third clock of the at least one lidar device with the first clock of the satellite navigation device based on the pulse-per-second signal and the coordinated universal time; and the at least one camera synchronizing a fourth clock of the at least one camera with the second clock of the controller.)

用于车辆的时间同步系统和方法

技术领域

本申请一般涉及时间同步,更具体地,涉及用于车辆中的多个传感器的时间同步的系统和方法。

背景技术

自动驾驶车辆是一种能够感知其周围环境,并且可以在没有或几乎没有人类输入的情况下进行行驶的车辆。自动驾驶车辆通常结合了各种传感器来感知周围环境,例如雷达、计算机视觉(例如,相机)、激光雷达(LiDAR)设备、声波***、具有定位技术的设备、里程表和惯性测量单元(IMU)。基于多个传感器的协作可以实现自动驾驶车辆的定位,环境感知和控制。这种协作对于自动驾驶技术是必不可少的。多个传感器的时间同步是实现多个传感器之间顺利协作的关键操作。因此,期望提供能够有效且精确地同步自动驾驶车辆中的多个传感器的时钟的系统和方法。

发明内容

本申请实施例之一提供一种用于车辆的时间同步方法。所述车辆包括卫星导航设备、至少一个激光雷达(LiDAR)设备、至少一个相机和控制器,其特征在于,所述方法包括:所述卫星导航设备发送协调世界时(UTC)和秒脉冲(PPS)信号到所述控制器和所述至少一个激光雷达设备,所述秒脉冲信号包含所述协调世界时的整秒信息,所述卫星导航设备包括第一时钟;基于所述秒脉冲信号和所述协调世界时,所述控制器将所述控制器的第二时钟与所述卫星导航设备的所述第一时钟同步;基于所述秒脉冲信号和所述协调世界时,所述至少一个激光雷达设备将所述至少一个激光雷达设备的第三时钟与所述卫星导航设备的所述第一时钟同步;以及所述至少一个相机将所述至少一个相机的第四时钟与所述控制器的所述第二时钟同步。

在一些实施例中,所述至少一个相机将所述至少一个相机的所述第四时钟与所述控制器的所述第二时钟同步包括:所述至少一个相机向所述控制器发送初始数据包,所述初始数据包包括基于所述至少一个相机的所述第四时钟的第一时间戳,所述第一时间戳指示所述至少一个相机发送所述初始数据包的时间;接收所述初始数据包后,所述控制器将修改数据包发送到所述至少一个相机,所述修改数据包包括基于所述第二时钟的第二时间戳和第三时间戳,所述第二时间戳指示所述控制器接收所述初始数据消息的时间,所述第三时间戳指示所述控制器发送所述修改数据包的时间;接收所述修改数据包后,所述至少一台相机基于所述至少一台相机的所述第四时钟记录第四时间戳,所述第四时间戳指示所述至少一个相机从所述控制器接收所述修改数据包的时间;基于所述第一时间戳、所述第二时间戳、所述第三时间戳和所述第四时间戳,所述至少一个相机确定所述第二时钟和所述第四时钟之间的偏差;以及基于所述偏差,所述至少一个相机将所述第四时钟与所述第二时钟同步。

在一些实施例中,基于所述第一时间戳、所述第二时间戳、所述第三时间戳和所述第四时间戳,所述至少一个相机确定所述第二时钟和所述第四时钟之间的偏差包括:基于所述第一时间戳、所述第二时间戳、所述第三时间戳和所述第四时间戳,所述至少一个相机确定所述初始数据包或所述修改数据包在所述控制器和所述至少一个相机之间的单程传输时间;以及基于所述传输时间,所述至少一个相机确定所述偏差。

在一些实施例中,所述时间同步方法进一步包括:所述卫星导航设备接收来自一个或以上卫星的导航信号;以及基于所述导航信号,所述卫星导航设备确定所述秒脉冲信号和所述协调世界时。

在一些实施例中,所述秒脉冲信号和所述协调世界时同时被发送到所述控制器或所述至少一个激光雷达设备。

在一些实施例中,所述协调世界时在所述秒脉冲信号被发送到所述控制器或所述至少一个激光雷达设备一段时间之后被发送到所述控制器或所述至少一个激光雷达设备。

在一些实施例中,所述车辆还包括惯性导航系统(INS)。所述方法还包括:所述惯性导航系统从所述卫星导航设备接收所述秒脉冲信号和所述协调世界时;以及基于所述秒脉冲信号和所述协调世界时,所述惯性导航系统将所述惯性导航系统的第五时钟与所述卫星导航设备的第一时钟同步。

在一些实施例中,当所述秒脉冲信号被发送到所述控制器或所述至少一个激光雷达时,对所述秒脉冲信号进行放大或光电隔离。

在一些实施例中,当所述秒脉冲信号被发送到所述控制器或所述至少一个激光雷达时,通过屏蔽所述秒脉冲信号中的高频噪声来处理所述秒脉冲信号。

在一些实施例中,使用磁环屏蔽所述秒脉冲信号中的所述高频噪声。

本申请实施例之一提供一种用于车辆的时间同步系统,包括:包括第一时钟的卫星导航设备,所述卫星导航设备被配置为发送秒脉冲(PPS)信号和协调世界时(UTC),所述PPS信号包括所述UTC的整秒信息;控制器,所述控制器被配置为:从所述卫星导航设备接收所述秒脉冲信号和所述协调世界时;以及基于所述秒脉冲信号和所述协调世界时,将所述控制器的第二时钟与所述卫星导航设备的所述第一时钟同步;至少一个激光雷达设备,所述至少一个激光雷达设备被配置为:从所述卫星导航设备接收所述秒脉冲信号和所述协调世界时;以及基于所述秒脉冲信号和所述协调世界时,将所述至少一个激光雷达设备的第三时钟与所述卫星导航设备的所述第一时钟同步;以及至少一个相机,所述至少一个相机被配置为将所述至少一个相机的第四时钟与所述控制器的所述第二时钟同步。

本申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本披露的特性可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。

附图说明

本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例是非限制性的示例性实施例,在这些实施例中,各图中相同的编号表示相似的结构,其中:

图1是根据本申请的一些实施例所示的示例性时间同步系统的示意图;

图2是根据本申请的一些实施例所示的计算设备的示例性硬件组件和/或软件组件的示意图;

图3是根据本申请的一些实施例所示的移动设备的示例性硬件组件和/或软件组件的示意图;

图4是根据本申请的一些实施例所示的用于时间同步的示例性过程的流程图;以及

图5是根据本申请的一些实施例所示的用于将至少一个相机的时钟与控制器的时钟同步的示例性过程的流程图。

具体实施方式

以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所披露的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。

本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如本申请使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。

根据以下对附图的描述,本申请的这些和其他的特征、特点以及相关结构元件的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。

本申请中使用了流程图用来说明根据本申请的一些实施例的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或以上其他操作添加到这些流程图中。也可以从流程图中删除一个或以上操作。

本申请中的系统和方法可以应用于不同场景。在这些场景下,不同组件的时钟需要同步。例如,本申请中的系统和方法可以应用于车辆中的不同组件(例如,传感器)的时间同步。车辆可以应用于陆地、海洋、航空航天等,或其任何组合。车辆可包括出租车、私家车、顺风车、公共汽车、火车、动车、高铁、地铁、船只、飞机、太空飞船、热气球、无人驾驶车辆、自行车、三轮车、摩托车、自动驾驶车辆等,或其任何组合。又例如,本申请中的系统和方法可以应用于智能设备中的不同组件(例如,传感器)的时间同步。智能设备可以包括智能家居设备(例如,智能照明设备、智能电器的控制器、智能监控设备、智能电视、智能相机、对讲机等)、智能可穿戴设备(例如,智能手环、智能脚踏板、智能玻璃、智能头盔、智能手表、智能服装、智能背包、智能配件等)、智能移动设备(例如,智能手机、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)设备等)、机器人等,或任何组合。

有必要和/或需要有效地且精确地同步车辆(例如,自动驾驶车辆)中的多个传感器的时钟。为此,本申请中用于时间同步的系统和方法将硬件时间同步(例如,基于秒脉冲(PPS)信号和协调世界时(UTC))与软件时间同步(例如,使用网络时间协议(NTP))组合以使车辆中的多个传感器的时钟同步。以相对高的频率(例如,大于20HZ)获得数据的传感器(例如,激光雷达设备、惯性导航系统(INS)、车辆的控制器)可以进行硬件时间同步,因为这种情况下对时间同步的精度要求相对较高。以相对低的频率(例如,低于10HZ)获得数据的传感器(例如,相机)可以进行软件时间同步,因为在这种情况下对时间同步的精度要求相对较低。

为简洁起见,本申请中用于时间同步的方法和/或系统的描述可以以车辆为例。应当注意的是,下面描述的用于时间同步的方法和/或系统仅仅是一些示例或实施例。对于具有本领域普通技术的人员来说,本申请中用于时间同步的方法和/或系统可以应用于其他类似情况,例如智能设备。

图1是根据本申请的一些实施例的示例性时间同步系统的示意图。时间同步系统100可以包括至少一个激光雷达设备110、至少一个相机120、定位系统130、卫星导航设备140、惯性导航系统(INS)(也称为惯性测量单元(IMU))150、控制器160、存储设备170和网络180。在一些实施例中,在车辆中可以包括至少一个激光雷达设备110、至少一个相机120、卫星导航设备140、惯性导航系统150、控制器160和存储设备170。

在一些实施例中,激光雷达设备110可以包括激光发射器、扫描和光学组件以及光敏组件。激光发射器可以被配置用于发射具有特定波长的激光束。例如,激光发射器可以发射波长范围为600nm至1000nm的激光束。在一些实施例中,激光雷达设备110可以被配置用于获得点集,所述点集包括与在激光雷达装置110一定范围内(例如,距离车辆500米的距离)的物体(例如,人、动物、树、路障、建筑物或车辆)相关的至少两个点的点集。所述点集中的点可以包括该点的三维(3D)坐标和该点的反射强度。该点的反射强度可以指由该点反射的激光束的强度。

在一些实施例中,激光雷达装置110可以发射至少两个激光束,并以一定的角速度旋转,使至少两个激光束照射在距离车辆一定距离(例如500米)内的物体上使得激光雷达设备110可以获得包括与物体相关的至少两个点的点集。例如,激光雷达设备110可以在激光雷达设备110完成360°的旋转时获得点集。

在一些实施例中,因为车辆周围的物体可能不断地改变,所以激光雷达设备110可以不断地发射激光束,并且不断地获得与车辆周围的物体相关的点集。在一些实施例中,激光雷达设备110可以将点集发送到存储设备170和/或控制器160。

相机120可以被配置用于获得与在相机120一定范围内(例如,距离车辆500米的距离)的物体(例如,人、动物、树、路障、建筑物或车辆)相关的一个或以上图像。如在本申请中所使用的,图像可以是静止图像、视频、流式视频或从视频中获得的视频帧。在一些实施例中,相机120可以是数码相机、网络相机、智能手机、平板电脑、笔记本电脑、设有网络相机的视频游戏控制台,设有多个镜头的相机等。在一些实施例中,相机120可以被配置用于捕获二维(2D)图像和/或三维(3D)图像。例如,相机120可以是静态相机、平移-倾斜-变焦相机、移动相机、立体相机、结构光相机、飞行时间相机等。在一些实施例中,相机120还可以是配备有飞行时间设备、Kinect传感器、3D激光扫描仪、照相扫描仪等的相机。

在一些实施例中,相机120可以旋转以捕获包括车辆周围的物体的图像。例如,相机120可以在相机120完成360°的旋转时获得图像。在一些实施例中,因为车辆周围的物体可能不断地改变,所以相机120可以不断地捕获与车辆周围的物体有关的图像。在一些实施例中,激光雷达设备110的点集的获得和相机120的图像的捕获可以是同时的,使得点集中的点可以对应于图像中的像素。在一些实施例中,相机120可以将图像发送到存储设备170和/或控制器160。

定位系统130可以包括一个或以上的卫星,例如卫星130-1、卫星130-2和卫星130-3。在一些实施例中,定位系统130可以是全球定位系统(GPS)、全球导航卫星系统(GLONASS)、罗盘导航系统(COMPASS)、北斗导航卫星系统、伽利略定位系统、准天顶卫星系统(QZSS)等。定位系统130可以经由无线连接将导航信号发送到卫星导航设备140。

卫星导航设备140可以通过处理导航信号来确定卫星导航设备140的位置信息和时间信息。位置信息可以是坐标的形式,例如纬度坐标和经度坐标等。

惯性导航系统150可以无需外界参考,使用处理器和惯性传感器,例如运动传感器(例如,加速度计)和旋转传感器(例如,陀螺仪),通过航位推算,连续地确定移动物体的位置、方向和速度(移动的方向和速度)。在一些实施例中,惯性传感器可以辅以气压高度计。在一些实施例中,惯性传感器可以辅以磁传感器(例如,磁力计)和/或速度测量设备。

在一些实施例中,控制器160可以处理信息和/或数据以执行本申请中描述的一个或以上功能。例如,控制器160可以解读感知信息(例如,来自激光雷达设备110的点集、来自相机120的图像、来自卫星导航设备140的位置信息和时间信息,以及来自惯性导航系统150的方位、速度和加速度)以控制自动驾驶车辆的速度和驾驶方向,并识别合适的导航路径、障碍物和相关标志。又例如,控制器160可以将控制器160的时钟与卫星导航设备140的时钟同步。

在一些实施例中,控制器160可以是本地的或远程的。例如,控制器160可以经由网络180访问存储在相机120、激光雷达设备110、卫星导航设备140、惯性导航系统150和/或存储设备170中的信息和/或数据。又例如,控制器160可以直接连接到相机120、激光雷达设备110、卫星导航设备140、惯性导航系统150和/或存储设备170以访问存储的信息和/或数据。在一些实施例中,控制器160可以在具有本申请图2中所示的一个或以上组件的计算设备200上实现,或者在具有本申请图3中所示的一个或以上组件的移动设备300上实现。

在一些实施例中,控制器160可以包括一个或以上处理引擎(例如,单核处理引擎或多核处理器)。仅作为示例,控制器160可以包括一个或以上硬件处理器,例如中央处理单元(CPU)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、图像处理单元(GPU)、物理运算处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或其任意组合。

存储设备170可以存储数据和/或指令。在一些实施例中,存储设备170可以存储从控制器160、相机120、激光雷达设备110、卫星导航设备140,和/或惯性导航系统150中获得的数据。例如,存储设备170可以存储由相机120捕获的图像。又例如,存储设备170可以存储从激光雷达设备110中获得的点集。在一些实施例中,存储设备170可以存储可以被执行的或用于执行本申请中描述的示例性方法的数据和/或指令。例如,存储设备170可以存储控制器160可以执行控制自动驾驶车辆的指令。在一些实施例中,存储设备170可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。示例性大容量存储器可以包括磁盘、光盘、固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取存储器(RAM)。示例性RAM可包括动态随机存取存储器(DRAM)、双倍数据速率同步动态随机存取存储器(DDR SDRAM)、静态随机存取存储器(SRAM)、晶闸管随机存取存储器(T-RAM)和零电容随机存取存储器(Z-RAM)等。示例性只读存储器可以包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,所述存储设备170可以在云端平台上执行。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。

在一些实施例中,存储设备170可以连接到网络180以与时间同步系统100中的一个或以上组件(例如,控制器160、相机120、激光雷达设备110、和/或卫星导航设备140、惯性导航系统150)。时间同步系统100中的一个或以上组件可以经由网络180访问存储设备170中存储的数据或指令。在一些实施例中,存储设备170可以直接连接到时间同步系统100中的一个或以上组件或与之通信(例如,控制器160、相机120、激光雷达设备110和/或卫星导航设备140、惯性导航系统150)。在一些实施例中,存储设备170可以是激光雷达设备110、相机120、卫星导航设备140、惯性导航系统150,或控制器160中的一部分。

网络180可以促进信息和/或数据的交换。在一些实施例中,时间同步系统100中的一个或以上组件(例如,控制器160、相机120、激光雷达设备110、存储设备170、定位系统130、卫星导航设备140和惯性导航系统150)可以经由网络180从时间同步系统100中的其他组件发送/获得信息和/或数据。例如,卫星导航设备140可以经由网络180从定位系统130接收导航信号。又例如,相机120可以经由网络180向控制器160发送数据包。在一些实施例中,网络180可以是有线网络或无线网络中的任意一种形式,或其任意组合。仅作为示例,网络180可以包括电缆网络、有线网络、光纤网络、电信网络、内联网、互联网、局部区域网络(LAN)、广域网(WAN)、无线局部区域网络(WLAN)、城域网(MAN)、公共电话交换网(PSTN)、蓝牙网络、紫蜂网络、近场通信(NFC)网络、移动网络或类似的,或其任何组合。在一些实施例中,网络180可以包括一个或以上网络接入点。例如,网络180可以包括有线或无线网络接入点,例如基站和/或互联网交换点180-1、180-2、......,时间同步系统100的一个或多个组件可以通过它们连接到网络180以交换数据和/或信息。

在一些实施例中,时间同步系统100中的组件可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网络(WAN)、蓝牙、紫蜂网络、近场通信(NFC)等或其任意组合。

图2是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件组件的示意图,其中激光雷达设备110、相机120、卫星导航设备140、惯性导航系统150、和/或控制器160可以在其示例性硬件和/或软件组件上实现。如图2所示,计算设备200可以包括处理器210、存储器220、输入/输出(I/O)230和通信端口240。

处理器210(例如,逻辑电路)可以根据本文描述的技术执行计算机指令(例如,程序代码)和执行功能。例如,处理器210可以包括接口电路210-a和其中的处理电路210-b。接口电路210-a可以被配置用于接收来自总线(图2中未示出)的电子信号,其中电子信号编码/包括用于处理电路处理的结构化数据和/或指令。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码确定为电信号。然后,接口电路可以经由总线发出来自处理电路的电信号。

计算机指令可以包括例如执行在此描述的特定功能的常规、程序、对象、组件、数据结构、过程、模块和功能。例如,控制器160可以在计算设备200上实现。处理器210可以将控制器160的时钟与卫星导航设备140的时钟同步。在一些实施例中,处理器210可以包括一个或以上硬件处理器,诸如微控制器、微处理器、精简指令集计算机(RISC)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、中央处理单元(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高阶RISC机器(ARM)、可编程逻辑设备(PLD)、能够执行一个或以上功能的任何电路或处理器等,或其任何组合。

仅仅为了说明,在计算设备200中仅描述了一个处理器。然而,应该注意的是,本申请中的计算设备200还可以包括多个处理器,由此执行的操作和/或方法步骤如本申请中所描述的一个处理器也可以由多个处理器联合地或单独地执行。例如,如果在本申请中,计算设备200的处理器执行步骤A和步骤B,应当理解的是,步骤A和步骤B也可以由计算设备200的两个或以上不同的处理器共同地或独立地执行(例如,第一处理器执行步骤A、第二处理器执行步骤B、或者第一和第二处理器共同地执行步骤A和步骤B)。

存储器220可以存储从激光雷达设备110、相机120、卫星导航设备140、惯性导航系统150、控制器160、和/或时间同步系统100的任何其他组件获得的数据/信息。在一些实施例中,存储器220可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。例如,大容量存储器可以包括一磁盘、光盘、固态硬盘等。可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘和磁带等。易失性读取和写入存储器可以包括随机存取存储器(RAM)。RAM可以包括动态RAM(DRAM)、双倍速率同步动态RAM(DDRSDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容(Z-RAM)等。只读存储器可以包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,存储器220可以存储一个或以上程序和/或指令以执行在本申请中描述的示例性方法。

I/O 230可以输入和/或输出信号、数据、信息等。在一些实施例中,I/O 230可以使用户能够与控制器160交互。在一些实施例中,I/O 230可以包括输入设备和输出设备。示例性的输入设备可以包括键盘、鼠标、触控屏幕、麦克风等,或其任何组合。示例性的输出设备可以包括显示设备、扬声器、打印机、投影机等,或其任何组合。显示设备的示例可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、弯曲屏幕、电视设备、阴极射线管(CRT)、触控屏幕等,或其任何组合。

通信端口240可以连接到网络(例如,网络180)以促进数据通信。例如,控制器160可以在计算设备200上实现。通信端口240可以在控制器160与激光雷达110、相机120、卫星导航设备140、惯性导航系统150或存储设备170之间建立连接。连接可以是有线连接、无线连接、可以启用数据传输和/或接收的任何其他通信连接,和/或这些连接的任何组合。有线连接可以包括例如电缆、光缆、电话线等,或其任何组合。有线连接可以包括例如电缆、光缆、电话线等或其任意组合。无线连接可以包括例如蓝牙TM链路、Wi-FiTM链路、WiMaxTM链路、WLAN链路、紫蜂链路、移动网络链路(例如3G、4G、5G等)等或其组合。在一些实施例中,通信端口240可以是和/或包括标准化通信端口,诸如RS232、RS485等。

图3是根据本申请的一些实施例所示的可以在其上实现控制器160的移动设备的示例性硬件和/或软件组件的示意图。如图3所示,移动设备300可以包括通信平台310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、I/O 350、内存360和存储器390。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可以包括在移动设备300内。在一些实施例中,操作系统370(例如,iOSTM、AndroidTM、WindowsPhoneTM等)和一个或以上应用程序380可以从存储器390下载至内存360以及由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于接收和呈现与时间同步系统100有关的信息或来自控制器160的其他信息。用户与信息流的交互可以通过I/O350实现,并通过网络180提供给控制器160和/或时间同步系统100的其他组件。仅作为示例,任务的状态可以通过显示器320显示在用户终端140中。又例如,用户可以通过I/O 350输入任务。

为了实施本申请描述的各种模块、单元及其功能,计算机硬件平台可用作本文中描述的一个或以上组件的硬件平台。具有用户接口组件的计算机可以用于实施个人计算机(PC)或任何其他类型的工作站或终端设备。若编程得当,计算机亦可用作服务器。

本领域普通技术人员将理解,当时间同步系统100的组件执行时,组件可以通过电信号和/或电磁信号执行。例如,当控制器160处理诸如做出确定或识别信息的任务时,控制器160可以在其处理器中操作逻辑电路以处理这样的任务。当控制器160从相机120接收数据(例如,数据包)时,控制器160的处理器可以接收编码/包括数据的电信号。控制器160的处理器可以通过一个或以上信息交换端口接收电信号。如果控制器160经由有线网络与相机120通信,则信息交换端口可以物理地连接到电缆。如果控制器160经由无线网络与相机120通信,则控制器160的信息交换端口可以是一个或以上天线,其可以将电信号转换为电磁信号。在例如激光雷达设备110、相机120、卫星导航设备140、惯性导航系统150和/或控制器160的电子设备内,当其处理器处理指令时,处理器发出指令和/或执行动作,指令和/或动作通过电信号进行。例如,当处理器从存储介质(例如,存储设备170)中检索或保存数据时,它可以向存储介质的读/写设备发送电信号,其可以在存储介质中读取或写入结构数据。结构化数据可以以电信号的形式经由电子设备的总线传输至处理器。此处,电信号可以指一个电信号、一系列电信号和/或至少两个不连续的电信号。

图4是根据本申请的一些实施例所示的用于时间同步的示例性过程的流程图。在一些实施例中,过程400可以在图1所示的时间同步系统100中实现。例如,由时间同步系统100的组件(例如,相机120)执行的过程400的至少一个操作(例如,操作450)可以以指令的形式存储在存储介质中(例如,存储设备170、相机120的存储器220),并且可以由所述组件(例如,相机120的处理器210)调用和/或执行。以下呈现的所示过程400的操作旨在是说明性的。在一些实施例中,过程400可以利用未描述的一个或以上附加操作,和/或没有讨论的一个或以上操作来完成。另外,如图4所示和下面描述的过程400的操作的顺序不旨在是限制性的。

在410中,卫星导航设备140可以经由无线连接从定位系统130(例如,卫星130-1、卫星130-2和/或卫星130-3)接收导航信号。

在一些实施例中,定位系统130中的卫星携带稳定的原子时钟,其彼此同步并与地面时钟同步。定位系统130中的卫星(例如,卫星130-1、卫星130-2或卫星130-3)可以连续地广播导航信号(无线电信号,具有调制的载波)。导航信号可以是接收器(例如,卫星导航设备140)可处理的伪随机码(1和0的序列)。导航信号可以包括卫星发送导航信号的发送时间(根据卫星的时钟)以及所述卫星在所述发送时间的位置。

在420中,基于导航信号,卫星导航设备140可以将卫星导航设备140的第一时钟与定位系统130的时钟同步。

在一些实施例中,卫星导航设备140可以在收到导航信号时测量导航信号的到达时间(根据卫星导航设备140自身的时钟,也称为第一时钟)。基于发送时间和到达时间,卫星导航设备140可以确定对应于一个卫星的导航信号的飞行时间(TOF)值。在一些实施例中,卫星导航设备140可以确定与至少四个卫星相对应的TOF值。卫星导航设备140可以通过确定第一时钟与卫星的时钟之间的时钟偏差将第一时钟与卫星的时钟同步,并且确定其自身的三维位置(例如,经度、纬度和海拔)。

在430中,基于导航信号和/或第一时钟,卫星导航设备140可以确定协调世界时(UTC)和秒脉冲(PPS)信号。

在440中,卫星导航设备140可以传输协调世界时和秒脉冲信号到控制器160、至少一个激光雷达设备110,和惯性导航系统150中的至少一个。

秒脉冲信号和协调世界时可以与第一时钟同步。一个秒脉冲是具有小于一秒的宽度,和急剧上升或突然下降的边缘的电信号。

在一些实施例中,卫星导航设备140可以周期性地发送秒脉冲信号和/或协调世界时。例如,卫星导航设备140可以每秒一次向组件(例如,控制器160、激光雷达设备110或惯性导航系统150)发送秒脉冲信号。在这种情况下,秒脉冲信号可以包括协调世界时的整秒信息。例如,秒脉冲信号的急剧上升或突然下降的边缘可以指示协调世界时的整秒信息。

在一些实施例中,卫星导航设备140可以发送国家海洋电子协会(NMEA)语句,其包括协调世界时(例如,以hhmmss.sss的形式)、经度、纬度和海拔等。

在450中,基于秒脉冲信号和协调世界时,控制器160、至少一个激光雷达设备110,和/或惯性导航系统150可以分别将它们自己的时钟(例如,控制器160的第二时钟、至少一个激光雷达设备110的第三时钟,以及惯性导航系统150的第四时钟)与第一时钟同步。在一些实施例中,控制器160,至少一个激光雷达设备110和/或惯性导航系统150可以使用协调世界时将其自身的时钟与第一时钟同步,以及使用秒脉冲信号重置与其自身的时钟相关的计数器。

在一些实施例中,如果时间同步系统100包括两个或以上激光雷达设备,所述卫星导航设备140可以发送所述PPS信号和所述UTC至所述两个或以上激光雷达设备。所述两个或以上激光雷达设备可以基于所述PPS信号和所述UTC分别将它们自身的时钟与所述第一时钟同步。

在一些实施例中,由于,例如,发送秒脉冲信号的一个周期内的误差累积、发送秒脉冲信号和/或协调世界时的延迟、接收和/或分析导航信号以确定秒脉冲信号和协调世界时失败、与硬件有关的误差等,基于秒脉冲信号和协调世界时进行时间同步时可能存在误差。

在一些实施例中,基于秒脉冲信号进行时间同步的误差可以在一个周期内累积。在1秒内的时间同步的累积误差在某些情况下是可以接受的。如果想进一步减少累积误差,卫星导航设备140可以提高发送秒脉冲信号的频率。例如,卫星导航设备140可以以大于1HZ的频率发送秒脉冲信号。

在一些实施例中,卫星导航设备140可以在发送秒脉冲信号一段时间后发送协调世界时(例如,NMEA语句)以增加时间同步的鲁棒性和减少激光雷达设备110、惯性导航系统150,和/或控制器160的时间同步的压力,其可以减少时间同步的误差。

在一些实施例中,当卫星导航设备140位于某些位置(例如水下、地下、室内、隧道等)时,卫星导航设备140难以从定位系统130接收导航信号。在这些情况下,卫星导航设备140接收不到卫星信号,并且不能将协调世界时(例如,NMEA语句)和秒脉冲信号发送到车辆的其他部分(例如,控制器160)。在这种情况下,惯性导航系统150可以基于惯性导航系统150的时钟确定模拟的秒脉冲信号,并且将模拟的秒脉冲信号发送到至少一个激光雷达设备110和/或控制器160。

在一些实施例中,秒脉冲信号可以是晶体管-晶体管逻辑电路(TTL)信号,其在两个设备之间(例如,从卫星导航设备140到至少一个激光雷达设备110、控制器160或惯性导航系统150)传输时,其可能会有信号衰减和受到其他信号的噪声影响。为减少信号衰减,当秒脉冲信号被发送到控制器160、惯性导航系统150,或至少一个激光雷达110时,可以对秒脉冲信号进行放大(例如,通过中继放大器)或光电隔离。为了减少其他信号的噪声影响,当秒脉冲信号被发送到控制器160、惯性导航系统150,或至少一个激光雷达110时,可以通过屏蔽(例如,使用磁环)秒脉冲信号中的高频噪声来处理秒脉冲信号。

在460中,至少一个相机120可以将至少一个相机120的时钟(例如,第五时钟)与控制器160的时钟(例如,第二时钟)同步。

在一些实施例中,至少一个相机120可以使用网络时间协议(NTP)将第五时钟与第二时钟同步。关于第五时钟与第二时钟的同步的细节可以在本申请的其他地方找到(例如,结合图5的描述)。

在一些实施例中,如果时间同步系统100包括两个或以上相机,所述两个或以上相机可以分别使用NTP将它们自身的时钟与第二时钟同步。

在一些实施例中,硬件时间同步(例如,基于秒脉冲信号和协调世界时)可以实现更高精度(例如,亚微秒级别的误差)的时间同步。然而,硬件时间同步的可扩展性和灵活性受制于不同硬件标准和硬件的复杂布置。软件时间同步的标准(例如,使用NTP)可以相对统一。然而,软件时间同步的精度(例如,毫秒级别的误差)较低。

用于车辆中的多个传感器的时间同步的过程400将硬件时间同步与软件时间同步相结合。以相对高的频率(例如,大于20HZ)获得数据的传感器(例如,至少一个激光雷达设备110、惯性导航系统150,和控制器160)可以执行硬件时间同步(例如,操作440和450),因为在这种情况下,对时间同步的精度要求较高。以相对低的频率(例如,低于10HZ)获得数据的传感器(例如,至少一个相机120)可以执行软件时间同步(例如,操作460),因为在这种情况下,时间同步的精度不需要那么高。这种设计提高了时间同步的整体效率,节约了资源,同时满足车辆中所有设备的要求。

在本申请中,以上述组件的时间同步为例,仅用于说明的目的而提供的,并不旨在限制本申请的范围。在一些实施例中,本申请中用于时间同步的过程400可以应用于其他组件,例如车辆中的其他传感器,例如雷达、声波***、里程表等。

应该注意的是,上述描述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以在本申请的教导下做出各种变化和修改。然而,这些变化和修改不会背离本申请的范围。

图5是根据本申请的一些实施例所示的用于将至少一个相机的时钟与控制器的时钟同步的示例性过程的流程图。在一些实施例中,过程500可以在图1所示的时间同步系统100中实现。例如,过程500可以以指令的形式存储在存储介质(例如,存储设备170、相机120的存储器220)中,并且可以由相机120(例如,相机120的处理器210)调用和/或执行。以下呈现的所示过程500的操作旨在是说明性的。在一些实施例中,过程500可以利用未描述的一个或以上附加操作,和/或没有所讨论的一个或以上操作来完成。另外,如图5中所示和下面描述的过程500的操作的顺序不旨在是限制性的。在一些实施例中,图4中的过程400的操作450可以基于过程500执行。

在510中,至少一个相机120可以将初始数据包发送到控制器160。初始数据包可以包括基于至少一个相机120的第五时钟的第一时间戳。第一时间戳指示至少一个相机120发送初始数据包的时间。

在520中,至少一个相机120可以接收控制器160的修改数据包。修改数据包可以包括基于控制器160的第二时钟的第二时间戳和第三时间戳。第二时间戳指示控制器160接收初始数据包的时间。第三时间戳指示控制器160发送修改数据包的时间。

在530中,至少一个相机120可以在接收到修改数据包之后,根据至少一个相机120的第五时钟记录第四时间戳。第四时间戳指示至少一个相机120接收来自控制器160的修改数据包的时间。

在540中,基于第一时间戳、第二时间戳、第三时间戳和第四时间戳,至少一个相机120可以确定第二时钟和第五时钟之间的偏差。

基于第一时间戳、第二时间戳、第三时间戳和第四时间戳,至少一个相机120可以确定数据包(例如,初始数据包或修改数据包)在控制器160和至少一个相机120之间的单程传输时间。基于所述传输时间,至少一个相机120可以确定所述偏差。

例如,至少一个相机120可以基于下面的等式(1)确定所述偏差:

Tdelay=[(T4-T1)-(T3-T2)]/2 (1)

其中,假设数据包从控制器160到至少一个相机120的传输时间与从至少一个相机120到控制器160的传输时间相等;Tdelay指数据包在控制器160和至少一个相机120之间的单程传输时间;T1、T2、T3和T4分别指第一时间戳、第二时间戳、第三时间戳和第四时间戳。

至少一个相机120可以基于下面的等式(2)确定所述偏差:

Toffset=T2-(T1+Tdelay) (2),

其中Toffset指第二时钟和第五时钟之间的偏差。

在550中,基于所述偏差,至少一个相机120可以将第五时钟与第二时钟同步。

在一些实施例中,至少一个相机120可以每隔一段时间(例如,每秒一次)将初始数据包发送到控制器160。

在一些实施例中,如果时间同步系统100包括两个或以上相机,所述两个或以上相机可以分别基于过程500将它们自身的时钟与第二时钟同步。

应该注意的是,上述描述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以在本申请的教导下做出各种变化和修改。然而,这些变化和修改不会背离本申请的范围。

在使用本申请中的系统和/或方法(例如,过程400和/或过程500)对时间同步系统100中的多个组件进行时间同步之后,时间同步的精度可以被验证。

例如,根据至少一个激光雷达设备110的同步之后的时钟,由至少一个激光雷达设备110获得的数据(例如,点集)可以具有时间戳。控制器160可以实时读取由至少一个激光雷达设备110获得的数据,并且将实时数据的时间戳与控制器160的当前时间进行比较,以确定至少一个激光雷达设备110的时钟与控制器160的时钟之间的偏差。结果是偏差约为0.3ms。

又例如,基于每秒发送一次的秒脉冲信号控制发光二极管(LED)接通或断开。秒脉冲信号的急剧上升的边缘指示协调世界时的整秒。LED的响应时间约为10-6s。例如,在LED的电力被设置为高电平(例如,电压大于3.5伏)之后,LED在每个秒脉冲信号的急剧上升的边缘时被控制为开启。在一段时间(例如,短于秒脉冲信号的宽度)之后,LED被控制为关闭并且LED的电力被设置为低电平(例如,电压小于0.3伏)。设置高低电平用于确定LED开启的持续时间。根据至少一个相机120的同步之后的时钟,可以控制至少一个相机120在整秒时捕获LED的图像。以这种方式,得出的结果是相机120能够捕获LED开启时的图像,以及至少一个相机120的时间同步的误差是大约10ms。

上文已对基本概念做了描述,显然,对于阅读此详细申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。通过本申请的该类修改、改进和修正旨在建议,所以该类修改、改进、修正仍属于本申请示例性实施例的精神和范围。

同时,本申请使用了特定属于来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。

此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括韧体、常驻软件、微代码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。

计算机可读信号介质可以包括含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合形式。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。

本申请各部分操作所需的计算机程序编码可以用任意一种或以上程序语言编写,包括面向主体编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN)、或连接至外部计算机(例如通过因特网)、或在云计算环境中、或作为服务使用如软件即服务(SaaS)。

此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的各种组件的实施可以体现在硬件设备中,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的方法不应被解释为反映所要求保护的特征要比每个权利要求中明确记载的特征多。实际上,要求保护的特征要少于上述披露的单个实施例的全部特征。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种时间同步的方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!