专利名称:一种空中鼠标的光标的去抖动方法
技术领域:
本发明涉及ー种防止光标在移动中发生抖动的方法,尤其涉及ー种由空中鼠标操控光标时去除光标跟随空中鼠标抖动的方法。
背景技术:
公开日为2009年4月1日,公开号为CN 101398721A的中国发明专利申请公开了 ー种空中鼠标的光标位移速度控制方法,该申请文件中记载了空中鼠标的使用特性,即这类鼠标不需要有线连接计算机,也不需要限制操作地点,使用者手持这类鼠标在立体空间移动或者转动,即可控制光标在屏幕上移动,如当使用者手持空中鼠标向左侧倾斜吋,空中鼠标内部的倾角传感器即可检测到该倾斜角度,微处理器依据该倾斜角度产生鼠标信号, 并将该鼠标信号通过无线通讯方式发送到计算机,以控制光标在屏幕上由右向左移动。虽然上述申请文件仅明确给出了由空中鼠标的转动控制光标移动的说明,但实际上,空中鼠标是通过转动和平移共同控制光标的移动,具体为图1示出了说明光标B和空中鼠标A运动关系的參考坐标系,χ轴和y轴为相互垂直的水平轴和竖直轴,χ轴的正向向左,y轴的正向向上,若光标可在三维空间移动,则垂直于屏幕的ζ轴的正向根据右手定则为向内,在此,空中鼠标采用相同定义的參考坐标系。当空中鼠标沿χ轴正向(即向左平移)平移或者绕Z轴逆时针转动吋,对应光标在屏幕上沿χ轴正向平移,反之则沿χ轴负向平移;当空中鼠标沿y轴正向平移(向上平移)或绕χ轴沿χ轴正向看逆时针转动时,对应光标在屏幕上沿y轴正向平移,反之则沿y轴负向平移;同理,若光标可在三维空间移动,则当空中鼠标沿ζ轴正向(即向前平移)平移或者绕y轴沿y轴正向看逆时针转动时,对应光标在屏幕上沿ζ轴正向平移,反之则沿y轴负向平移。在此,本领域技术人员应当清楚, 光标的实际移动情况为上述各方向移动的综合体现。空中鼠标采用内置的例如是陀螺仪的倾角传感器判断空中鼠标绕各轴转动时的倾角变化(即当前位置相对上次转动后位置的倾角变化),并采用例如是加速度计的位移传感器判断空中鼠标(通常选定空中鼠标的质心)在各轴向平移的位移变化(即当前位置相对上次平移后位置的位移变化)。由于使用者在通过空中鼠标操控光标时的手腕或手肘悬空没有支撑,因此,在使用者希望光标静止吋,空中鼠标也会有轻微的抖动,即倾角传感器和位移传感器在静止时会有噪声输出,这样光标会在使用者希望其停留的位置处左右、上下抖动(对于ニ维空间而言)。如果光标不稳定,将严重影响使用,目前的降低灵敏度的方法均不能完全解决光标静止时抖动的问题,只能降低抖动范围,因此,对于空中鼠标而言,如何去除光标的抖动是亟待解决的问题。
发明内容
本发明的目的是提供一种去除空中鼠标的光标在至少ー个轴向的抖动的方法。本发明采用的技术方案为一种空中鼠标的光标的去抖动方法,包括去除光标在參考坐标系的W轴中至少ー个轴向的抖动的步骤,去除光标在是X轴、y轴或者Z轴的w轴方向上抖动的具体步骤为步骤si 空中鼠标的微处理器实时读取位移传感器输出的空中鼠标在w轴方向上平移的位置变化量Δρ^^ )和倾角传感器输出的空中鼠标绕い轴转动的位置变化量 Δρ(ψ, $^),之后,次序进入或者并行进入步骤s2和步骤s3 ;其中,w轴为χ轴、y轴、ζ轴分别对应w‘轴为ζ轴,χ轴、y轴;步骤s2 微处理器判断读取的位置变化量Δρ(ψ, _m)])的绝对值是否小于预设的空中鼠标绕W'轴转动时的停止预设值Stopiw,转㈨,如果是则进入步骤s21,否则进入步骤 s22 ;步骤s21 得到优化位置变化量Δρ' (w, ^fa)为0;其中,优化位置变化量 Δρ' (w,—转动)为微控制器根据读取的位置变化量八p(v,—转动)发送给计算机的用于控制光标在w轴方向上移动的数据;步骤S22 微处理器判断读取的位置变化量Δρ' (w, _m)是否为正数,如果是则进入步骤s221,否则进入步骤s222 ;步骤s221 得到优化位置变化量Δρ' (w,—转动)=位置变化量Ap(w,肖动厂停止
illicit stop (い—转动);步骤s222 得到优化位置变化量Δρ' (w,—转动)=位置变化量Δρ(ψ,肖动)+停止
illicit stop (い—转动);步骤s3 微处理器判断读取的位置变化量Apiw ^f)的绝对值是否小于预设的空中鼠标沿W轴方向平移时的停止预设值Stopiw平移),如果是则进入步骤s31,否则进入步骤 s32 ;步骤s31 得到优化位置变化量Δρ' (w 为0 ;其中,优化位置变化量 Δρ' 平移)为微控制器根据读取的位置变化量Δρ(ψ〒移)发送给计算机的用于控制光标在w轴方向上移动的数据;步骤s32 微处理器判断读取的位置变化量Δρ(ψ平移)是否为正数,如果是则进入步骤s321,否则进入步骤s322 ;步骤s321 得到优化位置变化量Δρ' (w平移)=位置变化量Δρ(ψ平移)-停止预设
m stop(w—平移);步骤s322 得到优化位置变化量Δρ' (w平移)=位置变化量Δρ(ψ平移)+停止预设
iL· Slop (w—平移)。其中,确定停止预设值stop(w, 的方法为使用者手持带有倾角和位移传感器的空中鼠标静止不动,读取倾角传感器在预设确值时间内输出的绕W'轴转动的确值倾角变化量Δρ〃 (w,—转动),停止预设值stop(w,—转动)=I确值倾角变化量Δρ〃 (w,—转动)I +宽 ^jift offset(w,—转动),胃中宽双· offset(い—转动)-0。其中,宽放值offSet(w,转动)的选取范围为
。其中,确定停止预设值stop(w ^f)的方法为使用者手持带有倾角和位移传感器的空中鼠标静止不动,读取位移传感器在预设确值时间内输出的绕w轴平移的确值平移变化量Δρ〃(w平移),停止预设值stop(w平移)=I确值平移变化量Δρ〃(w平移)I+宽放值 offset(w—平移),其中苋万文值offset(w—平移)ジ0。其中,宽放值offSet(w平移)的选取范围为W,Δ p〃(w平移)]。
其中,空中鼠标的光标的去抖动方法包括去除光标在參考坐标系的X、y、ζ轴中二个轴向的抖动的步骤,以去除光标在由所选定的ニ个轴定义的平面上的抖动。本发明的有益效果为采用本发明的去抖动方法,至少可以去除光标在所希望的 ー个轴向的抖动,这可根据使用者的需求选择设定,对于平面操控,通常是去除光标在χ和 y轴上的抖动,这样就能去除光标在整个平面上运动的抖动。
图1示出了光标和空中鼠标的參考坐标系;图2示出了去除光标在χ轴方向上抖动的部分流程图;图3A示出了未应用本发明的去抖动方法时的光标在平面上移动的情况;图加示出了应用本发明的去抖动方法后的光标在平面上移动的情況。
具体实施例方式在实施本发明的去抖动方法吋,首先需要设定空中鼠标的停止预设值stop(w t)的大小,其中,《代表停止预设值所针对的轴向,w为χ轴、y轴或ζ轴;t表示停止预设值所针对的运动方式,t为转动或者平移;如停止预设值Stop0i平移)为空中鼠标沿χ轴方向平移时的停止预设值,停止预设值stop(z—转㈨为空中鼠标绕Z轴方向转动的停止预设值。在设定空中鼠标的停止预设值Stopiw t)吋,可先查看在使用者手持带有倾角和位移传感器的空中鼠标静止不动时的状态,确定在预设确值时间(如2秒)内的确值位置变化量Δρ" (w t),其中,确值位置变化量Δρ" 为倾角传感器在预设确值时间内检测到的绕w轴转动的确值倾角变化量,确值位置变化量Δρ"为位移传感器在预设确值时间内检测到的沿w轴平移的确值平移变化量,以此确值位置变化量Δ ρ “ (w t)的绝对值加上一定的宽放值offset(w t)(彡0) 作为上述停止预设值stop(w t),在此,对于常规使用,仅需控制光标在ニ维平面上移动,因而, 在该步骤中,仅需要确定停止预设值stop(χ平移)、Stopfa—转动)、stop(y平移)和stop(x—转动),前两种运动对应光标在X轴方向上的移动,后两种运动对应光标在y轴方向上的移动,若将空中鼠标作为需要三维操作的手柄使用,则还需要确定停止预设值Stopfa平移)、Stopiy—转动)。例如, 若手持空中鼠标静止不动吋,位置传感器检测到空中鼠标的确值位置变化量Δρ" (χ—平移)为士3,加入一定的例如是等于2的宽放值Offsetix平移)后可确定停止预设值stop(x—为5 ; 同理,若手持空中鼠标静止不动时,倾角传感器检测到空中鼠的确值位置变化量Δρ" (z_m) 为士3,加入一定的例如是等于2的宽放值offset^—转动)后可确定停止预设值stop(z—转动)为 5。采用相同的方法即可确定所需的所有停止预设值stop(w—t),在此,上述数值为位置传感器的输出经数模转换后输入至空中鼠标的微处理器中的数值,其并不是实际的变化量,而是可反应实际的变化量。在确定确值位置变化量Δρ" (w—t)吋,可采用多次測量取平均值的方法。
另外,宽放值offset(w t)的选取范围一般为
,优选为
,宽放值选
取的越小,灵敏度越高;宽放值选取的越大,去抖动的效果越好,但也会牺牲灵敏度,因此,宽放值offset^t)的选取可根据使用者的操作习惯确定。如图1所示,本发明的去抖动方法去除光标在χ轴方向上抖动的具体步骤为步骤si 空中鼠标的微处理器实时读取位置变化量Δρ(χ平移)和Δρ(ζ转动),之后,分别进入步骤s2和步骤s3 ;步骤s2 微处理器判断读取的位置变化量Δρ(ζ ^fa)的绝对值是否小于停止预设值Stopiz转动),如果是则进入步骤S21,否则进入步骤S22 ;步骤s21 得到优化位置变化量Δρ' (z 动)为0,之后,进入步骤si ;其中,优化位置变化量Δρ' (ζ—转动)为微控制器根据读取的位置变化量Δρ(ζ—发送给计算机的用于控制光标在X轴方向上移动的数据;步骤s22 微处理器判断读取的位置变化量Δρ(ζ转动)是否为正数,如果是则进入步骤s221,否则进入步骤s222 ;步骤s221 得到优化位置变化量Δρ' (ζ转动)=位置变化量Δρ(ζ转动)-停止预设 ii. stop(z 转动), 之后进入步骤Sl ;步骤s222 得到优化位置变化量Ap' (z转动)=位置变化量Δρ(ζ转动)+停止预设 ii. stop(z 转动), 之后进入步骤Sl ;步骤s3 微处理器判断读取的位置变化量Δρ(χ平移)的绝对值是否小于停止预设值Stopix平移),如果是则进入步骤S31,否则进入步骤S32 ;步骤s31 得到优化位置变化量Δρ' (χ为0,之后,进入步骤si ;其中,优化位置变化量Δρ'为微控制器根据读取的位置变化量Δρ(χ—发送给计算机的用于控制光标在X轴方向上移动的数据;步骤s32 微处理器判断读取的位置变化量(x—平移)是否为正数,如果是则进入步骤 s321,否则进入步骤s322 ;步骤s321 得到优化位置变化量Δρ' (χ—平移)=位置变化量Δρ(χ平移)-停止预设 fi stop(x 平移), 之后进入步骤Sl ;步骤s322 得到优化位置变化量Ap' (x平移)=位置变化量Δρ(χ平移)+停止预设 fi stop(x 平移), 之后进入步骤Si。计算机根据接收到的优化位置变化量Δρ' (zJa)和优化位置变化量 Δρ' (χ—平移)控制光标沿χ轴移动,光标最终停留的位置是由优化位置变化量 Δρ' (z—和优化位置变化量Δρ'(,—〒》)分別作用的矢量叠加。去除光标在y轴和ζ轴方向上抖动的具体步骤可參照上述步骤执行。例如,若确定停止预设值stop(z—转动)为5,读取的位置变化量Δρ(ζ—转动) 有-6,-3,-2,1,6,7 ;则微处理器处理后输出的优化位置变化量Δρ' (ζ转动)为_1,0,0,0, 1,2,这样就不会向计算机输出绝对值小于停止预设值stop(z—转动)的数据,即可去除抖动。图3A示出了未应用本发明的去抖动处理时的光标在平面上移动的情況,图加示出了应用本发明的去抖动处理后的光标在平面上移动的情況,经过对比可知,采用本发明的去抖动处理可有效地去除噪声和抖动。上述的用于检测空中鼠标绕各轴转动的倾角变化量的倾角传感器例如是陀螺仪, 而用于检测空中鼠标沿各轴向平移的平移变化量的位移传感器例如是加速度计。以上所述仅为本发明较佳的实施方式,并非用来限定本发明的实施范围,但凡在本发明的保护范围内所做的等效变化及修饰,皆应认为落入了本发明的保护范围内。
权利要求
1.ー种空中鼠标的光标的去抖动方法,其特征在干,包括去除光标在參考坐标系的χ、 1、Z轴中至少ー个轴向的抖动的步骤,去除光标在是X轴、y轴或者Z轴的W轴方向上抖动的具体步骤为步骤si 空中鼠标的微处理器实时读取位移传感器输出的空中鼠标在w轴方向上平移的位置变化量Apiw ^f)和倾角传感器输出的空中鼠标绕W'轴转动的位置变化量Ap(v,— ^),之后,次序进入或者并行进入步骤s2和步骤s3 ;其中,w轴为χ轴、y轴、ζ轴分别对应 W'轴为Z轴,X轴ヽy轴;步骤s2 微处理器判断读取的位置变化量八p(v, _m)的绝对值是否小于预设的空中鼠标绕轴转动时的停止预设值stop(w, ^^),如果是则进入步骤s21,否则进入步骤s22;步骤s21 得到优化位置变化量Δρ' (w, ^fa)为0 ;其中,优化位置变化量 Δρ' (w,—转动)为微控制器根据读取的位置变化量Ap(v,—转动)发送给计算机的用于控制光标在w轴方向上移动的数据;步骤s22 微处理器判断读取的位置变化量Δρ' (w,—转动)是否为正数,如果是则进入步骤s221,否则进入步骤s222 ;步骤s221 得到优化位置变化量Δρ' (w,—转动)=位置变化量Δρ(ψ, ^fa)-停止预设1k Stop (い—转动);步骤s222 得到优化位置变化量Δρ' (w,—細=位置变化量Ap(v, ^fa)+停止预设1k Stop (い—转动);步骤S3 微处理器判断读取的位置变化量Apiw ^f)的绝对值是否小于预设的空中鼠标沿w轴方向平移时的停止预设值stop(w平移),如果是则进入步骤s31,否则进入步骤s32 ; 步骤s31 得到优化位置变化量Δρ' (w平移)为O ;其中,优化位置变化量Δρ' 平移) 为微控制器根据读取的位置变化量Δρ(1 —〒》)发送给计算机的用于控制光标在w轴方向上移动的数据;步骤s32 微处理器判断读取的位置变化量Apiw ^f)是否为正数,如果是则进入步骤 s321,否则进入步骤s322 ;步骤s321 得到优化位置变化量Δρ'=位置变化量Δρ(ψ—停止预设值stop(w—平移);步骤s322:得到优化位置变化量Δρ'=位置变化量Δρ(ψ平移)+停止预设值Λ [〇p(w—平移)O
2.根据权利要求1所述的空中鼠标的光标的去抖动方法,其特征在干,确定停止预设值Stop(w,—转㈨的方法为使用者手持带有倾角和位移传感器的空中鼠标静止不动,读取倾角传感器在预设确值时间内输出的绕轴转动的确值倾角变化量Δρ" (ψ ^),停止预设值stop(w,—转动)=I确值倾角变化量Δρ" (w,—转动)|+宽放值0ffset(w,—转动),其中宽放1 ofiset(い—转动) 彡O。
3.根据权利要求2所述的空中鼠标的光标的去抖动方法,其特征在干,宽放值 offset(w,—转动)的选取范围为[O, Δρ" (w,—转动)]。
4.根据权利要求1或2所述的空中鼠标的光标的去抖动方法,其特征在干,确定停止预设值stop(w—的方法为使用者手持带有倾角和位移传感器的空中鼠标静止不动,读取位移传感器在预设确值时间内输出的绕w轴平移的确值平移变化量Δρ" (w—〒》),停止预设值stop(w平移)=I确值平移变化量Δρ〃(w—平移)|+宽放值0ffset(w—平移),其中宽放值 ofiset(w 平移) 彡O。
5.根据权利要求4所述的空中鼠标的光标的去抖动方法,其特征在干,宽放值 offset(w平移)的选取范围为W,Δp〃(w平移)]。
6.根据权利要求1所述的空中鼠标的光标的去抖动方法,其特征在干,包括去除光标在參考坐标系的x、y、ζ轴中二个轴向的抖动的步骤,以去除光标在由所选定的ニ个轴定义的平面上的抖动。
全文摘要
本发明公开了一种空中鼠标的光标的去抖动方法,微处理器判断读取的位置变化量Δp(w_t)的绝对值是否小于预设的停止预设值stop(w_t),如果是则得到优化位置变化量Δp′(w_t)为0,如果否则再判断读取的位置变化量Δp′(w_t)是否为正数,如果是则得到优化位置变化量Δp′(w_t)=位置变化量Δp(w_t)-停止预设值stop(w_t),如果否则得到优化位置变化量Δp′(w_t)=位置变化量Δp(w_t)+停止预设值stop(w_t)。采用本发明的去抖动方法,至少可以去除光标在所希望的一个轴向的抖动,如可解决光标在整个作为屏幕的平面上运动时出现抖动的问题。
文档编号G06F3/038GK102541306SQ201110437208
公开日2012年7月4日 申请日期2011年12月23日 优先权日2011年12月23日
发明者袁秋春 申请人:深迪半导体(上海)有限公司