CN115808982A - 获取光标位置的方法、装置及存储介质 - Google Patents

获取光标位置的方法、装置及存储介质 Download PDF

Info

Publication number
CN115808982A
CN115808982A CN202111068420.XA CN202111068420A CN115808982A CN 115808982 A CN115808982 A CN 115808982A CN 202111068420 A CN202111068420 A CN 202111068420A CN 115808982 A CN115808982 A CN 115808982A
Authority
CN
China
Prior art keywords
cursor
signals
time point
information
transmitting devices
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.)
Pending
Application number
CN202111068420.XA
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202111068420.XA priority Critical patent/CN115808982A/zh
Publication of CN115808982A publication Critical patent/CN115808982A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Position Input By Displaying (AREA)

Abstract

本申请公开了一种获取光标位置的方法、装置及存储介质,属于通信领域。所述方法包括:获取空鼠设备接收到的M个第一信号的信息,所述M个第一信号是由M个发射设备分别发射的信号,所述M为大于或等于3的整数;基于所述M个第一信号的信息获取光标在第一时间点的第一位置,所述光标为所述空鼠设备在显示平面中对应的光标,所述第一时间点为所述空鼠设备接收到所述M个第一信号的时间点,所述显示平面为显示设备的显示区域所在的平面。本申请能够提高获取光标位置的精度。

Description

获取光标位置的方法、装置及存储介质
技术领域
本申请涉及通信领域,特别涉及一种获取光标位置的方法、装置及存储介质。
背景技术
多媒体显示技术广泛应用于教育、会议等场景。在该场景中,在将需要显示的内容显示在显示屏上后,用户手握空鼠并通过空鼠在显示屏上显示光标,以让听众能够跟随用户演讲的思路。
目前在显示屏上显示光标的过程为:获取空鼠当前的姿态角,基于该姿态角获取光标的移动速度,基于最近上一次获取的光标位置和该移动速度,获取当前的光标位置,基于该当前的光标位置在显示屏上显示光标。
在实现本申请的过程中,发明人发现现有技术至少存在以下问题:
上述方案每次获取的光标位置包含误差,而当前的光标位置是基于最近上一次获取的光标位置得到的,这样随着时间推移,该误差会累积,使得误差越来越大,导致获取的光标位置的精度越来越低,用户体验较差。
发明内容
本申请提供了一种获取光标位置的方法、装置及存储介质,提高获取光标位置的精度。所述技术方案如下:
第一方面,本申请提供了一种获取光标位置的方法,在所述方法中,获取空鼠设备接收到的M个第一信号的信息,M个第一信号是由M个发射设备分别发射的信号,M为大于或等于3的整数。基于M个第一信号的信息获取光标在第一时间点的第一位置,光标为空鼠设备在显示平面中对应的光标,第一时间点为空鼠设备接收到M个第一信号的时间点,显示平面为显示设备的显示区域所在的平面。由于获取到在第一时间点空鼠设备接收的M个第一信号,基于该M个第一信号获取光标在第一时间点的第一位置,使得获取的第一位置为光标的实际位置或接近光标的实际位置,从而提高获取光标位置的精度。
在一种可能的实现方式中,基于第一移动速度和第一位置,获取光标在第二时间点的第二位置,第一移动速度是光标从第一时间点到第二时间点的移动速度。由于第一位置为光标的实际位置或接近光标的实际位置,这样在第二时间点基于第一位置和第一移动速度获取第二位置,可以提高获取第二位置的精度。
在另一种可能的实现方式中,M个第一信号的信息包括M个第一信号的发射时间、接收时间和M个发射设备的设备信息。这样基于该M个第一信号的信息可以获取空鼠设备的空间位置,进而基于该空间位置可以准确地获取到在第一时间点光标的第一位置。
在另一种可能的实现方式中,M个发射设备的设备信息包括M个发射设备的位置和/或设备标识。
在另一种可能的实现方式中,基于M个第一信号的发射时间、接收时间和M个发射设备的设备信息,获取空鼠设备的第一空间位置。基于第一空间位置确定第一位置。由于基于每个第一信号的信息可以准确地获取空鼠设备的第一空间位置,这样基于第一空间位置可以准确地获取到在第一时间点光标的第一位置。
在另一种可能的实现方式中,基于M个第一信号的发射时间、接收时间和M个发射设备的设备信息,获取空鼠设备的第一空间位置。基于第二空间位置和第一空间位置,获取第二移动速度,第二移动速度为光标在第三时间点到第一时间点的移动速度,第三时间点位于第一时间点之前,第二空间位置是在第三时间点获取的空鼠设备的空间位置。基于第三位置和第二移动速度,获取第一位置,第三位置是光标在第三时间点的位置。由于第二移动速度是第二空间位置和第一空间位置获取的,从而可以提高第二移动速度的精度,这样基于第三位置和第二移动速度,可以提高获取第一位置的精度。
在另一种可能的实现方式中,空鼠设备包括第一接收器和第二接收器,第一接收器和第二接收器位于空鼠设备的两个不同位置上,第一接收器用于接收M个第一信号,第二接收器用于接收N个第二信号,N个第二信号是由N个发射设备分别发射的信号,N为大于或等于3的整数。基于M个第一信号的发射时间、接收时间和M个发射设备的设备信息,获取第一接收器的第一空间位置。基于N个第二信号的发射时间、接收时间和N个发射设备的设备信息,获取第二接收器的第三空间位置。基于第一空间位置和第三空间位置,获取空鼠设备的轴线与显示平面的交点位置,得到第一位置。
由于基于M个第一信号的信息准确地获取到第一空间位置,基于N个第二信号的信息准确地获取到第二空间位置,基于第一空间位置和第二空间位置可以空鼠设备的轴线与显示平面的交点位置,使得第一位置为光标的实际位置,提高第一位置的精度。
在另一种可能的实现方式中,获取第一姿态角和第二姿态角,第一姿态角为空鼠设备在第一时间点的姿态角,第二姿态角为空鼠设备在第二时间点的姿态角。基于第一姿态角和第二姿态角,获取第一移动速度。由于第一姿态角为空鼠设备在第一时间点的姿态角,第二姿态角为空鼠设备在第二时间点的姿态角,这样可以准确地获取到光标在第一时间点到第二时间点的第一移动速度,进而基于第一移动速度可以提高获取的第二位置的精度。
在另一种可能的实现方式中,基于空鼠设备在第一时间点到显示平面的距离获取投射系数,该投射系数用于指示空鼠设备的姿态角变化幅度与光标的移动位移之间的关系。基于第一移动速度、第一位置和该投射系数,获取光标在第二时间点的第二位置。
由于空鼠设备离显示平面的距离不同,空鼠设备的姿态角变化幅度与光标的移动位移之间的关系也不同,而该投射系数是基于该距离得到的,在获取第二位置时引入该投射参数,从而提高了获取第二位置的精度。
在另一种可能的实现方式中,基于M个第一信号的接收顺序,获取M个发射设备的设备信息,简化了获取设备信息的过程,减小获取光标位置的运算复杂度。
在另一种可能的实现方式中,M个发射设备在指定时间发射各自的信号。这样可以将该指定时间作为每个信号的发射时间,简化了获取设备信息的过程,减小获取光标位置的运算复杂度。
在另一种可能的实现方式中,接收空鼠设备发送的M个第一信号的信息,如此显示设备或第三方设备可以基于该M个第一信号的信息获取光标的位置,这样空鼠设备不用获取光标位置,可以降低空鼠设备的硬件成本。
在另一种可能的实现方式中,M个发射设备位于显示设备上,这样该M个发射设备和显示设备成为一集,这样在使用时不用单独安装该M个发射设备,方便使用。
在另一种可能的实现方式中,M个发射设备分别位于显示设备的M个顶角位置,。
第二方面,本申请提供了一种获取光标位置的装置,用于执行第一方面或第一方面的任意一种可能的实现方式中的方法。具体地,所述装置包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。
第三方面,本申请提供了一种获取光标位置的设备,所述设备包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中的计算机程序,使得所述设备完成第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,并且所述计算程序通过计算机进行加载来实现上述第一方面或第一方面任意可能的实现方式的方法。
第五方面,本申请提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序通过计算机进行加载来执行上述第一方面或第一方面任意可能的实现方式的方法。
第六方面,本申请提供了一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以执行上述第一方面或第一方面任意可能的实现方式的方法。
第七方面,本申请提供了一种获取光标位置的系统,所述系统包括空鼠设备、显示设备和至少三个发射设备,每个发射设备用于发射信号。
空鼠设备用于接收M个第一信号,M个第一信号是由M个发射设备分别发射的信号,M为大于或等于3的整数,该至少三个发射设备包括该M个发射设备;基于该M个第一信号的信息获取光标在第一时间点的第一位置,光标为空鼠设备在显示平面中对应的光标,第一时间点为空鼠设备接收到M个第一信号的时间点,显示平面为显示设备的显示区域所在的平面,向显示设备发送第一位置。显示设备用于接收第一位置。或者,
空鼠设备用于接收M个第一信号,M个第一信号是由M个发射设备分别发射的信号,M为大于或等于3的整数,该至少三个发射设备包括该M个发射设备;向显示设备发送该M个第一信号的信息。显示设备用于基于该M个第一信号的信息获取光标在第一时间点的第一位置,光标为空鼠设备在显示平面中对应的光标,第一时间点为空鼠设备接收到M个第一信号的时间点,显示平面为显示设备的显示区域所在的平面。
由于获取到空鼠设备在第一时间点空鼠设备接收的M个第一信号,基于该M个第一信号获取光标在第一时间点的第一位置,使得获取的第一位置为光标的实际位置或接近光标的实际位置,从而提高获取光标位置的精度。
附图说明
图1是本申请实施例提供的一种时间轴示意图;
图2是本申请实施例提供的一种网络架构示意图;
图3是本申请实施例提供的另一种网络架构示意图;
图4是本申请实施例提供的另一种网络架构示意图;
图5是本申请实施例提供的另一种网络架构示意图;
图6是本申请实施例提供的一种空鼠设备结构示意图;
图7是本申请实施例提供的一种显示设备结构示意图;
图8是本申请实施例提供的一种获取光标位置的方法流程图;
图9是本申请实施例提供的另一种获取光标位置的方法流程图;
图10是本申请实施例提供的一种获取光标位置的装置结构示意图;
图11是本申请实施例提供的一种获取光标位置的设备结构示意图。
具体实施方式
下面将结合附图对本申请实施方式作进一步地详细描述。
对于空鼠设备在显示设备所在显示平面中的光标位置,该光标位置是空鼠设备或显示设备周期性获取的,为了便于说明将获取光标位置的周期称为第一周期。第一周期的周期长度往往较短,例如第一周期的周期长度往往为10毫秒、15毫秒或20毫秒等,这样使得用户在显示设备上看到的光标移动轨迹是比较流畅的移动轨迹。
其中,每个第一周期获取的光标位置包含误差,而当前的光标位置是基于最近上一次获取的光标位置得到的,这样随着时间推移,该误差会累积,使得误差越来越大。
为了清除或减小光标位置中的误差,本实施例在空鼠设备工作的过程中,通过部署多个信号发射设备且在空鼠设备上部署信号接收器,然后利用空鼠设备接收多个发射设备的信号的信息对光标的位置进行矫正。其中,上述矫正光标位置的过程也可以周期性地进行,以保证空鼠设备在工作的过程中,空鼠设备或显示设备确定的光标位置始终在一定的误差范围内。为了便于说明,将矫正光标位置的周期称为第二周期,第二周期的周期长度通常大于第一周期的周期长度,例如,第二周期的周期长度可以为1秒、2秒或3秒等。
参见图1,以下对本申请涉及的概念进行介绍:
第一时间点,为空鼠设备在工作过程中接收到M个第一信号的时间点,或者,为空鼠设备接收到M个第一信号和N个第二信号的时间点,M和N均为大于或等于3的整数。
第二时间点,为位于第一时间点之后的第一个第一周期到达时间点,第二时间点与第一时间点之间的时间差小于或等于第一周期的周期长度。
第三时间点,位于第一时间点之前,第三时间点到第一时间点为一个第二周期,即第三时间点与第一时间点之间间隔第二周期的周期长度。
第四时间点,为空鼠设备在启动后首次接收到X个第一信号的时间点,或者,为空鼠设备在启动后首次接收到X个第一信号和Y个第二信号的时间点,X和Y均为大于或等于3的整数。
该M个第一信号和该X个第一信号是空鼠设备在不同时间点接收的第一信号,该N个第二信号和该Y个第二信号是空鼠设备在不同时间点接收的第二信号,X、Y、M、N均为大于或等于3的整数,四者可能相等也可能不相等。
第一空间位置,为空鼠设备的第一接收器在第一时间点的空间位置。
第二空间位置,为空鼠设备的第一接收器在第三时间点的空间位置。
第三空间位置,为空鼠设备的第二接收器在第一时间点的空间位置。
第四空间位置,为空鼠设备的第一接收器在第四时间点的空间位置。
第五空间位置,为空鼠设备的第二接收器在第四时间点的空间位置。
第一信息,用于指示在当前第一周期内光标的移动速度。在当前第一周期内光标的移动速度实质为在当前第一周期内光标在显示平面上的移动速度,在本申请中为了便于说明简称为在当前第一周期内光标的移动速度,在本申请中其他出现相似文字的含义就不再一一说明。
第二信息,用于指示空鼠设备启动时的初始姿态角。
第三信息,用于指示第一姿态角,第一姿态角是空鼠设备在第一时间点的姿态角。
第四信息,用于指示第二姿态角,第二姿态角为空鼠设备在第二时间点的姿态角。
参见图2-5,本申请实施例提供了一种网络架构100,包括:
空鼠设备1、显示设备2和至少三个发射设备3,空鼠设备1分别与显示设备2和该至少三个发射设备3通信。其中,每个发射设备3的位置是已知的,且每个发射设备3的位置不同。
每个发射设备3的位置是在指定坐标系下的位置。每个发射设备3使用的坐标系和显示设备2使用的坐标系均为该指定坐标系。
在一些实施例中,指定坐标系是以显示设备2的左上顶角位置为坐标原点,以显示设备2的水平边框所在直线水平向右为X轴正方向,以竖直向下方向为Y轴正方向,以垂直显示设备2向外为Z轴正方向的三维空间坐标系。其中,指定坐标系的坐标原点也可以为显示设备2的左下顶角位置、右上顶角位置、右下顶角位置或其他位置,指定坐标系的每个坐标轴方向除了上述定义的方向外,也可以是其他方向,在此不再一一列举。
在一些实施例中,该网络架构100应用于多媒体显示等领域。例如,在教育或会议等场景下,使用显示设备2显示多媒体内容。用户手握空鼠设备1,通过空鼠设备1在显示设备2上显示光标,以让听众跟随用户的演讲思路;或者,通过空鼠设备1对显示的内容进行标注、画图、书写和/或拖拽对象等。在一些实施例中,该对象为窗口、图标或文件等内容。该多媒体内容为图片、文字、视频和/或音频等。
在上述场景下,显示设备2通常需要周期性地获取光标在显示平面上的位置(为了便于说明在本申请中直接将光标在显示平面上的位置简称为光标的位置,在本申请中其他出现相似文字的含义就不再一一说明),并基于该周期性获取的光标的位置实现显示光标、标注、画图、书写或拖拽对象等功能。其中,显示平面为显示设备2的显示区域21所在的平面。
显示设备2包括显示功能,这样显示设备2通过显示功能实现上述显示光标、标注等功能。
在一些实施例中,显示设备2还包括计算功能,这样显示设备2通过计算功能可以计算光标的位置。或者,显示设备2也可以不包括计算功能,这样显示设备2可以接收空鼠设备1周期性发送的光标的位置,或者,接收除空鼠设备1之外的第三方设备发送的光标的位置。
在本申请实施例中,列举了如下两种方式获取光标的位置。当然,还有其他实现获取光标位置的方式,在此不再一一列举。该两种方式分别为:
第一种方式,空鼠设备1基于第一周期周期性地获取光标的位置,并周期性地向显示设备2发送获取的位置,如此显示设备2可以周期性地得到光标的位置。在实现时:在当前第一周期的开始时间点到达时,空鼠设备1获取光标在上一个第一周期(当前第一周期的前一个第一周期)内的移动速度,基于保存的上一个第一周期的光标位置和该移动速度,获取在当前第一周期的光标的位置,并向显示设备2发送当前第一周期的光标的位置(当前的光标位置),从而让显示设备2获取当前第一周期内的光标的位置。空鼠设备1还将保存的上一个第一周期的光标位置更新为该当前第一周期的光标的位置;以便于后续进一步基于更新后的上一个第一周期的光标位置计算当前第一周期的下一个第一周期的光标位置。
第二种方式,显示设备2基于第一周期周期性地获取光标的位置。在实现时:
空鼠设备1在当前第一周期的开始时间点到达时,获取第一信息,第一信息用于指示在上一个第一周期内光标的移动速度,向显示设备2发送第一信息。显示设备2接收第一信息,基于第一信息获取该移动速度,基于保存的上一个第一周期(当前第一周期的上一个第一周期)内获取的光标位置和该移动速度,获取当前第一周期的光标的位置(当前的光标位置)。显示设备2还将保存的上一个第一周期内获取的光标位置更新为当前第一周期的光标的位置,以便于后续进一步基于更新后的上一个第一周期的光标位置计算当前第一周期的下一第一周期的光标位置。
对于上述介绍的第三方设备,第三方设备可以接收空鼠设备1周期性发送的第一信息,基于第一信息获取该移动速度,基于保存的上一个第一周期内获取的光标位置和该移动速度,获取当前第一周期的光标的位置,向显示设备2发送光标的位置。
在上述几种方式中,获取的光标位置包含误差,而当前光标的位置是基于上一个第一周期内获取的光标位置得到的,这样随着时间推移,该误差会累积,使得误差越来越大。为了解决该问题,本申请使该至少三个发射设备3中的各发射设备3向空鼠设备1发射信号,并基于该至少三个发射设备3发射的信号的信息来准确地确定光标的位置。具体地,本申请中确定光标位置的方案包括:获取空鼠设备1接收到的M个第一信号的信息,M为大于或等于3的整数,该M个第一信号是由M个发射设备分别发射的信号,该至少三个发射设备3包括该M个发射设备。基于该M个第一信号的信息获取光标在第一时间点的第一位置,该光标为空鼠设备1在显示平面中对应的光标,第一时间点为空鼠设备1接收完该M个第一信号的时间点,显示平面为显示设备2所在的平面。其中,第一位置为光标在第一时间点的实际位置或第一位置接近该实际位置,此时空鼠设备1或显示设备2将保存的上一个第一周期内获取的光标位置更新为第一位置,可以减小光标位置的误差。从而在下一个第一周期到达(即当前时间点)时,空鼠设备1或显示设备2基于光标的移动速度和保存的第一位置,获取光标在当前时间点的第二位置,该移动速度为光标从第一时间点到当前时间点在显示平面上的移动速度。
由于减小保存的第一位置的误差,这样基于第一位置和光标的移动速度,获取的第二位置的精度较高,减小了空鼠设备1或显示设备2获取光标位置的误差。
其中,该M个发射设备是该至少三个发射设备3中的部分发射设备或全部发射设备。
在一些实施例中,该至少三个发射设备3中的每个发射设备持续性地发射信号,或者,每个发射设备基于第二周期周期性地发射信号。
在一些实施例中,空鼠设备1持续性地接收信号,或者,基于第二周期周期性地接收信号。
其中,发射设备采用第二周期周期性地发射信号,空鼠设备1采用第二周期周期性地接收信号,可以减小发射设备和接收设备的功耗。
在一些实施例中,参见图3或图4,该至少三个发射设备3位于显示设备2上。例如该至少三个发射设备3位于显示设备2的不同顶角位置处,或者,位于显示设备2的边缘上。
在一些实施例中,参见图5,该M个发射设备3位于显示设备2外。
在一些实施例中,参见图6,空鼠设备1包括第一运算单元11、第一通信单元12、运动传感器13、第一接收器14,第一运算单元11分别与第一通信单元12、运动传感器13和第一接收器14相连。以及,参见图7,显示设备2包括第二运算单元22和第二通信单元23,第二运算单元22与第二通信单元23相连。
运动传感器13,用于采集空鼠设备1的加速度和角速度。
在一些实施例中,该加速度包括X轴方向加速度,Y轴方向加速度和Z轴方向加速度;该角速度包括X轴方向角速度,Y轴方向角速度和Z轴方向角速度。此处的X轴、Y轴和Z轴为空鼠设备1的坐标系的三个坐标轴。
第一接收器14,用于接收该M个第一信号。
对于上述第一种方式,第一运算单元11用于基于运动传感器13当前采集的加速度和角速度,获取当前第一周期内光标的移动速度,基于保存的上一个第一周期内获取的光标位置和该移动速度,获取当前光标的位置。第一通信单元12用于向显示设备2发送当前光标的位置。第二通信单元23用于接收该位置,如此显示设备2得到光标的位置。
第一运算单元11还用于基于该M个第一信号的信息获取光标在第一时间点的第一位置,将保存的上一个第一周期内获取的光标位置更新为第一位置。
对于上述第二种方式,第一运算单元11用于基于运动传感器13在当前采集的加速度和角速度,获取第一信息。第一通信单元12用于向显示设备2发送第一信息。第二通信单元23用于接收第一信息,第二运算单元22用于基于第一信息获取光标的移动速度,基于保存的上一个第一周期内获取的光标位置和该移动速度,获取当前光标的位置。
第一通信单元12还用于向显示设备2发送该M第一信号的信息。第二通信单元23还用于接收该M个第一信号的信息,第二运算单元22还用于基于该M个第一信号的信息获取光标在第一时间点的第一位置,将保存的上一个第一周期内获取的光标位置更新为第一位置。
在一些实施例中,参见图6,空鼠设备1还包括第二接收器15,第一接收器14和第二接收器15位于空鼠设备1的两个不同位置上。第一运算单元11还与第二接收器15相连,第二接收器15用于接收N个第二信号,该N个第二信号是由N个发射设备分别发射的信号,N为大于或等于3的整数。该M个发射设备和该N个发射设备是完全不同的设备,或者,该M个发射设备和该N个发射设备之间存在部分发射设备相同,或者,该M个发射设备包括该N个设备发射设备,或者,该N个发射设备包括该M个发射设备。
上述第一时间点为第一接收器14接收完该M个第一信号以及第二接收器15接收完该N个第二信号的时间点。对于光标在第一时间点的第一位置,可以基于该M个第一信号的信息和该N个第二信号的信息得到。
上述M个发射设备和上述N个发射设备可能相同,或者,上述M个发射设备和上述N个发射设备可能不同。
其中,需要说明的是:对于该至少三个发射设备3中任一个发射设备,该发射设备在以自己为顶点的一个扇形空间区间内发射信号,该扇形空间区域的截面是扇形,第一接收器14和/或第二接收器15位于该空间区域内就可能接收到该发射设备发射的信号。
在一些实施例中,该发射设备发射的信号可能是红外信号、蓝牙信号、超声波信号或其他无线通信信号。
在一些实施例中,空鼠设备1的形状为笔形或其他形状,在空鼠设备1包括第一接收器14,而不包括第二接收15时,第一接收器14位于空鼠设备1的笔尖位置或笔尾端位置。
在一些实施例中,第一接收器14和第二接收器15位于空鼠设备1的侧面,且第一接收器14和第二接收器15之间的连线与空鼠设备1的轴线平行。
在一些实施例中,参见图6,空鼠设备1还包括至少一个启动开关16。第一运算单元11与至少一个启动开关16相连。
在一些实施例中,每个启动开关16与空鼠设备1工作的一种工作模式相对应,每个启动开关16对应的工作模式不同。
例如,该至少一个启动开关16包括第一启动开关、第二启动开关和第三启动开关。
第一启动开关与空鼠设备1工作的光标显示模式相对应,所谓光标显示模式是指通过空鼠设备1在显示设备2上显示光标。第一启动开关用于触发空鼠设备1启动并在显示设备2上显示光标。也就是说:用户通过第一启动开关控制空鼠设备1启动,显示设备2通过上述第一种方式或第二种方式获取光标的位置,并显示光标,以让用户看到显示的光标。
第二启动开关与空鼠设备1工作的画线模式相对应,所谓画线模式是指通过空鼠设备1在显示设备2上绘制线段。第二启动开关用于触发空鼠设备1启动并工作在画线模式。也就是说:用户通过第二启动开关控制空鼠设备1启动并工作在画线模式,显示设备2通过上述第一种方式或第二种方式获取当前光标的位置,并绘制上一个第一周期内获取的光标位置到当前光标的位置的线段,以让用户看到光标的运动轨迹。
由于显示设备2可以基于第一周期周期性地获取光标的位置,这样在每个第一周期内显示设备1绘制一条线段,每个第一周期内的线段首尾相连,从而实现标注、画图和/或书写等操作。并且,因为获取光标位置的周期间隔通常很短(例如,10ms),所以在上述场景下,通常能较流畅地确定光标的连续的移动轨迹。
第三启动开关与空鼠设备1工作的对象拖动模式相对应,所谓对象拖动模式是指通过空鼠设备1在显示设备2上拖动对象。第三启动开关用于触发空鼠设备1启动并工作在对象拖动模式。也就是说:用户通过第三启动开关控制空鼠设备1启动并工作在对象拖动模式,然后通过上述第一种方式或第二种方式获取当前光标的位置,显示设备2将待拖动对象从上一个第一周期内获取的光标位置移动到当前光标的位置,待拖动对象为位于上一个第一周期内获取的光标位置的对象,以让用户看到对象拖动。
其中,需要说明的是:上述通过不同的启动开关,将空鼠设备1在不同工作模式之间切换,当然除了使用不同启动开关外,还可以使用其他方式将空鼠设备1在不同工作模式之间切换。例如可以向显示设备2或空鼠设备1输入空鼠设备的工作模式,实现将空鼠设备1在不同工作模式之间切换,输入方式可以为语音输入或按钮输入等。
在一些实施例中,上述发射设备3为红外发射设备、蓝牙发射设备、超声波发射设备或其他无线通信设备等。
在一些实施例中,第一通信单元12和第一接收器14为同一单元,或者,第一通信单元12和第二接收器15为同一单元,或者,第一通信单元12、第一接收器14和第二接收器15为不同单元。例如,参见图6,在该发射设备3为红外发射设备或超声波发射设备时,第一通信单元12、第一接收接收器14和第二接收器15为不同单元,第一接收器14和第二接收器15可以为红外接收器或超声波接收器等。在该发射设备3为蓝牙发射设备或无线通信设备时,第一通信单元12和第一接收器14为同一单元,或者,第一通信单元12和第二接收器15为同一单元。
在一些实施例中,运动传感器13包括惯性测量单元(inertial measurementunit,IMU),或者,运动传感器13包括加速度计和陀螺仪。IMU用于采集空鼠设备1的加速度和角速度,加速度计用于采集空鼠设备1的加速度,陀螺仪用于采集空鼠设备1的角速度。
在一些实施例中,第一通信单元12和/或第二通信单元23使用的通信协议为Hilink(是一种智能家居开放互联平台)协议,无线保真(wireless fidelity,WiFi)、无线网格网络(Mesh)、蓝牙、紫蜂协议(ZigBee)、Thread(是一种家庭物联网通讯协定技术)、Z-Wave(是一个低带宽半双工传输协议)、近场通信(near field communication,NFC)、超带宽(ulitra wide band,UBW)、可见光无线通信(light fidelity,LiFi)或红外通信协议等。
本申请实施例提供了一种获取光标位置的方法800,所述方法800应用于图2、图3、图4或图5所示的网络架构100,所述方法800采用上述第一种方式获取光标位置,即在所述方法800中,空鼠设备周期性地获取光标的位置,并周期性地向显示设备发送该位置,以使显示设备基于该位置显示光标。
在所述方法800中,位置已知的至少三个发射设备均可以对外发射信号。用户需要使用空鼠设备时通过空鼠设备上的启动开关启动空鼠设备。空鼠设备启动后,向显示设备发送启动命令,该启动命令用于通知显示设备需要获取光标的位置。另外,空鼠设备在启动后基于第二周期周期性地接收该至少三个发射设备发射的信号。
在一些实施例中,该至少三个发射设备可以采用如下两种方式来发射信号。当然该至少三个发射设备还可以采用其他方式来发射信号,在此不再一一列举。
第一方式,该至少三个发射设备依次发射各自的信号。
例如,假设该至少三个发射设备包括第一发射设备、第二发射设备和第三发射设备,第一发射设备发射信号1,在第一发射设备发射完信号1后第二发射设备发射信号2,在第二发射设备发射完信号2后第三发射设备发射信号3。
其中,由于每个信号的传输速度很快,空鼠设备到每个发射设备的距离往往只有几米或十几米的距离,所以空鼠设备会在不同的时间点接收各个发射设备发射的信号。
在第一方式中,对于任一个发射设备发射的信号,该信号可能包括发射该信号的发射时间和/或该发射设备的设备信息,该设备信息包括该发射设备的设备标识或该发射设备的位置等。和/或,
每个发射设备对应不同的信号,这样通过不同的信号,可以区分不同信号对应的发射设备。此情况下,发射设备发射的信号可以不包括该发射设备的设备信息。可选的,在此情况下,该信号包括该发射设备发射该信号的发射时间。和/或,
该至少三个发射设备基于第二周期周期性地发射信号。在任一个第二周期内,每个发射设备对应不同时间点,每个发射设备分别在各自对应的时间点发射信号。由于在每个第二周期内,每个发射设备分别在各自对应的时间点发射信号,所以空鼠设备接收任一个信号后,确定该信号对应的发射设备,将该发射设备对应的时间点作为该信号的发射时间。
在每个发射设备分别在各自对应的时间点发射信号情况下,信号也可以包括发射设备的设备信息,以让空鼠设备基于该设备信息,确定该信号对应的发射设备。或者,在每个发射设备分别在各自对应的时间点发射信号情况下,发射设备发射的信号可以不包括该发射设备的设备信息,空鼠设备可以基于接收该信号的顺序确定该信号对应的发射设备。
第二方式,该至少三个发射设备基于第二周期周期性地发射信号,且在每个第二周期的指定时间点该至少三个发射设备同时发射各自的信号。
例如,该至少三个发射设备包括第一发射设备、第二发射设备和第三发射设备,以及每个第二周期的指定时间点分别为每个第二周期的起始时间点。即在每个第二周期的起始时间点第一发射设备发射信号1、第二发射设备发射信号2以及第三发射设备发射信号3。这样空鼠设备接收任一个信号,将当前第二周期的起始时间点作为发射该信号的发射时间。
在第二方式中,每个发射设备对应不同的信号,这样空鼠设备接收多个信号后,通过不同的信号,可以区分不同信号对应的发射设备。或者,对于任一个发射设备发射的信号,该信号包括该发射设备的设备信息,这样空鼠设备接收该信号后,基于该设备信息确定该信号对应的发射设备。
空鼠设备发送启动命令的操作为:用户使用该空鼠设备的启动开关触发命令,空鼠设备的第一运算单元接收该启动开关触发的命令,控制空鼠设备基于第二周期周期性地接收发射设备发射的信号,以及通过空鼠设备的第一通信单元向显示设备发送启动命令。
其中,该启动开关与空鼠设备的某种工作模式相对应,该启动命令包括该工作模式。
例如,在用户需要通过空鼠设备在显示设备上显示光标时,如用户在演讲时需要观众跟随其思路,用户通过空鼠设备上的第一启动开关启动空鼠设备。第一启动开关对应的工作模式为光标显示模式,该启动命令包括光标显示模式,以使显示设备基于该光标显示模式显示空鼠设备在显示设备上对应的光标。
再例如,在用户需要通过空鼠设备在显示设备上进行标注、画图或书写等操作时,用户通过空鼠设备上的第二启动开关启动空鼠设备。第二启动开关与空鼠设备工作的画线模式相对应,该启动命令包括该画线模式。
还例如,在用户需要通过空鼠设备在显示设备上拖拽对象时,用户通过空鼠设备上的第三启动开关启动空鼠设备。第三启动开关与空鼠设备工作的对象拖拽模式相对应,该启动命令包括该对象拖拽模式。
空鼠设备在启动后,首先获取其初始姿态角以及获取光标在显示平面(显示设备所在的平面)上的初始位置,然后空鼠设备在该初始位置和初始姿态角的基础上周期性(例如,按照第一周期)地获取光标的位置。
在实际应用中,空鼠设备在启动后,还可以与显示设备同步,从而使空鼠设备的本地时钟和显示设备的本地时钟同步。和/或,空鼠设备在启动后,与每个发射设备同步,使空鼠设备的第二周期与每个发射设备的第二周期同步。所谓周期同步是指空鼠设备的第二周期起始时间点和每个发射设备的第二周期起始时间点相同。
在一些实施例中,空鼠设备按如下步骤11-15的过程获取初始位置。该步骤11-15的过程为:
步骤11:空鼠设备接收X个第一信号,该X个第一信号是由X个发射设备分别发射的信号,X为大于或等于3的整数。
在用户通过启动开关启动空鼠设备时,空鼠设备通过第一接收器接收X个第一信号。该X个发射设备是该至少三个发射设备中的部分或全部发射设备。
在一些实施例中,空鼠设备还通过第二接收器接收Y个第二信号,该Y个第二信号是由Y个发射设备分别发射的信号,Y为大于或等于3的整数。该Y个发射设备是该至少三个发射设备中的部分或全部发射设备。
步骤12:空鼠设备获取初始姿态角,初始姿态角是空鼠设备在第四时间点的姿态角,第四时间点为空鼠设备接收完该X个第一信号的时间点。
在一些实施例中,第四时间点为空鼠设备接收完该X个第一信号和该Y个第二信号的时间点。
在步骤12中,空鼠设备在接收完X个第一信号时或者在接收完X个第一信号和Y个第二信号时,获取空鼠设备的运动传感器当前采集的加速度,基于该加速度获取空鼠设备在第四时间点的初始姿态角。
在一些实施例中,该加速度包括X轴方向加速度Gx,Y轴方向加速度Gy和Z轴方向加速度Gz。空鼠设备的初始姿态角包括空鼠设备的初始俯仰角、初始偏航角和初始翻滚角,初始俯仰角为:pitch0=-arcsin(Gx/g),初始翻滚角为:roll0=-arctan(Gy/Gz),初始偏航角为:yaw0=0,g为指定的重力加速度常数。
空鼠设备还基于该初始姿态角获取空鼠设备当前的四元数分量,该当前的四元数分量包括如下第一分量q0,第二分量q1,第三分量q2和第四分量q3
Figure BDA0003259478480000121
Figure BDA0003259478480000122
Figure BDA0003259478480000123
Figure BDA0003259478480000124
在一些实施例中,X=3,即只要空鼠设备接收到三个不同发射设备发射的第一信号,就可以执行步骤11-15的过程。或者,X=3,Y=3,即只要空鼠设备接收到三个不同发射设备发射的第一信号,以及接收到三个不同发射设备发射的第二信号,就可以执行步骤11-15的过程。
步骤13:空鼠设备获取该X个第一信号的信息。
空鼠设备可以按如下过程获取X个第一信号的信息,该过程为:
对于任一个第一信号的接收时间,空鼠设备在接收该第一信号时,获取空鼠设备本地时钟产生的时间,得到该第一信号的接收时间。
对于该第一信号的发射时间,在该X个发射设备同时在每个第二周期的指定时间点(例如,起始时间点)发射各自的信号时,空鼠设备将当前第二周期的指定时间点(例如,起始时间点)作为该第一信号的发射时间。或者,在该第一信号包括该第一信号的发射时间时,空鼠设备从该第一信号中获取该第一信号的发射时间。或者,在每个发射设备在各自对应的时间点分别发射各自的信号时,空鼠设备确定该第一信号对应的发射设备,将当前第二周期内该发射设备对应的时间点确定为该第一信号的发射时间。
对于该第一信号对应的发射设备的设备信息,在不同发射设备对应不同的信号时,空鼠设备基于该第一信号,获取该第一信号对应的发射设备的设备信息。例如,空鼠设备记录了每种信号与设备信息的对应关系,该对应关系包括每个发射设备对应的信号与设备信息,这样空鼠设备基于该第一信号,从该对应关系中获取该第一信号对应的发射设备的设备信息。或者,
在该第一信号包括该第一信号对应的发射设备的设备信息时,空鼠设备从该第一信号中获取该第一信号对应的发射设备的设备信息。或者,
在每个发射设备依次发射各自的信号时,此情况下该至少三个发射设备的设备个数为X,空鼠设备基于接收的每个第一信号的顺序,获取接收的每个第一信号对应的发射设备的设备信息。例如,空鼠设备记录信号的发射顺序与设备信息的对应关系,该对应关系包括每个发射设备发射信号的顺序和设备信息,这样空鼠设备基于接收的每个第一信号的顺序,从该对应关系中获取接收的每个第一信号对应的发射设备的设备信息。
在一些实施例中,在空鼠设备还接收到Y个第二信号时,空鼠设备获取该Y个第二信号的信息。
其中,空鼠设备获取该Y个第二信号的信息的详细过程,参见上述空鼠设备获取X个第一信号的信息的相关内空,在此不再详细说明。
步骤14:空鼠设备基于该X个第一信号的信息获取空鼠设备在第四时间点的第四空间位置。
对于该X个第一信号中的任一个第一信号,空鼠设备基于该第一信号的发射时间、接收时间以及信号传输速度,获取空鼠设备与该第一信号对应的发射设备之间的距离。并且,空鼠设备还可以基于该发射设备的设备信息获取该发射设备的位置。如此,空鼠设备可以得到X个发射设备的位置以及每个发射设备与空鼠设备之间的距离。
在一些实施例中,在该发射设备的设备信息包括该发射设备的位置时,空鼠设备从该设备信息中获取该发射设备的位置。在该发射设备的设备信息包括该发射设备的设备标识时,空鼠设备包括设备标识与位置的对应关系,该对应关系包括每个发射设备的设备标识和位置,这样空鼠设备基于该发射设备的设备标识,从该对应关系中获取该发射设备的位置。
空鼠设备得到该X发射设备的位置以及每个发射设备与空鼠设备之间的距离后,按如下定位公式获取空鼠设备在第四时间点的第四空间位置。
定位公式为:
Figure BDA0003259478480000131
在定位公式中,(x4,y4,z4)为空鼠设备在第四时间点的第四空间位置,(xsend1,ysend1,zsend1)为第1个发射设备的位置,L1为第1个发射设备与空鼠设备之间的距离,(xsend2,ysend2,zsend2)为第2个发射设备的位置,L2为第2个发射设备与空鼠设备之间的距离,(xsendX,ysendX,zsendX)为第X个发射设备的位置,LX为第X个发射设备与空鼠设备之间的距离。其中,上述定位公式中的各个坐标为指定坐标系中的坐标。
第四空间位置是空鼠设备上的第一接收器的空间位置。
在一些实施例中,空鼠设备基于该Y个第二信号的信息获取空鼠设备的第二接收器在第四时间点的第五空间位置。
其中,空鼠设备获取第五空间位置的详细过程,参见上述空鼠设备获取第四空间位置的相关内容,在此不再详细说明。
步骤15:空鼠设备基于第四空间位置获取空鼠设备在显示平面上对应的光标的初始位置,显示平面为显示设备所在的平面。
在一些实施例中,空鼠设备在显示平面上对应的光标的初始位置为(xD0,yD0)。
在步骤15中提供了如下两种方式获取该初始位置,当然还有其他获取该初始位置的方式,在此不再一一列举。该两种方式为:
方式一,空鼠设备基于第四空间位置获取该初始位置(xD0,yD0)。
其中,xD0=x4,yD0=y4。或者,
假设指定坐标系的坐标原点为显示设备的左上顶角位置,若0≤x4≤L,则xD0=x4,L为显示设备的显示区域的长度;
若x4≤0,则xD0=0;
若x4≤L,则xD0=L;
若0≤y4≤H,则yD0=y4,H为显示设备的显示区域的高度;
若y4≤0,则yD0=0;
若y4≤-H,则yD0=-H。
方式二,空鼠设备基于第四空间位置和第五空间位置获取该初始位置(xD0,yD0)。
在方式二中,空鼠设备包括显示平面的平面方程,该平面方程为:ax+by+z=0。基于第四空间位置(x4,y4,z4)和第五空间位置(x5,y5,z5),建立空鼠设备的第一轴线方程。
第一轴线方程为:
Figure BDA0003259478480000141
t为参数,是未知量。其中,在第一轴线方程中,x、y、z、t均为计算过程中的中间变量。
基于第一轴线方程,可推导出如下第二轴线方程。
第二轴线方程为:
Figure BDA0003259478480000142
将第二轴线方程和显示平面的平面方程组成如下联立方程。
联立方程为:
Figure BDA0003259478480000143
上述联立方程中的未知量为x,y,z和t,求解该联立方程,得到空鼠设备的轴线与显示平面的交点的空间坐标,其中空鼠设备的轴线与显示平面的交点的空间坐标包括求解出的x,y和z,获取该空间坐标中的x,y为空鼠设备在显示平面上对应的光标的初始位置。
其中,空鼠设备在获取到该初始位置和该初始姿态角时,还保存该初始位置和该初始姿态角。
在一些实施例中,空鼠设备基于空鼠设备在第四时间点到显示平面的距离,获取第一投射系数,第一投射系数用于反映空鼠设备的姿态角变化幅度与光标的位移之间的关系。第一投身系数与空鼠设备到显示平面的距离成正比关系。
空鼠设备在第四时间点到显示平面的距离等于z4,第一投射系数M=λ*z4,λ为缩放比例系数,是一个指定的固定值。
在一些实施例中,空鼠设备向显示设备发送该初始位置,显示设备在接收该初始位置后,当该初始位置位于显示设备的显示区域内,基于该初始位置显示光标。
其中,上述步骤12和步骤13-14之间没有时间先后关系,即可以先执行步骤12,再执行步骤13-14,或者,先执行步骤13-14,再执行步骤12,或者,同时执行步骤12、步骤13-14。
空鼠设备获取初始位置后,基于第一周期周期性地获取光标的位置。空鼠设备在每个第一周期获取光标的位置的过程为:
步骤21:空鼠设备采集空鼠设备的加速度和角速度。
在一个第一周期到达时,空鼠设备获取其包括的运动传感器当前采集的加速度和角速度。
步骤22:空鼠设备基于采集的加速度和角速度,确定空鼠设备的当前姿态角。
在一些实施例中,空鼠设备可以采用预设的标定参数对该加速度和角速度进行标定,基于标定后的加速度和角速度,确定空鼠设备的当前姿态角。
空鼠设备在当前第一周期内采集的加速度包括X轴方向加速度Gxn,Y轴方向加速度Gyn和Z轴方向加速度Gzn,空鼠设备在当前第一周期采集的角速度包括X轴方向角速度wxn,Y轴方向角速度wyn和Z轴方向角速度wzn,n表示当前第一周期。
接下来,列举一种确定空鼠设备的当前姿态角的实例,当然还有其他实现确定空鼠设备的当前姿态角的实例,在此不再一一列举。该实例为:
(1):基于上一个第一周期内获取的四元数分量,按如下第一公式计算重力向量。
第一公式为:
Figure BDA0003259478480000151
在第一公式中,
Figure BDA0003259478480000152
为重力向量,上一个第一周期内获取的四元数分量包括第一分量q0(n-1),第二分量q1(n-1),第三分量q2(n-1)和第四分量q3(n-1)
其中,需要说明的是,第一分量q0(n-1)的初值,第二分量q1(n-1)的初值,第三分量q2(n-1)的初值和第四分量q3(n-1)的初值分别为上述第一分量q01,第二分量q11,第三分量q21和第四分量q31
(2):基于当前第一周期内采集的加速度和该重力向量,按如下第二公式计算修正误差e。
第二公式为:
Figure BDA0003259478480000153
(3):利用修正误差,按如下第三公式修正在当前周期内采集的角速度。
第三公式为:
Figure BDA0003259478480000161
K为常数,w为修正后的角速度。
(4):利用修正后的角速度,按如下第四公式计算当前周期内的四元数分量,当前周期内的四元数分量包括第一分量q0n,第二分量q1n,第三分量q2n和第四分量q3n
第四公式为:
Figure BDA0003259478480000162
(5):按如下第五公式对当前周期内的四元数分量进行归一化处理。
第五公式为:
Figure BDA0003259478480000163
i,j和k为互相垂直的单位向量。
(6):基于归一化处理的四元数分量,按如下第六公式计算当前姿态角。
第六公式为:
Figure BDA0003259478480000164
其中,pitchn,yawn,rolln分别为当前姿态角包括的俯仰角、偏航角和翻滚角。
在步骤22中,确定的当前姿态角存在误差,为了减少该误差,基于K个姿态角对该当前姿态角进行平滑处理,该K个姿态角为在当前之前最近获取的K个姿态角,对平滑处理的当前姿态角进行去噪处理。其中,去噪处理后的当前姿态角的误差小于平滑处理前的当前姿态角的误差。
步骤23:空鼠设备基于该当前姿态角和保存的上一个第一周期内获取的姿态角,获取光标在当前第一周期内的移动速度。
在步骤23中,空鼠设备基于该当前姿态角和上一个第一周期内获取的姿态角,按如下第七公式获取光标在当前周期内的移动速度。
第七公式为:
Figure BDA0003259478480000165
在第七公式中,VXn为光标沿指定坐标系的x轴方向的速度,VYn为光标沿指定坐标系的y轴方向的速度,picthn-1为在上一个第一周期内获取的姿态角中的俯仰角,yawn-1为在上一个第一周期内获取的姿态角中的偏航角,
Figure BDA0003259478480000171
为x轴方向的预设速度常数,
Figure BDA0003259478480000172
为y轴方向的预设速度常数,picthcut为预设俯仰角阈值,yawcut为预设偏航角阈值。
步骤24:空鼠设备基于该移动速度和上一个第一周期内获取的光标位置,计算当前光标的位置。
在步骤24中,空鼠设备基于该移动速度和上一个第一周期内获取的光标位置,按如下第八公式获取当前光标的位置。
第八公式为:
Figure BDA0003259478480000173
在第八公式中,(Xn-1,Yn-1)为上一个第一周期内获取的光标位置,(Xn,Yn)为当前光标的位置,Δt1为第一周期的周期长度,*为乘法运算。
在一些实施例中,空鼠设备还包括第一投射系数,空鼠设备基于该移动速度、上一个第一周期内获取的光标位置和第一投射系数M,按如下第九公式获取当前光标的位置。
第九公式为:
Figure BDA0003259478480000174
在步骤24中计算的当前位置为当前第一周期内的光标的位置。空鼠设备还将保存的上一个第一周期内获取的光标位置更新为当前光标的位置,以及保存该当前姿态角。
在一些实施例中,保存该当前姿态角的操作为:空鼠设备在保存的姿态角个数等于K时,删除最先保存的一个姿态角,并保存该当前姿态角;在保存的姿态角个数小于K时,直接保存该当前姿态角。
空鼠设备基于第一周期周期性地执行上述步骤21-步骤24的过程,从而实现基于第一周期周期性地获取光标的位置。空鼠设备向显示设备发送每个第一周期内获取的光标的位置,显示设备接收该位置。
由于空鼠设备获取的姿态角包括误差,导致获取的光标的移动速度包括该误差,进而导致获取的光标位置也包含误差。而当前光标的位置是基于最近上一个第一周期内获取的光标位置得到的,这样随着时间推移,该误差会累积,并越来越大。
为了避免光标位置包括的误差越来越大,需要对光标位置包括的误差进行清零或减小该光标位置包括的误差。在空鼠设备基于第二周期周期地接收到M个发射设备发射的信号时,本申请实施例通过如下获取光标位置的方法800来消除光标位置中的误差。参见图8,所述方法800包括:
步骤801:空鼠设备接收M个第一信号,该M个第一信号由M个发射设备分别发射的信号,M为大于或等于3的整数。
空鼠设备基于第二周期周期性地接收信号。所以在每个第二周期内,每当空鼠设备接收到M个第一信号后,开始执行如下步骤。
在一些实施例中,空鼠设备通过第一接收器接收该M个第一信号,或者,空鼠设备通过第一接收器接收该M个第一信号以及通过第二接收器接收N个第二信号,该N个第二信号是由N个发射设备分别发射的信号,N为大于或等于3的整数。
该M个发射设备是该至少三个发射设备中的部分或全部发射设备,和/或,该N个发射设备是该至少三个发射设备中的部分或全部发射设备。
步骤802:空鼠设备获取第一姿态角,第一姿态角是空鼠设备在第一时间点的姿态角,第一时间点为空鼠设备接收完该M个第一信号的时间点。
空鼠设备的第一运算单元在第一时间点获取空鼠设备的运动传感器采集的加速度和角速度,基于该加速度和角速度获取空鼠设备的第一姿态角。
空鼠设备获取第一姿态角的详细实现内容,参见上述步骤22中获取当前姿态角的相关内容,在此不再详细说明。
在一些实施例中,空鼠设备还获取第一时间点,并保存第一时间点。可选的,空鼠设备在接收完M个第一信号时或者在接收完M个第一信号和N个第二信号时,从空鼠设备本地时钟获取当前时间点,得到第一时间点。
步骤803:空鼠设备基于该M个第一信号的信息,获取空鼠设备在第一时间点的第一空间位置。
在一些实施例中,空鼠设备也可能持续性地接收该至少三个发射设备发射的信号,但是只在每个第二周期到达时,即在第一时间点才基于开始执行步骤802的操作并基于第一时间点接收的第一信号获取空鼠设备的第一空间位置。
在一些实施例中,在空鼠设备基于第二周期周期性接收信号时,空鼠设备在第一时间点也可能接收不到至少三个信号,这时就需要等待到下一个第二周期到达时,继续接收信号。
在步骤803中,空鼠设备获取该M个第一信号的信息,基于该M个第一信号的信息获取空鼠设备在第一时间点的第一空间位置。其中,第一空间位置是空鼠设备的第一接收器的位置。
对于每个第一信号,该第一信号的信息包括该第一信号的发射时间、该第一信号的接收时间和该第一信号对应的发射设备的设备信息。
可选的,空鼠设备获取该M个第一信号的信息的详细实现过程,参见上述步骤13中空鼠设备获取X个第一信号的信息的详细内容,在此不再详细说明。
在步骤803中,空鼠设备获取该N个第二信号的信息,基于该N个第二信号的信息获取空鼠设备的第二接收器在第一时间点的第三空间位置。
可选的,空鼠设备获取第一空间位置和第三空间位置的详细实现过程,参见上述步骤14中空鼠设备获取第四空间位置的详细内容,在此不再详细说明。
为了便于说明,使用(x1,y1,z1)表示第一空间位置,使用(x3,y3,z3)表示第三空间位置。
在一些实施例中,空鼠设备基于空鼠设备在第一时间点到显示平面的距离,获取第二投射系数,将保存的第一投射系数更新为第二投射次数。
空鼠设备在第一时间点到显示平面的距离等于z1,第二投射系数M=λ*z1
步骤804:空鼠设备基于第一空间位置获取光标在第一时间点的第一位置,该光标为空鼠设备在显示平面中对应的光标。
在一些实施例中,空鼠设备在显示平面上对应的光标的第一位置为(X1,Y1),第一位置为在第一时间点光标的实际位置,或者,第一位置接近该实际位置。
在步骤804中提供了如下两种方式获取第一位置,当然还有其他获取第一位置的方式,在此不再一一列举。该两种方式为:
方式1,空鼠设备基于第一空间位置和第二空间位置获取第二移动速度,第二移动速度是光标从第三时间点到第一时间点的移动速度,第三时间点位于第一时间点之前,第二空间位置是在第三时间点获取的空鼠设备的空间位置。基于第三位置和第二移动速度,获取第一位置;其中,第三位置是光标在第三时间点的位置。
第二空间位置是在上一个第二周期内获取的第一接收器的位置。第三时间点与第一时间点之间间隔第二周期的周期长度。使用(x2,y2,z2)表示第二空间位置。
在方式1中,空鼠设备基于第一空间位置和第二空间位置,按如下第十公式获取第二移动速度,第二移动速度包括光标沿指定坐标系的x轴方向的速度VXi和光标沿指定坐标系的y轴方向的速度VYi,i表示当前第二周期。
第十公式为:
Figure BDA0003259478480000191
基于第三位置和第二移动速度,按如下第十一公式获取第一位置(X1,Y1)。
第十一公式为:
Figure BDA0003259478480000192
其中,(X3,Y3)为第三位置,Δt2为第三时间点与第一时间点之间的间隔(为第二周期的周期长度)。
在一些实施例中,基于第三位置、第二移动速度和第一投射系数,按如下第十二公式获取第一位置(X1,Y1)。
第十二公式为:
Figure BDA0003259478480000193
其中,第一投射系数用于反映在离显示平面的不同位置处,空鼠设备的姿态角变化幅度与光标的位移之间的关系,所以在获取第一位置时引入第一投射系数,可以提高获取第一位置的精度。
其中,需要说明的是:空鼠设备的形状可能为笔形,第一接收器位于笔尖或笔尾端位置。在实际使用空鼠设备时,用户手握空鼠设备并将空鼠设备的笔尖或笔尾端指向显示设备。用户在使用空鼠设备时,空鼠设备随着用户的手移动,在移动的过程中空鼠设备的轴线与显示设备所在的显示平面之间的夹角往往在90度附近变化。例如通常空鼠设备的轴线与显示平面之间的夹角往往在80度至90度范围内变化。这样在获取第一位置时,基于第三位置和第一移动速度,获取的第一位置与交点位置重合或者接近交点位置,该交点为空鼠设备的轴线与显示平面的交点。或者,基于第三位置、第二移动速度和第一投射系数,获取第一位置,由于第一投射系数用于反映在离显示平面的不同位置处空鼠设备的姿态角变化幅度与光标的位移之间的关系,使得获取的第一位置可能与交点位置重合,或者,更接近于交点位置。所以获取的第一位置包括的误差较小,精度较高。
方式2,空鼠设备基于第一空间位置和第三空间位置,获取空鼠设备的轴线与显示平面的交点位置,得到第一位置。其中,第一位置为光标在第一时间点的实际位置。
空鼠设备基于第一空间位置和第三空间位置,获取空鼠设备的轴线与显示平面的交点位置的详细过程,参见上述步骤15的方式二中的相关内容,在此不再详细说明。
在步骤804中,空鼠设备将保存的上一个第一周期内获取的光标位置更新为第一位置,以及保存第一姿态角。
在一些实施例中,空鼠设备向显示设备发送第一位置。显示设备接收第一位置,在第一位置位于显示设备的显示区域上,显示设备还获取空鼠设备工作的工作模式。在该工作模式为光标显示模式时,显示设备基于第一位置在显示设备的显示区域上显示光标。在该工作模式为画线模式时,显示设备在显示设备的显示区域上绘制上一个第一周期内获取的光标位置到第一位置的线段。在该工作模式为对象拖拽模式时,显示设备将待拖动对象从上一个第一周期内获取的光标位置移动到第一位置,待拖动对象为位于上一个第一周期内获取的光标位置的对象。
其中,上述步骤802和步骤803-804之间没有时间先后关系,即可以先执行步骤802,再执行步骤803-804,或者,先执行步骤803-804,再执行步骤802,或者,同时执行步骤802、步骤803-804。
在第一时间点之后,当下一个第一周期到达时,空鼠设备按下如下步骤805-步骤806获取光标的位置。为了便于说明将下一个第一周期到达的时间点称为第二时间点,第一时间点与第二时间点之间的时间差等于第一周期的周期长度,也就是说空鼠设备从第一时间点开始对当前第一周期进行计时,从第一时间点到第二时间点的时间段为当前第一周期。或者,第一时间点与第二时间点之间的时间差小于第一周期的周期长度,第一时间点为当前第一周期内的某个时间点。
步骤805:空鼠设备获取第二姿态角,第二姿态角为空鼠设备在第二时间点的姿态角。
在步骤805中,空鼠设备在第二时间点采集空鼠设备的加速度和角速度,基于该加速度和角速度获取空鼠设备的第二姿态角。在实现时:
空鼠设备的第一运算单元在第二时间点获取空鼠设备的运动传感器采集的加速度和角速度,基于该加速度和角速度获取空鼠设备的第二姿态角。
空鼠设备获取第二姿态角的详细实现内容,参见上述步骤21-步骤22中获取空鼠设备当前姿态角的相关内容,在此不再详细说明。
步骤806:空鼠设备基于第一姿态角和第二姿态角,获取光标的第一移动速度。
第一移动速度为光标从第一时间点到第二时间点的移动速度。第一移动速度是一个矢量,包括光标的移动方向和该移动速度的大小。
在一些实施例中,第一移动速度为光标从第一时间点到第二时间点的平均移动速度。
在步骤806中,空鼠设备基于第一姿态角和第二姿态角,按如下第十三公式获取第一移动速度。
第十三公式为:
Figure BDA0003259478480000201
在第十三公式中,VX为指定坐标系的x轴方向的速度,VY为指定坐标系的y轴方向的速度,第一移动速度包括VX和VY,picth2为第二姿态角中的俯仰角,picth1为第一姿态角中的俯仰角,yaw2为第二姿态角中的偏航角,yaw1为第一姿态角中的偏航角。
步骤807:空鼠设备基于第一移动速度和第一位置,获取光标在第二时间点的第二位置。
在步骤807中,空鼠设备基于光标的移动速度和第一位置,按如下第十四公式获取光标在第一时间点的第二位置。
第十四公式为:
Figure BDA0003259478480000211
在第十四公式中,(X1,Y1)为第一位置,(X2,Y2)为第二位置,Δt3为第一时间点与第二时间点之间的时间间隔。
第二位置还与空鼠设备在第二时间点到显示平面的距离有关,为了提高获取第二位置的精度,在一些实施例中,空鼠设备包括第一投射系数,空鼠设备基于光标的移动速度、第一位置和第一投射系数,按如下第十五公式获取光标在第二时间点的第二位置。
第十五公式为:
Figure BDA0003259478480000212
步骤808:空鼠设备向显示设备发送第二位置。
显示设备接收第二位置,在第二位置位于显示设备的显示区域上,显示设备还获取空鼠设备工作的工作模式。在该工作模式为光标显示模式时,显示设备基于第二位置在显示设备的显示区域上显示光标。在该工作模式为画线模式时,显示设备在显示设备的显示区域上绘制第一位置到第二位置的线段。在该工作模式为对象拖拽模式时,显示设备将待拖动对象从第一位置移动到第二位置,待拖动对象为位于第一位置的对象。
在第二时间点之后,空鼠设备基于第一周期周期性地通过上述步骤21-步骤24的过程,获取空鼠设备在显示平面上对应的光标位置。由于空鼠设备基于第二周期周期性地接收信号,当空鼠设备接收到三个信号或超过三个信号时,通过上述步骤801-步骤808的过程获取空鼠设备在显示平面上对应的光标位置,从而可以不断地对光标位置中累积的误差进行清零或者减小光标中的误差。
在本申请实施例中,空鼠设备在第一时间点接收到M个第一信号,基于该M个第一信号的信息获取空鼠设备在第一时间点的第一空间位置和第一姿态角,基于第一空间位置获取光标在第一时间点的第一位置。在第一时间点之后第一周期到达时,即在第二时间点时,空鼠设备获取在第二时间点的第二姿态角,基于第一姿态角和第二姿态角获取光标的第一移动速度,基于第一位置和第一移动速度,获取光标在第二时间点的第二位置。由于基于空鼠设备基于在第一时间点的第一空间位置获取第一位置,第一位置是光标的实际位置或接近光标的实际位置,即第一位置不包括误差或误差很小,这样在第二时间点,基于第一位置和光标的移动速度,获取光标在第二时间点的第二位置,提高了获取第二位置的精度。
本申请实施例提供了一种获取光标位置的方法900,所述方法900应用于图2、图3、图4或图5所示的网络架构100,所述方法900采用上述第二种方式获取光标位置,即在所述方法900中,显示设备周期性地获取光标的位置,以使显示设备基于该位置显示光标。
在所述方法900中,位置已知的至少三个发射设备,该至少三个发射设备均向空鼠设备发射信号。用户需要使用空鼠设备时通过空鼠设备上的启动开关启动空鼠设备。空鼠设备启动后,向显示设备发送启动命令,该启动命令用于通知显示设备需要获取光标的位置。另外,空鼠设备在启动后基于第二周期周期性地接收信号。
可选的,该至少三个发射设备发射信号的详细说明,参见图8所示方法800中介绍的至少三个发射设备发射信号的相关内容,在此不再详细说明。
可选的,空鼠设备启动并向显示设备发送启动命令的详细实现过程,参见图8所示方法800中的相关内容,在此不再详细说明。
在空鼠设备启动后,首先让显示设备获取空鼠设备在显示平面上的初始位置和初始姿态角,然后显示设备在该初始位置和该初始姿态角的基础上基于第一周期周期性地获取光标的位置。
在一些实施例中,显示设备按如下步骤31-35的过程获取初始位置。该步骤31-35的过程为:
步骤31:与上述步骤11相同,在此不再详细说明。
步骤32:空鼠设备获取第二信息,第二信息用于指示初始姿态角,初始姿态角是空鼠设备在第四时间点的姿态角。
其中,第四时间点为空鼠设备接收完该X个第一信号的时间点,或者,第四时间点为空鼠设备接收完该X个第一信号和该Y个第二信号的时间点。
第二信息包括空鼠设备在第四时间点的加速度和角速度,或者,第二信息包括初始姿态角。
在步骤32中,空鼠设备在接收完X个第一信号时或者在接收完X个第一信号和Y个第二信号时,获取空鼠设备的运动传感器当前采集的加速度,从而得到第二信息。或者,空鼠设备还基于该加速度获取空鼠设备在第四时间点的初始姿态角,从而得到第二信息。
步骤33:与上述步骤13相同,在此不再详细说明。
步骤34:空鼠设备向显示设备发送第二信息和该X个第一信号的信息。
在一些实施例中,空鼠设备还向显示设备发送该Y个第二信号的信息。
步骤35:显示设备接收第二信息和该X个第一信号的信息,基于第二信息获取该初始姿态角,基于该X个第一信号的信息获取空鼠设备在第四时间点的第四空间位置。
在第二信息包括空鼠设备在第四时间点的加速度和角速度时,显示设备基于该加速度和角速度获取初始姿态角。在第二信息包括初始姿态角时,显示设备从第二信息中获取初始姿态角。
可选的,显示设备基于该X个第一信号的信息获取空鼠设备的第四空间位置的详细实现内容,参见上述步骤14中的相关内容,在此不再详细说明。
在一些实施例中,显示设备基于该Y个第二信号的信息获取空鼠设备的第二接收器在第四时间点的第五空间位置。
步骤36:显示设备基于第四空间位置获取空鼠设备在显示平面上对应的光标的初始位置,显示平面为显示设备所在的平面。
可选的,显示设备获取初始位置的详细实现内容,参见上述步骤15中的相关内容,在此不再详细说明。
显示设备在获取到该初始位置和初始姿态角时,还保存该初始位置和初始姿态角。
在一些实施例中,显示设备基于空鼠设备在第四时间点到显示平面的距离,获取第一投射系数。
在一些实施例中,当该初始位置位于显示设备的显示区域内,显示设备基于该初始位置显示光标。
显示设备获取初始位置后,基于第一周期周期性地获取光标的位置。显示设备在每个第一周期获取光标的位置的过程为:
步骤41:空鼠设备采集空鼠设备的加速度和角速度。
在一个第一周期到达时,空鼠设备获取其包括的运动传感器当前采集的加速度和角速度。
步骤42:空鼠设备向显示设备发送第一信息,第一信息是基于该加速度和角速度得到的,用于指示在当前第一周期内光标的移动速度。
第一信息有如下几种类型的信息,该几种类型的信息分别为:
第一类型,第一信息包括该加速度和角速度。
第二类型,第一信息包括空鼠设备的当前姿态角。
对于第二类型的第一信息,空鼠设备还需要基于采集的加速度和角速度,确定空鼠设备的当前姿态角。
其中,空鼠设备获取当前的姿态角的详细实现过程,参见上述步骤22中的相关内容,在此不再详细说明。
第三类型,第一信息包括光标在当前第一周期内的移动速度。
对于第三类型的第一信息,空鼠设备保存上一个第一周期内获取的姿态角。空鼠设备基于采集的加速度和角速度,确定空鼠设备的当前姿态角;基于该当前姿态角和保存的上一个第一周期内获取的姿态角,获取光标在当前第一周期内的移动速度。
其中,空鼠设备获取当前的姿态角的详细实现过程,参见上述步骤22中的相关内容;以及,空鼠设备获取移动速度的详细实现过程,参见上述步骤23中的相关内容,在此不再详细说明。
步骤43:显示设备接收第一信息,基于第一信息,获取光标在当前第一周期内的移动速度。
在第一信息为上述第一类型的信息时,第一信息包括空鼠设备的加速度和角速度,显示设备保存上一个第一周期内获取的空鼠设备的姿态角。这样显示设备基于该加速度和角速度,确定空鼠设备的当前姿态角;基于该当前姿态角和保存的上一个第一周期内获取的姿态角,获取光标在当前第一周期内的移动速度。
在第一信息为上述第二类型的信息时,第一信息包括空鼠设备的当前姿态角,显示设备保存上一个第一周期内接收的空鼠设备的姿态角。这样显示设备基于该当前姿态角和保存的上一个第一周期内接收的姿态角,获取光标在当前第一周期内的移动速度。
在第一信息为上述第三类型的信息时,第一信息包括光标在当前第一周期内的移动速度。这样显示设备从第一信息中,获取光标在当前第一周期内的移动速度。
其中,显示设备获取空鼠设备当前的姿态角的详细实现过程,参见上述步骤22中的相关内容;以及,显示设备获取移动速度的详细实现过程,参见上述步骤23中的相关内容,在此不再详细说明。
步骤44:显示设备基于该移动速度和上一个第一周期内获取的光标位置,计算当前光标的位置。
其中,显示设备计算当前光标的位置的详细实现过程,参见上述步骤24中的相关内容,在此不再详细说明。
在一些实施例中,显示设备基于该移动速度、上一个第一周期内获取的光标位置和第一投射系数M,计算当前光标的位置。
在步骤44中计算的当前位置为当前第一周期内的光标的位置。显示设备还将保存的上一个第一周期内获取的光标位置更新为当前光标的位置,以及将保存的上一个第一周期内获取的空鼠设备的姿态角更新为空鼠设备的当前姿态角。
显示设备基于第一周期周期性地执行上述步骤41-步骤44的过程,从而实现基于第一周期周期性地获取光标的位置。
由于显示设备获取的姿态角包括误差,导致获取的光标的移动速度包括该误差,进而导致获取的光标位置也包含误差。而当前光标的位置是基于最近上一个第一周期内获取的光标位置得到的,这样随着时间推移,该误差会累积,并越来越大。
为了避免光标位置包括的误差越来越大,需要对光标位置包括的误差进行清零。在空鼠设备基于第二周期周期性地接收到M个发射设备发射的信号时,本申请实施例通过如下获取光标位置的方法900来消除光标位置中的误差。参见图9,所述方法900包括:
步骤901:与图8所示方法800的步骤801相同,在此不再详细说明。
步骤902:空鼠设备获取第三信息,第三信息用于指示第一姿态角,第一姿态角是空鼠设备在第一时间点的姿态角。
其中,第一时间点为空鼠设备接收到该M个第一信号的时间点,或者,第一时间点为空鼠设备接收完该N个第二信号的时间点。
第三信息包括空鼠设备在第一时间点的加速度和角速度,或者,第三信息包括空鼠设备在第一时间点的第一姿态角。
在第三信息包括空鼠设备在第一时间点的加速度和角速度时,空鼠设备在第一时间点获取空鼠设备的运动传感器采集的加速度和角速度,得到第三信息。或者,在第三信息包括第一姿态角时,空鼠设备还基于该加速度和角速度获取空鼠设备的第一姿态角,得到第三信息。
空鼠设备获取第一姿态角的详细实现内容,参见上述步骤22中获取当前姿态角的相关内容,在此不再详细说明。
步骤903:空鼠设备向显示设备发送该M个第一信号的信息和第三信息。
空鼠设备先获取该M个第一信号的信息,对于该任一个第一信号,该第一信号的信息包括该第一信号的发射时间、该第一信号的接收时间和该第一信号对应的发射设备的设备信息。然后,空鼠设备向显示设备发送该M个第一信号的信息。
在一些实施例中,空鼠设备还向显示设备发送该N个第二信号的信息。
步骤904:显示设备接收第三信息和该M个第一信号的信息,基于第三信息获取第一姿态角,基于该M个第一信号的信息,获取空鼠设备在第一时间点的第一空间位置。
在第三信息包括空鼠设备在第一时间点的加速度和角速度时,显示设备基于该加速度和角速度获取第一姿态角。在第三信息包括第一姿态角时,显示设备从第三信息中获取第一姿态角。
可选的,显示设备获取第一空间位置的详细实现过程,参见上述步骤14中空鼠设备获取第四空间位置的详细内容,在此不再详细说明。
在步骤904中,显示设备接收该N个第二信号的信息,基于该N个第二信号的信息获取空鼠设备的第二接收器在第一时间点的第三空间位置。
步骤905:显示设备基于第一空间位置获取光标在第一时间点的第一位置,该光标为空鼠设备在显示平面中对应的光标。
可选的,显示设备获取第一位置的详细实现过程,参见图8所示方法800的步骤804中的相关内容,在此不再详细说明。
在一些实施例中,在第一位置位于显示设备的显示区域上,显示设备获取空鼠设备工作的工作模式。在该工作模式为光标显示模式时,显示设备基于第一位置在显示设备的显示区域上显示光标。在该工作模式为画线模式时,显示设备在显示设备的显示区域上绘制上一个第一周期内获取的光标位置到第一位置的线段。在该工作模式为对象拖拽模式时,显示设备将待拖动对象从上一个第一周期内获取的光标位置移动到第一位置,待拖动对象为位于上一个第一周期内获取的光标位置的对象。
在第一时间点之后,当下一个第一周期到达时,显示设备按下如下步骤905-步骤906获取光标的位置。为了便于说明将下一个第一周期到达的时间点称为第二时间点,第一时间点与第二时间点之间的时间差等于第一周期的周期长度,也就是说空鼠设备从第一时间点开始对当前第一周期进行计时,从第一时间点到第二时间点的时间段为当前第一周期。或者,第一时间点与第二时间点之间的时间差小于第一周期的周期长度,第一时间点为当前第一周期内的某个时间点。
步骤906:空鼠设备获取第四信息,第四信息用于指示第二姿态角,第二姿态角为空鼠设备在第二时间点的姿态角。
第四信息包括空鼠设备在第二时间点的加速度和角速度,或者,第四信息包括空鼠设备在第二时间点的第二姿态角。
在第四信息包括空鼠设备在第二时间点的加速度和角速度时,空鼠设备在第二时间点获取空鼠设备的运动传感器采集的加速度和角速度,得到第四信息。或者,在第四信息包括第二姿态角时,空鼠设备还基于该加速度和角速度获取空鼠设备的第二姿态角,得到第四信息。
空鼠设备基于该加速度和角速度获取第二姿态角的详细实现内容,参见上述步骤22中获取当前姿态角的相关内容,在此不再详细说明。
步骤907:空鼠设备向显示设备发送第四信息。
步骤908:显示设备接收第四信息,基于第四信息获取第二姿态角。
在第四信息包括空鼠设备在第二时间点的加速度和角速度时,显示设备基于该加速度和角速度获取第二姿态角。在第四信息包括第二姿态角时,显示设备从第四信息中获取第二姿态角。
显示设备基于该加速度和角速度获取第二姿态角的详细实现内容,参见上述步骤21-步骤22中获取空鼠设备当前姿态角的相关内容,在此不再详细说明。
步骤909:显示设备基于第一姿态角和第二姿态角,获取光标的第一移动速度。
可选的,显示设备获取第一移动速度的详细实现内容,参见图8所示的方法800的步骤806中的相关内容,在此不再详细说明。
步骤910:显示设备基于光标的第一移动速度和第一位置,获取光标在第二时间点的第二位置。
可选的,显示设备获取第二位置的详细实现内容,参见图8所示的方法800的步骤807中的相关内容,在此不再详细说明。
在第二位置位于显示设备的显示区域上,显示设备还获取空鼠设备工作的工作模式。在该工作模式为光标显示模式时,显示设备基于第二位置在显示设备的显示区域上显示光标。在该工作模式为画线模式时,显示设备在显示设备的显示区域上绘制第一位置到第二位置的线段。在该工作模式为对象拖拽模式时,显示设备将待拖动对象从第一位置移动到第二位置,待拖动对象为位于第一位置的对象。
在第二时间点之后,显示设备基于第一周期周期性地通过上述步骤41-步骤44的过程,获取空鼠设备在显示平面上对应的光标位置。由于空鼠设备基于第二周期周期性地接收信号,当空鼠设备接收到三个信号或超过三个信号时,通过上述步骤901-步骤910的过程获取空鼠设备在显示平面上对应的光标位置,从而可以不断地对光标位置中累积的误差进行清零,或者,减小光标位置中累积的误差。
在本申请实施例中,空鼠设备在第一时间点接收到M个第一信号,向显示设备发送第三信息和该M个第一信号的信息,第三信息用于指示第一姿态角。显示设备基于该M个第一信号的信息获取空鼠设备在第一时间点的第一空间位置,以及基于第三信息获取第一姿态角,基于第一空间位置获取光标在第一时间点的第一位置。在第一时间点之后的第一周期到达时,即在第二时间点时,空鼠设备获取第四信息,第四信息用于指示空鼠设备在第二时间点的第二姿态角,向显示设备发送第四信息。显示设备基于第四信息获取第二姿态角,基于第一姿态角和第二姿态角获取光标的移动速度,基于第一位置和光标的移动速度,获取光标在第二时间点的第二位置。由于基于空鼠设备在第一时间点的第一空间位置获取第一位置,第一位置是光标的实际位置或接近光标的实际位置,第一位置不包括误差或误差很小,这样在第二时间点,基于第一位置和光标的移动速度,获取光标在第二时间点的第二位置,提高了获取第二位置的精度。
参见图10,本申请实施例提供了一种获取光标位置的装置1000,所述装置1000部署在图2、图3、图4或图5所示网络架构100中的显示设备或空鼠设备,或者,部署在图8所示方法800的空鼠设备或图9所示方法900的显示设备,包括:
处理单元1001,用于获取空鼠设备接收到的M个第一信号的信息,该M个第一信号是由M个发射设备分别发射的信号,M为大于或等于3的整数;
处理单元1001,还用于基于M个第一信号的信息获取光标在第一时间点的第一位置,所述光标为所述空鼠设备在显示平面中对应的光标,所述第一时间点为所述空鼠设备接收到所述M个第一信号的时间点,所述显示平面为显示设备的显示区域所在的平面。
可选的,处理单元1001获取M个第一信号的信息的详细实现过程,参见图8所示方法800的步骤803和图9所示方法900的步骤903的相关内容,在此不再详细说明。
可选的,处理单元1001获取第一位置的详细实现过程,参见图8所示方法800的步骤804和图9所示方法900的步骤905的相关内容,在此不再详细说明。
可选的,处理单元1001,还用于:
基于第一移动速度和第一位置,获取光标在第二时间点的第二位置,第一移动速度是光标从第一时间点到第二时间点的移动速度。
可选的,处理单元1001获取第二位置的详细实现过程,参见图8所示方法800的步骤807和图9所示方法900的步骤910的相关内容,在此不再详细说明。
可选的,M个第一信号的信息包括M个第一信号的发射时间、接收时间和M个发射设备的设备信息。
可选的,M个发射设备的设备信息包括M个发射设备的位置和/或设备标识。
可选的,M个发射设备依次发射各自的第一信号;
可选的,处理单元1001,用于基于M个第一信号的接收顺序,获取M个发射设备的设备信息。
可选的,处理单元1001获取M个发射设备的设备信息的详细实现过程,参见图8所示方法800的步骤13的相关内容,在此不再详细说明。
可选的,所述装置1000还包括:
接收单元1002,用于接收空鼠设备发送的M个第一信号的信息。
可选的,处理单元1001,用于:
基于M个第一信号的发射时间、接收时间和M个发射设备的设备信息,获取空鼠设备的第一空间位置;
基于第一空间位置确定第一位置。
可选的,处理单元1001获取第一空间位置的详细实现过程,参见图8所示方法800的步骤803和图9所示方法900的步骤904的相关内容,在此不再详细说明。
可选的,处理单元1001确定第一位置的详细实现过程,参见图8所示方法800的步骤804和图9所示方法900的步骤905的相关内容,在此不再详细说明。
可选的,空鼠设备包括第一接收器和第二接收器,第一接收器和第二接收器位于空鼠设备的两个不同位置上,第一接收器用于接收M个第一信号,第二接收器用于接收N个第二信号,N个第二信号是由N个发射设备分别发射的信号,N为大于或等于3的整数;
处理单元1001,用于:
基于M个第一信号的发射时间、接收时间和M个发射设备的设备信息,获取第一接收器的第一空间位置;
基于N个第二信号的发射时间、接收时间和N个发射设备的设备信息,获取第二接收器的第三空间位置;
基于第一空间位置和第三空间位置,获取空鼠设备的轴线与显示平面的交点位置,得到第一位置。
可选的,处理单元1001获取第一空间位置和第三空间位置的详细实现过程,参见图8所示方法800的步骤803和图9所示方法900的步骤904的相关内容,在此不再详细说明。
可选的,处理单元1001确定第一位置的详细实现过程,参见图8所示方法800的步骤804和图9所示方法900的步骤905的相关内容,在此不再详细说明。
可选的,处理单元1001,还用于:
基于空鼠设备在第一时间点到显示平面的距离获取投射系数,该投射系数用于指示空鼠设备的姿态角变化幅度与光标的移动位移之间的关系;
处理单元1001,包括:
基于第一移动速度、第一位置和投射系数,获取光标在第二时间点的第二位置。
可选的,处理单元1001获取投射系数的详细实现过程,参见图8所示方法800的步骤15和图9所示方法900的步骤36的相关内容,在此不再详细说明。
可选的,处理单元1001确定第二位置的详细实现过程,参见图8所示方法800的步骤807和图9所示方法900的步骤910的相关内容,在此不再详细说明。
可选的,M个发射设备位于显示设备上。
可选的,M个发射设备分别位于显示设备的M个顶角位置。
可选的,M个发射设备使用的坐标系和显示设备使用的坐标系是同一坐标系。
在本申请实施例中,由于处理单元获取到在第一时间点空鼠设备接收的M个第一信号,基于该M个第一信号获取光标在第一时间点的第一位置,使得获取的第一位置为光标的实际位置或接近光标的实际位置,从而提高获取第一位置的精度。处理单元基于第一移动速度和第一位置,获取光标在第二时间点的第二位置,第一移动速度是光标从第一时间点到第二时间点的移动速度。由于第一位置为光标的实际位置或接近光标的实际位置,这样在第二时间点基于第一位置和第一移动速度获取第二位置,可以提高获取第二位置的精度。
参见图11,本申请实施例提供了一种获取光标位置的设备1100示意图。该设备1100可以是上述任一实施例中的空鼠设备或显示设备。例如所述设备1100是图2、图3、图4或图5所示网络架构100中的显示设备或空鼠设备,或者,是图8所示方法800的空鼠设备或图9所示方法900的显示设备。该设备1100包括至少一个处理器1101,内部连接1102,存储器1103以及至少一个收发器1104。
该设备1100是一种硬件结构的装置,可以用于实现图10所述的装置1000中的功能模块。例如,本领域技术人员可以想到图10所示的装置1000中的处理单元1001可以通过该至少一个处理器1101调用存储器1103中的代码来实现,图10所示的装置1000中的接收单元1002可以通过该收发器1104来实现。
可选的,该设备1100还可用于实现上述任一实施例中空鼠设备或显示设备的功能。
可选的,上述处理器1101可以是一个通用中央处理器(central processingunit,CPU),网络处理器(network processor,NP),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
上述内部连接1102可包括一通路,在上述组件之间传送信息。可选的,内部连接1102为单板或总线等。
上述收发器1104,用于与其他设备或通信网络通信。
上述存储器1103可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器1103用于存储执行本申请方案的应用程序代码,并由处理器1101来控制执行。处理器1101用于执行存储器1103中存储的应用程序代码,以及配合至少一个收发器1104,从而使得该设备1100实现本专利方法中的功能。
在具体实现中,作为一种实施例,处理器1101可以包括一个或多个CPU,例如图11中的CPU0和CPU1。
在具体实现中,作为一种实施例,该设备1100可以包括多个处理器,例如图11中的处理器1101和处理器1107。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
参见图1,本申请提供了一种获取光标位置的系统100,所述系统100包括空鼠设备1、显示设备2和至少三个发射设备3,每个发射设备用于发射信号。
空鼠设备1,用于接收M个第一信号,M个第一信号是由M个发射设备分别发射的信号,M为大于或等于3的整数,该至少三个发射设备3包括该M个发射设备;基于该M个第一信号的信息获取光标在第一时间点的第一位置,光标为空鼠设备1在显示平面中对应的光标,第一时间点为空鼠设备接收到M个第一信号的时间点,显示平面为显示设备2的显示区域21所在的平面,向显示设备2发送第一位置。显示设备2,用于接收第一位置。或者,
空鼠设备1,用于接收M个第一信号,M个第一信号是由M个发射设备分别发射的信号,M为大于或等于3的整数,该至少三个发射设备3包括该M个发射设备;向显示设备2发送该M个第一信号的信息。显示设备2,用于基于该M个第一信号的信息获取光标在第一时间点的第一位置,光标为空鼠设备1在显示平面中对应的光标,第一时间点为空鼠设备1接收到M个第一信号的时间点,显示平面为显示设备2的显示区域21所在的平面
在本申请实施例中,由于空鼠设备或显示设备获取到空鼠设备在第一时间点空鼠设备接收的M个第一信号,基于该M个第一信号获取光标在第一时间点的第一位置,使得获取的第一位置为光标的实际位置或接近光标的实际位置,从而提高获取光标位置的精度。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (27)

