[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN111699444A - 控制装置、控制方法以及控制程序 - Google Patents

控制装置、控制方法以及控制程序 Download PDF

Info

Publication number
CN111699444A
CN111699444A CN201980012402.4A CN201980012402A CN111699444A CN 111699444 A CN111699444 A CN 111699444A CN 201980012402 A CN201980012402 A CN 201980012402A CN 111699444 A CN111699444 A CN 111699444A
Authority
CN
China
Prior art keywords
prediction model
value
arithmetic processing
command value
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201980012402.4A
Other languages
English (en)
Other versions
CN111699444B (zh
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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Publication of CN111699444A publication Critical patent/CN111699444A/zh
Application granted granted Critical
Publication of CN111699444B publication Critical patent/CN111699444B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/041Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a variable is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/047Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators the criterion being a time optimal performance criterion
    • 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] or computer integrated manufacturing [CIM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2205Multicore
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2214Multicontrollers, multimicrocomputers, multiprocessing
    • 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/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

适当地实施生产装置的预测控制。本发明的一方面的控制装置执行下述步骤:开始预测模型的运算处理;在开始了预测模型的运算处理后,算出直至所述运算处理完成为止的剩余处理时间;基于所算出的剩余处理时间,来判定基于从预测模型获得的输出的、指令值的决定是否赶得上对生产装置所进行的生产动作进行控制的控制时机;以及当判定为指令值的决定赶不上控制时机时,中止预测模型的运算处理,基于运算处理的中途结果的值来决定指令值,并基于所决定的指令值来控制生产装置的动作。

Description

控制装置、控制方法以及控制程序
技术领域
本发明涉及一种控制装置、控制方法以及控制程序。
背景技术
近年来开发出一种预测控制的技术,用于在各种装置中预测未来的状态,进行适合于所预测的未来的状态的动作控制。例如,专利文献1中,提出了一种控制装置,其对车辆的动作进行控制,所述控制装置包括:第一运算部,通过推理的执行来控制车辆的行驶;以及第二运算部,即使在推理的执行中产生了无法预测的事态,也能确保安全性地控制车辆的动作。具体而言,第一运算部对将来的输入值进行预测,并控制车辆的动作以进行最佳的行驶。另一方面,第二运算部控制车辆的动作,以使其以与目标速度相等的速度行驶,且当自车与行人之间的距离达到一定值以下时实施紧急制动。所述控制装置在第一运算部所进行的控制满足一定的安全基准时,利用第一运算部的运算结果来控制车辆的动作,当第一运算部所进行的控制不满足一定的安全基准时,利用第二运算部的运算结果来控制车辆的动作。由此,根据专利文献1,既能确保一定的安全性,又能控制车辆的动作以使其进行最佳的行驶。
现有技术文献
专利文献
专利文献1:日本专利特开2016-192010号公报
发明内容
发明所要解决的问题
本申请发明人等发现,在对以相对较短的周期(cycle)来由工件生产制品的生产装置的动作进行预测控制的情况下,可能产生如下所述的问题。即,在此种生产装置中,对工件进行处理的时机是以相对较短的周期来临。因此,若因预测控制的运算处理复杂、运算资源(例如处理器等)被优先分配给其他处理等,而导致预测控制的运算处理发生延迟,则所述预测控制的运算处理有可能无法在对工件进行处理的时机之前完成。本申请发明人等发现下述问题,即,若预测控制的运算处理未能在对工件进行处理的时机之前完成,则将无法适当地执行生产装置的预测控制。
本发明在一方面是有鉴于此种实际情况而完成,其目的在于提供一种适当地实施生产装置的预测控制的技术。
解决问题的技术手段
为了解决所述问题,本发明采用以下的结构。
即,本发明的一方面的控制装置包括:硬件处理器;以及存储器,保持由所述硬件处理器所执行的程序,所述硬件处理器基于所述程序中所含的一连串命令来执行下述步骤:开始预测模型的运算处理,所述预测模型被构建为对指令值进行预测,所述指令值是对由工件来生产制品的生产装置的指令值,且适合于所述生产装置对所述制品的生产;在开始了所述预测模型的运算处理之后,算出直至所述预测模型的运算处理完成为止的剩余处理时间;基于所算出的所述剩余处理时间,来判定基于从所述预测模型获得的输出值的、所述指令值的决定是否赶得上对所述生产装置所进行的所述生产的动作进行控制的控制时机;当判定为所述指令值的决定赶得上所述控制时机时,继续所述预测模型的运算处理直至完成为止,由此,作为所述运算处理的最终结果,从所述预测模型获取输出值,基于从所述预测模型获取的输出值来决定对所述生产装置的指令值,并基于所决定的所述指令值来控制所述生产装置的动作;以及当判定为所述指令值的决定赶不上所述控制时机时,中止所述预测模型的运算处理,基于所述运算处理的中途结果的值来决定对所述生产装置的指令值,并基于所决定的所述指令值来控制所述生产装置的动作。
所述结构的控制装置在利用预测模型来预测对生产装置的指令值时,执行:算出剩余处理时间的步骤、及基于剩余处理时间来判定预测模型对指令值的决定是否赶得上控制时机的步骤。由此,所述结构的控制装置能够确认与利用预测模型的指令值的预测相关的运算处理是否赶得上利用所述预测的指令值来对生产装置的动作进行控制的时机。
而且,所述结构的控制装置在判定为预测模型对指令值的决定赶得上控制时机时,继续预测模型的运算处理直至完成为止,从而能够执行所述预测模型所进行的预测控制。另一方面,所述结构的控制装置在判定为预测模型对指令值的决定赶不上控制时机时,中止预测模型的运算处理,基于运算处理的中途结果的值来决定指令值,并基于所决定的指令值来控制生产装置的动作。由此,能够防止因预测模型对指令值的决定赶不上控制时机而导致对生产装置的动作进行控制的处理滞后的情况。因此,根据所述结构,能够适当地实施生产装置的预测控制。
另外,“生产装置”只要是进行某些生产处理且可成为控制对象的装置,则也可无特别限定,例如可为冲压机、射出成形机、数控(Numerical Control,NC)车床、放电加工机、包装机、搬送机、检查机内的搬送机构等。“工件”只要是可成为生产装置的作业对象的物体,则也可无特别限定,例如可为制品的原料、加工前的物体、装配前的零件等。“制品”是可通过生产装置对工件进行生产处理而获得的物体,除了最终品以外,还包含中间品(加工中途的制品)。“预测模型”只要是能够对执行预测处理的时间点之前的时间点(将来的时间点)的、对生产装置的指令值进行预测的模型,则也可无特别限定,可根据实施方式来适当选择。“预测模型”只要是能够输出运算处理的中途结果的值的模型,则也可无特别限定。对于“预测模型”,例如也可使用决策树等学习模型。
所述一方面的控制装置中,所述预测模型也可包含决策树,决策树也可包含根节点、叶节点、及配置在所述根节点与所述叶节点之间的中间节点,所述预测模型的运算处理可为从所述决策树的根节点朝向叶节点追溯链路的探索处理,对于所述叶节点,也可对应有第一值,当完成所述决策树的探索处理时,所述硬件处理器也可获取与在所述探索处理中所到达的叶节点相对应的第一值来作为所述输出值,在中止所述决策树的探索处理时,所述硬件处理器也可获取第二值来作为所述中途结果的值,所述第二值是基于与属于在中止所述探索处理的时间点所到达的中间节点的叶节点相对应的第一值而决定。根据所述结构,即使在中止了预测模型的运算处理的情况下,也能够由决策树来适当地获取运算处理的中途结果的值。因此,即使在预测模型的运算处理未能完成的情况下,也能够基于相对较适合于制品生产的指令值来控制生产装置的动作。
所述一方面的控制装置中,所述第二值可为与属于在中止所述探索处理的时间点所到达的中间节点的所有叶节点相对应的第一值的平均值。根据所述结构,即使在预测模型的运算处理未能完成的情况下,也能够基于相对较适合于制品生产的指令值来控制生产装置的动作。
所述一方面的控制装置中,所述第二值也可被关联于所述中间节点,在中止所述决策树的探索处理时,所述硬件处理器也可获取第二值来作为所述中途结果的值,所述第二值被关联于在中止所述探索处理的时间点所到达的中间节点。根据所述结构,在中止了预测模型的运算处理的情况下,能够抑制获取运算处理的中途结果的值的运算成本。
所述一方面的控制装置中,当中止所述预测模型的运算处理时,所述硬件处理器也可获取可靠度,所述可靠度表示所述中途结果的值作为预测的结果能否可靠的程度,所述硬件处理器也可判定所获取的所述可靠度是否超过所指定的阈值,当判定为所述可靠度超过所述阈值时,所述硬件处理器也可基于所述中途结果的值来决定对所述生产装置的指令值,并基于所决定的所述指令值来控制所述生产装置的动作,当判定为所述可靠度不超过所述阈值时,所述硬件处理器也可省略基于所述中途结果的值来决定对所述生产装置的指令值的处理,将预先给予的设定值指定为所述指令值,并基于所指定的所述指令值来控制所述生产装置的动作。根据所述结构,即使在预测模型的运算处理未能完成的情况下,也能够基于适合于制品生产的指令值来控制生产装置的动作。另外,所谓预先给予的设定值,例如是指指令值的基准值、过去的指令值(在控制重复动作的情况下,例如为前次值)。过去的指令值例如可为控制状况相同的前次值。
所述一方面的控制装置中,所述可靠度可基于所述运算处理的推进度来决定。根据所述结构,能够适当地评估中途结果的值的可靠度。由此,即使在预测模型的运算处理未能完成的情况下,也能够基于适合于制品生产的指令值来控制生产装置的动作。另外,在预测模型包含决策树的情况下,运算处理的推进度例如根据探索处理所到达的树的深度来确定。
所述一方面的控制装置中,当判定为所述指令值的决定赶不上所述控制时机时,所述硬件处理器也可进一步执行对所述预测模型的运算处理进行加速的步骤,在执行了对所述预测模型的运算处理进行加速的步骤后,所述硬件处理器也可再次执行算出所述剩余处理时间的步骤、及判定所述指令值的决定是否赶得上所述控制时机的步骤,当再次判定为所述指令值的决定赶不上所述控制时机时,所述硬件处理器也可中止所述预测模型的运算处理,并基于所述运算处理的中途结果的值来决定对所述生产装置的指令值。根据所述结构,通过对预测模型的运算处理进行加速,能够使指令值的决定赶得上控制时机。由此,能够降低中断预测控制的可能性,从而适当地实施预测控制。另外,运算处理的加速可通过优先对所述运算处理分配硬件资源而实现。
所述一方面的控制装置中,所述硬件处理器也可判定能否进行所述预测模型的运算处理的加速,当判定为无法进行所述预测模型的运算处理的加速时,也可中止所述预测模型的运算处理,并基于所述运算处理的中途结果的值来决定对所述生产装置的指令值。根据所述结构,在无对预测模型的运算处理进行加速的余地,且判定为预测模型对指令值的决定赶不上控制时机时,基于中途结果的值来决定指令值。由此,能够适当地实施生产装置的预测控制。另外,判定能否进行预测模型的运算处理的加速的条件可根据实施方式来适当设定。无法进行预测模型的运算处理的加速的情况,例如是无对所述运算处理优先分配硬件资源的余地的情况。
所述一方面的控制装置中,所述硬件处理器可包含一个或多个核心,对于所述预测模型的运算处理,可分配有至少一个核心,所述硬件处理器针对所述预测模型的运算处理,也可通过提高所分配的所述核心的利用率,来对所述预测模型的运算处理进行加速。根据所述结构,能够适当地对预测模型的运算处理进行加速,由此能够适当地实施预测控制。
所述一方面的控制装置中,所述硬件处理器可包含一个或多个核心,对于所述预测模型的运算处理,可分配有至少一个核心,所述硬件处理器也可在所分配的所述核心中,提高所述预测模型的运算处理的优先级,由此来对所述预测模型的运算处理进行加速。根据所述结构,能够适当地对预测模型的运算处理进行加速,由此能够适当地实施预测控制。
所述一方面的控制装置中,所述硬件处理器可包含多个核心,对于所述预测模型的运算处理,可分配有所述多个核心中的第一核心,所述硬件处理器也可将第二核心进一步分配给所述预测模型的运算处理,由此来对所述预测模型的运算处理进行加速,所述第二核心是所述多个核心中的第二核心,且尚未被分配给所述预测模型的运算处理。根据所述结构,能够适当地对预测模型的运算处理进行加速,由此能够适当地实施预测控制。另外,第一核心及第二核心各自既可为一个,也可为多个。
所述一方面的控制装置中,所述硬件处理器可包含多个核心,对于所述预测模型的运算处理,可分配有所述多个核心中的第三核心,所述多个核心也可包含第四核心,所述第四核心是尚未被分配给所述预测模型的运算处理的第四核心,且具有比在所述第三核心中分配给所述运算处理的利用率大的闲置容量,所述硬件处理器也可将对所述预测模型的运算处理的分配由所述第三核心替换为所述第四核心,在所述第四核心中将比在所述第三核心中分配给所述运算处理的利用率大的利用率分配给所述运算处理,由此来对所述预测模型的运算处理进行加速。根据所述结构,能够适当地对预测模型的运算处理进行加速,由此能够适当地实施预测控制。另外,第三核心及第四核心各自既可为一个,也可为多个。
所述一方面的控制装置中,所述预测模型可构成为,输出对所述指令值的基准值的修正值,以作为与适合于所述制品的生产的、所述指令值的预测结果对应的所述输出值。根据所述结构,能够利用从预测模型获得的修正值,来适当地决定对生产装置的指令值。
所述一方面的控制装置中,所述预测模型可被构建为,针对所述工件的特征量及生产所述制品的环境的属性值的至少一者的输入,对适合于所述制品的生产的所述指令值进行预测。根据所述结构,能够考虑可能对生产装置所进行的制品的生产工序造成影响的因素,来决定对生产装置的指令值。
另外,“工件的特征量”只要能表示工件的某些特征,则也可无特别限定,可根据实施方式来适当选择。工件的特征量例如是硬度、尺寸、材质、重量、热等。而且,工件的特征量既可直接表示工件的特征,也可间接表示工件的特征。所谓直接表示工件的特征,例如是指以数值、等级等来表达工件的硬度(软硬)其自身。另一方面,所谓间接表示工件的特征,例如是指以数值、等级等来表达对工件的硬度(软硬)进行测定时所获得的二次指标(例如对工件施加的负载、测定时所作用的扭矩等)。
而且,“生产制品的环境的属性值”只要可表示与生产装置所运转的环境相关的某些属性,则也可无特别限定,可根据实施方式来适当选择。生产制品的环境的属性值例如可为生产装置周围的温度、湿度、装置的劣化程度(例如使用年限、加工次数等)、振动等。
另外,作为所述各形态的控制装置的其他形态,也可为实现以上的各结构的信息处理方法,也可为程序,还可为存储有此种程序的、计算机或其他装置、机械等可读取的存储介质。此处,所谓计算机等可读取的存储介质,是指通过电、磁、光学、机械或化学作用来保存程序等信息的介质。
例如,本发明的一方面的控制方法是一种信息处理方法,由计算机执行下述步骤:开始预测模型的运算处理,所述预测模型被构建为对指令值进行预测,所述指令值是对由工件来生产制品的生产装置的指令值,且适合于所述生产装置对所述制品的生产;在开始了所述预测模型的运算处理之后,算出直至所述预测模型的运算处理完成为止的剩余处理时间;基于所算出的所述剩余处理时间,来判定基于从所述预测模型获得的输出值的、所述指令值的决定是否赶得上对所述生产装置所进行的所述生产的动作进行控制的控制时机;当判定为所述指令值的决定赶得上所述控制时机时,继续所述预测模型的运算处理直至完成为止,由此,作为所述运算处理的最终结果,从所述预测模型获取输出值,基于从所述预测模型获取的输出值来决定对所述生产装置的指令值,并基于所决定的所述指令值来控制所述生产装置的动作;以及当判定为所述指令值的决定赶不上所述控制时机时,中止所述预测模型的运算处理,基于所述运算处理的中途结果的值来决定对所述生产装置的指令值,并基于所决定的所述指令值来控制所述生产装置的动作。
而且,例如,本发明的一方面的控制程序用于使计算机执行下述步骤:开始预测模型的运算处理,所述预测模型被构建为对指令值进行预测,所述指令值是对由工件来生产制品的生产装置的指令值,且适合于所述生产装置对所述制品的生产;在开始了所述预测模型的运算处理之后,算出直至所述预测模型的运算处理完成为止的剩余处理时间;基于所算出的所述剩余处理时间,来判定基于从所述预测模型获得的输出值的、所述指令值的决定是否赶得上对所述生产装置所进行的所述生产的动作进行控制的控制时机;当判定为所述指令值的决定赶得上所述控制时机时,继续所述预测模型的运算处理直至完成为止,由此,作为所述运算处理的最终结果,从所述预测模型获取输出值,基于从所述预测模型获取的输出值来决定对所述生产装置的指令值,并基于所决定的所述指令值来控制所述生产装置的动作;以及当判定为所述指令值的决定赶不上所述控制时机时,中止所述预测模型的运算处理,基于所述运算处理的中途结果的值来决定对所述生产装置的指令值,并基于所决定的所述指令值来控制所述生产装置的动作。
发明的效果
根据本发明,能够适当地实施生产装置的预测控制。
附图说明
图1示意性地例示适用本发明的场景的一例。
图2示意性地例示实施方式的控制装置的硬件结构的一例。
图3示意性地例示实施方式的生产装置的一例。
图4A示意性地例示图3的生产装置中的生产工序的一例。
图4B示意性地例示图3的生产装置中的生产工序的一例。
图4C示意性地例示图3的生产装置中的生产工序的一例。
图4D示意性地例示图3的生产装置中的生产工序的一例。
图5示意性地例示实施方式的学习装置的硬件结构的一例。
图6示意性地例示实施方式的控制装置的软件结构的一例。
图7A示意性地例示实施方式的预测模型的一例。
图7B示意性地例示对预测模型的输入与输出的关系。
图8示意性地例示实施方式的学习装置的软件结构的一例。
图9A例示实施方式的控制装置的处理流程的一例。
图9B例示实施方式的控制装置的处理流程的一例。
图10示意性地例示分配信息的一例。
图11是用于说明核心的调度(scheduling)的图。
图12A示意性地例示加速处理的一例。
图12B示意性地例示加速处理的一例。
图12C示意性地例示加速处理的一例。
图12D示意性地例示加速处理的一例。
图13是用于说明算出中途结果的值的方法的图。
图14例示实施方式的学习装置的处理流程的一例。
具体实施方式
以下,基于图示来说明本发明的一方面的实施方式(以下也称作“本实施方式”)。但是,以下说明的本实施方式在所有方面不过是本发明的例示。当然能够在不脱离本发明的范围的情况下进行各种改良或变形。即,在实施本发明时,也可适当采用与实施方式相应的具体构成。另外,对于在本实施方式中出现的数据,通过自然语言进行了说明,更具体而言,以计算机可识别的伪语言、命令、参数、机器语言等来指定。
§1适用例
首先,使用图1来说明适用本发明的场景的一例。图1示意性地例示本实施方式的控制装置1及学习装置2的利用场景的一例。
如图1所示,本实施方式的控制装置1是构成为对生产装置3的动作进行控制的信息处理装置。图1的示例中,生产装置3是对工件进行加工的冲压机。所述冲压机是本发明的“生产装置”的一例。但是,可适用控制装置1的生产装置也可不限于此种冲压机,可根据实施方式来适当选择。生产装置3例如除了冲压机以外,还可为射出成形机、NC车床、放电加工机、包装机、搬送机、检查机内的搬送机构等。
具体而言,本实施方式的控制装置1首先开始预测模型(后述的预测模型5)的运算处理,所述预测模型被构建为对指令值对预测,所述指令值是对由工件来生产制品的生产装置3的指令值,且适合于所述生产装置3对制品的生产。在开始了预测模型的运算处理后,控制装置1算出直至预测模型的运算处理完成为止的剩余处理时间。控制装置1例如通过确认运算处理的进展状态来算出所述运算处理的剩余处理量,基于所算出的剩余处理量来算出剩余处理时间。所述剩余处理时间可能根据控制装置1中的运算资源的状况而变化。接下来,控制装置1基于所算出的剩余处理时间,来判定基于从预测模型获得的输出值的、指令值的决定是否赶得上对生产装置3所进行的生产动作进行控制的控制时机。由此,控制装置1能够确认与利用预测模型的指令值的预测相关的运算处理是否赶得上利用所述预测的指令值来对生产装置3的动作进行控制的时机。
当判定为指令值的决定赶得上控制时机时,控制装置1继续预测模型的运算处理直至完成为止,由此,从预测模型获取输出值,并基于从预测模型获取的输出值来决定对生产装置3的指令值。并且,控制装置1基于所决定的指令值来控制生产装置3的动作。另一方面,当判定为指令值的决定赶不上控制时机时,控制装置1中止预测模型5的运算处理,并基于运算处理的中途结果的值来决定对生产装置3的指令值。并且,控制装置1基于所决定的指令值来控制生产装置3的动作。
与此相对,本实施方式的学习装置2是构成为对在控制装置1中利用的预测模型进行构建的信息处理装置。本实施方式中,预测模型包含学习模型(后述的决策树)。因此,学习装置2获取利用于机器学习的学习数据(后述的学习用数据集221),通过进行利用所获取的学习数据的机器学习,从而构建获得了下述能力的预测模型,即,对适合于生产装置3对制品的生产的指令值进行预测。控制装置1例如能够经由网络来获取由学习装置2所制作的学习完毕的预测模型。另外,网络的种类例如可从国际互联网(Internet)、无线通信网、移动通信网、电话网、专用网等中适当选择。
如上所述,本实施方式中,在利用预测模型来预测对生产装置3的指令值时,执行算出剩余处理时间的步骤、及基于剩余处理时间来判定预测模型对指令值的决定是否赶得上控制时机的步骤。由此,能够确认与利用预测模型的指令值的预测相关的运算处理是否赶得上利用所述预测的指令值来对生产装置3的动作进行控制的时机。
尤其,在控制装置1中,可对包含所述预测模型的运算处理以外的其他任务的多个任务进行处理。此时,例如因发生中断任务等,控制装置1中的运算资源未必能够在同一条件下利用。即,控制装置1中的运算资源的状况时时刻刻发生变化,伴随于此,能够用于预测模型的运算处理的运算资源也可能发生变化。因此,预测模型的运算处理要耗费的处理时间未必始终固定。因此,即使将已基于通过模拟(simulation)等预先确定的处理时间而判定为处理赶得上控制时机的预测模型搭载于控制装置1,预测模型的运算处理也有可能赶不上控制时机。与此相对,本实施方式中,控制装置1在执行预测模型的运算处理时,算出所述运算处理要耗费的剩余处理时间。由此,即使运算资源的状况时时刻刻发生变化,控制装置1也能够判定预测模型的运算处理是否赶得上控制时机。因而,根据本实施方式,能够适当地对生产装置3的预测控制的运算时间进行管理。
而且,本实施方式的控制装置1在判定为预测模型对指令值的决定赶得上控制时机时,继续预测模型的运算处理直至完成为止,从而能够执行所述预测模型所进行的预测控制。另一方面,本实施方式的控制装置1在判定为预测模型对指令值的决定赶不上控制时机时,中止预测模型的运算处理,基于运算处理的中途结果的值来决定指令值,并基于所决定的指令值来控制生产装置3的动作。由此,能够防止因预测模型对指令值的决定赶不上控制时机而导致对生产装置3的动作进行控制的处理发生滞后的情况。因此,根据本实施方式,能够适当地实施生产装置3的预测控制。
§2结构例
[硬件结构]
<控制装置>
接下来,使用图2来说明本实施方式的控制装置1的硬件结构的一例。图2示意性地例示本实施方式的控制装置1的硬件结构的一例。
如图2所示,本实施方式的控制装置1是由控制部11、存储部12、通信接口13、外部接口14、输入装置15、输出装置16及驱动器17电连接而成的计算机。另外,图2中,将通信接口及外部接口分别记作“通信I/F”及“外部I/F”。
控制部11包含作为硬件处理器的中央处理器(Central Processing Unit,CPU)、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)等,且构成为,基于程序及各种数据来执行信息处理。存储部12是存储器的一例,例如包含硬盘驱动器(hard disk drive)、固态硬盘(solid state drive)等。本实施方式中,存储部12存储由控制部11(CPU)所执行的控制程序81、分配数据121、学习结果数据225等各种信息。
控制程序81是用于使控制装置1执行对生产装置3的动作进行控制的后述的信息处理(图9A及图9B)的程序,包含所述信息处理的一连串命令。分配数据121表示对于控制装置1中的运算资源(例如硬件处理器、存储器)的任务分配。学习结果数据225是用于进行学习完毕的预测模型的设定的数据。详细将后述。
通信接口13例如是有线局域网(Local Area Network,LAN)模块、无线LAN模块等,是用于进行经由网络的有线或无线通信的接口。控制装置1通过利用所述通信接口13,从而能够与其他信息处理装置(例如学习装置2)进行经由网络的数据通信。
外部接口14例如是通用串行总线(Universal Serial Bus,USB)端口、专用端口等,是用于与外部装置连接的接口。外部接口14的种类及数量可根据所连接的外部装置的种类及数量来适当选择。本实施方式中,控制装置1经由外部接口14而连接于生产装置3。由此,控制装置1对生产装置3发送指令值,由此,能够控制生产装置3的动作。
输入装置15例如是鼠标、键盘等用于进行输入的装置。而且,输出装置16例如是显示器、扬声器等用于进行输出的装置。操作员通过利用输入装置15及输出装置16,从而能够操作控制装置1。
驱动器17例如是光盘(Compact Disk,CD)驱动器、数字多功能光盘(DigitalVersatile Disk,DVD)驱动器等,是用于读取存储在存储介质91中的程序的驱动器装置。驱动器17的种类可根据存储介质91的种类来适当选择。所述控制程序81及学习结果数据225的至少一者也可被存储在所述存储介质91中。
存储介质91是通过电、磁、光学、机械或化学作用来保存所述程序等信息,以便计算机或其他装置、机械等能够读取所记录的程序等信息的介质。控制装置1也可从所述存储介质91获取所述控制程序81及学习结果数据225的至少一者。
此处,图2中,作为存储介质91的一例,例示了CD、DVD等碟型的存储介质。但是,存储介质91的种类并不限定于碟型,也可为碟型以外。作为碟型以外的存储介质,例如可列举快闪存储器(flash memory)等半导体存储器。
另外,关于控制装置1的具体的硬件结构,可根据实施方式来适当地进行构成元件的省略、替换及追加。例如,控制部11也可包含多个硬件处理器。硬件处理器可包含微处理器、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)等。存储部12也可包含控制部11中所含的RAM及ROM。通信接口13、外部接口14、输入装置15、输出装置16及驱动器17的至少任一者也可予以省略。控制装置1也可包含多台计算机。此时,各计算机的硬件结构既可一致,也可不一致。而且,控制装置1除了专为所提供的服务而设计的信息处理装置以外,还可为通用的控制器、通用的服务器装置、通用的桌面型个人计算机(Personal Computer,PC)、笔记型PC、平板PC等。
<生产装置>
接下来,使用图3来说明本实施方式的生产装置3的硬件结构的一例。图3示意性地例示本实施方式的生产装置3的硬件结构的一例。
本实施方式的生产装置3包括伺服驱动器(servo driver)31、上侧模具32及下侧模具33。下侧模具33被固定,与此相对,上侧模具32构成为,可通过伺服马达(未图示)而沿上下方向移动。由此,上侧模具32能够将工件按压至下侧模具33而进行工件的成形,或者离开下侧模具33。伺服驱动器31构成为,基于来自控制装置1的指令值来驱动上侧模具32的伺服马达。
接下来,使用图4A~图4D来示意性地例示生产装置3中的生产工序的一例。生产装置3例如被配置在生产线上。如图4A所示,在初始状态下,上侧模具32被配置在离开下侧模具33的待机位置,且待机至工件40被搬送下侧模具33为止。工件40例如为金属制的板材。但是,工件40并不限定于此例,可根据生产装置3的种类来适当选择。工件40例如可为制品的原料、加工前的物体、装配前的零件等。
在工件40被配置于下侧模具33的规定位置后,生产装置3如图4B所示,通过伺服驱动器31来驱动上侧模具32的伺服马达,将上侧模具32配置在成形开始位置。成形开始位置例如是上侧模具32的前端接触至工件40或者在此之前的位置。
接下来,生产装置3如图4C所示,通过伺服驱动器31来进一步驱动上侧模具32的伺服马达,使上侧模具32移动至目标位置(下止点)为止,通过上侧模具32及下侧模具33来进行工件40的成形。由此,生产装置3能够由工件40来生产制品41。另外,所述制品41只要是可通过生产装置3对工件40进行生产处理而获得的物体,则也可无特别限定,既可为最终品,也可为中间品(加工中途的制品)。
在成形完成后,生产装置3如图4D所示,通过伺服驱动器31来驱动上侧模具32的伺服马达,使上侧模具32移动至待机位置为止。接下来,利用输送带(未图示)等,从生产装置3搬送通过对工件40进行成形而获得的制品41。由此,由工件40来生产制品41的一连串生产工序完成。
在所述生产工序中,若图4C中的冲压时间不够充分,或者在上侧模具32到达下止点之前未能驱动伺服马达,则会导致所获得的制品41的品质发生恶化。因此,以往,现场的作业者会定期检验制品的品质,并通过对生产装置的动作设定进行调节,从而抑制不良品的产生。与此相对,本实施方式的控制装置1通过利用预测模型来预测对生产装置3的适当的指令值,以免生产工序中产生不良。由此,控制装置1自动调节生产装置3的动作,以抑制不良品的产生。
<学习装置>
接下来,使用图5来说明本实施方式的学习装置2的硬件结构的一例。图5示意性地例示本实施方式的学习装置2的硬件结构的一例。
如图5所示,本实施方式的学习装置2是由控制部21、存储部22、通信接口23、输入装置24、输出装置25及驱动器26电连接而成的计算机。另外,图5中,将通信接口记作“通信I/F”。
控制部21与所述控制部11同样,包含作为硬件处理器的CPU、RAM、ROM等,且构成为,基于程序及各种数据来执行信息处理。存储部22例如包含硬盘驱动器、固态硬盘等。存储部22存储由控制部21(CPU)所执行的学习程序82、利用于预测模型的机器学习的学习用数据集221、通过执行学习程序82而制作的学习结果数据225等各种信息。
学习程序82是如下所述的程序,即,用于使学习装置2执行预测模型的机器学习的后述的信息处理(图14),作为所述机器学习的结果,生成学习结果数据225。学习程序82包含所述信息处理的一连串命令。学习用数据集221是被利用于机器学习的数据,所述机器学习用于构建获得了下述能力的预测模型,即,对适合于生产装置3对制品的生产的指令值进行预测。详细将后述。
通信接口23例如是有线LAN模块、无线LAN模块等,是用于进行经由网络的有线或无线通信的接口。学习装置2通过利用所述通信接口23,从而能够与其他信息处理装置(例如控制装置1)进行经由网络的数据通信。而且,学习装置2通过利用所述通信接口23,从而能够将所制作的学习结果数据225分发给外部的装置。
输入装置24例如是鼠标、键盘等用于进行输入的装置。而且,输出装置25例如是显示器、扬声器等用于进行输出的装置。操作员能够经由输入装置24及输出装置25来操作学习装置2。
驱动器26例如是CD驱动器、DVD驱动器等,是用于读取存储在存储介质92中的程序的驱动器装置。驱动器26的种类可根据存储介质92的种类来适当选择。所述学习程序82及学习用数据集221的至少一者也可被存储在所述存储介质92中。
存储介质92是通过电、磁、光学、机械或化学作用来保存所述程序等信息,以便计算机或其他装置、机械等能够读取所记录的程序等信息的介质。学习装置2也可从所述存储介质92获取所述学习程序82及学习用数据集221的至少一者。
此处,图5中,与所述图2同样地,作为存储介质92的一例,例示了CD、DVD等碟型的存储介质。但是,存储介质92的种类并不限定于碟型,也可为碟型以外。作为碟型以外的存储介质,例如可列举快闪存储器(flash memory)等半导体存储器。
另外,关于学习装置2的具体的硬件结构,可根据实施方式来适当地进行构成元件的省略、替换及追加。例如,控制部21也可包含多个硬件处理器。硬件处理器可包含微处理器、FPGA、电子控制单元(Electronic Control Unit,ECU)等。学习装置2也可包含多台信息处理装置。而且,对于学习装置2,除了专为所提供的服务而设计的信息处理装置以外,还可使用通用的服务器装置、PC等。
[软件结构]
<控制装置>
接下来,使用图6来说明本实施方式的控制装置1的软件结构的一例。图6示意性地例示本实施方式的控制装置1的软件结构的一例。
控制装置1的控制部11将存储在存储部12中的控制程序81展开到RAM中。并且,控制部11通过CPU来解释及执行在RAM中展开的控制程序81,基于控制程序81中所含的一连串命令来控制各构成元件。由此,如图6所示,本实施方式的控制装置1作为包括数据获取部111、预测运算部112、剩余处理时间计算部113、延迟判定部114、加速处理部115及动作控制部116来作为软件模块的计算机而运行。即,本实施方式中,各软件模块是通过控制部11(CPU)来实现。
数据获取部111获取利用于预测模型5对适合于生产装置3对制品41的生产的指令值进行预测的数据。本实施方式中,预测模型5被构建为,相对于工件40的特征量61及生产制品41的环境的属性值62的输入,对适合于制品41的生产的指令值进行预测。因此,数据获取部111获取工件40的特征量61以及生产制品41的环境的属性值62。
预测运算部112包括预测模型5,所述预测模型5被构建为对指令值进行预测,所述指令值是对由工件40来生产制品41的生产装置3的指令值,且适合于生产装置3对制品41的生产。为了实施预测控制,预测运算部112开始所述预测模型5的运算处理。剩余处理时间计算部113在开始了预测模型5的运算处理后,算出直至预测模型5的运算处理完成为止的剩余处理时间。延迟判定部114基于所算出的剩余处理时间,来判定基于从预测模型5获得的输出值的、指令值的决定是否赶得上对生产装置3所进行的生产动作进行控制的控制时机。
当判定为指令值的决定赶得上控制时机时,预测运算部112继续预测模型5的运算处理直至完成为止,由此,从预测模型5获取输出值。动作控制部116基于从预测模型5获取的输出值来决定对生产装置3的指令值。并且,动作控制部116基于所决定的指令值来控制生产装置3的动作。
本实施方式中,预测模型5构成为,输出对指令值的基准值60的修正值63,来作为与适合于制品41的生产的指令值的预测结果对应的输出值。因此,预测运算部112通过完成预测模型5的运算处理,从而自所述预测模型5获取与修正值63对应的输出值。与此相应地,动作控制部116将通过利用所获取的修正值63对基准值60进行修正而获得的值决定为指令值,并基于所决定的指令值来控制生产装置3的动作。
另一方面,本实施方式中,当判定为指令值的决定赶不上控制时机时,加速处理部115对预测模型5的运算处理进行加速。加速处理部115例如通过优先分配针对预测模型5的运算处理的、硬件的运算资源,从而对预测模型5的运算处理进行加速。另外,当判定为无法进行预测模型5的运算处理的加速且指令值的决定赶不上控制时机时,预测运算部112中止预测模型5的运算处理。并且,动作控制部116基于运算处理的中途结果的值来决定对生产装置3的指令值,并基于所决定的指令值来控制生产装置3的动作。
(预测模型)
接下来,进一步使用图7A及图7B来说明本实施方式的预测模型5。图7A示意性地例示本实施方式的预测模型5的结构的一例。而且,图7B示意性地例示对预测模型5的输入与输出的关系。
如图7A所示,本实施方式的预测模型5包含决策树(具体而言为回归树)。预测模型5(决策树)包含根节点R、叶节点L1~L5、及配置在根节点R与叶节点L1~L5之间的中间节点N1~N3。在各节点之间设有链路。图7A的示例中,在根节点R与中间节点(N1,N2)之间、中间节点N1与各叶节点(L1,L2)之间、中间节点N2与叶节点L3及中间节点N3之间、中间节点N3与各叶节点(L4,L5)之间,分别设有链路。
另外,图7A的示例中,决策树的深度为四,中间节点的数量为三个,叶节点的数量为五个。但是,决策树的深度、中间节点的数量及叶节点的数量也可不限定于此例,可根据实施方式来适当决定。而且,图7A的示例中,根节点R至各叶节点L1~L5未设有链路。但是,决策树的结构也可不限定于此例,也可存在连接于来自根节点的链路的叶节点。
此种预测模型5的运算处理是从决策树的根节点R朝向叶节点L1~L5追溯链路的探索处理。即,对于根节点R至叶节点L1~L5的路径(图7A的示例中,为根节点R及中间节点N1~N3),关联有分支条件。图7A的示例中,对于根节点R关联有“x0<2500”这一分支条件,对于中间节点N1关联有“x1<20”这一分支条件,对于中间节点N2关联有“x1<35”这一分支条件,对于中间节点N3关联有“x0<3500”这一分支条件。另一方面,对于各叶节点L1~L5,关联有相当于预测模型5的运算处理的最终结果(等级C1~C5)的第一值。本实施方式中,对于各叶节点L1~L5(等级C1~C5),作为第一值而对应有与所输入的特征量61及属性值62相应的修正值63。本实施方式中,预测运算部112从根节点R开始探索处理而反复进行输入数据是否满足分支条件的判定,由此,将探索推进至更深的节点,直至到达任一叶节点L1~L5为止。
图7A的示例中,输入x0对应于特征量61,输入x1对应于属性值62。图7B例示了各输入(x0,x1)与跟所到达的叶节点L1~L5对应的等级C1~C5的关系。例如设想输入x0为2000,输入x1为30。此时,作为预测模型5的第一层级的运算处理(探索处理),预测运算部112判定输入x0是否满足对根节点R所设定的分支条件。图7A的示例中,对根节点R所设定的分支条件为“x0<2500”,输入x0为2000,因此预测运算部112判定为输入x0满足对根节点R所设定的分支条件,将探索推进至下个层级的中间节点N1。
接下来,作为预测模型5的第二层级的运算处理,预测运算部112判定输入x1是否满足对中间节点N1所设定的分支条件。图7A的示例中,对中间节点N1所设定的分支条件为“x1<20”,输入x1为30,因此预测运算部112判定为输入x1不满足对中间节点N1所设定的分支条件,前进至下个层级的叶节点L2。由此,决策树的探索到达叶节点L2,因此预测模型5的运算处理(决策树的探索处理)完成。
这样,当完成了决策树的探索处理时,预测运算部112能够获取与在探索处理中所到达的叶节点的等级相对应的修正值63,来作为相当于预测模型5的运算处理的最终结果的第一值(换言之,预测模型5的输出值)。所述示例中,预测运算部112获取与叶节点L2的等级C2相对应的修正值63来作为预测模型5的输出值。
获取与各等级C1~C5相对应的修正值63的方法可根据实施方式来适当决定。例如,对于各等级C1~C5,也可直接对应有修正值。而且,例如,控制装置1也可将表示各等级C1~C5与修正值的对应关系的表格式等的参照信息保持在存储部12中。所述参照信息也可被包含在学习结果数据225中。此时,预测运算部112在到达了任一叶节点后,将所到达的叶节点的等级与参照信息进行对比,由此,能够获取对指令值的基准值60的修正值63,来作为相当于预测模型5的运算处理的最终结果的第一值。
另一方面,在中止决策树的探索处理时,预测运算部112获取第二值来作为中途结果的值,所述第二值是基于与属于在中止探索处理的时间点所到达的中间节点的叶节点对应的第一值而决定。本实施方式中,预测运算部112获取修正值来作为第二值,所述修正值是基于与属于在中止探索处理的时间点所到达的中间节点的叶节点对应的修正值63而决定。
另外,表示此种预测模型5(决策树)的结构及各分支条件的信息被包含在学习结果数据225中。预测运算部112通过参照学习结果数据225,能够进行学习完毕的预测模型5的设定,所述学习完毕的预测模型5利用于对适应于制品41的生产的指令值进行预测的处理。
<学习装置>
接下来,使用图8来说明本实施方式的学习装置2的软件结构的一例。图8示意性地例示本实施方式的学习装置2的软件结构的一例。
学习装置2的控制部21将存储在存储部22中的学习程序82展开到RAM中。并且,控制部21通过CPU来解释及执行在RAM中展开的学习程序82,基于学习程序82中所含的一连串命令来控制各构成元件。由此,如图8所示,本实施方式的学习装置2构成为包括学习数据获取部211及学习处理部212来作为软件模块的计算机。即,本实施方式中,各软件模块是通过控制部21(CPU)来实现。
学习数据获取部211获取学习数据,所述学习数据利用于预测模型5的机器学习。本实施方式中,预测模型5包含决策树,因此,学习数据获取部211获取学习用数据集221,所述学习用数据集221包含训练数据(输入数据)与教学数据(正解数据)的组合。本实施方式中,预测模型5构成为,相对于工件40的特征量61及生产制品41的环境的属性值62的输入,输出对指令值的基准值60的修正值63。因此,学习用数据集221包含工件的特征量2211及生产制品的环境的属性值2212、与适应于此的修正值2213的组合。
学习处理部212通过进行利用所获取的学习用数据集221的机器学习,从而构建学习完毕的预测模型5。学习处理部212将决策树构建为,当输入特征量2211及属性值2212时,到达与跟所输入的特征量2211及属性值2212对应的修正值2213相应的等级的叶节点。由此,学习处理部212能够构建学习完毕的预测模型5。并且,学习处理部212将表示所构建的学习完毕的预测模型5的结构及各分支条件的信息作为学习结果数据225而保存到存储部22中。
<其他>
关于控制装置1及学习装置2的各软件模块,将在后述的运行例中进行详细说明。另外,本实施方式中,对控制装置1及学习装置2的各软件模块均通过通用的CPU来实现的示例进行了说明。但是,以上的软件模块的一部分或全部也可通过一个或多个专用的处理器来实现。而且,关于控制装置1及学习装置2各自的软件结构,也可根据实施方式来适当地进行软件模块的省略、替换及追加。
§3运行例
[控制装置]
接下来,使用图9A及图9B来说明控制装置1的运行例。图9A及图9B是例示控制装置1的处理流程的一例的流程图。以下说明的处理流程是本发明的“控制方法”的一例。但是,以下说明的处理流程不过是一例,各处理可尽可能变更。而且,对于以下说明的处理流程,可根据实施方式来适当地进行步骤的省略、替换及追加。
(步骤S100)
步骤S100中,控制部11作为数据获取部111而运行,获取对预测模型5的输入数据。
本实施方式中,如上所述,预测模型5被构建为,对于工件40的特征量61及生产制品41的环境的属性值62的输入,对适应于制品41的生产的指令值进行预测。因此,控制部11获取工件40的特征量61及生产制品41的环境的属性值62,来作为对预测模型5的输入数据。
工件40的特征量61只要可表示工件的某些特征,则也可无特别限定,可根据实施方式来适当选择。而且,生产制品41的环境的属性值62只要可表示与生产装置3所运转的环境相关的某些属性,则也可无特别限定,可根据实施方式来适当选择。
本实施方式中,生产装置3为冲压机。如上所述,生产装置3中,若冲压时间不够充分,或者在上侧模具32到达下止点之前未能驱动伺服马达,则会导致所获得的制品41的品质发生恶化。因此,理想的是,工件40的特征量61及生产制品41的环境的属性值62分别与生产装置3中的冲压成形的工序相关。
因此,对于工件40的特征量61,例如可选择工件40的硬度、尺寸、材质、重量、热等。而且,对于生产制品41的环境的属性值62,例如可选择生产装置3周围的温度、湿度、装置的劣化程度(例如使用年限、加工次数等)、振动等。此时,工件40的特征量61既可直接表示工件40的特征,也可间接表示工件40的特征。即,在工件40的特征量61与工件40的硬度相关的情况下,工件40的特征量61也可以数值、等级等来表示工件40的硬度(软硬)其自身。而且,工件40的特征量61也可以数值、等级等来表示对工件40的硬度(软硬)进行测定时所获得的二次指标(例如对工件施加的负载、测定时所作用的扭矩等)。关于属性值62也同样。
而且,分别获取工件40的特征量61及生产制品41的环境的属性值62的方法可根据实施方式来适当选择。例如,也可在生产装置3中配置各种传感器,所述各种传感器构成为可分别对工件40的特征量61(例如硬度等)及环境的属性值62(例如温度等)进行测定。对于各种传感器,可根据作为测定对象的特征量61及属性值62的种类来适当使用公知的传感器。此时,控制部11能够从配置于生产装置3的各种传感器分别获取工件40的特征量61及生产制品41的环境的属性值62。当分别获取工件40的特征量61及生产制品41的环境的属性值62时,控制部11将处理推进至下个步骤S101。
(步骤S101)
步骤S101中,控制部11作为预测运算部112而运行,开始预测模型5的运算处理,所述预测模型5被构建为对指令值进行预测,所述指令值是对由工件40来生产制品41的生产装置3的指令值,且适应于生产装置3对制品41的生产。
本实施方式中,预测模型5包含决策树,表示预测模型5的结构及各路径的分支条件的信息被包含在学习结果数据225中。因此,控制部11通过参照学习结果数据225来进行预测模型5的设定。通过所述设定处理,控制部11成为能够开始决策树(预测模型5)的探索处理的状态。由此,当开始预测模型5的运算处理时,控制部11将处理推进至下个步骤S102。
(步骤S102)
步骤S102中,控制部11作为预测运算部112而运行,进行预测模型5的运算处理。本实施方式中,预测模型5包含决策树,因此预测模型5的运算处理是从决策树的根节点朝向叶节点追溯链路的探索处理。因此,控制部11进行所述决策树的探索处理,以作为预测模型5的运算处理。
具体而言,在探索处理一次都未曾执行的情况下,作为决策树的探索处理,控制部11判定输入数据(特征量61及属性值62)是否满足对根节点所设定的分支条件。并且,基于所述判定结果,控制部11将探索推进至第二阶段的相应节点(图7A的示例中,为中间节点N1或中间节点N2)。
同样,在探索处理已执行了n次的情况下(n为1以上的自然数),对于探索,将探索推进至第n+1级的中间节点。此时,控制部11判定输入数据是否满足对第n+1级的相应的中间节点所设定的分支条件。并且,基于所述判定结果,控制部11将探索推进至第n+2级的相应节点。
当像这样进行决策树的探索处理时,控制部11将处理推进至下个步骤S103。另外,在本步骤S102的第1次处理中,使探索处理进行的程度可根据实施方式来适当决定。在使探索处理进行的程度为深度k(k为1以上的自然数)的情况下,控制部11在执行了k次所述分支条件的判定处理后,将处理推进至下个步骤S103。
(步骤S103)
步骤S103中,控制部11作为剩余处理时间计算部113而运行,算出直至预测模型5的运算处理完成为止的剩余处理时间。计算剩余处理时间的方法可根据实施方式来适当决定。本实施方式中,控制部11通过确认运算处理的进展状态来算出所述运算处理的剩余处理量,并基于所算出的剩余处理量来算出剩余处理时间。具体而言,控制部11通过以下的(式1)的运算来算出剩余处理时间。
[数1]
“(推测的)剩余处理时间”=“直至当前为止的处理时间”×(“剩余处理量”/“直至当前为止的处理量”)…(式1)
“直至当前为止的处理时间”是从通过步骤S101来开始预测模型5的运算处理,直至执行本步骤S103为止的时间。控制部11例如通过定时器(timer)(未图示)等,测量从通过步骤S101来开始预测模型5的运算处理计起的时间,由此,能够获得直至当前为止的处理时间的值。
“直至当前为止的处理量”是从通过步骤S101来开始预测模型5的运算处理直至执行本步骤S103为止的处理量。控制部11例如对从通过步骤S101来开始预测模型5的运算处理计起的CPU的处理量进行测量,由此能够获得直至当前为止的处理量的值。而且,本实施方式中,预测模型5包含决策树,因此控制部11例如通过对执行了决策树的探索处理中的分支条件的判定处理的次数进行测量,也能够获得直至当前为止的处理量的值。
“剩余处理量”是预测模型5的运算处理的整体的处理量与直至当前为止的处理量的差值。控制部11通过从预测模型5的运算处理的整体的处理量减去直至当前为止的处理量,从而能够获得剩余处理量的值。
预测模型5的运算处理的整体的处理量可根据实施方式来适当推测。整体的处理量例如可基于对预测模型5的运算处理进行模拟的结果、过去执行预测模型5的运算处理的结果(实绩值)等来推测。此时,整体的处理量可通过模拟或根据过去的运算处理的执行时间来推测。
而且,本实施方式中,预测模型5包含决策树。此时,预测模型5的运算处理,即,决策树的探索处理要耗费的时间取决于所述决策树的深度(尤其是从根节点到达叶节点为止所经由的中间节点的数量)。因此,若决策树的深度被固定,则决策树的探索处理的整体的处理量难以从由决策树的探索处理的算法所导出的理论值发生变动。因此,整体的处理量例如也可基于由预测模型5的算法所导出的理论值来推测。
表达所述各处理量的形式也可无特别限定,可根据实施方式来适当选择。各处理量例如也可通过CPU的运算量、运算处理的理论量等来表达。本实施方式中,运算处理的理论量例如能够通过决策树的深度来表示。
作为具体例,假定构成预测模型5的决策树的深度为11,且分支条件的判定处理已完成至第2层级的中间节点为止(即,探索已到达第三层级中间节点)。在通过决策树的深度来表达各处理量的情况下,若决策树的深度为11,则到达叶节点为止的探索处理的次数为10次,因此整体的处理量的值能够表达为“10”。而且,直至当前为止的处理量的值能够表达为“2”。因此,剩余处理量的值能够表达为“10-2=8”。此时,若设直至当前为止的处理时间为0.01秒,则控制部11通过“0.01(秒)×((10-2)/2)”的运算,能够算出剩余处理时间为0.04(秒)。
另外,剩余处理时间的表达形式只要能够表达预测模型5的运算处理完成的时机,则也可无特别限定,可根据实施方式来适当选择。剩余处理时间例如也可如所述示例那样,通过遵循国际单位制的时刻制(秒)来表达。而且,剩余处理时间例如也可通过CPU的时钟数、表示生产装置3的运行周期的节拍(tact)时间等来表达。当算出剩余处理时间时,控制部11将处理推进至下个步骤S104。
(步骤S104)
步骤S104中,控制部11作为延迟判定部114而运行,基于所算出的剩余处理时间,来判定基于从预测模型5获得的输出值的、指令值的决定是否赶得上对生产装置3所进行的生产动作进行控制的控制时机。
本实施方式中,控制部11首先通过以下的式2来算出直至控制时机为止的剩余时间。
[数2]
“剩余时间”=“控制预定时刻”-“当前时刻”…(式2)
“控制预定时刻”是控制时机的时刻,是预先决定的。控制部11例如能够从表示控制程序81等的对生产装置3的动作进行控制的预定的信息,获取控制预定时刻的值。而且,“当前时刻”是执行本步骤S104的时刻。控制部11例如能够通过定时器(未图示)等来获取当前时刻的值。但是,剩余时间的计算方法也可不限定于此例,可根据实施方式来适当变更。
接下来,控制部11从所算出的剩余时间减去剩余处理时间,由此来算出差值。所述差值表示从预测模型5的运算处理完成直至控制时机为止的推测的空余时间。即,若所述差值为负值,则表示推测为预测模型5的运算处理将在迟于控制时机的时间完成。
因此,控制部11判定通过从剩余时间减去剩余处理时间而获得的差值是否超过规定的阈值。并且,若所获得的差值超过规定的阈值,则控制部11判定为指令值的决定赶得上控制时机。另一方面,若所获得的差值为规定的阈值以下,则控制部11判定为指令值的决定赶不上控制时机。
所述规定的阈值可适当设定。规定的阈值成为用于判定指令值的决定赶得上控制时机的基准。而且,规定的阈值也能成为用于判定预测模型5的运算处理是否以相对于控制时机而在时间上存在余裕的状态完成的基准。即,规定的阈值可相当于从预测模型5的运算处理完成直至对生产装置3的动作进行控制为止的缓冲(余裕)时间。因此,控制部11也可判定预测模型5的运算处理是否以相对于控制时机而在时间上存在余裕的状态完成,以作为指令值的决定是否赶得上控制时机的判定。
根据以上,控制部11能够判定指令值的决定是否赶得上控制时机。若判定为指令值的决定赶得上控制时机,则控制部11将处理推进至步骤S107。另一方面,若判定为指令值的决定赶不上控制时机,则控制部11将处理推进至步骤S105。但是,判定指令值的决定是否赶得上控制时机的方法也可不限定于此例,可根据实施方式来适当变更。
另外,剩余时间的表达形式与剩余处理时间同样,只要可表达控制时机,则也可无特别限定,可根据实施方式来适当选择。剩余时间例如也可通过遵循国际单位制的时刻制(秒)、CPU的时钟数、表示生产装置3的动作周期的节拍时间等来表达。
(步骤S105)
步骤S105中,控制部11作为加速处理部115而运行,判定能否进行预测模型5的运算处理的加速。
后述的步骤S106中,例如优先分配对预测模型5的运算处理的、硬件的运算资源,由此来对预测模型5的运算处理进行加速。因此,本实施方式中,控制部11也可判定是否存在对预测模型5的运算处理优先分配的运算资源的余地,由此来判定能否进行预测模型5的运算处理的加速。
若判定为存在对预测模型5的运算处理优先分配的运算资源的余地,可进行所述预测模型5的运算处理的加速,则控制部11将处理推进至步骤S106。另一方面,若判定为无对预测模型5的运算处理优先分配的运算资源的余地,无法进行所述预测模型5的运算处理的加速,则控制部11将处理推进至步骤S111。但是,判定能否进行预测模型5的运算处理的方法也可不限定于此例,可根据实施方式来适当变更。
(步骤S106)
步骤S106中,控制部11作为加速处理部115而运行,对预测模型5的运算处理进行加速。控制部11例如通过优先分配对预测模型5的运算处理的、硬件的运算资源,从而能够对预测模型5的运算处理进行加速。运算资源例如为CPU、存储器等。
此处,使用图10及图11来说明控制部11(CPU)执行包含预测模型5的运算处理的多个任务的方法的一例。图10示意性地例示分配数据121的一例,所述分配数据121表示对CPU的任务分配状态。图11示意性例示针对图10所示的任务分配,CPU执行任务的调度的一例。
作为硬件处理器的CPU包含一个或多个核心。核心是执行运算处理的电路,核心的数量越多,CPU便能够并行地执行越多的运算处理。CPU的各核心在一周期(cycle)内,从优先级高的任务开始依序以所分配的相应的利用率来进行各任务的执行。
例如,图10的示例中,CPU至少具有两个核心,对核心01分配有三个任务A~C。任务A的优先级被设定为最高,任务B的优先级被设定为第二高,任务C的优先级被设定为最低。而且,图10的示例中,各任务A~C的上下方向的长度表示核心的利用率。因此,在核心01中,任务B的利用率被设定为最高,任务A的利用率被设定为第二高,任务C的利用率被设定为最低。未使用的部分为闲置区域。对于所述闲置区域,能够分配任务A~C(提高利用率),或者分配其他任务。
此时,如图11所示,核心01首先在各周期内,以相应的利用率来执行优先级最高的任务A。接下来,核心01以相应的利用率来执行优先级第二高的任务B。并且,核心01以相应的利用率来执行优先级最低的任务C。
在达到各周期的结束时刻时,各核心中断优先级低的任务的执行或者不执行优先级低的任务,并开始下个周期的处理,即,优先级最高的任务的执行。而且,当各任务的执行完成时,所述任务消失,优先执行优先级次高的任务。
图11的示例中,设想:在第一周期(s)及第二周期(s+1)中,任务C的执行被中断,任务B的执行在第三周期(s+2)的中途于时间t完成。因此,在第三周期中,任务B的执行完成后,核心01以相应的利用率来执行任务C。但是,各核心执行任务的方法可不限定于此例,可根据实施方式来适当决定。
如上所述,在基于优先级及利用率来决定执行任务的程度时,通过提高任务的优先级及利用率的至少一者,能够优先分配对所述任务的运算资源,从而能够对任务的执行进行加速。本实施方式中,控制部11例如能够通过以下的四种方法来对预测模型5的运算处理进行加速。
(1)第一方法
首先,使用图12A来说明对预测模型5的运算处理进行加速的第一方法。图12A示意性地例示对预测模型5的运算处理进行加速的第一方法。
第一方法中设想,作为硬件处理器的CPU包含一个或多个核心。所述第一方法中,例如通过所述步骤S101等,对预测模型5的运算处理分配至少一个核心。在此状态下,控制部11针对预测模型5的运算处理来提高所分配的核心的利用率,由此来对所述预测模型5的运算处理进行加速。
图12A的示例中,预测模型5的运算处理(以下也记作“任务Z”)被分配给核心01。控制部11参照分配数据121来确认分配有任务Z的核心01是否存在闲置区域。若核心01无闲置区域,则控制部11判定为无法通过所述第一方法来进行运算处理的加速。另一方面,若核心01存在闲置区域,则控制部11判定为能够通过所述第一方法来进行运算处理的加速,将任务Z进一步分配给闲置区域中的至少一部分区域,由此来提高针对任务Z的核心01的利用率。分配给任务Z的闲置区域的量可根据实施方式来适当设定。由此,能够使分配给预测模型5的运算处理的运算资源增加,因此控制部11能够对所述预测模型5的运算处理进行加速(即,使任务Z的执行量增加)。
(2)第二方法
接下来,使用图12B来说明对预测模型5的运算处理进行加速的第二方法。图12B示意性地例示对预测模型5的运算处理进行加速的第二方法。
第二方法中设想,与所述第一方法同样,作为硬件处理器的CPU包含一个或多个核心。所述第二方法中,例如通过所述步骤S101等,对于预测模型5的运算处理分配至少一个核心。在此状态下,控制部11在所分配的核心中,提高预测模型5的运算处理的优先级,由此来对所述预测模型5的运算处理进行加速。
图12B的示例中,预测模型5的运算处理(任务Z)被分配给核心01。对于核心01,除了任务Z以外,还分配有其他任务。此时,控制部11参照分配数据121来确认各任务的优先级。并且,控制部11确认能否较其他任务提高任务Z的优先级。
在任务Z的优先级已是最高、不存在优先级比任务Z高且能够较任务Z降低优先级的任务等的情况下,难以较其他任务提高任务Z的优先级。因此,在此种情况下,控制部11判定为无法通过所述第二方法来进行运算处理的加速。
另一方面,在存在可较其他任务提高任务Z的优先级的余地的情况下,控制部11判定为能够通过所述第二方法来进行运算处理的加速,而较其他任务提高任务Z的优先级。图12B的示例中,在加速前的状态下,任务Z的优先级为“低”,另一任务的优先级为“中”。即,任务Z的优先级被设定为比另一任务的优先级低。因此,控制部11也可将任务Z的优先级变更为比另一任务的优先级高。
图12B的示例中,控制部11不变更另一任务的优先级,而是将任务Z的优先级由“低”变更为“高”,由此来使任务Z的优先级高于另一任务的优先级。但是,提高任务Z的优先级的方法也可不限定于此例。控制部11也可以下述方式进行变更,即,在变更任务Z的优先级的同时降低另一任务的优先级,或者不变更任务Z的优先级而降低另一任务的优先级。通过这些方法,控制部11能够使任务Z的优先级相对地高于另一任务。由此,能够使预测模型5的运算处理优先,因此控制部11能够对预测模型5的运算处理进行加速。
(3)第三方法
接下来,使用图12C来说明对预测模型5的运算处理进行加速的第三方法。图12C示意性地例示对预测模型5的运算处理进行加速的第三方法。
第三方法中设想,作为硬件处理器的CPU包含多个核心。所述第三方法中,例如通过所述步骤S101等,对预测模型5的运算处理分配有多个核心中的第一核心。另一方面,设想在本步骤S106的加速处理之前,存在第二核心,所述第二核心是多个核心中的第二核心且尚未被分配给预测模型5的运算处理。图12C的示例中,核心01为第一核心的一例,核心02为第二核心的一例。
在此状态下,控制部11将尚未被分配给预测模型5的运算处理的第二核心进一步分配给预测模型5的运算处理,由此来对所述预测模型5的运算处理进行加速。即,控制部11通过增加分配给预测模型5的运算处理的核心的数量,来对所述预测模型5的运算处理进行加速。另外,第一核心及第二核心的数量各自既可为一个,也可为多个。
图12C的示例中,预测模型5的运算处理(任务Z)被分配给核心01。另一方面,对于核心02,未分配预测模型5的运算处理,而分配有另一任务。在所述核心02中存在闲置区域。控制部11参照分配数据121来确认是否存在未被分配任务Z且存在闲置区域的第二核心。
若不存在此种第二核心,则控制部11判定为无法通过所述第三方法来进行运算处理的加速。另一方面,若存在第二核心,则控制部11判定为能够通过所述第三方法来进行运算处理的加速,将第二核心的闲置区域中的至少一部分区域分配给任务Z。分配给任务Z的闲置区域的量可根据实施方式来适当决定。由此,能够使分配给预测模型5的运算处理的运算资源增加,因此,控制部11能够对预测模型5的运算处理进行加速。
(4)第四方法
接下来,使用图12D来说明对预测模型5的运算处理进行加速的第四方法。图12D示意性地例示对预测模型5的运算处理进行加速的第四方法。
第四方法中设想,作为硬件处理器的CPU包含多个核心。所述第四方法中,例如通过所述步骤S101等,对预测模型5的运算处理分配有多个核心中的第三核心。另一方面,设想在本步骤S106的加速处理之前,多个核心包含第四核心,所述第四核心是尚未被分配给预测模型5的运算处理的第四核心,且具有比在第三核心中分配给运算处理的利用率大的闲置容量。图12D的示例中,核心01为第三核心的一例,核心02为第四核心的一例。
在此状态下,控制部11将对预测模型5的运算处理的分配由第三核心替换为第四核心,在第四核心中将比在第三核心中分配给运算处理的利用率大的利用率分配给运算处理,由此来对所述预测模型5的运算处理进行加速。即,控制部11将分配给任务Z的核心,由分配任务Z的原本的核心变更为能够对任务Z分配更大的利用率的新的核心,由此来对预测模型5的运算处理进行加速。另外,第三核心及第四核心的数量各自既可为一个,也可为多个。
图12D的示例中,预测模型5的运算处理(任务Z)被分配给核心01。另一方面,对于核心02,未分配预测模型5的运算处理,而分配有另一任务。在所述核心02中,存在比在核心01中分配给任务Z的利用率大的闲置区域(图中的“未使用”区域)。控制部11参照分配数据121来确认是否存在未被分配任务Z且存在比核心01中的任务Z的利用率大的闲置区域的第四核心。
若不存在此种第四核心,则控制部11判定为无法通过所述第四方法来进行运算处理的加速。另一方面,若存在第四核心,则控制部11判定为能够通过所述第四方法来进行运算处理的加速。并且,控制部11将第四核心的闲置区域中的至少一部分区域且比在核心01中分配给任务Z的利用率大的区域分配给任务Z。此时,如图12D所示,控制部11也可删除核心01(第三核心)中的任务Z的分配。由此,能够使分配给预测模型5的运算处理的运算资源增加,因此控制部11能够对所述预测模型5的运算处理进行加速。
另外,图12D的示例中,对于核心01的其他区域,分配有任务Z以外的另一任务。因此,核心01中,不存在通过所述第一方法来提高任务Z的利用率的余地。当像这样在第三核心中不存在采用第一方法的余地时,控制部11也可采用所述第四方法。另一方面,当在第三核心中存在提高任务Z的利用率的余地时,控制部11也可采用所述第一方法。
(5)其他
通过采用所述第一方法至第四方法中的至少任一种,控制部11能够对预测模型5的运算处理进行加速。当通过所述第一方法至第四方法中的至少任一种来对预测模型5的运算处理进行加速时,控制部11将处理推进至下个步骤S107。
但是,对预测模型5的运算处理进行加速的方法也可不限定于这些示例。例如设想控制装置1的虚拟存储器包含高速缓冲存储器(cache memory)(未图示)、控制部11的RAM、存储部12。除此以外,设想按照高速缓冲存储器、控制部11的RAM、及存储部12的顺序靠近CPU。此时,控制部11也可控制存储器的分配,以使得在分配给预测模型5的运算处理的虚拟存储器中,更靠近CPU的存储器的比重变高。由此,控制部11能够提高对利用于运算处理的数据的存取速度,因此能够对所述预测模型5的运算处理进行加速。
另外,所述步骤S105中,在第一方法至第四方法均无法采用的情况下,控制部11也可判定为无法进行预测模型5的运算处理的加速。另一方面,在第一方法至第四方法中的至少任一种方法能够采用的情况下,控制部11也可判定为能够进行预测模型5的运算处理的加速。
(步骤S107)
返回图9,步骤S107中,控制部11作为预测运算部112而运行,判定预测模型5的运算处理是否已完成。判定预测模型5的运算处理是否已完成的方法可根据预测模型5所采用的模型的种类来适当决定。
本实施方式中,预测模型5包含决策树,因此控制部11判定所述步骤S102中的探索处理是否已到达决策树的任一叶节点。若探索处理已到达任一叶节点,则控制部11判定为预测模型5的运算处理已完成,将处理推进至下个步骤S108。另一方面,若探索处理尚未到达任何叶节点,即,探索处理仅进行到中间节点,则控制部11判定为预测模型5的运算处理尚未完成,从步骤S102开始重复处理。
当在步骤S104中判定为指令值的决定赶得上控制时机时,通过重复步骤S102~步骤S104及步骤S107的一连串处理,控制部11继续预测模型5的运算处理直至完成为止。由此,控制部11能够从预测模型5获取输出值以作为运算处理的最终结果。本实施方式中,当完成决策树的探索处理时,控制部11能够获取与在探索处理中所到达的叶节点对应的第一值来作为最终结果即输出值。
而且,在通过步骤S106来对预测模型5的运算处理进行了加速后,判定为预测模型5的运算处理尚未完成的情况下,控制部11再次执行步骤S102~S104。若步骤S106的加速充分,则在再次执行的步骤S104中将判定为指令值的决定赶得上控制时机。由此,控制部11能够继续预测模型5的运算处理直至完成为止。
另一方面,若步骤S106的加速不够充分,则在再次执行的步骤S104中,再次判定为指令值的决定赶不上控制时机。此时,只要在步骤S105中判定为能够加速,控制部11便能够通过执行步骤S106来对预测模型5的运算处理进行加速,直至判定为指令值的决定赶得上控制时机为止。并且,控制部11通过对预测模型5的运算处理充分加速,便能够使预测模型5的运算处理完成,以使指令值的决定赶得上控制时机。
与此相对,当在步骤S104中判定为指令值的决定赶不上控制时机且在步骤S105中判定为无法进行预测模型5的运算处理的加速时,控制部11如上所述,将处理推进至步骤S111。在步骤S106之后再次执行的步骤S104中,再次判定为指令值的决定赶不上控制时机且在随后的步骤S105中判定为无法进行预测模型5的运算处理的加速的情况下也同样。由此,控制部11省略步骤S107至后述的步骤S109的一连串处理,如后所述,中止预测模型5的运算处理,利用运算中途的结果,或者利用预测控制以外的方法来控制生产装置3的动作。
(步骤S108)
步骤S108中,控制部11作为动作控制部116而运行,基于从预测模型5获取的输出值来决定对生产装置3的指令值。决定指令值的方法可根据预测模型5的输出值的格式来适当决定。
本实施方式中,如上所述,对于构成预测模型5的决策树的各叶节点,对应有对指令值的基准值60的修正值63,以作为与适应于制品41的生产的指令值的预测结果对应的输出值。因此,当决策树的探索处理完成时,控制部11能够获取与所到达的叶节点对应的修正值63,以作为来自预测模型5的输出值。因此,控制部11通过利用所获取的修正值63来对基准值60进行修正,从而能够决定对生产装置3的指令值。当决定指令值时,控制部11将处理推进至下个步骤S109。
(步骤S109)
步骤S109中,控制部11作为动作控制部116而运行,基于所决定的指令值来控制生产装置3的动作。基于指令值来控制生产装置3的动作的方法可根据指令值的格式来适当选择。
本实施方式中,生产装置3为冲压机,包括对上侧模具32进行驱动的伺服驱动器31。因此,指令值也可表示对伺服马达的驱动量进行规定的脉冲数。此时,控制部11经由外部接口14来对生产装置3的伺服驱动器31发送指令值。伺服驱动器31基于从控制装置1接收的指令值来驱动伺服马达。由此,控制部11能够基于所决定的指令值来控制生产装置3的动作。当控制生产装置3的动作时,控制部11结束本运行例的处理。
另外,指令值的格式也可不限定于此例。指令值例如也可通过伺服马达的驱动量、上侧模具32的移动量等中间指标来表达。此时,控制部11既可将由中间指标所表达的指令值直接发送至生产装置3,也可将由中间指标所表达的指令值转换成脉冲数等可直接利用的格式,并将经变化的指令值发送至生产装置3。
(步骤S111)
步骤S111是在如上述那样判定为指令值的决定赶不上控制时机且判定为无法进行预测模型5的运算处理的加速的情况下执行。即,步骤S111是在无法对预测模型5的运算处理进行加速以使指令值的决定赶得上控制时机的情况下执行。所述步骤S111中,控制部11作为预测运算部112而运行,中止预测模型5的运算处理。并且,控制部11获取预测模型5的运算处理的中途结果的值。
此处,使用图13来说明从构成预测模型5的决策树获得的运算处理的中途结果的值。图13是用于说明从决策树算出中途结果的值的方法的图。具体而言,图13例示了下述场景,即,在图7A所示的决策树中,在到达中间节点N2的时间点中止运算处理(中断探索处理)。
在将探索处理执行至完成的情况下,所述探索处理原本应到达属于在中止所述探索处理的时间点所到达的中间节点的任一叶节点。所谓属于中间节点的叶节点,是指在从所述中间节点继续探索处理时,所述探索处理有可能到达的叶节点。即,属于中间节点的叶节点是较所述中间节点为下位的叶节点,且可从所述中间节点经由链路而到达的叶节点。
因此,本实施方式中,基于第一值来决定运算处理的中途结果的值,所述第一值与属于在中止探索处理的时间点所到达的中间节点的叶节点对应。即,在中止了决策树的探索处理时,控制部11获取基于第一值所决定的第二值来作为中途结果的值,所述第一值与属于在中止探索处理的时间点所到达的中间节点的叶节点对应。
图13的示例中,三个叶节点L3~L5属于中间节点N2。因此,在到达中间节点N2的时间点所中止的探索处理的中途结果的值(即,第二值)是基于与叶节点L3~L5对应的第一值而决定。另外,本实施方式中,第一值是对指令值的基准值60的修正值63。因此,基于第一值而决定的第二值也是对指令值的基准值60的修正值。
基于第一值来决定第二值的方法可根据实施方式来适当选择。例如,第二值可为与属于在中止探索处理的时间点所到达的中间节点的所有叶节点对应的第一值的平均值。在图13的情况下,对于叶节点L3,对应有修正值“2”,对于叶节点L4,对应有修正值“4”,对于叶节点L5,对应有修正值“9”。因此,在图13的情况下,当采用所述方法时,算出第二值为修正值“5”。
而且,例如,第二值也可为与属于在中止探索处理的时间点所到达的中间节点的所有叶节点对应的第一值的中间值。在图13的情况下,当采用所述方法时,算出第二值为修正值“4”。
而且,例如,对于第二值,也可采用跟与属于在中止探索处理的时间点所到达的中间节点的所有叶节点对应的第一值的平均值最为接近的第一值。图13的情况下,所有第一值的平均值为“5”,跟所述平均值“5”最为接近的第一值为“4”。因此,在图13的情况下,当采用所述方法时,算出第二值为修正值“4”。
而且,例如,对于第二值,也可采用与属于在中止探索处理的时间点所到达的中间节点的所有叶节点对应的第一值中的、频率最高的值。图13的示例中,设想与叶节点L5对应的修正值为“2”。在此情况下,与属于中间节点N2的所有叶节点L3~L5对应的第一值中的、频率最高的值为“2”。因此,在此情况下,当采用所述方法时,算出第二值为修正值“2”。
控制部11适当获取通过所述任一种方法而算出的第二值来作为中途结果的值。例如,控制部11也可在中止决策树的探索处理(预测模型5的运算处理)的时间点,通过所述任一种方法来由第一值算出第二值,由此来获取中途结果的值。
但是,所述获取方法中,与进行算出第二值的计算相应地,要耗费计算成本。因此,第二值也可被关联于中间节点。此时,控制部11在中止决策树的探索处理时,也可获取与在中止所述探索处理的时间点所到达的中间节点关联的第二值来作为中途结果的值。由此,能够抑制获取中途结果的值的计算成本。
另外,此时,控制装置1也可将表示中间节点与第二值的对应关系的表格式等的中途结果信息保持在存储部12中。所述中途结果信息也可被包含在学习结果数据225中。控制部11在中止决策树的探索处理时,也可通过参照所述中途结果信息,来获取与在中止探索处理的时间点所到达的中间节点关联的第二值。
根据以上,当中止预测模型5的运算处理时,控制部11将处理推进至下个步骤S112。
(步骤S112)
返回图9B,步骤S112中,控制部11作为动作控制部116而运行,获取可靠度,所述可靠度表示中途结果的值作为预测的结果能否可靠的程度。所述可靠度可根据实施方式来适当算出。
例如,可靠度可基于预测模型5的运算处理的推进度来决定。本实施方式中,预测模型5包含决策树,因此运算处理的推进度也可以探索处理所到达的树的深度相对于决策树的深度的最大值的比例来表达。此时,探索处理到达越深的节点,则评估为运算处理的推进度越高,由此,将对所述中途结果的值的可靠度设定为越高。
而且,探索处理到达中间节点的状态表示已将修正值的候选由与决策树所含的所有叶节点对应的修正值,缩减至与属于所到达的中间节点的叶节点对应的修正值。因此,运算处理的推进度也可以属于探索处理所到达的中间节点的叶节点的数量相对于决策树所含的所有叶节点的数量的比例来表达。此时,属于探索处理所到达的中间节点的叶节点的数量越少,则评估为运算处理的推进度越高,由此,将对所述中途结果的值的可靠度设定为越高。
但是,表达运算处理的推进度的方法也可不限定于此例,可根据实施方式来适当选择。例如设想:预测模型5包含多个决策树,预测模型5的运算处理是如下所述的处理,即,对各决策树实施探索处理,并获取从完成了探索处理的各决策树获得的输出值中的频率最高的输出值。此种情况下,运算处理的推进度也可以探索处理已完成的决策树的数量相对于构成预测模型5的决策树的总数的比例来表达。
另外,在基于所述推进度来决定可靠度的情况下,可靠度与推进度的对应关系可被适当设定为,推进度越高则可靠度越高,推进度越低则可靠度越低。例如,可靠度可设定为与推进度成正比。
而且,例如,可靠度可基于利用中途结果的值来对生产装置3的动作进行测试或模拟的结果而决定。作为一例,也可在测试或模拟中,算出相对于品质基准的达成度(例如与下止点的误差),通过所算出的达成度来评估可靠度。此时,达成度越高,则将可靠度设定为越高,达成度越低,则将可靠度设定为越低。
控制部11适当获取通过所述任一种方法而获得的可靠度。在可靠度是基于推进度而决定的情况下,控制部11也可由运算处理的中途结果来算出推进度,基于所算出的推进度来算出可靠度,由此来获取所述可靠度。而且,与所述第二值同样地,可靠度也可被关联于中间节点。此时,控制部11在中止决策树的探索处理时,能够通过与所述第二值同样的方法,来获取与在中止所述探索处理的时间点所到达的中间节点关联的可靠度。当获取对中途结果的值的可靠度时,控制部11将处理推进至下个步骤S113。
(步骤S113)
步骤S113中,控制部11作为动作控制部116而运行,判定在步骤S112中获取的可靠度是否超过指定的阈值。阈值可根据实施方式来适当指定。阈值例如既可由利用控制装置1的用户来指定,也可在控制程序81中预先指定。若判定为所获取的可靠度超过阈值,则控制部11将处理推进至下个步骤S114。另一方面,若判定为所获取的可靠度不超过阈值,则控制部11省略步骤S114及步骤S115,而将处理推进至步骤S121。
(步骤S114)
步骤S114中,控制部11作为动作控制部116而运行,基于中途结果的值来决定对生产装置3的指令值。如上所述,本实施方式的中途结果的值(第二值)是对指令值的基准值60的修正值。因此,本步骤S114中,控制部11与所述步骤S108同样地,利用作为中途结果的值而获取的修正值来对基准值60进行修正,由此,能够决定对生产装置3的指令值。当决定指令值时,控制部11将处理推进至下个步骤S115。
另外,本实施方式中,控制部11是在所述步骤S111中获取运算处理的中途结果的值。但是,获取运算处理的中途结果的值的时机也可不限定于此例。获取运算处理的中途结果的值的时机只要是在本步骤S114之前,则可根据实施方式来适当决定。控制部11例如也可在所述步骤S113中判定为可靠度超过阈值后,获取运算处理的中途结果的值。
(步骤S115)
步骤S115中,控制部11作为动作控制部116而运行,基于在步骤S114中决定的指令值来控制生产装置3的动作。本步骤S115与所述步骤S109同样。当控制生产装置3的动作时,控制部11结束本运行例的处理。
(步骤S121)
步骤S121中,控制部11作为动作控制部116而运行,将预先给予的设定值指定为指令值。
预先给予的设定值可根据实施方式来适当决定。预先给予的设定值例如可为指令值的基准值60、过去的指令值。在反复执行本运行例的对生产装置3的动作进行控制的一连串处理的情况下,过去的指令值例如也可为刚刚之前对生产装置3的动作进行控制时的前次值。
所述前次值也可不论在步骤S100中获取的输入数据如何,而均为刚刚之前对生产装置3的动作进行控制时的指令值。此时,控制部11将在刚刚之前与此次连续两次指定相同的指令值。
而且,前次值也可在步骤S100中获取的输入数据相同或近似的情况下,为刚刚之前对生产装置3的动作进行控制时的指令值。另外,控制部11通过判定过去控制时的输入数据与此次获取的输入数据的差值是否为阈值以下,便能够判定在此次的情况下与过去的情况下输入数据是否近似。
所述预先给予的设定值可被保持在存储部12、控制部11的RAM等中。控制部11通过参照保持在存储部12、RAM等中的设定值,从而能够指定对生产装置3的指令值。当指定指令值时,控制部11将处理推进至下个步骤S122。
(步骤S122)
步骤S122中,控制部11作为动作控制部116而运行,基于通过步骤S121而指定的指令值来控制生产装置3的动作。本步骤S122与所述步骤S109同样。当控制生产装置3的动作时,控制部11结束本运行例的处理。
(结束后)
根据以上,控制部11结束本运行例的对生产装置3的动作进行控制的一连串处理。控制部11通过反复执行所述一连串处理,从而能够持续控制生产装置3的动作。
[学习装置]
接下来,使用图14来说明学习装置2的运行例。图14是例示学习装置2的处理流程的一例的流程图。另外,以下说明的与预测模型5的机器学习相关的处理流程是由计算机所进行的学习方法的一例。但是,以下说明的处理流程不过是一例,各处理可尽可能变更。而且,对于以下说明的处理流程,可根据实施方式来适当地进行步骤的省略、替换及追加。
(步骤S201)
步骤S201中,控制部21作为学习数据获取部211而运行,获取利用于预测模型5的机器学习的学习数据。学习用数据的格式可根据预测模型5的种类来适当决定。
本实施方式中,预测模型5包含决策树。进而,决策树被构建为,相对于工件40的特征量61及生产制品41的环境的属性值62的输入,输出对指令值的基准值60的修正值63。因此,控制部21获取学习用数据集221,所述学习用数据集221包含工件的特征量2211及生产制品的环境的属性值2212、与适应于此的修正值2213的组合。
所述学习用数据集221可根据实施方式来适当生成。例如,在各种条件下获取工件的特征量2211及生产制品的环境的属性值2212。对于特征量2211及属性值2212的获取,可使用公知的传感器。例如,在获取温度来作为属性值2212的情况下,可使用温度传感器。并且,对所获得的特征量2211及属性值2212组合修正值2213,所述修正值2213用于在所述条件下获得适当的指令值。由此,能够生成学习用数据集221。
所述学习用数据集221的生成也可由学习装置2来进行。此时,控制部21也可根据操作员对输入装置24的操作来生成学习用数据集221。而且,控制部21也可通过学习程序82的处理来自动生成学习用数据集221。通过执行所述生成处理,本步骤S201中,控制部21能够获取学习用数据集221。
而且,学习用数据集221的生成也可由学习装置2以外的其他信息处理装置来进行。其他信息处理装置中,学习用数据集221既可由操作员来手动生成,也可通过程序的处理而自动生成。此时,本步骤S201中,控制部21能够经由网络、存储介质92等来获取由其他信息处理装置所生成的学习用数据集221。
本步骤S201中获取的学习用数据集221的件数可实施方式来适当决定,例如,可适当决定为能够实施决策树的机器学习的程度。由此,当获取学习用数据集221时,控制部21将处理推进至下个步骤S202。
(步骤S202)
步骤S202中,控制部21作为学习处理部212而运行,通过进行利用所获取的学习用数据集221的机器学习,从而构建学习完毕的预测模型5。
本实施方式中,控制部21构建如下所述的决策树,即,当输入特征量2211及属性值2212时,能够进行到达与跟所输入的特征量2211及属性值2212对应的修正值2213相应的等级的叶节点的探索。对于所述决策树的学习方法,也可使用概念学习系统(ConceptLearning System,CLS)、迭代二叉树三代(Iterative Dichotomiser 3,ID3)、C4.5等。由此,控制部21能够构建学习完毕的预测模型5。
(步骤S203)
步骤S203中,控制部21作为学习处理部212而运行,将表示通过机器学习而构建的决策树(学习完毕的预测模型5)的结构及各分支条件的信息作为学习结果数据225而保存到存储部22中。由此,控制部21结束本运行例的预测模型5的学习处理。
另外,控制部21也可在所述步骤S203的处理完成后,将所制作的学习结果数据225转发给控制装置1。而且,控制部21也可通过定期执行所述步骤S201~步骤S203的学习处理来定期更新学习结果数据225。并且,控制部21也可通过在学习处理的每次执行时将所制作的学习结果数据225转发给控制装置1,从而定期更新控制装置1所保持的学习结果数据225。而且,例如,控制部21也可将所制作的学习结果数据225保管在网路附加存储器(Network Attached Storage,NAS)等数据服务器中。此时,控制装置1也可从所述数据服务器获取学习结果数据225。而且,由学习装置2所制作的学习结果数据225也可被预先装入控制装置1。
[特征]
如上所述,本实施方式中,在利用预测模型5来预测对生产装置3的指令值时,通过步骤S103及步骤S104来算出剩余处理时间,并基于所算出的剩余处理时间来判定预测模型5对指令值的决定是否赶得上控制时机。由此,能够确定与利用预测模型5的指令值的预测相关的运算处理是否赶得上利用所述预测的指令值来对生产装置3的动作进行控制的时机。即,能够确定步骤S108所进行的指令值的决定在对生产装置3的动作进行控制的控制预定时刻之前能否完成。
尤其,在控制装置1中,可对包含所述预测模型5的运算处理以外的其他任务的多个任务进行处理(例如图12B~图12D)。此时,例如因发生中断任务等,控制装置1中的运算资源(硬件处理器、存储器等)未必能够在同一条件下利用。即,控制装置1中的运算资源的状况时时刻刻发生变化,伴随于此,能够用于预测模型5的运算处理的运算资源也可能发生变化。因此,预测模型5的运算处理要耗费的处理时间未必始终固定。因此,即使基于通过模拟等预先确定的处理时间,而判定为预测模型5的运算处理能够以赶得上控制时机的方式进行处理,在运用时,控制装置1也未必能始终完成预测模型5的运算处理以赶上生产装置3的控制时机。与此相对,本实施方式中,控制装置1在所述步骤S103中,确认执行预测模型5的运算处理的时间点的运算资源的状况(具体而言,运算处理的进展),并基于此来算出运算处理要耗费的剩余处理时间。由此,即使运算资源的状况时时刻刻发生变化,控制装置1也能够在步骤S104中适当地判定预测模型5的运算处理是否赶得上控制时机。因而,根据本实施方式,能够适当地对生产装置3的预测控制的运算时间进行管理。
而且,本实施方式中,在步骤S104中判定为指令值的决定赶得上控制时机的情况下,控制装置1在重复了步骤S102~步骤S104及步骤S107的一连串处理后,执行步骤S108及步骤S109的处理。由此,控制装置1能够就此适当地执行预测控制。另一方面,在步骤S104中判定为指令值的决定赶不上控制时机,且在步骤S105中判定为无法进行预测模型5的运算处理的加速的情况下,控制装置1中止预测模型5的运算处理。此时,控制装置1通过所述步骤S114及步骤S115,基于运算处理的中途结果的值来决定指令值,并基于所决定的指令值来控制生产装置3的动作。或者,控制装置1通过所述步骤S121及步骤S122,将预先给予的设定值指定为指令值,并基于所指定的指令值来控制生产装置3的动作。由此,能够防止因预测模型5对指令值的决定赶不上控制时机而导致对生产装置3的动作进行控制的处理发生滞后的情况。因此,根据本实施方式,能够适当地实施生产装置3的预测控制。
而且,本实施方式中,在通过步骤S113而评估为对中途结果的值的可靠度相对较高的情况下,控制装置1通过所述步骤S114及步骤S115,基于运算处理的中途结果的值来决定指令值,并基于所决定的指令值来控制生产装置3的动作。另一方面,在评估为对中途结果的值的可靠度相对较低的情况下,控制装置1通过所述步骤S121及步骤S122,将预先给予的设定值指定为指令值,基于所指定的指令值来控制生产装置3的动作。由此,即使在预测模型5的运算处理未能完成的情况下,也能够基于可靠度比阈值高的中途结果的值来决定适应于制品生产的指令值。因此,根据本实施方式,即使在预测模型5的运算处理未能完成的情况下,也能够适当地控制生产装置3的动作。
而且,本实施方式中,在步骤S104中判定为指令值的决定赶得上控制时机的情况下,通过执行步骤S106的处理,能够对预测模型5的运算处理进行加速。由此,控制装置1能够使预测模型5对指令值的决定赶得上控制时机。因此,根据本实施方式,能够降低中断预测模型5所进行的预测控制的可能性,而适当地实施所述预测控制。
§4变形例
以上,详细说明了本发明的实施方式,但直至前述为止的说明在所有方面不过是本发明的例示。当然能够在不脱离本发明的范围的情况下进行各种改良或变形。例如,能够进行如下所述的变更。另外,以下,关于与所述实施方式同样的构成元件,使用同样的符号,关于与所述实施方式同样的点,适当省略说明。以下的变形例能适当组合。
<4.1>
所述实施方式中,在步骤S104中判定为预测模型5对指令值的决定赶不上控制时机的情况下,控制部11通过步骤S105及步骤S106,对预测模型5的运算处理进行加速。对所述预测模型5的运算处理进行加速的处理也可予以省略。在省略加速处理的情况下,所述步骤S105及步骤S106也可予以省略,也可从控制装置1的软件结构中省略加速处理部115。
而且,所述实施方式中,在步骤S112中获取对中途结果的值的可靠度,在步骤S113中判定所获取的可靠度是否超过阈值。由此,控制部11决定:在决定对生产装置3的指令值时,是利用运算处理的中途结果的值,还是利用预先给予的设定值。所述步骤S112及步骤S113的一连串处理也可予以省略。此时,步骤S121及步骤S122也可予以省略。
<4.2>
所述实施方式中,预测模型5构成为,输出对指令值的基准值60的修正值63,以作为适应于制品41的生产的指令值的预测结果。但是,预测模型5的输出格式也可不限定于此例,可根据实施方式来适当决定。例如,预测模型5也可构成为,输出指令值其自身。
<4.3>
所述实施方式中,对于预测模型5的输入,利用工件40的特征量61及生产制品41的环境的属性值62这两者。但是,预测模型5的输入也可不限定于此例。工件40的特征量61及生产制品41的环境的属性值62中的其中一者也可予以省略。即,所述预测模型5可被构建为,针对工件40的特征量61及生产制品41的环境的属性值62的至少一者,对适应于制品41的生产的指令值进行预测。而且,对于所述预测模型5的输入,也可使用下述数据,此数据是与可能对生产装置3所进行的制品41的生产工序造成影响的因素相关的数据,且是工件40的特征量61及生产制品41的环境的属性值62以外的数据。
<4.4>
所述实施方式中,预测模型5包含决策树。但是,关于预测模型5的结构,只要能够对执行预测处理的时间点之前的时间点(将来的时间点)的、对生产装置3的指令值进行预测,且能够输出运算处理的中途结果,则也可不限定于此例,可根据实施方式来适当选择。而且,预测模型5也可使用学习模型以外的模型。
符号的说明
1:控制装置
11:控制部
12:存储部
13:通信接口
14:外部接口
15:输入装置
16:输出装置
17:驱动器
111:数据获取部
112:预测运算部
113:剩余处理时间计算部
114:延迟判定部
115:加速处理部
116:动作控制部
81:控制程序
121:分配数据
91:存储介质
2:学习装置
21:控制部
22:存储部
23:通信接口
24:输入装置
25:输出装置
26:驱动器
211:学习数据获取部
212:学习处理部
82:学习程序
221:学习用数据集
225:学习结果数据
92:存储介质
3:生产装置(冲压机)
31:伺服驱动器
32:上模具
33:下模具
40:工件
41:制品
5:预测模型(决策树)
60:(指令值的)基准值
61:特征量
62:属性值
63:修正值

