获取空中鼠标位移的方法、空中鼠标及空中鼠标控制系统的制作方法

文档序号:6373453阅读:295来源:国知局
专利名称:获取空中鼠标位移的方法、空中鼠标及空中鼠标控制系统的制作方法
技术领域
本发明涉及通信技术领域,具体涉及获取空中鼠标位移的方法、空中鼠标及空中鼠标控制系统。
背景技术
在传统人机交互方式中,一般用鼠标、键盘或者遥控等控制设备通过有线路径或无线路径(如红外、射频信号等),将用户的控制命令发送给主机,进而实现相关控制功能。这些控制方式有其简单易实现的特点,但由于其控制信息采集方式的单一及传输方式上单工通讯和易受干扰的特点,在越来越多的智能化设备上已无法实现更高的体验感和交互应用多样化的发展需求。
后来出现了以陀螺仪为数据采集源的空中鼠标方案,该方案中将陀螺仪三轴中的两轴输出数据模拟为鼠标在电脑桌面X和Y轴的移动矢量,可以较准确的实现对鼠标光标的控制,但是由于陀螺仪自身数据计算过程中的算法及制造工艺等问题,在长时间的使用过程中,会出现逐渐积累的数据误差,进而影响整体的性能稳定性。此外,由于该方案是通过陀螺仪自身三轴坐标模拟空间三维坐标,所以只有在坐标轴之间吻合度较高的情况下才会较准确的计算每一坐标上的移动矢量,而当陀螺仪的三轴坐标与空间三维坐标出现较大偏差时,就会出现坐标偏移现象,该现象表现为对应坐标之间对应关系耦合度降低,比如陀螺仪X轴与空间水平面出现较大角度时,若水平移动鼠标,不仅在X轴有数据输出,此时在Y轴也有较大的分量,直接效果就是鼠标光标的斜向上移动。

发明内容
本发明实施例提供犹取空中鼠标位移的方法、空中鼠标和空中鼠标控制系统,以实现对空中鼠标移动数据的实时、准确的采集,同时提高空中鼠标使用者的体验感。本发明实施例提供一种获取空中鼠标位移的方法,包括通过空中鼠标内部的加速度计检测空中鼠标当前在X轴、Y轴和Z轴上的加速度,并将所述三条轴上的加速度转换为空中鼠标控制面与水平面之间的偏移角度,记为第一倾角;通过空中鼠标内部的陀螺仪检测空中鼠标当前在X轴、Y轴和Z轴上的角速率,并将所述三条轴中对应空中鼠标旋转轴的轴上的角速率转换为空中鼠标控制面围绕旋转轴所转过的角度,记为第二倾角;利用卡尔曼滤波器对所述第一倾角和第二倾角进行数据融合,得到第三倾角;将所述第三倾角转换为具有空间水平面和垂直面移动量的空中鼠标的位移。本发明实施例还提供一种空中鼠标,包括卡尔曼滤波器、陀螺仪、加速度计、无线收发器;所述加速度计用于检测空中鼠标当前在X轴、Y轴和Z轴上的加速度,并将所述三条轴上的加速度转换为空中鼠标控制面与水平面的偏移角度,记为第一倾角;
所述陀螺仪用于检测空中鼠标当前在X轴、Y轴和Z轴上的角速率,并将所述三条轴中对应空中鼠标旋转轴的轴上的角速率转换为空中鼠标控制面围绕旋转轴所转过的角度,记为第二倾角;所述卡尔曼滤波器用于读取加速度计和陀螺仪分别输出的第一倾角和第二倾角,将所述第一倾角和第二倾角进行数据融合,得到第三倾角,将得到的第三倾角转换为具有空间水平面和垂直面移动量的空中鼠标的位移,并将得到的空中鼠标的位移传送给无线收发器;所述无线收发器用于根据接收的空中鼠标的位移发送控制信号。本发明实施例还提供一种控制鼠标控制系统,包括主机,用于接收空中鼠标传送的控制信号;空中鼠标,包括卡尔曼滤波器、陀螺仪、加速度计和无线收发器; 所述加速度计用于检测空中鼠标当前在X轴、Y轴和Z轴上的加速度,并将所述三条轴上的加速度转换为空中鼠标控制面与水平面的偏移角度,记为第一倾角;所述陀螺仪用于检测空中鼠标当前在X轴、Y轴和Z轴上的角速率,并将所述三条轴中对应空中鼠标旋转轴的轴上的角速率转换为空中鼠标控制面围绕旋转轴而转过的角度,记为第二倾角;所述卡尔曼滤波器用于读取加速度计和陀螺仪分别输出的第一倾角和第二倾角,将所述第一倾角和第二倾角进行数据融合,得到第三倾角,将得到的第三倾角转换为具有空间水平面和垂直面移动量的空中鼠标的位移,并将得到的空中鼠标的位移传送给无线收发器;所述无线收发器用于根据接收的空中鼠标的位移发送控制信号给主机。陀螺仪通过实时采集空中鼠标的角速率,在短的测量时间内有较高的稳定度和准确度,加速度计通过实时采集空中鼠标的加速度,在长的测量时间内有较小的误差,二者分别具有短时优势和长时优势,本发明所提供的方法利用卡尔曼滤波器将陀螺仪和加速度记的优势进行结合,将陀螺仪检测的结果和加速度检测的结果进行数据优化处理,得到较为准确的空中鼠标当前的位移,从而更真实地模拟出空中鼠标的移动轨迹。本发明实施例提供的空中鼠标和空中鼠标控制系统由于包含陀螺仪、加速度计和卡尔曼滤波器,且卡尔曼滤波器可以对陀螺仪和加速度计的检测的偏移角度进行优化,因此也可以得到较为精确的空中鼠标位移,实现鼠标模式下的人机交互。


