用于优化机器人工作单元的布局的方法和系统转让专利

申请号 : CN200880118703.7

文献号 : CN101998895B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : E-D·张L-L·亓S·默菲

申请人 : ABB研究有限公司

摘要 :

本发明涉及用于优化工作单元中多个工作站(20a-d)的放置的方法,所述工作单元包括被编程为在所述工作站上执行一系列任务的工业机器人(1),其中每个任务包括由所述机器人在所述工作站处执行所述任务时所访问的被链接成一个或者若干个路径的一串机器人目标。所述方法包括以下步骤:a)在所述机器人可达到的范围内定义优选区域(36),使用评估标准和优化算法在所述优选区域内部或者尽可能地接近所述优选区域放置所述任务,并且基于此向每个工作站指派所述优选区域内部的或者接近所述优选区域的位置,b)通过优化算法相关于所述机器人性能以及所述任务必须以其被执行的所定义的次序确定要相对于所述机器人而被放置的所述工作站的最佳次序,并且基于此调整所述工作站的所述位置,以及c)通过被配置为反复地运行所述机器人程序以便相关于所述机器人性能优化所述工作站的所述放置的优化算法来调整所述工作站的所述位置(x,y,z,α)。

权利要求 :

1.一种用于优化工作单元中多个工作站(20a-d)的放置的方法,所述工作单元包括被编程为在所述工作站上执行一系列任务的一个工业机器人(1),其中每个任务包括由所述机器人在所述工作站处执行所述任务时所访问的被链接成一个或者若干个路径的一串机器人目标(23),所述机器人目标相对于所述工作站具有固定的位置,并且所述方法包括以下步骤:a)在所述机器人可达的范围内定义优选区域(36),所述优选区域(36)可以在机器人运动学和动力学方面确保最佳的机器人性能,使用评估标准和优化算法在所述优选区域内部或者尽可能地接近所述优选区域放置所述任务,并且基于此向每个工作站指派所述优选区域内部的或者接近所述优选区域的位置,b)通过优化算法相关于所述机器人性能以及所述任务必须以其被执行的所定义的次序确定最佳次序,以所述最佳次序相对于所述机器人切向地放置所述工作站,并且基于此调整所述工作站的所述位置,并且c)通过被配置为反复地运行所述机器人程序以便相关于所述机器人性能优化所述工作站的所述放置的优化算法来调整所述工作站的所述位置(x,y,z,α)。

2.根据权利要求1所述的方法,其中所述任务中的每一个具有所述工作站的关联的几何模型,并且在所述步骤a-c中的每一个中,相关于以下条件的满足进行所述工作站的所述放置:所述工作站的所述放置必须确保所述机器人到达所述路径的所有目标,并且所述关联的几何模型和所述机器人没有冲突。

3.根据权利要求1或者2所述的方法,其中所述优选区域(36)基于运动学可达到性,对于潜在的变化使用给定的容差。

4.根据前述权利要求中任意一项权利要求所述的方法,其中所述优选区域(36)基于最大机器人性能的地带,性能被定义为一个或者若干个可测量的机器人参数,给定某个容差。

5.根据前述权利要求中任意一项权利要求所述的方法,其中步骤a)还包括通过角度优化算法相关于所述机器人性能为所述工作站中的每一个确定有利的方位(α)。

6.根据前述权利要求中任意一项权利要求所述的方法,其中在步骤b)中通过相关于所述机器人性能确定所述工作站相对于所述机器人的有利的切向位置来确定所述工作站的最佳次序,并且调整所述工作站的所述位置以便所述工作站被保持在在步骤a)期间所得到的它们相对于所述机器人的径向位置中,并且所述工作站的所述切向位置变为等于或者接近于所述被确定的有利的切向位置。

7.根据权利要求6所述的方法,其中步骤b)中的优化算法被配置为寻找所述工作站的切向位置以及所述工作站之间的距离,这使在所述机器人根据所述定义的次序执行所有任务时所述机器人所行进的距离最小化。

8.根据前述权利要求中任意一项权利要求所述的方法,其中步骤c)包括:

基于在步骤b)中被确定的所述位置为每个任务定义调整余量,

定义所述优化算法被允许在哪些自由度中调整所述工作站的位置和方位,并且基于为所述工作站所定义的调整余量和所述自由度来调整所述工作站的所述位置。

9.根据前述权利要求中任意一项权利要求所述的方法,其中在步骤c)期间所述优化算法使用用于所有机器人任务的实际执行时间以便相关于所述机器人性能优化所述工作站的所述放置。

10.根据前述权利要求中任意一项权利要求所述的方法,其中在步骤c)期间使用的所述优化算法基于模拟退火方法。

11.根据前述权利要求中任意一项权利要求所述的方法,其中在步骤c)中,所有所述工作站的位置同时被调整以优化所述工作站的所述放置。

12.一种用于优化工作单元中多个工作站(20a-d)的放置的系统,所述工作单元包括被编程为在所述工作站上执行一系列任务的一个工业机器人(1),其中每个任务包括由所述机器人在所述工作站处执行所述任务时所访问的被链接成一个或者若干个路径的一串机器人目标(23),所述机器人目标相对于所述工作站具有固定的位置,其中所述系统包括:中央处理单元(CPU),

用于存储程序和数据的存储器(10),

第一优化模块(12),所述第一优化模块(12)被配置为使用评估标准和优化算法在所述机器人可达到的范围内所定义的优选区域(36)内部或者尽可能地接近所述优选区域放置所述任务,所述优选区域(36)可以在机器人运动学和动力学方面确保最佳的机器人性能,并且基于此向每个工作站指派所述优选区域内部的或者接近所述优选区域的位置,第二优化模块(13),所述第二优化模块(13)被配置为通过优化算法相关于所述机器人性能以及所述任务必须以其被执行的所定义的次序确定所述工作站的最佳次序,以所述最佳次序相对于所述机器人切向地放置所述工作站,并且基于此调整所述工作站的所述位置,以及第三优化模块(14),所述第三优化模块(14)被配置为通过被配置为反复地运行所述机器人程序以便相关于所述机器人性能优化所述工作站的所述放置的优化算法来调整所述工作站的所述位置。

13.根据权利要求12所述的系统,其中所述优选区域(36)基于运动学可达到性,对于潜在的变化使用给定的容差。

14.根据权利要求12或者13所述的系统,其中所述优选区域(36)基于最大机器人性能的地带,性能被定义为一个或者若干个可测量的机器人参数,给定某个容差。

15.根据权利要求12至14中任意一项权利要求所述的系统,其中所述存储器(10)被配置为存储所述工作站的几何模型,并且所述优化模块中的每一个被配置为相关于以下条件的满足实现所述工作站的所述放置:所述工作站的所述放置必须确保所述机器人到达所述路径的所有目标,并且所述工作站的所述几何模型和所述机器人没有冲突。

16.根据权利要求12至15中任意一项权利要求所述的系统,其中所述第一优化模块(12)还被配置为通过角度优化算法相关于所述机器人性能为所述工作站中的每一个确定有利的方位。

17.根据权利要求12至16中任意一项权利要求所述的系统,其中在所述第二优化模块(13)中使用的所述优化算法被配置为通过相关于所述机器人性能确定所述工作站相对于所述机器人的有利的切向位置来寻找所述工作站的最佳次序,并且调整所述工作站的所述位置以便所述工作站被保持在通过所述第一优化模块(12)所得到的它们相对于所述机器人的径向位置中,并且所述工作站的所述切向位置变为等于或者接近于所述被确定的有利的切向位置。

18.根据权利要求12至17中任意一项权利要求所述的系统,其中在所述第二优化模块(13)中使用的所述优化算法被配置为寻找所述工作站的切向位置以及所述工作站之间的距离,这使在所述机器人根据所述定义的次序执行所有任务时所述机器人所行进的距离最小化。

19.根据权利要求12至18中任意一项权利要求所述的系统,其中所述第三优化模块(14)被配置为同时调整所有所述工作站的位置以便优化所述工作站的所述放置。

说明书 :

用于优化机器人工作单元的布局的方法和系统

技术领域

[0001] 本发明涉及用于优化工作单元中多个工作站的放置的方法和系统,所述工作单元包括被编程以在所述工作站上执行一系列任务的工业机器人。
[0002] 本发明涉及机器人操纵器的技术以及自动化的生产应用。本发明提及用于优化涉及一个或者多个任务以及执行这些任务的工业机器人的工作单元的布局的方法和系统。

背景技术

[0003] 机器人通常被放置在工作单元中以便便于复杂的动作串的自动化。所述工作单元可以包括多个不同的工作站并且所述机器人可以被编程以在不同的工作站处执行不同的任务。工作站是机器人可以在其上完成工作的物理位置。工作站的例子是注塑机、压铸机、用于扔掉不合格品的废品站、用于产品的视觉控制的装置、用于产品的后续处理的站以及诸如运输机的输出站。所述机器人被编程以访问工作站,并且由此以在所述工作站上以所定义的次序完成任务。任务的例子是:从模具(mould)中拣出铸模的产品(moulded object)、将废物篮中的产品扔掉、在视觉控制期间拿住产品、以预先定义的方式关于处理工具移动产品、将产品与其他产品一起放在组件中、将产品放置在运输机上。机器人用来访问工作站并且在一个程序循环期间完成任务的总时间被称为循环时间。
[0004] 在自动化生产过程中,可以通过使用于完成一系列任务的循环时间最小化来大大提高机器人的生产力。对于给定任务机器人的循环时间取决于许多因素,诸如不同的任务相对于机器人怎样被布置。换句话说,机器人工作单元的布局非常重要。
[0005] 在近些年中,一些有关的研究工作已经被进行以处理机器人工作单元的布局问题。
[0006] US 6,526,373公开了在工业机器人CAD软件产品的背景下用于优化装配工作单元布局的系统。想法是优化机器人的位置。在根据障碍物的位置得到空闲的可接受的区域之后,使用模拟退火(SA)方法来优化机器人的位置。
[0007] EP 1 107 082公开了用相同的SA方法优化若干机器相对于机器人的位置的系统。在搜索大的布局空间时,所公开的系统基于CAD软件平台以实时的目标函数来工作。然而,工作站一个挨着一个顺序地被放置在工作单元中,没有同时一起被处理。因此,全局优化不能被保证。事实上,不能保证一个工作站的好位置在另一个工作站被考虑在内的情况下仍然是好的。
[0008] US 4979128公开了用于决定机器人工作单元布局的简单方法。但是只有可使用的布局可被给出,没有涉及布局优化。
[0009] US 2005/0004709公开了旨在找到依据循环时间以及从运动学(kinematics)和动力学(kinetics)角度来看的机器人性能的相对于工作站最优的机器人放置。该方法需要使用若干临时的机器人位置以定义机器人性能的标志,并且因此进行优化。该方法仅可以处理单一的工作站而不是若干个工作站,并且因此不适用于机器人必须在一个循环内处理若干个不同的工作站的情况,而这种情况对于机器人自动化过程是非常常见的。
[0010] 因此,有需要找到依据若干个工作站相对于机器人的最佳位置的最优单元布局,其中所有工作站同等地被对待。
[0011] 模拟退火(SA)方法在优化期间反复地运行机器人程序。尽管理论上有可能使用模拟退火(SA)方法同时优化包括不止一个工作站的工作单元中的布局,但是这实际上不可能,因为如果所有可能的放置都要被考虑,则所述方法不可能在合理的时间内找到工作站的最优放置。

发明内容

[0012] 本发明的整体目标是要改进机器人性能并且提高机器人工作单元的生产力。
[0013] 本发明的目标是要提供用于机器人工作单元中多个工作站的放置的自动优化的方法和系统以便改进机器人性能并且提高机器人工作单元的生产力。
[0014] 通过如权利要求1所定义的方法来实现此目标。
[0015] 这种方法包括三个步骤:
[0016] a)在所述机器人可达到的范围内定义优选区域。使用评估标准和优化算法在所述优选区域内部或者尽可能地接近所述优选区域放置所述任务,并且基于此向每个工作站指派所述优选区域内部的或者接近所述优选区域的位置。
[0017] b)相关于所述机器人性能以及所定义的顺序(所述任务必须以该顺序被执行),通过优化算法确定要相对于所述机器人而被放置的所述工作站的最佳次序,并且基于此调整所述工作站的位置。
[0018] c)通过被配置为反复地运行所述机器人程序以便相关于所述机器人性能优化所述工作站的放置的优化算法来调整所述工作站的位置。
[0019] 所述工作单元包括工业机器人和多个工作站。为每个工作站定义了要由所述机器人完成的任务。每个任务包含由所述机器人在所述工作站处执行所述任务时所访问的被链接成一个或者若干个路径的一串机器人目标。已知地并且固定地关于所述工作站来定义所述机器人目标的位置。知道所述任务的位置,即所述机器人目标的位置意味着所述工作站的位置是已知的并且反之亦然。
[0020] 本发明提供一方法来优化机器人工作单元的布局,例如在最小循环时间、最小压力(stress)、最小能量消耗、最小加速(最大或者受限)或者其他标准方面,并且因此改进自动化的生产过程中机器人的生产力。所述方法可以用三个主要步骤来实现最优的工作单元布局:首先,使用优选区域为每个工作站确定最佳位置;其次,基于来自第一步骤的结果,使用优化算法确定所述工作站的最优顺序;最后,由于从所述最初两个步骤获得的工作单元布局接近最优,可以借助于诸如模拟退火方法的优化算法在显著减小的搜索空间中同时调整所述工作站的位置。所述最初两个步骤获得几乎最好的工作站位置。因此,在所述最初两个步骤之后,可以达到接近最好的工作单元的好的布局,在最后的优化阶段中这可以为所有工作站大大减小搜索空间,并且因此减小搜索时间。在这三个优化步骤之后,最优的布局已经被得到。本发明可以被用作单元布局的参考和/或为新的机器人单元建立或者现有的单元调整改进机器人性能。
[0021] 在所述第一步骤中,每个机器人任务单独地被处理。在运动学和动力学方面,可以确保最佳机器人性能的优选区域被采用以确定每个单个机器人任务的最佳位置。有利地,所述优选区域基于运动学可达到性,对于潜在的变化使用给定的容差。举例来说,所述优选区域基于最大机器人性能的地带,性能被定义为一个或者若干个可测量的机器人参数,诸如速度、加速度、重定向(reorientation)、压力、能量等等,给定某个容差。所述优选区域可以基于用户和程序员的经验。有利的是:基于运动学距离、时间距离等等使用评估函数优化所述优选区域内任务的放置。优化算法所使用的评估标准举例来说可以使任务中的目标点和所述优选区域的中心之间的距离的和最小。
[0022] 在第二步骤中,所有机器人任务一起被考虑在内以根据机器人操作顺序寻找要被放置的工作站的最佳次序。工作站的次序可以被定义为所述工作站相对于所述机器人的切向位置。举例来说,所述工作站的切向位置被定义为当围绕机器人底座的z轴旋转机器人时所述机器人的第一轴的角度。优选地,使用用于所述任务的实际执行时间以便优化所述工作站的放置的优化算法被选择。相关于诸如循环时间、压力或者能量的机器人性能进行所述第二步骤中的优化。诸如但不限于快速遗传算法(GA)的旨在改进任务排序的优化方法被用于找到要被放置的任务的最佳次序。
[0023] 在第三步骤中,诸如但不限于模拟退火(SA)的可以确保越来越好的解的优化方法被用于最后细调所有工作站的放置。相关于机器人性能进行所述第三步骤中的优化,诸如循环时间、压力或者能量。在最后两个步骤中,所有机器人任务同等地被对待并且同时被处理以得到全局优化。
[0024] 根据本发明的实施例,所述任务中的每一个都具有所述工作站的关联的几何模型,并且在步骤a-c中的每一个中,相关于对以下条件的满足进行所述工作站的放置:所述工作站的放置必须确保所述机器人达到所述路径的所有目标,并且所述关联的几何模型和所述机器人没有冲突。同样地,必须相关于工作单元中的其他工作站的几何模型进行工作站的布置以便在所述工作站之间没有冲突。
[0025] 根据本发明的实施例,第一步骤还包括通过角度优化算法相关于诸如循环时间、压力或者能量的所述机器人性能为所述工作站中的每一个确定有利的方位。根据所述第一步骤的优化的第一部分优化所述工作单元的位置(x,y,z)并且第二部分优化所述工作站的方位(α)。
[0026] 根据本发明的实施例,在所述第二步骤中通过确定相关于诸如循环时间、压力或者能量的所述机器人性能所述工作站相对于所述机器人的有利的切向位置来确定所述工作站的最佳次序,并且调整所述工作站的位置以便所述工作站被保持在在所述第一步骤期间所得到的它们的径向位置中。用于任务排序的这个解基于以下假设:如果仅围绕所述机器人底座的Z轴旋转任务,其将不影响用于所述机器人执行所述任务的循环时间。这意味着,如果仅围绕所述机器人底座的Z轴旋转任务,所述任务的最佳位置将被保持。用于任务排序的解可以被推断(conclude):所有任务一起被放入所述工作单元中。每个任务保持在所述第一步骤中得到的其径向位置和方位,但是可以围绕所述机器人底座的Z轴以不同角度而被旋转,即所述工作站相对于所述机器人的切向位置被调整。该实施例的优点在于:用于找到所述工作站的最优位置的搜索时间被显著地减小。
[0027] 根据本发明的实施例,在步骤2中的优化包括寻找所述任务的切向位置以及所述任务之间的距离,这使在所述机器人根据所定义的次序执行所有任务时所述机器人所行进的距离最小化。因此,所述工作站的位置以及它们之间的距离被调整以在所述机器人根据所定义的访问次序执行所有任务时得到最小的行进距离。
[0028] 根据本发明的实施例,基于在所述第二步骤中被确定的位置为每个任务定义调整余量,定义所述优化算法被允许在哪些自由度中调整所述工作站的位置和方位,并且基于为所述工作站所定义的调整余量和自由度来调整所述工作站的位置。这允许效率高得多并且快得多的搜索,其中在次要的小数位(small decimal place)中的微小摆动被消除并且所述搜索算法检查显著的位置。
[0029] 根据本发明的另外的方面,所述目标通过可直接装载到计算机或者处理器的内部存储器的计算机程序产品而被实现,所述计算机程序产品包括用于当在计算机上运行所述程序时,执行根据随附的方法权利要求的集合的方法的步骤的软件代码部分。
[0030] 根据本发明的另一个方面,在所述程序使得计算机执行根据随附的方法权利要求的集合的方法的步骤并且在所述计算机上运行所述程序时,所述目标通过具有记录在其上的程序的计算机可读介质而被实现。
[0031] 根据本发明的另一个方面,所述目标通过如权利要求14所定义的系统而被实现。
[0032] 这种系统包括:中央处理单元、用于存储程序和数据的存储器、被配置为使用评估标准和优化算法在所述机器人可达到的范围内所定义的优选区域内部或者尽可能地接近所述优选区域放置所述任务,并且基于此向每个工作站指派所述优选区域内部的或者接近所述优选区域的位置的第一优化模块、被配置为借助于优化算法相关于所述机器人性能以及所述任务必须以其被执行的所定义的次序确定要相对于所述机器人被放置的所述工作站的最佳次序,并且基于此调整所述工作站的位置的第二优化模块,以及被配置为借助于被配置用于反复地运行所述机器人程序以相关于所述机器人性能优化所述工作站的放置的优化算法来调整所述工作站的位置的第三优化模块。

附图说明

[0033] 现在将通过对本发明的不同实施例的描述并且参考附图来更仔细地阐释本发明。
[0034] 图1a示出包括机器人和外部计算机的机器人系统。
[0035] 图1b示出根据本发明的用于机器人工作单元中多个工作站的放置的自动优化的系统的示意性框图。
[0036] 图2示出任务和工作站的例子。
[0037] 图3示出说明了根据本发明的实施例用于优化机器人工作单元中多个工作站的放置的方法的三个主要步骤的流程图。
[0038] 图4示出优选区域的例子。
[0039] 图5示出在优化之前所述工作单元中所述工作站关于所述机器人的初始位置的例子。
[0040] 图6示出位置1和位置2两者都是任务相对于所述机器人的最佳位置。
[0041] 图7示出在第一优化步骤之后所述工作单元的布局的例子。
[0042] 图8示出第二优化步骤中的切换方法。
[0043] 图9示出在第二步骤中所使用的基于遗传算法的搜索的流程图。
[0044] 图10示出在第二优化步骤之后所述工作单元的布局的例子。
[0045] 图11示出在第三步骤中所使用的基于模拟退火的优化的流程图。
[0046] 图12示出在第三优化步骤之后所述工作单元的布局的例子。

具体实施方式

[0047] 图1a示出包括机器人1、机器人控制器2以及被配置为与所述机器人控制器通信的外部计算机3的机器人系统。所述机器人包括相对于彼此可移动的多个机器人部分。所述机器人部分在这种情况下是底座5和机器人臂6、7。所述机器人的底座5相对于地面被布置在固定的位置中。基座坐标系X,Y,Z相对于所述机器人的底座被定义。所述机器人在所述机器人的基座坐标系的Z方向上关于所述底座可旋转。所述机器人控制器被配置为根据控制程序来控制所述机器人的移动,所述控制程序包括用于沿路径移动所述机器人以在多个工作站上完成一系列任务的指令。所述外部计算机包括诸如中央处理器(CPU)的处理器、用于存储程序和数据的存储器、诸如键盘和鼠标的用户输入装置、用于与所述机器人控制器通信的通信装置以及显示装置。用于实现根据本发明的方法的软件优选地被存储在所述外部计算机的存储器中并且由所述外部计算机的处理器来执行。然而,在可替换的实施例中,软件可以在所述机器人的控制器上或者在所述机器人的被称为示教盒单元(teach pendant unit)的手持控制单元上被存储和运行。
[0048] 图1b示出用于根据本发明的机器人工作单元中多个工作站的放置的自动优化的系统的示意性框图。该系统包括CPU、用于存储程序和数据的存储器10、被配置为在所定义的优选区域内部或者尽可能地接近所定义的优选区域放置所述任务的第一优化模块12、被配置为确定要相对于所述机器人被放置的工作站的最佳次序的第二优化模块13以及被配置为通过用优化算法优化整个工作单元的布局来调整所述工作站的位置的第三优化模块14,所述优化算法被配置为反复地运行所述机器人程序以优化所述工作站的放置。
[0049] 图2示出工作站20和任务22的例子。所述工作站的放置由位置(x,y,z)和关于垂直线的方位(α)来定义。在本文中所描述的例子中,在四个自由度(x,y,z,α)中进行所述放置的优化。然而,也有可能在1-6个自由度的任意一种中优化所述工作站的放置也是有可能的。任务22包含所述机器人在执行所述任务时将访问的被链接成路径的一串机器人目标点23。每个任务具有工作站的关联的几何模型,其起任务的占位符(placeholder)的作用。举例来说,所述几何模型被存储在所述外部计算机3上。所述目标点的位置关于所述工作站固定并且已知。如果所述任务的位置是已知的,则所述工作站的位置也是已知的。在下文中,术语“任务的位置”和“工作站的位置”同义地被使用。
[0050] 图3示出说明了根据本发明的实施例的用于优化机器人工作单元中多个工作站的放置的方法的三个主要步骤的流程图。所述机器人的位置是固定的。所述方法涉及三个主要步骤。在第一步骤30中,通过将所述任务放入优选区域中并且接着调整所述任务的方位来确定每个单个机器人任务的最佳位置。在第二步骤32中,将所有所述机器人任务一起考虑在内以此根据机器人操作顺序找到这些任务的最佳次序;接着在第三步骤34中,所有机器人任务的位置一起被调节以找到最优的单元布局,例如在最小循环时间。解映射(solution map)方面也包括可以指示并且评估手动调整的额外功能,所述手动调整可以被用于与所提出的方法相比较并且因此验证所提出的方法。
[0051] 第一步骤“单个任务放置”
[0052] 在所述方法的第一步骤中,每个工作站的放置单独地被进行,而不考虑相关于工作单元中其他工作站的放置所述放置是否是最优的。基于静态分析,大部分机器人任务被放置在机器人可达到范围内的集中区域中。提前地,所述机器人可达到范围内的优选区域已经被定义。图4示出在机器人的可操作区域38内所定义的优选区域36的例子。所述优选区域是在机器人运动学和动力学方面可以确保最佳机器人性能的区域。如果一个或者多个任务可以被放入所述优选区域中,则可以预期好的机器人性能并且因此预期减小的循环时间。举例来说,工具中心点在不同方向上或者在规定的方向上的高加速度可以被确保,如果所述任务被放置在这种区域中。则所述优选区域可以通过数学方法或者基于工程经验来定义。在该实施例中,所述优选区域基于经验被定义。这是可接受的,因为涉及所述优选区域的任务布置在初始阶段中,最后的任务位置将通过最后的优化阶段来确保。
[0053] 在第一步骤中,在对于所使用的机器人模型可达到的范围内的优选区域在运动学和动力学方面可以确保最佳机器人性能,其被加载(如果其存在于库中)或者被确定(identify)。使用评估标准和优化算法在所述优选区域内部或者尽可能地接近所述优选区域放置所述任务。举例来说,使从形成任务的每个机器人目标到所述优选区域的中心的距离的和被最小化。
[0054] 此后,用一组样本位置独立地将每个任务重定向,并且因此通过以下方法中的任意一种来确定所述任务的最佳方位:1)比较来自样本位置的指示诸如循环时间的机器人性能的结果,选择最佳的一个;2)使来自样本位置的指示诸如循环时间的机器人性能的结果符合函数,并且接着在规定范围的变化中根据所符合的函数的最小值来定义任务的最佳定向。
[0055] 用户选择哪些工作站被包括在所述工作单元中,这些工作站的放置应当被优化。被选择的工作站与所述机器人和所述工作单元一起被显示,例如在外部计算机3的显示装置上。图5示出在优化之前所述工作单元中所述工作站关于所述机器人的初始位置。在该例子中,所述工作单元包括四个工作站20a-d。
[0056] 在单个任务放置的阶段中,所假定的是当只有围绕所述机器人基本坐标系的z方向旋转的第一轴为照管(tend)所述任务不同地旋转时任务的最佳位置将仍然保持最佳。如图6所示,当所述任务从位置1变化到位置2时,所述任务仍然处于用于所述机器人照管的最佳位置。通过在所述优选区域内部或者尽可能地接近所述优选区域放置所述任务并且接着调整所述任务的方位来得到任务的最佳位置。
[0057] 当将所述优选区域用于获得最佳的单个任务的位置时考虑下面的标准:
[0058] 任务的位置,任务的所有目标应当被包括,或者尽可能地接近于所述优选区域。任务的定向:任务应当在用户框架(user frame)中被旋转使得对于固定的位置可以达到最小循环时间。
[0059] 基于上述标准,单个站的放置还可以被分为两个子步骤。
[0060] 子步骤1:将任务的所有目标放入所述优选区域中,或者尽可能地接近所述优选区域,根据公式(1):
[0061]
[0062] 其中:
[0063] Pos_A是任务的被获得的位置;
[0064] Nt是任务的目标数量;
[0065] dis(Ti,P)是目标i到所述优选区域的中心P的距离。
[0066] 在这个子步骤中,只需要数学计算。与机器人控制器通信以评估任务执行时间不是必要的,并且因此这是效率相当高的步骤。
[0067] 子步骤2:基于子步骤1,可以根据公式(2)来调整任务的方位:
[0068] Pos_B=arg(min(CT(α))) (2)
[0069] 其中:
[0070] Pos_B是被获得的任务位置;
[0071] α是任务的旋转角度,α∈[-π,π]。(α的范围可以被改变,其基于实际的工作单元布局约束来确定)
[0072] CT(α)是作为α的函数的循环时间。
[0073] 此处,CT仅是变量α的函数。评估处于相同位置但是具有不同方位的任务的循环时间的一小组实验基于α的取样值来进行。对于每次实验,经通过实际的机器人控制器执行所述任务来获得循环时间。每次实验的样本值α可以是α的可调整范围内的离散点,例如以π/8步进。任务的最佳旋转角可以通过以下方法中的任意一种来得到:
[0074] 还可以使α和任务执行时间的关系符合如多项式函数,并且因此从所符合的多项式函数的最小值得到任务的最佳旋转角。直接找到对应于所有样本位置的最小任务执行时间的α的最佳样本值。
[0075] 作为之后有另外的优化的初始调整,α的相对低的离散度(discrete degree)是可接受的。因此,对应于最佳α的Pos_B可以被获得。
[0076] 在这个方位调整步骤中下面两个条件需要被满足:
[0077] a)任务的任何放置必须确保机器人可以达到任务的所有目标。
[0078] b)任务的任何放置必须确保机器人可以通过任务的所有路径。
[0079] c)关联的几何模型和机器人没有冲突。
[0080] 图7示出在第一优化步骤之后所述工作单元的布局的例子。所述优选区域被标记为36。
[0081] 在这个阶段所找到的单个任务的最佳位置将被输入用于随后的任务排序步骤。
[0082] 第二步骤“任务排序”
[0083] 这个步骤包括使用诸如但不限于遗传算法的优化方法根据机器人访问顺序确定所有任务的空间位置。相关于机器人性能以及任务必须以其被执行的所定义的次序确定工作站相对于机器人的有利的切向位置,并且基于此调整所述工作站的位置。
[0084] 当每个单个任务的最佳位置都已经被得到时,出现了关于如何将所有任务考虑在内以得到最佳的整体工作单元布局的问题。如果在所述第一步骤中所得到的任务的最佳位置在所述任务在所述工作单元中不同地被布置时仍然保持最佳,则所述最佳工作单元布局可以在所有任务都处于最佳次序时被得到。
[0085] 如上所述,假定如果任务仅围绕机器人底座的Z轴旋转,其将不会影响用于机器人执行所述任务的循环时间。这意味着任务的最佳位置将仍然被保持,如果其仅围绕所述机器人底座的Z轴旋转。在这种情况下,用于任务排序的解可以被推断:所有任务一起被放入工作单元中。每个任务保持在所述第一步骤中所得到的其位置和方位,但是围绕所述机器人底座的Z轴以不同的角度被旋转。顺序以及所有任务之间的间隙可以被调整以在机器人根据所定义的访问次序执行所有任务时得到最小行进距离。行进距离的测量可以用公式(3)来表示:
[0086]
[0087] 其中:
[0088] Fn(s)是次序s的适合度(fitness)。
[0089] i:任务i的ID号。
[0090] j:紧跟在任务i之后机器人将访问的任务的ID号。
[0091] dis(stni,stnj):从任务i到任务j的机器人行进距离。
[0092] 在公式(3)中,解评估不涉及循环时间计算,因此其为考虑当前计算机能力的快速计算。这将巨大的优势带到优化方法选择中,所述优化方法可能涉及相对大的搜索空间。
[0093] 假设有M个任务要被排序。因此对于任务排序有总共M!种可能的解。当M小时,在具有M!规模的空间中的搜索是有可能的。然而,如果M很大,则搜索整个解空间是相当耗时的。在这种情况下,遗传算法(GA)被采用以在任务数量大时搜索任务的最佳次序,因为已经发现GA在解决具有大规模的组合优化问题时是有效的优化方法。
[0094] 在任务排序中要被满足的条件如下列出:
[0095] 1.在所有任务关联几何模型和所使用的机器人之间没有冲突;
[0096] 2.每个目标都是所使用的机器人可达到的;
[0097] 3.对机器人行进距离的评估应当基于所有任务根据应用需要的访问顺序。
[0098] 基于上述分析,建议任务排序的问题使用切换算法来解决,如图8所示。当总的任务数量M<M0时(M0为门限),所述最佳次序将在具有M!规模的整个搜索空间中被搜索;而当M>=M0,搜索方法切换到基于GA的方法以减小时间成本。在任一搜索中,如果次序不满足上文所列的所有条件,则所述次序被丢弃。
[0099] 1.)全空间搜索:该搜索方法是直接的。
[0100] 2.)基于GA的搜索
[0101] 图9示出在第二步骤中所使用的基于GA的搜索的流程图。在图9中,每个染色体表示任务ID的顺序,并且每个任务ID是基因。初始群体被设定为N,交叉概率被设定为Pc,并且突变概率被设定为Pm。首先,染色体的初始群体随机被生成。在那之后,根据染色体的适合度值从所述群体中随机选择N*Pc个染色体以执行交叉操作,将在下一个部分描述该交叉操作。每个染色体的适合度通过任务之间的行进距离来计算,如公式(3)所给出的那样。因此,N*Pm个染色体被选择以执行突变操作。所述交叉操作和所述突变操作产生新的世代的染色体。当最大的世代L被达到时,GA结束。在L世代中的最佳解是最优排序解。
[0102] 交叉操作:传统的交叉操作在染色体对中被执行,例如染色体1和染色体2。但是这可能带来频繁出现的问题,其中任务ID在一个次序序列(order sequence)中仅可以出现并且必须出现一次的条件不能被满足。因而,此处增强型边缘重组操作被采用。
[0103] 假设i世代中的染色体s的适合度为Fn(s,i)(可以经公式(3)计算),染色体s的交叉概率如下被计算:
[0104]
[0105] 在上述公式中,N是群体的大小。染色体s是否被选择用于执行交叉操作根据Pc和prc(s,i)通过Roulette Wheel选择来确定。
[0106] 突变操作:在所选择的染色体中,根据概率Pm选择一个基因来执行突变操作。所选择的基因在{1,2,…,M}中突变,M是总的任务数量。假设所选择的基因的值为u,并且其突变为v,则其值为v的基因必须改变为u以满足任务ID在一个次序序列(order sequence)中仅可以出现并且必须出现一次的条件。
[0107] 结束标准:最大的世代L被用作搜索方法的结束标准。L被设定为足够大以保证最后的解的性能。在L世代中的最佳解是最优排序解。
[0108] 任务排序步骤可以使用其他优化方法,例如中性网络、粒子群优化、蚁群算法、模拟退火等等。
[0109] 图10示出在第二优化步骤之后所述工作单元的布局的例子。
[0110] 第三步骤“单元布局优化”
[0111] 这个步骤包括借助于被配置为反复地运行所述机器人程序以相关于所述机器人性能优化所述工作站的放置的优化算法来调整所述工作站的位置。每个任务的调整余量和自由度基于来自上述步骤的结果来定义。通过诸如但不限于模拟退火算法的、可以确保越来越好的解的优化方法来调整所有工作站的位置以得到最后的最优解,例如在最小循环时间方面。
[0112] 在最初两个步骤之后,每个机器人任务的好的位置以及在工作单元中所有任务的好的空间布局可以被得到。但是所获得的解基于两个假定:
[0113] 1)所述优选区域可以为机器人任务确保好的机器人性能,并且因此好的机器人执行时间可以被预期;
[0114] 2)如果任务仅围绕所述机器人底座的Z轴旋转,则其将不会影响用于机器人执行任务的时间。
[0115] 基于上述假定,在上述两个主要步骤中解评估不涉及经与实际的机器人控制器通信来运行机器人程序,除了用于确定任务的最佳旋转角的所述第一步骤的子步骤以外。以这种方式,可以相当高效地得到好的解。但是所得到的解不能被保证是最佳的一个解,因为用于所有任务的实际执行时间没有被用作判据。另一个优化阶段需要被进行,其中用于所有机器人任务的实际执行时间需要被用于解评估。这符合用于全面的解的算法设计策略:寻找效率和解质量之间的平衡。最初两个主要步骤可以快速地得到接近最好的解。以这个解作为输入,在最后的优化阶段中用于每个任务的调整空间可以大大地被减小,其可以将算法运行时间缩短许多,因为最后的优化的每次反复涉及经与机器人控制器通信来评估循环时间。
[0116] 在最后的优化阶段,所有任务的位置同时被调整以优化单元步距。所述解在此基于模拟退火方法(SA),如图11所示。由于该步骤涉及反复地运行机器人程序以优化单元布局(这是耗时的),SA在此被选择,因为其可以提供越来越好的解,其为用户提供灵活性。就是说,用户可以停止优化进程,如果他或她对至今所找到的解满意。需要指出的是此处的搜索空间远小于US 652,637,3和EP1107082中的搜索空间,因为所述优化解的输入是通过第一和第二步骤所生成的布局,其可以被认为是好的解的基础。
[0117] 图11示出在最后的单元布局优化阶段中的基于模拟退火的方法的流程图。到这个阶段的输入解S0是从最初两个阶段所得到的接近最优的布局,因此在最后阶段用于每个任务的调整空间大大地被减小。每个解由所有任务的位置构成。对每个解的评估是用于所有机器人任务的实际执行时间。图11示出SA怎样工作。如下简要地描述SA:
[0118] 1)设定初始温度T0、下降参数(decent parameter)h(0<h<1)、控制参数k、近邻数量(size)L。T是控制搜索步进(step)的全局时变参数。在开始处,其被设定为高,意味着新的解可以被接受,即使在根据概率p其在比当前的解差的情况下。这个特征防止所述方法变为陷在局部最小值中。L意味着搜索当前解的L个近邻。可以根据实际情况来确定L;然而,考虑到每个布局的评估成本,此处其必须是小的。k是控制ΔCT的相对权重以及T的参数。
[0119] 2)如果已经为解S搜索了L个近邻,则前往7);否则在邻域中随机地改变S的构*成(composition),得到新的解S。
[0120] 3)经运行机器人控制器来计算CT(S*)和CT(S)之间的差ΔCT=CT(S*)-CT(S)。CT(S)是解S的循环时间。
[0121] 4)如果ΔCT<0,则接受当前的解S*,前往2);否则前往5)。
[0122] 5)在0和1之间选择随机数x。
[0123] 6)计算概率p=exp(-ΔCT/kT)。如果x<p,接受当前的解S*,前往2);否则前往7)。
[0124] 7)设定T=h*T。如果结束标准被满足,结束所述算法;否则前往2)。
[0125] 应当指出的是SA可以从任何初始布局开始。这为用户提供了灵活性:初始的解可以被规定为触发优化进程的起始点;在算法执行期间可以以中间结果停止优化过程,并且以所述中间结果作为起始点来继续所述优化过程。
[0126] 图12示出在第三优化步骤之后所述工作单元的布局的例子。
[0127] 用于最后的任务调整的优化方法可以包括其他优化算法,例如中央网络、粒子群优化、蚁群算法、遗传算法等等。
[0128] 在第二和第三步骤期间所有任务同等地被对待并且同时被处理。
[0129] 任一优化方法的每次反复,即用于任务排序和最后的布局调整,可以包括以下顺序步骤:任务重新布置、任务配置、生成可执行的机器人程序以及与机器人控制器同步,并且最后通过运行所述机器人程序来评估循环时间。
[0130] 本发明不限于所描述的实施例,但是可以在以下权利要求的范围内被改变和修正。
[0131] 举例来说,优化单元放置的目标可以是最小循环时间,或者反应机器人性能的其他标志。
[0132] 举例来说,所述任务中的每一个被允许以所有可能的自由度来调整(沿x、y或者z轴平移,并且围绕x、y或者z轴旋转),或者如所规定的那样在受限的自由度中被调整。
[0133] 举例来说,在上文中所提到的任务放置方法可以反过来被应用:所述任务的位置被固定,而所述机器人的位置被调整以达到最优解,例如在最小循环时间方面。
[0134] 为任一所述优化方法的每次反复对循环时间的评估还可以使用经机器人运动学以及动力学模型的分析方法来得到,并且不被限制于经与机器人控制器通信来评估循环时间。机器人程序的执行可以通过在实际的机器人上、在虚拟的机器人控制器上、在专门构建的解释器(interpreter)或者被设计用于分析机器人程序的其他装置中运行程序来实现并且返回被估计的优化参数,诸如循环时间或者能量。