把持位置计算装置以及把持位置计算方法转让专利

申请号 : CN201080006948.8

文献号 : CN102307710B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 近藤俊之泽田信治难波伸广早川义一藤本健治中岛明宇野峰志

申请人 : 本田技研工业株式会社国立大学法人名古屋大学

摘要 :

把持位置计算装置求出移动单元的使得手指(14)能以任意姿态把持工件(16)的位置(S3)。确定在手指(14)的末端把持工件(16)的把持位置的初始位置(P0),将该初始位置(P0)设为计算对象位置P(S4)。计算出容许外力Dp(S5),该容许外力Dp是表示在此时的计算对象位置P处把持工件(16)的情况下所容许的外力大小的指标。分别计算出在计算对象位置P周围的多个附近点(Pc)处进行把持时的容许外力Dc(S6)。当容许外力Dp大于等于周围的所有Dc时,将计算对象位置P确定为把持候选位置(S9)。在除此之外的情况下,将容许外力Dc最大的附近点Pc更新为计算对象位置P,返回步骤S5(S8)。

权利要求 :

1.一种把持位置计算装置(11),其通过计算机的离线处理来确定多关节机械手(14)对工件(16)进行把持的位置,其中该机械手(14)能由移动单元(17)移动,其特征在于,该把持位置计算装置包括:容许外力计算部(114),其对于给定的把持条件计算作为表示所容许的外力大小的指标的容许外力;以及选择部(116),其通过所述容许外力计算部(114)针对多个所述把持条件求出容许外力,选择计算出的容许外力最大的把持条件。

2.根据权利要求1所述的把持位置计算装置(11),其特征在于,

根据距以在所述把持条件下所述机械手(14)的末端把持所述工件(16)的位置为基准的摩擦力的圆锥边界面、以及所述机械手(14)的末端所能产生的把持力的极限边界面的距离中的最小距离,来求出容许外力。

3.一种把持位置计算方法,通过计算机的离线处理来确定多关节机械手(14)对工件(16)进行把持的位置,其中该机械手(14)能由移动单元(17)移动,其特征在于,该把持位置计算方法包括以下步骤:第1步骤,求出所述移动单元(17)的使得所述机械手(14)能以任意姿态把持所述工件(16)的位置;

第2步骤,以所述第1步骤中求出的所述移动单元(17)的位置为基准,确定由所述机械手(14)的末端把持所述工件(16)的把持位置的初始值,将该初始值作为计算对象位置;

第3步骤,计算并存储容许外力,该容许外力是指示在此时的计算对象位置处把持所述工件(16)的情况下所容许的外力大小的指标;

第4步骤,分别计算并存储在所述计算对象位置周围的多个附近位置处进行把持时的容许外力;以及第5步骤,在所述第4步骤之后,在所述计算对象位置处的容许外力大于等于该计算对象位置周围的所有所述附近位置处的容许外力的情况下,将所述计算对象位置确定为把持候选位置,在除此以外的情况下,将容许外力最大的所述附近位置更新为所述计算对象位置,判断是否返回所述第4步骤。

4.根据权利要求3所述的把持位置计算方法,其特征在于,

根据距以在把持条件下所述机械手(14)的末端把持所述工件(16)的位置为基准的摩擦力的圆锥边界面、以及所述机械手(14)的末端所能产生的把持力的极限边界面的距离中的最小距离,来求出容许外力。

5.根据权利要求3或4所述的把持位置计算方法,其特征在于,

设定多个所述第2步骤中的初始值,并且根据该多个初始值分别执行所述第3步骤至所述第5步骤,进一步在多个所述把持候选位置中选择容许外力最大的把持候选位置。

说明书 :

把持位置计算装置以及把持位置计算方法

技术领域

[0001] 本发明涉及通过计算机的离线处理来确定可由移动单元移动的多关节机械手把持工件的位置的把持位置计算装置以及把持位置计算方法。

背景技术

[0002] 目前,已经在汽车的制造过程中实现了使用机械手的自动化组装,例如,通过再现预先示教的动作的示教回放动作,来实现焊接、涂装等各种处理的自动化。 [0003] 另一方面,如果不仅仅是示教回放,而是能够根据工件进行不同的动作,则机械手的应用范围会更加广泛,例如,最好能把持不同形状的工件或按不同的朝向配置的工件。 [0004] 作为通过机械手把持不同形状的工件的情况,日本特开2006-26875号公报记载了计算与工件的接触点最多的条件作为最佳把持条件的手段。

发明内容

[0005] 日本特开2006-26875号公报记载了进行控制,使得与工件接触的接触点数最多,但是,未能对这样的条件是否是最佳把持条件进行定量评价。
[0006] 本发明着眼于以上问题,目的在于提供求出在通过机械手把持工件时能够更稳定地把持工件的位置的把持位置计算装置以及把持位置计算方法。
[0007] 本发明的把持位置计算装置(11)通过计算机的离线处理来确定可由移动单元(17)移动的多关节机械手(14)把持工件(16)的位置,所述把持位置计算装置包括:容许外力计算部(114),其对于给定的把持条件计算作为表示所容许的外力大小的指标的容许外力;以及选择部(116),其通过所述容许外力计算部(114)针对多个所述把持条件求出容许外力,选择计算出的容许外力最大的把持条件。
[0008] 由此,根据作为表示所容许的外力大小的指标的容许外力来求出把持位置,从而在通过机械手把持工件时,能更稳定地进行把持。
[0009] 可以根据距以在所述把持条件下所述机械手(14)的末端把持所述工件(16)的位置为基准的摩擦力的圆锥边界面、以及所述机械手(14)的末端所能产生的把持力的极限边界面的距离中的最小距离,来求出容许外力。这样,若根据摩擦力的圆锥边界面和机械手的末端所能产生的把持力的极限边界面进行判断,则能恰当地求出容许外力,更加稳定地把持工件。
[0010] 另外,本发明的把持位置计算方法通过计算机的离线处理来确定可由移动单元(17)移动的多关节机械手(14)把持工件(16)的位置,包括以下步骤:第1步骤,确定所述移动单元(17)的使得所述机械手(14)能以任意姿态把持所述工件(16)的位置;第2步骤,以所述第1步骤中求出的所述移动单元(17)的位置为基准,确定在所述机械手(14)的末端把持所述工件(16)的把持位置的初始值,将该初始值作为计算对象位置;第3步骤,计算并存储容许外力,该容许外力是表示在此时的计算对象位置处把持所述工件(16)的情况下所容许的外力大小的指标;第4步骤,分别计算并存储在所述计算对象位置周围的多个附近位置处进行把持时的容许外力;以及第5步骤,在所述第3步骤和所述第4步骤之后,在所述计算对象位置处的容许外力大于等于其周围的所有所述附近位置处的容许外力的情况下,所述将计算对象位置确定为把持候选位置,在除此以外的情况下,将容许外力最大的所述附近位置更新为所述计算对象位置,进行返回所述第4步骤的判断。 [0011] 这样,根据作为所容许的外力大小的指标的容许外力来求出把持位置,从而在通过机械手把持工件时能够更稳定地进行把持。另外,通过重复第4步骤和第5步骤,能求出更合适的把持位置。
[0012] 可以根据距以在所述把持条件下所述机械手(14)的末端把持所述工件(16)的位置为基准的摩擦力的圆锥边界面、以及所述机械手(14)的末端所能产生的把持力的极限边界面的距离中的最小距离,来求出容许外力。
[0013] 可以设定多个所述第2步骤中的初始值,并且根据该多个初始值分别执行所述第3步骤至所述第5步骤,在多个所述把持候选位置中选择容许外力最大的把持候选位置。由此可以更稳定地把持工件。
[0014] 根据本发明的把持位置计算装置和把持位置计算方法,基于作为所容许的外力大小的指标的容许外力来求出把持位置,从而在通过机械手把持工件时,能够相对于外力稳定地进行把持。

附图说明

