一种室内导盲机器人的RFID-语音交互系统设计

2014-04-03 02:04
自动化仪表 2014年3期
关键词:阅读器寄存器标签

(江苏科技大学机械工程学院,江苏 镇江 212003)

0 引言

导盲机器人属轮式自主移动机器人[1]的一种,其设计目的是应用语音交互的方式来弥补盲人视觉信息的缺失。至今为止,世界上许多智能导盲设备如OAS、Laser-Cane和PAMM等,在人机语音交互方面都存在一定的研究空白[2-3]。据此,本文分别采用RFID无线射频识别技术[4-5]和SI-ASR非特定人声识别技术[6],通过定义室内RFID标签来触发导盲机器人的语音交互系统,以完成环境语音播报和用户人声识别。大多数RFID和语音相结合的机电仪器,如带有语音的低功耗手持读卡仪[7]只具备单纯的报音功能。本文设计的系统除具有报音功能外,还设计有人声指令的识别功能,通过定义125 kHz低频 RFID[5]触发标签的布置结构和应用LD3320的SI-ASR搜索引擎和特征库,完成非人声指令、播报地点和物品信息的语音交互功能。

1 RFID-语音系统硬件设计

1.1 系统硬件总体方案

室内导盲机器人的RFID-语音交互部分的硬件系统结构框图如图1所示。该系统采用主从机的分布式组成结构,各从机采用UART串行通信的方式,通过MAX485芯片将TXD和RXD中的TTL电平信号转换为RS- 485信号,从而实现主控上位机和各从机间的双向信号传递。

图1 系统硬件框图

LD3320语音识别芯片受控于STC10L08XE,并采用模拟SPI的方式进行双向通信。耳机和麦克风接口同时集成在LD3320外围电路中。125 kHz低频RFID阅读线圈共有四组,可分别与各自读取范围内的RFID标签进行非接触式通信。信号解调电路可解析标签对应的ID号码,并传送至从机2(STC89C52RC)中与已存储的物品信息列表代码进行比较和选取,最后得到该ID所对应的语音触发信息。上位机负责采集从机2中的核对结果并进行优先级调配,最终与从机1完成交互工作。

1.2 LD3320应用电路方案

导盲机器人采用了基于非特定人语音识别技术SI-ASR的语音识别芯片LD3320[6-8]。该芯片可识别中文发音,不需用户训练和录音,通过芯片内部固化的非特定人语音识别搜索引擎和特征库即可识别出最佳语音匹配的拼音串。LD3320同时集成了ADC、DAC、话筒和麦克接口等外围电路[9],可辅助导盲机器人实现语音识别、声控和人机对话功能。

LD3320语音识别芯片接线原理图如图2所示。LD3320的芯片接口结构较为复杂,LD3320与STC10L08XE采用同一个22.1184 MHz的外部晶振,SPOP和SPON为扬声器音频输出接口,MICP和MICN为外部麦克风连接口,MBS为麦克风偏置端,外部连接有RC电路,以保证可以提供一个浮动电压至麦克风[10]。LD3320与STC10L08XE通过SPI总线引脚SDI、SDO、SDCK和CSB/SCS进行双向通信。LD3320可读取外置Flash内的MP3文件进行组合和播放,当MP3数据或识别结果不充分时,LD3320通过INTB端触发中断信号通知STC10L08XE进行处理。在数据出现极端冗余的情况下,STC10L08XE可直接将RSTB端置低,通知LD3320进行语音识别和输出功能的复位。

图2 LD3320语音识别芯片接线原理图

2 语音触发标签布局设计

低频RFID标签具有无源、信号穿透力强、价格低和通信距离近等使用特性[4],可以在室内环境中实现批量布置。由于125 kHz低频RFID的通信距离通常在3~10 cm之间,且低频阅读器和标签采用一对一的通信模式,当1个读写器处于2个标签的读写范围内时会引发读取紊乱的状况,因此低频标签必须以一定布局成组定义,才可确保机器人正确读取。

低频RFID阅读器和标签布局图如图3所示,左图为导盲机器人俯视图,阅读器分布在机器人的车体底盘上;右图为阅读器和标签重合的几种形式,标签成组设置在环境关键点处,并以边数最少的正多边形和等边三角形作为阵列的基本单位。

设标签的通信区域直径为D,相邻标签间距为s;阅读器线圈直径为d,阅读器线圈共4组(A0~A3),其中,A0位于底盘中心,A1~A3分布在边长为L的等边三角形端点处。

图3 低频RFID阅读器和标签布局图

当机器人位于关键点处时,RFID标签正确触发其语音系统的两个充分条件为:

① 当A0不处于低频标签的信号覆盖范围内时,A1~A3则必须同时处于3个不同的低频标签的信号覆盖范围内;

② 当A1~A3中至少有一个不处于低频标签的信号覆盖范围内时,A0则必须处于唯一低频标签的信号覆盖范围内。

A1~A3之间任意两点的直线约束数学关系为:

A0~A3组成的等边三角形与标签间的约束数学关系为:

当机器人的4组RFID阅读器和标签组的布局设置满足以上数学关系式时,即可确保机器人进入关键点区域时正确启动语音交互系统。

3 机器人语音交互系统设计

3.1 SI-ASR原理和程序流程

非特定语音识别和输出原理框图如图4所示。

图4 语音识别及输出原理框图

当LD3320识别外部语音信号后,以拼音串的形式传入STC10L08XE中,由内部程序再进行拼音串和关键词的匹配,确定匹配后根据关键词属性确定是进行语音输出还是上传动作信号。

STC10L08XE内部程序流程如下。

① 语音识别和通用初始化。对各寄存器进行初始化设置,单片机通过RSTB发送低电平以复位LD3320内各数据处理模块,并重新设定模式、始终频率和FIFO[8-10]。

② 将各关键词写入识别列表。关键词包括机器人的运动控制词语、目的地和目的物品词语以及简单的询问词语,每个关键词都有其所属编号,不同关键词可享有同一编号,即使用者所发出的相近语音指令都可以归属于导盲机器人同一个执行结果。关键词采用以空格相间的拼音串形式设定,在导盲机器人启动前已写入STC10L08XE的EEPROM中。

③ 准备识别外部语音。向寄存器写入麦克风音量ADC增益,设置寄存器清空和芯片状态,开启ADC和中断并准备识别外部语音。

④ 响应中断并识别。当麦克风采集到增益范围所能接收的音频信号时,LD3320通知STC10L08XE产生中断并识别。在LD3320进行识别后,往BA寄存器中写入所有可能匹配结果,往C5寄存器中写入最佳分析结果。在读取寄存器结果时,若C5中没有出现所属类的结果,而BA寄存器中存在该结果,则单片机自动将程序跳转至语音输出动作。申请使用者重复语音指令并重复识别,若重复识别次数达到3次仍不匹配,则跳出识别。

⑤ 关键词匹配和动作输出。若外部语音识别结果与关键词匹配成功,则单片机STC10L08XE关闭识别中断,以防止多余语音信息构成中断干扰,并准备执行机器人的具体执行动作。导盲机器人的语音执行动作按形式分为两类。一类是语音输出形式,机器人应要求为使用者提供语音播报,如当前运行状况、大致位置信息以及所经过的可识别物品等。导盲机器人的MP3语音输出信息存放在与STC10L08XE相连的外置Flash寄存器中。为节省空间并构成更多的输出信息,这里将MP3语音输出信息分段存储,播放时按要求寻找所需语段,这些语段的存放首地址和末地址按顺序组合,通过扬声器一同输出。这种方法使得语音系统的输出内容变得更加智能、灵活和多变。另一类是机器人运动的输出形式,包括机器人的前进、后退、左转和右转等运动信息。当这类信息进行匹配后,单片机将运动控制字上传至485总线,与其他模块信息的优先级分配后,最终转化为机器人电机的具体动作。

3.2 语音交互对话单元管理

导盲机器人的语音识别状态判定程序位于导盲机器人从机1的主程序中,每个扫描周期都会判断当前的识别状态,当有外部语音的中断且识别出结果时,程序执行LD_ASR_FOUNDOK。在Output (nAsrRes)子程序中,单片机主要负责对识别结果的匹配和具体输出动作。为便于对应识别结果和行为的管理,本文定义了使用者和导盲机器人对话管理单元的二维数组。由于LD3320最多可设置50项候选识别关键词,每项拼音段长度不能超过79 B[10],因此结合该芯片特性和导盲机器人功能要求设计的对话管理数组如表1所示。

表1 语音单元管理数组设计

表1中,识别数组和动作数组分别存在3种分类属性,在识别和匹配时可以方便程序更加快速地比对和寻找。动作数组和识别数组的同项目之间为一一对应的关系。为丰富机器人的语音输出信息,本文设计的动作数组中一个关键词最多可对应10个动作组合,运动动作和语音动作可列为同一动作数组中,以便机器人完成更复杂的任务。

4 试验测试和结果分析

本文根据研究内容自主设计了基于RFID的语音导盲机器人试验样机,并分别进行了10组功能试验测试。每组试验中,机器人进入低频信标组的角度均不同,其中机器人车体直径为50 cm,行走速度设定为0.5 m/s,在机器人进入信标区域的前方设定有超声波探测头。当超声波探测头探测到机器人经过时,开始计时直至识别RFID并触发语音交互系统。试验测得每组角度均能正常触发机器人的语音交互系统。由于需满足一定的条件,系统才可正确启动,因此每组试验的延时时间存在差异。试验中最长延时时间为1 142 ms,最短延时时间为272 ms,平均延时时间约为516 ms,基本符合机器人的功能制定要求。

在RFID触发LD3320工作后,对不同语速和不同语音内容的识别率进行测试,其中每组试验中共有1项供识别测试的语音内容、2种不同的语速,其测试统计结果如表2所示。

表2 语音试验识别结果统计

5 结束语

本文设计了一种RFID和非特定人声语音识别技术相结合的导盲机器人的语音交互系统。以特定布局的低频RFID标签组作为语音交互系统触发信标,触发机器人启动语音识别和输出系统,并着重设计了LD3320芯片的语音识别和输出程序流程,以及导盲机器人的对话管理数组及分类,最后通过研发导盲机器人样机试验验证了语音交互系统的可执行性。同时总结了关于提高系统识别率的一些方法。本语音交互系统使用方便,可扩展性强,可扩展至更多的有需求的智能化控制平台中使用。

[1] Roland S,Illah R N.自主移动机器人导论[M].李人厚,译.西安:西安交通大学出版社,2006:5-23.

[2] Yuan D,Santa C,Manduchi R.Dynamic environment exploration using a virtual white cane[J].Computer Vision and Pattern Recognition,2005(1):243-249.

[3] Spenko M,Yu H,Dubowsky S.Robotic personal aids for mobility and monitoring for the elderly[J].IEEE Transactions on Neural Systems and Rehabilitation Engineering,2006,14(3):344-350.

[4] Want R.An introduction to RFID technology[J].IEEE Pervasive Computing,2006,5(1):25-33.

[5] 游战清,刘克胜,吴翔,等.无线射频(RFID)与条码技术[M].北京:机械工业出版社,2007:3-15.

[6] 陈斌,郭大勇,施克仁.用于拟任机器人的嵌入式语音交互系统研究[J].机器人,2003,25(5):452-455.

[7] 赖于树,李迅波,熊燕.一种低功耗多功能手持射频读卡仪设计[J].自动化仪表,2006,27(12):13-15.

[8] 陈喜春.基于LD3320语音识别专用芯片实现的语音控制[J].电子技术,2011,38(11):20-21.

[9] ICRoute INC.LD332X开发手册[DB/OL].[2011-10-13].http://www.icroute.com/web_cn/LD332X_Dev.html.

[10]ICRoute INC.LD3320芯片简明调试步骤[DB/OL].[2011-10-13].http://www.icroute.com/web_cn/LD332X_Debug-Process.html.

猜你喜欢
阅读器寄存器标签
基于反向权重的阅读器防碰撞算法
The Magna Carta
Lite寄存器模型的设计与实现
Winner Takes All
二进制翻译中动静结合的寄存器分配优化方法
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
移位寄存器及算术运算应用
基于图论的射频识别阅读器防碰撞算法
让衣柜摆脱“杂乱无章”的标签