APP下载

基于STM32的水果采摘机器人控制系统设计与实现

2022-05-27孙永芳

农业工程 2022年2期
关键词:执行器舵机摄像头

孙永芳

(陕西国防工业职业技术学院,陕西 西安 710300)

0 引言

我国传统水果采摘方式主要采用人力进行采摘,采摘过程中由于水果的分布结构存在不规律性,需要消耗大量人力物力,使工作人员劳动强度大的同时,其采摘效率较为低下。近年来,随着我国科技的不断发展,自动化采摘已成为农业生产领域的发展趋势之一,通过自动化采摘,可将识别、采摘功能一体化发展,有利于降低人力成本,提高工作效率。为此本研究提出一种基于STM32的水果采摘机器人控制系统设计方案,对于农业领域的未来发展具有重要意义。

1 采摘机器人整体结构

水果采摘机器人的动作设计准则是根据果树生长分布特征而定。采摘机器人由机械臂、摄像头、末端执行装置、移动平台、上升机构、存储机构和运输机构等部分组成。工作流程:通过摄像头对水果进行扫描,当识别到成熟的水果时,会将成熟水果坐标值通过串口通信传送到STM32单片机,单片机会控制机械臂准确到达坐标位置,启动环形剪刀剪断果柄,成熟的水果会顺着管道进入箱体,整体机构如图1所示。

1.1 机械臂

为实现对水果的快速采摘,应加强对机械臂结构和控制方式的设计。机械臂是水果采摘机器人控制系统的核心部分,其结构和控制方式可直接决定该机器人的采摘效果。传统水果采摘机器人的机械臂存在结构简单、电机数量较多及控制复杂等问题,为提升水果采摘机器人控制精度,采取对称分布方式在水果采摘机器人的大臂、小臂、连接臂等结构的另一侧设计机械臂杆件,并将其机械原理简化为两个对称的铰链四杆机构[1-2]。

1.机械臂 2.摄像头 3.末端执行装置 4.移动平台5.上升机构 6.存储机构 7.运输机构图1 水果采摘机器人整体机构Fig.1 Overall mechanism of fruit picking robot

1.2 摄像头及末端执行装置

利用摄像头对水果的颜色进行识别,根据成熟水果的坐标值判断水果所处位置,最终通过机械臂实现水果的采摘。末端执行装置主要由两部分组成,分别是摄像头和环形剪刀。为保证末端执行装置功能的稳定性,在摄像头中设置Open MV图像采集功能。Open MV图像采集功能主要建立于Python软件的基础上,通过该软件有利于对Open MV图像采集功能进行二次开发,并且Open MV视觉模块具有色彩识别及检测等功能,能够有效对成熟水果颜色进行判断,对于机器人的识别范围具有扩大作用。

对环形剪刀进行设计时,结合水果果柄的硬度,将具有较大力矩的舵机作为该部分的动力源。其工作流程:利用水果采摘机器人控制系统摄像头的精准定位功能,对采摘区域水果的位置进行确定,通过启动机器人的舵机,使其带动第二弧形连杆进行操作,即可将果柄割断,以此实现对水果的采摘。

1.3 移动平台

传统水果采摘机器人为实现对不同方位的水果进行采摘,需要移动整台机器,该方式对于采摘的效率存在一定局限。为解决水果采摘机器人的局限性,对移动平台的移动方向进行全方位设计,其中左右移动方向主要采用丝杆螺母作为传动机构,该丝杆螺母的使用可使水果采摘机器人的运动更加平稳,最大移动范围350 mm。该平台前后移动方向的传动机构主要采用同步带,使其在结构上更加紧凑,并且具有抗拉强度高、效率强等特点,最大移动范围是500 mm。为实现机器人可采摘不同角度的水果,在机械臂滑块部位安装旋转电机,以此实现对机器人的控制。

1.4 上升机构、存储机构、运输机构

根据末端执行器对成熟水果的定位,由上升机构对机械臂高度进行调整,确保更加精准地对成熟水果进行采摘。存储机构将采摘的水果临时存储于存储箱内,由工作人员进行水果收集。运输机构可以实现采摘机器人的移动或转移。

2 控制系统总体设计

2.1 整体设计思路

