张海锋 ,韩 娟 ,刘炳铭 ,曹敏聪 ,朱文浩 ,张秀妹
(广东白云学院机电工程学院,广东 广州 510450)
近年来,随着我国经济的快速发展,物流行业发展迅猛,传统的仓库管理方法和管理模式已经难以适应时代的发展需要。因此,推动仓库管理由传统模式向现代智能模式转变迫在眉睫,仓库管理机器人应运而生。为满足社会对仓管机器人的需求,课题组设计了一款基于STM32和树莓派的仓管机器人。测试结果表明,该仓管机器人极大地方便了人们快速了解仓库的实时情况,及时发现问题并解决问题,在降低企业成本的同时还减少了人力的投入。
该仓管机器人系统组成图如图1所示。由图1可知,机器人仓库管理系统和4B4GB型树莓派是仓管机器人主要的控制系统。驱动系统采用STM32F103单片机,采集和下载部分由温度传感器、湿度传感器、视觉传感器、三片机和云平台组成。其不仅可以采集仓库的温度、湿度、物料尺寸等信息,还可以通过Wi-Fi无线网络实现上位机与数据采集模块之间的通信。测试结果表明,该机器人能够准确检测环境信息且运行稳定。
图1 仓管机器人系统组成图
为了让仓管机器人完成特定的任务,调度员可以使用云平台远程控制仓管机器人的移动。运动控制系统作为仓管机器人的终端系统,是保证自主移动机器人高效运行的基础。机器人的运动控制主要基于管理员的输出指令,利用CUP计算机处理数据信息,实现了仓管机器人的真实运动,从而能够顺利、稳定、准确地完成理论轨迹控制。该系统功能以ROS节点的形式显示,导航调度程序和驱动器控制节点位于机箱控制系统中,交互层控制节点位于远程客户端中[1]。主控制系统又分为控制器、运算器、存储器和输入/输出接口。
1.1.1 控制器
控制器是计算机的控制核心,控制器的电路图如图2所示。由图2可知,控制器从内存中提取指令,分析和判断指令,根据指令发送控制信号,使计算机能够有序协调地完成指令。此外,控制器有逻辑控制器和微处理器控制器,两者各有优缺点。具体比较如下:组合逻辑控制器又称硬线控制器,由逻辑电路构成,指令功能由硬件实现,其设计结构复杂,且设计完成后不能修改或扩展,但其速度非常快。微处理器控制器设计简便,结构简单,易于修改和扩展。如果要更改机器指令的功能,仅需重新组织相应的微处理器;如果要添加机器命令,仅需将微程序添加到控制内存中,运行微程序。
图2 控制器电路图
1.1.2 运算器
在计算机上可以执行各种算术和逻辑运算,算术单位也称为算术逻辑单位,由算术逻辑单元(ALU)、插件、状态寄存器、通用寄存器组等构成。算术逻辑运算单元的基本功能包括加法、减法、乘法、除法和AND、OR、NOT、XOR等逻辑运算以及移动、代码补正等运算。计算机配置CPU的核心和控制单元,在运行时,控制器决定计算单元的操作和操作模式。计算单元处理的数据来自阵列,处理后的结果数据通常返回内存或暂时存储在计算单元中,计算单元是计算机处理数据的功能部件。数据处理主要包括数据的算术运算和逻辑数据的逻辑运算,所以实现数据的算术运算和逻辑运算是求解器的核心功能。
1.1.3 存储器
存储器是计算机系统中的记忆设备,用于存储程序和数据。计算机存储记忆分为内部和外部两种,内部内存直接连接到处理器,将当前程序和数据存储在称为主内存的处理器中,其特点是访问速度快,基本上支持处理器的速度,但价格高、存储容量小。外部内存主要用于存储暂时不使用但长期保存的数据和进程,存储在外部内存中的数据必须传送到内部内存以供执行,其特点是内存容量大、成本低,但访问速度相对较慢。
1.1.4 输入/输出接口
输入/输出接口也称为I/O接口,是将处理器连接到外部设备的逻辑电路,同时集成了随机存储器(RAM)、存储器程序(ROM)、数据存储器(RAM)、I/O接口、计时计数器、中断控制器和系统时钟电路。每个I/O接口都有一个处理器地址,处理器使用不同的I/O接口执行外部操作。单个计算机使用总线在CPU、RAM、ROM和I/O模块之间传输信息。内置于特定类型计算机中的RAM和ROM集成芯片的尺寸、I/O接口的数量、计时计数器的类型均不同,但CPU只有一个。I/O门户是单个系统的重要资源,是衡量单个系统性能的重要指标之一。I/O接口又分为并行口和串行口,并行I/O接口通常是可从软件输入或输出的独立双向I/O接口;串行I/O接口用于单个设备与串行设备或其他单个系统的通信。
传感器电路板结构图如图3所示,树莓派的主要连接引脚图如图4所示。从图中,我们可以看到传感器内部电路的结构设计及其与树莓派的关系。
图3 传感器电路板结构图
图4 树莓派引脚图
对于大型仓库而言,为了保护仓库的安全,避免突发事故的发生,仍需要大量人员昼夜不停地巡逻。因此,课题组在机器人上安装了红外传感器系统,使用了HC-SR501人体红外感应模块。如果在延迟时间内有人在感应范围内活动,则将持续输出高电平;当人离开感应区后,高电平又会转为低电平。
温度传感器内部电路分析图如图5所示。根据温度传感器感应的温度,调节内部滑动电阻的阻值,计算出工作电压,如式(1)所示。当温度为24 ℃,R1和R2均取值为1 000 Ω。
图5 温度传感器内部电路分析图
目前,企业对于产品的生产、库存管理和仓储管理越来越重视,许多仓库都存有企业生产中非常重要的材料。为了保持良好的库存质量,并为货物提供适合的储存温度和湿度等有利条件,应尽可能避免仓库外天气条件的不利影响。如果仓库的温度和湿度不适合储存货物,应采取有效措施控制仓库的温度、湿度。因此,制定相关行业标准,建立实时温度和湿度监测系统,并保存完整的历史温度和湿度数据具有非常重要的作用。在此实验中,课题组使用了热电偶的温度传感器,其可以在大温度范围和各种大气压下进行温度测量。当导体形成回路时,有了温度梯度,回路中的电流通过两端形成电动势,再根据传输的电流大小显示温度高低。然后通过无线电的方式上传至无线电环境监控主机,环境监控主机接收到无线电后,通过网口上传至电脑软件平台,或者通过以太网、GPRS上传的方式上传至互联网,再由互联网上传至软件平台[2]。
课题组设计的仓管机器人选用了OpenCV视觉系统,该视觉系统拥有庞大的视觉库和多种常用算法。在视觉系统中配备有红外投影模组、面部接近感知系统、计算机监测信息控制系统(MIC)以及两个相机模组的LeTMC-520S三合一体感摄像头和RGBD深度相机,为产品提供了优良的视觉感应。树莓派的CSI接口摄像头及LeTMC-520S三合一体感摄像头可以获取小车附近环境的图像,并通过OpenCV视觉系统中提供的Canny函数运算对获取的图像滤除噪声后[3],计算出图像中每个像素点的梯度强度和方向;应用非极大值抑制(Non-Maximum Suppression),消除边缘检测带来的杂散响应,再应用双阈值(Double-Threshold)检测以确定真实的和潜在的边缘,通过抑制孤立的弱边缘最终完成边缘检测;结合Turbot-VSLAM的三维色彩建图,最后通过Wi-Fi网络实时反馈到管理者屏幕上[4]。Canny函数运算的效果较好,更适合用于检测真正的弱边缘,Canny算子给出了一个好的边缘检测算子的3个指标:1)低失误率,即真正的边缘点尽可能提取,非边缘点尽可能不提取;2)高位置精度,检测的边缘应尽可能接近真实边缘;3)对每一个边缘点有唯一的响应,即得到单像素宽度的边缘。还有其他的算法,如Shen-Castan算法,虽然计算出的效果和Canny算法的效果大致相同,但该算法更为复杂,因而采用Canny函数运算[5]。OpenCV视觉系统代码的部分展示如下[6]:
仓管机器人的监控系统的各个模块及组成部分如图6所示。
图6 监控系统的各个模块及组成部分
智能调度控制系统的实时监控与预警类应用为仓库管理的实时在线监视、运行分析、操作和控制等提供了核心支撑,是仓库管理安全稳定运行的重要技术保障。实时监控系统分为实时监控、网络传输、实时操作三个模块。课题组设计的监控系统由机器人中带有的视觉传感器对物体进行观测,通过树莓派的CSI接口摄像头获取图像信息后,数据会传递到后台并自动运行Python脚本,在局域网构建一个视频监控系统;之后将处理后的信息传输到局域网,任何设备连上局域网后,打开浏览器地址栏输入树莓派的IP地址即可打开网络监控系统,在设备上可以安装带有SSH(安全外壳协议)的App,管理者就可以随时发送指令给树莓派执行视频监控脚本,也有利于对机器人进程任务的管理。
在网络传输上,相较于平常使用的串口和USB等数据传输方式,网卡的快速传输大量数据、准确性高、传输距离远等一系列优势表明其更适用于远程传输。基于此,课题组为仓管机器人选用千兆网卡RTL8211EG芯片,将数据通过网线以及交换机传输到远程图像拼接与显示单元中,RTL8211EG到MAC(FPGA)之间的传输接口采用GMII接口[7]。其向FPGA输出125 MHz,可与远程图像拼接与显示单元自动协商匹配成千兆网传输模式进行传输,再通过交换机进行扩展,可完成无限多个摄像头数据的传输。网卡只具有PHY(物理层)功能,所以需要在FPGA内部完成对数据包的打包,传输视频采集模块处理完毕的数据[8]。实时操作系统可以管理当前机器人执行的所有任务,其多任务管理能力体现在决定任务执行次序以及强制中断正在执行的任务的权利[9-10]。
仓管机器人的出现可以极大地减少人力和物力的支出,为企业降低成本并带来可靠的收益。课题组设计的机器人可以应用于各大型低温仓库、药品仓库和快递仓库等,通过仓管机器人的智能管理,有效地保障了仓库的安全以及货物的质量。同时,此机器人是较为先进的现代化设计产品,可以有效完善仓库的管理并使之更具简便性和智能性。