[0015] 图1是作为本发明实施方式的把持位置计算装置的控制对象的把持装置的示意图。
[0016] 图2是本发明实施方式的把持位置计算装置的结构框图。
[0017] 图3是本发明实施方式的把持位置计算方法的流程图。
[0018] 图4是示出通过四个手指把持工件的情形的图。
[0019] 图5是示出根据一个初始位置求出容许外力的情形的示意图。
[0020] 图6是示出根据多个初始位置求出容许外力的情形的示意图。
[0021] 图7是示出集合 的图。
[0022] 图8是示出集合 的图。
[0023] 图9是凸多面体的示意图。
[0024] 图10非凸多面体的示意图。
[0025] 图11是示出摩擦圆锥的图。
[0026] 图12是示出由摩擦圆锥和多个极限边界面构成的三维体的图。 [0027] 图13是示出通过多棱锥对图12所示的三维体的一部分进行近似的图。 [0028] 图14是示出容许外力椭圆体的图。
[0029] 图15是在工件表面上的可把持区域中设置了网格线的图。
[0030] 具体实施方式
[0031] 以下例举实施方式,参照图1~图15对本发明实施方式的把持位置计算装置以及把持位置计算方法进行说明。
[0032] 作为本实施方式中的把持位置计算装置的计算机11预先通过离线处理设定把持装置12的手指14的姿态,该把持装置12由图1所示的控制装置10进行控制。本实施方式的把持位置计算方法是在计算机11中执行的计算方法。计算机11是个人计算机、工作站等。下面首先对控制装置10、把持装置12和手指14进行说明。
[0033] 如图1所示,控制装置10用于控制把持装置12所具有的4个手指(机械手)14。把持装置12使用4个手指14把持并运送装在托盘中的工件16。把持装置12设置在多关节机器人(移动单元)17的末端部,其能与多关节机器人17协作而稳定地运送零乱堆放(位置和朝向不定)的工件16。在图1中工件16被示出为简单的圆柱形,但形状、尺寸和朝向没有限定。
[0034] 控制装置10部分地使用由外部的计算机11进行离线示教而得到的数据来控制把持装置12。
[0035] 把持装置12包括底板18和分别设在该底板18的下表面四个角上的手指14。 [0036] 手指14从底板18的下表面向下突出,具有:第一轴14a,其在基端部可与底板18平行地进行旋转;第二轴14b,其能够在与该第1轴14a垂直的方向上旋转并使第1臂20弯曲;以及第三轴14c,其能够在与第二轴14b相同的方向上旋转并相对于第1臂20使第2臂22弯曲。手指14还包括:电机24a、电机24b和电机24c,其作为第一轴24a、第二轴14b和第三轴14c(以下简称为“关节”)的驱动电机;以及角度传感器26a、角度传感器26b和角度传感器26c,其用于检测第一轴14a、第二轴14b、第三轴14c的角度。 [0037] 这样,手指14是具有三个轴的多关节结构。第2臂22的末端部与工件16抵接。4个手指14在结构上相同,并且以底板18的中心部为基准对称地设置。手指14除了角度传感器26a~26c以外没有其他传感器(力传感器、扭矩传感器等),结构简单。电机24a~24c和角度传感器26a~26c不需要直接设置在关节上,而是可以通过规定的旋转传递部件进行连接。电机24a~24c上可以设置减速器。优选电机24a~24c使用伺服电机。 [0038] 控制装置10对应于每个手指14具有控制器,控制装置10部分或全部由基于计算机的软件处理来实现。控制装置10与未图示的工件识别装置连接。该工件识别装置使用光学手段等识别各个工件16,并且将表示工件16的位置和朝向的信息提供给控制装置10。
控制装置10可以根据从工件识别装置获得的信息,根据状况在位置控制模式与力控制模式之间进行切换,以适当地把持工件16。
[0039] 控制装置10可以根据工件16的状况从预先由计算机11获取的多个示教数据中选择合适的数据,在位置控制模式下对手指14进行控制。
[0040] 下面说明计算机11和由计算机11执行的离线处理。
[0041] 如图2所示,计算机11包括:工件设定部100、机器人位置计算部102、网格生成部104、把持条件计算部106、存储多个把持条件108的存储部110、初始值确定部112、容许外力计算部114、以及选择部116。
[0042] 工件设定部100设定工件16的形状和朝向。机器人位置计算部102根据由工件设定部100设定的工件16的状态来求出多关节机器人17的姿态。网格生成部104针对工件16的整个表面或者手指14可能把持的区域生成预定的网格(或把持候选点集)。把持条件计算部106计算把持条件108,该把持条件108是四个手指14把持工件16的条件。计算出的把持条件108存储于存储部110中。根据由网格生成部104设定的网格求出多个把持条件108。初始值确定部112基于网格生成部104设定的网格,设定从哪个点(一个以上的点)开始计算。容许外力计算部114针对初始值确定部112所确定的点及其周边的点计算容许外力D。选择部116选择容许外力计算部114计算出的容许外力D最大的点。 [0043] 图2所示的计算机11的各功能部的一部分或全部由软件处理实现,但是,根据条件,一部分(例如初始位置P0的确定)可以人工设定。图2所示的各功能不一定在一台计算机内执行。
[0044] 下面说明的处理是在由计算机11设定的假想三维空间内进行的离线处理。在该离线处理中,并不需要实际的把持装置12,可以自由地设定模型,而且计算时间也没有限制。为了更容易理解本发明,在下面的说明中,把持装置12的4个手指中的3个保持预先设定的姿态,剩下的1个要进行姿态设定,除非另有说明,“手指14”表示作为设定对象的1个。
[0045] 首先基于图3~图6对总体处理进行说明,此后对个别的处理进行说明。 [0046] 在图3的步骤S1中,把模型(例如多边形)工件16设置为预定的朝向。该朝向可以适当变更,可以针对多个朝向进行以下的处理,对应于各个朝向求出手指14的把持数据。对于工件16,不限于图1所示的圆柱形,可以对假定的多种形状、尺寸和朝向进行处理,设定数据。
[0047] 在步骤S2中,作为初始阶段,对于工件16的表面设定网格(参照图5以及图15)作为用于手指14的末端部进行抵接的全部候选。在此网格为格子状,但是,可以直接使用作为工件16的模型表现的多边形网格(例如、三角形网格)。将网格设定为作为确定把持位置的候选足够细密,且不会过分地增加计算负荷的程度。设定网格的步骤如后所述可以基于 来进行。
[0048] 在步骤S3中,如图4所示,设定由多关节机器人17配置的把持装置12的位置。将该位置设定为手指14能在任意姿态下把持工件16。
[0049] 在步骤S4中,如图5所示,以步骤S3中求出的位置为基准,根据步骤S2中设定的网格确定手指14的末端把持工件16的初始位置(初始值)P0,把该初始位置P0作为计算对象位置P。可以设定多个初始位置P0,选择其中任意一个还未处理的初始位置P0。 [0050] 这里,初始位置P0和其周边的附近点Pc的把持条件不仅是其把持位置,还一起设定作为向量的把持力fm(参照图12)。
[0051] 在步骤S5中,计算并存储容许外力D,该容许外力D是表示在此时的计算对象位置P处把持工件16的情况下可维持把持位置的外力大小的指标。设与计算对象位置P相应的容许外力D为Dp。稍后详细说明容许外力D。
[0052] 在步骤S6中,计算并存储在计算对象位置P周围的8个附近点处进行把持的情况下的容许外力D。设附近点Pc处的容许外力D为Dc。附近点Pc是以计算对象位置P为基准上下左右和斜向四方的共计8个点,不过例如仅上下左右4个点也行。 [0053] 在步骤S7中,对步骤S5、S6中得到的容许外力Dp和各容许外力Dc进行比较。如果容许外力Dp大于所有容许外力Dc,则转入步骤S9,如果任意一个容许外力Dc大于容许外力Dp,则转入步骤S8。
[0054] 在步骤S8中,选择容许外力Dc最大的附近点Pc,将计算对象位置P更新为该附近点Pc(参照图5的箭头A)。其后,返回步骤S5继续计算。
[0055] 根据以上的反复处理,如图5所示,进行基于最初选择的初始位置P0的收敛计算,可以选择出至少在其周边容许外力D最大的部位。此时在反复计算的当中,对于更新后的计算对象位置P和已经计算了容许外力D的附近点Pc,可以省略容许外力D的再计算。另外,如果进行了预定次数的反复计算容许外力D还没有收敛,可以中止计算并执行预定的相应处理。
[0056] 另一方面,在步骤S9中,把此时的计算对象位置P设定为把持候选位置。 [0057] 在步骤S10中,确认是否对预先设定的全部初始位置P0完成了处理,如果存在未处理的初始位置P0,则返回步骤S4,如果全部完成,则转入步骤S10。
[0058] 在步骤S11中,选择基于多个初始位置P0获得的多个把持候选中容许外力Dc最大的把持候选,设定为最终的把持位置。把所得到的把持位置存储在预定的存储部中并提供给控制装置10。
[0059] 当控制装置10中,把持装置12运转时,根据从规定的光学手段获得的信息选择多个工件16中待把持的一个,并检索基于与该工件16的状态相近的模型得到的把持条件和把持位置的数据。根据该检索到的数据,在位置控制模式下驱动手指14来把持工件16。即使此时在手指14的末端与工件16的表面之间多少存在位置误差,通过此后转移到力控制模式也可以消除该位置误差,能够以合适的姿态和力度把持工件16。
[0060] 这样,通过基于多个初始位置P0分别执行收敛计算,如图6所示,在与各个初始位置P0(图6中示出为P01、P02、P03、P04)相应地得到了多个把持位置候选Pt的情况下,可以选择其中容许外力D最大的位置。
[0061] 接着对步骤S3的详细处理进行说明。为了更容易地理解,假定把持装置12平行移动且没有姿态变化。
[0062] 一般化地,设把持装置12具有N个手指14,标识为手指(0)~手指(n-1)。设手指(i)在工件16表面上的把持位置为Pi(i为0至n-1的整数)。
[0063] 如图7和图8所示,求出把持装置12的使手指(i)的末端能够到达Pi的位置集合 把集合 设为从把持装置12的基准位置Px(底板18上的预定点(例如手指(0)与手指(1)的中间点)观察手指(i)的末端所能到达的范围。此时,
[0064] 【数学式1】
[0065]
[0066] 把持装置12的使手指(0)~手指(n-1)的末端分别能够到达把持位置P0~Pn-1的位置集合Uhand为:
[0067] 【数学式2】
[0068]
[0069] 下面探讨求出这样的集合时的工件16的近似表示方法。
[0070] 在所有的手指(i)的末端能够到达的范围的集合 是凸形状的情况下,它们hand hand hand的交集U 也是凸形状。在U 是凸形状的情况下,可以用与该集合内接的凸多面体Phand
来近似U 。
hand
[0071] 如图9所示,凸多面体P 成为满足下式(3)所示的线性矩阵不等式的Pb。在此,handAb、bb是由凸多面体P 的顶点确定的矩阵和向量。
[0072] 【数学式3】
[0073] Phand={pb|Abpb≤bb}…(3)
[0074] 如图10所示,在Uhand非凸的情况下,可以将其分割为多个凸多面体,由其合集进行近似,如式(4)那样表示。式(4)是分割为n个凸多面体时的例子。
[0075] 【数学式4】
[0076]
[0077] 下面对把持装置12的位置的准最优化进行说明。
[0078] 为了稳定地把持工件16,需要通过把持力来平衡工件16所作用的力和力矩。式(5)表示力的平衡,式(6)表示力矩的平衡。
[0079] 【数学式5】
[0080] f0+f1+…+fn-1=-mg …(5)
[0081] 【数学式6】
[0082] p0×f0+p1×f1…+pn-1×fn-1=-pm×mg …(6)
[0083] fi:手指(i)的把持力的向量
[0084] m:工件16的质量
[0085] g:重力加速度的向量
[0086] Pi:从基准坐标系观察的表示手指(i)的末端的把持位置的位置向量 [0087] Pm:从基准坐标系观察的表示工件16的重心的位置向量
[0088] 下面说明步骤S5中的容许外力D的计算。
[0089] 容许外力D是表示稳定地把持工件16时所容许的外力大小的指标,换言之表示鲁evaluation棒性的高低。容许外力D表述为评价函数F ,在式(5)、(6)和(3)的约束下(或者在evaluation
式(5)、(6)和(4)的约束下)根据把持装置12的使F 最大的位置Pb(手指(i)的把持位置固定)来求出容许外力D。
[0090] 如图11所示,在手指(i)与工件16的摩擦系数为μ的情况下,设定以工件16上的把持点处的法线向量VN为中心描绘的摩擦圆锥50。
[0091] 摩擦圆锥50的开角γ=tan-1μ。为了使手指(i)不打滑,把持力fi的向量需要位于该摩擦圆锥50内,但实际上把持力fi存在上限值,如图12所示,该上限值表示为多个极限边界面52、54、56,在总体上,一部分被设定为圆锥形状的三维体58。 [0092] 此时,从把持力fi到三维体58的各面(即摩擦圆锥50和极限边界面52、54、56)的距离di越大,则可容许的外力越大,所以距离di的最小值按照下式7被描述为评价函数evaluationF 。
[0093] 【数学式7】
[0094] Fevalution=dmin=min{d0,d1,…,dn-1}…(7)
[0095] 在把持装置12的优化中,在式(5)、(6)和(3)的约束下(或者在式(5)、(6)和(4)的约束下)求出使式(7)最大化的Pb即可。
[0096] 作为该优化问题的解法,例如可以使用最陡下降法等的优化方法来求出准最优解(局部最优解)。
[0097] 另外,在求出距离di时,为了使计算简单,如图13所示,可以将摩擦圆锥50的部分近似为多棱锥50a(例如正八棱锥)。
[0098] 根据距离di的最小值,即评价函数Fevaluation来求取容许外力D的过程如下所述。 [0099] 【数学式8】
[0100]
[0101] 在此,左边表示基于把持力的作用于工件16的合力,设左边左侧的矩阵为A,左边右侧的矩阵为f。设右边左侧的矩阵为B。fm是作用于工件16的外力。
[0102] 接下来,进行下式(9)的计算。
[0103] 【数学式9】
[0104] fm=B+Af …(9)
[0105] 此处,B+A是将外力与把持力关联起来的变换矩阵,B+是B的伪逆矩阵。 [0106] 然后,通过下式(10)进行奇异值分解。
[0107] 【数学式10】
[0108]
[0109] 然后,基于图14所示的容许外力椭圆体70,作为D=min(dminσi)而求出容许外力D。
[0110] 此处,ui表示容许外力椭圆体70的主轴的三维向量,dminσi是各轴的容许外力的大小,min()是选择最小值的函数。
[0111] 在上述步骤S2的生成网格的处理中,设在把持装置12的位置被固定为通过以上手段求出的位置的状态下手指(i)的末端所能到达的范围为 工件16的表面上能够进行把持的区域为O。设 如图15所示可以用足够多的点集合对Si上的点进行近似而构成网格。关于该点集,记录分别邻接的点间的关系,或者通过预定的关系式来表明。
[0112] 如上所述,根据作为本实施方式的把持位置计算装置的计算机11和把持位置计算方法,可以基于作为表示所容许的外力大小的指标的容许外力来求出把持位置,从而在通过手指14把持工件16时,可以更加稳定地进行把持。
[0113] 另外,根据基于摩擦圆锥50和手指14的末端所能产生的把持力的极限边界面52、54、56的判断,能恰当地求出容许外力D,更稳定地把持工件16。
[0114] 由控制装置10控制的把持装置12的手指14的数目不限于4个,例如也可以是2个或3个。另外,可以把可动的手指14设为1个,把夹持工件16的对方部件设为固定部件。
[0115] 手指14的关节的数目不限于3个,也可以是2个或4个以上。
[0116] 本发明的把持位置计算装置和把持位置计算方法不限于上述实施方式,还可以在不脱离本发明的要旨的情况下采取各种结构。