CN108401003A - 雷达数据的同步方法、装置、设备和计算机存储介质 - Google Patents
雷达数据的同步方法、装置、设备和计算机存储介质 Download PDFInfo
- Publication number
- CN108401003A CN108401003A CN201710069272.0A CN201710069272A CN108401003A CN 108401003 A CN108401003 A CN 108401003A CN 201710069272 A CN201710069272 A CN 201710069272A CN 108401003 A CN108401003 A CN 108401003A
- Authority
- CN
- China
- Prior art keywords
- counter
- radar
- equipment
- driving
- counting
- 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.)
- Granted
Links
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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明提供了一种雷达数据的同步方法、装置、设备和计算机存储介质,其中雷达数据的同步方法包括:设置计数器;参考雷达设备所对应的雷达驱动以预设的时间间隔对计数器的计数进行更新;各雷达驱动缓存从对应雷达设备中所获取的数据包;各雷达驱动检测到所述计数器的计数更新后,发布消息,该消息包括从上次计数器更新至本次计数器更新的时段内所缓存的数据包。本发明设置计数器,以该计数器作为各雷达驱动发布消息的统一时机,实现在数据源头对雷达消息进行同步发布,从而减少了消息时延,并增加了消息时延的稳定性。
Description
【技术领域】
本发明涉及自动驾驶技术领域,尤其涉及一种雷达数据的同步方法、装置、设备和计算机存储介质。
【背景技术】
在自动驾驶技术中,自动驾驶汽车通过车载激光雷达设备对周围环境进行扫描后,输出一帧帧点云数据,然后利用障碍物识别算法,针对由车载激光雷达设备所输出的点云数据识别出自动驾驶汽车周围的行人、自行车、小汽车和卡车等,从而为车载决策控制算法提供数据支持。可见激光雷达设备是自动驾驶系统中最重要的传感器之一。而为了增强对周围环境的感知能力,自动驾驶汽车往往会采用多雷达组合的技术方案,同时对多个雷达设备所采集的数据进行分析处理。然而每个雷达设备都是一个独立的运转设备,因此无法在硬件层实现对多个雷达统一的调度控制;为了保证多雷达之间的数据同步,只能在软件层实现一种软同步的方案。
现有技术提供了一种基于“相邻时间”的消息同步方案,该方案在进行多雷达之间的消息同步时,利用消息过滤器将多个雷达设备中先到的雷达消息进行缓存,然后再等待其他雷达设备后到的消息,当所有雷达设备的消息都到达后再进行发布消息。其中。雷达消息为雷达驱动对雷达设备在预设时间间隔内所获取数据包进行打包获得的。例如,在自动驾驶车辆中有4个雷达设备,当其中一个雷达设备将消息发送至消息过滤器,而其他雷达设备还没有将消息发送至消息过滤器时,也就是其他雷达设备还没有完成数据获取,则消息过滤器会将这个已发送的消息进行缓存并等待其他3个雷达设备所发送的消息,当只有4个雷达设备都完成数据获取并将消息发送至消息过滤器时,消息过滤器才会将该4个雷达所发送的消息进行发布。因此,在实时性要求较高的自动驾驶系统中,该方案存在由先到的雷达消息等待后到的雷达消息而造成消息时延大的问题,且每个雷达设备都是独立的运转设备,因此由于不同雷达设备自身使得等待雷达消息的时间不确定会造成消息时延不稳定的问题。因此亟需提供一种消息时延小、消息时延稳定且能够在数据源头实现消息同步的雷达数据的同步方法、装置、设备和计算机存储介质。
【发明内容】
有鉴于此,本发明提供了一种雷达数据的同步方法、装置、设备和计算机存储介质,用于在数据源头实现雷达消息的同步发布,进而减少消息时延,并增加消息时延的稳定性。
本发明为解决技术问题而采用的技术方案是提供一种雷达数据的同步方法,所述方法包括:设置计数器;参考雷达设备所对应的雷达驱动以预设的时间间隔对计数器的计数进行更新;各雷达驱动缓存从对应雷达设备中所获取的数据包;各雷达驱动检测到所述计数器的计数更新后,发布消息,该消息包括从上次计数器更新至本次计数器更新的时段内所缓存的数据包。
根据本发明一优选实施例,所述设置计数器包括:在nodelet manager主线程中设置计数器;将所有雷达驱动按照nodelet节点的形式进行加载;在nodelet manager主线程中设置计数器。
根据本发明一优选实施例,在所述参考雷达设备所对应的雷达驱动以预设的时间间隔对计数器的计数进行更新之前还包括:设定参考雷达设备。
根据本发明一优选实施例,所述参考雷达设备包括:所有雷达设备中性能最好的雷达设备或者所有雷达设备中完成主要任务的雷达设备。
根据本发明一优选实施例,所述各雷达驱动检测所述计数器的计数更新包括:各雷达驱动记录上次发布消息时计数器所对应的计数数值;各雷达驱动以预设的时间间隔循环读取计数器的计数数值,若检测到当前计数器对应的计数数值与上次发布消息时计数器所对应的计数数值不同时,则确定计数器的计数发生更新。
根据本发明一优选实施例,所述各雷达驱动检测所述计数器的计数更新包括:参考雷达设备所对应的雷达驱动对计数器的计数进行更新后,确定检测到所述计数器的计数更新;非参考雷达设备所对应的雷达驱动记录上次发布消息时计数器所对应的计数数值,若检测到当前计数器对应的计数数值与上次发布消息时计数器所对应的计数数值不同时,则确定计数器的计数发生更新。
根据本发明一优选实施例,所述发布消息包括:各雷达驱动将从上次计数器更新至本次计数器更新的时段内所缓存的数据包进行打包,发布包含打包处理后数据的消息。
本发明为解决技术问题而采用的技术方案是提供一种雷达数据的同步装置,所述装置设置于雷达设备所对应的雷达驱动,所述装置包括:缓存单元,用于缓存从所述雷达设备中所获取的数据包;检测单元,用于检测预先设置的计数器是否更新;发布单元,用于所述检测单元检测到所述计数器的计数更新后,发布消息,该消息包括从上次计数器更新至本次计数器更新的时段内所缓存的数据包;其中所述计数器的计数由参考雷达所对应的雷达驱动以预设的时间间隔进行更新。
根据本发明一优选实施例,所述计数器在nodelet manager主线程中设置;所述雷达驱动按照nodelet节点的形式被加载。
根据本发明一优选实施例,所述参考雷达设备为:所有雷达设备中性能最好的雷达设备或者所有雷达设备中完成主要任务的雷达设备。
根据本发明一优选实施例,当所述雷达设备为参考雷达设备时,该装置还包括:更新单元,用于以预设的时间间隔对计数器的计数进行更新。
根据本发明一优选实施例,所述检测单元,具体执行:记录上次发布消息时计数器所对应的计数数值;以预设的时间间隔循环读取计数器的计数数值,若检测到当前计数器对应的计数数值与上次发布消息时计数器所对应的计数数值不同时,则确定计数器的计数发生更新。
根据本发明一优选实施例,若所述雷达设备为参考雷达设备,则所述检测单元在所述更新单元对计数器的计数进行更新后,确定检测到所述计数器的计数更新;若所述雷达设备为非参考雷达设备,则所述检测单元记录上次发布消息时计数器所对应的计数数值,若检测到当前计数器对应的计数数值与上次发布消息时计数器所对应的计数数值不同时,则确定计数器的计数发生更新。
由以上技术方案可以看出,本发明通过设置计数器,以该计数器作为各雷达驱动发布消息的统一时机,从而避免了先到的雷达消息等待后到的雷达消息、所等待雷达消息的时间不确定等问题,实现在数据源头对雷达消息进行同步发布,从而减少了消息时延,并增加了消息时延的稳定性。
【附图说明】
图1为本发明一实施例提供的方法流程图。
图2为本发明一实施例提供的设置于参考雷达设备所对应雷达驱动中的装置结构图。
图3为本发明一实施例提供的设置于非参考雷达设备所对应雷达驱动中的装置结构图。
图4为本发明一实施例提供的计算机系统/服务器的框图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
激光雷达由于其自身所具有的分辨率高、抗干扰能力强、所获取的信息丰富以及可全天时工作等特性,能够对复杂的交通环境进行准确感知,因此激光雷达是实现自动驾驶或者无人驾驶的重要传感器之一。而为了进一步增强对周边环境的感知能力以及提升自动驾驶或者无人驾驶的安全性,智能车辆通常会采用多雷达组合的技术方案,同时对多个雷达设备所发送的消息进行分析处理,因此本发明提供了一种雷达数据的同步方法,设置计数器以作为各雷达驱动发布消息的时机,用以在数据源头实现消息的同步发布,进而减少消息时延,并增加消息时延的稳定性。
图1是本发明一实施例提供的方法流程图,如图1中所示,该方法可以主要包括以下步骤:
在101中,设置计数器。
在本步骤中,使用基于ROS(Robot Operating System)nodelet的节点部署方案,将所有雷达驱动按照nodelet节点的形式进行加载。使用nodelet节点的形式能够降低数据传输时的时间损耗,因此将各雷达驱动按照nodelet节点的形式进行加载,即每个雷达驱动都是一个nodelet节点。由于所设置的计数器是各雷达驱动发布消息的统一时机,各雷达驱动需要访问计数器,因此将该计数器设置于nodelet manager主线程中。该计数器是由用户自定义设置的,其主要用于作为各雷达驱动发布消息的时机。
在本发明中,每个雷达设备对应一个雷达驱动,用于获取雷达设备所广播的数据包并进行缓存,还用于在合适的时机发布从上次计数器更新至本次计数器更新的时段内所缓存的数据包。在nodelet manager主线程中所设置的计数器由参考雷达设备所对应的雷达驱动进行控制,且各雷达驱动会对该计数器的状态进行实时检测,对于各雷达驱动结合计数器状态而发布消息的内容将在下文进行详述。
在102中,参考雷达设备所对应的雷达驱动以预设的时间间隔对计数器的计数进行更新。
在本步骤之前,需要首先设定参考雷达设备,即从所有雷达设备中选取一个作为参考雷达设备,则其他的雷达设备为非参考雷达设备。
可选地,在本实施例的一个具体实现过程中,在设定参考雷达设备时,可以为选取性能最好的雷达设备作为参考雷达设备。例如激光雷达设备中有64线激光雷达设备和16线激光雷达设备,则选取性能最好的64线激光雷达设备作为参考雷达设备。还可以为选取完成主要任务的雷达设备作为参考雷达设备,例如可以选取位于自动驾驶车辆车顶的雷达设备作为参考雷达设备。在设定参考雷达设备时,可以根据在不同应用场景下的实际需要,由用户自定义选取不同的雷达设备作为参考雷达设备。
在本步骤中,计数器由参考雷达设备所对应的雷达驱动进行更新。在完成设定参考雷达设备后,在预设的时间间隔内由参考雷达设备所对应的雷达驱动对位于nodeletmanager主线程中的计数器进行更新。该预设的时间间隔设置于参考雷达设备所对应的雷达驱动中,当达到该预设时间间隔的时间时,参考雷达设备所对应雷达驱动便会对位于nodelet manager主线程中的计数器进行更新。
可选地,在本实施例的一个具体实现过程中,该预设的时间间隔可以为激光雷达设备旋转一圈所用的时间,也可以为激光雷达设备旋转n圈所用的时间,该预设的时间间隔可以由用户根据不同的应用场景进行自定义设置。在现有的应用场景中,为了确保雷达设备所获取的数据真实有效,优先选用激光雷达设备旋转一圈所用的时间作为预设的时间间隔。
参考雷达设备所对应的雷达驱动在对位于nodelet manager主线程中计数器进行计数更新时的具体过程为:由参考雷达设备所对应的雷达驱动对计数器进行计数更新时,对位于nodelet manager主线程中计数器的计数进行+1的操作。
举例来说,若选取的参考雷达设备为位于车顶的激光雷达设备,预设的更新计数器计数的时间间隔为该参考雷达设备旋转一圈的时间,即达到该预设的时间间隔后,该参考雷达设备所对应的雷达驱动对位于nodelet manager主线程中的计数器进行计数更新,若计数器在本次计数更新之前的数值为6,则在本次计数更新后的数值变为7,再下一次计数更新后的数值变为8,以此持续进行。
在103中,各雷达驱动缓存从对应雷达设备中所获取的数据包。
每个雷达设备对应一个雷达驱动,每个雷达驱动都在不间断地获取由雷达设备所广播的数据包。在本发明中,计数器计数更新的时间间隔一般会远大于雷达设备广播一个数据包的时间,而在计数器计数更新的时间间隔内,雷达设备会向雷达驱动广播多个数据包,因此各雷达驱动需要对由雷达设备所广播的数据包进行缓存。
在104中,各雷达驱动检测到所述计数器的计数更新后,发布消息,该消息包括从上次计数器更新至本次计数器更新的时段内所缓存的数据包。
在本步骤中,各雷达驱动包含参考雷达驱动和非参考雷达驱动,雷达可以包含所有的雷达设备,例如一辆自动驾驶汽车的雷达系统中包含的所有雷达设备。其中,每个雷达设备所对应的雷达驱动都在不间断地获取由雷达设备所广播的数据包并进行缓存,同时,各雷达驱动还在不断地检测计数器的状态。
在本步骤中,各雷达驱动在检测计数器的状态时,需要记录上次发送消息时计数器所对应的计数数值,然后以预设的时间间隔对计数器上的计数数值进行循环读取,并在读取过程中将当前计数器上的计数数值与上次发送消息时计数器所对应的计数数值进行比较。各雷达驱动在读取计数器的计数数值时所设置的时间间隔与计数器进行计数更新的时间间隔不同,各雷达驱动在读取计数器的计数数值时所设置的时间间隔要远小于计数器进行计数更新的时间间隔,可以认为是各雷达驱动对计数器的状态在进行不间断地检测。若检测到当前计数器的计数数值与上次所记录的计数器的计数数值不同时,则确定是计数器的计数发生了更新。当计数器的计数发生更新时,各雷达驱动便一同发布消息。
可选地,在本实施的一个具体实现过程中,参考雷达设备所对应的雷达驱动可以为在检测到计数器的计数更新后发布消息,也可以为参考雷达设备所对应的雷达驱动不需要对计数器的状态进行检测,在其完成对计数器的计数进行更新的操作后,确定检测到计数器的计数更新,与其他雷达驱动一同发布消息。
在本步骤中,各雷达驱动所发布的消息为从上次计数器更新至本次计数器更新的时段内所缓存的数据包进行打包,发布包含打包处理后数据的消息。也就是说在计数器的计数更新时,参考雷达设备所对应的雷达驱动发布消息,其他雷达设备所对应的雷达驱动也会一同发布消息,因此无需像现有技术那样,需要等待每个雷达设备完成数据获取再一同发布消息。
在本步骤之后,各雷达驱动所发布的消息传输到点云解算节点,由点云解算节点对所获取的消息进行解析处理,从而形成点云数据,以供其他系统进行利用。诸如自动驾驶车辆可以根据所形成的点云数据对周边环境中存在的物体进行识别。
下面对本发明实施例提供的装置结构图进行详述。如图2中所示,所述装置设置于参考雷达设备所对应的雷达驱动中,包括缓存单元21、更新单元22、检测单元23、以及发布单元24。
缓存单元21,用于缓存从参考雷达设备中所获取的数据包。
参考雷达设备需要预先设定,即从所有雷达设备中选取一个作为参考雷达设备,则其他的雷达设备为非参考雷达设备。其中,所有雷达设备可以为一辆自动驾驶汽车的雷达系统中包含的所由雷达设备。
可选地,在本实施例的一个具体实现过程中,在设定参考雷达设备时,可以为选取性能最好的雷达设备作为参考雷达设备。例如激光雷达设备中有64线激光雷达设备和16线激光雷达设备,则选取性能最好的64线激光雷达设备作为参考雷达设备。还可以为选取完成主要任务的雷达设备作为参考雷达设备,例如可以选取位于自动驾驶车辆车顶的雷达设备作为参考雷达设备。在设定参考雷达设备时,可以根据用户在不同应用场景下的实际需要自定义选取不同的雷达设备作为参考雷达设备。
每个雷达设备对应一个雷达驱动,每个雷达设备都在不间断地向对应的雷达驱动广播数据包。因此,设置于参考雷达设备所对应雷达驱动中的缓存单元21用于参考雷达设备所对应的雷达驱动将从参考雷达设备中所获取的数据包进行缓存。
更新单元22,用于以预设的时间间隔对计数器的计数进行更新。
更新单元22所更新的计数器是预先设置的。使用基于ROS(Robot OperatingSystem)nodelet的节点部署方案,所有雷达驱动按照nodelet节点的形式被加载。使用nodelet节点的形式能够降低数据传输时的时间损耗,因此将各雷达驱动按照nodelet节点的形式进行加载,即每个雷达驱动都是一个nodelet节点。由于所设置的计数器是各雷达驱动发布消息的统一时机,各雷达驱动需要访问计数器,因此将该计数器设置于nodeletmanager主线程中。
设置于参考雷达设备所对应雷达驱动中的更新单元22,以预设的时间间隔对计数器进行更新。当达到所预设的时间间隔时,更新单元22便对位于nodelet manager主线程中的计数器进行更新,执行对位于nodelet manager主线程中计数器的计数进行+1的操作。
可选地,在本实施例的一个具体实现过程中,该预设的时间间隔可以为激光雷达设备旋转一圈所用的时间,也可以为激光雷达设备旋转n圈所用的时间,该预设的时间间隔可以根据不同的应用场景,由用户进行自定义设置。在现有的应用场景中,为了确保雷达设备所获取的数据真实有效,优先选用激光雷达设备旋转一圈所用的时间作为预设的时间间隔。
检测单元23,用于检测预先设置的计数器是否更新。
检测单元23在用于检测预先设置的计数器是否更新时,会记录雷达驱动上次发布消息时计数器所对应的计数数值,然后以预设的时间间隔对计数器上的计数数值进行循环读取,并在读取过程中将当前计数器上的计数数值与上次发送消息时计数器所对应的计数数值进行比较。检测单元23在读取计数器的计数数值时所设置的时间间隔与计数器进行计数更新的时间间隔不同,检测单元23在读取计数器的计数数值时所设置的时间间隔要远小于计数器进行计数更新的时间间隔,可以认为是检测单元23对计数器的状态在进行不间断地检测。若发现当前计数器的计数数值与上次所记录的计数器的计数数值不同时,则确定是计数器的计数发生了更新。
可选地,在本实施的一个具体实现过程中,对于参考雷达设备所对应的雷达驱动来说,可以为检测计数器的计数更新后发布消息,也可以为参考雷达设备所对应的雷达驱动不需要对计数器的状态进行检测,在其完成对计数器的计数进行更新的操作后,确定检测到所述计数器的计数更新,与其他雷达驱动一同发布消息。
发布单元24,用于检测到所述计数器的计数更新后,发布消息,该消息包括从上次计数器更新至本次计数器更新的时段内所缓存的数据包。
在检测单元23检测到计数器的计数更新后,发布单元24根据在上次计数器更新至本次计数器更新的时段内,将由缓存单元21所缓存的数据包进行打包后的数据作为一条消息进行发布。
在发布单元24发布消息后,由点云解算节点对发布单元24所发布的消息进行解析处理,形成点云数据,以供其他系统进行利用。诸如自动驾驶车辆可以根据所形成的点云数据对周边环境中存在的物体进行识别。
下面对本发明另一实施例提供的装置结构图进行详述。如图3中所示,所述装置设置于非参考雷达设备所对应的雷达驱动中,包括缓存单元31、检测单元32、以及发布单元33。
缓存单元31,用于缓存从非参考雷达设备中所获取的数据包。
每个雷达设备对应一个雷达驱动,每个雷达设备都在不间断地向对应的雷达驱动广播数据包。因此,设置于非参考雷达设备所对应雷达驱动中的缓存单元31用于非参考雷达设备所对应的雷达驱动将从非参考雷达设备中所获取的数据包进行缓存。
检测单元32,用于检测预先设置的计数器是否更新。
检测单元32在用于检测预先设置的计数器是否更新时,会记录雷达驱动上次发布消息时计数器所对应的计数数值,然后以预设的时间间隔对计数器上的计数数值进行循环读取,并在读取过程中将当前计数器上的计数数值与上次发送消息时计数器所对应的计数数值进行比较。检测单元32在读取计数器的计数数值时所设置的时间间隔与计数器进行计数更新的时间间隔不同,检测单元32在读取计数器的计数数值时所设置的时间间隔要远小于计数器进行计数更新的时间间隔,可以认为是检测单元32对计数器的状态在进行不间断地检测。若发现当前计数器的计数数值与上次所记录的计数器的计数数值不同时,则确定是计数器的计数发生了更新。
发布单元33,用于检测到所述计数器的计数更新后,发布消息,该消息包括从上次计数器更新至本次计数器更新的时段内所缓存的数据包。
在检测单元32检测到计数器的计数更新后,发布单元33根据在上次计数器更新至本次计数器更新的时段内,将由缓存单元31所缓存的数据包进行打包后的数据作为一条消息进行发布。
更具体来说,在每次计数器的计数更新时,位于参考雷达设备所对应雷达驱动中的发布单元24使参考雷达所对应的雷达驱动发布消息,位于非参考雷达设备所对应雷达驱动中的发布单元33也会使非参考雷达所对应的雷达驱动一同发布消息。即以计数器的计数更新的时间作为发布雷达消息的统一时机,因此无需像现有技术那样,需要等待每个雷达设备完成数据获取再一同发布消息。
在发布单元33发布消息后,由点云解算节点对发布单元33所发布的消息进行解析处理,形成点云数据,以供其他系统进行利用。诸如自动驾驶车辆可以根据所形成的点云数据对周边环境中存在的物体进行识别。
图4示出了适于用来实现本发明实施方式的示例性计算机系统/服务器012的框图。图4显示的计算机系统/服务器012仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统/服务器012以通用计算设备的形式表现。计算机系统/服务器012的组件可以包括但不限于:一个或者多个处理器或者处理单元016,系统存储器028,连接不同系统组件(包括系统存储器028和处理单元016)的总线018。
总线018表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器012典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器012访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器028可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)030和/或高速缓存存储器032。计算机系统/服务器012可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统034可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线018相连。存储器028可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块042的程序/实用工具040,可以存储在例如存储器028中,这样的程序模块042包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块042通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器012也可以与一个或多个外部设备014(例如键盘、指向设备、显示器024等)通信,在本发明中,计算机系统/服务器012与外部雷达设备进行通信,还可与一个或者多个使得用户能与该计算机系统/服务器012交互的设备通信,和/或与使得该计算机系统/服务器012能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口022进行。并且,计算机系统/服务器012还可以通过网络适配器020与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器020通过总线018与计算机系统/服务器012的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器012使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元016通过运行存储在系统存储器028中的程序,从而执行各种功能应用以及数据处理,例如实现一种雷达数据的同步方法,可以包括:
设置计数器;
参考雷达所对应的雷达驱动以预设的时间间隔对计数器的计数进行更新;
各雷达驱动缓存从对应雷达设备中所获取的数据包;
各雷达驱动检测到所述计数器的计数更新后,发布消息,该消息包括从上次计数器更新至本次计数器更新的时段内所缓存的数据包。
上述的计算机程序可以设置于计算机存储介质中,即该计算机存储介质被编码有计算机程序,该程序在被一个或多个计算机执行时,使得一个或多个计算机执行本发明上述实施例中所示的方法流程和/或装置操作。例如,被上述一个或多个处理器执行的方法流程,可以包括:
设置计数器;
参考雷达设备所对应的雷达驱动以预设的时间间隔对计数器的计数进行更新;
各雷达驱动缓存从对应雷达设备中所获取的数据包;
各雷达驱动检测到所述计数器的计数更新后,发布消息,该消息包括从上次计数器更新至本次计数器更新的时段内所缓存的数据包。
随着时间、技术的发展,介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
由以上技术方案可以看出,本发明设置计数器,以该计数器作为各雷达驱动发布消息的统一时机,只要计数器发生更新,则各雷达驱动统一发布消息,从而避免了现有技术中只有在所有雷达设备都完成数据获取后才发布消息时所造成的消息时延大、消息时延不稳定等问题,实现在数据源头对雷达消息进行同步发布,从而减少了消息时延,并增加了消息时延的稳定性。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置、方法、设备和计算机存储介质,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种雷达数据的同步方法,其特征在于,所述方法包括:
设置计数器;
参考雷达设备所对应的雷达驱动以预设的时间间隔对计数器的计数进行更新;
各雷达驱动缓存从对应雷达设备中所获取的数据包;
各雷达驱动检测到所述计数器的计数更新后,发布消息,该消息包括从上次计数器更新至本次计数器更新的时段内所缓存的数据包。
2.根据权利要求1所述的方法,其特征在于,所述设置计数器包括:
在nodelet manager主线程中设置计数器;
将所有雷达驱动按照nodelet节点的形式进行加载;
在nodelet manager主线程中设置计数器。
3.根据权利要求1所述的方法,其特征在于,在所述参考雷达设备所对应的雷达驱动以预设的时间间隔对计数器的计数进行更新之前还包括:
设定参考雷达设备。
4.根据权利要求3所述的方法,其特征在于,所述参考雷达设备包括:所有雷达设备中性能最好的雷达设备或者所有雷达设备中完成主要任务的雷达设备。
5.根据权利要求1所述的方法,其特征在于,所述各雷达驱动检测所述计数器的计数更新包括:
各雷达驱动记录上次发布消息时计数器所对应的计数数值;
各雷达驱动以预设的时间间隔循环读取计数器的计数数值,若检测到当前计数器对应的计数数值与上次发布消息时计数器所对应的计数数值不同时,则确定计数器的计数发生更新。
6.根据权利要求1所述的方法,其特征在于,所述各雷达驱动检测所述计数器的计数更新包括:
参考雷达设备所对应的雷达驱动对计数器的计数进行更新后,确定检测到所述计数器的计数更新;
非参考雷达设备所对应的雷达驱动记录上次发布消息时计数器所对应的计数数值,若检测到当前计数器对应的计数数值与上次发布消息时计数器所对应的计数数值不同时,则确定计数器的计数发生更新。
7.根据权利要求1所述的方法,其特征在于,所述发布消息包括:
各雷达驱动将从上次计数器更新至本次计数器更新的时段内所缓存的数据包进行打包,发布包含打包处理后数据的消息。
8.一种雷达数据的同步装置,设置于雷达设备所对应的雷达驱动,其特征在于,所述装置包括:
缓存单元,用于缓存从所述雷达设备中所获取的数据包;
检测单元,用于检测预先设置的计数器是否更新;
发布单元,用于所述检测单元检测到所述计数器的计数更新后,发布消息,该消息包括从上次计数器更新至本次计数器更新的时段内所缓存的数据包;
其中所述计数器的计数由参考雷达设备所对应的雷达驱动以预设的时间间隔进行更新。
9.根据权利要求8所述的装置,其特征在于,所述计数器在nodelet manager主线程中设置;
所述雷达驱动按照nodelet节点的形式被加载。
10.根据权利要求8所述的装置,其特征在于,所述参考雷达设备为:所有雷达设备中性能最好的雷达设备或者所有雷达设备中完成主要任务的雷达设备。
11.根据权利要求8所述的装置,其特征在于,当所述雷达设备为参考雷达时,该装置还包括:
更新单元,用于以预设的时间间隔对计数器的计数进行更新。
12.根据权利要求8所述的装置,其特征在于,所述检测单元,具体执行:
记录上次发布消息时计数器所对应的计数数值;
以预设的时间间隔循环读取计数器的计数数值,若检测到当前计数器对应的计数数值与上次发布消息时计数器所对应的计数数值不同时,则确定计数器的计数发生更新。
13.根据权利要求11所述的装置,其特征在于,若所述雷达设备为参考雷达设备,则所述检测单元在所述更新单元对计数器的计数进行更新后,确定检测到所述计数器的计数更新;
若所述雷达设备为非参考雷达设备,则所述检测单元记录上次发布消息时计数器所对应的计数数值,若检测到当前计数器对应的计数数值与上次发布消息时计数器所对应的计数数值不同时,则确定计数器的计数发生更新。
14.根据权利要求8所述的装置,其特征在于,所述发布单元在发布消息时,具体执行:
将从上次计数器更新至本次计数器更新的时段内所缓存的数据包进行打包,发布包含打包处理后数据的消息。
15.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
16.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710069272.0A CN108401003B (zh) | 2017-02-08 | 2017-02-08 | 雷达数据的同步方法、装置、设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710069272.0A CN108401003B (zh) | 2017-02-08 | 2017-02-08 | 雷达数据的同步方法、装置、设备和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108401003A true CN108401003A (zh) | 2018-08-14 |
CN108401003B CN108401003B (zh) | 2021-01-22 |
Family
ID=63093959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710069272.0A Active CN108401003B (zh) | 2017-02-08 | 2017-02-08 | 雷达数据的同步方法、装置、设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108401003B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109560858A (zh) * | 2018-12-06 | 2019-04-02 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 高速实时数据采集传输模块 |
CN114978737A (zh) * | 2022-05-31 | 2022-08-30 | 北京万云科技开发有限公司 | 一种多普勒天气雷达数据的综合管理系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6456229B2 (en) * | 1999-12-13 | 2002-09-24 | University Corporation For Atmospheric Research | Bistatic radar network having incoherent transmitter operating in a scanning mode to identify scatterers |
US6690318B1 (en) * | 2002-12-27 | 2004-02-10 | General Atomics | Cellular radar |
CN1804654A (zh) * | 2006-01-24 | 2006-07-19 | 成都中科动态仪器有限公司 | 一种复合鉴相方法及其复合鉴相器 |
EP1611464B1 (en) * | 2003-03-24 | 2006-10-18 | Vaisala Oyj | System and method for spectral corrected lightning detection |
CN101866007A (zh) * | 2010-06-25 | 2010-10-20 | 北京理工大学 | 大气多参数探测激光雷达的信号采集处理系统 |
CN202735509U (zh) * | 2012-08-02 | 2013-02-13 | 成都远望科技有限责任公司 | 基于千兆网的雷达高速数据传输装置 |
CN102998656A (zh) * | 2012-10-11 | 2013-03-27 | 北京理工大学 | 一种基于频率步进的宽带分布式雷达时间同步方法 |
CN103630881A (zh) * | 2013-10-28 | 2014-03-12 | 武汉滨湖电子有限责任公司 | 一种分布式波形产生在线同步调整电路及方法 |
CN104112363A (zh) * | 2014-07-04 | 2014-10-22 | 西安交通大学 | 多传感数据时空同步方法及道路多传感数据车载采集系统 |
CN104580734A (zh) * | 2015-01-20 | 2015-04-29 | 宇龙计算机通信科技(深圳)有限公司 | 多系统设备的数据同步方法、数据同步系统和终端 |
CN105573325A (zh) * | 2016-01-22 | 2016-05-11 | 深圳市万兴利民科技有限公司 | 无人驾驶自行车的控制方法及系统 |
CN105676693A (zh) * | 2016-01-15 | 2016-06-15 | 武汉光庭科技有限公司 | 自动驾驶中车辆传感器的数据同步方法及系统 |
CN105913692A (zh) * | 2016-06-06 | 2016-08-31 | 北京威胜通达科技有限公司 | 一种飞行监视服务的方法及系统 |
US9537956B1 (en) * | 2015-12-11 | 2017-01-03 | Uber Technologies, Inc. | System for acquiring time-synchronized sensor data |
-
2017
- 2017-02-08 CN CN201710069272.0A patent/CN108401003B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6456229B2 (en) * | 1999-12-13 | 2002-09-24 | University Corporation For Atmospheric Research | Bistatic radar network having incoherent transmitter operating in a scanning mode to identify scatterers |
US6690318B1 (en) * | 2002-12-27 | 2004-02-10 | General Atomics | Cellular radar |
EP1611464B1 (en) * | 2003-03-24 | 2006-10-18 | Vaisala Oyj | System and method for spectral corrected lightning detection |
CN1804654A (zh) * | 2006-01-24 | 2006-07-19 | 成都中科动态仪器有限公司 | 一种复合鉴相方法及其复合鉴相器 |
CN101866007A (zh) * | 2010-06-25 | 2010-10-20 | 北京理工大学 | 大气多参数探测激光雷达的信号采集处理系统 |
CN202735509U (zh) * | 2012-08-02 | 2013-02-13 | 成都远望科技有限责任公司 | 基于千兆网的雷达高速数据传输装置 |
CN102998656A (zh) * | 2012-10-11 | 2013-03-27 | 北京理工大学 | 一种基于频率步进的宽带分布式雷达时间同步方法 |
CN103630881A (zh) * | 2013-10-28 | 2014-03-12 | 武汉滨湖电子有限责任公司 | 一种分布式波形产生在线同步调整电路及方法 |
CN104112363A (zh) * | 2014-07-04 | 2014-10-22 | 西安交通大学 | 多传感数据时空同步方法及道路多传感数据车载采集系统 |
CN104580734A (zh) * | 2015-01-20 | 2015-04-29 | 宇龙计算机通信科技(深圳)有限公司 | 多系统设备的数据同步方法、数据同步系统和终端 |
US9537956B1 (en) * | 2015-12-11 | 2017-01-03 | Uber Technologies, Inc. | System for acquiring time-synchronized sensor data |
CN105676693A (zh) * | 2016-01-15 | 2016-06-15 | 武汉光庭科技有限公司 | 自动驾驶中车辆传感器的数据同步方法及系统 |
CN105573325A (zh) * | 2016-01-22 | 2016-05-11 | 深圳市万兴利民科技有限公司 | 无人驾驶自行车的控制方法及系统 |
CN105913692A (zh) * | 2016-06-06 | 2016-08-31 | 北京威胜通达科技有限公司 | 一种飞行监视服务的方法及系统 |
Non-Patent Citations (4)
Title |
---|
EDWARD THURMAN等: "Real-Time Adaptive Control of Multiple Colocated Acoustic Sensors for an Unmanned Underwater Vehicle", 《REAL-TIME ADAPTIVE CONTROL OF MULTIPLE COLOCATED ACOUSTIC SENSORS FOR AN UNMANNED UNDERWATER VEHICLE》 * |
JENS RIEKEN等: "Sensor scan timing compensation in environment models for automated road vehicles", 《2016 IEEE 19TH INTERNATIONAL CONFERENCE ON INTELLIGENT TRANSPORTATION SYSTEMS (ITSC)》 * |
陈晓伟: "汽车前方车辆识别的雷达和视觉信息融合算法开发", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
陈海燕: "面向无人驾驶ATO设备冗余机制的设计和实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109560858A (zh) * | 2018-12-06 | 2019-04-02 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 高速实时数据采集传输模块 |
CN114978737A (zh) * | 2022-05-31 | 2022-08-30 | 北京万云科技开发有限公司 | 一种多普勒天气雷达数据的综合管理系统 |
CN114978737B (zh) * | 2022-05-31 | 2023-10-24 | 北京万云科技开发有限公司 | 一种多普勒天气雷达数据的综合管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108401003B (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108256002B (zh) | 跨机房数据同步方法、装置、系统以及服务器 | |
US11048403B2 (en) | Method and device for animating graphic symbol for indication of data transmission | |
CN103901307B (zh) | 一种用于车载多媒体装置的测试系统及方法 | |
WO2022095303A1 (zh) | 用于车辆交互的方法、计算设备和计算机存储介质 | |
US20160373884A1 (en) | Determination of device at which to present audio of telephonic communication | |
US20180139645A1 (en) | Electronic device and traffic control method thereof | |
CN109738904A (zh) | 一种障碍物检测的方法、装置、设备和计算机存储介质 | |
US10311715B2 (en) | Smart device mirroring | |
US11080943B2 (en) | Method and apparatus for displaying with 3D parallax effect | |
US11954787B2 (en) | Image rendering method in panoramic application and terminal device | |
CN110287810A (zh) | 车门动作检测方法、装置和计算机可读存储介质 | |
CN111311757A (zh) | 一种场景合成方法、装置、存储介质及移动终端 | |
US20170208637A1 (en) | Method and Apparatus for Interconnecting Smart Terminal and In-Vehicle Terminal | |
CN110276194A (zh) | 信息处理方法、信息处理装置和电子设备 | |
CN114296843A (zh) | 人机接口设备的延迟确定 | |
CN110971482B (zh) | 基于ebpf的后端服务器检测方法、装置及电子设备 | |
CN108401003A (zh) | 雷达数据的同步方法、装置、设备和计算机存储介质 | |
CN111741444A (zh) | 一种显示方法、装置、设备及存储介质 | |
CN115185408A (zh) | 一种车载娱乐信息显示方法、装置、设备和介质 | |
CN113589926B (zh) | 虚拟界面操作方法、头戴式显示设备和计算机可读介质 | |
CN109559382A (zh) | 智能导游方法、装置、终端和介质 | |
CN117193525A (zh) | 三维空间的投掷交互方法、头戴式显示设备和可读介质 | |
US9829325B2 (en) | Disablement of global positioning system transceiver while providing directions | |
CN115866156A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN110223414A (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 |