仿壁虎爬壁机器人的语音识别及语音回放系统研制

2023-02-27 12:40林金洪吴国沛
机械设计与制造 2023年2期
关键词:爬壁测试工具壁虎

林金洪,吴国沛,蔡 蒂,张 铁

(1.广州供电局有限公司,广东 广州 510620;2.华南理工大学机械与汽车工程学院,广东 广州 510641)

1 前言

随着人工智能技术、通信技术以及机器人技术的高速发展,将语音识别技术应用于机器人的控制中,用语音控制替代繁琐的键盘控制,发展前景良好,研究价值较高。而近年来,各种研究都提出了新的语音增强算法,以提高语音增强技术的适用范围[1-2],其中,基于深度神经网络的语音处理方法受到学者关注,其能很好地映射输入语音和增强语音之间的非线性关系,但是此类方法需要大量训练样本且需要较高的模型匹配度,否则去混响效果会受到很大的影响[3-4]。文献[5]将小波包变换方法引入到语音识别的特征参数提取中,在机器人操作系统(Robot Operating System,ROS)下实现了移动机器人语音控制,但由于深度学习需要大量训练样本,实现语音识别方法与移动机器人控制技术完美融合还需要深入研究。

鉴于此,这里在仿生壁虎爬壁机器人的控制中采用语音识别技术,以期研制一种仿壁虎爬壁机器人的语音识别及语音回放系统。本系统实现键盘/语音的双重操纵,方便了使用者的操作。其中硬件电路上采用的语音识别和语音回放技术使机器人具有操作方便的特点。同时,两模块电路与以STM32单片机为控制核心的电路之间接口简单,且调试效果非常理想,以下介绍两模块的硬件电路。

2 基于嵌入式系统的壁虎机器人设计

通过对壁虎的身体结构和运动规律的研究[6-8],我们设计了一种四足仿壁虎机器人,其结构示意图和三维建模示意图,如图1所示。该壁虎机器人的四条腿分别位于四角且对称分布,每条腿由3个电机提供3个旋转自由度,共同实现抬腿、伸腿及缩腿等动作。而在机器人的整体运动上,机器人可以实现直线行走,横移行走、整体复位等动作。

图1 仿壁虎机器人结构图Fig.1 Structure Diagram of A Gecko-Like Robot

在仿生壁虎爬壁机器人的控制上,采用键盘输入和语音识别输入相结合的控制方式,有利于方便使用者的操作,同时有利于机器人迅速适应复杂的工作环境。

壁虎机器人的控制系统可分为四大模块,分别为:主控系统、语音辅助控制部分、键盘控制部分和电机驱动部分,如图2所示。

图2 壁虎机器人控制系统框图Fig.2 Gecko Robot Control System Block Diagram

第一部分为主控系统模块,该模块用于对整个系统进行监控与分配,包括接收键盘/语音控制命令和传感器位置信号的输入,以及输出电机的控制信号;第二部分为语音辅助控制模块,主要负责语音的识别和回放,将操纵者的控制命令(声音)转化成电信号,经编码转换后传输至主控制系统,同时接收来自主控制系统的反馈电信号,把这些控制指令转换为操作者可以理解的声音信号;第三部分是键盘控制模块,在没有开通语音识别控制系统时,操作人员可以通过操作键盘来实现机器人运动方向转换的需求;第四部分是电机驱动模块,是实现机器人各关节运动的动力源。

3 壁虎机器人的语音识别系统

3.1 语音识别电路的设计

语言是人与人之间进行交流的最有效工具,同时也是人与机器之间进行通信的新型高效的工具。语音识别技术是让机器对语音信号进行相应的处理、采样、识别后,转换成相应命令的技术,其流程,如图3所示。将语音控制技术引入到仿生壁虎爬壁机器人的控制之中,将极大地方便于使用者。

图3 语音识别模块框图Fig.3 Block Diagram of Voice Recognition Module

语音信号是非平稳信号,其特性是随时间变化的[9],由于语音信号由发声器官的物理运动产生,这种物理运动过程与声波振动的速度比起来缓慢的多。在(10~30)ms的短时间内,可以认为语音信号的特征基本保持不变,即语音信号存在“短时平稳性”[10]。实际应用中,通常截取一段具有短时平稳性的语音(即1“帧”语音)来进行分析和处理,该段语音的长度称为帧长[11]。语音信号的这种短时平稳特点决定了对语音采取短时处理方法,也称为时间处理分析。

