CN116867620A - 机器人模型的学习装置、机器人模型的机器学习方法、机器人模型的机器学习程序、机器人控制装置、机器人控制方法、以及机器人控制程序 - Google Patents
机器人模型的学习装置、机器人模型的机器学习方法、机器人模型的机器学习程序、机器人控制装置、机器人控制方法、以及机器人控制程序 Download PDFInfo
- Publication number
- CN116867620A CN116867620A CN202280012144.1A CN202280012144A CN116867620A CN 116867620 A CN116867620 A CN 116867620A CN 202280012144 A CN202280012144 A CN 202280012144A CN 116867620 A CN116867620 A CN 116867620A
- Authority
- CN
- China
- Prior art keywords
- external force
- model
- robot
- predicted value
- reward
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims description 55
- 238000000034 method Methods 0.000 title claims description 52
- 230000009471 action Effects 0.000 claims abstract description 193
- 230000007704 transition Effects 0.000 claims abstract description 70
- 238000012937 correction Methods 0.000 claims description 98
- 238000004364 calculation method Methods 0.000 claims description 43
- 230000008859 change Effects 0.000 claims description 32
- 230000009467 reduction Effects 0.000 claims description 15
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 230000007423 decrease Effects 0.000 claims description 13
- 230000000750 progressive effect Effects 0.000 claims description 9
- 230000008602 contraction Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 32
- 238000012545 processing Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 8
- 238000003780 insertion Methods 0.000 description 8
- 230000037431 insertion Effects 0.000 description 8
- 230000008485 antagonism Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 239000000463 material Substances 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 4
- 239000012636 effector Substances 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/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/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- 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/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
机器人控制装置,获取机器人的位置姿态的实际值以及对机器人施加的外力的实际值,执行包括基于某一时段的位置姿态的实际值以及能够提供给机器人的行动指令,算出机器人的位置姿态的预测值的状态迁移模型以及算出对机器人施加的外力的预测值的外力模型的机器人模型,基于位置姿态的误差以及外力的预测值算出奖励,对于每个控制周期,生成行动指令的多个候补并提供给机器人模型,基于与行动指令的多个候补分别对应算出的奖励确定使奖励最大化的行动指令,更新外力模型,以使得外力模型基于确定的行动指令算出的外力的预测值和与该外力的预测值对应的外力的实际值之间的差异变小。
Description
技术领域
公开的技术涉及机器人模型的学习装置、机器人模型的机器学习方法、机器人模型的机器学习程序、机器人控制装置、机器人控制方法、以及机器人控制程序。
背景技术
为了自动获得机器人为了完成作业所需的控制规则,通过机器学习来进行学习机器人模型。
例如,在日本特开2020-055095号公报中,公开一种控制具备检测施加在机械手的力和力矩的功能的工业用机器人的控制装置,具备:控制部,基于控制指令控制所述工业用机器人、数据获取部,获取施加在所述工业用机器人的机械手的力以及力矩的至少一个作为获取数据、以及预处理部,所述预处理部基于所述获取数据,生成表示包括施加在所述机械手的力涉及的信息的力状态数据、以及所述机械手涉及的控制指令的调整行动的控制指令调整数据作为状态数据,基于所述状态数据,执行与所述机械手涉及的控制指令的调整行动相关的机器学习的处理的技术。
发明内容
发明所要解决的技术问题
但是,通过机器学习学习机器人模型时的参数的设定以及奖励函数的设计很难,因此有效学习是困难的。
公开的技术是鉴于上述的点而成的,以在通过机器学习学习机器人模型时,提供可以有效学习的机器人模型的学习装置、机器人模型的机器学习方法、机器人模型的机器学习程序、机器人控制装置、机器人控制方法、以及机器人控制程序为目的。
用于解决技术问题的方案
公开的第一方式是机器人模型的学习装置,具备:获取部,获取机器人的位置姿态的实际值以及对所述机器人施加的外力的实际值、机器人模型,所述机器人模型包括基于某一时段的所述位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型以及算出对所述机器人施加的外力的预测值的外力模型;模型执行部,执行所述机器人模型;奖励算出部,基于所述位置姿态的预测值与应达到的位置姿态的目标值之间的误差以及所述外力的预测值算出奖励;行动确定部,对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于所述奖励算出部对应于所述行动指令的多个候补分别算出的奖励确定使奖励最大化的行动指令;以及外力模型更新部,更新所述外力模型,以使得所述外力模型基于确定的所述行动指令算出的所述外力的预测值和与该外力的预测值对应的所述外力的实际值之间的差异变小。
根据上述第一方式,也可以构成为具备状态迁移模型更新部,所述状态迁移模型更新部更新所述状态迁移模型,以使得所述状态迁移模型基于确定的所述行动指令算出的所述位置姿态的预测值和与该位置姿态的预测值对应的所述位置姿态的实际值之间的误差变小。
根据上述第一方式,也可以为在所述外力为抑制所述误差的扩大的外力即修正外力的情况下,所述奖励算出部通过将所述修正外力的预测值作为所述奖励的减少因素的计算来算出所述奖励。
根据上述第一方式,也可以为在所述外力为抑制所述误差的缩小的外力即对抗外力的情况下,所述奖励算出部通过将所述对抗外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
根据上述第一方式,也可以为所述奖励算出部,在所述外力为抑制所述误差的扩大的修正外力的情况下,通过将所述修正外力的预测值作为所述奖励的减少因素的计算来算出所述奖励,在所述外力为抑制所述误差的缩小的外力即对抗外力的情况下,通过将所述对抗外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
根据上述第一方式,也可以为所述奖励算出部通过基于任务执行中的所述修正外力的预测值的所述奖励的减少量的变化幅度比基于所述误差的所述奖励的变化幅度小,且基于任务执行中的所述对抗外力的预测值的所述奖励的增加量的变化幅度比基于所述误差的所述奖励的变化幅度小的计算来算出所述奖励。
根据上述第一方式,也可以构成为所述外力模型包括:在所述外力为所述修正外力的情况下输出所述修正外力的预测值的修正外力模型、以及在所述外力为所述对抗外力的情况下输出所述对抗外力的预测值的对抗外力模型,所述外力模型更新部包括:修正外力模型更新部,更新所述修正外力模型,以使得在所述外力为所述修正外力的情况下,所述修正外力模型基于所述确定的行动指令算出的所述修正外力的预测值与所述外力的实际值的差异变小;以及对抗外力模型更新部,更新所述对抗外力模型,以使得在所述外力为所述对抗外力的情况下,所述对抗外力模型基于所述确定的行动指令算出的所述对抗外力的预测值与所述外力的实际值的差异变小。
根据上述第一方式,也可以为所述机器人模型包括具备所述修正外力模型以及所述对抗外力模型的整合外力模型,所述修正外力模型以及所述对抗外力模型为神经网络,所述对抗外力模型的一个或者多个中间层以及输出层中的至少一层通过渐进式神经网络的方法整合所述修正外力模型的对应的层的前段的层的输出,所述对抗外力模型输出外力的预测值以及该外力为修正外力还是对抗外力的识别信息,所述整合外力模型将所述对抗外力模型的输出作为自身的输出,所述奖励算出部,在所述识别信息表示为修正外力的情况下,通过将所述外力的预测值作为所述奖励的减少因素的计算来算出所述奖励,在所述识别信息表示为对抗外力的情况下,通过将所述外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
根据上述第一方式,也可以是还具备受理所述外力为所述修正外力还是所述对抗外力的指定的受理部,还具备学习控制部,所述学习控制部在所述指定为所述修正外力的情况下,使所述修正外力模型更新部的动作有效化,所述学习控制部在所述指定为所述对抗外力的情况下,使所述对抗外力模型更新部的动作有效化的构成。
根据上述第一方式,也可以构成为还具备学习控制部,所述学习控制部基于所述位置姿态的实际值以及所述外力的实际值判别所述外力为所述修正外力还是所述对抗外力,在所述判别的结果为所述修正外力的情况下,使所述修正外力模型更新部的动作有效化,在所述判别的结果为所述对抗外力的情况下,使所述对抗外力模型更新部的动作有效化。
公开的第二方式是机器人模型的机器学习方法,准备机器人模型,所述机器人模型包括基于某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型以及算出对所述机器人施加的外力的预测值的外力模型,对于每个控制周期,获取所述位置姿态的实际值以及对所述机器人施加的外力的实际值,对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于与所述行动指令的多个候补对应由所述状态迁移模型算出的多个所述位置姿态的预测值与应达到的位置姿态的目标值之间的多个误差以及与所述行动指令的多个候补对应由所述外力模型算出的多个所述外力的预测值,基于与所述行动指令的多个候补对应算出的多个奖励,确定使奖励最大化的行动指令,更新所述外力模型,以使得所述外力模型基于确定的所述行动指令算出的所述外力的预测值和与该外力的预测值对应的所述外力的实际值之间的差异变小。
根据上述第二方式,也可以为还更新所述状态迁移模型,以使得所述状态迁移模型基于确定的所述行动指令算出的所述位置姿态的预测值和与该位置姿态的预测值对应的所述位置姿态的实际值之间的误差变小。
根据上述第二方式,也可以为在所述外力为抑制所述误差的扩大的外力即修正外力的情况下,通过将所述修正外力的预测值作为所述奖励的减少因素的计算来算出所述奖励。
根据上述第二方式,也可以为在所述外力为抑制所述误差的缩小的外力即对抗外力的情况下,通过将所述对抗外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
根据上述第二方式,也可以为在所述外力为抑制所述误差的扩大的修正外力的情况下,通过将所述修正外力的预测值作为所述奖励的减少因素的计算来算出所述奖励,在所述外力为抑制所述误差的缩小的外力即对抗外力的情况下,通过将所述对抗外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
根据上述第二方式,也可以为所述外力模型包括:在所述外力为所述修正外力的情况下输出所述修正外力的预测值的修正外力模型、以及在所述外力为所述对抗外力的情况下输出所述对抗外力的预测值的对抗外力模型,更新所述修正外力模型,以使得在所述外力为所述修正外力的情况下,所述修正外力模型基于所述确定的行动指令算出的所述修正外力的预测值与所述外力的实际值的差异变小,更新所述对抗外力模型,以使得在所述外力为所述对抗外力的情况下,所述对抗外力模型基于所述确定的行动指令算出的所述对抗外力的预测值与所述外力的实际值的差异变小。
根据上述第二方式,也可以为在所述误差正在扩大的情况下,对所述机器人施加所述修正外力,在所述误差正在缩小的情况下,对所述机器人施加所述对抗外力。
公开的第三方式是机器人模型的机器学习程序,是用于进行机器学习包括基于某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型以及算出对所述机器人施加的外力的预测值的外力模型的机器人模型的机器学习程序,使计算机进行以下各处理:对于每个控制周期,获取所述位置姿态的实际值以及对所述机器人施加的外力的实际值,对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于与所述行动指令的多个候补对应由所述状态迁移模型算出的多个所述位置姿态的预测值与应达到的位置姿态的目标值之间的多个误差以及与所述行动指令的多个候补对应由所述外力模型算出的多个所述外力的预测值,基于与所述行动指令的多个候补对应算出的多个奖励,确定使奖励最大化的行动指令,更新所述外力模型,以使得所述外力模型基于确定的所述行动指令算出的所述外力的预测值和与该外力的预测值对应的所述外力的实际值之间的差异变小。
公开的第四方式是机器人控制装置,具备:模型执行部,所述模型执行部执行包括某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型以及算出对所述机器人施加的外力的预测值的外力模型的机器人模型;获取部,获取所述机器人的位置姿态的实际值以及对所述机器人施加的外力的实际值;奖励算出部,基于由所述机器人模型算出的位置姿态的预测值与应达到的位置姿态的目标值之间的误差以及由所述机器人模型算出的外力的预测值算出奖励;以及行动确定部,对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于所述奖励算出部对应于所述行动指令的多个候补分别算出的奖励确定使奖励最大化的行动指令。
公开的第五方式是机器人控制方法,准备机器人模型,所述机器人模型包括基于某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型以及算出对所述机器人施加的外力的预测值的外力模型,对于每个控制周期,获取所述位置姿态的实际值以及对所述机器人施加的外力的实际值,对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于与所述行动指令的多个候补对应由所述状态迁移模型算出的多个所述位置姿态的预测值与应达到的位置姿态的目标值之间的多个误差以及与所述行动指令的多个候补对应由所述外力模型算出的多个所述外力的预测值,基于与所述行动指令的多个候补对应算出的多个奖励,确定使奖励最大化的行动指令,基于确定的所述行动指令控制所述机器人。
公开的第六方式是机器人控制程序,是用于控制使用包括基于某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型以及算出对所述机器人施加的外力的预测值的外力模型的机器人模型的所述机器人的程序,使计算机进行以下各处理;对于每个控制周期,获取所述位置姿态的实际值以及对所述机器人施加的外力的实际值,对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于与所述行动指令的多个候补对应由所述状态迁移模型算出的多个所述位置姿态的预测值与应达到的位置姿态的目标值之间的多个误差以及与所述行动指令的多个候补对应由所述外力模型算出的多个所述外力的预测值,基于与所述行动指令的多个候补对应算出的多个奖励,确定使奖励最大化的行动指令,基于确定的所述行动指令控制所述机器人。
发明效果
根据公开的技术,在通过机器学习学习机器人模型时,可以有效学习。
附图说明
图1是第一实施方式涉及的机器人系统的构成图。
图2A是示出机器人10的概略构成的图。
图2B是扩大机器人的臂的前端侧的图。
图3是用于对修正外力以及对抗外力进行说明的图。
图4是示出机器人控制装置的硬件构成的框图。
图5是机器人模型的构成图。
图6是变形例涉及的机器人模型的构成图。
图7是变形例涉及的机器人模型的构成图。
图8是整合外力模型的构成图。
图9是第一实施方式涉及的学习处理的流程图。
图10是第二实施方式涉及的学习处理的流程图。
图11是第三实施方式涉及的机器人系统的构成图。
图12是第三实施方式涉及的学习处理的流程图。
图13A是示出关于位置误差的学习曲线的曲线图。
图13B是示出关于外力的学习曲线的曲线图。
图14A是表示不同摩擦下的任务的成功次数的图表。
图14B是表示不同销的质量的任务的成功次数的图表。
图15是表示不同销的材质的任务的成功次数的图表。
具体实施方式
以下,参照附图对公开的技术的实施方式的一例进行说明。需要说明的是,对各附图中相同或者等价的构成元件以及部分赋予相同的参照附图标记。此外,为了便于说明,有时夸大附图的尺寸比率,有时与实际的比率不同。
<第一实施方式>
图1示出本实施方式涉及的机器人系统1的构成。机器人系统1具有:机器人10、状态观测传感器20、触觉传感器30A、30B、机器人控制装置40、显示装置50、以及输入装置60。
(机器人)
图2A、图2B是示出机器人10的概略构成的图。本实施方式中的机器人10是六轴垂直多关节机器人,在臂11的前端11a经由柔软部13设置有夹具(手)12。机器人10通过夹具12把持零件(例如销)进行嵌入孔的嵌入作业。需要说明的是,机器人10在本实施方式中是现实的机器人,也可以是模拟中的虚拟的机器人。
如图2A所示,机器人10具有具备关节J1~J6的6自由度的臂11。各关节J1~J6通过未图示的电机将连杆彼此沿箭头C1~C6的方向可旋转地连接。此处,以垂直多关节机器人为例举出,但也可以是水平多关节机器人(标量机器人)。此外,以六轴机器人为例举出,但也可以是五轴、七轴等其他自由度的多关节机器人,也可以是并联连杆机器人。
夹具12具有一组夹持部12a,控制夹持部12a夹持零件。夹具12经由柔软部13与臂11的前端11a连接,随着臂11的移动而移动。在本实施方式中,柔软部13由配置为各弹簧的基部成为正三角形的各顶点的位置关系的三个弹簧13a~13c构成,但弹簧的数量可以是任意的。此外,柔软部13只要是对位置的变动产生复原力而得到柔软性的机构即可,也可以是其他的机构。例如,柔软部13也可以是弹簧、橡胶这样的弹性体、阻尼器、气压或者液压缸等。柔软部13优选由无源元件构成。通过柔软部13,臂11的前端11a和夹具12构成为在水平方向以及垂直方向能够相对移动5mm以上,优选1cm以上,更优选为2cm以上。
也可以设置切换夹具12相对于臂11柔软的状态和固定的状态的机构。
此外,此处例示了在臂11的前端11a与夹具12之间设置柔软部13的构成,但也可以设置在夹具12的中途(例如,指关节的场所或者手指的柱状部分的中途)、臂的中途(例如,关节J1~J6的任一场所或者臂的柱状部分的中途)。此外,柔软部13也可以设置在这些之中的多个部位。
机器人系统1如上所述,使用机器学习(例如基于模型的强化学习)获得用于进行具备柔软部13的机器人10的控制的机器人模型。由于机器人10具有柔软部13,因此即使所把持的零件与环境接触也是安全的,此外,即使控制周期慢也可以实现嵌入作业等。另一方面,由于通过柔软部13夹具12以及零件的位置不确定,因此得到解析的机器人模型是困难的。因此,在本实施方式中使用机器学习获得机器人模型。
(状态观测传感器)
状态观测传感器20观测夹具12的位置姿态作为机器人10的状态,将观测的位置姿态作为实际值输出。作为状态观测传感器20,例如,可以使用机器人10的关节的编码器、视觉传感器(相机)、运动捕捉等。在将运动捕捉用的标记安装于夹具12的情况下,可以确定夹具12的位置姿态,可以根据夹具12的位置姿态推定零件(作业对象物)的姿态。
此外,通过视觉传感器,也可以将夹具12自体、夹具12把持的零件的位置姿态检测为机器人10的状态。在夹具12与臂11之间为柔软部的情况下,可以通过检测夹具12相对于臂11的位移的位移传感器确定夹具12相对于臂11的位置姿态。
(触觉传感器)
虽然在图2中省略了图示,但如图3所示,在夹具12的夹具主体12b安装有触觉传感器30A、30B。
触觉传感器30A、30B作为一例设置在沿一组夹持部12a对置的方向的位置。触觉传感器30A、30B作为一例是检测三轴或者六轴的力的传感器,可以检测对自身施加的外力的大小和方向。用户通过抓住夹具主体12b使夹具12移动,对夹具12施加外力,使得手(手指)与触觉传感器30A、30B的两者接触。
作为外力,存在修正(advisory)的修正外力使得机器人10执行的任务(作业)成功和使得任务失败的对抗性(adversarial)的对抗外力。修正外力为抑制机器人模型预测的机器人10的位置姿态的预测值与机器人10应达到的位置姿态的目标值之间的误差的扩大的外力。此外,对抗外力为缩小机器人模型预测的机器人10的位置姿态的预测值与机器人10应达到的位置姿态的目标值之间的误差的扩大的外力。
具体而言,在机器人10执行的任务为如图3所示将销70插入设置在台72的孔74的任务的情况下,为了将销70插入孔74,需要沿箭头A方向移动销70。这种情况下,对用于使销70插入孔74的任务成功的正确方向即箭头A方向施加的外力为修正外力。另一方面,对使任务失败的方向即与箭头A方向相反的方向的箭头B方向施加的外力为对抗外力。
在图3的情况下,当用户通过抓住夹具12对箭头A方向施加修正外力时,则与由触觉传感器30B相比,由触觉传感器30A检测的力变大,可以判定为施加了修正外力。另一方面,当对箭头B方向施加对抗外力时,则与由触觉传感器30A相比,由触觉传感器30B检测的力变大,可以判定为施加了对抗外力。
需要说明的是,在本实施方式中,对在夹具主体12b设置有两个触觉传感器30A、30B的情况进行了说明,但不限于此。例如,也可以在夹具主体12b的周围以等间隔设置三个以上的触觉传感器。如果设置三个以上触觉传感器并综合它们的检测结果,则在至少知道垂直于夹具12的轴的面内的外力的方向的情况下,各触觉传感器也可以仅检测外力的大小。
(机器人控制装置)
机器人控制装置40作为通过机器学习学习机器人模型的学习装置发挥功能。此外,机器人控制装置40也作为使用已学习的机器人模型来控制机器人10的控制装置发挥功能。
图4是示出本实施方式涉及的机器人控制装置的硬件构成的框图。如图4所示,机器人控制装置40是与一般的计算机(信息处理装置)同样的构成,具有:CPU(CentralProcessing Unit:中央处理器)40A、ROM(Read Only Memory:只读存储器)40B、RAM(RandomAccess Memory:随机存取存储器)40C、存储器40D、键盘40E、鼠标40F、监视器40G、以及通信接口40H。各构成经由总线40I相互可通信地连接。
在本实施方式中,在ROM40B或者存储器40D中储存有用于机器学习机器人模型的程序以及机器人控制程序。CPU40A是中央运算处理单元,执行各种程序,控制各构成。即,CPU40A从ROM40B或者存储器40D读出程序,将RAM40C作为作业区域来执行程序。CPU40A根据记录在ROM40B或者存储器40D的程序,进行上述各构成的控制以及各种的运算处理。ROM42储存各种程序以及各种数据。RAM40C临时存储程序或者数据作为作业区域。存储器40D由HDD(Hard Disk Drive:硬盘驱动器)、SSD(Solid State Drive:固态驱动器)、或者闪存构成,储存包括操作系统的各种程序、以及各种数据。键盘40E以及鼠标40F是输入装置60的一例,用于进行各种的输入。监视器40G例如是液晶显示器,是显示装置50的一例。监视器40G也可以采用触摸面板方式,作为输入装置60发挥功能。通信接口40H是用于与其他设备进行通信的接口,例如,使用以太网(注册商标)、FDDI或者Wi-Fi(注册商标)等的标准。
接着,对机器人控制装置40的功能构成进行说明。
如图1所示,作为其功能构成,机器人控制装置40具有:获取部41、模型执行部42、奖励算出部43、行动确定部44、外力模型更新部45、学习控制部46、以及用户界面(UI)控制部47。各功能构成通过CPU40A读出存储在ROM40B或者存储器40D中的机器学习程序,在RAM40C中展开并执行来实现。需要说明的是,一部分或者全部的功能也可以通过专用的硬件装置来实现。
获取部41获取机器人10的位置姿态的实际值以及对机器人10施加的外力的实际值。机器人10的位置姿态,作为一例,是夹具12作为机器人10的末端执行器的位置姿态。对机器人10施加的外力,作为一例,是对作为机器人10的末端执行器的夹具12施加的外力。外力的实际值由触觉传感器30A、30B测量。需要说明的是,在机器人10为难以确定哪个部分是末端执行器的机器人的情况下,从对操作对象物产生影响的机器人的部位的观点来看,确定适当测量位置姿态的部位、施加外力的部位即可。
在本实施方式中,由于是在臂11的前端11a经由柔软部13设置有夹具12的构成,因此优选在对夹具12施加外力时能够物理地柔软地位移,或者能够根据外力通过控制位移的构成。需要说明的是,通过用手对不具有柔软性的硬的机器人施加外力,公开的技术可应用。
机器人10的位置姿态在本实施方式中用位置3自由度、姿态3自由度的最大计6自由度的值表示,但也可以根据机器人10的可动自由度为更少的自由度。例如,在不产生末端执行器的姿态变化的机器人的情况下,“位置姿态”仅为位置3自由度即可。
模型执行部42执行机器人模型LM。
如图5所示,机器人模型LM包括基于某一时段的位置姿态的实际值(测量值)以及能够提供给机器人10的行动指令(候补值或者确定值),算出下一时段的机器人10的位置姿态的预测值的状态迁移模型DM以及算出对机器人10施加的外力的预测值的外力模型EM。
需要说明的是,机器人模型LM为“基于”(=输入)、“算出”(=输出)是指,在模型执行部42执行模型时,使用输入数据执行模型,通过执行模型来算出(生成)输出数据。
外力模型EM包括输出修正外力的预测值的修正外力模型EM1以及输出对抗外力的预测值的对抗外力模型EM2。
奖励算出部43基于位置姿态的预测值与应达到的位置姿态的目标值之间的误差以及外力的预测值算出奖励。应达到的位置姿态可以是任务完成时应达到的位置姿态,也可以是任务完成前作为中间目标的位置姿态。
在外力为抑制误差的扩大的外力即修正外力的情况下,奖励算出部43通过将修正外力的预测值作为奖励的减少因素的计算来算出奖励。
抑制误差的扩大的外力即修正外力可以是在位置姿态的误差逐渐扩大的场合使扩大的速度变慢的外力,也可以不是使误差的扩大转向缩小的外力。
将修正外力的预测值作为奖励的减少因素的计算是指,与将修正外力的预测值设为0来计算时的奖励相比,使用外力模型算出的修正外力的预测值来计算时的奖励小。需要说明的是,减少并不意味时间上的减少,即使将修正外力模型EM1算出的修正外力的预测值用于计算,奖励不一定随着时间的经过减少。
即使在位置姿态的误差逐渐扩大的情况下,优选在位置姿态的误差大时(例如图3中销70与孔74分离得大时)施加修正外力,在位置姿态的误差小时(销70在孔74附近时)也可以不施加修正外力。此外,优选在位置姿态的误差大时,位置姿态的误差逐渐扩大的速度越大,施加越大的修正外力。
此外,奖励算出部43通过基于任务执行中的修正外力的预测值的奖励的减少量的变化幅度比基于误差的奖励的变化幅度小的计算来算出奖励。
此外,在外力为抑制误差的缩小的外力即对抗外力的情况下,奖励算出部43通过将对抗外力的预测值作为奖励的增加因素的计算来算出奖励。
抑制误差的缩小的外力即对抗外力可以是在位置姿态的误差逐渐缩小的场合使缩小的速度变慢的外力,也可以不是使误差的缩小转向扩大的外力。
将对抗外力的预测值作为奖励的增加因素的计算是指,与将对抗外力的预测值设为0来计算时的奖励相比,使用对抗外力模型算出的对抗外力的预测值来计算时的奖励大。需要说明的是,增加并不意味时间上的增加,即使将对抗外力模型EM2算出的对抗外力的预测值用于计算,奖励不一定随着时间的经过增加。
即使在位置姿态的误差逐渐缩小的情况下,优选在位置姿态的误差小时(例如图3中销70在孔74附近时)施加对抗外力,在位置姿态的误差大时也可以不施加对抗外力。此外,优选在位置姿态的误差小时,位置姿态的误差逐渐缩小的速度越大,施加越大的对抗外力。
此外,奖励算出部43通过基于任务执行中的对抗外力的预测值的奖励的增加量的变化幅度比基于误差的奖励的变化幅度小的计算来算出奖励。
行动确定部44对于每个控制周期,生成行动指令的多个候补并提供给机器人模型LM,基于与行动指令的多个候补分别对应奖励算出部43算出的奖励确定使奖励最大化的行动指令。
行动指令在本实施方式中为速度指令,但也可以是位置指令、转矩指令、速度、位置、转矩的组合指令等。此外,行动指令也可以是跨越多个时段的行动指令的系列。此外,行动指令的多个候补也可以是行动指令的多个系列的候补。
奖励最大化是指,只要在有限时间内作为探索的结果被最大化即可,不需要奖励成为该状况下的真正的最大值。
外力模型更新部45更新外力模型,以使得外力模型基于确定的行动指令算出的外力的预测值和与该外力的预测值对应的外力的实际值之间的差异变小。
外力模型更新部45包括修正外力模型更新部45A以及对抗外力模型更新部45B。
修正外力模型更新部45A更新修正外力模型EM1,以使得修正外力模型EM1基于由行动确定部44确定的行动指令算出的修正外力的预测值与修正外力的实际值之间的差异变小。
对抗外力模型更新部45B更新对抗外力模型EM2,以使得对抗外力模型EM2基于由行动确定部44确定的行动指令算出的对抗外力的预测值与对抗外力的实际值之间的差异变小。
学习控制部46基于位置姿态的实际值以及外力的实际值判别外力为修正外力还是对抗外力,在判别的结果为修正外力的情况下,使修正外力模型更新部的动作有效化,在判别的结果为对抗外力的情况下,使对抗外力模型更新部45B的动作有效化。进而,在判别的结果不为修正外力的情况下,使修正外力模型更新部45A的动作无效化,在判别的结果不为对抗外力的情况下,使对抗外力模型更新部45B的动作无效化。
需要说明的是,在本实施方式中,对学习控制部46基于位置姿态的实际值以及外力的实际值自动判别外力为修正外力还是对抗外力的情况进行说明,学习控制部46也可以是还具备受理外力为修正外力还是对抗外力的指定的受理部的构成。
这种情况下,用户操作输入装置60,指定对夹具12施加的外力为修正外力还是对抗外力,对夹具12施加外力。
然后,学习控制部46在指定为修正外力的情况下,使修正外力模型更新部45A的动作有效化,在指定为对抗外力的情况下,使对抗外力模型更新部45B的动作有效化。进而,在指定不为修正外力的情况下,使修正外力模型更新部45A的动作无效化,在指定不为对抗外力的情况下,使对抗外力模型更新部45B的动作无效化。
需要说明的是,在图5的例子中,状态迁移模型DM、修正外力模型EM1、以及对抗外力模型EM2为分别独立的模型,但机器人模型LM的构成不限于此。例如,如图6所示的机器人模型LM1,也可以由共用部CM、状态迁移模型固有部DMa、修正外力模型固有部EM1a、以及对抗外力模型固有部EM2a构成。这种情况下,共用部CM对状态迁移模型DM、修正外力模型EM1、以及对抗外力模型EM2进行共同的处理。修正外力模型固有部EM1a对修正外力模型EM1进行固有的处理。对抗外力模型固有部EM2a对对抗外力模型EM2进行固有的处理。
此外,如图7所示的机器人模型LM2,也可以构成为包括具备图5的修正外力模型EM1以及对抗外力模型EM2的整合外力模型IM。这种情况下,整合外力模型IM输出外力的预测值,并且输出用于识别外力为修正外力还是对抗外力的识别信息。
整合外力模型IM可以通过渐进式神经网络的方法整合修正外力模型EM1以及对抗外力模型EM2。这种情况下,修正外力模型EM1以及对抗外力模型由神经网络构成。然后,对抗外力模型EM2的一个或者多个中间层以及输出层中的至少一层通过渐进式神经网络(PNN:Progressive Neural Network)的方法整合修正外力模型EM1的对应的层的前段的层的输出。
在图8的例子中,在对抗外力模型EM2的输出层OUT2输入修正外力模型EM1的对应的输出层OUT1的前段的层即中间层MID2A的输出。此外,在对抗外力模型EM2的中间层MID2B输入修正外力模型EM1的对应的中间层MID2A的前段的层即中间层MID1A的输出。
对于这种整合外力模型IM,首先,进行修正外力模型EM1的机器学习,接着,进行对抗外力模型EM2的机器学习。在施加修正外力进行修正外力模型EM1的学习期间,更新修正外力模型EM1的各层间的权重参数使得修正外力的预测值相对于修正外力的实际值的误差变小,对抗外力模型EM2不更新。从修正外力模型EM1的一层(例如MID1A)到下一层(MID2A)的路径的权重参数与从相同层(MID1A)到对抗外力模型的层(MID2B)的路径的权重参数总是为相同的值。对抗外力模型EM2的一层(例如MID2B)将来自修正外力模型的层(例如MID1A)向该层的加权输入与来自对抗外力模型EM2的前段的层(MID1B)的加权输入的和向对抗外力模型EM2的后段的层(OUT2)输出。修正外力模型EM1的学习结束后,在施加对抗外力进行对抗外力模型EM2的学习期间,更新对抗外力模型EM2的各层间的权重参数使得对抗外力的预测值相对于对抗外力的实际值的误差变小,修正外力模型EM1不更新。在对抗外力模型EM2的学习结束后的运用阶段中,使用对抗外力模型EM2的输出作为外力的预测值,不使用修正外力模型EM1的输出。通过这样进行外力的机器学习,为整合修正外力模型EM1与对抗外力模型EM2的模型,但可以在不破坏之前进行的关于修正外力的学习结果的情况下进行关于对抗外力的学习。
整合外力模型IM通过未图示的识别部识别外力的预测值为修正外力的预测值还是对抗外力的预测值,将识别结果作为识别信息输出。在这种情况下,奖励算出部43在识别信息表示为修正外力的预测值的情况下,通过将外力的预测值作为奖励的减少因素的计算来算出奖励,在识别信息表示为对抗外力的预测值的情况下,通过将外力的预测值作为奖励的增加因素的计算来算出奖励。
需要说明的是,渐进式神经网络的方法例如是指下述参考文献中记载的方法。
(参考文献)Rusu et al.,“Progressive neural networks,”arXiv preprintarXiv:1606.04671,2016.
此外,关于渐进式神经网络,有下述的参考文章。
(参考文章)多个游戏中的continual learning
https://wba-initiative.org/wp-content/uploads/2015/05/20161008-hack2-noguchi.pdf
(机器人模型的学习处理)
图9是示出使用机器学习学习机器人模型LM的机器学习处理的流程的流程图。图9的机器学习处理通过CPU40A读出ROM40B或者存储器40D中存储的机器学习程序,在RAM40C中展开并执行。
以下说明的步骤S100~步骤S108的处理根据控制周期以一定的时间间隔执行。控制周期被设定为能够执行步骤S100~步骤S108的处理的时间。
在步骤S100中,CPU40A进行从上次的控制周期开始到经过与控制周期的长度相当的预定时间为止的待机的处理。需要说明的是,也可以省略步骤S100的处理,在前一控制周期的处理完成后立即开始下一次的控制周期的处理。
在步骤S101中,CPU40A从状态观测传感器20获取机器人10的位置姿态的实际值(测量值),并且从触觉传感器30A、30B获取外力的实际值(测量值)。
在步骤S102中,作为获取部41,CPU40A判定在步骤S101中获取的位置姿态的实际值是否满足预定的结束条件。此处,满足结束条件的情况,例如是位置姿态的实际值与应达到的位置姿态的目标值的误差在规定值以内的情况。应达到的位置姿态,在本实施方式的情况下,是机器人10能够将销70插入孔74时的机器人10的位置姿态。
在步骤S102的判定为肯定判定的情况下,结束本例程。另一方面,在步骤S102的判定为否定判定的情况下,转移到步骤S103。
在步骤S103中,作为外力模型更新部45,CPU40A更新外力模型EM。具体而言,首先,基于在步骤S101中获取的位置姿态的实际值以及外力的实际值判别外力为修正外力还是对抗外力。例如,可以在位置姿态的实际值与应达到的位置姿态的目标值的误差扩大时,作为抑制误差的扩大的方向的力而检测的外力判别为修正外力,在误差缩小时,作为抑制误差的缩小的方向的力而检测的外力判别为对抗外力,但判别方法不限于此。
然后,在判别的外力为修正外力的情况下,更新修正外力模型EM1的修正外力模型参数,以使得修正外力模型EM1基于确定的行动指令算出的修正外力的预测值与修正外力的实际值之间的差异变小。
另一方面,在判别的外力为对抗外力的情况下,更新对抗外力模型EM2的对抗外力模型参数,以使得对抗外力模型EM2基于确定的行动指令算出的对抗外力的预测值与对抗外力的实际值之间的差异变小。
在步骤S104中,作为行动确定部44,CPU40A生成相对于机器人10的行动指令(或者行动指令系列)的多个候补。在本实施方式中,例如随机生成n个(例如300个)的速度指令值候补,作为行动指令的候补值向模型执行部42输出。
在步骤S105中,作为模型执行部42,CPU40A对在步骤S104中生成的行动指令的多个候补分别算出位置姿态的预测值以及外力的预测值。具体而言,将位置姿态的实际值以及n个行动指令的候补值向机器人模型LM输入,分别算出与行动指令的候补值对应的位置姿态的预测值、以及修正外力的预测值或者对抗外力的预测值。
在步骤S106中,作为奖励算出部43,CPU40A对每个与n个行动指令的候补值对应的位置姿态的预测值以及修正外力的组,算出奖励。即,算出n个奖励。
在外力为修正外力的情况下的奖励r1可以使用下述(1)式算出。
r1=-rR-α1||s1H||2…(1)
此处,rR为位置姿态的预测值与应达到的位置姿态的目标值的误差。s1H为修正外力。α1为权重,被预先设定。α1被设定为,基于任务执行中的修正外力的预测值的奖励r1的减少量的变化幅度比基于位置姿态的预测值与应达到的位置姿态的目标值的误差的奖励r1的变化幅度小。
另一方面,在外力为对抗外力的情况下的奖励r2可以使用下述(2)式算出。
r2=-rR+α2||s2H||2…(2)
此处,s2H为对抗外力。α2为权重,被预先设定。α2被设定为,基于任务执行中的对抗外力的预测值的奖励r2的增加量的变化幅度比基于位置姿态的预测值与应达到的位置姿态的目标值的误差的奖励r2的变化幅度小。
如上述(1)、(2)式所示,在外力相同的情况下,位置姿态的预测值与应达到的位置姿态的目标值的误差越大,奖励越小。此外,如上述(1)式所示,在误差相同的情况下,修正外力越大,奖励越小。此外,如上述(2)式所示,在误差相同的情况下,对抗外力越大,奖励越大。
在步骤S107中,作为行动确定部44,CPU40A确定使奖励最大化的行动指令,向机器人10输出。例如,算出表示n个行动指令的候补值与奖励的对应关系的关系式,将与由算出的关系式表示的曲线上的最大的奖励对应的行动指令的候补值作为确定值。此外,也可以使用所谓交叉熵法(cross-entropy method:CEM)确定可以使奖励最大化的行动指令。由此,得到奖励最大化的行动指令。
从步骤S104到步骤S106,可以反复执行预定次数。在这种情况下,作为行动确定部44,CPU40A在执行第一次的步骤S106后,从n个行动指令的候补值与奖励的组抽出奖励高的行动指令的候补值m个,求出行动指令的候补值m个的均值以及方差,生成与之相应的正态分布。在第二次的步骤S104中,作为行动确定部44,CPU40A生成新的n个速度指令的候补值,使得与概率密度求出的正态分布一致而不是随机的。以下同样地,从步骤S104到步骤S106执行预定次数。这样,可以提高奖励最大化的精度。
机器人10按照行动指令的确定值动作。用户根据机器人10的动作对机器人10施加外力。具体而言,对夹具12施加外力。用户优选在位置姿态的预测值与应达到的位置姿态的目标值的误差正在扩大的情况下,对机器人10施加修正外力,在误差正在缩小的情况下,对机器人10施加对抗外力。即,用户例如在通过机器人10的动作使销70向远离孔74的方向正在移动的情况下,向销70接近孔74的方向对夹具12施加修正外力。此外,例如在通过机器人10的动作使销70向接近孔74的方向正在移动的情况下,向销70远离孔74的方向对夹具12施加对抗外力。
需要说明的是,在机器学习外力模型的过程中,优选最初施加修正外力。因为最初施加对抗外力可能会使学习变慢。此外,作为施加修正外力以及对抗外力的比率可以是1比1,也可以提高修正外力的比率。此外,作为施加修正外力以及对抗外力的顺序,可以多次施加修正外力后多次施加对抗外力,也可以交替施加修正外力以及对抗外力。
此外,也可以通过赋予外力的机器人等自动施加修正外力或者对抗外力,而不是人施加修正外力或者对抗外力。
在步骤S108中,作为模型执行部42,CPU40A对在步骤S107中确定的行动指令的确定值算出外力的预测值,返回至步骤S100。
这样,在位置姿态的实际值满足结束条件之前,对于每个控制周期反复步骤S100~S108的处理。
由此,学习机器人模型LM。这样,机器人模型LM包括修正外力模型EM1以及对抗外力模型EM2,由于用户一边对机器人10施加修正外力或者对抗外力一边学习机器人模型LM,因此可以有效学习,并且可以得到对机器人10的操作对象的零件的形状以及材质变化、机器人10的物理特性经年变化等的环境变化的鲁棒性优异的机器人模型LM。
需要说明的是,在运用阶段中,模型执行部42通过图9的学习处理执行已学习的机器人模型LM。运用阶段中的机器人控制装置40的功能构成为从图1的功能构成中省略了外力模型更新部45以及学习控制部46的构成。运用阶段中的机器人控制处理为从图9的学习处理除去了步骤S101中的“获取外力的实际值”的处理、以及步骤S103的外力模型更新的更新处理的处理,执行该处理的程序成为机器人控制处理程序。
需要说明的是,执行学习阶段中的机器人模型的学习处理的装置与执行运用阶段中的机器人控制处理的装置可以是不同的装置,也可以相同。例如,也可以将用于学习的学习装置直接作为机器人控制装置40使用,进行使用了已学习的机器人模型LM的控制。此外,机器人控制装置40也可以一边继续学习一边进行控制。
<第一实施方式的变形例>
在第一实施方式中,状态迁移模型DM是输入位置姿态的实际值以及行动指令,但不输入外力的实际值的构成。取而代之,状态迁移模型DM也可以构成为输入外力的实际值。在这种情况下,状态迁移模型DM基于位置姿态的实际值、行动指令、以及外力的实际值,算出位置姿态的预测值。但是,对触觉传感器30A、30B施加修正外力或者对抗外力仅限于进行外力模型EM1、EM2、EM1a、EM2a、IM的机器学习的期间。在运用阶段中,状态迁移模型DM在外力的实际值的输入在实质上为零的状态下持续,同时算出位置姿态的预测值。另一方面,外力模型在不输入外力的实际值的情况下根据位置姿态的实际值以及行动指令算出外力的预测值,在该变形例中也是同样的。外力的预测值通过用于奖励计算对行动确定产生影响。与该变形例同样的变形也可以在以后的实施方式中进行。
<第二实施方式>
接着,对公开的技术的第二实施方式进行说明。需要说明的是,对与第一实施方式相同的部分标注相同的附图标记,省略详细的说明。
第二实施方式涉及的机器人系统1与第一实施方式是相同的,因此省略说明。
(机器人模型的学习处理)
图10是示出第二实施方式涉及的机器学习处理的流程的流程图。图10的机器学习处理通过CPU40A读出存储于ROM40B或者存储器40D的机器学习程序,在RAM40C中展开并执行。
步骤S100~S103、S108的处理与图9的处理是相同的,因此省略说明。
在步骤S104A中,作为行动确定部44,CPU40A生成对机器人10的行动指令(或者行动指令系列)的一个候补。
在步骤S106A中,作为模型执行部42,CPU40A对在步骤S104A中生成的行动指令的一个候补算出位置姿态的预测值以及外力的预测值。具体而言,向机器人模型LM输入位置姿态的实际值以及行动指令的候补值,算出与行动指令的候补值对应的位置姿态的预测值、以及修正外力的预测值或者对抗外力的预测值。
在步骤S106A中,作为奖励算出部43,CPU40A基于与行动指令的候补值对应的位置姿态的预测值以及外力的预测值的组算出奖励。即,在外力为修正外力的情况下,通过上述(1)式算出奖励r1,在外力为对抗外力的情况下,通过上述(2)式算出奖励r2。
在步骤S106B中,CPU40A判定在步骤S106A中算出的奖励是否满足规定条件。此处,在满足规定条件的情况下,例如奖励超过规定值的情况,或者,执行了规定次数的步骤S104A~S106B的处理的循环的情况等。规定次数例如设定为10次、100次、1000次等。
在步骤S107A中,作为行动确定部44,CPU40A确定使奖励最大化的行动指令并向机器人10输出。例如,可以是奖励满足规定条件时的行动指令,也可以是根据与行动指令的变化对应的奖励的变化的历史预测的、能够进一步使奖励最大化的行动指令。
<第三实施方式>
接着,对公开的技术的第三实施方式进行说明。需要说明的是,对与第一实施方式相同的部分标注相同的附图标记,省略详细的说明。
(机器人控制装置)
图11是第三实施方式涉及的机器人控制装置40X的功能构成。机器人控制装置40X与图1所示的机器人控制装置40不同之处在于具备存储部48以及状态迁移模型更新部49。其他构成与机器人控制装置40是相同的因此省略说明。
存储部48存储获取部41获取的机器人10的位置姿态的实际值。
状态迁移模型更新部49更新状态迁移模型DM,以使得状态迁移模型DM基于由行动确定部44确定的行动指令算出的位置姿态的预测值和与该位置姿态的预测值对应的位置姿态的实际值之间的误差变小。
(机器人模型的学习处理)
图12是示出第三实施方式涉及的机器学习处理的流程的流程图。图12的机器学习处理通过CPU40A读出存储于ROM40B或者存储器40D的机器学习程序,在RAM40C中展开并执行。
图12的学习处理与图9的学习装置不同之处在于追加了步骤S101A、S103A的处理。其他步骤与图9的处理是相同的因此省略说明。
在步骤S101A中,作为获取部41,CPU40A将在步骤S101中获取的机器人10的位置姿态的实际值存储至存储部48。
在步骤S103A中,作为状态迁移模型更新部49,CPU40A更新状态迁移模型DM。具体而言,首先从存储部48中存储的值中获取随机选择的例如关于100个时刻t的位置姿态的实际值xt、作为行动指令的速度指令值ut、以及关于时刻t+1的位置姿态的实际值xt+1的组。接着,确定修正了上次的状态迁移模型参数的新的状态迁移模型参数。状态迁移模型参数的修正以根据时刻t的位置姿态的实际值算出的时刻t+1的位置姿态的预测值与时刻t+1的位置姿态的实际值的误差最小为目标进行。
然后,将新的状态迁移模型参数设定为状态迁移模型DM。新的状态迁移模型参数为了在下一控制周期中作为“上次的模型参数”使用存储在状态迁移模型更新部49内。
这样,在本实施方式中,与修正外力模型EM1以及对抗外力模型EM2一起,还能够学习状态迁移模型DM。
<实验例>
接着,对公开的技术的实验例进行说明。
图13示出通过模拟一边对机器人施加修正外力以及对抗外力一边进行将销插入孔的任务来学习机器人模型的结果。在该模拟中,在施加7次修正外力后,施加7次对抗外力,来学习机器人模型。
图13A、图13B的横轴表示施加外力的次数。图13A的纵轴表示销的位置的误差。图13B的纵轴表示施加的外力的大小。
在图13A中示出,通过现有方法不施加外力仅学习状态迁移模型的结果(Baseline)、学习包括通过提案方法受试者1施加的修正外力以及对抗外力的修正外力模型以及对抗外力模型的机器人模型的结果(Proposed(participant1))、以及学习包括通过提案方法与受试者1不同的受试者2施加的修正外力以及对抗外力的修正外力模型以及对抗外力模型的机器人模型的结果(Proposed(participant2))。如图13A所示,在现有方法与提案方法(受试者1以及受试者2)中比较学习结束时的位置的误差,可知提案方法中的位置的误差比现有方法中的位置的误差小。此外,如图13B所示可知,外力的施加方法在受试者1、2中不同,但与受试者无关,位置的误差都变小。
此外,在图14A中,示出了改变设置有孔的台的摩擦系数来模拟销的插入成功的次数的结果。在图14B中,示出了改变销的质量来模拟销的插入成功的次数的结果。如图14A、14B所示,可知即使在台的摩擦系数、销的质量不同的情况下,提案方法中的销的插入的成功次数比现有方法中的销的插入的成功次数多。
此外,在图15中示出以使用不同材质的销为实机进行与模拟同样的销的插入任务的结果。销的材质为金属(Default)、塑料、以及海绵三种。如图15所示,可知在任意材质的销中,与现有方法相比,提案方法的销的插入的成功次数都变多。
从上述实施方式的构成以及动作、以及上述实验例可知,通过施加修正外力进行机器学习,能够提高机器人模型的机器学习的效率。此外,通过施加对抗外力进行机器学习,能够提高对把持对象物中的摩擦力、质量的变化的鲁棒性。此外,施加对抗外力来进行机器学习也有提高学习效率的效果。
需要说明的是,上述实施方式只是例示性地说明本公开的构成例。公开的技术不限于上述的具体方式,可以在该技术的思想的范围内进行各种各样的变形。
例如,在上述实施方式中,以销的嵌入作业为例进行了说明,但学习以及控制对象的作业可以是任意的作业。
此外,也可以由CPU以外的各种的处理器执行在上述各实施方式中由CPU读入软件(程序)来执行的机器人模型的学习处理以及机器人控制处理。作为这种情况下的处理器,例示有在FPGA(Field-Programmable Gate Array:可编程阵列逻辑)等的制造后能够改变电路构成的PLD(Programmable Logic Device:可编程逻辑器件)、以及ASIC(ApplicationSpecific Integrated Circuit:专用集成电路)等,具有用于执行特定的处理而专用设计的电路构成的处理器即专用电气电路等。此外,学习处理以及控制处理可以由这些各种处理器中的一个来执行,也可以由同种或者不同种的两个以上的处理器的组合(例如,多个FPGA、以及CPU与FPGA的组合等)来执行。此外,这些各种的处理器的硬件结构更具体而言,是组合了半导体元件等的电路元件的电气电路。
此外,在上述各实施方式中,说明了机器人模型的学习程序以及机器人控制程序预先存储(安装)于存储器40D或者ROM40B的方式,但不限于此。程序也可以以记录于CD-ROM(Compact Disk Read Only Memory:光盘只读存储器)、DVD-ROM(Digital Versatile DiskRead Only Memory:数字多功能光盘只读存储器)、以及USB(Universal Serial Bus:通用串行总线)存储器等的记录介质的方式提供。此外,程序也可以为经由网络从外部装置下载的方式。
关于以上的实施方式,还公开了以下的附记。
(附记1)
一种机器人模型的学习装置,具备:
获取部(41),获取机器人的位置姿态的实际值以及对所述机器人施加的外力的实际值;
机器人模型(LM),所述机器人模型(LM)包括基于某一时段的所述位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型(DM)以及算出对所述机器人施加的外力的预测值的外力模型(EM);
模型执行部(42),执行所述机器人模型;
奖励算出部(43),基于所述位置姿态的预测值与应达到的位置姿态的目标值之间的误差以及所述外力的预测值算出奖励;
行动确定部(44),对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于所述奖励算出部对应于所述行动指令的多个候补分别算出的奖励确定使奖励最大化的行动指令;以及
外力模型更新部(45),所述外力模型更新部(45)更新所述外力模型,以使得所述外力模型基于确定的所述行动指令算出的所述外力的预测值和与该外力的预测值对应的所述外力的实际值之间的差异变小。
(附记2)
根据附记1所述的机器人模型的学习装置,具备:
状态迁移模型更新部(49),所述状态迁移模型更新部(49)更新所述状态迁移模型,以使得所述状态迁移模型基于确定的所述行动指令算出的所述位置姿态的预测值和与该位置姿态的预测值对应的所述位置姿态的实际值之间的误差变小。
(附记3)
根据附记1或2所述的机器人模型的学习装置,
在所述外力为抑制所述误差的扩大的外力即修正外力的情况下,所述奖励算出部通过将所述修正外力的预测值作为所述奖励的减少因素的计算来算出所述奖励。
(附记4)
根据附记3所述的机器人模型的学习装置,
所述奖励算出部通过基于任务执行中的所述修正外力的预测值的所述奖励的减少量的变化幅度比基于所述误差的所述奖励的减少量的变化幅度小的计算来算出所述奖励。
(附记5)
根据附记3或4所述的机器人模型的学习装置,
所述外力模型包括:在所述外力为所述修正外力的情况下输出所述修正外力的预测值的修正外力模型(EM1),
所述外力模型更新部包括:修正外力模型更新部(45A),更新所述修正外力模型,以使得在所述外力为所述修正外力的情况下,所述修正外力模型基于所述确定的所述行动指令算出的所述修正外力的预测值与所述修正外力的实际值之间的差异变小。
(附记6)
根据附记1或2所述的机器人模型的学习装置,
在所述外力为抑制所述误差的缩小的外力即对抗外力的情况下,所述奖励算出部通过将所述对抗外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
(附记7)
根据附记6所述的机器人模型的学习装置,
所述奖励算出部通过基于任务执行中的所述对抗外力的预测值的所述奖励的增加量的变化幅度比基于所述误差的所述奖励的增加量的变化幅度小的计算来算出所述奖励。
(附记8)
根据附记6或7所述的机器人模型的学习装置,
所述外力模型包括:在所述外力为所述对抗外力的情况下,输出所述对抗外力的预测值的对抗外力模型(EM2),
所述外力模型更新部包括:对抗外力模型更新部(45B),所述对抗外力模型更新部(45B)更新所述对抗外力模型,以使得在所述外力为所述对抗外力的情况下,所述对抗外力模型基于所述确定的所述行动指令算出的所述对抗外力的预测值与所述对抗外力的实际值之间的差异变小。
(附记9)
根据附记1或2所述的机器人模型的学习装置,
所述奖励算出部在所述外力为抑制所述误差的扩大的修正外力的情况下通过将所述修正外力的预测值作为所述奖励的减少因素的计算来算出所述奖励,所述奖励算出部在所述外力为抑制所述误差的缩小的外力即对抗外力的情况下通过将所述对抗外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
(附记10)
根据附记9所述的机器人模型的学习装置,
所述奖励算出部通过基于任务执行中的所述修正外力的预测值的所述奖励的减少量的变化幅度比基于所述误差的所述奖励的变化幅度小,且基于任务执行中的所述对抗外力的预测值的所述奖励的增加量的变化幅度比基于所述误差的所述奖励的变化幅度小的计算来算出所述奖励。
(附记11)
根据附记9或10所述的机器人模型的学习装置,
所述外力模型包括:在所述外力为所述修正外力的情况下输出所述修正外力的预测值的修正外力模型(EM1)、以及在所述外力为所述对抗外力的情况下,输出所述对抗外力的预测值的对抗外力模型(EM2),
所述外力模型更新部包括:修正外力模型更新部,更新所述修正外力模型,以使得在所述外力为所述修正外力的情况下,所述修正外力模型基于所述确定的行动指令算出的所述修正外力的预测值与所述外力的实际值的差异变小;以及对抗外力模型更新部(45B),更新所述对抗外力模型,以使得在所述外力为所述对抗外力的情况下,所述对抗外力模型基于所述确定的行动指令算出的所述对抗外力的预测值与所述外力的实际值的差异变小。
(附记12)
根据附记11所述的机器人模型的学习装置,
所述机器人模型包括具备所述修正外力模型以及所述对抗外力模型的整合外力模型(IM),
所述修正外力模型以及所述对抗外力模型为神经网络,
所述对抗外力模型的一个或者多个中间层以及输出层中的至少一层通过渐进式神经网络的方法整合所述修正外力模型的对应的层的前段的层的输出,
所述整合外力模型将所述对抗外力模型的输出作为外力的预测值输出,
所述整合外力模型对输出的所述外力的预测值为修正外力的预测值还是对抗外力的预测值的识别信息进行输出,
所述奖励算出部在所述识别信息表示为修正外力的预测值的情况下,通过将所述外力的预测值作为所述奖励的减少因素的计算来算出所述奖励,所述奖励算出部在所述识别信息表示为对抗外力的预测值的情况下,通过将所述外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
(附记13)
根据附记11或12所述的机器人模型的学习装置,
还具备受理所述外力为所述修正外力还是所述对抗外力的指定的受理部,
还具备学习控制部,所述学习控制部在所述指定为所述修正外力的情况下,使所述修正外力模型更新部的动作有效化,所述学习控制部在所述指定为所述对抗外力的情况下,使所述对抗外力模型更新部的动作有效化。
(附记14)
根据附记11或12所述的机器人模型的学习装置,
还具备学习控制部,所述学习控制部基于所述位置姿态的实际值以及所述外力的实际值判别所述外力为所述修正外力还是所述对抗外力,在所述判别的结果为所述修正外力的情况下,使所述修正外力模型更新部的动作有效化,在所述判别的结果为所述对抗外力的情况下,使所述对抗外力模型更新部的动作有效化。
(附记15)
一种机器人模型的机器学习方法,进行如下步骤:
准备机器人模型(LM),所述机器人模型(LM)包括基于某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型(DM)以及算出对所述机器人施加的外力的预测值的外力模型(EM),
对于每个控制周期,获取所述位置姿态的实际值以及对所述机器人施加的外力的实际值,
对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于与所述行动指令的多个候补对应由所述状态迁移模型算出的多个所述位置姿态的预测值与应达到的位置姿态的目标值之间的多个误差以及与所述行动指令的多个候补对应由所述外力模型算出的多个所述外力的预测值,基于与所述行动指令的多个候补对应算出的多个奖励,确定使奖励最大化的行动指令,
更新所述外力模型,以使得所述外力模型基于确定的所述行动指令算出的所述外力的预测值和与该外力的预测值对应的所述外力的实际值之间的差异变小。
(附记16)
根据附记15所述的机器人模型的机器学习方法,
还更新所述状态迁移模型,以使得所述状态迁移模型基于确定的所述行动指令算出的所述位置姿态的预测值和与该位置姿态的预测值对应的所述位置姿态的实际值之间的误差变小。
(附记17)
根据附记15或16所述的机器人模型的机器学习方法,
在所述外力为抑制所述误差的扩大的外力即修正外力的情况下,通过将所述修正外力的预测值作为所述奖励的减少因素的计算来算出所述奖励。
(附记18)
根据附记17所述的机器人模型的机器学习方法,
通过基于任务执行中的所述修正外力的预测值的所述奖励的减少量的变化幅度比基于所述误差的所述奖励的变化幅度小的计算来算出所述奖励。
(附记19)
根据附记17或18所述的机器人模型的机器学习方法,
所述外力模型包括:在所述外力为所述修正外力的情况下输出所述修正外力的预测值的修正外力模型(EM1),
更新所述修正外力模型,以使得在所述外力为所述修正外力的情况下,所述修正外力模型基于所述确定的所述行动指令算出的所述修正外力的预测值与所述外力的实际值之间的差异变小。
(附记20)
根据附记19所述的机器人模型的机器学习方法,
在所述误差正在扩大的情况下,对所述机器人施加所述修正外力。
(附记21)
根据附记15或16所述的机器人模型的机器学习方法,
在所述外力为抑制所述误差的缩小的外力即对抗外力的情况下,通过将所述对抗外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
(附记22)
根据附记21所述的机器人模型的机器学习方法,
通过基于任务执行中的所述对抗外力的预测值的所述奖励的增加量的变化幅度比基于所述误差的所述奖励的变化幅度小的计算来算出所述奖励。
(附记23)
根据附记21或22所述的机器人模型的机器学习方法,
所述外力模型包括:在所述外力为所述对抗外力的情况下,输出所述对抗外力的预测值的对抗外力模型(EM2),
更新所述对抗外力模型,以使得在所述外力为所述对抗外力的情况下,所述对抗外力模型基于所述确定的所述行动指令算出的所述对抗外力的预测值与所述外力的实际值之间的差异变小。
(附记24)
根据附记23所述的机器人模型的机器学习方法,
在所述误差正在缩小的情况下,对所述机器人施加所述对抗外力。
(附记25)
根据附记15或16所述的机器人模型的机器学习方法,
在所述外力为抑制所述误差的扩大的修正外力的情况下,通过将所述修正外力的预测值作为所述奖励的减少因素的计算来算出所述奖励,在所述外力为抑制所述误差的缩小的外力即对抗外力的情况下,通过将所述对抗外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
(附记26)
根据附记25所述的机器人模型的机器学习方法,
通过基于任务执行中的所述修正外力的预测值的所述奖励的减少量的变化幅度比基于所述误差的所述奖励的变化幅度小,且基于任务执行中的所述对抗外力的预测值的所述奖励的增加量的变化幅度比基于所述误差的所述奖励的变化幅度小的计算来算出所述奖励。
(附记27)
根据附记25或26所述的机器人模型的机器学习方法,
所述外力模型包括:在所述外力为所述修正外力的情况下输出所述修正外力的预测值的修正外力模型(EM1)、以及在所述外力为所述对抗外力的情况下输出所述对抗外力的预测值的对抗外力模型(EM2),
更新所述修正外力模型,以使得在所述外力为所述修正外力的情况下,所述修正外力模型基于所述确定的行动指令算出的所述修正外力的预测值与所述外力的实际值的差异变小,更新所述对抗外力模型,以使得在所述外力为所述对抗外力的情况下,所述对抗外力模型基于所述确定的行动指令算出的所述对抗外力的预测值与所述外力的实际值的差异变小。
(附记28)
根据附记27所述的机器人模型的机器学习方法,
在所述误差正在扩大的情况下,对所述机器人施加所述修正外力,在所述误差正在缩小的情况下,对所述机器人施加所述对抗外力。
(附记29)
一种机器人模型的机器学习程序,
是用于进行机器学习包括基于某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型(DM)以及算出对所述机器人施加的外力的预测值的外力模型(EM)的机器人模型(LM)的机器学习程序,使计算机进行以下各处理,
对于每个控制周期,获取所述位置姿态的实际值以及对所述机器人施加的外力的实际值,
对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于与所述行动指令的多个候补对应由所述状态迁移模型算出的多个所述位置姿态的预测值与应达到的位置姿态的目标值之间的多个误差以及与所述行动指令的多个候补对应由所述外力模型算出的多个所述外力的预测值,基于与所述行动指令的多个候补对应算出的多个奖励,确定使奖励最大化的行动指令,
更新所述外力模型,以使得所述外力模型基于确定的所述行动指令算出的所述外力的预测值和与该外力的预测值对应的所述外力的实际值之间的差异变小。
(附记30)
一种机器人控制装置,具备:
模型执行部(42),执行包括某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型(DM)以及算出对所述机器人施加的外力的预测值的外力模型(EM)的机器人模型(LM)、
获取部(41),获取所述机器人的位置姿态的实际值以及对所述机器人施加的外力的实际值、
奖励算出部(43),基于由所述机器人模型算出的位置姿态的预测值与应达到的位置姿态的目标值之间的误差以及由所述机器人模型算出的外力的预测值算出奖励、以及
行动确定部(44),对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于所述奖励算出部对应于所述行动指令的多个候补分别算出的奖励确定使奖励最大化的行动指令。
(附记31)
一种机器人控制方法,进行如下步骤:
准备机器人模型(LM),所述机器人模型(LM)包括基于某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型(DM)以及算出对所述机器人施加的外力的预测值的外力模型(EM),
对于每个控制周期,获取所述位置姿态的实际值以及对所述机器人施加的外力的实际值,
对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于与所述行动指令的多个候补对应由所述状态迁移模型算出的多个所述位置姿态的预测值与应达到的位置姿态的目标值之间的多个误差以及与所述行动指令的多个候补对应由所述外力模型算出的多个所述外力的预测值,基于与所述行动指令的多个候补对应算出的多个奖励,确定使奖励最大化的行动指令,
基于确定的所述行动指令控制所述机器人。
(附记32)
一种机器人控制程序,
是用于控制使用包括基于某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型(DM)以及算出对所述机器人施加的外力的预测值的外力模型(EM)的机器人模型(LM)的所述机器人的程序,使计算机进行以下各处理,
对于每个控制周期,获取所述位置姿态的实际值以及对所述机器人施加的外力的实际值,
对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于与所述行动指令的多个候补对应由所述状态迁移模型算出的多个所述位置姿态的预测值与应达到的位置姿态的目标值之间的多个误差以及与所述行动指令的多个候补对应由所述外力模型算出的多个所述外力的预测值,基于与所述行动指令的多个候补对应算出的多个奖励,确定使奖励最大化的行动指令,
基于确定的所述行动指令控制所述机器人。
需要说明的是,日本国专利申请第2021-20049号的公开其全体通过参照取入本说明书。此外,本说明书中记载的全部文献、专利申请、以及技术标准与具体并且分别记载了通过参照取入各个文献、专利申请、以及技术标准的情况同程度地,通过参照取入本说明书中。
Claims (21)
1.一种机器人模型的学习装置,具备:
获取部,获取机器人的位置姿态的实际值以及对所述机器人施加的外力的实际值;
机器人模型,包括基于某一时段的所述位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型以及算出对所述机器人施加的外力的预测值的外力模型;
模型执行部,执行所述机器人模型;
奖励算出部,基于所述位置姿态的预测值与应达到的位置姿态的目标值之间的误差以及所述外力的预测值算出奖励;
行动确定部,对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于所述奖励算出部对应于所述行动指令的多个候补分别算出的奖励确定使奖励最大化的行动指令;以及
外力模型更新部,更新所述外力模型,以使得所述外力模型基于确定的所述行动指令算出的所述外力的预测值和与该外力的预测值对应的所述外力的实际值之间的差异变小。
2.根据权利要求1所述的机器人模型的学习装置,所述机器人模型的学习装置还具备:
状态迁移模型更新部,更新所述状态迁移模型,以使得所述状态迁移模型基于确定的所述行动指令算出的所述位置姿态的预测值和与该位置姿态的预测值对应的所述位置姿态的实际值之间的误差变小。
3.根据权利要求1或2所述的机器人模型的学习装置,
在所述外力为抑制所述误差的扩大的外力即修正外力的情况下,所述奖励算出部通过将所述修正外力的预测值作为所述奖励的减少因素的计算来算出所述奖励。
4.根据权利要求1或2所述的机器人模型的学习装置,
在所述外力为抑制所述误差的缩小的外力即对抗外力的情况下,所述奖励算出部通过将所述对抗外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
5.根据权利要求1或2所述的机器人模型的学习装置,
所述奖励算出部在所述外力为抑制所述误差的扩大的修正外力的情况下,通过将所述修正外力的预测值作为所述奖励的减少因素的计算来算出所述奖励,所述奖励算出部在所述外力为抑制所述误差的缩小的外力即对抗外力的情况下,通过将所述对抗外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
6.根据权利要求5所述的机器人模型的学习装置,
所述奖励算出部通过基于任务执行中的所述修正外力的预测值的所述奖励的减少量的变化幅度比基于所述误差的所述奖励的变化幅度小,且基于任务执行中的所述对抗外力的预测值的所述奖励的增加量的变化幅度比基于所述误差的所述奖励的变化幅度小的计算来算出所述奖励。
7.根据权利要求5或6所述的机器人模型的学习装置,
所述外力模型包括:在所述外力为所述修正外力的情况下输出所述修正外力的预测值的修正外力模型、以及在所述外力为所述对抗外力的情况下输出所述对抗外力的预测值的对抗外力模型,
所述外力模型更新部包括:修正外力模型更新部,更新所述修正外力模型,以使得在所述外力为所述修正外力的情况下,所述修正外力模型基于所述确定的行动指令算出的所述修正外力的预测值与所述外力的实际值的差异变小;以及对抗外力模型更新部,更新所述对抗外力模型,以使得在所述外力为所述对抗外力的情况下,所述对抗外力模型基于所述确定的行动指令算出的所述对抗外力的预测值与所述外力的实际值的差异变小。
8.根据权利要求7所述的机器人模型的学习装置,
所述机器人模型包括具备所述修正外力模型以及所述对抗外力模型的整合外力模型,
所述修正外力模型以及所述对抗外力模型为神经网络,
所述对抗外力模型的一个或者多个中间层以及输出层中的至少一层通过渐进式神经网络的方法整合所述修正外力模型的对应的层的前段的层的输出,
所述整合外力模型将所述对抗外力模型的输出作为外力的预测值输出,
所述整合外力模型对输出的所述外力的预测值为修正外力的预测值还是对抗外力的预测值的识别信息进行输出,
所述奖励算出部在所述识别信息表示为修正外力的预测值的情况下,通过将所述外力的预测值作为所述奖励的减少因素的计算来算出所述奖励,所述奖励算出部在所述识别信息表示为对抗外力的预测值的情况下,通过将所述外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
9.根据权利要求7或8所述的机器人模型的学习装置,
所述机器人模型的学习装置还具备受理所述外力为所述修正外力还是所述对抗外力的指定的受理部,
所述机器人模型的学习装置还具备学习控制部,所述学习控制部在所述指定为所述修正外力的情况下,使所述修正外力模型更新部的动作有效化,所述学习控制部在所述指定为所述对抗外力的情况下使所述对抗外力模型更新部的动作有效化。
10.根据权利要求7或8所述的机器人模型的学习装置,
所述机器人模型的学习装置还具备学习控制部,所述学习控制部基于所述位置姿态的实际值以及所述外力的实际值判别所述外力为所述修正外力还是所述对抗外力,在所述判别的结果为所述修正外力的情况下,使所述修正外力模型更新部的动作有效化,在所述判别的结果为所述对抗外力的情况下,使所述对抗外力模型更新部的动作有效化。
11.一种机器人模型的机器学习方法,进行如下步骤:
准备机器人模型,所述机器人模型包括基于某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型以及算出对所述机器人施加的外力的预测值的外力模型,
对于每个控制周期,获取所述位置姿态的实际值以及对所述机器人施加的外力的实际值,
对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于与所述行动指令的多个候补对应由所述状态迁移模型算出的多个所述位置姿态的预测值与应达到的位置姿态的目标值之间的多个误差以及与所述行动指令的多个候补对应由所述外力模型算出的多个所述外力的预测值,基于与所述行动指令的多个候补对应算出的多个奖励,确定使奖励最大化的行动指令,
更新所述外力模型,以使得所述外力模型基于确定的所述行动指令算出的所述外力的预测值和与该外力的预测值对应的所述外力的实际值之间的差异变小。
12.根据权利要求11所述的机器人模型的机器学习方法,
所述机器人模型的机器学习方法还更新所述状态迁移模型,以使得所述状态迁移模型基于确定的所述行动指令算出的所述位置姿态的预测值和与该位置姿态的预测值对应的所述位置姿态的实际值之间的误差变小。
13.根据权利要求11或12所述的机器人模型的机器学习方法,
在所述外力为抑制所述误差的扩大的外力即修正外力的情况下,通过将所述修正外力的预测值作为所述奖励的减少因素的计算来算出所述奖励。
14.根据权利要求11或12所述的机器人模型的机器学习方法,
在所述外力为抑制所述误差的缩小的外力即对抗外力的情况下,通过将所述对抗外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
15.根据权利要求11或12所述的机器人模型的机器学习方法,
在所述外力为抑制所述误差的扩大的修正外力的情况下,通过将所述修正外力的预测值作为所述奖励的减少因素的计算来算出所述奖励,在所述外力为抑制所述误差的缩小的外力即对抗外力的情况下,通过将所述对抗外力的预测值作为所述奖励的增加因素的计算来算出所述奖励。
16.根据权利要求15所述的机器人模型的机器学习方法,
所述外力模型包括:在所述外力为所述修正外力的情况下输出所述修正外力的预测值的修正外力模型、以及在所述外力为所述对抗外力的情况下输出所述对抗外力的预测值的对抗外力模型,
所述机器人模型的机器学习方法更新所述修正外力模型,以使得在所述外力为所述修正外力的情况下,所述修正外力模型基于所述确定的行动指令算出的所述修正外力的预测值与所述外力的实际值的差异变小,所述机器人模型的机器学习方法更新所述对抗外力模型,以使得在所述外力为所述对抗外力的情况下,所述对抗外力模型基于所述确定的行动指令算出的所述对抗外力的预测值与所述外力的实际值的差异变小。
17.根据权利要求16所述的机器人模型的机器学习方法,
在所述误差正在扩大的情况下,对所述机器人施加所述修正外力,在所述误差正在缩小的情况下,对所述机器人施加所述对抗外力。
18.一种机器人模型的机器学习程序,
用于进行机器学习包括基于某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型以及算出对所述机器人施加的外力的预测值的外力模型的机器人模型,所述机器学习程序使计算机进行以下各处理:
对于每个控制周期,获取所述位置姿态的实际值以及对所述机器人施加的外力的实际值,
对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于与所述行动指令的多个候补对应由所述状态迁移模型算出的多个所述位置姿态的预测值与应达到的位置姿态的目标值之间的多个误差以及与所述行动指令的多个候补对应由所述外力模型算出的多个所述外力的预测值,基于与所述行动指令的多个候补对应算出的多个奖励,确定使奖励最大化的行动指令,
更新所述外力模型,以使得所述外力模型基于确定的所述行动指令算出的所述外力的预测值和与该外力的预测值对应的所述外力的实际值之间的差异变小。
19.一种机器人控制装置,具备:
模型执行部,执行包括基于某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型以及算出对所述机器人施加的外力的预测值的外力模型的机器人模型;
获取部,获取所述机器人的位置姿态的实际值以及对所述机器人施加的外力的实际值;
奖励算出部,基于由所述机器人模型算出的位置姿态的预测值与应达到的位置姿态的目标值之间的误差以及由所述机器人模型算出的外力的预测值算出奖励;以及
行动确定部,对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于所述奖励算出部对应于所述行动指令的多个候补分别算出的奖励确定使奖励最大化的行动指令。
20.一种机器人控制方法,进行如下步骤:
准备机器人模型,所述机器人模型包括基于某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型以及算出对所述机器人施加的外力的预测值的外力模型,
对于每个控制周期,获取所述位置姿态的实际值以及对所述机器人施加的外力的实际值,
对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于与所述行动指令的多个候补对应由所述状态迁移模型算出的多个所述位置姿态的预测值与应达到的位置姿态的目标值之间的多个误差以及与所述行动指令的多个候补对应由所述外力模型算出的多个所述外力的预测值,基于与所述行动指令的多个候补对应算出的多个奖励,确定使奖励最大化的行动指令,
基于确定的所述行动指令控制所述机器人。
21.一种机器人控制程序,
用于控制使用包括基于某一时段的机器人的位置姿态的实际值以及能够提供给所述机器人的行动指令,算出下一时段的所述机器人的位置姿态的预测值的状态迁移模型以及算出对所述机器人施加的外力的预测值的外力模型的机器人模型的所述机器人,所述机器人控制程序使计算机进行以下各处理:
对于每个控制周期,获取所述位置姿态的实际值以及对所述机器人施加的外力的实际值,
对于每个控制周期,生成所述行动指令的多个候补并提供给所述机器人模型,基于与所述行动指令的多个候补对应由所述状态迁移模型算出的多个所述位置姿态的预测值与应达到的位置姿态的目标值之间的多个误差以及与所述行动指令的多个候补对应由所述外力模型算出的多个所述外力的预测值,基于与所述行动指令的多个候补对应算出的多个奖励,确定使奖励最大化的行动指令,
基于确定的所述行动指令控制所述机器人。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021020049A JP2022122670A (ja) | 2021-02-10 | 2021-02-10 | ロボットモデルの学習装置、ロボットモデルの機械学習方法、ロボットモデルの機械学習プログラム、ロボット制御装置、ロボット制御方法、及びロボット制御プログラム |
JP2021-020049 | 2021-02-10 | ||
PCT/JP2022/003877 WO2022172812A1 (ja) | 2021-02-10 | 2022-02-01 | ロボットモデルの学習装置、ロボットモデルの機械学習方法、ロボットモデルの機械学習プログラム、ロボット制御装置、ロボット制御方法、及びロボット制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116867620A true CN116867620A (zh) | 2023-10-10 |
Family
ID=82838818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280012144.1A Pending CN116867620A (zh) | 2021-02-10 | 2022-02-01 | 机器人模型的学习装置、机器人模型的机器学习方法、机器人模型的机器学习程序、机器人控制装置、机器人控制方法、以及机器人控制程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240083023A1 (zh) |
EP (1) | EP4292778A1 (zh) |
JP (1) | JP2022122670A (zh) |
CN (1) | CN116867620A (zh) |
WO (1) | WO2022172812A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117140539A (zh) * | 2023-11-01 | 2023-12-01 | 成都交大光芒科技股份有限公司 | 基于空间坐标变换矩阵的机器人三维协同巡检方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6240689B2 (ja) * | 2015-07-31 | 2017-11-29 | ファナック株式会社 | 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法 |
JP6453922B2 (ja) * | 2017-02-06 | 2019-01-16 | ファナック株式会社 | ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法 |
JP6458912B1 (ja) * | 2018-01-24 | 2019-01-30 | 三菱電機株式会社 | 位置制御装置及び位置制御方法 |
JP6928031B2 (ja) | 2018-10-02 | 2021-09-01 | ファナック株式会社 | 制御装置及び制御システム |
JP7376922B2 (ja) | 2019-07-29 | 2023-11-09 | 株式会社コナミデジタルエンタテインメント | プログラム、ゲーム制御方法およびゲーム装置 |
-
2021
- 2021-02-10 JP JP2021020049A patent/JP2022122670A/ja active Pending
-
2022
- 2022-02-01 WO PCT/JP2022/003877 patent/WO2022172812A1/ja active Application Filing
- 2022-02-01 CN CN202280012144.1A patent/CN116867620A/zh active Pending
- 2022-02-01 EP EP22752640.7A patent/EP4292778A1/en active Pending
- 2022-02-01 US US18/274,206 patent/US20240083023A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117140539A (zh) * | 2023-11-01 | 2023-12-01 | 成都交大光芒科技股份有限公司 | 基于空间坐标变换矩阵的机器人三维协同巡检方法 |
CN117140539B (zh) * | 2023-11-01 | 2024-01-23 | 成都交大光芒科技股份有限公司 | 基于空间坐标变换矩阵的机器人三维协同巡检方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4292778A1 (en) | 2023-12-20 |
US20240083023A1 (en) | 2024-03-14 |
JP2022122670A (ja) | 2022-08-23 |
WO2022172812A1 (ja) | 2022-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102513854B1 (ko) | 제어 장치, 로봇, 학습 장치, 로봇 시스템 및 방법 | |
US20170249561A1 (en) | Robot learning via human-demonstration of tasks with force and position objectives | |
Langsfeld et al. | Integration of planning and deformation model estimation for robotic cleaning of elastically deformable objects | |
Li et al. | Learning task manifolds for constrained object manipulation | |
CN116867620A (zh) | 机器人模型的学习装置、机器人模型的机器学习方法、机器人模型的机器学习程序、机器人控制装置、机器人控制方法、以及机器人控制程序 | |
Jiang et al. | Design, control, and applications of a soft robotic arm | |
Anand et al. | Evaluation of variable impedance-and hybrid force/motioncontrollers for learning force tracking skills | |
TWI781708B (zh) | 學習裝置、學習方法、學習程式、控制裝置、控制方法及控制程式 | |
CN110532661B (zh) | 一种多材料机械手 | |
TWI773308B (zh) | 控制裝置、機器人系統、機器人的控制方法以及程式 | |
Thompson et al. | Cognitive Grasping and Manipulation of Unknown Object with Control Grip Force using Cyber Physical System Approach | |
JP7504398B2 (ja) | 軌道生成装置、軌道生成方法、及び軌道生成プログラム | |
WO2022080132A1 (ja) | 軌道生成装置、軌道生成方法、及び軌道生成プログラム | |
CN114080304A (zh) | 控制装置、控制方法及控制程序 | |
Cervera et al. | Sensor-based learning for practical planning of fine motions in robotics | |
Taylor et al. | A Tactile-Enabled Hybrid Rigid-Soft Continuum Manipulator for Forceful Enveloping Grasps via Scale Invariant Design | |
Vladareanu et al. | Robot control intelligent interfaces using the DSmT and the neutrosophic logic | |
Bhattacharyya | Motion planning and constraint exploration for robotic surgery | |
Prado da Fonseca | Object Identification and Pose Estimation Using Bio-Inspired Tactile-Enabled Multi-Joint Fingers for In-Hand Manipulation | |
Sadanandan Anand et al. | Evaluation of Variable Impedance-and Hybrid Force/MotionControllers for Learning Force Tracking Skills | |
Karytsas | Model-Free Reinforcement Learning Control of a Pneumatic-Driven Soft Continuum Robot | |
Chen et al. | Human to robot skill transfer through haptic rendered environment | |
Bidaud et al. | A learning control system for an articulated gripper |
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 |