基于加速度信号的脑瘫儿爬行多关节协同运动测量与分析系统的设计及初步实现
2022-07-01熊启亮王余珊陈曦
熊启亮,王余珊,陈曦
南昌航空大学生物医学工程系,江西南昌 330063
前言
脑性瘫痪(简称脑瘫)发病率高达1.5‰~4.0‰,是继脊髓灰质炎被控制之后儿童肢体残疾的主要疾病,异常运动姿态是其运动功能障碍主要的临床表现[1]。目前尚无根治该病的有效方法,后期的康复疗效很大程度上取决于对脑瘫儿异常运动功能障碍程度的早期评价,并以此开展的早期干预和早期治疗[2]。另一方面,婴幼儿获得独立步行能力以前的早期运动发育节点包括翻身、独坐、爬行等,其中,脑瘫性运动功能障碍在早期发育的爬行阶段通常表现为“兔跳样”爬行、不随意左右摇摆爬行、不随意上肢交叉爬行等异常的爬行姿态。但是,目前临床上对上述脑瘫患儿异常爬行姿态的评价仍停留在量表评估等主观描述的阶段,即缺乏客观、量化的评价方法或技术,这也制约了临床脑瘫患儿的早期治疗。
为此,近年来越来越多的研究人员开始针对爬行过程中的肌肉收缩[3-4]、关节活动[5-6]等运动生理信号及特征进行测量和量化分析,以求能够建立起适用于脑瘫等异常发育患儿早期运动功能障碍评价的定量方法和标准[7]。其中,由于爬行动作的完成需要调动上下肢运动参与关节在时间、空间上维持特定的姿态特征(运动方向、位移、加速度等),并且这些关节运动特征之间遵循严格的协同配合关系,因此,多关节之间的协同运动测量与分析为解决脑瘫患儿异常爬行姿态的量化评价提供一种新的思路[8]。但是,需要指出的是,目前针对人体正常及异常爬行运动姿态的测量与分析研究普遍是基于3D运动捕捉系统[6,9]展开的,这类系统的硬件价格昂贵,并且分析软件接口封闭而不利于拓展爬行姿态分析功能。为此,本文尝试以体积小、功耗低、成本低廉的加速度传感器为基础,设计一款基于加速度信号和关节协同运动分析理论的异常爬行姿态测量与分析系统,其主要包括:①基于MPU9250 传感器的运动加速度信号采集部分;②基于非负矩阵分解算法的关节协同运动分析。总体框图如图1所示。
1 关节协同运动的生理基础及测量原理
1.1 生理基础
爬行是一种需要上下肢多关节协同参与的复杂节律性运动行为。理论上讲,每一个关节都有其特有的空间运动轨迹,而不同关节的空间运动轨迹间存在大量可能的组合方式。如果大脑需要单独控制每一个关节的运动方向、速度、加速度等,就需要大脑进行非常庞大的计算和存储[10],这显然是不利于大脑的运动控制。而运动协同机制有效解决了这种多关节运动的控制问题,即中枢神经系统采取分层控制的方式来简化多关节运动的控制,从而达到降低运动控制冗余的目的[11-12]。因此,在生理上,关节协同被认为是人体中枢神经系统对肢体多关节运动的一种调控策略。
1.2 测量原理
目前普遍采用的运动协同控制模型(图2)可以概括为:在一个动作周期内的不同时刻,运动系统通过分配不同的运动激活系数(即运动输入矩阵H)调用若干不同功能的姿势协同模式(即姿势协同矩阵W),从而形成在时间和空间上“组织”各个关节的运动行为(关节运动加速度等特征矩阵V)。其中,姿势协同模式是指在完成某个特定动作时各个关节运动特征(位移、速度、加速度等)之间维持恒定不变的比例关系(即权重),其中权重超过0.25的关节被视为在该姿势协同模式中占主要贡献[13-14]。运动输入则是人体神经控制系统按照特定的激活系数调控上述姿势协同模式的编码形式。两者之间的乘积和就可获得不同关节在运动过程中的位移、速度、加速度等变化曲线。如图2所示,反之,则可以通过收集关节运动过程中的加速度等信号(V),然后利用矩阵分解等算法从中获得上述姿势协同模式(W)以及运动输入(H)。该算法已经在包括肌电信号、关节角度、关节速度等多种运动生理信号的协同分析中得到广泛应用[8,15-17]。
图2 基于矩阵分解的运动协同模式提取示意图Figure 2 Schematic diagram of inter-joint coordination extraction based on matrix decomposition
2 数据采集电路设计
系统的硬件电路主要包括MPU9250传感器模块、STM32F103C8T6嵌入式微处理器模块、蓝牙传输模块等部分。其中,MPU9250惯性传感器负责收集爬行过程中关节在空间X、Y、Z方向上的加速度信号,并利用其内部的模数转换功能将其转换为数字量[18],随后,利用时针频率达到400 kHz的IIC接口与STM32系列处理器之间实现IIC通信,STM32处理器在接收到传感器模块传输过来的数字信号后,通过虚拟IIC通道和蓝牙模块进行数据通信,进而利用蓝牙无线传输功能将数据传输到上位机上进行显示、存储以及处理。整个数据采集平台设计如图3所示。
图3 数据采集装置设计架构Figure 3 Overall architecture of data acquisition device
2.1 MPU9250传感器
MPU9250传感器内部集成的加速度计能够满足本文加速度信号采集的需要,同时,该传感器具有体积小、功耗低、成本低等优点,因此本文选择将其作为前端采集装置,其具体电路设计如图4所示。设置加速度计满量程范围为±2g,采样频率设置为50 Hz。
图4 MPU9250传感器电路Figure 4 MPU9250 sensor circuit
2.2 STM32芯片电路
STM32 芯片的最小控制系统主要包括电源电路、复位电路、晶振电路等主要部分。其中,由于主控芯片的工作电压为2.0~3.6 V,因此本文采用3.7 V锂电池对电路进行供电,并且利用如图5所示的RT9193-33 稳压电路将输入电压稳压到3.3 V。在该电路中,C10 作为大电容的主要功能是稳定输入电压,C11 则起到滤除高频干扰的作用,C8、C9 则和C4、C5作用一样,即利用大小电容并联来提高滤波频段。图5中所示的复位电路是一种上电低电平复位电路,随着VCC 通过RC 电路对电容进行充电,当电容两端电压达到VCC 以后,芯片即可开始工作。晶振电路则主要采用无源晶振的设计,即采用两侧接电容的方式进行起振,一般电容值选择为10~40 pF。同时,在输入输出端连接起负反馈作用的电阻R5,由于连接晶振的芯片端内部是一个线性运算放大器,为了保证放大器工作在高增益的线性区,还需要连接一个M 级的电阻,使输出端电阻和负载电容组成的网络提供180°相移,同时该电阻也起到限流、保护晶振的作用。
图5 STM32芯片系统电路Figure 5 STM32 chip system circuit
2.3 蓝牙模块
蓝牙模块主要负责以无线的方式将前端采集得到的关节运动加速度信号传输至上位机。蓝牙每一次需要传输18 个数据帧,其中帧头为0x88,占1 个字节;器件序号是自定义功能字,表示正在传输的传感器编号,例如,左侧下肢膝关节或踝关节分别设置为0x31 或0x32,占1 个字节;数值类型有accx、accy、accz、gyrox、gyroy、gyroz、pitch、roll、yaw 共9 种,表示传输的是传感器中的哪一类数据,占3~5 个字节;帧尾为0x880x0D0x0A,负责给上位机传递数据传输结束的信号,占3 个字节。系统硬件测试示意图如图6所示。
图6 采集装置测试版示意图Figure 6 The beta version of the acquisition device
3 上位机程序设计
上位机主要基于LABVIEW实现数据接收、存储和数据处理三大功能。其中,采用的LABVIEW是一种图形化的编程语言,集成了满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能,同时,还内置了便于应用的TCP/PI、ActiveX等软件标准的库函数,因此利用它可以实现信号处理、数字滤波、可视化显示等功能,进一步还可以创建图形化操作界面。
3.1 数据接收及存储
将蓝牙连接至上位机,并打开数据接收串口以后,即可将采集到的加速度数据显示到相应的数值显示控件中,并可以对采集到的原始数据进行波形显示。此外,按下保存数据按钮则可以将接收的所有数据存储至相应的Excel文件。上位机数据接收界面示意图如图7所示。
图7 上位机数据接收界面示意图Figure 7 Data receiving interface of the upper computer
3.2 数据处理
爬行动作的完成需要上、下肢多个关节之间协同配合运动,为此,主要选择四肢双侧肘关节、腕关节、膝关节以及踝关节共8处关节的运动加速度作为数据处理对象,其主要原因是上述关节均为肢体远端关节,运动过程中其运动模式受到躯干的约束更少,因此更能反映其神经系统的运动协同控制策略。如前文所述,利用前端MPU9250传感器可以获得肢体关节在爬行过程中前后方向(x)、水平方向(y)、垂直方向(z)上的运动加速度信号,分别记为Ax、Ay、Az。首先,对上述3个方向上的加速度信号进行去噪、平滑滤波等预处理,然后如式(1)所示,将关节在x、y、z方向上的加速度进行矢量求和,从而获得关节的切向加速度A,利用该切向加速度A可以有效描述关节在三维空间中的加速度变化情况,此外,矢量求和结果的非负性也满足后续关节协同分析中用到的非负矩阵分解算法的应用前提(即要求矩阵元素非负[19])。
根据左侧腕关节加速度信号周期性变化的特点,如图8中周期判断信号所示,将连续时间长度的加速度数据分割为若干个单独爬行周期的数据段;为了便于不同关节、不同个体之间的对比,本文对数据进行了幅值和数据长度的归一化;然后将多个周期进行叠加平均,从而获得该关节在0~100%爬行周期内的运动加速度特征曲线。最后,将上、下肢8处关节的切向加速度曲线按照左肘、左腕、左膝、左踝、右肘、右腕、右膝、右踝关节的顺序从上至下排列,构成如图8中所示的多关节运动加速度数据矩阵V(8行×101列)。
图8 信号处理示意图Figure 8 Schematic diagram of signal processing
对于上述8处关节切向加速度数据矩阵V,本文利用目前协同运动分析中应用广泛的非负矩阵分解(Nonnegative Matrix Factorization,NMF)算法提取其协同矩阵W和运动输入矩阵H[20-22]。该矩阵分解算法主要步骤包括:①利用归一化、多周期平均后的关节运动切向加速度构建m×t的数据矩阵Vo(m个关节,t个数据采样点);②建立0~1均匀分布的随机矩阵W和H,并形成初始重构矩阵Vr=W × H;③判断Vo和Vr的差异,不断进行迭代直至收敛与最小平方误差和;④确定可能的关节协同模式数目;⑤输出姿势协同矩阵W和运动输入矩阵H。NMF算法流程图如图9所示。
图9 NMF算法流程图Figure 9 Flowchart of non-negative matrix factorization algorithm
4 试验
由于脑瘫志愿者招募的特殊性,为了验证上述采集的加速度信号以及所提取的关节协同特征能否真实反映爬行姿态,本文仅利用上述测量装置采集了笔者分别采用常规手膝爬行、非常规爬行(“同手同脚”)、“兔跳样”爬行3种不同姿态(图10)爬行过程中双侧肘、腕、膝、踝共8处关节的加速度信号。在此基础上利用图8所示的关节协同分析方法提取相应的关节协同模式,其中,权重超过0.25的关节被视为在该姿势协同模式中占主要贡献[13-14]。
由图10a可以看出,当测试对象采取常规(对角线肢体准同步)手膝爬行过程中,所提取的第1种姿势协同模式中占主要贡献的关节是右肘、右腕、以及左膝、左踝关节,第2种姿势协同模式为主要包括左肘、左腕、以及右膝、右踝关节,可以看出,上述两种姿势协同模式主要涉及对角肢体上的关节,这与常规手膝爬行所采用的左上肢与右下肢、右上肢与左下肢准同步的运动姿态吻合;由图10b可以看出,当测试对象采取非常规(同侧肢体准同步)爬行姿态时,所提取的第1种姿势协同模式主要包括左肘、左腕、左膝、左踝关节,第2种姿势协同模式为右肘、右腕、右膝、右踝关节,上述两种姿势协同模式主要涉及同一侧肢体上的关节,这与上述同侧肢体准同步的“同手同脚”爬行姿态相吻合;类似的,由图10c可以看出,当测试对象采取“兔跳样”手足爬行过程中,所提取的第1种姿势协同模式涉及上肢(左肘、左腕、右肘、右腕)关节,第2种姿势协同模式则主要包括下肢关节(左膝、左踝、右膝、右踝),上述两种姿势协同模式与爬行过程中上、下肢分离运动的“兔跳样”爬行姿态相吻合。
图10 不同爬行姿态所提取的关节协同模式示意图Figure 10 Schematic diagrams of inter-joint coordination pattern extracted from different crawling postures
综上所述,利用加速度信号以及矩阵分解算法提取的关节协同模式可以初步区分不同爬行姿态。在此基础上,可以进一步基于姿势协同矩阵(W)以及运动输入矩阵(H)选择合适的量化参数用于异常爬行姿态以及运动功能的评价。例如姿势协同矩阵W中不同关节之间的权重值、运动输入曲线H的特征(持续时间、峰值时刻)等参数,这些将应用于后续脑瘫患者的应用研究中。
5 结论
本研究初步实现了对人体爬行过程中四肢肘、腕、膝、踝关节等主要关节运动加速度信号的采集、传输以及存储,同时利用非负矩阵分解算法从上述关节运动加速度信号中提取得到的关节协同特征能够有效区分不同的爬行姿态。但是,需要指出的是,由于时间关系以及脑瘫志愿者招募的特殊性,尚未在脑瘫患儿上进行实际数据采集,而本设计则可以为后续脑瘫患儿异常爬行数据采集及运动功能障碍客观评价研究提供一定的数据采集条件和研究基础。