




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文章编号:1002-8684(200810-0068-04基于语音识别远程控制机器人系统设计与实现李书贞,施玉霞(南京航空航天大学自动化学院,江苏南京210016【摘要】通过对语音识别、网络通信与智能机器人运动控制的综合应用,成功地设计和实现了语音远程控制智能机器人系统。操作者将语音指令输入到客户端,识别后通过Socket机制将指令传送给智能机器人,使之按指令完成运动。实验验证了语音远程控制智能机器人运动的准确性和实时性。【关键词】语音识别;网络通信;智能机器人;Socket【中图分类号】TN912;TP24【文献标识码】ADesign and Realization of Remote Di
2、stance Control Robot Based on Voice RecognitionLI Shu-zhen,SHI Yu-xia(College of Automation Engineering,Nanjing University of Aeronautics and Astronautics,Nanjing210016,China【Abstract】A system of voice-remoted intelligent robot is designed and realized by using of voice recognition,net communication
3、 and motion control of intelligent robot.User can input the voice command to client,then the recognized command is transferred to intelligent robot by socket mechanism to achieve its motion.Experimentations illustrate the accuracy and real-time of intelligent robot motion controlled by voice-remoted
4、.【Key words】voice recognition;net communication;intelligent robot;Socket·系统设计·1引言与机器进行语音交流,让没有意识的机器明白所说的,这是人们长期以来梦寐以求的事情。语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本活命令的高级技术。具有远距离控制功能的基于网络的远程机器人在海洋探测、军事及人类自身不能到达的各种危险和特殊场所具有独到的作用。结合语音识别与网络通信技术,笔者在四自由度的AS-MRobotE机器人平台上,利用其提供的软件编程接口设计了可对其进行语音远程实时控制的系统,并
5、给客户端和服务器提供了新的控制界面。2系统组成计算机已广泛应用到控制领域,控制系统要求具有高的稳定性、可靠性与实时性。作为控制系统的核心,计算机自身的稳定性和可靠性是整个系统的关键。Linux稳定性高,能较容易地构造出满足实时性要求的操作系统,把Linux运用到控制领域,将大大提高控制系统的性能;工程中的应用软件大多数是以Windows 为平台开发的,同时,Windows应用广泛,操作方便,因此,在一个完整的应用系统中,同时使用Windows和Linux,合理地配置资源,各取所长,是实现系统高性能的有效途径之一1。语音远程控制机器人系统可以分为本地语音识别发送端和远程机器人控制端,即客户机和服
6、务器。本地语音识别发送端对用户的语音信号进行识别,并把识别结果通过网络传输给远程机器人控制端,控制端根据收到的指令运行相应的动作。其中,语音识别和指令发送客户端是基于Linux操作系统,指令接受服务器及机器人运动系统是基于Windows系统。语音远程控制机器人系统的整体结构框图如图1所示。图1语音远程控制机器人系统的整体结构框图机器人运行指令判断指令接受指令用户语音指令网络服务Linux客户端语音识别模块Windows服务器机器人控制模块3语音识别原理 语音识别分为训练阶段和识别阶段:第一步是系统“训练”阶段,任务是建立识别基本单元的声学模型;第二步是“识别”阶段。按照一定的准则和测度与系统模
7、型进行比较,通过判决得出识别结果。本系统是基于小识别词汇量的语音识别系统,采用的是如图2所示的模板匹配法2。3.1语音信号的预处理系统采用传声器将语音信号输入给计算机,声卡以一定频率进行数据采样,然后进行A/D 转换,将转换后的语音原始数据储存起来,然后进行端点检测,判断出有效语音信号的起始点和终止点。3.2特征提取特征提取是从短时语音帧中提取对语音识别有用的信息。在孤立词语音识别中,用Mel 频率的倒谱系数(Mel Frequency Ceqstrum Coefficient ,MFCC 作为语音特征取得了很好的效果。MFCC 完整的计算过程示意图如图3所示。3.3动态时间归整算法对语音进行
8、训练并建立特征模板库之后,在识别过程中,模板的匹配实际上就是对模板库进行提取和比较的过程3。在模板匹配过程中,即使是同一个人在不同的时间,发出相同语音的时间长度也不可能相同,这就存在不同个数的特征矢量之间进行比较的问题。因此,在匹配过程中一般采用如图4所示的动态时间归整法(dynamic time warping 对参考语音模式和待测语音模式的时间轴进行非线性归一化变换,以使2种模式在时间轴上“对齐”。动态时间归整算法即是要寻找一条通过各个交叉点从起始点到终止点的最佳路径,使得该路径上所有交叉点的帧失真度总和达到最小。4客户-服务器工作模式原理Windows 和Linux 均支持TCP 协议,
9、提供了标准的Socket 调用4。Socket 编程均采用客户机/服务器模式,客户机/服务器模式在操作过程中采取的是主动请求方式。其中以采用Linux 系统的计算机作为客户机来发送指令,采用Windows 系统的计算机作为服务器来接受指令。其TCP 传输的客户机/服务器通信模型如图5所示。5机器人控制系统语音远程控制机器人系统的机器人平台是AS-MRobotE 智能风暴移动机器人。AS-MRobotE 函数开发库中已提供了完善的运动系统程序代码。其控制系统是在Windows 平台下用C/C+语言为AS-MRobotE 开发应用程序的一般方法。编程过程中只需添加m6e_api图2基于模板匹配的语
10、音识别原理框图参考模块训练识别识别结果语音指令预处理特征提取模板库模式匹配图3MFCC 计算过程示意图MFCC输出预处理后语音输入汉明窗帧选傅里叶变换滤波器组能量输出离散余弦变换图5TCP 传输的客户机/服务器通信模型服务响应服务请求建立连接客户机服务器打开Socket 端口绑定并侦听端口等待客户连接接受连接请求接受服务请求处理服务请求数据发送关闭端口打开Socket 端口发送请求连接发送服务请求数据接收关闭端口图4动态时间归整算法待测语音时间轴jJ参考模板时间轴iIO库为AS-MRobotE开发应用程序库。具体的编程过程和说明可见其操作手册。6系统的实现6.1客户端的实现语音远程控制机器人系
11、统的语音识别和网络传输客户端都是在Linux系统下实现的,利用QT对其进行编程实现5。本系统界面中Qt的版本为Qt3.3.4,其源码下载地址为: 客户端的实现主要流程及其主要代码说明如下:(1在Linux下对语音进行采样6,设置其采样参数,其中存储秒数为3s,采样频率8000Hz,量化位数为8bit,声道数目为1bit。主要程序代码为: open("/dev/dsp",O_RDWR;/*打开声音设备*/ioctl(fd,SOUND_PCM_WRITE_BITS,&arg;/*设置采样时的量化位数*/ ioctl(fd,SOUND_PCM_WRITE_CHANNELS
12、,&arg;/*设置采样时的声道数目*/ ioctl(fd,SOUND_PCM_WRITE_RATE,&arg;/*设置采样时的采样频率*/ read(fd,buf,sizeof(buf;/*录音*/(2端点检测是用过零率和短时能量双门限来确定语音信号的起始点和终点。设置MFCC系数的滤波器为24个。wave_vad(/*端点检测*/double*melBank=Melbankm(24,FRAME_LEN,FS;/*生成滤波器组*/ Mfcc(double*buff,int frames/*提取MFCC系数*/(3语音信号训练时,提取了每次语音信号的MFCC特征后就对其进行存储
13、,作为模板库。识别时,把当前提取到的语音特征矢量与模板库逐一用DTW 方法进行比较,得分最少的即为识别出的指令。(4与服务器建立连接,然后是发送指令。利用QT中的类QSocket来进行编程。socket->connectToHost(ipAddress,port;/*连接服务器*/ socket->writeBlock(str,str.length(;/*发送指令给服务器*/ socket->close(;/*断开连接*/图6所示的是基于QT的Linux系统客户端的界面。该系统实现了语音识别的训练及识别、输入语音信号的波形显示、服务器的IP及端口设置、运行状态的显示以及发送识
14、别指令等智能控制功能。6.2服务器的实现语音远程控制机器人系统的服务器及机器人运动控制系统都是在Windows系统下实现的,并在VC+6.0环境下对其进行编程实现。服务器的实现主要流程及其主要代码说明如下:(1设置服务器端的Socket服务。socket(AF_INET,SOCK_STREAM,IPPROTO_TCP;/*创建Socket,使用TCP协议*/ bind(slixten,(struct sockaddr*&saServer,sizeof(saServ-er;/*绑定*/listen(sListen,5/*侦听连接请求*/accept(sListen,(struct soc
15、kaddr*&saClient,&length/*发送连接请求*/ recv(sServer,ptr,nLeft,0;/*接受数据*/closesocket(sListen;/*关闭套接字*/(2机器人根据服务器接受到的指令,调用相应的动作子函数然后完成相应的动作。图7所示为基于VC+的Windows系统服务器的界面。该系统实现了显示本地IP、机器人初始化、本地控制、远程控制状态显示、服务器端口设置以及指令显示等智能控制功能。 图6基于QT的语音远程控制机器人客户端的界面图7基于VC+的Windows系统服务器的界面退出关闭开始6666TCP类型设置端口侦听客户端收到数据机器人
16、运行指令中左转控制运行状态:远程控制设置接受:放松加紧下降上升右转左转机器人初始化本地控制命令192.168.0.84本机IP(上接第67页10ZHANG X P,DESAI M.Nonlinear adaptive noise su-ppression based on wavelet transformC/Proceedings of the IEEE International Conference on Acoustics,Speech, and Signal Processing.S.l.:IEEE Press,1998,3:1589-1592.11LIEW B F,HUSSAIN
17、A,SAMAD S A.Speech enhan-cement by noise cancellation using neural networkC/ Proceedings of TENCON2000.Kuala Lumpur:s.n., 2000,1:39-42.12MURAKAMI T,NAMBA M,HOYA T,et al.Speechenhancement based on a combined higher frequency regeneration technique and RBF networksC/Proceedings of TENCON2002.Kawasaki:
18、s.n.,2002,1:457-460. 13钟佑明.希尔伯特-黄变换局瞬信号分析理论的研究D.重庆:重庆大学,2002.14ZHONG Y M,QIN S R,TANG B P.Research ontheoretic evidence and realization of directly-mean EMD methodJ.Chinese Journal of Mechanical Engineering, 2004,17(3:399-404.15李木森,毛剑琴.盲信号分离的现状和展望J.信息与电子工程,2003(1:69-79.16LEE T W,GIROLAMI M,SEJNOWSKI
19、 T J.Independentcomponent analysis using an extended infomax algorithm for mixed Subgaussian and Supergaussian sourcesJ.Neural Computation,1999,11(2:417-441.17佘斌.电话语音识别应用中的鲁棒性研究D.北京:清华大学,2002.18FURUI S.Cepstral analysis technique for automaticspeaker-verificationJ.IEEE Trans.on Acoustic,Speech and S
20、ignal Processing,1981,29:254-272.19HERMANSKY H,MORGAN N.RASTA processing ofspeechJ.IEEE Trans.on Speech and Audio Processing, 1994,2(4:578-589.作者简介朱建斌,硕士研究生,主要研究方向为声目标分类识别;曾向阳,博士,教授,主要研究方向为室内声学和声目标识别;朱维杰,博士,副教授,主要研究方向为自适应信号处理。责任编辑侯莉收稿日期2008-07-117结束语语音远程控制机器人系统采用了使用广泛的Windows系统平台和开放稳定的Linux系统平台,并且引入了语音识别与网络通信技术,使其控制方式更加智能化。首先是采用基于模板匹配技术的语音识别方法对有限的指令进行识别,不但能够得到比较高的识别率,而且易于实现;然后是通过Socket机制实现了Linux和Windows的远程通信,并最终根据指令实现了对机器人的语音远程控制。在具体软件实现上,在Linux系统下采用QT设计出人机语音交互界面,对有限的6个语音指令(左转、右转、上升、下降、加紧、放松进行识别,识别率一般能达到97%以上,并且实现了发送指令的客户端功能;在Windows系统下采用VC+6.0设计出服务器的交互界面,来接受客户端发送来的指令,然后机器人
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津城市建设管理职业技术学院《键盘艺术赏析与实践》2023-2024学年第二学期期末试卷
- 武汉城市职业学院《饲料学》2023-2024学年第二学期期末试卷
- 新疆应用职业技术学院《高级口语》2023-2024学年第一学期期末试卷
- 浙江音乐学院《装饰与图案》2023-2024学年第二学期期末试卷
- 塑料制品购销合同样板
- 房屋基装装修合同
- 2025年2月办公楼租赁合同增补的辐射防护检测条款
- 场地租赁合同与场地租赁安全协议
- 全新家政保姆家政合同
- 技术咨询与服务合同
- (完整版)ERCP并发症及应急预案
- AD域部署方案完整版
- T∕CAGHP 066-2019 危岩落石柔性防护网工程技术规范(试行)
- 初一数学趣味竞赛试题
- BIM施工方案(完整版)
- 中国对外贸易促进(共40页).ppt
- 毕业论文风景园林工程与技术研究进展
- 中考复习专题—应用题
- 微机ATX电源电路的工作原理与维修
- 2019JGJ196塔式起重机安装使用拆卸安全技术规程
- 电容电容器ppt课件
评论
0/150
提交评论