CN115697648A - 控制系统和控制方法 - Google Patents

控制系统和控制方法 Download PDF

Info

Publication number
CN115697648A
CN115697648A CN202180039808.9A CN202180039808A CN115697648A CN 115697648 A CN115697648 A CN 115697648A CN 202180039808 A CN202180039808 A CN 202180039808A CN 115697648 A CN115697648 A CN 115697648A
Authority
CN
China
Prior art keywords
virtual
unit
task
tasks
information
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
Application number
CN202180039808.9A
Other languages
English (en)
Inventor
桥口幸男
斧山佳史
原浩二
山下刚
合屋昌弘
堤亮介
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Publication of CN115697648A publication Critical patent/CN115697648A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total 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], computer integrated manufacturing [CIM]
    • G05B19/41815Total 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], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/41825Total 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], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell machine tools and manipulators only, machining centre
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

控制系统(3)包括:本地控制器(100),在现实空间中使机器人(2B、2C、10)执行针对工件(9)的处理所包含的多个任务;虚拟本地控制器(400),在虚拟空间中使虚拟机器人执行多个任务;现实信息收集部(312),收集表示本地控制器(100)对多个任务的每个任务的执行状况的现实执行状况信息;虚拟信息收集部(314),收集表示虚拟本地控制器(400)对多个任务的每个任务的执行状况的虚拟执行状况信息;以及任务比较部(316),提取多个任务中的、现实执行状况信息与虚拟执行状况信息偏离的一个以上的偏离任务。

Description

