空间定位方法、装置、电子设备及存储介质与流程

文档序号:21816317发布日期:2020-08-11 21:26阅读:159来源:国知局
空间定位方法、装置、电子设备及存储介质与流程

本发明涉及计算机应用技术领域,特别是涉及一种空间定位方法、装置、电子设备及存储介质。



背景技术:

随着虚拟现实(virtualreality,vr)/增强现实(augmentedreality,ar)的发展,作为其主要构成技术之一的空间定位技术也越来越重要。现有空间定位解决方案有:消费级的oculusinsideout(光学跟踪系统),htclighthouse(定位追踪系统)等,其中,oculusinsideout在定位朝向上具有很高的精准度,但是在大空间长距离移动后,存在定位位置的漂移,定位精准度较低。而htclighthouse,受限于基站的定位有效距离和遮挡,以及追踪器移动过程中参与定位的基站数目,定位会产生厘米级的抖动;同时,追踪器移动过程中如果完全丢失定位基站,恢复定位后,其位置和朝向会出现错误,使得定位精准度较低。

总体而言,现有空间定位技术中的定位精准度较低。



技术实现要素:

本发明实施例的目的在于提供一种空间定位方法、装置、电子设备及存储介质,以提高空间定位精准度。具体技术方案如下:

在本发明实施的第一方面,首先提供了一种空间定位方法,包括:

获得待定位对象的第一位置信息,所述第一位置信息包括基于一种定位系统得到的位置信息;

获得待定位对象的第二位置信息,所述第二位置信息包括基于另一种定位系统得到的位置信息;

根据所述第一位置信息对所述第二位置信息进行校准,得到所述待定位对象的定位位置信息。

可选的,所述第一位置信息是通过第一定位系统对应的第一定位系统计算方式得到的位置信息;所述第二位置信息是通过第二定位系统对应的第二定位系统计算方式得到的位置信息;

根据所述第一位置信息对所述第二位置信息进行校准,得到所述待定位对象的定位位置信息,包括:

根据所述第一位置信息和所述第二位置信息,确定针对所述待定位对象的位置偏移信息;

根据所述位置偏移信息校准所述第二位置信息,得到所述待定位对象的定位位置信息。

可选的,所述获得待定位对象的第一位置信息,包括:

获取部署在所述待定位对象上的追踪器的物理位置信息;

根据所述物理位置信息,以及物理坐标系与第一定位系统坐标系的相对关系,计算所述部署在待定位对象上的追踪器基于所述第一定位系统坐标系的第一位置信息,其中,所述第一定位系统坐标系与所述第一定位系统计算方式对应。

可选的,所述根据所述第一位置信息和所述第二位置信息,确定针对所述待定位对象的位置偏移信息,包括:

根据所述第一位置信息和所述第二位置信息,通过预设求解公式:toculus*roculus*hoffset=pworld,利用最小二乘法,计算所述部署在所述待定位对象上的追踪器与所述待定位对象的偏移信息,其中,所述第二位置信息包括toculus和roculus,toculus为所述待定位对象在所述第二定位系统坐标系的位移信息,roculus为所述待定位对象在所述第二定位系统坐标系的相对旋转信息,hoffset为部署在所述待定位对象上的追踪器与待定位对象的偏移信息,pworld为部署在所述待定位对象上的追踪器的第一位置信息;

所述根据所述位置偏移信息校准所述第二位置信息,得到所述待定位对象的定位位置信息,包括:

根据所述部署在所述待定位对象上的追踪器与所述待定位对象的偏移信息,校准所述第二位置信息,得到所述待定位对象的定位位置信息。

可选的,所述根据所述部署在所述待定位对象上的追踪器与所述待定位对象的偏移信息,校准所述第二位置信息,得到所述待定位对象的定位位置信息,包括:

针对当前时间之前的预设时间范围内的多个时刻,计算在所述时刻的所述初始校准信息与所述第一位置信息之间的偏移量;计算多个时刻的偏移量的加权和,并将所述加权和作为抖动偏移信息;其中,初始校准信息为将根据所述部署在所述待定位对象上的追踪器与所述待定位对象的偏移信息,校准所述第二位置信息后的信息;

根据所述抖动偏移信息校准所述第二位置信息,得到所述待定位对象的定位位置信息。

可选的,在所述根据所述第一位置信息和所述第二位置信息,确定针对所述待定位对象的位置偏移信息之后,所述方法还包括:

获取所述待定位对象的第一加速度信息;

对所述第一加速度信息进行二重积分,得到在预设时间段内的第一偏移信息;

通过所述第二定位系统计算方式,计算在所述预设时间段内的第二偏移信息;

计算所述第一偏移信息与所述第二偏移信息之间的差值,并将所述差值作为校正信息;

所述根据所述位置偏移信息校准所述第二位置信息,得到所述待定位对象的定位位置信息,包括:

根据所述位置偏移信息和所述校正信息校准所述第二位置信息,得到所述待定位对象的定位位置信息。

可选的,所述方法还包括:

获取部署在空间中的至少两个追踪器在所述物理坐标系下的物理位置信息;

通过所述第一定位系统计算方式,计算所述至少两个追踪器在所述第一定位系统坐标系的映射位置信息;

根据所述至少两个追踪器的所述物理位置信息和所述映射位置信息,通过预设转换公式,计算所述物理坐标系与第一定位系统坐标系的相对关系。

在本发明实施的第二方面,还提供了一种空间定位装置,包括:

第一获得模块,用于获得待定位对象的第一位置信息,所述第一位置信息包括基于一种定位系统得到的位置信息;

第二获得模块,用于获得待定位对象的第二位置信息,所述第二位置信息包括基于另一种定位系统得到的位置信息;

校准模块,用于根据所述第一位置信息对所述第二位置信息进行校准,得到所述待定位对象的定位位置信息。

在本发明实施的第三方面,还提供了提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序时,实现第一方面所述的方法步骤。

在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法步骤。

在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述方法的方法步骤。

本发明实施例提供的空间定位方法、装置、电子设备及存储介质,可以获得待定位对象的第一位置信息,第一位置信息包括基于一种定位系统得到的位置信息;获得待定位对象的第二位置信息,第二位置信息包括基于另一种定位系统得到的位置信息;根据第一位置信息对第二位置信息进行校准,得到待定位对象的定位位置信息。可以通过基于一种定位系统得到的位置信息,对通过基于另一种定位系统得到的位置信息进行校准,以得到待定位对象的定位位置信息,能够提高定位精准度。

当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的空间定位方法的一种流程图;

图2为本发明实施例提供的空间定位方法的另一种流程图;

图3为本发明实施例中获得待定位对象的第一位置信息的流程图;

图4为本发明实施例中确定物理坐标系与第一定位系统坐标系的相对关系的流程图;

图5为本发明实施例中计算校正信息的流程图;

图6为本发明提供的具体实施例的流程示意图;

图7为本发明实施例提供的空间定位装置的一种结构示意图;

图8为本发明实施例提供的空间定位装置的另一种结构示意图;

图9为本发明实施例提供的空间定位装置的又一种结构示意图;

图10为本发明实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

本发明实施例提供了一种空间定位方法,如图1所示,可以包括:

s101,获得待定位对象的第一位置信息,第一位置信息包括基于一种定位系统得到的位置信息;

s102,获得待定位对象的第二位置信息,第二位置信息包括基于另一种定位系统得到的位置信息;

s103,根据第一位置信息对第二位置信息进行校准,得到待定位对象的定位位置信息。

本发明实施例中,可以通过基于一种定位系统得到的位置信息,对通过基于另一种定位系统得到的位置信息进行校准,以得到待定位对象的定位位置信息,能够提高定位精准度。

本发明提供的空间定位方法可以应用于待定位对象活动在较小范围的场景,如待定位对象在一个面积在预设范围内的房间移动的场景,预设范围如100平米等。可以通过电子设备执行本发明实施例提供的空间定位方法,其中,电子设备可以是具有计算功能的设备等,如具有处理器的设备,等等。

一种实施例中,本发明提供的空间定位方法可以应用于vr领域,在vr领域中,可以通过vr产品如vr头显等设备执行本发明实施例提供的空间定位方法。

现有技术在vr领域中,为了满足对精准度的要求,可以采用商业级的optitrack(全身动作捕捉系统)和stepvr(激光定位系统)进行定位,optitrack和stepvr的方案具有较高的定位精准度,但是代价昂贵,应用于100平方米的空间需要多于40个的定位摄像头,每个成本在几千至上万左右,不利于vr产品的落地。

总体而言,optitrack和stepvr的定位精准度高,但是会使得vr产品落地成本却很高;而oculusinsideout和htclighthouse虽然能够使vr产品落地成本较低,但是,定位精准度却不是很高。即现有的空间定位技术存在vr产品低落地成本与高定位精准度不可兼得的问题。

本发明实施例中,可以通过定位精准度较低的定位系统互相校准,提高定位精准度,以替代定位精准度较高,但是落地成本较高的定位系统,如此可以实现在保证定位精准度的同时,降低落地成本,以实现高定位精准度与低落地成本的兼顾。如通过htclighthouse辅助校准oculusinsideout定位的,利用消费级的oculusinsideout和htclighthouse在精准度误差允许的范围内替代商业optitrack或stepvr方案,可以应用于全感vr项目,降低落地成本。

参考图1,对本发明实施例提供的空间定位方法进行详细说明。

s101,获得待定位对象的第一位置信息。

具体地,可以根据不同环境或者不同需求,确定待定位对象,如待定位对象可以为vr头显等。

第一位置信息包括基于一种定位系统得到的位置信息。

一种可选的实施例中,第一位置信息是通过第一定位系统对应的第一定位系统计算方式得到的位置信息。

第一定位系统可以包括能够实现定位的系统,如第一定位系统可以包括htclighthouse、oculusinsideout、optitrack或stepvr等等。第一定位系统对应的第一定位系统计算方式则可以理解为第一定位系统在实现定位的过程中所采用的计算方式的统称。

一种可选的实施例中,第一定位系统为定位追踪系统htclighthouse。htclighthouse对应的定位系统计算方式可以包括通过使用光学镜头和马克点的实现定位的方式。具体地lighthouse,由两个基站构成:每个基站里有一个红外led阵列,两个转轴互相垂直的旋转的红外激光发射器。转速为10ms一圈。基站的工作状态是这样的:20ms为一个循环,在循环开始的时候红外led闪光,10ms内x轴的旋转激光扫过整个空间,y轴不发光;下10ms内y轴的旋转激光扫过整个空间,x轴不发光。高速摄影机下的lighthouse基站valve在头显和控制器上安装了很多光敏传感器。在基站的led闪光之后就会同步信号,然后光敏传感器可以测量出x轴激光和y轴激光分别到达传感器的时间。这个时间就正好是x轴和y轴激光转到这个特定的,点亮传感器的角度的时间,于是传感器相对于基站的x轴和y轴角度也就已知了;分布在头显和控制器上的光敏传感器的位置也是已知的,于是通过各个传感器的位置差,就可以计算出vr头显的位置和运动轨迹。vr头显的位置和运动轨迹可以理解为确定出的待定位对象的第一位置信息。

s102,获得待定位对象的第二位置信息。

第二位置信息包括基于另一种定位系统得到的位置信息。

一种可选的实施例中,第二位置信息是通过第二定位系统对应的第二定位系统计算方式得到的位置信息。

第二定位系统可以包括能够实现定位的系统。如可以包括htclighthouse、oculusinsideout、optitrack或stepvr等等。第二定位系统对应的第二定位系统计算方式则可以理解为第二定位系统在实现定位的过程中所采用的计算方式的统称。

一种可选的实施例中,第二定位系统为光学跟踪系统oculusinsideout。oculusinsideout对应的定位系统计算方式可以包括:光源发射装置安装在被跟踪目标,也即待定位对象上,获取光源信号的传感器/标记点固定在使用环境中,其原理都是以三角定位算法为基础,测量目标反射或者是主动发射的光线,并经过计算机特殊的视觉算法可转换成目标的空间位置数据,从而实现对目标的位置跟踪。在vr设备领域,主要是在vr头显上安装摄像头,让vr头显自己检测外部环境变化,借助计算机或者自身的算法芯片计算出vr头显的位置信息。

s103,根据第一位置信息对第二位置信息进行校准,得到待定位对象的定位位置信息。

具体地,可以计算基于一种定位系统得到的位置信息,与基于另一种定位系统得到的位置信息之间的差异,通过该差异对第二位置信息进行校准,得到待定位对象的定位位置信息。

待定位对象的定位位置信息也可以理解为校准后的第二位置信息。

