一、项目概述
1.1 引言
计算机标准外设鼠标和键盘的技术相对成熟,但其操作单调,多年来技术都未有突破性的进步;触摸屏的技术新近出现不久,并且很快成为热点,该技术需要特殊的显示触摸设备,以满足输入要求;除此之外,以上两种输入方式,受到输入设备原理的限制,不可避免地使使用者约束在显示设备及输入装置周围。在这种产业背景下,亟需一种人性化的智能无线输入装置来满足日益普及的多媒体演示、办公及个人电脑应用环境。
在此前提下,本团队开发了一种名为Smartmouse的手势输入系统,使用者可方便的将本装置的手持端佩戴在手上并通过USB接口将主机端连接在PC机上,便可通过手势对PC进行操控。可通过手势完成鼠标具有的全部功能,同时还可对当今比较流行的日常应用软件进行流畅的操作。Smartmouse的操作方式与触摸屏和传统鼠标的最大区别在于摆脱了对屏幕及固定输入装置的依赖,从而可以更好地适应当今的多媒体环境。使电脑使用者可以脱离传统鼠标键盘的限制,建立使用者和电脑设备间更加人性化的交流方式。
1.2 项目背景
目前,国内输入设备厂家多针对现有的输入设备进行改进,如新贵、双飞燕等公司,推出的多媒体鼠标、键盘,在原有的键盘或鼠标的基本功能之上,增加对多媒体软件的快捷按键。此类产品虽然增加了用户的易用性,但大多价格不菲,更为重要的是其输入方式并没有质的变化。
华中科技大学近期研制了一种基于空间运动测量技术的人体上肢动作输入设备,该设备的输入方式采用了人体仿生学设计,具有突破性。但该系统的硬件众多,识别算法复杂,产业化前景渺茫。
国外同等产品早在2001年,三星公司和SenseBoard公司展示了开发中的虚拟键盘,三星公司研发阶段的产品称为“Scurry”。两家公司的产品在识别方式上有所不同,但是都带来了革命性的变化,即可以抛弃传统的鼠标键盘。该种输入设备的问题在于,用户在使用时,仍然要模仿键盘敲击的动作。
截止04年底,该种键盘的研发仍然处于有线连接的阶段。直到目前为止,也没有“Scurry”正式上市的消息,原因在于,该设备价格昂贵,耗费巨大,商业化困难。
Nitendo公司生产的游戏机Wii与之类似,采用感知加速度来操纵游戏,但其仅能作为游戏设备使用,并且使用红外传输,因而受到角度和距离的限制。
上个世纪70、80年代,国际上曾开展了大量关于数据手套的研究,以此捕获手部的动作,但之后不久该类研究陷入停滞。目前,对手势识别比较流行的做法是采用基于视觉图像识别的方法。采用摄像机捕获动作的图像,采用图像处理的方法得到动作的信息,但这种手势识别方式耗费巨大,对软硬件的要求也非常高。根本无法作为普通PC的输入设备使用。
在MEMS技术及超低功耗无线通讯技术飞速发展的背景下,超小体积、超低功耗MEMS加速度传感器和无线通讯模块的发展,为我们设计开发一种具有广泛应用前景且更加人性化、方便、快捷的输入设备提供了保障。
1.3本设计的先进性
Smartmouse智能手势输入装置不仅仅局限于计算机的输入,更可用于多媒体设备的控制等诸多领域,具有非常广阔的应用范围。并且,目前市场上并未出现使用加速度传感器并且融合无线通信和USB即插即用等技术的输入设备,Smartmouse智能手势输入装置的出现定将吸引一批中高端追求新鲜事物的用户。
作为产品,Smartmouse智能手势输入装置既拥有现有产品的优势,又克服现有产品的不足;集人性化、易用性、便携性于一身,更为使用者提供一种全新的操作理念,必将获得市场的垂青。
二、需求分析
2.1 功能要求
Smartmouse智能手势输入系统分为手持端(手势数据采集模块)和主机端(数据接收处理模块),手持端和主机端通过无线方式连接。手持端可方便地佩戴在使用者手指上,对使用者的手势数据进行采集;主机端可实现与PC机接口,并可对手势数据进行接收和智能处理。
Smartmouse智能手势输入装置的功能框图如图1所示。
图1 系统原理框图
2.2 性能要求
Smartmouse智能手势输入装置,可准确识别人的各种手势并依据手势流畅的进行如移动鼠标、左键、右键、删除、确定、取消、移动文件等等相应操作。信号采集端可实时完整的采集人手部动作的信息,经整理后以相应的数据格式通过2.4G无线频段传输给PC或接收机上的主机端;主机端可在无需任何驱动程序的前提下将自身例化为USB接口形式的鼠标键盘复合设备;接收数据后,对数据进行智能化处理,识别出手势所表达的意义,同时将相应操作反馈给PC或接收机。对手势的识别率应达到消费类电子的水平。
三、方案设计
3.1 系统功能实现原理
Smartmouse智能输入系统采用加速度传感器对使用者的手部动作数据进行采集和初步识别,结合无线通信和USB接口技术,通过自创的简单且智能的手势识别处理算法,将得到的手部动作信息通过USB接口传输给PC或接收机,使用户能够以更符合肢体动作习惯的方式对PC进行控制,给用户带来全新的操作体验。
Smartmouse智能输入系统硬件结构框图如下图2所示。
图2 系统硬件结构框图
(1)手势数据采集
Smartmouse智能手势输入系统的手持端需对使用者手部动作数据进行连续且准确的采样,并将采集到的手部动作数据通过无线形式传输给连接在PC机USB接口上的主机端。本系统采用美新公司生产的双轴MEMS加速度传感器芯片MXC6202xMP作为主要的手势动作感知器件,在正确感知手部动作数据的同时,达到低功耗、高精度的要求。
(2)数据接收与处理
连接在PC机USB口上的主机端,即数据接收与处理模块,将自身例化为PC机的鼠标和键盘复合设备,同时将通过无线方式接收到的手势数据通过识别算法进行智能处理,将处理后的结果以鼠标键盘操作数据的形式传输给PC机。数据接收与处理模块与PC机的连接过程无需安装任何驱动,可实现即插即用。对手势数据的识别率能够满足消费类电子要求。本系统中以AVR单片机为核心处理单元,负责将设备按照USB协议枚举为USB复合设备,管理无线收发模块,并通过无线模块对手持端进行管理,同时将接收到的手势数据通过自创的手势识别算法进行分析,将结果发送给主机端。
(3)数据的传输
采集的手势数据的传输采用当前在消费类电子产品领域应用比较广泛的2.4G频段,在保证带宽的前提下准确传输数据和控制信息,同时可实现设备休眠等降低功耗的操作。
(4)主机端与PC接口
主机端即手势数据处理模块通过USB接口与PC机进行连接,将自身例化为PC机的键盘鼠标复合设备,在不需要任何驱动的前提下实现即插即用。
(5)电源供给
手持端采用微型锂电池作为电源,体积较小并可进行重复充电与使用。同时通过休眠、停机等操作降低系统功耗。
主机端通过主机USB接口供电,在长时间不使用情况下可进行休眠操作。
(6)智能识别率
Smartmouse智能手势输入系统需要流畅的对PC机进行操作,对手势的识别率有较高要求,同时能对现今比较流行的演示软件进行复杂操作。本设计中通过32位AVR单片机对接收到的手势数据进行处理,结合本团队自创的手势识别算法,识别出手势具有的意义。
3.2 硬件平台选用及资源配置
由于本系统所包含的模块众多、算法复杂,同时对功耗、稳定性又有很高要求,所以在平台的选择时分两个步骤进行:
功能实现阶段,主要为完善手势识别算法、USB接口协议、无线通讯协议等。各个部分均使用现成模块。无线收发部分采用Ti公司生产的eZ430无线收发模块;算法硬件实现和USB接口等的管理采用Atmel公司提供的EVK1100开发板。
作品完善阶段,在实现手势识别算法、USB接口协议、无线通讯协议等的基础上,使用Atmel公司的生产的ATXMEGA32D4单片机和无线收发芯片AT86RF212自制手持端;采用AT32UC3L064单片机和无线收发芯片AT86RF212实现主机端的数据接收、手势识别算法和USB接口管理。
3.3系统程序架构
本系统中,软件设计主要分为手势数据采集、无线通讯协议、手势数据识别算法和USB接口协议几部分。
手势数据采集:在主机端的控制下对手势数据进行采集并按一定的格式打包准备进行传输;
无线通讯协议:管理手持端与主机端之间的连接和数据传输;
手势识别算法:为本系统中的算法核心,采用一种自创的基于加速度传感器数据的智能识别算法,对手势数据进行处理,得出手势所具有的意义;
USB接口协议:管理主机端与PC或接收机之间的连接,将主机端枚举为电脑的鼠标键盘复合设备,实现在无驱动条件下的即插即用。
3.4 系统程序流程
本系统中程序主要分为手持端程序和主机端程序,程序流程图如下图3所示。
图3 程序运行流程图
3.4 系统预计实现结果
借助Atmel提供的EVK1100系列开发板和Ti eZ430无线模块实现样机一套,实现鼠标所有功能,并能对简单的浏览软件进行控制,同时达到识别准确率90%以上。自制产品初级模型一套,实现鼠标所有功能,同时具有“空中画笔”功能,能对简单的浏览软件进行流畅的控制,达到准确识别90%以上。 |