3.1.1 预处理及特征参数提取

为了方便系统识别语音信号,需要对原始模拟语音信号进行预处理,从中提取(或测量)有代表性的、合适的特征参数,并进行适当的数据压缩[12]。通过特征参数提取,可为接下来的语音识别提供语音数据,这意味着,特征参数提取效果的好坏会直接影响语音识别效果[13]。

由于原始的模拟信号数据量大,并且包含有很多的随机因素,从而使语音信号的带宽不明确,因此在采样前需要对其进行必要的滤波处理。常用的方法是在电路中接入低通滤波器,将带宽控制在一定的范围内,避免高频成分产生失真[14]。

经过滤波后的语音信号,接着便是进行相应的采样和量化。对于采样频率,CCITT(国际电报电话咨询委员会)提出的数字电话G.711协议建议:采样频率为8kHz[15]。根据采样定理,如果模拟信号的频谱带宽是有限的(即假如信号中最高的频率低于fmax),那么按频率≥2fmax来进行采样,则可从采样信号中很好地重构原始信号波形。显然,采用采样频率8kHz时,可以取得4kHz以内的语音信号分量。

3.1.2 识别方式

考虑到控制系统的存贮容量和处理速度等因素,以及爬壁机器人使用者的语音识别系统输入命令的特点,本模块采用了小词汇量关键词检索的模板匹配法作为主要的语音识别方式。

在提取语音的特征参数后,就可以采用模板匹配的方法对特定人的特点词进行语音识别。在实际中,语音具有很大随机性,即使是同一个人,在不同时刻发同一个音或说同一个词,所发声音的长短也可能不同,从中提取到的语音特征的长度也因此各异,所以,我们不能简单地将输入语音特征参数和参考模板进行匹配[16]。

通过训练(SD/SI,Speaker Dependent/Speaker Independent)和聚类方法,对讲话者(使用者)多次重复的语音参数进行一定次数的训练,可获得语音识别系统的声学参数模板[17]。其中SD和SI训练方法的最大区别是:适对象范围不同,SD 是特定人语音识别,SI是非特定人语音识别。语音命令训练好后,通过跳线连接方式将模块的功能从语音训练切换至语音识别。

在语音识别阶段,所输入的待识别语音特征矢量被用来与模板中原有的特征矢量进行比较,通过不断计算两矢量的距离,从中找到最优匹配路径,得到两矢量匹配时积累距离最小的规整函数,由此可保证了两者之间最大的声学相似性[18]。

语音识别模块在完成语音识别任务后,将相应的语音控制信号通过RSC364芯片的输出端口P0、P1口输送至控制系统的P1口,如图5所示。完成信号传送,其中RSC364芯片结构框图,如图4所示。由于RSC364的输出口线数目多于AT89C52芯片上可以接收数据的口线数目,为节省主控系统的I/O口资源,使用了1个74LS147编码器,用于在信号传输过程中匹配双方的I/O数目[19]。

图4 RSC364芯片结构框图Fig.4 RSC364 Chip Structure Block Diagram

3.2 语音回放模块

和语音识别模块相比,语音回放模块执行着完全相反的功能。它将相应的信息通过滤波、信号放大等处理后,用语音的形式输出。语音回放技术通常有两种方法可实现:一种是采用数字语音技术;另外一种是采用模拟语音技术[20]。其中,采用数字语音技术所得到的回访音质较差,且数据结构比较复杂。故本设计采用模拟语音处理技术,所用的芯片为APR9600语音录放芯片。模拟语音处理技术,是直接将语音模拟量存储或取之于特殊的非易失模拟存储器中,其输出的音质效果好,结构简单[21]。

APR9600芯片的结构框图,如图6所示。APR9600内部具有可自动增益调节的话筒放大器和内部滤波器,经采样电路处理后以模拟量的方式存入Flash EPROM(专用快闪存储器)中。由于Flash EPROM是非易存储器,长时间断电,语音不会丢失[22]。放音时,芯片内读逻辑电路将信号从Flash EPROM中读出,经低通滤波器后送至功率放大器,直接推动外部的喇叭进行放音。

图6 APR9600芯片结构图Fig.6 APR9600 Chip Structure Diagram

语音回放模块的电路原理图,如图7所示。APR9600芯片具有很高的集成度和较为简单的外围电路,可简便、灵活地更改回放内容,控制方式比较简单。其中,APR9600芯片有8个控制信号输入接口,即M1~M8口,当这8个输入口接收到不同的控制信号时,芯片将根据预先录音信息回放出不同的语音来实现提示功能。通过STM32单片机内部的控制主程序,分别控制单片机的P1.0~P1.2 口三路输出语音回放芯片的控制信号,并经过一个74LS138译码器变成8路输出,从而匹配APR9600芯片的M1~M8输入端口,最终控制APR9600芯片输出相对应的语音信号。

图7 语音回放模块电路原理图Fig.7 Circuit Schematic Diagram of the Voice Playback Module

4 测试工具

为避免人工去统计和计算语音识别的正确率,对此提出了自动化的计算识别率的测试工具。计算识别率的测试工具的工作流程如下:

(1)语音识别系统按照测试用的录音文件依次播放一段人声或者噪声,并记录该录音文件的文本内容。

(2)语音识别系统对录音播放的声音进行语音识别,并将反馈结果和录音文件反馈给测试工具。

(3)测试工具对比录音文件和反馈结果,利用计算公式自动计算语音的识别率,并生成测试结果,并保存。

(4)重复上述3步骤,直到所有录音样本播放结束。

为了计算语音识别的速度,同样设计了计算语音识别速率的测试工具。计算识别速率的测试工具的工作原理如下:语音识别系统播放会在播放录音文件后发送并保存一个时间戳a,当识别系统对该段录音识别结束时发送并保存另一个时间戳b,两个时间戳之差便是语音识别耗时。同样为了方便对比耗时,测试系统会将识别耗时加入测试报告中。

5 语音识别实验

考虑实际操作中的情况,下述实验中,人与语音识别模块的距离为1m。下述人声皆是成年男子录音文件(录音文件与原人声失真较小)播放产生,以此确保声音的一致性。

在爬壁机器人的命令控制识别中,自动化测试工具在2h内完成了2000句命令,测试结果,如表1所示。由表中测试结果对比分析可得,在使用模板人声配合模板匹配法的语音识别率较高,在平稳噪音和非平稳噪音中高5%和4%。在平均识别用时方面,在平稳噪音和非平稳噪音中模板人声较非模板人声低0.5s和0.6s。

表1 命令识别实验测试结果Tab.1 Test Results of Command Recognition Experiment

爬壁机器人的语音识别模块为了降低能耗和干扰语音输入,在正常情况下是处于未工作状态。对此,对语音识别的唤醒方式进行了样本测试,如表2所示。其中,数字样本可为“1863”等4位数字,中文可为“壁虎同学”等4字中文。由表1数据可知,数字识别率较中文高2.6%。

表2 数字唤醒率和中文唤醒率Tab.2 Digital Wake-Up Rate and Chinese Wake-Up Rate

6 总结

在将语音识别技术应用于仿生壁虎爬壁机器人的控制中后,使用者可采用键盘输入和语音识别输入相结合的控制方式,很大程度上提高了机器人的工作效率以及大大降低的在不同工作条件下的操作难度,有利于机器人迅速适应复杂的工作环境。

在语音识别系统的设计中,采用模板匹配法作为主要的语音识别方式,降低的控制系统对存贮容量的要求,同时提高了处理速度,且由实验测试可得,采用模板人声比使用非模板人声具有更高的识别率。而语音回放模块使用APR9600语音录放芯片可获得较好的音质效果且结构简单。

对于语音识别系统的唤醒方式,采用数字唤醒的方式能够降低能耗,降低干扰语音输入,且具有更高的唤醒识别率。

猜你喜欢
爬壁测试工具壁虎
爬壁机器人系统的Noether 对称性和守恒量1)
爬壁机器人系统的广义Lagrange方程
BB壁虎和他的BB朋友们
壁虎
壁虎的尾巴
小壁虎为什么借尾巴?
Http并发连接测试工具
爬壁机器人气压吸附及磁吸附专利技术综述
手车式真空断路器回路电阻测试电流线接头研究
浅谈响应时间测试分析方法