一种可选的实施例中,vr领域中,通过vr头显的位置信息表示人的位置信息。待定位对象的定位位置信息包括待定位对象在vr环境中的位置信息。

一种可选的实施例中,第一定位系统为htclighthouse,第二定位系统为oculusinsideout,则本发明实施例中通过利用htclighthouse确定的待定位对象的位置信息,对利用oculusinsideout确定的待定位对象的位置信息进行辅助校准。

本发明实施例中,可以结合不止一种的定位系统的定位系统计算方式确定待定位对象的定位位置信息,可以通过一种定位系统计算方式得到的待定位对象的位置信息,对通过另一种定位系统计算方式得到的待定位对象的位置信息进行校准,能够提高定位精准度。

一种可选的实施例中,如图2所示,s103可以包括:

s1031,根据第一位置信息和第二位置信息,确定针对待定位对象的位置偏移信息。

具体地,可以根据第一位置信息和第二位置信息,通过预设求解公式:toculus*roculus*hoffset=pworld,利用最小二乘法,计算部署在待定位对象上的追踪器与待定位对象的偏移信息,其中,第二位置信息包括toculus和roculus,toculus为待定位对象在第二定位系统坐标系的位移信息,roculus为待定位对象在第二定位系统坐标系的相对旋转信息,hoffset为部署在待定位对象上的追踪器与待定位对象的偏移信息,pworld为部署在待定位对象上的追踪器的第一位置信息。

得到的部署在待定位对象上的追踪器与待定位对象的偏移信息,即为针对待定位对象的位置偏移信息。

其中,pworld,tocuius和roculus已知,预设求解公式可以理解为1个多元一次线性方程组,则可以利用最小二乘法,对上述预设求解公式中未知的hoffset进行求解。

通过最小二乘法求解,可以提高偏移信息的准确性,进一步可以提高辅助校准的准确度。

s1032,根据位置偏移信息校准第二位置信息,得到待定位对象的定位位置信息。

一种可选实施例中,可以根据部署在待定位对象上的追踪器与待定位对象的偏移信息,校准第二位置信息,得到待定位对象的定位位置信息。

具体地,可以通过如下公式:

hworld=toculus*roculus*hoffset

其中,hworld为校准后的第二位置信息。

一种可实现方式中,可以将利用hoffset校准后的第二位置信息,即hworld作为待定位对象的定位位置信息。

另一种可实现方式中,即不是将通过位置偏移信息校准第二位置信息后的结果,直接确定为待定位对象的定位位置信息,而是将通过位置偏移信息校准第二位置信息后的结果作为初始校准信息,后续进一步进行校准。也即,将利用hoffset校准后的第二位置信息,即hworld作为初始校准信息。

具体地,根据部署在待定位对象上的追踪器与待定位对象的偏移信息,校准第二位置信息,得到待定位对象的定位位置信息,包括:

针对当前时间之前的预设时间范围内的多个时刻,计算在时刻的初始校准信息与第一位置信息之间的偏移量;计算多个时刻的偏移量的加权和,并将加权和作为抖动偏移信息。

其中,初始校准信息为将根据部署在待定位对象上的追踪器与待定位对象的偏移信息,校准第二位置信息后的信息。

具体地,可以通过如下公式进行计算:

其中,coffset为抖动偏移信息,wj为时刻j对应的权重,m为多个时刻的个数。

根据抖动偏移信息校准第二位置信息,得到待定位对象的定位位置信息。

具体地,根据抖动偏移信息,通过如下公式校准第二位置信息,得到待定位对象的定位位置信息:

hworld/=toculus*roculus*coffset

其中,hworld/为根据抖动偏移信息校准第二位置信息,可以将hworld/作为得到的待定位对象的定位位置信息。

本发明实施例中,可以计算多个时刻的初始校准信息与第一位置信息之间的偏移量,也可以理解为定位偏移存在的抖动,将每一次的定位偏移当成1个样本处理,最终采用的校准偏移也即用于校准的抖动偏移信息,由一定时间间隔范围内的样本加权求和得到,如此能够获得平滑的定位偏移,也即抖动偏移信息用于校准,如此能够提高校准的精准度,提高得到的待定位对象的定位位置信息的精准度。

一种可选的实施例中,s101:获得待定位对象的第一位置信息,如图3所示,可以包括:

s1011,获取部署在待定位对象上的追踪器的物理位置信息。

部署在待定位对象上的追踪器物理位置信息,即部署在待定位对象上的追踪器在物理坐标系下的位置信息,物理坐标系也可以理解为空间坐标系,物理位置信息可以包括在物理坐标系下的位移和旋转等信息。

s1012,根据物理位置信息,以及物理坐标系与第一定位系统坐标系的相对关系,计算部署在待定位对象上的追踪器基于第一定位系统坐标系的第一位置信息。

其中,第一定位系统坐标系与第一定位系统计算方式对应。

为了确定物理坐标系与第一定位系统坐标系的相对关系,本发明实施例可以在空间中部署固定的多个追踪器作为空间锚点,通过空间锚点在不同坐标系下的坐标,计算不同坐标系之间的相对关系。

具体地,在根据物理位置信息,以及物理坐标系与第一定位系统坐标系的相对关系,计算部署在待定位对象上的追踪器基于第一定位系统坐标系的第一位置信息之前,如图4所示,还可以包括:

s1013,获取部署在空间中的至少两个追踪器在物理坐标系下的物理位置信息。

部署在空间中的追踪器可以通过第一定位系统计算方式检测到的物体。一种可选的实施例中,第一定位系统为htclighthouse,则追踪器可以是部署在空间中的光学传感器、红外激光发射器等等。

可以将多个追踪器中的两个作为一个锚点对,根据一个锚点对在不同坐标系中的位置信息,确定两个坐标系之间的相对关系。

s1014,通过第一定位系统计算方式,计算至少两个追踪器在第一定位系统坐标系的映射位置信息。

即将部署在空间中的追踪器映射至第一定位系统坐标系中的,得到部署在空间中的追踪器在第一定位系统坐标系中的位置信息,即映射位置信息。

具体地,可以将针对一个锚点对,将锚点对包括的两个锚点映射至第一定位系统坐标系,其中,锚点对包括的两个锚点分别为部署在空间中的一个追踪器。

本发明一种可选的实施例中,第一定位系统为定位追踪系统htclighthouse。htclighthouse对应的定位系统计算方式可以包括通过使用光学镜头和马克点的实现定位的方式。具体地,第一定位系统计算在上述实施例中已经进行了详细描述,这里不再赘述。

s1015,根据至少两个追踪器的物理位置信息和映射位置信息,通过预设转换公式,计算物理坐标系与第一定位系统坐标系的相对关系。

针对每个锚点对,通过预设转换公式,计算物理坐标系与第一定位系统坐标系的相对关系。其中,物理坐标系与第一定位系统坐标系的相对关系可以包括物理坐标系与第一定位系统坐标系的相对旋转信息,以及物理坐标系与第一定位系统坐标系的相对位移信息。

具体地,针对每个锚点对,通过预设转换公式:

计算roffset和poffset,roffset为物理坐标系与第一定位系统坐标系的相对旋转信息,poffset为物理坐标系与第一定位系统坐标系的相对位移信息。

其中,panchor1为锚点对中一锚点在物理坐标系中的物理位置信息,panchor2为锚点对中另一锚点在物理坐标系中的物理位置信息,p1为锚点对中一锚点在第一定位系统坐标中的映射位置信息,p2为锚点对中另一锚点在第一定位系统坐标中的映射位置信息。

为了提高计算的相对旋转信息和相对位移信息的准确度,本发明可选的实施例中,可以在空间中部署多个追踪器,其中,将两两作为一个锚点对,针对每个锚点对分别计算物理坐标系与第一定位系统坐标系的相对旋转信息,以及物理坐标系与第一定位系统坐标系的相对位移信息,并分别计算针对各个锚点对计算的相对旋转信息和相对位移信息的加权和,具体地,通过如下公式计算:

其中,poffset(i)为针对锚点对i计算的相对位移信息,n为锚点对的个数,poffset为物理坐标系与第一定位系统坐标系的相对位移信息,roffset(i)为针对锚点对i计算的相对旋转信息,roffset为物理坐标系与第一定位系统坐标系的相对旋转信息。

在计算得到物理坐标系与第一定位系统坐标系的相对关系,也即物理坐标系与第一定位系统坐标系的相对位移信息和相对旋转信息后,根据物理位置信息,以及物理坐标系与第一定位系统坐标系的相对关系,计算部署在待定位对象上的追踪器的第一位置信息。

