基于STM 32的语音控制机械手*
2017-09-06易诗林凡强周姝颖
易诗,林凡强,周姝颖
(成都理工大学信息科学与技术学院,成都610059)
基于STM 32的语音控制机械手*
易诗,林凡强,周姝颖
(成都理工大学信息科学与技术学院,成都610059)
智能机器人技术为近年来研究热点,机械手在智能机器人教学研究与工业机器人领域占据很大比例,本文设计实现了基于STM32为控制平台的四自由度机械手控制系统,系统可以调试,存储机械手动作,并且使用语音控制模块,使机械手具备人机对话,语音控制功能。系统高效,灵活,使用方便,对于智能机器人研究教学,工业机械人控制系统研发具有重大意义。
智能机器人;STM32;四自由度机械手;语音控制
近年来,智能机器人技术发展十分迅猛,在人工智能,工业生产,消费电子,军事,环境监测等领域,智能机器人的使用越来越广泛,功能越加强大。随着电子信息技术,计算机科学技术的发展,智能机器人可以帮助人类完成越来越多的工作,各大高校,科研机构,科技企业,投入越来越多的资金和人力研究各类智能机器人。
在各类智能机器人中,工业机械手使用和开发相当广泛与重要,本文设计实现了一种以STM32为控制平台的语音识别控制机械手,结合了嵌入式系统灵活,高效的特点,使机械手的动作调试,存储更加简便,采用语音识别控制模块使机械手具有人机对话和识别语音控制信号的功能,该系统可以作为工业机器人开发模型与智能机器人教学实验系统。
1 系统硬件设计
1.1 硬件总体设计
系统核心控制处理器采用STM32F407ZGT6处理器,该处理器配置强大,集成FPU,DSP指令,192KB SRAM,1024KB FLASH,12个16 bit定时器,6个UART接口,2个USB控制器,2个CAN接口,3个12 bit ADC、2个12 bit DAC,1个RTC(带日历功能),1个SDIO接口,1个FSMC接口,1个10/100M以太网MAC控制器,1个摄像头接口,1个摄像头接口,1个硬件随机数生成器,硬件随机数生成器,以及112个通用IO口等。
系统四自由度机械手控制模块采用32路舵机控制模块,32路伺服舵机控制器是高效的微伺服电机控制器。可以控制多达32个伺服舵机协调动作的模块,它不但能实现位置控制和速度控制,还具有时间延时断点发送指令功能。
系统语音识别模块采用ASR非自然语音识别模块,ASR Board是一款基于Arduino的开源语音识别控制板,该模块只需要通过上位机软件发送指令即可设定要识别的关键词,不需要用户事先训练和录音,是一款高效的非特定人语音识别控制模块。系统硬件总体设计框图如图1所示。
图1 系统硬件总体设计框图
系统核心处理器STM32F407执行机械手动作的调试与存储,ASR语音识别模块识别语音命令,通过UART1接口发送命令标识至MCU,MCU中预先将该命令对应动作调试好通过SDIO接口存储在SD卡文件系统内部,接受到语音命令后读出该命令对应的指令集,通过UART2接口发送至32路舵机控制板,舵机控制板产生4路PMW波形控制四自由度机械手完成该语音命令对应动作,以达到语音识别控制的目的,系统人机交互界面以及动作调试,存储操作界面由STM32通过FSMC接口在TFT触摸屏上实现。
1.2 系统硬件接口设计
系统硬件设计主要工作在于STM32控制平台与其外围电路的接口设计,接口电路主要分为MCU与语音识别模块,32路舵机控制板的UART接口电路,MCU与SD卡的接口电路,MCU与TFT触摸屏的接口电路设计。
STM32 MCU与语音识别模块,32路舵机控制板的通信接口使用UART1与UART2。其接口电路设计如图2所示。
图2 UART接口电路图
MCU需要存储与读取机械手动作指令,采用SD卡进行指令存储与读取,MCU与SD卡通信采用SDIO接口,电路接口设计如图3所示。
在系统的显示界面,动作调试,存储操作界面,人机交互,均由MCU连接TFT触摸屏完成,STM32采用FSMC接口与触摸屏进行通信,高效高速,使用方便,MCU与触摸屏接口电路如图4所示。
STM32机械手控制硬件平台通过UART接口接收语音控制命令,发送舵机控制命令,通过TFT触摸屏实现人机交互平台显示及调试机械手动作,SD卡存储加载动作,完成整个系统功能。
图3 MCU与SD卡接口电路图
图4 MCU与触摸屏接口电路图
2 系统软件设计
2.1 系统整体软件设计
系统软件设计步骤主要分为以下几个部分:
(1)启动系统后进行机械手动作调试。
(2)调试动作完成后,存储调试动作。
(3)识别接收语音控制命令。
(4)加载命令对应的动作指令序列。
(5)发送指令序列至舵机控制板。
(6)完成指令序列对应动作。
以上6个步骤为机械手由调试到最终执行控制命令的全部流程,系统启动后如果直接接受语音命令,完成指定动作,即不需进行调试存储动作步骤,直接加载对应指令序列执行动作,软件整体设计流程图如图5所示。
图5 软件整体设计流程图
2.2 系统操作界面设计
系统控制平台在STM32F407上嵌入UCOS3操作系统,实时多任务。操作界面使用GUIBuilder设计实现,触摸屏人机交互界面设计美观,操作便捷,界面设计如图6所示。
图6 人机交互界面
交互界面主要实现通过触摸屏控制,调试,存储机械手动作。滑动控件P0~P3实现对机械手4个舵机的转动角度控制,列表控件实现对存储动作,加载动作的选择,一共可以存储和加载6个动作,按键控件RUN实现对调试好的动作执行查看调试效果,按键控件SAVE实现对当前舵机转角的存储,按键控件DELETE实现对存储动作的删除。
通过该人机交互界面,可以高效快捷地控制机械手动作,对动作进行设计,调试,存储,与加载执行。
3 系统测试
系统实现后,对语音识别,控制,机械手动作调试,存储,加载,执行等功能做出了完整的测试。测试方案为,设置语音命令,并识别发送控制标识,机械手控制端预先调试,存储好命令对应动作,接收命令后加载指令序列,执行相应动作。
(1)语音控制机械手抓取物品测试,将语音识别模块设置命令“拿东西”识别到该命令后,模块应答“好的”,发送命令标识0x01,控制平台预先调试,存储好抓取物品的动作,接收到该命令标识后,加载取物品动作指令序列,发送至舵机控制板,机械手完成物品的抓取,测试效果如图7所示。
图7 语音控制机械手抓取物品测试
(2)语音控制机械手摆放物品测试,将语音识别模块设置命令“放东西”识别到该命令后,模块应答“好的”,发送命令标识0x02,控制平台预先调试,存储好取物品的动作,接收到该命令标识后,加载摆放物品动作指令序列,发送至舵机控制板,机械手完成物品的摆放,测试效果如图8所示。
图8 语音控制机械手摆放物品测试
系统通过测试,语音识别,控制,机械手动作调试,存储,加载,执行等功能完善,实时高效,操作平台使用方便快捷。
4 结论
系统使用STM32 MCU为主控芯片,结合32路舵机控制板,语音识别模块,完成了语音控制机械手。系统可以设置,识别,发送语音控制命令,进行人机对话,控制机械手动作,机械手控制平台可以调试完成各种机械手动作,并对动作进行存储,加载。该系统具有操作简便,实时高效,系统件集成化高,功能多样等特点。对于工业机器人技术,智能机器人教学实验研究等领域具有重大意义和研究潜力。
[1]张洪润,傅瑾新,吕泉,等.传感器应用设计300例[M].北京:北京航空航天大学出版社,2008:10-150.
[2]王燕,戴剑峰,王祥华.STM32的条状指纹采集与拼接系统[J].单片机与嵌入式系统应用,2012,12(11):53-56.
[3]李世奇,董浩斌,李荣生.基于FatFs文件系统的SD卡存储器设计[J].测控技术,2011,30(12):79-81.
[4]张涛,左谨平,马华玲.FatFs在32位微控制器STM32上的移植[J].电子技术,2010,47(3):25-27.
[5]彭刚,秦志强.基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践[M].北京:电子工业出版社,2011:23-26.
[6]刘军.例说STM32[M].北京:北京航空航天大学出版社,2011:150.
[7]Smith K R,Samet JM,Romieu I,etal.Indoor Air Pollution in Developing Countries and Acute Lower Respiratory Infection in Children[J].Thorax,2000,55:518-532.
[8]Fingerprints.FPC1011F Area Sensor Package Product Specification[EB/OL].http://www.fingerprints.com/wp-content/uploads/ 2013/08/720-FPC1011F3 Product-sheet.pdf,2009-2.
[9]STMicroelectronics.RM0008 STM32F101xx,STM32F102xx,STM32-F103xx,STM32F105xx and STM32F107xx Advanced ARM Based 32 bit MCUs[EB/OL].http://www.st.com/st-web-ui/static/active/ en/resource/technical/document/reference_manual/CD00171190.pdf,2011-10.
[10]SD Card Association.SD Specifications Part 1 Physical Layer Simplified Specification Version 4.10[EB/OL].http://www.Sdcard.org/downloads/pls/simplified_specs/part1_410.pdf,2013-1.
[11]华成英,童诗白.模拟电子技术基础[M].北京:高等教育出版社,2006:324-385.
[12]蔡自兴,徐光祐.人工智能及其应用[M].北京:清华大学出版社,2004:94-186.
易诗(1983-),男,四川成都人,硕士,主要从事机器视觉研究,信号与信息处理,嵌入式技术的研究,549745481 @qq.com。
Voice Control M anipulator Based on STM 32*
YIShi,LIN Fanqiang,ZHOU Shuying
(College of Information Science and Technology,Chengdu University of Technology,Chengdu 610059,China)
Intelligent robot technology is a hot research field in recent years,manipulator occupies a large proportion of the robot teaching and research field and industrial robots,This paper designs and implements a four degree of freedom manipulator control system based on STM32.The system can debug,store themanipulatormotion,and use the voice controlmodule,which makes the robot haveman-machine dialogue,voice control function.The system is efficient,flexible,easy to use.This system is great significance to the teaching of intelligent robot research,industrial robot control system research and development.
intelligent robot;STM32;Four degree of freedom manipulator;voice control
C:7230;7820
10.3969/j.issn.1005-9490.2017.01.031
TN919.5
:A
:1005-9490(2017)01-0162-04
项目来源:成都理工大学RFID签到系统项目(13JGY78)
2016-01-04修改日期:2016-02-24