对水果采摘机器人的控制系统进行设计时,主要采用STM32单片机作为控制系统的主控芯片,该芯片对于系统的稳定性具有重要提升作用。水果采摘机器人各模块的设计任务:视觉识别模块可利用控制算法对机器人的移动速度进行提升,使其以最快的速度移动至目标物体之前;末端执行机构可控制机器人剪断果柄;机械臂部分与末端执行器紧密相连,属于整个系统的核心模块;移动平台部分及升降机构部分的设计,有利于提高机器人机械臂的活动范围,使其全方位对水果进行采摘[3-4]。

2.2 视觉识别控制

视觉识别系统的功能组成:图像采集、图像处理和分析、图像信息传递。水果采摘机器人视觉识别控制的核心结构为STM32F4单片,该单片机集成了摄像头芯片,其分辨率高达30万像素,为实现水果采摘机器人的高效算法,利用C语言对控制系统进行编程。视觉识别的设计过程:首先在控制系统内对所需识别的水果颜色进行设定,颜色设定完毕后,即可利用采摘机器人摄像头的图像采集功能及精准定位功能,对水果所在位置进行确定,并将水果的位置信息通过串口传递至STM32单片机,控制系统接收到指令后,可自动对末端执行器进行控制,使机械臂到达指定位置,实现对水果的采摘。

2.3 执行器控制

末端执行器的核心控制结构为舵机,为保证机器人的精准采摘,采用型号为MG995的舵机对刀柄的速度及剪切力进行提升。为实现对电机的转速进行控制的同时,可增大末端执行器电机的转矩,利用单片机发送的信号对电机的转动进行控制,该方式可有效降低齿轮的转动速度,有利于保证水果采摘机器人的运行效率。而监测电机的旋转角度可利用电位器,该电位器可根据单片机生成的PWM波信号,对舵机的旋转角度进行控制[5]。

为实现末端执行器对舵机的控制,应建立20 ms的时基脉冲周期,高电平角度可对0.5~2.5 ms范围内的脉冲进行控制。以旋转角为180°的舵机为例,其旋转0°,45°,90°,135°,180°所对应的脉冲时间为0.5、1.0、1.5、2.0和2.5 ms。其工作流程如下。

首先,利用KeiluVision5建立目标工程文件,通过C语言对水果采摘机器人的控制程序进行编写,程序编写完毕后,应及时确认编写是否正确,无误后即可生成执行文件。

其次,将生成的执行文件下载至STM32芯片中,利用STM32芯片设置执行文件的相关参数。

最后,将水果采摘机器人的控制程序输入至单片机中,利用单片机的功能对程序进行运行和调试,调试完毕后生成的结果可作为判断舵机运行状态的主要依据。

对舵机的控制电路进行设计时,为控制舵机的运行,可将单片机输出周期为20 ms的PWM波与信号线相连,而控制接口可直接与单片机的引脚相连,舵机控制接口的另一端直接与电源相连[6]。

3 控制系统硬件设计

对控制系统硬件部分进行设计时,采用大量先进集成电路,向硬件部分的保护电路及信号滤波电路中加入反向电压,该方式有利于提升硬件系统的安全性,使其具有较强的抗干扰能力。基于STM32的水果采摘机器人控制系统硬件电路如图2所示[7]。

图2 基于STM32的水果采摘机器人控制系统硬件电路Fig.2 Hardware circuit of control system of fruit picking robot based on STM32

3.1 主控制器模块

主控制器模块是整个硬件系统的核心组成部分,其主控芯片主要选用性价比较高的STM32F103ZET6。该芯片在运转过程中,最高工作频率达72 MHz,工作电压3.3 V,部分引脚可兼容5 V电压。芯片上集成了512 KB的Flash存储器和64KB的SRAM存储器。除此之外,该芯片可支持两种调试模式:串行调试(SWD)和JTAG接口,通过对芯片的调试,有利于将水果采摘机器人的功耗降至最低[8]。

3.2 液晶显示和键盘模块

为提升水果采摘机器人的识别能力,采用液晶显示器(LCD)作为该系统的界面显示部分,该显示器具有功耗低、体积小、质量轻等优势,在单片机的控制下被广泛应用于多种电子产品的显示功能中。而键盘模块为给用户提供良好的使用体验,主要采用以ST7920为控制器的LCD12864,并将其与按键共同处于一块电路板上,可为用户提供更加便捷的功能选择。

3.3 功率运放与H桥PWM输出模块

