基于手臂表面肌电信号的智能小车控制系统*

2017-10-29 09:03:00晋晓飞王浩陈媛王鹏程
生物医学工程研究 2017年4期
关键词:曲臂左臂电信号

晋晓飞,王浩,陈媛,王鹏程

(1.南京航空航天大学航天学院仿生结构与材料防护研究所,南京210016;2.南京航空航天大学自动化学院生物医学工程系,南京210016)

1 引 言

表面肌电信号(surface electromyogram,SEMG)是人体骨骼肌表面通过电极记录下来的神经肌肉活动产生的生物电信号[1],是人体神经、肌肉等运动组织功能状况的一种直接反映。表面肌电信号由于无创性以及信号处理方法灵活,已广泛应用于临床医学、人工智能、康复医学治疗等方面[2],尤其是在假肢等智能康复辅具方面的应用,成为假肢控制的理想信号源[3]。国外对肌电信号的研究逐步从实验室研究阶段走向临床应用阶段。一些商业化假肢产品,如德国Otto Bock公司研发的Sensor Hand,英国Touch Bionics公司研发的i-Limb手也都陆续投入市场,i-Limb手具有5个独立控制的手指,能完成开锁、开易拉罐等精细动作[4-5]。但是在机械操作和实际生活中,将肌电信号用来控制终端设备的应用研究还相对较少[6]。如果可以通过表面肌电信号来控制机械设备,让有运动功能障碍的人通过手臂来控制护理设备(如轮椅),使人的意识与机械设备统一,实现人机一体化。

本研究设计一种基于手臂表面肌电信号的智能小车控制系统。提取手臂表面肌电信号并分类识别,编码形成控制指令;受控端安装于智能小车,可无线接收并解码控制指令,实现对小车运动状态的实时调控。本设计将为生理电信号控制更复杂终端设备的应用研究打下基础。

2 智能小车控制系统整体框架

智能小车整体控制系统分为三部分,见图1。分别是:手臂表面肌电信号采集处理层、信号识别与指令编码层、智能小车控制层[7]。

手臂表面肌电信号采集处理层:选取人体左臂表面的三个肌肉部位,采集左臂四种动作下这三个肌肉部位的表面肌电信号并进行预处理。

信号识别与指令编码层:对预处理后的肌电信号进行特征提取、分类识别,并进行控制指令的编码和无线传输。

智能小车控制层:小车主控芯片接收到控制指令,根据提前制定好的通讯协议执行指令,调控电机驱动模块的PWM占空比,从而驱动电机运动,最终使小车完成相应的动作。

图1 智能小车整体控制系统Fig 1 Integrated control system of intelligent vehicle

3 采集部位的选择与信号特征的提取

3.1 采集部位的选择

人的手臂有很多的肌群,比如肱肌肌群、屈肌肌群、伸肌肌群等,并且在不同的关节部位还细分出许多小的肌群,如伸肌就有桡侧腕伸肌、指伸肌、拇长伸肌等[8]。在肌群部位选择实验中,本研究使用RM6240BD多通道生理信号采集仪作为肌电采集器,使用915S50型号的银/氯化银贴片电极。经过对左臂主要肌群的表面肌电信号采集和对比分析,可以发现当左臂做出曲臂、左勾、右勾、自然下垂动作时,肱二头肌、掌长肌、尺侧腕伸肌三个部位的表面肌电信号具有各自明显的特征。人体左臂肌群见图2,肌电信号采集实验见图3,左臂动作演示见图4。

图2 左臂肌群图Fig 2 Left arm muscle group

利用RM6240BD多通道生理信号采集仪,在左臂做出曲臂、左勾、右勾、自然下垂四种动作时,对左臂尺侧腕伸肌(第1通道即红色波形通道)、掌长肌(第3通道即蓝色波形通道)、肱二头肌(第4通道即紫色波形通道)进行肌电信号采集,采集到的肌电信号波形见图5。

图3 肌电信号采集实验Fig 3 EMG signal acquisition experiment

图4 左臂动作演示Fig 4 Left arm action demonstration

图5 a.曲臂状态下的左臂表面肌电信号;b.左勾状态下的左臂表面肌电信号;c.右勾状态下的左臂表面肌电信号;d.自然下垂状态下的左臂表面肌电信号。Fig 5 a.Left arm surface EMG under bending;b.Left arm surface EMG signal under left hooking;c.Left arm surface EMG signal under right hooking;d.Left arm surface EMG under natural drooping

由图5可知,在左臂做出曲臂动作时,三个部位中只有肱二头肌部位的肌电信号出现较大变化,且变化特征明显;在左臂做出左勾动作时,三个部位中只有尺侧腕伸肌部位的肌电信号出现较大变化,且变化特征明显;在左臂做出右勾动作时,三个部位中只有掌长肌部位的肌电信号出现较大变化,且变化特征明显;在左臂自然下垂时,三个部位的肌电信号均未出现明显变化。这样就容易区分出左臂的左勾、右勾、曲臂、自然下垂四种动作状态。这说明以幅值为特征对肌电信号进行分类识别并加以利用来控制一些终端设备是可行的。

3.2 阈值法对SEMG进行特征提取

由图5可知,当左臂做出曲臂、左勾、右勾动作时,三个肌肉部位的表面肌电信号的幅值跟自然下垂时相比会出现较大的变化。基于此,本研究提取这三路表面肌电信号的幅值作为特征值。曲臂时,只有肱二头肌处的表面肌电信号出现较大变化,其他两通道无明显变化;左勾时,只有尺侧腕伸肌处的表面肌电信号出现较大变化,其他两通道无明显变化;右勾时,只有掌长肌处的表面肌电信号出现较大变化,其他两通道无明显变化;自然下垂时,三路肌电信号均未出现明显变化。且当左臂做出其他动作时,未能出现如上述四种动作时的表面肌电信号变化情况。基于此,设置三路阈值,分别为myValue[0](肱二头肌),myValue[1](掌长肌),myValue[2](尺侧腕伸肌);采集到的三路表面肌电信号幅值分别用 Value[0](肱二头肌),Value[1](掌长肌),Value[2](尺侧腕伸肌)表示。

选取合适的阈值,以阈值构建判别组合,作为四种动作下肌电信号的识别依据,且可排除其他动作的影响。曲臂、左勾、右勾、自然下垂四种动作识别结果见表1。

表1 曲臂、左勾、右勾、自然下垂四种动作下肌电信号识别结果Table 1 EMG signal recognition results of four kinds of actions:bend,left hook,right hook and natural droop

4 信号采集与识别、控制指令编码与传输

4.1 信号采集与识别

本设计采用无锡思知瑞科技有限公司生产的单通道肌电传感器来采集上述三个部位的表面肌电信号,该传感器放大模块为AD8221,增益设置为50 KΩ,采用差分放大,并且含平滑、整流等电路,可以完成对肌电信号的预处理,单通道肌电信号传感器见图6。控制芯片采用Arduino UNO开发板,其处理器核心是ATmega328,预设采样频率为9600 HZ,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入[9]。三个单通道肌电传感器分别采集三个部位的肌电信号,采集端连接见图7。利用Arduino的软件操作环境Arduino IDE,用Processing设计出一个可视化界面来选取阈值。首先,肌电信号经AD转换为10位的数字信号,其范围为0~1024。采样频率为9600 HZ即每秒采样9600个点,为了更形象的描述肌电信号的幅值变化情况,设置6个采样点作为一组数据,这6个采样点的肌电信号幅值可以显示在经Processing编程后产生的可视化界面中。随着肌肉的收缩或舒张,可视化界面中的6个幅值也会随之变化。幅值可视化界面见图8。

图6 单通道肌电传感器Fig 6 Single channel EMG sensor

图7 采集端连接示意图Fig 7 Connection diagram of acquisition side

图8 幅值可视化界面a,b:肌肉收缩前后肌电信号幅值变化Fig 8 Amplitude visualization interface a.b:Changes of EMG signal amplitude before and after muscle contraction

利用该可视化界面可以掌握曲臂、左勾、右勾、自然下垂四种动作下的肌电信号幅值变化。以一名成年男性和一名成年女性为实验对象,采集多次左臂动作下的肌电信号,进行测量对比,最终确定出三路肌电信号的阈值,分别是myValue[0]为375,my-Value[1]为325,myValue[2]为325。当六个采样点的幅值全超过阈值时(图8中黑色线即为设置的阈值标识),即 Value[i]>myValue[i](i=0、1、2)。

4.2 控制指令编码与传输

