黄美璇,骆旭坤
(黎明职业大学信息与电子工程学院,福建泉州 362000)
随着我国“互联网+”、“中国制造2025”的提出,物联网、人工智能和大数据等信息技术的发展,工业智能化开始进入实质阶段[1]。智能工厂作为工业智能化发展的重要实践模式,受到广泛关注。经调研,泉州制造业生产企业,尤其是中小企业,多数仍然采用传统的工厂模式。传统工厂效率低下、产品质量参差不齐、管理混乱等缺点日渐突出,迫切需要引入新技术、新工艺以促进企业的技术创新与完善管理,提高生产效率。目前,对基于机器视觉的智能工厂的研究,有学者提出总体解决方案和相关技术研究,但尚未涉及关键技术的应用及具体实施方式[2—5]。本文结合云平台、物联网、人工智能技术设计了一套基于机器视觉的智能工厂中枢系统。系统提出将云平台和物联网技术相结合,使用MQTT 技术打破内网限制,实现云办公管理,多生产线统一管理,智能监控生产线状态,联动显示实时生产数据和远程控制执行。将机器视觉和工业机器人相结合,基于TensorFlow+Keras的深度学习框架完成对产品的识别和定位,采用MoveIt 框架进行机械臂的运动控制,完成产品生产整体自动化过程。该系统为企业规范管理、提高效率、安全生产、产品溯源起到了一定的促进作用。
基于机器视觉的智能工厂中枢系统主要由数据采集模块、视频监控模块、云平台模块、机器人分拣模块和通信模块组成。其中数据采集模块主要采集生产过程中的产量、能耗和设备状态等数据,进行备品备件管理,以实现生产过程的全程追溯。视频监控模块主要由网络摄像头监控设备机器状态,同时采用温湿度传感器检测周围环境的温度和湿度,遇异常情况可以做出判断,并以最快和最佳的方式发出警报或触发其他动作。云平台模块涉及数据库设计、SSM 网站开发及MQTT 消息推送等技术,主要负责企业员工管理、仓储管理、订单管理、产品管理及联动显示实时工作信息数据。机器人分拣模块采用桌面型4 个自由度的机械臂、深度的结构光摄像头及树莓派等共同搭建基于机器视觉的机械手分拣平台,通过结构光摄像头拍摄传送带上的高质量图像,由OpenCV 对图像进行处理,随后进行目标识别分类和定位,最终通过机械臂抓取以实现对产品的柔性分拣。通信模块主要由华为的S1724G 千兆二层交换机和外围设备组成,提供网络支持。系统整体架构如图1 所示。
图1 系统整体架构图
1.2.1 MQTT 协议 作为物联网技术的核心,MQTT长连接一直是实现物联网的关键。通过这项技术,云端可以主动访问本地设备。如何在本地搭建一个可以加入MQTT 服务的硬件是关键所在。系统采用ESP32 底板作为MQTT 服务的载体,以ESP32 为核心连接周边各类传感器,快速部署了一个物联网环境。
1.2.2 Quartz 插件 在基于机器视觉的智能工厂中枢系统中,服务器需要处理的任务量和数据量巨大。为了尽量避免服务器发生故障或出现任务bug,要求服务器具有自我审核和及时补救的能力。系统采用Java 插件Quartz,它能定期对采集的传感器数据进行清理,也能及时发现任务流程中出现的假死、卡机等情况,回滚任务。同时,Quartz 还能监控传感器相关数据,一旦数值变动导致出现异常,也能立刻反应。
1.2.3 MongoDB+MySQL+Redis 数据库 由于多变的实体类型的需要,把数据变成MySQL 数据库对象并不能满足系统的任务要求,所以系统选用了MongoDB+MySQL+Redis 数据库架构的解决方案。各个数据库对应功能为:将基础任务流程的相关数据保存在MySQL 数据库中;授权密钥的认证信息保存在Redis 数据库中;MongoDB 数据库则主要用于实时存储硬件数据。并且系统使用Spring+MyBatis 将三个数据库整合起来,各司其职。为了保证数据的可靠性和可用性,各个数据库分别作了主从备份,MySQL 和Redis 配置了主从,MongoDB 配置了切片[6]。
1.2.4 基于机器视觉的智能分拣模块 机器人分拣模块是系统的核心模块。模块将机器视觉和工业机器人相结合,利用结构光摄像头对传送带上放置的产品进行视频采集,通过Frp 内网穿透技术将本地的视频流推送到外网的云服务器上,利用云服务器的优秀性能进行视频流处理工作以及OpenCV 进行图像分割、特征提取,结合基于TensorFlow+Keras 的深度学习框架完成对产品的识别和定位[7],并将处理结果发送给机械臂控制器,采用MoveIt 框架进行机械臂的运动控制,再由机械臂对产品进行抓取、筛选,完成产品生产整体自动化过程。机器人分拣流程图如图2 所示。
图2 机器人分拣流程图
(1)相机标定。系统采用OpenCV+棋盘格进行相机标定。目标要在各个方向、位置面对摄像机进行拍照,至少保留10 张图片。随后系统在这些图片中查找角点,得到每张图所有角点的坐标,并结合其实际的宽高和大小,进行相机标定计算[8]。执行相机标定的关键代码如下:
该函数在给定一组对象点、对应的图像投影以及相机矩阵和失真系数的情况下,估计对象姿势。该函数能找到一个使重新投影误差最小的姿势,即重新观察误差,也就是观察到的像素点投影imagePoints 与物体投影(projectPoints())objectPoints之间的平方距离之和[10]。系统基于RANSAC 可以避免异常值对结果的影响,使用RANSAC 方案可以从3D-2D 点对应关系中查找对象姿态。3D 重建效果如图3、图4 所示。
图3 重建坐标系效果图
图4 重建立方体效果图
最后,系统基于ROS 的MoveIt 框架搭建MoveIt环境,使用rviz 控制路径规划进行机械臂的运动控制,最终实现目标分拣。
1.3.1 服务器部署 系统共部署了3 台阿里云服务器,用于分担服务器压力。其中,人工智能服务器主要负责视频流的传输,人工智能技术对采集数据的处理。为了获取视频流,通过安装Frp 服务器端获取来自客户端的内网突破请求;安装OpenCV 用于视频采集与预处理。最后部署基于Tensorflow+Keras的人工智能环境进行深度学习,完成对产品的识别和定位,并将数据保存在Tomcat 下的SSM 项目中,以供前端调用处理结果。前端Web 服务器主要负责对口用户使用,采用node.js 来处理可能出现的高并发请求。基于前后分离思想,服务器主要搭载前端部分,完全抛弃了以往的jsp 界面,直接在服务器渲染前端界面。系统利用Ajax 请求调用后端服务器,后台返回json 格式数据,使操作简洁化。后端持久服务器主要用于对数据进行持久化操作,并且作为整个智能中枢的核心服务器对其他服务器进行统筹管理。云平台的项目后台开发环境如图5 所示。软件设计数据及相关接口如表1~表2 所示。
表2 软件相关接口
图5 项目后台开发环境
表1 软件设计数据
1.3.2 硬件搭建 系统采用树莓派搭建本地Frp 客户端,通过中转将结构光摄像头的视频流传送到服务器上。为了确保摄像头的信息能第一时间传输到云端,利用树莓派Linux 系统的特性,启动Frp 脚本,确保树莓派和结构光摄像头在同一局域网。结构光摄像头作为产品识别的关键,需要固定在合适的位置,并确保拍摄区域的照明情况良好。另外,ESP32所需要的部署比较少,需要先烧写底板的内核程序,确保代码写入时能正常运行。其中一个ESP32 配合各类传感器使用,收集机器工作状态的数据,以确保机器运转正常;另一个ESP32 则作为桌面型机械臂的控制执行单元。系统部分硬件搭建如图6 所示。
图6 系统部分硬件搭建
云平台使用MQTT 技术打破内网限制,将SSM+N 技术作为后端服务器的核心框架。前端运用JQ、Angular 搭建PC 客户端,Ionic 搭建手机客户端,使用Frp 技术将视频流推送至云端,利用OpenCV 对视频流进行采样,运用TensorFlow+Keras 深度学习框架对产品进行识别分类[7],成功实现了外网云平台访问内网设备以及机器视觉技术对产品的识别定位。系统利用了SpringMCV 4.2 以后版本对跨域的便利之处,结合SpringMCV 的Interceptor 对外网请求进行认证处理这一特性,对于未授权请求一律进行屏蔽处理,成功解决了前后端跨域和安全性问题。云平台主要负责企业员工管理、仓储管理、订单管理、产品管理及智能监控生产线状态,联动显示实时生产数据和远程控制执行。系统实现了企业管理和业务流程全程在云平台上的追踪,并在云端汇总成直观数据信息,有利于企业进行产品溯源及信息化管理,从而为将来实现生产大数据做好准备。云平台部分功能及数据如下:实现泉州某生产型企业销售数据分类、汇总功能,如图7 所示;企业行政部云管理员工签到情况、修改员工管理权限等,如图8 所示;企业销售部利用云平台开启订单、关闭订单、执行订单管理等,如图9 所示;企业生产部实时监控生产车间温湿度传感器数据、机床信息等生产数据,必要时进行远程控制执行,如图10 所示。
图7 云平台生产数据汇总页
图8 员工管理
图9 订单管理
图10 智能监控和远程控制
分拣平台具有一定稳定性和安全保护机制,配有紧急停止和复位功能。若工作区温度超过50 ℃,工作区亮红灯,蜂鸣器会报警;若工作区温度超过70 ℃,后台会控制工作区停止工作,待温度降低后,重启工作区,警报取消,工作记录会自动回溯到停止时的记录。异常记录将会记录到数据库,方便检查。
分拣所用数据集来源于某鞋业企业的10 款运动鞋,共1 500 张图片。系统使用OpenCV 将图片缩放到199×199 尺寸,并转为灰度图片,生成199×199的像素点值,并且使用LabelImg 标注工具对图像进行标注[11],使用TensorFlow+Keras 完成最终的模型构建。系统识别效果如图11、表3 所示。
图11 机器视觉识别结果
表3 基于机器视觉的运动鞋分拣结果
本文结合云平台、物联网、人工智能技术设计了一套基于机器视觉的智能工厂中枢系统。系统具有云办公管理,多生产线统一管理,智能监控生产线状态,联动显示实时生产数据和远程控制执行功能,实现了工厂的办公、管理自动化。由实验结果得出以下结论:系统对目标的识别时间小于2 s,定位精度误差小于0.3 mm,识别准确率达到91.72%,抓取成功率达到100%。这也表明,分拣平台能完成运动鞋的识别定位及抓取,达到了较好的分拣效果。整个系统为企业规范管理、提高效率、安全生产、产品溯源起到了一定的促进作用。
下一阶段的主要任务是继续扩充鞋类样本,提高系统分拣的泛化能力;对模型的个别参数进行调整优化,增强鲁棒性,使其能够适应更普遍的实际应用场景。