CN112584990B - 控制装置、控制方法以及存储介质 - Google Patents

控制装置、控制方法以及存储介质 Download PDF

Info

Publication number
CN112584990B
CN112584990B CN201980052690.6A CN201980052690A CN112584990B CN 112584990 B CN112584990 B CN 112584990B CN 201980052690 A CN201980052690 A CN 201980052690A CN 112584990 B CN112584990 B CN 112584990B
Authority
CN
China
Prior art keywords
relative
amount
control
objects
learning
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.)
Active
Application number
CN201980052690.6A
Other languages
English (en)
Other versions
CN112584990A (zh
Inventor
林剣之介
井尻善久
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Publication of CN112584990A publication Critical patent/CN112584990A/zh
Application granted granted Critical
Publication of CN112584990B publication Critical patent/CN112584990B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36404Adapt teached position as function of deviation 3-D, 2-D position workpiece
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39298Trajectory learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40607Fixed camera to observe workspace, object, workpiece, global

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

本发明提供一种用于提高执行所学会的作业的能力的通用性的控制装置、控制方法以及存储介质。本发明的一方面的控制装置设定成为最终目标的多个对象物之间的相对关系量。而且,控制装置从传感器反复获取观察数据,并根据所获取的观察数据来算出存在于环境下的多个对象物之间的相对关系量。进而,控制装置决定从开始运行控制的时间点的相对关系量直至实现最终目标的相对关系量为止的、设为目标的状态下的相对关系量的序列,并反复决定控制指令,以使根据最新的观察数据而算出的当前状态下的相对关系量变化为接下来要迁移的目标状态下的相对关系量,直至实现最终目标的相对关系量为止。并且,控制装置将所决定的控制指令输出至机器人装置。

Description

控制装置、控制方法以及存储介质
技术领域
本发明涉及一种控制装置、控制方法以及存储介质。
背景技术
在生产制品的生产线中,利用有操纵器(manipulator)等机器人装置。机构、连接器、末端执行器等机器人装置的构成元件根据要执行的作业(任务)等而具有多个变种(variation),难以通过人工来制作与它们全部对应的机器人装置的动作流程。因此,以往采用下述方法,即,在决定了机构、连接器、末端执行器等构成元件的种类后,一边利用人工来移动机器人装置而记录要执行的一连串动作中的姿势,一边直接示教要执行的作业。
但是,所述方法中,每当机构、连接器、末端执行器等构成元件受到变更时,都要对机器人装置示教要执行的作业。因此,对机器人装置示教要执行的作业非常耗费成本。因此,近年来,正研究利用机器学习来使机器人装置学会要执行的作业的方法。例如,非专利文献1中提出了一种方法:基于从摄像机获得的图像数据,通过强化学习来使机器人装置学会握持对象物的动作。根据此方法,能够使对机器人装置示教握持对象物的动作的一连串处理的至少一部分自动化。因而,能够降低对机器人装置示教作业的成本。
现有技术文献
专利文献
非专利文献1:德米特里·卡拉什尼科夫等“QT-Opt:用于基于视觉的机器人操作的可扩展深度强化学习”,arXiv预印本arXiv:1806.10293,2018年(Dmitry Kalashnikov,et al.“QT-Opt:Scalable Deep Reinforcement Learning for Vision-Based RoboticManipulation”arXiv preprint arXiv:1806.10293,2018.)
发明内容
发明所要解决的问题
本申请发明人等发现,在如上所述的机器人装置的以往的控制方法中,存在如下所述的问题。以往的控制方法中,对于要执行的作业,学习对机器人装置给予的时间序列的控制指令。即,所学习的时间序列的控制指令直接与作业相关联。因此,在执行作业的环境及对象物中的至少一者发生了轻微变化的情况下,实质上作业的内容也会发生变化,若不重新学习,机器人便有可能无法适当地执行所述作业。
例如,设想对机器人装置示教的作业是将在A地点以姿势B存在的对象物C运送到D地点。此时,若对象物C以姿势B准确地配置在A地点,则机器人装置能够基于学习结果来适当地执行所述作业。但是,若对象物C从A地点稍稍偏离地配置,或者尽管配置在A地点但从姿势B倾斜,则因机器人装置握持对象物C的位置及姿势发生变化等理由,应执行的作业的内容发生变化。即,此时,应执行的作业是“将从A地点偏离或倾斜的对象物C运送到D地点”,与“将在A地点以姿势B存在的对象物C运送到D地点”这一原本的作业不同。这样,机器人装置即使基于学习结果来运行,也有可能无法适当地执行所述作业。即,以往的控制方法中存在下述问题,即,执行所学会的作业的能力的通用性缺乏。起因于所述问题,为了使机器人装置通用地运行,须针对不同的每个作业来学习控制指令,对机器人装置示教作业所耗费的成本依然高。
本发明是在一方面鉴于此种实际情况而完成,其目的在于提供一种技术,用于提高执行所学会的作业的能力的通用性。
解决问题的技术手段
为了解决所述问题,本发明采用以下结构。
即,本发明的一方面的控制装置生成控制指令,所述控制指令用于对在存在多个对象物的环境下运转的机器人装置的运行进行控制,所述控制装置包括:目标设定部,设定成为最终目标的所述多个对象物之间的相对关系量,所述相对关系量表示与所述多个对象物之间的相对且物理的关系相关的属性;数据获取部,从对存在于所述环境下的所述多个对象物进行观察的传感器反复获取观察数据;关系确定部,根据所获取的所述观察数据,算出所述多个对象物之间的相对关系量;行动决定部,决定从开始所述运行的控制的时间点中的所述多个对象物之间的相对关系量直至实现所设定的所述最终目标的相对关系量为止的、所述多个对象物在设为目标的状态下的相对关系量的序列;指令决定部,反复决定对所述机器人装置给予的控制指令,以使根据从所述传感器获取的最新的观察数据而算出的当前状态下的相对关系量变化为所述相对关系量的序列中所含的、所述当前状态的接下来要迁移的目标状态下的相对关系量,直至实现所述最终目标的相对关系量为止;以及输出部,将所决定的所述控制指令输出至所述机器人装置。
所述结构中,与作业(任务)的执行相关联地,利用相对关系量来表达存在于机器人装置所运转的环境下的多个对象物的状况及目标,并根据使所述相对关系量变化的情况来决定控制指令。相对关系量表示与存在于环境下的多个对象物之间的相对且物理的关系相关的属性,例如多个对象物之间的相对坐标(相对位置、相对姿势)、作用于多个对象物之间的力、多个对象物之间的状态(例如是否连结)等。即,所述结构中,控制指令并非直接关联于作业,而是关联于相对关系量的变化量。由此,能够不依存于作业的内容,而是相对于使相对关系量变化的情况来示教对机器人装置给予的控制指令的序列。即,只要是在相同的相对关系量的变化下能够执行的作业,则即便所述作业的内容稍许变更,也能够使机器人装置适当地执行这些作业。因此,根据所述结构,能够提高执行所学会的作业的能力的通用性。由此能够降低对机器人装置示教作业所耗费的成本。
另外,“对象物”是可能与机器人装置的运行关联的物体,例如是末端执行器、工件、障碍物等。“环境”是对象物所处,机器人装置所运转的区域。机器人装置的种类可不受特别限定,可根据实施方式来适当选择。机器人装置例如可包含操纵器等工业机器人、可自动移动的移动体等。工业机器人例如包含所述垂直多关节机器人、水平多关节机器人(SCARA robot)、平行链接机器人(parallel link robot)、正交机器人、协同机器人等。而且,可自动移动的移动体例如包含无人驾驶飞机(drone)、构成为可自动驾驶的车辆、移动机器人(mobile robot)等。本发明可适用于可进行对象物的操作的所有种类的机器人装置。
作业(任务)是使机器人装置执行的工作,其种类可不受特别限定,可根据实施方式来适当选择。作业例如为零件搬运、零件嵌合、拧螺丝等。作业例如也可为工件的握持、工件的释放等简单的工作。作业既可预先给予,也可通过操作员的指定来给予。
“传感器”只要可观察相对关系量,则其种类可不受特别限定,可根据实施方式来适当选择。传感器例如可为摄像机。此时,观察数据为图像数据。“从传感器获取观察数据”可包含:控制装置与传感器相连接,从传感器直接获取观察数据;以及经由其他装置而从传感器间接地获取观察数据。
“最终目标”为终止点(终点(goal)),在完成作业执行的时间点实现,根据所给予的作业来设定。“开始的时间点”是开始点(起点),是关于作业的执行而开始机器人装置的运行控制之前的状态。“开始的时间点的相对关系量”既可预先给予,也可根据在关于作业的执行而开始机器人装置的运行控制之前所获取的观察数据来算出。
“目标”包含最终目标,是为了达成作业的执行而适当设定。所设定的目标的数量既可为一个(此时,仅设定最终目标),也可为多个。最终目标以外的目标是从开始点直至到达终止点为止所经由的经由点。因此,也可将最终目标简称作“目标(终点)”,将最终目标以外的目标称作“下位目标(子终点(sub goal))”。
所谓“实现最终目标的相对关系量”,是指完成作业的执行,例如是指:根据从传感器获取的观测数据而算出的相对关系量与最终目标的相对关系量一致。所述“一致”除了完全一致以外,还可包含基于阈值(容许误差)的近似。“接下来要迁移的目标”是指从当前状态开始,接下来要指向的状态(若为最终目标以外的目标,则为暂定的状态),例如是朝向最终目标而最接近当前状态的目标。“最新”是指通过控制指令来控制运行时,是即将决定所述控制指令之前的时间点。
“控制指令”与机器人装置的运行控制相关,例如是目标控制量、操作量等。“输出控制指令”包含:基于控制指令来直接控制机器人装置;以及在机器人装置包括控制器的情况下,通过向控制器输出控制指令,从而使控制器控制机器人装置的运行。
所述一方面的控制装置中,所述相对关系量也可包含所述多个对象物之间的相对坐标。而且,所述一方面的控制装置中,所述传感器可包含摄像机,所述观察数据可包含由所述摄像机所获得的图像数据,所述关系确定部也可针对由所述摄像机所获得的所述图像数据,对所述各对象物的模型进行匹配,并基于所述匹配的结果来算出所述多个对象物之间的相对坐标。根据所述结构,基于相对坐标,能够容易地提高执行对机器人装置示教的作业的能力的通用性。另外,相对坐标只要能够确定对象物之间的相对位置关系,则其表达方法也可不受特别限定。相对坐标例如可包含相对位置及相对姿势。
所述一方面的控制装置中,所述指令决定部也可包含第一学习完毕的学习模型,所述第一学习完毕的学习模型被训练成,针对第一状态下的相对关系量及第二状态下的相对关系量的输入而决定控制指令,所述控制指令用于控制所述机器人装置的运行,以使所述第一状态下的相对关系量变化为所述第二状态下的相对关系量。并且,决定所述控制指令的步骤也可包含:将所述当前状态下的所述相对关系量及所述接下来要迁移的目标状态下的所述相对关系量输入至所述第一学习完毕的学习模型;执行所述第一学习完毕的学习模型的运算处理;以及获取从所述第一学习完毕的学习模型输出的输出值,以作为决定所述控制指令的结果。根据所述结构,通过利用学习模型,能够相对于使相对关系量发生变化的情况而适当地决定对机器人装置给予的控制指令。因此,能够提高执行作业的能力的通用性,并能够基于所学会的能力来使机器人装置适当地执行作业。
另外,第一状态是训练用的“当前状态”。也可将第一状态下的相对关系量称作第一相对关系量。第二状态是训练用的“接下来要迁移的状态”。也可将第二状态下的相对关系量称作第二相对关系量。学习模型只要能够通过机器学习来获得用于决定控制指令的推断能力,则其种类也可不受特别限定,可根据实施方式来适当选择。机器学习的种类可不受特别限定,可根据实施方式来适当选择。机器学习典型的是有教学学习或强化学习。在采用有教学学习作为机器学习的情况下,学习模型例如可包含全结合神经网络、含有长短期记忆(Long Short-Term Memory,LSTM)块的循环神经网络等神经网络。以下,也将长短期记忆块记载为“LSTM块”。而且,在采用强化学习来作为机器学习的情况下,学习模型例如可包含状态价值函数、行动价值函数等价值函数。
所述一方面的控制装置中,所述机器人装置也可包括对所述机器人装置的属性进行观测的观测传感器,所述第一学习完毕的学习模型也可构成为,进一步受理由所述观测传感器所获得的属性数据的输入,决定所述控制指令的步骤也可包含:将由所述观测传感器所获得的所述属性数据进一步输入至所述第一学习完毕的学习模型。根据所述结构,通过进一步利用属性数据,能够更适当地决定对机器人装置给予的控制指令。
另外,“观测传感器”只要对机器人装置的某些属性进行观测,则其种类可不受特别限定,可根据实施方式来适当选择。观测传感器例如可为接近传感器,触觉传感器,力量传感器、编码器等。此时,属性数据例如是接近传感器、触觉传感器、力量传感器、编码器等的测定数据或者根据测定数据而算出的特征量。观测传感器可包含多个传感器。获得向第一学习完毕的学习模型输入的属性数据的时间点例如是通过控制指令来控制运行的时间点,为即将决定所述控制指令之前。
所述一方面的控制装置中,所述行动决定部也可保持表示配置空间的映射信息,所述配置空间是表达所述多个对象物之间的相对关系量的集合的配置空间,且配置有与成为所述设为目标的状态的候选的状态下的相对关系量分别对应的多个节点。并且,决定所述相对关系量的序列的步骤也可包含:在由所述映射信息所示的所述配置空间内,从所述多个节点中选择要经由的节点,由此来探索从与所述开始的时间点的状态下的相对关系量对应的节点,直至与所述最终目标的状态下的相对关系量对应的节点为止的路径;以及根据与所探索出的所述路径中所含的节点对应的相对关系量,来生成所述相对关系量的序列。根据所述结构,能够简便且适当地进行成为决定控制指令的方针的相对关系量的序列的决定(即,行动计划)。因此,能够提高执行作业的能力的通用性,并能够基于所学会的能力来使机器人装置简便且适当地执行作业。
另外,各节点(关节点、顶点)对应于多个对象物的一状态,表示所述一状态下的相对关系量。各节点可通过随机采样、手动输入等来适当设定。在各节点间,可适当设定边缘(edge)。即,映射信息也可具有包含节点及边缘的图表结构。边缘(枝,边)连接两个节点间,表示能够从与其中一个节点对应的状态迁移至与另一个节点对应的状态。对设定边缘的两个节点的组合进行决定的方法也可不受特别限定,可根据实施方式来适当选择。例如,可基于最邻近法等公知的方法来对设定边缘的两个节点的组合进行决定。路径包含连结于所选择的节点的边缘。对于路径探索,例如可采用戴克斯特拉(Dijkstra)法等公知的探索方法。而且,对于路径探索,例如也可设置经由指定的节点等限制条件。限制条件可根据实施方式来适当决定。
配置空间表达相对关系量的集合。在所述配置空间内,可设定自由区域及限制区域。与可采取作为多个对象物之间的相对关系的状态(可实现的相对关系量)对应的节点属于自由区域。另一方面,与无法采取作为多个对象物之间的相对关系的状态(无法实现的相对关系量)对应的节点属于限制区域。此时,各节点配置在自由区域。而且,边缘被适当设定为不进入限制区域。
所述一方面的控制装置中,所述行动决定部也可包含第二学习完毕的学习模型,所述第二学习完毕的学习模型被训练成,针对训练用的最终目标下的相对关系量及训练用的当前状态下的相对关系量的输入,决定所述训练用的当前状态的接下来要迁移的目标状态下的相对关系量。并且,决定所述相对关系量的序列的步骤也可包含反复执行下述内容的步骤,即:将所述当前状态下的所述相对关系量及所设定的所述最终目标的所述相对关系量输入至所述第二学习完毕的学习模型;执行所述第二学习完毕的学习模型的运算处理;以及获取从所述第二学习完毕的学习模型输出的输出值,来作为决定所述接下来要迁移的目标状态下的所述相对关系量的结果。根据所述结构,通过利用学习模型,能够提高从开始时间点直至最终目标为止决定设为目标的状态的精度。因此,基于高精度地决定的目标,能够适当决定对机器人装置给予的控制指令,由此,能够使机器人装置适当地执行作业。
所述一方面的控制装置中,所述第二学习完毕的学习模型可构成为,进一步受理从所述传感器获取的所述观察数据的输入,决定所述相对关系量的序列的步骤也可包含:将所述最新的观察数据进一步输入至所述第二学习完毕的学习模型。根据所述结构,通过进一步利用最新的观察数据,能够进一步提高决定目标状态的精度。因此,能够使机器人装置更适当地执行作业。
所述一方面的控制装置中,所述关系确定部也可包含第三学习完毕的学习模型,所述第三学习完毕的学习模型被训练成,针对训练用观察数据的输入,算出在所述训练用观察数据中出现的所述多个对象物之间的相对关系量。并且,算出所述相对关系量的步骤也可包含:将所获取的所述观察数据输入至所述第三学习完毕的学习模型;执行所述第三学习完毕的学习模型的运算处理;以及获取从所述第三学习完毕的学习模型输出的输出值来作为算出所述相对关系量的结果。根据所述结构,通过利用学习模型,能够提高从自传感器获得的观察数据导出相对关系量的精度。因此,能够相对于使相对关系量发生变化的情况而适当地决定对机器人装置给予的控制指令,由此,能够使机器人装置适当地执行作业。
所述一方面的控制装置中,所述机器人装置也可包括对所述机器人装置的属性进行观测的观测传感器,所述第三学习完毕的学习模型可构成为,进一步受理由所述观测传感器所获得的属性数据的输入,算出所述相对关系量的步骤也可包含:将由所述观测传感器所获得的所述属性数据进一步输入至所述第三学习完毕的学习模型。根据所述结构,通过进一步利用属性数据,能够进一步提高导出相对关系量的精度。因此,能够使机器人装置更适当地执行作业。
所述一方面的控制装置中,所述机器人装置可为包括末端执行器的操纵器,所述多个对象物可包含所述末端执行器,所述指令决定部也可决定与所述末端执行器相关的控制指令,所述输出部也可将所决定的控制指令输出至所述操纵器。根据所述结构,能够提高执行对操纵器示教的作业的能力的通用性。由此,能够降低对操纵器示教作业所耗费的成本。另外,末端执行器被安装在操纵器的指尖,其种类可不受特别限定,可根据实施方式来适当选择。末端执行器例如可为握爪、吸引器、起子等。
作为所述各形态的控制装置的其他形态,本发明的一方面也可为实现以上各结构的信息处理方法,也可为程序,还可为存储有此种程序的、计算机等可读取的存储介质。此处,所谓计算机等可读取的存储介质,是通过电、磁、光学、机械或化学作用来保存程序等信息的介质。
例如,本发明的一方面的控制方法是一种信息处理方法,生成控制指令,所述控制指令用于对在存在多个对象物的环境下运转的机器人装置的运行进行控制,其中,所述信息处理方法由计算机执行下述步骤:设定成为最终目标的所述多个对象物之间的相对关系量,所述相对关系量表示与所述多个对象物之间的相对且物理的关系相关的属性;从对存在于所述环境下的所述多个对象物进行观察的传感器反复获取观察数据;根据所获取的所述观察数据,算出所述多个对象物之间的相对关系量;决定从开始所述运行的控制的时间点中的所述多个对象物之间的相对关系量直至实现所设定的所述最终目标的相对关系量为止的、所述多个对象物在设为目标的状态下的相对关系量的序列;反复决定对所述机器人装置给予的控制指令,以使根据从所述传感器获取的最新的观察数据而算出的当前状态下的相对关系量变化为所述相对关系量的序列中所含的、所述当前状态的接下来要迁移的目标状态下的相对关系量,直至实现所述最终目标的相对关系量为止;以及将所决定的所述控制指令输出至所述机器人装置。
例如,本发明的一方面的控制程序是一种程序,生成控制指令,所述控制指令用于对在存在多个对象物的环境下运转的机器人装置的运行进行控制,所述程序用于使计算机执行下述步骤:设定成为最终目标的所述多个对象物之间的相对关系量,所述相对关系量表示与所述多个对象物之间的相对且物理的关系相关的属性;从对存在于所述环境下的所述多个对象物进行观察的传感器反复获取观察数据;根据所获取的所述观察数据,算出所述多个对象物之间的相对关系量;决定从开始所述运行的控制的时间点中的所述多个对象物之间的相对关系量直至实现所设定的所述最终目标的相对关系量为止的、所述多个对象物在设为目标的状态下的相对关系量的序列;反复决定对所述机器人装置给予的控制指令,以使根据从所述传感器获取的最新的观察数据而算出的当前状态下的相对关系量变化为所述相对关系量的序列中所含的、所述当前状态的接下来要迁移的目标状态下的相对关系量,直至实现所述最终目标的相对关系量为止;以及将所决定的所述控制指令输出至所述机器人装置。
发明的效果
根据本发明,能够提高执行所学会的作业的能力的通用性。
附图说明
图1示意性地例示适用本发明的场景的一例。
图2A示意性地例示实施方式的相对关系量的一例。
图2B示意性地例示实施方式的相对关系量的一例。
图2C示意性地例示实施方式的相对关系量的一例。
图2D示意性地例示实施方式的相对关系量的一例。
图2E示意性地例示实施方式的相对关系量的一例。
图2F示意性地例示实施方式的相对关系量的一例。
图3示意性地例示实施方式的控制装置的硬件结构的一例。
图4示意性地例示实施方式的机器人装置的一例。
图5A示意性地例示实施方式的与控制装置的控制处理相关的软件结构的一例。
图5B示意性地例示实施方式的与控制装置的学习处理相关的软件结构的一例。
图6例示实施方式的与控制装置对映射信息的制作相关的处理流程的一例。
图7A示意性地例示实施方式的映射信息的制作过程的一例。
图7B示意性地例示实施方式的映射信息的制作过程的一例。
图7C示意性地例示实施方式的映射信息的制作过程的一例。
图8例示实施方式的与控制装置对学习模型的机器学习相关的处理流程的一例。
图9A例示实施方式的与控制装置对机器人装置的控制相关的处理流程的一例。
图9B例示实施方式的与控制装置对机器人装置的控制相关的处理流程的一例。
图10示意性地例示实施方式的控制装置所进行的行动计划的一例。
图11A是用于说明以往的控制方法的问题的图。
图11B是用于说明以往的控制方法的问题的图。
图12是用于说明实施方式的控制方法的特征的图。
图13示意性地例示变形例的控制装置的软件结构的一例。
图14A示意性地例示适用变形例的学习装置的场景的一例。
图14B示意性地例示变形例的学习装置的硬件结构的一例。
图15示意性地例示变形例的与控制装置的控制处理相关的软件结构的一例。
图16示意性地例示变形例的与控制装置的控制处理相关的软件结构的一例。
图17A示意性地例示变形例的与控制装置的控制处理相关的软件结构的一例。
图17B示意性地例示变形例的与控制装置的学习处理相关的软件结构的一例。
图18示意性地例示变形例的与控制装置的控制处理相关的软件结构的一例。
图19A示意性地例示变形例的与控制装置的控制处理相关的软件结构的一例。
图19B示意性地例示变形例的与控制装置的学习处理相关的软件结构的一例。
图20示意性地例示变形例的与控制装置的控制处理相关的软件结构的一例。
符号的说明
1:控制装置
11:控制部
12:存储部
13:外部接口
14:输入装置
15:输出装置
16:驱动器
101:目标设定部
102:数据获取部
103:关系确定部
104:行动决定部
105:指令决定部
106:运行控制部
111:环境信息获取部
112:映射制作部
113:映射保存处理部
114:学习数据获取部
115:学习处理部
116:保存处理部
121:CAD数据
123:映射信息
125:学习数据
127:学习结果数据
81:控制程序
82:学习程序
91:存储介质
3:操纵器(机器人装置)
30:底座部
31~36:关节部
37:握爪(末端执行器)
38:力量传感器
391~394:链节
CA:摄像机(传感器)
40:图像数据(观察数据)
41:控制指令
51:神经网络(学习模型)
511:输入层
512:中间(隐藏)层
513:输出层
WS:环境
W1:第一工件
W2:第二工件
CO1~CO3:局部坐标系
rc1~rc3:相对坐标(相对关系量)
具体实施方式
以下,基于附图来说明本发明的一方面的实施方式(以下也称作“本实施方式”)。但是,以下说明的本实施方式在所有方面不过是本发明的例示。当然能够不脱离本发明的范围而进行各种改良或变形。即,在本发明的实施时,也可适当采用与实施方式相应的具体结构。另外,通过自然语言说明了本实施方式中出现的数据,但更具体而言,是以计算机可识别的伪语言、命令、参数、机器语言等来指定。
§1适用例
首先,使用图1来说明适用本发明的场景的一例。图1示意性地例示本实施方式的控制装置1的适用场景的一例。图1的示例中,设想了对包括握爪37的垂直多关节型的操纵器3的运行进行控制的场景。操纵器3是本发明的“机器人装置”的一例,握爪37是本发明的“末端执行器”的一例。但是,本发明的适用对象也可不限定于此种示例,可适用于对某些机器人装置的运行进行控制的所有场景。
如图1所示,本实施方式的控制装置1是一种计算机,其生成控制指令41,所述控制指令41用于对在存在多个对象物的环境WS下运转的机器人装置(操纵器3)的运行进行控制。环境WS是对象物所处,机器人装置所运转的区域。对象物是可能与机器人装置的运行关联的物体,例如是末端执行器、工件、障碍物等。对象物也可包含机器人装置的构成元件。本实施方式中,在环境WS下,存在握爪37、第一工件W1及第二工件W2作为对象物的一例。
控制装置1从对存在于环境WS下的多个对象物进行观察的传感器反复获取观察数据,根据所获取的观察数据来算出多个对象物之间的相对关系量。相对关系量表示与多个对象物之间的相对且物理的关系相关的属性。相对关系量例如是多个对象物之间的相对坐标(相对位置、相对姿势)、作用于多个对象物之间的力、多个对象物之间的状态(例如是否连结)等。本实施方式中,作为传感器的一例,采用了摄像机CA。而且,本实施方式中,如后所述,相对关系量包含多个对象物之间的相对坐标。因此,控制装置1从摄像机CA获取图像数据40来作为观察数据,根据所获取的图像数据40来算出包含相对坐标的相对关系量。
控制装置1设定作为最终目标的多个对象物之间的相对关系量。最终目标是根据使操纵器3执行的作业(任务)来决定。控制装置1对从开始运行控制的时间点直至达成所述最终目标为止的相对关系量的迁移进行计划,按照所计划的相对关系量的迁移,来决定对操纵器3给予的控制指令41。“开始的时间点”是所述计划中的开始点(起点),是关于作业的执行而开始机器人装置(操纵器3)的运行控制之前的状态。“最终目标”是所述计划中的终止点(终点),在完成作业执行的时间点实现,根据所给予的作业来设定。
具体而言,控制装置1决定从开始运行控制的时间点的多个对象物之间的相对关系量直至实现所设定的最终目标的相对关系量为止的、多个对象物在设为目标的状态下的相对关系量的序列。控制装置1反复决定对操纵器3给予的控制指令41,以使根据从传感器获取的最新的观察数据而算出的当前状态下的相对关系量变化为相对关系量的序列中所含的、当前状态的接下来要迁移的目标状态下的相对关系量,直至实现最终目标的相对关系量为止。
并且,控制装置1将所决定的控制指令41输出至操纵器3。控制指令41与机器人装置(操纵器3)的运行控制相关,例如是目标控制量、操作量等。而且,输出控制指令41包含:基于控制指令41来直接控制机器人装置;以及在机器人装置包括控制器的情况下,通过将控制指令41给予至控制器,从而使控制器控制机器人装置的运行。本实施方式中,控制装置1基于控制指令41来控制操纵器3的运行,以作为控制指令41的输出处理。由此,操纵器3的运行受到控制,以执行所给予的作业。
进一步使用图2A~图2F来说明控制装置1所进行的运行控制的具体例。图1及图2A~图2F示意性地例示了下述作业来作为使操纵器3执行的作业的一例,即,通过握爪37来握持配置在远离第二工件W2的场所的第一工件W1,并将所握持的第一工件W1搬运到第二工件W2上。图1例示了下述场景,即,所述计划的结果是将相对关系量的序列RS决定为,从开始的时间点st直至最终目标gn为止,以n(n为自然数)次步骤来执行所述零件搬运的作业。图2A~图2F示意性地例示使操纵器3执行将第一工件W1配置到第二工件W2上的作业的过程。
但是,使操纵器3执行的作业也可不限于此种零件搬运,可根据实施方式来适当选择。作业除了零件搬运,例如可为零件嵌合、拧螺丝等。作业例如也可为工件的握持、工件的释放等的简单的工作。而且,用于执行一连串作业的步骤数,即,序列RS中所含的相对关系量的数量也可不限定于此种示例,可根据实施方式来适当选择。进而,图1的示例中,在开始运行控制的时间点st与最终目标gn之间,设定有最终目标gn以外的目标(g1、g2等)。但是,设定相对关系量的序列的处理的示例也可不限定于此种示例,也可将相对关系量的序列决定为,在开始的时间点st之后便设定最终目标gn,换言之,不存在最终目标gn以外的目标。
首先,对相对关系量的一例进行说明。如图2A所示,本实施方式的相对关系量包含相对坐标(rc1,rc2,rc3)。相对坐标rc1表示从握爪37的局部坐标系CO1观察的第一工件W1的局部坐标系CO2,表示握爪37与第一工件W1之间的相对位置及姿势的关系。相对坐标rc2表示从握爪37的局部坐标系CO1观察的第二工件W2的局部坐标系CO3,表示握爪37与第二工件W2之间的相对位置及姿势的关系。相对坐标rc3是表示从第一工件W1的局部坐标系CO2观察的第二工件W2的局部坐标系CO3,表示第一工件W1与第二工件W2之间的相对位置及姿势的关系。
本实施方式中,各相对坐标(rc1,rc2,rc3)包含以三维空间的三个轴(前后、左右、上下;相对位置)来表达的相对位置、及以各轴的旋转(翻滚(roll)、俯仰(pitch)、偏航(yaw))来表达的相对姿势。各相对坐标(rc1,rc2,rc3)是本发明的“多个对象物之间的相对坐标”的一例。但是,相对坐标的表达也可不限定于此种示例,可根据实施方式来适当决定。相对坐标例如也可被设定为,仅包含相对位置及相对姿势中的其中任一个。而且,相对坐标的给出方式也可不限定于此种示例,可根据实施方式来适当决定。例如,各相对坐标(rc1,rc2,rc3)的关系也可予以反转,以使相对坐标rc1表示从第一工件W1的局部坐标系CO2观察的握爪37的局部坐标系CO1等。
接下来,基于所述相对关系量来说明决定控制指令41的过程的一例。本实施方式中,零件搬运的一连串动作下的各状态是通过包含各相对坐标(rc1,rc2,rc3)的相对关系量来表达。如图2A所示,在开始运行控制的时间点st,第一工件W1远离第二工件W2而配置,握爪37在远离第一工件W1及第二工件W2的位置倾斜地配置。开始的时间点st时的相对关系量r0中所含的各相对坐标(rc1,rc2,rc3)表示此状态下的握爪37、第一工件W1及第二工件W2之间的相对位置及姿势的关系。本实施方式中,所述相对关系量r0的各相对坐标(rc1,rc2,rc3)是根据在关于作业的执行而开始操纵器3的运行控制之前(开始的时间点st)获取的图像数据401来算出。
另一方面,如图2F所示,所述作业的一例中的最终目标gn是:握爪37握持住第一工件W1的上部,并将所握持的第一工件W1配置到第二工件W2上。最终目标gn中的相对关系量rn中所含的各相对坐标(rc1,rc2,rc3)表示此状态下的握爪37、第一工件W1及第二工件W2之间的相对位置及姿势的关系。所述相对关系量rn是根据使操纵器3执行的作业而适当给予。
控制装置1决定从所述开始的时间点st的相对关系量r0直至实现最终目标gn的相对关系量rn为止的、多个对象物在设为目标的状态下的相对关系量的序列RS。“目标”包含最终目标gn,是为了达成作业的执行而适当设定。所设定的目标的数量既可为一个,也可为多个。图1的示例中,设定有包含最终目标gn在内的n个目标(g1、g2等)。最终目标gn以外的目标(g1、g2等)是从开始点直至到达终止点为止所经由的经由点(对应于中途状态)。因此,也可将最终目标gn简称作“目标(终点)”,将最终目标gn以外的目标称作“下位目标(子终点)”。
图2B~图2E示意性地例示决定相对关系量的序列RS的结果所规定的中途状态的目标(g1、g2等)的一例。具体而言,图2B的示例中,作为开始的时间点st的接下来要迁移的目标g1而规定了:变更握爪37的姿势以使其可握持第一工件W1,并将握爪37配置到第一工件W1的上空。所述目标g1下的相对关系量r1中所含的各相对坐标(rc1,rc2,rc3)被设定为,表示此状态下的握爪37、第一工件W1及第二工件W2之间的相对位置及姿势的关系。图2C的示例中,作为目标g1的接下来要迁移的目标g2而规定了:使握爪37下降,利用握爪37来握持第一工件W1的上部。所述目标g2下的相对关系量r2中所含的各相对坐标(rc1,rc2,rc3)被设定为,表示此状态下的握爪37、第一工件W1及第二工件W2之间的相对位置及姿势的关系。
这样,各目标下的相对关系量被适当决定为,对应于开始的时间点st的相对关系量r0向最终目标gn下的相对关系量rn迁移的过程的一时间点(即,中途状态)。图2D的示例中,作为在目标g2与最终目标gn之间所规定的目标,表示了握持有第一工件W1的握爪37靠近第二工件W2的场景。所述目标下的相对关系量rr中所含的各相对坐标(rc1,rc2,rc3)被设定为,表示此状态下的握爪37、第一工件W1及第二工件W2之间的相对位置及姿势的关系。图2E的示例中,作为即将到达最终目标gn之前的目标,表示了握持有第一工件W1的握爪37位于第二工件W2上空的场景。所述目标下的相对关系量r(n-1)中所含的各相对坐标(rc1,rc2,rc3)被设定为,表示此状态下的握爪37、第一工件W1及第二工件W2之间的相对位置及姿势的关系。
控制装置1反复决定对操纵器3给予的控制指令41,以使根据从摄像机CA获取的最新的图像数据40而算出的当前状态下的相对关系量变化为相对关系量的序列RS中所含的、当前状态的接下来要迁移的目标状态下的相对关系量,直至实现最终目标gn的相对关系量rn为止。在所述反复的最初的步骤s1中,开始的时间点st的初始状态为当前状态n1。即,根据最新的图像数据401而算出的当前状态n1下的相对关系量p1与开始的时间点st的相对关系量r0相同。所谓“最新”,是指通过控制指令来控制运行时,是即将决定所述控制指令之前的时间点。而且,“接下来要迁移的目标”是指从当前状态开始,接下来要指向的状态(若为最终目标以外的目标,则为暂定的状态),例如是朝向最终目标而最接近当前状态的目标。因此,当前状态n1的接下来要迁移的目标为目标g1。因此,步骤s1中,控制装置1决定控制指令411,以使最新的图像数据401所算出的当前状态n1下的相对关系量p1(图2A)变化为目标g1的状态下的相对关系量r1(图2B)。操纵器3基于所决定的控制指令411来控制运行。
当基于所述控制指令411的操纵器3的运行控制适当完成时,握爪37、第一工件W1及第二工件W2成为图2B所示的状态。即,在下个步骤s2中,根据最新的图像数据402而算出的当前状态n2下的相对关系量p2与在执行所述步骤s2之前所达成的目标g1的相对关系量r1一致或近似。所述当前状态n2的接下来要迁移的目标是目标g1的接下来设定的目标g2。因此,步骤s2中,控制装置1决定控制指令412,以使根据图像数据402而算出的当前状态n2下的相对关系量p2(图2B)变化为目标g2的状态下的相对关系量r2(图2C)。操纵器3的运行基于所决定的控制指令412而受到控制。
反复执行此种控制指令41的决定以及基于所决定的控制指令41的、操纵器3的运行控制。借由所述反复,握爪37、第一工件W1及第二工件W2的状态从开始的时间点st的状态迁移向最终目标gn的状态。在即将实现最终目标gn之前的步骤sn的时间点,根据最新的图像数据40n而算出的当前状态nn下的相对关系量pn与在最终目标gn之前达成的目标的相对关系量r(n-1)一致或近似。所述步骤sn中,控制装置1决定控制指令41n,以使根据图像数据40n而算出的当前状态nn下的相对关系量pn(图2E)变化为最终目标gn的状态下的相对关系量rn(图2F)。操纵器3的运行基于所决定的控制指令41n而受到控制。
当所述步骤sn中的控制下的运行完成时,实现最终目标gn的相对关系量rn,即,由握爪37所握持的第一工件W1被配置到第二工件W2上的状态。另外,所谓实现最终目标gn的相对关系量rn,是指作业的执行完成,例如:根据从摄像机CA获取的图像数据40而算出的相对关系量与最终目标gn的相对关系量rn一致。所述“一致”除了完全一致以外,也可包含基于阈值(容许误差)的近似。执行所述反复的处理,直至实现最终目标gn为止,由此,控制操纵器3来执行下述一连串动作,即,通过握爪37来握持被配置在远离第二工件W2的场所的第一工件W1,并将所握持的第一工件W1搬运到第二工件W2上。
如上所述,本实施方式中,与作业的执行相关联地,利用相对关系量来表达存在于操纵器3所运转的环境WS下的多个对象物的状况及目标,并根据使所述相对关系量变化的情况来决定控制指令41。相对关系量表示与存在于环境WS下的多个对象物(握爪37、第一工件W1、第二工件W2)之间的相对且物理的关系相关的属性,本实施方式中,包含各相对坐标(rc1,rc2,rc3)。即,本实施方式中,控制指令41并非直接关联于作业,而是关联于相对关系量的变化量。由此,能够不依存于作业的内容,而是相对于使相对关系量变化的情况来示教对操纵器3给予的时间序列的控制指令41。因此,根据本实施方式,能够提高执行所学会的作业的能力的通用性。由此,能够降低对操纵器3示教作业所耗费的成本。
§2结构例
[硬件结构]
<控制装置>
接下来,使用图3来说明本实施方式的控制装置1的硬件结构的一例。图3示意性地例示本实施方式的控制装置1的硬件结构的一例。
如图3所示,本实施方式的控制装置1是由控制部11、存储部12、外部接口13、输入装置14、输出装置15及驱动器16电连接而成的计算机。另外,图3中,将外部接口记作“外部I/F”。
控制部11包含作为硬件处理器的中央处理器(Central Processing Unit,CPU)、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)等,且构成为,基于程序及各种数据来执行信息处理。存储部12为存储器的一例,例如包含硬盘驱动器、固态硬盘等。本实施方式中,存储部12存储控制程序81、学习程序82、计算机辅助设计(Computer-Aided Design,CAD)数据121、映射信息123、学习数据125、学习结果数据127等各种信息。
控制程序81是用于使控制装置1执行与后述的操纵器3的控制相关的信息处理(图9A、图9B)的程序。控制程序81包含所述信息处理的一连串命令。学习程序82是用于使控制装置1执行与相对关系量的序列RS的决定时所利用的映射信息123及控制指令41的决定时所利用的学习完毕的学习模型(后述的神经网络51)的构建相关的信息处理(图6、图8)的程序。学习程序82包含所述信息处理的一连串命令。CAD数据121包含存在于环境WS下的各对象物的模型。映射信息123及学习结果数据127是作为学习程序82的执行结果而生成。映射信息123表示配置空间,所述配置空间表达多个对象物之间的相对关系量的集合,且配置有与成为设为目标的状态的候选的状态下的相对关系量分别对应。学习数据125被用于学习模型的机器学习。学习结果数据127是用于进行通过机器学习而构建的学习完毕的学习模型的设定的数据。详细将后述。
外部接口13例如为通用串行总线(Universal Serial Bus,USB)端口、专用端口等,是用于与外部装置连接的接口。外部接口13的种类及数量可根据所连接的外部装置的种类及数量来适当选择。本实施方式中,控制装置1经由外部接口13而连接于操纵器3及摄像机CA。
摄像机CA被适当配置成,对存在于操纵器3所运转的环境WS下的各对象物(握爪37、第一工件W1、第二工件W2)进行观察。所述摄像机CA的种类可不受特别限定,可根据实施方式来适当决定。对于摄像机CA,例如可利用数字摄像机、摄影机等公知的摄像机。控制装置1能够经由外部接口13来从摄像机CA获取图像数据40。图像数据40为本发明的“观察数据”的一例。另外,图1及图3的示例中,摄像机CA是与操纵器3独立地设置。但是,摄像机CA的结构也可不限定于此种示例。摄像机CA也可与操纵器3一体地设置。
输入装置14例如是鼠标、键盘等用于进行输入的装置。而且,输出装置15例如是显示器、扬声器等用于进行输出的装置。操作员通过利用输入装置14及输出装置15,能够对控制装置1进行操作。
驱动器16例如是光盘(Compact Disc,CD)驱动器、数字多功能光盘(DigitalVersatile Disc,DVD)驱动器等,是用于读取存储在存储介质91中的程序的驱动装置。驱动器16的种类可根据存储介质91的种类来适当选择。所述控制程序81、学习程序82、CAD数据121及学习数据125中的至少任一个也可被存储在所述存储介质91中。
存储介质91是以计算机及其他装置、机械等可读取所记录的程序等信息的方式,通过电、磁、光学、机械或化学作用来保存所述程序等信息的介质。控制装置1也可从所述存储介质91中获取所述控制程序81、学习程序82、CAD数据121及学习数据125中的至少任一个。
此处,图3中,作为存储介质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)等通用的信息处理装置、可编程逻辑控制器(Programmable Logic Controller,PLC)等控制器等。
<操纵器>
接下来,使用图4来说明本实施方式的操纵器3的硬件结构的一例。图4示意性地例示本实施方式的操纵器3的硬件结构的一例。
本实施方式的操纵器3是六轴的垂直多关节型工业机器人,包括底座部30以及六个关节部31~36。各关节部31~36内置有伺服马达(未图示),由此构成为,能够以各轴为中心而旋转。第一关节部31连接于底座部30,使前端侧的部分绕底座的轴旋转。第二关节部32连接于第一关节部31,使前端侧的部分朝前后方向旋转。第三关节部33经由链节391而连接于第二关节部32,使前端侧的部分朝上下方向旋转。第四关节部34经由链节392而连接于第三关节部33,使前端侧的部分绕链节392的轴旋转。第五关节部35经由链节393而连接于第四关节部34,使前端侧的部分朝上下方向旋转。第六关节部36经由链节394而连接于第五关节部35,使前端侧的部分绕链节394的轴旋转。在第六关节部36的前端侧,与力量传感器38一同安装有握爪37。
在各关节部31~36,进而内置有编码器(未图示)。编码器构成为,能够对各关节部31~36的角度(控制量)进行测定。编码器的测定数据被利用于各关节部31~36的角度控制。而且,力量传感器38构成为,对作用于握爪37的六轴方向的力及力矩(moment)进行检测。力量传感器38的测定数据被利用来调整握爪37的握持力,或者探测是否有异常的力作用于握爪37。
另外,操纵器3的硬件结构也可不限定于此种示例。关于操纵器3的具体的硬件结构,可根据实施方式来适当地进行构成元件的省略、替换及追加。例如,操纵器3也可包括编码器及力量传感器38以外的传感器,以对操纵器3的控制量或其他属性进行观测。操纵器3的轴数也可不限定于六轴。而且,对于操纵器3,也可采用公知的工业机器人。
[软件结构]
(A)控制处理
接下来,使用图5A来说明本实施方式的与控制装置1的控制处理相关的软件结构的一例。图5A示意性地例示本实施方式的与控制装置1的控制处理相关的软件结构的一例。
控制装置1的控制部11将存储在存储部12中的控制程序81展开到RAM中。并且,控制部11通过CPU来解释及执行在RAM中展开的控制程序81,以控制各构成元件。由此,如图5A所示,本实施方式的控制装置1作为包括目标设定部101、数据获取部102、关系确定部103、行动决定部104、指令决定部105及运行控制部106作为软件模块的计算机而运行。即,本实施方式中,与控制处理相关的控制装置1的各软件模块是通过控制部11(CPU)而实现。
目标设定部101设定成为最终目标gn的多个对象物之间的相对关系量rn。最终目标gn的相对关系量rn如所述图2F所例示的那样,根据所给予的作业T而设定。所述最终目标gn的相对关系量rn既可通过CAD等的模拟器来给予,也可通过操作员的指定来给予。
数据获取部102从对存在于环境WS下的多个对象物进行观察的传感器反复获取观察数据。关系确定部103根据所获取的观察数据,来算出多个对象物之间的相对关系量。本实施方式中,相对关系量包含多个对象物之间的相对坐标。而且,传感器包含摄像机CA,观察数据包含由摄像机CA所获得的图像数据40。因此,本实施方式中,数据获取部102从摄像机CA反复获取图像数据40来作为观察数据。关系确定部103根据所获取的图像数据40,来算出包含多个对象物之间的相对坐标的相对关系量。
根据图像数据40来算出相对坐标的方法可不受特别限定,可根据实施方式来适当选择。本实施方式中,关系确定部103利用各对象物的模型来算出各对象物之间的相对坐标。具体而言,关系确定部103针对由摄像机CA所获得的图像数据40,对由CAD数据121所示的各对象物的模型进行匹配。关系确定部103基于所述匹配的结果来算出多个对象物之间的相对坐标。
行动决定部104决定从开始运行控制的时间点st的相对关系量r0直至实现所设定的最终目标gn的相对关系量rn为止的、多个对象物在设为目标(g1等)的状态下的相对关系量的序列RS。本实施方式中,开始的时间点st的相对关系量r0是根据在即将关于作业的执行而开始操纵器3的运行控制之前的时间点获取的图像数据40而算出。而且,本实施方式中,行动决定部104保持映射信息123。对于相对关系量的序列RS的决定,利用所述映射信息123。具体而言,行动决定部104在由映射信息123所示的配置空间内,从多个节点中选择要经由的节点,由此来探索从与开始的时间点st的状态下的相对关系量r0对应的节点直至与最终目标gn的状态下的相对关系量rn对应的节点为止的路径。并且,行动决定部104根据与所探索出的路径中所含的节点对应的相对关系量(r1等)来生成相对关系量的序列RS。
指令决定部105反复决定对操纵器3给予的控制指令41,以使根据从摄像机CA获取的最新的图像数据40而算出的当前状态下的相对关系量变化为相对关系量的序列RS中所含的、当前状态的接下来要迁移的目标下的相对关系量,直至实现最终目标gn的相对关系量rn为止。图5A的示例中,作为所述反复的第s次处理,例示了从当前状态ns迁移至下个目标gs的状态的场景。在此场景下,指令决定部105决定控制指令41s,以使根据最新的图像数据40s而算出的当前状态ns下的相对关系量ps变化为接下来要迁移的目标gs下的相对关系量rs。
决定控制指令41的方法可不受特别限定,可根据实施方式来适当选择。本实施方式中,指令决定部105保持学习结果数据127,由此,包含学习完毕的神经网络51。所述学习完毕的神经网络51为本发明的“第一学习完毕的学习模型”的一例。指令决定部105通过利用学习完毕的神经网络51,从而决定控制指令41。具体而言,指令决定部105将当前状态ns下的相对关系量ps及接下来要迁移的目标gs的状态下的相对关系量rs输入至神经网络51,执行神经网络51的运算处理。由此,指令决定部105获取从神经网络51输出的输出值来作为决定控制指令41s的结果。
运行控制部106将所决定的控制指令41输出至操纵器3。所述运行控制部106是本发明的“输出部”的一例。本实施方式中,运行控制部106基于控制指令41来控制操纵器3的运行,以作为所述控制指令41的输出处理。反复指令决定部105及运行控制部106的处理,直至实现最终目标gn的相对关系量rn为止,由此来控制操纵器3执行例如所述图2A~图2F所例示的、与所给予的作业T的执行相关的一连串动作。
(神经网络)
接下来,对作为学习模型的一例的神经网络51进行说明。如图5A所示,本实施方式的神经网络51是被用于所谓的深层学习的多层结构的神经网络,从输入侧起依序包括输入层511、中间(隐藏)层512及输出层513。另外,图5A的示例中,神经网络51包括一层中间层512,输入层511的输出被输入至中间层512,中间层512的输出被输入至输出层513。但是,中间层512的数量也可不限于此种示例。神经网络51也可包括两层以上的中间层。
各层511~513中所含的神经元的数量可根据实施方式来适当选择。邻接的层的神经元彼此适当结合,对于各结合设定有权重(结合负荷)。对于各神经元设定有阈值,基本上,根据各输入与各权重之积的和是否超过阈值来决定各神经元的输出。各层511~513中所含的各神经元间的结合的权重及各神经元的阈值为学习模型的运算参数的一例。
指令决定部105将当前状态ns下的相对关系量ps及接下来要迁移的目标gs的状态下的相对关系量rs输入至输入层511,作为神经网络51的运算处理,从输入侧起依序进行各层511~513中所含的各神经元的点火判定。由此,指令决定部105获取从输出层513输出的输出值,以作为决定控制指令41s的结果。
另外,本实施方式中,表示此种学习完毕的神经网络51的结构(例如神经网络的层数、各层中的神经元的个数、神经元彼此的结合关系、各神经元的传递函数)以及运算参数(例如各神经元间的结合的权重、各神经元的阈值)的信息包含在学习结果数据127中。指令决定部105参照学习结果数据127,来进行根据当前状态及接下来要迁移的目标来决定控制指令41的处理中所利用的学习完毕的神经网络51的设定。
(B)学习处理
接下来,使用图5B来说明本实施方式的与控制装置1的学习处理相关的软件结构的一例。图5B示意性地例示本实施方式的与控制装置1的学习处理相关的软件结构的一例。
控制装置1的控制部11将存储在存储部12中的学习程序82展开到RAM中。并且,控制部11通过CPU来解释及执行在RAM中展开的学习程序82,以控制各构成元件。由此,如图5B所示,本实施方式的控制装置1作为包括环境信息获取部111、映射制作部112、映射保存处理部113、学习数据获取部114、学习处理部115及保存处理部116作为软件模块的计算机而运行。即,本实施方式中,与学习处理相关的控制装置1的各软件模块是通过控制部11(CPU)而实现。
环境信息获取部111获取与存在于执行作业T的环境WS下的各对象物相关的环境信息(例如CAD数据121)。映射制作部112利用所获取的环境信息,来制作表示配置空间的映射信息123。映射保存处理部113将所制作的映射信息123保存到规定的存储区域中。规定的存储区域例如可为控制部11内的RAM、存储部12、外部存储装置、存储介质或它们的组合。
存储介质例如可为CD、DVD等,控制部11也可将映射信息123经由驱动器16而保存到存储介质中。外部存储装置例如可为网络附加存储器(Network Attached Storage,NAS)等数据服务器。此时,控制装置1例如可进一步包括有线局域网(Local Area Network,LAN)模块、无线LAN模块等通信接口,控制部11也可利用通信接口,将映射信息123经由网络而保存到数据服务器中。而且,外部存储装置例如也可为连接于控制装置1的外置的存储装置。
学习数据获取部114获取神经网络51的机器学习中所利用的学习数据125。学习数据125例如包含多个学习数据集1250,所述多个学习数据集1250分别包含第一状态下的相对关系量1251及第二状态下的相对关系量1252与控制指令1253的组合,所述控制指令1253用于控制操纵器3的运行,以从相对关系量1251变化为相对关系量1252。第一状态相当于训练用的“当前状态”。第二状态相当于训练用的“接下来要迁移的状态”。因此,也可将相对关系量1251称作“第一相对关系量”,将相对关系量1252称作“第二相对关系量”。第一状态下的相对关系量1251及第二状态下的相对关系量1252被利用作为训练数据(输入数据)。另一方面,控制指令1253被利用作为教学数据(正解数据)。
学习处理部115利用所获取的学习数据125来实施神经网络51的机器学习。即,学习处理部115通过机器学习来训练神经网络51,以使其针对相对关系量1251及相对关系量1252的输入而决定控制指令(控制指令1253),所述控制指令(控制指令1253)用于控制操纵器3的运行,以使各对象物之间的相对关系量从相对关系量1251变化为相对关系量1252。由此,构建学习完毕的神经网络51。保存处理部116将与所构建的学习完毕的神经网络51相关的信息保存到规定的存储区域。
(C)其他
关于控制装置1的各软件模块,以后述的运行例来详细说明。另外,本实施方式中,对控制装置1的各软件模块均通过通用的CPU来实现的示例进行了说明。但是,以上的软件模块的一部分或全部也可通过一个或多个专用的处理器来实现。而且,关于控制装置1的软件结构,也可根据实施方式来适当地进行软件模块的省略、替换及追加。
§3运行例
接下来,对控制装置1的运行例进行说明。本实施方式的控制装置1执行制作映射信息123的处理以及构建学习完毕的神经网络51的处理这两个处理,以作为学习处理。而且,本实施方式的控制装置1执行用于控制操纵器3的运行的处理。以下,对各处理流程的一例进行说明。但是,以下说明的各处理流程不过是一例,各步骤可尽可能地变更。进而,关于以下说明的各处理流程,可根据实施方式来适当地进行步骤的省略、替换及追加。
(3-1)映射信息的制作
首先,使用图6及图7A~图7C来说明与映射信息123的制作相关的处理流程的一例。图6是表示本实施方式的与控制装置1对映射信息123的制作相关的处理流程的一例的流程图。而且,图7A~图7C示意性地例示制作映射信息123的过程的一例。
(步骤S101)
步骤S101中,控制部11作为环境信息获取部111而运行,获取与存在于执行作业T的环境WS下的各对象物相关的环境信息。环境信息只要可模拟各对象物之间的相对关系量,则其格式及种类可不受特别限定,可根据实施方式来适当选择。控制部11例如也可获取CAD数据121来作为环境信息。CAD数据121包含表示各对象物的模型(例如三维(ThreeDimensional,3D)模型)等的物理结构的结构信息。所述CAD数据121可由公知的软件而生成。当获取环境信息时,控制部11将处理推进至下个步骤S102。
(步骤S102及步骤S103)
步骤S102及步骤S103中,控制部11作为映射制作部112而运行,进行配置空间的制作及设定。具体而言,步骤S102中,控制部11利用所获取的环境信息来制作配置空间,所述配置空间表达多个对象物(本实施方式中为握爪37、第一工件W1、第二工件W2)之间的相对关系量的集合。在下个步骤S103中,在所制作的配置空间内设定自由区域及限制区域。
图7A示意性地例示所制作的配置空间SP的一例。图7A中,为了便于说明,以二维来表达配置空间SP。但是,配置空间SP的维度依存于相对关系量,因此未必限于二维。在后述的图7B及图7C中也同样。属于配置空间SP的节点(点)对应于多个对象物之间的相对关系量。
各对象物具有物理结构,因此作为各对象物的相对关系量,存在可实现的相对关系量与无法实现的相对关系量。例如,像所述图2A等那样,握爪37、第一工件W1及第二工件W2各自在可移动的范围内分隔的状态是可采取作为各对象物之间的相对关系的状态,此状态下的相对关系量可实现。另一方面,例如尽管第一工件W1及第二工件W2无法彼此贯穿,但其中任一者贯穿了另一者的状态是无法采取作为各对象物之间的相对关系的状态,此状态下的相对关系量无法实现。而且,例如根据操纵器3的结构,握爪37可移动的范围及角度受到限制。因此,握爪37相对于其他对象物而移动到无法移动的范围的状态是无法采用作为各对象物之间的相对关系的状态,此状态下的相对关系量无法实现。
因此,控制部11在制作了表达相对关系量的集合的配置空间SP后,制作CAD数据121,根据各对象物的物理结构来设定与可实现的相对关系量对应的节点所属的自由区域、及与无法实现的相对关系量对应的节点所属的限制区域。图7A的示例中,区域E1为自由区域,其他的区域E2~E4为限制区域。当自由区域及限制区域的设定完成时,控制部11将处理推进至下个步骤S104。
(步骤S104)
步骤S104中,控制部11作为映射制作部112而运行,在配置空间的自由区域内,配置与可采取作为各对象物之间的相对关系的各状态下的相对关系量分别对应的多个节点。各节点例如对应于成为设为目标(g1等)的状态的候选的状态下的相对关系量。
图7B示意性地例示在配置空间SP的自由区域(区域E1)内配置各节点Nd的场景。各节点Nd对应于多个对象物之间的相对关系的一状态,表示所述一状态下的相对关系量(本实施方式中为各相对坐标rc1~rc3)。各节点Nd例如也可通过随机采样等公知的方法来设定。而且,各节点Nd例如也可通过操作员经由输入装置14的指定来设定。
而且,控制部11也可设定与开始的时间点st的候选对应的节点(开始点)和与最终目标gn的候选对应的节点(终止点),并适当探索从所设定的开始点直至终止点为止的路径。对于所述路径探索,也可采用公知的方法。而且,所述路径探索既可通过模拟来进行,也可驱动操纵器3来进行。并且,控制部11在所述路径探索中,也可提取迁移概率高的节点,例如出现频率为阈值以上的各节点,并将所提取的各节点设定为节点Nd。
所设定的各节点Nd也可包含与开始的时间点st及最终目标gn各自的候选对应的节点。当各节点Nd的设定完成时,控制部11将处理推进至下个步骤S105。
(步骤S105)
步骤S105中,控制部11作为映射制作部112而运行,将各节点间以边缘予以连结。
图7C示意性地例示将各节点Nd间以边缘Eg予以连结的场景。边缘Eg连接两个节点Nd之间,表示可从与其中一个节点Nd对应的状态迁移至与另一个节点Nd对应的状态。因此,边缘Eg被设定为不进入限制区域(图7C的示例中为区域E2~E4)。
对设定边缘Eg的两个节点Nd的组合进行决定的方法可根据实施方式来适当选择。例如,也可基于最邻近法等公知的方法来对设定边缘Eg的两个节点Nd的组合进行决定。而且,例如也可通过操作员经由输入装置14的指定,来对设定边缘Eg的两个节点Nd的组合进行决定。由此,当设定好边缘Eg时,映射信息123的制作完成。即,本实施方式中,映射信息123具有包含节点Nd及边缘Eg的图表结构。当映射信息123的制作完成时,控制部11将处理推进至下个步骤S106。
(步骤S106)
步骤S106中,控制部11作为映射保存处理部113而运行,将所制作的映射信息123保存到规定的存储区域中。规定的存储区域例如可为控制部11内的RAM、存储部12、外部存储装置、存储介质或它们的组合。通过以上操作,控制部11结束与映射信息123的制作相关的一连串处理。
(3-2)神经网络的机器学习
接下来,使用图8来说明与在控制指令41的决定处理中所利用的学习完毕的神经网络51的构建相关的处理流程的一例。图8是表示本实施方式的与控制装置1对学习完毕的神经网络51的构建相关的处理流程的一例的流程图。
(步骤S201)
步骤S201中,控制部11作为学习数据获取部114而运行,获取神经网络51的机器学习中所利用的学习数据125。本实施方式中,学习数据125包含多个学习数据集1250,所述多个学习数据集1250分别包含相对关系量1251及相对关系量1252与控制指令1253的组合。
获取各学习数据集1250的方法可不受特别限定,可根据实施方式来适当选择。例如,准备基于模拟器的虚拟环境或实际环境,在所准备的环境下,在各种条件下给予第一状态及第二状态的组合,并驱动操纵器3,以使多个对象物之间的相对关系从所给予的第一状态迁移至第二状态。并且,将进行驱动以从第一状态适当迁移至第二状态时的控制指令1253与第一状态下的相对关系量1251及第二状态下的相对关系量1252加以组合。由此,便能够生成各学习数据集1250。
各学习数据集1250既可通过计算机的运行而自动生成,也可通过操作员经由输入装置14的操作而手动生成。而且,各学习数据集1250的生成既可由控制装置1来进行,也可由控制装置1以外的其他计算机来进行。在由控制装置1生成各学习数据集1250的情况下,控制部11自动地、或者通过操作员的操作而手动地执行所述一连串处理,由此,获取包含多个学习数据集1250的学习数据125。另一方面,在由其他计算机生成各学习数据集1250的情况下,控制部11例如经由网络、存储介质91等,而获取包含由其他计算机所生成的多个学习数据集1250的学习数据125。
所获取的学习数据集1250的件数可不受特别限定,可根据实施方式来适当选择。当获取学习数据125时,控制部11将处理推进至下个步骤S202。
(步骤S202)
步骤S202中,控制部11作为学习处理部115而运行,利用所获取的学习数据125来实施神经网络51的机器学习。
详细而言,首先,控制部11准备作为处理对象的神经网络51。所准备的神经网络51的结构中,各神经元间的结合的权重的初始值及各神经元的阈值的初始值既可通过模板来给予,也可通过操作员的输入来给予。而且,在进行再学习的情况下,控制部11也可基于过去的通过进行机器学习而获得的学习结果数据,来准备神经网络51。
接下来,控制部11利用在步骤S201中获取的各学习数据集1250中所含的相对关系量1251及相对关系量1252来作为输入数据,利用对应的控制指令1253来作为教学数据,执行神经网络51的学习处理。对于所述学习处理,可使用概率梯度下降法等。
例如,第一步骤中,控制部11关于各学习数据集1250,将相对关系量1251及相对关系量1252输入至输入层511,从输入侧起依序进行各层(511~513)中所含的各神经元的点火判定。由此,控制部11从输出层513获取与决定控制指令的结果对应的输出值,所述控制指令是为了从相对关系量1251变化为相对关系量1252而给予至操纵器3。第二步骤中,控制部11算出所获取的输出值与对应的控制指令1253的误差。第三步骤中,控制部11通过误差反向传播(Back propagation)法,使用所算出的输出值的误差,算出各神经元间的结合的权重及各神经元的阈值各自的误差。第四步骤中,控制部11基于所算出的各误差,来进行各神经元间的结合的权重及各神经元的阈值各自的值的更新。
控制部11通过反复进行所述第一步骤~第四步骤,从而调节神经网络51的运算参数的值,以使得当关于各学习数据集1250而将相对关系量1251及相对关系量1252输入至输入层511时,从输出层513输出与对应的控制指令1253一致的输出值。例如,控制部11反复进行所述第一步骤~第四步骤的、运算参数的值的调节,直至关于各学习数据集1250而从输出层513获得的输出值与控制指令1253的误差之和成为阈值以下为止。阈值可根据实施方式来适当设定。由此,控制部11能够构建学习完毕的神经网络51,所述学习完毕的神经网络51被训练成,相对于相对关系量1251及相对关系量1252的输入,而输出与对应的控制指令1253一致的输出值。当利用所述学习数据125的机器学习完成时,控制部11将处理推进至下个步骤S203。
(步骤S203)
步骤S203中,控制部11作为保存处理部116而运行,将与学习完毕的神经网络51相关的信息保存到规定的存储区域。本实施方式中,控制部11生成表示通过步骤S202的机器学习而构建的学习完毕的神经网络51的结构及运算参数的信息来作为学习结果数据127。并且,控制部11将所生成的学习结果数据127保存到规定的存储区域。规定的存储区域例如可为控制部11内的RAM、存储部12、外部存储装置、存储介质或它们的组合。通过上述操作,控制部11结束与学习完毕的神经网络51的构建相关的一连串处理。
(3-3)控制处理
接下来,使用图9A及图9B来说明与操纵器3的运行控制相关的处理流程的一例。图9A及图9B是表示本实施方式的与控制装置1对操纵器3的运行控制相关的处理流程的一例的流程图。以下说明的处理流程为本发明的“控制方法”的一例。
(步骤S301及步骤S302)
步骤S301中,控制部11受理要执行的作业T的指定。受理作业T的指定的方法可不受特别限定,可根据实施方式来适当选择。例如,控制部11也可通过经由输入装置14的、作业T的名称输入,来受理要执行的作业T的指定。而且,例如,控制部11也可将表示要执行的作业T的候选的列表输出至输出装置15,使操作员从列表中选择要执行的作业T,由此来受理要执行的作业T的指定。
在接下来的步骤S302中,控制部11作为目标设定部101而运行,根据所指定的作业T来设定作为最终目标gn的相对关系量rn。所述最终目标gn的相对关系量rn既可通过CAD等的模拟器来给予,也可通过操作员的指定来给予。当设定最终目标gn的相对关系量时,控制部11将处理推进至下个步骤S303。
(步骤S303及步骤S304)
步骤S303中,控制部11作为数据获取部102而运行,从对存在于环境WS下的多个对象物进行观察的传感器获取观察数据。在接下来的步骤S304中,控制部11作为关系确定部103而运行,根据所获取的观察数据来算出多个对象物之间的相对关系量。
本实施方式中,控制部11从摄像机CA获取图像数据40。并且,控制部11针对所获取的图像数据40,对由CAD数据121所示的各对象物(握爪37、第一工件W1及第二工件W2)的模型进行匹配。控制部11基于所述匹配的结果来算出各对象物之间的相对坐标rc1~rc3(相对关系量)。对于匹配的方法及各相对坐标rc1~rc3的导出,可使用公知的图像处理方法。
另外,对所述步骤S303及步骤S304进行处理的时间点是即将开始运行控制之前的时间点(即,开始的时间点st)。在步骤S303中获取的图像数据40在此时间点是最新的。因此,通过步骤S304而算出的相对关系量被利用作为所述开始的时间点st的相对关系量r0及当前状态n1下的相对关系量p1。当相对关系量的计算完成时,控制部11将处理推进至下个步骤S305。
(步骤S305)
步骤S305中,控制部11作为行动决定部104而运行,决定从开始运行控制的时间点st的相对关系量r0直至实现最终目标gn的相对关系量rn为止的、多个对象物在设为目标(g1等)的状态下的相对关系量的序列RS。
本实施方式中,控制部11利用映射信息123来决定相对关系量的序列RS。具体而言,控制部11在由映射信息123所示的配置空间内,从多个节点中选择要经由的节点,由此来探索从与开始的时间点st的状态下的相对关系量r0对应的节点直至与最终目标gn的状态下的相对关系量rn对应的节点为止的路径。并且,控制部11根据与所探索出的路径中所含的节点对应的相对关系量来生成相对关系量的序列RS。
图10示意性地例示下述场景,即,路径探索(行动计划)的结果是选择了节点N1~N5来作为从与开始的时间点st的相对关系量r0对应的节点Ns直至与最终目标gn的相对关系量rn对应的节点Ng为止的路径的经由节点。另外,图10的示例中,为了便于说明,从节点Ns直至节点Ng为止经由了五个节点N1~N5(即,n为6),但经由的节点的数量也可不限定于此种示例。
在与开始的时间点st对应的节点Ns及与最终目标gn对应的节点Ng已被设定为节点Nd的情况下,控制部11利用各自对应的节点Nd来作为各节点(Ns、Ng)。另一方面,在各节点(Ns、Ng)未被设定为节点Nd的情况下,控制部11在配置空间SP内设定各节点(Ns、Ng)。并且,控制部11从设定在配置空间SP内的多个节点Nd中选择要经由的节点,由此来探索从节点Ns直至节点Ng为止的路径。对于路径探索,例如可采用戴克斯特拉法等公知的探索方法。图10的示例中,从节点Ns直至节点Ng为止的路径包含与所选择的节点N1~N5连结的边缘Eg。此时,控制部11通过与所述路径中所含的各节点(N1~N5、Ng)对应的相对关系量来构成相对关系量的序列RS。
另外,对于路径探索,也可设置限制条件。此时,控制部11以满足限制条件的方式来探索从节点Ns直至节点Ng为止的路径。限制条件的种类可不受特别限定,可根据实施方式来适当选择。限制条件例如也可为:经由操作员等所指定的节点Nd。此时,控制部11以经由所指定的节点Nd的方式来探索从节点Ns直至节点Ng为止的路径。
而且,作为限制条件,例如可对各边缘Eg设定权重。所述权重可根据在路径探索中优先的项目来适当设定或变更。例如,设想优先的项目为最短路径。此时,各边缘Eg的权重可根据驱动握爪37的距离来设定。而且,例如设想优先的项目为距第二工件W2隔开规定距离来搬运第一工件W1。此时,可以下述方式来设定各边缘Eg的权重,即,在第一工件W1的搬运中,经由与第一工件W1和第二工件W2的距离为规定距离以内的相对关系量对应的节点的边缘Eg不优先,而经由并非如此的节点的边缘Eg优先。控制部11也可利用所述权重来进行路径探索。
当决定相对关系量的序列RS时,控制部11将处理推进至下个步骤S306。
(步骤S306)
步骤S306中,控制部11作为行动决定部104而运行,从相对关系量的序列RS中,确定当前状态的接下来要迁移的目标状态下的相对关系量。当前状态下的相对关系量的各相对坐标rc1~rc3是根据从摄像机CA获取的最新的图像数据40而算出。接下来要迁移的目标例如是朝向最终目标gn而最接近当前状态的目标。控制部11通过沿循在步骤S305中探索出的路径,从而能够确定当前状态的接下来要迁移的目标状态下的相对关系量。
例如,在最初执行步骤S306的阶段,在步骤S303中获取的图像数据40为最新,根据所述图像数据40而算出的各相对坐标rc1~rc3为当前状态n1下的相对关系量p1。因此,在此阶段,控制部11从相对关系量的序列RS中确定目标g1的相对关系量r1,以作为接下来要迁移的相对关系量。图10的示例中,当前状态n1下的相对关系量p1对应于开始的节点Ns。因此,接下来要迁移的目标状态下的相对关系量对应于从开始的节点Ns朝最终的节点Ng的方向经由一个边缘Eg而到达(即,与开始的节点Ns邻接)的节点N1。
当确定接下来要迁移的目标状态下的相对关系量时,控制部11将处理推进至下个步骤S307。
(步骤S307)
步骤S307中,控制部11作为指令决定部105而运行,决定对操纵器3给予的控制指令41,以使当前状态下的相对关系量变化为接下来要迁移的目标状态下的相对关系量。
本实施方式中,控制部11利用学习完毕的神经网络51来决定控制指令41。具体而言,控制部11参照学习结果数据127来进行学习完毕的神经网络51的设定。继而,控制部11将当前状态下的相对关系量及接下来要迁移的目标状态下的相对关系量输入至神经网络51的输入层511。并且,控制部11从输入侧起依序进行各层511~513中所含的各神经元的点火判定,以作为神经网络51的运算处理。由此,控制部11从输出层513获取与决定控制指令41的结果对应的输出值。
另外,神经网络51的输出值的格式可不受特别限定,可根据实施方式来适当选择。例如,神经网络51的输出值也可直接对应于控制指令41。此时,控制部11能够将神经网络51的输出值直接作为控制指令41来处理。而且,例如,神经网络51的输出值也可表示用于决定控制指令41的索引(index)(例如等级(class))。此时,控制装置1也可使将输出值与控制指令相关联的表格式等的参照信息(未图示)保持在存储部12中。控制部11能够基于所述参照信息,根据神经网络51的输出值来决定控制指令41。当决定控制指令41时,控制部11将处理推进至下个步骤S308。
(步骤S308)
步骤S308中,控制部11作为运行控制部106而运行,将所决定的控制指令41输出至操纵器3。本实施方式中,控制部11基于控制指令41来控制操纵器3的运行,以作为控制指令41的输出处理。
对操纵器3的运行进行控制的方法可根据控制指令41的格式来适当选择。例如,控制指令41也可直接表示各关节部31~36的操作量。各关节部31~36的操作量例如为扭矩指令值、电压指令值等。此时,控制部11将所获得的控制指令41直接给予至各关节部31~36的伺服马达,由此来控制操纵器3的运行。
而且,例如,控制指令41也可表示各关节部31~36的控制量的目标值。各关节部31~36的控制量例如为各关节部31~36的角度。此时,控制部11从内置于各关节部31~36的编码器获取各关节部31~36的控制量的测量值(测定数据)。从编码器获取测量值的时机只要是在即将控制操纵器3的运行之前,则可不受特别限定,可根据实施方式来适当选择。例如,从编码器获取测量值的时机也可与获取所述图像数据40的时机相同。接下来,控制部11根据由控制指令41所示的各关节部31~36的控制量的目标值与从编码器获取的测量值的差值(偏差),来算出各关节部31~36的操作量。对于操作量的计算,可使用比例积分微分(Proportional Integral Differential,PID)控制等以往的控制方法。并且,控制部11将所算出的各操作量给予至各关节部31~36的伺服马达,由此来控制操纵器3的运行。
而且,控制指令41也可与末端执行器相关。例如,控制指令41也可表示握爪37的作业坐标系的控制量的目标值。作业坐标系的控制量例如为握爪37的位置、姿势等。此时,控制部11基于反向运动学,根据由控制指令41所示的作业坐标系的控制量的目标值来算出各关节部31~36的关节坐标系的控制量的目标值。以后的处理可与所述示例同样。即,控制部11从内置于各关节部31~36的编码器获取各关节部31~36的控制量的测量值。继而,控制部11根据由控制指令41所示的各关节部31~36的控制量的目标值与从编码器获取的测量值的差值(偏差),来算出各关节部31~36的操作量。并且,控制部11将所算出的各操作量给予至各关节部31~36的伺服马达,由此来控制操纵器3的运行。
当基于控制指令41来控制操纵器3的运行时,控制部11将处理推进至下个步骤S309。
(步骤S309及步骤S310)
步骤S309及步骤S310与步骤S303及步骤S304同样。步骤S309中,控制部11作为数据获取部102而运行,从摄像机CA获取图像数据40。步骤S310中,控制部11作为关系确定部103而运行,针对所获取的图像数据40,对由CAD数据121所示的各对象物(握爪37、第一工件W1及第二工件W2)的模型进行匹配。控制部11基于所述匹配的结果,来算出各对象物之间的相对坐标rc1~rc3(相对关系量)。当相对关系量的计算完成时,控制部11将处理推进至下个步骤S311。
(步骤S311)
步骤S311中,控制部11判定步骤S308的控制结果是否为多个对象物之间的相对关系量已迁移至在步骤S306中确定的目标状态。
判定是否已迁移至目标状态的方法可根据实施方式来适当决定。例如,控制部11也可判定在步骤S310中算出的相对关系量与在步骤S306中确定的目标状态下的相对关系量是否一致。所述一致除了完全一致以外,也可包含基于阈值(容许误差)的近似。若在步骤S310中算出的相对关系量与在步骤S306中确定的目标状态下的相对关系量一致,则控制部11也可判定为多个对象物之间的相对关系量已迁移至目标状态。另一方面,若并非如此,则控制部11也可判定为多个对象物之间的相对关系量尚未迁移至目标状态。
若判定为多个对象物之间的相对关系量尚未迁移至目标状态,则控制部11将处理返回步骤S307,反复步骤S307~S310的一连串处理。另外,所述反复的处理中,返回步骤S307之前在步骤S309中获取的图像数据40是最新的。因此,所述反复的处理中,控制部11将返回步骤S307之前在步骤S310中算出的相对关系量作为当前状态下的相对关系量来处理。另一方面,若判定为多个对象物之间的相对关系量已迁移至目标状态,则控制部11将处理推进至下个步骤S312。
(步骤S312)
步骤S312中,控制部11判定是否已实现了最终目标gn的相对关系量rn。若在步骤S306中确定的目标为最终目标gn,则根据步骤S311的判定结果,最终目标gn的相对关系量rn已实现。因此,此时,判定为已实现了最终目标gn的相对关系量rn,控制部11结束与操纵器3的运行控制相关的一连串处理。
若在步骤S306中确定的目标为最终目标gn以外的目标,则最终目标gn的相对关系量rn尚未实现。此时,控制部11将处理返回步骤S306。由此,控制部11反复执行步骤S306~S311的一连串处理,直至实现最终目标gn的相对关系量rn为止。另外,与所述步骤S311同样,在所述反复的处理中,返回步骤S306之前在步骤S309中获取的图像数据40是最新的。因此,在所述反复的处理中,控制部11将返回步骤S306之前在步骤S310中算出的相对关系量作为当前状态下的相对关系量来处理。
例如,在第s次执行步骤S306~S311的一连串处理时,在步骤S306中,控制部11从相对关系量的序列RS中,确定根据最新的图像数据40s而算出的当前状态ns的接下来要迁移的目标gs的状态下的相对关系量rs。步骤S307中,控制部11决定控制指令41s,以使当前状态ns下的相对关系量ps变化为接下来要迁移的目标gs的状态下的相对关系量rs。继而,步骤S308中,控制部11将所决定的控制指令41s输出至操纵器3。反复进行所述一连串处理直至实现最终目标gn的相对关系量rn为止,由此来控制操纵器3执行例如图2A~图2F所例示的与零件搬运等作业T相关的一连串动作。
[特征]
如上所述,本实施方式中,利用包含各相对坐标rc1~rc3的相对关系量来表达存在于操纵器3所运转的环境WS下的多个对象物(握爪37、第一工件W1、第二工件W2)的当前状态及目标,根据使所述相对关系量变化的情况来决定控制指令41。即,本实施方式中,控制指令41并非关联于对操纵器3示教的作业T其本身,而是关联于相对关系量的变化量。由此,能够不依存于作业的内容,而是相对于使相对关系量变化的情况来示教对操纵器3给予的时间序列的控制指令41。
使用图11A、图11B及图12来详细说明此点。图11A及图11B是用于说明以往的控制方法的问题的图。另一方面,图12是用于说明本实施方式的控制方法的所述特征的图。各图中,为了便于说明,与所述图2A~图2F同样,作为对操纵器示教的作业的一例,例示了通过握爪(37、370)来将第一工件W1搬运到第二工件W2上的作业。
如图11A所示,设想下述情况:在示教作业时,第一工件W1已被配置在台B2上,第二工件W2已被配置在具有与台B2相同的高度的台B1上。在此条件下,设想通过以往的方法来对操纵器示教如下所述的一连串动作,即,通过握爪370来握持第一工件W1,使所握持的第一工件W1水平移动到第二工件W2上空的高度h1附近后,使握爪370下降,由此,将第一工件W1配置到第二工件W2上。
设想下述情况:在所述作业的示教完成后,例如因变更了进行作业的场所等缘由,而第一工件W1及第二工件W2的至少一者的状态受到变更。图11B的示例中,例示了第一工件W1被配置在比台B2低了高度h2的台B3上的场景。
以往的方法中,通过所述示教而学会的时间序列的控制指令关联于示教对象作业其自身。因此,操纵器根据与所述同样的控制指令来尝试将第一工件W1搬运至第二工件W2。其结果,由于台B3比台B2低了高度h2,因而相应地,握爪370握持第一工件W1的位置发生了变更。具体而言,比起图11A的场景,握爪370握持第一工件W1的上端部侧,握爪370与第一工件W1的间隙V扩大了高度h2。
因此,在高度h2比高度h1大的情况下,当操纵器尝试使由握爪370所握持的第一工件W1水平移动到第二工件W2的上空时,会产生第一工件W1的下部碰撞到第二工件W2的问题。因此,以往的方法中,即使在产生了此种小的变更时,若不重新示教作业的内容,则操纵器也有可能无法适当地执行所述作业。
另一方面,本实施方式中,在与图11A同样地对操纵器3示教了作业的情况下,所学会的控制指令并非作业其本身,而是关联于相对关系量的变化量。因此,所述步骤S305中,能够以包含第一工件W1配置在第二工件W2上空的高度h1处的目标的方式来决定相对关系量的序列RS。并且,步骤S307中,能够以实现第一工件W1配置在第二工件W2上空的高度h1处的相对关系量的方式来决定控制指令41。因此,如图12所例示的那样,即使因第一工件W1配置于比台2B低了高度h2的台B3,而握爪37与第一工件W1的间隙V扩大了高度h2,也能够控制操纵器3的运行,以使第一工件W1水平移动到第二工件W2上空的高度h1附近。
本实施方式中,这样,能够不依存于作业的内容,而是相对于使相对关系量变化的情况来示教对操纵器3给予的时间序列的控制指令41。因此,根据本实施方式,能够提高执行所学会的作业的能力的通用性。由此,能够降低对操纵器3示教作业所耗费的成本。
§4变形例
以上,详细说明了本发明的实施方式,但直至上文为止的说明在所有方面不过是本发明的例示。当然能够不脱离本发明的范围而进行各种改良或变形。例如,可进行如下所述的变更。另外,以下,关于与所述实施方式同样的构成元件,使用同样的符号,关于与所述实施方式同样的点,适当省略说明。以下的变形例可适当组合。
<4.1>
所述实施方式中,作为控制对象的机器人装置,例示了垂直多关节型的操纵器3。但是,机器人装置的种类也可不限定于此种示例,可根据实施方式来适当选择。机器人装置例如可包含工业机器人、可自动移动的移动体等。工业机器人例如包含所述垂直多关节机器人、水平多关节机器人、水平链接机器人、正交机器人、协同机器人等。而且,可自动移动的移动体例如包含无人驾驶飞机、构成为可自动驾驶的车辆、移动机器人等。本发明可适用于能够进行对象物的操作的所有种类的机器人装置。另外,在将本发明适用于可自动移动且包括全球定位系统(Global Positioning System,GPS)测定器的移动体的情况下,对于与位置相关的相对关系量(例如所述相对坐标)的确定,可使用由GPS测定器所测定的GPS信息。此时,各对象物所配设的GPS测定器为传感器的一例,从各GPS测定器获得的GPS信息为观察数据的一例。传感器及观察数据可根据机器人装置的种类来适当选择。而且,所述实施方式中,作为操纵器所包括的末端执行器,例示了握爪37。但是,末端执行器的种类也可不限定于握爪,可根据实施方式来适当选择。末端执行器例如除了握爪以外,还可为吸引器、起子等。
<4.2>
所述实施方式中,作为对存在于环境WS下的多个对象物进行观察的传感器,例示了摄像机CA。作为从传感器获取的观察数据,例示了图像数据40。而且,所述实施方式中,根据由所述摄像机CA所获取的图像数据40来算出各相对坐标rc1~rc3以作为相对关系量。但是,传感器及相对关系量的种类也可不限定于此种示例,可根据实施方式来适当选择。观察数据可不限定于图像数据,可根据所采用的传感器的种类来适当选择。
传感器除了一般的摄像机以外,例如也可为深度传感器、立体摄像机等。而且,相对关系量除了相对坐标以外,例如可为作用于多个对象物之间的力、多个对象物之间的状态(例如是否连结)等。在采用作用于多个对象物之间的力来作为相对关系量的情况下,作为对多个对象物进行观察的传感器,例如可采用所述力量传感器38、触觉传感器、压力传感器、测力传感器等可探测力的传感器。
另外,所述实施方式中,控制装置1连接于摄像机CA,从摄像机CA直接获取观察数据。但是,从传感器获取观察数据也可不限于此种从传感器直接获取观察数据的情况,可包含经由其他装置而从传感器间接地获取观察数据的情况。所述实施方式中,控制装置1也可经由其他装置而从摄像机CA获取图像数据40。
<4.3>
所述实施方式的各处理流程不过是一例,各步骤可尽可能地变更。而且,关于所述实施方式的各处理流程,可根据实施方式来适当地进行步骤的省略、替换及追加。
例如,所述实施方式中,控制部11通过步骤S301来受理要执行的作业的指定。但是,给予要执行的作业的方法也可不限定于此种示例。例如,要执行的作业也可预先给予。此时,步骤S301也可予以省略。
而且,例如,所述实施方式中,控制部11通过步骤S303及步骤S304来算出开始的时间点st的相对关系量r0。但是,给予开始的时间点st的相对关系量r0的方法也可不限定于此种示例。例如,相对关系量r0既可预先给予,也可通过模拟器等来给予。此时,步骤S303及步骤S304也可予以省略。
<4.4>
所述实施方式中,控制装置1通过步骤S308,基于控制指令41来控制操纵器3的运行。但是,控制指令41的输出处理也可不限定于此种示例。例如,在操纵器3包括控制器的情况下,控制指令41的输出处理也可为将控制指令41简单地发送至控制器。
图13示意性地例示本变形例的控制装置1A的软件结构的一例。本变形例除了在软件模块中运行控制部106被替换为输出部106A以外,与所述实施方式同样。即,除了此点以外,控制装置1A的硬件结构及软件结构与所述实施方式的控制装置1同样。而且,控制器19包括CPU等硬件处理器及RAM等存储器,且适当构成为控制操纵器3的运行。控制器19的硬件结构可与所述实施方式的控制装置1同样。
本变形例中,在所述步骤S308中,控制装置1A的控制部11作为输出部106A而运行,将所决定的控制指令41发送至控制器19。除此以外的步骤,控制装置1A是与所述实施方式同样地执行。另一方面,收到控制指令41的控制器19的处理器作为运行控制部108而运行,与所述实施方式的步骤S308同样地执行处理。即,控制器19的处理器基于控制指令41来控制操纵器3的运行。本变形例中,对于控制器19,能够利用以往的控制器。因此,根据本变形例,能够降低本发明的导入成本。另外,本变形例中,也可将控制装置1A称作上位控制器,将控制器19称作下位控制器。
<4.5>
所述实施方式中,控制装置1保持控制程序81及学习程序82,执行控制处理及学习处理这两个处理。但是,执行各处理的计算机也可为独立。尤其,学习处理也可由另一计算机来执行。
图14A示意性地例示适用本变形例的学习装置2的场景的一例。图14B示意性地例示本变形例的学习装置2的硬件结构的一例。本变形例除了使学习装置2执行所述步骤S101~S106及步骤S201~S203的处理以外,与所述实施方式同样。即,本变形例的控制装置1中,学习程序82予以省略。控制装置1的软件结构中,与学习程序82相关的软件模块予以省略。另外,控制装置1及学习装置2既可经由网络等而连接,也可经由存储介质来进行数据的交接。
如图14B所示,本变形例的学习装置2是由控制部21、存储部22、外部接口23、输入装置24、输出装置25及驱动器26电连接而成的计算机。学习装置2的控制部21~驱动器26可分别与控制装置1的控制部11~驱动器16各自同样地构成。
存储部22存储学习程序82、CAD数据121、映射信息123、学习数据125、学习结果数据127等各种信息。驱动器26例如是光盘(Compact Disc,CD)驱动器、数字多功能光盘(Digital Versatile Disc,DVD)驱动器等,是用于读取存储在存储介质92中的程序的驱动装置。学习程序82、CAD数据121及学习数据125中的至少任一个也可被存储在存储介质92中。而且,学习装置2也可从存储介质92获取学习程序82、CAD数据121及学习数据125中的至少任一个。
学习装置2的控制部21将存储在存储部22中的学习程序82展开到RAM中。并且,控制部21通过CPU来解释及执行在RAM中展开的学习程序82,以控制各构成元件。由此,本变形例的学习装置2作为包括与所述图5B所示的跟学习处理相关的控制装置1的软件结构同样的软件模块的计算机而运行。
即,学习装置2的控制部21通过执行所述步骤S101~S106的处理,从而生成在决定相对关系量的序列RS的处理(行动计划)中所利用的映射信息123。而且,控制部21通过执行所述步骤S201~S203的处理,从而构建在根据相对关系量的变化量来决定控制指令41的处理中所利用的学习完毕的神经网络51。
学习装置2将所生成的映射信息123及学习结果数据127经由网络、存储介质等而适当交接给控制装置1。或者,本变形例中,由学习装置2所生成的映射信息123及学习结果数据127也可被预先装入控制装置1中。
根据本变形例,能够将执行控制处理的计算机与执行学习处理的计算机予以分离。由此,能够实现各处理的高速化。另外,本变形例中,由学习装置2来执行映射信息123的制作及学习完毕的神经网络51的构建这两个处理。但是,这些处理也可也由独立的计算机来执行。
<4.6>
所述实施方式中,学习完毕的神经网络51被利用于决定控制指令41的处理中。但是,决定控制指令41的处理也可不限定于此种示例。在决定控制指令41的处理中,也可不利用学习完毕的学习模型。例如,控制装置1也可在决定控制指令41的处理中,利用表示相对关系量的变化量与控制指令的对应关系的表格式等的参照信息。所述参照信息也可被保存在存储部12中。此时,在所述步骤S307中,控制部11也可基于所述参照信息来决定控制指令41。
而且,所述实施方式中,作为学习模型,利用了神经网络。但是,学习模型只要能够通过机器学习来获得用于决定控制指令的推断能力,则其种类也可不限定于神经网络,可根据实施方式来适当选择。机器学习的种类也可不限定于有教学学习,可根据实施方式来适当选择。例如,作为机器学习,也可采用强化学习。此时,学习模型例如可包含状态价值函数、行动价值函数等价值函数。
而且,所述实施方式中,对于学习完毕的神经网络51,输入当前状态下的相对关系量及接下来要迁移的目标状态下的相对关系量。但是,对学习完毕的神经网络51输入的信息也可不限定于这些。例如,神经网络51也可构成为,进一步受理可能与操纵器3的运行关联的其他信息的输入。
图15示意性地例示本变形例的控制装置1B的软件结构的一例。本变形例除了操纵器3包括观测传感器CB、及神经网络51B构成为进一步受理由观测传感器CB所获得的属性数据45以外,与所述实施方式同样。即,除了此点以外,控制装置1B的硬件结构及软件结构与所述实施方式的控制装置1同样。
观测传感器CB构成为,对操纵器3的属性进行观测。所述观测传感器CB只要能够观测操纵器3的某些属性,则其种类可不受特别限定,可根据实施方式来适当选择。观测传感器CB例如可为接近传感器、触觉传感器、力量传感器、编码器等。对于观测传感器CB,也可采用所述力量传感器38或内置于各关节部31~36的编码器。属性数据45例如可为接近传感器、触觉传感器、力量传感器、编码器等的测定数据或者根据测定数据而算出的特征量。
神经网络51B除了构成为进一步受理由观测传感器CB所获得的属性数据45的输入以外,所述神经网络51与同样地构成。例如,神经网络51B受理属性数据45的输入,且为了将所受理的属性数据45编入运算处理,输入层等的神经元的数量设定得比所述神经网络51多。除了此点以外,神经网络51B可与所述神经网络51同样地构成。
所述神经网络51B的学习处理除了所利用的学习数据包含与属性数据45对应的数据作为训练数据以外,可与所述实施方式同样地执行。具体而言,在步骤S201中,控制装置1B的控制部11获取包含多个学习数据集的学习数据,所述多个学习数据集分别包含相对关系量1251、相对关系量1252及属性数据与控制指令1253的组合。各学习数据集能够通过将在所述第一状态(即,训练用的当前状态)下获得的属性数据追加至所述各学习数据集1250而生成。
步骤S202中,控制装置1B的控制部11利用所述学习数据来实施神经网络51B的机器学习。由此,能够构建学习完毕的神经网络51B,所述学习完毕的神经网络51B被训练成,针对相对关系量1251、相对关系量1252及属性数据的输入,而输出与对应的控制指令1253一致的输出值。步骤S203中,控制装置1B的控制部11生成表示所构建的学习完毕的神经网络51B的结构及运算参数的信息来作为学习结果数据127B,并将所生成的学习结果数据127B保存到规定的存储区域。
而且,本变形例的控制处理除了与图像数据40一同反复获取属性数据45、将从观测传感器CB获取的最新的属性数据45进一步输入至学习完毕的神经网络51B以外,可与所述实施方式同样地执行。具体而言,控制装置1B的控制部11在执行步骤S307的处理之前,作为数据获取部102B而运行,从观测传感器CB进一步获取属性数据45。
获取属性数据45的时间点是通过控制指令来控制运行时,是即将决定所述控制指令之前的时间点。获取属性数据45的时机例如可与获取图像数据40的时机相同。但是,获取属性数据45的时机与获取图像数据40的时机未必需要完全一致。获取属性数据45的时机与获取图像数据40的时机也可不同。
步骤S307中,控制装置1B的控制部11作为指令决定部105B而运行,将由观测传感器CB所获得的最新的属性数据45进一步输入至学习完毕的神经网络51B。具体而言,控制部11参照学习结果数据127B来进行学习完毕的神经网络51B的设定。继而,控制部11将根据最新的图像数据40而算出的当前状态下的相对关系量、接下来要迁移的目标状态下的相对关系量及最新的属性数据45输入至神经网络51B,执行神经网络51B的运算处理。由此,控制部11从神经网络51B获取与决定控制指令41的结果对应的输出值。关于与操纵器3的运行控制相关的其他处理,可与所述实施方式同样地执行。
根据本变形例,通过进一步利用属性数据45,从而能够适当地决定控制指令41。另外,作为本变形例的控制装置1B的其他形态,与所述变形例<4.5>同样,分别执行学习处理及控制处理的计算机可为独立。而且,与所述“从传感器获取观察数据”同样,从观测传感器CB获取属性数据45可包含:控制装置1B与观测传感器CB相连接,从观测传感器CB直接获取属性数据45;以及经由其他装置而从观测传感器CB间接地获取属性数据45。
而且,所述实施方式中,神经网络51是具有三层结构的全结合型的神经网络。但是,神经网络51的结构也可不限定于此种示例,可根据实施方式来适当选择。例如,神经网络51也可具有LSTM块等的循环结构。
图16示意性地例示本变形例的控制装置1C的软件结构的一例。本变形例除了神经网络51C的结构与所述实施方式的神经网络51不同以外,与所述实施方式同样。即,除了此点以外,控制装置1C的硬件结构及软件结构与所述实施方式的控制装置1同样。
本变形例的神经网络51C具有将所述神经网络51的中间层512置换为LSTM块515的结构。LSTM块515是包括输入门及输出门,且构成为能够对信息的存储及输出的时机进行学习的块(S.霍克赖特(S.Hochreiter)和J.施米德胡贝(J.Schmidhuber),“长短期记忆”神经计算,9(8):1735-1780,1997年11月15日)。LSTM块515也可还包括对信息的遗忘时机进行调节的遗忘门(费利克斯·格斯(Felix A.Gers)、尤尔根·施米德胡贝(JurgenSchmidhuber)和福瑞·德康明斯(Fred Cummins),“学会遗忘:使用LSTM的连续预测”神经计算,第2451-2471页,2000年10月)。LSTM块515的结构可根据实施方式来适当设定。
本变形例的学习处理及控制处理除了神经网络51C的结构与所述实施方式不同以外,可与所述实施方式同样地执行。即,控制装置1C的控制部11通过执行所述步骤S201~S203的处理,从而构建学习完毕的神经网络51C,并将学习结果数据127C保存到规定的存储区域。而且,控制装置1C的控制部11作为指令决定部105C而运行,参照学习结果数据127C来进行学习完毕的神经网络51C的设定。继而,控制部11将根据最新的图像数据40而算出的当前状态下的相对关系量及接下来要迁移的目标状态下的相对关系量输入至神经网络51C,执行神经网络51C的运算处理。由此,控制部11从神经网络51C获取与决定控制指令41的结果对应的输出值。关于与操纵器3的运行控制相关的其他处理,可与所述实施方式同样地执行。
根据本变形例,通过利用具有循环结构的神经网络51C,能够考虑相对关系量的时间序列的前后内容来适当决定控制指令41。另外,作为本变形例的控制装置1C的其他形态,与所述变形例<4.5>同样,分别执行学习处理及控制处理的计算机可为独立。
<4.7>
所述实施方式中,控制装置1利用映射信息123,来决定从开始的时间点st直至最终目标gn为止的相对关系量的序列RS。但是,决定相对关系量的序列RS的方法也可不限定于此种示例,可根据实施方式来适当选择。例如,与所述实施方式的控制指令41的决定处理同样,对于相对关系量的序列RS的决定处理也可也利用学习完毕的学习模型。
图17A及图17B分别示意性地例示与本变形例的控制装置1D的控制处理及学习处理各自相关的软件结构的一例。本变形例除了在决定相对关系量的序列RS的处理中使用学习完毕的神经网络52以外,与所述实施方式同样。即,除了此点以外,控制装置1D的硬件结构及软件结构与所述实施方式的控制装置1同样。
如图17A所示,本变形例的行动决定部104D保持学习结果数据128,由此,包含学习完毕的神经网络52。学习结果数据128也可被保存在存储部12中。为了分别进行区分,也可将学习结果数据127称作第一学习结果数据,将学习结果数据128称作第二学习结果数据。
另一方面,如图17B所示,控制装置1D作为关于神经网络52的学习处理而进一步包括学习数据获取部181、学习处理部182及保存处理部183作为软件模块的计算机而运行。为了分别进行区分,也可将学习数据获取部114、学习处理部115及保存处理部116分别称作第一学习数据获取部、第一学习处理部及第一保存处理部,并将学习数据获取部181、学习处理部182及保存处理部183分别称作第二学习数据获取部、第二学习处理部及第二保存处理部。
学习完毕的神经网络52是本发明的“第二学习完毕的学习模型”的一例。学习完毕的神经网络52被训练成,针对训练用的最终目标下的相对关系量及训练用的当前状态下的相对关系量的输入,而决定训练用的当前状态的接下来要迁移的目标状态下的相对关系量。本变形例的神经网络52从输入侧起依序包括输入层521、LSTM块522及输出层523。所述神经网络52的结构与所述变形例的神经网络51C同样。
所述神经网络52的学习处理可与所述神经网络51的学习处理同样地执行。即,第一步骤中,控制装置1D的控制部11作为学习数据获取部181而运行,获取在神经网络52的机器学习中所利用的学习数据171。本变形例中,学习数据171包含多个学习数据集1710,所述多个学习数据集1710分别包含训练用的当前状态下的相对关系量1711及训练用的最终目标的状态下的相对关系量1712与训练用的当前状态的接下来要迁移的目标下的相对关系量1713的组合。相对关系量1711及相对关系量1712被利用作为训练数据(输入数据),相对关系量1713被利用作为教学数据(正解数据)。
获取各学习数据集1710的方法也可不受特别限定,可根据实施方式来适当选择。与所述实施方式同样,例如准备基于模拟器的虚拟环境或实际环境,在所准备的环境下,从开始作业执行的时间点直至最终目标为止,在各种条件适当驱动操纵器3。并且,将所获得的当前状态下的相对关系量1711及最终目标的状态下的相对关系量1712与当前状态的接下来要迁移的目标下的相对关系量1713加以组合。由此,便能够生成各学习数据集1710。
对于各学习数据集1710的生成,可利用所述映射信息123。各学习数据集1710既可通过计算机的运行而自动生成,也可通过操作员经由输入装置14的操作而手动生成。而且,各学习数据集1710的生成既可由控制装置1D来进行,也可由控制装置1D以外的其他计算机来进行。关于这些点,与所述实施方式同样。
第二步骤中,控制部11作为学习处理部182而运行,利用学习数据171来实施神经网络52的机器学习。由此,能够构建学习完毕的神经网络52,所述学习完毕的神经网络52被训练成,针对训练用的当前状态下的相对关系量1711及训练用的最终目标的状态下的相对关系量1722的输入,而输出与对应的接下来要迁移的设为目标的状态下的相对关系量1713一致的输出值。
第三步骤中,控制部11作为保存处理部183而运行,生成表示所构建的学习完毕的神经网络52的结构及运算参数的信息来作为学习结果数据128,并将所生成的学习结果数据128保存到规定的存储区域。规定的存储区域例如可为控制部11内的RAM、存储部12、外部存储装置、存储介质或它们的组合。通过上述操作,控制部11结束与学习完毕的神经网络52的构建相关的一连串处理。
而且,本变形例的控制处理并非一次决定相对关系量的序列RS,而是利用学习完毕的神经网络52来依序决定序列RS中所含的相对关系量,除此以外,可与所述实施方式同样地执行。具体而言,控制装置1D的控制部11取代所述步骤S305及步骤S306,而作为行动决定部104D来运行,利用学习完毕的神经网络52来决定相对关系量的序列RS中所含的接下来要迁移的目标状态下的相对关系量(以下,也将本步骤称作“代替步骤”)。
即,控制装置1D的控制部11参照学习结果数据128来进行学习完毕的神经网络52的设定。继而,控制部11将根据最新的图像数据40而算出的当前状态下的相对关系量及最终目标gn的相对关系量rn输入至学习完毕的神经网络52,执行学习完毕的神经网络52的运算处理。由此,控制部11从神经网络52获取与决定接下来要迁移的目标状态下的相对关系量的结果对应的输出值。并且,控制部11执行步骤S307以后的处理。
本变形例中,控制部11通过反复进行本代替步骤及步骤S307~S311的处理,从而决定相对关系量的序列RS。图17A的示例中,作为所述反复的第s次处理,例示了下述场景,即,从根据最新的图像数据40s而算出的当前状态ns下的相对关系量ps及最终目标gn的相对关系量rn导出下个目标gs的相对关系量rs。关于与操纵器3的运行控制相关的其他处理,可与所述实施方式同样地执行。
根据本变形例,通过利用学习完毕的学习模型,能够提高从开始时间点直至最终目标为止决定设为目标的状态的精度。另外,作为本变形例的控制装置1D的其他形态,与所述变形例<4.5>同样,分别执行学习处理及控制处理的计算机可为独立。执行各学习处理的计算机也可为独立。
所述变形例中,作为学会用于决定接下来要迁移的目标状态下的相对关系量的推断能力的学习模型,利用了神经网络。但是,学习模型只要能够通过机器学习来获得所述推断能力,其种类也可不限定于神经网络,可根据实施方式来适当选择。机器学习的种类也可不限定于有教学学习,可根据实施方式来适当选择。
而且,所述变形例中,神经网络52为包含LSTM块522的循环神经网络。由此,神经网络52能够考虑相对关系量的时间序列的前后内容,来适当地决定接下来要迁移的目标的相对关系量。但是,神经网络52的结构也可不限定于此种示例,可根据实施方式来适当选择。例如,对于神经网络52,与所述实施方式的神经网络51同样,可使用具有多层结构的全结合型神经网络。
而且,所述变形例中,对于学习完毕的神经网络52,输入当前状态下的相对关系量及最终目标的状态下的相对关系量。但是,对学习完毕的神经网络52输入的信息也可不限定于这些。例如,神经网络52也可构成为,进一步受理从传感器获取的观察数据的输入。
图18示意性地例示本变形例的控制装置1E的软件结构的一例。本变形例除了神经网络52E构成为进一步受理最新的图像数据40以外,与所述图17A及图17B的变形例同样。即,除了此点以外,控制装置1E的硬件结构及软件结构与所述变形例的控制装置1D同样。
神经网络52E除了构成为进一步受理由摄像机CA所获得的最新的图像数据40的输入以外,与所述神经网络52同样地构成。例如,神经网络52E受理图像数据40的输入,且为了将所受理的图像数据40编入运算处理,输入层等的神经元的数量设定得比所述神经网络52多。除了此点以外,神经网络52E可与所述神经网络52同样地构成。
所述神经网络52E的学习处理除了所利用的学习数据包含与图像数据40对应的数据来作为训练数据以外,可与所述变形例同样地执行。具体而言,第一步骤中,控制装置1E的控制部11获取包含多个学习数据集的学习数据,所述多个学习数据集分别包含训练用的当前状态下的相对关系量1711、训练用的最终目标的状态下的相对关系量1712及图像数据与接下来要迁移的目标状态下的相对关系量1713的组合。各学习数据集能够通过将在训练用的当前状态下获得的图像数据追加至所述各学习数据集1710而生成。
第二步骤中,控制装置1E的控制部11利用所述学习数据来实施神经网络52E的机器学习。由此,能够构建学习完毕的神经网络52E,所述学习完毕的神经网络52E被训练成,针对相对关系量1711、相对关系量1712及图像数据的输入,而输出与对应的相对关系量1713一致的输出值。第三步骤中,控制装置1E的控制部11生成表示所构建的学习完毕的神经网络52E的结构及运算参数的信息来作为学习结果数据128E,并将所生成的学习结果数据128E保存到规定的存储区域。
而且,本变形例的控制处理除了进一步将从摄像机CA获取的最新的图像数据40输入至学习完毕的神经网络52E以外,可与所述变形例同样地执行。具体而言,在代替步骤中,控制装置1E的控制部11作为行动决定部104E而运行,参照学习结果数据128E来进行学习完毕的神经网络52E的设定。继而,控制部11将最新的图像数据40、根据最新的图像数据40而算出的当前状态下的相对关系量及最终目标gn的相对关系量rn输入至学习完毕的神经网络52E,执行学习完毕的神经网络52E的运算处理。由此,控制部11从神经网络52E获取与决定接下来要迁移的目标状态下的相对关系量的结果对应的输出值。关于与操纵器3的运行控制相关的其他处理,可与所述变形例同样地执行。
根据本变形例,通过进一步利用图像数据40,能够进一步提高从开始时间点直至最终目标为止决定设为目标的状态的精度。另外,作为本变形例的控制装置1E的其他形态,与所述变形例<4.5>同样,分别执行学习处理及控制处理的计算机可为独立。执行各学习处理的计算机也可为独立。
<4.8>
所述实施方式中,控制装置1针对图像数据40,对各对象物的模型进行匹配,由此来算出各对象物之间的相对关系量。但是,根据观察数据来算出相对关系量的方法也可不限定于此种示例,可根据实施方式来适当选择。例如,也可与所述实施方式的控制指令41的决定处理同样,在根据观察数据来算出相对关系量的处理中也利用学习完毕的学习模型。
图19A及图19B分别示意性地例示与本变形例的控制装置1F的控制处理及学习处理各自相同的软件结构的一例。本变形例除了在算出相对关系量的处理中使用学习完毕的神经网络53以外,与所述实施方式同样。即,除了此点以外,控制装置1F的硬件结构及软件结构与所述实施方式的控制装置1同样。
如图19A所示,本变形例的关系确定部F保持学习结果数据129,由此,包含学习完毕的神经网络53。学习结果数据129也可被保存在存储部12中。为了与所述各学习结果数据(127、128)加以区分,也可将学习结果数据129称作第三学习结果数据。
另一方面,如图19B所示,控制装置1F作为关于神经网络53的学习处理而进一步包括学习数据获取部185、学习处理部186及保存处理部187作为软件模块的计算机来运行。为了与所述学习数据获取部114、学习处理部115、保存处理部116等加以区分,也可将学习数据获取部185、学习处理部186及保存处理部187分别称作第三学习数据获取部、第三学习处理部及第三保存处理部。
学习完毕的神经网络53为本发明的“第三学习完毕的学习模型”的一例。学习完毕的神经网络53被训练成,针对训练用的图像数据的输入,而算出在训练用的图像数据中出现的多个对象物之间的相对关系量。本变形例的神经网络53从输入侧起依序包括输入层531、中间(隐藏)层532及输出层533。所述神经网络53的结构与所述实施方式的神经网络51同样。
所述神经网络53的学习处理可与所述神经网络51的学习处理同样地执行。即,第一步骤中,控制装置1F的控制部11作为学习数据获取部185而运行,获取在神经网络53的机器学习中所利用的学习数据175。本变形例中,学习数据175包含多个学习数据集1750,所述多个学习数据集1750分别包含含有各对象物的模型的CAD数据1751及训练用的图像数据1752与相对关系量1753的组合。CAD数据1751及图像数据1752被利用作为训练数据(输入数据),相对关系量1753被利用作为教学数据(正解数据)。
获取各学习数据集1750的方法也可不受特别限定,可根据实施方式来适当选择。例如,CAD数据1751可由公知的软件而生成。而且,准备摄像机,利用所准备的摄像机在各种条件下拍摄多个对象物,由此,能够获得图像数据1752。进而,适当测定多个对象物的相对关系量1753。相对关系量1753也可根据图像数据1752来算出。并且,通过将所获得的CAD数据1751及图像数据1752与相对关系量1753相关联,从而能够生成各学习数据集1750。
各学习数据集1750既可通过计算机的运行而自动生成,也可通过操作员经由输入装置14的操作而手动生成。而且,各学习数据集1750的生成既可由控制装置1F来进行,也可由控制装置1F以外的其他计算机来进行。关于这些点,与所述实施方式同样。
第二步骤中,控制部11作为学习处理部186而运行,利用学习数据175来实施神经网络53的机器学习。由此,能够构建学习完毕的神经网络53,所述学习完毕的神经网络53被训练成,针对CAD数据1751及训练用的图像数据1752的输入,而输出与对应的相对关系量1753一致的输出值。
第三步骤中,控制部11作为保存处理部187而运行,生成表示所构建的学习完毕的神经网络53的构建及运算参数的信息来作为学习结果数据129,并将所生成的学习结果数据129保存到规定的存储区域。规定的存储区域例如可为控制部11内的RAM、存储部12、外部存储装置、存储介质或它们的组合。通过上述操作,控制装置1F的控制部11结束与学习完毕的神经网络53的构建相关的一连串处理。
而且,本变形例的控制处理除了在相对关系量的计算中利用学习完毕的神经网络53以外,可与所述实施方式同样地执行。具体而言,在各步骤S304及S310中,控制装置1F的控制部11作为关系确定部103F而运行,利用学习完毕的神经网络53,根据从摄像机CA获得的最新的图像数据40来算出当前状态下的相对关系量。
即,控制装置1F的控制部11参照学习结果数据129来进行学习完毕的神经网络53的设定。继而,控制部11将最新的图像数据40及CAD数据121输入至学习完毕的神经网络53,执行学习完毕的神经网络53的运算处理。由此,控制部11从神经网络53获取与算出当前状态下的相对关系量的结果对应的输出值。图19A中,作为反复的第s次处理,例示了根据最新的图像数据40s及CAD数据121来算出当前状态ns下的相对关系量ps的场景。关于与操纵器3的运行控制相关的其他处理,可与所述实施方式同样地执行。
根据本变形例,通过利用学习完毕的学习模型,能够提高算出相对关系量的精度。另外,作为本变形例的控制装置1F的其他形态,与所述变形例<4.5>同样,分别执行学习处理及控制处理的计算机可为独立。执行各学习处理的计算机也可为独立。
所述变形例中,作为学会算出相对关系量的能力的学习模型,利用了神经网络。但是,学习模型只要能够通过机器学习来获得所述能力,则其种类也可不限定于神经网络,可根据实施方式来适当选择。机器学习的种类也可不限定于有教学学习,可根据实施方式来适当选择。
而且,所述变形例中,神经网络53是具有三层结构的全结合型神经网络。但是,神经网络53的结构也可不限定于此种示例,可根据实施方式来适当选择。例如,神经网络53也可具有LSTM块等循环结构。
而且,所述变形例中,对于学习完毕的神经网络53,输入最新的图像数据40及CAD数据121。但是,对学习完毕的神经网络53输入的信息也可不限定于这些。例如,也可从对学习完毕的神经网络53输入的信息中省略CAD数据121。此时,从学习数据175中省略CAD数据1751。而且,例如,神经网络53也可构成为,进一步受理可能与操纵器3的运行关联的其他信息的输入。
图20示意性地例示本变形例的控制装置1G的软件结构的一例。本变形例除了操纵器3包括观测传感器CB、及神经网络53G构成为进一步受理由观测传感器CB所获得的属性数据45以外,与所述图19A及图19B的变形例同样。即,除了此点以外,控制装置1G的硬件结构及软件结构与所述变形例的控制装置1F同样。而且,关于观测传感器CB及属性数据45,与所述控制装置1B的变形例同样。
神经网络53G除了构成为进一步受理由观测传感器CB所获得的属性数据45的输入以外,与所述神经网络53同样地构成。例如,神经网络53G受理属性数据45的输入,且为了将所受理的属性数据45编入运算处理,输入层等的神经元的数量被设定得比所述神经网络53多。除了此点以外,神经网络53G可与所述神经网络53同样地构成。
所述神经网络53G的学习处理除了所利用的学习数据包含与属性数据45对应的数据来作为训练数据以外,可与所述变形例同样地执行。具体而言,第一步骤中,控制装置1G的控制部11获取包含多个学习数据集的学习数据,所述多个学习数据集分别包含CAD数据1751、训练用的图像数据1752及属性数据与相对关系量1753的组合。准备观测传感器,在获得图像数据1752时通过观测传感器来获取属性数据。各学习数据集能够通过将所获得的属性数据追加至所述各学习数据集1750而生成。
第二步骤中,控制装置1G的控制部11利用所述学习数据来实施神经网络53G的机器学习。由此,能够构建学习完毕的神经网络53G,所述学习完毕的神经网络53G被训练成,针对CAD数据1751、训练用的图像数据1752及属性数据的输入,输出与对应的相对关系量1753一致的输出值。第三步骤中,控制装置1G的控制部11生成表示所构建的学习完毕的神经网络53G的结构及运算参数的信息来作为学习结果数据129G,并将所生成的学习结果数据129G保存到规定的存储区域。
而且,本变形例的控制处理除了与图像数据40一同反复获取属性数据45、将从观测传感器CB获取的最新的属性数据45进一步输入至学习完毕的神经网络53G以外,可与所述变形例同样地执行。具体而言,控制装置1G的控制部11在执行步骤S304及S310各自的处理之前,作为数据获取部102G而运行,从观测传感器CB进一步获取属性数据45。关于获取属性数据45的时机,可与所述控制装置1B的变形例同样。
在各步骤S304及S310中,控制装置1G的控制部11作为关系确定部103G而运行,将由观测传感器CB所获得的最新的属性数据45进一步输入至学习完毕的神经网络53G。具体而言,控制装置1G的控制部11参照学习结果数据129G来进行学习完毕的神经网络53G的设定。继而,控制部11将最新的图像数据40、CAD数据121及最新的属性数据45输入至学习完毕的神经网络53G,执行学习完毕的神经网络53G的运算处理。由此,控制部11从神经网络53G获取与算出当前状态下的相对关系量的结果对应的输出值。关于与操纵器3的运行控制相关的其他处理,可与所述变形例同样地执行。
根据本变形例,通过进一步利用属性数据45,能够进一步提高算出相对关系量的精度。另外,作为本变形例的控制装置1G的其他形态,与所述变形例<4.5>同样,分别执行学习处理及控制处理的计算机可为独立。执行各学习处理的计算机也可为独立。

