CN107532907A - 姿势检测设备 - Google Patents
姿势检测设备 Download PDFInfo
- Publication number
- CN107532907A CN107532907A CN201680015326.9A CN201680015326A CN107532907A CN 107532907 A CN107532907 A CN 107532907A CN 201680015326 A CN201680015326 A CN 201680015326A CN 107532907 A CN107532907 A CN 107532907A
- Authority
- CN
- China
- Prior art keywords
- msub
- equipment
- mrow
- vector
- circletimes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/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
- 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
- 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/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
- G06F3/0383—Signal control means within the pointing device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
- H04N21/42206—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
- H04N21/42222—Additional components integrated in the remote control device, e.g. timer, speaker, sensors for detecting position, direction or movement of the remote control, microphone or battery charging device
Abstract
本发明涉及一种姿势检测设备,所述姿势检测设备既不需要光学传感器也不需要视觉传感器而是使用一种先进的处理方法,所述设备可以用于如数据录入、测量、运动控制、在图形用户界面上的光标指点、游戏等应用中。所述设备包括如加速度计、陀螺仪等惯性测量单元(IMU),并且还可以包括磁力计。所述方法利用所述IMU的传感器数据并使用修正的方法将3维旋转变换成如四元数、欧拉角、偏航、俯仰、和滚动等表示。当所述设备从中断中恢复时,所述方法还提供了更好的性能。所述方法进一步利用上述表示并以精确的方式将其变成2维值,同时有意地除去由在其他未使用的自由度上的转动所引起的效果。
Description
技术领域
本发明涉及用于对设备进行姿势或取向检测的方法,并且涉及包括姿势检测装置、或传感器的所述设备。所述方法不需要来自例如光学传感器或视觉传感器的数据而是使用将来自所述设备中的姿势检测装置的测量的数据转变成数学表示的处理方法。所述方法可以用于比如用于数据录入、测量、运动控制、图形用户界面上的光标指点、游戏等的应用或设备中。
所述设备包括姿势检测装置、或传感器,比如(像加速度计、陀螺仪等)惯性测量单元(IMU),并且还可以包括磁力计。
所述方法利用从姿势检测装置获得的数据(像IMU的传感器数据),并使用方法将3维旋转变换成如四元数或欧拉角、偏航、俯仰、和滚动等数学表示。
实施例中的方法包括以下步骤:以精确的方式将3维数据变成2维值,同时有意地除去由在其他未使用的自由度上的转动所引起的效果。
背景技术
指点笔是本领域中熟知的,比如像涉及提供数据输入单元的问题的JPH0764710A中所披露的,既不需要与鼠标组件的机械和物理接触,也不需要用于移动鼠标组件的平面,并且在抵抗环境方面也是极好的。通过具有以下各项解决了这个问题:振动陀螺仪,被安排用于本发明检测移动方向和移动速度的检测装置;移动控制装置,通过三个操作开关进行对X轴和Y轴的移动控制;信号变换输出装置,从上述振动陀螺仪信号和三个上述开关信号转换并输出为显示X轴和Y轴朝彼此的移动方向以及移动速度的脉冲信号。获得了提供可移动鼠标组件的数据输入单元,所述可移动鼠标组件容纳了上述振动陀螺仪、移动控制装置、和信号变换输出装置。
在另一文献US2013/0332064中,披露了一种姿势检测设备,包括具有至少一个加速度计和一个陀螺仪的惯性测量单元(IMU),并且其中,来自3轴加速度计和3轴陀螺仪的惯性值是三维的并且是在设备在地球上静止的假定下转移的。在所述文献中,建议在俯仰接近±90°时使用四元数表示来避免欧拉角度参数化中的奇异点。
现有技术的问题在如电池供电设备等应用中,例如用于从睡眠模式恢复并立即输出正确的取向,从而使得睡眠模式与激活模式之间的频繁切换变成实际的并且因此可以节约更多能量,其中,现有技术方案在每次上电、中断或重置时必须等待直到输出变得稳定。
对于使用倾斜补偿的指点设备,当设备绕与指点方向对准的轴线转动时,倾斜补偿仅在有限的范畴下起作用,现有技术在设计方程方面明显更加复杂以便正确地起作用,意味着必须基于不同的倾斜条件仔细地设计计算,从而正确地起作用。在指点设备中,使用倾斜补偿是常见的。当设备绕与指点方向对准的轴线转动时,然而倾斜补偿仅在有限的范畴下起作用,即,如果转动超过界限,它将不再正确地起作用。US8884877中可见使用倾斜补偿的设备的一个示例,表示了当传感器坐标系倾斜时用于进行补偿的经典策略。它使用各种正弦和余弦,这些是嵌入式设备上耗时的过程并且进一步首先需要计算倾斜角。另外,如果还考虑x的倾斜,则计算将甚至更复杂,并且需要检查正弦和余弦在每个象限很好地起作用并且从一个象限到另一象限的过渡十分平滑。可以定义“象限”,比如倾斜的传感器坐标系的具体轴线在非倾斜的传感器坐标系中存在的象限。
本坐标系的目的是介绍一种方法以及提供对所述设备的追踪的改进性能的方法,比如当设备从中断中恢复时。其进一步的特征为以下能力:当处理测量的传感器数据时动态地调整计算的增益值、或权重值,从而提供输出结果的更快收敛,以及动态地调整测量的加速度计和/或磁力计数据的置信度,从而提高精确度。
进一步的目标是介绍一种没有倾斜角考虑的新方法,因为它与计算不相关。
发明内容
本发明通过介绍一种姿势检测设备解决了上述问题,所述姿势检测设备既不需要光学传感器也不需要视觉传感器而是使用一种先进的处理方法,所述设备可以用于比如数据录入、测量、运动控制、在图形用户界面上的光标指点、游戏等应用中。
所述设备包括惯性测量单元(IMU),比如至少一个或多个(优选地2个或3个)加速度计、至少一个或多个(优选地2个或3个)陀螺仪,并且还可以包括至少一个或多个(优选地2个或3个)磁力计。
所述方法利用所述IMU的传感器数据并使用修正的方法将3维旋转变换成如四元数、欧拉角、偏航、俯仰、和滚动等表示。
所述方法介绍了动态地调整测量结果的置信度从而以更好的精确度提高输出结果的收敛速度的方式。
当所述设备从中断中恢复时,所述方法还提供了改进的性能。所述方法进一步利用上述表示并以精确的方式将其变成2维值,同时有意地除去由在其他未使用的自由度上的转动所引起的效果。
变换目的是将3维转动表示比如四元数和欧拉角变成2维数据。结果可以用于许多真实的应用比如计算机鼠标光标控制,X-Y数据绘图和分析以及对机械结构的角度测量。所提出的方法的优点是消除转动在剩余维度所引起的影响。
所提出的方法的另一优点是与直接使用滚动、俯仰、和偏航相比提高精确度并消除奇异点。
变换包括不同模式,如下所述。描述基于固定至地面的原理坐标系(XYZ),其中,Z轴与重力的方向平行。对于基本模式——水平模式和竖直模式,各自是在初始化过程中计算的可重配置的坐标系的特征,从而适应所测量的对象的形状和初始位置。
在实施例中,所述设备在3维运动下运转,并且其中,其取向被转变成数学3D表示,所述数学3D表示则进一步被变换成数学2D表示,其中,所述设备包括姿势、或取向检测装置,其中,所述数学表示变换用来除去未使用的自由度的效果,从而使3D取向到2D表示的投影容易。
为了用数学术语表示所述设备,介绍了对象取向向量F,其中,所述2D表示是基于在这两个使用的自由度上所见的所述对象取向向量F计算的。
为了记录设备取向,包括许多不同且不相关的传感器彼此独立地测量其变化取向、或恰好实际取向,比如检测装置包括加速度计和陀螺仪以及可选地磁力计。
为了给出对象取向的完整3维数学表示,在一个实施例中,所述设备至少包括三个以下各项中的一个或一些:被定位用于生成测量的传感器数据向量比如测量加速度向量A=(Ax,Ay,Az)、陀螺仪向量ω=(ωx,ωy,ωz)和/或磁向量M=(Mx,My,Mz)的所述加速度计、陀螺仪和/或磁力计。
在一个实施例中,数学表示包括:作为固定的基本参考坐标系(X,Y,Z)的世界坐标系;以及作为世界坐标系(X,Y,Z)的旋转的传感器坐标系(X’,Y’,Z’),并且其中,对象取向在传感器坐标系(X’,Y’,Z’)中由向量F(X1,Y1,Z1)表示,其中,在具有平行于重力的方向的一个轴Z的实施例中,世界坐标系固定至地面,而传感器固定至检测装置的传感器,并且其中,向量F的取向为使得它与具有未使用的自由度的直线平行。这因而通过向量F到已使用的投影使从3维到二维的数学转变容易。
为了进行数学计算,通过如所述传感器所记录的取向变化估计对象的目前取向,包括估计两个取向之间的数学转换算子的步骤,其中,此转换算子是基于所述测量的传感器数据比如加速度向量A=(Ax,Ay,Az)、陀螺仪向量ω=(ωx,ωy,ωz)和/或磁向量M=(Mx,My,Mz)估计的,并且其中,所述对象的所述数学表示是基于此类计算迭代计算的,其中,当基于新的传感器数据估计新的转换算子时,所述计算的对象取向被用作下一次迭代时所述对象的输入取向,并且其中,实施例包括基于以下方程计算两个增益参数。
由于计算包括来自不只一个传感器的对取向的独立测量的输入,根据在当前取向下其期望的精确程度对其进行加权,因而,在计算中,通过动态地改变增益参数来对测量的传感器数据中的一部分进行加权,所述增益参数是根据实际测量的传感器数据参数动态地计算出的。
在一个实施例中,所述设备的取向变化的一种数学表示用四元数表示,并且所述转换算子是四元数q,并且其中,根据以下方程计算表示如所述检测装置所测量的所述对象的最新位置变化的新四元数的迭代计算
qi+1=qi+(dqω,i-η×dqa,i-ζ×dqm,i)×dT
其中,η和ζ是增益值、或权重,dT是自从上次测量以后所经过的时间,并且dqω,i、dqa,i和dqm,i是所述迭代过程中的对应四元解的梯度、或修正量。
在一个实施例中,计算中的参数的增益、或权重包括由两个权重、或推力值η和ζ形成的增益,其中,这些是根据以下方程计算的,
其中,
并且
在一个实施例中,所述坐标系的数学表示进一步包括基向量V,所述基向量是在或者所述世界坐标系或者所述传感器坐标系中定义的并被选择为使得所述基向量与正被测量的所述对象的将被忽略的旋转所围绕的轴——未使用的自由度平行,其中,在一个实施例中,基向量V用来将表示目前对象取向的所述向量F投影至这两个使用的自由度。在实施例中,基向量V用来初始化或配置所述传感器坐标系(X’,Y’,Z’)。
已知向量F被对准为使得它与传感器坐标系中所述未使用的自由度平行,如果在所述传感器坐标系中所见所述向量F离具有使用的自由度的轴线的角度α和β,可以计算并在以下应用之一中使用这些;角度测量、X-Y绘图和/或计算机鼠标光标控制。
有时,坐标系会经历中断,比如由于断电和上电,或因为其他原因,因此设备包括从中断恢复算法,所述中断恢复算法包括以下步骤:几次测量传感器数据,意味着对所述传感器数据进行多次中间初始化测量,并且随后通过所述数学转变算子产生多次快速计算迭代,而不需要进一步读取实际传感器数据直到输出稳定。
为了进行所有所需的计算并存储所需的数据,检测装置与能够执行所需计算并存储所需数据的处理器处于任意数据通信,其中,此处理器可以在所述设备外部或内部。
在实施例中,当取向穿过水平面上方的临界角时,所述设备包括单独数学表示之间的转换,所述水平面被定义为与重力的方向正交的平面,这些在下文中分别被称为竖直和水平模式,但在实施例中,所述设备进一步或可替代地包括通过计算加权和来混合数据而利用了来自两种模式的结果的混合模式,从而提供从水平模式到竖直模式的顺利转换。所述加权和是根据被测量对象的状态(例如,俯仰等)的。
本发明进一步介绍了一种在3维运动下运转设备的方法,并且其中,其取向被转变成数学3D表示,所述数学3D表示则进一步被变换成数学2D表示,其中,所述设备包括姿势、或取向检测装置,其中,所述数学表示变换用来除去未使用的自由度的效果。
在不同实施例中,运转所述设备的所述方法可以包括之前描述的步骤和计算中的任一项。
附图说明
图1在3维取向下运转的设备的展示并且这被变换成2维表示。
图2示出了具有基向量V和设备向量F的世界坐标系(X,Y,Z)和传感器坐标系(X’,Y’,Z’)的单位球面
图3计算迭代的展示
图4A、图4B计算中所使用的动态计算的增益、或权重的展示。
图5A、图5B与中断恢复有关的步骤的展示。
图6示出了具有重力向量G的世界坐标系(X,Y,Z)和传感器坐标系(X’,Y’,Z’)的单位球面。
具体实施方式
图1展示了本坐标系的一个实施例用途,其中,设备(1)被自由空间内处于任意3维移动的用户运转,并且其中,其在自由空间内的实际取向、或换言之姿势被转变成数学3D表示(2)。在实施例中,此3D表示则进一步被转换成数学2D表示(3),所述数学2D表示可以用于将设备(1)的取向变化表示为在例如屏幕(4)上的2D移动。在本实施例中,具有优势的设备(1)可以是图形用户界面(4)上的或用于游戏等的光标指点设备(1)(例如,用于计算机的空中鼠标),但一般地,设备(1)还可以用于比如数据录入、测量、运动控制等应用中。
在具有所展示的示例的所展示的实施例中,设备(1)是用户持有的空中鼠标、或指点设备,其中,其3维移动被转变成光标在屏幕(4)上的2维移动,但其中3维移动将被转变成2维表示的任何可想象的其他实施例同样将适用于本发明。
所述设备(1)包括姿势、或取向检测装置(5),比如惯性测量单元(IMU),包括例如加速度计和陀螺仪。在一个实施例中,它进一步包括磁力计。它可以包括任何数量的此类设备,但在所展示的实施例中,它包括3个加速度计和3个陀螺仪。
所述方法利用所述IMU的传感器数据并使用方法将3维旋转变换成有意义的2维数据表示。所述3维旋转由比如四元数和/或欧拉角度、偏航、俯仰、和滚动数学地表示。
在实施例中,所述方法进一步利用数学表示用途来消除未使用的自由度的影响。
对于许多实施例设备(1),所述自由度之一将在2维表示中没有任何期望的影响。一个示例是笔状空中鼠标设备(1)。给定笔的情况下,指点方向指示2维表示,比如屏幕上的光标,则未使用的自由度是绕圆柱轴的旋转,意味着轴线相对于指点方向是纵向的。
在其他更先进的实施例中,设备(1)可能必须被视为子部分,所述子部分各自由其自己的数学3维表示单独地表示,并且各自让其自己的数学2维表示转变成2维表示。所述子部分然后可以互相联系,其中,未使用的自由度将被看出与设备(1)的另一部分(例如,另一个同样被表示的子部分)有关,其中,与这个部分的相对移动仅具有2个自由度。一个这种示例是包括两个或更多个通过接合点连接的子部分的机械臂。两个此类互连的部分能够在接合点中相对于彼此移动,其中,移动例如可以由上下和一侧到一侧定义并且由X轴和Y轴以通常的方式表示,但其中,Z轴将相对于接合点改变位置(这是不可能的),因而这是未使用的自由度。
任何数量的此类互连子部分可以由其自己的3维表示等所表示,按照根据单独子部分的运转本质哪个将是最合适的而被选定。
设备(1)的典型运转是使来自加速度计的测量数据集形成测量加速度向量A=(Ax,Ay,Az),参数的数量取决于加速度计的数量,在目前展示的实施例中,假定存在三个,形成了三个正交的测量结果集。
以同样的方式,在所展示的实施例中,陀螺仪测量形成陀螺仪向量ω=(ωx,ωy,ωz)的三个正交数据。
以同样的方式,在实施例中,磁力计测量形成磁向量M=(Mx,My,Mz)的三个正交数据。
基于测量的传感器数据,因而形成数学表示。在实施例中,这可以包括以下步骤:建立作为基本参考系的世界坐标系,以及然后结合这个坐标系表示对象(1)位置。可以在某起始点初始化世界坐标系和/或可以相对于世界坐标系设置对象(1)初始位置。
在这次初始化之后的某个时间段对象(1)的目前取向则可以通过如检测装置(5)中的传感器所记录的取向变化(一般地,当提到传感器时,这些将传感器被理解为检测装置(5)中存在的那些传感器)来估计。在实施例中,这包括估计两个位置之间的数学转换算子的步骤,其中,此转换算子是基于测量的传感器数据估计的,比如加速度向量A、陀螺仪向量ω=(ωx,ωy,ωz)和/或磁向量M=(Mx,My,Mz)。在下文中,一般地,当提及传感器数据、或测量的传感器数据或测量的数据时,提及的是这些向量A、ω和/或磁向量M中的一项或多项。
在一个实施例中,数学表示是四元数的形式并且转换算子是四元数q。在另一或附加实施例中,坐标系包括是旋转矩阵或处于欧拉表示的转换算子。
对象(1)在任何时间的数学表示则可以基于此类计算迭代来计算,其中,当基于新的传感器数据估计新的转换算子时,所计算的对象(1)取向被用作下一次迭代时对象(1)的输入取向。
传感器将与如本领域中熟知的任何类型的处理器处于如本领域中熟知的任何类型的数据通信。处理器可以包括在设备(1)本身中或可以是外部设备。处理器包括用于存储数据如传感器测量结果并用于使所描述的方法所需的算法和计算被执行以用于设备(1)根据其功能而运转的装置。
图2展示了三个单位向量X(1,0,0)、Y(0,1,0)和Z(0,0,1)所表示的设备(1)的传感器坐标系单位球面(6),并且其中,向量F(X1,Y1,Z1)表示其传感器坐标系(X’,Y’,Z’)中的设备(1)取向是世界坐标系(X,Y,Z)的旋转,其中,在图2的展示中,‘重力轴’Z’=Z,因而未改变。水平面(7)将被定义为被X向量和Y向量展开的平面并因而与Z轴正交,或给定所述向量被不同地选择,总体上与重力的方向正交。向量F在轴X’、Y’和Z’上分别具有投影A(vb1,0,0)、B(0,vb2,0)和C(0,0,vb3)。
向量F与正被测量的对象(1)(其内具有取向或姿势检测装置(5),像IMU)一起改变其取向。
一般地,联系相对于地面固定的世界坐标系(X,Y,Z)给出设备(1)的取向,可选地从而使得Z轴与重力的方向平行。
在一个实施例中,介绍了传感器坐标系(X’,Y’,Z’)与设备(1)联系,方式为:其中,它可以联系对象(1)的移动中未使用的或不活动的自由度被定向,联系从自由空间3维(2)移动向2维(3)表示的变换所见所述对象的移动,比如光标在屏幕上的移动。通过对传感器坐标系进行配置或初始化,相应地,变得相当容易将表示目前对象(1)位置的向量F投影至两个活跃的或使用的自由度从而形成2维表示(3)。
在一个实施例中,基向量V被定义为使得它与未使用的或不活动的自由度平行。在实施例中,坐标系进一步引入了基向量V,如图2中所见,其中,表示设备(1)的向量F(X1,Y1,Z1)是使用四元数q从基向量V计算的,并且其中,绕向量F(如果不应用旋转的话,同样与V相同)的旋转是未使用的自由度,这意味着F随着四元数q改变而相对于世界坐标系变化但相对于传感器坐标系保持恒定或相同。在实施例中,它还可以用来初始化或配置所述传感器坐标系(X’,Y’,Z’)。
稍后将更详细地披露这些实施例。
运算计算和动态增益
当对从姿势检测装置(5)获得的数据(像IMU传感器数据)进行变换时,标准方法是通过对例如陀螺仪数据进行积分来计算数学表示比如四元数或欧拉形式,其中,由从来自加速度计和/或磁力计的数据计算的“真实”四元数补偿累积的积分误差。
当对从第一位置移动至第二位置的对象(1)进行适时两次适时测量时,测量结果之差可以用四元数表示,所述四元数给出了表示与设备(1)的位置相对应的测量结果的向量的旋转。这种测量结果向量可以是例如三个加速度计的测量结果,所述加速度计给出了三个测量结果Ax、Ay和Az,一起形成了加速度向量A=(Ax,Ay,Az)。以同样的方式,磁力计测量磁向量M=(Mx,My,Mz)。
让四元数q1,2表示对象(1)从第一位置到第二位置的旋转,这由四个参数q1,2=(q0,q1,q2,q3)给定并因而使得只有或者加速度测量结果或磁测量结果将仅给出三个参数并因此将不可能对四元数q1,2进行唯一估计。然而,在已经对两个向量都进行测量的情况下,加速度向量A和磁向量M将给出六种可能的方程并且因此将轻易地可能计算四元数q1,2。
每次新的传感器测量结果集合(比如测量的加速度向量A和/或测量的磁向量M)可用之后就执行这种测量。每次这种计算被称为迭代。
由于当坐标系处于加速机动时加速度数据(例如用加速度向量A表示)不反映重力;并且由于磁力计可能经受磁铁引起的失真,“真实”四元数仅可以在统计基础上可信,其中,“真实”四元数指描述对象(1)的真实世界移动的四元数,而如下文所描述的用于实际计算的四元数是被期望足够接近“真实”四元数从而数学地表示设备(1)的取向变化的估计的四元数。
在四元数表示中,四元数qi+1是在对传感器的一些第i个测量结果之后基于之前计算的四元数qi的新的计算。
如之前在上文所描述的,例如在某个测量的取向具有带有三个参数的测量的加速度向量A并且在初始取向具有相同的初始测量结果(其中,初始仅指相对于当前测量的初始的并因此可以被定义在设备(1)的运转过程中的任何时间),则可以构造三个方程,其中,四元数q1,2被视为将两个测量结果集合联系起来的描述对象(1)的取向变化的未知变量。为了以渐进的方式解出方程(从而使得在每次迭代时不会花费太多时间),通常可以借助基于迭代的算法(比如梯度下降算法)解出q1,2,其中,dqa,i是由加速度测量结果形成的每次迭代过程中解的修正。例如,如果使用梯度下降算法,dqa,i表示梯度。类似地,dqm,l是由磁力计测量结果等形成的方程的解的修正。
参数dT是自从上一次测量以后所经过的时间,这在方程1中同样有展示。
方程1
qi+1=qi+(dqω,i-η×dqa,i-ζ×dqm,i)×dT
方程1中的变量中的两个eta(η)和zeta(ζ)涉及权重、或如将更详细描述的动态确定的增益。
如果加速度计测量总值(例如,测量的3维加速度计向量A数据的范数),数据与重力的值不同,这意味着设备(1)正经历加速/减速机动,则加速度计的数据将较不可信,或权重较小,其eta(η)或权重。
以同样的方式,如果磁力计正经历干扰,即如果磁力计的测量的向量M的范数大于或小于参考地球磁场的幅值,加速度计同样地将较不可信,并且相对于更接近参考地球磁场的幅值,其增益(ζ)或权重在计算中较低。
一般地,如果补偿太过强烈,坐标系输出将遭受严重的干扰;如果太过轻微,累积的陀螺仪积分误差将增长。陀螺仪测量结果通常是旋转速率、或其本身的角速度的形式。为了计算取向改变,需要在两次测量之间的时间间隔上对角速度进行积分,从而使得可以导出表示传感器的当前取向的累积角度变化。在这种过程中,测量误差(传感器的实际角速度与测量的角速度之差)同样将被积分,所述测量误差与真实值的积分一起变成下次积分的基础,这意味着误差将累积并且不能被陀螺仪测量结果本身的积分过程消除。陀螺仪所测量的角速度可以被数学地变换成表示四元数的变化速率的四元数格式dqω,i。
图3展示了包括动态确定的增益的计算算法的工作流程图。计算开始于第i次迭代的输入测量数据(8),所述迭代具有相对于检测设备(5)中独立传感器的对应测量结果的最新测量结果变化四元数(9)的计算的变化速率,相关的计算的当前增益(10),这些是给定第i+1次迭代的输出四元数的情况下根据方程1对用于计算(11)的输入。
在所展示的由两个变量eta(η)和zeta(ζ)形成并包括方程1的实施例中,所述方程具有的输入为:通过陀螺仪测量结果dqω,i所确定的四元数的变化速率、分别由加速度计测量结果和磁力计测量结果dqa,i和dqm,l形成的方程的解的修正、以及来自前一迭代的四元数结果。
在展示中,Ai是用于加速度向量A的向量形式的计算中第i次迭代的加速度计测量结果,比如包括三个参数。这意味着,根据图3中所展示的计算,如所存储的测量的传感器数据经历迭代,其中,使用前一迭代的已更新计算的四元数qi与第i次迭代Ai过程中的新测量结果等一起更新四元数qi,这产生了qi+1,作为第i次迭代的输出,并且还作为接下来的迭代编号(i+1)的基础,其中,qi+1扮演与qi在第i次迭代过程中所扮演的一样的角色。
如同样展示的,计算包括分别根据测量的加速度向量A和测量的磁向量M的测量结果的置信度的加权计算,其中,这些由增益的两个变量eta(η)和zeta(ζ)形成。
实施例包括基于以下方程动态计算两个增益参数。
方程2计算动态增益值(η)和zeta(ζ)
其中,根据方程3和方程4计算余弦部分
方程3
方程4
其中,θη表示通过使用四元数qi转动(即,取向变化)Ar而计算的测量的Ai向量与估计的Ai向量之间的角度差。
类似地,θζ表示通过使用四元数qi转动Mr而计算的测量的Mi向量与估计的Mi向量之间的角度差。
方程5
方程6
在方程和展示中,Ai是用于加速度向量A的向量形式的第i次迭代的加速度计测量结果,比如包括三个参数。如所存储的测量的传感器数据用于根据图3中所展示的计算的具体迭代,其中,迭代编号i的已更新计算的四元数qi+1用来更新计算的四元数qi+2,用于接下来的迭代编号i+1。
如同样展示的,计算包括分别根据测量的加速度向量A和测量的磁向量M的测量结果的置信度、以及因此方程中的权重的加权计算,其中,这些由增益的两个变量eta(η)和zeta(ζ)形成。
在此,Ar是当对应的传感器静止(指示对象(1)也静止)时测量的向量形式的参考重力场。参数Mr是当对应的传感器不(或仅非常轻微地)受磁场失真干扰时测量的地球的参考磁场。再次,qi+1是第i次迭代的估计的四元数输出,所述四元数输出是根据例如图3的计算以及方程1加上当前迭代的陀螺仪数据的积分从前一四元数输出q计算的,q*是q的共轭。数学符号“|| ||”计算向量的范数。数学符号“| |”计算标量的绝对值。表示哈密顿积。)
所展示的实施例方案的基本概念是:如果加速度计测量总值(例如,测量的3维加加速度计向量A的范数),数据与重力的值不同,这意味着设备(1)正经历加速/减速机动,则加速度计的数据将较不可信(即,较低的置信度),其增益(η)或计算中的权重较低。
以同样的方式,如果磁力计正经历干扰,即如果磁力计的测量的向量M的范数大于或小于参考地球磁场的幅值,则加速度计同样地将较不可信。其增益(ζ)或计算中的权重较低。
方程5中为向量形式的来自加速度计的测量值的范数用||Ai||表示,同时重力的幅值用||Ar||表示,这是当对应的传感器以及因而对象(1)静止时的加速度计测量结果。根据方程5,如果||Ai||与||Ar||不同,则动态增益因子dη相应地减小,这在图4A中有所展示,其中,dη是总加速度的幅值||Ai||除以地球重力||Ar||的函数。测量的地球幅值的置信度或权重使用类似的规则动态地调整。如果磁场的测量幅值||Mi||不同于参考地球磁场幅值,根据方程6,dζ作为动态增益ζ的因素而减小,这在图4A中同样有展示。
方程3中的因子是Ai的估计值,并且计算cosθη,其中,θη是估计的Ai与测量的Ai之间的角度差。图4BA示出了动态分量(1-cosθ)根据T的绘图,示出了角度差越大值(1-cosθ)越大;当与方程3放在一起时,η将具有更大的值,这意味着加速度计测量结果更可信。
对于磁力计,方程4和方程6用来根据磁场的估计度量与实际测量结果之间的角度差调整方程2中的ζ。
所述方法的优点:提供了准确且计算友好的方法来实现一般概念中所描述的目的,所述方法提供了增长的误差与补偿速度之间的良好平衡,并且所述方法已经在各种实验中被证明。基于所提出的方法,容易导出在编程时不需要任何条件命令(像“IF”条件)的算法,这在使用微处理器的计算中非常高效,其中分支预测特征不可用。
基向量
在实施例中,坐标系进一步引入了基向量V,如图2中所见,其中,表示设备(1)的向量F(X1,Y1,Z1)是使用四元数q从基向量V计算的,并且其中,绕向量F(如果不应用旋转的话,同样与V相同)的旋转是未使用的自由度,这意味着F随着四元数q改变而相对于世界坐标系变化但相对于传感器坐标系保持恒定或相同。向量不一定与传感器坐标系的原理轴中的任何一个对准,但可以这样。可以通过将向量F投影至世界坐标系来获取设备(1)的2D表示(3)。2
所述基向量V自然地可以被表示在或者所述世界坐标系或者所述传感器坐标系中并被选择为使得所述基向量与正被测量的所述对象(1)的将被忽略的旋转所围绕的轴——未使用的自由度平行。可以根据基向量V计算向量F取向。
在图2的所展示的实施例中,从基向量V比如(0,-1,0)计算表示目前对象(1)取向的向量F的表示。
以下方程7a和7b示出了使用基向量V的两个示例。方程7a示出了基向量V是用于配置传感器坐标系(X0,Y0,Z0)的世界坐标系中所表示的(1,0,0)(以四元数的方式(0,1,0,0))。
方程7a:
虽然所展示的方程是联系四元数给出的,但按照一般地对于本设备(1)和运转设备(1)的方法的情况,四元数仅仅是两个位置之间更一般的数学转移运算符的一种数学表示,如将适用于以替代性数学表示给出的实施例。
具有基向量(0,-1,0)(以四元数的方式(0,0,-1,0))的方程7b用来通过基向量V定义向量表示(X1,Y1,Z1)。哈密顿积被按照它通常被符号表示的那样来表示,并且指表示从世界坐标系向传感器坐标系的旋转的四元数的共轭。
因而根据基向量V以及通过转移运算符的附加旋转对向量F(X1,Y1,Z1)进行投影,在所展示的四元数实施例中,这是从同样如方程1和图3中所描述的迭代方法导出的旋转四元数q0(或处于欧拉表示的矩阵旋转)。基向量V可以被定义在附接至正测量的对象(1)的坐标系中,即定义在传感器坐标系中。
如图2中所示,向量F(X1,Y1,Z1)是上文所述的轴。向量F与正被测量的对象(其内具有IMU)一起改变其取向。
方程7b
方程q0和q1分别表示传感器坐标系(X0,Y0,Z0)和向量F(X1,Y1,Z1)各自的当前转换算子。
以这种方式,基向量用来“拔出”未使用的或不活动的自由度。
这种方法的重要特征是:所选择的基向量V的方向应该与被测量的对象(1)的应该被忽略的旋转所围绕的轴(未使用的自由度)平行。
在设备(1)的指点笔实施例中,所展示的基向量B,在图2中这将是平行于指点方向、或笔的长度或纵向方向的方向。
将以各种不同方式找到基向量V。在一个实施例中,它是具有算法和计算的处理器中被继承的向量,其中,在实施例中,这在给定的初始化阶段根据例如重力而对准从而建立世界坐标系并据此定义基向量V。
在实施例中,通过迭代过程找到基向量V,所述迭代过程包括像联系方程1和图2的那些所使用的迭代,以及如稍后将联系从中断恢复时描述的。
如图中用字母A、B和C标记的那样计算向量F在图2中的(X’Y’Z)坐标系——传感器坐标系上的投影。Vb1、Vb2和Vb3是对应的投影在每条轴上的长度。另外,由于所有向量被规范化成单位向量。向量F分别到X’轴和Y’轴的角度α和β同样可以通过简单计算来计算,如方程8中所示的几何关系确定所述简单计算。
方程8:
Vb1=(X0,Y0,Z0)·(X1,Y1,Z1)
Vb2=(Y0,-X0,Z0)·(X1,YA,Z1)
Vb3=(Z1)
角度α和β可以用于许多各种不同应用,比如离散微分之后的角度测量、X-Y绘图以及计算机鼠标光标控制。对象绕平行于F的轴的旋转对结果没有影响,这是对许多应用的关键要求,比如指点设备,比如基于IMU的笔状计算机鼠标,其应该输出稳定的XY数据而不管绕平行于笔的纵轴、或指点轴的轴的旋转。
中断恢复
所述方法还提供了当设备从中断中恢复时更好的性能,所述中断可能是短时间或较长时间内将使设备(1)中断进一步的测量、或至少中断传达和存储测量结果的任何事物,比如电力在被关闭之后打开之前。
这种中断时的要素是初始化世界坐标系中的对象位置,在一个实施例中,其中,进一步通过紧跟对象(1)的传感器坐标系表示对象(1)以及因此传感器,转变算子因而同样相对于世界坐标系转移传感器坐标系。
当对象(1)在中断之后返回运转时,它需要重新初始化,这意味着它至少需要在例如世界坐标系中通过计算初始化其取向。在实施例中,这是通过迭代过程完成的。
这种迭代方法可以包括用于执行采样一个传感器数据集合的过程的每次迭代(陀螺仪、加速度计、磁力计或这些的组合),在基于被采样数据的新知识通过计算改进了输出结果之后。这种迭代继续重复,并且所述迭代中的每次迭代的输出结果趋向于遵循对象的取向的实际变化。将调整使用这种方法的设备,其方式为使得每次迭代的收敛速率大于取向的实际变化速率,并因此如果前一结果接近对象的致动取向,下一次迭代的结果将甚至更接近致动取向。
这种迭代方法在正常运转条件下良好地起作用,比如当前一迭代结果已经接近实际取向时。然而,例如当设备刚刚被上电,或刚刚从在其过程中不能执行此类迭代的中断恢复时,迭代结果将不立即收敛接近实际取向,因为前一迭代结果不可用或离实际值太远。相反,需要等待显著的时间(通常至少几秒)以便结果收敛至稳定的输出。这是缺点,因为从中断恢复或上电之后的输出不能立即被使用,因为对传感器数据的采样不能够非常快,部分是因为传感器与处理器之间的通信协议的有限速度,并且部分是因为传感器本身的有限采样速率。
为了克服所述缺点,传统方法在未收敛时将停止输出结果;通过保持设备一直运行来仅仅简单地避免中断。这些方案对于(比如计算机指点设备)是不期望的,对于由电池供电的设备也是不期望的,因为连续地运行耗费更多的能量并且缩短了电池寿命。
在一个实施例中,本发明介绍了替代性或附加方案以当设备从中断中恢复时在短收敛时间方面提供更好的性能。还适合让设备在上电或重置之后立即输出收敛值,就断电/上电或重置而言本身可以被视为某些类型的中断。
短收敛时间提供了应用于例如电池供电设备立即(立即意思是具有非常短的时延以至于用户或使用所述输出的另一应用不会注意到所述时延也不会从其正常运转分散)从睡眠模式恢复或输出正确的取向的可能性,从而使得睡眠模式与激活模式之间的频繁切换变得实际并且可以节约更多能量并因此有更长的电池寿命。在没有改进的情况下,每次上电、设备被中断或重置时,设备必须等待直到输出变得稳定。
本实施例包括以下两种方法中的一种或两种:
(1)多次读取传感器数据,意味着对传感器数据进行多次立即初始化测量,并随后产生多次快速计算迭代,而不进一步读取实际传感器数据,直到输出稳定
(2)将迭代基(比如四元数)重置为已知取向,可以或者通过记住中断之前的位置或者通过估计中断时期内的移动来获取所述阈值取向。
所述方法中的第一种方法通常将用于其中在从中断恢复时对象(1)取向未知的情形,并且进一步对其进行如下解释。
所述第一种方法的缩短中断之后的收敛时间的基本概念是基于以下假定的:对象取向保持不变并且对象在收敛时期内不移动,或至少仅具有联系时间段内的计算所见的取向的不明显变化。由于取向必要地或至少被假定为恒定,则传感器同样被假定为静止,因而传感器测量结果的期望值同样被假定为在这个时间帧内恒定。因此,仅几个样本是由传感器数据制作的,所述传感器数据用来计算每个传感器测量结果的中值平均值,并在收敛时期内使用这些中值平均值作为所有测量结果的表示。因而,迭代可以多次运行,而不实际进行对传感器数据的进一步采样,这显著地减少了收敛所需的时间。由于在联系对象(1)的取向的实际物理变化所见的非常短的时间段内计算迭代,假定适用并且因此方法有效。
图5A展示了时间线,所述时间线指示了使用所述第一种方法时的恢复方法中的重要时间点中的一些。运转条件被分成两个阶段——等待收敛(12)和正常运转条件(13),其中,第一种方法初始化过程在等待收敛阶段内运行。如图5A中所示,在从中断恢复(14)时,设备首先取得检测设备(5)中的每个传感器的几个样本集合(15)。确定样本集合的数量的方式为使得对应的传感器的样本的中值平均值不经受显著的噪声,其中,此数量可以从实验确定。同样如之前所描述的,用于制作样本的时间足够短从而未被设备(1)的用户检测到并且相对于对象(1)的实际移动不显著,通常它将大约几毫秒或更少。这些中值平均值被存储(16)在处理器中并形成多次计算迭代(17)的输入,而不需要每次在进行计算之前实际对传感器数据进行采样。在这些计算迭代(17)过程中,在一个实施例中,计算包括人工生成的采样时间间隔模拟对数据集合中的每个数据集合进行采样之间的时间间隔(例如,在方程1中模拟dT)。这个人工采样时间间隔可以具有恒定的或可变的尺寸。在多次此类特殊迭代之后,或者作为固定数量给定或者当具体迭代的结果与之前迭代之一相比改变小于临界误差,特殊迭代停止并且设备进入正常运转条件(13)。在正常运转条件下,设备(1)处于正常工作运转并且在针对所述迭代中的每次迭代进行计算之前传感器数据仅被采样(18)一次。
图5B示出了如图5A中所展示的等待收敛(12)阶段的典型工作流程。注意,具有“针对一次迭代的快速计算”的框意思是进行上文所述特殊迭代的计算,其中,用于计算的时间间隔通常是在不实际采样传感器数据且在下次迭代之前不实际等待所述事件间隔的情况下人工生成的,这显著地减少了在处理器上执行这些迭代所需的时间并因此缩短了等待收敛的阶段所花费的时间(例如,微处理器上共几毫秒)。最后,它从中断模式(等待收敛(12)阶段)退出(19),并进入正常运转条件(13)。
图2展示了求解算法的工作流程图,所述求解算法包括方程1和在所展示的实施例中由两个变量eta(η)和zeta(ζ)形成的动态确定的增益,如上文已经描述的,在从中断恢复时使用同一基本工作流计算和方程。
在图2中进一步所见用于继续等待收敛阶段(12)或停止并继续正向运转条件阶段(13)的计算的有条件迭代部分(20),其中,这或者可能是由于结果四元数qi+1的变化已经变得低于某个设定阈值,或者由于最大迭代集合,或两者的组合。
两种模式之间的转变
之前所描述的实施例使用四元数表示的计算和方程,但可以可替代地以任何其他可能的数学表示存在,比如但不限于欧拉表示。在数学上可能从一种表示(像四元数)转换成另一种表示(比如欧拉表示),并且反之亦然。
直观地,欧拉表示是最容易理解的,然而同样需要大量的计算。使用欧拉表示的另一缺点是它可能经历被称为众所周知的万向节锁的现象。进一步,当角度接近90度(即,奇异点)时,为了计算欧拉角,有时经历低计算量,如果这是数值地在数字设备上完成的,在数字设备中浮点数具有有限的精度。
四元数与欧拉之间的转换通常基于处于其初始状态的参考万向节,为此转换将不经历万向节锁。然而,当接近奇异点时,数值计算精度在减小转换量时仍然起作用。
在本坐标系的实施例中,传感器坐标系在同一规则下的两种数学表示之间转换,其中,这些在下文中同样被称为基本模式,其中,下文中的两种模式分别被称为水平模式和竖直模式。这两种基本模式中的每一种都以通过初始化程序计算的可重配置坐标系为特征,从而将坐标系与被测量对象的初始位置匹配,所述初始位置被定义为重新配置时其位置。重新定义的坐标系在图4和图6中分别被描述为(X’Y’Z)。
如之前所描述的,原理世界坐标系(XYZ)固定至地面,并且在实施例中让其Z轴平行于重力的方向,如图4中同样展示的。附接至对象(1)的重新定义的坐标系(X’,Y’,Z’)如之前被成为传感器坐标系。
1)水平模式:这种模式(同样被称为小角度模式)在有待消除的旋转移动是在与水平面(7)具有小角度的轴线上旋转时使用,其中,水平面可以被定义为与重力的方向正交的平面,此角度被成为临界角。准确的角度可以取决于实际坐标系及其使用,并且可以根据具体应用而被定义,但通常小于80度、或小于70度、或小于60度、或小于50度或小于40度。当与水平面的角度变得小于或等于临界角时,此设备因而进入水平模式。在一个实施例中,水平模式包括通过四元数表示坐标系
2)竖直模式:竖直模式(还被称为大角度模式)在图4中的向量F相对水平面(7)具有90度角度时去除奇异点,在角度变大(意思是大于临界角(或大于等于)时提高精确度,并除去绕平行于与重力的方向具有小角度的轴线的轴线的旋转效果。如图4中所示,角度α和β与2维表示联系并且可以用与水平模式相似的方式被计算。在图6中,当计算α和β时,需要被忽略的旋转轴线是图中用向量G(Xg,Yg,Zg)表示的重力,同时它还可以是在其他不同背景下选择的另一向量,比如图中的H。在实施例中,竖直模式包括通过欧拉表示来表示坐标系。
3)混合模式:这种模式通过计算加权和以混合数据来利用来自两种模式的结果,从而提供从水平模式到竖直模式的顺利转变。所述加权和是根据被测量对象的状态(例如,俯仰等)的。
Claims (19)
1.一种设备(1),所述设备在3维运动下运转,并且其中,其取向被转变成数学3D表示(2),所述数学3D表示然后进一步被变换成数学2D表示(3),其中,所述设备包括姿势或取向检测装置(5),其中,所述数学表示变换用来消除未使用的自由度的影响。
2.根据权利要求1所述的设备,其中,所述2D表示(3)是基于在这两个使用的自由度上所见的所述对象(1)取向向量F计算的。
3.根据权利要求2所述的设备(1),其中,所述检测装置(5)包括加速度计和陀螺仪以及可选地磁力计。
4.根据权利要求3所述的设备(1),其中,所述设备(1)包括以下各项中的一项或一些中的至少三项:被定位用于生成测量的传感器数据向量比如测量加速度向量A=(Ax,Ay,Az)、陀螺仪向量ω=(ωx,ωy,ωz)和/或磁向量M=(Mx,My,Mz)的所述加速度计、陀螺仪和/或磁力计。
5.根据权利要求1至4中任一项所述的设备,其中,所述数学表示包括:作为固定的基本参考坐标系(X,Y,Z)的世界坐标系、以及作为所述世界坐标系(X,Y,Z)的旋转的传感器坐标系(X’,Y’,Z’),并且其中,所述对象(1)取向在所述传感器坐标系(X’,Y’,Z’)中由所述向量F(X1,Y1,Z1)表示。
6.根据权利要求5所述的设备,其中,所述向量F与所述未使用的自由度平行。
7.根据权利要求1至6中任一项所述的设备(1),其中,所述对象(1)的当前取向是通过如所述传感器所记录的取向变化估计的,包括估计两个取向之间的数学转换算子的步骤,其中,此转换算子是基于所述测量的传感器数据比如加速度向量A=(Ax,Ay,Az)、陀螺仪向量ω=(ωx,ωy,ωz)和/或磁向量M=(Mx,My,Mz)估计的,并且其中,所述对象(1)的所述数学表示是基于此类计算迭代来计算的,其中,当基于新的传感器数据估计新的转换算子时,所述计算的对象(1)取向被用作下一次迭代时所述对象(1)的输入取向,并且其中,实施例包括基于以下方程动态地计算这两个增益参数。
8.根据权利要求7所述的设备(1),其中,在所述计算中,通过动态地改变增益参数来对所述测量的传感器数据中的一部分进行加权,所述增益参数是根据实际测量的传感器数据参数动态地计算出的。
9.根据权利要求8所述的设备(1),其中,所述设备(1)的取向变化的一种数学表示用四元数表示,并且所述转换算子是四元数q,并且其中,根据以下方程计算表示如所述检测装置(5)所测量的所述对象(1)的最新位置变化的新四元数的迭代计算
qi+1=qi+(dqω,i-η×dqa,i-ζ×dqm,i)×dT
其中,η和ζ是增益值、或权重,dT是自从上次测量以后所经过的时间,并且dqω,i、dqa,i和dqm,i是所述迭代过程中的对应四元解的梯度、或修正量。
10.根据权利要求9所述的设备(1),其中,所述增益包括根据所述方程以及以下各项计算的两个值
<mrow>
<mi>&eta;</mi>
<mo>=</mo>
<msqrt>
<mfrac>
<mn>3</mn>
<mn>4</mn>
</mfrac>
</msqrt>
<mo>&times;</mo>
<mfrac>
<mi>&pi;</mi>
<mn>2</mn>
</mfrac>
<mo>&times;</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<msub>
<mi>cos&theta;</mi>
<mi>&eta;</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>&times;</mo>
<msub>
<mi>d</mi>
<mi>&eta;</mi>
</msub>
</mrow>
并且
<mrow>
<mi>&zeta;</mi>
<mo>=</mo>
<msqrt>
<mfrac>
<mn>3</mn>
<mn>4</mn>
</mfrac>
</msqrt>
<mo>&times;</mo>
<mfrac>
<mi>&pi;</mi>
<mn>2</mn>
</mfrac>
<mo>&times;</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<msub>
<mi>cos&theta;</mi>
<mi>&zeta;</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>&times;</mo>
<msub>
<mi>d</mi>
<mi>&zeta;</mi>
</msub>
</mrow>
其中,
<mrow>
<mn>1</mn>
<mo>-</mo>
<msub>
<mi>cos&theta;</mi>
<mi>&eta;</mi>
</msub>
<mo>=</mo>
<mn>1</mn>
<mo>-</mo>
<mfrac>
<mrow>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<mo>&CircleTimes;</mo>
<msub>
<mi>A</mi>
<mi>i</mi>
</msub>
<mo>&CircleTimes;</mo>
<msubsup>
<mi>q</mi>
<mi>i</mi>
<mo>*</mo>
</msubsup>
<mo>&CenterDot;</mo>
<msub>
<mi>A</mi>
<mi>r</mi>
</msub>
</mrow>
<mrow>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<mo>&CircleTimes;</mo>
<msub>
<mi>A</mi>
<mi>i</mi>
</msub>
<mo>&CircleTimes;</mo>
<msubsup>
<mi>q</mi>
<mi>i</mi>
<mo>*</mo>
</msubsup>
<mo>|</mo>
<mo>|</mo>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>A</mi>
<mi>r</mi>
</msub>
<mo>|</mo>
<mo>|</mo>
</mrow>
</mfrac>
<mo>=</mo>
<mn>1</mn>
<mo>-</mo>
<mfrac>
<mrow>
<msubsup>
<mi>q</mi>
<mi>i</mi>
<mo>*</mo>
</msubsup>
<mo>&CircleTimes;</mo>
<msub>
<mi>A</mi>
<mi>r</mi>
</msub>
<mo>&CircleTimes;</mo>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<mo>&CenterDot;</mo>
<msub>
<mi>A</mi>
<mi>i</mi>
</msub>
</mrow>
<mrow>
<mo>|</mo>
<mo>|</mo>
<msubsup>
<mi>q</mi>
<mi>i</mi>
<mo>*</mo>
</msubsup>
<mo>&CircleTimes;</mo>
<msub>
<mi>A</mi>
<mi>r</mi>
</msub>
<mo>&CircleTimes;</mo>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<mo>|</mo>
<mo>|</mo>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>A</mi>
<mi>i</mi>
</msub>
<mo>|</mo>
<mo>|</mo>
</mrow>
</mfrac>
</mrow>
并且
<mrow>
<mn>1</mn>
<mo>-</mo>
<msub>
<mi>cos&theta;</mi>
<mi>&zeta;</mi>
</msub>
<mo>=</mo>
<mn>1</mn>
<mo>-</mo>
<mfrac>
<mrow>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<mo>&CircleTimes;</mo>
<msub>
<mi>M</mi>
<mi>i</mi>
</msub>
<mo>&CircleTimes;</mo>
<msubsup>
<mi>q</mi>
<mi>i</mi>
<mo>*</mo>
</msubsup>
<mo>&CenterDot;</mo>
<msub>
<mi>M</mi>
<mi>r</mi>
</msub>
</mrow>
<mrow>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<mo>&CircleTimes;</mo>
<msub>
<mi>M</mi>
<mi>i</mi>
</msub>
<mo>&CircleTimes;</mo>
<msubsup>
<mi>q</mi>
<mi>i</mi>
<mo>*</mo>
</msubsup>
<mo>|</mo>
<mo>|</mo>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>M</mi>
<mi>r</mi>
</msub>
<mo>|</mo>
<mo>|</mo>
</mrow>
</mfrac>
<mo>=</mo>
<mn>1</mn>
<mo>-</mo>
<mfrac>
<mrow>
<msubsup>
<mi>q</mi>
<mi>i</mi>
<mo>*</mo>
</msubsup>
<mo>&CircleTimes;</mo>
<msub>
<mi>M</mi>
<mi>r</mi>
</msub>
<mo>&CircleTimes;</mo>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<mo>&CenterDot;</mo>
<msub>
<mi>M</mi>
<mi>i</mi>
</msub>
</mrow>
<mrow>
<mo>|</mo>
<mo>|</mo>
<msubsup>
<mi>q</mi>
<mi>i</mi>
<mo>*</mo>
</msubsup>
<mo>&CircleTimes;</mo>
<msub>
<mi>M</mi>
<mi>r</mi>
</msub>
<mo>&CircleTimes;</mo>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<mo>|</mo>
<mo>|</mo>
<mo>|</mo>
<mo>|</mo>
<msub>
<mi>M</mi>
<mi>i</mi>
</msub>
<mo>|</mo>
<mo>|</mo>
</mrow>
</mfrac>
</mrow>
11.根据前述权利要求中任一项所述的设备(1),其中,所述坐标系的所述数学表示进一步包括基向量V,所述基向量是在或者所述世界坐标系或者所述传感器坐标系中定义的并被选择为使得所述基向量与正被测量的所述对象(1)的将被忽略的旋转所围绕的轴——未使用的自由度平行。
12.根据权利要求11所述的设备(1),其中,所述向量V用来将表示当前对象(1)取向的所述向量F投影至这两个使用的自由度。
13.根据权利要求11所述的设备(1),其中,所述向量V用来初始化或配置所述传感器坐标系(X’,Y’,Z’)。
14.根据前述权利要求中任一项所述的设备(1),其中,计算并在以下应用之一中使用在所述传感器坐标系中所见的所述向量F到具有所述使用的自由度的的自由的轴线的角度α和β:角度测量、X-Y绘图和/或计算机鼠标光标控制。
15.根据前述权利要求中任一项所述的设备(1),其中,所述设备(1)包括中断恢复算法,所述中断恢复算法包括以下步骤:多次测量传感器数据,意味着对所述传感器数据进行多次中间初始化测量,并且随后通过所述数学转变算子产生多次快速计算迭代而不需要进一步读取实际传感器数据,直到输出稳定。
16.根据前述权利要求中任一项所述的设备(1),其中,检测装置(5)与能够执行所需计算并存储所需数据的处理器进行任意数据通信。
17.根据前述权利要求中任一项所述的设备(1),其中,当取向穿过水平面(7)上方的临界角时,所述设备包括单独数学表示之间的转换,所述水平面被定义为与重力的方向正交的平面。
18.一种方法,所述方法在3维运动下运转设备(1),并且其中,其取向被转变成数学3D表示(2),所述数学3D表示然后进一步被变换成数学2D表示(3),其中,所述设备包括姿势或取向检测装置(5),其中,所述数学表示变换用来消除未使用的自由度的影响。
19.根据权利要求18所述的运转所述设备(1)的方法,并且包括前述权利要求1至16中任一项所述的步骤和计算。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DKPA201500154 | 2015-03-13 | ||
DKPA201500154 | 2015-03-13 | ||
PCT/DK2016/050068 WO2016146130A1 (en) | 2015-03-13 | 2016-03-10 | Attitude detecting device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107532907A true CN107532907A (zh) | 2018-01-02 |
Family
ID=55542408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680015326.9A Pending CN107532907A (zh) | 2015-03-13 | 2016-03-10 | 姿势检测设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10551939B2 (zh) |
EP (1) | EP3268848A1 (zh) |
CN (1) | CN107532907A (zh) |
WO (1) | WO2016146130A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109001787A (zh) * | 2018-05-25 | 2018-12-14 | 北京大学深圳研究生院 | 一种姿态角解算与定位的方法及其融合传感器 |
CN113515201A (zh) * | 2021-07-27 | 2021-10-19 | 北京字节跳动网络技术有限公司 | 光标位置更新方法、装置和电子设备 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108507567B (zh) * | 2017-02-24 | 2020-07-10 | 阿里巴巴(中国)有限公司 | 姿态四元数确定方法、装置及用户朝向确定方法、装置 |
US10983605B2 (en) | 2017-08-04 | 2021-04-20 | Marbl Limited | Three-dimensional object position tracking system |
CN109241654B (zh) * | 2018-09-27 | 2023-04-07 | 北京环境特性研究所 | 基于角度耦合解算的大双站角覆盖目标姿态模拟方法 |
IT201900013431A1 (it) | 2019-07-31 | 2021-01-31 | St Microelectronics Srl | Metodo di puntamento con compensazione di inclinazione e ridotta potenza e corrispondente dispositivo elettronico di puntamento |
IT201900013422A1 (it) * | 2019-07-31 | 2021-01-31 | St Microelectronics Srl | Metodo di puntamento a ridotta potenza e dispositivo elettronico implementante il metodo di puntamento |
DE102020205943B3 (de) * | 2020-05-12 | 2021-05-20 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Verarbeiten der Sensorsignale einer Drehratensensoranordnung, Vorrichtung und Verfahren zum Betreiben der Vorrichtung |
CN112902828B (zh) * | 2021-01-19 | 2023-09-08 | 陕西福音假肢有限责任公司 | 一种角度计算方法 |
RU2770978C1 (ru) * | 2021-01-27 | 2022-04-25 | Александр Николаевич Юлегин | Система мониторинга показателей жизнедеятельности ребёнка |
US11941184B2 (en) * | 2021-05-18 | 2024-03-26 | Snap Inc. | Dynamic initialization of 3DOF AR tracking system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060092133A1 (en) * | 2004-11-02 | 2006-05-04 | Pierre A. Touma | 3D mouse and game controller based on spherical coordinates system and system for use |
CN101232979A (zh) * | 2005-08-01 | 2008-07-30 | 丰田自动车株式会社 | 移动体姿态角检测设备 |
US20090187371A1 (en) * | 2008-01-21 | 2009-07-23 | Nintendo Co., Ltd. | Storage medium storing information processing program and information processing apparatus |
US20120038549A1 (en) * | 2004-01-30 | 2012-02-16 | Mandella Michael J | Deriving input from six degrees of freedom interfaces |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0764710A (ja) | 1993-08-31 | 1995-03-10 | Tokin Corp | データ入力装置 |
US7614008B2 (en) * | 2004-07-30 | 2009-11-03 | Apple Inc. | Operation of a computer with touch screen interface |
KR20010105316A (ko) * | 1998-12-17 | 2001-11-28 | 도낀 가부시끼가이샤 | 방향각 검출기 |
US6624833B1 (en) * | 2000-04-17 | 2003-09-23 | Lucent Technologies Inc. | Gesture-based input interface system with shadow detection |
US7656393B2 (en) * | 2005-03-04 | 2010-02-02 | Apple Inc. | Electronic device having display and surrounding touch sensitive bezel for user interface and control |
US8629836B2 (en) * | 2004-04-30 | 2014-01-14 | Hillcrest Laboratories, Inc. | 3D pointing devices with orientation compensation and improved usability |
JP4918376B2 (ja) * | 2007-02-23 | 2012-04-18 | 任天堂株式会社 | 情報処理プログラムおよび情報処理装置 |
US8751151B2 (en) * | 2012-06-12 | 2014-06-10 | Trx Systems, Inc. | System and method for localizing a trackee at a location and mapping the location using inertial sensor information |
US20090153475A1 (en) * | 2007-12-14 | 2009-06-18 | Apple Inc. | Use of a remote controller Z-direction input mechanism in a media system |
US8194037B2 (en) * | 2007-12-14 | 2012-06-05 | Apple Inc. | Centering a 3D remote controller in a media system |
US8289316B1 (en) * | 2009-04-01 | 2012-10-16 | Perceptive Pixel Inc. | Controlling distribution of error in 2D and 3D manipulation |
US8884877B2 (en) | 2011-04-29 | 2014-11-11 | Movea | Pointing device |
US9495018B2 (en) * | 2011-11-01 | 2016-11-15 | Qualcomm Incorporated | System and method for improving orientation data |
US20170277282A1 (en) * | 2012-09-14 | 2017-09-28 | Widevantage Inc. | Input device for transmitting user input |
US9513130B1 (en) * | 2014-09-24 | 2016-12-06 | Rockwell Collins, Inc. | Variable environment high integrity registration transformation system and related method |
AU2015353736A1 (en) * | 2014-11-25 | 2017-06-15 | Fynd Technologies, Inc. | Geolocation bracelet, systems, and methods |
WO2016099563A1 (en) * | 2014-12-19 | 2016-06-23 | Hewlett Packard Enterprise Development Lp | Collaboration with 3d data visualizations |
US10182162B2 (en) * | 2017-06-09 | 2019-01-15 | Terranet Ab | Methods and systems for controlled distribution of data transfer capacity between mobile devices |
-
2016
- 2016-03-10 EP EP16710391.0A patent/EP3268848A1/en not_active Withdrawn
- 2016-03-10 WO PCT/DK2016/050068 patent/WO2016146130A1/en active Application Filing
- 2016-03-10 CN CN201680015326.9A patent/CN107532907A/zh active Pending
- 2016-04-10 US US15/557,528 patent/US10551939B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120038549A1 (en) * | 2004-01-30 | 2012-02-16 | Mandella Michael J | Deriving input from six degrees of freedom interfaces |
US20060092133A1 (en) * | 2004-11-02 | 2006-05-04 | Pierre A. Touma | 3D mouse and game controller based on spherical coordinates system and system for use |
CN101232979A (zh) * | 2005-08-01 | 2008-07-30 | 丰田自动车株式会社 | 移动体姿态角检测设备 |
US20090187371A1 (en) * | 2008-01-21 | 2009-07-23 | Nintendo Co., Ltd. | Storage medium storing information processing program and information processing apparatus |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109001787A (zh) * | 2018-05-25 | 2018-12-14 | 北京大学深圳研究生院 | 一种姿态角解算与定位的方法及其融合传感器 |
CN109001787B (zh) * | 2018-05-25 | 2022-10-21 | 北京大学深圳研究生院 | 一种姿态角解算与定位的方法及其融合传感器 |
CN113515201A (zh) * | 2021-07-27 | 2021-10-19 | 北京字节跳动网络技术有限公司 | 光标位置更新方法、装置和电子设备 |
CN113515201B (zh) * | 2021-07-27 | 2024-03-19 | 北京字节跳动网络技术有限公司 | 光标位置更新方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20180088685A1 (en) | 2018-03-29 |
EP3268848A1 (en) | 2018-01-17 |
US10551939B2 (en) | 2020-02-04 |
WO2016146130A1 (en) | 2016-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107532907A (zh) | 姿势检测设备 | |
Valenti et al. | A linear Kalman filter for MARG orientation estimation using the algebraic quaternion algorithm | |
CN108939512B (zh) | 一种基于穿戴式传感器的游泳姿态测量方法 | |
Yun et al. | Design, implementation, and experimental results of a quaternion-based Kalman filter for human body motion tracking | |
CN104658012B (zh) | 一种基于惯性与光学测量融合的运动捕捉方法 | |
KR101778807B1 (ko) | 데이터 융합을 이용하는 모션 캡처 포인터 | |
CN108627153B (zh) | 一种基于惯性传感器的刚体运动追踪系统及其工作方法 | |
CN104246433B (zh) | 用于移动装置中的传感器的使用中自动校准方法 | |
US8032324B1 (en) | Interactive controller device | |
US20110307213A1 (en) | System and method of sensing attitude and angular rate using a magnetic field sensor and accelerometer for portable electronic devices | |
CN104956648B (zh) | 用于在固定参照系中感测物体在空间中的取向的方法和设备 | |
CN103299247B (zh) | 用于磁近场的动态追踪及补偿的设备和方法 | |
CN108225370B (zh) | 一种运动姿态传感器的数据融合与解算方法 | |
US20140222369A1 (en) | Simplified method for estimating the orientation of an object, and attitude sensor implementing such a method | |
CN110174123B (zh) | 一种磁传感器实时标定方法 | |
Sun et al. | Adaptive sensor data fusion in motion capture | |
CN109000633A (zh) | 基于异构数据融合的人体姿态动作捕捉算法设计 | |
CN102778965B (zh) | 3d指示装置与补偿3d指示装置的转动的方法 | |
CN107782309A (zh) | 非惯性系视觉和双陀螺仪多速率ckf融合姿态测量方法 | |
CN108318027A (zh) | 载体的姿态数据的确定方法和装置 | |
CN108534772A (zh) | 姿态角获取方法及装置 | |
CN106643717A (zh) | 一种九轴传感器的性能检测方法及装置 | |
Hoang et al. | Pre-processing technique for compass-less madgwick in heading estimation for industry 4.0 | |
CN109029499A (zh) | 一种基于重力视运动模型的加速度计零偏迭代寻优估计方法 | |
Ratchatanantakit et al. | A sensor fusion approach to MARG module orientation estimation for a real-time hand tracking application |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180102 |