CN104915023B - 使用混合跟踪的输入设备 - Google Patents

使用混合跟踪的输入设备 Download PDF

Info

Publication number
CN104915023B
CN104915023B CN201510040928.7A CN201510040928A CN104915023B CN 104915023 B CN104915023 B CN 104915023B CN 201510040928 A CN201510040928 A CN 201510040928A CN 104915023 B CN104915023 B CN 104915023B
Authority
CN
China
Prior art keywords
input equipment
sensor module
tracking
optical sensor
data
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
Application number
CN201510040928.7A
Other languages
English (en)
Other versions
CN104915023A (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.)
Logitech Europe SA
Original Assignee
Logitech Europe SA
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 Logitech Europe SA filed Critical Logitech Europe SA
Publication of CN104915023A publication Critical patent/CN104915023A/zh
Application granted granted Critical
Publication of CN104915023B publication Critical patent/CN104915023B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • 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/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks
    • 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/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks
    • G06F3/03544Mice or pucks having dual sensing arrangement, e.g. two balls or two coils used to track rotation of the pointing device
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

本发明涉及输入设备以及操作输入设备的方法。本发明的实施方式涉及被配置成与计算设备一起使用的输入设备。本发明涉及被配置成具有多个传感器的输入设备,所述多个传感器被配置成确定输入设备的位移和位置。对输入设备的跟踪可以基于输入设备的移动速度或基于输入设备检测到跟踪的丢失已经发生来从光学传感器被切换至惯性传感器。在一些实施方式中,陀螺仪可以被配置成修改来自惯性传感器模块的数据以对当输入设备被旋转时生成的虚构加速度进行校正。

Description

使用混合跟踪的输入设备
技术领域
本发明涉及输入设备以及操作输入设备的方法。
背景技术
输入设备为用户提供与计算设备交互的能力。典型的输入设备可以包括键盘、计算机鼠标、触笔、遥控器或其他相似的形式。计算机鼠标形式的输入设备为与计算设备交互的用户提供进行包括导航、光标控制和选择功能的某些活动的能力。
计算机鼠标的通常形式是光学鼠标。典型的光学鼠标通过使用发光二极管对光学鼠标相对于表面(例如,鼠标垫、桌子或台子)的移动进行检测来起作用。光学鼠标通过使用以下传感器或相机来进行操作:该传感器或相机拍摄光学鼠标在其上移动的表面的连续图像。基于连续图像的交叠,光学鼠标检测连续图像之间的以下偏移:该偏移表示光学鼠标相对于表面移动了的距离。
当前的光学鼠标存在的一个问题是用户可以多快地移动光学鼠标存在上限。一些用户可能需要能够对用户进行的快速移动进行检测的高性能计算机鼠标。这些用户中的一些用户可能需要用于以下计算机游戏的高性能计算机鼠标,该计算机游戏需要用户使用计算机鼠标进行快速移动。如果用户以快于上限的速度移动其光学鼠标,则会出现其中鼠标的位置及关联的光标丢失的跟踪丢失。在这样的情况下,由传感器或相机产生的连续图像可能不会具有足够的交叠来确定偏移。因此,光学传感器会丢失对光学鼠标的位置的跟踪并且产生不可靠的位移和位置数据。由于光学传感器尝试关联它接收的导致假关联的任何数据,所以这会使显示在监视器上或显示器上的光标停止(例如,冻结)或沿任意方向来回跳至随机位置。
因为用户受限于可以由光学鼠标进行的运动范围和功能,所以该跟踪丢失会导致负面的用户体验。例如,用户可能不能在忙于计算机游戏时快速地滑动其鼠标而鼠标却不丢失对其位移的跟踪。
在先前的解决方案中,为了提高光学鼠标的速度上限,提高了成像传感器的帧速率。然而,较高的帧速率是通过较短的曝光时间和较少的照明来实现的。为了补偿所减少的照明,需要更亮的光源或LED和/或更灵敏的成像传感器。提高LED的亮度需要较高的功耗,并且随着光学鼠标的功耗增大,这使得难于设计会以高的速度执行并且依然为无线的光学鼠标。因为有线计算机鼠标限制计算机游戏可能需要的移动自由度,所以有线连接至主机系统限制了光学鼠标的相对于目标用户组的可用性。
此外,由于对无线鼠标的功耗、发热、有线鼠标的电流消耗、LED驱动器的增加了的电路复杂度等多种顾虑,所以LED的亮度不能增大太多。另外,如果鼠标基于激光LED技术,则由于对人眼安全的顾虑,所以激光的亮度不能超过特定标准。使用更灵敏的成像传感器也具有其缺点,因为成本较高并且传感器的与每个像素在曝光时间期间所吸收的光子的数量相关的灵敏度存在理论极限。
基于以上所述,在本领域中需要以下用于输入装置的改善了的方法及系统:所述改善了的方法及系统提供更大的功能性和较佳的用户体验。
发明内容
本发明一般地涉及被配置成与电子设备或计算设备一起使用的控制设备如人机界面设备,更特别地,本发明涉及用于利用能够在以下状况下进行操作的输入设备的方法及系统:所述输入设备以相对于对输入设备的移动进行跟踪的光学传感器的最大速度极限而言更高的速度被移动,而不经历跟踪丢失。
本发明的实施方式通过进行配置以使得用户能够以较大的自由度与输入设备进行交互来提供改善了的用户体验,包括以输入设备通常未被配置成准确地评估的较大的运动范围和运动速度。本发明的实施方式包括嵌在输入设备内的多个传感器(例如,加速度计和/或陀螺仪),所述多个传感器能够减小当输入设备的运动超过光学传感器的极限时所引起的跟踪丢失的发生。
本发明的实施方式可以提供一种输入设备,包括:光学传感器模块,其被配置成确定与输入设备的XY位移相关的第一组数据。输入设备还包括惯性传感器模块,其被配置成测量输入设备的加速度并且确定与输入设备的XY位移相关的第二组数据。输入设备还包括微控制器,微控制器耦接至光学传感器模块和惯性传感器模块,其中,微控制器被配置成:接收由惯性传感器模块测量的输入设备的加速度的加速度数据,使用加速度数据来确定输入设备的移动速度和位置数据;以及当跟踪丢失被确定或检测到时,从使用来自光学传感器模块的第一组数据跟踪输入设备的XY位移切换至使用来自惯性传感器模块的第二组数据跟踪输入设备的XY位移。
在本发明的一些实施方式中,惯性传感器模块是加速度计。
在本发明的一些实施方式中,从使用来自光学传感器模块的第一组数据跟踪输入设备的XY位移切换至使用来自惯性传感器模块的第二组数据跟踪输入设备的XY位移还包括:使用由状态空间模型估计的最后已知校准点。在一些实施方式中,状态空间模型是扩展卡尔曼滤波器。
在本发明的一些实施方式中,从使用来自光学传感器模块的第一组数据跟踪输入设备的XY位移切换至使用来自惯性传感器模块的第二组数据跟踪输入设备的XY位移可以基于输入设备的移动速度。在这样的实施方式中,当输入设备的移动速度在阈值速度之下时,扩展卡尔曼滤波器使用来自光学传感器模块的第一组数据校准惯性传感器模块。
在输入设备的一些实施方式中,跟踪丢失当输入设备的移动速度超过阈值时被检测到。在其他实施方式中,跟踪丢失当光学传感器模块所估计的第一移动速度与惯性传感器模块所估计的第二移动速度之间的差超过阈值时被检测到。跟踪丢失可以实时地被检测到。
本发明的另外的实施方式涉及一种操作输入设备的方法。所述方法包括通过光学传感器模块确定与输入设备的XY位移相关的第一组数据。所述方法还包括通过惯性传感器模块确定与输入设备的XY位移相关的第二组数据。所述方法还包括确定光学传感器模块的跟踪丢失是否已经发生。当光学传感器模块的跟踪丢失被检测为已经发生时,所述方法还包括从使用来自光学传感器模块的第一组数据跟踪输入设备的XY位移切换至使用来自惯性传感器模块的第二组数据跟踪输入设备的XY位移。当光学传感器模块的跟踪丢失被检测为没有发生时,通过光学传感器模块来跟踪输入设备的XY位移。
在一些实施方式中,所述方法还可以包括:确定光学传感器模块是否已经从跟踪丢失恢复。在这样的实施方式中,当光学传感器模块已经从跟踪丢失恢复时,所述方法还包括:从使用来自惯性传感器模块的第二组数据跟踪输入设备的XY位移切换至使用来自光学传感器模块的第一组数据跟踪输入设备的XY位移。
在输入设备的一些实施方式中,跟踪丢失当输入设备的移动速度超过阈值时被检测到。在这样的实施方式中,确定输入设备的速度还包括:确定由惯性传感器模块所测量的输入设备的加速度的加速度数据;以及使用加速度数据来确定输入设备的移动速度和位置数据。
在其他实施方式中,跟踪丢失当光学传感器模块所估计的第一移动速度与惯性传感器模块所估计的第二移动速度之间的差超过阈值时被检测到。跟踪丢失可以实时地被检测到。
本发明的另外的实施方式可以提供一种输入设备,所述输入设备包括:光学传感器模块,其被配置成确定与输入设备的XY位移相关的第一组数据。输入设备还包括惯性传感器模块,其被配置成测量输入设备的加速度并且确定与输入设备的XY位移相关的第二组数据。输入设备可以包括陀螺仪,陀螺仪被配置成测量输入设备的旋转速率,其中,所测量的旋转速率用于修改输入设备的加速度数据。输入设备还包括微控制器,微控制器耦接至光学传感器模块和惯性传感器模块,其中微控制器被配置成:接收输入设备的经修改的加速度数据;使用经修改的加速度数据确定输入设备的移动速度和位置数据;以及当跟踪丢失被检测时从使用来自光学传感器模块的第一组数据跟踪输入设备的XY位移切换至使用来自惯性传感器模块的第二组数据跟踪输入设备的XY位移。
在其他实施方式中,修改输入设备的加速度数据包括:抵消输入设备的经测量的旋转速率。
在其他实施方式中,微控制器可以被配置成当输入设备处于运动中时使用由陀螺仪测量的输入设备的旋转速率来持续地更新输入设备的方向。
本发明的另外的实施方式涉及一种操作输入设备的方法。所述方法包括通过光学传感器模块确定与输入设备的XY位移相关的第一组数据。所述方法还包括通过惯性传感器模块确定与输入设备的XY位移相关的第二组数据。通过陀螺仪确定输入设备的旋转速率。所述方法还包括使用输入设备的旋转速率来修改与输入设备的XY位移相关的第二组数据;所述方法还包括确定光学传感器模块的跟踪丢失是否已经发生。当光学传感器模块的跟踪丢失被检测为已经发生时,所述方法还包括从使用来自光学传感器模块的第一组数据跟踪输入设备的XY位移切换至使用来自惯性传感器模块的第二组数据跟踪输入设备的XY位移。当光学传感器模块的跟踪丢失被检测为未发生时,通过光学传感器模块跟踪输入设备的XY位移。
在输入设备的一些实施方式中,跟踪丢失当输入设备的移动速度超过阈值时被检测到。在这样的实施方式中,确定输入设备的移动速度还包括:确定由惯性传感器模块测量的输入设备的加速度的加速度数据;以及使用加速度数据来确定输入设备的移动速度和位置数据。
在其他实施方式中,跟踪丢失当光学传感器模块所估计的第一移动速度与惯性传感器模块所估计的第二移动速度之间的差超过阈值时被检测到。跟踪丢失可以实时地被检测到。
通过本发明实现了相比其他技术而言的许多益处。例如,由于用户不受限于输入设备中的传感器所能够检测和处理的运动速度,所以较佳地提供了包括游戏性的用户体验。因此,用户能够使用输入设备而不经历由于输入设备的动作的速度超过在输入设备中的光学传感器的最大速度限制而产生的跟踪丢失。
除了提高了输入设备的运动范围和速度以外,本发明的实施方式还具有提供关于输入设备的位置(例如,XY位移)的更精细化的数据的益处。因为光学传感器和惯性传感器模块两者可以同时操作,所以来自这两个设备的数据可以串联使用以提供关于输入设备的位置的更准确的实时数据。另外,权衡(leveraging)来自光学传感器(其在较低速度提供较佳的数据)以及惯性传感器(其在较高速度提供较佳的数据)的数据,使得输入设备能够在多种模式和速度下进行操作而不导致对输入设备的运动的跟踪的任何丢失。
另外的益处在于:通过使得光学传感器能够以较低帧速率操作,这增加了每个帧的曝光时间。这可以使得传感器能够在具有较小特征的表面进行跟踪。这扩展了光学传感器能够成功在其上进行跟踪的表面的类型和种类。因此,通过放松移动跟踪速度的上限,可以获得较佳的表面覆盖范围。
将结合以下描述和附图更详细地描述本发明的这些实施方式和其他实施方式及其很多优点和特征。
附图说明
图1示出了根据本发明的实施方式的计算机系统的简化图;
图2是根据本发明的实施方式的输入设备的部件的简化框图;
图3是根据本发明的实施方式的来自输入设备中的光学传感器的跟踪数据的图;
图4是根据本发明的实施方式的输入设备的跟踪模块部件的简化框图;
图5是根据本发明的实施方式的在跟踪丢失发生时使用多个传感器对输入设备进行操作的方法的流程图;
图6描绘了根据本发明的实施方式的输入设备;
图7示出了根据本发明的实施方式的输入设备的移动;
图8是根据本发明的替代实施方式的输入设备140的跟踪模块部件240的简化框图;以及
图9是根据本发明的实施方式的来自输入设备的跟踪数据的图。
具体实施方式
本发明的实施方式一般地涉及输入设备。关于计算机鼠标设备形式的输入设备来描述本发明的实施方式。然而,实施方式不限于计算机鼠标设备形式的输入设备。其他实施方式考虑其他形式的输入设备,包括但不限于:触控板输入设备、移动电话设备、遥控设备以及其他手持式输入设备。
I.系统
图1示出了根据本发明的实施方式的计算机系统100的简化图。计算机系统100包括:计算机110(其可以被称为主机设备、计算机系统或系统);监视器或显示设备120;以及多个输入设备:键盘设备130和鼠标设备140。在本发明的实施方式中,计算机110可以是台式计算机、膝上型计算机、平板计算机、移动电话、或任何相当的计算设备。在一些实施方式中,鼠标设备140可以是多模鼠标输入设备。在计算机系统100中,键盘设备130和鼠标设备140可以被配置成对计算机110和监视器120的各个方面进行控制。在一些实施方式中,键盘设备130和/或鼠标设备140可以被配置成提供用于以下的控制信号:页面滚动、光标移动、对显示在监视器或显示设备120上的对象的选择、媒体控制、网络导航、呈现控制以及计算机110的其他功能。在一些实施方式中,键盘设备130和鼠标设备140可以经由硬线链路或无线连接被操作地连接至计算机110。在使用无线连接的实施方式中,无线连接可以是蓝牙(BluetoothTM)配对连接或任何其他无线标准或专有无线网络协议。
计算机110可以包括可以被配置成对计算机代码如鼠标驱动软件、键盘驱动软件等进行存储的机器可读介质(未示出),其中计算机代码能够由计算机110的处理器(未示出)执行以通过键盘设备130和/或鼠标设备140影响对计算机110的控制。应当注意,输入设备还可以被称为控制设备、输入/输出(I/O)设备和用户接口设备。
图2是根据本发明的实施方式的输入设备140的部件的简化框图。输入设备140可以为多模鼠标140的形式。在其他实施方式中,输入设备140可以是键盘设备、遥控设备、触笔设备或触控板设备。输入设备140可以包括总线205、输入模块210、控制电路220、电源230、跟踪模块240、电力管理模块250、输入/输出(I/O)与通信模块260以及存储部件270。控制电路220、电源230、跟踪模块240、电力管理模块250、输入/输出(I/O)与通信模块260以及存储部件270可以经由总线205彼此进行电子通信。输入模块210可以被独立地连接至控制电路220和电力管理模块250。在一些实施方式中,输入模块210可以经由总线205与其他模块连接。应当注意,可以使用可以包括或排除如本领域的普通技术人员已知的输入设备140的各种系统元件中任何系统元件的很多其他总线205配置。
在一些实施方式中,输入模块210可以包括多个输入元件或设备。在这样的实施方式中,输入模块210可以可操作地响应于用户按压被设置在输入设备140上的一个或更多个输入元件(例如,按钮、滚轮、触控板传感器或区域)或用户与被设置在输入设备140上的一个或更多个输入元件(例如,按钮、滚轮、触控板传感器或区域)的交互来接收输入。输入模块210可以能够生成与所按压的输入元件相关联的控制数据并且将该控制数据发送至控制电路220。
在一些实施方式中,控制电路220包括一个或更多个微处理器(μC),并且控制电路220可以被配置成对输入设备140的操作进行控制。可替代地,控制电路220可以包括如会由本领域的普通技术人员在得益于本公开内容的情况下理解的具有支持硬件/固件(例如,存储器、可编程I/O等)的一个或更多个微控制器(MCU)、数字信号处理器(DSP)、现场可编程门阵列(FGPA)、可编程逻辑设备(PLD)等。可替代地,MCU、μC、DSP等可以被配置在输入设备140的其他系统块中。例如,计算机110中的微处理器可以被配置成经由无线或硬连线连接对来自输入模块210的输入命令进行处理。
电源230可以被配置成为输入设备140提供电力。在一些实施方式中,电源230可以包括一个或更多个可再充电电池,包括但不限于以下类型:铅酸、碱性、镍镉(NiCd)、镍氢(NiMH)、锂离子(Li-ion)、锂离子聚合物(Li-ion polymer)、或本领域的普通技术人员已知的其他可再充电电池类型。在某些实施方式中,所述一个或更多个可再充电电池可以包括AA类型、AAA类型、钮扣电池(例如,通常在手表电池、助听器电池等中被发现的电池)、或其他类似大小的电池类型。
跟踪模块240可以被配置成确定输入设备140相对于表面的位移,所述表面包括但不限于鼠标垫、木质表面和透明表面。输入设备140在表面上的移动可以生成数据信号,数据信号可以被转换成指针或光标在与主机设备110相关联的监视器或显示设备120上的移动。
在本发明的一些实施方式中,跟踪模块240可以包括多个元件。例如,如图4所示,跟踪模块240的一种实施方式可以包括光学传感器模块402、惯性传感器模块404、多个信号处理模块406和408、比较模块410、状态空间模型模块412和报告模块414。
在图8中示出了跟踪模块240的另外的实施方式,其可以包括光学传感器模块802、惯性传感器模块804、陀螺仪806、状态空间模型模块808、方向更新模块810、比较模块812和报告模块814。
在本发明的一些实施方式中,状态空间模型模块412和808可以是扩展卡尔曼(Kalman)滤波器。在一些实施方式中,当输入设备140的移动速度在阈值速度之下时,扩展卡尔曼滤波器可以使用来自光学传感器模块的第一组数据来校准惯性传感器模块404。
参照图4和图8来描述跟踪模块240的实施方式的另外细节。
电力管理模块250可以被配置成对由电源230提供的电力进行管理。在一些实施方式中,电力管理模块250可以将电力从电源230直接路由至输入设备140。电力管理模块250还可以将来自电源230的电力分配给其他系统部件(例如,输入模块210、控制电路220、跟踪模块240、I/O与通信模块260、存储部件270或它们的任意组合)。
I/O与通信模块260可以被配置成为输入设备140提供输入/输出功能。例如,I/O与通信模块260可以经由硬线链路或无线连接来将数据从输入模块210路由至计算机系统。I/O与通信模块260可以将控制数据、媒体控制数据、VoIP数据、触摸传感器数据等路由至计算机以进行进一步的处理。无线连接可以是蓝牙连接或任何其他合适的无线标准或专有无线网络协议。
存储部件270可以是被配置成存储数据的数据存储区域。存储部件270可以包括用于存储并且方便信息的检索的任何硬件、软件、固件或它们的组合。存储部件270可以使用多种数据结构、布置以及编译中任一种以存储并且方便信息的检索。在一些实施方式中,存储部件270可以是非暂态存储器。在一些实施方式中,存储部件270可以被配置成存储来自由用户提供给输入设备140的输入(例如,击键、按钮选择以及由用户沿着输入设备140的用户界面做出的运动)的数据。在一些实施方式中,存储部件270可以存储用于输入设备140与主机设备110之间的配对的数据。即使当输入设备140断电时该配对数据仍可以被存储在存储部件270中。当输入设备140被重新激活(例如,接通电力或者从休眠模式被切换至激活模式)时,可以访问先前存储的配对数据并且该配对连接被重新建立。在一些实施方式中,存储部件270可以存储用于输入设备140与多个主机设备110之间的多个配对连接的配对数据。例如,输入设备140可以与多于一个的计算机系统配对。示例性配对数据可以包括当输入设备140与主机设备110被配对时建立的共享数据元素如密钥。
存储部件270还可以被配置成存储用于处理来自跟踪模块240的数据的准则或规则。存储部件270可以存储包括输入设备140的阈值配置数据的配置文件。例如,阈值配置数据可以表示当输入设备140的速度在阈值之下(例如,80英寸/秒)时,对输入设备140的跟踪应当基于来自光学传感器模块402的数据。当输入设备140的速度在阈值之上时,输入设备140的跟踪应当基于来自惯性传感器模块404的数据。在一些实施方式中,阈值可以由用户或光学传感器模块402的制造者基于光学传感器模块402的已知的规格和限制来限定。在其他实施方式中,阈值可以基于由光学传感器模块402基于输入设备140在其上移动的表面而获得的实时数据。
图3是根据本发明的实施方式的来自输入设备140中的光学传感器模块402的跟踪数据的图300。图300描绘了当输入设备140相对于表面被移动时来自光学传感器模块402的用图表示的数据。在图3中,x轴数据302与y轴数据304被单独地用图表示。
第一时间段306是用户以低速率(例如,在光学传感器模块402的阈值之下)移动输入设备140的时间段。在第一时间段306期间,来自x轴数据302和y轴数据304的跟踪数据使用光学传感器模块402来报告稳定数据。在一些实施方式中,当用户以大于100英寸/秒的速度移动输入设备140时,输入设备140进入跟踪丢失时间段308。在一些实施方式中,输入设备140进入跟踪丢失时间段308的速度大于100英寸/秒或小于100英寸/秒。在一些实施方式中,进入跟踪丢失时间段308基于对来自光学传感器模块402的数据与来自扩展卡尔曼滤波器的估计之间的差大于50英寸/秒的检测。在跟踪丢失时间段308期间,x轴数据302和y轴数据304会变得不稳定并且不会报告或提供表示输入设备140的x轴和y轴位移的准确数据。在一些实施方式中,这可以由用户对输入设备140的移动速度超过阈值速度引起,在该阈值速度之上,光学传感器模块402不能准确地确定输入设备的位移。
跟踪丢失时间段308当光学传感器模块402恢复并且能够提供对于输入设备140的运动的准确跟踪数据时结束。输入设备140可以开始从由超过输入设备140的速度阈值而引起的跟踪丢失恢复的时间量可以变化。在本发明的一些实施方式中,即使当输入设备140的速度减小至小于速度阈值时,来自光学传感器模块402的x轴数据302和/或y轴数据304可能将输入设备140不准确位置数据继续表示另外的时间段。在本发明的一些实施方式中,跟踪丢失时间段308的结束可以当由光学传感器模块402报告的速度与扩展卡尔曼滤波器之间的差在阈值(例如,40英寸/秒)之下时被检测到。
II.使用光学传感器和加速度计对输入设备的混合跟踪
图4是根据本发明的实施方式的输入设备140的跟踪模块部件240的简化框图。在本发明的一些实施方式中,跟踪模块240可以包括光学传感器模块402、惯性传感器模块404、多个信号处理模块406和408、比较模块410、状态空间模型模块412和报告模块414。在一些实施方式中,信号处理模块406和408可以是位于光学传感器模块402和惯性传感器模块404内的部件。在本发明的其他实施方式中,跟踪模块240可以包括如图4所描绘的部件的附加的或较少的部件。
光学传感器模块402可以被配置成对由可以是光学传感器模块402的部件的传感器或相机采集的连续图像之间的偏移进行检测。所检测的偏移可以用于计算输入设备140相对于表面移动了的距离。光学传感器模块402可以被配置成获得或确定与输入设备140相对于表面的XY位移相关的第一组数据。在一些实施方式中,与输入设备140的XY位移相关的第一组数据可以包括由光学传感器模块402中的传感器或相机采集的图像。
在一些实施方式中,光学传感器模块402可以包括光源如红外激光二极管、可见光激光二极管或发光二极管(LED)。在一些实施方式中,光学传感器模块402使用图像传感器对材料如木头、布、鼠标垫或其他表面中自然地出现的纹理进行成像。在一些实施方式中,通过数字图像相关技术,这些表面的图像被连续不断地采集并且与彼此进行比较以确定输入设备140相对于上述表面移动了多远。光学传感器模块402可以被配置成使用连续地被检测的特征(以及交叠图像)之间的相关性沿x轴和y轴以每英寸测量数(CPI)为单位对运动方向和运动量进行估计。
惯性传感器模块404可以被配置成测量输入设备140的加速度。惯性传感器模块404还可以被配置成使用所测量的加速度来获得或确定与输入设备140的XY位移相关的第二组数据。与输入设备140的XY位移相关的第二组数据可以包括输入设备140的加速度数据。在本发明的一些实施方式中,惯性传感器模块404是加速度计。
在本发明的一些实施方式中,来自惯性传感器模块404的数据还可以用于确定用户数据。例如,来自惯性传感器模块404的数据可以表示输入设备140的用户的情绪健康状况。例如,基于对来自惯性传感器模块404的数据的分析,在数据中的紧张或颤抖的增加可以表示用户变得厌倦。在一些实施方式中,惯性传感器模块404可以用于检测在设备被握在手中时的特定移动手势。这些手势可以包括沿不同方向的快速的来回运动、摇摆、轻弹或沿某些路径的运动。在一些实施方式中,惯性传感器模块404可以用于确定当对输入设备140的跟踪被光学传感器模块402确定时输入设备140的用户的情绪健康状况。在其他实施方式中,惯性传感器模块404可以用于同步地跟踪输入设备140并且确定输入设备140的用户的情绪健康状况。
信号处理模块406和408可以被配置成分别从光学传感器模块402和惯性传感器模块404接收信号并且处理信号。在本发明的一些实施方式中,信号处理模块406和408可以用于通过去除信号尖峰和其他频率伪像来清理信号并且降低噪声。
比较模块410可以被配置成监测来自光学传感器模块402和惯性传感器模块404的信号。比较模块410可以耦接至光学传感器模块402和惯性传感器模块404。比较模块410还可以被配置成确定由光学传感器模块402进行的跟踪的丢失何时发生。比较模块410可以被配置成基于来自光学传感器模块402和惯性传感器模块404的信号来实时确定或者检测输入设备140的跟踪丢失。在本发明的一些实施方式中,比较模块410可以确定由光学传感器模块402生成的数据表示其处于如图3所示的跟踪丢失时间段308中。
当比较模块410确定光学传感器模块402处于跟踪丢失时间段308中时,比较模块410可以将根据来自光学传感器模块402的与输入设备的XY位移相关的第一组数据跟踪输入设备140的XY位移切换至根据来自惯性传感器模块404的与输入设备的XY位移相关的第二组数据跟踪输入设备140的XY位移。
比较模块410还可以被配置成对光学传感器模块402何时恢复并且提供对于输入设备140的准确位移和位置数据进行确定。在本发明的实施方式中,由于光学传感器模块402通过对从传感器或相机接收的数据进行评估和相关而进行操作,所以输入设备140恢复的速度可能不为跟踪丢失发生时的相同速度或同一位置。当比较模块410确定光学传感器模块402是不再处于跟踪丢失时间段308中时,比较模块410可以将对输入设备140的跟踪从惯性传感器模块404切换回光学传感器模块402。
在其他实施方式中,比较模块410可以确定输入设备140的速度何时超过阈值速度。该阈值速度可以是以下速度:在该速度之上光学传感器模块402不能准确地确定输入设备140的位移。在其他实施方式中,比较模块410可以确定光学传感器模块402所检测的速度与惯性传感器模块404所检测的速度之间的差何时超过阈值。任一情形都可以表示发生了跟踪丢失。作为用于确定跟踪丢失是否发生的处理的一部分,比较模块410可以被配置成接收由惯性传感器模块404测量的输入设备140的加速度的加速度数据。然后,比较模块410可以使用惯性传感器模块404所测量的加速度数据来确定输入设备140的移动速度和位置数据。在一些实施方式中,比较模块410可以通过对惯性传感器模块404所测量的输入设备140的加速度进行积分来确定输入设备140的移动速度。可以通过对所确定的输入设备140的移动速度进行积分来确定输入设备140的位置数据。
状态空间模型模块412可以是被配置成校准惯性传感器模块404的滤波模块。在本发明的一些实施方式中,状态空间模型模块412可以实时校准惯性传感器模块404。在本发明的一些实施方式中,状态空间模型模块可以从光学传感器模块402和惯性传感器模块404两者接收数据。在本发明的一些实施方式中,状态空间模型模块412是扩展卡尔曼滤波器。
状态空间模型模块412可以对从光学传感器模块402和惯性传感器模块404接收的信号的历史进行评估并且估计当前信号应当位于何处。然后,状态空间模型模块412可以对所估计的信号与从光学传感器模块402和惯性传感器模块404接收的信号之间的差进行确定。例如,如果对于光学传感器模块402的估计信号与从光学传感器模块402接收的实时信号不匹配,则其可以表示发生了跟踪丢失。可以相对于来自惯性传感器模块404的数据来进行相同的分析。在一些实施方式中,估计信号与实时信号必须在预定范围内匹配。
在一些实施方式中,当输入设备140的移动速度在光学传感器模块402的阈值之下时,状态空间模型模块412可以使用来自光学传感器模块402的第一组数据来校准惯性传感器模块404。在一些实施方式中,比较模块410可以使用由状态空间模型模块412估计的最后已知校准点。
报告模块414可以被配置成将表示输入设备140在给定时间处的位置的数据发送至主机设备110。在一些实施方式中,报告模块414可以是开关,该开关使来自光学传感器模块402的数据通过或者使来自惯性传感器模块404的数据通过。在本发明的一些实施方式中,报告模块414可以将数据直接发送至主机设备110。在其他实施方式中,报告模块414可以将数据发送至I/O与通信模块260,其然后将数据传送至主机设备110。在一些实施方式中,输入设备140可以经由硬线链路或经由无线连接被操作地连接至主机设备110。在使用无线连接的实施方式中,无线连接可以是蓝牙配对连接或任何其他无线标准或专有无线网络协议。
图5是根据本发明的实施方式的在跟踪丢失发生时使用多个传感器对输入设备140进行操作的方法500的流程图。方法500可以通过处理逻辑来执行,该逻辑可以包括硬件(电路、专用逻辑等)、软件(例如在通用计算系统或专用机器上运行的)、固件(嵌入式软件)或它们的任意组合。
该方法包括通过光学传感器模块402获得与输入设备140的XY位移相关的第一组数据(502)。可以基于光学传感器模块402的传感器或相机部件所采集的一系列图像来确定来自光学传感器模块402的数据。可以对上述一系列图像中的两个连续图像进行评估以确定这两个连续图像之间的偏移。可以使用该偏移来确定输入设备140的XY位移。该偏移还可以通过对连续的多于两个的图像进行比较来确定。
该方法包括通过惯性传感器模块404获得与输入设备140的XY位移相关的第二组数据(504)。可以基于惯性传感器模块404所获得的加速度数据来确定来自惯性传感器模块404的数据。该加速度数据可以用于确定在给定时间处输入设备140的速度和输入设备140的位置。
该方法还包括确定光学传感器模块402的跟踪丢失是否已经发生(506)。
在本发明的一些实施方式中,可以通过状态空间模型模块412来确定输入设备140的跟踪丢失,该状态空间模型模块412评估从光学传感器模块402和惯性传感器模块404接收的信号的历史,以估计当前的实时信号应当表示何处。状态空间模型模块412可以对估计信号与从光学传感器模块402和惯性传感器模块404接收的实时信号之间的差进行确定。例如,如果对于光学传感器模块402的估计信号与从光学传感器模块402接收的实时信号不匹配,则可以表示发生了跟踪丢失。在一些实施方式中,估计信号与实时信号必须在预定范围内匹配。
在本发明的一些实施方式中,替代将输入设备140的速度与固定阈值进行比较,阈值是可变的。因为该阈值可以取决于光学传感器模块402所测量的跟踪表面的品质,所以该阈值可以是可变的。
在本发明的其他实施方式中,对跟踪丢失的检测基于将扩展卡尔曼滤波器所估计的速度与光学传感器模块402所估计的速度进行比较。在这样的实施方式中,可以确定光学传感器模块所估计的第一移动速度与惯性传感器模块所估计的第二移动速度之间的差。如果这两个估计值相差大于某个值即进行(make)阈值(例如,50英寸/秒),则跟踪丢失被检测到。在这样的实施方式中,为了找到跟踪丢失时间段的结束,使用另一阈值即中断(break)阈值(例如,40英寸/秒)。当扩展卡尔曼滤波器和光学传感器模块402的输出的差减小至小于中断阈值的值,跟踪丢失的结束被检测到。进行阈值和中断阈值的值可以取决于在输入设备140中使用的特定光学传感器和加速度计的噪声特性。
在本发明的其他实施方式中,输入设备140的跟踪丢失还可以通过对输入设备140的速度的评估来确定。例如,当该速度超过对于光学传感器模块402的阈值时,输入设备140可以自动地被配置成切换至惯性传感器模块404。然后,当输入设备140的速度跌至对于光学传感器模块402的阈值之下时,可以确定从跟踪丢失的恢复。可以持续地确定输入设备140的速度使得当输入设备140的速度跌至对于光学传感器模块402的阈值之下时跟踪从惯性传感器模块404自动地切换至光学传感器模块402。
在本发明的其他实施方式中,当从光学传感器模块402接收的信号具有噪声或者包括很多高频失真时,还可以通过滤波器检测来确定输入设备140的跟踪丢失。然后,当从光学传感器模块402接收的信号包括较少的噪声或较小的高频失真时,可以确定从跟踪丢失的恢复。
该方法还包括:当光学传感器模块402的跟踪丢失被确定时将对输入设备140的XY位移的跟踪从光学传感器模块402切换至惯性传感器模块404(508)。在本发明的实施方式中,跟踪模块240中的比较模块410可以向报告模块414提供以下指示:来自惯性传感器模块404的数据应当用作表示输入设备140的XY位移的数据。
在本发明的一些实施方式中,光学传感器模块402和惯性传感器模块404同时操作并且向报告模块414提供数据。在这样的实施方式中,当输入设备140的跟踪丢失被确定时,报告模块414选择用于向I/O与通信模块260或主机设备110发送的所需数据。比较模块410可以持续地监测跟踪丢失是否已经发生或者光学传感器模块402是否已经恢复。
在本发明的一些实施方式中,当跟踪从使用光学传感器模块402切换至使用惯性传感器模块404时,给光学传感器模块402的电力可以被减小或消除。在这样的情形下,功耗可以通过不要求两个传感器被同时满载功率而暂时地降低。
该方法还包括:当确定跟踪丢失未发生时或者当确定光学传感器模块402已经从跟踪丢失时间段恢复时,使用输入设备140的来自光学传感器模块402的XY位移的跟踪(510)。
应当理解,图5所示的具体步骤提供根据本发明的实施方式的当跟踪丢失发生时使用多个传感器操作输入设备的特定的方法。根据替代实施方式还可以执行步骤的其他顺序。例如,本发明的替代实施方式可以按照不同的顺序执行以上列出的步骤。此外,图5所示的各个步骤可以包括多个子步骤,这些子步骤可以按照适于各个步骤的各种顺序被执行。此外,可以取决于具体应用增加或移除附加的步骤。本领域的普通技术人员会意识到很多变型、修改和替代。
III.使用光学传感器、加速度计和陀螺仪的输入设备的混合跟踪
存在以下情况:与输入设备140交互的用户做出的运动不是完全线性位移(例如,直的水平移动)。在这样的情况下,随着用户移动输入设备140,用户可能引入对输入设备140的运动的旋转。惯性传感器模块(例如,加速度计)404可能对输入设备140的旋转敏感,导致假的(例如,离心的或科里奥利(Coriolis))加速度被检测到。例如,当输入设备140被移动时,输入设备140还可能被旋转(由图7中的角度θ表示)。因此,在本发明的替代实施方式中,跟踪模块240还可以包括陀螺仪(例如,被配置成测量旋转速率或角位移的变化率(例如,角速度)的设备)。
注意,在一些情况下,可以以不创建虚构(Fictitious)加速度的方式移动输入设备140。这可能发生在输入设备140被移动但不被旋转时。如图7的输入设备140-1所示,输入设备140-1已经从开始位置140沿着输入设备的局部坐标系的y轴602移动。相对于全局坐标系702,输入设备140-1未经历任何旋转。
在本发明的一些实施方式中,输入设备140可以报告相对于与输入设备的框架相关联的坐标系(例如局部坐标系)的运动。例如,如图6所示,对于输入设备140的x轴601可以沿着相对于输入设备140的中心水平方向,而对于输入设备140的y轴602可以沿着相对于输入设备140的中心竖直方向。
在本发明的一些实施方式中,如图7所示,当输入设备140沿着完全圆旋转704(例如,光学传感器模块402的x轴601与轨迹的切线对齐而y轴602与轨迹的切线垂直)移动时,光学传感器模块402可以报告仅沿x轴的运动而没有沿y轴的运动。然而,从固定的、非旋转参考坐标系(例如,全局坐标系或轴702)角度看,输入设备140的轨迹是曲线。在旋转不完全(例如,按照虚线706描绘的运动表示图7中的输入设备140-2的运动)的其他情况下,跟踪模块可以沿x轴和y轴两者对运动进行检测。
图8是根据本发明的替代实施方式的输入设备140的替代跟踪模块部件240的简化框图。在本发明的一些实施方式中,跟踪模块240可以包括光学传感器模块802、惯性传感器模块804、陀螺仪806、状态空间模型模块808、方向更新模块810、比较模块812和报告模块814。在一些实施方式中,如关于图4所描述的,信号处理模块406和408可以是处于光学传感器模块402和惯性传感器模块404内的部件。本发明的其他实施方式中,跟踪模块240可以包括如图4所描绘的部件的另外的或较少的部件。
光学传感器模块802可以被配置成对可以是光学传感器模块802的部件的传感器或相机所采集的连续图像之间的偏移进行检测。所检测的偏移可以用于计算输入设备140相对于表面移动了的距离。光学传感器模块802可以被配置成获得与输入设备140相对于表面的XY位移相关的第一组数据。在一些实施方式中,与输入设备140的XY位移相关的第一组数据可以包括传感器或相机所采集的图像。
在一些实施方式中,光学传感器模块802可以包括光源如红外激光二极管或发光二极管(LED)。在一些实施方式中,光学传感器模块802使用图像传感器对材料例如木头、布、鼠标垫或其他表面中自然地出现的纹理进行成像。在一些实施方式中,通过数字图像相关技术,这些表面的图像被连续不断地采集并且与彼此进行比较以确定输入设备140相对于表面移动了多远。光学传感器模块802可以被配置成使用连续地被检测的特征(以及交叠图像)之间的相关性沿x轴和y轴以每英寸测量数(CPI)为单位对运动方向和运动量进行估计。
惯性传感器模块804可以被配置成测量输入设备140的加速度。惯性传感器模块804还可以被配置成使用所测量的加速度来获得与输入设备140的XY位移相关的第二组数据。与输入设备140的XY位移相关的第二组数据可以包括输入设备140的加速度数据。在本发明的一些实施方式中,惯性传感器模块804是加速度计。
惯性传感器模块804所测量的加速度可以被表示作为:
a=a线性+(2Ω×v)+(Ω×r)+(Ω×Ω×r)
其中,所测量的加速度是线性加速度以及虚构加速度(科里奥利加速度、欧拉加速度以及离心加速度)的函数,其中,r是图7所示的测量值,表示从输入设备140至旋转点的距离,以及其中:
在一些实施方式中,来自光学传感器模块802和惯性传感器模块804的信号可以由信号处理模块接收并且处理。在本发明的一些实施方式中,信号处理模块可以用于通过去除信号尖峰以及其他频率伪像来清理信号并且降低噪声。
陀螺仪806可以被配置成测量输入设备140的旋转速率或角位移的变化率。该旋转可以通过用户移动输入设备140的运动来引入。除了在输入设备140沿平行于局部坐标系的x轴或y轴的直线被移动的情况以外,旋转还可以被创建。这可以由用户按照弧运动(如由图7中的虚线704所示的)移动输入设备140来引起。该弧可以由用户绕手臂、在手肘处、或在腕关节处旋转输入设备140来引起。
陀螺仪806可以被配置成当输入设备140操作时持续地测量输入设备140的角速度,其中角速度(ω)由下述给出:
其中角度θ表示输入设备140的运动在全局坐标系702中的测量角度。在输入设备140不处于运动中的时间段期间,陀螺仪806的方向可以被复位为零。当输入设备140处于运动中时,陀螺仪806的方向可以以对应于惯性传感器单元404的采样速率定时地(例如,每毫秒)被更新。
状态空间模型模块808可以是被配置成校准惯性传感器模块804的滤波模块。在本发明的一些实施方式中,状态空间模型模块808可以实时地校准惯性传感器模块804。在本发明的一些实施方式中,状态空间模型模块可以从光学传感器模块802和惯性传感器模块804两者接收数据。在一些实施方式中,该校准包括对惯性传感器模块804的偏差进行估计。在一些实施方式中,该校准包括对惯性传感器模块804的偏差和增益两者进行估计。在一些实施方式中,状态空间模型模块可以在加速度数据被修改了以后接收来自惯性传感器模块804的信号以抵消旋转对来自惯性传感器模块804的值的影响。
在本发明的一些实施方式中,状态空间模型模块808可以是扩展卡尔曼滤波器。状态空间模型模块808以全局坐标系702(例如,在图7中的702)来操作并且可以将输出转换至局部坐标系。
状态空间模型模块808可以评估从光学传感器模块802和惯性传感器模块804接收的信号的历史并且估计当前信号应当位于何处。然后,状态空间模型模块808可以确定估计信号与从光学传感器模块802和惯性传感器模块804接收的信号之间的差。例如,如果光学传感器模块802的估计信号与从光学传感器模块802接收的实时信号不匹配,则这可以表示发生了跟踪丢失。可以关于来自惯性传感器模块804的数据来进行相同的分析。在一些实施方式中,估计信号与实时信号必须在预定范围内匹配。
状态空间模型模块808可以执行以下操作:
1.使用以下公式对来自惯性传感器模块804的输出ax和ay进行变换:
2.然后,状态空间模型模块808使用以下公式跟踪输入设备140沿x轴和y轴中的每个轴的运动速度:
sx,t+1=sx+gtux,t-bx,t+w1,t
sy,t+1=sy+gtuy,t-by,t+w2,t
gt+1=gt+w3,t
bx,t+1=bt,k+w4,t
by,t+1=bt,k+w5,k
其中,sx和sy可以是沿x轴和y轴的估计运动速度,g可以是惯性传感器模块804的增益,以及bx和by可以是惯性传感器模块804的偏差。
3.可以使用以下公式来确定对于状态空间模型模块808的误差项,其中opticx和opticy是由光学传感器模块402报告的运动速度:
4.可以通过使用以下公式将在全局坐标系702中的跟踪的速度旋转回输入设备140的局部坐标系来生成所报告的运动(例如,校正的加速度数据):
在一些实施方式中,当输入设备140的移动速度在光学传感器模块802的阈值之下时,状态空间模型模块808可以使用来自光学传感器模块802的第一组数据来校准惯性传感器模块804。在一些实施方式中,比较模块812可以使用状态空间模型所估计的最后已知校准点。
方向更新模块810可以被配置成当输入设备140处于运动中时更新陀螺仪806的方向。可以使用以下更新公式以任意给定时间步长“t”通过矩阵Rt表示陀螺仪806的方向:
当输入设备140不处于运动中时,陀螺仪806的方向可以被复位为零。通过将陀螺仪806的方向复位为零,其提供了对于从当输入设备140下一次开始移动时用于计算的开始点。在本发明的一些实施方式中,方向更新模块810所确定的陀螺仪806的方向可以通过矩阵求逆来被求逆。矩阵求逆可以在数据被发送到状态空间模型模块808和/或被发送到比较模块812和报告模块814之前进行。
比较模块812可以被配置成将状态空间模型模块808的输出与从光学传感器模块802接收的信号数据进行比较。将状态空间模型模块808的输出与从光学传感器模块802接收的信号数据进行比较可以包括确定这两个信号之间的差。如果状态空间模型模块808的输出与来自光学传感器模块802接收的输出之间的差在预定阈值之上,则可以表示跟踪丢失并且可以将跟踪模块240的输出从光学传感器模块802切换至状态空间模型模块808的输出。如果该差在预定阈值之下,则其可以表示没有发生跟踪丢失或者表示光学传感器模块802已经恢复,以及表示来自光学传感器模块802的信号数据有效。
报告模块814可以被配置成将表示输入设备140在给定时间处的位置的数据发送至主机设备110。在一些实施方式中,报告模块814可以是开关,该开关使来自光学传感器模块802的数据通过或者使来自惯性传感器模块804的经滤波和校正的加速度数据通过。在本发明的一些实施方式中,报告模块814可以将数据直接发送至主机设备110。在其他实施方式中,报告模块814可以将数据发送至I/O与通信模块260,其然后将数据传送至主机设备110。在一些实施方式中,输入设备140可以经由硬线链路或经由无线连接而被操作地连接至主机设备110。在使用无线连接的实施方式中,无线连接可以是蓝牙配对连接或任何其他无线标准或专有无线网络协议。
图9是根据本发明的实施方式的来自输入设备的跟踪数据的图900。图9示出了当输入设备140以快速运动被移动时报告模块的输出的示例。仅具有光学传感器的输入设备140的输出是如线902所描绘的。具有状态空间模型模块的输入设备140的输出是如线904所描绘的。在一些实施方式中,输出902和904描绘输入设备140的沿从左至右的运动紧跟着从右至左的运动进行移动的运动。该图还描绘了表示其中输入设备140处于运动中的单独时间段的第一时间段910、第二时间段912、第三时间段914、第四时间段916和第五时间段918。
在第一时间段910中,输入设备140在0ms处从0英寸每秒以增加的速度开始移动。在时间150ms处,输入设备140正以100英寸每秒移动。在本发明的一些实施方式中,贯穿第一时间段910,具有状态空间模型的输入设备904保持稳定,而来自仅具有光学传感器的输入设备902的输出因为跟踪丢失正在发生所以开始波动并且产生不可靠的位移数据。
在第二时间段912中,输入设备140的速度超过100英寸每秒。在该实施方式中,具有光学传感器的输入设备902进入跟踪丢失的时间段,在该跟踪丢失的时间段中,因为光学传感器尝试关联图像所以引起输出来回跳动至任意位置。随着输入设备140慢下来,具有光学传感器的输入设备902开始恢复。在该示例中,具有光学传感器的输入设备902直到速度在大约时间250ms处接近0英寸每秒为止才完全从跟踪丢失恢复。相比之下,具有状态空间模型的输入设备904的输出保持稳定。在第二时间段的结束,输入设备140按照完整的从左至右的运动进行了移动。
在第三时间段914中,输入设备140开始要按照从右至左的运动来移动。在时间300ms处,输入设备140正沿着与初始地从时间0ms移动至250ms的方向相反的方向以100英寸每秒移动。在本发明的一些实施方式中,贯穿第三时间段914,具有状态空间模型的输入设备904保持稳定,而来自仅具有光学传感器的输入设备的输出因为跟踪丢失正在发生所以开始波动。在该示例中,具有光学传感器的输入设备902直到速度在大约时间425ms处接近0英寸每秒为止才完全从跟踪丢失恢复,而具有状态空间模型的输入设备904的输出保持稳定。
在第四时间段916中,因为输入设备140的运动超过光学传感器的上限,所以具有光学传感器的输入设备902再次经历跟踪丢失。随着输入设备140慢下来,具有光学传感器的输入设备902开始恢复。在该示例中,具有光学传感器的输入设备902直到速度在大约时间420ms处接近0英寸每秒为止才完全从跟踪丢失恢复。相比之下,具有状态空间模型的输入设备904的输出贯穿第四时间段916保持稳定。
在第五时间段918中,在输入设备140以相对较慢的运动进行移动时,输入设备140,即具有光学传感器的输入设备902已经从跟踪丢失恢复并且输出稳定并且接近或等于来自具有状态空间模型的输入设备904的输出。
本发明可以用软件或硬件或两者的组合按照控制逻辑的形式来实现。控制逻辑可以作为适于指导信息处理设备执行本发明的实施方式所公开的步骤集合的多个指令而被存储在信息存储介质中。基于本公开内容以及本文所提供的教示,本领域的普通技术人员会意识到实现本发明的其他方式和/或方法。
在实施方式中,本文所描述的任何实体可以由执行所公开的任何功能或全部功能的计算机来体现。
应当注意,除非明确地作出相反表示,否则对单数量词(“a”、“an”或“the”)的任何引用均意在表示“一个或更多个”。
还应该理解,本文所描述的示例和实施方式仅出于说明性目的并且会向本领域技术人员建议根据本发明的各种修改或改变并且这些修改和改变会包括在本申请的精神和范围内以及所附权利要求的范围内。因此,以上描述不应当被理解为对由权利要求限定的本发明的范围进行限制。

