智能机器人语音控制系统的设计_第1页
智能机器人语音控制系统的设计_第2页
智能机器人语音控制系统的设计_第3页
智能机器人语音控制系统的设计_第4页
智能机器人语音控制系统的设计_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能机器人语音控制系统的设计摘要语音识别技术是当今世界的研究热点之一,一直受到学术界和企业的普遍关注,语音识别技术的应用对于智能机器人的实用化会取到巨大的作用。同时,通过智能机器人这一平台,也可以更好的研究语音技术的实用化问题,从而使之得到更广泛的运用。本系统的设计的目的就是为了方便人机交互,论文首先介绍了智能机器人语音识别技术的发展历程,并分析了影响机器人语音识别的主要因素。然后详细介绍了语音识别的原理以及在语音信号处理过程中采用的分析方法和技术。接着介绍了芯片SPCE061A单片机的特点,并以此芯片为主控芯片建立起了语音控制系统的硬件结构,并编写了相应的程序。最后,通过对系统进行了调试和仿真得出结论:该机器人采用语音识别对机器人进行控制,可以完成向前走、倒退、左转、右转、停止、发射等功能。关键字:SPCE061A单片机;机器人;语音识别;调试和仿真THEDESIGNOFSPEECH-CONTROLLED

INTELLIGENTROBOTSYSTEMABSTRACTSpeechrecognitiontechnologyisoneofthefocusoftoday'sworld,hasbeenthegeneralconcernofacademiaandbusiness.Speechrecognitiontechnologyforintelligentrobotswillbepracticaltotakeagreatrole.Meanwhile,theintelligentrobotplatformcanbetterstudythepracticalproblemsspeechtechnology,thusmakingitmorewidelyused.Thepurposeofthisdesignistofacilitatehuman-computerinteraction.Firstthepaperintroducesthedevelopmentprocessoftheintelligentrobotvoicerecognitiontechnology,andanalyzestheimpactofthemainfactorstotherobotspeechrecognition.Thenitintroducestheprincipleofspeechrecognitionandspeechsignalprocessingmethodsandtechniquesusedinanalysis.AndthenitdescribesthecharacteristicsofthechipmicrocomputerSPCE061A,andtoestablishavoicecontrolsystemhardwarestructureofthissystem,compiledthecorrespondingprogram.Finally,thesystemwasdebuggedandsimulated.Theconclusionisthattherobotspeechrecognitiontocontroltherobotcanbedoneforward,backward,turnleft,turnright,stop,firingandotherfunctions.Keyword:SPCE061AMCU;robotics;peechrecognition;debuggingandsimulation目录TOC\o"1-5"\h\z\o"CurrentDocument"1 绪论 1\o"CurrentDocument"1.1课题研究背景 1\o"CurrentDocument"1.2智能机器人概述及现状 21.2.1智能机器人概述 2\o"CurrentDocument"1.2.2智能机器人发展方向 3\o"CurrentDocument"1.3语音识别技术的概述 5\o"CurrentDocument"1.4语音识别的发展历史 5\o"CurrentDocument"1.4.1国外研究历史及现状 51.4.2国内研究历史及现状 6\o"CurrentDocument"1.5语音识别技术的前景和应用 7\o"CurrentDocument"1.6影响智能机器人语音识别系统设计的主要因素 8\o"CurrentDocument"1.7论文主要研究内容 9语音识别原理和设计采用方案 10\o"CurrentDocument"2.1语音识别的分类 10\o"CurrentDocument"2.2语音识别基本原理 10\o"CurrentDocument"2.3语音信号预处理 11\o"CurrentDocument"2.4特征量的提取 12\o"CurrentDocument"2.4.1线性预测分析 13\o"CurrentDocument"2.4.2倒谱分析 152.5模式匹配及模型训练技术 15\o"CurrentDocument"2.6本设计选用的方案 162.6.1系统采用的芯片 16\o"CurrentDocument"2.6.2系统采用的语音识别算法 17\o"CurrentDocument"智能机器人语音控制系统硬件电路设计 19\o"CurrentDocument"3.1设计总体方案 19\o"CurrentDocument"3.2SPCE061A单片机的主要特点 20\o"CurrentDocument"3.3电源模块 21\o"CurrentDocument"MIC输入模块 22\o"CurrentDocument"3.5语音输出模块 23\o"CurrentDocument"3.6超声波传感模块 23\o"CurrentDocument"3.7通信模块 24\o"CurrentDocument"3.8机器人动作模块 25智能机器人语音控制系统软件设计 27\o"CurrentDocument"4.1设计总体方案 27\o"CurrentDocument"4.2语音识别模块 29\o"CurrentDocument"4.3语音训练模块 304.4语音播放模块 31\o"CurrentDocument"4.5机器人动作模块 325系统调试及仿真 335.1系统调试 33\o"CurrentDocument"5.1.1硬件调试 33\o"CurrentDocument"5.1.2软件调试 335.2系统仿真 34\o"CurrentDocument"5.3结论 35参考文献 36致谢 37\o"CurrentDocument"附录设计源程序 38附件:附件1开题报告(文件综述)附件2译文及原件影印件1绪论1.1课题研究背景随着现代科学技术和计算机技术的发展,人们在与计器的信息交流中,需要一种更加方便、自然的方式。语言是人类最重要、最有效、最常用的和最方便的通信形式。这很容易让人想到能否用自然语言代替传统的人机叫交流方式,如键盘、鼠标等,人机自然语音对话就意味着机器应具有听觉,能听懂人类的口头语言,这就是语音识别的功能。语音识别是语音信号处理的重要研究方向之一,控制论创始人维纳在1950年曾指出:“通常,我们把语音仅仅看作人与人之间的通信手段,但是,要使人向机器,机器向人以及机器讲话,那也是完全办得到的”。语音是语言信息的载体,语音识别的基本任务是将输入的语音转化为相应的语言代码。这样,不仅使存储或传输这样的语言代码时的数码率比起存储或传输原来有语音信号来大幅降低,而且还在于它把一种连续的语音信号变成一种有限符号,这样的符号容易被计算机理解其含义,并且便于与人类交流,因而语音识别得到十分广泛的应用。随着计算机技术、模式识别和信号处理技术及声学技术等的发展,使得能满足各种需要的语音识别系统的实现成为可能。近二三十年来,语音识别在工作、军事、交通、医学、民用诸方面,特别是在计算机、信息处理、通信与电子系统、自动控制等领域中有着广泛的应用[1]。当今,语音识别产品在人机交互应用中己经占到越来越大的比例。近年来,随着消费类电子产品对低成本、高稳健性的语音识别芯片的需求快速增加。使得语音识别系统大量地从PC机转移到嵌入式设备中。通过研究者的不断努力,现在嵌入式非特定人语音识别系统识别精度己经达到85%以上,而对特定人语音识别系线的识别精度就更高了。嵌入式语音识别系统与PC机的语音识别系统相比,虽然其运算速度和存储容量有限,但它具有自己的一些特点。首先,除语音识别功能外。为了有一个友好的人机界面和对识别正确与否的验证,该系统还具备语音提示及语音回放功能其次,嵌入式语音识别系统多为实时系统。即当用户说完待识别的词条后,系统立即完成识别功能洋右乐回应。最后,嵌入式语音识别系统具有体积小。可靠性高、耗电省、投入少、价格低廉并且便携性好。可支持移动作业等优点。这是嵌入式语音识别系统与PC机的语音识别系统相比最大的优势,嵌入式语音识别系统的优点使得其应用的领城十分广泛。从研究现状来看,作为语音识别的标志性技术,无限词汇量、非特定人、连续语音识别系统在比较安静环境下,对于比较正式的书面语言已经达到了相当高的使用程度,在限定环境下还能达到更好的效果,我们仍要进一步提高识别系统对不同环境、不同说话人和不太说话内容的稳健性。语音识别技术主要包含几个方面:语音控制、电子发声、连续语音识别、非连续语音识别和语音学习。目前主要是在支持中英文混合识别问题上,存在一些障碍,同时在识别大量词汇和个别发音方面还很难做到准确。作为语音识别技术新方向的语音学习,它则要求人模仿标准发音,其面临的困难是如何衡量人的好坏。智能机器人概述及现状1.2.1智能机器人概述我们从广泛意义上理解所谓的智能机器人,它给人的最深刻的印象是一个独特的进行自我控制的“活物”。其实,这个自控“活物”的主要器官并没有像真正的人那样微妙而复杂。智能机器人具备形形色色的内部信息传感器和外部信息传感器,如视觉、听觉、触觉、嗅觉。除具有感受器外,它还有效应器,作为作用于周围环境的手段。这就是筋肉,或称自整步电动机,它们使手、脚、长鼻子、触角等动起来。我们称这种机器人为自控机器人,以便使它同前面谈到的机器人区分开来。它是控制论产生的结果,控制论主张这样的事实:生命和非生命有目的的行为在很多方面是一致的。正像一个智能机器人制造者所说的,机器人是一种系统的功能描述,这种系统过去只能从生命细胞生长的结果中得到,现在它们已经成了我们自己能够制造的东西了[2]。智能机器人能够理解人类语言,用人类语言同操作者对话,在它自身的“意识”中单独形成了一种使它得以“生存”的外界环境——实际情况的详尽模式。它能分析出现的情况,能调整自己的动作以达到操作者所提出的全部要求,能拟定所希望的动作,并在信息不充分的情况下和环境迅速变化的条件下完成这些动作。当然,要它和我们人类思维一模一样,这是不可能办到的。不过,仍然有人试图建立计算机能够理解的某种“微观世界”。比如维诺格勒在麻省理工学院人工智能实验室里制作的机器人。这个机器试图完全学会玩积木:积木的排列、移动和几何图案结构,达到一个小孩子的程度。这个机器人能独自行走和拿起一定的物品,能“看到”东西并分析看到的东西,能服从指令并用人类语言回答问题。更重要的是它具有“理解”能力。为此,有人曾经在一次人工智能学术会议上说过,不到十年,我们把电子计算机的智力提高了10倍;如维诺格勒所指出的,计算机具有明显的人工智能成分。第2页共43页机器人现在已被广泛地用于生产和生活的许多领域,按其拥有智能的水平可以分为三个层次。一是工业机器人,它只能死板地按照人给它规定的程序工作,不管外界条件有何变化,自己都不能对程序也就是对所做的工作作相应的调整。如果要改变机器人所做的工作,必须由人对程序作相应的改变,因此它是毫无智能的。二是初级智能机器人。它和工业机器人不一样,具有象人那样的感受,识别,推理和判断能力。可以根据外界条件的变化,在一定范围内自行修改程序,也就是它能适应外界条件变化对自己怎样作相应调整。不过,修改程的原则由人预先给以规定。这种初级智能机器人已拥有一定的智能,虽然还没有自动规划能力,但这种初级智能机器人也开始走向成熟,达到实用水平。三是高级智能机器人。它和初级智能机器人一样,具有感觉,识别,推理和判断能力,同样可以根据外界条件的变化,在一定范围内自行修改程序。所不同的是,修改程序的原则不是由人规定的,而是机器人自己通过学习,总结经验来获得修改程序的原则。所以它的智能高出初能智能机器人。这种机器人已拥有一定的自动规划能力,能够自己安排自己的工作。这种机器人可以不要人的照料,完全独立的工作,故称为高级自律机器人。这种机器人也开始走向实用。智能机器人发展方向不过,尽管机器人人工智能取得了显著的成绩,控制论专家们认为它可以具备的智能水平的极限并未达到。问题不光在于计算机的运算速度不够和感觉传感器种类少,而且在于其他方面,如缺乏编制机器人理智行为程序的设计思想。你想,现在甚至连人在解决最普通的问题时的思维过程都没有破译,人类的智能会如何呢——这种认识过程进展十分缓慢,又怎能掌握规律让计算机“思维”速度快点呢?因此,没有认识人类自己这个问题成了机器人发展道路上的绊脚石。制造“生活”在具有不固定性环境中的智能机器人这一课题,近年来使人们对发生在生物系统、动物和人类大脑中的认识和自我认识过程进行了深刻研究[3]。结果就出现了等级自适应系统说,这种学说正在有效地发展着。作为组织智能机器人进行符合目的的行为的理论基础,我们的大脑是怎样控制我们的身体呢?纯粹从机械学观点来粗略估算,我们的身体也具有两百多个自由度。当我们在进行写字、走路、跑步、游泳、弹钢琴这些复杂动作的时候,大脑究竟是怎样对每一块肌肉发号施令的呢?大脑怎么能在最短的时间内处理完这么多的信息呢?我们的大脑根本没有参与这些活动。大脑——我们的中心信息处理机“不屑于”去管这个。它根第3页共43页本不去监督我们身体的各个运动部位,动作的详细设计是在比大脑皮层低得多的水平上进行的。这很像用高级语言进行程序设计一样,只要指出“间隔为一的从1〜20的一组数字”,机器人自己会将这组指令输入详细规定的操作系统。最明显的就是,“一接触到热的物体就把手缩回来”这类最明显的指令甚至在大脑还没有意识到的时候就已经发出了。把一个大任务在几个皮层之间进行分配,这比控制器官给构成系统的每个要素规定必要动作的严格集中的分配合算、经济、有效。在解决重大问题的时候,这样集中化的大脑就会显得过于复杂,不仅脑颅,甚至连人的整个身体都容纳不下。在完成这样或那样的一些复杂动作时,我们通常将其分解成一系列的普遍的小动作(如起来、坐下、迈右脚、迈左脚)。教给小孩各种各样的动作可归结为在小孩的“存储器”中形成并巩固相应的小动作。同样的道理,知觉过程也是如此组织起来的。感性形象——这是听觉、视觉或触觉脉冲的固定序列或组合(马、人),或者是序列和组合二者兼而有之。学习能力是复杂生物系统中组织控制的另一个普遍原则,是对先前并不知道、在相当广泛范围内发生变化的生活环境的适应能力。这种适应能力不仅是整个机体所固有的,而且是机体的单个器官、甚至功能所固有的,这种能力在同一个问题应该解决多次的情况下是不可替代的。适应能力这种现象,在整个生物界的合乎目的的行为中起着极其重要的作用。控制机器人的问题在于模拟动物运动和人的适应能力。建立机器人控制的等级——首先是在机器人的各个等级水平上和子系统之间实行知觉功能、信息处理功能和控制功能的分配。第三代机器人具有大规模处理能力,在这种情况下信息的处理和控制的完全统一算法,实际上是低效的,甚至是不中用的。所以,等级自适应结构的出现首先是为了提高机器人控制的质量,也就是降低不定性水平,增加动作的快速性。为了发挥各个等级和子系统的作用,必须使信息量大大减少。因此算法的各司其职使人们可以在不定性大大减少的情况下来完成任务。总之,智能的发达是第三代机器人的一个重要特征。人们根据机器人的智力水平决定其所属的机器人代别。有的人甚至依此将机器人分为以下几类:受控机器人——“零代”机器人,不具备任何智力性能,是由人来掌握操纵的机械手;可以训练的机器人——第一代机器人,拥有存储器,由人操作,动作的计划和程序由人指定,它只是记住(接受训练的能力)和再现出来;感觉机器人——机器人记住人安排的计划后,再依据外界这样或那样的数据(反馈)算出动作的具体程序;智能机器人——人指定目标后,机器人独自编制操作计划,依据实际情况确定动作程序,然后把动作变为操作机构的运动。因此,它有广泛的感觉系统、智能、模拟装置(周围情况及自身——机器人的意识和自我意识)。1.3语音识别技术的概述语音识别技术,也被称为自动语音识别AutomaticSpeechRecognition,(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。语音识别技术的应用包括语音拨号、语音导航、室内设备控制、语音文档检索、简单的听写数据录入等。语音识别技术与其他自然语言处理技术如机器翻译及语音合成技术相结合,可以构建出更加复杂的应用,例如语音到语音的翻译。语音识别技术所涉及的领域包括:信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等等[4]。语音识别的发展历史1.4.1国外研究历史及现状语音识别的研究工作可以追溯到20世纪50年代AT&T贝尔实验室的Audry系统,它是第一个可以识别十个英文数字的语音识别系统。但真正取得实质性进展,并将其作为一个重要的课题开展研究则是在60年代末70年代初[5]。这首先是因为计算机技术的发展为语音识别的实现提供了硬件和软件的可能,更重要的是语音信号线性预测编码(LPC)技术和动态时间规整(DTW)技术的提出,有效的解决了语音信号的特征提取和不等长匹配问题。这一时期的语音识别主要基于模板匹配原理,研究的领域局限在特定人,小词汇表的孤立词识别,实现了基于线性预测倒谱和DTW技术的特定人孤立词语音识别系统;同时提出了矢量量化(VQ)和隐马尔可夫模型(HMM)理论。随着应用领域的扩大,小词汇表、特定人、孤立词等这些对语音识别的约束条件需要放宽,与此同时也带来了许多新的问题:第一,词汇表的扩大使得模板的选取和建立发生困难;第二,连续语音中,各个音素、音节以及词之间没有明显的边界,各个发音单位存在受上下文强烈影响的协同发音(Co-articulation)现象;第三,非特定人识别时,不同的人说相同的话相应的声学特征有很大的差异,即使相同的人在不同的时间、生理、心理状态下,说同样内容的话也会有很大的差异;第四,识别的语音中有背景噪声或其他干扰。因此原有的模板匹配方法已不再适用。实验室语音识别研究的巨大突破产生于20世纪80年代末:人们终于在实验室突破了大词汇量、连续语音和非特定人这三大障碍,第一次把这三个特性都集成在一个系统中,比较典型的是卡耐基梅隆大(CarnegieMellonUniversity)的Sphinx系统,它是第一个高性能的非特定人、大词汇量连续语音识别系统。这一时期,语音识别研究进一步走向深入,其显著特征是HMM模型和人工神经元网络(ANN)在语音识别中的成功应用。HMM模型的广泛应用应归功于AT&TBell实验室Rabiner等科学家的努力,他们把原本艰涩的HMM纯数学模型工程化,从而为更多研究者了解和认识,从而使统计方法成为了语音识别技术的主流。统计方法将研究者的视线从微观转向宏观,不再刻意追求语音特征的细化,而是更多地从整体平均(统计)的角度来建立最佳的语音识别系统。在声学模型方面,以Markov链为基础的语音序列建模方法HMM(隐式Markov链)比较有效地解决了语音信号短时稳定、长时时变的特性,并且能根据一些基本建模单元构造成连续语音的句子模型,达到了比较高的建模精度和建模灵活性。在语言层面上,通过统计真实大规模语料的词之间同现概率即N元统计模型来区分识别带来的模糊音和同音词。另外,人工神经网络方法、基于文法规则的语言处理机制等也在语音识别中得到了应用。20世纪90年代前期,许多著名的大公司如IBM、苹果、AT&T和NTT都对语音识别系统的实用化研究投以巨资。语音识别技术有一个很好的评估机制,那就是识别的准确率,而这项指标在20世纪90年代中后期实验室研究中得到了不断的提高。比较有代表性的系统:IBM公司推出的ViaWice和DragonSystem公司NaturallySpeaking,Nuance公司的NuanceVoicePlatform语音平台,Microsoft的Whisper,Sun的VoiceTone等。其中IBM公司于1997年开发出汉语ViaWice语音识别系统,次年又开发出可以识别上海话、广东话和四川话等地方口音的语音识别系统ViaWice'98。它带有一个32.000词的基本词汇表,可以扩展到65,000词,还包括办公常用词条,具有“纠错机制”,其平均识别率可以达到95%。该系统对新闻语音识别具有较高的精度,是目前具有代表性的汉语连续语音识别系统。国内研究历史及现状我国语音识别研究工作起步于五十年代,但近年来发展很快。研究水平也从实验室逐步走向实用。从1987年开始执行国家863计划后,国家863智能计算机专家组为语音识别技术研究专门立项,每两年滚动一次。我国语音识别技术的研究水平已经基本上第6页共43页与国外同步,在汉语语音识别技术上还有自己的特点与优势,并达到国际先进水平。中科院自动化所、声学所、清华大学、北京大学、哈尔滨工业大学、上海交通大学、中国科技大学、北京邮电大学、华中科技大学等科研机构都有实验室进行过语音识别方面的研究,其中具有代表性的研究单位为清华大学电子工程系与中科院自动化研究所模式识别国家重点实验室[6]。清华大学电子工程系语音技术与专用芯片设计课题组,研发的非特定人汉语数码串连续语音识别系统的识别精度,达到94.8%(不定长数字串)和96.8%(定长数字串)。在有5%的拒识率情况下,系统识别率可以达到96.9%(不定长数字串)和98.7%(定长数字串),这是目前国际最好的识别结果之一,其性能已经接近实用水平。研发的5000词邮包校核非特定人连续语音识别系统的识别率达到98.73%,前三选识别率达99.96%;并且可以识别普通话与四川话两种语言,达到实用要求。中科院自动化所及其所属模式科技(Pattek)公司2002年发布了他们共同推出的面向不同计算平台和应用的“天语”中文语音系列产品一PattekASR,结束了中文语音识别产品自1998年以来一直由国外公司垄断的历史。语音识别技术的前景和应用在电话与通信系统中,智能语音接口正在把电话机从一个单纯的服务工具变成为一个服务的“提供者”和生活“伙伴”。使用电话与通信网络,人们可以通过语音命令方便地从远端的数据库系统中查询与提取有关的信息;随着计算机的小型化,键盘已经成为移动平台的一个很大障碍,想象一下如果手机仅仅只有一个手表那么大,再用键盘进行拨号操作已经是不可能的。语音识别正逐步成为信息技术中人机接口的关键技术,语音识别技术与语音合成技术结合使人们能够甩掉键盘,通过语音命令进行操作。语音技术的应用已经成为一个具有竞争性的新兴高技术产业[7]。语音识别技术发展到今天,特别是中小词汇量非特定人语音识别系统识别精度已经大于98%,对特定人语音识别系统的识别精度就更高。这些技术已经能够满足通常应用的要求。由于大规模集成电路技术的发展,这些复杂的语音识别系统也已经完全可以制成专用芯片,大量生产。在西方经济发达国家,大量的语音识别产品已经进入市场和服务领域。一些用户交机、电话机、手机已经包含了语音识别拨号功能,还有语音记事本、语音智能玩具等产品也包括语音识别与语音合成功能。人们可以通过电话网络用语音识别口语对话系统查询有关的机票、旅游、银行信息,并且取得很好的结果。调查统计表明多达85%以上的人对语音识别的信息查询服务系统的性能表示满意。可以预测在近五到十年内,语音识别系统的应用将更加广泛。各种各样的语音识别系统产品将出现在市场上。人们也将调整自己的说话方式以适应各种各样的识别系统。在短期内还不可能造出具有和人相比拟的语音识别系统,要建成这样一个系统仍然是人类面临的一个大的挑战,我们只能一步步朝着改进语音识别系统的方向一步步地前进。至于什么时候可以建立一个像人一样完善的语音识别系统则是很难预测的。就像在60年代,谁又能预测今天超大规模集成电路技术会对我们的社会产生这么大的影响。影响智能机器人语音识别系统设计的主要因素现在语音识别技术存在的一些瓶颈主要在于:方言或口音降低语音识别率、背景噪音、“口语”的问题:它既涉及到自然语言理解、又与声学有关,口语的语法不规范和语序不正常的特点会给语义的分析和理解带来困难,有些很不自然的合成效果往往是因为没有能正确的使用合成与识别系统而导致的,并不是说是合成技术的不成熟。而是语音库德完善度存在一定的差距。由于对语音识别的需要来自不同的领域和部门,因此对语音识别系统应具有的性能和指标提出了差异极大的要求,语音识别系统要根据一定的指标、要求设计。因此有必要讨论系统设计过程中要考虑的各种因素、语音识别系统的基本结构以及系统的设计方略和步骤。语音识别系统的设计要考虑到服务对象、词表大小、工作环境、发音方式等许多因素,下面逐一讨论这些因素对语音识别系统结构设计和识别方法研究的影响[8]。(1)服务对象:语音识别系统根据服务对象的不同分为特定人识别系统和非特定人识别系统,一个特定人的语音识别系统中每一个使用者都必须建立自己专用的参考模式库,而非特定人识别系统事先将许多人的语音样本训练好,使用者无论是否参加过训练都可以共用一套参考模式。两者的系统结构、参数选择、识别方法都可能有很大差别,后者在技术上的难度也远比前者大。总之,服务对象是决定语音识别系统设计方案的重要影响因素。(2)词汇表的大小:每个语音识别系统都有一个词汇表,它只可以识别词汇表中的词,随着词汇量的增大,词间的相似性增加,分辨会更困难,而且系统的存储开销和搜索运算开销也会增加,所以词表的大小影响识别策略的选择。(3)发音方式:发音方式可以分为孤立词发音和连续语音发音,孤立词发音容易进行端点检测,识别系统在结构上简单的多。连续语音发音很难确定词的声学边界,语音单位相连时相互影响会出现很大变异,识别系统在结构上相当复杂。(4)语音的质量:通常在实验室环境下工作良好的识别器在含有噪声的环境下性能会明显下降,因此必须明确一个系统的使用场合。(5)工作性质:对于听写机来说要求将口述语言正确无误地转换为书面文字。而在问询、查询系统中,用户在说话中常带有一些不必要的添加话语,这时系统需作关键字检出,对用户的要求作出正确响应。在一些特定任务的语音识别中,我们可以总结出语法规则,而大多数情况下,用语法规则涵盖所有可能的情况几乎是不可能的。工作性质的不同决定了语音识别系统的不同的影响。论文主要研究内容本文主要研究基于凌阳SPCEO61A单片机的智能机器人的语音控制系统的设计,若虑影响语音控制系统的主要因素,本文具体内容安排如下:(1)简要介绍智能机器人语音识别系统的基本概念和发展过程,继而分析影响语音识别系统的主要因素,最后阐明本论文的主要研究内容。(2)总体介绍语音识别的基本概念和分类,重点语音识别的原理以及在识别过程中所采用的技术。(3)根据本论文的具体要求选择凌阳16位单片机芯片,继而简要介绍SFCE060lA芯片的结构以及相关特性,最后进行智能机器人语音识别系统的硬件设计。(4)在语音识别硬件系统的设计基础上为了实现语音系统交互功能进行语音命令训练、语音资源的存储和播放、串口通讯、中断控制等软件设计。(5)对智能机器人语音控制系统实验仿真,并指出影响语音识别稳定性的因素。2语音识别原理和设计采用方案语音识别技术关系到多学科的研究领域,不同领域上的研究成果都对语音识别的发展作了贡献。机器人语音识别过程与人对语音识别处理过程基本上是一致的,目前主流的语音识别技术是基于统计模式识别的基本理论。一个完整的语音识别系统可大致分为语音特征提取、声学模型和模式匹配、语言模型和语言处理三部分,而对小词表语音识别系统,往往不需要语音处理部分[9]。2.1语音识别的分类语音识别系统可以根据对输入语音的限制加以分类。如果从说话者与识别系统的相关性考虑,可以将识别系统分为3类:(1)特定人语音识别系统:仅考虑对于专人的话音进行识别;(2)非特定人语音系统:识别的语音与人无关,通常要用大量不同人的语音数据库对识别系统进行学习;(3)多人的识别系统:通常能识别一组人的语音,或者成为特定组语音识别系统,该系统仅要求对要识别的特定人的语音进行训练。如果从说话的方式考虑,也可以将识别系统分为3类:(1)孤立词语音识别系统:孤立词识别系统要求输入每个词后要停顿;(2)连接词语音识别系统:连接词输入系统要求对每个词都清楚发音,一些连音现象开始出现;(3)连续语音识别系统:连续语音输入是自然流利的连续语音输入,大量连音和变音会出现。本系统属于第一类。如果从识别系统的词汇量大小考虑,也可以将识别系统分为3类:(1)小词汇量语音识别系统。通常包括几十个词的语音识别系统。(2)中等词汇量的语音识别系统。通常包括几百个词到上千个词的识别系统。(3)大词汇量语音识别系统。通常包括几千到几万个词的语音识别系统。随着计算机与数字信号处理器运算能力以及识别系统精度的提高,识别系统根据词汇量大小进行分类也不断进行变化。目前是中等词汇量的识别系统到将来可能就是小词汇量的语音识别系统。这些不同的限制也确定了语音识别系统的困难度。本系统属于小词汇量语音识别系统。语音识别基本原理语音识别技术就足让机器通过识别和理解过程把语行信号转变为相应的文本或命令的高技术,然而语音信号本身的特点造成了语音识别的困难。这些特点包括多变性、动态性、瞬时性和连续性等。计算机语语音识别过程与人对语言识别处理过程从本上是一致的。日前主流的语音识别技术是基于统计模式识别的基本理论[10]。对于不同的语音识别系统来说,虽然具体实现的细节有所不同。但所采用的基本技术和方法步骤基本相似,如图2.1语音识别系统的基本结构是一个典型的语音识别系统的实现过程。图2.1语音识别系统的基本结构语音识别系统实质上是一种模式识别系统,与常规模式识别系统一样包括有特征提取、模式匹配、参考模式库等三个基本单兀。语音识别的步骤分为三步。第一步是根据识别系统的类型选择一种识别方法,采用语音分析方法分析出这种识别方法所要求的语音特征参数,这些参数作为标准模式由机器存储起来,形成参考模式库。第二步是语音识别的核心,采用选择的语音识别方法进行模式匹配。语音识别核心部分又分别表现为模型的建立、训练和识别三个部分。第三步,语音识别可以进行后处理,后处理通常是一个音字转换过程,有可能包括更高层次的词法、句法和文法处理,另外也有可能作为某个具体的任务语法的输入。2.3语音信号预处理预处理是提高语音识别性能,增强稳健性的重要环节。预处理一般包括预加重、加窗、分帧和端点检测等。预加重的目的是提升高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,以便进行频谱分析或声道参数分析。上述过程可以用公式(2-1)表示:y(n)=x(n)一0.97x(n一1) (2-1)根据语音信号的短时平稳性,可以对它进行分帧操作,为防止泄漏(Gibbs)现象,可以加窗处理。加窗分帧的目的是为了利用有限容量的数据区依次处理数量极大的语音数据。根据语音信号在10〜20ms内语音信号特性小变的特点,一般取帧长为20ms,帧移为帧长的0〜1/2倍。常用的函数窗为汉明窗、汉宁窗和矩形窗。汉明窗可以有效的克第11页共43页服泄露现象,具有更平滑的低通特性,因此应用更为广泛。矩形窗:11w(n)11w(n)二<|0(0<n<N-1)(n<0或n>N)2-2)汉明窗:w(n)w(n)=H-0-46cos(2N-?(0<n<N-1)(n<0或n>N)2-3)汉宁窗:w(nw(n)=H-叭皆))(0<n<N-1)(n<0或n>N)2-4)经过加窗分帧处理后,语音信号就已经被分割成一帧一帧的加窗函数的短时信号,然后再把每一个短时语音帧看成平稳的随机信号,利用数字信号处理技术来提取语音特征参数。在进行处理时,按帧从数据区中取出数据,处理完成后再取下一帧。最后得到由每一帧参数组成的语音特征参数的时间序列。端点检测是将语音信号从背景噪声中提取出来,以确定语音信号的起止点。端点检测可以避免不必要的计算量,同时设定语音识别解码的起点和终点,防止无效搜索。端点检测大多数采用短时能量或者过零率作为判别准则,经过预加重的语音信号通过分帧之后,以帧的形式进行处理。分帧的过程由两个参数决定帧长、帧移。对于短时过程而言,帧长决定了频率区分度和时间区分度。帧长较长的帧(>300ms),其时间区分度较差。而帧长太短,则短频率区分度下降。目前采用的帧长在100〜250ms之问。帧移决定了相邻两帧之间的时间间隔,一般在语音识别中,80ms是常用的帧移。当帧移小于帧长时,就出现了部分重叠。2.4特征量的提取语音信号中含有丰富的信息,特征提取就是对语音信号进行分析处理,去除对语音识别无关紧要的冗余信息,提取出对语音识别有用的重要信息。对于非特定人语音识别来讲,希望特征参数尽可能多的反映语音信息,尽量减少说话人的个人信息对特定人语音识别来讲,则相反。从信息论角度讲,这是信息压缩的过程。特征提取是语音识别前端处理的主要任务。特征如果具有很好的区别性,模型的设计和训练就会变得简单高效。特征提取包括对语音共振峰频率、幅度等参数,以及对线性预测参数、倒谱参数等的提取和分析[11]。2.4.1线性预测分析线性预测,通常又称为线性预测编码。线性预测是语音处理的核心技术,应用于信号处理的各个方面,是最有效、最流行的语音分析技术之一。线性预测是基于全极点模型的假设,采用时域均方误差最小准则来估计模型参数。线性预测的计算效率很高,而且还能与声管发音模型相联系,并发展出了多种与人们听觉联系紧密的谱失真测度方法,所以本文选取其作为特征矢量计算方法。线性预测分析的垦本思想是每个语音信号采样值,都可以用它过去的取样值的加权和来表示,各加权系数应使实际语音采样值与线性预测采样值之间的误差的平方和达到最小,即进行最小均方误差的逼近。这里的加权系数就是线性预测系数。线性预测是将被分析信号用一个模型来表示,即将语音信号看作是某一模型的输出。因此,它可以用简单的模型参数来描述。如图2.2信号模型图所示:图2.2信号模型图(2-5)(2-6)u(n)表示模型的输入,(2-5)(2-6)H(z)= -—1-乞az-iii=1式子中a是系数,p是预测模型的阶数。iu(n)与s(n)的关系可用差分方程(2-6)表示:s(n)=Yas(n-k)+Gu(n)kk=1即,用信号的前一个样本来预测当前样本,定义预测器:(2-7)s'(n)=Yas(n-k)(2-7)kk=1由于顶测系数占}在预测过程可看作作常数,所以它是一种线性预测器。这种线性k预测技术最早被应用于语音编码,因此常被称为线性预测编码。此线性预测器的系统函数可表示为:第13页共43页P(z)=Xaz-kkk=1如果是s(n)信号符合此模型,那么线性预测器的预测误差为式(2-9):2-8)e(n)=G*u(n)2-9)但是实际信号不一定符合这个假定的模型,因此实际中存在预测误差。预测误差可表示为式(2-10):e(n)=s(n)-s'(n)=s(n)-Xas(n-k)kk=1能使信号序列产生上面的预测误差序列的系统,其函数表达式可以用式(2-11)表2-10)示:A(z)=1-Xaz-kkk=1可以看出,预测误差滤波器A(z)是系统函数的逆滤波器。要使此模型尽可能精确的2-11)描述信号s(n),预测误差能量在某一短时间内的总能量应该尽量的小,在此准则下求最佳预测系数{a}。短时平均误差能量定义为:kE=X[S(m)-XpaS(m-k)]n n knm k=1S(m)表示宽度为N的语音据帧。使E达到最小值的{a}必须满足2-12)n n kQE/Qa=0(i=1,2......p),由此便得到以{a}为变量的线性方程组(2-13):ni kXa0(i,k)=0(i,0) i=1,2 pknk=1式中0(i,k)为系数矩阵:n2-13)0(i,k)=XS(m-1)S(m-k)nm对长度为N的语音信号数列,可以利用短时自相关定义求解2-14)0(i,k)=R(i-k)nn2-15)式中短时自相关函数R(k)=呛S(m)*S(m+k)n n n0考虑到R(k)是偶函数,于是可以表示为n2-16)£aR(i-k|)=R(i) (2-17)kn nk=1这就是Yule-Walker方程,其中R(i-k)组成的矩阵是一个托步利兹矩阵。这n种特殊的线性方程组有多种高效的递推算法可求出系数。正是这些高效的递推算法,保证了线性预测技术,被广泛应用于信号处理的各个方面。2.4.2倒谱分析语音信号特征向量采用Mel频率倒谱系数MFCC(MelFrequencyCepstrumCoeficient)的提取,MFCC参数是基于人的听觉特性的,它利用人听觉的临界带效应,采用MEL倒谱分析技术对语音信号处理得到MEL倒谱系数矢量序列,用MEL倒谱系数表示输入语音的频谱。在语音频谱范围内设置若干个具有三角形或正弦形滤波特性的带通滤波器,然后将语音能量谱通过该滤波器组,求各个滤波器输出能量,对其取对数,并作离散余弦变换(DCT),即可得到MFCC系数。在计算机平台的仿真实验中,通过各种参数的实际比较,采用MFCC参数比采用线性预测系数(LPCC)参数有更好的识别效果。但在Matlab平台上做实时处理时,MFCC系数计算虽然有两个缺点:一是计算时间长;二是精度难以保证。由于MFCC系统的计算需要FFT变换和对数操作,影响了计算的动态范围;要保证系统识别的实时性,就只有牺牲参数精度,但是MFCC由于反映人的听觉特性,因此其性能和鲁棒性是所有参数中最好的,虽然LPCC参数的计算有递推公式,速度和精度都可以保证,但在噪声比较大的情况下,识别效果无法满足实际需要。模式匹配及模型训练技术模型训练是指按照一定的准则,从大量已知模式中获取表征该模式本质特征的模型参数,而模式匹配则是根据一定准则,使未知模式与模型库中的某一个模型获得最佳匹配。语音识别所应用的模式匹配和模型训练技术主要有动态时间归正技术(DTW)、隐马尔可夫模型(HMM)和人工神经元网络(ANN)[12]。DTW是较早的一种模式匹配和模型训练技术,它应用动态规划方法成功解决了语音信号特征参数序列比较时时长不等的难题,在孤立词语音识别中获得了良好性能。但因其不适合连续语音大词汇量语音识别系统,目前已被HMM模型和ANN替代。HMM模型是语音信号时变特征的有参表示法。它由相互关联的两个随机过程共同描述信号的统计特性,其中一个是隐蔽的(不可观测的)具有有限状态的Markor链,另一个是与mARKOR链的每一状态相关联的观察矢量的随机过程(可观测的)。隐蔽Markor链的特性要靠可观测到的信号特征揭示。这样,语音等时变信号某一段的特征就由对应状态观察符号的随机过程描述,而信号随时间的变化由隐蔽Markor链的转移概率描述。模型参数包括HMM拓扑结构、状态转移概率及描述观察符号统计特性的一组随机函数。按照随机函数的特点,HMM模型可分为离散隐马尔可夫模型(采用离散概率密度函数,简称DHMM)和连续隐马尔可夫模型(采用连续概率密度函数,简称CHMM)以及半连续隐马尔可夫模型(SCHMM,集DHMM和CHMM特点)。一般来讲,在训练数据足够时,CHMM优于DHMM和SCHMM。HMM模型的训练和识别都已研究出有效的算法,并不断被完善,以增强HMM模型的鲁棒性。人工神经元网络在语音识别中的应用是现在研究的又一热点。ANN本质上是一个自适应非线性动力学系统,模拟了人类神经元活动的原理,具有自学、联想、对比、推理和概括能力。这些能力是HMM模型不具备的,但ANN又不具有HMM模型的动态时间归正性能。因此,现在已有人研究如何把二者的优点有机结合起来,从而提高整个模型的鲁棒。本设计选用的方案依据嵌入式语音识别系统的特点,在对本系统进行设计前,应对系统定制一个总体上的标准,用于指导系统的软硬件的设计。系统标准是体积小、可靠性高、耗电省、价格低、且为实时识别,识别词汇量为小词汇量,需进行训练才能识别。此外,系统还要具备语音提示功能。2.6.1系统采用的芯片根据语音识别的性能,识别算法及发展时期的不同,语音识别系统芯片大可以分为以下几个类型:(1) 由带通滤波器及线形匹配电路构成的专用IC。这是20世纪80年代初期的产品,也是早期的语音识别专用集成电路。它由一组带通滤波器组成特征提取电路,然后用线性匹配电路进行模式匹配。这种电路的语音识别性能低,现已很少应用。(2) 由单片机MCU组成的语音识别专用IC。它以8位机或者16位机为计算核心,A/D转换,D/A转换及存储器组成。由于单片机的运算能力有限,因而其识别算法不可能复杂,精度也低,故一般识别率不会太高。典型芯片是1996年美国sensory公司生产的Rsc-146。由数字信号处理器DSP组成的语音识别系统。它一般由定点16位DSP。外加A/D转换和D/A转换以及ROM,RAM,FLASH等存储器组成。由于DSP包含用做数字信号处理的专用部件,因而运算能力强,精度高,适于组成较高性能的语音识别系统。最常用DSP芯片是TI公司的TMS320AC54XX系列,AD公司的ADSPZ18X系列及DSPG公司开发的OAK系列。用DSP组成的语音识别系统可以实现特定人和非特定人语音识别功能,识别词条可以达到中等词汇量;由人工神经网络构成的语音识别专用芯片。由于语音信号是一个时间区间动态变化的信号,一般采用的多层前向感知机算法。但是,由于人工神经网络很难达到和语音信号的最佳匹配,因此用人工神经网络实现的语音识别系统的识别性能很不理想。而如果采用时延单元神经网络,并且与其他方法配合,则可以实现较高性能的语音识别。语音识别系统级芯片(SoC)。将MCU或DSP、A/D、D/A、RAM、ROM以及预放、功放等电路集成在一个芯片上,只要加上极少的电源供电等单元就可以实现语音识别、语音合成以及语音回放等功能。这是最近两年出现的最先进的语音识别芯片,其性能价格比较高,功耗省。最有代表性的是Sensory公司的RSC-364及Infineon公司的UniSpeech-SDA80D51。凌阳公司的SPCE061A也是这类产品。由于SPCE061A单片机内置32位I/O端口,2路D/A转换,8位A/D转换,14个中断源等功能,可编程音频处理功能以及在线仿真功能具有较高的处理速度,能够更容易处理的数字信号,这些都为语音的识别、播放、录放及合成提供条件,所以本设计采用SPCEO61A单片机为主控制芯片。系统采用的语音识别算法输入语音信号经过预处理和特征提取后就要对其进行语音识别。想要得到最优的语音识别性能,关键是要选择合适的语音识别算法。识别算法选择与确立的唯一标准就是系统自身特点及系统设计的目的与要求。比较常用的识别算法有基于模板匹配的动态时间规整法(DTW)、基于统计模型的隐马尔柯夫模型法(HMM)以及基于神经网络的识别法(ANN)等。HMM和ANN算法适用于大词汇量、非特定人的语音识别系统,需要大量的前期训练工作,对系统资源要求比较高,比较适合于PC机系统。DTW算法是采用模板匹配法进行相似度计算,当词汇表所包含的词汇量较小时,可以得到较好的效果。该算法的优点就是不需大量的前期运算,可以有效节约系统资源,降低系统成本开支。完全适合本系统的设计要求,所以语音识别算法选用DTW算法来实现。综合上述比较,由于单片机系统资源有限,大量运算的前期训练是无法在有限的单片机资源上独立完成的。而且系统要求是小词汇量,孤立词短语识别,故使用DTW就可以满足系统设计的要求。3智能机器人语音控制系统硬件电路设计3.1设计总体方案本设计采用凌阳单片机SPCE061A为语音控制芯片来设计,机器人语音控制系统主要包括以下几个模块:麦克风(MIC)输入模块,超声波传感器,SPCE061A控制控制模块,机器人动作模块,通信模块和喇叭输出模块,其系统结构图如图3.1智能机器人语音控制系统设计模块结构图所示。图3.1智能机器人语音控制系统设计模块结构图其中机器人动作模块包括左右腿电机、头部电机推进电机和发射电机几个部分,机器人实物连接结构图如图3.2智能机器人硬件连接结构图。图3.2智能机器人硬件连接结构图