Claims (16)

1.一种控制装置,包括:
硬件处理器;以及
存储器,保持由所述硬件处理器所执行的程序,
所述硬件处理器基于所述程序中所含的一连串命令来执行下述步骤:
开始预测模型的运算处理,所述预测模型被构建为对指令值进行预测,所述指令值是对由工件来生产制品的生产装置的指令值,且适合于所述生产装置对所述制品的生产;
在开始了所述预测模型的运算处理之后,算出直至所述预测模型的运算处理完成为止的剩余处理时间;
基于所算出的所述剩余处理时间,来判定基于从所述预测模型获得的输出值的、所述指令值的决定是否赶得上对所述生产装置所进行的所述生产的动作进行控制的控制时机;
当判定为所述指令值的决定赶得上所述控制时机时,继续所述预测模型的运算处理直至完成为止,由此,作为所述运算处理的最终结果,从所述预测模型获取输出值,基于从所述预测模型获取的输出值来决定对所述生产装置的指令值,并基于所决定的所述指令值来控制所述生产装置的动作;以及
当判定为所述指令值的决定赶不上所述控制时机时,中止所述预测模型的运算处理,基于所述运算处理的中途结果的值来决定对所述生产装置的指令值,并基于所决定的所述指令值来控制所述生产装置的动作。
2.根据权利要求1所述的控制装置,其中
所述预测模型包含决策树,
决策树包含根节点、叶节点、及配置在所述根节点与所述叶节点之间的中间节点,
所述预测模型的运算处理是从所述决策树的根节点朝向叶节点追溯链路的探索处理,
对于所述叶节点,对应有第一值,
当完成所述决策树的探索处理时,所述硬件处理器获取与在所述探索处理中所到达的叶节点相对应的第一值来作为所述输出值,
在中止所述决策树的探索处理时,所述硬件处理器获取第二值来作为所述中途结果的值,所述第二值是基于与属于在中止所述探索处理的时间点所到达的中间节点的叶节点相对应的第一值而决定。
3.根据权利要求2所述的控制装置,其中
所述第二值是与属于在中止所述探索处理的时间点所到达的中间节点的所有叶节点相对应的第一值的平均值。
4.根据权利要求2或3所述的控制装置,其中
所述第二值被关联于所述中间节点,
在中止所述决策树的探索处理时,所述硬件处理器获取第二值来作为所述中途结果的值,所述第二值被关联于在中止所述探索处理的时间点所到达的中间节点。
5.根据权利要求1至4中任一项所述的控制装置,其中
当中止所述预测模型的运算处理时,所述硬件处理器获取可靠度,所述可靠度表示所述中途结果的值作为预测的结果能否可靠的程度,
所述硬件处理器判定所获取的所述可靠度是否超过所指定的阈值,
当判定为所述可靠度超过所述阈值时,所述硬件处理器基于所述中途结果的值来决定对所述生产装置的指令值,并基于所决定的所述指令值来控制所述生产装置的动作,
当判定为所述可靠度不超过所述阈值时,所述硬件处理器省略基于所述中途结果的值来决定对所述生产装置的指令值的处理,将预先给予的设定值指定为所述指令值,并基于所指定的所述指令值来控制所述生产装置的动作。
6.根据权利要求5所述的控制装置,其中
所述可靠度是基于所述运算处理的推进度来决定。
7.根据权利要求1至6中任一项所述的控制装置,其中
当判定为所述指令值的决定赶不上所述控制时机时,所述硬件处理器进一步执行对所述预测模型的运算处理进行加速的步骤,
在执行了对所述预测模型的运算处理进行加速的步骤后,所述硬件处理器再次执行算出所述剩余处理时间的步骤、及判定所述指令值的决定是否赶得上所述控制时机的步骤,
当再次判定为所述指令值的决定赶不上所述控制时机时,所述硬件处理器中止所述预测模型的运算处理,并基于所述运算处理的中途结果的值来决定对所述生产装置的指令值。
8.根据权利要求7所述的控制装置,其中
所述硬件处理器判定能否进行所述预测模型的运算处理的加速,
当判定为无法进行所述预测模型的运算处理的加速时,中止所述预测模型的运算处理,并基于所述运算处理的中途结果的值来决定对所述生产装置的指令值。
9.根据权利要求7或8所述的控制装置,其中
所述硬件处理器包含一个或多个核心,
对于所述预测模型的运算处理,分配有至少一个核心,
所述硬件处理器针对所述预测模型的运算处理,提高所分配的所述核心的利用率,由此来对所述预测模型的运算处理进行加速。
10.根据权利要求7至9中任一项所述的控制装置,其中
所述硬件处理器包含一个或多个核心,
对于所述预测模型的运算处理,分配有至少一个核心,
所述硬件处理器在所分配的所述核心中,提高所述预测模型的运算处理的优先级,由此来对所述预测模型的运算处理进行加速。
11.根据权利要求7至10中任一项所述的控制装置,其中
所述硬件处理器包含多个核心,
对于所述预测模型的运算处理,分配有所述多个核心中的第一核心,
所述硬件处理器将第二核心进一步分配给所述预测模型的运算处理,由此来对所述预测模型的运算处理进行加速,所述第二核心是所述多个核心中的第二核心,且尚未被分配给所述预测模型的运算处理。
12.根据权利要求7至11中任一项所述的控制装置,其中
所述硬件处理器包含多个核心,
对于所述预测模型的运算处理,分配有所述多个核心中的第三核心,
所述多个核心包含第四核心,所述第四核心是尚未被分配给所述预测模型的运算处理的第四核心,且具有比在所述第三核心中分配给所述运算处理的利用率大的闲置容量,
所述硬件处理器将对所述预测模型的运算处理的分配由所述第三核心替换为所述第四核心,在所述第四核心中将比在所述第三核心中分配给所述运算处理的利用率大的利用率分配给所述运算处理,由此来对所述预测模型的运算处理进行加速。
13.根据权利要求1至12中任一项所述的控制装置,其中
所述预测模型构成为,输出对所述指令值的基准值的修正值,以作为与适合于所述制品的生产的、所述指令值的预测结果对应的所述输出值。
14.根据权利要求1至13中任一项所述的控制装置,其中
所述预测模型被构建为,针对所述工件的特征量及生产所述制品的环境的属性值的至少一者的输入,对适合于所述制品的生产的所述指令值进行预测。
15.一种控制方法,由计算机执行下述步骤:
开始预测模型的运算处理,所述预测模型被构建为对指令值进行预测,所述指令值是对由工件来生产制品的生产装置的指令值,且适合于所述生产装置对所述制品的生产;
在开始了所述预测模型的运算处理之后,算出直至所述预测模型的运算处理完成为止的剩余处理时间;
基于所算出的所述剩余处理时间,来判定基于从所述预测模型获得的输出值的、所述指令值的决定是否赶得上对所述生产装置所进行的所述生产的动作进行控制的控制时机;
当判定为所述指令值的决定赶得上所述控制时机时,继续所述预测模型的运算处理直至完成为止,由此,作为所述运算处理的最终结果,从所述预测模型获取输出值,基于从所述预测模型获取的输出值来决定对所述生产装置的指令值,并基于所决定的所述指令值来控制所述生产装置的动作;以及
当判定为所述指令值的决定赶不上所述控制时机时,中止所述预测模型的运算处理,基于所述运算处理的中途结果的值来决定对所述生产装置的指令值,并基于所决定的所述指令值来控制所述生产装置的动作。
16.一种控制程序,用于使计算机执行下述步骤:
开始预测模型的运算处理,所述预测模型被构建为对指令值进行预测,所述指令值是对由工件来生产制品的生产装置的指令值,且适合于所述生产装置对所述制品的生产;
在开始了所述预测模型的运算处理之后,算出直至所述预测模型的运算处理完成为止的剩余处理时间;
基于所算出的所述剩余处理时间,来判定基于从所述预测模型获得的输出值的、所述指令值的决定是否赶得上对所述生产装置所进行的所述生产的动作进行控制的控制时机;
当判定为所述指令值的决定赶得上所述控制时机时,继续所述预测模型的运算处理直至完成为止,由此,作为所述运算处理的最终结果,从所述预测模型获取输出值,基于从所述预测模型获取的输出值来决定对所述生产装置的指令值,并基于所决定的所述指令值来控制所述生产装置的动作;以及
当判定为所述指令值的决定赶不上所述控制时机时,中止所述预测模型的运算处理,基于所述运算处理的中途结果的值来决定对所述生产装置的指令值,并基于所决定的所述指令值来控制所述生产装置的动作。
CN201980012402.4A 2018-03-30 2019-03-13 控制装置、控制方法以及计算机可读记录介质 Active CN111699444B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018069319A JP6888577B2 (ja) 2018-03-30 2018-03-30 制御装置、制御方法、及び制御プログラム
JP2018-069319 2018-03-30
PCT/JP2019/010188 WO2019188273A1 (ja) 2018-03-30 2019-03-13 制御装置、制御方法、及び制御プログラム

Publications (2)

Publication Number Publication Date
CN111699444A true CN111699444A (zh) 2020-09-22
CN111699444B CN111699444B (zh) 2022-05-24

Family

ID=68061510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980012402.4A Active CN111699444B (zh) 2018-03-30 2019-03-13 控制装置、控制方法以及计算机可读记录介质

Country Status (5)

Country Link
US (1) US11762347B2 (zh)
EP (1) EP3779617B1 (zh)
JP (1) JP6888577B2 (zh)
CN (1) CN111699444B (zh)
WO (1) WO2019188273A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113838127A (zh) * 2021-09-28 2021-12-24 天津朗硕机器人科技有限公司 一种基于机器视觉的装配孔定位方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7031502B2 (ja) * 2018-06-07 2022-03-08 オムロン株式会社 制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム
DE112019007725T5 (de) * 2019-09-19 2022-09-08 Mitsubishi Electric Corporation Motorsteuerung und Motorsteuerungsverfahren
CN111353601B (zh) * 2020-02-25 2024-08-06 广东七号智算技术有限公司 用于预测模型结构的延时的方法和装置
DE112020007299T5 (de) 2020-06-05 2023-04-20 Mitsubishi Electric Corporation Servosteuervorrichtung
JP2021196999A (ja) * 2020-06-17 2021-12-27 オムロン株式会社 制御装置、上位コントローラ、制御方法、及び制御プログラム
US20220066427A1 (en) * 2020-08-31 2022-03-03 Hitachi, Ltd. System and method for distributing edge program in manufacturing field
CN113848845B (zh) * 2021-11-26 2022-04-15 佛山华数机器人有限公司 一种多机器人打磨调度方法
JP2024117410A (ja) 2023-02-17 2024-08-29 キヤノン株式会社 推論装置、撮像装置、推論装置の制御方法、プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695707A (ja) * 1992-09-11 1994-04-08 Toshiba Corp モデル予測制御装置
JPH0954611A (ja) * 1995-08-18 1997-02-25 Hitachi Ltd プロセス制御装置
JP2001175735A (ja) * 1999-12-17 2001-06-29 Canon Inc 時系列予測装置及びシステム及び方法及び記憶媒体
JP2011100338A (ja) * 2009-11-06 2011-05-19 Hitachi Automotive Systems Ltd 車載用マルチアプリ実行装置
CN107632521A (zh) * 2017-08-30 2018-01-26 中国矿业大学 一种基于决策树和神经网络的恒电位仪控制策略

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278603A (ja) * 2001-03-16 2002-09-27 Toshiba Corp 最適水運用計画装置及び最適水運用計画方法
US9110971B2 (en) * 2010-02-03 2015-08-18 Thomson Reuters Global Resources Method and system for ranking intellectual property documents using claim analysis
JP2016192010A (ja) * 2015-03-31 2016-11-10 株式会社日立製作所 電子制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695707A (ja) * 1992-09-11 1994-04-08 Toshiba Corp モデル予測制御装置
JPH0954611A (ja) * 1995-08-18 1997-02-25 Hitachi Ltd プロセス制御装置
JP2001175735A (ja) * 1999-12-17 2001-06-29 Canon Inc 時系列予測装置及びシステム及び方法及び記憶媒体
JP2011100338A (ja) * 2009-11-06 2011-05-19 Hitachi Automotive Systems Ltd 車載用マルチアプリ実行装置
CN107632521A (zh) * 2017-08-30 2018-01-26 中国矿业大学 一种基于决策树和神经网络的恒电位仪控制策略

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
G HASSAPIS: "Implementation of model predictive control using real-time multiprocessing computing", 《MICROPROCESSORS AND MICROSYSTEMS》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113838127A (zh) * 2021-09-28 2021-12-24 天津朗硕机器人科技有限公司 一种基于机器视觉的装配孔定位方法

Also Published As

Publication number Publication date
CN111699444B (zh) 2022-05-24
EP3779617B1 (en) 2024-05-01
US20210011438A1 (en) 2021-01-14
EP3779617A4 (en) 2021-12-22
JP2019179468A (ja) 2019-10-17
WO2019188273A1 (ja) 2019-10-03
US11762347B2 (en) 2023-09-19
JP6888577B2 (ja) 2021-06-16
EP3779617A1 (en) 2021-02-17

Similar Documents

Publication Publication Date Title
CN111699444B (zh) 控制装置、控制方法以及计算机可读记录介质
CN112105994B (zh) 控制系统、装置与方法、学习装置与方法及介质
KR102107378B1 (ko) 하이퍼파라미터 자동 최적화 방법 및 그 장치
CN108009016B (zh) 一种资源负载均衡控制方法及集群调度器
US20220414426A1 (en) Neural Architecture Search Method and Apparatus, Device, and Medium
US11513851B2 (en) Job scheduler, job schedule control method, and storage medium
US11614978B2 (en) Deep reinforcement learning for workflow optimization using provenance-based simulation
US10565343B2 (en) Circuit configuration optimization apparatus and machine learning device
JP2014164568A (ja) 端末装置、分散処理方法、分散処理プログラムおよび分散処理システム
US10248462B2 (en) Management server which constructs a request load model for an object system, load estimation method thereof and storage medium for storing program
US20200052635A1 (en) Method for searching excitation signal of motor, and electronic device
JP6958461B2 (ja) 制御装置、制御方法、及び制御プログラム
US20220299984A1 (en) Method and system for controlling a production plant to manufacture a product
JP6659260B2 (ja) Plcプログラムの最適化機能を備えた制御装置及び機械学習器
CN110097183B (zh) 信息处理方法以及信息处理系统
CN113850428A (zh) 作业调度的预测处理方法、装置和电子设备
US11954527B2 (en) Machine learning system and resource allocation method thereof
US20230111043A1 (en) Determining a fit-for-purpose rating for a target process automation
KR20240108773A (ko) 모델 해석 기반의 공정 상태의 원인 분석을 위한 장치 및 이를 위한 방법
EP4369193A1 (en) Job schedule quality prediction and job scheduling
JP2023122310A (ja) データ入力制御装置、データ入力制御方法、及びプログラム
CN118012345A (zh) 资源调度方法、装置、电子设备以及存储介质
CN114020423A (zh) 一种块存储调度方法、装置及电子设备和存储介质
RU2024102904A (ru) Компьютерные системы, вычислительные компоненты и вычислительные объекты, выполненные с возможностью реализации уменьшения обусловленного выбросовыми значениями динамического отклонения в моделях машинного обучения
CN114912591A (zh) 基于硬件信息的神经网络结构搜索方法及系统

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
GR01 Patent grant
GR01 Patent grant