语音小车

2024-12-16

语音小车(精选3篇)

语音小车 篇1

0引言

语音控制智能小车的设计方案主要采用语音识别[1]控制模块通过无线传输信号来控制小车的运动, 同时检测小车周围的环境, 采集相关信息。与大多数“智能小车”一样, 这里主要使用的是8位高性能51单片机来进行控制, 然而也很容易被16或32位系列的嵌入式[2]单片机代替控制。本文设计融合了电脑软件、无线通信、语音识别、电机驱动、红外光避障和温度采集等技术, 具有了语音识别系统的特点。传统的小车都是使用遥控器进行控制, 基本上没有使用语音来进行控制, 本设计也算是一次新的尝试。随着社会的不断发展, 人们可能会在小车的控制上有更新的设计思想。原来的红外无线遥控[3]技术不但受到距离的限制, 而且也远没语音控制更方便和智能, 无线通信使小车具备远程操控的能力, 这是红外通信望尘莫及的。此外, 本方案小车控制采用了红外避障模块, 可以自动躲避前方障碍物, 调整运动路线, 使用的51单片机具有极丰富的外设扩展, 这为以后小车功能升级和扩展奠定了很好的基础。

1总体设计方案

语音识别控制智能小车设计方案需要达到的目的是使用语音识别控制模块, 通过无线传输模块与小车控制端进行远距离通信, 使用红外避障[4]模块来躲避障碍物, 从而灵活控制小车的运动轨迹, 并采集小车的速度和温度, 时刻监测小车周围的环境。总体设计方案如图1所示。

1. 1硬件系统设计

硬件设计部分就是整个设计的外观, 所有功能的实现都要靠硬件展现在我们的面前, 它主要由电源模块、小车系统控制模块、电机驱动[5]模块、语音识别控制模块、无线发送与接收模块、红外避障模块和温度采集模块等构成。

1. 1. 1电源模块

采用4支1. 5 V电池单电源供电, 但6 V的电压太小不能同时给单片机与电机供电。然而可以利用驱动板的电源输出功能代替电池供电, 减少6 V的不稳定性和不安全性。

1. 1. 2系统控制模块

系统板的主 控制器采 用的是STC公司的STC89C52单片机, 它的内部资源比ATMEL公司的单片机要丰富的多, 采取5 V供电, 晶振可选择并支持80 M晶振, 核心芯片内部结构包括512 B的SDRAM、8 K的Flash只读存储器可重复擦写1 000次、1 K的EEPROM、6个中断源、2个基本定时器和32个普通输入输出I / O口等。

1. 1. 3无线发送与接收模块

无线发送与接收模块采用台湾普城公司生产的一款通用的编/解码集成芯片PT2262 /2272。它有很多用途, 比如在无线电通信设备中, 这款芯片常用作地址编码的识别。PT2262 /2272芯片一共可提供531 441个地址码选择, 就因为它具有可达到12位的地址管脚, 并且PT2262提供了6位数据端管脚, 芯片的第17脚是用来将设定的地址码和数据码以串行方式从此口输出, 可用于无线电[6]遥控发射电路。用户可以在PCB板上直接将地址引脚与L或H相连, 从而实现地址设置。PT2262与PT2272地址设置要完全一样。

1. 1. 4语音识别控制模块

本模块是用来将语音识别模块接收的语音信号通过STC10L08XE单片机的I/O口发送出去[7,8]。当外界传来语音信号时, 语音模块通过咪头接收到语音信息, 将其传给语音芯片LD3320进行处理, 将识别后的信号传给单片机, 单片机再将其通过I/O口输出, 只要输出端接上相应的硬件就可以达到驱动效果。语音识别模块如图2所示。

1. 2软件系统设计

系统主程序如图3所示。

1. 3扩展说明

本设计除了已达到的效果外, 后期经过进一步改进, 应该还可以添加可行的如下功能: 1通过测速模块采集小车的转速并显示在液晶显示屏上[9];2采用温度采集模块可以时刻监控周围环境的温度; 3利用超声波[10]模块进行测距。

2方案难点及关键技术

方案难点如下:

1小车的长时间运动需要消耗电能, 经常需要给电池充电, 没有达到要求的电压时还会出现不正常问题;

2语音识别技术还没有达到很成熟的地步, 很难排除环境干扰等因素, 有时会出现失控的局面。

关键技术如下:

1提供合适且稳定的电源给系统供电, 让其正常工作;

2了解语音信号的识别原理和过程[11];

3普通模式和口令模式2种语音识别模式的区别, 各自的作用和好处;

4掌握远距离信号传输的无线通信技术。

3系统仿真与结果分析

3. 1小车整体外观

语音无线遥控智能小车整体外观如图4和图5所示, 系统由小车底板和硬件模块组成, 小车控制电路放在小车上。小车控制器主要包括电机控制、红外避障、单片机核心板、无线发送与接收、语音识别控制和电源模块等部分组成。

3. 2系统调试

3. 2. 1硬件调试

按照仿真成功的电路图组装系统。1先是视检, 检查焊接好的系统板中是否存在明显的虚焊或漏焊情况; 2用万用表的欧姆档, 测各个主要连接中是否有虚焊或短路的情况; 3在给系统加电时, 如果发现电源输出的电压明显偏低或不正常时, 要立刻断电检查电路中是否有短路情况; 4在系统中各模块的供电正常和电路中不存在短路时, 再测试各个模块的功能是否能实现, 最后把各个调试正常的模块连接起来, 组成一个完整的系统, 等待软件的测试。

3. 2. 2软件调试

软件调试主要是在硬件调试完成后, 编写代码来测试各个功能模块能否与单片机进行正常通信, 最后检测整个系统是否能够正常工作。

3. 3测试结果分析

实物调试步骤如下:

1首先采用应答式训练, 每条指令的训练次数为2次, 每一条命令的训练过程都是一样的, 以“前进”为例说明: 步骤1: 小车提示“前进”; 步骤2: 告诉小车“前进”; 步骤3: 小车提示“请再说一遍” ( 重复训练提示音) ; 步骤4: 再次告诉小车“前进” ( 重复训练一次) 。这是一个完整的训练过程, 如果训练成功, 小车会自动进入下一条指令的训练, 并会提示下一条指令对应的动作; 如果没有训练成功, 小车会提示“说什么暗语呀”或者“没有听到任何声音”等信息, 需要重复上述的4个步骤, 直到成功为止。整个训练过程依次为: 前进—后退—左拐—右拐—停下。

2采用口令式直接对小车说前进, 或者倒车、左拐和右拐等, 小车如果识别出指令会有一个回应信号, 告之它要执行的动作, 然后执行该动作。如果想要小车执行其他动作, 直接告诉小车将要执行动作对应的指令即可。

通过与其他同类型的设计分析比较, 具有以下优势:

1目前玩具正向着智能化、人性化和廉价化的方向发展, 此款语音无线遥控智能小车符合玩具小车的发展趋势, 整个硬件电路大概在200元左右, 如果批量生产, 成本可降至60元左右, 和市场上的遥控小车相比, 具有很大的市场潜力, 它不仅可以应用于玩具市场, 对汽车自动行驶性能的研究也有很大的帮助;

2和SPCE061A单片机相比, 更适合升级和再度开发, 主要由单片机和语音识别芯片模块组成, 可以灵活选型, 满足市场要求;

3加了无线通信模块后, 可以让通信距离大幅度提高, 使控制变得更加自由。

4结束语

通过反复 调试, 实现了控 制电路以STC89C52RC单片机为核心, 语音识别模块和小车驱动模块的连接, 小车预想的功能, 完成了系统的架构。方案的意义在于将语音识别技术、无线通信技术和单片机技术有效结合, 突出体现了语音识别系统的含义, 未来必将广泛应用于社会生活和生产中。方案的应用领域主要有车载语音系统和电话语音识别声讯系统等。

参考文献

[1]孙恒, 李春.嵌入式语音识别系统的研究[J].计算机与现代化, 2003 (6) :20-23.

[2]怯肇乾.嵌入式系统硬件体系设计[M].北京:航空航天大学出版社, 2007.

[3]王利红.基于红外传感智能巡线机器人研究与设计[J].微计算机信息, 2008 (29) :160-161.

[4]杨永辉.智能小车的多传感器数据融合[J].现代电子技术, 2005 (6) :3-6.

[5]张立.电动小车的循迹[J].电子世界, 2004 (6) :45-48.

[6]侯天星, 李学华.基于nRF2401的无线数据传输系统[J].中国农学通报, 2009 (5) :258-263.

[7]张震宇, 王华.基于凌阳单片机的语音识别技术及应用[J].微计算机信息, 2007 (23) :2-8.

[8]徐文娟, 张晓云.多通道同步语音数据采集系统设计分析[J].无线电工程, 2012, 42 (6) :19-21.

[9]汤莉莉, 黄伟, 王春波, 等.基于Cortex-M3单片机的Wi Fi物联网小车的设计[J].无线电工程, 2014, 44 (4) :58-61.

[10]徐科军.传感器与检测技术[M].北京:电子工业出版社, 2007.

[11]李少谦, 程郁凡, 董彬虹, 等.智能抗干扰通信技术研究[J].无线电通信技术, 2012, 38 (1) :1-4.

基于超声波的智能语音导盲小车 篇2

关键词:S3C2440,超声波,语音识别,导盲系统

1. 引言

在日常活动中, 大约95%的信息是通过视觉获得的。由于盲人的视觉功能丧失, 给他们的工作、生活和心理上带来了很大的压力。盲人可以在导盲犬或导盲手杖帮助下, 躲避行进中的障碍物。但是导盲杖不能发现较远处的障碍物, 而导盲犬不易训练且成本较高, 因此, 许多国家正在研制电子导盲设备。为此, 开发一种方便、可靠的电子导盲设备将为盲人的生活带来很大方便。

本文介绍了导盲小车的工作原理和超声波的测距原理, 利用语音识别技术增加了人机互动性, 在语音指令的控制下, 可以测量小车正前方、左前方和右前方是否有障碍物, 并通过语音来播放离障碍物的距离, 小车行驶的偏航角可以通过陀螺仪进行实时的校准。如果在行驶过程中遇到障碍物, 可自动绕行。

2. 系统构成与原理

设计中利用mini2440开发板, 以两轮驱动小车为移动平台, 后轮为万向轮, 在该平台上安装超声波模块、语音识别模块、红外传感器、航向测量模块、直流电机控制模块和舵机等模块。mini2440通过分析超声波模块测量的距离数据并通过控制语音模块播放测量距离数据, 判断前方是否有障碍物, 进而控制电机的转向, 以躲避障碍物。mini2440可解析来自语音模块的指令信息, 通过融合安装在小车前端的陀螺仪测量得到的航向信息, 控制电机使小车沿指定方向行驶。另外, 安装在舵机上的超声波探头, 通过不断转向的舵机探测不同方向的障碍物。

3. 硬件电路设计方案

本设计以S3C2440开发板为信息处理核心, 如图1所示, S3C2440接口资源丰富[1], S3C2440处理器通过SPI总线接口控制语音识别模块;S3C2440处理器通过标准IO控制电机驱动模块、超声波测距模块、红外传感器等模块。

3.1 超声波测距

由于超声波测距方法容易实现, 因此本设计采用了超声波模块并将其安装在小车前部的舵机上, 采用渡越时间法[2], 超声波测距模块在收到10us的控制信号时, 将控制发射换能器发出8个40KHz的脉冲信号, 当接受换能器收到回波信号后, 经过电路的放大滤波处理后, 模块将输出与检测距离成正比的高电平信号, 其中, 模块输出信号将触发处理器的中断, 上升沿中断时开启定时器, 下降沿时关闭定时器, 此时, 可以利用处理器内部的定时器1测量出输出信号的高电平的持续时间ΔT, 经过 (1) 式的计算, 可得到检测距离S。

式中V为超声波的传播速度, 常温下超声波在空气中的传播速度是340米/秒。传播速度和空气的湿度、温度等因素相关[3], 从定时器中读出的数据经过软件中值滤波后, 可以提高测距的准确度, 削弱测量过程中的干扰。

3.2 语音识别和控制

根据本设计中的功能要求, 语音模块能够完成语音的识别和声音播放, 因此采用了LD3320, 如图2所示。此芯片能够在语音识别和声音播放模式之间切换。主设备S3C2440通过SPI总线对从设备LD3320完成初始化工作并将语音模块预设为语音识别模式。在语音识别进程中S3C2440检测LD3320的LD_IRQ是否有识别结果输出, 当LD_IRQ=1时, S3C2440通过读取LD3320的寄存器而得到识别结果。当系统请求播放MP3数据时, LD3320被初始化为MP3播放模式并进行数据的播放, 播放结束后, 再将LD3320初始化到语音识别模式。

本设计中, 增添了“垃圾关键词”来吸收错误的识别, 语音模块可以识别“向左转”、“向右转”、“向北走”、“停止”等13条命令。系统识别成功后, 将播放回复应答信号:“OK”, 并且执行相应的动作。

3.3 航向测量

为了使小车能够在语音指令的控制下沿指定方向行驶, 识别南北等方向, 同时能够修正在行驶过程中由于外界干扰因素产生的航向偏差, 本设计中采用陀螺仪航向测量模块MPU-6050, MPU-6050对陀螺仪用了16位的ADC, 将其测量的模拟量转化为可输出的数字量。陀螺仪模块中, 将采集到的数据通过串口发送到S3C2440。利用MPU-6050可以测量沿+Z轴 (和地面垂直) 的旋转角度, 假设小车的前进方向为+Y (和地面平行) 轴, 即测量沿+Z轴的旋转角度为小车的偏离Y轴的角度。在程序初始化时, 将Y轴方向和正北方向重合, 因此可以实现小车对南、北等方向的判断。

3.4 电机控制

本设计中, 采用了易于控制的直流减速电机。使用L298N恒压恒流桥式2A驱动芯片对电机进行控制, 该芯片可以方便地驱动两个直流电机实现方向控制, 如图3所示。L298 OUT1, OUT2和OUT3, OUT4之间可分别接电动机。5, 7, 10, 12脚接输入控制电平, 控制电机的正反转。En A, En B接控制使能端, 控制电机的停转。由表1可知En A为低电平时, 输入电平对电机控制不起作用, 当En A为高电平, 输入电平为一高一低, 电机正或反转。同为低电平电机停止, 同为高电平电机刹停。In3, In4的逻辑图与表1相同。L298的IN1~IN4和处理器S3C2440的通用IO端口相连, 实现对电机正反转的控制。在电机的供电电路中, 加入了滤波电容, 可以有效地减弱电机产生的电磁干扰对语音模块等其它部分的影响。

3.5 红外传感器检测原理

为了能够检测路面是否有凹陷, 并通过语音模块及时提醒盲人使用者, 本设计采用红外发射和接收对管, 安装在车底板上, 可以调节R3来改变有效测量距离。当红外线照射到平坦路面并反射时, 接收管导通, 信号经过电压比较器LM393的整形后, 输出低电平至处理器S3C2440的通用IO端口, 如图4所示。反之, 路面有凹陷, 则输出高电平[4,5]。

4. 软件设计方案

本设计的应用程序流程图如图5所示。系统初始化后, 使用者可以使用语音命令控制小车动作, 语音识别模块输出识别结果到信息分析模块, 信息分析模块查询定义的命令码格式来解析命令。同时, 读取陀螺仪输出的偏航角信息, 控制语音模块进行语音的播报并且输出控制电机的转向信号, 控制小车的行驶方向。

5. 结语

本文介绍了一种使用方便的电子导盲设备, 并详细介绍了硬件各个模块的实现方法和软件设计流程, 在实际测试中, 达到了预期的目标要求。在语音指令的控制下, 小车即可完成相应的转向和测量距离等动作。语音识别为用户提供了轻松、方便的人机交互界面, 在此基础上, 可以进一步开发智能多功能的机器人。

参考文献

[1]陈剑斌, 田联房基于ARM的自主移动机器人控制系统设计[J].机械设计与制造, 2011 (06) , 160-162.

[2]徐德, 邹伟.室内移动式服务机器人的感知、定位与控制[M].北京:科学出版社, 2008.

