APP下载

基于语音控制的智能假手系统

2015-01-04李致金郝一飞胡鸣蕾

电子设计工程 2015年12期
关键词:指关节假肢寄存器

乔 杰,李致金,郝一飞,胡鸣蕾

(南京信息工程大学 江苏 南京 210044)

智能假肢没有明确的定义,其具体评价指标也是随着假肢技术进步而不断提升的。实际上,假肢本身是一种机械/机电产品,之所以冠以智能是强调其具有主动适应外部条件变化的能力[1]。目前假肢的智能水平都还是非常初级的。随着机械、电子信息、传感器等技术的发展,截肢者对假肢提出了更高的要求。国内外的一些研究机构已经开展了相关的研究并取得了一些进展,能够主动伸膝的动力膝关节、运动灵活精巧的多指多自由度假手等高性能智能假肢也逐渐推向市场[2]。本文在采用基于语音信号控制的基础上,对智能假手控制做了进一步的设计与研究。

1 系统设计

本系统设计中,智能假手的动作命令由安装假手的人(以下简称装手者)通过语音命令控制。例如,装手者发出“抓握”的命令,语音识别模块识别“抓握”语音命令后,将其转换成主控系统能够识别的数字信号,通过串行接口传递给主控系统。主控系统采用新颖的Arduino控制模块,Arduino基于开放原代码Simple I/O平台。主控系统发送相应“抓握”命令给指关节控制模块。指关节控制模块控制五个指关节电机的转动,从而弯曲手指,实现抓握。在每个指关节上装有灵敏的压力传感器,当手指抓握物品后,压力传感器受力并将压力信号通过指关节控制器传送给主控系统。主控系统根据预置的抓取物品的专家系统,再向指关节控制系统发送调整后抓握数据,实现可靠的抓握动作。系统设计框图如图1所示。

1.1 语音识别模块简介

图1 系统设计框图Fig.1 Block diagram of system

语音识别技术是把语音信号转变成相应的文本或命令,从而使机器识别和理解的一种技术。语音识别技术可分为两类:一为对特定发音者的模式识别,使用前需要进行简单的训练;二为对非特定发音者的模式识别,无需训练,任何人都可使用。LD3320语音识别模块[3]具有以下特点:1)非特定人的语音识别技术:不需要进行录音训练可直接使用;2)具有可动态编辑的识别关键词语列表。只要把识别的关键词语以字符串的形式输进芯片,就可以在下次识别中即刻生效。除此之外,该芯片的关键词语列表编辑极为方便,只需把相应关键词的汉语拼音写入程序指定位置即可;3)内置高精度A/D、D/A通道,不需外接AD芯片,麦克风可直接接在芯片AD引脚上;4)高准确度实用语音识别效果。

本系统中LD3320语音识别模块通过麦克识别语音后发送到语音指令处理系统,如图1所示。语音信号经过处理后转换成相应数字信号,再通过串行接口RX、TX发送到Arduino控制模块中。

在语音识别模式中,识别的质量和有效作用距离与麦克风的质量有较大的关系。麦克风的质量决定了入送识别芯片的距离,即也决定了语音识别效果的距离。LD3320语音识别系统中MIC的增益、对周围声音强度的灵敏度、以及响应速度都可通过内置的寄存器调节。说话人的嘴巴离麦克风的距离一般应该在0.5米以上,再接近可能会产生过激响应[4]。如果增加灵敏度、扩大识别距离,调节相应的寄存器设置值可以实现效果,但会导致识别率的下降,所以合理地设置寄存器的数值是非常重要的。LD3320语音识别模块外围接口如图2所示。 图2中,VDD为数字电路用电源输入,电压范围3~3.3 V。VDDIO为数字I/O电路用电源输入,电压范围1.65 V-VDD;VDDA为模拟电路电源输入,电压范围3~4 V。VDD电源必须和主控系统arduino控制模块电源共地,否则串口传输数据可能出现无法传输的问题[5]。

图2 LD3320接口图Fig.2 LD3320 interface circuit

LD3320芯片通过8根数据线(P0-P7)与主控系统CPU并行连接,通过 4个控制信号(WRB*,RDB*,CS*,A0)和一个中断返回信号(INTB*)实现与主控系统CPU之间的数据读写。 LD3320串行接口通过SPI协议与外部主CPU连接。

1.2 主控系统

本系统采用Arduino模块[6]作为系统的总控制部分,Arduino模块采用低价格微处理控制器(AVR系列)作为核心控制芯片,内置多种外围信号接口。输入部分可直接完成与传感器连接,输出部分可直接驱动伺服或步进马达。同时,Arduino模块开放源代码电路图设计,程序开发接口可以免费下载,也可根据自己需求修改。本系统中采用Arduino uno R3,内部最小系统电路图如图3所示。

Arduino模块内置14路输入输出口,工作电压5 V,每一路可输出和接入最大电流40 mA。每一路配置有20-50K内部上拉电阻。6路模拟信号输入口,每一路可实现10位的A/D转换。接口输入电压默认输入信号范围为0到5 V。如需改变,可通过AREF调整输入电压的上限。

1.3 指关节控制模块

