基于前臂表面肌电信号控制的智能小车设计
2016-01-04邢路宽杨显业梁恒诺阚江明
邢路宽 杨显业 梁恒诺 阚江明
摘 要:主要构建了一种基于前臂表面肌电信号控制的智能小车,包括前臂表面肌电信号感知层、肌电信号分析层,智能小车控制层和小车硬件层,前臂表面肌电信号感知层通过4路肌电信号传感器感知掌长肌、肱绕机、指伸肌、指侧腕伸肌的4个位置的肌电信号并传输给肌电信号分析层;在肌电信号分析层对4路肌电信号进行预处理、特征计算和给予支持向量机的模式分类,识别前臂的6个动作,并将识别结果通过无线传输给智能小车控制层;在智能小车控制层根据前臂动作的识别结果驱动电机转动。实验表明,所开发的智能小车可以识别不同手势,完成设计动作,为将表面肌电信号控制方式进一步拓展应用至其他实际工具提供了技术支持。
关键词:智能小车 表面肌电信号 PMW波模式识别
中图分类号:TP23 文献标识码:A 文章编号:1674-098X(2015)10(a)-0080-04
表面肌电信号由人体肌肉在人体动作时产生的生物电变化,是一种蕴含信息丰富,具有实时性,获取无损伤性的信号。在文献[1]中,我们可以看到在康复医学及智能假肢领域,肌电信号识别技术已经从实验室研究阶段走向临床商业应用阶段。但是在工业机械操作与实际生活中,表面肌电信号控制的应用并不多见,倘若可以使用表面肌电信号控制应用在工业设备上,便能够让操作人员通过更加直观的手势来取代纷繁复杂的按钮,也可以让手指和手掌有功能障碍的人,通过前臂来控制机械设备,将人与设备更好的连接在一起,使人的意识与机械电子设备相统一,从而达到人机一体化的效果。
该文尝试设计一种由表面肌电信号控制的智能小车,建立一种更加直观、有效的控制方式,从而进一步解放人类的双手,满足日益繁忙的工作任务。首先,本文第一部分介绍了智能小车整体设计;第二部分对小车的硬件结构及控制电路进行设计;第三部分设计了软件部分,包括:肌电信号分析处理及智能小车的无线传输协议、运动控制实现;第四部分,对智能小车在实际道路上的无线传输距离进行了测试;第五部分,对本文设计的智能小车控制效果进行了总结。
1 智能小车系统设计
小车分类基于SVM支持向量机分类识别技术,智能小车的整体系统设计结构如图1,其系统结构主要划分为4层,分别是:前臂表面肌电信号感知层、肌电信号分析层、智能小车运动控制层、小车硬件层。
第一层是前臂表面肌电信号感知层:我们选择人体右前臂表面的4个位置,在完成6个动作时所发出的表面肌电信号收集并保存。
第二层是肌电信号分析层:将所获取的肌电信号转入MATLAB数学矩阵分析软件进行分析。通过预处理,滤除噪声,特征值提取后,进行分类识别,后将分类识别的结果通过无线模块传输发送给智能小车的主控芯片。
第三层是智能小车控制层:小车主控芯片收到肌电信号分析层所得出的分类识别结果后,按照提前制定的通讯协议执行指令,之后对电机驱动板输出控制电平,最终让电机驱动板驱动电机运动,电机带动小车完成动作。
第四层是小车硬件层:由小车主要硬件部分组成,分别是小车承重板,小车下底盘,小车电机、小车轮、小车减震弹簧、小车电池组以及万向轮,7个硬件部分组成。3D结构如图2所示。
2 前臂肌电信号采集
在收集试验中,我们使用上海均康医用设备有限公司生产的JK-1(A~H)贴片电极,肌电采集器我们选用成都仪器厂生产的RM6240B型多通道胜利信号采集系统。采集时,我们选取掌长肌、肱绕机、指伸肌、指侧腕伸肌4块目标肌肉的肌腹位置。采集6种手势(握拳,展拳,手掌上切,手掌下切,手掌左切,手掌右切)的信号保存。并且为了扩大样本广泛性,我们建立静态肌电信号库,采集不同年龄、不同性别、不同体重的20个人,每个人测量6个动作,每个动作采集10次,共计1200个肌电信号。
3 智能小车控制硬件设计
3.1 小车动作硬件实现
考虑到小车载人代步功能,我们参考市场上电动车的电动机,我们选择36V,350w的有刷直流电机两台,设计两台电机一左一右放置,两台电机同时向前或向后转动,就可以实现前进后退的动作,调整两台电机的转速,在两个车轮之间形成差速,完成小车的左转右转的动作。小车的硬件工作流程图如图3所示。
肌电信号分析层的将分类结果通过无线传输发送至下位机的NFR24L01无线模块,无线模块将所接收的结果转化为TTL电平传输至STM32主控芯片,STM32将无线模块传输的结果与无线通讯协议相对照,对照后,通过自身丰富的I/O口引脚资源对电机驱动板电机驱动板输出电平,调节电机的转向,完成小车动作。
3.2 主控芯片的选择
文中设计的小车采用意法半导体公司生产的STM32F103ZETT6,用来完成指令识别对比、小车动作控制、外部通信拓展3个任务。它采用的是Cortex-M3内核。Cortex-M3是一种32位嵌入式RISC处理器,工作频率可达72 MHz,能实现高端的运算。内置有2个基本定时器,4个通用定时器,高速存储器(高达512 kB的闪存和64 kB的SRAM)且具有112个通用I/O口和连接到3条SPI总线的外设,对其外设的配置可带来极好的控制和联接能力。处理器可根据系统设计要求进行合理优化,工作电压可以再2.0~3.6 V之间,在3.3 V的供电电压下,其典型的消耗电流仅为1.4 μA。
3.3 硬件电路设计
3.3.1 电机驱动电路
智能小车行驶动力来自于前轮的两个有刷直流电机,转向利用两个电极差速转向,所以我们需要根据电机输入需要,要求电机驱动板可以提供足够的正电压和负电压驱动电机。本智能小车采用直流半桥驱动电路来控制电机的双向运动,而且电路功耗低,并且持续稳定的智能小车提供足够的动力。两个直流有刷电机额定电压为36 V,额定电流为12.4 A,额定输入功率为350 W,基于以上参数,我们选择工作电压4~41 V,MOSFET管峰值电流为110 A,输出功率最高540 W的半桥驱动器,利用2对半桥电路驱动2个电机,调整MOSFET管的导通状态,使两台电机完成正反转的动作,并且利用智能小车STM32主控芯片提供定时器功能中的PMW调制功能,调整输入电机驱动电路的PMW波的占空比来控制电机转速。
3.3.2 无线通信电路
现如今无线传输技术日趋成熟,常用的主要有超宽带技术、IrDA技术等,但IrDA技术传输速率低,超宽带技术开发难度高,并不适合小车使用。所以,我们选用传输速率高、成本低、功率小、体积小的NFR24L01的无线通信模块来构架智能小车的无线传输系统。
模块简介如下。
(1)低功耗1.9~3.6 V工作,待机模式下状态为22 μA;掉电模式下为900 mA。
(2)模块工作于Enhanced Shock Burst,具有Automatic packet handling,Auto packet transaction handling,具有可选的内置包应答机制,极大地降低丢包率。
(3)模块内置硬件CRC,检错和点对多点通信地址控制。
NFR24L01无线传输模块采用标准的AT指令控制。可以采用串口中断接受数据的模式,我们设计了串口缓存,而且ARM指令集中提高了CMP指令,可以通过判断关键字来判断解析命令。NFR24L01模块通过AT指令设置收发地址。按照一定步骤可以建立一对点对点的通讯机制。
3.3.3 电源电路
文中设计的智能小车,内耗主要为控制电路和电机驱动电路两部分。主控制器电源为+3.3V,而电机驱动芯片以及电机则需要的电压+40V,故我们选择+40V的锂电池作为电机与电机驱动芯片的驱动电源,而利用+3.3V的恒压充电电源作为主控芯片的电源,2个电源分别供电,防止电压过大时,烧毁主控芯片。
4 智能小车控制软件设计
智能小车软件是智能小车的逻辑控制部分,在本部分当中,我们设计了肌电信号识别软件和小车控制软件。
4.1 肌电信号分析软件
肌电信号分析层由:预处理,特征值计算,SVM支持向量机分类识别,最终通过无线模块向下位机发送指令。信号分析与识别的详细研究请见《基于支持向量机的前臂表面肌电信号动作识别方法》。
4.2 小车动作控制软件
控制软件基于windows操作环境,利用Keil ? vision 4软件,利用C语言格式编写。
本程序主要实现2个功能:PC机与智能小车之间的无线应答,小车接受指令后执行动作。它包含的控制设备有:NFR24L01无线模块,主控芯片内部时钟,I/O管脚。
上位机与智能小车之间的应答:通过主控芯片将无线模块初始化之后,一直使无线模块处于接收状态,在接收到之后,先于无线通讯协议进行对比,判断是否存在相对指令,有则执行并且返回识别结果,例如返回“前进指令收到”,无则返回“无效指令”,通过上位机与智能小车之间的无线应答机制,可以实时观察对小车控制,避免了错误指令的执行,使控制更加精确。
执行动作:当无线模块接收到了命令之后,并且判断存在相应有效指令之后,通过对主控芯片对电机驱动板的I/O口输出电平与内部时钟PMW波输出,电机驱动板驱动电机完成动作。具体软件流程见图4所示。
4.3 无线控制协议设计
通过模式识别之后,大多数所得的指令都是相对应的数值,或者是矩阵形式的数据结果,智能小车对此无法做出快速的反应,所以,我们需要将生物信号转化成数字信号后,进行分析,再将分析用的数字信号结果转化为对应的机器语言,所以,建立一个简单实用的传输协议至关重要。
4.3.1 指令的传输协议
STM32主控芯片中的提供的比较指令CMP,CMP指令格式为:
CMP{条件}{P}
CMP指令允许把一个寄存器中的内容与另外一个寄存器中的内容或立即值进行比较,更改状态来进行条件允许。如此,CMP指令与IF条件语句配合,我们就可以将指令与协议进行比较,执行正确的指令。
4.3.2 指令帧格式
完整的指令帧格式主要由于本智能小车利用主控制器芯片中的对比函数经行指令的识别,函数规定发送32个字母组成字符串后,进行对比,选择相应命令进行执行。所以,智完整命令帧当中,共包括:数序字头8byte,地址8byte,有效的命令数据4byte,还有最后的CRC校验码,共4个部分。(见表1)
4.3.3 动作与指令协议
智能小车共有6个动作,分别对应人体相对的6个动作(见图5):即前进——小臂向前伸直,后退——小臂向后勾,左转——手掌向左偏,右转——手掌向右偏,停止——手掌握拳,减速——手掌向下切。
对应的小车动作的指令如表2所示。
5 实验及测试
通过实验验证系统实现无线控制的可行性。实验具体是:智能小车、无线传输模块、PC模式识别三部分。其传输距离实验具体事实如下。
无线射频模块NFR24L01理论最大传输距离是100 m左右,但是安装在智能小车上之后,传输距离肯定会受到小车结构的影响,或者是其他环境因素的干扰,所以,我们将无线模块直接安装在小车上,在实际道路中进行测试。
由于复杂的地形及其环境因素,信号衰减较严重,小车接到信号的时间变长,并且在距离PC模式识别部分32.1 m后,开始出现丢失指令,当小车的运动范围进一步扩大时,对小车的控制就变得困难,需要多次发送指令后,小车才会产生动作,并且小车反应明显迟钝,失去了控制的意义。
最终,小车在距离PC模式识别部分52 m时,出现无法接受指令控制的极限距离。
6 结语
该文设计了一种利用人体肌肉信号作为控制信号源的无线智能小车,实现了人-车之间的人机交互。该智能小车采用ARM系列的STM32芯片作为主控芯片,具有无线通信,指令识别。本论文的主要工作主要有以下几个方面。
(1)设计了基于ARM系列的STM32小车运动硬件控制系统,主要包括:电源电路、控制系统电路、无线通信系统、电机驱动电路,使用Keil ? vision 4完成了小车软件设计。
(2)设计了小车的软件部分:利用MATLAB矩阵分析软件设计了信号分析识别软件使用Keil ? vision 4完成了小车软件设计。
(3)在智能小车内部建立了无线协议,利用NFR24L01模块建立智能小车的无线通讯系统。
(4)通过实验测的小车在实际使用状态下的无线传输有线距离,约为26 m,无线传输极限距离为32.1 m。
同时本论文设计的智能小车为今后更加复杂的智能小车的设计提供了平台与拓展,也为手指或者手掌功能障碍的人群控制车辆或者其他提供技术支持。
参考文献
[1] 许宏,张怡,陈锡爱,等.远程半自主机器人监控系统的设计及实验[J].机器人,2010,32(1):127-131.
[2] 张锴,李世光,朱晓莉,等.基于STM32的智能巡线小车[J].电子测量技术,2012,35(2):105-107.
[3] M.S.Hussain,Md.Mamun. Effectiveness of the Wavelet Transform on the Surface EMG to Understand the Muscle Fatigue During Walk[J].Measurement Science Review,2012,12(1):28-33.
[4] 冯蓉珍.基于ATmega128的智能机器人小车控制系统设计河北软件职业技术学院报[J].2012,14(1):39-41.
[5] 郑一维,李长俊,吴讯驰,等.基于STM32的电能质量检测技术研究[J].国外电子测量技术,2011,30(6):73.
[6] 田建勋,陈香,李云,等.一种基于加速度和肌电信号融合和同济语言模型连续手语识别方式[J].中国生物医学工程报,2011,30(3):333-339.
[7] 丁其川,赵新刚,韩建达.基于肌电信号容错分类的手部动作识别[J].机器人, 2015,37(1):10-16.
[8] Kyoung-Jin Yu,Kab-Mun Cha,Hyun-Chool Shin。Maximum likelihood method for finger motion recognition from sEMG signals[C]//ICBME,2008,Proceedings 23,2009:452-455.
[9] 邹晓,阳雷敏.基于多尺度最大李雅普诺夫指数的表面肌电信号模式识别[J].中国生物医学工程学报,2012,31(2):7-12.
[10] 李晶,邵忍平,王伟,等.基于抓握可靠性的肌电控制假手优化和动态性能研究[J].机械科学与技术,2014,33(7):966-970.
[11] 陈玲玲.基于支持向量机下肢肌电信号模式识别的研究[D].天津:河北工业大学,2006.
[12] 吴冬梅,孙欣,张志成,等.表面肌电信号的分析和特征提取[J].中国组织工程研究与临床康复,2010,14(43):8073-8076.
[13] 加玉涛,罗志增.肌电信号特征值提取综述[J].电子器件,2007,30(1):327-330.
[14] 杨广映.基于支持向量机研究肌肉多运动模式识别[J].2008,12(35):6844-6846.
[15] 胡明霞.表面肌电信号识别特征提取方法的仿真研究[J].2013,30(5):345-350.