[3]景旭文, 李家宝.超声波测距的研究[J].华东船舶工业学院学报, 1994, 8 (1) :90-94.

[4]阎石.数字电子技术基础[M].北京:高等教育出版社, 2008.

语音小车 篇3

随着科技的发展, 智能设备大量涌现, 其中智能汽车作为典型代表之一, 对其进行研究开发也相当普遍, 当然人与这些智能化设备之间快捷可靠的交互方式很多, 其中语音辨识技术以其独特的趣味性成为了人与智能系统交互方式中的热点。本文所设计的智能小车利用语音辨识技术, 实现自动前进、后退、左拐、右拐和停车。

1智能车语音辨识系统的开发平台SPCE061A

采用语音辨识技术构建的智能小车的语音辨识系统实现了小车的自动行驶, 而SPCE061A控制器是构建语音辨识系统的开发平台。

SPCE061A是一款16位独具语音特色的控制器, 片内采用的μ‘nSPTM (microcontroller and signal processor) 核心处理器, 具有较高的处理速度, 能够完成16位算术逻辑运算、16×16位硬件乘法运算和DSP内积滤波运算、能够快速处理复杂的数字信号, 不需要额外的专用语音控制芯片, 就能实现语音的编解码等, 既节省了设计成本, 又能满足一定的控制要求[1]。控制器采用模块化架构, 集成了ICE (在线仿真) 、锁相环振荡器、时基控制器、7通道10位AD转换器、单通道AD+ AGC (自动增益) 转换器、双通道10位DA转换器、通用异步通信接口、串行输入输出接口、电压监控等模块, 其结构如图1所示。

2语音辨识的基本原理

语音辨识是建立在对人的语音交互过程的基础上, 它是一种多维模式辨识过程, 分为训练和辨识两个阶段, 其基本原理图如图2所示。辨识过程主要包括语音信号的预处理、特征提取、语音模型库、模式匹配、后处理等几个环节。预处理包括滤波、采样和量化、加窗、端点检测、预加重等过程, 然后对预处理后的语音信号样本进行分析处理, 从中提取出语音特征信息, 建立特征模型;之后开始模式匹配, 将输入语音信号的特征与已有的特征模型进行对比, 如果两者达到一定的匹配度, 则输入的语音被辨识[2]。机器语音辨识处理的过程与人对语音辨识处理的过程基本上是一致的, 目前主流的语音辨识技术是基于统计模式辨识的基本理论。

3基于SPCE061A的语音辨识系统在智能小车上的实现

智能小车的语音控制系统以SPCE061A控制器和语音输入电路、语音输出电路为硬件基础, 语音输入电路如图3所示, 其中VMIC提供传声器的电源, VSS是系统的模拟地, VCM为参考电压, 1脚和2脚分别是传声器X1的正极、负极的输入引脚, 连接SPCE061A的MICP、NICN管脚上。当对着传声器讲话时, 1脚和2脚将随着传声器输入的声音产生变化的波形, 并在SPCE061A的两个端口处形成两路反相的波形, 送到SPCE061A控制器内部的运算放大器进行音频放大, 经过放大的音频信号, 通过ADC转化器转化为数字量, 保存到相应的寄存器中。语音输出电路如图4所示, 其中VDDH为参考电压, VSS是系统的模拟地。音频信号由SPCE061A的DAC引脚输出送到电路的9端, 通过音量电位器R9的调节端送到集成音频功率放大器SPY0030, 经音频放大后, 音频信号从SPY0030输出经J2端口外接扬声器播放声音。

SPCE061A配有专用的麦克接口用于语音训练和辨识阶段的语音输入, 16位的定时/计数器用于语音信号的控制采样, 内置的硬件乘法器和内积运算保证了辨识算法的运行。在软件方面, 凌阳科技提供一个语音辨识函数库bsrv222SDL.lib, 它能够完成特定人语音的连续辨识, 包括训练函数和辨识函数, 还可以将训练好的特征模型导入和导出等[3]。

由于语音命令的特征模型要保存到RAM中, 所以首先擦除SPCE061A中的RAM, 与语音训练做准备。训练模式启动后, 系统播放语音提示, 提示用户语音训练已启动, 接下来用户可按照系统提示依次对各条命令进行训练, 在训练过程中, 如训练成功则由语音提示进行下一条命令进行训练, 若失败, 也会提示用户继续训练此条语音, 全部命令训练完毕后系统将准备进行语音辨识;当向控制器发出语音命令时, 声波通过麦克端口输入, 将相应的信号传递到SPCEO61A处理芯片, 经编解码电路和数字信号处理后, 在芯片中通过相关程序与预先植入的语音库中的命令进行比较辨识, 根据辨识的结果进行判断, 转换为能被系统辨识的信号, 从而对被监控系统进行控制[4]。语音辨识的过程如图5所示。

智能小车的语音辨识系统在SPCE061A上的实现过程可分为以下五个阶段, 如图6所示。

(1) 初始化RAM

语音命令的特征模型被保存在SPCE061A的内部RAM中, 如果所需的RAM空间被旧的特征模型数据占满, 新特征模型则无法保存到RAM中, 利用BSR_DeleteSDGroup (0) 函数可以把RAM空间中所有的特征模型删除, 释放出所需的空间。当RAM擦除成功BSR_DeleteSDGroup (0) 函数返回0, 否则返回-1。

(2) 调用训练模块

语音训练过程通过调用函数int BSR_Train (int CommandID, int TraindMode) 来完成, CommandID为命令序号, 范围从0x100到0x105, 并且对于每组训练语句都是唯一的。TraindMode为训练次数, 为1表示使用者训练一次, 为2表示训练者训练两次。为了增强可靠性, 最好训练两次, 否则辨识的命令就会倾向于噪音, 训练次数是2时, 两次一定会有一些差异, 所以一定要保证两次训练结果尽量接近。当int BSR_Train返回0时表明语音训练成功。

(3) 初始化辨识器

用来定义语音输入来源, 可以通过调用函数void BSR_InitRecognizer (int AudioSource) 完成, 其中参数AudioSource为0时表示MIC语音输入, 为1时表示LINE_IN模拟电压输入。当主程序调用该函数时, 语音辨识器便打开8kHz采用频率的FIQ_TMA中断, 并将采样得到的语音数据填入语音辨识器的数据队列中[5]。

(4) 启动实时监控

实时监控是用来观察语音辨识是否正常工作, 如果辨识正常则会产生脉宽为16ms连续稳定方波, 否则会产生不稳定的波形, 此时需要删除命令或优化程序, 否则将会丢失语音数据, 产生辨识出错信息。完成此功能可以通过调用BSR_EnableCPUIndicator () 函数来完成。

(5) 辨识处理

由函数int BSR_GetResult () 完成语音辨识处理, 当无命令辨识出来时, 函数返回0;辨识器停止未初始化或辨识未激活返回-1;当辨识不合格时返回-2;当辨识出来时返回命令的序号。

4实验与结论

实验中智能小车的正确辨识率在90%以上, 实验过程中发现影响小车正常辨识的因素主要包括周围环境的噪音、人与小车的距离等, 这些需要在今后的工作改正。需要说明的是在训练过程中中, 每条语音命令的长度不要超过13 s, 训练后得到的语音模型保存在RAM中, 每条命令占用96Word。由于RAM空间有限, 同时可辨识的语音命令为5条, 为了运行复杂的辨识程序, 必须通过扩展必要的存储芯片完成系统的功能。

这种语音控制的智能小车机器人不仅可以将来为人服务, 稍加扩展, 就可以在多种不适合人作业的场合替代人执行任务, 因此这种语音控制小车机器人具有重要的学术研究价值。

参考文献

[1]罗亚非.凌阳16位单片机应用基础[M].北京:北京航空航天大学出版社, 2006.

[2]张震宇, 王华.基于凌阳单片机的语音识别技术及应用[J].微计算机信息, 2007, 23 (82) :120-122.

[3]汪敏.凌阳16位单片机实验与实践[M].北京:北京航空航天大学出版社, 2007.

[4]刘萌.基于凌阳SPCE061A单片机的语音识别系统设计[J].电子测量, 2008 (7) :30-31.

上一篇:跨文化非言语交际能力下一篇:老年空巢