CN108923876B - 时间同步方法、装置及系统 - Google Patents
时间同步方法、装置及系统 Download PDFInfo
- Publication number
- CN108923876B CN108923876B CN201810685081.1A CN201810685081A CN108923876B CN 108923876 B CN108923876 B CN 108923876B CN 201810685081 A CN201810685081 A CN 201810685081A CN 108923876 B CN108923876 B CN 108923876B
- Authority
- CN
- China
- Prior art keywords
- time
- sensor
- controller
- synchronization
- sending
- 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
Images
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
-
- 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
Abstract
本发明提供了一种时间同步方法、装置及系统,涉及时间同步技术领域,由控制器执行的方法包括:向同步传感器发送非实时秒脉冲,并记录发送非实时秒脉冲对应的发送时间戳;其中,两个相邻的发送时间戳的时间差值为非定值;按照预设延迟时长,在发送非实时秒脉冲之后向同步传感器发送时间信息,以使同步传感器基于时间信息校准同步传感器的本地时间;其中,时间信息包括发送时间戳。本发明能够使同步传感器和控制器达到时间同步,而且所需软硬件成本不高,可以在诸如移动机器人等智能设备中普及适用。
Description
技术领域
本发明涉及时间同步技术领域,尤其是涉及一种时间同步方法、装置及系统。
背景技术
现有的智能设备为了能够可靠运行,大多需要内部相互关联的器件保持时间同步。以智能设备是移动机器人为例,移动机器人在行走过程中,其运动控制器需要不断采集各个传感器的输出结果,并基于传感器的输出结果确定发送给执行器运动的控制指令,从而实现可靠移动。如果运动控制器和传感器的时间不同步,会导致运动控制器难以根据传感器的输出结果而准确控制执行器运动,诸如,对于1米/秒的运行速度的移动机器人,100ms的时间误差可以导致0.1米的位置误差。为了提高定位精度和控制精度,机器人内部的运动控制器和传感器需要建立时间同步。
现有技术中,为了保障各关联器件保持同步,基本采用的方式如下:基于IEEE1588精确时钟协议的时间同步方式、基于1PPS(Pulse per Second)+TOD(Time of Day)的时间同步方式、或者基于NTP(Network Time Protocol)的时间同步方式。然而,上述方式均对系统的软硬件有较高的要求,诸如,IEEE1588或1PPS+TOD需要智能设备具有专用的硬件电路,而NTP通常在TCP/IP协议上实现的,对智能设备的硬件和运行的软件系统也有较高要求。而对于移动机器人内部的运动控制器、传感器和执行器多数是通用CPU或MCU来构建的,大多没有现有的时间同步方式所需的专用硬件电路,也不具备NTP的运行条件,也即,现有的时间同步方式对设备的软硬件要求较高,使用成本较高,难以普及适用于诸如移动机器人等智能设备。
发明内容
有鉴于此,本发明的目的在于提供一种时间同步方法、装置及系统,以改善现有的时间同步方式的使用成本较高,难以普及适用于诸如移动机器人等智能设备的技术问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种时间同步方法,所述方法由控制器执行,所述控制器与至少一个同步传感器相连,所述方法包括:向所述同步传感器发送非实时秒脉冲,并记录发送所述非实时秒脉冲对应的发送时间戳;其中,两个相邻的发送时间戳的时间差值为非定值;按照预设延迟时长,在发送所述非实时秒脉冲之后向所述同步传感器发送时间信息,以使所述同步传感器基于所述时间信息校准所述同步传感器的本地时间;其中,所述时间信息包括所述发送时间戳。
进一步,本发明实施例提供了第一方面的第一种可能的实施方式,所述发送时间戳的精度为亚毫秒级。
进一步,本发明实施例提供了第一方面的第二种可能的实施方式,所述方法还包括:接收所述同步传感器发送的原始时间戳和同步传感器信息;其中,所述原始时间戳为所述同步传感器的启动感测时刻;所述同步传感器信息包括所述同步传感器的感测结果。
进一步,本发明实施例提供了第一方面的第三种可能的实施方式,所述方法还包括:基于所述控制器的计算处理时刻生成计算时间戳;确定所述计算时间戳和所述原始时间戳的第一差异值;根据所述第一差异值校准所述同步传感器信息。
进一步,本发明实施例提供了第一方面的第四种可能的实施方式,所述控制器与至少一个非同步传感器相连,所述方法还包括:接收所述非同步传感器发送的非同步传感器信息,并记录所述非同步传感器信息对应的到达时间戳;其中,非同步传感器信息包括非同步传感器的感测结果。
进一步,本发明实施例提供了第一方面的第五种可能的实施方式,所述方法还包括:基于所述控制器的计算处理时刻生成计算时间戳;确定所述计算时间戳和所述到达时间戳的第二差异值;根据所述第二差异值校准所述非同步传感器信息。
第二方面,本发明实施例还提供一种时间同步方法,所述方法由同步传感器执行,所述同步传感器与控制器相连,所述方法包括:接收所述控制器发送的非实时秒脉冲,并采用所述同步传感器的本地时间记录所述非实时秒脉冲对应的到达时间戳;接收所述控制器发送的时间信息;其中,所述时间信息包括所述非实时秒脉冲的发送时间戳;根据所述到达时间戳和所述发送时间戳,校准所述同步传感器的本地时间。
进一步,本发明实施例提供了第二方面的第一种可能的实施方式,所述根据所述到达时间戳和所述发送时间戳,校准所述同步传感器的本地时间的步骤,包括:比对所述到达时间戳和所述发送时间戳,确定所述同步传感器的本地时间与所述运动控制器的时间偏差;根据所述时间偏差,校准所述同步传感器的本地时间。
进一步,本发明实施例提供了第二方面的第二种可能的实施方式,所述方法还包括:记录启动感测时刻对应的原始时间戳;通过感测工作生成同步传感器信息;所述同步传感器信息包括所述同步传感器的感测结果;将所述原始时间戳和所述同步传感器信息发送给所述控制器,以使所述控制器基于所述原始时间戳和所述控制器的计算时间戳校准所述同步传感器信息;其中,所述计算时间戳是所述控制器基于计算处理时刻生成的。
第三方面,本发明实施例提供了一种时间同步装置,所述装置设置于控制器侧,所述控制器与至少一个同步传感器相连,所述装置包括:脉冲发送模块,用于向所述同步传感器发送非实时秒脉冲,并记录发送所述非实时秒脉冲对应的发送时间戳;其中,两个相邻的发送时间戳的时间差值为非定值;信息发送模块,用于按照预设延迟时长,在发送所述非实时秒脉冲之后向所述同步传感器发送时间信息,以使所述同步传感器基于所述时间信息校准所述同步传感器的本地时间;其中,所述时间信息包括所述发送时间戳。
第四方面,本发明实施例提供了一种时间同步装置,所述装置设置于同步传感器侧,所述同步传感器与控制器相连,所述装置包括:脉冲接收模块,用于接收所述控制器发送的非实时秒脉冲,并采用所述同步传感器的本地时间记录所述非实时秒脉冲对应的到达时间戳;信息接收模块,用于接收所述控制器发送的时间信息;其中,所述时间信息包括所述非实时秒脉冲的发送时间戳;时间校准模块,用于根据所述到达时间戳和所述发送时间戳,校准所述同步传感器的本地时间。
第五方面,本发明实施例提供了一种时间同步系统,包括控制器和同步传感器;所述控制器在执行计算机程序时执行如第一方面任一项所述的方法;所述同步传感器在执行计算机程序时执行如第二方面任一项所述的方法。
第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面任一项所述的方法,或上述第二方面任一项所述的方法的步骤。
本发明实施例提供了一种时间同步方法、装置及系统,控制器可以向同步传感器发送非实时秒脉冲并记录发送时间戳;还可以向同步传感器发送包含有发送时间戳的时间信息;同步传感器可以记录非实时秒脉冲的到达时间戳,并根据接收的控制器的发送时间戳,校准同步传感器的本地时间。通过这种方式,能够使同步传感器和控制器达到时间同步,而且由于控制器并非实时发送脉冲,也无需按照固定的时间间隔发送脉冲,能够有效降低软硬件成本,可以在诸如移动机器人等智能设备中普及适用。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例所提供的一种电子设备的结构示意图;
图2示出了本发明实施例所提供的一种时间同步方法流程图;
图3示出了本发明实施例所提供的一种数据传输示意图;
图4示出了本发明实施例所提供的一种时间同步方法流程图;
图5示出了本发明实施例所提供的一种移动机器人的结构示意图;
图6示出了本发明实施例所提供的一种时间同步装置的结构框图;
图7示出了本发明实施例所提供的一种时间同步装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到现有的大多智能设备需要内部器件保持时间同步,为了保证运行可靠性,诸如移动机器人对时间同步的要求通常较高。以下以移动机器人为例进行说明,移动机器人的运动控制器、传感器和执行器之间构成分布式系统,通过互相传递数据实现机器人的可靠移动。然而,运动控制器可能出现实时性抖动现象,致使控制循环周期并不稳定,诸如,运行控制器的控制循环周期一般约为10ms,但是运行Linux的运行控制器的实时性抖动有时甚至超过100ms,致使循环周期长短不一。而各种传感器由于自身原因也可能存在各种输出延迟现象,诸如,编码器输出延迟很短,通常小于1ms;而一般的图像识别传感器、激光雷达测距等都可能有10ms以上的输出延迟。由此可见,从各个传感器到运动控制器,再到执行器累积的时间延迟大小不一,对于有些系统是可以接受的,但是对于1米/秒的运行速度的移动机器人,100ms的时间误差可以导致0.1米的位置误差,为了提高定位精度和控制精度,机器人内部运动控制器、传感器和执行器需要建立足够精度的时间同步。
但考虑到移动机器人难以符合现已有时间同步方式的软硬件要求,为改善此问题,本发明实施例提供的一种时间同步方法、装置及系统,该技术可应用于诸如移动机器人等各种需要使内部器件保持时间同步的智能设备,以下对本发明实施例进行详细介绍。
实施例一:
首先,参照图1来描述用于实现本发明实施例的时间同步方法、装置及系统的示例电子设备100。
如图1所示的一种电子设备的结构示意图,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106和输出装置108,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以采用数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)中的至少一种硬件形式来实现,所述处理器102可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
所述传感器110可以为图像传感器、测距传感器等各种传感器。在实际应用中,传感器还可以分为两类,一类是需要同步的传感器(简称同步传感器),还有一类是不需要同步的传感器(可简称为非同步传感器)。
示例性地,用于实现根据本发明实施例的一种时间同步方法、装置及系统的示例电子设备可以被实现为诸如移动机器人等智能设备。
实施例二:
参照图2所示的一种时间同步方法流程图,该方法由控制器执行,该控制器与至少一个同步传感器相连。同步传感器即为需要和控制器保持同步的传感器,此类传感器的延迟时长通常并不固定,因而需要采取时间同步方式令此类传感器与控制器保持时间同步,如图2所示,具体包括如下步骤:
步骤S202,向同步传感器发送非实时秒脉冲,并记录发送非实时秒脉冲对应的发送时间戳;其中,两个相邻的发送时间戳的时间差值为非定值。
为了描述的简便性,以下可将非实时秒脉冲简称为NRTP(Not Real Time Pulse),控制器向同步传感器发送的脉冲并非是实时脉冲,相邻的两个脉冲之间的时间间隔并不固定,而且并非需要每秒准时输出1PPS脉冲,控制器可以以诸如5s左右间隔或其它超过1s的时间间隔发送NRTP,因而硬件成本较低。具体可以参见图3所示的一种数据传输示意图,示意出控制器发出的NRTP的波形,可以看出两个相邻的脉冲之间的间隔并非等间距,其中,NRTP的发送时间戳可视为对应脉冲的上升沿,控制器记录的两个相邻时间戳的时间差值并非固定值。
在一种实施方式中,NRTP的高电平时间为100ms,上升时间小于1us。为了达到更加精确的时间同步效果,采用控制器的本地时间记录发送NRTP时刻的发送时间戳,精度可以为亚毫秒级,诸如时间精度为0.1ms。在实际应用中,控制器发送NRTP的物理接口可以采用RS422等差分形式,也可以采用RS232等单端形式。
步骤S204,按照预设延迟时长,在发送非实时秒脉冲之后向同步传感器发送时间信息,以使同步传感器基于时间信息校准同步传感器的本地时间;其中,时间信息包括发送时间戳。
为了描述的简便性,以下可将时间信息简称为ETOD(Expand Time of Day),ETOD即为扩展TOD,通常控制器向外发送的TOD携带有脉冲触发上升沿时间,时间精度为毫秒级。而本实施例中的控制器向外发送的ETOD消息携带的脉冲触发上升沿时间(也即,发送时间戳)的精度为亚毫秒级,能够较好地提升时间精度。实际应用中,控制器可以在定时器中断服务程序的触发下发送NRTP和ETOD。如图3还示意出了控制器发送ETOD的波形,控制器通常需要在发送NRTP之后再发送ETOD,延迟时长可以预先设定,在一种实施方式中,该延迟时长高于1ms,控制器最少延迟1ms,采用串行方式发送ETOD,该ETOD包含控制器记录的发送NRTP时刻的发送时间戳。在实际应用中,控制器以串行方式发送ETOD的物理接口可以为RS422、CAN、以太网等差分形式,也可以为RS232等单端形式。
与控制器相连接的同步传感器各自接收控制器发送的NRTP,通常会触发通用CPU或MCU的中断服务程序或计时器,在中断服务程序用传感器的本地时间记录脉冲NRTP的到达时间,生成到达时间戳。当然,脉冲NRTP也可以触发通用CPU或MCU的计时器自动保存时间当前值,从而记录脉冲的到达时间。此外,由于同步传感器各自接收控制器发送的包含有亚毫秒级的发送时间戳,因而每个同步传感器都可以比对NRTP的发送时间戳和NRTP的到达时间戳的差异值,从而确定同步传感器的本地时间与控制器的本地时间的时间偏差,通常同步传感器以控制器为基准,而校准自身的本地时间,以达到同步传感器与控制器同步。
通过本发明实施例提供的上述时间同步方法,能够使同步传感器和控制器达到时间同步,而且由于控制器并非实时发送脉冲,也无需按照固定的时间间隔发送脉冲,能够有效降低软硬件成本,可以在诸如移动机器人等智能设备中普及适用。
而且,本实施例提供的时间同步方法中,控制器可以以亚毫秒级记录发送非实时秒脉冲对应的发送时间戳,相比于传统的秒级记录时间而言,进一步提升了时间同步精度。
本发明实施例提供的同步传感器在启动感测工作时,能够自动记录原始信号发生时刻(也即,同步传感器的启动感测时刻)对应的原始时间戳,同步传感器能够进一步对原始信号(又可称为感测信号)进行处理,得到同步传感器信息,并将该同步传感器信息以及原始时间戳通过通信接口一起提供给控制器。同步传感器可采用上述方式不断循环,与控制器进行数据交互。
为便于理解,以同步传感器为二维码图像传感器为例进行说明。二维码图像传感器将每次拍摄曝光时刻作为原始时间戳,二维码图像传感器在采集到二维码图像后,经过滤波、畸变校准、二维码区域提取、二维码识别和定位计算等一系列处理过程,可以得到是否有完整二维码的结论、二维码数值以及机器人的定位信息等感测结果,此类信息均可称为同步传感器信息,该同步传感器信息包括同步传感器的感测结果。二维码图像传感器每次拍到二维码后都把同步传感器信息和原始时间戳通过通信接口上报给控制器,当然,二维码图像传感器是否处于与控制器的同步状态也可一起上报。
基于此,控制器还用于接收同步传感器发送的原始时间戳和同步传感器信息;其中,原始时间戳为同步传感器的启动感测时刻;同步传感器信息包括同步传感器的感测结果。
考虑到移动机器人等智能设备的内部除了延迟时间长短不一,需要和控制器保持同步的同步传感器,还包括延迟时间相对固定的传感器,此类传感器可以称为非同步传感器,诸如光电编码位置传感器或状态开关等传感器均为非同步传感器,非同步传感器的处理时间通常较短,且一般延迟相对固定,此时无需完成时间同步功能,仅将传感器的感测结果(测量结果信息)提供给控制器即可。
如果控制器与至少一个非同步传感器相连,控制器还可以接收非同步传感器发送的非同步传感器信息,并记录非同步传感器信息对应的到达时间戳;其中,非同步传感器信息包括非同步传感器的感测结果。
运动控制器依据完整接收到一个或多个同步传感器信息和/或一个或多个非同步传感器信息进行运动控制计算,并给执行器发送控制指令。即便有前述的同步过程,多个传感器信息的原始时间仍有可能不是在同一时刻,原因在于传感器的时延,以及实际运行Linux操作系统的运动控制器在计算运动控制指令的线程中也会引入不确定的时延抖动,为改善此问题,运动控制器在运动控制计算时可以把各个时间差考虑进去。本实施例分别针对同步传感器和非同步传感器给出一种具体的解决方式:
首先,关于同步传感器可具体参见如下步骤:
(1)基于控制器的计算处理时刻生成计算时间戳。也即,本实施例中的控制器会记录前述的运动控制计算时刻的计算时间戳。
(2)确定计算时间戳和原始时间戳的第一差异值。(3)根据第一差异值校准同步传感器信息。
然后,关于非同步传感器可具体参见如下步骤:
(1)基于控制器的计算处理时刻生成计算时间戳。
(2)确定计算时间戳和到达时间戳的第二差异值。
(3)根据第二差异值校准非同步传感器信息。
之后控制器可以依据校准后的同步传感器信息和/或非同步传感器信息进行运动控制计算,具体的,控制器可以根据同步传感器信息和/或非同步传感器信息确定控制指令,并将控制指令发送给与控制器相连的执行器,以使执行器执行与控制指令对应的操作。诸如,控制器可以根据时间偏差以及移动速度对位置传感器发送的位置信息进行校正,并确定执行器在当前应当移动的距离。
实施例三:
参照图4所示的一种时间同步方法流程图,该方法由同步传感器执行,同步传感器即为需要和控制器保持同步的传感器,该同步传感器与控制器相连,该方法包括:
步骤S402,接收控制器发送的非实时秒脉冲,并采用同步传感器的本地时间记录非实时秒脉冲对应的到达时间戳。由于控制器发送的脉冲并非是实时脉冲,相邻的两个脉冲之间的时间间隔并不固定,同步传感器接收两个相邻的非实时秒脉冲之间的时间间隔并非定值。
步骤S404,接收控制器发送的时间信息;其中,时间信息包括非实时秒脉冲的发送时间戳。由于控制器发送的时间信息是延迟于非实时脉冲的,因而同步传感器通常在预设延迟时间后接收到包含有发送时间戳的时间信息。
步骤S406,根据到达时间戳和发送时间戳,校准同步传感器的本地时间。具体实施时,可以参照如下步骤:
(1)比对到达时间戳和发送时间戳,确定同步传感器的本地时间与运动控制器的时间偏差。
(2)根据时间偏差,校准同步传感器的本地时间。
此外,为了提高时间同步精度,控制器向同步传感器发送的时间信息中所包含的发送时间戳可以为亚毫秒级。同步传感器可以基于亚毫秒级的发送时间戳以及到达时间戳进行校准,实现更为精确的时间同步。
由于到达时间戳是同步传感器利用自身的本地时间记录的,而发送时间戳是控制器利用自身的本地时间记录的,如果同步传感器与控制器同步,且假设忽略数据传输时间,则发送时间戳与到达时间戳应当相同,如果发送时间戳与到达时间戳不相同,则表明同步传感器与控制器存在时间偏差,同步传感器应当根据时间偏差校准自身的本地时间,以达到与控制器的时间同步。在实际应用中,同步传感器刚启动时为非同步状态,通常连续处理5个NRTP+ETOD后进入同步状态,然后同步传感器可以每次对比NRTP的发送时间戳和NRTP的到达时间戳之间的差异值,不断校准本地时间,并维持同步状态。当然,如果差异值过大,大于预设阈值,诸如差异值为50ms,则可作为异常数据丢弃,并记录异常次数,如果连续3次异常,同步传感器可转入非同步状态,重新开始同步过程。
通过本发明实施例提供的上述时间同步方法,能够使同步传感器和控制器达到时间同步,而且由于控制器并非实时发送脉冲,也无需按照固定的时间间隔发送脉冲,能够有效降低软硬件成本,可以在诸如移动机器人等智能设备中普及适用。
而且由于同步传感器发送的时间信息为亚毫秒级,相比于常规的毫秒级时间,也能够进一步提升时间精度。
考虑到同步传感器与控制器如存在时间偏差,可能导致包含有同步传感器的感测结果的同步传感器信息也存在一定的误差,因此在校正同步传感器的时间后,本实施例进一步会校正同步传感器信息,以使同步传感器信息更加准确,从而使控制器能够根据准确的同步传感器信息控制执行器。基于此,同步传感器还可以执行如下步骤:
(1)记录启动感测时刻对应的原始时间戳。
(2)通过感测工作生成同步传感器信息;同步传感器信息包括同步传感器的感测结果。
(3)将原始时间戳和同步传感器信息发送给控制器,以使控制器基于原始时间戳和控制器的计算时间戳校准同步传感器信息;其中,计算时间戳是控制器基于计算处理时刻生成的。以同步传感器为位置传感器为例,控制器可以根据时间偏差以及移动速度对位置传感器发送的位置信息进行校正,并确定执行器在当前应当移动的距离。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述时间同步方法,可参考前述第二实施例中的相关内容,在此不再赘述。
实施例四:
基于前述实施例二和实施例三,本实施例给出了一种具体的应用方式,该应用方式以移动机器人为例,具体可参见图5所示的一种移动机器人的结构示意图,示意出了移动机器人的运动控制器分别与第一同步传感器、第二同步传感器、第一非同步传感器、第二非同步传感器和执行器相连。
其中,由图5可见,运动控制器与两个同步传感器均通过NRTP+ETOD方式进行信息交互,同步传感器可通过这种方式实现与运动控制器的时间同步。在实际应用中,同步传感器具有同步状态和非同步状态,正常情况下为同步状态,两个同步传感器各自生成原始时间戳和同步传感器信息,并同ETOD传递给运动控制器。2个非同步传感器通过各自的数据传输通道给运动控制器提供非同步传感器信息,运动控制器用到达时间戳来标记非同步传感器信息的到达时刻。此外,运动控制器定时对接收到的2个同步传感器信息和2个非同步传感器信息进行计算以便给执行器发送运动控制指令。运动控制器能够记录计算处理时刻的计算时间戳,并分别计算该计算时间戳与2个原始时间戳的差异,并根据两个差异值对2个同步传感器信息分别进行校准;运动控制器还能够计算该计算时间戳与2个到达时间戳的差异,并根据两个差异值对2个非同步传感器信息进行校准,然后运动控制器可以依据校准后的同步传感器信息和非同步传感器信息进行运动控制计算。
应当注意的是,以上仅简单示意出两个同步传感器、两个非同步传感器的例子,在实际应用中,不应当被视为限制,控制器能够对多个同步传感器进行时间校准,并校准各个同步传感器的同步传感器信息和非同步传感器的非同步传感器信息,具体可以采用分别校准方式,也可以参照多个具有关联性的传感器进行相互校准。诸如,可以依据时间偏差校准位置传感器的位置信息,并根据位置信息校准距离传感器的距离信息等。
综上所述,本实施例采用NRTP+ETOD的方式可以在基于通用CPU或MCU而构建的运动控制器、传感器和执行器之间建立足够精度的时间同步,而且软硬件成本较低。而且,同步传感器反馈给运动控制器的结果中包含原始信号时间戳,还可以消除或大大减少传感器内部信号处理延迟和运动控制器内部处理延迟及实时性抖动对执行器的运动控制的影响,有效保障了移动机器人的可靠运动。
实施例五:
基于前述实施例二,本实施例提供了一种时间同步装置,该装置设置于控制器侧,该控制器与至少一个同步传感器相连,参见图6所示的一种时间同步装置的结构框图,具体包括:
脉冲发送模块602,用于向同步传感器发送非实时秒脉冲,并记录发送非实时秒脉冲对应的发送时间戳;其中,两个相邻的发送时间戳的时间差值为非定值;
信息发送模块604,用于按照预设延迟时长,在发送非实时秒脉冲之后向同步传感器发送时间信息,以使同步传感器基于时间信息校准同步传感器的本地时间;其中,时间信息包括非实时秒脉冲的发送时间戳。
通过本发明实施例提供的上述时间同步装置,能够使同步传感器和控制器达到时间同步,而且由于控制器并非实时发送脉冲,也无需按照固定的时间间隔发送脉冲,能够有效降低软硬件成本,可以在诸如移动机器人等智能设备中普及适用。
在一种实施方式中,上述发送时间戳的精度为亚毫秒级。相比于常规的秒级时间,也能够进一步提升时间精度。
在一种实施方式中,上述装置还包括:第一接收模块,用于接收同步传感器发送的原始时间戳和同步传感器信息;其中,原始时间戳为同步传感器的启动感测时刻;同步传感器信息包括同步传感器的感测结果。
在此基础上,上述装置还包括:
计算时间戳生成模块,用于基于控制器的计算处理时刻生成计算时间戳;
第一差异确定模块,用于确定计算时间戳和原始时间戳的第一差异值;
第一信息校准模块,用于根据第一差异值校准同步传感器信息。
在一种实施方式中,控制器与至少一个非同步传感器相连,上述装置还包括:第二接收模块,用于接收非同步传感器发送的非同步传感器信息,并记录非同步传感器信息对应的到达时间戳;其中,非同步传感器信息包括非同步传感器的感测结果。
在此基础上,上述装置还包括:
计算时间戳生成模块,用于基于控制器的计算处理时刻生成计算时间戳;
第二差异确定模块,用于确定计算时间戳和到达时间戳的第二差异值;
第二信息校准模块,用于根据第二差异值校准非同步传感器信息。
在一种实施方式中,上述装置还包括:控制模块,用于根据同步传感器信息和/或非同步传感器信息确定控制指令,并将控制指令发送给与控制器相连的执行器,以使执行器执行与控制指令对应的操作。
本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例六:
基于前述实施例三,本实施例提供了一种时间同步装置,该装置设置于同步传感器侧,同步传感器与控制器相连,参见图7所示的一种时间同步装置的结构框图,具体包括:
脉冲接收模块702,用于接收控制器发送的非实时秒脉冲,并采用同步传感器的本地时间记录非实时秒脉冲对应的到达时间戳;
信息接收模块704,用于接收控制器发送的时间信息;其中,时间信息包括非实时秒脉冲的发送时间戳;
时间校准模块706,用于根据到达时间戳和发送时间戳,校准同步传感器的本地时间。
通过本发明实施例提供的上述时间同步装置,能够使同步传感器和控制器达到时间同步,而且由于控制器并非实时发送脉冲,也无需按照固定的时间间隔发送脉冲,能够有效降低软硬件成本,可以在诸如移动机器人等智能设备中普及适用。
在一种实施方式中,时间校准模块用于:比对到达时间戳和发送时间戳,确定同步传感器的本地时间与运动控制器的时间偏差;根据时间偏差,校准同步传感器的本地时间。
在一种实施方式中,上述装置还包括:
原始时间戳记录模块,用于记录启动感测时刻对应的原始时间戳;
信息生成模块,用于通过感测工作生成同步传感器信息;同步传感器信息包括同步传感器的感测结果;
信息发送模块,用于将原始时间戳和同步传感器信息发送给控制器,以使控制器基于原始时间戳和控制器的计算时间戳校准同步传感器信息;其中,计算时间戳是控制器基于计算处理时刻生成的。
本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例七:
本实施例提供了一种时间同步系统,包括控制器和同步传感器;控制器在执行计算机程序时执行如前述实施例二提供的任一项的方法;同步传感器在执行计算机程序时执行如前述实施例三提供的任一项的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
进一步,本实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例二提供的任一项的方法,或上述实施例三提供的任一项的方法的步骤。
本发明实施例所提供的时间同步方法、装置及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种时间同步方法,其特征在于,所述方法由控制器执行,所述控制器与至少一个同步传感器相连,所述方法包括:
向所述同步传感器发送非实时秒脉冲,并记录发送所述非实时秒脉冲对应的发送时间戳;其中,两个相邻的发送时间戳的时间差值为非定值;
按照预设延迟时长,在发送所述非实时秒脉冲之后向所述同步传感器发送时间信息,以使所述同步传感器基于所述时间信息校准所述同步传感器的本地时间;其中,所述时间信息包括所述发送时间戳;
所述非实时秒脉冲即相邻的两个脉冲之间的时间间隔并不固定。
2.根据权利要求1所述的方法,其特征在于,所述发送时间戳的精度为亚毫秒级。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收所述同步传感器发送的原始时间戳和同步传感器信息;其中,所述原始时间戳为所述同步传感器的启动感测时刻;所述同步传感器信息包括所述同步传感器的感测结果。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
基于所述控制器的计算处理时刻生成计算时间戳;
确定所述计算时间戳和所述原始时间戳的第一差异值;
根据所述第一差异值校准所述同步传感器信息。
5.根据权利要求1或2所述的方法,其特征在于,所述控制器与至少一个非同步传感器相连,所述方法还包括:
接收所述非同步传感器发送的非同步传感器信息,并记录所述非同步传感器信息对应的到达时间戳;其中,非同步传感器信息包括非同步传感器的感测结果。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
基于所述控制器的计算处理时刻生成计算时间戳;
确定所述计算时间戳和所述到达时间戳的第二差异值;
根据所述第二差异值校准所述非同步传感器信息。
7.一种时间同步方法,其特征在于,所述方法由同步传感器执行,所述同步传感器与控制器相连,所述方法包括:
接收所述控制器发送的非实时秒脉冲,并采用所述同步传感器的本地时间记录所述非实时秒脉冲对应的到达时间戳;
接收所述控制器发送的时间信息;其中,所述时间信息包括所述非实时秒脉冲的发送时间戳;
根据所述到达时间戳和所述发送时间戳,校准所述同步传感器的本地时间;
所述非实时秒脉冲即相邻的两个脉冲之间的时间间隔并不固定。
8.根据权利要求7所述的方法,其特征在于,所述根据所述到达时间戳和所述发送时间戳,校准所述同步传感器的本地时间的步骤,包括:
比对所述到达时间戳和所述发送时间戳,确定所述同步传感器的本地时间与所述控制器的时间偏差;
根据所述时间偏差,校准所述同步传感器的本地时间。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
记录启动感测时刻对应的原始时间戳;
通过感测工作生成同步传感器信息;所述同步传感器信息包括所述同步传感器的感测结果;
将所述原始时间戳和所述同步传感器信息发送给所述控制器,以使所述控制器基于所述原始时间戳和所述控制器的计算时间戳校准所述同步传感器信息;其中,所述计算时间戳是所述控制器基于计算处理时刻生成的。
10.一种时间同步装置,其特征在于,所述装置设置于控制器侧,所述控制器与至少一个同步传感器相连,所述装置包括:
脉冲发送模块,用于向所述同步传感器发送非实时秒脉冲,并记录发送所述非实时秒脉冲对应的发送时间戳;其中,两个相邻的发送时间戳的时间差值为非定值;
信息发送模块,用于按照预设延迟时长,在发送所述非实时秒脉冲之后向所述同步传感器发送时间信息,以使所述同步传感器基于所述时间信息校准所述同步传感器的本地时间;其中,所述时间信息包括所述发送时间戳;
所述非实时秒脉冲即相邻的两个脉冲之间的时间间隔并不固定。
11.一种时间同步装置,其特征在于,所述装置设置于同步传感器侧,所述同步传感器与控制器相连,所述装置包括:
脉冲接收模块,用于接收所述控制器发送的非实时秒脉冲,并采用所述同步传感器的本地时间记录所述非实时秒脉冲对应的到达时间戳;
信息接收模块,用于接收所述控制器发送的时间信息;其中,所述时间信息包括所述非实时秒脉冲的发送时间戳;
时间校准模块,用于根据所述到达时间戳和所述发送时间戳,校准所述同步传感器的本地时间;
所述非实时秒脉冲即相邻的两个脉冲之间的时间间隔并不固定。
12.一种时间同步系统,其特征在于,包括控制器和同步传感器;
所述控制器在执行计算机程序时执行如权利要求1至6任一项所述的方法;
所述同步传感器在执行计算机程序时执行如权利要求7至9任一项所述的方法。
13.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至6任一项所述的方法,或上述权利要求7至9任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810685081.1A CN108923876B (zh) | 2018-06-27 | 2018-06-27 | 时间同步方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810685081.1A CN108923876B (zh) | 2018-06-27 | 2018-06-27 | 时间同步方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108923876A CN108923876A (zh) | 2018-11-30 |
CN108923876B true CN108923876B (zh) | 2020-11-27 |
Family
ID=64421855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810685081.1A Active CN108923876B (zh) | 2018-06-27 | 2018-06-27 | 时间同步方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108923876B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111348046B (zh) * | 2018-12-24 | 2021-06-15 | 毫末智行科技有限公司 | 目标数据融合方法、系统及机器可读存储介质 |
CN109725572A (zh) * | 2018-12-25 | 2019-05-07 | 初速度(苏州)科技有限公司 | 一种多传感器精准时钟同步系统及方法 |
CN111381487B (zh) * | 2018-12-29 | 2022-01-11 | 阿里巴巴集团控股有限公司 | 多传感器同步授时系统、方法、装置及电子设备 |
CN110009206B (zh) * | 2019-03-21 | 2023-06-20 | 五邑大学 | 一种定时语音评分方法、装置、设备和存储介质 |
CN111831054B (zh) * | 2019-04-19 | 2022-07-19 | 北京猎户星空科技有限公司 | 一种异步系统时钟同步方法、装置、系统和存储介质 |
WO2021035645A1 (zh) * | 2019-08-29 | 2021-03-04 | 上海飞来信息科技有限公司 | 传感系统、传感设备及其控制方法、可移动平台和存储介质 |
CN110809041B (zh) * | 2019-10-30 | 2023-06-27 | 北京百度网讯科技有限公司 | 一种数据同步方法、装置、电子设备及存储介质 |
US11294760B2 (en) * | 2019-12-30 | 2022-04-05 | Semiconductor Components Industries, Llc | Methods and apparatus for a temporal synchronization unit |
WO2021147026A1 (en) * | 2020-01-22 | 2021-07-29 | Abb Schweiz Ag | Method and electronic device, system and computer readable medium for time calibration |
CN111431653A (zh) * | 2020-03-26 | 2020-07-17 | 轻客智能科技(江苏)有限公司 | 基于非实时传输协议的时间同步方法及系统 |
CN111585682B (zh) * | 2020-05-09 | 2022-10-04 | 森思泰克河北科技有限公司 | 传感器时间同步方法、装置及终端设备 |
CN111600825B (zh) * | 2020-05-16 | 2023-05-12 | 青岛鼎信通讯股份有限公司 | 一种基于等间隔时间脉冲的同步方法 |
CN111935687B (zh) * | 2020-07-21 | 2024-01-16 | 深圳市创鸿新智能科技有限公司 | 一种脉冲信号无线传输系统及其校准方法 |
CN112214065B (zh) * | 2020-09-17 | 2022-10-21 | 北京普源精电科技有限公司 | 设备同步校准方法、装置、设备及存储介质 |
WO2022077228A1 (zh) * | 2020-10-13 | 2022-04-21 | 深圳市大疆创新科技有限公司 | 对时方法、装置、系统以及成像组件 |
WO2022120781A1 (zh) * | 2020-12-11 | 2022-06-16 | 惠州市德赛西威智能交通技术研究院有限公司 | 一种不同时域多传感器信息处理方法 |
CN113428096A (zh) * | 2021-08-27 | 2021-09-24 | 武汉元丰汽车电控系统股份有限公司 | 数据采集卡、设备和方法 |
US11822377B2 (en) | 2022-01-11 | 2023-11-21 | Waymo Llc | Timebase synchronization using pulsed signal injection |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254057A (zh) * | 2015-06-08 | 2016-12-21 | 株式会社电装 | 通信系统 |
CN106817183A (zh) * | 2016-12-27 | 2017-06-09 | 天津七六四通信导航技术有限公司 | 一种电力授时中的ptp精准时间协议授时模块及实现方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170041897A1 (en) * | 2013-11-12 | 2017-02-09 | Qualcomm Incorporated | Apparatus and methods for synchronizing a controller and sensors |
WO2017070588A1 (en) * | 2015-10-23 | 2017-04-27 | Qualcomm Incorporated | Apparatus and methods for synchronizing a controller and sensors |
CN105549375B (zh) * | 2016-01-29 | 2017-12-26 | 中国科学院长春光学精密机械与物理研究所 | 高精度星载时间传递系统 |
CN107105059A (zh) * | 2017-05-26 | 2017-08-29 | 太仓美克斯机械设备有限公司 | 一种物联网系统 |
-
2018
- 2018-06-27 CN CN201810685081.1A patent/CN108923876B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254057A (zh) * | 2015-06-08 | 2016-12-21 | 株式会社电装 | 通信系统 |
CN106817183A (zh) * | 2016-12-27 | 2017-06-09 | 天津七六四通信导航技术有限公司 | 一种电力授时中的ptp精准时间协议授时模块及实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108923876A (zh) | 2018-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108923876B (zh) | 时间同步方法、装置及系统 | |
CN111381487B (zh) | 多传感器同步授时系统、方法、装置及电子设备 | |
JP6463495B2 (ja) | システム間のグローバルクロックの確定方法及び確定構造 | |
US7379480B2 (en) | Fast frequency adjustment method for synchronizing network clocks | |
US6535926B1 (en) | Time synchronization system for industrial control network using global reference pulses | |
CN107277385B (zh) | 一种多相机系统同步曝光的控制方法、装置及终端设备 | |
JP6192995B2 (ja) | 通信装置、通信システム、通信方法およびコンピュータプログラム | |
WO2018228352A1 (zh) | 一种同步曝光方法、装置及终端设备 | |
JP2016123009A (ja) | 半導体装置、電子デバイス・モジュール、及びネットワークシステム | |
US10594424B2 (en) | Time synchronization slave apparatus capable of adjusting time synchronization period, and method of determining time synchronization period | |
EP3444975A1 (en) | Method and apparatus for calibrating tdma time slot synchronization between master and slave machines | |
CN112787740A (zh) | 一种多传感器时间同步装置及方法 | |
JP6452427B2 (ja) | 時刻同期監視方法、通信システム、及びマスタ装置 | |
US11252687B2 (en) | Remote signal synchronization | |
CN103647614A (zh) | 基于ieee1588协议的可靠提高时间同步精度方法 | |
JP2019101480A (ja) | 制御装置および制御方法 | |
KR101730313B1 (ko) | 네트워크 시스템, 타임 마스터국, 및 타임 슬레이브국 | |
US20200073838A1 (en) | Bus system | |
US10222786B2 (en) | Numerical control system having synchronous control function between units | |
Osadcuks et al. | Clock-based time synchronization for an event-based camera dataset acquisition platform | |
US11949767B2 (en) | Communication apparatus, method of controlling communication apparatus, and storage medium | |
CN114740459A (zh) | 一种激光雷达校准方法及装置 | |
JP7122496B2 (ja) | 時刻補正装置、時刻補正方法及び時刻補正プログラム | |
KR20180054103A (ko) | 비정상 동작 상황을 개선한 gps를 이용하는 장치의 utc 시간 동기 방법 | |
KR101379248B1 (ko) | 이더넷 통신 시스템 및 시간 동기화 방법 |
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 | ||
CB02 | Change of applicant information |
Address after: 100000 Beijing Haidian District, Dongbei Wangxi Road, No. 8 Building, No. 2 District 106-1 Applicant after: Beijing Wide-sighted Robot Technology Co., Ltd. Applicant after: MEGVII INC. Address before: 100000 Beijing Haidian District, Dongbei Wangxi Road, No. 8 Building, No. 2 District 106-1 Applicant before: Beijing AI Ruisi Robot Technology Co Ltd Applicant before: MEGVII INC. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |