CN114782535B - 工件位姿识别方法、装置、计算机设备及存储介质 - Google Patents

工件位姿识别方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN114782535B
CN114782535B CN202210486071.1A CN202210486071A CN114782535B CN 114782535 B CN114782535 B CN 114782535B CN 202210486071 A CN202210486071 A CN 202210486071A CN 114782535 B CN114782535 B CN 114782535B
Authority
CN
China
Prior art keywords
workpiece
layer
coordinate system
determining
length
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
Application number
CN202210486071.1A
Other languages
English (en)
Other versions
CN114782535A (zh
Inventor
孟凡武
付益源
王翔
马梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Pinxing Technology Co ltd
Beijing Institute of Technology BIT
Original Assignee
Nanjing Pinxing Technology Co ltd
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Pinxing Technology Co ltd, Beijing Institute of Technology BIT filed Critical Nanjing Pinxing Technology Co ltd
Priority to CN202210486071.1A priority Critical patent/CN114782535B/zh
Publication of CN114782535A publication Critical patent/CN114782535A/zh
Application granted granted Critical
Publication of CN114782535B publication Critical patent/CN114782535B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Robotics (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供一种工件位姿识别方法、装置、计算机设备及存储介质,该方法包括:识别相机拍摄的工件图像中的各工件的反光带,并确定各工件的反光带的长度;根据各工件的反光带的长度,确定至少一个工件层;逐层分别确定各工件层中各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,并逐层分别确定各工件层中各工件在三维工作台坐标系下的高度信息;根据各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,以及各工件层中各工件在三维工作台坐标系下的高度信息,确定各工件层中各工件的位姿信息。通过反光带实现对杂乱混叠的工件的分层,使设备能够对工件位姿进行准确识别并逐层抓取工件,提高了工件位姿识别的效率。

Description

工件位姿识别方法、装置、计算机设备及存储介质
技术领域
本申请涉及机器视觉技术领域,具体而言,涉及一种工件位姿识别方法、装置、计算机设备及存储介质。
背景技术
机器视觉是计算机视觉技术在工业自动化中的应用,增强了工业机器人的智能化、自动化程度,使工业机器人能够适应多种环境,解决复杂问题,具有很好的市场前景。大批量工件分拣是工业生产线上的重要一步,对于重复性的分拣工作,机器人自动分拣具有更快的速度和更高的效率,正逐渐替代人工作业。
目前的机器人分拣方式基本上为定点定轨迹的机器人抓取,需要人工码放工件至特定工装上,再由机器人移动到指定地点实施特定抓取。
但是在工业生产领域存在许多工件随意摆放的场景,工件位姿难以准确识别,导致机器人无法准确进行工件抓取。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种工件位姿识别方法、装置、计算机设备及存储介质,以解决现有技术中工件位姿难以准确识别,导致机器人无法准确进行工件抓取的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种工件位姿识别方法,所述方法包括:
识别所述相机拍摄的工件图像中的各工件的反光带,并确定各工件的反光带的长度;
根据各工件的反光带的长度,确定至少一个工件层,每个工件层中包括至少一个工件;
逐层分别确定各工件层中各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,并逐层分别确定各工件层中各工件在所述三维工作台坐标系下的高度信息;
根据各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,以及各工件层中各工件在所述三维工作台坐标系下的高度信息,确定各工件层中各工件的位姿信息。
可选的,所述工件位姿识别方法还包括:
根据各工件层中各工件的二维工件坐标系原点位置,确定各工件层中各工件的最短抓取路径;
根据各工件层中各工件的位姿信息以及各工件层中各工件的最短抓取路径,控制所述机械手抓取各工件层中的各工件。
可选的,所述识别所述相机拍摄的工件图像中的各工件的反光带,包括:
对所述工件图像进行滤波降噪、二值化处理及形态学变化,得到待识别图像;
根据预设的反光特征信息,从所述待识别图像中识别出所述反光带。
可选的,所述确定各工件的反光带的长度,包括:
对所述工件图像中各工件的反光带进行直线检测,确定所述反光带对应的至少一段线段;
将满足预设条件的至少一段线段连接为单根直线,并将所述单根直线的长度作为所述反光带的长度。
可选的,所述根据各工件的反光带的长度,确定至少一个工件层,包括:
将各工件的反光带的长度与预设的识别工件外接矩形的长度进行比对;
若第一工件的反光带的长度与所述工件外接矩形的长度的差值小于或等于预设阈值,则确定所述第一工件为顶工件层中的一个工件;
若第一工件的反光带的长度与所述工件外接矩形的长度的差值大于所述预设阈值,则确定所述第一工件为下工件层中的一个工件,其中,所述第一工件为各工件中的任意一个工件。
可选的,所述分别确定各工件层中各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,包括:
确定工件的抓取点在图像坐标系中的位置坐标;
根据各工件层中各工件的抓取点在图像坐标系下的坐标以及图像坐标系与所述三维工作台坐标系之间的变换矩阵,得到所述抓取点在所述三维工作台坐标系下的位置信息和旋转角度。
可选的,所述确定各工件层中各工件在所述三维工作台坐标系下的高度信息,包括:
根据各工件层中各工件的轴向长度以及在所述工件图像中的像素数量,确定各工件层中各工件在所述三维工作台坐标系下的高度信息。
第二方面,本申请实施例提供了一种工件位姿识别装置,所述装置包括:图像处理模块、工件层确定模块、工件信息确定模块和位姿确定模块。
图像处理模块,用于识别所述相机拍摄的工件图像中的各工件的反光带,并确定各工件的反光带的长度;
工件层确定模块,用于根据各工件的反光带的长度,确定至少一个工件层,每个工件层中包括至少一个工件;
工件信息确定模块,用于逐层分别确定各工件层中各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,并逐层分别确定各工件层中各工件在所述三维工作台坐标系下的高度信息;
位姿确定模块,用于根据各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,以及各工件层中各工件在所述三维工作台坐标系下的高度信息,确定各工件层中各工件的位姿信息。
可选的,所述装置还包括:
抓取确定模块,用于根据各工件层中各工件的二维工件坐标系,确定各工件层中各工件的最短抓取路径。
控制模块,用于根据各工件层中各工件的位姿信息以及各工件层中各工件的最短抓取路径,控制所述机械手抓取各工件层中的各工件。
可选的,所述图像处理模块具体用于:对所述工件图像进行图像预处理,得到易于检测的待识别图像;根据预设的反光特征信息,从所述待识别图像中识别出所述反光带。对所述工件图像中各工件的反光带进行直线检测,确定所述反光带对应的至少一段线段;将满足预设条件的至少一段线段连接为单根直线,并将所述单根直线的长度作为所述反光带的长度。
可选的,所述工件层确定模块具体用于:将各工件的反光带的长度与预设的工件外接矩形的长度进行比对;若第一工件的反光带的长度与所述工件外接矩形的长度的差值小于或等于预设阈值,则确定所述第一工件为顶工件层中的一个工件;若第一工件的反光带的长度与所述工件外接矩形的长度的差值大于所述预设阈值,则确定所述第一工件为下工件层中的一个工件,其中,所述第一工件为各工件中的任意一个工件。
可选的,所述工件确定模块具体用于:确定工件抓取点在图像坐标系中的位置坐标;根据各工件层中各工件的抓取点在图像坐标系下的坐标以及图像坐标系与所述三维工作台坐标系之间的第二变换矩阵,得到所述抓取点在所述三维工作台坐标系下的位置信息和旋转角度。根据各工件层中各工件的轴向长度以及在所述工件图像中的像素数量,确定各工件层中各工件在所述三维工作台坐标系下的高度信息。
第三方面,本申请另一实施例提供了一种计算机设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述第一方面任一所述工件位姿识别方法的步骤。
第四方面,本申请另一实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面任一所述工件位姿识别方法的步骤。
本申请的有益效果是:
本申请提供一种工件位姿识别方法、装置、计算机设备及存储介质,识别所述相机拍摄的工件图像中的各工件的反光带,并确定各工件的反光带的长度;根据各工件的反光带的长度,确定至少一个工件层;逐层分别确定各工件层中各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,并逐层分别确定各工件层中各工件在三维工作台坐标系下的高度信息;根据各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,以及各工件层中各工件在三维工作台坐标系下的高度信息,确定各工件层中各工件的位姿信息。通过工件的反光带实现对杂乱混叠的工件的分层,使设备能够对工件位姿进行准确识别并逐层抓取工件,提高了工件位姿识别与抓取的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种工件位姿抓取***的架构示意图;
图2示出了本申请实施例提供的一种工件位姿识别方法的流程图;
图3示出了本申请实施例提供的另一种工件位姿识别方法的流程图;
图4示出了本申请实施例中工件反光带识别及分层示意图;
图5示出了本申请实施例中上层工件分离示意图;
图6示出了本申请实施例中的上层工件坐标系建立示意图;
图7示出了本申请实施例中的抓取顺序决策建立示意图;
图8示出了本申请实施例中提供的反光带识别方法的流程图;
图9示出了本申请实施例中提供的抓取点信息确认方法的流程图;
图10示出了本申请实施例中提供的反光带长度确认方法的流程图;
图11示出了本申请实施例提供的一种工件位姿识别装置的结构示意图;
图12示出了本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
现有的机器人分拣方式基本上为定点定轨迹的机器人抓取,需要人工码放工件至特定工装上,再由机器人移动到指定地点实施特定抓取。但是在工业生产领域存在许多工件随意摆放的场景,从而存在工件位姿难以准确识别,机器人无法准确进行工件抓取的问题。
本申请实施例基于上述问题,提出一种工件位姿识别方法,识别所述相机拍摄的工件图像中的各工件的反光带,并确定各工件的反光带的长度;根据各工件的反光带的长度,确定至少一个工件层,每个工件层中包括至少一个工件;逐层分别确定各工件层中各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,并逐层分别确定各工件层中各工件在三维工作台坐标系下的高度信息;根据各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,以及各工件层中各工件在三维工作台坐标系下的高度信息,确定各工件层中各工件的位姿信息。通过工件的反光带实现对杂乱混叠的工件的分层,使设备能够对工件位姿进行准确识别并逐层抓取工件,从而实现即使工件随意摆放也可以完成准确的工件位姿识别以及工件抓取。
下面通过具体实施例来解释本申请中提供的工件位姿识别方法的具体实施过程。
本申请实施例可以应用于工件抓取***中。图1是本申请实施例提供的一种工件抓取***的架构示意图。如图1所示,该***包括:计算机设备100、机械手101、相机102、工作台103,其中,机械手101、相机102均与计算机设备100通信连接。相机固定悬挂于工作台103上方,确保相机的图幅视角能笼罩整个工作台面,机械手固定在工作台103一侧,与相机共同组成eye-to-hand的手眼配合方式。计算机设备100可以是计算机等,机械手101可以是工业机器人等,相机102可以是工业相机等。相机102可以对工作台进行拍摄,计算机设备100可以通过相机获取工作台上的工件图像,对工件图像进行处理,对工件位姿进行识别,并根据识别出的工件位姿信息和计算的最优抓取路径控制机械手进行工件抓取。
下面结合上述图1示出的工件抓取***中描述的内容,对本申请实施例提供的工件位姿识别方法进行详细说明。
需要说明的是,在进行工件位姿识别之前,需要先对***进行初始设置,即进行相机标定和手眼标定,以用于后续的图像坐标系建立、工件坐标系建立和工作台坐标系建立,并用于计算得到工件坐标系和图像坐标系之间的变换矩阵以及图像坐标系与工作台坐标系之间的变换矩阵。
下面对以上相机标定和手眼标定的过程进行说明。
相机标定是机器视觉应用的关键环节,其主要目的是为了确定相机参数,保证后续工作的稳定性和结果的精度,以下是对本申请实施例中的相机标定过程的具体说明。
将棋盘格标定板放置在工作台上的固定位置,给定张正友标定板的左上角点在工作台坐标系中的坐标,则可以固定标定板上每一点的世界坐标,使用张正友标定法进行相机标定,确定相机的内部参数和畸变参数,由于标定板在空间中相对于工作台的位置固定,相机的外部参数也可得到,由此确定相机的内部参数、外部参数和畸变参数。
需要说明的是,本申请实施例只是采用张正友标定法进行举例阐述,在具体实施过程中也可以使用其他标定法进行相机标定,例如非线性标定法、传统相机标定法等,在此不作限制。
手眼标定是为了建立机械手与相机拍摄的工件图像之间的联系,进行手眼标定的方法可以是常用的九点标定法,以下对执行九点标定法的具体过程进行说明。
使用绘制了均匀分布的九个圆的标定板,将标定板置于分拣对象的工作台上,拍摄标定板图像并识别九个圆心在图像坐标系中的坐标,操作机械手将标定针分别移动到九个圆心位置,记录机械手坐标,由此得到两个点集,各包含9组圆心图像坐标和9组圆心机械手坐标,以两组点集作为输入参数,得到变换矩阵,公式如下:
通过九点标定提高计算精度,求解(xT,yT)到(xI,yI)的关系,得到仿射变换矩阵,仿射变换矩阵用于进行图像坐标系到机械手坐标系之间的转换。
参照图2所示,为本申请实施例提供的一种工件位姿识别方法的流程示意图,该方法可以由上述的计算机设备来执行。如图2所示,该方法包括:
S201:识别相机拍摄的工件图像中的各工件的反光带,并确定各工件的反光带的长度。
可选的,工件的反光带可以是金属工件在均匀光源照射下,在轴向顶面上形成的反光带特征进行图像处理得到,反光带可以用于描述工件对象的完整性与位姿信息。
可选的,反光带的长度可以是对反光带特征进行图像处理和直线检测后,将距离相近且之间夹角小于设定值的短线段连接成长折线,并近似为单根直线,最后获取二值化图像中工件区域中的1值区域(即工件上的反光带区域)长度,即为反光带长度。
S202:根据各工件的反光带的长度,确定至少一个工件层,每个工件层中包括至少一个工件。
在本申请的实施例中,根据前述得到的反光带长度确定至少一个工件层的方法是可以将反光带的长度与预设的条件进行对比,将工件分为多层,具体实施例中,计算机设备可以直接将不同层工件所在的区域像素点置入两组列表中进行后续处理,每个工件层中可以有一个或多个工件,对应的每组列表中可以保存有对应工件层的一个或多个工件的像素点。
S203:逐层分别确定各工件层中各工件的抓取点在三维工作台坐标系下的平面位置信息以及旋转角度,并逐层分别确定各工件层中各工件在三维工作台坐标系下的高度信息。
可选的,三维工作台坐标系的建立方式可以是:以工作台长宽边为x轴y轴,工作台x轴与图像x轴平行且同侧,工作台y轴与图像y轴平行且同侧,z轴以右手螺旋定则构建,垂直于工作台面。
可选的,各工件的抓取点可以是各工件的重心所在的位置,计算重心的方法可以是利用待处理对象的建模三维图,在仿真软件中模拟面光源从上方垂直入射时工件的特征情况,截取图像做单个对象坐标系建立与特征提取处理的仿真实验。举例来说,设定包含工件目标的ROI(region of interest)区域,遍历该区域坐标点,通过求取所有工件目标点的坐标均值得到工件重心pc,即为后续步骤中设定机械手抓取的抓取点。重心计算公式为:
需要说明的是,在S202对工件进行分层后,本步骤可以对工件层从上向下的逐层确定抓取点在三维工作台坐标系下的位置信息以及旋转角度以及各工件层中各工件在三维工作台坐标系下的高度信息,即先确定第一上层的工件信息,在对上层工件抓取完成后,再对第二上层的工件进行信息确认,依次类推,直至完成所有工件层的所有工件的位置、旋转角度和高度的确定。
可选的,在确定出工件的抓取点的基础上,可以进一步确定抓取点在三维工作台坐标系下的平面位置信息、旋转角度以及高度信息。
其中,上述平面位置信息可以是工件在三维工作台坐标下的二维坐标,例如可以是工件在三维工作台坐标系中的x轴和y轴坐标所组成的位置信息。
S204:根据各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,以及各工件层中各工件在三维工作台坐标系下的高度信息,确定各工件层中各工件的位姿信息。
需要说明的是,具体实施方式中,工件的位姿信息一般包括三维空间内平移量描述的位置信息和旋转量描述的姿态信息。本申请前述步骤中确定的各工件的抓取点在三维工作台坐标系下的位置信息只是二维的位置信息,因此,在确定了工件的高度信息后,就可以先得到工件在三维空间内的位置信息,该三维的位置信息与前述步骤所得旋转角度可以共同描述工件的位姿信息。
在确定出各工件层中各工件的位姿信息之后,计算机设备可以根据各工件的位姿信息相应控制机械手的操作,从而使得机械手可以准确地对各工件进行抓取。
本实施例中,识别所述相机拍摄的工件图像中的各工件的反光带,并确定各工件的反光带的长度;根据各工件的反光带的长度,确定至少一个工件层;逐层分别确定各工件层中各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,并逐层分别确定各工件层中各工件在三维工作台坐标系下的高度信息;根据各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,以及各工件层中各工件在三维工作台坐标系下的高度信息,确定各工件层中各工件的位姿信息。通过工件的反光带长度可以区分出上层工件与其他层工件,从而实现对杂乱混叠的工件的分层,使设备能够对各层工件位姿进行准确识别并从上向下逐层抓取工件,从而实现即使工件随意摆放也可以完成准确的工件位姿识别以及工件抓取。
以上是对工件位姿识别的方法说明,接下来基于识别出的工件的位置信息进行工件抓取的具体步骤进行说明。图3为根据工件位置信息进行最短路径抓取计算和工件抓取的过程,如图3所示,该方法包括:
S301:根据各工件层中各工件的二维工件坐标系,确定各工件层中各工件的最短抓取路径。
需要说明的是,首先确定的最短抓取路径是最上层工件层,其次是第二上层,以此类推依次向下逐层确定。
可选的,工件的二维工作坐标系的建立方法可以是:根据前述计算抓取点时的建模三维图,构建工件的最小外接矩形,针对一个对象仅含有一种固定的最小外接矩形,即矩形长宽边与轴类对象的径向与轴向平行且与对象最外沿重合,由此得到矩形的左上角点坐标、矩形长宽以及矩形较图像x轴旋转角度,根据该旋转角度,以重心点pc为原点,以该旋转角度的方向作为工件轴向,以轴向顺时针旋转90°为工件径向,由此构建二维工件坐标系。
在本申请的具体实施例中,还可以根据后续装配需求增加对工件首尾的判断步骤,具体实施方法可以是:在外接矩形范围内进行工件坐标系x轴方向上的遍历,最先搜索到的包含工件的像素点即为螺栓头侧,得到较宽端(即螺栓头)相对于重心点的左右方向,建立工件坐标系时,可以对应的按照工件首尾判断的结果进行,例如将x轴方向设定为由重心点指向螺栓头相对侧(即螺纹侧),y轴由x轴方向顺时针旋转90°得到。利用判断出的工件首尾,可以作为参考建立工件的坐标系,还可以在后续需要进行装配时使机械手能够根据工件首尾选择更适合的抓取姿态,从而完成后续的装配工作。
可选的,确定各工件层中各工件的最短抓取路径的方法可以是:获取得到的所有工件的二维工件坐标系,包括原点在图像坐标系中的位置坐标以及轴向相对于图像x轴的旋转角度,以从左到右、邻近优先、角度相似优先的原则设定抓取策略,根据原点位置,以欧几里得距离度量评估工件重心点间的距离,求得各工件之间的最短抓取路径,欧几里得距离计算如下:
以所有原点中具有最小x坐标的原点为抓取起始点,通过计算其到其余点的距离得到轨迹第二点,再以第二点为起点计算距离得到第三点,以此类推得到最优抓取轨迹路径。同时根据工件抓取顺序可以得到机械手抓取下一工件需要的角度改变大小,末端执行器以小于180°的方向旋转至抓取下一工件所需的抓取角度。
示例性的,对如图4所示的工件摆放场景,先确定图5所示的最上层工件层,如图5所示,最上层工件层包括:工件1、工件2、工件3和工件4,再针对图5中的每个工件建立工件坐标系,得到图6所示的最上层工件层中各工件的二维工件坐标系建立结果,再利用上述的过程计算出图7所示的最短抓取路径,如图7所示,以工件1作为起点,工件2的最短抓取路径为A到B,工件3的最短抓取路径为B到C,工件4的最短抓取路径为C到D。
S302:根据各工件层中各工件的位姿信息以及各工件层中各工件的最短抓取路径,控制机械手抓取各工件层中的各工件。
可选的,沿各工件的最短抓取路径,控制机械手调整到与各工件的位姿信息匹配的位姿并进行工件抓取。
在本申请实施例中,位姿信息和最短抓取路径都是以机械手基部的坐标系进行描述的,因此计算机可以基于各工件层中各工件的位姿信息以及各工件层中各工件的最短抓取路径,先计算出工件相对于机械手基坐标系的变换矩阵,再通过机械手配套软件生成抓取轨迹和末端执行器的姿态改变过程。
示例性的,参照图7,计算机设备可以基于各工件层中各工件的位姿信息以及各工件层中各工件的最短抓取路径,先计算出工件相对于机械手基坐标系的变换矩阵,从而使计算机设备能控制机械手从工件1开始,根据前述示例中图7计算得到的工件抓取顺序得到机械手抓取工件2需要的角度改变大小,末端执行器以小于180°的方向旋转至抓取工件2所需的抓取角度,沿着前述计算得到的图7所示的最短抓取路径,依次从抓取点A移动到抓取点B抓取工件2、从抓取点B到抓取点C抓取工件3,最后从抓取点C到抓取点D抓取工件4。
以下是对上述S201中识别相机拍摄的工件图像中的各工件的反光带的说明,如图8所示,该方法包括:
S801:对所述工件图像进行预处理,得到待识别图像。
可选的,在得到标定好的相机拍摄的工件图像后,可以对图像先进行预处理,示例性的,图像预处理可以包括:先采用均值漂移算法,对图像在色彩层面上进行初分割,依赖前景背景的色彩及反射率不同来强化工件与工作台的对比度以优化后续的图像处理结果,再进行灰度化处理、中值滤波降噪处理、图像二值化处理,将图像中的前景工件区域像素置为0,背景工作台区域置为1,得到的二值图像为待识别图像。
S802:根据预设的反光特征信息,从所述待识别图像中识别出所述反光带。
需要说明的是,在本申请实施例中,预设的反光特征信息可以是轴类金属工件在均匀光源照射下,在轴向顶面上形成的特定的亮度、形状等特征。对前述过程中得到的二值图像进行多次形态学闭运算以增强工件反光带的特征信息及完整性,减弱反光带边缘的锯齿效应,细化反光带以提高工件定位精度和位姿评估精度,从而识别出图像中的反光带。
以下是对S202中根据各工件的反光带的长度,确定至少一个工件层的说明。该方法包括:
将各工件的反光带的长度与预设的工件外接矩形的长度进行比对。
可选的,对不同类型的工件可以分别进行建模并建立对应类型的外接矩形,工件的外接矩形可以在前述步骤建立工件坐标系时得到。
在本申请实施例中,由于下层工件的反光带被上层工件遮挡,故被分为多段,因此可以将反光带长度与其所属的工件外接矩形长度进行对比,下层工件相对上层工件,与工件外接矩形长度的差值会更大。
作为一种可选的实施方式,若第一工件的反光带的长度与所述工件外接矩形的长度的差值小于或等于预设阈值,则确定所述第一工件为上工件层中的一个工件。
在本申请实施例中,将每个反光带长度与其所属的工件外接矩形长度作比较,例如可以设定约为一个螺栓头部长度的差异容许阈值,示例性的,假设预设差异容许阈值为1cm,1号反光带长度为5cm,其对应的外接矩形长度为5.5cm,则可知1号反光带与其所属的工件外接矩形长度的差值为0.5cm,小于预设的差异容许阈值,则可以确定1号工件为上工件层中的其中一个。
作为另一种可选的实施方式,若第一工件的反光带的长度与所述工件外接矩形的长度的差值大于所述预设阈值,则确定所述第一工件为下工件层中的一个工件,其中,所述第一工件为各工件中的任意一个工件。
示例性的,假设预设差异容许阈值为1cm,1号反光带长度为4cm,其对应的外接矩形长度为5.5cm,则可知1号反光带与其所属的工件外接矩形长度的差值为1.5cm,大于预设的差异容许阈值,则可以确定1号工件为下工件层中的其中一个。
以下是对前述过程S203中分别确定各工件层中各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度的说明,如图9所示,该方法包括:
S901:确定工件的抓取点在图像坐标系中的位置坐标。
可选的,抓取点在图像坐标系中可以以像素点的形式呈现,因此,可以对得到的工件图像建立图像坐标系,并识别出图像中的工件的抓取点像素位置,从而直接确定工件的抓取点在图像坐标系中的位置坐标。
S902:根据各工件层中各工件的抓取点在图像坐标系下的坐标以及图像坐标系与所述三维工作台坐标系之间的变换矩阵,得到抓取点在所述三维工作台坐标系下的位置信息和旋转角度。
可选的,在上述过程中识别出各个工件的抓取点在图像坐标系中的位置后,还可以先根据前文所述的工件坐标系与图像坐标系的变换矩阵得到各个工件在图像坐标系中的位置信息,示例性的,该位置信息可以是工件的抓取点在图像坐标系中的位置坐标和工件相对于图像x轴的旋转角度。
可选的,建立图像坐标系和工作台坐标系之间的变换矩阵的方法可以与前文所述的建立仿射变换矩阵的过程相同,根据图像坐标系和工作台坐标系中的对应点计算得到变换矩阵后,可以根据抓取点在图像坐标系中的坐标先确定工件在图像坐标系中的位置信息,再结合图像坐标系和工作台坐标系的变换矩阵,计算得到抓取点在三维工作台坐标系下的位置信息和旋转角度。
需要说明的是,由于抓取点在图像坐标系中的位置是二维的位置信息,因此计算得到的抓取点在三维工作台坐标系下的位置信息也对应是在XOY平面内的二维位置信息。
以下是对前述过程S203中确定各工件层中各工件在所述三维工作台坐标系下的高度信息的说明,该方法包括:
根据各工件层中各工件的轴向长度以及在所述工件图像中的像素数量,确定各工件层中各工件在三维工作台坐标系下的高度信息。
可选的,工件在三维工作台坐标系下的高度信息可以是工件的抓取点在三维工作台坐标系中Z轴对应的坐标信息。
在本申请实施例中,前述相机标定和手眼标定的过程中,可以得到标定好的相机焦距f(mm)相机到标定板面的距离L(mm),九点标定板上圆的直径R(mm),以及在图像上检测圆得到标定板圆在图像上的直径r(pixels),由此可以根据单目相机成像原理建立成像模型,公式如下:
其中λ为转换系数,与相机感光元件尺寸和画面尺寸有关,根据该式可由已知长度工件在图像中的像素数得到工件距离相机的距离,从而得到工件在工作台坐标系中的高度信息,公式如下:
其中,f为相机焦距,λ为转换系数,L为工件轴向长度,l为工件在图像中的像素个数,由此得到对象到相机的距离,已知相机到工作台的距离,可以推出对象在三维空间中的高度信息。
以下是对前述S201中确定各工件的反光带的长度的说明,如图10所示,该方法包括:
S1001:对所述工件图像中各工件的反光带进行直线检测,确定所述反光带对应的至少一段线段。
可选的,对反光带进行直线检测的方法可以是LSD直线检测或者霍夫变换直线检测,在此不作限制。以霍夫变换直线检测为例,通过霍夫变换将图像空间转换到极坐标参数空间,来进行图像中的直线检测,公式为:
r=x cosθ+y sinθ
示例性的,对得到的反光带进行直线检测后,可以确定反光带对应的一段或多段直线,如图4所示,上层反光带由于未被遮挡,因此对应得到的是一根直线,下层工件由于被上层工件遮挡,因此反光带也会被分成多段直线。
S1002:将满足预设条件的至少一段线段连接为单根直线,并将所述单根直线的长度作为所述反光带的长度。
可选的,预设条件可以是短线段距离相近且之间夹角小于设定值,将检测出的满足预设条件的短线段连接成长折线,并近似为单根直线,再获取工件区域中的1值区域(即工件上的反光带区域)长度,即为反光带长度。
基于同一发明构思,本申请实施例中还提供了与工件位姿识别方法对应的工件位姿识别装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述工件位姿识别方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图11所示,为本申请实施例提供的一种工件位姿识别装置的示意图,所述装置包括:图像处理模块、工件层确定模块、工件信息确定模块、位姿确定模块、抓取确定模块和控制模块,其中:
图像处理模块110,用于识别所述相机拍摄的工件图像中的各工件的反光带,并确定各工件的反光带的长度。
工件层确定模块111,用于根据各工件的反光带的长度,确定至少一个工件层。
工件信息确定模块112,用于逐层分别确定各工件层中各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,并逐层分别确定各工件层中各工件在所述三维工作台坐标系下的高度信息。
位姿确定模块113,用于根据各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,以及各工件层中各工件在所述三维工作台坐标系下的高度信息,确定各工件层中各工件的位姿信息。
可选的,所述装置还包括:
抓取确定模块,用于根据各工件层中各工件的二维工件坐标系,确定各工件层中各工件的最短抓取路径。
控制模块,用于根据各工件层中各工件的位姿信息以及各工件层中各工件的最短抓取路径,控制机械手抓取各工件层中的各工件。
可选的,图像处理模块110具体用于:对所述工件图像进行预处理,得到待识别图像;根据预设的反光特征信息,从所述待识别图像中识别出所述反光带。对所述工件图像中各工件的反光带进行直线检测,确定所述反光带对应的至少一段线段;将满足预设条件的至少一段线段连接为单根直线,并将所述单根直线的长度作为所述反光带的长度。
可选的,工件层确定模块111具体用于:将各工件的反光带的长度与预设的工件外接矩形的长度进行比对;若第一工件的反光带的长度与所述工件外接矩形的长度的差值小于或等于预设阈值,则确定所述第一工件为上工件层中的一个工件;若第一工件的反光带的长度与所述工件外接矩形的长度的差值大于所述预设阈值,则确定所述第一工件为下工件层中的一个工件,其中,所述第一工件为各工件中的任意一个工件。
可选的,工件确定模块112具体用于:确定工件的抓取点在图像坐标系中的位置坐标;根据二维工件坐标系与图像坐标系之间的变换矩阵,将各工件层中各工件的抓取点在所述二维工件坐标系下的坐标转换为图像坐标系下的坐标;根据各工件层中各工件的抓取点在图像坐标系下的坐标以及图像坐标系与所述三维工作台坐标系之间的第二变换矩阵,得到所述抓取点在所述三维工作台坐标系下的位置信息和旋转角度。根据各工件层中各工件的轴向长度以及在所述工件图像中的像素数量,确定各工件层中各工件在所述三维工作台坐标系下的高度信息。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上***(system-on-a-chip,简称SOC)的形式实现。
本申请实施例还提供了一种计算机设备,如图12所示,为本申请实施例提供的计算机设备结构示意图,包括:处理器120、存储器121和总线。所述存储器121存储有所述处理器120可执行的机器可读指令(比如,图11中的装置中图像处理模块、工件层确定模块、工件信息确定模块、位姿确定模块对应的执行指令等),当计算机设备运行时,所述处理器120与所述存储器121之间通过总线通信,所述机器可读指令被所述处理器120执行时执行前述方法实施例中的方法步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被计算机设备运行时执行上述工件位姿识别方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (10)

1.一种工件位姿识别方法,其特征在于,应用于计算机设备,所述计算机设备与相机连接,所述相机用于拍摄工作台上的工件,所述方法包括:
识别所述相机拍摄的工件图像中的各工件的反光带,并确定各工件的反光带的长度;
根据各工件的反光带的长度,确定至少一个工件层,每个工件层中包括至少一个工件;
逐层分别确定各工件层中各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,并逐层分别确定各工件层中各工件在所述三维工作台坐标系下的高度信息;
根据各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,以及各工件层中各工件在所述三维工作台坐标系下的高度信息,确定各工件层中各工件的位姿信息。
2.如权利要求1所述的方法,其特征在于,所述工件位姿识别方法还包括:
根据各工件层中各工件的二维工件坐标系,确定各工件层中各工件的最短抓取路径;
根据各工件层中各工件的位姿信息以及各工件层中各工件的最短抓取路径,控制机械手抓取各工件层中的各工件。
3.如权利要求1所述的方法,其特征在于,所述识别所述相机拍摄的工件图像中的各工件的反光带,包括:
对所述工件图像进行预处理,得到待识别图像;
根据预设的反光特征信息,从所述待识别图像中识别出所述反光带。
4.如权利要求1所述的方法,其特征在于,所述根据各工件的反光带的长度,确定至少一个工件层,包括:
将各工件的反光带的长度与预设的工件外接矩形的长度进行比对;
若第一工件的反光带的长度与所述工件外接矩形的长度的差值小于或等于预设阈值,则确定所述第一工件为上工件层中的一个工件;
若第一工件的反光带的长度与所述工件外接矩形的长度的差值大于所述预设阈值,则确定所述第一工件为下工件层中的一个工件,其中,所述第一工件为各工件中的任意一个工件。
5.如权利要求1所述的方法,其特征在于,所述分别确定各工件层中各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,包括:
确定工件的抓取点在图像坐标系中的位置坐标;
根据各工件层中各工件的抓取点在图像坐标系下的坐标以及图像坐标系与所述三维工作台坐标系之间的变换矩阵,得到所述抓取点在所述三维工作台坐标系下的位置信息和旋转角度。
6.如权利要求1所述的方法,其特征在于,所述确定各工件层中各工件在所述三维工作台坐标系下的高度信息,包括:
根据各工件层中各工件的轴向长度以及在所述工件图像中的像素数量,确定各工件层中各工件在所述三维工作台坐标系下的高度信息。
7.如权利要求1-6任一项所述的方法,其特征在于,所述确定各工件的反光带的长度,包括:
对所述工件图像中各工件的反光带进行直线检测,确定所述反光带对应的至少一段线段;
将满足预设条件的至少一段线段连接为单根直线,并将所述单根直线的长度作为所述反光带的长度。
8.一种工件位姿识别装置,其特征在于,包括:
图像处理模块,用于识别相机拍摄的工件图像中的各工件的反光带,并确定各工件的反光带的长度;
工件层确定模块,用于根据各工件的反光带的长度,确定至少一个工件层,每个工件层中包括至少一个工件;
工件信息确定模块,用于逐层分别确定各工件层中各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,并逐层分别确定各工件层中各工件在所述三维工作台坐标系下的高度信息;
位姿确定模块,用于根据各工件的抓取点在三维工作台坐标系下的位置信息以及旋转角度,以及各工件层中各工件在所述三维工作台坐标系下的高度信息,确定各工件层中各工件的位姿信息。
9.一种计算机设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至7任一所述的工件位姿识别方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的工件位姿识别方法的步骤。
CN202210486071.1A 2022-05-06 2022-05-06 工件位姿识别方法、装置、计算机设备及存储介质 Active CN114782535B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210486071.1A CN114782535B (zh) 2022-05-06 2022-05-06 工件位姿识别方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210486071.1A CN114782535B (zh) 2022-05-06 2022-05-06 工件位姿识别方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN114782535A CN114782535A (zh) 2022-07-22
CN114782535B true CN114782535B (zh) 2024-05-31

Family

ID=82434389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210486071.1A Active CN114782535B (zh) 2022-05-06 2022-05-06 工件位姿识别方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN114782535B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115880291B (zh) * 2023-02-22 2023-06-06 江西省智能产业技术创新研究院 汽车总成防错识别方法、***、计算机及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108555908A (zh) * 2018-04-12 2018-09-21 同济大学 一种基于rgbd相机的堆叠工件姿态识别及拾取方法
CN113409392A (zh) * 2021-06-28 2021-09-17 广东工业大学 一种反光工件的6DoF位姿估计方法
WO2021208230A1 (zh) * 2020-04-15 2021-10-21 上海工程技术大学 智能装配控制***
CN113610921A (zh) * 2021-08-06 2021-11-05 沈阳风驰软件股份有限公司 混合工件抓取方法、设备及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108555908A (zh) * 2018-04-12 2018-09-21 同济大学 一种基于rgbd相机的堆叠工件姿态识别及拾取方法
WO2021208230A1 (zh) * 2020-04-15 2021-10-21 上海工程技术大学 智能装配控制***
CN113409392A (zh) * 2021-06-28 2021-09-17 广东工业大学 一种反光工件的6DoF位姿估计方法
CN113610921A (zh) * 2021-08-06 2021-11-05 沈阳风驰软件股份有限公司 混合工件抓取方法、设备及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于形状先验模型的平面型工件抓取位姿检测;郑晶怡等;机器人;20170115;第39卷(第1期);全文 *
郑晶怡等.基于形状先验模型的平面型工件抓取位姿检测.机器人.2017,第39卷(第1期),全文. *

Also Published As

Publication number Publication date
CN114782535A (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
CN110555889B (zh) 一种基于CALTag和点云信息的深度相机手眼标定方法
CN113524194B (zh) 基于多模特征深度学习的机器人视觉抓取***的目标抓取方法
CN103759648B (zh) 一种基于激光双目视觉的复杂角焊缝位置检测方法
CN113146172B (zh) 一种基于多视觉的检测与装配***及方法
US20220319011A1 (en) Heterogeneous Image Registration Method and System
CN112837371A (zh) 基于3d匹配的物体抓取方法、装置及计算设备
CN111627072A (zh) 一种对多传感器进行标定的方法、装置和存储介质
CN115609591B (zh) 一种基于2D Marker的视觉定位方法和***、复合机器人
CN111738320B (zh) 基于模板匹配的遮挡工件识别方法
CN111598172B (zh) 基于异构深度网络融合的动态目标抓取姿态快速检测方法
CN114029946A (zh) 一种基于3d光栅引导机器人定位抓取的方法、装置及设备
Djajadi et al. A model vision of sorting system application using robotic manipulator
CN115816471B (zh) 多视角3d视觉引导机器人的无序抓取方法、设备及介质
CN112686950B (zh) 位姿估计方法、装置、终端设备及计算机可读存储介质
CN114782535B (zh) 工件位姿识别方法、装置、计算机设备及存储介质
CN113538459B (zh) 一种基于落点区域检测的多模式抓取避障检测优化方法
CN112348890B (zh) 一种空间定位方法、装置及计算机可读存储介质
CN113689509A (zh) 基于双目视觉的无序抓取方法、***及存储介质
CN113284178A (zh) 物体码垛方法、装置、计算设备及计算机存储介质
TW419634B (en) Automatic detection system and method using bar code positioning
Wang et al. A machine learning-based image processing approach for robotic assembly system
Oh et al. Development of structured light based bin picking system using primitive models
Fan et al. An automatic robot unstacking system based on binocular stereo vision
CN116297501A (zh) 采用单目视觉与振镜协同作用的移动零件检测***及方法
Ni et al. Visual positioning algorithm based on micro assembly line

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