CN109099908A - 指向设备位置跟踪的方法、架构、装置、*** - Google Patents

指向设备位置跟踪的方法、架构、装置、*** Download PDF

Info

Publication number
CN109099908A
CN109099908A CN201810641257.3A CN201810641257A CN109099908A CN 109099908 A CN109099908 A CN 109099908A CN 201810641257 A CN201810641257 A CN 201810641257A CN 109099908 A CN109099908 A CN 109099908A
Authority
CN
China
Prior art keywords
signal
acceleration
linear
filter
coordinate system
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
Application number
CN201810641257.3A
Other languages
English (en)
Inventor
布莱恩·奥斯汀·库克
赵展略
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tag Comm Inc
Original Assignee
Idhl Holding Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Idhl Holding Co filed Critical Idhl Holding Co
Publication of CN109099908A publication Critical patent/CN109099908A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/188Compensation of inertial measurements, e.g. for temperature effects for accumulated errors, e.g. by coupling inertial systems with absolute positioning systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/04Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means
    • G01C21/08Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means involving use of the magnetic field of the earth
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/18Stabilised platforms, e.g. by gyroscope
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/185Compensation of inertial measurements, e.g. for temperature effects for gravity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Geology (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Image Analysis (AREA)

Abstract

提供了指向设备位置跟踪的方法、架构、装置、***、设备和计算机程序产品。设备位置跟踪可能依赖于在跟踪***和被跟踪设备坐标系之间保持坐标系对准。执行坐标系对准可以包括确定可以(例如,最好)将在跟踪***处测量的线性位置与在被跟踪设备处测量的线性加速度对准的对准变换。对准变换可以用于对准线性位置和设备坐标系中的任何信号,例如设备坐标系中的角速度、角加速度、角度位置、重力、线性速度、线性位置或磁力中的任意。一旦对准,线性位置和设备坐标系中的这样的信号可以被组合。

Description

指向设备位置跟踪的方法、架构、装置、***
相关申请
本申请要求于2017年6月20日提交的美国临时申请No.62/522,600的权益,其通过引用并入本文。
背景技术
本发明指向通信、运动测量和跟踪领域,软件及其任何组合,并且实施例包括指向设备位置跟踪的方法、架构、装置、***。例如,可以在增强现实(AR)、虚拟现实(VR)、混合现实(MR)、计算机生成图像(CGI)、组合CGI和真实世界图像中的任何一者以及相同类型的环境和/或***中执行这种设备位置跟踪。包括机器人设备、车辆、运动中的人或物体的跟踪等等的设备位置跟踪可以在其他各种环境和/或***中被执行和/或结合其他各种环境和/或***被执行。
附图说明
从下面的详细描述中可以得到更详细的理解,这些描述通过结合附图的示例给出。与详细描述一样,这些附图中的图是示例。同样地,图和详细描述不被认为是限制性的,并且其他同样有效的示例是可能和预期的。此外,图中的相同参考标记(“参考”)表示相同的元件,并且其中:
图1A-1B是示出其中可以实施一个或多个实施例的代表性***的框图;
图2A-2B是示出可以与图1A-1B的***相关联的各种参考坐标系(“坐标系”)的框图;
图3是示出指向被跟踪设备的线性位置和线性加速度的坐标系(frame)对准的代表性过程的框图;
图4是示出指向被跟踪设备的线性位置和角度位置的坐标系对准的代表性过程的框图;
图5示出了使用图2A的对应参考坐标系的图1的代表性***的第一代表性使用情形;
图6示出了使用图2的对应参考坐标系的图1的代表性***的第二代表性使用情形;
图7示出了使用图2的对应参考坐标系的图1的代表性***的第三代表性使用情形;
图8示出了根据实施例的刚体上的点的相对运动;以及
图9示出了根据实施例的代表性DC块滤波器频率响应。
具体实施方式
在以下详细描述中,阐述了许多具体细节以提供对本文公开的实施例和/或示例的透彻理解。然而,将理解的是,可以在没有本文阐述的一些或全部具体细节的情况下实践这样的实施例和示例。在其他情况下,众所周知的方法、程序、组件和电路未被详细描述,以免模糊下面的描述。此外,本文没有具体描述的实施例和示例可替代地以本文明确地、隐含地和/或固有地(统称为“提供”)描述、公开或以其他方式提供的实施例和其他示例来实践,或者与其相结合来实践。
引言
如本文所使用的,术语“位置”可以指代线性位置、角度位置或线性位置和角度位置两者的组合。姿态是线性位置和角度位置组合的常用行业术语。线性位置可以指可以由任何数量的方法定义的位置,包括笛卡尔坐标的三维(3D)矢量、球坐标的3D矢量等。角度位置可以指3D定向,该3D定向可通过包括欧拉角、方向余弦矩阵、四元数、矢量/角度、泡利自旋矩阵、方向+法向量等的任何方法被定义。在下面的描述中,可以用四元数表示角度位置。本领域技术人员将认识到角度位置的其他定义(例如,等同地)适用于结合以四元数表示的角度位置所描述的各种公开实施例和本公开内容的一些或全部,并且可以相应地进行修改而无需过度实验。
为了跟踪具有六(6)个自由度(DOF)的设备,可以使用该设备的线性和角度位置。在一些架构中,跟踪***(例如相机或其他传感器***)可以测量线性位置,并且可以使用设置在被跟踪设备中的惯性测量单元(IMU)来测量角度位置。将与被跟踪设备相关联的设备坐标系(例如,由IMU测量和/或从IMU测量得到的传感器坐标系)和与跟踪***相关联的跟踪***坐标系对准使得这两个测量以有意义的方式而被整合成。由于设备和跟踪***坐标系之间的对准可能由于各种误差(包括IMU漂移等)而随时间而改变,因此在连续、持续或偶然的基础上执行设备和跟踪***坐标系之间的对准的跟踪可能是必要的。
在一些架构中,跟踪***可以能够独立地估计被跟踪设备的角度位置。在其中一些架构中,被跟踪设备可包括IMU。例如,可以包括IMU以提高设备的准确性或响应性。设备坐标系和跟踪***坐标系可以使用两个角度位置估计来对准。在一些其他架构中,跟踪***(例如,相机跟踪设备上的单个标记,诸如照亮的球)可能不能够独立地估计被跟踪设备的角度位置。被跟踪设备的IMU可能是提供角度位置测量的唯一源。
根据本文公开的方法和技术,设备和跟踪***坐标系之间的坐标系对准的跟踪可以在各种***架构中执行,包括例如支持被跟踪设备的IMU作为源(例如,唯一的源)来提供角度位置的测量的架构。坐标系对准可以通过查找或以其他方式确定对准变换(例如旋转、缩放、倾斜、平移和/或透视投影)来执行,对准变换能够(例如,最佳)将由跟踪***测量的线性位置与使用被跟踪设备的IMU测量的线性加速度对准。许多预处理变换可以用于鲁棒地关联这两个测量。预处理变换可以包括:任何时间积分和/或求导;适当的滤波,例如去除噪声和/或防止积分误差的累积);应用刚体方程来补偿所跟踪的物体的几何形状(例如,线性位置跟踪的点与IMU(例如IMU的加速度计)之间的位置偏移)等。根据本文公开的方法和技术,可以执行应用预处理变换并且鲁棒地计算对准变换以及优化公式以(例如,有效地)计算坐标系对准。
概述
如本领域技术人员基于本文的教导将意识到的,涵盖在此描述的实施例而不是限制性的,是指向估计由跟踪***跟踪的设备(“被跟踪设备”)的线性位置和线性加速度(或角度位置)的过程、方法、架构、装置、***、设备和计算机程序产品。在实施例中,在被跟踪设备处本地测量的线性加速度(或角度位置)与在跟踪***处远程测量的被跟踪设备的线性位置对准。对准的线性加速度(或角度位置)和线性位置可以融合在一个公共的坐标系中(对于被跟踪设备和跟踪***坐标系两者都是公共的)。
在实施例中,指向被跟踪设备的线性位置和线性加速度(或角度位置)的坐标系对准的方法可以包括以下任意:在第一坐标系中获得与被跟踪设备相关联的线性加速度(或角度位置);在第二坐标系中获得与跟踪设备相关联的线性位置;将线性加速度(或角度位置)和线性位置变换成分别定义位置变化、速度变化和加速度变化的第一和第二位置信号、第一和第二速度信号以及第一和第二加速度信号中的一者;基于第一和第二位置信号、第一和第二速度信号以及第一和第二加速度信号中的所述一者来确定用于对准第一和第二坐标系的变换;以及使用变换对准线性位置和线性加速度(或角度位置)。
在实施例中,变换可以是以下任意一者:旋转变换、线性位置变换、仅偏航旋转变换、仅俯仰和滚动变换、比例变换、倾斜变换、透视投影变换和非线性变换。
在实施例中,确定变换可以包括以下任意一者:为第一和第二位置信号、第一和第二速度信号或者第一和第二加速度信号求解沃赫拜(Wahba)问题公式;对第一和第二位置信号、第一和第二速度信号或第一和第二加速度信号使用线性拟合模型问题公式;对第一和第二位置信号、第一和第二速度信号或第一和第二加速度信号使用非线性优化搜索;以及使用查找使表示第一和第二位置信号、第一和第二速度信号或第一和第二加速度信号之间的误差的成本函数最小化的“最佳”旋转的任何搜索。
在实施例中,变换可以被应用来对准线性位置和从被跟踪设备的IMU可获得的任何惯性测量,包括角速度、角加速度、角度位置、重力、线性加速度、线性速度、线性位置或磁力(magnetometer)。
在实施例中,第一坐标系可以是地球坐标系、用户坐标系、水平坐标系和任意短期公共坐标系中的任意。在实施例中,第二坐标系可以是地球坐标系、用户坐标系、水平坐标系和任意短期公共坐标系中的任意。在实施例中,第一坐标系和第二坐标系两者都与被跟踪设备的跟踪中心相关联。
在实施例中,将线性加速度和线性位置变换成第一和第二位置信号可以包括以下任意:执行线性加速度的时间积分以获得速度信号,执行速度信号的时间积分以获得位置信号并且使用保留信号变化的一个或多个滤波器对位置进行滤波;以及使用所述一个或多个滤波器来对线性位置进行滤波。
在实施例中,将线性加速度和线性位置变换成第一和第二速度信号可以包括以下任意:执行线性加速度的时间积分以获得第一速度信号并且使用保留信号变化的一个或多个滤波器对第一速度信号进行滤波;以及执行线性位置的时间求导以获得第二速度信号并且使用所述一个或多个滤波器对第二速度信号进行滤波。
在实施例中,将线性加速度和线性位置变换成第一和第二加速度信号可以包括以下任意一者:执行线性位置的时间求导以获得速度信号,执行速度信号的时间求导以获得加速度信号并使用保留信号变化的一个或多个滤波器对加速度信号进行滤波;以及使用所述一个或多个过滤器来对线性加速度进行滤波。
在实施例中,一种方法可以包括以下任意:基于与设备相关联的惯性测量数据获得该设备在公共参考坐标系中的线性加速度;基于与正跟踪所述设备的跟踪***相关联的测量数据来获取所述设备在公共参考坐标系中的线性位置;基于使用保留信号变化的滤波器从线性加速度滤波的信号变化,确定所述设备在所述公共参考坐标系中的第一滤波线性位置;基于使用相同滤波器对线性位置进行滤波来确定所述设备在公共参考坐标系中的第二滤波线性位置;基于第一和第二滤波线性位置,确定用于对准与所述设备相关联的设备坐标系和与跟踪***相关联的跟踪***坐标系的变换;基于(例如,使用)所确定的变换来变换设备坐标系和跟踪***坐标系中的任意一者;以及基于变换来跟踪设备坐标系和跟踪***坐标系之间的坐标系对准。
在实施例中,确定第一滤波线性位置可以包括在对线性加速度进行随时间的积分之前将滤波器应用于线性加速度。在实施例中,确定第二滤波线性位置可以包括在执行线性加速度的积分的同时将滤波器应用于线性位置。在实施例中,确定第一滤波线性位置可以包括在对所得到的线性速度进行随时间的积分之前将滤波器应用于对线性加速度进行积分得到的线性速度。在实施例中,确定第二滤波线性位置可以包括在对所得到的线性速度执行积分的同时将滤波器应用于线性位置。
在实施例中,一种方法可以包括以下任意:基于与设备相关联的惯性测量数据获得所述设备在公共参考坐标系中的线性加速度;基于与正跟踪所述设备的跟踪***相关联的测量数据来获得所述设备在公共参考坐标系中的线性位置;基于使用保留信号变化的滤波器从线性加速度滤波的信号变化,确定设备在公共参考坐标系中的第一滤波线性速度;基于使用相同滤波器从线性位置滤波的信号变化,确定该设备在公共参考坐标系中的第二滤波线性速度;基于第一和第二滤波线性速度,确定用于对准与所述设备相关联的设备坐标系和与跟踪***相关联的跟踪***坐标系的变换;基于所确定的变换来变换设备坐标系和跟踪***坐标系中的任意一者;以及基于变换来跟踪设备坐标系和跟踪***坐标系之间的坐标系对准。
在实施例中,确定第一滤波线性速度可以包括在对线性加速度进行随时间的积分之前将滤波器应用于线性加速度。在实施例中,确定第二滤波线性速度可以包括在获取线性位置的导数之前将滤波器应用于线性位置。
在实施例中,一种方法可以包括以下任意:基于与设备相关联的惯性测量数据获得所述设备在公共参考坐标系中的线性加速度;基于与正跟踪所述设备的跟踪***相关联的测量数据来获取所述设备在公共参考坐标系中的线性位置;基于使用保留信号变化的滤波器对线性加速度进行滤波来确定设备在公共参考坐标系中的第一滤波线性加速度;基于使用相同滤波器从线性位置滤波的信号变化,确定所述设备在公共参考坐标系中的第二滤波线性加速度;基于第一和第二滤波线性加速度,确定用于对准与所述设备相关联的设备坐标系和与跟踪***相关联的跟踪***坐标系的变换;基于(例如,使用)所确定的变换来变换设备坐标系和跟踪***坐标系中的任意一者;以及基于变换来跟踪设备坐标系和跟踪***坐标系之间的坐标系对准。
在实施例中,确定第二滤波线性加速度可以包括在获取线性位置的导数之前将滤波器应用于线性位置。在实施例中,确定第一滤波线性加速度可以包括在对线性位置执行求导的同时将滤波器应用于线性加速度。在实施例中,确定第二滤波线性加速度可以包括在获取所得到的线性速度的导数之前将滤波器应用于通过获取线性位置的导数而得到的线性速度。在实施例中,确定第一滤波线性加速度可以包括在对所得到的线性速度执行求导的同时将滤波器应用于线性加速度。
在实施例中,变换可以是旋转变换、线性变换、仅偏航旋转变换、比例变换、倾斜变换和非线性变换中的任一者。在实施例中,确定变换可基于以下任意一者:求解Wahba问题公式、使用线性拟合模型问题公式、使用非线性优化搜索以及查找使表示第一和第二滤波线性位置之间的误差的成本函数最小化的“最佳”旋转的任何搜索。在实施例中,公共参考坐标系可以是地球坐标系、用户坐标系、水平坐标系和任意坐标系中的任何一个。
在实施例中,该方法还可以包括以下任意:接收或以其他方式获得定义设备坐标系并包括与被跟踪设备相关联的线性加速度的惯性测量数据;从跟踪***接收或以其他方式获得测量数据,其中测量数据包括被跟踪设备相对于跟踪***坐标系的线性位置;通过使用惯性测量数据将设备坐标系旋转到公共参考坐标系,来确定所述设备在公共参考坐标系中的角度位置;以及从设备在公共参考坐标系中的角度位置中去除重力的影响。
在实施例中,设备坐标系可能不与从其获得惯性测量数据的IMU相关联的传感器坐标系对准,并且该方法还可以包括以下任意:确定设备坐标系和传感器坐标系之间的位移;以及基于所确定的位移来调整设备坐标系。
在实施例中,设备坐标系可能不与用于跟踪设备的跟踪点对准,并且该方法还可以包括以下任意:确定设备坐标系和跟踪点之间的位移;以及基于所确定的位移来调整设备坐标系。
在实施例中,跟踪***坐标系可能不和与IMU相关联的第二传感器坐标系对准,该IMU设置在与跟踪***相关联的第二设备中和/或该第二设备上,并且该方法还可以包括以下任意:确定跟踪***坐标系和第二传感器坐标系之间的位移;以及基于所确定的位移来调整跟踪***坐标系。
在实施例中,与第二设备相关联的线性加速度可能不可用,并且该方法还可以包括以下任意:为第二设备选择旋转中心;确定该旋转中心与跟踪***坐标系的原点之间的位移;以及基于所确定的位移来调整跟踪***坐标系。
在实施例中,跟踪***坐标系可能不与第二传感器坐标系对准,并且设备坐标系可能未与传感器坐标系对准,并且该方法还可以包括以下任意:应用刚体方程以将从设备IMU提供的线性加速度转换至跟踪***的跟踪中心;确定该设备上的跟踪中心与设备IMU之间的估计位移;并通过刚体方程将设备IMU的加速度转换为跟踪中心处的加速度。
根据本文提供的方法和技术,跟踪***坐标系和被跟踪设备坐标系可以在不需要磁力计或用户皮重(tare)的情况下对准,该用户皮重针对具有从外向内跟踪和从内向外跟踪两者的虚拟现实(VR)和/或增强现实(AR)***。这些实际***中的方法和技术表现出良好的性能、鲁棒性和计算效率。
为了简化说明,本文(上文和下文)各种公开实施例被描述为利用特定的公共参考坐标系,即地球坐标系。本领域技术人员将认识到,可以利用除地球坐标系以外的公共参考坐标系,并且可以相应地修改本公开内容和各种公开实施例中的一些或全部,而无需过度实验。公共参考坐标系的示例可以包括用户坐标系、水平坐标系和任意坐标系。
代表性***架构
图1A是示出其中可以实施一个或多个实施例的代表性***100的框图。***100可以包括头戴式设备(HMD)102以及从HMD 102被远程定位的设备104。设备104可以独立于HMD102移动(例如,可独立定位和/或可重定位)。设备104(在本文中也称为“远程104”)可以用6个DOF或大于6个DOF进行跟踪。
HMD 102可以被配置为经由设置在HMD 102内或在HMD 102上的显示器向用户提供增强现实(AR)、虚拟现实(VR)、混合现实(MR)、计算机生成图像(CGI)、组合CGI和真实世界图像(统称为“适应的现实(adapted reality)”)体验中的任何一者。远程104可以表现为显示在显示器上的一个或多个物体,例如剑、枪、棒球棒、球拍等,或以其他方式与适应的现实体验相结合使用。
HMD 102可以包括与IMU 108和跟踪***110通信地耦合的处理器106。HMD IMU108可以包括加速度计和陀螺仪。或者,除了加速度计和陀螺仪之外,HMD IMU 108可以包括磁力计。加速度计、陀螺仪和磁力计可以例如分别是三轴加速度计、三轴陀螺仪和三轴磁力计。HMD IMU 108可以输出与由加速度计、陀螺仪和磁力计中的任意进行的测量相对应和/或从其导出的惯性测量(“HMD惯性测量”)。HMD惯性测量可以例如包括分别与加速度计和陀螺仪进行的测量相对应和/或从其导出的线性加速度和角速度测量。HMD惯性测量还可以包括HMD102的角度位置或角度位置的估计(统称为“角度位置”)。或者,HMD 102的角度位置(“HMD角度位置”)可由处理器106使用从HMD IMU 108接收的HMD惯性测量来确定。在实施例中,HMD角度位置可从线性加速度和角速度测量的融合中导出。
跟踪***110可以被配置为跟踪远程104,并且输出与之相关联的跟踪***测量数据。跟踪***测量数据可以包括例如远程104的三维(3D)线性位置。
跟踪***110可以包括被配置为使用各种跟踪信号中的任意来执行对远程104的跟踪的一个或多个相机和/或传感器***。跟踪***110可以被安装或者以其他方式设置在HMD 102中或HMD 102上以允许经由HMD 102的面向外部分(前部)发送和/或接收跟踪信号。跟踪信号可以是射频信号、电磁信号、声学(包括超声波)信号、激光和这些的任何组合等。使用***100的架构执行的对远程104的跟踪在本文可以被称为“从内向外”跟踪。跟踪***110可以仅跟踪远程104A上的单个点(跟踪中心)。
远程104可以包括与IMU 114可通信地耦合的处理器112。远程IMU 114可以包括加速度计和陀螺仪。或者,除了加速度计和陀螺仪之外,远程IMU 114可以包括磁力计。加速度计、陀螺仪和磁力计可以例如分别是三轴加速度计、三轴陀螺仪和三轴磁力计。远程IMU114可以输出分别与由加速度计、陀螺仪和磁力计中的任意进行的测量相对应和/或从其导出的惯性测量(“远程惯性测量”)。远程惯性测量可以例如包括分别与远程IMU 114的加速度计和陀螺仪进行的测量相对应和/或从中导出的线性加速度和角速度测量。远程惯性测量还可以包括远程104的角度位置。或者,远程104的角度位置可以由处理器112使用从远程IMU 114接收的远程惯性测量来确定。在实施例中,远程角度位置可以从线性加速度和角速度测量的融合中导出。
尽管在图1A中仅示出一个可跟踪设备,但***100可包括类似于可跟踪设备104的一个或多个额外的可跟踪设备。每个额外的可跟踪设备可彼此独立地移动和/或独立于可跟踪设备104移动。或者,额外的可跟踪设备104中的一些(例如,不是全部)可以彼此独立地移动,并且额外的可跟踪设备中的一些(例如,不是全部)可以独立于可跟踪设备104移动。如本文所使用的,术语“被跟踪设备”可以表示设备(远程)的主动跟踪,而术语“可跟踪设备”可以表示对设备(远程)的跟踪当前是不主动的。
图1B是示出其中可以实施一个或多个实施例的另一代表性***150的框图。图1B的***150类似于图1A的***100,除了***150可以包括通信地耦合到跟踪***160并且相对于跟踪***160远程定位的HMD 152。HMD 152可以包括与IMU 158通信地耦合的处理器156。处理器156类似于处理器106(图1A),并且HMD IMU 158类似于HMD IMU 108(图1A)。
跟踪***160可以固定安装在HMD152和远程104在其中运行的环境中。或者,跟踪***160可以在HMD 152和远程104正在运行的环境中独立移动(例如,可独立定位和/或可重定位)。
跟踪***160可以被配置为跟踪HMD 152和远程104,并且可以输出与其相关联的跟踪***测量数据。跟踪***测量数据可以包括例如HMD 152和远程104中的每一者的三维(3D)线性位置。跟踪***110可以包括一个或多个相机和/或传感器***,其被配置为使用任意各种跟踪信号来执行HMD 152和远程104的跟踪。跟踪信号可以是射频信号、电磁信号、声学(包括超声波)信号、激光以及它们的任何组合等等。将使用***150的架构执行对HMD152和远程104的跟踪,该跟踪在本文中可称为“从外向内”跟踪。跟踪***160可以仅跟踪HMD 152和远程104中的每一者上的单个点(跟踪中心)。
可以代表HMD IMU 158、108和远程IMU 114中的任意的IMU的进一步细节可以在以下中被发现:2009年4月15日提交的申请序列号12/424,090;2007年6月20日提交的申请序列号11/820,517,2006年12月18日提交的申请序列号11/640,677并且其于2007年8月28日作为美国专利号7,262,760发布,2005年5月2日提交的申请序列号11/119,719并且其于2007年1月2日作为美国专利号7,158,118发布,以及2008年7月1日提交的临时专利申请号61/077,238;其中的每一者通过引用整体并入本文。另外,在2009年4月15日提交的申请序列号12/424,090中可以找到可以代表跟踪***160、110的跟踪***的更多细节。
虽然在图1B中仅示出了一个可跟踪设备,但***150可包括类似于可跟踪设备104的一个或多个额外的可跟踪设备。每个额外的可跟踪设备可彼此独立地移动和/或独立于可跟踪设备104移动。或者,额外的可跟踪设备104中的一些(例如,不是全部)可以彼此独立地移动,并且额外的可跟踪设备中的一些(例如,不是全部)可以独立于可跟踪设备104移动。每个可跟踪/被跟踪设备104和额外的可跟踪/被跟踪设备可以被配置为手持的,或者可选地,可以被设置在(例如,安装到)头部、脚部、机器人、动物或其他任何移动的物体上/内。
图2A是示出可以与***100相关联的各种参考坐标系(“坐标系”)的框图。各种坐标系可以包括地球坐标系201、HMD坐标系202、HMD传感器坐标系208、跟踪***坐标系210、远程坐标系204和远程传感器坐标系214。HMD坐标系202可以与HMD 102相关联,并且可以对应于HMD 102的跟踪点(例如,与HMD 102的跟踪点对准、与HMD 102的跟踪点相距已知偏移等)。HMD传感器坐标系208可以与IMU 108相关联,并且可以对应于IMU 108(例如,与IMU108对准、与IMU 108相距已知偏移等)。跟踪***坐标系210可以与跟踪***110相关联,并且可以对应于跟踪***210(例如,与跟踪***210对准、与跟踪***210相距已知偏移等)。远程坐标系204可以与远程104相关联,并且可以对应于在远程104上的跟踪点(例如,与远程104上的跟踪点对准、与远程104上的跟踪点相距已知偏移等)。远程传感器坐标系214可以是与IMU 114相关联,并且可以对应于IMU 114(例如,与IMU 114对准、与IMU 114相距已知偏移)。术语“传感器坐标系”、“惯性坐标系”和“主体坐标系”是同义的行业术语并且可以在本文中互换使用。
图2B是示出可以与***150相关联的各种坐标系的框图。各种坐标系可以包括地球坐标系201、HMD坐标系252、HMD传感器坐标系258、跟踪***坐标系260、远程坐标系254和远程传感器坐标系264。HMD坐标系252可以与HMD 152相关联,并且可以对应于HMD 152的被跟踪点(例如,与HMD 152的被跟踪点对准、与HMD 152的被跟踪点相距已知偏移等)。HMD传感器坐标系258可以与IMU 158相关联,并且可以对应于IMU 158(例如,与IMU 158对准、与IMU 158相距已知偏移等)。跟踪***坐标系260可以与跟踪***160相关联,并且可以对应于跟踪***260(例如,与跟踪***260对准、与跟踪***260相距已知偏移等)。远程坐标系254可以与远程104相关联,并且可以对应于远程104上的跟踪点(例如,与远程104上的跟踪点对准、与远程104上的跟踪点相距已知偏移等)。远程传感器坐标系264可以与IMU 114相关联,并且可以对应于IMU 114(例如,与IMU 114对准、与IMU 114相距已知偏移等)。
现在参考图3,示出了示出指向被跟踪设备的线性位置和线性加速度的坐标系对准的代表性过程300的框图。为了简化说明,相对于图1A的***100描述了下面结合图3的公开内容。代表性过程300也可以在其他架构中执行。
与跟踪***110和远程104通信的处理器(例如处理器106)可以获得远程104在与远程104相关联的坐标系中的线性加速度(302)。处理器还可以获得远程104在与跟踪***110相关联的坐标系中的线性位置(304)。处理器可以将线性加速度和线性位置变换为第一和第二(即,相应)位置信号,其中的每一者可以定义其对应坐标系中的位置变化(306)。
将线性加速度和线性位置变换成第一和第二位置信号可以按照以下方式执行,不按特定顺序。处理器可以使用保留信号变化的第一滤波器来对线性加速度和线性位置进行滤波。该第一滤波器例如可以是高通滤波器(DC块滤波器),该高通滤波器被配置为从由于运动引起的线性加速度中去除由于重力引起的线性加速度。将第一个滤波器应用于线性加速度会得到滤波的线性加速度,该滤波的线性加速度保留了由于运动引起的线性加速度。将第一滤波器应用于线性位置可使得最终由变换产生的第二位置信号与最终由变换产生的第一位置信号具有可比性,例如保持相同的频率响应、群延迟和其他性质。滤波的线性位置和滤波的线性加速度中的任意一者都可以由处理器进一步处理,例如以去除无关的、异常的(outlier)和/或不期望的分量。
处理器可以执行滤波的线性加速度的时间积分,并且可以使用保留信号变化的第二滤波器对由此产生的信号进行滤波以获得速度信号。第二滤波器可以是被配置为避免积分误差积累的高通滤波器(DC块滤波器),并且可以具有与第一滤波器相同或不同的频率响应。将第二滤波器应用于由对滤波的线性加速度进行积分产生的信号可以实现抑制合成线性速度中的积分误差。处理器可以使用第二滤波器对滤波的线性位置进行滤波以获得中间位置信号。将第二滤波器应用于第二位置信号可以使得最终由变换产生的第二位置信号与最终由变换产生的第一位置信号具有可比性,例如维持相同的频率响应、群延迟和其他性质。速度信号和中间位置信号中的任意一者都可以由处理器进一步处理,例如去除无关的、异常的和/或不期望的分量。
处理器可以执行速度信号的时间积分,并且可以使用保留信号变化的第三滤波器对由此产生的信号进行滤波以获得第一线性位置信号。第三滤波器可以是被配置为避免积分误差积累的高通滤波器(DC块滤波器),并且可以具有与第一和/或第二滤波器相同或不同的频率响应。将第三滤波器应用于由速度信号的积分产生的信号可实现抑制合成第一位置信号中的积分误差。处理器可以使用第三滤波器对中间位置信号进行滤波以获得第二位置信号。将第三滤波器应用于中间线性位置信号可使得由其获得的第二位置信号与最终由变换产生的第一位置信号具有可比性,例如保持相同的频率响应、群延迟和其他性质。第一和第二位置信号中的任意一者都可以由处理器进一步处理,例如以去除无关的、异常的和/或不期望的分量。
在变换之后,处理器可以基于第一和第二位置信号确定用于对准与远程104和跟踪***110相关联的坐标系的变换(308)。处理器可以至少部分地通过以下任意来确定变换:求解第一和第二位置信号的Wahba问题公式;使用第一和第二位置信号的线性拟合模型问题公式;使用对第一和第二位置信号的非线性优化搜索;以及使用查找使表示第一和第二位置信号之间的误差的成本函数最小化的“最佳”旋转的任何搜索。处理器可以使用所确定的变换将线性位置与线性加速度对准(310)。使用这种变换,可以通过将线性位置变换成线性加速度的坐标系或通过将线性加速度变换到线性位置的坐标系来对准信号坐标系。或者,可以对变换进行分解,并且可以将变换的部分应用于两者,例如使用来自线性位置坐标系的旋转(heading),而使用来自线性加速坐标系的倾斜(俯仰和滚动)。
所确定的变换(310)可以被应用来对准线性位置和来自IMU的任何可用信号,包括IMU的角速度、角加速度、角度位置、重力、线性加速度、线性速度、线性位置或磁力中的任意。一旦对准,处理器就可以例如使用所确定的变换(310)将线性位置与角度位置组合,从而创建六自由度的跟踪设备。
如下,过程300可以在第一备选方案中执行。如上所述,处理器可以获得线性加速度(302)和线性位置(304)。处理器可以将线性加速度和线性位置变换为第一和第二(即,相对应的)加速度信号,其中的每一者可以定义其对应坐标系(306)中的加速度变化。
将线性加速度和线性位置转换为第一和第二加速度信号可以如下执行。处理器可以使用保留信号变化的第一滤波器来对线性加速度和线性位置进行滤波。例如,第一滤波器可以是低通滤波器。将第一滤波器应用于线性加速度可使得最终由变换产生的第一加速度信号与最终由变换产生的第二加速度信号具有可比性,例如保持相同的频率响应、群延迟和其他性质。将第一滤波器应用于线性位置可以使得最终由变换产生的第二加速度信号与最终由变换产生的第一加速度信号具有可比性,例如维持相同的频率响应、群延迟和其他性质。滤波的线性位置和滤波的线性加速度中的任意一者都可以由处理器进一步处理,例如以去除无关的、异常的和/或不期望的分量。
处理器可以执行滤波的线性位置的时间求导,并且可以使用保留信号变化的第二滤波器对由此产生的信号进行滤波以获得速度信号。第二滤波器可以是低通滤波器,并且可以具有与第一滤波器相同或不同的频率响应。将第二滤波器应用于由滤波的线性位置的求导产生的信号可以使速度信号抑制由于执行求导而导致的误差,例如,滤除由时间求导放大的高频噪声。处理器还可以使用第二滤波器对经滤波的线性加速度进行滤波以获得中间加速度信号。将第二滤波器应用于经滤波的线性加速度可进一步使得第一加速度信号与通过变换最终产生的第二加速度信号具有可比性,例如保持相同的频率响应、群延迟和其他性质。中间加速度信号和速度信号中的任意一者都可以由处理器进一步处理,例如以去除无关的、异常的和/或其不期望的分量。
处理器可以执行速度信号的时间求导,并且可以使用保留信号变化的第三滤波器对由此产生的信号进行滤波,以便获得第二加速度信号。第三滤波器可以是低通滤波器,并且可以具有与第一和/或第二滤波器相同或不同的频率响应。将第三滤波器应用于由执行速度信号的求导所得到的信号可以使第二加速度信号抑制由执行求导导致的误差,例如滤除由时间求导放大的高频噪声。处理器还可以使用第三滤波器对中间加速度信号进行滤波以获得第一加速度信号。将第三滤波器应用于中间加速度信号还可使得由其获得的第一加速度信号与最终由变换产生的第二加速度信号具有可比性,例如,保持相同的频率响应、群延迟和其他性质。第一和第二加速度信号中的任意一者都可以由处理器进一步处理,例如去除无关的、异常的和/或不期望的分量。
在变换之后,处理器可以基于第一加速度信号和第二加速度信号确定用于对准与远程104和跟踪***110相关联的坐标系的变换(308)。处理器可以至少部分地通过以下任意确定变换:求解第一和第二加速度信号的Wahba问题公式;使用第一和第二加速度信号的线性拟合模型问题公式;使用对第一和第二加速度信号的非线性优化搜索;以及使用查找使表示第一和第二加速度信号之间的误差的成本函数最小化的“最佳”旋转的任何搜索。
使用变换,可以通过将线性位置变换到线性加速度的坐标系或者通过将线性加速度变换到线性位置的坐标系来对准信号坐标系。或者,可以对变换进行分解,并且可以将变换的部分应用于两者,例如使用来自线性位置坐标系的旋转(heading),而使用来自线性加速框的倾斜(俯仰和滚动)。
所确定的变换(310)可以被应用来对准线性位置和来自IMU的任何可用信号,包括IMU的角速度、角加速度、角度位置、重力、线性加速度、线性速度线性位置或磁力中的任意。一旦对准,处理器就可以例如使用所确定的变换(310)将线性位置与角度位置组合,从而创建六自由度的跟踪设备。
如下,过程300可以在第二备选方案中执行。如上所述,处理器可以获得线性加速度(302)和线性位置(304)。处理器可以将线性加速度和线性位置变换成第一和第二(即,相对应的)速度信号,其中的每一者可以定义其对应坐标系(306)中的加速度变化。线性加速度和线性位置到第一和第二速度信号的变换可以如下执行。
处理器可以使用保留信号变化的第一滤波器来对线性加速度和线性位置进行滤波。例如,第一滤波器可以是带通滤波器。将第一滤波器应用于线性加速度会得到滤波的线性加速度,该滤波的线性加速度保留了由于运动引起的线性加速度。将第一滤波器应用于线性位置可以使得最终由变换产生的第二速度信号与由变换最终产生的第一速度信号具有可比性,例如维持相同的频率响应、群延迟和其他性质。滤波的线性位置和滤波的线性加速度中的任意一者都可以由处理器进一步处理,例如以去除无关的、异常的和/或不期望的分量。
处理器可以执行滤波的线性加速度的时间积分,并且可以使用保留信号变化的第二滤波器对由此产生的信号进行滤波以获得第一速度信号。第二滤波器可以是带通滤波器,并且可以具有与第一滤波器不同的频率响应。将第二滤波器应用于由经滤波的线性加速度的积分产生的信号可以实现抑制所得到的第一速度信号中的积分误差。处理器可以执行滤波的线性位置的时间求导,并且可以使用第二滤波器对由此产生的信号进行滤波以获得第二速度信号。将第二滤波器应用于由滤波的线性位置的求导产生的信号可以使第二速度信号去除由于执行求导而导致的误差,例如滤除由时间求导放大的高频噪声。第一和第二速度信号中的任意一者都可以由处理器进一步处理,例如以去除无关的、异常的和/或不期望的分量。
在变换之后,处理器可以基于第一速度信号和第二速度信号确定用于对准与远程104和跟踪***110相关联的坐标系的变换(308)。处理器可以至少部分地以下任意确定变换:通过求解第一和第二速度信号的Wahba问题公式中;使用第一和第二速度信号的线性拟合模型问题公式;使用对第一和第二速度信号的非线性优化搜索;以及使用查找使表示第一和第二速度信号之间的误差的成本函数最小化的“最佳”旋转的任何搜索。
使用这种变换,可以通过将线性位置变换到线性加速度的坐标系或通过将线性加速度变换到线性位置的坐标系来对准信号坐标系。或者,可以对变换进行分解,并且可以将变换的部分应用于两者,例如以使用来自线性位置框的旋转(heading),而使用来自线性加速框的倾斜(俯仰和滚动)。例如,处理器可以使用所确定的变换(310)将线性位置与角度位置对准。所确定的变换(310)可以用于对准线性位置和来自IMU的任何可用信号,包括IMU的角速度、角加速度、角度位置、重力、线性加速度、线性速度、线性位置或磁力中的任意。一旦对准,处理器就可以例如使用所确定的变换(310)将线性位置与角度位置组合,从而创建六自由度的跟踪设备。
可以重复地执行代表性过程300以持续地或连续地跟踪与远程104相关联的坐标系和与跟踪***110相关联的坐标系之间的对准。在代表性过程300的任何实施例中确定的变换可以是以下任意:旋转变换、线性变换、仅偏航旋转变换、比例变换、偏斜变换和非线性变换。
图4是示出指向被跟踪设备的线性位置和角度位置的坐标系对准的代表性过程400的框图。除了使用角度位置而不是线性加速度之外,图4的代表性过程400与图3的代表性过程300类似,因此可以以与图3的代表性过程300相同的方式执行。
图5示出使用图2的对应参考坐标系的图1的代表性***100的代表性使用情形。在图5所示的示例中,假设HMD坐标系202、HMD传感器坐标系208和跟踪***坐标系210在单个位置彼此对准,假设远程坐标系204和远程传感器坐标系214在单个位置处彼此对准。
根据所示的示例,远程104可以在远程坐标系214中具有加速度arB;以及可以具有相对于四元数的地球坐标系201的角度位置qr。跟踪***110可以具有相对于四元数的地球坐标系201的角度位置qc,并且可以在HMD传感器坐标系208中具有线性加速度acB。加速度acB和四元数qr可以从远程IMU 114提供的测量中提供或导出。四元数qc和线性加速度acB可以从HMD IMU 108提供的测量中提供或导出。HMD坐标系202中的远程104的线性位置可以是pcB。线性位置pcB可以从跟踪***110提供的测量中提供或导出。线性位置pcB可以是跟踪***110和远程104上的被跟踪点之间的相对位移。
理想地,由远程IMU 114测量或从远程IMU 114导出的远程104在地球(或其他公共)坐标系201中的位置、速度和加速度应当等于由HMD IMU 108和跟踪***110测量或导出的对应值,这样:
piU=pcU
viU=vcU
aiU=acU
基于远程IMU数据以及跟踪***测量数据与HMD IMU数据的组合,piU和pcU,viU和vcU,aiU和acU可以分别是远程104在地球(或其他公共)坐标系201中的相对线性位置、速度和加速度。远程104的加速度aiU不包括由于重力引起的加速度。
由于坐标系错位、测量噪声和其他传感器误差(如比例、偏斜、偏移、旋转和非线性),上述方程在实践中通常不成立。可以对准远程坐标系204和跟踪***坐标系210的变换(例如,适当的或最佳的变换),可以用于解决相对线性位置piU和pcU、相对线性速度viU和vcU和/或相对线性加速度aiU和acU之间的坐标系对准(例如,旋转)差异。该变换可以是旋转变换、线性变换、仅偏转旋转变换、比例变换、偏斜变换和非线性变换中的任意。该变换也可以包括其他变换。该变换可以在位置域、速度域和加速度域中的任意一者中确定。例如,这样的确定可以基于以下任意一者:求解Wahba问题公式、使用线性拟合模型问题公式、使用非线性优化搜索以及查找使表示两个测量之间的误差的成本函数代表最小化的“最佳”旋转的任何搜索。
代表性Wahba问题公式
为了在位置域中使用旋转变换来对准远程IMU数据和跟踪***测量数据与HMDIMU数据的组合,寻求使成本函数最小化的Wahba问题公式可以是:
其中旋转矩阵R可用于基于远程IMU数据以及跟踪***测量数据与HMD IMU数据的组合来对准N个样本的在速度和加速度域中,成本函数可以分别是:
以及
代表性线性拟合模型公式
在位置域中,线性拟合模型公式可以是:
其中A可以是线性变换(矩阵),以便根据最小平方误差将转换为(例如,尽可能接近);且vk可能是拟合误差。最小二乘解可以是:
线性变换(矩阵)A可以通过递归最小二乘法找到。线性变换(矩阵)A可以被分解为旋转矩阵R、比例矩阵D和倾斜矩阵S的乘积:
A=R×D×S
旋转矩阵R可以用于校正、补偿或以其他方式调整远程104的方向错位。在速度和加速度域中,线性拟合模型公式可以分别是:
以及
将线性模型拟合公式与Wahba问题公式进行比较,前者可能不仅要考虑坐标系错位误差,还要考虑远程IMU数据与跟踪***测量数据和HMD IMU数据的组合之间的比例和倾斜误差。当比例矩阵接近单位矩阵且倾斜矩阵中的非对角线元素接近零时,计算出的旋转矩阵R可能更可信。这可能为评估计算旋转矩阵R的可靠性提供了一个很好的指标。两个公式都有解决计算效率的方法。
如上所述,可以在位置域、速度域和加速度域中的任意一者中确定变换(旋转)。但是,从传感器测量中导出相应的值可能会引入不同的误差曲线(profile)。当选择哪个域以找到适当的(例如,最可靠的)旋转以校正坐标系错位或以其他方式对准坐标系时,这可能会有所不同。
不同***的代表性位置、速度和加速度
描述了三种不同***的远程104的相对线性位置、速度和加速度。第一***可以是***100(或其中跟踪***被设置或以其他方式与HMD组合的其他从内到外跟踪***)。第二***可以是***150(或其他从外向内跟踪***,使得跟踪***固定在被跟踪对象在其视线和视场内的外部环境中)。第三***是***100(或其中跟踪***被设置或以其他方式与HMDIMU组合的其他从内向外跟踪***)的特殊形式。在这种特殊形式的***100中,线性加速度acB不能从HMD IMU 108获得。
代表性从内向外跟踪***
如图1A和图5所示,跟踪***110与头部运动一起移动。远程104相对于跟踪***110的线性位置、速度和加速度可以取决于头部运动。
远程位置piU和pcU
分别基于远程IMU数据以及跟踪***测量数据和HMD IMU数据的组合的远程104的位置变化可以是:
其中p0cB和q0c可以是一个初始线性和角度位置,它可以是常数;而其中运算符可以是四元数旋转运算。在实施例中,可以使用离散泄漏积分器来代替连续积分。
远程速度viU和vcU
从pcB导出的远程104速度和通过使用arB和acB计算的远程104的速度可以是:
其中,v0cB可以是在跟踪***坐标系210中的初始速度,q0c可以是跟踪***坐标系210的初始角度位置。初始速度v0cB和初始角度位置q0c两者可以是常数。在实施例中,离散泄漏积分器可以代替连续积分和/或可以使用离散求导来代替连续求导。
远程加速度aiU和acU
基于远程IMU数据和HMD IMU数据分别确定的远程104的加速度,以及从pcB导出的远程104的加速度可以是:
代表性从外向内跟踪***
如图1B所示,跟踪***110可以是静止的,这可能意味着acB变为零并且qc是常数。
远程位置piU和pcU
分别基于远程IMU数据和跟踪***测量数据和HMD IMU数据的组合的远程104的位置变化可以是:
其中p0cB可以是基于跟踪***测量数据确定的初始位置;而运算符可以是四元数旋转运算。
远程速度viU和vcU
远程104的速度可以是:
远程加速度aiU和acU
远程104的加速度可以是:
没有线性加速度acB的代表性从内向外跟踪***
对于图6中所示的***100的特殊情况,如图6所示,跟踪头部位置变化,而没有从HMD IMU 108提供的测量提供或导出的线性加速度acB。在这种情况下,相对线性位置变化可通过使用从远程IMU114提供的测量提供或导出的加速度acB被补偿以与所计算的位置变化很好地对准。
为了补偿头部旋转期间的线性位置变化,跟踪***坐标系210的原点可以被设置为头部旋转中心,例如大致位于用户脖子上的位置,如图6所示。跟踪***110在这个新坐标系表示为h0cB。在跟踪***坐标系210(其原点位于跟踪***110的中心)中的跟踪***线性位置测量值pcB,可以是pcB+h0cB。使用这种补偿,问题描述可以如下所述。
远程位置piU和pcU
对于仅具有旋转运动的头部,在线性加速度acB的情况下,分别基于远程IMU数据和跟踪***测量数据与HMD IMU数据的组合的远程104的位置变化可以是:
其中p0cB和q0c可以分别是初始的线性位置和角度位置;其中h0cB可以是在原点位于头部旋转中心的坐标系中的跟踪***位置。
远程速度viU和vcU
对于只有旋转运动的头部,速度可以是:
远程加速度aiU和acU
对于只有旋转运动的头部,加速度可以是:
下面的表1列出了三个不同***的远程104的相对线性位置、速度和加速度。
表1
在加速度、速度和位置的域中,可以找到用于对准远程坐标系204和跟踪***坐标系210的变换(例如,最佳变换)。噪声等级可能是一个考虑因素。由于线性位置的求导可能(例如,可能显著地)放大嵌入的噪声,所以由其导出的加速度和速度可能会噪声大得多。另外,或者可选地,跟踪***测量故障和遮挡可能导致线性位置测量中的不连续性,这可能加剧求导误差。在位置域中,加速度的二重积分可能会有平滑的位置曲线。然而,加速度中的任何非零偏差或DC分量可能导致积分快速地和/或不期望地发散。诸如本文公开的适当的过滤器可以用于缓解发散。因此,用于位置piU和pcU的问题公式计算可能比速度域和/或加速域更有吸引力。
与理论不同,基于远程IMU数据和跟踪***测量数据和/或HMD IMU数据的远程104在地球坐标系201中的位置、速度和加速度可能非常不同。这些差异可能是由许多错误引起的(例如,而不是仅仅坐标系错位)。识别了四个主要的误差来源。这些误差来源可被规避或滤除掉以使得这些差异主要是由于坐标系错位引起的。
第一,IMU和跟踪***的测量可能不是时间对准的。第二,跟踪***跟踪中心和IMU位置可能不一样。换句话说,IMU和跟踪***可能正在测量不同的地点。第三,加速度的积分通常(例如总是)由于在线性加速度中保持的重力残差而发散。第四,跟踪***测量可能非常嘈杂,并且可能与由于遮挡或故障引起的惯性测量不同。可以使用下面的实施例克服这样的误差,并且继而确定可靠的旋转矩阵以对准远程坐标系204和跟踪***坐标系210。
代表性测量时间对准
初始和跟踪***测量可能不是且往往不是时间对准的。它们可能以各种方式对准。例如,跟踪***110提供的线性加速度是其线性位置测量值的二阶导数。惯性加速度和跟踪***加速度之间的时间延迟可以通过找到它们的范数之间的互相关的最大值来确定。给定两个信号x和其延迟的一个y,它们之间的时间延迟是
(x★y)[n]是所述互相关。
代表性测量位置对准
跟踪***110可以跟踪远程上的标记。跟踪中心可能不是并且通常不是与远程IMU104的位置相同,其中可以测量加速度。图8示出了一示例。
因此,由远程IMU104测量的加速度和由跟踪***110测量的线性位置处于不同的点。为了使跟踪***110和远程IMU104测量相同点,可以应用刚体方程来将从远程IMU提供的线性加速度转换成跟踪***的跟踪中心的线性加速度。刚体方程是
其中是位置X和Y处的线性加速度;是X和Y之间的线性位移;是刚体物体的角速度和加速度。刚体方程的应用示例如图9所示。线性位移可以通过直接测量真实设备来获得。
远程上的跟踪中心和远程IMU之间的位移也可以通过非线性最小二乘法拟合测量值来估计。由IMU测量。的导数。是跟踪***仍然存在时线性位置pcB的二阶导数。
在获得之后,远程IMU的加速度可以通过刚体方程转换为跟踪中心处的加速度。
代表性DC块滤波器
为了克服积分发散,可以在每次积分运算之前和之后应用DC块滤波器(高通滤波器),以便仅保留信号变化。DC块滤波器的示例可以是由差分方程指定的递归滤波器:
y(n)=[x(n)-x(n-1)]*(1+a)/2+a*y(n-1)
其频率响应,在R=0.5、0.8、0.99的极点可以如图8所示。
第一线性位置信号(图3,306)可以使用由远程IMU提供的测量的线性位置变化和随后的函数(例如泄漏积分器)来确定:
对跟踪***线性位置测量应用相同的滤波器以确定第二线性位置信号(图3,306)为:
pcU_filt=filtDCB(filtDCB(filtDCB(pcU)))
根据以上所述,pcU中的DC分量泄漏并且pcU以与获得piU_filt相同的方式被调节。这可能是将理论构想和实际实现联系起来的一种方法。这使得pcU_filt和piU_filt之间的主要剩余差异主要是由于坐标系错位造成的。
积分运算和高通(DC块)滤波器都是线性和时间不变的(LTI)是很常见的。LTI***的一个特性是它们在卷积之间是共通的(communitive)。所以当他们是LTI时,***:
相当于
并且,由于两个或两个以上高通(dc块)滤波器的卷积也是高通(dc块)滤波器,因此这相当于:
而且,在理论上,由于重力引起的加速度必须在加速度计被积分以产生速度和位置之前从该加速度计的测量中去除。但是,泄漏积分器可去除重力以及其他误差积累。dc块滤波器稳定后,不管重力是否被去除,泄漏积分器的结果可能都是相同的。为了更快地稳定(settling),重力可以通过使用以下等式去除:
其中g是由于重力引起的加速度(例如矢量[0,0,9.8])。
然后,作为一个Wahba问题公式,可预料到:
pcU_filt=R×piU_filt+v
其中R是旋转矩阵以将远程坐标系与头戴式相机坐标系对准;v是噪声(图3,310)。
或者,作为最小二乘拟合问题,可预料到:
pcU_filt=A×piU_filt+v
其中A是线性拟合模型参数。旋转矩阵可以通过矩阵分解找到(图3,310)。
代表性测量选择
测量并不总是携带信息来对准远程IMU坐标系和跟踪***坐标系。例如,当远程静止时,或手持设备被跟踪***遮挡时,可能会发生这种情况。在这些情况下,计算出的旋转矩阵可能不可信。避开这个问题的一种方法可以是选择适当的测量以馈送给算法。在实施例中,可以选择满足以下条件的测量:
||||pcU_filt||-||piU_filt||||<Threshold1
||acU_filt||>Threshold2
Thresholdl和Threshold2可以从真实数据中学习。第一个条件可以保证线性位置的范数不能差异太大。当它们的差异主要是由于坐标系错位而不是其他时,它们的范数应该是接近的。该条件可以用于拒绝(例如,过滤最差的)测量,例如故障(glitch)。第二个条件可确保远程不静止。即使对于没有HMD的线性加速度的从内向外跟踪***,通过选择适当的测量馈送给算法,跟踪***坐标系和远程IMU坐标系可以对准(例如,良好对准)。
针对公式的代表性解决方案
Wahba解决方安
对于Wahba问题公式,可以使用单数分解来找到解决方案。
步骤1:如下计算矩阵B.
其中ak是时间k处列向量的权重;(·)T是向量转置。
步骤2:获得BI的奇异值分解
B=SVDT
第3步:旋转矩阵是:
R=SMDT
其中
M=diag([1 1 det(S)det(D)]),det(S)
是矩阵S的行列式。
RLS解决方案
假设测量模型是
zk=xkA+vk
其中A是n×m矩阵,xk是1×n个矢量,zk和vk是1×m个矢量。vk是噪声。
在第k次观察,A的递归最小二乘解是
Pk=λ-1Pk-1-1KkxkPk-1
其中λ(0<λ<1)为遗忘因子,被初始化为零向量或矩阵;P0初始化为对角矩阵δI。I是身份矩阵。δ是一个很大的正值。
拟合误差可以递归计算为
注意无论A是矩阵还是向量,这个递归解决方案总是有效的。
偏航校正
上述两种解决方案是将整个惯性坐标系与相机坐标系对齐。大多数情况下,相机坐标系倾斜和远程坐标系倾斜都是稳定和准确的。在一些情况下,例如加速度计饱和度、相机坐标系的倾斜可能包含可感知的错误。在这种情况下,不希望将远程坐标系倾斜与相机坐标系倾斜对准。仅偏航旋转可以更好地达到目的。仅偏航旋转矩阵是为了最小化成本函数
其中只考虑了x-y坐标因子。RYaw_only是以下形式的旋转矩阵:
并且-180°<yaw≤180°。
可以应用非线性规划优化算法,例如:
fminseach(J(R(yaw)),yaw,-180°<yaw<180°).
或者,可以使用暴力直接搜索方法来查找最佳的yaw。
-180°:tol:180°是-180°,-180°+tol,-180°+2×tol,-180°+3×tol,…,180°-tol的顺序。tol是容错。
结论
尽管以上以特定组合提供了特征和元素,但是本领域技术人员应该理解的是每个特征或元素可以单独使用或以与其它特征和元素的任何组合来使用。本公开不限制于本申请中描述的特殊实施例,其用作不同方面的说明。如本领域技术人员显而易见的是,在不背离其精神和范围的情况下可以进行许多修改和变型。本申请说明书中使用的元素、动作或指令不应该被解释为对本发明是关键的或必要的,除非明确说明。除了于此枚举的那些,根据上文描述,本公开范围内功能性等同方法和装置对于本领域技术人员是显而易见的。这种修改和变型均落入所附权利要求的范围内。本公开将仅通过所附权利要求及等同于授权权利要求的完整范围来限制。应该理解的是,本公开不受特定方法或***的限制。
为了简单起见,关于能使用红外的设备(即,红外发射器和接收器)的术语和结构在前述实施例被讨论。然而,所讨论的实施例不限于这些***,而是可以应用于使用其他形式的电磁波或非电磁波(诸如声波)的其他***。
还应该理解的是于此使用的术语仅仅是用于描述特定实施例的,其目的并不是限制性的。如本文所使用的,术语“视频”或术语“图像”可以表示在时间基础上显示的快照、单个图像和/或多个图像中的任意一者。作用另一示例,在本文提及时,术语“用户设备”和其缩写“UE”、术语“远程”和/或术语“头戴式显示器”或其缩写“HMD”可以意味着或包括:(i)无线发射和/或接收单元(WTRU);(ii)WTRU的任何数量的实施例;(iii)无线能力和/或有线能力(例如,可用绳实现的)设备,尤其被配置有WTRU的一些或所有结构和功能;(iii)无线能力和/或有线能力设备,其配置有少于WTRU的所有结构和功能的结构和功能;或者(iv)等等。作为另一示例,本文(上文和下文)中的各种公开的实施例被描述为利用头戴式显示器。本领域技术人员将认识到,可以使用除了头戴式显示器之外的设备,并且可以相应地修改本公开和各种公开的实施例中的一些或全部,而无需过度实验。这样的其他设备的示例可以包括无人驾驶飞机或被配置为传送用于提供适应的现实体验的信息的其他设备。
此外,于此描述的方法可以在嵌入在计算机可读介质中由计算机或处理器执行的计算机程序、软件或固件中实施。计算机可读介质的示例包括电子信号(通过有线或无线连接传输)和计算机可读存储介质。计算机可读存储介质的示例包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、寄存器、缓冲存储器、半导体存储设备、内部硬盘和可拆卸磁盘之类的磁介质、磁光介质、以及CD-ROM碟片和数字多用途碟片(DVD)之类的光介质。与软件相关联的处理器可以用于实施在WTRU、UE、终端、基站、RNC或任意主计算机中使用的射频收发信机。
在不偏离本发明的范围的情况下,上面提供的方法、装置和***的变型是可能的。鉴于可以应用的各种实施例,应当理解的是,所示出的实施例仅是示例,并且不应被视为限制所附权利要求的范围。例如,这里提供的实施例包括手持设备,其可以包括或与任何合适的电压源(诸如电池等)一起使用,提供任何适当的电压。
此外,在上述提供实施例中,注意有处理平台、计算***、控制器以及包括包含处理器的其它设备。这些设备可以包含至少一个中央处理单元(“CPU”)和存储器。根据计算机编程领域的技术人员的实践,对动作和操作或指令的符号表示的引用可以通过不同CPU和存储器来执行。这种动作和操作或指令可以称为被“执行”、“计算机执行”或“CPU执行”。
本领域技术人员应该理解的是动作和符号表示的操作或指令包括由CPU进行的电信号的处理。电气***表示可以引起电信号的结果转换或还原的数据比特及存储***中存储位置处数据比特的维持以便重新配置或以其它方式改变CPU的操作,以及信号的其它处理。维持数据比特的存储位置是具有对应于数据比特或表示数据比特的特殊的电性能、磁性能、光性能或有机性能的物理位置。应该理解的是示例性实施例并不限制于上述平台或CPU并且其它平台和CPU可以支持所提供的方法。
数据比特还可以维持在计算机可读介质上,其包括磁盘、光盘以及CPU可读的任何其它易失性(例如,随机存取存储器(“RAM”))或非易失性(例如,只读存储器(“ROM”))大容量存储***。计算机可读介质可以包括合作或互连的计算机可读介质,其唯一地存在于处理***上或者分布在多个互连的处理***间,该多个互连的处理***相对于所述处理***是本地的或远程的。应该理解的是典型实施例并不限制于上述存储器,以及其它平台和存储器可以支持所描述的方法。
在说明性实施例中,于此描述的操作、处理等中的任意可以作为存储在计算机可读介质上的计算机可读指令来实施。计算机可读指令可以由移动单元、网络元件和/或任何其它计算设备的处理器来执行。
***各方面的硬件和软件实现之间几乎不存在区别。硬件或软件的使用通常(但不是一直,因为在某些环境中硬件和软件之间的选择可能变得很重要)是表示成本与效率权衡的设计选择。可以存在不同载体,于此描述的处理和/或***和/或其它技术可以通过所述载体来实现(例如,硬件、软件和/或固件),以及优选的载体可以随开发所述处理和/或***和/或其它技术所在环境而变化。例如,如果实施者确定速度和准确性最重要,则该实施者可以主要选择硬件和/或固件载体。如果灵活性是最重要的,则实施者可以主要选择软件实施。可替代地,实施者可以选择硬件、软件和/或固件的某组合。
以上详细描述已经通过使用框图、流程图和/或示例阐述了设备和/或过程的各种实施例。只要这些框图、流程图和/或示例包含一个或多个功能和/或操作,那么本领域的技术人员将会理解,可以实现这些框图、流程图或示例中的每个功能和/或操作通过各种硬件、软件、固件或者其实际上的任何组合来单独地和/或共同地进行。在实施例中,可以经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)和/或其他集成格式来实现本文所描述的主题的若干部分。然而,本领域技术人员将认识到于此公开的实施方式的某些方面可以全部的或部分的在集成电路中作为运行在一个或多个计算机上的一个或多个计算机程序(例如,作为运行在一个或多个计算机***上的一个或多个程序)、作为运行在一个或多个处理器上的一个或多个程序(例如,作为运行在一个或多个微处理器上的一个或多个程序)、作为固件、或实质上它们的任何组合而等同实施,以及认识到根据本公开本领域技术人员将能够针对软件和/或固件设计电路和/或编写代码。此外,本领域技术人员应该理解的是于此描述的主题的机制可以作为程序产品以各种形式来分布,并且应该理解的是无论实际用于执行所述分布是特殊类型的信号承载媒介,于此描述的主题的说明性实施方式均适用。信号承载介质的示例包括但不限于以下项:可记录类型介质,诸如软盘、硬盘驱动器、CD、DVD、数字磁带、计算机存储器等,以及传输类型介质,诸如数字通信介质和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路等)。
本领域的技术人员将认识到,以本文阐述的方式描述设备和/或过程并且此后使用工程实践将这样描述的设备和/或过程集成到数据处理***中是本领域内常见的。也就是说,这里描述的设备和/或过程的至少一部分可以通过合理量的实验被集成到数据处理***中。本领域技术人员将认识到,典型的数据处理***通常可以包括***单元外壳,视频显示装置,诸如易失性和非易失性存储器之类的存储器,诸如微处理器和数字信号处理器之类的处理器中的一个或多个,诸如操作***,驱动器,图形用户界面和应用程序之类的计算实体,诸如触摸板或屏幕之类的一个或多个交互设备,和/或包括反馈回路和控制马达的控制***(例如,用于感测位置的反馈和/或速度,用于移动和/或调整部件和/或量的控制马达)。典型的数据处理***可以利用任何合适的商业可用组件来实现,例如通常在数据计算/通信和/或网络计算/通信***中发现的组件。
于此描述的主题有时示出包含在或连接至不同其它组件中的不同组件。应该理解的是这种描述的结构仅仅是示例性的,并且应该理解的是,实际上许多其它架构可以被实施,其实现相同功能。在概念意义上,实现相同功能的组件的任何布置被有效地“关联”以使得期望的功能可以被实现。因此,于此组合实现特殊功能的任何两个组件可以被视为彼此“相关联”以使得期望的功能被实现,不管架构或中间组件。同样地,如此关联的任何两个组件还可以视为处于彼此“可操作地连接”或者“可操作地耦合”以实现期望的功能,以及能够如此关联的任何两个组件也可以被视为处于彼此“操作地可耦合”以实现期望的功能。可操作地可耦合的特定示例包括但不限于物理地可配对的和/或物理地交互组件和/或无线地可交互和/或无线地交互组件和/或逻辑地交互和/或逻辑地可交互组件。
关于于此本质上任何多个和/或单个术语的使用,本领域技术人员可以从多个转变成单个和/或从单个转变成多个以适合上下文和/或应用。出于清楚的目的,不同单个/多个置换于此可以明确陈述。
本领域技术人员应理解的是,通常,于此使用的尤其所附权利要求(例如,所附权利要求的主体)中使用的术语通常旨在“开放式”术语(例如,术语“包括”应该被解释为“包括但不限于”,术语“具有”用过被解释为“至少具有”,术语“包含”应该被解释为“包含但不限于”,等)。本领域技术人员还应该理解的是如果意在引入权利要求陈述的特定数目,则这样的意图将在权利要求中被明确地陈述,并且在没有这种陈述的情况下,不存在这样的意图。例如,在仅仅意在一项,则术语“单一”或类似语言可以被使用。为了有助于理解,所附权利要求和/或于此的说明可以包含引导性短语“至少一个”和“一个或多个”的使用以引入权利要求陈述。然而,这种短语的使用不应该被认为暗示由不定冠词“一”进行权利要求陈述的引入限制任何包含这种引入的权利要求陈述至仅包含一个这种陈述的实施例的特殊权利要求,甚至当相同权利要求包括引导短语“一个或多个”或者“至少一个”以及诸如“一”(例如,“一”应该被解释为意味着“至少一个”或“一个或多个”)的不定冠词时。这通用使用与用于引入权利要求陈述的定冠词的使用。此外,即使明确地叙述了所引入的权利要求陈述的特定数目,本领域技术人员将认识到,这样的陈述应当被解释为意指至少所陈述的数目(例如,不具有其他修饰语的“两个陈述”的基本陈述,意指至少两个陈述,或两个或更多个陈述)。此外,在那些类似于使用“A、B和C等中的至少一个”的惯例的情况下,通常,这样的结构旨于本领域技术人员将理解该惯例的意义(例如,“具有A、B和C中的至少一个的***”将包括但不限于***具有单独的A、单独的B、单独的C、A和B一起、A和C一起、B和C一起,和/或A、B和C一起等)。在那些类似于使用“A、B或C等中的至少一个”的惯例的情况下,通常,这样的结构旨在在本领域技术人员将理解该惯例的意义上(例如,“具有A、B或C中的至少一个的***”将包括但不限于具有单独的A、单独的B、单独的C、A和B一起、A和C一起、B和C一起、和/或A、B和C一起等的***)。本领域技术人员将进一步理解,无论在说明书、权利要求书还是附图中,呈现两个或更多个替换术语的本质上任何分离性词语和/或短语都应当被理解为考虑包括这些术语中的一个的可能性、任一术语的可能性或两个术语的可能性。例如,短语“A或B”将被理解为包括“A”或“B”或者“A和B”的可能性。此外,于此所使用的术语多个项和/或多个项类别的列表中“任意”是旨在包括所述项目和/或所述项的类别的“任何”、“任何组合”、“任何多个的”和/或“多者的任何组合”,单独地或与其他项和/或其它项的类别相结合。此外,如于此所使用的,术语“集”或“组”旨在包括任何数量的项,包括零。另外,如于此所使用的,术语“数量”旨在包括任何数量,包括零。
此外,在本公开的特征或方面以马库什组的方式描述的情况下,本领域技术人员将认识到,本公开也根据马库什组的任何单个成员或成员子组从而被描述。
如本领域技术人员将理解的,出于任何和所有目的,诸如通过提供书面描述,于此公开的所有范围还包含任何和所有可能子范围和它们的子范围的组合。任何所列范围可以容易地被认为是充分地描述并且使得相同的范围能够被至少分解为相等的两份、三份、四份、五份、十份等。作为非限制性示例,于此讨论的每个范围可以容易地分解成下三分之一、中三分之一及上三分之一等。如本领域技术人员还将理解的,例如“多达”、“至少”、“大于”、“小于”等等包括所列举的数字并且是指可以随后分解成如上所述的子范围的范围。最后,如本领域技术人员将理解的,范围包括每个单独的成员。因此,例如,具有1-3个单元的组是指具有1、2或3个单元的组。类似地,具有1-5个单元的组是指具有1、2、3、4或5个单元的组,等等。
此外,权利要求书不应被解读为限于所提供的顺序或元件,除非指出了这一点。此外,在任何权利要求中使用的术语“用于...的装置”旨在援引25U.S.C.§112,或装置加功能的权利要求格式,并且没有术语“用于...的装置”的任何权利要求不是如此。

Claims (22)

1.一种指向被跟踪设备的线性位置和线性加速度的坐标系对准的方法,所述方法包括:
在与所述被跟踪设备相关联的第一坐标系中获得所述被跟踪设备的线性加速度;
在与跟踪设备相关联的第二坐标系中获得所述被跟踪设备的线性位置;
分别将所述线性加速度和所述线性位置变换成定义位置变化、速度变化和加速度变化的第一位置信号和第二位置信号、第一速度信号和第二速度信号以及第一加速度信号和第二加速度信号中的一者;
基于第一位置信号和第二位置信号、第一速度信号和第二速度信号以及第一加速度信号和第二加速度信号中的所述一者来确定用于对准所述第一坐标系和所述第二坐标系的变换;以及
使用所述变换对准所述线性位置和线性加速度。
2.根据权利要求1所述的方法,其中将所述线性加速度和所述线性位置变换成第一位置信号和第二位置信号包括:
使用保留信号变化的第一滤波器对所述线性加速度和所述线性位置进行滤波;
使用保留信号变化的第二滤波器对滤波后的线性位置进行滤波以获得中间位置信号;
对滤波后的线性加速度执行时间积分,并使用所述第二滤波器对由此产生的信号进行滤波以获得速度信号;
使用保留信号变化的第三滤波器对所述中间位置信号进行滤波以获得所述第二位置信号;以及
对所述速度信号执行时间积分,并使用所述第三滤波器对由此产生的信号进行滤波以获得所述第一位置域信号。
3.根据权利要求2所述的方法,其中所述第一滤波器、第二滤波器和第三滤波器中的任意是高通滤波器。
4.根据权利要求1所述的方法,其中将所述线性加速度和所述线性位置变换成第一加速度信号和第二加速度信号包括:
使用保留信号变化的第一滤波器对所述线性加速度和所述线性位置进行滤波;
使用保留信号变化的第二滤波器对滤波后的线性加速度进行滤波以获得中间加速度信号;
对滤波后的线性位置执行时间求导,并使用所述第二滤波器对由此产生的信号进行滤波以获得速度信号;
使用保留信号变化的第三滤波器对所述中间加速度信号进行滤波以获得所述第一加速度信号;以及
对所述速度信号执行时间求导,并使用所述第三滤波器对由此产生的信号进行滤波以获得所述第二加速度信号。
5.根据权利要求4所述的方法,其中所述第一滤波器、第二滤波器和第三滤波器中的任意是低通滤波器。
6.根据权利要求1所述的方法,其中将所述线性加速度和所述线性位置变换成第一速度信号和第二速度信号包括:
使用保留信号变化的第一滤波器对所述线性加速度和所述线性位置进行滤波;
对滤波后的线性加速度执行时间积分,并使用保留信号变化的第二滤波器对由此得到的信号进行滤波以获得所述第一速度信号;以及
对滤波后的线性位置执行时间求导,并使用所述第二滤波器对由此产生的信号进行滤波以获得所述第二速度信号。
7.根据权利要求6所述的方法,其中所述第一滤波器和第二滤波器中的任意是带通滤波器。
8.根据权利要求1所述的方法,其中所述变换是以下任意:旋转变换、线性位置变换、仅偏航旋转变换、仅俯仰和滚动变换、比例变换、倾斜变换、透视投影变换和非线性变换。
9.根据权利要求1所述的方法,其特征在于,确定所述变换包括以下任意:
求解所述第一位置信号和第二位置信号、所述第一速度信号和第二速度信号或所述第一加速度信号和第二加速度信号的Wahba问题公式;
对所述第一位置信号和第二位置信号、所述第一速度信号和第二速度信号或所述第一加速度信号和第二加速度信号使用线性拟合模型问题公式;
对所述第一位置信号和第二位置信号、所述第一速度信号和第二速度信号或所述第一加速度信号和第二加速度信号使用非线性优化搜索;以及
使用查找使表示所述第一位置信号和第二位置信号、所述第一速度信号和第二速度信号或所述第一加速度信号和第二加速度信号之间的误差的成本函数最小化的“最佳”旋转的任何搜索。
10.根据权利要求1所述的方法,其中,所述第一坐标系和所述第二坐标系中的每一者是以下任意:地球坐标系、用户坐标系、水平坐标系和任意短期公共坐标系。
11.根据权利要求1所述的方法,其中所述第一坐标系和所述第二坐标系两者均与所述被跟踪设备的跟踪中心相关联。
12.一种包括电路的装置,包括处理器和存储器,被配置为:
在与被跟踪设备相关联的第一坐标系中获得所述被跟踪设备的线性加速度;
在与跟踪设备相关联的第二坐标系中获得所述被跟踪设备的线性位置;
将所述线性加速度和所述线性位置分别变换成定义位置变化、速度变化和加速度变化的第一位置信号和第二位置信号、第一速度信号和第二速度信号以及第一加速度信号和第二加速度信号中的一者;
基于第一位置信号和第二位置信号、第一速度信号和第二速度信号以及第一加速度信号和第二加速度信号中的所述一者来确定用于对准所述第一坐标系和所述第二坐标系的变换;以及
使用所述变换对准所述线性位置和线性加速度。
13.根据权利要求12所述的装置,其中所述电路被配置为至少部分通过以下步骤将所述线性加速度和所述线性位置变换成位置信号第一和第二位置信号:
使用保留信号变化的第一滤波器对所述线性加速度和所述线性位置进行滤波;
使用保留信号变化的第二滤波器对滤波后的线性位置进行滤波以获得中间位置信号;
对滤波后的线性加速度执行时间积分,并使用所述第二滤波器对由此产生的信号进行滤波以获得速度信号;
使用保留信号变化的第三滤波器对所述中间位置信号进行滤波以获得所述第二位置信号;以及
对所述速度信号执行时间积分,并使用所述第三滤波器对由此产生的信号进行滤波以获得所述第一位置域信号。
14.根据权利要求13所述的装置,其中所述第一滤波器、第二滤波器和第三滤波器中的任意是高通滤波器。
15.根据权利要求12所述的装置,其中所述电路被配置为至少部分通过以下步骤将所述线性加速度和所述线性位置变换成第一加速度信号和第二加速度信号:
使用保留信号变化的第一滤波器对所述线性加速度和所述线性位置进行滤波;
使用保留信号变化的第二滤波器对滤波后的线性加速度进行滤波以获得中间加速度信号;
对滤波后的线性位置执行时间求导,并使用所述第二滤波器对由此产生的信号进行滤波以获得速度信号;
使用保留信号变化的第三滤波器对所述中间加速度信号进行滤波以获得所述第一加速度信号;以及
对所述速度信号执行时间求导,并使用所述第三滤波器对由此产生的信号进行滤波以获得所述第二加速度信号。
16.根据权利要求15所述的装置,其中所述第一滤波器、第二滤波器和第三滤波器中的任意是低通滤波器。
17.根据权利要求12所述的装置,其中所述电路被配置为至少部分通过以下步骤将所述线性加速度和所述线性位置变换成第一速度信号和第二速度信号:
使用保留信号变化的第一滤波器对所述线性加速度和所述线性位置进行滤波;
对滤波后的线性加速度执行时间积分,并使用保留信号变化的第二滤波器对由此得到的信号进行滤波以获得所述第一速度信号;以及
对滤波后的线性位置执行时间求导,并使用所述第二滤波器对由此产生的信号进行滤波以获得所述第二速度信号。
18.根据权利要求17所述的装置,其中所述第一滤波器和第二滤波器中的任意是带通滤波器。
19.根据权利要求12所述的装置,其中,其中所述变换是以下任意:旋转变换、线性位置变换、仅偏航旋转变换、仅俯仰和滚动变换、比例变换、倾斜变换、透视投影变换和非线性变换。
20.根据权利要求12所述的装置,其中所述电路被配置为至少部分地通过以下任意来确定所述变换:
求解所述第一位置信号和第二位置信号、所述第一速度信号和第二速度信号或所述第一加速度信号和第二加速度信号的Wahba问题公式;
对所述第一位置信号和第二位置信号、所述第一速度信号和第二速度信号或所述第一加速度信号和第二加速度信号使用线性拟合模型问题公式;
对所述第一位置信号和第二位置信号、所述第一速度信号和第二速度信号或所述第一加速度信号和第二加速度信号使用非线性优化搜索;以及
使用查找使表示所述第一位置信号和第二位置信号、所述第一速度信号和第二速度信号或所述第一加速度信号和第二加速度信号之间的误差的成本函数最小化的“最佳”旋转的任何搜索。
21.根据权利要求12所述的装置,其中所述第一坐标系和所述第二坐标系中的每一者是以下任意:地球坐标系、用户坐标系、水平坐标系和任意短期公共坐标系。
22.根据权利要求12所述的装置,其中所述第一坐标系和所述第二坐标系两者均与所述被跟踪装置的跟踪中心相关联。
CN201810641257.3A 2017-06-20 2018-06-20 指向设备位置跟踪的方法、架构、装置、*** Pending CN109099908A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762522600P 2017-06-20 2017-06-20
US62/522,600 2017-06-20

Publications (1)

Publication Number Publication Date
CN109099908A true CN109099908A (zh) 2018-12-28

Family

ID=64657722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810641257.3A Pending CN109099908A (zh) 2017-06-20 2018-06-20 指向设备位置跟踪的方法、架构、装置、***

Country Status (2)

Country Link
US (1) US20180364048A1 (zh)
CN (1) CN109099908A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112013873A (zh) * 2020-08-13 2020-12-01 哈尔滨工业大学 一种基于梯度下降优化的静基座快速对准方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11947739B2 (en) 2019-06-28 2024-04-02 Ceva Technologies, Inc. Methods, apparatus and systems using motion of various input devices for controlling consumer devices
KR102476057B1 (ko) 2019-09-04 2022-12-09 주식회사 윌러스표준기술연구소 클라우드 가상 현실을 위한 imu 센서 데이터를 활용한 비디오 인코딩 및 디코딩 가속 방법 및 장치
CN114077719A (zh) * 2020-08-13 2022-02-22 华为技术有限公司 一种自运动估计方法及相关装置
US11630509B2 (en) * 2020-12-11 2023-04-18 Microsoft Technology Licensing, Llc Determining user intent based on attention values

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100103269A1 (en) * 2008-10-23 2010-04-29 Microsoft Corporation Determining orientation in an external reference frame
US20140319217A1 (en) * 2011-12-09 2014-10-30 Selex Es S.P.A. Aiming system
US20150204900A1 (en) * 2010-09-28 2015-07-23 Xianghui Wang Multi sensor position and orientation measurement system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100103269A1 (en) * 2008-10-23 2010-04-29 Microsoft Corporation Determining orientation in an external reference frame
US20150204900A1 (en) * 2010-09-28 2015-07-23 Xianghui Wang Multi sensor position and orientation measurement system
US20140319217A1 (en) * 2011-12-09 2014-10-30 Selex Es S.P.A. Aiming system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112013873A (zh) * 2020-08-13 2020-12-01 哈尔滨工业大学 一种基于梯度下降优化的静基座快速对准方法

Also Published As

Publication number Publication date
US20180364048A1 (en) 2018-12-20

Similar Documents

Publication Publication Date Title
CN109099908A (zh) 指向设备位置跟踪的方法、架构、装置、***
US10215564B2 (en) Automatic compass calibration systems and methods
US8989518B2 (en) Information processing method and apparatus for calculating information regarding measurement target on the basis of captured images
CN106525074B (zh) 一种云台漂移的补偿方法、装置、云台和无人机
CN102171628B (zh) 通过数据融合解决的运动检测的指示器
Enayati et al. A quaternion-based unscented Kalman filter for robust optical/inertial motion tracking in computer-assisted surgery
US10802606B2 (en) Method and device for aligning coordinate of controller or headset with coordinate of binocular system
CN106052584B (zh) 一种基于视觉及惯性信息融合的轨道空间线形测量方法
CN111091587B (zh) 一种基于视觉标志物的低成本动作捕捉方法
CN111380514A (zh) 机器人位姿估计方法、装置、终端及计算机存储介质
US11698687B2 (en) Electronic device for use in motion detection and method for obtaining resultant deviation thereof
CN103930854A (zh) 借助指示器的姿态的测量控制光标的方法及实施所述方法的指示器
CN109737941B (zh) 一种人体动作捕捉方法
JP2021515248A (ja) 平面磁力計キャリブレーション、方位決定、ジャイロスコープ支援磁力計振幅キャリブレーション、磁力計振幅およびアライメントキャリブレーション、磁力計マッピング、ならびにセンサ融合のための方法および装置
US20070076096A1 (en) System and method for calibrating a set of imaging devices and calculating 3D coordinates of detected features in a laboratory coordinate system
US20100157048A1 (en) Positioning system and method thereof
Baillot et al. A tracker alignment framework for augmented reality
Xian et al. Fusing stereo camera and low-cost inertial measurement unit for autonomous navigation in a tightly-coupled approach
Chen et al. Self-calibration of environmental camera for mobile robot navigation
CN207992458U (zh) 复杂观测模式下碳卫星定位***
JP6281938B2 (ja) データ処理装置、データ処理方法、及びデータ処理プログラム
CN113763464B (zh) 一种航向角的标定方法、定位设备及定位***
Regula et al. Position estimation using novel calibrated indoor positioning system
CN108801248B (zh) 基于ukf的平面视觉惯性导航方法
CN105547296A (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
TA01 Transfer of patent application right

Effective date of registration: 20230425

Address after: Delaware

Applicant after: TAG-COMM Inc.

Address before: Wilmington, Delaware, USA

Applicant before: IDHL HOLDINGS, Inc.

TA01 Transfer of patent application right