Claims (13)

1.一种控制装置,生成控制指令,所述控制指令用于对在存在多个对象物的环境下运转的机器人装置的运行进行控制,所述多个对象物包括所述机器人装置的末端执行器、工件和障碍物,所述控制装置包括:
目标设定部,设定成为最终目标的所述多个对象物之间的相对关系量,所述相对关系量表示与所述环境下的所述多个对象物之间的相对且物理的关系相关的属性,所述相对关系量包括用于表示所述环境下的所述多个对象物之间的相对位置和相对姿势的量;
数据获取部,从对存在于所述环境下的所述多个对象物进行观察的传感器反复获取观察数据;
关系确定部,根据所获取的所述观察数据,算出所述多个对象物之间的相对关系量;
行动决定部,决定从开始所述运行的控制的时间点中的所述多个对象物之间的相对关系量直至实现所设定的所述最终目标的相对关系量为止的、所述多个对象物在设为目标的状态下的相对关系量的序列;
指令决定部,反复决定对所述机器人装置给予的控制指令,以使根据从所述传感器获取的最新的观察数据而算出的当前状态下的相对关系量变化为所述相对关系量的序列中所含的、所述当前状态的接下来要迁移的目标状态下的相对关系量,直至实现所述最终目标的相对关系量为止;以及
输出部,将所决定的所述控制指令输出至所述机器人装置。
2.根据权利要求1所述的控制装置,其中
所述相对关系量包含所述多个对象物之间的相对坐标。
3.根据权利要求2所述的控制装置,其中
所述传感器包含摄像机,
所述观察数据包含由所述摄像机所获得的图像数据,
所述关系确定部针对由所述摄像机所获得的所述图像数据,对所述各对象物的模型进行匹配,并基于所述匹配的结果来算出所述多个对象物之间的相对坐标。
4.根据权利要求1至3中任一项所述的控制装置,其中
所述指令决定部包含第一学习完毕的学习模型,所述第一学习完毕的学习模型被训练成,针对第一状态下的相对关系量及第二状态下的相对关系量的输入而决定控制指令,所述控制指令用于控制所述机器人装置的运行,以使所述第一状态下的相对关系量变化为所述第二状态下的相对关系量,
决定所述控制指令的步骤包含:
将所述当前状态下的所述相对关系量及所述接下来要迁移的目标状态下的所述相对关系量输入至所述第一学习完毕的学习模型;
执行所述第一学习完毕的学习模型的运算处理;以及
获取从所述第一学习完毕的学习模型输出的输出值,以作为决定所述控制指令的结果。
5.根据权利要求4所述的控制装置,其中
所述机器人装置包括对所述机器人装置的属性进行观测的观测传感器,
所述第一学习完毕的学习模型构成为,进一步受理由所述观测传感器所获得的属性数据的输入,
决定所述控制指令的步骤包含:将由所述观测传感器所获得的所述属性数据进一步输入至所述第一学习完毕的学习模型。
6.根据权利要求1至3中任一项所述的控制装置,其中
所述行动决定部保持表示配置空间的映射信息,所述配置空间是表达所述多个对象物之间的相对关系量的集合的配置空间,且配置有与成为所述设为目标的状态的候选的状态下的相对关系量分别对应的多个节点,
决定所述相对关系量的序列的步骤包含:
在由所述映射信息所示的所述配置空间内,从所述多个节点中选择要经由的节点,由此来探索从与所述开始的时间点的状态下的相对关系量对应的节点,直至与所述最终目标的状态下的相对关系量对应的节点为止的路径;以及
根据与所探索出的所述路径中所含的节点对应的相对关系量,来生成所述相对关系量的序列。
7.根据权利要求1至3中任一项所述的控制装置,其中
所述行动决定部包含第二学习完毕的学习模型,所述第二学习完毕的学习模型被训练成,针对训练用的最终目标下的相对关系量及训练用的当前状态下的相对关系量的输入,决定所述训练用的当前状态的接下来要迁移的目标状态下的相对关系量,
决定所述相对关系量的序列的步骤包含反复执行下述内容的步骤,即:
将所述当前状态下的所述相对关系量及所设定的所述最终目标的所述相对关系量输入至所述第二学习完毕的学习模型;
执行所述第二学习完毕的学习模型的运算处理;以及
获取从所述第二学习完毕的学习模型输出的输出值,来作为决定所述接下来要迁移的目标状态下的所述相对关系量的结果。
8.根据权利要求7所述的控制装置,其中
所述第二学习完毕的学习模型构成为,进一步受理从所述传感器获取的所述观察数据的输入,
决定所述相对关系量的序列的步骤包含:将所述最新的观察数据进一步输入至所述第二学习完毕的学习模型。
9.根据权利要求1至3中任一项所述的控制装置,其中
所述关系确定部包含第三学习完毕的学习模型,所述第三学习完毕的学习模型被训练成,针对训练用观察数据的输入,算出在所述训练用观察数据中出现的所述多个对象物之间的相对关系量,
算出所述相对关系量的步骤包含:
将所获取的所述观察数据输入至所述第三学习完毕的学习模型;
执行所述第三学习完毕的学习模型的运算处理;以及
获取从所述第三学习完毕的学习模型输出的输出值来作为算出所述相对关系量的结果。
10.根据权利要求9所述的控制装置,其中
所述机器人装置包括对所述机器人装置的属性进行观测的观测传感器,
所述第三学习完毕的学习模型构成为,进一步受理由所述观测传感器所获得的属性数据的输入,
算出所述相对关系量的步骤包含:将由所述观测传感器所获得的所述属性数据进一步输入至所述第三学习完毕的学习模型。
11.根据权利要求1至3中任一项所述的控制装置,其中
所述机器人装置是包括末端执行器的操纵器,
所述多个对象物包含所述末端执行器,
所述指令决定部决定与所述末端执行器相关的控制指令,
所述输出部将所决定的控制指令输出至所述操纵器。
12.一种控制方法,生成控制指令,所述控制指令用于对在存在多个对象物的环境下运转的机器人装置的运行进行控制,所述多个对象物包括所述机器人装置的末端执行器、工件和障碍物,其中,
所述控制方法由计算机执行下述步骤:
设定成为最终目标的所述多个对象物之间的相对关系量,所述相对关系量表示与所述环境下的所述多个对象物之间的相对且物理的关系相关的属性,所述相对关系量包括用于表示所述环境下的所述多个对象物之间的相对位置和相对姿势的量;
从对存在于所述环境下的所述多个对象物进行观察的传感器反复获取观察数据;
根据所获取的所述观察数据,算出所述多个对象物之间的相对关系量;
决定从开始所述运行的控制的时间点中的所述多个对象物之间的相对关系量直至实现所设定的所述最终目标的相对关系量为止的、所述多个对象物在设为目标的状态下的相对关系量的序列;
反复决定对所述机器人装置给予的控制指令,以使根据从所述传感器获取的最新的观察数据而算出的当前状态下的相对关系量变化为所述相对关系量的序列中所含的、所述当前状态的接下来要迁移的目标状态下的相对关系量,直至实现所述最终目标的相对关系量为止;以及
将所决定的所述控制指令输出至所述机器人装置。
13.一种存储介质,存储有控制程序,所述控制程序生成控制指令,所述控制指令用于对在存在多个对象物的环境下运转的机器人装置的运行进行控制,所述多个对象物包括所述机器人装置的末端执行器、工件和障碍物,所述控制程序用于使计算机执行下述步骤:
设定成为最终目标的所述多个对象物之间的相对关系量,所述相对关系量表示与所述环境下的所述多个对象物之间的相对且物理的关系相关的属性,所述相对关系量包括用于表示所述环境下的所述多个对象物之间的相对位置和相对姿势的量;
从对存在于所述环境下的所述多个对象物进行观察的传感器反复获取观察数据;
根据所获取的所述观察数据,算出所述多个对象物之间的相对关系量;
决定从开始所述运行的控制的时间点中的所述多个对象物之间的相对关系量直至实现所设定的所述最终目标的相对关系量为止的、所述多个对象物在设为目标的状态下的相对关系量的序列;
反复决定对所述机器人装置给予的控制指令,以使根据从所述传感器获取的最新的观察数据而算出的当前状态下的相对关系量变化为所述相对关系量的序列中所含的、所述当前状态的接下来要迁移的目标状态下的相对关系量,直至实现所述最终目标的相对关系量为止;以及
将所决定的所述控制指令输出至所述机器人装置。
CN201980052690.6A 2018-11-30 2019-10-17 控制装置、控制方法以及存储介质 Active CN112584990B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018225815A JP6904327B2 (ja) 2018-11-30 2018-11-30 制御装置、制御方法、及び制御プログラム
JP2018-225815 2018-11-30
PCT/JP2019/040794 WO2020110495A1 (ja) 2018-11-30 2019-10-17 制御装置、制御方法、及び制御プログラム

Publications (2)

Publication Number Publication Date
CN112584990A CN112584990A (zh) 2021-03-30
CN112584990B true CN112584990B (zh) 2024-05-10

Family

ID=70852269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980052690.6A Active CN112584990B (zh) 2018-11-30 2019-10-17 控制装置、控制方法以及存储介质

Country Status (5)

Country Link
US (1) US11745355B2 (zh)
EP (1) EP3888859A4 (zh)
JP (1) JP6904327B2 (zh)
CN (1) CN112584990B (zh)
WO (1) WO2020110495A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7463777B2 (ja) * 2020-03-13 2024-04-09 オムロン株式会社 制御装置、学習装置、ロボットシステム、および方法
US11945123B2 (en) 2020-04-28 2024-04-02 Altec Industries, Inc. Head mounted display for remote operation of machinery
JPWO2022014485A1 (zh) * 2020-07-14 2022-01-20
KR102320659B1 (ko) * 2020-09-16 2021-11-03 한국생산기술연구원 로봇을 이용한 단위행동 딥러닝 모델 학습방법과 이를 이용한 로봇 제어 방법
CN114578720B (zh) * 2020-12-01 2023-11-07 合肥欣奕华智能机器股份有限公司 控制方法及控制系统
WO2022145213A1 (ja) * 2020-12-28 2022-07-07 ソニーグループ株式会社 制御装置、制御システム及び制御方法
US20240033911A1 (en) * 2020-12-28 2024-02-01 Sony Group Corporation Control system and control method
KR102346900B1 (ko) * 2021-08-05 2022-01-04 주식회사 애자일소다 픽 앤 플레이스 시스템을 위한 심층 강화학습 장치 및 방법
JP2023038776A (ja) * 2021-09-07 2023-03-17 オムロン株式会社 指令値生成装置、方法、及びプログラム
US11660750B1 (en) * 2022-07-28 2023-05-30 Altec Industries, Inc. Autonomous and semi-autonomous control of aerial robotic systems

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10111701A (ja) * 1996-10-05 1998-04-28 Ricoh Co Ltd 学習型自動セル装置と学習方法
CN1843710A (zh) * 2005-04-07 2006-10-11 精工爱普生株式会社 移动控制装置及方法、位置指挥装置及方法、控制程序
JP2012245568A (ja) * 2011-05-25 2012-12-13 Ihi Corp 運動予測制御装置と方法
EP2546712A1 (de) * 2011-07-12 2013-01-16 Siemens Aktiengesellschaft Verfahren zum Betrieb einer Produktionsmaschine
CN103273497A (zh) * 2013-06-06 2013-09-04 山东科技大学 人机交互式机械手控制系统及其控制方法
CN104802166A (zh) * 2013-10-10 2015-07-29 精工爱普生株式会社 机器人控制系统、机器人、程序以及机器人控制方法
US9258550B1 (en) * 2012-04-08 2016-02-09 Sr2 Group, Llc System and method for adaptively conformed imaging of work pieces having disparate configuration
CN105792996A (zh) * 2013-11-28 2016-07-20 三菱电机株式会社 机器人系统以及机器人系统的控制方法
WO2018135509A1 (ja) * 2017-01-23 2018-07-26 パナソニックIpマネジメント株式会社 イベント予測システム、イベント予測方法、プログラムおよびそれを記録した記録媒体
CN108393889A (zh) * 2017-02-06 2018-08-14 精工爱普生株式会社 控制装置、机器人以及机器人系统
JP2018149670A (ja) * 2017-03-14 2018-09-27 オムロン株式会社 学習対象装置及び動作方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58177295A (ja) * 1982-04-07 1983-10-17 株式会社日立製作所 ロボット制御装置
JP4572497B2 (ja) * 2001-09-14 2010-11-04 株式会社安川電機 ロボット制御装置
WO2003064116A2 (en) * 2002-01-31 2003-08-07 Braintech Canada, Inc. Method and apparatus for single camera 3d vision guided robotics
US8559699B2 (en) * 2008-10-10 2013-10-15 Roboticvisiontech Llc Methods and apparatus to facilitate operations in image based systems
JP5164811B2 (ja) * 2008-11-26 2013-03-21 キヤノン株式会社 作業システム及び情報処理方法
JP5509645B2 (ja) * 2009-03-25 2014-06-04 富士ゼロックス株式会社 位置・姿勢認識方法、部品把持方法、部品配置方法、部品組立方法、位置・姿勢認識装置、部品把持装置、部品配置装置、および部品組立装置
FI20105732A0 (fi) * 2010-06-24 2010-06-24 Zenrobotics Oy Menetelmä fyysisten kappaleiden valitsemiseksi robottijärjestelmässä
JP5835926B2 (ja) * 2011-04-11 2015-12-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP5787642B2 (ja) * 2011-06-28 2015-09-30 キヤノン株式会社 対象物保持装置、対象物保持装置の制御方法、およびプログラム
JP5852364B2 (ja) * 2011-08-26 2016-02-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP5806606B2 (ja) * 2011-12-01 2015-11-10 キヤノン株式会社 情報処理装置、情報処理方法
JP6192088B2 (ja) * 2013-02-20 2017-09-06 国立大学法人九州工業大学 物体検出方法および物体検出装置
JP5565503B2 (ja) * 2013-05-16 2014-08-06 富士電機株式会社 動作軌道生成装置、動作軌道生成方法、ロボット制御装置及びロボット制御方法
JP6390088B2 (ja) * 2013-10-31 2018-09-19 セイコーエプソン株式会社 ロボット制御システム、ロボット、プログラム及びロボット制御方法
US9259844B2 (en) * 2014-02-12 2016-02-16 General Electric Company Vision-guided electromagnetic robotic system
KR102081139B1 (ko) * 2014-03-12 2020-02-25 한국전자통신연구원 물체 피킹 시스템, 물체 검출 장치 및 그 방법
JP6443837B2 (ja) * 2014-09-29 2018-12-26 セイコーエプソン株式会社 ロボット、ロボットシステム、制御装置、及び制御方法
JP6573354B2 (ja) * 2014-11-28 2019-09-11 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP6548422B2 (ja) * 2015-03-27 2019-07-24 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
DE102016009030B4 (de) * 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
JP6700726B2 (ja) * 2015-11-06 2020-05-27 キヤノン株式会社 ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム
JP6438512B2 (ja) * 2017-03-13 2018-12-12 ファナック株式会社 機械学習により補正した計測データでワークの取り出しを行うロボットシステム、計測データ処理装置および計測データ処理方法
US10537995B2 (en) * 2017-05-08 2020-01-21 Seiko Epson Corporation Controller and control method of robot, and robot system

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10111701A (ja) * 1996-10-05 1998-04-28 Ricoh Co Ltd 学習型自動セル装置と学習方法
CN1843710A (zh) * 2005-04-07 2006-10-11 精工爱普生株式会社 移动控制装置及方法、位置指挥装置及方法、控制程序
JP2012245568A (ja) * 2011-05-25 2012-12-13 Ihi Corp 運動予測制御装置と方法
EP2546712A1 (de) * 2011-07-12 2013-01-16 Siemens Aktiengesellschaft Verfahren zum Betrieb einer Produktionsmaschine
US9258550B1 (en) * 2012-04-08 2016-02-09 Sr2 Group, Llc System and method for adaptively conformed imaging of work pieces having disparate configuration
CN103273497A (zh) * 2013-06-06 2013-09-04 山东科技大学 人机交互式机械手控制系统及其控制方法
CN104802166A (zh) * 2013-10-10 2015-07-29 精工爱普生株式会社 机器人控制系统、机器人、程序以及机器人控制方法
CN105792996A (zh) * 2013-11-28 2016-07-20 三菱电机株式会社 机器人系统以及机器人系统的控制方法
WO2018135509A1 (ja) * 2017-01-23 2018-07-26 パナソニックIpマネジメント株式会社 イベント予測システム、イベント予測方法、プログラムおよびそれを記録した記録媒体
CN108393889A (zh) * 2017-02-06 2018-08-14 精工爱普生株式会社 控制装置、机器人以及机器人系统
JP2018149670A (ja) * 2017-03-14 2018-09-27 オムロン株式会社 学習対象装置及び動作方法

Also Published As

Publication number Publication date
JP2020082332A (ja) 2020-06-04
US11745355B2 (en) 2023-09-05
EP3888859A1 (en) 2021-10-06
EP3888859A4 (en) 2022-08-10
CN112584990A (zh) 2021-03-30
JP6904327B2 (ja) 2021-07-14
WO2020110495A1 (ja) 2020-06-04
US20210252714A1 (en) 2021-08-19

Similar Documents

Publication Publication Date Title
CN112584990B (zh) 控制装置、控制方法以及存储介质
CN108873768B (zh) 任务执行系统及方法、学习装置及方法、以及记录介质
Sun et al. Motion planning for mobile robots—Focusing on deep reinforcement learning: A systematic review
CN110914024B (zh) 路径输出方法、路径输出系统和路径输出程序
CN111684474B (zh) 运算装置、运算方法及记录介质
JP4413891B2 (ja) シミュレーション装置およびシミュレーション方法並びにシミュレーションプログラム
JP5018458B2 (ja) 座標補正方法、座標補正プログラム、及び自律移動ロボット
Ichnowski et al. GOMP: Grasp-optimized motion planning for bin picking
US20210213606A1 (en) Parameter identification apparatus, parameter identification method, and non-transitory computer-readable storage medium storing a parameter identification program
Al-Sharo et al. Generalized Procedure for Determining the Collision-Free Trajectory for a Robotic Arm
Westerberg et al. Virtual environment-based teleoperation of forestry machines: Designing future interaction methods
Xu et al. On-site autonomous construction robots: A review of research areas, technologies, and suggestions for advancement
JP7295421B2 (ja) 制御装置及び制御方法
CN115122325A (zh) 一种具有视场约束的拟人化机械手鲁棒视觉伺服控制方法
Spranger et al. Human-machine interface for remote training of robot tasks
Kim et al. A RRT-based collision-free and occlusion-free path planning method for a 7DOF manipulator
Boeuf Kinodynamic motion planning for quadrotor-like aerial robots
Ioannidis et al. A cellular automaton collision-free path planner suitable for cooperative robots
Dimitrov et al. Realization of vision-based navigation and object recognition algorithms for the sample return challenge
Garay et al. Development of a navigation system with kinect in a controlled environment for a mobile robot
Bun et al. COLLABORATIVE PATH PLANNING OF ROBOT ARM AND TURNABLE-TABLE USING RRT ALGORITHM FOR 3D OBJECT INSPECTION
Maheshwari et al. DESIGN OF ADVANCE ROBOT FOR SURVEILLANCE AND RISK-FREE MOVEMENT: A SIMULATION APPROACH.
Trunov Development of an Artificial Intelligence Tool and Sensing in Informatization Systems of Mobile Robots
Molska et al. Convolutional Neural Network-Based Local Obstacle Avoidance for a Mobile Robot
Haviland Control strategies for reactive manipulation

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