基于变电站巡检机器人的语音交互控制方法
【专利摘要】本发明公开了基于变电站巡检机器人的语音交互控制方法,利用设置在巡检机器人上的语音传感器采集语音信号,巡检机器人的语音识别系统对采集到的语音信号进行端点检测等预处理、特征提取,然后通过识别引擎判定语音内容是否为合法语音指令,若经过语音识别后的语音指令合法并识别为提问指令时,从应答指令文件中搜索出与所述提问指令对应的应答指令,然后巡检机器人以语音播报的形式应答;否则,向巡检机器人发生相应控制信号完成指定操作。本发明着眼于变电站巡检机器人语音交互控制的功能需求,以语音识别和语音合成的应用开发为手段,实现了可靠快捷的机器人语音控制与交互会话,在电力行业具有广阔的应用前景。
【专利说明】基于变电站巡检机器人的语音交互控制方法
【技术领域】
[0001] 本发明涉及基于变电站巡检机器人的语音交互控制方法。
【背景技术】
[0002] 长期以来,我国电力行业变电站设备多采用人工巡检作业方式。在高压、超高压以 及雷雨等恶劣气象条件下,人工巡检存在较大安全风险,并且检测到的数据也无法准确、及 时地接入管理信息系统,对电网安全运行带来一定隐患。
[0003] 变电站巡检机器人能够全天候全方位对变电站设备进行无人值守巡检,从而代替 繁重的变电站设备人工巡检,提高了变电站巡检的自动化、智能化水平。在运行方式上,巡 检机器人能够按照预设的指令集自主完成整套巡检流程,也可以在操作人员的指令控制下 完成指定操作,操作指令通常以点击按钮或菜单的方式下达。
[0004] 目前,变电站巡检机器人已经在国内多地推广应用。现场应用对机器人的控制方 式提出了新的要求,希望能够以语音命令控制机器人,并且实现与巡检机器人的交互对话。
【发明内容】
[0005] 为解决现有技术存在的不足,本发明公开了基于变电站巡检机器人的语音交互控 制方法,该控制方法以语音识别和语音合成的应用开发为手段,利于实现可靠快捷的机器 人语音控制与交互会话。
[0006] 为实现上述目的,本发明的具体方案如下:
[0007] 基于变电站巡检机器人的语音交互控制方法,包括以下步骤:
[0008] 步骤一:利用设置在巡检机器人上的语音传感器采集语音信号,语音传感器与巡 检机器人自带的音频采集卡进行连接,音频采集卡将获取的语音信号作为语音识别输入源 送入巡检机器人的控制系统;
[0009] 步骤二:巡检机器人的语音识别系统对采集到的语音信号进行端点检测预处理、 特征提取,然后通过识别引擎判定语音内容是否为合法语音指令,合法语音指令包括提问 指令和控制指令两类;若为合法语音指令,进一步判断语音指令的类型,若经过语音识别后 的语音指令合法并识别为提问指令时,转向步骤三,否则,转向步骤四;
[0010] 步骤三:从应答指令文件中搜索出与所述提问指令对应的应答指令,然后巡检机 器人以语音播报的形式应答;
[0011] 步骤四:若经过语音识别后的语音指令合法并识别为控制指令时,向巡检机器人 发生相应控制信号完成指定操作。
[0012] 所述步骤一中,巡检机器人的控制系统检测音频采集卡获取的语音信号,若语音 信号强度及持续时间达到设定阈值则表明有有效语音输入,开始进行语音识别。
[0013] 所述步骤二中语音识别判定语音输入的内容,识别结果采用指令文本的形式进行 输出。
[0014] 所述步骤二中提问指令和控制指令逐条存储于同一交互指令文件中,提问指令在 前、控制指令在后,每条提问指令设置有对应的应答指令,所有应答指令逐条存储于应答指 令文件中,在初始化过程中,识别引擎能够识别出交互指令文件和应答指令文件的位置,并 能读取交互指令文件和应答指令文件中各指令的内容。
[0015] 所述步骤二中对语音内容进行分析识别,若判定语音内容为交互指令文件中的某 一条提问指令或控制命令,则认为成功获得识别结果。
[0016] 所述步骤二中的提问指令和控制指令的识别之前编写语法规则文件,其中在语法 规则文件定义需要识别的字和短语,SDK语音识别引擎加载该语法规则来识别用户的语音。
[0017] 所述步骤三中,巡检机器人以语音播报的形式应答,机器人应答形式为预先录制 好的语音,或者先通过语音合成实现文本到语音的转换、再实现语音输出。
[0018] 所述编写语法规则文件,SAPI的语法规则采用XML格式,在语音识别时对每条指 令的判断是采用整体比对或者分段比对的方式。
[0019] 本发明的有益效果:
[0020] 1、本发明利用语音识别技术正确识别操作人员发出的语音指令,再根据识别结果 判断语音指令的类型,通过设置提问指令和控制指令实现对机器人的交互式控制,保证巡 检机器人在识别到有效语音对话和语音操作指令后,能根据识别结果及时做出应答或完成 指定操作。
[0021] 2、本发明根据应用需求设计了完整的语音交互开发流程;在此基础上基于微软语 音应用程序接口 SAPI,完成了一套人机语音交互控制系统。现场测试结果表明,系统的各项 性能指标满足设计要求。
[0022] 3、本发明着眼于变电站巡检机器人语音交互控制的功能需求,以语音识别和语音 合成的应用开发为手段,实现了可靠快捷的机器人语音控制与交互会话,在电力行业具有 广阔的应用前景。
【专利附图】
【附图说明】
[0023] 图1为本发明中基于变电站巡检机器人的语音交互控制方法的结构框图;
[0024] 图2为本发明中基于变电站巡检机器人的语音交互控制方法的处理流程图;
[0025] 图3为微软SAPI的开发架构示意图。
【具体实施方式】:
[0026] 下面结合附图对本发明进行详细说明:
[0027] 结合图1至图3所示,基于变电站巡检机器人的语音交互控制方法,包括如下步 骤:
[0028] a、语音采集
[0029] 将语音传感器与巡检机器人自带的音频采集卡进行连接,利用巡检机器人自带的 语音传感器采集语音信号,并将音频采集卡获取的语音信号作为语音识别输入源;在语音 采集过程中,检测音频采集卡获取的语音信号,若语音信号强度及持续时间达到一定阈值 表明有有效语音输入,开始进行语音识别;
[0030] b、语音识别,通过识别引擎获取语音内容,然后通过搜索指令文件判定其是否为 合法指令;对合法指令进一步判定其类型。
[0031] 通过对采集到的语音信号进行分析处理、特征提取比对识别出语音内容,然后通 过识别引擎判定语音内容是否为合法语音指令,若为合法语音指令,进一步判断语音指令 的类型,进而控制巡检机器人做出响应,合法语音指令包括提问指令和控制指令两类,提问 指令包括"你叫什么名字"、"你会做什么"等指令,控制指令包括"开始充电"、"停止充电"、 "开启超声"等指令;语音识别判定语音输入的内容,识别结果采用指令文本的形式进行输 出;
[0032] 上述提问指令和控制指令逐条存储于同一交互指令文件中,提问指令在前、控制 指令在后,每条提问指令设置有对应的应答指令,所有应答指令逐条存储于应答指令文件 中,在初始化过程中,识别引擎能够识别出交互指令文件和应答指令文件的位置,并能读取 交互指令文件和应答指令文件中各指令的内容;对语音内容进行分析识别时,若判定语音 内容为交互指令文件中的某一条提问指令或控制命令,则认为成功获得识别结果;
[0033] c、对话应答
[0034] 若经过语音识别后的语音指令合法并识别为提问指令时,从应答指令文件中搜 索出与所述提问指令对应的应答指令,然后巡检机器人以语音播报的形式应答;机器人应 答形式为预先录制好的语音,或者先通过语音合成实现文本到语音的转换、再实现语音输 出;
[0035] d、执行操作
[0036] 若经过语音识别后的语音指令合法并识别为控制指令时,向巡检机器人发生相应 控制信号完成指定操作。
[0037] 在语音交互控制方法中,语音识别和用于对话应答的语音合成是实现巡检机器人 语音交互控制的关键。结合系统需求和语音技术发展状况,本发明基于现有语音开发包的 方式实现了整个语音交互控制系统。
[0038] 语音识别技术就是让巡检机器人通过识别和理解过程把语音信号转变为相应的 文本或命令的技术,技术内容主要包括特征提取技术、模式匹配准则及模型训练技术三 个方面。目前常用的语音开发工具有微软公司的SAPI语言引擎和国内科大讯飞提供的 InterReco语音识别系统。本发明采用微软的SAPI进行语音识别开发。SAPI是微软语音 开发包提供的关于语音处理的一套应用程序编程接口,包含了实现文字-语音识别和语音 合成程序的基本函数,简化了语音编程的难度,降低了语音编程的工作量。
[0039] 如图3所示,语音引擎通过设备驱动接口 DDI层SAPI运行库通信,应用程序则通 过应用程序接口 API层和SAPI交互,通过使用这些API进行语音识别和语音合成方面的开 发。
[0040] 语音识别的详细开发,SAPI构建语音识别系统可以采用两种识别模式:语音命令 控制模式和语音听写模式。采用语音命令控制模式构建的语音识别系统,适合小词汇量、孤 立词、非特定人的语音识别,但是需要创建语法规则,识别范围只能局限于语法规则内所设 计的短语或字词,适应性差但限定内容识别率高。语音听写模式构建的语音识别系统适合 于大词汇、连续语音的识别,同时无需构建复杂的语法规则,语音识别的适应性强,但识别 率相对要低一些。
[0041] 机器人语音交互控制的指令是有限且相对固定的,因此采用识别率更高的命令控 制识别模式。按照SAPI的开发流程,完成语音识别的基本配置和识别引擎初始化即可进行 语音识别。
[0042] 语音命令识别模式的关键问题是语音规则,是对能够识别的命令库的标准化描 述。SAPI的语法规则采用XML格式。在进行识别工作之前需要编写一个语法规则文件,其 中定义了需要识别的字和短语,SDK语音识别引擎加载该语法规则来识别用户的语音。
[0043] 在XML中每个实体或元素是由开始标记〈属性名〉和结束标记〈/属性名〉所组 成,在其中间夹的语句就是该实体或元素包含的文法内容。文法的内容可以是普通文字,或 者是文法元素的子元素。XML规范中对于合法的文法内容的正式定义是采用多集合表达式 的形式。利用这些定义,就可以精确定义文件的语法和文法中的规则。在文法中,<P>和〈/ P>中插入的是一组待识别的字或短语,而<LX/L>中插入的是以<PX/P>为可选择项的可 能匹配用户语音的字或短语。如下是机器人语音交互控制采用的部分语法规则:
[0044] 〈GRAMMAR LANGID = "804" >
[0045] -〈DEFINE〉
[0046] 〈ID NAME = "CMD" VAL = " 10" />
[0047] 〈/DEFINE〉
[0048] -〈RULE NAME = "COMMAND" ID = "CMD" TOPLEVEL = "ACTIVE" >
[0049] -<L>
[0050] <P>+你叫什么名宇</P>
[0051] <P>+你来自哪里</P>
[0052] <P>+你都会干什么</P>
[0053] <P>+启动高抗区域巡检任务</P>
[0054] <P>+ 停止任务 </P>
[0055] 其中,GRAMMAR LANGID = "804〃,指明了识别对象是中文汉字,在识别过程中将调 用汉语声学模型;位于<P>和</P>之间的是诸条识别命令。XML语法文件可根据识别命令 手工编辑,当识别命令发生变化时需要同步更新并加载XML文件,语音识别引擎才能识别 新的指令。因此手工编辑方式不便于更新语法,在开发过程中根据XML规则实现了语法文 件的程序化更新,采用 MSXML2: : IXMLDOMDocumentPtr 和 MSXML2: : IXMLDOMElementPtr 对 XML文件进行编辑。
[0056] 语音合成的详细开发,语音合成能将任意文字信息实时转化为标准流畅的语音朗 读出来。通过计算机语音合成可以在任何时候将任意文本转换成具有高自然度的语音,实 现让机器"像人一样开口说话"。这正是机器人语音交互应答的需求。采用微软SAPI实现 语音合成的步骤与语音识别大致类似,同样包含音量、语速和引擎初始化。其中一个关键问 题是选择发音库,即让机器人以什么样的腔调说话。微软SAPI包含了中英文的发音库,但 在SAPI5. 1及以下版本里中文发音类型少且效果较差;可通过安装第三方的语音库增强语 音合成效果,如Neospeech语音库。
[0057] 按照上述流程完成了机器人语音交互控制系统的开发,经现场测试正确识别率超 过90%。要进一步提高语音识别率,可加入语音预处理及用户训练。特别地,本文在语法规 则设计上进行了实验研究。
[0058] 采用整体比对语法形式,即在语音识别时对每条指令的判断是采用整体比对,最 终的识别结果是与上述列表中最为接近的选项。实验证明此种形式的语法规则下正确识别 率较高,但是虚警率偏高,即可能将某些干扰音轻易地识别为某条指令,特别是一些短的指 令,如"录音"、"打开"等。分析产生这种问题的原因,应该是某些干扰中含有与这些短指令 类似的语音成分。为了保证识别率,这种整体指令形式的语法规则下的比对并不是非常严 格的比对,因为识别系统要容忍一定程度的输入偏差,如将"山东"读成"三东"也应能识别 出来,毕竟用户的发音可能千差万别,如果都能像新闻播音员一样发布指令问题就简单了。
[0059] 因此,在上述语法规则下一些短的指令往往被误识。为改善这一问题,设计了更为 严格的语法规则,如下所示:
[0060] -〈GRAMMAR LANGID = "804" >
[0061] -〈RULE NAME = "你叫什么名字" TOPLEVEL = "ACTIVE" >
[0062] <P>+你叫 </P>
[0063] <P>+ 什么 </P>
[0064] <P>+名字 </P>
[0065] 〈/RULE〉
[0066] 〈RULE NAME = "你来自哪里,,TOPLEVEL = "ACTIVE" >
[0067] <P>+ 你来 </P>
[0068] <P>+ 自哪里 </P>
[0069] 〈/RULE〉
[0070] 〈RULE NAME = "拉近" TOPLEVEL = "ACTIVE" >
[0071] <P>+拉 </P>
[0072] <P>+ 近 </P>
[0073] 〈/RULE〉
[0074] 这种分段形式的语法规则实现了更严格的匹配识别,如要识别"拉近",需要同时 将"拉"和"近"都比对出来。以上两种不同形式的识别语法各有所长,因此如何合理地设 计语法规则是改善语音识别效果的一个途径。
[0075] 为增强变电站巡检机器人的语音交互功能,根据应用需求设计了完整的语音交互 开发流程;在此基础上基于微软语音应用程序接口 SAPI,完成了一套人机语音交互控制系 统。现场测试结果表明,系统的各项性能指标满足设计要求。当然限于语音识别技术的发 展水平,机器人的语音识别能力与人相比还有很大差距。该语音交互系统的抗干扰能力还 有待提高,特别是在有噪背景下的可靠识别能力。
【权利要求】
1. 基于变电站巡检机器人的语音交互控制方法,其特征是,包括以下步骤: 步骤一:利用设置在巡检机器人上的语音传感器采集语音信号,语音传感器与巡检机 器人自带的音频采集卡进行连接,音频采集卡将获取的语音信号作为语音识别输入源送入 巡检机器人的控制系统; 步骤二:巡检机器人的语音识别系统对采集到的语音信号进行端点检测预处理、特征 提取,然后通过识别引擎判定语音内容是否为合法语音指令,合法语音指令包括提问指令 和控制指令两类;若为合法语音指令,进一步判断语音指令的类型,若经过语音识别后的语 音指令合法并识别为提问指令时,转向步骤三,否则,转向步骤四; 步骤三:从应答指令文件中搜索出与所述提问指令对应的应答指令,然后巡检机器人 以语音播报的形式应答; 步骤四:若经过语音识别后的语音指令合法并识别为控制指令时,向巡检机器人发生 相应控制信号完成指定操作。
2. 如权利要求1所述的基于变电站巡检机器人的语音交互控制方法,其特征是,所述 步骤一中,巡检机器人的控制系统检测音频采集卡获取的语音信号,若语音信号强度及持 续时间达到设定阈值则表明有有效语音输入,开始进行语音识别。
3. 如权利要求1所述的基于变电站巡检机器人的语音交互控制方法,其特征是,所述 步骤二中语音识别判定语音输入的内容,识别结果采用指令文本的形式进行输出。
4. 如权利要求1所述的基于变电站巡检机器人的语音交互控制方法,其特征是,所述 步骤二中提问指令和控制指令逐条存储于同一交互指令文件中,提问指令在前、控制指令 在后,每条提问指令设置有对应的应答指令,所有应答指令逐条存储于应答指令文件中,在 初始化过程中,识别引擎能够识别出交互指令文件和应答指令文件的位置,并能读取交互 指令文件和应答指令文件中各指令的内容。
5. 如权利要求1所述的基于变电站巡检机器人的语音交互控制方法,其特征是,所述 步骤二中对语音内容进行分析识别,若判定语音内容为交互指令文件中的某一条提问指令 或控制命令,则认为成功获得识别结果。
6. 如权利要求1所述的基于变电站巡检机器人的语音交互控制方法,其特征是,所述 步骤三中,巡检机器人以语音播报的形式应答,机器人应答形式为预先录制好的语音,或者 先通过语音合成实现文本到语音的转换、再实现语音输出。
7. 如权利要求1所述的基于变电站巡检机器人的语音交互控制方法,其特征是,所述 步骤二中的提问指令和控制指令的识别之前编写语法规则文件,其中在语法规则文件定义 需要识别的字和短语,SDK语音识别引擎加载该语法规则来识别用户的语音。
8. 如权利要求7所述的基于变电站巡检机器人的语音交互控制方法,其特征是,所述 编写语法规则文件,SAPI的语法规则采用XML格式,在语音识别时对每条指令的判断是采 用整体比对或者分段比对的方式。
【文档编号】H02J13/00GK104123939SQ201410251361
【公开日】2014年10月29日 申请日期:2014年6月6日 优先权日:2014年6月6日
【发明者】陕华平, 李红玉, 杨国庆, 傅崇光, 韩磊 申请人:国家电网公司, 国家电网公司运行分公司, 山东鲁能智能技术有限公司