语音控制分拣机器人

2021-02-28 06:49西北民族大学电气工程学院周麟翔李京昊岑佳怡马旭璇
电子世界 2021年22期
关键词:串口线性语音

西北民族大学电气工程学院 周麟翔 李京昊 唐 媛 胡 俊 岑佳怡 马旭璇

随着电子商务的快速发展,为仓储物流行业带来了新的需求和挑战。机器人的研究领域不断扩展,智能化是机器人发展最重要的方向之一,具有能够代替人类完成一些工作的机器人往往是我们研究的重点领域。随着时代发展,为解放更多的劳动力,提高分拣搬运效率,减少生产成本,智能搬运机器人应运而生。为提高分拣机器人的工作效率,本项目设计了一种履带型底盘和机械臂相组合的智能分拣机器人,并对其程序算法、机械结构进行了研究。本项目使用基于STM32F103ZET6芯片的履带车模和机械臂,结合语音识别模块、ZigBee模块对分拣机器人进行控制和搬运工作。通过巡线的方式将各类物品搬运到相应的位置。语音识别操控系统取代传统触式操工作效率,提高了整个系统的便捷性、安全性和准确性,提高了整个分拣过程的效率。

1 系统总体设计

本系统以语音控制的分拣机器人作为研究对象,该分拣机器人使用了以STM32 Cortex-M3为内核的主控芯片,其中采用AS608光学指纹识别模块、LD3320语音识别模块、ZigBee无线串口收发模块、线性CCD摄像头、0.96OLED显示模块等构成的一个完整的智能分拣机器人,图1为硬件系统设计流程图。

图1 硬件系统设计图

为了保证具体功能的实现,本项目中的分拣机器人使用STM32微控制器对整个机器人进行控制,在系统设置过程中使用到STM32的基本外设功能,例如IO口的使用、PWM波、串口通信、定时器以及定时器中断等外设。采用了各类模块,各模块功能如下:通过指纹识别模块对分拣机器人进行启动控制;使用语音识别模块对分拣机器人的动作等进行控制;通过ZigBee模块将语音指令传输到单片机主控板上,从而达到控制机器人的效果;通过指令信息采用摄像头模块及光电传感器等对运输路线进行巡线。

2 系统硬件设计

2.1 系统主控模块

在系统设计过程中,系统的主控处理器采用的是STM-32F103ZET6核心板,该核心板是嵌入式-微控制器常见的控制器,其内核是Cortex-M3。该芯片可工作在40~85℃的环境中,具有很强的环境适应性。芯片中集成了定时器、串口等功能。在STM32核心模块上可从各个模块采集相对应的值,进而控制整个机器人工作过程中的具体功能。

2.2 光学指纹模块

在系统设计过程中,为了保证机器人的安全,使用了光学指纹识别模块。在项目中采用指纹识别模块型号是AS608,在项目中主要实现对于机器人工作状态的开关状态。该模块在3.0~3.6V的工作电压下工作,模块通讯接口为UART和USB通讯接口,内置各种指纹特征采集算法,可以非常快速的保存和识别指纹。

2.3 CCD巡线模块

在本项目中,使用了线性CCD模块,主要是为了使机器人能够准确的循迹指定路线。采用的是TSL1401线性CCD模块,CCD模块的特点是以电荷作为信号,而非电流或电压。TSL1401CL模块含有128个感光单元,呈线性排列,每一个感光单元可以读取环境的光线强度并转换为电压输出,光线越强电压值越高,因此可以通过单片机的ADC依次采集每个感光单元的电压值(共128组)并存在数组中。每个像素所采集的图像灰度值与它所感知的光强和积分时间(即曝光时间)成正比。线性 CCD具有高线性、均匀性和宽动态范围、低图像滞后等优点,前瞻最远可达1.2m。具体流程如图2所示。

图2 线性CCD模块工作原理

2.4 语音识别模块

语音识别模块采用了集成通过STC11L08XE的单片机做的一些指令、数据处理,相比于其他的LD3320的模块,其操作更加简单,用户不需要进行太多的编程,直接串口发送指令设置关键词即可识别。该模块是支持三种识别检测模式的,即:循环检测模块、口令检测模式和按钮检测模式。在本项目中,我们使用的是“口令检测模式”,所谓的“口令检测模式”,就意味着我们先要对上口令,才能够进行下一步操作。

2.5 机器人搬运部分

在本项目中搬运部分采用的是履带式小车和机械臂的组合,主要为将物体夹起,并且运输到指定的位置。履带式小车对于地面的接触面积大,从而减小对地面的压力,对地面的附着能力强,行驶过程中相对比较稳定,能够很好的适应生活中的各种复杂地面,稳定的底盘为抓取物体提供了比较好的选择。履带式小车上安装的机械臂是通过各个舵机组成的系统,可以自由并且灵活的抓取物体,但是对于舵机的控制难度相对比较大,考虑到抓取物体的精准程度,在保证灵活性的前提下,选择了尽可能小的自由度。除了上述功能和硬件结构,智能机器人还可以听从操作员的命令并执行相应的功能,基本实现物体的定位、定位和爬行。针对调试过程中遇到的问题和无法解决的技术难题,我们将继续进行深入的探索和研究,不断改进和完善项目,争取取得最佳效果。

2.6 无线通信模块

在系统设计过程中,采用的ZigBee无线通信模块,主要是为将STC11L08XE单片机和STM32F103ZET6单片机进行无线通信。Zigbee无线通信需要高频的载波来提供发射效率。Zigbee模块之间要想正常的收发数据,接收模块必须把接收频率和发射模块的载波频率设置一致。在项目中采用的是CC2530芯片的ZigBee无线串口收发模块,该模块的频率可达2400~2450MHZ,通信距离高达250m,工作电压为3.0~5.0v。两个单片机通过串口与ZigBee进行通信,将数据无线发送至另外一端,误码率低。

3 系统程序设计

在本项目中采用的编程语言是C语言通过在MDK keil5中编写程序。Keil5编译器功能十分强大,可通过C语言对STM32系列的微控制器进行驱动,并且可支持软件仿真,通过软件更好的了解项目设计中存在的问题,避免对硬件的伤害,同时对于我们在调试程序过程中的帮助也非常大。项目中的控制程序相对比较多,在开发过程中可采用模块化编程,将不同模块的初始化以及驱动的整个过程封装在.c文件中,然后在主程序main.c文件中引用相当于.c的文件即可调用,各模块中的函数在相当于的.h文件中声明。总的来说,模块化的实现方法:将一个功能模块的代码单独编写成一个.c文件,然后把该模块的接口函数放在.h文件中。模块化编程的好处是提高了维护的便捷性,容易区分边界,一旦出了问题,能立刻定位是哪个模块出了问题等。此外,本项目中使用到IO口复用、IIC、SPI、USART、定时器以及定时器中断等外设,这些功能的使用也是项目功能完成的前提,特别是串口资源的分配与使用,因为大多数模块都要用到串口通信,解决好这一问题是模块功能能够顺利实现的基础。

结语:本项目研究的“语音控制分拣机器人”对于分拣行业具有一定的实用性,具有很大的社会利用价值,在调试过程中仍有部分功能不完善;同时,其并没有进行大范围投入使用以观看项目使用效果,因此还需要进一步的研究和实践。基于STM32微处理器的语音控制分拣机器人,采用语音识别等技术,通过各类传感器实现分拣机器人的各类具体的功能。通过指纹等技术保障机器人的安全,提高了分拣效率。

猜你喜欢
串口线性语音
渐近线性Klein-Gordon-Maxwell系统正解的存在性
线性回归方程的求解与应用
浅谈AB PLC串口跟RFID传感器的通讯应用
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
二阶线性微分方程的解法
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索