1.一种获取光标位置的方法,其特征在于,所述方法包括:
获取空鼠设备接收到的M个第一信号的信息,所述M个第一信号是由M个发射设备分别发射的信号,所述M为大于或等于3的整数;
基于所述M个第一信号的信息获取光标在第一时间点的第一位置,所述光标为所述空鼠设备在显示平面中对应的光标,所述第一时间点为所述空鼠设备接收到所述M个第一信号的时间点,所述显示平面为显示设备的显示区域所在的平面。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
基于第一移动速度和所述第一位置,获取所述光标在第二时间点的第二位置,所述第一移动速度是所述光标从所述第一时间点到所述第二时间点的移动速度。
3.如权利要求1或2所述的方法,其特征在于,所述M个第一信号的信息包括所述M个第一信号的发射时间、接收时间和所述M个发射设备的设备信息。
4.如权利要求3所述的方法,其特征在于,所述M个发射设备的设备信息包括所述M个发射设备的位置和/或设备标识。
5.如权利要求1-4任一项所述的方法,其特征在于,所述基于所述M个第一信号的信息获取光标在第一时间点的第一位置,包括:
基于所述M个第一信号的发射时间、接收时间和所述M个发射设备的设备信息,获取所述空鼠设备的第一空间位置;
基于所述第一空间位置确定所述第一位置。
6.如权利要求1-4任一项所述的方法,其特征在于,所述空鼠设备包括第一接收器和第二接收器,所述第一接收器和所述第二接收器位于所述空鼠设备的两个不同位置上,所述第一接收器用于接收所述M个第一信号,所述第二接收器用于接收N个第二信号,所述N个第二信号是由N个发射设备分别发射的信号,N为大于或等于3的整数;
所述基于所述M个第一信号的信息获取光标在第一时间点的第一位置,包括:
基于所述M个第一信号的发射时间、接收时间和所述M个发射设备的设备信息,获取所述第一接收器的第一空间位置;
基于所述N个第二信号的发射时间、接收时间和所述N个发射设备的设备信息,获取所述第二接收器的第三空间位置;
基于所述第一空间位置和所述第三空间位置,获取所述空鼠设备的轴线与所述显示平面的交点位置,得到所述第一位置。
7.如权利要求2所述的方法,其特征在于,所述获取所述光标在第二时间点的第二位置之前,还包括:
基于所述空鼠设备在所述第一时间点到所述显示平面的距离获取投射系数,所述投射系数用于指示所述空鼠设备的姿态角变化幅度与所述光标的移动位移之间的关系;
所述基于第一移动速度和所述第一位置,获取所述光标在第二时间点的第二位置,包括:
基于所述第一移动速度、所述第一位置和所述投射系数,获取所述光标在所述第二时间点的第二位置。
8.如权利要求1-7所述的方法,其特征在于,所述获取M个第一信号的信息,包括:
基于所述M个第一信号的接收顺序,获取所述M发射设备的设备信息。
9.如权利要求1-8任一项所述的方法,其特征在于,所述获取M个第一信号的信息,包括:
接收所述空鼠设备发送的所述M个第一信号的信息。
10.如权利要求1-9任一项所述的方法,其特征在于,所述M个发射设备位于所述显示设备上。
11.如权利要求10所述的方法,其特征在于,所述M个发射设备分别位于所述显示设备的M个顶角位置。
12.如权利要求1-11任一项所述的方法,其特征在于,所述M个发射设备与所述显示平面基于同一三维坐标系。
13.一种获取光标位置的装置,其特征在于,所述装置包括:
处理单元,用于获取空鼠设备接收到的M个第一信号的信息,所述M个第一信号是由M个发射设备分别发射的信号,所述M为大于或等于3的整数;
所述处理单元,还用于基于所述M个第一信号的信息获取光标在第一时间点的第一位置,所述光标为所述空鼠设备在显示平面中对应的光标,所述第一时间点为所述空鼠设备接收到所述M个第一信号的时间点,所述显示平面为显示设备的显示区域所在的平面。
14.如权利要求13所述的装置,其特征在于,所述处理单元,还用于:
基于第一移动速度和所述第一位置,获取所述光标在第二时间点的第二位置,所述第一移动速度是所述光标从所述第一时间点到所述第二时间点的移动速度。
15.如权利要求13或14所述的装置,其特征在于,所述M个第一信号的信息包括所述M个第一信号的发射时间、接收时间和所述M个发射设备的设备信息。
16.如权利要求15所述的装置,其特征在于,所述M个发射设备的设备信息包括所述M个发射设备的位置和/或设备标识。
17.如权利要求13-16任一项所述的装置,其特征在于,所述处理单元,用于:
基于所述M个第一信号的发射时间、接收时间和所述M个发射设备的设备信息,获取所述空鼠设备的第一空间位置;
基于所述第一空间位置确定所述第一位置。
18.如权利要求13-16任一项所述的装置,其特征在于,所述空鼠设备包括第一接收器和第二接收器,所述第一接收器和所述第二接收器位于所述空鼠设备的两个不同位置上,所述第一接收器用于接收所述M个第一信号,所述第二接收器用于接收N个第二信号,所述N个第二信号是由N个发射设备分别发射的信号,N为大于或等于3的整数;
所述处理单元,用于:
基于所述M个第一信号的发射时间、接收时间和所述M个发射设备的设备信息,获取所述第一接收器的第一空间位置;
基于所述N个第二信号的发射时间、接收时间和所述N个发射设备的设备信息,获取所述第二接收器的第三空间位置;
基于所述第一空间位置和所述第三空间位置,获取所述空鼠设备的轴线与所述显示平面的交点位置,得到所述第一位置。
19.如权利要求14所述的装置,其特征在于,所述处理单元,还用于:
基于所述空鼠设备在所述第一时间点到所述显示平面的距离获取投射系数,所述投射系数用于指示所述空鼠设备的姿态角变化幅度与所述光标的移动位移之间的关系;
所述处理单元,用于基于所述第一移动速度、所述第一位置和所述投射系数,获取所述光标在所述第二时间点的第二位置。
20.如权利要求13-19任一项所述的装置,其特征在于,所述处理单元,用于基于所述M个第一信号的接收顺序,获取所述M个发射设备的设备信息。
21.如权利要求13-20任一项所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收所述空鼠设备发送的所述M个第一信号的信息。
22.如权利要求13-21任一项所述的装置,其特征在于,所述M个发射设备位于所述显示设备上。
23.如权利要求22所述的装置,其特征在于,所述M个发射设备分别位于所述显示设备的M个顶角位置。
24.如权利要求13-23任一项所述的装置,其特征在于,所述M个发射设备与所述显示平面基于同一三维坐标系。
25.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机执行时,实现如权利要求1-12任一项所述的方法。
26.一种计算机程序产品,其特征在于,所述计算机程序产品包括在计算机可读存储介质中存储的计算机程序,并且所述计算程序通过计算机进行加载来实现如权利要求1-12任一项所述的方法。
27.一种获取光标位置的装置,其特征在于,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现如权利要求1至12任一项所述的获取光标位置的方法。
CN202111068420.XA 2021-09-13 2021-09-13 获取光标位置的方法、装置及存储介质 Pending CN115808982A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111068420.XA CN115808982A (zh) 2021-09-13 2021-09-13 获取光标位置的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111068420.XA CN115808982A (zh) 2021-09-13 2021-09-13 获取光标位置的方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN115808982A true CN115808982A (zh) 2023-03-17

