CN114172610B - 一种多源数据同步处理方法、装置及系统 - Google Patents
一种多源数据同步处理方法、装置及系统 Download PDFInfo
- Publication number
- CN114172610B CN114172610B CN202111491962.8A CN202111491962A CN114172610B CN 114172610 B CN114172610 B CN 114172610B CN 202111491962 A CN202111491962 A CN 202111491962A CN 114172610 B CN114172610 B CN 114172610B
- Authority
- CN
- China
- Prior art keywords
- sensor
- data
- time stamp
- sensors
- time
- 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
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 51
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000012216 screening Methods 0.000 claims description 44
- 238000004806 packaging method and process Methods 0.000 claims description 43
- 238000000034 method Methods 0.000 claims description 27
- 238000009434 installation Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 10
- 238000012546 transfer Methods 0.000 description 6
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013480 data collection Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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/0644—External master-clock
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
本发明提供了一种多源数据同步处理方法、装置及系统,应用于系统中现有的数据采集设备,利用具有GPS模块的传感器能够实时获取卫星所转发的UTC时间的功能,通过使具有GPS模块的传感器向数据采集设备发送授时信号,使数据采集设备根据授时信号对本地时钟进行校准,实现对数据采集设备的授时。数据采集设备就可以在接收到的传感器数据不包含时间戳的情况下,根据本地时钟为该传感器数据添加时间戳,从而使接收到的所有传感器数据包含时间戳,进而从已接收的传感器数据中筛选出时间戳在同一预设时间范围内的传感器数据,并将其打包发送到应用端,在不增加硬件设备的基础上实现对多源数据的同步处理。
Description
技术领域
本发明涉及自动化控制技术领域,更具体的,涉及一种多源数据同步处理方法、装置及系统。
背景技术
为了基于外界环境信息实现智能控制,很多智能设备配置了大量的传感器感知外界环境信息,如在智能驾驶领域,车身安装了激光雷达、相机等传感器,以基于这些传感器数据感知路况信息从而实现智能驾驶。
由于不同传感器的数据发送周期不同,为了保证感知结果的准确性和有效性,需要对各个传感器的发送的数据进行同步处理。现有的多传感器数据同步需要采用一个额外的设备对中转设备进行授时,然后各个传感器以中转设备的时间为基准进行数据采集,增加了硬件成本。
发明内容
有鉴于此,本发明提供了一种多源数据同步处理方法、装置及系统,在不增加硬件设备的基础上实现对多源数据的同步处理。
第一方面,本发明实施例提供了一种多源数据同步处理方法,应用于数据采集设备,所述方法包括:
接收具有GPS模块的传感器发送的授时信号,对本地时钟进行校准;
接收多个传感器发送的传感器数据,其中,多个传感器包括主传感器,多个传感器中至少有一个传感器发送的传感器数据不包含时间戳;
根据本地时钟为不包含时间戳的传感器数据添加时间戳;
从已接收的传感器数据中筛选出与所述主传感器的传感器数据的时间戳在同一预设时间范围内的传感器数据,并将其打包发送到应用端。
在一些实施例中,所述接收具有GPS模块的传感器发送的授时信号,对本地时钟进行校准,包括:
接收所述具有GPS模块的传感器按照第一预设频率周期性发送的包含UTC时间的推荐定位信息;
响应于所述具有GPS模块的传感器发送的脉冲信号,根据最新接收到的所述推荐定位信息中的UTC时间对本地时钟进行校准,所述脉冲信号是所述具有GPS模块的传感器按照第二预设频率周期性发送的,所述第一预设频率高于所述第二预设频率。
在一些实施例中,所述多个传感器还包括第一传感器、第二传感器,其中,所述第一传感器和所述第二传感器的类型不同,所述根据本地时钟为不包含时间戳的传感器数据添加时间戳,包括:
接收所述第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;
在所述数据包中的数据采集角度与所述第二传感器的安装角度相同的情况下,触发所述第二传感器采集数据,并在该数据上添加时间戳。
在一些实施例中,所述多个传感器还包括第一传感器、多个第二传感器,其中,每个所述第二传感器的安装角度不同,所述第一传感器和所述第二传感器的类型不同,
所述根据本地时钟为不包含时间戳的传感器数据添加时间戳,包括:
接收所述第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;
在所述数据采集角度与任意一个所述第二传感器的安装角度相同的情况下,触发相同角度的所述第二传感器采集数据,并在该数据上添加时间戳。
在一些实施例中,所述从已接收的传感器数据中筛选出与所述主传感器的传感器数据的时间戳在同一预设时间范围内的数据,并将其打包发送到应用端,包括:
分别将每个传感器发送的传感器数据按照时间顺序存储到对应的存储空间中;
获取所述主传感器对应的存储空间中的第一帧传感器数据的时间戳,所述第一帧传感器数据为所述主传感器对应的存储空间中时间戳距当前时间最远的传感器数据;
从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,并将时间戳在同一预设时间范围内的传感器数据打包发送到应用端。
在一些实施例中,获取所述主传感器对应的存储空间中的第一帧传感器数据的时间戳,包括:
锁死所述主传感器对应的存储空间;
拷贝所述主传感器对应的存储空间中的所述第一帧传感器数据至预设变量,得到所述第一帧传感器数据的时间戳;
删除所述主传感器对应的存储空间中的所述第一帧传感器数据;
解锁所述主传感器对应的存储空间。
在一些实施例中,所述从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,并将时间戳在同一预设时间范围内的传感器数据打包发送到应用端,包括:
对除所述主传感器之外的传感器对应的存储空间进行遍历;
针对除所述主传感器之外的每一个传感器,确定该传感器与所述主传感器之间的同步时间阈值,并从该传感器对应的存储空间中筛选目标传感器数据,所述目标传感器数据的时间戳与所述第一帧传感器数据的时间戳之间的差值在所述同步时间阈值内;
在除所述主传感器之外的每一个传感器对应的存储空间中都筛选出所述目标传感器数据的情况下,将筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端,所述主传感器与其他传感器之间的同步时间阈值都在预设时间范围内。
在一些实施例中,所述从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,还包括
在有至少一个除所述主传感器之外的传感器对应的存储空间中未筛选出所述目标传感器数据的情况下,判断对除所述主传感器之外的传感器对应的存储空间进行遍历的次数是否超过阈值;
若超过阈值,将已筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端;
若未超过阈值,在预设延时时间之后刷新每个传感器对应的存储空间,重新对除所述主传感器之外的传感器对应的存储空间进行遍历。
第二方面,本发明实施例提供了一种多源数据同步处理装置,应用于数据采集设备,所述装置包括:
时钟校准单元,用于接收具有GPS模块的传感器发送的授时信号,对本地时钟进行校准;
数据接收单元,用于接收多个传感器发送的传感器数据,其中,多个传感器包括主传感器,多个传感器中至少有一个传感器发送的传感器数据不包含时间戳;
时间戳添加单元,用于根据本地时钟为不包含时间戳的传感器数据添加时间戳;
同步处理单元,用于从已接收的传感器数据中筛选出与所述主传感器的传感器数据的时间戳在同一预设时间范围内的传感器数据,并将其打包发送到应用端。
在一些实施例中,所述时钟校准单元,具体用于接收所述具有GPS模块的传感器按照第一预设频率周期性发送的包含UTC时间的推荐定位信息;响应于所述具有GPS模块的传感器发送的脉冲信号,根据最新接收到的所述推荐定位信息中的UTC时间对本地时钟进行校准,所述脉冲信号是所述具有GPS模块的传感器按照第二预设频率周期性发送的,所述第一预设频率高于所述第二预设频率。
在一些实施例中,所述多个传感器还包括第一传感器、第二传感器,其中,所述第一传感器和所述第二传感器的类型不同,所述时间戳添加单元,具体用于接收所述第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;在所述数据包中的数据采集角度与所述第二传感器的安装角度相同的情况下,触发所述第二传感器采集数据,并在该数据上添加时间戳。
在一些实施例中,所述多个传感器还包括第一传感器、多个第二传感器,其中,每个所述第二传感器的安装角度不同,所述第一传感器和所述第二传感器的类型不同,所述时间戳添加单元,具体用于接收所述第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;在所述数据采集角度与任意一个所述第二传感器的安装角度相同的情况下,触发相同角度的所述第二传感器采集数据,并在该数据上添加时间戳。
在一些实施例中,所述同步处理单元,包括:
数据存储子单元,用于分别将每个传感器发送的传感器数据按照时间顺序存储到对应的存储空间中;
第一帧传感器数据获取子单元,用于获取所述主传感器对应的存储空间中的第一帧传感器数据的时间戳,所述第一帧传感器数据为所述主传感器对应的存储空间中时间戳距当前时间最远的传感器数据;
同步数据筛选子单元,用于从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,并将时间戳在同一预设时间范围内的传感器数据打包发送到应用端。
在一些实施例中,所述第一帧传感器数据获取子单元,具体用于:
锁死所述主传感器对应的存储空间;
拷贝所述主传感器对应的存储空间中的所述第一帧传感器数据至预设变量,得到所述第一帧传感器数据的时间戳;
删除所述主传感器对应的存储空间中的所述第一帧传感器数据;
解锁所述主传感器对应的存储空间。
在一些实施例中,所述同步数据筛选子单元,具体用于:
对除所述主传感器之外的传感器对应的存储空间进行遍历;
针对除所述主传感器之外的每一个传感器,确定该传感器与所述主传感器之间的同步时间阈值,并从该传感器对应的存储空间中筛选目标传感器数据,所述目标传感器数据的时间戳与所述第一帧传感器数据的时间戳之间的差值在所述同步时间阈值内;
在除所述主传感器之外的每一个传感器对应的存储空间中都筛选出所述目标传感器数据的情况下,将筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端,所述主传感器与其他传感器之间的同步时间阈值都在预设时间范围内。
在一些实施例中,所述同步数据筛选子单元,还用于:
在有至少一个除所述主传感器之外的传感器对应的存储空间中未筛选出所述目标传感器数据的情况下,判断对除所述主传感器之外的传感器对应的存储空间进行遍历的次数是否超过阈值;
若超过阈值,将已筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端;
若未超过阈值,在预设延时时间之后刷新每个传感器对应的存储空间,重新对除所述主传感器之外的传感器对应的存储空间进行遍历。
第三方面,本发明实施例提供了一种多源数据同步处理系统,包括:数据采集设备与多个传感器;
所述数据采集设备分别与每个所述传感器通信连接;
多个所述传感器中至少包括一个具有GPS模块的传感器;
所述数据采集设备,用于执行第一方面中任一实现方式描述的多源数据同步处理方法。
第四方面,本发明实施例提供了一种电子设备,所述电子设备包括:至少一个存储器和至少一个处理器;
所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现第一方面中任一实现方式描述的多源数据同步处理方法。
第五方面,本发明实施例提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行第一方面中任一实现方式描述的多源数据同步处理方法。
相对于现有技术,本发明的有益效果如下:
本发明公开的一种多源数据同步处理方法,应用于系统中现有的数据采集设备,利用具有GPS模块的传感器能够实时获取卫星所转发的UTC时间的功能,通过使具有GPS模块的传感器向数据采集设备发送授时信号,使数据采集设备基于授时信号对本地时钟进行校准,实现对数据采集设备的授时。数据采集设备就可以在接收到的传感器数据不包含时间戳的情况下,根据本地时钟为该传感器数据添加时间戳,从而使接收到的所有传感器数据包含时间戳,进而从已接收的传感器数据中筛选出与主传感器的传感器数据的时间戳在同一预设时间范围内的传感器数据,并将其打包发送到应用端,保证每一次同步的数据中都包含有主传感器的数据,增加系统的鲁棒性,在不增加硬件设备的基础上实现对多源数据的同步处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种多源数据同步处理方法的流程示意图;
图2为本发明实施例公开的一种多源数据同步处理方法的部分方法流程示意图;
图3为本发明实施例公开的一种多源数据同步处理方法的部分方法流程示意图;
图4为本发明实施例公开的一种多源数据同步处理方法的流程示意图;
图5为本发明实施例公开的一种多源数据同步处理装置的结构示意图;
图6为本发明实施例公开的一种多源数据同步处理系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人经过研究发现:现有的多传感器数据同步领域,多个异源传感器之间的时间同步多采用一个额外的设备对一个中转设备进行授时,然后各个传感器以中转设备的时间为基准轴进行数据采集。首先,现有的多源数据同步系统在硬件上具有较多的冗余,需要一个额外的授时设备,并且授时设备需要一个额外的中转设备进行转发和传递,系统传递路线较长、鲁棒性较差;其次,在接口上不具有丰富性,很多传感器并不是通过以太网进行数据传输的,比如:摄像头有串口和以太网传输、激光雷达是以太网传输、惯性导航是CAN和COM口传输等等。一个中转设备肯定是满足不了多个异源传感器的接口需求。
为了解决上述技术问题,本发明利用系统中现有的数据采集设备与各个传感器的已有通信连接,以及现有的具有GPS模块的传感器能够实时获取卫星所转发的UTC(Universal Time Coordinated,世界标准)时间的功能,通过使具有GPS模块的传感器向数据采集设备发送授时信号,使数据采集设备基于授时信号中的UTC时间对本地时钟进行校准,实现对数据采集设备的授时。数据采集设备就可以在接收到的传感器数据不包含时间戳的情况下,根据本地时钟为该传感器数据添加时间戳,从而使接收到的所有传感器数据包含时间戳,进而从已接收的传感器数据中筛选出时间戳在同一预设时间范围内的传感器数据,并将其打包发送到应用端,在不增加硬件设备的基础上实现对多源数据的同步处理。
具体的,本实施例公开了一种多源数据同步处理方法,应用于数据采集设备,该数据采集设备在不同应用场景下可以为不同设备,如在智能驾驶领域,该数据采集设备可以为工控机,在其他应用场景下还可以为嵌入式处理器等设备,在此不做具体限定。请参阅图1,本实施例公开的一种多源数据同步处理方法包括以下步骤:
S101:根据具有GPS模块的传感器发送的授时信号,对本地时钟进行校准。
需要说明的是,上述具有GPS模块的传感器,如组合惯性导航系统等,该具有GPS模块的传感器能够实时获取卫星所转发的UTC时间。
以具有GPS模块的传感器为组合惯性导航系统为例,通过预先设定的驱动程序组合惯性导航系统周期性向数据采集设备发送GPRMC(推荐定位信息)信号,该GPRMC信号包括UTC时间、定位状态、经纬度信息等。
由于GPRMC信号的发送频率较高,为了避免数据采集设备频繁根据GPRMC信号校准本地时钟,可以设定数据采集设备在接收到GPRMC信号之后不对本地时钟进行校准,而是在接收到组合惯性导航系统发送的脉冲信号,如PPS(Pulse Per Second,秒脉冲)脉冲信号之后,再根据最新接收到的GPRMC信号中的UTC时间对本地时钟进行校准。
为了防止长时间未对本地时钟进行校准导致的累积误差,上述组合惯性导航系统发送的脉冲信号可以为周期性发送的,使数据采集设备周期性对本地时钟进行校准。为了在避免频繁校准的同时防止累积误差,GPRMC信号的发送频率必须高于脉冲信号的发送频率,二者的发送频率可以根据实际需求预先进行设定。
S102:接收多个传感器发送的传感器数据,其中,多个传感器包括主传感器,多个传感器中至少有一个传感器发送的传感器数据不包含时间戳。
其中,主传感器的传感器数据为后续感知外界环境信息(如目标检测)主要依靠的传感器数据,以智能驾驶应用场景为例,主传感器为布置在车辆车顶中间的激光雷达。
需要说明的是,具有GPS模块的传感器还可以对所有具有授时接口的传感器进行授时,该授时接口为能够接收到具有GPS模块的传感器发送的包括UTC时间的信号的接口,具有GPS模块的传感器对具有授时接口的传感器进行授时的方法与对数据采集设备进行授时的方法相同,在此不再赘述。
具有授时接口的传感器在根据具有GPS模块的传感器发送的授时信号对本地时钟校准后,可以在向数据采集设备发送的传感器数据中添加时间戳。因此,数据采集设备接收到的传感器数据可能包含时间戳,也可能不包含时间戳。
S103:根据本地时钟为不包含时间戳的传感器数据添加时间戳。
对于不包含时间戳的传感器数据,如通过CAN卡进行采集的毫米波雷达数据,数据采集设备需要根据本地时钟为其添加时间戳。
其中,对于具有数据采集角度的传感器,如激光雷达、图像采集设备(如相机、摄像头等)、毫米波雷达等传感器,若在同一时刻数据采集角度不同,所采集的数据会产生较大的运动畸变,为了降低运动畸变,请参阅图2,本实施例S103的一种实现方式如下:
S201:接收第一传感器发送的携带有数据采集角度和时间戳的数据包,数据包中的时间戳为第一传感器根据具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成。
S202:在数据采集角度与第二传感器的安装角度相同的情况下,触发第二传感器采集数据,并在该数据上添加时间戳。
其中,第一传感器可以为激光雷达,第二传感器可以为图像采集设备,如相机,第二传感器还可以为毫米波雷达,第一传感器和第二传感器的类型不同,在此不做具体限定。
另外,第二传感器的数量可以为多个,每个第二传感器的安装角度不同,数据采集设备在接收第一传感器发送的携带有数据采集角度和时间戳的数据包之后,在数据采集角度与任意一个第二传感器的安装角度相同的情况下,触发相同角度的第二传感器采集数据,并在该数据上添加时间戳。
以第一传感器为激光雷达,第二传感器为相机为例,相机一般布置在应用对象的前后左右,角度分别为0度、90度、180度和270度。数据采集设备在接收到激光雷达发送的每一个UDP(User Datagram Protocol,用户数据包协议)包时读取激光雷达的发光角度和当前的时间戳,用于记录精确的采集时间,并在角度等于0度时触发正前方的相机拍照并打上当前UDP包所对应的时间,在角度等于90度时触发正右方的相机进行拍照并打上当前UDP包所对应的时间,在角度等于180度时触发正后方的相机进行拍照并打上当前UDP包所对应的时间,在角度等于270度时触发正左方的相机进行拍照并打上当前UDP包所对应的时间。需要说明的是,如果相机布置方式不同则触发角度可以进行相应改变。
S104:从已接收的传感器数据中筛选出与主传感器的传感器数据的时间戳在同一预设时间范围内的传感器数据,并将其打包发送到应用端。
由于在实际应用场景中每一个传感器的数据发送周期都是不同的,例如:激光雷达的发送周期常用为10HZ,惯性导航系统的发送周期为100HZ,摄像头帧率可自由设置等等,并且我们无法保证传感器都是在同一时刻开始工作,因此即使是周期相同的传感器也不能保证一定存在时间戳完全相同的数据,因此,需要通过合理的同步策略对时间戳不完全相同的传感器数据进行同步处理,具体的,从已接收的传感器数据中筛选出时间戳在同一预设时间范围内的传感器数据,并将其打包发送到应用端,应用端为对同步处理后的传感器数据进行进一步处理,如外接环境信息感知的设备,根据应用场景不同,具体可以为不同的设备,在此不做具体限定。
预设时间范围的设定原则为在能囊括每一种传感器数据的同时尽可能缩小不同传感器数据时间戳之间的时间差。
请参阅图3,本实施例提供了一种数据同步处理方法,具体包括以下步骤:
S301:分别将每个传感器发送的传感器数据按照时间顺序存储到对应的存储空间中。
具体的,存储空间的形式不做具体限定,可以为队列,如可以分别将每个传感器发送的传感器数据按照时间顺序从后往前压入对应的队列,如激光雷达、毫米波雷达、相机、组合惯性导航系统等传感器分别对应一个队列,每个队列中的第一帧传感器数据为时间戳距当前时间最远的传感器数据。
同一类传感器,如相机,在系统中可能包含多个,每个相机分别对应一个存储空间。
S302:获取主传感器对应的存储空间中的第一帧传感器数据的时间戳,第一帧传感器数据为主传感器对应的存储空间中时间戳距当前时间最远的传感器数据。
主传感器的传感器数据为后续感知外界环境信息(如目标检测)主要依靠的传感器数据,以智能驾驶应用场景为例,主传感器为布置在车辆车顶中间的激光雷达。
其中,获取主传感器对应的存储空间中的第一帧传感器数据的时间戳的实现方式可以为:锁死主传感器对应的存储空间后,取主传感器对应的存储空间中的第一帧传感器数据至另一个变量,即将第一帧传感器数据拷贝一份,用于后续数据处理,然后删除主传感器对应的存储空间中的第一帧传感器数据,解锁主传感器对应的存储空间,得到主传感器对应的存储空间中的第一帧传感器数据的时间戳。
S303:从其他传感器对应的存储空间中筛选出与第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,并将时间戳在同一预设时间范围内的传感器数据打包发送到应用端。
由于选定了主传感器,根据主传感器的第一帧传感器数据的时间戳筛选其他传感器数据,因此,筛选出的时间戳在同一预设时间范围内的传感器数据必定包含主传感器的第一帧传感器数据,也就是说,每一次同步的数据中都包含有主传感器的传感器数据,增加了系统的鲁棒性,保证了感知数据的可靠性和稳定性,为后期的环境感知提供了有力保障。
从其他传感器对应的存储空间中筛选出与第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,并将时间戳在同一预设时间范围内的传感器数据打包发送到应用端,具体包括:
对除主传感器之外的传感器对应的存储空间进行遍历;
针对除主传感器之外的每一个传感器,确定该传感器与主传感器之间的同步时间阈值,并从该传感器对应的存储空间中筛选目标传感器数据,目标传感器数据的时间戳与第一帧传感器数据的时间戳之间的差值在同步时间阈值内,由于不同传感器数据发送周期或者先后不同,两传感器的数据的时间戳不可能绝对相同,所以当时间差在阈值范围内,我们便认为两个传感器数据是同一时刻产生的;
在除主传感器之外的每一个传感器对应的存储空间中都筛选出目标传感器数据的情况下,将筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端,主传感器与其他传感器之间的同步时间阈值都在预设时间范围内。
可以理解的是,在一次遍历过程中,不一定在除主传感器之外的每一个传感器对应的存储空间中都筛选出目标传感器数据,为了在不影响数据处理时效性的前提下,尽可能同步更多的传感器数据,可以设定遍历次数的阈值。在有至少一个除主传感器之外的传感器对应的存储空间中未筛选出目标传感器数据的情况下,判断对除主传感器之外的传感器对应的存储空间进行遍历的次数是否超过阈值,若超过阈值,将已筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端(即使已筛选出的数据未囊括所有传感器也打包发送到应用端);若未超过阈值,在预设延时时间之后刷新每个传感器对应的存储空间,重新对除主传感器之外的传感器对应的存储空间进行遍历,直到在除主传感器之外的每一个传感器对应的存储空间中都筛选出目标传感器数据,或遍历次数超过阈值为止。
具体的,请参阅图4,以工控机为数据采集设备,主雷达为主传感器,除主传感器之外的传感器还包括辅雷达、图像采集设备和毫米波雷达,其中,主雷达对应的存储空间为主雷达队列,辅雷达对应的存储空间为辅雷达队列,图像采集设备对应的存储空间为图像数据队列,毫米波雷达对应的存储空间为毫米波数据队列为例,上述S104的实现方式可以为:
a.工控机采集所有传感器的数据并按时间顺序压入对应的队列,包括激光雷达、毫米波雷达、摄像头、组合惯导等传感器,所有数据都是从后往前压入,即第一帧数据是距当前时刻最远的数据。
b.锁死主雷达存储队列后,取主雷达的第一帧数据至另一个变量,删除主雷达的第一帧数据,解锁主雷达存储队列,得到主雷达数据时间戳T,进入步骤c;
c.判断是否已经找到对应辅雷达1数据,若已经找到则跳转至步骤f,若未找到则锁死辅雷达1存储队列后,取辅雷达1存储队列的最后一帧数据的时间戳与步骤b中的时间戳T作差处理,得到的数值若不满足小于阈值1(即同步时间阈值)的条件则认为未找到与主雷达对应的辅雷达1的数据,开始从后往前遍历辅雷达1的所有数据;得到的数值若满足小于阈值1的辅雷达1数据则进入步骤d,若未找到对应辅雷达1数据则进入步骤e,解锁辅雷达1存储队列;
d.将find_lidar置为true,即找到对应辅雷达1数据,存储该帧辅雷达1数据,进入步骤f;
e.将find_lidar置为false,即未找到对应辅雷达1数据,进入步骤f;
f.将辅雷达1的队列替换为其它传感器的队列以后,修改对应阈值(这里的阈值是步骤c中的时间作差后判断的同步时间阈值。因为不同传感器的周期不同,所以需要根据两个不同的传感器的周期进行修改),循环步骤c至e,遍历系统中配置的所有传感器进入步骤g;
g.做一个遍历次数的计数try_times,判断是否找到与主雷达时间T所对应的所有传感器的数据,若找到,则输出同一时间范围内的所有传感器数据,若未找到则进入步骤h;
h.判断遍历次数try_times是否大于遍历次数阈值3,若大于则输出当前与主雷达时间T能够匹配的所有其它传感器数据,若不满足则进入步骤i;
i.系统延时等待5ms(可以不限制等待时间的具体数值,但考虑到程序运行时间,延迟时间不宜过大),刷新各个传感器队列的数据后重复步骤c至h。
可见,本实施例公开的一种多源数据同步处理方法,应用于系统中现有的数据采集设备,利用具有GPS模块的传感器能够实时获取卫星所转发的UTC时间的功能,通过使具有GPS模块的传感器向数据采集设备发送授时信号,使数据采集设备基于授时信号对本地时钟进行校准,实现对数据采集设备的授时。数据采集设备就可以在接收到的传感器数据不包含时间戳的情况下,根据本地时钟为该传感器数据添加时间戳,从而使接收到的所有传感器数据包含时间戳,进而从已接收的传感器数据中筛选出与主传感器的传感器数据的时间戳在同一预设时间范围内的传感器数据,并将其打包发送到应用端,保证每一次同步的数据中都包含有主传感器的数据,增加系统的鲁棒性,在不增加硬件设备的基础上实现对多源数据的同步处理,且同步策略鲁棒性较好,保证了感知数据的可靠性和稳定性,为后期的环境感知提供了有力保障。
基于上述实施例公开的一种多源数据同步处理方法,本实施例对应公开了一种多源数据同步处理装置,应用于数据采集设备,请参阅图5,所述装置包括:
时钟校准单元401,用于接收具有GPS模块的传感器发送的授时信号,对本地时钟进行校准;
数据接收单元402,用于接收多个传感器发送的传感器数据,其中,多个传感器包括主传感器,多个传感器中至少有一个传感器发送的传感器数据不包含时间戳;
时间戳添加单元403,用于根据本地时钟为不包含时间戳的传感器数据添加时间戳;
同步处理单元404,用于从已接收的传感器数据中筛选出与所述主传感器的传感器数据的时间戳在同一预设时间范围内的传感器数据,并将其打包发送到应用端。
在一些实施例中,所述时钟校准单元401,具体用于接收所述具有GPS模块的传感器按照第一预设频率周期性发送的包含UTC时间的推荐定位信息;响应于所述具有GPS模块的传感器发送的脉冲信号,根据最新接收到的所述推荐定位信息中的UTC时间对本地时钟进行校准,所述脉冲信号是所述具有GPS模块的传感器按照第二预设频率周期性发送的,所述第一预设频率高于所述第二预设频率。
在一些实施例中,所述多个传感器还包括第一传感器、第二传感器,其中,所述第一传感器和所述第二传感器的类型不同,所述时间戳添加单元403,具体用于接收第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成的;在所述数据包中的数据采集角度与所述第二传感器的安装角度相同的情况下,触发所述第二传感器采集数据,并在该数据上添加时间戳。
在一些实施例中,所述多个传感器还包括第一传感器、多个第二传感器,其中,每个所述第二传感器的安装角度不同,所述第一传感器和所述第二传感器的类型不同,所述时间戳添加单元403,具体用于接收所述第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;在所述数据采集角度与任意一个所述第二传感器的安装角度相同的情况下,触发相同角度的所述第二传感器采集数据,并在该数据上添加时间戳。
在一些实施例中,所述同步处理单元404,包括:
数据存储子单元,用于分别将每个传感器发送的传感器数据按照时间顺序存储到对应的存储空间中;
第一帧传感器数据获取子单元,用于获取主传感器对应的存储空间中的第一帧传感器数据的时间戳,所述第一帧传感器数据为所述主传感器对应的存储空间中时间戳距当前时间最远的传感器数据;
同步数据筛选子单元,用于从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,并将时间戳在同一预设时间范围内的传感器数据打包发送到应用端。
在一些实施例中,所述第一帧传感器数据获取子单元,具体用于:
锁死所述主传感器对应的存储空间;
拷贝所述主传感器对应的存储空间中的所述第一帧传感器数据至预设变量,得到所述第一帧传感器数据的时间戳;
删除所述主传感器对应的存储空间中的所述第一帧传感器数据;
解锁所述主传感器对应的存储空间。
在一些实施例中,所述同步数据筛选子单元,具体用于:
对除所述主传感器之外的传感器对应的存储空间进行遍历;
针对除所述主传感器之外的每一个传感器,确定该传感器与所述主传感器之间的同步时间阈值,并从该传感器对应的存储空间中筛选目标传感器数据,所述目标传感器数据的时间戳与所述第一帧传感器数据的时间戳之间的差值在所述同步时间阈值内;
在除所述主传感器之外的每一个传感器对应的存储空间中都筛选出所述目标传感器数据的情况下,将筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端,所述主传感器与其他传感器之间的同步时间阈值都在预设时间范围内。
在一些实施例中,所述同步数据筛选子单元,还用于:
在有至少一个除所述主传感器之外的传感器对应的存储空间中未筛选出所述目标传感器数据的情况下,判断对除所述主传感器之外的传感器对应的存储空间进行遍历的次数是否超过阈值;
若超过阈值,将已筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端;
若未超过阈值,在预设延时时间之后刷新每个传感器对应的存储空间,重新对除所述主传感器之外的传感器对应的存储空间进行遍历。
本发明实施例还提供了一种多源数据同步处理系统,包括:数据采集设备与多个传感器,以数据采集设备为工控机、传感器包括组合惯导系统(具有GPS模块)、激光雷达、相机和毫米波雷达为例,对应多源数据同步处理系统如图6所示。
所述数据采集设备分别与每个所述传感器通信连接;
多个所述传感器中至少包括一个具有GPS模块的传感器;
所述数据采集设备,用于执行上述实施例公开如下多源数据同步处理方法:
接收具有GPS模块的传感器发送的授时信号,对本地时钟进行校准;
接收多个传感器发送的传感器数据,其中,多个传感器包括主传感器,多个传感器中至少有一个传感器发送的传感器数据不包含时间戳;
根据本地时钟为不包含时间戳的传感器数据添加时间戳;
从已接收的传感器数据中筛选出与所述主传感器的传感器数据的时间戳在同一预设时间范围内的传感器数据,并将其打包发送到应用端。
进一步,所述接收具有GPS模块的传感器发送的授时信号,对本地时钟进行校准,包括:
接收所述具有GPS模块的传感器按照第一预设频率周期性发送的包含UTC时间的推荐定位信息;
响应于所述具有GPS模块的传感器发送的脉冲信号,根据最新接收到的所述推荐定位信息中的UTC时间对本地时钟进行校准,所述脉冲信号是所述具有GPS模块的传感器按照第二预设频率周期性发送的,所述第一预设频率高于所述第二预设频率。
进一步,所述多个传感器还包括第一传感器、第二传感器,其中,所述第一传感器和所述第二传感器的类型不同,所述根据本地时钟为不包含时间戳的传感器数据添加时间戳,包括:
接收第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;
在所述数据包中的数据采集角度与所述第二传感器的安装角度的情况下,触发所述第二传感器采集数据,并在该数据上添加时间戳。
进一步,所述多个传感器还包括第一传感器、多个第二传感器,其中,每个所述第二传感器的安装角度不同,所述第一传感器和所述第二传感器的类型不同,
所述根据本地时钟为不包含时间戳的传感器数据添加时间戳,包括:
接收所述第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;
在所述数据采集角度与任意一个所述第二传感器的安装角度相同的情况下,触发相同角度的所述第二传感器采集数据,并在该数据上添加时间戳。
进一步,所述从已接收的传感器数据中筛选出与所述主传感器的传感器数据的时间戳在同一预设时间范围内的数据,并将其打包发送到应用端,包括:
分别将每个传感器发送的传感器数据按照时间顺序存储到对应的存储空间中;
获取主传感器对应的存储空间中的第一帧传感器数据的时间戳,所述第一帧传感器数据为所述主传感器对应的存储空间中时间戳距当前时间最远的传感器数据;
从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,并将时间戳在同一预设时间范围内的传感器数据打包发送到应用端。
进一步,获取所述主传感器对应的存储空间中的第一帧传感器数据的时间戳,包括:
锁死所述主传感器对应的存储空间;
拷贝所述主传感器对应的存储空间中的所述第一帧传感器数据至预设变量,得到所述第一帧传感器数据的时间戳;
删除所述主传感器对应的存储空间中的所述第一帧传感器数据;
解锁所述主传感器对应的存储空间。
进一步,所述从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,并将时间戳在同一预设时间范围内的传感器数据打包发送到应用端,包括:
对除所述主传感器之外的传感器对应的存储空间进行遍历;
针对除所述主传感器之外的每一个传感器,确定该传感器与所述主传感器之间的同步时间阈值,并从该传感器对应的存储空间中筛选目标传感器数据,所述目标传感器数据的时间戳与所述第一帧传感器数据的时间戳之间的差值在所述同步时间阈值内;
在除所述主传感器之外的每一个传感器对应的存储空间中都筛选出所述目标传感器数据的情况下,将筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端,所述主传感器与其他传感器之间的同步时间阈值都在预设时间范围内。
进一步,所述从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,还包括
在有至少一个除所述主传感器之外的传感器对应的存储空间中未筛选出所述目标传感器数据的情况下,判断对除所述主传感器之外的传感器对应的存储空间进行遍历的次数是否超过阈值;
若超过阈值,将已筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端;
若未超过阈值,在预设延时时间之后刷新每个传感器对应的存储空间,重新对除所述主传感器之外的传感器对应的存储空间进行遍历。
本发明实施例还公开了一种电子设备,所述电子设备包括:至少一个存储器和至少一个处理器;
所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现如下多源数据同步处理方法:
接收具有GPS模块的传感器发送的授时信号,对本地时钟进行校准;
接收多个传感器发送的传感器数据,其中,多个传感器包括主传感器,多个传感器中至少有一个传感器发送的传感器数据不包含时间戳;
根据本地时钟为不包含时间戳的传感器数据添加时间戳;
从已接收的传感器数据中筛选出与所述主传感器的传感器数据的时间戳在同一预设时间范围内的传感器数据,并将其打包发送到应用端。
进一步,所述接收具有GPS模块的传感器发送的授时信号,对本地时钟进行校准,包括:
接收所述具有GPS模块的传感器按照第一预设频率周期性发送的包含UTC时间的推荐定位信息;
响应于所述具有GPS模块的传感器发送的脉冲信号,根据最新接收到的所述推荐定位信息中的UTC时间对本地时钟进行校准,所述脉冲信号是所述具有GPS模块的传感器按照第二预设频率周期性发送的,所述第一预设频率高于所述第二预设频率。
进一步,所述多个传感器还包括第一传感器、第二传感器,其中,所述第一传感器和所述第二传感器的类型不同,所述根据本地时钟为不包含时间戳的传感器数据添加时间戳,包括:
接收第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;
在所述数据包中的数据采集角度与所述第二传感器的安装角度相同的情况下,触发所述第二传感器采集数据,并在该数据上添加时间戳。
进一步,所述多个传感器还包括第一传感器、多个第二传感器,其中,每个所述第二传感器的安装角度不同,所述第一传感器和所述第二传感器的类型不同,
所述根据本地时钟为不包含时间戳的传感器数据添加时间戳,包括:
接收所述第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;
在所述数据采集角度与任意一个所述第二传感器的安装角度相同的情况下,触发相同角度的所述第二传感器采集数据,并在该数据上添加时间戳。
进一步,所述从已接收的传感器数据中筛选出与所述主传感器的传感器数据的时间戳在同一预设时间范围内的数据,并将其打包发送到应用端,包括:
分别将每个传感器发送的传感器数据按照时间顺序存储到对应的存储空间中;
获取主传感器对应的存储空间中的第一帧传感器数据的时间戳,所述第一帧传感器数据为所述主传感器对应的存储空间中时间戳距当前时间最远的传感器数据;
从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,并将时间戳在同一预设时间范围内的传感器数据打包发送到应用端。
进一步,在一些实施例中,获取所述主传感器对应的存储空间中的第一帧传感器数据的时间戳,包括:
锁死所述主传感器对应的存储空间;
拷贝所述主传感器对应的存储空间中的所述第一帧传感器数据至预设变量,得到所述第一帧传感器数据的时间戳;
删除所述主传感器对应的存储空间中的所述第一帧传感器数据;
解锁所述主传感器对应的存储空间。
进一步,所述从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,并将时间戳在同一预设时间范围内的传感器数据打包发送到应用端,包括:
对除所述主传感器之外的传感器对应的存储空间进行遍历;
针对除所述主传感器之外的每一个传感器,确定该传感器与所述主传感器之间的同步时间阈值,并从该传感器对应的存储空间中筛选目标传感器数据,所述目标传感器数据的时间戳与所述第一帧传感器数据的时间戳之间的差值在所述同步时间阈值内;
在除所述主传感器之外的每一个传感器对应的存储空间中都筛选出所述目标传感器数据的情况下,将筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端,所述主传感器与其他传感器之间的同步时间阈值都在预设时间范围内。
进一步,所述从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,还包括
在有至少一个除所述主传感器之外的传感器对应的存储空间中未筛选出所述目标传感器数据的情况下,判断对除所述主传感器之外的传感器对应的存储空间进行遍历的次数是否超过阈值;
若超过阈值,将已筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端;
若未超过阈值,在预设延时时间之后刷新每个传感器对应的存储空间,重新对除所述主传感器之外的传感器对应的存储空间进行遍历。
本发明实施例还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行如下多源数据同步处理方法:
接收具有GPS模块的传感器发送的授时信号,对本地时钟进行校准;
接收多个传感器发送的传感器数据,其中,多个传感器包括主传感器,多个传感器中至少有一个传感器发送的传感器数据不包含时间戳;
根据本地时钟为不包含时间戳的传感器数据添加时间戳;
从已接收的传感器数据中筛选出与所述主传感器的传感器数据的时间戳在同一预设时间范围内的传感器数据,并将其打包发送到应用端。
进一步,所述接收具有GPS模块的传感器发送的授时信号,对本地时钟进行校准,包括:
接收所述具有GPS模块的传感器按照第一预设频率周期性发送的包含UTC时间的推荐定位信息;
响应于所述具有GPS模块的传感器发送的脉冲信号,根据最新接收到的所述推荐定位信息中的UTC时间对本地时钟进行校准,所述脉冲信号是所述具有GPS模块的传感器按照第二预设频率周期性发送的,所述第一预设频率高于所述第二预设频率。
进一步,所述多个传感器还包括第一传感器、第二传感器,其中,所述第一传感器和所述第二传感器的类型不同,所述根据本地时钟为不包含时间戳的传感器数据添加时间戳,包括:
接收所述第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;
在所述数据包中的数据采集角度与所述第二传感器的安装角度的情况下,触发所述第二传感器采集数据,并在该数据上添加时间戳。
进一步,所述多个传感器还包括第一传感器、多个第二传感器,其中,每个所述第二传感器的安装角度不同,所述第一传感器和所述第二传感器的类型不同,
所述根据本地时钟为不包含时间戳的传感器数据添加时间戳,包括:
接收所述第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;
在所述数据采集角度与任意一个所述第二传感器的安装角度相同的情况下,触发相同角度的所述第二传感器采集数据,并在该数据上添加时间戳。
进一步,所述从已接收的传感器数据中筛选出与所述主传感器的传感器数据的时间戳在同一预设时间范围内的数据,并将其打包发送到应用端,包括:
分别将每个传感器发送的传感器数据按照时间顺序存储到对应的存储空间中;
获取主传感器对应的存储空间中的第一帧传感器数据的时间戳,所述第一帧传感器数据为所述主传感器对应的存储空间中时间戳距当前时间最远的传感器数据;
从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,并将时间戳在同一预设时间范围内的传感器数据打包发送到应用端。
进一步,在一些实施例中,获取所述主传感器对应的存储空间中的第一帧传感器数据的时间戳,包括:
锁死所述主传感器对应的存储空间;
拷贝所述主传感器对应的存储空间中的所述第一帧传感器数据至预设变量,得到所述第一帧传感器数据的时间戳;
删除所述主传感器对应的存储空间中的所述第一帧传感器数据;
解锁所述主传感器对应的存储空间。
进一步,所述从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,并将时间戳在同一预设时间范围内的传感器数据打包发送到应用端,包括:
对除所述主传感器之外的传感器对应的存储空间进行遍历;
针对除所述主传感器之外的每一个传感器,确定该传感器与所述主传感器之间的同步时间阈值,并从该传感器对应的存储空间中筛选目标传感器数据,所述目标传感器数据的时间戳与所述第一帧传感器数据的时间戳之间的差值在所述同步时间阈值内;
在除所述主传感器之外的每一个传感器对应的存储空间中都筛选出所述目标传感器数据的情况下,将筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端,所述主传感器与其他传感器之间的同步时间阈值都在预设时间范围内。
进一步,所述从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,还包括
在有至少一个除所述主传感器之外的传感器对应的存储空间中未筛选出所述目标传感器数据的情况下,判断对除所述主传感器之外的传感器对应的存储空间进行遍历的次数是否超过阈值;
若超过阈值,将已筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端;
若未超过阈值,在预设延时时间之后刷新每个传感器对应的存储空间,重新对除所述主传感器之外的传感器对应的存储空间进行遍历。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
上述各个实施例之间可任意组合,对所公开的实施例的上述说明,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种多源数据同步处理方法,其特征在于,应用于数据采集设备,所述方法包括:
接收具有GPS模块的传感器发送的授时信号,对本地时钟进行校准;
接收多个传感器发送的传感器数据,其中,多个传感器包括主传感器,多个传感器中至少有一个传感器发送的传感器数据不包含时间戳;
根据本地时钟为不包含时间戳的传感器数据添加时间戳;
从已接收的传感器数据中筛选出与所述主传感器的传感器数据的时间戳在同一预设时间范围内的传感器数据,并将其打包发送到应用端;
其中,所述多个传感器还包括第一传感器、第二传感器,其中,所述第一传感器和所述第二传感器的类型不同,
所述根据本地时钟为不包含时间戳的传感器数据添加时间戳,包括:
接收所述第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;
在所述数据采集角度与所述第二传感器的安装角度相同的情况下,触发所述第二传感器采集数据,并在该数据上添加时间戳;
或者,
所述多个传感器还包括第一传感器、多个第二传感器,其中,每个所述第二传感器的安装角度不同,所述第一传感器和所述第二传感器的类型不同,
所述根据本地时钟为不包含时间戳的传感器数据添加时间戳,包括:
接收所述第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;
在所述数据采集角度与任意一个所述第二传感器的安装角度相同的情况下,触发相同角度的所述第二传感器采集数据,并在该数据上添加时间戳。
2.根据权利要求1所述的方法,其特征在于,所述接收具有GPS模块的传感器发送的授时信号,对本地时钟进行校准,包括:
接收所述具有GPS模块的传感器按照第一预设频率周期性发送的包含UTC时间的推荐定位信息;
响应于所述具有GPS模块的传感器发送的脉冲信号,根据最新接收到的所述推荐定位信息中的UTC时间对本地时钟进行校准,所述脉冲信号是所述具有GPS模块的传感器按照第二预设频率周期性发送的,所述第一预设频率高于所述第二预设频率。
3.根据权利要求1所述的方法,其特征在于,所述从已接收的传感器数据中筛选出与所述主传感器的传感器数据的时间戳在同一预设时间范围内的数据,并将其打包发送到应用端,包括:
分别将每个传感器发送的传感器数据按照时间顺序存储到对应的存储空间中;
获取所述主传感器对应的存储空间中的第一帧传感器数据的时间戳,所述第一帧传感器数据为所述主传感器对应的存储空间中时间戳距当前时间最远的传感器数据;
从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,并将时间戳在同一预设时间范围内的传感器数据打包发送到应用端。
4.根据权利要求3所述的方法,其特征在于,获取所述主传感器对应的存储空间中的第一帧传感器数据的时间戳,包括:
锁死所述主传感器对应的存储空间;
拷贝所述主传感器对应的存储空间中的所述第一帧传感器数据至预设变量,得到所述第一帧传感器数据的时间戳;
删除所述主传感器对应的存储空间中的所述第一帧传感器数据;
解锁所述主传感器对应的存储空间。
5.根据权利要求3所述的方法,其特征在于,所述从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,并将时间戳在同一预设时间范围内的传感器数据打包发送到应用端,包括:
对除所述主传感器之外的传感器对应的存储空间进行遍历;
针对除所述主传感器之外的每一个传感器,确定该传感器与所述主传感器之间的同步时间阈值,并从该传感器对应的存储空间中筛选目标传感器数据,所述目标传感器数据的时间戳与所述第一帧传感器数据的时间戳之间的差值在所述同步时间阈值内;
在除所述主传感器之外的每一个传感器对应的存储空间中都筛选出所述目标传感器数据的情况下,将筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端,所述主传感器与其他传感器之间的同步时间阈值都在预设时间范围内。
6.根据权利要求5所述的方法,其特征在于,所述从其他传感器对应的存储空间中筛选出与所述第一帧传感器数据的时间戳在同一预设时间范围内的传感器数据,还包括:
在有至少一个除所述主传感器之外的传感器对应的存储空间中未筛选出所述目标传感器数据的情况下,判断对除所述主传感器之外的传感器对应的存储空间进行遍历的次数是否超过阈值;
若超过阈值,将已筛选出的时间戳在同一预设时间范围内的传感器数据打包发送到应用端;
若未超过阈值,在预设延时时间之后刷新每个传感器对应的存储空间,重新对除所述主传感器之外的传感器对应的存储空间进行遍历。
7.一种多源数据同步处理装置,其特征在于,应用于数据采集设备,所述装置包括:
时钟校准单元,用于接收具有GPS模块的传感器发送的授时信号,对本地时钟进行校准;
数据接收单元,用于接收多个传感器发送的传感器数据,其中,多个传感器包括主传感器,多个传感器中至少有一个传感器发送的传感器数据不包含时间戳;
时间戳添加单元,用于根据本地时钟为不包含时间戳的传感器数据添加时间戳;
同步处理单元,用于从已接收的传感器数据中筛选出与所述主传感器的传感器数据的时间戳在同一预设时间范围内的传感器数据,并将其打包发送到应用端;
其中,所述多个传感器还包括第一传感器、第二传感器,其中,所述第一传感器和所述第二传感器的类型不同,所述时间戳添加单元具体用于接收所述第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;在所述数据采集角度与所述第二传感器的安装角度相同的情况下,触发所述第二传感器采集数据,并在该数据上添加时间戳;
或者,所述多个传感器还包括第一传感器、多个第二传感器,其中,每个所述第二传感器的安装角度不同,所述第一传感器和所述第二传感器的类型不同,所述时间戳添加单元具体用于接收所述第一传感器发送的携带有数据采集角度和时间戳的数据包,所述数据包中的时间戳为所述第一传感器根据所述具有GPS模块的传感器发送的授时信号对本地时钟校准后,根据本地时钟生成;在所述数据采集角度与任意一个所述第二传感器的安装角度相同的情况下,触发相同角度的所述第二传感器采集数据,并在该数据上添加时间戳。
8.一种多源数据同步处理系统,其特征在于,包括:数据采集设备与多个传感器;
所述数据采集设备分别与每个所述传感器通信连接;
多个所述传感器中至少包括一个具有GPS模块的传感器;
所述数据采集设备,用于执行权利要求1~6中任意一项所述的多源数据同步处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111491962.8A CN114172610B (zh) | 2021-12-08 | 2021-12-08 | 一种多源数据同步处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111491962.8A CN114172610B (zh) | 2021-12-08 | 2021-12-08 | 一种多源数据同步处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114172610A CN114172610A (zh) | 2022-03-11 |
CN114172610B true CN114172610B (zh) | 2024-05-07 |
Family
ID=80484601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111491962.8A Active CN114172610B (zh) | 2021-12-08 | 2021-12-08 | 一种多源数据同步处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114172610B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102421187A (zh) * | 2011-12-01 | 2012-04-18 | 北京航天测控技术有限公司 | 一种无线传感器网络的高精度时钟同步方法 |
CN102540993A (zh) * | 2010-12-23 | 2012-07-04 | 北京时代凌宇科技有限公司 | 一种水文数据监控系统 |
CN110858786A (zh) * | 2018-08-24 | 2020-03-03 | 百度(美国)有限责任公司 | 用于自动驾驶车辆的时间源排序系统 |
CN110857099A (zh) * | 2018-08-24 | 2020-03-03 | 百度(美国)有限责任公司 | 用于自动驾驶车辆的时间源恢复系统 |
CN111132201A (zh) * | 2020-01-09 | 2020-05-08 | 华南理工大学 | 一种基于uwb的无线测量系统 |
CN111309094A (zh) * | 2020-02-06 | 2020-06-19 | 上海图趣信息科技有限公司 | 一种传感器设备采集数据的同步板卡及方法 |
CN111934843A (zh) * | 2020-07-31 | 2020-11-13 | 深圳市智绘科技有限公司 | 一种面向智能无人系统的多传感器数据同步采集方法 |
CN112672415A (zh) * | 2020-12-25 | 2021-04-16 | 之江实验室 | 多传感器时间同步方法、装置、系统、电子设备及介质 |
CN113678079A (zh) * | 2019-01-22 | 2021-11-19 | 威力登激光雷达美国有限公司 | 从车辆传感器和相机阵列生成结构化地图数据 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9407883B2 (en) * | 2014-01-21 | 2016-08-02 | Vibrado Technologies, Inc. | Method and system for processing a video recording with sensor data |
US9785150B2 (en) * | 2015-12-11 | 2017-10-10 | Uber Technologies, Inc. | Formatting sensor data for use in autonomous vehicle communications platform |
-
2021
- 2021-12-08 CN CN202111491962.8A patent/CN114172610B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102540993A (zh) * | 2010-12-23 | 2012-07-04 | 北京时代凌宇科技有限公司 | 一种水文数据监控系统 |
CN102421187A (zh) * | 2011-12-01 | 2012-04-18 | 北京航天测控技术有限公司 | 一种无线传感器网络的高精度时钟同步方法 |
CN110858786A (zh) * | 2018-08-24 | 2020-03-03 | 百度(美国)有限责任公司 | 用于自动驾驶车辆的时间源排序系统 |
CN110857099A (zh) * | 2018-08-24 | 2020-03-03 | 百度(美国)有限责任公司 | 用于自动驾驶车辆的时间源恢复系统 |
CN113678079A (zh) * | 2019-01-22 | 2021-11-19 | 威力登激光雷达美国有限公司 | 从车辆传感器和相机阵列生成结构化地图数据 |
CN111132201A (zh) * | 2020-01-09 | 2020-05-08 | 华南理工大学 | 一种基于uwb的无线测量系统 |
CN111309094A (zh) * | 2020-02-06 | 2020-06-19 | 上海图趣信息科技有限公司 | 一种传感器设备采集数据的同步板卡及方法 |
CN111934843A (zh) * | 2020-07-31 | 2020-11-13 | 深圳市智绘科技有限公司 | 一种面向智能无人系统的多传感器数据同步采集方法 |
CN112672415A (zh) * | 2020-12-25 | 2021-04-16 | 之江实验室 | 多传感器时间同步方法、装置、系统、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114172610A (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111381487B (zh) | 多传感器同步授时系统、方法、装置及电子设备 | |
CN109587405B (zh) | 时间同步方法和装置 | |
CN109729277B (zh) | 多传感器采集时间戳同步装置 | |
KR101722068B1 (ko) | 디바이스의 다수의 센서들로부터 수신된 데이터를 동기화시키는 방법들 및 시스템들 | |
CN110139066B (zh) | 一种传感器数据的传输系统、方法和装置 | |
CN111309094A (zh) | 一种传感器设备采集数据的同步板卡及方法 | |
WO2023093054A1 (zh) | 一种数据处理的方法、装置、系统、设备及存储介质 | |
CN110198415B (zh) | 一种图像时间戳的确定方法和装置 | |
CN103797735A (zh) | 用于使车辆的车载电网中的网络参与者同步的方法和装置 | |
JP2007263563A (ja) | カメラモジュール | |
CN114614934B (zh) | 一种时间同步触发装置及方法 | |
CN109729278B (zh) | 可设定各通道传输速率的远程多传感器同步接收装置 | |
US10623292B2 (en) | Receiver and event-detection-time-point estimation method | |
US11120527B2 (en) | Vehicular camera and camera system | |
CN110139041B (zh) | 远程多传感信号同步采集方法 | |
CN111200698B (zh) | 远程多传感器多通道接收方法 | |
CN114172610B (zh) | 一种多源数据同步处理方法、装置及系统 | |
CN116342989A (zh) | 一种多传感器数据融合方法 | |
CN111464736A (zh) | 服务器、服务器控制方法、车辆、车辆控制方法以及存储程序的存储介质 | |
CN116830487A (zh) | 车路协同时间同步方法、车路协同时间同步装置及系统 | |
KR101952748B1 (ko) | Tdma 네트워크 노드의 시간 동기화 장치 및 방법 | |
US20170371035A1 (en) | Protection and guidance gear or equipment with identity code and ip address | |
CN116015523A (zh) | 一种时间同步的方法、装置及电子设备 | |
CN113887557A (zh) | 一种多传感器数据融合的方法、系统、设备和存储介质 | |
CN114285517A (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 |