CN103389807A - 空间鼠标的数据处理方法以及鼠标指针的控制方法 - Google Patents

空间鼠标的数据处理方法以及鼠标指针的控制方法 Download PDF

Info

Publication number
CN103389807A
CN103389807A CN2013102982005A CN201310298200A CN103389807A CN 103389807 A CN103389807 A CN 103389807A CN 2013102982005 A CN2013102982005 A CN 2013102982005A CN 201310298200 A CN201310298200 A CN 201310298200A CN 103389807 A CN103389807 A CN 103389807A
Authority
CN
China
Prior art keywords
space mouse
displacement variable
mouse
spatial data
processing method
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.)
Granted
Application number
CN2013102982005A
Other languages
English (en)
Other versions
CN103389807B (zh
Inventor
龙涛
乔磊
滕敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Huitong Group Co Ltd
Original Assignee
Jiangsu Huitong Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Huitong Group Co Ltd filed Critical Jiangsu Huitong Group Co Ltd
Priority to CN201310298200.5A priority Critical patent/CN103389807B/zh
Priority to PCT/CN2013/080985 priority patent/WO2015007001A1/zh
Publication of CN103389807A publication Critical patent/CN103389807A/zh
Application granted granted Critical
Publication of CN103389807B publication Critical patent/CN103389807B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control 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)

Abstract

一种空间鼠标的数据处理方法以及鼠标指针的控制方法,所述空间鼠标包括适于采集空间坐标数据的惯性器件,所述空间鼠标的数据处理方法包括:记录所述惯性器件关闭前最后一次采集到的空间坐标数据;在所述惯性器件重新开启后,获取当前空间坐标的补偿值,所述当前空间坐标的补偿值为前一次采集到的空间坐标数据和所记录的空间坐标数据的差值;采用所述当前空间坐标的补偿值对当前采集到的空间坐标数据进行补偿,以获得当前空间坐标数据的输出值。本发明技术方案可以有效解决空间鼠标输出的空间坐标数据存在误差的问题,使得所述空间鼠标输出的空间坐标数据精确、可靠,提高空间鼠标定位准确性。

Description