Family

ID=85481065

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111068420.XA Pending CN115808982A (zh) 2021-09-13 2021-09-13 获取光标位置的方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN115808982A (zh)

Similar Documents

Publication Publication Date Title
US20210190497A1 (en) Simultaneous location and mapping (slam) using dual event cameras
CN112567201A (zh) 距离测量方法以及设备
US20170039764A1 (en) Interface for planning flight path
CN108139204A (zh) 信息处理装置、位置和/或姿态的估计方法及计算机程序
CN111091587B (zh) 一种基于视觉标志物的低成本动作捕捉方法
CN110146106B (zh) 惯性导航设备标定方法、装置、电子设备及存储介质
WO2021088498A1 (zh) 虚拟物体显示方法以及电子设备
WO2021031975A1 (zh) 无人机航向确定方法、装置及无人机
US10627237B2 (en) Offset correction apparatus for gyro sensor, recording medium storing offset correction program, and pedestrian dead-reckoning apparatus
CN103578135A (zh) 虚拟影像与真实场景相结合的舞台交互集成系统及实现方法
US20150286279A1 (en) Systems and methods for guiding a user during calibration of a sensor
WO2021031974A1 (zh) 无人机航向角初值选取方法及无人机
CN108957505A (zh) 一种定位方法、定位系统和手携式智能穿戴设备
WO2021127888A1 (zh) 控制方法、智能眼镜、可移动平台、云台、控制系统及计算机可读存储介质
JP7369847B2 (ja) 自動運転車両に対するデータ処理方法及び装置、電子機器、記憶媒体、コンピュータプログラム、ならびに自動運転車両
CN203630822U (zh) 虚拟影像与真实场景相结合的舞台交互集成系统
WO2015108066A1 (ja) 情報処理装置、マップマッチング装置、情報処理方法、およびプログラム
US20220293066A1 (en) Rotational image viewer
CN113610702A (zh) 一种建图方法、装置、电子设备及存储介质
CN115793873A (zh) 获取光标位置的方法、装置及存储介质
CN115808982A (zh) 获取光标位置的方法、装置及存储介质
US10331240B2 (en) Air pointer with improved user experience
CN110415329B (zh) 三维建模装置及应用于其的校准方法
CN113758481A (zh) 栅格地图生成方法、装置、系统、存储介质及电子设备
CN211554996U (zh) 定位装置、定位系统及虚拟现实系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication