0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于OpenCV的机器人分拣系统设计

机电信息杂志 来源:机电信息杂志 作者:张立婷 钟杨福 2024-01-23 14:06 次阅读

0 引言

随着各大电商的快速发展,我国快递行业的整体规模迅速壮大,包裹数量逐年增多,快递的错派、丢件等问题也日渐凸显,传统人工分拣已经无法适应当前的分拣需求,亟需一种用于自动检验、工件加工和装配自动化以及生产过程的控制和监视的图像识别机器,按任务需要从原始图像数据中提取有关信息、高度概括地描述图像内容,以便对图像的某些内容加以解释和判断。

目前,针对机器人分拣系统的方案研究成为众多学者关注的热点。韦志文[1]基于机器视觉设计了一种轻量化的分拣机器人,搭建了实验平台并完成了小型铸件的分拣。李殷[2]基于深度学习提出了工业机器人物品识别分拣系统设计,在建模解析分类之后工业机器人对物品进行实践分拣操作。马泽明等人[3]将视觉技术、搬运机器人和无线控制网相结合,设计了一种智能搬运机器人的实验平台。王连庆等人[4]构建了一套针对无序来料的定位系统,引导机械手对无序物料进行精确抓取和有序摆放。

本文设计的工业机器人分拣系统与工业相机的快速拍照功能相结合,可实现包裹读码后的快速分拣及信息记录交互等功能,大量减少了分拣过程中的人工需求,提高了分拣效率及自动化程度,并大幅度提高了分拣准确率。

1 OpenCV图像识别

图像处理技术是用计算机对图像信息进行处理的技术,通过图像处理可以提取图像中的有用信息并精简数据量,是决定分拣过程是否能够达到精准且高效的关键。本设计采用OpenCV[5]对原始图像进行预处理,提取图像特征,进行图像识别。本项目通过扫描物流包裹上的数字,对包裹进行识别,构建坐标系对机械臂完成协同控制,实现在复杂环境下的包裹分拣,提高了分拣过程中机械臂末端执行器的效能,物流快递包裹可进行有效分拣,达到快速分拣的目的,提高了工业生产效率,降低了工作成本。OpenCV图像处理流程图如图1所示。

wKgaomWvV3yAKeBPAAIUpMs36UQ905.png

1.1 基于OpenCV的OCR文字识别

传统的条形码虽然识别简单,但是需要学习多种编码方式。识别条形码下方数字单号可以直接把数据录入计算机进行数据处理,得到快递信息。

OCR文字识别是指对图像文件进行分析识别处理,获取文字及版面信息的过程。首先,对快递信息进行图像读取及图像预处理,再用OpenCV内置的图像检测算子进行检测,最后传入tesseract-OCR进行识别。这种方法不仅速度快,而且抗外部干扰能力也比较好,可以准确识别快递的相关数字信息。OCR的技术路线如图2所示。

wKgaomWvV3yAF7NVAADMHTsJn5w414.png

1.2 图像预处理

图像预处理是在图片识别之前对图片进行前期处理,抑制图片中的无关信息,增强开发者想要的重要信息。

1.2.1图像灰度化

图像灰度化是将一张彩色图像向灰色图像转化的过程。相比于彩色图像,灰色图像更容易处理,可以消除颜色干扰。原图像如图3所示,灰度图像如图4所示。cv2.cvtColor()函数是颜色空间转换函数,可以实现图像的灰度化,代码如下:

gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

1.2.2图像掩膜

图像掩膜是用选定的图形对需要处理的图像(局部或全部)进行遮挡,来处理图像特定区域的处理过程。提取感兴趣区,用预先制作的感兴趣区掩膜与待处理图像相乘,得到感兴趣区图像,感兴趣区内图像值保持不变,而区外图像值都为0。掩膜图像如图5所示。

1.2.3黑帽操作(突出更黑暗的区域)

黑帽运算就是取出图片中亮度低的地方,即突出更黑暗的区域。黑帽操作图像如图6所示。morphologyEx()是形态学操作函数,可以方便地对图像进行黑帽操作,代码如下:

heiphat = cv2.morphologyEx(gray,cv2.MORPH_BLACKHAT,rectKernel)

wKgaomWvV3yAaqKfAASLGHfV7YQ271.png

1.3文字检测

1.3.1边缘检测

图像边缘检测可以大幅减少数据量,并剔除可以认为不相关的信息,保留图像重要的结构属性。基于查找的方法,通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。Canny算子边缘检测函数的目标是找到一个最优的边缘检测算法,从而检测出图像边缘,代码如下:

edged = cv2.Canny(gray,75,200)

1.3.2获取轮廓

cv2.findContours()函数用于查找检测物体的轮廓,cv2.drawContours()函数用于在图像上绘制轮廓。代码如下:

(1)检测轮廓:

cnts = cv2.findContours(edged.copy(),cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)

(2)绘制轮廓:

cv2.drawContours(image,[screenCnt],-1,(0,255,0),2)

1.4文本识别

文本识别采用tesseract-OCR识别技术,tesseract-OCR是由Tesseract Google开发并维护的OCR开源库,有着极高的精确度和灵活性,它可以通过训练识别出任何字体,也可以识别出数字和字符。识别出的轮廓图如图7所示,文本识别图如图8所示。

wKgaomWvV3yAWYIdAATB9DB8hto215.png                      

2 分拣机器人系统

2.1系统整体方案

本文对小型工业机械臂进行了运动学分析,并使用计算机建模软件(UG)对工业机器人及其运动空间进行了建模。该工业机器人分拣系统[6]采用树莓派Arduino开发板作为控制单元,两个控制芯片以串口连接进行通信,树莓派用于对图像进行处理与识别;Arduino开发板用于控制步进电机、舵机和超声波红外测距模块。其中舵机用于控制机器人的转向,也用于控制机械夹爪的张合;超声波红外测距模块用于检测与物体的距离。整体流程图如图9所示。

wKgaomWvV3yALthVAAFJBZ53SX4382.png

2.2 机械结构

机械臂各部件通过UG建模,采用3D打印技术打印。在结构设计时使用平面轴承、滚动轴承、线性轴承等一系列标准件,具有增加精度、减少摩擦力等作用。机械臂底座采用铝板与机械臂连接,一定程度上减少了机械臂前倾现象。机械臂Z轴的上下移动采用丝杆传动,传动轴向力大、可自锁、定位精度高。使用同步带传动,避免步进电机在低转速下产生振动及噪声。机械臂整体装配图如图10所示。

wKgaomWvV3yAHy8gAANu_mkfobo740.png

2.3 硬件系统设计

2.3.1主控电路

本系统由Arduino开发板和Arduino CNC电机扩展板组成,Arduino CNC电机扩展板直接连接在Arduino开发板上即可。主控芯片图如图11所示。

wKgaomWvV32APdGbAArgiNseRTk407.png

2.3.2超声波测距模块

超声波测距模块采用的是HC-SR04,可提供约2 cm的非接触式距离感测功能,机械臂可以及时感测与快递包裹的距离,抓取物体。如图12所示,超声波测距模块包括VCC供5 V电源、GND地线、Trig触发控制信号输入、Echo回响信号输出等4个接口端。

wKgaomWvV32AURrOAAbKOE0gh1Y979.png

2.4 软件系统设计

首先,通过OpenCV图像处理技术识别快递单上的数字串和快递的坐标,判断快递运往方向;再由树莓派通过串口发送信息给Arduino Uno开发板,Arduino Uno开发板逆运动求解出各电机旋转角度;然后,控制各电机旋转角度到达目标位置,打开夹爪,当机械臂的Z轴下降到合适位置时,闭合夹爪,夹取快递;当夹取动作完成后,机械臂的Z轴上升,移动到快递发往地,将物品放到相应位置。主控流程图如图13所示。

wKgaomWvV32AMgcqAAK-hCKy5MI360.png

3 结语

本文设计了一种基于OpenCV的机器人分拣系统,运用OpenCV对快递信息进行图像读取及图像预处理,再用OpenCV内置的图像检测算子进行检测,最后传入tesseract-OCR进行识别,协同控制机械臂,实现在复杂环境下的包裹分拣。该设计大量减少了分拣过程中的人工需求,提高了分拣效率及自动化程度,并大幅提高了分拣准确率。同时,将视觉技术应用到工业分拣中,提高了企业运营效率,降低了企业生产成本,能够促进工厂和企业的升级,因而具有较好的应用前景。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    206

    文章

    27033

    浏览量

    201400
  • 图像识别
    +关注

    关注

    8

    文章

    447

    浏览量

    37908
  • 工业机器人
    +关注

    关注

    90

    文章

    3263

    浏览量

    91892
  • OpenCV
    +关注

    关注

    29

    文章

    611

    浏览量

    40775
  • OCR
    OCR
    +关注

    关注

    0

    文章

    137

    浏览量

    16128
收藏 人收藏

    评论

    相关推荐

    树莓派打造视频监控机器人Verybot

    驱动电路板 7、用于驱动电机的锂电池 8、机器人底盘 目前在这个平台上已经实验的功能包括:1、基于wifi的机器人运动控制;2、基于wifi的视频监控;3、基于openCV的目标检测(目前只做了圆形目标的检测);4、基于
    发表于 09-18 15:33

    推荐玩机器人的书

    很多人喜欢玩机器人,四轴,智能车,在这里给大家推荐一本书,书名叫做《BeagleBone 机器人开发指南》这本书里面说的细节虽然不是很多,但是各种机器人设计所需要的基本资源都说的很清楚,还举了很多典型的应用例子,比如比如用
    发表于 01-08 17:54

    物流机器人“驾到” 这个行业是要变天了!

    ”我们生活的方方面面,如当前惊现机器人当女友、机器人当厨师、机器人当保安……这不,最近某家快递公司还上线300多台机器人,每小时可分拣 2
    发表于 04-14 17:45

    LabVIEW 的Tripod 机器人视觉处理和定位研究

    针对传统的物流分拣过程效率低、成本高的现状以及利用机器视觉进行分拣快速、可靠的优点对机器视觉、图像处理和Tiropd机器人进行了研究基于La
    发表于 06-01 06:00

    机器人系统是什么?

    机器人的移动通常是从管理机器人总体任务进度的中央处理器发出位置变化请求时开始的。导航系统通过制定行程计划或轨迹以开始执行位置变化请求。行程计划需考虑可用路径、已知障碍位置、机器人能力及
    发表于 09-10 10:44

    一种机器人光机电一体化分拣实训系统

    ZN-IRF01机器人光机电一体化分拣实训系统一、 机器人光电一体化实训装置概述ZN-IRF01机器人光机电一体化
    发表于 07-01 07:21

    ZN-17A机器人光机电一体化分拣实训系统设计

    ZN-17A机器人光机电一体化分拣实训系统一、 机器人光电一体化实训装置概述机器人光机电一体化分拣
    发表于 07-01 08:51

    一种ZN-IRF03机器人RFID分拣实训系统

    ZN-IRF03机器人RFID分拣实训系统一、概述ZN-IRF03机器人RFID分拣实训系统是为
    发表于 07-01 12:44

    机器人光机电一体化分拣实训系统有哪些技术参数?

    机器人光机电一体化分拣实训系统有哪些技术参数?
    发表于 07-13 06:30

    ZN-IRF02工业机器人视觉分拣实训系统 精选资料分享

    ZN-IRF02工业机器人视觉分拣实训系统一、概述ZN-IRF02机器人分拣实训系统是为了尽快的
    发表于 07-13 08:44

    一种利用计算机控制的快递分拣机器人

    技术特征:1.一种利用计算机控制的快递分拣机器人,包括分拣机器人底座(1)、分拣机器人支架(2)
    发表于 09-02 09:01

    ZN-RXB工业机器人实训系统设备概述

    ZN-RXB工业机器人实训系统(鼠标装配)一、设备概述随着现代制造业和服务业的转型升级,工业机器人在测量检验、包装、分拣处理、搬运、码垛、填装、机器
    发表于 09-02 07:27

    什么是机器人控制系统

    什么是机器人控制系统机器人的运动控制系统包含哪些方面?机器人控制系统的基本功能有哪些?
    发表于 10-11 09:38

    分拣机器人原理_分拣机器人的应用

    分拣机器人(Sorting robot),是一种具备了传感器、物镜和电子光学系统机器人,可以快速进行货物分拣
    发表于 12-21 15:30 8812次阅读

    分拣机器人的工作原理是什么?分拣机器人都有哪些优点

    机器人分拣又名分拣机器人(Sorting robot),是一种具备了传感器、物镜和电子光学系统机器人
    发表于 12-26 08:22 1907次阅读