基于HID类的USB手势输入系统设计与实现.docVIP

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

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于HID类的USB手势输入系统设计与实现.doc

  基于HID类的USB手势输入系统设计与实现 摘要:基于自然人机交互的手势交互技术应用越来越广,本文基于HID类设计了一种USB手势输入系统,该系统集成加速度传感器、数字陀螺仪和磁力计等多种传感器,采集的数据通过手势运动识别算法处理后,可以实现对计算机光标的控制。经测试证明,该设计方案是可行的。 中国 8/vie   关键词:输入设备;USB设备;手势识别   中图分类号:TP309 文献标识码:A :1007-9416(2017)02-0180-02   1 引言   传统的用于计算机的USB输入设备主要有鼠标、键盘、操纵杆等。随着技术的发展,以手势识别、语音识别等更贴近人类的自然交互手段发展迅速。其中手势是一种符合人类日常习惯的交互手段。本文结合手势识别技术,设计了一种USB手势控制器,可以使用手势实现类似鼠标的功能对计算机光标进行控制。   2 HID协议简介   人机接口设备(HID)是USB协议的一个子类规范,主要应用于人与计算机进行交互的设备,如键盘、鼠标、操纵杆等,HID设备必须符合USB相关的HID规范要求。正因为USB严谨的规范,在B/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持续按下中,将采集惯性传感器的角度值和角速度值,并通过旋转矩阵后获取鼠标两个轴的偏移值,最后通过HID协议将USB数据包发送到计算机。如图5所示。   在].北京:北京航空航天大学出版社,2005.   [2]姜晓波等.基于微加速度计的ARI-MOUSE的研究[J].传感器与仪器仪表,2008,24(8-1) 113~115.   [3]徐星,刘克刚.一种新型的多功能鼠标的设计[J].电子技术,2004(12) 53~55.   [4]陈莉莉.三轴陀螺仪的空中鼠标

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档