Claims (23)

1.一种输入设备,包括:
光学传感器模块,被配置成生成与所述输入设备的相对于表面的XY位移对应的第一组数据;
惯性传感器模块,被配置成测量所述输入设备的加速度并且生成与所述输入设备的所述XY位移对应的第二组数据;以及
微控制器,所述微控制器耦接至所述光学传感器模块和所述惯性传感器模块,所述微控制器被配置成:
接收由所述惯性传感器模块测量的与所述输入设备的所述加速度对应的加速度数据;
使用所述加速度数据来确定所述输入设备的移动速度和位置;
基于所确定的相对于所述表面的移动速度检测跟踪丢失状况;以及
响应于检测到所述跟踪丢失状况,从使用来自所述光学传感器模块的所述第一组数据跟踪所述输入设备的相对于所述表面的所述XY位移切换至使用来自所述惯性传感器模块的所述第二组数据跟踪所述输入设备的相对于所述表面的所述XY位移。
2.根据权利要求1所述的输入设备,其中,所述惯性传感器模块是加速度计。
3.根据权利要求1所述的输入设备,其中,从使用来自所述光学传感器模块的所述第一组数据跟踪所述输入设备的所述XY位移切换至使用来自所述惯性传感器模块的所述第二组数据跟踪所述输入设备的所述XY位移还包括:使用由状态空间模型估计的最后已知校准点。
4.根据权利要求3所述的输入设备,其中,所述状态空间模型是扩展卡尔曼滤波器。
5.根据权利要求4所述的输入设备,其中,从使用来自所述光学传感器模块的所述第一组数据跟踪所述输入设备的所述XY位移切换至使用来自所述惯性传感器模块的所述第二组数据跟踪所述输入设备的所述XY位移基于所述输入设备的移动速度,其中,当所述输入设备的所述移动速度在阈值速度之下时,所述扩展卡尔曼滤波器使用来自所述光学传感器模块的所述第一组数据来校准所述惯性传感器模块。
6.根据权利要求5所述的输入设备,其中,所述跟踪丢失状况当所述输入设备的所述移动速度超过所述阈值速度时被检测到。
7.根据权利要求6所述的输入设备,其中,所述跟踪丢失状况实时地被检测到。
8.根据权利要求1所述的输入设备,其中,所述跟踪丢失状况当所述光学传感器模块所估计的第一移动速度与所述惯性传感器模块所估计的第二移动速度之间的差超过阈值时被检测到。
9.一种操作输入设备的方法,所述方法包括:
通过光学传感器模块生成与所述输入设备的相对于表面的XY位移对应的第一组数据;
通过惯性传感器模块生成与所述输入设备的相对于所述表面的所述XY位移对应的第二组数据;
使用由所述光学传感器模块生成的所述第一组数据跟踪所述输入设备的所述XY位移;
基于所述第一组数据检测所述光学传感器模块的跟踪丢失状况是否已经发生;以及
响应于检测到所述光学传感器模块的所述跟踪丢失状况,从使用来自所述光学传感器模块的所述第一组数据跟踪所述输入设备的相对于所述表面的所述XY位移切换至使用来自所述惯性传感器模块的所述第二组数据跟踪所述输入设备的相对于所述表面的所述XY位移。
10.根据权利要求9所述的方法,其中,所述光学传感器模块的所述跟踪丢失状况当所述光学传感器模块所估计的第一移动速度与所述惯性传感器模块所估计的第二移动速度之间的差超过阈值时被检测到。
11.根据权利要求9所述的方法,其中,所述光学传感器模块的所述跟踪丢失状况当所述输入设备的移动速度超过阈值时被检测到。
12.根据权利要求11所述的方法,其中,确定所述输入设备的所述移动速度还包括:
确定由所述惯性传感器模块测量的所述输入设备的加速度的加速度数据;以及
使用所述加速度数据来确定所述输入设备的所述移动速度和位置数据。
13.根据权利要求9所述的方法,还包括:
确定所述光学传感器模块是否已经从所述跟踪丢失状况恢复;以及当所述光学传感器模块已经从所述跟踪丢失状况恢复时,从使用来自所述惯性传感器模块的所述第二组数据跟踪所述输入设备的所述XY位移切换至使用来自所述光学传感器模块的所述第一组数据跟踪所述输入设备的所述XY位移。
14.一种输入设备,包括:
光学传感器模块,用于生成与所述输入设备的相对于表面的XY位移相关的第一组数据;
惯性传感器模块,用于测量所述输入设备的加速度并且生成与所述输入设备的相对于所述表面的所述XY位移对应的第二组数据;以及
陀螺仪,用于测量所述输入设备的旋转速率;以及
微控制器,所述微控制器耦接至所述光学传感器模块、所述陀螺仪和所述惯性传感器模块,所述微控制器用于:
使用所述输入设备的所测量的旋转速率修改所述输入设备的所测量的加速度;
使用经修改的加速度数据确定所述输入设备的移动速度和位置数据;
基于所确定的移动速度检测跟踪丢失状况;以及
响应于检测到所述跟踪丢失状况,从使用来自所述光学传感器模块的所述第一组数据跟踪所述输入设备的相对于所述表面的所述XY位移切换至使用来自所述惯性传感器模块的所述第二组数据跟踪所述输入设备的相对于所述表面的所述XY位移。
15.根据权利要求14所述的输入设备,其中,修改所述输入设备的加速度数据包括:抵消所述输入设备的经测量的旋转速率。
16.根据权利要求14所述的输入设备,其中,所述跟踪丢失状况当所述光学传感器模块所估计的第一移动速度与所述惯性传感器模块所估计的第二移动速度之间的差超过阈值时被检测到。
17.根据权利要求14所述的输入设备,其中,所述跟踪丢失状况当所述输入设备的移动速度超过阈值时被检测到。
18.根据权利要求14所述的输入设备,其中,所述微控制器被配置成:当所述输入设备处于运动中时,使用由所述陀螺仪测量的所述输入设备的所述旋转速率来持续地更新所述输入设备的方向。
19.一种操作输入设备的方法,所述方法包括:
通过光学传感器模块生成与所述输入设备的相对于表面的XY位移相关的第一组数据;
通过惯性传感器模块生成与所述输入设备的相对于所述表面的所述XY位移相关的第二组数据;
通过陀螺仪测量所述输入设备的旋转速率;
使用所述输入设备的所测量的旋转速率来修改所述第二组数据;
基于所述第一组数据检测所述光学传感器模块的跟踪丢失状况是否已经发生;以及
响应于检测到所述光学传感器模块的所述跟踪丢失状况,从使用来自所述光学传感器模块的所述第一组数据跟踪所述输入设备的所述XY位移切换至使用来自所述惯性传感器模块的经修改的第二组数据跟踪所述输入设备的所述XY位移。
20.根据权利要求19所述的方法,其中,所述光学传感器模块的所述跟踪丢失状况当所述光学传感器模块所估计的第一移动速度与所述惯性传感器模块所估计的第二移动速度之间的差超过阈值时被检测到。
21.根据权利要求19所述的方法,其中,所述光学传感器模块的所述跟踪丢失状况当所述输入设备的移动速度超过阈值时被检测到。
22.根据权利要求21所述的方法,其中,确定所述输入设备的所述移动速度还包括:
确定由所述惯性传感器模块测量的所述输入设备的加速度的加速度数据;以及
使用所述加速度数据来确定所述输入设备的所述移动速度和位置数据。
23.根据权利要求19所述的方法,还包括:
确定所述光学传感器模块是否已经从所述跟踪丢失状况恢复;以及
当所述光学传感器模块已经从所述跟踪丢失状况恢复时,从使用来自所述惯性传感器模块的所述第二组数据跟踪所述输入设备的所述XY位移切换至使用来自所述光学传感器模块的所述第一组数据跟踪所述输入设备的所述XY位移。
CN201510040928.7A 2014-01-27 2015-01-27 使用混合跟踪的输入设备 Active CN104915023B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/165,290 US9658701B2 (en) 2014-01-27 2014-01-27 Input device with hybrid tracking
US14/165,290 2014-01-27

