CN102289305B - 姿态感知设备及其定位方法、鼠标指针的控制方法 - Google Patents
姿态感知设备及其定位方法、鼠标指针的控制方法 Download PDFInfo
- Publication number
- CN102289305B CN102289305B CN201110252742XA CN201110252742A CN102289305B CN 102289305 B CN102289305 B CN 102289305B CN 201110252742X A CN201110252742X A CN 201110252742XA CN 201110252742 A CN201110252742 A CN 201110252742A CN 102289305 B CN102289305 B CN 102289305B
- Authority
- CN
- China
- Prior art keywords
- sensitive axes
- sensing equipment
- attitude sensing
- index value
- value
- 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
Images
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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种姿态感知设备及其定位方法、鼠标指针的控制方法,所述姿态感知设备包括至少一种惯性器件,所述姿态感知设备的定位方法包括:建立索引值与敏感轴的参数之间的对应关系,所述索引值与所述惯性器件的敏感轴的测量值所对应,所述敏感轴的参数包括所述惯性器件的敏感轴的倾斜角及其三角函数值和/或基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值;获取所述惯性器件的各个敏感轴的测量值;基于与所获取的测量值对应的索引值查询所述对应关系,确定所述姿态感知设备的空间坐标。本发明技术方案能快速定位姿态感知设备,并且使功耗降低。
Description
技术领域
本发明涉及定位技术领域,特别涉及一种姿态感知设备及其定位方法、鼠标指针的控制方法。
背景技术
目前,计算机鼠标指针的定位大多数都依靠光学传感器或激光传感器来实现,这些传感器都基于物理光学原理,使得传感器需要依靠桌面等平台来实现。但是在很多场合,例如在计算机多媒体教学中,用户想在空中操控鼠标指针或是通过在空中操控鼠标指针来实现多媒体电视播放、网页浏览等应用,仅使用传统的传感器就无法实现,于是空中鼠标应运而生。空中鼠标是一种输入设备,像传统鼠标一样操作屏幕光标(鼠标指针),但却不需要放在任何平面上,在空中晃动就能直接依靠空中运动姿态的感知实现对鼠标指针的控制。要实现空中运动姿态的感知,一般在姿态感知设备(例如空中鼠标)中设置惯性器件,利用惯性器件测量技术实现对运动载体姿态的跟踪。
利用惯性器件测量技术进行运动载体姿态的跟踪具有非常广阔的前景。惯性跟踪***的基本原理是在目标初始位置和姿态已知的基础上,依据惯性原理,利用陀螺仪传感器、加速度传感器等惯性器件测量物体运动的角速度和直线加速度,然后通过积分获得物体的位置和姿态。其中,陀螺仪基本原理是运用物体高速旋转时,强大的角动量使旋转轴一直稳定指向一个方向的性质,所制造出来的定向仪器。当运动方向与转轴指向不一致时,会产生相应的偏角,再根据偏角与运动的关系,得到目前运动物体的运动轨迹和位置,从而实现定位的功能。而加速度传感器技术是惯性与力的检测综合体,目前在汽车电子和消费电子领域有较多的应用。加速度传感器通过实时采集运动物体加速度信号,通过二阶积分的方式得到运动的轨迹实现定位。另外,在器件处于相对稳定的状态下,可以通过分析传感器件自身重力加速度,得到目前器件的自身姿态。然而,由于陀螺仪传感器技术以及加速度传感器技术都存在运动物体姿态与运动状态很难完全体现的不足,因此,通常将陀螺仪传感器技术以及加速度传感器技术结合,从而能实现空间定位的准确性和稳定性。
但是,现有技术中,无论是陀螺仪传感器通过测量其敏感轴的角速度进而利用积分运算得出倾斜角以确定坐标变化,还是加速度传感器通过测量各敏感轴的加速度分量进而通过反三角函数运算得出倾斜角以确定坐标变化,都需要进行复杂的运算(积分运算、反三角函数运算等),而且这些运算中大多涉及浮点运算,这对于姿态感知设备中的处理控制芯片来说,例如微控制器(MCU,Micro Control Unit),如果选用处理能力相对较弱的MCU,由于其有限的处理能力,在进行复杂而大量的运算时需要耗费较多的资源,导致处理速度较慢,而且具有较高的功耗,如果选用处理能力更强的MCU,又会使成本上升。
相关技术还可参考公开号为WO2005108119(A2)的国际专利申请,该专利申请公开了一种带有倾斜补偿和提高可用性的自由空间定位设备。
发明内容
本发明要解决的问题是现有技术中姿态感知设备利用其惯性器件测量角速度或/和加速度分量获得倾斜角以确定坐标变化时,因复杂而大量的计算需要耗费较多的资源,导致处理速度较慢,而且具有较高的功耗。
为解决上述问题,本发明的技术方案提供一种姿态感知设备的定位方法,所述姿态感知设备包括至少一种惯性器件,所述姿态感知设备的定位方法包括:
建立索引值与敏感轴的参数之间的对应关系,所述索引值与所述惯性器件的敏感轴的测量值所对应,所述敏感轴的参数包括所述惯性器件的敏感轴的倾斜角及其三角函数值和/或基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值;
获取所述惯性器件的各个敏感轴的测量值;
基于与所获取的测量值对应的索引值查询所述对应关系,确定所述姿态感知设备的空间坐标。
可选的,所述敏感轴的参数包括基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值;基于与所获取的测量值对应的索引值查询所述对应关系,确定所述姿态感知设备的空间坐标包括:
基于与所获取的测量值对应的索引值查询所述对应关系,获得与所述索引值对应的惯性器件的敏感轴的坐标值;
基于查询到的惯性器件的敏感轴的坐标值确定所述姿态感知设备的空间坐标。
可选的,所述敏感轴的参数包括所述惯性器件的敏感轴的倾斜角及其三角函数值;基于与所获取的测量值对应的索引值查询所述对应关系,确定所述姿态感知设备的空间坐标包括:
基于与所获取的测量值对应的索引值查询所述对应关系,获得与所述索引值对应的敏感轴的倾斜角及其三角函数值;
基于查询到的惯性器件的敏感轴的倾斜角及其三角函数值,确定所述姿态感知设备的空间坐标。
可选的,所述姿态感知设备的定位方法还包括:对至少两个连续确定的姿态感知设备的空间坐标进行插值运算,以插值运算后获得的所有空间坐标定位所述姿态感知设备。
可选的,进行插值运算包括:若第一预定时间内所述空间坐标变化的加速度小于预设阈值,则进行线性插值运算,否则进行抛物线插值运算。
可选的,按倾斜角所对应的斜率由大至小的顺序逐步降低分割精度确定所述对应关系中敏感轴的参数的配置。
可选的,将与所述索引值对应的倾斜角的三角函数值扩大预定倍数并取整。
可选的,所述确定所述姿态感知设备的空间坐标包括以稳定的敏感轴确定所述姿态感知设备的空间坐标;判断敏感轴是否稳定包括:若缓存区内不同的索引值的数量小于或等于第一阈值,且各索引值之间的差值均小于或等于第二阈值,则确定该敏感轴稳定;所述缓存区存有每隔第二预定时间所获取的索引值。
可选的,所述惯性器件为重力加速度传感器,其至少包括两个相互垂直的敏感轴,其中一个敏感轴垂直于地平面。
可选的,所述重力加速度传感器为电容式重力加速度传感器,所述测量值为所述电容式重力加速度传感器的敏感轴的电容值。
可选的,所述姿态感知设备的定位方法还包括基于所述索引值和垂直于地平面的敏感轴的方向确定所述姿态感知设备的空间姿态。
可选的,所述惯性器件为陀螺仪传感器,所述测量值为所述陀螺仪传感器的敏感轴的电压值。
为解决上述问题,本发明的技术方案还提供一种鼠标指针的控制方法,包括:以上述姿态感知设备的定位方法确定空中鼠标的空间坐标的变化,将所述空间坐标的变化量除以灵敏度系数后输出以控制鼠标指针的移动。
为解决上述问题,本发明的技术方案还提供一种姿态感知设备,所述姿态感知设备包括至少一种惯性器件,还包括:
对应关系生成单元,用于建立索引值与敏感轴的参数之间的对应关系,所述索引值与所述惯性器件的各个敏感轴的测量值所对应,所述敏感轴的参数包括所述惯性器件的敏感轴的倾斜角及其三角函数值和/或基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值;
获取单元,用于获取所述惯性器件的各个敏感轴的测量值;
定位单元,用于基于与获取的测量值对应的索引值查询所述对应关系,确定所述姿态感知设备的空间坐标。
与现有技术相比,本技术方案至少具有以下优点:
通过建立索引值与敏感轴的参数(倾斜角及其三角函数值和/或基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值)之间的对应关系,当获取到惯性器件的敏感轴的测量值后,基于与所述测量值对应的索引值查询所述对应关系,能够快速得到与所述索引值所对应的倾斜角及其三角函数值和/或基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值,进而快速确定空间坐标以便及时定位姿态感知设备,由于避免了复杂而大量的计算(积分运算、反三角函数运算等),因此能够提高处理速度,而且使功耗降低。
通过将与索引值对应的倾斜角的三角函数值扩大预定倍数并取整,避免了浮点运算,从而能够以相对低端的微控制器实现计算,降低了成本。
由于提高了确定空间坐标的速度,因此相对于现有技术,在同样的时间内能够输出更多的空间坐标,能够提高对空间鼠标指针控制的灵敏度。
附图说明
图1是本发明实施方式提供的姿态感知设备的定位方法的流程示意图;
图2是根据敏感轴的倾斜角确定空间坐标的示意图;
图3是本发明实施例一的倾斜角索引表中倾斜角的分割精度示意图;
图4是本发明实施例一的重力加速度传感器开启后的空间姿态识别示意图;
图5是线性插值运算的示意图;
图6是抛物线插值运算的示意图;
图7是本发明实施例一提供的姿态感知设备的结构示意图;
图8是本发明实施例二提供的姿态感知设备的结构示意图。
具体实施方式
现有技术中姿态感知设备利用其惯性器件测量角速度或/和加速度分量获得倾斜角以确定坐标变化时,因复杂而大量的计算需要耗费较多的资源,导致处理速度较慢、功耗较高。本技术方案通过建立索引值与敏感轴的参数(倾斜角及其三角函数值和/或基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值)之间的对应关系,当获取到惯性器件的敏感轴的测量值后,基于与所述测量值对应的索引值查询所述对应关系,能够快速得到与所述索引值所对应的倾斜角及其三角函数值和/或基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值,进而快速确定空间坐标以便及时定位姿态感知设备,由于避免了复杂而大量的计算,因此能够提高处理速度,而且使功耗降低。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施方式的限制。
图1是本发明实施方式提供的姿态感知设备的定位方法的流程示意图。本发明实施方式所述姿态感知设备包括至少一种惯性器件,如图1所示,所述姿态感知设备的定位方法包括:
步骤S101,建立索引值与敏感轴的参数之间的对应关系,所述索引值与所述惯性器件的各个敏感轴的测量值所对应,所述敏感轴的参数包括所述惯性器件的敏感轴的倾斜角及其三角函数值和/或基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值;
步骤S102,获取所述惯性器件的各个敏感轴的测量值;
步骤S103,基于与所获取的测量值对应的索引值查询所述对应关系,确定所述姿态感知设备的空间坐标。
下面以两个具体实施例对上述姿态感知设备的定位方法作详细说明。
实施例一
本实施例中,所述姿态感知设备具体为空中鼠标,所述惯性器件为加速度传感器,进一步地,该加速度传感器为电容式重力加速度传感器,其至少包括两个相互垂直的敏感轴,其中一个敏感轴垂直于地平面。具体实施时,一般选用的是三轴重力加速度传感器,将垂直于地平面的敏感轴记为z轴,其余两个敏感轴相互垂直且分别垂直于z轴,分别记为x轴、y轴,x轴和y轴构成的平面平行于地平面。由于目前空中鼠标达到的要求仅为在屏幕上实现的实际上是二维的坐标体系,因此采用三轴中任意两轴即可达到所需要求(确定二维坐标体系内的坐标),例如选取x轴和z轴(x轴和z轴构成的平面平行于屏幕),虽然在空间上实现的是三维动态,而在屏幕上只要求实现二维坐标即可,故本实施例中暂未使用y轴。当然,在其他实施例中,如果加入y轴则可以实现屏幕三维动态效果的处理(例如3D游戏中对鼠标的控制),此外,还可以使用y轴作为其他两轴数据的校准。
本领域技术人员知晓,重力加速度传感器以重力作为输入矢量来决定物体在空间的方向,而倾斜角就是重力与其敏感轴的夹角,当重力与其敏感轴垂直时,它对倾斜最敏感,在该方位上其对倾角的灵敏度最高。当敏感轴与重力平行时,每倾斜1度都引起输出加速度的变化。下面简单介绍下重力加速度传感器对倾斜角测量的原理。由于重力的方向是不变的,始终垂直地平面向下,当加速度传感器的某个敏感轴与重力形成倾斜角时,可以基于测量到的该敏感轴的加速度,通过三角函数,可以得出加速度和倾斜角之间的关系,例如在单个敏感轴(x轴)的情况下:
Ax=gn*cosβ
上述表达式中,Ax为x敏感轴的加速度的值;gn为以重力作为参考的加速度;β为倾斜角度。所以,β的值可以通过反余弦函数方程求得,即β=arccos(Ax/gn)。当然,也可以通过其他反三角函数计算出倾斜角。如果存在多个敏感轴时,则可以根据各敏感轴与重力形成倾斜角以及各敏感轴的加速度分量确定空间坐标。图2是根据敏感轴的倾斜角确定空间坐标的示意图。如图2所示,设原来坐标轴数据分别为X、Y、Z,变化后为X1、Y1、Z1,z轴的倾斜角为α,x轴的倾斜角为θ,明显地,θ=90°-α,则:
Y1=Y
Z1=Z*cosα+X*sinα
X1=-Z*sinα+X*cosα
通过矩阵关系表示为:
因此,只需要计算出z轴的倾斜角为α,便可以确定变化后的空间坐标(X1,Y1,Z1)。特别地,在x轴和z轴构成的二维坐标系中,仅需要得到坐标(X1,Z1)。当然,通过x轴的倾斜角θ同样可以确定变化后的空间坐标。
然而,现有技术中,根据测量得到的加速度值计算出倾斜角,需要反三角函数运算,而计算机在进行反三角函数运算时是非常耗费资源的,对于处理能力相对较弱的MCU,因其有限的处理能力,导致处理速度较慢,进而导致确定空间坐标的速度也会较慢,且功耗较高,但如果选用处理能力更强的MCU,又会使成本上升。
本实施例中,通过建立索引值与所述惯性器件(本实施例中为重力加速度传感器)的敏感轴的倾斜角及其三角函数值之间的对应关系能够解决上述问题,即步骤S101中所述敏感轴的参数包括所述惯性器件的敏感轴的倾斜角及其三角函数值。具体地,建立索引值与重力加速度传感器的敏感轴的倾斜角及其三角函数值之间的对应关系,所述索引值与所述惯性器件的各个敏感轴的测量值所对应。由于电容式重力加速度传感器会把测量的加速度转换为电容器的电容量变化,测得的电容值的不同,反映到寄存器中的值也不同,因此可根据敏感轴在不同的加速度下实际测量的电容值或者电容值的范围设置其所对应的寄存器中的值,并与此时的倾斜角及其三角函数值之间建立对应关系,例如当寄存器中的值为1时,对应的倾斜角为2.69度,2.69度的正弦值约为0.046932,2.69度的余弦值约为0.998898,将所述对应关系以表的形式存储于只读存储器(ROM,Read-Only Memory)中,在本实施例将该表称为倾斜角索引表。需要说明的是,步骤S101中的所述索引值具体即为上述寄存器中的值,简称为寄存器值。
在开启重力加速度传感器后,电容式重力加速度传感器会测得基于各敏感轴的加速度分量所转化的电容值,即执行步骤S102,获取惯性器件的各个敏感轴的测量值,其中,所述测量值具体即为测得的电容值,然后,MCU能够从寄存器中读取与测得的电容值所对应的寄存器值。
读取到寄存器值之后,基于所述寄存器值查询所述倾斜角索引表,能够凭借所述对应关系直接得到该寄存器值所对应的倾斜角及其三角函数值,并基于查询到的所述倾斜角及其三角函数值确定所述重力加速度传感器的敏感轴的坐标值,从而确定姿态感知设备的空间坐标以实现对其的定位,即执行步骤S103,基于与所获取的测量值对应的索引值查询所述对应关系(倾斜角索引表),确定所述姿态感知设备的空间坐标。
需要说明的是,建立索引值、所述惯性器件的敏感轴的倾斜角及其三角函数值之间的对应关系(本实施例中即建立倾斜角索引表)时,需要将敏感轴的偏转(偏转产生倾斜角)分为四个不同的象限,每个象限中倾斜角的范围均从0度至90度,不同的角度值对应不同的三角函数值,其中最为关键的是以怎样的分割精度配置所述对应关系(倾斜角索引表)中的倾斜角。一方面,分割精度需要考虑应用的需求进行配置,比如说0.5度或者0.1度,较高的分割精度能保证后续所确定的空间坐标的准确性。但分割精度越高,倾斜角索引表中倾斜角的数量也越多,数据的存储量也越大,同时也给MCU提出了更高的要求,比如当倾斜角的分割精度精确到0.1度时,就需要MCU的4K的ROM存储空间。因此,另一方面,对于配置倾斜角索引表中的倾斜角还需要考虑到MCU的存储空间与运行速度。
本实施例中是按倾斜角所对应的斜率由大至小的顺序逐步降低分割精度确定所述倾斜角索引表中倾斜角及其三角函数值的配置(确定了倾斜角的配置即确定了其三角函数值的配置)。图3是本发明实施例一的倾斜角索引表中倾斜角的分割精度示意图。如图3所示,以0度至90度的倾斜角对应的正弦值为例,A点的斜率是大于B点的,因此在相同分割精度的条件下,A点附近对应的正弦值的变化要大于B点附近对应的正弦值的变化。由此,可以考虑将A点附近对应的倾斜角的分割精度设置得相对高一些,而将B点附近对应的倾斜角的分割精度设置得相对低一些,例如,在0至45度的倾斜角范围内多选取几个角度以及三角函数值存入所述倾斜角索引表(分割精度相对较高),而在45至90度则少选取几个角度以及三角函数值存入所述倾斜角索引表(分割精度相对较低),如此便能在一定程度上既保证后续所确定的空间坐标的准确性,又减小了对MCU的存储空间与运行速度的要求。仍参阅图3,本实施例中,按照倾斜角所对应的斜率由大至小的顺序逐步降低分割精度确定所述倾斜角索引表中倾斜角及其三角函数值的配置,即倾斜角从0度至90度,所对应的斜率逐步变小,而存入倾斜角索引表中的倾斜角之间的差值越来越大(角度间差值越大,分割精度越低),举例来说,倾斜角从0度至90度,最开始选择0度、2.69度、5.38度、8.08度、10.81度,分割精度分别为2.69度(2.69度-0度)、2.69度(5.38度-2.69度)、2.7度(8.08度-5.38度)、2.73度(10.81度-8.08度),可以看出分割精度在逐步降低,而到后来选择57.54度、62.95度、69.64度、79.86度,分割精度分别为5.41度、6.69度、10.22度,可以看出分割精度越来越低。需要说明的是,上述按倾斜角所对应的斜率由大至小的顺序逐步降低分割精度确定所述倾斜角索引表中倾斜角及其三角函数值的配置的方式只是一种选取倾斜角的基本原则,具体实施时,在这一基本原则下,可根据实际情况确定倾斜角索引表中倾斜角及其三角函数值的配置,如下表所示,表1是根据实际情况多次测量后所确定的倾斜角索引表的示例。
表1
表1中,列出了从0度至90度所选取的23个倾斜角的角度值,每一个倾斜角的角度值对应有一个索引值,依次为0~22。0度和90度这两个端点一般是任何一张倾斜角索引表所必选的,而处于0度~90度之间的倾斜角,则可以根据上述按倾斜角所对应的斜率由大至小的顺序逐步降低分割精度的基本原则并结合实际情况所确定。
需要说明的是,通常由于反三角函数值参与的运算中涉及浮点运算,而复杂而大量的浮点运算对于处理能力相对较弱的MCU来说难以实现快速的处理,但如果选用处理能力更强的MCU,又会增加成本。因此在本实施例中,采取的方法是将与索引值对应的倾斜角的三角函数值扩大预定倍数并取整后存于所述倾斜角索引表。如表1所示,索引值所对应的倾斜角的三角函数值包括正弦值(sin)和余弦值(cos),其中,正弦值有两列,左边一列是将索引值所对应的倾斜角的正弦值扩大10000倍后取整,右边一列是将索引值所对应的倾斜角的正弦值扩大100倍后取整;类似地,余弦值也有两列,左边一列是将索引值所对应的倾斜角的余弦值扩大10000倍后取整,右边一列是将索引值所对应的倾斜角的余弦值扩大100倍后取整。所述扩大的预定倍数可以根据实际需求进行设定,如果需要更高的计算精度,则应将三角函数值扩大的预定倍数设定地较大,如果对计算精度的要求相对较低,则可以将三角函数值扩大的预定倍数设定地相对较小些。当然,对三角函数值扩大的预定倍数设定地越大,则意味着MCU需要进行的计算量也会越大。总之,通过将与索引值对应的倾斜角的三角函数值扩大预定倍数并取整后存于所述倾斜角索引表,避免了浮点运算,从而能够以相对低端的微控制器(例如可以采用8位的MCU)实现计算,降低了成本。在其他实施例中,如果对精度的要求高,并且有处理能力较强的MCU支持,则可以用与索引值对应的倾斜角的三角函数值参与浮点运算。
上述对倾斜角索引表的查询过程,可以通过二分法查找实现,二分法查找为现有技术中常用手段,在此不再赘述。
此外,本实施例中,所述姿态感知设备的定位方法还包括通过判断敏感轴的是否稳定,以稳定的敏感轴所获得的三角函数值确定姿态感知设备的空间坐标的值。由于在具体实施时,所述姿态感知设备的各敏感轴的稳定性可能并不相同,相应得出的倾斜角也不同,由此会产生各自不同的空间坐标的值,此时就需要基于稳定的敏感轴所得到的倾斜角所对应的三角函数值确定出空间坐标的值。例如:可以同时采用x轴和z轴互做补偿,哪个轴稳定就采用稳定的敏感轴获得的索引值。一般地,水平移动时,z轴稳定;垂直移动时,x轴稳定;斜向移动,则x,z轴都不稳定,此时返回之前处于稳定时的索引值。具体判断敏感轴是否稳定可采取以下方式:若缓存区内不同的索引值的数量小于或等于第一阈值,且各索引值之间的差值(绝对值)均小于或等于第二阈值,则确定该敏感轴稳定;所述缓存区存有每隔第二预定时间所获取的索引值。具体实施时,随着各敏感轴加速度的变化,位于寄存器中的索引值也会有所变化,将第二预定时间内所读取到的索引值存入一缓存区中,可以通过分析该缓存区中的数据判断敏感轴是否稳定。所述第一阈值可取3,第二阈值可取2,即:当某个敏感轴在缓存区内不同的索引值的数量小于或等于3,且各索引值之间的差值均小于或等于2,可确定该敏感轴稳定。举例来说,假设x轴在缓存区内的索引值包括:22,22,22,21,21,20,20,20,19,19,18,18,17,17,而z轴在缓存区内的索引值包括:2,2,2,2,2,2,3,3,3,3,3,3,3,3。通过对缓存区内的索引值的分析可知:x轴在缓存区内不同的索引值的数量有6个,且最小索引值与最大索引值之间差值为4,已经不满足各索引值之间的差值均小于或等于2,则确定x轴处于不稳定状态;而z轴在缓存区内不同的索引值的数量仅为2个,且最小索引值与最大索引值之间差值为1,即能满足各索引值之间的差值均小于或等于2,则确定z轴处于稳定状态。需要说明的是,本实施例中所述索引值之间的差值指的是索引值之间差的绝对值。
另外,缓存区中的数据(索引值)还可以用来判断停顿,如全正、全负或者最大索引值与最小索引值之差小于某个数时就自动检测为所述感知设备处于停顿状态,停顿状态也属于稳定状态的一种。当敏感轴都不稳定时会返回之前的索引值,但只要稍有停顿,重力加速度传感器就会认为是稳定了,就会立即检测到加速度变化并转换成空间坐标。以空中鼠标的控制为例,比如刚开始是水平拿的,突然向斜上方运动,如果没有检测到稳定(稍有停顿或其他稳定的情况),则鼠标会水平移动,一旦检测到稳定,鼠标就会沿斜上方运动。因为只要检测到稳定(如有停顿),重力加速度传感就会输出正确的值。在现实生活中,当手持空中鼠标进行控制时,不可能一直处于不稳定的(比如斜向上)的运动状态,如果稍有停顿或者对缓存区中的数据检测确定敏感轴稳定,就会输出正确的索引值而不会返回之前处于稳定状态的索引值。
如前所述,建立倾斜角索引表时,需要将敏感轴的偏转(偏转产生倾斜角)分为四个不同的象限(表示偏转产生的倾斜角所在的象限),每个象限中倾斜角的范围均从0度至90度,不同的角度值对应不同的三角函数值,具有相同的角度值但处于不同的象限时,所得到的三角函数值有正负之分,对应的索引值也有正负之分。因此,本实施例中,开启重力加速度传感器后,还可基于所述索引值和垂直于地平面的敏感轴(z轴)的方向确定所述姿态感知设备的空间姿态。所述空间姿态具体指姿态感知设备是正拿、反拿、是否有偏转以及向哪个方向偏。具体地,可根据索引值是大于零、等于零或小于零,以及表示z轴方向的值是小于零(方向向上)或是大于零(方向向下,以重力的方向为正方向)确定姿态感知设备的空间姿态。所述表示z轴方向的值可以通过对缓存区中数据的值(索引值)求均值并经过判定后得到。如前所述,重力加速度传感器在运行过程中,所述缓存区存有每隔第二预定时间所获取的索引值,通过对缓存区中的所述索引值的分析,可以判断出敏感轴是否稳定。例如:本实施例中设定缓存区中的数据(索引值)为14个,这14个数据中如果全正或者全负并且缓存区中数据的值不超过3个不同的,且差距不大于2时,判断目前敏感轴是稳定的。进一步地,可以对缓存区中的数据的值进行求均值运算,如果均值为正数就输出1,如果均值为负数就输出-1,而输出的1或-1即为所述表示z轴方向的值。特别地,如果缓存区中的数据的值全为正值并且判断出敏感轴稳定的话是肯定输出1的,如果全为负值并且判断出敏感轴稳定的话肯定是输出-1的。
图4是本发明实施例一的重力加速度传感器开启后的空间姿态识别示意图。如图4所示,当重力加速度传感器开启后,即可根据索引值和表示z轴的方向的值对姿态感知设备的空间姿态进行识别,具体地:
若索引值等于零(无偏转)且表示z轴方向的值小于零,则识别为正拿;
若索引值等于零(无偏转)且表示z轴方向的值大于零,则识别为反拿;
若索引值小于零(有偏转)且表示z轴方向的值小于零,则识别为第一象限,此时空间坐标的计算为(以x轴的倾斜角γ为例):
X1=X*cosγ+Z*sinγ
Z1=-X*sinγ+Z*cosγ
若索引值小于零(有偏转)且表示z轴方向的值大于零,则识别为第二象限,此时空间坐标的计算为(以x轴的倾斜角γ为例):
X1=-X*cosγ+Z*sinγ
Z1=-X*sinγ-Z*cosγ
若索引值大于零(有偏转)且表示z轴方向的值大于零,则识别为第三象限,此时空间坐标的计算为(以x轴的倾斜角γ为例):
X1=-X*cosγ-Z*sinγ
Z1=X*sinγ-Z*cosγ
若索引值大于零(有偏转)且表示z轴方向的值小于零,则识别为第四象限,此时空间坐标的计算为(以x轴的倾斜角γ为例):
X1=X*cosγ-Z*sinγ
Z1=X*sinγ+Z*cosγ
结合表1,基于索引值可获得其对应的倾斜角及其三角函数值,将三角函数值代入上述公式便可计算出重力加速度传感器的敏感轴的坐标值,从而确定空间坐标的值(本实施例中为二维坐标)。需要说明的是,表1中仅列出索引值大于或等于零时对应的倾斜角及其三角函数值,而对索引值小于零时对应的倾斜角及其三角函数值并未列出,但可参照表1实施。例如:索引值为1时,对应倾斜角为2.69度,而当索引值为-1时,对应倾斜角仍可为2.69度。如前所述,索引值的正负结合表示z轴方向的值便可用于对敏感轴偏转后产生的倾斜角所处象限进行识别,所述倾斜角在不同的象限所得出的三角函数值有正负之分。
具体实施时,为了能控制鼠标指针的运动更为平滑,空中鼠标需要输出更多的空间坐标,因此,本实施例中,所述以所述空间坐标定位所述姿态感知设备还包括:对至少两个连续确定的姿态感知设备的空间坐标进行插值运算,以插值运算后获得的所有空间坐标定位所述姿态感知设备。具体地,可通过确定第一预定时间内空间坐标变化的加速度(即为x轴和z轴的加速度分量,可以通过重力加速度传感器直接测得),若所述加速度小于预设阈值,则进行线性插值运算,否则进行抛物线插值运算。
线性插值是代数插值的最简单形式。图5是线性插值运算的示意图。假设变量y和自变量x关系如图5曲线y=f(x)所示。已知y在点x0和x1的对应值y0和y1,现在需要用一线性插值函数g(x)=ax+b,近似代替f(x)。根据插值条件,应满足:
ax0+b=y0
ax1+b=y1
解该方程组,便可确定线性插值函数g(x)的参数a和b。由图5可知,线性插值的几何意义是用通过点A(x0,y0)和点B(x1,y1)的直线近似地代替曲线y=f(x),可以很容易求的该直线表达式:
或
插值节点x0和x1之间的间距越小,那么在这一区间g(x)与f(x)之间的误差就越小。若插值点x在x0和x1之间,称为内插,否则称为外插,一般只考虑内插情况。
若所述加速度大于或等于预设阈值,采用上述的线性插值算法进行运算便不合适了,在插值运算上应体现为非线性插值运算,本实施例中可以采用抛物线插值算法。抛物线插值又称为二次插值,它是以一元二次多项式去拟合某一段曲线,精度自然要比线性插值高。图6是抛物线插值运算的示意图,如图6所示,已知一条曲线y=f(x)上的三点A(x0,y0),B(x1,y1),C(x2,y2);过此三点可以作一条抛物线,即一条二次曲线g(x),且是唯一的。
可设:g(x)=ax2+bx+c
已知:g(xi)=f(xi)其中:i=0,1,2
由此可以得到方程组:
ax0 2++bx0+c=y0
ax1 2++bx1+c=y1
ax2 2++bx2+c=y2
当然解此方程组方法有很多,比如常用的待定系数法,包含抛物线插值的拉格朗日形式、牛顿形式等等,一般可以考虑在线性插值的基础上进行逐次线性插值,也比较容易用计算机程序实现。
已知三点(x0,y0)、(x1,y1)、(x2,y2)及插值点的x,y值。
用直线点斜式公式:
第一步:过点(x0,y0)、(x1,y1)作直线L01,即
第二步:过点(x0,y0)、(x2,y2)作直线L02,即
第三步:将(x1,L01)、(x2,L02)也理解为“点”,过这两点作“直线”,记为L012,即
第四步:把L01、L02代入上式,得:
可以表示出:
L012(xi)=yi,(i=0,1,2)
所以,L012就是所要求的二次插值多项式g(x)。
通过仔细研究L012,可以看出,是一阶差商(速度),而方括号内的分式是二阶差商(加速度)。上述通过两个线性插值的结果得到g(x),所以可以称作逐次线性插值。由于可以直接调用线性插值算法程序来完成,因此计算起来非常方便,当然本发明实施例中只考虑内插的情况。
在应用插值算法时,应该考虑下面的两个具体的问题:
1、关于插值点的选取:在单片机应用中,往往把常用的函数以表格的形式固化在程序存储器中。例如,对于任一给定的插值点x,x0和x1的对应值的函数值y0和y1,然后就可以进行插值运算,求得插值点(x,y)的值。
2、关于精度与复杂度:为了提高插值精度,大多数情况下可考虑采用浮点运算,此时可以考虑将参与插值运算的数据和表格事先转换成规格化浮点。但此种情况会使程序显得复杂,影响单片机的运算速度。
上述实施例中,所述惯性器件为重力加速度传感器,在其他实施例中,所述惯性器件也可以为陀螺仪传感器,与上述实施例有所区别的是,由于现有技术中,陀螺仪传感器是通过敏感轴(又称为检测轴或检测臂)测量电压的变化,根据测得的电压值与角速度的对应关系,对角速度进行积分运算后获得倾斜角,因此,为了避免复杂而大量的积分运算、反三角函数运算,提高处理速度,同样可以建立索引值、陀螺仪传感器的敏感轴的倾斜角及其三角函数值之间的对应关系(倾斜角索引表),通过敏感轴的测量值(一般为电压值)所对应的索引值(寄存器值)查询所述对应关系(倾斜角索引表),获得与所述索引值对应的倾斜角及其三角函数值,基于所述三角函数值确定所述重力加速度传感器的敏感轴的坐标值,进而确定姿态感知设备的空间坐标以实现对其的定位。
基于上述姿态感知设备的定位方法,本发明实施方式还提供一种鼠标指针的控制方法,包括:以上述姿态感知设备的定位方法确定空中鼠标的空间坐标的变化,将所述空间坐标的变化量除以灵敏度系数后输出以控制鼠标指针的移动。由于上述姿态感知设备的定位方法提高了确定空间坐标的速度,因此相对于现有技术,在同样的时间内能够输出更多的空间坐标,能够提高对空间鼠标指针控制的灵敏度。
基于上述姿态感知设备的定位方法,本实施例还提供了一种姿态感知设备。图7是本发明实施例一提供的姿态感知设备的结构示意图,如图7所示,所述姿态感知设备包括至少一种惯性器件,还包括:对应关系生成单元201,用于建立索引值与敏感轴的参数之间的对应关系,所述敏感轴的参数包括所述惯性器件的敏感轴的倾斜角及其三角函数值,所述索引值与所述惯性器件的各个敏感轴的测量值所对应;获取单元202,用于获取所述惯性器件的各个敏感轴的测量值;定位单元203,用于基于与获取的测量值对应的索引值查询所述对应关系,确定所述姿态感知设备的空间坐标。所述定位单元203包括:第二查询单元203a,用于基于与所获取的测量值对应的索引值查询所述对应关系,获得与所述索引值对应的敏感轴的倾斜角及其三角函数值;第二确定单元203b,用于基于查询到的惯性器件的敏感轴的倾斜角及其三角函数值,确定所述姿态感知设备的空间坐标。
具体实施例中,所述索引值与敏感轴的参数(惯性器件的敏感轴的倾斜角及其三角函数值)之间建立的对应关系以表的形式存于只读存储器中,该表即为图7所示的倾斜角索引表20。所述对应关系生成单元201包括配置单元(图中未示出),用于按倾斜角所对应的斜率由大至小的顺序逐步降低分割精度确定所述倾斜角索引表20中倾斜角及其三角函数值的配置。所述对应关系生成单元201还包括扩值取整单元(图中未示出),用于将与所述索引值对应的倾斜角的三角函数值扩大预定倍数并取整后存于所述倾斜角索引表20。所述姿态感知设备还包括稳定判断单元(图中未示出),用于判断敏感轴是否稳定,包括:若缓存区内不同的索引值的数量小于或等于第一阈值,且各索引值之间的差值均小于或等于第二阈值,则确定该敏感轴稳定;所述缓存区存有每隔第二预定时间所获取的索引值;所述定位单元203以稳定的敏感轴所获得的三角函数值确定所述空间坐标。
此外,具体实施时,所述姿态感知设备还可包括插值单元(图中未示出),所述插值单元与所述第二确定单元203b连接,用于对至少两个连续确定的姿态感知设备的空间坐标进行插值运算,所述定位单元203以插值运算后获得的所有空间坐标定位所述姿态感知设备。所述插值单元具体可包括选择单元、线性插值单元以及抛物线插值单元,所述选择单元用于当第一预定时间内所述空间坐标变化的加速度小于预设阈值,则选择所述线性插值单元进行插值运算,否则选择所述抛物线插值单元进行插值运算。
本实施例中,所述姿态感知设备包括的所述惯性器件为重力加速度传感器,其至少包括两个相互垂直的敏感轴,其中一个敏感轴垂直于地平面。所述姿态感知设备还包括空间姿态识别单元,用于基于所述索引值和垂直于地平面的敏感轴的方向确定所述姿态感知设备的空间姿态。
关于本实施中所述姿态感知设备的具体实施可参考上述姿态感知设备的定位方法,在此不再赘述。
实施例二
结合图1,本实施例中,步骤S101中所述敏感轴的参数包括基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值。与实施例一有所区别的是,为了能够使步骤S103中确定所述姿态感知设备的空间坐标以实现对其定位的速度更快,本实施例中考虑直接建立所述索引值和基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值之间的对应关系。当然,所述索引值和基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值之间的对应关系同样可以表的形式存储于只读存储器中,在本实施例,将该表称为坐标对应表,即所述坐标对应表包括所述索引值和基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值,所述索引值与坐标值之间具有对应关系。在实际实施时,MCU读取到寄存器中的索引值后,能够直接根据所述索引值查询所述坐标对应表,得到所述索引值对应的坐标值(所述索引值对应的倾斜角的三角函数值所确定的所述惯性器件的敏感轴的坐标值),从而确定姿态感知设备的空间坐标。例如:可以参考实施例一中的表1,读取到索引值为1(倾斜角为2.69度),则查询坐标对应表得到对应的坐标值为x1和z1,从而确定的姿态空间坐标为(x1,z1),读取到索引值为2(倾斜角为5.38度),则查询坐标对应表得到对应的坐标值为x2和z2,从而确定的空间坐标为(x2,z2)等,这样可以免去三角函数值与空间坐标之间的变换计算,从而能够以更快的速度确定空间坐标以实现对姿态感知设备的定位。当然,在其他实施例中,也可以将所述坐标对应表与实施例一中所述倾斜角索引表进行合并,即合并后形成的倾斜角索引表中除了包括具有对应关系的所述索引值、倾斜角及其三角函数值,还包括与所述索引值、倾斜角及其三角函数值具有对应关系的所述惯性器件的敏感轴的坐标值,如此可根据需要,通过查询合并后的倾斜角索引表得到对应的所述惯性器件的敏感轴的坐标值和/或倾斜角。
关于本实施例的所述姿态感知设备的定位方法的具体实施可参考实施例一中所述姿态感知设备的定位方法的相关描述,在此不再赘述。
基于上述姿态感知设备的定位方法,本实施例还提供了一种姿态感知设备。图8是本发明实施例二提供的姿态感知设备的结构示意图,如图8所示,所述姿态感知设备包括至少一种惯性器件,还包括:对应关系生成单元301,用于建立索引值与敏感轴的参数之间的对应关系,所述敏感轴的参数包括基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值,所述索引值与所述惯性器件的各个敏感轴的测量值所对应;获取单元302,用于获取所述惯性器件的各个敏感轴的测量值;定位单元303,用于基于与获取的测量值对应的索引值查询所述对应关系,确定所述姿态感知设备的空间坐标。所述定位单元包括:第一查询单元303a,用于基于与所获取的测量值对应的索引值查询所述对应关系,获得与所述索引值对应的惯性器件的敏感轴的坐标值;第一确定单元303b,用于基于查询到的惯性器件的敏感轴的坐标值确定所述姿态感知设备的空间坐标。
具体实施例中,所述索引值与敏感轴的参数(基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值)之间建立的对应关系以表的形式存于只读存储器中,该表即为图8所示的坐标对应表30。所述对应关系生成单元301包括配置单元(图中未示出),用于按倾斜角所对应的斜率由大至小的顺序逐步降低分割精度确定所述坐标对应表30中基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值的配置。
此外,本实施例中同样可包括实施例一所述的扩值取整单元、稳定判断单元、插值单元、空间姿态识别单元,具体可参考实施例一中所述姿态感知设备。关于本实施例提供的姿态感知设备的具体实施可参考本实施例以及实施例一中所述姿态感知设备的定位方法,在此不再赘述。
综上,本发明实施方式提供的姿态感知设备及其定位方法、鼠标指针的控制方法,至少具有如下有益效果:
通过建立倾斜角索引表,当获取到惯性器件的敏感轴的测量值所对应的索引值后,依靠所述倾斜角索引表中索引值与敏感轴的参数(倾斜角及其三角函数值)之间所具有的对应关系,能够快速得到与所述获取到的索引值所对应的倾斜角及其三角函数值,进而快速确定空间坐标以便及时定位姿态感知设备,由于避免了复杂而大量的计算(积分运算、反三角函数运算等),因此能够提高处理速度,而且使功耗降低。
进一步地,通过建立坐标对应表,能够在获取到惯性器件的敏感轴的测量值所对应的索引值后,依靠所述坐标对应表中的索引值与敏感轴的参数(基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值)之间所具有的对应关系,快速得到与所获取到的索引值所对应的基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值,进而以更快的速度确定空间坐标。
通过将与索引值对应的倾斜角的三角函数值扩大预定倍数并取整后存于所述倾斜角索引表,避免了浮点运算,从而能够以相对低端的微控制器实现计算,降低了成本。
由于提高了确定空间坐标的速度,因此相对于现有技术,在同样的时间内能够输出更多的空间坐标,能够提高对空间鼠标指针控制的灵敏度。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (23)
1.一种姿态感知设备的定位方法,所述姿态感知设备包括至少一种惯性器件,其特征在于,包括:
建立索引值与敏感轴的参数之间的对应关系,所述索引值与所述惯性器件的敏感轴的测量值所对应,且与同一索引值对应的所述敏感轴的参数和所述敏感轴的测量值还对应敏感轴的同一角速度或/和加速度,所述敏感轴的参数包括所述惯性器件的敏感轴的倾斜角及其三角函数值和/或基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值,所述对应关系中敏感轴的参数的配置的精度与所述倾斜角的斜率成正比;
获取所述惯性器件的各个敏感轴的测量值;
基于与所获取的测量值对应的索引值查询所述对应关系,确定所述姿态感知设备的空间坐标。
2.根据权利要求1所述的姿态感知设备的定位方法,其特征在于,所述敏感轴的参数包括基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值;基于与所获取的测量值对应的索引值查询所述对应关系,确定所述姿态感知设备的空间坐标包括:
基于与所获取的测量值对应的索引值查询所述对应关系,获得与所述索引值对应的惯性器件的敏感轴的坐标值;
基于查询到的惯性器件的敏感轴的坐标值确定所述姿态感知设备的空间坐标。
3.根据权利要求1所述的姿态感知设备的定位方法,其特征在于,所述敏感轴的参数包括所述惯性器件的敏感轴的倾斜角及其三角函数值;基于与所获取的测量值对应的索引值查询所述对应关系,确定所述姿态感知设备的空间坐标包括:
基于与所获取的测量值对应的索引值查询所述对应关系,获得与所述索引值对应的敏感轴的倾斜角及其三角函数值;
基于查询到的惯性器件的敏感轴的倾斜角及其三角函数值,确定所述姿态感知设备的空间坐标。
4.根据权利要求1所述的姿态感知设备的定位方法,其特征在于,还包括:对至少两个连续确定的姿态感知设备的空间坐标进行插值运算,以插值运算后获得的所有空间坐标定位所述姿态感知设备。
5.根据权利要求4所述的姿态感知设备的定位方法,其特征在于,进行插值运算包括:若第一预定时间内所述空间坐标变化的加速度小于预设阈值,则进行线性插值运算,否则进行抛物线插值运算。
6.根据权利要求1至5任一项所述的姿态感知设备的定位方法,其特征在于,将与所述索引值对应的倾斜角的三角函数值扩大预定倍数并取整。
7.根据权利要求1至5任一项所述的姿态感知设备的定位方法,其特征在于,所述确定所述姿态感知设备的空间坐标包括以稳定的敏感轴确定所述姿态感知设备的空间坐标;判断敏感轴是否稳定包括:若缓存区内不同的索引值的数量小于或等于第一阈值,且各索引值之间的差值均小于或等于第二阈值,则确定该敏感轴稳定;所述缓存区存有每隔第二预定时间所获取的索引值。
8.根据权利要求1所述的姿态感知设备的定位方法,其特征在于,所述惯性器件为重力加速度传感器,其至少包括两个相互垂直的敏感轴,其中一个敏感轴垂直于地平面。
9.根据权利要求8所述的姿态感知设备的定位方法,其特征在于,所述重力加速度传感器为电容式重力加速度传感器,所述测量值为所述电容式重力加速度传感器的敏感轴的电容值。
10.根据权利要求8所述的姿态感知设备的定位方法,其特征在于,还包括基于所述索引值和垂直于地平面的敏感轴的方向确定所述姿态感知设备的空间姿态。
11.根据权利要求1所述的姿态感知设备的定位方法,其特征在于,所述惯性器件为陀螺仪传感器,所述测量值为所述陀螺仪传感器的敏感轴的电压值。
12.一种鼠标指针的控制方法,其特征在于,包括:以权利要求1至11任一项所述的姿态感知设备的定位方法确定空中鼠标的空间坐标的变化,将所述空间坐标的变化量除以灵敏度系数后输出以控制鼠标指针的移动。
13.一种姿态感知设备,所述姿态感知设备包括至少一种惯性器件,其特征在于,包括:
对应关系生成单元,用于建立索引值与敏感轴的参数之间的对应关系,所述索引值与所述惯性器件的各个敏感轴的测量值所对应,且与同一索引值对应的所述敏感轴的参数和所述敏感轴的测量值还对应敏感轴的同一角速度或/和加速度,所述敏感轴的参数包括所述惯性器件的敏感轴的倾斜角及其三角函数值和/或基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值;
获取单元,用于获取所述惯性器件的各个敏感轴的测量值;
定位单元,用于基于与获取的测量值对应的索引值查询所述对应关系,确定所述姿态感知设备的空间坐标。
14.根据权利要求13所述的姿态感知设备,其特征在于,所述敏感轴的参数包括基于所述敏感轴的倾斜角确定的所述惯性器件的敏感轴的坐标值;所述定位单元包括:
第一查询单元,用于基于与所获取的测量值对应的索引值查询所述对应关系,获得与所述索引值对应的惯性器件的敏感轴的坐标值;
第一确定单元,用于基于查询到的惯性器件的敏感轴的坐标值确定所述姿态感知设备的空间坐标。
15.根据权利要求13所述的姿态感知设备,其特征在于,所述敏感轴的参数包括所述惯性器件的敏感轴的倾斜角及其三角函数值;所述定位单元包括:
第二查询单元,用于基于与所获取的测量值对应的索引值查询所述对应关系,获得与所述索引值对应的敏感轴的倾斜角及其三角函数值;
第二确定单元,用于基于查询到的惯性器件的敏感轴的倾斜角及其三角函数值,确定所述姿态感知设备的空间坐标。
16.根据权利要求13所述的姿态感知设备,其特征在于,还包括插值单元,用于对至少两个连续确定的姿态感知设备的空间坐标进行插值运算。
17.根据权利要求16所述的姿态感知设备,其特征在于,所述插值单元包括选择单元、线性插值单元以及抛物线插值单元,所述选择单元用于当第一预定时间内所述空间坐标变化的加速度小于预设阈值,则选择所述线性插值单元进行插值运算,否则选择所述抛物线插值单元进行插值运算。
18.根据权利要求13至17任一项所述的姿态感知设备,其特征在于,所述对应关系生成单元包括扩值取整单元,用于将与所述索引值对应的倾斜角的三角函数值扩大预定倍数并取整。
19.根据权利要求13至17任一项所述的姿态感知设备,其特征在于,还包括稳定判断单元,用于判断敏感轴是否稳定,包括:若缓存区内不同的索引值的数量小于或等于第一阈值,且各索引值之间的差值均小于或等于第二阈值,则确定该敏感轴稳定;所述缓存区存有每隔第二预定时间所获取的索引值;所述定位单元以稳定的敏感轴确定所述姿态感知设备的空间坐标。
20.根据权利要求13所述的姿态感知设备,其特征在于,所述惯性器件为重力加速度传感器,其至少包括两个相互垂直的敏感轴,其中一个敏感轴垂直于地平面。
21.根据权利要求20所述的姿态感知设备,其特征在于,所述重力加速度传感器为电容式重力加速度传感器,所述测量值为所述电容式重力加速度传感器的敏感轴的电容值。
22.根据权利要求20所述的姿态感知设备,其特征在于,还包括空间姿态识别单元,用于基于所述索引值和垂直于地平面的敏感轴的方向确定所述姿态感知设备的空间姿态。
23.根据权利要求13所述的姿态感知设备,其特征在于,所述惯性器件为陀螺仪传感器,所述测量值为所述陀螺仪传感器的敏感轴的电压值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110252742XA CN102289305B (zh) | 2011-08-29 | 2011-08-29 | 姿态感知设备及其定位方法、鼠标指针的控制方法 |
PCT/CN2011/081622 WO2013029301A1 (zh) | 2011-08-29 | 2011-11-01 | 姿态感知设备及其定位方法、鼠标指针的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110252742XA CN102289305B (zh) | 2011-08-29 | 2011-08-29 | 姿态感知设备及其定位方法、鼠标指针的控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102289305A CN102289305A (zh) | 2011-12-21 |
CN102289305B true CN102289305B (zh) | 2013-12-11 |
Family
ID=45335778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110252742XA Active CN102289305B (zh) | 2011-08-29 | 2011-08-29 | 姿态感知设备及其定位方法、鼠标指针的控制方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102289305B (zh) |
WO (1) | WO2013029301A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229353B (zh) * | 2017-05-09 | 2020-05-22 | 歌尔科技有限公司 | 空鼠的位移获取方法和装置 |
CN108007463B (zh) * | 2017-11-29 | 2020-11-27 | 天津聚飞创新科技有限公司 | 无人机姿态获取方法、装置及无人机 |
CN113220139B (zh) * | 2019-07-30 | 2022-08-02 | 荣耀终端有限公司 | 控制大屏设备显示的方法、移动终端及第一*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9722766D0 (en) * | 1997-10-28 | 1997-12-24 | British Telecomm | Portable computers |
US7158118B2 (en) * | 2004-04-30 | 2007-01-02 | Hillcrest Laboratories, Inc. | 3D pointing devices with orientation compensation and improved usability |
CN101178628B (zh) * | 2006-12-08 | 2010-06-09 | 杭州电子科技大学 | 无线感知鼠标控制方法 |
CN101206536B (zh) * | 2006-12-22 | 2010-11-10 | 财团法人工业技术研究院 | 惯性感测六轴向输入装置及其使用方法 |
CN101598971A (zh) * | 2008-06-03 | 2009-12-09 | 华硕电脑股份有限公司 | 计算机***的输入装置及其操作方法 |
CN101882015B (zh) * | 2010-06-17 | 2016-06-08 | 金领导科技(深圳)有限公司 | 基于复合mems传感器的控制器及其手势控制按键方法 |
-
2011
- 2011-08-29 CN CN201110252742XA patent/CN102289305B/zh active Active
- 2011-11-01 WO PCT/CN2011/081622 patent/WO2013029301A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN102289305A (zh) | 2011-12-21 |
WO2013029301A1 (zh) | 2013-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102262460B (zh) | 空中鼠标及控制鼠标指针移动的方法与装置 | |
CN102289306B (zh) | 姿态感知设备及其定位、鼠标指针的控制方法和装置 | |
EP2446942A2 (en) | Virtual world processing device and method | |
CN105760811B (zh) | 全局地图闭环匹配方法及装置 | |
KR20200096408A (ko) | 자율 주행 차량에서 3d cnn 네트워크를 사용하여 솔루션을 추론하는 lidar 위치 추정 | |
CN109807911B (zh) | 基于gnss、uwb、imu、激光雷达、码盘的室外巡逻机器人多环境联合定位方法 | |
JP2018084573A (ja) | 頑健で効率的な車両測位用のアルゴリズム及びインフラ | |
CN103940442B (zh) | 一种采用加速收敛算法的定位方法及装置 | |
CN113091738B (zh) | 基于视觉惯导融合的移动机器人地图构建方法及相关设备 | |
CN102216879A (zh) | 基于移动感测的输入用户指令的方法和设备 | |
CN106979780A (zh) | 一种无人车实时姿态测量方法 | |
CN116106864A (zh) | 点云的运动补偿方法、装置、存储介质及激光雷达 | |
CN102289305B (zh) | 姿态感知设备及其定位方法、鼠标指针的控制方法 | |
CN102306054B (zh) | 姿态感知设备及其定位、鼠标指针的控制方法和装置 | |
CN102778965A (zh) | 3d指示装置与补偿3d指示装置的转动的方法 | |
Yan et al. | Light detection and ranging/inertial measurement unit-integrated navigation positioning for indoor mobile robots | |
CN106556405A (zh) | 一种基于智能手机传感器的车道检测方法 | |
CN105303201A (zh) | 一种基于动作感应进行手写识别的方法和*** | |
CN102981646B (zh) | 姿态感知设备输出控制方法、显示控制方法及装置、*** | |
CN103399651A (zh) | 空间鼠标的数据发送方法、控制鼠标指针的方法 | |
US11620846B2 (en) | Data processing method for multi-sensor fusion, positioning apparatus and virtual reality device | |
CN108762528B (zh) | 适用于空中飞鼠的姿态解算方法 | |
CN110458887A (zh) | 一种基于pca的加权融合室内定位方法 | |
Miao et al. | An accurate and generic testing approach to vehicle stability parameters based on GPS and INS | |
CN109634497A (zh) | 地图标注点的呈现位置调整方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |