盲人智能拐杖的设计

2016-05-14 09:14陈艳婷李志鹏贾丹平
科技创新导报 2016年6期
关键词:语音识别

陈艳婷 李志鹏 贾丹平

摘 要:该次课题研究设计的超声波导盲拐杖是为视觉障碍者提供环境导引的辅助工具,以STM32为核心,集合超声波模块,语音识别模块和语音合成模块为一体的智能化产品。它通过超声波模块对前方环境进行探测,将探测的信息以语音形式反馈给用户,提醒用户及时避让,拐杖还能够通过语音控制自动播报当前时间,以此利用语音识别和语音合成模块实现简单的人机交互功能。此外,拐杖的上端设有闪光灯,当用户在夜间行走时,可以手动按动对应按钮或发出语音指令进行灯光闪烁,当遇到紧急情况也可按动对应按钮进行声音警示报警。和传统的导盲手杖相比,该次设计的盲人智能拐杖操作更加简单、便捷,具有很强的使用性和市场推广价值。

关键词:STM32 超声波测距 语音识别

中图分类号:TP29 文献标识码:A 文章编号:1674-098X(2016)02(c)-0077-02

拐杖的智能化,能够真正地从服务于视觉障碍者的角度去考虑产品的设计与生产,真正满足盲人对于出行的需求,降低盲人的出行危险系数,在保障其生命安全的同时,能够让盲人朋友感受到来自社会对残疾群体的关心和关注。随着社会经济的飞速发展,智能化设备将不断完善,智能拐杖将渐渐代替传统拐杖走进千家万户,成为盲人出行必备品。此次研究设计的智能拐杖能够自动检测出前方1 m内出现的障碍物并进行播报(距离可以在程序中修改),当用户语音发出时间指令,系统能够自动播报当前时间。此外,用户通过手动按动相应按钮或语音指令,能够开启LED灯,具有一定警示功能。

1 设计原理

1.1 超声波测距原理