空间鼠标的数据处理方法以及鼠标指针的控制方法
技术领域
本发明涉及空间鼠标技术领域,尤其涉及一种空间鼠标的数据处理方法以及鼠标指针的控制方法。
背景技术
目前,计算机鼠标指针的定位大多数都依靠光学传感器或激光传感器来实现,这些传感器都基于物理光学原理,使得传感器需要依靠桌面等平台来实现。但是在很多场合,例如在计算机多媒体教学中,用户想在空中操控鼠标指针或是通过在空中操控鼠标指针来实现多媒体电视播放、网页浏览等应用,仅使用传统的传感器就无法实现,于是空间鼠标应运而生。空间鼠标是一种输入设备,像传统鼠标一样操作鼠标指针(屏幕光标),但却不需要放在任何平面上,在空中晃动就能直接依靠空中运动姿态的感知实现对鼠标指针的控制。要实现空中运动姿态的感知,一般在空间鼠标中设置惯性器件,利用惯性器件测量技术实现对运动载体姿态的跟踪。
惯性跟踪系统的基本原理是在目标初始位置和姿态已知的基础上,依据惯性原理,利用陀螺仪传感器、加速度传感器等惯性器件测量物体运动的角速度和直线加速度,然后通过积分获得物体的位置和姿态。
但是在实际使用的过程中,当关闭空间鼠标后就无法再检测到所述空间鼠标的运动过程,而在所述空间鼠标再次开启时,它的坐标零点就无法和关闭空间鼠标前的坐标零点重合,这是因为,空间鼠标的初始点,即坐标零点是由空间鼠标的系统假设的,在每次开启所述空间鼠标时,系统重新确定坐标零点,而所述重新确定的坐标零点是很难与上次关闭空间鼠标前的坐标零点重合的,此时所述空间鼠标的初始点就会有问题,以此为基础获得的空间鼠标的空间坐标就会有误差,并进而确定的所述空间鼠标的位置和姿态就会有误差,鼠标定位就会有误差。
相关技术可参考公开号为US2009295729(A1)的美国专利申请,该专利申请公开了一种空间定位的具体实现。
发明内容
本发明解决的问题是空间鼠标输出的空间坐标数据存在误差的问题。
为解决上述问题,本发明提供一种空间鼠标的数据处理方法,所述空间鼠标包括适于采集空间坐标数据的惯性器件,所述方法包括:记录所述惯性器件关闭前最后一次采集到的空间坐标数据;在所述惯性器件重新开启后,获取当前空间坐标的补偿值,所述当前空间坐标的补偿值为前一次采集到的空间坐标数据和所记录的空间坐标数据的差值;采用所述当前空间坐标的补偿值对当前采集到的空间坐标数据进行补偿,以获得当前空间坐标数据的输出值。
可选的,当所述当前空间坐标的补偿值达到补偿阈值,则不再对当前采集到的空间坐标数据进行补偿。
可选的,所述补偿阈值为0。
可选的,丢弃所述惯性器件重新开启后第一次获得的空间坐标数据的输出值。
可选的,基于所述空间坐标数据的输出值获得所述空间鼠标的位移变化量。
可选的,所述基于所述空间坐标数据的输出值获得所述空间鼠标的位移变化量包括:由当前空间坐标数据的输出值和前一次空间坐标数据的输出值计算所述空间鼠标的位移变化量。
可选的,所述基于所述空间坐标数据的输出值获得所述空间鼠标的位移变化量包括:若未接收到坐标输出关闭命令或在接收到坐标输出关闭命令后预设时间范围内接收到坐标输出开启命令,则由当前空间坐标数据的输出值和前一次空间坐标数据的输出值计算所述空间鼠标的位移变化量;若接收到坐标输出关闭命令,则停止计算所述空间鼠标的位移变化量;若在接收到坐标输出关闭命令后预设时间范围内未接收到坐标输出开启命令,则关闭所述惯性器件。
可选的,在接收到坐标输出关闭命令后预设时间范围内记录所述惯性器件采集的空间坐标数据。
可选的,所述预设时间范围大于或等于5s。
可选的,所述基于所述空间坐标数据的输出值获得所述空间鼠标的位移变化量还包括:丢弃所述惯性器件重新开启后第一次计算得到的空间鼠标的位移变化量。
可选的,所述基于所述空间坐标数据的输出值获得所述空间鼠标的位移变化量还包括:在丢弃所述惯性器件重新开启后第一次计算得到的空间鼠标的位移变化量后,对数据丢弃标志位置位;所述数据丢弃标志位在空间鼠标初始化时和惯性器件关闭时复位。
可选的,基于所述空间鼠标的运动状态,修正所述空间鼠标的位移变化量。
可选的,所述空间鼠标的运动状态由重力加速度传感器的数据获得,所述运动状态包括水平状态下的运动、垂直状态下的运动和侧立状态下的运动。
可选的,所述基于所述空间鼠标的运动状态,修正所述空间鼠标的位移变化量包括:若所述空间鼠标在水平状态下运动,则保持所述空间鼠标的位移变化量;若所述空间鼠标在垂直状态下运动,则缩小所述空间鼠标的位移变化量在x方向和y方向上的分量;若所述空间鼠标在侧立状态下运动,则放大所述空间鼠标的位移变化量在y方向上的分量。
可选的,所述若所述空间鼠标在垂直状态下运动,缩小所述空间鼠标的位移变化量在x方向和y方向上的分量包括:空间鼠标的空间坐标数据在z方向的输出值越大,所述空间鼠标的位移变化量在x方向和y方向上的分量缩小程度越小,空间鼠标的空间坐标数据在z方向的输出值越小,所述空间鼠标的位移变化量在x方向和y方向上的分量缩小程度越大。
可选的,所述若所述空间鼠标在垂直状态下运动,缩小所述空间鼠标的位移变化量在x方向和y方向上的分量通过下述方式实现:
所述空间鼠标的位移变化量在x方向上的分量dx缩小为(f(z)/a)×dx,所述空间鼠标的位移变化量在y方向上的分量dy缩小为(f(z)/a)×dy,其中,f(z)是空间鼠标的空间坐标数据在z方向的输出值,a为衰减系数,1≤a≤5。
可选的,所述若所述空间鼠标在垂直状态下运动,缩小所述空间鼠标的位移变化量在x方向和y方向上的分量还包括:若缩小后的所述空间鼠标的位移变化量在x方向和y方向上的分量大于分量阈值,则将所述空间鼠标的位移变化量在x方向和y方向上的分量设置为所述分量阈值。
可选的,所述分量阈值为100。
可选的,所述若所述空间鼠标在侧立状态下运动,放大所述空间鼠标的位移变化量在y方向上的分量包括:空间鼠标的空间坐标数据在z方向的输出值越大,所述空间鼠标的位移变化量在y方向上的分量放大程度越小,空间鼠标的空间坐标数据在z方向的输出值越大,所述空间鼠标的位移变化量在y方向上的分量放大程度越大。
可选的,所述若所述空间鼠标在侧立状态下运动,放大所述空间鼠标的位移变化量在y方向上的分量通过下述方式实现:所述空间鼠标的位移变化量在y方向上的分量dy放大为(b/f(z))×dy,其中,f(z)是空间鼠标的空间坐标数据在z方向的输出值,b为放大系数,1≤b≤5。
为了解决上述技术问题,本发明技术方案还提供一种鼠标指针的控制方法,其特征在于,包括:采用如上所述的空间鼠标的数据处理方法获取所述空间鼠标的位移变化量;根据所述空间鼠标的位移变化量控制鼠标指针的移动。
与现有技术相比,本发明的技术方案具有以下优点:
在惯性器件重新开启后,采用前一次采集到的空间坐标数据和记录的惯性器件关闭前最后一次采集到的空间坐标数据的差值作为所述当前空间坐标的补偿值,对当前采集到的空间坐标数据进行补偿,获得当前空间坐标数据的输出值的方法,可以使得惯性器件重新开启后,经过上述补偿过程,将空间坐标的输出值和关闭所述惯性器件前所采集的空间坐标值处于同一个空间坐标体系中,有效解决重新开启惯性器件后由于初始点位置的不同,所导致的空间坐标数据存在误差的问题,使得输出的空间坐标数据精确和可靠。
在可选方案中,在所述惯性器件开启后,丢弃第一次计算得到的空间鼠标的位移变化量,可以有效避免因第一次计算得到的空间鼠标的位移变化量存在误差而导致后续数据处理不准确的问题。
在可选方案中,在接收到坐标输出关闭命令后,在预设时间范围内继续记录所述惯性器件采集的空间坐标数据,停止计算所述空间鼠标的位移变化量,则在预设时间范围内再次收到坐标输出开启命令的时候,就可以根据所述记录的惯性器件采集的空间坐标数据快速、准确获得所述空间鼠标的位移变化量的输出值。
在可选方案中,根据所述空间鼠标的运动状态,修正空间鼠标的位移变化量,可以准确获得所述空间鼠标的位移变化量。
附图说明
图1是本发明实施例一的空间鼠标的运动轨迹示意图;
图2是本发明实施例一的空间鼠标的数据处理方法的流程示意图;
图3是本发明实施例二的空间鼠标的数据处理方法的流程示意图;
图4是本发明实施例三的空间鼠标的数据处理方法的流程示意图;
图5是本发明实施例四的空间鼠标的数据处理方法的流程示意图;
图6是本发明实施例五的空间鼠标的数据处理方法的流程示意图;
图7是本发明实施例六的空间鼠标的数据处理方法的流程示意图;
图8是本发明实施例七的空间鼠标的数据处理方法的流程示意图;
图9是本发明实施例八的空间鼠标的数据处理方法的流程示意图。
具体实施方式
空间鼠标在正常使用时,要先打开空间鼠标和终端的电源开关,待空间鼠标和终端之间的无线通信链路建立后,空间鼠标就进入了工作状态。具体的,空间鼠标进入工作状态后首先由惯性器件采集空间坐标数据,其中惯性器件可以是陀螺仪传感器或重力加速度传感器,可以通过陀螺仪传感器测量得到的角速度等参数信息而得到所述空间鼠标的空间坐标数据,也可以通过重力加速度传感器测量得到的直线加速度等参数信息而得到所述空间鼠标的空间坐标数据,也可以通过结合陀螺仪传感器以及重力加速度传感器测量得到的参数信息得到所述空间鼠标的空间坐标数据,所述得到所述空间鼠标的空间坐标数据的方法可以采用本领域技术人员所知晓的多种方法进行,在此不再赘述。终端接收到空间鼠标的空间坐标数据后,根据前后两次的所述空间坐标数据可以获得所述空间鼠标的位移变化量,然后通过转换计算将其转换为鼠标指针数据,如显示屏幕上的鼠标指针的平面坐标或平面坐标的变化量,就完成了空间鼠标对鼠标指针的控制。如果空间鼠标的内存允许,还可以将空间坐标数据到鼠标指针数据的转换过程放在空间鼠标内部执行,然后直接将鼠标指针数据发送给终端,再由终端完成对鼠标指针在显示屏幕上的移动控制。
在基于惯性器件得到空间坐标数据、得到空间鼠标的位移变化量以及最终得到鼠标指针数据的过程中,在任何一个阶段中都可能会产生误差,现有技术中,有对空间鼠标的位移变化量进行校正的相关技术,但并没有一个完整、有效的方法可以使得上述各个阶段所得到的数据都准确和有效。
上述过程中,在基于惯性器件得到空间坐标数据是存在误差的。这是因为,在每次开启惯性器件时(所述开启惯性器件是指使惯性器件处于工作状态,通过所述惯性器件可以采集空间鼠标的空间坐标数据),系统需要重新确定空间鼠标的初始点,即需要重新确定坐标零点,而所述坐标零点是由空间鼠标系统假设的,重新确定的坐标零点是很难与上次关闭惯性器件前的坐标零点重合的。而对于空间的任意一点,它的空间坐标数据(即绝对坐标数据)应该是基于同一个坐标系确定的,应该是唯一的,不应该由于关闭或者开启惯性器件而有所不同。现有技术中并没有对此进行处理,所以由于每次开启惯性器件所确定的空间坐标的初始点的不同,会导致以不同的空间坐标的初始点为基础获得的惯性器件的空间坐标数据就会有误差,导致在得到空间鼠标各个阶段的数据中都会存在误差,使得空间鼠标定位不准确。而且,空间鼠标在运动的过程中,由于受到地球重力加速度的影响,其本身在输出数据的过程中,也会存在误差,同样会导致鼠标定位不准确的问题产生。
为解决上述问题,本发明技术方案提供一种空间鼠标的数据处理方法,所述空间鼠标包括适于采集空间坐标数据的惯性器件,所述方法包括:记录所述惯性器件关闭前最后一次采集到的空间坐标数据;在所述惯性器件重新开启后,获取当前空间坐标的补偿值,所述当前空间坐标的补偿值为前一次采集到的空间坐标数据和所记录的空间坐标数据的差值;采用所述当前空间坐标的补偿值对当前采集到的空间坐标数据进行补偿,以获得当前空间坐标数据的输出值。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
实施例一
在本实施例中,在空间鼠标重新开启后,对当前采集到的空间坐标数据进行补偿,通过对当前采集到的空间坐标数据的补偿,使得在空间鼠标所含有的惯性器件由关闭状态到再次打开后,当前采集到的空间坐标数据和上次关闭惯性器件前所采集到的空间坐标数据处于同一个坐标系中,即使得惯性器件在再次打开和上次关闭前的空间坐标系的零点坐标(空间坐标系的坐标原点)重合在一起,这样就使得得到的空间坐标数据是基于同一个坐标系确定的,对于同一个位置空间鼠标所输出的空间坐标数据是唯一的,不会由于关闭或者开启惯性器件而有所不同。
在本实施例中,采用迭代的算法使得惯性器件在重新开启后和上次关闭惯性器件前获取空间坐标数据的坐标系的零点坐标(坐标系的坐标原点)重合在一起。
如图1所示,在空间鼠标运行的过程中,通过惯性器件采集空间鼠标的空间坐标数据,图中所示的点(如点L、点A、点B、点C)的位置就是每次采集到的空间鼠标的空间坐标数据。假设轨迹a是惯性器件关闭前的空间鼠标的运行轨迹,其中,点L为所述惯性器件关闭前空间鼠标最后位于空间的位置,在点L处惯性器件采集的空间坐标数据为(x,y,z),在此将点L的空间坐标数据记为L(x,y,z),假设轨迹b是惯性器件重新开启后的空间鼠标的运行轨迹,点A为惯性器件重新开启后空间鼠标运动的起始点位置,在空间鼠标从点A开始运行时,惯性器件首先采集所述空间鼠标在点A处的空间坐标数据(x1,y1,z1),在此记为A(x1,y1,z1),空间鼠标由点A运动到点B时,惯性器件采集所述空间鼠标在点B处的空间坐标数据(x2,y2,z2),在此记为B(x2,y2,z2),在空间鼠标由点B运动到C点时,惯性器件采集所述空间鼠标在点C处的空间坐标数据(x3,y3,z3),在此记为C(x3,y3,z3),依次类推。
为了使惯性器件在重新开启后和上次关闭惯性器件前获取空间坐标数据的坐标系的零点坐标重合在一起,需要对所述惯性器件每次所采集到的空间坐标数据进行补偿,即需要对惯性器件在点A、B、C以及后续的各点所采集的空间坐标数据进行补偿,在本实施例中,利用前一次采集的空间坐标数据和惯性器件关闭前最后一次采集到的空间坐标数据的差值对当前采集到的空间坐标数据进行补偿。
举例来说,在空间鼠标运行的过程中,当空间鼠标由点A运行到点B的时候,可以用前一次在点A采集的空间坐标数据和惯性器件关闭前在最后一次在点L采集到的空间坐标数据的差值对当前采集到的点B的空间坐标数据进行补偿。具体地,首先计算点A的空间坐标数据A(x1,y1,z1)和点L的空间坐标数据L(x,y,z)之间的差值,所述差值为点A和点L之间的矢量差值,在此将所述差值记为Δm,用Δm的值对当前采集到的点B的空间坐标数据B(x2,y2,z2)进行补偿,将B(x2,y2,z2)和Δm的和值作为点B的空间坐标数据补偿后的值,即作为点B的空间坐标数据的最终输出值,在此记为B(x2L,y2L,z2L)。
在所述空间鼠标继续从点B运行到点C的时候,可以用前一次在点B采集的空间坐标数据和惯性器件关闭前在最后一次在点L采集到的空间坐标数据的差值对当前采集到的点C的空间坐标数据进行补偿,在对点C的空间坐标数据C(x3,y3,z3)进行补偿时,用点B的空间坐标数据B(x2,y2,z2)和点L的空间坐标数据L(x,y,z)之间的差值对其进行补偿,将点B的空间坐标数据B(x2,y2,z2)和点L的空间坐标数据L(x,y,z)之间的矢量差值记为Δn,将C(x3,y3,z3)和Δn的和值作为点C的空间坐标数据补偿后的值,即作为点C的空间坐标数据的最终输出值,在此记为C(x3L,y3L,z3L)。
依次类推,采用上述迭代的过程依次对惯性器件重新开启后运行轨迹中的各点所采集到的空间坐标数据进行补偿,如上所述,由前一次采集的空间坐标数据(例如A(x1,y1,z1))和惯性器件关闭前最后一次采集到的空间坐标数据(L(x,y,z))的差值(例如Δm)对当前采集到的空间坐标数据(例如B(x2,y2,z2))进行补偿,以获得当前空间当前坐标数据的最终输出值(例如B(x2L,y2L,z2L))。
需要说明的是,通过上述迭代过程可以看出,对于初始点A的空间坐标数据,由于A(x1,y1,z1)是惯性器件重新开启后第一次采集到的空间坐标数据,其前一次采集的空间坐标数据实际是惯性器件关闭前最后一次采集到的空间坐标数据,如果用上述补偿的方法,由前一次采集的空间坐标数据(对于A点而言,即为惯性器件关闭前最后一次采集到的空间坐标数据)和惯性器件关闭前最后一次采集到的空间坐标数据的差值(所述差值在此计算结果为0)对在A点采集到的空间坐标数据进行补偿,则相当于没有对A点的空间坐标数据进行补偿,A点的空间坐标数据仍是有问题的,所以在具体实施时,对于点A的空间坐标数据A(x1,y1,z1)通常可以不进行输出,即丢弃点A的空间坐标数据的输出值。
在上述迭代的过程中,如果由前一次采集的空间坐标数据和惯性器件关闭前最后一次采集到的空间坐标数据的差值逐渐的缩小,当所述差值趋近于0的时候,即对当前所采集到的空间坐标数据的补偿值趋近于0的时候,说明不再需要对当前所采集到的空间坐标数据进行补偿,即说明当前惯性器件所采集的空间坐标数据所在的坐标系和上次关闭所述惯性器件前所采集的空间坐标数据所在的坐标系基本上处于同一个坐标系,即惯性器件在重新开启时和上次关闭前的坐标系的零点坐标重合在一起,此时输出的惯性器件所采集的空间坐标数据误差已基本上消除,可以直接将惯性器件所采集的空间坐标数据作为空间坐标数据的输出值。
基于上述说明,本实施例提供的空间鼠标的数据处理方法如图2所示,首先执行步骤S201,记录所述惯性器件关闭前最后一次采集到的空间坐标数据。
执行步骤S202,在所述惯性器件重新开启后,获取当前空间坐标的补偿值。
所述当前空间坐标的补偿值为前一次采集到的空间坐标数据和所记录的空间坐标数据的差值。
执行步骤S203,丢弃所述惯性器件重新开启后第一次获得的空间坐标数据的输出值。
执行步骤S204,采用所述当前空间坐标的补偿值对当前采集到的空间坐标数据进行补偿。
将当前采集到的空间坐标数据加上在步骤S202中得到的补偿值作为当前空间坐标数据的输出值。
执行步骤S205,当所述当前空间坐标的补偿值达到补偿阈值,则不再对当前采集到的空间坐标数据进行补偿。
所述补偿阈值可以根据实际系统的处理能力以及对于空间坐标数据精确性的具体要求进行设定,可以设定为一个接近于0的一个阈值,在本实施例中,所述补偿阈值设置为0。
通过本实施例可以看出,通过对当前采集到的空间坐标数据进行补偿,获得当前空间坐标数据的输出值的方法,可以使得惯性器件重新开启后所采集到的空间坐标数据和前一次关闭所述惯性器件前所采集的空间坐标数据处于同一个空间坐标体系中,有效解决了重新开启惯性器件后由于零点位置的不同,所导致的输出的空间坐标数据存在误差的问题,使得采集到的空间坐标数据精确和可靠。
实施例二
本实施例是在基于实施例一获得补偿后的空间坐标数据的输出值,获得空间鼠标的位移变化量的过程中,对惯性器件开启后第一次计算得到的空间鼠标的位移变化量进行滤除。
在基于实施例一获得空间坐标数据的输出值后,可以由当前空间坐标数据的输出值和前一次空间坐标数据的输出值获得空间鼠标的位移变化量。
在实际应用中,用户经常会根据各种实际使用需求,短时间或者长时间关闭空间鼠标的惯性器件。但在重新打开惯性器件的时候,初始点位置的位移变化量就会有问题。这是因为所述位移变化量是由当前采集到的空间坐标数据和所记录的前一次采集的空间坐标数据的差值,而在短时间或者长时间关闭空间鼠标的惯性器件时,空间鼠标系统在惯性器件关闭的这段时间是无法检测到惯性器件的运动过程的,系统所记录的最后的空间坐标数据是在所述惯性器件关闭前最后一次采集到的空间坐标数据,在惯性器件重新开启时,对于初始点位置而言,其前一次采集的空间坐标数据为所述惯性器件关闭前最后一次采集到的空间坐标数据,由此计算出的初始点位置的空间鼠标的位移变化量可能是有问题的,因为惯性器件在关闭和重新开启时通常都不会是处于同一位置或相近位置的。
在本实施例中,在惯性器件开启后,丢弃所述惯性器件开启后第一次计算得到的空间鼠标的位移变化量(即上述初始点位置的位移变化量),而由于在此之后计算得到的空间鼠标的位移变化量不存在如计算初始点位置时的问题,所以可以直接输出所述空间鼠标的位移变化量。
图3是本实施例提供的空间鼠标的数据处理方法的流程示意图,如图3所示,首先执行步骤S301,获得当前空间坐标数据的输出值。
步骤S301可以参考实施例一步骤S201至步骤S205。在其他实施例中,也可以采用现有技术中的多种方法获得当前空间坐标数据的输出值,而不采用如实施例一步骤S201至步骤S205所提供的对空间坐标数据进行补偿的方法获得当前空间坐标数据的输出值。
步骤S302,由当前空间坐标数据的输出值和前一次空间坐标数据的输出值计算空间鼠标的位移变化量。
步骤S303,判断数据丢弃标志位是否置位。
在本实施例中,可以预先设置一个数据丢弃标志位,用于标示计算得到的空间鼠标的位移变化量是否被丢弃,此数据丢弃标志位在空间鼠标初始化时或者惯性器件关闭时复位。在惯性器件第一次开启或重新开启后的第一次计算得到的空间鼠标的位移变化量是需要丢弃的,在丢弃所述惯性器件第一次开启或重新开启后第一次计算得到的空间鼠标的位移变化量后,对所述数据丢弃标志位置位。
在此步骤中,判断数据丢弃标志位是否置位,如果是,则执行步骤S305,否则执行步骤S304。
步骤S304,丢弃所述空间鼠标的位移变化量,对数据丢弃标志位置位。也就是说,对于惯性器件第一次开启或重新开启后的第一次计算得到的空间鼠标的位移变化量直接丢弃,不需要进行后续的数据处理。
在数据丢弃标志位没有被置位的时候,即复位的情况下,标志着当前得到的这包数据就是惯性器件第一次开启或者是重新开启后,第一次计算得到的空间鼠标的位移变化量,而所述第一次计算得到的空间鼠标的位移变化量如上所述是有问题的,此时丢弃所述当前空间鼠标的位移变化量,并对数据丢弃标志位置位。
在丢弃第一次计算得到的空间鼠标的位移变化量后,继续获取之后的空间坐标数据的输出值,并计算所述空间鼠标的位移变化量,即返回执行步骤S301。
需要说明的是,在空间鼠标初始化(第一次开启空间鼠标)时,不存在前一次空间坐标数据的输出值,此时,可以预先设置前一次空间坐标数据的输出值为0,计算初始点位置的位移变化量时,可以用当前空间坐标数据的输出值和0的差值,即用当前空间坐标数据的输出值作为第一次计算得到的空间鼠标的位移变化量,在此步骤中,丢弃所述第一次计算得到的空间鼠标的位移变化量,并对数据丢弃标志位置位。
步骤S305,输出所述空间鼠标的位移变化量。
在数据丢弃标志位被置位的时候,标志着惯性器件开启后,第一次计算得到的空间鼠标的位移变化量已被丢弃,此时得到的空间鼠标的位移变化量为正确的,可以直接输出所述空间鼠标的位移变化量,以进行后续的数据处理。
在惯性器件每次采集空间坐标数据后都可以执行本实施例的步骤S301至S305。本实施例的空间鼠标的数据处理方法,不仅有效解决重新开启惯性器件后由于零点位置的不同,所导致的输出的空间坐标数据存在误差的问题;而且,在本实施例中,在开启了惯性器件后,通过在得到空间鼠标的位移变化量时先滤除初始点位置的位移变化量,可以有效避免因开启惯性器件后第一次计算得到的空间鼠标的位移变化量存在误差而导致后续数据处理不准确的问题。
实施例三
本实施例是在基于实施例一获得补偿后的空间坐标数据的输出值,获得空间鼠标的位移变化量的过程中,根据空间鼠标的不同的运动状态,对空间鼠标的位移变化量进行修正。
在基于实施例一获得空间坐标数据的输出值后,可以由当前空间坐标数据的输出值和前一次空间坐标数据的输出值获得空间鼠标的位移变化量,在现有技术中,为解决各种因素对空间鼠标的数据处理准确性的影响,已有多种对于空间鼠标在运动过程中的位移变化量dx、dy进行补偿的方法,但却没有涉及到根据空间鼠标的运动状态来修正位移变化量dx、dy。其中,dx为位移变化量在x方向上的分量,dy为所述位移变化量在y方向上的分量。通常,x方向对应屏幕的水平方向,y方向对应屏幕的竖直方向,z方向垂直x方向和y方向。
在空间鼠标的实际使用中,当空间鼠标运动的时候,可以通过z方向上的数据对空间鼠标的旋转角度等进行补偿,进而得到空间鼠标在运动过程中的位移变化量dx和dy。正常情况下,z方向上的数据是会受到重力加速度影响的,会以重力加速度作为参考点的,但当空间鼠标处于垂直状态下运动的时候,此时z方向上重力加速度的值接近于所述重力加速度的参考点的零点,即此时相当于没有重力加速度做参考,则测得的z方向上的数据是有误差,测得的值会比较大,而用一个比较大的值对空间鼠标的旋转角度等进行补偿时,得到的空间鼠标在运动过程中的位移变化量dx和dy也是偏大的,空间鼠标运动时越垂直,则得到的位移变化量dx和dy值也就越偏大。
同理,对于空间鼠标处于水平状态下的运动,以及处于侧立状态下的运动,也会由于重力加速度的原因,而导致输出的空间鼠标的位移变化量在x方向的分量dx以及在y方向上的分量dy的值可能会有误差。
在本实施例中,基于所述空间鼠标的运动状态,修正所述空间鼠标的位移变化量。
所述空间鼠标的运动状态可以根据重力加速度传感器的数据进行判断,所述运动状态可以为水平状态下的运动、垂直状态下的运动以及侧立状态下的运动等。
图4是本实施例提供的空间鼠标的数据处理方法的流程示意图,主要示出了对于空间鼠标处于不同运动状态时,修正所述空间鼠标的位移变化量的具体流程。
如图4所示,首先执行步骤S401,获得当前空间坐标数据的输出值。步骤S401可以参考实施例一步骤S201至步骤S205。
步骤S402,由当前空间坐标数据的输出值和前一次空间坐标数据的输出值计算空间鼠标的位移变化量。
步骤S403,判断空间鼠标的运动状态。
根据重力加速度传感器的数据判断当前空间鼠标的运动状态。例如,在所述空间鼠标在运动的过程中可以通过重力加速度传感器测量得到的直线加速度等参数信息而得到基于重力加速度传感器的空间坐标数据,根据前后至少两次得到的基于重力加速度传感器的空间坐标数据来判断当前空间鼠标的运动状态。
具体地,如果空间鼠标输出的位移变化量在z方向上的分量没有变化时,仅在y方向上的分量有变化时,判断当前空间鼠标处于水平状态下运动,此时执行步骤S404,确定当前空间鼠标为水平状态下运动。
如果空间鼠标输出的位移变化量仅在z方向上的分量有变化时,而在x方向上和y方向的分量均没有变化时,判断当前空间鼠标处于垂直状态下运动,此时执行步骤S405,确定当前空间鼠标为垂直状态下运动。
如果空间鼠标输出的位移变化量仅在x方向上的分量有变化量时,而在y方向上和z方向的分量均没有变化时,判断当前空间鼠标处于侧立状态下运动,此时执行步骤S406,确定当前空间鼠标为侧立状态下运动。
然后根据空间鼠标的不同的运动状态,对空间鼠标的位移变化量进行修正。具体地,若所述空间鼠标在水平状态下运动,则可以不进行任何修正;若所述空间鼠标在垂直状态下运动,当空间鼠标的空间坐标数据在z方向的输出值越大,所述空间鼠标的位移变化量在x方向和y方向上的分量缩小程度越小,当空间鼠标的空间坐标数据在z方向的输出值越小(即空间鼠标越垂直的时候),所述空间鼠标的位移变化量在x方向和y方向上的分量缩小程度越大;若所述空间鼠标在侧立状态下运动,当空间鼠标的空间坐标数据在z方向的输出值越大,所述空间鼠标的位移变化量在y方向上的分量放大程度越小,当空间鼠标的空间坐标数据在z方向的输出值越大,所述空间鼠标的位移变化量在y方向上的分量放大程度越大。
在由步骤S404确定当前空间鼠标为水平状态下运动时,执行步骤S407,保持所述空间鼠标的位移变化量。
由于水平状态下运动时,重力加速度对于空间鼠标运动的影响基本可以忽略不计,所以对于由步骤S402所获得的空间鼠标位移变化量可以不进行任何修正,直接输出即可。
在由步骤S405确定当前空间鼠标为垂直状态下运动时,执行步骤S408,缩小所述空间鼠标的位移变化量在x方向和y方向上的分量。
当空间鼠标为垂直状态下运动时,由于受重力加速度的影响,得到的dx和dy是偏大的,此时应该适当的对dx和dy进行衰减,即缩小所述空间鼠标的位移变化量在x方向和y方向上的分量。
本实施例中,所述缩小所述空间鼠标的位移变化量在x方向和y方向上的分量通过下述方式实现:所述空间鼠标的位移变化量在x方向上的分量dx缩小为(f(z)/a)×dx,所述空间鼠标的位移变化量在y方向上的分量dy缩小为(f(z)/a)×dy,其中,f(z)是基于重力加速度传感器的空间坐标数据在z方向的数据,a为衰减系数,1≤a≤5。
进一步,还可以预先设置分量阈值,用于控制dx以及dy缩小的程度。举例来说,可以预先设置分别对应于dx和dy的分量阈值(单位为长度单位),若缩小后的所述空间鼠标的位移变化量在x方向上的分量大于对应于dx的分量阈值,则将所述空间鼠标的位移变化量在x方向上的分量强制设置为该对应于dx的分量阈值;若缩小后的所述空间鼠标的位移变化量在y方向上的分量大于对应于dy的分量阈值,则将所述空间鼠标的位移变化量在y方向上的分量强制设置为该对应于dy的分量阈值。所述对应于dx的分量阈值和对应于dy的分量阈值为经验值,可以根据实际应用设置为同样的数值,例如100,也可以设置为不同的数值,在此不做限定。
在由步骤S406确定当前空间鼠标为侧立状态下运动时,执行步骤S409,放大所述空间鼠标的位移变化量在y方向上的分量。
当空间鼠标处于侧立状态下运动的时候,此时重力加速度对y方向上的运动会影响最大,相对于z方向上的数据,此时相当于以较大的重力加速度做参考,测得的z方向上的数据值相对来说会比较小,用一个比较小的值对空间鼠标的旋转角度等进行补偿时,得到的空间鼠标在运动过程中的位移变化量dy也是偏小的,此时应该适当的对dy进行放大,即放大所述空间鼠标的位移变化量在y方向上的分量。
本实施例中,所述放大所述空间鼠标的位移变化量在y方向上的分量通过下述方式实现:所述空间鼠标的位移变化量在y方向上的分量dy放大为(b/f(z))×dy,其中,f(z)是基于重力加速度传感器的空间坐标数据在z方向的数据,b为放大系数,1≤b≤5。
执行步骤S410,输出所述空间鼠标的位移变化量。
将上述根据空间鼠标的不同运动状态,修正后的空间鼠标的位移变化量作为最终值进行输出。
在惯性器件每次采集空间坐标数据后都可以执行本实施例的步骤S401至S410。本实施例的空间鼠标的数据处理方法,不仅有效解决重新开启惯性器件后由于零点位置的不同,所导致的输出的空间坐标数据存在误差的问题。而且,在本实施例中,考虑到在输出空间鼠标的位移变化量的过程中,由于重力加速度的原因,使输出的空间鼠标的位移变化量会因为运动状态的不同(水平、垂直以及侧立状态下的运动)而产生不同的误差,因此根据所述空间鼠标的运动状态,对输出的空间鼠标的位移变化量进行相应的修正,从而可以使输出的空间鼠标的位移变化量更为准确。
实施例四
本实施例是在基于实施例一获得补偿后的空间坐标数据的输出值,获得空间鼠标的位移变化量的过程中,先对惯性器件开启后第一次计算得到的空间鼠标的位移变化量进行滤除,然后根据空间鼠标的不同的运动状态,对空间鼠标的位移变化量进行修正。
如图5所示,首先执行步骤S501,获取当前空间坐标数据的输出值,可以参考实施例一步骤S201至步骤S205。
然后执行步骤S502,由当前空间坐标数据的输出值和前一次空间坐标数据的输出值计算空间鼠标的位移变化量。
在得到所述空间鼠标的位移变化量后,首先对所述空间鼠标的位移变化量的初始点位置的数据进行滤除。具体地,执行步骤S503和步骤S504,可以参考实施例二的步骤S303和S304。
接着,根据空间鼠标不同的运动状态,对空间鼠标的位移变化量进行修正。具体地,执行步骤S505至步骤S511,具体可以参考实施例三步骤S403至步骤S409。
执行步骤S512,输出所述空间鼠标的位移变化量。
将上述根据空间鼠标的不同运动状态,修正后的空间鼠标的位移变化量作为最终值进行输出。
需要说明的是,在步骤S503的判断结果为是之后且执行步骤S505之前,或者在步骤S509、S510或S511执行之后且执行步骤S512之前,还可以根据实际应用情况,进一步采用一些现有的对位移变化量dx、dy进行修正或补偿的方法,以消除其他因素对空间鼠标的位移变化量的影响,可以使得最终输出空间鼠标的位移变化量更为精确。
本实施例的空间鼠标的数据处理方法,不仅有效解决重新开启惯性器件后由于零点位置的不同,所导致的输出的空间坐标数据存在误差的问题。而且,本实施例的空间鼠标的数据处理方法也可以有效避免因开启惯性器件后第一次计算得到的空间鼠标的位移变化量存在误差的问题和由于重力加速度的原因使输出的空间鼠标的位移变化量因为运动状态的不同而产生误差的问题。
实施例五
本实施例是在基于实施例一获得补偿后的空间坐标数据的输出值,获得空间鼠标的位移变化量的过程中,针对空间鼠标在短时间关闭坐标输出但不关闭惯性器件的情况下进行的数据处理。
在空间鼠标的使用过程中,可以通过对空间鼠标上特定的按键操作发出用于关闭坐标输出功能的坐标输出关闭命令,以控制空间鼠标暂停向接收终端(如控制屏幕鼠标指针移动的计算机等处理设备)发送坐标数据(如空间鼠标的位移量或空间坐标数据的输出值),但此时并不关闭惯性器件,即惯性器件仍然不间断地采集所述空间鼠标的空间坐标数据。通常,考虑到系统功耗的问题,在接收到坐标输出关闭命令后,如果在预设时间范围内,没有再次收到坐标输出开启命令,系统可以自动关闭空间鼠标的惯性器件。
而如果在短时间(如上述的预设时间范围)关闭坐标输出的情况下,也按照实施例一所述的通过迭代的方法对采集到的空间坐标数据进行补偿或者仍然计算空间鼠标的位移变换量,则可能会有以下问题:由于系统进行补偿和计算是需要一定的系统消耗的,而在坐标输出关闭的短时间内并不需要输出坐标数据,短时间内的补偿计算反而会造成不必要的系统消耗。考虑到上述问题,在这段短时间内,也可以不进行空间坐标数据的补偿和空间鼠标的位移变化量的计算以降低对系统的消耗。因此,针对空间鼠标在短时间关闭坐标输出但不关闭惯性器件的情况,本实施例的空间鼠标的数据处理方法在收到坐标输出关闭命令时,继续采集空间坐标数据并对其进行记录,但并不计算所述空间鼠标的位移变化量,如果在预设的时间范围内再次接收到坐标输出开启命令,则可以直接由当前采集的空间坐标数据以及记录的前一次空间坐标数据计算所述空间鼠标的位移变化量,可以快速、准确获得所述空间鼠标的位移变化量。
所述预设时间范围应该是一个合理的时间范围,如果设置的太短,则可能会频繁关闭和开启惯性器件,由此造成不必要的系统消耗;如果设置的太长,系统在不需要输出坐标数据的情况下,一直采集和记录空间坐标数据也会产生系统消耗。当然,如果不考虑功耗问题,预设时间范围也可以设置的长些。本实施例中,所述预设时间范围设置为5s。
如图6所示的本实施例的空间鼠标的数据处理方法,首先执行步骤S601,获得当前空间坐标数据的输出值。可以参考实施例一步骤S201至步骤S205。
执行步骤S602和步骤S603,由当前空间坐标数据的输出值和前一次空间坐标数据的输出值计算空间鼠标的位移变化量,然后输出所述空间鼠标的位移变化量。
执行步骤S604,判断是否收到坐标输出关闭命令。
系统实时判断是否收到坐标输出关闭命令,如果是,则执行步骤S605;如果否,则继续由空间坐标数据计算和输出所述空间鼠标的位移变化量,即返回执行步骤S601。
步骤S605,记录所述惯性器件采集的空间坐标数据。
由于此时已收到坐标输出关闭命令,则不需要再计算所述空间鼠标的位移变化量,而记录所述惯性器件采集的空间坐标数据,是为了在预设时间范围内再次收到坐标输出开启命令的时候,可以直接由最后一次记录的空间坐标数据计算所述空间鼠标的位移变化量。
执行步骤S606,判断是否收到坐标输出开启命令,如果是,则恢复计算并输出空间鼠标的位移变化量,即返回执行步骤S601;如果否,则执行步骤S607,判断坐标输出关闭命令所持续的时间是否超过5s。
如果步骤S607的判断结果为是,也就是5s内都没有收到坐标输出开启命令,则执行步骤S608,关闭空间鼠标的惯性器件;如果步骤S607的判断结果为否,则执行步骤S609,采集当前空间坐标数据,然后执行步骤S605,记录惯性器件采集的空间坐标数据。
需要说明的是,如果在超过5s后,再次收到坐标输出开启命令,则先开启惯性器件,然后从步骤S601开始执行。
本实施例的空间鼠标的数据处理方法,在接收到坐标输出关闭命令后,在预设时间范围内停止空间坐标数据的补偿、空间鼠标的位移变化量的计算和输出,可以降低系统功耗;并且,在预设时间范围内继续记录所述惯性器件采集的空间坐标数据,使得在预设时间范围内再次收到坐标输出开启命令的时候,可以根据记录的惯性器件采集的空间坐标数据快速、准确计算得到空间鼠标的位移变化量。
实施例六
本实施例是在基于实施例一获得补偿后的空间坐标数据的输出值,获得空间鼠标的位移变化量的过程中,根据空间鼠标的不同的运动状态,对空间鼠标的位移变化量进行修正,并针对空间鼠标在短时间关闭坐标输出但不关闭惯性器件的情况下进行的数据处理。
如图7所示,首先执行步骤S701,获得当前空间坐标数据的输出值。可以参考实施例一步骤S201至步骤S205。
执行步骤S702,由当前空间坐标数据的输出值和前一次空间坐标数据的输出值计算空间鼠标的位移变化量。
执行步骤S703和步骤S704,根据空间鼠标不同的运动状态,对空间鼠标的位移变化量进行修正。具体可以参考实施例三步骤S403至步骤S409。
执行步骤S705,输出所述空间鼠标的位移变化量。
执行步骤S706至步骤S711,针对空间鼠标在短时间关闭坐标输出但不关闭惯性器件的情况下进行数据处理,具体可以参考实施例五步骤S604至步骤S609。
本实施例的空间鼠标的数据处理方法,不仅有效解决重新开启惯性器件后由于零点位置的不同,所导致的输出的空间坐标数据存在误差的问题。而且,本实施例的空间鼠标的数据处理方法也可以有效避免由于重力加速度的原因使输出的空间鼠标的位移变化量因为运动状态的不同而产生误差的问题。而且针对空间鼠标在短时间关闭坐标输出但不关闭惯性器件的情况进行数据处理,可以有效降低系统功耗,可以快速、准确得到空间鼠标的位移变化量。
实施例七
本实施例是在基于实施例一获得补偿后的空间坐标数据的输出值,获得空间鼠标的位移变化量的过程中,先对惯性器件开启后第一次计算得到的空间鼠标的位移变化量进行滤除,然后针对空间鼠标在短时间关闭坐标输出但不关闭惯性器件的情况下进行的数据处理。
如图8所示,首先执行步骤S801,获得当前空间坐标数据的输出值,可以参考实施例一步骤S201至步骤S205。
步骤S802,由当前空间坐标数据的输出值和前一次空间坐标数据的输出值计算空间鼠标的位移变化量。
在得到所述空间鼠标的位移变化量后,首先对所述空间鼠标的位移变化量的初始点位置的数据进行滤除。具体地,执行步骤S803和步骤S804,可以参考实施例二的步骤S303和S304。
在对空间鼠标的位移变化量的初始点位置的数据滤除之后,执行步骤S805,输出所述空间鼠标的位移变化量。
执行步骤S806至步骤S811,针对空间鼠标在短时间关闭坐标输出但不关闭惯性器件的情况下进行数据处理,具体可以参考实施例五步骤S604至步骤S609。
本实施例的空间鼠标的数据处理方法,不仅有效解决重新开启惯性器件后由于零点位置的不同,所导致的输出的空间坐标数据存在误差的问题。而且,本实施例的空间鼠标的数据处理方法也可以有效避免因开启惯性器件后第一次计算得到的空间鼠标的位移变化量存在误差的问题,而且针对空间鼠标在短时间关闭坐标输出但不关闭惯性器件的情况进行数据处理,可以有效降低系统功耗,并可以快速、准确得到空间鼠标的位移变化量。
实施例八
本实施例是在基于实施例一获得补偿后的空间坐标数据的输出值,获得空间鼠标的位移变化量的过程中,先对惯性器件开启后第一次计算得到的空间鼠标的位移变化量进行滤除,然后根据空间鼠标的不同的运动状态,对空间鼠标的位移变化量进行修正,并针对空间鼠标在短时间关闭坐标输出但不关闭惯性器件的情况下进行的数据处理。
如图9所示,首先执行步骤S901,获得当前空间坐标数据的输出值。可以参考实施例一步骤S201至步骤S205。
步骤S902,由当前空间坐标数据的输出值和前一次空间坐标数据的输出值计算空间鼠标的位移变化量。
执行步骤S903和步骤S904,对所述空间鼠标的位移变化量的初始点位置的数据进行滤除,可以参考实施例二的步骤S303和S304。
接着,根据空间鼠标不同的运动状态,对空间鼠标的位移变化量进行修正。具体地,执行步骤S905和步骤S906,具体可以参考实施例三步骤S403至步骤S409。
执行步骤S907,输出所述空间鼠标的位移变化量。
执行步骤S908至步骤S913,针对空间鼠标在短时间关闭坐标输出但不关闭惯性器件的情况下进行数据处理,具体可以参考实施例五步骤S604至步骤S609。
本实施例的空间鼠标的数据处理方法,不仅有效解决重新开启惯性器件后由于零点位置的不同,所导致的输出的空间坐标数据存在误差的问题。而且,本实施例的空间鼠标的数据处理方法也可以有效避免因开启惯性器件后第一次计算得到的空间鼠标的位移变化量存在误差的问题和由于重力加速度的原因使输出的空间鼠标的位移变化量因为运动状态的不同而产生误差的问题。而且针对空间鼠标在短时间关闭坐标输出但不关闭惯性器件的情况进行数据处理,可以有效降低系统功耗,并可以快速、准确得到空间鼠标的位移变化量。
通过本实施例所提供的方法,可以使得空间鼠标的各个阶段所得到的数据都准确、有效。
本发明技术方案还提供了一种鼠标指针的控制方法,所述方法采用上述空间鼠标的数据处理方法获取所述空间鼠标的位移变化量,根据所述空间鼠标的位移变化量控制鼠标指针的移动。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (21)

1.一种空间鼠标的数据处理方法,所述空间鼠标包括适于采集空间坐标数据的惯性器件,其特征在于,包括:
记录所述惯性器件关闭前最后一次采集到的空间坐标数据;
在所述惯性器件重新开启后,获取当前空间坐标的补偿值,所述当前空间坐标的补偿值为前一次采集到的空间坐标数据和所记录的空间坐标数据的差值;
采用所述当前空间坐标的补偿值对当前采集到的空间坐标数据进行补偿,以获得当前空间坐标数据的输出值。
2.如权利要求1所述的空间鼠标的数据处理方法,其特征在于,还包括:当所述当前空间坐标的补偿值达到补偿阈值,则不再对当前采集到的空间坐标数据进行补偿。
3.如权利要求2所述的空间鼠标的数据处理方法,其特征在于,所述补偿阈值为0。
4.如权利要求1所述的空间鼠标的数据处理方法,其特征在于,还包括:丢弃所述惯性器件重新开启后第一次获得的空间坐标数据的输出值。
5.如权利要求1所述的空间鼠标的数据处理方法,其特征在于,还包括:基于所述空间坐标数据的输出值获得所述空间鼠标的位移变化量。
6.如权利要求5所述的空间鼠标的数据处理方法,其特征在于,所述基于所述空间坐标数据的输出值获得所述空间鼠标的位移变化量包括:
由当前空间坐标数据的输出值和前一次空间坐标数据的输出值计算所述空间鼠标的位移变化量。
7.如权利要求5所述的空间鼠标的数据处理方法,其特征在于,所述基于所述空间坐标数据的输出值获得所述空间鼠标的位移变化量包括:
若未接收到坐标输出关闭命令或在接收到坐标输出关闭命令后预设时间范围内接收到坐标输出开启命令,则由当前空间坐标数据的输出值和前一次空间坐标数据的输出值计算所述空间鼠标的位移变化量;
若接收到坐标输出关闭命令,则停止计算所述空间鼠标的位移变化量;
若在接收到坐标输出关闭命令后预设时间范围内未接收到坐标输出开启命令,则关闭所述惯性器件。
8.如权利要求7所述的空间鼠标的数据处理方法,其特征在于,还包括:在接收到坐标输出关闭命令后预设时间范围内记录所述惯性器件采集的空间坐标数据。
9.如权利要求7所述的空间鼠标的数据处理方法,其特征在于,所述预设时间范围大于或等于5s。
10.如权利要求6或7所述的空间鼠标的数据处理方法,其特征在于,所述基于所述空间坐标数据的输出值获得所述空间鼠标的位移变化量还包括:丢弃所述惯性器件重新开启后第一次计算得到的空间鼠标的位移变化量。
11.如权利要求10所述的空间鼠标的数据处理方法,其特征在于,所述基于所述空间坐标数据的输出值获得所述空间鼠标的位移变化量还包括:在丢弃所述惯性器件重新开启后第一次计算得到的空间鼠标的位移变化量后,对数据丢弃标志位置位;所述数据丢弃标志位在空间鼠标初始化时和惯性器件关闭时复位。
12.如权利要求5所述的空间鼠标的数据处理方法,其特征在于,还包括:基于所述空间鼠标的运动状态,修正所述空间鼠标的位移变化量。
13.如权利要求12所述的空间鼠标的数据处理方法,其特征在于,所述空间鼠标的运动状态由重力加速度传感器的数据获得,所述运动状态包括水平状态下的运动、垂直状态下的运动和侧立状态下的运动。
14.如权利要求12所述的空间鼠标的数据处理方法,其特征在于,所述基于所述空间鼠标的运动状态,修正所述空间鼠标的位移变化量包括:
若所述空间鼠标在水平状态下运动,则保持所述空间鼠标的位移变化量;
若所述空间鼠标在垂直状态下运动,则缩小所述空间鼠标的位移变化量在x方向和y方向上的分量;
若所述空间鼠标在侧立状态下运动,则放大所述空间鼠标的位移变化量在y方向上的分量。
15.如权利要求14所述的空间鼠标的数据处理方法,其特征在于,所述若所述空间鼠标在垂直状态下运动,缩小所述空间鼠标的位移变化量在x方向和y方向上的分量包括:空间鼠标的空间坐标数据在z方向的输出值越大,所述空间鼠标的位移变化量在x方向和y方向上的分量缩小程度越小,空间鼠标的空间坐标数据在z方向的输出值越小,所述空间鼠标的位移变化量在x方向和y方向上的分量缩小程度越大。
16.如权利要求14或15所述的空间鼠标的数据处理方法,其特征在于,所述若所述空间鼠标在垂直状态下运动,缩小所述空间鼠标的位移变化量在x方向和y方向上的分量通过下述方式实现:
所述空间鼠标的位移变化量在x方向上的分量dx缩小为(f(z)/a)×dx,所述空间鼠标的位移变化量在y方向上的分量dy缩小为(f(z)/a)×dy,其中,f(z)是空间鼠标的空间坐标数据在z方向的输出值,a为衰减系数,1≤a≤5。
17.如权利要求14所述的空间鼠标的数据处理方法,其特征在于,所述若所述空间鼠标在垂直状态下运动,缩小所述空间鼠标的位移变化量在x方向和y方向上的分量还包括:若缩小后的所述空间鼠标的位移变化量在x方向和y方向上的分量大于分量阈值,则将所述空间鼠标的位移变化量在x方向和y方向上的分量设置为所述分量阈值。
18.如权利要求17所述的空间鼠标的数据处理方法,其特征在于,所述分量阈值为100。
19.如权利要求14所述的空间鼠标的数据处理方法,其特征在于,所述若所述空间鼠标在侧立状态下运动,放大所述空间鼠标的位移变化量在y方向上的分量包括:空间鼠标的空间坐标数据在z方向的输出值越大,所述空间鼠标的位移变化量在y方向上的分量放大程度越小,空间鼠标的空间坐标数据在z方向的输出值越大,所述空间鼠标的位移变化量在y方向上的分量放大程度越大。
20.如权利要求14或19所述的空间鼠标的数据处理方法,其特征在于,所述若所述空间鼠标在侧立状态下运动,放大所述空间鼠标的位移变化量在y方向上的分量通过下述方式实现:
所述空间鼠标的位移变化量在y方向上的分量dy放大为(b/f(z))×dy,其中,f(z)是空间鼠标的空间坐标数据在z方向的输出值,b为放大系数,1≤b≤5。
21.一种鼠标指针的控制方法,其特征在于,包括:
采用权利要求1至20任一项所述的空间鼠标的数据处理方法获取所述空间鼠标的位移变化量;
根据所述空间鼠标的位移变化量控制鼠标指针的移动。
CN201310298200.5A 2013-07-16 2013-07-16 空间鼠标的数据处理方法以及鼠标指针的控制方法 Active CN103389807B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310298200.5A CN103389807B (zh) 2013-07-16 2013-07-16 空间鼠标的数据处理方法以及鼠标指针的控制方法
PCT/CN2013/080985 WO2015007001A1 (zh) 2013-07-16 2013-09-03 空间鼠标的数据处理方法以及鼠标指针的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310298200.5A CN103389807B (zh) 2013-07-16 2013-07-16 空间鼠标的数据处理方法以及鼠标指针的控制方法

Publications (2)

Publication Number Publication Date
CN103389807A true CN103389807A (zh) 2013-11-13
CN103389807B CN103389807B (zh) 2016-07-06

Family

ID=49534098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310298200.5A Active CN103389807B (zh) 2013-07-16 2013-07-16 空间鼠标的数据处理方法以及鼠标指针的控制方法

Country Status (2)

Country Link
CN (1) CN103389807B (zh)
WO (1) WO2015007001A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI630514B (zh) * 2017-09-08 2018-07-21 致伸科技股份有限公司 輸入裝置
CN108958483A (zh) * 2018-06-29 2018-12-07 深圳市未来感知科技有限公司 基于交互笔的刚体定位方法、装置、终端设备及存储介质
CN109491522A (zh) * 2017-09-11 2019-03-19 致伸科技股份有限公司 输入装置
CN111831136A (zh) * 2019-03-26 2020-10-27 深圳Tcl新技术有限公司 一种蓝牙空鼠的移动方法、存储介质及智能电视

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10746477B2 (en) 2016-10-07 2020-08-18 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for degassing and charging phase-change thermal devices

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004031934A1 (en) * 2002-10-07 2004-04-15 Myorigo Oy Cursor for electronic devices
CN101211230A (zh) * 2006-12-25 2008-07-02 财团法人工业技术研究院 3d微惯性感测方法与系统
US20090295729A1 (en) * 2008-06-03 2009-12-03 Asustek Computer Inc. Input device and operation method of computer system
CN102109913A (zh) * 2009-12-29 2011-06-29 金领导科技(深圳)有限公司 基于复合mems传感器的控制器指针定位方法及控制器
CN102262460A (zh) * 2011-08-29 2011-11-30 江苏惠通集团有限责任公司 空中鼠标及控制鼠标指针移动的方法与装置
CN102750020A (zh) * 2012-07-18 2012-10-24 深圳数字电视国家工程实验室股份有限公司 获取空中鼠标位移的方法、空中鼠标及空中鼠标控制系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004031934A1 (en) * 2002-10-07 2004-04-15 Myorigo Oy Cursor for electronic devices
CN101211230A (zh) * 2006-12-25 2008-07-02 财团法人工业技术研究院 3d微惯性感测方法与系统
US20090295729A1 (en) * 2008-06-03 2009-12-03 Asustek Computer Inc. Input device and operation method of computer system
CN102109913A (zh) * 2009-12-29 2011-06-29 金领导科技(深圳)有限公司 基于复合mems传感器的控制器指针定位方法及控制器
CN102262460A (zh) * 2011-08-29 2011-11-30 江苏惠通集团有限责任公司 空中鼠标及控制鼠标指针移动的方法与装置
CN102750020A (zh) * 2012-07-18 2012-10-24 深圳数字电视国家工程实验室股份有限公司 获取空中鼠标位移的方法、空中鼠标及空中鼠标控制系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI630514B (zh) * 2017-09-08 2018-07-21 致伸科技股份有限公司 輸入裝置
CN109491522A (zh) * 2017-09-11 2019-03-19 致伸科技股份有限公司 输入装置
CN108958483A (zh) * 2018-06-29 2018-12-07 深圳市未来感知科技有限公司 基于交互笔的刚体定位方法、装置、终端设备及存储介质
CN111831136A (zh) * 2019-03-26 2020-10-27 深圳Tcl新技术有限公司 一种蓝牙空鼠的移动方法、存储介质及智能电视

Also Published As

Publication number Publication date
CN103389807B (zh) 2016-07-06
WO2015007001A1 (zh) 2015-01-22

Similar Documents

Publication Publication Date Title
KR102421930B1 (ko) 불안정한 센서를 캘리브레이트하기 위한 시스템 및 방법
US9316513B2 (en) System and method for calibrating sensors for different operating environments
CN107356252B (zh) 一种融合视觉里程计与物理里程计的室内机器人定位方法
US20190195631A1 (en) Positioning method, positioning device, and robot
US9304970B2 (en) Extended fingerprint generation
US10415975B2 (en) Motion tracking with reduced on-body sensors set
US11450102B2 (en) System and method for spatially mapping smart objects within augmented reality scenes
CN101886927B (zh) 基于惯性传感器和地磁传感器的三维运动跟踪系统与方法
CN110706279A (zh) 基于全局地图与多传感器信息融合的全程位姿估计方法
CN103389807A (zh) 空间鼠标的数据处理方法以及鼠标指针的控制方法
CN113108791B (zh) 一种导航定位方法及导航定位设备
CN111536967A (zh) 一种基于ekf的多传感器融合温室巡检机器人跟踪方法
CN106708048A (zh) 机器人的天花板图像定位方法和系统
CN104613965B (zh) 一种基于双向滤波平滑技术的步进式行人导航方法
CN107941217A (zh) 一种机器人定位方法、电子设备、存储介质、装置
CN111723624B (zh) 一种头部运动跟踪方法和系统
CN112254729A (zh) 一种基于多传感器融合的移动机器人定位方法
CN108307174A (zh) 一种深度图像传感器精度提升方法和系统
CN108592907A (zh) 一种基于双向滤波平滑技术的准实时步进式行人导航方法
CN110542418A (zh) 一种综合二维码和惯性传感器的室内管道定位方法
CN114598990A (zh) 一种基于uwb和imu的非视距误差补偿的室内定位方法及系统
CN103365433A (zh) 空间鼠标的数据处理方法以及鼠标指针的控制方法
CN110243363B (zh) 一种基于低成本imu与rfid技术结合的agv实时定位方法
EP3392748B1 (en) System and method for position tracking in a virtual reality system
CN115585805A (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