0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于乒乓球/羽毛球运动状态识别手表的设计

电子设计 来源:网络整理 作者:工程师吴畏 2018-06-13 15:44 次阅读

0 引言

近年来穿戴式设备是开发的热点项目,各种品牌的运动手表、手环层出不穷,穿戴式运动状态识别设备的应用前景可观。现在市场上的产品对运动状态识别集中在识别某个时间段进行的某种运动,如走路、跑步、睡眠,缺少对乒乓球、羽毛球运动识别的设备。而专业的运动识别的设备集中在视频图像的分析[1]和不同部位多传感器装置检测分析[2-3]两种方式,两种方式设备体积大、成本高,只适合在实验室中使用,不适合向普通大众推广。目前运动状态分类识别算法主要有动态K近邻、决策树、随机森林、支持向量机、神经网络等[4-6]。

为了满足乒乓球和羽毛球业余运动爱好者对运动过程动作状态识别记录的要求,本文将介绍一种运动手表的设计。它由简单硬件构成,利用在时域上分析的随机森林分类算法就可以识别乒乓球和羽毛球运动的多种状态。本设计具有体积小、功耗低、成本低的特点,可以嵌入到现在已有的智能手表中,做到功能升级。

1 运动状态识别总体方案

1.1 运动手表硬件设计

乒乓球/羽毛球运动状态识别手表的硬件主要由控制处理核心STM32单片机、MPU6050传感器模块、BLE 蓝牙模块、按键模块、显示模块、电源管理模块6部分组成。手表系统工作原理为: 控制处理核心STM32F103通过IIC接口读取MPU6050的加速度计和陀螺仪数据,利用数字运动处理器(DMP)输出四元数后解算得到3轴欧拉角[7]。经过数据滤波后用相应的识别算法对运动状态进行识别,将识别的信息OLED显示屏显示并通过蓝牙模块发送到上位机。各个模块的功能如下。

(1)控制处理核心:选择意法半导体STM32F103C8T6,它控制整个系统的各个模块工作状态、传感器数据的处理和识别算法的实现。它运算速度快、体积小、功耗低、外设丰富,满足腕戴式手表对体积、速度、功耗的要求。

(2)传感器模块:传感器采用MEMS数字传感器MPU6050,它由整合了加速度计、陀螺仪的6轴传感器和一个可扩展的DMP组成。相比于多传感器的方案,它避免了时间轴之差的问题,并减小了体积[8]。传感器通过IIC接口将数据传输到单片机中。

(3)BLE蓝牙模块:选用型号为CC2541的BLE蓝牙串口模块,BLE技术具有低成本、低功耗、短距离的特点。该蓝牙模块最高支持2 Mbit/s的传输速率,工作电流小于20 mA,满足系统UART串口设计的115 200 bit/s波特率的通信要求。

(4)按键模块:主要完成模式选择以及手表的开关机。

(5)显示模块:选用0.96英寸OLED显示屏,显示单元能够自发光。全屏点亮时功耗为0.08 W,正常全屏显示汉字仅需0.06 W,很符合手表低功耗的要求。

(6)电源管理模块:选用 TD8208升压芯片将3.7 V锂电池升压到5 V,再经过AP2125K-3.3芯片降压到3.3 V。两款电源芯片均有输出使能端,可通过控制使能端实现对其他模块的电源管理。

手表硬件连接图如图1所示。

关于乒乓球/羽毛球运动状态识别手表的设计

1.2 运动手表系统状态设计

系统设计主要有关机状态、时间显示状态、模式选择状态、乒乓球模式、羽毛球模式、自识别模式6个状态,各个状态通过按键选择进行切换,状态转换图如图2所示。

关于乒乓球/羽毛球运动状态识别手表的设计

由图2可知,系统初始状态为关机状态,通过长按开关机键使系统开机并进入时间显示状态。如果不进行按键选择,系统将保持在时间显示状态。如果按动选择按键,系统将跳转到模式选择状态,再通过按动模式选择按键进入对应的工作模式。如果进入乒乓球模式或羽毛球模式,就对运动中挥臂、挥拍、正反手等动作进行识别。如果选择自识别模式,系统先识别当前运动是乒乓球运动还是羽毛球运动,识别成功后再自动跳转到对应的模式下进行运动状态识别。如果需要重新选择运动模式,通过返回按键使系统返回到时间显示状态,重复上述选择方法进行模式选择。

2 运动状态识别算法设计

运动状态识别主要由数据采集、数据预处理、特征提取、分类识别4部分组成。识别流程及结构如图3所示。

关于乒乓球/羽毛球运动状态识别手表的设计

2.1 数据采集

STM32F103C8T6单片机通过IIC接口读取MPU6050的加速度、角速度、角度数据,将采集的数据缓冲到各自对应的数组中,完成基本的数据采集。

2.2 数据预处理

数据预处理分3步完成,依次为重力加速度分离、过滤平滑、数据分窗[4]。

(1)重力加速度分离:加速度传感器输出的原始数据中包含重力加速度分量,而X、Y、Z轴是固定的,运动手表发生普通旋转和翻转时,重力加速度则对3个轴产生加速度分量。为了避免重力加速度分量引进的干扰,本设计对传感器采集的3轴加速度进行重力加速度分离。重力加速度分离采用高通滤波的方法[5],求解公式如下:

关于乒乓球/羽毛球运动状态识别手表的设计

式中G代表各轴重力加速度分量,A代表加速度传感器原始测量数值。提取出重力加速度分量后,用加速度传感器原始数值减去重力加速度分量得到实际运动产生的加速度值。

(2)过滤平滑:数据的平滑与过滤是为了过滤噪声和异常数据,本设计采用连续滑动20点均值做平滑滤波,即设置一个容量为20个数据点的FIFO,把FIFO内的20个数据点的均值作为一个新的采样点,且滤波后使得提取的特征具有更明显的区分度。数据平滑处理前后波形图如图4所示。

关于乒乓球/羽毛球运动状态识别手表的设计

(3)数据分窗:本设计采用动态窗口的方法对数据进行分窗处理,窗口大小的设置是一个不定的参数,通过实验事先设置好3轴加速度的阈值,当X、Y、Z任一个轴加速度值大于对应的阈值时,触发开启窗口,当触发开启窗口的那个轴的加速度值小于对应的阈值时就关闭窗口。即系统窗口只显示加速度大于阈值的这段时间内的数据。因为只有运动时才会产生相对较大的加速度,而系统主要识别运动过程中的不同状态,所以这样就无需对非运动状态下进行识别,减少识别误差。加速度动态分窗示例图如图5所示。

关于乒乓球/羽毛球运动状态识别手表的设计

2.3 特征提取

特征提取集中在窗口开启的这段时间内,主要提取各轴加速度、角速度、角度的最大及最小值和角度的积分面积等主要特征[9]。

以乒乓球横板握法正反手的一组数据为例,如图6所示,X轴角速度的最小值在正反手挥拍中有明显差别,所以将X轴角速度的最小值作为识别正反手的一个重要特征。

关于乒乓球/羽毛球运动状态识别手表的设计

本设计只使用了最大值、最小值、积分面积3个统计量作为特征,并没有使用复杂的时频特征和频域特征,主要有两个原因:

(1)经过试验发现,最大值、最小值、积分面积这3个特征在运动状态的识别中区分度较大,已经能够达到一个较好的识别效果;

(2)本手表是基于STM32单片机平台设计的,其浮点计算能力有限,不适合提取计算量较大的时频特征和频域特征[4]。

所以本设计中没有使用时频特征和频域特征,而把前期的数据处理作为识别的重要前提,并通过基于时间跨度的动态分窗方式,结合随机森林算法,对不同的运动状态进行分类识别。

2.4 分类识别

基于本设计自身硬件属性,对比并试验了当前普遍使用的识别分类算法,结果发现随机森林分类算法在本系统上有着计算效率和识别准确率较高的特点,因此选择随机森林作为本系统的分类算法。随机森林算法实现原理图如图7所示。

关于乒乓球/羽毛球运动状态识别手表的设计

通过大量的测试实验最终确定本设计选取X轴角速度最大值和最小值、X轴角度最小值和积分面积、Y轴角速度最小值、Y轴角度最大值和最小值、Z轴角速度最大值8个有着明显区分度的特征值。每次在动态窗口中提取上述8个特征,将提取的特征依次和每个运动状态的特征树进行拟合,拟合特征最多的那棵树就识别为本次运动的状态。

特征区间的设定上,本设计以专业运动员的训练数据为参考,如图6所示的数据,横板握法的正反手各自特征树上X轴角速度特征区间分别为[-150 -80],[-70 0]。其他特征区间的参数整定方法同上,这里不再赘述。

3 手表测试

本次测试方法为随机选取乒乓球和羽毛球业余运动员各一位,使用本手表在相应的运动中进行测试,主要记录人工识别计数和设备识别计数,并做比对,分析误差。具体测试数据如表1、表2所示。

关于乒乓球/羽毛球运动状态识别手表的设计

关于乒乓球/羽毛球运动状态识别手表的设计

从实验结果可以看出,设备识别计数准确率在90%以上。运动中对正手挥拍识别比实际挥拍数多,而反手挥拍识别计数要实际挥拍数少,分析原因发现,因为系统动态窗口开启的阈值是预先设定值,反手挥拍中动作幅度比较小时加速度值没有达到开启阈值,所以计数要小于实际数。可以通过减小开启阈值来提升反手挥拍的识别率,但同样不能使开启阈值太小,否则手腕部一些非运动状态也会触发开启窗口引起识别误差,使正手挥拍识别数远大于实际数。因此窗口开启阈值的设定也是设计的关键。本系统乒乓球模式下阈值为1 m/s2,羽毛球模式下阈值为1.2 m/s2。

4 结论

本文设计的手表采用STM32F103+MPU6050方案,成本低、功耗低、体积小,且对乒乓球和羽毛球运动过程中主要运动特征识别较为准确,效果较好,识别率均在90%以上。该手表满足普通大众的应用,可进一步推广。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 智能手表
    +关注

    关注

    36

    文章

    3291

    浏览量

    114110
  • 穿戴式设备
    +关注

    关注

    2

    文章

    55

    浏览量

    24520
收藏 人收藏

    评论

    相关推荐

    【FPGA设计实例】用FPGA控制乒乓球比赛

    用FPGA控制乒乓球比赛本次试验实例将讲解如何用FPGA控制乒乓球比赛,也就是如何实现乒乓球在电子屏幕上按照既定程序完成比赛。乒乓球比赛由一个屏幕上的反弹球。球拍(从这里鼠标控制),用
    发表于 03-09 09:32

    乒乓球搜集机器人

    乒乓球搜集机器人能在地面上漫游,如果发现在它前面有乒乓球或者跟乒乓球大小相近的物体时,就会启动两个手爪将它们收进搜集筐里。乒乓球搜集机器人能自动识别
    发表于 03-23 17:44

    【TI SimpleLink SensorTag试用体验】----运动生理监测:-)羽毛球

    今天打了半小时左右的羽毛球,打之前想起了小T,小T眼中打场羽毛球是什么样子呢?于是装备上阵,打开蓝牙和app,打开云,设置3秒钟传送一个数据包,下去打球。。。。。。。 回来了,于是,上图,云太好了
    发表于 04-13 12:12

    乒乓球发球器简介

    摘要1.乒乓球发球器简介1.1乒乓球发球器研究的目的1.2乒乓球发球器研究的意义1.3 乒乓球发球器研究的国内趋势1.4.设计要求2.结构设计2.1 设计结构2.2三维图2.3零件加工
    发表于 09-17 06:19

    怎么实现乒乓球发射机的设计?

    怎么实现乒乓球发射机的设计?
    发表于 11-09 06:56

    模拟乒乓球比赛设计

    用EasyFPGA030开发套件,游戏电路是模拟乒乓球比赛,可供两人游戏。甲乙各持一按键作为球拍,实验板上一行16只发光二极管为乒乓球运动轨迹,用一只亮点代表乒乓球,它可以在此
    发表于 11-02 17:02 112次下载

    基于加速度传感器的乒乓球击球动作识别_黄刘松

    基于加速度传感器的乒乓球击球动作识别_黄刘松
    发表于 03-19 19:25 1次下载

    用两个775电机打造一台简易羽毛球自动发球机

    两个775电机打造一台简易羽毛球自动发球机,陪孩子练习羽毛球再也不用亲自上阵了!
    的头像 发表于 06-04 06:17 1.1w次阅读

    基于强化学习的虚拟场景角色乒乓球训练

    基于强化学习的虚拟场景角色乒乓球训练
    发表于 06-27 11:34 62次下载

    羽毛球场馆照明该选哪种灯具,你需要专业的照明设计

    羽毛球运动可以说是非常受大众欢迎的一项体育运动,无论男女老幼都可以进行,在室内室外、家、在操场、的空旷的地方都可以,羽毛球运动不仅可以增强体质,还可以加深亲情和友情。 现在很多院校都增加了羽毛
    发表于 11-06 15:34 2194次阅读

    现代化羽毛球场馆智能照明控制系统羽毛球场馆灯光设计

    经过这两年的疫情情况,现在越来越多的人开始注意自身的健康情况,不再一味的依靠医疗设备,增强自身的体质才是重要的。现在很多地方都建设了羽毛球场馆,打羽毛球不仅可以增强自身的体质,还可以促进友谊,交流感情,可以说羽毛球运动是公众关系
    发表于 12-27 17:36 885次阅读

    乒乓球游戏机Proteus仿真

    乒乓球游戏机Proteus仿真资料分享
    发表于 10-31 16:32 2次下载

    室内羽毛球场馆照明灯光该如何选择,羽毛球场馆照明用什么灯好

    羽毛球是大家比较喜欢的一项健身运动,尤其是在国家大力发展全民健身后,越来越多的人加入到了羽毛球这项运动序列中来。然而想要拥有良好的运动体验,
    的头像 发表于 01-09 10:36 1424次阅读

    乒乓球开源分享

    电子发烧友网站提供《乒乓球开源分享.zip》资料免费下载
    发表于 06-15 10:06 0次下载
    <b class='flag-5'>乒乓球</b>开源分享

    基于FPGA乒乓球比赛游戏机的设计

    电子发烧友网站提供《基于FPGA乒乓球比赛游戏机的设计.pdf》资料免费下载
    发表于 10-20 10:31 2次下载
    基于FPGA<b class='flag-5'>乒乓球</b>比赛游戏机的设计