CN110133582A - 补偿电磁跟踪系统中的畸变 - Google Patents
补偿电磁跟踪系统中的畸变 Download PDFInfo
- Publication number
- CN110133582A CN110133582A CN201910091571.3A CN201910091571A CN110133582A CN 110133582 A CN110133582 A CN 110133582A CN 201910091571 A CN201910091571 A CN 201910091571A CN 110133582 A CN110133582 A CN 110133582A
- Authority
- CN
- China
- Prior art keywords
- posture
- magnetic
- estimation
- magnetic field
- sensor
- 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
- 230000005291 magnetic effect Effects 0.000 claims abstract description 310
- 230000003287 optical effect Effects 0.000 claims abstract description 45
- 238000004140 cleaning Methods 0.000 claims abstract description 36
- 238000004422 calculation algorithm Methods 0.000 claims description 52
- 238000000034 method Methods 0.000 claims description 40
- 230000007613 environmental effect Effects 0.000 claims description 39
- 238000005259 measurement Methods 0.000 claims description 21
- 230000008878 coupling Effects 0.000 claims description 18
- 238000010168 coupling process Methods 0.000 claims description 18
- 238000005859 coupling reaction Methods 0.000 claims description 18
- 230000003190 augmentative effect Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 description 33
- 230000015654 memory Effects 0.000 description 26
- 239000000872 buffer Substances 0.000 description 24
- 238000012937 correction Methods 0.000 description 24
- 238000004891 communication Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 230000001133 acceleration Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000013507 mapping Methods 0.000 description 10
- 238000012512 characterization method Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000004927 fusion Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 238000004804 winding Methods 0.000 description 2
- 229930091051 Arenine Natural products 0.000 description 1
- 229910000831 Steel Inorganic materials 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001808 coupling effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 210000000697 sensory organ Anatomy 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- 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/025—Compensating stray fields
-
- 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
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/0205—Details
- G01S5/021—Calibration, monitoring or correction
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/0284—Relative positioning
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/0294—Trajectory determination or predictive filtering, e.g. target tracking or Kalman filtering
-
- 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/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- 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/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Manufacturing & Machinery (AREA)
- Measurement Of Length, Angles, Or The Like Using Electric Or Magnetic Means (AREA)
- Position Input By Displaying (AREA)
Abstract
提供了补偿电磁跟踪系统中的畸变。系统包括:磁发射器,生成磁场;磁传感器,基于磁传感器处接收的磁场的特性生成信号;一个或更多个计算机系统:从磁传感器接收信号;基于从磁传感器接收的信号确定磁传感器相对磁发射器的EM姿势;基于与磁发射器和磁传感器相关的惯性数据确定磁传感器相对磁发射器的惯性姿势和/或基于与磁发射器和磁传感器相关的光学数据确定磁传感器相对磁发射器的光学姿势;基于惯性姿势或光学姿势中一者或两者和EM姿势确定磁传感器相对磁发射器的估计姿势;基于EM姿势确定畸变磁场;基于估计姿势确定估计清洁磁场;基于畸变磁场和估计清洁场确定估计畸变磁场;基于估计的畸变磁场确定磁传感器相对磁发射器的改进EM姿势。
Description
相关申请的交叉引用
本申请根据35 USC§119(e)要求于2018年2月8日提交的美国专利申请第62/627,897号的优先权,该美国专利申请的全部内容通过引用并入本文。
技术领域
本公开内容涉及补偿电磁跟踪(EMT)系统中的畸变。
背景技术
增强现实(AR)系统和虚拟现实(VR)系统可以使用电磁跟踪(EMT)系统来辅助在各种环境(例如,游戏、医疗等)中对设备的定位。这种系统利用靠近的磁发射器和磁传感器,使得传感器和发射器可以在空间上相对于彼此定位。跟踪环境中的畸变可能使EMT系统报告针对传感器或发射器的不正确的位置和取向。
发明内容
电磁跟踪(EMT)系统可以用于游戏和/或手术环境中以跟踪设备(例如,游戏控制器、头戴式显示器、医疗设备、机器人臂等),从而使得它们各自的三维位置和取向能够被系统用户所知。增强现实(AR)和虚拟现实(VR)系统还使用EMT系统来执行头部、手部和身体跟踪,以例如使用户的移动与AR/VR内容同步。这种EMT系统使用靠近的磁发射器和磁传感器来确定传感器相对于发射器的位置和/或取向(例如,姿势)。
EMT系统对金属物体敏感,这可以表现为跟踪环境中的畸变。这种畸变可以导致位置和取向(P&O)算法(例如,有时被称为姿势算法)报告错误结果。为了确保发射器和传感器能够向用户提供准确的位置和取向测量,可以在EMT系统中对这种畸变进行补偿。例如,EMT系统可以采用一种或更多种同步定位与地图构建(SLAM)补偿技术来减少或消除导致不正确的P&O测量的畸变。在一些实现中,这种SLAM补偿技术可以采用诸如卡尔曼滤波的算法,例如扩展卡尔曼滤波(EKF)。
在一方面,一般地,一种系统包括被配置成生成磁场的磁发射器。该系统还包括磁传感器,其被配置成基于在磁传感器处接收的磁场的特性来生成信号。该系统还包括被配置成从磁传感器接收信号的一个或更多个计算机系统。一个或更多个计算机系统还被配置成基于从磁传感器接收的信号确定磁传感器相对于磁发射器的电磁(EM)姿势。一个或更多个计算机系统还被配置成确定以下中的一项或两项:i)基于与磁发射器和磁传感器相关联的惯性数据确定磁传感器相对于磁发射器的惯性姿势,或ii)基于与磁发射器和磁传感器相关联的光学数据确定磁传感器相对于磁发射器的光学姿势。一个或更多个计算机系统还被配置成基于惯性姿势或光学姿势中的一者或两者以及EM姿势确定磁传感器相对于磁发射器的估计姿势。一个或更多个计算机系统还被配置成基于EM姿势确定畸变磁场。一个或更多个计算机系统还被配置成基于估计姿势确定估计的清洁磁场。一个或更多个计算机系统还被配置成基于畸变磁场和估计的清洁场确定估计的畸变磁场。一个或更多个计算机系统还被配置成基于估计的畸变磁场确定磁传感器相对于磁发射器的改进的EM姿势。
实现可以包括以下特征中的一个或更多个特征。
在一些实现中,估计的畸变磁场是根据补偿算法来确定的。
在一些实现中,补偿算法被配置成基于畸变磁场、估计的清洁磁场和估计的姿势选择畸变模型。补偿算法还被配置成使用非线性最小二乘算法识别模型的参数。补偿算法还被配置成基于所识别的参数计算估计的畸变磁场。
在一些实现中,畸变模型包括偶极子模型、矩形环模型或球谐函数模型中的一个或更多个。
在一些实现中,估计的畸变磁场是基于估计的清洁磁场与畸变磁场之间的差异来确定的。
在一些实现中,估计的畸变磁场表示由系统正在运行的环境引起的畸变。
在一些实现中,系统包括以下中的一个或更多个:虚拟现实(VR)系统、增强现实(AR)系统、混合现实(MR)系统或电磁跟踪(EMT)系统。
在一些实现中,从磁传感器接收的信号、畸变磁场、估计的清洁磁场和估计的畸变磁场被表示为3×3数据矩阵。
在一些实现中,估计姿势通过卡尔曼滤波器确定。
在一些实现中,卡尔曼滤波器是扩展卡尔曼滤波器(EKF)。
在一些实现中,EM姿势基于从磁传感器接收的信号通过EKF来确定。
在一些实现中,EKF包括用于将来自磁传感器的不同原始输出转换成EM姿势的功能。
在一些实现中,惯性数据包括惯性原始数据,并且EKF包括用于将惯性原始数据转换成惯性姿势的功能。
在一些实现中,系统是紧耦合的。
在一些实现中,EM姿势由EM跟踪器确定。
在一些实现中,EM跟踪器向EKF提供EM姿势。
在一些实现中,系统是松耦合的。
在一些实现中,磁发射器被包含到控制器中,并且磁传感器被包含到头戴式显示器(HMD)中。
在一些实现中,改进的EM姿势表示HMD相对于控制器姿势的姿势。
在一些实现中,改进的EM姿势随HMD和控制器在跟踪环境中到处移动而被实时地确定。
在一些实现中,控制器和HMD均包括被配置成提供惯性数据的惯性测量单元(IMU)。
在一些实现中,系统包括被配置成提供光学数据的一个或更多个光学传感器。
在一些实现中,一个或更多个光学传感器包括一个或更多个相机。
在一些实现中,光学数据用于识别跟踪环境中的一个或更多个特征,并使所识别的特征显示在HMD的屏幕上。
在一些实现中,EM姿势包括由跟踪环境中所生成的磁场的畸变引起的误差。
在另一方面,一般地,一种方法包括:由一个或更多个计算机系统从磁传感器接收信号。磁传感器被配置成基于由磁发射器生成并在磁传感器处接收的磁场的特性来生成信号。该方法还包括:基于从磁传感器接收的信号确定磁传感器相对于磁发射器的电磁(EM)姿势。该方法还包括:以下中的一项或两项:i)基于与磁发射器和磁传感器相关联的惯性数据确定磁传感器相对于磁发射器的惯性姿势,或ii)基于与磁发射器和磁传感器相关联的光学数据确定磁传感器相对于磁发射器的光学姿势。该方法还包括:基于惯性姿势或光学姿势中的一者或两者以及EM姿势确定磁传感器相对于磁发射器的估计姿势。该方法还包括:基于EM姿势确定畸变磁场。该方法还包括:基于估计姿势确定估计的清洁磁场。该方法还包括:基于畸变磁场和估计的清洁场确定估计的畸变磁场。该方法还包括:基于估计的畸变磁场确定磁传感器相对于磁发射器的改进的EM姿势。
在本文中描述的系统和技术提供各种优点。例如,可以由其中发射器和传感器在跟踪环境中自由地到处移动的AR和VR系统采用这种SLAM补偿技术。换句话说,这种SLAM补偿技术在其中发射器和/或传感器在跟踪环境中不固定的AR和VR系统中可能是有效的。可以使用考虑当前输入测量和先前计算的状态的递归算法来实时地执行畸变补偿。
对于包括一个或更多个紧耦合方面的实现,可以减小系统的带宽,这又增加了系统的信噪比(SNR)。紧耦合系统通常也较难以干扰,因为所有原始传感器数据被集成到EKF的一个(例如,单个)过程中。通常,紧耦合系统可以在存在畸变的情况下提高性能,因为一些传感器可以帮助补偿其他传感器的缺陷。此外,可以在紧耦合的系统中观察到另外的滤波器状态,因此,可以提供具有提高的稳定性的输出。
在附图和以下描述中阐述了一个或更多个实施方式的细节。根据描述和附图并且根据权利要求,其他特征、目的和优点将是明显的。
附图说明
图1示出了示例电磁跟踪(EMT)系统。
图2示出了包括补偿算法的同步定位与地图构建(SLAM)畸变校正系统的示例的示意图。
图3示出了说明由图2的补偿算法执行的操作的流程图。
图4示出了SLAM畸变校正系统的另一示例的示意图。
图5示出了确定磁传感器相对于磁发射器的估计姿势和改进的EM姿势的示例性过程的流程图。
图6示出了可以用于实现在本文中描述的技术的计算设备和移动计算设备的示例。
在各附图中,相似的附图标记指示相似的元件。
具体实施方式
电磁跟踪(EMT)系统可以用于游戏和/或手术环境中以跟踪设备(例如,游戏控制器、头戴式显示器、医疗设备、机器人臂等),从而使得它们各自的三维位置和取向能够被系统用户所知。增强现实(AR)系统和虚拟现实(VR)系统还使用EMT系统来执行头部、手部和身体跟踪,以例如使用户的移动与AR/VR内容同步。这种EMT系统使用靠近的磁发射器和磁传感器来确定传感器相对于发射器的位置和/或取向(例如,姿势)。
EMT系统对金属物体敏感,这可以表现为跟踪环境中的畸变。还可能存在其他类型的畸变(例如,由发射器生成和/或由传感器感测的磁场畸变)。畸变可以包括导电畸变和铁磁畸变。导电畸变是由交变磁场(例如发射器生成的磁场)在导电物体内构建的涡流引起的。涡流生成另外的磁场,该磁场与发射器产生的磁场可能是不能区分的。这些另外的场可以导致位置和取向(P&O)算法(例如,有时被称为姿势算法)报告错误结果。例如,P&O算法是基于不具有由涡流引起的另外的场的磁场模型,因此,当这些另外的场存在时报告的结果不提供发射器和/或传感器的P&O的准确表示。
铁磁畸变是由跟踪环境中材料的磁阻引起的。这种磁阻使场从其正常几何形状“弯曲”,还使场不适于P&O算法所基于的磁场模型,从而使P&O算法报告错误结果。
为了确保发射器和传感器能够向用户提供准确的位置和取向测量,可以在EMT系统中对这种畸变进行补偿。例如,EMT系统可以采用一种或更多种补偿技术(例如,同步定位与地图构建(SLAM)补偿技术)来减少或消除导致不正确的P&O测量的畸变。在一些实现中,这种SLAM补偿技术可以采用诸如卡尔曼滤波的算法,例如扩展卡尔曼滤波(EKF)。可以由例如本文所述的那些的其中发射器和传感器自由地在跟踪环境到处移动的AR和VR系统采用这种SLAM补偿技术。换句话说,这种SLAM补偿技术在其中发射器和/或传感器在跟踪环境中不固定的AR和VR系统中可能是有效的。
图1示出了可以用作AR/VR系统的一部分的EMT系统100的示例。EMT系统100包括至少头戴式显示器(HMD)102和控制器104,头戴式显示器(HMD)102包括磁传感器112,控制器104包括磁发射器114。
在一些示例中,VR系统使用计算机技术来模拟用户在虚拟或虚构环境中的物理存在。VR系统可以通过HMD 102创建三维图像和/或声音,并且通过控制器104或可穿戴设备中的触觉设备产生触觉,以提供交互式和沉浸式的计算机生成的感官体验。相比之下,AR系统可以将计算机生成的感官输入叠加在用户的现场体验上,以增强用户对现实的感知。例如,AR系统可以提供声音、图形和/或相关信息(例如,在导航过程期间向用户提供GPS数据)。有时被称为混杂现实系统的混合现实(MR)系统可以合并现实世界和虚拟世界以生成其中物理对象和数字对象共存并实时交互的新的环境和可视化。MR的一个关键特征是合成内容和现实世界内容可以实时相互响应。
HMD 102和控制器104被配置成跟踪相对于彼此在三维空间中的位置(例如,以x、y和z)和取向(例如,以方位角、仰角和侧倾角)。例如,HMD 102被配置成相对于由控制器104的发射器114定义的参考系来跟踪HMD102的传感器112,从而使得HMD102能够确定传感器112在跟踪环境中的位置和取向。以这种方式,HMD 102和控制器104可以用于执行头部、手部和/或身体跟踪,以例如使用户的运动与AR/VR内容同步。虽然跟踪环境106被示出为定义的空间,但是应当理解,跟踪环境106可以是任何三维空间,包括没有边界的三维空间(例如,大的室内和/或室外区域等)。EMT系统100采用的特定传感器112和发射器114可以由过程类型、测量性能要求等确定。
在一些实现中,发射器114包括三个正交缠绕的磁线圈,所述磁线圈在本文中被称为x线圈、y线圈和z线圈。流过三个线圈的电流使线圈生成三个频率(例如,三个不同的频率)处的三个正交的正弦磁场。三个频率可以是三个小间距频率,例如34KHz、34.25KHz和34.5KHz,然而也可以或替代地使用其他频率。还可以使用时分复用(TDM),也就是说,在一些实现中,线圈可以生成相同频率(例如,34KHz)处的但在非交叠时间处的磁场。传感器112还包括三个正交缠绕的磁线圈,所述磁线圈在本文中被称为x线圈、y线圈和z线圈。响应于借助磁感应的感测的磁场,在传感器112的线圈中感应出电压。传感器112的每个线圈针对由发射器114的线圈生成的磁场中的每个磁场生成电信号;例如,传感器112的x线圈响应于从发射器114的x线圈接收的磁场生成第一电信号,响应于从发射器114的y线圈接收的磁场生成第二电信号并且响应于从发射器114的z线圈接收的磁场生成第三电信号。传感器112的y线圈和z线圈类似地针对由发射器114的线圈生成的磁场中的每个磁场生成电信号。
AR/VR系统和/或EMT系统100可以包括用于改进对HMD 102相对于控制器104的位置和取向的确定的一个或更多个另外的设备/系统。例如,这样的另外的设备/系统可以用于补偿(例如,否定)由畸变引起的基于电磁跟踪技术的测量位置和取向中包括的误差。
AR/VR系统包括一个或更多个光学跟踪设备。在所示示例中,AR/VR系统包括全局光学跟踪设备120(例如,有时被称为大容量跟踪器)和局部光学跟踪设备130。在一些实现中,全局光学跟踪设备120和/或局部光学跟踪设备130是相机(例如,摄像机)。
全局光学跟踪设备120可以被配置成在跟踪环境106内跟踪HMD 102和控制器104。例如,全局光学跟踪设备120可以识别HMD 102和/或控制器104的视觉特征并确定HMD 102和/或控制器104相对于全局光学跟踪设备120的位置和取向。全局光学跟踪设备120可以被定位在跟踪环境106处或跟踪环境106附近的已知位置和取向处(例如,在房间的角落中)。因此,HMD 102和/或控制器104相对于全局光学跟踪设备120的测量位置和取向可以用于确定和/或辅助确定HMD 102和/或控制器104相对于跟踪环境106以及相对于彼此的位置和取向。在一些实现中,由于房间几何形状、家具和/或固定物品和/或用户移动,从全局光学跟踪设备120的视线跟踪可能被阻挡,并且不一定会提供连续的跟踪信息。
局部光学跟踪设备130可以被定位在HMD102处并且被配置成尤其是相对于HMD102来跟踪控制器104。例如,局部光学跟踪设备130可以识别控制器104的视觉特征并确定控制器104相对于HMD 102的位置和取向。因此,如果HMD 102的位置和取向是已知的(例如,由于EMT系统100的测量,和/或来自全局光学跟踪设备120的测量等),则可以确定跟踪环境106内的控制器104的位置和取向。在一些实现中,由于房间几何形状、家具和/或固定物品和/或用户移动,从局部光学跟踪设备130的视线跟踪可能被阻挡,并且不一定会提供连续的跟踪信息。
在一些实现中,全局光学跟踪设备120和/或局部光学跟踪设备130可以被配置成执行特征提取功能。例如,全局光学跟踪设备120可以被配置成识别跟踪环境106中的特征,例如HMD102和控制器104。局部光学跟踪设备130可以被配置成识别跟踪环境106中的特征,例如控制器104。
在一些实现中,跟踪环境106内的一个或更多个物品可以包括被配置成由全局光学跟踪设备120和/或局部光学跟踪设备130识别的一个或更多个标记。例如,HMD 102和/或控制器104可以包括全局光学跟踪设备120和/或局部光学跟踪设备130可以在视觉上识别的一个或更多个标记(例如,不同于全局光学跟踪设备120和/或局部光学跟踪设备130被配置成独立地识别HMD 102和/或控制器104)。这种标记可以包括指示标记是否对应于HMD102或控制器104的信息。这种标记可以辅助全局光学跟踪设备120和/或局部光学跟踪设备130准确地确定HMD 102和/或控制器104的位置和取向。
AR/VR系统还可以包括一个或更多个惯性测量单元(IMU),以辅助确定HMD 102和控制器104的位置和取向。这种IMU可以被配置成测量特定的力和/或角速率,其可以用于确定IMU(或其中包含有IMU的对象)的取向、运动方向、速度和/或加速度。所确定的速度和/或加速度可以用于确定IMU随时间的位置变化。
在所示示例中,HMD 102包括IMU 142,并且控制器104包括被配置成收集惯性数据的IMU 144。特别地,IMU 142、IMU 144被配置成测量特定的力、角速率,并且在一些情况下测量HMD 102和控制器104周围的磁场。在一些实现中,IMU 142、IMU 144包括一个或更多个加速度计和/或一个或更多个陀螺仪。
由IMU 142、IMU 144收集的数据用于确定HMD 102和控制器104随时间的取向、运动方向、速度和/或加速度中的一个或更多个。这些数据可以与由EMT系统100(例如,使用由发射器114生成并由传感器112接收的磁场的测量)和/或光学跟踪设备120、130确定的位置和取向信息组合使用以提高HMD 102和控制器104的测量位置和取向的准确度。例如,假设EMT系统100基于传感器112收集的数据确定HMD 102和控制器104在第一时间点处相对于彼此位于特定的位置和取向处。在第二时间点处,跟踪环境106中的畸变可能使EMT系统100不能将HMD 102和控制器104的位置和取向确定到可接受的准确度。因此,基于来自IMU 142、IMU 144的测量获得的取向、运动方向、速度和/或加速度信息可以用于确定HMD 102和控制器104从第一时间点到第二时间点的位置变化。以这种方式,如下面更详细描述的,来自不同定位系统的不同数据可以一起使用,以提供对HMD 102和控制器104的位置和取向的准确确定。
传感器112和发射器114的位置和取向(例如,HMD 102和控制器104的位置和取向)可以使用SLAM技术来确定,所述SLAM技术考虑由传感器112获得的数据(例如,与由发射器114生成的测量磁场有关)、与由发射器114生成的磁场有关的信息、从光学跟踪设备120、130获得的数据和/或由IMU 142、IMU 144获得的数据以及其他数据。图2示出了SLAM畸变校正系统200的示意图,SLAM畸变校正系统200包括SLAM模块210、电磁(EM)跟踪器230和补偿算法240等,SLAM模块210包括扩展卡尔曼滤波器(EKF)220。EM跟踪器230可以是EMT系统,或者可以被包含为例如图1的EMT系统100的EMT系统的部件。例如,如下面更详细描述的,EM跟踪器230可以被配置成与以上关于图1描述的EMT系统100的一个或更多个部件交互和/或可以包括所述EMT系统100的一个或更多个部件。
SLAM畸变校正系统200被配置成从EKF 220和EM跟踪器230收集一个或更多个数据帧,并处理数据以提供畸变模型。例如,畸变模型可以由补偿算法240基于所提供的数据帧和其他数据来确定,然后畸变模型可以由EM跟踪器230用来补偿畸变(例如,在确定HMD 102和/或控制器104的位置和取向的后续迭代中)。同时,SLAM畸变校正系统200特别是EKF 220被配置成基于包括可用的畸变模型的所有可用数据来提供HMD 102和/或控制器104的估计位置和取向(例如,估计姿势)。当每个新的数据帧从EKF 220和EM跟踪器230到来时,可以基于最新的n个数据由补偿算法240计算新的(例如,更新的)畸变模型,其中,取决于考虑所需的校正量、时间、计算能力等的具体实现,n可以是一个或更多个。
如上所述,HMD 102和控制器104相对于彼此和/或相对于跟踪环境106的位置和取向可以使用图1的EMT系统100来确定。SLAM畸变校正系统200采用类似的EMT系统,其包括至少HMD 102的磁传感器112、控制器104的磁发射器114和EM跟踪器230。EM跟踪器230可以是计算机系统和/或可以是被配置成在计算机系统(例如,单独的计算机系统)上操作和/或执行的软件元件。EM跟踪器230被配置成与传感器112和发射器114通信(例如,通过连接进行无线通信)。例如,EM跟踪器230被配置成使控制器104的发射器114以上述方式生成磁场。特别地,EM跟踪器230被配置成向发射器114提供指令以使发射器114生成具有特定特征的三个正交正弦磁场。在一些实现中,包含到控制器104中的电路可以被配置成使发射器114生成磁场(例如,通过驱动电流通过发射器114的线圈)。
由HMD 102的传感器112感测发射器114所生成的磁场。感测磁场使得在传感器112的线圈中感应出电压。EM跟踪器230被配置成从传感器112接收数据(例如,以表示和/或包括感应电压的电信号的形式)并且将数据解析成传感器112相对于发射器114的位置和取向(例如,HMD 102相对于控制器104的位置和取向),反之亦然。由EM跟踪器230确定的传感器112和发射器114的位置和取向(例如,有时被称为EM姿势)被提供给EKF 220。如上所述,EM姿势可以包括由发射器114生成并由传感器112感测的磁场的畸变引起的误差。因此,从传感器112提供给EM跟踪器230的数据有时被称为畸变场数据。换句话说,提供给EM跟踪器230的传感器数据表示基于可能具有畸变(例如,由于跟踪环境106中存在导电物体)的感测磁场的传感器112的位置和取向。因此,提供给EM跟踪器230的传感器数据可能不会提供HMD102和/或控制器104的真实位置和取向。
在一些实现中,来自传感器特征化部件202(例如,位于HMD处)的传感器特征化数据和/或来自发射器特征化部件204(例如,位于控制器104处)的发射器特征化数据也可以被提供给EM跟踪器。这样的特征化数据可以包括可以在确定传感器112和发射器114的位置和取向期间使用的校准数据(例如,传感器和/或发射器校准数据)。在一些实现中,发射器特征化数据包括EM跟踪器230可以用来校正由发射器114生成的磁场的特性的信息。类似地,在一些实现中,如下面更详细描述的,传感器特征化数据包括EM跟踪器230可以用来校正传感器112对生成的磁场的响应(例如,传感器112提供的信号)的信息。
还向EKF 220提供除了EM姿势以外的EKF 220可以使用以确定HMD 102和控制器104的估计姿势的另外的数据。例如,来自一个或更多个光学传感器206的数据可以被提供给特征提取部件208,并且特征提取部件208尤其可以确定与HMD 102和/或控制器104的位置和/或取向有关的信息。特征提取部件208向EKF 220提供这样的位置和/或取向信息。
在一些实现中,光学传感器206包括一个或更多个光学跟踪设备(例如,相机)。例如,光学传感器206可以包括图1的全局光学跟踪设备120和/或局部光学跟踪设备130。特别地,全局光学跟踪设备120可以用作大容量跟踪器,其被配置成在地面实况空间中跟踪HMD102和/或控制器104(例如,通过直接观察)。这种地面实况数据可以与相对高的准确度相关联。可以大量地使用局部光学跟踪设备130来接收由特征提取部件208出于地标和/或特征检测目的而使用的视觉(例如,光学)数据,并且在一些实现中,还可以使用局部光学跟踪设备130在地面实况空间中跟踪HMD 102和/或控制器104。
特征提取部件208被配置成从光学传感器206接收数据(例如,视觉/光学数据),并基于这样的数据确定HMD 102和/或控制器104的位置和/或取向。例如,全局光学跟踪设备120的位置(例如,在跟踪环境106中的已知位置处)和局部光学跟踪设备130的位置(例如,在HMD 102处)可以是特征提取部件208已知的。特征提取部件208使用光学跟踪设备120、130的已知位置以及由光学跟踪设备120,130提供的视觉数据来确定HMD 102和/或控制器104的位置和/或取向(例如,有时被称为光学姿势)。特征提取部件208向EKF 220提供光学姿势。
在一些实现中,特征提取部件208的功能可以被包含到光学传感器206中。以这种方式,光学传感器206可以获得视觉数据并处理视觉数据以确定HMD和/或控制器104的光学姿势。在这种实现中,光学传感器206可以将光学姿势直接提供给EKF 220。
在一些实现中,一个或更多个另外的传感器还可以向EKF 220提供可以用于辅助HMD 102和控制器104的位置和取向跟踪的数据。可以向EKF 220提供数据的其他传感器技术的示例可以包括超声传感器和/或射频(RF)传感器(例如,WiFi、UWB等)等。
EKF 220还接收来自HMD 102的IMU 142和控制器104的IMU 144的惯性数据,EKF220可以使用该惯性数据(例如,与上文和下文中描述的其他接收数据一起)以确定HMD 102和控制器104的估计姿势。由IMU 142、IMU 144提供的数据可以用于确定HMD 102和/或控制器104的取向、运动方向、速度和/或加速度,并且确定的取向、运动方向、速度和/或加速度可以用于确定HMD 102和/或控制器104随时间的位置变化。例如,如果基于其他数据(例如,由EM跟踪器230和/或特征提取部件208提供)已知HMD 102和/或控制器104的姿势,则可以基于由IMU 142、IMU 144提供的惯性数据确定后续姿势。在一些实现中,IMU 142、IMU 144可以向EKF 220提供经历了另外的处理的惯性数据。例如,IMU 142、IMU 144可以向EKF 220提供指示HMD 102和/或控制器104的位置和/或取向的数据(例如,而不是提供用于后续处理的特定的力、角速率、速度和/或加速度)。这种经处理的惯性数据有时被称为惯性姿势。
EKF 220从EM跟踪器230接收EM姿势、从特征提取部件208接收光学姿势、从IMU142、IMU 144接收惯性数据/惯性姿势以及在一些实现中从另外的传感器接收另外的数据,并且计算HMD 102相对于控制器104的估计姿势。估计姿势是不同传感器数据的融合,其中EM姿势是单个。如上所述,在一些环境中,由于畸变效应,EM姿势不准确,其中,随着传感器112与发射器114之间的距离增加,有时会出现较大的不准确性。因此,估计姿势比单独的EM姿势更准确。SLAM模块210和EKF 220通常是包括被配置成在一个或更多个计算机系统上运行的算法的软件部件。在一些实现中,SLAM模块210和/或EKF 220可以包括一个或更多个计算元件,例如GPU、FPGA等。在一些实现中,SLAM模块210和/或EKF 220可以包括使得SLAM模块210和/或EKF 220能够与一个或更多个其他计算元件和/或计算块通信的通信接口(例如,无线通信接口)。
EKF 220是对当前均值和协方差的估计进行线性化的卡尔曼滤波器的非线性版本。也被称为线性二次估计的卡尔曼滤波是一种使用随时间观察到的包含统计噪声和其他不准确性的一系列测量并提供趋于比单独基于单个测量的那些更准确的对未知变量的估计的算法。该算法分两步进行。在预测步骤中,EKF 220产生对当前状态变量及其不确定性的估计。一旦观察到下一次测量的结果(例如,必然包括一些误差量,包括随机噪声),则使用加权平均值对估计进行更新,其中,对具有较高确定性的估计给出较大的权重。该算法是递归的,并且可以使用当前输入测量和先前计算的状态及其不确定性矩阵实时运行。
EKF 220将HMD 102相对于控制器104的估计姿势提供给缓冲器250,缓冲器250被配置成存储针对估计姿势的1到n个数据帧。在所示的示例中,缓冲器250是先进先出(FIFO)缓冲器。当估计姿势的每个新帧在时间t1处进入缓冲器250时,从缓冲器250中移除估计姿势的第n帧,将估计姿势的最近的n个帧留在缓冲器250中。估计姿势的帧数n通常是相对小的数量(例如,1-3),以使补偿算法240的计算工作量最小化,然而在一些实现中,n可以较大。
估计姿势的每个帧被提供给估计清洁场部件260。每个帧包括3个位置分量和3个取向分量。估计清洁场部件260还从传感器特征化部件202接收传感器特征化数据并且从发射器特征化部件204接收发射器特征化数据。使用接收的特征化数据并基于从缓冲区250接收的估计姿势,估计清洁场部件260确定对应于各个估计姿势的估计清洁磁场。换句话说,估计清洁场部件260考虑估计姿势并且确定特定磁场,该特定磁场在被传感器112感测到时将使EM跟踪器230将HMD 102和控制器104的姿势识别为估计姿势(例如,其比EM姿势更准确,其通常包括由畸变效应引起的误差)。估计清洁场可以根据本领域的技术人员已知的技术确定,所述技术例如为在Quaternion and Rotation Sequences,Jack B.Kuipers——其全部内容通过引用并入本文——中描述的技术。
EM跟踪器230将畸变场提供给缓冲器270,缓冲器270被配置成存储针对畸变场的1到n个数据帧。每个帧数据包括9个磁场测量。在所示的示例中,缓冲器270是先进先出(FIFO)缓冲器。当畸变场的每个新帧在时间t1处进入缓冲器270时,从缓冲器270中移除畸变场的第n帧,将畸变场的最近的n个帧留在缓冲器270中。畸变场的帧数n与缓冲器250的帧数相同,其中,缓冲器270中的畸变场的每个帧在时间上对应于存储在(或预先存储在)缓冲器250中的估计姿势。
缓冲器250向补偿算法240提供n帧的估计姿势。估计清洁场部件260向补偿算法240提供n帧的估计清洁场。所提供的估计清洁场中的每一个在时间上对应于n帧的估计姿势中的相应一个。缓冲器270向补偿算法240提供n帧的畸变场。
补偿算法240被配置成将畸变模型拟合到接收数据,并使用畸变模型来预测和消除畸变。拟合、预测和移除可以实时执行。在一些实现中,畸变模型可以基于例如在美国专利公开第US2009/00485095号中描述的图像理论。在一些实现中,这种畸变模型可以使得能够对混凝土结构中使用的钢盘进行建模。例如矩形环网格的其他模型可以对掉落的天花板进行建模。另外的其他模型可以具有如本领域的技术人员已知的偶极子、环和/或球谐波的外观,例如在Mathematical Methods for Physicists,第4版,Arfken和Weber——其全部内容通过引用并入本文——中描述的。这些模型可能需要最少的数据来构造畸变补偿。例如,偶极子模型具有六个参数:位置(x,y,z)、取向(方位角,仰角)和增益。矩形环模型具有九个参数:位置(x,y,z)、取向(方位角,仰角,侧倾角)、长度、宽度和增益。球谐函数有11个或更多个参数。如下面更详细描述的,补偿算法240可以利用例如非线性估计器的回归技术来计算畸变模型。
在补偿算法240将畸变模型拟合到接收数据之后(例如,基于估计姿势、畸变场和估计清洁场),在当前的估计姿势(例如,在t1处的估计姿势的帧)处评估畸变模型。特别地,畸变模型用于估计在对应于当前估计姿势的时间处存在于跟踪环境106中的畸变场。估计的畸变场可能是由以上描述的各种畸变源中的一个或更多个畸变源引起的。
补偿算法240向EM跟踪器230提供估计的畸变场,并且EM跟踪器230基于估计的畸变场确定改进的EM姿势。在一些实现中,补偿算法240可以向EM跟踪器230提供畸变模型,并且EM跟踪器230可以估计畸变场。在一些示例中,EM跟踪器230在确定EM姿势(例如,后续的EM姿势帧)时考虑估计的畸变场。换句话说,因为EM跟踪器230现在可以利用关于跟踪环境106中存在的畸变场的另外的信息(基于在t1处的估计姿势的帧),所以EM跟踪器230可以使用估计的畸变场来校正从传感器112获得的未来数据。可以在后续接收的传感器数据中补偿这种估计的畸变场,并且与先前提供的EM姿势(例如,其可能不具有通过畸变模型进行补偿的益处,和/或其可以通过相对较少精化的畸变模型进行补偿)相比,在后续的迭代中向EKF 220提供的后续EM姿势可以更准确。在一些实现中,可以从后续接收的传感器数据中减去估计的畸变场。改进的EM姿势可以使EKF 220针对后续的迭代提供更准确的估计姿势,并且估计姿势的准确度可以随每次迭代而继续提高。
虽然在后续的迭代中向EKF 220提供改进的EM姿势,但是对于每次迭代,EM跟踪器230继续向缓冲器270提供畸变场(例如,基于从传感器112接收的未改变的数据)。换句话说,不基于从补偿算法240接收的估计的畸变场来校正提供给缓冲器270的场数据。以这种方式,畸变模型可以通过补偿算法240继续被精细化(例如,基于跟踪环境106中的条件的变化、跟踪环境106中的部件的移动等)。
图3示出了说明由图2的补偿算法240执行的操作的流程图。补偿算法240从缓冲器270接收n个畸变场并且从估计清洁场部件260接收n个估计的清洁场。接收的数据可以是3×3矩阵的形式,其表示由发射器114的线圈的三次激励引起的来自传感器112的三个感应电压。取n组3×3矩阵中的各组之间的差异(例如,取n个场差310)以提供n个估计的畸变数据组。畸变数据表示由跟踪环境106引起的畸变。补偿算法240接收n个估计姿势和n个估计的畸变数据组,并且用于最小化的畸变模型320将n个估计姿势和n个估计的畸变数据组包含到畸变模型公式中。畸变模型可以是许多中的任一个,例如以上描述的畸变模型之一(例如,偶极子、环、球谐波等)。在一些实现中,使用固定的畸变模型。在一些实现中,可以根据畸变模型多大程度地与畸变数据拟合来调整畸变模型。在一些实现中,可以使用多个畸变模型。
非线性最小二乘算法330使用畸变模型和畸变数据来确定对模型参数的最佳拟合。在一些实现中,非线性最小二乘算法330可以是Levenberg-Marquardt(LM)类型。非线性最小二乘算法330可以要求所使用的特定畸变模型的参数的数量小于或等于数据组的数量(例如,n)。对于每组数据,存在九个数据元素。因此,偶极子和矩形环模型都可以用于畸变模型。另外的(例如,一致的)数据可以产生超定解,并且通常产生较好的结果。因此,在n=3的情况下,存在27个数据元素,其可以拟合单个复杂模型(例如,球谐波)或多个较简单的模型(例如,偶极子、环)。
基于由非线性最小二乘算法330提供的对模型参数的最佳拟合来执行模型选择340。模型选择340可以用于选择或评估各种预定义的畸变模型。特别地,非线性最小二乘算法330生成拟合优度值(例如,在其参数计算结束时)。拟合优度可以用于评估畸变模型拟合畸变的能力。可以通过模型选择340来比较多个模型,并且可以选择最佳的模型以供使用。在一些实现中,可以缓慢地引入增加复杂度的模型(例如,串联),直到拟合优度满足预定阈值(例如,阈值)或直到潜在模型被耗尽。随着时间推移,模型选择340可以用于确定全局模型。例如,通过跟踪被接受使用的模型,模型选择340可以评估模型历史并确定其他(例如,另外的)全局模型是否可用。
一旦选择了特定畸变模型并且通过非线性最小二乘算法330识别模型参数,则使用模型参数来计算估计的畸变场350(例如,由环境畸变引起的)。通过在对应于t1的估计姿势处评估畸变模型及其参数来计算估计的畸变场。如上面关于图2所描述的,补偿算法240向EM跟踪器230提供估计的畸变场。估计的畸变场作为九个值的组(例如,3×3矩阵)被提供,其中在处理之前从传感器112的后续读数中减去该九个值的组以产生改进的EM姿势。该过程可以重复,从而继续提供具有提高的准确度的改进的EM姿势。
再次参照图2,在一些实现中,EKF 220可能不能使用一种或更多种类型的数据。在这种情况下,EKF 220根据可用数据继续提供估计姿势。例如,在一些实现中,HMD 102和/或控制器104可能对光学传感器206是不可见的。因此,可能在一段时间内不向EKF 220提供光学姿势。尽管如此,EKF 220可以基于由EM跟踪器230提供的数据和/或由IMU 142、IMU 144提供的数据继续提供估计的姿势。在一些实现中,EKF 220可以提供对估计的姿势的速度和/或加速度的估计,并且这样的估计使得EKF 220能够推断未来的估计姿势。使用这种推断的未来的估计姿势,在某种程度上仍然可以对畸变场进行补偿。
图4示出了SLAM畸变校正系统400的另一示例的示意图。SLAM畸变校正系统400可以类似于图2的SLAM畸变校正系统200。在图4所示的示例中,提供了场差部件402来代替补偿算法240。此外,在图4所示的示例中省略了缓冲器250、270,然而在一些实现中,可以提供一个或更多个缓冲器。
图4的SLAM畸变校正系统400可以按原样使用来自EKF 220和估计清洁场部件260的数据(例如,不计算畸变模型并且不估计畸变场)。因此,可能不需要另外的数据处理。在一些实现中,SLAM畸变校正系统400可能需要针对每一帧的最新数据来得到场差。例如,因为这样的实现不包括畸变模型,所以存在较少的用以利用的历史记录。
场差部件402被配置成从估计清洁场部件260接收估计的清除场并且从EM跟踪器230接收畸变场。接收的数据可以是3×3矩阵的形式,其表示由发射器114的线圈的三次激励引起的来自传感器112的三个感应电压。计算估计的清洁场与畸变场之间的差异。差异表示由跟踪环境106引起的畸变。
场差部件402向EM跟踪器230提供场差,并且EM跟踪器230基于场差确定改进的EM姿势(例如,后续的EM姿势帧)。例如,提供给EM跟踪器230的场差表示在对应于估计姿势(例如,由EKF 220确定)的估计的清洁场与由EM跟踪器230最初提供的畸变场之间存在的误差。可以从自传感器112接收的未来的畸变场数据中减去场差,以补偿畸变的影响。与先前提供的EM姿势(例如,其可能不具有通过场差部件402进行补偿的益处)相比,在后续的迭代中提供给EKF 220的后续EM姿势可以更准确。改进的EM姿势可以使EKF 220针对后续的迭代提供更准确的估计姿势,并且估计姿势的准确度可以随每次迭代而继续提高。虽然在后续的迭代中,向EKF 220提供改进的EM姿势,但是EM跟踪器230继续向场差部件402提供畸变场(例如,基于从传感器112接收的未改变的数据)。换句话说,不基于从场差部件402接收的场差来校正提供给场差部件402的场数据。
关于图2和图4描述的EM跟踪器230被提供为与EKF 220分开的部件。SLAM模块210的这种实现有时被称为松耦合。通常,传感器和处理部件的松耦合融合依赖于从传感器(或传感器模态)获取不同的处理传感器输出并试图形成感测问题的复合解。在EM跟踪器230被提供成与EKF 220分开的情况下,EM跟踪器230接收来自传感器112的读数(例如,原始传感器读数),将传感器读数解析成位置和取向数据(例如,EM姿势),并且向EKF 220提供位置和取向数据,在EKF 220中,位置和取向数据与其他数据一起被处理以提供估计姿势。在紧耦合系统中,向EKF 220提供传感器112的不同原始输出。以这种方式,EM跟踪器230的功能可以被包含到EKF 220中。如下面更详细描述的,EKF 220可以基于所有传感器输出形成解(例如,估计姿势)。
也可以以紧耦合的方式实现其他传感器模态。例如,不是将光学传感器206的输出解析成光学姿势并且将光学姿势提供给EKF 220,而是可以将来自光学传感器206的不同原始输出提供给EKF 220,并且可以由EKF 220使用来自光学传感器206的原始输出来确定估计姿势。类似地,不是HMD 102的IMU 142、IMU 144和控制器104向EKF 220提供惯性姿势,而是IMU 142、IMU 144可以向EKF提供惯性数据的不同原始输出(例如,惯性原始数据),并且可以由EKF 220使用来自IMU 142、IMU 144的原始输出来确定估计姿势。
在一些实现中,一个或更多个部件的模型被包含到EKF 220中。例如,对应于EM跟踪器230的模型、对应于光学传感器206的模型和/或对应于IMU 142、IMU 144的模型可以被包含到EKF 220中。可以使用这些模型基于不同的原始传感器输出最终提供估计姿势。紧耦合系统中的反馈在EKF 220内部,并且可以用于校正一个或更多个感测缺陷(例如,诸如IMU142、IMU 144的偏差等)。紧耦合系统的一个优点是可以减小系统的带宽,这又增加了系统的信噪比(SNR)。紧耦合系统通常也较难以干扰,因为所有原始传感器数据被集成到EKF220的一个(例如,单个)过程中。通常,紧耦合系统可以在存在畸变的情况下改善性能,因为一些传感器可以帮助补偿其他传感器的不足(例如,一些传感器可以帮助收紧松弛)。例如,当EM跟踪变得不可靠时,可以大量使用来自光学传感器206和/或IMU 142、IMU 144的数据来解析估计姿势;当光学跟踪变得不可靠时(例如,由于HMD 102或控制器104不可见),可以大量使用来自传感器112和/或IMU 142、IMU 144的数据来解析估计姿势。在一些实现中,在紧耦合系统中能够观察到更多滤波器状态,因此,滤波器可以提供更稳定的输出。
有时不会清楚地描绘紧耦合融合和松耦合融合。例如,从其中EKF 220的每个输入是来自独立设备的所有松耦合系统到其中所有传感器向EKF 220提供原始输出的完全紧耦合的系统的各种实现都是可能的。取决于特定的实现和特定的设计选择/约束,一些传感器与其他传感器相比可能被较多地耦合或被较少地耦合。
虽然已经关于图2和图4描述了一些畸变补偿技术,但是代替上述畸变补偿技术或除了上述畸变补偿技术之外的其他畸变补偿技术也是可行的。所采用的特定畸变补偿技术可以取决于应用类型(例如,AR/VR/MR)、处理功率约束(例如,在实际功耗和/或硬件/固件容量方面)和精度要求。在一些实现中,可以使用姿势校正或场校正中的一者或两者执行补偿。换句话说,补偿技术可以提供用于针对后续迭代提供改进的EM姿势的场校正,和/或补偿技术可以提供用于提供改进的EM姿势的姿势校正。是否使用姿势校正或场校正可以取决于系统的耦合性质(例如,系统的特定实现是紧耦合、松耦合还是介于紧耦合与松耦合之间)。
在一些实现中,畸变补偿技术可以提供HMD 102、控制器104和跟踪环境106的实时映射。为了表征跟踪环境106,可能需要跟踪发射器114的姿势、传感器112的姿势和每个姿势处存在的畸变。每当发射器114改变姿势时,发生与畸变器的新耦合。映射可能需要大约12个输入坐标以满足系统的要求。输入坐标可以包括发射器114的位置和取向以及传感器112相对于发射器114的位置和取向。映射的输出可以是场校正或姿势校正,使得场或姿势对应于非畸变数据。这种映射可以通过离散数据插值方法、神经网络、多级插值等来执行。在一些实现中,补偿技术可以以最小延迟(例如,小于20毫秒)操作并且能够实现相对高的更新速率(例如,每秒超过60次更新)。
在一些实现中,可以构造(例如,稀疏地构造)例如用于姿势或场的径向基函数(RBF)的离散数据插值方法,从而限制补偿所需的数据量。可以管理离散数据,使得在跟踪环境106上发生稀疏数据收集。映射点的收集和接受可以由对应于所采用的畸变补偿技术的一个或更多个处理部件控制。在一些实现中,处理部件还可以被配置成使映射点被适当地添加或删除以改进映射。可以限制针对映射收集的数据量,使得可以实时计算校正。在一些实现中,可以由EKF 220提供与映射数据的充分性有关的反馈。在一些实现中,神经网络和/或深度学习算法可以被配置成学习畸变补偿。
在一些实现中,畸变补偿技术可以涉及在多个频率(例如,两个频率)处运行EM部件(例如,传感器112、发射器114等)以检测EM跟踪器230的性能差异。在一些实现中,畸变补偿技术可以考虑频率范围内的相移或系统响应。这些技术可以确定稍微理想的姿势或场与畸变的姿势或场之间的频率响应的差异,并使用这些差异来校正由EM跟踪器230提供的EM姿势。如上所述可以使用这种校正的映射。
在一些实现中,包含到系统中的畸变补偿方法可以使用上述的两种或更多种畸变补偿技术。例如,可以组合上述技术的多级组合,使得可以以不同的尺度发生全局校正和/或更精细的细节校正。可以使用一个或更多个图像平面进行粗校正,并且可以使用RBF和/或神经网络进行更精细的校正。
在一些实现中,畸变补偿技术可以使用包含先前少量数据帧的衰落存储器来构建补偿。传感器112和/或发射器114的位置、速度和/或加速度相对于彼此从EKF 220已知。如果先前少量数据帧具有可用的补偿数据,则可以使用曲线拟合技术正向推断出补偿数据。如上所述(例如,关于图2的畸变模型和图4的场差),如果没有可用的补偿数据,则可以使用最后的少量数据帧快速计算补偿。
在一些实现中,畸变补偿技术可以在系统启动时执行且随时间改进。在一些实现中,可以在首次进入新环境时(例如,作为校准例程)执行补偿技术。在一些实现中,系统可以针对各种环境保存补偿信息,使得可以重复使用补偿信息。
在一些实现中,对应于所采用的一种或更多种畸变补偿技术的一个或更多个部件(例如,处理部件)可以被包含到EKF 220自身中,或者所采用的一种或更多种畸变补偿技术的功能可以被包含到对应于EKF 220的软件中。以这种方式,畸变补偿过程可以包含在EKF220内或包含在SLAM模块210中的其他地方。
在一些实现中,EKF 220可以生成提供与特定补偿模型多大程度地拟合有关的信息的误差协方差矩阵。误差协方差矩阵可以用于确定残差模型误差。可以评估残差模型误差,使得做出关于整体跟踪解(例如,估计姿势)的质量的决策。如果估计姿势的质量不令人满意(例如,如果拟合优度不满足预定阈值),则EKF 220可以执行另一次迭代以生成更新的估计姿势,从而重复该过程。另一方面,如果估计姿势的质量令人满意,则该过程继续。
如上所述,各种畸变补偿技术包括评估解的质量(例如,拟合优度)的功能。由于EM跟踪器230与EKF 220的集成(例如,在紧耦合实现中),所以能够获得与整个系统相比的EM跟踪器230的准确性的指示。与整个系统相比的EM跟踪器230的准确性的指示可以用于通过将残差模型误差映射到用户输出中来提供EM解指示符的质量,使得用户知道EM跟踪器230的准确性何时劣化。
图5是确定磁传感器相对于磁发射器(例如,图1、图2和图4的磁传感器112和磁发射器114)的估计姿势和改进的EM姿势的示例性过程500的流程图。
在步骤502处,从磁传感器接收信号。例如,磁发射器被配置成生成磁场,并且磁传感器被配置成基于在磁传感器处接收的磁场的特性对信号进行响应。由磁发射器生成的磁场可以是具有一个或更多个特定频率的三个正交正弦磁场。信号可以由一个或更多个计算机系统接收。
在步骤504处,基于从磁传感器接收的信号确定磁传感器相对于磁发射器的电磁(EM)姿势。例如,从磁传感器接收的信号可以被解析成磁传感器相对于磁发射器的位置和取向(例如,其中包含有磁传感器的HMD相对于其中包含有磁发射器的控制器的位置和取向),反之亦然。EM姿势可以包括例如由磁发射器生成并由磁传感器感测的磁场的畸变所引起的误差(例如,位置和/或取向误差)。
在一些实现中(例如,在包括一个或更多个松耦合方面的系统中),EM姿势可以由EM跟踪器确定。例如,EM跟踪器可以从磁传感器接收信号,并基于接收的信号以及传感器和发射器特征化数据确定EM姿势。然后,如在本文中描述的,EM跟踪器可以向EKF提供EM姿势。
在一些实现中(例如,在包括一个或更多个紧耦合方面的系统中),磁传感器可以向EKF提供信号,并且EKF可以确定EM姿势。以这种方式,EKF可以包括用于将来自磁传感器的不同原始输出转换成EM姿势的功能。
在步骤506处,基于与磁发射器和磁发射器相关联的惯性数据确定磁传感器相对于磁发射器的惯性姿势和/或基于与磁发射器和磁传感器相关联的光学数据确定磁传感器相对于磁发射器的光学姿势。
在一些实现中,可以从与磁传感器相关联的IMU和与磁发射器相关联的IMU(例如,包含到HMD和控制器中的IMU)接收惯性数据。惯性数据可以用于确定磁传感器相对于磁发射器的姿势。基于惯性数据确定的姿势在本文中称为惯性姿势。在一些实现中,惯性数据可以被提供给单独的部件,并且该单独的部件可以基于惯性数据确定惯性姿势。
在一些实现中,可以从与磁传感器相关联的IMU和与磁发射器相关联的IMU(例如,包含到HMD和控制器中的IMU)接收惯性数据。惯性数据可以用于测量特定的力和/或角速率,其可以用于确定IMU(或包含有IMU的对象)的速度和/或加速度、其取向和其运动方向中的一个或更多个。所确定的速度和/或加速度可以用于确定IMU随时间的位置变化。这种惯性数据在本文中被称为惯性原始数据。
在一些实现中,由一个或更多个光学传感器(例如,相机)获得视觉/光学数据并且该数据用于确定磁性传感器相对于磁性发射器的位置和取向。一个或更多个光学传感器可以包括大容量跟踪器,其被配置成在地面实况空间中跟踪HMD和控制器。基于光学数据确定的姿势在本文中被称为光学姿势。
在步骤508处,基于EM姿势和惯性姿势和/或惯性原始数据和/或光学姿势确定磁传感器相对于磁发射器的估计姿势。例如,卡尔曼滤波(例如,扩展卡尔曼滤波(EKF))可以基于EM姿势和惯性姿势和/或惯性原始数据和/或光学姿势来确定估计姿势。估计姿势是基于所有可用数据对磁传感器相对于磁发射器的位置和取向的估计。换句话说,估计姿势是不同的传感器数据的融合,其中EM姿势是单个。由于跟踪环境中可能存在畸变,估计姿势通常比单独的EM姿势更准确。
在步骤510处,基于EM姿势确定畸变磁场。例如,使用从磁传感器接收的数据确定畸变磁场。因为EM姿势可能包括由磁发射器生成并由磁传感器感测的磁场的畸变引起的误差,所以由磁传感器提供的数据有时被称为畸变场数据。可以考虑表示磁传感器相对于磁发射器的EM姿势的畸变场数据以及确定畸变磁场(例如,通过磁传感器感测的包括畸变的磁场)的传感器和发射器特征化数据。
在步骤512处,基于估计姿势确定估计的清洁磁场。例如,因为估计姿势是基于所有可用数据(例如,不同传感器数据的融合)对磁传感器相对于磁发射器的位置和取向的估计,所以它通常比EM姿势更准确。估计姿势以及传感器和发射器特征化数据用于确定对应于估计姿势的估计的清洁磁场。换句话说,估计的清洁磁场被确定为:如果该估计的清洁磁场被磁传感器感测到,将使磁传感器提供表示磁传感器相对于磁发射器的估计姿势的信号。
在步骤514处,基于畸变磁场和估计的清洁磁场确定估计的畸变磁场。在一些实现中,通过获取估计的清洁磁场与畸变磁场之间的差异来计算估计的畸变磁场。以这种方式,差异表示由跟踪环境引起的畸变。
在一些实现中,补偿算法被配置成将畸变模型拟合到畸变磁场、估计的清洁磁场和估计姿势,并使用畸变模型来预测和消除畸变。在一些示例中,在畸变模型被拟合到接收的数据之后,可以在当前估计的姿势处评估畸变模型。特别地,畸变模型可以用于确定在对应于估计姿势的时间处在跟踪环境中存在的估计的畸变磁场。估计的畸变磁场可以由跟踪环境中存在的一个或更多个畸变源产生。在一些实现中,根据补偿算法(例如,其可采用非线性最小二乘算法)来确定估计的畸变磁场。在一些实现中,畸变模型包括偶极子模型、矩形环模型或球谐函数模型中的一个或更多个。
在步骤516处,基于估计的畸变磁场确定磁传感器相对于磁发射器的改进的EM姿势。例如,对于确定磁传感器相对于磁发射器的姿势的下一次迭代,确定改进的EM姿势。在改进的EM姿势在确定磁传感器相对于磁发射器的位置和取向时考虑估计的畸变磁场的意义上,改进的EM姿势相对于先前确定的EM姿势被改进。例如,预期从磁传感器接收的用于下一次迭代的信号包括由跟踪环境中的畸变引起的误差。然而,如在先前的迭代中所确定的,现在能够获得估计的畸变磁场。因此,在下一次迭代中补偿估计的畸变磁场,并确定改进的EM姿势。继续下一次迭代,可以在确定估计姿势的下一次迭代时考虑改进的EM姿势,其又由于改进的EM姿势的提高的准确性而具有提高的准确度。然而,注意,当在下一次迭代(例如,步骤510的下一次迭代)中确定畸变磁场时,使用未改进的数据(例如,未改进的EM姿势)。换句话说,为了在未来的迭代中确定畸变磁场,使用从磁传感器接收的未改变的数据(例如,当确定畸变磁场时,不基于估计的畸变磁场校正由传感器数据表示的EM姿势)。
如上所述,AR/VR系统和/或EMT系统100可以使用由计算设备执行的软件来操作。该软件可以包括用于执行以上关于图1至图5描述的功能中的一个或更多个功能的可执行代码。在一些实现中,软件被包括在计算机可读介质上以在计算机系统上执行。图6示出了示例计算设备600和示例移动计算设备650(例如,计算机系统),其可以用于实现在本文中描述的技术。例如,EM跟踪器230、畸变补偿技术等可以由计算设备600和/或移动计算设备650控制。计算设备600旨在表示各种形式的数字计算机,包括例如膝上型计算机、桌上型计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。计算设备650旨在表示各种形式的移动设备,包括例如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。这里示出的部件,它们的连接和关系以及它们的功能仅意在为示例,并不意在限制本文档中描述和/或要求保护的技术的实现。
计算设备600包括处理器602、存储器604、存储设备606、连接到存储器604和高速扩展端口610的高速接口608以及连接到低速总线614和存储设备606的低速接口612。部件602、604、606、608、610和612中的每一个使用各种总线互连,并且可以适当地安装在公共主板上或以其他方式安装。处理器602可以处理包括存储在存储器604中或存储设备606上的指令的在计算设备600内执行的指令,以将GUI的图形数据显示在包括例如耦接到高速接口608的显示器616的外部输入/输出设备上。在一些实现中,可以适当地使用多个处理器和/或多个总线以及多个存储器和多种类型的存储器。另外,可以连接多个计算设备600,其中每个设备提供必要操作的一部分(例如,作为服务器库、刀片服务器组、多处理器系统等)。
存储器604将数据存储在计算设备600内。在一些实现中,存储器604是一个或更多个易失性存储器单元。在一些实现中,存储器604是一个或更多个非易失性存储器单元。存储器604还可以是包括例如磁盘或光盘的另一形式的计算机可读介质。
存储设备606能够向计算设备600提供大容量存储。在一些实现中,存储设备606可以是或包含计算机可读介质,包括例如软盘设备、硬盘设备、光盘设备、磁带设备、闪存或其他类似的固态存储设备或包括存储区域网络或其他配置中的设备的设备阵列。计算机程序产品可以有形地体现在数据载体中。该计算机程序产品还可以包含指令,所述指令在被执行时执行包括例如上面描述的那些方法的一种或更多种方法。数据载体是计算机或机器可读介质,包括例如存储器604、存储设备606、处理器602上的存储器等。
高速控制器608管理计算设备600的带宽密集型操作,而低速控制器612管理较低带宽密集型操作。这种功能分配仅是示例。在一些实现中,高速控制器608耦接到存储器604、显示器616(例如,通过图形处理器或加速器),并耦接到高速扩展端口610,高速扩展端口610可以接受各种扩展卡(未示出)。在一些实现中,低速控制器612耦接到存储设备606和低速扩展端口614。可以包括各种通信端口(例如,USB、以太网、无线以太网)的低速扩展端口可以耦接到一个或更多个输入/输出设备,包括例如键盘、指示设备、扫描仪或包括例如交换机或路由器(例如,通过网络适配器)的联网设备。
计算设备600可以以如图6所示的多种不同的形式实现。例如,计算设备600可以实现为标准服务器620,或者被多次实现在一组这样的服务器中。计算设备600还可以实现为机架服务器系统624的一部分。另外或作为替代,计算设备600可以在个人计算机(例如,膝上型计算机622)中实现。在一些示例中,来自计算设备600的部件可以与移动设备(例如,移动计算设备650)中的其他部件组合。这样的设备中的每一个可以包含计算设备600、650中的一个或更多个,并且整个系统可以由彼此通信的多个计算设备600、650组成。
计算设备650包括处理器652、存储器664和包括例如显示器654、通信接口666和收发器668的输入/输出设备以及其他部件。设备650还可以设置有包括例如微驱动器或其他设备的存储设备,以提供另外的存储。部件650、652、664、654、666和668都可以使用各种总线互连,并且若干部件可以适当地安装在公共主板上或以其他方式安装。
处理器652可以执行计算设备650内的指令,包括存储在存储器664中的指令。处理器652可以实现为包括多个不同的模拟和数字处理器的芯片的芯片组。处理器652可以提供例如对设备650的其他部件的协调,包括例如控制用户接口、设备650运行的应用和设备650的无线通信。
处理器652可以通过控制接口658和耦接到显示器654的显示器接口656与用户通信。显示器654可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其他适当的显示技术。显示接口656可以包括用于驱动显示器654以向用户呈现图形和其他数据的适当电路。控制接口658可以从用户接收命令并将它们转换以提交给处理器652。此外,外部接口662可以与处理器642通信,以使设备650能够与其他设备近区域通信。外部接口662例如在一些实现中可以用于有线通信,或者在一些实现中用于无线通信。也可以使用多个接口。
存储器664将数据存储在计算设备650内。存储器664可以实现为一个或更多个计算机可读介质、一个或更多个易失性存储器单元或一个或更多个非易失性存储器单元中的一个或更多个。还可以提供扩展存储器674并且扩展存储器674可以通过可以包括例如SIMM(单列直插存储器模块)卡接口的扩展接口672连接到设备650。这种扩展存储器674可以向设备650提供额外的存储空间,和/或可以存储用于设备650的应用或其他数据。具体地,扩展存储器674还可以包括执行或补充上述过程的指令,并且可以包括安全数据。因此,例如,扩展存储器674可以作为设备650的安全模块被提供,并且可以被编程有允许安全使用设备650的指令。此外,可以通过SIMM卡与另外的数据一起提供安全应用,包括例如以不被黑客攻击的方式将识别数据放置在SIMM卡上。
如下所述,存储器664可以包括例如闪存和/或NVRAM存储器。在一些实现中,计算机程序产品有形地体现在数据载体中。该计算机程序产品包含指令,所述指令在被执行时执行包括例如上面关于补偿畸变所描述的那些方法的一种或更多种方法。数据载体是计算机或机器可读介质,包括例如存储器664、扩展存储器674和/或处理器652上的存储器,其可以例如通过收发器668或外部接口662接收。
设备650可以通过通信接口666无线通信,通信接口666可以在必要时包括数字信号处理电路。通信接口666可以提供各种模式或协议下的通信,包括例如GSM语音呼叫、SMS、EMS或MMS消息、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等。这种通信可以例如通过射频收发器668发生。此外,可以发生包括例如使用WiFi或其他这样的收发器(未示出)的短程通信。另外,GPS(全球定位系统)接收器模块670可以向设备650提供另外的导航和位置有关的无线数据,其可以由在设备650上运行的应用适当地使用。
设备650还可以使用音频编解码器660可听地通信,音频编解码器660可以从用户接收语音数据并将其转换为能够使用的数字数据。音频编解码器660同样可以包括例如通过例如在设备650的手机中的扬声器生成针对用户的可听声音。这种声音可以包括来自语音电话呼叫的声音、记录的声音(例如,语音消息、音乐文件等)以及由在设备650上运行的应用生成的声音。
计算设备650可以以如图6所示的多种不同的形式实现。例如,计算设备650可以实现为蜂窝电话680。计算设备650还可以实现为智能电话682、个人数字助理或其他类似移动设备的一部分。
这里描述的系统和技术的各种实现可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实现可以包括在可编程系统上可执行和/或可解析的一个或更多个计算机程序。这包括可以是专用或通用的至少一个可编程处理器,所述至少一个可编程处理器耦接以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并将数据和指令发送到存储系统、至少一个输入设备和至少一个输出设备。
这些计算机程序(也被称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编语言/机器语言实现。如在本文中所使用的,术语机器可读介质和计算机可读介质是指用于向可编程处理器提供机器指令和/或数据的计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令的机器可读介质。
为了提供与用户的交互,在本文中描述的系统和技术可以在具有用于向用户呈现数据的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以通过其向计算机提供输入的键盘和指示设备(例如,鼠标或轨迹球)的计算机上实现。其他类型的设备也可以用于提供与用户的交互。例如,提供给用户的反馈可以是感觉反馈的形式(例如,视觉反馈、听觉反馈或触觉反馈)。可以以包括声学、语音或触觉输入的形式接收来自用户的输入。
这里描述的系统和技术可以在计算系统中实现,所述计算系统包括后端部件(例如,作为数据服务器)或者包括中间件部件(例如,应用服务器)或者包括前端部件(例如,具有用户接口或Web浏览器的客户端计算机,用户可以通过所述用户接口或Web浏览器与这里描述的系统和技术的实现进行交互)或者这种后端部件、中间件部件或前端部件的组合。系统的部件可以通过数字数据通信的形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(LAN)、广域网(WAN)和因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端服务器关系的计算机程序而产生。
在一些实现中,在本文中所描述的部件可以被分离、组合或包含到单个或组合的部件中。附图中描绘的部件不旨在将本文中描述的系统限制为附图中所示的软件架构。
已经描述了许多实施方式。然而,应当理解,在不脱离本公开内容的精神和范围的情况下,可以进行各种修改。因此,其他实施方式在所附权利要求的范围内。
Claims (26)
1.一种系统,包括:
磁发射器,其被配置成生成磁场;
磁传感器,其被配置成基于在所述磁传感器处接收的磁场的特性来生成信号;以及
一个或更多个计算机系统,其被配置成:
从所述磁传感器接收所述信号;
基于从所述磁传感器接收的信号确定所述磁传感器相对于所述磁发射器的电磁EM姿势;
以下中的一项或两项:i)基于与所述磁发射器和所述磁传感器相关联的惯性数据确定所述磁传感器相对于所述磁发射器的惯性姿势,或ii)基于与所述磁发射器和所述磁传感器相关联的光学数据确定所述磁传感器相对于所述磁发射器的光学姿势;
基于所述惯性姿势或所述光学姿势中的一者或两者以及所述EM姿势确定所述磁传感器相对于所述磁发射器的估计姿势;
基于所述EM姿势确定畸变磁场;
基于所述估计姿势确定估计的清洁磁场;
基于所述畸变磁场和所述估计的清洁场确定估计的畸变磁场;以及
基于所述估计的畸变磁场确定所述磁传感器相对于所述磁发射器的改进的EM姿势。
2.根据权利要求1所述的系统,其中,所述估计的畸变磁场是根据补偿算法确定的。
3.根据权利要求2所述的系统,其中,所述补偿算法被配置成:
基于所述畸变磁场、所述估计的清洁磁场和所述估计姿势选择畸变模型;
使用非线性最小二乘算法识别所述模型的参数;以及
基于所识别的参数计算所述估计的畸变磁场。
4.根据权利要求3所述的系统,其中,所述畸变模型包括偶极子模型、矩形环模型或球谐函数模型中的一个或更多个。
5.根据权利要求1所述的系统,其中,所述估计的畸变磁场是基于所述估计的清洁磁场与所述畸变磁场之间的差异确定的。
6.根据权利要求1所述的系统,其中,所述估计的畸变磁场表示由所述系统正在运行的环境引起的畸变。
7.根据权利要求1所述的系统,其中,所述系统包括以下中的一个或更多个:虚拟现实系统、增强现实系统、混合现实系统或电磁跟踪系统。
8.根据权利要求1所述的系统,其中,从所述磁传感器接收的信号、所述畸变磁场、所述估计的清洁磁场和所述估计的畸变磁场被表示为3×3数据矩阵。
9.根据权利要求1所述的系统,其中,所述估计姿势通过卡尔曼滤波器确定。
10.根据权利要求9所述的系统,其中,所述卡尔曼滤波器是扩展卡尔曼滤波器EKF。
11.根据权利要求10所述的系统,其中,所述EM姿势基于从所述磁传感器接收的信号通过所述EKF来确定。
12.根据权利要求11所述的系统,其中,所述EKF包括用于将来自所述磁传感器的不同原始输出转换成所述EM姿势的功能。
13.根据权利要求12所述的系统,其中,所述惯性数据包括惯性原始数据,并且所述EKF包括用于将所述惯性原始数据转换成所述惯性姿势的功能。
14.根据权利要求13所述的系统,其中,所述系统是紧耦合的。
15.根据权利要求1所述的系统,其中,所述EM姿势由EM跟踪器确定。
16.根据权利要求15所述的系统,其中,所述EM跟踪器向EKF提供所述EM姿势。
17.根据权利要求16所述的系统,其中,所述系统是松耦合的。
18.根据权利要求1所述的系统,其中,所述磁发射器被包含到控制器中,并且所述磁传感器被包含到头戴式显示器HMD中。
19.根据权利要求18所述的系统,其中,所述改进的EM姿势表示所述HMD相对于所述控制器姿势的姿势。
20.根据权利要求19所述的系统,其中,所述改进的EM姿势随所述HMD和所述控制器在跟踪环境中到处移动而被实时地确定。
21.根据权利要求18所述的系统,其中,所述控制器和所述HMD均包括被配置成提供所述惯性数据的惯性测量单元。
22.根据权利要求1所述的系统,还包括被配置成提供所述光学数据的一个或更多个光学传感器。
23.根据权利要求22所述的系统,其中,所述一个或更多个光学传感器包括一个或更多个相机。
24.根据权利要求22所述的系统,其中,所述光学数据用于识别跟踪环境中的一个或更多个特征,并使所识别的特征显示在HMD的屏幕上。
25.根据权利要求1所述的系统,其中,所述EM姿势包括由跟踪环境中所生成的磁场的畸变引起的误差。
26.一种方法,包括:
由一个或更多个计算机系统从磁传感器接收信号,其中,所述磁传感器被配置成基于由磁发射器生成并在所述磁传感器处接收的磁场的特性来生成所述信号;
基于从所述磁传感器接收的信号确定所述磁传感器相对于所述磁发射器的电磁EM姿势;
以下中的一项或两项:i)基于与所述磁发射器和所述磁传感器相关联的惯性数据确定所述磁传感器相对于所述磁发射器的惯性姿势,或ii)基于与所述磁发射器和所述磁传感器相关联的光学数据确定所述磁传感器相对于所述磁发射器的光学姿势;
基于所述惯性姿势或所述光学姿势中的一者或两者以及所述EM姿势确定所述磁传感器相对于所述磁发射器的估计姿势;
基于所述EM姿势确定畸变磁场;
基于所述估计姿势确定估计的清洁磁场;
基于所述畸变磁场和所述估计的清洁场确定估计的畸变磁场;以及
基于所述估计的畸变磁场确定所述磁传感器相对于所述磁发射器的改进的EM姿势。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862627897P | 2018-02-08 | 2018-02-08 | |
US62/627,897 | 2018-02-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110133582A true CN110133582A (zh) | 2019-08-16 |
CN110133582B CN110133582B (zh) | 2023-09-15 |
Family
ID=67309001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910091571.3A Active CN110133582B (zh) | 2018-02-08 | 2019-01-30 | 补偿电磁跟踪系统中的畸变 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11360161B2 (zh) |
CN (1) | CN110133582B (zh) |
CA (1) | CA3031276A1 (zh) |
DE (1) | DE102019201522A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132051A (zh) * | 2019-12-30 | 2021-07-16 | 北方数字化技术公司 | 减少电磁跟踪系统之间的干扰 |
CN113281700A (zh) * | 2021-04-20 | 2021-08-20 | 宜宾学院 | 一种无线电磁定位系统及方法 |
CN114111766A (zh) * | 2020-08-27 | 2022-03-01 | 苹果公司 | 紧凑型多用户多级多目标磁跟踪系统 |
CN117452296A (zh) * | 2023-10-27 | 2024-01-26 | 北京核力同创科技有限公司 | 一种基于六维协助机器人的磁场测量系统和方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10754419B2 (en) * | 2018-07-12 | 2020-08-25 | Google Llc | Hybrid pose tracking system with electromagnetic position tracking |
CN113227879A (zh) * | 2018-10-26 | 2021-08-06 | 奇跃公司 | 用于电磁跟踪的环境电磁失真校正 |
CN113543863A (zh) * | 2019-02-28 | 2021-10-22 | 奇跃公司 | 利用相控阵波束成形对增强现实系统中的发射器进行六自由度跟踪的方法和系统 |
DE102020109121A1 (de) * | 2019-04-02 | 2020-10-08 | Ascension Technology Corporation | Korrektur von Verzerrungen |
US11719850B2 (en) * | 2019-06-20 | 2023-08-08 | Sony Interactive Entertainment Inc. | Detecting and compensating for magnetic interference in electromagnetic (EM) positional tracking |
US10852828B1 (en) * | 2019-07-17 | 2020-12-01 | Dell Products, L.P. | Automatic peripheral pairing with hand assignments in virtual, augmented, and mixed reality (xR) applications |
US11816757B1 (en) * | 2019-12-11 | 2023-11-14 | Meta Platforms Technologies, Llc | Device-side capture of data representative of an artificial reality environment |
CA3121670A1 (en) | 2020-06-12 | 2021-12-12 | Ascension Technology Corporation | Distortion correction for electromagnetic fields using inside-out tracking |
GB2608186A (en) * | 2021-06-25 | 2022-12-28 | Thermoteknix Systems Ltd | Augmented reality system |
WO2023043920A1 (en) * | 2021-09-16 | 2023-03-23 | Penumbra, Inc. | Orienting a moving electromagnetic tracking reference frame via external localizing data on an electromagnetic sensor using imu data |
US11762000B1 (en) * | 2022-06-16 | 2023-09-19 | Penumbra, Inc. | Distortion/interference measurement device for virtual reality environments |
US11947122B1 (en) * | 2022-12-08 | 2024-04-02 | Varjo Technologies Oy | Tracking system and method incorporating selective control of light sources of controller |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6400139B1 (en) * | 1999-11-01 | 2002-06-04 | Polhemus Inc. | Methods and apparatus for electromagnetic position and orientation tracking with distortion compensation |
US20050107687A1 (en) * | 2003-11-14 | 2005-05-19 | Anderson Peter T. | System and method for distortion reduction in an electromagnetic tracker |
CN1839323A (zh) * | 2003-08-04 | 2006-09-27 | 洛克达公司 | 使用空间移位键控(ssk)调制特征图来确定姿态的系统和方法 |
US20070032951A1 (en) * | 2005-04-19 | 2007-02-08 | Jaymart Sensors, Llc | Miniaturized Inertial Measurement Unit and Associated Methods |
CN101125082A (zh) * | 2006-08-15 | 2008-02-20 | 通用电气公司 | 多传感器畸变映射方法和系统 |
CN101299061A (zh) * | 2007-05-03 | 2008-11-05 | 巴塞尔大学 | 用于与磁化率相关的磁场畸变的检测和成像的磁共振方法 |
CN101410724A (zh) * | 2006-03-31 | 2009-04-15 | 皇家飞利浦电子股份有限公司 | 在电磁跟踪系统中进行局部误差补偿的系统 |
US20110077863A1 (en) * | 2009-09-30 | 2011-03-31 | Terrell Michael Brace | Method and system for spectral image celestial navigation |
CN104698401A (zh) * | 2013-10-31 | 2015-06-10 | 阿森松技术公司 | 磁传感器 |
US20150308861A1 (en) * | 2014-04-25 | 2015-10-29 | Purdue Research Foundation | Wireless position sensing using magnetic field of two transmitters |
US20160258782A1 (en) * | 2015-02-04 | 2016-09-08 | Hossein Sadjadi | Methods and Apparatus for Improved Electromagnetic Tracking and Localization |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5831260A (en) | 1996-09-10 | 1998-11-03 | Ascension Technology Corporation | Hybrid motion tracker |
US6147480A (en) | 1997-10-23 | 2000-11-14 | Biosense, Inc. | Detection of metal disturbance |
US6154024A (en) | 1998-05-22 | 2000-11-28 | Honeywell, Inc. | Metal immune magnetic tracker |
US6427079B1 (en) | 1999-08-09 | 2002-07-30 | Cormedica Corporation | Position and orientation measuring with magnetic fields |
US6172499B1 (en) | 1999-10-29 | 2001-01-09 | Ascension Technology Corporation | Eddy current error-reduced AC magnetic position measurement system |
US6528989B1 (en) | 2000-03-21 | 2003-03-04 | Skysense, Ltd. | AC magnetic tracker for operation close to metallic objects |
US6474159B1 (en) | 2000-04-21 | 2002-11-05 | Intersense, Inc. | Motion-tracking |
US6968846B2 (en) | 2002-03-07 | 2005-11-29 | Stereotaxis, Inc. | Method and apparatus for refinably accurate localization of devices and instruments in scattering environments |
US7272467B2 (en) | 2002-12-17 | 2007-09-18 | Evolution Robotics, Inc. | Systems and methods for filtering potentially unreliable visual data for visual simultaneous localization and mapping |
US7321228B2 (en) | 2003-07-31 | 2008-01-22 | Biosense Webster, Inc. | Detection of metal disturbance in a magnetic tracking system |
US7373271B1 (en) | 2004-09-20 | 2008-05-13 | Ascension Technology Corporation | System and method for measuring position and orientation using distortion-compensated magnetic fields |
IL167648A (en) | 2005-03-24 | 2011-01-31 | Elbit Systems Ltd | Hybrid tracker |
EP1998702A2 (en) | 2006-03-29 | 2008-12-10 | Stryker Corporation | Shielded surgical navigation system that determines the position and orientation of the tracked object with real and virtual dipoles |
US8957812B1 (en) | 2010-11-12 | 2015-02-17 | Position Imaging, Inc. | Position tracking system and method using radio signals and inertial sensing |
US9459124B2 (en) * | 2012-03-12 | 2016-10-04 | Sixense Entertainment, Inc. | Electromagnetic tracker (AC) with extended range and distortion compensation capabilities employing multiple transmitters |
JP2013225245A (ja) | 2012-04-23 | 2013-10-31 | Sony Corp | 画像処理装置、画像処理方法及びプログラム |
GB201208088D0 (en) | 2012-05-09 | 2012-06-20 | Ncam Sollutions Ltd | Ncam |
US9832452B1 (en) * | 2013-08-12 | 2017-11-28 | Amazon Technologies, Inc. | Robust user detection and tracking |
US9524434B2 (en) | 2013-10-04 | 2016-12-20 | Qualcomm Incorporated | Object tracking based on dynamically built environment map data |
US9495801B2 (en) * | 2014-05-01 | 2016-11-15 | Microsoft Technology Licensing, Llc | Pose tracking an augmented reality device |
CN104062977B (zh) | 2014-06-17 | 2017-04-19 | 天津大学 | 基于视觉slam的四旋翼无人机全自主飞行控制方法 |
CN104077809B (zh) | 2014-06-24 | 2017-04-12 | 上海交通大学 | 基于结构性线条的视觉slam方法 |
US20160259404A1 (en) | 2015-03-05 | 2016-09-08 | Magic Leap, Inc. | Systems and methods for augmented reality |
EP3165945B1 (de) | 2015-11-03 | 2024-01-03 | Leica Geosystems AG | Oberflächenvermessungsgerät zur bestimmung von 3d-koordinaten einer oberfläche |
CN106679648B (zh) | 2016-12-08 | 2019-12-10 | 东南大学 | 一种基于遗传算法的视觉惯性组合的slam方法 |
US10746815B2 (en) * | 2016-12-22 | 2020-08-18 | Microsoft Technology Licensing, Llc | Magnetic interference detection and correction |
US10746819B2 (en) * | 2017-09-18 | 2020-08-18 | Google Llc | Correcting field distortion in electromagnetic position tracking systems |
-
2019
- 2019-01-24 CA CA3031276A patent/CA3031276A1/en active Pending
- 2019-01-30 CN CN201910091571.3A patent/CN110133582B/zh active Active
- 2019-02-06 DE DE102019201522.0A patent/DE102019201522A1/de active Pending
- 2019-02-08 US US16/271,022 patent/US11360161B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6400139B1 (en) * | 1999-11-01 | 2002-06-04 | Polhemus Inc. | Methods and apparatus for electromagnetic position and orientation tracking with distortion compensation |
CN1839323A (zh) * | 2003-08-04 | 2006-09-27 | 洛克达公司 | 使用空间移位键控(ssk)调制特征图来确定姿态的系统和方法 |
US20050107687A1 (en) * | 2003-11-14 | 2005-05-19 | Anderson Peter T. | System and method for distortion reduction in an electromagnetic tracker |
US20070032951A1 (en) * | 2005-04-19 | 2007-02-08 | Jaymart Sensors, Llc | Miniaturized Inertial Measurement Unit and Associated Methods |
CN101410724A (zh) * | 2006-03-31 | 2009-04-15 | 皇家飞利浦电子股份有限公司 | 在电磁跟踪系统中进行局部误差补偿的系统 |
US20100168556A1 (en) * | 2006-03-31 | 2010-07-01 | Koninklijke Philips Electronics N.V. | System for local error compensation in electromagnetic tracking systems |
CN101125082A (zh) * | 2006-08-15 | 2008-02-20 | 通用电气公司 | 多传感器畸变映射方法和系统 |
CN101299061A (zh) * | 2007-05-03 | 2008-11-05 | 巴塞尔大学 | 用于与磁化率相关的磁场畸变的检测和成像的磁共振方法 |
US20110077863A1 (en) * | 2009-09-30 | 2011-03-31 | Terrell Michael Brace | Method and system for spectral image celestial navigation |
CN104698401A (zh) * | 2013-10-31 | 2015-06-10 | 阿森松技术公司 | 磁传感器 |
US20150308861A1 (en) * | 2014-04-25 | 2015-10-29 | Purdue Research Foundation | Wireless position sensing using magnetic field of two transmitters |
US20160258782A1 (en) * | 2015-02-04 | 2016-09-08 | Hossein Sadjadi | Methods and Apparatus for Improved Electromagnetic Tracking and Localization |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132051A (zh) * | 2019-12-30 | 2021-07-16 | 北方数字化技术公司 | 减少电磁跟踪系统之间的干扰 |
CN113132051B (zh) * | 2019-12-30 | 2024-04-02 | 北方数字化技术公司 | 减少电磁跟踪系统之间的干扰 |
CN114111766A (zh) * | 2020-08-27 | 2022-03-01 | 苹果公司 | 紧凑型多用户多级多目标磁跟踪系统 |
US11965944B2 (en) | 2020-08-27 | 2024-04-23 | Apple Inc. | Compact, multi-user, multi-level, multi-target magnetic tracking system |
CN113281700A (zh) * | 2021-04-20 | 2021-08-20 | 宜宾学院 | 一种无线电磁定位系统及方法 |
CN113281700B (zh) * | 2021-04-20 | 2023-10-31 | 宜宾学院 | 一种无线电磁定位系统及方法 |
CN117452296A (zh) * | 2023-10-27 | 2024-01-26 | 北京核力同创科技有限公司 | 一种基于六维协助机器人的磁场测量系统和方法 |
CN117452296B (zh) * | 2023-10-27 | 2024-04-19 | 国电投核力同创(北京)科技有限公司 | 一种基于六维协助机器人的磁场测量系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US11360161B2 (en) | 2022-06-14 |
CN110133582B (zh) | 2023-09-15 |
US20190242952A1 (en) | 2019-08-08 |
DE102019201522A1 (de) | 2019-08-08 |
CA3031276A1 (en) | 2019-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110133582A (zh) | 补偿电磁跟踪系统中的畸变 | |
US11592512B2 (en) | Method for calibrating a magnetometer | |
US10168159B2 (en) | Magnetometer arrays for inertial navigation, mapping, and drift compensation | |
TWI500003B (zh) | 基於虛擬地標之定位及地圖繪製技術 | |
US10209078B2 (en) | Local perturbation rejection using time shifting | |
EP3859495A1 (en) | Systems and methods for tracking motion and gesture of heads and eyes | |
CN104737205B (zh) | 自适应尺度及/或重力估计 | |
CN110088711B (zh) | 磁干扰检测与校正 | |
CN104662435A (zh) | 确定与用于捕获至少一个图像的捕获装置关联的装置的位置和方向的方法 | |
CN110246182A (zh) | 基于视觉的全局地图定位方法、装置、存储介质和设备 | |
JP2011075563A (ja) | ハンドヘルド測地デバイスによるグラフィクス支援遠隔位置測定 | |
JP6894593B2 (ja) | 差動測定による磁石の位置の追跡方法 | |
CN108897836A (zh) | 一种机器人基于语义进行地图构建的方法和装置 | |
CN109211277A (zh) | 视觉惯性里程计的状态确定方法、装置和电子设备 | |
WO2021036085A1 (zh) | 惯性导航系统的初始对准方法、装置及电子设备 | |
JP2014185996A (ja) | 計測装置 | |
US11187823B2 (en) | Correcting distortions | |
US20230169686A1 (en) | Joint Environmental Reconstruction and Camera Calibration | |
KR20220100813A (ko) | 자율주행 차량 정합 방법, 장치, 전자 기기 및 차량 | |
CN113610702B (zh) | 一种建图方法、装置、电子设备及存储介质 | |
Lopez-Honorez et al. | Biases on cosmological parameters by general relativity effects | |
WO2023140990A1 (en) | Visual inertial odometry with machine learning depth | |
JP5168629B2 (ja) | 方位角計測装置及び方位角計測方法 | |
US20210255703A1 (en) | Methods and systems of a hybrid motion sensing framework | |
CN109186594A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240301 Address after: Rika University Patentee after: NORTHERN DIGITAL Inc. Country or region after: Canada Address before: Vermont, U.S. Patentee before: Ascension Technology Corp. Country or region before: U.S.A. |