APP下载

基于Arduino和语音技术的六足仿生机器人研究

2018-04-11合肥工业大学宣城校区信息工程系望明星吴仲修董智源

电子世界 2018年6期
关键词:控制板词条舵机

合肥工业大学(宣城校区)信息工程系 望明星 张 萌 吴仲修 高 鑫 董智源

1.引言

伴随着自动化、计算机、人工智能以及传感器等技术的飞速发展[1]。以仿生学知识为指导,研究自然界中拥有优良的协调控制能力和高超运动能力的各种生物,并将研究成果应用到现实领域,已成为研究人员感兴趣的热点之一。六足机器人更是仿生学对多足昆虫研究的典型代表。多足机器人与轮式、履带式移动机器人相比,具有独特的优越性能,尤其在地形不规则和崎岖不平的环境中,稳定性好、能耗较小,而且能适应各种复杂的环境[2]。同时,人机交互领域的发展趋势之一就是自然便捷的语音技术。机器人的应用范围正不断向非结构化环境延伸 。在这种情况下,机器人的控制系统至关重要。

本文就是基于多足昆虫的仿生学研究,在充分了解其运动方式、系统组成形式和控制模式的基础上,结合非特定人语音技术,设计了一款能够实现特定功能的多足机器人控制系统。

图1 六足机器人控制流程

2.总体设计

六足机器人主要包括Arduino主控制板、语音模块、20路舵机控制板、蓝牙模块和超声波模块。舵机控制模块的输入信号与Arduino的第一串口输出信号连接;语音识别模块的输出信号与Arduino的第二串口输入信号连接;超声波模块的输出信号与Arduino的第三串口输入信号连接;手柄控制器模块的无线通信输出信号与舵机控制模块的蓝牙输入信号连接;舵机控制模块的输出信号与六足机器人舵机模块连接;六足机器人舵机模块由十八路舵机组成,整体控制流程如图1所示。其中Arduino控制板作为主控制器,能够接收、处理外界信息,具有决策功能;语音和蓝牙模块可以随时接受外部信息,以便实现对机器人的实时控制;手柄控制器可以直接控制机器人的运动;舵机控制板负责控制机器人的运动协调。

3.硬件设计

3.1 语音模块

不同于人机交互的传统键控、触控等方式,语音控制方式具有独特的自然性和智能性。系统采用WEGASUN-M6语音识别模块,利用上位机软件对语音识别模块的工作模式、词条指令和各项参数进行设置。该语音模块既可独立运行,也可通过TTL串口与单片机相连接,通过串口接收指令和返回结果,达到语音控制的效果。模块支持中文和英文的识别,识别距离为5米,能够智能地降噪、过滤并识别非特定人的语音。模块还支持串口点播扩展TF卡里的MP3文件,并具有文字合成语音播放的功能。

图2 WEGASUN-M6语音模块

3.2 Arduino Mega 2560

机器人基于代码开源、灵活便捷的电子设计平台Arduino。该平台包括一块实现电路功能的电路板以及一套类似于C语言和Java的IDE集成开发环境。系统选用Arduino Mega 2560作为机器人的主控电路板,它以ATmega 2560为处理器核心,具有54路的数字I/O口。其中的16路作为PWM输出,16路作为模拟输入和4路UART接口。硬件电路的串口通信连接如图3所示,波特率统一设置为9600 Baud/s。

3.3 舵机控制板

机器人有十八路舵机,为准确协调的相互配合完成各种动作,可将舵机控制板通过2路UART接口与Mega 2560相连,作为二级控制器。舵机控制板以ARM内核作为处理器,能够生成稳定的多路PWM信号,最多同时控制32路舵机。控制板内置存储芯片,可以存储步态动作。

图3 串口通信连接图

4.软件设计

六足机器人对环境极强的适应性体现在冗余的仿生肢体结构上[3]。机器人的行走、转弯等动作需要十八个舵机相互协调、配合,所以相应的步态程序设计比较复杂。本文通过在上位机中对十八路舵机的角度和速度进行控制,来规划设计六足机器人的不同动作,如图4所示。

图4 上位机界面

图中,只列出了8个舵机位。舵机位的不同序号,表示1~18路舵机,所属列下面的数字表示该位置舵机的角度度数,变化范围是从0到180度;时间列下面的参数是舵机运行到该位置时执行指令所用的时间,可以在软件中进行修改,达到调整姿态的目的;动作序号列下面的数字表示成功完成一组动作,所有舵机角度变化的全过程。六足机器人典型的步态有:三角步态、四角步态、五角步态、横向步态和定点转弯步态等[4]。三角步态是六足机器人适用性最强的步态,将六只足分为两组,左前足、左后足、右中足为一组,右前足、右后足、左中足为一组,两组分别形成三角形的支架。机器人依靠两组足相互交替地完成抬起、支撑和摆动等动作,实现稳定的行走。在三角步态的基础上,上位机中设计了六足机器人的前进、后退、左转、右转步态,使它可以适应各种复杂地形。

Arduino mega 2560的串口2和语音模块连接,接收语音模块解析后的语音指令。在上位机软件中可以对WEGASUN-M6语音识别模快进行设置。语音模块有3种不同的识别模式,如表1所示:

表1

@AsrMode#2$是软件中模式的设置格式,@AsrMode#2$中的2可以设置成0-2中的任一数字,不同的数字分别对应不同模式。因为对话模式会时刻对环境中的口令词条进行识别操作,容易造成误识别。因此我们选择了自定义模式,设置了特定的唤醒词。选择了识别模式后,可以分别设置“识别词条”和“反馈语文本”,例如:

@WriteFlashText#|001前进|002收到$

其中,“前进”是语音模块可以识别的词条,内部软件通过001来代表该指令。收到前进的指令后会反馈发出“收到”的语音,内部软件通过002来代表该指令。可以一次性设置多条词条,最多可设置3500字节,约1750字。$是设置格式的结束符。

语音模块收到指令后对后台词条指令库进行搜索,并向Arduino控制板返回与指令匹配的指令号;Arduino控制板通过内置程序识别指令号,调用舵机控制板中预先存入的动作组,实现语音对机器人的动作控制。

5.结论

本文设计了一种基于Arduino和语音技术的六足机器人控制系统,并在此基础上增加了蓝牙控制、串口控制和手柄控制。给机器人设置了多种动作组,可以通过语音实时的对机器人进行各种步态的控制。交互方式友好便捷,多种控制方式的加入也使得系统更加稳健。

[1]储忠.六足仿生机器人的运动步态研究[D].合肥:合肥工业大学计算机与信息学院,2007,1~51.

[2]王洪斌,李程,王跃灵等.基于Arduino和蓝牙技术的六足机器人控制系统设计[J].黑龙江大学自然科学学报,2015,32(4):533~537.

[3]李满宏,张明路,张建华,张小俊 六足机器人关键技术综述[J].机械设计,2015,32(10):1~7.

[4]刘鹏飞.六足机器人步态分析与控制研究[D].秦皇岛:燕山大学电气工程学院,2015:1~60.

猜你喜欢

控制板词条舵机
一种橡胶减震装置
含齿隙弹载舵机的全局反步模糊自适应控制
轨道交通AFC导向标识控制板设计
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
2016年4月中国直销网络热门词条榜
2016年3月中国直销网络热门词条榜
2016年9月中国直销网络热门词条榜
一种机载SAR中心控制板的设计
大数据相关词条