图I是本发明实施例提供的一种获取空中鼠标位移的方法基本流程示意图;图2是本发明实施例提供的加速度计内部结构图;图3是本发明实施例提供的另一种获取空中鼠标位移的方法基本流程示意图;图4是本发明实施例提供的一种空中鼠标的基本结构示意图;图5是本发明实施例提供的另一种空中鼠标的基本结构示意图;图6是本发明实施例提供的一种空中鼠标控制系统的结构示意图。
具体实施方式
本发明实施例提供一种获取空中鼠标位移的方法,通过均具备感知功能的陀螺仪和加速度计分别获得空中鼠标当前的角速率和加速度,并分别转换为空中鼠标控制面转过旋转轴的角度和控制面与水平面之间的偏移角度,然后利用卡尔曼滤波器对获得的角度进行数据融合处理,从而较准确地得到空中鼠标的位移。本发明实施例还提供相应的空中鼠标和空中鼠标控制系统。下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
·
首先对本发明实施例提供的一种获取空中鼠标位移的方法进行说明。本发明实施例提供的获取空中鼠标位移的方法包括通过空中鼠标内部的加速度计检测空中鼠标当前在X轴、Y轴和Z轴上的加速度,并将所述三条轴上的加速度转换为空中鼠标控制面与水平面之间的偏移角度,记为第一倾角;通过空中鼠标内部的陀螺仪检测空中鼠标当前在X轴、Y轴和Z轴上的角速率,并将所述三条轴中对应空中鼠标旋转轴的轴上的角速率转换为空中鼠标控制面围绕旋转轴旋转而转过的角度,记为第二倾角;利用卡尔曼滤波器对所述第一倾角和第二倾角进行数据融合,得到第三倾角;将所述第三倾角转换为具有空间水平面和垂直面移动量的空中鼠标的位移。需要说明的是,卡尔曼滤波器由一系列递归数学公式描述,这些递归数学公式提供了一种高效可计算的方法来估计过程的状态,并使估计均方误差最小。卡尔曼滤波器可以估计信号的过去和当前状态,甚至能估计将来的状态,即使并不知道模型的确切性质。由上可见,通过具备姿态感知功能的陀螺仪和加速度计分别获得空中鼠标当前在不同坐标轴的角速率和加速度后,再将旋转轴方向的角速率转换为空中鼠标控制面转过旋转轴的角度以及将加速度转化为空中鼠标控制面与水平面的角度,然后通过卡尔曼滤波器将得到的偏移角度进行数据融合,有效地剔除了偏移角度因积分而不断积累的数据误差以及因外界因素产生的干扰,从而得到更加优化的偏移角度,即上述的第三倾角,再将第三倾角转换为具有空间X’轴和V轴坐标值的位移,从而得到精确的空中鼠标位移,提高了空中鼠标的整体性能。本发明实施例提供另一种获取空中鼠标位移的方法,参见图1,该方法包括S101、通过空中鼠标内部的加速度计检测空中鼠标当前在X轴、Y轴和Z轴上的加速度,并将所述三条轴上的加速度转换为空中鼠标控制面与水平面之间的偏移角度,记为第一倾角;需要说明的是,加速度计能够得出空中鼠标的移动参数并将得到的模拟量转化为数字量,以及将初步的参数传送给信号处理模块。空中鼠标内部具有X/Y/Z三个方向的感应轴,这三个方向上在工作时的参数是不断变化的,某一瞬间的参数值代表这一瞬间空中鼠标在不同方向上移动的趋势,这三个参数通过数学计算可以得到一个空间向量,该向量模拟出了该瞬间空中鼠标在三维真实空间的移动方向,这样通过不断地采集X/Y/Z轴的数值,就可以得到空中鼠标移动的轨迹。
加速度计的内部结构如图2所示,加速度计200内部电路中包含具有公共端210的两个电容220和230,在整个电路中通过公共端210的变化引起并联电容220和230总的容值变化。当一个方向有移动时,由于惯性的原因,中间的公共端210仍有维持原来位置状态的趋势,这样,两个电容的容值发生变化。当加速度计的测量对象的的速度或者加速度变化足够大时,电容板所受到的惯性力超过支撑它的力,电容板就会移动。可移动电容板的上下电容板之间的距离就会产生变化,上下电容板之间的电容随之变化,电容的变化跟加速度成正比。电容的变化会被集成电路转换成电压信号。模拟的电压信号经过一个数字信号处理器的模-数转换处理,经过零点校正和灵敏度校正后输出。本发明实施例中的加速度计可以为基于MEMS (Micro-Electro-MechanicalSystems,微机电系统)技术的加速度计,MEMS类加速度计有一个自测功能,可以测试加速度计工作的正常性和精确性。S102、通过空中鼠标内部的陀螺仪检测空中鼠标当前在X轴、Y轴和Z轴上的角速率,并将所述三条轴中对应空中鼠标旋转轴的轴上的角速率转换为空中鼠标控制面围绕旋 转轴旋转所转过的角度,记为第二倾角;需要说明的是,通过陀螺仪检测的是空中鼠标在其所在三维空间的X轴、Y轴和Z轴上的角速率,在本发明实施例中只需要将空中鼠标在其旋转轴方向上的角速率转换为空中鼠标控制面围绕旋转轴所转过的角度,例如,当前空中鼠标的控制面由X轴和Y轴构成,Z轴垂直于控制面,空中鼠标围绕Y轴旋转,所以陀螺仪当前只需要将空中鼠标在Y轴方向上的角速率转换为偏移角度即可得到空中鼠标控制面围绕旋转轴Y轴所转过的角度。另外,陀螺仪检测的是坐标轴方向上的角速率,但是由于陀螺仪的三轴坐标常常与空间三维坐标出现较大偏差,因此有必要将陀螺仪坐标轴方向上的角速率映射为准确的当前偏移角速率,主要需要进行如下处理静态速率表示陀螺仪在水平静态的情况下的输出值,这些值在以后的正常测量过程中需要进行屏蔽,以防止影响实际角速率变化的判读,在陀螺仪初始化的过程中,需要在静止水平的情况下读取100个左右的有效数据,并将这些数据的平均值作为静态速率,并将其转换为屏蔽位,对此后采集的坐标轴上的角速率均要减去静态速率,所得结果再与静态速率进行位与运算,以屏蔽静态速率。在本发明实施例中可以只获取陀螺仪在水平静止条件下对应旋转轴方向的静态速率。由于各种外界因素(如电源不稳定、温度等)和陀螺仪自身精度的影响,陀螺仪在使用的过程中其静态速率并不是唯一不变的,所以要定期重新确定静态速率,以保证静态速率屏蔽后输出值的准确。实际应用中,可以利用陀螺仪所在设备的睡眠静止周期作为静态速率的更新时间,在此过程中用同一种方法确定新值。S103、利用卡尔曼滤波器对所述第一倾角和所述第二倾角进行数据融合,得到第三倾角;加速度计是极易受外部干扰的传感器,且无法区分重力加速度与外力加速度,但是测量值随时间的变化相对较小。陀螺仪所测得的角速率可以通过积分得到偏转角度,动态性能好,受外部干扰小,但在长时间积分的过程中会产生非常明显的误差。因此,陀螺仪和加速度计对空中鼠标当前移动的测量值都是不精确的。卡尔曼滤波器由一系列递归数学公式描述,这些递归数学公式提供了一种高效可计算的方法来估计空中鼠标运动过程的状态,并使估计均方误差最小。因此通过卡尔曼滤波器可以对陀螺仪做低通滤波,对加速度计做高通滤波,在短时间尺度内对增加陀螺仪的权值,在更长时间尺度内增加加速度计的权值,实现陀螺仪和加速度计之间优缺点互补。S104、将所述第三倾角转换为具有空间水平面和垂直面移动量的空中鼠标的位移。由上可见,通过陀螺仪和加速度计分别获得空中鼠标当前的偏移角度后,再通过卡尔曼滤波器对得到的角度进行融合和优化,有效地剔除了因积分而不断积累的数据误差以及外界因素的干扰,从而得到更加真实的空 中鼠标偏移角度,即上述的第三倾角,再将第三倾角转换为具有空间X’轴和Y,轴坐标值的位移,从而得到精确的空中鼠标位移,提高了空中鼠标的整体性能。本发明实施例提供另一种获取空中鼠标位移的方法,参见图3,包括S301、通过加速度计检测空中鼠标当前在X轴、Y轴和Z轴方向的加速度aCCe_x_rate、acce_y_rate 和 acce_z_rate ;S302、将 acce_x_rate、acce_y_rate 和 acce_z_rate 转换为空中鼠标控制面与水平面之间的偏移角度,记为第一倾角aCCe_ang ;需要说明的是,在本实施例中由加速度计的X轴和Y轴确定空中鼠标的控制面,空中鼠标围绕Y轴旋转;其中,将加速度计三轴上的加速度转换为空中鼠标控制面与水平面之间的偏移角度,即第一倾角aCCe_ang的过程具体可以为首先计算空中鼠标的总移动矢量G,其中G2=acce_x_rate2+acce_y_rate2+acce_z_rate2,因此,;sin acce_ang=acce_x—rate/G,因此,acce_ang=arcsin(acce_x—rate/G)0S303、通过陀螺仪检测空中鼠标当前在X轴、Y轴和Z轴上的角速率gyro—x—rate, gyro_y_rate, gyro_z_rate ;S304、将获取的空中鼠标在旋转轴方向的角速率gyro—y—rate转换为空中鼠标控制面围绕旋转轴旋转所转过的角度,记为第二倾角gyro_ang ;其中,将旋转轴方向的角速率gyro_y_rate转换为空中鼠标围绕旋转轴旋转所转过的角度具体过程可以为获取空中鼠标的噪声增益Kgl,以及陀螺仪当前测量的预测角度opti_ang和协方差q_bias,其中,陀螺仪当前测量的预测角度opti_ang为上一次测量获得的第三倾角,协方差q_bias为上一次的协方差q_bias和本次空中鼠标的随机噪声之和,随机噪声等于上一次的第一倾角acce_ang与上一次的第二倾角gyro_ang的差值乘以噪声增益Kgl所得到的积,即本次协方差q_bias=上一次q_bias+Kgl* (上一次acce_ang-上一次gyro_ang),需要说明的是,所述第三倾角和协方差的初始化值都可以为零;将当前检测到的旋转轴方向的角速率gyro_y_rate与当前协方差q_bias的差值进行积分,积分后的结果加上陀螺仪当前测量的预测角度opti_ang,所得结果即为陀螺仪当前的测量角度,即第二倾角,
因此,第二倾角gyro_ang=opti_ang+ (gyro_y_rate_q_bias) *dt,其中,t 可以为陀螺仪的扫描或检测时间。S305、将第一倾角acce_ang和第二倾角gyro_ang进行数据融合,得到第三倾角opti_ang ;其中,将第一倾角acce_ang和第二倾角gyro_ang融合为第三倾角opti_ang的过程具体可以为获取空中鼠标的卡尔曼增益KgO ;将第一倾角acce_ang和第二倾角gyro_ang的差值乘以卡尔曼增益,将相乘后的结果加上第二倾角gyro_ang,所得结果即为陀螺仪当前的优化角度,即第三傾角,
·
因此,第三倾角 opti_ang=gyro_ang+KgO* (acce_ang-gyro_ang)。S306、将第三倾角opti_ang转换为具有空间水平面和垂直面移动量的空中鼠标的位移;其中,空间水平面的移动量和垂直面的移动量的计算过程具体可以为假设空间水平面由X’轴和r轴确定,V轴垂直于水平面,r轴与空中鼠标的旋转轴Y轴平行,因此求空中鼠标在空间水平面的移动量即为求空中鼠标在X’轴上的移动量,求空中鼠标在垂直面的移动量即为求空中鼠标在V轴上的移动量。因此,X’=gyro_x_rate氺cos lopti_ang) +gyro_z_rate*sin (opti_ang),V =gyro_x_rate*sin (opti_ang) +gyro_z_rate*cos (opti_ang)0本发明实施例中利用加速度计测得的三轴上的加速度得到空中鼠标控制面与水平面之间的夹角,即第一倾角,再利用陀螺仪测得空中鼠标在X轴、Y轴和Z轴上的角速率后,得到空中鼠标围绕旋转轴所转过的角度,即第二倾角;然后利用卡尔曼滤波算法对第一倾角和第二倾角进行数据融合,有效地剔除了偏移角度因积分而不断积累的数据误差以及外界因素干扰,得到更加真实的空中鼠标偏移角度,即上述的第三倾角,再将第三倾角转换为时间空间水平面和垂直面的移动量,从而得到准确的空中鼠标的位移,提高了空中鼠标的整体性能。本发明实施例还提供ー种空中鼠标,包括卡尔曼滤波器、陀螺仪、加速度计、无线收发器;所述加速度计用于检测空中鼠标当前在X轴、Y轴和Z轴上的加速度,并将所述三条轴上的加速度转换为空中鼠标控制面与水平面的偏移角度,记为第一倾角;所述陀螺仪用于检测空中鼠标当前在X轴、Y轴和Z轴上的角速率,并将所述三条轴中对应空中鼠标旋转轴的轴上的角速率转换为空中鼠标控制面围绕旋转轴旋转而转过的角度,记为第二倾角;所述卡尔曼滤波器用于读取加速度计和陀螺仪输出的第一倾角和第二倾角,将所述第一倾角和第二倾角进行数据融合,得到第三倾角,将得到的第三倾角转换为具有空间水平面和垂直面移动量的空中鼠标的位移,并将得到的空中鼠标的位移传送给无线收发器;所述无线收发器用于根据接收的空中鼠标的位移发送控制信号。由上可见,本发明实施例提供的空中鼠标同时包含了陀螺仪和加速度计,使原来的空中鼠标的三轴感知变为六轴感知,具有更高的感知灵敏度,而且通过本发明空中鼠标中的卡尔曼滤波器将陀螺仪和加速度计测得的偏移角度进行数据融合,通过对实际测量的偏移角度和预测的角度的比对计算,可以得到更加优化的测量角度,有效地降低陀螺仪检测数据的长期误差成分和加速度计的数据干扰因素,从而得到更加准确的空中鼠标的位移。本发明实施例提供另一种空中鼠标,参见图4,包括
加速度计401、陀螺仪402、卡尔曼滤波器403和无线收发器404 ;加速度计401用于检测空中鼠标当前在X轴、Y轴和Z轴上的加速度,并将所述三条轴上的加速度转换为空中鼠标控制面与水平面的偏移角度,记为第一倾角;陀螺仪402用于检测空中鼠标当前在X轴、Y轴和Z轴上的角速率,并将所述三条轴中对应空中鼠标旋转轴的轴上的角速率转换为空中鼠标控制面围绕旋转轴旋转所转过的角度,记为第二倾角;卡尔曼滤波器403用于读取加速度计401和陀螺仪402分别输出的第一倾角和第二倾角,将所述第一倾角和第二倾角进行数据融合,得到第三倾角,将得到的第三倾角转换为具有空间水平面和垂直面移动量的空中鼠标的位移,并将得到的空中鼠标的位移传送给无线收发器404;无线收发器404用于根据接收的空中鼠标的位移发送控制信号。需要说明的是,加速度计401将加速度转换为第一倾角的方法具体可以为加速度计401将当前检测到的X轴、Y轴和Z轴上的加速度的平方和进行开平方运算,得到空中鼠标当前总移动矢量,将将所述三轴中垂直旋转轴且与旋转轴共同确定空中鼠标控制面的轴方向的加速度除以总移动矢量,对相除后的结果进行求反正弦运算,所得结果即为加速度计当前的测量角度,记为第一倾角。陀螺仪402将旋转轴上的角速率转换为第二倾角的方法具体可以为陀螺仪获取空中鼠标的噪声增益;获取陀螺仪当前测量的预测角度和协方差,其中,当前测量的预测角度为上一次获得的第三倾角,协方差为上一次的协方差和本次空中鼠标的随机噪声之和,随机噪声等于上一次的第一倾角和上一次的第二倾角的差值乘以获取的噪声增益所得到的积,第三倾角和协方差的初始化值都为零;将当前检测到的自旋角速率与协方差的差值进行积分,积分后的结果加上所述陀螺仪当前测量的预测角度,所得结果即为陀螺仪当前的测量角度,记为第二倾角。卡尔曼滤波器403将第一倾角和第二倾角融合为第三倾角的过程具体可以为卡尔曼滤波器403获取空中鼠标的卡尔曼增益;将第一倾角与第二倾角的差值乘以卡尔曼增益,将相乘后的结果加上第二倾角,所得结果即为陀螺仪当前的优化角度,记为第三倾角。需要说明的是,卡尔曼滤波器403可以采用期望值与测量值的融合算法,加速度计401与陀螺仪402可以采用微机电系统技术;无线收发器404可以采用2. 4G赫兹无线收发技术。由上可见,通过具备姿态感知功能的加速度计401和陀螺仪402分别获得空中鼠标当前的角速率和加速度后,分别将角速率和加速度转换为空中鼠标围绕旋转轴旋转所转过的角度以及空中鼠标控制面与水平面之间的偏移角度,再通过卡尔曼滤波器403对所获得的角度进行数据融合优化处理,有效地剔除了陀螺仪402所得数据因积分而不断积累的数据误差以及加速度计401所得数据受外界因素的干扰,从而得到更加真实的空中鼠标偏移角度,即上述的第三倾角,再将第三倾角转换为具有空间水平面和垂直面移动量的位移,从而得到精确的空中鼠标位移,提闻了空中鼠标的整体性能。本发明实施例提供另ー种空中鼠标,參见图5,包括加速度计501、陀螺仪502、调整模块503、卡尔曼滤波器504和无线收发器505 ;加速度计501用于检测空中鼠标当前在X轴、Y轴和Z轴上的加速度,并将所述三条轴上的加速度转换为空中鼠标控制面与水平面的偏移角度,记为第一倾角;陀螺仪502用于检测空中鼠标当前在X轴、Y轴和Z轴上的角速率;陀螺仪502还用于在水平静止条件下获取N个在陀螺仪旋转轴方向上的角速率,其中N为大于或者等于2的整数;调整模块503用于接收陀螺仪502输出的旋转轴方向的角速率和所述N个水平静止条件下陀螺仪旋转轴方向的角速率,计算N个水平静止条件下的角速率的平均值,将该平均值作为静态速率,调整模块503将空中鼠标当前旋转轴方向的角速率减去静态速率,所得结果再与静态速率进行位于运算,将位与运算后的结果取代空中鼠标当前在旋转轴方向的角速率;需要说明的是,陀螺仪502在水平静止条件下每隔预设时间重新获取N个在陀螺仪502旋转轴方向的角速率,并将重新获取的N个角速率传递给调整模块503,其中N可以为90至110。
陀螺仪502将从调整模块503获得的的旋转轴方向的角速率转换为空中鼠标控制面围绕旋转轴所转过的角度,记为第二倾角;卡尔曼滤波器504用于读取加速度计501和陀螺仪502分别输出的第一倾角和第ニ倾角,读取的第一倾角和第二倾角进行数据融合,得到第三倾角,将得到的第三倾角转换为具有空间水平面和垂直面移动量的空中鼠标的位移,并将得到的空中鼠标的位移传送给无线收发器505 ;无线收发器505用于根据接收的空中鼠标的位移发送控制信号。由上可知,通过具备姿态感知功能的加速度计501和陀螺仪502分别获得空中鼠标当前的角速率和加速度后,再将所得角速率和加速度分别转换为空中鼠标控制面围绕旋转轴所转过的角度和空中鼠标控制面与水平面之间的偏移角度,再通过卡尔曼滤波器504对所得角度进行数据融合,有效地剔除了陀螺仪502所得数据因积分而不断积累的数据误差以及加速度计501所得数据受外界因素的干扰,从而得到更加真实的空中鼠标偏移角度,即上述的第三倾角,再将第三倾角转换为具有空间水平面移动量和垂直面移动量的位移,从而得到精确的空中鼠标位移,提闻了空中鼠标的整体性能。本发明实施例还提供ー种空中鼠标控制系统,包括主机,用于接收空中鼠标传送的控制信号;空中鼠标,包括卡尔曼滤波器、陀螺仪、加速度计和无线收发器;所述加速度计用于检测空中鼠标当前在X轴、Y轴和Z轴上的加速度,并将所述三条轴上的加速度转换为空中鼠标控制面与水平面的偏移角度,记为第一倾角;所述陀螺仪用于检测空中鼠标当前在X轴、Y轴和Z轴上的角速率,并将所述三条轴中对应空中鼠标旋转轴的轴上的角速率转换为空中鼠标控制面围绕旋转轴而转过的角度,记为第二倾角;所述卡尔曼滤波器用于读取加速度计和陀螺仪分别输出的第一倾角和第二傾角,将所述第一倾角和第二倾角进行数据融合,得到第三倾角,将得到的第三倾角转换为具有空间水平面和垂直面移动量的空中鼠标的位移,并将得到的空中鼠标的位移传送给无线收发器;所述无线收发器用于根据接收的空中鼠标的位移发送控制信号给主机。
由上可知,本发明实施例提供的空中鼠标控制系统同时包含了陀螺仪和加速度计,使原来的空中鼠标的三轴感知变为六轴感知,具有更高的感知灵敏度,而且通过本发明空中鼠标中的卡尔曼滤波器将陀螺仪和加速度计的测量值进行数据融合,通过对实际测量值和预估值的比对计算,可以得到更加优化的測量角度,有效地降低陀螺仪检测数据的长期误差成分和加速度计的数据干扰因素,从而得到精确的空中鼠标位移,提高了空中鼠标的整体性能。本发明实施例提供另ー种空中鼠标控制系统,參见图6,包括主机610,用于接收空中鼠标620传送的控制信号;空中鼠标620,包括加速度计621、陀螺仪622、卡尔曼滤波器623和无线收发器624 ;加速度计621用于检测空中鼠标当前在X轴、Y轴和Z轴上的加速度,并将所述三条轴上的加速度转换为空中鼠标控制面与水平面的偏移角度,记为第一倾角;陀螺仪622用于检测空中鼠标当前在X轴、Y轴和Z轴上的角速率,并将所述三条轴中对应空中鼠标旋转轴的轴上的角速率转换为空中鼠标控制面围绕旋转轴而转过的角度,记为第二倾角;卡尔曼滤波器623用于读取加速度计621和陀螺仪622分别输出的第一倾角和第ニ倾角,将所述第一倾角和第二倾角进行数据融合,得到第三倾角,将得到的第三倾角转换为具有空间水平面和垂直面移动量的空中鼠标的位移,并将得到的空中鼠标的位移传送给无线收发器624 ;无线收发器624用于根据接收的空中鼠标的位移发送控制信号给主机610。需要说明的是,加速度计621将三条轴上的加速度转换为第一倾角具体包括加速度计621将当前检测到的X轴、Y轴和Z轴上的加速度的平方和进行开平方运算,得到空中鼠标当前总移动矢量,将所述三轴中垂直旋转轴且与旋转轴共同确定空中鼠标控制面的轴方向的加速度除以总移动矢量,对相除后的结果进行求反正弦运算,所得结果即为加速度计当前的測量角度,记为第一傾角。陀螺仪622将旋转轴方向的角速率转换为第二倾角具体包括陀螺仪622获取空中鼠标的噪声增益;陀螺仪622获取当前测量的预测角度和协方差,其中,当前测量的预测角度为上一次获得的第三倾角,协方差为上一次的协方差和本次空中鼠标的随机噪声之和,随机噪声等于上一次的第一倾角和上一次的第二倾角的差值乘以获取的噪声增益所得到的积,第三倾角和协方差的初始化值为零;将当前检测到的旋转轴方向的角速率与当前协方差的差值进行积分,积分后的结果加上陀螺仪622当前测量的预测角度,所得结果即为陀螺仪当前的測量角度,记为第二倾角。卡尔曼滤波器623对第一倾角和第二倾角进行数据融合得到第三倾角具体包括卡尔曼滤波器623获取空中鼠标的卡尔曼增益;卡尔曼滤波器623将第一倾角与第 二倾角的差值乘以卡尔曼增益,将相乘后的结果加上第二倾角,所得结果即为陀螺仪623当前的优化角度,记为第三傾角。由上可见,本发明实施例提供的空中鼠标控制系统中的空中鼠标620同时包含了加速度计621和陀螺仪622,使原来的空中鼠标的三轴感知变为六轴感知,具有更高的感知灵敏度,而且通过本发明空中鼠标620中的卡尔曼滤波器623将加速度计621和陀螺仪622的測量值进行数据融合,通过对实际测量值和预估值的比对计算,可以得到更加优化的测量角度,有效地降低陀螺仪检测数据的长期误差成分和加速度计的数据干扰因素,得到更加精确的空中鼠标位移,提闻了空中鼠标的整体性能。需要说明的是,本发明实施例提供的空中鼠标控制系统中的空中鼠620中还可以包含调整模块;陀螺仪622还用于在水平静止条件下获取N个陀螺仪旋转轴方向的角速率,陀螺仪622将当前检测到的旋转轴方向的角速率以及在水平静止条件下获得的N个在旋转轴方向的角速率传递给调整模块,调整模块计算水平静止条件下的N个角速率的平均值,作为静态速率,调整模块将空中鼠标的旋转轴方向的角速率减去所述静态速率,所得结果再与所述静态速率进行位与运算,将位与运算后的结果取代空中鼠标当前旋转轴方向的角速率传递给陀螺仪622,陀螺仪622再将从调整模块处获得的旋转轴方向的角速率转换为空中鼠标控制面围绕旋转轴所转过的角度,其中N为大于或者等于2的整数。另外,陀螺仪622在水平静止条件下每隔预设时间重新获取N个陀螺仪旋转轴方向的角速率,并将重新获取的N个角速率传递给调整模块。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以參见其他实施例的相关描述。以上对本发明实施例所提供的获取空中鼠标位移的方法,以及相关的空中鼠标和空中鼠标控制系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种获取空中鼠标位移的方法,其特征在于,包括通过空中鼠标内部的加速度计检测空中鼠标当前在X轴、Y轴和Z轴上的加速度,并将所述三条轴上的加速度转换为空中鼠标控制面与水平面之间的偏移角度,记为第一倾角;通过空中鼠标内部的陀螺仪检测空中鼠标当前在X轴、Y轴和Z轴上的角速率,并将所述三条轴中对应空中鼠标旋转轴的轴上的角速率转换为空中鼠标控制面围绕旋转轴所转过的角度,记为第二倾角; 利用卡尔曼滤波器对所述第一倾角和第二倾角进行数据融合,得到第三倾角; 将所述第三倾角转换为具有空间水平面和垂直面移动量的空中鼠标的位移。
2.根据权利要求I所述的方法,其特征在于,所述将三条轴上的加速度转换为第一倾 角,以及将旋转轴方向的角速率转化为第二倾角,具体包括 将当前检测到的X轴、Y轴和Z轴上的加速度的平方和进行开平方运算,得到空中鼠标当前总移动矢量,将所述三轴中垂直旋转轴且与旋转轴共同确定空中鼠标控制面的轴方向的加速度除以总移动矢量,对相除后的结果进行求反正弦运算,所得结果即为加速度计当前的测量角度,记为第一倾角; 获取空中鼠标的噪声增益; 获取陀螺仪当前测量的预测角度和协方差,其中,当前测量的预测角度为上一次获得的第三倾角,协方差为上一次的协方差和本次空中鼠标的随机噪声之和,随机噪声等于上一次的第一倾角与上一次的第二倾角的差值乘以当前获取的噪声增益所得到的积,第三倾角和协方差的初始化值都为零; 将当前检测到的旋转轴方向的角速率与当前协方差的差值进行积分,积分后的结果加上所述陀螺仪当前测量的预测角度,所得结果即为陀螺仪当前的测量角度,记为第二倾角。
3.根据权利要求2所述的方法,其特征在于,所述卡尔曼滤波器对第一倾角和第二倾角进行数据融合得到第三倾角具体包括 获取空中鼠标的卡尔曼增益; 将第一倾角与第二倾角的差值乘以卡尔曼增益,将相乘后的结果加上第二倾角,所得结果即为陀螺仪当前的优化角度,记为第三倾角。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括 利用陀螺仪在水平静止条件下获取N个在所述陀螺仪旋转轴方向上的角速率,取所述N个角速率的平均值作为静态速率,其中N为大于或者等于2的整数; 将所述陀螺仪当前在旋转轴方向的角速率减去静态速率,所得结果与所述静态速率进行位与运算,将位与运算后所得结果取代空中鼠标当前在旋转轴方向的角速率。
5.根据权利要求4所述的方法,其特征在于,所述陀螺仪在水平静止条件下每隔预设时间重新获取N个在所述陀螺仪旋转轴方向上的角速率,并将重新获取的N个角速率的平均值取代上一个静态速率。
6.—种空中鼠标,其特征在于,包括 卡尔曼滤波器、陀螺仪、加速度计、无线收发器; 所述加速度计用于检测空中鼠标当前在X轴、Y轴和Z轴上的加速度,并将所述三条轴上的加速度转换为空中鼠标控制面与水平面的偏移角度,记为第一倾角; 所述陀螺仪用于检测空中鼠标当前在X轴、Y轴和Z轴上的角速率,并将所述三条轴中对应空中鼠标旋转轴的轴上的角速率转换为空中鼠标控制面围绕旋转轴所转过的角度,记为第二倾角; 所述卡尔曼滤波器用于读取加速度计和陀螺仪分别输出的第一倾角和第二倾角,将所述第一倾角和第二倾角进行数据融合,得到第三倾角,将得到的第三倾角转换为具有空间水平面和垂直面移动量的空中鼠标的位移,并将得到的空中鼠标的位移传送给无线收发器; 所述无线收发器用于根据接收的空中鼠标的位移发送控制信号。
7.根据权利要求6所述的空中鼠标,其特征在于,所述加速度计将三条轴上的加速度转换为第一倾角,以及陀螺仪将旋转轴方向的角速率转换为第二倾角具体包括 加速度计将当前检测到的X轴、Y轴和Z轴上的加速度的平方和进行开平方运算,得到空中鼠标当前总移动矢量,将所述三轴中垂直旋转轴且与旋转轴共同确定空中鼠标控制面的轴方向的加速度除以总移动矢量,对相除后的结果进行求反正弦运算,所得结果即为加 速度计当前的测量角度,记为第一倾角; 所述陀螺仪获取空中鼠标的噪声增益; 获取所述陀螺仪当前测量的预测角度和协方差,其中,当前测量的预测角度为上一次获得的第三倾角,协方差为上一次的协方差和本次空中鼠标的随机噪声之和,随机噪声等于上一次的第一倾角和上一次的第二倾角的差值乘以获取的噪声增益所得到的积,第三倾角和协方差的初始化值都为零; 将当前检测到的旋转轴方向的角速率与当前协方差的差值进行积分,积分后的结果加上所述陀螺仪当前测量的预测角度,所得结果即为陀螺仪当前的测量角度,记为第二倾角。
8.根据权利要求6所述的空中鼠标,其特征在于,所述卡尔曼滤波器采用期望值与测量值的融合算法;所述陀螺仪与加速度计采用微机电系统技术;所述无线收发器采用2. 4G赫兹无线收发技术。
9.根据权利要求6所述的空中鼠标,其特征在于,所述卡尔曼滤波器对第一倾角和第二倾角进行数据融合得到第三倾角具体包括 所述卡尔曼滤波器获取空中鼠标的卡尔曼增益; 将第一倾角与第二倾角的差值乘以卡尔曼增益,将相乘后的结果加上第二倾角,所得结果即为陀螺仪当前的优化角度,记为第三倾角。
10.根据权利要求9所述的空中鼠标,其特征在于,所述空中鼠标还包括调整模块,所述陀螺仪还用于在水平静止条件下获取N个在所述陀螺仪旋转轴方向上的角速率,其中N为大于或者等于2的整数; 所述陀螺仪将检测到的空中鼠标当前在旋转轴方向上的角速率以及在水平静止条件下获得的所述N个陀螺仪旋转轴方向上的角速率传递给调整模块,所述调整模块计算水平静止条件下N个角速率的平均值,将该平均值作为静态速率,所述调整模块将空中鼠标在旋转轴方向的角速率减去静态速率,所得结果与所述静态速率进行位与运算,将位与运算后的结果取代空中鼠标当前在旋转轴方向的角速率。
11.根据权利要求10所述的空中鼠标,其特征在于,所述陀螺仪在水平静止条件下每隔预设时间重新获取N个在所述陀螺仪旋转轴方向的角速率,并将重新获取的N个角速率传递给调整模块。
12.—种空中鼠标控制系统,其特征在于,包括 主机,用于接收空中鼠标传送的控制信号; 空中鼠标,包括卡尔曼滤波器、陀螺仪、加速度计和无线收发器; 所述加速度计用于检测空中鼠标当 前在X轴、Y轴和Z轴上的加速度,并将所述三条轴上的加速度转换为空中鼠标控制面与水平面的偏移角度,记为第一倾角; 所述陀螺仪用于检测空中鼠标当前在X轴、Y轴和Z轴上的角速率,并将所述三条轴中对应空中鼠标旋转轴的轴上的角速率转换为空中鼠标控制面围绕旋转轴而转过的角度,记为第二倾角; 所述卡尔曼滤波器用于读取加速度计和陀螺仪分别输出的第一倾角和第二倾角,将所述第一倾角和第二倾角进行数据融合,得到第三倾角,将得到的第三倾角转换为具有空间水平面和垂直面移动量的空中鼠标的位移,并将得到的空中鼠标的位移传送给无线收发器; 所述无线收发器用于根据接收的空中鼠标的位移发送控制信号给主机。
13.根据权利要求12所述的空中鼠标控制系统,其特征在于,所述加速度计将三条轴上的加速度转换第一倾角,以及陀螺仪将旋转轴方向的角速率转换为第二倾角具体包括 加速度计将当前检测到的X轴、Y轴和Z轴上的加速度的平方和进行开平方运算,得到空中鼠标当前总移动矢量,将所述三轴中垂直旋转轴且与旋转轴共同确定空中鼠标控制面的轴方向的加速度除以总移动矢量,对相除后的结果进行求反正弦运算,所得结果即为加速度计当前的测量角度,记为第一倾角; 所述陀螺仪获取空中鼠标的噪声增益; 获取所述陀螺仪当前测量的预测角度和协方差,其中,当前测量的预测角度为上一次获得的第三倾角,协方差为上一次的协方差和本次空中鼠标的随机噪声之和,随机噪声等于上一次的第一倾角和上一次的第二倾角的差值乘以获取的噪声增益所得到的积,第三倾角和协方差的初始化值为零; 将当前检测到的旋转轴方向的角速率与当前协方差的差值进行积分,积分后的结果加上所述陀螺仪当前测量的预测角度,所得结果即为陀螺仪当前的测量角度,记为第二倾角。
14.根据权利要求13所述的空中鼠标控制系统,其特征在于,所述卡尔曼滤波器对第一倾角和第二倾角进行数据融合得到第三倾角具体包括 所述卡尔曼滤波器获取空中鼠标的卡尔曼增益; 所述卡尔曼滤波器将第一倾角与第二倾角的差值乘以卡尔曼增益,将相乘后的结果加上第二倾角,所得结果即为陀螺仪当前的优化角度,记为第三倾角。
15.根据权利要求14所述的空中鼠标的控制系统,其特征在于,所述空中鼠标还包括调整模块,所述陀螺仪还用于在水平静止条件下获取N个在所述陀螺仪旋转轴方向上的角速率,其中N为大于或者等于2的整数; 所述陀螺仪将检测到的空中鼠标当前在旋转轴方向上的角速率以及在水平静止条件下获得的所述N个陀螺仪旋转轴方向上的角速率传递给调整模块,所述调整模块计算水平静止条件下的N个角速率的平均值,将该平均值作为静态速率,所述调整模块将空中鼠标在旋转轴方向的角速率减去静态速率,所得结果与所述静态速率进行位与运算,将位与运算后的结果取代空中鼠标当前旋转轴方向的角速率。
16.根据权利要求15所述的空中鼠标的控制系统,其特征在于,所述陀螺仪在水平静止条件下每隔预设时间重新获取N个在所述陀螺仪旋转轴方向的角速率,并将重新获取的N个角速率传递给调整模块。
全文摘要
本发明公开了一种获取空中鼠标位移的方法、空中鼠标及空中鼠标控制系统,所述方法通过陀螺仪和加速度计分别获得空中鼠标当前三条坐标轴的角速率和加速度后,将角速率和角速度分别转换为空中鼠标控制面围绕旋转轴所转过的角度和空中鼠标控制面与水平面之间的角度,再通过卡尔曼滤波器对所获得的角度进行数据融合,有效地剔除了因积分而不断积累的数据误差和外界因素的干扰,从而得到精确的空中鼠标位移,提高了空中鼠标的整体性能。
文档编号G06F3/033GK102750020SQ20121024868
公开日2012年10月24日 申请日期2012年7月18日 优先权日2012年7月18日
发明者张冬忙, 赵宝龙 申请人:深圳数字电视国家工程实验室股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1