4.2.1 控制指令编码 选取出三路肌电信号阈值后,即可完成对左臂动作的识别,接下来要进行小车控制指令的编码。肌电传感器将三路肌电信号输出到Arduino UNO开发板,在此对左臂动作完成识别后,进行指令编码。智能小车共有4个动作,分别对应左臂的4个动作:前进对应曲臂,左转对应左勾,右转对应右勾,停止对应自然下垂。对应的小车动作的指令见表2。

表2 左臂动作、对应指令、小车动作Table 2 Left arm action、corresponding instruction、vehicle action

4.2.2 控制指令的无线传输 无线传输模块采用nRF24L01。nRF24L01是一款单片射频收发器件,工作于2.4~2.5 GHz ISM频段[10]。进行指令编码的Arduino与一块nRF24L01连接在一起,作为指令的发射端;另一块Arduino连接另一块nRF24L01作为指令的接收端。预先制定通讯协议,发射表2中对应指令的ASCII码,在接收端进行解码。通过主控芯片将无线模块初始化之后,使无线模块一直处于接收状态,在接收到指令后,先与无线通讯协议进行对比,判断是否存在相对指令,有则执行并且返回识别结果,例如返回“前进指令收到”,无则返回“无效指令”,通过无线应答机制,避免错误指令的执行,使对小车的控制更加精确。

5 智能小车动作实现

在4.2.2中,另一块Arduino连接另一块nRF24L01作为指令的接收端。接收端接收到控制指令后,需要调控小车完成相应的动作,这就需要设计好小车动作的调控硬件。小车整体硬件见图9。

5.1 小车动作调控硬件实现

选择HC02-48直流减速电机两台,一左一右放置。两台电机同速向前,小车就可以实现前进;调整两台电机的转速,在两个车轮间形成差速,左边电机转速大于右边,小车右转;右边电机转速大于左边,小车左转。

图9 小车整体硬件Fig 9 Overall vehicle hardware

智能小车有两个前轮加一个万向轮,行驶动力来自于前轮的两台直流减速电机,利用两个电机差速实现转向。智能小车控制系统采用L298N电机驱动模块调控电机。L298N驱动模块可驱动46 V、2 A以下的电机,启动性能好,启动转矩大,可实现电机正反转及调速,适合应用于机器人设计及智能小车的设计[11]。利用Arduino单片机的PMW输出功能,通过调整电机驱动电路的PMW占空比来调控电机的转速,从而实现小车的转向。

6 系统测试

通过实验验证整个智能小车控制系统的可行性,主要验证肌电信号动作识别的准确率。选取实验室6位同学为实验对象,三男三女,每人每个动作随机做10次,每个动作保持3 s,每两次动作间隔3 s。经验证,肌电信号动作平均识别率达到80%以上;其中,曲臂的识别率达到了91.67%,左勾的识别率达到了80%,右勾的识别率达到了85%,自然下垂的识别率达到了100%。具体实验数据见表3。且整个控制系统的实时性较好,手臂动作与小车运动应答机制良好,系统延迟保持在1 s以内。

表3 动作识别实验数据Table 3 Experimental data of action recognition

7 结束语

本研究设计了一种基于手臂表面肌电信号的智能小车控制系统,该系统控制方法简单,可操作性强,实时性好。初步完成了肌电信号控制终端设备的验证工作,并为生理电信号控制更加复杂的终端设备提供了平台与基础。但本系统也有不足之处,如对肌肉动作强度要求较大,操作久了人会比较累,且肌肉疲劳会减小肌电信号的幅值特征,从而影响系统的稳定性,这是以后工作中急需改进的问题。

猜你喜欢
曲臂左臂电信号
用于吸塑机的曲臂式成型机构设计与仿真
基于联合聚类分析的单通道腹部心电信号的胎心率提取
某船推进柴油机曲臂差调整关键技术
中国修船(2021年3期)2021-08-04 08:11:00
基于Code Composer Studio3.3完成对心电信号的去噪
科技传播(2019年24期)2019-06-15 09:29:28
基于随机森林的航天器电信号多分类识别方法
蝴蝶仙女
王天海诗选
彝良文学(2016年1期)2016-04-25 07:23:16
炉前设备开口机曲臂改造分析
冶金设备(2015年1期)2015-01-13 09:53:14
基于生物电信号的驾驶疲劳检测方法
汽车电器(2014年8期)2014-02-28 12:14:29
江边取水干线曲臂管振动大分析与处理