当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:针对传统乒乓球拍只能击球,无法获知击球动作、力度、位置、速度等运动参数的问题,对传感器技术、蓝牙技术、手机应用开发进行研究,构建了一个便于人机交互的Android平台,利用蓝牙4.0低功耗(BLE)技术将智能乒乓球拍一端采集的数据传输到手机端,实现对乒乓球比赛或训练中速度、旋转角度、方位等关键运动参数的计算,通过对运动数据的分析就如何提高击球精确度给出了相应的依据,使运动更加高效并具有娱乐性,该产品的市场前景广阔。

引 言

近年来,随着国家体育战略的牵引,职业体育数字化训练和全民健身的市场需求越来越大,基于数字化运动的周边商品也日渐增多。乒乓球作为中国的国球,其发展之路必然一片光明。在智能化到来的今天,传统的乒乓球运动已经不能满足人们对精确化运动的需求。来自美国最大的风险投资机构KPCB 的数据显示,全球智能手机出货量已经远高于台式机与笔记本出货量的总和。而其中Android 手机更成为智能手机市场的主导力量。本文针对这种现象,在Android 平台上设计了一个包含数据采集与分析的交互系统,在传统的球拍中增加采集运动参数的功能,利用蓝牙BLE 技术将运动数据传输到手机中,通过分析击球速度、击球旋转角度、击球方位等运动参数,使用户可以随时随地通过手机方便查看运动数据并对击球好坏和击打姿势做出相应的评价,进一步提高运动效率,为客户提供更完善的服务。

1 乒乓球拍发展史

乒乓球拍因其板面质地与拍面覆盖物的组合不同,因此也被认为是运动员唯一能够发挥主观能动性的核心器材。乒乓球球拍的发展演变经历了从羊皮长柄拍到木板拍,到胶皮拍、海绵拍,再到反胶、长胶、生胶、防弧拍,最后到目前的碳纤维底板拍等过程。由于乒乓球在前进方向上处于高速旋转状态,它的运行路线既不是直线也不是由于重力造成的抛物线, 而是一种质心运动加上阻力和强烈旋转作用形成的特殊弧形路线,因此好的球拍可以利用粗糙的表面来增大摩擦,从而增加弹性和攻击力量,使打出的球更快更有力的同时提高攻球的稳定性。球拍的标准化与多样化塑造了乒乓球运动的个性化, 使从事这一运动的人有了更多的个性化选择。

2 蓝牙低功耗技术

Google 在发布Android 4.3 系统时添加了对蓝牙 4.0 的支持。蓝牙低功耗(Bluetooth Low Energy,BLE)是将传统蓝牙技术、高速技术和低耗能技术三种规格集为一体的新产物, 与之前的版本相比,其最大的不同之处在于低功耗,功耗降低了 90%,一粒纽扣电池即可连续工作数年之久。可将BLE 简单分为单模(Bluetooth Smart)设备和双模(Bluetooth Smart Ready)设备两种类型。单模设备的芯片往往是一个带有单模蓝牙协议栈的产品。双模设备既可以支持BLE,也可以支持传统蓝牙BR/EDR,但在使用时需要用一个外部处理器才可以实现蓝牙协议栈。使用蓝牙设备进行通信时,往往需要提前对产品中蓝牙的版本进行描述,本设计考虑到内置处理器及乒乓球拍内部空间有限等问题,采用单模类型的蓝牙设备进行设备间的通信。

3 系统整体设计

该系统主要由采集端和手机客户端两部分组成。

3.1 采集端

采集端主要包含传感器模块和无线通信模块两大部分。

(1) 传感器模块由九自由度传感器和薄膜压力传感器构成,用于收集运动数据。

(2) 无线通信模块使用蓝牙通信模块与手机客户端进行无线通信和传输运动数据。

3.2 客户端

客户端使用Eclipse 作为开发环境,使用ADT(Android Development Tools,ADT) 作为开发插件, 利用Android 操作系统提供的各种资源实现。用户首先设置手机蓝牙的开关状态,完成注册登录等用户操作。然后便可在手机或平板电脑上查看显示的运动数据及相关分析功能。用户使用触摸屏与系统进行交互,通过手机随时查看运动数据,该系统具备的各项功能可媲美私人运动教练,使运动变得高效、灵活。

3.3 采集端整体设计

采集端部分主要包括惯性传感器模块、薄膜压力检测模块、无线通信模块、主控微处理器及电源模块。系统硬件方框图如图 1 所示。

基于Android的智能乒乓球拍系统设计

薄膜压力传感器模块用于采集球拍的击球位置和击球力度,九自由度传感器模块用于监测球拍的运动加速度、角速度等惯性参数,实现对击球速度及轨迹的拟合回归。蓝牙通信模块采用TI 公司的 CC2451,其非常适合需要超低能耗的系统,而针对单模式蓝牙低能耗(BLE)的解决方案符合 4.0 协议的堆栈。微处理器模块选择TI 公司生产的具有 16 位超低功耗与精简指令集(RISC)的混合信号处理器 MSP430。此模块作为智能监测系统的核心,必须能够高效控制压力传感器和九自由度传感器对相应的运动参数进行检测,并将大量数据实时传到智能手机进行处理。因此,需要有较快的处理速度, 以便于在挥拍的一瞬间就将各种运动数据传输到手机的软件界面中并进行分析与计算。

3.4 客户端整体设计

客户端作为一种查看运动数据的工具,其具有用户验证、蓝牙匹配、保存运动数据、查看运动数据等功能。图 2 所示为系统的总体功能结构图。

基于Android的智能乒乓球拍系统设计

客户端设计主要涉及用户UI 界面、蓝牙通信、线程和SQLite 数据库的设计与使用。客户端可以分为注册登录模块、蓝牙配对模块、计时模块、分析模块和统计模块。客户端流程图如图 3 所示。

基于Android的智能乒乓球拍系统设计


整个设计使用了Activity、TabActivity、Service、ProcessBar、Handler、ListView、SharePreference 等多种组件, 每个组件完成相应的任务,并采取不同的布局方式进行 UI 界面显示。进入客户端首页时,首先显示的是注册登录界面,用户需要输入正确的用户名及密码进入蓝牙匹配界面,开启蓝牙并选择要连接的蓝牙设备,即可跳转到分析与统计界面,分析界面主要显示击球加速度、击球角度、打球时间及消耗的能量,随时对自身的运动状态进行监督。统计界面主要以图表的形式将数据进行可视化处理,显示速度变化曲线图、速度统计图、旋转角度曲线图、击球方位统计图和击球类型统计图,用户可以根据自己的需求,点击相应的图标按钮进行查看。

4 系统具体实现

在本系统中,首先需要将小米 MI2 手机与智能乒乓球拍进行设备配对,在手机里打开智能乒乓球拍数据处理 App 后显示欢迎界面,如果是新用户,则需要先点击新用户按钮进行信息注册,注册成功后点击注册按钮返回登录界面,利用新注册的用户信息登录,之后点击登录按钮进入蓝牙通信界面。使用智能乒乓球拍进行乒乓球运动,在击球的同时,手机已将相关运动数据储存到SQLite 数据库中,用户可随时在手机中根据导航界面的提示点击分析按钮进入数据显示界面,点击统计按钮查看可视化运动数据。

4.1 蓝牙通信模块实现

在蓝牙低功耗通信中定义了重要的角色。一个Service 包含一个或者多个 Characteristic,而 Include 方式则包含其它Service。Characteristic 则是 GATT profile 中最基本的数据单位, 由一个 Properties、一个Value、一个或多个 Descriptor 组成。Characteristic Properties 定义了characteristic 的 Value 如 何 被使 用, 以 及 characteristic 的 Descriptor 如 何 被 访问。Characteristic Value 是特征的实际值, 例如温度特征,Characteristic Value 就是温度值。Characteristic Descriptor 则保存了一些和 Characteristic Value 相关的信息。

首先,判断蓝牙设备是否支持蓝牙 4.0 技术,若支持则每隔 10 s 扫描周边设备,利用广播更新的方法实时接收周边的characteristics。如果UUID 和设定的一样就接收数据,然后通过标志位进行分割后储存到数据库中。

4.2 数据处理模块实现

运动数据的处理在本系统中起着至关重要的作用。运动数据和用户登录信息储存到SQLite 数据库中,这是一款轻型数据库,占用资源非常低且支持Windows/Linux/Unix 等主流操作系统,具有很好的可移植性。SQLite 不同于大多数数据库的地方在于它支持动态数据类型,即数据类型取决于数据本身而并非它的容器,因此它能做到一些传统刚性类型数据库无法做到的事。

将三轴加速度、三轴陀螺仪、三轴磁力、压力等运动数据储存到SQLite 数据库中,在分析与统计界面将数据从数据库中读出来并在此界面进行数据的相关处理。将得到的加速度值结合运动时间进行卡尔曼滤波,根据自定义的估计值和权值建立物理模型并与测量值进行比较,有效找出加速度真值的准确估计。由于加速计和陀螺仪都含有固有噪声,虽然可以通过陀螺仪的值进行时间积分得到角度值,但陀螺仪的噪声和偏移会在计算角度时引入很大的误差,因此采取一种传感器融合算法,称之为平衡滤波器或互补滤波器,即将陀螺仪获取的角度通过高通滤波器消除漂移,再与平滑过的加速计和磁力计的结果相加,即可得到准确的旋转角度值。

4.3 数据显示模块实现

直观的运动数据可以更好地指引用户提高技术动作,因此需要将复杂的运动数据进行可视化处理。AChartEngine 是Android 系统上制作图表的框架,它为Android 开发者提供了很多实用的图表绘制工具类,可以在应用中添加可视化统计的功能,应用在本系统中尤为合适。它支持绘制折线图、饼图、气泡图、柱状图、散点图、面积图等多种类型的统计图表。

运作机制主要包括两个方面。一个是 dataset 即数据集,比如 x/y 轴的数值等。另一个是 renderer 即渲染器,比如字体颜色、大小等一些样式。在父类里建立dataset 和renderer 的基本方法,当然也可以根据实际需求进行修改。最后通过 ChartFactory 类的相应方法生成对应的图表, 比如getLineChartIntent() 生成线性表,返回一个 Intent 即可直接启动。不过要在manifest 文件中进行注册后才可使用。此外, 还可通过 ChartFactory 的getLineChartView() 返回一个线性表的View 对象,这样就可把此处的View 对象放在一个布局中展示。

系统最终对用户的动作进行分析,给出速度变化曲线图、速度统计图、旋转角度曲线图、击球方位统计图和击球类型统计图。图 4 所示为数据显示模块具体实现的一部分。图 4(a) 所示为速度统计图,图 4(b)所示为击球类型统计图。用户结合击球类型统计图与速度统计图即可看出本次运动使用的击球类型多为哪种,并且结合击球力量的变化进一步分析出自己属于哪种技术选手。

基于Android的智能乒乓球拍系统设计

结 语

通过研究智能惯性运动传感器、压力传感器及多融合算法,并根据传感器信号对调理电路进行开发,对使用者运动时的加速度、速度、击球压力等关键数据实施采集、监测和分析,最终在 Android 手机应用中进行展示和分析,运用人机交互技术使其兼具娱乐交际功能,并有针对性的提出改进建议。相对于传统的乒乓球运动,新型智能乒乓球拍可将运动动作特性一目了然的展示在手机中,并添加了分析技术要领、计算消耗卡路里等功能,使人们更加喜爱乒乓球运动,从而更有利于智能乒乓球拍的推广。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