APP下载

智能声控小车的设计与制作

2019-11-11成宇轩尤国强杨佩

电脑知识与技术 2019年27期
关键词:声控控制程序障碍物

成宇轩 尤国强 杨佩

摘要:本文设计制作了一款具有语音控制功能的智能小车。该小车以STC15F2K60S2单片机作为核心控制单元,以LD3320芯片作为语音识别单元,实现了人声控制小车行动的功能。另外,考虑到环境复杂性,这款的小车智能小车还带有红外传感器模块,并通过红外线探测障碍物来实现避障功能。本文设计的智能声控小车可以解放人的双手,只通过发出固定的语音命令即可令小车实现诸如前进、后退或转向等动作。该小车可用于事故灾害现场危险环境的短距离搜救、探测等任务,它可以解放执行任务人员的双手和大脑,配合人们完成复杂任务。另外,该智能声控小车也可以进一步开发为儿童玩具或人工智能设备,在这些领域,它同样具有广阔的未来应用前景。

关键词:智能小车;声控;红外避障; STC15F2K60S2单片机

中图分类号:TP391    文献标识码:A

文章编号:1009-3044(2019)27-0176-03

1 引言

随着科学技术的飞速发展,智能产品的出现使得我们的生活更加方便。其中人工智能无疑是该领域内最重要的一个发展方向,无论在军事领域还是民用领域都有着广泛的应用前景[1]。本文研究的智能声控小车也可以认为是人工智能设计中的一种应用类型。

本文设计的智能声控小车主要通过STC15F2K60S2单片机来实现不同的控制功能,它不但能够完成对电机驱动模块、语音采集模块、避障模块的计算和控制,还能够实现各个模块之间的通信,从而实现整个控制系统的正常工作。本文采用的这款单片机具有高速、容量大、低功耗、抗干扰能力强等优点。当前方出现障碍物时,将通过避障模块实现检测,并由单片机发出控制指令实现小车的转向避障功能。该避障模块采用二只红外对管分别置于小车的前端两侧,其放置方向与小车的前进方向成一定夹角,能够对小车与障碍物相对距离和方向能做出较为精准的判断。小车中的语音采集模块以LD3320语音处理芯片为核心,通过模块上面的咪头来采集语音信息,并通过与预设指令的对比来实现小车前进、后退或转向等动作。

2 硬件电路设计

本声控避障智能小车以STC15F2K60S2单片机作为中央控制器,并包含语音识别模块、电机驱动模块和障碍识别模块三个部分,其整体结构如下圖所示。

中央控制器为STC15F2K60S2单片机,它是与MCS-51兼容的新一代增强型STC系列单片机,具有速度快、抗干扰性强、加密性强、自带ADC/PWM、超低功耗、可远程升级等优点,其内部还集成有MAX810专用复位电路,比传统的8051系列单片机在片内资源、操作性能和运算速度上有了很大的改进。

STC15F2K60S2单片机内部有两个可编程全双工串行通信接口。每个串行口都由一个数据缓存器、一个移位寄存器、一个串行控制器和一个波特率发生器组成。串行口的数据缓冲器在物理上分为两个独立的发送、接收缓冲器,可以同时发送和接收数据,其中发送缓存器只能写入数据,接收缓存器只能读出数据,两个缓冲器共用一个内存地址。

STC15F2K60S2单片机是整个系统的控制核心,用来控制模块与模块之间的相互通信。当语音识别模块识别出语音信息后,单片机就能够从与语音模块连接的串口中读取到相关的语音指令,并通过逻辑判断分析控制对应串口的高低电平来改变小车的运行状态。当障碍识别模块检测到前方有障碍后,单片机也可以从与该模块连接的串口中识别出相应的电平变化,并通过逻辑判断分析控制对应控制电机的电平变化来按照提前输入的程序改变小车运行方向以避开前方障碍。

语音识别模块中的关键器件为LD3320芯片,该模块主要通过咪头采集外界语音信号,并通过STC15F2K60S2单片机实现与预设语音信心的分析和对比,从而实现智能识别语音命令的功能。常用的语音识别过程主要包含以下三种模型[2]。

(1)声学模型:该模型通过系统语音数据得到,模型输入值为语音特征向量,输出值是音素信息;

(2)语言模型:该模型通过海量文本信息的训练和学习,得到单个词汇或者词汇之间关联的概率;

(3)映射模型:该模型搭建词汇与音素之间的对应关系。

语音模块的语音处理过程包含以下几个方面[3]。

(1)滤波和A/D转换。在语音识别时,一般选择7-10Khz的频段进行信息收集,对收集信号滤波的作用是为了抑制超过采样频率值一半的输入信号的所有分量,以避免50Hz的工频干扰;滤波后将原始语音模拟信号进行A/D转换,从而得到在时间和幅度上都离散化了的数字信号。

(2)预处理。因为在语音信息传输过程中,高频成分的衰减程度很大,所以需要通过预加重来增强传输开始时信号的高频部分,从而弥补高频衰减。通常情况下,信号的频率主要取决于电平变化的速度,所以绝大部分信号的高频分量通常出现于信号的上升沿与下降沿,通过对这一阶段识别出的高频信号的预加重可有效防止高频信号的损失。

(3)分窗分帧处理。由于语音信号具有短期稳定性(可以认为它在10-30ms内大部分不会变化),所以可以将语音信号分成几段逐个处理,这就是语音信号的分帧处理的方法。具体分帧操作则通过使用可移动的限长窗口来实现。

硬件系统中的电机控制模块主要由L298N双H电桥驱动芯片构成,该模块与单片机的控制I/O口相连,通过相应单片机引脚高低电平的变化来控制小车电机输出脚的使能情况,从而控制小车在不同指令下的运行状态。

障碍识别模块主要由两个红外对管传感器组成。该模块将二支红外对管传感器分别置于小车前端两侧,方向与小车前进方向成一定夹角,通过红外对管传感器发射出的红外线来探测前方是否有障碍物,一旦检测出障碍物,该模块与单片机相连接的引脚电平将会翻转改变,进而单片机执行避障指令小车完成转向避障动作。障碍识别模块的详细电路图如下图所示。

3 软件仿真及程序设计

在确定了硬件结构组成和器件工作原理的基础上,通过应用PROTEUS软件并结合C语言控制程序对整个智能小车运行系统进行仿真,来进一步验证整体系统功能的正确性。由于PROTEUS软件中没有语音集成模块LD3320对应的仿真器件,故我们在小车仿真结构中使用了一些功能按键来代替语音模块识别出的指令来控制小车的前进、后退、停止等动作。除此之外,仿真中还添加了两个LED小灯,并通过小灯的亮灭来表示两个车轮驱动电机的启动和停止。仿真图中按照从左到右的顺序放置了五个按键来代替识别出的前进、后退、停止、左拐、右拐语音指令。读入控制程序并运行仿真后,可通过对小灯亮灭的观察,来确认最终仿真系统控制的有效性和正确性。

所编写的控制程序由C语言来实现,并通过Keil μVersion4软件来对齐编译、链接。当所设计的声控避障程序开始运行时,首先,程序会对所有用到的单片机I/O口进行初始化功能设置;当初始化完成后,会进入等待状态,随时检测是否有语音信号输入;一旦语音模块采集到语音信号后,程序就会进入语音逻辑判断部分,并根据逻辑判断结果来运行不同的控制程序,并由此产生不同的电机控制命令,实现与语音命令匹配的前进、后退、停止和转向等动作。具体控制程序的流程图如下图所示。

4 实物验证

基于上面的硬件组成和控制程序,设计制作了智能声控小车实物。当对该小车进行上电操作后,STC15F2K60S2单片机中的控制程序会率先对LD3320语音识别模块进行初始化,然后等待语音信号的输入。LD3320 捕捉到语音信号后就会对其进行内部逻辑判断,来匹配内部的關键词列表,一旦找到匹配信息,就会将指令结果传输给单片机。并进入相应的电机控制函数,并且根据函数控制结果向电机串口写入指定的控制字符指令,从而实现小车相应的动作变化。下图为小车实物上电后的语音指令识别和执行过程。

另外,对于障碍识别模块,其上电后将利用障碍物对红外线的反射特点,当前面的有障碍物时,红外传感器发射出的红外光大部分被反射回来,此时传感器输出为0,点亮障碍报警LED指示灯;反之,当小车前方没有障碍物的时候,小车红外传感器发射出的红外光几乎不会被反射回来,无法达到传感器的最低动作水平,此时传感器输出为1。通过STC15F2K60S2单片机检测与障碍识别模块相连引脚的电平变化情况就能检测到小车前方是否存在障碍物,进而进行避障操作。

需要说明的是,当小车在全速前进状态下发现障碍物时,如果小车不做减速控制而直接进行变向避障调整,将很容易出现避障时转弯半径过大导致碰撞到障碍物无法继续运行的问题。所以当检测到前方有障碍物时,应该根据小车红外感应距离,先适当调节小车运行速度,以顺利完成避障动作,防止因车速过快、转弯半径过大产生避障失败。

5 结束语

本文设计了一款智能声控小车系统,该系统基于STC15F2K60S2单片机可以实现简单的人机交互控制,系统通过语音识别模块可以识别语音信号中的特征参数,并根据识别出的语音信号由STC15F2K60S2单片机控制的小车的运行状态。另外,该智能小车系统还具有障碍识别模块,该模块可以通过红外线传感器识别前方的障碍,并通过预设的控制程序自动实现避障动作。本文设计的智能声控小车可以解放人们的双手,只通过语音指令即可令小车实现诸如前进、后退或转向等动作,其在智慧交通、抢险救援、智能玩具以及未来的人工智能人机交互等领域具有广泛的应用前景。在后续的研究中我们将会尝试使用性能更加优越的语音识别芯片来提高语音识别的准确性和语音指令存储量,以让这款小车具有更强的抗噪性和实用性。

参考文献:

[1] 禹琳琳. 语音识别技术及应用综述[J].现代电子技术,2013, 36(13): 43-45.

[2] 赵甜甜, 王梦娇, 谢韬, 等. 基于LD3320的语音识别车配虚拟人系统的设计[J].信息化建设, 2016,18(4): 329.

[3] 李雪霞, 刘雪梅, 李建勇. 基于嵌入式微处理器的智能语音小车设计[J].工业控制计算机, 2018,30(9): 160-162.

【通联编辑:梁书】

猜你喜欢

声控控制程序障碍物
基于PLC的变电站备用电源自动投入装置控制程序的研究
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
声控灯为什么可以节能
声控水龙头
基于PLC数值处理模块的PID控制程序研究
纸机传动控制程序的复用性研究
土钉墙在近障碍物的地下车行通道工程中的应用
建筑工程新工艺、新技术现浇砼空心板的控制程序