具体地可以通过如下公式计算:

pworld=poffset+ptracker*roffset

其中,pworld为部署在待定位对象上的追踪器的第一位置信息,ptracker为部署在待定位对象上的追踪器的物理位置信息。

另一种可实现方式中,在s1031之后,如图5所示,还可以包括:

s501,获取待定位对象的第一加速度信息。

具体地,可以通过加速度传感器获取第一加速度信息。

一种具体的实施例中,在vr设备领域,待定位对象为vr设备,可以通过vr设备中的加速度传感器、惯性硬件导航等获取头显的加速度信息。

s502,对第一加速度信息进行二重积分,得到在预设时间段内的第一偏移信息。

其中,o′offset为第一偏移信息,acce为第一加速度信息,start为预设时间段的起始时间,end为预设时间段的终止时间。

s503,通过第二定位系统计算方式,计算在预设时间段内的第二偏移信息。

分别通过第二定位系统计算方式,计算起始时间start对应的位置信息ostart,终止时间end的位置信息oend,可以通过如下公式计算起始时间start至终止时间end时间段内的第二偏移信息:

ooffset=oend--ostart

其中,ooffset为第二偏移信息。

s504,计算第一偏移信息与第二偏移信息之间的差值,并将差值作为校正信息。

校正信息可以为o′offset-ooffset,或者可以为ooffset-o′offset。

s1032中根据位置偏移信息校准第二位置信息,得到待定位对象的定位位置信息,可以包括:

根据位置偏移信息和校正信息校准第二位置信息,得到待定位对象的定位位置信息。

具体地,可以通过如下公式:

hworld//=tocutus*roculus*[hoffset+(o′offset-ooffset)]

其中,hworld//为根据位置偏移信息和校正信息校准后的第二位置信息,可以将hworld//作为待定位对象的定位位置信息。

另一种可实现方式中,可以根据通过位置偏移信息计算得到的抖动偏移信息和校正信息对第二位置信息进行校准,具体可以通过如下公式:

hworld///=toculus*roculus*[coffset+(o′offset-ooffset)]

其中,hworld///为通过抖动偏移信息和校正信息对第二位置信息进行校准后的结果,可以将该结果作为待定位对象的定位位置信息。

一种具体的实施例中,本发明实施例提供的定位方法应用于vr领域。第一定位系统为定位追踪系统htclighthouse,第二定位系统为光学跟踪系统oculusinsideout。vr领域中,一般将vr设备戴在头上,本发明实施例中通过vr头显的位置信息表示人的位置信息,参照图6进行详细说明。

本发明实施例中,通过oculusinsideout对待定位对象进行定位,同时,通过htclighthouse对oculusinsideout进行辅助校准。

htclighthouse定位空间如果不使用vive头显,而仅使用追踪器进行定位,当追踪器丢失之后再恢复定位时,多个追踪器之间的相对位置/朝向保持恒定,而总体会发生不确定的旋转。本发明实施例通过部署在空间中固定的多个追踪器作为锚点,对htclighthouse定位空间进行固定,也可以理解为确定稳定的定位空间,也即确定物理坐标系与第一定位系统坐标系,也即htclighthouse的相对关系。

部署锚点1和锚点2,获取锚点1在物理坐标系中的物理位置信息,锚点2在物理坐标系中的物理位置信息,计算锚点在1第一定位系统坐标中的映射位置信息,锚点2在第一定位系统坐标中的映射位置信息,通过空间映射计算物理坐标系与第一定位系统坐标系的相对关系。具体地,通过上述实施例中预设转换公式:

计算roffset和poffset,roffset为物理坐标系与第一定位系统坐标系的相对旋转信息,poffset为物理坐标系与第一定位系统坐标系的相对位移信息。物理坐标系与第一定位系统坐标系的相对位移信息和相对旋转信息可以表示物理坐标系与第一定位系统坐标系的相对关系。

确定物理坐标系与第一定位系统坐标系的相对关系后,可以通过htclighthouse对应的定位系统计算方式,计算得到部署在待定位对象上的追踪器的第一位置信息,也可以理解为htc坐标,htc坐标也可以称之为第一坐标,如上述计算得到的pworld。