Publications (2)

Publication Number Publication Date
CN104915023A CN104915023A (zh) 2015-09-16
CN104915023B true CN104915023B (zh) 2018-01-16

Family

ID=53678725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510040928.7A Active CN104915023B (zh) 2014-01-27 2015-01-27 使用混合跟踪的输入设备

Country Status (2)

Country Link
US (1) US9658701B2 (zh)
CN (1) CN104915023B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9529459B2 (en) * 2014-04-21 2016-12-27 Pixart Imaging (Penang) Sdn. Bhd. Reduction of silicon die size for a navigational sensor using ultra high frame rate acquisition
US10078377B2 (en) * 2016-06-09 2018-09-18 Microsoft Technology Licensing, Llc Six DOF mixed reality input by fusing inertial handheld controller with hand tracking
US10203781B2 (en) * 2016-06-24 2019-02-12 Microsoft Technology Licensing, Llc Integrated free space and surface input device
CN107831920B (zh) * 2017-10-20 2022-01-28 广州视睿电子科技有限公司 光标移动显示方法、装置、移动终端及存储介质
US20200116484A1 (en) * 2018-10-12 2020-04-16 Id Technologies Inc. Mobile Surface Scanner And Associated Method
US20220113163A1 (en) * 2020-10-08 2022-04-14 Deere & Company Methods and apparatus to automate multi-point inertial sensor calibration

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1797292A (zh) * 2004-12-28 2006-07-05 业盛科技股份有限公司 高灵敏度惯性鼠标
CN101598971A (zh) * 2008-06-03 2009-12-09 华硕电脑股份有限公司 计算机系统的输入装置及其操作方法
CN103309469A (zh) * 2012-03-13 2013-09-18 原相科技股份有限公司 位移检测装置及其操作方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7898524B2 (en) * 2005-06-30 2011-03-01 Logitech Europe S.A. Optical displacement detection over varied surfaces
TWI391845B (zh) * 2007-09-14 2013-04-01 Sony Corp An input device, a control device, a control system, a control method, and a handheld device
US20100066672A1 (en) * 2008-09-15 2010-03-18 Sony Ericsson Mobile Communications Ab Method and apparatus for mobile communication device optical user interface
US9201519B2 (en) * 2013-08-14 2015-12-01 Amchael Visual Technology Corporation Three-dimensional pointing using one camera and three aligned lights

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1797292A (zh) * 2004-12-28 2006-07-05 业盛科技股份有限公司 高灵敏度惯性鼠标
CN101598971A (zh) * 2008-06-03 2009-12-09 华硕电脑股份有限公司 计算机系统的输入装置及其操作方法
CN103309469A (zh) * 2012-03-13 2013-09-18 原相科技股份有限公司 位移检测装置及其操作方法

