首页 / 专利库 / 人工智能 / 对话代理 / 聊天机器人 / 一种基于智能声源定位与语音控制的机器人系统及方法

一种基于智能声源定位与语音控制的机器人系统及方法

阅读:528发布:2020-05-13

专利汇可以提供一种基于智能声源定位与语音控制的机器人系统及方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于智能声源 定位 与语音控制的 机器人 系统及方法, 机器人本体 不断采集周围的语音信息,当存在语音指令后,进行声源定位,控制机器人本体移动到声源 位置 ,对采集的语音信息进行识别,识别到有效语句时,发送相应的控制指令给机器人本体执行对应的操作,同时将有效语句翻译成对应文字,进行中文分词,加载情感词典、程度副词词典、否定词词表和关联词词表,识别句子中的每一个情感词,根据识别结果展示相应的表情。本发明能够提升服务型机器人与被陪护者的交互能 力 。,下面是一种基于智能声源定位与语音控制的机器人系统及方法专利的具体信息内容。

1.一种基于智能声源定位与语音控制的机器人系统,其特征是:包括服务器、客户端和设置于机器人本体上的控制单元,其中:
所述服务器,被配置为存储有账户信息、权限设置和语音与视频信息,基于共享机制,实现机器人的群体学习与进化;
所述客户端,显示机器人经由服务器传送的语音和视频信息,并可进行权限修改、资源管理和远程控制操作;
所述控制单元,包括相互通信的上层处理系统和下层控制系统,所述上层处理系统被配置为具有多个采集模,分别采集语音和视频信息,并根据语音的声源进行定位,进而控制机器人本体运动,识别语音内容;
所述上层处理系统设置有语音识别与交互模块,所述语音识别与交互模块与服务器通信,在Ubuntu平台上实现语音识别,通过MongoDB数据库构建聊天知识库
利用改进的基于到达时延的广义互相关法定位算法进行声源定位,通过对各个麦克拾取的语音信号采取快速傅氏变换,得到互功率谱,利用PHAT加权函数削弱语音信号中的噪声部分,结合互相关函数峰值偏移量以及信号采样频率,利用抛物线插值算法,基于抛物线的峰值点对时延进行估测,准确估算出各个麦克风的时延,进而求得声源的方位信息;
所述下层控制系统被配置为接受并解析下达的运动指令,利用电机驱动单元驱动电机按照设定的速度运动,并将机器人的运行情况反馈至上层处理系统,实现语音的实时控制;
所述机器人本体根据识别的语音内容执行相应的语音操作,并识别语音信息中的情绪,控制本体上设置的表情模块展示不同的表情。
2.如权利要求1所述的一种基于智能声源定位与语音控制的机器人系统,其特征是:所述下层控制系统包括主控核心单元及作为冗余配置的监控核心单元,主控核心单元与上层处理系统进行通信,同时通过RS232与客户端进行通信,解析出速度设定值,同时捕获码盘的脉冲数,得到电机的实际速度,构成速度闭环控制,根据速度设定值和实际速度值,每隔设定的时间进行一次PID运算,通过PWM调制方式控制电机的转速。
3.如权利要求2所述的一种基于智能声源定位与语音控制的机器人系统,其特征是:所述监控核心单元包括冗余处理器,冗余处理器捕获码盘脉冲数,解析电机的实际速度,并与主控核心单元解析的速度值进行比较,当两者不一致时,根据故障处理机制及时处理异常,主控核心单元和冗余处理器之间定期进行数据传输,当冗余处理器接收不到主控核心单元发送的数据或者接收到错误数据时,冗余处理器及时复位主控核心单元。
4.如权利要求1所述的一种基于智能声源定位与语音控制的机器人系统,其特征是:所述机器人本体上设置有五麦克风阵列拓扑结构采集语音信息,具体包括位于圆心的一个麦克风以及围绕该麦克风为圆心围绕其均匀分布的四个麦克风。
5.如权利要求1所述的一种基于智能声源定位与语音控制的机器人系统,其特征是:所述机器人本体上设置有表情模块,为LED点阵屏,根据识别的用户情绪展现多种表情,且机器人本体的头部设置有高清摄像头,根据识别的声源位置通过头部俯仰电机自动调整位置并响应语音指令。
6.如权利要求1所述的一种基于智能声源定位与语音控制的机器人系统,其特征是:语音识别有离线识别和在线识别两种模式,当处于离线模式时,上层处理系统建立语法文件,其中定义语音识别语句,当从采集到的语音中识别到有效语句时,翻译成对应文字,进行中文分词,加载情感词典、程度副词词典、否定词词表和关联词词表,识别句子中的每一个情感词,并以情感词为中心滑动检测周边副词及否定词情况,最后对所有情感词及其修饰词的情感值累加,得到当前句子的情感值,判断出用户当前的情绪状态,发送给表情模块;当处于在线模式时,直接将识别的语句上传至服务器,由服务器分析感知用户情绪,进而从网络抓取相关内容并回传至机器人系统。
7.基于如权利要求1-6中任一项所述的机器人系统的工作方法,其特征是:不断采集周围的语音信息,当存在语音指令后,进行声源定位,控制机器人本体移动到声源位置,对采集的语音信息进行识别,识别到有效语句时,发送相应的控制指令给机器人本体执行对应的操作,同时将有效语句翻译成对应文字,进行中文分词,加载情感词典、程度副词词典、否定词词表和关联词词表,识别句子中的每一个情感词,根据识别结果展示相应的表情。
8.如权利要求7所述的工作方法,其特征是:所述机器人本体接收客户端的远程控制指令,当进行远程看护时,服务器同时启用主连接监听和协助打洞监听,客户端通过身份验证后,机器人本体同客户端都与服务器保持主连接畅通,当客户端需要连接机器人时,借助服务器的协助打洞端口,将客户端通过网络地址翻译后的公网IP通知给机器人本体,然后机器人尝试与客户端进行连接,同时在相同的端口启动侦听,并通过服务器将经过网络地址翻译的IP通知给客户端,当客户端主动连接机器人时,机器人允许连接,网络打洞成功。
9.如权利要求7所述的工作方法,其特征是:声源定位方和语音识别时,采用双限检测算法来从信号流中检测出语音的起始点和终止点,对信号做滤波去噪以及分加窗的处理,分别计算短时能量和短时过零率,进行多级判定,第一级判定依据信号的平均能量值设定一个阈值略高的门限值T1,判断语音信号的起始点,再结合实际环境噪声的大小设置一个略低的门限值T2,判断出语音结的束点,第二级判定,依据环境噪声的过零率来设定一个门限值T3,确定一级判定中语音前端的清音和末端的尾音。

说明书全文

一种基于智能声源定位与语音控制的机器人系统及方法

技术领域

[0001] 本发明涉及一种基于智能声源定位与语音控制的机器人系统及方法。

背景技术

[0002] 如今,独生子女一代正在成为社会的中坚量,而他们所面临的父母及孩子的陪伴看护等问题也日益凸显,因此家庭陪护机器人的需求也日益旺盛。相较于工业机器人,服务机器人起步相对较晚,还不够成熟,目前仅有扫地机器人在家庭中间拥有相对较高的普及率,其他大部分服务机器人还停留在实验室阶段,其功能服务同消费者的期望还有很大的差距。
[0003] 根据国家统计局最新发布的数据,显示老龄化程度进一步加深。其中,60周岁及以上人口23086万人,占总人口的16.7%;65周岁及以上人口15003万人,占总人口的10.8%。同时,单独二孩政策已在各地陆续正式实施,儿童的数量在现有基础上,还会有一定幅度的增加。因此,大力发展家庭陪护机器人,发挥他们在陪护和启蒙教育等方面的作用将是社会发展的必然要求,这将大大减轻年轻人的负担,社会意义重大,但同时对服务机器人的人机交互方式也提出了更高的要求。
[0004] 而日常生活中,人们之间的交互方式主要包括语音、视觉、手势等形式,其中语音是最为简单高效的一种交互形式,也最符合人们的交流习惯。语音识别技术是近几年的研究热点,已取得较大进展,并在很多领域得到了应用,比如车载设备、游戏、智能家电等。语音识别技术能够让机器理解用户所说的内容,解放了用户双手,提升人机交互体验。
[0005] 针对应用场合的不同,语音识别的侧重点也不尽相同。有些情况仅仅需要识别其中的一些关键词即可,比如基于语音关键词的运动控制;有一些场景要求尽量准确的识别出语音包含的所有汉字,比如语音输入;还有些情况不仅要求完整识别文字,还要求能够洞察出说话人的情感信息。要想使用户有好的人机交互体验,除了语音识别技术外,同样也离不开声源定位技术,只有让机器知晓说话人的方位,才能够有针对性的做出动作响应,而且将定位信息进一步同视觉等信息结合,可以开发出更多的功能场景。虽然语音技术已经在很多领域都已经有广泛应用,但是在机器人行业中还没有完全普及,也存在一些技术问题有待解决。

