CN102990670B - 机器人控制装置、机器人系统、机器人控制方法 - Google Patents
机器人控制装置、机器人系统、机器人控制方法 Download PDFInfo
- Publication number
- CN102990670B CN102990670B CN201210340142.3A CN201210340142A CN102990670B CN 102990670 B CN102990670 B CN 102990670B CN 201210340142 A CN201210340142 A CN 201210340142A CN 102990670 B CN102990670 B CN 102990670B
- Authority
- CN
- China
- Prior art keywords
- order
- script
- resource
- command queue
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 description 46
- 201000007094 prostatitis Diseases 0.000 description 15
- 238000006467 substitution reaction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 2
- QEIQEORTEYHSJH-UHFFFAOYSA-N Armin Natural products C1=CC(=O)OC2=C(O)C(OCC(CCO)C)=CC=C21 QEIQEORTEYHSJH-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000005252 bulbus oculi Anatomy 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及机器人控制装置、机器人系统、机器人控制方法。具备:脚本获取单元,其对按串行的执行顺序排列了多个占有包括多个动作主体分别作为相互不同的资源的多个上述资源中的至少一个上述动作主体的命令的脚本进行获取;命令队列生成单元,其按照上述资源,生成根据上述脚本的上述执行顺序排列了占有该资源的未执行的上述命令的命令队列;命令执行单元,其使在与占有的全部上述资源对应的上述命令队列中上述执行顺序是最前列的多个上述命令并行执行。
Description
技术领域
本发明涉及机器人控制装置、机器人系统、机器人控制方法以及机器人控制程序,特别是涉及解释并执行脚本的技术。
背景技术
以往,已知一种进行人所指示的动作的机器人。另一方面,如专利文献1中记载的机器人那样,还能够追加地并行进行人所指示的动作以外的动作的机器人也已被公知。在这样的机器人中,预先规定不能够同时执行的动作、若同时执行则带来负面影响的动作的对应关系,参照该对应关系来进行能够同时执行的动作。
专利文献1:日本特开2006-088282号公报
在引入代替作业者进行作业者进行的作业的替代机器人的情况下,如果能够创建将作业者进行的作业的顺序直接排列成动作顺序的脚本来使机器人处理,则脚本创建的时间较少即可。另一方面,如果存在能够并行执行的动作,则并行执行它们,从而高效地执行脚本的作业。如果是以并行执行能够并行执行的命令的方式定义的脚本,则若获取了该脚本的机器人控制装置按照在该脚本中所定义的那样来执行命令,则能够高效地执行脚本的作业。可是,专利文献1所记载的参照对应关系来创建脚本的作业较复杂,使脚本创建者负担繁琐的作业。
发明内容
本发明是鉴于上述课题而完成的,其目的在于提供一种在获取了没有对命令的并行执行特别指定的脚本的情况下,也能够判断可否并行执行,并执行命令的技术。
为了实现上述目的,本发明的机器人控制装置具备脚本获取单元、命令队列生成单元和命令执行单元。脚本获取单元对包括了多个占有包括多个动作主体分别作为相互不同的资源的多个上述资源中的至少一个动作主体的命令的脚本进行获取。在脚本中指定该多个命令的串行的执行顺序。此处,所谓资源指每当执行命令时机器人所使用的要素,至少包括机器人系统具备的动作主体。另外,资源也可以是机器人系统外部的要素。占有资源指排他地使用资源(即、指多个命令不能够同时使用单一的资源)。另外,多个动作主体能够相互独立地进行动作。
命令队列生成单元基于脚本,按每个资源,生成根据由脚本规定的执行顺序排列了占有该资源的未执行的命令的命令队列。即、命令队列生成单元将由脚本规定的命令分配给与该命令占有的资源对应设置的命令队列,在各命令队列中根据由脚本规定的执行顺序排列命令。因此,若着眼于某资源,则储存在与资源对应的命令队列中的命令的顺序,与占有该资源的命令的在脚本规定的顺序不矛盾。即、占有与在脚本规定第n个执行的命令相同的资源的第n+m个命令以与第n个命令相比执行顺序靠后的方式被排列在命令队列中(n以及m为自然数)。另外,命令队列生成单元能够生成排列了未执行的命令的命令队列即可,例如,可以每当某个命令执行完毕就将该执行完毕的命令从命令队列中删除,或者,可以每当某个命令执行完毕就从脚本提取未执行的命令,并生成排列了该提取出的命令的命令队列。
命令执行单元使在与占有的全部资源对应的命令队列中执行顺序为最前列的多个命令并行执行。此外,“使多个命令并行执行”,即、并行执行多个命令是指以某个命令的执行期间与其他的命令的执行期间的至少一部分重复的方式执行命令。当然,在与占有的全部资源对应的命令队列中执行顺序为最前列的命令是一个的情况下,命令执行单元执行一个该命令。在与占有的全部资源对应的命令队列中执行顺序为最前列的命令是3个以上的情况下,可以使其全部并行执行,或者可以使其中的至少2个命令并行执行。
根据本发明,在处于与占有的全部资源对应的命令队列的最前列的命令是2个以上的情况下,能够使2个以上该命令(占有的资源不同的命令)并行执行。并且,在各命令队列以与由脚本规定的执行顺序不矛盾的顺序排列命令,所以能够以与记载在脚本中的命令的执行顺序不矛盾的顺序执行占有与该命令队列对应的资源的命令。因此,根据本发明,即便在获取了没有对命令的并行执行特别指定的脚本的情况下,也能够判断可否并行执行,并执行命令。
并且,在用于实现上述目的的机器人控制装置中,多个资源可以包含被命令占有的多个动作对象物分别作为相互不同的资源。动作对象物指动作主体进行的动作的对象物。
因此,该情况下,对动作对象物以与由脚本规定的顺序不矛盾的顺序实行命令。
并且,在用于实现上述目的的机器人控制装置中,多个资源可以包含被命令占有的多个动作位置分别作为相互不同资源。动作位置指动作主体作为动作的对象的位置。
因此,该情况下,在动作位置中,以与在脚本中规定的顺序不矛盾顺序实行命令。
并且,在用于实现上述目的的机器人控制装置中,多个动作主体各自可以是分别相互不同的多个机器人手臂。
该情况下,能够通过多个机器人手臂并行执行多个命令。
并且,在用于实现上述目的的机器人控制装置中,脚本获取单元可以对多个按被脚本创建者指定的串行的执行顺序排列了占有被脚本创建者指定的资源的命令的脚本进行获取。
因此,脚本创建者只创建按执行顺序串行地排列了指定资源的命令的脚本即可,无需脚本创建者考虑是否能够并行执行而创建以并行执行的方式设计的脚本。
此外,技术方案中记载的各单元的功能由通过以构成本身确定功能的硬件资源、通过程序确定功能的硬件资源、或者它们的组合来实现。另外,这些各单元的功能并不限定于利用各自物理上相互独立的硬件资源来实现。并且,本发明作为包括上述的机器人控制装置具备的各单元的机器人系统、作为机器人控制方法,作为使计算机实现各功能的机器人控制程序,另外,作为其程序的记录介质也成立。当然,该计算机程序的记录介质可以是磁记录介质,也可以是光磁记录介质,还可以是今后开发的任何的记录介质。
附图说明
图1是第一实施方式所涉及的机器人系统的框图。
图2是表示第一实施方式所涉及的机器人的示意图。
图3是表示第一实施方式所涉及的脚本的图。
图4是表示第一实施方式所涉及的命令队列处理的流程图。
图5A以及5B是表示第一实施方式所涉及的命令队列的图。
图6是表示第一实施方式所涉及的命令执行处理的流程图。
图7是表示第一实施方式所涉及的可否执行判定处理的流程图。
图8A~8C是表示第一实施方式所涉及的命令队列的图。
图9A~9C是表示第一实施方式所涉及的命令队列的图。
图10是表示第一实施方式所涉及的命令的执行顺序的图。
具体实施方式
以下,参照附图,对本发明的实施方式进行说明。另外,在各图中,对对应的构成要素标注相同的符号,省略重复的说明。
1.第一实施方式
1-1.构成
图1是表示本发明所涉及的机器人系统100的构成的框图。机器人系统100具备PC(PersonalComputer:个人计算机)10和机器人20。PC10具备控制部11、未图示的HDD(硬盘装置)、和用于与外部的设备进行通信的USB(UniversalSerialBus:通用串行总线)等外部I/F等,其中,该控制部11具备CPU、RAM、ROM等。控制部11经由外部I/F连接鼠标、键盘等操作部400、和监视器等显示部300。PC10的用户能够操作操作部400对PC10给予指示,并且能够通过显示部300来识别PC10显示的各种信息。PC10能够将存储在ROM、HDD中的各种程序加载至RAM,并由CPU执行。在本实施方式中,作为该程序之一,控制部11执行机器人控制程序12,从而能够使PC10作为机器人控制装置发挥作用。PC10能够经由外部I/F与机器人20收发各种信号。
图2是表示机器人20的示意图。机器人20具备手臂控制器21、22、右手臂23、和左手臂24。右手臂23以及左手臂24是各自具备臂部200、关节部201、手部202等的所谓机器人手臂,是根据来自PC10的指示进行“抓住”或“放开”动作对象物、向动作对象物、动作位置“移动”等动作的动作主体。为了进行这些动作,右手臂23以及左手臂24具备各种驱动部件。手臂控制器21为了根据从控制部10指示的命令来使对应的机器人手臂亦即右手臂23动作,进行各驱动部件的控制,并且,向控制部10通知与命令对应的动作结束了。手臂控制器22也同样,为了根据从控制部10指示的命令来使对应的左手臂24动作,进行驱动部件的控制,并且,向控制部10通知与命令对应的动作结束了。图2所示的基部203是间接地支承右手臂23以及左手臂24的箱状的部件。可以将PC10设置在该基部203的内部。另外或者,也可以与机器人20独立设置。
第1工件W1与第2工件W2是成为右手臂23、左手臂24的动作的对象的动作对象物。将第1位置P1与第2位置P2规定为成为由右手臂23、左手臂24进行的动作的对象的位置(动作位置)。例如,以机器人20的位置为基准,预先相对地规定第1位置P1、第2位置P2。右手臂23、左手臂24、第1工件W1、第2工件W2、第1位置P1、和第2位置P2分别相当于资源。
机器人控制程序12具备脚本获取部12a、命令队列生成部12b、和命令执行部12c。脚本获取部12a具有获取表示脚本创建者创建的脚本S的数据的功能。在本实施方式中,脚本是指定串行的执行顺序来排列使机器人20执行的多个命令的数据。控制部11获取例如表示脚本创建者操作操作部400创建的脚本S的数据。
图3表示脚本S的一个例子。如图3所示,在本实施方式中,以“动作的种类(资源1、资源2)”这样的形式定义各命令。动作的种类包括“移动”、“抓住”、“放开”等。资源1以及资源2中指定当执行动作时占有的资源。更详细而言,资源1中指定相当于动作主体的资源。资源2中指定相当于动作主体进行的动作的动作对象物、动作位置的资源。因此,例如第1个命令“移动(右手臂,第1工件)”是“右手臂23向第1工件W1移动”这样的命令。“向第1工件W1移动”是指确定第1工件W1的位置并向该位置移动。在本实施方式的机器人系统100中,像这样,即便在命令中不指定位置,如果指定物,则也能够确定该物的位置来使手臂移动。此外,载置工件的位置能够基于例如机器人20所具备的未图示的图像传感器的拍摄图像来确定出。另外,第2个命令“抓住(右手臂,第1工件)”是“右手臂23抓住第1工件W1”这样的命令。
命令队列生成部12b具有基于脚本S按不准许同时被多个命令使用的每个资源来生成命令队列的功能。在命令队列中按照在脚本S中指定的执行顺序储存占有与该命令队列对应的资源的命令。另外,命令队列生成部12b具有基于从手臂控制器21、22通知的表示命令的执行完成的信息,将执行完成的命令从与该命令占有的资源对应的命令队列的最前列删除的功能。
命令执行部12c具有基于生成的命令队列来使命令执行的功能,更具体而言,具有使在与占有的全部资源对应的命令队列中的执行顺序为最前列的命令执行的功能。在与占有的全部资源对应的命令队列中执行顺序为最前列的命令是一个的情况下,命令执行部12c使一个该命令执行。另外,在与占有的全部资源对应的命令队列中执行顺序为最前列的命令存在多个的情况下,命令执行部12c使多个该命令并行执行。
1-2.基于脚本的机器人控制
图4是表示命令队列处理的流程的流程图。图6是表示命令执行处理的流程的流程图。命令队列处理是基于脚本S来生成上述的命令队列的处理。命令执行处理是基于在命令队列处理中生成的命令队列来执行命令的处理。并行执行命令执行处理与命令队列处理。首先,对图4的命令队列处理进行说明。首先,控制部11获取脚本S(S100)。接着,控制部11将“1”代入变量I(S105),判定脚本中是否存在第I个命令(S110)。变量I是与由脚本指定的命令的执行顺序对应的变量(参照图3)。在S110中,在判定为脚本中存在第I个命令的情况下,控制部11将“1”代入变量P(S115)。变量P是与由命令所指定的资源1以及资源2对应的变量(参照图3)。接下来,控制部11判定在脚本的第I个命令中是否存在第P个资源(S120),在存在的情况下,判定第P个资源是否合适(S125)。具体而言,控制部11判定是否没有包括机器人20不能够使用的资源。而且,预先规定机器人20能够使用的资源,控制部11基于该信息,进行S125的判定。
在S125中,在判定为脚本的第I个命令的第P个资源合适的情况下,控制部11判定与第P个资源对应的命令队列是否为满(S130)。即、控制部11判定命令队列中是否已经储存了在命令队列中储存的命令的最大个数。在S130中判定为不满(存在空位)的情况下,控制部11在与脚本的第I个命令的第P个资源对应的命令队列的最末尾追加脚本的第I个命令(S140),使变量P自加1(S145)。在S130中判定为满的情况下,控制部11进行等待,直至在与脚本的第I个命令的第P个资源对应的命令队列有空位为止(S135)。若通过执行命令执行处理而在与脚本的第I个命令的第P个资源对应的命令队列有空位,则控制部11从S140的处理起再次开始命令队列处理。
在S145中使变量P自加1后,控制部11返回到S120的处理。在S120中判定为在脚本的第I个命令中不存在第P个资源的情况下,即、在本实施方式中,在完成了2个资源的量的上述的处理的情况下,控制部11使变量I自加1(S150),并返回到S110的处理。在S110中判定为在脚本的第I个处不存在命令的情况下,即、在脚本所包含的全部命令向命令队列的分配结束的情况下,控制部11使命令队列处理结束。
图5A表示基于图3所示的脚本S执行命令队列处理的结果为在RAM中生成的命令队列。此外,在本实施方式中,以各命令队列能够储存的命令的最大个数为9个以上为前提进行说明(即、设为不在图4的S135中等待命令队列处理就能够执行命令队列处理,并使其结束)。分别对通过命令队列处理生成的各命令队列分配编号。此处,将第Q个命令队列表记为命令队列Q。在本实施方式中,命令队列1是按执行顺序对占有右手臂23的命令进行储存的队列。命令队列2是按执行顺序对占有左手臂24的命令进行储存的队列。命令队列3是按执行顺序对占有第1工件W1的命令进行储存的队列。命令队列4按执行顺序对占有第2工件W2的命令进行储存的队列。命令队列5是按执行顺序对占有第1位置P1的命令进行储存的队列。命令队列6是按执行顺序对占有第2位置P2的命令进行储存的队列。此外,在本实施方式中,不存在Q≥7的命令队列Q。
脚本S所指定的第1个命令是“移动(右手臂,第1工件)”。在图5、后述的图8、图9中,利用在脚本S中指定的表示命令的顺序的数字、和由在该数字下所示的()括起来的2个数字表示储存在命令队列中的命令。由()括起来的2个数字表示与在命令中指定的资源对应的命令队列的编号。在图5A中,表示在与被脚本S的第1个命令占有的资源亦即右手臂23对应的命令队列1的最前列储存有脚本S的第1个命令亦即“移动(右手臂,第1工件)”。另外同样,表示在与被脚本S的第1个命令占有的第2个资源亦即第1工件W1对应的命令队列3的最前列储存有脚本S的第1个命令“移动(右手臂,第1工件)”。
接下来,对命令执行处理进行说明。命令执行处理是如下这样的处理,即、直至全部的命令队列为空为止反复检查与各资源对应的命令队列的最前列的命令,对于能够开始执行的命令使之开始执行,对于执行完成的命令,从储存有该命令的命令队列的最前列删除。首先,控制部11将“1”代入变量Q,并且将“1”代入变量EMPTY(S200)。如上述那样,变量Q与表示各命令队列的编号对应。变量EMPTY是如下这样的变量,即、值为“1”时表示与所有资源对应的命令队列为空,如后述,值为“0”时表示与至少任意一个资源对应的命令队列不是空。接下来,控制部11判定是否存在命令队列Q(S205),在存在命令队列Q的情况下,判定命令队列是否为空,即、判定在命令队列Q的最前列是否存在命令(S210)。以下,将命令队列Q的最前列的命令称为命令C。在S210中,在判定为在命令队列Q的最前列存在命令C的情况下,控制部11将“0”代入变量EMPTY(S215),进行可否执行判定处理(S220)。
图7是表示可否执行的判定处理的流程的流程图。首先,控制部11将“1”代入变量p(S300)。此外,在命令队列处理所使用的变量P与在可否执行的判定处理所使用的变量p是不同的变量。接下来,控制部11判定是否存在命令C(命令队列Q的最前列的命令)的第P个资源(S305),在存在的情况下,与S125相同,判定命令C的第p个资源是否合适(S310)。在S310中,在判定为命令C的第p个资源的值不合适的情况下,控制部11进到S320的处理。在S310中,在判定为命令C的第p个资源的值合适的情况下,控制部11判定与命令C的第p个资源对应的命令队列的最前列是否是命令C(S315),在最前列不是命令C的情况下,控制部11判定还不可执行命令C(S325),结束可否执行判定处理。
在S315中,在判定为在与命令C的第p个资源对应的命令队列的最前列储存有命令C的情况下,控制部11使变量p自加1(S320),并返回到S305的处理。在S305中,在判定为不存在命令C的第p个资源的情况下,即、完成了命令C的2个资源的量的处理的情况下,控制部11判定为可执行命令C(S330),结束可否执行判定处理。返回到图6的命令执行处理的说明。接下来,控制部11在S220的可否执行判定处理中判定是否判定为可执行命令C(S225),在判定为可执行命令C的情况下,控制部11使命令C的执行开始(S230)。具体而言,控制部11经由外部I/F向手臂控制器21或者手臂控制器22发送用于使命令C的执行开始的信息。手臂控制器21或手臂控制器22基于该信息来驱动符合的驱动部件。其结果,能够使作为动作主体的右手臂23或者左手臂24按照命令进行动作。
接下来,控制部11基于从手臂控制器21或者手臂控制器22通知的表示命令的执行完成的信息,将与执行完成的命令的各资源对应的命令队列内的最前列的命令(即、执行完成的命令)删除(S235)。此外,在执行S235的时刻没有执行完成的命令的情况下,控制部11在S235什么也不处理而移至S240的处理。控制部11在S210中判定为在命令队列Q的最前列不存在命令C的情况下、以及在S225中判定为不可执行命令C的情况下,都执行S235的处理。命令执行处理是只要记载在脚本中的全部命令的执行未完成就重复的循环处理。S235是每当重复循环处理被执行的处理,所以能够监视命令的执行完成,如果完成则执行将命令从命令队列删除的处理。接下来,控制部11使变量Q自加1(S240)后,返回到S205的处理。在S205中,在判定为不存在命令队列Q的情况下,即、在本实施方式中轮完6个命令队列的最前列的检查的情况下,控制部11判定变量EMPTY的值是否为“1”(S150)。在S150中,在变量EMPTY的值不是“1”的情况下,控制部11返回到S200的处理,在变量EMPTY的值是“1”的情况下,控制部11使命令执行处理结束。以上,对命令执行处理进行了说明。接下来,基于通过以脚本S为对象执行命令队列处理而生成的图5A所示的命令队列,对执行命令执行处理的过程的各命令队列的状态进行说明。此外,在本实施方式中,将各命令的执行所需的所需时间(从执行开始至执行结束的时间)设为相同程度。
图5、图8以及图9是表示命令执行处理的执行过程中的各命令队列的状态的图。首先,如上述,图5A表示通过命令队列处理,将在脚本S中指定的全部命令按执行顺序分配给与该命令占有的资源对应的命令队列的状态。在该状态下,若控制部11执行命令执行处理的S200S225,则在与储存在命令队列1的最前列的命令、且在脚本S中被指定为执行顺序的第1个的命令的2个资源对应的命令队列(命令队列1与命令队列3)各自的最前列储存有脚本S的第1个命令,所以在S225中控制部11判定为可执行脚本S的第1个命令。因此,控制部11使脚本S的第1个命令的执行开始。在之后的S235中,如果脚本S的第1个命令执行完成,则将该命令从命令队列1与命令队列3中删除,但未执行完成的情况下不删除,在S240使变量Q自加1,反复从S210开始的处理。在变量Q=3时,即、在检查命令队列3的最前列的命令时,如果脚本S的第1个命令未执行完成,则虽在命令队列3的最前列还存在脚本S的第1个命令,但控制部11存储已经开始了的命令,不会再次开始执行曾经开始执行了的命令。
若脚本S的第1个命令执行完成,则控制部11在S235中从命令队列1与命令队列3的最前列删除脚本S的第1个命令。图5B表示删除脚本S的第1个命令后的各命令队列。在图5B中脚本S的第2个命令成为可执行命令,所以控制部11与上述相同,使脚本S的第2个命令的执行开始,若执行完成则从命令队列1与命令队列3中删除脚本S的第2个命令。图8A表示删除后的各命令队列。在图8A中脚本S的第3个命令成为可执行,所以控制部11与上述相同,使脚本S的第3个命令的执行开始,若执行完成则从命令队列1与命令队列5中删除脚本S的第3个命令。图8B表示删除后的各命令队列。控制部11与上述相同,使脚本S的第4个命令的执行开始,在执行完成后,将第4个命令从命令队列1与命令队列3中删除,各命令队列成为图8C所示的状态。
在图8C所示的状态中,脚本S的第5个命令在与该命令占有的资源之一亦即左手臂24对应的命令队列2、和与该命令占有的又一个资源亦即第1工件W1对应的命令队列3中分别被储存在最前列,所以控制部11在可否执行判定处理中判定为可执行该命令,并在S230中使该命令的执行开始。另外,开始脚本S的第5个命令的执行且还未完成的状态时,脚本S的第9个命令也在与该命令占有的资源之一亦即右手臂23对应的命令队列1、和与该命令占有的又一个资源亦即第2工件W2对应的命令队列4中分别被储存在最前列,所以控制部11在可否执行判定处理中判定为可执行该命令,并在S230中使该命令的执行开始。因此,并行执行脚本S的第5个命令与第9个命令。
若脚本S的第5个命令执行完成,则控制部11从命令队列2与命令队列3中删除脚本S的第5个命令。其结果,命令队列2与命令队列3的最前列的命令成为脚本S的第6个命令。脚本S的第6个命令处于与该命令占有的资源对应的命令队列各自的最前列,所以控制部11使脚本S的第6个命令的执行开始。另外,若脚本S的第9个命令执行完成,则控制部11从命令队列1与命令队列4中删除脚本S的第9个命令。图9A表示删除后的各队列的状态。通过从命令队列1与命令队列4中删除脚本S的第9个命令,从而命令队列1和命令队列4的最前列的命令成为脚本S的第10个命令。控制部11判定为可执行脚本S的第10个命令,并使该命令的执行开始。以下,同样重复使命令的执行开始,如果执行完成则删除命令的动作,由此如图9B所示,并行执行脚本S的第7个与第11个命令,其后,如图9C所示,并行执行脚本S的第8个与第12个命令。此外,在本实施方式中,以各命令的执行所需的所需时间为相同程度为前提,但当然各命令的所用时间也可以分别不同。
图10是表示基于图5A所示的命令队列执行命令执行处理时的命令的执行顺序的图。这样,根据本实施方式,并行执行从脚本的第5个命令至第8个命令、和从脚本的第9个命令至第12个命令。因此,与按照在脚本S中指定的串行的执行顺序来串行地执行命令的情况相比较,能够缩短执行记载在脚本S中的全部命令所需的时间。另外,在各命令队列以与在脚本S中规定的执行顺序不矛盾的顺序排列命令,所以能够以与记载在脚本中的命令的执行顺序不矛盾的顺序执行占有与该命令队列对应的资源的命令。并且,如果脚本创建者创建按执行顺序串行地排列了指定资源的命令的脚本,则机器人控制装置基于该脚本并行执行能够并行执行的命令。因此,脚本创建者无需考虑是否能够并行执行而创建以并行执行的方式设计的脚本,所以能够减少脚本创建者的作业负担。
2.其他的实施方式
另外,本发明的技术范围并不限定于上述的实施方式,当然在不脱离本发明的主旨的范围内能够附加各种变更。例如,除了将动作主体应用于机器人手臂之外,还能够应用于使机器人整体的位置移动的与腿相当的部分、使拍摄对象的照相机的视场角变更的与眼睛相当的部分等其他构成机器人的各种资源。
另外,在上述实施方式中,由命令指定的资源的个数是2个,但也可以是3个以上。另外,在可并行执行3个以上的命令的情况下,能够并行执行成为可执行的3个以上的命令中的至少2个命令即可。当然,也可以并行执行成为可执行的3个以上的命令的全部。
符号说明
100…机器人系统,10…控制部,11…控制部,12…机器人控制程序,12a…脚本获取部,12b…命令队列生成部,12c…命令执行部,20…机器人,21…手臂控制器,22…手臂控制器,23…右手臂,24…左手臂,P1…第1位置,P2…第2位置,S…脚本,W1…第1工件,W2…第2工件。
Claims (7)
1.一种机器人控制装置,其特征在于,具备:
脚本获取单元,其对按串行的执行顺序排列了多个占有包括多个动作主体分别作为相互不同的资源的多个所述资源中的至少一个所述动作主体的命令的脚本进行获取;
命令队列生成单元,其按照每个所述资源,生成根据所述脚本的所述执行顺序排列了占有该资源的未执行的所述命令的命令队列;
命令执行单元,其使在与占有的全部所述资源对应的所述命令队列中的所述执行顺序是最前列的多个所述命令并行执行。
2.根据权利要求1所述的机器人控制装置,其特征在于,
多个所述资源包括被所述命令占有的多个动作对象物分别作为相互不同的所述资源。
3.根据权利要求1或者2所述的机器人控制装置,其特征在于,
多个所述资源包括被所述命令占有的多个动作位置分别作为相互不同的所述资源。
4.根据权利要求1所述的机器人控制装置,其特征在于,
多个所述动作主体各自是分别相互不同的多个机器人手臂。
5.根据权利要求1所述的机器人控制装置,其特征在于,
所述脚本获取单元对按由所述脚本创建者指定的所述串行的执行顺序排列了多个占有由脚本创建者指定的所述资源的所述命令的所述脚本进行获取。
6.一种机器人系统,其特征在于,具备:
脚本获取单元,其对以串行的执行顺序排列了多个占有包括多个动作主体分别作为相互不同的资源的多个所述资源中的至少一个所述动作主体的命令的脚本进行获取;
命令队列生成单元,其按照每个所述资源,生成根据所述脚本的所述执行顺序排列了占有该资源的未执行的所述命令的命令队列;
命令执行单元,其使在与占有的全部所述资源对应的所述命令队列中的所述执行顺序是最前列的多个所述命令并行执行。
7.一种机器人控制方法,其特征在于,包括:
脚本获取工序,在该脚本获取工序中对以串行的执行顺序排列了多个占有包括多个动作主体分别作为相互不同的资源的多个所述资源中的至少一个所述动作主体的命令的脚本进行获取;
命令队列生成工序,在该命令队列生成工序中按照每个所述资源,生成根据所述脚本的所述执行顺序排列了占有该资源的未执行的所述命令的命令队列;
命令执行工序,在该命令执行工序中使在与占有的全部所述资源对应的所述命令队列中的所述执行顺序是最前列的多个所述命令并行执行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011201467A JP5929061B2 (ja) | 2011-09-15 | 2011-09-15 | ロボット制御装置、ロボットシステム、ロボット |
JP2011-201467 | 2011-09-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102990670A CN102990670A (zh) | 2013-03-27 |
CN102990670B true CN102990670B (zh) | 2016-05-25 |
Family
ID=47881397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210340142.3A Expired - Fee Related CN102990670B (zh) | 2011-09-15 | 2012-09-13 | 机器人控制装置、机器人系统、机器人控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8930020B2 (zh) |
JP (1) | JP5929061B2 (zh) |
CN (1) | CN102990670B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1295864B1 (en) | 2001-05-08 | 2008-12-03 | Mitsui Chemicals Polyurethanes, Inc. | Process for preparation of 1,5-diaminonaphthalenes |
JP5855542B2 (ja) * | 2012-07-11 | 2016-02-09 | 京セラ株式会社 | 電力制御システム、電力制御装置、サーバ装置、及び電力制御システムの制御方法 |
JP6155780B2 (ja) * | 2013-04-10 | 2017-07-05 | セイコーエプソン株式会社 | ロボット、ロボット制御装置およびロボットシステム |
JP6229324B2 (ja) | 2013-06-14 | 2017-11-15 | セイコーエプソン株式会社 | ロボット、ロボット制御装置およびロボットの制御方法 |
CN106707965A (zh) * | 2015-11-18 | 2017-05-24 | 宁波弘讯科技股份有限公司 | 控制机器人系统及控制机器人方法 |
US10558449B2 (en) * | 2016-12-06 | 2020-02-11 | Vmware, Inc. | Distribution and execution of instructions in a distributed computing environment |
US9817967B1 (en) * | 2017-01-13 | 2017-11-14 | Accenture Global Solutions Limited | Integrated robotics and access management for target systems |
US10593319B1 (en) * | 2017-06-27 | 2020-03-17 | Amazon Technologies, Inc. | Parallelization of instruction steps |
US10646998B2 (en) | 2017-11-27 | 2020-05-12 | Intuition Robotics, Ltd. | System and method for optimizing resource usage of a robot |
CN109968350B (zh) * | 2017-12-28 | 2021-06-04 | 深圳市优必选科技有限公司 | 机器人及其控制方法、具有存储功能的装置 |
JP7444591B2 (ja) * | 2019-12-04 | 2024-03-06 | ファナック株式会社 | 制御装置 |
US11113105B1 (en) | 2020-06-09 | 2021-09-07 | Infosys Limited | Computer implemented system and method for generating platform agnostic digital worker |
CN112130483A (zh) * | 2020-08-27 | 2020-12-25 | 深圳市优必选科技股份有限公司 | 一种机器人的控制方法及机器人 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1721143A (zh) * | 2004-07-15 | 2006-01-18 | 发那科株式会社 | 具有机器人控制装置的机器人系统 |
CN1876334A (zh) * | 2005-06-07 | 2006-12-13 | 发那科株式会社 | 机械手控制装置及机械手控制方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59202508A (ja) * | 1983-05-02 | 1984-11-16 | Hitachi Ltd | 繰返し動作シ−ケンスの制御方式 |
JPH06344279A (ja) * | 1993-06-07 | 1994-12-20 | Hitachi Ltd | 遠隔作業装置及び方法 |
JP3591919B2 (ja) * | 1995-06-14 | 2004-11-24 | キヤノン株式会社 | 自動機の制御装置 |
JP2001322079A (ja) | 2000-05-15 | 2001-11-20 | Sony Corp | 脚式移動ロボット及びその動作教示方法 |
US6993624B2 (en) * | 2002-10-31 | 2006-01-31 | Hitachi Global Storage Technologies Netherlands B.V. | Method and apparatus for selecting enqueued data access operations for execution in a disk drive data storage device |
US7584019B2 (en) * | 2003-12-15 | 2009-09-01 | Dako Denmark A/S | Systems and methods for the automated pre-treatment and processing of biological samples |
JPWO2004106009A1 (ja) * | 2003-06-02 | 2006-07-20 | 松下電器産業株式会社 | 物品取扱いシステムおよび物品取扱いサーバ |
JP4068087B2 (ja) | 2004-09-24 | 2008-03-26 | 株式会社東芝 | ロボット、ロボット行動計画実行装置、および、行動計画実行プログラム |
JP2007044825A (ja) | 2005-08-10 | 2007-02-22 | Toshiba Corp | 行動管理装置、行動管理方法および行動管理プログラム |
JP4815940B2 (ja) | 2005-08-17 | 2011-11-16 | 日本電気株式会社 | ロボット制御システム、ロボット装置、およびロボット制御方法 |
JP2007319999A (ja) | 2006-06-02 | 2007-12-13 | Hitachi Ltd | ロボット装置 |
JP2008006518A (ja) * | 2006-06-27 | 2008-01-17 | Toyota Motor Corp | ロボット制御システム、ロボット制御方法及びロボット |
US8612870B2 (en) * | 2006-08-04 | 2013-12-17 | National Instruments Corporation | Graphically specifying and indicating targeted execution in a graphical program |
US7844908B2 (en) * | 2006-08-04 | 2010-11-30 | National Instruments Corporation | Diagram that visually indicates targeted execution |
US8032888B2 (en) * | 2006-10-17 | 2011-10-04 | Oracle America, Inc. | Method and system for scheduling a thread in a multiprocessor system |
-
2011
- 2011-09-15 JP JP2011201467A patent/JP5929061B2/ja not_active Expired - Fee Related
-
2012
- 2012-09-13 US US13/614,371 patent/US8930020B2/en not_active Expired - Fee Related
- 2012-09-13 CN CN201210340142.3A patent/CN102990670B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1721143A (zh) * | 2004-07-15 | 2006-01-18 | 发那科株式会社 | 具有机器人控制装置的机器人系统 |
CN1876334A (zh) * | 2005-06-07 | 2006-12-13 | 发那科株式会社 | 机械手控制装置及机械手控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US8930020B2 (en) | 2015-01-06 |
JP5929061B2 (ja) | 2016-06-01 |
US20130073079A1 (en) | 2013-03-21 |
JP2013059846A (ja) | 2013-04-04 |
CN102990670A (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102990670B (zh) | 机器人控制装置、机器人系统、机器人控制方法 | |
US8683436B2 (en) | Timer patterns for process models | |
CN105512023B (zh) | 一种Monkey测试方法及装置 | |
CN108025436A (zh) | 实时控制系统、实时控制装置及系统控制方法 | |
CN104915251B (zh) | 任务调度方法及装置 | |
CN107908542A (zh) | 测试用例创建方法、装置、计算机设备及存储介质 | |
CN107203424A (zh) | 一种在分布式集群中调度深度学习作业的方法和装置 | |
WO2012023296A1 (ja) | 制御プログラム生成装置、制御プログラム生成プログラム、及び制御プログラム生成方法 | |
JP7470124B2 (ja) | ゲーミング環境におけるユーザ・インタラクションを容易にするための方法 | |
CN102968259B (zh) | 执行程序的方法及装置 | |
CN102193863A (zh) | 一种多点触控操作的实现方法及装置 | |
Luebbers et al. | Augmented reality interface for constrained learning from demonstration | |
Krings et al. | Design and evaluation of ar-assisted end-user robot path planning strategies | |
CN104156308A (zh) | 一种基于用户执行踪迹重放的移动应用测试方法 | |
CN107632762A (zh) | 移动终端及基于移动终端图片选择方法、及存储介质 | |
CN114111761B (zh) | 一种月面巡视探测任务的规划方法和系统 | |
CN109857552A (zh) | 一种游戏人工智能行动规划方法及系统 | |
Kakar et al. | A Brief History of Software Development and Manufacturing | |
US9003274B2 (en) | Scheduling start-up and shut-down of mainframe applications using topographical relationships | |
US8265789B2 (en) | Network-based robot system and method for action execution of robot | |
CN113220430A (zh) | 一种电子卷宗材料上传和识别并行的方法及系统 | |
CN103957457B (zh) | Led节目播放控制装置、系统和方法 | |
Bensalem et al. | Synthesizing distributed scheduling implementation for probabilistic component-based systems | |
Nanda et al. | Generation of test scenarios using activity diagram | |
JPH01113841A (ja) | マルチタスクデバツグ機構 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160525 Termination date: 20170913 |