CN103946670B - 用于改进定向数据的系统和方法 - Google Patents
用于改进定向数据的系统和方法 Download PDFInfo
- Publication number
- CN103946670B CN103946670B CN201280053692.5A CN201280053692A CN103946670B CN 103946670 B CN103946670 B CN 103946670B CN 201280053692 A CN201280053692 A CN 201280053692A CN 103946670 B CN103946670 B CN 103946670B
- Authority
- CN
- China
- Prior art keywords
- magnetic
- wave filter
- filter
- data
- change
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B21/00—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
- G01B21/22—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring angles or tapers; for testing the alignment of axes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C17/00—Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
- G01C17/38—Testing, calibrating, or compensating of compasses
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; 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/16—Navigation; 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/165—Navigation; 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
- G01C21/1654—Navigation; 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 with electromagnetic compass
-
- 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/0304—Detection arrangements using opto-electronic means
-
- 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
-
- 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/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2200/00—Indexing scheme relating to G06F1/04 - G06F1/32
- G06F2200/16—Indexing scheme relating to G06F1/16 - G06F1/18
- G06F2200/163—Indexing scheme relating to constructional details of the computer
- G06F2200/1637—Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Automation & Control Theory (AREA)
- Electromagnetism (AREA)
- Gyroscopes (AREA)
- Navigation (AREA)
Abstract
本发明的各方面涉及计算装置技术,例如用于改进定向数据的系统、方法、设备,以及计算机可读媒体。在一些实例中,磁向量滤波器从磁力计接收磁力计数据且从陀螺仪接收陀螺仪数据,且确定磁向量。在另一实施例中,重力向量滤波器接收加速度计数据以及陀螺仪数据,且确定重力向量。描述用于至少部分基于第一信号参数的可变性的检测到的改变来调整滤波器参数的其它技术。此外,可使定向与例如陀螺仪等共同传感器输入同步。
Description
相关申请案的交叉参考
本专利申请案主张2011年11月1日申请的标题为“用于确定移动装置的重力、线性加速度以及旋转向量的系统和方法(SYSTEM AND METHOD FOR DETERMINING GRAVITY.LINEAR ACCELERATION.AND ROTATION VECTOR FOR A MOBILE DEVICE)”的第61/554,423号美国临时专利申请案、2011年11月11日申请的标题为“陀螺仪辅助的磁异常减轻(GYROSCOPE-AIDED MAGNETIC ANOMALY MITIGATION)”的第61/558,994号美国临时专利申请案,以及2011年11月11日申请的标题为“通过使用卡尔曼滤波器融合加速度计和陀螺仪的重力向量(GRAVITY VECTOR BY FUSING ACCELEROMETER AND GYROSCOPE USING AKALMAN FILTER)”的第61/558,966号美国临时专利申请案,以及2012年10月12日申请的标题为“用于改进定向数据的系统和方法(SYSTEM AND METHOD FOR IMPROVING ORIENTATIONDATA)”的第13/651,343号美国非临时专利申请案和2012年10月12日申请的标题为“用于改进定向数据的系统和方法(SYSTEM AND METHOD FOR IMPROVING ORIENTATION DATA)”的第13/651,350号美国非临时专利申请案,以及2012年10月12日申请的标题为“用于改进定向数据的系统和方法(SYSTEM AND METHOD FOR IMPROVING ORIENTATION DATA)”的第13/651,355号美国非临时专利申请案的权益,所述申请案全部以全文引用的方式并入本文中以用于所有目的。
背景技术
本发明的各方面涉及计算技术。具体来说,本发明的各方面涉及移动计算装置技术,例如用于改进定向数据的系统、方法、设备,以及计算机可读媒体。
例如智能电话、平板计算机、个人数字助理(PDA)和其它装置等计算装置越来越多地包含触摸屏、加速度计、磁力计、陀螺仪、相机、接近度传感器、麦克风、气压计,和/或可允许这些装置俘获运动和定向和/或其它感测条件以作为用户输入的形式的其它传感器。应用开发者以及装置的用户正在寻找利用与所述装置相关联的运动和装置定向的新且新颖的方式。大传感器阵列在大多数装置上已变得常见。
例如加速度计、陀螺仪、磁力计等传感器辅助确定装置的运动和定向。加速度计测量加速度力,包含重力。陀螺仪例如基于角动量的守恒原理来测量装置的相对定向。磁力计是用于测量磁场的方向和强度的仪器。这些传感器的融合可允许对装置的运动和定向的平滑和准确表征。在装置处,在硬件、固件和软件层级,使用各种传感器融合技术来改进来自这些传感器的结果。传感器融合是组合传感数据或从来自不同源的传感数据得到的数据,使得所得的定向信息在某一意义上比在个别使用这些源时可能的情况更准确、更完整,或更可靠。
融合传感器输入呈现用于在不损害用于确定装置的运动和定向的准确性的情况下增加装置系统的功率和时间效率的唯一组机会。然而,融合传感器输入还可呈现对系统集成的唯一组挑战且限制某些改进。举例来说,传感器可以与其它元件或系统所预期或利用的格式不同的格式来提供信息。举例来说,一些操作系统、应用和/或其它形式的硬件可利用来自传感器的特定格式的测量值以作为输入(例如)以用于标准化目的。因此,不仅有益于增加传感器数据或测量值的速度和准确度,而且有益于以装置的较高层可消耗的适当格式产生此类数据或测量值。
此外,许多装置(例如,相机)预期来自传感器的快速响应以用于启用应用,例如相机图像中的角度补偿。此些应用具有严格的延迟要求以及高准确度需要。用于滤除噪声的已知滤波器可包括静态一阶滤波器,其具有低性能且无法对传感器的操作环境中的改变的噪声进行快速调适。
本发明的各方面提供得到定向数据的更便利和有效的方式。
发明内容
针对用于使用基于传感器的装置中的重力向量、磁向量和/或旋转向量来确定装置的定向的电力有效系统而提供技术。传感器可包含(但不限于)惯性传感器和基于MEMS的传感器。在本发明的一些实施例中,使用例如加速度计、磁力计和陀螺仪等惯性传感器。此外,提供用于在节省电力的同时加速对重力向量和磁向量的确定、增加准确度且重新格式化输出以用于流行的操作系统框架(例如,谷歌安卓)的技术。
本发明的实施例描述用于加速度计(重力向量滤波器)和磁力计(磁向量滤波器)以及陀螺仪的独立滤波器来替代使用单个滤波器。通过分离出来自加速度计和磁力计的输入,本发明的实施例可使用动态或自适应滤波器,其允许调整所述滤波器中的一或多者的时间常数、增益和/或窗口,进而允许来自惯性传感器和其它类型的传感器的更快速和更准确结果。另外,当装置是静止时,可由传感器俘获测量值以用于向量确定,且/或可将陀螺仪转变为较低功率状态。本发明的各方面还论述用于以下各者的技术:增加通过使用非规格化的重力向量来确定装置的线性加速度的准确度、提供用于应用层导出四元数系统的第四分量的机制,且使传感器之间的时间戳同步。
用于获得用于与计算装置的定向确定一起使用的信息的示范性方法可包含:在磁向量滤波器处接收磁力计数据,其中所述磁力计数据可包括来自磁力计的传感器输出;以及在所述磁向量滤波器处接收陀螺仪数据,其中所述陀螺仪数据可包括来自陀螺仪的传感器输出。此外,所述方法可包含通过使用磁向量滤波器中的磁力计数据和陀螺仪数据来确定磁向量。所述磁向量滤波器可能够独立于与定向确定一起使用的加速度计数据来确定磁向量。
用于获得用于与计算装置的定向确定一起使用的信息的示范性方法还可包含:在重力向量滤波器处接收加速度计数据,其中所述加速度计数据可包括来自加速度计的传感器输出;以及在所述重力向量滤波器处接收陀螺仪数据。此外,所述方法可包含通过在重力向量滤波器中使用加速度计数据和陀螺仪数据来确定重力向量,其中所述重力向量用于确定计算装置的定向。
在一个实施例中,重力向量滤波器和磁向量滤波器中的至少一者使用自适应滤波器,且所述自适应滤波器的至少一个滤波器参数是可动态调整的。在一个实施方案中,所述自适应滤波器可为卡尔曼滤波器。在一个方面中,与重力向量滤波器相关联的至少一个滤波器参数可包括信号噪声、测量误差、传感器校准误差或线性加速度中的一或多者。在另一方面中,与磁向量滤波器相关联的至少一个滤波器参数可包括传感器校准误差或瞬态磁场中的一或多者。所述磁向量滤波器可与重力向量滤波器分离。在一些实施例中,实施经扩展自适应滤波器,其中所述经扩展自适应滤波器接收计算装置的重力向量的所计算坐标以及陀螺仪数据和加速度计数据以作为输入。
在一些实施例中,由装置的组件执行的所述方法进一步基于磁力计数据和陀螺仪数据来确定磁向量滤波器中的磁场中的检测到的变化是否为磁异常。在一个实施方案中,响应于确定陀螺仪未在检测到磁场中的变化的时间周期期间测量到变化,所述方法确定所述磁场中的所述检测到的变化是所述磁异常。当来自陀螺仪的所接收传感器输入与所述磁场中的检测到的变化相关时,可确定所述磁场中的所述检测到的变化不是磁异常,且当来自陀螺仪的所接收传感器输入不与所述磁场中的所述检测到的变化相关时,可确定所述磁场中的所述检测到的变化是磁异常。在一些实施方案中,响应于确定所述磁场中的所述检测到的变化是磁异常,所述方法忽视从磁力计接收到的对应于所述磁场中的所述检测到的变化的滤波器输入。在其它实施方案中,响应于确定所述磁场中的所述检测到的变化是磁异常,所述方法增加与磁向量滤波器相关联的窗口大小。在一个实施方案中,确定检测到的变化是磁异常可包括将磁力计数据与阈值进行比较,其中所述阈值可至少部分基于陀螺仪数据。
用于确定定向的示范性计算装置可包含:接收器,其耦合到磁向量滤波器且经配置以在磁向量滤波器处接收磁力计数据,其中所述磁力计数据可包括来自磁力计的传感器输出;以及相同或不同的接收器,其经配置以在所述磁向量滤波器处接收陀螺仪数据,其中所述陀螺仪数据可包括来自陀螺仪的传感器输出。此外,示范性计算装置的组件(例如,磁向量滤波器)可通过使用磁向量滤波器中的磁力计数据和陀螺仪数据来确定磁向量。所述磁向量滤波器可能够独立于与定向确定一起使用的加速度计数据来确定磁向量。
用于确定定向的示范性计算装置还可包含:接收器,其耦合到重力向量滤波器以用于在重力向量滤波器处接收加速度计数据,其中所述加速度计数据可包括来自加速度计的传感器输出;以及相同或不同的接收器,其用于在所述磁向量滤波器处接收陀螺仪数据。此外,示范性计算装置的组件(例如,重力向量滤波器)可通过在重力向量滤波器中使用加速度计数据和陀螺仪数据来确定重力向量,其中所述重力向量用于确定计算装置的定向。
在计算装置的一个实施例中,重力向量滤波器和磁向量滤波器中的至少一者使用自适应滤波器,且所述自适应滤波器的至少一个滤波器参数是可动态调整的。在一个实施方案中,所述自适应滤波器可为卡尔曼滤波器。在一个方面中,与重力向量滤波器相关联的至少一个滤波器参数可包括信号噪声、测量误差、传感器校准误差或线性加速度中的一或多者。在另一方面中,与磁向量滤波器相关联的至少一个滤波器参数可包括传感器校准误差或瞬态磁场中的一或多者。所述磁向量滤波器可与重力向量滤波器分离。在一些实施例中,实施经扩展自适应滤波器,其中所述经扩展自适应滤波器接收计算装置的重力向量的所计算坐标以及陀螺仪数据和加速度计数据以作为输入。
在一些实施例中,装置的组件进一步基于磁力计数据和陀螺仪数据来确定磁向量滤波器中的磁场中的检测到的变化是否为磁异常。在一个实施方案中,响应于确定陀螺仪未在检测到磁场中的变化的时间周期期间测量到变化,所述计算装置确定所述磁场中的所述检测到的变化是所述磁异常。当来自陀螺仪的所接收传感器输入与所述磁场中的检测到的变化相关时,可确定所述磁场中的所述检测到的变化不是磁异常,且当来自陀螺仪的所接收传感器输入不与所述磁场中的所述检测到的变化相关时,可确定所述磁场中的所述检测到的变化是磁异常。在一些实施方案中,响应于确定所述磁场中的所述检测到的变化是磁异常,所述计算装置的组件忽视从磁力计接收到的对应于所述磁场中的所述检测到的变化的滤波器输入。在其它实施方案中,响应于确定所述磁场中的所述检测到的变化是磁异常,所述计算装置的组件增加与磁向量滤波器相关联的窗口大小。在一个实施方案中,确定检测到的变化是磁异常可包括将磁力计数据与阈值进行比较,其中所述阈值可至少部分基于陀螺仪数据。
一种示范性非暂时性计算机可读存储媒体可包含可由处理器执行的指令,所述指令包括用以在磁向量滤波器处接收磁力计数据的指令,其中所述磁力计数据包括来自磁力计的传感器输出;用以在所述磁向量滤波器处接收陀螺仪数据的指令,其中所述陀螺仪数据包括来自陀螺仪的传感器输出;以及用以通过使用磁向量滤波器中的磁力计数据和陀螺仪数据来确定磁向量的指令,所述磁向量滤波器能够独立于与定向确定一起使用的加速度计数据来确定磁向量。
所述示范性非暂时性计算机可读存储媒体可进一步包含可由处理器执行以基于磁力计数据和陀螺仪数据来确定磁向量滤波器中的磁场中的检测到的变化是否为磁异常的指令。在一个实施方案中,当来自陀螺仪的所接收传感器输入与所述磁场中的检测到的变化相关时,可确定所述磁场中的所述检测到的变化不是磁异常,且当来自陀螺仪的所接收传感器输入不与所述磁场中的所述检测到的变化相关时,可确定所述磁场中的所述检测到的变化是磁异常。所述示范性非暂时性计算机可读存储媒体可进一步包含可由处理器执行以忽视从磁力计接收到的对应于所述磁场中的所述检测到的变化的滤波器输入且/或响应于确定所述磁场中的所述检测到的变化是磁异常而增加与磁向量滤波器相关联的窗口大小的指令。
上文所描述的另一种或相同的示范性非暂时性计算机可读存储媒体可包含可由处理器执行的指令,所述指令包括用以在重力向量滤波器处接收加速度计数据的指令,其中所述加速度计数据包括来自加速度计的传感器输出;用以在所述重力向量滤波器处接收陀螺仪数据的指令;以及用以通过在重力向量滤波器中使用加速度计数据和陀螺仪数据来确定重力向量的指令,其中所述重力向量用于确定计算装置的定向。
在一个实施方案中,所述重力向量滤波器和所述磁向量滤波器使用自适应滤波器,且所述自适应滤波器的至少一个滤波器参数是可动态调整的。
一种示范性设备可包含用于在磁向量滤波器处接收磁力计数据的装置,其中所述磁力计数据包括来自磁力计的传感器输出;用于在所述磁向量滤波器处接收陀螺仪数据的装置,其中所述陀螺仪数据包括来自陀螺仪的传感器输出;以及用于通过使用磁向量滤波器中的磁力计数据和陀螺仪数据来确定磁向量的指令的装置,所述磁向量滤波器能够独立于与定向确定一起使用的加速度计数据来确定磁向量。
示范性设备可进一步包含用于基于磁力计数据和陀螺仪数据来确定磁向量滤波器中的磁场中的检测到的变化是否为磁异常的装置。在一个实施方案中,当来自陀螺仪的所接收传感器输入与所述磁场中的检测到的变化相关时,可确定所述磁场中的所述检测到的变化不是磁异常,且当来自陀螺仪的所接收传感器输入不与所述磁场中的所述检测到的变化相关时,可确定所述磁场中的所述检测到的变化是磁异常。所述示范性设备可进一步包含用于忽视从磁力计接收到的对应于所述磁场中的所述检测到的变化的滤波器输入的装置和/或用于响应于确定所述磁场中的所述检测到的变化是磁异常而增加与磁向量滤波器相关联的窗口大小的装置。
上文所描述的另一种或相同的设备可包含:用于在重力向量滤波器处接收加速度计数据的装置,其中所述加速度计数据包括来自加速度计的传感器输出;用于在所述重力向量滤波器处接收陀螺仪数据的装置;以及用于通过在重力向量滤波器中使用加速度计数据和陀螺仪数据来确定重力向量的装置,其中所述重力向量用于确定计算装置的定向。
在一个实施方案中,所述重力向量滤波器和所述磁向量滤波器使用自适应滤波器,且所述自适应滤波器的至少一个滤波器参数是可动态调整的。
本文中所描述的实施例包含一种装置。所述装置包括经配置以对来自加速度计和陀螺仪的输入进行滤波的重力滤波器以及经配置以对来自加速度计和陀螺仪的输入进行滤波的磁滤波器。在一些实施例中,所述重力滤波器与所述磁滤波器是分开的。在一些实施例中,所述重力滤波器和所述磁滤波器中的至少一者使用自适应滤波器,且所述自适应滤波器的至少一个滤波器参数是可动态调整的。在一些实施例中,由所述重力滤波器从其接收输入的陀螺仪是由磁滤波器从其接收输入的陀螺仪。在以上实施例中的一些实施例中,所述重力滤波器包括重力向量滤波器且/或所述磁滤波器包括磁向量滤波器。
本文中所描述的实施例包含一种用于确定磁异常的方法。所述方法包括:在磁向量滤波器处接收磁力计数据;在所述磁向量滤波器处接收陀螺仪数据;以及基于磁力计数据和陀螺仪数据来确定磁向量滤波器中的磁场中的检测到的变化是否包括磁异常。在一些实施例中,所述磁力计数据包括来自磁力计的测量值或其它信息输出。在一些实施例中,所述陀螺仪数据包括来自陀螺仪的测量值或其它信息输出。在一些实施例中,所述方法包括在陀螺仪未在检测到磁场中的变化的时间周期期间测量到变化时确定所述检测到的变化是磁异常。在一些实施例中,所述方法包括在确定所述磁场中的所述检测到的变化是磁异常时忽视或减轻从磁力计接收到的对应于所述检测到的变化的滤波器输入。在一些实施例中,所述方法包括在确定所述磁场中的所述检测到的变化是磁异常时增加与来自磁力计的输入相关联的窗口大小。
一种用于对与耦合到计算装置的第一传感器相关联的数据进行滤波的示范性方法可包含:从所述第一传感器接收信号;从所述信号检测来自多个信号参数的第一信号参数的可变性的变化;以及至少部分基于所述第一信号参数的所述可变性的所述检测到的变化来调整用于从所述信号滤波第二信号参数的滤波器的至少一个滤波器参数。所述滤波器可为自适应滤波器,且所述自适应滤波器的所述至少一个滤波器参数可为可动态调整的。在一个实施方案中,所述自适应滤波器是卡尔曼滤波器。在一个方面中,所述滤波器的所述至少一个滤波器参数可包括滤波器的窗口大小,其中所述滤波器的所述窗口大小与所述第一信号参数的所述可变性成正比。在另一方面中,所述至少一个滤波器参数可包括所述滤波器的增益,其中所述滤波器的所述增益与所述第一信号参数的所述可变性成反比。
在一个实施方案中,所述第一传感器可为加速度计,所述第二信号参数可为重力向量,且所述第一信号参数可为除了所述重力向量之外的信号参数。所述第一信号参数可为装置的信号噪声、测量误差、传感器校准误差或线性加速度中的一或多者。在另一实施方案中,所述第一传感器可为磁力计,所述第二信号参数可为磁向量,且所述第一信号参数可为除了所述磁向量之外的信号参数。所述第一信号参数可包含信号噪声、传感器校准误差或瞬态磁场中的一或多者。
在一个实施例中,通过所述方法检测所述第一信号参数的所述可变性的所述变化包括确定所述装置已转变为大体上静止状态。在另一实施例中,所述方法进一步包括响应于使用第二传感器确定所述装置已转变为大体上静止状态,将所述第一传感器转变为低功率状态。在一个实施例中所述第一传感器可为陀螺仪和/或磁力计,且所述第二传感器可为加速度计。在一个实施方案中,转变为所述低功率状态可包含将所述第一传感器断开或工作循环。所述方法可进一步包括响应于使用第二传感器确定所述装置已转变为大体上静止状态,将所述滤波器转变为低功率状态。
一种用于对与第一传感器相关联的数据进行滤波的示范性计算机装置可包含:接收器,其经配置以从所述第一传感器接收信号;以及滤波器,其具有用于从所述信号对第一信号参数进行滤波的至少一个滤波器参数,所述至少一个滤波器参数可至少部分基于从所述信号检测到的来自多个信号参数的第二信号参数的可变性的变化而调整。所述滤波器可为自适应滤波器,且所述自适应滤波器的所述至少一个滤波器参数可为可动态调整的。在一个实施方案中,所述自适应滤波器是卡尔曼滤波器。在一个方面中,所述滤波器的所述至少一个滤波器参数可包括滤波器的窗口大小,其中所述滤波器的所述窗口大小与所述第一信号参数的所述可变性成正比。在另一方面中,所述至少一个滤波器参数可包括所述滤波器的增益,其中所述滤波器的所述增益与所述第一信号参数的所述可变性成反比。
在一个实施方案中,所述第一传感器可为加速度计,所述第二信号参数可为重力向量,且所述第一信号参数可为除了所述重力向量之外的信号参数。所述第一信号参数可为装置的信号噪声、测量误差、传感器校准误差或线性加速度中的一或多者。在另一实施方案中,所述第一传感器可为磁力计,所述第二信号参数可为磁向量,且所述第一信号参数可为除了所述磁向量之外的信号参数。所述第一信号参数可包含信号噪声、传感器校准误差或瞬态磁场中的一或多者。
在一个实施例中,通过所述计算装置检测所述第一信号参数的所述可变性的所述变化可包含确定所述装置已转变为大体上静止状态。在另一实施例中,所述计算装置可进一步包括响应于使用第二传感器确定所述装置已转变为大体上静止状态,将所述第一传感器转变为低功率状态。在一个实施例中所述第一传感器可为陀螺仪和/或磁力计,且所述第二传感器可为加速度计。在一个实施方案中,转变为所述低功率状态可包含将所述第一传感器断开或工作循环。所述计算装置可进一步包括响应于使用第二传感器确定所述装置已转变为大体上静止状态,将所述滤波器转变为低功率状态。
一种示范性非暂时性计算机可读存储媒体,其中所述非暂时性计算机可读存储媒体包括可由处理逻辑执行的指令,所述指令包括用以进行以下操作的指令:从所述第一传感器接收信号;从所述信号检测来自多个信号参数检测的第一信号参数的可变性的变化;以及至少部分基于所述第一信号参数的所述可变性的所述检测到的变化来调整用于从所述信号滤波第二信号参数的滤波器的至少一个滤波器参数。所述滤波器可为自适应滤波器,且所述自适应滤波器的所述至少一个滤波器参数可为可动态调整的。在一个方面中,所述滤波器的所述至少一个滤波器参数可包括滤波器的窗口大小,其中所述滤波器的所述窗口大小可与所述第一信号参数的所述可变性成正比。在另一方面中,所述至少一个滤波器参数可包括所述滤波器的增益,其中所述滤波器的所述增益与所述第一信号参数的所述可变性成反比。所述示范性非暂时性计算机可读存储媒体可进一步包括用以响应于使用第二传感器确定所述装置已转变为大体上静止状态而将所述滤波器转变为低功率状态的指令。
一种示范性设备可包含:用于从所述第一传感器接收信号的装置;用于从所述信号检测来自多个信号参数的第一信号参数的可变性的变化的装置;以及用于至少部分基于所述第一信号参数的所述可变性的所述检测到的变化来调整用于从所述信号滤波第二信号参数的滤波器的至少一个滤波器参数的装置。所述滤波器可为自适应滤波器,且所述自适应滤波器的所述至少一个滤波器参数可为可动态调整的。在一个实施例中,所述滤波器的所述至少一个滤波器参数可包括滤波器的窗口大小,其中所述滤波器的所述窗口大小与所述第一信号参数的所述可变性成正比。在另一实施例中,所述至少一个滤波器参数可包括所述滤波器的增益,其中所述滤波器的所述增益与所述第一信号参数的所述可变性成反比。所述示范性设备可进一步包括用于响应于使用第二传感器确定所述装置已转变为大体上静止状态而将所述滤波器转变为低功率状态的装置。
本文中所描述的实施例包含一种装置。所述装置包括经配置以对来自加速度计和陀螺仪的输入进行滤波的重力滤波器以及经配置以对来自加速度计和陀螺仪的输入进行滤波的磁滤波器。在一些实施例中,所述重力滤波器和所述磁滤波器中的至少一者使用自适应滤波器,且所述自适应滤波器的至少一个滤波器参数是可动态调整的。在一些实施例中,由所述重力滤波器从其接收输入的陀螺仪是由磁滤波器从其接收输入的陀螺仪。在以上实施例中的一些实施例中,所述重力滤波器包括重力向量滤波器且/或所述磁滤波器包括磁向量滤波器。
本文中所描述的实施例包含一种用于确定磁异常的方法。所述方法包括:在磁向量滤波器处接收磁力计数据;在所述磁向量滤波器处接收陀螺仪数据;以及基于磁力计数据和陀螺仪数据来确定磁向量滤波器中的磁场中的检测到的变化是否包括磁异常。在一些实施例中,所述磁力计数据包括来自磁力计的测量值或其它信息输出。在一些实施例中,所述陀螺仪数据包括来自陀螺仪的测量值或其它信息输出。在一些实施例中,所述方法包括在陀螺仪未在检测到磁场中的变化的时间周期期间测量到变化时确定所述检测到的变化是磁异常。在一些实施例中,所述方法包括在确定所述磁场中的所述检测到的变化是磁异常时忽视或减轻从磁力计接收到的对应于所述检测到的变化的滤波器输入。在一些实施例中,在确定所述磁场中的所述检测到的变化是磁异常时,增加与来自磁力计的输入相关联的窗口大小。
一种用于使计算装置处的信息同步的示范性方法可包含:确定来自多个传感器输入的共同传感器输入;以及使用于产生定向数据的输出与所述共同传感器输入同步,其中所述定向数据是使用所述多个传感器输入来产生。在一个方面中,使用于产生所述定向数据的所述输出与所述共同传感器输入同步包括通过对一或多个剩余传感器输入求平均直到所述共同传感器输入到达,而使所述一或多个剩余传感器输入与所述共同传感器输入同步,其中所述一或多个剩余传感器输入是来自所述多个传感器输入的除了所述共同传感器输入之外的传感器输入。在另一方面中,使用于产生所述定向数据的所述输出与所述共同传感器输入同步包括将所述多个传感器输入中的至少一个传感器输入传播到所述共同传感器输入,且其中所述方法进一步包括基于所述共同传感器输入以及所述所传播的一或多个传感器输入而使用多个滤波器产生所述定向数据。
在示范性实施方案中,所述共同传感器输入可包括来自陀螺仪的输入,且所述多个传感器输入的除了所述共同传感器输入之外的一或多个剩余传感器输入可包括来自加速度计和/或磁力计的输入。
示范性方法还可包括使用多个滤波器对所述共同传感器输入和所述一或多个剩余传感器输入进行滤波,所述多个滤波器包括用于使用来自加速度计和陀螺仪的数据来确定与计算装置相关联的重力向量的重力向量滤波器,以及用于使用来自磁力计和陀螺仪的数据来确定与计算装置相关联的磁向量的磁向量滤波器。此外,所述方法可检测计算装置上的在时间上将定向数据接受为统一定向数据点的操作系统框架,其中响应于对所述操作系统框架的检测而执行所述同步。
在一个实施例中,所述示范性方法可进一步包括:确定四元数系统中所表示的定向数据的分量;确定来自四元数系统中所表示的定向数据的分量的角度分量是负的;以及响应于确定所述角度分量是负的,调整使用所述四元数系统表示的定向数据的分量,使得所述角度分量是正的。在一个实施方案中,所述方法可进一步包含检测计算装置上的仅将四元数系统的三个分量传递到应用层的操作系统框架,其中响应于检测到所述操作系统框架而执行所述调整所述分量。
另外,所述示范性方法可进一步包括确定定向数据的线性加速度,其中确定所述线性加速度包括:确定与所述计算装置相关联的所测得的加速度;确定与所述计算装置相关联的非规格化重力向量;以及通过从所述计算装置的所测得的加速度移除重力向量的非规格化重力分量来确定所述计算装置的线性加速度。
一种用于使信息同步的示范性计算装置可包含处理逻辑,其用以确定来自多个传感器输入的共同传感器输入且使用于产生定向数据的输出与所述共同传感器输入同步,其中所述定向数据是使用所述多个传感器输入来产生。在一个方面中,使用于产生所述定向数据的所述输出与所述共同传感器输入同步包括通过对一或多个剩余传感器输入求平均直到所述共同传感器输入到达,而使所述一或多个剩余传感器输入与所述共同传感器输入同步,其中所述一或多个剩余传感器输入是来自所述多个传感器输入的除了所述共同传感器输入之外的传感器输入。在另一方面中,使用于产生所述定向数据的所述输出与所述共同传感器输入同步包括将所述多个传感器输入中的至少一个传感器输入传播到所述共同传感器输入,且其中所述示范性计算装置进一步包括基于所述共同传感器输入以及所述所传播的一或多个传感器输入而使用多个滤波器产生所述定向数据。在示范性实施方案中,所述共同传感器输入可包括来自陀螺仪的输入,且所述多个传感器输入的除了所述共同传感器输入之外的一或多个剩余传感器输入可包括来自加速度计和/或磁力计的输入。
所述示范性计算装置还可包括经配置以使用多个滤波器对所述共同传感器输入和所述一或多个剩余传感器输入进行滤波的处理逻辑,所述多个滤波器包括用于使用来自加速度计和陀螺仪的数据来确定与计算装置相关联的重力向量的重力向量滤波器,以及用于使用来自磁力计和陀螺仪的数据来确定与计算装置相关联的磁向量的磁向量滤波器。此外,所述处理逻辑可经配置以检测计算装置上的在时间上将定向数据接受为统一定向数据点的操作系统框架,其中响应于对所述操作系统框架的检测而执行所述同步。
在一个实施例中,所述示范性计算装置可进一步包括经配置以进行以下操作的处理逻辑:确定四元数系统中所表示的定向数据的分量;确定来自四元数系统中所表示的定向数据的分量的角度分量是负的;以及响应于确定所述角度分量是负的,调整使用所述四元数系统表示的定向数据的分量,使得所述角度分量是正的。在一个实施方案中,所述计算装置可进一步包含检测计算装置上的仅将四元数系统的三个分量传递到应用层的操作系统框架,其中响应于检测到所述操作系统框架而执行所述调整所述分量。
另外,所述示范性方法可进一步包括经配置以进行以下操作的处理逻辑:确定定向数据的线性加速度,其中确定所述线性加速度包括:确定与所述计算装置相关联的所测得的加速度;确定与所述计算装置相关联的非规格化重力向量;以及通过从所述计算装置的所测得的加速度移除重力向量的非规格化重力分量来确定所述计算装置的线性加速度。
一种示范性非暂时性计算机可读存储媒体包括可由处理逻辑执行的指令,所述指令包括用以进行以下操作的指令:确定来自多个传感器输入的共同传感器输入;以及使用于产生定向数据的输出与所述共同传感器输入同步,其中所述定向数据是使用所述多个传感器输入来产生。在一个方面中,使用于产生所述定向数据的所述输出与所述共同传感器输入同步包括通过对一或多个剩余传感器输入求平均直到所述共同传感器输入到达,而使所述一或多个剩余传感器输入与所述共同传感器输入同步,其中所述一或多个剩余传感器输入是来自所述多个传感器输入的除了所述共同传感器输入之外的传感器输入。在另一方面中,使用于产生所述定向数据的所述输出与所述共同传感器输入同步包括将所述多个传感器输入中的至少一个传感器输入传播到所述共同传感器输入,且其中所述示范性非暂时性计算机可读存储媒体还可包括用以基于所述共同传感器输入以及所述所传播的一或多个传感器输入而使用多个滤波器产生所述定向数据的指令。在示范性实施方案中,所述共同传感器输入可包括来自陀螺仪的输入,且所述多个传感器输入的除了所述共同传感器输入之外的一或多个剩余传感器输入可包括来自加速度计和/或磁力计的输入。
示范性非暂时性计算机可读存储媒体还可包括用以使用多个滤波器对所述共同传感器输入和所述一或多个剩余传感器输入进行滤波的指令,所述多个滤波器包括用于使用来自加速度计和陀螺仪的数据来确定与计算装置相关联的重力向量的重力向量滤波器,以及用于使用来自磁力计和陀螺仪的数据来确定与计算装置相关联的磁向量的磁向量滤波器。此外,示范性非暂时性计算机可读存储媒体还可包括用以检测计算装置上的在时间上将定向数据接受为统一定向数据点的操作系统框架的指令,其中响应于对所述操作系统框架的检测而执行所述同步。
在一个实施例中,所述示范性非暂时性计算机可读存储媒体还可包括用以进行以下操作的指令:确定四元数系统中所表示的定向数据的分量;确定来自四元数系统中所表示的定向数据的分量的角度分量是负的;以及响应于确定所述角度分量是负的,调整使用所述四元数系统表示的定向数据的分量,使得所述角度分量是正的。在一个实施方案中,所述示范性非暂时性计算机可读存储媒体还可包括用以检测计算装置上的仅将四元数系统的三个分量传递到应用层的操作系统框架的指令,其中响应于检测到所述操作系统框架而执行所述调整所述分量。
另外,所述示范性非暂时性计算机可读存储媒体还可包括用以确定定向数据的线性加速度的指令,其中确定所述线性加速度包括:确定与所述计算装置相关联的所测得的加速度;确定与所述计算装置相关联的非规格化重力向量;以及通过从所述计算装置的所测得的加速度移除重力向量的非规格化重力分量来确定所述计算装置的线性加速度。
一种设备可包含:用于确定来自多个传感器输入的共同传感器输入的装置;以及用于使用于产生定向数据的输出与所述共同传感器输入同步的装置,其中所述定向数据是使用所述多个传感器输入来产生。在一个方面中,使用于产生所述定向数据的所述输出与所述共同传感器输入同步包括用于以下操作的装置:通过对一或多个剩余传感器输入求平均直到所述共同传感器输入到达,而使所述一或多个剩余传感器输入与所述共同传感器输入同步,其中所述一或多个剩余传感器输入是来自所述多个传感器输入的除了所述共同传感器输入之外的传感器输入。在另一方面中,使用于产生所述定向数据的所述输出与所述共同传感器输入同步包括用于将所述多个传感器输入中的至少一个传感器输入传播到所述共同传感器输入的装置,且其中所述设备进一步包括用于基于所述共同传感器输入以及所述所传播的一或多个传感器输入而使用多个滤波器产生所述定向数据的装置。
在示范性实施方案中,所述共同传感器输入可包括来自陀螺仪的输入,且所述多个传感器输入的除了所述共同传感器输入之外的一或多个剩余传感器输入可包括来自加速度计和/或磁力计的输入。
示范性设备还可包括用于使用多个滤波器对所述共同传感器输入和所述一或多个剩余传感器输入进行滤波的装置,所述多个滤波器包括用于使用来自加速度计和陀螺仪的数据来确定与计算装置相关联的重力向量的重力向量滤波器,以及用于使用来自磁力计和陀螺仪的数据来确定与计算装置相关联的磁向量的磁向量滤波器。此外,所述设备可包括用于检测计算装置上的在时间上将定向数据接受为统一定向数据点的操作系统框架的装置,其中响应于对所述操作系统框架的检测而执行所述同步。
在一个实施例中,所述示范性设备可进一步包括:用于确定四元数系统中所表示的定向数据的分量的装置;用于确定来自四元数系统中所表示的定向数据的分量的角度分量是负的装置;以及用于响应于确定所述角度分量是负的而调整使用所述四元数系统表示的定向数据的分量以使得所述角度分量是正的装置。在一个实施方案中,所述设备可进一步包含用于检测计算装置上的仅将四元数系统的三个分量传递到应用层的操作系统框架的装置,其中响应于检测到所述操作系统框架而执行所述调整所述分量。
另外,所述示范性设备可进一步包括用于确定定向数据的线性加速度的装置,其中用于确定所述线性加速度的装置包括:用于确定与所述计算装置相关联的所测得的加速度的装置;用于确定与所述计算装置相关联的非规格化重力向量的装置;以及用于通过从所述计算装置的所测得的加速度移除重力向量的非规格化重力分量来确定所述计算装置的线性加速度的装置。
本文中所描述的实施例包含一种装置。所述装置包括经配置以对来自加速度计和陀螺仪的输入进行滤波的重力滤波器以及经配置以对来自加速度计和陀螺仪的输入进行滤波的磁滤波器。在一些实施例中,所述重力滤波器和所述磁滤波器中的至少一者使用自适应滤波器,且所述自适应滤波器的至少一个滤波器参数是可动态调整的。在一些实施例中,由所述重力滤波器从其接收输入的陀螺仪是由磁滤波器从其接收输入的陀螺仪。在以上实施例中的一些实施例中,所述重力滤波器包括重力向量滤波器且/或所述磁滤波器包括磁向量滤波器。
本文中所描述的实施例包含一种用于确定磁异常的方法。所述方法包括:在磁向量滤波器处接收磁力计数据;在所述磁向量滤波器处接收陀螺仪数据;以及基于磁力计数据和陀螺仪数据来确定磁向量滤波器中的磁场中的检测到的变化是否包括磁异常。在一些实施例中,所述磁力计数据包括来自磁力计的测量值或其它信息输出。在一些实施例中,所述陀螺仪数据包括来自陀螺仪的测量值或其它信息输出。在一些实施例中,所述方法包括在陀螺仪未在检测到磁场中的变化的时间周期期间测量到变化时确定所述检测到的变化是磁异常。在一些实施例中,所述方法包括在确定所述磁场中的所述检测到的变化是磁异常时忽视或减轻从磁力计接收到的对应于所述检测到的变化的滤波器输入。在一些实施例中,在确定所述磁场中的所述检测到的变化是磁异常时,增加与来自磁力计的输入相关联的窗口大小。
前述内容已相当广泛地概述了实例的特征及技术优点以便可较好地理解下文的详细描述。下文将描述额外特征和优点。所揭示的概念和特定实施例可容易地用作用于修改或设计用于实行本发明的相同目的的其它结构的基础。此等效构造不脱离所附权利要求书的精神和范围。当结合附图进行考虑时,将从以下描述更好地理解据信为本文所揭示的概念的特性的特征(关于其组织和操作方法两者)连同相关联的优点。仅出于说明和描述的目的而提供各图中的每一者,且其不作为对权利要求书的限制的界定。
附图说明
通过实例来说明本发明的各方面。参考图式来提供以下描述,其中相同参考标号始终用于指代相同元件。虽然在本文描述一或多种技术的各种细节,但其它技术也是可能的。在一些情况下,以框图形式来展示众所周知的结构和装置以便有助于描述各种技术。
可通过参考说明书和图式的其余部分来实现对由本发明提供的实例的性质和优点的进一步理解,其中在所有若干图式中使用相同的参考数字来指代类似组件。在一些情况下,子标记与参考数字相关联以表示多个类似组件中的一者。当在没有对现有子标记的规范的情况下参考参考数字时,参考数字指代所有此类类似组件。
图1是说明用于使用单个滤波器对加速度计、陀螺仪和磁力计的输出进行滤波的非限制性示范性系统的简化框图。
图2A是说明用于使用多个滤波器对加速度计和磁力计的输出进行滤波的非限制性示范性系统的简化框图。
图2B是说明用于确定重力向量的非限制性实例的简化流程图。
图2C是说明用于确定磁向量的非限制性实例的简化流程图。
图3是说明用于获取改进的定向数据的非限制性实例的简化流程图。
图4和5说明根据本发明的一或多个说明性方面的实例性图表,其中将从至少一个磁力计接收的数据与从至少一个陀螺仪接收的数据进行比较。
图6说明简化流程图,其说明根据本发明的一或多个说明性方面的执行陀螺仪辅助式磁异常拒斥的非限制性方法。
图7A是说明用于从传感器输出导出经滤波斜度的系统的简化框图。
图7B是说明用于计算重力向量的经滤波斜角和经滤波分量的经扩展重力向量滤波器的非限制性实例的简化框图。
图8A是说明用于改进与传感器相关联的滤波器的方法的非限制性实例的简化流程图。
图8B是说明用于改进与传感器相关联的滤波器的方法的非限制性实例的简化流程图。
图9是说明用于节省与滤波器系统相关联的电力的非限制性过程的简化流程图。
图10是说明加速度计辅助式滤波器系统的非限制性实例的简化框图。
图11说明根据本发明的一或多个说明性方面的卡尔曼滤波器的实例性实施方案。
图12A是说明用于使各种传感器输入同步的本发明的非限制性实施例的简化时序流程图。
图12B是说明用于使传感器输入的各种源同步的本发明的非限制性实施例的简化流程图。
图13是说明用于提供定向数据的本发明的非限制性实施例的简化流程图。
图14A是说明用于产生线性加速度的现有技术系统的简化框图。
图14B是说明根据本发明的实施例的用于产生线性加速度的非限制性系统的另一简化框图。
图15是说明根据本发明的实施例的用于确定装置的线性加速度的方法的非限制性实例的简化流程图。
图16说明并入有用于实践本发明的实施例的装置的若干部分的示范性计算装置。
具体实施方式
现在将相对于附图来描述若干说明性实施例,附图形成所述说明性实施例的部分。虽然在下文描述可在其中实施本发明的一或多个方面的特定实施例,但在不脱离本发明的范围或所附权利要求书的精神的情况下,可使用其它实施例且可作出各种修改。
针对用于例如通过基于传感器1650确定装置1600中的重力向量、磁向量、线性加速度和/或旋转向量来确定装置1600的运动和/或定向的电力有效系统而提供技术。在本发明的一些实施例中,使用例如加速度计1655、磁力计1665和陀螺仪1660等传感器。此外,提供用于在节省电力的同时潜在地加速对重力向量、旋转向量和线性加速度的确定、增加准确度且重新格式化输出以用于流行的操作系统框架(例如,谷歌安卓)的技术,所述谷歌安卓对重力向量、线性加速度和四元数(旋转)向量的呈现格式具有特定要求。
使用重力向量对例如四元数(旋转)向量等确定定向数据有助于相对于地球的定向。举例来说,可使用使用重力向量而计算的角度通过描述相对于水平平面的定向或与此平面的倾斜度来描述相对于地球的定向。而且,可使用磁向量来使用地球的磁场的水平分量和本地偏角导出定向数据。
使用重力向量等确定定向数据有助于使用俯仰脚和横摇角相对于水平平面的定向。可例如通过对加速度进行陀螺仪辅助式滤波来从陀螺仪1660和加速度计1655测量值中确定重力向量分量。还可使用地球的磁场测量值,从而允许确定第三欧拉角偏航(在安卓术语中被称作方位角)。作为俯仰、横摇和偏航的替代,还可以9元素旋转矩阵或其到四元数或旋转向量(RV)的4元素压缩的形式来表示3D定向。
确定定向的一种方式可为通过使用陀螺仪1660、加速度计1655和磁力计1665、卡尔曼滤波器等式中的输出。本发明的实施例还可使用用于从重力向量和(经陀螺仪辅助式)滤波的磁向量中确定旋转向量的替代实施方案。所述两个向量的叉积可产生指向东的水平向量,且具有重力向量的叉积可又产生指向北的水平向量。这3个向量(垂直向量、水平东和水平北)中的每一者可构成3*3旋转矩阵的一个列,其可原样输出或被压缩为旋转向量而输出。
本发明的实施例包含用于加速度计1655(重力向量滤波器)和磁力计1665(磁向量滤波器)的独立滤波器来替代使用单个滤波器。通过分离出来自加速度计1655和磁力计1665的输入,本发明的实施例可使用自适应滤波器,所述自适应滤波器调整增益和窗口,从而允许来自传感器的更快速且更准确的结果。另外,当装置1600是静止时,可将陀螺仪1660、磁力计1665和一些滤波器转变为较低功率状态。本发明的各方面还包含用于以下各者的技术:增加用于通过使用非规格化的重力向量来确定线性加速度的准确度以及提供让应用层导出四元数系统的第四分量的机制。
独立的重力向量滤波器和磁向量滤波器:
许多传感器融合系统使用单个滤波器来组合地处理所有传感器输入以移除误差。可使用卡尔曼滤波器通过在一段时间周期(由时间常数确定)内观测测量值来移除噪声和其它错误以产生趋于较靠近测量值的真实值的值。图1是说明用于使用单个滤波器对加速度计1655、陀螺仪1660和磁力计1665的输出进行滤波的系统的框图。然而,这些滤波器系统可难以准确地进行校准,因为改变不同的校准参数会具有用于对不同传感器进行滤波的不同效应。举例来说,加速度计(用于找出重力向量)和磁力计(用于找出磁向量)可将不同的环境因素关联为噪声。因此,在任何给定时间周期期间,对于加速度计的噪声可不同于对于磁力计的噪声。在此系统中,可需要用于滤波器的窗口的较大静态时间常数以从加速度计和磁力计输出两者适当地移除误差。
图2A是说明用于使用单独的滤波器对加速度计1655和磁力计1665以及陀螺仪1660的输出进行滤波的系统的框图。本发明的实施例在重力向量滤波器202处一起处理加速度计数据以及陀螺仪数据,以用于确定重力向量。可使用例如图16中所说明的处理器1610等处理器或重力向量滤波器202的控制器或组件来处理传感器数据。本发明的实施例还可在磁向量滤波器204处一起处理磁力计数据以及陀螺仪数据,以确定磁向量。可使用例如图16中所说明的处理器1610等处理器或磁向量滤波器204的控制器或组件来处理传感器数据。在本发明的一些实施例中,使用自适应滤波器,其允许使用处理器1610、滤波器的控制器或组件来动态地调整自适应滤波器的一或多个参数。在一个实施例中,所述自适应滤波器可为卡尔曼滤波器。
重力向量滤波器:
对于重力向量滤波器202,来自传感器1650的样本或输出数据在由滤波器的时间常数规定的时间周期内累积,且通过重力向量滤波器202进行滤波以导出重力向量。通过滤波器对数据进行滤波可包含在处理器1610、控制器、专用集成电路(ASIC)或装置1600上的任何其它数字或模拟逻辑处处理数据。重力向量滤波器202可实施于硬件或处理器1610上的执行软件中,和/或临时存储在工作存储器1635中。还可将时间常数称作滤波器的窗口大小,且可在整个说明书中互换地使用。来自加速度计1655和/或陀螺仪1660的一或多个信号参数可充当噪声,且可在确定重力向量的过程中具有不利效应。其后,可广泛地使用与重力向量滤波器202相关联的噪声以包含除了重力向量自身之外的可在确定重力向量的过程中不利的任何信号参数。在一些例子中,这些信号参数可包含(但不限于)实际测量噪声、传感器校准误差以及线性加速度的所估计水平。可从传感器的校准误差以及环境中的噪声来贡献噪声。还可将线性加速度称作平移加速度,且可在整个说明书中互换地使用。
加速度计1655可根据测量各种方向上的力的原则而工作。当装置1600以及相应的所耦合加速度计1655在运动中时,来自重力场和加速度的力可能不可辨别,且加速度计1655可不能彼此区分。重力向量滤波器202的目的可为找出重力向量,这与(例如)线性加速度相对,且因此线性加速度可为噪声,因为线性加速度可有损于获得真实的重力向量。当装置1600在运动中时,装置1600的加速度可视为噪声。
具体来说,当装置1600静止时,装置1600经历较少的噪声,且可增加重力向量滤波器202的增益以减少重力向量滤波器202的稳定时间。当装置1600在运动中时,存在较大的连续滤波器误差,且在较长时间周期内的样本可用于导出重力向量。当装置1600静止时,所述噪声显著减少,且在较短时间常数下的重力向量滤波是可能的。例如图1600中所描述的装置1600等装置可在一些短暂时刻内静止,这是因为用户在装置1600处于他的/她的口袋里的情况下坐下来,或者保持装置1600在桌子上并持续一些短暂时刻。
装置1600的静止位置可从加速度计1655、陀螺仪1660、磁力计1665的输出或使用任何其它传感器输出来辨别出。当装置1600处于静止位置时,存在较少的噪声,且在较高增益下的较短时间周期(即,较短的时间常数)内的样本足以从重力向量滤波器202导出重力向量。换句话说,滤波器的输出稳定地快得多,因为误差被更快地取消。举例来说,在装置1600处于静止时所执行的重力向量的计算可较大地归于装置1600的相对动力学,这与通常在延长的时间周期期间且/或当装置1600处于运动中时所观测到的噪声或传感器误差形成对比。当装置1600处于运动中时,误差可相当大,且滤波器可要花费长得多的时间来稳定输出。然而,当装置1600静止时,误差可小得多,且可在减小滤波器的时间常数的同时增加增益。当减小时间常数时,可减少或消除来自陀螺仪1660的传感器误差。因此,通过检测到装置1600静止且调整滤波器的时间常数和增益,可更快地且以相同或更佳的准确度来找出重力向量。因此,例如图16中所说明的处理器1610等处理器或重力向量滤波器202的控制器或组件可调整滤波器的操作参数,例如滤波器的时间常数和/或增益。可响应于检测到装置1600静止、检测到噪声的减少,或检测到装置1600或其传感器1650的信号的状态、信号或可变性的另一变化,而执行所述调整。
可以任何数目的方式来确定对重力向量滤波器202的操作参数的调整。在一个实施例中,所述调整与装置1600的运动水平大致成比例。因此,可通过处理器1610或控制器连续地或不断地调整时间常数。在另一实施例中,通过由处理器1610或控制器在表中查找装置1600的运动状态,且基于查找状态来确定对应调整,而确定所述调整。举例来说,当装置1600在运动中时,可使用第一时间常数,且当装置1600大体上静止时,可使用第二时间常数。举例来说,在一个方面中,当装置1600在运动中时的第一时间常数可为5秒,且当装置1600处于大体上静止位置时的第二时间常数可为1.4秒。此外,当装置1600绝对静止时可使用第三时间常数。在一个方面中,所述第三常数可为0.6秒。此类示范性表可动态地或静态地产生,且存储于存储装置1625中,且临时加载在工作存储器1635中以供存取。
图2B是说明用于确定重力向量的非限制性实例的简化流程图。过程200可由包括硬件(电路、专用逻辑等)、软件(例如,运行在通用计算系统或专用机器上)、固件(嵌入式软件)或其任何组合的处理器1610或处理逻辑执行。在一个实施例中,过程200由如图16中所描述的一或多个计算机系统1600执行。在一个实施例中,传感器1650获取传感器输入以用于通过由图16中所描述的组件进行滤波和处理来进一步处理。
在框206处,可在重力向量滤波器202处接收加速度计数据,其中所述加速度计数据包括来自加速度计1655的传感器输出。在一些实施例中,框206可由装置1600的组件执行,所述组件例如为接收器或耦合到重力向量滤波器202以用于接收传感器数据的其它接口(未图示)。可在重力向量滤波器202处接收陀螺仪数据,其中所述陀螺仪数据包括来自陀螺仪1660的传感器输出。在一些实施例中,框208可由装置1600的组件执行,所述组件例如为耦合到重力向量滤波器202的接收器或其它接口(未图示)。在框210处,装置的组件(例如,重力向量滤波器202)可通过在重力向量滤波器中使用加速度计数据和陀螺仪数据来确定重力向量,其中所述重力向量可用于确定计算装置的定向。在一个实施例中,重力向量滤波器202可能够独立于与定向确定一起使用的磁力计数据来确定重力向量。
应了解,图2B中所说明的特定步骤提供根据本发明的实施例的在操作模式之间切换的特定方法。因此在替代性实施例中还可执行其它步骤序列。举例来说,本发明的替代性实施例可以不同次序执行上文概述的步骤。为了说明,用户可选择从第三操作模式改变为第一操作模式,从第四模式改变为第二模式,或其之间的任何组合。另外,图2B中所说明的个别步骤可包含在对所述个别步骤适当时可在各种序列中执行的多个子步骤。此外,可取决于特定应用而添加或移除额外的步骤。所属领域的技术人员将认识和了解过程的许多变化、修改和替代方案。
磁向量滤波器:
类似地,关于使用一或多个磁力计1665来检测和/或测量磁场中的变化(例如,作为用户输入的形式)的装置,可存在从一或多个磁力计1665接收的数据不可靠时的时期。此可包含其中在重力中存在偏差和/或其中存在干扰磁场的例子。举例来说,可由一或多个其它电组件和/或电子装置而产生干扰磁场。在例如这些情况等时期期间,由一或多个磁力计1665提供的磁向量信息可被此干扰歪曲。
对于磁力计1665,来自磁力计1665和/或陀螺仪1660的一或多个信号参数可充当在确定磁向量的过程中的噪声。在确定磁向量的过程中不利的信号参数可不同于在确定重力向量的过程中不利的信号参数。其后,可广泛地使用与磁向量滤波器204相关联的噪声以包含除了磁向量自身之外的可在确定磁向量的过程中不利的任何信号参数。在一些例子中,这些信号参数可包含(但不限于)传感器校准误差以及所估计的瞬态磁场(即,磁场中的瞬态异常)。磁向量滤波器204试图滤除这些误差和异常,其中所述滤波器可实施于硬件或处理器1610上的执行软件中,和/或临时存储在工作存储器1635中。在加速度计1655的情况下,如上文所论述,装置1600的运动可归于噪声。然而,加速度计1665可不受运动影响。而是,磁力计1665的读数可受磁异常和瞬态磁场影响。因此,如果未检测到磁异常,那么可增加增益,且可减小磁力计1665的时间常数。具有较低噪声的较高增益导致更快地读出在装置的磁环境中累积的误差。举例来说,如果通过将噪声贡献给磁场而存在较大的卡车驱动,那么可在卡车的驱动之间的时间期间动态地减小时间常数。可通过检查所测得的以及经滤波的磁向量参数(例如,量值以及与水平的倾斜以及随着时间的稳定性(变化))来确定瞬态磁场的存在。因此,例如图16中所说明的处理器1610等处理器或磁向量滤波器204的控制器或组件可调整滤波器的操作参数,例如滤波器的时间常数和/或增益。另外,可将以上参数与当前用户位置的标准地球磁场模型参数进行比较。需要知晓具有10到20英里的准确度的用户位置,且可使用GNSS、小区ID或手动位置输入来获得用户位置。
在噪声较低的情况下具有滤波器的较高增益和较短时间常数的另一益处是允许由陀螺仪1660引入的较低误差。陀螺仪1660可使融合传感器输出更平滑且准确;然而,如果陀螺仪1660的校准具有误差,那么可近似通过将陀螺仪1660的偏移乘以(时间)常数来估计来自陀螺仪1660的定向误差贡献。使用陀螺仪1660测得的误差可累积,且陀螺仪1660可在较大的时间窗口内向一旁拉动滤波器。因此,较短的时间常数可导致来自陀螺仪1660的较小的误差贡献。然而,当存在针对加速度计1655和/或磁力计1665读数的显著噪声时,可使用长时间常数。重力向量滤波器202可使用来自加速度计1655和陀螺仪1660的读数,而磁向量滤波器204可使用来自磁力计1665和陀螺仪1660的读数。使用用于重力向量滤波器202和磁向量滤波器204的较小的时间常数可将由陀螺仪1660引入的误差减小时间常数倍。
产生和/或实施独立的滤波器可能尤其有益,因为在使用加速度计1655导出重力向量以及使用磁力计1665导出磁向量的过程中不利的这些各种信号参数的环境或其它源可不同。举例来说,重力向量滤波器202和磁向量滤波器204可动态地使用与滤波器相关联的不同的且较短的时间常数,其取决于使用传感器从环境检测到的不利信号参数或噪声。举例来说,静止装置1600可具有极少的相关联的噪声或不利的信号参数来用于计算重力向量,且因此可使用较小的时间常数。且可独立于环境中的瞬态磁场的量来调整重力向量滤波器202的窗口大小。类似地,允许通过滤波器或由滤波器对其操作的增益或换句话说测量值的频率可在重力向量滤波器202和磁向量滤波器204的低减损信号参数的时期期间彼此独立地增加。
在一些实施例中,即使为了分别确定重力向量和磁向量的目的而分离来自传感器1650的加速度计1655和磁力计1665输出,加速度计1655可仍用作对磁向量滤波器204的输入。举例来说,加速度计数据可通过将运动信息提供给磁向量滤波器204来辅助磁滤波器,以用于节省电力或更有效地计算磁向量。来自加速度计1655的加速度计数据还可辅助用于陀螺仪1660和磁力计1665的电力节省技术,如在图9和10中进一步论述。
图2C是说明用于确定磁向量的非限制性实例的简化流程图。过程201可由包括硬件(电路、专用逻辑等)、软件(例如,运行在通用计算系统或专用机器上)、固件(嵌入式软件)或其任何组合的处理器1610或处理逻辑执行。在一个实施例中,过程201由如图16中所描述的一或多个计算机系统1600执行。在一个实施例中,传感器1650获取传感器输入以用于通过由图16中所描述的组件进行滤波和处理来进一步处理。
可在磁向量滤波器204处接收磁力计数据,其中所述磁力计数据包括来自磁力计1665的传感器输出。在一些实施例中,框212可由装置1600的组件执行,所述组件例如为耦合到磁向量滤波器204且经配置以用于接收传感器数据的接收器或其它接口(未图示)。可在磁向量滤波器204处接收陀螺仪数据,其中所述陀螺仪数据包括来自陀螺仪1660的传感器输出。在一些实施例中,框214可由装置1600的组件执行,所述组件例如为耦合到磁向量滤波器204的接收器或其它接口(未图示)。在框216处,装置的组件(例如,磁向量滤波器204)可通过在磁向量滤波器中使用磁向量数据和陀螺仪数据来确定磁向量,其中所述磁向量可用于确定计算装置的定向。在一个实施例中,磁向量滤波器204可能够独立于与定向确定一起使用的加速度计数据来确定磁向量。
应了解,图2C中所说明的特定步骤提供根据本发明的实施例的在操作模式之间切换的特定方法。因此在替代性实施例中还可执行其它步骤序列。举例来说,本发明的替代性实施例可以不同次序执行上文概述的步骤。为了说明,用户可选择从第三操作模式改变为第一操作模式,从第四模式改变为第二模式,或其之间的任何组合。另外,图2C中所说明的个别步骤可包含在对所述个别步骤适当时可在各种序列中执行的多个子步骤。此外,可取决于特定应用而添加或移除额外的步骤。所属领域的技术人员将认识和了解过程的许多变化、修改和替代方案。
图3是说明用于获取改进的定向数据的非限制性实例的简化流程图。过程300可由包括硬件(电路、专用逻辑等)、软件(例如,运行在通用计算系统或专用机器上)、固件(嵌入式软件)或其任何组合的处理器1610或处理逻辑执行。在一个实施例中,过程300由如图16中所描述的一或多个计算机系统1600执行。在一个实施例中,传感器1650获取传感器输入以用于通过由图16中所描述的组件进行滤波和处理来进一步处理。
在框302处,耦合到计算装置1600的加速度计1655和其它模块获得加速度计数据。在框304处,耦合到计算装置1600的陀螺仪1660获得陀螺仪数据,且在框306处,磁力计1665获得磁力计数据。类似地,在框304处,耦合到计算装置1600的陀螺仪1660和其它模块获得陀螺仪数据。还可使用未图示的其它传感器1650来确定装置的定向。
在框308处,重力向量滤波器202至少使用加速度计数据和陀螺仪数据来确定重力向量,其中所述重力向量用于确定装置1600的定向。重力向量滤波器202可使用自适应滤波器,且可使用图16中所论述的装置1600的组件而实施于软件、固件或硬件中。在框312处,可由处理器1610或控制器使用来自一或多个传感器的信号参数来动态地调整自适应滤波器的至少一个滤波器参数。在图3中,在框312处,出于说明的目的,使用加速度计数据来确定重力向量滤波器202的至少一个滤波器参数。虽然在图3中未图示,但一些实施例还可使用陀螺仪数据、磁力计数据和/或可用于调整重力向量滤波器202的参数的任何其它传感器数据。可响应于检测到除了重力向量之外的在确定重力向量的过程中不利的信号参数(例如,噪声)的变化或可变性来调整重力向量滤波器202的滤波器参数。
在框310处,磁向量滤波器204至少使用磁力计数据和陀螺仪数据来帮助确定磁向量,其中所述磁向量用于确定装置1600的定向。如图4和5中进一步说明以及图6中所论述,陀螺仪辅助式磁向量滤波器204还允许用于执行磁异常拒斥的方法。磁向量滤波器204可使用自适应滤波器,且可使用图16中所论述的装置1600的组件而实施于软件、固件或硬件中。在框314处,可由处理器1610或控制器使用来自一或多个传感器的信号参数来动态地调整自适应滤波器的至少一个滤波器参数。在图3中,在框312处,出于说明的目的,使用加速度计数据来确定重力向量滤波器202的至少一个滤波器参数。虽然在图3中未图示,但一些实施例还可使用陀螺仪数据、磁力计数据和/或可用于调整磁向量滤波器204的参数的任何其它传感器数据。可响应于检测到除了重力向量之外的在确定重力向量的过程中不利的信号参数(例如,噪声)的变化或可变性来调整磁向量滤波器204的滤波器参数。
在本发明的一些实施例中,与重力向量滤波器202或磁向量滤波器204相关联的自适应滤波器可使用卡尔曼滤波器来允许调整所述参数。自适应滤波器的自适应参数的实例可包含(但不限于)自适应滤波器的时间常数和增益。
如上文关于图2A详细地论述,分离出重力向量和磁向量的确定可为有利的,因为在确定相应向量的过程中不利的与重力向量和磁向量相关联的信号参数(例如,噪声)是不同的。通过分离出确定过程,重力向量滤波器202和磁向量滤波器204的滤波器参数可由耦合到装置1600的处理器1610或控制器独立地调整。独立地调整滤波器参数允许滤波器参数的变化的更细粒度。举例来说,可具体基于信号参数的变化对重力向量滤波器202或磁向量滤波器204是否不利来调整相应滤波器的时间常数。
应了解,图3中所说明的特定步骤提供根据本发明的实施例的在操作模式之间切换的特定方法。因此在替代性实施例中还可执行其它步骤序列。举例来说,本发明的替代性实施例可以不同次序执行上文概述的步骤。为了说明,用户可选择从第三操作模式改变为第一操作模式,从第四模式改变为第二模式,或其之间的任何组合。另外,图3中所说明的个别步骤可包含在对所述个别步骤适当时可在各种序列中执行的多个子步骤。此外,可取决于特定应用而添加或移除额外的步骤。所属领域的技术人员将认识和了解过程的许多变化、修改和替代方案。
磁向量滤波器204可接收磁力计数据和陀螺仪数据来用于确定磁向量。来自陀螺仪1660的数据可辅助磁向量滤波器确定并拒斥从磁力计接收的数据中的异常,如图4和5中所说明以及图6中进一步论述。
图4和5说明根据本发明的一或多个说明性方面的实例性图表,其中将从至少一个磁力计1665接收的数据与从至少一个陀螺仪1660接收的数据进行比较。举例来说,图4说明实例性图表400,其中线405可表示在一段时间周期内的磁场测量值(例如,由磁力计1665俘获)的振幅,且进一步其中线410可表示在相同时间周期内的陀螺运动测量值(例如,由陀螺仪1660俘获)的振幅。在实例性图表400中,磁场测量值中的波动(例如,如由线405中的变化表示)一股与陀螺运动测量值中的波动(例如,如由线410中的变化表示)相关。因为磁场测量值中的波动与陀螺运动测量值中的波动相关,所以可以基于陀螺仪数据来确定磁场数据不含有异常,因为(例如)预期当计算装置1600经历运动时,将在装置1600的陀螺运动测量值(例如,因为所述运动可导致装置1600的定向的变化)以及装置1600的磁场测量值(例如,因为所述运动可使装置1600经受略微不同的重力,所述重力可(例如)与装置1600的方位中的变化相关联)中存在变化。在一个实施例中,由处理器1610执行所述确定,且所述确定可基于从存储器1635存储以及执行的指令。
在图5的实例性图表500中,线505可表示在一段时间周期内的磁场测量值(例如,由磁力计1665俘获)的振幅,且线510可表示在相同时间周期内的陀螺运动测量值(例如,由陀螺仪1660俘获)的振幅。然而,与实例性图表400中所说明的情形相比,在实例性图表500中,磁场测量值中的波动(例如,如由线505中的变化表示)可能不与陀螺运动测量值中的波动(例如,如由线510中的变化表示)相关。举例来说,线505中的尖峰(其可表示由磁力计1665俘获的磁场测量值中的突然变化)不与线510中的对应变化(其表示陀螺运动测量值)相关。因此,可例如使用如下文进一步描述的方法和/或方法步骤中的一或多者来确定磁场测量值中的突然变化是异常。在一个实施例中,由处理器1610执行所述确定,且所述确定可使用从存储器1635存储以及执行的指令来作出。
图6说明简化流程图,其说明根据本发明的一或多个说明性方面的执行陀螺仪辅助式磁异常拒斥的非限制性方法。根据一或多个方面,举例来说,本文中所描述的方法和/或方法步骤中的任一者和/或全部可由计算装置1600实施且/或实施于所述计算装置中,所述计算装置例如为计算装置1600和/或下文更详细地描述的装置。在一个实施例中,下文关于图6所描述的方法步骤中的一或多者可由装置1600的处理器实施,所述处理器例如为处理器1610或另一处理器。另外或替代地,本文中所描述的方法和/或方法步骤中的任一者和/或全部可实施于计算机可读指令中,所述计算机可读指令例如为存储于例如存储器1635或如下文另外详细地描述的另一计算机可读媒体等计算机可读媒体上的计算机可读指令。
在步骤605中,可接收陀螺仪数据。在一个实施例中,所述陀螺仪数据可包含与装置1600相关联的运动数据。举例来说,在步骤605中,计算装置1600可从包含于计算装置1600中的一或多个陀螺仪1660接收陀螺仪数据。在至少一个布置中,可大体上实时地接收陀螺仪数据,使得当一或多个陀螺仪1660俘获、测量且输出关于移动的信息(例如,计算装置1600的定向上的变化)时,计算装置1600和/或其中所包含的处理器(例如,处理器1610)接收、分析和/或另外处理此类陀螺仪数据。陀螺仪数据涵盖由陀螺仪1660感知、测量和/或以其它方式输出的任何数据。陀螺仪数据不限于在计算装置1600移动时所获取的数据。举例来说,在一些实施例中,步骤605包含例如使用陀螺方差来确定计算装置1600何时大体上静止。在一些实施例中,可使用除了陀螺仪1660之外的作为使用陀螺仪1660的补充或替代的一或多个传感器1650来替代地确定装置平稳性。举例来说,可在一些实施例中分析与装置1600相关联的相机所俘获的一系列图像以确定装置是否大体上静止。在其它实例中,可使用超声或IR信息。
在步骤610中,可检测磁场中的变化。举例来说,在步骤610中,装置1600可基于从包含于装置1600中的一或多个磁力计1665接收的磁场数据来检测磁场中的变化。在至少一个布置中,装置1600可能仅在从一或多个磁力计1665接收的数据指示已俘获和/或测量到超过阈值量的磁场中的变化时才检测磁场中的变化。
随后,在步骤615中,可由耦合到装置1600的处理器1610或控制器来确定磁场中的检测到的变化是否为磁异常。举例来说,在步骤615中,装置1600可基于所接收的陀螺仪数据来确定磁场中的检测到的变化是否为磁异常。
在一个实施例中,装置1600可响应于装置1600确定装置1600静止和/或在所述装置确定所述装置静止(例如,通过确定从一或多个陀螺仪1660接收的陀螺仪数据在其中检测到磁场中的变化的时间周期期间未识别和/或测量到移动)时确定(或经配置以确定)磁场中的检测到的变化是异常。举例来说,在此实施例中,如果磁力计1665检测到磁场中的变化,但陀螺仪1660未感测到位置或其它移动中的变化,那么可确定磁场中的检测到的变化是磁异常。另一方面,如果磁力计1665检测到磁场中的变化,且陀螺仪1660感测到位置或移动中的任何变化,那么可确定磁场中的检测到的变化不是异常。
在另一实施例中,可将检测到的磁场中的不同量和/或水平的变化视为对于陀螺测量值数据中的特定量和/或水平的变化来说是预期的和/或可接受的。因此,方法600可不仅在装置1600静止时使用(如上文所论述),而且在装置1600移动时使用。举例来说,由磁力计1665检测到的磁场中的小变化在陀螺仪1660在相同时刻检测到位置和/或定向中的小变化时可能不被视为磁异常。另一方面,由磁力计1665检测到的磁场中的大变化在陀螺仪1660仅在相同时刻检测到位置和/或定向中的小变化时可被视为磁异常。
此外,在此实施例中,可针对磁场中的检测到的特定量的变化以及陀螺测量值数据中的对应量的变化来界定不同的可接受性水平。以此方式,可界定分段函数且用于确定磁场中的特定检测到的变化是否为磁异常。举例来说,可使用分段函数来计算可接受性水平或其它此类阈值,或可使用查找表来确定。查找表可由处理器1610动态地产生,或/且存储于存储装置1625中,且从工作存储器1635临时存取。举例来说,查找表可界定多个陀螺测量值中的每一者的可接受磁变化的阈值水平。
在步骤615中,确定磁场中的检测到的变化是磁异常,随后在步骤620中,可减轻所述磁异常。举例来说,在步骤620中,装置1600可实施和/或执行一或多种技术来减轻磁异常。
在一个实施例中,装置1600可通过忽视从磁力计1665接收到的对应于所述异常的磁场数据来减轻磁异常。举例来说,如果装置1600确定在特定时间周期期间俘获的磁场信息对应于磁异常,那么装置1600可通过防止所述信息用于将一股针对其使用所述信息的一或多个目的来忽视所述信息。此可包含(例如)防止将所述磁场信息提供给一或多个软件应用以作为用户输入、防止将所述磁场信息用于校准装置1600中所包含的一或多个传感器,和/或类似物。在一些实施例中,可仍报告磁场信息和/或防止使用磁场信息,但所述磁场信息可与低置信度值相关联或用低置信度值进行编码。以此方式,使用磁场信息的应用可确定是否依赖于或利用磁场信息以及依赖于或利用磁场信息的程度。
在另一实施例中,装置1600(即,处理器1610或控制器逻辑)可通过增加用于处理磁场信息的滤波器的时间常数来减轻磁异常。此可通过在较大时间周期内对磁场数据求平均,进而“抽出”噪声中的磁异常,而具有消除磁场中的“尖峰”或其它类似变化的实际效应。在至少一个布置中,所述滤波器可为卡尔曼滤波器。在一或多个布置中,可能需要以此方式来消除磁场数据(例如,当检测到磁异常时)以避免将不正确和/或误导的磁场信息提供给其它软件应用。举例来说,如果将误导的和/或以其它方式不正确的磁场信息提供给其它应用以作为用户输入,那么此信息可导致其它应用未按预期地执行、出故障、卡住,和/或对装置1600的用户造成其它不便。
如上文所论述,关于方法600所描述的减轻和/或消除磁场信息中的波动的技术可不仅应用于静止情景中,而且可应用于其中装置1600可旋转的情形中。在一个实施例中,当陀螺测量值数据指示所测得的旋转时,可使用旋转信息(其可为所预测的磁场将成为的东西)来计划磁向量。如果所测得的磁场与所计划的预测偏差过大,那么可在步骤615处确定测量值是异常。随后,可在步骤620处增加滤波器的时间常数(或者,可拒斥和/或忽视所述数据,如上文所描述)。
另一方面,如果在步骤615中确定磁场中的检测到的变化不是磁异常,那么在步骤625中,可通常通过处理器1610、控制器或其它逻辑来处理由磁力计1665提供的磁场信息。举例来说,在步骤625中,装置1600可使用所述磁场信息来用于多种不同目的中的一或多者。装置1600可例如将磁磁场信息提供给软件应用,在所述软件应用中,可将所述磁场信息视为用户输入。在一个实例中,所述软件应用可为视频游戏,例如竞赛游戏,其中用户倾斜和/或以其它方式移动装置1600来驾驶并操纵在视频游戏中显示的车辆。在另一实例中,所述软件应用可为导航应用,例如交互式地图应用,其中用户能够转动和/或以其它方式移动装置1600来改变地图的定向。举例来说,所述交互式地图应用可模拟罗盘且可使用磁场信息来确定装置1600的方位。
应了解,图6中所说明的特定步骤提供根据本发明的实施例的在操作模式之间切换的特定方法。因此在替代性实施例中还可执行其它步骤序列。举例来说,本发明的替代性实施例可以不同次序执行上文概述的步骤。为了说明,用户可选择从第三操作模式改变为第一操作模式,从第四模式改变为第二模式,或其之间的任何组合。另外,图6中所说明的个别步骤可包含在对所述个别步骤适当时可在各种序列中执行的多个子步骤。此外,可取决于特定应用而添加或移除额外的步骤。所属领域的技术人员将认识和了解过程的许多变化、修改和替代方案。
经扩展重力向量滤波器:
重力向量滤波器202确定重力向量。一旦确定了重力向量,便通过另一滤波器来处理重力向量的分量。此外,可使用重力向量来计算重力向量的其它函数。举例来说,可从重力向量的函数导出倾斜角度。所述倾斜角度还被滤波。使重力向量的分量和函数通过另一滤波器可在可由应用使用输出之前添加额外时间。图7A是说明用于从传感器输出导出经滤波斜度的系统的简化框图。在框705处,在此系统中,重力向量滤波器202导出重力向量的分量。在框710处,处理重力向量以导出斜度,因为斜度是重力向量的分量的函数。在715处,在框710处导出的斜度需要进一步平滑且经滤波,之后将其转发到应用以供使用。
在本发明的一个实施例中,使用经扩展重力向量滤波器来计算重力向量且同时弄平函数(例如,倾斜角度)和重力向量分量。同时处理通过消除在应用可使用数据之前使所计算的倾斜角度通过另一滤波器的步骤,而节省了时间并提供了更好的性能。可使用卡尔曼滤波器来用于经扩展重力向量滤波器。
图7B是说明用于计算重力向量的经滤波倾斜角度和经滤波分量的经扩展重力向量滤波器720的非限制性实施方案的简化框图。在经扩展重力向量滤波器720的一个方面中,可使用卡尔曼滤波器或任何其它自适应滤波器。经扩展重力向量滤波器720可将重力向量滤波器202的函数以及加速度计数据和陀螺仪数据用作输入,且输出重力向量的经滤波分量和经滤波倾斜角度。
使用经扩展重力向量滤波器可导致对所计算的角度的更佳平滑、较小的延迟和/或对于若干应用特别重要的更佳准确度,所述应用例如为相机或在装置1600上玩游戏中的角度补偿或抖动校正。举例来说,当玩找出斜度的游戏时,且对斜度的反应可在玩游戏的用户体验中形成显著差异,或给予玩家在与在其它装置上玩的其他玩家在线竞争中的竞争性优势。
图8A是说明用于改进与传感器相关联的滤波器的方法的非限制性实例的简化流程图。过程800可由包括硬件(电路、专用逻辑等)、软件(例如,运行在通用计算系统或专用机器上)、固件(嵌入式软件)或其任何组合的处理器1610或其它处理逻辑执行。在一个实施例中,过程800由如图16中所描述的一或多个计算机装置1600执行。在一个实施例中,传感器1650获取传感器输入以供由图16中所描述的装置的滤波和处理组件进一步处理。
例如卡尔曼滤波器等自适应滤波器获得多个信号参数,包括例如重力向量或磁向量等第一信号参数,以及在导出第一信号参数的过程中有害的例如噪声和误差等其它信号参数。在一些实施例中,例如如关于图2所论述,在重力向量滤波器202中一起处理加速度计数据和陀螺仪数据,且在磁向量滤波器204中一起处理磁力计数据和陀螺仪数据。
在框802处,装置1600的组件(例如,滤波器)从第一传感器接收信号以用于从所述信号的第一信号参数进行滤波。在框804处,装置1600的组件(例如,滤波器)从所述信号检测来自多个信号参数的第二信号参数的可变性的变化。在一个实施例中,所述第一传感器可为加速度计1655,所述第一信号参数可为重力向量,且所述第二信号参数可为除了所述重力向量之外的信号参数。所述第二信号参数可为装置1600的信号噪声、测量误差、传感器校准误差或线性加速度中的一或多者。在另一实施例中,所述第一传感器可为磁力计1665,所述第一信号参数可为磁向量,且所述第二信号参数可为除了所述磁向量之外的信号参数。所述第二信号参数可为信号噪声、传感器校准误差或瞬态磁场中的一或多者。
在框806处,由装置1600的组件(例如耦合到装置1600的处理器1610或控制器)执行的方法调整用于对所述信号进行滤波的至少一个滤波器参数。在一个实施例中,所述至少一个滤波器参数可包含自适应滤波器的时间常数,其中所述滤波器的所述时间常数与和所述滤波器的输入数据相关联的第二信号参数的可变性成正比。当引入加速度计1655或磁力计1665读数中的噪声较少时,可动态地调整时间常数。举例来说,所述方法可响应于检测到所述装置大体上静止而减小重力向量滤波器202的时间常数。大体上静止的装置可具有由用于计算重力向量的线性加速度引入的减小水平的噪声,如图2A中所论述。因为与静止装置1600相关联的加速度计数据可能比运动中的装置更准确,所以较少数目的数据样本可足以计算重力向量。因此,对重力向量滤波器202以及类似地对磁向量滤波器204的时间常数的动态调整可导致潜在更快速和更准确的读取。
在另一实施例中,所述至少一个滤波器参数可包含自适应滤波器的增益,其中所述自适应滤波器的所述增益可与和所述滤波器的输入数据相关联的第二信号参数的可变性近似成反比。举例来说,在检测到装置1600是静止后,装置1600的组件还可增加增益或所取样的数据的频率。因为在装置1600大体上静止时可以较高的置信度收集用于导出重力向量的数据样本,所以在较短时间周期(即,滤波器的较短时间常数)期间的较高数目的样本可足以计算重力向量。例如图16中所说明的处理器1610等处理器或滤波器的控制器或组件可调整滤波器的一或多个信号参数,例如滤波器的时间常数和/或增益。在一些实施例中,所述滤波器是自适应滤波器,且所述自适应滤波器的至少一个滤波器参数是可动态调整的。在一些实施例中,所述自适应滤波器可为卡尔曼滤波器。
应了解,图8A中所说明的特定步骤提供根据本发明的实施例的在操作模式之间切换的特定方法。因此在替代性实施例中还可执行其它步骤序列。举例来说,本发明的替代性实施例可以不同次序执行上文概述的步骤。为了说明,用户可选择从第三操作模式改变为第一操作模式,从第四模式改变为第二模式,或其之间的任何组合。另外,图8A中所说明的个别步骤可包含在对所述个别步骤适当时可在各种序列中执行的多个子步骤。此外,可取决于特定应用而添加或移除额外的步骤。所属领域的技术人员将认识和了解过程的许多变化、修改和替代方案。
图8B是说明用于改进与传感器相关联的滤波器的方法的非限制性实例的另一简化流程图。过程800可由包括硬件(电路、专用逻辑等)、软件(例如,运行在通用计算系统或专用机器上)、固件(嵌入式软件)或其任何组合的处理器1610或其它处理逻辑执行。在一个实施例中,过程801由如图16中所描述的一或多个计算机装置1600执行。在一个实施例中,传感器1650获取传感器输入以用于通过由图16中所描述的组件进行滤波和处理来进一步处理。因此,传感器1650中的任一者可包括下文所描述的第一传感器。
例如卡尔曼滤波器等自适应滤波器可获得多个信号参数,包括例如重力向量或磁向量等第一信号参数(在图8B中所说明的实例中被称作第二信号参数),以及在导出第二信号参数的过程中不利的例如噪声和误差等其它信号参数(在图8B中所说明的实例中被称作第一信号参数)。在一些实施例中,例如如关于图2所论述,在重力向量滤波器202中一起处理加速度计数据和陀螺仪数据,且在磁向量滤波器204中一起处理磁力计数据和陀螺仪数据。
在框808处,装置1600的组件(例如,滤波器)可从第一传感器接收信号。在一些实施例中,可在接收器或耦合到滤波器且经配置以用于接收传感器数据的其它接口(未图示)处接收信号。在框810处,装置1600的组件(例如,滤波器)可从所述信号检测来自多个信号参数的第一信号参数的可变性的变化。在框812处,可至少部分基于所述第一信号参数的所述可变性的所述检测到的变化来调整用于从所述信号对第二信号参数进行滤波的滤波器的至少一个滤波器参数。例如图16中所说明的处理器1610等处理器或滤波器的控制器或组件可调整滤波器的一或多个信号参数,例如滤波器的时间常数和/或增益。在一些实施例中,所述滤波器可为自适应滤波器,且所述自适应滤波器的至少一个滤波器参数是可动态调整的。在一些实施例中,所述自适应滤波器可为卡尔曼滤波器。
应了解,图8B中所说明的特定步骤提供根据本发明的实施例的在操作模式之间切换的特定方法。因此在替代性实施例中还可执行其它步骤序列。举例来说,本发明的替代性实施例可以不同次序执行上文概述的步骤。为了说明,用户可选择从第三操作模式改变为第一操作模式,从第四模式改变为第二模式,或其之间的任何组合。另外,图8B中所说明的个别步骤可包含在对所述个别步骤适当时可在各种序列中执行的多个子步骤。此外,可取决于特定应用而添加或移除额外的步骤。所属领域的技术人员将认识和了解过程的许多变化、修改和替代方案。
通过关闭陀螺仪进行电力节省:
图9是说明用于节省与滤波器系统相关联的电力的非限制性过程的简化流程图。过程900可由包括硬件(电路、专用逻辑等)、软件(例如,运行在通用计算系统或专用机器上)、固件(嵌入式软件)或其任何组合的处理逻辑执行。在一个实施例中,过程900由如图16中所描述的一或多个计算机装置1600执行。在一个实施例中,传感器1650获取传感器输入以用于通过由图16中所描述的组件进行滤波和处理来进一步处理。
在框902处,装置1600的组件可确定装置1600已转变为静止状态。在一些实施方案中,可使用来自加速度计1655的加速度计数据或任何其它传感器数据来作出此确定。
在框904处,由于装置大体上静止,所以在定向数据中不存在变化,且用于收集定向数据的一或多个传感器和/或滤波器可转变为低功率状态。在一些实施方案中,所述一或多个传感器可包含陀螺仪1660和/或磁力计1665。在一些实施方案中,所述一或多个滤波器可包含磁向量滤波器204。将所述一或多个传感器和/或滤波器转变为低功率状态可包含将所述传感器或滤波器断开或工作循环。
陀螺仪1660可主要用于确定定向数据,例如旋转变化。在一些实施方案中,相对于加速度计1655,陀螺仪1660从装置1600汲取更多的电力。为了电力节省,本发明的各方面可在装置1600处于静止或大体上静止位置时关闭高耗电的陀螺仪1660。当装置1600静止或大体上静止时,不存在要补偿的旋转变化,且可不需要陀螺仪1660。重力向量滤波器202可切换到仅加速度计1655滤波器。另外,如先前所论述,陀螺仪1660可贡献滤波器误差。当装置1600静止时,陀螺仪1660可被关闭,从而减少滤波器误差。因此,动态地关闭陀螺仪1660可节省电力且增加输出的准确度。
如图10中所示,可使用来自加速度计1655的加速度计数据来辅助陀螺仪1660、磁力计1665或/和磁滤波器来用于确定装置1600是移动还是静止以用于电力节省,且不用于确定定向数据(即,重力向量或磁向量)。在一个实施例中,除了将陀螺仪1660转变为低功率状态之外,响应于检测到装置1600静止,磁力计1665和磁向量滤波器204也可转变为低功率装置,因为当装置1600静止时,装置1600的定向不改变且可不需要来自磁力计1665和磁向量滤波器的结果。
应了解,图9中所说明的特定步骤提供根据本发明的实施例的在操作模式之间切换的特定方法。因此在替代性实施例中还可执行其它步骤序列。举例来说,本发明的替代性实施例可以不同次序执行上文概述的步骤。为了说明,用户可选择从第三操作模式改变为第一操作模式,从第四模式改变为第二模式,或其之间的任何组合。另外,图9中所说明的个别步骤可包含在对所述个别步骤适当时可在各种序列中执行的多个子步骤。此外,可取决于特定应用而添加或移除额外的步骤。所属领域的技术人员将认识和了解过程的许多变化、修改和替代方案。
将卡尔曼滤波器用作自适应滤波器:
用于计算重力向量或磁向量的大多数传统解决方案利用具有固定滤波器参数(例如,时间常数和增益)的一阶滤波器。将例如卡尔曼滤波器等自适应滤波器用作重力向量滤波器202是有利的,因为卡尔曼滤波器允许在计算如上文所论述的重力向量和磁向量中的参数的可调整性方面的灵活性。可使用卡尔曼滤波器通过在一段时间周期(由时间常数确定)内观测测量值来移除或补偿不合意的信号参数(例如噪声和其它错误)以产生较靠近测量值的真实值的值。图11说明由图16中所描述的装置1600实施的根据本发明的一或多个说明性方面的卡尔曼滤波器的实例性实施方案。当在运动状态与静止状态之间存在若干快速的转变时,通过使用卡尔曼滤波器而在性能上的差异可尤其显著。
传感器信息的基于卡尔曼滤波器的融合可基于基础传感器方差提供经融合传感器中的每一者上的最佳增益。使用卡尔曼滤波器的另一不同优势是,卡尔曼滤波器的设计允许通过使用与输入相关联的噪声(即,不合意的信号参数)对不同的输入进行加权。实质上,对卡尔曼滤波器的不同输入可按比例具有不同的权重。因此,当存在与加速度计1655输入相关联的较少噪声时,可对加速度计1655输入重度加权,且当存在与陀螺仪1660输入相关联的较少噪声时,可重度依赖于陀螺仪1660输入。以此方式,可强调可能经历较少噪声或被确定为更准确地操作的传感器,同时可减少或消除与高噪声相关联的传感器输出。
在一个实施例中,可独立地调整用于陀螺仪1660和加速度计1655中的每一者的相应增益。正经历最少量的噪声的传感器的增益可因此增加,且正经历最大量的噪声的传感器的增益可减小。在一些实施例中,所述增益与所估计的不合意的参数大致成反比,或所述增益的调整与所述不合意的信号参数的可变性的相反面近似成比例。此外,传统上,陀螺仪1660和加速度计1655被预校准,之后将输入提供给重力向量滤波器202。然而,当将卡尔曼滤波器用于重力向量滤波器202中时,可将具有相关联的不合意的信号参数(例如,充当加权参数的噪声)的陀螺仪1660和加速度计1655输出直接提供给重力向量滤波器202,从而消除了在滤波器的传统实施方案下所需的额外步骤。
还可将陀螺仪偏移计算为卡尔曼滤波器的部分,从而使陀螺仪1660输出更早地可用于应用。使陀螺仪1660偏移在早期可用在其中应用依赖于陀螺仪1660输出的情景中是有利的。举例来说,相机应用需要快速且准确的陀螺仪数据来用于比如相机图像中的角度补偿等应用。此外,计算卡尔曼滤波器中的偏移避免了用于对陀螺仪1660进行预校准的过程。替代地,陀螺仪1660可在运行滤波器时被校准。
当装置静止时,陀螺仪偏移可近似等效于陀螺仪输出(具有包含随机噪声的小误差)。许多廉价的陀螺仪可在室温下具有每秒许多度的偏移,加上随着温度的相当大的偏移漂移,其可使得所述陀螺仪实际上不可用,直到所述偏移已被校准为止。
当装置静止时,可通过在平稳间隔内简单地对陀螺仪1660输出求平均而在没有任何卡尔曼滤波器的情况下对陀螺仪偏移进行校准。然而,在一些使用情况下,还可需要在运动中校准所述偏移。例如,一些用户很少将电话静止防止桌子上,而是将电话握在手里或者放在口袋里,使得一直存在一些运动。在此些情形中,卡尔曼滤波器是有用的,因为其可在运动中校准偏移。这是因为可独立于陀螺仪1660从加速度计1655和磁力计1665测量值观测到装置定向。因此如果定向在从加速度计1655和磁力计1665计算的时间增量(dt)上变化(被称作dOrientaionAM),且定向增量从陀螺仪变化(由陀螺仪1660信号积分确定)(被称作dOrientationG),那么(dOrientationG-dOrientationAM)/dt提供陀螺仪1660偏移的估计。在多个测量值上求平均,所述偏移估计可提供合意水平的准确度。
使传感器同步:
在例如装置1600等计算装置上,操作系统提供硬件与应用之间的接口层。所述应用通过所述操作系统层来利用由硬件提供的功能性,例如对传感器数据的存取。所述操作系统可预期来自硬件的以特定方式格式化的输入,且提供用于所述应用的API以用于以统一方式存取数据,而不管基础硬件如何。操作系统的这些特性可在从硬件将准确的传感器数据提供给应用方面变得具有约束。举例来说,操作系统(例如,安卓)可预期处于统一时间戳的传感器数据(旋转/四元数坐标)。此些约束削弱了硬件在提供丰富和准确的传感器数据方面的能力。由装置1600的组件执行的本发明的实施例以由OS预期的方式将传感器数据呈现给操作系统,而不大体上损害传感器准确度。
图12A是说明用于使传感器输入的各种源同步的本发明的非限制性实施例的简化时序流程图。过程1200可由包括硬件(电路、专用逻辑等)、软件(例如,运行在通用计算系统或专用机器上)、固件(嵌入式软件)或其任何组合的处理逻辑执行。在一个实施例中,序列1200由如图16中所描述的一或多个计算机装置1600执行。在一个实施例中,传感器1650获取传感器输入以用于通过由图16中所描述的组件进行滤波和处理来进一步处理。
从重力向量滤波器202和磁向量滤波器204结果导出旋转向量和因此的定向数据。在实际的系统中,可以不同速率对传感器进行取样。然而,可能需要OS框架和应用以同步方式从具有统一时间戳的传感器数据获得定向数据。
可通过本发明的各方面将对应于共同时间的统一组定向数据呈现给OS框架,例如基础硬件、固件和/或软件,其中,在每一陀螺仪样本到达后即刻更新重力向量滤波器202和磁向量滤波器204。如果加速度计1655和磁力计1665恰好具有与陀螺仪时间戳不同的样本时间,那么加速度计1655和磁力计1665输出可经内插且与陀螺仪1660时间同步。
图12A展示通过陀螺仪样本的到达标记的三个不同时区。在时间T1处,第一陀螺仪样本1202到达,在时间T2处,第二陀螺仪样本1206到达,且在时间T3处,第三陀螺仪样本1210到达。框1216表示从TO到T1的时间,框1218表示从T1到T2的时间,且框1220表示从T2到T3的时间。参看图12A,在时间T1处,陀螺仪样本1202由重力向量滤波器202和磁向量滤波器204两者接收。如框1212和1222处所展示,本发明的实施例可从前面的时间TO到T1传播(例如,在一些实施例中旋转)先前的重力向量滤波器202和磁向量滤波器204结果。一旦所述结果与陀螺仪1660时间戳同步,便可将重力向量滤波器202和磁向量滤波器204的输出作为定向数据输出到OS框架、应用,或请求定向数据的任何其它组件。类似地,如框1214和1226处所展示,在时间T2处,从前面的时间T1到T2的先前的重力向量滤波器202和磁向量滤波器204结果可被传播到T2,且与陀螺仪样本1206同步。
当对传感器进行取样时,可通过处理器1610或其它控制器逻辑执行数据平均。在图12A中,如在框1224处所展示,加速度计样本1204在T1与T2之间到达。重力向量滤波器202对从T1到样本到达的时间戳的加速度计测量值求平均,且将其传递到一阶滤波器。类似地,在图12A中,如由框1228所展示,磁力计样本1208在T2与T3之间到达。重力向量滤波器202对从T1到样本到达的时间戳的加速度计测量值求平均,且将其传递到一阶滤波器。
在一些实施方案中,对重力滤波器和磁滤波器的求平均还暗示经由到陀螺仪时间戳的加速度计1655和磁力计1665传播而与陀螺仪同步。举例来说,可将加速度计样本1204传播到陀螺仪时间T2,且将磁力计样本1208传播到陀螺仪时间T3。
可通过处理器1610或其它控制器逻辑以陀螺仪取样速率来执行数据旋转。参看图12A,在时间T1处,陀螺仪样本1202由重力向量滤波器202和磁向量滤波器204两者接收。系统传播从前面的时间TO到T1的先前的重力和磁向量滤波器204结果(在1212处展示)。一旦结果经计算且与陀螺仪样本时间戳同步,来自对数据的平均的量值向量与旋转向量一起输出。类似地,在T2和T3处,加速度计1655和磁力计1665读数被传播穿过相应的滤波器以与陀螺仪时间戳匹配。
在一些实施方案中,可仅在装置旋转时执行用于同步(传播)的数据旋转,因为当装置静止时,加速度计1655和磁力计1665测量值近似恒定,而不管在装置静止时的所述测量值的时间戳如何,且可不需要数据旋转。对于运动中的装置,由于陀螺仪1660传感器数据可用,所以可使用从陀螺仪1660计算的旋转矩阵来准确地执行传播,类似于针对重力向量而产生的旋转。仅有的差异可为可从gyro(i)*(Tgyro(i)-T(gyro(i-1))计算出GravFi1ter.Rotate;MagFilter.Rotate的旋转矩阵,而对于加速度,可从gyro(i)*(Taccel-tgyro(i))计算出用于旋转矩阵的到Tgyro的传播。
因此,在一些实施例中,在从各种传感器接收样本时执行且累计对传感器的平均,且当接收陀螺仪样本(即,1202、1206和1210)时,产生旋转向量。然而,以统一时间戳输出旋转向量和量值,所述时间戳与接收陀螺仪样本的速率同步,因此以统一时间戳向操作系统提供传感器数据。
应了解,图12A中所说明的特定序列步骤提供根据本发明的实施例的在操作模式之间切换的特定方法。因此在替代性实施例中还可执行其它步骤序列。举例来说,本发明的替代性实施例可以不同次序执行上文概述的步骤。为了说明,用户可选择从第三操作模式改变为第一操作模式,从第四模式改变为第二模式,或其之间的任何组合。另外,图12A中所说明的个别步骤可包含在对所述个别步骤适当时可在各种序列中执行的多个子步骤。此外,可取决于特定应用而添加或移除额外的步骤。所属领域的技术人员将认识和了解过程的许多变化、修改和替代方案。
图12B是说明用于使传感器输入的各种源同步的本发明的非限制性实施例的简化流程图。过程1201可由包括硬件(电路、专用逻辑等)、软件(例如,运行在通用计算系统或专用机器上)、固件(嵌入式软件)或其任何组合的处理逻辑执行。在一个实施例中,过程1201由如图16中所描述的一或多个计算机装置1600执行。
在框1252处,由装置的组件(例如,处理逻辑或滤波器)执行的方法从多个传感器输入确定共同传感器输入。在框1254处,所述方法使用于产生定向数据的输出与所述共同传感器输入同步,其中所述定向数据是使用所述多个传感器输入来产生。
应了解,图12B中所说明的特定序列步骤提供根据本发明的实施例的在操作模式之间切换的特定方法。因此在替代性实施例中还可执行其它步骤序列。举例来说,本发明的替代性实施例可以不同次序执行上文概述的步骤。为了说明,用户可选择从第三操作模式改变为第一操作模式,从第四模式改变为第二模式,或其之间的任何组合。另外,图12B中所说明的个别步骤可包含在对所述个别步骤适当时可在各种序列中执行的多个子步骤。此外,可取决于特定应用而添加或移除额外的步骤。所属领域的技术人员将认识和了解过程的许多变化、修改和替代方案。
导出四元数系统的第四分量:
在一些OS框架(例如,谷歌安卓)中,应用可具有对仅三个旋转向量(四元数)XYZ分量的存取权,而不具有对第四分量的存取权,且在一些例子中,所述应用可需要导出第四分量。所述四元数旋转系统中的第四分量是角度大小(w)。四元数系统含有四个元素,且一个元素负责角度大小,且三个元素负责分量的角度方向和XYZ的投影。在四元数系统中,四个元素的平方和等于一。因此,应用可用存在的三个元素重新产生第四元素的量值。然而,由于第四分量的平方等于一减去剩余三个分量的平方和,所以应用层无法重新产生第四角度的正负号或定向,从而留下第四分量中的模糊元素。
如果四元数系统的所有四个分量都可由来自OS框架的应用层使用,那么角度大小是正还是负将无关紧要,因为正负号将被传送到应用层。然而,一些OS框架(例如,谷歌安卓)剥离四元数角度,且仅传达三个剩余的XYZ分量。当应用层处的定向数据的消费者重新产生角度正负号时,所得的正负号对于应用来说是模糊的。
实施例可通过产生局部旋转向量以使得其第四元素始终为正来避免混淆和模糊性。可通过调整旋转向量的XYZ分量来产生局部旋转向量。因此,当从四元数剥离第四元素,且随后客户端应用重新产生所述第四元素时,假设大小角度是正的,那么不存在模糊性且没有错误。
图13是说明用于提供让应用层导出四元数系统的第四分量的机制的本发明的非限制性实施例的简化流程图,其中第四分量被剥离或不受操作系统允许。过程1300可由包括硬件(电路、专用逻辑等)、软件(例如,运行在通用计算系统或专用机器上)、固件(嵌入式软件)或其任何组合的处理逻辑执行。在一个实施例中,过程1300由如图16中所描述的一或多个计算机装置1600执行。在一个实施例中,传感器1650获取传感器输入以用于通过由图16中所描述的组件进行滤波和处理来进一步处理。
在框1302处,装置1600使用传感器确定定向数据和与装置1600的定向相关联的四元数系统的四个分量。所述定向数据可使用参考图2到12所论述的方面来确定。在框1304处,装置1600检测在装置1600上使用的操作系统框架,其可仅将四元数系统的三个分量传递到应用层。在框1306处,装置1600的组件确定第四四元数分量是否为负。如果第四四元数分量为负,那么所述方法调整四元数坐标,使得第四分量始终为正。在一个实施方案中,可通过颠倒四元数(WXYZ)系统的所有四个分量的正负号来执行所述调整。此类颠倒可产生在定向方面的等效四元数,但具有非负角度分量。
应了解,图13中所说明的特定序列步骤提供根据本发明的实施例的在操作模式之间切换的特定方法。因此在替代性实施例中还可执行其它步骤序列。举例来说,本发明的替代性实施例可以不同次序执行上文概述的步骤。为了说明,用户可选择从第三操作模式改变为第一操作模式,从第四模式改变为第二模式,或其之间的任何组合。另外,图13中所说明的个别步骤可包含在对所述个别步骤适当时可在各种序列中执行的多个子步骤。此外,可取决于特定应用而添加或移除额外的步骤。所属领域的技术人员将认识和了解过程的许多变化、修改和替代方案。
通过使用非规格化的重力向量来增加线性加速度的准确度:
操作系统(OS)框架(例如,谷歌安卓API)可除了重力向量之外还需要线性加速度来作为定向数据输入。当装置1600不静止时,所测得的加速度具有线性加速度和重力以作为分量以及与总测得的加速度相关联的误差。与所测得的加速度相关联的误差具有使用滤波器移除不了的加速度偏移偏差。因为重力向量滤波器202类似于低通滤波器,所以在一些方面中,其消除了噪声,但其保持全部偏差。
出于简明起见,考虑始终静止的系统(且从不旋转)。于是陀螺仪1660可不必需,且可通过对来自加速度计1655的XYZ分量的平均(滤波)来获得重力估计。然而,所述平均可能未消除测量值偏差。现在,在旋转系统中,陀螺仪1660可使得系统能够通过将测量值还原到其中偏差是不可移除的伪静止系统而不将加速度计测量值旋转到共同参考系。具有不可观测(因此不可移除)的加速度计1655偏差的经还原的测量值仅呈现给陀螺仪辅助式低通滤波器。因此,部分归因于虑及所测得的加速度中的总误差的加速度偏移的此不可移除的偏差,线性加速度的测量值以及重力的测量值具有相关联的误差分量。
图14A是说明用于产生线性加速度的现有技术系统的简化框图。如图14A中所看到的,在现有技术系统中,通过从来自重力向量滤波器1402的所测得的加速度移除规格化的重力来计算线性加速度,因为大多数OS框架也需要规格化的重力向量。如图14A的框1404处所展示,通过使用真实重力向量的量值在地球上是约9.81m/s2的事实来规格化重力向量滤波器的输出,而规格化重力。在所测得的加速度中,线性加速度和重力两者具有相关联的误差分量。当从所测得的加速度而非所测得的重力移除规格化的重力时,不从计算移除与所测得的重力相关联的误差,且线性加速度具有比仅与所测得的线性加速度相关联的误差大的误差。举例来说,已知当装置1600静止时线性加速度是零。此外,当从所测得的加速度移除重力时,结果应为零。然而,如在图14A的框1406处所展示,当从所测得的加速度移除规格化的重力而非所测得的线性重力时,在许多情况下结果是非零数,其说明规格化的重力与非规格化的重力之间的差异以及其对所计算的线性加速度的准确度的相关联的效应。以下等式表示图14A中所展示的输出。
1.经滤波的重力=低通(所测得的加速度)(通过陀螺仪辅助)
2.输出重力=经滤波的重力*9.8086/规格化的(重力)
3.线性加速度=所测得的加速度-输出重力(其不是高通(所测得的加速度)因此并非没有加速度计偏移).
图14B是说明根据本发明的实施例的用于产生线性加速度的非限制性系统的简化框图。如图14B中的1408处所展示,本发明的实施例可由装置1600、由例如处理器1610或控制器等组件执行,且可使用非规格化的重力而非规格化的重力(如图14A中所展示)来从所测得的加速度导出线性加速度(以下等式2),即使为了OS框架而将重力向量规格化也如此。在一些实施例中,所以线性加速度算法类似于高通滤波器而作用,且移除了重力和加速度偏移两者,可在已导出线性加速度之后规格化输出的重力向量,如图14B中的1404处所展示。通过使用非规格化的重力,线性加速度可免于加速度计偏移(至少在静止位置中)、接近零、在加速度计噪声范围内。非规格化的重力是经滤波的重力。因此,当装置1600在静止位置中时,线性加速度没有加速度计偏移,且线性加速度的输出值将为零或较接近零。以下等式表示根据本发明的实施例的输出,如图14B中所展示。
1.经滤波的重力=低通(所测得的加速度)(在一些实施例中通过陀螺仪辅助)
2.线性加速度=所测得的加速度-经滤波的重力(其等效于高通(所测得的加速度)因此线性加速度没有加速度计偏移,所以在静止位置中接近零)
3.输出重力=经滤波的重力*9.8086/规格化的(重力)
图15是说明根据本发明的实施例的用于确定装置1600的线性加速度的方法的非限制性实例的简化流程图。过程1500可由包括硬件(电路、专用逻辑等)、软件(例如,运行在通用计算系统或专用机器上)、固件(嵌入式软件)或其任何组合的处理逻辑执行。在一个实施例中,过程1500由如图16中所描述的一或多个计算机装置1600执行。在一个实施例中,传感器1650获取传感器输入以用于通过由图16中所描述的组件进行滤波和处理来进一步处理。
参看图15,在框502处,装置1600使用加速度计1655测量加速度。在所测得的加速度中包含线性加速度分量和重力分量两者,且还具有线性加速度分量和重力分量的相关联的误差分量。
在框1504处,装置1600使用重力向量滤波器202确定与装置1600相关联的非规格化的重力向量。重力向量滤波器202可包含来自加速度计1655和陀螺仪1660的输入。
在框506处,参考图16所描述的由装置1600执行的方法至少通过从装置1600的所测得的加速度减去重力向量的非规格化的重力分量(在步骤1502处确定)来确定装置1600的线性加速度。当从所测得的加速度移除非规格化的重力分量而非规格化的重力时,还移除与重力分量相关联的误差。此结果产生更准确的线性加速度值。
应了解,图15中所说明的特定序列步骤提供根据本发明的实施例的在操作模式之间切换的特定方法。因此在替代性实施例中还可执行其它步骤序列。举例来说,本发明的替代性实施例可以不同次序执行上文概述的步骤。为了说明,用户可选择从第三操作模式改变为第一操作模式,从第四模式改变为第二模式,或其之间的任何组合。另外,图15中所说明的个别步骤可包含在对所述个别步骤适当时可在各种序列中执行的多个子步骤。此外,可取决于特定应用而添加或移除额外的步骤。所属领域的技术人员将认识和了解过程的许多变化、修改和替代方案。
可并入如图16中所说明的装置以作为先前所描述的计算机化的装置的部分。举例来说,装置1600可表示手持式或移动装置的组件中的一些组件。手持式或移动装置可为具有比如相机和显示单元等输入传感单元的任何计算装置。手持式装置的实例包含(但不限于)视频游戏控制台、平板计算机、智能电话和装置。图16提供装置1600的一个实施例的示意说明,其可执行如本文中所描述的由各种其它实施例提供的方法,且/或充当主机装置、远程亭/终端、销售点装置、装置、机顶盒和/或装置。图16仅打算提供各种组件的一股化说明,可在适当时利用所述组件中的任一者或全部。因此,图16广泛地说明可如何以相对分离或相对更集成的方式来实施个别系统元件。
将装置1600展示为包括可经由总线1605电耦合(或在适当时可以其它方式通信)的硬件元件。所述硬件元件可包含一或多个处理器1610,包含(不限制)一或多个通用处理器和/或一或多个专用处理器(例如,数字信号处理芯片、图形加速处理器,和/或类似物);一或多个输入装置1615,其可包含(不限制)相机、鼠标、键盘和/或类似物;以及一或多个输入装置1620,其可包含(不限制)显示单元、打印机和/或类似物。
另外,计算装置1600可进一步包含多个传感器1650,所述传感器可包含(但不限于)一或多个加速度计1655(例如,加速度计1655)、一或多个陀螺仪1660(例如,陀螺仪1660),和/或一或多个磁力计(例如,磁力计1665),如图2、7A、7B、10和11中所说明。加速度计1655可测量和/或提供(例如,向处理器1610提供)关于由计算装置1600经历和/或由加速度计1655以其它方式感测的加速度的信息。陀螺仪1660150可类似地测量和/或提供(例如,向处理器1610提供)关于由计算装置1600经历和/或由陀螺仪16601655以其它方式感测的陀螺仪运动(例如,定向中的变化)的信息。另外,磁力计1665可测量和提供(例如,向处理器1610提供)关于由计算装置1600经历和/或由磁力计1665以其它方式感测的磁场的测量值和/或磁场中的变化(例如,方位中的变化)的信息。处理器1610可实施上文所论述的重力向量滤波器202和磁向量滤波器204中的一或多者,例如如图2、7A、7B、10和11中所说明。在其它实施例中,这些滤波器可实施于上文所论述的传感器中的一或多者中,或实施为单独的硬件或例如存储于操作系统1640、应用1645,或工作存储器1635或存储装置1625的其它部分中的软件组件。
装置1600可进一步包含(且/或与之通信)一或多个非暂时性存储装置1625,其可包括(不限制)本地和/或网络可存取存储装置,且/或可包含(不限制)磁盘驱动器、驱动阵列、光学存储装置、固态存储装置,例如随机存取存储器(“RAM”)和/或只读存储器(“ROM”),其可为可编程的、闪存可更新的,和/或类似物。此些存储装置可经配置以实施任何适当的数据存储装置,包含(不限制)各种文件系统、数据库结构和/或类似物。
装置1600还可能包含通信子系统1630,所述通信子系统可包含(不限制)调制解调器、网卡(无线或有线)、红外线通信装置、无线通信装置和/或芯片组(例如,BluetoothTM装置、1602.11装置、WiFi装置、WiMax装置、蜂窝式通信设施等),和/或类似物。通信子系统1630可准许与网络(例如,下文所描述的网络(举一个实例))、其它装置和/或本文中所描述的任何其它装置交换数据。在许多实施例中,装置1600将进一步包括非暂时性工作存储器1635,其可包含如上文所描述的RAM或ROM装置。
装置1600还可包括展示为当前位于工作存储器1635内的软件元件,包含操作系统1640、装置驱动器、可执行库和/或其它代码,例如一或多个应用程序1645,所述应用程序可包括由各种实施例提供的计算机程序,且/或可经设计以实施由其它实施例提供的方法且/或配置由其它实施例提供的系统,如本文中所描述。仅举例来说,关于上文所论述的方法而描述的一或多个过程可能被实施为可由计算机(和/或计算机内的处理器)执行的代码和/或指令;在一方面中,此类代码和/或指令可随后用于配置和/或调适通用计算机(或其它装置)来执行根据所描述的方法(例如,图2B、2C、3、6、8A、8B、9、13和15中所说明的方法中的任一者)的一或多个操作。
一组这些指令和/或代码可能存储在计算机可读存储媒体上,例如上文所描述的存储装置1625。在一些情况下,存储媒体可能并入装置内,例如装置1600。在其它实施例中,存储媒体可能与装置分开(例如,可移除媒体,例如压缩光盘),且/或提供在安装包中,使得存储媒体可用其上存储的指令/代码来编程、配置和/或调适通用计算机。这些指令可能采取可由装置1600执行的可执行代码的形式,且/或可能采取源和/或可安装代码的形式,其在装置1600上编译和/或安装后(例如,使用多种一股可用的编译器、安装程序、压缩/解压缩公用程序等中的任一者)即刻采取可执行代码的形式。
可根据特定要求作出实质性变化。举例来说,还可能使用定制的硬件,且/或特定元件可能实施于硬件、软件(包含便携式软件,例如applet等)或两者中。此外,可使用到例如网络输入/输出装置等其它计算装置的连接。
一些实施例可使用装置(例如,装置1600)来执行根据本发明的方法。举例来说,所描述的方法的过程中的一些或全部可由装置1600响应于处理器1610执行工作存储器1635中所含有的一或多个指令的一或多个序列(其可能并入到操作系统1640和/或其它代码(例如,应用程序1645)中)来执行。可从另一计算机可读媒体(例如,存储装置1635中的一或多者)将此些指令读取到工作存储器1625中。仅举例来说,执行工作存储器1635中所含有的指令的序列可能致使处理器1610执行本文中所描述的方法的一或多个程序。
如本文中所使用的术语“机器可读媒体”和“计算机可读媒体”指代参与提供致使机器以特定方式操作的数据的任何媒体。在使用装置1600实施的实施例中,各种计算机可读媒体可能涉及向处理器1610提供指令/代码以供执行且/或可能用于存储和/或携载此类指令/代码(例如,作为信号)。在许多实施方案中,计算机可读媒体是物理的和/或有形的存储媒体。此媒体可采取许多形式,包含(但不限于)非易失性媒体、易失性媒体和传输媒体。非易失性媒体包含(例如)光盘和/或磁盘,例如存储装置1625。易失性媒体包含(不限制)动态存储器,例如工作存储器1635。传输媒体包含(不限制)同轴电缆、铜线和光纤,包含包括总线1605的电线,以及通信子系统1630的各种组件(和/或通信子系统1630借以提供与其它装置的通信的媒体)。此处,传输媒体还可采取波(包含(不限制)无线电、声波和/或光波,例如在无线电波和红外线数据通信期间所产生的波)的形式。
物理的和/或有形的计算机可读媒体的常见形式包含(例如)软盘、柔性磁盘、硬盘、磁带或任何其它磁性媒体、CD-ROM、任何其它光学媒体,穿孔卡、纸带、具有孔图案的任何其它物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任何其它存储器芯片或盒式磁带、载波(如下文所描述),或计算机可从其读取指令和/或代码的任何其它媒体。
在将一或多个指令的一或多个序列载运到处理器1610以供执行的过程中可涉及各种形式的计算机可读媒体。仅举例来说,所述指令可起初被携载在远程计算机的磁盘和/或光盘上。远程计算机可能将所述指令加载到其动态存储器中,且经由传输媒体将所述指令作为信号进行发送以让装置1600接收和/或执行。根据本发明的各种实施例,可能呈电磁信号、声学信号、光学信号和/或类似物的形式的这些信号是可在其上编码指令的载波的全部实例。
通信子系统1630(和/或其组件)一股将接收所述信号,且总线1605随后可能将所述信号(和/或由所述信号载运的数据、指令等)载运到工作存储器1635,处理器1610从所述工作存储器检索和执行所述指令。由工作存储器1635接收的指令可在由处理器1610执行之前或之后任选地存储于非暂时性存储装置1625上。
上文所论述的方法、系统和装置是实例。各种实施例可在适当时省略、替代或添加各种过程或组件。举例来说,在替代性配置中,所描述的方法可以不同于所描述的次序的次序执行,且/或可添加、省略和/或组合各种阶段。而且,关于某些实施例所描述的特征可组合在各种其它实施例中。实施例的不同方面和元件可以类似方式组合。而且,技术会演进且因此许多元件是实例,其不将本发明的范围限制于那些特定实例。
在描述中给出特定细节以提供对实施例的透彻理解。然而,可以在没有这些特定细节的情况下实践实施例。举例来说,已在没有不必要的细节的情况下展示电路、过程、算法、结构和技术,以便避免使所述实施例模糊不清。此描述仅提供实例性实施例,且无意限制本发明的范围、适用性或配置。而是,实施例的前述描述将向所属领域的技术人员提供用于实施本发明的实施例的启用性描述。在不脱离本发明的精神和范围的情况下,可在元件的功能和布置方面作出各种改变。
而且,将一些实施例描述为被描绘为流程图或框图的过程。虽然可将操作描述为连续过程,但许多操作可并行地或同时地执行。另外,操作的次序可重新布置。过程可具有图中未包含的额外步骤。此外,所述方法的实施例可由硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施。当实施于软件、固件、中间件或微码中时,用以执行相关联的任务的程序代码或代码段可存储在例如存储媒体等计算机可读媒体中。处理器可执行相关联的任务。
描述了若干实施例,在不脱离本发明的精神的情况下,可使用各种修改、替代性构造和等效物。举例来说,以上元件可仅为较大系统的组件,其中其它规则可优先于或以其它方式修改本发明的应用。而且,可在考虑以上元件之前、期间或之后来着手一定数目的步骤。因此,以上描述不限制本发明的范围。
Claims (32)
1.一种用以获得用于与计算装置的定向确定一起使用的信息的方法,所述方法包括:
在磁向量滤波器处接收磁力计数据,其中所述磁力计数据包括来自磁力计的传感器输出;
在所述磁向量滤波器处接收陀螺仪数据,其中所述陀螺仪数据包括来自陀螺仪的传感器输出;以及
通过在所述磁向量滤波器中使用所述磁力计数据和所述陀螺仪数据来确定磁向量,所述磁向量滤波器能够独立于与所述定向确定一起使用的加速度计数据来确定所述磁向量,
所述方法进一步包括:
在重力向量滤波器处接收所述加速度计数据,其中所述加速度计数据包括来自加速度计的传感器输出;
在所述重力向量滤波器处接收所述陀螺仪数据;以及
通过在所述重力向量滤波器中使用所述加速度计数据和所述陀螺仪数据来确定重力向量,其中所述重力向量用于确定所述计算装置的所述定向。
2.根据权利要求1所述的方法,其中所述重力向量滤波器和所述磁向量滤波器中的至少一者使用自适应滤波器,且所述自适应滤波器的至少一个滤波器参数是可动态调整的。
3.根据权利要求2所述的方法,其中所述至少一个滤波器参数与所述重力向量滤波器相关联,所述至少一个滤波器参数包括信号噪声、测量误差、传感器校准误差或线性加速度中的一者或多者。
4.根据权利要求2所述的方法,其中所述至少一个滤波器参数与所述磁向量滤波器相关联,所述至少一个滤波器参数包括传感器校准误差或瞬态磁场中的一者或多者。
5.根据权利要求2所述的方法,其中所述自适应滤波器包括卡尔曼滤波器。
6.根据权利要求1所述的方法,其中所述磁向量滤波器与所述重力向量滤波器分离。
7.根据权利要求1所述的方法,其进一步包括经扩展自适应滤波器,其中所述经扩展自适应滤波器接收所述计算装置的所述重力向量的所计算坐标以及所述陀螺仪数据和所述加速度计数据以作为输入。
8.根据权利要求1所述的方法,其进一步包括基于所述磁力计数据和所述陀螺仪数据来确定所述磁向量滤波器中的磁场中的检测到的变化是否为磁异常。
9.根据权利要求8所述的方法,其进一步包括:
响应于确定所述陀螺仪未在检测到所述磁场中的所述变化的时间周期期间测量到变化,确定所述磁场中的所述检测到的变化是所述磁异常。
10.根据权利要求8所述的方法,
其中当来自所述陀螺仪的所述所接收的传感器输出与所述磁场中的检测到的变化相关时,确定所述磁场中的所述检测到的变化不是所述磁异常;以及
其中当来自所述陀螺仪的所述所接收的传感器输出不与所述磁场中的所述检测到的变化相关时,确定所述磁场中的所述检测到的变化是所述磁异常。
11.根据权利要求8所述的方法,其进一步包括:
响应于确定所述磁场中的所述检测到的变化是所述磁异常,忽视从所述磁力计接收到的对应于所述磁场中的所述检测到的变化的滤波器输入。
12.根据权利要求8所述的方法,其进一步包括:
响应于确定所述磁场中的所述检测到的变化是所述磁异常,增加与所述磁向量滤波器相关联的窗口大小。
13.根据权利要求8所述的方法,其中确定所述检测到的变化是磁异常包括将所述磁力计数据与阈值进行比较。
14.根据权利要求13所述的方法,其进一步包括至少部分基于所述陀螺仪数据来计算所述阈值。
15.一种用于确定定向的计算装置,其包括:
接收器,其耦合到磁向量滤波器且经配置以:
在所述磁向量滤波器处接收磁力计数据,其中所述磁力计数据包括来自磁力计的传感器输出;
在所述磁向量滤波器处接收陀螺仪数据,其中所述陀螺仪数据包括来自陀螺仪的传感器输出;以及
所述磁向量滤波器,其经配置以:
通过在所述磁向量滤波器中使用所述磁力计数据和所述陀螺仪数据来确定磁向量,所述磁向量滤波器能够独立于与所述定向确定一起使用的加速度计数据来确定所述磁向量,
所述计算装置进一步包括:
接收器,其耦合到重力向量滤波器且经配置以:
在所述重力向量滤波器处接收所述加速度计数据,其中所述加速度计数据包括来自加速度计的传感器输出;
在所述重力向量滤波器处接收所述陀螺仪数据;且
所述重力向量滤波器经配置以:
通过在所述重力向量滤波器中使用所述加速度计数据和所述陀螺仪数据来确定重力向量,其中所述重力向量用于确定所述计算装置的所述定向。
16.根据权利要求15所述的计算装置,其中所述重力向量滤波器和所述磁向量滤波器中的至少一者使用自适应滤波器,且所述自适应滤波器的至少一个滤波器参数是可动态调整的。
17.根据权利要求16所述的计算装置,其中所述至少一个滤波器参数与所述重力向量滤波器相关联,所述至少一个滤波器参数包括信号噪声、测量误差、传感器校准误差或线性加速度中的一者或多者。
18.根据权利要求16所述的计算装置,其中所述至少一个滤波器参数与所述磁向量滤波器相关联,所述至少一个滤波器参数包括传感器校准误差或瞬态磁场中的一者或多者。
19.根据权利要求16所述的计算装置,其中所述自适应滤波器包括卡尔曼滤波器。
20.根据权利要求15所述的计算装置,其中所述磁向量滤波器与所述重力向量滤波器分离。
21.根据权利要求15所述的计算装置,其进一步包括经扩展自适应滤波器,其中所述经扩展自适应滤波器接收所述计算装置的所述重力向量的所计算坐标以及所述陀螺仪数据和所述加速度计数据以作为输入。
22.根据权利要求15所述的计算装置,所述磁向量滤波器进一步经配置以基于所述磁力计数据和所述陀螺仪数据来确定所述磁向量滤波器中的磁场中的检测到的变化是否为磁异常。
23.根据权利要求22所述的计算装置,所述磁向量滤波器进一步经配置以响应于确定所述陀螺仪未在检测到所述磁场中的所述变化的时间周期期间测量到变化,确定所述磁场中的所述检测到的变化是所述磁异常。
24.根据权利要求22所述的计算装置,
其中当来自所述陀螺仪的所述所接收的传感器输出与所述磁场中的检测到的变化相关时,所述磁向量滤波器确定所述磁场中的所述检测到的变化不是所述磁异常;以及
其中当来自所述陀螺仪的所述所接收的传感器输出不与所述磁场中的所述检测到的变化相关时,所述磁向量滤波器确定所述磁场中的所述检测到的变化是所述磁异常。
25.根据权利要求22所述的计算装置,所述磁向量滤波器进一步经配置以响应于确定所述磁场中的所述检测到的变化是所述磁异常,忽视从所述磁力计接收到的对应于所述磁场中的所述检测到的变化的滤波器输入。
26.根据权利要求22所述的计算装置,其进一步包括处理器,所述处理器经配置以响应于所述磁向量滤波器确定所述磁场中的所述检测到的变化是所述磁异常,增加与所述磁向量滤波器相关联的窗口大小。
27.根据权利要求22所述的计算装置,其中所述磁向量滤波器经配置以通过将所述磁力计数据与阈值进行比较来确定所述检测到的变化是磁异常。
28.根据权利要求27所述的计算装置,其中所述磁向量滤波器经配置以至少部分基于所述陀螺仪数据来计算所述阈值。
29.一种用于确定定向的设备,其包括:
用于在磁向量滤波器处接收磁力计数据的装置,其中所述磁力计数据包括来自磁力计的传感器输出;
用于在所述磁向量滤波器处接收陀螺仪数据的装置,其中所述陀螺仪数据包括来自陀螺仪的传感器输出;以及
用于通过在所述磁向量滤波器中使用所述磁力计数据和所述陀螺仪数据来确定磁向量的装置,所述磁向量滤波器能够独立于与定向确定一起使用的加速度计数据来确定所述磁向量,
所述设备进一步包括:
用于在重力向量滤波器处接收所述加速度计数据的装置,其中所述加速度计数据包括来自加速度计的传感器输出;
用于在所述重力向量滤波器处接收所述陀螺仪数据的装置;以及
用于通过在所述重力向量滤波器中使用所述加速度计数据和所述陀螺仪数据来确定重力向量的装置,其中所述重力向量用于确定所述定向。
30.根据权利要求29所述的设备,其中所述重力向量滤波器和所述磁向量滤波器中的至少一者使用自适应滤波器,且所述自适应滤波器的至少一个滤波器参数是可动态调整的。
31.根据权利要求29所述的设备,其进一步包括用于基于所述磁力计数据和所述陀螺仪数据来确定所述磁向量滤波器中的磁场中的检测到的变化是否为磁异常的装置;
其中当来自所述陀螺仪的所述所接收的传感器输出与所述磁场中的检测到的变化相关时,确定所述磁场中的所述检测到的变化不是所述磁异常;且
其中当来自所述陀螺仪的所述所接收的传感器输出不与所述磁场中的所述检测到的变化相关时,确定所述磁场中的所述检测到的变化是所述磁异常。
32.根据权利要求31所述的设备,其进一步包括:
用于忽视从所述磁力计接收到的对应于所述磁场中的所述检测到的变化的滤波器输入的装置,或用于响应于确定所述磁场中的所述检测到的变化是所述磁异常而增加与所述磁向量滤波器相关联的窗口大小的装置。
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161554423P | 2011-11-01 | 2011-11-01 | |
US61/554,423 | 2011-11-01 | ||
US201161558994P | 2011-11-11 | 2011-11-11 | |
US201161558966P | 2011-11-11 | 2011-11-11 | |
US61/558,994 | 2011-11-11 | ||
US61/558,966 | 2011-11-11 | ||
US13/651,343 US9785254B2 (en) | 2011-11-01 | 2012-10-12 | System and method for improving orientation data |
US13/651,343 | 2012-10-12 | ||
US13/651,350 | 2012-10-12 | ||
US13/651,355 US9454245B2 (en) | 2011-11-01 | 2012-10-12 | System and method for improving orientation data |
US13/651,355 | 2012-10-12 | ||
US13/651,350 US9495018B2 (en) | 2011-11-01 | 2012-10-12 | System and method for improving orientation data |
PCT/US2012/062612 WO2013066891A2 (en) | 2011-11-01 | 2012-10-30 | System and method for improving orientation data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103946670A CN103946670A (zh) | 2014-07-23 |
CN103946670B true CN103946670B (zh) | 2017-05-24 |
Family
ID=48171876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280053692.5A Active CN103946670B (zh) | 2011-11-01 | 2012-10-30 | 用于改进定向数据的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (4) | US9454245B2 (zh) |
EP (1) | EP2773920B1 (zh) |
JP (4) | JP6296989B2 (zh) |
CN (1) | CN103946670B (zh) |
IN (1) | IN2014CN02519A (zh) |
WO (1) | WO2013066891A2 (zh) |
Families Citing this family (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9454245B2 (en) | 2011-11-01 | 2016-09-27 | Qualcomm Incorporated | System and method for improving orientation data |
CN103206953B (zh) * | 2012-01-12 | 2016-12-28 | 香港商曦恩体感科技股份有限公司 | 在定位时用来产生一地理方位的方法、及使用该方法的定位系统 |
US9683865B2 (en) * | 2012-01-26 | 2017-06-20 | Invensense, Inc. | In-use automatic calibration methodology for sensors in mobile devices |
US10324108B2 (en) | 2012-02-07 | 2019-06-18 | Mcube, Inc. | Dynamic offset correction for calibration of MEMS sensor |
US10197587B2 (en) * | 2012-03-17 | 2019-02-05 | MCube Inc. | Device and method for using time rate of change of sensor data to determine device rotation |
ES2590857T3 (es) * | 2012-03-30 | 2016-11-23 | Koninklijke Philips N.V. | Arquitectura de bastidor de conductores estirado con lente de dispersión sobremoldeada |
US9677889B2 (en) | 2012-06-21 | 2017-06-13 | Innovative Solutions & Support, Inc. | Method and system for compensating for soft iron magnetic disturbances in multiple heading reference systems |
US9207079B2 (en) | 2012-06-21 | 2015-12-08 | Innovative Solutions & Support, Inc. | Method and system for compensating for soft iron magnetic disturbances in a heading reference system |
DE202012008162U1 (de) * | 2012-07-19 | 2012-11-19 | Uli Vietor | Vorrichtung zur berührungslosen Detektion von Fahrzeugen |
US9523576B2 (en) * | 2012-09-17 | 2016-12-20 | Xsens Holding B.V. | System and method for magnetic field data compression |
US9367119B2 (en) * | 2012-10-22 | 2016-06-14 | Maxim Integrated Products, Inc. | System and method to reduce power consumption in a multi-sensor environment |
JP5900655B2 (ja) * | 2012-12-12 | 2016-04-06 | 富士通株式会社 | 加速度センサ出力処理プログラム,処理方法,処理装置及び歩行評価プログラム |
US9864729B1 (en) * | 2012-12-21 | 2018-01-09 | Hanking Electronics Ltd. | Comprehensive sensor fusion algorithm |
US20150019159A1 (en) * | 2013-07-15 | 2015-01-15 | Honeywell International Inc. | System and method for magnetometer calibration and compensation |
US9336440B2 (en) * | 2013-11-25 | 2016-05-10 | Qualcomm Incorporated | Power efficient use of a depth sensor on a mobile device |
US9863784B2 (en) * | 2014-02-23 | 2018-01-09 | PNI Sensor Corporation | Orientation estimation utilizing a plurality of adaptive filters |
US20150241244A1 (en) * | 2014-02-23 | 2015-08-27 | PNI Sensor Corporation | Low-power orientation estimation |
US20150244938A1 (en) * | 2014-02-25 | 2015-08-27 | Stelios Petrakis | Techniques for electronically adjusting video recording orientation |
EP3413068B1 (en) * | 2014-06-24 | 2020-01-29 | Google LLC | Magnetic controller for device control |
US10078099B2 (en) * | 2014-06-24 | 2018-09-18 | Truemotion, Inc. | Methods and systems for aligning a mobile device to a vehicle |
FI126877B (en) * | 2014-07-08 | 2017-07-14 | Helsingin Yliopisto | Formation of Gravity Estimate |
GB201500411D0 (en) * | 2014-09-15 | 2015-02-25 | Isis Innovation | Determining the position of a mobile device in a geographical area |
WO2016074153A1 (en) * | 2014-11-11 | 2016-05-19 | Intel Corporation | Extended kalman filter based autonomous magnetometer calibration |
CN104539260B (zh) * | 2014-12-03 | 2018-03-02 | 广州市雅江光电设备有限公司 | 一种矢量滤波的计算方法 |
CN107532907A (zh) | 2015-03-13 | 2018-01-02 | 桑男 | 姿势检测设备 |
CN106033131B (zh) * | 2015-03-20 | 2018-09-11 | 阿里巴巴集团控股有限公司 | 一种地磁传感器校准方法、装置及智能设备 |
US9921335B1 (en) * | 2015-04-07 | 2018-03-20 | Invensense, Inc. | Systems and methods for determining linear acceleration |
EP3281020B1 (en) | 2015-04-09 | 2022-05-04 | Appy Risk Technologies Limited | Opportunistic calibration of a smartphone orientation in a vehicle |
US10067157B2 (en) | 2015-05-07 | 2018-09-04 | Truemotion, Inc. | Methods and systems for sensor-based vehicle acceleration determination |
US10352725B2 (en) | 2015-06-18 | 2019-07-16 | Sharp Laboratories Of America, Inc. | Sensor calibration method and system |
US9450681B1 (en) * | 2015-05-08 | 2016-09-20 | Sharp Laboratories Of America, Inc. | Method and system for wireless transmission of quaternions |
US20170299388A9 (en) * | 2015-05-22 | 2017-10-19 | InvenSense, Incorporated | Systems and methods for synthetic sensor signal generation |
GB2539011A (en) * | 2015-06-03 | 2016-12-07 | Sensor Labs Ltd | A Proximity beacon |
US10114464B2 (en) | 2015-06-30 | 2018-10-30 | Stmicroelectronics S.R.L. | Device and method for determination of angular position in three-dimensional space, and corresponding electronic apparatus |
US9949013B2 (en) | 2015-08-29 | 2018-04-17 | Bragi GmbH | Near field gesture control system and method |
US9972895B2 (en) | 2015-08-29 | 2018-05-15 | Bragi GmbH | Antenna for use in a wearable device |
US9905088B2 (en) | 2015-08-29 | 2018-02-27 | Bragi GmbH | Responsive visual communication system and method |
US9949008B2 (en) | 2015-08-29 | 2018-04-17 | Bragi GmbH | Reproduction of ambient environmental sound for acoustic transparency of ear canal device system and method |
US9843853B2 (en) | 2015-08-29 | 2017-12-12 | Bragi GmbH | Power control for battery powered personal area network device system and method |
US10104458B2 (en) | 2015-10-20 | 2018-10-16 | Bragi GmbH | Enhanced biometric control systems for detection of emergency events system and method |
US9980189B2 (en) | 2015-10-20 | 2018-05-22 | Bragi GmbH | Diversity bluetooth system and method |
US9866941B2 (en) * | 2015-10-20 | 2018-01-09 | Bragi GmbH | Multi-point multiple sensor array for data sensing and processing system and method |
CN105698795A (zh) * | 2015-12-04 | 2016-06-22 | 天津大学 | 一种室内定位步长计算方法 |
US10088315B2 (en) * | 2015-12-10 | 2018-10-02 | Invensense, Inc. | Two frequency gyroscope compensation system and method |
US9939891B2 (en) | 2015-12-21 | 2018-04-10 | Bragi GmbH | Voice dictation systems using earpiece microphone system and method |
US9980033B2 (en) | 2015-12-21 | 2018-05-22 | Bragi GmbH | Microphone natural speech capture voice dictation system and method |
US10349219B2 (en) * | 2016-01-26 | 2019-07-09 | Truemotion, Inc. | Methods and systems for combining sensor data to determine vehicle movement information |
US10085091B2 (en) | 2016-02-09 | 2018-09-25 | Bragi GmbH | Ambient volume modification through environmental microphone feedback loop system and method |
CN105721703B (zh) * | 2016-02-25 | 2018-12-25 | 杭州映墨科技有限公司 | 一种利用手机设备传感器进行全景定位和朝向的方法 |
US10085082B2 (en) | 2016-03-11 | 2018-09-25 | Bragi GmbH | Earpiece with GPS receiver |
US10045116B2 (en) | 2016-03-14 | 2018-08-07 | Bragi GmbH | Explosive sound pressure level active noise cancellation utilizing completely wireless earpieces system and method |
US10052065B2 (en) | 2016-03-23 | 2018-08-21 | Bragi GmbH | Earpiece life monitor with capability of automatic notification system and method |
US10404915B1 (en) * | 2016-04-07 | 2019-09-03 | Scott Zhihao Chen | Method and system for panoramic video image stabilization |
US10015579B2 (en) | 2016-04-08 | 2018-07-03 | Bragi GmbH | Audio accelerometric feedback through bilateral ear worn device system and method |
US10013542B2 (en) | 2016-04-28 | 2018-07-03 | Bragi GmbH | Biometric interface system and method |
US9877089B2 (en) * | 2016-05-13 | 2018-01-23 | Shockwatch, Inc. | Wireless environmental sensor |
GB2550854B (en) | 2016-05-25 | 2019-06-26 | Ge Aviat Systems Ltd | Aircraft time synchronization system |
US10201309B2 (en) | 2016-07-06 | 2019-02-12 | Bragi GmbH | Detection of physiological data using radar/lidar of wireless earpieces |
US10045110B2 (en) | 2016-07-06 | 2018-08-07 | Bragi GmbH | Selective sound field environment processing system and method |
RU2626755C1 (ru) * | 2016-07-18 | 2017-07-31 | Общество с ограниченной ответственностью "НАСТЭК" (ООО "НАСТЭК") | Устройство для определения положения объекта в пространстве |
JP6983565B2 (ja) * | 2016-07-29 | 2021-12-17 | イノベイティブ・ソリューションズ・アンド・サポート・インコーポレイテッド | 乗物の機首方位基準システムにおける軟鉄磁気擾乱を補償するための方法とシステム |
US10564177B2 (en) * | 2016-08-01 | 2020-02-18 | Samsung Electronics Co., Ltd. | System and method for user activity recognition using accelerometer |
US11258312B2 (en) * | 2016-08-08 | 2022-02-22 | Bigmotion Technologies Inc. | Systems and methods for wireless charging |
US10324167B2 (en) * | 2016-09-12 | 2019-06-18 | The Boeing Company | Systems and methods for adding functional grid elements to stochastic sparse tree grids for spatial filtering |
US20180095550A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Position determining techniques for virtual reality systems |
US10883831B2 (en) * | 2016-10-28 | 2021-01-05 | Yost Labs Inc. | Performance of inertial sensing systems using dynamic stability compensation |
US10205814B2 (en) | 2016-11-03 | 2019-02-12 | Bragi GmbH | Wireless earpiece with walkie-talkie functionality |
US10062373B2 (en) | 2016-11-03 | 2018-08-28 | Bragi GmbH | Selective audio isolation from body generated sound system and method |
US10063957B2 (en) | 2016-11-04 | 2018-08-28 | Bragi GmbH | Earpiece with source selection within ambient environment |
US10045117B2 (en) | 2016-11-04 | 2018-08-07 | Bragi GmbH | Earpiece with modified ambient environment over-ride function |
US10045112B2 (en) | 2016-11-04 | 2018-08-07 | Bragi GmbH | Earpiece with added ambient environment |
US10058282B2 (en) | 2016-11-04 | 2018-08-28 | Bragi GmbH | Manual operation assistance with earpiece with 3D sound cues |
US10506327B2 (en) | 2016-12-27 | 2019-12-10 | Bragi GmbH | Ambient environmental sound field manipulation based on user defined voice and audio recognition pattern analysis system and method |
CN106813680A (zh) * | 2016-12-28 | 2017-06-09 | 兰州空间技术物理研究所 | 一种高精度、高分辨率石英扰性传感器的静态标定方法 |
US10405081B2 (en) | 2017-02-08 | 2019-09-03 | Bragi GmbH | Intelligent wireless headset system |
US10582290B2 (en) | 2017-02-21 | 2020-03-03 | Bragi GmbH | Earpiece with tap functionality |
US10771881B2 (en) | 2017-02-27 | 2020-09-08 | Bragi GmbH | Earpiece with audio 3D menu |
US11694771B2 (en) | 2017-03-22 | 2023-07-04 | Bragi GmbH | System and method for populating electronic health records with wireless earpieces |
US11380430B2 (en) | 2017-03-22 | 2022-07-05 | Bragi GmbH | System and method for populating electronic medical records with wireless earpieces |
US10575086B2 (en) | 2017-03-22 | 2020-02-25 | Bragi GmbH | System and method for sharing wireless earpieces |
US11544104B2 (en) | 2017-03-22 | 2023-01-03 | Bragi GmbH | Load sharing between wireless earpieces |
US10708699B2 (en) | 2017-05-03 | 2020-07-07 | Bragi GmbH | Hearing aid with added functionality |
US11116415B2 (en) | 2017-06-07 | 2021-09-14 | Bragi GmbH | Use of body-worn radar for biometric measurements, contextual awareness and identification |
US11013445B2 (en) | 2017-06-08 | 2021-05-25 | Bragi GmbH | Wireless earpiece with transcranial stimulation |
CN107421523B (zh) * | 2017-06-19 | 2021-05-28 | 深圳市万普拉斯科技有限公司 | 方位角校准方法、装置、存储介质和计算机设备 |
US10462608B1 (en) | 2017-07-31 | 2019-10-29 | Agero, Inc. | Estimating orientation of a mobile device with respect to a vehicle using global displacement information and local motion information |
US10344960B2 (en) | 2017-09-19 | 2019-07-09 | Bragi GmbH | Wireless earpiece controlled medical headlight |
US11272367B2 (en) | 2017-09-20 | 2022-03-08 | Bragi GmbH | Wireless earpieces for hub communications |
US11994530B1 (en) * | 2017-10-27 | 2024-05-28 | Mindmaze Group Sa | System, method and apparatus of a motion sensing stack |
US20220178692A1 (en) * | 2017-12-21 | 2022-06-09 | Mindmaze Holding Sa | System, method and apparatus of a motion sensing stack with a camera system |
US11169577B2 (en) | 2018-04-04 | 2021-11-09 | Microsoft Technology Licensing, Llc | Sensing relative orientation of computing device portions |
US10852143B2 (en) | 2018-06-27 | 2020-12-01 | Rohit Seth | Motion sensor with drift correction |
CN112753235B (zh) | 2018-10-02 | 2024-06-21 | 惠普发展公司,有限责任合伙企业 | 计算机资源利用率降低设备 |
CN110134676B (zh) * | 2019-06-03 | 2021-01-29 | 西安电子科技大学 | 一种传感器数据质量的监控方法 |
CN110987449B (zh) * | 2019-12-13 | 2021-03-23 | 山东大学 | 一种基于类卡尔曼滤波的电子节气门开度估计方法及系统 |
IL274382A (en) * | 2020-05-01 | 2021-12-01 | Pulsenmore Ltd | A system and method for assisting an unskilled patient in performing ultrasound scans himself |
CN113358825B (zh) * | 2021-06-02 | 2023-03-24 | 重庆大学 | 一种带同化算法的室内空气质量检测器 |
Family Cites Families (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7663502B2 (en) | 1992-05-05 | 2010-02-16 | Intelligent Technologies International, Inc. | Asset system control arrangement and method |
US4675820A (en) | 1984-06-14 | 1987-06-23 | Sundstrand Data Control, Inc. | Inertial reference system |
JPS6172618U (zh) | 1984-10-19 | 1986-05-17 | ||
US4734863A (en) | 1985-03-06 | 1988-03-29 | Etak, Inc. | Apparatus for generating a heading signal for a land vehicle |
JPH0690036B2 (ja) | 1989-02-03 | 1994-11-14 | 松下電器産業株式会社 | 方位検出装置 |
US5272639A (en) | 1992-01-14 | 1993-12-21 | Honeywell Inc. | Terrain referenced navigation electromagnetic-gravitational correlation |
US5970479A (en) | 1992-05-29 | 1999-10-19 | Swychco Infrastructure Services Pty. Ltd. | Methods and apparatus relating to the formulation and trading of risk management contracts |
US6522265B1 (en) | 1997-06-25 | 2003-02-18 | Navox Corporation | Vehicle tracking and security system incorporating simultaneous voice and data communication |
JP2000013636A (ja) | 1998-06-24 | 2000-01-14 | Sony Corp | 位相検出回路、位相補正回路およびデジタル画像処理装置 |
JP3321096B2 (ja) * | 1998-07-14 | 2002-09-03 | 三菱電機株式会社 | 車両位置計測装置および速度計測装置 |
JP3705951B2 (ja) | 1999-03-31 | 2005-10-12 | 株式会社エヌ・ティ・ティ・データ | センサ管理装置 |
US6820025B2 (en) * | 2000-10-30 | 2004-11-16 | The United States Of America As Represented By The Secretary Of The Navy | Method and apparatus for motion tracking of an articulated rigid body |
JP4243684B2 (ja) | 2003-10-07 | 2009-03-25 | 独立行政法人産業技術総合研究所 | 歩行動作検出処理装置および歩行動作検出処理方法 |
US20060074558A1 (en) | 2003-11-26 | 2006-04-06 | Williamson Walton R | Fault-tolerant system, apparatus and method |
US7248964B2 (en) * | 2003-12-05 | 2007-07-24 | Honeywell International Inc. | System and method for using multiple aiding sensors in a deeply integrated navigation system |
US8542219B2 (en) | 2004-01-30 | 2013-09-24 | Electronic Scripting Products, Inc. | Processing pose data derived from the pose of an elongate object |
FR2866423B1 (fr) * | 2004-02-13 | 2006-05-05 | Thales Sa | Dispositif de surveillance de l'integrite des informations delivrees par un systeme hybride ins/gnss |
US20050240347A1 (en) | 2004-04-23 | 2005-10-27 | Yun-Chun Yang | Method and apparatus for adaptive filter based attitude updating |
US7106189B2 (en) | 2004-04-29 | 2006-09-12 | Tracetech Incorporated | Tracking system and methods thereof |
CN102566751B (zh) * | 2004-04-30 | 2016-08-03 | 希尔克瑞斯特实验室公司 | 自由空间定位装置和方法 |
US8930023B2 (en) | 2009-11-06 | 2015-01-06 | Irobot Corporation | Localization by learning of wave-signal distributions |
US7526402B2 (en) * | 2005-04-19 | 2009-04-28 | Jaymart Sensors, Llc | Miniaturized inertial measurement unit and associated methods |
US8239162B2 (en) | 2006-04-13 | 2012-08-07 | Tanenhaus & Associates, Inc. | Miniaturized inertial measurement unit and associated methods |
US7672781B2 (en) | 2005-06-04 | 2010-03-02 | Microstrain, Inc. | Miniaturized wireless inertial sensing system |
US7587277B1 (en) * | 2005-11-21 | 2009-09-08 | Miltec Corporation | Inertial/magnetic measurement device |
US8275544B1 (en) * | 2005-11-21 | 2012-09-25 | Miltec Missiles & Space | Magnetically stabilized forward observation platform |
US8730156B2 (en) | 2010-03-05 | 2014-05-20 | Sony Computer Entertainment America Llc | Maintaining multiple views on a shared stable virtual space |
US20110307213A1 (en) | 2006-07-10 | 2011-12-15 | Yang Zhao | System and method of sensing attitude and angular rate using a magnetic field sensor and accelerometer for portable electronic devices |
US7451549B1 (en) * | 2006-08-09 | 2008-11-18 | Pni Corporation | Automatic calibration of a three-axis magnetic compass |
US8952832B2 (en) * | 2008-01-18 | 2015-02-10 | Invensense, Inc. | Interfacing application programs and motion sensors of a device |
US20090265671A1 (en) | 2008-04-21 | 2009-10-22 | Invensense | Mobile devices with motion gesture recognition |
US8462109B2 (en) | 2007-01-05 | 2013-06-11 | Invensense, Inc. | Controlling and accessing content using motion processing on mobile devices |
CA2679376A1 (en) * | 2007-03-23 | 2008-10-02 | Qualcomm Incorporated | Multi-sensor data collection and/or processing |
JP4630327B2 (ja) | 2007-05-03 | 2011-02-09 | 日本ビクター株式会社 | ナビゲーション装置 |
US20100323657A1 (en) | 2007-07-24 | 2010-12-23 | Russell Brett Barnard | communication devices |
US7890262B2 (en) * | 2008-03-31 | 2011-02-15 | Honeywell International Inc. | Position estimation for navigation devices |
FR2934043B1 (fr) | 2008-07-18 | 2011-04-29 | Movea Sa | Procede d'estimation ameliore de l'orientation d'un objet et centrale d'attitude mettant en oeuvre un tel procede |
US8993736B2 (en) * | 2008-10-31 | 2015-03-31 | The Regents Of The University Of California | Photoreactive synthetic regulator of protein function and methods of use thereof |
US8447517B2 (en) | 2008-11-06 | 2013-05-21 | Texas Instruments Incorporated | Tightly-coupled GNSS/IMU integration filter having speed scale-factor and heading bias calibration |
US8142288B2 (en) | 2009-05-08 | 2012-03-27 | Sony Computer Entertainment America Llc | Base station movement detection and compensation |
US20120172763A1 (en) | 2009-07-01 | 2012-07-05 | Industrial Research Limited | Measurement device |
US8548766B2 (en) | 2009-09-14 | 2013-10-01 | Honeywell International Inc. | Systems and methods for gyroscope calibration |
US8577637B2 (en) | 2009-09-28 | 2013-11-05 | Teledyne Rd Instruments, Inc. | System and method of magnetic compass calibration |
US8416133B2 (en) * | 2009-10-15 | 2013-04-09 | Navcom Technology, Inc. | System and method for compensating for faulty measurements |
US8374775B2 (en) | 2009-11-05 | 2013-02-12 | Apple Inc. | Adaptive sensor-based activity classification |
US8531414B2 (en) | 2010-02-03 | 2013-09-10 | Bump Technologies, Inc. | Bump suppression |
US8612146B2 (en) * | 2010-02-15 | 2013-12-17 | Texas Instruments Incorporated | Accelerometer-aided gyroscope |
US8310380B2 (en) | 2010-03-02 | 2012-11-13 | Invensense Inc. | Selectable communication interface configurations for motion sensing device |
US8558903B2 (en) | 2010-03-25 | 2013-10-15 | Apple Inc. | Accelerometer / gyro-facilitated video stabilization |
US8886980B2 (en) * | 2010-03-29 | 2014-11-11 | Qualcomm Incorporated | Power efficient way of operating motion sensors |
US8626465B2 (en) * | 2010-03-30 | 2014-01-07 | Apple Inc. | Calibrating sensor measurements on mobile devices |
US8531180B2 (en) | 2010-03-30 | 2013-09-10 | Apple Inc. | Determining heading using magnetometer data and angular rate data |
US20110242342A1 (en) | 2010-04-05 | 2011-10-06 | Qualcomm Incorporated | Combining data from multiple image sensors |
US20110246125A1 (en) | 2010-04-06 | 2011-10-06 | Keynetik, Inc. | Situation Awareness By Noise Analysis |
US8718963B2 (en) | 2010-04-27 | 2014-05-06 | Memsic, Inc. | System and method for calibrating a three-axis accelerometer |
US8933986B2 (en) * | 2010-05-28 | 2015-01-13 | Qualcomm Incorporated | North centered orientation tracking in uninformed environments |
FR2964774B1 (fr) | 2010-09-14 | 2012-09-28 | Astrium Sas | Procede d'estimation du mouvement d'un porteur par rapport a un environnement et dispositif de calcul pour systeme de navigation |
US9077912B2 (en) | 2010-09-23 | 2015-07-07 | Intel Corporation | Motion initiated time synchronization |
US8957909B2 (en) | 2010-10-07 | 2015-02-17 | Sensor Platforms, Inc. | System and method for compensating for drift in a display of a user interface state |
US8786547B2 (en) | 2010-12-23 | 2014-07-22 | Microsoft Corporation | Effects of gravity on gestures |
US8768865B2 (en) * | 2011-01-19 | 2014-07-01 | Qualcomm Incorporated | Learning situations via pattern matching |
US8688403B2 (en) | 2011-02-28 | 2014-04-01 | Blackberry Limited | Portable electronic device adapted to provide an improved attitude matrix |
US9436231B2 (en) * | 2011-04-07 | 2016-09-06 | Qualcomm Incorporated | Rest detection using accelerometer |
US20130018582A1 (en) | 2011-07-13 | 2013-01-17 | Miller Paul A | Inertial Navigation Common Azimuth Reference Determination System and Method |
US9454245B2 (en) | 2011-11-01 | 2016-09-27 | Qualcomm Incorporated | System and method for improving orientation data |
-
2012
- 2012-10-12 US US13/651,355 patent/US9454245B2/en active Active
- 2012-10-12 US US13/651,343 patent/US9785254B2/en active Active
- 2012-10-12 US US13/651,350 patent/US9495018B2/en active Active
- 2012-10-30 EP EP12788687.7A patent/EP2773920B1/en active Active
- 2012-10-30 WO PCT/US2012/062612 patent/WO2013066891A2/en active Application Filing
- 2012-10-30 JP JP2014540019A patent/JP6296989B2/ja not_active Expired - Fee Related
- 2012-10-30 CN CN201280053692.5A patent/CN103946670B/zh active Active
- 2012-10-30 IN IN2519CHN2014 patent/IN2014CN02519A/en unknown
-
2016
- 2016-07-25 US US15/219,155 patent/US9995575B2/en not_active Expired - Fee Related
- 2016-10-06 JP JP2016198047A patent/JP6355696B2/ja active Active
- 2016-10-06 JP JP2016198048A patent/JP6280967B2/ja not_active Expired - Fee Related
- 2016-10-06 JP JP2016198049A patent/JP6359067B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US9495018B2 (en) | 2016-11-15 |
JP2015502527A (ja) | 2015-01-22 |
JP6280967B2 (ja) | 2018-02-14 |
JP6296989B2 (ja) | 2018-03-20 |
US20130106697A1 (en) | 2013-05-02 |
EP2773920A2 (en) | 2014-09-10 |
WO2013066891A3 (en) | 2013-10-10 |
US9454245B2 (en) | 2016-09-27 |
IN2014CN02519A (zh) | 2015-07-31 |
US9785254B2 (en) | 2017-10-10 |
JP2017037085A (ja) | 2017-02-16 |
US20130110439A1 (en) | 2013-05-02 |
US9995575B2 (en) | 2018-06-12 |
JP2017062236A (ja) | 2017-03-30 |
JP6359067B2 (ja) | 2018-07-18 |
WO2013066891A2 (en) | 2013-05-10 |
JP6355696B2 (ja) | 2018-07-11 |
US20170131094A1 (en) | 2017-05-11 |
JP2017062235A (ja) | 2017-03-30 |
US20130110450A1 (en) | 2013-05-02 |
CN103946670A (zh) | 2014-07-23 |
WO2013066891A4 (en) | 2013-11-28 |
EP2773920B1 (en) | 2019-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103946670B (zh) | 用于改进定向数据的系统和方法 | |
Zhou et al. | Use it free: Instantly knowing your phone attitude | |
CN106662443B (zh) | 用于垂直轨迹确定的方法和系统 | |
AU2015316575B2 (en) | Inertial tracking based determination of the position of a mobile device carried by a user in a geographical area | |
CN108958362B (zh) | 实现融合来自惯性传感器的数据的算法的计算系统和方法 | |
CN102171628B (zh) | 通过数据融合解决的运动检测的指示器 | |
US10197587B2 (en) | Device and method for using time rate of change of sensor data to determine device rotation | |
US20180088675A1 (en) | Coordinate system for gesture control | |
US20130204572A1 (en) | State detection device, electronic apparatus, and program | |
US20140122015A1 (en) | Attitude estimation method and apparatus | |
CN104737205B (zh) | 自适应尺度及/或重力估计 | |
TWI559020B (zh) | Method for removing magnetic disturbances from magnetic field measurements and multi - magnetometer devices | |
KR101341727B1 (ko) | 3d gui 제어 장치 및 방법 | |
US20140176437A1 (en) | Method and device for sensing orientation of an object in space in a fixed frame of reference | |
CN105910593B (zh) | 一种校准终端的地磁传感器的方法及装置 | |
US20160223335A1 (en) | Information processing device, information processing method, and computer-readable non-transitory storage medium storing information processing program | |
US10466054B2 (en) | Method and system for estimating relative angle between headings | |
US9297660B2 (en) | System and method for determining parameters representing orientation of a solid in movement subject to two vector fields | |
US10648812B2 (en) | Method for filtering the signals arising from a sensor assembly comprising at least one sensor for measuring a vector physical field which is substantially constant over time and in space in a reference frame | |
CN105043393B (zh) | 一种基于传感器的行人室内定位方法 | |
Marshall | Magnetic field swimmer positioning | |
CN108507571A (zh) | 一种高速运动学下imu姿态捕捉方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |