CN113878572A - 控制系统、机器人系统以及控制方法 - Google Patents
控制系统、机器人系统以及控制方法 Download PDFInfo
- Publication number
- CN113878572A CN113878572A CN202110729979.6A CN202110729979A CN113878572A CN 113878572 A CN113878572 A CN 113878572A CN 202110729979 A CN202110729979 A CN 202110729979A CN 113878572 A CN113878572 A CN 113878572A
- Authority
- CN
- China
- Prior art keywords
- virtual
- robots
- restart
- unit
- controller
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 152
- 238000004088 simulation Methods 0.000 claims description 99
- 238000003860 storage Methods 0.000 claims description 82
- 238000011156 evaluation Methods 0.000 claims description 75
- 230000009471 action Effects 0.000 claims description 59
- 230000005856 abnormality Effects 0.000 claims description 26
- 238000001514 detection method Methods 0.000 claims description 15
- 230000002093 peripheral effect Effects 0.000 claims description 14
- 238000009877 rendering Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 126
- 238000013523 data management Methods 0.000 description 52
- 238000004519 manufacturing process Methods 0.000 description 37
- 238000004891 communication Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 18
- 230000001360 synchronised effect Effects 0.000 description 16
- 230000004044 response Effects 0.000 description 13
- 230000032258 transport Effects 0.000 description 12
- 238000003754 machining Methods 0.000 description 10
- 230000006399 behavior Effects 0.000 description 8
- 230000002159 abnormal effect Effects 0.000 description 7
- 238000013480 data collection Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 239000007795 chemical reaction product Substances 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 239000003638 chemical reducing agent Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003466 welding Methods 0.000 description 2
- HMUNWXXNJPVALC-UHFFFAOYSA-N 1-[4-[2-(2,3-dihydro-1H-inden-2-ylamino)pyrimidin-5-yl]piperazin-1-yl]-2-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)ethanone Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)N1CCN(CC1)C(CN1CC2=C(CC1)NN=N2)=O HMUNWXXNJPVALC-UHFFFAOYSA-N 0.000 description 1
- VZSRBBMJRBPUNF-UHFFFAOYSA-N 2-(2,3-dihydro-1H-inden-2-ylamino)-N-[3-oxo-3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propyl]pyrimidine-5-carboxamide Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)C(=O)NCCC(N1CC2=C(CC1)NN=N2)=O VZSRBBMJRBPUNF-UHFFFAOYSA-N 0.000 description 1
- LDXJRKWFNNFDSA-UHFFFAOYSA-N 2-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)-1-[4-[2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidin-5-yl]piperazin-1-yl]ethanone Chemical compound C1CN(CC2=NNN=C21)CC(=O)N3CCN(CC3)C4=CN=C(N=C4)NCC5=CC(=CC=C5)OC(F)(F)F LDXJRKWFNNFDSA-UHFFFAOYSA-N 0.000 description 1
- YLZOPXRUQYQQID-UHFFFAOYSA-N 3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)-1-[4-[2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidin-5-yl]piperazin-1-yl]propan-1-one Chemical compound N1N=NC=2CN(CCC=21)CCC(=O)N1CCN(CC1)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F YLZOPXRUQYQQID-UHFFFAOYSA-N 0.000 description 1
- AFCARXCZXQIEQB-UHFFFAOYSA-N N-[3-oxo-3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propyl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C(CCNC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)N1CC2=C(CC1)NN=N2 AFCARXCZXQIEQB-UHFFFAOYSA-N 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000005381 potential energy Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
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
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- 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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- 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/1612—Programme controls characterised by the hand, wrist, grip control
-
- 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/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- 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
-
- 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/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39014—Match virtual world with real world
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40096—Modify tasks due to use of different manipulator
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40205—Multiple arm systems
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40298—Manipulator on vehicle, wheels, mobile
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40317—For collision avoidance and detection
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40333—Singularity, at least one movement not possible, kinematic redundancy
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40516—Replanning
Abstract
本发明涉及控制系统、机器人系统以及控制方法。控制系统(3)具备:控制器(6),在真实空间中基于动作程序使一个以上的机器人(2B、2C)动作;虚拟控制器(7),在虚拟空间中,使与一个以上的机器人分别对应的一个以上的虚拟机器人基于动作程序动作;动作中断部(219),使基于控制器(6)的一个以上的机器人(2B、2C)的动作中断;中断状态再现部(321),使虚拟空间再现一个以上的机器人(2B、2C)的动作中断的真实空间的状态;以及重启模拟器(322),在中断状态再现部(321)使真实空间的状态再现的虚拟空间中,通过虚拟控制器(7)基于动作程序使一个以上的虚拟机器人(2Bv、2Cv)的动作重启。
Description
技术领域
本公开涉及控制系统、机器人系统以及控制方法。
背景技术
在日本特开2019-209454号公报中公开了一种加工系统,其具备进行工件的加工的加工装置和运送工件的机器人。
发明内容
发明所要解决的问题
本公开提供对包含机器人的生产系统停止时的迅速应对有效的控制系统。
用于解决问题的手段
本公开的一个方面所涉及的控制系统具备:控制器,在真实空间中使一个以上的机器人基于动作程序动作;虚拟控制器,在虚拟空间中基于动作程序使与一个以上的机器人分别对应的一个以上的虚拟机器人动作;动作中断部,使基于控制器的一个以上的机器人的动作中断;中断状态再现部,使一个以上的机器人的动作中断后的真实空间的状态在虚拟空间中再现;以及重启模拟器,在中断状态再现部使真实空间的状态再现的虚拟空间中,通过虚拟控制器基于动作程序使一个以上的虚拟机器人的动作重启。
本公开的另一方面所涉及的机器人系统具备:上述的控制系统;以及一个以上的机器人。
本公开的其他方面所涉及的控制方法包括:在真实空间中使一个以上的机器人基于动作程序动作;使一个以上的机器人的动作中断;使一个以上的机器人的动作中断的真实空间的状态在虚拟空间中再现;以及在使真实空间的状态在其中再现的虚拟空间中,通过虚拟控制器基于动作程序使一个以上的虚拟机器人的动作重启。
发明效果
根据本公开,能够提供对包含机器人的生产系统停止时的迅速应对有效的控制系统。
附图说明
图1是例示生产系统的构成的示意图;
图2是例示机器人的构成的示意图;
图3的(a)~(d)是例示两台机器人的动作以及动作中断的图;
图4的(a)~(c)是例示中断的动作的重启模拟的图;
图5的(a)~(b)是例示中断的动作的重启模拟的图;
图6的(a)~(b)是例示中断的动作的重启模拟的图;
图7的(a)~(b是例示中断的动作的重启模拟的图;
图8是例示控制器的构成的框图;
图9是例示针对工件的进程的分配结果的表;
图10是例示设备信息的表;
图11是例示工件信息的表;
图12是例示数据管理装置的构成的框图;
图13是例示数据管理装置的构成的框图;
图14是例示重启指令获取画面的示意图;
图15是例示模拟条件指定画面的示意图;
图16是示出数据管理装置的变形例的框图;
图17是示出生产系统的变形例的示意图;
图18是例示控制系统的硬件构成的图;
图19是例示程序生成步骤的流程图;
图20是例示上级控制器的控制步骤的流程图;
图21是例示上级控制器的异常确认步骤的流程图;
图22是例示本地控制器的控制步骤的流程图;
图23是例示虚拟环境信息收集步骤的流程图;
图24是例示真实环境信息收集步骤的流程图;
图25是例示重启模拟步骤的流程图;
图26是例示动作重启后的上级控制器的控制步骤的流程图。
具体实施方式
以下,参照附图对实施方式进行详细说明。在说明中,对相同要素或具有相同功能的要素标注相同的附图标记,并省略重复的说明。
[生产系统]
图1所示的生产系统1(机器人系统)是进行工件生产的系统。以下,在工件的生产进程中,将成为作业对象的全部物体称为“工件”。
例如“工件”包括生产系统1中的最终产品、最终产品的部件以及将多个部件组合而成的单元等。
生产系统1具备一个以上的本地设备2和控制系统3。例如,生产系统1具备多个本地设备2,通过多个本地设备2的协调动作进行工件的生产。协调动作意味着多个本地设备动作,以分担用于得到至少一个上述最终产品的多个工序。多个本地设备既可以按工序单位分担用于得到一个最终产品的多个工序的方式动作,也可以按最终产品单位分担用于得到多个最终产品的多个工序的方式动作。
多个本地设备2分别是在工件9的生产现场对工件9直接执行作业的设备。直接的作业例如是对工件9赋予热能、动能、势能等某种能量的作业。
多个本地设备2分别例如是产业机械。多个本地设备2至少包括机器人(至少一个本地设备2是机器人)。另外,多个本地设备2包含与机器人协作的产业机械。作为与机器人协作的产业机械的具体例,除了其他机器人之外,还可以列举NC机床等。
图1所示的多个本地设备2包括运送装置2A、机器人2B、2C以及移动型机器人2D,但不限于此。只要包含至少一个机器人,则本地设备2的数量以及种类能够适当地变更。
运送装置2A例如将电动马达等作为动力源来运送工件9。作为运送装置2A的具体例,可以列举带式运送机、辊式运送机等。机器人2B、2C以及移动型机器人2D对运送装置2A运送的工件9进行作业。作为针对工件9的作业的具体例,可列举出其他工件9(例如副零件)相对于运送装置2A运送的工件9(例如基础零件)的组装、运送装置2A运送的工件9中的零件彼此的紧固(例如螺栓紧固)、接合(例如焊接)、向设置于运送装置2A的周围的NC机床的运入工件9、从NC机床的运出工件9等。
例如,机器人2B、2C是6轴的垂直多关节机器人,如图2所示,具有基部11、回转部12、第一臂13、第二臂14、第三臂17、前端部18、以及致动器41、42、43、44、45、46。基部11设置在运送装置2A的周围。回转部12以围绕铅垂的轴线21旋转的方式设置于基部11上。
第一臂13以围绕与轴线21交叉(例如正交)的轴线22旋转的方式与回转部12连接。交叉也包括所谓的立体交叉那样处于扭转的关系的情况。第二臂14以围绕与轴线22实质上平行的轴线23旋转的方式与第一臂13的前端部连接。第二臂14包括臂基部15和臂端部16。臂基部15与第一臂13的前端部连接,沿着与轴线23交叉(例如正交)的轴线24延伸。臂端部16以围绕轴线24旋转的方式与臂基部15的前端部连接。第三臂17以围绕与轴线24交叉(例如正交)的轴线25旋转的方式与臂端部16的前端部连接。前端部18以围绕与轴线25交叉(例如正交)的轴线26旋转的方式与第三臂17的前端部连接。在前端部18例如安装有手、吸附嘴、焊炬等作业工具。
这样,机器人2B、2C具有:连接基部11与回转部12的关节31;连接回转部12与第一臂13的关节32;连接第一臂13与第二臂14的关节33;在第二臂14连接臂基部15与臂端部16的关节34;连接臂端部16与第三臂17的关节35;以及连接第三臂17与前端部18的关节36。
致动器41、42、43、44、45、46例如包括电动马达以及减速器,分别驱动关节31、32、33、34、35、36。例如,致动器41使回转部12绕轴线21旋转,致动器42使第一臂13绕轴线22旋转,致动器43使第二臂14绕轴线23旋转,致动器44使臂端部16绕轴线24旋转,致动器45使第三臂17绕轴线25旋转,致动器46使前端部18绕轴线26旋转。
另外,机器人2B、2C的具体构成能够适当变更。例如,机器人2B、2C可以是在上述6轴的垂直多关节机器人中进一步追加了1轴的关节而成的7轴的冗余型机器人,也可以是所谓的SCARA型的多关节机器人。
返回图1,移动型机器人2D是能够自主行驶的机器人。移动型机器人2D具有与机器人2B、2C同样地构成的机器人10和无人运送车50。无人运送车50自主行驶,以运送机器人10。作为无人运送车50的具体例,可以举出电动式的所谓AGV(Automated Guided Vehcle,自动导向车)。
生产系统1还可以具备环境传感器5。环境传感器5检测多个本地设备2的作业环境的状态(以下,称为“环境状态”)。作为环境传感器5的具体例,例如可举出拍摄多个本地设备2的作业环境的照相机。环境传感器5可以是通过激光等来检测规定位置处有无工件9的传感器,也可以是检测工件9的尺寸等的传感器。生产系统1也可以具备多个环境传感器5。
控制系统3控制多个本地设备2。以下,详细例示控制系统3的构成。
[控制系统]
控制系统3基于动作程序使多个本地设备2动作,在发生异常时等中断多个本地设备2的动作。在多个本地设备2的动作中断后,在多个本地设备2中的至少任一个处于能够动作的状态的情况下,优选在不需要动作中断的时刻立即重启能够动作的本地设备2的动作,将系统的停机时间限制在最小限度。然而,在多个本地设备2的动作中断时,有可能在多个本地设备2的周边环境产生设想外的变化。
对此,控制系统3构成为执行以下处理:在真实空间中基于动作程序使多个本地设备2进行动作;使多个本地设备2的动作中断;使虚拟空间再现多个本地设备2的动作中断的真实空间的状态;在再现了真实空间的状态的虚拟空间中,基于动作程序使多个虚拟本地设备的至少一部分动作重启。
在虚拟空间再现多个本地设备2的动作中断后的真实空间的状态之后,在该虚拟空间中重启多个虚拟本地设备的动作,由此能够容易地进行在真实空间中重启多个本地设备2的动作的情况下的模拟。由此,能够在实际的动作重启之前迅速地掌握在使一个以上的机器人的动作重启的情况下产生的事件。因此,对于生产系统1停止时的迅速应对是有效的。
以下,参照附图,示出模拟的具体例。图3的(a)~(d)是例示两台机器人的动作以及动作中断的图。图3的(a)~(d)例示了控制系统3使机器人2B、2C运送工件的情况。具体而言,如图3的(a)以及(b)所示,控制系统3通过机器人2B使工件支承部92的工件9A向工件支承部93运送,之后,如图3的(b)以及(c)所示,通过机器人2C使工件支承部91的工件9B向工件支承部92运送。
控制系统3根据异常发生等使机器人2B、2C的动作中断。作为异常发生的一例,图3的(d)表示由于机器人2B对工件9A的把持失败而机器人2B、2C停止的状态。机器人2B的前端部18到达工件支承部93,但工件9A残留在工件支承部92上。在这样的情况下,控制系统3使包含机器人2B、2C的生产系统1的动作中断。
控制系统3在机器人2B的前端部18移动到工件支承部93之后,也使工件9A残留在工件支承部92上的真实空间的状态在虚拟空间中再现。例如,如图4的(a)所示,控制系统3使虚拟空间中再现虚拟机器人2Bv的前端部18v位于虚拟工件支承部93v上、虚拟工件9Av残留在虚拟工件支承部92v上、虚拟工件9Bv位于虚拟工件支承部91v上、使虚拟机器人2Cv的前端部18v位于虚拟工件支承部91v上的状态。
虚拟机器人2Bv与机器人2B对应,虚拟机器人2Cv与机器人2C对应,虚拟工件9Av与工件9A对应,虚拟工件9Bv与工件9B对应,虚拟工件支承部91v与工件支承部91对应,虚拟工件支承部92v与工件支承部92对应,虚拟工件支承部93v与工件支承部93对应。
之后,控制系统3基于动作程序在虚拟空间中重启虚拟机器人2Bv、2Cv的动作。例如,控制系统3使虚拟机器人2Cv重启从虚拟工件支承部91v向虚拟工件支承部92v运送虚拟工件9Bv的动作(参照图4的(b))。通过该模拟,检测出残留在虚拟工件支承部92v上的虚拟工件9Av与虚拟机器人2Cv运送到虚拟工件支承部92v上的虚拟工件9Bv之间的冲突。根据这样的模拟结果,能够容易地掌握从机器人2C对工件9B的运送重启动作是不适当的。由此,能够从机器人2B对工件9A的把持重启动作等(参照图4的(c))迅速地进行适当的应对。
控制系统3也存在由于机器人2B、2C自身的异常而使机器人2B、2C的动作中断的情况。图5的(a)示出了在使工件9A到达工件支承部93的阶段在机器人2B产生过电流等异常、机器人2B和2C的动作中断的状态。在这样的情况下,控制系统3在使虚拟机器人2Bv停止的状态下,使虚拟机器人2Cv的动作重启。例如,控制系统3在使虚拟机器人2Bv停止的状态下,使虚拟机器人2Cv重启从虚拟工件支承部91v向虚拟工件支承部92v运送虚拟工件9Bv的动作(参照图5的(b))。通过该模拟,确认能够无特别冲突地从工件支承部91向工件支承部92运送工件9B。
图6的(a)示出了在把持工件9A的阶段在机器人2B产生过电流等异常、机器人2B和2C的动作中断的状态。在这样的情况下,控制系统3在使虚拟机器人2Bv停止的状态下,使虚拟机器人2Cv的动作重启。例如,控制系统3在使虚拟机器人2Bv停止的状态下,使虚拟机器人2Cv重启从虚拟工件支承部91v向虚拟工件支承部92v运送虚拟工件9Bv的动作(参照图6的(b))。
通过该模拟,在虚拟工件支承部92v上,能够检测虚拟机器人2Bv与虚拟机器人2Cv的冲突、虚拟工件9Bv与虚拟机器人2Bv的冲突、或者虚拟工件9Bv与虚拟工件9Av的冲突。根据这样的模拟结果,能够容易地掌握在使机器人2B停止在工件支承部92上的状态下,从机器人2C对工件9B的运送重启动作是不适当的。由此,能够在使机器人2B以及工件9A退避到工件支承部93上后重启机器人2C的动作等迅速地进行适当的应对。
控制系统3也可以使虚拟空间再现机器人2B以及工件9A退避到工件支承部93上的真实空间的状态,再次执行模拟。例如,控制系统3在使机器人2B以及工件9A退避到工件支承部93上之后,使虚拟机器人2Bv的前端部18v以及虚拟工件9Av位于虚拟工件支承部93v上、虚拟机器人2Cv的前端部18v以及虚拟工件9Bv位于虚拟工件支承部91v上的状态在虚拟空间中再现(参照图7的(a))。
之后,控制系统3在使虚拟机器人2Bv停止的状态下,使虚拟机器人2Cv的动作重启。例如,控制系统3在使虚拟机器人2Bv停止的状态下,使虚拟机器人2Cv重启从虚拟工件支承部91v向虚拟工件支承部92v运送虚拟工件9Bv的动作(参照图7的(b))。通过该模拟,确认能够无特别冲突地从工件支承部91向工件支承部92运送工件9B。
以下,更详细地例示控制系统3的构成。如图1所示,控制系统3具有控制器6和数据管理装置300。控制器6构成为在真实空间中基于动作程序使多个本地设备2动作。真实空间是多个本地设备2实际存在的空间。
控制器6具有多个本地控制器100和上级控制器200(单元控制器)。多个本地控制器100分别基于动作程序来控制多个本地设备2中的任一个的管辖本地设备2。
上级控制器200基于针对工件9的进程、该进程的进展信息、环境信息向多个本地控制器100分别输出动作程序的执行指令。例如,动作程序包含按多个任务而细分化的多个任务程序。
上级控制器200基于针对工件9的进程、该进程的进展信息、环境信息向多个本地控制器100分别输出下一个任务的执行指令。上级控制器200根据多个本地设备2的动作来更新进展信息及环境信息。
例如,上级控制器200与多个本地控制器100进行同步通信。同步通信是指在与一定周期的同步帧同步的同步通信周期中,反复进行与多个本地控制器100的通信。上级控制器200与同步通信的周期同步地反复执行执行指令的输出、进展信息以及环境信息的更新。
多个本地控制器100分别基于下一个任务的任务程序使管辖本地设备2动作。在图示中,控制系统3具有4个本地控制器100A、100B、100C、100D。本地控制器100A是控制运送装置2A的装置控制器,本地控制器100B是控制机器人2B的机器人控制器,本地控制器100C是控制机器人2C的机器人控制器,本地控制器100D是控制移动型机器人2D的机器人控制器。本地控制器100的数量以及各本地控制器100的构成能够根据本地设备2的数量以及种类适当变更。
数据管理装置300具备上述虚拟控制器,与上级控制器200进行同步通信或者非同步通信。数据管理装置300具有上述虚拟控制器,构成为执行以下处理:使虚拟空间再现多个本地设备2的动作中断后的真实空间的状态;以及在使真实空间的状态再现的虚拟空间中,通过虚拟控制器基于动作程序使多个虚拟本地设备的动作重启。
如图8所示,上级控制器200作为功能上的构成(以下,称为“功能块”)具有进程数据库211、订单获取部212、进程分配部213、进程保存部214、环境信息保存部215、指令输出部216、进展更新部217、环境更新部218、以及动作中断部219。
进程数据库211存储生产系统1针对每个作为作业对象的多个种类的工件9的多个进程。各进程包含针对工件9的多个任务各自的识别信息、该多个任务的执行顺序、以及执行该多个任务的每一个的本地设备2的识别信息。
多个任务也可以包含相互不同的本地设备2执行的任务。例如,多个任务也可以包含机器人2B、2C或者移动型机器人2D所执行的多个任务和其他的本地设备2所执行的一个以上的任务。任务是1个本地设备2执行的一组作业单位。
订单获取部212从生产管理控制器4获取工件9的生产订单。生产订单包括要生产的工件9的种类和每个种类的生产数量。生产管理控制器4例如是在工厂的MES(Manufacturing Execution System,制造执行系统)中,将按照生产计划的工件9的生产订单分配给多个工厂单元的控制器,与上级控制器200进行同步通信或者非同步通信。
进程分配部213对生产订单指定的工件9分配进程。例如,进程分配部213基于进程数据库211对生产订单指定的工件9分配进程。在生产订单指定多个工件9的情况下,进程分配部213针对多个工件9的每一个基于进程数据库211分配进程。多个工件9也可以包含相互不同种类的工件9。
进程保存部214存储进程分配部213对进程的分配结果和每个进程的进展信息(真实空间中的进展信息)。图9是例示针对多个工件9的进程的分配结果的表。在该表中,根据从左向右的排列顺序,示出各进程中的多个任务的执行顺序。在图9中,对工件A分配包含三个步骤的任务a1、a2、a3的进程。对工件B分配包含五个步骤的任务b1、b2、b3、b4、b5的进程。对工件C分配包含两个步骤的任务c1、c2的进程。对工件D分配包括三个步骤的任务d1、d2、d3的进程。对工件E分配包括四个步骤的任务e1、e2、e3、e4的进程。
每个进程的进展信息例如是表示进程的各任务是未着手、执行中或已完成的信息。进展信息既可以是表示未着手、执行中或者完成的标志,也可以是开始时刻以及完成时刻。在进展信息为开始时刻和完成时刻的情况下,若开始时刻和完成时刻均未被打刻,则为未着手,若开始时刻被打刻完成时刻未被打刻,则为执行中,若完成时刻被打刻,则为完成。
环境信息保存部215构成为存储表示真实空间的状态的真实环境信息。真实环境信息例如包括与本地设备2相关的信息(以下,称为“设备信息”)、以及与工件9相关的信息(以下,称为“工件信息”)。作为设备信息的具体例,可列举出本地设备2的位置/姿势信息。作为本地设备2的位置/姿势信息的具体例,可举出机器人2B、2C的姿势信息、以及移动型机器人2D的位置/姿势信息等。机器人2B、2C的姿势信息可以是关节31、32、33、34、35、36的动作角度信息,也可以是前端部18的位置/姿势信息。移动型机器人2D的位置/姿势信息例如包含无人运送车50的位置/姿势信息和机器人10的姿势信息。机器人10的姿势信息可以是关节31、32、33、34、35、36的动作角度信息,也可以是前端部18的位置/姿势(以无人运送车50为基准的位置/姿势)信息。
设备信息包含在本地控制器100与该管辖本地设备2之间产生的控制信号(以下,称为“真实控制信号”)的信息。真实控制信号可以是为了控制管辖本地设备2而由本地控制器100生成的内部信号,也可以是从本地控制器100向管辖本地设备2输出的输出信号,还可以是从管辖本地设备2向本地控制器100输出的反馈信号。作为内部信号的具体例,可举出管辖本地设备2的位置/姿势的指令值等。作为输出信号的具体例,可以举出向管辖本地设备2的致动器输出的电流值等。作为反馈信号的具体例,可列举出本地设备2中的位置、姿势、速度等的检测值。
图10是例示设备信息的表。在图10中,本地设备2的识别信息与表示与本地设备2有关的信息的至少一个状态参数建立对应。
作为工件信息的具体例,可举出各工件9的位置信息。图11是例示工件信息的表。在图11中,工件9的识别信息(例如类别以及序列号)与工件9的位置信息建立对应。
返回到图8,指令输出部216基于进程保存部214存储的进程、该进程的进展信息和环境信息保存部215存储的真实环境信息输出下一个任务的执行指令。多个任务中的下一个任务是未着手的任务中的前一个任务不存在、或者前一个任务完成的任务。例如指令输出部216基于进程的进展信息来提取下一个任务,在实际环境信息满足下一个任务的执行条件的情况下,将下一个任务的执行指令输出到多个本地控制器100中的一个。
作为执行条件的具体例,可举出以下。
例1-1)下一个任务的对象的工件9到达能够执行下一个任务的位置。
例1-2)在执行下一个任务的本地设备2的动作范围内不存在障碍物。
作为障碍物的具体例,可以举出其他本地设备2、其他本地设备2保持的工件9、或者人等。
在进程保存部214中,在对多个工件9分别分配了多个进程的情况下,指令输出部216基于多个进程的每一个进程的多个进展信息,按多个进程的每个提取多个下一个任务,根据提取出的下一个任务中的、真实环境信息满足执行条件的任务进行依次输出。另外,指令输出部216可以根据来自上述同步通信中的本地控制器100的请求输出下一个任务的执行指令,也可以不管有无来自本地控制器100的请求而输出执行指令。
进展更新部217根据多个本地设备2的下一个任务的执行状况更新进程保存部214的进展信息。例如进展更新部217基于本地控制器100输出的后述的状态信息,更新进程保存部214的进展信息。
环境更新部218构成为根据多个本地设备2的动作来更新环境信息保存部215的真实环境信息。例如,环境更新部218从多个本地控制器100中的每一个获取本地设备2的状态信息,并且基于状态信息更新设备信息。
环境更新部218也可以在上述同步通信的各周期中,从多个本地控制器100获取多个本地设备2的状态信息,并基于该状态信息来更新设备信息。由此,能够使多个本地设备2的状态信息在相互同步的状态下反映到真实环境信息中。
环境更新部218可以基于本地设备2的状态信息进一步更新工件信息。例如,环境更新部218也可以基于从本地控制器100A获取的运送装置2A的状态信息来更新各工件9的位置信息。另外,在图3的例子中,环境更新部218也可以根据机器人2B完成从工件支承部92向工件支承部93运送工件9A的任务,将工件9A的位置从工件支承部92上更新到工件支承部93上。
环境更新部218还可以基于环境传感器5的检测结果来更新真实环境信息。环境传感器5的检测结果也汇集到上级控制器200的环境信息,由此能够使环境传感器5的检测结果和多个本地设备2的状态信息沿着相同的时间轴反映到环境信息中。例如,环境更新部218既可以基于由环境传感器5检测出的图像信息等来更新工件信息,也可以基于由环境传感器5检测出的图像信息等来更新设备信息。作为一例,环境更新部218也可以基于由环境传感器5检测出的图像信息等来更新工件的位置。
动作中断部219构成为基于多个本地设备的动作程序而中断控制器6。例如,动作中断部219通过控制器6中断多个本地设备2的动作。例如,动作中断部219还构成为在基于环境信息保存部215存储的环境信息检测到多个本地设备2中的某一个的异常的情况下,使多个本地设备2的动作中断。例如,动作中断部219在检测到多个本地设备2中的任一个的异常的情况下,使由指令输出部216输出执行指令中断,进而使多个本地控制器100分别中断执行中的任务。
多个本地设备2中的任一个的异常包括本地设备2自身的异常和由本地设备2的动作带来的周边环境的异常(例如工件9的位置异常)。在图3的例子中,在尽管设备信息表示机器人2B的前端部18到达工件支承部93上、但在工件信息表示工件9A残留在工件支承部92上的情况下,动作中断部219检测异常。在基于本地设备2的状态信息而更新设备信息、基于环境传感器5的检测结果而更新工件信息的情况下能够检测出这样的设备信息与工件信息的分歧。
另外,在图5的例子中,在机器人2B的设备信息中的任一个(例如位置信息、速度信息、转矩信息、电流信息等)表示异常值的情况下,动作中断部219检测异常。作为设备信息表示异常值的情况的具体例,可以举出由于减速器等的故障而转矩信息或电流信息成为过大的值的情况。作为设备信息表示异常值的情况的其他例子,可列举出由于前端部18对工件9的把持失败而前端部18的驱动电流成为过小的值。
如图8所示,本地控制器100具有程序保存部111、控制部112以及状态输出部113作为功能块。程序保存部111存储管辖本地设备2的动作程序。如上所述,动作程序也可以包含按多个任务而细分化的多个任务程序。多个任务程序分别包含时间序列的多个动作指令。在管辖本地设备2是机器人2B、2C或移动型机器人2D的情况下,动作指令包括前端部18的目标位置/目标姿势、以及向目标位置/目标姿势的移动速度等。
控制部112在获取了指令输出部216输出的执行指令的情况下,从程序保存部111提取与该执行指令表示的下一个任务对应的任务程序,并基于提取出的任务程序使本地设备2动作。
状态输出部113将管辖本地设备2的上述状态信息输出到上级控制器200。状态信息至少包含管辖本地设备2的位置/姿势信息。状态信息包含在本地控制器100与该管辖本地设备2之间产生的控制信号(上述真实控制信号)的信息。真实控制信号可以是为了控制管辖本地设备2而由本地控制器100生成的内部信号,也可以是从本地控制器100向管辖本地设备2输出的输出信号,还可以是从管辖本地设备2向本地控制器100输出的反馈信号。
作为内部信号的具体例,可举出管辖本地设备2的位置/姿势的指令值等。作为输出信号的具体例,可以举出向管辖本地设备2的致动器输出的电流值等。作为反馈信号的具体例,可列举出所对应的本地设备2中的位置、姿势、速度等的检测值。反馈信号也可以还包含管辖本地设备2的致动器的位置、速度、驱动力(例如转矩)、以及驱动电流等。
另外,状态信息也可以包含管辖本地设备2的控制中的警报(例如过电流的警报)等的发生状况。状态输出部113也可以根据所述任务程序的执行完成将任务的完成通知包含在状态信息中输出。
状态输出部113既可以根据来自上述同步通信中的上级控制器200的请求而输出状态信息,也可以不管来自上级控制器200的请求的有无而输出状态信息。
如图12所示,数据管理装置300具有模型保存部311和虚拟控制器7。模型保存部311存储与多个本地设备2对应的多个虚拟本地设备2v的模型。虚拟本地设备2v的模型包含对应的本地设备2的真实空间中的配置、构成、各部的尺寸以及各部的质量等参数。模型保存部311还存储虚拟空间中的多个虚拟本地设备2v的周边环境的模型。周边环境的模型包含多个本地设备2的周边物体在真实空间中的配置、三维形状、尺寸等参数。
虚拟控制器7构成为在虚拟空间中使多个虚拟本地设备2v基于动作程序动作。虚拟空间是不存在多个本地设备2的模拟上的假想空间。在虚拟空间中,使多个虚拟本地设备2v动作是指,基于模型保存部311存储的多个虚拟本地设备2v的模型和多个虚拟本地设备2v的周边环境的模型模拟真实空间中的多个本地设备2的动作。
例如虚拟控制器7具有多个虚拟本地控制器400和与上级控制器200对应的虚拟上级控制器500。多个虚拟本地控制器400分别基于动作程序来控制多个虚拟本地设备2v中的任一个的管辖虚拟本地设备2v。
虚拟上级控制器500基于针对虚拟工件9v的进程、该进程的进展信息、以及环境信息向多个虚拟本地控制器400分别输出动作程序的执行指令。例如虚拟上级控制器500基于针对虚拟工件9v的进程、该进程的进展信息、环境信息向多个虚拟本地控制器400分别输出下一个任务的执行指令。虚拟上级控制器500根据多个虚拟本地设备2v的动作来更新进展信息及环境信息。
多个虚拟本地控制器400分别与多个本地控制器100对应。例如虚拟控制器7具有与本地控制器100A对应的虚拟本地控制器400A、与本地控制器100B对应的虚拟本地控制器400B、与本地控制器100C对应的虚拟本地控制器400C、与本地控制器100D对应的虚拟本地控制器400D。
与作为机器人控制器的本地控制器100B、100C、100D分别对应的虚拟本地控制器400B、400C、400D是虚拟机器人控制器。虚拟本地控制器400B、400C所控制的虚拟本地设备是虚拟机器人(例如上述虚拟机器人2Bv、2Cv),虚拟本地控制器400D所控制的虚拟本地设备是虚拟移动型机器人。
多个虚拟本地控制器400分别基于下一个任务的任务程序和模型保存部311存储的管辖虚拟本地设备2v的模型以及周边环境的模型,使管辖虚拟本地设备2v在虚拟空间中动作。
虚拟上级控制器500具有与进程数据库211、订单获取部212、进程分配部213、进程保存部214、环境信息保存部215、指令输出部216、进展更新部217及环境更新部218分别对应的进程数据库511、订单获取部512、进程分配部513、进程保存部514、环境信息保存部515、指令输出部516、进展更新部517及环境更新部518,来作为进一步细分化的功能块。
与进程数据库211同样地,进程数据库511存储生产系统1针对作为对象的多种虚拟工件9v的每个的多个进程。订单获取部512例如从后述的输入设备396等获取模拟用的生产订单。
进程分配部513与进程分配部213同样,对生产订单指定的虚拟工件9v分配进程。例如,进程分配部513基于进程数据库511对生产订单指定的虚拟工件9v分配进程。进程保存部514与进程保存部214同样地,存储基于进程分配部513的进程的分配结果和每个进程的进展信息(虚拟空间中的进展信息)。
环境信息保存部515存储虚拟环境信息。虚拟环境信息的构成与环境信息的构成相同。虚拟环境信息包含虚拟空间中的设备信息和虚拟空间中的工件信息。作为虚拟空间中的设备信息的具体例,可举出虚拟空间中的虚拟本地设备2v的位置/姿势信息。
虚拟空间中的设备信息包含在虚拟本地控制器400与该管辖虚拟本地设备2v之间产生的控制信号(以下,称为“虚拟控制信号”)的信息。虚拟控制信号可以是为了控制管辖虚拟本地设备2v而由虚拟本地控制器400生成的内部信号,也可以是从虚拟本地控制器400向管辖虚拟本地设备2v输出的输出信号,还可以是从管辖虚拟本地设备2v向虚拟本地控制器400输出的反馈信号。作为内部信号的具体例,可列举出管辖虚拟本地设备2v的位置/姿势的指令值等。作为输出信号的具体例,可以举出向管辖虚拟本地设备2v的致动器输出的电流值等。作为反馈信号的具体例,可举出基于输出信号和模型保存部311存储的模型信息的、管辖虚拟本地设备2v的动作的模拟结果。作为虚拟空间中的工件信息的具体例,可举出虚拟空间中的各虚拟工件9v的位置信息。
指令输出部516与指令输出部216同样地,基于进程保存部514存储的进程、虚拟空间中的该进程的进展信息、环境信息保存部515存储的虚拟环境信息,输出下一个任务的执行指令。
指令输出部516基于进程数据库511向多个虚拟本地控制器400中的某一个输出下一个任务的执行指令。例如指令输出部516基于进程的进展信息来提取下一个任务,在虚拟环境信息满足下一个任务的执行条件的情况下,将下一个任务的执行指令输出到多个虚拟本地控制器400中的某一个。例如指令输出部516向进程数据库511中与下一个任务对应的本地设备2的虚拟本地设备2v的虚拟本地控制器400输出下一个任务的执行指令。
进展更新部517与进展更新部217同样地,根据多个虚拟本地设备对下一个任务的执行状况来更新进程保存部514的进展信息。例如进展更新部517基于虚拟本地控制器400输出的后述的状态信息来更新进程保存部514的进展信息。环境更新部518根据多个虚拟本地设备2v的动作更新环境信息保存部515的虚拟环境信息。
虚拟本地控制器400具有与程序保存部111、控制部112及状态输出部113分别对应的程序保存部411、控制部412及状态输出部413作为被细分化的功能块。程序保存部411与程序保存部111同样地存储管辖虚拟本地设备2v的动作程序。
控制部412在获取了指令输出部516输出的执行指令的情况下,从程序保存部411提取与该执行指令表示的下一个任务对应的任务程序,并基于提取出的任务程序使虚拟本地设备2v动作。具体而言,控制部412基于模型保存部311存储的多个虚拟本地设备2v的模型和多个虚拟本地设备2v的周边环境的模型,对真实空间中的与管辖虚拟本地设备2v对应的本地设备2的动作进行模拟。状态输出部413与状态输出部113同样地,将管辖虚拟本地设备2v的上述状态信息输出到虚拟上级控制器500。
如图13中所示,数据管理装置300还包括真实信息收集部312、真实信息数据库313、虚拟信息收集部314、虚拟信息数据库315、中断状态再现部321和重启模拟器322。
真实信息收集部312从环境信息保存部215收集真实环境信息,从进程保存部214收集真实空间中的每个进程的进展信息、即真实进展信息。真实信息数据库313以时间序列存储真实数据集,该真实数据集是将由真实信息收集部312收集的真实环境信息与真实进展信息建立对应而得。
虚拟信息收集部314收集虚拟环境信息,收集虚拟空间中的每个进程的进展信息、即虚拟进展信息。如参照图12所说明的那样,虚拟环境信息被保存在环境信息保存部515中,虚拟进展信息被保存在进程保存部514中。因此,虚拟信息收集部314也可以从环境信息保存部515收集虚拟环境信息,并从进程保存部514收集虚拟进展信息。虚拟信息数据库315按照时间序列存储虚拟数据集,该虚拟数据集是将虚拟信息收集部314收集到的虚拟环境信息和虚拟进展信息建立对应而得。
中断状态再现部321构成为使多个本地设备2的动作中断的真实空间的状态在虚拟空间中再现。例如,中断状态再现部321基于保存在环境信息保存部215中的真实环境信息使真实空间的状态在虚拟空间中再现。例如,中断状态再现部321将由真实信息收集部312从环境信息保存部215收集并存储在真实信息数据库313中的最新的真实环境信息的复制作为最新的虚拟环境信息保存在环境信息保存部515中。中断状态再现部321将由真实信息收集部312从进程保存部214收集并存储在真实信息数据库313中的最新的真实进展信息的复制作为最新的虚拟进展信息保存在进程保存部514中。
如上所述,真实环境信息可以包括设备信息。设备信息是控制器6保持的多个本地设备2的状态信息的一例。因此,在真实环境信息包含设备信息的情况下,中断状态再现部321还可以进一步构成为至少部分地基于控制器6所保持的多个本地设备2的状态信息,使真实空间的状态在虚拟空间中再现。
真实环境信息可以包括至少部分地基于环境传感器5的检测结果而更新的信息。在这种情况下,中断状态再现部321还可以进一步构成为基于环境传感器5的检测结果,使真实空间的状态在虚拟空间中再现。
重启模拟器322构成为在再现了真实空间的状态的虚拟空间中,基于动作程序使多个本地设备2的至少一部分动作重启。例如,重启模拟器322在中断状态再现部321再现了真实空间的状态的虚拟空间中,通过虚拟控制器7基于动作程序使一个以上的虚拟本地设备2v的动作重启。作为动作的重启对象的、一个以上的虚拟本地设备2v包含一个以上的虚拟机器人。例如,重启模拟器322还可以进一步构成为基于动作的中断时刻以后的动作指令,通过虚拟控制器7使多个本地设备2的动作重启。
例如,在最新的真实环境信息的复制作为最新的虚拟环境信息保存在环境信息保存部515中、最新的真实进展信息的复制作为最新的虚拟进展信息保存在进程保存部514中的状态下,重启模拟器322使指令输出部516开始下一个任务的执行指令的输出。以后,环境信息保存部515保存的虚拟环境信息和进程保存部514保存的虚拟进展信息根据一个以上的虚拟本地设备2v的虚拟空间中的动作而被更新。
重启模拟器322还可以构成为针对多个本地设备2的每一个,从控制器6获取中断了动作的多个本地设备2的可否动作信息,在使与不可动作的一个以上的本地设备2对应的一个以上的虚拟本地设备2v停止的状态下,重启与可动作的一个以上的本地设备2对应的一个以上的虚拟本地设备2v的动作(参照图6的(b))。例如,重启模拟器322基于包括最新的真实环境信息的设备信息来获取多个本地设备2中的每一个的可否动作信息。
数据管理装置300也可以还具备重启评价部323和重启动态图像再现部324。重启评价部323构成为基于预先设定的评价条件对重启模拟器322重启的一个以上的虚拟本地设备2v的动作进行评价。例如,重启评价部323构成为在一个以上的虚拟本地设备2v重启动作之后,基于虚拟信息收集部314收集并存储于虚拟信息数据库315的虚拟数据集,对虚拟本地设备2v的动作进行评价。
以下示出评价条件的具体例。
例2-1)任一虚拟本地设备2v均不与其他虚拟本地设备2v冲突:没问题(OK)/一个以上的虚拟本地设备2v与其他虚拟本地设备2v冲突:不可以(NG)
例2-2)任一虚拟本地设备2v均不与周边物体冲突:没问题/一个以上的虚拟本地设备2v与周边物体冲突:不可以
例2-3)任一虚拟本地设备2v均不与虚拟工件9v冲突:没问题/一个以上的虚拟本地设备2v与虚拟工件9v冲突:不可以
例如,在重启模拟器322使与不可动作的一个以上的本地设备2对应的一个以上的虚拟本地设备2v停止的状态下,当重启与可动作的一个以上的本地设备2对应的一个以上的虚拟本地设备2v的动作时,重启评价部323还可以构成为评价与不可动作的一个以上的本地设备2对应的一个以上的虚拟本地设备2v与对应于可动作的一个以上的本地设备2的一个以上的虚拟本地设备2v有无冲突。
重启评价部323也可以基于一个以上的虚拟本地设备2v的动作,针对一个以上的虚拟本地设备2v,计算重启基于动作程序的一个以上的虚拟本地设备2v的动作之后的可动作期间。例如,重启评价部323在一个以上的虚拟本地设备2v的动作中,将基于上述的评价条件的评价结果为没问题的期间计算为可动作期间。
重启动态图像再现部324构成为针对通过一个以上虚拟机器人重启的至少一部分动作的视频进行图像显示。例如,重启动态图像再现部324构成为使重启模拟器重启的一个以上的虚拟本地设备2v的动作的动态图像显示。例如重启动态图像再现部324在重启一个以上的虚拟本地设备2v的动作之后,基于虚拟信息收集部314收集并存储于虚拟信息数据库315的虚拟环境信息、模型保存部311存储的多个虚拟本地设备2v的模型、以及多个虚拟本地设备2v的周边环境的模型,生成虚拟空间中的多个虚拟本地设备2v的CG图像的动画,并使生成的动画显示于后述的显示设备395等。
数据管理装置300还可以具备重启指示获取部325和动作重启部326。重启指示获取部325构成为使包含重启评价部323的评价结果和重启指示输入部的重启指示画面显示于后述的显示设备395等。重启指示获取部325也可以使重启指示画面显示,该重启指示画面还包含重启动态图像再现部324再现的动态图像的显示窗口。
动作重启部326构成为基于一个以上虚拟本地设备2v重启的操作的评价结果(重启评价部323的评价结果),使控制器6重启基于动作程序的一个以上的本地设备2的动作的至少一部分。作为动作的重启对象的一个以上的本地设备2包含一个以上的机器人(例如机器人2B、2C、或者移动型机器人2D)。例如动作重启部326向指令输出部216输出重启指令,该重启指令使由重启评价部323评价为没问题的一个以上的本地设备2的动作的至少一部分重启。相应地,指令输出部216使重启对象的一个以上的本地设备2的本地控制器100重启中断的任务,重启与任务的进展相应的执行指令的输出。
动作重启部326还可以构成为基于重启指示画面中的向重启指示输入部的操作(用户的操作),使控制器6重启基于动作程序的一个以上的本地设备2的动作。如上所述,重启指示画面包含重启评价部323的评价结果的显示和重启指示输入部的显示。因此,用户基于重启评价部323的评价结果的显示,对重启指示输入部进行操作。因此,基于重启指示画面中的向重启指示输入部的操作,使控制器6重启基于动作程序的一个以上的本地设备2的动作被包含在基于重启评价部323的评价结果使基于动作程序的一个以上的本地设备2的动作重启。
使基于动作程序的一个以上的本地设备2的动作的至少一部分重启可以包括:第一模式的重启,基于动作的中断时刻以后的动作指令使一个以上的本地设备2的至少一部分动作;以及第二模式的重启,基于动作的中断时刻之前的动作指令,使一个以上的本地设备2的至少一部分动作。第一模式包括基于动作的中断时刻之前的动作指令和动作的中断时刻以后的动作指令使一个以上的本地设备2的至少一部分动作。
第二模式包括基于动作的中断时刻之前的动作指令使一个以上的本地设备2的至少一部分动作,以返回到该动作指令的开始位置。重启模拟器322也可以针对包含第一模式以及第二模式的多个重启模式的每一个,通过虚拟控制器7基于动作程序使一个以上的虚拟本地设备2v的动作重启。在该情况下,重启评价部323也可以针对多个重启模式的每个来评价一个以上的虚拟本地设备2v的动作。
重启指示获取部325还可以构成为显示重启指示画面,该重启指示画面包含重启评价部323的针对多个重启模式的每一个的评价结果和能够选择多个重启模式中的任一个的重启指示输入部。对重启指示输入部的输入可以包括用于选择多个重启模式中的一个的选择输入。重启指示获取部325还可以构成为显示包含一个以上的本地设备2的每个的可动作期间和能够指定重启时刻的重启指示输入部的重启指示画面。对重启指示输入部的输入可以包括用于指定重启时刻的指定输入。重启指示获取部325也可以显示包含一个以上的本地设备2的每个的可动作期间和能够指定重启的动作的结束时刻的重启指示输入部的重启指示画面。
图14是例示重启指示画面的示意图。图14所示的重启指示画面350具有动态图像窗口351、评价结果窗口352、评价结果窗口353以及重启指示输入部360。
动态图像窗口351是显示由重启动态图像再现部324再现的动态图像的窗口。重启动态图像再现部324使动态图像窗口351再现动态图像。评价结果窗口352是显示重启评价部323的评价结果的窗口。重启指示获取部325将重启评价部323的评价结果以文本等显示在评价结果窗口352中。评价结果窗口353是显示重启动作后的一个以上的本地设备2的每个的可动作期间的窗口。重启指示获取部325基于重启评价部323的评价结果导出可动作期间,并将导出结果以文本等显示在评价结果窗口353中。
重启指示输入部360是指示一个以上的本地设备2的动作的重启的操作输入部。例如,重启指示输入部360具有模式选择部361、重启时刻指定部362、结束时刻指定部363、再现指示按钮364和动作重启指示按钮365。
模式选择部361例如是通过单选按钮等选择重启模式的操作输入部。在图示的例子中,能够选择相当于第一模式的“继续模式”和相当于第二模式的“原点复位模式”。原点复位模式是返回到动作程序中的最初的动作指令的开始位置的模式。
重启时刻指定部362是输入上述继续模式下的动作的重启时刻的操作输入部。例如,重启时刻指定部362是输入相对于中断步骤从什么步骤后重启的操作输入部。这里的“步骤”是指与1个动作指令对应的一个动作。
结束时刻指定部363是输入上述继续模式下的动作的结束时刻的操作输入部。在图示的例子中,能够通过单选按钮等选择到中断任务完成为止、到指定任务完成为止、到全部任务完成为止中的任一个。结束时刻指定部363还包含用于在选择了“到指定任务完成为止”的情况下输入“指定任务”的输入部。
再现指示按钮364是指示一个以上的虚拟本地设备2v的动作的动态图像再现的操作输入部。在操作了再现指示按钮364的情况下,重启动态图像再现部324基于向模式选择部361、重启时刻指定部362以及结束时刻指定部363的输入,使一个以上的虚拟本地设备2v的动作的动态图像显示于动态图像窗口351。例如,重启动态图像再现部324在由模式选择部361选择出的再现模式下,使动态图像窗口351再现从由重启时刻指定部362指定的重启时刻到由结束时刻指定部363指定的结束时刻为止的一个以上的虚拟本地设备2v的动作的动态图像。
动作重启指示按钮365是指示一个以上的本地设备2的动作的重启的操作输入部。动作重启部326根据对动作重启指示按钮365的操作输入,使控制器6重启基于动作程序的一个以上的本地设备2的动作。例如,动作重启部326还可以构成为在由模式选择部361选择出的再现模式下,基于由重启时刻指定部362指定的重启时刻以后、由结束时刻指定部363指定的结束时刻以前的一个以上动作指令,使控制器6重启一个以上的本地设备2的至少一部分的动作。
再模拟指示按钮366是指示重启模拟的再次执行的操作输入部。中断状态再现部321根据对再模拟指示按钮366的操作输入,将真实信息数据库313的最新的真实环境信息的复制作为最新的虚拟环境信息再次保存在环境信息保存部515中。另外,中断状态再现部321将真实信息数据库313的最新的真实进展信息的复制作为最新的虚拟进展信息再次保存在进程保存部514中。然后,重启模拟器322使虚拟控制器7重启基于动作程序的一个以上的虚拟本地设备2v的动作。
数据管理装置300还可以具有模拟条件获取部327。模拟条件获取部327构成为显示能够选择包含第一模式以及第二模式的多个重启模式中的任一个的模拟条件指定画面。例如,模拟条件获取部327构成为显示模拟条件指定画面,该模拟条件指定画面包括用于从具有第一模式和第二模式的多个重启模式中选择重启模式的选择区域。在该情况下,重启模拟器322在选择区域中选择出的重启模式下,通过虚拟控制器7使一个以上的本地设备2的动作重启。模拟条件获取部327也可以显示能够指定动作程序中的模拟开始时刻的模拟条件指定画面。模拟条件获取部327也可以显示能够指定动作程序中的模拟结束时刻的模拟条件指定画面。
图15是例示模拟条件指定画面的示意图。图15所示的模拟条件指定画面370具有模式选择部371、开始时刻指定部372、结束时刻指定部373和模拟指示按钮374。
模式选择部371例如是通过单选按钮等选择重启模式的操作输入部。在图示的例子中,能够选择相当于第一模式的上述“继续模式”和相当于第二模式的上述“原点复位模式”。
开始时刻指定部372是输入上述继续模式下的动作的重启时刻的操作输入部。例如,开始时刻指定部372是输出相对于中断步骤从什么步骤后重启的操作输入部。
结束时刻指定部373是输入上述继续模式下的动作的结束时刻的操作输入部。在图示的例子中,能够通过单选按钮等选择到中断任务完成为止、到指定任务完成为止、到全部任务完成为止中的任一个。结束时刻指定部373还包含用于在选择了“到指定任务完成为止”的情况下输入“指定任务”的输入部。
模拟指示按钮374是指示一个以上的虚拟本地设备2v的动作的重启的操作输入部。重启模拟器322根据对模拟指示按钮374的操作输入,使虚拟控制器7重启基于动作程序的一个以上的虚拟本地设备2v的动作。例如,重启模拟器322构成为在模式选择部371中选择出的再现模式下,基于在开始时刻指定部372中指定的开始时刻以后、在结束时刻指定部373中指定的结束时刻以前的一个以上动作指令,通过虚拟控制器7使一个以上的虚拟本地设备2v的动作重启。
模拟条件获取部327也可以在模拟后操作了上述的再模拟指示按钮366的情况下,再次显示模拟条件指定画面370。
存储在真实信息数据库313中的真实环境数据和存储在虚拟信息数据库315中的虚拟环境数据可以用于判定是否应中断多个本地设备2的动作。例如,动作中断部219还可以构成为响应于基于动作程序而多个本地设备2正在动作的过程中的真实空间的状态与基于动作程序而多个虚拟本地设备2v正在动作的过程中的虚拟空间的状态之间的差异的检测,中断由控制器6进行的多个本地设备2的动作。
例如,数据管理装置300还包括任务比较部316。任务比较部316按每个进程的每个进展对真实信息数据库313存储的真实环境信息与虚拟信息数据库315存储的虚拟环境信息进行比较。针对每个进程的进展进行比较意味着,在上述真实进展信息与上述虚拟进展信息彼此一致的真实数据集和虚拟数据集中,比较真实环境信息与虚拟环境信息。
动作中断部219在基于任务比较部316的比较结果检测出真实空间的状态与虚拟空间的状态的差异的情况下,使控制器6中断多个本地设备2的动作。
如图16所示,环境信息保存部215也可以包含周边信息存储部328。周边信息存储部328构成为存储周边行为信息,该周边行为信息表示控制多个本地设备2以外的其他机械的第二控制器在多个本地设备2的动作中断后如何使其他机械动作。例如周边行为信息可以指示在多个本地设备2的动作中断后第二控制器如何使其他机械动作。在该情况下,重启评价部323还可以构成为基于周边行为信息,对一个以上的虚拟本地设备2v的动作进行评价。
图16示出NC加工装置等加工装置94作为其他机械的一例,作为第二控制器的一例,示出控制加工装置94的装置控制器95。加工装置94具有用于取出放入工件9的门96。例如,在虚拟本地设备2v重启工件9相对于加工装置94的运入或运出的动作的情况下,若门96是否打开是未知的,则无法评价虚拟本地设备2v是否与门96冲突。
以下示出关于加工装置94的周边行为的具体例。
例3-1)在多个本地设备2的动作中断的情况下,完成当前执行中的加工,在打开门96的状态下待机。
例3-2)在多个本地设备2的动作中断的情况下,完成当前执行中的加工,在关闭门96的状态下待机,在重启一个以上的本地设备2的动作后立即打开门96。
例3-3)在多个本地设备2的动作中断的情况下,立即中断加工,如果一个以上的本地设备2的动作重启,则重启加工。
基于周边行为信息,在虚拟本地设备2v重启工件9相对于加工装置94的运入或运出的动作的时刻,确定门96是否打开,能够基于确定结果来评价虚拟本地设备2v的动作。环境更新部218通过同步通信或者非同步通信从装置控制器95获取周边行为信息,并保存到环境信息保存部215。
如图17所示,数据管理装置300作为功能模块还可以具有程序获取部331、程序生成部332以及程序分发部333。
程序获取部331在各本地控制器100中获取通过示教而登记的动作程序,并存储到虚拟本地控制器400的程序保存部411中。
程序生成部332构成为反复进行直到一个以上的虚拟本地设备2v的动作满足规定条件为止,该动作包括:基于程序获取部331获取的动作程序,反复进行通过虚拟控制器7使多个虚拟本地设备2v动作;以及基于多个虚拟本地设备2v的动作中的虚拟环境信息来修正程序保存部411的动作程序。以下,将该规定条件称为“程序成立条件”。
作为程序成立条件的具体例,可以举出任一个虚拟本地设备2v均不与其他虚拟本地设备2v冲突、任一个虚拟本地设备2v均不与周边物体冲突、任一个虚拟本地设备2v均不与虚拟工件9v冲突(或者不干扰)的动作轨迹(路径)等。以下,将基于在程序保存部411中通过该避免干扰的路径规划而生成的动作轨迹(路径)而由程序生成部332修正后的程序称为“已生成程序”。
程序分发部333将程序保存部411的已生成程序输出到对应的本地控制器100,并存储在该本地控制器100的程序保存部111中。例如,程序分发部333经由上级控制器200将已生成程序输出到对应的本地控制器100。该本地控制器100基于已生成程序使管辖本地设备2动作。
图18是例示控制系统3的硬件构成的框图。如图18所示,上级控制器200具有电路290。电路290包括一个或多个处理器291、内存292、存储器293、通信端口294、295以及输入输出端口296。存储器293例如具有非易失性的半导体存储器等能够由计算机读取的存储介质。存储器293存储用于使上级控制器200执行在真实空间中基于动作程序使多个本地设备2动作、以及使多个本地设备2的动作中断的程序。例如,存储器293存储用于使上级控制器200构成上述各功能块的程序。
内存292暂时存储从存储器293的存储介质加载的程序以及处理器291的运算结果。处理器291通过与内存292协作来执行上述程序,从而构成上级控制器200的各功能块。通信端口294根据来自处理器291的指令,经由第一网络线路NW1与本地控制器100之间进行通信。通信端口295根据来自处理器291的指令,经由第二网络线路NW2与数据管理装置300之间进行通信。输入输出端口296按照来自处理器291的指令,与环境传感器5之间进行信息的输入输出。
本地控制器100具有电路190。电路190包括一个或多个处理器191、内存192、存储器193、通信端口194和驱动器电路195。存储器193例如具有非易失性的半导体存储器等能够由计算机读取的存储介质。存储器193存储用于使本地控制器100构成上述各功能块的程序。
内存192暂时存储从存储器193的存储介质加载的程序以及处理器191的运算结果。处理器191通过与内存192协作来执行上述程序,来构成本地控制器100的各功能块。通信端口194根据来自处理器191的指令,经由第一网络线路NW1与上级控制器200之间进行通信。驱动器电路195按照来自处理器191的指令,向本地设备2输出驱动电力。
数据管理装置300具有电路390。电路390包含一个或多个处理器391、内存392、存储器393、通信端口394、显示设备395、输入设备396。存储器393具有例如非易失性半导体存储器等能够由计算机读取的存储介质。存储器393存储有用于使数据管理装置300执行以下处理的程序:使虚拟空间再现多个本地设备2的动作中断后的真实空间的状态;以及在使真实空间的状态再现的虚拟空间中,通过虚拟控制器基于动作程序使多个虚拟本地设备的动作重启。例如,存储器393存储有用于使数据管理装置300构成上述各功能块的程序。
内存392暂时存储从存储器393的存储介质加载的程序以及处理器391的运算结果。处理器391通过与内存392协作来执行上述程序,从而构成数据管理装置300的各功能块。通信端口394根据来自处理器391的指令,经由第二网络线路NW2与上级控制器200之间进行通信。显示设备395和输入设备396用作数据管理装置300的用户界面。显示设备395例如包括液晶监视器等,用于对用户的信息显示。输入设备396例如是键盘等,获取用户的输入信息。显示设备395以及输入设备396也可以如所谓的触摸面板那样一体化。显示设备395及输入设备396可以设置于与数据管理装置300连接的外部设备,也可以组装于数据管理装置300。
此外,电路190、290、390不一定限于通过程序来构成各功能的电路。例如,电路190、290、390也可以通过专用的逻辑电路或者集成了该逻辑电路的ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)来构成至少一部分的功能。本地控制器100、上级控制器200以及数据管理装置300分别可以由能够相互通信的多个计算机构成,各计算机也可以具有电路。例如,数据管理装置300也可以由包含数据收集装置和模拟装置的多个计算机构成。在该情况下,上述数据管理装置300的各功能块也可以分散在多个计算机中而构成。作为一例,虚拟本地控制器400、虚拟上级控制器500、模型保存部311、程序获取部331、程序生成部332、程序分发部333、中断状态再现部321、重启模拟器322、重启评价部323、重启动态图像再现部324、重启指示获取部325、动作重启部326以及模拟条件获取部327构成为模拟装置,真实信息收集部312、真实信息数据库313、虚拟信息收集部314、虚拟信息数据库315以及任务比较部316也可以构成为数据收集装置。数据收集装置也可以进一步进行各本地控制器100的任务程序以及控制参数的收集、存储和向各本地控制器100的任务程序的分发。在该情况下,程序获取部331也可以经由数据收集装置从本地控制器100获取任务程序。程序分发部333也可以将经由数据收集装置向本地控制器100输出已生成的程序。另外,也可以通过将作为模拟装置的功能汇总为一组的程序,在一台计算机中构成模拟装置,通过将作为数据收集装置的功能汇总为一组的程序,在相同的一台计算机中构成数据收集装置。
[控制步骤]
作为控制方法的一例,表示控制系统3进行的控制步骤。该步骤包括:在真实空间中基于动作程序使一个以上的机器人动作;使一个以上的机器人的动作中断;使虚拟空间再现一个以上的机器人的动作中断后的真实空间的状态;在再现了真实空间的状态的虚拟空间中,通过虚拟控制器基于动作程序使一个以上的虚拟机器人的动作重启。
以下,示出控制步骤的具体例。该具体例涉及的控制步骤包括数据管理装置300的程序生成步骤、上级控制器200的控制步骤、本地控制器100的控制步骤、数据管理装置300的数据管理步骤、以及上级控制器200的动作的重启步骤。以下,详细例示各步骤。
(程序生成步骤)
如图19所示,数据管理装置300首先执行步骤S01、S02、S03。在步骤S01中,程序获取部331在各本地控制器100中获取通过示教而登记的动作程序,并存储到虚拟本地控制器400的程序保存部411中。
在步骤S02中,程序生成部332基于程序获取部331获取的动作程序,通过虚拟控制器7使多个虚拟本地设备2v动作。在虚拟本地设备2v的动作期间中,虚拟信息收集部314将上述虚拟数据集存储于虚拟信息数据库315。
在步骤S03中,程序生成部332基于在虚拟信息数据库315中存储的虚拟数据集,确认多个虚拟本地设备2v的动作是否满足上述程序成立条件。
在步骤S03中,在判定为多个虚拟本地设备2v的动作不满足上述程序成立条件的情况下,数据管理装置300执行步骤S04。在步骤S04中,程序生成部332基于存储在虚拟信息数据库315中的虚拟数据集(多个虚拟本地设备2v的动作中的虚拟环境信息)来修正程序保存部411的动作程序。然后,数据管理装置300使处理返回到步骤S01。以后,反复进行以下处理,直到多个虚拟本地设备2v的动作满足上述程序成立条件为止:通过虚拟控制器7使多个虚拟本地设备2v动作;确认多个虚拟本地设备2v的动作是否满足程序成立条件;以及基于多个虚拟本地设备2v的动作中的虚拟环境信息来修正程序保存部411的动作程序。
在步骤S03中,在判定为多个虚拟本地设备2v的动作满足上述程序成立条件的情况下,数据管理装置300执行步骤S05。在步骤S05中,程序分发部333将程序保存部411的已生成程序输出到对应的本地控制器100,并存储在该本地控制器100的程序保存部111中。以上,程序生成步骤完成。
(上级控制器的控制步骤)
如图20所示,上级控制器200首先执行步骤S11、S12、S13、S14、S15、S16。在步骤S11中,订单获取部212等待获取来自生产管理控制器4的生产订单。在步骤S12中,进程分配部213对生产订单指定的工件9分配进程并存储到进程保存部214。在步骤S13中,指令输出部216基于进程保存部214存储的进程、该进程的进展信息、环境信息保存部215存储的真实环境信息,输出下一个任务的执行指令。
在步骤S14中,环境更新部218从多个本地控制器100中的每一个获取本地设备2的状态信息,并且获取环境传感器5的检测结果,基于该状态信息和检测结果来更新环境信息。在步骤S15中,进展更新部217根据在步骤S14中获取的状态信息所包含的任务的完成通知,来更新进程保存部214的进展信息。在状态信息不包含任务的完成通知的情况下,不改变进展信息。在步骤S16中,动作中断部219确认多个本地设备2中的某一个是否存在异常。关于异常的确认步骤,另行例示。
在步骤S16中判定为多个本地设备2都没有异常的情况下,上级控制器200执行步骤S17。在步骤S17中,指令输出部216确认在进程保存部214中分配给工件9的进程是否完成。例如,指令输出部216确认进程保存部214中的所有任务是否已完成。
在步骤S17中判定为残留有未完成的任务的情况下,上级控制器200使处理返回到步骤S13。之后,上级控制器200例如在预定周期的同步通信周期中重复步骤S13~S17,直到进程保存部214中的所有任务完成为止。
在步骤S17中判定为全部任务已完成的情况下,上级控制器200使处理返回到步骤S11。以后,只要多个本地设备2中的任一个不发生异常,则上级控制器200反复执行以上的处理。
在步骤S16中判定为多个本地设备2中的任一个存在异常的情况下,上级控制器200执行步骤S21、S22、S23。在步骤S21中,动作中断部219使多个本地设备2的动作中断。例如动作中断部219使指令输出部216的执行指令的输出中断,使多个本地控制器100分别中断执行中的任务。
在步骤S22中,环境更新部218从多个本地控制器100中的每一个获取本地设备2的状态信息,并且获取环境传感器5的检测结果,并且基于该状态信息和检测结果来更新环境信息。在步骤S23中,指令输出部216确认动作的重启指令是否从动作重启部326输出。
在步骤S23中判定为没有从动作重启部326输出动作的重启指令的情况下,本地控制器100使处理返回到步骤S22。以后,在从动作重启部326输出动作的重启指令之前,反复进行环境信息保存部215的环境信息的更新。由此,与动作中断中的用户的操作相应的真实空间的状态变化持续地反映到环境信息中。在步骤S23中判定为从动作重启部326输出了动作的重启指令的情况下,动作的重启前的进展管理步骤完成。
图21是例示步骤S16中的异常确认步骤的流程图。如图21所示,上级控制器200首先执行步骤S31。在步骤S31中,动作中断部219基于环境信息保存部215存储的环境信息,确认多个本地设备2中的某一个是否存在异常。
在步骤S31中判定为多个本地设备2都没有异常的情况下,上级控制器200执行步骤S32。在步骤S32中,动作中断部219基于上述任务比较部316的比较结果,确认真实空间的状态与虚拟空间的状态之间是否存在差异。
在步骤S31中判定为多个本地设备2中的某一个存在异常的情况下,以及在步骤S32中判定为真实空间的状态与虚拟空间的状态之间存在差异的情况下,上级控制器200执行步骤S33。在步骤S33中,动作中断部219检测多个本地设备2中的某一个的异常。
在步骤S32中判定为真实空间的状态与虚拟空间的状态之间没有差异的情况下,动作中断部219不检测异常而完成异常确认。
(本地控制器100的控制步骤)
如图22所示,本地控制器100首先执行步骤S41、S42、S43、S44。在步骤S41中,控制部112等待下一个任务的执行指令。在步骤S42中,控制部112使管辖本地设备2执行下一个任务中的一个控制周期的量。在步骤S43中,状态输出部113将管辖本地设备2的状态信息输出到上级控制器200。在步骤S44中,控制部112确认下一个任务的执行是否完成。
在步骤S44中判定为下一个任务的执行未完成的情况下,本地控制器100使处理返回到步骤S42。以后,本地控制器100在规定周期的控制循环中重复步骤S42~S44,直到下一个任务的执行完成为止。控制循环也可以与上述同步通信循环同步。
在步骤S44中判定为下一个任务的执行完成的情况下,本地控制器100执行步骤S45。在步骤S45中,状态输出部113将下一个任务的完成通知包含在状态信息中并输出到上级控制器200。然后,本地控制器100使处理返回到步骤S41。本地控制器100反复进行以上的处理。
(数据管理步骤)
数据管理装置300执行的数据管理步骤包括虚拟环境信息的收集步骤、真实环境信息的收集步骤、以及重启模拟步骤。以下,详细例示各步骤。
(虚拟环境信息的收集步骤)
如图23所示,数据管理装置300依次执行S51、S52、S53。在步骤S51中,虚拟信息收集部314等待虚拟上级控制器500开始执行与生产订单相应的进程。
在步骤S52中,虚拟信息收集部314从环境信息保存部515获取虚拟环境信息,从进程保存部514获取虚拟空间中的每个进程的进展信息即虚拟进展信息,并使将它们建立对应的虚拟数据集存储在虚拟信息数据库315中。在步骤S53中,虚拟信息收集部314确认虚拟上级控制器500对进程的执行是否完成。
在步骤S53中判定为虚拟上级控制器500对进程的执行未完成的情况下,数据管理装置300使处理返回到步骤S52。以后,数据管理装置300反复进行虚拟数据集的获取、存储,直到虚拟上级控制器500对进程的执行完成为止。在步骤S53中判定为虚拟上级控制器500对进程的执行已完成的情况下,虚拟环境信息的收集步骤完成。
(真实环境信息的收集步骤)
如图24所示,数据管理装置300首先执行步骤S61、S62、S63。在步骤S61中,真实信息收集部312等待上级控制器200开始执行与生产订单相应的进程。在步骤S62中,真实信息收集部312从环境信息保存部215获取真实环境信息,从进程保存部214获取真实进展信息,并且使将它们建立对应的真实数据集存储在真实信息数据库313中。在步骤S63中,真实信息收集部312确认动作中断部219是否没有中断多个本地设备2的动作。
在步骤S63中判定为动作中断部219未中断多个本地设备2的动作的情况下,数据管理装置300执行步骤S64。在步骤S64中,真实信息收集部312确认上级控制器200对进程的执行是否完成。
在步骤S64中判定为上级控制器200对进程的执行未完成的情况下,数据管理装置300使处理返回到步骤S62。之后,数据管理装置300反复进行真实数据集的获取、存储,直到上级控制器200对进程的执行完成为止。在步骤S64中判定为上级控制器200对进程的执行已完成的情况下,真实环境信息的收集步骤完成。
在步骤S63中判定为动作中断部219使多个本地设备2的动作中断的情况下,数据管理装置300执行后述的重启模拟步骤(步骤S65)。
(重启模拟步骤)
如图25所示,数据管理装置300首先执行步骤S71、S72、S73。在步骤S71中,模拟条件获取部327使上述的模拟条件指定画面370显示。
在步骤S72中,中断状态再现部321将由真实信息收集部312从环境信息保存部215收集并存储在真实信息数据库313中的最新的真实环境信息的复制作为最新的虚拟环境信息保存在环境信息保存部515中。另外,中断状态再现部321将由真实信息收集部312从进程保存部214收集并存储在真实信息数据库313中的最新的真实进展信息的复制作为最新的虚拟进展信息保存在进程保存部514中。
在步骤S73中,重启模拟器322确认是否通过模拟指示按钮374的操作输入了模拟指令。
在步骤S73中判定为没有输入模拟指令的情况下,数据管理装置300使处理返回到步骤S72。以后,反复进行使真实空间的状态在虚拟空间中再现,直到输入模拟指令为止。由此,虚拟空间的状态持续地与真实空间的最新状态一致。
在步骤S73中判定为输入了模拟指令的情况下,数据管理装置300执行步骤S74、S75、S76、S77、S78。在步骤S74中,重启模拟器322根据对模拟指示按钮374的操作输入,使虚拟控制器7重启基于动作程序的一个以上的虚拟本地设备2v的动作。在步骤S75中,重启评价部323等待一个以上的虚拟本地设备2v的动作完成。
在步骤S76中,在一个以上的虚拟本地设备2v重启动作之后,基于虚拟信息收集部314收集并存储于虚拟信息数据库315的虚拟数据集,重启评价部323评价虚拟本地设备2v的动作。在步骤S77中,重启指示获取部325基于重启评价部323的评价结果,显示重启指示画面350。在步骤S78中,动作重启部326确认是否操作了动作重启指示按钮365。
在步骤S78中判定为未操作动作重启指示按钮365的情况下,数据管理装置300执行步骤S81。在步骤S81中,重启模拟器322确认是否操作了再模拟指示按钮366。
在步骤S81中判定为未操作再模拟指示按钮366的情况下,数据管理装置300执行步骤S82。在步骤S82中,重启动态图像再现部324确认再现指示按钮364是否被操作。
在步骤S82中判定为再现指示按钮364未被操作的情况下,数据管理装置300使处理返回到步骤S78。之后,数据管理装置300等待动作重启指示按钮365、再模拟指示按钮366、以及再现指示按钮364中的任一个被操作。
在步骤S82中判定为操作了再现指示按钮364的情况下,数据管理装置300执行步骤S83。在步骤S83中,重启动态图像再现部324根据向模式选择部361、重启时刻指定部362以及结束时刻指定部363的输入,使一个以上的虚拟本地设备2v的动作的动态图像显示于动态图像窗口351。
在步骤S81中判定为再模拟指示按钮366被操作了的情况下,数据管理装置300使处理返回到步骤S71。由此,再次显示模拟条件指定画面370。
在步骤S78中判定为动作重启指示按钮365被操作了的情况下,数据管理装置300执行步骤S84。在步骤S84中,动作重启部326在由模式选择部361选择出的再现模式下,基于由重启时刻指定部362指定的重启时刻以后、由结束时刻指定部363指定的结束时刻以前的动作指令,输出一个以上的本地设备2的至少一部分的动作的重启指令。以上,重启模拟步骤结束。
(上级控制器的动作的重启步骤)
如图26所示,上级控制器200依次执行步骤S91、S92、S93、S94、S95、S96。在步骤S91中,指令输出部216等待动作的重启指令。在步骤S92中,指令输出部216向重启对象的一个以上的本地设备2的本地控制器100输出中断的任务的重启指令。获取了中断的任务的重启指令的本地控制器100使管辖本地设备2重启中断的任务。
在步骤S93中,基于进程保存部214所存储的进程、该进程的进展信息、以及环境信息保存部215所存储的真实环境信息,指令输出部216输出下一个任务的执行指令。在步骤S94中,环境更新部218从多个本地控制器100中的每一个获取本地设备2的状态信息,并且获取环境传感器5的检测结果,并且基于状态信息和检测结果来更新环境信息。
在步骤S95中,进展更新部217根据在步骤S14中获取的状态信息所包含的任务的完成通知,更新进程保存部214的进展信息。在状态信息不包含任务的完成通知的情况下,进展信息不变更。在步骤S96中,指令输出部216确认到由重启指令指定的结束时刻为止的动作是否完成。
在步骤S96中判定为到结束时刻为止的动作未完成的情况下,上级控制器200使处理返回到步骤S93。以后,继续进行重启动作的一个以上的本地设备2的动作,直至到达上述结束时刻为止。在步骤S96中判定为到结束时刻为止的动作完成了的情况下,动作的重启步骤完成。
[本实施方式的效果]
如以上说明的那样,控制系统3具备:控制器6,在真实空间中使一个以上的机器人2B、2C基于动作程序动作;虚拟控制器7,在虚拟空间中,基于动作程序使与一个以上的机器人分别对应的一个以上的虚拟机器人动作;动作中断部219,使基于控制器6的一个以上的机器人2B、2C的动作中断;中断状态再现部321,使一个以上的机器人2B、2C的动作中断后的真实空间的状态在虚拟空间中再现;以及重启模拟器322,在中断状态再现部321使真实空间的状态再现的虚拟空间中,通过虚拟控制器7基于动作程序使一个以上的虚拟机器人2Bv、2Cv的动作重启。
在一个以上的机器人的动作中断后,在一个以上的机器人处于能够动作的状态的情况下,优选在没有动作中断的必要性的时刻立即重启一个以上的机器人的动作,将系统的停机时间限制在最小限度。然而,在一个以上的机器人的动作中断时,有可能在一个以上的机器人的周边环境产生设想外的变化。
对此,根据本控制系统3,在使一个以上的机器人2B、2C的动作中断的真实空间的状态在虚拟空间中再现了之后,在该虚拟空间中重启一个以上的虚拟机器人2Bv、2Cv的动作,由此能够容易地进行在真实空间中重启一个以上的机器人2B、2C的动作的情况下的模拟。由此,能够在实际的动作重启之前迅速地掌握在使一个以上的机器人2B、2C的动作重启的情况下产生的事件。因此,对于系统停止时的迅速应对是有效的。
控制系统3还可以具备:环境信息保存部215,保存表示真实空间的状态的真实环境信息;以及环境更新部218,根据一个以上的机器人2B、2C的动作来更新保存在环境信息保存部215中的真实环境信息,中断状态再现部321也可以基于保存在环境信息保存部215中的真实环境信息,使真实空间的状态在虚拟空间中再现。在该情况下,通过在一个以上的机器人2B、2C的动作中,实时地更新环境信息保存部215的真实环境信息,能够使一个以上的机器人2B、2C的动作中断的真实空间的状态迅速地在虚拟空间中再现。
控制系统3也可以还具备重启评价部323,其基于预先确定的评价条件,对重启模拟器322重启的一个以上的虚拟机器人2Bv、2Cv的动作进行评价。在该情况下,通过基于评价结果,能够更准确地使用户掌握在使一个以上的机器人2B、2C的动作重启的情况下产生的事件。因此,对于系统停止时的迅速应对更有效。
控制系统3也可以还具备重启动态图像再现部324,其使重启模拟器322重启的一个以上的虚拟机器人2Bv、2Cv的动作的动态图像显示。在该情况下,通过一个以上的虚拟机器人2Bv、2Cv的动作的动态图像显示,能够更准确地使用户掌握在使一个以上的机器人2B、2C的动作重启的情况下产生的事件。因此,对于系统停止时的迅速应对更有效。
一个以上的机器人2B、2C包括多个机器人2B、2C,一个以上的虚拟机器人2Bv、2Cv包括分别与多个机器人2B、2C对应的多个虚拟机器人2Bv、2Cv,动作中断部219在检测到多个机器人2B、2C中的任一个的异常的情况下使多个机器人2B、2C的动作中断,重启模拟器322针对多个机器人2B、2C的每一个从控制器6获取中断了动作的多个机器人2B、2C的可否动作信息,在使与不可动作的一个以上的机器人2B、2C对应的一个以上的虚拟机器人2Bv、2Cv停止的状态下,使与可动作的一个以上的机器人2B、2C对应的一个以上的虚拟机器人2Bv、2Cv的动作重启,重启评价部323也可以评价与不可动作的一个以上的机器人2B、2C对应的一个以上的虚拟机器人2Bv、2Cv和与可动作的一个以上的机器人2B、2C对应的一个以上的虚拟机器人2Bv、2Cv有无冲突。在该情况下,也能够进行基于也可能存在不使动作重启的机器人2B、2C的情况的灵活的模拟。因此,对于系统停止时的迅速应对更有效。
控制系统3也可以还具备动作重启部326,其基于重启评价部323的评价结果使控制器6重启基于动作程序的一个以上的机器人2B、2C的动作的至少一部分。在该情况下,通过基于重启评价部323的评价结果,能够适当地重启一个以上的机器人2B、2C的动作。
控制系统3也可以还具备重启指示获取部325,其显示包含重启评价部323的评价结果和重启指示输入部360的重启指示画面350,动作重启部326基于重启指示画面350中的向重启指示输入部360的操作,使控制器6重启基于动作程序的一个以上的机器人2B、2C的动作。在该情况下,通过基于重启评价部323的评价结果和基于该评价结果的用户判断,能够更适当地重启一个以上的机器人2B、2C的动作。
动作程序包含时间序列的多个动作指令,使基于动作程序的一个以上的机器人2B、2C的动作的至少一部分重启包括:第一模式的重启,基于动作的中断时刻以后的动作指令使一个以上的机器人2B、2C的至少一部分动作;以及第二模式的重启,基于动作的中断时刻之前的动作指令使一个以上的机器人2B、2C的至少一部分动作,重启模拟器322按照包含第一模式和第二模式的多个重启模式的每一个,通过虚拟控制器7基于动作程序使一个以上的虚拟机器人2Bv、2Cv的动作重启,重启评价部323按照多个重启模式的每一个评价一个以上的虚拟机器人2Bv、2Cv的动作,重启指示获取部325使重启指示画面350显示,该重启指示画面340包含重启评价部323针对多个重启模式的每一个的评价结果和能够选择多个重启模式中的任一个的重启指示输入部360,动作重启部326在重启指示输入部360中选择出的重启模式下,使控制器6重启基于动作程序的一个以上的机器人2B、2C的动作。在该情况下,能够基于针对多个重启模式的每一个的模拟结果,促使多个重启模式中的任一个的适当的选择。因此,能够更适当地重启一个以上的机器人2B、2C的动作。
动作程序包含时间序列的多个动作指令,使基于动作程序的一个以上的机器人2B、2C的动作的至少一部分重启包括:第一模式的重启,基于动作的中断时刻以后的动作指令使一个以上的机器人2B、2C的至少一部分动作;以及第二模式的重启,基于动作的中断时刻之前的动作指令使一个以上的机器人2B、2C的至少一部分动作,控制系统3还具备模拟条件获取部327,其使能够选择包含第一模式以及第二模式的多个重启模式中的任一个的模拟条件指定画面370显示,重启模拟器322在模拟条件指定画面370中选择出的重启模式下,通过虚拟控制器7使一个以上的虚拟机器人2Bv、2Cv的动作重启。在该情况下,也能够基于每个重启模式的模拟结果,促使多个重启模式中的任一个的适当的选择。另外,在用户进行模式选择之后,通过进行所选择的重启模式的模拟,能够更迅速地提示模拟结果。
动作程序包含时间序列的多个动作指令,重启模拟器322也可以基于动作的中断时刻以后的动作指令,通过虚拟控制器7重启一个以上的虚拟机器人2Bv、2Cv的动作。在该情况下,能够容易地执行模拟。
控制系统3还具备模拟条件获取部327,其使能够指定动作程序中的模拟开始时刻的模拟条件指定画面370显示,重启模拟器322也可以基于指定的模拟开始时刻以后的动作指令,通过虚拟控制器7使一个以上的虚拟机器人2Bv、2Cv的动作重启。在该情况下,即使在用户希望进行动作重启时刻的调节的情况下,也能够进行对应的灵活的模拟。
控制系统3还具备模拟条件获取部327,其使能够指定动作程序中的模拟结束时刻的模拟条件指定画面370显示,重启模拟器322也可以基于指定的模拟结束时刻以前的动作指令,通过虚拟控制器7使一个以上的虚拟机器人2Bv、2Cv的动作重启。在该情况下,即使在用户希望重启后的动作结束时刻的调节的情况下,也能够进行对应的灵活的模拟。
重启评价部323也可以基于一个以上的虚拟机器人2Bv、2Cv的动作,针对一个以上的机器人2B、2C的每一个计算重启基于动作程序的一个以上的机器人2B、2C的动作之后的可动作期间,重启指示获取部325可以使包含一个以上的机器人2B、2C的每一个的可动作期间和能够指定重启时刻的重启指示输入部360的重启指示画面显示,动作重启部326可以基于指定的重启时刻以后的动作指令,通过控制器6使一个以上的机器人2B、2C的动作的至少一部分重启。在该情况下,通过提示可动作期间和能够指定重启时刻的重启指示输入部,能够促进重启时刻的适当的输入。
重启评价部323也可以基于一个以上的虚拟机器人2Bv、2Cv的动作,针对一个以上的机器人2B、2C的每一个计算重启基于动作程序的一个以上的机器人2B、2C的动作之后的可动作期间,重启指示获取部325可以使包含一个以上的机器人2B、2C的每一个的可动作期间和能够指定结束时刻的重启指示输入部360的重启指示画面350显示,动作重启部326可以基于指定的结束时刻以前的动作指令,通过控制器6使一个以上的机器人2B、2C的动作的至少一部分重启。在该情况下,通过提示可动作期间和能够指定结束时刻的重启指示输入部360,能够促进结束点的适当的输入。
控制系统3还具备周边信息存储部328,其存储周边行为信息,该周边行为信息表示控制一个以上的机器人2B、2C以外的其他机械的第二控制器在一个以上的机器人2B、2C的动作中断后使其他机械如何动作,重启评价部323还可以基于周边行为信息对一个以上的虚拟机器人2Bv、2Cv的动作进行评价。在该情况下,也能够进行基于其他机械的动作的更适当的模拟。
控制系统3还具备检测真实空间的状态的环境传感器5,中断状态再现部321也可以基于环境传感器5的检测结果,使一个以上的机器人2B、2C的动作中断后的真实空间的状态在虚拟空间中再现。在该情况下,通过以更高的精度将真实空间在虚拟空间中再现,能够进行更适当的模拟。
中断状态再现部321也可以基于控制器6保持的一个以上的机器人2B、2C的状态信息,使一个以上的机器人2B、2C的动作中断后的真实空间的状态在虚拟空间中再现。在该情况下,通过以更高的精度将真实空间在虚拟空间中再现,能够进行更适当的模拟。
动作中断部219也可以在基于动作程序而使一个以上的机器人2B、2C正在动作的过程中的真实空间的状态与基于动作程序而使一个以上的虚拟机器人2Bv、2Cv正在动作的过程中的虚拟空间的状态之间产生了差异的情况下,使控制器6对一个以上的机器人2B、2C的动作中断。在该情况下,通过真实空间的真实环境信息与虚拟空间的虚拟环境信息的比较,能够对于真实空间中的异常发生使一个以上的机器人2B、2C的动作迅速地中断。
控制系统3也可以还具备程序生成部332,其反复进行以下处理:通过虚拟控制器7基于动作程序使一个以上的虚拟机器人2Bv、2Cv进行动作;和基于一个以上的虚拟机器人2Bv、2Cv的动作中的虚拟空间的状态来修正动作程序,控制器6基于由程序生成部332修正后的动作程序使一个以上的机器人2B、2C动作。在该情况下,也能够将基于虚拟机器人2Bv、2Cv以及虚拟控制器7的模拟有效地应用于动作程序的修正。
以上,对实施方式进行了说明,但本公开不一定限定于上述的实施方式,在不脱离其主旨的范围内能够进行各种变更。
Claims (21)
1.一种控制系统,具备:
控制器,在真实空间中使一个以上的机器人基于动作程序动作;
虚拟控制器,在虚拟空间中基于所述动作程序使与所述一个以上的机器人分别对应的一个以上的虚拟机器人动作;
动作中断部,使基于所述控制器的所述一个以上的机器人的动作中断;
中断状态再现部,使所述一个以上的机器人的动作中断后的所述真实空间的状态在所述虚拟空间中再现;以及
重启模拟器,在所述中断状态再现部使所述真实空间的状态再现的所述虚拟空间中,通过所述虚拟控制器基于所述动作程序使所述一个以上的虚拟机器人的动作重启。
2.根据权利要求1所述的控制系统,其中,
还具备:
环境信息保存部,保存表示真实空间的状态的真实环境信息;以及
环境更新部,根据所述一个以上的机器人的动作来更新保存在所述环境信息保存部中的真实环境信息,
所述中断状态再现部基于保存在所述环境信息保存部中的真实环境信息,使所述真实空间的状态在所述虚拟空间中再现。
3.根据权利要求1或2所述的控制系统,其中,
还具备重启评价部,其基于预先确定的评价条件对所述重启模拟器重启的所述一个以上的虚拟机器人的动作进行评价。
4.根据权利要求3所述的控制系统,其中,
还具备重启动态图像再现部,其使所述重启模拟器重启的所述一个以上的虚拟机器人的动作的图像显示。
5.根据权利要求3所述的控制系统,其中,
所述一个以上的机器人包含多个机器人,
所述一个以上的虚拟机器人包含分别与所述多个机器人对应的多个虚拟机器人,
所述动作中断部在检测到所述多个机器人中的任一个的异常的情况下使所述多个机器人的动作中断,
所述重启模拟器还构成为从所述控制器获取中断了动作的所述多个机器人的可否动作信息,在使与多个机器人中的一个以上不可动作的机器人对应的多个虚拟机器人中的一个以上不可动作的虚拟机器人停止的状态下,使与多个机器人中的一个以上可动作的机器人对应的多个虚拟机器人中的一个以上可动作的虚拟机器人重启,
所述重启评价部评价和所述不可动作的一个以上的机器人对应的一个以上的虚拟机器人与和所述可动作的一个以上的机器人对应的一个以上的虚拟机器人有无冲突。
6.根据权利要求3所述的控制系统,其中,
还具备动作重启部,其基于所述重启评价部的评价结果,使所述控制器重启基于所述动作程序的所述一个以上的机器人的动作的至少一部分。
7.根据权利要求6所述的控制系统,其中,
还具备重启指示获取部,其使重启指示画面显示,所述重启指示画面包含所述重启评价部的评价结果和重启指示输入部,
所述动作重启部基于所述重启指示画面中的对所述重启指示输入部的操作,使所述控制器重启基于所述动作程序的所述一个以上的机器人的动作。
8.根据权利要求7所述的控制系统,其中,
所述动作程序包含时间序列的多个动作指令,
重启基于所述动作程序的所述一个以上的机器人的动作的至少一部分包括:
第一模式的重启,基于动作的中断时刻以后的动作指令使所述一个以上的机器人的至少一部分动作;以及
第二模式的重启,基于动作的中断时刻之前的动作指令使所述一个以上的机器人的至少一部分动作,
所述重启模拟器按照包含所述第一模式和所述第二模式的多个重启模式的每一个,通过所述虚拟控制器基于所述动作程序使所述一个以上的虚拟机器人的动作重启,
所述重启评价部针对所述多个重启模式的每一个评价所述一个以上的虚拟机器人的动作,
所述重启指示获取部使所述重启指示画面显示,所述重启指示画面包含所述重启评价部针对所述多个重启模式的每一个的评价结果和能够选择所述多个重启模式中的任一个的所述重启指示输入部,
所述动作重启部在所述重启指示输入部中选择出的重启模式下,使所述控制器重启基于所述动作程序的所述一个以上的机器人的动作。
9.根据权利要求3所述的控制系统,其中,
所述动作程序包含时间序列的多个动作指令,
重启基于所述动作程序的所述一个以上的机器人的动作的至少一部分包括:
第一模式的重启,基于动作的中断时刻以后的动作指令使所述一个以上的机器人的至少一部分动作;以及
第二模式的重启,基于动作的中断时刻之前的动作指令使所述一个以上的机器人的至少一部分动作的,
所述控制系统还具备模拟条件获取部,其使能够选择包含所述第一模式和所述第二模式的多个重启模式中的任一个的模拟条件指定画面显示,
所述重启模拟器在所述模拟条件指定画面中选择出的重启模式下,通过所述虚拟控制器使所述一个以上的虚拟机器人的动作重启。
10.根据权利要求7所述的控制系统,其中,
所述动作程序包含时间序列的多个动作指令,
所述重启模拟器基于动作的中断时刻以后的动作指令,通过所述虚拟控制器重启所述一个以上的虚拟机器人的动作。
11.根据权利要求10所述的控制系统,其中,
还具备模拟条件获取部,其使能够指定所述动作程序中的模拟开始时刻的模拟条件指定画面显示,
所述重启模拟器基于指定的所述模拟开始时刻以后的动作指令,通过所述虚拟控制器使所述一个以上的虚拟机器人的动作重启。
12.根据权利要求10所述的控制系统,其中,
还具备模拟条件获取部,其使能够指定所述动作程序中的模拟结束时刻的模拟条件指定画面显示,
所述重启模拟器基于指定的所述模拟结束时刻以前的动作指令,通过所述虚拟控制器使所述一个以上的虚拟机器人的动作重启。
13.根据权利要求10所述的控制系统,其中,
所述重启评价部基于所述一个以上的虚拟机器人的动作,针对所述一个以上的机器人的每一个计算重启基于所述动作程序的所述一个以上的机器人的动作之后的可动作期间,
所述重启指示获取部使所述重启指示画面显示,所述重启指示画面包含所述一个以上的机器人的每一个的可动作期间和能够指定重启时刻的所述重启指示输入部,
所述动作重启部基于指定的所述重启时刻以后的动作指令,通过所述控制器使所述一个以上的机器人的动作的至少一部分重启。
14.根据权利要求10所述的控制系统,其中,
所述重启评价部基于所述一个以上的虚拟机器人的动作,针对所述一个以上的机器人的每一个计算重启基于所述动作程序的所述一个以上的机器人的动作之后的可动作期间,
所述重启指示获取部使所述重启指示画面显示,所述重启指示画面包含所述一个以上的机器人的每一个的可动作期间和能够指定结束时刻的所述重启指示输入部,
所述动作重启部基于指定的所述结束时刻以前的动作指令,通过所述控制器使所述一个以上的机器人的动作的至少一部分重启。
15.根据权利要求3所述的控制系统,其中,
还具备周边信息存储部,其存储周边行为信息,该周边行为信息表示控制所述一个以上的机器人以外的其他机械的第二控制器在所述一个以上的机器人的动作中断后使所述其他机械如何动作,
所述重启评价部还基于所述周边行为信息对所述一个以上的虚拟机器人的动作进行评价。
16.根据权利要求1或2中任一项所述的控制系统,其中,
还具备环境传感器,检测所述真实空间的状态,
所述中断状态再现部基于所述环境传感器的检测结果,使所述一个以上的机器人的动作中断后的所述真实空间的状态在所述虚拟空间中再现。
17.根据权利要求16所述的控制系统,其中,
所述中断状态再现部还基于所述控制器保持的所述一个以上的机器人的状态信息,使所述一个以上的机器人的动作中断后的所述真实空间的状态在所述虚拟空间中再现。
18.根据权利要求1或2所述的控制系统,其中,
所述动作中断部在基于所述动作程序而使所述一个以上的机器人正在动作的过程中的所述真实空间的状态与所述一个以上的虚拟机器人基于所述动作程序正在动作的过程中的所述虚拟空间的状态之间产生了差异的情况下,使基于所述控制器的所述一个以上的机器人的动作中断。
19.根据权利要求1或2所述的控制系统,其中,
还具备程序生成部,其反复进行以下处理:通过所述虚拟控制器基于所述动作程序使所述一个以上的虚拟机器人动作;以及基于所述一个以上的虚拟机器人的动作中的所述虚拟空间的状态来修正所述动作程序,
所述控制器基于由所述程序生成部修正后的所述动作程序使所述一个以上的机器人动作。
20.一种机器人系统,具备:
权利要求1至19中任一项所述的控制系统;以及
所述一个以上的机器人。
21.一种控制方法,包含:
在真实空间中使一个以上的机器人基于动作程序动作;
使所述一个以上的机器人的动作中断;
使所述一个以上的机器人的动作中断的所述真实空间的状态在虚拟空间中再现;以及
在使所述真实空间的状态再现的所述虚拟空间中,通过虚拟控制器基于所述动作程序使一个以上的虚拟机器人的动作重启。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063046701P | 2020-07-01 | 2020-07-01 | |
US63/046,701 | 2020-07-01 | ||
JP2020-174853 | 2020-10-16 | ||
JP2020174853A JP6898506B1 (ja) | 2020-07-01 | 2020-10-16 | 制御システム、ロボットシステム及び制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113878572A true CN113878572A (zh) | 2022-01-04 |
Family
ID=76650022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110729979.6A Pending CN113878572A (zh) | 2020-07-01 | 2021-06-29 | 控制系统、机器人系统以及控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11826913B2 (zh) |
EP (1) | EP3932625B1 (zh) |
JP (2) | JP6898506B1 (zh) |
CN (1) | CN113878572A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7047965B1 (ja) * | 2021-08-03 | 2022-04-05 | 株式会社安川電機 | コントローラ、及びシステム構築方法 |
US20230100322A1 (en) * | 2021-09-21 | 2023-03-30 | Dish Wireless L.L.C. | Method and system to monitor drift in a virtual developmental environment of abstracted containerized applications |
EP4227044A1 (en) * | 2022-02-10 | 2023-08-16 | Kabushiki Kaisha Yaskawa Denki | Robot system and control method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060009878A1 (en) * | 2004-06-29 | 2006-01-12 | Funuc Ltd | Programming device for returning robot to waiting position |
WO2017068559A1 (ja) * | 2015-10-23 | 2017-04-27 | シャープ株式会社 | ロボットおよびプログラム |
CN110597162A (zh) * | 2019-07-30 | 2019-12-20 | 浙江工业大学 | 面向智能制造加工的虚拟调试系统 |
CN110712205A (zh) * | 2019-10-11 | 2020-01-21 | 深圳前海达闼云端智能科技有限公司 | 异常监控方法、电子设备及计算机可读存储介质 |
US20200061817A1 (en) * | 2018-08-21 | 2020-02-27 | Seiko Epson Corporation | Control Device, Robot System, And Robot |
JP6658985B1 (ja) * | 2019-05-17 | 2020-03-04 | 株式会社安川電機 | ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法 |
US20200276708A1 (en) * | 2019-03-01 | 2020-09-03 | Duality Robotics, Inc. | Robot simulation engine architecture |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02257204A (ja) | 1989-03-29 | 1990-10-18 | Yaskawa Electric Mfg Co Ltd | 複数ロボット腕の衝突回避制御方式 |
JPH06301412A (ja) | 1993-04-14 | 1994-10-28 | Citizen Watch Co Ltd | ロボットセル用制御装置 |
JP2817580B2 (ja) | 1993-07-27 | 1998-10-30 | 日本鋼管株式会社 | ロボット群の制御システム |
JP3221194B2 (ja) | 1993-12-02 | 2001-10-22 | 日産自動車株式会社 | 産業用ロボットの動作波形診断装置 |
JPH07200019A (ja) | 1993-12-28 | 1995-08-04 | Ricoh Co Ltd | ロボット制御装置 |
JP2002318607A (ja) * | 2001-04-18 | 2002-10-31 | Omron Corp | リニューアル設計支援方法及びシステム並びにそれに用いられる仮想設備 |
JP2004038565A (ja) | 2002-07-03 | 2004-02-05 | Toyoda Mach Works Ltd | 工作機械のモニタリング装置 |
DE10311027A1 (de) | 2003-03-13 | 2004-09-30 | Siemens Ag | Mess- und Simulationssystem für Werkzeug- oder Produktionsmaschinen |
JP3834307B2 (ja) * | 2003-09-29 | 2006-10-18 | ファナック株式会社 | ロボットシステム |
JP2005316937A (ja) | 2004-04-02 | 2005-11-10 | Yaskawa Electric Corp | 制御装置およびその制御方法 |
JP4210270B2 (ja) * | 2005-06-07 | 2009-01-14 | ファナック株式会社 | ロボット制御装置及びロボット制御方法 |
JP5954274B2 (ja) * | 2013-07-26 | 2016-07-20 | 株式会社安川電機 | ロボットシステム |
US9278449B1 (en) | 2014-05-21 | 2016-03-08 | Bot & Dolly, Llc | Closed-loop control system for robotic operation |
JP6394218B2 (ja) | 2014-09-16 | 2018-09-26 | 株式会社安川電機 | 作業計画装置、作業計画方法および作業計画プログラム |
JP6432494B2 (ja) | 2015-11-30 | 2018-12-05 | オムロン株式会社 | 監視装置、監視システム、監視プログラムおよび記録媒体 |
US10401823B2 (en) | 2016-02-04 | 2019-09-03 | Makino Inc. | Real time machining process monitoring utilizing preprocess simulation |
JP6444908B2 (ja) * | 2016-02-17 | 2018-12-26 | ファナック株式会社 | 掃引空間を算出するロボットのシミュレーション装置 |
US11449061B2 (en) * | 2016-02-29 | 2022-09-20 | AI Incorporated | Obstacle recognition method for autonomous robots |
US10384347B2 (en) * | 2016-03-25 | 2019-08-20 | Seiko Epson Corporation | Robot control device, robot, and simulation device |
JP2018047509A (ja) * | 2016-09-20 | 2018-03-29 | ファナック株式会社 | ロボットシミュレーション装置 |
JP6858521B2 (ja) * | 2016-09-29 | 2021-04-14 | 川崎重工業株式会社 | ロボット復旧支援装置及びそれを備えるロボットシステム |
JP2018097661A (ja) | 2016-12-14 | 2018-06-21 | オムロン株式会社 | 生産システム、制御装置、および制御方法 |
JP6998660B2 (ja) * | 2017-02-21 | 2022-01-18 | 株式会社安川電機 | ロボットシミュレータ、ロボットシステム及びシミュレーション方法 |
JP6724831B2 (ja) | 2017-03-16 | 2020-07-15 | 株式会社安川電機 | コントロールシステム、コントローラ及び制御方法 |
WO2019064916A1 (ja) | 2017-09-26 | 2019-04-04 | 日本電産株式会社 | ロボットシミュレータ |
US10792810B1 (en) * | 2017-12-14 | 2020-10-06 | Amazon Technologies, Inc. | Artificial intelligence system for learning robotic control policies |
JP6673401B2 (ja) | 2018-06-08 | 2020-03-25 | 株式会社安川電機 | 加工システム及び制御方法 |
US11762369B2 (en) * | 2019-02-06 | 2023-09-19 | Sensory Robotics, Inc. | Robotic control via a virtual world simulation |
US11657527B2 (en) * | 2019-05-28 | 2023-05-23 | X Development Llc | Robotic control based on 3D bounding shape, for an object, generated using edge-depth values for the object |
US20210387350A1 (en) * | 2019-06-12 | 2021-12-16 | Mark Oleynik | Robotic kitchen hub systems and methods for minimanipulation library adjustments and calibrations of multi-functional robotic platforms for commercial and residential enviornments with artificial intelligence and machine learning |
JP7401207B2 (ja) * | 2019-06-21 | 2023-12-19 | ファナック株式会社 | ツールの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法 |
EP4052866A1 (en) * | 2019-08-23 | 2022-09-07 | Veo Robotics, Inc. | Safe operation of machinery using potential occupancy envelopes |
US11607802B2 (en) * | 2019-09-15 | 2023-03-21 | X Development Llc | Robotic control using action image(s) and critic network |
EP4049168A4 (en) * | 2019-10-25 | 2023-11-01 | Dexterity, Inc. | ROBOTIC SYSTEM SIMULATION ENGINE |
-
2020
- 2020-10-16 JP JP2020174853A patent/JP6898506B1/ja active Active
-
2021
- 2021-06-10 JP JP2021097363A patent/JP2022013741A/ja active Pending
- 2021-06-24 EP EP21181526.1A patent/EP3932625B1/en active Active
- 2021-06-29 CN CN202110729979.6A patent/CN113878572A/zh active Pending
- 2021-06-29 US US17/361,323 patent/US11826913B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060009878A1 (en) * | 2004-06-29 | 2006-01-12 | Funuc Ltd | Programming device for returning robot to waiting position |
WO2017068559A1 (ja) * | 2015-10-23 | 2017-04-27 | シャープ株式会社 | ロボットおよびプログラム |
US20200061817A1 (en) * | 2018-08-21 | 2020-02-27 | Seiko Epson Corporation | Control Device, Robot System, And Robot |
US20200276708A1 (en) * | 2019-03-01 | 2020-09-03 | Duality Robotics, Inc. | Robot simulation engine architecture |
JP6658985B1 (ja) * | 2019-05-17 | 2020-03-04 | 株式会社安川電機 | ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法 |
CN110597162A (zh) * | 2019-07-30 | 2019-12-20 | 浙江工业大学 | 面向智能制造加工的虚拟调试系统 |
CN110712205A (zh) * | 2019-10-11 | 2020-01-21 | 深圳前海达闼云端智能科技有限公司 | 异常监控方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2022013741A (ja) | 2022-01-18 |
JP2022013559A (ja) | 2022-01-18 |
JP6898506B1 (ja) | 2021-07-07 |
US11826913B2 (en) | 2023-11-28 |
EP3932625B1 (en) | 2023-02-22 |
EP3932625A1 (en) | 2022-01-05 |
US20220001537A1 (en) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113878572A (zh) | 控制系统、机器人系统以及控制方法 | |
JP2020128009A (ja) | ロボットを制御する方法 | |
US20230107431A1 (en) | Comparison between real control and virtual control of robot | |
US11648670B2 (en) | Machine tool system | |
EP3828654B1 (en) | Control system, controller and control method | |
US20220072703A1 (en) | Suspended robot recovery | |
Johansson et al. | Sensor integration in task‐level programming and industrial robotic task execution control | |
US20220291670A1 (en) | Control data extraction and evaluation of production system | |
US10678231B2 (en) | Production controller equipped with function of identifying cause upon operation stop of production facility including manufacturing facilities | |
Kuts et al. | COLLABORATIVE WORK BETWEEN HUMAN AND INDUSTRIAL ROBOT IN MANUFACTURING BY ADVANCED SAFETY MONITORING SYSTEM. | |
JP2010218036A (ja) | ロボットオフラインプログラミング装置 | |
US20230099602A1 (en) | Device control based on execution command and updated environment information | |
JP7374867B2 (ja) | 制御システム、ローカルコントローラ及び制御方法 | |
Ji et al. | Interface architecture design for minimum programming in human-robot collaboration | |
Filaretov et al. | Human machine interface based on virtual reality for programming industrial robots | |
WO2023167324A1 (ja) | 生産システム及び再現方法 | |
Kumar et al. | Intuitive human-robot interaction using augmented reality: A simulation study on KUKA IIWA robot | |
WO2023157889A1 (ja) | 生産システム及び生産方法 | |
Lee et al. | Development of an automated system for soldering and the solder inspection of an assembly line |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |