CN116991162A - 一种非巡线机器人自主定位视觉识别方法 - Google Patents
一种非巡线机器人自主定位视觉识别方法 Download PDFInfo
- Publication number
- CN116991162A CN116991162A CN202310866247.0A CN202310866247A CN116991162A CN 116991162 A CN116991162 A CN 116991162A CN 202310866247 A CN202310866247 A CN 202310866247A CN 116991162 A CN116991162 A CN 116991162A
- Authority
- CN
- China
- Prior art keywords
- robot
- image
- contour
- bar code
- warehouse
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000000007 visual effect Effects 0.000 title claims abstract description 19
- 238000007689 inspection Methods 0.000 title claims description 19
- 238000001914 filtration Methods 0.000 claims abstract description 16
- 238000001514 detection method Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 11
- 230000007797 corrosion Effects 0.000 claims abstract description 9
- 238000005260 corrosion Methods 0.000 claims abstract description 9
- 230000009466 transformation Effects 0.000 claims abstract description 4
- 239000003086 colorant Substances 0.000 claims abstract 2
- 240000007651 Rubus glaucus Species 0.000 claims description 9
- 235000011034 Rubus glaucus Nutrition 0.000 claims description 9
- 235000009122 Rubus idaeus Nutrition 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 9
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 4
- 230000002146 bilateral effect Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000003708 edge detection Methods 0.000 claims description 3
- 238000005728 strengthening Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 2
- 230000009977 dual effect Effects 0.000 claims 1
- 230000004927 fusion Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000011065 in-situ storage Methods 0.000 abstract 1
- 238000005457 optimization Methods 0.000 abstract 1
- 230000004069 differentiation Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1413—1D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种非巡线物流分拣机器人自主定位视觉识别方法,通过陀螺仪、编码器以及卡尔曼滤波对机器人坐标进行精准定位,基于标识与摄像头对机器人进行位置、角度校准,通过PID闭环算法,实现机器人路径规划与横向前进、纵向前进和原地旋转三个自由度的准确控制,通过准确控制四个电机转动的角度来实现对机器人运动路径的实现,便于行动路线的优化与改进;在Opencv中通过图像滤波,二值化处理,腐蚀膨胀,开闭运算,霍夫变换,轮廓检测,多边形拟合,占空比计算,二维码、条形码识别等步骤实现对不同标识、不同颜色、大小、形状物体的识别。本方法可自行规划路径、应对未知障碍物或对向行驶的机器人、减小机器人运动偏差,显著提高了机器分拣的效率与质量。
Description
技术领域
本发明涉及机器人精准定位系统,尤其涉及一种非巡线机器人自主定位视觉识别方法。
背景技术
上世纪60年代,应用于工业领域的机器人诞生,自此机器人产业发展迅猛,在家具、电子、物流等行业都有了广泛的应用。工业机器人的出现显著提高了生产效率,减轻了工人工作强度,并且能够应用到一些人力所不能及的环境,彻底改变了人们对传统工业生产的认识。
但随着物流业的迅猛发展,人们对机器人的要求也越来越高,希望机器人能够实现高度自动化与智能化。该项目就是基于这样一种发展趋势而立,针对物流产业中的视觉识别、运输、分拣等环节进行研究。使得能够达到提高分拣机器人分拣效率与自动化程度的目的。
现有技术具有代表性的如申请号为201711047477.5的中国发明专利“移动机器人定位方法、装置及移动机器人”、申请号为202211244339.7的中国发明专利“一种基于视觉识别的机器人分拣规划方法及规划设备”、申请号为201911058681.6的中国发明专利“一种AGV导航角度补偿方法、系统、AGV及存储介质”、申请号为201610342208.0的“一种物品识别方法及装置”、申请号为201911002399.6的“基于实时更新地图的AGV定位方法、装置及系统”以及申请号为202111036426.的“巡线车控制方法及巡线”、申请号为202210837414.4的“智能分拣机器人、控制方法及其机械臂逆解运算方法”。
然而,上述现有技术仍存在以下不足:
1、机器人运动控制问题:当前机器人多为巡线机器人,行驶路线单一,不够灵活,不利于分配任务、增大场地空间利用率、规划路径以及避障处理。传统机器人未考虑行走时可能存在的角度偏差与位置角度调整问题,可能使行驶结果不准确。传统方法依赖单一传感器,如果某个传感器出现故障,则可能带来难以纠正的错误。
2、机器人路径规划问题:寻找最短路径所需运算量大,且一味追求路径最短可能使机器人所需的转向次数增多,反而延长行驶时间。由服务器规划路径再发布给机器人,可能会带来大量的数据交换或积压多个分拣任务,降低效率。
3、机器人位置、角度调整问题:以地上的二维码进行角度补偿,位置调整,但地上的标识容易脏或破损,且二维码识别对道路的颜色,摄像头的精度、高度、角度,环境的光照情况以及标识自身的大小都有要求。且标志在地上,如果增多标记数量,则会使标记过密,带来其他问题。
4、识别物品时需要将先将物品放在有标识的操作台上,效率低,对物体形状,大小,位置,姿态的容忍度低,当物品上无二维码或条形码,则依赖于包装上的文字,但现如今很多快递或商品的包装上并无文字信息或有很多文字且文字大小不一,难以从中提取有用信息。
5、动态分拣时的二维码识别问题:因摄像头角度与物品位置问题,拍摄到的图像存在干扰且二维码多为梯形,并非标准形状,不经调整直接识别,二维码识别效率底下。
因此,如何克服以往方法中的缺陷,开发一种切实可行的非巡线物流分拣机器人自主定位视觉识别方法即成为了本领域技术人员亟待解决的技术问题。
发明内容
为解决上述问题,本发明公开了及一种非巡线物流分拣机器人自主定位视觉识别方法,多样化视觉识别,智能物体分拣。它与传统机器相比,有更准确的定位与方向检测装置,分级PID调节,超声波测距避障,并且对要分拣物件的外观、位置、姿态等状况具有更高的容忍度,显著提高了机器分拣的效率与质量。
本发明的技术方案为:一种非巡线物流分拣机器人自主定位视觉识别方法,包括以下步骤:
S1、机器人从出发点前往目的地:
S1.1、将陀螺仪安装于底盘转动中心处,带编码器的直流电机,使用STM32芯片接受编码器产生的脉冲信号与陀螺仪角速度信息。通过编码器发出的脉冲数与AB相的相位关系可知每个轮子的转动方向,转动圈数,转动角度,结合轮子的相关参数,可以大致得到机器人的运动方向改变量,精准得到机器人的运动距离;通过陀螺仪可知机器人角速度,对角速度进行积分,可得到机器人运动方向,以卡尔曼滤波对两组数据进行数据融合,能精准算得机器人的运动角度以及与目标方向之间的偏差。在运动中,将机器人的实际位置,姿态与预期到达的终点位置,姿态间的偏差进行PID控制,并根据运行距离的不同选择不同的PID值。
S1.2、在机器人的四角沿边线各安装两个超声波传感器,并依此判断机器人运行方向的前方是否有障碍物,若有障碍物,根据障碍物与机器人的距离,与目标终点的距离,障碍物静止与否做出相应应对。规划路径时为使机器人尽量走直线,减少方向改变次数,选用深度优先的策略,并根据情况调整优先方向。
S2、机器人识别并分拣静止的物品:
S2.1、机器人到达目标点后,使机械臂运行至某固定姿态并保持摄像头的俯仰角不变,拍摄图像并在树莓派中进行图像处理。将拍摄的图像复制,对复制的图像进行大小调整,转化为LAB图并进行高斯滤波去噪。
S2.2、对处理后的图像进行阈值化并使用腐蚀膨胀、开闭运算除去孤立的小点,毛刺,或填平物体内的裂缝、间断。可提前准备图片,选定感兴趣区域,并将该图中感兴趣区域设为白色,其余黑色,然后将该图与处理后的黑白图像进行与操作,就可在图中选出特定区域。对处理后的黑白图像进行轮廓检索,筛选大小合适的轮廓以去除噪声。选择其中面积最大的轮廓并得到包围该轮廓的最小矩形的四个顶点的坐标。
S2.3、根据矩形框四个顶点的坐标,得到矩形框的中心点坐标,根据矩形框中心点的横坐标与图像中心点横坐标的差值进行PID调节,沿平台方向移动小车使矩形框中心点出现在摄像头拍摄图片的中央。估算物体与机器人的距离,并依此判断机械臂是否能到达物体所在位置。若无法到达,机器人向平台方向移动固定距离,重新判断,直至可以达到。
S2.4、计算封闭轮廓周长,根据该数值选定精度,使用Douglas-Peucker算法进行轮廓近似,得到顶点个数,同时根据外接矩形长宽比以及物体面积与外接矩形面积的比值确定物体形状。
S2.5、根据物体形状确定物体面数,对物体上表面进行条形码检测,并根据条形码检测结果进行分拣,若此面未检测到条形码,则用机械臂将物体翻转检测另一面,若已经检测过所有面仍未检测到条形码,则根据物体的形状、面积、颜色与大小分拣物体。
S3、机器人识别并分拣传送带上的物品
S3.1、机器人到达目标点后,使机械臂运行至某固定姿态并保持摄像头的俯仰角不变,拍摄图像并在树莓派中进行图像处理。将拍摄的图像复制,对复制的图像进行大小调整,转化为LAB图并进行高斯滤波去噪。
S3.2、双线程操作,主线程:对处理后的图像进行阈值化并进行腐蚀膨胀、开闭运算。选择其中面积最大的轮廓并得到包围该轮廓的最小矩形的四个顶点的坐标以及物体的颜色信息。在轮廓中心点达到位置范围后根据此刻物品轮廓角点的坐标获得物体的位置信息选择执行不同的固定动作组将物体从传送带上拨下。
S3.3、子线程:对图片进行对比度、亮度调整、灰度转化并采用双边滤波的方法进行滤波降噪,复制图片,对二维码/条形码进行反二值化强化边界,并对图像进行腐蚀操作膨胀,从而将整个二维码/条形码区域变成一个纯白的四边形。利用Canny算子进行四边形边缘检测,并利用Hough算子对轮廓边缘线进行近似拟合,算法处理所得直线,最后保留的四条直线为边界线,计算出它们的交点,按照顶点顺序对去噪后的原灰度图进行仿射变换与二值化,从而获取规则的二维码/条形码图像并识别此图像。若识别到原来二维码/条形码,根据识别结果控制滑道底部仓库的挡板开闭以使物体滑入正确的仓库,若未识别到二维码/条形码,则根据颜色信息将物品入库。
S4、机器人完成分拣后行进至仓库区的不同位置,在仓库前完成位置校准,arduino控制打开机器人上仓库的挡板使物品进入不同的仓库区。
S5、处于同一局域网内的电脑与树莓派信息交互,机器人向电脑发送被分拣物体信息使电脑录入,并发送地图信息;电脑记录任务已完成并向机器人发布新分拣任务,同时,比对地图,若发现地图有变化,则通知工作人员前去查看原因,若为物件掉落或其他原因,则处理障碍物,若确实为地图有变动,则经工作人员确认后向机器人发送新地图。
本发明的有益效果是:
1.不同于传统的巡线机器人,机器人为非巡线机器人,行驶路径多样化。行驶过程中,不同于传统方法简单地通过调节两边轮子转速使小车直线行驶或拐弯,不够准确,机器人使用PID控制器与航向角相结合使机器人可以多方向直线行驶。且航向角的计算并不依赖于单一传感器,而是通过卡尔曼滤波器将多传感器数据融合的结果,更加稳定准确。
2.机器人通过选择优先方向,优先加深节点展开深度的策略自行规划路径,规划的路径简单、效率高。且可根据地形随时调整规划,适应性强。有利于避障和快速完成任务,可以应对多种情况。
3.在到达仓库区时机器人会根据标识进行位置判断与位置角度调整,标识并非贴在地上而是贴在墙上或货架上,不易损坏,且可有利于增多标志个数。
4.静态分拣时、机器人可以自行分拣位于不同地方的物品且对物品的位置、形状,位姿容忍度高。动态分拣时机器人可自行通过仿射变化调整二维码图像,有利于精确快速地识别物品标签信息。
附图说明
图1:本发明的整体流程图;
图2:非巡线行驶流程图;
图3:对应障碍物的流程图;
图4:路径搜索方法图;
图5:静止物品分拣流程;
图6:动态物品分拣流程图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。需要说明的是,下面描述中使用的词语“前”、“后”、“左”、“右”、“上”和“下”指的是附图中的方向,词语“内”和“外”分别指的是朝向或远离特定部件几何中心的方向。
为能清楚说明本专利的技术特点,下面通过具体实施方式,并结合其附图,对本专利进行详细阐述。
S1.1中如图2所述,建立全局坐标系,坐标系中无障碍物的位置设置为0,有障碍物的位置设置为1,后续行驶时,若某位置存在固定的障碍物,也将该位置设置为1。设机器人初始坐标为(0,0),当前陀螺仪读数为θ,最终目标坐标为(xend,yend),因为使用的是麦克纳姆轮,则优先使机器人向正前,正右或正左,正后行驶。设(0,ybar)到(xbar,ybar)处有障碍,机器人的阶段性终点为[(0,ybar-Δy),(xbar+Δx,ybar-△y),(xbar+Δx,yend),(xend,yend)],此处的Δx、Δy为提前量。STM32每隔一段微小的时间记录一次数据,以机器人机械中心为原点建立坐标系,由编码器可以得到一定时间内四个轮子转过的圈数与方向,结合轮子参数,从而得到每个轮子理论运行的(Δxn,Δyn),进而得到机器人中心在这段时间内行进的路程 d分别为轮子机械中心与原点连线关于x轴的角度与距离,/>则这段时间内轮子的旋转角度可由得到,又由陀螺仪积分可得到机器人与坐标系角度θ1,采用卡尔曼滤波器将陀螺仪与编码器测得的数据进行融合。先对卡尔曼滤波器进行系统初始化,以Δθ1为输入控制量,结合机器人上个周期的偏转角预测此时的偏转角与误差协方差,以θ1做为实际测量值,计算卡尔曼增益并得到偏转角观测值θ,然后对系统进行更新并循环往复。由此可准确得到机器人此时的朝向θ,则机器人位置的实际改变量为(x,y)=(Δxcosθ-Δysinθ,Δycosθ+Δxsinθ)),根据此数计算,可知其与最终坐标的差(xdif,ydif)。
如图3所述,设朝向运动方向的超声波传感器检测得与前方障碍物的距离为d,设当前向y方向前进,则可由此计算得到障碍物纵坐标ybar,当d小于前进方向剩余距离时,ye=ydif-(yend-ybar)-Δy,Δy为提前量,使机器人停在障碍物前一定位置;当d小于设定值dmax大于前进方向剩余距离时,ye=ydif[1-γ*ydif(ybar-yend)],且初始时应有γ*ydif(ybar-yend)小于1,可使机器人适当减速,以防障碍物位置改变使机器人来不及停止,为停止运动做准备;当d大于设定值dmax且大于前进方向剩余距离时ye=ydif。根据路径距离调整PID参数,将(xe,ye,θ)用PID处理并叠加后,可用于控制机器人运动。为减少超调与震荡,准备多套PID参数,根据离目标点的远近选择参数,使PID分级。控制电机运动采用PWM渐进速度控制,四个电机控制四个轮胎,每个电机都记录当前值和期望值,将其比较后,利用对数值求导的方式,设置渐进步长和总的渐变次数,对期望值进行不断的逼近,每逼近一次利用封装好的函数进行对定时器进行设置,改变后重新赋值,进入下一次比较。因此实现了速度的控制和渐变。
S1.2中如图3所述若超声波传感器检测到存在障碍物,则多次检测,并根据机器人的位置与传感器收到的返回值得到障碍物在坐标系中的位置(xbar,ybar)。期间如S1.1中所述,对机器人运动的剩余距离进行调整,为抑制积分饱和,减小超调,在此过程中调节时使用变速积分的PID算式。检测够一定次数后,根据期间检测得到的值进行判断,若障碍物位置始终几乎不变且在目的地之前,则可认为障碍物静止且为地图上新出现的障碍物,将该位置标记为1,机器人停在(xbar,ybar-Δy)处,并开始进行避障;若障碍物位置改变且在地图上的位置与机器人的运动方向相反,则判断为有其它机器人对向行驶,则机器人立即停止运动,记录此时对向机器人位置,并向方才运动方向右侧运动至传感器显示两机器人错开,再重新向前至纵坐标为方才停止时记录的另一个机器人的位置,重新规划路径运动;若中途障碍物消失,则将阶段性终点改回(0,y)。避障时机器人停在障碍物前一段距离,若之前判断障碍物是静止的话,则在避让时持续判断障碍物是否仍然存在从而得到障碍物宽度并在地图上将障碍物占据的位置置1。静止障碍物避障过程中,机器人缓慢行驶,沿与之前运动方向垂直的方向进行避障,且不向已经走过的方向避障,每当机器人有至少两个方向可以选择且存在可使xdif或ydif减小的正确时,选择此方向前进,若两个方向都无法使xdif或ydif减小,则优先向当前运动方向右方运动,直至朝向障碍物的传感器显示障碍物已被避开,则机器人停止运动并从此位置重新向终点规划路径行进,但若发现前进方向也有障碍物且已距离很近,则使机器人停止运动、退回原位并向另一侧避障,若避障成功,则在停止位置重新规划路径,若未能避开障碍物,但因为地图已更新,则亦在停止位置重新规划路径行进。如图4中所述,规划路径时,为使机器人尽量走直线,减少方向改变次数,故选用DFS搜索路径并根据情况改变优先方向。节点可向前后左右四个方向展开,搜索路径时按选优条件向前搜索,以达到目标,并视可使离终点距离xdif,ydif减小的方向为正确方向,反之视为错误方向。第一次展开节点时选使ydif与xdif中较大者减小的方向为优先方向。展开节点时,若上一次的展开方向仍正确,则将此方向视为优先方向,直至节点展开至x=xend或y=yend位置时,若仍沿当前展开方向,则正确方向变为错误方向,故将优先展开方向改为垂直于当前方向,朝向最终目标方向的正确方向。节点展开时,节点展开的结果为1或该方向节点已被展开过,不可再展开皆视为朝该方向节点展开失败。当向优先展开方向展开结果为1时,因选择使用深度优先算法,所以尽量向其它方向展开节点而不回溯节点,故原节点至多可再向两个方向展开,且因为正确方向至多有两个,优先方向为1个,所以剩余可展开方向至多有一个正确方向。若确有两个方向可选且两个方向中存在优先方向或只有一个方向可选且该方向正确,则优先选择正确方向,然后视此方向为优先方向并继续执行正常的搜索原则,若有两个方向可选且两个方向皆错误方向,则下一次的优先方向与此次相同,此次实际展开方向选择优先方向顺时针转遇到的第一个剩余方向,若只有一个错误方向可选,则选择此方向展开,并且下一次的优先方向与此次相同。当节点已无法展开,搜索将回溯到发现此节点的上一节点。整个进程反复进行直到找到路径为止。
S2、如图5所述机器人识别并分拣静止的物品:
S2.1、机器人到达目标点后,使机械臂运行至某固定姿态并保持摄像头的俯仰角不变,拍摄图像并在树莓派中进行图像处理。将拍摄的图像复制,对复制的图像进行大小调整,转化为LAB图并进行高斯滤波去噪。
S2.2、因为平台颜色已知,故对处理后的图像进行二值化并反转,再对图像进行腐蚀膨胀,并使用开闭运算从而除去孤立的小点,毛刺,或填平物体内的裂缝、间断。可提前准备图片,选定感兴趣区域,并将该图中感兴趣区域设为白色,其余部分为黑色,然后将该图与处理后的黑白图像进行与操作从而选出特定区域。对处理后的黑白图像进行轮廓检索,筛选大小合适的轮廓以去除噪声。选择其中面积最大的轮廓并得到包围该轮廓的最小矩形的四个顶点的坐标。
S2.3、根据矩形框四个顶点的坐标,得到矩形框的中心点坐标,根据矩形框中心点的横坐标与图像中心点横坐标的差值进行PID调节,沿平台方向移动小车使矩形框中心点出现在摄像头拍摄图片的中央。因为放置物品的平台高度已知,故可用矩形轮廓下方的两个顶点以分段线性插值的方法估算物体与机器人的距离, 依此判断机械臂是否能到达物体所在位置。若无法到达,机器人向平台方向移动固定距离,重新判断,直至可以达到。
S2.4、计算此时封闭轮廓的周长,根据该数值选定精度,使用Douglas-Peucker算法进行轮廓近似与多边形拟合,得到顶点个数。检测多次,记录此状态下顶点个数,最小外接矩形的长宽以及物体面积与最小外接矩形面积的比值,取均值。移动机械臂,机械臂向上伸展,并使摄像头竖直向下,且位于平台上方高度h处,再次通过中心点纵坐标与图像中心点纵坐标的差值进行PID调节使物体最小外接矩形框中心位于摄像头正中央并记录此时顶点个数,最小外接矩形长宽比以及物体面积与最小外接矩形面积的比值,并使用霍夫圆检测是否有圆形。下移摄像头△h,设原矩形框轮廓周长为l1,下移后变为l2,则可近似计算物体的高为根据两次记录的数据,判断物体形状。霍夫圆检测时若检测出不止一个圆,则比较二者圆心,若两圆心间的距离小于任意一半径,则视为同心圆。若两次都检测出有实心圆且轮廓角点数量均值在8个左右,占空比在78%左右则视为球形,若后一次轮廓角点个数均值为4左右,第一次均值小于8,后一次占空比均值接近100%,则为长方体或正方体,可通过后一次图像中最小外接矩形的长宽比判断其为长方体还是正方体。其余形状不一一列举。
S2.5、对拍摄的原图像进行进行二维码,条形码检测,并根据检测结果进行分拣,若此面未检测到二维码或条形码,则根据2.4中形状判断得到物体面数,用机械臂将物体翻转检测另一面,若已经检测过所有面仍未检测到二维码或条形码,则处理图像判断轮廓内是否有内轮廓,若无,则使用原图,在轮廓内选一定数量的点获取其颜色信息并取中位数,若有,则使用原图,在内外轮廓间选一定数量的点获取其颜色信息,取中位数,据此判断物体颜色。根据物体高度c、摄像头高度h与最小外接矩形的长宽,可估算物体长宽信息,若第一次测得矩形轮廓长为a1,第二次为a2,则其长为根据物体形状,颜色,体积进行分拣。分拣时机械臂根据物体高度与Y值,设定从其上方一定距离以某俯仰角接近物体,并根据最小外接矩形的rect[2]即旋转角调整机械爪抓取时的角度,抓到物体后撤离,选择动作组执行以将物品放在机器人上的不同仓库中。
S3、如图6所述,机器人识别并分拣传送带上的物品
S3.1、机器人到达目标点后,使机械臂运行至某固定姿态并保持摄像头竖直向下。摄像头拍摄图像并在树莓派中进行图像处理。将拍摄的图像复制,对复制的图像进行大小调整,转化为LAB图并进行高斯滤波去噪。
S3.2、双线程操作,主线程:将处理后的图像复制、根据传送带颜色对复制后的图像进行进行阈值化与反转并使用腐蚀膨胀操作与开闭运算除去孤立的小点,毛刺,或填平物体内的裂缝、间断。对黑白图像进行轮廓检索,筛选大小合适的轮廓以去除噪声。选择其中面积最大的轮廓并得到包围该轮廓的最小矩形的四个顶点的坐标,并对轮廓进行轮廓近似与多边形拟合,得到轮廓角点。图像中,轮廓的中心点随传送带向镜头中心移动,在其与图像中心的距离在某一范围时,根据此刻物品轮廓角点的坐标获得物体的位置信息,并在轮廓内选点获取其颜色信息代表物体的颜色。立即根据所得位置信息所处的范围选择执行不同的固定动作组将物体从传送带上拨下。机器人身上有倾斜滑道,可以接住从传送带上滚落的物体,滑道下方为机器人仓库。Arduino与树莓派通讯,根据子线程所得的结果打开正确的挡板,使从滑道中滑落的物体进入正确的仓库。
S3.3、子线程:对图片进行对比度、亮度调整,从而增加二维码/条形码与背景的分离度。对调整后的图片进行灰度转化并采用双边滤波的方法进行滤波降噪,去除部分图片噪点。复制图片,对二维码/条形码进行反二值化强化边界,增强分离度,并对图像进行腐蚀操作,去除非二维码/条形码区域污点,再进行膨胀,从而将整个二维码/条形码区域变成一个纯白的四边形,利用Canny算子进行四边形边缘检测,并利用Hough算子对轮廓边缘线进行近似拟合,生成多个拟合直线,将所得直线按照斜率与截距分为四组,斜率与截距相近的为一组,每组的斜率与截距取其均值,只保留每组计算所得的直线。最后保留的四条直线即为边界线,计算出它们的交点,并对这四个顶点进行顺时针排序,按照顶点顺序对去噪后的原灰度图进行仿射变换与二值化,从而获取规则的二维码/条形码图像并识别此图像。若识别到原来二维码/条形码,根据识别结果控制滑道底部仓库的挡板开闭以使物体滑入正确的仓库,若未识别到二维码/条形码,则根据颜色信息将物品入库。
S4、机器人完成分拣后行进至仓库区的不同位置,仓库区不同位置前竖直张贴有某种颜色的矩形标识与另一种颜色的数字标识,当机器人行进至该区域时,调整机械臂至某固定位置使其与标记中心等高并将摄像头调整至水平于地面,垂直于标记。打开摄像头,根据矩形标志的颜色对拍摄的图像进行二值化处理,在视野内出现该标记后,进行轮廓检测与多边形拟合,提前测得当机器人位于标准位置、标准姿态时四个角点于图像中坐标的标准值(xs1,ys1)、(xs2,ys2)、(xs3,ys3)、(xs4,ys4)与标准周长l1(四个点从左上角开始,依次顺时针排列)并根据获得的四个角点的信息对机器人进行位置校准。设获得的四个角点信息坐标为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4),可计算得此等腰梯形周长为l2,机器人位置、姿态与标准情况的差有(xe,ye,θ)三个要素,因只需进行微调,故计算时可设其余两个量为0,并使用线性插值法分别用[(xs1+xs2+xs3+xs4)-(x1+x2+x3+x4)]、与[(y2-y3)-(y1-y4)],计算横坐标偏差xe、纵坐标偏差ye与角度偏差θ并对这三个量进行PID控制及叠加以达到控制机器人运动,校准机器人坐标的目的。校准后根据数字标识的颜色再次处理图像、将图像轻微模糊后进行二值化,反转后填补空白再反转,对图像进行轮廓检测与轮廓过滤,截取保留下的轮廓的外接矩形区域并调节大小至与储存的数字图片模板相同,匹配识别,选择像素相似度最高的为最终的数字识别结果、从而确定仓库的标号。arduino控制打开机器人上仓库的挡板使物品进入不同的仓库区。
S5、处于同一局域网内的电脑与树莓派信息交互,机器人向电脑发送被分拣物体信息使电脑录入,并发送地图信息;电脑记录任务已完成并向机器人发布新分拣任务,同时,比对地图,若发现地图有变化,则通知工作人员前去查看原因,若为物件掉落或其他原因,则处理障碍物,若确实为地图有变动,则向所有机器人发送新地图。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。
Claims (8)
1.一种非巡线机器人自主定位视觉识别方法,其特征在于:包括以下步骤:
步骤1:机器人从出发点前往目的地;
步骤2:机器人识别并分拣静止的物品:
步骤3:机器人识别并分拣传送带上的物品;
步骤4:机器人完成分拣后行进至仓库区的不同位置,在仓库前完成位置校准,打开机器人上仓库的挡板使物品进入不同的仓库区;
步骤5:处于同一局域网内的电脑与树莓派信息交互,机器人向电脑发送被分拣物体信息使电脑录入,并发送地图信息;进行对比地图,看是否有变动。
2.根据权利要求1所述的一种非巡线机器人自主定位视觉识别方法,其特征在于:所述步骤1具体包括以下:
步骤11:将陀螺仪安装于底盘转动中心处;从而获得机器人的运动方向,运动速度和实际位置;
步骤12:以卡尔曼滤波对两组数据进行数据融合;在运动中,将机器人的实际位置,姿态与预期到达的终点位置,姿态间的偏差进行PID控制,并根据运行距离的不同选择不同的PID值;
步骤13:在机器人的四角沿边线各安装两个超声波传感器,并依此判断机器人运行方向的前方是否有障碍物,划路径时为使机器人尽量走直线,减少方向改变次数,选用深度优先的策略,并根据情况调整优先方向。
3.根据权利要求1所述的一种非巡线机器人自主定位视觉识别方法,其特征在于:所述步骤2具体包括:
步骤21:机器人到达目标点后,使机械臂运行至某固定姿态并保持摄像头的俯仰角不变,拍摄图像并在树莓派中进行图像处理;将拍摄的图像复制,对复制的图像进行大小调整,转化为LAB图并进行高斯滤波去噪;
步骤22:然后进行阈值化并使用腐蚀膨胀、开闭运算,并选定感兴趣区域;并将该图中感兴趣区域设为白色,其余黑色,然后将该图与处理后的黑白图像进行与操作,就可在图中选出特定区域;
步骤23:对处理后的黑白图像进行轮廓检索,筛选大小合适的轮廓以去除噪声;
步骤24:计算封闭轮廓周长,根据该数值选定精度,使用Douglas-Peucker算法进行轮廓近似,得到顶点个数,同时根据外接矩形长宽比以及物体面积与外接矩形面积的比值确定物体形状;
步骤25:根据物体形状确定物体面数,对物体上表面进行条形码检测,并根据条形码检测结果进行分拣。
4.根据权利要求1所述的一种非巡线机器人自主定位视觉识别方法,其特征在于:所述步骤3具体包括:
步骤31:机器人到达目标点后,将拍摄的图像复制,对复制的图像进行大小调整,转化为LAB图并进行高斯滤波去噪;
步骤32:双线程操作,主线程:对处理后的图像进行阈值化并进行腐蚀膨胀、开闭运算;
步骤33:子线程:对图片进行对比度、亮度调整、灰度转化并采用双边滤波的方法进行滤波降噪,复制图片,对二维码/条形码进行反二值化强化边界,并对图像进行腐蚀操作膨胀,从而将整个二维码/条形码区域变成一个纯白的四边形。
5.根据权利要求1所述的一种非巡线机器人自主定位视觉识别方法,其特征在于:所述步骤4具体包括:仓库区不同位置前竖直张贴有某种颜色的矩形标识与数字标识,当机器人行进至该区域时,调整机械臂垂直于标记;根据摄像头拍摄的图片确定机器人的位置并对其位置姿态进行调整。
6.根据权利要求2所述的一种非巡线机器人自主定位视觉识别方法,其特征在于:所述步骤2.4具体为:选择其中面积最大的轮廓并得到包围该轮廓的最小矩形的四个顶点的坐标;矩形框的中心点坐标;根据矩形框中心点的横坐标与图像中心点横坐标的差值进行PID调节,沿平台方向移动小车使矩形框中心点出现在摄像头拍摄图片的中央;估算物体与机器人的距离,并依此判断机械臂是否能到达物体所在位置。若无法到达,机器人向平台方向移动固定距离,重新判断,直至可以达到。
7.根据权利要求3所述的一种非巡线机器人自主定位视觉识别方法,其特征在于:所述步骤32具体为:选择其中面积最大的轮廓并得到包围该轮廓的最小矩形的四个顶点的坐标以及物体的颜色信息。在轮廓中心点达到位置范围后根据此刻物品轮廓角点的坐标获得物体的位置信息选择执行不同的固定动作组将物体从传送带上拨下。
8.根据权利要求3所述的一种非巡线机器人自主定位视觉识别方法,其特征在于:所述步骤34具体为:利用Canny算子进行四边形边缘检测,并利用Hough算子对轮廓边缘线进行近似拟合,算法处理所得直线,最后保留的四条直线为边界线,计算出它们的交点,按照顶点顺序对去噪后的原灰度图进行仿射变换与二值化,从而获取规则的二维码/条形码图像并识别此图像;若识别到原来二维码/条形码,根据识别结果控制滑道底部仓库的挡板开闭以使物体滑入正确的仓库,若未识别到二维码/条形码,则根据颜色信息将物品入库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310866247.0A CN116991162A (zh) | 2023-07-14 | 2023-07-14 | 一种非巡线机器人自主定位视觉识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310866247.0A CN116991162A (zh) | 2023-07-14 | 2023-07-14 | 一种非巡线机器人自主定位视觉识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116991162A true CN116991162A (zh) | 2023-11-03 |
Family
ID=88520607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310866247.0A Pending CN116991162A (zh) | 2023-07-14 | 2023-07-14 | 一种非巡线机器人自主定位视觉识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116991162A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117848352A (zh) * | 2024-03-07 | 2024-04-09 | 鲁东大学 | 一种基于计算机视觉的辅助定位系统 |
CN117853420A (zh) * | 2023-12-18 | 2024-04-09 | 天津农学院 | 一种基于机器视觉的钢结构螺栓松动检测方法 |
-
2023
- 2023-07-14 CN CN202310866247.0A patent/CN116991162A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117853420A (zh) * | 2023-12-18 | 2024-04-09 | 天津农学院 | 一种基于机器视觉的钢结构螺栓松动检测方法 |
CN117848352A (zh) * | 2024-03-07 | 2024-04-09 | 鲁东大学 | 一种基于计算机视觉的辅助定位系统 |
CN117848352B (zh) * | 2024-03-07 | 2024-05-14 | 鲁东大学 | 一种基于计算机视觉的辅助定位系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3683721B1 (en) | A material handling method, apparatus, and system for identification of a region-of-interest | |
CN116991162A (zh) | 一种非巡线机器人自主定位视觉识别方法 | |
Ferryman et al. | Visual surveillance for moving vehicles | |
US8154594B2 (en) | Mobile peripheral monitor | |
CN110837814B (zh) | 车辆导航方法、装置及计算机可读存储介质 | |
EP1783684A1 (en) | Plane detector and detecting method | |
JPH03201110A (ja) | 自律走行車の位置方位検出装置 | |
CN111381594A (zh) | 基于3d视觉的agv空间避障方法及系统 | |
CA3130886A1 (en) | Systems and methods for calibration of a pose of a sensor relative to a materials handling vehicle | |
Beinschob et al. | Advances in 3d data acquisition, mapping and localization in modern large-scale warehouses | |
US11904843B2 (en) | Autonomous parking systems and methods for vehicles | |
US20240051146A1 (en) | Autonomous solar installation using artificial intelligence | |
CN117369460A (zh) | 一种车辆螺栓松动故障的智能巡检方法及系统 | |
Kita et al. | Localization of pallets on shelves in a warehouse using a wide-angle camera | |
CN115755888A (zh) | 多传感器数据融合的agv障碍物检测系统及避障方法 | |
CN117115249A (zh) | 一种集装箱锁孔自动识别定位系统及方法 | |
Zhang et al. | Analysis of robot traversability over unstructured terrain using information fusion | |
Wang et al. | Autonomous pallet localization and picking for industrial forklifts based on the line structured light | |
JP2023041731A (ja) | ロボット運動計画およびリポジトリ検出を実行するための方法および計算システム | |
CN113673462A (zh) | 一种基于车道线的物流agv定位方法 | |
Sinha et al. | An approach towards automated navigation of vehicles using overhead cameras | |
Aldon et al. | Mobile robot localization using a light-stripe sensor | |
Sun et al. | Detection and state estimation of moving objects on a moving base for indoor navigation | |
Joo et al. | A pallet recognition and rotation algorithm for autonomous logistics vehicle system of a distribution center | |
Bonin-Font et al. | A visual navigation strategy based on inverse perspective transformation |
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 |