一种手柄、头戴设备、头戴系统及其时间同步方法与流程

文档序号:19416978发布日期:2019-12-14 01:01阅读:234来源:国知局
一种手柄、头戴设备、头戴系统及其时间同步方法与流程

本申请涉及头戴设备技术领域,具体涉及一种手柄、头戴设备、头戴系统及其时间同步方法。



背景技术:

头戴系统一般包括相配合的手柄和头戴设备两部分,现有技术中,手柄与头戴设备的时序不统一,导致获取的手柄姿态在头戴设备的显示场景中不协调,偏移较大,影响用户体验。



技术实现要素:

本申请提供了一种手柄、头戴设备、头戴系统及其时间同步方法,将手柄的时间坐标系统一到头戴设备的时间坐标系上,减小手柄在头戴设备中的漂移,使手柄在头戴设备中的显示更加流畅。

根据本申请的一个方面,提供了一种头戴系统的时间同步方法,应用于所述头戴系统的第一手柄或第二手柄,方法包括:

与所述头戴系统的头戴设备建立蓝牙连接,通过蓝牙连接接收所述头戴设备发送的用于进行时间同步的时间戳;

依据所述时间戳以及所述时间戳的接收时间,计算第一时间差,并依据所述时间戳的接收时间对所述第一时间差进行筛选,得到有效的第一时间差,由预设时间段内的所述有效的第一时间差,获得时间校准值,基于所述时间校准值进行系统时间校准。

根据本申请的另一个方面,提供了一种手柄,包括:蓝牙模块以及时间校准模块;

所述蓝牙模块,用于与头戴系统的头戴设备建立蓝牙连接,通过蓝牙连接接收所述头戴设备发送的时间戳;

所述时间校准模块,用于依据所述时间戳以及所述时间戳的接收时间,计算第一时间差,并依据所述时间戳的接收时间对所述第一时间差进行筛选,得到有效的第一时间差,由预设时间段内的所述有效的第一时间差,获得时间校准值,基于所述时间校准值进行系统时间校准。

根据本申请的又一个方面,提供了一种头戴设备,包括蓝牙芯片和处理器;

所述蓝牙芯片用于与本申请另一个方面的手柄建立蓝牙连接;

所述处理器,用于生成时间戳,通过蓝牙连接将所述时间戳发送至所述手柄,以使得所述手柄依据所述时间戳以及所述时间戳的接收时间,计算第一时间差,并依据所述时间戳的接收时间对所述第一时间差进行筛选,得到有效的第一时间差,由预设时间段内的所述有效的第一时间差,获得时间校准值,基于所述时间校准值进行系统时间校准。

根据本申请的再一个方面,提供了一种头戴系统,所述头戴系统包括至少一个如本申请另一个方面所述的手柄,以及如本申请又一个方面所述的头戴设备。

有益效果:应用本申请实施例的头戴系统的时间同步方法,手柄与头戴设备建立蓝牙连接,通过蓝牙连接接收头戴设备发送的时间戳,依据时间戳以及时间戳的接收时间,计算第一时间差,并依据时间戳的接收时间对第一时间差进行筛选,得到有效的第一时间差,由预设时间段内的效的第一时间差,获得时间校准值,基于时间校准值进行系统时间校准,从而将手柄的时间坐标系统统一到头戴设备的时间坐标系上,使得手柄的姿态数据在头戴中的应用更加流畅、长时间使用时角度偏移小,优化了用户体验。

附图说明

图1是本申请一个实施例头戴系统的时间同步方法的流程图;

图2是本申请一个实施例基于头戴系统的时间同步提高手柄跟随性的应用流程图;

图3是本申请一个实施例头戴系统的时间同步的时序图;

图4是本申请一个实施例的手柄的框图;

图5是本申请一个实施例的头戴设备的框图;

图6是本申请一个实施例的头戴系统的框图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

现有头戴设备,能实现双手柄通信的大多为私有协议,使用私有协议由于协议自身设计的不健全性存在抗干扰差的特点。而基于ble(bluetoohlowenergy,蓝牙低功耗)通信的头戴设备,由于蓝牙通信的时效性以及蓝牙协议栈的限制,大多为单手柄,不能满足用户双手操作需求。对此,本实施例中在蓝牙低功耗协议的基础上实现蓝牙双手柄,并实现双手柄与头戴时间坐标系的同步。

蓝牙双手柄的实现是通过一个头戴设定自身通信间隔为固定值,利用nordicble协议栈间隔大于3ms可以重新连接新设备的特性,实现同时连接两个手柄。具体是在蓝牙低功耗100hz单手柄通信的基础上,参考射频rf(radiofrequency)私有通信协议,将蓝牙芯片的通信参数修改为同时支持双蓝牙,并将蓝牙芯片的通信间隔固定为100hz,禁止蓝牙芯片进入低功耗。按照以上修改可以实现,ble主设备同时连接双ble从设备并实现100hz通信。

本申请的发明人在以上实现ble双手柄通信后,发现在双手柄与头戴设备的时序不统一时,头戴设备获取的手柄姿态在头戴应用场景中显示不协调,手柄偏移较大,跟随性不理想。为了解决这一技术问题,本申请通过头戴设备主动发起时序统一操作,将双手柄的时间坐标系统一到头戴设备时间坐标系上,从而提高手柄跟随性,保证手柄姿态协调,减小了手柄在头戴中的偏移。

图1是本申请一个实施例头戴系统的时间同步方法的流程图,参见图1本实施例的头戴系统的时间同步方法应用于所述头戴系统的第一手柄或第二手柄,包括下列步骤:

步骤s101,与所述头戴系统的头戴设备建立蓝牙连接,通过蓝牙连接接收所述头戴设备发送的用于进行时间同步的时间戳;

步骤s102,依据所述时间戳以及所述时间戳的接收时间,计算第一时间差,并依据所述时间戳的接收时间对所述第一时间差进行筛选,得到有效的第一时间差,由预设时间段内的所述有效的第一时间差,获得时间校准值,基于所述时间校准值进行系统时间校准。

由图1所示可知,本实施例的头戴系统的时间同步方法,应用于各手柄,每个手柄均与头戴设备建立蓝牙连接,经蓝牙通道接收同步时间戳,然后基于同步时间戳以及接收时间计算出时间差,计算出时间差之后为保证同步精度本实施例对时间差进行筛选,利用筛选后的有效时间差计算时间校准值,基于时间校准值进行系统时间校准。从而将头戴时间与手柄时间统一到同一个时间轴上,减小手柄在头戴设备中的漂移,使手柄与头戴显示保持更高的同步性,手柄在头戴中显示更加流畅,跟随性更好。

需要说明的是,考虑到系统资源开销和应用需求,本申请的时间同步是指允许时间误差(如,1ms)以内的同步,通过保证头戴与手柄的时间在1ms的误差范围内,此时手柄生成的姿态信息所包含的手柄时间戳,与头戴时间戳的差值保持在1ms之内,在算法上认为手柄与头戴处于同一时间坐标系下,即实现了头戴与手柄在时间上的一致性,使两者之间更加协调流畅。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的对象在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

图2是本申请一个实施例基于头戴系统的时间同步提高手柄跟随性的应用流程图,下面结合图2和一个具体应用场景对本申请实施例的头戴系统的时间同步方法的实现细节进行说明。

参见图2,流程开始执行步骤s201,头戴生成自身时间戳;

需要说明的是,步骤s201至步骤s203是时间同步前,手柄、头戴各自运行,并使用自身的时间戳,具体的,在步骤s201中头戴生成自身时间戳。

步骤s202,第一手柄、第二手柄生成自身时间戳;

步骤s203,头戴分别连接第一手柄、第二手柄;

在本步骤中,头戴同时连接两个手柄,搭建通信平台,由于低功耗蓝牙能在保持同等通信范围的同时显著降低功耗和成本,因此这里的连接为蓝牙低功耗连接;

步骤s204,头戴下发自身时间戳;

在建立蓝牙通信之后,头戴设备开始下发自身时间戳以使得手柄收到头戴时间戳后进行时间同步,本实施例中,头戴作为蓝牙主设备,主动发起时序统一操作。

步骤s205,各手柄收到头戴时间戳,分别生成时间差,存入环形buffer;

各手柄收到头戴时间戳后,依据时间戳、时间戳的接收时间两种信息计算第一时间差,将第一时间差存入缓存中,本实施例,采用环形buffer存储第一时间差,环形buffer用于表示一个固定尺寸、头尾相连的缓冲区的数据结构。

举例来说,第一手柄接收到的时间戳指示的头戴设备的时间点为a,第一手柄接收到时间戳的本地时间的时间点为b,那么b减a可得一个时间差,即第一时间差。然后手柄将计算出的第一时间差存入环形buffer中。

另外,本实施例的头戴周期性下发自身时间戳,但由于延迟、丢包、重发等因素,时间戳到达手柄的时间并不相同,为了提高时间同步精度,本实施例手柄除了计算接收时间(接收时刻手柄本地时间)与时间戳的第一时间差之外,还对第一时间差进行筛选,一种筛选方式是,手柄依据一个时间戳,计算出一个第一时间差之后,将该时间戳对应的第一接收时间与前一个时间戳所对应的第二接收时间做差,得到第二时间差,然后将第二时间差与阈值比较,如果小于阈值则确定当前计算出的这个第一时间差是有效的,将有效的第一时间差放入环形buffer。

基于蓝牙稳定通信,接收时间戳的手柄本地时刻前后2次本地时间差是稳定的,因此,本实施例通过手柄接收前后2次时间戳的时间差,来过滤干扰或者重发等无效的时间戳。

比如,当前接收到的时间戳为时间戳1,根据时间戳1以及时间戳1的接收时间t1,计算出第一时间差d1,将接收时间t1与前一个时间戳的接收时间t2做差,得到第二时间差d2,比较第二时间差d2与预设时间阈值的大小,阈值比如是1秒,如果第二时间差d2小于预设时间阈值,那么则确定第一时间差d1是有效的,可存入环形buffer。

由于连接刚建立时通常都是不稳定的,所以本实施例中,连续采集n组数据放入环形buffer,这里的n比如是10,环形buffer的大小可调。那么初始化时,可以不对第一时间差的有效性进行判断,计算出一个第一时间差即可放入环形buffer,此时由于并计算均值,仅仅更新buffer,所以可以不对第一时间差的有效性进行判断,待稳定后正常通信时,再每次对接收到的第一时间差进行一下判断利用有效的时间差更新buffer。

步骤s206,手柄每次收到头戴时间戳,更新当前buffer,计算环形buffer平均值,使用平均值校对手柄时间;

手柄每收到一个头戴时间戳后,利用接收时间以及头戴时间戳计算出第一时间差,利用计算的新的第一时间差更新当前buffer,更新可以理解为将最新的第一时间差存入环形buffer,将最旧的第一时间差从环形buffer删除,以此保证计算出的时间校准值是最新的。

本实施例中为了保证时间同步的精度,采用取平均值的方式计算时间校准值,具体是由预设时间段内的有效的第一时间差,获得时间校准值,包括:

获取所述环形缓冲区中当前存储的所述有效的第一时间差,基于获取的所述有效的第一时间差,得到所述有效的第一时间差的时间差均值,将所述时间差均值作为所述时间校准值。

这里的环形buffer的大小为10,本实施例,手柄每1秒计算一次时间差均值,均值是通过将环形buffer中10个第一时间差求和并除以10得到。计算出时间差均值后即得到时间校准值。

步骤s207,手柄imu采用校对后的时间作为时间戳;

本实施例中对时间进行校正的目的是为了提高手柄在头戴中的应用,比如提高手柄在头戴显示中的协调性、减小偏移。基于此,本实施例在基于时间校准值进行系统时间校准之后,该方法还包括:所述第一手柄基于校准后的系统时间,为所述第一手柄的姿态数据添加手柄时间戳,将包含手柄时间戳的姿态数据发送至所述头戴设备;所述第二手柄基于校准后的系统时间,为所述第二手柄的姿态数据添加手柄时间戳,将包含手柄时间戳的姿态数据发送至所述头戴设备。

比如,手柄的imu(inertialmeasurementunit,惯性测量单元)采用校对后的时间作为时间戳;imu是测量物体三轴姿态角(角速率)以及加速度的装置。一般情况,一个imu包含了三个单轴的加速度计和三个单轴的陀螺仪,加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺仪检测载体相对于导航坐标系的角速度信号,测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。

本实施例的手柄中的imu在采集到姿态信息后,基于手柄系统时间以及所述时间校准值重新确定校准后时间,为姿态信息添加指示校准后时间的时间戳。

步骤s208,手柄打包当前姿态信息;

手柄将带有时间戳的当前姿态信息打包,发送给头戴设备,供头戴设备使用。

步骤s209,头戴生成手柄模型;

头戴设备利用手柄发送的姿态数据,生成手柄模型,显示在头戴中。

至此,实现手柄时间坐标系与头戴时间坐标系的同步,保证了手柄姿态在头戴中的协调,减小了角度偏移,改善了用户体验。

图3是本申请一个实施例头戴系统的时间同步的时序图,下面结合图3,对本实施例的头戴系统的时间同步的原理和过程进行说明。

参见图3,横轴为时间轴,t0时刻:头戴设备连接第一手柄,搭起通信平台;

在t0时刻,头戴连接手柄后,头戴和手柄分别运行自身独立时钟。因为开机时间不同,头戴与手柄的时间起点不一致,本实施例中选用头戴时间作为参考时间。

t1时刻:头戴生成自身时间戳,将自身时间作为标准时间下发;

t11时刻:手柄在连接头戴后,根据自身时间以及收到的头戴时间戳,生成时间差t’11,存入自身的用于时间校正的环形buffer中;

本实施例中,在初始化阶段,手柄连续接收10个头戴时间戳,并计算出10个时间差后填满环形buffer。

t2时刻:头戴下发同步时间戳;

本实施例头戴周期性(比如间隔100毫秒)下发用于进行时间同步的时间戳,而在连接刚刚建立的阶段比如前3-4秒的时间连接通常是不稳定的,因此,在初始化的前几秒头戴是连续下发同步时间戳,手柄接收时间戳并不判断时间戳的有效性。

本实施例中,t1时刻至t2时刻每隔100ms下发一次时间戳,如图3所示,中间有10个时间戳下发没有画出,而用省略号表示。开始建立连接时不判断时间戳有效性,直接填入环形buffer,这样能够满足快速生成时间校准值的要求,所以开机连接时会有3到4秒的时间来稳定时间校准值,最差10秒。

t22时刻:手柄更新buffer,计算时间差均值;

在t22时刻,手柄依据接收的时间戳、接收时间计算出时间差后,利用时间差更新环形buffer,并依据环形buffer中的时间差,生成时间差均值,基于时间差均值,校正自身时间坐标系,使头戴与手柄的时间相差1ms以内。

t3时刻:数据通信;

t3时刻,连接稳定并进入正常通信阶段,头戴下发查询命令,用于查询手柄的姿态数据。

t33时刻:手柄上报更新时间戳后的姿态;

手柄基于时间差均值,校正自身时间坐标系之后,为姿态数据添加手柄时间戳,而后上传手柄的当前姿态数据;

t4时刻:1s时间到,头戴下发头戴当前时间戳;

正常通信1s后,头戴下发当前时间戳,用于进行新一周期的时间同步;

t44时刻:接收当前时间戳,计算时间差,更新buffer;

手柄接收到头戴的当前时间戳后计算第一时间差,利用第一时间差更新环形buffer,并基于更新后的环形buffer生成新的时间校准值,用于校准自身时间,并利用新的校准后的时间为自身姿态信息添加手柄时间戳后,上传到头戴;如此重复直至通信断开。

由图3所示可知,本实施例头戴系统的时间同步方法,手柄在初始连接阶段的t11时刻收到头戴下发的时间戳后,生成时间差存入环形buffer中,同时上传当前时刻姿态信息。也就是说,本实施例建立连接的过程中也需要上传手柄姿态,供头戴生成手柄模型,在头戴生成手柄模型时,手柄位置是固定的初始位置,用户晃动手柄,才得到实时的姿态,从手柄上传姿态信息到头戴中的手柄模型可以正常应用,大概在3到4s之间,所以用户使用时已经是稳定的状态。

在t3时刻,即从连接建立到进入稳定通信阶段,头戴下发自身时间戳,要求手柄生成新的时间差更新手柄时间坐标系,生成相对于头戴的新的时间坐标系,手柄同时上传当前姿态信息,此后每1s内头戴下发10次头戴的时间戳,指示手柄更新环形buffer,使用buffer计算均值,利用均值校对当前时间,实现手柄时间坐标系与头戴坐标系的同步。

图3中,示意了从t33时刻手柄上传当前姿态信息到头戴,但需要说明的是,手柄与头戴的每次通信都会上传当前姿态信息,蓝牙通信是双向通信的,每次头戴的下发,会伴随着手柄的数据读取,图3中为了书写方便,没有画数据填包的过程,只特意标出了t3时刻开始是带着校准过时间的姿态数据,在时间同步之外的时间都是头戴ble下发的数据通信的请求。

另外图3中仅示意了一个手柄,即第一手柄与头戴设备的通信,由于本实施例的两个手柄在时间同步流程上是无差别的,为保持简要,第二手柄的时间同步可参见本实施例前述对第一手柄的说明,此处不再赘述。

图4是本申请一个实施例的手柄的框图,参见图4,本实施例的手柄400包括:蓝牙模块401以及时间校准模块402;

所述蓝牙模块401,用于与头戴系统的头戴设备建立蓝牙连接,通过蓝牙连接接收所述头戴设备发送的时间戳;

所述时间校准模块402,用于依据所述时间戳以及所述时间戳的接收时间,计算第一时间差,并依据所述时间戳的接收时间对所述第一时间差进行筛选,得到有效的第一时间差,由预设时间段内的所述有效的第一时间差,获得时间校准值,基于所述时间校准值进行系统时间校准。

在本申请的一个实施例中,所述时间校准模块402,具体用于依据第一时间戳的第一接收时间与第二时间戳的第二接收时间,获得第二时间差;所述第二时间戳是所述第一时间戳的上一个时间戳;

如果所述第二时间差小于预设时间阈值,则确定与所述第一时间戳对应的第一时间差为有效的第一时间差。

在本申请的一个实施例中,所述时间校准模块402,具体用于在所述得到有效的第一时间差之后,将所述有效的第一时间差存储至环形缓冲区;获取所述环形缓冲区中当前存储的所述有效的第一时间差,基于获取的所述有效的第一时间差,得到所述有效的第一时间差的时间差均值,将所述时间差均值作为所述时间校准值。

需要说明的是,关于图4所示手柄中的各部件所执行的各功能的举例解释说明,与前述时间同步方法实施例中的举例解释说明一致,这里不再一一赘述。

图5是本申请一个实施例的头戴设备的框图,参见图5,头戴设备500包括蓝牙芯片501和处理器502;

所述蓝牙芯片501用于与图4所示的手柄400建立蓝牙连接;

所述处理器502,用于生成时间戳,通过蓝牙连接将所述时间戳发送至所述手柄,以使得所述手柄依据所述时间戳以及所述时间戳的接收时间,计算第一时间差,并依据所述时间戳的接收时间对所述第一时间差进行筛选,得到有效的第一时间差,由预设时间段内的所述有效的第一时间差,获得时间校准值,基于所述时间校准值进行系统时间校准。

在本申请的一个实施例中,所述头戴设备的蓝牙芯片501,还用于按照预设时间间隔发送通信指令给所述手柄,以获取所述手柄的姿态数据,所述预设时间间隔为大于设定阈值的时间间隔。比如预设时间间隔为1秒。

需要说明的是,关于图5所示头戴设备中的各部件所执行的各功能的举例解释说明,与前述时间同步方法实施例中的举例解释说明一致,这里不再一一赘述。

图6是本申请一个实施例的头戴系统的框图,参见图6,本实施例的头戴系统600包括至少一个如前述的手柄400,以及如前述的头戴设备500。图6中示意了手柄为两个的情况,这两个手柄分别是第一手柄和第二手柄。

头戴设备500与第一手柄、第二手柄之间建立蓝牙连接。目前一个头戴设备中作为蓝牙主设备,两个手柄作为蓝牙从设备,模拟实现了一个头戴配备两个手柄,并且三个设备的时间坐标系的统一,设备协调性更好,提高了头戴系统的市场竞争力。

本申请实施例的头戴系统中,头戴和手柄分别以各自的时钟运行,以头戴时钟作为参考时钟校准手柄的系统时钟,基于ble100hz的稳定通信,头戴与手柄之间收发数据形成一个不大于允许误差的时间差;采用环形buffer,采集预设个数个头戴与手柄的时间差,取均值后校正手柄时间坐标系,使之与头戴时钟相差不超过1ms,手柄每1s更新一次环形buffer,计算新的时间校准值,从而动态校正手柄的时间坐标系,使手柄与头戴时间误差保持在1ms之内,提高了手柄在头戴显示中的协调性,改善了用户体验。按照本发明操作,抗干扰性好,手柄在头戴中更加流畅、长时间使用偏移小。双手柄操作可操作空间更大。

综上所述,应用本申请实施例的头戴系统及其时间同步方法,将手柄的时间坐标系统一到头戴设备的时间坐标系上,减小了手柄在头戴设备中的角度漂移,使手柄在头戴设备中的显示更加流畅,提高了用户体验。

以上所述,仅为本申请的具体实施方式,在本申请的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本申请的目的,本申请的保护范围以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1