CN116048296B - 电子设备及其轨迹生成方法和介质 - Google Patents
电子设备及其轨迹生成方法和介质 Download PDFInfo
- Publication number
- CN116048296B CN116048296B CN202210964223.4A CN202210964223A CN116048296B CN 116048296 B CN116048296 B CN 116048296B CN 202210964223 A CN202210964223 A CN 202210964223A CN 116048296 B CN116048296 B CN 116048296B
- Authority
- CN
- China
- Prior art keywords
- electronic device
- data
- axis
- stylus
- track
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000033001 locomotion Effects 0.000 claims abstract description 26
- 238000004891 communication Methods 0.000 claims description 56
- 230000006854 communication Effects 0.000 claims description 56
- 230000015654 memory Effects 0.000 claims description 37
- 238000012937 correction Methods 0.000 claims description 3
- 241001422033 Thestylus Species 0.000 description 113
- 241000699666 Mus <mouse, genus> Species 0.000 description 59
- 238000012545 processing Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 29
- 238000001914 filtration Methods 0.000 description 27
- 238000007726 management method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 230000001133 acceleration Effects 0.000 description 15
- 230000008859 change Effects 0.000 description 15
- 230000000295 complement effect Effects 0.000 description 15
- 230000035945 sensitivity Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 230000005236 sound signal Effects 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 12
- 210000000988 bone and bone Anatomy 0.000 description 9
- 238000001514 detection method Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- ORMNNUPLFAPCFD-DVLYDCSHSA-M phenethicillin potassium Chemical compound [K+].N([C@@H]1C(N2[C@H](C(C)(C)S[C@@H]21)C([O-])=O)=O)C(=O)C(C)OC1=CC=CC=C1 ORMNNUPLFAPCFD-DVLYDCSHSA-M 0.000 description 8
- 238000013519 translation Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 239000010410 layer Substances 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007514 turning Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000003416 augmentation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000003631 expected effect Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000009776 industrial production Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000002138 osteoinductive effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/04162—Control or interface arrangements specially adapted for digitisers for exchanging data with external devices, e.g. smart pens, via the digitiser sensing hardware
Abstract
本申请涉及智能终端设备技术领域,特别涉及一种电子设备及其轨迹生成方法和介质。轨迹生成方法包括:获取第一电子设备的传感器检测到的,第一电子设备相对于第二电子设备的屏幕移动所产生的第一轨迹数据,其中,第一轨迹数据包括多个坐标轴数据;将第一轨迹数据中由传感器的误差产生的且符合预设条件的坐标轴数据的数值设置为第一数值,得到第二轨迹数据;基于第二轨迹数据,在第二电子设备的屏幕上显示第一电子设备相对于第二电子设备的移动轨迹。用户控制第一电子设备在第二电子设备的屏幕中产生轨迹时,可以对第一电子设备的传感器的原始数据进行校准处理,使得第二电子设备的屏幕中显示的轨迹更接近于水平或者竖直的直线,提升了用户体验。
Description
技术领域
本申请涉及智能终端设备技术领域,特别涉及一种电子设备及其轨迹生成方法和介质。
背景技术
随着手写笔技术的发展以及用户使用需求的多样化发展,主动手写笔的应用场景越来越多。例如,在平板、大屏、手机等设备上进行例如PPT演示时,通过手写笔进行标记等操作。例如图1所示场景中,用户通过手写笔200隔空对正在电子设备100的屏幕中正在演示的PPT进行相关操作。
然而,当前对于用户利用手写笔进行隔空划直线的应用场景,往往达不到预期的效果。例如,如图2所示,用户想要通过手写笔200对电子设备100的屏幕中的PPT上的文字做划线标记,用户手执手写笔,使其仅在水平方向上移动,由于陀螺仪轴间误差的影响,在竖直方向上也会产生一定的数值分量,表现为划出的直线成为倾斜的直线,而不是水平的,用户体验感不佳。
因此,如何解决由上述陀螺仪的轴间误差数据造成的漂移问题,是亟待解决的问题。
发明内容
本申请的目的在于提供一种电子设备及其轨迹生成方法和介质。
本申请的第一方面提供了一种轨迹生成方法,包括:
获取第一电子设备的传感器检测到的,第一电子设备相对于第二电子设备的屏幕移动所产生的第一轨迹数据,其中,第一轨迹数据包括多个坐标轴数据;
将第一轨迹数据中由传感器的误差产生的且符合预设条件的坐标轴数据的数值设置为第一数值,得到第二轨迹数据;
基于第二轨迹数据,在第二电子设备的屏幕上显示第一电子设备相对于第二电子设备的移动轨迹。
即在本申请实施例中,这里的第一电子设备可以是电容式手写笔,这里的第二电子设备可以是具有触控屏的平板电脑。轨迹生成方法可以由第一电子设备或者第二电子设备来执行。第一电子设备相对于第二电子设备的屏幕移动可以是用户手握第一电子设备,相对于第二电子设备对第一电子设备执行隔空操作,也就是,第一电子设备并不接触第二电子设备的屏幕。
在上述第一方面的一种可能的实现中,多个坐标轴数据包括第一电子设备的加速度计和陀螺仪确定的第一电子设备移动过程中的X轴、Y轴或Z轴的数据。
即在本申请实施例中,这里的传感器的误差可以是轴间误差,也就是,对于传感器(例如:陀螺仪)而言,当陀螺仪三轴中的一个轴高速旋转,也就是,传感器得到一个轴的数据的时候,即使其他轴为静止状态,也会在一定程度上受到高速转动的轴的影响,表现为传感器输出的数据为非0值,即误差值,会影响最终姿态结算的结果。例如:Z轴为实际旋转的轴,Y轴为静止状态,但由于存在轴间误差,芯片输出的Y轴数据也为非0数值,并且随着Z轴转速的增大,Y轴的误差值也在增大。
在上述第一方面的一种可能的实现中,预设条件包括:
坐标轴数据的数值小于预设第一数据阈值。
即在本申请实施例中,第一电子设备或者第二电子设备可以判断传感器的X轴、Y轴或Z轴的数据值是否小于第一阈值。若判断结果为是,则认为该小于第一阈值的值为误差值,将误差值设置为0。这里的预设第一数据阈值可以是第一阈值,例如,第一阈值的数值可以是15。
在上述第一方面的一种可能的实现中,第一数值为零值。
即在本申请实施例中,第一电子设备或者第二电子设备可以将确定为误差的坐标轴数据的数值设置为零值。
在上述第一方面的一种可能的实现中,还包括:
获取第一电子设备的传感器检测到的,第一电子设备相对于第二电子设备的屏幕移动所产生的第三轨迹数据;
在获取到第三轨迹数据之前,在先后连续通过第一数量的次数获取到的多个历史轨迹数据的坐标轴数据中均存在坐标轴数据被设置为第一数值的情况下,且所述坐标轴数据中的第一参考数据和第二参考数据的数值之间的比值小于预设第二数据阈值时,
将第三轨迹数据坐标轴数据的数值设置为第一数值,得到第四轨迹数据,
其中,第一数量大于校正次数阈值。
即在本申请实施例中,这里的第一参考数据和第二参考数据可以是传感器的X轴、Y 轴或Z轴任意2轴数据,第一电子设备或者第二电子设备还可以判断传感器的X轴、Y轴或Z轴任意2轴数据之间的比值是否小于第二阈值。若判断结果为是,该比值中较小值可能为误差值。这里的预设第二数据阈值可以是第二阈值,第二阈值为传感器的交叉轴灵敏度(cross axis sensitivity)的最大值,例如,第二阈值的数值可以是2%。
这里的第一数量可以是对坐标轴数据进行校正的次数,也就是,将历史轨迹数据中的坐标轴数据的数值进行置零的次数,说明用户正在使用第一电子设备多次地画直线,这时,第一电子设备或者第二电子设备可以缓存第一数量,也就是缓存一定数量的光标坐标信息,通过与缓存的光标坐标比较,判断当前是否为划直线的场景,即平移。第一电子设备或者第二电子设备可以通过比较缓存的第一数量是否超过校正次数阈值,如:30组光标信息,判断当前是否为划直线场景。
在上述第一方面的一种可能的实现中,移动轨迹包括第一电子设备相对于第二电子设备的屏幕移动所产生的水平或者垂直方向上的直线。
在上述第一方面的一种可能的实现中,包括:第一电子设备与第二电子设备建立通信连接;响应于用户对第一电子设备的操作,获取第一电子设备相对于第二电子设备的屏幕移动所产生的第一轨迹数据。
在上述第一方面的一种可能的实现中,包括:
根据预设采集频率,获取第一电子设备的传感器检测到的,第一电子设备相对于第二电子设备的屏幕移动所产生的第一轨迹数据。
通过本申请的轨迹生成方法,用户控制第一电子设备在第二电子设备的屏幕中产生轨迹时,可以对第一电子设备的传感器的原始数据进行滤波和零偏校准处理,以解决传感器的轴间误差造成的数据漂移的问题。例如:判断当前传感器的任一坐标轴的数据,若小于第一阈值,认为是误差值,设置该值为0值;若大于上述第一阈值,通过缓存的一定数量的光标偏移信息(例如是30组)识别当前是否为划直线场景,若为划直线场景,当本次传感器的任意两坐标轴的数据比值小于第二阈值时,认为较小值为误差值,设置该较小值为0值,使得第二电子设备的屏幕中显示的轨迹更接近于水平或者竖直的直线,提升了用户体验。
本申请的第二方面提供了一种电子设备,包括:
处理器,用于前述第一方面提供的电子设备的轨迹生成方法;以及
存储器,可以与控制器耦合或者解耦用于存储由处理器执行的指令。
本申请的第三方面提供了一种计算机可读存储介质,计算机可读存储介质中包含有指令,当指令被电子设备的处理器执行时使电子设备实现前述第一方面提供的电子设备的轨迹生成方法。
本申请的第四方面提供了一种计算机程序产品,包括:计算机可读存储介质,所述计算机可读存储介质包含用于执行前述第一方面提供的轨迹生成方法的计算机程序代码。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1根据本申请的实施例示出了一种应用场景示意图;
图2根据本申请的实施例示出了另一种应用场景示意图;
图3a-图3b根据本申请的实施例示出了主动式电容手写笔操作示意图;
图4a根据本申请的实施例示出了航向角的角度变化示意图;
图4b根据本申请的实施例示出了俯仰角的角度变化示意图;
图4c根据本申请的实施例示出了横滚角的角度变化示意图;
图5根据本申请的实施例示出了陀螺仪芯片输出数据示意图;
图6根据本申请的实施例示出了一种轨迹生成方法的实施流程示意图;
图7a-图7b根据本申请的实施例示出了一组操作手势示意图;
图8a-图8b根据本申请的实施例示出了一组显示结果示意图;
图9根据本申请的实施例示出了一种手写笔与电子设备的交互过程示意图;
图10根据本申请的实施例示出了一种空间坐标示意图;
图11a-图11b根据本申请的实施例示出了一组手写笔划直线操作结果示意图;
图12根据本申请的实施例示出了另一种轨迹生成方法的实施流程示意图;
图13根据本申请的实施例示出了一种用于轨迹生成的装置的结构示意图;
图14根据本申请的实施例示出了一种手写笔的结构示意图;
图15根据本申请的实施例示出了一种电子设备的结构示意图;
图16根据本申请的实施例示出了一种电子设备的软件系统架构示意框图。
具体实施方式
本申请的说明性实施例包括但不限于一种轨迹生成方法、可读介质和电子设备。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例中的技术方案进行清楚、详尽的描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例结合。
在介绍本申请实施例涉及的技术方案之前,先对部分本申请实施例中的包含的术语进行解释。
(1)主动式电容手写笔
主动式电容手写笔,是一种在现有互容式触摸屏系统的硬件基础上实现的手写笔方案。不同于普通的被动式电容手写笔,主动式电容手写笔自身相当于信号发射源,手写笔发射高频电流,触摸屏接收电容笔发射的电流信号,从而得知电容笔在屏幕上的坐标,并在屏幕上显示对应的像素点,这样可以实现手写笔在屏幕上书写的效果。例如,如图3a所示,用户使用手写笔200在电子设备100的触摸屏上书写,手写笔200发送电流信号,对应地,电子设备100的触摸屏接收到该电流信号测算出笔尖该时刻落于屏幕上的位置并显示该像素点。
另外,在手写笔中加入压力传感器,可以使手写笔感测到用户书写时的力度的变化,从而可以更根据压力传感器数据的变化来改变笔迹的粗细,例如,压力传感器数据变大时,笔迹变粗。示例性地,参考图3b,用户通过手写笔200书写,从A点出发,到B点时,用户书写力度变大,此时手写笔的压力传感器数据变大,电子设备100的触摸屏接收到手写笔压力传感器数据,相应地,显示为更粗的笔迹。
(2)空鼠
本申请实施例中的包含的术语“空鼠”,也称为“空中飞鼠”,与传统鼠标的区别在于,用户不再局限于某一个平面上使用鼠标。其利用陀螺仪原理设计,使用户可以手握相应设备进行隔空操作,实现鼠标的功能,例如上下移动、翻页等。
本申请实施例中所涉及的“空鼠模式”是一种应用于手写笔的功能,通过手写笔的陀螺仪传感器,即G-SENSOR感应手势的变化,对电子设备实现隔空操作,即实现相关的“空鼠”效果。示例性地,参考上述图2,图2所示场景即为用户通过手写笔200的空鼠模式对电子设备100的屏幕中播放的PPT进行隔空操作。
(3)姿态
本申请实施例中包含的术语“姿态”,通常是指一个坐标系与另一个坐标系的转换关系。通常采用航向角(yaw),俯仰角(pitch),横滚角(roll)来描述一个载体的姿态。常用姿态解算的方法主要包括,欧拉角法,四元数法,方向余弦法。
(4)欧拉角
本申请中的包含的术语“欧拉角”,是一种常用的描述方位的方法,就是将两个坐标系的变换分解为绕三个不同的坐标轴的三次连续转动组成的序列。欧拉角的旋转规则为连续两次旋转,必须绕着不同的转动轴旋转,所以一共有12种旋转顺序。本文主要描述的是以Z-X-Y的旋转顺序,即绕Z轴旋转航向角(yaw),绕X轴旋转俯仰角(pitch),绕Y轴旋转横滚角(roll)。航向角(Yaw)是物体纵轴与地理坐标系Z轴的夹角,范围为0~180度之间。俯仰角(pitch)是物体纵轴与地理坐标系X轴的夹角,范围为-90~90 度之间。横滚角(roll)是物体横轴与地理坐标系Y轴的夹角,范围为-180~180度之间。
示例性地,参考图4a-图4c,图4a根据本申请的实施例示出了航向角的角度变化示意图,图4b根据本申请的实施例示出了俯仰角的角度变化示意图,图4c根据本申请的实施例示出了横滚角的角度变化示意图。如图4a所示,当手写笔绕Z轴旋转时,手写笔笔轴与Z轴的夹角为航向角(yaw),且航向角的取值范围为0~180度之间。可以理解,用户手执手写笔,沿平行于水平面的方向划直线的动作相当于手写笔绕Z轴旋转,即此时手写笔笔轴与Z轴的夹角为航向角。相似地,如图4b所示,当手写笔绕X轴旋转时,手写笔笔轴与X轴的夹角为俯仰角(pitch),且俯仰角的取值范围为-90~90度之间。可以理解,用户手执手写笔,沿垂直于水平面的方向划直线的动作相当于手写笔绕X轴旋转,即此时手写笔笔轴与Z轴的夹角为俯仰角。继续参考图4c,如图4c所示,当手写笔绕Y轴旋转时,手写笔横轴,即垂直于手写笔笔轴方向的轴,与X轴的夹角为横滚角(roll),且横滚角的取值范围为-180~180度之间。可以理解,用户手执手写笔,绕手写笔笔轴旋转笔身,即此时手写笔横轴与Y轴的夹角为横滚角。
(5)交叉轴灵敏度
交叉轴灵敏度(cross axis sensitivity)表示来自测量轴以外的速度的影响。例如当X 轴方向为检测轴时,对于来自Y轴和Z轴的速度,输出存在一定程度上的变动。
其中,陀螺仪的交叉轴灵敏度表示陀螺仪三轴中其他两个非测量轴角速度对测量轴角速度的影响。可以理解,理想状况下,陀螺仪的X轴、Y轴和Z轴是完全正交的,即三轴中任意两轴的夹角是90度,但是由于结构的加工误差,很难做到完全正交。也就是说,对于陀螺仪而言,当陀螺仪三轴中的一个轴高速旋转的时候,即使其他轴为静止状态,也会在一定程度上受到高速转动的轴的影响,表现为芯片输出的数据为非0值,即误差值,会影响最终姿态结算的结果。
示例性地,参考图5,图5根据本申请的实施例示出了芯片输出的Z轴和Y轴数据。不难看出,Z轴为实际旋转的轴,Y轴为静止状态,但由于存在轴间误差,芯片输出的Y 轴数据也为非0数值,并且随着Z轴转速的增大,Y轴的误差值也在增大。可以理解,当测量轴高速旋转时,非测量轴的误差值也相应增大,对陀螺仪姿态结算结果的影响也会增大。可以理解,图5所示的数值都是示例性的,并不构成对本申请实施例的限制。
其中,陀螺仪的机械特征如表1所示。
表1陀螺仪的机械特征
从表1可见,陀螺仪的交叉轴灵敏度(cross axis sensitivity)的最大值为2%。也就是说,陀螺仪存在轴间误差,轴间误差最大为2%。
可以理解,例如,假设陀螺仪X轴的数值为2000,理想状况下Z轴是没有无分量的,但是实际由于轴间误差存在,有2%的分量耦合到Z轴,即2000*2%=40。也就是说,即使该时刻Z轴为静止状态,芯片仍会输出Z轴上的非0数值40。
(6)四元数互补滤波
四元数互补滤波是一种基于两个传感器的,通过一些互补滤波方法将两者的数据进行融合的滤波算法,并且这两个传感器的优缺点互补。例如,加速度计的低频信号较好,而陀螺仪的高频信号较好,从而结合加速度计和陀螺仪各自的优点就可以进行互补滤波估计,从而可以实现对角速度的补偿,进一步得到更准确的姿态估计,即更准确的四元数数据。
本申请实施例提供的轨迹生成方法可以应用于诸如手机、智慧大屏、平板电脑、笔记本电脑、上网本、个人数字助理(personal digital assistant,PDA)等任何可以通过手写笔进行操作的电子设备上,电子设备的示例性实施例包括但不限于搭载 或者其它操作系统的电子设备。本申请实施例对电子设备的具体类型不做任何限制。
本申请实施例涉及的手写笔,是指可以对上述电子设备进行触控操作、同时也可以使用空鼠模式发送指令到上述电子设备的设备,用户可以通过使用手写笔点击电子设备的显示屏来打开应用或选取文件等,可以在显示屏显示的显示界面上书写文本内容或绘画或浏览网页页面或对观看的视频页面进行如输入弹幕、快进视频进度、后退视频进度等操作。手写笔可以是电容笔或者电磁笔,本申请实施例不限定手写笔的具体类型。
相关技术中,如图6所示,一般是通过A+G传感器获取到采集的加速度计(ACCEL)和陀螺仪(GYRO)的原始数据并进行滤波和零偏校准处理后,采用四元数互补滤波算法,得到表示手写笔的当前姿态的欧拉角数据(pitch,yaw,roll)。但是,由于陀螺仪(GYRO) 存在轴间误差,而相关技术中的滤波和零偏校准处理并不会消除这一部分数据误差,所得数据往往是不够精确的。
可以理解,例如,当用户手执手写笔划水平的直线时,如图7a所示,进行操作1,即用户手执手写笔的底部,沿平行于水平面的方向向右划出水平的直线。此时Z轴的速度例如是1000,虽然用户并没有在竖直方向上移动手写笔,即手写笔并没有绕X轴旋转,陀螺仪的X轴保持静止,但是由于陀螺仪存在例如是2%的轴间误差,有分量耦合到X轴,芯片输出的X轴数据并不是0值,而是20以内的非0数值。而当X轴有非0值的数据时,陀螺仪原始数据经过四元数互补滤波算法的计算得出的数据不够精确,例如表现为显示在电子设备100的屏幕中的光标的y轴上有非0值数据。直观地,在实际使用过程中,体现为用户划出的水平直线不直,成为斜线。如图8a所示,图示电子设备100的屏幕中的用户界面810中实线L1表示光标实际运动轨迹,虚线L1’表示用户实际通过手写笔划出的轨迹。可以理解,这里的Z轴的速度1000是示例性的,并不构成对本申请实施例的限制。同时,这里的Z轴的速度例如是1000是手写笔的处理器读取到的陀螺仪的Z轴的速度的数据,手写笔的处理器可以通过公式1000/灵敏度常量确定陀螺仪的Z轴的角速度数据,例如:灵敏度常量可以是20,则Z轴的速度1000表示Z轴的角速度为50度/每秒。
再如,当用户手执手写笔划竖直的直线时,如图8b所示,进行操作2,即用户手执手写笔的底部,沿垂直于水平面的方向向下划出竖直的直线。此时X轴的速度例如是1000,虽然用户并没有转动手写笔,即手写笔并没有绕Z轴旋转,陀螺仪的Z轴保持静止,但是由于陀螺仪存在例如是2%的轴间误差,有分量耦合到Z轴,芯片输出的Z轴数据并不是 0值,而是20以内的非0数值。而当Y轴有非0值的数据时,陀螺仪原始数据经过四元数互补滤波算法的计算得出的数据不够精确,例如表现为显示在电子设备100的屏幕中的光标的x轴上有非0值数据。直观地,在实际使用过程中,体现为用户划出的水平直线不直,成为斜线。如图8b所示,图示电子设备100的屏幕中的用户界面820中实线L2表示光标实际运动轨迹,虚线L2’表示用户实际通过手写笔划出的轨迹。
因此,相关技术的方式中,由于陀螺仪存在的轴间误差的问题,使得用户在利用手写笔的空鼠模式划直线时,往往达不到预期的效果,例如是直线不直划成斜线,用户体验不佳。
为了解决上述问题,本申请实施例提供了一种的轨迹生成方法。在该方法中,当手写笔200与电子设备100建立通信连接,进入空鼠模式后,用户利用手写笔的空鼠功能划直线,首先对获取的GYRO的原始数据进行滤波和零偏校准处理,再解决陀螺仪轴间误差造成的数据漂移的问题。具体方法为:判断当前GYRO的任一方向的轴的数据,若小于第一阈值,认为是误差值,设置该值为0值;若大于上述第一阈值,通过缓存的一定数量的光标偏移信息(例如是30组)识别当前是否为划直线场景,若为划直线场景,当本次GYRO 的任意两轴的数据比值小于第二阈值时,认为较小值为误差值,设置该较小值为0值。最后将处理过的数据通过四元数互补滤波算法完成对手写笔200的姿态解算,并在电子设备 100上显示光标运动轨迹,得到更接近于水平或者竖直的直线的光标轨迹,提升了用户体验。
为了更好地理解本申请实施例的技术方案,下面以图1所示场景为例,对本申请的一些技术方案进行详细介绍。
图9根据本申请的实施例示出了电子设备100与手写笔200的交互过程示意图,这里的电子设备100可以是平板电脑。具体地,如图9所示,该方法包括但不限于以下步骤:
S901:电子设备100与手写笔200通过蓝牙建立通信连接。
在一些实施例中,用户可以通过打开电子设备100的蓝牙开关,扫描蓝牙广播信息,然后获取蓝牙广播信息对应的手写笔200的设备信息,确定设备信息是否满足预先设立的自动连接条件。如果确定设备信息满足自动连接条件,电子设备100与该设备建立通信连接。
可以理解,电子设备100和手写笔200也可以通过NFC等其他方式建立无线通信连接,本申请对此不做限制。
S902:手写笔200向电子设备100发送进入空鼠模式请求。
在一些实施例中,电子设备100与手写笔200建立上述通信连接后,手写笔200通过蓝牙模块向电子设备100发送进入空鼠模式的请求。
可以理解,在手写笔200与电子设备100建立无线通信连接后,用户可以输入进入空鼠模式的指令,例如可以是点击手写笔200上的相关控件,手写笔200可以接收用户输入的指令,并通过蓝牙模块发送给电子设备100。
S903:电子设备100向手写笔200发送确认进入空鼠模式的消息。
在一些实施例中,电子设备100接收到手写笔200发送的进入空鼠模式的请求后,响应于该请求,在用户界面弹出提示框和相关控件以供用户确认是否进入空鼠模式,用户选择确认进入空鼠模式后,电子设备100向手写笔200发送确认进入空鼠模式的消息。
在另一些实施例中,电子设备100也可以不通过用户确认,自动通过已建立的无线通信通道向手写笔200发送确认进入空鼠模式的消息,并在用户界面弹出手写笔200已进入空鼠模式的提示框,本申请对此不做限制。
S904:手写笔200接收到确认进入空鼠模式的消息,进入空鼠模式。
在一些实施例中,手写笔200接收到确认进入空鼠模式的消息后,通过手写笔200上的指示灯来提示用户进入空鼠模式。
在另一些实施例中,手写笔200在接收到消息后,也可以通过其他方式提示用户进入空鼠模式,本申请在此不做限制。
S905:手写笔200启动10ms定时器。
手写笔进入空鼠模式后,启动10ms定时器。可以理解,手写笔按照100HZ的频率,获取加速度和陀螺仪信息等并转化为光标信息发送到终端,即每10ms刷新一次。值得注意的是,该频率为高于人眼刷新频率的频率。其中,频率f与周期T的转换公式如公式1 所示。
T=1/f (公式1)
其中,f为手写笔的刷新频率,T为定时器的刷新周期。例如,当f为100HZ时,代入公式1可得T的值为10ms,即此时采用10ms定时器。
可以理解,工业生产中大多采用10ms定时器。在另一些可替代的实施例中,也可以采用1ms定时器,本申请对此不做限制,凡是满足高于人眼刷新频率条件的定时器,皆在本申请的保护范围内。
S906:电子设备100显示光标初始位置。
可以理解,光标的初始位置可以是电子设备100预先设置的默认位置,例如是屏幕中点O点,记为(x0,y0),例如可以是x0=0,y0=0。
在一些可替代的其他实施例中,光标的初始位置,也可以是手写笔200上一次退出空鼠模式时,电子设备100上对应的光标位置。
在另一些实施例中,光标的初始位置还可以是用户最近一次使用电子设备100时下电时的光标位置,本申请对此不做限制。
S907:手写笔200获取A+G传感器原始数据并进行滤波和零偏校准。
手写笔200通过其上的A+G传感器获取加速度和角速度信息,即获取加速度计测量得到的加速度信息以及陀螺仪传感器测量得到的角速度信息,并对获取的原始加速度和角速度数据进行滤波和零偏校准处理。
S908:手写笔200判断GYRO的X轴、Y轴或Z轴的数据值是否小于第一阈值。若判断结果为是,则认为该小于第一阈值的值为误差值,则继续执行步骤S909,将误差值设置为0;若判断结果为否,则无法确定是否为误差值,需要进行进一步判断,则执行下述步骤S910。
可以理解,若陀螺仪三轴中任意一轴的数据小于预设的第一阈值,则为陀螺仪误差造成的,直接对这部分数据进行置0处理,达到消除误差的目的。
其中,在一些实施例中,预设的第一阈值可以为20;在另一些实施例中,预设的第一阈值也可以为15;在其他可替代的实施例中,预设的第一阈值还可以为18。本申请对第一阈值的具体数值不做限制,远低于手写笔运动时的陀螺仪速度,皆在本申请的保护范围内,在此不做赘述。
S909:手写笔200将GYRO的X轴、Y轴、Z轴数据小于第一阈值的值设置为0值。
可以理解,手写笔200将陀螺仪三轴的数据中小于上述预设的第一阈值的数值设置为 0值,即将陀螺仪轴间误差造成的非检测轴的非0数值设置为0值,达到消除轴间误差的目的,使获取的陀螺仪三轴的数据更精准。
S910:手写笔200判断GYRO的X轴、Y轴或Z轴任意2轴数据之间的比值是否小于第二阈值。若判断结果为是,该比值中较小值可能为误差值,需要进行进一步判断,则继续执行步骤S911;若判断结果为否,则不执行。
可以理解,若陀螺仪X轴、Y轴或Z轴数值不满足上述值小于第一阈值的条件时,则不能直接判断为是轴间误差造成的,例如也可能是用户在划平滑的曲线。因此,还需要进行进一步判断当前场景是否为划直线场景,即理想状态下,非检测轴的数据为0值。
可以理解,第二阈值为陀螺仪器件的交叉轴灵敏度(cross axis sensitivity)的最大值,例如可以是上述表1所示的值2%。
S911:手写笔200根据保存的光标偏移信息,判断是否为平移。若判断结果为是,则认为上述小于第二阈值的比值中较小值为误差值,则继续执行步骤S912,将误差值设置为0;若判断结果为否,则不执行。
可以理解,手写笔200根据缓存的一定数量的光标坐标信息,通过与缓存的光标坐标比较,判断当前是否为划直线的场景,即平移。
在一些实施例中,手写笔200通过比较当前获取的数据与缓存的30组光标信息,判断当前是否为划直线场景。可以理解,在另一些实施例中,缓存的数据也可以是40组。在其他可替代的实施例中,缓存的数据也可以是50组,本申请对此不做限制。
示例性地,保存的30组光标偏移x轴的数据都为0值,则可以判断当前场景为划直线场景,即平移。
S912:手写笔200将GYRO的X,Y,Z轴数据比值小于第二阈值的较小的值设置为 0值。
可以理解,手写笔200将陀螺仪三轴中任意两轴数值比值小于上述预设的第二阈值的较小的值设置为0值,即判断为划直线场景后,将陀螺仪轴间误差造成的非检测轴的非0 数值改为0值,达到消除轴间误差的目的,使获取的陀螺仪三轴的数据更精准。
S913:手写笔200根据四元数互补算法计算并保存光标偏移信息(Δxi,Δyi)。
其中,互补滤波就是利用加速度计低频信号较好,陀螺仪高频信号较好的特性,对加速度计进行低通滤波处理,对陀螺仪进行高通滤波处理。利用加速度计的低频信息和陀螺仪的高频信息得到较好的姿态数据。
示例性地,如图10所示,手写笔200将手写笔笔尖初始位置设置为原点,笔尖朝右的方向为X轴,笔尖朝前的方向为Y轴,笔尖朝上的方向为Z轴,通过四元数可以用(tx, ty,tz,qx,qy,qz,qw)表示。其中,tx、ty、tz分别表示手写笔笔尖在X轴、Y轴和Z 轴的平移量,qx、qy、qz、qw为表示手写笔笔尖旋转量的四元数,其中,qx、qy、qz分别表示手写笔笔尖绕X轴、Y轴和Z轴的旋转量,qw表示角度分量。可以理解,tx对应于二维坐标的x轴方向上值的变化量Δx,ty对应于二维坐标的y轴方向上值的变化量Δy。
S914:手写笔200判断是否需要向电子设备100发送光标信息。若判断结果为是,则向电子设备发送光标偏移信息,执行步骤S915;若判断结果为否,则不向电子设备100发送光标偏移信息,执行下述步骤S917。
可以理解,手写笔200可以通过其上的电容式触摸传感器(touch film)获取其容值信息,并转化为手指按压、释放、滑动等手势信息。例如,手指按压为需要向电子设备发送光标坐标信息,则当检测到用户的按压操作后,手写笔200向电子设备100发送光标坐标 6标偏移信息(Δxi,Δyi)。
S915:手写笔200向电子设备100发送光标偏移信息。
可以理解,手写笔200通过上述已建立的蓝牙通道向电子设备100发送最终得到的光标偏移信息(Δxi,Δyi)。
在其他可替代的实施例中,上述步骤S907到S913中对A+G传感器获取的原始数据进行处理的过程也可以由电子设备执行,即手写笔只需将采集到的原始数据发送至电子设备,由电子设备进行数据处理并转化成光标信息。
S916:电子设备100计算并保存当前光标位置信息(xi,yi)。
电子设备基于上一次保存的光标位置信息(Δxi-1,Δyi-1)及接收到的光标偏移信息(Δxi, Δyi),根据公式2计算得到当前光标位置信息(xi,yi)并保存。
(xi,yi)=(xi-1+a*Δxi,yi-1+a*Δyi) (公式2)
其中,i的取值范围为大于0的自然数,a为预设的比例系数。
例如,当手写笔200对电子设备100的屏幕中正在演示的PPT进行划线操作时,上述预设的比例系数为2,即电子设备100的屏幕中显示的位移是手写笔200笔尖实际位移的 2倍。示例性地,参考图11a,图11a示出了一种手写笔200划直线操作结果示意图,手写笔笔尖从P点水平移动到Q点,电子设备100的屏幕中显示的光标轨迹为从P’点到Q’点。其中P’点对应于P点,Q’点对应于Q点,并且线段P’Q’的长度是线段PQ的2倍,即上述比例系数为2。可以理解,在另一些实施例中,该预设的比例系数也可以为其他数值,本申请对此不做限制。
可以理解,若当前光标位置超出电子设备的屏幕显示范围,则光标只显示到屏幕边缘,且设置当前光标位置为屏幕上显示的位置,超出部分不再显示。示例性地,参考图11b,图11b示出了另一种手写笔划直线操作结果示意图,手写笔200的笔尖从M点水平移动到 N点,电子设备100的屏幕中显示的光标轨迹理论上应该是从M’点到N’点,但由于线段KN’超出屏幕显示范围,所以只显示线段M’K部分,且此时M点对应于M’点,N点对应于K点。
S917:手写笔200不向电子设备100发送光标偏移信息。
S918:电子设备100未接收到光标偏移信息,不更新光标位置。
可以理解,电子设备100没有接收到手写笔200发送的光标偏移信息,则不更新光标位置,该时刻电子设备100屏幕上的光标显示形式可以为光标消失,即不显示光标,也可以为光标静止,即按最近一次接收到的光标坐标信息显示,本申请对此不做限制。
S919:手写笔200关闭10ms定时器。
可以理解,当手写笔200退出空鼠模式前,关闭10ms定时器,即停止定时获取传感器数据,为退出空鼠模式做准备。例如,手写笔200接收到用户输入的退出空鼠模式的指令,例如可以是,用户点击手写笔上的取消控件等,本申请不做限制。
S920:手写笔200退出空鼠模式。
在一些实施例中,手写笔退出空鼠模式时,通过手写笔200上的指示灯来提示用户已退出空鼠模式。
在另一些实施例中,手写笔200在接收到消息后,可以通过手写笔200上的屏幕显示提示是否退出空鼠模式的消息及控件,以供用户选择,本申请在此不做限制。
可以理解,手写笔200可以接收用户输入的确认和/或否定指令,并通过蓝牙模块发送给电子设备100。
可选地,手写笔200退出空鼠模式前,还可以记录该时刻的光标坐标信息并发送给电子设备100。
S921:手写笔200向电子设备100发送退出空鼠模式消息。
手写笔200通过已建立的蓝牙连接向电子设备100发送退出空鼠模式消息。
可以理解,在另一些实施例中,根据实际需求,上述图9所示各步骤可以组合、删除或者替换为其他利于实现本申请目的的步骤等,例如可以删除上述步骤S903、或者将上述步骤S919与步骤S920组合为一个步骤,本申请在此不做限制。
图12根据本申请的实施例示出了一种轨迹生成方法的流程示意图。可以理解,图12 所示流程的各步骤执行主体均为手写笔200。为了简化描述,以下在介绍图12所示流程各步骤时将不再重复描述各步骤的执行主体。如图12所示,该流程包括但不限于以下步骤:
S1201:通过蓝牙与电子设备100建立通信连接。
在一些实施例中,用户可以通过打开电子设备100的蓝牙开关,扫描蓝牙广播信息,然后获取蓝牙广播信息对应的手写笔200的设备信息,确定设备信息是否满足预先设立的自动连接条件。如果确定设备信息满足自动连接条件,电子设备100与该设备建立通信连接。
S1202:发送进入空鼠模式请求。
在一些实施例中,电子设备100与手写笔200建立上述通信连接后,手写笔200通过蓝牙模块向电子设备100发送进入空鼠模式的请求。
可以理解,在手写笔200与电子设备100建立无线通信连接后,用户可以输入进入空鼠模式的指令,例如可以是点击手写笔200上的相关控件,手写笔200可以接收用户输入的指令,并通过蓝牙模块发送给电子设备100。
S1203:接收到确认进入空鼠模式的消息,进入空鼠模式。
在一些实施例中,手写笔200接收到确认进入空鼠模式的消息后,通过手写笔200上的指示灯来提示用户进入空鼠模式。
在另一些实施例中,手写笔200在接收到消息后,也可以通过语音提示提示用户进入空鼠模式,本申请在此不做限制。
S1204:启动10ms定时器。
手写笔进入空鼠模式后,启动10ms定时器。可以理解,手写笔按照100HZ的频率(高于人眼刷新率),获取加速度和陀螺仪信息等并转化为光标信息发送到终端,即每10ms 刷新一次。
可以理解,工业生产中大多采用10ms定时器。在另一些可替代的实施例中,也可以采用1ms定时器,本申请对此不做限制,凡是满足高于人眼刷新频率条件的定时器,皆在本申请的保护范围内。
S1205:判断是否退出空鼠模式。若判断结果为否,则说明手写笔200没有退出空鼠模式,继续获取A+G传感器数据并处理,执行步骤S905;若判断结果为是,说明手写笔退出空鼠模式,则执行步骤S914。
S1206:获取A+G传感器原始数据并进行滤波和零偏校准。
手写笔200通过其上的A+G传感器获取加速度和角速度信息,即获取加速度计测量得到的加速度信息以及陀螺仪传感器测量得到的角速度信息,并对获取的原始加速度和角速度数据进行滤波和零偏校准处理。
S1207:判断GYRO的X轴、Y轴或Z轴的数据值是否小于第一阈值。若判断结果为是,则认为该小于第一阈值的值为误差值,则继续执行步骤S1208,将误差值设置为0;若判断结果为否,则无法确定是否为误差值,需要进行进一步判断,则执行下述步骤S1209。
可以理解,若陀螺仪三轴中任意一轴的数据小于预设的第一阈值,则认为是陀螺仪误差造成的,直接对这部分数据进行处理,达到消除误差的目的。
其中,在一些实施例中,预设的第一阈值可以为20;在另一些实施例中,预设的第一阈值也可以为15;在其他可替代的实施例中,预设的第一阈值还可以为18。本申请对第一阈值的具体数值不做限制,远低于手写笔运动时的陀螺仪速度,皆在本申请的保护范围内,在此不做赘述。
S1208:将GYRO的X轴、Y轴、Z轴数据小于第一阈值的值设置为0值。
可以理解,手写笔200将陀螺仪三轴的数据中小于上述预设的第一阈值的数值设置为 0值,即将陀螺仪轴间误差造成的非检测轴的非0数值改为0值,达到消除轴间误差的目的,使获取的陀螺仪三轴的数据更精准。
S1209:判断GYRO的X轴、Y轴或Z轴任意2轴数据之间的比值是否小于第二阈值。若判断结果为是,该比值中较小值可能为误差值,需要进行进一步判断,则继续执行步骤S1210;若判断结果为否,则不执行。
可以理解,若陀螺仪X轴、Y轴或Z轴数据不满足上述值小于第一阈值的条件时,则不能直接判断为是轴间误差造成的,例如也可能是用户在划平滑的曲线。因此,还需要进行进一步判断当前场景是否为划直线场景,即理想状态下,非检测轴数据为0值。
可以理解,第二阈值为陀螺仪器件的交叉轴灵敏度(cross axis sensitivity)的最大值,例如可以是上述表1所示的值2%。
S1210:根据保存的光标偏移信息,判断是否为平移。若判断结果为是,则认为上述小于第二阈值的比值中较小值为误差值,则继续执行步骤S1211,将误差值设置为0;若判断结果为否,则不执行。
可以理解,手写笔200根据缓存的一定数量的光标坐标信息,通过与缓存的光标坐标比较,判断当前是否为划直线的场景,即平移。
在一些实施例中,手写笔200通过比较当前获取的数据与缓存的30组光标信息,判断当前是否为划直线场景。可以理解,在另一些实施例中,缓存的数据也可以是40组。在其他可替代的实施例中,缓存的数据也可以是50组,本申请对此不做限制。
示例性地,保存的30组光标偏移x轴的数据都为0值,则判断当前场景为划直线场景,即平移。
S1211:将GYRO的X,Y,Z轴数据比值小于第二阈值的较小的值设置为0值。
可以理解,手写笔200将陀螺仪三轴中任意两轴数值比值小于上述预设的第二阈值的较小的值设置为0值,即判断为划直线场景后,将陀螺仪轴间误差造成的非检测轴的非0 数值改为0值,达到消除轴间误差的目的,使获取的陀螺仪三轴的数据更精准。
S1212:根据四元数互补算法计算光标偏移信息。
其中,互补滤波就是利用加速度计低频信号较好,陀螺仪高频信号较好的特性,对加速度计进行低通滤波处理,对陀螺仪进行高通滤波处理。利用加速度计的低频信息和陀螺仪的高频信息得到较好的姿态数据。
示例性地,如图10所示,手写笔200将手写笔笔尖初始位置设置为原点,笔尖朝右的方向为X轴,笔尖朝前的方向为Y轴,笔尖朝上的方向为Z轴,通过四元数可以用 (tx,ty,tz,qx,qy,qz,qw)表示。其中,tx、ty、tz分别表示目标关节在X轴、Y轴和Z轴的平移量,qx、qy、qz、qw为表示目标关节旋转量的四元数,其中,qx、qy、qz 分别表示目标关节绕X轴、Y轴和Z轴的旋转量,qw表示角度分量。可以理解,tx对应于二维坐标的x轴方向上值的变化量Δx,ty对应于二维坐标的y轴方向上值的变化量Δy。
S1213:保存本次光标偏移。
手写笔200保存上述四元数互补滤波计算得出的光标偏移信息,以便上述步骤S909 用于判断当前场景。
S1214:发送最终光标偏移。
可以理解,手写笔200通过上述已建立的蓝牙通道向电子设备100发送最终得到的光标偏移信息(Δxi,Δyi)。
S1215:关闭10ms定时器。
可以理解,当手写笔200退出空鼠模式前,关闭10ms定时器,即停止定时获取传感器数据,为退出空鼠模式做准备。例如,手写笔200接收到用户输入的退出空鼠模式的指令,例如可以是,用户点击手写笔上的取消控件等,本申请不做限制。S919:手写笔200 关闭10ms定时器。
S1216:退出空鼠模式。
在一些实施例中,手写笔退出空鼠模式时,通过手写笔200上的指示灯来提示用户已退出空鼠模式。
在另一些实施例中,手写笔200在接收到消息后,可以通过手写笔200上的屏幕显示提示是否退出空鼠模式的消息及控件,以供用户选择,本申请在此不做限制。
可以理解,手写笔200可以接收用户输入的确认和/或否定指令,并通过蓝牙模块发送给电子设备100。
可选地,手写笔200退出空鼠模式前,还可以记录该时刻的光标坐标信息并发送给电子设备100。
S1217:发送退出空鼠模式消息。
手写笔200通过已建立的蓝牙连接向电子设备100发送退出空鼠模式消息。
可以理解,在另一些实施例中,根据实际需求,上述图12所示的各步骤可以组合、删除或者替换为其他利于实现本申请目的的步骤等,例如可以将上述步骤S1215与步骤S1216组合为一个步骤,本申请在此不做限制。
在一个示例性的实施例中,本申请实施例中还提出了一种用于轨迹生成的装置,应用于手写笔,手写笔内设置有传感器。如图13所示,图13示出了本申请实施例提供的一种用于轨迹生成的装置的结构示意图。本实施例的装置包括:采集模块1310、处理模块1320、发送模块1330以及接收模块1340。其中,各个模块的详细描述如下。
采集模块1310,用于当检测到手写笔进入空鼠模式后,通过A+G传感器采集手写笔运动时的运动数据,通过触摸传感器(touch film)采集用户在手写笔上的操作信号,例如按压、释放、滑动等。
处理模块1320,用于与电子设备建立无线通信连接;还用于对采集到的手写笔运动数据做滤波和零偏校准处理,并对经滤波和零偏校准处理后的数据进行进一步判断,处理误差值;还用于通过四元数互补滤波算法计算手写笔光标偏移信息。
发送模块1330,用于进入空鼠模式时,通过无线通信连接向电子设备发送请求;还用于通过无线通信连接向电子设备发送手写笔光标偏移信息;还用于退出空鼠模式时,通过无线通信连接向电子设备发送消息。
接收模块1340,用于接收电子设备通过无线通信通道发送的确认进入空鼠模式的消息。
需要说明的是,各个模块的实现还可以对应参照图12所示的方法实施例的相应描述,执行上述实施例中手写笔所执行的方法和功能。
为了更好地理解本申请实施例的技术方案,下面结合附图介绍本申请涉及的设备的结构。
示例性地,图14根据本申请实施例示出了一种手写笔200的结构示意图。
如图14所示,手写笔200可以包括处理器201,触摸传感器202,A+G传感器203,通信接口204。
处理器201可以包括一个或多个处理单元,例如:处理器201可以包括调制解调处理器,控制器,存储器,DSP,基带处理器,和/或NPU等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是手写笔200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器201中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器201中的存储器为高速缓冲存储器。该存储器可以保存处理器201刚用过或循环使用的指令或数据。如果处理器201需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器201的等待时间,因而提高了系统的效率。
触摸传感器202,也称“触控器件”。触摸传感器202用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器201,以确定触摸事件类型。
A+G传感器203,包括加速度传感器和陀螺仪传感器。加速度传感器可检测手写笔200 在各个方向上(一般为三轴)的加速度的大小。当手写笔200静止时可检测出重力的大小及方向。陀螺仪传感器可以用于确定手写笔200的运动姿态。在一些实施例中,可以通过陀螺仪传感器确定手写笔200围绕三个轴(即,x,y和z轴)的角速度。
通信接口204,用于与外部件设备例如智慧大屏进行通信。在一些实施例中,通信接口204可以采用蓝牙或NFC等技术与电子设备100进行通信。在一些实施例中,A+G传感器203采集到的光标偏移信息可以通过通信接口204发送给电子设备100。
可以理解的是,图14所示的部件并不构成对手写笔的具体限定。本申请实施例中的手写笔可以包括比图14中更多或更少的部件。此外,图14中的部件之间的组合/连接关系也是可以调整修改的。
示例性地,图15根据本申请实施例示出了一种电子设备100的结构示意图。
如图15所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器 180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit, GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110 中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和 /或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA) 和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理110可以包含多组 I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块 170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块 160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150 还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术 (infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TDSCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem, QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode, FLED),Mini-Led,Micro-Led,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏 194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP 还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193 中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100 可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm 的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA) 标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100 根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A 的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C 测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J 检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100 对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM 卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个 SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100 中,不能和电子设备100分离。
示例性地,图16根据本申请实施例示出了一种电子设备100的软件系统架构示意框图。
如图16所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。该数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
系统库可以包括多个功能模块。例如:表面管理器(surface manager,SM),媒体库(Media Libraries,ML),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(Digital Signal Processor,DSP)、微控制器、专用集成电路 (Application Specific Integrated Circuit,ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、可擦除可编程只读存储器(Erasable Programmable ReadOnly Memory,EPROM)、电可擦除可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (7)
1.一种轨迹生成方法,其特征在于,包括:
获取第一电子设备的传感器检测到的,所述第一电子设备相对于第二电子设备的屏幕移动所产生的第一轨迹数据,其中,所述第一轨迹数据包括多个坐标轴数据;
将所述第一轨迹数据中由所述传感器的误差产生的且符合预设条件的所述坐标轴数据的数值设置为第一数值,得到第二轨迹数据,其中,所述预设条件包括:所述坐标轴数据的数值小于预设第一数据阈值,且所述第一数值为零值;
基于所述第二轨迹数据,在所述第二电子设备的屏幕上显示所述第一电子设备相对于第二电子设备的移动轨迹,其中,所述移动轨迹包括所述第一电子设备相对于第二电子设备的屏幕移动所产生的水平或者垂直方向上的直线。
2.根据权利要求1所述的方法,其特征在于,所述多个坐标轴数据包括所述第一电子设备的加速度计和陀螺仪确定的所述第一电子设备移动过程中的X轴、Y轴或Z轴的数据。
3.根据权利要求1所述的方法,其特征在于,所述预设条件,还包括:
获取第一电子设备的传感器检测到的,所述第一电子设备相对于第二电子设备的屏幕移动所产生的第三轨迹数据;
在获取到所述第三轨迹数据之前,在先后连续通过第一数量的次数获取到的多个历史轨迹数据的坐标轴数据中均存在所述坐标轴数据被设置为所述第一数值的情况下,且所述坐标轴数据中的第一参考数据的数值和第二参考数据的数值之间的比值小于预设第二数据阈值时,将所述第三轨迹数据坐标轴数据的数值设置为所述第一数值,得到第四轨迹数据,
其中,所述第一数量大于校正次数阈值。
4.根据权利要求1所述的方法,其特征在于,包括:
所述第一电子设备与所述第二电子设备建立通信连接;
响应于用户对所述第一电子设备的操作,获取所述第一电子设备相对于第二电子设备的屏幕移动所产生的第一轨迹数据。
5.根据权利要求1所述的方法,其特征在于,包括:
根据预设采集频率,获取所述第一电子设备的传感器检测到的,所述第一电子设备相对于第二电子设备的屏幕移动所产生的第一轨迹数据。
6.一种可读介质,其特征在于,所述可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行权利要求1-5中任一项所述的轨迹生成方法。
7.一种电子设备,其特征在于,包括:
存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及
处理器,是电子设备的处理器之一,用于执行权利要求1-5中任一项所述的轨迹生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210964223.4A CN116048296B (zh) | 2022-08-11 | 2022-08-11 | 电子设备及其轨迹生成方法和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210964223.4A CN116048296B (zh) | 2022-08-11 | 2022-08-11 | 电子设备及其轨迹生成方法和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116048296A CN116048296A (zh) | 2023-05-02 |
CN116048296B true CN116048296B (zh) | 2024-04-02 |
Family
ID=86131812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210964223.4A Active CN116048296B (zh) | 2022-08-11 | 2022-08-11 | 电子设备及其轨迹生成方法和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048296B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116260911B (zh) * | 2023-05-09 | 2024-04-19 | 荣耀终端有限公司 | 提醒方法及相关装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011112500A (ja) * | 2009-11-26 | 2011-06-09 | Fujitsu Ltd | センサ補正プログラム、センサ補正装置およびセンサ補正方法 |
KR20120098321A (ko) * | 2011-02-28 | 2012-09-05 | 국방과학연구소 | 관성 측정기의 교정 장치 및 그 방법 |
CN103213134A (zh) * | 2012-01-20 | 2013-07-24 | 精工爱普生株式会社 | 机械手的控制方法和机械手 |
CN103808331A (zh) * | 2014-03-05 | 2014-05-21 | 北京理工大学 | 一种mems三轴陀螺仪误差标定方法 |
KR20190043306A (ko) * | 2017-10-18 | 2019-04-26 | 허윤선 | 3차원 좌표 측정장치 |
CN112947771A (zh) * | 2021-01-11 | 2021-06-11 | 上海龙旗科技股份有限公司 | 一种实现空间轨迹输入的方法、装置及设备 |
CN113986032A (zh) * | 2021-08-18 | 2022-01-28 | 陈颖 | 智能手写笔书写轨迹偏差的调整方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751151B2 (en) * | 2012-06-12 | 2014-06-10 | Trx Systems, Inc. | System and method for localizing a trackee at a location and mapping the location using inertial sensor information |
KR101008360B1 (ko) * | 2008-07-01 | 2011-01-14 | (주)마이크로인피니티 | 이동 로봇에서의 자이로 센서 오차를 교정하는 장치 및방법 |
US20110087450A1 (en) * | 2009-04-03 | 2011-04-14 | University Of Michigan | Heading Error Removal System for Tracking Devices |
TWI407102B (zh) * | 2010-01-26 | 2013-09-01 | Prolific Technology Inc | 三維空間運動感測方法 |
US8626465B2 (en) * | 2010-03-30 | 2014-01-07 | Apple Inc. | Calibrating sensor measurements on mobile devices |
-
2022
- 2022-08-11 CN CN202210964223.4A patent/CN116048296B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011112500A (ja) * | 2009-11-26 | 2011-06-09 | Fujitsu Ltd | センサ補正プログラム、センサ補正装置およびセンサ補正方法 |
KR20120098321A (ko) * | 2011-02-28 | 2012-09-05 | 국방과학연구소 | 관성 측정기의 교정 장치 및 그 방법 |
CN103213134A (zh) * | 2012-01-20 | 2013-07-24 | 精工爱普生株式会社 | 机械手的控制方法和机械手 |
CN103808331A (zh) * | 2014-03-05 | 2014-05-21 | 北京理工大学 | 一种mems三轴陀螺仪误差标定方法 |
KR20190043306A (ko) * | 2017-10-18 | 2019-04-26 | 허윤선 | 3차원 좌표 측정장치 |
CN112947771A (zh) * | 2021-01-11 | 2021-06-11 | 上海龙旗科技股份有限公司 | 一种实现空间轨迹输入的方法、装置及设备 |
CN113986032A (zh) * | 2021-08-18 | 2022-01-28 | 陈颖 | 智能手写笔书写轨迹偏差的调整方法及装置 |
Non-Patent Citations (3)
Title |
---|
Johann Borenstein 等.Heuristic reduction of gyro drift in groy-based vehicle tracking.SPIE Defense,Security,and Senisng.2009,7305全文. * |
一种应用于空中鼠标的数据校正方法;张冬忙 等;广播电视信息(06);全文 * |
基于便携式智能终端的空中鼠标技术研究;马骏峰 等;计算机工程与应用(07);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116048296A (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112130742B (zh) | 一种移动终端的全屏显示方法及设备 | |
CN115866121B (zh) | 应用界面交互方法、电子设备和计算机可读存储介质 | |
CN115473957B (zh) | 一种图像处理方法和电子设备 | |
CN111176506A (zh) | 一种屏幕显示方法及电子设备 | |
EP4012544A1 (en) | Split-screen processing method and terminal device | |
US20220107821A1 (en) | User interface layout method and electronic device | |
WO2021008589A1 (zh) | 一种应用的运行方法及电子设备 | |
CN114579016A (zh) | 一种共享输入设备的方法、电子设备及系统 | |
CN113641271B (zh) | 应用窗口的管理方法、终端设备及计算机可读存储介质 | |
CN110138999B (zh) | 一种用于移动终端的证件扫描方法及装置 | |
CN116048296B (zh) | 电子设备及其轨迹生成方法和介质 | |
WO2022052712A1 (zh) | 处理交互事件的方法和装置 | |
CN115016697A (zh) | 投屏方法、计算机设备、可读存储介质和程序产品 | |
CN113448658A (zh) | 截屏处理的方法、图形用户接口及终端 | |
CN115150542B (zh) | 一种视频防抖方法及相关设备 | |
CN113721827B (zh) | 悬浮键盘显示方法、电子设备及存储介质 | |
CN114205457B (zh) | 一种移动用户界面元素的方法、电子设备及存储介质 | |
CN114779920A (zh) | 一种基于生物识别的全车窗手势控制系统及其控制方法 | |
CN116048236B (zh) | 通信方法及相关装置 | |
CN116522400B (zh) | 图像处理方法和终端设备 | |
CN116048681B (zh) | 图标显示方法、电子设备和计算机可读存储介质 | |
CN115562514B (zh) | 触控显示方法、图形界面及相关装置 | |
US20240045557A1 (en) | Method for Sharing Input Device, Electronic Device, and System | |
WO2022222705A1 (zh) | 设备控制方法和电子设备 | |
CN117666824A (zh) | 一种控制光标移动的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |