摘要:计算机的应用越来越广泛,人机交互也越来越自然。本文设计了基于三轴加速计LIS302的识别与控制系统,采用STM32F407进行数据采集,使用LabVIEW研究并实现了运动分析、模式识别等技术。通过实验测试,设计的运动识别与控制系统能实时监测运动,并准确输出识别结果。
关键字:人机交互 三轴加速计 STM32F407 LabVIEW
- 引言
人机交互从早期的手工作业阶段到作业控制语言及交互命令语言阶段,随着微软Windows操作系统的出现,人机交互进入了图形用户界面(GUI)阶段,在科技高速发展的今天,网络用户界面,多通道、多媒体的智能人机交互日益兴盛,人与计算机的交互更加友善。通过人的动作实现对虚拟环境的控制,将极大增加用户的体验感,让用户有身临其境的感觉。
- 系统设计
- 概要设计
系统只要分为两部分:硬件部分和软件部分。硬件部分:设计基本数据采集电路,将X、Y、Z轴方向的加速度进行采集,通过无线传输装置发送到PC上。软件部分实现对采集的数据分析,特征提取,并输出识别结果,然后根据识别结果做出不同响应。图1 为系统结构图
图1 系统结构图
- 详细设计
send(ConvertToUchar(b1 & HL[0]));
上位机可以分为三个部分:数据接收及简单处理,动作模式识别和消息处理。这部分皆由LabVIEW实现。
三个轴的数据反映了传感器在空间中的运动状态。图10 是静止状态下三个轴的数据与重力加速的关系。
若将X、Y、Z轴数据依此进行标准化,那么在静止状态时,可以认为测量的是各轴与重力方向夹角的余弦值。
具体实施方法:先将传感器平放,此时Z轴的标准值为1,若实际测量列为M,然后将传感器90度侧立,此时Z轴的标准值为0,若此时的测量列为N,那么转换函数为:
其中avg为求取序列的平均值。X、Y轴的标准化也按照这种方法得到。在运动状态时,三轴的数值的空间矢量表示重力加速度与运动加速度的合加速度。
模式识别:主要完成了三个动作的识别,即向左倾斜、向右倾斜、弹跳。
左右倾斜较容易实现,通过判断X方向数据的大小便可以识别出相应的模式:
通过多次试验,设定较合适的dx便可以识别出左右倾斜这两个动作。
[1]: 周谊成 尤树华 王 辉. 基于三维加速度的连续手势识别 2012