用于机械手臂系统的校正方法及装置与流程

文档序号:20876997发布日期:2020-05-26 16:41阅读:213来源:国知局
用于机械手臂系统的校正方法及装置与流程
本公开有关于校正方法及装置,特别是有关于一种用于机械手臂系统的校正方法及装置。
背景技术
:随着工业生产技术的快速发展,工厂自动化利用机械手臂的视觉装置定位工件的位置和姿态,引导机械手臂自动精准地抓取工件,进行组装制造,以提高精密快速生产的效率。而影响机械手臂自动精确移动的主要关键在于引导的视觉装置,利用视觉装置校正机械手臂减少引导误差,成为机械手臂重要的课题。使用视觉装置来测量工件姿态的显著缺点在于,视觉装置通常相对于视觉装置的坐标系测量工件姿态,而机械手臂相对于机械手臂的坐标系移动机械手臂前端的执行器。如在本文中所使用的,术语「姿态」说明性地指三维位置和三维旋转的组合。因此,必须将视觉装置计算的工件姿态转换成机械手臂的坐标系以使机械手臂利用视觉装置计算工件姿态。然而,校正视觉装置的坐标系和机械手臂的坐标系之间的关系目前皆有校正时间过长且精确度不高的问题。有鉴于此,本发明提出一种用于机械手臂系统的校正方法及装置,以提升校正效率并改善机械手臂的定位精确度。技术实现要素:以下公开的内容仅为示例性的,且不旨在以任何方式加以限制。除所述说明方面、实施方式和特征之外,通过参照附图和下述具体实施方式,其他方面、实施方式和特征也将显而易见。即,以下公开的内容被提供以介绍概念、重点、益处及本文所描述新颖且非显而易见的技术优势。所选择,非所有的,实施例将进一步详细描述如下。因此,以下公开的内容并不意旨在所要求保护主题的必要特征,也不意旨在决定所要求保护主题的范围中使用。因此,本发明的主要目的即在于提供一种用于机械手臂系统的校正方法及装置,以改善上述缺点。本公开提出一种用于机械手臂系统的校正方法,上述机械手臂系统包括一机械手臂、一校正对象、一视觉装置和一计算装置,上述校正方法包括:通过上述视觉装置捕获固定于上述机械手臂一前端上的上述校正对象的一图像,其中上述机械手臂的一基座具有一基座坐标系,且上述机械手臂的上述前端与上述基座具有一第一相对关系,上述机械手臂的上述前端与上述校正对象具有一第二相对关系;通过上述视觉装置计算装置接收上述图像,并根据上述图像取得上述校正对象的一三维特征数据;以及通过上述计算装置根据上述三维特征数据、上述第一相对关系及上述第二相对关系计算取得上述视觉装置与上述机械手臂的上述基座之间的一第三相对关系,以校正上述机械手臂与上述视觉装置的误差。本公开提出一种机械手臂系统,包括:一校正对象;一机械手臂,其中上述校正对象固定于上述机械手臂的一前端上;一视觉装置,捕获上述校正对象的一图像;以及一计算装置,耦接于上述机械手臂及上述视觉装置;其中上述机械手臂的一基座具有一基座坐标系,且上述机械手臂的上述前端与上述基座具有一第一相对关系,上述机械手臂的上述前端与上述校正对象具有一第二相对关系;上述计算装置由上述视觉装置接收上述图像,并根据上述图像取得上述校正对象的一三维特征数据;以及上述计算装置根据上述三维特征数据、上述第一相对关系及上述第二相对关系计算取得上述视觉装置与上述机械手臂的上述基座之间的一第三相对关系,以校正上述机械手臂与上述视觉装置的误差。本公开提出一种用于机械手臂系统的校正方法,用于一计算装置中,包括:接收由一视觉装置捕获固定于一机械手臂一前端上的一校正对象的一图像,其中上述机械手臂的一基座具有一基座坐标系,且上述机械手臂的上述前端与上述基座具有一第一相对关系,上述机械手臂的上述前端与上述校正对象具有一第二相对关系;根据上述图像取得上述校正对象的一三维特征数据;以及根据上述三维特征数据、上述第一相对关系及上述第二相对关系计算取得上述视觉装置与上述机械手臂的上述基座之间的一第三相对关系,以校正上述机械手臂与上述视觉装置的误差。附图说明附图被包括以提供本公开进一步理解且被合并并组成本公开的一部分。附图说明本公开的实施例且连同描述一起用以解释本公开的原理。其可理解附图不一定按比例描绘,一些组件可以超过在实际实施方式的大小来显示,以清楚地说明本公开的概念。图1依据本发明的一实施例实现机械手臂系统的系统配置图。图2显示根据本公开一实施例所述的用于机械手臂系统的校正方法的流程图。图3显示根据本公开一实施例所述的用于机械手臂系统的校正方法的流程图。图4a显示根据本公开一实施例的由点云基元所组成的图像示意图。图4b显示根据本公开一实施例的图像中目标点的示意图。图5a显示根据本公开一实施例的计算装置取得图像中所有目标点的示意图。图5b显示根据本公开一实施例的计算装置将点云信息分组的示意图。图5c显示根据本公开一实施例的平面的示意图。图6a~6b显示根据本公开一实施例的计算装置校正机械手臂与视觉装置的误差的示意图。图7显示用以实现本发明实施例的示例性操作环境。具体实施方式在下文中将参考附图对本公开的各方面进行更充分的描述。然而,本公开可以具体化成许多不同形式且不应解释为局限于贯穿本公开所呈现的任何特定结构或功能。相反地,提供这些方面将使得本公开周全且完整,并且本公开将给本领域技术人员充分地传达本公开的范围。基于本文所教导的内容,本领域的技术人员应意识到,无论是单独还是结合本公开的任何其它方面实现本文所公开的任何方面,本公开的范围旨在涵盖本文中所公开的任何方面。例如,可以使用本文所提出任意数量的装置或者执行方法来实现。另外,除了本文所提出本公开的多个方面之外,本公开的范围还旨在涵盖使用其它结构、功能或结构和功能来实现的装置或方法。应可理解,其可通过权利要求的一或多个组件具体化本文所公开的任何方面。词语「示例性」在本文中用于表示「用作示例、实例或说明」。本公开的任何方面或本文描述为「示例性」的设计不一定被解释为优选于或优于本公开或设计的其他方面。此外,相同的数字在所有若干图标中指示相同的组件,且除非在描述中另有指定,冠词「一」和「上述」包含复数的参考。可以理解,当组件被称为被「连接」或「耦接」至另一组件时,该组件可被直接地连接到或耦接至另一组件或者可存在中间组件。相反地,当该组件被称为被「直接连接」或「直接耦接」至到另一组件时,则不存在中间组件。用于描述组件之间的关系的其他词语应以类似方式被解释(例如,「在…之间」与「直接在…之间」、「相邻」与「直接相邻」等方式)。说明性地,机械手臂前端是能够抓放工件的可控制机器,并且可包括例如机械夹具、真空吸引器、电磁触点等。—般地,如本文中所使用的,机械手臂基座和前端的组合被称为机械手臂。可由用于执行操作的机械手臂访问的三维区域被称为机械手臂的工作空间。图1依据本发明的一实施例实现一机械手臂系统100的一系统配置图。在图1中,机械手臂系统100包括一机械手臂120、一视觉装置130和一计算装置140。机械手臂120具有一前端122、一末端124及多个关节126。末端124设置在一基座150之上。前端122能随用户的需求,装配功能性组件例如激光、点胶头、焊接、切割、夹取等组件。在此实施例中,一校正对象110固定于机械手臂120的前端122上,其中校正对象110是一三维对象,且不具有任何定位标记。关节126能提供机械手臂120旋转动作,并且作为机械手臂120力臂之间的连接。随着各种机械手臂的设计,可能有不同数量的关节与力臂,并不限制于本实施例中。基座150为一可旋转的底座或一固定的底座。视觉装置130可捕捉机械手臂120工作空间的图像,其中每一图像数据包括2d像素数组及每一像素的深度值,上述深度值对应于由该像素成像的点至视觉装置130的距离。由于在2d像素数组中像素的垂直位置和水平位置本身对应于像素相对于视觉装置130所表示点的天顶角和方位角,因此每一图像可通过对应视觉装置130范围内对象的可视点的三维点云来表示。在一实施例中,视觉装置130可以是任何市售的可捕获深度图像的深度摄影机或设备。计算装置140可以有线或无线方式连接至机械手臂120及视觉装置130,并且包含处理器及可以存储程序的一内存,用来控制机械手臂120的动作以及控制并接收视觉装置130所捕获的图像。计算装置140的类型范围从小型手持装置(例如,移动电话/便携计算机)到大型主机系统(例如大型计算机)。便携计算机的示例包括个人数字助理(pda)、笔记本电脑等装置。应可理解,图1所示的计算装置140是一机械手臂系统100架构的示例。图1所示的每个组件可经由任何类型的计算装置来实现,像是参考图7描述的计算装置700,如图7所示。图2显示根据本公开一实施例所述的用于机械手臂系统100的校正方法200的流程图。此方法可执行于如图1所示的机械手臂系统100中。在步骤s205中,视觉装置130捕获固定于机械手臂120一前端上的校正对象110的图像,其中机械手臂120的基座150具有基座坐标系,且机械手臂120的前端与基座150具有一第一相对关系,机械手臂120的前端与校正对象110具有一第二相对关系。在一实施例中,校正对象110是一三维对象,且不具有任何定位标记。接着,在步骤s210中,计算装置140接收上述图像,并根据图像取得校正对象110的三维特征数据。在步骤s215中,计算装置140根据上述三维特征数据、上述第一相对关系及上述第二相对关系计算取得上述视觉装置130与上述机械手臂120的上述基座150之间的一第三相对关系,以校正机械手臂120与视觉装置130的误差。图3显示根据本公开一实施例所述的用于机械手臂系统100的校正方法300的流程图。此方法可执行于如图1所示的计算装置140的处理器中。在步骤s305中,计算装置140接收由一视觉装置130捕获固定于一机械手臂120一前端122上的一校正对象110的图像,其中机械手臂120的一基座150具有一基座坐标系,且机械手臂120的前端122与基座150具有一第一相对关系,机械手臂120的前端122与校正对象110具有一第二相对关系。接着,在步骤s310中,计算装置140根据上述图像取得校正对象110的三维特征数据。在步骤s315中,计算装置140根据三维特征数据、第一相对关系及第二相对关系计算取得视觉装置130与机械手臂120的基座150之间的一第三相对关系,以校正机械手臂120与视觉装置130的误差。需注意的是,在图2、3的校正方法200及300中,机械手臂120前端122与校正对象110为固定的。换言之,机械手臂120前端122无须移动校正对象110来进行校正。此外,由于机械手臂120前端122与校正对象110为固定的,因此视觉装置130也无须由多个方位视角取得校正对象110的图像。下方将详细说明在步骤s210及s310中计算装置140如何根据图像取得校正对象110的三维特征数据。首先,计算装置140根据图像取得图像中校正对象110的点云信息。接着,计算装置140比较每一点云基元的深度值与左右两侧点云基元的深度值。当一第一点云基元的一第一深度值大于左右两侧第二点云基元的第二深度值且第一深度值比第二深度值其中之一大于一第一阈值时,设定上述第一点云基元为一目标点。举例说明,图4a显示根据本公开一实施例的由点云基元所组成的图像示意图。点云基元402的深度值为40毫米(mm),点云基元403的深度值为78毫米,及点云基元404的深度值为32毫米。以点云基元403为例,计算装置140比较点云基元403的深度值与左右两侧点云基元402及404的深度值。当点云基元403的深度值大于左右两侧点云基元402及404的深度值且点云基元403的深度值比点云基元402及404的深度值其中之一大于一第一阈值(例如,10毫米)时,设定点云基元403为一目标点。在计算装置140比较完图像中所有点云基元的深度值与左右两侧点云基元的深度值后,计算装置140将取得图像中所有目标点。如图4b所示,灰色方格即为目标点。在另一实施例中,计算装置140可无须比较每一点云基元的深度值与左右两侧点云基元的深度值。计算装置140可每隔一预定数量的点云基元再进行比较程序。举例来说,如图4a所示,假设预定数量为2。当计算装置140对点云基元403执行完比较程序后,无须对点云基元404及405进行比较程序,直接对点云基元406执行比较程序。须注意的是,当上述预定数量越多时,计算装置140捕获特征数据的速度会越快,但是特征数据的识别率会下降。因此,用户可依操作上的需求调整预定数量。再者,计算装置140根据目标点将点云信息分为多个群组,其中每一群组是一平面信息。更详细地说明,计算装置140比较每一目标点的一目标深度值与周围点云基元的深度值。当一第一目标点的一第一目标深度值与周围点云基元中一第三点云基元的一第三深度值的差值绝对值小于一第二阈值时,判定第三点云基元与第一目标点属于同一群组。在一实施例中,上述第一阈值大于上述第二阈值。图5a显示根据本公开一实施例的计算装置140取得图像中所有目标点的示意图。图5a中具有目标点510、520、521、530及540。以目标点510为例,计算装置140比较目标点510的目标深度值与周围点云基元5101、5102、5103、5104、5105的深度值。当目标点510的目标深度值与点云基元5101、5102、5103的深度值的差值绝对值小于第二阈值(例如,5毫米)时,判定点云基元5101、5102、5103与目标点510属于同一群组。计算装置140接着判断点云基元5101、5102、5103的深度值与周围点云基元的深度值的差值绝对值是否小于第二阈值。当点云基元5101、5102、5103的深度值与周围点云基元的深度值的差值绝对值小于第二阈值时,计算装置140判定点云基元5101、5102、5103周围的点云基元与点云基元5101、5102、5103属于同一群组。依此类推,计算装置140将点云信息分为多个群组,分组结果如图5b所示,每一群组以虚线方框表示。在分组的过程中,有些群组可能会发生结合。如图5b所示,目标点520及521在分组的过程中被计算装置140分为同一群组。此外,上述群组即为在三维空间中真实的平面信息。计算装置140利用上述平面信息计算出边界特征数据,其中边界特征数据可被视为任二平面相交所产生的一边界。计算装置140判定边界的方法是测试任二平面是否存在相交的区域。如图5c所示为例,在图像中存在代表4个平面的4个群组,其中平面1和平面2中有重叠的区域(区域551、552)。计算装置140判断此重叠区域为一边界,并记录此边界由平面1及平面2所生成。因此,计算装置140建立边界特征数据,如表格一所示。·相交平面各平面的面积及位置标准偏差·相交平面各平面的法向量·平面相交的角度·平面相交的长度·平面相交的起点三维位置及终点三维位置表格一在判定完边界后,计算装置140根据边界特征数据找出任三平面的交点。在真实空间中,一三维对象的角点至少要三个相交平面以上才能构成。因此,计算装置140根据上述平面信息及边界特征数据计算是否存在任三个相交平面所形成的区域。当计算装置140判定存在任三个相交平面所形成的区域时,计算装置140设定上述区域为角点区域。计算装置140根据上述角点区域定位出于真实空间中的角点位置,并根据角点位置建立平面特征数据,如表格二所示。表格二接着,计算装置140根据边界特征数据及平面特征数据取得校正对象110的三维特征数据。换言之,无论校正对象110是几面体,计算装置140皆可利用表格一及表格二中之边界特征数据及平面特征数据取得校正对象110的三维特征数据,如表格三所示。表格三在计算装置140取得三维特征数据后,计算装置140可根据三维特征数据、第一相对关系及第二相对关系计算取得视觉装置130与机械手臂120基座150之间的一第三相对关系。下方将详细说明在步骤s215及s315中计算装置140如何取得第三相对关系。由三维特征数据、第一相对关系及第二相对关系及第三相对关系所组成的一三维空间方程式表示如下:az=bx其中a表示三维特征数据,b表示第一相对关系,x表示第二相对关系及z表示第三相对关系。在一实施例中,第三相对关系z包含了位移关系及旋转关系,且第三相对关系z可以用矩阵、球坐标系或其他形式来表示。在本公开中,校正对象110的长宽高、机械手臂120的前端122与基座150之间的第一相对关系b及机械手臂120的前端122与校正对象110之间的第二相对关系x可视为是已知的参数。三维特征数据a可通过计算装置140根据图像取得。因此,视觉装置130与机械手臂120基座150之间的第三相对关系z可由计算装置140利用一优化方程式计算取得,其中优化方程式表示如下。z=min(αnd(∑discorner)+βna(∑argnormal)+γnp(∑planediff))其中α、β、γ为权重值,nd为上述三维对象的顶点间的标准化距离、na为上述三维对象的平面间的标准化角度、np为上述三维对象的平面间的标准化平面强度,discorner为上述三维对象的顶点间的一距离、argnormal为上述三维对象的平面的法向量角度点化以及planediff为上述三维对象的平面化程度。最后,计算装置140根据第三相对关系z校正机械手臂120与视觉装置130的误差。图6a~6b显示根据本公开一实施例的计算装置140校正机械手臂与视觉装置130的误差的示意图。如图6a所示,对象610为计算装置140根据图像取得校正对象110的三维特征数据a,而对象620为机械手臂120的基座150与校正对象110之间的相对关系(即第一相对关系b乘上第二相对关系x)。计算装置140利用优化运算取得第三相对关系z而使得对象610及对象620迭合,以完成校正上述机械手臂120与上述视觉装置130的误差,如图6b所示。如上所述,通过本公开的用于机械手臂系统100的校正方法及装置,无须知道视觉装置130所架设的位置,也无须移动机械手臂120,直接利用优化运算取得视觉装置130与机械手臂120的基座150之间的相对关系,以达到有效提升校正效率及精确度的目的。对于本发明已描述的实施例,下文描述了可以实现本发明实施例的示例性操作环境。具体参考图7,图7显示用以实现本发明实施例的示例性操作环境,一般可被视为计算装置700。计算装置700仅为一合适计算环境的一个示例,并不意图暗示对本发明使用或功能范围的任何限制。计算装置700也不应被解释为具有与所示组件任一或组合相关任何的依赖性或要求。本发明可在计算机程序码或机器可使用指令来执行本发明,指令可为程序模块的计算机可执行指令,其程序模块由计算机或其它机器,例如个人数字助理或其它便携设备执行。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,程序模块指的是执行特定任务或实现特定抽象数据类型的程序代码。本发明可在各种系统配置中实现,包括便携设备、消费者电子产品、通用计算机、更专业的计算装置等。本发明还可在分布式计算环境中实现,处理由通信网络所链接的装置。参考图7。计算装置700包括直接或间接耦接以下装置的总线710、内存712、一或多个处理器714、一或多个显示组件716、输入/输出(i/o)端口718、输入/输出(i/o)组件720以及说明性电源供应器722。总线710表示可为一或多个总线的组件(例如,地址总线、数据总线或其组合)。虽然图7的各个方块为简要起见以线示出,实际上,各个组件的分界并不是具体的,例如,可将显示设备的呈现组件视为i/o组件;处理器可具有内存。计算装置700一般包括各种计算机可读取媒体。计算机可读取媒体可以是可被计算装置700存取的任何可用媒体,该媒体同时包括易失性和非易失性媒体、可移动和不可移动媒体。举例但不局限于,计算机可读取媒体可包括计算机储存媒体和通信媒体。计算机可读取媒体同时包括在用于储存像是计算机可读取指令、数据结构、程序模块或其它数据之类信息的任何方法或技术中实现的易失性和非易失性媒体、可移动和不可移动媒体。计算机储存媒体包括但不局限于ram、rom、eeprom、闪存或其它内存技术、cd-rom、数字多功能光盘(dvd)或其它光盘储存装置、磁盘、磁盘、磁盘储存装置或其它磁储存装置,或可用于储存所需的信息并且可被计算装置700存取的其它任何媒体。计算机储存媒体本身不包括信号。通信媒体一般包含计算机可读取指令、数据结构、程序模块或其它采用诸如载波或其他传输机制之类的模块化数据信号形式的数据,并包括任何信息传递媒体。术语「模块化数据信号」指具有一或多个特征集合或以在信号中编码信息的一方式更改的信号。举例但不局限于,通信媒体包括像是有线网络或直接有线连接的有线媒体及无线媒体,像是声频、射频、红外线以及其它无线媒体。上述媒体的组合包括在计算机可读取媒体的范围内。内存712包括以易失性和非易失性内存形式的计算机储存媒体。内存可为可移动、不移动或可以为这两种的组合。示例性硬件装置包括固态内存、硬盘驱动器、光盘驱动器等。计算装置700包括一或多个处理器,其读取来自像是内存712或i/o组件720各实体的数据。显示组件716向用户或其它装置显示数据指示。示例性显示组件包括显示设备、扬声器、打印组件、振动组件等。i/o端口口718允许计算装置700逻辑连接到包括i/o组件720的其它装置,一些此种装置为内建装置。示例性组件包括麦克风、游戏杆、游戏板、碟形卫星信号接收器、扫描仪、打印机、无线装置等。i/o组件720可提供一自然用户接口,用于处理用户生成的姿势、声音或其它生理输入。在一些例子中,这些输入可被传送到一合适的网络组件以便进一步处理。nui可实现语言识别、触摸与手写笔识别、面部识别、生物识别、在屏幕上以及邻近屏幕的姿势识别、空中手势、头部及眼部追踪以及与计算装置700所显示相关联的触摸识别的任意组合。计算装置700可装备有深度照相机,像是立体照相机系统、红外线照相机系统、rgb照相机系统和这些系统的组合,以检测与识别姿势。另外,计算装置700可以装备有检测运动的加速度计或陀螺仪。加速度计或陀螺仪的输出可被提供给计算装置700显示以呈现沉浸式增强现实或虚拟现实。此外,计算装置700中的处理器714也可执行内存712中的程序及指令以呈现上述实施例所述的动作和步骤,或其它在说明书中内容的描述。在此所公开程序的任何具体顺序或分层的步骤纯为一举例的方式。基于设计上的偏好,必须了解到程序上的任何具体顺序或分层的步骤可在此文件所公开的范围内被重新安排。伴随的方法权利要求以一示例顺序呈现出各种步骤的组件,也因此不应被此所展示的特定顺序或阶层所限制。权利要求中用以修饰组件的「第一」、「第二」、「第三」等序数词的使用本身未暗示任何优先权、优先次序、各组件之间的先后次序、或方法所执行的步骤的次序,而仅用作标识来区分具有相同名称(具有不同序数词)的不同组件。虽然本公开已以实施范例公开如上,然其并非用以限定本案,任何本领域技术人员,在不脱离本公开的精神和范围内,当可做些许更动与润饰,因此本案的保护范围当视后附的权利要求所界定者为准。【符号说明】100机械手臂系统110校正对象120机械手臂122前端124末端126关节130视觉装置140计算装置150基座200方法s205、s210、s215步骤300方法s305、s310、s315步骤401、402、403、404、405、406、407、408点云基元510、520、521、530、540目标点5101、5102、5103、5104、5105点云基元551、552重叠区域1、2、3、4平面610、620对象700计算装置710总线712内存714处理器716显示组件718i/o端口720i/o组件722电源供应器当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1