APP下载

一种基于Arduino的智能跳舞机器人设计

2018-12-12杨海涛

科技传播 2018年22期
关键词:语音识别

杨海涛

摘 要 文章介绍了一种基于Arduino的智能跳舞机器人,该机器人以Arduino单片机作为控制核心,通过语音识别技术模拟人类的跳舞动作,并在舞蹈过程中利用超声测距模块自主避障,同时可在手机端通过蓝牙模块进行控制,从而增加机器人的交互能力和趣味性,具有一定的应用价值。

关键词 语音识别;Arduino单片机;超声避障;蓝牙控制

中图分类号 TP2 文献标识码 A 文章编号 1674-6708(2018)223-0151-03

随着科学技术的发展,机器人已经逐步走进我们的生活[1-2]。作为一种娱乐机器人的跳舞机器人,是一种集合了结构设计、计算机技术、控制技术、传感器技术以及通信技术等多学科知识的融合产物,在具备极强的观赏性和趣味性的同时,更体现了现代科技的日新月异[ 3 ]。

文章介绍了一款基于Arduino开源平台的小型跳舞机器人系统的设计与实现,该系统基于3D打印技术对机器人的主要结构部件进行设计和制造,利用PWM信号对机器人舵机进行控制,在主控制器的控制下模拟人类在音乐中翩翩起舞。同时,利用超声测距技术实现机器人的避障;通过语音识别技术,为机器人设计语音系统,在表演舞蹈前,实现语音控制与良好的交互功能。

1 跳舞机器人设计方案

跳舞机器人的主要结构部件如足部、头部外壳、腿部等均采用3D打印技术制作完成,极大地提高制作的效率,减少了制作的成本。机器人的控制核心采用Arduino开源平台,足部为2个自由度,驱动采用舵机作为驱动器,完成机器人的舞蹈动作。此外,蓝牙模块方便手机端进行交互,超声波模块能够实时避开障碍物的阻挡,语音控制模块实现机器人的语音控制。根据上述基本要求,所设计的整体方案如图1所示。

2 系统硬件设计

2.1 主控模块

由于Arduino的开源特点,并且便于初学者进行学习和开发,故采用Arduino作为跳舞机器人的主控模块,本设计选用以ATmega32u4作为主控芯片的Arduino?NANO作为主控制器对跳舞机器人进行设计与开发。它是Arduino系列中基于ATmega32u4的一款微控制器。它直接使用ATmega32u4的USB通信功能,在调试时候通过USB连接电脑和Arduino? NANO即可进行程序的编写。

2.2 避障模塊

为了使得所设计的跳舞机器人在舞蹈过程中能够自主避开障碍物,本文采用超声波测距的方式,选用的避障模块型号为HC-SR04。该模块传输距离远、测距精度高,非常适合于智能机器人的避障设计。将该模块安装于跳舞机器人的头部位置,根据超声波原理和主控单元的接口配置,对HC-SR04超声波测距模块进行设计。所设计的电路如图2所示,主要包括超声波发射与接收电路、主控单元的接口电路等。

2.3 智能语音交互模块

智能语音交互控制模块主要用于机器人和操作人员进行交流控制。本文采用凌阳公司生产的型号为SPCE061A的专用语音处理模块。该模块具有一套完整的具备基本功能的语音模块电路,除了内置的具有自动增益控制功能的单通道声音模—数转换器之外,还配置了麦克风放大电路,提供有系统的语音开发API工具包及资料,方便开发使用。

在该模块的放音电路中,采用了仅需2.4V供电的型号为SPY0030的功放集成电路,其输出功率可高达0.7W。设计过程中,在运算放大器前端添加了阻值为1K的精密可调电阻器,用以调整音量的大小,使得音量能够达到较好的使用效果。所设计的放音电路如图3所示。

语音识别的好坏在很大程度上取决于麦克风输入电路的设计,因此,在设计过程中添加了滤波电路的同时,引入了自动增益(AGC)功能来提高识别的效果。所设计的麦克风输入电路如图4所示。从图中可以看出,随着MIC产生的波形变化,MICP端和MICN端也发生变化,并且在这两个端口上形成的波形互为反相。经过放电电路将语音数据信号放大,再经过模数转换送到主控模块进行诸如语音数据压缩、识别等处理。

3 系统软件设计

在完成跳舞机器人的总体结构与硬件电路设计的基础上,基于模块化软件设计详细,采用C语言完成系统的软件设计。整个系统的软件结构主要由主程序和若干个子程序构成,跳舞机器人的舞蹈动作、语音交互控制以及自主避障功能等均在相应的子程序中完成。主程序仅根据时序要求进行子程序的调用,从而使得整个软件具有清晰的结构和良好的可维护性。

3.1 主程序设计

主程序主要负责整个系统的时序流程,包括系统设置的初始化、堆栈指针设置、中断向量设置以及系统的主循环结构等。系统的初始化主要包括舞蹈动作的初始化和寄存器初始化。主程序流程如图5所示。

3.2 语音识别程序

系统的语音识别主要包括语音的训练、存储、识别、舞蹈动作控制,以及相关的中断服务子程序等,它是具有语音功能机器人系统设计中重要的一环。语音识别程序的流程图如图6所示。

4 结论

本文介绍了一款基于Arduino单片机的小型舞蹈机器人系统的设计与实现,介绍硬件系统的整体结构、控制电路设计和程序设计方案,该跳舞机器人利用PWM信号实现对伺服舵机的控制,利用超声波测距技术实现自主避障,利用语言识别技术增加机器人的交互能力和趣味性。

参考文献

[1]林海华.基于ATmega8515L的舞蹈机器人控制系统设计与研究[D].西安:西北工业大学,2005.

[2]鲁冠华,刘星.基于凌阳单片机的跳舞机器人设计[J].山东水利职业学院院刊,2009(2).

[3]王泽红,彭熙,刘思源,等.基于Arduino单片机的舞蹈机器人系统的设计与实现[J].电子世界,2018(6).

猜你喜欢

语音识别
空管陆空通话英语发音模板设计与应用
通话中的语音识别技术
面向移动终端的语音签到系统
农业物联网平台手机秘书功能分析与实现
基于LD3320的非特定人识别声控灯系统设计
航天三维可视化系统中语音控制技术的研究与应用
基于语音识别的万能遥控器的设计
基于语音技术的商务英语移动学习平台设计与实现
基于Android手机语音和Arduino控制板的机器人控制系统
支持向量机在语音识别中的应用