logo资料库

基于STM32F4的智能分拣机器人设计与实现.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
ISSN 1002-4956 CN11-2034/T 实 验 技 术 与 管 理 Experimental Technology and Management 第 36 卷 第 10 期 2019 年 10 月 Vol.36 No.10 Oct. 2019 DOI: 10.16791/j.cnki.sjg.2019.10.037 基于 STM32F4 的智能分拣机器人设计与实现 李 海,王星驰,田英杰 (电子科技大学成都学院 微电子技术系,四川 成都 611731) 摘 要:为实现对快递包裹进行智能分拣和精准定位,设计了一款基于 STM32F4+STM32F7 的智能分拣机器人。 采用 OpenMV3 摄像头进行物体信息搜索,使用 STM32F7 单片机进行图像数据信息处理以及信息发送,采用 STM32F4 作为机器人主控芯片,用来进行小车电机控制、自动避障、自动规划路线、串口数据接收和舵机控制, 双 CPU 之间采用串口通信,使用四舵机机械臂进行物体的抓取以及搬运。经过多次实测,该系统可以精准识别目 标物体,然后搬运到指定位置,并且速度快、精度高,可进行大量包裹智能分拣工作。 关键词:智能分拣机器人;单片机;传感器;STM32F4;OpenMV3 中图分类号:TN02-34 文献标识码:A 文章编号:1002-4956(2019)10-0155-04 Design and realization of intelligent sorting robot based on STM32F4 LI Hai, WANG Xingchi, TIAN Yingjie (Department of Microelectronics Technology, Chengdu University of Electronic Science and Technology, Chengdu 611731, China) Abstract: In order to realize the intelligent sorting and precise positioning of parcels, an intelligent sorting robot based on STM32F4+STM32F7 is designed. The OpenMV3 camera is used for object information search, and the STM32F7 SCM is adopted for image data processing and information transmission, STM32F4 is used as the main control chip of the robot, which is used for car motor control, automatic obstacle avoidance, automatic route planning, serial data reception, steering gear control, and serial communication between two CPUs. Four steering gear manipulators are applied to grasp and carry objects. After many tests, the system can accurately identify the target object and then move it to the designated location. It has high speed and precision and can carry out a large amount of intelligent parcel sorting work. Key words: intelligent sorting robot; SCM; sensor; STM32F4; OpenMV3 随着电子商务的飞速发展,快递业成为快速成长 的行业。为降低快递企业的人力资源成本、提高快递 包裹的分拣速度、减少人员劳动强度,本文设计了快 递包裹智能分拣和搬运机器人系统[1]。该系统运用单 片机、摄像头、驱动电机、四舵机机械臂以及自动控 制识别等技术,实现了道路环境的检测、路线的自动 规划、对目标物体的抓取以及自动搬运等功能。经过 多次实测,该机器人系统抓取精确度高、搬运速度快、 抗干扰性强、成本较低,适用于仓库分拣、物品搬运、 全自动人工智能餐厅等作业。 收稿日期: 2019-04-16 基金项目: 四川省教育厅 2018 年科研项目(18ZB0245) 作者简介: 李海(1986—),男,四川通江,硕士,讲师,主要从 事人工智能和智能控制的研究工作。 目前市面上的搬运机器人大多需要有固定的轨 道。配套轨道不但增加了设备成本,而且在物品意外 掉落轨道外时,机器人难以处理。本文开发的机器人 系统使用摄像头进行物体识别,不需要固定的行走路 线,对于环境适应性强,对于意外突发情况的处理能 力强[2]。 1 系统的模块化设计 智能分拣机器人在软件和硬件上均采用模块化设 计,主要由主控模块、视频采集模块、电机驱动模块、 电源模块、机械臂模块组成。系统总体框图如图 1 所示。 1.1 主控制模块 采 用 S T M 3 2 F 4 0 7 单 片 机 作 为 主 控 芯 片 , STM32F765 作为辅助控制芯片。由 STM32F765 控制
156 实 验 技 术 与 管 理 图 1 系统总体框架图 OpenMV3 摄像头进行图像数据采集,并将数据通过串 口传送给 STM32F407 主控芯片[3],然后由 STM32F407 规划最佳路线、控制电机实现前进至目标物体位置, 控制机械臂抓取目标物体,并将其放至指定位置。 1.2 视频采集模块 采用 OpenMV3 摄像头进行视频数据采集,使用 python 语言对 STM32F765 进行编程。OpenMV3 摄像 头易于使用,并有大量库函数供调用和修改。视频数 据处理原理是:采集的图像经摄像头内的感光组件电 路进行处理,转化成为数字信号供计算机识别[4],然 后由软件进行图像还原。在获取图像之后,通过查找 目标物体的形状和颜色进行目标物体识别,在找到目 标物体之后,在图片上建立坐标系,并将目标物体坐 标经串口发送给 STM32F407 主控芯片。 1.3 自动避障模块 智能分拣机器人采用单目摄像头和红外对管组成 双避障系统,可以最大限度地发现和识别障碍物并进 行避让。自动避障模块可以选用参考物,利用参考物 的尺寸比例计算与目标物体的距离[5]。红外对管测距 原理是通过改变电位器修改红外线反射距离,通过改 变单片机引脚电平来传递障碍物信息[6]。 1.4 电机驱动模块 选用带编码器的直流减速电机,通过调节 PWM 波的占空比来控制电机的转速。电机与 STM32F4 之 间的连接如图 2 所示。 图 2 电机驱动电路图 1.5 机械臂模块 使用四舵机机械臂,第一个舵机控制机械臂爪的 竖直转向,第二个舵机控制机械臂爪的弯曲程度,第 三个舵机控制机械臂爪的水平转向,第四个舵机控制 机械臂爪的开合。 1.6 电源模块 电源模块为单电源供电模式,采用 16.8 V 的航模 电池供电,通过 2 个 LM2596 降压模块将电压降至 5 V 和 3.3 V,分别给传感器和单片机供电[7]。该供电方式 可以保证机器人有一定的续航时间。如果要增加机器 人的工作时间,可以用更大容量的电池替换航模电池, 并且替换快捷、方便。降压电路如图 3 所示。 2 软件系统的设计 智能分拣机器人软件设计主要包含摄像头图像采 集、目标距离识别、舵机控制、电机驱动和自动避障 等模块的编程。 2.1 摄像头测距算法 摄像头有两方面的作用:一是监测物体,测出物 体与小车之间的距离;二是识别物体的形状和大小。 图 3 降压电路 摄像头测距原理如图 4 所示。 在摄像头与镜头中,Lm 是镜头与摄像头的距离 tan tan a = b  L Apix / 2 m L Apix / 2 m 根据式(1)和式(2)可以得到: tan a / tan b = Apix / pix B 在真实环境中,几何关系为: tan b = R m / L m (1) (2) (3) (4)
李 海,等:基于 STM32F4 的智能分拣机器人设计与实现 157 即:实际距离和摄像头里的像素成反比,简化后,距 离等于一个常数与直径的像素的比值。通过这种算法 可以得到机器人与目标物体之间的实际距离。根据对 目标距离的计算可以得出测距的核心 Python 源码。 2.2 物体形状和颜色识别算法 首先,摄像头获取要分拣和搬运的目标物体的图 像,然后对目标物体进行 LAB 颜色识别,获取目标物 体的颜色组合。获得颜色组合后再由摄像头获取目标 物体的形状,将获得的目标图像通过 9×9 均值滤波器 进行去噪[8],然后二值化图像,得到对应图像的数据 进行编程计算。二值化图像和二值化算法 Python 源码 如图 5 所示。 图 4 摄像头测距原理图 将公式(4)代入式(3),得: A pix / tan pix = R m L B m   a (5) (a) 目标原始图像 (b) 目标二值化图像 (c) 二值化算法源码 图 5 图像的二值化 其 中 image.binary(thresholds[,invert=False[,zero= False[,mask=None[,to_bitmap=False[,copy=False]]]]]) 函数根据像素是否在阈值列表 thresholds 的阈值内, 将图像中的所有像素设置为黑色或白色。thresholds 必须是[(lo, hi), (lo, hi), …, (lo, hi)]定义要追踪的颜色 范围。对于灰度图像,每个元组需要包含最小灰度值 和最大灰度值。本文仅考虑落在这些阈值之间的像素 区域。对于 RGB565 图像,每个元组需要有 6 个值(l_lo, l_hi,a_lo,a_hi,b_lo,b_hi),分别是 L、A 和 B 通 道的最小值和最大值。为方便使用,此功能将自动修 复交换的最小值和最大值。 如果元组大于 6 个值,则忽略其余值;相反,如 果元组太短,则假定其余阈值处于最大范围。然后提 取目标边框信息,采集棱角数量、直线数量以及分布 在像素点上的相对坐标。在记录目标图形特征之后, 使用摄像头重新获取图片,与目标物体进行相同的算 法处理,然后记录所获得的棱角数量、直线数量以及 分布在像素点上的相对坐标。如果与之前记录的数据 成比例,则识别成功。 2.3 机器人控制与检测 运用状态机的编程思路,设立状态标志位。小车 有寻找目标、抓取目标和搬运 3 种状态。在系统初始 化结束后,默认标志位为 1,定义为寻找目标状态; 在找到目标之后更改标志位为 2,定义为抓取目标状 态;在抓取目标成功后,状态标志位修改为 3,定义 为搬运目标状态。 2.4 程序流程图 智能分拣机器人系统工作流程如图 6 所示。 图 6 系统流程图 系统上电后先进行初始化,机器人原地旋转寻找
158 实 验 技 术 与 管 理 目标物体。在发现目标物体后,向目标物体行进,在 到达离物体设定距离时,使用机械臂抓取目标物体, 然后将物体放到指定位置。机器人在行进途中遇到非 目标物体障碍物时,将重新规划路线以绕过障碍物。 2.5 电机驱动调速代码 本设计通过调节 PWM 波的占空比来调节电机转 速[9-10],通过控制两个电机的转速来控制机器人左转 右转。机器人行驶控制代码如下: void CarGo(void) //机器人前进 { TIM_SetCompare1(TIM3,1500); TIM_SetCompare2(TIM3,1500); FRONT_LEFT_GO; FRONT_RIGHT_GO; } void CarBack(void) //机器人后退 { TIM_SetCompare1(TIM3,1500); TIM_SetCompare2(TIM3,1500); FRONT_LEFT_BACK; FRONT_RIGHT_BACK; } void CarStop(void) //停止 { TIM_SetCompare1(TIM3,0); TIM_SetCompare2(TIM3,0); FRONT_LEFT_STOP; FRONT_RIGHT_STOP; } void LeftTurn(void) //左转 { TIM_SetCompare1(TIM3,1500); TIM_SetCompare2(TIM3,700); FRONT_LEFT_GO; FRONT_RIGHT_BACK; } void RightTurn(void) //右转 { TIM_SetCompare1(TIM3,700); TIM_SetCompare2(TIM3,1500); FRONT_RIGHT_GO; FRONT_LEFT_BACK; } 3 实物测试与结果 3.1 测试方案 (1)先进行硬件电路的检测,确保电路无虚焊、 漏焊;然后进行模块测试,确保各个模块的参数传送 正确。各个模块的功能确保无误后,进行系统的整体 软硬件联调,确保各个整体系统连接的正确性。 (2)设定目标物体,将符合算法的颜色及形状的物 体进行无规则位置摆放,并指定最终目标区域;在机器 人行进路径上放置障碍物,检测机器人自动避障功能; 设立干扰目标物,检测机器人识别抓取目标的准确性。 3.2 测试结果 经过多次测试,智能分拣机器人总体性能良好, OpenMV3 摄像头获取图片后可以准确提取有效信息, 精准识别目标物体并且排除干扰项,成功建立平面直 角坐标系并将目标物体坐标通过串口传送至主控芯 片。主控芯片能够准确地控制电机,使机器人行进至距 离目标物体指定的位置,并控制机械臂进行目标物抓 取,抓取目标后通过识别标志物将物体放置在指定位 置。机器人在行进途中遇到障碍物可以重新规划路线并 成功避开障碍物[11-12]。 4 结语 基于 STM32F4 的智能分拣机器人采用 OpenMV3 摄像头,可以实现目标追踪,采用 STM32F407 和 STM32F765 双处理器处理数据,使数据的处理不会互 相干扰。通过实验测试,该智能机器人可以良好地实 现分拣功能,且运行稳定性好、抗干扰能力强。 参考文献 (References) [1] 金琦淳,任俊,袁明新,等. 复杂竞赛任务中的自动分拣搬 运机器人系统设计[J]. 轻工机械,2019, 37(2): 17–23, 28. [2] 马文凯,吴耀华,吴颖颖,等. 基于进化算法的跨巷道多层 穿 梭 车 仓 储 系 统 的 研 究 [J]. 机 械 工 程 学 报 , 2019, 55(8): 216–224. [3] 贾英辉,耿涛,徐光宪,等. 基于 STM32 的多气体传感器检 测 光 传 输 创 新 实 验 系 统 设 计 [J]. 实 验 技 术 与 管 理 , 2018, 35(7): 31–33. [4] 宫浩,张秀再,胡敬锋. 一种基于深度学习的遥感图像分类 及农田识别方法[J]. 现代电子技术,2019(8): 179–182, 186. [5] 韩团军. 基于 STM32RCT6 的无线地面智能排障小车的设计 [J]. 实验技术与管理,2018, 35(6): 151–155. [6] 杜青,乔延华,韩淼,等. 基于金属检测的智能循迹小车设 计[J]. 现代电子技术,2018, 41(17): 119–122. [7] 艾皖东,卢浩,陈振斌,等. 基于导航系统的自动寻迹智能 小车研究[J]. 汽车技术,2018(5): 1–5. [8] 颜珂斐,杜娥. 物联网智能家居的远程视频监控系统设计[J]. 实验技术与管理,2018, 35(3): 151–153. [9] 杨建民,赵玫,杨洪勇,等. 电磁导航智能寻迹小车方向控 制 算 法 的 分 析 与 应 用[J]. 科 学 技 术 与 工 程 ,2016, 16(33): 71–78. [10] 刘龙,李建奇,魏光宇,等. 基于图像识别的自主寻迹智能 小车设计[J]. 湖南文理学院学报(自然科学版),2016, 28(3): 62–66, 70. [11] 陈小中,冒志建. 高校智能视频监控实训平台设计探究[J]. 实验室研究与探索,2019, 38(1): 128–132. [12] 汤知日,常胜. 机器学习 FPGA 硬件实验设计[J]. 实验技术 与管理,2018, 35(12): 152–155.
分享到:
收藏