快递分拣机器人控制系统的设计*
2020-03-04
江西理工大学 机电工程学院 江西赣州 341000
1 设计背景
随着我国经济的高速发展,电子商务行业发展迅猛,随之而来的是海量的快递件需要分拣和配送。传统的人工分拣效率低下,已经无法满足要求。在一些大型仓储中心,虽然已经实现快递件的自动化分拣[1],但是整套分拣系统体积庞大,价格昂贵。在小型快递中转站,依然需要人工分拣,庞大的快递量让工人处于繁重的劳动中。笔者设计了一种基于OpenMV机器视觉模块识别的快递分拣机器人控制系统[2],主要功能是在小型快递中转站替代人工进行快递件分拣,通过机器视觉实现快递件的识别、定位、扫码、分类,降低工人的劳动强度,提高快递分拣的效率及物流行业的自动化水平。这一项目具有较好的工作基础,借助中国工程机器人大赛平台,已经制作出样机,运行效果良好。
2 硬件组成
快递分拣机器人控制系统硬件组成如图1所示,以STM32单片机为核心,通过接口电路连接机器视觉模块、舵机、电机驱动模块、传感器模块和气泵吸盘控制模块[3-4]。单片机通过传感器感知机器人的状态,并控制以上模块协调运作,完成快递分拣的任务。
▲图1 快递分拣机器人控制系统硬件组成
快递分拣机器人控制系统硬件电路可以分为逻辑电路和驱动电路。逻辑电路主要包括各型传感器和单片机,对电源的稳定性要求较高。驱动电路电流较大,要求电子元器件能够在大电流的条件下稳定工作。
3 机器视觉模块的应用
快递分拣机器人在到达快递件识别区后,要判断区域内是否存在快递件,这时需要使用机器视觉模块进行识别。由于现有的快递件绝大多数都由标准的快递盒封装,为长方体形状,因此只要识别到有矩形存在,就说明有快递件。为达到这一目的,笔者采用了边缘检测算法和矩形识别算法。通过调用官方库提供的变形动画函数morph对图像进行卷积[5],然后调用二进制功能函数binary对图像进行阈值分割,最后调用腐蚀函数erode去除边缘相邻处多余的点,从而得到快递件轮廓清晰的灰度二值化图像。快递件轮廓识别如图2所示,实践证明以上方法具有可行性。
▲图2 快递件轮廓识别
得到灰度二值化图像后,可以调用矩形识别算法,得到快递件表面四个角的坐标[6],从而引导机械臂前往抓取。对于快递件上的条形码,可以调用条形码检索函数find_barcodes进行识别,通过无线局域网上传识别结果,更新物流信息。
4 电路设计
4.1 逻辑电路
快递分拣机器人控制系统采用锂离子电池供电,电池电压变化范围为21.6~25.2 V。当电压低于21.6 V时,需要充电。逻辑电路包括三部分:机器视觉模块、单片机和传感器。采用5 V直流电供电,则降压稳压电路的输入电压为21.6~25 V,输出电压为5 V。考虑到要给机器视觉模块、单片机及传感器供电,供电电路采用LM2596稳压芯片[7],最大输出电流可达3 A,能够满足逻辑电路的工作要求。逻辑电路的电源电路如图3所示,图3中Uin为输入电压,Uout为输出电压。
4.2 电机驱动电路
快递分拣机器人控制系统采用三种电机,分别为直流电机、步进电机和舵机。直流电机需要通过程序控制启动、停止、正反转、加减速[8],调速性能要求高,笔者采用MC33886全桥驱动芯片进行驱动[9]。步进电机需要控制转速、转向,以及旋转角度,笔者采用TB6560步进电机驱动器进行驱动。舵机作为机械臂的原动件,需要精确控制转角,信号线直接与单片机引脚接口连接,由此进行控制。
▲图3 逻辑电路电源电路
4.3 传感器电路
快递分拣机器人控制系统所应用的接近传感器由红外对光管组成,其工作原理为红外光源发出红外线,红外线敏感元件检测反射回的红外线;当反射回的红外线达到一定强度时,触发电平变化,可见,当与快递件之间的距离小于某定值时,传感器输出电平发生变化,从而确认快递分拣机器人的位置。红外对光管电路如图4所示,图4中UCC为供电电压,OUT为输出。
▲图4 红外对光管电路
应用巡线传感器,使快递分拣机器人按照预先设计的路线移动,所巡的线可以是白色或黑色胶带。每个巡线传感器由八路独立小单元组成,每个小单元由发光二极管灯、光敏电阻和电压比较器组成,八路小单元一字排开。位于线正上方的小单元和位于其它位置的小单元状态是不一样的,通过读取每个小单元的状态,就可以知道快递分拣机器人偏离黑线或白线的程度,进而控制电机转速,修正快递分拣机器人的位置,直至没有偏离或到达目的地为止。
4.4 气泵、气阀控制电路
气泵用于产生真空,连接吸盘后可用于快递件的抓取。气泵与吸盘间连接一个气阀,通过控制气阀来控制快递件的吸取与放下。气泵和气阀均采用5 V直流电供电,使用电子开关控制。气泵、气阀控制电路分别如图5、图6所示,使用单片机的PC6、PC7引脚进行控制。单片机引脚输出高电平时,气泵、气阀工作;输出低电平时,气泵、气阀停止工作。
▲图5 气泵控制电路▲图6 气阀控制电路
5 软件程序设计
5.1 整体控制程序
快递分拣机器人启动后,为保证能够正常运作,首先进行自检,包括网络连接状况、机械臂复位、转运转盘复位。自检无误后,快递分拣机器人由起点出发,到达识别区。启动机器视觉模块识别快递件。机器臂将识别成功的快递件放入转运转盘,快递分拣机器人将快递件运往倾倒区,将对应类别的快递件倒出,最后回到识别区。如此循环运行,直到快递分拣完毕为止。快递分拣机器人控制程序流程如图7所示。
5.2 传感器状态读取程序
快递分拣机器人控制系统中使用了较多的接近传感器,这些传感器通过接口电路与单片机引脚相连。快递分拣机器人运行过程中,通过读取这些接近传感器所探测到的信息,就可以了解快递分拣机器人所处的状态。这些接近传感器只有两种状态,没有触发时为高电平,触发时为低电平,因此只需要读取对应引脚的电平即可。接近传感器信息读取程序流程如图8所示,巡线传感器信息读取程序流程类似。
5.3 单片机与机器视觉模块通信程序
单片机与机器视觉模块之间采用串口通信[10],为保证信息传输的准确性,需要约定传输协议。根据实际情况,约定每次传输五位8 bit二进制数,前两位为0xAA,即十进制数170。第三、第四位为有效信息数据。
▲图7 快递分拣机器人控制程序流程▲图8 接近传感器信息读取程序流程
第五位为0x55,即十进制数85。只有第一、第二位为170且第五位为85时,传输数据才有效,这样可以大大提高传输的准确性。单片机与机器视觉模块通信程序流程如图9所示。快递分拣机器人到达识别区后,单片机发送开始识别指令,机器视觉模块开始轮廓识别。如果有快递件,则向单片机发送有快递件指令。单片机接收后,判断转运转盘情况。在转运转盘未满的情况下,发送扫码指令。机器视觉模块开始扫码,并将中心坐标、路径信息,以及快递件类别和编号发送至单片机。单片机控制机械臂将快递件抓取至转运转盘后,机器视觉模块继续开始轮廓识别。直至转运转盘装满或没有快递件,快递分拣机器人前往倾倒区。
▲图9 单片机与机器视觉模块通信程序流程
6 样机制作
笔者制作快递分拣机器人样机,旨在验证控制系统的可行性,完成中国工程机器人大赛快递分拣赛项任务。
快递分拣机器人实物制作指标如下:
(1)转运转盘容量为三种类型快递件,每类三件;
(2)单件抓取时间为15 s;
(3)机械臂活动范围为400 mm;
(4)最大移动速度为0.2 m/s;
(5)电池电压为24 V;
(6)连续工作时间为2 h。
快递分拣机器人样机如图10所示。经过调试,快递分拣机器人能够完成比赛规则中规定的任务,运行情况稳定。快递分拣机器人机械臂使用吸盘吸起快递件如图11所示。
▲图10 快递分拣机器人样机
▲图11 快递分拣机器人吸盘吸起快递件
7 结束语
笔者在分析目前国内外快递分拣机器人的基础上,设计了快递分拣机器人控制系统。根据实际应用需求,将机器视觉技术应用于快递分拣中,设计了硬件电路和软件程序。快递分拣机器人样机达到预期的设计要求,能够自动分拣放置在地面上的快递件,顺利完成了中国工程机器人大赛快递分拣赛项,验证了控制系统设计的合理性。