机器人程序的生成装置及生成方法与流程

文档序号:19152473发布日期:2019-11-16 00:14阅读:247来源:国知局
机器人程序的生成装置及生成方法与流程

本发明涉及生成工业用机器人的程序的装置及其方法,特别地,涉及生成使用机器人对散装供给的部件进行排列的程序。



背景技术:

作为现有的工业用机器人的程序生成方法,已知下述方法,即,对由作业者示范出的部件的移动路径进行3维测量,输出通过其移动路径使部件移动的机器人程序。在程序输出时,考虑机器人的身体性,还对路径的可否实现进行判定。另外,在通过单个机器人不可能移动的情况下,通过多个腕实现的倒手也作为程序的候选而输出(专利文献1)。

还已知在2维平面内对部件的移动路径进行探索的程序生成方法。将作业区域通过从上空观察到的2维进行表现,分割为适当尺寸的区域。从分割出的区域对部件的初始位置和最终位置进行选择。在各区域中对机器人臂的可否到达进行判定,提取从初始位置至最终位置为止的连续的、机器人臂能够到达的区域而设为移动路径。在通过一个机器人臂找不到移动路径的情况下,在多个机器人臂间进行部件的倒手(专利文献2)。

专利文献1:日本特开2015-054378

专利文献2:日本特开2015-058492



技术实现要素:

在如上所述的程序的生成方法中,针对每个移动路径需要机器人的示教作业。在工业用机器人中,关于移动的目标位置,需要进行示教这样的实行找正(actualmatching),作为示教点进行设定。根据机器人手和部件的形状,该示教作业是需要小于或等于1毫米的精度的作业。另外,如果包含机器人手的姿态,则需要以6个自由度进行匹配,如果结合设定和确认,则是花费时间的繁琐的作业。在利用视觉传感器(visionsensor)的作业中,通常来说,成为基本的抓持方法也是通过示教进行设定。

与此相对,在对多个移动路径进行设定的情况下,也存在下述课题,即,希望将示教点通用化,减少示教作业的负荷。特别地,在近年的机器人系统中,还要求应对散装供给的部件,部件的姿态及抓持方法存在多个,因此移动路径增加。

本发明就是为了解决上述的问题而提出的,其关于以多个姿态供给的部件,在针对这些每个姿态的移动路径中,生成将示教点通用化的机器人程序。

本发明所涉及的机器人程序的生成装置,其具有:稳定姿态计算部,其根据部件的3维形状数据对部件在平面上稳定的稳定姿态进行计算;抓持方法计算部,其根据手的3维数据及3维形状数据对通过手抓持部件的抓持方法进行计算;可否组合计算部,其从由该机器人实现的抓持方法和由该机器人以外实现的抓持方法及稳定姿态的组合组,基于包含手的连接目标的信息的系统结构数据、稳定姿态及抓持方法,对手不干涉的组合进行计算;倒手路径计算部,其使用由可否组合计算部计算出的组合而对部件的倒手路径进行计算;路径组计算部,其基于对部件的投入姿态及排列姿态进行指定的姿态数据,根据倒手路径而将示教点的数量成为最小的路径作为路径组进行计算;以及程序生成部,其基于路径组而生成机器人的程序。

另外,本发明所涉及的机器人程序的生成方法,其具有下述工序:稳定姿态计算工序,根据部件的3维形状数据而将部件在平面上稳定的稳定姿态计算出多个;抓持方法计算工序,根据手的3维数据及3维形状数据对通过手抓持部件的抓持方法进行计算;可否组合计算工序,从由该机器人实现的抓持方法和由该机器人以外实现的抓持方法及稳定姿态的组合组,基于包含手的连接目标的信息的系统结构数据、稳定姿态及抓持方法,对手不干涉的组合进行计算;倒手路径计算工序,使用通过可否组合计算工序计算出的组合而对部件的倒手路径进行计算;路径组计算工序,基于对部件的投入姿态及排列姿态进行指定的姿态数据,根据倒手路径而将示教点的数量成为最小的路径作为路径组进行计算;以及程序生成工序,基于路径组而生成机器人的程序。

发明的效果

根据本发明,能够生成在多个移动路径中共享示教点的、示教点数量少的机器人程序。

附图说明

图1是本发明的实施方式1所涉及的机器人系统的一个例子的结构图。

图2是本发明的实施方式1所涉及的程序生成装置的功能结构图。

图3是用于对本发明的硬件结构进行说明的图。

图4是表示本发明的实施方式1所涉及的可否组合计算部输出的可否组合结果的例子的图。

图5是表示对本发明的实施方式1所涉及的移动次数进行说明的组合的一个例子的图。

图6是本发明的实施方式1所涉及的程序生成部输出的机器人程序的流程图的例子。

图7是本发明的实施方式2所涉及的程序生成装置的功能结构图。

图8是本发明的实施方式3所涉及的程序生成装置的功能结构图。

图9是表示处于成为平面的作业位置的部件的例子的图。

图10是本发明的实施方式4所涉及的程序生成装置的功能结构图。

图11是本发明的实施方式5所涉及的程序生成装置的功能结构图。

具体实施方式

实施方式1.

图1是使本发明的代表性的应用对象即散装部件170排列的机器人系统的一个例子的示意图。机器人100是以垂直多关节型机器人100被广泛地普及的结构。部件供给台110是被供给散装的部件170的台。作为部件供给方法,除了向固定于部件供给台110的托盘依次供给部件170的方法以外,还存在以塞满有部件170的托盘为单位进行更换的方法、及将它们组合而成的方法。

利用3维视觉传感器150的识别结果,从部件供给台110仅将一个部件170取出至暂置台120。作为取出方法,已知将机器人手(有时简称为“手”)的手指能够插入的区域导出,向能够插入的区域插入手指而闭合手指,由此将部件170抓持而取出的方法。除此以外,还存在根据部件170的整体或一部分特征部的位置姿态,对抓持位置进行计算的方法。在这里,只要从部件供给台110上的部件170彼此接触的散装的状态起,以部件170彼此没有接触的状态,将部件170载置于暂置台120即可,不限制其方法。在这里,位置姿态是指表示位置及姿态的机器人领域的技术术语,将刚体设定于3维空间上。例如,位置是指设定重心等成为代表点的1点,通过坐标值表现的位置。

所谓姿态,例如能够由旋转变换矩阵决定。

如果在暂置台120上的平面载置部件170,则除了特殊的部件形状以外,部件170的姿态以有限个姿态模式中的任一姿态稳定。在这里,特殊的部件形状是指,具有不改变接地面而能够连续地变更姿态的形状的部件170,例如是具有在将球面或筒状的侧面接地的状态下稳定的形状的部件170。在暂置台120处载置于平面上的部件形状的姿态被限定为有限个,另外针对部件形状的每个姿态,部件170的高度也一定,因此能够通过2维视觉传感器160进行位置姿态的识别。

然后,通过2维视觉传感器160高精度地对部件170的位置姿态进行识别,使机器人100移动为排列台140上的预先决定的部件170的最终姿态。在根据抓持方法的关系无法以最终姿态直接移动至排列台140的情况下,利用能够抓持部件170的倒手夹具130,在机器人100将部件170倒手后以成为最终姿态的方式移动至排列台140。此外,不仅是在倒手夹具130,也可以在将部件170重新载置于暂置台120后进行倒手。

图2是实施方式1所涉及的程序生成装置的功能结构图。在手3维数据200中,包含与在对象的系统中使用的机器人手和倒手夹具130这样的对部件170进行抓持的手的形状相关的3维数据。在这里,在手3维数据200中,可以包含诸如手的抓持部的指定、手指的移动方向、手的朝向等这样的与手相关的附加信息。

在部件形状3维数据210中,包含与通过对象的系统处理的部件170的形状相关的3维数据。在该部件形状3维数据210中,也可以包含部件170的能够抓持区域等与部件170相关的附加信息。图3是用于对硬件结构进行说明的图。手3维数据200及部件形状3维数据210存储于作为数据库的硬盘等存储装置301。例如,输入是由作业者进行的示教所实现的抓持方法。

抓持方法计算部220根据手3维数据200和部件形状3维数据210,对各手中的部件170的抓持方法进行计算,输出该抓持方法。作为对部件170的抓持方法进行计算的方法,提出了对在由手和部件170的接触点包围的区域中是否存在重心位置进行确认的方法等各种方法。另外,抓持方法计算部220也可以按照来自作业者的输入对抓持方法进行计算。作为使作业者进行输入的方法,存在提供部件170和手的3维显示、其3维显示内的手的移动手段的方法等。无论是何种方法,抓持方法计算部220根据手3维数据200和部件形状3维数据210的输入,输出各手中的部件170的抓持方法。如上所述,抓持方法计算部220根据机器人100的手的3维数据及3维形状数据,计算出通过手对部件170进行抓持的大于或等于一个的抓持方法。此外,所谓抓持方法,不仅是对部件170进行抓持的方法这样的狭义的概念,而且是包含对部件170进行抓持而手取得适当的抓持姿态的广义的概念。由此,贯通全文在抓持方法中,还包含有作为技术术语的抓持姿态的概念。

稳定姿态计算部230根据部件形状3维数据210,对将部件170置于平面时的全部的稳定姿态进行计算,作为部件稳定姿态数据而输出。稳定姿态计算部230对多个稳定姿态进行计算。作为稳定姿态的计算方法,例如存在下述方法,即,将包围部件170的最小体积的凸多面体导出,在向包含各面的平面射影出重心时,如果射影出的点处于凸多面体的表面内,则视为稳定姿态。在这里,所谓稳定姿态,是指部件170能够保持静态的稳定性的姿态。只要能根据部件形状3维数据210输出部件170可取的全部的部件稳定姿态数据,则其方法是任意的。如上所述,稳定姿态计算部230根据部件170的3维形状数据对部件170在平面上稳定的稳定姿态进行计算。

系统结构数据240至少包含有连接手的设备的信息,在此基础上,包含有各设备能够访问的访问目标的信息,并且也可以包含有由于作业场所的环境带来的限制等。例如,安装于机器人100的手,能够对部件供给台110、暂置台120、倒手夹具130、排列台140这样的全部设备进行访问。另一方面,安装于倒手夹具130的手无法对其他设备进行访问,需要从安装于机器人100的手进行访问。系统结构数据240存储于作为数据库的存储装置301。

对可否组合计算部250进行说明。从抓持方法计算部220将通过手实现的部件170的抓持方法、从稳定姿态计算部230将部件170可取的全部的部件稳定姿态数据、以及从系统结构数据240将连接手的设备的信息输入至可否组合计算部250。可否组合计算部250对机器人100和倒手夹具130的抓持方法的组合中的倒手可否实现、以及机器人100的抓持方法和稳定姿态的组合中的抓持可否实现进行计算,作为可否组合结果而输出。

在倒手可否实现的计算中,在与机器人100连接的手的抓持方法和与倒手夹具130连接的手的抓持方法的组合中,如果2个手不干涉,则判断为能够倒手。反之,在手发生干涉的情况下,判断为不可倒手。另外,在抓持可否实现的计算中,在与机器人100连接的手的抓持方法和稳定姿态的组合中,如果手不与部件170所接地的平面发生干涉,则判断为能够抓持。反之,在干涉的情况下判断为不可抓持。在判定为能够抓持的稳定姿态和抓持方法的组合中,也能够使用其抓持方法,以其稳定姿态放置部件170。如上所述,可否组合计算部250从稳定姿态及抓持方法的任一者和抓持方法的组合组中,基于包含手的连接目标的信息的系统结构数据240、稳定姿态及抓持方法,计算出大于或等于一个的手不会干涉的组合。换言之,可否组合计算部250根据稳定姿态及抓持方法中的任一者和抓持方法的组合计算手不会干涉的组合。

图4是表示可否组合计算部250输出的可否组合结果的例子的图。示出了是否能够直接进行从在行中记载的状态向在列中记载的状态进行部件170的倒手,即,部件170的移动。抓持方法1、2、3是与机器人100连接的手的抓持方法,抓持方法4、5是与倒手夹具130连接的手的抓持方法。稳定姿态1、2、3是部件170的平面上的稳定姿态,在暂置台120和排列台40中是共通的。

在这里,以具有一个臂的机器人100由1台构成的机器人为前提。从第6行至第8行表示从暂置台120由机器人100对部件170进行抓持的情况,从第6列至第8列表示由机器人100向排列台140载置部件170的情况。此外,例如,如果机器人100为2台,则对2台机器人100进行区分,追加与所追加的机器人100相对应的抓持方法。

在机器人100的抓持方法和倒手夹具130的抓持方法之间,能够直接倒手部件170的组合设为“○”,发生干涉而无法直接倒手部件170的组合设为“×”。另外,在机器人100的抓持方法和暂置台120或排列台140的稳定姿态的组合中,能够直接抓持部件170的组合设为“○”,与平面发生干涉而无法直接抓持部件170的组合设为“×”。

例如,在机器人100存在多个的情况下,有时在多个机器人100间直接倒手部件170。更具体地说,在一个机器人100的抓持方法a和另一个机器人的抓持方法b中,如果不发生干涉而能够直接倒手部件170,则成为“○”。同样地,即使是一台机器人100,在存在多个臂的情况下,也针对每个臂规定抓持方法。

另外,倒手夹具130也可以存在多个,但倒手夹具130的抓持方法无法直接变化。并且,无法从通过倒手夹具130抓持着部件170的状态起直接移动为排列台140的稳定姿态。同样地,在暂置台120载置的部件170也不能直接移动至倒手夹具130或排列台140。如上所述,从4行4列至8行8列为止全部成为“-”。如上所述,作为组合而进行了考虑,但将无法直接倒手部件170,即,部件170不进行倒手就无法直接移动的情况作为“×”进行显示,作为组合没有意义的情况设为“-”。

另外,并不限定于抓持时的手之间的干涉,也可以考虑直至抓持为止的移动时的干涉。移动是指例如手的爪的开闭、直至抓持位置为止的手的移动。就直至抓持位置为止的移动方向而言,单纯地是从手的基部向前端方向,但除此以外也可以由作业者设定。

在倒手路径计算部260中,从由可否组合计算部250输出的可否组合结果中,在将各组合中的一者设为初始状态,将另一者设为最终状态的路径中,计算全部的移动次数成为最小的路径,作为倒手路径组而输出。

图5是表示对实施方式1所涉及的移动次数进行说明的组合的一个例子的图。更具体地说,是将抓持方法及稳定姿态的组合中的、由倒手路径计算部260进行计算的部件170的最小的移动次数汇总的图。i行j列的项目表现出从i的状态至j的状态为止的最低移动次数。从第6行至第8行表示从暂置台120的稳定姿态起的移动,从第6列至第8列表示向排列台140的稳定姿态的移动。

在这里,对图5的移动次数的统计方法进行说明。如果对图4和图5进行比较,则在图4中组合成为“○”的部位,无需倒手部件170而能够直接移动,因此在图5中移动次数全部成为1次。另外,在如从抓持方法1向抓持方法1这样的相同抓持方法的情况下,部件170不移动,因此移动次数成为0次。另一方面,在成为从暂置台120的稳定姿态1向排列台140的稳定姿态1的组合(在图4中“-”的部位)中,例如,从暂置台120的稳定姿态1向抓持方法1、从抓持方法1向排列台140的稳定姿态1,在图4中2次经由组合成为“○”的部位,由此能够使部件170移动,因此移动次数成为2次。并且,即使在图4中成为“×”的部位处,也能够多次经由成为“○”的组合(路径),使部件170移动。

例如,第1行2列是从抓持方法1向抓持方法4、从抓持方法4到达抓持方法2,因此作为移动次数而成为2次。6行6列是从暂置台120的稳定姿态1向抓持方法1、从抓持方法1到达排列台140的稳定姿态1,因此作为移动次数而成为2次。6行8列是从暂置台120的稳定姿态1向抓持方法1、从抓持方法1向抓持方法4、从抓持方法4向抓持方法2、从抓持方法2到达排列台140的稳定姿态3,因此作为移动次数而成为4次。如以上所述,移动次数的计数方法是成为最小的图4的“○”的组合(路径)的次数。

实现最小的移动次数的路径存在多个。例如,6行8列除了上述以外,还有从暂置台120的稳定姿态1起依次经由抓持方法3、抓持方法5、抓持方法2而到达排列台140的稳定姿态3,因此虽然路径不同,但移动次数相同为4次。在倒手路径计算部260中,在所有初始状态和最终状态的组合中,对具有最小的移动次数的全部路径进行计算,作为倒手路径组而输出。

在这里,提取出移动次数成为最小的路径,但也可以提取移动时间短的路径。在各移动单纯、机器人100的移动时间在任何移动时间都几乎相同的情况下,能够通过移动次数来近似移动时间。此外,在包含复杂的移动的情况下,与单纯的移动的情况相比较而移动时间变得更大。在如上所述的情况下,仅通过移动次数难以对移动时间进行近似。因此,可以提取实现最小的移动时间的路径和相对于该移动时间的差小的路径。移动时间的差可以为几秒这样的绝对值,也可以为百分之几这样的比例。

倒手路径计算部260在从各组合的初始状态至最终状态的路径中,计算全部的部件170的移动次数成为最小的路径。如在前面段落中说明所述,部件170的移动次数成为最小的路径的组并不一定包含部件170的移动时间成为最小的路径。因此,倒手路径计算部260也可以不对移动次数而是对移动时间进行计算,根据最短的移动时间对在规定的移动时间内能够移动的全部路径进行计算。在这里,规定的移动时间是指,相对于最短的移动时间为几秒这样的绝对值,或最短的移动时间的百分之几这样的比例。另外,在该情况下,取代图5,或与图5的移动次数的信息组合,具有移动时间的信息。如上所述,倒手路径计算部260使用由可否组合计算部250计算出的组合而对部件170的倒手路径进行计算。

姿态数据270设定有在暂置台120上处理的部件170的姿态即投入姿态数据、以及最终在排列台140上排列的姿态即排列姿态数据这两种姿态数据。姿态数据270存储于作为部件170的投入姿态数据及排列姿态数据的数据库的存储装置301。

路径组计算部280基于姿态数据270的数据及由倒手路径计算部260计算的路径,从指定出的投入姿态到达至最终的排列状态的倒手路径组中,将适当的路径的组合作为路径组进行计算而输出。在这里适当是指,例如,示教点的数量成为最小的路径的组合。如果通过其他言语表现,则是在图4中填有“○”的组合中,所使用的组合成为最小的路径的组合。如上所述,路径组计算部280基于对部件170的投入姿态及排列姿态进行指定的投入及排列姿态数据,根据倒手路径计算示教点的数量成为最小的路径作为路径组。

在程序生成部290中,生成将由路径组计算部280输出的路径组实现的机器人程序而输出。此外,路径组计算部280输出的适当的路径的组合即路径组的数目并不限定于1个。有时路径组计算部280输出多个路径组,在该情况下,在程序生成部290中,生成与各个路径组相匹配的机器人程序而输出。在生成多个机器人程序的情况下,例如,只要适当选择示教作业者应用哪个机器人程序即可。

抓持方法计算部220、稳定姿态计算部230、可否组合计算部250、倒手路径计算部260、路径组计算部280及程序生成部290中的运算,是通过图3的处理器300运算的,程序生成部290输出程序。

机器人程序表现机器人100的移动及信号处理的流程,例如,移动的目标位置通常作为位置变量来处理。该位置变量通过示教作业以实行找正被输入。因此,位置变量例如作为初始值而全部被输入0,实际上无法使机器人100运转。

在本发明中,在程序中被利用的位置变量,即使在不同的移动路径中,如果是相同的目标位置则被共享。在使用图4及图5的例子中,设为在从暂置台120的稳定姿态3向排列台140的稳定姿态1移动的移动路径、以及从暂置台120的稳定姿态3向排列台140的稳定姿态3移动的移动路径中,包含于两个移动路径中,将暂置台120的稳定姿态3通过机器人100的抓持方法2进行抓持的目标位置,作为共通的示教点而共享。另外,在从机器人100的抓持方法1向倒手夹具130的抓持方法4交付部件170时的机器人100的目标位置、以及从倒手夹具130的抓持方法4向机器人100的抓持方法1交付部件170时的机器人100的目标位置处,作业虽不同但可以是相同的目标位置,作为共通的示教点而共享。

图6是程序生成部290输出的机器人程序的流程图的例子。初始化s501是在机器人程序启动时仅执行一次的处理。进行变量及参数的初始化、向初始位置的移动等处理。接下来,3维视觉传感器识别处理s502是通过3维视觉传感器150对部件供给台110的散装部件170进行识别,对机器人100用于抓持部件170的目标位置姿态进行计算的处理。另外,从散装的取出s503,是基于3维视觉传感器识别s502的结果,从散装状态的部件170中取出部件170而投入到暂置台120的处理。为了简化说明,在这里假设仅取出一个部件170。

2维视觉传感器识别处理s504,是通过2维视觉传感器160对在暂置台120设置的部件170的位置姿态进行识别的处理。接下来,移动路径选择s505是根据部件170的位置姿态的识别结果,对部件170为哪个稳定姿态进行判定,选择从暂置台120至排列台140为止的移动路径的处理。是在由路径组计算部280输出的路径组中,对从通过2维视觉传感器160识别出的稳定姿态开始的移动路径进行选择的处理。并且,部件排列s506是以选择出的移动路径,使暂置台120上的部件170移动至排列台140的一系列的处理。在通过部件排列s506使部件170排列后,返回至3维视觉传感器识别处理s502。

在该流程图中,为了简化说明,以从散装状态起仅将一个部件170取出至暂置台120的情况为前提。此外,在从散装的取出s503的工序中,一次取出多个部件170是常见的。由于这种情况,因此作为处理的流程,包含错误恢复而存在各种变化。

例如,还存在如下流程:以取出多个部件170为前提,在部件排列s506后返回至2维视觉传感器识别处理s504,在识别出的结果为在暂置台120不存在部件170的情况下,返回至3维视觉传感器识别处理s502。本发明也可以着眼于,在确定部件170的位置姿态后,生成部件170的移动程序,移动程序周边的程序结构可以是任意结构。

最后,作业者示教在由程序生成部290输出的程序中利用的位置变量,设为机器人100能够移动的示教点,由此完成能够运行的机器人程序。

以上的说明,为了使说明简单,对应用的机器人系统进行了限定,也限定了发明内的各功能的处理,但并不限定于此。例如,也可以设为利用多个机器人100的机器人系统。

如果利用倒手夹具130等,通过一台机器人100进行多个工序,则每个部件170的平均排列时间延长。例如,在图5中,为了将暂置台120的稳定姿态1以排列台140上的稳定姿态3进行排列,利用了倒手夹具130,因此伴有4次移动。假设,如果将该工序通过2台机器人100进行流水线处理,则作为系统整体,能够以与1台机器人100通过2次移动进行排列相同的时间持续排列。如上所述,如果使用多个机器人100,则能够提高系统的吞吐量。

如上所述在利用多个机器人100的情况下,通过系统结构数据240设定出的、各机器人100的可访问目标(手的连接目标)不同。在机器人100为1台的结构中,该机器人100能够访问全部的台(部件供给台110、暂置台120、排列台140)及倒手夹具130,但在组成由多个机器人100进行分工这样的系统的情况下,各机器人100的手的连接目标不同。另外,由于还发生与其他机器人100的倒手,因此作为访问目标,除了部件供给台110、暂置台120、排列台140、倒手夹具130之外,还追加其他机器人100。作为系统结构数据240,需要这些手的连接目标的信息。

在可否组合计算部250中,考虑各手的访问目标,对于不能访问的组合判断为不可组合。倒手路径计算部260和路径组计算部280的处理不变。另外,程序生成部290输出多个机器人100的程序,但成为与1台机器人100的处理相同的输出。

在图1中,作为应用的机器人100系统,说明了将3维视觉传感器150和2维视觉传感器160分别固定于部件供给台110和暂置台120上的情况。并不限定于此,可以不利用其它硬件,而是通过3维视觉传感器150实施2维视觉传感器160的处理。另外,也可以不将各个照相机(3维视觉传感器150、2维视觉传感器160等)固定在台上,而是向安装于上空的驱动部安装,可以安装于机器人100而能够移动。无论这些照相机的设置结构如何,都能够应用本发明。

在可否组合计算部250中,基于系统结构数据240所包含的手的连接目标信息,对判断可否的组合进行了限定。例如,在图4中,没有对安装于机器人100的手的抓持方法之间和安装于倒手夹具130的手的抓持方法之间的组合的可否进行计算。

在机器人100为多个的情况下根据连接目标的机器人100而能够访问的目标不同,不可访问(可否实现倒手)的组合也当然与图4的情况不同。因此,可以忽略与何处连接的限制,而是通过所有的抓持方法及稳定姿态所涉及的组合来实施可否的判断。在系统内的多个仪器中利用相同的手的情况下,有时不是针对连接目标不同的手的每一个计算可否组合,而是针对每个手计算的情况下计算的组合较少。

在该情况下,系统结构信息在倒手路径计算部260中初次被利用。在倒手路径计算部260中,根据连接目标,手的能够访问的目标改变,因此需要手连接目标的信息。

至此为止,说明了针对部件170能够实现的所有的稳定姿态,包含从暂置台120向最终的排列姿态的移动路径的程序的生成方法。关于通过程序生成的移动路径,可以具有自由度。

首先,有时无需对由稳定姿态计算部230导出的所有稳定姿态进行处理。根据部件170,有时存在非常不稳定、实际上不会出现于暂置台120上的稳定姿态。例如,虽然能够使笔站立,但其姿态变得非常不稳定,在粗暴地投入至暂置台120的情况下,其发生概率小至能够忽略的程度。针对上述这样的姿态的程序的创建、调整成为无用的作业。

因此,关于非常不稳定的稳定姿态,可以由稳定姿态计算部230从稳定姿态去除。将即使在赋予了小的外力的情况下也会向其他稳定姿态转换的稳定姿态排除在外。例如,将如笔这样的细长形状的部件立起的稳定姿态。另外,除了通过稳定姿态计算部230去除这些数据以外,也可以通过姿态数据270将这些数据排除在外。

另外,也可以作为移动路径的初始状态而对稳定姿态以外进行设定。由此,包含有机器人100抓持着部件170的状态起的移动路径的程序被输出。例如,在通过随机的方法对部件170进行抓持,并对其抓持状态进行图像识别这样的系统中利用。

并且,作为移动路径的最终状态,不仅可以设定一个稳定姿态,也可以设定多个稳定姿态或多个抓持状态。此时,可以将所有初始状态和最终状态的组合作为移动路径而生成程序,可以通过姿态数据270对进行处理的初始状态和最终状态的组合进行设定。

在本实施方式中记载的机器人系统的方式及各功能的处理是一个例子,并不限定于此。另外,也能够通过由作业者输入的来自外部的数据输入对一部分的功能进行补充。

另外,也可以将路径组计算部280输出的路径组提示给作业者,由作业者对移动路径进行选择、修正。关于其他功能,也可以将输出结果及候选提示给作业者,由作业者进行选择或修正。

以上,本发明的机器人程序生成装置具有:抓持方法计算部220,其根据手和部件170的3维形状数据而输出部件170的抓持方法;稳定姿态计算部230,其根据3维形状数据对部件170的在平面上稳定的姿态进行计算,作为部件170的稳定姿态而输出;系统结构数据240,其至少包含手的连接目标信息;可否组合计算部250,其根据部件170的抓持方法及部件170的稳定姿态,对2个抓持方法间的组合及抓持方法中的一个和部件170的稳定姿态中的一个之间的组合的至少某一方的组合中的、关于手的干涉进行判定,输出可否组合;倒手路径计算部260,其根据可否组合,对部件170的抓持方法及稳定姿态的至少某一方的组合中的、所有的倒手路径进行计算而输出;路径组计算部280,其基于对部件170的投入姿态及最终的排列姿态进行指定的姿态数据270,根据倒手路径,将示教点的数量成为最小的路径的组合作为路径组而输出;以及程序生成部290,其根据路径组而输出机器人的程序。

换言之,本发明的机器人程序生成装置具有:稳定姿态计算部,其根据部件的3维形状数据对部件在平面上稳定的稳定姿态进行计算;抓持方法计算部,其根据手的3维数据及3维形状数据对通过手抓持部件的抓持方法进行计算;可否组合计算部,其从由该机器人的抓持方法和由该机器人以外实现的抓持方法及稳定姿态的组合组,基于包含手的连接目标的信息的系统结构数据、稳定姿态及抓持方法,对手不干涉的组合进行计算;倒手路径计算部,其使用由可否组合计算部计算出的组合而对部件的倒手路径进行计算;路径组计算部,其基于对部件的投入姿态及排列姿态进行指定的姿态数据,根据倒手路径而将示教点的数量成为最小的路径作为路径组进行计算;以及程序生成部,其基于路径组而生成机器人的程序,因此在多个移动路径中共享示教点,由此能够生成示教点数量少的机器人程序。由此,能够减少作业者所花费的示教作业的调整工时。如上所述,可否组合计算部根据稳定姿态及抓持方法中的任一者和抓持方法的组合组而计算出手不干涉的大于或等于一个的组合。

实施方式2.

在实施方式1中,在生成机器人程序后,作业者示教出示教点,但也可以通过程序而生成示教点的数据。在这里,以与实施方式1的差异点为中心进行说明。关于说明不充分的部分,是与实施方式1相同的结构。

图7是本发明的实施方式2所涉及的程序生成装置的功能结构图。为了简化说明,首先,对机器人100为1台的情况进行说明。此外,在图中,标有同一标号的部分,是相同或者与其相当的部分,这在说明书的全文、附图的全图中是共同的。并且,在说明书全文中表示的结构要素的方式只是例示,并不限定于这些记载。

在系统结构数据240中,在实施方式1的信息的基础上,对暂置台120、排列台140、倒手夹具130的位置信息进行设定。系统结构数据240除了手的连接目标的信息以外,还包含通过手进行作业的作业位置的数据。这些位置信息是通过机器人100坐标系的基、机器人100的相对于基准位置的相对位置而设定的。

示教点输出部600通过机器人100的坐标系的基,对在由程序生成部290输出的程序中使用的示教点进行计算。首先,从路径信息提取所输出的程序的示教点是哪个位置的作业。机器人100的作业位置是指暂置台120、排列台140、倒手夹具130。在该作业位置的位置信息中设置有部件170的情况下,对实现了通过路径信息设定出的抓持方法时的机器人100的位置姿态数据进行计算,作为示教点而输出。此外,示教点输出部600通过处理器300进行运算,示教点输出部600输出示教点。

在这里,在实现手的位置姿态时,机器人100的位置姿态存在多个,机器人100的位置姿态数据有时不能唯一地确定。在如上所述的情况下,可以将实现其手的位置的机器人100的位置姿态的哪个作为示教点而输出,也可以以能够从多个示教点的候选中由作业者选择的方式提示。

在作业位置不是平面而是倒手夹具130的情况下,基于倒手夹具130的位置和倒手夹具130的抓持方法,决定部件170的设置位置姿态。

接下来,在利用多个机器人100的情况下,在系统结构数据240中包含各机器人100的设置位置,根据距该机器人100的相对位置对示教点数据进行计算。另外,在机器人100间进行交接的情况下,通过系统结构数据240对至少某一方的机器人100在交接作业时的位置姿态进行设定。

在图7中,在通过程序生成部290生成程序后,通过示教点输出部600输出了示教点数据,但也可以在程序生成部290之前的阶段输出。作业者对作业位置和抓持方法进行设定,由此能够输出示教点数据。因此,如果是在通过抓持方法计算部220设定抓持方法后,则能够在来自作业者的任意的请求定时输出示教点数据。

以上,根据本实施方式,具有移动路径示教点输出部600,由此具有能够使示教作业省力的效果,该移动路径示教点输出部600通过系统结构数据240对作业位置的数据进行设定,设为在作业位置处存在部件170而对实现抓持方法的手的位置进行计算,输出示教点数据。

换言之,本发明的机器人程序生成装置具有:稳定姿态计算部,其根据部件的3维形状数据对部件在平面上稳定的稳定姿态进行计算;抓持方法计算部,其根据手的3维数据及3维形状数据对通过手抓持部件的抓持方法进行计算;可否组合计算部,其从由该机器人实现的抓持方法和由该机器人以外实现的抓持方法及稳定姿态的组合组,基于包含手的连接目标的信息的系统结构数据、稳定姿态及抓持方法,对手不干涉的组合进行计算;倒手路径计算部,其使用由可否组合计算部计算出的组合而对部件的倒手路径进行计算;路径组计算部,其基于对部件的投入姿态及排列姿态进行指定的姿态数据,根据倒手路径而将示教点的数量成为最小的路径作为路径组进行计算;以及程序生成部,其基于路径组而生成机器人的程序,因此能够生成在多个移动路径中共享示教点的、示教点数量少的机器人程序。另外,输出示教点,因此能够减少作业者的调整工时。此外,可否组合计算部根据稳定姿态及抓持方法中的任一者和抓持方法的组合组而计算出手不干涉的大于或等于一个的组合。

实施方式3.

在实施方式2中生成了示教点的数据,但也可以对在示教点机器人100能否采取位置姿态进行判定,输出示教点。有时机器人100无法采取示教位置姿态(无法实现)。在这里,以与实施方式1及2的差异点、特别是与实施方式2的差异点为中心进行说明。关于说明不充分的部分,是与实施方式1及2相同的结构。

即使试图实施实施方式1及2,但有时机器人100无法采取示教位置姿态。作为容易理解的例子,存在下述情况,即,位于台上的部件170过远而机器人100的手够不到。除此以外,有时机器人100的关节角度成为无法实现的角度。即使机器人100具有6自由度,也并不是所有关节都具有360度的可动区域。另外,还存在机器人100的一部分进入至机器人100主体内这样的间接角度的组合。因此,根据机器人100的关节,通常可动区域受到限制。另外,针对每个机器人100,该可动区域也不同,成为预定使用的机器人100固有的限制条件。并且,在这里有时加入由地面及壁这样的外部环境引起的可动作区域的限制。如上所述,有时通过示教点,机器人100无法采取示教位置姿态(无法实现)。

图8是本发明的实施方式3所涉及的程序生成装置的功能结构图。基于与要使用的机器人100相关的信息,通过示教点判定部700对机器人100是否能够在成为示教点的位置处实现示教位置姿态进行判定。此外,示教点判定部700也可以在图8的可否组合计算部250的工序之后进行。

可是,如果示教点判定部700的工序处于可否组合计算部250的工序之前,则能够将示教点判定部700的判定结果反映于可否组合计算部250的工序中,因此能够进一步实现作业者所涉及的示教作业的省力化。另外,示教点输出部601只要是示教点判定部700的工序以后,则可以处于任何位置。在与机器人100相关的信息中,包含有将手的连接目标的信息及手进行作业的作业位置的数据包含在内的系统结构数据240、稳定姿态和抓持方法。

在系统结构数据240设定要使用的机器人100的信息、至少手的连接目标的信息及手进行作业的作业位置的数据,通过示教点判定部700对可否能够实现示教点进行判定。除此以外,在系统结构数据240中,有时包含有预定使用的机器人100所具有的固有的限制条件、根据需要由外部环境引起的限制。

将示教点判定部700的判定结果由示教点输出部601输出。作为示教点判定部700的判定结果,例如,在无法实现(否)的情况下,通过示教点输出部601向作业者输出错误,在能够实现(可)的情况下,输出示教点。此外,示教点判定部700及示教点输出部601通过处理器300进行运算。

如以上所述,系统结构数据240包含手的连接目标的信息及手进行作业的作业位置的数据,具有对在部件170位于作业位置时成为示教点的位置处,机器人100能够采取示教位置姿态进行判定的示教点判定部700,因此能够事先验证系统结构的实现性。

在这里,关于示教点判定部700的判定方法的例子进行详述。图9是表示处于成为平面的作业位置(例如,暂置台120)的部件170的例子的图。图9是从上方观察处于暂置台120上的部件170的状态的例子,图9的(a)至(i)是使部件170在成为平面的暂置台120上,绕与平面垂直的轴(法线)向右侧依次旋转45度的情况。旋转一周,从而部件170在图9的(a)和(i)中成为相同的位置。图9的(a)和(i)是在平面内旋转后的设置角度相同。

示教点判定部700一边在由系统结构数据240指定出的作业位置处使部件170旋转,一边判断在成为示教点的位置处可否实现机器人100的示教位置姿态。具体地说,在将部件170投入至暂置台120的情况下,如图9所示,使部件170在平面上绕与平面垂直的轴(法线)进行旋转。为了对机器人100是否始终能够实现对部件170进行抓持的位置姿态进行判定,需要使部件170在平面内旋转而进行判定。以在平面内旋转的整个范围的设置角度判定可否能够实现抓持方法。

示教点判定部在部件170处于成为平面的作业位置的情况下,在使部件170绕与平面垂直的轴(法线)旋转的整个范围中机器人100能够采取示教位置姿态的情况下判定为可(能够采取)。如果判定为可,则在整个范围中机器人100能够采取示教位置姿态,因此在

图9的例子中,无论是(a)至(i)为止的哪个设置角度,机器人100当然都能够采取示教位置姿态。如上所述,对使用的机器人100的位置姿态的可否实现进行判定,由此得到能够事先验证系统结构的实现性的效果。

如上所述,本发明的机器人程序生成装置具有:稳定姿态计算部,其根据部件的3维形状数据对部件在平面上稳定的稳定姿态进行计算;抓持方法计算部,其根据手的3维数据及3维形状数据对通过手抓持部件的抓持方法进行计算;可否组合计算部,其从由该机器人实现的抓持方法和由该机器人以外实现的抓持方法及稳定姿态的组合组,基于包含手的连接目标的信息的系统结构数据、稳定姿态及抓持方法,对手不干涉的组合进行计算;倒手路径计算部,其使用通过可否组合计算部计算出的组合而对部件的倒手路径进行计算;路径组计算部,其基于对部件的投入姿态及排列姿态进行指定的姿态数据,根据倒手路径将示教点的数量成为最小的路径作为路径组进行计算;以及程序生成部,其基于路径组而生成机器人的程序。此外,可否组合计算部根据稳定姿态及抓持方法的任一者和抓持方法的组合组而计算出手不干涉大于或等于一个的组合。

特别地,示教点判定部在部件处于成为平面的作业位置的情况下,在使部件绕与平面垂直的轴旋转的整个范围中机器人能够采取示教位置姿态的情况下判定为可。由此,能够生成在多个移动路径中共享示教点的、示教点数量少的机器人程序。另外,对要使用的机器人的位置姿态的可否实现进行判定,由此能够判断系统结构的执行性。

实施方式4.

在实施方式3中,示教点判定部700在部件170处于成为平面的作业位置的情况下,在使部件170绕与平面垂直的轴旋转的整个范围中机器人100能够采取示教位置姿态的情况下判定为可。在实施方式4中,如果不是使部件170绕与平面垂直的轴旋转的整个范围,而是规定的设置角度的范围内,则在机器人100能够采取示教位置姿态的情况下,作为机器人100能够采取示教位置姿态的情况,也可以生成将能够实现抓持的抓持方法组合而成的程序。

图10是本发明的实施方式4所涉及的程序生成装置的功能结构图。示教点判定部701与示教点判定部700不同,如果不是使部件170绕与平面垂直的轴旋转的整个范围,而是在规定的设置角度的范围内,则在成为示教点的位置处机器人100能够采取教位置姿态的情况下,关于规定的设置角度的范围内而判定为可。关于其他方面,在示教点判定部701和示教点判定部700中没有区别。

针对抓持方法和稳定姿态的每个组合,例如,在暂置台120上使部件170旋转时,对机器人100能够实现抓持方法的部件170的旋转范围进行计算。示教点判定部701在部件170处于成为平面的作业位置的情况下,使部件170绕与平面垂直的轴(法线)旋转,对在成为示教点的位置处机器人100能够采取示教位置姿态的设置角度的范围进行计算而判定为可。

例如,在图9的例子中,如果处于(b)至(d)和(f)至(h),则使部件170绕与平面垂直的轴旋转而机器人100如果能够采取示教位置姿态,则在相应的设置角度的范围示教点判定部701判定为可。如上所述,设置角度的范围也可以在360度中在多个范围中对应于可。另外,在图9的例子中是以45度为单位,但这只不过是例示,在决定设置角度的范围时,也能够以更精细的单位或者更大的单位进行设定。

抓持路径计算部800对通过手抓持处于在示教点判定部701中成为可的设置角度的范围的部件170的路径进行计算。针对部件170的每个稳定姿态,在平面内旋转的整个范围的设置角度中,能够对机器人100能够实现位置姿态的设置角度进行确定,因此能够对抓持方法的组合进行计算。

抓持路径计算部800关于成为平面的作业位置(例如,暂置台120)的部件170,对通过手抓持在示教点判定部701的判定结果中成为可的设置角度的部件170的路径进行计算,计算出抓持路径。由此,并不是一律设为否,而是只要是处于规定的范围内的设置角度的部件170,就能够生成对使用了可抓持的抓持方法的移动路径进行选择的程序。

示教点输出部602进行与示教点输出部600、601相同的动作,因此通过机器人100的坐标系的基对示教点进行计算并输出。另外,示教点输出部602也可以在示教点判定部701的工序及其以后的任意位置。此外,示教点判定部701、抓持路径计算部800及示教点输出部602通过处理器300进行运算。

以上,示教点判定部具有抓持路径计算部,该抓持路径计算部在部件处于成为平面的作业位置的情况下,对使部件绕与平面垂直的轴旋转而成为可的设置角度进行计算,对通过手抓持在示教点判定部中成为可的设置角度的部件的路径进行计算,因此在部件170旋转至成为平面的作业位置时,即使在仅通过一个抓持方法无法对应的情况下,也能够将多个抓持方法组合而输出对应的程序。

如上所述,关于本发明的机器人程序生成装置,本发明的机器人程序生成装置具有:稳定姿态计算部,其根据部件的3维形状数据对部件在平面上稳定的稳定姿态进行计算;抓持方法计算部,其根据手的3维数据及3维形状数据对通过手抓持部件的抓持方法进行计算;可否组合计算部,其从由该机器人实现的抓持方法和由该机器人以外实现的抓持方法及稳定姿态的组合组,基于包含手的连接目标的信息的系统结构数据、稳定姿态及抓持方法,对手不干涉的组合进行计算;倒手路径计算部,其使用由可否组合计算部计算出的组合对部件的倒手路径进行计算;路径组计算部,其基于对部件的投入姿态及排列姿态进行指定的姿态数据,根据倒手路径将示教点的数量成为最小的路径作为路径组进行计算;以及程序生成部,其基于路径组而生成机器人的程序。此外,可否组合计算部根据稳定姿态及抓持方法的任一者和抓持方法的组合组而计算出手不干涉的大于或等于一个的组合。

特别地,示教点判定部具有抓持路径计算部,该抓持路径计算部在部件处于成为平面的作业位置的情况下,对使部件绕与平面垂直的轴旋转而机器人能够采取示教位置姿态的设置角度进行计算,在部件处于通过示教点判定部能够采取示教位置姿态的设置角度的情况下,作为通过手抓持部件的路径进行计算,因此在部件旋转至成为平面的作业位置时,即使在仅通过一个抓持方法无法应对的情况下,也能够输出将多个抓持方法组合而应对的程序。

实施方式5.

实施方式5相对于实施方式1至实施方式4中的任一个实施方式追加了下述构成,即,生成与机器人的运转状况相应地,限制手的移动速度,在此基础上要求维护作业的程序。

在散装部件170的排列系统中,难以以没有部件170的遗漏等作业失败的状态持续运转,需要在适当的定时实施维护作业。在散装部件170的使用中,部件170的位置姿态的不确定性高,另外,混入不合格部件170的可能性也高。因此,如一般化设备那样,难以实现接近100%的作业成功率。

因此,在每次作业失败时进行由作业者实施的恢复作业的运用效率差,要求容许某一定量的失败而持续运转的系统。在这里,容许的失败是指在移动过程中掉落部件170等不妨碍排列其他部件170的作业的失败。

在掉落过多的部件170并堆积的情况下会发生问题。另外,从部件170管理的观点出发,掌握掉落的部件170的种类和数量是重要的。并且,如果知晓在系统内的哪个工序中掉落部件170,则通过维护作业者实施的部件170的回收会变得容易。

图11是本发明的实施方式5所涉及的程序生成装置的功能结构图。在这里,相对于基本形的实施方式即实施方式1,追加有维护作业程序生成部900和运转状况数据910。运转状况数据910是与机器人的运转状况相关的数据库,存储于存储装置301。另外,维护作业程序生成部900中的运算由处理器300进行运算,维护作业程序生成部900输出程序。

维护作业程序生成部900向由程序生成部290输出的机器人程序,生成要求维护作业的程序而输出。维护作业程序生成部900的输出,可以向由程序生成部290生成的程序追加而输出程序。作为追加的程序,如果运转履历满足一定的条件,则将机器人100的移动速度限制为安全速度,要求维护作业。

在这里,运转履历的一定条件是指,例如从前一次的维护作业起,发生了指定次数的作业失败等。关于作业失败,例如,能够通过由2维视觉传感器160实现的暂置台120的识别、或由机器人100的力觉传感器实现的抓持部件170的监视、排列台140的排列部件170的确认等进行检测。另外,安全速度是指,例如,指尖合成速度小于或等于250mm/sec这样的示教作业时的移动速度,是作业者容易避免与机器人100的碰撞的速度。

由此,通过对机器人100的移动速度进行限制,从而无需停止运转机器人100就能够安全地进行维护作业。另外,维护作业的要求是向维护作业者要求去除掉落的部件170。此时,可以附加检测到作业失败时的部件170的类别和设想的落下场所等信息。在维护作业完成后,解除移动速度的限制,继续运转即可。

本发明的机器人程序生成装置具有:稳定姿态计算部,其根据部件的3维形状数据对部件在平面上稳定的稳定姿态进行计算;抓持方法计算部,其根据手的3维数据及3维形状数据对通过手抓持部件的抓持方法进行计算;可否组合计算部,其从由该机器人实现的抓持方法和由该机器人以外实现的抓持方法及稳定姿态的组合组,基于包含手的连接目标的信息的系统结构数据、稳定姿态及抓持方法,对手不干涉的组合进行计算;倒手路径计算部,其使用由可否组合计算部计算出的组合对部件的倒手路径进行计算;路径组计算部,其基于对部件的投入姿态及排列姿态进行指定的姿态数据,根据倒手路径将示教点的数量成为最小的路径作为路径组进行计算;程序生成部,其基于路径组而生成机器人的程序;以及维护作业程序生成部,其生成基于机器人的运转状况数据而对机器人的移动速度进行限制,要求机器人的维护作业的维护作业程序,因此维护作业者根据运转状况对维护必要性进行确认,与停止机器人系统后进行维护的情况相比较,能够提高机器人系统的运转效率。此外,可否组合计算部根据稳定姿态及抓持方法的任一者和抓持方法的组合组而计算出不干涉的大于或等于一个的组合。

标号的说明

100机器人,110部件供给台,120暂置台,130倒手夹具,140排列台,1503维视觉传感器,1602维视觉传感器,170部件,200手3维数据,210部件形状3维数据,220抓持方法计算部,230稳定姿态计算部,240系统结构数据,250可否组合计算部,260倒手路径计算部,270姿态数据,280路径组计算部,290程序生成部,300处理器,301存储装置,600、601、602示教点输出部,700、701示教点判定部,800抓持路径计算部,900维护作业程序生成部,910运转状况数据。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1