版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
前言随着社会科技文化的快速发展和人口老龄化问题的不断加剧,以及由先天性因素和后天性疾病灾难造成的残障人群逐年增加。在这些人群中,丧失不同程度行走能力的人数占很高的比例。国家统计局指出,到2022年末,全国65岁及以上的人口总数为16658万,占全国总人口的11.9%。与2021年相比,65岁及以上人口增加827万人,人口老龄化的问题在我国日益严重。同时2007年,第二次全国残疾人抽样调查分析指出,我国现有残疾人口总数达到8296万,占全国总人口的比例为6.34%,其中在各类残疾人中,肢体残缺的人数占比为29.07%,共2412万人左右。党的十九大报告明确指出,要加强社会保障体系,发展残疾人事业,提高残疾康复服务水平,国家重视残疾人生活质量水平,鼓励科研院所和公司企业进行残疾人辅助器械、残疾人康复用具等方面的研究。目前,为了改善老年人和社会残疾人士出行条件,提高他们的生活水平,使他们重新获得自理生活的能力,科学工作者从多方面进行研究。有的研究学者通过分析大脑对肢体运动的控制作用,获取人脑的运动思维信息,对肢体动作进行分析,实现人脑与机器交互;也有一些研究学者通过对的的运动行为进行研究,通过开发辅助工具,如拐杖、助行器具、外体假肢、轮椅等,弥补残障人士缺失的运动功能,提高他们的生活自理能力以及扩大自身的活动范围。在这些辅助类代步工具中,由于智能轮椅具有非常好的自主性、交互性、实用性,可以有效地解决残障人士的代步问题,国内外许多科研工作者正在从各个方面对智能轮椅进行研究。与传统的电动轮椅相比,智能轮椅采用智能机器人技术,它的研究涉及到机械、控制、传感器、人工智能等多种领域,主要包括机器视觉、智能监控、传感器控制以及多源信息融合等方面。由于在传统的电动轮椅的使用中,操纵杆、按键等需要手动控制的操作方式已经满足不了肢体缺失的残疾人的使用需求,许多国内外科研机构已经从通过语音、形体姿势以及脑电控制等人类日常的交流方式与智能辅助设备进行交互,但这些控制方式,控制精度不高,模式识别的结果容易受到外界环境的影响,操作方式复杂,容易引起因无意识动作产生的控制错误,很大程度地阻碍了智能辅助设备在实用化和智能化的进程,已成为助残康复辅助器械中亟待解决的问题。本课题在一般商用电动轮椅的基础上进行适当的改造,取代其传统的操作杆控制的方式,引入语音和互联网控制,使其升级为智能型轮椅。
2智能轮椅系统总体设计2.1系统概述在此基础上,提出了一种基于电动轮椅的智能轮椅系统。在此基础上,本文介绍了一种新型的电动轮椅驱动系统。在此基础上,提出了一种基于神经网络的智能轮椅设计方法。图21中示出了整体智能轮椅的总体结构,其中箭头代表了各模块间的数据流程。当轮椅运行时,超声测距模块会向主控模块传送所感兴趣的环境信息,并由定位模块向主控模块传送该轮椅的当前位置,并由主控模块对该轮椅目前所处的环境、位置等进行分析、处理,最终向马达控制模块发出指令,以保证轮椅的安全运行。该人机界面模块负责将话音及头部姿态控制命令传送到主机控制模块,该主机将比较简单的控制命令传送到引擎控制组件,并进行诸如"前进","后退","左转","右转","加速","减速","停止"之类的命令。图2.1系统框图2.2子功能模块划分2.2.1测距模块在此基础上,提出了一种基于传感器网络的新型智能轮椅定位方法。超声波测距的基本原理是,超声波发射器在发出超声波的瞬间,就开始计时,如果超声波接收器接收到由于遇到障碍而反射回的超声波,就会停止计时,由此得到超声波的来回时间,并且已经知道了空气中的超声波的传播速度,所以可以算出轮椅和障碍物的间距S=VT/2。超声波探伤的功能模块化,对外接口统一,安装方便,便于拆装和调试。当前国产超声测距模块在性能和精度上均达到了国际同类产品SRF05和SRF02的水平,并且价格较低,适量购买可节省较长的研制时间及费用。本设计采用了HC-SR04超声波测距模组,包括超声波发射器、超声波接收器及相应的控制线路。该系统能实现2厘米到400厘米的无接触、0.3厘米的检测,以及15度以下的感知角(见表2.1)。在使用中,必须将10us或更多的高电平送到控制端口,并在接收端等待高电平,该高电平的时长就是超声在大气中的流动时间,并通过不中断的周期检测来消除相关的干扰,再求平均值,得到轮椅到障碍物的间距。利用温度对超声在大气中的传播速率有一定的影响,通过对主控模块内的探测距离的计算,实现了对温度的补偿。表2.1HC-SR04电气参数表电器参数HC-SR04超声波模块工作电压DC5V工作电流15mA工作频率40kHz最远射程4m最近射程2cm测量角度15度输入触发信号10us的TTL脉冲输出回响信号输出TTL电平信号,与射程成比例规格尺寸45×20×15mm2.2.2人机接口模块人机界面模块使使用者能够更容易地掌握轮椅的使用方法。此外,该系统还具有丰富的人机互动功能,能够满足各类残障人士的不同需要。对轻度残障者,其行为知觉正常者,可利用游戏杆或触控萤幕操控轮椅;而肢体残疾程度较高且身体活动有障碍的使用者,则可藉由声音或头控来操控轮椅。语音控制的实现,主要以移动智能手机平台为基础,它可以记录和识别使用者的声音,然后把识别的结果转换成轮椅的控制命令,然后利用蓝牙芯片将其传送到轮椅的控制器,然后再由控制器将其传送给马达控制模块,这样就可以完成语音操作。文章的第三章将详细阐述这一职能。本项目拟将一种可穿戴式智能头位仪置于人体头部,通过对人体头部的简单运动进行探测,并将探测到的数据转换成轮椅的控制命令,并利用蓝牙技术将其传送给主控模块,主控模块再将主控模块传送给马达控制模块,从而达到利用头部姿势对轮椅进行操控的目的。本文的第四章对这种作用进行了详细的论述。2.2.3定位模块在智能轮椅的运动过程中,定位模块是决定其相对位置和进行自主导航的关键。针对目前基于机器视觉的定位方法在复杂环境下的自适应能力差、价格昂贵等问题,提出了一种基于非计算机感知的移动机器人定位方法。光电码盘作为一种常用的位移传感器,由于其分辨力高,测量精度高,工作可靠等优点,在日常生活中得到了广泛的应用。目前,光编码光盘主要有两类:一类是绝对式,另一类是增量式。其中,绝对式编码器能够直接得到相应于角度位置的数字编码,而增量式编码器在光盘转动过程中,会生成多路脉冲,这就要求对给定的基准数值进行加法和减法。本发明的智能轮椅使用SMT6010-001G-1024BZ1-5E,具有1024个脉冲/分的分辨力,能够输出A,B,Z三个相位的脉冲。脉冲信号的相位A,B,Z是参考零点.相位A相位和B相位的脉冲信号有90度之差,而Z相位是参考零点。绕一圈后,可生成A、B相、Z相各1024个脉冲。图2.2所示为码盘正、反向转动过程中的脉冲波形,由相位A、相位B两个相位来判定其转动方向。图2.2增量编码器输出信号示意图在轮椅左、右两个主轮的马达主轴上各装有一个增量式光电编码器。通过计时器和计数器对在时刻T期间编码器的Z相位标记脉冲信号N的数目进行计数,并且基于马达转速比K:1(也就是说,当主轮每次转动一周时,马达主轴转动K匝)以及主车轮的直径D来计算马达的主轴转速。可得到时间T内主动轮的位移*)/(DKNS,以及线速度V=S/T。位移的正负可根据A、B相正交输出信号进行判断。2.2.4电机控制模块电机控制模块将主控模组的讯号转化为电讯号,带动马达带动轮椅移动。基于已有的电动轮椅,对其进行了改造,对其控制系统进行了深入的研究,是解决"怎样控制轮椅移动"的关键问题。试验结果表明,原来的电动轮椅操作杆为霍尔操作杆,该操作杆为双轴操纵装置。在控制杆中,使用了霍尔传感器,通过霍尔效应来控制控制杆的移动所产生的磁场,从而实现对输出电压的响应。霍尔控制杆体积小,操作简单,灵敏度高,性能优良,在国外的电子轮椅控制系统中,也多使用霍尔控制杆作为信号的输入装置。通过实测,该操纵杆可使5V的分压装置在前后轴和左右轴上进行分压,从而实现对电动机的控制。如图2.3所示,操纵杆具有X、Y双轴结构,并且X、Y轴呈中心对称,可以进行X、Y轴信号的同步操纵,摇杆可以在以中心位置为圆心,特定长度为半径的圆所覆盖的区域内自由移动,从而使操纵过程中的信号保持连续性。图2.3摇杆活动范围俯视示意图该电动轮椅控制杆的讯号输出为4个DC电压,可对应地将5V电压分为2套,分别控制轮椅向前、向后、向左、向右运动。在静止状态下,四路直流电压测试结果都是2.5V。通过改变操作杆的角度,对输出电压进行测试,得出了如图2.4中所示的电压特性曲线。如图所示,输出电压在某一区间与游戏手柄转动角成线性关系,超出此范围后,电压不再变化。图2.4双轴霍尔操纵杆输出电压特性图通过对轮椅运动方向及轴向各个方向的分压量值的多次测试,构建相应的对应表格,通过对表格中的数据进行分析,构建基于分压的电动轮椅运动的数学模型。2.2.5主控模块主控模块是智能轮椅的核心部分,其主要功能是实现与各子模块的交互。该系统通过对各模块所采集到的信息进行分析、融合,得出合理的决策,再将决策反馈到马达控制模块中,从而实现对轮椅整体运动的控制。目前,主控模块分为人工、半自动两种工作方式。电动轮椅最基础的功能是手动模式,使用者可以利用操纵杆对轮椅进行手动操作,而半自动模式则是通过使用者与轮椅的共同协作,完成轮椅的自主避障、安全导航等。在半自动方式下,使用者具有最大的控制优先权,而辅助方式,则是对轮椅在行进中进行局部路径规划与安全监测。计划与安全监督.2.3安全防护本研究针对以老人及残障人群为主的智能轮椅使用者为对象,确保其使用的安全性。智能轮椅在使用过程中,其安全性得到了很大的提高。2.3.1防侧翻情况在现实生活中,由于智能轮椅所处的道路较为复杂,有可能发生轮椅车上下颠簸的状况。当坡度较大时,轮椅车及使用者均能承受较高的坡度,但若坡度过大,则会造成车辆倾覆。为了解决这一问题,我们可以在轮椅座垫下加装两个倾角传感器,一对前、后、左、右各向倾角。当倾角超出预先设定的警告值时,主控机立刻发出警报,启动应急处理程序,使车辆停止行驶,或另择车道行驶,以免发生侧翻。2.3.2防跌落情况轮椅车在行进过程中,有时会碰到地势较低的路面,如轮椅前有阶梯等。为预防轮椅坠落,必须对其前方道路状况进行监控。本发明提供了一种新型的超声检测装置,该装置将超声探头设置于轮椅前端,以形成一个与地面成直角的角度,用于对车辆前方的交通状况进行监控。当轮椅在平地上行走时,所测得的距离是恒定的,而一旦前方有下陷,所测得的距离就会立刻变大,设定一个合适的临界值,而当所测得的距离超过预先设定的范围时,则判定车轮车前面有可能发生跌倒的危险,这时,主控制器会立刻发出警报,并迅速刹车,避免发生危险。2.3.3防误操作情况在使用智能轮椅的过程中,不可避免地存在着人为的错误操作,从而导致轮椅的安全隐患。通过将多种传感模块装配到智能轮椅中,实时监控周围环境的变化,对可能出现的隐患进行预警和提示,并在需要的时候强行停车,确保轮椅的安全性。2.3.4系统容错由于其它方面的因素,轮椅的操纵系统在使用时会发生各种各样的故障。若不对其进行有效的处理,不仅会影响整个系统的正常工作,还会给整个系统带来安全隐患,所以容错控制在整个系统中占有非常重要的地位。按失效类型可分为软失效和硬失效两种类型。软件缺陷是软件运行时所表现出来的非预期或不能被接受的内在状态。由于软件缺陷的存在,可能会引起软件缺陷,甚至是从操作层次上造成的。传统的静态测试方法不能完全确定软件中存在的所有缺陷。为了防止由于软件出错而导致整个系统瘫痪,给轮椅等设备带来安全隐患,本文提出了一种新的解决方案。硬件失效的原因有很多,可能是由器件散热问题引起的,也可能是由软件出错引起的。在轮椅控制系统中,主控模组会定时存取各子功能模组之状况,以判断其运作是否正常。当主要功能模块发现某一功能模块失效时,系统将自动中断与其有关的各项工作,并将其反馈给使用者。比如,当超声波测距模块出现故障时,由LED指示灯提示,并将相应的故障信息显示在显示屏上。
3语音控制模块3.1模块概述语音控制是一项人机互动技术,它为肢体运动能力较弱的残障人士提供了一种更为灵活的方法。在此基础上,设计了一种基于智能手机的语音控制系统,它可以通过手机上的软件来完成语音识别,并把识别的结果转换成轮椅的控制命令,再由蓝牙将其传送给轮椅的主控模块,使其能够通过声音来操控轮椅的运动。通过对该系统的分析,提出了一种语音控制系统。(1)声音回放(replay)。语音是移动终端和用户之间最重要的互动手段,为了获得更好的使用体验,需要通过语音播放等方式与用户进行沟通。(2)声音辨识。该软件通过对用户记录的声音进行识别,从而获得比较精确的识别结果。(3)Bluetooth串口通讯。移动电话与智能轮椅之间采用的是蓝牙技术,在实现简单、容易扩展的基础上,确定两者之间的通讯数据格式。由移动终端向使用者发出的命令,经由蓝牙封装传送至智能轮椅终端,再由智能轮椅终端进行解包处理。3.2语音处理语音的处理可分为语音合成与语音识别两大部分。该申请采用讯飞语音研发软件“讯飞语音+”,具有语音传递、语音识别等多种功能,具有广泛的应用前景。"讯飞语音+"为语音合成、语音识别、声纹识别等智能化语音交互技术提供了一种语音服务界面,它是将语音服务向外部输出的一种载体,在终端中作为一种单独的应用来实现。如图3.1中所显示的"讯飞语音+"组织结构图所显示的那样,移动智能终端(如智能机)是语音服务的终极输出目标,在产品体系结构的底层。“讯飞语音+”就是该终端上的语音服务输入;在语音服务方面,“讯飞语音+”的传送、录制等功能都是与该应用密切相关的。讯飞语音+将讯飞语音+输入到APP中,并将语音识别等功能输入到手机中,再由智能语音+进行后续处理。语音合成分为局部合成和线上合成两大类,局部合成可以分为词库处理、韵律分析、语音处理等几个部分,而线上合成可以分为个性设定、声音编码、合成互动等几个部分。和综合一样,声音识别可以分为终端识别,噪音降低,声音编码,以及人机识别。图3.1“讯飞语音+”架构图3.2.1语音合成其中,语音合成技术主要有两个方面:一是在讯飞语音云端平台上进行语音合成,二是以嵌入式引擎为基础进行离线语音合成。尽管在线语音合成资源消耗小,合成清晰度高,清晰度高,清晰度高,可理解,自然,但是脱机合成可以通过非联网方式进行,从而获得更好的实时性。线上合成器与语音合成器均运用了文本分析、韵律分析及大数据集,其合成效果与真实的人相近,具体的合成流程见图3.2。。语言合成的功能特性主要表现在以下几个方面。(1)TTS(TextToSpeech,文字转语音)功能,即将普通文本字符以语音形式表示出来;(2)多语种服务,采用多种语音合成技术,支持中英文(中文、粤语)的混音服务;(3)多音业务,为用户提供各种音高。用户可以按照特定的服务要求,自由地选择自己想要的声音类型,并具有实时、动态的声调变换功能;(4)声音调整功能,该系统具有对各种综合参数进行动态调整的功能,包括音量、音质和语速等。图3.2语音合成框架图3.2.2语音识别“讯飞语音+”是一种基于非用户身份的智能语音识别技术,支持关键字的语音识别,以及持续的语音识别。在语音识别中,背景噪声、方言等经常会出现,因此,科大讯飞将其与企业的实际业务相结合,采集大量的语音数据,并采用判别性训练的方式对其进行建模,以实现在多种复杂应用场景下的高效语音识别。语音识别具有如下功能特征。(1)前端语音处理前端语音处理就是将语音信息与信号处理技术相结合,通过去噪和预处理等手段对说话人进行处理。这一特性基本上由以下几个部分组成a.终端探测。该方法通过对输入的语音信号进行识别、分析,从而判断出说话人的语音起始点和结束点。在语音端点检测中,常用的门限检测方法有短时均值能量法和短时零率法两种。一旦听懂了说话的人,声音辨识引擎就会被激活,并且开始一个认知过程,直至被辨认出来并且终止讲话。b.消除噪声。在实际应用中,如何将背景噪声降到最低是实现语音识别的关键。在有线电话中,说话人的声音难免会被干扰,即便说话人是在安静的环境下。目前常用的去噪方法除通过在硬件上添加多个MIC以改善语音质量之外,还包括对数字语音信号的时域/频域分析等。c.智能中断。为了让人机交互更加自然,更加快速,更加有效,基于用户的观点,设计了智能中断函数。在自助式的声音播放中,使用者可以在任何时间发表自己的需要,而不需要等到声音播放完毕。在这种情况下,系统会根据声音的播放状况,适时地中止播放,并对用户提出的要求进行处理,以改善游戏的体验。(2)后端识别处理后端的识别过程则是通过对说话人的声音进行识别与处理,最后给出最适合说话人的识别结果。这一特性具有以下几个主要特性a.不间断的声音辨识。持续语音识别是目前一种崭新的信息输入模式,它把使用者所说的话转化为对应的文本信息,极大地加快了文本输入的速度,同时也为智能手机带来了便利。该方法能有效地区分混杂了汉语和英语的语音以及日常生活中的语音。"听懂人话"的能力可以与语言理解组合在一起完成。b.个人化的声音辨识(PersonalSpeech)。个人化的声音辨识就是针对使用者的不同需要而设计出个人化的声音指引。首先,用户将语料信息上载到语音云中,然后在后台产生语法模型。在用户使用语音识别时,系统会自动载入用户的句法模型,并通过模式匹配等方法对其进行识别,从而提升用户的个性化词组识别精度。c.信念输出。语音辨识的结果往往包含有可信度的输出,可信度是辨识结果的可信性程度。一般来说,可信度的范围是0~100,它的值越大,辨识的精度也就越高。此外,在初始化语音识别引擎时,使用者可以自定义其信度,然后在返回辨识时,将低于此值的辨识结果剔除,若辨识结果高于或等于此值,则将产生一条错误资讯,供使用者依此资讯进行分析及后续处理。d.多个鉴定的结果。所谓的多目标探测,就是在探测过程中,探测引擎会传回多个与可信度判定相对应的、非唯一性的检测结果。一般来说,由侦测引擎传回的资讯清单,依可信度由高至低排列侦测结果。在第二次选择时,用户可以对清单上的结果进行识别,从而使企业的过程规划更具弹性,更具人性化。3.3语音控制模块的实现3.3.1语音处理功能这款手机软件整合了“讯飞语音+”的语音处理能力,通过语音合成和语音识别技术,实现了对智能轮椅进行声音控制。该软件是一个与“讯飞语音+”软件整合而成的第三方软件,其首要步骤就是将“讯飞语音+”的开发包“SpeechApi.jar”嵌入到该软件中。在图3.3中显示了二者的逻辑关系。图3.3APP逻辑关系图语音合成的功能是通过SpeechSynthesizer来完成的,它包括了各种引擎的设置(联机或者离线),发言者,说话速度等。这个类的startSpeeking方法可以把指定的文字翻译成声音的输出,mTtsListener是一个可以在声音传送中监听启动,播放,暂停等操作的函数。调用这个类的停止讲话方法来终止声音的合成。SpeechSynthesizermTts=newSpeechSynthesizer(this,mTtsInitListener);//初始化语音合成对象mTts.setParameter(SpeechConstant.ENGINE_TYPE,"local");//设置引擎类型mTts.setParameter(SpeechSynthesizer.VOICE_NAME,"xiaoyan");//设置发音人mTts.setParameter(SpeechSynthesizer.SPEED,"50");//设置语速mTts.setParameter(SpeechSynthesizer.PITCH,"50");//设置音调intcode=mTts.startSpeaking(“我没有听清”,mTtsListener);//开始合成mTts.stopSpeaking(mTtsListener);//停止合成语音识别的主要功能是通过SpeechRecognizer来完成,它包括:在线与离线引擎的设置,声音活动探测(VAD)逾时设置,和对识别结果进行置信设定。VAD旨在从大量的噪声和无用的声音中提取出有效的开始和结束帧,从而最大限度地降低语音信号的处理数量,提高识别精度。通过对前端和后端节点的延时进行设定,从而提高了对有效话音的处理效率。可信度是衡量测试结果是否可信的一个主要标准。在此基础上,设定了一个可信门限,将不能接受的识别结果作为判断依据,从而避免了由于判断失误而导致的操作失误。通过调用SpeechRecognizer类中的startListening方法来启动声音识别,这个方法需要将侦听器mRecognizerListener作为一个参数来传递。回呼侦听器可以侦听语音启动、声音音量改变及声音终止,并传回声音辨识的结果与错误资讯;要想阻止声音识别,可以使用“停止跟踪”。如果你想要终止声音识别,你可以调用一个stopListening方法。SpeechRecognizerrecognizer=newSpeechRecognizer(this,mInitListener);//初始化语音识别对象recognizer.setParam(SpeechConstant.ENGINE_TYPE,"clound");//引擎类型recognizer.setParam(SpeechConstant.LANGUAGE,"zh_cn");//识别语言recognizer.setParam(SpeechConstant.VAD_BOS,"4000");//VAD前端点超时recognizer.setParam(SpeechConstant.VAD_EOS,"700");//VAD后端点超时recognizer.setParameter(SpeechConstant.MIXED_THRESHOLD,"30");//门限值recognizer.startListening(recognizerListener);//开始识别recognizer.stopListening(recognizerListener);//停止识别RecognizerListenerrecognizerListener=newRecognizerListener.Stub(){publicvoidonVolumeChanged(intv)throwsRemoteException{…}//录音音量回调publicvoidonResult(finalRecognizerResultresult,booleanisLast)throwsRemoteException{…}//识别结果回调publicvoidonError(interrorCode)throwsRemoteException{…}//错误回调publicvoidonEndOfSpeech()throwsRemoteException{…}//录音结束回调publicvoidonBeginOfSpeech()throwsRemoteException{…}//录音启动回调在对结果进行分析时,通常需要反复调用onResult界面才能返回待识别的内容,通过布尔参数isLast进行判别,从而得到一个完整的识别结果。由于外界环境的干扰,说话人所用的是方言,也可能是听不懂的字,所以在辨识的结果中往往会有诸如"啊","哦","啊"之类的干扰。声调词语,也可因同音异体字而产生差异,例如,使用者以"张志"为母语,以"张志"作为辨识结果,以其他方式呈现。该系统首先对识别结果中经常出现的干扰项进行筛选,采用“串替代”的方法对干扰项进行替代,再将干扰项转化成拼音格式,并与待选集合进行匹配。假定目标集{“qian”、“houtui”、“你zhuan”}。如果用户发布了"后退"的话音指令,那么目标集将是{“qian”、“houtui”、“你zhuan”}。在使用者"返回"声音指令时,经过处理的声音辨识结果可以是下列四种情形中的一种,其中"*"指示没有干扰字或更多的干扰字。(1)‘*hou*tui*’(2)‘*hou*’(3)‘*tui*’(4)‘*’匹配算法通过计算识别结果与目标集合中每个元素的相似度,并取相似度最大者作为结果的输出。其中相似度的计算是通过顺序统计两个比较串中相同的单词个数而获得。匹配算法的具体实现代码为:/***识别结果匹配*@paramtargetSet目标集合*@paramresult识别结果*@return匹配项*/publicStringrecognizerResultMatch(String[]targetSet,Stringresult){intindex=-1;//保存匹配项在目标集合中的索引intmaxSimilarity=0;//保存最大相似度值String[]rwords=result.split("");//将识别结果转为单词数组for(inti=0;i<targetSet.length;i++){String[]twords=targetSet[i].split("");//将目标集合第i个元素转为单词数组intsimilarity=0;//保存相似度值//计算识别结果与目标集合第i个元素的相似度for(intj=0,next=0;j<twords.length;j++){for(intk=next;k<rwords.length;k++){if(rwords[k].equals(twords[j])){//存在相同的单词similarity++;//更新相似度的值next=k+1;//更新下一个待匹配单词的位置break;}}}if(similarity>maxSimilarity){//选取相似度最大的元素index=i;//更新匹配项在目标集合中的索引maxSimilarity=similarity;//更新最大相似度值}}return(index==-1)?null:targetSet[index];//返回匹配项,null表示匹配失败}在此基础上,我们提出了一种基于三层循环的方法,即在目标集合中有n个词组,每一个词组含有的词的平均数是m,在识别结果中有k个单词,那么,这个方法的计算复杂度就是O(n.m.k)。在当前的应用中,m,k的取值通常是从1到5,n的取值在10以内。本申请拟通过对语音识别结果的二次处理,剔除含噪单词,并降低正确匹配的准则,将具有相同读音但非文字相同的单词作为正确的匹配结果,以达到提高识别准确率的目的。3.3.2蓝牙通信功能手机上的应用软件首先开启Bluetooth函数,并通过查找所绑定的Bluetooth装置或其周边Bluetooth装置的信息来查找Bluetooth装置,该Bluetooth装置称为"HC-06";接着,依据蓝牙装置的位址和通用惟一识别(SPP)协议中的UUID建立一个套接字连接;最后,通过对套接字的输入、输出进行读取、写入,完成装置之间的数据传递。接着,依据蓝牙装置的地址及SPP协议的UUID(UniversalUniqueIdentifier,UniversalUniqueIdentifier),建立一个套接字连接;最后,对套接字的输入与输出进行读取、写入,以达到设备之间的数据传递。该智能轮椅是通过增加HC-06无线蓝牙串口模块来实现的,如图3.4所示。HC-06是一款目前流行的CSR蓝牙芯片,它支持蓝牙V2.0,串口模块的工作电压是3.3V,总体来说,它的体积小,功耗低,价格低廉,在车载蓝牙,GPS导航,以及工业领域的采集控制等方面都有着非常广泛的应用。在表3.1中列出了该模块的主要管脚的功能描述。图3.4蓝牙串口HC-06无线模块表3.1HC-06模块主要引脚功能描述序号名称说明1TX模块串口发送脚(TTL电平)2RX模块串口接收脚(TTL电平)12VCC电源3.3V13GND地24LED配对状态输出,若成功配对则输出高电平,否则输出低电平26KEY用于进入AT状态,高电平有效(悬空默认为低电平)当主机启动时,会对HC-06进行初始化,并设定蓝牙作为从属,直到主机发出连接请求。由于HC-06采用的是串行通讯方式,所以在初始化时需要设定波特率、停止位以及校验位等。在串行通信中,采用DMA模式进行数据传输,以提高系统的实时性;在串行通信中,使用了一种时间判定方法,当连续收到的数据连续10毫秒未收到任何数据时,表明该次连续接收的数据数目已被终止。3.3.3系统功能测试在实现了硬件与软件的对接之后,测试了APP的语音处理与蓝牙通讯,并与智能轮椅的马达控制模块相结合,完成了整个系统的功能试验。(1)声音处理功能的检测,主要是通过对多个环境中的语音信号进行多次记录,以判断其是否正确。通过对每个操作指令的反复试验,根据语音匹配的方式,分别记录APP中正确辨认出的语音数量以及正确辨认后的可信度,并根据字形匹配的处理方式,对对应的正确辨认次数进行统计,检验结果见表3.2。表3.2不同环境下的语音识别结果次数实验室马路食堂字形匹配读音匹配字形匹配读音匹配字形匹配读音匹配前进19/2020/2018/2019/2018/2019/20后退17/2019/2015/2017/2014/2017/20左转19/2019/2018/2020/2019/2019/20右转19/2020/2018/2018/2017/2019/20停18/2018/2016/2017/2015/2016/20正确率92%96%85%91%83%90%置信度均值50.941.339.5结果表明,在不同的情况下,语音识别的正确率存在差异。在实验室中,因为周围比较安静,所以识别的准确率较高;在公路上,由于有迎面行驶的车辆,会造成短暂的语音指示失效,所以应用程序应该避免产生噪声;在餐厅中,因为噪声的分布比较均衡,所以当声音增大时,仍有识别错误的现象发生。表3.2也给出了应用程序对语音的正确识别率,以及两种匹配方式(字形匹配和发音匹配)的辨识率。实验结果表明,采用语音匹配方法可以有效地提高语音识别的准确率。这主要是因为语音匹配方法能够避免错字、漏字等干扰,并将部分语调词剔除;相对于字形匹配方法,语音匹配方法更为宽松,误差较大,从而提高了准确率。语音识别的正确率除了受环境因素的影响,还受到用户的方言、用户吐字的清晰度,用户发出指令的时机和指令中生僻字及个数等因素的影响。这些因素往往导致语音识别的正确率出现轻微下降,但对语音识别结果的整体影响不大。通过对不同场景下APP的语音识别实验,经过语音匹配方法,其正确识别率可达90%,达到了语音控制的目的。(2)蓝牙通讯功能的检测,主要是对蓝牙装置间的蓝牙通讯进行检测,并对其进行数据传送。首先,该智能轮椅终端的控制模块给HC-06提供电源,并对其进行初始化,接着,该手机终端开启APP,自动启动蓝牙,查找"HC-06"后,主动进行蓝牙连接,当连接成功时,系统会弹出"已连接"的提示。在此之后,只要连接成功,系统就会提示"已连接",并由手动发送声音命令,来检测移动电话和轮椅终端的数据传送功能。在图3.3、3.4中分别给出了该软件的测试界面。图3.3蓝牙连接界面图3.4蓝牙数据测试界面(3)利用手机APP与智能轮椅协同工作,完成语音控制轮椅运动,整体运动效果见下图。经测试,所设计的语音控制模块能够较好地实现以上各项性能指标。图3.5语音控制轮椅的运动照
4结语本研究通过深入探讨和设计,成功实现了一款基于语音识别的物联网坐起助力轮椅。这款轮椅的设计理念是以人为本,旨在提高行动不便人群的生活质量,为他们提供更加便捷、智能的移动工具。在轮椅系统的总体设计中,本设计采用了模块化的设计思路,将系统划分为多个子功能模块,包括测距模块、人机接口模块、定位模块、电机控制模块和主控模块。这种设计不仅便于系统的维护和管理,还能够提高系统的稳定性和可靠性。在安全防护方面,本设计充分考虑了轮椅在使用过程中可能遇到的各种安全问题,设计了防侧翻、防跌落、防误操作和系统容错等多种防护措施。这些措施能够确保用户在使用轮椅过程中的安全。特别值得一提的是,本研究中的语音控制模块,它是整个轮椅系统的核心部分。本设计采用了先进的语音识别技术和蓝牙通信技术,实现了用户与轮椅之间的语音交互。用户可以通过简单的语音指令,控制轮椅的前进、后退、左转、右转和停止等动作。同时,轮椅还能够
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论