基于三轴加速计的运动识别与控制系统

摘要:计算机的应用越来越广泛,人机交互也越来越自然。本文设计了基于三轴加速计LIS302的识别与控制系统,采用STM32F407进行数据采集,使用LabVIEW研究并实现了运动分析、模式识别等技术。通过实验测试,设计的运动识别与控制系统能实时监测运动,并准确输出识别结果。

关键字:人机交互 三轴加速计 STM32F407 LabVIEW

  1.  
  2. 引言

    人机交互从早期的手工作业阶段到作业控制语言及交互命令语言阶段,随着微软Windows操作系统的出现,人机交互进入了图形用户界面(GUI)阶段,在科技高速发展的今天,网络用户界面,多通道、多媒体的智能人机交互日益兴盛,人与计算机的交互更加友善。通过人的动作实现对虚拟环境的控制,将极大增加用户的体验感,让用户有身临其境的感觉。

  3. 系统设计
    1. 概要设计

      系统只要分为两部分:硬件部分和软件部分。硬件部分:设计基本数据采集电路,将X、Y、Z轴方向的加速度进行采集,通过无线传输装置发送到PC上。软件部分实现对采集的数据分析,特征提取,并输出识别结果,然后根据识别结果做出不同响应。图1 为系统结构图

图1 系统结构图

 

  1. 详细设计
    1. 硬件部分:

      用于加速度测量选用的传感器是LIS302DL。ST公司的LIS302DL 小型低功耗(低于1mW)MEMS三轴线性加速度计,具有线性的数字输出。包括有传感元件和能通过I2C/SPI串行接口提供测量加速度的IC接口,满刻度量程是±2g/±8g,数据输出速率是100Hz或400Hz。使用3.3V供电,通过SPI进行访问。图2 为加速计数据采集电路

          处理器部分由STM32F407VGT6实现。该处理器采用是ARM Cortex™-M4内核以为核心。ARM Cortex™-M4是32位MCU,带有FPU单元,有210 DMIPS,多达1MB FLASH/192+4KB RAM。处理器将获取的数据进行处理,然后通过USART发送到无线传输模块。图3 为STM32F407与无线模块的连接电路。

          无线传输模块由高性能单片机加低功耗射频芯片CC1101组成,具有低功耗,支持无线唤醒,传输距离远,体积小,价格便宜等特点。通过两个无线传输模块后,经USB转TTL模块与PC通信。图4 为无线模块与USB转TTL模块的连接电路。

      图2 加速计数据采集电路

      图3 STM32F407与无线模块连接电路

      图4 无线模块与USB转TTL模块的连接

      1. 三轴加速计LIS302DL和处理器之间的通信通过SPI进行。处理器接收数据后,对数据做简单处理,获取三个方向的偏移值,然后经过类型转换通过USART发送到无线模块,串口模式为半双工模式,设置的波特率为115200,无奇偶校验,停止位1位,对无线模块的设置也是一样。结构框图如图5所示:

        传感器的初始化过程分为两个部分。一部分是对传感器的基本配置,如工作模式、数据输出速率、X、Y、Z轴使能;另一部分是对加速计内部的高通滤波器的配置。

        数据类型转换及编码。获取的数据为char类型,考虑到X、Y、Z轴数据的区分,需要添加标记字符,定义的数据单元为X_ _Y_ _Z_ _ ,那么就需要将char类型转换成uchar类型然后将数据转换成字符串。最后将字符串通过串口输出。对X轴数据的转换如下:

        b1=XOffset+128;

             send('X');

             send(ConvertToUchar((b1&HL[1])>>4));

                         send(ConvertToUchar(b1 & HL[0]));

其中XOffset是X轴方向加速度的偏移量,ConvertToUchar是将数据转换成文本型字符,由于8位数据可能与标记重复,故将数据分割成两部分(高四位及低四位),这个转换也就是将1为六进制的数据转换成相应的文本。

 

图5 下位机结构框图

通过串口调试助手检验可以看到串口配置及数据传输都是正确的。

图 6 串口数据接收测试

  1. 上位机可以分为三个部分:数据接收及简单处理,动作模式识别和消息处理。这部分皆由LabVIEW实现。

    图9 串口基本设置

    串口的基本配置如图9所示,串口的参数与下位机及无线模块的参数保持一致,程序运行时预读取100字节数据。然后每9个字节读取一次,每次将字符串从'X' 处分割,并把上一字符串的后面一部分与后一字符串的前一部分相连接,于是就得到了单元数据的字符串,最后将X、Y、Z轴的数据提取出来并转换成数值数据。这样便完成了数据的接收。

    1. 三个轴的数据反映了传感器在空间中的运动状态。图10 是静止状态下三个轴的数据与重力加速的关系。

      图10 静止状态下

      由此可得:

      两边同时除以:

      若将X、Y、Z轴数据依此进行标准化,那么在静止状态时,可以认为测量的是各轴与重力方向夹角的余弦值。

      具体实施方法:先将传感器平放,此时Z轴的标准值为1,若实际测量列为M,然后将传感器90度侧立,此时Z轴的标准值为0,若此时的测量列为N,那么转换函数为:

      其中avg为求取序列的平均值。X、Y轴的标准化也按照这种方法得到。在运动状态时,三轴的数值的空间矢量表示重力加速度与运动加速度的合加速度。

      模式识别:主要完成了三个动作的识别,即向左倾斜、向右倾斜、弹跳。

      左右倾斜较容易实现,通过判断X方向数据的大小便可以识别出相应的模式:

      通过多次试验,设定较合适的dx便可以识别出左右倾斜这两个动作。

      起跳动作的实现是通过直接匹配方式。首先,采集样本:

      图11 样本数据图

      然后对样本进行处理。将每一个动作的数据提取出来:

       

       

       

       

       

       

       

       

       

      对样本数据进行平均化处理,然后进行移动平滑处理,得到动作标准数据S。若测量的数据为K(K与S长度一致),当:

      通过多次试验确定dS值,从而达到识别的目的。

      下表是个测量数据与标准数据的距离计算:

      通过这个计算可以确定dS的大致范围。

    2. 这部分主要完成消息的处理方式。当产生有效动作时,有可能多次响应同一个动作。其次若数据处理与消息响应处在同一线程中,会出现停顿现象。另外当消息产生速度太快时,程序无法及时响应,就会出现命令丢失和明显时延。未解决上述问题,消息产生必须与消息响应相隔离,维持他们的相对独立;为消息设置优先级,将起跳动作的优先级调高;未解决重复响应的问题,需要将消息产生后的一小段时间dt 设置为屏蔽状态。最后就是需要控制消息产生的速度(这个主要是左右移动消息的处理),如一小段时间内相同的消息丢弃其中的一个。

  1. 通过多次试验,该系统能正确识别并能及时响应。仔细分析,系统中仍有不足之处,特别是模式识别部分,这种模式识别局限性太强,而且识别方式工作量较大,一旦识别的任务加大,系统将无法支持。另外偶尔有识别出错的情况的出现,原因可能是样本采集不够,识别方式不能有效区分等。如何改进模式识别方式,提高识别性能、准确性、通用性,将是下一步工作的重点。

 

 

参考文献:

[1]: 周谊成 尤树华 王 辉. 基于三维加速度的连续手势识别 2012

[2]: 王生. 无线传感器 网络位置隐私保护研究[ D ] . 长沙 :中南大学,2009.

[3]: J.Deng,R.Han,S.Mishra,Deeorrelating wireless sensor network traffic to inhibit traffic analysis attacks,Pervasive and Mobile Computing Elsevier,2006。2(2):159—186

[4]:李佰财 宁伟勋. 基于三轴加速计的鼠标设计探索

[5]: STMicroelectronics brings out new 3-axis accelerometer. (2007). Wireless News, , 1. Retrieved from http://search.proquest.com/docview/209954359?accountid=11524

[6]: Zimmerman, A. (2011). State estimation filtering algorithms for vehicle attitude determination using a dual-arc accelerometer array and 3-axis rate gyroscopes. (Order No. 1498195, Rochester Institute of Technology). ProQuest Dissertations and Theses, , 264. Retrieved from http://search.proquest.com/docview/892713142?accountid=11524. (892713142).

原文地址:https://www.cnblogs.com/bacazy/p/3711979.html