控制系统和控制方法
技术领域
本公开涉及控制系统和控制方法。
背景技术
在专利文献1中公开了一种加工系统,其包括进行工件的加工的加工装置和运送工件的机器人。
现有技术文献
专利文献
专利文献1:日本特开2019-209454号公报。
发明内容
发明所要解决的问题
本公开提供一种对提高生产计划的精度有效的装置。
用于解决问题的手段
本公开的一个方面所涉及的控制系统包括:机器人控制器,在现实空间中使机器人执行针对工件的处理所包含的多个任务;虚拟机器人控制器,在虚拟空间中使虚拟机器人执行多个任务;现实信息收集部,收集现实执行状况信息,所述现实执行状况信息表示机器人控制器对多个任务的每个任务的执行状况;虚拟信息收集部,收集虚拟执行状况信息,所述虚拟执行状况信息表示虚拟机器人控制器对多个任务的每个任务的执行状况;以及任务比较部,提取多个任务中的现实执行状况信息与虚拟执行状况信息偏离的一个以上的偏离任务。
本公开的另一方面所涉及的控制系统包括:现实控制器,在现实空间中使产业机械执行针对工件的处理所包含的多个任务;虚拟控制器,在虚拟空间中使产业机械执行多个任务;现实信息收集部,收集现实执行状况信息,所述现实执行状况信息表示现实控制器对多个任务的每个任务的执行状况;虚拟信息收集部,收集虚拟执行状况信息,所述虚拟执行状况信息表示虚拟控制器对多个任务的每个任务的执行状况;以及任务比较部,提取多个任务中的现实执行状况信息与虚拟执行状况信息偏离的一个以上的偏离任务。
本公开的又一方面所涉及的控制方法包括:在现实空间中,通过机器人控制器使机器人执行针对工件的处理所包含的多个任务;在虚拟空间中,通过虚拟机器人控制器使虚拟机器人执行多个任务;收集现实执行状况信息,所述现实执行状况信息表示机器人控制器对多个任务的每个任务的执行状况;收集虚拟执行状况信息,所述虚拟执行状况信息表示虚拟机器人控制器对多个任务的每个任务的执行状况;以及提取多个任务中的现实执行状况信息与虚拟执行状况信息偏离的一个以上的偏离任务。
发明效果
根据本公开,能够提供对提高生产计划的精度有效的装置。
附图说明
图1是例示生产系统的结构的示意图。
图2是例示机器人的结构的示意图。
图3是示出上级控制器及本地控制器的功能性构成的框图。
图4是例示对工件的处理的分配结果的表。
图5是例示设备信息的表。
图6是例示工件信息的表。
图7是例示执行条件的表。
图8是例示指令缓冲器的内容的表。
图9是例示下一个任务的选择的示意图。
图10是例示下一个任务的选择的示意图。
图11是例示下一个任务的选择的示意图。
图12是例示下一个任务的选择的变形例的示意图。
图13是例示下一个任务的选择的另一变形例的示意图。
图14是示出数据管理装置的功能性构成的框图。
图15是示出数据管理装置的功能性构成的框图。
图16是例示执行状况的对比显示的表。
图17是例示控制信号的对比显示的时序图。
图18是示出执行中的任务的显示例的图表。
图19是示出数据管理装置的变形例的框图。
图20是示出数据管理装置的变形例的框图。
图21是示出数据管理装置的变形例的框图。
图22是例示控制系统的硬件结构的图。
图23是例示上级控制器的进度管理步骤的流程图。
图24是例示本地控制器的控制步骤的流程图。
图25是示出控制步骤的变形例的流程图。
图26是示出控制步骤的另一变形例的流程图。
图27是例示现实信息收集步骤的流程图。
图28是例示虚拟信息收集步骤的流程图。
图29是例示偏离任务的提取步骤的流程图。
图30是例示执行状况的对比显示步骤的流程图。
图31是例示控制信号的提取步骤的流程图。
图32是例示控制信号的对比显示步骤的流程图。
图33是例示程序生成步骤的流程图。
图34是例示能否执行条件的生成步骤的流程图。
图35是例示优先级的生成步骤的流程图。
图36是例示调整步骤的流程图。
图37是例示模型参数的调整步骤的流程图。
图38是例示控制参数的调整步骤的流程图。
图39是示出控制参数的调整步骤的变形例的流程图。
图40是例示再现显示步骤的流程图。
图41是例示环境信息更新步骤的流程图。
具体实施方式
以下,参照附图对实施方式进行详细说明。在说明中,对具有相同要素或相同功能的要素标注相同的附图标记,并省略重复的说明。
[生产系统]
图1所示的生产系统1是通过多个本地设备的协调动作来进行工件生产的系统。以下,在工件的生产处理中,将成为各本地设备的作业对象的全部物体称为“工件”。例如“工件”包括生产系统1中的最终产品、最终产品的部件、以及将多个部件组合而成的单元等。
协调动作意味着多个本地设备以分担用于得到至少一个上述最终产品的多个工序的方式动作。多个本地设备既可以以按工序单位分担用于得到一个最终产品的多个工序的方式动作,也可以以按最终产品单位分担用于得到多个最终产品的多个工序的方式动作。
生产系统1包括多个本地设备2和控制系统3。本地设备2是在工件9的生产现场对工件9直接执行作业的设备。直接的作业例如是对工件9赋予热能、动能、势能等某种能量的作业。
多个本地设备2分别是例如是产业机械。多个本地设备2至少包含机器人(至少1个本地设备2是机器人)。另外,多个本地设备2包括与机器人协作的产业机械。作为与机器人协作的产业机械的具体例子,除了其他机器人之外,还可以列举NC机床等。图1所示的多个本地设备2包括运送装置2A、机器人2B、2C以及移动型机器人2D,但不限于此。只要包含至少1台机器人,则本地设备2的数量以及种类能够适当改变。
运送装置2A例如将电动马达等作为动力源来运送工件9。作为运送装置2A的具体例子,可以列举带式运送机、辊式运送机等。机器人2B、2C以及移动型机器人2D对运送装置2A运送的工件9进行作业。作为对工件9的作业的具体例子,可列举出其他工件9(例如副零件)相对于运送装置2A运送的工件9(例如基础零件)的组装、运送装置2A运送的工件9中的零件彼此的紧固(例如螺栓紧固)和接合(例如焊接)、工件9向设置于运送装置2A的周围的NC机床的运入、工件9从NC机床的运出等。
机器人2B、2C是具有基部11和前端部18的多关节机器人。机器人2B、2C通过使多关节复合地动作,改变前端部18相对于基部11的位置/姿势,通过前端部18执行对工件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旋转,使第一臂13绕轴线22摆动,使第二臂14绕轴线23摆动,使臂端部16绕轴线24旋转,使第三臂17绕轴线25摆动,使前端部18绕轴线26旋转。
另外,机器人2B、2C的具体结构能够适当改变。例如,机器人2B、2C可以是在上述6轴的垂直多关节机器人中进一步追加了1轴的关节的7轴的冗余型机器人,也可以是所谓的标量(scalar)型多关节机器人。
返回图1,移动型机器人2D是能够自主行驶的多关节机器人。移动型机器人2D具有与机器人2B、2C同样地构成的机器人10和无人运送车50。无人运送车50以运送机器人10的方式进行自主行驶。作为无人运送车50的具体例,可举出电动式的所谓AGV(AutomatedGuided Vehicle,自主导引车)。机器人10通过使多关节复合地动作,改变前端部18相对于无人运送车50的位置/姿势,通过前端部18执行对工件9的作业。
生产系统1还可以包括外部传感器5。外部传感器5对多个本地设备2的作业环境的状态(以下,称为“环境状态”)进行检测。作为外部传感器5的具体例子,例如可举出拍摄多个本地设备2的作业环境的相机。外部传感器5可以是通过激光等来检测规定位置处的有无工件9的传感器,也可以是检测工件9的尺寸等的传感器。生产系统1也可以包括多个外部传感器5。
控制系统3控制多个本地设备2。以下,详细例示控制系统3的结构。
[控制系统]
在生产系统1中,存在工件9的目标生产速度与实际的工件9的生产速度产生偏离的情况。另外,存在工件9的目标品质与实际的工件9的品质产生偏离的情况。以下,将这些偏离称为“生产状况的偏离”。在针对工件9的处理包含多个任务的情况下,难以基于上述生产速度的偏离、或者工件9的品质的偏离来确定生产状况的偏离的原因。
控制系统3包括:本地控制器(现实控制器),在现实空间中使本地设备2执行针对工件的处理所包含的多个任务;虚拟本地控制器(虚拟控制器),在虚拟空间中使虚拟本地设备执行多个任务;现实信息收集部,收集示出本地控制器对多个任务各自的执行状况的现实执行状况信息;虚拟信息收集部,收集示出虚拟本地控制器对多个任务各自的执行状况的虚拟执行状况信息;以及任务比较部,提取多个任务中的、现实执行状况信息与虚拟执行状况信息偏离的一个以上的偏离任务。由此,能够针对多个任务的每个确认执行状况的偏离,因此容易确定生产状况的偏离的原因。
在生产系统1中,存在要求对包含生产对象物的改变在内的生产计划的变化的灵活适应的情况。另外,存在也要求本地设备2的种类、台数、配置改变等对生产环境的变化的灵活适应的情况。与此相对,对于生产计划的变化以及生产环境的变化,实现本地设备2的自主的适应是有效的。但是,为了使本地控制器进行应该执行的任务的确定和该适当的执行定时的确定,需要复杂的条件设定。在通过复杂的条件设定赋予了自主性的系统中,难以进一步适应当初未设想的新的生产计划或者生产环境。
对此,控制系统3也可以包括:指令输出部,基于包含针对工件的多个任务的处理和该处理的进度信息来输出下一个任务的执行指令;环境信息保存部,存储环境信息;本地控制器,基于从指令输出部输出的执行指令和环境信息保存部的环境信息,使本地设备2执行下一个任务;以及环境更新部,根据本地设备2的动作,更新环境信息保存部的环境信息。在环境信息的基础上,通过将下一个任务的执行指令提供给本地控制器,不需要基于环境信息来确定在本地控制器中接下来应该执行的任务,因此,用于对本地设备2赋予自主性的条件设定被简化。由此,能够容易地实现对各个任务的本地设备2的自主执行。因此,通过基于多个任务的进度来输出下一个任务的执行指令,并根据本地设备2的动作来更新环境信息的简单的处理,能够以适当的顺序容易地执行多个任务。因此,能够根据生产计划的变化或生产环境的变化,容易地重组使各个本地设备2执行的多个任务。
如图1所示,控制系统3具有多个本地控制器100、上级控制器200(单元控制器)以及数据管理装置300。多个本地控制器100分别控制多个本地设备2。
多个本地控制器100分别在现实空间中使控制对象的本地设备2(以下,称为“管辖本地设备2”)执行针对工件9的处理中包含的多个任务。现实空间是管辖本地设备2实际存在的空间。
多个本地控制器100也可以分别针对多个任务的每个基于上述环境信息保存部的环境信息来调节执行定时。另外,本地控制器100也可以使管辖本地设备2执行与来自上述指令输出部的执行指令对应的下一个任务。例如,多个本地控制器100分别基于上述执行指令和上述环境信息使管辖本地设备2执行上述下一个任务。例如,本地控制器100基于上述环境信息保存部的环境信息来调节执行定时,并且使本地设备2执行与来自上述指令输出部的执行指令对应的下一个任务。
在图示中,控制系统3具有4个本地控制器100A、100B、100C、100D。本地控制器100A控制运送装置2A,本地控制器100B是控制机器人2B的机器人控制器,本地控制器100C是控制机器人2C的机器人控制器,本地控制器100D是控制移动型机器人2D的机器人控制器。本地控制器100的数量以及各本地控制器100的结构能够根据本地设备2的数量以及种类适当改变。
上级控制器200包括上述指令输出部、上述环境信息保存部、以及上述环境更新部,与多个本地控制器100进行同步通信。同步通信是指与一定的周期(上述通信周期)的同步帧同步地以每1周期进行与多个本地控制器100的通信。上级控制器200基于针对工件9的处理和该处理的进度信息向多个本地控制器100的每个输出下一个任务的执行指令,根据多个本地设备2的动作来更新环境信息。此外,上级控制器200根据多个本地设备2对任务的执行状况来更新针对工件9的处理的进度信息。
数据管理装置300包括上述虚拟本地控制器、上述现实信息收集部、上述虚拟信息收集部以及上述任务比较部,与上级控制器200进行同步通信或者非同步通信。数据管理装置300经由上级控制器200从多个本地控制器100收集上述现实执行状况信息。数据管理装置300包括分别与多个本地控制器100对应的多个虚拟本地控制器,从该多个虚拟本地控制器收集上述虚拟执行状况信息。以下,具体例示本地控制器100、上级控制器200以及数据管理装置300的结构。
如图3所示,上级控制器200作为功能上的构成(以下,称为“功能块”)具有处理数据库211、订单获取部212、处理分配部213、处理保存部214、指令输出部215、进度更新部216、环境信息保存部221和环境更新部222。
处理数据库211存储生产系统1针对作为对象的多种工件9的每个的多个处理。各处理包含针对工件9的多个任务中的每个的识别信息、该多个任务的执行顺序、以及执行该多个任务的每个的本地设备2的识别信息。
多个任务也可以包含相互不同的本地设备2执行的任务。例如,多个任务也可以包含机器人2B、2C或者移动型机器人2D所执行的多个任务和其他本地设备2所执行的一个以上的任务。任务是1个本地设备2执行的一组作业单位。机器人2B、2C或者移动型机器人2D所执行的多个任务也可以包含使一个以上的同一关节进行动作的多个任务。例如,在多个任务中的任一个中,通过关节31、32、33、34、35、36的复合动作来调节前端部18的位置/姿势,但根据任务的内容,关节31、32、33、34、35、36中的某一个可能存在不动作的情况。作为机器人2B、2C或移动型机器人2D执行的任务的具体例子,可以举出拾取零件并运送到规定位置的任务、将两个零件紧固(例如螺栓紧固)的任务、焊接两个零件的任务、粘接两个零件的任务、拾取两个以上的零件的组装品并运送到规定位置的任务等。各任务可以包括使前端部18移动至拾取工件或工具的位置的动作,也可以包括使释放了工件或工具的前端部18移动至远离工件或工具的位置的动作。作为其他的本地设备2执行的任务的具体例子,可举出与机器人2B、2C的任务相匹配地改变工件或工具的位置/姿势的任务、对由机器人2B、2C配置的工件或工具进行规定的加工(例如切削加工)的任务等。
订单获取部212从生产管理控制器4获取工件9的生产订单。生产订单包括应生产的工件9的种类和每个种类的生产数量。生产管理控制器4例如是在工厂的MES(Manufacturing Execution System,制造执行系统)中将按照生产计划的工件9的生产订单分配给多个工厂单元的控制器,与上级控制器200进行同步通信或者非同步通信。
处理分配部213对生产订单指定的工件9分配处理。例如,处理分配部213基于处理数据库211对生产订单指定的工件9分配处理。在生产订单指定多个工件9的情况下,处理分配部213针对多个工件9的每个基于处理数据库211分配处理。多个工件9也可以包含相互不同种类的工件9。
处理保存部214存储处理分配部213的处理的分配结果和每个处理的进度信息(现实空间中的进度信息)。图4是例示针对多个工件9的处理的分配结果的表。在该表中,根据从左向右的排列顺序,示出了各处理中的多个任务的执行顺序。
在图4中,对工件A分配包含3个步骤的任务a1、a2、a3的处理。对工件B分配包含5个步骤的任务b1、b2、b3、b4、b5的处理。对工件C分配包含2个步骤的任务c1、c2的处理。对工件D分配包含3个步骤的任务d1、d2、d3的处理。对工件E分配包含4个步骤的任务e1、e2、e3、e4的处理。
每个处理的进度信息例如是示出处理的各任务是未着手、执行中、或完成的信息。进度信息既可以是示出未着手、执行中或完成的标志,也可以是开始时刻和完成时刻。在进度信息为开始时刻和完成时刻的情况下,开始时刻和完成时刻均未被打卡,则为未着手,若开始时刻被打卡而完成时刻未被打卡,则为执行中,若完成时刻被打卡,则为完成。
返回图3,指令输出部215基于处理保存部214存储的处理和该处理的进度信息来输出下一个任务的执行指令。多个任务中的下一个任务是未着手的任务中的前一个任务不存在、或者前一个任务完成的任务。指令输出部215基于处理数据库211向多个本地控制器100中的某一个输出下一个任务的执行指令。例如指令输出部215向在处理数据库211中与下一个任务建立了对应的本地设备2的本地控制器100输出下一个任务的执行指令。
在处理保存部214中,在对多个工件9分别分配了多个处理的情况下,指令输出部215也可以基于多个处理中的每个处理的多个进度信息,对多个处理中的每个处理输出多个下一个任务的执行指令。指令输出部215也可以将多个下一个任务的执行指令输出到相同的本地控制器100。
例如,在处理保存部214中,在对第一工件9分配第一处理、对第二工件9分配了第二处理的情况下,指令输出部215也可以将第一处理的下一个任务的执行指令和第二处理的下一个任务的执行指令输出到相同的本地控制器100。在该情况下,指令输出部215也可以在输出了上述第一处理的下一个任务的执行指令之后,在执行该下一个任务之前输出第二处理的下一个任务的执行指令。另外,指令输出部215也可以在输出了上述第二处理的下一个任务的执行指令之后,在执行该下一个任务之前输出第一处理的下一个任务的执行指令。并且,指令输出部215也可以同时输出第一处理的下一个任务的执行指令和第二处理的下一个任务的执行指令。这里的同时输出意味着输出第一处理的下一个任务的执行指令的期间和输出第二处理的下一个任务的执行指令的期间至少部分地重复。
另外,指令输出部215可以根据来自上述同步通信中的本地控制器100的请求输出下一个任务的执行指令,也可以不管有无来自本地控制器100的请求均输出执行指令。
进度更新部216根据多个本地设备2对下一个任务的执行状况来更新处理保存部214的进度信息。例如进度更新部216基于本地控制器100输出的后述的状态信息来更新处理保存部214的进度信息。
环境信息保存部221存储环境信息。环境信息例如包括与本地设备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中的位置、姿势、速度等的检测值。
图5是例示设备信息的表。在图5中,本地设备2的识别信息与示出与本地设备2相关的信息的至少一个状态参数建立对应。
作为工件信息的具体例子,可举出各工件9的位置信息。图6是例示工件信息的表。在图6中,工件9的识别信息(例如类别以及序列号)与工件9的位置信息建立对应。
环境更新部222根据多个本地设备2的动作来更新环境信息保存部221的环境信息。例如,环境更新部222从多个本地控制器100中的每个获取本地设备2的状态信息,并且基于状态信息更新设备信息。环境更新部222可以基于本地设备2的状态信息进一步更新工件信息。例如,环境更新部222也可以基于从本地控制器100A获取的运送装置2A的状态信息来更新各工件9的位置信息。环境更新部222可以进一步基于外部传感器5的检测结果来更新环境信息。
如图3所示,本地控制器100作为功能块具有任务程序保存部111、参数保持部112、指令缓冲器113、环境信息获取部114、选择部115、控制部116以及状态输出部117。
任务程序保存部111(条件存储部)存储针对多个任务中的一个以上任务的每个任务预先设定的一个以上的执行条件。例如,任务程序保存部111存储分别确定多个任务中的动作的多个任务程序130。这里的多个任务也可以包含作业对象的工件9相互不同的任务。以下,将作业对象的工件9称为“对象工件9”。
任务程序130包含条件头131和动作程序132。动作程序132示出管辖本地设备2的动作。例如,动作程序132包含按时间序列排列的多个移动命令以使管辖本地设备2执行一组动作。在管辖本地设备2是机器人2B、2C或移动型机器人2D的情况下,动作程序132中的移动命令包含前端部18的目标位置/目标姿势。
条件头131示出动作程序132的执行条件。执行条件是用于决定动作程序132的执行定时的条件。图7是示出条件头131的一例的表。执行条件包含用于决定能否执行动作程序132(对应的任务)的能否执行条件和动作程序132的优先级。优先级示出任务程序保存部111存储的多个任务程序130中的优先顺序。在优先级是示出优先顺序本身的数值的情况下,值越小则优先级越高。
如图7所示,作为能否执行条件的具体例子,可举出以下。
例1)在管辖本地设备2的动作范围内不存在管辖本地设备2的动作的障碍物。
例2)对象工件9位于规定位置。
例3)在对象工件9的运入目的地没有其他工件9。
例4)对象工件9的运入目的地开放。
作为障碍物的具体例子,可以举出其他的本地设备2、其他的本地设备2保持的工件9、或者人等。作为对象工件9的运入目的地的具体例子,可举出作为其他的本地设备2的一例的NC机床。作为运入目的地开放的具体例子,可举出NC机床的门开放的情况。
如上所述,针对一个对象工件9的处理存在包含管辖本地设备2的其他本地设备2执行的任务的情况。作为其他本地设备2执行的任务的具体例子,可以举出产业机械(例如NC机床)执行的机器任务。在管辖本地设备2是机器人2B、2C或移动型机器人2D的情况下,管辖本地设备2执行的多个任务可以包含在该机器任务之前执行的任务和在该机器任务之后执行的任务。另外,管辖本地设备2执行的多个任务也可以包含与其他本地设备2(第一产业机械)协作的任务、以及与其他本地设备2(第二产业机械)协作的任务。
在管辖本地设备2是机器人2B、2C或移动型机器人2D的情况下,管辖本地设备2执行的多个任务除了针对对象工件9的多个任务之外,还可以包含一个以上的插值任务。以下,将针对工件9的多个任务称为“工作任务”,将插值任务称为“空切任务”。
空切任务示出多个工作任务中的2个工作任务之间的管辖本地设备2的动作。以下,为了便于说明,将2个工作任务称为“第一工作任务”以及“第二工作任务”。以下示出空切任务的具体例。
例1)使前端部18以规定轨道从第一工作任务的完成时的位置/姿势移动到第二工作任务开始时的位置/姿势。
例2)使前端部18以规定轨道从第一工作任务开始时的位置/姿势移动至第二工作任务开始时的位置/姿势。
例3)使前端部18以规定轨道从第二工作任务的完成时的位置/姿势移动至第一工作任务开始时的位置/姿势。
例4)使前端部18以规定轨道从第二工作任务开始时的位置/姿势移动至第一工作任务开始时的位置/姿势。
这些空切任务也可以设置在2组以上的工作任务之间。在处理数据库211以及处理保存部214中,与工件9建立对应的处理只要包含多个工作任务即可,也可以不包含空切任务。
参数保持部112存储用于控制管辖本地设备2的一个以上的控制参数。作为一个以上的控制参数的具体例子,可举出位置控制增益、速度控制增益、电流控制增益等。
指令缓冲器113存储从上级控制器200获取的下一个任务的执行指令。如上所述,指令输出部215存在将多个下一个任务的执行指令输出到相同的本地控制器100的情况。因此,指令缓冲器113也可以构成为存储多个执行指令。
图8是例示指令缓冲器的内容的表,作为多个下一个任务的执行指令,示出了存储针对工件A的任务a1的执行指令、针对工件B的任务b2的执行指令、以及针对工件E的任务e3的执行指令的状态。
返回到图3,环境信息获取部114获取保存在环境信息保存部221中的环境信息。环境信息获取部114可以向上级控制器200请求环境信息的输出,获取根据请求而输出的环境信息,也可以不管有无请求而获取例如在上述同步通信中从上级控制器200输出的环境信息。
选择部115基于任务程序保存部111中的多个下一个任务中的每个的执行条件(条件头131)和环境信息保存部221的环境信息来选择指令缓冲器113的多个下一个任务中的某一个。例如,选择部115确认能否执行多个下一个任务的每个。例如,选择部115确认环境信息是否满足多个下一个任务的每个的能否执行条件。并且,选择部115基于优先级来选择能够执行的一个以上的下一个任务中的某一个。在能够执行的下一个任务仅为一个的情况下,选择部115选择该下一个任务。在能够执行两个以上的下一个任务的情况下,选择部115选择优先级最高的下一个任务。
在执行下一个任务之前,有时需要执行空切任务。例如,在前端部18的当前位置/姿势与下一个任务的开始位置/姿势不同的情况下,需要从当前位置/姿势到开始位置/姿势的空切任务。在该情况下,选择部115也可以在下一个任务的开头包含空切任务。以下,将在开头包含空切任务的下一个任务称为“带空切的下一个任务”。选择部115也可以在确认环境信息是否满足带空切的下一个任务的能否执行条件时,一并确认环境信息是否满足空切任务的能否执行条件。
控制部116基于任务程序保存部111中的下一个任务的执行条件和环境信息保存部221的环境信息,使管辖本地设备2执行下一个任务。例如,控制部116使管辖本地设备2执行选择部115选择出的下一个任务。在选择部115选择了带空切的下一个任务的情况下,控制部116在执行包含于该下一个任务的开头的空切任务之后,执行该下一个任务。
状态输出部117将管辖本地设备2的上述状态信息输出到上级控制器200。状态信息至少包含管辖本地设备2的位置/姿势信息。状态输出部117也可以根据所述任务程序130的执行完成,将任务的完成通知包含在状态信息中输出。
状态输出部117可以根据来自上述同步通信中的上级控制器200的请求而输出状态信息,也可以不管有无来自上级控制器200的请求均输出状态信息。
以下,参照图9,具体例示在本地控制器100B的指令缓冲器113存储有多个下一个任务的情况下本地控制器100B执行的控制。在该例中,多个本地设备2还包括NC机床2F。机器人2B设置在NC机床2F与运送装置2A之间。在机器人2B的周围,除了NC机床2F以及运送装置2A之外,还设置有用于临时放置工件9的工作台91、92。
本地控制器100B的指令缓冲器113存储有以下的第一工作任务的执行指令、第二工作任务的执行指令、以及第三工作任务的执行指令。
第一工作任务:从NC机床2F运出第一工件9A并运送到工作台91。
第二工作任务:从工作台92运送第二工件9B并运入NC机床2F。
第三工作任务:从工作台91向运送装置2A运送第三工件9C。
在任务程序保存部111中,第一工作任务的优先级比第二工作任务的优先级高,第二工作任务的优先级比第三工作任务的优先级高。
图9的(a)示出能够执行第一工作任务和第三工作任务的状态。在该情况下,选择部115选择比第三工作任务优先级高的第一工作任务。与其相应地,控制部116使机器人2B执行第一工作任务(参照图9的(b))。
通过第一工作任务被执行、在NC机床2F内不存在工件9,能够执行第二工作任务和第三工作任务(参照图10的(a))。在该情况下,选择部115选择比第三工作任务优先级高的第二工作任务。与其相应地,控制部116使机器人2B执行第二工作任务(参照图10的(b))。
通过执行第一工作任务和第二工作任务,残留于指令缓存器113的任务仅为第三工作任务。由于依然能够执行第三工作任务,因此选择部115选择第三工作任务。与其相应地,控制部116使机器人2B执行第三工作任务(参照图11的(a)以及(b))。
环境信息保存部221存储的环境信息也可以包含与上述机器任务的完成时间对应的等待时间。只要示出到机器任务的完成时间为止的时间,环境信息可以以任何形式包含等待时间。例如环境信息可以包含上述机器任务的完成预定时刻与当前时刻的组合,也可以包含从当前时刻到完成预定时刻为止的时间长度。
本地控制器100还可以具有选择定时调节部121。选择定时调节部121在指令缓冲器113的多个下一个任务包含机器任务完成后能够执行的第一任务和已经能够执行的第二任务的情况下,基于第一任务以及第二任务的优先级和等待时间来调整由选择部115对下一个任务的选择定时。例如,在第一任务的优先级比第二任务的优先级高、等待时间为规定的阈值以下的情况下,选择定时调节部121将选择部115对下一个任务的选择定时设为经过等待时间时以后。
参照图12,例示本地控制器100B的指令缓冲器113存储有上述第一工作任务的执行指令、上述第二工作任务的执行指令、以及上述第三工作任务的执行指令的情况下的选择定时调节部121的处理。在该例中,NC机床2F对第一工件9A进行的加工相当于上述机器任务。在机器任务的执行过程中(参照图12的(a)),仅能够执行第三工作任务(第二任务),不能执行第一工作任务(第一任务)以及第二工作任务。
在NC机床2F对第一工件9A执行过程中的机器任务的等待时间为规定的阈值以下的情况下,选择定时调节部121将选择部115对下一个任务的选择定时设为经过等待时间时以后。因此,即使第三工作任务已经能够执行,控制部116也不使机器人2B执行第三工作任务而等待经过等待时间。
在选择定时调节部121使选择部115进行下一个任务的选择的定时,通过上述等待时间的经过,能够执行第一工作任务和第三工作任务。因此,选择部115执行比第三工作优先级高的第一工作任务。与其相应地,控制部116使机器人2B执行第一工作任务(参照图12的(b))。
本地控制器100可以还具有中断部122,中断部122在指令缓冲器113的多个下一个任务包含第一任务和优先级比第一任务低的第二任务、管辖本地设备2对第二任务的执行中能够执行第一任务的情况下,使控制部116中断第二任务,使选择部115选择第一任务。另外,中断部122使第二任务的执行指令返回到指令缓冲器113。
在第二任务的执行中途无法释放对象工件9的情况下,中断部122也可以在通过控制部116使管辖本地设备2返回到第二任务的开始前的状态之后,使选择部115选择第一任务。例如,在第一任务包括第一工件的运送、第二任务包括第二工件的运送的情况下,中断部122在管辖本地设备2对第二任务的执行中能够执行第一任务的情况下,在由控制部116使管辖本地设备2返回到第二工件的运送开始前的状态之后,使选择部115选择第一任务,使第二任务的执行指令返回到指令缓存器113。
参照图13,例示在上述机器人2B对上述第三工作任务(第二任务)的执行中能够执行上述第一工作任务(第一任务)的情况下的中断部122的处理。
图13的(a)示出由于NC机床2F正在对第一工件9A执行机器任务,因此在第一工作任务不可执行的状况下,控制部116使机器人2B执行第三工作任务的状态。机器人2B将第三工件9C从工作台91向运送装置2A运送。
在该状态下,若能够执行第一工作任务,则中断部122使控制部116中断第三工作任务。在第三工件9C从工作台91离开而未到达运送装置2A的状态下,无法释放第三工件9C,因此,机器人2B通过控制部116使机器人2B返回到第三工作任务的开始前的状态。由此,第三工件9C返回到工作台91上(参照图13的(b))。之后,中断部122使选择部115选择第一工作任务。控制部116在使机器人2B执行使前端部18以规定的轨道从第三工作任务开始时的位置/姿势移动到第一工作任务开始时的位置/姿势的空切任务之后,使机器人2B执行第一工作任务。
中断部122也可以与使控制部116中断第二任务的执行、使选择部115选择第一任务的情况相比,在第二任务完成后使选择部115选择第一任务的方式缩短多个处理的执行时间的情况下,不使控制部116中断第二任务。例如,中断部122也可以在第一任务能够执行的定时,在第二任务的剩余时间为规定的阈值以下的情况下,不使控制部116中断第二任务。
与如以上那样构成本地控制器100和上级控制器200的情况对应地,数据管理装置300也可以具有:虚拟指令输出部,基于处理和虚拟空间中的该处理的进度信息输出下一个任务的执行指令;虚拟环境信息保存部,存储虚拟环境信息;虚拟本地控制器,基于从虚拟指令输出部输出的执行指令和虚拟环境信息保存部的虚拟环境信息,使虚拟本地设备在虚拟空间中执行下一个任务;以及虚拟环境更新部,根据虚拟本地设备的动作来更新虚拟环境信息保存部的虚拟环境信息。
例如,如图14所示,数据管理装置300作为功能块具有模型保存部311、多个虚拟本地控制器400以及虚拟上级控制器500。
模型保存部311存储多个虚拟本地设备的模型。虚拟本地设备的模型包括对应的本地设备2的现实空间中的配置、结构、各部的尺寸以及各部的质量等参数。模型保存部311还存储虚拟空间中的多个虚拟本地设备的周边环境的模型。周边环境的模型包括多个本地设备2的周边物体在现实空间中的配置、三维形状、尺寸等参数。模型保存部311也可以包含以时间表示针对控制指令的虚拟本地设备的响应性的标准时间。作为标准时间的具体例子,例如可举出与控制指令对应的动作时间长度。动作时间长度例如是从控制指令的输出开始时刻到与其对应的虚拟本地设备的动作完成时刻为止的时间长度。
多个虚拟本地控制器400分别与多个本地控制器100对应。例如数据管理装置300具有与本地控制器100A对应的虚拟本地控制器400A、与本地控制器100B对应的虚拟本地控制器400B、与本地控制器100C对应的虚拟本地控制器400C、以及与本地控制器100D对应的虚拟本地控制器400D。
与作为机器人控制器的本地控制器100B、100C、100D分别对应的虚拟本地控制器400B、400C、400D是虚拟机器人控制器。虚拟本地控制器400B、400C所控制的虚拟本地设备是虚拟机器人,虚拟本地控制器400D所控制的虚拟本地设备是虚拟移动型机器人。
多个虚拟本地控制器400在虚拟空间中分别控制与多个本地设备2分别对应的多个虚拟本地设备。多个虚拟本地控制器400分别使控制对象的虚拟本地设备在虚拟空间中执行针对对象工件9的处理所包含的多个任务。
以下,将基于虚拟本地控制器400的控制对象的虚拟本地设备称为“管辖虚拟本地设备”,将与管辖虚拟本地设备对应的本地设备2称为“管辖本地设备2”。管辖本地设备2是将与虚拟本地控制器400对应的本地控制器100作为控制对象的本地设备2。
虚拟空间是不存在管辖本地设备2的模拟上的假想空间。在虚拟空间中,使管辖虚拟本地设备执行任务是指,基于模型保存部311存储的管辖本地设备2的模型信息,模拟执行该任务时的现实空间中的管辖本地设备2的动作。
多个虚拟本地控制器400可以分别针对多个任务的每个基于上述虚拟环境信息保存部的虚拟环境信息来调节执行定时。另外,虚拟本地控制器400也可以使管辖虚拟本地设备执行与来自上述虚拟指令输出部的执行指令对应的下一个任务。例如多个虚拟本地控制器400分别基于上述执行指令和上述虚拟环境信息使管辖虚拟本地设备执行上述下一个任务。例如,虚拟本地控制器400基于上述虚拟环境信息保存部的虚拟环境信息来调节执行定时,并且使管辖虚拟本地设备执行与来自上述虚拟指令输出部的执行指令对应的下一个任务。
虚拟上级控制器500作为更细分化的功能块而具有与处理数据库211、订单获取部212、处理分配部213、处理保存部214、指令输出部215、进度更新部216、环境信息保存部221、环境更新部222分别对应的处理数据库511、订单获取部512、处理分配部513、处理保存部514、指令输出部515、进度更新部516、环境信息保存部521、环境更新部522。
处理数据库511与处理数据库211同样地,按照生产系统1针对为对象的多种工件9的每个存储多个处理。订单获取部512例如从后述的输入器件396等获取模拟用的生产订单。
处理分配部513与处理分配部213同样地,对生产订单所指定的工件9分配处理。例如,处理分配部513基于处理数据库511对生产订单指定的工件9分配处理。处理保存部514与处理保存部214同样地,存储处理分配部513对处理的分配结果和每个处理的进度信息(虚拟空间中的进度信息)。
指令输出部515(虚拟指令输出部)与指令输出部215同样地,基于处理保存部514存储的处理和虚拟空间中的该处理的进度信息来输出下一个任务的执行指令。指令输出部515基于处理数据库511向多个虚拟本地控制器400中的某一个输出下一个任务的执行指令。例如,指令输出部515向与处理数据库511中下一个任务建立对应的本地设备2的虚拟本地设备的虚拟本地控制器400输出下一个任务的执行指令。
进度更新部516与进度更新部216同样地,根据多个虚拟本地设备对下一个任务的执行状况来更新处理保存部514的进度信息。例如进度更新部516基于虚拟本地控制器400输出的后述的状态信息来更新处理保存部514的进度信息。
环境信息保存部521(虚拟环境信息保存部)存储虚拟环境信息。虚拟环境信息的构成与环境信息的构成相同。虚拟环境信息包含虚拟空间中的设备信息和虚拟空间中的工件信息。
作为虚拟空间中的设备信息的具体例子,可举出虚拟空间中的虚拟本地设备的位置/姿势信息。虚拟空间中的设备信息包括在虚拟本地控制器400与其管辖虚拟本地设备之间产生的控制信号(以下,称为“虚拟控制信号”)。的信息。
虚拟控制信号可以是为了控制管辖虚拟本地设备而由虚拟本地控制器400生成的内部信号,也可以是从虚拟本地控制器400向管辖虚拟本地设备输出的输出信号,还可以是从管辖虚拟本地设备输出到虚拟本地控制器400的反馈信号。作为内部信号的具体例子,可举出管辖虚拟本地设备的位置/姿势的指令值等。作为输出信号的具体例子,可举出向管辖虚拟本地设备的致动器的输出电流值等。作为反馈信号的具体例子,可举出基于输出信号和模型保存部311存储的模型信息的管辖本地设备2的动作的模拟结果。
作为虚拟空间中的工件信息的具体例子,可举出虚拟空间中的各工件9的位置信息。
环境更新部522(虚拟环境更新部)根据多个虚拟本地设备的动作来更新环境信息保存部521的虚拟环境信息。
虚拟本地控制器400作为更细分化的功能块而具有与任务程序保存部111、参数保持部112、指令缓冲器113、环境信息获取部114、选择部115、控制部116、状态输出部117、选择定时调节部121以及中断部122分别对应的任务程序保存部411、参数保持部412、指令缓冲器413、环境信息获取部414、选择部415、控制部416、状态输出部417、选择定时调节部421以及中断部422。
任务程序保存部411与任务程序保存部111同样地,存储针对多个任务中的一个以上任务的每个任务预先设定的一个以上的执行条件。例如,任务程序保存部411存储上述多个任务程序130。参数保持部412与参数保持部112同样地,存储用于控制管辖虚拟本地设备的一个以上的控制参数。
指令缓冲器413与指令缓冲器113同样地,存储从虚拟上级控制器500获取的下一个任务的执行指令。环境信息获取部414与环境信息获取部114同样地,获取保存在环境信息保存部521中的环境信息。选择部415与选择部115同样地,基于任务程序保存部411中的多个下一个任务各自的执行条件(条件头131)和环境信息保存部521的环境信息来选择指令缓冲器413的多个下一个任务中的某一个。
控制部416基于任务程序保存部411中的下一个任务的执行条件和环境信息保存部521的环境信息使管辖虚拟本地设备执行下一个任务。例如,控制部416使管辖虚拟本地设备执行选择部415选择出的下一个任务。以下,将选择部415选择出的任务称为“已选择任务”。具体而言,控制部416基于模型保存部311存储的管辖本地设备2的模型信息,模拟执行已选择任务时的现实空间中的管辖本地设备2的动作。状态输出部417与状态输出部117同样地,将管辖虚拟本地设备的上述状态信息输出到虚拟上级控制器500。
选择定时调节部421与选择定时调节部121同样地,调整选择部415对下一个任务的选择定时。例如,在指令缓冲器413的多个下一个任务包含机器任务完成后能够执行的第一任务和已经能够执行的第二任务的情况下,选择定时调节部421基于第一任务以及第二任务的优先级和等待时间,调整选择部415对下一个任务的选择定时。
中断部422与中断部122同样地,在指令缓冲器413的多个下一个任务包含第一任务和优先级比第一任务低的第二任务、管辖虚拟本地设备对第二任务的执行中能够执行第一任务的情况下,使控制部416中断第二任务,使选择部415选择第一任务。
如图15所示,数据管理装置300作为功能块而还具有现实信息收集部312、现实信息数据库313、虚拟信息收集部314、虚拟信息数据库315、任务比较部316、状况对比显示部317、显示方式改变部318、现实信号提取部321、虚拟信号提取部322以及信号对比显示部323。
现实信息收集部312收集表示本地控制器100对多个任务的每个的执行状况的现实执行状况信息。现实执行状况信息是表示通过关节31、32、33、34、35、36的复合动作而在现实空间中产生的一个状况的信息。现实空间中的状况除了现实空间的状态之外,还包括现实空间中的时间的经过状况。现实执行状况信息中包含对应的任务的执行时间。执行时间可以是开始时刻,也可以是完成时刻,还可以是从开始时刻到完成时刻的时间长度。例如,现实信息收集部312收集包括第一时间线中的多个任务中的每个的执行开始时刻和执行完成时刻的现实执行状况信息。第一时间线例如是以上级控制器200内的计时器为基准的时间轴。现实执行状况信息也可以包含执行对应的任务后的对象工件9的状态信息。作为对象工件9的状态信息的一例,可举出运送后的对象工件9的位置/姿势等。
现实信息收集部312从上级控制器200的处理保存部214获取现实执行状况信息。现实信息收集部312可以进一步从上级控制器200的环境信息保存部221获取上述现实控制信号。现实信息收集部312可以将包括上述现实控制信号的环境信息与第一时间线中的时刻建立对应地从环境信息保存部221获取。现实信息收集部312可以向上级控制器200请求现实执行状况信息和现实控制信号的输出,并且获取根据请求输出的现实执行状况信息和现实控制信号,还可以获取不管有无请求而均从上级控制器200输出的现实执行状况信息和现实控制信号。
现实信息数据库313存储由现实信息收集部312收集的现实执行状况信息和现实控制信号。现实信息数据库313可以将现实控制信号与沿着上述第一时间线的时刻建立对应地存储。现实信息数据库313可以将包括上述现实控制信号的环境信息与沿着上述第一时间线的时刻建立对应地存储。
虚拟信息收集部314收集表示虚拟本地控制器400对多个任务的每个的执行状况的虚拟执行状况信息。虚拟执行状况信息是表示通过关节31、32、33、34、35、36的复合动作而在虚拟空间中产生的一个状况的信息。虚拟空间中的状况除了虚拟空间的状态之外,还包含虚拟空间中的时间的经过状况。虚拟执行状况信息中包含对应的任务的执行时间。执行时间可以是开始时刻,也可以是完成时刻,也可以是从开始时刻到完成时刻的时间长度。例如,虚拟信息收集部314收集包含第二时间线中的多个任务的执行开始时刻以及执行完成时刻的虚拟执行状况信息。第二时间线例如是以数据管理装置300内的计时器为基准的时间轴。虚拟执行状况信息也可以包含执行对应的任务后的对象工件9的状态信息。作为对象工件9的状态信息的一例,可举出运送后的对象工件9的位置/姿势等。
虚拟信息收集部314从处理保存部514获取虚拟执行状况信息。虚拟信息收集部314还可以从环境信息保存部521获取上述虚拟控制信号。虚拟信息收集部314也可以将包含上述虚拟控制信号的虚拟环境信息与第二时间线中的时刻建立对应地从环境信息保存部521获取。
虚拟信息数据库315存储虚拟信息收集部314收集到的虚拟执行状况信息以及虚拟控制信号。虚拟信息数据库315也可以将虚拟控制信号与沿着上述第二时间线的时刻建立对应地存储。虚拟信息数据库315也可以将包含上述虚拟控制信号的虚拟环境信息与沿着上述第二时间线的时刻建立对应地存储。
任务比较部316提取多个任务中的现实执行状况信息与虚拟执行状况信息偏离的一个以上的偏离任务。这里的偏离是指现实执行状况信息与虚拟执行状况信息之差超过规定水平。任务比较部316针对多个任务中的至少一个以上的任务进行现实执行状况信息与虚拟执行状况信息的比较即可,也可以不一定针对多个任务的全部进行现实执行状况信息与虚拟执行状况信息的比较。以下示出任务比较部316对偏离任务的提取的具体例子。
例1)提取基于现实执行状况信息的执行时间长度(从开始到完成的时间长度)与基于虚拟执行状况信息的执行时间长度之差超过了规定水平的一个以上的偏离任务。
例2)提取基于现实执行状况信息的对象工件9的上述状态信息与基于虚拟执行状况信息的对象工件9的上述状态信息之差超过了规定水平的一个以上的偏离任务。
状况对比显示部317针对每个任务对比现实信息收集部312收集到的多个任务各自的现实执行状况信息和虚拟信息收集部314收集到的多个任务各自的虚拟执行状况信息并显示于显示部(例如后述的显示器件395)。
图16是例示现实执行状况信息与虚拟执行状况信息的对比显示的表。该表将基于现实执行状况信息的执行时间长度和基于虚拟执行状况信息的执行时间长度按多个任务的每个进行对比显示。另外,该表将基于现实执行状况信息的对象工件9的状态信息和基于虚拟执行状况信息的对象工件9的状态信息按多个任务的每个进行对比显示。
显示方式改变部318使一个以上的偏离任务以与其他任务不同的显示方式显示于显示部。显示方式改变部318在图16例示的表中,通过颜色等样式改变对与偏离任务对应的行进行强调显示。
现实信号提取部321从现实信息数据库313中提取与一个以上的偏离任务对应的现实控制信号。例如,现实信号提取部321基于第一时间线中的执行开始时刻和执行完成时刻,从现实信息数据库313中提取与一个以上的偏离任务对应的现实控制信号。更具体而言,现实信号提取部321在第一时间线中,从现实信息数据库313中提取与从偏离任务的执行开始时刻到执行完成时刻为止的时刻建立对应地存储的现实控制信号。
虚拟信号提取部322从虚拟信息数据库315中提取与一个以上的偏离任务对应的虚拟控制信号。例如,虚拟信号提取部322基于第二时间线中的执行开始时刻以及执行完成时刻,从虚拟信息数据库315中提取与一个以上的偏离任务对应的虚拟控制信号。更具体而言,虚拟信号提取部322在第二时间线中,从虚拟信息数据库315中提取与从偏离任务的执行开始时刻到执行完成时刻为止的时刻建立对应地存储的虚拟控制信号。
信号对比显示部323将现实信号提取部321提取出的现实控制信号与虚拟信号提取部322提取出的虚拟控制信号进行对比并显示于显示部(例如后述的显示器件395)。例如,信号对比显示部323按照控制信号的类别,在使偏离任务的开始时刻一致的状态下,对比显示现实控制信号的时序图和虚拟控制信号的时序图。
图17是例示现实控制信号与虚拟控制信号的对比显示的图表。该图表包括关于信号类别A、B的对比显示。信号类别A是管辖本地设备2对第一致动器的控制信号,信号类别B是管辖本地设备2对第二致动器的控制信号。第一致动器和第二致动器协作。图17的(a)是关于信号类别A的现实控制信号A1的时序图,图17的(b)是与信号类别A对应的虚拟控制信号A2的时序图。图17的(c)是关于信号类别B的现实控制信号B1的时序图,图17的(d)是与信号类别B对应的虚拟控制信号B2的时序图。
将图17的(a)的图表与图17的(b)的图表进行对比可知,在现实控制信号A1成为低电平的期间T1和虚拟控制信号A2成为低电平的期间T2产生差。将图17的(a)的图表与图17的(c)的图表进行对比可知,现实控制信号A1成为低电平的期间T1与现实控制信号B1成为高电平的期间T11对应。将图17的(b)的图表与图17的(d)的图表进行对比可知,虚拟控制信号A2成为低电平的期间T2与虚拟控制信号B2成为高电平的期间T12对应。
然后,根据这些图表,估计现实控制信号B1与虚拟控制信号B2的偏离是偏离任务中的现实执行状况信息与虚拟执行状况信息的偏离的主要原因。例如,估计现实空间中的第二致动器的动作与虚拟空间中的第二致动器的动作之差为上述偏离的主动原因。更具体而言,在管辖本地设备2中,估计为由第二致动器驱动的部分与模型保存部311中的该部分的模型信息之差为上述偏离的主要原因。
数据管理装置300还可以具有进度显示部324。进度显示部324使显示部(例如后述的显示器件395)显示现实空间中的多个工件9各自的多个处理的进度。例如进度显示部324基于现实信息收集部312收集的现实执行状况信息,使显示部显示生产系统1正在执行的任务。
图18是示出多个处理的进度的显示例的图。例如进度显示部324通过流程图显示多个工件的每个工件的处理,在各流程图中,强调显示生产系统1正在执行的任务。图18的图表从左起依次示出针对工件A的处理的流程图、针对工件B的处理的流程图、针对工件C的处理的流程图、针对工件D的处理的流程图、以及针对工件E的处理的流程图。
如图19所示,数据管理装置300还可以具有程序获取部331、参数获取部332、程序生成部333以及程序分发部335作为功能块。
程序获取部331在各本地控制器100中获取通过示教而登记的工作任务的任务程序130,并存储到虚拟本地控制器400的任务程序保存部411。在工作任务的示教后,工作任务的执行条件也可以未定。例如,任务程序130中的条件头131也可以是空白。
参数获取部332在各本地控制器100中获取上述参数保持部112存储的一个以上的控制参数,并存储到虚拟本地控制器400的参数保持部412。
程序生成部333基于程序获取部331获取的工作任务和模型保存部311存储的模型信息,生成上述一个以上的空切任务,并存储到任务程序保存部411中。程序生成部333通过反复进行在空切任务的起点与终点之间追加能够避免与周边物体的冲突的经由点,直到能够在从起点到终点的整个区域中避免与周边物体的冲突为止,从而生成空切任务。程序生成部333也可以针对设想在任务程序保存部411存储的多个工作任务中依次执行的2个工作任务的全部组合,生成上述空切任务。
程序生成部333(执行条件生成部)基于多个虚拟本地设备的虚拟空间中的动作,生成上述一个以上的执行条件的至少一部分。例如,程序生成部333基于存储在虚拟信息数据库315中的环境信息来生成能否执行条件。
例如程序生成部333基于在虚拟信息数据库315中存储的环境信息,生成第一虚拟本地设备的任务的能否执行条件和第二虚拟本地设备的能否执行条件,以避免某个虚拟本地设备(第一虚拟本地设备)与其他虚拟本地设备(第二虚拟本地设备)在虚拟空间中的冲突。例如,在多个任务包括机器人(例如机器人2B、2C或者移动型机器人2D)所执行的第一机器人任务和第二机器人(例如机器人2B、2C或者移动型机器人2D)所执行的第二机器人任务的情况下,程序生成部333生成第一机器人任务的能否执行条件和第二机器人任务的能否执行条件,以避免对应于机器人的虚拟机器人与对应于第二机器人的第二虚拟机器人在虚拟空间中的冲突。
作为一例,程序生成部333导出执行第一机器人任务的虚拟机器人的动作区域与执行第二机器人任务的第二虚拟机器人的动作区域的重叠区域,以包含第二虚拟机器人不位于重叠区域内的方式生成第一机器人任务的能否执行条件,以包含第一虚拟机器人不位于重叠区域内的方式生成第二机器人任务的能否执行条件。程序生成部333将生成的能否执行条件登记到对应的任务的任务程序130的条件头131中。
程序生成部333也可以改变执行条件的至少一部分,以缩短多个虚拟本地设备基于已生成的执行条件进行动作的情况下的、虚拟空间中的多个处理的执行时间。例如,程序生成部333重复以下步骤:随机地改变确定多个任务各自的优先级的优先级组合,将优先级组合分别登记到对应的任务程序130的条件头131中;以及在改变后的优先级组合中评价多个处理的执行时间。程序生成部333采用多个处理的执行时间最短的优先级组合,将所采用的优先级组合分别登记到对应的任务程序130的条件头131中。
如以上说明的那样,将在进行了由程序生成部333进行的空切任务的追加和由程序生成部333进行的执行条件的追加之后由任务程序保存部411存储的程序以下称为“已生成的程序”。
程序分发部335将任务程序保存部411已生成的程序输出到对应的本地控制器100,并存储到该本地控制器100的任务程序保存部111中。例如,程序分发部335经由上级控制器200将已生成的程序输出到对应的本地控制器100。
如图20所示,数据管理装置300还可以具有虚拟调整部341、现实调整部342、状态变化检测部343、再现部344以及异常检测部345。
虚拟调整部341基于现实信号提取部321提取出的现实控制信号以及虚拟信号提取部322提取出的虚拟控制信号中的至少一者,对模型保存部311所存储的多个虚拟本地设备的模型的参数进行调整。以下,将现实信号提取部321提取出的现实控制信号称为“已提取的现实控制信号”,将虚拟信号提取部322提取出的虚拟控制信号称为“已提取的虚拟控制信号”。
例如虚拟调整部341改变对应的虚拟本地设备的模型的参数,以使虚拟本地控制器400的控制信号接近已提取的现实控制信号。作为一例,虚拟调整部341改变对应的虚拟本地设备的模型的参数,以缩小已提取的现实控制信号与已提取的虚拟控制信号之差。以下示出改变虚拟本地设备的模型的参数的具体例。
例1)改变上述配置、构造、各部的尺寸以及各部的质量等物体信息。
例2)配合与控制指令对应的本地设备2的动作时间长度,改变上述标准时间。
现实调整部342基于已提取的现实控制信号和已提取的虚拟控制信号中的至少一个来调整多个本地控制器100的控制参数(参数保持部112的参数)。例如,现实调整部342改变对应的本地控制器100的参数,以使本地控制器100的控制信号接近已提取的虚拟控制信号。例如,现实调整部342改变上述位置控制增益、速度控制增益或电流控制增益等参数,以缩小已提取的现实控制信号与已提取的虚拟控制信号之差。在现实调整部342改变了参数保持部112的参数的情况下,参数获取部332也可以从参数保持部112获取改变后的参数,并登记到参数保持部412。
通过现实调整部342改变参数保持部112的参数,由此已提取的现实控制信号与已提取的虚拟控制信号之差缩小的情况下,若改变后的参数覆盖参数保持部412,则存在已提取的现实控制信号与已提取的虚拟控制信号之差再次扩大的可能性。在该情况下,虚拟调整部341也可以进一步改变虚拟本地设备的模型的参数,以缩小再次扩大的差。由此,本地设备2的变化被反映到对应的虚拟本地设备的模型的参数中。
状态变化检测部343基于已提取的现实控制信号以及已提取的虚拟控制信号中的至少一者,来检测虚拟本地设备2以及虚拟本地设备2协作的装置的至少一者的状态变化。作为状态变化的具体例,可举出对控制指令的响应性的变化、对控制指令的追随精度的变化等。作为响应性的变化主要原因,可举出因摩擦的增大等而导致内部负荷增大。作为追踪精度的变化原因,可举出可动部的震动的扩大等。
再现部344在状态变化检测部343检测出状态变化的情况下,至少基于与发生了该状态变化的任务对应的现实控制信号,使管辖虚拟机器人再现执行该任务的管辖本地设备2的动作。以下,将发生了状态变化的任务称为“变化发生任务”。例如再现部344基于模型保存部311存储的虚拟本地设备的模型和与变化发生任务对应的现实控制信号,生成执行变化发生任务的本地设备2的动作的再现动态图像,并显示于显示部(例如后述的显示器件395)等。再现部344可以针对变化发生任务的前后的任务,也基于现实控制信号使管辖虚拟本地设备再现管辖本地设备2的动作。
数据管理装置300还可以具有异常检测部345。异常检测部345基于上级控制器200产生的警报信号等,检测管辖本地设备2和管辖本地设备2协作的装置中的至少一者的异常。再现部344可以在异常检测部345检测到异常的情况下,基于现实控制信号使管辖虚拟本地设备再现发生了该异常的时间点之前和之后的至少一者的管辖本地设备2的动作。
如图21所示,数据管理装置300还可以具有传感器信息处理部351和信息更新部352。传感器信息处理部351对从外部传感器5获取的传感器信息进行规定的处理。作为规定的处理的具体例,可举出如下处理:基于从作为外部传感器5的一例的相机获取的图像信息等,提取工件9的种类、位置、姿势等工件信息、本地设备2的位置、本地设备2的动作状态等设备信息、以及本地设备2相对于工件9的接近状态(工件信息及设备信息的复合信息)等。
信息更新部352基于传感器信息处理部351的处理结果,来更新现实信息数据库313中的最新的环境信息。在通过信息更新部352更新了现实信息数据库313中的最新的环境信息的情况下,现实信息收集部312根据更新结果来更新上级控制器200的环境信息保存部221的环境信息。由此,能够减轻上级控制器200中的信息处理负担,节约上级控制器200中的同步通信资源等。
图22是例示控制系统3的硬件结构的框图。如图22所示,上级控制器200具有电路290。电路290包括一个或多个处理器291、内存292、存储器293、通信端口294、295以及输入输出端口296。存储器293例如具有非易失性的半导体存储器等能够由计算机读取的存储介质。存储部293存储有程序,该程序用于使上级控制器200执行如下步骤:基于包含针对工件9的多个任务的处理和该处理的进度信息,将下一个任务的执行指令发送至本地控制器100;将环境信息存储于环境信息保存部221;以及基于执行指令和环境信息保存部221的环境信息,并根据本地控制器100使本地设备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执行如下步骤:基于包含针对工件9的多个任务的处理和该处理的进度信息,将上级控制器200发送的下一个任务的执行指令存储于指令缓冲器113;基于根据本地设备2对任务的执行而由上级控制器200更新的环境信息和执行指令,使本地设备2执行下一个任务;以及将下一个任务的执行状况发送至上级控制器200。例如,存储器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执行如下处理的程序:收集表示本地控制器100对多个任务的每个的执行状况的现实执行状况信息;收集表示虚拟本地控制器400对多个任务的每个的执行状况的虚拟执行状况信息;以及提取多个任务中的、现实执行状况信息与虚拟执行状况信息偏离的一个以上的偏离任务。例如,存储器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不一定限于通过程序来构成各功能的电路。例如,电路290、390、490也可以通过专用的逻辑电路或者集成了该逻辑电路的ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)来构成至少一部分的功能。本地控制器100、上级控制器200以及数据管理装置300的每个可以由能够相互通信的多个计算机构成,各计算机可以具有电路。例如,数据管理装置300可以由包含数据收集装置和模拟装置的多个计算机构成。在该情况下,上述数据管理装置300的各功能块也可以分散在多个计算机中而构成。作为一例,虚拟本地控制器400、虚拟上级控制器500、模型保存部311、程序获取部331、程序发布部335、程序生成部333以及参数获取部332可以构成为模拟装置,现实信息收集部312、现实信息数据库313、虚拟信息收集部314、虚拟信息数据库315、任务比较部316、状况对比显示部317、显示方式改变部318、现实信号提取部321、虚拟信号提取部322、信号对比显示部323、进度显示部324、虚拟调整部341、现实调整部342、状态变化检测部343、再现部344、异常检测部345、传感器信息处理部351以及信息更新部352可以构成为数据收集装置。数据收集装置可以进一步进行各本地控制器100的任务程序130以及控制参数的收集/存储和向各本地控制器100分发任务程序130。在该情况下,程序获取部331可以经由数据收集装置从本地控制器100获取任务程序130。参数获取部332可以经由数据收集装置从本地控制器100获取控制参数。程序分发部335可以经由数据收集装置将已生成的程序输出到本地控制器100。另外,也可以通过将作为模拟装置的功能汇总为一组的程序,在1台计算机中构成模拟装置,通过将作为数据收集装置的功能汇总为一组的程序,在相同的1台计算机中构成数据收集装置。
[控制步骤]
作为控制方法的一例,示出控制系统3进行的控制步骤。该控制步骤包括:基于包含针对工件9的多个任务的处理和该处理的进度信息,向本地控制器100发送下一个任务的执行指令;在环境信息保存部221中存储环境信息;以及基于执行指令和环境信息保存部221的环境信息,根据本地控制器100使本地设备2执行的动作来更新环境信息。
另外,控制步骤包括:基于包含针对工件9的多个任务的处理和该处理的进度信息,将上级控制器200发送的下一个任务的执行指令存储于指令缓冲器;基于根据本地设备2对任务的执行而由上级控制器200更新的环境信息和执行指令,使本地设备2执行下一个任务;以及将下一个任务的执行状况发送至上级控制器200。
在另一观点中,该控制步骤包括:在现实空间中使本地设备2执行针对工件9的处理所包含的多个任务;在虚拟空间中使虚拟本地设备执行多个任务;收集表示本地控制器100对多个任务的每个的执行状况的现实执行状况信息;收集表示虚拟本地控制器400对多个任务的每个的执行状况的虚拟执行状况信息;以及提取多个任务中的、现实执行状况信息与虚拟执行状况信息偏离的一个以上的偏离任务。
以下,将控制步骤详细地划分为上级控制器200执行的进度管理步骤、本地控制器100执行的控制步骤、数据管理装置300进行的数据管理步骤而例示。至少上级控制器200执行的进度管理步骤和本地控制器100执行的控制步骤并行地执行。
(进度管理步骤)
如图23所示,上级控制器200依次执行步骤S01、S02、S03、S04、S05、S06。在步骤S01中,订单获取部212等待来自生产管理控制器4的生产订单的获取。在步骤S02中,处理分配部213对生产订单指定的工件9分配处理并存储到处理保存部214。
在步骤S03中,指令输出部215基于处理保存部214存储的处理和该处理的进度信息输出下一个任务的执行指令。在处理保存部214中,在对多个工件9分别分配多个处理的情况下,指令输出部215输出多个处理各自的多个下一个任务的执行指令。
在步骤S04中,环境更新部222从多个本地控制器100的每个获取本地设备2的状态信息,获取外部传感器5的检测结果,基于该状态信息及检测结果来更新环境信息。在步骤S05中,进度更新部216根据在步骤S04中获取的状态信息所包含的任务的完成通知,来更新处理保存部214的进度信息。在状态信息不包含任务的完成通知的情况下,进度信息不改变。
在步骤S06中,指令输出部215确认在处理保存部214中分配给工件9的处理是否完成。例如,指令输出部215确认处理保存部214中的所有任务是否已完成。
在步骤S06中,在判定为残留有未完成的任务的情况下,上级控制器200使处理返回到步骤S03。之后,上级控制器200例如在预定周期的同步通信循环中重复步骤S03~S06,直到处理保存部214中的全部任务完成为止。在步骤S06中,在判定为全部任务已完成的情况下,上级控制器200使处理返回到步骤S01。上级控制器200反复执行以上的处理。
(控制步骤)
如图24所示,本地控制器100首先执行步骤S11、S12、S13、S14。在步骤S11中,选择部115等待在指令缓冲器113中存储一个以上的下一个任务的执行指令。在步骤S12中,环境信息获取部114获取保存在环境信息保存部221中的环境信息。
在步骤S13中,选择部115基于一个以上的下一个任务各自的执行条件和环境信息保存部221的环境信息来确认能否执行一个以上的下一个任务的每个任务。例如,选择部115确认环境信息是否满足一个以上的下一个任务各自的能否执行条件。在步骤S14中,选择部115确认是否存在可执行的下一个任务。
在步骤S14中判定为不存在可执行的下一个任务的情况下,本地控制器100使处理返回到步骤S11。以后,在规定周期的通信循环中重复步骤S11~S14,直到某一个下一个任务成为可执行为止。通信循环也可以与上述同步通信循环同步。
在步骤S14中判定为存在可执行的下一个任务的情况下,本地控制器100执行步骤S15、S16、S17、S18。在步骤S15中,选择部115在可执行的下一个任务中选择优先级最高的下一个任务。以下,将选择部115选择出的下一个任务称为“已选择任务”。
在步骤S16中,控制部116使管辖本地设备2执行已选择任务中的1个控制周期的量。在步骤S17中,状态输出部117将管辖本地设备2的状态信息输出到上级控制器200。在步骤S18中,控制部116确认已选择任务的执行是否完成。
在步骤S18中判定为已选择任务的执行未完成的情况下,本地控制器100使处理返回到步骤S16。以后,本地控制器100在规定周期的控制循环中重复步骤S16~S18,直到已选择任务的执行完成为止。控制周期也可以与上述同步通信循环同步。
在步骤S18中判定为已选择任务的执行完成的情况下,本地控制器100执行步骤S19。在步骤S19中,状态输出部117将已选择任务的完成通知包含在状态信息中并输出到上级控制器200。然后,本地控制器100使处理返回到步骤S11。本地控制器100反复进行以上的处理。
控制步骤可以还包括基于上述等待时间来调整下一个任务的选择定时的步骤。图25是例示包含基于等待时间的下一个任务的选择定时的调整的控制步骤的流程图。如图25所示,本地控制器100首先执行与步骤S11~S14同样的步骤S21~S24。在步骤S21中,选择部115等待在指令缓冲器113中存储一个以上的下一个任务的执行指令。在步骤S22中,环境信息获取部114获取保存在环境信息保存部221中的环境信息。
在步骤S23中,选择部115基于一个以上的下一个任务各自的执行条件和环境信息保存部221的环境信息,来确认能否执行一个以上的下一个任务。例如,选择部115确认环境信息是否满足一个以上的下一个任务各自的能否执行条件。在步骤S24中,选择部115确认是否存在可执行的下一个任务。
在步骤S24中判定为不存在可执行的下一个任务的情况下,本地控制器100使处理返回到步骤S21。在步骤S24中判定为存在可执行的下一个任务的情况下,本地控制器100执行步骤S25。在步骤S25中,选择定时调节部121确认是否有在当前时间点不可执行但优先级比可执行的下一个任务高的任务(以下,将其称为“选择候选任务”)。
在步骤S25中判定为存在选择候选任务的情况下,本地控制器100执行步骤S26。在步骤S26中,选择定时调节部121确认选择候选任务变为可执行为止的等待时间是否超过了规定的阈值。作为等待时间的具体例子,可举出在选择候选任务之前到其他的本地设备2执行的上述机器任务的完成为止的等待时间。
在步骤S26中,在判定为到选择候选任务成为可执行为止的等待时间未超过规定的阈值的情况下,本地控制器100不选择可执行的下一个任务,而使处理返回到步骤S22。由此,下一个任务的选择定时成为经过上述等待时间时以后。在经过了等待时间之后,上述选择候选任务被施加到可执行的下一个任务。
在步骤S26中,在判定为选择候选任务成为可执行为止的等待时间超过了规定的阈值的情况下,本地控制器100执行步骤S27。在步骤S25中判定为不存在选择候选任务的情况下,本地控制器100不执行步骤S26而执行步骤S27。在步骤S27中,选择部115在可执行的下一个任务中选择优先级最高的下一个任务。以下,将选择部115选择出的下一个任务称为“已选择任务”。
接着,本地控制器100执行步骤S28、S29、S31。在步骤S28中,控制部116使管辖本地设备2执行已选择任务中的1个控制周期的量。在步骤S29中,状态输出部117将管辖本地设备2的状态信息输出到上级控制器200。在步骤S31中,控制部116确认已选择任务的执行是否完成。
在步骤S31中判定为已选择任务的执行未完成的情况下,本地控制器100使处理返回到步骤S28。以后,本地控制器100在规定周期的控制循环中重复步骤S28~S31,直到已选择任务的执行完成为止。控制周期也可以与上述同步通信循环同步。
在步骤S31中判定为已选择任务的执行完成的情况下,本地控制器100执行步骤S32。在步骤S32中,状态输出部117将已选择任务的完成通知包含在状态信息中并输出到上级控制器200。然后,本地控制器100使处理返回到步骤S21。本地控制器100反复进行以上的处理。
控制步骤可以还包括:在管辖本地设备2对第二任务的执行中,能够执行优先级比第二任务高的第一任务的情况下,中断第二任务的执行而选择第一任务。图26是例示包含执行中的任务的中断的控制步骤的流程图。图26示出在控制步骤中开始执行已选择任务之后到输出任务的完成通知为止的步骤。
如图26所示,本地控制器100首先执行步骤S41、S42、S43。在步骤S41中,控制部116与步骤S16同样地使管辖本地设备2执行已选择任务中的1个控制周期的量。在步骤S42中,状态输出部117将管辖本地设备2的状态信息输出到上级控制器200。在步骤S43中,控制部116确认已选择任务的执行是否完成。
在步骤S43中判定为已选择任务的执行未完成的情况下,本地控制器100执行步骤S44、S45、S46。在步骤S44中,环境信息获取部114获取保存在环境信息保存部221中的环境信息。在步骤S45中,选择部115基于一个以上的下一个任务各自的执行条件和环境信息保存部221的环境信息,来确认能否执行一个以上的下一个任务的每个。例如,选择部115确认环境信息是否满足一个以上的下一个任务各自的能否执行条件。在步骤S46中,选择部115确认是否存在可执行的下一个任务。以下,将可执行的下一个任务称为“替换候选任务”。
在步骤S46中判定为存在可执行的下一个任务的情况下,本地控制器100执行步骤S47。在步骤S47中,选择部115确认替换候选任务的优先级是否高于执行中的任务的优先级。
在步骤S47中判定为替换候选任务的优先级高于执行中的任务的优先级的情况下,本地控制器100执行步骤S48。在步骤S48中,选择部115使已选择任务的执行中断,使选择部115选择替换候选任务,由此,确认与在已选择任务完成后使选择部115选择替换候选任务相比,是否能够缩短多个处理的执行时间。以下,将使已选择任务的执行中断并使选择部115选择替换候选任务的情况称为“第一情形”。将在已选择任务完成后使选择部115选择替换候选任务的情况称为“第二情形”。根据第一情形,作为与第二情形相比能够缩短多个处理的执行时间的简易的确认方法,选择部115可以确认已选择任务的剩余时间是否超过了规定的阈值。
在步骤S48中,在判定为即使根据第一情形也不能说与第二情形相比能够缩短多个处理的执行时间的情况下,本地控制器100使处理返回到步骤S42。例如,在已选择任务的剩余时间为规定的阈值以下的情况下,本地控制器100使处理返回到步骤S42。在步骤S46中判定为不存在可执行的下一个任务的情况下,以及在步骤S47中判定为替换候选任务的优先级不高于执行中的任务的优先级的情况下,本地控制器100也使处理返回到步骤S42。以后,只要不能够执行优先级更高的下一个任务,就执行到完成已选择任务为止。
在步骤S43中判定为已选择任务的执行完成的情况下,本地控制器100执行步骤S49。在步骤S49中,状态输出部117将已选择任务的完成通知包含在状态信息中并输出到上级控制器200。
在步骤S48中,在根据第一情形判定为与第二情形相比能够缩短多个处理的执行时间的情况下,本地控制器100执行步骤S51、S52、S53、S54、S55。在步骤S51中,中断部122使控制部116中断执行中的任务。中断部122可以通过控制部116使管辖本地设备2返回到中断的任务开始前的状态。在步骤S52中,中断部122使选择部115选择替换候选任务。以下,将替换候选任务称为“已替换任务”。
在步骤S53中,控制部116使管辖本地设备2执行已替换任务中的1个控制周期的量。在步骤S54中,状态输出部117将管辖本地设备2的状态信息输出到上级控制器200。在步骤S55中,控制部116确认已替换任务的执行是否完成。
在步骤S55中判定为已替换任务的执行未完成的情况下,本地控制器100使处理返回到步骤S53。以后,本地控制器100在规定周期的控制循环中重复步骤S53~S55,直到已选择任务的执行完成为止。控制循环也可以与上述同步通信循环同步。
在步骤S55中判定为已替换任务的执行完成的情况下,本地控制器100执行步骤S56。在步骤S56中,状态输出部117将已替换任务的完成通知包含在状态信息中并输出到上级控制器200。以上,到任务的完成通知为止的步骤结束。
(数据管理步骤)
数据管理装置300执行的数据管理步骤大致分为对比步骤、程序生成步骤、调整步骤、环境信息更新步骤。以下,分别详细例示对比步骤、程序生成步骤和调整步骤。
(对比步骤)
对比步骤包括现实信息的收集步骤、虚拟信息的收集步骤、以及偏离任务的提取步骤。图27是例示现实信息的收集步骤的流程图。如图27所示,数据管理装置300依次执行步骤S61、S62、S63、S64。在步骤S61中,现实信息收集部312等待上级控制器200开始执行与生产订单相应的处理。
在步骤S62中,现实信息收集部312从处理保存部214获取表示本地控制器100对多个任务的每个的执行状况的现实执行状况信息,并且将该现实执行状况信息存储到现实信息数据库313中。例如,现实信息收集部312收集包括第一时间线中的多个任务的每个的执行开始时刻和执行完成时刻的现实执行状况信息。另外,现实信息收集部312从环境信息保存部221获取包含上述现实控制信号的环境信息,并且将所获取的环境信息存储到现实信息数据库313中。
在步骤S63中,进度显示部324基于现实信息收集部312所获取的现实执行状况信息,使显示部显示生产系统1正在执行的任务。在步骤S64中,现实信息收集部312确认上级控制器200对处理的执行是否完成。
在步骤S64中判定为上级控制器200对处理的执行未完成的情况下,数据管理装置300使处理返回到步骤S62。之后,数据管理装置300反复进行现实执行状况信息及环境信息的获取/存储和执行中的任务的显示,直到上级控制器200对处理的执行完成为止。在步骤S64中判定为上级控制器200对处理的执行完成的情况下,现实信息的收集步骤完成。
图28是例示虚拟信息的收集步骤的流程图。数据管理装置300依次执行步骤S71、S72、S73。在步骤S71中,虚拟信息收集部314等待虚拟上级控制器500开始执行与生产订单相应的处理。
在步骤S72中,虚拟信息收集部314从处理保存部514获取表示虚拟本地控制器400对多个任务的每个的执行状况的虚拟执行状况信息,并存储到虚拟信息数据库315中。例如,虚拟信息收集部314收集包含第二时间线中的多个任务各自的执行开始时刻以及执行完成时刻的虚拟执行状况信息。另外,虚拟信息收集部314从环境信息保存部521获取包含上述虚拟控制信号的虚拟环境信息,并存储到虚拟信息数据库315中。在步骤S73中,虚拟信息收集部314确认虚拟上级控制器500对处理的执行是否完成。
在步骤S73中判定为虚拟上级控制器500对处理的执行未完成的情况下,数据管理装置300使处理返回到步骤S72。以后,数据管理装置300反复进行虚拟执行状况信息以及虚拟环境信息的获取/存储,直到虚拟上级控制器500对处理的执行完成为止。在步骤S73中判定为虚拟上级控制器500对处理的执行完成的情况下,虚拟信息的收集步骤完成。
图29是例示偏离任务的提取步骤的流程图。数据管理装置300首先执行步骤S81、S82、S83。在步骤S81中,任务比较部316选择处理中的最初的任务。以下,将任务比较部316选择出的任务称为“比较对象任务”。在步骤S82中,任务比较部316从现实信息数据库313中提取比较对象任务的现实执行状况信息,从虚拟信息数据库315中提取比较对象任务的虚拟执行状况信息,并将提取出的现实执行状况信息与虚拟执行状况信息进行比较。在步骤S83中,任务比较部316确认提取出的现实执行状况信息与提取出的虚拟执行状况信息是否存在偏离。
在步骤S83中判定为提取出的现实执行状况信息与提取出的虚拟执行状况信息存在偏离的情况下,数据管理装置300执行步骤S84。在步骤S84中,任务比较部316将比较对象任务追加到偏离任务的提取结果中。
接下来,数据管理装置300执行步骤S85。在步骤S83中,在判定为提取出的现实执行状况信息与提取出的虚拟执行状况信息不存在偏离的情况下,数据管理装置300不执行步骤S84而执行步骤S85。在步骤S85中,任务比较部316针对处理的全部任务,确认现实执行状况信息与虚拟执行状况信息的比较是否完成。
在步骤S85中判定为处理中残留有现实执行状况信息与虚拟执行状况信息的比较未完成的任务的情况下,数据管理装置300执行步骤S88。在步骤S86中,任务比较部316从处理中选择下一个比较对象任务。然后,数据管理装置300使处理返回到步骤S82。之后,针对每个任务反复比较现实执行状况信息和虚拟执行状况信息,直到全部任务的比较完成为止。
在步骤S85中,针对处理的全部任务,在判定为现实执行状况信息与虚拟执行状况信息的比较完成的情况下,偏离任务的检测步骤完成。
数据管理装置300执行的对比步骤可以进一步包括图30所例示的执行状况的对比显示步骤。在该情况下,数据管理装置300依次执行步骤S91、S92、S93。在步骤S91中,状况对比显示部317生成将现实信息收集部312收集到的多个任务各自的现实执行状况信息和虚拟信息收集部314收集到的多个任务各自的虚拟执行状况信息针对每个任务进行对比的对比显示画面。该对比显示画面包含确定多个任务的每个任务的现实执行状况信息以及虚拟执行状况信息的显示方式的样式数据。
在步骤S92中,显示方式改变部318将上述样式数据中的一个以上的偏离任务的显示方式改变为其他任务的显示方式。在步骤S93中,状况对比显示部317使显示部显示由显示方式改变部318改变了样式数据的对比显示画面。以上,执行状况的对比显示步骤完成。
对比步骤还可以包括图31所例示的控制信号的提取步骤。如图31所示,数据管理装置300首先执行步骤S101、S102、S103、S104。在步骤S101中,现实信号提取部321从任务比较部316提取出的一个以上的偏离任务中选择最初的偏离任务。以下,将所选择的偏离任务称为“已选择偏离任务”。
在步骤S102中,现实信号提取部321从现实信息数据库313中提取与已选择偏离任务对应的现实控制信号。在步骤S103中,虚拟信号提取部322从虚拟信息数据库315中提取与已选择偏离任务对应的虚拟控制信号。在步骤S104中,确认现实信号提取部321针对一个以上的偏离任务的全部提取现实控制信号以及虚拟控制信号是否完成。
在步骤S104中判定为残留有未进行现实控制信号以及虚拟控制信号的提取的偏离任务的情况下,数据管理装置300执行步骤S105。在步骤S105中,现实信号提取部321从一个以上的偏离任务中选择下一个偏离任务。然后,数据管理装置300使处理返回到步骤S102。以后,对于一个以上的偏离任务的全部,数据管理装置300反复进行现实控制信号以及虚拟控制信号的提取,直到现实控制信号以及虚拟控制信号的提取完成为止。在步骤S104中,在判定为针对一个以上的偏离任务的全部完成现实控制信号以及虚拟控制信号的提取的情况下,控制信号的提取步骤完成。
对比步骤可以还包括图32所例示的控制信号的对比显示步骤。如图32所示,数据管理装置300依次执行步骤S111、S112、S113。在步骤S111中,信号对比显示部323基于针对输入器件396的用户输入等,选择一个以上的偏离任务中的某一个。例如,信号对比显示部323在执行状况的对比显示画面中,基于对强调显示的偏离任务进行选择的输入,选择一个以上的偏离任务中的任意一个。以下,将所选择的偏离任务称为“显示对象偏离任务”。
在步骤S112中,信号对比显示部323生成信号对比显示画面,信号对比显示画面将与显示对象偏离任务建立对应而由现实信号提取部321提取出的现实控制信号和与显示对象偏离任务建立对应而由虚拟信号提取部322提取出的虚拟控制信号按照控制信号的类别的每个进行对比显示。在步骤S113中,信号对比显示部323使信号对比显示画面显示于显示部。以上,控制信号的对比显示步骤完成。
(程序生成步骤)
如图33所示,数据管理装置300依次执行步骤S121、S122、S123、S124、S125、S126、S127。在步骤S121中,程序获取部331在各本地控制器100中获取通过示教而登记的工作任务的任务程序130,并存储到虚拟本地控制器400的任务程序保存部411。在步骤S122中,参数获取部332在各本地控制器100中获取上述参数保持部112存储的一个以上的参数,并存储到虚拟本地控制器400的参数保持部412。在步骤S123中,程序生成部333基于程序获取部331获取的工作任务和模型保存部311存储的模型信息,生成上述一个以上的空切任务,并存储到任务程序保存部411中。
在步骤S124中,处理分配部513对生产订单指定的工件9分配处理,并且将处理存储到处理保存部514中。在步骤S125中,数据管理装置300生成能否执行条件。关于步骤S125的具体内容将在后面叙述。在步骤S126中,数据管理装置300生成优先级。关于步骤S126的具体内容将在后面叙述。在步骤S127中,程序分发部335将任务程序保存部411的已生成的程序输出到对应的本地控制器100,并存储到该本地控制器100的任务程序保存部111中。以上,程序生成步骤完成。
图34是例示步骤S125中的能否执行条件的生成步骤的流程图。如图34所示,数据管理装置300依次执行步骤S131、S132、S133、S134。在步骤S131中,虚拟上级控制器500以及虚拟本地控制器400基于任务程序保存部411的多个任务程序130,使多个虚拟本地设备执行虚拟空间中的多个任务。
在步骤S132中,程序生成部333基于在虚拟信息数据库315中存储的虚拟环境信息,来提取虚拟本地设备彼此的动作范围的重叠区域。例如程序生成部333计算第一虚拟本地设备的动作区域与第二虚拟本地设备的动作区域的重叠区域。
在步骤S133中,程序生成部333生成多个任务各自的能否执行条件,使得二个以上的虚拟本地设备在重叠区域不会进入相同的重叠区域。例如,以包含第二虚拟本地设备不位于重叠区域内的情况的方式生成第一虚拟本地设备的任务的能否执行条件,以包含第一虚拟本地设备不位于重叠区域内的情况的方式生成第二虚拟本地设备的任务的能否执行条件。在步骤S134中,程序生成部333将生成的能否执行条件登记到对应的任务的任务程序130的条件头131中。以上,能否执行条件的生成步骤完成。
图35是例示步骤S126中的优先级的生成步骤的流程图。如图35所示,数据管理装置300首先执行步骤S141、S142、S143、S144。在步骤S141中,程序生成部333随机地临时决定确定多个任务各自的优先级的优先级组合,并将临时决定的优先级组合的每个登记到对应的任务程序130的条件头131中。在步骤S142中,虚拟上级控制器500以及虚拟本地控制器400基于任务程序保存部411的多个任务程序130,使多个虚拟本地设备执行虚拟空间中的多个任务。
在步骤S143中,程序生成部333基于存储在虚拟信息数据库315中的虚拟执行状况信息,对多个处理的执行时间进行评价。在步骤S144中,程序生成部333确认改变优先级、评价多个处理的执行时间的试行次数是否达到了规定次数。
在步骤S144中,在判定为试行次数未达到规定次数的情况下,数据管理装置300执行步骤S145。在步骤S145中,程序生成部333随机地改变优先级组合,将改变后的优先级组合的每个登记到对应的任务程序130的条件头131中。然后,本地控制器100使处理返回到步骤S142。之后,反复进行优先级组合的改变和多个处理的执行时间的评价,直到上述试行次数达到规定次数为止。
在步骤S144中判定为试行次数达到了规定次数的情况下,数据管理装置300执行步骤S146。在步骤S146中,程序生成部333在上述试行中采用多个处理的执行时间最短的优先级组合,将所采用的优先级组合的每个登记到对应的任务程序130的条件头131中。以上,优先级的生成步骤完成。
(调整步骤)
如图36所示,数据管理装置300依次执行步骤S151、S152、S153、S154、S155。在步骤S151中,数据管理装置300执行上述对比步骤。在步骤S152中,数据管理装置300基于在步骤S151的对比步骤中提取的现实控制信号和虚拟控制信号中的至少一个,调整多个虚拟本地设备的模型的参数。关于步骤S152的具体的处理内容在后面叙述。在步骤S153中,数据管理装置300等待经过规定期间。在步骤S154中,数据管理装置300执行上述对比步骤。
在步骤S155中,数据管理装置300基于在步骤S154的对比步骤中提取的现实控制信号和虚拟控制信号中的至少一个来调整多个本地控制器100的控制参数(参数保持部112的参数)。关于步骤S155的具体的处理内容在后面叙述。以上,完成调整步骤。
图37是例示步骤S152中的模型的参数的调整步骤的流程图。如图37所示,数据管理装置300首先执行步骤S161、S162、S163、S164。在步骤S161中,虚拟调整部341从任务比较部316所提取的一个以上的偏离任务中选择最初的偏离任务。以下,将所选择的偏离任务称为“虚拟调整偏离任务”。
在步骤S162中,虚拟调整部341基于与虚拟调整偏离任务对应的现实控制信号和虚拟控制信号,来导出成为现实执行状况信息与虚拟执行状况信息偏离的主要原因的虚拟本地设备的模型化误差。
在步骤S163中,虚拟调整部341基于在步骤S162中导出的模型化误差,对模型保存部311所存储的模型的参数进行修正。在步骤S164中,确认虚拟调整部341针对一个以上的偏离任务的全部是否完成模型的参数的调整。
在步骤S164中,在判定为残留有模型的参数的调整未完成的偏离任务的情况下,数据管理装置300执行步骤S165。在步骤S165中,虚拟调整部341从一个以上的偏离任务中选择下一个偏离任务。然后,数据管理装置300使处理返回到步骤S161。以后,对于一个以上的偏离任务的全部,数据管理装置300反复进行模型的参数的调整直到模型的调整完成为止。在步骤S164中,针对一个以上的偏离任务的全部,在判定为模型的参数的调整完成的情况下,模型的参数的调整步骤完成。
图38是例示步骤S153中的控制参数的调整步骤的流程图。数据管理装置300首先执行步骤S171、S172、S173。在步骤S171中,现实调整部342从任务比较部316所提取的一个以上的偏离任务中选择最初的偏离任务。以下,将所选择的偏离任务称为“现实调整偏离任务”。
在步骤S172中,现实调整部342基于与现实调整偏离任务对应的现实控制信号和虚拟控制信号,选择能够缩小现实执行状况信息与虚拟执行状况信息之间的偏离的控制参数。以下,将所选择的控制参数称为“已选择控制参数”。在步骤S173中,现实调整部342确认是否能够通过已选择控制参数将与现实调整偏离任务对应的现实控制信号与虚拟控制信号之差抑制到期望的水平。
在步骤S173中,在判定为能够通过已选择控制参数将与现实调整偏离任务对应的现实控制信号与虚拟控制信号之差抑制到期望的水平的情况下,数据管理装置300执行步骤S174、S175。在步骤S174中,现实调整部342改变已选择控制参数,以能够将与现实调整偏离任务对应的现实控制信号与虚拟控制信号之差抑制到期望的水平,并且将改变结果登记到对应的本地控制器100的参数保持部112中。在步骤S175中,现实调整部342针对一个以上的偏离任务的全部确认控制参数的调整是否完成。
在步骤S175中,在判定为残留有控制参数的调整未完成的偏离任务的情况下,数据管理装置300执行步骤S176。在步骤S176中,现实调整部342从一个以上的偏离任务中选择下一个偏离任务。然后,数据管理装置300使处理返回到步骤S171。以后,对于一个以上的偏离任务的全部,数据管理装置300反复进行控制参数的调整,直到控制参数的调整完成为止。
在步骤S175中,针对一个以上的偏离任务的全部,在判定为控制参数的调整完成的情况下,控制参数的调整步骤完成。在步骤S173中,在判定为无法通过已选择控制参数将与现实调整偏离任务对应的现实控制信号与虚拟控制信号之差抑制到期望的水平的情况下,数据管理装置300执行步骤S177、S178、S179。
在步骤S177中,状态变化检测部343基于与现实调整偏离任务对应的现实控制信号和虚拟控制信号,检测虚拟本地设备2以及该虚拟本地设备2协作的装置的至少一个的状态变化。在步骤S178中,状态变化检测部343使显示部显示检测出状态变化的情况。
在步骤S179中,再现部344基于状态变化检测部343检测出状态变化的任务(上述变化产生任务)所对应的现实控制信号,使管辖虚拟机器人再现执行变化发生任务的管辖本地设备2的动作。例如,再现部344基于模型保存部311存储的虚拟本地设备的模型和与变化产生任务对应的现实控制信号,生成执行变化产生任务的本地设备2的动作的再现动态图像,并显示于显示部等。之后,数据管理装置300中止控制参数的调整步骤。
图39是示出控制参数的调整步骤的变形例的流程图。在该流程图中,步骤S181~S189与步骤S171~S179相同。图39的调整步骤在控制参数的调整完成的步骤S185之后,还具有步骤S191~S193。在该调整步骤中,数据管理装置300依次执行步骤S191、S192、S193。在步骤S191中,参数获取部332从参数保持部112获取改变后的控制参数,并登记到参数保持部412中。在步骤S192中,数据管理装置300执行上述对比步骤。在步骤S193中,数据管理装置300执行与步骤S152相同的调整步骤。通过附加的步骤S191~S193,本地设备2的变化被反映到对应的虚拟本地设备的模型的参数中。
数据管理装置300执行的数据管理步骤除了检测出状态变化时的再现显示步骤以外,还可以包括异常检测时的再现显示步骤。图40是例示再现显示步骤的流程图。如图40所示,数据管理装置300依次执行步骤S201、S202。在步骤S201中,再现部344基于上级控制器200产生的警报信号等,等待异常检测部345检测管辖本地设备2和管辖本地设备2协作的装置的至少一个的异常。在步骤S202中,再现部344基于现实控制信号使管辖虚拟本地设备再现发生了异常的时间点之前和之后的至少一个的管辖本地设备2的动作。以上,再现显示步骤完成。
(环境信息更新步骤)
如图41所示,数据管理装置300依次执行步骤S211、S212、S213、S214。在步骤S211中,传感器信息处理部351获取外部传感器5检测出的传感器信息。在步骤S212中,传感器信息处理部351对从外部传感器5获取的传感器信息进行规定的处理。在步骤S213中,信息更新部352基于传感器信息处理部351的处理结果,来更新现实信息数据库313中的最新的环境信息。在步骤S214中,现实信息收集部312根据上述最新的环境信息的更新结果来更新上级控制器200的环境信息保存部221的环境信息。以上,环境信息更新步骤完成。
[本实施方式的效果]
如以上说明的那样,控制系统3包括:本地控制器100(机器人控制器),在现实空间中使机器人2B、2C、10执行针对工件9的处理中包含的多个任务;虚拟本地控制器400(虚拟机器人控制器),在虚拟空间中使虚拟机器人执行多个任务;现实信息收集部312,收集表示本地控制器100对多个任务的每个的执行状况的现实执行状况信息;虚拟信息收集部314,收集表示虚拟本地控制器400对多个任务的每个的执行状况的虚拟执行状况信息;以及任务比较部316,提取多个任务中的、现实执行状况信息与虚拟执行状况信息偏离的一个以上的偏离任务。在该情况下,由于能够针对多个任务的每个确认执行状况的偏离,所以容易确定偏离主要原因。因此,控制系统3对于提高生产计划的精度是有效的。
现实执行状况信息和虚拟执行状况信息中可以包含对应的任务的执行时间。在该情况下,能够容易地将执行状况数值化,评价偏离的程度。
控制系统3可以还包括:状况对比显示部317,针对每个任务对比现实信息收集部312收集到的多个任务各自的现实执行状况信息和虚拟信息收集部314收集到的多个任务各自的虚拟执行状况信息并显示于显示部;以及显示方式改变部318,将一个以上的偏离任务以与其他任务不同的显示方式显示于显示部。在该情况下,能够使用户容易明白地视认任务比较部316对一个以上的任务的提取结果。
控制系统3可以还包括:现实信息数据库313,存储本地控制器100的现实控制信号;虚拟信息数据库315,存储虚拟本地控制器400的虚拟控制信号;现实信号提取部321,从现实信息数据库313中提取与一个以上的偏离任务对应的现实控制信号;以及虚拟信号提取部322,从虚拟信息数据库315中提取与一个以上的偏离任务对应的虚拟控制信号。在该情况下,偏离主要原因的确定变得更容易。
现实信息收集部312收集包含第一时间线中的多个任务各自的执行开始时刻和执行完成时刻的现实执行状况信息,虚拟信息收集部314收集包含第二时间线中的多个任务各自的执行开始时刻和执行完成时刻的虚拟执行状况信息,现实信息数据库313将现实控制信号与沿着第一时间线的时刻建立对应地存储,虚拟信息数据库315将虚拟控制信号与沿着第二时间线的时刻建立对应地存储,现实信号提取部321基于第一时间线中的执行开始时刻和执行完成时刻,从现实信息数据库313中提取与一个以上的偏离任务对应的现实控制信号,虚拟信号提取部322基于第二时间线中的执行开始时刻和执行完成时刻,从虚拟信息数据库315中提取与一个以上的偏离任务对应的虚拟控制信号。在该情况下,能够容易比较每个任务的控制信号。
控制系统3可以还包括信号对比显示部323,其将现实信号提取部321提取出的现实控制信号与虚拟信号提取部322提取出的虚拟控制信号进行对比并显示于显示部。在该情况下,能够使用户容易明白地视认偏离任务中的现实控制信号与虚拟控制信号的差异。
控制系统3可以还包括虚拟调整部341,其基于现实信号提取部321提取出的现实控制信号以及虚拟信号提取部322提取出的虚拟控制信号中的至少一个来调整虚拟机器人的模型的参数。在该情况下,能够容易且持续地提高基于虚拟空间的现实空间的再现精度。
控制系统3可以还包括现实调整部342,其基于现实信号提取部321提取的现实控制信号和虚拟信号提取部322提取的虚拟控制信号中的至少一个来调整本地控制器100的参数。在该情况下,能够以虚拟空间为基准容易地调整现实空间。
控制系统3可以还具有状态变化检测部343,其基于现实信号提取部321提取出的现实控制信号和虚拟信号提取部322提取出的虚拟控制信号中的至少一个来检测机器人2B、2C、10以及该机器人2B、2C、10协作的装置的至少一者的状态变化。在该情况下,能够提前检测装置的状态变化。
控制系统3可以还包括再现部344,其在状态变化检测部343检测出状态变化的情况下,至少基于与产生了该状态变化的任务对应的现实控制信号,使虚拟机器人再现执行该任务的机器人2B、2C、10的动作。在该情况下,能够使用户容易明白地视认状态变化对机器人2B、2C、10的动作带来的影响。
控制系统3还包括异常检测部345,其检测机器人2B、2C、10以及该机器人2B、2C、10协作的装置的至少一者的异常,再现部344可以在异常检测部345检测到异常的情况下,基于现实控制信号使虚拟机器人再现发生了该异常的时刻之前和之后的至少一者的机器人2B、2C、10的动作。在该情况下,也能够使用户容易明白地视认异常检测时的机器人2B、2C、10的动作。
控制系统3还可以包括:环境信息保存部221,存储环境信息;环境更新部222,根据机器人2B、2C、10的动作来更新环境信息保存部221的环境信息;环境信息保存部521(虚拟环境信息保存部),存储虚拟环境信息;以及环境更新部522(虚拟环境更新部),根据虚拟机器人的动作来更新环境信息保存部521的虚拟环境信息,本地控制器100针对多个任务的每个根据环境信息保存部221的环境信息来调节执行定时,虚拟本地控制器400针对多个任务的每个基于环境信息保存部521的虚拟环境信息来调节执行定时。在该情况下,每个任务的执行状况的比较更有效。
控制系统3可以还包括:指令输出部215,基于处理和现实空间中的处理的进度信息来输出下一个任务的执行指令;以及指令输出部515(虚拟指令输出部),基于处理和虚拟空间中的处理的进度信息来输出下一个任务的执行指令,本地控制器100基于环境信息保存部221的环境信息来调节执行定时,并且使机器人2B、2C、10执行与来自指令输出部215的执行指令对应的下一个任务,虚拟本地控制器400基于环境信息保存部521的虚拟环境信息来调节执行定时,并且使虚拟机器人执行与来自指令输出部515的执行指令对应的下一个任务。在该情况下,每个任务的执行状况的比较更有效。
控制系统3可以还包括:指令输出部215,基于处理和现实空间中的处理的进度信息来输出下一个任务的执行指令;指令输出部515(虚拟指令输出部),基于处理和虚拟空间中的处理的进度信息来输出下一个任务的执行指令,本地控制器100使机器人2B、2C、10执行与来自指令输出部215的执行指令对应的下一个任务,虚拟本地控制器400使虚拟机器人执行与来自指令输出部515的执行指令对应的下一个任务。在该情况下,每个任务的执行状况的比较更有效。
处理可以还包括本地设备2(产业机械)执行的机器任务,机器人2执行的多个任务可以包括在机器任务之前执行的任务和在机器任务之后执行的任务。在该情况下,每个任务的执行状况的比较更有效。
多个任务可以包括与本地设备2(第一产业机械)协作的任务和与本地设备2(第二产业机械)协作的任务。在该情况下,每个任务的执行状况的比较更有效。
以上,对实施方式进行了说明,但本公开不一定限定于上述的实施方式,在不脱离其主旨的范围内能够进行各种改变。
符号说明
2…本地设备(产业机械、第一产业机械、第二产业机械)、2B、2C、10…机器人、3…控制系统、9…工件、100…本地控制器(机器人控制器)、215…指令输出部、221…环境信息保存部、222…环境更新部、312…现实信息收集部、313…现实信息数据库、314…虚拟信息收集部、315…虚拟信息数据库、316…任务比较部、317…状况对比显示部、318…显示方式改变部、321…现实信号提取部、322…虚拟信号提取部、323…信号对比显示部、341…虚拟调整部、342…现实调整部、343…状态变化检测部、344…再现部、345…异常检测部、400…虚拟本地控制器(虚拟机器人控制器)、515…指令输出部(虚拟指令输出部)、521…环境信息保存部(虚拟环境信息保存部)、522…环境更新部(虚拟环境更新部)。

Claims (18)

1.一种控制系统,包括:
机器人控制器,在现实空间中使机器人执行针对工件的处理所包含的多个任务;
虚拟机器人控制器,在虚拟空间中使虚拟机器人执行所述多个任务;
现实信息收集部,收集现实执行状况信息,所述现实执行状况信息表示所述机器人控制器对所述多个任务的每个任务的执行状况;
虚拟信息收集部,收集虚拟执行状况信息,所述虚拟执行状况信息表示所述虚拟机器人控制器对所述多个任务的每个任务的执行状况;以及
任务比较部,提取所述多个任务中的所述现实执行状况信息与所述虚拟执行状况信息偏离的一个以上的偏离任务。
2.根据权利要求1所述的控制系统,其中,
在所述现实执行状况信息和所述虚拟执行状况信息中包含对应的任务的执行时间。
3.根据权利要求1或2所述的控制系统,还包括:
状况对比显示部,将所述现实信息收集部收集到的所述多个任务的每个任务的所述现实执行状况信息和所述虚拟信息收集部收集到的所述多个任务的每个任务的所述虚拟执行状况信息按每个任务进行对比并使显示部显示;以及
显示方式改变部,将所述一个以上的偏离任务以与其他任务不同的显示方式显示到所述显示部中。
4.根据权利要求1至3中任一项所述的控制系统,还包括:
现实信息数据库,存储由所述机器人控制器产生的现实控制信号;
虚拟信息数据库,存储由所述虚拟机器人控制器产生的虚拟控制信号;
现实信号提取部,从现实信息数据库中提取与所述一个以上的偏离任务对应的现实控制信号;以及
虚拟信号提取部,从所述虚拟信息数据库中提取与所述一个以上的偏离任务对应的虚拟控制信号。
5.根据权利要求4所述的控制系统,其中,
所述现实信息收集部收集所述现实执行状况信息,所述现实执行状况信息包含第一时间线中的所述多个任务的每个任务的执行开始时刻和执行完成时刻,
所述虚拟信息收集部收集所述虚拟执行状况信息,所述虚拟执行状况信息包含第二时间线中的所述多个任务的每个任务的执行开始时刻和执行完成时刻,
所述现实信息数据库将所述现实控制信号与沿着所述第一时间线的时刻建立对应地存储,
所述虚拟信息数据库将所述虚拟控制信号与沿着所述第二时间线的时刻建立对应地存储,
所述现实信号提取部基于所述第一时间线中的所述执行开始时刻和所述执行完成时刻从所述现实信息数据库中提取与所述一个以上的偏离任务对应的现实控制信号,
所述虚拟信号提取部基于所述第二时间线中的所述执行开始时刻和所述执行完成时刻从所述虚拟信息数据库中提取与所述一个以上的偏离任务对应的虚拟控制信号。
6.根据权利要求4或5所述的控制系统,其中,
还包括信号对比显示部,所述信号对比显示部将所述现实信号提取部提取出的所述现实控制信号与所述虚拟信号提取部提取出的所述虚拟控制信号进行对比并使显示部显示。
7.根据权利要求4至6中任一项所述的控制系统,其中,
还包括虚拟调整部,所述虚拟调整部基于所述现实信号提取部提取出的所述现实控制信号和所述虚拟信号提取部提取出的所述虚拟控制信号中的至少一者来调整所述虚拟机器人的模型的参数。
8.根据权利要求4至7中任一项所述的控制系统,其中,
还包括现实调整部,所述现实调整部基于所述现实信号提取部提取出的所述现实控制信号和所述虚拟信号提取部提取出的所述虚拟控制信号中的至少一者来调整所述机器人控制器的参数。
9.根据权利要求4至8中任一项所述的控制系统,其中,
还具有状态变化检测部,所述状态变化检测部基于所述现实信号提取部提取出的所述现实控制信号和所述虚拟信号提取部提取出的所述虚拟控制信号中的至少一者来检测所述机器人和该机器人协作的装置的至少一者的状态变化。
10.根据权利要求9所述的控制系统,其中,
还包括再现部,在所述状态变化检测部检测出状态变化的情况下,所述再现部至少基于与发生了该状态变化的任务对应的所述现实控制信号,使所述虚拟机器人再现执行该任务的所述机器人的动作。
11.根据权利要求10所述的控制系统,其中,
还包括异常检测部,所述异常检测部对所述机器人和该机器人协作的装置的至少一者的异常进行检测,
在所述异常检测部检测到异常的情况下,所述再现部基于所述现实控制信号使所述虚拟机器人再现发生了该异常的时间点之前和之后的至少一者的所述机器人的动作。
12.根据权利要求1至11中任一项所述的控制系统,其中,
还包括
环境信息保存部,存储环境信息;
环境更新部,根据所述机器人的动作来更新所述环境信息保存部的环境信息;
虚拟环境信息保存部,存储虚拟环境信息;以及
虚拟环境更新部,根据所述虚拟机器人的动作来更新所述虚拟环境信息保存部的虚拟环境信息,
所述机器人控制器针对所述多个任务的每个任务基于所述环境信息保存部的环境信息来调节执行定时,
所述虚拟机器人控制器针对所述多个任务的每个任务基于所述虚拟环境信息保存部的虚拟环境信息来调节执行定时。
13.根据权利要求12所述的控制系统,其中,
还包括
指令输出部,基于所述处理和所述现实空间中的所述处理的进度信息来输出下一个任务的执行指令;以及
虚拟指令输出部,基于所述处理和所述虚拟空间中的所述处理的进度信息来输出下一个任务的执行指令,
所述机器人控制器基于所述环境信息保存部的环境信息来调节执行定时,并且使所述机器人执行与来自所述指令输出部的执行指令对应的下一个任务,
所述虚拟机器人控制器基于所述虚拟环境信息保存部的虚拟环境信息来调节执行时机,并且使所述虚拟机器人执行与来自所述虚拟指令输出部的执行指令对应的下一个任务。
14.根据权利要求1至11中任一项所述的控制系统,其中,
还包括
指令输出部,基于所述处理和所述现实空间中的所述处理的进度信息来输出下一个任务的执行指令;以及
虚拟指令输出部,基于所述处理和所述虚拟空间中的所述处理的进度信息来输出下一个任务的执行指令,
所述机器人控制器使所述机器人执行与来自所述指令输出部的执行指令对应的下一个任务,
所述虚拟机器人控制器使所述虚拟机器人执行与来自所述虚拟指令输出部的执行指令对应的下一个任务。
15.根据权利要求1至14中任一项所述的控制系统,其中,
所述处理还包括产业机械执行的机器任务,
所述机器人执行的所述多个任务包含在所述机器任务之前执行的任务和在所述机器任务之后执行的任务。
16.根据权利要求1至14中任一项所述的控制系统,其中,
所述多个任务包括与第一产业机械协作的任务和与第二产业机械协作的任务。
17.一种控制系统,包括:
现实控制器,在现实空间中使产业机械执行针对工件的处理所包含的多个任务;
虚拟控制器,在虚拟空间中使产业机械执行所述多个任务;
现实信息收集部,收集现实执行状况信息,所述现实执行状况信息表示所述现实控制器对所述多个任务的每个任务的执行状况;
虚拟信息收集部,收集虚拟执行状况信息,所述虚拟执行状况信息表示所述虚拟控制器对所述多个任务的每个任务的执行状况;以及
任务比较部,提取所述多个任务中的所述现实执行状况信息与所述虚拟执行状况信息偏离的一个以上的偏离任务。
18.一种控制方法,包括:
在现实空间中,通过机器人控制器使机器人执行针对工件的处理所包含的多个任务;
在虚拟空间中,通过虚拟机器人控制器使虚拟机器人执行所述多个任务;
收集现实执行状况信息,所述现实执行状况信息表示所述机器人控制器对所述多个任务的每个任务的执行状况;
收集虚拟执行状况信息,所述虚拟执行状况信息表示所述虚拟机器人控制器对所述多个任务的每个任务的执行状况;以及
提取所述多个任务中的所述现实执行状况信息与所述虚拟执行状况信息偏离的一个以上的偏离任务。
CN202180039808.9A 2020-06-08 2021-06-08 控制系统和控制方法 Pending CN115697648A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063035829P 2020-06-08 2020-06-08
US63/035,829 2020-06-08
JP2020-140307 2020-08-21
JP2020140307A JP6951524B1 (ja) 2020-06-08 2020-08-21 制御システム及び制御方法
PCT/JP2021/021772 WO2021251389A1 (ja) 2020-06-08 2021-06-08 制御システム及び制御方法

