CN108196701A - 确定姿态的方法、装置及vr设备 - Google Patents
确定姿态的方法、装置及vr设备 Download PDFInfo
- Publication number
- CN108196701A CN108196701A CN201810003966.9A CN201810003966A CN108196701A CN 108196701 A CN108196701 A CN 108196701A CN 201810003966 A CN201810003966 A CN 201810003966A CN 108196701 A CN108196701 A CN 108196701A
- Authority
- CN
- China
- Prior art keywords
- posture
- magnetic force
- force vector
- score
- gesture
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 239000013598 vector Substances 0.000 claims abstract description 261
- 238000013507 mapping Methods 0.000 claims abstract description 124
- 238000005070 sampling Methods 0.000 claims description 91
- 238000005259 measurement Methods 0.000 claims description 6
- 239000000700 radioactive tracer Substances 0.000 abstract 1
- 230000036544 posture Effects 0.000 description 342
- 230000008569 process Effects 0.000 description 15
- 230000001133 acceleration Effects 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000003247 decreasing effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 206010034719 Personality change Diseases 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
本发明公开了一种确定姿态的方法、装置及VR设备,属于位姿追踪技术领域。该方法包括:当在当前采样时刻接收到由IMU采集的运动数据时,基于该运动数据和最近一次确定的智能设备的姿态确定第一姿态,获取由磁力传感器采集的第一磁力向量,并基于第一磁力向量从存储的姿态映射表中查找第二姿态,当查找到第二姿态时,则基于第一姿态和第二姿态,确定智能设备当前的姿态。本发明实施例并不是直接根据第一磁力向量计算得到姿态的偏航角,而是利用该第一磁力向量,从存储的姿态映射表中查找第二姿态。由于第一磁力向量并不需要直接参与运算得到第二姿态,因此,对周围环境磁场的要求更加宽松,适用场合更加广泛。
Description
技术领域
本发明涉及位姿追踪技术领域,特别涉及一种确定姿态的方法、装置及VR(Virtual Reality,虚拟现实)设备。
背景技术
目前,诸如智能手机、VR设备、AR(Augmented Reality,增强现实)设备等智能设备的应用越来越普遍。当诸如此类的智能设备随着用户一起动作时,智能设备可以根据自身随着用户做出的动作来确定智能设备当前的姿态,进而根据当前的姿态做出响应。
相关技术中,智能设备中设置有IMU(Inertial measurement unit,惯性测量单元)和磁力传感器,其中,IMU一般包括陀螺仪和加速度计,智能设备可以通过对陀螺仪测量的角速度进行积分来计算第一翻滚角、第一俯仰角和第一偏航角。之后,智能设备可以根据加速度计测量的加速度来对第一翻滚角和第一俯仰角进行校正,并根据磁力传感器测量的磁力数据计算第二偏航角,通过第二偏航角对第一偏航角进行校正,校正后的翻滚角、俯仰角以及偏航角即可以用于表征智能设备当前的姿态。图1A是翻滚角、俯仰角以及偏航角的示意图。如图1A所示,以智能设备建立坐标系,以智能设备的质心为原点,X轴垂直于智能设备的正面且指向智能设备的正面所朝的方向,Y轴垂直于X轴指向智能设备的右侧,Z轴与X轴和Y轴垂直且指向智能设备的顶部。如图1A中所示,当智能设备绕着X轴旋转时,旋转的角度即为翻滚角,当智能设备绕着Y轴旋转时,旋转的角度即为俯仰角,当智能设备绕着Z轴旋转时,旋转的角度即为偏航角。
然而,在上述确定姿态的过程中,由于磁力传感器容易受到周围环境磁场的影响,因此,当周围环境磁场不均匀时,会导致测得的磁力数据不准确,而根据该磁力数据计算得到的第二偏航角就会存在偏差,在此基础上,为了保证通过该第二偏航角能够确定得到更准确的姿态,就需要确保磁力数据的准确性,而为了确保磁力数据的准确性,就需要对当前智能设备所处的环境的磁场有严格的要求,换句话说,相关技术中通过磁力数据确定第二偏航角的方法对应用环境的磁场有严格的要求,导致相关技术中确定姿态的方法的适用范围较窄。
发明内容
为了解决相关技术中确定姿态的方法的适用范围较窄的问题,本发明实施例提供了一种确定姿态的方法、装置及计算机可读存储介质。所述技术方案如下:
第一方面,提供了一种确定姿态的方法,所述方法包括:
当在当前采样时刻接收到由智能设备中的惯性测量单元IMU采集的运动数据时,获取当前采样时刻之前最近一次确定的所述智能设备的姿态,并基于所述运动数据和所述最近一次确定的所述智能设备的姿态确定第一姿态;
获取由所述智能设备中的磁力传感器采集的第一磁力向量,并基于所述第一磁力向量从存储的姿态映射表中查找第二姿态,所述姿态映射表用于指示磁力向量与姿态之间的对应关系;
当查找到所述第二姿态时,基于所述第一姿态和所述第二姿态,确定所述智能设备当前的姿态。
可选地,所述获取由所述智能设备中的磁力传感器采集的第一磁力向量,包括:
判断在当前采样时刻是否接收到由所述磁力传感器采集的磁力向量;
当在当前采样时刻接收到由所述磁力传感器采集的磁力向量时,将接收到的磁力向量确定为所述第一磁力向量;
当在当前采样时刻未接收到由所述磁力传感器采集的磁力向量时,获取当前采样时刻之前最近一次采集到的磁力向量,并将获取的磁力向量作为所述第一磁力向量。
可选地,,所述姿态映射表还用于指示磁力向量、姿态与分值之间的对应关系;所述基于所述第一磁力向量从存储的姿态映射表中查找第二姿态之前,还包括:
从所述姿态映射表中查找与所述第一磁力向量相似的第二磁力向量;
当查找到所述第二磁力向量时,执行所述基于所述第一磁力向量从存储的姿态映射表中查找第二姿态的步骤;
当未查找到所述第二磁力向量时,将所述第一磁力向量、所述第一姿态和第一预设分值对应存储在所述姿态映射表中,并将所述第一姿态确定为所述智能设备当前的姿态。
可选地,所述基于所述第一磁力向量从存储的姿态映射表中查找第二姿态,包括:
从所述姿态映射表中获取所述第二磁力向量所对应的姿态,得到第三姿态;
当所述第一姿态与所述第三姿态之间的相似度大于预设相似度时,将所述第三姿态所对应的分值更新为第一分值,并将所述第三姿态作为所述第二姿态,所述第一分值是将所述第三姿态所对应的分值增加第二预设分值得到;
当所述第一姿态与所述第三姿态之间的相似度不大于预设相似度时,将所述第三姿态所对应的分值更新为第二分值,所述第二分值是将所述第三姿态所对应的分值减小所述第二预设分值得到;
当所述第二分值大于0时,将所述第三姿态作为所述第二姿态;
当所述第二分值不大于0时,确定未查找到所述第二姿态。
可选地,所述确定未查找到所述第二姿态之后,还包括:
将所述第二磁力向量、所述第三姿态和所述第三姿态对应的分值在所述姿态映射表中的记录进行删除,并将所述第一磁力向量、所述第一姿态和所述第一预设分值对应存储在所述姿态映射表中。
可选地,所述基于所述第一磁力向量从存储的姿态映射表中查找第二姿态之后,还包括:
当未查找到所述第二姿态时,将所述第一姿态确定为所述智能设备当前的姿态。
可选地,所述基于所述第一姿态和所述第二姿态,确定所述智能设备当前的姿态,包括:
获取所述第二姿态对应的第二权重,并基于所述第二权重确定所述第一姿态对应的第一权重,所述第二权重为预设权重,或者是根据所述第二姿态对应的分值确定得到;
基于所述第一姿态、所述第一权重、所述第二姿态和所述第二权重,确定所述智能设备当前的姿态。
可选地,所述基于所述第一姿态、所述第一权重、所述第二姿态和所述第二权重,确定所述智能设备当前的姿态,包括:
基于所述第一姿态、所述第一权重、所述第二姿态和所述第二权重,通过下述公式计算所述智能设备当前的姿态;
cosΩ=Q·q
其中,所述Slerp(Q,q,gain)为所述智能设备当前的姿态,所述Q为所述第一姿态,所述q为所述第二姿态,所述gain为所述第二权重,所述(1-gain)为所述第一权重。
可选地,所述基于所述第一姿态、所述第一权重、所述第二姿态和所述第二权重,确定所述智能设备当前的姿态,包括:
基于所述第一姿态、所述第一权重、所述第二姿态和所述第二权重,通过下述公式计算所述智能设备当前的姿态;
Lerp(Q,q,gain)=(1-gain)×Q+gain×q
其中,所述Lerp(Q,q,gain)为所述智能设备当前的姿态,所述Q为所述第一姿态,所述q为所述第二姿态,所述gain为所述第二权重,所述(1-gain)为所述第一权重。
第二方面,提供一种确定姿态的装置,所述装置包括:
第一获取模块,用于当在当前采样时刻接收到由智能设备中的惯性测量单元IMU采集的运动数据时,获取当前采样时刻之前最近一次确定的所述智能设备的姿态;
第一确定模块,用于基于所述运动数据和所述最近一次确定的所述智能设备的姿态确定第一姿态;
第二获取模块,用于获取由所述智能设备中的磁力传感器采集的第一磁力向量;
第一查找模块,用于基于所述第一磁力向量从存储的姿态映射表中查找第二姿态,所述姿态映射表用于指示磁力向量与姿态之间的对应关系;
第二确定模块,用于当查找到所述第二姿态时,基于所述第一姿态和所述第二姿态,确定所述智能设备当前的姿态。
可选地,所述第二获取模块包括:
判断子模块,用于判断在当前采样时刻是否接收到由所述磁力传感器采集的磁力向量;
第一确定子模块,用于当在当前采样时刻接收到由所述磁力传感器采集的磁力向量时,将接收到的磁力向量确定为所述第一磁力向量;
第一获取子模块,用于当在当前采样时刻未接收到由所述磁力传感器采集的磁力向量时,获取当前采样时刻之前最近一次采集到的磁力向量,并将获取的磁力向量作为所述第一磁力向量。
可选地,所述姿态映射表还用于指示磁力向量、姿态与分值之间的对应关系;
所述装置还包括:
第二查找模块,用于从所述姿态映射表中查找与所述第一磁力向量相似的第二磁力向量;
触发模块,用于当查找到所述第二磁力向量时,触发所述第二确定模块基于所述第一磁力向量从存储的姿态映射表中查找第二姿态;
第三确定模块,用于当未查找到所述第二磁力向量时,将所述第一磁力向量、所述第一姿态和第一预设分值对应存储在所述姿态映射表中,并将所述第一姿态确定为所述智能设备当前的姿态。
可选地,所述第一查找模块包括:
第二获取子模块,用于从所述姿态映射表中获取所述第二磁力向量所对应的姿态,得到第三姿态;
第二确定子模块,用于当所述第一姿态与所述第三姿态之间的相似度大于预设相似度时,将所述第三姿态所对应的分值更新为第一分值,并将所述第三姿态作为所述第二姿态,所述第一分值是将所述第三姿态所对应的分值增加第二预设分值得到;
查找子模块,用于当所述第一姿态与所述第三姿态之间的相似度不大于所述预设相似度时,将所述第三姿态所对应的分值更新为第二分值,所述第二分值是将所述第三姿态所对应的分值减小所述第二预设分值得到;
第三确定子模块,用于当所述第二分值大于0时,将所述第三姿态作为所述第二姿态;当所述第二分值不大于0时,确定未查找到所述第二姿态。
可选地,所述第一查找模块还用于:
将所述第二磁力向量、所述第三姿态和所述第三姿态对应的分值在所述姿态映射表中的记录进行删除,并将所述第一磁力向量、所述第一姿态和所述第一预设分值对应存储在所述姿态映射表中。
可选地,所述装置还用于:
当未查找到所述第二姿态时,将所述第一姿态确定为所述智能设备当前的姿态。
可选地,所述第二确定模块包括:
第三获取子模块,用于获取所述第二姿态对应的第二权重,并基于所述第二权重确定所述第一姿态对应的第一权重,所述第二权重为预设权重,或者是根据所述第二姿态对应的分值确定得到;
第四确定子模块,用于基于所述第一姿态、所述第一权重、所述第二姿态和所述第二权重,确定所述智能设备当前的姿态。
可选地,所述第四确定子模块具体用于:
基于所述第一姿态、所述第一权重、所述第二姿态和所述第二权重,通过下述公式计算所述智能设备当前的姿态;
cosΩ=Q·q
其中,所述Slerp(Q,q,gain)为所述智能设备当前的姿态,所述Q为所述第一姿态,所述q为所述第二姿态,所述gain为所述第二权重,所述(1-gain)为所述第一权重。
可选地,所述第四确定子模块具体用于:
基于所述第一姿态、所述第一权重、所述第二姿态和所述第二权重,通过下述公式计算所述智能设备当前的姿态;
Lerp(Q,q,gain)=(1-gain)×Q+gain×q
其中,所述Lerp(Q,q,gain)为所述智能设备当前的姿态,所述Q为所述第一姿态,所述q为所述第二姿态,所述gain为所述第二权重,所述(1-gain)为所述第一权重。
第三方面,提供一种虚拟现实VR设备,其特征在于,所述VR设备包括:
IMU,用于采集运动数据;
磁力传感器,用于采集磁力向量;
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为上述第一方面所述的任一项方法的步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述的任一项方法的步骤。
第五方面,提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的任一项方法。
本发明实施例提供的技术方案带来的有益效果是:当在当前采样时刻接收到由智能设备中的IMU采集的运动数据时,获取当前采样时刻之前最近一次确定的智能设备的姿态,并基于该运动数据和最近一次确定的智能设备的姿态确定第一姿态,获取由智能设备中的磁力传感器采集的第一磁力向量,并基于第一磁力向量从存储的姿态映射表中查找第二姿态,当查找到第二姿态时,则基于第一姿态和第二姿态,确定智能设备当前的姿态。由此可见,本发明实施例在获取到第一磁力向量之后,并不是直接根据第一磁力向量计算得到姿态的偏航角,而是利用该第一磁力向量,根据存储的姿态映射表中指示的磁力向量和姿态之间的对应关系来确定第二姿态。如果直接采用第一磁力向量计算姿态的偏航角,由于第一磁力向量直接参与运算,因此,对影响该第一磁力向量的准确性的磁场环境的要求将非常严格,而本发明实施例中利用第一磁力向量根据存储的姿态映射表确定第二姿态,第一磁力向量并不需要直接参与运算得到第二姿态,因此,相较于直接采用第一磁力向量计算偏航角而言,对周围环境磁场的要求更加宽松,适用场合更加广泛。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是示出的翻滚角、俯仰角以及偏航角的示意图;
图1B是本发明实施例提供的确定姿态的方法的流程图;
图2是本发明实施例提供的确定姿态的方法的流程图;
图3A是本发明实施例提供的确定姿态的装置的结构示意图;
图3B是本发明实施例提供的确定姿态的装置的结构示意图;
图3C是本发明实施例提供的第一查找模块的结构示意图;
图3D是本发明实施例提供的第二确定模块的结构示意图;
图4是本发明实施例提供的用于确定姿态的智能设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细的解释说明之前,先对本发明实施例涉及的应用场景予以介绍。
当前,诸如智能手机、VR设备、AR设备等智能设备的应用越来越普遍。当诸如此类的智能设备随着用户一起动作时,智能设备可以根据自身随着用户做出的动作来确定智能设备当前的姿态。例如,用户可以佩戴VR头戴式显示器,并通过转动头部带动该VR头戴式显示器一起动作,此时,该VR头戴式显示器即可以确定自身当前的姿态,也即是,VR头戴式显示器可以确定自身当前相对于标准坐标系的翻滚角、俯仰角和偏航角,并通过翻滚角、俯仰角和偏航角来表征自身当前的姿态。再例如,用户可以手持智能手机并在不同的方向和平面上对智能手机进行转动,在这种情况下,智能手机可以通过确定自身姿态,并根据确定的姿态做出相应的响应。本发明实施例中提供的确定姿态的方法即可以应用于上述场景中,在诸如VR设备、AR设备或者智能手机等智能设备随着用户动作一起动作时,根据本发明实施例提供的确定姿态的方法来确定自身当前的姿态,进而为下一步做出响应提供数据支持。
接下来对本发明实施例提供的确定姿态的方法进行介绍。
图1B是本发明实施例提供的一种确定姿态的方法的流程图。该方法可以应用于智能设备中,该智能设备中配置有IMU和磁力传感器,该智能设备可以为智能手机、平板电脑、VR设备、AR设备等智能设备。参见图1B,该方法包括以下步骤:
步骤101:当在当前采样时刻接收到由智能设备中的IMU采集的运动数据时,获取当前采样时刻之前最近一次确定的智能设备的姿态,并基于运动数据和最近一次确定的智能设备的姿态确定第一姿态。
其中,IMU可以按照预设时长进行数据采集,每次采集数据的时刻即为采样时刻。IMU在每个采样时刻采集到运动数据之后,可以将该数据发送给智能设备。另外,IMU可以包括陀螺仪和加速度计,基于此,IMU采集的数据可以包括由陀螺仪采集的角速度数据,该角速度数据可以包括该智能设备在世界坐标系的三个轴上的角速度分量。除此之外,IMU采集到的数据还可以包括加速度计采集的重力数据。
步骤102:获取由智能设备中的磁力传感器采集的第一磁力向量,并基于第一磁力向量从存储的姿态映射表中查找第二姿态。
其中,姿态映射表用于指示磁力向量与姿态之间的对应关系,或者用于指示磁力向量、姿态与分值之间的对应关系。也就是说,该姿态映射表中可以存储有多条记录,且每一条记录均是一组磁力向量与姿态之间的对应关系,或者说每一条记录均是一组磁力向量、姿态与分值之间的对应关系。
还需要说明的是,磁力传感器同样可以按照预设时长进行数据采集,也就是说,磁力传感器和IMU同步进行数据采集。或者,该磁力传感器采集数据的采样周期可以是预设时长的其他整数倍,也即是,该磁力传感器采集数据的采样周期大于IMU的采样周期,并且,该磁力传感器进行数据采集的时刻也是IMU的采样时刻。或者,该磁力传感器采集数据的采样周期大于IMU的采样周期,且采样时刻不同步。
另外,在本发明实施例中,磁力传感器在采集数据时采集的是世界坐标系的三个坐标轴上的读数,也即是,在世界坐标系下每个轴上的磁力分量,智能设备可以根据这三个分量得到第一磁力向量。
步骤103:当查找到第二姿态时,基于第一姿态和第二姿态,确定智能设备当前的姿态。
当确定第一姿态和第二姿态之后,如果第一姿态和第二姿态不同,则可以根据通过第二姿态对第一姿态进行校正,从而得到智能设备当前的姿态。如果第一姿态和第二姿态相同,则可以将第一姿态确定为智能设备当前的姿态。
在本发明实施例中,智能设备在获取到第一磁力向量之后,并不是直接根据第一磁力向量计算得到姿态的偏航角,而是利用该第一磁力向量,根据存储的对应关系确定第二姿态。如果直接采用第一磁力向量计算姿态的偏航角,由于第一磁力向量直接参与运算,因此,对影响该第一磁力向量的准确性的磁场环境的要求将非常严格,而本发明实施例中利用第一磁力向量根据存储的对应关系确定第二姿态,第一磁力向量并不需要直接参与运算得到第二姿态,因此,相较于直接采用第一磁力向量计算偏航角而言,对周围环境磁场的要求更加宽松,适用场合更加广泛。
图2是本发明实施例提供的一种确定姿态的方法的流程图。该方法可以应用于智能设备中,该智能设备中配置有IMU和磁力传感器,该智能设备可以为智能手机、平板电脑、VR设备、AR设备等智能设备。参见图2,该方法包括以下步骤:
步骤201:当在当前采样时刻接收到由智能设备中的IMU采集的运动数据时,获取当前采样时刻之前最近一次确定的智能设备的姿态,并基于运动数据和最近一次确定的智能设备的姿态确定第一姿态。
其中,基于前述描述可知,IMU可以采集到三个角速度,智能设备可以根据三个角速度和IMU的采样周期,对这三个角速度进行积分,以确定从上一采样时刻到当前采样时刻智能设备的姿态变化量。之后,智能设备可以获取当前采样时刻之前最近一次确定的智能设备的姿态,并根据确定的姿态变化量和最近一次确定的智能设备的姿态确定得到第一姿态。
需要说明的是,在本发明实施例中,由于智能设备是按照接收到的IMU采集的运动数据的时刻来反馈姿态的,因此,当前采样时刻之前最近一次确定的智能设备的姿态可以是当前采样时刻的上一采样时刻确定的智能设备的姿态。进一步地,如果智能设备在上一采样时刻只接收到IMU采集的数据,但是,未接收到磁力传感器采集的数据,那么,上一采样时刻确定的智能设备的姿态可以是根据上一采样时刻接收到的IMU采集的数据计算得到的姿态,也可以是根据上一采样时刻接收到的IMU采集的数据以及上一采样时刻之前最近一次采集到的磁力数据确定的姿态。当然,如果上一采样时刻同时接收到了IMU采集的数据以及磁力传感器采集的数据,那么,上一采样时刻确定的智能设备的姿态可以是上一采样时刻根据接收到的IMU采集的数据以及磁力传感器采集的数据确定得到的姿态。
具体的,在本发明实施例中,智能设备的姿态可以通过四元数来表示,在这种情况下,姿态变化量也可以通过四元数来表示。假设姿态变化量为dQ,那么,当用四元数来表示时,dQ=[x,y,z,w]。其中,智能设备可以通过下述公式来计算得到从x、y、z和w。
其中,ωx、ωy和ωz分别为角速度在三个轴上的分量,dt为当前采样时刻与上一采样时刻之间的时间间隔。
需要说明的是,在本发明实施例中,不仅可以通过四元数来表示姿态,还可以通过欧拉角或者是矩阵的形式来表示姿态,本发明实施例中仅是以四元数为例进行解释说明。在实际应用中,当通过欧拉角或者矩阵的形式来表示姿态时,确定姿态变化量的原理是不变的,均是通过对角速度进行积分来确定姿态变化量,具体的实现方式可以根据参考不同形式下的数学运算法则进行,本发明实施例对此不再赘述。
当确定上一采样时刻到当前采样时刻之间的智能设备的姿态变化量之后,智能设备可以通过下述公式计算第一姿态:
Q=Q1*dQ
其中,Q为第一姿态,Q1为当前采样时刻之前最近一次确定得到的智能设备的姿态,dQ为通过前述公式确定得到的上一采样时刻到当前采样时刻之间的智能设备的姿态变化量。
步骤202:获取由智能设备中的磁力传感器采集的第一磁力向量。
当确定第一姿态之后,智能设备可以获取由智能设备中的磁力传感器采集的第一磁力向量。
需要说明的是,通常情况下,磁力传感器的采样周期有可能大于IMU的采样周期,也有可能与IMU的采样周期相同。如果磁力传感器的采样周期与IMU的采样周期相同,那么,当在当前采样时刻接收到IMU采集的数据的同时,也可以接收到磁力传感器采集的数据。如果磁力传感器的采样周期大于IMU的采样周期,那么,将会存在两种情况。第一种情况是磁力传感器的采样周期是IMU采样周期的整数倍,磁力传感器的采样时刻也正是IMU的采样时刻,这样,在当前采样时刻,智能设备有可能接收到磁力传感器采集的第一磁力向量,也有可能接收不到磁力传感器采集的第一磁力向量。第二种情况是磁力传感器的采样周期和IMU的采样周期之间不是整数倍的关系,且磁力传感器的采样时刻不一定是IMU的采样时刻,这样,在当前采样时刻,智能设备同样有可能接收到磁力传感器采集的第一磁力向量,也有可能接收不到磁力传感器采集的第一磁力向量。基于上述各种情况,当智能设备获取磁力传感器采集的第一磁力向量时,首先可以判断在当前采样时刻是否接收到由磁力传感器采集的磁力向量,如果在当前采样时刻接收到由磁力传感器采集的磁力向量,那么,智能设备可以将接收到的磁力向量确定为第一磁力向量。如果在当前采样时刻未接收到由磁力传感器采集的磁力向量,那么,智能设备则可以获取当前采样时刻之前最近一次采集到的磁力向量,并将获取的磁力向量作为第一磁力向量。
需要说明的是,磁力传感器在采集数据时,是采集的三个轴上的磁力分量,根据这三个磁力分量,则可以得到第一磁力向量。
可选地,在本发明实施例中,为了提高磁力传感器采集的数据的准确度,智能设备可以自动对磁力传感器进行校准。具体的,智能设备自动对磁力传感器进行校准的方法可以参考相关技术中根据磁力传感器的点云图以及采样的数据点进行椭球拟合的方式进行校准,本发明实施例在此不再赘述。
步骤203:从存储的姿态映射表中查找与第一磁力向量相似的第二磁力向量。
其中,智能设备中可以存储有姿态映射表,该姿态映射表中可能包括至少一条记录,也可能没有任何记录,当包括多条记录时,每条记录中可以包括一个磁力向量和该磁力向量对应的姿态,或者,每条记录中可以包括一个磁力向量、该磁力向量对应的姿态以及分值。
当获取到第一磁力向量之后,智能设备可以从存储的姿态映射表中查找与第一磁力向量相似的第二磁力向量。
其中,当姿态映射表中不包括任何记录时,智能设备可以确定未查找与第一磁力向量相似的第二磁力向量。
当姿态映射表中包括至少一条记录时,对于该至少一条记录中的任一条记录A,智能设备可以获取该条记录A中的磁力向量,并将获取的磁力向量和第一磁力向量进行比较,以确定获取的磁力向量与第一磁力向量是否相似。
具体的,由于每个磁力向量是由三个磁力分量构成的,并且,基于数学常识可知,两个向量越相近,这两个向量之间的夹角越小,因此,当计算两个磁力向量是否相似时,智能设备可以计算这两个磁力向量之间的夹角。当获取的磁力向量和第一磁力向量之间的夹角小于或等于预设角度时,智能设备即可以确定获取的磁力向量与第一磁力向量相似,否则,则可以确定获取的磁力向量与第一磁力向量不相似。其中,智能设备计算两个磁力向量之间的夹角的具体实现方式可以参考相关技术,本发明实施例对此不再赘述。
还需要说明的是,在本发明实施例中,该预设角度是在考虑误差后预先设置的能够认为两个向量相近的最大夹角。例如,该预设角度可以为5度、3度等数值,本发明实施例对此不做具体限定。
当智能设备确定获取的磁力向量与第一磁力向量相似时,即可以将获取的磁力向量作为第二磁力向量,也即是,智能设备可以确定在该姿态映射表中查找到了第二磁力向量,否则,智能设备则可以继续比较该姿态映射表中其他记录中的磁力向量是否与第一磁力向量相似,直到比较完该姿态映射表中的所有记录为止,如果还是未查找到与第一磁力向量相似的第二磁力向量,那么,智能设备可以确定未查找到与该第一磁力向量相似的第二磁力向量。
如果智能设备未查找到第二磁力向量,则可以执行步骤204,如果智能设备查找到第二磁力向量,则可以执行步骤205-207。
步骤204:当未查找到第二磁力向量时,将第一磁力向量、第一姿态和第一预设分值对应存储在姿态映射表中,并将第一姿态确定为智能设备当前的姿态。
基于前述描述可知,未查找到第二磁力向量可能包括两种情况,一种情况是姿态映射表中不包括有任何的记录,自然也就不包括有与第一磁力向量相似的第二磁力向量,这种情况通常是智能设备在重启后的第一个时刻还未载入或记录任何数据时出现的,也有可能是智能设备在初始化时第一次开始在该姿态映射表中添加记录。换句话说,在本发明实施例中,该智能设备可以在每次重启时重新建立姿态映射表中的每条记录,也可以只在初始化时在该姿态映射表中完成多条记录的建立,之后,当智能设备关机时则存储该姿态映射表,当智能设备重启时,只需调取该存储的姿态映射表即可。另一种情况是存储的姿态映射表中包括有至少一条记录,但是没有任何一条记录中的磁力向量与第一磁力向量相似,在这种情况下,说明该姿态映射表中还未建立包括有第一磁力向量的记录。然而,无论上述哪种情况,当未查找到第二磁力向量时,都可以说明在姿态映射表中还没有建立包含有第一磁力向量的记录,因此,智能设备可以建立包含有第一磁力向量的记录,也即是,将第一磁力向量、根据IMU采集的运动数据计算得到的第一姿态对应存储在该姿态映射表中。进一步地,基于前述描述可知,姿态映射表还可以用于指示磁力向量、姿态和分值之间的对应关系,在这种情况下,智能设备可以将第一磁力向量、第一姿态和第一预设分值对应存储在该姿态映射表中。
需要说明的是,对于姿态映射表中的每条记录,该记录中的分值是用来指示该条记录的可靠性的。具体的说,是用来指示该条记录中磁力向量和对应的姿态的可靠性的。分值越高,则说明该条记录的可靠性越高。对于新建立的记录,由于记录中的磁力向量和姿态均是根据智能设备采集的数据直接得到的,因此,所有新建立的记录的可靠性是相同的,基于此,智能设备可以为新建立的记录设置一个初始的分值,也即第一预设分值,该第一预设分值即是新建立的记录的初始可靠性,后续智能设备可以不断对记录中的分值进行更新,并根据更新后的分值进一步地判断随着时间的延长该条记录的可靠性。
其中,由于该第一预设分值相当于是给定一个初始基准,因此,该第一预设分值可以为任意值,例如,可以为10分。进一步地,如果智能设备中设置有姿态映射表中分值允许达到的上下限值,那么,该第一预设分值可以是该上下限值的中间值。例如,该姿态映射表中分值允许达到的上限值为100分,下限值为0分,那么,该第一预设分值可以是50分。当然,上述仅是本发明实施例给出的几种示例性的第一预设分值的取值,该第一预设分值还可以有其他的可能性,本发明实施例对此不做具体限定。
另外,值得注意的是,用于指示磁力向量、姿态和分值之间的对应关系的姿态映射表中可以包括预设数量的记录,也即是,该姿态映射表中包括的记录数可以存在上限值,例如,可以设置该姿态映射表中允许的记录数的上限值为1000条。当姿态映射表中包括的记录数达到上限值,则智能设备又确定得到需要新添加的记录时,智能设备可以通过对姿态映射表中已存在的记录进行更新或删除来将新得到的记录添加到该姿态映射表中。
进一步地,如果存储的姿态映射表中不包括有任何的记录,那么,智能设备将第一磁力向量、第一姿态和第一预设分值添加到该姿态映射表中,相当于是建立了该姿态映射表中的第一条记录,在接下来的一段时间内的多个采样时刻,智能设备可能会重复执行上述步骤201-204多次,从而在该姿态映射表中建立得到多条记录,以便得到包括有多条记录的姿态映射表中。其中,由于根据IMU计算第一姿态时,第一姿态的偏差主要是由于对角速度进行积分,随着时间延长误差逐渐累积造成的,而在最初的添加记录的这个过程中,由于这个过程的时间相对较短,因此,误差累计的相对较小,在这一段时间内向姿态映射表中添加的多条记录的可靠性也较高,或者,换句话说,在累积偏差出现之前,该姿态映射表中的多条记录已经建立完成。
当未查找到第二磁力向量时,除了进行上述操作之外,由于存储的姿态映射表中并不存在与第一磁力向量相似的第二磁力向量,也就无法获取到相应地第二姿态来对第一姿态进行校正,因此,智能设备可以直接将第一姿态确定为智能设备当前的姿态。
步骤205:当查找到第二磁力向量时,基于第一磁力向量从存储的姿态映射表中查找第二姿态。
步骤204中介绍了当未查找到第二磁力向量时,智能设备确定当前的姿态的方式。当查找到与第一磁力向量相似的第二磁力向量时,智能设备则可以从存储的姿态映射表中获取该第二磁力向量所对应的姿态,得到第三姿态;当第一姿态与第三姿态之间的相似度大于预设相似度时,将第三姿态所对应的分值更新为第一分值,并将第三姿态作为第二姿态,第一分值是将第三姿态所对应的分值增加第二预设分值得到;当第一姿态与第三姿态之间的相似度不大于预设相似度时,将第三姿态所对应的分值更新为第二分值;当第二分值大于0时,将第三姿态作为第二姿态,当第二分值不大于0时,则确定未查找到第二姿态,其中,第二分值是将第三姿态所对应的分值减小第二预设分值得到。
具体的,智能设备在获取到第二磁力向量对应的姿态也即第三姿态之后,可以进一步的判断第一姿态和第三姿态是否相似,从而判断该第三姿态是否可以作为第二姿态,如果该第三姿态可以作为第二姿态,则可以认为查找到了第二姿态,否则,则认为未查找到第二姿态。
其中,在实际应用中,两个姿态之间的夹角越小,这两个姿态就越相似,并且,基于前述描述可知,在本发明实施例中,可以用四元数来表示姿态,因此,智能设备可以计算用于表示第一姿态的四元数和用于表示第三姿态的四元数之间的夹角,从而通过夹角的大小来表征第一姿态和第三姿态之间的相似度。其中,当用四元数来表示姿态时,假设第一姿态Q1=(Qx1,Qy1,Qz1,Qw1),第三姿态Q2=(Qx2,Qy2,Qz2,Qw2),智能设备可以通过下述公式来计算两个姿态之间的夹角。
其中,θ即为第一姿态和第三姿态之间的夹角。
当确定第一姿态和第三姿态之间的夹角之后,智能设备可以判断该夹角是否小于预设夹角,当该夹角小于预设夹角时,智能设备则可以确定第一姿态和第三姿态之间的相似度大于预设相似度,否则,则可以确定第一姿态和第三姿态之间的相似度不大于预设相似度。
当第一姿态和第三姿态相似时,智能设备可以将该第三姿态对应的分值更新为第一分值,也即是,将该第三姿态对应的分值增加第二预设分值,以此来指示该条记录的可靠性的上升。与此同时,智能设备可以将该第三姿态作为第二姿态,此时,智能设备可以确定查找到了第二姿态。
当第一姿态和第三姿态不相似时,智能设备可以将该第三姿态对应的分值更新为第二分值,也即是,将该第三姿态对应的分值减小第二预设分值,以此来指示该条记录的可靠性在下降。当将第三姿态对应的分值更新为第二分值之后,由于第二分值相较于之前的分值减小了,因此,智能设备可以进一步的判断该条记录的分值是否大于分值的下限值,从而来决定是否将该条记录中包括的第三姿态作为第二姿态来对第一姿态进行校正。
其中,在本发明实施例中,分值的下限值可以为0,智能设备可以判断第三姿态对应的第二分值是否大于0,当第二分值大于0时,则可以将第三姿态作为第二姿态,也即是,智能设备可以确定查找到了第二姿态。当第二分值不大于0,则说明该第三姿态不能作为第二姿态,也即是,智能设备可以确定未查找到第二姿态。也就是说,如果第二分值大于0,那么,则可以认为第三姿态仍可用。如果第二分值不大于0,那么,则认为该条记录的可靠性太低,第三姿态已不可用,此时,则说明该第三姿态不可以作为第二姿态,也即是,智能设备未在姿态映射表中查找到第二姿态。于此同时,由于该条记录的可靠性太低,分值已经低于下限值,第三姿态已不可用,因此,智能设备可以将第二磁力向量、第三姿态和对应的分值这条记录从姿态映射表中删除,并将第一磁力向量、第一姿态和第一预设分值存储在所述姿态映射表中,或者,智能设备可以直接用第一磁力向量、第一姿态和第一预设分值对该姿态映射表中包括第二磁力向量、第三姿态和对应的分值的记录进行更新。
需要说明的是,第二预设分值可以为小于第一预设分值的数值,例如,第二预设分值可以为1分,也即是,姿态映射表中的分值更新一次,即增加或减少1分。进一步的,由于IMU采集数据的采样周期较短,也就说,每相邻两个采样时刻之间的间隔比较短,基于此,如果第二预设分值设置的较大,而第一预设分值相对于分值的上限值设置的较小,那么,当某条记录中的分值在连续的多个采样时刻连续减小时,在极短的时间内,该条记录中的分值将会减小到分值的下限值。由此可知,该第二预设分值还可以在综合考虑第一预设分值、分值的上限值和分值的下限值的基础上进行设置。
可选地,在一种可能的实现方式中,智能设备在更新第三姿态所对应的分值时,还可以根据第三姿态与第一姿态之间的相似程度进行更新。其中,由于第三姿态和第一姿态是否相似是通过计算两个姿态之间的夹角来确定的,因此,智能设备还可以进一步的根据两个姿态之间的夹角来划分两个姿态之间的相似程度,当两个姿态之间相似时,相似程度越高,则第三姿态所对应的分值增加的越多,也即是,第二预设分值越大,相似程度越低,则第三姿态所对应的分值增加的越少,也即是,第二预设分值越小。同理,当两个姿态之间不相似时,如果两个姿态之间不相似的程度越高,则第三姿态所对应的分值减少的越多,也即第二预设分值越大,不相似的程度越低,则第三姿态所对应的分值减少的越少,也即第二预设分值越小。
具体的,智能设备可以将0度到预设角度之间的角度范围划分为多个区间,每个区间对应一个相似程度和一个分值,越靠近0度的区间,相似程度越高,对应的分值越大。例如,预设角度为α,智能设备可以将[0,α]划分为三个区间,分别为和其中,对应的相似程度最高,对应的分值也最大,假设为3分。对应的相似程度低于对应的相似程度,对应的分值也大于对应分值,可以为2分,对应的相似程度最低,对应的分值也最小,可以为1分。
如果智能设备通过上述方法查找到第二姿态,则可以执行步骤206,否则,则可以执行步骤207。
步骤206:当查找到第二姿态时,基于第一姿态和第二姿态,确定智能设备当前的姿态。
如果智能设备从存储的姿态映射表中查找到第二姿态,那么,智能设备则可以通过该第二姿态对第一姿态进行校正,从而确定得到智能设备当前的姿态。
其中,智能设备可以获取第二姿态对应的第二权重,并基于第二权重确定第一权重,之后,智能设备可以基于第一姿态、第一权重、第二姿态和第二权重,确定智能设备当前的姿态。
具体的,第二姿态实际上是根据第一磁力向量从存储的姿态映射表中获取的姿态,对于从姿态映射表中获取的姿态,智能设备可以统一的设置一个固定的权重来指示第二姿态在校正第一姿态的过程中所起的作用的大小,这个固定的权重也即第二权重,换句话说,第二权重可以是预设权重。
可选地,智能设备也可以根据第二姿态所对应的分值来确定第二权重。基于前述描述可知,第二姿态实际上就是从存储的姿态映射表中获取的第二磁力向量对应的第三姿态,智能设备可以根据该第三姿态所对应的分值来确定第二权重,当对应的分值越高时,说明该条记录的可靠性越高,也即是,该第二姿态的可靠性越高,此时,该第二权重相应地可以设置的越大,也即是,第二姿态在校正第一姿态中所起的作用越大。这样,智能设备可以根据第二姿态的可靠性来确定第二姿态对应的第二权重,当第二姿态较可靠时,第二权重设置的相对较大,这样,根据第二姿态校正第一姿态得到的智能设备当前的姿态越准确,当第二姿态可靠性较低时,相应地减小第二权重,可以减小第二姿态在对第一姿态校正的过程中的影响,从而有效的避免较大偏差的出现。
需要说明的是,上述仅是本发明实施例提供的两种可能的确定第二权重的方式,除此之外,智能设备还可以通过其他方式来实时确定第二权重,例如,智能设备可以根据IMU采集的角速度的大小,来判断智能设备运动的快慢,当运动越慢时,智能设备计算的第一姿态的偏差越小,此时,用于校正该第一姿态的第二姿态的权重就可以设置的相对较小一些。
当获取到第二权重之后,由于在确定智能设备当前的姿态时,是基于第一姿态和第二姿态两个姿态来确定,因此,第二权重和第一权重的和可以为1。基于此,智能设备可以基于第二权重确定得到第一权重。
当确定得到第一权重和第二权重之后,智能设备可以通过以下两种方式来确定智能设备当前的姿态。
第一种方式:智能设备可以基于第一姿态、第一权重、第二姿态和第二权重,通过下述公式计算智能设备当前的姿态;
cosΩ=Q·q
其中,Slerp(Q,q,gain)为智能设备当前的姿态,Q为第一姿态,q为第二姿态,gain为第二权重,(1-gain)为第一权重。
第二种方式:智能设备可以基于第一姿态、第一权重、第二姿态和第二权重,通过下述公式计算智能设备当前的姿态;
Lerp(Q,q,gain)=(1-gain)×Q+gain×q
其中,Lerp(Q,q,gain)为智能设备当前的姿态,Q为第一姿态,q为第二姿态,gain为第二权重,(1-gain)为第一权重。
步骤207:当未查找到第二姿态时,将第一姿态确定为智能设备当前的姿态。
当通过步骤205在存储的姿态映射表中未查找到第二姿态,也就说明存储的姿态映射表中没有符合条件的可以对第一姿态进行校正的第二姿态,在这种情况下,智能设备可以直接将第一姿态确定为智能设备当前的姿态。
在本发明实施例中,智能设备可以根据IMU采集的运动数据和最近一次确定的智能设备的姿态确定第一姿态,之后,智能设备可以基于磁力传感器采集的第一磁力向量从存储的磁力向量、姿态和分值的姿态映射表中查找第二姿态,如果查找到第二姿态,那么,智能设备可以通过该第二姿态对第一姿态进行校正,从而得到智能设备当前的姿态,如果未查找到第二姿态,那么,智能设备则可以直接将第一姿态确定为智能设备当前的姿态。由此可见,在本发明实施例中,智能设备并没有直接根据第一磁力向量来计算第二姿态,如果直接采用第一磁力向量计算姿态的偏航角,由于第一磁力向量直接参与运算,因此,对影响该第一磁力向量的准确性的磁场环境的要求将非常严格,而本发明实施例中利用第一磁力向量根据存储的姿态映射表查找第二姿态,第一磁力向量并不需要直接参与运算得到第二姿态,因此,相较于直接采用第一磁力向量计算偏航角而言,对周围环境磁场的要求更加宽松,适用场合更加广泛。另外,在本发明实施例中,存储的姿态映射表中每条记录中不仅包括磁力向量和对应的姿态,还包括用于指示该条记录中磁力向量对应的姿态的可靠性的分值,这样,每次在查找第二姿态的过程中,在第一磁力向量与记录中的磁力向量相似的情况下,通过将记录中的姿态与第一姿态进行比对来对对应的分值进行更新,从而对该条记录的可靠性进行更新,当该条记录的可靠性不满足条件时,则可以及时对该条记录进行删除和更新,从而保证该姿态映射表中的记录的准确性,进而保证从该姿态映射表中查找到的用于校正第一姿态的第二姿态的准确性,间接的保证了确定得到的智能设备当前的姿态的准确性。进一步的,智能设备还可以根据分值确定第二姿态在计算智能设备当前的姿态的过程中所占的权重,当第二姿态所对应的分值较小时,表明第二姿态的可靠性较低,此时,通过减小第二姿态所对应的权重,可以减小第二姿态在确定智能设备当前的姿态的过程中所起的作用,有效减小了由于第二姿态不可靠而导致出现姿态偏差的风险。当第二姿态所对应的分值较大时,表明第二姿态的可靠性较高,此时,通过增大第二姿态所对应的权重,可以增大第二姿态在确定智能设备当前的姿态的过程中所起的作用,进而提高确定的智能设备当前的姿态的准确性。
除此之外,通过本发明实施例中对存储的姿态映射表中的记录进行实时更新和删除的方法,还可以有效的对抗磁场干扰,使得智能设备能够很好的适应磁场变化。接下来,本发明实施例将通过以下的具体示例来对上述所能达到的对抗磁场干扰的有益效果进行说明。
第一种情况:假设周围环境磁场发生变化,例如变化的过程小于1秒(下文中以1秒代称),之后恢复了原本的磁场,也即是,智能设备受到极短时间的干扰,之后恢复到了原来的磁场环境。在这种情况下,在这1秒内,由于磁场发生变化,根据IMU采集的数据计算的第一姿态与根据第一磁力向量查找到第二姿态将不相似,也即是,存储的姿态映射表中第二姿态对应的分值将在短时间内减小,而在第二姿态对应的分值减小的过程中,当基于第一姿态和第二姿态确定智能设备当前的姿态时,由于第二权重的存在,在这1秒内,即使出现误差,也不会很大,尤其是当第二权重是根据对应的分值进行确定时,那么,第二姿态在确定智能设备当前的姿态的过程中所占的权重会随着分值的减小不断减小,磁场变化对智能设备的干扰就更小。当1秒之后恢复到原本的磁场时,存储的姿态映射表中的第二姿态对应的分值又会逐渐更新,重新建立起符合当前磁场环境的更为准确的记录。
第二种情况:假设周围环境磁场发生变化且未恢复到原本的磁场,而是最终稳定在另一种磁场状态下。在这种情况下,一段时间内基于第一姿态和第二姿态确定智能设备当前的姿态时可能会存在误差,但是,由于第二权重的存在,误差相对较小,也即是,可以有效的抵抗磁场干扰。并且,由于在这个过程中,存储的姿态映射表中的每条记录中的分值会由于磁场变化导致的第一姿态和第二姿态不相似而一直减小,因此,最终存储的姿态映射表中的记录会逐渐被删除或更新,也即是,该姿态映射表中包括的记录将由于磁场变化而逐渐被一一更新,最终得到稳定后的另一种磁场状态所对应的姿态映射表,相当于智能设备最终适应了稳定后的磁场环境,并且适应的过程是平缓过渡的。
接下来对本发明实施例提供的确定姿态的装置进行介绍。
参见图3A,本发明实施例提供了一种确定姿态的装置300,该装置300可以集成于智能设备中,该智能设备中配置有IMU和磁力传感器,该智能设备可以为智能手机、平板电脑、VR设备、AR设备等智能设备。该装置300包括:
第一获取模块301,用于当在当前采样时刻接收到由智能设备中的惯性测量单元IMU采集的运动数据时,获取当前采样时刻之前最近一次确定的智能设备的姿态;
第一确定模块302,用于基于运动数据和最近一次确定的智能设备的姿态确定第一姿态;
第二获取模块303,用于获取由智能设备中的磁力传感器采集的第一磁力向量;
第一查找模块304,用于基于第一磁力向量从存储的姿态映射表中查找第二姿态,姿态映射表用于指示磁力向量与姿态之间的对应关系;
第二确定模块305,用于当查找到第二姿态时,基于第一姿态和第二姿态,确定智能设备当前的姿态。
可选地,第二获取模块303包括:
判断子模块,用于判断在当前采样时刻是否接收到由磁力传感器采集的磁力向量;
第一确定子模块,用于当在当前采样时刻接收到由磁力传感器采集的磁力向量时,将接收到的磁力向量确定为第一磁力向量;
第一获取子模块,用于当在当前采样时刻未接收到由磁力传感器采集的磁力向量时,获取当前采样时刻之前最近一次采集到的磁力向量,并将获取的磁力向量作为第一磁力向量。
可选地,参见图3B,所述姿态映射表还用于指示磁力向量、姿态与分值之间的对应关系;
该装置300还包括:
第二查找模块306,用于从存储的姿态映射表中查找与第一磁力向量相似的第二磁力向量;
触发模块307,用于当查找到第二磁力向量时,触发第一查找模块基于第一磁力向量从存储的姿态映射表中查找第二姿态;
第三确定模块308,用于当未查找到第二磁力向量时,将第一磁力向量、第一姿态和第一预设分值对应存储在姿态映射表中,并将第一姿态确定为智能设备当前的姿态。
可选地,参见图3C,第一查找模块304包括:
第二获取子模块3041,用于从姿态映射表中获取第二磁力向量所对应的姿态,得到第三姿态;
第二确定子模块3042,用于当第一姿态与第三姿态之间的相似度大于预设相似度时,将第三姿态所对应的分值更新为第一分值,并将第三姿态作为第二姿态,第一分值是将第三姿态所对应的分值增加第二预设分值得到;
查找子模块3043,用于当第一姿态与第三姿态之间的相似度不大于预设相似度时,将第三姿态所对应的分值更新为第二分值,第二分值是将第三姿态所对应的分值减小第二预设分值得到;
第三确定子模块3044,用于当第二分值大于0时,将第三姿态作为第二姿态;当第二分值不大于0时,确定未查找到第二姿态。
可选地,第一查找模块304还用于:
将第二磁力向量、第三姿态和第三姿态对应的分值在姿态映射表中的记录进行删除,并将第一磁力向量、第一姿态和第一预设分值对应存储在姿态映射表中。
可选地,该装置300还用于:
当未查找到第二姿态时,将第一姿态确定为智能设备当前的姿态。
可选地,参见图3D,第二确定模块305包括:
第三获取子模块3051,用于获取第二姿态对应的第二权重,并基于第二权重确定第一姿态对应的第一权重,第二权重为预设权重,或者是根据第二姿态对应的分值确定得到;
第四确定子模块3052,用于基于第一姿态、第一权重、第二姿态和第二权重,确定智能设备当前的姿态。
可选地,第四确定子模块3052具体用于:
基于第一姿态、第一权重、第二姿态和第二权重,通过下述公式计算智能设备当前的姿态;
cosΩ=Q·q
其中,Slerp(Q,q,gain)为智能设备当前的姿态,Q为第一姿态,q为第二姿态,gain为第二权重,(1-gain)为第一权重。
可选地,第四确定子模块3052具体用于:
基于第一姿态、第一权重、第二姿态和第二权重,通过下述公式计算智能设备当前的姿态;
Lerp(Q,q,gain)=(1-gain)×Q+gain×q
其中,Lerp(Q,q,gain)为智能设备当前的姿态,Q为第一姿态,q为第二姿态,gain为第二权重,(1-gain)为第一权重。
综上所述,本发明实施例在获取到第一磁力向量之后,并不是直接根据第一磁力向量计算得到姿态的偏航角,而是利用该第一磁力向量,根据存储的对应关系确定第二姿态。如果直接采用第一磁力向量计算姿态的偏航角,由于第一磁力向量直接参与运算,因此,对影响该第一磁力向量的准确性的磁场环境的要求将非常严格,而本发明实施例中利用第一磁力向量根据存储的姿态映射表确定第二姿态,第一磁力向量并不需要直接参与运算得到第二姿态,因此,相较于直接采用第一磁力向量计算偏航角而言,对周围环境磁场的要求更加宽松,适用场合更加广泛。
需要说明的是:上述实施例提供的确定姿态的装置在确定姿态时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的确定姿态的装置与确定姿态的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4示出了本发明一个示例性实施例提供的智能设备400的结构框图。该智能设备400可以是:智能手机、平板电脑、VR设备、AR设备、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器。
通常,智能设备400包括有:处理器401和存储器402。
处理器401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器401所执行以实现本申请中方法实施例提供的确定姿态的方法。
在一些实施例中,智能设备400还可选包括有:外围设备接口403和至少一个外围设备。处理器401、存储器402和外围设备接口403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口403相连。具体地,外围设备包括:射频电路404、触摸显示屏405、摄像头406、音频电路407、定位组件408和电源409中的至少一种。
外围设备接口403可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器401和存储器402。在一些实施例中,处理器401、存储器402和外围设备接口403被集成在同一芯片或电路板上;在一些其他实施例中,处理器401、存储器402和外围设备接口403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路404包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路404可以通过至少一种无线通信协议来与其它智能设备进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路404还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏405是触摸显示屏时,显示屏405还具有采集在显示屏405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器401进行处理。此时,显示屏405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏405可以为一个,设置智能设备400的前面板;在另一些实施例中,显示屏405可以为至少两个,分别设置在智能设备400的不同表面或呈折叠设计;在再一些实施例中,显示屏405可以是柔性显示屏,设置在智能设备400的弯曲表面上或折叠面上。甚至,显示屏405还可以设置成非矩形的不规则图形,也即异形屏。显示屏405可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件406用于采集图像或视频。可选地,摄像头组件406包括前置摄像头和后置摄像头。通常,前置摄像头设置在智能设备的前面板,后置摄像头设置在智能设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器401进行处理,或者输入至射频电路404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在智能设备400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器401或射频电路404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路407还可以包括耳机插孔。
定位组件408用于定位智能设备400的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件408可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源409用于为智能设备400中的各个组件进行供电。电源409可以是交流电、直流电、一次性电池或可充电电池。当电源409包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,智能设备400还包括有一个或多个传感器410。该一个或多个传感器410包括但不限于:加速度传感器411、陀螺仪传感器412、压力传感器413、指纹传感器414、光学传感器415、接近传感器416以及磁力传感器417。
加速度传感器411可以检测以智能设备400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器411可以用于检测重力加速度在三个坐标轴上的分量。处理器401可以根据加速度传感器411采集的重力加速度信号,控制触摸显示屏405以横向视图或纵向视图进行用户界面的显示。加速度传感器411还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器412可以检测智能设备400的机体方向及转动角度,陀螺仪传感器412可以与加速度传感器411协同采集用户对智能设备400的3D动作。处理器401根据陀螺仪传感器412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器413可以设置在智能设备400的侧边框和/或触摸显示屏405的下层。当压力传感器413设置在智能设备400的侧边框时,可以检测用户对智能设备400的握持信号,由处理器401根据压力传感器413采集的握持信号进行左右手识别或快捷操作。当压力传感器413设置在触摸显示屏405的下层时,由处理器401根据用户对触摸显示屏405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器414用于采集用户的指纹,由处理器401根据指纹传感器414采集到的指纹识别用户的身份,或者,由指纹传感器414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器414可以被设置智能设备400的正面、背面或侧面。当智能设备400上设置有物理按键或厂商Logo时,指纹传感器414可以与物理按键或厂商Logo集成在一起。
光学传感器415用于采集环境光强度。在一个实施例中,处理器401可以根据光学传感器415采集的环境光强度,控制触摸显示屏405的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏405的显示亮度;当环境光强度较低时,调低触摸显示屏405的显示亮度。在另一个实施例中,处理器401还可以根据光学传感器415采集的环境光强度,动态调整摄像头组件406的拍摄参数。
接近传感器416,也称距离传感器,通常设置在智能设备400的前面板。接近传感器416用于采集用户与智能设备400的正面之间的距离。在一个实施例中,当接近传感器416检测到用户与智能设备400的正面之间的距离逐渐变小时,由处理器401控制触摸显示屏405从亮屏状态切换为息屏状态;当接近传感器416检测到用户与智能设备400的正面之间的距离逐渐变大时,由处理器401控制触摸显示屏405从息屏状态切换为亮屏状态。
磁力传感器417也叫地磁、磁感器,可以检测智能设备400所处环境的磁场强度和方向。在本发明实施例中,可以将加速度传感器411、陀螺仪传感器412和磁力传感器417结合起来确定智能设备当前的姿态。
本领域技术人员可以理解,图4中示出的结构并不构成对智能设备400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种确定姿态的方法,其特征在于,所述方法包括:
当在当前采样时刻接收到由智能设备中的惯性测量单元IMU采集的运动数据时,获取当前采样时刻之前最近一次确定的所述智能设备的姿态,并基于所述运动数据和所述最近一次确定的所述智能设备的姿态确定第一姿态;
获取由所述智能设备中的磁力传感器采集的第一磁力向量,并基于所述第一磁力向量从存储的姿态映射表中查找第二姿态,所述姿态映射表用于指示磁力向量与姿态之间的对应关系;
当查找到所述第二姿态时,基于所述第一姿态和所述第二姿态,确定所述智能设备当前的姿态。
2.根据权利要求1所述的方法,其特征在于,所述获取由所述智能设备中的磁力传感器采集的第一磁力向量,包括:
判断在当前采样时刻是否接收到由所述磁力传感器采集的磁力向量;
当在当前采样时刻接收到由所述磁力传感器采集的磁力向量时,将接收到的磁力向量确定为所述第一磁力向量;
当在当前采样时刻未接收到由所述磁力传感器采集的磁力向量时,获取当前采样时刻之前最近一次采集到的磁力向量,并将获取的磁力向量作为所述第一磁力向量。
3.根据权利要求1所述的方法,其特征在于,所述姿态映射表还用于指示磁力向量、姿态与分值之间的对应关系;所述基于所述第一磁力向量从存储的姿态映射表中查找第二姿态之前,还包括:
从所述姿态映射表中查找与所述第一磁力向量相似的第二磁力向量;
当查找到所述第二磁力向量时,执行所述基于所述第一磁力向量从存储的姿态映射表中查找第二姿态的步骤;
当未查找到所述第二磁力向量时,将所述第一磁力向量、所述第一姿态和第一预设分值对应存储在所述姿态映射表中,并将所述第一姿态确定为所述智能设备当前的姿态。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一磁力向量从存储的姿态映射表中查找第二姿态,包括:
从所述姿态映射表中获取所述第二磁力向量所对应的姿态,得到第三姿态;
当所述第一姿态与所述第三姿态之间的相似度大于预设相似度时,将所述第三姿态所对应的分值更新为第一分值,并将所述第三姿态作为所述第二姿态,所述第一分值是将所述第三姿态所对应的分值增加第二预设分值得到;
当所述第一姿态与所述第三姿态之间的相似度不大于所述预设相似度时,将所述第三姿态所对应的分值更新为第二分值,所述第二分值是将所述第三姿态所对应的分值减小所述第二预设分值得到;
当所述第二分值大于0时,将所述第三姿态作为所述第二姿态;
当所述第二分值不大于0时,确定未查找到所述第二姿态。
5.根据权利要求4所述的方法,其特征在于,所述确定未查找到所述第二姿态之后,还包括:
将所述第二磁力向量、所述第三姿态和所述第三姿态对应的分值在所述姿态映射表中的记录进行删除,并将所述第一磁力向量、所述第一姿态和所述第一预设分值对应存储在所述姿态映射表中。
6.根据权利要求1-5任一所述的方法,其特征在于,所述基于所述第一磁力向量从存储的姿态与映射表中查找第二姿态之后,还包括:
当未查找到所述第二姿态时,将所述第一姿态确定为所述智能设备当前的姿态。
7.根据权利要求1-5任一所述的方法,其特征在于,所述基于所述第一姿态和所述第二姿态,确定所述智能设备当前的姿态,包括:
获取所述第二姿态对应的第二权重,并基于所述第二权重确定所述第一姿态对应的第一权重,所述第二权重为预设权重,或者是根据所述第二姿态对应的分值确定得到;
基于所述第一姿态、所述第一权重、所述第二姿态和所述第二权重,确定所述智能设备当前的姿态。
8.根据权利要求7所述的方法,其特征在于,所述基于所述第一姿态、所述第一权重、所述第二姿态和所述第二权重,确定所述智能设备当前的姿态,包括:
基于所述第一姿态、所述第一权重、所述第二姿态和所述第二权重,通过下述公式计算所述智能设备当前的姿态;
cosΩ=Q·q
其中,所述Slerp(Q,q,gain)为所述智能设备当前的姿态,所述Q为所述第一姿态,所述q为所述第二姿态,所述gain为所述第二权重,所述(1-gain)为所述第一权重。
9.根据权利要求7所述的方法,其特征在于,所述基于所述第一姿态、所述第一权重、所述第二姿态和所述第二权重,确定所述智能设备当前的姿态,包括:
基于所述第一姿态、所述第一权重、所述第二姿态和所述第二权重,通过下述公式计算所述智能设备当前的姿态;
Lerp(Q,q,gain)=(1-gain)×Q+gain×q
其中,所述Lerp(Q,q,gain)为所述智能设备当前的姿态,所述Q为所述第一姿态,所述q为所述第二姿态,所述gain为所述第二权重,所述(1-gain)为所述第一权重。
10.一种确定姿态的装置,其特征在于,所述装置包括:
第一获取模块,用于当在当前采样时刻接收到由智能设备中的惯性测量单元IMU采集的运动数据时,获取当前采样时刻之前最近一次确定的所述智能设备的姿态;
第一确定模块,用于基于所述运动数据和所述最近一次确定的所述智能设备的姿态确定第一姿态;
第二获取模块,用于获取由所述智能设备中的磁力传感器采集的第一磁力向量;
第一查找模块,用于基于所述第一磁力向量从存储的姿态映射表中查找第二姿态,所述姿态映射表用于指示磁力向量与姿态之间的对应关系;
第二确定模块,用于当查找到所述第二姿态时,基于所述第一姿态和所述第二姿态,确定所述智能设备当前的姿态。
11.根据权利要求10所述的装置,其特征在于,所述第二获取模块包括:
判断子模块,用于判断在当前采样时刻是否接收到由所述磁力传感器采集的磁力向量;
第一确定子模块,用于当在当前采样时刻接收到由所述磁力传感器采集的磁力向量时,将接收到的磁力向量确定为所述第一磁力向量;
第一获取子模块,用于当在当前采样时刻未接收到由所述磁力传感器采集的磁力向量时,获取当前采样时刻之前最近一次采集到的磁力向量,并将获取的磁力向量作为所述第一磁力向量。
12.根据权利要求10所述的装置,其特征在于,所述姿态映射表还用于指示磁力向量、姿态与分值之间的对应关系;
所述装置还包括:
第二查找模块,用于从所述姿态映射表中查找与所述第一磁力向量相似的第二磁力向量;
触发模块,用于当查找到所述第二磁力向量时,触发所述第二确定模块基于所述第一磁力向量从存储的姿态映射表中查找第二姿态;
第三确定模块,用于当未查找到所述第二磁力向量时,将所述第一磁力向量、所述第一姿态和第一预设分值对应存储在所述姿态映射表中,并将所述第一姿态确定为所述智能设备当前的姿态。
13.根据权利要求12所述的装置,其特征在于,所述第一查找模块包括:
第二获取子模块,用于从存储的姿态映射表中获取所述第二磁力向量所对应的姿态,得到第三姿态;
第二确定子模块,用于当所述第一姿态与所述第三姿态之间的相似度大于预设相似度时,将所述第三姿态所对应的分值更新为第一分值,并将所述第三姿态作为所述第二姿态,所述第一分值是将所述第三姿态所对应的分值增加第二预设分值得到;
查找子模块,用于当所述第一姿态与所述第三姿态之间的相似度不大于所述预设相似度时,将所述第三姿态所对应的分值更新为第二分值,所述第二分值是将所述第三姿态所对应的分值减小所述第二预设分值得到;
第三确定子模块,用于当所述第二分值大于0时,将所述第三姿态作为所述第二姿态;当所述第二分值不大于0时,确定未查找到所述第二姿态。
14.根据权利要求13所述的装置,其特征在于,所述第一查找模块还用于:
将所述第二磁力向量、所述第三姿态和所述第三姿态对应的分值在所述姿态映射表中的记录进行删除,并将所述第一磁力向量、所述第一姿态和所述第一预设分值对应存储在所述姿态映射表中。
15.一种虚拟现实VR设备,其特征在于,所述VR设备包括:
IMU,用于采集运动数据;
磁力传感器,用于采集磁力向量;
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为权利要求1-9所述的任一项方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810003966.9A CN108196701B (zh) | 2018-01-03 | 2018-01-03 | 确定姿态的方法、装置及vr设备 |
PCT/CN2018/084233 WO2019134305A1 (zh) | 2018-01-03 | 2018-04-24 | 确定姿态的方法、装置、智能设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810003966.9A CN108196701B (zh) | 2018-01-03 | 2018-01-03 | 确定姿态的方法、装置及vr设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108196701A true CN108196701A (zh) | 2018-06-22 |
CN108196701B CN108196701B (zh) | 2020-06-02 |
Family
ID=62587544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810003966.9A Active CN108196701B (zh) | 2018-01-03 | 2018-01-03 | 确定姿态的方法、装置及vr设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108196701B (zh) |
WO (1) | WO2019134305A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958483A (zh) * | 2018-06-29 | 2018-12-07 | 深圳市未来感知科技有限公司 | 基于交互笔的刚体定位方法、装置、终端设备及存储介质 |
CN110530356A (zh) * | 2019-09-04 | 2019-12-03 | 青岛海信电器股份有限公司 | 位姿信息的处理方法、装置、设备及存储介质 |
CN111522453A (zh) * | 2020-04-29 | 2020-08-11 | 北京小米移动软件有限公司 | 数据处理方法及装置、计算机存储介质 |
CN114742891A (zh) * | 2022-03-30 | 2022-07-12 | 青岛虚拟现实研究院有限公司 | 一种用于vr显示设备的定位系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101915580A (zh) * | 2010-07-14 | 2010-12-15 | 中国科学院自动化研究所 | 一种基于微惯性和地磁技术的自适应三维姿态定位方法 |
CN106095113A (zh) * | 2016-06-27 | 2016-11-09 | 南京睿悦信息技术有限公司 | 一种九轴传感器融合的用户姿态测算和虚拟现实随动方法 |
CN106598230A (zh) * | 2016-11-24 | 2017-04-26 | 北京小鸟看看科技有限公司 | 一种虚拟现实头盔及追踪其空间姿态信息的方法和装置 |
CN106767776A (zh) * | 2016-11-17 | 2017-05-31 | 上海兆芯集成电路有限公司 | 移动设备及求取移动设备姿态的方法 |
US20170235382A1 (en) * | 2016-02-17 | 2017-08-17 | Outlyer, LLC | System and method for motion processing in mobile devices |
CN107202597A (zh) * | 2017-05-09 | 2017-09-26 | 深圳市金立通信设备有限公司 | 一种地磁数据校准方法及终端 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7386395B1 (en) * | 2005-01-18 | 2008-06-10 | Honeywell International Inc. | Systems and methods for shock compensation utilizing an adaptive control technique algorithm |
CN103822633B (zh) * | 2014-02-11 | 2016-12-07 | 哈尔滨工程大学 | 一种基于二阶量测更新的低成本姿态估计方法 |
CN106989773B (zh) * | 2017-04-07 | 2019-07-16 | 浙江大学 | 一种姿态传感器及姿态更新方法 |
-
2018
- 2018-01-03 CN CN201810003966.9A patent/CN108196701B/zh active Active
- 2018-04-24 WO PCT/CN2018/084233 patent/WO2019134305A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101915580A (zh) * | 2010-07-14 | 2010-12-15 | 中国科学院自动化研究所 | 一种基于微惯性和地磁技术的自适应三维姿态定位方法 |
US20170235382A1 (en) * | 2016-02-17 | 2017-08-17 | Outlyer, LLC | System and method for motion processing in mobile devices |
CN106095113A (zh) * | 2016-06-27 | 2016-11-09 | 南京睿悦信息技术有限公司 | 一种九轴传感器融合的用户姿态测算和虚拟现实随动方法 |
CN106767776A (zh) * | 2016-11-17 | 2017-05-31 | 上海兆芯集成电路有限公司 | 移动设备及求取移动设备姿态的方法 |
CN106598230A (zh) * | 2016-11-24 | 2017-04-26 | 北京小鸟看看科技有限公司 | 一种虚拟现实头盔及追踪其空间姿态信息的方法和装置 |
CN107202597A (zh) * | 2017-05-09 | 2017-09-26 | 深圳市金立通信设备有限公司 | 一种地磁数据校准方法及终端 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958483A (zh) * | 2018-06-29 | 2018-12-07 | 深圳市未来感知科技有限公司 | 基于交互笔的刚体定位方法、装置、终端设备及存储介质 |
CN110530356A (zh) * | 2019-09-04 | 2019-12-03 | 青岛海信电器股份有限公司 | 位姿信息的处理方法、装置、设备及存储介质 |
CN110530356B (zh) * | 2019-09-04 | 2021-11-23 | 海信视像科技股份有限公司 | 位姿信息的处理方法、装置、设备及存储介质 |
CN111522453A (zh) * | 2020-04-29 | 2020-08-11 | 北京小米移动软件有限公司 | 数据处理方法及装置、计算机存储介质 |
CN114742891A (zh) * | 2022-03-30 | 2022-07-12 | 青岛虚拟现实研究院有限公司 | 一种用于vr显示设备的定位系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2019134305A1 (zh) | 2019-07-11 |
CN108196701B (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020011169A1 (zh) | 伽马校正方法及装置、显示装置、计算机存储介质 | |
CN111372126B (zh) | 视频播放方法、装置及存储介质 | |
CN109166150B (zh) | 获取位姿的方法、装置存储介质 | |
CN110986930B (zh) | 设备定位方法、装置、电子设备及存储介质 | |
CN109558837B (zh) | 人脸关键点检测方法、装置及存储介质 | |
CN110134744B (zh) | 对地磁信息进行更新的方法、装置和系统 | |
CN108196701B (zh) | 确定姿态的方法、装置及vr设备 | |
CN111127509B (zh) | 目标跟踪方法、装置和计算机可读存储介质 | |
CN110288689B (zh) | 对电子地图进行渲染的方法和装置 | |
CN109886208B (zh) | 物体检测的方法、装置、计算机设备及存储介质 | |
CN111768454A (zh) | 位姿确定方法、装置、设备及存储介质 | |
CN111897429A (zh) | 图像显示方法、装置、计算机设备及存储介质 | |
CN111385525B (zh) | 视频监控方法、装置、终端及系统 | |
CN110570465A (zh) | 实时定位与地图构建方法、装置及计算机可读存储介质 | |
CN113384880A (zh) | 虚拟场景显示方法、装置、计算机设备及存储介质 | |
US11720219B2 (en) | Method, apparatus and device for displaying lyric, and storage medium | |
WO2022199102A1 (zh) | 图像处理方法及装置 | |
CN111031246A (zh) | 拍摄方法及电子设备 | |
CN111753606A (zh) | 一种智能模型的升级方法及装置 | |
CN110992954A (zh) | 语音识别的方法、装置、设备及存储介质 | |
CN111860064A (zh) | 基于视频的目标检测方法、装置、设备及存储介质 | |
WO2021218926A1 (zh) | 图像显示方法、装置和计算机设备 | |
CN210716984U (zh) | 管道检测装置 | |
CN110660031B (zh) | 图像锐化方法及装置、存储介质 | |
CN115545592A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218 Applicant after: Hisense Visual Technology Co., Ltd. Address before: 266100 Zhuzhou Road, Laoshan District, Shandong, No. 151, No. Applicant before: QINGDAO HISENSE ELECTRONICS Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |