基于双目视觉和SIFT特征匹配的机械臂控制系统及实现方法转让专利

申请号 : CN201611080602.8

文献号 : CN106737665B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘强王琳

申请人 : 天津大学

摘要 :

本发明涉及机械臂控制技术领域,尤其涉及一种基于双目视觉和SIFT特征匹配的机械臂控制系统及实现方法。该系统包括SoC嵌入式平台、机械臂及双目视觉传感器;所述双目视觉传感器通过USB接口与所述SoC嵌入式平台相连接,所述SoC嵌入式平台通过I/O控制接口与所述机械臂相连接。该实现方法主要步骤包括:参数标定、采集图像、初始化、目标识别截取目标匹配模板、确定抓取范围、调节末端位置、定位机械臂、抓取目标以及使用特征匹配定位已抓取目标。该系统以嵌入式SoC作为运算控制中心,融合基于双目视觉的立体匹配算法和SIFT特征匹配算法,实现实时精确控制。

权利要求 :

1.基于双目视觉和SIFT特征匹配的机械臂控制系统的实现方法,其特征在于,包括以下步骤:S1:摄像头和机械臂参数标定;

S2:摄像头采集机械臂图像,截取机械臂末端图像作为匹配模板;

S3:初始化机械臂,使机械臂末端处于机械臂坐标系原点位置;

S4:对图像中的目标进行识别,摄像头采集识别目标,并截取目标匹配模板;

S5:使用立体匹配算法,定位待抓取目标在图像中的位置,以定位的待抓取目标上边缘点为中心,确定抓取范围;

S6:转化坐标系信息,调节机械臂末端位置;

S7:采集图像,使用立体匹配算法和SIFT特征匹配算法,定位机械臂末端在图像中的位置,将定位的机械臂末端的中心位置与上述S5中确定的抓取范围作比较,若机械臂末端的中心位置处于抓取范围内,则符合抓取条件,进入S8,否则回到上述S6;

S8:控制机械臂抓取目标采集抓取后的图像;

S9:采集图像,通过SIFT特征匹配算法,定位待抓取目标在图像中的位置,若判定成功抓取,则进行搬运,否则回到上述S4重新计算。

2.根据权利要求1所述的方法,其特征在于,所述S1中参数标定包括图像坐标系和机械臂坐标系两部分,所述图像坐标系和机械臂坐标系之间可相互转换。

3.根据权利要求2所述的方法,其特征在于,所述图像坐标系以图像左上角为坐标原点,向右为x轴正方向,向下为y轴正方向,摄像头平面到待抓取物体方向为z轴正方向;所述机械臂坐标系以初始状态下的机械臂末端为坐标原点,垂直向左为x轴正方向,垂直向上为y轴正方向,垂直向前为z轴正方向。

4.根据权利要求1所述的方法,其特征在于,所述S2中截取的机械臂末端图像作为匹配模板为系统中永久存储的唯一模板。

5.根据权利要求1所述的方法,其特征在于,所述S4中摄像头实时采集待抓取目标的匹配模板,抓取完成后立即删除。

6.根据权利要求1所述的方法,其特征在于,所述S5中立体匹配算法是对识别出的抓取目标进行计算。

7.根据权利要求1所述的方法,其特征在于,所述S6坐标系转换关系函数为:其中:x,y,z为机械臂坐标系;x′,y′,z′为图像坐标系;x′min为图像坐标系中心坐标;α,β,y′t标定后的转换系数,与z′有关。

8.根据权利要求1所述的方法,其特征在于,所述S7中立体匹配算法仅对机械臂末端进行计算,并通过SIFT匹配点计算平均距离。

9.根据权利要求1所述的方法,其特征在于,所述S7中定位机械臂末端和S9中定位待抓取目标,所采用的SIFT特征匹配算法具体包括:(1)在实时采集的图像与模板图像中寻找特征点并匹配;

(2)根据匹配结果,寻找匹配最高的n个特征匹配点;

(3)计算两幅图像的特征代表点,计算公式为:

其中xi,yi为每个特征匹配点在图像坐标系中的坐标(4)使用上述(3)计算得到的代表点来判断待识别物体或机械臂末端在图像坐标系中的位置。

说明书 :

基于双目视觉和SIFT特征匹配的机械臂控制系统及实现方法

技术领域

[0001] 本发明涉及机械臂控制技术领域,特别涉及一种基于双目视觉和SIFT特征匹配的机械臂控制系统及实现方法。

背景技术

[0002] 传统物流有七大组成部分:运输、仓储、包装、搬运装卸、流通加工、配送以及相关的物流信息等环节。搬运装卸作为物流中的重要环节,消耗大量的人力,造成不必要的人力与时间浪费,制约物流运输速度的发展。在物流的搬运装卸环节使用机械臂进行工作,可以减轻工人的劳动强度,也能大大提高劳动效率。同时使用摄像头等视觉传感器作为系统的主要传感器,可以得到更多的信息,有利于系统高效、稳定地进行工作。
[0003] 手眼系统(Hand-Eye System)是由摄像头和机械臂构成的机器人视觉系统,其分为Eye-in-Hand系统(摄像头随机械臂末端运动)和Eye-to-Hand系统(摄像头固定不动)。其中Eye-in-Hand系统在工业机器人中应用比较广泛,但在实际应用中,系统的视野处在变化之中,不能保证目标一直在视场中,有时会存在丢失目标现象,实时性较差。
[0004] 目前已有的机械臂多使用PC主机或是针对某一特殊需求、采用特定的软硬件架构解决相应问题,不仅普适性差,而且往往成本高昂,需要大量的资源,并且功耗大。而且在运算与控制过程中,使用单目视觉来计算三维坐标,使用基于灰度的图像匹配算法来识别目标,精度较低,易受光照干扰,同时匹配算法需要预先存储大量模板,匹配过程耗时长。

发明内容

[0005] 本发明的目的在于克服机械臂系统抓取过程中存在的技术不足,提供一种基于双目视觉和SIFT特征匹配的机械臂控制系统及实现方法,该系统以嵌入式SoC作为运算控制中心,融合基于双目视觉的立体匹配算法和SIFT特征匹配算法,实现实时精确控制。
[0006] 本发明的基于双目视觉和SIFT特征匹配的机械臂控制系统,包括SoC嵌入式平台、机械臂及双目视觉传感器;所述双目视觉传感器通过USB接口与所述SoC嵌入式平台相连接,所述SoC嵌入式平台通过I/O控制接口与所述机械臂相连接;所述机械臂与所述双目视觉传感器组成Eye-to-Hand系统,并同时与SoC嵌入式平台连接,进行信息传输及控制;所述双目视觉传感器采集图像信息并传输给所述SoC嵌入式平台,所述SoC嵌入式平台完成相应计算,控制所述机械臂抓取目标;所述双目视觉传感器为双目摄像头。
[0007] 本发明的另一技术方案是基于双目视觉和SIFT特征匹配的机械臂控制系统的实现方法,包括以下步骤:
[0008] S1:摄像头和机械臂参数标定;
[0009] S2:摄像头采集机械臂图像,截取机械臂末端图像作为匹配模板;
[0010] S3:初始化机械臂,使机械臂末端处于机械臂坐标系原点位置;
[0011] S4:对图像中的目标进行识别,摄像头采集识别目标,并截取目标匹配模板;
[0012] S5:使用立体匹配算法,定位待抓取目标在图像中的位置,以定位的待抓取目标上边缘点为中心,确定抓取范围;
[0013] S6:转化坐标系信息,调节机械臂末端位置;
[0014] S7:采集图像,使用立体匹配算法和SIFT特征匹配算法,定位机械臂末端在图像中的位置,将定位的机械臂末端的中心位置与上述S5中确定的抓取范围作比较,若机械臂末端的中心位置处于抓取范围内,则符合抓取条件,进入S8,否则回到上述S6;
[0015] S8:控制机械臂抓取目标采集抓取后的图像;
[0016] S9:采集图像,通过SIFT特征匹配算法,定位待抓取目标在图像中的位置,若判定成功抓取,则进行搬运,否则回到上述S4重新计算。
[0017] 所述S1中参数标定包括图像坐标系和机械臂坐标系两部分,所述图像坐标系和机械臂坐标系之间可相互转换。
[0018] 所述图像坐标系以图像左上角为坐标原点,向右为x轴正方向,向下为y轴正方向,摄像头平面到待抓取物体方向为z轴正方向;所述机械臂坐标系以初始状态下的机械臂末端为坐标原点,垂直向左为x轴正方向,垂直向上为y轴正方向,垂直向前为z轴正方向。
[0019] 所述S2中截取的机械臂末端图像作为匹配模板为系统中永久存储的唯一模板。
[0020] 所述S4中摄像头实时采集待抓取目标的匹配模板,抓取完成后立即删除。
[0021] 所述S5中立体匹配算法是对识别出的抓取目标进行计算。
[0022] 所述S6坐标系转换关系函数为:
[0023]
[0024] 其中:x,y,z为机械臂坐标系;x′,y′,z′为图像坐标系;x′min为图像坐标系中心坐标;α,β,y′t标定后的转换系数,与z′有关。
[0025] 所述S7中立体匹配算法仅对机械臂末端进行计算,并通过SIFT匹配点计算平均距离。
[0026] 所述S7中定位机械臂末端和S9中SIFT特征匹配算法定位待抓取目标,所采用SIFT特征匹配算法具体包括:
[0027] (1)在实时采集的图像与模板图像中寻找特征点并匹配;
[0028] (2)根据匹配结果,寻找匹配最高的n个特征匹配点;
[0029] (3)计算两幅图像的特征代表点,计算公式为:
[0030] 其中xi,yi为每个特征匹配点在图像坐标系中的坐标
[0031] (4)使用上述(3)步计算得到的代表点来判断待识别物体或机械臂末端在图像坐标系中的位置。
[0032] 本发明的有益效果:
[0033] 1、与PC主机和特定的软硬件架构相比,使用SoC嵌入式系统作为整个系统的运算与控制中心,可以减少系统功耗,同时针对某一特殊需求可以对软件或硬件进行调整、升级,较灵活。
[0034] 2、与Eye-in-Hand系统相比,使用Eye-to-Hand系统,可以简化坐标系转换过程的计算复杂度,同时目标不易丢失,可以提高系统的实时性。
[0035] 3、与单目视觉中常用的小孔模型相比,使用双目视觉的立体匹配算法,可以获得更高的精度。
[0036] 4、与基于灰度的图像匹配算法相比,使用sift特征匹配算法对物体进行定位,一定程度上减少光照对运算结果的影响,提高计算的精度。
[0037] 5、传统的匹配算法需要事先存储大量匹配模板,本发明在识别物体后,在线截取匹配模板,可以降低存储空间需求,提高匹配速度。

附图说明

[0038] 图1为本发明控制系统组成框图。
[0039] 图2为本发明控制系统各部件相对位置示意图
[0040] 图3为本发明控制方法流程图。
[0041] 图4为本发明图像坐标系示意图。
[0042] 图5为本发明机械臂坐标系示意图。

具体实施方式

[0043] 下面通过具体实施例和附图对本发明作进一步的说明。本发明的实施例是为了更好地使本领域的技术人员更好地理解本发明,并不对本发明作任何的限制。
[0044] 如图1所示,本发明的基于双目视觉和SIFT特征匹配的机械臂控制系统,包括SoC嵌入式平台、机械臂及双目视觉传感器;所述双目视觉传感器通过USB接口与所述SoC嵌入式平台相连接,所述SoC嵌入式平台通过I/O控制接口与所述机械臂相连接;所述机械臂与所述双目视觉传感器组成Eye-to-Hand系统,并同时与SoC嵌入式平台连接,进行信息传输及控制;所述双目视觉传感器采集图像信息并传输给所述SoC嵌入式平台,所述SoC嵌入式平台完成相应计算,控制所述机械臂抓取目标;本发明的双目视觉传感器为双目摄像头,本发明的基于双目视觉和SIFT特征匹配的机械臂控制系统各部件相对位置示意图如图2所示。
[0045] 如图3所示,基于双目视觉和SIFT特征匹配的机械臂控制系统的实现方法,包括以下步骤:
[0046] S1:摄像头和机械臂参数标定;参数标定包括图像坐标系和机械臂坐标系两部分,所述图像坐标系和机械臂坐标系之间可相互转换;如图4所示,图像坐标系以图像左上角为坐标原点,向右为x轴正方向,向下为y轴正方向,摄像头平面到待抓取物体方向为z轴正方向;如图5所示,机械臂坐标系以初始状态下的机械臂末端为坐标原点,垂直向左为x轴正方向,垂直向上为y轴正方向,垂直向前为z轴正方向。
[0047] S2:摄像头采集机械臂图像,截取机械臂末端图像作为匹配模板;截取的机械臂末端图像作为匹配模板为系统中永久存储的唯一模板。
[0048] S3:初始化机械臂,使机械臂末端处于机械臂坐标系原点位置。
[0049] S4:对图像中的目标进行识别,摄像头采集识别目标,并截取目标匹配模板;摄像头实时采集待抓取目标的匹配模板,抓取完成后立即删除。
[0050] S5:使用立体匹配算法,定位待抓取目标在图像中的位置,以定位的待抓取目标上边缘点为中心,确定抓取范围;该立体匹配算法是对识别出的抓取目标进行计算。
[0051] S6:转化坐标系信息,调节机械臂末端位置;坐标系转换关系为:图像坐标系z轴和机械臂坐标系z轴正方向一致,且z轴原点距离保持不变;图像坐标系x轴正方向与机械臂坐标系x轴正方向相反,图像坐标系y轴正方向与机械臂坐标系y轴正方向相反。
[0052] 所述S6坐标系转换关系函数为:
[0053]
[0054] 其中:x,y,z为机械臂坐标系;x′,y′,z′为图像坐标系;x′min为图像坐标系中心坐标;α,β,y′t标定后的转换系数,与z′有关。
[0055] S7:采集图像,使用立体匹配算法和SIFT特征匹配算法,定位机械臂末端在图像中的位置,将定位的机械臂末端中心位置与上述S5中确定的抓取范围作比较,若机械臂末端的中心位置处于抓取范围内,则符合抓取条件,进入S8,否则回到上述S6;该立体匹配算法仅对机械臂末端进行计算,并通过SIFT匹配点计算平均距离。
[0056] S8:控制机械臂抓取目标采集抓取后的图像。
[0057] S9:采集图像,通过SIFT特征匹配算法,定位待抓取目标在图像中的位置,若判定成功抓取,则进行搬运,否则回到上述S4重新计算。
[0058] 上述S7中定位机械臂末端和S9中定位待抓取目标,所采用SIFT特征匹配算法具体包括:
[0059] (1)在实时采集的图像与模板图像中寻找特征点并匹配;
[0060] (2)根据匹配结果,寻找匹配最高的n个特征匹配点;
[0061] (3)计算两幅图像的特征代表点,计算公式为:
[0062] 其中xi,yi为每个特征匹配点在图像坐标系中的坐标
[0063] (4)使用上述(3)步计算得到的代表点来判断待识别物体或机械臂末端在图像坐标系中的位置。
[0064] 应当理解的是,这里所讨论的实施方案及实例只是为了说明,对本领域技术人员来说,可以加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。