Publications (1)

Publication Number Publication Date
CN115697648A true CN115697648A (zh) 2023-02-03

Family

ID=78114169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180039808.9A Pending CN115697648A (zh) 2020-06-08 2021-06-08 控制系统和控制方法

Country Status (5)

Country Link
US (1) US20230107431A1 (zh)
EP (1) EP4144490A1 (zh)
JP (2) JP6951524B1 (zh)
CN (1) CN115697648A (zh)
WO (1) WO2021251389A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018217471A1 (de) * 2018-10-12 2020-04-16 Krones Ag Modulares Robotersystem für eine Behälterverarbeitungsanlage
JP2023118484A (ja) * 2022-02-15 2023-08-25 株式会社安川電機 制御システム、生産方法、及びプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3221194B2 (ja) * 1993-12-02 2001-10-22 日産自動車株式会社 産業用ロボットの動作波形診断装置
JPH07200019A (ja) * 1993-12-28 1995-08-04 Ricoh Co Ltd ロボット制御装置
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
JP2005316937A (ja) * 2004-04-02 2005-11-10 Yaskawa Electric Corp 制御装置およびその制御方法
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 株式会社安川電機 作業計画装置、作業計画方法および作業計画プログラム
JP6595163B2 (ja) * 2014-09-17 2019-10-23 株式会社アマダホールディングス プレスブレーキ及び多段曲げ加工方法
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
WO2019064916A1 (ja) * 2017-09-26 2019-04-04 日本電産株式会社 ロボットシミュレータ
JP6673401B2 (ja) 2018-06-08 2020-03-25 株式会社安川電機 加工システム及び制御方法

Also Published As

Publication number Publication date
JP2021192950A (ja) 2021-12-23
US20230107431A1 (en) 2023-04-06
JP2021192945A (ja) 2021-12-23
EP4144490A1 (en) 2023-03-08
WO2021251389A1 (ja) 2021-12-16
JP6951524B1 (ja) 2021-10-20

Similar Documents

Publication Publication Date Title
US20230107431A1 (en) Comparison between real control and virtual control of robot
US11826913B2 (en) Control system, robot system and control method
US11648670B2 (en) Machine tool system
KR102525831B1 (ko) 제어 시스템, 컨트롤러 및 제어 방법
US20220291670A1 (en) Control data extraction and evaluation of production system
Volkmann et al. A CAD feature-based manufacturing approach with OPC UA skills
Ghodsian et al. Toward designing an integration architecture for a mobile manipulator in production systems: Industry 4.0
EP3432099A1 (en) Method and system for detection of an abnormal state of a machine
CN115697649A (zh) 生产系统、单元控制器、机器人控制器以及控制方法
CN113874177A (zh) 机器人系统、恢复程序生成装置、控制辅助装置、控制装置、程序、恢复程序的生成方法以及恢复程序的输出方法
JP7374867B2 (ja) 制御システム、ローカルコントローラ及び制御方法
Hoyos et al. Skill-based easy programming interface for industrial applications
Ji et al. Interface architecture design for minimum programming in human-robot collaboration
WO2023157889A1 (ja) 生産システム及び生産方法
US20230259523A1 (en) Data collection from industrial equipment
Tewkesbury et al. The automatic programming of production machinery for de-flashing plastic parts
US20230249347A1 (en) Path planning during execution of robot control
WO2023167324A1 (ja) 生産システム及び再現方法
Sim et al. Development of an Autonomous Mobile Manipulator for Pick and Place Operation Using 3D Point Cloud
EP4356267A1 (en) System and method to generate augmented training data for neural network
CN114375427A (zh) 控制至少一个机器、特别是机器的集合的系统和方法
Russell et al. The ADACS Implementation of the UTAP Architecture

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