CN114627192B - 收发快递机器人的机器视觉与Arduino控制*** - Google Patents
收发快递机器人的机器视觉与Arduino控制*** Download PDFInfo
- Publication number
- CN114627192B CN114627192B CN202210265489.XA CN202210265489A CN114627192B CN 114627192 B CN114627192 B CN 114627192B CN 202210265489 A CN202210265489 A CN 202210265489A CN 114627192 B CN114627192 B CN 114627192B
- Authority
- CN
- China
- Prior art keywords
- express
- image
- information
- arduino
- control system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000008569 process Effects 0.000 claims abstract description 14
- 230000000007 visual effect Effects 0.000 claims abstract description 13
- 238000004891 communication Methods 0.000 claims description 19
- 238000005516 engineering process Methods 0.000 claims description 17
- 241001292396 Cirrhitidae Species 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 claims description 5
- 238000005259 measurement Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 230000001629 suppression Effects 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims description 2
- 238000000605 extraction Methods 0.000 claims description 2
- 101100161752 Mus musculus Acot11 gene Proteins 0.000 claims 1
- 230000002708 enhancing effect Effects 0.000 claims 1
- 238000004806 packaging method and process Methods 0.000 claims 1
- 238000013461 design Methods 0.000 description 14
- 238000011160 research Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- IHQKEDIOMGYHEB-UHFFFAOYSA-M sodium dimethylarsinate Chemical class [Na+].C[As](C)([O-])=O IHQKEDIOMGYHEB-UHFFFAOYSA-M 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
- G06K17/0022—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device
- G06K17/0025—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device the arrangement consisting of a wireless interrogation device in combination with a device for optically marking the record carrier
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种包括视觉***和Arduino控制***;所述视觉***对快递上的单号码进行采集识别、分配地址和位置信息进行比对并将信息发送给Arduino单片机;所述Arduino控制***接收所述视觉***发送过来的地址,对信息进行字符串处理转化成对应快递所在货柜的坐标,对运动部分进行相应控制,使机器人将快递收/取到相应位置;实现一套收发快递的智能移动机器人***,将机器视觉获取快递的条码信息,检测的外形参数和单片机分配的存储地址三者信息形成取货码,输出运动控制指令。
Description
技术领域
本发明属于机器视觉与Arduino控制领域。
背景技术
随着电子商务的飞速发展,现代企业对自动化仓储管理的需求日益增加。仓储管理***能够快速运作的关键在于高效地运送且准确搬运仓库中的物品。将可以进行多目标点导航的仓储物流移动机器人引入仓储空间中,不仅可以代替人工搬运货物,有效地减少工人的劳动强度,还能提高工作效率田,因此室内定位与导航是仓储物流移动机器人研究的重点方向。
并且电商诞生以来,快递业务量特别是电商消费大军的大学生群体活跃量与日俱增,校园快递运营方亟待提高对校园快递终端的收发能力;
但就目前而言,虽然国内外对于快递机器人的视觉与Arduino控制***领域都相当重视,而且也在不断加大科研经费的投入,但已经有实质性解决具体问题的具体技术内容仍然有限。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种能实现收快递和取快递的收发快递机器人的机器视觉与Arduino控制***。
技术方案:为实现上述目的,本发明的收发快递机器人的机器视觉与Arduino控制***,包括视觉***和Arduino控制***;所述视觉***对快递上的单号码进行采集识别、分配地址和位置信息进行比对并将信息发送给Arduino单片机;所述Arduino控制***接收所述视觉***发送过来的地址,对信息进行字符串处理转化成对应快递所在货柜的坐标,对运动部分进行相应控制,使机器人将快递收/取到相应位置;
所述视觉***与Arduino控制***用无线网络通信技术进行通讯,视觉***作为服务器,Arduino控制***作为客户端,通过走TCP/IP通信协议,从而实现各终端间的信息交互。
进一步的,所述视觉***通过识别快递外包装上的一维码获取序列信息,以便建立其与快递货架一一对应的X/Y/Z空间位置关系,实现收快递;同时,将位置信息与收件人信息合成二维码,待用户实名后通过识别该二维码,即可显示目标快递位置信息,实现取快递。
进一步的,所述视觉***的HALCON相机标定是通过公式的转换推算像素坐标与实际坐标的关系,实际坐标(XW,YW,ZW)与像素坐标(u,v)的转换数学表达式为:
其中,M1为相机内部参数,包括焦距f、单个像素元的宽dy、单个像素元的高dx、图像长度的像素值u0、图像宽度的像素值v0五个参数,M2为相机外部参数,包括旋转矩阵R与平移矩阵T。
进一步的,所述视觉***的HALCON中,一维码的解码、定位被集成为一套算子;在进行图像处理前,由于光源等因素的影响,会出现对比度太低、图像模糊的情况,使用scale_image()算子以增强图像对比度。(此处公式删除)
使用emphasize()算子可以锐化其边缘,其对应的数学表达式为:
res:=round((orig-mean)*Factor)+orig
其中,res代表灰度平均值,mean代表原始灰度值;
图像与处理完成后创建条形码的模型,由于条形码模型的单一性,采用条形码的默认值,使用“create_bar_code_model()”算子创建条形码模型,并使用“find_bar_code()”算子进行条形码的识别,识别到的结果由算子:“get_string_extents()”显示;其中,“get_string_extents()”算子的第三个参数代表是否识别到内容,数值为0时代表未识别到内容,为1时代表识别到内容。
进一步的,所述视觉***中对快递外形参数信息获取首先是获取图像,获取图像后使用中值滤波与高斯滤波进行图像的预处理,通过二值化、筛选面积、区域做差方法获取到快递边框图,再通过获取XLD轮廓的方式求取快递外形的长宽像素距离。
进一步的,所述获取XLD轮廓的提取是通过计算灰度值变化的倒数来提取图像中灰度值空间方向梯度大的边、线特征的过程,对于一个连续图像函数f(x,y)梯度表示为:
获得图像边缘基本思路是:将图像使用高斯滤波器平滑滤波后,采用非极值抑制技术处理,得到图像边缘,其步骤如下:
第一,使用高斯滤波器G(x,y)平滑图像f(x,y),得到平滑图像fs(x,y):
fs(x,y)=G(x,y)×f(x,y)
第二,计算上述图像每个像素点的幅值M(x,y)和方向α(x,y):
第三,将局部最大值点设为0,细化边缘;
第四,设置高低阈值“T1”和“T2”,检测并连接边缘;
HALCON中使用canny特征的边缘算子edges sub pix(ImageReduced,Edges,‘canny’,1.1,10,20);获得轮廓后使用segment contours xld()算子进行边缘的分割;
select shape xld()算子筛选轮廓;sort contours xld()算子将筛选出来的轮廓进行排序,从左往右依次排序;这样看到线1、4为盒子的两边宽边,2、3为盒子的两条长边;使用select obj()算子将每条线进行单独存储,并使用distance cc()算子计算对应两条线之间的距离,其中,“DistanceMin”参数为两条对应线之间的最短距离,即为目标距离;
得到盒子长宽的像素值后,使用image points to worldplane()算子将像素坐标转换为世界坐标,所述image points to worldplane()算子的第一个参数为相机参数,第二个参数为相机位姿,第五个参数为计量单位,接着使用算式进行像素坐标转换为实际坐标:
SJ chang:=-chang*(2/(100/X)+0.36
其中,SJ chang为实际坐标,chang为像素坐标。
进一步的,所述Arduino控制***的Arduino单片机微控制器与所述视觉***进行通讯,驱动相关结构运动,在运动过程中,为获得机器人的安全性和稳定性,对电机运动进行速度采用增量式离散PID的闭环控制方法;根据位置式PID控制原理,机器人n-1时刻的控制量如下式:
设:Δu(n)=u(n)-u(n-1)
得到:
令为积分系数,/>为微分系数,可以将上式化简为:
Δu(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)]
这里是用用增量式离散PID控制,形成速度闭环,即计算出增量输出Pwm,即:
Pwm=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)]
在速度闭环控制***里面只使用PI控制,因此对PID公式可简化为:
Pwm=Kp[e(n)-e(n-1)]+Kie(n)
式中:e(k)为本次偏差,e(n-1)为上一次偏差,e(n-2)为上上次偏差,Pwm为代表增量输出,T为采样周期,n为离散变量;基于Arduino单片机对电机的转速进行控制编程,利用速度闭环进行反馈调节,以使各个电机速度一致,从而确保机器人在运动过程中的安全性和稳定性。
有益效果:本发明的运用Halcon机器视觉技术和Arduino单片机自动控制技术,设计并实现一套收发快递的智能移动机器人***,将机器视觉获取快递的条码信息,检测的外形参数和单片机分配的存储地址三者信息形成取货码,输出运动控制指令。结果表明:移动机器人根据收到的存储地址和用户扫码后反馈的条码信息,实现收快递和取快递。通过多次重复实验测试,验证了本设计的可行性,具有广泛的应用场景;本设计基于机器视觉和Arduino单片机微控制技术的快递机器人运动控制器,针对快递单识别、运载控制器和机器视觉等技术进行了深入的研究,具有一定的学术价值和实际应用价值,研究成果不仅限于快递分拣领域,对相关领域或技术也有一定的参考意义。
附图说明
附图1为控制***设计方案;
附图2为标定板图像示意图;
附图3为一维、二维码识别过程
附图4为求解快递外形参数流程;
附图5为上位机通讯流程;
附图6为运动控制***设计;
附图7为电机PID闭环控制过程;
附图8为串口通讯测试界面。
具体实施方式
下面结合附图1至8对本发明作更进一步的说明。
1收发快递机器人方案设计
基于Arduino单片机设计了快递收发移动机器人控制***,创新性地将传感器技术、无线网络通信技术、视觉技术、计算机软件开发技术运用到智能快递收发移动机器人的***设计中;快递收发移动机器人控制***的总体设计方案如图2所示。
该***主要由视觉***和Arduino控制***组成。视觉***的主要功能是对快递上的单号码进行采集识别,并为其分配地址和位置信息进行比对并将其信息发送给Arduino单片机。Arduino控制***的主要功能是接收视觉***发送过来的地址,对信息进行字符串处理转化成对应快递所在货柜的坐标,对运动部分进行相应控制,使其机器人将快递收/取到相应位置。两者用无线网络通信技术进行通讯,视觉***作为服务器,Arduino控制***作为客户端,通过走TCP/IP通信协议,从而实现各终端间的信息交互。用户可以通过PC端软件对视觉部分进行控制。
2视觉***设计
本***通过识别快递外包装上的一维码获取序列信息,以便建立其与快递货架一一对应的X/Y/Z空间位置关系,实现收快递。同时,将位置信息与收件人信息合成二维码,待用户实名后通过识别该二维码,即可显示目标快递位置信息,实现取快递。
2.1相机的标定
相机标定的作用主要是将像素坐标转化为实际坐标,而HALCON的标定过程是为了获得相机的内部参数与外部参数,从而通过公式的转换推算像素坐标与实际坐标的关系,实际坐标(XW,YW,ZW)与像素坐标(u,v)的转换数学表达式为:
其中,M1为相机内部参数,包括焦距f、单个像素元的宽dy、单个像素元的高dx、图像长度的像素值u0、图像宽度的像素值v0五个参数,M2为相机外部参数,其包括旋转矩阵R与平移矩阵T。
在HALCON中,相机的标定需要获得标定板文件,使用gen_caltab()算子可以获得标定板数据文件与标定板图像文件,如图2,其中,该算子第一个与第二个参数分别表示每行和每列的原点标记的数量,第三个参数表示每两个MARK点之间的距离,单位为米,第四个参数表示MARK点的直径,第五个第六个参数分别代表标定板文件存放位置与图像的存放位置。
标定板文件准备好后进行含有标定板的图像的采集,图像采集的要求是图片清晰、标定板不允许遮挡、有污点,每个MARK点都要清晰可见,采集的图片效果最终会影响图像的精度,同时为了保证采集的准确性,需多次采图,并将标定板进行旋转、平移进行全图的标定。
获得的内部参数如表1所示,外部参数如表2所示:
表1相机标定内部参数
表2相机标定外部参数
2.2一维、二维码识别(如图3)
在HALCON当中,一维码的解码、定位被集成为一套算子;在进行图像处理前,由于光源等因素的影响,会出现对比度太低、图像模糊的情况,使用scale_image()算子以增强图像对比度。(此处公式删除)
而使用emphasize()算子可以锐化其边缘,其对应的数学表达式为:
res:=round((orig-mean)*Factor)+orig
其中,res代表灰度平均值,mean代表原始灰度值。
图像与处理完成后创建条形码的模型,由于条形码模型的单一性,本文采用条形码的默认值,使用“create_bar_code_model()”算子创建条形码模型,并使用“find_bar_code()”算子进行条形码的识别,识别到的结果由算子:“get_string_extents()”显示;其中,“get_string_extents()”算子的第三个参数代表是否识别到内容,数值为0时代表未识别到内容,为1时代表识别到内容。
2.3获取快递外形参数
快递外形参数信息获取首先依旧是获取图像,获取图像后使用中值滤波与高斯滤波进行图像的预处理,通过二值化、筛选面积、区域做差等方法获取到快递边框图,再通过获取XLD轮廓的方式求取快递外形的长宽像素距离,获取快递外形宽高信息同样适用此方法,流程如图4所示。
为确保盒子外形测量结果的准确,接下来将盒子边缘图像获取XLD轮廓(亚像素边缘,Extended Line Descriptions),轮廓的提取是通过计算灰度值变化的倒数,来提取图像中灰度值空间方向梯度大的边、线特征的过程,对于一个连续图像函数f(x,y)梯度表示为:
获得图像边缘基本思路是:将图像使用高斯滤波器平滑滤波后,采用非极值抑制技术处理,得到图像边缘,其步骤如下:
第一,使用高斯滤波器G(x,y)平滑图像f(x,y),得到平滑图像fs(x,y):
fs(x,y)=G(x,y)×f(x,y)
第二,计算上述图像每个像素点的幅值M(x,y)和方向α(x,y):
第三,将局部最大值点设为0,细化边缘。
第四,设置高低阈值“T1”和“T2”,检测并连接边缘。
HALCON中使用canny特征的边缘算子edges_sub_pix(ImageReduced,Edges,‘canny’,1.1,10,20)。获得轮廓后使用segment_contours_xld()算子进行边缘的分割;
select_shape_xld()算子筛选轮廓;sort_contours_xld()算子将筛选出来的轮廓进行排序,从左往右依次排序。这样我们可以看到线1、4为盒子的两边宽边,2、3为盒子的两条长边。使用select_obj()算子将每条线进行单独存储,并使用distance_cc()算子计算对应两条线之间的距离,其中,“DistanceMin”参数为两条对应线之间的最短距离,即为我们需要的距离。
得到盒子长宽的像素值后,在程序下方引入之前的标定数据,并使用image_points_to_world_plane()算子将像素坐标转换为世界坐标,其中,该算子第一个参数为相机参数,第二个参数为相机位姿,第五个参数为计量单位,一般选mm,即100个像素尺寸实际长为X个mm,接着使用算式进行像素坐标转换为实际坐标:
SJ_chang:=-chang*(2/(100/X)+0.36
其中,SJ_chang为实际坐标,chang为像素坐标。
2.4上位机开发
上位机程序的执行顺序首先是登录窗口输入账号密码进入主界面,在主界面可以选择存快递、取快递、通讯调试、后台快递存放内容查看四种界面;若想要程序正常进行,需先进入通讯调试界面设置端口号与波特率打开串口通讯,其中,通讯调试与后台快递存放内容查看四种界面想要进入时需提供后台权限密码,密码正确才能进入;存快递界面打开后放入快递执行相应程序;取快递界面打开后可选择使用扫描二维码扫描或手动输入快递信息两种取快递方式,上位机分别收到信息后进行信息匹配并根据匹配结果发出不同指令,具体识别流程图如图5所示。
3运动控制***设计
本设计的快递收发移动机器人采用Arduino单片机微控制器与机器视觉***进行通讯,驱动相关结构运动,如图6所示。在运动过程中,为获得机器人的安全性和稳定性,对电机运动进行速度采用增量式离散PID的闭环控制方法。控制结构图如图7所示。
根据位置式PID控制原理,机器人n-1时刻的控制量:
设:Δu(n)=u(n)-u(n-1)
得到:
令为积分系数,/>为微分系数,可以将上式化简为:
Δu(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)]
这里是用用增量式离散PID控制,形成速度闭环,即计算出增量输出Pwm,即:
Pwm=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)]
在速度闭环控制***里面只使用PI控制,因此对PID公式可简化为:
Pwm=Kp[e(n)-e(n-1)]+Kie(n)
式中:e(k)为本次偏差,e(n-1)为上一次偏差,e(n-2)为上上次偏差,Pwm为代表增量输出,T为采样周期,n为离散变量。
基于Arduino单片机对电机的转速进行控制编程,利用速度闭环进行反馈调节,以使各个电机速度一致,从而确保机器人在运动过程中的安全性和稳定性。
4测试
4.1外形尺寸与位置
本设计视觉***经标定后,获取到的图像经预处理流程得到的像素值和转换后的实际长度如表3所示。
表3外形尺寸测定
4.2串口通讯(如图8)
串口的调用需要声明一个全局串口,在串口类的下面声明全局串口:“publicstatic SerialPort serialPort1=new SerialPort();”其中,“serialPort1”为全局串口的串口名。
串口的打开需要设置串口的端口号(PortName)、波特率(BaudRate)、校验位(Parity)、数据位(DataBits)、停止位(StopBits),其中,校验位、数据位、停止位默认参数分别为:“System.IO.Ports.Parity.None”、“8”、“System.IO.Ports.StopBits.One”;端口号与波特率由实际情况在设置通讯后台界面进行设置与串口的链接。数据的发送有数值模式与字符模式两种模式,本文因发送字符给单片机,遂采用较为简便的字符模式,使用“serialPort1.WriteLine(fasong);”代码进行数据的发送,其中,“serialPort1”为使用的串口名称,“fasong”为定义的需要发送的内容。
4.3收发快递测试
当用户发出取快递指令后,触发觉***和Arduino微控***启工作,机器人执行收快递至货架和从货架取快递至指定位置。
5结语
本研究运用Halcon机器视觉技术和Arduino单片机自动控制技术,设计并实现一套收发快递的智能移动机器人***,将机器视觉获取快递的条码信息,检测的外形参数和单片机分配的存储地址三者信息形成取货码,输出运动控制指令。结果表明:移动机器人根据收到的存储地址和用户扫码后反馈的条码信息,实现收快递和取快递。通过多次重复实验测试,验证了本设计的可行性,具有广泛的应用场景。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (1)
1.收发快递机器人的机器视觉与Arduino控制***,其特征在于:包括视觉***和Arduino控制***;所述视觉***对快递上的单号码进行采集识别、分配地址和位置信息进行比对并将信息发送给Arduino单片机;所述Arduino控制***接收所述视觉***发送过来的地址,对信息进行字符串处理转化成对应快递所在货柜的坐标,将机器视觉获取快递的条码信息、检测的外形参数和单片机分配的存储地址三者信息形成取货码,输出运动控制指令;对运动部分进行相应控制,使机器人将快递收/取到相应位置;
所述视觉***与Arduino控制***用无线网络通信技术进行通讯,视觉***作为服务器,Arduino控制***作为客户端,通过走TCP/IP通信协议,从而实现各终端间的信息交互;
基于Arduino单片机对电机的转速进行控制编程,利用速度闭环进行反馈调节,以使各个电机速度一致,从而确保机器人在运动过程中的安全性和稳定性;
所述视觉***的HALCON相机标定是通过公式的转换推算像素坐标与实际坐标的关系,实际坐标(XW,YW,ZW)与像素坐标(u,v)的转换数学表达式为:
其中,M1为相机内部参数,包括焦距f、单个像素元的宽dy、单个像素元的高dx、图像长度的像素值u0、图像宽度的像素值v0五个参数,M2为相机外部参数,包括旋转矩阵R与平移矩阵T;
所述视觉***的HALCON中,一维码的解码、定位被集成为一套算子;在进行图像处理前,由于光源因素的影响,会出现对比度太低、图像模糊的情况,使用scale_image()算子以增强图像对比度;
所述视觉***中对快递外形参数信息获取首先是获取图像,获取图像后使用中值滤波与高斯滤波进行图像的预处理,通过二值化、筛选面积、区域做差方法获取到快递边框图,再通过获取XLD轮廓的方式求取快递外形的长宽像素距离;
所述获取XLD轮廓的提取是通过计算灰度值变化的倒数来提取图像中灰度值空间方向梯度大的边、线特征的过程,对于一个连续图像函数f(x,y)梯度表示为:
获得图像边缘基本思路是:将图像使用高斯滤波器平滑滤波后,采用非极值抑制技术处理,得到图像边缘,其步骤如下:
第一,使用高斯滤波器G(x,y)平滑图像f(x,y),得到平滑图像fs(x,y):
fs(x,y)=G(x,y)×f(x,y)
第二,计算上述图像每个像素点的幅值M(x,y)和方向α(x,y):
第三,将局部最大值点设为0,细化边缘;
第四,设置高低阈值“T1”和“T2”,检测并连接边缘;
HALCON中使用canny特征的边缘算子edges sub pix(ImageReduced,Edges,‘canny’,1.1,10,20);获得轮廓后使用segment contours xld()算子进行边缘的分割;
select shape xld()算子筛选轮廓;sort contours xld()算子将筛选出来的轮廓进行排序,从左往右依次排序;这样看到线1、4为盒子的两边宽边,2、3为盒子的两条长边;使用select obj()算子将每条线进行单独存储,并使用distance cc()算子计算对应两条线之间的距离,其中,“DistanceMin”参数为两条对应线之间的最短距离,即为目标距离;
得到盒子长宽的像素值后,使用image points to world plane()算子将像素坐标转换为世界坐标,所述image points to world plane()算子的第一个参数为相机参数,第二个参数为相机位姿,第五个参数为计量单位,接着使用算式进行像素坐标转换为实际坐标:
SJ chang:=-chang*(2/(100/X)+0.36
其中,SJ chang为实际坐标,chang为像素坐标;
所述Arduino控制***的Arduino单片机微控制器与所述视觉***进行通讯,驱动相关结构运动,在运动过程中,为获得机器人的安全性和稳定性,对电机运动进行速度采用增量式离散PID的闭环控制方法;根据位置式PID控制原理,机器人n-1时刻的控制量如下式:
设:Δu(n)=u(n)-u(n-1)
得到:
令为积分系数,/>为微分系数,将上式化简为:
Δu(n)=Kp[e(n)e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)]
这里是用用增量式离散PID控制,形成速度闭环,即计算出增量输出Pwm,即:
Pwm=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)]
在速度闭环控制***里面只使用PI控制,因此对PID公式可简化为:
Pwm=Kp[e(n)-e(n-1)]+Kie(n)
式中:e(k)为本次偏差,e(n-1)为上一次偏差,e(n-2)为上上次偏差,Pwm为代表增量输出,T为采样周期,n为离散变量;
所述视觉***通过识别快递外包装上的一维码获取序列信息,以便建立其与快递货架一一对应的X/Y/Z空间位置关系,实现收快递;同时,将位置信息与收件人信息合成二维码,待用户实名后通过识别该二维码,即显示目标快递位置信息,实现取快递;
上位机程序的执行顺序首先是登录窗口输入账号密码进入主界面,在主界面选择存快递、取快递、通讯调试、后台快递存放内容查看四种界面;若想要程序正常进行,需先进入通讯调试界面设置端口号与波特率打开串口通讯,其中,通讯调试与后台快递存放内容查看四种界面想要进入时需提供后台权限密码,密码正确才能进入;存快递界面打开后放入快递执行相应程序;取快递界面打开后选择使用扫描二维码扫描或手动输入快递信息两种取快递方式,上位机分别收到信息后进行信息匹配并根据匹配结果发出不同指令;
当用户发出取快递指令后,触发觉***和Arduino微控***启工作,机器人执行收快递至货架和从货架取快递至指定位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210265489.XA CN114627192B (zh) | 2022-03-17 | 2022-03-17 | 收发快递机器人的机器视觉与Arduino控制*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210265489.XA CN114627192B (zh) | 2022-03-17 | 2022-03-17 | 收发快递机器人的机器视觉与Arduino控制*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114627192A CN114627192A (zh) | 2022-06-14 |
CN114627192B true CN114627192B (zh) | 2024-04-02 |
Family
ID=81901522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210265489.XA Active CN114627192B (zh) | 2022-03-17 | 2022-03-17 | 收发快递机器人的机器视觉与Arduino控制*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114627192B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787407A (zh) * | 2016-02-02 | 2016-07-20 | 浙江科技学院 | 融合机器视觉与激光扫描的快递条码自动识别方法及*** |
CN107053185A (zh) * | 2016-09-06 | 2017-08-18 | 南昌大学 | 一种基于stm32机器人的货架快递智能取发*** |
CN109785317A (zh) * | 2019-01-23 | 2019-05-21 | 辽宁工业大学 | 自动码垛桁架机器人的视觉*** |
CN110580725A (zh) * | 2019-09-12 | 2019-12-17 | 浙江大学滨海产业技术研究院 | 一种基于rgb-d相机的箱体分拣方法及*** |
CN111604909A (zh) * | 2020-06-24 | 2020-09-01 | 辽宁工业大学 | 一种四轴工业码垛机器人的视觉*** |
CN112651257A (zh) * | 2020-12-23 | 2021-04-13 | 福建新大陆支付技术有限公司 | 一种二维码、条形码图像定位及识别方法及其存储介质 |
CN113231319A (zh) * | 2021-03-16 | 2021-08-10 | 哈尔滨理工大学 | 一种基于agv小车的智能分拣*** |
CN114047750A (zh) * | 2021-10-26 | 2022-02-15 | 南京理工大学 | 一种基于移动机器人的快递入库方法 |
-
2022
- 2022-03-17 CN CN202210265489.XA patent/CN114627192B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787407A (zh) * | 2016-02-02 | 2016-07-20 | 浙江科技学院 | 融合机器视觉与激光扫描的快递条码自动识别方法及*** |
CN107053185A (zh) * | 2016-09-06 | 2017-08-18 | 南昌大学 | 一种基于stm32机器人的货架快递智能取发*** |
CN109785317A (zh) * | 2019-01-23 | 2019-05-21 | 辽宁工业大学 | 自动码垛桁架机器人的视觉*** |
CN110580725A (zh) * | 2019-09-12 | 2019-12-17 | 浙江大学滨海产业技术研究院 | 一种基于rgb-d相机的箱体分拣方法及*** |
CN111604909A (zh) * | 2020-06-24 | 2020-09-01 | 辽宁工业大学 | 一种四轴工业码垛机器人的视觉*** |
CN112651257A (zh) * | 2020-12-23 | 2021-04-13 | 福建新大陆支付技术有限公司 | 一种二维码、条形码图像定位及识别方法及其存储介质 |
CN113231319A (zh) * | 2021-03-16 | 2021-08-10 | 哈尔滨理工大学 | 一种基于agv小车的智能分拣*** |
CN114047750A (zh) * | 2021-10-26 | 2022-02-15 | 南京理工大学 | 一种基于移动机器人的快递入库方法 |
Non-Patent Citations (3)
Title |
---|
崔子鹏.基于Arduino 的条形码扫描***.《电子技术与软件工程》.2018,(第1期),95-97. * |
陆亮.《数值分析典型应用案例及理论分析 下》.2019,7-8. * |
高茂源.基于HALCON的机械零件尺寸快速精密测量.《机电工程技术》.2020,第49卷(第3期),71-74,127. * |
Also Published As
Publication number | Publication date |
---|---|
CN114627192A (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3138243C (en) | Tracking vehicles in a warehouse environment | |
CN111553949B (zh) | 基于单帧rgb-d图像深度学习对不规则工件的定位抓取方法 | |
CN110910350B (zh) | 一种用于风电塔筒的螺母松动检测方法 | |
CN107362987A (zh) | 一种基于视觉的机器人分拣方法及*** | |
CN111582123B (zh) | 一种基于信标识别与视觉slam的agv定位方法 | |
CN108345912A (zh) | 一种基于rgbd信息与深度学习的商品快速结算*** | |
CN109767431A (zh) | 零件外观缺陷检测方法、装置、设备及可读存储介质 | |
CN113050636A (zh) | 一种叉车自主拾取托盘的控制方法、***及装置 | |
CN111496786A (zh) | 一种基于点云模型规划机械臂作业加工轨迹方法 | |
CN114241269A (zh) | 一种用于岸桥自动控制的集卡视觉融合定位*** | |
CN113689509A (zh) | 基于双目视觉的无序抓取方法、***及存储介质 | |
Lukyanov et al. | Optical Method For Monitoring Tool Control For Green Burnishing With Using Of Algorithms With Adaptive Settings | |
CN114627192B (zh) | 收发快递机器人的机器视觉与Arduino控制*** | |
CN207976755U (zh) | 一种基于机器视觉和plc的钢材仓储控制*** | |
CN207503007U (zh) | 一种基于图像识别的轮毂自动输送控制*** | |
CN111168674A (zh) | 基于ccd定位***的测试卡组装方法 | |
CN115055806B (zh) | 基于视觉跟踪的焊接轨迹跟踪方法及装置 | |
CN111136011A (zh) | 基于机器视觉识别***的物料分拣方法 | |
CN113731860B (zh) | 一种容器内堆积物件自动分拣***及方法 | |
CN114757218A (zh) | 一种棒材信息识别方法、装置、设备及介质 | |
CN115019202A (zh) | 一种应用于服务型移动机械臂的分步式抓取检测方法 | |
Feng et al. | Research on disorderly grasping system based on binocular vision | |
CN113689438A (zh) | 针对果粒边缘的葡萄果粒分割方法 | |
Rahmani et al. | A Hybrid Method for Window Detection on High Resolution Facade Images | |
Wang et al. | RASCAL: Robotic Arm for Sherds and Ceramics Automated Locomotion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |