一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种单指虚拟键盘系统及其使用、输入方法

2023-02-06 22:18:40 来源:中国专利 TAG:


1.本发明涉及虚拟键盘的技术领域,尤其是指一种基于六轴惯性传感器的单指虚拟键盘系统及其使用、输入方法。


背景技术:

2.作为传统人机交互中的文本输入方式,物理键盘被广泛应用于日常工作生活中。传统的物理键盘体积大、不易携带的不足限制了其使用范围。另外,新型人机交互如手势识别、语音输入、手写输入方案也逐渐普及。虽然这些方案有各自的优势,但都需要用户数据进行训练,拓展性不足,且容易受到使用场景中的光照、噪声干扰,不能很好地发挥其性能。
3.虚拟键盘技术能够很好地解决物理键盘存在的问题,并且能够让用户将使用物理键盘的经验代入到使用场景中,降低用户的学习成本。但是,当前的虚拟键盘方案中,存在需要大量用户数据进行训练,将运动数据特征与按键位置绑定,拓展性较差的缺点,且需要的传感器较多且复杂,容易受到环境影响,不易发挥其性能。


技术实现要素:

4.本发明的目的在于解决现有虚拟键盘方案的缺点和不足,提出了一种基于六轴惯性传感器的单指虚拟键盘系统及其使用、输入方法,通过设计一个十二等分的圆形虚拟键盘布局模块,根据一个安装在用户手指尖上的六轴惯性传感器测量得到的加速度和角速度数据来计算用户手指移动的目标位移,与虚拟键盘布局模块的按键位置相联系,摆脱了需要用户数据进行训练的不足,且仅传感器仅需要一个六轴惯性传感器,系统简单,不易受到环境影响。
5.为实现上述目的,本发明所提供的技术方案为:一种单指虚拟键盘系统,所述单指虚拟键盘系统由虚拟键盘布局模块、六轴惯性传感器、微处理器、pc上位机组成;
6.所述虚拟键盘布局模块用于为用户展示按键位置和键值;
7.所述六轴惯性传感器有一个,并安装在单手食指尖端,用于测量手指运动时的加速度和角速度数据;
8.所述微处理器用于接收六轴惯性传感器的加速度和角速度数据,并将所述加速度和角速度数据直接拼接后发送到pc上位机;
9.所述pc上位机安装有pc端软件,用于接收微处理器发送的加速度和角速度数据,并对加速度和角速度数据进行处理。
10.进一步,所述虚拟键盘布局模块由圆心位置相同、半径不同的内圆与外圆组成,所有按键位置均匀分布在内圆与外圆的十二等分点上,除此之外,圆心位置也作为一个按键位置。
11.进一步,所述六轴惯性传感器集成了加速度计和陀螺仪,能够输出手指x、y、z三个方向的加速度与角速度数据;以沿食指指尖向前的方向定义为y轴方向,与手掌平行且垂直于y轴的方向定义为x轴方向,与xy平面垂直向上的方向为z轴方向,所述x轴、y轴、z轴组成
六轴惯性传感器的局部三维坐标系。
12.本发明也提供了上述单指虚拟键盘系统的使用方法,使用前,将用户穿戴有六轴惯性传感器的手指尖作为虚拟键盘布局模块的圆心;使用时,用户参考虚拟键盘布局模块中圆心与按键位置的相对位置,将穿戴有六轴惯性传感器的手指尖从圆心快速移动到目标按键位置,再移动回圆心,完成一次目标按键的击键操作,移动过程不需要停顿。
13.本发明也提供了上述单指虚拟键盘系统的输入方法,包括以下步骤:
14.1)六轴惯性传感器中的加速度计与陀螺仪采集手指运动的加速度与角速度,通过微处理器发送给pc上位机并进行处理;
15.2)pc上位机安装的pc端软件对数据进行处理,步骤如下:
16.2.1)数据预处理:微处理器发送的加速度和角速度数据分别去除固定偏差、平滑滤波去噪,得到处理后的加速度和角速度数据;
17.2.2)运动分割:将处理后的加速度和角速度数据使用加速度标准差作为运动特征,获得击键运动开始时刻和击键运动结束时刻;
18.2.3)计算目标位移:对击键运动开始时刻和击键运动结束时刻之间的加速度和角速度数据,使用积分误差控制算法进行积分处理,得到目标位移;
19.2.4)获取目标按键:根据虚拟键盘布局模块的圆心和按键位置的相对位置,使用目标位移与相对位置进行对比,获得用户按下的按键位置,再根据虚拟键盘布局模块中的位置和键值的关系,得到用户按下的目标按键键值。
20.进一步,在步骤2.1)中,在静止状态下,通过六轴惯性传感器采样超过4种不同姿态下的加速度数据和角速度数据,对加速度数据和角速度数据分别使用最小二乘法拟合出球面,求得的球面所在的球心分别为加速度和角速度的固定偏差;
21.所述固定偏差只需要在系统运行前估计一次,系统运行后无需再估计;
22.所述滤波采用定长为n的滑动窗口平滑滤波方法,将当前数据点与当前数据点前的n-1个数据求平均,所得的平均值作为当前数据点的滤波值。
23.进一步,在步骤2.2)中,所述击键运动开始时刻为用户手指位于圆心,且准备往目标按键移动的时刻;所述击键动作结束时刻为用户手指从目标按键回到圆心,用户手指位于圆心的时刻;
24.击键运动开始时刻,用户手指从静止状态转变为运动状态;击键动作结束时刻,用户手指从运动状态转变为静止状态;
25.使用加速度标准差作为运动特征,考虑使用两个阈值:开始运动阈值与结束运动阈值;为了防止用户静止时手部的轻微抖动导致系统误判为击键运动开始时刻,同时防止运动过程中用户手部短暂停顿导致系统误判为击键运动结束时刻,规定开始运动阈值大于结束运动阈值;
26.用户手指初始状态为静止状态;状态转变过程如下:
27.若当前为静止状态且加速度标准差不超过开始运动阈值时,判断当前为静止状态;
28.若当前为静止状态且加速度标准差大于开始运动阈值时,将静止状态转变为运动状态,记录当前时刻为击键运动开始时刻;
29.若当前为运动状态且加速度标准差小于结束运动阈值时,将运动状态转变为静止
状态,记录当前时刻为击键运动结束时刻。
30.进一步,在步骤2.3)中,计算目标位移,包括以下步骤:
31.2.3.1)对击键运动开始时刻到击键运动结束时刻之间的角速度使用runge-kutta迭代法获得击键运动开始时刻到击键运动结束时刻之间的每个时刻的姿态四元数;
32.2.3.2)对击键运动开始时刻到击键运动结束时刻之间的每个时刻的姿态四元数乘以相同时刻下的加速度,再乘以相同时刻下的姿态四元数的逆,获得每个时刻转换后的加速度;
33.2.3.3)对击键运动开始时刻到击键运动结束时刻之间的转换后的加速度使用积分误差控制算法进行积分,得到每个时刻的速度;
34.2.3.4)对击键运动开始时刻到击键运动结束时刻之间的速度使用积分误差控制算法进行积分,得到每个时刻的位移;
35.2.3.5)对击键运动开始时刻到击键运动结束时刻之间的每个时刻的位移,找到模长最长的位移,即为用户手指从圆心到目标按键的目标位移。
36.进一步,所述积分误差控制算法,基于两个事实:已知起始时刻与结束时刻的运动状态,以及每个时刻的数据都有误差,误差随着积分次数的增加而增加,因此,积分误差控制算法先从起始时刻到结束时刻迭代计算每个时刻的数据的前向积分,再从结束时刻到起始时刻迭代计算每个时刻的数据的后向积分,最后将每个时刻的数据的前向积分与后向积分进行线性加权,获得每个时刻最终的积分。
37.进一步,在步骤2.4)中,获取目标按键,包括以下步骤:
38.2.4.1)以虚拟键盘布局模块中的圆心为原点,得到12个方向向量,并将虚拟键盘布局模块根据半径长度划分为中心、内圈与外圈三个区域;
39.2.4.2)将目标位移与12个方向向量使用向量余弦进行相似度计算,得到目标按键的方向;
40.2.4.3)计算目标位移的模长,与三个区域进行对比,能够得到目标按键所在的区域;
41.2.4.4)结合目标按键的方向和目标按键所在的区域,即可确定目标按键在虚拟键盘布局模块中的位置,再根据虚拟键盘布局模块中的位置和键值的关系,得到用户按下的目标按键键值。
42.本发明与现有技术相比,具有如下优点与有益效果:
43.1、本发明设计的十二等分圆形虚拟键盘,用户仅需单个手指即可完成操作,击键过程对手部动作限制低,能够满足用户文本输入需求。
44.2、本发明中设计的积分误差控制算法,降低了位移计算的误差,提高了系统击键的识别准确度。
45.3、本发明基于六轴惯性传感器采集的加速度和角速度进行位移计算,判断用户按下的目标按键,无需用户数据进行训练,提高了系统的拓展性,使得键盘布局设计更加灵活多变,拓宽系统的应用场景。
46.4、本发明使用的传感器仅需要一个六轴惯性传感器,系统简单易搭建,不易受到环境影响,拓展了系统的使用场景范围。
附图说明
47.图1为本发明的虚拟键盘键布局模块示意图。图中字母a~z,分别对应键值a~z;图中数字0~9分别对应键值0~9;图中“,”表示键值为逗号;图中“.”表示键值为小数点符号;图中“num”表示数字锁定键;图中
“…”
表示更多符号键;图中“tab”表示制表定位键;图中“capslock”表示大写锁定键;图中“shift”表示上档转换键;图中“ctrl”表示控制键;图中“alt”表示交替换档键;图中“space”表示空格键;图中“enter”表示回车键;图中“backspace”表示退格键。
48.图2为本发明的六轴惯性传感器安装正视图。
49.图3为本发明的虚拟键盘输入方法流程图。
具体实施方式
50.下面结合具体实施例对本发明作进一步说明。
51.本实施例公开了一种基于六轴惯性传感器的单指虚拟键盘系统,设计了十二等分的同心圆虚拟键盘布局模块,既能使用户能够单手操作又满足了日常文本输入需求。考虑到位移积分的误差累积问题,根据积分误差的特点设计了积分误差控制算法,降低了位移计算的误差,提高了按键识别准确度,使系统整体可用。所述单指虚拟键盘系统由虚拟键盘布局模块、六轴惯性传感器、微处理器、pc上位机组成;
52.所述虚拟键盘布局模块用于为用户展示按键位置和键值;
53.所述六轴惯性传感器有一个,并安装在单手食指尖端,用于测量手指运动时的加速度和角速度数据;
54.所述微处理器用于接收六轴惯性传感器的加速度和角速度数据,并将所述加速度和角速度数据直接拼接后发送到pc上位机;
55.所述pc上位机安装有pc端软件,用于接收微处理器发送的加速度和角速度数据,并对加速度和角速度数据进行处理。
56.如图1所示,所述虚拟键盘布局模块由内圆与外圆组成,将整体十二等分,划分了24个按键位置,以及圆心所在的1个按键位置,共25个按键位置。为了拓展键值数量,在内圈的12个按键位置,每一个按键位置分别放置3个键值,点击圆心位置切换按键位置对应的键值。这样整个虚拟键盘就可以容纳除了圆心之外共48个键值,能够满足日常文本输入需求。
57.如图2所示,图2中传感器1是六轴惯性传感器,所述六轴惯性传感器集成了加速度计和陀螺仪,能够输出手指x、y、z三个方向的加速度与角速度数据。以沿食指指尖向前的方向定义为y轴方向,与手掌平行且垂直于y轴的方向定义为x轴方向,与xy平面垂直向上的方向为z轴方向,所述x轴、y轴、z轴组成六轴惯性传感器的局部三维坐标系。
58.单指虚拟键盘系统使用前,将用户穿戴有六轴惯性传感器的手指尖作为虚拟键盘布局模块的圆心;使用时,用户参考虚拟键盘布局模块中圆心与按键位置的相对位置,将穿戴有六轴惯性传感器的手指尖从圆心快速移动到目标按键位置,再移动回圆心,完成一次目标按键的击键操作,移动过程不需要停顿。
59.图3是虚拟键盘输入方法流程图。基于六轴惯性传感器的单指虚拟键盘的输入方法,包括以下步骤:
60.1)六轴惯性传感器中的加速度计与陀螺仪采集手指运动的加速度与角速度,通过
微处理器发送给pc上位机并进行处理;
61.2)pc上位机安装的pc端软件对数据进行处理,步骤如下:
62.2.1)数据预处理:微处理器发送的加速度和角速度数据分别去除固定偏差、平滑滤波去噪,得到处理后的加速度和角速度数据;
63.2.2)运动分割:将处理后的加速度和角速度数据使用加速度标准差作为运动特征,获得击键运动开始时刻和击键运动结束时刻;
64.2.3)计算目标位移:对击键运动开始时刻和击键运动结束时刻之间的加速度和角速度数据,使用积分误差控制算法进行积分处理,得到目标位移;
65.2.4)获取目标按键:根据虚拟键盘布局模块的圆心和按键位置的相对位置,使用目标位移与相对位置进行对比,获得用户按下的按键位置,再根据虚拟键盘布局模块中的位置和键值的关系,得到用户按下的目标按键键值。
66.具体地,在步骤2.1)中,所述固定偏差估计方法为:在静止状态下,通过六轴惯性传感器采样超过4种不同姿态下的加速度数据和角速度数据,对加速度数据和角速度数据分别使用最小二乘法拟合出球面,求得的球面所在的球心分别为加速度和角速度的固定偏差。所述固定偏差只需要在系统运行前估计一次,系统运行后无需再估计。所述滤波采用定长为n的滑动窗口平滑滤波方法,将当前数据点与当前数据点前的n-1个数据求平均,所得的平均值作为当前数据点的滤波值。
67.具体地,在步骤2.2)中,所述击键运动开始时刻为用户手指位于圆心,且准备往目标按键移动的时刻;所述击键动作结束时刻为用户手指从目标按键回到圆心,用户手指位于圆心的时刻。击键运动开始时刻,用户手指从静止状态转变为运动状态;击键动作结束时刻,用户手指从运动状态转变为静止状态。使用加速度标准差作为运动特征,考虑使用两个阈值:开始运动阈值与结束运动阈值;为了防止用户静止时手部的轻微抖动导致系统误判为击键运动开始时刻,同时防止运动过程中用户手部短暂停顿导致系统误判为击键运动结束时刻,规定开始运动阈值大于结束运动阈值。用户手指初始状态为静止状态;状态转变过程如下:
68.若当前为静止状态且加速度标准差不超过开始运动阈值时,判断当前为静止状态;
69.若当前为静止状态且加速度标准差大于开始运动阈值时,将静止状态转变为运动状态,记录当前时刻为击键运动开始时刻;
70.若当前为运动状态且加速度标准差小于结束运动阈值时,将运动状态转变为静止状态,记录当前时刻为击键运动结束时刻。
71.具体地,在步骤2.3)中,计算目标位移,包括以下步骤:
72.2.3.1)对击键运动开始时刻到击键运动结束时刻之间的角速度使用runge-kutta迭代法获得击键运动开始时刻到击键运动结束时刻之间的每个时刻的姿态四元数;
73.2.3.2)对击键运动开始时刻到击键运动结束时刻之间的每个时刻的姿态四元数乘以相同时刻下的加速度,再乘以相同时刻下的姿态四元数的逆,获得每个时刻转换后的加速度;
74.2.3.3)对击键运动开始时刻到击键运动结束时刻之间的转换后的加速度使用积分误差控制算法进行积分,得到每个时刻的速度;
75.2.3.4)对击键运动开始时刻到击键运动结束时刻之间的速度使用积分误差控制算法进行积分,得到每个时刻的位移;
76.2.3.5)对击键运动开始时刻到击键运动结束时刻之间的每个时刻的位移,找到模长最长的位移,即为用户手指从圆心到目标按键的目标位移。
77.具体地,在步骤2.3)中,所述积分误差控制算法,基于两个事实:已知起始时刻与结束时刻的运动状态,以及每个时刻的数据都有误差,误差随着积分次数的增加而增加,因此,积分误差控制算法先从起始时刻到结束时刻迭代计算每个时刻的数据的前向积分,再从结束时刻到起始时刻迭代计算每个时刻的数据的后向积分,最后将每个时刻的数据的前向积分与后向积分进行线性加权,获得每个时刻最终的积分。
78.具体地,在步骤2.4)中,获取目标按键按键识别,包括以下步骤:
79.2.4.1)以虚拟键盘布局模块中的圆心为原点,得到12个方向向量,并将虚拟键盘布局模块根据半径长度划分为中心、内圈与外圈三个区域;
80.2.4.2)将目标位移与12个方向向量使用向量余弦进行相似度计算,得到目标按键的方向;
81.2.4.3)计算目标位移的模长,与三个区域进行对比,可以得到目标按键所在的区域;
82.2.4.4)结合目标按键的方向和目标按键所在的区域,即可确定目标按键在虚拟键盘布局模块中的位置,再根据虚拟键盘布局模块中的位置和键值的关系,得到用户按下的目标按键键值。
83.综上所述,本发明主要设计了一个由虚拟键盘布局模块、六轴惯性传感器、微处理器、pc上位机组成的单指虚拟键盘系统。六轴惯性传感器中的加速度计与陀螺仪采集手指运动的加速度与角速度,通过微处理器发送给pc上位机,pc上位机安装的pc端软件进行数据预处理,得到处理后的加速度和角速度数据,然后将处理后的加速度和角速度数据使用加速度标准差作为运动特征,获得击键运动开始时刻和击键运动结束时刻,接着对击键运动开始时刻和击键运动结束时刻之间的加速度和角速度数据,使用积分误差控制算法进行积分处理,得到目标位移,最后根据虚拟键盘布局模块的圆心和按键位置的相对位置,使用目标位移与相对位置进行对比,获得用户按下的按键位置,再根据虚拟键盘布局模块中的位置和键值的关系,得到用户按下的目标按键键值。
84.以上所述实施例只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献