CN116997770A - 磁力计的校准 - Google Patents
磁力计的校准 Download PDFInfo
- Publication number
- CN116997770A CN116997770A CN202280021305.3A CN202280021305A CN116997770A CN 116997770 A CN116997770 A CN 116997770A CN 202280021305 A CN202280021305 A CN 202280021305A CN 116997770 A CN116997770 A CN 116997770A
- Authority
- CN
- China
- Prior art keywords
- magnetometer
- gyroscope
- sequence
- calibration
- measurements
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 163
- 238000005259 measurement Methods 0.000 claims abstract description 123
- 239000011159 matrix material Substances 0.000 claims description 50
- 239000013598 vector Substances 0.000 claims description 41
- 230000008859 change Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 description 95
- 230000004044 response Effects 0.000 description 11
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 229910052742 iron Inorganic materials 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R35/00—Testing or calibrating of apparatus covered by the other groups of this subclass
- G01R35/005—Calibrating; Standards or reference devices, e.g. voltage or resistance standards, "golden" references
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C17/00—Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
- G01C17/38—Testing, calibrating, or compensating of compasses
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C25/00—Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
- G01C25/005—Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R33/00—Arrangements or instruments for measuring magnetic variables
- G01R33/0023—Electronic aspects, e.g. circuits for stimulation, evaluation, control; Treating the measured signals; calibration
- G01R33/0035—Calibration of single magnetic sensors, e.g. integrated calibration
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R33/00—Arrangements or instruments for measuring magnetic variables
- G01R33/02—Measuring direction or magnitude of magnetic fields or magnetic flux
- G01R33/0206—Three-component magnetometers
-
- 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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S7/00—Indicating arrangements; Control arrangements, e.g. balance control
- H04S7/30—Control circuits for electronic adaptation of the sound field
- H04S7/302—Electronic adaptation of stereophonic sound system to listener position or orientation
- H04S7/303—Tracking of listener position or orientation
- H04S7/304—For headphones
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Manufacturing & Machinery (AREA)
- Measuring Magnetic Variables (AREA)
Abstract
提供了一种用于执行磁力计校准的方法。在一些实施例中,所述方法涉及从一个或多个陀螺仪获得陀螺仪测量值序列并从一个或多个磁力计获得磁力计测量值序列。在一些实施例中,所述方法涉及基于陀螺仪测量值序列来确定角速度估计值序列。在一些实施例中,所述方法涉及基于磁力计测量值序列来确定外部磁场的导数的第一估计值。在一些实施例中,所述方法涉及基于角速度估计值序列来确定外部磁场的导数的第二估计值。在一些实施例中,所述方法涉及基于导数的第一估计值与导数的第二估计值之间的差来识别磁力计校准常数。
Description
相关申请的交叉引用
本申请要求2021年4月21日提交的美国临时专利申请第63/177,699号的优先权,所述美国临时专利申请的全部内容通过引用并入本文。
技术领域
本公开涉及用于校准磁力计的系统、方法和介质。
背景技术
磁力计可以用于确定取向,例如,包括取向跟踪系统的设备的佩戴者的头部取向。然而,磁力计可能很难校准。例如,磁力计可能受到磁场源(诸如来自靠近磁力计的其他磁体)的影响。作为另一示例,靠近磁力计的一些类型的材料(例如,软铁)可能导致磁场畸变。因此,需要用于校准磁力计的系统、方法和介质。
符号和术语
在整个公开中,包括在权利要求书中,术语“扬声器(speaker)”、“扩音器(loudspeaker)”和“音频再现转换器”同义地用于表示任何发声转换器(或一组转换器)。一套典型的耳机包括两个扬声器。扬声器可以被实施为包括多个转换器(例如,低音扬声器和高音扬声器),所述转换器可以由单个公共扬声器馈送或多个扬声器馈送驱动。在一些示例中,扬声器馈送可以在耦接到不同转换器的不同电路分支中经历不同处理。
在整个公开中,包括在权利要求中,在广义上使用“对”信号或数据执行操作的表达(例如,对信号或数据进行滤波、缩放、变换或应用增益)来表示直接对信号或数据执行操作或对信号或数据的已处理版本(例如,在对其执行操作之前已经历了初步滤波或预处理的信号版本)执行操作。
在整个公开中,包括在权利要求中,在广义上使用表达“系统”来表示设备、系统或子系统。例如,实施解码器的子系统可以被称为解码器系统,并且包括这样的子系统的系统(例如,响应于多个输入而生成X个输出信号的系统,其中,所述子系统生成M个输入,而其他X-M个输入是从外部源接收的)也可以被称为解码器系统。
在整个公开中,包括在权利要求中,在广义上使用术语“处理器”来表示可编程或以其他方式可配置(例如,用软件或固件)为对数据(例如,音频或视频或其他图像数据)执行操作的系统或设备。处理器的示例包括现场可编程门阵列(或其他可配置集成电路或芯片组)、被编程和/或以其他方式被配置为对音频或其他声音数据执行流水线式处理的数字信号处理器、可编程通用处理器或计算机、以及可编程微处理器芯片或芯片组。
发明内容
本公开的至少一些方面可以经由方法来实施。一些方法可以涉及从一个或多个陀螺仪获得陀螺仪测量值序列并从一个或多个磁力计获得磁力计测量值序列。一些方法可以涉及基于陀螺仪测量值序列来确定角速度估计值序列。一些方法可以涉及基于磁力计测量值序列来确定外部磁场的导数的第一估计值。一些方法可以涉及基于角速度估计值序列来确定外部磁场的导数的第二估计值。一些方法可以涉及基于外部磁场的导数的第一估计值与外部磁场的导数的第二估计值之间的差来识别磁力计校准常数,其中,所识别的磁力计校准常数用于校准包括一个或多个陀螺仪和一个或多个磁力计的取向跟踪系统。
在一些示例中,陀螺仪测量值序列和磁力计测量值序列是在取向跟踪系统的移动期间获得的。
在一些示例中,识别磁力计校准常数包括识别使外部磁场的导数的第一估计值与外部磁场的导数的第二估计值之间的差最小化的磁力计校准常数。
在一些示例中,确定外部磁场的导数的第一估计值包括确定磁力计测量值序列的至少两个磁力计测量值之间的差。在一些示例中,至少两个磁力计测量值跨越大约80毫秒至120毫秒范围内的持续时间。
在一些示例中,确定外部磁场的导数的第二估计值包括确定角速度估计值序列的变化的表示与磁力计测量值序列的表示的乘积。
在一些示例中,识别磁力计校准常数包括识别与表示外部磁场的导数的第一估计值与外部磁场的导数的第二估计值之间的差的矩阵的最小特征值相对应的特征向量,并且其中,所述特征向量的元素与磁力计校准常数相对应。在一些示例中,一些方法进一步涉及:确定表示外部磁场的导数的第一估计值与外部磁场的导数的第二估计值之间的差的矩阵的第二小特征值;以及基于最小特征值与第二小特征值的比值来确定要获得第二陀螺仪测量值序列和第二磁力计测量值序列。
在一些示例中,角速度估计值序列是使用利用陀螺仪校准常数调整的陀螺仪测量值序列来确定的,并且其中,所述陀螺仪校准常数是基于在取向跟踪系统保持静止时获得的陀螺仪测量值来确定的。
在一些示例中,角速度估计值序列是使用一组初始陀螺仪校准常数来确定的,并且所述方法进一步涉及:确定与使用该组初始陀螺仪校准常数识别的磁力计校准常数相关联的校准误差;基于校准误差更新该组初始陀螺仪校准常数以生成一组更新的陀螺仪校准常数;以及使用该组更新的陀螺仪校准常数来确定更新的磁力计校准常数。在一些示例中,该组更新的陀螺仪校准常数是使用梯度下降来确定的。
在一些示例中,一个或多个陀螺仪和一个或多个磁力计被设置在耳机或头戴式显示器中或其上。在一些示例中,所述方法进一步涉及:利用磁力计校准常数来确定耳机的空间取向;以及至少部分地基于耳机的空间取向来修改经由耳机呈现的音频的空间特性。在一些示例中,音频的空间特性是基于对耳机的空间取向的一系列连续确定来接近实时地修改的。
在一些示例中,一个或多个陀螺仪被配置为测量沿着三个轴的转动,并且一个或多个磁力计被配置为测量沿着三个轴的磁场。
在一些示例中,所述方法进一步涉及:确定与所识别的磁力计校准常数相关联的校准误差;以及使校准误差的指示呈现在用户界面中。在一些示例中,校准误差是基于与表示外部磁场的导数的第一估计值与外部磁场的导数的第二估计值之间的差的矩阵相关联的最小特征值与第二小特征值的比值来确定的。在一些示例中,所述方法进一步涉及:获得第二陀螺仪测量值序列和第二磁力计测量值序列;识别与第二陀螺仪测量值序列和第二磁力计测量值序列相关联的更新的磁力计校准常数;确定与更新的磁力计校准常数相关联的第二校准误差;以及用第二校准误差的指示更新用户界面。
本文描述的一些或所有操作、功能和/或方法可以由一个或多个设备根据存储在一个或多个非暂态介质上的指令(例如,软件)来执行。这种非暂态介质可以包括诸如本文所描述的那些存储器设备,包括但不限于随机存取存储器(RAM)设备、只读存储器(ROM)设备等。因此,可以经由其上存储有软件的一个或多个非暂态介质来实施本公开中所描述的主题的一些创新方面。
本公开的至少一些方面可以经由装置来实施。例如,一个或多个设备可以能够至少部分地执行本文公开的方法。在一些实施方式中,装置是或包括具有接口系统和控制系统的音频处理系统。控制系统可以包括一个或多个通用单芯片或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、离散门或晶体管逻辑、离散硬件部件或其组合。
在以下附图和说明中阐述了本说明书中所描述的主题的一个或多个实施方式的细节。从说明书、附图和权利要求中,其他特征、方面和优点将变得显而易见。注意,以下附图的相对尺寸可能不是按比例来绘制的。
附图说明
图1是图示根据一些实施例的与取向跟踪系统相关联的坐标轴的示意图。
图2是图示根据一些实施例的磁力计测量值的变化的示意图。
图3是根据一些实施例的用于确定磁力计校准常数的示例过程的流程图。
图4是根据一些实施例的用于确定磁力计校准常数和陀螺仪校准常数的示例过程的流程图。
图5是根据一些实施例的用于利用用户界面来执行磁力计校准过程的示例过程的流程图。
图6是根据一些实施例的与磁力计校准过程结合使用的用户界面的示例。
图7示出了图示能够实施本公开的各个方面的装置的部件的示例的框图。
在各个附图中,相似的附图标记和名称指示相似的元素。
具体实施方式
取向跟踪可能对各种设备有用。例如,对于用于呈现媒体内容的设备(诸如耳机、虚拟现实(VR)或增强现实(AR)头戴式装置等),确定佩戴者的头部取向以结合佩戴者的头部取向来修改媒体内容的呈现可能是有用的。举例来说,音频内容可以被渲染为具有空间特性,使得特定的声音被收听者感知为位于不同的空间位置。继续该示例,当收听者戴着耳机收听这样的音频内容时,音频内容应该根据收听者的头部取向进行修改,使得即使当收听者移动其头部时,音频内容的感知空间位置也是稳定的。类似的考虑适用于使用AR/VR头戴式装置渲染的音频内容和/或视频内容。
通常使用惯性传感器(诸如陀螺仪或加速度计)来执行取向跟踪。然而,这种惯性传感器可能不能产生对于取向跟踪足够准确的信息。例如,惯性传感器可以提供指示重力方向(例如,在加速度计的情况下)和/或角旋转速率(例如,在陀螺仪的情况下)的信息。然而,可能难以确定空间取向(例如,就北、南、东和西而言),特别是当传感器没有被主动旋转时。因此,结合惯性传感器使用磁力计传感器可以提供改进的取向跟踪。然而,磁力计传感器很难校准。例如,磁力计可能受到磁场源(诸如来自靠近磁力计的其他磁体)的影响。举例来说,一副耳机可能例如在耳塞内或靠近耳塞的地方包括一个或多个磁体。来自设置在耳机中或耳机上的磁力计的测量值可能会受到耳机的一个或多个其他磁体的影响。作为另一示例,靠近磁力计的一些类型的材料(例如,软铁)可能导致磁场畸变。
本文描述了使用来自陀螺仪传感器的数据来校准磁力计传感器的技术。特别地,可以通过在磁力计传感器和陀螺仪传感器两者串联转动或移动的时间段期间收集校准数据来确定磁力计传感器以及可选的陀螺仪传感器的校准常数。在一些实施方式中,可以通过确定外部磁场的导数的两个不同估计值来确定校准常数。特别地,可以基于由磁力计传感器测量的样本的变化来确定第一估计值,并且可以基于由陀螺仪传感器测量的角速度的变化率来确定第二估计值。因为在理想情况下,外部磁场的导数的两个不同估计值是相同的,所以校准常数可以被确定为使两个不同估计值之间的差最小化的常数。
在一些实施方式中,本文描述的技术可以用于校准设置在取向跟踪系统或设备和/或固定到取向跟踪系统或设备的一个或多个磁力计传感器和/或一个或多个陀螺仪传感器。在一些实施例中,取向跟踪系统或设备可以另外包括一个或多个加速度计传感器。在一些实施例中,取向跟踪系统或设备可以被固定到和/或嵌入可穿戴设备,诸如耳机、平视或头戴式显示器、虚拟现实(VR)或增强现实(AR)头戴式装置、智能眼镜等。
图1示出了根据一些实施例的取向跟踪设备110的示例100。在一些实施例中,取向跟踪设备110可以包括一个或多个磁力计和一个或多个陀螺仪。在一些实施方式中,磁力计和陀螺仪的测量值可以是相对于由固定到取向跟踪设备110的(x,y,z)坐标系定义的参考系而言的。例如,陀螺仪(例如,3轴陀螺仪)可以测量围绕特定坐标轴的角速度。作为更具体的示例,X轴陀螺仪可以测量围绕X轴120的旋转分量130,Y轴陀螺仪可以测量围绕Y轴122的旋转分量132,并且Z轴陀螺仪可以测量围绕Z轴121的旋转分量131。作为另一示例,磁力计(例如,3轴磁力计)可以相对于X轴120、Y轴122和/或Z轴121进行测量。
如本文所使用的,3轴陀螺仪可以以采样时间ΔT来测量围绕X轴、Y轴和Z轴的角速度。因此,在时间t=n*ΔT,围绕X轴的角速度可以表示为Gyrx[n],围绕Y轴的角速度可以表示为Gyry[n],并且围绕Z轴的角速度可以表示为Gyrz[n]。类似地,3轴磁力计可以相对于X轴、Y轴和Z轴进行测量。在时间t,测量值可以分别表示为Measx[n]、Measy[n]和Measz[n]。
在一些实施例中,角速度测量值可以被校正或修改以便更加准确。例如,从陀螺仪获得的角速度测量值可以基于偏移校准常数(通常在本文中分别表示为X轴、Y轴和Z轴的OGyr,x、OGyr,y和OGyr,z)和增益校准常数(通常在本文中分别表示为X轴、Y轴和Z轴的GGyr,x、GGyr,y和GGyr,z)进行校正。Rot(t)在本文中通常用于指示在时间t的校正角速度测量值,其中,Rot(t)可以包括围绕X轴、Y轴和Z轴的校正角速度测量值,在本文中表示为Rotx(t)、Roty(t)和Rotz(t)。例如,在一些实施例中,Rot(t)可以通过以下方式确定:
在一些实施例中,磁力计测量值可以被校正或修改以便更加准确。例如,磁力计测量值可以基于偏移校准常数(通常在本文中分别表示为X轴、Y轴和Z轴的OMag,x、OMag,y和OMag,z)来校正,其中,偏移校准常数考虑了在取向跟踪设备内生成的磁场。作为另一示例,可以基于3×3矩阵Mmag(由校准常数Mxx、Mxy、Mxz、Myx、Myy、Myz、Mzx、Mzy和Mzz形成)来校正磁力计测量值,其中,校准常数补偿由于诸如铁的材料的存在而导致的磁场畸变,所述材料可能包含在取向跟踪设备中和/或附接到取向跟踪设备。在一些实施例中,在时间t=n*ΔT的校正磁场测量值(例如,与已经基于校准常数校正的磁力计测量值相对应)可以由Mag[n]表示,其可以具有元素Magx[n]、Magy[n]和Magz[n]。在一些实施例中,Mag[n]可以通过以下方式确定:
如上所述,Ogyr、Ggyr、Omag和Mmag在本文中通常被称为校准常数。在一些情况下,陀螺仪校准常数可以通过保持取向跟踪器设备(例如,其包括一个或多个陀螺仪传感器)静止并在设备保持稳定的时间段期间捕获陀螺仪测量值来确定。测量值的平均值然后可以用于确定陀螺仪校准常数,诸如陀螺仪偏移校准常数(Ogyr)。举例来说,在取向跟踪器设备保持静止T秒(例如,在0秒与T秒之间的时间t期间)的情况下,x、y和z轴中的每一个的陀螺仪偏移校准常数可以通过以下方式确定:
参考量化的测量值,例如,当在时间t=n*ΔT进行测量n时,x、y和z轴中的每一个的陀螺仪校准常数可以通过以下方式确定:
在一些实施例中,本文描述的技术允许基于例如在相同时间段内同时收集的磁力计数据和陀螺仪数据来确定磁校准常数(例如,Omag和Mmag)。在一些实施方式中,磁力计数据和陀螺仪数据可以在包括一个或多个磁力计和一个或多个陀螺仪的取向跟踪器设备被转动或以其他方式移动的时间段期间被收集,使得磁力计数据和陀螺仪数据表示一个或多个磁力计和一个或多个陀螺仪的同步移动。
在一些实施方式中,磁力计校准常数和/或陀螺仪校准常数可以基于估计磁场的估计变化来确定。图2示出了图示使用上文结合图1示出和描述的坐标系的估计磁场的变化的示意图200。在图2所示的示例中,向量210表示采样间隔n处的估计磁场向量,其中,估计磁场向量具有分量(Magx[n],Magy[n],Magz[n])。向量211表示采样间隔n+1处的估计磁场向量,其中,估计磁场向量具有分量(Magx[n+1],Magy[n+1],Magz[n+1])。沿着y轴的估计环境磁场的值分别示出为投影220和221。
估计磁场的变化在图2中示出为向量230。估计磁场的变化(例如,估计磁场的导数)可以用不同的方式来估计。例如,可以基于不同样本的磁力计测量值之间的差来确定估计磁场的导数。作为更具体的示例,可以基于特定样本n之前和之后的磁场向量δ样本之间的差来确定磁场的导数。举例来说,可以基于磁力计测量值之间的差通过以下方式来估计磁场的导数:
作为另一示例,在磁力计传感器和陀螺仪传感器的共同转动期间收集磁力计测量值和陀螺仪测量值的情况下,可以假设估计磁场的变化是由于参考系的转动引起的。因此,可以基于由陀螺仪测量值确定的样本间的估计角速度的变化来确定估计磁场的导数。举例来说,可以基于估计角速度的变化通过以下方式来估计磁场的导数:
Mag′[n]=ΔRot[n]*Mag[n]
本文描述的技术利用磁场导数的这两个不同估计值来确定磁力计校准常数和/或陀螺仪校准常数。特别地,在一些实施方式中,由于磁场导数的两个不同估计值在理想情况下是相同的,因此选择校准常数以使磁场导数的两个不同估计值之间的差或误差最小化。用于基于磁场的导数的两个估计值来确定磁力计校准常数的更详细的技术在下文结合图3示出和描述。图4图示了用于基于磁场的导数的两个估计值来确定磁力计校准常数和陀螺仪校准常数的过程。
图3示出了根据一些实施例的用于基于磁场的导数的两个估计值来确定磁力计校准常数的示例过程300。在一些实施方式中,过程300的框可以由包括一个或多个磁力计和一个或多个陀螺仪的取向跟踪系统的控制系统或处理器来执行。在一些实施例中,这样的取向跟踪系统可以是一副耳机、虚拟现实头戴式装置等的一部分或与之相关联。在一些实施方式中,过程300的框可以由与取向跟踪系统配对或相关联的设备的控制系统或处理器(诸如相关联的移动电话或平板电脑的处理器)来执行。这样的控制系统的示例在下文结合图7示出和描述。应当注意,在一些实施方式中,可以以不同于图3所示的顺序来执行过程300的框。在一些实施例中,可以基本上并行地执行过程300的两个或更多个框。在一些实施例中,可以省略过程300的一个或多个框。
过程300可以通过获得陀螺仪测量值序列和对应的磁力计测量值序列在302处开始。在一些实施例中,陀螺仪测量值和磁力计测量值可以在对应的陀螺仪和磁力计(例如,从其获得陀螺仪测量值和磁力计测量值)串联移动的时间段期间获得。例如,陀螺仪和磁力计可以设置在取向跟踪系统中或取向跟踪系统上,所述取向跟踪系统然后被移动(例如,转动、横向移动、竖直移动等)。假设进行三轴陀螺仪测量,对于特定样本n,陀螺仪测量值序列可以表示为:
Gyr[n]=(Gyrx[n],Gyry[n],Gyrz[n])T
假设进行三轴磁力计测量,对于样本n,磁力计测量值序列可以表示为:
Meas[n]=(Measx[n],Measy[n],Measz[n])T
本文将假设在T秒的时间段内收集了N个样本,其中,样本是以样本之间的时间差ΔT收集的。T(例如,收集陀螺仪样本和磁力计样本的时间段)的示例值可以是30毫秒、50毫秒、80毫秒、110毫秒、150毫秒、200毫秒、250毫秒、500毫秒、1000毫秒、1500毫秒等。例如,在一些实施方式中,T可以在大约50毫秒至250毫秒的范围内,在大约80毫秒至150毫秒的范围内,在大约100毫秒至120毫秒的范围内,等等。ΔT(例如,连续样本之间的时间差)的示例值可以是5毫秒、10毫秒、20毫秒、50毫秒等。应当注意,在一些实施方式中,可以收集连续的样本集,直到已经收集了足够量的数据来执行校准。可以在如3秒、5秒、20秒、60秒、70秒等时间段内收集数据总量(例如,磁力计测量值和陀螺仪测量值)。
在304处,过程300可以基于陀螺仪测量值序列来确定角速度估计值序列。对于样本n,对应的角速度估计值Rot[n]可以被确定为具有x、y和z分量。例如,Rot[n]可以表示为:
Rot[n]=(Rotx[n],Roty[n],Rotz[n])T
在一些实施例中,角速度分量可以基于陀螺仪校准常数来确定,诸如陀螺仪偏移常数(OGyr)和/或陀螺仪增益常数(GGyr),如上所述。例如,角速度分量可以通过以下方式确定:
在306处,过程300可以基于磁力计测量值序列来确定外部磁场的导数的第一估计值。举例来说,过程300可以基于样本n之前和之后的磁力计测量值δ样本之间的差来确定第一估计值。举例来说,外部磁场的导数的第一估计值可以通过以下方式确定:
在一些实施方式中,可以选择δ(其表示在其上估计外部磁场的导数的磁力计测量值的样本数量)的值来提供相对无噪声的磁场的导数的估计值。换句话说,在一些实施例中,可以基于足够大以减少噪声但又足够小以提供导数的合适估计值的样本数量来计算导数。在一个示例中,δ可被确定为在这种情况下,可以使用跨度约100毫秒的磁力计测量值样本来确定导数。
在308处,过程300可以基于角速度测量值序列来确定外部磁场的导数的第二估计值。例如,在一些实施例中,过程300可以确定旋转变化率(例如,角速度测量值的变化率),并且可以将外部磁场的导数的第二估计值确定为旋转变化率与磁场向量的乘积。在一个示例中,旋转变化率可以通过以下方式确定:
继续该示例,外部磁场的导数的第二估计值可以通过以下方式确定:
Mag′2[n]=ΔRot[n]*Mag[n]
使用考虑x、y和z分量的扩展向量,外部磁场的导数的第二估计值可以通过以下方式确定:
在310处,过程300可以基于外部磁场的导数的第一估计值与外部磁场的导数的第二估计值之间的差来识别磁力计校准常数。例如,在一些实施方式中,过程300可以将磁力计校准常数识别为使外部磁场的导数的第一估计值与外部磁场的导数的第二估计值之间的差最小化的常数。下文描述的是用于通过识别与表示外部磁场的导数的第一估计值与外部磁场的导数的第二估计值之间的差的矩阵的最小特征值相对应的特征向量来识别磁力计校准常数的示例技术。
应当注意,磁校准常数可以表示为:
Mag[n]=Mmag*(Meas[n]-Omag)=Mmag*Meas[n]+Qmag
在上文给出的等式中,Qmag=-Mmag*Omag。
使用上文的等式,外部磁场的导数的第二估计值可以表示为:
Mag′2[n]=ΔRot[n]*Mag[n]=ΔRot[n]*Mmag*Meas[n]+ΔRot[n]*Qmag
因此,表示外部磁场的导数的两个估计值之间的差的误差向量可以表示为:
Err[n]=Mag′1[n]-Mag′2[n]
=Mmag*Meas′[n]-ΔRot[n]*Mmag*Meas[n]-ΔRot[n]*Qmag
磁校准常数可以布置成12×1向量V,用以下方式表示:
如上所述,Qmag包括磁偏移校准常数的表示Omag。然后,误差可以表示为:
Err[n]=A[n]×V
在一些实施方式中,A[n]可以表示为:
在上文的等式中,表示克罗内克(Kronecker)乘积,并且(...|...)表示通过将存储磁场测量值的1×3向量与标量常数连接而形成的1×4扩充矩阵。
在一些实施方式中,过程300可以基于矩阵A[n]来确定在一定数量的样本(n=N1、...N2)上使均方误差Err[n]最小化的向量V。
在N个样本的时段上的总平方误差可以表示为:
其中:
应当理解,可以通过将V向量设置为零向量来使TotalErrPwr最小化。在实施例中,我们可以应用V是单位向量的约束,并且应当理解,使TotalErrPwr最小化的单位向量V将是与最小特征值相关联的B的特征向量。
因此,可以通过在多个采样间隔上求和来生成12×12矩阵B。例如,在收集N个样本的情况下,对于N个样本中的每一个,可以通过将转置后的A[n]乘以A[n]来生成B。因为如上所述A[n]是3×12矩阵,所以转置后的A[n]乘以A[n]将生成12×12矩阵。然后可以在N个样本中的每个样本上对12×12矩阵求和以生成矩阵B,所述矩阵有效地表示在所有收集的磁力计样本和陀螺仪样本上聚集的外部磁场的导数的两个估计值之间的差。举例来说,B可以通过以下方式来确定:
再进一步继续,可以识别矩阵B的最小特征值(在本文中通常称为λ1)以及对应的特征向量v。因为矩阵B是12×12的矩阵,所以特征向量v是12元素向量。因此,3×3矩阵C可以被确定为:
类似地,3×1向量d可以被确定为:
可以基于C矩阵与d向量来确定磁偏移校准常数和磁校准矩阵。例如,磁偏移校准常数可以通过以下方式确定:
磁校准矩阵可以通过以下方式确定:
在上文给出的等式中,s表示任意比例因子。在一些实施方式中,例如,可以基于C矩阵来确定s以生成磁校准矩阵,使得磁校准矩阵具有接近于一的对角元素。举例来说,在一些实施方式中,s可以是
在312处,过程300可以确定是否要获得额外的磁力计测量值和陀螺仪测量值。在一些实施方式中,过程300可以基于误差度量来确定是否要获得额外的磁力计测量值和额外的陀螺仪测量值。例如,过程300可以响应于确定误差度量超过预定阈值而确定要获得额外的磁力计测量值和额外的陀螺仪测量值。
在一些实施例中,误差度量可以是最小特征值与下一个最小特征值的比值(在本文中通常表示为“q”)。作为具体的示例,误差度量可以通过以下方式确定:
在一些实施方式中,过程300可以基于q的值来确定要获得额外的磁力计和陀螺仪测量值。例如,过程300可以响应于q高于0.15、0.2、0.25、0.3的预定阈值和/或任何其他合适的阈值而确定要获得额外的磁力计和陀螺仪测量值。
如果在312处,过程300确定要获得额外的磁力计和陀螺仪测量值(在312处为“是”),则过程300可以循环回到框302并获得额外的磁力计和陀螺仪测量值序列。注意,在获得额外的磁力计和陀螺仪测量值的情况下,过程300可以基于额外的测量值更新误差矩阵B,而无需完全重新计算误差矩阵。这可以允许过程300利用新数据,而不丢弃先前收集的测量值。举例来说,在矩阵B最初是使用从0到N-1的N个样本来确定的(例如,如上所述,在框310处)并且收集了额外的样本(标记为从N1到N2)的情况下,矩阵B可以使用以下方法来更新:
在一些实施方式中,过程300可以循环通过框302至312,直到误差度量(例如,q)低于预定阈值(或者,可替代地,直到超时时段已经过去)。
相反,如果在312处确定将不获得额外的磁力计和陀螺仪测量值(在312处为“否”),则过程300可以可选地前进到框314并且可以利用磁力计校准常数。在一些实施方式中,当呈现基于场景的音频内容时,可以利用磁力计校准常数。例如,在一些实施例中,磁力计校准常数可以用于确定一副耳机的佩戴者的更准确的头部取向,并基于所确定的头部取向来调整经由耳机呈现的音频内容的空间渲染。在一些实施方式中,当经由虚拟现实(VR)或增强现实(AR)头戴式装置呈现内容时,可以利用磁力计校准常数。例如,磁力计校准常数可以用于确定更准确的头部取向,并基于所确定的头部取向来调整经由VR或AR头戴式装置呈现的视觉内容和/或音频内容的空间渲染。应当注意,在一些实施方式中,所确定的磁力计校准常数可以与特定设备(例如,耳机、头戴式装置等)相关联地存储,以便在设备使用(例如,响应于用耳机进行的耳内或耳上检测等)时利用磁力计校准常数。
在一些实施方式中,陀螺仪增益校准常数可以与磁力计校准常数同时确定。例如,可以设置初始陀螺仪增益校准常数。继续该示例,可以使用例如上文结合图3示出和描述的技术来识别初始磁力计校准常数。更具体地,可以使用表示外部磁场的两个估计值之间的差的矩阵(例如,如上文结合图3的框310所描述的矩阵B)来确定初始磁力计校准常数。再进一步继续该示例,在一些实施例中,初始陀螺仪增益校准常数可以被修改为产生与初始磁力计校准常数相关联的较低误差度量的值。作为更特定的示例,在误差度量与导数差矩阵的最小特征值同第二小特征值的比值相对应的情况下(例如,如上文结合图3的框312所描述的),可以以减小所述比值的方式修改初始陀螺仪增益校准常数。在一些实施方式中,可以迭代地调整陀螺仪增益校准常数,例如,直到最小特征值与第二小特征值的比值处于最小水平。在一些实施例中,可以使用梯度下降和/或任何其他合适的迭代优化算法来迭代地调整陀螺仪增益校准常数。
图4示出了根据一些实施例的用于迭代调整陀螺仪校准常数的示例过程400。在一些实施方式中,过程400的框可以由包括一个或多个磁力计和一个或多个陀螺仪的取向跟踪系统的控制系统或处理器来执行。下文结合图7示出并描述了可以实施过程400的框的控制系统的示例。在一些实施例中,这样的取向跟踪系统可以是一副耳机、虚拟现实头戴式装置等的一部分或与之相关联。在一些实施方式中,过程400的框可以由与取向跟踪系统配对或相关联的设备的控制系统或处理器(诸如相关联的移动电话或平板电脑的处理器)来执行。应当注意,在一些实施方式中,可以以不同于图4所示的顺序来执行过程400的框。在一些实施例中,过程400的两个或更多个框可以基本上并行地执行。在一些实施例中,可以省略过程400的一个或多个框。
过程400可以通过获得陀螺仪测量值序列和对应的磁力计测量值序列在402处开始。类似于上文结合图3的框302所描述的,在一些实施例中,陀螺仪测量值和磁力计测量值可以在对应的陀螺仪和磁力计(例如,从其获得陀螺仪测量值和磁力计测量值)串联移动的时间段内获得。例如,陀螺仪和磁力计可以设置在取向跟踪系统中或取向跟踪系统上,所述取向跟踪系统然后被移动(例如,转动、横向移动、竖直移动等)。假设进行三轴陀螺仪测量,对于特定样本n,陀螺仪测量值序列可以表示为:
Gyr[n]=(Gyrx[n],Gyry[n],Gyrz[n])T
假设进行三轴磁力计测量,对于样本n,磁力计测量值序列可以表示为:
Meas[n]=(Measx[n],Measy[n],Meaz[n])T
在404处,过程400可以基于陀螺仪测量值序列并使用一组初始陀螺仪校准常数来确定角速度估计值序列。类似于上文结合图3的框304所描述的,对于样本n,对应的角速度估计值Rot[n]可以被确定为具有x、y和z分量。例如,Rot[n]可以表示为:
Rot[n]=(Rotx[n],Roty[n],Rotz[n])T
注意,由于陀螺仪校准增益常数GGyr,x、GGyr,y和GGyr,z是使用优化过程确定的,因此角速度分量可以通过考虑陀螺仪偏移常数而不考虑增益常数来确定,这与上文结合图3所示和所述的不同。例如,角速度分量可以通过以下方式确定:
在406处,过程400可以基于磁力计测量值序列来确定外部磁场的导数的第一估计值。例如,过程400可以使用上文结合框406描述的技术(例如,基于磁力计样本之间的差)来确定第一估计值(在本文中通常称为Mag'1)。确定Mag'1的等式的特定示例由下式给出:
在408处,过程400可以基于在框404处确定的角速度估计值序列来确定外部磁场的导数的第二估计值。例如,如上文结合图3的框308所描述的,过程400可以基于角速度估计值序列来确定旋转变化率(在本文中通常称为ΔRot)。继续该示例,过程400可以将第二估计值确定为旋转变化率与磁场测量值的克罗内克乘积,如上文结合图3的框308所描述的。
在410处,过程400可以利用外部磁场的导数的第一估计值与外部磁场的导数的第二估计值之间的差来执行迭代优化过程以确定陀螺仪校准常数。例如,过程400可以确定表示外部磁场导数的两个估计值之间的差的矩阵A。在一个示例中,A[n]可以通过以下方式确定:
在上文给出的等式中,I3可以是单位矩阵。在A[n]是3×12矩阵的情况下,I3是3×3矩阵。在上文给出的等式中,是克罗内克乘积。在上文给出的等式中,并且在A[n]是3×12矩阵的情况下,(...|...)是可以通过将1×3行向量与标量常数连接而形成的1×4扩充矩阵。应当注意,A[n]内的每个行向量可以是1×12行向量,并且在本文中通常被称为A1[n]、A2[n]和A3[n]。
继续该示例,可以使用对应的行向量A1[n]、A2[n]和A3[n]来确定三个矩阵B1、B2和B3。在A[n]是3×12矩阵的情况下,B1、B2和B3中的每一个又可以是12×12矩阵。在一个示例中,B1、B2和B3可以通过在预定数量的采样间隔N上求和来确定。应当注意,在一些实施方式中,B1、B2和B3矩阵可以累积在例如50毫秒、100毫秒、500毫秒、1000毫秒等时间内收集并随着数据组块的收集而随时间汇总的陀螺仪测量值和磁力计测量值的组块。这可以允许确定校准过程的状态并可选地提供给用户。用于确定B1、B2和B3的示例等式是:
/>
继续该示例,可以选择一组初始增益校准常数GGyr,x、GGyr,y和GGyr,z。然后可以执行迭代过程以确定该组增益校准常数的最终值。所述迭代过程可以包括首先确定三个增益调整向量,本文通常称为q1、q2和q3。在A[n]是3×12矩阵的情况下,q1、q2和q3可以各自是12×1向量。在一些实施方式中,q1、q2和q3可以通过以下方式确定:
可以基于B1、B2和B3以及对应的增益调整向量来确定12×12矩阵B,陀螺仪增益校准常数可以从所述矩阵更新。例如,B可以通过以下方式确定:
B=diag(q1)*B1*diag(q1)+diag(q2)*B2*diag(q2)+diag(q3)*B3*diag(q3)
再进一步继续该示例,过程400可以确定与矩阵B的最小特征值λ1相对应的特征向量v。过程400可以另外确定第二小特征值λ2,并且可以确定最小特征值与第二小特征值的比值,在本文中通常称为q。例如,q可以被确定为:在一些实施方式中,q可以被认为是误差度量,其表示用于确定外部磁场的一阶导数和二阶导数的校准常数(例如,磁校准常数和/或陀螺仪校准常数)的误差或拟合优度。
在一些实施方式中,过程400可以重复确定增益调整向量、确定矩阵B、以及使用一组修改的或调整的陀螺仪增益校准常数来确定与B的最小特征值相对应的特征向量v。在一些实施例中,过程400可以重复这些步骤以使q的值最小化。在一些实施方式中,可以使用任何合适的优化技术来确定陀螺仪增益校准常数的修改值,以便使q的值最小化。
在实施例中,可以执行迭代过程,其中,在迭代i中,可以选择一组当前最佳估计的陀螺仪增益校准常数(Gi,3×1向量)和步长(例如,s=0.01、0.015、0.02等),并且可以为一组潜在的改进的增益校准常数计算q:
并且可以选择改进的最佳估计陀螺仪增益校准常数Gi+1作为与最小q值相对应的SearchSeti的成员。在一些实施例中,在Gi+1=Gi的迭代之后(换句话说,在替代校准值未能导致较低q值的任何迭代之后),步长s的大小可以减小。
在412处,在已经基于使q最小化的陀螺仪增益校准常数的值确定了陀螺仪增益校准常数之后,过程400可以确定磁校准常数。类似于上文结合图3的框310所描述的,过程400可以使用与B的最小特征值相对应的特征向量v来确定矩阵C。矩阵C可以用于确定磁校准矩阵。特别地,在一些实施例中,C可以通过以下方式确定:
磁校准矩阵Mmag可以通过以下方式确定:
特征向量v的剩余三个元素可以用于确定磁偏移校准常数。特别地,剩余的三个元素可以用于构建向量d。例如,d可以通过以下方式确定:
然后,可以通过以下方式来确定磁偏移校准常数:
在414处,过程400可以可选地利用所识别的磁力计校准常数和陀螺仪校准常数。如上文结合图3的框314所描述的,磁力计校准常数和陀螺仪校准常数可以结合耳机(例如,基于耳机佩戴者的头部取向准确地呈现双耳声音)、AR/VR头戴式装置(例如,基于头戴式装置的佩戴者的头部取向准确地呈现视觉和/或音频内容)等使用。
在一些实施方式中,可以使用用户界面来触发校准例程,从所述校准例程确定磁力计校准常数以及可选的陀螺仪校准常数。在一些实施方式中,用户界面可以例如提示包括一个或多个磁力计和一个或多个陀螺仪的取向跟踪设备的用户以特定方式转动和/或以其他方式移动取向跟踪设备。作为更特定的示例,在取向跟踪设备被固定在一副耳机上和/或设置在一副耳机中的情况下,用户界面可以指示用户佩戴耳机并随后向左、向右、向上、向下等转动其头部。在一些实施方式中,用户界面可以呈现指示用户的当前头部取向的实时或接近实时的信息。例如,在一些实施方式中,用户界面可以呈现与用户的头部取向相关联的当前方向(例如,在北、南、东、西坐标中)的指示。作为另一示例,在一些实施方式中,用户界面可以不断更新描绘用户头部的当前取向的实时或接近实时的动画。在一些实施方式中,用户界面可以指示与磁力计校准常数的当前估计值以及可选的陀螺仪校准常数的当前估计值相关联的当前误差。例如,当用户执行校准例程时(例如,当用户在握持和/或佩戴取向跟踪设备的同时转动其头部时),误差可以不断地被更新,并且用户界面可以相应地被更新以指示最近确定的误差度量。在一些实施方式中,用户界面可以指示校准例程何时已经完成,例如,响应于确定与磁力计校准常数以及可选的陀螺仪校准常数相关联的误差低于预定阈值。在一些实施例中,用户界面可以提示用户保存所确定的校准常数,例如,与结合校准例程使用的一副耳机相关联地保存。如下所述,图5图示了用于使用用户界面来执行这样的校准过程的示例过程,并且图6示出了根据一些实施例的用户界面的示例。
转向图5,示出了根据一些实施例的用于使用用户界面来执行校准例程以确定磁力计校准常数和可选的陀螺仪校准常数的示例过程500的流程图。在一些实施方式中,过程500的框可以由包括一个或多个磁力计和一个或多个陀螺仪的取向跟踪系统的控制系统或处理器来执行。下文结合图6示出并描述了可以用于执行过程500的框的控制系统的示例。在一些实施例中,这样的取向跟踪系统可以是一副耳机、虚拟现实头戴式装置等的一部分或与之相关联。在一些实施方式中,过程500的框可以由与取向跟踪系统配对或相关联的设备的控制系统或处理器(诸如相关联的移动电话、平板计算机、台式计算机、膝上型计算机等的处理器)来执行。应当注意,在一些实施方式中,可以以不同于图5所示的顺序来执行过程500的框。在一些实施例中,过程500的两个或更多个框可以基本上并行地执行。在一些实施例中,可以省略过程500的一个或多个框。
过程500可以经由用户界面接收要执行取向跟踪设备的校准的指示而在502处开始。例如,过程500可以接收指示作为对用户界面上呈现的“开始校准”按钮的选择。在一些实施方式中,响应于接收到指示,过程500可以使得经由用户界面向用户呈现指令。例如,指令可以指示用户佩戴与取向跟踪设备相关联的耳机或头戴式装置并开始在各个方向上(例如,上、下、左、右等)转动其头部。
在504处,响应于接收到指示,过程500可以获得陀螺仪测量值序列和对应的磁力计测量值序列。类似于上文结合图3的框302所描述的,在一些实施例中,陀螺仪测量值和磁力计测量值可以在对应的陀螺仪和磁力计(例如,从其获得陀螺仪测量值和磁力计测量值)串联移动的时间段内获得。
在506处,过程500可以基于陀螺仪测量值序列和对应的磁力计测量值序列来确定磁力计校准常数和可选的陀螺仪校准常数。例如,如上文结合图3和图4更详细描述的,过程500可以确定外部磁场导数的两个估计值(例如,基于磁力计样本之间的差的第一估计值,以及基于角速度估计值的变化率的第二估计值),并且可以以使外部磁场导数的两个估计值之间的差最小化的方式确定校准常数。
在508处,过程500可以确定与所确定的磁力计校准常数相关联的误差。例如,如上文结合图3的框312所描述的,误差可以是表示外部磁场的导数的两个估计值之间的差的矩阵的最小特征值与下一个最小特征值的比值(例如,如上所述的q)。
在510处,过程500可以可选地使得经由用户界面呈现误差的指示。在一些实施方式中,过程500可以例如通过将上文在框508处描述的比值乘以100而将误差指示为百分比。注意,在一些实施方式中,用户界面可以不指示当前误差,并且在这种情况下,可以省略框510。
在框512处,过程500可以确定校准过程是否完成。例如,过程500可以响应于确定以上在框508处确定的误差低于预定阈值(例如,低于0.05、低于0.1、低于0.15、低于0.2、低于0.25和/或任何其他合适的阈值)而确定校准过程完成。作为另一示例,过程500可以响应于确定自校准过程开始以来已过去的时间超过预定持续时间(例如,超过两分钟、超过三分钟等)而确定校准过程完成。作为又一示例,过程500可以响应于确定用户在校准过程期间在跨越超过围绕用户头部的球体的预定部分的区域中转动了其头部(例如,超过预定的方位角转动量和/或超过预定的仰角量)而确定校准过程完成。
如果在框512处,过程500确定校准过程尚未完成(在512处为“否”),则过程500可以循环回到框504并且可以获得额外的陀螺仪测量值和额外的磁力计测量值。过程500然后可以循环通过框504至512,直到校准过程已经完成。
相反,如果在框512处,过程500确定校准过程完成(在512处为“是”),则过程500可以前进到框514并且可以存储磁力计校准常数和可选的陀螺仪校准常数。例如,在一些实施方式中,校准常数可以与用于执行校准例程的设备相关联地存储,使得校准常数在设备的后续使用期间可用并被利用。作为更特定的示例,在设备是一副耳机的情况下,可以存储校准常数,使得在用户随后使用耳机期间取得(例如,从存储器)并利用校准常数。
转向图6,示出了根据一些实施例的可以用于执行校准例程的用户界面600的示例。特别地,用户界面600可以被用户用来校准包括一个或多个磁力计和一个或多个陀螺仪的取向跟踪设备。在校准例程期间,用户可以在空间中移动或转动取向跟踪设备,同时实时或接近实时地更新用户界面600。在图6的示例中,取向跟踪设备可以被设置在头戴式设备(诸如耳机或VR/AR头戴式装置)中和/或固定到头戴式设备。因此,取向跟踪设备可以指示头戴式设备的佩戴者的头部取向。
如图所示,用户界面600包括头部取向表示602。头部取向表示602可以实时或接近实时地指示执行校准例程的用户的当前头部取向。在一些实施方式中,用于构建头部取向表示602的头部取向可以基于被校准的取向跟踪设备的一个或多个磁力计和/或一个或多个陀螺仪来确定。
另外,如图所示,用户界面600包括校准误差指示604。如上文结合图5的框508和510所描述的,可以基于与磁力计校准常数相关联的误差来确定校准误差指示604,所述磁力计校准常数是在用户移动和/或转动取向跟踪设备时在校准例程期间确定的。例如,校准误差指示604可以基于表示磁场的导数的两个不同估计值之间的差的矩阵来确定,如上所述。
如图所示,用户界面600可以包括覆盖度指示606。覆盖度指示606指示取向跟踪设备已经转动通过的球体的一部分。特别地,如覆盖度指示606中所指示的较高百分比指示取向跟踪设备已经转动通过球体的较大部分。在一些实施方式中,校准例程可以继续,直到取向跟踪设备已经转动通过的球体部分已经达到预定阈值(例如,70%、80%、90%等)。因此,覆盖度指示606可以向用户指示已经执行的取向跟踪设备的转动量和/或要执行的剩余转动量。在一些实施方式中,可以实时或接近实时地更新覆盖度指示606。
图7是示出了能够实施本公开的各个方面的装置的部件的示例的框图。与本文提供的其他图一样,图7中示出的元件的类型和数量仅作为示例提供。其他实施方式可以包括更多、更少和/或不同类型和数量的元件。根据一些示例,装置700可以被配置用于执行本文公开的方法中的至少一些方法。在一些实施方式中,装置700可以是或可以包括电视、音频系统的一个或多个部件、移动设备(诸如蜂窝电话)、膝上型计算机、平板设备、智能扬声器或另一种类型的设备。
根据一些替代性实施方式,装置700可以是或者可以包括服务器。在一些这样的示例中,装置700可以是或者可以包括编码器。因此,在一些情况下,装置700可以是被配置用于在如家庭音频环境的音频环境内使用的设备,然而在其他情况下,装置700可以是被配置用于在“云”中使用的设备,例如,服务器。
在该示例中,装置700包括接口系统705和控制系统710。在一些实施方式中,接口系统705可以被配置用于与音频环境的一个或多个其他设备进行通信。在一些示例中,音频环境可以是家庭音频环境。在其他示例中,音频环境可以是另一种类型的环境,诸如办公室环境、汽车环境、火车环境、街道或人行道环境、公园环境等。在一些实施方式中,接口系统705可以被配置用于与音频环境的音频设备交换控制信息和相关联的数据。在一些示例中,控制信息和相关联的数据可以与装置700正执行的一个或多个软件应用程序有关。
在一些实施方式中,接口系统705可以被配置用于接收内容流或用于提供内容流。内容流可以包括音频数据。音频数据可以包括但可以不限于音频信号。在一些情况下,音频数据可以包括如声道数据和/或空间元数据等空间数据。在一些示例中,内容流可以包括视频数据和与视频数据相对应的音频数据。
接口系统705可以包括一个或多个网络接口和/或一个或多个外部设备接口(如一个或多个通用串行总线(USB)接口)。根据一些实施方式,接口系统705可以包括一个或多个无线接口。接口系统705可以包括用于实施用户接口的一个或多个设备,如一个或多个麦克风、一个或多个扬声器、显示系统、触摸传感器系统和/或手势传感器系统。在一些示例中,接口系统705可以包括控制系统710与存储器系统(如图7中示出的可选存储器系统715)之间的一个或多个接口。然而,在一些情况下,控制系统710可以包括存储器系统。在一些实施方式中,接口系统705可以被配置用于从环境中的一个或多个麦克风接收输入。
例如,控制系统710可以包括通用单芯片或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、离散门或晶体管逻辑和/或离散硬件部件。
在一些实施方式中,控制系统710可以驻留在超过一个设备中。例如,在一些实施方式中,控制系统710的一部分可以驻留在本文描绘的环境之一内的设备中,并且控制系统710的另一部分可以驻留在环境之外的设备中,诸如服务器、移动设备(例如,智能电话或平板电脑)等。在其他示例中,控制系统710的一部分可以驻留在一个环境内的设备中,并且控制系统710的另一部分可以驻留在所述环境的一个或多个其他设备中。例如,控制系统710的一部分可以驻留在实施基于云的服务的设备(诸如服务器)中,并且控制系统710的另一部分可以驻留在实施基于云的服务的另一设备(诸如另一服务器、存储器设备等)中。在一些示例中,接口系统705也可以驻留在超过一个设备中。
在一些实施方式中,控制系统710可以被配置用于至少部分地执行本文公开的方法。根据一些示例,控制系统710可以被配置用于实施确定磁力计校准常数、确定陀螺仪校准常数、呈现引导取向跟踪设备的用户通过校准过程的用户界面等的方法。
本文描述的一些或所有方法可以由一个或多个设备根据存储在一个或多个非暂态介质上的指令(例如,软件)来执行。这种非暂态介质可以包括诸如本文所描述的那些存储器设备,包括但不限于随机存取存储器(RAM)设备、只读存储器(ROM)设备等。一个或多个非暂态介质可以例如位于图7中所示的可选存储器系统715和/或控制系统710中。因此,可以在其上存储有软件的一个或多个非暂态介质中实施本公开中所描述的主题的各个创新方面。所述软件可以例如包括用于确定磁力计校准常数、确定陀螺仪校准常数、呈现引导取向跟踪设备的用户通过校准过程的用户界面等的指令。所述软件可以例如由控制系统(诸如图7的控制系统710)的一个或多个部件执行。
在一些示例中,装置700可以包括图7中示出的可选麦克风系统720。可选麦克风系统720可以包括一个或多个麦克风。在一些实施方式中,一个或多个麦克风可以是另一个设备(诸如扬声器系统的扬声器、智能音频设备等)的一部分或与其相关联。在一些示例中,装置700可以不包括麦克风系统720。然而,在一些这样的实施方式中,装置700仍然可以被配置为经由接口系统710接收音频环境中的一个或多个麦克风的麦克风数据。在一些这样的实施方式中,装置700的基于云的实施方式可以被配置为经由接口系统710从音频环境中的一个或多个麦克风接收麦克风数据或至少部分地与麦克风数据相对应的噪声指标。
根据一些实施方式,装置700可以包括图7中示出的可选扩音器系统725。可选扩音器系统725可以包括一个或多个扩音器,所述扩音器在本文中也可以被称为“扬声器”,或更通常地被称为“音频再现转换器”。在一些示例(例如,基于云的实施方式)中,装置700可以不包括扩音器系统725。在一些实施方式中,装置700可以包括耳机。耳机可以经由耳机插孔或经由无线连接(例如,蓝牙)连接或耦接到装置700。
本公开的一些方面包括一种被配置(例如,被编程)成执行所公开方法的一个或多个示例的系统或设备,以及一种存储用于实施所公开方法或其步骤的一个或多个示例的代码的有形计算机可读介质(例如,磁盘)。例如,一些公开的系统可以是或者包括可编程通用处理器、数字信号处理器或微处理器,所述可编程通用处理器、数字信号处理器或微处理器用软件或固件编程为和/或以其他方式被配置为对数据执行各种操作中的任一个,包括所公开方法或其步骤的实施例。这样的通用处理器可以是或者包括计算机系统,所述计算机系统包括输入设备、存储器和处理子系统,所述处理子系统被编程(和/或以其他方式被配置)为响应于向其断言的数据而执行所公开方法(或其步骤)的一个或多个示例。
一些实施例可以被实施为可配置的(例如,可编程的)数字信号处理器(DSP),所述数字信号处理器被配置(例如,被编程和以其他方式被配置)为对音频信号执行需要的处理,包括对所公开方法的一个或多个示例的执行。可替代地,所公开系统(或其元件)的实施例可以被实施为通用处理器(例如,个人计算机(PC)或其他计算机系统或微处理器,其可以包括输入设备和存储器),所述通用处理器用软件或固件编程为和/或以其他方式被配置为执行各种操作中的任一个,包括所公开方法的一个或多个示例。可替代地,本发明系统的一些实施例的元件被实施为被配置(例如,被编程)为执行所公开方法的一个或多个示例的通用处理器或DSP,并且所述系统还包括其他元件(例如,一个或多个扩音器和/或一个或多个麦克风)。被配置为执行所公开方法的一个或多个示例的通用处理器可以耦接到输入设备(例如,鼠标和/或键盘)、存储器和显示设备。
本公开的另一方面是一种计算机可读介质(例如,磁盘或其他有形存储介质),所述计算机可读介质存储用于执行所公开方法或其步骤的一个或多个示例的代码(例如,可执行以执行所公开方法或其步骤的一个或多个示例的编码器)。
虽然在本文中已经描述了本公开的具体实施例和本公开的应用,但是对于本领域普通技术人员而言显而易见的是,在不脱离本文描述的并要求保护的本公开的范围的情况下,可以对本文描述的实施例和应用进行许多改变。应当理解,虽然已经示出和描述了本公开的某些形式,但是本公开不限于所描述和示出的具体实施例或所描述的具体方法。
Claims (20)
1.一种用于校准运动跟踪设备的磁力计的方法,所述方法包括:
从一个或多个陀螺仪获得陀螺仪测量值序列并从一个或多个磁力计获得磁力计测量值序列;
基于所述陀螺仪测量值序列来确定角速度估计值序列;
基于所述磁力计测量值序列来确定外部磁场的导数的第一估计值;
基于所述角速度估计值序列来确定所述外部磁场的导数的第二估计值;以及
基于所述外部磁场的导数的第一估计值与所述外部磁场的导数的第二估计值之间的差来识别磁力计校准常数,其中,所识别的磁力计校准常数用于校准包括所述一个或多个陀螺仪和所述一个或多个磁力计的取向跟踪系统。
2.如权利要求1所述的方法,其中,所述陀螺仪测量值序列和所述磁力计测量值序列是在所述取向跟踪系统的移动期间获得的。
3.如权利要求1或2中任一项所述的方法,其中,识别所述磁力计校准常数包括识别使所述外部磁场的导数的第一估计值与所述外部磁场的导数的第二估计值之间的差最小化的磁力计校准常数。
4.如权利要求1至3中任一项所述的方法,其中,确定所述外部磁场的导数的第一估计值包括确定所述磁力计测量值序列的至少两个磁力计测量值之间的差。
5.如权利要求4所述的方法,其中,所述至少两个磁力计测量值跨越大约80毫秒至120毫秒范围内的持续时间。
6.如权利要求1至5中任一项所述的方法,其中,确定所述外部磁场的导数的第二估计值包括确定所述角速度估计值序列的变化的表示与所述磁力计测量值序列的表示的乘积。
7.如权利要求1至6中任一项所述的方法,其中,识别所述磁力计校准常数包括识别与表示所述外部磁场的导数的第一估计值与所述外部磁场的导数的第二估计值之间的差的矩阵的最小特征值相对应的特征向量,并且其中,所述特征向量的元素与所述磁力计校准常数相对应。
8.如权利要求7所述的方法,还包括:
确定表示所述外部磁场的导数的第一估计值与所述外部磁场的导数的第二估计值之间的差的所述矩阵的第二小特征值;以及
基于所述最小特征值与所述第二小特征值的比值来确定要获得第二陀螺仪测量值序列和第二磁力计测量值序列。
9.如权利要求1至8中任一项所述的方法,其中,所述角速度估计值序列是使用利用陀螺仪校准常数调整的陀螺仪测量值序列来确定的,并且其中,所述陀螺仪校准常数是基于在所述取向跟踪系统保持静止时获得的陀螺仪测量值来确定的。
10.如权利要求1至8中任一项所述的方法,其中,所述角速度估计值序列是使用一组初始陀螺仪校准常数来确定的,并且其中,所述方法还包括:
确定与使用所述一组初始陀螺仪校准常数识别的所述磁力计校准常数相关联的校准误差;
基于所述校准误差更新所述一组初始陀螺仪校准常数以生成一组更新的陀螺仪校准常数;以及
使用所述一组更新的陀螺仪校准常数来确定更新的磁力计校准常数。
11.如权利要求10所述的方法,其中,所述一组更新的陀螺仪校准常数是使用梯度下降来确定的。
12.如权利要求1至11中任一项所述的方法,其中,所述一个或多个陀螺仪和所述一个或多个磁力计被设置在耳机或头戴式显示器中或其上。
13.如权利要求12所述的方法,还包括:
利用所述磁力计校准常数来确定所述耳机的空间取向;以及
至少部分地基于所述耳机的所述空间取向来修改经由所述耳机呈现的音频的空间特性。
14.如权利要求13所述的方法,其中,所述音频的所述空间特性是基于对所述耳机的所述空间取向的一系列连续确定来接近实时地修改的。
15.如权利要求1至14中任一项所述的方法,其中,所述一个或多个陀螺仪被配置为测量沿着三个轴的转动,并且所述一个或多个磁力计被配置为测量沿着所述三个轴的磁场。
16.如权利要求1至15中任一项所述的方法,还包括:
确定与所识别的磁力计校准常数相关联的校准误差;以及
使所述校准误差的指示呈现在用户界面中。
17.如权利要求16所述的方法,其中,所述校准误差是基于与表示所述外部磁场的导数的第一估计值与所述外部磁场的导数的第二估计值之间的差的矩阵相关联的最小特征值与第二小特征值的比值来确定的。
18.如权利要求16所述的方法,还包括:
获得第二陀螺仪测量值序列和第二磁力计测量值序列;
识别与所述第二陀螺仪测量值序列和所述第二磁力计测量值序列相关联的更新的磁力计校准常数;
确定与所述更新的磁力计校准常数相关联的第二校准误差;以及
用所述第二校准误差的指示更新所述用户界面。
19.一种装置,所述装置被配置用于实施如权利要求1至18中任一项所述的方法。
20.一种或多种非暂态介质,其上存储有软件,所述软件包括用于控制一个或多个设备执行如权利要求1至18中任一项所述的方法的指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163177699P | 2021-04-21 | 2021-04-21 | |
US63/177,699 | 2021-04-21 | ||
PCT/US2022/025350 WO2022225929A1 (en) | 2021-04-21 | 2022-04-19 | Calibration of magnetometers |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116997770A true CN116997770A (zh) | 2023-11-03 |
Family
ID=81585307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280021305.3A Pending CN116997770A (zh) | 2021-04-21 | 2022-04-19 | 磁力计的校准 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240151799A1 (zh) |
EP (1) | EP4327048A1 (zh) |
CN (1) | CN116997770A (zh) |
WO (1) | WO2022225929A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9030192B2 (en) * | 2012-05-31 | 2015-05-12 | Blackberry Limited | System and method for calibrating a magnetometer on a mobile device |
EP3218674B1 (en) * | 2014-11-11 | 2021-06-23 | Intel Corporation | Extended kalman filter based autonomous magnetometer calibration |
US9749766B2 (en) * | 2015-12-27 | 2017-08-29 | Philip Scott Lyren | Switching binaural sound |
DE102016207665B4 (de) * | 2016-05-03 | 2024-05-16 | Continental Automotive Technologies GmbH | Verfahren zur Kalibrierung von Magnetfeldsensoren |
-
2022
- 2022-04-19 EP EP22722004.3A patent/EP4327048A1/en active Pending
- 2022-04-19 WO PCT/US2022/025350 patent/WO2022225929A1/en active Application Filing
- 2022-04-19 US US18/550,917 patent/US20240151799A1/en active Pending
- 2022-04-19 CN CN202280021305.3A patent/CN116997770A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022225929A1 (en) | 2022-10-27 |
EP4327048A1 (en) | 2024-02-28 |
US20240151799A1 (en) | 2024-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10397728B2 (en) | Differential headtracking apparatus | |
JP7191128B2 (ja) | 平面磁力計キャリブレーション、方位決定、ジャイロスコープ支援磁力計振幅キャリブレーション、磁力計振幅およびアライメントキャリブレーション、磁力計マッピング、ならびにセンサ融合のための方法および装置 | |
US20180310114A1 (en) | Distributed Audio Capture and Mixing | |
CN109565629B (zh) | 用于控制音频信号的处理的方法和装置 | |
CN109804559A (zh) | 空间音频系统中的增益控制 | |
US20120114132A1 (en) | Headset with accelerometers to determine direction and movements of user head and method | |
US11647352B2 (en) | Head to headset rotation transform estimation for head pose tracking in spatial audio applications | |
US11589183B2 (en) | Inertially stable virtual auditory space for spatial audio applications | |
CN107690110B (zh) | 用于操作可穿戴式扬声器设备的系统和方法 | |
US11586280B2 (en) | Head motion prediction for spatial audio applications | |
US20240205634A1 (en) | Audio signal playing method and apparatus, and electronic device | |
JP2015233252A (ja) | 音声処理装置、音源位置制御方法及び音源位置制御プログラム | |
CN116601514A (zh) | 用于使用声信标来确定设备的位置和取向的方法和系统 | |
CN116997770A (zh) | 磁力计的校准 | |
US10353019B2 (en) | High dynamic range magnetometer architecture | |
US11689841B2 (en) | Earbud orientation-based beamforming | |
CN110611863B (zh) | 360度音源实时回放系统 | |
US11689878B2 (en) | Audio adjustment based on user electrical signals | |
CN114543844A (zh) | 无线音频设备的音频播放处理方法、装置及无线音频设备 | |
WO2024008313A1 (en) | Head-related transfer function calculation | |
CN115597627A (zh) | 姿态校正方法、装置、芯片、设备及存储介质 | |
CN118251645A (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 |