为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 智能轮椅语音导航控制系统的设计

智能轮椅语音导航控制系统的设计

2017-06-03 26页 doc 425KB 26阅读

用户头像

is_601191

暂无简介

举报
智能轮椅语音导航控制系统的设计中北大学信息商务学院2013届毕业设计说明书 1引言 1.1研究背景 目前,助老/助残系列产品的研发己纳入国家863计划之列,可见此类产品的重要性及其对和谐社会建立的战略意义。智能轮椅作为助老/助残系列产品之一,其智能化体现在多方面。其中,为其提供一个自然的语音控制界面是其智能化的一个重要体现。 把语音识别算法移植到嵌入式设备中,实现轮椅的自主运动具有重要的现实意义。对于硬件的实现,需要考虑实际系统的需求与成本,以避免资源的浪费,同时降低了成本以提高性价比。轮椅语音识别控制系统是属于一个拥有几十个词的小词汇量的识别控制系统,系...
智能轮椅语音导航控制系统的设计
中北大学信息商务学院2013届毕业设计说明书 1引言 1.1研究背景 目前,助老/助残系列产品的研发己纳入国家863之列,可见此类产品的重要性及其对和谐社会建立的战略意义。智能轮椅作为助老/助残系列产品之一,其智能化体现在多方面。其中,为其提供一个自然的语音控制界面是其智能化的一个重要体现。 把语音识别算法移植到嵌入式设备中,实现轮椅的自主运动具有重要的现实意义。对于硬件的实现,需要考虑实际系统的需求与成本,以避免资源的浪费,同时降低了成本以提高性价比。轮椅语音识别控制系统是属于一个拥有几十个词的小量的识别控制系统,系统要求上不在于大词汇量与连续语音识别,而在于准确性与稳健性,对此选择一种性价比高的SOC结构的嵌入式系统不仅可以大大减少了芯片数量,而且能够提供高集成度和相对低成本的解决方案,同时也使得系统的可靠性大为提高,还可以满足嵌入式系统对体积的要求。 台湾凌阳16位单片机SPCE061A是一款性能良好的嵌入式微处理器,具有体积小、集成度高、可靠性好且易于扩展,较强的中断处理能力,高性能价格比,功能强!效率高的指令系统,低功耗、低电压等特点[1]。采用SPCE061A作为机器人系统的核心的部件,利用其所具有的语音处理和DSP功能,不仅可以对机器人的语音控制,而且还可以快速地对语音信号进行处理,从而实现自然人对机器人的控制。 本文采用SPCE061A作为轮椅语音控制系统的核心,实现了轮椅的前进、后退、左拐、右拐、停止、加速、减速运动,还可以根据运动要求通过语音实现轮椅的变速运动。基于SPCE061A的语音控制系统结构简单,性价比高,易于功能扩展和移植,具有广阔的应用前景。 1.2国内外研究现状与发展趋势 国外对智能轮椅的研究可以追溯到20世纪80年代,世界第一辆智能轮椅是英国于1986年研制的。继英国之后,其它国家也投入大量经费开始了智能轮椅的研究,研发机构大部分为高等院校和科研机构。当时的研发机构有:美国麻省理工学院、不莱梅大学、德国乌尔姆大学、韩国高级科技研究所等[2~4]。由于各个研发机构的研究内容和方 第1页共30页 中北大学信息商务学院2013届毕业设计说明书 法不同,所以研发的轮椅具备不同的功能。 各大研发机构中研制的功能比较齐全的一款智能轮椅是由美国麻省理工智能实验室研制的。这款智能轮椅是在电动轮椅的基础上配备了PC机和各种传感器,此轮椅具备人机界面交互功能。使用者可以使用操纵杆方式、菜单方式或者用户界面接口方式对轮椅进行控制。在操纵杆方式下,用户通过控制操纵杆来控制轮椅的各种运动并且可以实现避碰;用户界面模式下,用户可以使用鹰眼系统来驱动智能轮椅的运动。该轮椅在国际联合会的机器人轮椅展中获得冠军,并且是唯一不需要人来指导就可以穿过门口的机器人。 我国对智能轮椅的研究晚于世界其它国家,虽然在机构的复杂性和灵活性上和国外有一定差距,但某些技术指标已经接近国外先进水平。 中科院自动化所承担了“863”智能机器人智能轮椅项目,研制出我国第一台多模态交互式智能轮椅样机,该样机采用嵌入式控制系统。该机器人轮椅名为NLPR,具有视觉和口令导航功能并且能够与人进行语音交互,用户能够通过语音控制轮椅实现各种运动。 在智能机器人领域内,目前有一些人工智能产品可以与人进行短暂的对话,比如爱尔兰媒体实验室开发的名为“人类”的新型机器人;以及中国科学院自动化研究所最新研制的表情机器人“童童”等。语音识别技术在机器人控制领域的应用体现在语音控制机器人技术上,因此,语音控制机器人技术的研究与发展取决于语音识别技术的研究与发展[5]。 60年代的重要成果是提出了线性预测分析技术(LinearPrediction,LP)和动态规划算法(DynamicProgramming,DP),较好的解决了语音的特征提取和时间不等长匹配问。 70年代,人们对语音识别技术的研究开始了飞速发展,研究重心为孤立词语音识别,并取得了突破性成果。动态时间归整技术(DynamicTimeWarping,DTW)基本成熟,特别是提出了矢量量化(VectorQuantization,VQ)和隐马尔可夫模型(HiddenMarkovModel,HMM)理论。实现了基于线性预测倒谱和DTW技术的特定人孤立词语音识别系统。 80年代,语音识别研究进一步走向深入,连接词和大词汇量连续语音识别成为研究热点,HMM模型和人工神经网络(ANN)算法在语音识别中成功应用。统计模型取代模 第2页共30页 中北大学信息商务学院2013届毕业设计说明书 板匹配的方法成为主流的语音识别技术。具有代表性的系统有:1988年美国卡耐基•梅隆大学(CMU)基于VQ/HMM开发的997个词汇的非特定人连续语音识别系统SPHINX。 90年代,语音识别技术逐渐由实验室走向实用化。许多国外大公司推出了比较成功的大词汇量、连续语音识别系统,比如IBM的ViaVoice系列、Microsoft的WhisPer、CMU的SPHINX-II,这些系统大多都采用了隐马尔可夫模型。 目前具有代表性的语音识别方法主要有特征参数匹配法、隐马尔科夫法和神经网络法[6]。在语音识别领域,IBM公司的技术已日趋成熟。IBM公司于1998年开发出可以识别上海话、四川话和广东话等地方口音的语音识别系统ViaVoice’98,其平均识别率可以达到90%以上,是目前最具有代表性的汉语连续语音识别系统。 我国的语音识别研究工作近年来发展很快,同时也开始从实验室逐步走向实用化。1987年开始执行863计划,国家863《智能计算机主题》专家组为语音识别的研究立项。从1991年开始,专家组每一两年举行一次全国性的具有较高水平的语音识别系统测试,这些都说明汉语语音识别研究已经走上了组织化的道路[7]。目前,我国对语音识别技术的研究在某些领域已达到国际先进水平。 科大讯飞作为我国最大的智能语音技术提供商,在智能语音技术领域有着长期的研究积累,并在中文语音合成、语音识别、口语评测等多项技术上拥有国际领先的成果。科大讯飞曾在国际英文合成大赛(BlizzardChallenge)上夺得六连冠,在2011年的“2011NIST”语种识别评测大赛上获得国际亚军,为中国科技界赢得了荣誉。 从各大公司、各研究机构的语音研究项目来看,语音识别正在向综合化方向发展。总之,语音识别的研究正在朝深度和广度不断发展。 1.3主要设计工作 1、在熟悉智能轮椅的工作原理的基础上,进一步深入分析基于语音识别技术的智能轮椅导航控制系统的运行原理; 2、分析语音识别的基本方法,进行系统总体设计; 3、在理解凌阳16位单片机SPCE061A的工作原理后,进行智能轮椅语音导航控制系统的硬件选型与电路设计; 4、绘制语音导航控制系统的硬件电路原理图; 5、进行智能轮椅语音导航控制系统的软件设计。 第3页共30页 中北大学信息商务学院2013届毕业设计说明书 2凌阳SPCE061A单片机简介 2.1概述 SPCE061A是台湾凌阳科技公司研制的一个16位架构的微控制器。它的内核采用凌阳公司最新推出的MicrocontrollerandSignalProcessor(简称µ’nSP™)16位微处理器芯片。SPCE061A既具有体积小、集成度高、可靠性好的特点,又具有较强的中断处理能力、高性价比和功能强、效率高的指令系统及低功耗、低电压的特点。因此,SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。 2.2主要性能 ▲16位µ’nSP™微处理器; ▲工作电压(CPU)VDD为2.4-3.6V(I/O)VDDH为2.4-5.5V; ▲CPU时钟:0.32MHz-49.152MHz; ▲内置2kSRAM; ▲内置32kFLASH; ▲可编程音频处理; ▲晶体振荡器; ▲系统处于备用状态下(时钟处于停止状态),耗电仅为2µA@3.6V; ▲2个16位可编程定时器/计数器(可自动预置初始计数值); ▲2个10位DAC(数-模转换)输出通道; ▲32位通用可编程输入/输出端口; ▲14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒; ▲具备触键唤醒的功能; ▲使用凌阳音频编码SACM-S240方式(2.4kb/s),能容纳210秒的语音数据;▲锁相环PLL振荡器提供系统时钟信号; 第4页共30页 中北大学信息商务学院2013届毕业设计说明书 ▲32768Hz实时时钟; ▲7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器; ▲声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;▲具备串行设备接口; ▲具有低电压复位(LVR)功能和低电压监测(LVD)功能;▲内置在线仿真电路ICE(In-CircuitEmulator)接口;▲具有保密能力;▲具有WatchDog功能[8]。2.3结构 SPCE061A的结构如图2.1所示: ICE_SCKICE_SDA 16位微控制ICE 器 µ’nSP™+ FLASH 双16位定时器/计 数器时基中断控制7通道10位ADC RAM VcpXI/RXO 锁相环振荡器 CPU时钟实时时钟 单通道ADC+AGC双通道10位ADC串行输入输出接口) MIC_INAUD1AUD2 低电压监测/低电压 复位 32管脚输入输出端口 图2.1SPCE061A结构图 第5页共30页 中北大学信息商务学院2013届毕业设计说明书 2.461板的结构 61板除了具备单片机最小系统电路外,还包括电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,采用电池供电,方便随身携带。61板上有调试器(PROBE)接口以及下载线(EZ_PROBE)接口,分别可接凌阳科技的在线调试器、简易下载线,配合µ’nSPIDE,可方便地在板上实现程序的下载、在线仿真调试。图2.2是61板(V1.6 版)的实物图。 图2.261板实物图片 61板的硬件结构框图如图2.3 。 图2.361板硬件结构框图 第6页共30页 中北大学信息商务学院2013届毕业设计说明书 61板的硬件电路大体上可分为SPCE061A最小系统、电源电路、音频电路、ICE接口等模块,下面分别介绍61板的各部分电路。 2.5SPCE061A最小系统 SPCE061A最小系统中,包括SPCE061A芯片及其外围的基本模块,其中外围的基本模块有:晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,如图2.4 所示。 图2.4SPCE061A最小系统 (1)电源电路 图2.5是电源部分的电路,由电池盒提供的4.5V直流电压经过SPY0029后产生3.3V给整个系统供电。SPY0029是凌阳公司设计的电压调整IC,采用CMOS工艺,具有静态电流低、驱动能力强、线性调整出色等特点。图中的VDDH3为SPCE061A的I/O电平参考,如果该点接SPCE061A(PLCC84封装,下面的介绍中当出现SPCE061A的引脚描述时, 第7页共30页 中北大学信息商务学院2013届毕业设计说明书 均指此封装的芯片)的51脚,可使I/O输出高电平为3.3V;VDDP为PLL锁相环电源,接SPCE061A的7脚;VDD和VDDA分别为数字电源与模拟电源,分别接SPCE061A的15脚和36脚;AVSS1是模拟地,接SPCE061A的24脚;VSS是数字地,接SPCE061A的38脚;AVSS2接音频输出电路的AVSS2[9] 。 图2.5电源电路图 (2)音频电路 音频电路由音频输出和音频输入两部分组成。图2.6是音频输出电路图。SPCE061A内置2路10位精度的DAC,只需要外接功放电路即可完成语音的播放。图中的SPY0030是凌阳的一款音频放大芯片,可以工作在2.4-6V范围内,最大输出功率可达700mW[9] 。 图2.6音频输出电路 SPCE061A芯片中已经集成了音频输入专用ADC以及AGC放大电路,因此芯片外部的电路比较简单,图2.7是61板的音频输入电路模块。 第8页共30页 中 北大学信息商务学院2013届毕业设计说明书 图2.7音频输入模块 (3)ICE接口电路 SPCE061A芯片内部集成了ICE(在线仿真)接口,PC机通过PROBE(在线调试器)或EZ_PROBE(简易下载线)与61板相连,就可以方便地完成程序的下载、调试等。61板为PROBE和EZ_PROBE各自提供了一组接口,可通过S5跳线来选择使用的接口类型。ICE接口部分电路如图2.8所示。 图2.8ICE接口电路 第9页共30页 中北大学信息商务学院2013届毕业设计说明书 2.6轮椅语音控制系统的 本设计中语音识别系统为小词量孤立词特定人识别系统,由特定人进行语音训练,系统只对训练人的语音命令敏感,语音命令由一条触发名称和四条语音命令构成。在命令识别完毕后发出使轮椅动作的指令。 语音控制轮椅的主要功能: (1)可以通过简单的I/O操作实现轮椅的前进、后退、左转、右转功能; (2)配合SPCE061A语音处理的特点,利用系统的语音播放和语音识别资源,实现语音控制的功能; (3)可以在行走过程中声控改变轮椅运动状态; (4)在超出语音控制范围时能够自动停车。 总体设计思路:整个系统由一片凌阳SPCE061A单片机作为核心,轮椅控制板和车体为周边器件组成,控制板安装在轮椅车体上。通过软件编程实现轮椅的上述功能。3轮椅语音控制系统的硬件设计 3.1系统设计方案 系统组成主要包括以下三部分:SPCE061A精简开发板、语音轮椅控制电路板、车体部分。如图3.1所示。图中的语音输入部分MIC_IN、按键输入KEY、声音输出部分的功率放大环节等已经做到了61板上。在电机的驱动方面,采用全桥驱动技术,利用四个I/O端口分为两组分别实现两个电机的正转、反转和停三态运行,系统硬件组成框图如图3.2。 第10页共30页 中北大学信息商务学院2013届毕业设计说明书 61板 MIC KEY 滤波 方向控制桥路 方向电机 控制板 SPCE061A 驱动控制桥路 驱动电机 功放SPK 图3.1系统结构图 IOA0IOA1IOA2 SPCE061A IOB8IOB9IOB10IOB11 Bridge1 M1 Bridge2 M2 接地 图3.2系统硬件组成框图 3.2系统控制方案 轮椅的运动控制采用语音控制和中断定时控制相结合,通过语音触发轮椅动作,轮椅动作之后,随时可以通过语音指令改变轮椅的运动状态。在每一次动作触发的同时启动定时器,如果轮椅由于某些原因不能正常的接收语音指令,则只要定时时间到,中断服务程序会发出指令让轮椅停下来。3.3轮椅介绍 语音控制轮椅为四轮结构,其中前面两个车轮由前轮电机控制,在连杆和支点作用下控制前轮左右摆动,来调节轮椅的前进方向。在自然状态下,前轮在弹簧作用下保持 第11页共30页 中北大学信息商务学院2013届毕业设计说明书 中间位置。后面两个车轮由后轮电机驱动,为整个轮椅提供动力。所以又称前面的轮子为方向轮,后面的两个轮子为驱动轮,如图3.3 所示。 图3.3 车体侧视图 图3.4车体顶视图 (1)轮椅的行走原理 前进:由轮椅的结构分析,在自然状态下,前轮在弹簧作用下保持中间状态,这时只要后轮电机正转轮椅就会前进。如图3.5所示: 第12页共30页 中 北大学信息商务学院2013届 毕业设计说明书 图3.5前进示意图 倒车:倒车动作和前进动作刚好相反,前轮电机仍然保持中间状态,后轮电机反转,轮椅就会向后运动,如图3.6所示: 图3.6倒车示意图 左转:前轮电机逆时针旋转(规定为正转),后轮电机正转,这时轮椅就会在前后轮共同作用下朝左侧前进,如图3.7所示; 第13页共30页 中 北大学信息商务学 院2013届毕业设计说明书 图3.7左转示意图 右转:前轮电机反转,后轮电机正转,这时轮椅就是会在前后轮共同作用下朝右侧前进,如图3.8所示。 图3.8右转示意图 3.4控制板介绍 控制板主要包括:接口电路、电源电路和两路电机的驱动电路,控制板原理图如图 3.9所示。 第14页共30页 中 北大学信息商务学院2013届毕业设计说明书 图3.9控制板原理图 (1)接口电路:接口电路负责将61板的I/O接口信号传送给控制电路板,I/O信号主要为控制电机需要的IOB8-IOB11这四路信号,同时为了方便后续的开发和完善,预留了IOB12-IOB15以及IOA8-IOA15接口,可以在这些接口上添加一些传感器。 (2)电源电路:整个轮椅有4个电源信号:电池电源,控制板工作电源,61板工作电源,61板的I/O输出电源。系统供电由电池提供,控制板直接采用电池供电(VCC),然后经二极管D1后产生61板电源(VCC-61),通过61板的VIO跳线产生61板的端口电源(V1)。 二极管D1作用: 1)降压,4节电池提供的电压VCC最大可达到6V(模拟实验采用4节电池,实际使用时视情况使用更大电源和电机),D1可有效地降压。 2)保护,D1可以防止电源接反烧坏61板。 (3)两路电机的驱动电路: 1)动力电机驱动电路:动力驱动由后轮驱动实现,负责轮椅的直线方向运动,包 第15页共30页 中北大学信息商务学院2013届毕业设计说明书 括前进和后退,后轮驱动电路是一个全桥驱动电路,如图3.10所示:Q1、Q2、Q3、Q4四个三极管组成四个桥臂,Q1和Q4组成一组,Q2和Q3组成一组,Q5控制Q2、Q3的导通与关断,Q6控制Q1和Q4的导通与关断,而Q5、Q6由IOB9和IOB8控制,这样就可以通过IOB8和IOB9控制四个桥臂的导通与关断控制后轮电机的运行状态,使之正转反 转或者停转,进而控制轮椅的前进和后退。 图3.10后轮电机驱动电路 当IOB8为高电平、IOB9为低电平时Q1和Q4导通,Q2和Q3截止,后轮电机正转,轮椅前进;反之当IOB8为低电平、IOB9为高电平时Q1和Q4截止,Q2和Q3导通,后轮电机反转,轮椅倒退;而当IOB8、IOB9同为低电平时Q1、Q2、Q3和Q4都截止,后轮电机停转,轮椅停止运动。 注意:IOB8和IOB9不能同时置高电平,这样会造成后轮驱动全桥短路现象。 2)方向电机控制电路:方向控制由前轮驱动实现,包括左转和右转,前轮驱动电路也是一个全桥驱动电路,如图3.11所示。Q7、Q8、Q9、Q10四个三极管组成四个桥臂,Q7和Q10组成一组,Q8和Q9组成一组,Q11控制Q8、Q9的导通与关断,Q12控制Q7和Q10的导通与关断,而Q11、Q12由IOB10和IOB11控制,这样就可以通过IOB10和IOB11控制前轮电机的正转和反转,进而控制轮椅的左转和右转。 第16页共30页 中 北大学信息商务学院2013届毕业设计说明书 图3.11前轮电机驱动电路 当IOB10为高电平、IOB11为低电平时Q8和Q9导通,Q7和Q10截止,前轮电机正转,轮椅前轮朝左偏转;反之当IOB10为低电平、IOB11为高电平时Q8和Q9截止,Q7和Q10导通,前轮电机反转,轮椅前轮朝右偏转;而当IOB10、IOB11同为低电平时Q8和Q9截止,Q7和Q10也截止,前轮电机停转,在弹簧作用下前轮被拉回到中间位置,保持直向。 注意:IOB10、IOB11不能同时为高电平,这样会造成前轮驱动全桥的桥臂短路。结合以上对前轮和后轮的状态分析,得到轮椅的运行状态与输入的对照表,如表3.1。 表3.1IOB端口的输入与轮椅运动状态对照表 IOB1100001 IOB1000010 IOB900100 IOB801011 后电机停转正转反转正转正转 前电机停转停转停转正转反转 轮椅停前进倒退左前转右前转 注意:为了轮椅的安全请不要出现以下两种组合情况,如表3.2。 表3.2禁止的输入状态列表 IOB11*1 IOB10*1 IOB91* IOB81* 后电机停转* 前电机*停转 轮椅停停 第17页共30页 中北大学信息商务学院2013届毕业设计说明书 (4)PWM调速原理 如果需要调速,可以直接调用SPCE061A的PWM资源,通过调节PWM的占空比来实现速度的调节。当IOB11-IOB8输出的逻辑电平组合为“0001”时,加在后轮电机上的驱动电压为VCC;而当IOB11-IOB8输出“0000”时,加在后电机上的电压为0V。如果交替地向端口送“0001”和“0000”两种组合(PWM输出端口自动实现),那么加在轮椅电机两端的电压就在VCC和0V之间不停的跳变,对应的电机电压波形如图3.12所示。0V 图3.12PWM调速原理图U0 此时加在电机两端的平均电压Uo=Th/(Th+Tl)*VCC。可以通过调整PWM的占空比,来改变Th和Tl的比值,从而改变Uo的大小。这样就可以通过PWM资源调节加在电机两端的平均电压,从而改变电机的转速,最终实现调节轮椅速度的目的。另外也可以利用程序使端口产生PWM波形,控制轮椅的速度。 第18页共30页 中北大学信息商务学院2013届毕业设计说明书 4轮椅语音控制系统的软件设计 语音控制轮椅的主程序工作流程分为四大部分:初始化部分、训练部分、识别部分、重训操作,如图4.1所示。开始 初始化 训练轮椅 装载语音模型 保存训练结果 进入识别模式 语音识别与执行 重新训练 清模型存储区 等待复位 图4.1主程序流程图 初始化部分:初始化操作将IOB8-IOB11设置为输出端,用以控制电机。必要时还要有对应的输入端设置和PWM端口设置等。 训练部分:训练部分完成的工作就是建立语音模型。程序一开始判断轮椅是否被训练过,如果没有训练过则要求对其进行训练,并且会在训练成功之后将训练的模型存储到FLASH,在以后使用时不需要重新训练;如果已经训练过会把存储在FLASH中的模型调出来装载到辨识器中。 第19页共30页 中北大学信息商务学院2013届毕业设计说明书 识别部分:在识别环节当中,如果辨识结果是名字,停止当前的动作并进入待命状态,然后等待动作命令。如果辨识结果为动作指令轮椅会语音告知相应动作并执行该动作,在运动过程中可以通过呼叫轮椅的名字使轮椅停下来。 重训操作:考虑到有重新训练的需求,设置了重新训练的按键(61板的KEY3),循环扫描该按键,一旦到此键按下,则将擦除训练标志位(0xe000单元),并等待复位。复位后,程序重新执行,当检测到训练标志位为0xffff时会要求重新对其进行训练。 下面将详细介绍以上的子程序。 4.1训练子程序 当程序检测到训练标志位BS_Flag内容为0xffff,就会要求操作者对它进行训练操作,训练操作的过程如图4.2所示:训练采用两次训练获取结果的方式,以训练名字为例:轮椅首先会提示:给我取个名字吧,这时你可以告诉它一个名字(比如Jack);然后它会提示:请再说一遍,这时再次告诉它名字(Jack),如果两次的声音差别不大,轮椅就能够成功的建立模型,名称训练成功;如果没能够成功的建立模型,轮椅会告知失败的原因并要求重新训练。成功训练名称后会给出下一条待训练指令提示音:前进,参照名称训练方式训练前进指令。依次训练轮椅的名称-前进指令-倒车指令-左转指令-右转指令,全部训练成功子程序返回,训练结束。开始训练 训练左转指令 训练名称 Y 训练前进指令 训练倒车指令 Y训练结束训练成功提示训练右转指令图4.2训练流程图 第20页共30页 中北大学信息商务学院2013届毕业设计说明书 训练过程主要是靠调用库函数BSR_Train来完成,为了防止误命令,每条语音命令训练2遍,只有2次命令相同时才成功,BSR_Train函数有8种可能的返回值: 0——训练成功; -1——没有检测到命令; -2——需要再训练一次,每条命令训练2次,第一次训练成功则返回-2;-3——环境太吵; -4——存储器满; -5——两次命令不一样; -6——命令序号超出范围; -7——命令已存在; 训练成功则训练下一条,否则继续训练。 训练程序如下: intTrainWord(unsignedintWordID,unsignedintSndID){intResult;PlaySnd(SndID,3);//引导训练,播放指令对应动作while(1){Result=BSR_Train(WordID,BSR_TRAIN_TWICE);//训练两次,获得训练结果 if(Result==0)break;switch(Result){case-1://没有检测出声音PlaySnd(S_NOVOICE,3);return-1;case-2://需要训练第二次PlaySnd(S_AGAIN,3);break;case-3://环境太吵PlaySnd(S_NOISY,3);return-3; 第21页共30页 }}return0;中北大学信息商务学院2013届毕业设计说明书return-4;case-5://检测出声音不同PlaySnd(S_CMDDIFF,3);return-5;case-6://序号错误return-6;default:break;} 4.2语音识别子程序 语音识别流程如图4.3所示:首先获取辨识器的辨识结果,判断是否有语音触发,如果有语音触发则会返回识别结果的ID号,ID号对应名称或者对应不同的动作。如果ID号为名称,则结束运动(如果当前在运动状态),进入待命状态,等待下一次的指令触发;如果ID号为动作,则语音告知将要执行的动作,并执行该动作。语音识别 语音触发 前进指令倒车指令左转指令右转指令名字 前进倒车左转右转停车待命 返回 图4.3语音识别部分流程图 第22页共30页 中北大学信息商务学院2013届毕业设计说明书 语音识别程序如下: voidBSR(void){intResult;//辨识结果寄存Result=BSR_GetResult();//获得识别结果 if(Result>0)//有语音触发?{*P_IOB_Data=0x0000;//临时停车switch(Result){caseNAME_ID://识别出名称命令Stop();//停车待命break;caseCOMMAND_GO_ID://识别出第一条命令GoAhead();//执行动作一:直走break;caseCOMMAND_BACK_ID://识别出第二条命令BackUp();//执行动作二:倒车break;caseCOMMAND_LEFT_ID://识别出第三条命令TurnLeft();//执行动作三:左转break;caseCOMMAND_RIGHT_ID://识别出第四条命令TurnRight();//执行动作四:右转break;default:break;}}} 4.3中断子程序 虽然已经有了前进、后退以及停车(通过直接呼叫轮椅的名字使其停车)等语音控制指令,但是考虑环境的干扰因素,轮椅运行时的噪音影响和有效距离的限制,轮椅运行后可能接收不到语音指令而一直运行。为了防止出现这种情况,加入了时间控制,在启动轮椅运行的同时启动定时器,定时器时间到停止轮椅的运行,该定时器借助于2Hz时基中断完成,图4.4所示为该程序的流程图。可以在程序中修改uiTimeset参数来控 第23页共30页 中北大学信息商务学院2013届毕业设计说明书 制运行时间,当uiTimeset=2时,运行时间为1s,以此类推。2Hz中断 定时计数器加1 定时到? 停车待命 中断返回 图4.42Hz定时中断子函数 中断服务程序如下: _FIQ://寄存器入栈PUSHR1,R4TO[SP]//读中断标志位R1=[P_INT_Ctrl]R1&=0x2000JZFIQ_ret//不是TimerAFIQ中断R1=[__gIsStopRecog]JNZTimerA_is_S480TimerA_is_Recognize://TimerAFIQ为语音识别服务call_BSR_FIQ_Routine//语音识别服务函数JMPFIQ_retTimerA_is_S480://TimerAFIQ为放音服务CALLF_FIQ_Service_SACM_S480;//放音服务函数FIQ_ret:R1=0xa800;[P_INT_Clear]=R1;//清中断标志POPR1,R4FROM[SP];//寄存器出栈reti; 4.4动作子程序 动作子程序包括:前进、倒车、左拐、右拐、停车子程序。 (1)前进:由轮椅的结构原理和驱动电路分析知:只要IOB8为高电平,IOB9,IOB10,IOB11全部为低电平即可实现轮椅的前进。前进子程序包括语音提示、置端口数据、启 第24页共30页 中北大学信息商务学院2013届毕业设计说明书 动定时器操作。 前进动作子程序如下: voidGoAhead()//前进{PlaySnd(S_ACT1,3);//提示*P_IOB_Data=0x0100;//前进*P_INT_Mask|=0x0004;//以下为中断定时操作__asm("intfiq,irq");uiTimecont=0;} (2)倒车:由轮椅的结构原理分析和驱动电路分析知:只要IOB9为高电平,IOB8,IOB10,IOB11全部为低电平即可实现轮椅的倒退。倒退子程序包括语音提示、置端口数据、启动定时器操作。 倒车动作子程序如下: voidBackUp()//倒退{PlaySnd(S_DCZY,3);//提示*P_IOB_Data=0x0200;//倒退*P_INT_Mask|=0x0004;//以下为中断定时操作__asm("intfiq,irq");uiTimecont=0;} (3)左转:由轮椅的结构原理分析和驱动电路分析知:轮椅左转需要两个条件:1)前轮左偏;2)后轮前进,这时对应的I/O状态为:IOB8、IOB10为高电平,IOB9、IOB11为低电平。左转子程序包括语音提示、置端口数据、启动定时器操作。 左转动作子程序如下: voidTurnLeft()//左转{PlaySnd(S_GJG,3);*P_IOB_Data=0x0900;//右转Delay();//延时*P_IOB_Data=0x0500;//左转*P_INT_Mask|=0x0004;//以下为中断定时操作__asm("intfiq,irq"); 第25页共30页 }中北大学信息商务学院2013届毕业设计说明书(4)右转:由轮椅的结构原理分析和驱动电路分析知:轮椅右转需要两个条件:1)前轮右偏;2)后轮前进,这时对应的I/O状态为:IOB8、IOB11为高电平,IOB9、IOB10为低电平。右转子程序包括语音提示、置端口数据、启动定时器操作。 右转动作子程序如下: voidTurnRight()//右转{PlaySnd(S_GJG,3);//语音提示*P_IOB_Data=0x0500;//左转Delay();//延时*P_IOB_Data=0x0900;//右转*P_INT_Mask|=0x0004;//以下为中断定时操作__asm("intfiq,irq");uiTimecont=0;} 注:在转弯之前首先让前轮朝目标方向的反方向偏转,然后再让前轮朝目标方向偏转,这样前轮的摆动范围更大,惯性更大,摆幅也最大,能更好实现转弯。 4.5连接与调试 本设计对软件的仿真与下载要用到凌阳公司提供的集成开发环境µ’nSPIDE(简称IDE)。IDE集程序的编辑、编译、链接、调试、仿真功能为一体。具有良好的交互界面、下拉菜单、快捷键和快速访问命令列表等使程序设计更加方便高效,此外还可以组织多个程序文件形成一个系统开发的项目,这样更有利于一些大型系统的开发和各功能的模块化,同时还结合SPCE061A单片机的硬件提供各类在线调试窗口,使调试程序变得更加直观和简单。 4.6总结分析 本设计综合应用了SPCE061A丰富的软硬件资源,成功的实现了语音控制功能。下面简单的介绍一下实际应用中的一些资源优势:在硬件方面,较高的执行速度、内置的硬件乘法器、ADC和DAC功能、内置的AGC自动增益环节,这些为语音处理提供了强大基础。在软件方面,标准的C语言编程,丰富的语音资源函数为编程提供了很大的方便。 第26页共30页 中北大学信息商务学院2013届毕业设计说明书 该设计方案结构简单,以单芯片实现了语音播放与识别以及电机控制功能,相当于“语音识别芯片+普通单片机”的功能。但是比“语音识别芯片+普通单片机”方案实现起来要简单很多,而且成本也会降低很多。 该语音控制轮椅操作比较简单,训练和识别成功的几率也比较高,是一个典型的语音识别应用方案。 第27页共30页 中北大学信息商务学院2013届毕业设计说明书 参考文献 [1]罗亚非。凌阳16位单片机应用基础。北京:国防工业出版社,2004 [2]HollyA.Yanco,ArmaHazel,AlisonPeacock,SuzannaSmith,andHarrietWintermute.InitialReportonWheelesley:ARoboticWheelchairSystem.http://www.google.com [3]AxelLankenau,ThomasRofer.AVersitalandSafeMobilityAssistant[J].IEEERoboticsandAutomationMagazine,2001,8(1):29-37. [4]ErwinParssler,JensScholz,PaoloFiorini.Aroboticswheelchairforcrowdedpublicenviron-ments[J].IEEERobotics&AutomationMagazine,2001,8(1):38-45. [5]金晶.轮椅机器人语音识别、控制技术的研究[D].苏州:苏州大学硕士学位论文.2006. [6]詹新明,黄南山.语音识别技术研究进展[J].现代计算机(专业版),2009. [7]何湘智.语音识别的研究与进展[J].计算机与现代化,2002(3):3-6. [8]SUNPLUS,SPCE061AProgrammingGuideV1.2,www.unsp.com.cn,05.05.2003:2-6 [9]赵子婴,崔剑,陈小麟.SPCE061A微控制器在单片机语音实验中的应用.实验室研究与探索,2004(1):15-19 [10]闫守华.语音控制系统的研制.成都气象学院学报,1997(3):3-6 [11]凌阳电子.SPCE061A原理与应用.凌阳单片机网站(www.unsp.com.cn),2004:12-19 [12]王和顺,黄惟公,邓成中.基于SPCE061A的语音识别系统的研究.计算机工程与设计,2004,25(12):2222-2224 [13]YouKuo-Hwei,WangHsiao-Chuan,“RobustFeatureDerivedformTemporalTrajectoryFilteringforSpeechRecognitionundertheCorruptionofAdditiveandConvolutionNoises”,IEEEICASSP,Vol.18,No.3,1998 [14]D.K.Burton,J.E.Shore,“IsolatedWordRecognitionWordRecognitionUsingMultisectionVectorQuantizationCodebooks”,IEEETransonASSP,Vol.33,No.3,1985 [15]易克初,田斌,付强.语音信号处理.国防工业出版社,2000:11-44,154-172 [16]孙恒,李春.嵌入式语音识别系统的研究.计算机与现代化,2003(6):20-23 [17]李晶皎.嵌入式语音技术及凌阳16位单片机应用.北京航空航天大学出版社,2003:1-10,88-109 第28页共30页 中北大学信息商务学院2013届毕业设计说明书 [18]何湘智.语音识别技术的研究与发展.计算机与现代化,2002(3):3-6 [19]陈永彬.语音信号处理.上海交通大学出版社,1990:7-10 [20]童诗白,华成英.模拟电子技术基础(第三版)[M].高等教育出版社,2000. [21]雷思孝,李伯成等.单片机原理及实用技术--凌阳16位单片机原理及应用[M].西安:西安电子科技大学,2004. [22]彭为,黄科,雷道仲.单片机典型系统设计实例精讲[M].电子工业出版社,2006. [23]张友德.单片微型机原理、应用于实验[M].3版.上海:复旦大学出版社,2000. [24]黄根春,陈小桥,张望先.电子设计教程[M].北京:电子工业出版社,2007. [25]李玉贤,欧阳斌林.基于SPCE061A单片机的语音识别系统的研究.优秀硕士学位论文库. [26]张震宇,王华.基于凌阳单片机的语音识别技术及应用.微计算机信息,2007,8-2:23. [27]周月霞,周传友.DS18B20硬件连接及软件编程[J].传感器世界.2001年第12期. [28]张培仁,张志坚,高修峰.十六位单片机微处理器原理及应用(凌阳SPCE061A)[J].北京清华大学出版社,2005. [29]张春峰,邹新杰,余张国.基于ATMEGA16的智能控制器的开发研制[J].微计算机信息,2007,23(8):123-124. [30]凌阳单片机网站:www.unsp.com.cn 第29页共30页
/
本文档为【智能轮椅语音导航控制系统的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索