用于修正用户设备与目标设备的相对姿态的方法及装置
本公开要求在2022年12月30日、2023年2月14日提交中国专利局、申请号为CN202211732722.7、CN202310158835.9,发明名称为“用于修正用户设备与目标设备的相对姿态的方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本公开涉及姿态校正技术领域,尤其涉及一种用于修正用户设备与目标设备的相对姿态的方法及装置。
背景技术
在一些场景下,需要计算并运用两个设备之间的相对姿态,如果计算得到的相对姿态的精度低下,这会极大地影响到相对姿态的运用效果。
发明内容
本公开的实施例提供了一种用于修正用户设备与目标设备的相对姿态的方法及装置。
根据本公开实施例的一个方面,提供了一种用于修正用户设备与目标设备的相对姿态的方法,用户设备设置有第一惯性测量单元,目标设备设置有第二惯性测量单元,该方法包括:获取预测状态量;其中,预测状态量基于第一惯性测量单元采集的数据和第二惯性测量单元采集的数据确定,预测状态量包括以下两种中的至少一种:用户设备与目标设备之间的预测相对位置、预测相对姿态、预测相对速度;用户设备在世界坐标系下的第一预测位置、第一预测姿态、第一预测速度,以及目标设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度;获取用户设备与目标设备之间的观测相对位置;其中,观测相对位置基于非视觉数据确定;确定观测相对位置与预测相对位置之间的第一误差;其中,预测相对位置满足以下两项中的一项:预测相对位置为预测状态量中的预测相对位置、预测相对位置基于预测状态量中的第一预测位置和第二预测位置确定;利用第一误差,对预测状态量进行修正,以得到用户设备与目标设备之间的修正相对姿态。
根据本公开实施例的另一个方面,提供了一种用于修正用户设备与目标设备的相对姿态的装置,用户设备设置有第一惯性测量单元,目标设备设置有第二惯性测量单元,该装置包括:第一获取模块,用于获取预测状态量;其中,预测状态量基于第一惯性测量单元采集的数据和第二惯性测量单元采集的数据确定,预测状态量包括以下两种中的至少一种:用户设备与目标设备之间的预测相对位置、预测相对姿态、预测相对速度;用户设备在世界坐标系下的第一预测位置、第一预测姿态、第一预测速度,以及目标设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度;第二获取模块,用于获取用户设备与目标设备之间的观测相对位置;其中,观测相对位置基于非视觉数据确定;第一确定模块,用于确定观测相对位置与预测相对位置之间的第一误差;其中,预测相对位置满足以下两项中的一项:预测相对位置为预测状态量中的预测相对位置、预测相对位置基于预测状态量中的第一预测位置和第二预测位置确定;修正模块,用于利用第一误差,对预测状态量进行修正,以得到用户设备与目标设备之间的修正相对姿态。
根据本公开的再一个方面,提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序用于执行上述用于修正用户设备与目标设备的相对姿态的方法。
根据本公开的又一个方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于从存储器中读取可执行指令,并执行指令以实现上述用于修正用户设备与目标设备的相对姿态的方法。
根据本公开的又一个方面,提供了一种计算机程序产品,包括计算机程序指令,计算机程序指令被处理器执行时实现上述用于修正用户设备与目标设备的相对姿态的方法。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的方法的流程示意图。
图2是本公开另一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的方法的流程示意图。
图3是本公开再一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的方法的流程示意图。
图4是本公开又一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的方法的流程示意图。
图5是本公开又一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的方法的流程示意图。
图6是本公开又一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的方法的流程示意图。
图7是本公开一示例性实施例中移动距离、相对位置维度对应的误差、相对姿态维度对应的误差之间的关系的示意图。
图8是本公开一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的装置的结构示意图。
图9是本公开另一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的装置的结构示意图。
图10是本公开再一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的装置的结构示意图。
图11是本公开又一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的装置的结构示意图。
图12是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同
或相似之处可以相互参考,为了简洁,不再一一赘述。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可包括例程、程序、目标程序、组件、逻辑、数据结构等,它们执行特定任务或实现特定抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
示例性概述
在一些场景下,需要计算并运用头戴显示设备与特定对象之间的相对姿态。例如,可以参考头戴显示设备与特定对象之间的相对姿态,对通过头戴显示设备显示的虚拟画面进行渲染、调整、控制等。
头戴显示设备也可以称为头戴显示器(Head-Mounted Display,HMD)或者头显,头戴显示设备可以用于实现扩展现实(Extended Reality,XR)效果,例如用于实现增强现实(Augmented Reality,AR)效果、虚拟现实(Virtual Reality,VR)效果、混合现实(Mixed Reality,MR)效果等。由于头戴显示设备能够创造特有的沉浸感,在使用头戴显示设备时,用户主观上可以感觉置身于与现实具有隔离感的一空间中,该空间可以作为头戴显示设备的虚拟空间。可选地,头戴显示设备可以为AR眼镜、VR眼镜、MR眼镜等。
通过参考头戴显示设备与特定对象之间的相对姿态,对通过头戴显示设备显示的虚拟画面进行渲染、调整、控制等。可以实现的效果包括但不限于:在以特定对象固连的坐标系为基准的前提下,如果头戴显示设备与特定对象两者的姿态保持一致,显示画面的姿态在头戴显示设备使用的坐标系下基本不发生变化。通过头戴显示设备显示的画面的显示效果,则类似于直接通过头戴显示设备投屏的效果。如果头戴显示设备与特定对象两者未保持姿态一致,显示画面的姿态在头戴显示设备使用的坐标系下发生相应变化。通过头戴显示设备显示的画面的显示效果,则类似于以特定对象为基准的3dof(degree of freedom,自由度)显示效果。
用户佩戴头戴显示设备,观看通过头戴显示设备显示的虚拟画面,有时需要借助于控制器与虚拟画面进行交互。控制器与头戴显示设备之间可以通信地连接,两者的相对姿态可以用于对通过头戴显示设备显示的虚拟画面进行控制。本文中的控制可以包括点击、选中、拖动等。
如果需要使用控制器,则还需要计算并运用控制器与特定对象的相对姿态,以参考控制器与特定对象的相对姿态,对通过头戴显示设备显示的虚拟画面进行控制等。
在本公开的一些可选实施方式中,特定对象可以是相对世界坐标系(其也可以称为全局坐标系)可移动的对象,例如是车辆、轮船、飞机、火车等可移动平台,或者是用户身体。可以理解地,本公开的术语“世界坐标系”可以是作为参考的基准坐标系,并不对其
具体的设置进行限定。不同的设备可能存在各自定义世界坐标系的情况,不同设备各自定义的不同世界坐标系之间可能对齐,也可能存在偏差。在存在偏差的情况下,可以利用坐标系转换,将未对齐的世界坐标系对齐。
在本公开的另一些可选实施方式中,特定对象可以是相对世界坐标系不可移动的对象,例如墙面、地面等。
为了保证相对姿态的运用效果,有必要采取一定的措施,提升相对姿态的准确性和可靠性。
示例性系统
本公开的实施例中,可以利用非惯性系下的卡尔曼滤波算法、非惯性系下的最小二乘法或者其他优化算法,实现相对姿态的修正,下文中的方法实施例部分主要以利用卡尔曼滤波算法的情况为例进行介绍,这里先对卡尔曼滤波算法的原理进行简要说明。
总体来说,卡尔曼滤波算法的思想是:利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计。卡尔曼滤波算法通常可以分为两个阶段,分别是预测阶段和更新阶段。
预测阶段可以用如下公式表示:
更新阶段可以用如下公式表示:
其中,小写字母形式的k作为参量的下标且表示某一时刻,大写字母形式的K表示卡尔曼增益,表示k时刻的先验状态估计值,Ak表示k时刻的状态转移矩阵,表示k-1时刻的后验状态估计值(即k-1时刻系统状态的最优估计),uk表示利用由输入转换为状态的矩阵,对k时刻的输入进行转换得到的结果,表示k时刻的先验估计协方差矩阵,表示k-1时刻的后验估计协方差矩阵,R表示过程激励噪声协方差,Ck表示状态量到测量(观测)的转移矩阵,Q表示测量噪声协方差矩阵,表示k时刻的后验状态估计值(即k时刻系统状态的最优估计),zk表示k时刻的测量值(观测值),表示k时刻的实际观测与预测观测之间的残差,表示在由k时刻的先验状态估计值得到k时刻的后验状态估计值时使用的修正量,表示k时刻的后验估计协方差。
示例性方法
本公开的实施例提供了一种用于修正用户设备与目标设备的相对姿态的方法,以通过相对姿态的修正,提升相对姿态的准确性和可靠性,从而保证相对姿态的运用效果。
在本公开的一些可选实施方式中,用户设备为头戴显示设备,目标设备为除了头戴显示设备之外的电子设备,或者,用户设备为控制器,目标设备为头戴显示设备,再或者,
用户设备包括头戴显示设备和控制器,目标设备为除了头戴显示设备和控制器之外的电子设备。
用户设备和目标设备可以分别设置有惯性测量单元(Inertial Measurement Unit,IMU),为了便于区分,设置于用户设备的惯性测量单元可以称为第一惯性测量单元,设置于目标设备的惯性测量单元可以称为第二惯性测量单元。
可以理解的是,惯性测量单元是使用加速度计和陀螺仪来测量物体角速度和加速度的装置,这样,第一惯性测量单元可以用于测量用户设备在世界坐标系下的角速度和加速度,第二惯性测量单元可以用于测量目标设备在世界坐标系下的角速度和加速度。
在本公开的一些可选实施方式中,目标设备可以为集成式设备,目标设备可以集成于车辆、轮船、飞机、火车等特定对象。目标设备与特定对象之间的相对位置和相对姿态是固定不变的。参考第一惯性测量单元和第二惯性测量单元各自采集的数据,可以确定用户设备与目标设备之间的相对姿态。
如果目标设备和特定对象使用同一坐标系,可以直接将用户设备与目标设备之间的相对姿态作为用户设备与特定对象之间的相对姿态。
如果目标设备和特定对象使用不同坐标系,则可以预先确定目标设备和特定对象各自使用的坐标系之间的转换关系(其可以呈一转换矩阵的形式),后续可以参考预先确定的转换关系,由用户设备与目标设备之间的相对姿态转换得到用户设备与特定对象之间的相对姿态。
在本公开的另一些可选实施方式中,目标设备可以为便携式设备,目标设备可以根据实际需求放置在任意位置,例如放置在车辆、轮船、飞机、火车、用户身体、墙面、地面等特定对象。这样,参考第一惯性测量单元和第二惯性测量单元各自采集的数据,也可以确定用户设备与特定对象之间的相对姿态。
需要说明的是,可以按照一定的时间间隔,进行用户设备与目标设备的相对姿态的修正,任意相邻两个修正时刻之间的间隔可以为预设的时间间隔,也可以依据惯性测量单元采集数据的频率而定。下文中出现的预测状态量、参量、数据,如果没有特别说明,分别是指当前修正时刻的预测状态量、当前修正时刻的参量、当前修正时刻的数据。
按照上文中卡尔曼滤波算法涉及的五个公式,可以将当前修正时刻表示为k时刻,将当前修正时刻的上一修正时刻表示为k-1时刻,将当前修正时刻的下一修正时刻表示为k+1时刻,这样,上一修正时刻、当前修正时刻、下一修正时刻均可以具有对应的先验状态估计值和后验状态估计值。可选地,任一修正时刻的先验状态估计值可以作为该修正时刻的预测状态量,任一修正时刻的后验状态估计值可以作为该修正时刻的修正状态量。
图1是本公开一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的方法的流程示意图。图1所示的方法包括步骤120、步骤140、步骤160和步骤180,下面对各步骤分别进行说明。
步骤120,获取预测状态量;其中,预测状态量基于第一惯性测量单元采集的数据和第二惯性测量单元采集的数据确定,预测状态量包括以下两种中的至少一种:用户设备和目标设备之间的预测相对位置、预测相对姿态、预测相对速度;用户设备在世界坐标系下的第一预测位置、第一预测姿态、第一预测速度,以及目标设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度。
可以理解地,在本公开的实施例中,用户设备与目标设备之间的相对姿态可以理解为用户设备在目标设备的设备坐标系下的姿态,也可理解为目标设备在用户设备的设备坐标系下的姿态。相应地,对于用户设备与目标设备之间的相对位置和相对速度,可以理解为用户设备在目标设备的设备坐标系下的位置和速度,也可以理解为目标设备在用户设备的设备坐标系下的位置和速度。用户设备在目标设备的设备坐标系下的姿态、位置、速度,与目标设备在用户设备的设备坐标系下的姿态、位置、速度可以通过求逆矩阵的方式实现相互转化。
为了便于理解,本公开的实施例中均以用户设备与目标设备之间的相对姿态、相对位置、相对速度表示用户设备在目标设备的设备坐标系下的姿态、位置、速度的情况为例进行说明。
目标设备的设备坐标系可以为:以目标设备的质心或者其他位置点为原点构建的三维坐标系,目标设备的设备坐标系即为目标设备使用的坐标系。
通过对第一惯性测量单元在上一修正时刻至当前修正时刻之间采集的角速度进行积分,可以得到用户设备在上一修正时刻至当前修正时刻之间在世界坐标系下的第一角度变化量。通过对第一惯性测量单元在上一修正时刻至当前修正时刻之间采集的加速度进行积分,可以得到用户设备在上一修正时刻至当前修正时刻之间在世界坐标系下的第一速度变化量和第一位置变化量。
按照与上段中类似的方式,可以由第二惯性测量单元在上一修正时刻至当前修正时刻之间采集的角速度和加速度,得到目标设备在上一修正时刻至当前修正时刻之间在世界坐标系下的第二角度变化量、第二速度变化量和第二位置变化量。
下面分两种情况讨论当前修正时刻的预测状态量的确定方式。
第一种情况:
依据上文中的第一角度变化量、第一速度变化量、第一位置变化量、第二角度变化量、第二速度变化量和第二位置变化量,可以得到在上一修正时刻至当前修正时刻之间,用户设备与目标设备的相对角度变化量、相对速度变化量和相对位置变化量。
上一修正时刻的修正状态量可以包括:上一修正时刻用户设备与目标设备之间的修正相对位置、修正相对姿态、修正相对速度。通过将相对位置变化量与上一修正时刻用户设备与目标设备之间的修正相对位置进行叠加,可以得到当前修正时刻用户设备与目标设备之间的预测相对位置。通过将相对角度变化量与上一修正时刻用户设备与目标设备之间的修正相对姿态进行叠加,可以得到当前修正时刻用户设备与目标设备之间的预测相对姿态。通过将相对速度变化量与上一修正时刻用户设备与目标设备之间的修正相对速度进行叠加,可以得到当前修正时刻用户设备与目标设备之间的预测相对速度。由此可以得到步骤120中的包括预测相对位置、预测相对姿态、预测相对速度的预测状态量,得到的预测状态量即为当前修正时刻的预测状态量。
以上介绍的是当前修正时刻为非首个修正时刻,当前修正时刻的预测状态量的确定方式。如果当前修正时刻为首个修正时刻,可以将用户设备与目标设备之间的预设相对位置、预设相对姿态、预设相对速度依次作为上一修正时刻的修正状态量中的修正相对位置、修正相对姿态、修正相对速度。或者,将当前修正时刻用户设备与目标设备之间的真实相对位置、真实相对姿态、真实相对速度依次作为上一修正时刻的修正状态量中的修正相对位置、修正相对姿态、修正相对速度。之后可以参考上一修正时刻的修正状态量,以及第一惯性测量单元和第二惯性测量单元各自采集的数据,确定当前修正时刻的预测状态量。
第二种情况:
上一修正时刻的修正状态量可以包括:上一修正时刻用户设备在世界坐标系下的第一修正位置、第一修正姿态、第一修正速度,以及上一修正时刻目标设备在世界坐标系下的第二修正位置、第二修正姿态、第二修正速度。通过将第一位置变化量与第一修正位置进行叠加,可以得到当前修正时刻用户设备在世界坐标系下的第一预测位置。通过将第一角度变化量与第一修正姿态进行叠加,可以得到当前修正时刻用户设备在世界坐标系下的第一预测姿态。通过将第一速度变化量与第一修正速度进行叠加,可以得到当前修正时刻用户设备在世界坐标系下的第一预测速度。通过将第二位置变化量与第二修正位置进行叠加,可以得到当前修正时刻目标设备在世界坐标系下的第二预测位置。通过将第二角度变化量与第二修正姿态进行叠加,可以得到当前修正时刻目标设备在世界坐标系下的第二预测姿态。通过将第二速度变化量与第二修正速度进行叠加,可以得到当前修正时刻目标设备在世界坐标系下的第二预测速度。
以上介绍的是当前修正时刻为非首个修正时刻,当前修正时刻的预测状态量的确定方式。如果当前修正时刻为首个修正时刻,可以将用户设备在世界坐标系下的预设位置、预设姿态、预设速度依次作为第一预测位置、第一预测姿态、第一预测速度,或者将当前修正时刻用户设备在世界坐标系下的真实位置、真实姿态、真实速度依次作为第一预测位置、第一预测姿态、第一预测速度。第二预测位置、第二预测姿态、第二预测速度的确定方式与此类似,在此不再赘述。
步骤140,获取用户设备与目标设备之间的观测相对位置;其中,观测相对位置基于非视觉数据确定。
在本公开的一些可选实施方式中,用于确定观测相对位置的非视觉数据可以采用非视觉数据捕获设备获得,非视觉数据捕获设备不同于视觉数据捕获设备(例如具有图像传感器的设备,相机等),非视觉数据捕获设备包括但不限于信号检测器、传感器等。
在本公开的另一些可选实施方式中,用于确定观测相对位置的非视觉数据可以为预先设定的数据。
步骤160,确定观测相对位置与预测相对位置之间的第一误差;其中,预测相对位置满足以下两项中的一项:预测相对位置为预测状态量中的预测相对位置、预测相对位置基于预测状态量中的第一预测位置和第二预测位置确定。
如果当前修正时刻的预测状态量包括:预测相对位置、预测相对姿态、预测相对速度,则可以直接从当前修正时刻的预测状态量中提取预测相对位置,并对提取出的预测相对位置与步骤140中获取的观测相对位置做差,得到的结果即可作为第一误差。
如果当前修正时刻的预测状态量包括:第一预测位置、第一预测姿态、第一预测速度、第二预测位置、第二预测姿态、第二预测速度,则可以从当前修正时刻的预测状态量中提取第一预测位置和第二预测位置,并对第一预测位置和第二预测位置做差,以计算出用户设备与目标设备之间的预测相对位置。之后,可以对计算出的预测相对位置与步骤140中获取的观测相对位置做差,得到的结果即可作为第一误差。
假设观测相对位置表示为预测相对位置表示为第一误差表示为则有:
观测相对位置可以认为属于实际观测,是与实际相对位置相比误差更小的数据,对应卡尔曼滤波算法中的zk,预测相对位置可以认为属于预测观测,对应卡尔曼滤波算法中的第一误差可以认为属于当前修正时刻的实际观测与预测观测之间的残差,对应卡尔曼滤波算法中的
需要说明的是,本公开的实施例中的做差可以不局限于简单的减法,而可以是广义的函数,这个函数可以用于计算不同输入量之间的差异。为了便于说明本方案,本文中的公式以减法为例进行说明。
步骤180,利用第一误差,对预测状态量进行修正,以得到用户设备与目标设备之间的修正相对姿态。
需要说明的是,第一误差对应卡尔曼滤波算法中的第一误差体现的是相对位置维度的误差,第一误差可以用于确定相对位置维度对应的修正量,由于作为卡尔曼增益的K能够承载预测状态量包括的各种参量相互之间的关系,不仅能够包括相对位置维度对应的修正量,还能够包括其他维度对应的修正量。
下面分两种情况讨论预测状态量的修正方式。
第一种情况:
当前修正时刻的预测状态量包括:预测相对位置、预测相对姿态、预测相对速度。那么,由可以得到预测相对位置对应的第一修正量、预测相对姿态对应的第二修正量、预测相对速度对应的第三修正量。
通过将预测相对位置与第一修正量进行叠加,可以得到预测相对位置的修正结果,预
测相对位置的修正结果可以作为当前修正时刻用户设备与目标设备之间的修正相对位置。
通过将预测相对姿态与第二修正量进行叠加,可以得到预测相对姿态的修正结果,预测相对姿态的修正结果可以作为当前修正时刻用户设备与目标设备之间的修正相对姿态(即步骤180中的修正相对姿态)。
通过将预测相对速度与第三修正量进行叠加,可以得到预测相对速度的修正结果,预测相对速度的修正结果可以作为当前修正时刻用户设备与目标设备之间的修正相对速度。
这样,通过对当前修正时刻的预测状态量的修正,得到了当前修正时刻的修正状态量,当前修正时刻的修正状态量包括:当前修正时刻用户设备与目标设备之间的修正相对位置、修正相对姿态、修正相对速度。当前修正时刻用户设备与目标设备之间的修正相对位置、修正相对姿态、修正相对速度可以用于下一修正时刻的预测状态量中的预测相对位置、预测相对姿态、预测相对速度的确定,具体参照上文中对由上一修正时刻的修正状态量中的修正相对位置、修正相对姿态、修正相对速度得到当前修正时刻的预测状态量中的预测相对位置、预测相对姿态、预测相对速度的方式的介绍即可,在此不再赘述。
第二种情况:
当前修正时刻的预测状态量包括:第一预测位置、第一预测姿态、第一预测速度、第二预测位置、第二预测姿态、第二预测速度。那么,由可以得到第一预测位置对应的第四修正量、第一预测姿态对应的第五修正量、第一预测速度对应的第六修正量、第二预测位置对应的第七修正量、第二预测姿态对应的第八修正量、第二预测速度对应的第九修正量。
通过将第一预测姿态与第五修正量进行叠加,可以得到第一预测姿态的修正结果。通过将第二预测姿态与第八修正量进行叠加,可以得到第二预测姿态的修正结果。通过将第一预测姿态的修正结果与第二预测姿态的修正结果做差,可以得到用户设备与目标设备之间的修正相对姿态。
另外,利用第四修正量、第六修正量、第七修正量、第九修正量,还可以得到第一预测位置、第一预测速度、第二预测位置、第二预测速度各自的修正结果。通过这些修正结果,以及上段中的得到的第一预测姿态的修正结果和第二预测姿态的修正结果的组合,可以形成当前修正时刻的修正状态量,当前修正时刻的修正状态量可以用于确定下一修正时刻的预测状态量。
本公开的实施例中,可以基于设置于用户设备的第一惯性测量单元和设置于目标设备的第二惯性测量单元各自采集的数据,确定预测状态量,参考预测状态量,可以确定用户设备与目标设备之间的预测相对位置,参考非视觉数据,可以确定用户设备与目标设备之间的观测相对位置,利用观测相对位置与预测相对位置之间的第一误差,可以对预测状态量进行修正,这样能够得到用户设备与目标设备之间的修正相对姿态,通过相对姿态的修正,有利于保证相对姿态的运用效果。此外,观测相对位置基于非视觉数据得到,而不是基于具有图像传感器的设备采集的视觉数据得到。一般而言,依赖视觉数据的视觉感知方式需要设备具有图像传感器采集图像,图像传感器一般造价较高。而且需要对图像进行特征点检测、特征点匹配等一系列处理,且在高速运动场景下容易出现运动模糊、相邻帧之间重叠区域过少而无法进行特征点匹配的情况,因此需要耗费大量的计算资源和算力,且不适用于高速运动场景。而本公开的实施例中通过对非视觉数据的运用,可以在不依赖视觉数据的前提下,实现用户设备与目标设备之间的相对姿态的修正,从而能够有效地节约计算姿态和算力,且能够适用于高速运动场景。
在图1所示实施例的基础上,如图2所示,该方法还包括步骤162、步骤164、步骤166、步骤168、步骤170。
步骤162,获取目标设备在世界坐标系下的第一运动情况信息。
需要说明的是,第一运动情况信息可以用于表征目标设备在世界坐标系下的状态,包括但不限于静止状态和运动状态,运动状态还可以进一步细分为匀速运动状态、变速运动
状态等。
在本公开的一些可选实施方式中,目标设备满足以下两项中的一项:目标设备集成于可移动平台;目标设备可移除地固定于可移动平台。
第一运动情况信息可以基于以下至少一种运动传感器采集的数据确定:轮式里程计、定位传感器、档位传感器、刹停信号传感器、目标惯性测量单元。
轮式里程计、定位传感器、档位传感器、刹停信号传感器可以均设置于可移动平台,响应于目标设备集成于可移动平台,目标惯性测量单元为第二惯性测量单元,响应于目标设备可移除地固定于可移动平台,目标惯性测量单元为以下两项中的一项:第二惯性测量单元、不同于第二惯性测量单元的惯性测量单元。
可移动平台使用的坐标系可以称为平台坐标系,平台坐标系可以为以可移动平台的质心或者其他位置点为原点构建的三维坐标系。
定位传感器可以包括全球定位系统(Global Positioning System,GPS)。
一般而言,为了保证可移动平台的正常可靠工作,可移动平台需要配备惯性测量单元,例如配备有目标惯性测量单元。如果目标设备为集成式设备,目标设备可以集成于可移动平台,这时,目标设备可以认为是可移动平台的一组成部分,那么,第二惯性测量单元可以作为目标惯性测量单元。如果目标设备为便携式设备,目标设备可以通过螺接、卡接、插接或魔术贴等方式固定于可移动平台,目标设备可以被从可移动平台移除。这时,目标设备可以认为是不同于可移动平台的另一设备,那么,目标惯性测量单元可以为第三惯性测量单元,第三惯性测量单元与第二惯性测量单元可以是不同的惯性测量单元。
无论目标设备是集成于可移动平台,还是可移除地固定于可移动平台,均可以认为目标设备与可移动平台之间是相对静止的,目标设备与可移动平台在世界坐标系下的状态保持一致。因此,只需确定可移动平台在世界坐标系下的状态,即可确定目标设备在世界坐标系下的状态,由此可以得到第一运动情况信息。
设置于可移动平台的轮式里程计和定位传感器各自采集的数据均可以用于计算可移动平台在世界坐标系下的速度。如果可移动平台在世界坐标系下的速度保持为零,可以判定目标设备在世界坐标系下处于静止状态,否则,可以判定目标设备在世界坐标系下处于运动状态,由此可以得到第一运动情况信息。
设置于可移动平台的档位传感器采集的数据可以用于表示可移动平台所处的档位。如果可移动平台所处的档位保持为P档(即停车档位),可以判定目标设备在世界坐标系下于静止状态,否则,可以判定目标设备在世界坐标系下处于运动状态,由此可以得到第一运动情况信息。
设置于可移动平台的刹停信号传感器采集的数据可以用于表示可移动平台是否刹停。如果可移动平台保持刹停,可以判定目标设备在世界坐标系下于静止状态,否则,可以判定目标设备在世界坐标系下处于运动状态,由此可以得到第一运动情况信息。
目标惯性测量单元采集的数据可以包括可移动平台(或目标设备)在世界坐标系下的角速度和加速度,在此基础上,可以计算目标惯性测量单元在最近一段时间内(例如最近30秒、最近1分钟等)采集的角速度和加速度各自对应的方差。如果角速度对应的方差小于设定的第一阈值,加速度对应的方差小于设定的第二阈值,可以判定目标设备在世界坐标系下于静止状态,否则,可以判定目标设备在世界坐标系下处于运动状态,由此可以得到第一运动情况信息。
可以理解地,除了上述列举的运动传感器之外,还可以采用其他的设备或是器件,只要是能达到本公开实施例的目的即可。
这种实施方式中,不论目标设备集成于可移动平台,还是可移除地固定于可移动平台,均可以通过对轮式里程计、定位传感器、档位传感器、刹停信号传感器、目标惯性测量单元等运动传感器采集的数据的运用,高效可靠地确定出第一运动情况信息。
步骤164,基于第一运动情况信息,确定目标约束方式。
在本公开的一些可选实施方式中,可以预先设定多种约束方式。例如预先设定下文中的第一约束方式至第六约束方式中的至少部分约束方式。
这样,在步骤164中,可以从预先设定的多种约束方式中,筛选与第一运动情况信息相适配的约束方式,筛选出的约束方式可以作为目标约束方式。
步骤166,获取目标约束方式对应的目标观测数据;其中,目标观测数据基于非视觉数据确定,目标观测数据包括:用户设备和目标设备中的至少一者在世界坐标系下的观测数据。
在本公开的一些可选实施方式中,在预先设定多种约束方式时,还可以设定每种约束方式所需的观测数据类型。
这样,在步骤166中,可以按照预先针对目标约束方式设定的观测数据类型,获得用于确定相应观测数据的非视觉数据,并据此得到相应观测数据,得到的观测数据即可作为目标观测数据。可选地,步骤166中涉及的非视觉数据可以采用非视觉数据捕获设备获得,或者为预先设定的数据。
步骤168,基于预测状态量,获取目标约束方式对应的目标预测数据;其中,目标预测数据包括:目标观测数据所归属的设备在世界坐标系下的预测数据。
如果目标观测数据是指当前修正时刻目标设备在世界坐标系下的观测数据,目标预测数据可以是指当前修正时刻目标设备在世界坐标系下的预测数据。如果目标观测数据是指当前修正时刻用户设备在世界坐标系下的观测数据,目标预测数据可以是指当前修正时刻用户设备在世界坐标系下的预测数据。如果目标观测数据是指当前修正时刻目标设备和用户设备各自在世界坐标系下的观测数据,目标预测数据可以是指当前修正时刻目标设备和用户设备各自在世界坐标系下的预测数据。
在本公开的一些可选实施方式中,在预先设定多种约束方式时,还可以预先设定每种约束方式所需的预测数据类型。
这样,在步骤168中,可以按照预先针对目标约束方式设定的预测数据类型,基于预测状态量,得到相应预测数据,得到的预测数据即可作为目标预测数据。可选地,目标预测数据可以为从预测状态量中直接提取的数据,或者为利用从预测状态量中提取的数据计算得到的数据。
步骤170,确定目标观测数据与目标预测数据之间的第二误差。
在步骤170中,可以对目标观测数据与目标预测数据做差,得到的结果即可作为第二误差。与第一误差类似,第二误差也可以认为属于当前修正时刻的实际观测与预测观测之间的残差,对应卡尔曼滤波算法中的
步骤180,包括步骤1802。
步骤1802,利用第一误差和第二误差,对预测状态量进行修正。
需要说明的是,利用第一误差和第二误差,对预测状态量进行修正的方式与图1所示实施例中利用第一误差,对预测状态量进行修正的方式是类似的,区别之处主要在于,修正时参考的误差更加丰富。
本公开的实施例中,可以参考目标设备在世界坐标系下的第一运动情况信息,确定合适的约束方式,并依据确定的约束方式,进行目标观测数据和目标预测数据的获取,利用目标观测数据和目标预测数据可以得到第二误差,第二误差可以与第一误差一并用于预测状态量的修正,这样,预测状态量的修正所参考的数据更加丰富,从而有利于提升修正效果。
在一些可选示例中,预测状态量还包括以下至少一项:第一惯性测量单元的第一预测角速度偏置;第一惯性测量单元的第一预测加速度偏置;第二惯性测量单元的第二预测角速度偏置;第二惯性测量单元的第二预测加速度偏置。
在本公开的一些可选实施方式中,上一修正时刻的修正状态量还可以包括:上一修正时刻第一惯性测量单元的修正角速度偏置和修正加速度偏置,以及上一修正时刻第二惯性
测量单元的修正角速度偏置和修正加速度偏置。上一修正时刻第一惯性测量单元的修正角速度偏置可以作为第一预测角速度偏置,上一修正时刻第一惯性测量单元的修正加速度偏置可以作为第一预测加速度偏置,上一修正时刻第二惯性测量单元的修正角速度偏置可以作为第二预测角速度偏置,上一修正时刻第二惯性测量单元的修正加速度偏置可以作为第二预测加速度偏置。
以上介绍了当前修正时刻的预测状态量中第一惯性测量单元相关的两个偏置和第二惯性测量单元相关的两个偏置的由来,下一修正时刻的预测状态量中第一惯性测量单元相关的两个偏置和第二惯性测量单元相关的两个偏置可以采用类似的方式得到,在此不再赘述。
本公开的实施例中,可以令预测状态量包括第一惯性测量单元相关的两个偏置和第二惯性测量单元相关的两个偏置,这样,在预测状态量的修正过程中,能够有机地运用这些偏置与预测状态量中的其他参量之间的关系,从而高效可靠地实现预测状态量的修正。
在一些可选示例中,步骤164,包括:响应于第一运动情况信息表征目标设备处于静止状态,确定目标约束方式为第一约束方式;其中,响应于目标约束方式为第一约束方式,目标观测数据包括:目标设备在世界坐标系下的预设观测速度,预设观测速度为零,目标预测数据包括:第二预测速度。
可以理解的是,如果目标设备在世界坐标系下处于静止状态,目标设备在世界坐标系下的速度理论上是零,这时,可以将目标约束方式确定为第一约束方式,第一约束方式也可以称为零速度约束方式。
假设第二预测速度表示为第二误差表示为可以采用如下公式进行计算:
本公开的实施例中,对于目标设备在世界坐标系下处于静止状态的情况,采用零速度约束方式,可以通过对速度做差,高效可靠地确定出第二误差以用于预测状态量的修正。
在一些可选示例中,步骤164,包括:响应于第一运动情况信息表征目标设备处于静止状态,确定目标约束方式为第二约束方式;其中,响应于目标约束方式为第二约束方式,目标观测数据包括:目标设备在世界坐标系下的预设观测角速度,预设观测角速度为零,目标预测数据包括:目标设备在世界坐标系下的角速度与第二预测角速度偏置的差值,目标设备在世界坐标系下的角速度通过第二惯性测量单元采集。
可以理解的是,如果目标设备在世界坐标系下处于静止状态,目标设备在世界坐标系下的角速度理论上是零,这时,可以将目标约束方式确定为第二约束方式,第二约束方式也可以称为零角速度约束方式。
假设通过第二惯性测量单元采集的当前修正时刻目标设备在世界坐标系下的角速度表示为第二预测角速度偏置表示为第二误差表示为可以采用如下公式进行计算:
本公开的实施例中,对于目标设备在世界坐标系下处于静止状态的情况,采用零角速度约束方式,可以通过对角速度做差,高效可靠地确定出第二误差以用于预测状态量的修正。
在一些可选示例中,步骤164,包括:响应于第一运动情况信息表征目标设备处于静止状态,确定目标约束方式为第三约束方式;其中,响应于目标约束方式为第三约束方式,目标观测数据包括:通过第二惯性测量单元采集的,目标设备在世界坐标系下的加速度,目标预测数据包括:利用第二预测姿态和世界坐标系下的重力加速度计算得到的,目标设
备在世界坐标系下的加速度。
可以理解的是,如果目标设备在世界坐标系下处于静止状态,第二惯性测量单元测量的加速度理论上是重力加速度。也即,第二惯性测量单元采集的目标设备在世界坐标系下的加速度方向理论上是重力方向。这时,可以将目标约束方式确定为第三约束方式,第三约束方式也可以称为目标设备的重力约束方式。
假设通过第二惯性测量单元采集的当前修正时刻目标设备在世界坐标系下的加速度表示为av,第二预测姿态表示为世界坐标系下的重力加速度表示为g,则与g的乘积的相反数可以认为是预测得到的当前修正时刻目标设备在世界坐标系下的加速度,第二误差可以表示为gerror,第二误差可以采用如下公式进行计算:
本公开的实施例中,对于目标设备在世界坐标系下处于静止状态的情况,采用目标设备的重力约束方式,可以通过对加速度做差,高效可靠地确定出第二误差以用于预测状态量的修正。
在图2所示实施例的基础上,如图3所示,在步骤164之前,该方法还包括步骤163。
步骤163,获取用户设备在世界坐标系下的第二运动情况信息。
需要说明的是,第二运动情况信息可以用于表征用户设备在世界坐标系下的状态,包括但不限于静止状态和运动状态,运动状态还可以进一步细分为匀速运动状态、变速运动状态等。
在本公开的一些可选实施方式中,可以参考第一惯性测量单元采集的数据,确定第二运动情况信息,具体参照上文中对基于目标惯性测量单元采集的数据,确定第一运动情况信息的方式的说明即可,在此不再赘述。
步骤164,包括步骤1642。
步骤1642,基于第一运动情况信息和第二运动情况信息,确定目标约束方式。
在步骤1642中,可以从预先设定的多种约束方式中,筛选出同时与第一运动情况信息和第二运动情况信息相适配的约束方式,筛选出的约束方式可以作为目标约束方式。
在本公开的一些可选实施方式中,步骤1642,包括:响应于第一运动情况信息表征目标设备处于静止状态,第二运动情况信息表征用户设备处于静止状态,确定目标约束方式为第四约束方式;其中,响应于目标约束方式为第四约束方式,目标观测数据包括:通过第一惯性测量单元采集的,用户设备在世界坐标系下的加速度,目标预测数据包括:利用预测相对姿态、第二预测姿态和世界坐标系下的重力加速度计算得到的,用户设备在世界坐标系下的加速度。
可以理解的是,如果目标设备和用户设备在世界坐标系下均处于静止状态,可以认为用户设备相对世界坐标系绝对静止。那么,第一惯性测量单元测量的加速度理论上是重力加速度,也即,第一惯性测量单元采集的用户设备在世界坐标系下的加速度方向理论上是重力方向。这时,可以将目标约束方式确定为第四约束方式,第四约束方式也可以称为用户设备的重力约束方式。
假设通过第一惯性测量单元采集的当前修正时刻用户设备在世界坐标系下的加速度表示为ag,第二预测姿态表示为预测相对姿态表示为则与的相乘结果可以作为用户设备在世界坐标系下的预测姿态,该预测姿态可以表示为假设世界坐标系下的重力加速度表示为g,则与g的乘积的相反数可以认为是预测得到的当前修正时刻用户设备在世界坐标系下的加速度,第二误差可以表示为gerror,第二误差可以采用如下公式进行计算:
这种实施方式中,对于目标设备和用户设备在世界坐标系下均处于静止状态的情况,采用用户设备的重力约束方式,可以通过对加速度做差,高效可靠地确定出第二误差以用
于预测状态量的修正。
在本公开的另一些可选实施方式中,步骤1642,包括:响应于第一运动情况信息表征目标设备处于静止状态,第二运动情况信息表征用户设备处于静止状态,确定目标约束方式为第五约束方式;其中,响应于目标约束方式为第五约束方式,目标观测数据包括:通过第一惯性测量单元采集的,用户设备在世界坐标系下的加速度,目标预测数据包括:利用预测相对姿态以及通过第二惯性测量单元采集的目标设备在世界坐标系下的加速度计算得到的,用户设备在世界坐标系下的加速度。
可以理解的是,如果目标设备和用户设备在世界坐标系下均处于静止状态,目标设备的重力方向和用户设备的重力方向理论上是真实世界中的同一个方向。这时,可以将目标约束方式确定为第五约束方式,第五约束方式也可以称为用户设备和目标设备两者的相对重力约束方式。
假设通过第一惯性测量单元采集的当前修正时刻用户设备在世界坐标系下的加速度表示为ag,通过第二惯性测量单元采集的当前修正时刻目标设备在世界坐标系下的加速度表示为av,预测相对姿态表示为则与av的乘积可以认为是预测得到的当前修正时刻用户设备在世界坐标系下的加速度,第二误差可以表示为dgerror,第二误差可以采用如下公式进行计算:
这种实施方式中,对于目标设备和用户设备在世界坐标系下均处于静止状态的情况,采用用户设备和目标设备两者的相对重力约束方式,可以通过对加速度做差,高效可靠地确定出第二误差以用于预测状态量的修正。
需要说明的是,步骤1642的实施方式并不局限于以上两种情况,例如,还可以响应于第一运动情况信息表征目标设备处于静止状态,第二运动情况信息表征用户设备处于运动状态,确定目标约束方式为上文中的第一约束方式或者第二约束方式。
本公开的实施例中,可以参考目标设备和用户设备各自在世界坐标系下的运动情况信息,进行约束方式的确定,这样有利于保证确定出的约束方式的合理性和可靠性。
在一些可选示例中,步骤164,包括:响应于第一运动情况信息表征目标设备处于运动状态,确定目标约束方式为第六约束方式;其中,响应于目标约束方式为第六约束方式,目标观测数据包括以下至少一项:目标设备在世界坐标系下的观测位置、观测姿态、观测速度,目标预测数据包括以下至少一项:第二预测位置、第二预测姿态、第二预测速度,并且,目标观测数据和目标预测数据包括的参量类型一致,目标观测数据基于设置于可移动平台的以下至少一种运动传感器采集的数据确定:轮式里程计、定位传感器,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台。
如果目标预测数据包括第二预测位置,目标观测数据需要包括观测位置;如果目标预测数据包括第二预测姿态,目标观测数据需要包括观测姿态;如果目标预测数据包括第二预测速度,目标观测数据需要包括观测速度。
设置于可移动平台的轮式里程计采集的数据可以用于计算可移动平台在世界坐标系下的速度和角速度,由此可以得到当前修正时刻可移动平台在世界坐标系下的观测速度。另外,结合速度和角速度的积分运算,还可以得到当前修正时刻可移动平台在世界坐标系下的观测姿态和观测位置。
由于目标设备与可移动平台之间是相对静止的,如果目标设备的设备坐标系与可移动平台的平台坐标系为同一坐标系,可以直接将当前修正时刻可移动平台在世界坐标系下的观测速度、观测姿态、观测位置依次作为当前修正时刻目标设备在世界坐标系下的观测速度、观测姿态、观测位置,由此可以得到目标观测数据。如果目标设备的设备坐标系与可移动平台的平台坐标系为不同坐标系,参考预先确定的目标设备和可移动平台各自使用的坐标系之间的转换关系,通过对当前修正时刻可移动平台在世界坐标系下的观测速度、观
测姿态和观测位置进行转换,也可以得到当前修正时刻目标设备在世界坐标系下的观测速度、观测姿态和观测位置,由此也可以得到目标观测数据。
设置于可移动平台的定位传感器采集的数据可以表示可移动平台的实时位置,由此可以得到当前修正时刻可移动平台在世界坐标系下的观测位置,得到的观测位置可以作为目标观测数据中的观测位置。
在本公开的一些可选实施方式中,如果利用轮式里程计采集的数据和定位传感器采集的数据,分别得到了当前修正时刻可移动平台在世界坐标系下的观测位置,可以对这两个观测位置进行融合(例如直接求平均,或者进行加权平均),得到融合观测位置,并将融合观测位置作为目标观测数据中的观测位置。
可以理解的是,如果目标设备在世界坐标系下处于运动状态,与目标设备相对静止的可移动平台在世界坐标系下也处于运动状态。这时,利用设置于可移动平台的轮式里程计、定位传感器等,是可以实时观测目标设备在世界坐标系下的速度、姿态、位置的。这时,可以将目标约束方式确定为第六约束方式,第六约束方式也可以称为可移动平台约束方式。
假设目标预测数据包括第二预测位置,目标观测数据包括观测位置,第二预测位置表示为观测位置表示为第二误差表示为可以采用如下公式进行计算:
假设目标预测数据包括第二预测姿态,目标观测数据包括观测姿态,第二预测姿态表示为观测姿态表示为第二误差表示为可以采用如下公式进行计算:
假设目标预测数据包括第二预测速度,目标观测数据包括观测速度,第二预测速度表示为观测速度表示为第二误差表示为可以采用如下公式进行计算:
需要说明的是,如果目标预测数据和目标观测数据中包括的参量数量均为一个以上,第二误差可以由中的至少两者组合得到。
本公开的实施例中,对于目标设备在世界坐标系下处于运动状态的情况,采用可移动平台约束方式,可以通过对位置、姿态、速度中的至少一者做差,高效可靠地确定出第二误差以用于预测状态量的修正。
由以上介绍可知,设置于可移动平台的轮式里程计、定位传感器等运动传感器不仅能够用于确定可移动平台在世界坐标系下的运动情况信息,以便据此得到第一运动情况信息,还能够用于确定预测状态量的更新所需的第二误差。
可以理解地,在不冲突的前提下,上述适用于相同运动情况(不管是第一运动情况还是第二运动情况)下的约束方式是可以叠加的。为了便于理解,上文中单独进行了说明。
在一些可选示例中,目标设备设置有第一无线定位设备;用户设备设置有与第一无线定位设备配对的第二无线定位设备;观测相对位置通过第一无线定位设备和第二无线定位设备的协同工作确定。
在本公开的一些可选实施方式中,第一无线定位设备可以是集成于目标设备的设备,也可以是不同于目标设备的单独设备,通过螺接、卡接、插接、魔术贴等方式固定于目标设备。第二无线定位设备可以是集成于用户设备的设备,也可以不同于用户设备的单独设备,可以通过螺接、卡接、插接、魔术贴等方式固定于用户设备。
本公开的实施例中,目标设备和用户设备上可以分别设置无线定位设备,包括但不限于超宽带(Ultra Wideband,UWB)定位设备、蓝牙定位设备、无线保真(Wireless-Fidelity,WiFi)定位设备等。这样,利用成对的无线定位设备之间传输的无线射频信号,通过计算可以高效可靠地得到当前修正时刻用户设备与目标设备之间的观测相对位置,并且,即便使用用户设备的用户在可移动平台上随意变换位置、转头等,也不影响观测相对位置的获得。
在图1所示实施例的基础上,如图4所示,该方法还包括步骤172和步骤174。
步骤172,获取用户设备与目标设备之间的观测相对姿态;其中,观测相对姿态通过第一无线定位设备和第二无线定位设备的协同工作确定。
在步骤172中,利用目标设备和用户设备上设置的成对的无线定位设备之间传输的无线射频信号,通过计算还可以得到当前修正时刻用户设备与目标设备之间的观测相对姿态。
步骤174,确定观测相对姿态与预测相对姿态之间的第三误差。
在步骤174中,可以将观测相对姿态与预测相对姿态做差,得到的结果即可作为第三误差。与第一误差类似,第三误差也可以认为属于当前修正时刻的实际观测与预测观测之间的残差,对应卡尔曼滤波算法中的
步骤180,包括步骤1804。
步骤1804,利用第一误差和第三误差,对预测状态量进行修正。
需要说明的是,步骤1804的实施方式参照上文中对步骤1802的实施方式的介绍即可,在此不再赘述。
本公开的实施例中,可以利用成对的无线定位设备之间传输的无线射频信号,获得用户设备与目标设备之间的观测相对姿态,通过对姿态做差可以得到第三误差,第三误差可以与第一误差一并用于预测状态量的修正,这样,预测状态量的修正所参考的数据更加丰富,从而有利于提升修正效果。
在一些可选示例中,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台。
步骤140,包括以下任一项:基于可移动平台的平台坐标系下的预设位置,确定观测相对位置;基于用户输入的可移动平台的平台坐标系下的位置信息,确定观测相对位置;基于目标连接接口所在的位置,确定观测相对位置;其中,目标连接接口为可移动平台上设置的用于连接用户设备的接口。
在本公开的一些可选实施方式中,可以通过可移动平台的二维图纸(例如CAD图纸),获得可移动平台的尺寸。如果可移动平台的尺寸不大,例如可移动平台为车辆的情况,用户仅能在几平米的范围内活动,可以直接预设一个用户在可移动平台的平台坐标系下的位置,该位置可以作为预设位置。如果目标设备的设备坐标系与可移动平台的平台坐标系为同一坐标系,可以直接将预设位置作为观测相对位置,或者,可以对预设位置求逆矩阵,并将求得的结果作为观测相对位置。如果目标设备的设备坐标系与可移动平台的平台坐标系为不同坐标系,可以参考预先确定的目标设备和可移动平台各自使用的坐标系之间的转换关系,通过对预设位置进行转换,将预设位置的转换结果直接作为观测相对位置,或者,可以对预设位置的转换结果求逆矩阵,并将求得的结果作为观测相对位置。
在本公开的另一种实施方式中,用户可以通过触控输入、语音输入等方式,输入自身在可移动平台的平台坐标系下的位置信息。该位置信息表示可移动平台的平台坐标系下的一个位置,由该位置可以确定观测相对位置,具体确定方式参照上文中对基于预设位置确定观测相对位置的方式的介绍即可,在此不再赘述。
在本公开的再一种实施方式中,可移动平台上可以设置有目标连接接口,通过目标连接接口,可以实现可移动平台与用户设备之间的有线连接。由于目标连接接口在可移动平台上的设置位置是固定不动的,可以通过目标连接接口所在的位置,估计用户设备在可移动平台的平台坐标系下的实际位置。由该实际位置可以确定观测相对位置,具体确定方式参照上文中对基于预设位置确定观测相对位置的方式的介绍即可,在此不再赘述。
本公开的实施例中,通过预先设定位置的方式,或者通过用户主动进行位置信息输入的方式,再或者通过参考连接接口位置的方式,可以利用非视觉感知方式,实现第一观测位置的获取。
在一些可选示例中,目标设备满足以下两项中的一项:目标设备集成于可移动平台、
目标设备可移除地固定于可移动平台。
在图1所示实施例的基础上,如图5所示,该方法还包括步骤110和步骤112。
步骤110,确定可移动平台的平台类型。
可移动平台的平台类型包括但不限于车辆类型、轮船类型、飞机类型、火车类型,车辆类型还可以进一步细分为大型车辆类型、中型车辆类型、小型车辆类型等,轮船类型、飞机类型、火车类型等也可以按此规则进行细分。
本公开的一些可选实施方式中,用户设备与可移动平台之间可以建立通信连接,在建立通信连接的过程中,可以获取可移动平台的相关信息,包括但不限于标识信息,类型信息等。通过对类型信息的识别,可以确定可移动平台的平台类型。
在本公开的另一些可选实施方式中,用户设备可以设置有摄像头,用户设备可以通过摄像头采集自身所处环境的图像,对图像进行目标检测,以确定图像匹配哪一类可移动平台,由此可以确定可移动平台的平台类型。
步骤112,确定与平台类型匹配的初始协方差矩阵。
需要说明的是,可以预先设置平台类型与初始协方差矩阵之间的对应关系。在本公开的一些可选实施方式中,平台类型可以用于表示平台大小,平台大小与初始协方差矩阵之间可以呈正相关。也即,可移动平台尺寸越大,对应的初始协方差矩阵越大,可移动平台越小,对应的初始协方差矩阵越小。
这样,可以依据预先设置的对应关系,确定与步骤110中确定的平台类型对应的初始协方差矩阵,确定的初始协方差矩阵可以作为步骤112中的初始协方差矩阵。
步骤180,包括步骤1806。
步骤1806,利用预测状态量对应的预测协方差矩阵和第一误差,对预测状态量进行修正;其中,预测状态量和预测协方差矩阵均与初始协方差矩阵关联。
需要说明的是,卡尔曼滤波过程可以迭代执行多次,例如,可以由上一修正时刻的修正状态量和对应的修正协方差矩阵,通过一次卡尔曼滤波,得到当前修正时刻的修正状态量和对应的修正协方差矩阵,再由当前修正时刻的修正状态量和对应的修正协方差矩阵,通过另一次卡尔曼滤波,得到下一修正时刻的修正状态量和对应的修正协方差矩阵。在首次执行卡尔曼滤波时,由于并不存在上一修正时刻的修正协方差矩阵,可以将步骤112中确定的初始协方差矩阵作为上一修正时刻的修正协方差矩阵参与计算。这样,通过参考可移动平台的平台类型,选择合适的初始协方差矩阵参与计算,有利于保证计算中使用的初始协方差矩阵的合理性,从而有利于保证卡尔曼滤波的滤波效果。
需要说明的是,上文中在基于可移动平台的平台坐标系下的预设位置,确定观测相对位置的过程中,也可以运用可移动平台的平台类型。例如,可以根据预先设置的平台类型与预设位置之间的对应关系,确定与可移动平台的平台类型匹配的预设位置,并基于所确定的预设位置,实现观测相对位置的确定。这样能够参考可移动平台的平台大小,确定合适的观测相对位置以用于预测状态量的修正,从而保证修正效果。
在一些可选示例中,用户设备为头戴显示设备,该方法还包括:基于修正相对姿态,对通过头戴显示设备显示的虚拟画面进行以下处理中的至少一种:渲染、调整、控制。
可选地,本公开的实施例中涉及的渲染也可以称为Render;本公开的实施例中涉及的调整可以包括移位和扭曲(warping)中的至少一种。
在本公开的一些可选实施方式中,头戴显示设备的渲染引擎可以参考修正相对姿态,对虚拟画面进行渲染,并将渲染结果更新至头戴显示设备的显示屏中显示。
在本公开的另一些可选实施方式中,可以参考修正相对姿态做虚拟画面的画面渲染,调整虚拟画面在头戴显示设备的显示屏中的显示位置和姿态。
在本公开的再一些可选实施方式中,可以参考修正相对姿态做虚拟画面的画面渲染,并配置头戴显示设备中的光机。
本公开的实施例中,基于修正相对姿态,对通过头戴显示设备显示的虚拟画面进行渲
染、调整、控制等处理,能够使得头戴显示设备呈现预定的显示效果,例如上述“示例性概述”部分提及的直接通过头戴显示设备投屏的效果、以特定对象为基准的3dof显示效果等。
在一些可选示例中,用户设备为控制器,目标设备为头戴显示设备,该方法还包括:基于修正相对姿态,对通过头戴显示设备显示的虚拟画面进行控制。
可选地,本公开的实施例中的控制器包括但不限于用于控制头戴显示设备的手机、手柄、指环等。
本公开的实施例中,通过参考修正相对姿态,对通过头戴显示设备显示的虚拟画面进行控制,可以借助控制器,实现与虚拟画面的交互,例如将虚拟画面中的某一网页窗口由一个位置拖动至另一个位置,再例如调整虚拟画面中的虚拟射线的发射方向等。
在一些可选示例中,用户设备包括:头戴显示设备和控制器,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台;该方法还包括:基于头戴显示设备与目标设备之间的修正相对姿态,对通过头戴显示设备显示的虚拟画面进行以下处理中的至少一种:渲染、调整、控制;基于控制器与目标设备之间的修正相对姿态,对通过头戴显示设备显示的虚拟画面进行控制。
本公开的实施例中,通过参考头戴显示设备与目标设备之间的修正相对姿态,以及控制器与目标设备之间的修正相对姿态,对通过头戴显示设备显示的虚拟画面进行控制,既能够使得头戴显示设备呈现预定的显示效果,还能够借助控制器,实现与虚拟画面的交互。
为了实现用户设备与目标设备的相对姿态的修正,可以将卡尔曼滤波算法的状态量设置为至少包括:用户设备与目标设备之间的预测相对位置Pvg、预测相对姿态Rvg、预测相对速度Vvg,设置于目标设备的第二惯性测量单元的角速度偏置和加速度偏置以及设置于用户设备的第一惯性测量单元的角速度偏置和加速度偏置可选地,卡尔曼滤波算法的状态量还可以包括:目标设备在世界坐标系下的预测位置Pv、预测姿态Rv、预测速度Vv。可选地,可以给状态量中的各个参量添加“predict”这一上标,或者在已有上标之后增加“predict”,以表示预测状态量。
具体实施时,目标设备可以集成于可移动平台,或者可移除地固定于可移动平台;用户可以在可移动平台上使用用户设备。如图6所示,可以通过如下步骤实现状态量的更新。
S0,获取第一惯性测量单元采集的数据。
S1,获取第二惯性测量单元采集的数据。
S2,确定预测状态量。
S3,获取设置于可移动平台的轮式里程计、GPS等采集的数据。
S4,获取可移动平台在世界坐标系下的运动情况信息(相当于上文中的第一运动情况信息)。
S5,获取用户设备在世界坐标系下的运动情况信息(相当于上文中的第二运动情况信息)。
S6,获取用户设备在可移动平台内的位置(相当于上文中的观测相对位置)。
S7,根据运动情况信息选择约束方式。
S8,对预测状态量进行修正,得到修正状态量。
上述S2中确定的预测状态量可以至少包括:还可以包括
上述S4中,可以采用以下方式中的至少一种方式,确定可移动平台在世界坐标系下的运动情况信息:
(1)参考轮式里程计采集的数据,计算可移动平台的速度,并依据计算得到的速度,确定可移动平台是否静止;
(2)从GPS信号中获取可移动平台的速度,并依据计算得到的速度,确定可移动平台是否静止;
(3)参考刹停、档位信号,确定可移动平台是否静止;
(4)依据可移动平台的惯性测量单元(其可能是第二惯性测量单元,或者是第三惯性测量单元)的角速度和加速度在最近一段时间内的方差是否分别小于设定的阈值,确定可移动平台是否静止。
上述S5中,可以依据第一惯性测量单元的角速度和加速度在最近一段时间内的方差是否分别小于设定的阈值,确定用户设备在世界坐标系下的运动情况信息。
上述S6中,观测相对位置既可以利用成对的无线定位设备的协同工作得到,也可以通过预先设定位置的方式,通过用户主动进行位置信息输入的方式,或者通过参考连接接口位置的方式得到。需要说明的是,将观测相对位置用于预测状态量的修正可以称为相对位置约束方式。
上述S7中,依据可移动平台和用户设备各自的运动情况信息,可以选择合适的约束方式(即上文中的目标约束方式),可供选择的约束方式可以包括:零速度约束方式、零角速度约束方式、目标设备的重力约束方式、用户设备的重力约束方式、用户设备和目标设备两者的相对重力约束方式、可移动平台约束方式。
上述S8中,可以依据上述S7中选择的约束方式,得到相应实际观测与预测观测,并计算实际观测与预测观测之间的残差(例如上文中的第一误差、第二误差、第三误差),依据残差,可以对预测状态量进行修正,得到修正状态量。
下面对各种约束方式进行说明。
(1)相对位置约束
通过上述的S2,可以得到作为预测相对位置的通过上述的S6,可以得到作为观测相对位置的上述的S8中,通过对和做差,可以得到作为第一误差的
用户在可移动平台上使用用户设备时,用户相对于可移动平台的位置变化量往往并不大。可移动平台在世界坐标系下的移动距离S、作为相对姿态维度对应的误差(也可以称为相对姿态误差)的之间为正相关。并且,可移动平台在世界坐标系下的移动距离S越大,与之间的相关性越大,具体可参见图7。
由于与正相关,由可以反推依据可以确定相对姿态维度对应的修正量,将相对姿态维度对应的修正量与叠加,可以实现对的修正。按照类似的方式,还可以实现预测状态量中的其他参量的修正,由此可以得到修正状态量。
(2)零速度约束方式
通过上述的S2,可以得到作为第二预测速度的如果上述的S4中得到的运动情况信息表征可移动平台处于静止状态,可以认为可移动平台在世界坐标系下的速度为零。作为目标设备在世界坐标系下的观测速度的为零,上述的S7中选择的约束方式可以为零速度约束方式。上述的S8中,通过对和做差,可以得到作为第二误差的
可以理解的是,与作为第二预测加速度偏置的关联,与
关联,与关联,利用这些关联性,可以由反推之后可以按照与上述相对位置约束的相关描述中类似的方式,实现预测状态量的修正。
(3)零角速度约束方式
通过上述的S0,可以得到作为目标设备在世界坐标系下的角速度的如果上述的S4得到的运动情况信息表征可移动平台处于静止状态,可以认为可移动平台在世界坐标系下的角速度为零。作为目标设备在世界坐标系下的观测角速度的为零。上述的S7中选择的约束方式可以为零角速度约束方式。上述的S8中,通过将与和的差值做差,可以得到作为第二误差的
可以理解的是,与关联,与关联,利用这些关联性,可以由反推之后可以按照与上述相对位置约束的相关描述中类似的方式,实现预测状态量的修正。
(4)目标设备的重力约束方式
通过上述的S0,可以得到作为目标设备在世界坐标系下的加速度的av。通过上述的S2,可以得到作为第二预测姿态的如果上述的S4得到的运动情况信息表征可移动平台处于静止状态,可以认为第二惯性测量单元测出的加速度方向为重力方向。上述的S7中选择的约束方式可以为目标设备的重力约束方式。上述的S8中,通过将av与做差,可以得到作为第二误差的gerror。
可以理解的是,gerror与关联,与关联,利用这些关联性,可以由gerror反推之后可以按照与上述相对位置约束的相关描述中类似的方式,实现预测状态量的修正。
(5)用户设备的重力约束方式
通过上述的S1,可以得到作为用户设备在世界坐标系下的加速度的ag。通过上述的S2,可以得到作为第二预测姿态的通过将与相乘,可以得到作为用户设备在世界坐标系下的预测姿态的如果上述的S4得到的运动情况信息表征可移动平台处于静止状态,上述的S5得到的运动情况信息表征用户设备处于静止状态,可以认为第一惯性测量单元测出的加速度方向为重力方向。上述的S7中选择的约束方式可以为用户设备的重力约束方式。上述的S8中,通过将ag与做差,可以得到作为第二误差的gerror。
可以理解的是,gerror直接与关联,利用该关联性,可以由gerror反推之后可以按照与上述相对位置约束的相关描述中类似的方式,实现预测状态量的修正。
(6)用户设备和目标设备两者的相对重力约束方式
通过上述的S0,可以得到作为目标设备在世界坐标系下的加速度的av。通过上述的S1,可以得到作为用户设备在世界坐标系下的加速度的ag。如果上述的S4得到的运动情况信息表征可移动平台处于静止状态,上述的S5得到的运动情况信息表征用户设备处于静止状态,可以认为av与ag理论上沿同一个方向(即重力方向)。上述的S7中选择的约束方式可以为用户设备和目标设备两者的相对重力约束方式。上述的S8中,通过将ag与做差,可以得到作为第二误差的dgerror。
可以理解的是,dgerror直接与关联,利用该关联性,可以由dgerror反推之后可以按照与上述相对位置约束的相关描述中类似的方式,实现预测状态量的修正。
(7)可移动平台约束方式
通过上述的S2,可以得到依次作为目标设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度的通过利用S4中得到的数据进行计算,可以确定作为观测位置的作为观测姿态的作为观测速度的如果上述的S4得到的运动情况信息表征可移动平台处于运动状态,可以判定可移动平台处于可以获知其位置、姿态、速度等信息的状态。上述的S7中选择的约束方式可以为可移动平台约束方式。上述的S8中,通过将与做差,或者将与做差,或者将与做差,可以得到第三误差。基于第三误差,可以反推之后可以按照与上述相对位置约束的相关描述中类似的方式,实现预测状态量的修正。
在一些实施例中,相对位置约束可以是默认使用的约束方式,不管目标设备和用户设备处于何种状态,相对位置约束方式都会运行,以实现第一误差的确定,以便将第一误差用于预测状态量的修正。而其他约束方式是可选的约束方式,可以根据目标设备和用户设备所处的状态,决定是否运用其他约束方式,以及具体运用其他约束方式中的哪些约束方式。
在一些实施方式中,也可以不将相对位置约束设置为默认使用的约束方式,这时,可以参考目标设备和用户设备所处的状态,或者其他因素,从本公开的实施例介绍的所有可能的约束方式中,选择合适的约束方式,并运用所选择的约束方式。
在一些实施方式中,可以根据实际需求,对本公开的实施例介绍的所有可能的约束方式进行组合使用,例如同时使用零速度约束方式和零角速度约束方式,再例如同时使用相
对位置约束方式和可移动平台约束方式。
需要说明的是,以上方法实施例中介绍的均是修正用户设备与目标设备的相对姿态的情况,本公开的实施例的适用范围并不局限于这种情况,利用本公开的实施例中的构思,可以根据实际需求,对任意两个均设置有惯性测量单元的设备的相对姿态进行修正。
另外,本公开的实施例中涉及的各个观测位置也可以称为观测平移,各个预测位置也可以称为预测平移。
本公开的实施例提供的任一种用于修正用户设备与目标设备的相对姿态的方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种用于修正用户设备与目标设备的相对姿态的方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种用于修正用户设备与目标设备的相对姿态的方法。下文不再赘述。
本公开的实施例还提供一种用于确定第一设备与第二设备的相对姿态的方法,第一设备设置有第一惯性测量单元,第二设备设置有第二惯性测量单元,该方法包括:
获取状态量,第一惯性测量单元采集的数据,和第二惯性测量单元采集的数据,其中,状态量包括第一设备与第二设备之间的相对位置、相对姿态、相对速度、第一惯性测量单元的第一角速度偏置、第一惯性测量单元的第一加速度偏置、第二惯性测量单元的第二角速度偏置、第二惯性测量单元的第二加速度偏置;
确定预测状态量,预测状态量包括以下两种中的至少一种:第一设备与第二目标设备之间的预测相对位置、预测相对姿态、预测相对速度;第一设备在世界坐标系下的第一预测位置、第一预测姿态、第一预测速度,以及第二设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度;
获取第一设备与第二设备之间的观测相对位置;其中,观测相对位置为预先设定的数据;
确定观测相对位置与预测相对位置之间的第一误差;其中,预测相对位置满足以下两项中的一项:预测相对位置为预测状态量中的预测相对位置、预测相对位置基于预测状态量中的第一预测位置和第二预测位置确定;
利用第一误差,对预测状态量进行修正,以得到第一设备与第二设备之间的修正相对姿态。
本公开的实施例还提供一种用于修正第一设备与第二设备的相对姿态的方法,第一设备设置有第一惯性测量单元,第二设备设置有第二惯性测量单元。该方法包括:
获取预测状态量;其中,预测状态量基于第一惯性测量单元采集的数据和第二惯性测量单元采集的数据确定,预测状态量包括以下两种中的至少一种:第一设备与第二设备之间的预测相对位置、预测相对姿态、预测相对速度,其中预测相对速度基于符合杆臂约束条件的状态估计方程得到;第一设备在世界坐标系下的第一预测位置、第一预测姿态、第一预测速度,以及第二设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度;
获取第一设备与第二设备之间的观测相对位置;其中,观测相对位置基于非视觉数据确定;
确定观测相对位置与预测相对位置之间的第一误差;其中,预测相对位置满足以下两项中的一项:预测相对位置为预测状态量中的预测相对位置、预测相对位置基于预测状态量中的第一预测位置和第二预测位置确定;
利用第一误差,对预测状态量进行修正,以得到第一设备与第二设备之间的修正相对姿态。
可选地,参考坐标系对应的惯性测量单元为第一惯性测量单元,状态估计方程可以包括第一方程:
可选地,参考坐标系对应的惯性测量单元为第一惯性测量单元,状态估计方程可以包括第二方程:
其中,表示第二设备与第一设备之间在惯性坐标系下的相对速度投影至参考坐标系下得到的投影结果。
参考坐标系对应的惯性测量单元可以理解为第一设备,也就是目标设备的惯性测量单元。
可选地,状态估计方程的状态量可以表示为如下形式:
可选地,如果状态估计方程包括上述的第一方程,则除了包括第一方程之外,状态估计方程还可以包括如下方程:
可选地,如果状态估计方程包括上述的第二方程,则除了包括第二方程之外,状态估计方程还可以包括如下方程:
示例性装置
图8是本公开一示例性实施例提供的用于修正用户设备与目标设备的相对姿态的装置的结构示意图,用户设备设置有第一惯性测量单元,目标设备设置有第二惯性测量单元,图8所示的装置包括第一获取模块820、第二获取模块840、第一确定模块860和修正模块880。
第一获取模块820,用于获取预测状态量;其中,预测状态量基于第一惯性测量单元采集的数据和第二惯性测量单元采集的数据确定,预测状态量包括以下两种中的至少一种:用户设备与目标设备之间的预测相对位置、预测相对姿态、预测相对速度;用户设备在世界坐标系下的第一预测位置、第一预测姿态、第一预测速度,以及目标设备在世界坐标系下的第二预测位置、第二预测姿态、第二预测速度;第二获取模块840,用于获取用户设
备与目标设备之间的观测相对位置;其中,观测相对位置基于非视觉数据确定;第一确定模块860,用于确定观测相对位置与预测相对位置之间的第一误差;其中,预测相对位置满足以下两项中的一项:预测相对位置为预测状态量中的预测相对位置、预测相对位置基于预测状态量中的第一预测位置和第二预测位置确定;修正模块880,用于利用第一误差,对预测状态量进行修正,以得到用户设备与目标设备之间的修正相对姿态。
在一些可选示例中,如图9所示,该装置还包括:第三获取模块862,用于获取目标设备在世界坐标系下的第一运动情况信息;第二确定模块864,用于基于第一运动情况信息,确定目标约束方式;第四获取模块866,用于获取目标约束方式对应的目标观测数据;其中,目标观测数据基于非视觉数据确定,目标观测数据包括:用户设备和目标设备中的至少一者在世界坐标系下的观测数据;第五获取模块868,用于基于预测状态量,获取目标约束方式对应的目标预测数据;其中,目标预测数据包括:目标观测数据所归属的设备在世界坐标系下的预测数据;第三确定模块870,用于确定目标观测数据与目标预测数据之间的第二误差;修正模块880,具体用于:利用第一误差和第二误差,对预测状态量进行修正。
在一些可选示例中,第二确定模块864,具体用于:响应于第一运动情况信息表征目标设备处于静止状态,确定目标约束方式为第一约束方式;其中,响应于目标约束方式为第一约束方式,目标观测数据包括:目标设备在世界坐标系下的预设观测速度,预设观测速度为零,目标预测数据包括:第二预测速度。
在一些可选示例中,预测状态量还包括以下至少一项:第一惯性测量单元的第一预测角速度偏置;第一惯性测量单元的第一预测加速度偏置;第二惯性测量单元的第二预测角速度偏置;第二惯性测量单元的第二预测加速度偏置。
在一些可选示例中,第二确定模块864,具体用于:响应于第一运动情况信息表征目标设备处于静止状态,确定目标约束方式为第二约束方式;其中,响应于目标约束方式为第二约束方式,目标观测数据包括:目标设备在世界坐标系下的预设观测角速度,预设观测角速度为零,目标预测数据包括:目标设备在世界坐标系下的角速度与第二预测角速度偏置的差值,目标设备在世界坐标系下的角速度通过第二惯性测量单元采集。
在一些可选示例中,第二确定模块864,具体用于:响应于第一运动情况信息表征目标设备处于静止状态,确定目标约束方式为第三约束方式;其中,响应于目标约束方式为第三约束方式,目标观测数据包括:通过第二惯性测量单元采集的,目标设备在世界坐标系下的加速度,目标预测数据包括:利用第二预测姿态和世界坐标系下的重力加速度计算得到的,目标设备在世界坐标系下的加速度。
在一些可选示例中,如图9所示,该装置还包括:第六获取模块863,用于获取用户设备在世界坐标系下的第二运动情况信息;第二确定模块864,具体用于:基于第一运动情况信息和第二运动情况信息,确定目标约束方式。
在一些可选示例中,第二确定模块864,具体用于:响应于第一运动情况信息表征目标设备处于静止状态,第二运动情况信息表征用户设备处于静止状态,确定目标约束方式为第四约束方式;其中,响应于目标约束方式为第四约束方式,目标观测数据包括:通过第一惯性测量单元采集的,用户设备在世界坐标系下的加速度,目标预测数据包括:利用预测相对姿态、第二预测姿态和世界坐标系下的重力加速度计算得到的,用户设备在世界坐标系下的加速度。
在一些可选示例中,第二确定模块864,具体用于:响应于第一运动情况信息表征目标设备处于静止状态,第二运动情况信息表征用户设备处于静止状态,确定目标约束方式为第五约束方式;其中,响应于目标约束方式为第五约束方式,目标观测数据包括:通过第一惯性测量单元采集的,用户设备在世界坐标系下的加速度,目标预测数据包括:利用预测相对姿态以及通过第二惯性测量单元采集的目标设备在世界坐标系下的加速度计算得到的,用户设备在世界坐标系下的加速度。
在一些可选示例中,第二确定模块864,具体用于:响应于第一运动情况信息表征目标设备处于运动状态,确定目标约束方式为第六约束方式;其中,响应于目标约束方式为第六约束方式,目标观测数据包括以下至少一项:目标设备在世界坐标系下的观测位置、观测姿态、观测速度,目标预测数据包括以下至少一项:第二预测位置、第二预测姿态、第二预测速度,并且,目标观测数据和目标预测数据包括的参量类型一致,目标观测数据基于设置于可移动平台的以下至少一种运动传感器采集的数据确定:轮式里程计、定位传感器,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台。
在一些可选示例中,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台;第一运动情况信息基于以下至少一种运动传感器采集的数据确定:轮式里程计、定位传感器、档位传感器、刹停信号传感器、目标惯性测量单元;轮式里程计、定位传感器、档位传感器、刹停信号传感器均设置于可移动平台,响应于目标设备集成于可移动平台,目标惯性测量单元为第二惯性测量单元,响应于目标设备可移除地固定于可移动平台,目标惯性测量单元为以下两项中的一项:第二惯性测量单元、不同于第二惯性测量单元的惯性测量单元。
在一些可选示例中,目标设备设置有第一无线定位设备;用户设备设置有与第一无线定位设备配对的第二无线定位设备;观测相对位置通过第一无线定位设备和第二无线定位设备的协同工作确定。
在一些可选示例中,如图10所示,该装置还包括:第七获取模块872,用于获取用户设备与目标设备之间的观测相对姿态;其中,观测相对姿态通过第一无线定位设备和第二无线定位设备的协同工作确定;第四确定模块874,用于确定观测相对姿态与预测相对姿态之间的第三误差;修正模块880,具体用于:利用第一误差和第三误差,对预测状态量进行修正。
在一些可选示例中,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台;第二获取模块840,具体用于以下任一项:基于可移动平台的平台坐标系下的预设位置,确定观测相对位置;基于用户输入的可移动平台的平台坐标系下的位置信息,确定观测相对位置;基于目标连接接口所在的位置,确定观测相对位置;其中,目标连接接口为可移动平台上设置的用于连接用户设备的接口。
在一些可选示例中,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台;如图11所示,该装置还包括:第五确定模块812,用于确定可移动平台的平台类型;第六确定模块814,用于确定与平台类型匹配的初始协方差矩阵;修正模块880,具体用于:利用预测状态量对应的预测协方差矩阵和第一误差,对预测状态量进行修正;其中,预测状态量和预测协方差矩阵均与初始协方差矩阵关联。
在一些可选示例中,用户设备为头戴显示设备,该装置还包括:第一处理模块,用于基于修正相对姿态,对通过头戴显示设备显示的虚拟画面进行以下处理中的至少一种:渲染、调整、控制。
在一些可选示例中,用户设备为控制器,目标设备为头戴显示设备,该装置还包括:第一控制模块,用于基于修正相对姿态,对通过头戴显示设备显示的虚拟画面进行控制。
在一些可选示例中,用户设备包括:头戴显示设备和控制器,目标设备满足以下两项中的一项:目标设备集成于可移动平台、目标设备可移除地固定于可移动平台;该装置还包括:第二处理模块,用于基于头戴显示设备与目标设备之间的修正相对姿态,对通过头戴显示设备显示的虚拟画面进行以下处理中的至少一种:渲染、调整、控制;第二控制模块,用于基于控制器与目标设备之间的修正相对姿态,对通过头戴显示设备显示的虚拟画面进行控制。
在本公开的装置中,上述公开的各种可选实施例、可选实施方式和可选示例,都可以根据需要进行灵活的选择和组合,从而实现相应的功能和效果,本公开不进行一一列举。
示例性电子设备
下面,参考图12来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们不同的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图12图示了根据本公开实施例的电子设备1200的框图。
如图12所示,电子设备1200包括一个或多个处理器1210和存储器1220。
处理器1210可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1200中的其他组件以执行期望的功能。
存储器1220可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1210可以运行所述程序指令,以实现上文所述的本公开的各个实施例的用于修正用户设备与目标设备的相对姿态的方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备1200还可以包括:输入装置1230和输出装置1240,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在电子设备1200是第一设备或第二设备时,该输入装置1230可以是麦克风或麦克风阵列。在电子设备1200是单机设备时,该输入装置1230可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。
此外,该输入装置1230还可以包括例如键盘、鼠标等等。
该输出装置1240可以向外部输出各种信息。该输出装置1240可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出装置等等。
当然,为了简化,图12中仅示出了该电子设备1200中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1200还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于修正用户设备与目标设备的相对姿态的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于修正用户设备与目标设备的相对姿态的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、
红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。