通过htclighthouse得到的位置信息为将追踪器绑定在vr头显上的绑定点位置,与vr头显定位的位置信息存在偏移,也即上述实施例计算得到的部署在待定位对象上的追踪器与待定位对象的偏移信息hoffset。

通过oculusinsideout对应的定位系统计算方式,计算得到vr头显的位置信息包括toculus和roculus,本发明实施例中通过将通过oculusinsideout计算得到的位置信息与通过htclighthouse计算得到的位置信息进行比较,以得到通过oculusinsideout计算得到的位置信息的偏移信息,从而通过偏移信息对通过oculusinsideout计算得到的位置信息进行校准。

一种实现方式中,可以仅通过部署在待定位对象上的追踪器与待定位对象的偏移信息hoffset,对通过oculusinsideout计算得到的位置信息进行校准,具体地校准上述实施例已经进行了详述。

另一种可实现方式中,可以根据hoffset通过平均计算的方式计算得到抖动偏移信息coffset,平均计算的方式可以包括计算多个时刻的初始校准信息与第一位置信息之间的偏移量,计算多个时刻的偏移量的加权和,并将加权和作为抖动偏移信息。将每一次的定位偏移当成1个样本处理,最终采用的校准偏移也即用于校准的抖动偏移信息,由一定时间间隔范围内的样本加权求和得到。通过coffset对通过oculusinsideout计算得到的位置信息进行校准,具体校准过程在上述实施例已经进行了详述。

如此,能够获得获得平滑的定位偏移也即抖动偏移信息用于校准,能够降低oculusinsideout以及htclighthouse自身的定位机制的原因导致的定位抖动,如此能够提高校准的精准度,提高得到的待定位对象的定位位置信息的精准度。

另外,由于oculusinsideout自身包含了闭环检测,在运行时,会通过摄像头将采集到的环境图像进行即时定位与地图构建(simultaneouslocalizationandmapping,slam),从而自身校准惯性硬件导航得到的位移信息,此时会产生比较大的跳动。本发明实施例中,针对oculusinsideout的位置偏移信息通过htclighthouse外部定位得到,从而oculusinsideout自身的校准可以去掉。

具体地,本发明实施例中,通过vr设备中的加速度传感器、imu(inertialmeasurementunit,惯性测量单元)传感器等获取vr设备的加速度信息,对该加速度信息进行二重积分,也可以理解为进行加速度累计,得到在预设时间段内的偏移信息。将该偏移信息与通过oculusinsideout对应的定位系统计算方式得到的偏移信息进行对比,从而降低oculusinsideout自身定位过程中的跳动,也可以理解为对oculus位移进行瞬移校正,具体的可以是根据通过位置偏移信息计算得到的抖动偏移信息和校正信息对第二位置信息进行校准,得到oculus坐标,也可以称之为第二坐标。具体过程参照上述图5对应实施例的过程。

利用imu的惯性测量单元数据,进行二重积分从而降低或者抵消vr头显在自我校正时产生的偏差对最终校准结果的影响。

计算第一坐标与第二坐标之间的差值,并针对该差值进行过滤得到偏差,其中,计算该偏差的过程可以参照上述实施例中计算位置偏移信息的过程。并利用该偏差对第二坐标进行校正,以得到校正后的第二坐标,即校正后的待定位对象的定位位置信息,该实施例中待定位对象可以是vr领域中的vr头显,得到的待定位对象的定位位置信息可以理解为待定位对象在虚拟环境中的位置信息,也可以称之为世界坐标。

本发明实施例中,可以通过htclighthouse定位的结果对oculusinsideout定位的结果进行校准,可以提高定位精准度,如此,在满足定位精准度要求时,可以替代定位精准度较高,但是落地成本较高的定位系统如optitrack和stepvr,如此可以实现在保证定位精准度的同时,降低落地成本,以实现高定位精准度与低落地成本的兼顾。可以应用于vr全感项目,降低项目的总体落地成本。

对应于上述实施例提供的空间定位方法,本发明实施例提供了一种空间定位装置,如图7所示,可以包括:

第一获得模块701,用于获得待定位对象的第一位置信息,第一位置信息包括基于一种定位系统得到的位置信息;

第二获得模块702,用于获得待定位对象的第二位置信息,第二位置信息包括基于另一种定位系统得到的位置信息;

校准模块703,用于根据第一位置信息对第二位置信息进行校准,得到待定位对象的定位位置信息。

本发明实施例中,可以通过基于一种定位系统得到的位置信息,对通过基于另一种定位系统得到的位置信息进行校准,以得到待定位对象的定位位置信息,能够提高定位精准度。

可选的,第一位置信息是通过第一定位系统对应的第一定位系统计算方式得到的位置信息;第二位置信息是通过第二定位系统对应的第二定位系统计算方式得到的位置信息;

校准模块703,具体用于根据第一位置信息和第二位置信息,确定针对待定位对象的位置偏移信息;根据位置偏移信息校准第二位置信息,得到待定位对象的定位位置信息。

可选的,第一获得模块701,具体用于获取部署在待定位对象上的追踪器的物理位置信息;根据物理位置信息,以及物理坐标系与第一定位系统坐标系的相对关系,计算部署在待定位对象上的追踪器基于第一定位系统坐标系的第一位置信息,其中,第一定位系统坐标系与第一定位系统计算方式对应。

可选的,校准模块703,具体用于根据第一位置信息和第二位置信息,通过预设求解公式:toculus*roculus*hoffset=pworld,利用最小二乘法,计算部署在待定位对象上的追踪器与待定位对象的偏移信息,其中,第二位置信息包括toculus和roculus,toculus为待定位对象在第二定位系统坐标系的位移信息,roculus为待定位对象在第二定位系统坐标系的相对旋转信息,hoffset为部署在待定位对象上的追踪器与待定位对象的偏移信息,pworld为部署在待定位对象上的追踪器的第一位置信息;根据部署在待定位对象上的追踪器与待定位对象的偏移信息,校准第二位置信息,得到待定位对象的定位位置信息。

可选的,校准模块703,具体用于针对当前时间之前的预设时间范围内的多个时刻,计算在时刻的初始校准信息与第一位置信息之间的偏移量;计算多个时刻的偏移量的加权和,并将加权和作为抖动偏移信息;其中,初始校准信息为将根据部署在待定位对象上的追踪器与待定位对象的偏移信息,校准第二位置信息后的信息;根据抖动偏移信息校准第二位置信息,得到待定位对象的定位位置信息。

可选的,如图8所示,装置还包括:

第一获取模块801,用于在根据第一位置信息和第二位置信息,确定针对待定位对象的位置偏移信息之后,获取待定位对象的第一加速度信息;

第一计算模块802,用于对第一加速度信息进行二重积分,得到在预设时间段内的第一偏移信息;通过第二定位系统计算方式,计算在预设时间段内的第二偏移信息;计算第一偏移信息与第二偏移信息之间的差值,并将差值作为校正信息;

校准模块703,具体用于根据位置偏移信息和校正信息校准第二位置信息,得到待定位对象的定位位置信息。

可选的,如图9所示,装置还包括:

第二获取模块901,用于获取部署在空间中的至少两个追踪器在物理坐标系下的物理位置信息;

第二计算模块902,用于通过第一定位系统计算方式,计算至少两个追踪器在第一定位系统坐标系的映射位置信息;根据至少两个追踪器的物理位置信息和映射位置信息,通过预设转换公式,计算物理坐标系与第一定位系统坐标系的相对关系。

本发明实施例提供的空间定位装置是应用上述空间定位方法的装置,则上述空间定位方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。

对应于上述实施例提供的空间定位方法,本发明实施例还提供了一种电子设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信。

存储器1003,用于存放计算机程序;

处理器1001,用于执行存储器1003上所存放的程序时,实现上述实施例提供的空间定位方法的方法步骤。

本发明实施例中,可以通过基于一种定位系统得到的位置信息,对通过基于另一种定位系统得到的位置信息进行校准,以得到待定位对象的定位位置信息,能够提高定位精准度。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例提供的空间定位方法的方法步骤。

本发明实施例中,可以通过基于一种定位系统得到的位置信息,对通过基于另一种定位系统得到的位置信息进行校准,以得到待定位对象的定位位置信息,能够提高定位精准度。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的空间定位方法的方法步骤。

本发明实施例中,可以通过基于一种定位系统得到的位置信息,对通过基于另一种定位系统得到的位置信息进行校准,以得到待定位对象的定位位置信息,能够提高定位精准度。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、极计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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