根据超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍就立即返回来,接收器收到反射波就停止计时的原理,再利用距离公式得到与障碍物的距离,从而达到测障的功能(超声波在空气中的传播速度为340 m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2[1-2]。

1.2 人机交互原理

利用语音识别模块,把人说出的话语转换成相应的数据,通过RS232串口发送到单片机中,以实现语音控制的目的。利用实验所需的语音合成模块,可以将前方有障碍物以及播报当前时间等数据信息合成语音,实现语音播报功能。以此利用语音识别和语音合成模块,实现了简单的人机对话功能[3]。

2 系统设计

2.1 硬件设计

2.1.1 主控器选择

STM32主频高,外设丰富,有PWM、AD、DA这些常用外设,处理能力很强,专为要求高性能、低成本、低功耗的嵌入式应用设计。此外,由于此次设计具有语音报时功能,而STM32的内部具有实时时钟(RTC)能够实现时间的记录,该芯片的预分频模块可产生1 s的时间基准,32位的可编程计数器实现时间记录,使用方便,只需一颗3 V纽扣电池和一个32.768 kHz晶振即可工作。而51单片机速度较慢,而且很多外设都要外接,用起来不方便。为此,笔者选用STM32作为主控器。

2.1.2 测距模块选择

第一种方案是选用红外测距模块对距离进行测量。红外测距传感器模块利用红外光对前方物体的距离进行测量,精度较高,模拟量输出,使用方便。第二种方案是选用超声波模块对距离进行测量。超声波模块利用发出超声波到接收到超声波的时间来计算出被测物体距离,计算方便快捷[4]。

通过不断地实验,发现红外测距模块虽然精度较高,但是应用场合局限性太大,不适合在露天场地使用,阳光对于其测量影响较大。而超声波模块虽然精度较差,但对使用环境要求不高,且精度问题可通过后期程序处理来提高,因此选择超声波模块作为测距模块。

2.1.3 语音识别和语音播报选择

在实现语音识别和语音播报的功能的时候,存在两种不同的语音模块,一种是利用集成的语音模块LD3320A;另一种是分别利用语音识别芯片LDV7和语音合成芯片XFS5152,分别接到32之上进行通信控制。

第一种方案是利用集成的语音模块LD3320A。LD3320A自带语音识别和对应的语音播报,不需要过多的控制即可实现人机对话功能。其语音识别字符和对应回答以MP3格式存储在SD卡之中,只要事先利用音频制作软件制作相应音频放入SD卡之中即可。第二种方案是用语音识别芯片LDV7和语音合成芯片XFS5152实现语音功能。将LDV7和XFS5152通过串口通信的方式连接到STM32之上,语音识别芯片对语音进行识别之后,将语音标识符发送到STM32之上,之后STM32对标识符进行相应处理之后,发送语音合成命令给XFS5152来实现人机对话的功能。

由两个方案可知,方案一实现较为简单,无需过多控制,但灵活性较差,不能实时改变播报信息。方案二控制起来较为繁琐,通信协议的编写需要大量的时间,但是灵活性高,播报内容可通过程序进行控制改变。综上所述,选择方案二为本课题主要研究方案。

2.1.4 整体硬件设计

将STM32作为主控芯片发出指令信息,并接受超声波模块,语音合成模块,语音识别模块的反馈信息进而实现整体系统的控制,即将各个模块通过32板连接在一起,由于模块连接较为简单,所以不在此赘述,整体设计框图如图1所示。

2.2 软件设计

由程序框图可知,智能盲人拐杖主要编程由两部分构成。第一部分是STM32的主控程序的设计,在主程序中实现的主要功能是距离测量及计算,语音识别码的获取及处理。语音合成程序作为一个子程序,由相应函数进行调用,而子程序的入口变量即为预先编好的不同字符串,这样可实现不同语音的合成。第二部分是语音识别模块的程序编辑,在程序中我们要定义好所需识别的语音及对应的语音识别码,这样在识别语音后,会通过串口将识别码发送到STM32之中,做出相应的数据处理。(见图2、图3)

3 设计中要遇到的主要问题和解决措施

3.1 超声波测距精度的提高

通过实验发现,在使用超声波测距模块的过程中,由于余震的存在,得到的距离数据存在波动,不是一个稳定值,这样对后期数据处理存在很大的影响。

由于无法从硬件方面进行解决,只能在程序中进行数据精度的提高。为此,笔者在对距离数据的处理当中,采用多次测量求平均值的方法,测量20次的数据进行处理,从而得到一个较为精确和稳定的距离数据。

3.2 语音识别误码率的降低

在语音识别的模块使用过程中,由于是非特定人语音的识别,对环境因素要求很高,且识别灵敏度和误码率成正比,这样在提高灵敏度的时候如何降低误码率也是一个很主要的问题。

为此,笔者采用的主要措施是设置前置口令及垃圾关键词的设置,这样必须说出一级口令之后才有二级口令的执行。垃圾关键词及一些与口令相似的词语,提前对这些词语进行设置,可以很好地降低误码率,从而提高识别的精度。

4 结语

该次实验以嵌入式技术为核心,将各种模块有效地结合在一起。在实验过程中,利用提前对垃圾关键词设置以及多次平均值测量法来降低超声波误码率和提高超声波测距精度。通过对产品进行不断改进,设计出一款能够更加精确和灵敏的语音提示盲人躲避障碍物的智能拐杖,能够真正地弥补盲人朋友在视觉障碍上的缺失,有效改善他们的行走能力以及生活质量,从而帮助他们实现自己的人生价值。

参考文献

[1] 杨冬燕.用于移动机器人避障的超声波测距系统[J].内蒙古科技与经济,2008(16):122-124.

[2] 张同怀.超声波测距仪的设计[J].仪表技术,2008(8):20-22.

[3] 李金耀.One-Shot车载语音交互系统的设计与实现[D].安徽大学,2012.

[4] 何健民,张秀红.浅谈超声波传感器非接触式距离检测系统[J].黑龙江科技信息,2010(12):25.

猜你喜欢
语音识别
通话中的语音识别技术
面向移动终端的语音签到系统
基于LD3320的非特定人识别声控灯系统设计