为保证水果采摘机器人控制系统的精准性,应对运行功率进行控制。通常情况下,STM单片机的引脚输出电流为20 mA,由于该单片机的输出电流过小,在驱动电流较大的元件时,可造成单片机出现不同程度的损坏,甚至无法完成驱动。为此本研究设计了功率运放与H桥PWM输出模块,该模块的驱动器部分采用DRV8412,选择了高速、低噪声、大电流输出、双运放LM7322,在二者的支持下,有利于实现对电机、舵机等元件的驱动和PWM调速。

3.4 摄像头识别通信模块

该模块为实现对成熟水果颜色的精准识别,采用0V7670(带FIF0)作为摄像头识别通信模块的核心。水果采摘机器人摄像头的识别通信流程:首先通过机器人的摄像头对水果的实际位置信息进行采集,信息采集完毕后,系统可自动将该信息传送至2# STM32单片机,该单片机可利用串口与上位机建立联系,即可实现数据的输出,上位单片机接收到指令后即可对数据进行处理。

4 控制系统软件设计

4.1 自动采摘与手动采摘程序

为满足用户对水果进行采摘的不同需求,将水果采摘机器人控制系统的工作程序分为两种模式:自动采摘和手动采摘。若用户选择自动采摘工作模式,该系统可启动系统控制程序,完成水果的采摘,并将采摘水果的数量进行记录。若用户选择手动采摘工作模式,该系统可为用户提供操控摇杆控制器,用户对该控制器进行操控即可实现对水果的采摘。在控制系统处于通电状态时,该程序可自动对按键的状态进行判断,按键处于启动状态时,系统将自动运行视觉识别功能。自动采摘与手动采摘程序如图3所示[9]。

图3 自动采摘与手动采摘程序Fig.3 Procedures of automatic picking and manual picking

4.2 采摘区域设定程序

该程序可根据用户的需求,对采摘水果的区域进行设定,采摘区域设定完毕后,机器人可启动视觉识别系统对成熟水果进行颜色识别,判断该水果为成熟状态时,利用机械臂的环形剪刀,将水果与果柄分离,以此实现对成熟水果的采摘,并对采摘完成的水果进行计数。采摘区域设定程序:用户通过区域设定界面对采摘区域进行确定,机器人可根据设定区域对采摘区域的坐标进行记录,对该区域内全部符合条件的水果进行采摘。

5 试验验证

为验证水果采摘机器人控制系统的精准性,对该系统进行制作样机,其机械臂处于未展开状态下的整体尺寸为500 mm×400 mm×1 200 mm。整体样机如图4所示。

图4 智能水果采摘机器人样机Fig.4 Prototype of intelligent fruit picking robot

试验流程:利用机器人的摄像头对水果进行扫描,通过该摄像头的Open MV图像处理功能对成熟水果进行识别,即可获取水果的实际坐标位置,为实现对水果的精准采摘,可将位置信息传递至STM32单片机,通过单片机向机器人的中央控制器发送指令,使机器人到达指定位置,并驱动控制系统的末端执行器,完成对水果的采摘。水果与果柄分离后,可顺着采摘管道进入箱体。通过对试验结果进行分析可知,该系统可将识别、采摘功能一体化发展,实现全自动化采摘,该机器人识别1次的平均时间为2.7 s,采摘1次平均时间为5.4 s,平均每次采摘的数量为1~2个,采摘的最大高度为1.85 m,具有一定可行性[10]。水果采摘机器人控制系统试验结果统计如表1所示。

表1 水果采摘机器人控制系统试验结果统计Tab.1 Statistics of test results of fruit picking robot control system

6 结束语

为实现水果采摘机器人控制系统功能一体化,充分结合水果采摘机器人的结构特点,采用模块化的方式对控制系统进行设计,以此保证该系统可对处于不同角度及高度的水果进行采摘。利用试验验证的方式对水果采摘机器人的可行性进行判断,其结果表明,该机器人具有开发成本较低、工作性能稳定等特点,并且该系统可将识别、采摘功能一体化发展,实现全自动化采摘,但是对质地较软的水果存在机械损伤的风险。在未来发展中,应加强对机器人手部的设计,使其具有更高的使用价值。

猜你喜欢

执行器舵机摄像头
形状记忆合金执行器研究综述
浙江首试公路非现场执法新型摄像头
自动驾驶汽车执行器故障冗余算法
一种软体末端执行结构设计与试验分析
摄像头连接器可提供360°视角图像
执行器中磁滞非线性问题的建模和补偿
海太克HS—1100WP数字舵机
超音速舵机保护器
菜鸟看模型
舵机的应用