本系统在设计中,指关节动作由舵机实现。舵机由舵盘、位置反馈电位器、控制电路和伺服电机构成。伺服电机驱动位置反馈电位器,位置电位器变化反映指关节位置的变化。位置电位器的转角线性地转换成为电压并反馈给控制电路,控制电路会把反馈信号和输入控制脉冲信号做一个比较,从而产生纠正脉冲,驱动伺服电机正向或反向转动,使指关节的位置与期望值相符。其工作原理框图4所示。

图3 Arduino模块最小系统电路图Fig.3 Minimum system circuit diagram of Arduino

图4 舵机设计框图Fig.4 Block diagram of servo system

1.4 传感器模块

为了反馈假手抓握物品情况,保护假手和物品不受压力过大而损坏,本系统在设计中,每个指尖上都装有一个压力传感器FSR402。FSR402压力传感器采用聚合体薄膜力敏电阻材料,对其表面的正压力十分敏感,能够精确地将压力信号转换成电压信号[6]。FSR402传感器为贴片式,体积小,精度高,灵敏性好,使用非常便捷。FSR402压力传感器接出3个引脚,分别为模拟电压输出端子,电源正、负端子,其连接电路示意如图5所示。

本系统设计中将图5中的模拟电压输出端子接在相应的A/D转换模块中,实现压力模拟信号到数字信号的转换。因本系统中,每个假手有5个手指,因此主控系统中设计有5路的A/D转换接口电路。

图5 传感器连接电路Fig.5 Connection circuit of sensor

2 软件设计

本系统软件设计主要包括两部分,一部分为语音识别的程序;一部分是主控系统的控制程序,本文主要阐述语音识别程序部分。语音识别程序基于C语言编程[7],识别的过程如图6所示。

图6 语音识别过程图Fig.6 Block diagram of speech recognition

语音识别可以用中断方式或查询方式工作。系统初始化后,将相关数据写入相应的寄存器中。系统读取寄存B2H的值,若其值是21H即表明已有识别结果产生。初始化的流程图如图7所示。

图7 初始化流程图Fig.7 Flow diagram of initialization

当麦克风采集到声音后,则不管识别结果是否正确,都将产生一个中断信号。中断程序通过寄存器的值来分析结果。读取BA寄存器的值,知道候选答案个数。特别的,C5寄存器里的答案是正确可能性最大。如发音为“抓起”并被成功识别(且无其他候选),那么 BA寄存器里的数值是1,而C5寄存器里的值是对应的编码3。识别流程图如图8所示。

图8 语音识别流程图Fig.8 Flow diagram of speech recognition

3 结束语

本系统实现了通过语音识别控制假手的动作,可实现较为复杂的手指动作,可为截肢提供有益的帮助。当然假手要想代替部分人手的功能还要在智能和仿生两方面做进一步的研究。仿生方面分为运动仿生和控制仿生,这两方面始终是假肢研究的核心问题。前者可以使假肢具有自然肢体的运动能力,后者可以使假肢系统的动作能随心所欲。目前机器人技术、生物信息、信息科学、生物材料、微型技术、显微外科、等多种领域中的新技术进展为假肢技术进一步发展创造了条件,相信在不久的将来,智能仿生假手一定会慢慢市场化。

[1]王人成,金德闻.仿生智能假肢的研究与进展[J].中国医疗器械信息,2009,15(1):3-5.WANG Ren-cheng,JIN De-wen.Research and development bionic and intelligent limb prosthesis[J].China Medical Device Information,2009,15(1):3-5

[2]王人成.假肢技术的研究热点及发展趋势[J].中国康复医学杂志,2005,20(7):483 WANG Ren-cheng.Research focus and development trend of limb prosthesis[J].Chinese Journal of Rehabilitation Medicine,2005,20(7):483.

[3]刘么和,宋庭新.语音识别与控制应用技术[M].北京:科学出版社,2008.

[4]冯成林,吴淑珍.一种噪声环境下的语音识别方法(线性预测误差法)的研究[J].北京大学学报:自然科学版,2000,36(5):665-671.FENG Cheng-lin,WU Shu-zhen.A study on noisy speech recognition (Linear Predictive Coding Prediction Error)[J].Acta Scientiarum Natrualium Universitatis Pekinensis,2000,36(5):665-671.

[5]童诗白,华成英.模拟电子技术基础[M].3版.高等教育出版社,2000.

[6]蔡睿妍.基于Arduino的舵机控制系统设计[J].电脑知识与技术,2012,8(15):3719-3721.CAI Rui-yan.Design of servo control system based on arduino[J].Computer Knowledge and Technology,2012,8(15):3719-3721.

[7]胡辉.51单片机原理及应用设计[M].北京:水利工程出版社,2003.

猜你喜欢

指关节假肢寄存器
分析切开复位微型钢板内固定术治疗掌指关节周围部位创伤骨折的效果
STM32和51单片机寄存器映射原理异同分析
唤起人工触觉 实现“意念控制”的假肢
装上假肢的动物们
Lite寄存器模型的设计与实现
手部动力支具治疗掌指关节侧副韧带挛缩的临床效果▲
一个给动物做假肢的专家
平乐郭氏正骨手法治疗嵌顿性掌指关节脱位21例*
掰指关节会导致关节炎吗?——NO
假肢适配重心对线技术的研究