一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

规划系统、机器人系统、规划方法及计算机可读存储介质与流程

2022-07-30 15:56:58 来源:中国专利 TAG:


1.本公开的一个方面涉及规划系统、机器人系统、规划方法及计算机可读存储介质。


背景技术:

2.在专利文献1中记载了机器人路径生成装置,基于基于数据集的机器学习过程的结果生成任意设定的起点和终点之间的机器人路径。
3.在先技术文献
4.专利文献
5.专利文献1:国际公开第2018/143003号。


技术实现要素:

6.发明所要解决的问题
7.期望有效地执行机器人控制的规划。
8.用于解决问题的手段
9.本公开的一个方面涉及的规划系统包括:流生成部,基于与多个机器人对任务的同时执行有关的同时执行限制来生成任务流,任务流包括预先定义的多个作业任务和位于作业任务之间的连接任务;确认部,确认在生成后的任务流的连接任务中机器人是否与其他物体发生干扰;更新部,当被确认会发生干扰时,更新同时执行限制,同时执行限制与生成后的任务流的连接任务相关;以及重新执行部,基于更新后的同时执行限制使流生成部重新生成任务流。
10.本公开的一个方面涉及的规划方法由规划系统执行,所述规划系统包括至少一个处理器。规划方法包括以下步骤:基于与多个机器人对任务的同时执行有关的同时执行限制来生成任务流,任务流包括预先定义的多个作业任务和位于作业任务之间的连接任务;确认在生成后的任务流的连接任务中机器人是否与其他物体发生干扰;当被确认会发生干扰时,更新同时执行限制,同时执行限制与生成后的任务流的连接任务相关;以及基于更新后的同时执行限制重新生成任务流。
11.本公开的一个方面涉及的规划程序使计算机执行以下步骤:基于与多个机器人对任务的同时执行有关的同时执行限制来生成任务流,任务流包括预先定义的多个作业任务和位于作业任务之间的连接任务;确认在生成后的任务流的连接任务中机器人是否与其他物体发生干扰;当被确认会发生干扰时,更新同时执行限制,同时执行限制与生成后的任务流的连接任务相关;以及基于更新后的同时执行限制重新生成任务流。
12.本公开的一个方面涉及的机器人系统包括:1个以上的机器人;上述规划系统;以及1个以上的机器人控制器,基于生成后的动作程序使1个以上的机器人动作。
13.发明的效果
14.基于本公开的一个方面,能够有效地执行机器人控制的规划。
附图说明
15.图1是表示机器人系统的结构的一个示例的图。
16.图2是表示任务流的一个示例的图。
17.图3是表示编程辅助装置的硬件结构的一个示例的图。
18.图4是表示编程辅助装置的功能结构的一个示例的图。
19.图5是表示编程辅助装置的动作的一个示例的流程图。
20.图6是表示编程辅助装置的动作的一个示例的流程图。
21.图7是表示基于候选姿势插入待机任务的一个示例的图。
22.图8是表示多个任务模式的一个示例的图。
23.图9是表示旅行商问题的一个示例的图。
具体实施方式
24.以下,参照附图对本公开的实施方式进行详细地说明。在附图的说明中,对相同或同等的要素标注相同的附图标记,并省略重复的说明。
25.[机器人系统]
[0026]
在本实施方式中,将本公开的规划系统应用于机器人系统1的编程辅助装置4。在本公开中,规划系统是指用于决定至少一个机器人的动作的计算机系统。机器人系统1是通过使机器人执行由操作员示教的动作而使加工、组装等各种作业自动化的系统。图1是表示机器人系统1的结构的一个示例的图。在一个示例中,机器人系统1具有1个以上的机器人2、与1个以上的机器人2对应的1个以上的机器人控制器3、以及编程辅助装置4。图1示出3台机器人2以及3台机器人控制器3,并示出一个机器人2与一个机器人控制器3连接的结构。但是,各装置的台数和连接方法不限于图1的例子。例如,一个机器人控制器3也可以连接多台机器人2。
[0027]
在一个示例中,机器人2是多轴的串联连杆式垂直多关节机器人,被构成为能够以其前端部5保持工具的状态执行各种作业。机器人2能够在规定的范围内自由地改变前端部5的位置以及姿势。机器人2可以是6轴的垂直多关节机器人,也可以是对6轴追加了1轴的冗余轴后的7轴的垂直多关节机器人。在一个示例中,多台机器人2配置为对于配置在相同位置的相同工件,能够通过任意机器人2来执行相同的处理。
[0028]
机器人控制器3是按照预先生成的动作程序控制机器人2的装置。在一个示例中,动作程序包含用于控制机器人2的数据,例如包含表示机器人2的轨迹的路径。机器人2的轨迹是指机器人2或其构成要素的行动路径。例如,机器人2的轨迹可以是前端部5的轨迹。在一个示例中,机器人控制器3计算用于使前端部5的位置和姿势与动作程序所示的目标值一致的关节角度目标值(机器人2的各关节的角度目标值),基于该角度目标值控制机器人2。
[0029]
通过机器人控制器3的控制,至少一个机器人2执行一系列的处理。在本公开中,也将该一系列的处理称为作业。另外,将构成该作业的最小单位的处理称为任务。因此,作业包括1个以上的任务。每个机器人2能够执行各种任务,如“取得部件”、“放置部件”、“装配部件(于工件上)”、“采取待机姿势”等。一个任务可以包括该任务中的作为机器人2的轨迹的一个路径。
[0030]
在一个示例中,机器人2也可以是自走式移动机器人。在这种情况下,机器人2在开
始处理之前,能够按照动作程序在作业空间内移动,并移动到给定的位置。例如,机器人2能够在避开其他物体的同时自行移动。该机器人2可以在动作程序所示的配置中,重复执行该动作程序所示的作业(即,至少一个任务)。
[0031]
编程辅助装置4是生成动作程序的装置。例如,编程辅助装置4针对1个以上的机器人2的每一个,生成表示该机器人2执行的作业的动作程序。在一个示例中,编程辅助装置4评估作业的至少一部分构成要素,诸如路径、机器人2在某个时间点的姿势等。然后,编程辅助装置4基于其评估结果生成动作程序。编程辅助装置4也可以执行模拟并执行该评估。模拟是指虚拟地执行动作程序的至少一部分的处理。更详细地,模拟是指在不使机器人2实际动作的情况下,在计算机上模拟地执行动作程序的至少一部分。在一个示例中,模拟是在配置有机器人2以及其他物体的虚拟空间上虚拟地执行动作程序的至少一部分的处理。其他物体是指配置在机器人2的周围的物体,例如,可以是其他机器人2、工件、其他制造装置等。
[0032]
[任务流]
[0033]
在一个示例中,编程辅助装置4生成用于有效地执行作业的任务流,并生成用于使1个以上的机器人2执行该任务流的动作程序。在本公开中,任务流是指表示哪个机器人以何种顺序以及在何种时机执行何种任务的信息。
[0034]
在一个示例中,任务流包含多个作业任务、多个连接任务以及多个待机任务。作业任务是指由用户预先设定(定义)的任务。连接任务是指用于将机器人2引导至下一个作业任务的任务,位于相邻的作业任务之间。待机任务是指用于使机器人待机的任务。待机任务被设定为与作业任务的开始以及结束分别对应,其结果,待机任务位于作业任务与连接任务之间。连接任务以及待机任务由编程辅助装置4自动地设定(插入)。
[0035]
在本公开中,将作业任务内的路径称为“作业路径”,将连接任务内的路径称为“空切路径”。在生成作业任务时由用户预先设定(定义)作业路径。空切路径连接先前的作业任务中的作业路径的终点与后续的作业任务中的作业路径的起点。在一个示例中,例如通过设定起点和终点以外的至少一个示教点,自动地设定空切路径。示教点是指为了规定路径而设定的基准点。由于机器人2在待机任务中不动,因此待机任务不具有路径。
[0036]
图2是表示任务流的一个示例的图。该示例中的任务流表示2台机器人2(机器人ra、rb)协同执行一个作业,该作业包含5个作业任务ta、tb、tc、td、te。在图2中,符号“s”表示机器人2的开始姿势(初始姿势),符号“e”表示机器人2的结束姿势。在该示例中,机器人ra依次执行作业任务ta、tb、te,机器人rb依次执行作业任务tc、td。
[0037]
与作业任务的开始以及结束分别对应地插入待机任务。连接任务被插入到与先前的作业任务的结束对应的待机任务和与后续的作业任务的开始对应的待机任务之间,其结果是位于相邻的作业任务之间。如图2所示,在一个示例中,连接任务也被插入到开始姿势和与最初的作业任务的开始对应的待机任务之间,进而,也被插入到与最后的作业任务的结束对应的待机任务和结束姿势之间。
[0038]
编程辅助装置4基于与多个机器人2同时执行任务有关的同时执行限制生成任务流。同时执行限制是使机器人2动作时所施加的限制(条件)的一种。在一个示例中,同时执行限制表示多个机器人2能够并行地执行多个任务的时机。在某个时间宽度中,多个机器人2无法并行地执行多个任务时(即,不能同时执行任务时),在该时间宽度中,仅1台机器人2执行任务,其他机器人2不执行任务而待机。该待机是联锁的一个例子,该联锁是用于在具
备给定的条件后才开始执行下一个动作的机制。
[0039]
在图2的示例中,机器人rb在执行作业任务tc之后,待机直至机器人ra结束作业任务tb为止,然后执行下一连接任务。机器人ra在执行作业任务tb的下一个连接任务之后,待机直至机器人rb结束作业任务td为止,然后执行作业任务te。在该示例中,机器人ra实际待机的时间宽度是从执行作业任务tb之后的连接任务起到执行作业任务te为止的期间。机器人rb实际待机的时间宽度是从执行作业任务tc起到执行下一个连接任务为止的期间。在与这两个待机时间对应的两个待机任务中设定大于0的待机时间,在其他待机任务中设定0作为待机时间。在待机时间为0的待机任务中,机器人2不是静止的,连续地执行相邻的作业任务以及待机任务。图2的右侧表示省略了待机时间为0的待机任务的任务流。
[0040]
[编程辅助装置]
[0041]
图3是表示编程辅助装置4的硬件结构的一个示例的图。编程辅助装置4具有主体10、监视器20以及输入设备30。
[0042]
主体10由至少一个计算机构成。主体10具有电路160,电路160具有至少一个处理器161、内存162、存储部163和输入输出端口164。存储器163记录用于构成主体10的各功能模块的程序。存储器163是硬盘、非易失性半导体存储器、磁盘、光盘等计算机可读记录介质。内存162临时存储从存储部163加载的程序、处理器161的运算结果等。处理器161通过与内存162协作来执行程序,来构成各功能模块。输入输出端口164基于来自处理器161的指令,在监视器20、输入设备30以及机器人控制器3之间进行电信号的输入输出。
[0043]
监视器20是用于显示从主体10输出的信息的装置。监视器20只要能够进行图形显示即可,可以是任意的,作为其例子,可以列举液晶面板等。输入设备30是用于向主体10输入信息的装置。输入设备30只要能够输入期望的信息,则可以是任意的设备,作为其示例,可以列举键盘、鼠标等。
[0044]
监视器20和输入设备30也可以作为触摸面板而被一体化。例如,如平板电脑那样,主体10、监视器20以及输入设备30也可以被一体化。
[0045]
图4是表示编程辅助装置4的功能结构的一个示例的图。在一个示例中,编程辅助装置4具有作为功能模块的获取部110、模式生成部120、流决定部130以及程序生成部140。获取部110是获取生成动作程序所需的数据的功能模块。模式生成部120是针对一个作业而生成多个任务模式的功能模块。在本公开中,任务模式是表示能够作为任务流而采用的作业的执行方法的信息。在一个示例中,各个任务模式表示机器人2和任务的对应关系以及任务的执行顺序的可能的组合。在一个示例中,模式生成部120生成多个任务模式,以使各自的任务模式包含多个作业任务、多个连接任务以及多个待机任务。流决定部130是决定用于生成动作程序的一个任务流的功能模块。程序生成部140是生成用于使1个以上的机器人2执行决定后的任务流的至少一个动作程序的功能模块。
[0046]
模式生成部120具有任务插入部121和限制设定部122。任务插入部121是将连接任务以及待机任务分别插入多个任务模式的功能模块。因此,任务插入部121作为连接任务插入部以及待机任务插入部发挥功能。限制设定部122是设定多个任务模式中的限制的功能模块。
[0047]
流决定部130具有流生成部131、路径生成部132、确认部133以及更新部134。流生成部131是基于同时执行限制和多个任务模式来生成一个任务流的功能模块。路径生成部
132是生成该任务流的连接任务中的空切路径的功能模块。确认部133是确认在该任务流的连接任务(空切路径)中机器人2是否与其他物体发生干扰的功能模块。干扰是指物体彼此接触或碰撞,例如,是指机器人2与其他物体接触或碰撞。更新部134是当检测到干扰时更新同时执行限制的功能模块,该同时执行限制与生成后的任务流的连接任务相关。当进行了该更新处理时,流决定部130基于该更新后的同时执行限制,使流生成部131重新生成任务流。因此,流决定部130作为重新执行部发挥功能。
[0048]
[规划方法]
[0049]
作为本公开的规划方法的一个示例,参照图5以及图6对由编程辅助装置4执行的一系列处理过程的一个示例进行说明。图5以及图6是表示编程辅助装置4的动作的一个示例作为处理流s1的流程图。即,编程辅助装置4执行处理流s1。
[0050]
在步骤s11中,获取部110获取生成动作程序所需的示教数据。该示教数据是包含使机器人2执行作业所需的信息的电子数据,例如,表示1个以上的作业任务和与机器人2的动作相关的限制。作为该限制的示例,可列举出如每个机器人2的配置、多个作业任务的执行顺序、机器人2与作业任务的对应关系、作业任务的开始以及结束各自的机器人2的姿势、每个作业任务中的机器人2的动作时间以及同时执行限制。示教数据可以包含针对每个机器人2分别设定的事项和针对1个以上的机器人2共同设定的事项中的至少一个。可以使用各种方法来获取示教数据。例如,获取部110既可以接受由用户输入的示教数据,也可以基于用户输入从给定的存储装置读出示教数据,也可以接收从其他计算机发送来的示教数据。
[0051]
在步骤s12中,任务插入部121向多个作业任务的每一个插入待机任务。例如,任务插入部121向作业任务的开始以及结束分别插入待机任务。
[0052]
在一个示例中,任务插入部121也可以针对每个作业任务的开始以及结束分别设定机器人2的多个候选姿势,针对该多个候选姿势的每一个执行待机任务的插入。候选姿势是作为用于决定机器人的待机姿势的选项而准备的姿势。与作业任务的开始相关的候选姿势是先前的连接任务与该作业任务之间的机器人2的待机姿势的候选。与作业任务的结束相关的待机姿势是该作业任务与后续的连接任务之间的机器人2的待机姿势的候选。多个候选姿势也可以包含由用户设定(定义)的机器人2的姿势即示教姿势,在这种情况下,示教数据包含该示教姿势。
[0053]
图7是表示基于候选姿势插入待机任务的一个示例的图。该示例表示关于一个作业任务tx的各种候选姿势。假设关于作业任务tx的开始存在3个候选姿势ps1、ps2、ps3,关于作业任务tx的结束存在3个候选姿势pe1、pe2、pe3。因此,对于作业任务tx的开始和结束的候选姿势存在9个组合。任务插入部121向该候选姿势的9个组合的每一个(换言之,18个候选姿势的每一个)插入待机任务。位于每个作业任务tx的上下的圆形标记表示其待机任务。
[0054]
返回图5,在步骤s13中,模式生成部120基于示教数据生成多个任务模式。在一个示例中,模式生成部120在满足示教数据所示的限制的范围内生成多个任务模式。例如,假设2个作业任务tx、ty的执行顺序不受限制。在这种情况下,模式生成部120能够生成在作业任务tx之后执行作业任务ty的任务模式、在作业任务ty之后执行作业任务tx的任务模式、以及并行地执行作业任务tx、ty的任务模式。作为另一个示例,假设准备了2台机器人ra、rb,对执行作业任务tx的机器人没有限制。在这种情况下,模式生成部120能够生成机器人
ra执行作业任务tx的任务模式和机器人rb执行作业任务tx的任务模式。
[0055]
如上所述,在每个作业任务的开始以及结束中能够设定多个候选姿势。在这种情况下,模式生成部120基于每个作业任务的开始以及结束的候选姿势的组合来生成多个任务模式。在针对每个作业任务设定多个候选姿势时,也考虑多个作业任务间的候选姿势的组合,因此生成的任务模式的个数变多。在图7的示例的情况下,模式生成部120生成至少9个任务模式。在对包括作业任务tx的多个作业任务分别设定多个候选姿势时,将生成许多任务模式。
[0056]
在步骤s14中,任务插入部121向多个任务模式的每一个插入连接任务。每个任务模式中的连接任务的插入如下所述执行。即,任务插入部121基于任务模式内的多个作业任务的配置,在与先前的作业任务的结束对应的待机任务和与后续的作业任务的开始对应的待机任务之间插入连接任务。作为结果,任务插入部121在相邻的作业任务之间插入连接任务。在一个示例中,任务插入部121在机器人2的开始姿势和与最初的作业任务的开始对应的待机任务之间插入连接任务,在与最后的作业任务的结束对应的待机任务与机器人2的结束姿势之间也插入连接任务。
[0057]
任务插入部121针对每个任务模式的每个连接任务设定机器人2的移动时间的初始值。在本公开中,连接任务中的机器人的移动时间也称为“连接时间”。任务插入部121在各个连接任务中假设直线的空切路径,计算机器人2在该直线上的移动时间。连接时间是机器人2从空切路径的起点移动到终点所需的时间。通过空切路径的对象可以是机器人2的构成要素,例如前端部5、工具等,也可以是机器人2的整体。无论哪种情况,任务插入部121都将该所需时间设定为连接任务中的连接时间的初始值。该初始值是连接时间的最小值。
[0058]
在步骤s15中,模式生成部120废弃包含所述机器人无法执行的姿势(待机姿势)的任务模式。例如,模式生成部120对任务插入部121自动设定的每个候选姿势(待机姿势)执行步骤s15的处理。如果需要,则模式生成部120可以对示教姿势执行步骤s15的处理。“机器人无法执行的姿势”是指机器人无法获取的姿势、或者对机器人的动作产生障碍的姿势。“机器人能够执行的姿势”是指机器人能够获取的、且不会对机器人的动作产生障碍的姿势。当判断机器人2无法执行任务模式中的至少一个待机姿势时,模式生成部120废弃该任务模式,当判断机器人2能够执行全部的待机姿势时保留该任务模式。模式生成部120对多个任务模式的每一个执行该处理,提取机器人能够执行的任务模式。
[0059]
机器人2无法执行的姿势可以是机器人2无法采取的姿势,可以是机器人2与其他物体(其他机器人2除外)干扰的姿势,也可以是与机器人2的前后姿势无连续性的姿势。与此相对地,机器人2能够执行的姿势可以是机器人2能够采取的姿势,可以是机器人2不与其他物体(其他机器人2除外)干扰的姿势,也可以是与机器人2的前后姿势保持连续性的姿势。姿势的连续性是指机器人2的姿势能够从某一状态转换到下一状态。无连续性的姿势是指在前一个姿势和后一个姿势中的至少一个之间无法转换的姿势。即,无连续性的姿势是特异点。模式生成部120也可以参照表示机器人2的构造、可移动区域等的给定的规格数据,判断机器人2是否能够采取待机姿势。模式生成部120也可以参照该规格数据,判断机器人2是否能够执行包含待机姿势和其前后姿势的一系列的动作。模式生成部120也可以比较采取待机姿势的机器人2的物理范围和其他物体的物理范围,将这两个物理范围的重叠判断为干扰。
[0060]
在步骤s16中,限制设定部122对多个任务模式的每一个确认姿势以及作业任务中的干扰,设定同时执行限制。“姿势以及作业任务中的干扰”是指某个机器人的待机姿势或者作业任务与其他机器人的待机姿势或者作业任务之间产生的干扰。限制设定部122在多个任务模式的每一个中,确认在该任务模式中是否产生姿势以及作业任务中的干扰。当确认在某个任务模式中会产生该干扰时,限制设定部122基于该确认结果对该任务模式设定同时执行限制,使得不产生该干扰。例如,限制设定部122对该任务模式内的多个作业任务以及多个待机任务中的至少一个要素设定同时执行限制。
[0061]
在一个示例中,通过包含上述步骤s11~s16的处理来生成多个任务模式。
[0062]
图8是表示多个任务模式的一个示例的图。在该示例中,假设准备了机器人ra、rb这2台机器人2,至少1台机器人2执行3个作业任务tx、ty、tz。示教数据除了这些作业任务之外,还表示关于作业任务的执行顺序的限制、和关于机器人2以及作业任务的对应关系的限制。在该示例中,示教数据表示在作业任务tx、ty之后执行作业任务tz、作业任务ty由机器人rb执行。
[0063]
在作业任务tx、ty之间没有关于执行顺序的限制。因此,作业任务tx、ty的执行时机可能会重叠,也可能是作业任务tx比作业任务ty先执行,还可能是作业任务ty比作业任务tx先执行。关于作业任务tx、tz,没有关于与机器人2的对应关系的限制,因此,这两个任务的每一个可能由机器人ra执行,也可能由机器人rb执行。图8示出了作为对应于这种各种可能性的多个任务模式的一部分的六个任务模式。在该图中,圆圈表示待机任务,箭头表示连接任务。注意,在图8的示例中可以生成另一任务模式。
[0064]
移动到图6,在步骤s17中,流生成部131基于同时执行限制和多个任务模式来生成一个任务流。在一个示例中,流生成部131生成满足同时执行限制等给定的限制且作业的执行时间最短的任务流。执行时间是从1个以上的机器人2中的至少一个从开始姿势开始移动的时间点到该1个以上的机器人2全部到达结束姿势的时间点为止的时间。
[0065]
在一个示例中,流生成部131基于多个任务模式的每一个的同时执行限制通过解决旅行商问题而生成一个任务流。旅行商问题是在给定节点(城市)集合和每个节点之间的移动成本时,代理商(推销员)每一次经过所有节点的多种类型的移动路线中,求出总移动成本最小的移动路线的最优化问题。基于同时执行限制的旅行商问题是在将多个机器人2视为代理商的基础上,在同时执行限制的前提下沿时间轴移动该多个代理商的同时,搜索总移动成本最小的解(各代理商的移动路线)的处理。该旅行商问题通过节点来表现多个机器人2各自的待机任务(待机姿势),通过分支来表现作业任务以及连接任务。
[0066]
流生成部131在限制的前提下沿时间轴移动所有的代理商,同时搜索所有节点被任意一个代理商访问、且每个代理商的移动路线通过一笔画出、且总移动成本最小的解。生成的任务流对应其最优解。2个以上的机器人不通过相同节点以及相同分支的条件对应于每个作业任务、每个连接任务以及每个待机任务均只由一个机器人2执行的这种择一限制。这意味着通过解决旅行商问题而自动地考虑了择一限制。在进一步考虑了同时执行限制的旅行商问题中,即使多个代理商位于相互不同的节点或分支时,有时不允许在相同的时间段内该多个代理商处于这些位置。如上所述,总移动成本最小的任务流可以是执行时间最短的任务流。总移动成本也可以由不同于执行时间的物理量来定义。例如,总移动成本最小的任务流也可以是1个以上的机器人2的总移动距离(1个以上的机器人2的轨迹的长度之
和)最小的任务流。
[0067]
图9是本公开中的旅行商问题的一个示例。在该问题中,流生成部131设定与2台机器人2对应的2个代理商。虚线表示机器人201能够通过的分支(即,机器人201能够执行的作业任务以及连接任务)。单点划线表示机器人202能够通过的分支(即,机器人202能够执行的作业任务以及连接任务)。各个节点表示待机任务,“s”节点表示机器人2的开始姿势(初始姿势),“e”节点表示机器人2的结束姿势。表示为旅行商问题的节点和分支的集合对应于多个任务模式。如图9所示,流生成部131搜索如解301、302、303那样的各种解(任务流),最终生成总移动成本最小的任务流。解301、302均表示机器人201、202分别执行至少一个作业任务的情况。另一方面,解303表示机器人201执行所有的作业任务而机器人202不执行任何作业任务的情况。
[0068]
返回图6,在步骤s18中,路径生成部132自动生成生成后的任务流的连接任务中的空切路径。在一个示例中,路径生成部132生成单独的空切路径,以避免机器人2与其他物体的干扰。例如,路径生成部132为了生成某一个空切路径,在先前的作业任务中的作业路径的终点与后续的作业任务中的作业路径的起点之间,生成用于避免机器人2与其他物体干扰的1个以上的通过点。然后,路径生成部132生成空切路径使得依次通过该1个以上的通过点。路径生成部132为了生成一个空切路径,能够重复执行包括通过点的设定和避免干扰的确认的一系列的处理。这样的生成方法的详细内容例如记载于日本专利第4103057号公报中。
[0069]
在一个示例中,路径生成部132生成第一机器人的连接任务中的空切路径,以使第一机器人不干扰1个以上的第二机器人(第一机器人之外的其他机器人)的轨迹。该处理是指,将每个第二机器人的轨迹视为第一机器人的障碍物,生成第一机器人的空切路径,以使在第一机器人与该视为障碍物之间不发生干扰。
[0070]
在步骤s19中,确认由确认部133生成的任务流的连接任务中的干扰。“连接任务中的干扰”是指某个机器人的连接任务与其他机器人的作业任务、连接任务或者待机姿势之间产生的干扰。在一个示例中,在生成空切路径时也考虑避免干扰,但由于在该处理中没有确认连接任务中的所有干扰,因此确认部133执行该确认处理。
[0071]
在步骤s20中,当确认部133确认该干扰时(即,会发生干扰时),处理进入步骤s21。在步骤s21中,更新部134更新与生成后的任务流的连接任务(空切路径)相关的同时执行限制。更新部134更新该同时执行限制,使得不会发生确认的干扰。例如,更新部134也可以对发生干扰的连接任务相关的待机任务所对应的待机时间进行调整。在一个示例中,确认部133延长或缩短待机时间。更新部134也可以对先于确认干扰的连接任务的待机任务中的待机时间进行调整。或者,更新部134也可以对并行地动作的其他机器人2的待机任务中的待机时间进行调整。作为另一个示例,更新部134可以更新确认干扰后的连接任务中的连接时间。更新部134计算机器人2通过生成后的空切路径所需的时间,将该所需时间设定为连接时间,由此,更新对应于该空切路径的连接任务的连接时间。
[0072]
在步骤s21之后,处理返回到步骤s17。在重复的步骤s17中,流生成部131重新生成一个任务流。在一个示例中,同时执行限制的更新包含待机时间的调整以及连接时间的更新中的至少一个,流生成部131基于该调整或者更新的结果重新生成一个任务流。流生成部131通过与初次的生成相同的方法来重新生成任务流。但是,由于与上次生成的任务流的连
接任务相关的同时执行限制被更新,所以在重复的步骤s17中,流生成部131有可能生成与上次不同的任务流。或者,流生成部131可能生成与上次相同的任务流。之后,对重新生成的任务流执行步骤s18、s19、s20。
[0073]
在步骤s20中,当确认部133没有确认连接任务中的干扰时(即,不会发生干扰时),处理进入步骤s22。在步骤s22中,程序生成部140基于生成后的任务流生成动作程序。在一个示例中,程序生成部140基于该任务流设定每个作业任务的执行顺序、向1个以上的机器人2的多个作业任务的分配(即,机器人2与作业任务的对应关系)、自动设定了空切路径以及连接时间的每个连接任务、以及作业任务与连接任务之间的机器人的待机时间。程序生成部140基于该设定生成用于使1个以上的机器人2动作的至少一个动作程序。在一个示例中,程序生成部140对多个机器人2的每一个生成专门针对该机器人2的动作程序。
[0074]
在步骤s23中,程序生成部140输出生成后的动作程序。例如,程序生成部140可以将动作程序存储在存储部163等记录介质中,也可以发送到机器人控制器3等其他计算机。或者,程序生成部140可以以文本、基于计算机图形(cg)的动态图像或静止图像等形式在监视器20上显示动作程序。编程辅助装置4也可以对输出的动作程序执行进一步干扰检查等附加处理。
[0075]
在一个示例中,程序生成部140将至少一个动作程序输出至至少一个机器人控制器3,每个机器人控制器3基于该动作程序使1个以上的机器人2动作。通过处理流s1获得基于动作程序进行动作的机器人2,因此处理流s1不仅是本公开的规划方法的一个示例,同时也是机器人的制造方法的一个示例。
[0076]
[程序]
[0077]
编程辅助装置4的各功能模块通过使规划程序读取到处理器161或内存162上并使处理器161执行该程序来实现。规划程序包含用于实现编程辅助装置4的各功能模块的代码。处理器161基于规划程序使输入输出端口164动作,执行内存162或存储部163中数据的读取及写入。通过这样的处理来实现编程辅助装置4的各功能模块。
[0078]
规划程序可以固定记录于cd-rom、dvd-rom、半导体存储器等非临时性记录介质上后被提供。或者,规划程序也可以通过通信网络作为叠加在载波上的数据信号来提供。
[0079]
[效果]
[0080]
如上所述,本公开的一个方面涉及的规划系统包括:流生成部,基于与多个机器人对任务的同时执行有关的同时执行限制来生成任务流,所述任务流包括预先定义的多个作业任务和位于作业任务之间的连接任务;确认部,确认在生成后的任务流的连接任务中机器人是否与其他物体发生干扰;更新部,当被确认会发生干扰时,更新同时执行限制,同时执行限制与生成后的任务流的连接任务相关;以及重新执行部,基于更新后的同时执行限制使流生成部重新生成任务流。
[0081]
本公开的一个方面涉及的规划方法由规划系统执行,所述规划系统包括至少一个处理器。规划方法包括以下步骤:基于与多个机器人对任务的同时执行有关的同时执行限制来生成任务流,任务流包括预先定义的多个作业任务和位于作业任务之间的连接任务;确认在生成后的任务流的连接任务中机器人是否与其他物体发生干扰;当被确认会发生干扰时,更新同时执行限制,同时执行限制与生成后的任务流的连接任务相关;以及基于更新后的同时执行限制重新生成任务流。
[0082]
本公开的一个方面涉及的规划程序使计算机执行以下步骤:基于与多个机器人对任务的同时执行有关的同时执行限制来生成任务流,任务流包括预先定义的多个作业任务和位于作业任务之间的连接任务;确认在生成后的任务流的连接任务中机器人是否与其他物体发生干扰;当被确认会发生干扰时,更新同时执行限制,同时执行限制与生成后的任务流的连接任务相关;以及基于更新后的同时执行限制重新生成任务流。
[0083]
本公开的一个方面涉及的机器人系统包括:1个以上的机器人;上述规划系统;以及1个以上的机器人控制器,基于生成后的动作程序使1个以上的机器人动作。
[0084]
在这些方面中,不对能够采用的所有的任务流进行确认,而是对基于同时执行限制而生成的任务流有无干扰进行确认,因此缩短了确认该干扰所花费的时间。因此,能够有效地执行机器人控制的规划。
[0085]
另一方面涉及的规划系统中,可以是,还包括:路径生成部,生成所述生成后的任务流的连接任务中的空切路径,确认部确认在空切路径中机器人是否与其他物体发生干扰,当被确认会发生干扰时,更新部更新同时执行限制,同时执行限制与生成后的任务流的连接任务相关。由于在表示机器人的实际的轨迹的空切路径中检查有无干扰,因此能够准确地判断同时执行限制的更新的必要性。
[0086]
另一方面涉及的规划系统中,可以是,多个机器人包括第一机器人和第二机器人,路径生成部生成第一机器人的连接任务中的空切路径,以使第一机器人不干扰第二机器人的轨迹。在这种情况下,能够适当地设定作为处理对象的机器人的空切路径,以避开已经设定的其他机器人的路径。
[0087]
另一方面涉及的规划系统中,可以是,还包括:模式生成部,生成多个任务模式,多个任务模式包括多个作业任务和连接任务,流生成部基于同时执行限制和多个任务模式来生成任务流。由于自动地准备多个任务模式,并基于这些任务模式生成任务流,因此能够有效地获得任务流。
[0088]
另一方面涉及的规划系统中,可以是,模式生成部具有限制设定部,限制设定部针对多个任务模式的每一个,为作业任务和连接任务中的至少一个设定同时执行限制。由于对作业任务或连接任务设定同时执行限制,因此能够适当地确认多个机器人的处理。
[0089]
另一方面涉及的规划系统中,可以是,模式生成部具有:待机任务插入部,对作业任务插入用于使机器人待机的待机任务;以及限制设定部,针对多个任务模式的每一个,为作业任务、连接任务以及待机任务中的至少一个设定同时执行限制。由于自动插入待机任务并对该待机任务也能够设定同时执行限制,因此能够适当地确认多个机器人的处理。
[0090]
另一方面涉及的规划系统中,可以是,待机任务插入部针对作业任务中的机器人的多个候选姿势的每一个,执行待机任务的插入。在这种情况下,能够计划进一步考虑了机器人的待机姿势的有效的作业工序。
[0091]
另一方面涉及的规划系统中,可以是,更新部调整与待机任务对应的待机时间,流生成部基于调整的结果重新生成任务流。通过调整待机时间,能够适当地更新同时执行限制。
[0092]
另一方面涉及的规划系统中,可以是,模式生成部具有连接任务插入部,连接任务插入部在相邻的作业任务之间插入连接任务。由于连接任务被自动插入,因此能够有效地生成任务模式。
[0093]
另一方面涉及的规划系统中,可以是,模式生成部废弃包含机器人无法执行的姿势的任务模式,而生成多个任务模式。由于排除了无法实现的任务流,而基于相关的机器人能够执行的多个任务模式来生成任务流,因此能够有效地(例如短时间)计划机器人的动作。
[0094]
另一方面涉及的规划系统中,可以是,更新部基于空切路径来更新连接任务中的连接时间。通过更新连接时间,能够适当地更新同时执行限制。
[0095]
另一方面涉及的规划系统中,可以是,流生成部生成执行时间最短的任务流。通过该方法,能够生成能最早完成一系列作业的任务流。
[0096]
另一方面涉及的规划系统中,可以是,流生成部通过解决基于同时执行限制的旅行商问题来生成任务流。通过将生成任务流的处理作为旅行商问题来对待,能够有效地生成能够以最低成本完成一系列作业的任务流。
[0097]
另一方面涉及的规划系统中,可以是,流生成部解决旅行商问题,旅行商问题用节点来表示多个机器人每一个的待机姿势,用分支来表示作业任务和连接任务。通过设定以节点来表示待机姿势且以分支来表示相当于动作的作业任务以及连接任务的旅行商问题,从而能够适当地将机器人的作业工序应用于旅行商问题。
[0098]
另一方面涉及的规划系统中,可以是,流生成部解决旅行商问题,以满足2个以上的机器人不通过相同的节点以及相同的分支的限制。在旅行商问题中必然要考虑择一限制。因此,能够有效地生成满足该择一限制且能够以最低成本完成一系列作业的任务流。
[0099]
另一方面涉及的规划系统中,可以是,还包括:程序生成部,当被确认在生成后的任务流中不会发生干扰时,生成动作程序,动作程序用于使一个以上的机器人执行该任务流。由于不对能够采用的所有的任务流进行检查,而是对特定的任务流检查有无干扰,因此缩短了确认该干扰所花费的时间。因此,能够有效地生成动作程序。
[0100]
另一方面涉及的规划系统中,可以是,程序生成部基于生成后的任务流来设定作业任务与连接任务之间的机器人的待机时间,生成包括该待机时间的动作程序。基于生成后的任务流来设定机器人的待机时间即可,因此能够有效地计划联锁。
[0101]
变形例
[0102]
以上,基于本公开的实施方式进行了详细说明。但是,本公开并不限于上述实施方式。在不脱离本公开主旨的范围内能够进行各种变形。
[0103]
规划系统的功能结构不限于上述的示例。本公开的规划方法也可以使用与上述示例不同的功能结构来执行。
[0104]
规划系统的硬件结构并不限定于通过执行程序来实现各功能模块的方式。例如,上述功能模块组的至少一部分可以由专用于其功能的逻辑电路构成,也可以由集成了该逻辑电路的asic(application specific integrated circuit:专用集成电路)构成。
[0105]
由至少一个处理器执行的方法的处理过程不限于上述示例。例如,可以省略上述步骤(处理)的一部分,也可以按照其他顺序执行各步骤。另外,可以组合上述步骤中的2个以上的步骤,也可以对步骤的一部分进行修改或删除。或者,除了上述各步骤也可以执行其他步骤。
[0106]
在计算机系统或计算机内对两个数值的大小关系进行比较时,可以使用“以上”和“大于”这两个标准中的任一个,也可以使用“以下”和“小于”这两个标准中的任一个。
[0107]
符号说明
[0108]
1机器人系统
[0109]
2机器人
[0110]
3机器人控制器
[0111]
4编程辅助装置
[0112]
5前端部
[0113]
10主体
[0114]
20监视器
[0115]
30输入设备
[0116]
110获取部
[0117]
120模式生成部
[0118]
121任务插入部
[0119]
122限制设定部
[0120]
130流决定部
[0121]
131流生成部
[0122]
132路径生成部
[0123]
133确认部
[0124]
134更新部
[0125]
140程序生成部
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献