发明内容

[0006] 本发明为了解决上述问题,提出了一种基于智能声源定位与语音控制的机器人系统及方法,本发明能够实现机器人对说话人位置的估计及语音指令的响应等功能,有利于服务型机器人与人的交互。
[0007] 为了实现上述目的,本发明采用如下技术方案:
[0008] 一种基于智能声源定位与语音控制的机器人系统,包括服务器、客户端和设置于机器人本体上的控制单元,其中:
[0009] 所述服务器,被配置为存储有账户信息、权限设置和语音与视频信息,基于共享机制,实现机器人的群体学习与进化;
[0010] 所述客户端,显示机器人经由服务器传送的语音和视频信息,并可进行权限修改、资源管理和远程控制操作;
[0011] 所述控制单元,包括相互通信的上层处理系统和下层控制系统,所述上层处理系统被配置为具有多个采集模,分别采集语音和视频信息,并根据语音的声源进行定位,进而控制机器人本体运动,识别语音内容;
[0012] 所述下层控制系统被配置为接受并解析下达的运动指令,利用电机驱动单元驱动电机按照设定的速度运动,并将机器人的运行情况反馈至上层处理系统,实现语音的实时控制;
[0013] 所述机器人本体根据识别的语音内容执行相应的语音操作,并识别语音信息中的情绪,控制本体上设置的表情模块展示不同的表情。
[0014] 进一步的,所述下层控制系统包括主控核心单元及作为冗余配置的监控核心单元,主控核心单元与上层处理系统进行通信,同时通过RS232与客户端进行通信,解析出速度设定值,同时捕获码盘的脉冲数,得到电机的实际速度,构成速度闭环控制,根据速度设定值和实际速度值,每隔设定的时间进行一次PID运算,通过PWM调制方式控制电机的转速。
[0015] 进一步的,所述监控核心单元包括冗余处理器,冗余处理器捕获码盘脉冲数,解析电机的实际速度,并与主控核心单元解析的速度值进行比较,当两者不一致时,根据故障处理机制及时处理异常,主控核心单元和冗余处理器之间定期进行数据传输,当冗余处理器接收不到主控核心单元发送的数据或者接收到错误数据时,冗余处理器及时复位主控核心单元。
[0016] 进一步的,所述机器人本体上设置有五麦克阵列拓扑结构采集语音信息,具体包括位于圆心的一个麦克风以及围绕该麦克风为圆心围绕其均匀分布的四个麦克风。
[0017] 进一步的,所述机器人本体上设置有表情模块,为LED点阵屏,根据识别的用户情绪展现多种表情,且机器人本体的头部设置有高清摄像头,根据识别的声源位置通过头部俯仰电机自动调整位置并响应语音指令。
[0018] 进一步的,所述上层处理系统设置有语音识别与交互模块,所述语音识别与交互模块与服务器通信,在Ubuntu平台上实现语音识别,通过MongoDB数据库构建聊天知识库,语音识别有离线识别和在线识别两种模式,当处于离线模式时,上层处理系统建立语法文件,其中定义语音识别语句,当从采集到的语音中识别到有效语句时,翻译成对应文字,进行中文分词,加载情感词典、程度副词词典、否定词词表和关联词词表,识别句子中的每一个情感词,并以情感词为中心滑动检测周边副词及否定词情况,最后对所有情感词及其修饰词的情感值累加,得到当前句子的情感值,判断出用户当前的情绪状态,发送给表情模块;当处于在线模式时,直接将识别的语句上传至服务器,由服务器分析感知用户情绪,进而从网络抓取相关内容并回传至机器人系统。
[0019] 基于上述机器人系统的工作方法,不断采集周围的语音信息,当存在语音指令后,进行声源定位,控制机器人本体移动到声源位置,对采集的语音信息进行识别,识别到有效语句时,发送相应的控制指令给机器人本体执行对应的操作,同时将有效语句翻译成对应文字,进行中文分词,加载情感词典、程度副词词典、否定词词表和关联词词表,识别句子中的每一个情感词,根据识别结果展示相应的表情。
[0020] 进一步的,所述机器人本体接收客户端的远程控制指令,当进行远程看护时,服务器同时启用主连接监听和协助打洞监听,客户端通过身份验证后,机器人本体同客户端都与服务器保持主连接畅通,当客户端需要连接机器人时,借助服务器的协助打洞端口,将客户端通过网络地址翻译后的公网IP通知给机器人本体,然后机器人尝试与客户端进行连接,同时在相同的端口启动侦听,并通过服务器将经过网络地址翻译的IP通知给客户端,当客户端主动连接机器人时,机器人允许连接,网络打洞成功。
[0021] 进一步的,首先连接机器人本体的默认为主客户端,在查看机器人拍摄视频的同时向机器人发送运动控制指令,其他连接为从客户端,只能查看机器人的拍摄视频和当前状态,不能进行运动控制,当主客户端下线后,公网服务器会通知其他从客户端使其通过申请成为主客户端。
[0022] 进一步的,声源定位方法利用改进的基于到达时延的广义互相关法定位算法,通过对各个麦克风拾取的语音信号采取快速傅氏变换,得到互功率谱,利用PHAT加权函数削弱语音信号中的噪声部分,结合互相关函数峰值偏移量以及信号采样频率,准确估算出各个麦克风的时延,进而求得声源的方位信息。
[0023] 进一步的,语音识别方法采用Kaldi开源语音识别开发平台,基于准备的训练数据及脚本,采用了一种基于三音子的LSM语音识别模型。
[0024] 进一步的,声源定位方和语音识别时,采用双限检测算法来从信号流中检测出语音的起始点和终止点。
[0025] 具体为对信号做滤波去噪以及分加窗的处理,分别计算短时能量和短时过零率,进行多级判定,第一级判定依据信号的平均能量值设定一个阈值略高的门限值T1,判断语音信号的起始点,再结合实际环境噪声的大小设置一个略低的门限值T2,判断出语音结的束点,第二级判定,依据环境噪声的过零率来设定一个门限值T3,确定一级判定中语音前端的清音和末端的尾音。
[0026] 与现有技术相比,本发明的有益效果为:
[0027] 服务型机器人所处的家庭环境通常比较复杂,而且面向的用户群体大多是儿童和老人,通过按键或触屏等方式操控机器人的传统方式越来越无法满足大众的需求。而本发明基于语音的控制方式则可以使用户几乎不需要任何培训和学习,就能够以自己最为熟悉自然的方式来和机器人进行交互,大大提升了人机交互的体验效果。
[0028] 该机器人系统的运动控制方式灵活多样,既可通过语音指令控制机器人的运动,也支持手机APP触屏控制;具有语音识别功能,可根据聊天内容,配合机器人语速、语调以及面部表情变化,表达机器人的喜怒哀乐;具有声源定位功能,当用户语音唤醒机器人时,机器人可以定位出用户的位置信息,自主转向移动到用户面前;具有远程看护功能,用户可以远程登录机器人查看家中老人及儿童当前状态。
[0029] 为了确保机器人的安全可靠运行,服务型机器人具备故障检测及自处理功能,可以实时监控机器人的运行状况,及时处理疯跑、过流、通信乱码等机器故障。同时,该机器人配有避障系统和防跌落系统,在用户使用的过程中自动规避障碍物,起到自我保护的作用。附图说明
[0030] 构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
[0031] 图1为本发明的整体设计方案框图
[0032] 图2为本发明的上层处理系统模块划分图;
[0033] 图3为本发明的网络通信结构图;
[0034] 图4为本发明的语音控制系统流程图
[0035] 图5为本发明的情绪系统设计框图;
[0036] 图6为本发明的数据库结构图;
[0037] 图7为本发明的麦克风阵列分布图;
[0038] 图8为本发明的GCC时延估计定位流程框图;
[0039] 图9为本发明的语音端点检测流程图;
[0040] 图10为本发明的Kaldi语音识别平台数据准备框图;
[0041] 图11为本发明的语音识别搜索网络层级图;
[0042] 图12为本发明的语音识别流程框图;
[0043] 图13为本发明的声源定位转向分段运动控制流程框图。
[0044] 图14为本发明的机器人面部表情图。具体实施方式:
[0045] 下面结合附图与实施例对本发明作进一步说明。
[0046] 应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
[0047] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0048] 正如背景技术所介绍的,现有技术中存在服务型机器人的声源定位与语音识别存在不准确和识别内容不全面,以及服务型机器人与被陪护人的交互不人性化的不足,为了解决如上的技术问题,本申请提出了一种基于智能声源定位与语音控制的机器人系统及方法,本发明能够实现机器人对说话人位置的估计及语音指令的响应等功能,有利于服务型机器人与人的交互。
[0049] 包括云服务器、手机APP和机器人本体三部分。
[0050] 所述云服务器主要作用是存储机器人的一些账户信息、权限设置和日常录制的一些语音及视频信息。此外,还可以进行一些复杂的数据处理及运算,在云端进行有机结合实现机器人智能化认知,并基于云端知识共享机制,实现机器人的群体学习与进化,云端学习到的知识源源不断的下载到机器人本体。这种分层次的体系架构可以大幅度提高家庭陪护机器人的认知能力、智力平和人性化服务水平,并有效降低机器人个体成本,使得家用陪护机器人“物美价廉”,打破阻碍机器人推广应用的瓶颈
[0051] 所述手机APP的作用是方便在外工作的子女通过音视频了解到家中老人、儿童的实时状况,也可以方便的发送指令,远程操控机器人。
[0052] 所述机器人本体由上层处理系统和下层控制系统组成,它们之间通过RS232串口进行通信。
[0053] 所述上层处理系统包括语音识别模块、声源定位模块、表情模块、实时音视频模块、运动控制模块等,这些模块各自通过软件接口同智能分析模块连接,由智能分析模块进行统一调度处理,上层处理系统通过无线装置与路由器通信,路由器通过公网服务器与远程终端客户端进行实时通信。
[0054] 其中,机器人面部LED点阵屏可以根据识别的用户情绪展现多种表情实现娱乐陪护的功能;头部高清摄像头可以根据识别的声源位置通过头部俯仰电机自动调整位置并响应拍照等语音指令;手机APP与机器人本体进行远程通信,实时查看机器人拍摄视频的同时可以向其发送运动控制语音指令。
[0055] 所述下层控制系统包括主控核心单元及作为冗余配置的监控核心单元,主控核心单元与上层处理系统进行通信,接受并解析下达的运动指令,利用电机驱动单元驱动电机按照设定的速度运动,并将机器人的运行情况返回上层处理系统,监控核心单元与主控核心单元进行实时通信。
[0056] 所述主控核心单元包括主处理器,主处理器通过RS232与客户端进行通信,解析出速度设定值,同时捕获码盘的脉冲数,得到电机的实际速度,构成速度闭环控制系统,根据速度设定值和实际速度值,每隔设定的时间进行一次PID运算,通过PWM调制方式控制电机的转速。
[0057] 所述监控核心单元包括冗余处理器,冗余处理器捕获码盘脉冲数,解析电机的实际速度,并与主处理器解析的速度值进行比较,当两者不一致时,根据故障处理机制及时处理异常,主处理器和冗余处理器之间定期进行数据传输,当冗余处理器接收不到主处理器发送的数据或者接收到错误数据时,冗余处理器及时复位主处理器。
[0058] 所述冗余处理器与声光报警电路、过流检测电路、过热检测电路及开关电路相连,当检测到过流、过热及电池电压过低状况时,关断开关电路,切断电池供电。
[0059] 利用远程看护系统进行远程看护时,公网服务器启动两个监听,一个是主连接监听,一个是协助打洞监听,客户端通过身份验证后,机器人本体同客户端都与服务器保持主连接畅通,当客户端需要连接机器人时,借助服务器的协助打洞端口,将客户端通过网络地址翻译后的公网IP通知给机器人本体,然后机器人尝试与客户端进行连接,同时在相同的端口启动侦听,并通过服务器将经过网络地址翻译的IP通知给客户端,当客户端主动连接机器人时,机器人允许连接,网络打洞成功。首先连接客户端的默认为主客户端,在查看客户端拍摄视频的同时可以向客户端发送运动控制指令,其他连接为从客户端,只能查看机器人的拍摄视频和当前状态,不能进行运动控制,当主客户端下线后,公网服务器会通知其他从客户端使其通过申请成为主客户端。
[0060] 所述情绪交互系统在Ubuntu平台上实现语音识别,通过MongoDB数据库构建了聊天知识库,语音识别有离线识别和在线识别两种模式,当处于离线模式时,系统需要建立语法文件,其中定义语音识别语句,当系统从采集到的语音中识别到有效语句时,会翻译成对应文字,语义理解及情感分析单元进行中文分词,加载情感词典、程度副词词典、否定词词表和关联词词表,识别句子中的每一个情感词,并以情感词为中心滑动检测周边副词及否定词情况,最后对所有情感词及其修饰词的情感值累加,得到当前句子的情感值,判断出用户当前的情绪状态,发送给表情模块,当处于在线模式时,可直接将识别的语句上传至服务器,由服务器分析感知用户情绪,进而从网络抓取相关内容并回传至机器人系统,在判断出用户情绪后,表情模块通过切换动态脸部表情和拟人化的手势,配合定制的个性化语音,使机器人做出合理的反应,在用户情绪低落的时候给与安慰,在用户情绪消沉时进行鼓励,使用户在与机器人交流过程中感到舒心。
[0061] 本发明的下层控制系统专注于底层的服务,通过RS232与客户端进行通信,通过软件接口实现命令包和数据包的交换;上层处理系统固定于机器人内部架上,运行Ubuntu系统,经语音识别后智能感知用户情绪,通过面部多种表情,实现娱乐陪护的功能;平板摄像头作为视频采集通道,通过网络透网传输给用户手机等终端,实现远程看护老人及儿童的功能,同时也可以响应拍照等语音指令;通过声源定位功能,当用户语音唤醒机器人时,机器人可以定位出用户的位置信息,自主转向移动到用户面前。
[0062] 本申请的一种典型的实施方式中,如图1所示,该机器人采用典型的C/S机器人工作模式。底层控制系统包括电源管理单元,电源管理单元为整个系统提供稳定可靠的输出电压电流,电池电量由主控核心测量,在数码管上实时显示,可实现低压报警及关断功能;主控核心单元接受并解析上层处理系统下达的运动指令,驱动电机按照设定的速度运动,同时开启红外避障防跌落功能,并将机器人的运行情况返回上层处理系统。监控核心单元作为冗余单元,负责监控机器人是否存在失控、堵转、过流及通信乱码等故障。上层处理系统主要包含情绪交互系统,远程看护系统和声源定位系统,具体包含的软件模块如图2所示。情绪交互系统通过语音识别和语义识别感知用户情绪,结合面部表情动画做出人性化反馈;远程看护系统有远程透网传输和远程语音运动控制两个部分;声源定位系统可以定位出用户的位置信息,使机器人自主转向移动到用户面前。
[0063] 机器人整体通信网络结构如图3所示,主要包括云服务器、用户端及机器人三部分。其中,云服务器端又分为消息服务器、音视频服务器及HTML5服务器。消息服务器主要功能是实现用户端和机器人之间的消息转发、双方网络的识别发现以及报警消息的推送。音视频服务器主要功能则是通过STUN协议实现NAT穿越以及记录用户音视频使用日志。HTML5服务器主要是实现手机APP以及浏览器的通用功能。机器人端分为客户端和服务器两部分,分别同云服务器及用户端连接。用户端则包括手机APP及浏览器,借助他们远程连接机器人服务器,以上所提到的服务器均是指软件层面。
[0064] 整个的机器人语音控制如图4所示:语音信号通过语音采集输入设备传输到声源定位模块,之后通过算法定位声源方位并将相关位置信息发送给机器人上层处理系统的运动控制模块,进而根据接收的声源的定位信息计算出相应的运动指令,通过串口发送给下层控制系统,最终实现机器人自主的精准转向运动。此外,机器人可根据用户下达的语音指令实现前进、后退、左转、右转以及漫游巡逻等动作和声控拍照等非运动指令,使得用户几乎不需要前期培训学习就能依靠语音方便的来控制机器人,提升了机器人的智能化水平以及用户的使用体验。
[0065] 主控核心单元和监控核心单元均采用基于Cortex-M3内核的STM32单片机;主控单元负责机器人运动控制、传感器数据采集与融合及电源管理等任务,并为上层处理系统提供平台控制的各种接口;监控核心单元对常见错误进行实时监视,包括机器人控制系统电源故障、主控制器程序执行出错、运行状态出错(主要指运行姿态或速度异常)等,当机器人系统出现错误时,控制系统能够根据错误的严重等级,采取分级应对策略以保障机器人能够安全、可靠、高效的工作。
[0066] 情绪交互系统设计框图如图5所示。机器人基于Kaldi开源语音识别工具在Ubuntu平台上实现语音识别,通过MongoDB数据库构建了机器人的聊天知识库与情感感知系统。语音识别有离线识别和在线识别两种模式,由系统根据当前网络情况自主选择。当处于离线模式时,系统需要建立语法文件,其中定义了语音识别语句。当系统从采集到的语音中识别到有效语句时,会翻译成对应文字,语义理解及情感分析单元进行中文分词,加载情感词典、程度副词词典、否定词词表和关联词词表,识别句子中的每一个情感词,并以情感词为中心滑动检测周边副词及否定词情况,最后对所有情感词及其修饰词的情感值累加,得到当前句子的情感值,判断出用户当前的情绪,传给情绪表现单元。当处于在线模式时,可直接将识别的语句上传至服务器,由服务器分析感知用户情绪,进而从网络抓取相关内容并回传至机器人。在判断出用户情绪后,情绪表现单元通过切换动态脸部表情和拟人化的手势,配合定制的个性化语音,使机器人可以做出合理的反应,可以在用户情绪低落的时候给与安慰,在用户情绪消沉时进行鼓励,使用户在与机器人交流过程中感到舒心。
[0067] 陪护机器人数据库主要包括云服务器、手机APP、人脸识别拍照开源库以及机器人本体四部分,数据库结构及各部分所包含字段以及相互间的连接关系如图6所示。
[0068] 本发明综合考虑安装尺寸以及定位精度要求等因素,选取的是一种二维的五麦克风圆形阵列,其中阵列的直径为60mm,在圆心处放置一个麦克风,其余几个麦克风均匀排布在阵列四周,如图7所示。在安装过程中,为了减小震动影响,通过在麦克风外围增加了一圈胶套来达到减震效果,同时为了避免麦克风和硅胶套以及硅胶套和机器人壳体之间形成空腔反射,在安装时进行了密封处理。
[0069] 声源定位方面,本文在比较分析经典声源定位算法的基础上,选取一种基于到达时延的广义互相关法(GCC:Generalized Cross Correlation)定位算法。针对该算法在噪声和回响较大环境中效果不够理想的问题,对其进行了改进,增加一个PHAT加权函数,对频谱信号进行处理;同时引入一种抛物线插值算法,在不提高采样频率的前提下,有效提高了空间搜索定位精度,具体的流程如图8所示:首先,通过对各个麦克风拾取的语音信号采取快速傅氏变换,从而得到互功率谱;然后,再进行加权削弱语音信号中的噪声部分,从而使实际的有效信号得到增强;最后,结合互相关函数峰值偏移量以及信号采样频率,准确估算出各个麦克风的时延,进而求得声源的方位信息。
[0070] 以阵列的第i个麦克风为例进行分析,不考虑信号幅值在传播过程中的衰减,则其接收到的语音信号为:
[0071] xi(n)=s(n-τi)+ni
[0072] 其中,τi是麦克风i拾取声源信号s(n)的时延,ni表示噪声,τi可通过以下式计算:
[0073]
[0074] 其中,rs和ri分别代表声源和麦克风的位置坐标。
[0075] 同理,对于第j个麦克风,可以类比得到:
[0076] xj(n)=s(n-τj)+nj
[0077]
[0078] 则这两个麦克风拾取信号xi(n)和xj(n)的互相关函数为:
[0079] Rij(τ)=E[xi(n)xj(n-τ)]
[0080] 即:
[0081] Rij(τ)=E[s(n-τi)s(n-τj-τ)]+E[s(n-τi)nj(n-τ)]+
[0082]       E[s(n-τ-τj)ni(τ)]+E[ni(τ)nj(n-τ)]
[0083] 由于噪声和声源信号间不具有互相关性,所以可知E[s(n-τi)nj(n-τ)]和E[s(n-τ-τj)ni(τ)]两项均为零,则简化为:
[0084] Rij(τ)=E[s(n-τi)s(n-τj-τ)]+E[ni(τ)nj(n-τ)]在信噪比较大的时候,可以不考虑第二项的影响,可简化为:
[0085] Rij(τ)=E[s(n-τi)s(n-τj-τ)]
[0086] 显然,当τi=τj时,互相关函数值最大,这里采用积分式:
[0087]
[0088] 但是在离散序列情况下,没有办法直接求取上述积分,需要采用相关定理来求取互相关函数最大值:
[0089]
[0090] 由于在实际中,观测值并非是无限长的,可以在离散域上改写为:
[0091]
[0092] 其中,Xi(k)和Xj(k)分别为xi(n)和xj(n)的傅立叶变换,L为每帧信号的数据长度。
[0093] 考虑到实际应用中会出现混响,最终的传播模型可表示为:
[0094] xi(n)=si(n)+hi(n)*s(n)+ni(n)=s(n-τ)+hi(n)*s(n)+ni(n)
[0095] xj(n)=sj(n)+hj(n)*s(n)+nj(n)=s(n-τ)+hj(n)*s(n)+nj(n)
[0096] 实际测试表明,在噪声和回响较低的环境里,上述方法有较好的表现,但是在噪声和回响较大环境中,效果则不够理想,为此本文在上述算法的基础上增加一个加权函数ψ(k),对频谱信号进行处理。
[0097]
[0098] 本文选用PHAT方法,可转化为:
[0099]
[0100] 此外,由于采样率通常都不会很高,假设采样率为10kHz,声速为340m/s,则单个样本点的时延为1/10000=0.1ms,能够达到的空间搜索精度即为0.034m。由此可见,想要提高GCC方法的时延估计精度就需要提高采样率,在单位时间内获得更多的样本数量,但是受系统的硬件限制,采样率不可能无限制提高。为了在不提高采样精度的前提下提高时延估计的精度,本文采用了一种抛物线插值算法,从而使得采样点的空间搜索精度得到有效提升。
[0101] 该方法基于抛物线的峰值点来对时延进行估测,从而达到在采样率不变的前提下,提高时延的估测精度。具体方法是:
[0102] 设原始语音信号序列为γ(t),γmax为最大值点,γmax-1和γmax+1分别是最大值点的左右相邻点,tmax、tmax-1和tmax+1分别是三个点对应的时间点。
[0103] 假设抛物线方程为:
[0104] γ(t)=at2+bt+c
[0105] 由抛物线方程性质可得三点的坐标关系为:
[0106]
[0107] 由上面方程组计算可得:
[0108]
[0109] 进一步可求得插值之后的峰值为:
[0110]
[0111] 本发明在进行语音识别及声源定位时,采用了双门限检测算法来从信号流中检测出语音的起始点和终止点,这样就可以只对有用信号段进行分析处理,避免静音段以及噪音段的干扰,减小数据计算量和处理时间,具体流程如图9所示:首先,对信号做滤波去噪以及分帧加窗的处理;然后,分别计算短时能量和短时过零率。第一级判定依据信号的平均能量值设定一个阈值略高的门限值T1,判断语音信号的起始点,再结合实际环境噪声的大小设置一个略低的门限值T2,判断出语音结的束点;第二级判定,依据环境噪声的过零率来设定一个门限值T3,确定一级判定中语音前端的清音和末端的尾音。
[0112] 本发明在基于Kaldi平台进行语音识别时,除了原始语料的准备,还需要手动创建一系列脚本文件。其中,wav.scp文件的主要作用是指明所下载语料库中语音文件的存放位置;text文件的作用主要是存放对应语音段的文本标注内容;utt2spk文件的作用是指明语音段同说话人对应关系,即指明该段语音的录制人编号。除了准备上述三个与语音数据相关的文件,还需要准备包括发音词典以及指定发音音素和静音音素的相关文件:lexicon.txt文件中的每个字词的发音都被声韵母符号所标注,而且还加入了声调来对多音字进行了追加标注;silence_phones.txt文件仅包含音素“SIL”用来表示静音音素;
nonsilence_phones.txt文件则是包含了所有的发音音素;optional_silence.txt文件包含了出现在词与词之间的一个音素,这里也是用符号“SIL”进行表示;所有上述需要手动创建的文件目录如图10所示。
[0113] 本发明在语音识别时,解码采用的是一种加权有限状态机(WFST)的静态空间网络,如图11所示,它涵盖了声学模型层,语言模型层以及发音词典层,在整个网络中间进行搜索寻优,其中搜索算法就是采用的上节提到的Viterbi算法:基于似然概率准则,在由众多声学状态组成的网络中通过动态规划计算得到一条最优路径。
[0114] 本发明整个的语音识别框架包含声学模型训练及语言模型训练,如图12所示。
[0115] 本发明为了提高运动控制精度,采取了一种分段控制策略,如图13所示。其核心思想是基于误差和误差变化率在模糊控制和PID控制间切换,在不同阶段发挥各自的优势。在起始段和中间段,采用模糊控制来发挥其快速性好、抗扰动能力强的优势;在结束段,采用PID控制来发挥其稳定性好、控制精度高的优势。在保证运动流畅的同时,提升运动控制的精度。
[0116] 本发明的机器人系统具有学习能力,不仅可以完成开发人员预想到的用户需求,还可在用户的使用过程中自主进化出更适合用户使用的功能。在网络连接情况下,当机器人与用户的对话超过知识库的范围时,机器人会将当前对话上传服务器进行查询,并返回结果进行语音回答,同时将查询结果添加到知识库中,不断扩展自己的知识库。此外用户也可以通过语音或文字输入的方式来教给机器人知识,扩展知识库和语音识别离线模式时语法文件中的识别语句。
[0117] 如图14所示,机器人本体会按照识别的用户的情绪相应的做出表情,以安抚用户或与用户进行交流。
[0118] 以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
[0119] 上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