基于HID类USB手势输入系统设计及实现.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于HID类USB手势输入系统设计及实现

基于HID类USB手势输入系统设计及实现   摘要:基于自然人机交互的手势交互技术应用越来越广,本文基于HID类设计了一种USB手势输入系统,该系统集成加速度传感器、数字陀螺仪和磁力计等多种传感器,采集的数据通过手势运动识别算法处理后,可以实现对计算机光标的控制。经测试证明,该设计方案是可行的 关键词:输入设备;USB设备;手势识别 中图分类号:TP309 文献标识码:A 文章编号:1007-9416(2017)02-0180-02 1 引言 传统的用于计算机的USB输入设备主要有鼠标、键盘、操纵杆等。随着技术的发展,以手势识别、语音识别等更贴近人类的自然交互手段发展迅速。其中手势是一种符合人类日常习惯的交互手段。本文结合手势识别技术,设计了一种USB手势控制器,可以使用手势实现类似鼠标的功能对计算机光标进行控制 2 HID协议简介 人机接口设备(HID)是USB协议的一个子类规范,主要应用于人与计算机进行交互的设备,如键盘、鼠标、操纵杆等,HID设备必须符合USB相关的HID规范要求。正因为USB严谨的规范,在Windows XP以上系统中,都集成了USB HID协议,而无需安装驱动。HID设备主要有以下特点: (1)设备必须按照HID报告格式进行数据上报 (2)不同速度的设备对上传的数据有限制。低速设备每包数据最大为8byte,全速设备每包数据最大为64byte,高速设备则可达到1024byte (3)低速USB设备最快10ms一笔事务,而全速USB设备最快1ms一笔事务;在高速设备中,可达125us一笔事务,最高速度达24.576MB/s (4)计算机对数据采用查询处理,相比中断传输,没有传输速度的保证 计算机识别HID设备的过程如下:插入设备后,计算机会向设备请求各种描述符来识别设备。设备应在定义描述符的时候按照HID规范定义设备的类别。USB规范中,定义了各种描述符约束设备的定义。图1列出了HID各种描述符之间的关系。在应用中,每个设备也能用多个接口描述符来实现多接口设备,而且在每个接口描述符下还可有多个端点描述符 由图1中所示,除了按照USB规范定义的描述符外,HID设备还必须遵守HID描述符。另外,设备与计算机之前的数据传输也是通过报告的形式来实现的,所以还必须定义报告描述符;而物理描述符不是必需的。HID描述符是关联于接口(而不是端点)的,所以设备不需要为每个端点都提供一个HID描述符。USB设备有4种传输方式与计算机进行数据传输,分别为控制方式、中断方式、批量方式和同步方式。每种方式都有它的应用场合。对于HID设备,只支持控制和中断两种传输方式 标准USB鼠标报告描述符描述4个字节,如表1所示,第一个字节表示按键,第二个字节表示鼠标X轴偏移值(正值为右移,负值为左移),第三个字节表示鼠标Y轴偏移值(正值为下移,负值为上移),第四个字节表示滚轮(正值为往上滚动,负值为往下滚动)。手势输入设备就是通过采集手势信息,转换成对应的光标移动信息,组包成USB数据包发送给计算机。设备将采集的手部运动信息转换为计算机光标的移动数据,通过HID协议控制计算机光标 3 控制器硬件实现 设备采用带有USB控制器的C8051F380作为控制器,使用JY901九轴惯性传感器作为手势识别传感器。其硬件电路如图2所示。设备含两个按键,一个按键A功能为使能及鼠标左键,另一个按键B为鼠标右键。使用时,单击按键A不松开,则设备通过USB的HID协议输出鼠标移动信息,双击按键A,输出鼠标左键按下的鼠标移动信息(相当于鼠标拖拽),三击按键A输出鼠标双击信息,按键B与鼠标右键功能相同 4 软件算法 USB鼠标HID协议中输出的是光标X轴和Y轴偏移值,可以采用惯性传感器的角速度进行对应。而设备在移动中三维坐标轴也会变化从而产生偏差。为减小偏差,引入传感器提供的角度数据进行分析,得到设备的姿态,从而对陀螺仪的数据进行坐标转换。所得角速度数据中与大地平行的方向为屏幕Y轴,与大地垂直的为屏幕X轴,使输出的数据始终一致 姿态角计算时所使用的坐标系为“东-北-天”坐标系。欧拉角表示姿态时的坐标系旋转顺序定义为z-y-x(φ-θ-Ψ),[φ θ Ψ]T为惯性传感器当前坐标系相对于大地坐标系的欧拉角,即先绕z轴转ψ,再绕y轴转θ,再绕x轴转φ。在惯性传感器坐标系下的角速度为[ωφωθωΨ]T,则根据欧拉角转换方程,在大地坐标系下的角速度[ωx ωy ωz]T为(图4) 手势鼠标的主要算法流程为:首先检测按键A是否按下,再启动定时器,检测按键A是否有双击或三击操作,并发送相对应的USB报文;在按键A持续按下中,将采集惯性传感器的角度值和角速度值,并通过旋转矩阵后获取鼠标两个轴的

文档评论(0)

linsspace + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档