基于表面肌电信号的机械臂运动控制
2022-10-03梁茜雅张庆国杨兴洋裴延卓万红强
梁茜雅 , 张庆国 , 杨兴洋 , 裴延卓 , 万红强
(上海工程技术大学,上海 201620)
0 引言
当人运动时,脊髓神经传输的是一种控制信号,这种信号通过神经肌肉接头传送给肌肉纤维,肌肉纤维通过两个过程,分别是去极化和复极化,在神经肌肉接头处产生动作电位,并且沿着肌肉纤维向两端传输,同时在外围组织产生电场,通过组织滤波,可以使用两种电极检测到动作电位,分别是针电极和表面电极,肌肉动作电位构成的曲线就是肌电信号。通过表面电极所获取的信号就称为表面肌电信号(surface electromyography, sEMG),表面肌电信号与神经肌肉运动有密切联系[1]。
表面肌电信号是指通过电子仪器设备检测到人体肌肉的静止或者收缩时的电信号,在生物医学、生物机械等领域有很好的应用价值,通过肌电图,人们可以做出各种肌病的诊断[2-4],通过人体表面肌电信号的特征分析可以控制假肢的动作[5]。同时,相关学者对类人手臂机械臂进行了运动控制研究[6],建立肌电信号特征与机械臂控制参数之间的对应关系,形成了完整的控制系统[7]。因此,表面肌电信号作为一种可靠的控制信号源被广泛地应用在康复医学中,包括疾病诊断[8]、康复训练监测[9]、义肢控制等[10]。本文所设计的系统采用sEMG传感器和IMU传感器对机体产生的信号和肢体运动信息进行相应的收集和信号处理,以实现机械手臂的控制。
1 信息采集装置
表面肌电信号是一种伴随着肌肉收缩产生的电生理信号,其中蕴含着丰富的运动学信息。由于这样的特性,表面肌电信号在智能人机交互领域有着相当广泛的应用前景,然而在其实际测量时,对信号采集设备的性能要求很高。本文采用差分电极采集人体表面的肌电原始信号,电极两侧对称分布,中间电极接地,两侧的电压值作差,可以得到相应肌肉的电位差。由于表面肌电信号本身幅值很小,且伴随着许多噪声,在采集后需要进行相关的预处理,以达到滤波和放大的作用。
1.1 sEMG信号采集与预处理
研究表明,表面肌电信号的频带范围主要集中在500 Hz以下,由此及采样定理,所需设备的采样频率必须大于等于1 000 Hz,由于设备通信传输负担会随着采样频率的增加而加重,因此本文选定的采样频率为1 000 Hz。
考虑到一般人皮肤表面的肌电信号本身的幅值很小,有实验表明其幅值在3 mV以下,故在实际采样前,必须对其进行放大处理,供后续模数转换器(Analog-to-Digital Converter, ADC)采样。此外,为了滤除噪声,电路中还需要添加相应的滤波器。具体的电路图如图1所示,共有六级电路。
图1 sEMG 预处理模拟电路
1)采集电极输入端。采用差分电极形式,作为电路的输入端共有三个接口,分别为接地端和两个人体皮肤相接触电极,采集对应位置的生物电流电势差。
2)差分放大器。采用典型的差分放大芯片
AD8236,有较高的信噪比,工作时稳定性很高,且在同类产品中功耗较低。考虑到在这一级放大电路中,应把肌电信号作差并适当放大,供后续环节。增益系数和参考电阻有以下关系:
3)高通滤波。用以排除低频噪声,主要是手臂运动尾迹和接触中的噪声,采用RC电路的形式,截止频率为20 Hz,其传递函数为:
4)放大器。由于第一级放大器的增益倍数仅由一个电阻决定,实际使用时,为了系统的稳定和调试的便捷性,将其放大倍数设为定值,另外增加一级放大模块。其增益函数为:
5)低通滤波。用以排除高频信号干扰,也采用RC 电路的形式,截止频率为340 Hz,其传递函数为:
则信号处理模拟电路传递函数为:6)抬升电压。由于肌电信号是一种在零位附近来回振荡的信号,对于只能采集正向电压的模块来说,在采集前必须将信号抬升至相应的基线,故本文使用了AD8603 作为电压抬升器,由运放的“虚短”和“虚断”原理可知:
1.2 IMU信号采集
为了能够进行机器人遥控操作,需要采集人体手臂的运动信息,因此在采集设备中加入了 IMU 模块。本文选择了性能较高、成本较低的MPU-6050芯片,该芯片融合了三轴MEMS陀螺仪和三轴MEMS加速度计。
1.3 通信及主控模块
主控在采集设备中发挥着至关重要的角色,整个设备是围绕主控来设计的,它需要能够使用AD采样sEMG数据、MPU-6050模块进行通信的同时,完成数据预处理、数据收发和其他一些外设控制。基于该要求,本文选择了 Nordic 公司的nRF52832芯片来作为设备的主控。
2 机械臂操作平台
为完成机械臂操作平台的搭建,本文选用了Jibot1-32六轴开源机械臂,自主组装搭建,如图2所示。
图2 机械臂操作平台
为满足机械臂操作要求,有以下设计需求:1)至少六自由度,以完成空间六自由度的运动。2)有一定载荷能力,至少负荷3 kg载荷。3)位置环、速度环和力矩环的响应稳定。
机械臂控制方案。通过穿戴传感器装置将信号采集,并输入数据处理单位,通过数据处理单位对波形的对比确定手势并输出。将输出的电频信号通过输出装置传送到机械臂,工作流程图如图3所示。
图3 机械臂工作流程图
测试方案如下:1)测试传感器控制下的机械臂的移动,计算识别率。2)测试抓起、放下动作,计算识别率。3)尝试简单地将物体从一个位置拿到另一个位置放下,计算识别率。4)反复重复实验过程,提高识别率。
3 实验测试
为验证该系统的有效性,本文专门设计了肌电信号采集与控制平台。肌电采集器佩戴在被测试者左小臂的上端,保持电极与手臂皮肤接触良好;机械臂为前文采用的多轴舵机控制机构,可实现三维移动和抓取动作。
令测试者的手臂自然放在平台上,同时舒展手指,保持整条手臂处于放松状态。此时,令系统工作,可见机械臂处于初始化状态,如图4所示。
图4 测试人员手臂放松状态
当被测试者握紧拳头,此时由于小臂肌肉收缩,相应肌电信号产生变化,通过先前的学习,输出相应的控制指令至机械臂控制器,通过单片机解析完成相应的动作,如图5所示。从实验测试效果来看,通过单片机训练的肌电信号可以有效提取对应的特征,并建立与机械臂对应的动作,并通过机械臂控制系统完成相应的动作。
图5 测试人员握紧拳头时手臂状态
4 总结
本文针对基于表面肌电信号的机械臂运动控制进行了研究,提取了表面肌电信号特征并分析,得到了肌电信号与手臂动作的对应关系;同时采用MATLAB仿真建模了Jibot1 机械臂,通过运动学求解控制各个关节角度参数。构建了基于机械臂的实验系统,最终实现机械臂的运动控制。实验结果表明,本文建立的基于表面肌电信号机械臂系统能够实现运动控制,为义肢的研究提供了一定的参考。