Also Published As

Publication number Publication date
US9658701B2 (en) 2017-05-23
CN104915023A (zh) 2015-09-16
US20150211839A1 (en) 2015-07-30

Similar Documents

Publication Publication Date Title
CN104915023B (zh) 使用混合跟踪的输入设备
US11044402B1 (en) Power management for optical position tracking devices
TWI544447B (zh) 擴增實境的方法及系統
US9303982B1 (en) Determining object depth information using image data
JP2016038905A (ja) 入力装置および機器制御方法
CN107407965A (zh) 连接至移动计算设备的虚拟现实头戴设备
WO2018106220A1 (en) Systems and methods for tracking motion and gesture of heads and eyes
US10296096B2 (en) Operation recognition device and operation recognition method
CN102906809A (zh) 图像显示装置、图像显示控制方法和程序
CN111724412A (zh) 确定运动轨迹的方法、装置及计算机存储介质
TW201830050A (zh) 追蹤系統、追蹤裝置及追蹤方法
CN108646925B (zh) 一种分体式头戴显示器系统及交互方法
CN103870066A (zh) 光学感测装置以及检测光学感测装置周边的对象的方法
CN110705551B (zh) 按键位置的识别方法、装置、电子设备和存储介质
CN106843503B (zh) 一种显示装置及其控制方法
JP2022531186A (ja) 情報処理方法、装置、電子機器、記憶媒体およびプログラム
CN116051600A (zh) 产品检测轨迹的优化方法和装置
Gouthaman et al. Gesture detection system using smart watch based motion sensors
JP2014215750A (ja) 電子機器、キャリブレーション方法およびプログラム
CN103425402A (zh) 一种移动终端姿态的检测方法及其装置
CN110072010A (zh) 一种跌落检测方法及终端设备
JP2010091462A (ja) 相対加速度検出装置、相対加速度の検出方法およびプログラム
CN113498502A (zh) 使用外部传感器的手势检测
CN111813280B (zh) 显示界面的控制方法、装置、电子设备及可读存储介质
TW201621651A (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
CB03 Change of inventor or designer information

Inventor after: Arash Salarin

Inventor after: Chauvin Nicolas

Inventor after: Vanrell David Tarongi

Inventor before: Arash Salarin

Inventor before: Chauvin Nicolas

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant