王 谦,杨栋栋,易英达
当前,物联网、5G、云计算、大数据等科技手段的不断成熟为各行各业带来革命性的变化.然而,在赛艇运动水上训练监控领域,虽然相关专家已经进行了诸多研究,但成熟的产品却鲜有问世.本文致力于优化赛艇水上训练监控系统的系统设计、框架开发、硬件研制、传输环境等方面的功能,实现关键参数(如船速、桨频、心率、功率等)的实时获取和呈现,并在训练结束后将数据传至后台进行详细分析.这一创新性工作将帮助教练员和运动员精准掌握训练表现,为提升训练成绩提供有力支持.
赛艇水上训练监控系统是根据赛艇训练中运动员实际竞技需求和教练员实际执教需求,运用互联网云计算、大数据、5G、物联网等技术进行设计.该系统由智能终端、软件平台和服务器三部分组成.其中,智能终端主要实现通过物联网传感器件收集船速数据、桨频数据、运动员心率数据等功能;软件平台主要实现信息交互、数据展现等功能,包括客户端登录、训练计划制订、训练人艇绑定、训练数据展现、训练数据分析;服务器主要实现与数据库建立连接、执行数据库操作、读取各智能终端上传的数据、与软件平台进行数据信息交互,并完成管理、存储、分析,包括用户注册、登录、数据显示、设备管理等.系统通过智能终端传感器进行船速、桨频、心率等数据的收集并传输至服务器,在软件平台上实时展现相关数据参数,通过数据库进行历史训练数据的归类与存档,进而辅助教练员科学筹划训练计划、规范管理训练流程、实时查看训练数据、全面进行数据分析、精准制定纠偏方案[1].系统总体框架如图1 所示.
图1 赛艇水上训练监控系统总体框架图
智能终端主要由桨频传感器、船速传感器、心率传感器三个硬件系统构成,通过传感器完成训练基础信息的数据采集.
桨频传感器是一种基于MEMS 技术的高性能三维运动姿态测量设备,包含运动传感器,如三轴陀螺仪、三轴加速度计、三轴电子罗盘等,集成了高性能传感器和运用姿态动力学核心算法引擎,并结合高动态Kalman 滤波融合技术,利用蓝牙模块与船速仪将采集到的运动数据通过TCP 协议进行通信,上传到系统平台[2].
桨频传感器通过九轴传感器计算运动员划桨时桨杆的旋转角度在一定范围内的变化,进而分析得出每次运动员在划桨过程中,九轴传感器中的X、Y、Z轴总是在一定范围内重复做规则旋转运动,以此计算出每一次桨杆旋转初始角度到下一次旋转初始角度为一桨,从而得出准确桨频值J(桨频)=C(桨数)/T(分钟).蓝牙模块将桨频数据传输至高精度船速仪,传输频率为每秒10 次.船速仪经过数据处理后,再通过LoRa 模块无线通信功能完成与服务器的数据传输.
船速传感器集成了低功耗GNSS 全星双频芯片、四核1.5 GHz 高频处理器、4G/5G 通信模块、3.1 英寸高清屏、蓝牙5.0 模块、重力传感器、陀螺仪、指南针、气压计,外加小型化全方向螺旋天线、电源模块. 使用CORS 连接SDK 模块、网络对讲模块和4G/5G 网络,与Android 系统深度结合.定位模块采用GNSS 全星双频芯片实时获取高精度定位数据,并通过4G/5G 通信模块利用TCP 协议将采集到的运动数据上传至系统[3].
船速传感器主要采用RTK 定位技术,是一种基于载波相位观测值的实时动态定位技术,能够实时地提供测站点在指定坐标系中的三维定位结果,并达到厘米级精度.在RTK作业模式下,基准站通过数据链将其观测值和测站坐标信息一并传送至流动站.流动站不仅通过数据链接收来自基准站的数据,还要采集GPS 观测数据,并在系统内组成差分观测值进行实时处理,同时给出厘米级定位结果,数据传输时长不超过一秒.通过对GPS实时数据的分析和计算,可以得出单位时间(T)内运动员移动的距离(S),利用公式V=S/T计算得出即时船速[4].
心率传感器模块由心率带和心率表组成.心率带是一个发射器,包含导电橡胶的电极.心率表是一个接收器,包含施密特触发器、谐振电路.心率传感器还集成了蓝牙模块和电源模块.心率数据通过心率带两侧的电极测量皮肤中的心动电流或电势的周期变化而得出,感应器的极片位于胸带前方两侧,运动员戴上胸带后,胸带内的极片采集心动电流波动幅度,再通过无线传输技术发送给心率表,转化为便于观察的心跳BPM 数值.系统通过蓝牙与心率带进行通信,将心率带的心率实时心跳值(C)传送到指定终端,通过公式X=C/T计算出实时心率值,再通过蓝牙模块与船速传感器进行通信,利用TCP 协议将采集到的运动数据上传至系统,在指定终端实时显示心率值[4].
软件平台基于J2EE 体系,依附于Android操作系统开发实现,采用SpringBoot+vue 框架,搭配MySQL 轻量数据库,以及Redis 进行数据读写、数据接收、数据处理和数据存储分离,并使用Docker 进行虚拟化部署.主要功能包括训练课程制订、训练数据展现、训练数据分析三大功能.教练员登录后可以制定水上训练计划、查看训练数据;管理员登录后可对运动员ID、船速设备、心率设备、桨频设备进行增删.利用平台与服务器进行网络通信、对传感器接收到的数据进行展现[5].
2.2.1 网络通信设计
船速传感器与心率传感器之间通过蓝牙模块进行数据采集,并与服务器完成信息交互.船速传感器通过HTTP 协议向服务器发送指定格式的字符串,服务器接收到字符串后,经过后台处理将信息封装在JSON 字符串内,然后通过HTTP 协议传输,再经过JSON 字符串解析后,到达终端.
船速仪终端创建Http Client,并通过HTTP协议上传信息至服务器.具体实现采用get 方式访问服务器,通过在URL 地址里面使用问号(?)间隔,然后以param=value 的形式将参数名和数值发送至服务器.其网络通信流程图如图2 所示.
图2 网络通信流程图
2.2.2 用户功能设计
用户功能主要包括:用户授权、登录、记住密码等功能.以登录船速仪终端APP 功能为例,用户输入已授权的账号密码,船速传感器则会向服务器发送携带用户名、密码的登录信息,船速传感器接收判断服务器返回结果,若成功则跳转至功能界面,否则提示用户登录失败.登录请求流程图如图3 所示.
图3 登录请求流程图
完成登录操作后,跳转至功能菜单界面,点击船速传感器连接GPS、心率表、加速度传感器、视频等功能按钮,可跳转至对应的活动界面.功能菜单页面如图4 所示.
图4 功能菜单页面
系统提供了训练课程制订、训练数据展现及训练数据分析平台,各平台功能如表1、表2、表3 所示.
表1 训练课程制定平台
表2 训练数据展现平台
表3 训练数据分析平台
2.2.3 设备连接功能设计
设备连接显示授权账号下绑定的可登录所有采集终端,在授权账号下也可绑定新设备名称.船速传感器通过网络将设备编号发送至服务器.服务器接收到设备编号后,查询设备表,并将数据内容封装在JSON 字符串内,反馈给船速仪终端.船速仪终端接收服务器返回的携带设备信息的JSON 格式字符串,即response 字符串,解析后,信息显示在ListView表中[6].设备连接功能流程图如图5 所示.
图5 设备连接功能流程图
系统服务器部署在云端,编程设计基于java 语言实现,使用MySQL 和Tomcat 组成,具有固定IP 地址.服务器主要负责与智能终端和软件平台进行数据交互,连接数据库,并对接收到的数据执行数据库相关操作.
教练员通过软件平台进入所创建的水上训练课,可查看正在进行的训练课实时数据,包括船速、桨频、心率、划行距离、排名等信息.图6 为训练中运动员的实时数据.
图6 运动员训练实时数据展示
训练课结束后,对应的每条赛艇会生成详细数据分析报告,教练员可对训练日期、训练人员、训练艇只进行筛查并查看详细数据分析.
3.2.1 船速数据
船速信息包括每桨平均船速、每桨最高船速、最大船速、起航最大船速等数据信息.教练员通过全程曲线可以分析得出运动员在整个训练过程中的船速整体趋势,亦可通过局部船速变化的趋势,判断运动员桨入水到拉桨变化中的运动表现.图7 显示了某运动员全程船速信息.
图7 某运动员全程船速数据
3.2.2 桨频数据
桨频数据包括平均桨频、最大桨频、总桨数等数据信息.教练员制定赛艇水上训练课时,桨频是很重要的负荷强度参数.通过全程桨频的变化,教练员可判断运动员的训练效果.图8 为某运动员全程桨频数据.
图8 某运动员全程桨频数据
3.2.3 心率数据
运动员心率数据包括平均心率、最大心率、心率百分比等数据信息.心率信息是教练员判断运动员训练状态的关键内负荷指标,教练员通过全程心率的变化可以随时调整训练计划.图9 为某运动员全程心率数据.
图9 某运动员全程心率数据
赛艇水上训练监控系统可以帮助教练员全过程监控运动员的水上训练,不受训练范围、训练天气等客观因素的制约,具有定位精准、数据稳定、操作简易、传输迅速等特点.系统通过多传感器实时获取数据并展现,帮助教练员和运动员在赛艇水上训练后对训练数据进行分析与归档,帮助教练员和运动员实时掌握训练状况,提高训练效果,从而为进行有针对性的训练提供科学依据.