CN111830825A - 机械的自动驾驶控制方法以及系统 - Google Patents
机械的自动驾驶控制方法以及系统 Download PDFInfo
- Publication number
- CN111830825A CN111830825A CN202010248015.5A CN202010248015A CN111830825A CN 111830825 A CN111830825 A CN 111830825A CN 202010248015 A CN202010248015 A CN 202010248015A CN 111830825 A CN111830825 A CN 111830825A
- Authority
- CN
- China
- Prior art keywords
- model
- learning
- reliability
- machine
- automatic driving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 151
- 230000008569 process Effects 0.000 claims abstract description 130
- 238000004088 simulation Methods 0.000 claims abstract description 106
- 230000006870 function Effects 0.000 claims abstract description 40
- 230000002787 reinforcement Effects 0.000 claims description 47
- 238000011156 evaluation Methods 0.000 claims description 30
- 238000012545 processing Methods 0.000 description 65
- 108010076504 Protein Sorting Signals Proteins 0.000 description 21
- 238000004891 communication Methods 0.000 description 20
- 238000005259 measurement Methods 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000003860 storage Methods 0.000 description 11
- 238000013500 data storage Methods 0.000 description 10
- 238000005457 optimization Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000005096 rolling process Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000012854 evaluation process Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008451 emotion Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41885—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive 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/042—Adaptive 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 parameter or coefficient is automatically adjusted to optimise the performance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/406—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
- G05B19/4069—Simulating machining process on screen
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40298—Manipulator on vehicle, wheels, mobile
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40499—Reinforcement learning algorithm
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Manufacturing & Machinery (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Feedback Control In General (AREA)
Abstract
本发明提供机械的自动驾驶控制方法以及系统。通过去除基于数学地描述的函数的拟合的过学习的影响来削减实机与仿真的误差,以此将机械的自动驾驶控制最优化。控制机械的自动驾驶的自动驾驶控制系统设定第1模型,其基于数学地描述的函数来表示输入到所述机械的控制信号串与从遵循该控制信号串而控制的所述机械输出的数据的关系。系统在包含学习机械的自动驾驶控制的学习处理中,直到满足第1条件为止使用第1模型来执行学习,在满足第1条件以后,直到意味着过学习的第2条件得以满足为止,或直到该第2条件未得到满足而结束学习为止,使用使第1模型变化1次以上后的模型即第2模型来执行学习。
Description
技术领域
本发明总体涉及机械的自动驾驶控制。
背景技术
大型工业机械等机械的自动驾驶控制进行以下操作:使用模仿实机的仿真,来寻找最优的自动驾驶控制方法,通过实机验证仿真上实现的自动驾驶控制。作为寻找该最优控制的方法,能举出最优化计算、强化学习等。
作为大型工业机械的示例而有桥式起重机,在专利文献1中举出桥式起重机的自动驾驶控制的示例。根据专利文献1,进行以下操作:对某特定的搬运使用物理模型的搬运仿真,生成自动驾驶控制步骤,使得运送物不会摇晃。
但由于实机与仿真间的误差,实机会进行与仿真不同的行动,难以得到希望的结果。因此,实机中的调整变得不可欠缺,但由于频繁使用大型工业机械的实机来进行实验则负担较大,因此较为困难。
为了避免该问题,如专利文献2中所举出的那样,考虑生成仿真,使其接近实机。
现有技术文献
专利文献
专利文献1:JP特开2007-161393号公报
专利文献2:JP特开2004-178247号公报
在桥式起重机中,考虑根据某标准的控制信号串的真实数据来生成专利文献2那样的精致的仿真,但为了对实机与仿真之间进行填补,进行基于数学地描述的函数的拟合(合わせ込み)。已知的是,在该拟合中,由于实机的数据不足、没有重现性,会进行过学习。
在仿真进行了过学习的情况下,仿真强烈依赖于生成拟合仿真时的控制信号串、运送距离、运送物的重量、进行实机验证的环境等参数。因此,在控制信号串、运送距离、环境这样的参数发生变化时,仿真的结果较大变动,存在仿真与实机间的误差变大的问题。因此,出现了以下问题:在进行了拟合的控制的环境以外,实现不了自动驾驶控制。
另外,在自动驾驶控制的控制信号串的搜索中使用强化学习的情况下,在进行了过学习的仿真中,存在强化学习中得到的报酬较大变动,学习推进不了的问题。因此,在实现基于强化学习的自动驾驶控制时,需要防止在生成控制信号串时所用的仿真中包含过学习的影响。
基于数学地描述的函数的拟合的过学习的影响对于在自动驾驶控制的控制信号串的搜索中使用强化学习以外的学习的情况也会成为问题。
发明内容
因此,在本发明中,目的在于,通过去除基于数学地描述的函数的拟合的过学习的影响来削减实机与仿真的误差,由此将机械的自动驾驶控制最优化。
用于解决课题的手段
对机械的自动驾驶进行控制的自动驾驶控制系统设定第1模型,该第1模型基于数学地描述的函数来表示输入到所述机械的控制信号串与从遵循该控制信号串而控制的所述机械输出的数据的关系。系统在包含学习机械的自动驾驶控制的学习处理中,直到满足第1条件为止使用第1模型来执行学习,在满足第1条件以后,直到意味着过学习的第2条件得以满足为止,或直到该第2条件未得到满足而结束学习为止,使用使第1模型变化1次以上后的模型即第2模型来执行学习。
发明的效果
根据本发明,通过去除基于数学地描述的函数的拟合的过学习的影响来削减实机与仿真的误差,以此能使机械的自动驾驶控制最优化。
附图说明
图1是表示自动驾驶控制的概要的一例的示意图。
图2是表示“系统”008的结构的一例的框图。
图3是表示存放于“数据库”116的数据的一例的框图。
图4是“可靠度仿真生成模块”108所执行的处理的一例的流程图。
图5是表示“问题设定处理”S301的详细的一例的流程图。
图6是表示机械学习的拟合的一例的区域图。
图7是表示“学习执行处理”S306的详细的一例的流程图。
图8是表示拟合施加的一例的示意图。
图9是表示“评价处理”S307的详细的一例的流程图。
图10是表示“机械臂台车”901的结构的一例的示意图。
图11是表示“机械臂台车”901的进程的一例的示意图。
附图标记的说明
001...桥式起重机
008...系统(自动驾驶控制系统)
具体实施方式
在以下的说明中,“接口装置”可以是一个以上的接口设备。该一个以上的接口设备可以是下述当中至少一者。
·一个以上的I/O(Input/Output)接口设备。I/O(Input/Output)接口设备是针对I/O设备和远程的显示用计算机当中至少一者的接口设备。针对显示用计算机的I/O接口设备可以是通信接口设备。至少一个I/O设备可以是用户接口设备,例如键盘以及指向设备那样的输入设备、和显示设备那样的输出设备当中的任意一者。
·一个以上的通信接口设备。一个以上的通信接口设备可以是一个以上的同种的通信接口设备(例如一个以上的NIC(Network Interface Card,网络接口卡)),也可以是两个以上的异种的通信接口设备(例如NIC和HBA(Host Bus Adapter,主机总线适配器))。
另外,在以下的说明中,“存储器”是一个以上的存储器设备,典型地是主存储设备。存储器中的至少一个存储器设备可以是易失性存储器设备,也可以是非易失性存储器设备。
另外,在以下的说明中,“永久存储装置”是一个以上的永久存储设备。永久存储设备典型地是非易失性的存储设备(例如辅助存储设备),具体地,例如是硬盘驱动器(HDD)或固态硬盘(SSD)。
另外,在以下的说明中,“存储装置”可以是存储器和永久存储装置的至少存储器。
另外,在以下的说明中,“处理器”是一个以上的处理器设备。至少一个处理器设备典型地是中央处理器(CPU)这样的微处理器设备,但也可以是图形处理器(GPU)这样的其他种类处理器设备。至少一个处理器设备可以是单核,也可以是多核。至少一个处理器设备也可以是处理器核。至少一个处理器设备可以是进行处理的一部分或全部的硬件电路(例如现场可编程门阵列(FPGA)或应用专用集成电路(ASIC))这样的广义的处理器设备。
另外,在以下的说明中,以“kkk部”的表现来说明功能,但功能也可以通过由处理器执行一个以上的计算机程序来实现,还可以由一个以上的硬件电路(例如FPGA或ASIC)实现。在通过由处理器执行程序来实现功能的情况下,由于在适当使用存储装置以及/或者接口装置等的同时进行所确定的处理,因此功能可以作为处理器的至少一部分。以功能为主语而说明的处理可以设为处理器或具有该处理器的装置所进行的处理。程序可以从程序源安装。程序源例如可以是程序分发计算机或计算机可读的记录介质(例如非临时的记录介质)。各功能的说明是一例,也可以将多个功能汇总成一个功能,或将一个功能分割成多个功能。
以下,使用附图来说明几个实施例。
【实施例1】
图1是表示实施例1所涉及的自动驾驶控制的概要的一例的图。
“桥式起重机”001是自动驾驶控制对象的工业机械的一例。“桥式起重机”001具备能移动的“台车”002、“运送物”003、能卷起的“细绳”004、“能通信的控制装置”005和“传感器”006。“传感器”006测定“台车”002的速度以及位置、“细绳”004的长度和“摇晃角度θ”007。“传感器”006的测定值(本实施例中是“台车”002的速度以及位置、“细绳”004的长度和“摇晃角度θ”007)被发送到“系统”008。“系统”008是本实施例所涉及的自动驾驶控制系统。
“传感器”006在图1中是一个,但也可以有多个“传感器”006。可以在“台车”002、“细绳”004以及“运送物”003分别具备多个“传感器”006。
“摇晃角度θ”007设为从“台车”002向铅直方向伸长的直线与直线状的“细绳”004之间的角度。但摇晃角度的定义并不限于此。例如摇晃角度的定义也可以用“细绳”004和“台车”002的水平线方向定义,即,若以图1来说,可以(90度-θ)是“摇晃角度”。
“能通信的控制装置”005事前从系统”00接收指示“台车”002的加减速的控制信号的每个时间的串即控制信号串、例如“控制信号串”009,“能通信的控制装置”005进行遵循该“控制信号串”009的控制,由此来实现利用控制信号串的“桥式起重机”001的自动驾驶控制。
根据具体例的“控制信号串”009,“台车”002若在加速控制时到达最大速度,就停止加速而以最大速度进行匀速驾驶,在减速时,若台车成为速度0,就不再减速,速度成为0。
“能通信的控制装置”005例如可以是如下那样的装置:通过PLC(ProgrammableLogic Controller,可编程逻辑控制器)或运动控制器接收所发送的“控制信号串”009,将接收到的信号输出到逆变器,通过逆变器将该信号变换成用于实际控制“桥式起重机”001的“台车”002的控制信号串的形式,如该信号串那样来控制台车。另外,“能通信的控制装置”005的示例并不限于上述的装置。另外,“能通信的控制装置”005在图1中是搭载于“台车”002的装置,但也可以不搭载于“台车”002。
图2是表示“系统”008的结构的一例的框图。
参考图2,“系统”008具有“存储器”102、“通信装置”103、“程序存储装置”104、“数据存储装置”105、“输入装置”106、“输出装置”107、和与它们连接的“CPU”101。“通信装置”103是接口装置的一例。“存储器”102、“程序存储装置”104以及“数据存储装置”105是存储装置的一例。“CPU”101是处理器的一例。
“程序存储装置”104是存储在“CPU”101中执行的一个以上的计算机程序的装置。“程序存储装置”104例如存储“可靠度仿真生成模块”108。
“可靠度仿真生成模块”108是进行图4例示的处理的软件模块。软件模块由一个以上的软件程序构成,是实现某汇集的功能的软件或软件部件。
“可靠度仿真生成模块”108具有“问题设定部”109、“可靠度设定部”110、“施加模型生成部”111、“学习执行部”112、“评价部”113、“可靠度生成部”114、“可靠度/基本模型更新部”115和“驾驶控制部”118。
“数据存储装置”105是存储数据的装置。“数据存储装置”105例如存储“数据库”116。
另外,在此,示出将“程序存储装置”104和“数据存储装置”105设为分开的装置的示例,但并不限定于该结构,“程序存储装置”104和“数据存储装置”105也可以是同一存储装置。
“可靠度仿真生成模块”108对存放于“数据存储装置”105的“数据库”116进行数据的输入输出。
“CPU”101例如将“存储器”102作为工作区而利用,进行存储于“数据存储装置”105的数据的读出。此外,“CPU”101例如将运算过程、运算结果的数据写入到“数据存储装置”105。
“通信装置”103例如将在“CPU”101处理过的信息经由例如通信网络而发送到“能通信的控制装置”005这样的外部的装置。此外,“通信装置”103例如将经由通信网络接收到的信息传递到“CPU”101。
“输入装置”106是键盘、鼠标等用户接口装置。
“输出装置”107是显示器装置、打印机等用户接口装置。
另外,也可以是,经由“通信装置”103而连接的该终端具有“输入装置”106以及“输出装置”107,按照来自终端的要求对数据进行处理,将处理结果输出到终端。
“系统”008可以物理地构建在一个计算机上,也可以构建于在多个计算机上构成的逻辑分区上。
图3是表示存放于“数据库”116的数据的一例的框图。
“数据库”116存放“控制信息”201、“参数”202、“控制信号串”203、“措施”204、“仿真数据”205、“真实世界数据”206、“算出误差”207、“可靠度尺”208、“可靠度”209、“KPI(KeyPerformance Indicator,关键业绩指标)”210、“报酬信息”211和“过学习参数”212。“数据库”116中的要素201~212各自例如是表格。
以下使用上述的图2例示的“系统”008,用图1~图3来说明实现图1例示的“桥式起重机”001的自动驾驶的方法的一例。
存放于“数据库”116的“控制信号串”203的结构并不限于具体例的“控制信号串”009的结构。例如“控制信号串”203的结构、“控制信号串”009的结构并不限于图1例示的结构,可以是在“桥式起重机”001中有效的任意结构。在以下的说明中,设为从“系统”008对“能通信的控制装置”005发送“控制信号串”009,“控制信号串”009基于从“数据库”116读出的“控制信号串”203。
另外,仿真中考虑的环境并不限于图1例示的一维方向的自动运送,例如也可以包含二维方向上的自动运送、包括卷起的三维方向的自动运送。若运送成为二维方向或三维运送,则如在极坐标系中已知的那样,“摇晃角度θ”007成为二维量。控制信号串也可以是也与二维或三维对应的控制信号串,若还有卷起功能的控制,则可以是“控制信号串”009那样表示进行“卷起”以及“不卷起”的哪一者的控制信号串。仿真中考虑的环境中的与控制对象相关的信息存放在“控制信息”201。
定义仿真的环境的要素例如可以是“台车”002的重量以及形状、“运送物”003的重量以及形状、和“细绳”004的长度以及形状,表示这些要素的信息存放在“控制信息”201。
“桥式起重机”001的自动驾驶控制中设为目标的任务的一例是找到进行针对存放于“控制信息”201的要素(例如设定的运送距离、细绳的卷起长度)的合适的控制的“控制信号串”009那样的信号串。在本实施例中,这样的控制信号串使用强化学习来寻找。生成控制信号串的方法并不限定于强化学习。
在“系统”008中,“CPU”101从“数据库”116读出“台车”002的“控制信号串”203,经由“通信装置”103将遵循“控制信号串”203的“控制信号串”209发送到“能通信的控制装置”005。
“能通信的控制装置”005对“台车”002进行接收到的“控制信号串”009那样的控制,将包含控制中每单位时间从“传感器”006得到的测定值(例如“台车”002的速度以及位置、“运送物”003的“摇晃角度θ”007以及“细绳”004的长度)的数据即真实世界数据发送到“系统”008。“CPU”101经由“通信装置”103接收真实世界数据,将接收到的真实世界数据存放到“数据存储装置”105的“数据库”116中的“真实世界数据”206。
使用附图来说明通过强化学习来生成为了控制上述的实机(“桥式起重机”001)所需的合适的“控制信号串”009的方法。
图4是表示“可靠度仿真生成模块”108所执行的处理的一例的流程图。另外,在图4的流程图所示的处理中,对“数据库”116适当地输入输出数据,但与该输入输出相关的记载由于说明的冗长而省略。
最初,“问题设定部”109进行“问题设定处理”S301。“问题设定处理”S301将“控制信息”201和“参数”202输入到“数据库”116,换言之,进行生产可靠度仿真时的初始设定。
“控制信息”201可以包含从“输入装置”106输入的数据。“控制信息”201包含与“桥式起重机”001的特征、控制“桥式起重机”001的“系统”008的特征相关的信息(例如运送距离、“细绳”)004的卷起长度)。
另外,“控制信息”201可以包含表示容许误差的范围的信息(容许误差信息)。容许误差范围意味着实机与仿真间能容许的误差的范围(例如误差的上限和下限)。另外,该容许误差范围默认地存放于“控制信息”201,用户指定容许误差范围可以不是必须的。容许误差范围的上限和下限典型地是不同的值。
“控制信息”201也可以取代上述的信息的至少一部分或除了上述的信息的至少一部分以外而包含其他种类信息。
“参数”202可以包含从“输入装置”106输入的数据。“参数”202例如是表示存在于“问题设定部”109中所含的仿真器中的去不掉的误差(以下称作固定误差)的信息(以下称作固定误差信息)、“问题设定部”109和“学习执行部”112中所含的强化学习的报酬函数的容许区域和超级参数等与环境设定相关的信息。
“参数”202可以取代上述的信息的至少一部分或在上述的信息的至少一部分基础上包含其他种类信息,例如构成“系统”008时所需的值。
在本实施例中,“控制信息”201和“参数”202是分开的信息,但“控制信息”201和“参数”202也可以总体地设为同一信息。
图5是表示“问题设定处理”S301的详细的一例的流程图。
“问题设定部”109执行“KPI处理”S401。
“KPI处理”S401包含将“控制信息”201中所含的对于运送数据成为指标值的KPI存放到“KPI”210。作为KPI的示例,在“桥式起重机”001中,能采用运送时间早、运送结束后的运送物的摇晃幅度小这样的示例,但并不限于该示例。
接下来“问题设定部”109执行“基本模型生成处理”S402。
“基本模型生成处理”S402包含:将“控制信息”201和“参数”202作为输入,用数学地描述的函数建模“桥式起重机”001,即,生成“桥式起重机”001的基本模型。
“基本模型生成处理”S402中生成的基本模型是“桥式起重机”001的演绎模型即物理模型,例如可以是在利用牛顿力学的仿真中生成的模型。
“基本模型生成处理”S402中生成的基本模型被“问题设定部”109设定为可靠模型且存放到“仿真数据”205。
接下来,“问题设定部”109执行“措施评价设定处理”S403。“措施评价设定处理”S403包含强化学习的执行和评价。
例如“措施评价设定处理”S403包含:将“基本模型生成处理”S402中生成的可靠模型作为强化学习时的仿真器使用,基于存放于“KPI”210的KPI来决定可靠模型使用时的最优措施,且设定报酬收敛的情节(episode)数α即参数A。参数A被“问题设定部”109存放到“数据库”116的“参数”202,最优措施被“问题设定部”109存放到“数据库”116的“措施”204中。
此外,“措施评价设定处理”S403包含:为了决定参数A,关于存放于“参数”202的报酬函数(强化学习中定义的报酬函数)输入该报酬函数的输出(报酬)的容许范围。
参数A可以从用户最初输入,并存放到“参数”202,来取代在“措施评价设定处理”S403中进行决定。
“措施评价设定处理”S403包含:将存放于“措施”204的上述决定的最优措施变换成适于“桥式起重机”001的控制信号串,将变换的信号串存放于“数据库”116的“控制信号串”203。
此外,“措施评价设定处理”S403包含:在“基本模型生成处理”S402中生成的仿真上执行基于最优措施的控制(将存放的控制信号串输入到基本模型),将表示该执行的结果的仿真结果数据存放到“数据库”116的“仿真数据”205中。仿真结果数据例如包含基于最优措施的控制中的每单位时间的测定值(例如“台车”002的位置以及速度、“运送物”003的“摇晃角度θ”007)。
接下来“问题设定部”109执行“误差目标设定处理”S404。“误差目标设定处理”S404包含:将存放于“控制信息”201的容许误差信息作为输入,根据该信息来设定成为学习结束条件的容许误差范围,将表示设定的容许误差范围的信息存放到“参数”202。
再度参考图4。接下来,“可靠度设定部”110执行“可靠度设定处理”S302。
“可靠度设定处理”S302包含:将“措施评价设定处理”S403中存放于“控制信号串”203的控制信号串(最优措施的控制信号串)和存放于“仿真数据”205的仿真结果的至少一者经由“输出装置”107提示给用户。用户针对该提示,经由“输入装置”106输入学习处理的许可以及拒绝的任一者的选择,“可靠度设定处理”S302包含:输入该选择。
在“可靠度设定处理”S302中输入拒绝的选择的情况下,“可靠度设定部”110执行“追加处理”S303。“追加处理”S303包含:从用户接受追加到“控制信息”201和“参数”202的信息的输入。输入的信息在“问题设定处理”S301中存放到“控制信息”201和“参数”202中。
在“可靠度设定处理”S302中输入许可的选择的情况下,“可靠度设定部”110例如执行如下处理。即,“可靠度设定部”110将遵循“措施评价设定处理”S402中决定并存放到“控制信号串”203的控制信号串的“控制信号串”009(最优措施的控制信号串)经由“通信装置”103发送到“桥式起重机”001的“能通信的控制装置”005。另外,“可靠度设定部”110经由“通信装置”103,从遵循该控制信号串控制“桥式起重机”001的“能通信的控制装置”005接收从“传感器”006得到的真实世界数据,将该真实世界数据存放到“真实世界数据”206。真实世界数据可以是与“基本模型生成处理”S402中生成的基本模型的结果同样的数据串,或者也可以仅是能生成该数据串的信息。另外,真实世界数据例如可以包含每单位时间的测定值(例如“台车”002的位置以及速度、“运送物”003的“摇晃角度θ”007)。真实世界数据的种类并不限于该示例。
“可靠度设定处理”S302包含:通过将从“桥式起重机”001得到并存放于“真实世界数据”206的真实世界数据、和使用“基本模型生成处理”S402中生成的可靠模型(基本模型)得到并存放于“仿真数据”205的仿真结果数据进行比较,来计算误差,将该误差存放到“算出误差”207。这里所说的“真实世界数据”是作为遵循从“系统”008发送的“控制信号串”009的控制的结果而从“桥式起重机”001接收到的实测数据,例如是包含每单位时间的实际的测定值(“运送物”003的“摇晃角度θ”)的数据。“仿真结果数据”是作为仿真上执行遵循成为从“系统”008发送的“控制信号串”009的基础的控制信号串(从“控制信号串”203得到的信号串)的控制的结果而得到的预测数据,例如是包含每单位时间预测的测定值的数据。
在真实世界数据包含一个以上的实际的测定值、仿真结果数据包含与一个以上的实际的测定值分别对应的一个以上的预测的测定值的情况下,得到一个以上的差分值,作为真实世界数据与仿真结果数据的差分数据。各差分值是实际的测定值与该实际的测定值所对应的预测的测定值的差分(绝对值)。误差可以是全差分值的和。作为误差的定义,也可以取代差分值的和,而采用其他定义(例如全差分值的平均、最大值或最小值)。
“可靠度设定处理”S302包含:基于算出的误差来确定可靠度。作为所确定的可靠度的示例,在没有误差时,可以是可靠度=1。在有误差时,与“基本模型生成处理”S402中设定的可靠模型相关的误差(例如可靠模型的固定误差)可以与可靠度=0建立关联。
“可靠度设定处理”S302包含:将存放于“算出误差”207的误差作为输入,根据该误差来计算可靠度尺(可靠度的尺),将算出的可靠度尺存放到“数据库”116的“可靠度尺”208。可靠度尺是指可靠度与误差的关系。例如可以是,可靠度=0与上述算出的误差对应,可靠度=1与误差=0对应,能以该对应关系为基础进行比0比1小的可靠度和与该可靠度对应的误差的相互变换。
此外,“可靠度设定处理”S302包含:将存放于“参数”202的固定误差信息作为输入,根据该固定误差信息来设定初始可靠度τ0。另外,初始可靠度可以作为超级参数存放于“参数”202中,也可以存放于“控制信息”201。
“可靠度设定处理”S302包含:将设定的初始可靠度τ0存放于“可靠度”209。
作为初始可靠度τ0的示例,有比与固定误差建立关联的可靠度(例如0)大的值、仅相当于10%的可靠的0.1等,但是初始可靠度τ0并不限于该示例。
可靠度τ是根据误差而估算的量。即,可靠度τ取决于误差的基准,是与误差等价的量。因此,可靠度τ还能视作误差。在本实施例中,0≤τ≤1。
“可靠度设定处理”S302包含:与“基本模型生成处理”S402同样地,设定可靠模型作为基本模型,将基本模型存放于“数据库”116的“仿真数据”205。
接下来,“施加模型生成部”111执行“施加模型生成处理”S304和“施加模型权重算出处理”S305。
“施加模型生成处理”S304将存放于“仿真数据”205的基本模型、存放于“算出误差”207的误差和存放于“参数”202的容许误差范围作为输入,使用数学地描述的函数来拟合该误差。
“施加模型生成处理”S304中所用的拟合若进行拟合成以使误差消失,就会生成进行了过学习的模型,因此用多项式函数对全数据进行拟合,使得成为容许误差范围内。
图6表示机械学习的拟合的一例。横轴与时间对应,纵轴与某种测定值(例如运送距离)对应。
若参考图6,则拟合的区域是能用基本模型重现的点线501与真实世界数据所表示实线502之间的区域503。另外,对2条一点划线之间进行表征的范围504是容许误差范围的一例。因此,决定的拟合函数是对区域503与容许误差范围504重复的范围内填补误差的拟合函数。
上述的拟合函数(拟合模型)将多项式函数作为一例,但并不限于多项式函数,另外,并不限于机械学习,也可以包含从数据导出的回归模型。作为拟合函数的示例,有样条插值、泰勒展开、最近邻算法、支持向量机、随机森林等,并不限于该示例。
“施加模型生成处理”S304包含:将拟合模型存放到“数据库”116的“仿真数据”205。
“施加模型权重算出处理”S305将存放于“可靠度”209的可靠度τ、存放于“仿真数据”205的拟合模型和存放于“参数”202的可靠度τ1作为输入。
“施加模型权重算出处理”S305包含:生成“施加模型生成处理”S304中生成的拟合模型当中τ1的权重(比例)的拟合模型(以下、权重τ1的拟合模型),将权重τ1的拟合模型存放到“仿真数据”205。另外,τ1比0大,比τ(可靠度)小。τ1比τ小的理由是为了避免在误差大的情况下(τ小的情况下)施加有可能过学习的拟合模型的比例变大。
接下来,“学习执行部”112执行“学习执行处理”S306的处理。图7示出“学习执行处理”S306的详细。
参考图7,“学习执行部”112首先执行“模型施加控制处理”S601。
“模型施加控制处理”S601包含:将“仿真数据”205作为输入,来对强化学习的情节进行计数。计数值T(情节数T)每当执行S601就递增。另外,“模型施加控制处理”S601包含:对应于情节数T来仅输出基本模型,或输出基本模型和权重τ1的拟合模型。
具体地,例如“模型施加控制处理”S601包含:将情节数T和α(1-τ)进行比较(α不足最终情节数H)。“模型施加控制处理”S601包含:在T比α(1-τ)小的情况下,仅输出基本模型。作为结果,执行“基本模型使用处理”S602。另一方面,“模型施加控制处理”S601包含:在T为α(1-τ)以上的情况下,输出基本模型和权重τ1的拟合模型。作为结果,执行“模型施加处理”S603。图8示出该段落中的上述的示例。若如上述那样,就能基于可靠度τ来执行拟合的仿真施加。由此,能用过学习的影响低的拟合模型(可靠度τ高的拟合模型)在早期进行学习。此外,若如上述那样,在ε贪婪等搜索方法中,在可靠度τ低时,限制后述的“强化学习处理”S605的搜索。因此,不会用包含过学习的影响的仿真进行搜索,如后述那样,能识别过学习的影响引起的报酬函数的变动。另外,比较T和α(1-τ)的意义的一例如下那样。即,在T比收敛情节数α大且比最终情节数H小的情况下,由于认为充分进行了强化学习,因此认为即使增加情节数继续学习,结果也没什么改变。因此,在α(1-τ)<T<α中,虽然学习率小,但也期待稍微进行学习。通过在这样的状况下施加拟合模型,能期待对过学习的状况不会过于学习。这样的拟合模型的施加方法是一例,也可以采用基于情节数T与α(1-τ)的比较结果的施加方法以外的施加方法(例如将情节数T与其他值进行比较的方法)。
在T比α(1-τ)小的情况下,“学习执行部”112执行“基本模型使用处理”S602、“强化学习处理”S604以及“总和报酬RB0的平均的算出处理”S606。
“基本模型使用处理”S602被输入“模型施加控制处理”S601中输出的基本模型。
“强化学习处理”S604包含:将基本模型和情节数作为输入,来执行学习。
具体地,例如“强化学习处理”S604包含:进行利用基本模型的强化学习中的搜索,另外,将存放于“KPI”210的KPI作为输入,生成为了学习的评价所需的报酬函数。
“强化学习处理”S604包含:将“措施评价设定处理”S403中确定的收敛情节数α(存放于“参数”202的收敛情节数α)和“模型施加控制处理”S601的情节数T作为输入,对应于情节数T来对搜索进行控制。
搜索的控制方法在这里将随着情节增加而搜索概率减少的ε贪婪作为示例,但也可以是其他方法。
“强化学习处理”S604包含:对本次的情节的学习中得到的报酬的总和(总和报酬RB0)进行计算,将本次的总和报酬RB0存放于“报酬信息”211。
“总和报酬RB0的平均的算出处理”S606包含:将存放于“报酬信息”211的到目前为止的总和报酬RB0、和存放于“参数”202的情节数T1(例如预定的或由用户指定的情节数)作为输入,计算总和报酬RB0的平均(即,用到目前为止的总和报酬RB0的合计除以情节数T1),将总和报酬RB0的平均存放到“数据库”116的“报酬信息”211。取总和报酬RB0的平均的方法也可以将T1作为批(batch)来取平均,还可以每2情节取1情节,使用T1来取平均等,并没有限定。
在情节数T为a(1-τ)以上的情况下,“学习执行部”112执行“模型施加处理”S603、“强化学习处理”S605、“总和报酬RB1的平均的算出处理”S607、“过学习判断指标的算出处理”S608、“是否采用模型判断处理”S609。
“模型施加处理”S603将这时的情节数T(即,最初进行拟合模型的施加时的情节数)设为Tin,存放到“参数”202。
“模型施加处理”S603将情节数Tin和存放于“仿真数据”205的仿真(基本模型和权重τ1的拟合模型)作为输入,对应于情节数Tin,来对基本模型施加权重τ1的拟合模型。施加的大小(施加拟合模型的比例)可以从施加开始起保持固定值τ1不变,也可以是在每1情节加进τ1的大小。施加的大小这里举出上述为例,但并不限定于该示例。
另外,在从施加开始起维持固定值τ1作为施加的大小的情况下,“学习执行部”112若在“模型施加处理”S603中已经对基本模型施加了权重τ1的拟合模型,则在下一“模型施加处理”S603中,就不再对基本模型新施加拟合模型。
其中,“学习执行部”112在“模型施加处理”S603中进行维持,使得权重τ1与可靠度τ之和不会超过1。这是为了使得作为对基本模型施加权重τ1的拟合模型的结果的模型(以下称作更新基本模型)的值不会超过在拟合中进行导出时的仿真的值。
“强化学习处理”S605包含:将更新基本模型和情节数T1作为输入,来执行学习。
具体地,例如“强化学习处理”S605包含:进行利用更新基本模型的强化学习中的搜索,另外,将存放于“KPI”210的KPI作为输入,来生成为了学习的评价所需的报酬函数。
“强化学习处理”S605将“措施评价设定处理”S403中确定的收敛情节数α(存放于“参数”202的收敛情节数α)和“模型施加控制处理”S601的情节数T作为输入,对应于情节数T来对搜索进行控制。
搜索的控制方法这里以随着情节增加而搜索概率减少的ε贪婪为例,但也可以是其他方法。
“强化学习处理”S605包含:计算本次的情节的学习中得到的报酬的总和(总和报酬RB1),将本次的总和报酬RB1存放到“报酬信息”211。
直到“强化学习处理”S605的学习次数K成为T1为止,都重复“模型施加处理”S603和“强化学习处理”S605。在“强化学习处理”S605的学习次数K成为T1的情况下,执行“总和报酬RB1的平均的算出处理”S607。
“总和报酬RB1的平均的算出处理”S607包含:根据存放于“报酬信息”211的到目前为止的总和报酬RB1和T1来计算总和报酬RB1的平均。
“过学习判断指标的算出处理”S608包含:决定意味着拟合模型进行了过学习(拟合模型是进行了过学习的模型)的指标(条件)即过学习判断指标。过学习判断指标例如可以包含下述(A)~(D)当中的至少一者。
(A)在“模型施加处理”S603的以后存放于“报酬信息”211的总和报酬RB1的平均比在S606最后计算的总和报酬RB0的平均大。
(B)与以搜索的概率估算的次数相比而报酬函数的变动更多。另外,指标(B)的意义的一例如下那样。强化学习由于在学习某种程度推进的情况下,有时也会进行搜索(不使用到目前为止的见解(学习的结果)而采取新的行动),因此在该搜索失败时,有时报酬会较大变动。报酬比基于发生该搜索的概率而估计的次数更多地变动是因为学习中所用的仿真(模型)进行了过学习的状况。因而,指标(B)能成为过学习判断指标的一例。
(C)总和报酬的增减的幅度比权重τ1的拟合模型的施加前大。指标(C)的一具体例如下那样。情节数T=5000(设为T>α(1-τ)=4000)的报酬与情节数T=5001的报酬之差比拟合模型施加前(T<4000)的T=10的报酬与T=11的报酬之差(例如设为在拟合模型施加前,该报酬差最大)大。
(D)更新基本模型的报酬变动幅度DRB1(总和报酬RB1的最大值与最小值的幅度)超过即将施加前的基本模型使用时的报酬变动幅度DRB0(总和报酬RB0的最大值与最小值的幅度)。例如,符合如下当中至少一者:报酬变动幅度DRB1的最大值高于报酬变动幅度DRB0的最大值;报酬变动幅度DRB1的最小值低于报酬变动幅度DRB0的最小值;以及报酬变动幅度DRB1比报酬变动幅度DRB0大。报酬变动幅度DRB0以及报酬变动幅度DRB1存放在“报酬信息”211。指标(D)的一具体例如下那样。将到T=4000为止的期间得到的报酬的最大值与最小值(例如T=10的报酬最大、T=1930的报酬最小)之差设为报酬变动幅度DRB0,将模型施加后得到的报酬的最大值与最小值(例如T=5001的报酬最小、T=6000的报酬最大)之差设为报酬变动幅度DRB1,将DRB0和DRB1进行比较。
此外,“过学习判断指标的算出处理”S608包含:在满足过学习判断指标的情况下,将拟合模型判断为进行了过学习的模型。
“是否采用模型判断处理”S609包含:在“过学习判断指标的算出处理”S608中判断为拟合模型进行了过学习的情况下,设为F=1(F是过学习判断参数),将F=1存放到数据库109的“过学习参数”212。此外,在该情况下,“CPU”101(例如“学习执行部”112)可以对用户提示“输出装置”107中是F=1。在拟合模型未进行过学习时,是F=0,在拟合模型进行了过学习的情况下,是F=1。根据图4,在F=1的情况下,再度执行“施加模型生成处理”S304。
在“是否采用模型判断处理”S609中没有过学习的判断的情况下,或者在“总和报酬RB0的平均的算出处理”S606之后,“学习执行部”112执行“最终情节判断处理”S611。
“最终情节判断处理”S611包含:在情节数是存放于“参数”202的最终情节数H以上时,使强化学习的学习结束,这时设为F=0,将F=0存放到“数据库”116的“过学习参数”212。
在“最终情节判断”S611中情节数未到达最终情节数H的情况下,执行“模型施加控制处理”S601。如从以上的说明获知的那样,根据图7,情节数T为α(1-τ)以上就进行S603,在该情况下,每隔情节数T1(例如每隔10情节)进行S607以后的处理。根据这时的过学习判断指标,经过S609而学习结束。
根据图4,在被输入F=0的情况下,“评价部”113执行“评价处理”S307。图9示出“评价处理”S307的细节。
参考图9,“评价部”113执行“最优措施生成处理”S801。
“最优措施生成处理”S801包含:根据存放于“参数”202的情节数Tin,将到学习结束为止最满足存放于“KPI”210的KPI的措施决定为最优措施,将该措施存放到“数据库”116的“措施”204。
此外,“最优措施生成处理”S801包含:根据最优措施来生成控制信号串,在“数据库”116的“控制信号串”203中存放生成的控制信号串。
此外,“最优措施生成处理”S801包含:将利用生成的控制信号串的仿真结果数据(例如包含预想了运送距离等的测定值的数据)和模型(作为被投入控制信号串的仿真的模型)存放到“数据库”116的“仿真数据”205。
此外,“最优措施生成处理”S801包含:将表示存放于“仿真数据”205的仿真结果、存放于“可靠度”209的可靠度τ、拟合模型的比例(权重)τ1′和存放于“报酬信息”211的报酬变动当中的至少一者的信息经由“输出装置”107提示给用户,从用户接受对“桥式起重机”001(实机)中的实际的动作确认是许可还是拒绝。
在从用户经由“输入装置”106接受到拒绝的输入的情况下,根据图4,“CPU”101再度执行“学习执行处理”S306。另外,τ1′存放于“可靠度”209。τ1′可以与τ1等价,在对应于情节数而加进τ1的情况下可以是其和,但τ1′比τ小。另外,关于本段落所说的“情节数”,例如是在每隔n情节(n是自然数)加进τ1的情况下是n。
在从用户经由“输入装置”106接受到许可的输入的情况下,参考图9,则接下来“评价部”113执行“最优措施评价处理”S802。
“最优措施评价处理”S802包含:将在“最优措施生成处理”S801中存放于“控制信号串”203的控制信号串作为输入,将基于该信号串的“控制信号串”009经由“通信装置”103发送到“桥式起重机”001的“能通信的控制装置”005。
“最优措施评价处理”S802包含:经由“通信装置”103接收包含由遵循“控制信号串”009而控制的“桥式起重机”001的“传感器”006取得的测定值的真实世界数据,将该真实世界数据存放到“数据库”116的“真实世界数据”206。存放于“真实世界数据”206的真实世界数据可以是与存放于“仿真数据”205的仿真结果数据同样的结构的真实世界数据,也可以只是接收到的能生成真实世界数据的信息。真实世界数据可以是“台车”002的位置、速度等,但并不限于该示例。
接下来,“评价部”113执行“误差算出处理”S803。
“误差算出处理”S803包含:将在“最优措施生成处理”S801中存放于“仿真数据”205的仿真结果数据和存放于“真实世界数据”206的真实世界数据作为输入,通过比较仿真结果数据和真实世界数据来将误差导出,将该误差存放到“算出误差”207。
再度参考图4。接下来“可靠度生成部”114执行“可靠度生成处理”S308。
“可靠度生成处理”S308从“算出误差”207被输入误差,从“可靠度尺”208被输入可靠度尺,根据该可靠度尺来生成与输入的误差对应的可靠度τ′,将生成的可靠度τ′存放到“可靠度”209。
接下来“可靠度生成部”114执行“误差确认处理”S309。
“误差确认处理”S309包含:将存放于“参数”202的容许误差信息(表示容许误差范围的信息)作为输入,若上述算出的误差是容许误差范围内,则经由“输出装置”107对用户提示表示仿真与实机的比较结果、误差、可靠度和试行结束的至少一者的信息。若误差不足容许误差,则“CPU”101可以使“可靠度仿真生成模块”108的动作停止。
另一方面,在误差是容许误差范围外的情况下,“评价部”113执行“可靠度评价处理”S310。
“可靠度评价处理”S310包含:在τ′>τ时,将τ′作为新的可靠度τ,将新的可靠度τ存放到“数据库”116的“可靠度”209,并过渡到“可靠度/基本模型更新处理”S311。
另一方面,“可靠度评价处理”S310包含:在τ′≤τ时,经由“输出装置”107输出τ′≤τ,并不过渡到“可靠度/基本模型更新处理”S311,而是过渡到“可靠度设定处理”S302。
“可靠度/基本模型更新部”115执行“可靠度/基本模型更新处理”S311。
“可靠度/基本模型更新处理”S311将存放于“可靠度”209的可靠度τ(τ′)和存放于“仿真数据”205的基本模型(例如施加了拟合模型的基本模型)作为输入,通过在基本模型加进可靠度τ的比例的拟合模型来生成仿真(即新的基本模型),将该仿真作为基本模型来进行更新。
另外,“可靠度/基本模型更新处理”S311中,基本模型的更新时加进拟合模型的比例也可以不是乘以可靠度τ的比例,也可以是τ的平方、1-τ等,并不限于上述的示例。另外,拟合的比例不会比可靠度尺大。
“可靠度/基本模型更新处理”S311包含:将基本模型存放到“仿真数据”205。
接下来“CPU”101过渡到“施加模型权重算出处理”S305。直到仿真与真实世界间的误差成为存放于“参数”202的容许误差范围内为止,都持续该图4的流程。
根据本实施例,能生成去除了包含过学习的机械学习的拟合的影响的仿真,通过将该仿真用在强化学习中来实现自动驾驶控制。具体地,在本实施例中,“驾驶控制部”118通过将根据生成的仿真而找到的最优的“控制信号串”009发送到“桥式起重机”001来对“桥式起重机”001的自动驾驶进行控制。
另外,根据本实施例,将存放于“可靠度”209的可靠度、仿真与实机间的误差、许可还是拒绝实机中的实验的选择、以及报酬变动幅度当中的至少一者提示给用户。
【实施例2】
对实施例2进行说明。这时,主要说明与实施例1的相异点,对于与实施例1的共通点则省略或简化说明。
本发明并不限于“桥式起重机”001,能适用于能算出真实世界与仿真间的误差的机械全体(例如大型工业机械那样的工业机械全体)。本发明的适用范围并不依赖于能否反馈控制、是否是2值、离散值或连续值的控制。
实施例2是将“桥式起重机”001以外的机械作为自动驾驶控制对象的一具体例。以下使用实施例1中说明的内容来简略地说明能反馈控制的大型工业机械的具体例。
例如作为大型工业机械而考虑图10那样的“机械臂台车”901。
“机械臂台车”901具有摄像机等“传感器”902。“传感器”902能取得与“机械臂台车”901相关的实际的测定值。
另外,将“机械臂台车”901的仿真设为能生成的仿真。
“机械臂台车”901具有“台车”903、装备于“台车”903的“机械臂”904和“能进行通信控制的控制装置”905,通过控制,能用“机械臂”904抓住东西。从“能进行通信控制的控制装置”905发送“机械臂台车”901的真实世界数据。“机械臂台车”901的真实世界数据例如可以包含“台车”903的位置以及速度、“机械臂”904的位置等,但并不限于此,也可以包含周围的环境温度等信息。
“台车”903被“能通信的控制装置”905控制速度、位置。速度控制可以是加速以及减速的2值控制,也可以是连续值(给定间隔的值)的控制(例如将连续值当中的所期望的值指定为速度的值的控制),在图10的示例中设为连续值的控制。
“机械臂”904可以由“能通信的控制装置”905按照连续值的控制来控制“机械臂”904的速度以及位置,但这里“机械臂”904是“放低”、“抬高”、“抓东西”的控制,“机械臂”904的活动区域设为1轴的区域。
“机械臂”904的活动区域可以如“机械臂伸长”、“机械臂旋转”、“机械臂在平面场所活动”那样是活动到3轴的控制,但这里为了简单而设为1轴。
“能通信的控制装置”905具有与位于“桥式起重机”001的“能通信的控制装置”005同样的性质,也可以不搭载于“机械臂台车”901的“台车”903。
这里考虑的示例是图11所示的示例,即,是如下进程:“机械臂台车”901在地点A出发,经过避开障碍物C的路径E而抵达地点B,用“机械臂”904抓住物体D,以抓住物体D的状态经过路径E来返回地点A。
图11的进程图为了简单而在二维平面描绘。
“可靠度仿真生成模块”108在仿真中用强化学习来学习上述的进程,在“机械臂台车”901执行相同进程。控制信号串、仿真结果数据以及真实世界数据例如包含每单位时间示出“台车”903以及“机械臂”904的位置、台车速度和“机械臂”904的状态(例如“抬高”、“放低”、“抓东西”)的值。
在此,可以是,“机械臂台车”901能进行反馈控制,这里考虑与“桥式起重机”001的示例不同的反馈控制的情况。
“可靠度仿真生成模块”108将在强化学习中搜索到的最优措施存放到“措施”204,将利用该措施的仿真结果数据提示给用户,在得到用户的许可后,经由“通信装置”103对“机械臂台车”901的“能通信的控制装置”905发送控制信号串。
“机械臂台车”901按照在“能通信的控制装置”905接收到的控制信号串来进行控制,将包含每单位时间的测定值的真实世界数据发送到“系统”008。“可靠度仿真生成模块”108将来自“机械臂台车”901的真实世界数据存放到“数据库”116的“真实世界数据”206。
在仿真结果数据和真实世界数据不同的情况下,“可靠度仿真生成模块”108通过比较仿真结果数据和真实世界数据来算出误差,将算出的误差存放到“算出误差”207,根据该误差来导出可靠度,将导出的可靠度存放到“可靠度”209。
接下来,“可靠度仿真生成模块”108生成将误差拟合的拟合模型,对可靠的基本模型施加该拟合模型,进行在强化学习的过程中去除拟合模型的过学习的影响的作业,导出最优措施,将导出的最优措施存放于“措施”204。
接下来,“可靠度仿真生成模块”108根据最优措施来使“机械臂台车”901实际执行图11例示的进程,经由“通信装置”103接收包含该进程中测定的测定值的真实世界数据,将该真实世界数据存放到“数据库”116的“真实世界数据”206。
接下来,“可靠度仿真生成模块”108通过比较存放的真实世界数据和”机械臂台车”901的控制的仿真结果数据来算出误差,将算出的误差存放到“算出误差”207,基于该误差来导出可靠度,将导出的可靠度存放到“可靠度”209。
接下来,在可靠度增加的情况下,“可靠度仿真生成模块”108将包含拟合模型的基本模型更新,将更新的基本模型作为可靠模型,将该可靠模型存放到“仿真数据”206。
另一方面,在可靠度减少的情况下,“可靠度仿真生成模块”108再度生成拟合模型。
如上述那样,即使“机械臂台车”901是自动驾驶控制的对象,也能生成可靠的仿真。
例如能如下述那样总结以上的实施例1以及2的说明。另外,以下的总结也可以包含上述的说明中没有的事项。
机械(例如“桥式起重机”001或“机械臂台车”901)的自动驾驶控制系统(例如“系统”008)具备问题设定部和学习执行部。问题设定部设定第1模型(例如基本模型),该第1模型基于数学地描述的函数表示输入到机械的控制信号串与从遵循该控制信号串而被控制的机械输出的数据的关系。学习执行部执行包含学习机械的自动驾驶控制的学习处理。学习执行部在学习处理中使用第1模型来执行学习,使得满足第1条件为止(例如T≥α(1-τ)),在满足第1条件以后,直到意味着过学习的第2条件(例如过学习判断指标)被满足,或者直到该第2条件未被满足地结束学习为止,都使用使第1模型变化1次以上后的模型即第2模型(例如更新基本模型)来执行学习。
由此,能通过去除基于数学地描述的函数的拟合的过学习的影响来削减实机与仿真的误差,能以此将机械的自动驾驶控制最优化。具体地,例如能通过削减实机与仿真的误差,来排除将机械的自动驾驶控制最优化的仿真的环境的变化所引起的报酬的大幅波动的状况。在报酬大幅波动的情况下,由于知道进行了拟合的机械学习的模型进行了过学习,因此通过生成报酬不会大幅波动的拟合模型来去除过学习的影响,能削减与实机的误差。
另外,自动驾驶控制系统(以下称作系统)可以是具备接口装置、存储装置以及处理器的一个以上的计算机,也可以是在云基础架构那样的计算资源池(一个以上的计算机)上实现的系统。
系统可以具备驾驶控制部。驾驶控制部可以通过将遵循学习处理的结果的控制信号串输入到机械来控制机械的自动驾驶。
第2模型可以是作为将与第1模型不同的数学地描述的第3模型(例如拟合模型)当中的给定比例的第3模型施加给第1模型而得到的结果的模型。由此,即使第3模型是过学习的模型,也能通过施加的比例来削减过学习的影响。
系统可以具备可靠度设定部。可靠度设定部可以算出基于从被输入第1控制信号串的第1模型输出的第1仿真结果数据与从被输入第1控制信号串的机械输出的真实世界数据的第1误差的第1可靠度(例如τ)。施加的第3模型的比例可以是比第1可靠度小的比例。由此能期待使第3模型的比例合适。例如,可靠度设定部为了找到“桥式起重机”001那样的机械的自动驾驶控制中的最优运送控制信号串,在强化学习中所用的仿真中,以比可靠度τ小的τ1的权重将机械学习的拟合模型拟合到物理模型等基本模型。
第1条件可以是基于第1可靠度和学习次数(例如情节数T)的条件。由此能期待使用第2模型的定时变得合适。
系统可以具备施加模型生成部。施加模型生成部生成拟合第1模型以使第1误差收在容许误差范围内而得到的第3模型。
学习执行部可以在满足第2条件的情况下结束学习处理。
可靠度设定部可以显示第1误差以及第1可靠度当中的至少一者。例如可靠度设定部可以显示具有第1误差以及第1可靠度当中的至少一者和接受学习处理的许可的UI(UserInterface,用户接口)的UI信息。可以在针对该显示而接受到学习处理的许可的情况下,学习执行部执行学习处理。
利用第1模型的学习和利用第2模型的学习中的任何学习都可以是强化学习。第2条件可以是下述当中至少一者。
·遵循利用第2模型的强化学习中得到的报酬的值比遵循利用第1模型的强化学习中得到的报酬的值大。
·利用第2模型的强化学习中得到的报酬的变动幅度超过利用第1模型的强化学习中得到的报酬的变动幅度。
系统可以具备执行可靠度/第1模型更新处理(例如“可靠度/基本模型更新处理”S311)的可靠度/第1模型更新部(例如“可靠度/基本模型更新部”115)。可靠度/第1模型更新处理可以包含:在第2可靠度超过第1可靠度的情况下,将第2可靠度更新为新的第1可靠度;以及将作为对第1模型施加基于该新的第1可靠度的比例的第3模型的结果的模型更新为新的第1模型,其中,该第2可靠度基于第2误差,该第2误差是通过对第2条件未得到满足地结束学习处理的情况下的第2模型输入第2控制信号串而从第2模型输出的第2仿真结果数据、与从被输入第2控制信号串的机械输出的真实世界数据的误差。在每个可靠度/第1模型更新处理的学习处理中,可以使用新的第1模型。
系统可以具备评价部。评价部可以显示通过对第2条件未得以满足地结束学习处理的情况下的第2模型输入第2控制信号串而从第2模型输出的仿真结果数据、和第1可靠度当中的至少一者。评价部可以在针对该显示而接受到机械的实际的动作确认的许可的情况下,将第2控制信号串输入到机械。
机械可以是“桥式起重机”001、“机械臂台车”901这样的工业机械。由于若实机是工业机械,就有实验的负担更大的可能性,因此若自动驾驶控制对象的机械是工业机械,就能期待本发明更加有用。
以上说明了几个实施例,但这些是用于本发明的说明的例示,并不意在将本发明的范围仅限定于这些实施例。本发明能用其他种种形态实施。
Claims (13)
1.一种自动驾驶控制系统,对机械的自动驾驶进行控制,所述自动驾驶控制系统的特征在于,具备:
问题设定部,其设定第1模型,所述第1模型基于数学地描述的函数来表示输入到所述机械的控制信号串与从遵循该控制信号串而控制的所述机械输出的数据的关系;
学习执行部,其执行包含学习所述机械的自动驾驶控制的学习处理;和
驾驶控制部,其通过将遵循所述学习处理的结果的控制信号串输入到所述机械来对所述机械的自动驾驶进行控制,
所述学习执行部在所述学习处理中,
直到满足第1条件为止,使用所述第1模型来执行学习,
在满足所述第1条件以后,直到意味着过学习的第2条件得以满足为止,或直到该第2条件未得到满足而结束学习为止,使用使所述第1模型变化1次以上后的模型即第2模型来执行学习。
2.根据权利要求1所述的自动驾驶控制系统,其特征在于,
所述第2模型是作为对所述第1模型施加与所述第1模型不同的数学地描述的第3模型当中的给定比例的第3模型的结果的模型。
3.根据权利要求2所述的自动驾驶控制系统,其特征在于,
所述自动驾驶控制系统具备:
可靠度设定部,其算出第1可靠度,所述第1可靠度基于从被输入第1控制信号串的所述第1模型输出的第1仿真结果数据、与从被输入所述第1控制信号串的所述机械输出的第1真实世界数据的第1误差,
所述给定比例是比算出的所述第1可靠度小的比例。
4.根据权利要求3所述的自动驾驶控制系统,其特征在于,
所述第1条件是基于所述第1可靠度和学习次数的条件。
5.根据权利要求3所述的自动驾驶控制系统,其特征在于,
所述自动驾驶控制系统具备:
施加模型生成部,其生成所述第3模型,所述所述第3模型是拟合所述第1模型以使得所述第1误差收在容许误差范围内的模型。
6.根据权利要求1所述的自动驾驶控制系统,其特征在于,
所述学习执行部在满足所述第2条件的情况下结束所述学习处理。
7.根据权利要求3所述的自动驾驶控制系统,其特征在于,
所述可靠度设定部显示所述第1误差以及所述第1可靠度当中的至少一者,
在针对该显示而接受到学习处理的许可的情况下,所述学习执行部执行所述学习处理。
8.根据权利要求1所述的自动驾驶控制系统,其特征在于,
利用所述第1模型的学习和利用所述第2模型的学习中的任何学习都是强化学习,
所述第2条件是下述当中的至少一者,
·遵循利用所述第2模型的强化学习中得到的报酬的值比遵循利用所述第1模型的强化学习中得到的报酬的值大,
·利用所述第2模型的强化学习中得到的报酬的变动幅度超过利用所述第1模型的强化学习中得到的报酬的变动幅度。
9.根据权利要求3所述的自动驾驶控制系统,其特征在于,
所述自动驾驶控制系统具备:
可靠度/第1模型更新部,其执行可靠度/第1模型更新处理,所述可靠度/第1模型更新处理包含:在第2可靠度超过所述第1可靠度的情况下,将所述第2可靠度更新为新的第1可靠度;以及将作为对所述第1模型施加基于该新的第1可靠度的比例的第3模型的结果的模型更新为新的第1模型,其中,所述第2可靠度基于第2误差,所述第2误差是通过对所述第2条件未得到满足而结束所述学习处理的情况下的所述第2模型输入第2控制信号串而从所述第2模型输出的第2仿真结果数据、与从被输入所述第2控制信号串的所述机械输出的第2真实世界数据的误差,
在每个所述可靠度/第1模型更新处理的所述学习处理中,使用所述新的第1模型。
10.根据权利要求3所述的自动驾驶控制系统,其特征在于,
所述自动驾驶控制系统具备:
评价部,其显示通过对所述第2条件未得到满足而结束所述学习处理的情况下的所述第2模型输入第2控制信号串而从所述第2模型输出的第2仿真结果数据、和所述第1可靠度当中的至少一者,在针对该显示接受到所述机械的实际的动作确认的许可的情况下,将所述第2控制信号串输入到所述机械。
11.根据权利要求10所述的自动驾驶控制系统,其特征在于,
所述自动驾驶控制系统具备
可靠度/第1模型更新部,其执行可靠度/第1模型更新处理,所述可靠度/第1模型更新处理包含:在第2可靠度超过所述第1可靠度的情况下,将所述第2可靠度更新为新的第1可靠度;以及将作为对所述第1模型施加基于该新的第1可靠度的比例的第3模型的结果的模型更新为新的第1模型,其中,所述第2可靠度基于第2误差,所述第2误差是从被输入所述第2控制信号串的所述机械输出的第2真实世界数据与所述第2仿真结果数据的误差,
在每个所述可靠度/第1模型更新处理的所述学习处理中使用所述新的第1模型。
12.根据权利要求1所述的自动驾驶控制系统,其特征在于,
所述机械是工业机械。
13.一种自动驾驶控制方法,对机械的自动驾驶进行控制,其特征在于,
设定第1模型,所述第1模型基于数学地描述的函数来表示输入到所述机械的控制信号串与从遵循该控制信号串而控制的所述机械输出的数据的关系,
执行包含学习所述机械的自动驾驶控制的学习处理,
通过将遵循所述学习处理的结果的控制信号串输入到所述机械来对所述机械的自动驾驶进行控制,
在所述学习处理中,
直到满足第1条件为止,使用所述第1模型来执行学习,
在满足所述第1条件以后,直到意味着过学习的第2条件得以满足为止,或直到该第2条件未得到满足而结束学习为止,使用使所述第1模型变化1次以上后的模型即第2模型来执行学习。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-078737 | 2019-04-17 | ||
JP2019078737A JP7200037B2 (ja) | 2019-04-17 | 2019-04-17 | 機械の自動運転制御方法、及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111830825A true CN111830825A (zh) | 2020-10-27 |
CN111830825B CN111830825B (zh) | 2022-09-20 |
Family
ID=72832322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010248015.5A Active CN111830825B (zh) | 2019-04-17 | 2020-03-31 | 机械的自动驾驶控制方法以及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11619929B2 (zh) |
JP (1) | JP7200037B2 (zh) |
CN (1) | CN111830825B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7416015B2 (ja) * | 2021-05-28 | 2024-01-17 | 横河電機株式会社 | 情報処理装置、アラーム予測方法およびアラーム予測プログラム |
WO2023037504A1 (ja) * | 2021-09-10 | 2023-03-16 | 日本電気株式会社 | 強化学習システム、強化学習装置及び強化学習方法 |
JP2024063582A (ja) * | 2022-10-26 | 2024-05-13 | 株式会社日立製作所 | 設計支援方法、設計支援システム、及びプログラム |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798428A (zh) * | 2017-10-23 | 2018-03-13 | 清华大学 | 一种机车自动驾驶控制预测模型机器学习方法 |
CN107943022A (zh) * | 2017-10-23 | 2018-04-20 | 清华大学 | 一种基于强化学习的pid机车自动驾驶优化控制方法 |
CN108657189A (zh) * | 2018-06-22 | 2018-10-16 | 南京航空航天大学 | 基于bp神经网络和安全距离移线工况自动驾驶转向系统及其控制方法 |
CN108803604A (zh) * | 2018-06-06 | 2018-11-13 | 深圳市易成自动驾驶技术有限公司 | 车辆自动驾驶方法、装置以及计算机可读存储介质 |
CN109358614A (zh) * | 2018-08-30 | 2019-02-19 | 深圳市易成自动驾驶技术有限公司 | 自动驾驶方法、系统、装置及可读存储介质 |
CN109597317A (zh) * | 2018-12-26 | 2019-04-09 | 广州小鹏汽车科技有限公司 | 一种基于自学习的车辆自动驾驶方法、系统及电子设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3760911B2 (ja) | 2002-11-27 | 2006-03-29 | トヨタ自動車株式会社 | モデル作成方法、モデル作成プログラム及びシミュレーション装置 |
JP2005059656A (ja) * | 2003-08-08 | 2005-03-10 | Fuji Heavy Ind Ltd | 飛行体の着陸制御装置および飛行体の着陸制御方法 |
JP4883272B2 (ja) | 2005-12-13 | 2012-02-22 | 株式会社Ihi | クレーンの振れ止め制御方法 |
JP5170698B2 (ja) * | 2009-04-27 | 2013-03-27 | 独立行政法人産業技術総合研究所 | 確率的推論装置 |
US9881428B2 (en) * | 2014-07-30 | 2018-01-30 | Verizon Patent And Licensing Inc. | Analysis of vehicle data to predict component failure |
US10197631B2 (en) * | 2015-06-01 | 2019-02-05 | Verizon Patent And Licensing Inc. | Systems and methods for determining vehicle battery health |
US20200167834A1 (en) * | 2017-12-28 | 2020-05-28 | Google Llc | Intelligent identification and provisioning of devices and services for a smart home environment |
IT201800007377A1 (it) * | 2018-07-20 | 2020-01-20 | Rete neurale avente un numero ridotto di parametri | |
CN113056749B (zh) * | 2018-09-11 | 2024-05-24 | 辉达公司 | 用于自主机器应用的未来对象轨迹预测 |
SG11202103493QA (en) * | 2018-10-11 | 2021-05-28 | Tesla Inc | Systems and methods for training machine models with augmented data |
KR102206753B1 (ko) * | 2019-01-24 | 2021-01-22 | 주식회사 수아랩 | 결함 검사 장치 |
CN111347292B (zh) * | 2020-02-21 | 2023-04-11 | 青岛理工大学 | 数控机床刀具状态监测及控制系统与方法 |
-
2019
- 2019-04-17 JP JP2019078737A patent/JP7200037B2/ja active Active
-
2020
- 2020-03-31 CN CN202010248015.5A patent/CN111830825B/zh active Active
- 2020-04-10 US US16/845,522 patent/US11619929B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798428A (zh) * | 2017-10-23 | 2018-03-13 | 清华大学 | 一种机车自动驾驶控制预测模型机器学习方法 |
CN107943022A (zh) * | 2017-10-23 | 2018-04-20 | 清华大学 | 一种基于强化学习的pid机车自动驾驶优化控制方法 |
CN108803604A (zh) * | 2018-06-06 | 2018-11-13 | 深圳市易成自动驾驶技术有限公司 | 车辆自动驾驶方法、装置以及计算机可读存储介质 |
CN108657189A (zh) * | 2018-06-22 | 2018-10-16 | 南京航空航天大学 | 基于bp神经网络和安全距离移线工况自动驾驶转向系统及其控制方法 |
CN109358614A (zh) * | 2018-08-30 | 2019-02-19 | 深圳市易成自动驾驶技术有限公司 | 自动驾驶方法、系统、装置及可读存储介质 |
CN109597317A (zh) * | 2018-12-26 | 2019-04-09 | 广州小鹏汽车科技有限公司 | 一种基于自学习的车辆自动驾驶方法、系统及电子设备 |
Non-Patent Citations (3)
Title |
---|
李慧 等: "一种优化参数的支持向量机驾驶意图识别", 《实验室研究与探索》 * |
梁礼明: "《优化方法导论》", 30 September 2017, 北京理工大学出版社 * |
蒋志明 等: "一种基于CMAC的自学习控制器", 《自动化学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111830825B (zh) | 2022-09-20 |
US20200333775A1 (en) | 2020-10-22 |
JP2020177416A (ja) | 2020-10-29 |
US11619929B2 (en) | 2023-04-04 |
JP7200037B2 (ja) | 2023-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111830825B (zh) | 机械的自动驾驶控制方法以及系统 | |
CN107263464B (zh) | 机器学习装置、机械系统、制造系统以及机器学习方法 | |
US10442023B2 (en) | Simulation apparatus of wire electric discharge machine having function of determining welding positions of core using machine learning | |
Qazani et al. | A model predictive control-based motion cueing algorithm with consideration of joints’ limitations for hexapod motion platform | |
US20140310228A1 (en) | Device and method for managing plant model | |
CN107921963A (zh) | 用于确定转向控制属性和牵引控制属性的转向应用和牵引应用 | |
JP2006323784A (ja) | シミュレーションプログラム、シミュレーション方法及びシミュレーション装置 | |
CN114641375A (zh) | 动态规划控制器 | |
JP2021057024A (ja) | 航空機を制御するためのニューラルネットワークを訓練するためのシステム及び方法 | |
CN114488801B (zh) | 一种基于数据驱动的桥式起重机模型预测控制方法 | |
US20230139187A1 (en) | Method and apparatus for determining information, electronic device and storage medium | |
CN113255216A (zh) | 一种炼钢生产调度方法、系统、介质及电子终端 | |
CN113978465A (zh) | 一种变道轨迹规划方法、装置、设备以及存储介质 | |
JP4377792B2 (ja) | 配車計画作成装置、配車計画作成方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体 | |
WO2021186500A1 (ja) | 学習装置、学習方法、及び、記録媒体 | |
Buitrago-Martínez et al. | Hierarchical reinforcement learning approach for motion planning in mobile robotics | |
JP2004010349A (ja) | 自動倉庫システムの搬送時間予測方法 | |
CN115639817A (zh) | 一种路径的轨迹修正方法、装置、设备和介质 | |
CN115943392A (zh) | 系统最优控制装置、系统最优控制方法及程序 | |
CN113927585A (zh) | 一种机器人平衡控制方法、装置、可读存储介质及机器人 | |
JP2021082014A (ja) | 推定装置、訓練装置、推定方法、訓練方法、プログラム及び非一時的コンピュータ可読媒体 | |
JP7287414B2 (ja) | 物流ルール学習装置、物流ルール実行装置、物流ルール学習方法、及び物流ルール学習プログラム | |
KR102590491B1 (ko) | 로봇 공정을 위한 프로그램을 생성하는 방법 | |
WO2024067440A1 (zh) | 两轮机器人的控制方法、装置、介质、程序及机器人 | |
CN114585482B (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 |