CN103770122A - 机器人控制器和机器人系统 - Google Patents
机器人控制器和机器人系统 Download PDFInfo
- Publication number
- CN103770122A CN103770122A CN201310053933.2A CN201310053933A CN103770122A CN 103770122 A CN103770122 A CN 103770122A CN 201310053933 A CN201310053933 A CN 201310053933A CN 103770122 A CN103770122 A CN 103770122A
- Authority
- CN
- China
- Prior art keywords
- order
- controlled group
- robot
- robot controller
- controlled
- 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.)
- Granted
Links
- 210000004027 cell Anatomy 0.000 description 20
- 238000010586 diagram Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 210000000352 storage cell Anatomy 0.000 description 3
- 240000001439 Opuntia Species 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
-
- 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/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N1/00—Sampling; Preparing specimens for investigation
- G01N1/28—Preparing specimens for investigation including physical details of (bio-)chemical methods covered elsewhere, e.g. G01N33/50, C12Q
- G01N1/30—Staining; Impregnating ; Fixation; Dehydration; Multistep processes for preparing samples of tissue, cell or nucleic acid material and the like for analysis
- G01N1/31—Apparatus therefor
- G01N1/312—Apparatus therefor for samples mounted on planar substrates
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
- Programmable Controllers (AREA)
Abstract
本发明涉及机器人控制器和机器人系统。机器人控制器包括队列、存储单元和执行控制单元。所述队列是针对用作控制单位的各受控组而设置的。在所述存储单元中从各队列的底部起,以每次对于各受控组存储一条命令的方式存储针对各受控组的命令。在接受了预定动作请求时,执行控制单元从所述队列的顶部以每次对于各受控组取出一条命令的方式同时取出针对所述受控组的命令,并且使得所有受控组同时开始基于所述命令的动作。在存在没有相应命令的任何受控组的情况下,在所述存储单元中存储无动作命令。在所取出的命令是无动作命令的情况下,所述执行控制单元防止所述受控组动作,直到下一次取出命令为止。
Description
技术领域
本文所讨论的实施方式涉及机器人控制器和机器人系统。
背景技术
存在常规公知的机器人控制器,每个控制器以彼此通信的方式连接到多个机器人,并且单独地控制每个机器人的动作(例如,参考日本专利申请公开No.H3-182908)。
这种机器人控制器例如具有被分配给各机器人的先进先出缓冲器,并且可以通过顺序地读取存储在各缓冲器中的涉及各机器人的命令并执行这些命令而并行地动作所述机器人。
作为机器人控制器的控制对象,除了机器人自身以外还可以包括机器人的外围设备等。在这种情况下,机器人控制器将每个机器人及其外围设备作为一个控制单位(在下文中称为“受控组”)对待,并且控制这种受控组各个的动作。
然而,常规机器人控制器以及设置有所述机器人控制器的机器人系统在受控组之间的同步精度不足,并且因此在使得受控组以彼此同步的方式执行协调动作方面尚不能得到进一步改善。
鉴于上述说明,实施方式的一个方面的目标在于提供一种可以使得多个受控组以彼此精确同步的方式执行协调动作的机器人控制器和机器人系统。
发明内容
根据实施方式的一个方面的机器人控制器包括队列、存储单元和执行控制单元。该队列是针对用作控制单位的各受控组而设置的,所述控制单位各包括机器人的动作中涉及的至少一条运动轴线。在存储单元中从各队列的底部起,以每次对于各受控组存储一条命令的方式存储针对各受控组的命令。在接受了预定动作请求时,执行控制单元从所述队列的顶部起以每次对于各受控组取出一条命令的方式同时取出针对所述受控组的命令,并且使得所有受控组同时开始基于所述命令的动作。在存任何在存储所述命令时没有相应命令的任何受控组的情况下,在所述存储单元中存储无动作命令作为针对该受控组的命令。在所取出的命令是所述无动作命令的情况下,所述执行控制单元防止与所述无动作命令对应的受控组动作,直到下一次取出命令为止。
根据实施方式的一个方面,可能使得受控组彼此精确同步地执行协调动作。
附图说明
通过以下的详细说明,结合附图,可以更加清楚地理解本发明及其优点,在附图中:
图1是例示了根据实施方式的机器人系统的总体构造的示例的图。
图2是例示了根据实施方式的机器人控制器的构造的框图。
图3A和图3B是例示了缓冲器的配置细节的示意图(No.1)和(No.2)。
图4A是例示了命令的存储模式图的示例的图(No.1)。
图4B是例示了执行控制单元的执行控制的示例的图(No.1)。
图5A是例示了命令的存储模式图的示例的图(No.2)。
图5B是例示了执行控制单元的执行控制的示例的图(No.2)。
图6A是例示了命令的存储模式图的示例的图(No.3)。
图6B是例示了执行控制单元的执行控制的示例的图(No.3)。
图6C至图6K是例示了命令的执行控制的细节的示意图(No.1)至(No.9)。
图6L是例示了排队处理的处理过程的流程图。
图7A至图7C是例示了根据实施方式的机器人控制器中的执行控制的具体示例的图(No.1)至(No.3)。
图8A和图8B是例示了显示控制单元所显示的缓冲器的内容的具体示例的图(No.1)和(No.2)。
图9是例示了根据实施方式的变型例的机器人系统的总体构造的图。
图10是例示了根据该变型例的机器人控制器的构造的框图。
具体实施方式
下文将参考附图描述本文所公开的机器人控制器和机器人系统的实施方式。要注意,实施方式并不局限于下文描述的实施方式。
在下文的说明中,相同类型的多个部件中的每个部件都被分配有符号,该符号带有呈数字后跟着连字符形式的后缀。然而,当这些部件作为总体被说明时,在一些情况下,通过仅使用该符号而不使用呈数字后跟着连字符形式的后缀来说明。
首先,将使用图1来描述机器人系统1的总体构造的示例。图1是示出根据实施方式的机器人系统1的总体构造的示例的图。
如图1所示,机器人系统1设置有主计算机H、机器人控制器10以及多个受控组。主计算机H和受控组以互相可通信的方式连接到机器人控制器10。
在图1中,作为示例,基于在主计算机H中产生的命令动作的受控组被示例为受控组#1和#2。除非以其他方式指明,本实施方式的说明将基于图1的总体构造。
主计算机H产生针对受控组#1和#2的命令,并且向机器人控制器10发送这些命令。
例如,主计算机H可包括个人计算机(PC),并且可基于C语言的描述来产生针对受控组#1和#2的命令。另选地,例如,主计算机H可以由可编程逻辑控制器(PLC)组成,并且可以基于梯形图语言的描述产生针对受控组#1和#2的命令。
受控组#1和#2是各具有至少一条运动轴线的控制单位。在图1中,受控组#1和#2分别由机器人R1和机器人R2组成。除了机器人外的外围装置(未示出)等可以分别形成受控组,只要所述外围装置等由机器人控制器来控制。作为外围装置,可以示例出移动平台和转台,所述移动平台上安装有机器人并且使得该机器人水平地移动,所述转台改变对象物的方向使得机器人可容易地对对象物进行作业。这种外围装置分别形成单独的受控组。然而,下文的描述假定每个受控组由一个机器人组成。
机器人控制器10接收从主计算机H向受控组#1和#2发送的命令,并且将每条命令存储在针对各受控组预先设置的预定存储区中。要注意,每条命令可附有用于识别该命令针对哪个受控组的信息并且可以存储在公共存储区中。当发出命令时,主计算机H向没有要被执行的命令要向其发布的受控组发出“无动作命令”。在下文中,这种“无动作命令”可被称为“NOP”。机器人控制器10还按顺序取出所存储的命令,并且实施执行控制,使得受控组#1和#2在精确同步的同时执行协调动作。
接下来,将使用图2来描述机器人控制器10的构造。图2是示出根据实施方式的机器人控制器10的构造的框图。图2仅示出了说明本实施方式所需的部件,并且省略通用部件的说明。
同样,在使用图2进行说明时,将主要对机器人控制器10的内部构造进行说明,并且将省略针对图1中已经示出的主计算机H和受控组#1和#2的详细说明。
如图2所示,机器人控制器10设置有通信接口10a、公共应用程序(AP)接口10b、存储单元10c、缓冲器10d和执行控制单元10e。机器人控制器10还可设置有显示控制单元10f,所述显示控制单元10f要被连接到诸如显示器的显示装置20。
通信接口10a是用于使机器人控制器10与主计算机H通信的通信装置。公共AP接口10b是软件实现的部件,其用于在公共平台上解释经由通信接口10a从主计算机H接收到的命令。
当已经经由公共AP接口10b从主计算机H接收到命令之后,存储单元10c保持该命令直到接受到针对该命令的“发布”请求为止。然后,在接受到“发布”请求之后,存储单元10c将该命令存储在缓冲器10d中。例如,可以通过使分开设置在临时存储单元等中的发布请求标识置为开启(ON),来通知存储单元10c该发布请求。
要注意为了便于下文进行说明,假设这种向缓冲器10d存储命令是针对所有受控组(在此,#1和#2)同时执行的。然而,存储命令的时刻在各受控组之间在不影响协调动作的范围内可以稍微不同。存储单元10c内还没有改变地存储从主计算机H向不会被给予在这种存储时刻存储的相应命令的受控组发出的“NOP”。
缓冲器10d是作为临时存储单元在其中临时存储针对受控组#1和#2的命令的存储区。将使用图3A和图3B详细描述缓冲器10d的数据结构等。
当已经接受预定动作请求时,执行控制单元10e以每次对于各受控组取出一条命令的方式同时取出缓冲器10d中存储的给受控组#1和#2的命令,并且基于所取出的命令,使得受控组#1和#2彼此同步地执行协调动作。将使用图4A至图7B来详细地说明执行控制单元10e的动作。
要注意,例如可以通过使分开设置在临时存储单元等中的动作请求标识设置为开启(ON),使执行控制单元10e接受的预定动作请求被给予该执行控制单元10e。在该情况下,执行控制单元10e从缓冲器10d顺序地取出命令,并且使得受控组#1和#2在动作请求标识被设置为开启时执行命令。
显示控制单元10f将缓冲器10d的内容显示在显示装置20上。将通过图8A和图8B给定出的具体示例来详细地说明显示控制单元10f所显示的缓冲器10d的内容。
接下来,将使用图3A和图3B来描述缓冲器10d的构造的细节。图3A和图3B是描述缓冲器10d的构造的细节的示意图。
如图3A所示,缓冲器10d的基本部件单元是所谓的等待队列的队列10da。具体地,缓冲器10d具有先进先出的数据结构,其中从队列10da的底部一次一条地存储(入队)接收到的命令C,并且从该队列的顶部一次一条地取出(出队)接收到的命令C。
在本实施方式中,如图3B所示,分别为受控组#1和#2提供这种队列10da,作为队列10da-1和10da-2。虽然在图3B的示例中,队列10da-1和10da-2具有相同数量的元素(即,四个元素),但是队列中的元素数量在各受控组之间可以不同。
在上述存储单元10c中分别从队列10da-1和10da-2的底部起,以每次对于各受控组存储一条命令的方式同时存储针对受控组#1和#2的命令。
在此,如已经描述的,存储单元10c中存储有“NOP”作为给未被给予在该存储时刻存储的相应命令C的受控组的命令C。因此,在相同存储时刻存储的命令C(包括“NOP”)显然被给予相同的执行顺序,如图3B所示。
然后,上述执行控制单元10e分别从队列10da-1和10da-2的顶部,以每次对于各受控组取出一条命令的方式同时取出给受控组#1和#2的命令C。换言之,执行控制单元10e同时取出在相同存储时刻存储的并且被给予相同执行顺序的命令C(包括“NOP”)。
然后,执行控制单元10e使用同时取出并且给予了相同执行顺序的命令C来执行控制(在下文中,称为“执行控制”),以使得受控组#1和#2彼此同步地执行协调动作。将使用后续的图4A至图7B来描述执行控制单元10e的这种动作。要注意,术语“同步”是指多个机器人同时开始动作并且同时停止动作的状态。比较而言,多个机器人独立地开始动作并且独立地停止动作的情况被表述为“异步”。
还要注意,在图3A中的命令C处例示出的号码“0”是表明命令C的类型的“任务号”。这种“任务号”用于执行控制单元10e执行的执行控制。还将使用图4A至图7B在说明书中描述该方面。
图4A是例示了命令的存储模式图的示例的图(No.1)。图4B是例示了执行控制单元10e的执行控制的示例的图(No.1)。要注意,在图4A以及后续的附图中,从便于观看的角度看,在一些情况下队列将不附有诸如10da-1或10da-2的符号。
首先,如图4A所示,假设在存储单元10c内分别从空队列10da-1和10da-2的底部开始,在相同存储时刻存储命令C1和C2。
在这种情况下,命令C1和C2以在执行顺序(1)中对齐的状态下存储在队列10da-1和10da-2中。要注意,如图4A所示,假设命令C1和C2各具有相同的任务号“0”。
在此,假设执行控制单元10e同时取出命令C1和C2。执行控制单元10e执行控制,使得全部受控组同时开始基于同时取出的命令的动作。执行控制单元10e还执行控制,使得与具有相同任务号的命令相对应的受控组同时停止基于这种命令的动作。
具体地,如图4B所示,执行控制单元10e使得受控组#1和#2同时开始分别基于同时取出的命令C1和C2的动作(参见图4B中的“(1)动作开始”)。
同样,如图4B所示,执行控制单元10e使得受控组#1和#2同时停止分别基于具有相同任务号“0”的命令C1和C2的所述动作(参见图4B中的“(1)动作结束”)。
这意味着即使两个受控组中的一个受控组与另一个受控组相比在更短的时间内正常完成所述动作,这两个受控组也在相同的时间段内动作。借助该控制,例如,在旨在使得两个机器人精确地同时接触对象物的情况下,诸如在机器人R1和机器人R2以夹持的方式从两个侧面保持对象物的情况下,可执行精确的协调动作。
接下来,图5A是例示了命令的存储模式图的示例的图(No.2)。此外,图5B是例示了执行控制单元10e的执行控制的示例的图(No.2)。
如图5A所示,假设在存储单元10c内分别从执行顺序(1)的位置已经被分别填充的队列10da-1和10da-2的底部开始,在相同的存储时刻存储命令C3和C4。
在这种情况下,命令C3和C4以在执行顺序(2)中对齐的状态存储在队列10da-1和10da-2中。如图5A所示,假设命令C3是具有任务号“0”的正常命令,而假设命令C4是“NOP”。
在此,假设命令C3和C4分别移到队列10da-1和10da-2的顶部,并且被执行控制单元10e同时取出。如果所取出的命令中的任意一个是“NOP”,那么执行控制单元10e执行控制,以保持与"NOP"相对应的受控组直到取出下一命令才动作。
具体地,如图5B所示,执行控制单元10e使得受控组#1开始基于同时取出的命令C3和C4之中的命令C3的动作(参见图5B中的“(2)动作开始”)。
此外,如图5B所示,执行控制单元10e保持与命令C4(即,"NOP")对应的受控组#2处于“无动作”的状态,直到下一次取出命令,即直到受控组#1基于命令C3的动作终止(参见图5B中的“(2)动作结束”)。
借助该控制,受控组可彼此等待以执行动作。因此,受控组可以同步并且可以精确地执行协调动作。
接下来,图6A是例示了命令的存储模式图的示例的图(No.3)。图6B是例示了执行控制单元10e的执行控制的示例的图(No.3)。此外,图6C至图6K是例示了命令的执行控制的细节的示意图(No.1)至(No.9)。图6C至图6K的一系列处理也由执行控制单元10e来执行。
如图6A所示,假设在存储单元10c中分别从执行顺序(1)和(2)的位置已经被分别填充的队列10da-1和10da-2的底部开始,在相同的存储时刻存储命令C5和C6。
在这种情况下,命令C5和C6以在执行顺序(3)中对齐的状态下存储在队列10da-1和10da-2中。如图6A所示,假设命令C5具有任务号“0”,而假设命令C6具有任务号“1”。
在此,将使用图6C至图6K来描述命令C5和C6分别移到队列10da-1和10da-2的顶部并接着被执行的过程。要注意,如图6C至图6K所示的各空心箭头表示“执行对象”的命令,并且在上述动作请求标识被设置为开启(ON)的同时执行被表示为“执行对象”的命令。
首先,如图6C所示,针对受控组#1和#2两者的在执行顺序(1)中的命令被设置为“执行对象”。由于具有相同任务号“0”,因此两条命令彼此同步地被执行并完成(同时开始并且同时结束),“执行对象”的命令移到在执行顺序(2)中的命令,如图6D所示。
针对受控组#2的命令是"NOP",因此不能是“执行对象”。因此,针对受控组#2的“执行对象”的指示进一步移到在下一执行顺序(3)中的命令C6,如图6E所示。在此,虽然对于受控组#2,“执行对象”的指示表示的命令在执行顺序(3)中,但是对于受控组#1的“执行对象”的指示仍表示较早的执行顺序(2)。因此,命令C6并不立即执行。执行控制单元10e参照全部其他受控组的在与“执行对象”的指示所表示的命令处于相同执行顺序中的命令的内容,并且如果除"NOP"外的命令被给予任何一个受控组并且该命令未被设置为“执行对象”,那么等待直到该命令被设置为“执行对象”。
如图6E所示,在该时间点,在执行顺序(1)中不存在“执行对象”的命令。因此,如图6F所示,在队列10da-1和10da-2的顶部处的命令一次都出队,并且其他命令向前移动。
在此,将使用图6F作为示例来详细描述排队过程。首先,对于受控组#1,“执行对象”的指示表示执行顺序(1)。对于受控组#2,执行顺序(1)中的命令是“NOP”。因此,受控组#1不必等待,因此执行在执行顺序(1)中的命令。
对于受控组#2,“执行对象”的指示表示执行顺序(2)。在受控组#1的执行顺序(2)中存在除"NOP"之外的命令(C5),并且受控组#1的“执行对象”的指示表示执行顺序(1)。因此,受控组#2的命令C6直到受控组#1的命令C5变为“执行对象”才被执行,因此执行控制单元10e等待直到命令C5变为“执行对象”。图6L的流程图例示了该系列过程。
具体地,如图6L所述,假设作为标准的受控组是“受控组#i”,按照受控组数关于(i)的循环处理来执行该系列过程(步骤S101)。在关于(i)的循环处理中,首先,获得受控组#i的由“执行对象”的指示所表示的命令的执行顺序的编号"instNoi"(步骤S102)。
接下来,在关于(j)的循环处理中,受控组#i与除受控组#i之外的另一受控组#j比较(步骤S103)。在关于(j)的循环处理中,首先确定j是否等于i(步骤S104),并且如果等于(步骤S104中为“是”),则受控组#j作为受控组#i被排除。具体地,j的值增加1,并且该处理返回到关于(j)的循环处理的循环开始。
如果j不等于i(步骤S104中为“否”),那么确定受控组#j的"instNoi"的命令是否是"NOP"(步骤S105)。如果受控组#j的"instNoi"的命令是"NOP"(步骤S105中为“是”),那么无法满足等待条件;因此,j的值增加1,并且该处理返回到关于(j)的循环处理的循环开始。
另选地,如果受控组#j的"instNoi"命令不是"NOP"(步骤S105中为“否”),那么获得受控组#j的由“执行对象”的指示所表示的命令的执行顺序编号"instNo"(步骤S106)。
接下来,比较编号"instNoj″与编号"instNoi",因此确定受控组#j的执行顺序是否比受控组#i的执行顺序更提前(步骤S107)。
如果所有受控组#j都满足步骤S107的确定条件(步骤S107中为“是”),那么受控组#i开始执行(步骤S108)。
另选地,如果任一受控组#j不满足步骤S107的确定条件(步骤S107中为“否”),即,如果存在受控组#j的命令并且该命令的执行顺序比受控组#i的命令的执行顺序更早,那么针对受控组#i执行等待命令的动作。
现返回到对图6F的说明。在图6F中受控组#1的在执行顺序(1)中的命令(任务号“0”)被执行并完成之后,“执行对象”的指示移动到在执行顺序(2)中的命令C5,如图6G所示。在此,在执行顺序(1)中不再存在“执行对象”的命令。因此,如图6H所示,在队列10da-1和10da-2的顶部处的命令按照与如图6F所示相同的方式一次都出队,并且命令C5和C6向前移动。
然后,如图6I所示,对于受控组#1,具有任务号“0”的命令C5被执行并完成,并且“执行对象”的指示移动到下一个。同样,如图6J所示,对于受控组#2,具有任务号“1”的命令C6被执行并完成,并且“执行对象”的指示移动到下一个。
此时,执行控制单元10e并不执行使得在对应于具有彼此不同的任务号的命令的受控组中同时停止基于这种命令的动作的控制。
具体地,如图6B所示,虽然执行控制单元10e对于受控组#1和#2分别同时开始基于命令C5和C6的动作(参见图6B中的“(3)动作开始”),但是执行控制单元10e不进行使得受控组#1和#2同时停止动作的控制。因此,基于命令C5和C6的动作可以彼此异步地停止(参见图6B中的每组的“(3)动作结束”)。
这意味着,如果一个动作比其他动作在更短时间内被完成,那么所述一个动作独立地停止,而不需要针对两个动作花费相同的时间。借助该控制,受控组可以并行动作,在受控组之间不需要动作同步的情况下(例如在机器人R1和机器人R2执行彼此不同的动作而没有彼此干扰的风险的情况下),不会向系统施加不必要的负担。
返回到对图6J的说明。如图6J所示,在命令C5和C6被执行并完成之后,在执行顺序(1)中不再存在“执行对象”的命令。因此,如图6K所示,在队列10da-1和10da-2的顶部处的命令C5和C6一次都出队,并且仅“执行对象”的指示向前移动以设置在队列10da-1和10da-2的顶部处。
因此,通过结合执行控制单元10e执行的已经使用图4A至图6K在上文描述的执行控制动作,根据本实施方式的机器人控制器10可以使受控组以彼此精确同步的方式执行协调动作。
在图7A和图7B中例示了这种结合的具体示例。图7A和图7B是例示了根据实施方式的机器人控制器10中的执行控制的具体示例的图(No.1)和(No.2)。
要注意,在图7A和图7B中例示的具体示例讨论了被称为受控组#1至#3的三个受控组。还要注意,如图7A和图7B所示的由字母和一个或多个撇号表示的每个符号(例如,(a)、(b)’和(d)”)表示在根据一条命令动作时各受控组的目标的“目标位置”。
例如,如图7A所示,假设受控组#1旨在执行如下动作:在该动作中,与例如安装在机器人的前端处的手的作用点(把持对象物的部分)相对应的控制点沿着从其当前位置经由(a)、(b)以及(c)至(d)的路径前进。
以类似的方式,假设受控组#2旨在执行如下动作:在该动作中,控制点沿着从其当前位置经由(a)’、(b)’以及(c)’至(d)’的路径前进。
同样,以类似的方式,假设受控组#3旨在执行控制点沿着从其当前位置到(d)”的路径前进的动作。
此外,如图7A中的空心箭头所示,假设受控组#1的从(b)经由(c)至(d)的动作旨在与受控组#2的从(b)’经由(c)’至(d)’的动作同步。此外,假设受控组#1从(c)至(d)的动作、受控组#2从(c)’至(d)’的动作、以及受控组#3从当前位置至(d)”的动作旨在彼此同步。
在此,如下说明该动作的具体示例。首先,当机器人R1(受控组#1)从其当前位置到(b)进行动作时,机器人R2(受控组#2)与机器人R1独立地从其当前位置向(b)’动作。之后,机器人R1和机器人R2用这两个机器人的手保持同一对象物的两端,并且以协调的方式搬运该对象物。然后,从搬运的中途,受控组#3的机器人R3以与被搬运的对象物的运动同步的方式向所述对象物进行加工。
在这种情况下,仅需要在用于受控组#1至#3的队列10da中存储命令,与如图7B所述的具体示例相似。具体地,仅需要在各执行顺序(1)和(2)中存储在受控组#1和#2之间具有不同任务号(在此,“0”和“1”)的命令,使得这些动作被异步地执行。
此外,仅需要在各执行顺序(3)和(4)中存储在受控组#1和#2之间具有相同任务号(在此,“0”)的命令,使得执行控制单元10e以同步的方式执行控制。
此外,对于受控组#3,仅需要在执行顺序(1)至(3)中存储作为命令的"NOP",以防止受控组#3执行等待受控组#1和#2的等待动作。此外,仅需要在执行顺序(4)中存储与受控组#1和#2的命令具有相同任务号“0”的命令。
虽然图7A和图7B例示了受控组#3从中途与已经处于动作中的受控组#1和#2同步地动作,但是受控组#3也可以异步地动作。图7C例示了这种具体示例。图7C是例示了根据实施方式的机器人控制器10的执行控制的具体示例的图(No.3)。
如图7C所示,假设在执行顺序(1)和(2)中,受控组#1和#2已经通过具有任务号“0”的命令处于动作中。在该情况下,如果针对受控组#3随后存储命令(即,作为执行顺序(3))并且该命令具有独立的任务号(例如,图7C中的“1”),那么受控组#3从存储该命令的时刻开始与受控组#1和#2异步地动作。
由于在图7C中在受控组#3的各执行顺序(1)和(2)中存储"NOP",因此,对于受控组#3,要执行在执行顺序(3)中存储的命令。这也是因为在受控组#1和#2的执行顺序(3)中存储有"NOP",因此受控组#3不必执行等待受控组#1和#2的等待动作。
以该方式,根据本实施方式,为了确定哪些受控组要彼此同步,仅需要检查在队列10da中的相同执行顺序中的命令是否具有相同任务号。换言之,不需要从队列10da的顶部搜索各队列10da中存储的命令的任务号,但是在具有相同执行顺序的命令之间进行比较就已足够。因此,即使受控组的数量增加,也可容易地执行同步控制,而不使得处理复杂化。
接下来,将使用图8A和图8B来描述由显示控制单元10f在显示装置20上显示的缓冲器10d的内容(即,队列10da)的具体示例。图8A和图8B是例示了显示控制单元10f显示的缓冲器10d的内容的具体示例的图。
如图8A所示,显示控制单元10f例如可以将缓冲器10d中存储的所有命令都显示在显示装置20的显示区域21中。此时,可进行布局,把诸如"受控组#1″的文本与诸如表示执行顺序的(1)至(4)的文本一起显示,使得实际观看显示装置20的动作者可容易地检查缓冲器10d的内容。
缓冲器10d的随时间变化的内容也可以显示为例如动画形式的图像的运动图像,而不是静止图像。
另选地,如图8B所示,在显示装置20的显示区域21中至少可以被任意地变窄并显示存储单元10c同时存储在队列10da中的命令。例如,图8B例示了内容变窄至仅在执行顺序(1)中的命令并且显示该内容的具体示例。
结果,可提高观察受控组的当前命令执行状态以及这些受控组要执行的动作的可视性。具体地,可以在较早时间找到机器人系统1中存在的潜在问题并且调试程序。因此,可以提高程序的可靠性,并且执行更精确的同步和协调控制。
如上所述,根据本实施方式的机器人控制器设置有队列、存储单元和执行控制单元。针对作为控制单位的各受控组分别设置队列,各控制单位包括机器人的动作所涉及的至少一条运动轴线。存储单元内从受控组的队列的底部开始,以每次对于各受控组存储一条命令的方式同时存储针对受控组的命令。当已经接受了预定动作请求时,执行控制单元从受控组的队列的顶部起,以每次对于各受控组取出一条命令的方式同时取出针对受控组的命令,并且使得所有受控组同时开始基于所述命令的动作。
如果存在任何在存储所述命令的时刻不存在相应命令的受控组,那么存储单元中存储无动作命令,作为针对这种受控组的命令。如果取回的命令是无动作命令,那么执行控制单元将防止与无动作命令相对应的受控组动作,直到下次取回命令为止。因此,借助根据实施方式的机器人控制器,受控组可以彼此精确同步地执行协调动作。
已经针对如下情况作为示例描述了上述实施方式,其中受控组中所包括的机器人是相同类型的(全都是单臂类的),例如如图1所示。但是实施方式显然不局限于相同类型的机器人。
已经将具有主计算机的机器人系统作为示例描述了上述实施方式。但是,作为变型例,机器人系统可构造成设置有多个主计算机。在此,图9和图10中例示了这种情况的构成例。
图9是例示了根据实施方式的变型例的机器人系统1A的总体构造的图,并且图10是例示了根据该变型例的机器人控制器10A的构造的框图。图9和图10分别对应于图1和图2。因此,将省略重复部件的描述,并且将主要描述不同的部件。
如图9所示,机器人系统1A配置有多个主计算机、机器人控制器10A以及例如受控组#1和#2。图9作为示例示出了至少两个主计算机H-1和H-2。
主计算机H-1和H-2产生针对受控组#1和#2的命令,并且向机器人控制器10A发出该命令。此时,主计算机H-1和H-2可以向受控组#1和#2中的任一者发出命令。换言之,主计算机和受控组之间的关系不局限于一一对应的关系。
主计算机H-1和H-2可构造在彼此不同的平台上。例如,主计算机H-1可由PC构成,而主计算机H-2可以由PLC构成。
如图10所示,机器人控制器10A设置有多个存储单元10c,作为存储单元10c-1和10c-2。当经由通信接口10a接着经由公共AP接口10b已经接收到来自主计算机H-1和H-2的每条命令时,存储单元10c-1和10c-2各保持该命令,直到接受到该命令的“发布”请求,并且在接受“发布”请求之后将该命令存储在缓冲器10d中。其他部件都与根据上述实施方式的机器人控制器10的部件(参考图2)相同,且因此将省略对其说明。
上述实施方式已经例示了队列以二维阵列状的方式竖直且水平地对齐的示例,例如,如图3B所示。但是,队列的布置不局限于该示例。换言之,这些队列可设置在缓冲区中固定在彼此偏移开的位置的区域中。
已经针对每个队列的元素数量是四个的情况(例如,如图3B所示)作为示例进一步描述了上述实施方式。但是,元素的数量可以在上述队列之间不同,并且该数量不限于四个。
Claims (6)
1.一种机器人控制器,该机器人控制器包括:
队列,该队列是针对作为控制单位的各受控组而设置的,所述控制单位各包括机器人的动作中涉及的至少一条运动轴线;
存储单元,在该存储单元中从各队列的底部起,以每次对于各受控组存储一条命令的方式存储针对各受控组的命令;以及
执行控制单元,该执行控制单元在接受了预定动作请求时,从所述队列的顶部起,以每次对于各受控组取出一条命令的方式同时取出针对所述受控组的命令,并且使得所有受控组同时开始基于所述命令的动作;其中
在存在任何在存储所述命令时没有相应命令的受控组的情况下,所述存储单元存储无动作命令作为针对该受控组的命令;并且
所述执行控制单元在所取出的命令是所述无动作命令的情况下,防止与所述无动作命令对应的受控组动作,直到下一次取出命令为止。
2.根据权利要求1所述的机器人控制器,其中:
所述命令各包括作为表示命令类型的号码的任务号;并且
所述执行控制单元使得与具有相同任务号的命令相对应的受控组同时停止基于该命令的动作。
3.根据权利要求2所述的机器人控制器,其中,所述执行控制单元不执行在与具有不同任务号的命令相对应的受控组中同时停止基于该命令的动作的控制。
4.根据权利要求1至3中任一项所述的机器人控制器,该机器人控制器还包括显示控制单元,该显示控制单元将所述队列的内容显示在显示装置上。
5.根据权利要求4所述的机器人控制器,其中,所述显示控制单元在所述显示装置上至少显示所述存储单元存储在所述队列中的命令。
6.一种机器人系统,所述机器人系统包括权利要求1至3中任一项所述的机器人控制器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012233181A JP5578220B2 (ja) | 2012-10-22 | 2012-10-22 | ロボットシステム |
JP2012-233181 | 2012-10-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103770122A true CN103770122A (zh) | 2014-05-07 |
CN103770122B CN103770122B (zh) | 2016-05-04 |
Family
ID=47748482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310053933.2A Expired - Fee Related CN103770122B (zh) | 2012-10-22 | 2013-02-20 | 机器人系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8892254B2 (zh) |
EP (1) | EP2722137A2 (zh) |
JP (1) | JP5578220B2 (zh) |
CN (1) | CN103770122B (zh) |
BR (1) | BR102013002708A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111283677A (zh) * | 2018-12-10 | 2020-06-16 | 北京猎户星空科技有限公司 | 一种机器人控制方法、装置、机器人及机器人主控器 |
CN111417906A (zh) * | 2017-12-13 | 2020-07-14 | 首选网络株式会社 | 控制装置、控制方法以及程序 |
CN114932555A (zh) * | 2022-06-14 | 2022-08-23 | 如你所视(北京)科技有限公司 | 机械臂协同作业系统及机械臂控制方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10268177B2 (en) * | 2016-05-19 | 2019-04-23 | The Boeing Company | Method and apparatus of coordinating independent automated systems |
CN105945955B (zh) * | 2016-07-26 | 2017-07-18 | 耿跃峰 | 一种自动机械臂 |
JP6426781B2 (ja) | 2017-03-08 | 2018-11-21 | ファナック株式会社 | 機械システム |
JP2021142572A (ja) * | 2018-06-12 | 2021-09-24 | ソニーグループ株式会社 | 制御装置、制御方法及びプログラム |
JP6761158B1 (ja) * | 2019-12-16 | 2020-09-23 | 株式会社安川電機 | プログラム作成装置、プログラム作成方法、及びプログラム |
WO2022107324A1 (ja) * | 2020-11-20 | 2022-05-27 | 日本電気株式会社 | 支援制御装置、支援装置、ロボット制御システム、支援制御方法及び記憶媒体 |
US20220407427A1 (en) * | 2021-06-22 | 2022-12-22 | Samsung Sdi Co., Ltd. | Bidirectional power supply system for powering a battery management system of an electric vehicle |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1122037A1 (en) * | 1999-03-24 | 2001-08-08 | Sony Corporation | Robot apparatus |
CN1857877A (zh) * | 2005-05-06 | 2006-11-08 | 美国发那科机器人有限公司 | 机器人多臂控制系统 |
JP2007058736A (ja) * | 2005-08-26 | 2007-03-08 | Fanuc Ltd | ロボット協調制御方法及びシステム |
JP2008531318A (ja) * | 2005-03-01 | 2008-08-14 | ファナック ロボティクス アメリカ,インコーポレイティド | 通信ネットワークによってリンクされた同期コントローラ |
CN201562158U (zh) * | 2009-06-17 | 2010-08-25 | 北京华凯汇信息科技有限公司 | 一种多机器人同步控制系统 |
JP2011233071A (ja) * | 2010-04-30 | 2011-11-17 | Fujitsu Ltd | 動作制御方法、インタラクティブデバイス及びプログラム |
CN202462408U (zh) * | 2012-02-10 | 2012-10-03 | 邓世海 | 基于工业机器人的多轴运动控制系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5204942A (en) * | 1989-01-10 | 1993-04-20 | Kabushiki Kaisha Kobe Seiko Sho | Robot control system for controlling a set of industrial robots for cooperative operation |
JPH03182908A (ja) | 1989-12-12 | 1991-08-08 | Sony Corp | ロボットの数値制御装置 |
US5303384A (en) * | 1990-01-02 | 1994-04-12 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | High level language-based robotic control system |
US5429682A (en) * | 1993-08-19 | 1995-07-04 | Advanced Robotics Technologies | Automated three-dimensional precision coatings application apparatus |
JP3577028B2 (ja) * | 2001-11-07 | 2004-10-13 | 川崎重工業株式会社 | ロボットの協調制御システム |
DE10314025B4 (de) * | 2003-03-28 | 2010-04-01 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Steuern einer Mehrzahl von Handhabungsgeräten |
US8315736B2 (en) * | 2008-04-25 | 2012-11-20 | Fanuc Robotics America, Inc. | Method and apparatus for picking/packing applications |
WO2013013686A1 (en) * | 2011-07-27 | 2013-01-31 | Abb Technology Ag | System for commanding a robot |
-
2012
- 2012-10-22 JP JP2012233181A patent/JP5578220B2/ja not_active Expired - Fee Related
-
2013
- 2013-02-04 BR BR102013002708-1A patent/BR102013002708A2/pt not_active IP Right Cessation
- 2013-02-05 US US13/759,050 patent/US8892254B2/en active Active
- 2013-02-20 CN CN201310053933.2A patent/CN103770122B/zh not_active Expired - Fee Related
- 2013-02-20 EP EP13155938.7A patent/EP2722137A2/en not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1122037A1 (en) * | 1999-03-24 | 2001-08-08 | Sony Corporation | Robot apparatus |
JP2008531318A (ja) * | 2005-03-01 | 2008-08-14 | ファナック ロボティクス アメリカ,インコーポレイティド | 通信ネットワークによってリンクされた同期コントローラ |
CN1857877A (zh) * | 2005-05-06 | 2006-11-08 | 美国发那科机器人有限公司 | 机器人多臂控制系统 |
JP2007058736A (ja) * | 2005-08-26 | 2007-03-08 | Fanuc Ltd | ロボット協調制御方法及びシステム |
CN201562158U (zh) * | 2009-06-17 | 2010-08-25 | 北京华凯汇信息科技有限公司 | 一种多机器人同步控制系统 |
JP2011233071A (ja) * | 2010-04-30 | 2011-11-17 | Fujitsu Ltd | 動作制御方法、インタラクティブデバイス及びプログラム |
CN202462408U (zh) * | 2012-02-10 | 2012-10-03 | 邓世海 | 基于工业机器人的多轴运动控制系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111417906A (zh) * | 2017-12-13 | 2020-07-14 | 首选网络株式会社 | 控制装置、控制方法以及程序 |
CN111283677A (zh) * | 2018-12-10 | 2020-06-16 | 北京猎户星空科技有限公司 | 一种机器人控制方法、装置、机器人及机器人主控器 |
CN114932555A (zh) * | 2022-06-14 | 2022-08-23 | 如你所视(北京)科技有限公司 | 机械臂协同作业系统及机械臂控制方法 |
CN114932555B (zh) * | 2022-06-14 | 2024-01-05 | 如你所视(北京)科技有限公司 | 机械臂协同作业系统及机械臂控制方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2722137A2 (en) | 2014-04-23 |
JP2014083619A (ja) | 2014-05-12 |
BR102013002708A2 (pt) | 2014-09-30 |
US20140114476A1 (en) | 2014-04-24 |
US8892254B2 (en) | 2014-11-18 |
CN103770122B (zh) | 2016-05-04 |
JP5578220B2 (ja) | 2014-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103770122A (zh) | 机器人控制器和机器人系统 | |
US9372476B2 (en) | System construction supporting apparatus and system configuration diagram creating method | |
CN102053814B (zh) | 用于控制图像处理器的方法、机器可读存储介质和计算机 | |
CN102855121B (zh) | 分支处理方法与系统 | |
JP6626315B2 (ja) | プログラマブル・ロジック・コントローラのモニタ装置及びプログラマブル・ロジック・コントローラ・システム | |
CN104057449B (zh) | 机器人系统及被加工物制造方法 | |
CN108025436A (zh) | 实时控制系统、实时控制装置及系统控制方法 | |
CN101375220B (zh) | 控制机器人工位的方法和相应的机器人工位 | |
CN104823155B (zh) | 基于存储器的旗语 | |
CN107182255B (zh) | 一种星敏感器信息处理方法 | |
CN106528275A (zh) | 数据任务的处理方法及任务调度器 | |
CN105045632A (zh) | 一种多核环境下实现免锁队列的方法和设备 | |
CN108924187A (zh) | 基于机器学习的任务处理方法、装置和终端设备 | |
CN107430787A (zh) | 在共享着色器核心上提供异步显示着色器功能 | |
KR20110005768A (ko) | 시험 장치 | |
CN106371448B (zh) | 一种基于动作优化的成像卫星自主指令生成方法 | |
KR20120070188A (ko) | 모듈 간의 타이밍 정보를 이용하는 멀티코어 시스템의 시뮬레이터, 및 그 시뮬레이션 방법 | |
CN108128482A (zh) | 用于多航天器分布式上升的系统和方法 | |
CN103530742B (zh) | 提高排程运算速度的方法及装置 | |
CN113516344B (zh) | 基于Modelica的交换器并行生产车间离散系统模型库构建方法 | |
Nguyen et al. | Rapid prototyping technology | |
CN111949506B (zh) | 一种基于三维程序回退功能的示教轨迹修改方法及装置 | |
JP2010140255A (ja) | 再構成可能論理回路ならびに検証方法および検証プログラム | |
CN107851011A (zh) | 数据处理 | |
Gopalakrishnan et al. | Towards amalgamating the synchronous and asynchronous styles |
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 |
Granted publication date: 20160504 Termination date: 20170220 |
|
CF01 | Termination of patent right due to non-payment of annual fee |