CN112534367A - 学习装置、控制装置、学习方法以及学习程序 - Google Patents
学习装置、控制装置、学习方法以及学习程序 Download PDFInfo
- Publication number
- CN112534367A CN112534367A CN201980051955.0A CN201980051955A CN112534367A CN 112534367 A CN112534367 A CN 112534367A CN 201980051955 A CN201980051955 A CN 201980051955A CN 112534367 A CN112534367 A CN 112534367A
- Authority
- CN
- China
- Prior art keywords
- learning
- data
- information
- environment
- extractor
- 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 description 73
- 238000010801 machine learning Methods 0.000 claims abstract description 151
- 238000004088 simulation Methods 0.000 claims abstract description 90
- 238000012545 processing Methods 0.000 claims description 92
- 230000007613 environmental effect Effects 0.000 claims description 91
- 238000012549 training Methods 0.000 claims description 89
- 238000013528 artificial neural network Methods 0.000 claims description 32
- 238000000605 extraction Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 claims description 8
- 230000011218 segmentation Effects 0.000 claims description 4
- 210000002569 neuron Anatomy 0.000 description 62
- 230000008569 process Effects 0.000 description 52
- 238000012986 modification Methods 0.000 description 26
- 230000004048 modification Effects 0.000 description 26
- 238000004891 communication Methods 0.000 description 22
- 230000010365 information processing Effects 0.000 description 15
- 238000011176 pooling Methods 0.000 description 13
- 239000000470 constituent Substances 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 7
- 238000010304 firing Methods 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 210000004027 cell Anatomy 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000010411 cooking Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 239000012636 effector Substances 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012706 support-vector machine 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
-
- 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/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled 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
- 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/4183—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 data acquisition, e.g. workpiece identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39271—Ann artificial neural network, ffw-nn, feedforward neural network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Manufacturing & Machinery (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
- Feedback Control In General (AREA)
Abstract
本发明既能降低对在用于使控制模块学会控制机器人装置的能力的机器学习中所利用的学习数据进行收集的成本,又能通过所述机器学习来构建可在实际环境下运用的控制模块。本发明的一方面的学习装置利用包含模拟数据及第一环境信息的组合的第一学习数据集、与包含实际数据及第二环境信息的组合的第二学习数据集,来实施提取器的机器学习。而且,本发明的一方面的学习装置利用包含第三环境信息及状态信息与控制命令的组合的第三学习数据集,来实施控制器的机器学习。
Description
技术领域
本发明涉及一种学习装置、控制装置、学习方法以及学习程序。
背景技术
近年,在制造制品的生产线中,开发出一种技术:利用从摄像机等传感器获得的传感器数据,来控制机械手(robot hand)等工业机器人的动作。例如,专利文献1中提出了一种机器学习装置,其利用表示进行印刷板组装作业的环境状态的状态变量及被安装在基板的电子零件的配置的适当与否的判定结果,将针对供给至工业机械的指令值的修正值与从基板的基准形状计起的变形量相关联地进行学习。
现有技术文献
专利文献
专利文献1:日本专利特开2018-107315号公报
发明内容
发明所要解决的问题
本申请发明人等发现:在利用专利文献1那样的机器学习来构建用于对生产线上的工业机器人进行控制的控制模块时,存在如下所述的问题。为了实施机器学习,要使用工业机器人的实机来收集学习数据。例如设想实施用于学会下述能力的机器学习,即,根据由传感器所获得的传感器数据来导出控制命令。此时,要收集学习数据集,所述学习数据集包含从实机获得的传感器数据及表示实机状态的状态信息与在此状况下使实机执行的控制命令的组合。各学习数据集中,传感器数据及状态信息被用作训练数据(输入数据),控制命令被用作正解数据(教学数据)。通过利用所述学习数据集的机器学习,能够构建学会了下述能力的控制模块,即,当给予传感器数据及状态信息时,决定适合于由所给予的传感器数据及状态信息所示的状况的控制命令。但是,利用实机来收集足够件数的学习数据集要耗费时间及劳力的成本。除此以外,在收集学习数据集的过程中,会产生实机发生破损等风险。
因此,本申请发明人等为了解决此种问题,研究了利用模拟器(simulator)来收集学习数据。若利用模拟器,则能够使收集学习数据的作业大部分自动化,因此能够抑制收集学习数据耗费的成本。除此以外,由于也可不利用实机,因此能够消除所述风险。
但是,本申请发明人等发现,此种方法会产生如下所述的问题。即,通过模拟器所获得的数据与通过实机所获得的数据之间存在背离。因此,即使利用通过模拟器所获得的学习数据来实施控制模块的机器学习,也难以构建可在实际环境下运用的控制模块。除此以外,由于所述数据背离的影响,对于利用通过模拟器所获得的学习数据而构建的控制模块,难以实施利用通过实机所获得的学习数据的追加学习。因此,也难以在实际环境下可运用地修正所述控制模块。
另外,此种问题不仅会在通过机器学习来构建工业机器人的控制模块的场景下产生,在通过机器学习来构建工业机器人以外的机器人装置的控制模块的所有场景下均有可能产生。例如,在通过机器学习来构建构成为可自主运行的自主型机器人或构成为可执行自动驾驶动作的移动体的控制模块时,若利用实机来收集学习数据,则会耗费时间及劳力的成本,且产生实机破损等的风险。另一方面,在利用模拟器的情况下,难以构建可在实际环境下运用的控制模块。
本发明在一方面是有鉴于此种实际情况而完成,其目的在于提供一种技术,用于既能降低对在用于使控制模块学会控制机器人装置的能力的机器学习中所利用的学习数据进行收集的成本,又能通过所述机器学习来构建可在实际环境下运用的控制模块。
解决问题的技术手段
为了解决所述问题,本发明采用以下结构。
即,本发明的一方面的学习装置包括:第一数据获取部,获取多个第一学习数据集,所述多个第一学习数据集分别包含模拟数据及第一环境信息的组合,所述模拟数据是通过模拟对执行机器人装置的任务的环境进行监测的传感器而生成,所述第一环境信息与执行由所述模拟数据所表示的所述任务的环境相关;第二数据获取部,获取多个第二学习数据集,所述多个第二学习数据集分别包含实际数据及第二环境信息的组合,所述实际数据是从所述传感器获得,所述第二环境信息与执行由所述实际数据所表示的所述任务的环境相关;第三数据获取部,获取多个第三学习数据集,所述多个第三学习数据集分别包含第三环境信息及状态信息与控制命令的组合,所述第三环境信息与执行所述任务的环境相关,所述状态信息与执行所述任务时的所述机器人装置的状态相关,所述控制命令用于使所述机器人装置在由所述第三环境信息及所述状态信息所示的条件下执行所述任务;第一学习处理部,利用所述第一学习数据集及所述第二学习数据集来实施提取器的机器学习;以及第二学习处理部,利用所述第三学习数据集来实施控制器的机器学习,实施所述提取器的机器学习的步骤包含:第一训练步骤,训练所述提取器,以使其关于所述各第一学习数据集而从所述模拟数据中提取与对应的所述第一环境信息一致的环境信息;以及第二训练步骤,在执行了所述第一训练步骤后,训练所述提取器,以使其关于所述各第二学习数据集而从所述实际数据中提取与对应的所述第二环境信息一致的环境信息,实施所述控制器的机器学习的步骤包含训练步骤,所述训练步骤是:训练所述控制器,以使其在输入有所述第三环境信息及所述状态信息时,输出与对应的所述控制命令一致的控制命令。
所述结构中,执行用于控制机器人装置的一连串处理的控制模块被分为提取器及控制器这两个构成元件。提取器通过机器学习而被训练成,从传感器数据(模拟数据或实际数据)中提取环境信息。另一方面,控制器通过机器学习而被训练成,从环境信息及状态信息中导出控制命令。由此,控制模块构成为,并非从传感器数据直接导出控制命令,而是将传感器数据暂时转换为特征量(环境信息),并从所获得的特征量(环境信息)导出控制命令。
在这些构成元件中的提取器的机器学习中,通过利用模拟数据及实际数据这两者,提取器被构建为,从两数据中提取共同的特征。即,提取器被构建为,将模拟数据及实际数据这两数据映射至共同的特征空间。由此,在吸收了模拟数据与实际数据之间的背离后,能够使利用模拟数据的机器学习的成果反映到利用实际数据的机器学习中。因此,只要机器学习中所利用的模拟数据的件数足够,则即便机器学习中所利用的实际数据的件数少,也能构建可从在实际环境下获得的传感器数据中高精度地提取对象特征的提取器。
除此以外,从传感器数据中提取的特征(环境信息)可通过模拟而与实际环境同样地获得。因此,即便不使用实机而使用模拟器,也能够通过利用所获得的学习数据的机器学习,来构建可在实际环境下运用的控制器。因此,根据所述结构,通过将控制模块分离为提取器及控制器这两个构成元件,从而能够对学习数据的至少一部分(优选的是大部分)采用模拟数据,因此能够降低对机器学习中所利用的学习数据进行收集所耗费的成本。进而,能够由通过所述机器学习而构建的提取器及控制器,来构成可在实际环境下运用的控制模块。因而,根据所述结构,既能降低对用于使控制模块学会控制机器人装置的能力的机器学习中所利用的学习数据进行收集的成本,又能通过所述机器学习而构建可在实际环境下运用的控制模块。
另外,机器人装置只要是具有构成为可自动驱动的至少一个驱动部的装置,则其种类也可不受特别限定,可根据实施方式来适当选择。机器人装置例如可为配置在生产线上的工业机器人(例如机械手、带式输送器等)、自主型机器人、构成为能够执行自动驾驶动作的移动体(例如无人驾驶飞机(drone)等飞行器、汽车等车辆)等。任务可根据机器人装置的种类来适当选择。在机器人装置为机械手的情况下,任务例如可为工件的握持、所握持的工件的释放等。
传感器只要是可对机器人装置执行任务的环境进行监控(或感测)的装置,则其种类也可不受特别限定,可根据实施方式来适当选择。传感器例如可为摄像机、激光雷达(Light Detection and Ranging,LIDAR)传感器、温度传感器、压力传感器、测力传感器(load cell)等。传感器数据(模拟数据、实际数据)的种类可根据传感器的种类来适当选择。传感器数据例如可为图像(例如三原色(Red Green Blue,RGB)图像、深度图像等)数据、激光雷达传感器得出的测定数据、温度数据、压力数据等。
各环境信息只要与执行任务的环境相关,则其种类也可不受特别限定,可根据实施方式来适当选择。各环境信息例如可为分割(segmentation)信息、工件的属性(位置、尺寸、姿势、温度等)、释放工件的位置、障碍物的属性(位置、尺寸、姿势、种类等)等。而且,各环境信息也可用由神经网络的中间层所输出的特征量的形式来表达。状态信息只要可表示与任务的执行关联的机器人装置的状态,则其种类也可不受特别限定,可根据实施方式来适当选择。在机器人装置为工业机器人的情况下,状态信息例如可包含工业机器人的驱动部的位置、方向、角度、加速度等。
控制命令只要与机器人装置的动作的指示相关,则其种类及格式也可不受特别限定,可根据机器人装置的种类来适当选择。在机器人装置为工业机器人的情况下,控制命令例如可规定工业机器人的驱动量等。在机器人装置为自主型机器人的情况下,控制命令例如可规定输出声音、各关节的驱动量、画面显示等。在机器人装置为构成为能够执行自动驾驶动作的车辆的情况下,控制命令例如可规定加速器(accelerator)量、制动器(brake)量、方向盘(handle)转向角、车灯(light)的点亮、喇叭(horn)的使用等。
提取器及控制器包含可实施机器学习的学习模型。对于分别构成提取器及控制器的学习模型,例如可使用神经网络。在所述结构的机器学习中,模拟数据、实际数据、第三环境信息及状态信息被用作输入数据(训练数据),第一环境信息、第二环境信息及控制命令被用作正解数据(教学数据)。机器学习中的“一致”对应于学习模型(提取器、控制器)的输出值与正解数据的误差(评价函数、误差函数、损耗函数)为阈值以下的情况。传感器的模拟是在模拟器上执行。模拟器只要可模拟机器人装置执行任务的环境,则其种类也可不受特别限定,可根据实施方式来适当选择。模拟器例如是能够将机器人装置、工件等对象物(object)配置在虚拟空间上,并能够在虚拟空间上使机器人装置模拟任务的执行的软件。
所述一方面的学习装置中,所述各第一学习数据集的所述模拟数据可一边随机变更模拟所述传感器的条件一边生成。根据所述结构,既能降低对用于使控制模块学会控制机器人装置的能力的机器学习中所利用的学习数据进行收集的成本,又能通过所述机器学习来适当地构建可在实际环境下运用的控制模块。另外,成为对象的模拟的条件也可不受特别限定,可根据所模拟的传感器的种类来适当选择。在所模拟的传感器为摄像机的情况下,模拟的条件例如可为摄像机位置、贴附于各区域的纹理的种类等。
所述一方面的学习装置中,所述提取器可包含神经网络,所述神经网络可被分为第一部分、第二部分及第三部分,所述第一部分及所述第二部分可靠并列配置在所述神经网络的输入侧,具有相同的结构,由此,具有共同的参数,所述第一部分可构成为,受理所述模拟数据的输入,所述第二部分可构成为,受理所述实际数据的输入,所述第三部分可配置在所述神经网络的输出侧,且构成为,受理所述第一部分及所述第二部分各自的输出,在所述第一训练步骤中,所述第一学习处理部可调整所述第一部分及所述第三部分各自的参数的值,以使得在关于所述各第一学习数据集而将所述模拟数据输入至所述第一部分时,从所述第三部分输出与对应的所述第一环境信息一致的输出值,在执行了所述第一训练步骤后且执行所述第二训练步骤之前,所述第一学习处理部也可将所述第一部分的参数的经调整的值复制到所述第二部分的参数中。根据所述结构,既能降低对用于使控制模块学会控制机器人装置的能力的机器学习中所利用的学习数据进行收集的成本,又能通过所述机器学习来适当地构建可在实际环境下运用的控制模块。
所述一方面的学习装置中,在所述第二训练步骤中,所述第一学习处理部也可将所述第三部分的参数的值保持固定,而调整所述第二部分的参数的值,以使得在关于所述各第二学习数据集而将所述实际数据输入至所述第二部分时,从所述第三部分输出与对应的所述第二环境信息一致的输出值。根据所述结构,既能降低对用于使控制模块学会控制机器人装置的能力的机器学习中所利用的学习数据进行收集的成本,又能通过所述机器学习来适当地构建可在实际环境下运用的控制模块。
所述一方面的学习装置中,所述第三环境信息可通过下述方式而获得,即,利用所述机器学习已完成后的所述提取器,从通过模拟所述传感器而生成的其他模拟数据中提取。根据所述结构,既能降低对用于使控制模块学会控制机器人装置的能力的机器学习中所利用的学习数据进行收集的成本,又能通过所述机器学习来适当地构建可在实际环境下运用的控制模块。
所述一方面的学习装置中,所述机器人装置可为生产线上的工业机器人,所述传感器可包含摄像机、压力传感器、测力传感器及它们的组合,所述各环境信息可包含分割信息、与成为所述任务的对象的工件的属性相关的信息、与执行所述任务的位置相关的信息、表示障碍物的有无的信息、及与障碍物的属性相关的信息中的至少任一个,所述控制命令也可规定所述工业机器人的驱动量。根据所述结构,能够构建用于控制工业机器人的动作的控制模块。
所述一方面的学习装置中,所述机器人装置可为构成为能够自主运行的自主型机器人,所述传感器可包含摄像机、温度传感器、麦克风及它们的组合,所述各环境信息可包含分割信息、及与跟所述任务的执行关联的对象物的属性相关的信息中的至少任一个,所述控制命令也可规定所述自主型机器人的驱动量、输出声音及画面显示中的至少任一个。根据所述结构,能够构建用于控制自主型机器人的动作的控制模块。另外,对象物不仅可为单纯的物体,也可包含人物。
所述一方面的学习装置中,所述机器人装置可为构成为能够执行自动驾驶动作的移动体,所述传感器可包含摄像机、激光雷达传感器及它们的组合,所述各环境信息可包含与所述移动体所行进的道路相关的信息、及与位于所述移动体的行进方向上的对象物相关的信息中的至少任一个,所述控制命令也可规定所述车辆的加速器量、制动器量、方向盘的转向角、车灯的点亮及喇叭的使用中的至少任一个。根据所述结构,能够构建用于控制移动体的动作的控制模块。
而且,本发明的一方面的控制装置控制机器人装置的动作,所述控制装置包括:数据获取部,获取传感器数据与状态信息,所述传感器数据是由对所述机器人装置执行任务的环境进行监测的传感器所获得,所述状态信息与执行所述任务时的所述机器人装置的状态相关;信息提取部,利用通过上述任何一种形式的学习装置而构建的机器学习完毕的所述提取器,从所述传感器数据中提取与执行所述任务的环境相关的环境信息;命令决定部,利用通过所述学习装置而构建的机器学习完毕的所述控制器,来决定控制命令,所述控制命令用于使所述机器人装置在由所述环境信息及所述状态信息所示的条件下执行所述任务;以及动作控制部,基于所决定的所述控制命令来控制所述机器人装置的动作。根据所述结构,能够提供一种可在实际环境下适当控制机器人装置的动作的控制装置。
作为所述各形态的学习装置及控制装置各自的其他形态,本发明的一方面也可为实现以上各结构的信息处理方法,也可为程序,还可为存储有此种程序的、计算机等可读取的存储介质。此处,所谓计算机等可读取的存储介质,是通过电、磁、光学、机械或化学作用来保存程序等信息的介质。而且,本发明的一方面的控制系统也可包含所述任一形态的学习装置及控制装置。
例如,本发明的一方面的学习方法是一种信息处理方法,由计算机执行下述步骤:获取多个第一学习数据集,所述多个第一学习数据集分别包含模拟数据及第一环境信息的组合,所述模拟数据是通过模拟对机器人装置执行任务的环境进行监测的传感器而生成,所述第一环境信息与执行由所述模拟数据所表示的所述任务的环境相关;获取多个第二学习数据集,所述多个第二学习数据集分别包含实际数据及第二环境信息的组合,所述实际数据是从所述传感器获得,所述第二环境信息与执行由所述实际数据所表示的所述任务的环境相关;获取多个第三学习数据集,所述多个第三学习数据集分别包含第三环境信息及状态信息与控制命令的组合,所述第三环境信息与执行所述任务的环境相关,所述状态信息与执行所述任务时的所述机器人装置的状态相关,所述控制命令用于使所述机器人装置在由所述第三环境信息及所述状态信息所示的条件下执行所述任务;利用所述第一学习数据集及所述第二学习数据集来实施提取器的机器学习;以及利用所述第三学习数据集来实施控制器的机器学习,实施所述提取器的机器学习的步骤包含:第一训练步骤,训练所述提取器,以使其关于所述各第一学习数据集而从所述模拟数据中提取与对应的所述第一环境信息一致的环境信息;以及第二训练步骤,在执行了所述第一训练步骤后,训练所述提取器,以使其关于所述各第二学习数据集而从所述实际数据中提取与对应的所述第二环境信息一致的环境信息,实施所述控制器的机器学习的步骤包含训练步骤,所述训练步骤是:训练所述控制器,以使其在输入有所述第三环境信息及所述状态信息时,输出与对应的所述控制命令一致的控制命令。
而且,例如,本发明的一方面的学习程序是一种程序,用于使计算机执行下述步骤:获取多个第一学习数据集,所述多个第一学习数据集分别包含模拟数据及第一环境信息的组合,所述模拟数据是通过模拟对机器人装置执行任务的环境进行监测的传感器而生成,所述第一环境信息与执行由所述模拟数据所表示的所述任务的环境相关;获取多个第二学习数据集,所述多个第二学习数据集分别包含实际数据及第二环境信息的组合,所述实际数据是从所述传感器获得,所述第二环境信息与执行由所述实际数据所表示的所述任务的环境相关;获取多个第三学习数据集,所述多个第三学习数据集分别包含第三环境信息及状态信息与控制命令的组合,所述第三环境信息与执行所述任务的环境相关,所述状态信息与执行所述任务时的所述机器人装置的状态相关,所述控制命令用于使所述机器人装置在由所述第三环境信息及所述状态信息所示的条件下执行所述任务;利用所述第一学习数据集及所述第二学习数据集来实施提取器的机器学习;以及利用所述第三学习数据集来实施控制器的机器学习,其中,实施所述提取器的机器学习的步骤包含:第一训练步骤,训练所述提取器,以使其关于所述各第一学习数据集而从所述模拟数据中提取与对应的所述第一环境信息一致的环境信息;以及第二训练步骤,在执行了所述第一训练步骤后,训练所述提取器,以使其关于所述各第二学习数据集而从所述实际数据中提取与对应的所述第二环境信息一致的环境信息,实施所述控制器的机器学习的步骤包含训练步骤,所述训练步骤是:训练所述控制器,以使其在输入有所述第三环境信息及所述状态信息时,输出与对应的所述控制命令一致的控制命令。
发明的效果
根据本发明,既能降低对用于使控制模块学会控制机器人装置的能力的机器学习中所利用的学习数据进行收集的成本,又能通过所述机器学习而构建可在实际环境下运用的控制模块。
附图说明
[图1]图1示意性地例示适用本发明的场景的一例。
[图2]图2示意性地例示实施方式的学习装置的硬件结构的一例。
[图3]图3示意性地例示实施方式的控制装置的硬件结构的一例。
[图4]图4示意性地例示实施方式的学习装置的软件结构的一例。
[图5A]图5A示意性地例示实施方式的学习装置所进行的提取器的机器学习的过程的一例。
[图5B]图5B示意性地例示实施方式的学习装置所进行的提取器的机器学习的过程的一例。
[图5C]图5C示意性地例示实施方式的学习装置所进行的控制器的机器学习的过程的一例。
[图6]图6示意性地例示实施方式的控制装置的软件结构的一例。
[图7]图7示意性地例示实施方式的学习装置所进行的提取器的机器学习的处理流程的一例。
[图8]图8示意性地例示实施方式的学习装置所进行的控制器的机器学习的处理流程的一例。
[图9]图9例示实施方式的控制装置所进行的机器人控制的处理流程的一例。
[图10]图10示意性地例示变形例的学习装置的软件结构的一例。
[图11]图11示意性地例示变形例的控制装置的软件结构的一例。
[图12]图12示意性地例示适用本发明的场景的另一例。
[图13]图13示意性地例示适用本发明的场景的另一例。
具体实施方式
以下,基于附图来说明本发明的一方面的实施方式(以下也称作“本实施方式”)。但是,以下说明的本实施方式在所有方面不过是本发明的例示。当然能够不脱离本发明的范围而进行各种改良或变形。即,在本发明的实施时,也可适当采用与实施方式相应的具体结构。另外,通过自然语言说明了本实施方式中出现的数据,但更具体而言,是以计算机可识别的伪语言、命令、参数、机器语言等来指定。
§1适用例
首先,使用图1来说明适用本发明的场景的一例。图1示意性地例示本实施方式的控制系统100的适用场景的一例。图1的示例中,设想对配置在生产线上的工业机器人R(例如机械手)的动作进行控制的场景。工业机器人R是本发明的“机器人装置”的一例。但是,本发明的适用对象也可不限定于此种示例,可适用于对某些机器人装置的动作进行控制的所有场景。
如图1所示,本实施方式的控制系统100包括经由网络而彼此连接的学习装置1及控制装置2,且构成为,可实施控制模块的机器学习、及经训练的控制模块对工业机器人R的动作控制。学习装置1及控制装置2之间的网络种类例如可从国际互联网、无线通信网、移动通信网、电话网、专用网等中适当选择。
本实施方式的学习装置1是一种计算机,其构成为,通过机器学习来构建用于控制工业机器人R的动作的控制模块。本实施方式的控制模块包含提取器5及控制器6。提取器5被训练成,从由传感器所获得的传感器数据中提取环境信息。控制器6被训练成,从环境信息及状态信息导出控制命令。
首先,本实施方式的学习装置1获取分别包含模拟数据701及第一环境信息702的组合的多个第一学习数据集70。模拟数据701是通过模拟对生产线上的工业机器人R执行任务的环境进行监测的传感器而生成。第一环境信息702与执行模拟数据701所表示的任务的环境。
而且,本实施方式的学习装置1获取分别包含实际数据731及第二环境信息732的组合的多个第二学习数据集73。实际数据731是从传感器获得。第二环境信息732与执行由实际数据731所表示的任务的环境相关。
如图1所示,本实施方式中,作为用于对任务的执行环境进行监控(感测)的传感器的一例,在可拍摄工业机器人R的可动区域的位置配置有摄像机CA。因此,本实施方式的模拟数据701是由模拟器所生成的图像数据且是对由所述摄像机CA获得的拍摄图像进行模拟的图像数据。与此相对,本实施方式的实际数据731是通过利用摄像机CA来拍摄工业机器人R执行任务的环境而获得的图像数据(拍摄图像)。摄像机CA是本发明的“传感器”的一例。但是,本实施方式中可利用的传感器可不限定于摄像机,可根据实施方式来适当选择。
进而,本实施方式的学习装置1获取分别包含第三环境信息761及状态信息762与控制命令763的组合的多个第三学习数据集76。第三环境信息761与工业机器人R执行任务的环境相关。状态信息762与执行任务时的工业机器人R的状态相关。控制命令763对用于使工业机器人R在由第三环境信息761及状态信息762所示的条件下执行任务的动作进行规定。
另外,任务的种类也可不受特别限定,可根据机器人装置的种类来适当选择。在工业机器人R为机械手的情况下,任务例如可为工件的握持、所握持的工件的释放等。各环境信息(702、732、761)只要与机器人装置执行任务的环境相关,则其种类也可不受特别限定,可根据实施方式来适当选择。各环境信息(702、732、761)例如可包含分割信息、与成为任务对象的工件的属性相关的信息、与执行任务的位置相关的信息、表示障碍物的有无的信息、及与障碍物的属性相关的信息中的至少任一个。状态信息762只要可表示与任务的执行关联的机器人装置的状态,则其种类也可不受特别限定,可根据实施方式来适当选择。状态信息762例如可包含工业机器人R的驱动部(例如末端执行器(end effector)、关节部等)的位置、方向、角度、加速度等。控制命令763只要与机器人装置的动作指示相关,则其种类及格式也可不受特别限定,可根据机器人装置的种类来适当选择。控制命令763例如可规定工业机器人R的驱动量等。
所获得的各学习数据集(70、73、76)被用作用于通过机器学习来训练控制模块的学习数据。本实施方式的学习装置1利用第一学习数据集70及第二学习数据集73来实施提取器5的机器学习。具体而言,作为第一训练步骤,学习装置1训练提取器5,以使其关于各第一学习数据集70而从模拟数据701中提取与对应的第一环境信息702一致的环境信息。模拟数据701对应于所述机器学习中的训练数据(输入数据),第一环境信息702对应于正解数据(教学数据)。即,学习装置1训练提取器5,以使其关于各第一学习数据集70而输入有模拟数据701时,输出与对应的第一环境信息702一致的输出值(环境信息)。
在执行了第一训练步骤后,学习装置1训练提取器5,以使其关于各第二学习数据集73而从实际数据731中提取与对应的第二环境信息732一致的环境信息。实际数据731对应于所述机器学习中的训练数据(输入数据),第二环境信息732对应于正解数据(教学数据)。即,学习装置1训练提取器5,以使其在关于各第二学习数据集73而输入有实际数据731时,输出与对应的第二环境信息732一致的输出值(环境信息)。
而且,本实施方式的学习装置1利用第三学习数据集76来实施控制器6的机器学习。具体而言,学习装置1训练控制器6,以使其关于各第三学习数据集76而从第三环境信息761及状态信息762导出对应的控制命令763。第三环境信息761及状态信息762对应于所述机器学习中的训练数据(输入数据),控制命令763对应于正解数据(教学数据)。即,学习装置1训练控制器6,以使其关于各第三学习数据集76而在输入有第三环境信息761及状态信息762时,输出与对应的控制命令763一致的输出值(控制命令)。
另外,提取器5及控制器6包含可实施机器学习的学习模型。本实施方式中,提取器5及控制器6分别包含后述的神经网。对提取器5及控制器6各自的训练,在于调节构成提取器5及控制器6的学习模型的参数。学习模型的参数被利用于运算处理,所述运算处理用于获得相对于所给予的输入数据的输出值。在学习模型包含神经网络的情况下,参数例如是各神经元(neuron)间的结合的权重、各神经元的阈值等。机器学习中的“一致”对应于下述操作,即,调节学习模型的参数,以使学习模型的输出值与正解数据的误差(评价函数、误差函数、损耗函数)成为阈值以下。
另一方面,本实施方式的控制装置2是一种计算机,其构成为,利用通过学习装置1而构建的控制模块来控制工业机器人R的动作。具体而言,本实施方式的控制装置2获取由对工业机器人R执行任务的环境进行监测的传感器所获得的传感器数据。本实施方式中,作为所述传感器的一例,利用了摄像机CA。因此,控制装置2获取由摄像机CA所获得的图像数据80,以作为传感器数据的一例。而且,本实施方式的控制装置2获取与执行任务时的工业机器人R的状态相关的状态信息83。
继而,本实施方式的控制装置2利用通过所述学习装置1而构建的机器学习完毕的提取器5,从图像数据80中提取与执行任务的环境相关的环境信息。具体而言,控制装置2向机器学习完毕的提取器5输入图像数据80,执行所述提取器5的运算处理,由此,从所述提取器5获取与环境信息对应的输出值。
接下来,本实施方式的控制装置2利用通过所述学习装置1而构建的机器学习完毕的控制器6,来决定控制命令85,所述控制命令85用于使工业机器人R在由环境信息及状态信息83所示的条件下执行任务。具体而言,控制装置2向机器学习完毕的控制器6输入环境信息及状态信息83,执行所述控制器6的运算处理,由此,从所述控制器6获取与控制命令85对应的输出值。并且,本实施方式的控制装置2基于所决定的控制命令85来控制工业机器人R的动作。
如上所述,本实施方式中,用于对工业机器人R的动作进行控制的控制模块被分割为提取器5及控制器6这两个构成元件。在这些构成元件中的提取器5的机器学习中,通过利用模拟数据701及实际数据731这两者,从而提取器5被构建为从两数据(701、731)中提取共同的特征(环境信息)。由此,在提取器5的机器学习的过程中,在吸收了模拟数据701与实际数据731之间的背离后,能够使利用模拟数据701的第一训练步骤的成果反映到利用实际数据731的第二训练步骤中。因此,只要机器学习中所利用的模拟数据701(第一学习数据集70)的件数足够,则即便机器学习中所利用的实际数据731(第二学习数据集73)的件数少,也能构建可从在实际环境下获得的传感器数据中高精度地提取环境信息的、机器学习完毕的提取器5。
除此以外,从传感器数据中提取的特征(环境信息)可通过模拟而与实际环境同样地获得。因此,即便不使用工业机器人R的实机而使用模拟器,也能够通过利用所获得的第三学习数据集76的机器学习,来构建可在实际环境下运用的机器学习完毕的控制器6。因此,根据本实施方式,通过将控制模块分离为提取器5及控制器6这两个构成元件,从而能够对学习数据的至少一部分(优选的是大部分)采用模拟数据701,因此能够降低对机器学习中所利用的学习数据进行收集所耗费的成本。进而,能够由通过所述机器学习而构建的提取器5及控制器6,来构成可在实际环境下运用的控制模块。因而,根据本实施方式,既能降低对用于使控制模块学会控制工业机器人R的能力的机器学习中所利用的学习数据进行收集的成本,又能通过所述机器学习而构建可在实际环境下运用的控制模块。而且,根据本实施方式的控制装置2,通过利用像这样构建的控制模块,能够在实际环境下适当地控制工业机器人R的动作。
§2结构例
[硬件结构]
<学习装置>
接下来,使用图2来说明本实施方式的学习装置1的硬件结构的一例。图2示意性地例示本实施方式的学习装置1的硬件结构的一例。
如图2所示,本实施方式的学习装置1是由控制部11、存储部12、通信接口13、输入装置14、输出装置15及驱动器16电连接而成的计算机。另外,图2中,将通信接口记作“通信I/F”。
控制部11包含作为硬件处理器的中央处理器(Central Processing Unit,CPU)、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)等,且构成为,基于程序及各种数据来执行信息处理。存储部12为存储器的一例,例如包含硬盘驱动器、固态硬盘等。本实施方式中,存储部12存储学习程序121、多个第一学习数据集70、多个第二学习数据集73、多个第三学习数据集76、第一学习结果数据125、第二学习结果数据128等各种信息。
学习程序121是一种程序,用于使学习装置1执行后述的机器学习的信息处理(图7、图8),构建学习完毕的提取器5及学习完毕的控制器6。学习程序121包含所述信息处理的一连串命令。多个第一学习数据集70及多个第二学习数据集73被利用于提取器5的机器学习。多个第三学习数据集76被利用于控制器6的机器学习。第一学习结果数据125是用于进行通过机器学习而构建的学习完毕的提取器5的设定的数据。第二学习结果数据128是用于进行通过机器学习而构建的学习完毕的控制器6的设定的数据。第一学习结果数据125及第二学习结果数据128是作为学习程序121的执行结果而生成。详细将后述。
通信接口13例如是有线局域网(Local Area Network,LAN)模块、无线LAN模块等,是用于进行经由网络的有线或无线通信的接口。学习装置1通过利用所述通信接口13,从而能够与其他信息处理装置(例如控制装置2)进行经由网络的数据通信。
输入装置14例如是鼠标、键盘等用于进行输入的装置。而且,输出装置15例如是显示器、扬声器等用于进行输出的装置。操作员通过利用输入装置14及输出装置15,能够操作学习装置1。
驱动器16例如是光盘(Compact Disc,CD)驱动器、数字多功能光盘(DigitalVersatile Disc,DVD)驱动器等,是用于读取存储在存储介质91中的程序的驱动装置。驱动器16的种类可根据存储介质91的种类来适当选择。所述学习程序121、多个第一学习数据集70、多个第二学习数据集73及多个第三学习数据集76中的至少任一个也可被存储在所述存储介质91中。
存储介质91是以计算机及其他装置、机械等可读取所记录的程序等信息的方式,通过电、磁、光学、机械或化学作用来保存所述程序等信息的介质。学习装置1也可从所述存储介质91中获取所述学习程序121、多个第一学习数据集70、多个第二学习数据集73及多个第三学习数据集76中的至少任一个。
此处,图2中,作为存储介质91的一例,例示了CD、DVD等盘型的存储介质。但是,存储介质91的种类并不限定于盘型,也可为盘型以外。作为盘型以外的存储介质,例如可列举快闪存储器等半导体存储器。
另外,作为学习装置1的具体的硬件结构,可根据实施方式来适当地进行构成元件的省略、替换及追加。例如,控制部11也可包含多个硬件处理器。硬件处理器可包含微处理器、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)等。存储部12也可包含控制部11中所含的RAM及ROM。通信接口13、输入装置14、输出装置15及驱动器16中的至少任一个也可予以省略。学习装置1也可包含多台计算机。此时,各计算机的硬件结构既可一致,也可不一致。而且,学习装置1除了专为所提供的服务设计的信息处理装置以外,还可为通用的服务器装置、个人电脑(Personal Computer,PC)等。
<控制装置>
接下来,使用图3来说明本实施方式的控制装置2的硬件结构的一例。图3示意性地例示本实施方式的控制装置2的硬件结构的一例。
如图3所示,本实施方式的控制装置2是由控制部21、存储部22、通信接口23、外部接口24、输入装置25、输出装置26及驱动器27电连接而成的计算机。另外,图3中,将通信接口及外部接口分别记作“通信I/F”及“外部I/F”。
控制装置2的控制部21~通信接口23及输入装置25~驱动器27分别可与所述学习装置1的控制部11~驱动器16各自同样地构成。即,控制部21包含作为硬件处理器的CPU、RAM、ROM等,且构成为,基于程序及数据来执行各种信息处理。存储部22例如包含硬盘驱动器、固态硬盘等。存储部22存储控制程序221、第一学习结果数据125、第二学习结果数据128等各种信息。
控制程序221是一种程序,用于利用学习完毕的提取器5及学习完毕的控制器6,来使控制装置2执行对工业机器人R的动作进行控制的后述的信息处理(图9)。控制程序221包含所述信息处理的一连串命令。第一学习结果数据125及第二学习结果数据128被利用于在所述信息处理时,设定学习完毕的提取器5及学习完毕的控制器6。详细将后述。
通信接口23例如是有线LAN模块、无线LAN模块等,是用于进行经由网络的有线或无线通信的接口。控制装置2通过利用所述通信接口23,从而能够与其他信息处理装置(例如学习装置1)进行经由网络的数据通信。
外部接口24例如为通用串行总线(Universal Serial Bus,USB)端口、专用端口等,是用于与外部装置连接的接口。外部接口24的种类及数量可根据所连接的外部装置的种类及数量来适当选择。本实施方式中,控制装置2经由外部接口24而连接于工业机器人R及摄像机CA。
工业机器人R的种类及结构也可不受特别限定,可根据实施方式来适当选择。工业机器人R例如也可包含机械手、带式输送器等。控制装置2经由外部接口24将基于控制命令的控制信号发送至工业机器人R,由此来控制工业机器人R的动作。工业机器人R的控制方法可不受特别限定,可根据实施方式来适当决定。工业机器人R也可由控制装置2直接控制。或者,工业机器人R也可内置控制器(未图示)。此时,控制器可适当构成为,基于从控制装置2收到的控制信号、程序的处理等,来控制工业机器人R的动作。
摄像机CA被适当配置成,对工业机器人R执行任务的环境进行监测。所述摄像机CA的种类也可不受特别限定,可根据实施方式来适当决定。对于摄像机CA,例如可利用数字摄像机、摄影机(video camera)等现有的摄像机。控制装置2能够经由外部接口24来从摄像机CA获取图像数据。图像数据为本发明的“传感器数据”的一例。另外,在工业机器人R及摄像机CA包括通信接口的情况下,控制装置2也可经由通信接口23而非外部接口24来连接于工业机器人R及摄像机CA。
输入装置25例如是鼠标、键盘等用于进行输入的装置。而且,输出装置26例如是显示器、扬声器等用于进行输出的装置。操作员通过利用输入装置25及输出装置26,从而能够操作控制装置2。
驱动器27例如是CD驱动器、DVD驱动器等,是用于读取存储在存储介质92中的程序的驱动装置。所述控制程序221、第一学习结果数据125及第二学习结果数据128中的至少任一个也可被存储在存储介质92中。而且,控制装置2也可从存储介质92中获取所述控制程序221、第一学习结果数据125及第二学习结果数据128中的至少任一个。
另外,关于控制装置2的具体的硬件结构,与所述学习装置1同样,可根据实施方式来适当地进行构成元件的省略、替换及追加。例如,控制部21也可包含多个硬件处理器。硬件处理器可包含微处理器、FPGA、DSP等。存储部22也可包含控制部21中所含的RAM及ROM。通信接口23、外部接口24、输入装置25、输出装置26及驱动器27中的至少任一个也可予以省略。控制装置2也可包含多台计算机。此时,各计算机的硬件结构既可一致,也可不一致。而且,控制装置2除了专为所提供的服务设计的信息处理装置以外,还可使用通用的服务器装置、通用的桌面(desktop)PC、笔记型PC、平板PC等。
[软件结构]
接下来,使用图4来说明本实施方式的学习装置1的软件结构的一例。图4示意性地例示本实施方式的学习装置1的软件结构的一例。
学习装置1的控制部11将存储在存储部12中的学习程序121展开到RAM中。并且,控制部11通过CPU来解释及执行在RAM中展开的学习程序121,以控制各构成元件。由此,如图4所示,本实施方式的学习装置1作为包括第一数据获取部111、第二数据获取部112、第三数据获取部113、第一学习处理部114、第二学习处理部115及保存处理部116作为软件模块的计算机而运行。即,本实施方式中,学习装置1的各软件模块是通过控制部11(CPU)来实现。
第一数据获取部111获取多个第一学习数据集70,所述多个第一学习数据集70分别包含模拟数据701及第一环境信息702的组合,所述模拟数据701是通过模拟对工业机器人R执行任务的环境进行监测的传感器而生成,所述第一环境信息702与执行由模拟数据701所表示的任务的环境相关。第二数据获取部112获取多个第二学习数据集73,所述多个第二学习数据集73分别包含实际数据731及第二环境信息732的组合,所述实际数据731是从传感器获得,所述第二环境信息732与执行由实际数据731所表示的任务的环境相关。第三数据获取部113获取多个第三学习数据集76,所述多个第三学习数据集76分别包含第三环境信息761及状态信息762与控制命令763的组合,所述第三环境信息761与执行任务的环境相关,所述状态信息762与执行任务时的工业机器人R的状态相关,所述控制命令763用于使工业机器人R在由第三环境信息761及状态信息762所示的条件下执行所述任务。。
第一学习处理部114保持实施机器学习之前的提取器5。第一学习处理部114利用第一学习数据集70及第二学习数据集73来实施提取器5的机器学习。具体而言,作为第一训练步骤,第一学习处理部114训练提取器5,以使其关于各第一学习数据集70而从模拟数据701中提取与对应的第一环境信息702一致的环境信息。在执行了第一训练步骤后,作为第二训练步骤,第一学习处理部114训练提取器5,以使其关于各第二学习数据集73而从实际数据731中提取与对应的第二环境信息732一致的环境信息。保存处理部116将与所构建的学习完毕的提取器5相关的信息作为第一学习结果数据125而保存到存储部12中。
第二学习处理部115保持实施机器学习之前的控制器6。第二学习处理部115利用第三学习数据集76来实施控制器6的机器学习。具体而言,第二学习处理部115训练控制器6,以使其在关于各第三学习数据集76而输入有第三环境信息761及状态信息762时,输出与对应的控制命令763一致的控制命令。保存处理部116将与所构建的学习完毕的控制器6相关的信息作为第二学习结果数据128而保存到存储部12中。
(提取器)
接下来,使用图5A及图5B来说明提取器5的结构的一例。图5A示意性地表示本实施方式的提取器5的第一训练步骤的过程的一例。图5B示意性地表示本实施方式的提取器5的第二训练步骤的过程的一例。如图5A及图5B所示,本实施方式的提取器5包含神经网络。所述神经网络被分为第一部分51、第二部分52及第三部分53。第一部分51及第二部分52并列配置在神经网络的输入侧。与此相对,第三部分53被配置在神经网络的输出侧。
本实施方式的第一部分51包含所谓的卷积神经网络。具体而言,第一部分51包括卷积层511、池化(pooling)层512以及全结合层513。本实施方式的第一部分51中,卷积层511及池化层512交替地配置在输入侧。并且,配置在最靠输出侧的池化层512的输出被输入至全结合层513。全结合层513的输出对应于第一部分51的输出。卷积层511及池化层512的数量可根据实施方式来适当选择。
卷积层511是进行图像的卷积运算的层。所谓图像的卷积,相当于算出图像与规定的滤波器的相关的处理。因此,通过进行图像的卷积运算,例如能够从所输入的图像中检测与滤波器的浓淡图形类似的浓淡图形。池化层512是进行池化处理的层。池化处理是将图像的相对于滤波器的响应强的位置的信息部分舍弃,由此来实现图像内出现的特征相对于微小的位置变化的响应的不变性。池化层512例如可为以下述方式构成的最大池化层,即,从成为处理对象的多个像素(pixel)中选择最大值的像素。全结合层513是将邻接的层之间的神经元全部结合的层。即,全结合层513中所含的各神经元结合于邻接的层中所含的所有神经元。全结合层513也可包含两层以上。
各层511~513中所含的神经元(节点)的数量可根据实施方式来适当选择。邻接的层的神经元彼此适当结合,对于各结合设定有权重(结合负荷)。对于各神经元设定有阈值,基本上,根据各输入与各权重之积的和是否超过阈值来决定各神经元的输出。各层511~513中所含的各神经元间的结合的权重及各神经元的阈值是被利用于运算处理的第一部分51的参数的一例。
本实施方式的第二部分52也与第一部分51同样,包含所谓的卷积神经网络。即,第二部分52包括卷积层521、池化层522及全结合层523。本实施方式中,第二部分52的各层521~523是与第一部分51的各层511~513与同样地构成。即,各层521~523中所含的神经元的数量及邻接的层的神经元彼此的结合被设定为与第一部分51一致。由此,第一部分51及第二部分52构成为,具有彼此相同的结构,且具有共同的参数。各层521~523中所含的各神经元间的结合的权重及各神经元的阈值是被利用于运算处理的第二部分52的参数的一例。
另一方面,本实施方式的第三部分53具有使第一部分51的输入侧与输出侧反转的结构。具体而言,第三部分53包括全结合层531、上采样层(up sampling)532及卷积层533。上采样层532是进行逆池化处理的层。本实施方式的第三部分53中,全结合层531配置在最靠输入侧,全结合层531的输出被输入至配置在最靠输入侧的上采样层532。并且,上采样层532及卷积层533在输出侧交替地配置。配置在最靠输出侧的卷积层533的输出对应于第三部分53的输出。上采样层532及卷积层533的数量可根据实施方式来适当选择。而且,全结合层531也可包含两层以上。各层531~533中所含的各神经元间的结合的权重及各神经元的阈值是被利用于运算处理的第三部分53的参数的一例。
第一部分51的配置在最靠输入侧的卷积层511构成为,受理模拟数据701的输入。第二部分52的配置在最靠输入侧的卷积层521构成为,受理实际数据731的输入。第三部分53的全结合层531构成为,受理第一部分51及第二部分52各自的输出。但是,各部分51~53的结构也可不限定于此种示例,可根据实施方式来适当设定。
如图5A所示,在第一训练步骤中,第一学习处理部114阻断(忽略)第二部分52与第三部分53的结合。并且,通过以下的流程,第一学习处理部114调节第一部分51及第三部分53各自的参数的值,以使得在关于各第一学习数据集70而将模拟数据701输入至第一部分51时,从第三部分53输出与对应的第一环境信息702一致的输出值。
首先,第一学习处理部114关于各第一学习数据集70而将模拟数据701输入至第一部分51的配置在最靠输入侧的卷积层511,使用第一部分51及第三部分53的参数来执行提取器5的运算处理。所述运算处理的结果为,第一学习处理部114从第三部分53的配置在最靠输出侧的卷积层533获取与从模拟数据701提取环境信息的结果对应的输出值。接下来,第一学习处理部114算出所获取的输出值与第一环境信息702的误差。并且,第一学习处理部114调节第一部分51及第三部分53各自的参数的值,以使所算出的误差之和变小。
第一学习处理部114反复进行第一部分51及第三部分53各自的参数的值的调节,直至从第三部分53获得的输出值与第一环境信息702的误差之和成为阈值以下为止。由此,第一学习处理部114能够构建提取器5,所述提取器5被训练成,当关于各第一学习数据集70而将模拟数据701输入至第一部分51时,从第三部分53输出与对应的第一环境信息702一致的输出值。
接下来,如图5B所示,在执行了第一训练步骤后且执行第二训练步骤之前,第一学习处理部114将第一部分51的各参数的经调节的值复制到第二部分52的对应的参数中。在第二训练步骤中,第一学习处理部114解除第二部分52与第三部分53的结合的阻断,并阻断(忽略)第一部分51与第三部分53的结合。并且,本实施方式中,通过以下的流程,第一学习处理部114将第三部分53的参数的值保持固定,并调节第二部分52的参数的值,以使得在关于各第二学习数据集73而将实际数据731输入至第二部分52时,从第三部分53输出与对应的第二环境信息732一致的输出值。
首先,第一学习处理部114关于各第二学习数据集73而将实际数据731输入至第二部分52的配置在最靠输入侧的卷积层521,利用第二部分52及第三部分53的参数来执行提取器5的运算处理。所述运算处理的结果为,第一学习处理部114从第三部分53的配置在最靠输出侧的卷积层533获取与从实际数据731提取环境信息的结果对应的输出值。接下来,第一学习处理部114算出所获取的输出值与第二环境信息732的误差。并且,第一学习处理部114调节第二部分52的参数的值,以使所算出的误差之和变小。
第一学习处理部114反复进行第二部分52的参数的值的调节,直至从第三部分53获得的输出值与第二环境信息732的误差之和成为阈值以下为止。由此,第一学习处理部114能够构建提取器5,所述提取器5被训练成,当关于各第二学习数据集73而将实际数据731输入至第二部分52时,从第三部分53输出与对应的第二环境信息732一致的输出值。
当这些训练步骤完成后,保存处理部116生成第一学习结果数据125,所述第一学习结果数据125表示所构建的学习完毕的提取器5的结构(例如神经网络的层数、各层中的神经元的个数、神经元彼此的结合关系、各神经元的传递函数)以及运算参数(例如各神经元间的结合的权重、各神经元的阈值)。并且,保存处理部116将所生成的第一学习结果数据125保存到存储部12中。
(控制器)
接下来,使用图5C来说明控制器6的结构的一例。图5C示意性地例示本实施方式的控制器6的机器学习的过程的一例。如图5C所示,本实施方式的控制器6包含被用于所谓的深层学习的多层结构的神经网络,包括输入层61、中间层(隐藏层)62及输出层63。但是,控制器6的结构也可不限定于此种示例,可根据实施方式来适当设定。例如,控制器6也可包括两层以上的中间层62。
各层61~63中所含的神经元的数量可根据实施方式来适当设定。邻接的层的神经元彼此适当结合,对于各结合设定有权重(结合负荷)。图5C的示例中,各神经元与邻接的层的所有神经元结合。但是,神经元的结合也可不限定于此种示例,可根据实施方式来适当设定。对于各神经元设定有阈值,基本上,根据各输入与各权重之积的和是否超过阈值来决定各神经元的输出。各层61~63中所含的各神经元间的结合的权重及各神经元的阈值是被利用于运算处理的控制器6的参数的一例。
在控制器6的机器学习中,首先,第二学习处理部115关于各第三学习数据集76而将第三环境信息761及状态信息762输入至控制器6的输入层61,利用各层61~63的参数来执行控制器6的运算处理。所述运算处理的结果为,第二学习处理部115从输出层63获取与从第三环境信息761及状态信息762导出控制命令的结果对应的输出值。接下来,第二学习处理部115算出所获取的输出值与控制命令763的误差。并且,第二学习处理部115调节控制器6的参数的值,以使所算出的误差之和变小。
第二学习处理部115反复进行控制器6的参数的值的调节,直至从输出层63获得的输出值与控制命令763的误差之和成为阈值以下为止。由此,第二学习处理部115能够构建控制器6,所述控制器6被训练成,当关于各第三学习数据集76而将第三环境信息761及状态信息762输入至输入层61时,从输出层63输出与对应的控制命令763一致的输出值。
当所述机器学习的处理完成后,保存处理部116生成第二学习结果数据128,所述第二学习结果数据128表示所构建的学习完毕的控制器6的结构(例如神经网络的层数、各层中的神经元的个数、神经元彼此的结合关系、各神经元的传递函数)及运算参数(例如各神经元间的结合的权重、各神经元的阈值)。并且,保存处理部116将所生成的第二学习结果数据128保存到存储部12中。
另外,各第三学习数据集76的第三环境信息761也可通过下述方式而获得,即,利用机器学习已完成后的提取器5,从通过模拟传感器而生成的其他模拟数据78中提取。具体而言,第三数据获取部113获取与模拟数据701同样地生成的模拟数据78。在机器学习完毕的提取器5未被展开到RAM上的情况下,第三数据获取部113参照第一学习结果数据125来进行机器学习完毕的提取器5的设定。接下来,第三数据获取部113将模拟数据78输入至第一部分51,利用第一部分51及第三部分53的参数来执行提取器5的运算处理。所述运算处理的结果为,从第三部分53输出与从模拟数据78提取环境信息的结果对应的输出值。第三数据获取部113也可获取从所述第三部分53输出的输出值来作为第三环境信息761。
<控制装置>
接下来,使用图6来说明本实施方式的控制装置2的软件结构的一例。图6示意性地例示本实施方式的控制装置2的软件结构的一例。
控制装置2的控制部21将存储在存储部22中的控制程序221展开到RAM中。并且,控制部21通过CPU来解释及执行在RAM中展开的控制程序221,以控制各构成元件。由此,如图6所示,本实施方式的控制装置2作为包括数据获取部211、信息提取部212、命令决定部213及动作控制部214作为软件模块的计算机而运行。即,本实施方式中,控制装置2的各软件模块也与所述学习装置1同样地,通过控制部21(CPU)而实现。
数据获取部211获取由对工业机器人R执行任务的环境进行监测的传感器所获得的传感器数据。本实施方式中,数据获取部211获取由摄像机CA所获得的图像数据80来作为传感器数据。而且,数据获取部211获取与执行任务时的工业机器人R的状态相关的状态信息83。
信息提取部212保持第一学习结果数据125,由此,包含通过学习装置1而构建的机器学习完毕的提取器5。信息提取部212参照第一学习结果数据125来进行机器学习完毕的提取器5的设定。并且,信息提取部212利用机器学习完毕的提取器5,从图像数据80中提取与执行任务的环境相关的环境信息81。本实施方式中,信息提取部212将图像数据80输入至第二部分52,利用第二部分52及第三部分53的参数来执行提取器5的运算处理。所述运算处理的结果为,信息提取部212从第三部分53获取与环境信息81对应的输出值。
命令决定部213保持第二学习结果数据128,由此,包含通过学习装置1而构建的机器学习完毕的控制器6。命令决定部213参照第二学习结果数据128来进行机器学习完毕的控制器6的设定。并且,命令决定部213利用机器学习完毕的控制器6来决定控制命令85,所述控制命令85用于使工业机器人R在由环境信息81及状态信息83所示的条件下执行任务。本实施方式中,命令决定部213将环境信息81及状态信息83输入至输入层61,利用各层61~63的参数来执行控制器6的运算处理。所述运算处理的结果为,命令决定部213从输出层63获取与所决定的控制命令85对应的输出值。动作控制部214基于所决定的控制命令85来控制工业机器人R的动作。
<其他>
关于学习装置1及控制装置2的各软件模块,以后述的动作例来进行详细说明。另外,本实施方式中,对学习装置1及控制装置2的各软件模块均通过通用的CPU而实现的示例进行了说明。但是,以上的软件模块的一部分或全部也可通过一个或多个专用的处理器来实现。而且,关于学习装置1及控制装置2各自的软件结构,也可根据实施方式来适当地进行软件模块的省略、替换及追加。
§3动作例
[学习装置]
接下来,对学习装置1的动作例进行说明。本实施方式的学习装置1构成为,可选择实施提取器5的机器学习的第一模式及实施控制器6的机器学习的第二模式这两个模式中的任一个,以所选择的模式来运行。以下说明的各模式下的处理流程是本发明的“学习方法”的一例。但是,未必需要分为两个模式。各模式可适当省略或变更。而且,以下说明的处理流程不过是一例,各处理可尽可能地变更。进而,关于以下说明的处理流程,可根据实施方式来适当地进行步骤的省略、替换及追加。
<提取器的机器学习>
首先,使用图7来说明本实施方式的学习装置1所进行的提取器5的机器学习(第一模式)的处理流程的一例。图7是表示本实施方式的学习装置1所进行的提取器5的机器学习的处理流程的一例的流程图。
(步骤S101)
步骤S101中,控制部11作为第一数据获取部111而运行,获取分别包含模拟数据701及第一环境信息702的组合的多个第一学习数据集70。
获取各第一学习数据集70的方法也可不受特别限定,可根据实施方式来适当选择。例如,可准备模拟器,并在各种条件下模拟传感器,由此来生成模拟数据701。模拟器只要可模拟机器人装置执行任务的环境,则其种类也可不受特别限定,可根据实施方式来适当选择。任务的种类也可不受特别限定,可根据机器人装置的种类来适当选择。模拟器例如是可将传感器、机器人装置、工件等对象物配置在虚拟空间上,并在虚拟空间上模拟机器人装置对任务的执行的软件。任务例如是工件的握持、所握持的工件的释放等。本实施方式中,作为对工业机器人R执行任务的环境进行监测的传感器,利用了摄像机CA。因此,通过模拟器,生成对由摄像机CA所获得的拍摄图像进行模拟的图像数据来作为模拟数据701。此时,模拟数据701可一边随机变更模拟传感器的条件一边生成。本实施方式中,模拟的条件例如为摄像机CA的位置、摄像机CA的视野(field of view)、摄像机CA的焦距、照明条件、贴附于各区域的纹理的种类、工业机器人R的属性、所配置的工件的属性等。
而且,可根据模拟的条件来适当生成第一环境信息702。第一环境信息702只要与机器人装置执行任务的环境相关,则其种类也可不受特别限定,可根据实施方式来适当选择。第一环境信息702例如可包含分割信息、与成为任务对象的工件的属性相关的信息、与执行任务的位置相关的信息、表示障碍物的有无的信息以及与障碍物的属性相关的信息中的至少任一个。分割信息表示通过识别映照在图像内的各对象物而对各对象物的区域进行划分的结果。分割信息也可包含表示基于对各对象物进行识别的结果而推测出的各对象物的属性的信息。与工件的属性相关的信息例如表示工件的位置、形状、尺寸、姿势、重量、温度等。与执行任务的位置相关的信息例如表示释放工件的位置。与障碍物的属性相关的信息例如表示障碍物的位置、形状、尺寸、姿势、重量、温度等。通过将所生成的第一环境信息702组合(关联)至对应的模拟数据701,从而能够生成各第一学习数据集70。
各第一学习数据集70既可通过计算机的运行而自动生成,也可通过操作员的操作而手动生成。而且,各第一学习数据集70的生成既可由学习装置1来进行,也可由学习装置1以外的其他计算机来进行。在学习装置1生成各第一学习数据集70的情况下,控制部11自动地、或者通过操作员的操作而手动地执行所述一连串处理,由此,获取多个第一学习数据集70。另一方面,在由其他计算机生成各第一学习数据集70的情况下,控制部11例如经由网络、存储介质91等来获取由其他计算机所生成的多个第一学习数据集70。
所获取的第一学习数据集70的件数也可不受特别限定,可根据实施方式来适当选择。当获取多件第一学习数据集70时,控制部11将处理推进至下个步骤S102。
(步骤S102)
步骤S102中,控制部11作为第一学习处理部114而运行,利用多个第一学习数据集70来实施提取器5的机器学习。所述机器学习中,控制部11训练提取器5,以使其关于各第一学习数据集而从模拟数据701中提取与对应的第一环境信息702一致的环境信息。本步骤S102为本发明的“第一训练步骤”的一例。
详细而言,首先,控制部11准备作为处理对象的提取器5。所准备的提取器5的结构、各神经元间的结合的权重的初始值及各神经元的阈值的初始值既可通过模板(template)来给予,也可通过操作员的输入来给予。而且,在进行再学习的情况下,控制部11也可基于过去的通过进行机器学习而获得的学习结果数据来准备提取器5。
接下来,控制部11利用在步骤S101中获取的各第一学习数据集70中所含的模拟数据701来作为输入数据,利用对应的第一环境信息702来作为教学数据,执行提取器5的第一部分51及第三部分53的学习处理。对于所述学习处理,可使用概率梯度下降法等。本实施方式中,在所述学习处理中,忽略第二部分52与第三部分53的结合。
例如,第一步骤中,控制部11关于各第一学习数据集70而将模拟数据701输入至第一部分51的配置在最靠输入侧的卷积层511,从输入侧起依序进行各层(511~513、531~533)中所含的各神经元的点火判定。由此,控制部11从第三部分53的配置在最靠输出侧的卷积层533获取与从模拟数据701中提取环境信息的结果对应的输出值。第二步骤中,控制部11算出所获取的输出值与对应的第一环境信息702的误差。第三步骤中,控制部11通过误差反向传播(Back propagation)法,使用所算出的输出值的误差来算出各神经元间的结合的权重及各神经元的阈值各自的误差。第四步骤中,控制部11基于所算出的各误差,进行各神经元间的结合的权重及各神经元的阈值各自的值的更新。
控制部11通过反复进行所述第一步骤~第四步骤,从而调节第一部分51及第三部分53各自的参数的值,以使得在关于各第一学习数据集70而将模拟数据701输入至第一部分51时,从第三部分53输出与对应的第一环境信息702一致的输出值。换言之,控制部11反复进行所述第一步骤~第四步骤的、第一部分51及第三部分53的参数的值的调节,直至关于各第一学习数据集70而从第三部分53的配置在最靠输出侧的卷积层533获得的输出值与第一环境信息702的误差之和成为阈值以下为止。阈值可根据实施方式来适当设定。由此,控制部11能够构建提取器5,所述提取器5被训练成,在关于各第一学习数据集70而将模拟数据701输入至第一部分51时,从第三部分53输出与对应的第一环境信息702一致的输出值。当利用所述第一学习数据集70的机器学习完成时,控制部11将处理推进至下个步骤S103。
(步骤S103)
步骤S103中,控制部11作为第二数据获取部112而运行,获取分别包含实际数据731及第二环境信息732的组合的多个第二学习数据集73。
获取各第二学习数据集73的方法也可不受特别限定,可根据实施方式来适当选择。例如,可准备传感器、机器人装置、工件等的实际环境,通过传感器在各种条件监控机器人装置执行任务的情况,由此,能够获取实际数据731。本实施方式中,实际数据731是通过利用摄像机CA来拍摄工业机器人R执行任务的环境而获得的图像数据(拍摄图像)。第二环境信息732的种类及格式可与所述第一环境信息702同样。可根据实际环境的条件来适当生成第二环境信息732。通过将所生成的第二环境信息732组合(关联)至对应的实际数据731,从而能够生成各第二学习数据集73。
各第二学习数据集73既可通过计算机的运行而自动生成,也可通过操作员的操作而手动生成。而且,各第二学习数据集73的生成既可由学习装置1来进行,也可由学习装置1以外的其他计算机来进行。在由学习装置1生成各第二学习数据集73的情况下,控制部11自动地、或者通过操作员的操作而手动地执行所述一连串处理,由此来获取多个第二学习数据集73。另一方面,在由其他计算机生成各第二学习数据集73的情况下,控制部11例如经由网络、存储介质91等而获取由其他计算机所生成的多个第二学习数据集73。
所获取的第二学习数据集73的件数也可不受特别限定,可根据实施方式来适当选择。当获取多件第二学习数据集73时,控制部11将处理推进至下个步骤S104。
(步骤S104)
步骤S104中,控制部11作为第一学习处理部114而运行,利用多个第二学习数据集73来实施提取器5的机器学习。所述机器学习中,控制部11训练提取器5,以使其关于各第二学习数据集73而从实际数据731中提取与对应的第二环境信息732一致的环境信息。本步骤S104为本发明的“第二训练步骤”的一例。
详细而言,首先,控制部11在执行了所述步骤S102后且执行本步骤S104之前,将第一部分51的各参数的经调节的值复制到第二部分52的对应的参数中。接下来,控制部11利用在步骤S103中获取的各第二学习数据集73中所含的实际数据731来作为输入数据,利用对应的第二环境信息732来作为教学数据,来执行提取器5的第二部分52的学习处理。本实施方式中,在所述学习处理中,忽略第一部分51与第三部分53的结合,并省略第三部分53的参数的值的调节。
所述学习处理的处理流程可与所述步骤S102同样。即,第一步骤中,控制部11关于各第二学习数据集73而将实际数据731输入至第二部分52的配置在最靠输入侧的卷积层521,从输入侧起依序进行各层(521~523、531~533)中所含的各神经元的点火判定。由此,控制部11从第三部分53的配置在最靠输出侧的卷积层533获取与从实际数据731中提取环境信息的结果对应的输出值。第二步骤中,控制部11算出所获取的输出值与第二环境信息732的误差。第三步骤中,控制部11通过误差反向传播法,使用所算出的输出值的误差,来算出第二部分52中的各神经元间的结合的权重及各神经元的阈值各自的误差。第四步骤中,控制部11基于所算出的各误差,进行第二部分52中的各神经元间的结合的权重及各神经元的阈值各自的值的更新。
控制部11通过反复进行所述第一步骤~第四步骤,将第三部分53的参数的值保持固定,并调节第二部分52的参数的值,以使得在关于各第二学习数据集73而将实际数据731输入至第二部分52时,从第三部分53输出与对应的第二环境信息732一致的输出值。换言之,控制部11反复进行所述第一步骤~第四步骤的、第二部分52的参数的值的调节,直至关于各第二学习数据集73而从第三部分53的配置在最靠输出侧的卷积层533获得的输出值与第二环境信息732的误差之和成为阈值以下为止。阈值可根据实施方式来适当设定。由此,控制部11可构建提取器5,所述提取器5被训练成,当关于各第二学习数据集73而将实际数据731输入至第二部分52时,从第三部分53输出与对应的第二环境信息732一致的输出值。当利用所述第二学习数据集73的机器学习完成时,控制部11将处理推进至下个步骤S105。
(步骤S105)
步骤S105中,控制部11作为保存处理部116而运行,将与机器学习完毕的提取器5相关的信息作为第一学习结果数据125而保存到存储部12中。本实施方式中,控制部11通过所述步骤S102及S104,利用第一学习数据集70及第二学习数据集73来实施提取器5的机器学习。即,实施提取器5的机器学习的步骤包含所述步骤S102及S104。步骤S105中,控制部11生成表示通过步骤S102及S104的机器学习而构建的提取器5的结构及参数的信息来作为第一学习结果数据125。并且,控制部11将所生成的第一学习结果数据125保存到存储部12中。由此,控制部11结束本实施方式的提取器5的机器学习(第一模式)的一连串处理。
另外,第一学习结果数据125的保存目标也可不限于存储部12。控制部11例如也可将第一学习结果数据125保存到网络附加存储器(Network Attached Storage,NAS)等数据服务器中。第一学习结果数据125既可包含与第一部分51相关的信息,也可不包含此信息。而且,控制部11可在任意时机将所生成的第一学习结果数据125转发至控制装置2。控制装置2既可通过从学习装置1受理转发来获取第一学习结果数据125,也可通过访问学习装置1或数据服务器来获取第一学习结果数据125。第一学习结果数据125也可被预先装入控制装置2中。
进而,控制部11也可定期地重复所述步骤S101~S105的处理,从而定期地更新第一学习结果数据125。在所述重复时,可适当执行第一学习数据集70及第二学习数据集73的变更、修正、追加、删除等。并且,控制部11也可每当学习处理的执行时将经更新的第一学习结果数据125转发至控制装置2,由此来定期地更新由控制装置2所保持的第一学习结果数据125。
<控制器的机器学习>
接下来,使用图8来说明本实施方式的学习装置1所进行的控制器6的机器学习(第二模式)的处理流程的一例。图8是表示本实施方式的学习装置1所进行的控制器6的机器学习的处理流程的一例的流程图。
(步骤S201)
步骤S201中,控制部11作为第三数据获取部113而运行,获取分别包含第三环境信息761及状态信息762与控制命令763的组合的多个第三学习数据集76。
获取各第三学习数据集76的方法也可不受特别限定,可根据实施方式来适当选择。例如,可准备所述模拟器或实际环境,根据所准备的模拟器或实际环境的条件来适当生成第三环境信息761。第三环境信息761的种类及格式可与所述第一环境信息702及第二环境信息732同样。
或者,第三环境信息761也可通过下述方式而生成,即,利用机器学习已完成后的提取器5,从其他模拟数据78中提取。具体而言,将模拟数据78输入至第一部分51,从输入侧起依序进行各层(511~513、531~533)中所含的各神经元的点火判定。由此,从第三部分53输出与从模拟数据78中提取环境信息的结果对应的输出值。也可获取从所述第三部分53输出的输出值来作为第三环境信息761。另外,模拟数据78可利用与所述模拟数据701同样的方法而获取。而且,机器学习完毕的提取器5的设定可通过参照第一学习结果数据125而进行。
而且,可根据模拟或实际环境的条件来适当生成状态信息762。进而,可根据模拟或实际环境的条件及执行的任务来适当生成控制命令763。状态信息762例如可包含工业机器人R的驱动部的位置、方向、角度、加速度等。控制命令763例如可规定工业机器人R的驱动量(例如伺服马达的驱动量)等。通过将所生成的状态信息762及控制命令763组合(关联)至对应的第三环境信息761,从而能够生成各第三学习数据集76。
各第三学习数据集76既可通过计算机的运行而自动生成,也可通过操作员的操作而手动生成。而且,各第三学习数据集76的生成既可由学习装置1来进行,也可由学习装置1以外的其他计算机来进行。在由学习装置1生成各第三学习数据集76的情况下,控制部11自动地、或者通过操作员的操作而手动地执行所述一连串处理,由此来获取多个第三学习数据集76。另一方面,在由其他计算机生成各第三学习数据集76的情况下,控制部11例如经由网络、存储介质91等来获取由其他计算机所生成的多个第三学习数据集76。
获取的第三学习数据集76的件数也可不受特别限定,可根据实施方式来适当选择。当获取多件第三学习数据集76时,控制部11将处理推进至下个步骤S202。
(步骤S202)
步骤S202中,控制部11作为第二学习处理部115而运行,利用多个第三学习数据集76来实施控制器6的机器学习。所述机器学习中,控制部11训练控制器6,以使其在关于各第三学习数据集76而输入有第三环境信息761及状态信息762时,输出与对应的控制命令763一致的控制命令。本步骤S202为本发明的“训练控制器的训练步骤”的一例。
详细而言,首先,控制部11准备作为处理对象的控制器6。所准备的控制器6的结构、各神经元间的结合的权重的初始值以及各神经元的阈值的初始值既可通过模板来给予,也可通过操作员的输入来给予。而且,在进行再学习的情况下,控制部11也可基于过去的通过进行机器学习而获得的学习结果数据来准备控制器6。
接下来,控制部11利用在步骤S201中获取的各第三学习数据集76中所含的第三环境信息761及状态信息762来作为输入数据,利用对应的控制命令763来作为教学数据,执行控制器6的学习处理。所述学习处理可与所述步骤S102及S104同样。即,第一步骤中,控制部11关于各第三学习数据集76而将第三环境信息761及状态信息762输入至输入层61,从输入侧起依序进行各层61~63中所含的各神经元的点火判定。由此,控制部11从输出层63获取与从第三环境信息761及状态信息762导出控制命令的结果对应的输出值。第二步骤中,控制部11算出所获取的输出值与控制命令763的误差。第三步骤中,控制部11通过误差反向传播法,使用所算出的输出值的误差,来算出控制器6中的各神经元间的结合的权重及各神经元的阈值各自的误差。第四步骤中,控制部11基于所算出的各误差,来进行控制器6中的各神经元间的结合的权重及各神经元的阈值各自的值的更新。
控制部11通过反复进行所述第一步骤~第四步骤,从而调节控制器6的参数的值,以使其在关于各第三学习数据集76而输入第三环境信息761及状态信息762时,输出与对应的控制命令763一致的输出值。换言之,控制部11反复进行所述第一步骤~第四步骤的、控制器6的参数的值的调节,直至关于各第三学习数据集76而从输出层63获得的输出值与控制命令763的误差之和成为阈值以下为止。阈值可根据实施方式来适当设定。由此,控制部11可构建控制器6,所述控制器6被训练成,当关于各第三学习数据集76而输入第三环境信息761及状态信息762时,输出与对应的控制命令763一致的输出值。所述控制器6的机器学习完成时,控制部11将处理推进至下个步骤S203。
(步骤S203)
步骤S203中,控制部11作为保存处理部116而运行,将与机器学习完毕的控制器6相关的信息作为第二学习结果数据128而保存到存储部12中。本实施方式中,控制部11生成表示通过步骤S202的机器学习而构建的控制器6的结构及参数的信息来作为第二学习结果数据128。并且,控制部11将所生成的第二学习结果数据128保存到存储部12中。由此,控制部11结束本实施方式的控制器6的机器学习(第二模式)的一连串处理。
另外,第二学习结果数据128的保存目标与所述第一学习结果数据125同样,也可不限于存储部12。而且,第二学习结果数据128与所述第一学习结果数据125同样,可在任意时机被装入控制装置2。进而,控制部11也可定期地重复所述步骤S201~S203的处理,从而定期地更新第二学习结果数据128。在所述重复时,可适当执行第三学习数据集76的变更、修正、追加、删除等。并且,控制部11也可每当学习处理的执行时将经更新的第二学习结果数据128转发至控制装置2,由此来定期地更新由控制装置2所保持的第二学习结果数据128。
[控制装置]
接下来,使用图9来说明控制装置2的动作例。图9是表示本实施方式的控制装置2的处理流程的一例的流程图。但是,以下说明的处理流程不过是一例,各处理可尽可能地变更。而且,关于以下说明的处理流程,可根据实施方式来适当地进行步骤的省略、替换及追加。
(步骤S301)
步骤S301中,控制部21作为数据获取部211而运行,获取由对工业机器人R执行任务的环境进行监测的传感器所获得的传感器数据。本实施方式中,控制部21经由外部接口24而获取通过由摄像机CA拍摄工业机器人R的环境所获得的图像数据80来作为传感器数据。图像数据80既可为动态图像数据,也可为静态图像数据。
而且,控制部21获取与执行任务时的工业机器人R的状态相关的状态信息83。例如,控制部21也可经由外部接口24来向工业机器人R询问当前状态,由此来获取状态信息83。状态信息83的种类及格式可与所述状态信息762同样。当获取图像数据80及状态信息83时,控制部21将处理推进至下个步骤S302。
但是,获取图像数据80及状态信息83的途径也可不限定于此种示例,可根据实施方式来适当选择。例如,摄像机CA及工业机器人R可连接于与控制装置2不同的其他计算机。此时,控制装置2也可受理来自其他计算机的图像数据80及状态信息83的发送,由此来获取图像数据80及状态信息83。
(步骤S302)
步骤S302中,控制部21作为信息提取部212而运行,利用机器学习完毕的提取器5,从图像数据80中提取与执行任务的环境相关的环境信息81。本实施方式中,控制部21参照第一学习结果数据125来进行机器学习完毕的提取器5的设定。并且,控制部21将图像数据80输入至第二部分52,从输入侧起依序进行各层(521~523、531~533)中所含的各神经元的点火判定。由此,控制部21从第三部分53获取与从图像数据80提取环境信息81的结果对应的输出值。当获取环境信息81时,控制部21将处理推进至下个步骤S303。
(步骤S303)
步骤S303中,控制部21作为命令决定部213而运行,利用机器学习完毕的控制器6来决定控制命令85,所述控制命令85用于使工业机器人R在由环境信息81及状态信息83所示的条件下执行任务。本实施方式中,控制部21参照第二学习结果数据128来进行机器学习完毕的控制器6的设定。并且,控制部21将环境信息81及状态信息83输入至输入层61,从输入侧起依序进行各层61~63中所含的各神经元的点火判定。由此,控制部21从输出层63获取与从环境信息81及状态信息83导出控制命令85的结果对应的输出值。通过获得所述输出值,控制部21决定控制命令85。当决定控制命令85时,控制部21将处理推进至下个步骤S304。
(步骤S304)
步骤S304中,控制部21作为动作控制部214而运行,基于所决定的控制命令85来控制工业机器人R的动作。本实施方式中,控制部21经由外部接口24来将与控制命令85对应的控制信号发送至工业机器人R,由此,使工业机器人R执行由控制命令85所规定的动作。由此,当控制工业机器人R的动作时,控制部21结束本动作例的处理。随后,控制部21也可从步骤S301开始重复一连串处理,由此来持续控制工业机器人R的动作。
[特征]
如上所述,本实施方式中,用于控制工业机器人R的动作的控制模块被分割为提取器5及控制器6这两个构成元件。本实施方式的学习装置1通过步骤S101~S104的一连串处理,利用模拟数据701及实际数据731这两者来构建提取器5,以从两数据(701、731)中提取共同的特征(环境信息)。由此,在吸收了模拟数据701与实际数据731之间的背离后,能够使步骤S102的利用模拟数据701的第一训练步骤的成果反映到步骤S104的利用实际数据731的第二训练步骤中。因此,只要机器学习中所利用的模拟数据701(第一学习数据集70)的件数足够,则即便机器学习中所利用的实际数据731(第二学习数据集73)的件数少,也能够构建可从在实际环境下获得的传感器数据中高精度地提取环境信息的、机器学习完毕的提取器5。
除此以外,从传感器数据提取的特征(环境信息)可通过模拟而与实际环境同样地获得。因此,步骤S201及S202中,即便不使用工业机器人R的实机而使用模拟器,也能够通过利用所获得的第三学习数据集76的机器学习,来构建可在实际环境下运用的机器学习完毕的控制器6。因此,根据本实施方式,通过将控制模块分离为提取器5及控制器6这两个构成元件,从而能够对学习数据的至少一部分(优选的是大部分)采用模拟数据701,因此能够降低对机器学习中所利用的学习数据进行收集所耗费的成本。进而,能够由通过所述机器学习而构建的提取器5及控制器6,来构成可在实际环境下运用的控制模块。因而,根据本实施方式,既能降低对用于使控制模块学会控制工业机器人R的能力的机器学习中所利用的学习数据进行收集的成本,又能通过所述机器学习而构建可在实际环境下运用的控制模块。而且,本实施方式的控制装置2通过利用像这样构建的控制模块来执行步骤S301~S304的处理,从而能够在实际环境下适当地控制工业机器人R的动作。
另外,本实施方式中,在步骤S101中,也可获取一边随机变更模拟的条件一边生成的模拟数据701。由此,步骤S102中,通过实施利用包含所述模拟数据701的各第一学习数据集70的机器学习,能够构建对于环境的变更稳定(robust)的提取器5。而且,本实施方式的学习装置1在所述步骤S104中,将第三部分53的参数的值保持固定,而调节第二部分52的参数的值。由此,既能利用输入侧的结构(第一部分51及第二部分52)来吸收模拟数据701与实际数据731的差值,又能降低在步骤S104中要更新的参数的总数,因此能够抑制学习处理所耗费的计算量。
而且,根据本实施方式,与通过一个学习模型来构建控制模块的情况相比,提取器5及控制器6的结构简易。因此,能够抑制步骤S102、S104及S202的学习处理与步骤S302及S303的命令决定处理的计算成本。
进而,本实施方式中,能够独立地实施提取器5的学习处理(步骤S102、S104)及控制器6的学习处理(步骤S202)。因此,能够仅对提取器5进行调换或再学习,由此,能够适应利用工业机器人R的环境的变更。而且,能够仅对控制器6进行调换或再学习,由此,能够适应工业机器人R的变更。因此,根据本实施方式,无须调换整个控制模块,通过调换提取器5及控制器6中的任一个,便能够使控制装置2适应实际环境的变更。因而,能够降低使控制装置2适应实际环境的变更的成本。
§4变形例
以上,详细说明了本发明的实施方式,但直至上文为止的说明在所有方面不过是本发明的例示。当然能够不脱离本发明的范围而进行各种改良或变形。例如,可进行如下所述的变更。另外,以下,关于与所述实施方式同样的构成元件,使用同样的符号,关于与所述实施方式同样的点,适当省略说明。以下的变形例可适当组合。
<4.1>
所述实施方式中,对于提取器5利用卷积神经网络,对于控制器6使用多层结构的全结合神经网络。但是,分别构成提取器5及控制器6的神经网络的结构及种类也可不限定于此种示例,可根据实施方式来适当选择。例如,对于提取器5及控制器6,也可分别使用循环神经网络。
而且,分别构成提取器5及控制器6的学习模型也可不限于神经网络,可根据实施方式来适当选择。对于提取器5及控制器6各自的学习模型,例如也可使用支持向量机等神经网络以外的学习模型。而且,所述实施方式中,各学习结果数据(125、128)包含表示学习完毕的神经网络的结构的信息。但是,各学习结果数据(125、128)的结构也可不限定于此种示例,只要能够利用于学习完毕的提取器5及控制器6各自的设定,则可根据实施方式来适当决定。例如,在提取器5及控制器6各自中的神经网络的结构在各装置中共同化的情况下,各学习结果数据(125、128)也可不包含表示学习完毕的神经网络的结构的信息。
<4.2>
关于所述实施方式的各信息处理(图7~图9),可根据实施方式来适当地进行步骤的省略、替换及追加。例如,只要步骤S101在步骤S102之前执行且步骤S103在步骤S104之前执行,则步骤S101~S104的处理顺序可适当变更。所述步骤S104中,也可不固定第三部分53的参数的值,而是与步骤S102同样地,调节第二部分52及第三部分53的参数的值。所述步骤S301中的获取状态信息83的处理只要在执行步骤S303的处理之前完成即可。而且,例如,第二训练步骤(步骤S104)也可在第一训练步骤(步骤S102)之前执行。此时,控制部11通过执行第二训练步骤(步骤S104),从而调节第二部分52的参数的值。所述第二训练步骤中,第三部分53的参数的值既可与所述实施方式同样地保持固定,也可与第二部分52一同进行调节。在执行了第二训练步骤后,控制部11将第二部分52的各参数的经调节的值复制到第一部分51的对应的参数中。继而,控制部11通过执行第一训练步骤(步骤S102),从而调节第一部分51的参数的值。所述第一训练步骤中,第三部分53的参数的值既可与所述实施方式同样地跟第一部分51一同进行调节,也可保持固定。在执行了第一训练步骤后,控制部11将第一部分51的各参数的经调节的值复制到第二部分52的对应的参数中。由此,能够使利用模拟数据701的机器学习的成果反映到利用实际数据731的机器学习中。
<4.3>
所述实施方式中,设想提取器5的输出直接对应于环境信息,控制器6的输出直接对应于控制命令的情况。但是,提取器5及控制器6的输出格式也可不限定于此种示例。所述实施方式中,可通过对提取器5的输出值执行某些信息处理而导出环境信息。同样,也可通过对控制器6的输出值执行某些信息处理而导出控制命令。
而且,所述实施方式中,各环境信息(702、732、761)对应于神经网络的最终层(卷积层533)的输出。但是,各环境信息(702、732、761)的格式也可不限定于此种示例。所述实施方式的学习装置1在所述步骤S104中,将第三部分53的参数的值保持固定,而调节第二部分52的参数的值。由此,既能利用输入侧的结构(第一部分51及第二部分52)来吸收模拟数据701与实际数据731的差值,又能以第一部分51及第二部分52的输出被映射到共同的特征空间中的方式来构建神经网络。因此,在所述神经网络中,也可利用从构建共同的特征空间的中间层输出的特征量来作为各环境信息(702、732、761)。例如,各环境信息(702、732、761)中的至少第三环境信息761也可利用从神经网络的中间层输出的特征量来表达。
图10及图11表示利用从神经网络的中间层输出的特征量来表达环境信息的变形例的一例。图10示意性地例示在本变形例的学习装置1中导出第三环境信息761A的过程的一例。图11示意性地例示在本变形例的控制装置2中导出环境信息81A的过程的一例。图10及图11的变形例除了第三环境信息761A及环境信息81A对应于第三部分53的全结合层531的输出以外,与所述实施方式同样。
如图10所示,本变形例的学习装置1在所述步骤S201中,获取多个第三学习数据集76A,所述多个第三学习数据集76A分别包含第三环境信息761A及状态信息762与控制命令763的组合。将模拟数据78输入至第一部分51,从输入侧起依序进行各层(511~513、531)中所含的各神经元的点火判定。由此,获取从全结合层531输出的输出值来作为第三环境信息761A。在所述步骤S202中,控制部11利用像这样获取的多个第三学习数据集76A来实施控制器6A的机器学习。控制器6A的结构与所述实施方式的控制器6同样。在所述步骤S203中,控制部11将表示机器学习完毕的控制器6A的结构及参数的信息作为第二学习结果数据128A而保存到存储部12中。
另一方面,如图11所示,本变形例的控制装置2利用像这样构建的机器学习完毕的控制器6A。具体而言,在所述步骤S302中,控制部21将图像数据80输入至第二部分52,从输入侧起依序进行各层(521~523、531)中所含的各神经元的点火判定。由此,控制部21获取从全结合层531输出的输出值来作为环境信息81A。在所述步骤S303中,控制部21参照第二学习结果数据128A来进行机器学习完毕的控制器6A的设定。并且,控制部21将环境信息81A及状态信息83输入至输入层61,从输入侧起依序进行各层61~63中所含的各神经元的点火判定。由此,控制部21从输出层63获取与从环境信息81A及状态信息83导出控制命令85的结果对应的输出值。由此,本变形例中,能够利用以从神经网络的中间层输出的特征量所表达的环境信息,来与所述实施方式同样地运行。
<4.4>
所述实施方式中,作为对工业机器人R的环境进行监测的传感器,利用了摄像机CA。但是,对工业机器人R的环境进行监测的传感器也可不限定于此种示例。传感器例如可包含摄像机、压力传感器、测力传感器及它们的组合。模拟数据701及实际数据731可根据所利用的传感器来适当获取。
<4.5>
所述实施方式中,作为控制对象的机器人装置,例示了工业机器人R。但是,作为控制对象的机器人装置只要是具有构成为可自动驱动的至少一个驱动部的装置,则其种类也可不限定于此种示例,可根据实施方式来适当选择。对于机器人装置,除了所述工业机器人R以外,例如可采用自主型机器人、构成为能够执行自动驾驶动作的移动体(例如无人驾驶飞机等飞行器、汽车等车辆)等。传感器只要是可对机器人装置执行任务的环境进行监控(或感测)的装置,则其种类也可不受特别限定,可根据实施方式来适当选择。对于传感器,例如可采用摄像机、激光雷达传感器、温度传感器、压力传感器、测力传感器等。传感器数据(模拟数据、实际数据)的种类可根据传感器的种类来适当选择。传感器数据例如可为图像(例如RGB图像、深度图像等)数据、激光雷达传感器得出的测定数据、温度数据、压力数据等。
图12表示了下述示例,即,作为适用本发明的其他场景的一例,采用了自主型机器人RB来作为机器人装置。自主型机器人RB构成为能够自主运行。自主型机器人RB例如可构成为进行烹饪。本变形例的学习装置1B是一种计算机,其构成为,通过机器学习来构建用于对自主型机器人RB的动作进行控制的提取器及控制器。本变形例的控制装置2B是一种计算机,其构成为,利用通过学习装置1B而构建的提取器及控制器,来控制自主型机器人RB的动作。除了所处理的传感器及各信息的种类有可能不同以外,本变形例的学习装置1B可与所述实施方式的学习装置1同样地构成,本变形例的控制装置2B可与所述实施方式的控制装置2同样地构成。
对自主型机器人RB的环境进行监测的传感器例如可包含摄像机、温度传感器、麦克风及它们的组合。各环境信息可包含分割信息、及与跟任务的执行关联的对象物的属性相关的信息中的至少任一个。在任务为烹饪的情况下,跟任务的执行关联的对象物例如为食材、烹饪器具等。对象物不仅可为单纯的物体,也可包含人物。状态信息例如可包含自主型机器人RB的驱动部的位置、方向、角度、加速度等。控制命令可规定自主型机器人RB的驱动量、输出声音及画面显示中的至少任一个。根据本变形例,能够构建用于对自主型机器人RB的动作进行控制的控制模块。另外,在进行声音输出及画面显示的情况下,自主型机器人RB包括对应的输出装置(例如扬声器、显示器)。
图13表示了下述示例,即,作为适用本发明的其他场景的一例,采用了构成为能够执行自动驾驶动作的车辆RC来作为机器人装置。车辆RC为移动体的一例。车辆RC包括加速器、制动器、方向盘、车灯、喇叭等一般的车辆结构。本变形例的学习装置1C是一种计算机,其构成为,通过机器学习来构建用于对车辆RC的动作进行控制的提取器及控制器。本变形例的控制装置2C是一种计算机,其构成为,利用通过学习装置1C而构建的提取器及控制器来控制车辆RC的动作。除了所处理的传感器及各信息的种类有可能不同以外,本变形例的学习装置1C可与所述实施方式的学习装置1同样地构成,本变形例的控制装置2C可与所述实施方式的控制装置2同样地构成。
对车辆RC的环境进行监测的传感器例如可包含摄像机、LIDAR(激光雷达)传感器及它们的组合。各环境信息例如可包含与移动体所行进的道路相关的信息、及与位于移动体的行进方向上的对象物相关的信息中的至少任一个。本变形例中,移动体所行进的道路是车辆RC可行驶的道路。而且,位于移动体的行进方向上的对象物例如为信号机、障碍物(人、物)等。状态信息例如可包含与移动体的移动状态相关的信息等。本变形例中,状态信息例如可包含车辆RC的加速器的当前量、制动器的当前量、方向盘的当前的转向角、车灯的点亮的有无、喇叭的使用的有无等。控制命令例如可规定车辆RC的加速器量、制动器量、方向盘的转向角、车灯的点亮及喇叭的使用中的至少任一个。根据本变形例,能够构建用于对车辆RC的动作进行控制的控制模块。
符号的说明
100:控制系统
1:学习装置
11:控制部
12:存储部
13:通信接口
14:输入装置
15:输出装置
16:驱动器
111:第一数据获取部
112:第二数据获取部
113:第三数据获取部
114:第一学习处理部
115:第二学习处理部
116:保存处理部
121:学习程序
125:第一学习结果数据
128:第二学习结果数据
2:控制装置
21:控制部
22:存储部
23:通信接口
24:外部接口
25:输入装置
26:输出装置
27:驱动器
211:数据获取部
212:信息提取部
213:命令决定部
214:动作控制部
221:控制程序
5:提取器
51:第一部分
511:卷积层
512:池化层
513:全结合层
52:第二部分
521:卷积层
522:池化层
523:全结合层
53:第三部分
531:全结合层
532:上采样层
533:卷积层
6:控制器
61:输入层
62:中间(隐藏)层
63:输出层
70:第一学习数据集
701:模拟数据(训练数据)
702:第一环境信息(正解数据)
73:第二学习数据集
731:实际数据(训练数据)
732:第二环境信息(正解数据)
76:第三学习数据集
761:第三环境信息(训练数据)
762:状态信息(训练数据)
763:控制命令(正解数据)
80:图像数据(传感器数据)
81:环境信息
83:状态信息
85:控制命令
91、92:存储介质
CA:摄像机
R:工业机器人(机器人装置)
Claims (11)
1.一种学习装置,包括:
第一数据获取部,获取多个第一学习数据集,所述多个第一学习数据集分别包含模拟数据及第一环境信息的组合,所述模拟数据是通过模拟对机器人装置执行任务的环境进行监测的传感器而生成,所述第一环境信息与执行由所述模拟数据所表示的所述任务的环境相关;
第二数据获取部,获取多个第二学习数据集,所述多个第二学习数据集分别包含实际数据及第二环境信息的组合,所述实际数据是从所述传感器获得,所述第二环境信息与执行由所述实际数据所表示的所述任务的环境相关;
第三数据获取部,获取多个第三学习数据集,所述多个第三学习数据集分别包含第三环境信息及状态信息与控制命令的组合,所述第三环境信息与执行所述任务的环境相关,所述状态信息与执行所述任务时的所述机器人装置的状态相关,所述控制命令用于使所述机器人装置在由所述第三环境信息及所述状态信息所示的条件下执行所述任务;
第一学习处理部,利用所述第一学习数据集及所述第二学习数据集来实施提取器的机器学习;以及
第二学习处理部,利用所述第三学习数据集来实施控制器的机器学习,
实施所述提取器的机器学习的步骤包含:
第一训练步骤,训练所述提取器,以使其关于所述各第一学习数据集而从所述模拟数据中提取与对应的所述第一环境信息一致的环境信息;以及
第二训练步骤,在执行了所述第一训练步骤后,训练所述提取器,以使其关于所述各第二学习数据集而从所述实际数据中提取与对应的所述第二环境信息一致的环境信息,
实施所述控制器的机器学习的步骤包含训练步骤,所述训练步骤是:训练所述控制器,以使其在输入有所述第三环境信息及所述状态信息时,输出与对应的所述控制命令一致的控制命令。
2.根据权利要求1所述的学习装置,其中
所述各第一学习数据集的所述模拟数据是一边随机变更模拟所述传感器的条件一边生成。
3.根据权利要求1或2所述的学习装置,其中
所述提取器包含神经网络,
所述神经网络被分为第一部分、第二部分及第三部分,
所述第一部分及所述第二部分并列配置在所述神经网络的输入侧,具有相同的结构,由此,具有共同的参数,
所述第一部分构成为,受理所述模拟数据的输入,
所述第二部分构成为,受理所述实际数据的输入,
所述第三部分配置在所述神经网络的输出侧,且构成为,受理所述第一部分及所述第二部分各自的输出,
在所述第一训练步骤中,所述第一学习处理部调整所述第一部分及所述第三部分各自的参数的值,以使得在关于所述各第一学习数据集而将所述模拟数据输入至所述第一部分时,从所述第三部分输出与对应的所述第一环境信息一致的输出值,
在执行了所述第一训练步骤后且执行所述第二训练步骤之前,所述第一学习处理部将所述第一部分的参数的经调整的值复制到所述第二部分的参数中。
4.根据权利要求3所述的学习装置,其中
在所述第二训练步骤中,所述第一学习处理部将所述第三部分的参数的值保持固定,而调整所述第二部分的参数的值,以使得在关于所述各第二学习数据集而将所述实际数据输入至所述第二部分时,从所述第三部分输出与对应的所述第二环境信息一致的输出值。
5.根据权利要求1至4中任一项所述的学习装置,其中
所述第三环境信息是通过下述方式而获得,即,利用所述机器学习已完成后的所述提取器,从通过模拟所述传感器而生成的其他模拟数据中提取。
6.根据权利要求1至5中任一项所述的学习装置,其中
所述机器人装置是生产线上的工业机器人,
所述传感器包含摄像机、压力传感器、测力传感器及它们的组合,
所述各环境信息包含分割信息、与成为所述任务的对象的工件的属性相关的信息、与执行所述任务的位置相关的信息、表示障碍物的有无的信息、及与障碍物的属性相关的信息中的至少任一个,
所述控制命令规定所述工业机器人的驱动量。
7.根据权利要求1至5中任一项所述的学习装置,其中
所述机器人装置是构成为能够自主运行的自主型机器人,
所述传感器包含摄像机、温度传感器、麦克风及它们的组合,
所述各环境信息包含分割信息、及与跟所述任务的执行关联的对象物的属性相关的信息中的至少任一个,
所述控制命令规定所述自主型机器人的驱动量、输出声音及画面显示中的至少任一个。
8.根据权利要求1至5中任一项所述的学习装置,其中
所述机器人装置是构成为能够执行自动驾驶动作的移动体,
所述传感器包含摄像机、激光雷达传感器及它们的组合,
所述各环境信息包含与所述移动体所行进的道路相关的信息、及与位于所述移动体的行进方向上的对象物相关的信息中的至少任一个,
所述控制命令规定所述车辆的加速器量、制动器量、方向盘的转向角、车灯的点亮及喇叭的使用中的至少任一个。
9.一种控制装置,控制机器人装置的动作,所述控制装置包括:
数据获取部,获取传感器数据与状态信息,所述传感器数据是由对所述机器人装置执行任务的环境进行监测的传感器所获得,所述状态信息与执行所述任务时的所述机器人装置的状态相关;
信息提取部,利用通过权利要求1至8中任一项所述的学习装置而构建的机器学习完毕的所述提取器,从所述传感器数据中提取与执行所述任务的环境相关的环境信息;
命令决定部,利用通过所述学习装置而构建的机器学习完毕的所述控制器,来决定控制命令,所述控制命令用于使所述机器人装置在由所述环境信息及所述状态信息所示的条件下执行所述任务;以及
动作控制部,基于所决定的所述控制命令来控制所述机器人装置的动作。
10.一种学习方法,由计算机执行下述步骤:
获取多个第一学习数据集,所述多个第一学习数据集分别包含模拟数据及第一环境信息的组合,所述模拟数据是通过模拟对机器人装置执行任务的环境进行监测的传感器而生成,所述第一环境信息与执行由所述模拟数据所表示的所述任务的环境相关;
获取多个第二学习数据集,所述多个第二学习数据集分别包含实际数据及第二环境信息的组合,所述实际数据是从所述传感器获得,所述第二环境信息与执行由所述实际数据所表示的所述任务的环境相关;
获取多个第三学习数据集,所述多个第三学习数据集分别包含第三环境信息及状态信息与控制命令的组合,所述第三环境信息与执行所述任务的环境相关,所述状态信息与执行所述任务时的所述机器人装置的状态相关,所述控制命令用于使所述机器人装置在由所述第三环境信息及所述状态信息所示的条件下执行所述任务;
利用所述第一学习数据集及所述第二学习数据集来实施提取器的机器学习;以及
利用所述第三学习数据集来实施控制器的机器学习,
实施所述提取器的机器学习的步骤包含:
第一训练步骤,训练所述提取器,以使其关于所述各第一学习数据集而从所述模拟数据中提取与对应的所述第一环境信息一致的环境信息;以及
第二训练步骤,在执行了所述第一训练步骤后,训练所述提取器,以使其关于所述各第二学习数据集而从所述实际数据中提取与对应的所述第二环境信息一致的环境信息,
实施所述控制器的机器学习的步骤包含训练步骤,所述训练步骤是:训练所述控制器,以使其在输入有所述第三环境信息及所述状态信息时,输出与对应的所述控制命令一致的控制命令。
11.一种学习程序,用于使计算机执行下述步骤:
获取多个第一学习数据集,所述多个第一学习数据集分别包含模拟数据及第一环境信息的组合,所述模拟数据是通过模拟对机器人装置执行任务的环境进行监测的传感器而生成,所述第一环境信息与执行由所述模拟数据所表示的所述任务的环境相关;
获取多个第二学习数据集,所述多个第二学习数据集分别包含实际数据及第二环境信息的组合,所述实际数据是从所述传感器获得,所述第二环境信息与执行由所述实际数据所表示的所述任务的环境相关;
获取多个第三学习数据集,所述多个第三学习数据集分别包含第三环境信息及状态信息与控制命令的组合,所述第三环境信息与执行所述任务的环境相关,所述状态信息与执行所述任务时的所述机器人装置的状态相关,所述控制命令用于使所述机器人装置在由所述第三环境信息及所述状态信息所示的条件下执行所述任务;
利用所述第一学习数据集及所述第二学习数据集来实施提取器的机器学习;以及
利用所述第三学习数据集来实施控制器的机器学习,其中
实施所述提取器的机器学习的步骤包含:
第一训练步骤,训练所述提取器,以使其关于所述各第一学习数据集而从所述模拟数据中提取与对应的所述第一环境信息一致的环境信息;以及
第二训练步骤,在执行了所述第一训练步骤后,训练所述提取器,以使其关于所述各第二学习数据集而从所述实际数据中提取与对应的所述第二环境信息一致的环境信息,
实施所述控制器的机器学习的步骤包含训练步骤,所述训练步骤是:训练所述控制器,以使其在输入有所述第三环境信息及所述状态信息时,输出与对应的所述控制命令一致的控制命令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018186800A JP7110884B2 (ja) | 2018-10-01 | 2018-10-01 | 学習装置、制御装置、学習方法、及び学習プログラム |
JP2018-186800 | 2018-10-01 | ||
PCT/JP2019/037273 WO2020071174A1 (ja) | 2018-10-01 | 2019-09-24 | 学習装置、制御装置、学習方法、及び学習プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112534367A true CN112534367A (zh) | 2021-03-19 |
CN112534367B CN112534367B (zh) | 2023-09-19 |
Family
ID=70055307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980051955.0A Active CN112534367B (zh) | 2018-10-01 | 2019-09-24 | 学习装置、控制装置、学习方法以及计算机可读存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11971709B2 (zh) |
EP (1) | EP3862830A4 (zh) |
JP (1) | JP7110884B2 (zh) |
CN (1) | CN112534367B (zh) |
WO (1) | WO2020071174A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10552736B1 (en) * | 2019-03-06 | 2020-02-04 | Capital One Services, Llc | Counter data generation for data profiling using only true samples |
US11813748B2 (en) | 2020-10-13 | 2023-11-14 | Google Llc | Simulating multiple robots in virtual environments |
US12045718B2 (en) | 2020-12-16 | 2024-07-23 | Micron Technology, Inc. | Evolutionary imitation learning |
TW202407555A (zh) * | 2022-08-02 | 2024-02-16 | 日商索尼半導體解決方案公司 | 資訊處理裝置、資訊處理方法、及記錄媒體 |
KR102594810B1 (ko) * | 2022-10-04 | 2023-10-30 | 세이지리서치 주식회사 | 비전 검사를 위한 이미지 생성을 위한 도메인 변환기의 학습 방법 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004322224A (ja) * | 2003-04-21 | 2004-11-18 | Yaskawa Electric Corp | ロボット制御装置 |
CN106080590A (zh) * | 2016-06-12 | 2016-11-09 | 百度在线网络技术(北京)有限公司 | 车辆控制方法和装置以及决策模型的获取方法和装置 |
CN106409120A (zh) * | 2015-07-31 | 2017-02-15 | 发那科株式会社 | 机械学习方法及机械学习装置、以及故障预知装置及系统 |
WO2017163538A1 (ja) * | 2016-03-25 | 2017-09-28 | ソニー株式会社 | 情報処理装置 |
CN107263464A (zh) * | 2016-04-04 | 2017-10-20 | 发那科株式会社 | 机器学习装置、机械系统、制造系统以及机器学习方法 |
US9811074B1 (en) * | 2016-06-21 | 2017-11-07 | TruPhysics GmbH | Optimization of robot control programs in physics-based simulated environment |
CN107392125A (zh) * | 2017-07-11 | 2017-11-24 | 中国科学院上海高等研究院 | 智能模型的训练方法/系统、计算机可读存储介质及终端 |
CN107479368A (zh) * | 2017-06-30 | 2017-12-15 | 北京百度网讯科技有限公司 | 一种基于人工智能的训练无人机控制模型的方法及系统 |
CN107615310A (zh) * | 2016-03-28 | 2018-01-19 | 索尼公司 | 信息处理设备 |
US20180120819A1 (en) * | 2016-10-28 | 2018-05-03 | Fanuc Corporation | Machine learning device and machining time prediction device |
US20180157957A1 (en) * | 2015-07-23 | 2018-06-07 | Toyota Motor Europe | System and computer-based method for simulating a human-like control behaviour in an environmental context |
JP2018097810A (ja) * | 2016-12-16 | 2018-06-21 | ファナック株式会社 | ロボットおよびレーザスキャナの動作を学習する機械学習装置,ロボットシステムおよび機械学習方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890194B2 (en) * | 2005-12-13 | 2011-02-15 | Brooks Automation, Inc. | Robotics programming interface |
KR100856824B1 (ko) | 2007-07-23 | 2008-09-05 | 재단법인서울대학교산학협력재단 | 캐릭터 시뮬레이션 방법 및 시스템 |
JP5622310B2 (ja) | 2010-08-19 | 2014-11-12 | 独立行政法人情報通信研究機構 | 相互機械学習装置、相互機械学習方法、及びプログラム |
JP6550605B2 (ja) | 2014-12-02 | 2019-07-31 | Soinn株式会社 | 動作の転移装置、動作の転移方法及びプログラム |
KR102459677B1 (ko) * | 2015-11-05 | 2022-10-28 | 삼성전자주식회사 | 알고리즘 학습 방법 및 장치 |
JP2018107315A (ja) | 2016-12-27 | 2018-07-05 | ファナック株式会社 | プリント板組立作業のための機械学習装置、制御装置、産業機械、組立システム及び機械学習方法 |
JP6780537B2 (ja) | 2017-02-22 | 2020-11-04 | オムロン株式会社 | 光学センサ、学習装置、及び画像処理システム |
-
2018
- 2018-10-01 JP JP2018186800A patent/JP7110884B2/ja active Active
-
2019
- 2019-09-24 WO PCT/JP2019/037273 patent/WO2020071174A1/ja unknown
- 2019-09-24 CN CN201980051955.0A patent/CN112534367B/zh active Active
- 2019-09-24 US US17/269,534 patent/US11971709B2/en active Active
- 2019-09-24 EP EP19869874.8A patent/EP3862830A4/en active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004322224A (ja) * | 2003-04-21 | 2004-11-18 | Yaskawa Electric Corp | ロボット制御装置 |
US20180157957A1 (en) * | 2015-07-23 | 2018-06-07 | Toyota Motor Europe | System and computer-based method for simulating a human-like control behaviour in an environmental context |
CN106409120A (zh) * | 2015-07-31 | 2017-02-15 | 发那科株式会社 | 机械学习方法及机械学习装置、以及故障预知装置及系统 |
WO2017163538A1 (ja) * | 2016-03-25 | 2017-09-28 | ソニー株式会社 | 情報処理装置 |
CN107615310A (zh) * | 2016-03-28 | 2018-01-19 | 索尼公司 | 信息处理设备 |
CN107263464A (zh) * | 2016-04-04 | 2017-10-20 | 发那科株式会社 | 机器学习装置、机械系统、制造系统以及机器学习方法 |
CN106080590A (zh) * | 2016-06-12 | 2016-11-09 | 百度在线网络技术(北京)有限公司 | 车辆控制方法和装置以及决策模型的获取方法和装置 |
US9811074B1 (en) * | 2016-06-21 | 2017-11-07 | TruPhysics GmbH | Optimization of robot control programs in physics-based simulated environment |
US20180120819A1 (en) * | 2016-10-28 | 2018-05-03 | Fanuc Corporation | Machine learning device and machining time prediction device |
JP2018097810A (ja) * | 2016-12-16 | 2018-06-21 | ファナック株式会社 | ロボットおよびレーザスキャナの動作を学習する機械学習装置,ロボットシステムおよび機械学習方法 |
CN107479368A (zh) * | 2017-06-30 | 2017-12-15 | 北京百度网讯科技有限公司 | 一种基于人工智能的训练无人机控制模型的方法及系统 |
CN107392125A (zh) * | 2017-07-11 | 2017-11-24 | 中国科学院上海高等研究院 | 智能模型的训练方法/系统、计算机可读存储介质及终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2020071174A1 (ja) | 2020-04-09 |
CN112534367B (zh) | 2023-09-19 |
JP7110884B2 (ja) | 2022-08-02 |
US20210181728A1 (en) | 2021-06-17 |
US11971709B2 (en) | 2024-04-30 |
JP2020057161A (ja) | 2020-04-09 |
EP3862830A4 (en) | 2022-07-06 |
EP3862830A1 (en) | 2021-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112534367B (zh) | 学习装置、控制装置、学习方法以及计算机可读存储介质 | |
CN111587408B (zh) | 机器人导航和对象跟踪 | |
KR102365465B1 (ko) | 로봇 행동들에 대한 보정들의 결정 및 이용 | |
US10981272B1 (en) | Robot grasp learning | |
JP6608890B2 (ja) | 機械学習装置、ロボットシステム及び機械学習方法 | |
CN110084307B (zh) | 一种基于深度强化学习的移动机器人视觉跟随方法 | |
KR102044665B1 (ko) | 로봇 시스템이 작업을 수행하기 위한 명령어를 생성하기 위한 방법 및 시스템 | |
CN112534471B (zh) | 图像生成装置及方法、机器人训练系统以及存储介质 | |
US11823048B1 (en) | Generating simulated training examples for training of machine learning model used for robot control | |
EP3624999A1 (en) | Machine learning methods and apparatus for robotic manipulation and that utilize multi-task domain adaptation | |
CN109397285B (zh) | 一种装配方法、装配装置及装配设备 | |
CN112512755B (zh) | 使用从2.5d视觉数据预测的域不变3d表示的机器人操纵 | |
CN111683799B (zh) | 动作控制装置、系统、方法、存储介质、控制及处理装置 | |
CN110756462B (zh) | 电源适配器测试方法、装置、系统、控制装置及存储介质 | |
JP6907206B2 (ja) | 運動計画の方法、運動計画のための装置及び非一時的コンピュータ可読記録媒体 | |
JP2018149669A (ja) | 学習装置及び学習方法 | |
JP2020104216A (ja) | ロボット制御装置、ロボットシステム及びロボット制御方法 | |
CN114556383A (zh) | 模型生成装置、推定装置、模型生成方法以及模型生成程序 | |
CN113557536A (zh) | 学习系统、数据生成装置、数据生成方法及数据生成程序 | |
Peng et al. | A pushing-grasping collaborative method based on deep Q-network algorithm in dual viewpoints | |
Pokhrel | Drone obstacle avoidance and navigation using artificial intelligence | |
WO2023083034A1 (zh) | 视触觉融合的机器人精密装配控制方法及系统 | |
Figueiredo et al. | Self-organizing mapping of robotic environments based on neural networks | |
KR20220115742A (ko) | 기계 학습 훈련을 위한 데이터 생성방법 및 시스템 | |
CN117876901A (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 |