APP下载

一种基于物联网技术的下肢运动实时监测系统设计与实现

2021-06-28孙握瑜

通化师范学院学报 2021年6期
关键词:电信号字节蓝牙

孙握瑜

随着智能机器人技术的快速发展,机器人应用已经从工业领域逐步延伸到各行各业.在医疗康复领域,下肢康复训练机器人具有比传统人工医疗师辅助训练更多的优点,得到康复工作者和下肢偏瘫患者认可与接受[1].在实际应用中,康复训练机器人需要最大程度地理解患者主动运动意愿,实现人机协同控制训练,提高康复效果.为了实现人机运动协同,康复机器人需要对穿戴者的运动类型进行监测,实时提取下肢运动类别来建立主动柔性控制策略[2].

表面肌电信号蕴含了运动信息,其被广泛应用于姿势和动作的识别[3−4],但是肌电信号模糊性强,加之人体姿态信息非常复杂,单独基于肌电信号对运动类型进行判断,很难对人体运动类别进行准确识别.很多研究者通过各种传感器采集运动对象运动期间的关节角度等几何特征,以及三轴加速度表示的物理特征,通过这些信号有机融合来提升运动类型识别的准确率[5−7].本文基于物联网技术设计了一种下肢运动实时监测系统,融合了肌电信号、足底压力信号、腿部运动的加速度和角速度,对下肢运动类别进行识别.

1 系统结构设计

设计的下肢运动实时监测系统主要包括硬件系统和与其对应的APP应用两部分.其中硬件系统由主控模块、传感器模块、无线传感模块构成,具体结构如图1所示,其中主控模块采用STM32作为主控芯片,在无线传出模块中采用蓝牙透传模块HC−05作为数据收发模块,传感器模块中主要包括OYMothion表面肌电传感器、柔希科技D207薄膜压力传感器和维特智能WT901姿态传感器.

图1 下肢运动实时监测系统硬件部分件结构框图

肌电传感器和压力传感器采集的为标准电压值,通过模拟口与STM32相连,姿态传感器信号与STM32串口相连.硬件系统中使用了两个薄膜压力传感器,分别用于采集前脚掌和后脚跟的压力.考虑到人体不同部分肌肉电释强度不同、采集部位不同时,肌电信号值可能出现较大的波动,系统使用了双通道表面肌电传感器采集两个部位的表面肌电信号.系统中姿态传感器模块在使用前,将其回传数据设置为加速度、角速度和欧拉角.STM32单片机采集的数据最后由蓝牙透传模块通过无线转发给APP应用.

2 系统关键技术

2.1 电子硬件系统驱动程序设计

针对实时采集传感器数据需求,主控芯片完成四项主要功能,一是从四个模拟输入端口分别读取前脚掌和后脚跟的压力信号值;二是获取两通道的表面肌电信号值;三是从serial1串口读取姿态传感器的数据;四是以不同频率发送到蓝牙模块.STM32对数据的发送逻辑如图2所示,首先STM32上电后对系统进行初始化,然后持续读取与蓝牙透传模块相连的serial2串口数据,当接收到来自手机APP应用发出的“发送数据”指令,就立即将采集的数据以不同频率发送出去.每次转发前先读取serial2串口接收的数据,如果收到“停止发送”,则停止蓝牙数据发送.

图2 单片机对信号发送逻辑流程图

STM32在通过蓝牙透传模块发送时,需要以不同速率发送各种传感器的数据.本系统中设置肌电信号频率为1000 Hz,前脚掌和后脚跟压力传感器和姿态传感器的信号发送速率为100 Hz.在程序中的逻辑是每发送9次肌电信号后,在第10次发生数据时将两组压力传感器和姿态传感器的数据一起发送.

2.2 系统通信协议

为实现手机应用和硬件系统蓝牙模块的稳定可靠通信,本系统制定了手机蓝牙发送指令到BLE蓝牙通讯模块的数据帧和BLE蓝牙通讯模块响应给手机蓝牙的响应数据帧.手机蓝牙发送指令到BLE蓝牙通讯模块的数据帧如表1所示.

表1 手机蓝牙发送指令到BLE蓝牙通讯模块的数据帧

LEN:数据长度,从LEN字节开始到校验码字节的长度,值为3.

CMD:命令类型,取值为0x00时表示读取传感器数据请求,取值为0x01表示停止读取传感器数据请求.

校验码:是整个数据帧的校验码,通信双方选择CRC校验、奇偶校验中一种即可.

BLE蓝牙通讯模块响应给手机蓝牙的响应数据帧如表2所示.

表2 BLE蓝牙通讯模块响应给手机蓝牙的响应数据帧

LEN:表示数据区的长度,取值可以为2或7,表示2个字节或7个字节.数据区为7个字节时,从左向右,第1、2个字节为两个通道的肌电信号值,第3、4个字节为前脚掌和后脚跟的压力值,第5、6、7个字节为姿态传感器的欧拉角、角速度和加速度三个数据值.校验码含义与手机蓝牙发送指令到BLE蓝牙通讯模块的数据帧中校验码含义相同.当蓝牙模块本次仅仅传输两个通道的机电信号值时,数据区的7个字节只用前2个字节,数据量为0x02.ACK:反馈字节,为0x00表示正常,为其他值时表示有其他情况,ACK异常取值规则为:Bit6~Bit0,每一位代表1路传感器工作状态,0表示状态正确,1表示异常.

2.3 上位机软件设计

在系统上位机设计中,下肢运动实时监测APP需要完成手机与监测硬件模块的蓝牙连接,根据采集的各种传感器信号值进行运动类型的识别.APP应用主要实现两大功能,一是对硬件系统中蓝牙透传模块的搜索、连接,连接后给硬件系统发送开始和结束发送的命令;二是对采集到的传感器数据流进行接收、分割,并进行下肢运动类型的模式识别.下肢运动分为静态动作和动态动作两种模式,静态动作主要包括站立和坐立两种,姿态传感器固定在运动对象的大腿位置,当运动对象站立或坐立时,姿态传感器的角速度信号几乎为0且稳定,根据压力传感器数据信号就可以进行识别.动态动作是一种循环连续的运动,本系统对采集的sEMG肌电信号、姿态传感器信号,基于线性判别分析算法(Linear Discriminant Analysis,LDA)[8]进 行 动作识别.下肢动静态运动类型模式识别流程如图3所示.如果姿态传感器的角速度信号值大于静止时姿态传感器角速度值,则当前运动类型为动态动作,然后进一步根据截取的sEMG肌电信号依据LDA算法进行模式识别,得出识别结果;如果判定为静态动作模式,则只需要根据足底压力与站立时足底压力比较结果即可以得出处于站立状态还是坐立状态.

图3 动静态运动类型模式识别流程

3 系统测试

为了检验本文设计的下肢运动实时监测系统设计的有效性,在Android端APP中进行如下操作:进入APP主界面,首先点击右上角设备按钮,进入连接设备界面,系统电子硬件连接界面如图4所示,搜索附近蓝牙设备,手动选择进行连接;然后返回主界面运动数据监测界面,当系统的硬件设备绑在腿部时,即可在运动数据监测界面看到运动类别提示,数据监测界面如图5所示.

图4 APP中蓝牙设备连接主界面

图5 数据监测界面

系统APP应用主要对行走、跑步、高抬腿、原地踏步、站立和坐立6种下肢运动进行训练和识别.其中静态运动类型根据采集的姿态传感器和足底压力传感器信号可以准确识别;动态运动类型的识别,LDR算法截取sEMG肌电信号段不同,识别准确率会有所差异.为了提升下肢动态运动类型的准确率,系统测试时,对每个运动周期按照后脚跟最大压力和前脚掌最大压力两个关键时间节点T1、T2来分段,将每个运动周期分为四个阶段,即T1前200 ms、T1后200 ms、T2前200 ms、T2后200 ms,分别用T1−、T1+、T2−、T2+表示.系统测试表明LDA算法截取不同阶段进行运动类型训练和动作识别的准确率不同,表3为系统对各个阶段各种下肢动态运动类型识别准确率一览表.

表3 下肢动态运动类型识别准确率一览表

从表3中可以发现,系统对运动类型的识别率均较高,其中LDR算法选取T1+、T2−两个阶段的识别率更高一些,这两个时段脚接触地面,肌电信号更具有代表性.因此本系统APP应用LDA算法截取阶段均选取T1+阶段作为动作训练和识别时间窗口.

4 结语

本文针对康复机器人系统中需要实时提取下肢运动类别问题,设计了一种基于物联网技术的下肢运动实时监测系统.系统能根据肌电信号、角速度信号、加速度信号和压力信号,对六种下肢动作类型进行识别,测试结果表明系统具有较高的准确率.

本文仅考虑了六种下肢运动类型的识别,其他类型运动的识别有待进一步研究与验证.同时,本文实验测试时,从安全性角度考虑,选择的测试对象为下肢健全人.健全人的运动识别结论对于下肢有损伤或残疾的患者是否有效仍有待进一步验证.

猜你喜欢

电信号字节蓝牙
蓝牙音箱的直线之美
基于联合聚类分析的单通道腹部心电信号的胎心率提取
No.8 字节跳动将推出独立出口电商APP
No.10 “字节跳动手机”要来了?
基于Code Composer Studio3.3完成对心电信号的去噪
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
轻量级分组密码Midori64的积分攻击
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
基于随机森林的航天器电信号多分类识别方法
基于生物电信号的驾驶疲劳检测方法