SPCE061A单片机的主要特点SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机,⑵使用它可以非常方便灵活的实现语音的录放系统,该芯片拥有8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。两路10位精度的DAC,只需要外接功放(SPY0030A)即可完成语音的播放。另外凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件。SPCE061A内部结构如图3.3SPCE061A内部结构。ICEENICESCKICESDA16位徽处理器ICEENICESCKICESDA16位徽处理器+ICEFLASHROMRAM欢+六位走时器/计救器时基中断控制MICIN锁相环振荡器CPU时钟实时时钟7通道m位ADC单通道ADC+AGC底电压监测>1 Fv収通道1D位锁相环振荡器CPU时钟实时时钟7通道m位ADC单通道ADC+AGC底电压监测>1 Fv収通道1D位低电压复位%——DAC输出討串行输A.输出接AUDIUART(通用异歩串行接LI■!AUD2IOB101057IOBOI0B132位管脚通用输入输出端口SPCE061A的功能特点[13]:16位u'nSP微处理器;工作电压:内核工作电压VDD为3.0〜3.6V(CPU),IO口工作电压VDDH为VDD〜5.5V(I/O);CPU时钟:0.32MHz〜49.152MHz;内置2K字SRAM;内置32K闪存ROM;可编程音频处理;晶体振荡器;•系统处于备用状态下(时钟处于停止状态),耗电小于2口A、3.6V;2个16位可编程定时器/计数器(可自动预置初始计数值);2个10位DAC(数-模转换)输出通道;32位通用可编程输入/输出端口;14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;具备触键唤醒的功能;使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;锁相环PLL振荡器提供系统时钟信号;32768Hz实时时钟;7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;•声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;具备串行设备接口;低电压复位(LVR)功和低电压监测(LVD)功能;内置在线仿真板(ICE,In-CircuitEmulator)接口。电源模块电源电路模块电源采用四节五号电池,其6V直接给机器人运动模块供电,并引出一个电源接口给SPCE061A板供电,SPCE061A上的电源模块如图3.4电源模块电路所示,为了获得标准的3.3V电压,加入SPY0029三端稳压器,并前后两组电容用来滤波,使直流更加干净平滑,两个二极管的作用是防止电源反接,后面的零电阻及其电源、地分成几路的目的是为了减少电磁干扰。

图3.4图3.4电源模块电路3.4MIC输入模块SPCE061A的A/D转换器有8个通道,其中有1个通道是MIC-NI输入,它专门用于对语音信号进行采样。语音信号经过MCI转换成电信号,然后输入至SPCE061A内部前置放大器。由于人们说话时,麦克风距离嘴边的距离不同,语音信号的能量将会有很大的差异,此时,如果芯片的的输入信号太大或是太小都将影响识别的精度。而SPCE061A内部就带有自动增益控制电路AGC能随时跟踪、监视前置放大器输出的音频信号电平,当输入信号增大时AGC电路自动减小放大器的增益;当输入信号减小时,AGC电路自动增大放大器的增益,从而以补偿太小或是太大的信号,以便使进入户A/D的信号保持在最佳电平。K1KQCROPHOKE~F141DKVMICVCM4ikFmicp-IkknewmcouT502K1KQCROPHOKE~F141DKVMICVCM4ikFmicp-IkknewmcouT5021 <OPL3.5语音输出模块语音输出用的是SPCE061A内部集成的DAC,它是电流输出,为了能够驱动扬声器SPEAKEY放音需要相应的驱动电路。图中采用的是凌阳公司生产的语音集成放大器SPY0030单运放。SPY0030与常用的单运放LM386相比其优点如下:(1)LM386的工作电压必须在4V以上,而SPY0030的只需要2.4V即可工作:(2)LM386的输出功率在100W以下,而SPY0030约为700,可以提供足够的驱动能力。要输出的语音信号经D/A转换后经SPY0030放大后由喇叭输出,通过调节电位器R9的大小可以控制输出语音的通路,使得DAC通道处于开路状态,这样便于DAC做其他用途,也可以通过这个跳线来加入自己的外围电路。其电路图如下:R161K图3.6语音输出电路3.6超声波传感模块单片机通过A7口输出一40KHZ的方波,再经反相器驱动超声波发射头,发出脉冲超声波。超声波遇到物体将反射回来,接受头将接收到的超声波调制脉冲变为交变电压信号,经两级运算放大器放大,输出信号控制单片机。其电路图如图3.7产生波传感电路。

图3.7超声波传感电路3.7通信模块通信模块电路是一串行接口电路,单片机的数据通过串口由MAX232电平转换成RS-232电平向上位传输。凌阳SPCE061A单片机串行通信的接收管脚RXD和发送管脚TXD分别与IOB7和IOB10共用。SPCE061A的串行接口为全双工的接口,还没有接收缓冲器。电路中选用标准的RS-232C串行接口是异步串行通信中最为广泛的标准。由于SPCE061A的串行口都为TTL电平,它与RS-232C电平互不相容,所以在二者接口处,必须进行电平转换。利用MAX232芯片处接5V电源,外接电容,可以产生正负10V的电源,形成RS-232C的收发器。本系统中设有通信电路是为了将大量语音数据处理都需要上传给PC,由PC完成。比如,噪声能量和过零率的计算,数字滤波器设计,模型库训练等。其电路原理图如图3.8通信模块电路。2 3 4 5U3Cl?D.luFC20O-.luTg虫

辽TcFR2OUTR2INR1OUTRLINT2INT1TNC2-C2+Cl-C1+T2OUTU3Cl?D.luFC20O-.luTg虫

辽TcFR2OUTR2INR1OUTRLINT2INT1TNC2-C2+Cl-C1+T2OUTT1OUTGNDVCCV-V+MAX230J3DB91660liiF2_buT7h'5VCAP4CZ1o.niF图3.8通信模块电路3.8机器人动作模块机器人共有五个直流电机,除发射电机和推进电机外,其他三个都是正反转两用电机,即在电机驱动端的两路为高低电平时电机转动,改变高低电平的输入顺序,电机反向转动,这样可以控制机器人的前进、后退,左右摇等双向动作。发射电机和推进电机的转动方向是固定的,发射电机的转速较高,高速的旋转带动转盘依靠摩擦力把飞盘发射出去。推进电机的任务就是把发射所需要的飞盘从存储仓输送到发射转盘位置。它依靠的是电机带动一个弹簧的机械装置,电机转动一圈,机簧就会弹射一下,从而完成输送炮弹的任务。由于机器人的左右腿以及脖子驱动电路工作原理相似,这里就以机器人的左腿电机驱动控制电路为例。如图3.9左腿电机所示通过调节IOB8和IOB9的不同电平实现电机的正反转。当IOB8为高IOB9为低时,三极管QI、Q2、Q6导通,则M-L1端相当于接电源VDD;此时又三极管Q3、Q4、Q5截止,则M-L2端相当于接地,这时驱动电机正向转动,当需要电机反转时,只需要IOB8和IOB9反向。R]5图3.9左腿电机发射电机和推进电机的转动方向是固定的,发射电机的转速较高,高速的旋转带动转盘依靠摩擦力把飞盘发射出去。推进电机的任务就是把发射所需要的飞盘从存储仓输送到发射转盘位置。它依靠的是电机带动一个弹簧的机械装置,电机转动一圈,机簧就会弹射一下,从而完成输送炮弹的任务。图3.10发射电机第26页共43页4智能机器人语音控制系统软件设计对于智能机器人软件编程是重要的一环。在软件方面,需要利用C语言和汇编语言在IDE编译环境下对单片机进行编程,主要采取主函数调用子函数的形式。在主函数中,定义在不同的识别结果运行那一个子函数;在子函数中,对各个功能模块进行定义。另外,还需要定义头函数和语音资源模块,在头函数主要定义系统涉及到的中断和存储模块,在语音资源模块主要定义系统所涉及的语音资源,方便在程序中调用。通过利用集成开发环境IDE提供的大量库函数以及C语言,汇编语言的软件编程语句,对机器人所涉及的接口,芯片等硬件和如何根据命令完成各项动作进行编程。软件编程的主要形式就是在主函数中用相关子函数完成特定人语音的训练,然后在训练成功后进行语音识别,并根据识别的命令进行相关的操作[14]。4.1设计总体方案在程序的编制过程中,由于要用到许多函数,不仅要用到C语言的,还需要用到汇编语言的一些指令,所以为了简化程序的编制流程,在设计时,定义了许多模块,便于程序中的调用。整个软件设计基本思路是:程序开始以后,首先初始化10B端口,在判断是否第一次下载,如果是第一次下载不需要擦除闪存FLASH,直接进入语音识别阶段;否则,就要首先擦除闪存中的内容,进入语音训练与存储阶段,完成后置相关位,再进入语音识别阶段。在识别过程中,还需要考虑到延时问题,如果出现延时,就消除触发标志,重新返回语音识别初始化阶段,这就是整个程序的流程如图4.1软件设计总体方案所示。宣相关标志位语音识别初始化设置触发左 右 炭停扌艮警瘵涂FLASH标志软件程序模块主要包括:语音识别程序、语音训练程序、语音播放程序。中断服务程序、机器人动作程序。下面将—介绍。4.2语音识别模块首先初始化语音识别芯片,识别初始化是确定语音输入来源于AD转换器的晰C通道,播放提示音,此时训练人可以对控制系统发出语音命令。然后,系统将采集的语音进行处理,并与存储器中训练人的语音样本进行比较[15]。如果采生的语音是训练人的语音,系统则将该语音与存储的语音命令比较,恨据比较结果产生相应的控制信号,否则不产生控制信号。语音识别过程循环进行,完成一条语音命令的控制任务后系统等待训练人再次发出语音命令。如果训练人不再发出语音命令,系统将一直处于等待状态,语音识别程序包括识别程序和中断服务程序,识别程序完成选取词库、初始化A/D和定时器TimerA、识别运算及识别结果处理。中断服务程序定时读取A/D转换结果,并存入缓冲区,A/D的输入为MIC通道的语音信号。语音识别和语音播放分时复用TimerAFIQ中断,由标志位判断语音识别处理和语音播放处理。图4.2语音识别模块

其中断服务系统设计流程图如图4.3中断系统所示。图4.3中断系统4.3语音训练模块语音训练主要是靠调用库函数BSR_Train(int_WorD,intTrainMode)来实现的,其中参WordlD为命令序号,范围为0x100〜1x105,并且对于侮组训练语句都是唯一的;参数TrainMode为训练次数,为1时表示要求使用者在应用之前训练一次;为0时表示训练两次,为了防止误识命令,每条语音命令训练两次,只有两次命令相同时才成功,训练成功则开始下一条命令的训练,否则继续训练,该函数由6种可能返回值,其中“0”表示训练成功。流程图如图4.4语音训练指令流程图所示。

凌阳单片机SPCE061A单片机具有很强的语音压缩和语音播放功能,语音播放子程序主要完成D/A转换器、定时器和语音初始化,从ROM中取出预先压缩好的语音数据,解压缩后存放到播放列表中。图4.5语音播放4.5机器人动作模块机器人能够按照特定人的指令完成前进、后退、左转、右转、扭头、发射等动作,主要靠控制相应的直流电机完成的。机器人行驶状态由两个电机控制,采用左右轮分开控制的策略,左右轮分别用一个电机控制,控制信号由SPCE061A的B口提供,比如让机器人前进时先设置相应的管脚为高电平并保持一段时间,电机正转,机器人就前进,后退、左转、右转、停止。10B13,I0B14控制机器人头部转动。如图4.6机器人前进动作程序流程图。图4.6机器人前进动作程序流程图5系统调试及仿真5.1系统调试机器人语音系统调试分为硬件调试和软件调试。硬件调试系统的硬件调试和软件调试是密切相关的,许多硬件错误是在软件调试中被发现和纠正的。通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障[16]。5.1.1硬件调试在硬件设计中,首先设计各个模块的硬件电路原理图,然后采购元器件,使用塑料板、仿真开发工具和万用电表等,做好试验样机。接着编写软件,逐一调试各硬件电路模块。针对发现的错误现象,分析原因,修改原理图设计。调通硬件电路之后,就开始PCB设计,设计完PCB板图要按实际尺寸打印出来,把元器件按实际位置对应摆放,检查器件封装呈否正确。检查硬件电路故障一般分为以下几步:(1)排除逻辑故障逻辑故障往往是由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。需要特别检查电源系统,以防止电源短路和极性错误,并重点检查关键信号线之间是否短路。(2)排除失效的元器件元器件失效的两个原因:一是元器件买来时已经坏了,二是安装错误造成原器件烧坏。焊接安装时要检查一下元器件与设计要求的型号、规格是否一致,以避免烧坏。在保证安装无误后,用替换法排除错误。(3)仿真调试开发凌阳单片机系统有IDE编译环境和在线仿真器,仿真和调试非常方便。当错误排除之后就可以进行软件调试了。5.1.2软件调试软件调试是为了分析问题和改正错误的,是一项具有很强技巧性的工作。软件人员在表现常常没有明显的关系。在组成程序的数以万计的元素(语句、数据结构等)中,每一个元素都可能是错误的根源。在浩如烟海的程序元素中找出产生错误的那个(或几个)元素,排除潜在的错误,不是一件易事。因此,调试是通过现象找出原因的一个思维分析过程[17]。软件调试的任务和步骤是:(1)从错误的外部表现形式入手,确定程序的出错位置;(2)研究有关部分的程序,找出错误的内在原因;(3)修改设计和代码,排除有关错误;(4)进行回归测试,以确认错误是否排除,是否引入了新的错误;(5)如果不能通过回归测试,则撤销此次修改,并重复上述过程,直到错误得以正。其中第一项工作的工作量最大,大约占调试总工作量的95%。因而根据错误迹象去定位错误是调试过程的重中之重。经过硬件、软件单独调试后,便可进入硬件和软件的联合仿真调试阶段,以找出软硬件之间不匹配的地方,反复修改和调试。5.2系统仿真机器人语音控制系统将语音识别结果通过串口通讯发送给主控板,可以控制机器人完成前进、后退、左转、右转和停止等功能。智能机器人语音控制系统调试步骤如下:(1)将麦克风从电路板中引出来安放在机器人壳体上,喇叭固定在内侧,用户可以和机器人正面交谈。(2)启动u'SPIDE。打开机器人实例程序,编译、连接确认没有错误。(3)下载程序到机器人的61板上,将机器人系统进行组装。(4)打开机器人的电源,进行语音训练,训练指令有:“名称”、“开始”、“前进”、“后退”、“左转”、“右转”、“停止”、“发射”这几条指令。每

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论