首页> 中国专利> 动作规划装置、动作规划方法以及动作规划程序

动作规划装置、动作规划方法以及动作规划程序

摘要

本发明提供一种技术,用于保证实际环境下的可执行性,并且即便是复杂的任务,也使存储器的负载相对轻量且高速地生成动作规划。本发明的一方面的动作规划装置使用符号规划器,生成包含按照执行顺序排列的一个以上的抽象性行为的抽象性行为序列。动作规划装置使用运动规划器,按照执行顺序而由各抽象性行为生成动作序列,并且判定所生成的动作序列能否由机器人装置在实际环境中物理性地执行。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-06-30

    实质审查的生效 IPC(主分类):B25J 9/22 专利申请号:2021800661464 申请日:20210914

    实质审查的生效

  • 2023-06-13

    公开

    国际专利申请公布

说明书

技术领域

本发明涉及一种用于规划机器人装置的动作的动作规划装置、动作规划方法以及动作规划程序。

背景技术

例如,为了执行装配制品等各种任务,利用有各种类型的机器人装置。机器人装置的机构、末端执行器、对象(工件、工具、障碍物等)等要素根据执行任务的环境而具有多种变化(variation),难以通过人工来对与它们全部对应的机器人装置的动作流程进行编程并对机器人装置示教对象任务。尤其,任务越复杂,对所有的动作流程进行编程越不现实。因此,有时采用下述方法:在决定好机构、末端执行器、对象等要素后,一边通过人工来移动机器人装置自身并记录所执行的一连串动作中的姿势,一边直接示教要执行的任务。

但是,此方法中,每当变更要素时,用于执行任务的动作流程有可能发生改变,须对机器人装置再次示教所述动作流程。因此,伴随任务变更对动作规划造成的负担变大。因此,尝试将用于执行任务的动作规划自动化的各种方法。作为自动规划法的一例,已知有经典的计划编制(planning)。经典的计划编制是将任务环境抽象化,生成使状态从开始状态变化至目标状态为止的一连串行为(例如抓握、搬运等)的规划的方法。除此以外,作为工具的一例,已知有Moveit任务构建器(非专利文献1)。根据Moveit任务构建器,通过人工来定义行为的序列,由此,能够自动生成对机器人装置给予的动作指令且在实际环境中可执行的动作指令。

现有技术文献

非专利文献

非专利文献1:“MoveIt任务构建器-moveit_tutorials旋律文档,”[在线],[2020年10月19日检索],国际互联网<URL:https://ros-planning.github.io/moveit_tutorials/doc/moveit_task_constructor/moveit_task_constructor_tutorial.html>

发明内容

发明所要解决的问题

本申请发明人等发现,所述以往的自动规划法存在如下所述的问题。即,根据经典的计划编制,即便是复杂的任务,也能够使存储器的负载相对轻量且高速地生成用于执行任务的行为的序列(解)。而且,即便用户(作业员)未定义行为的序列,也能够动态地获得解。但是,经典的计划编制不过是将任务环境简单化的简易的模拟,未考虑例如机器人装置的规格、对象的配置、工作空间的限制等实际环境。因此,通过经典的计划编制获得的各行为能否在实际环境中执行并不明。另一方面,根据Moveit任务构建器,能够自动生成可在实际环境中执行的动作指令。但是,与通过人工来定义行为的序列相应地,用户耗费工夫。尤其,在使机器人装置执行复杂的任务时,对用户造成的负担变大。除此以外,为了将试行的所有动作保持于存储器,存储器的负载变大。

本发明在一方面是有鉴于此种情况而完成,其目的在于提供一种技术,用于保证实际环境下的可执行性,并且即便是复杂的任务,也可使存储器的负载相对轻量且高速地生成动作规划。

解决问题的技术手段

为了解决所述问题,本发明采用以下结构。

即,本发明的一方面的动作规划装置包括:信息获取部,构成为,获取任务信息,所述任务信息包含与对机器人装置给予的任务的开始状态以及目标状态相关的信息;行为生成部,构成为,使用符号规划器,基于所述任务信息生成抽象性行为序列,所述抽象性行为序列包含以从所述开始状态到达所述目标状态的方式按照执行顺序排列的一个以上的抽象性行为;动作生成部,构成为,使用运动规划器生成动作序列,并且判定所生成的所述动作序列能否由所述机器人装置在实际环境中物理性地执行,所述动作序列用于按照所述执行顺序执行所述抽象性行为序列中所含的所述抽象性行为且包含一个以上的物理性动作;以及输出部,构成为,输出动作组,所述动作组包含使用所述运动规划器生成的一个以上的动作序列且已判定为所含的所有动作序列能够物理性地执行,且所述动作规划装置中,构成为,在所述动作生成部中,当判定为所述动作序列无法物理性地执行时,丢弃与被判定为无法物理性地执行的动作序列对应的抽象性行为以后的抽象性行为序列,并在所述行为生成部中,使用所述符号规划器生成所述行为以后的新的抽象性行为序列。

所述结构的动作规划装置通过使用符号规划器以及运动规划器这两个规划器来生成机器人装置的动作规划。首先,在所述结构中,通过使用符号规划器,生成从任务的开始状态到达目标状态为止的抽象性行为序列(即,抽象性行为规划)。一例中,抽象性行为为包含机器人装置的一个以上的动作的任意动作的集合,能以可利用符号(例如语言等)表达的动作的集合来定义。即,在使用符号规划器的阶段,简化任务的环境以及条件而生成用于执行任务的抽象性行为规划。由此,即便是复杂的任务,也能够使存储器的负载相对轻量且高速地生成所述抽象性行为规划。

接下来,所述结构中,通过使用运动规划器,生成用于按照执行顺序执行抽象性行为的动作序列(即,将抽象性行为转换为动作序列),并且判定所生成的动作序列能否由机器人装置在实际环境中物理性地执行。即,在使用运动规划器的阶段,在由符号规划器所生成的抽象性行为规划的范围内,一边模拟实际环境中的机器人装置的动作,一边生成机器人装置的动作组(动作规划)。并且,若无法生成可在实际环境下执行的动作规划(即,由符号规划器所生成的行为规划无法在实际环境下执行),则丢弃无法物理性地执行的行为以后的规划,并返回使用符号规划器的阶段,重新规划抽象性行为序列。由此,在使用运动规划器的阶段,能够保证实际环境下的可执行性,并且能够收敛在符号规划器的行为规划的范围内而有效率地生成动作规划。

因此,根据所述结构,将生成机器人装置的动作规划的过程分为使用符号规划器的阶段以及使用运动规划器的阶段这两个阶段,一边在两个规划器间进行交换,一边生成动作规划。由此,能够保证实际环境下的可执行性,并且即便是复杂的任务,也能够使存储器的负载相对轻量且高速地生成动作规划。另外,在以控制机器人装置的动作的方式来构成动作规划装置的情况下,所述动作规划装置可称作用于控制所述机器人装置的动作的“控制装置”。

所述一方面的动作规划装置中,所述符号规划器也可包含成本推测模型,所述成本推测模型通过机器学习进行了训练以推测抽象性行为的成本。并且,所述行为生成部可进而构成为,使用所述符号规划器,以由所述成本推测模型所推测的成本得到最佳化的方式生成所述抽象性行为序列。关于成本,例如可基于动作时间、驱动量、动作规划的失败率(成功率)、用户反馈等任意指标而适当设定为,越理想的行为则成本越低,越不理想的行为则成本越高。根据所述结构,通过使用经训练的成本推测模型,由符号规划器基于成本来生成理想的抽象性行为规划,由此,能够容易地生成更适当的动作规划。另外,对应于启发式(heuristic)地获得各行为的成本的情况,“成本推测模型”也可被称作“启发式模型”。

所述一方面的动作规划装置可还包括:数据获取部,构成为,获取多个学习数据集,所述多个学习数据集分别包含表示训练用抽象性行为的训练样本、以及表示所述训练用抽象性行为的成本的真值的正解标签的组合;以及学习处理部,构成为,使用所获取的多个学习数据集来实施所述成本推测模型的机器学习,且所述机器学习是通过下述方式而构成,即,关于各学习数据集,对所述成本推测模型进行训练,以使针对由所述训练样本所表示的所述训练用抽象性行为的成本的推测值符合由所述正解标签所表示的真值。根据所述结构,在动作规划装置中,能够生成用于生成更适当的动作规划的训练完毕的成本推测模型。而且,能够一边运用动作规划装置,一边实现成本推测模型的能力的改善。

所述一方面的动作规划装置中,可构成为,所述正解标签表示针对所述训练用抽象性行为而根据由所述运动规划器所生成的动作序列的执行所耗费的时间、以及所述动作序列的执行中的所述机器人装置的驱动量的至少任一者所算出的成本的真值。根据所述结构,能够对成本推测模型进行训练,以获得将机器人装置的动作时间以及驱动量的至少一者作为指标来算出成本的能力。由此,能够关于机器人装置的动作时间以及驱动量的至少一者而容易地生成适当的动作规划。

所述一方面的动作规划装置中,可构成为,所述正解标签表示针对所述训练用抽象性行为而根据由所述运动规划器所生成的动作序列被判定为无法物理性地执行的概率所算出的成本的真值。根据所述结构,能够对成本推测模型进行训练,以获得将运动规划器所进行的动作规划的失败率作为指标来算出成本的能力。由此,关于由符号规划器所生成的抽象性行为序列,能够降低运动规划器所进行的动作规划的失败率(换言之,返回使用符号规划器的阶段而重新规划抽象性行为序列的可能性)。即,能够由符号规划器生成在实际环境下可执行性高的抽象性行为规划,由此,能够实现直至获得最终的动作规划为止的处理时间的缩短。

所述一方面的动作规划装置中,可构成为,所述正解标签表示根据用户对所述训练用抽象性行为的反馈所算出的成本的真值。根据所述结构,能够对成本推测模型进行训练,以获得将通过用户的反馈所给予的见解作为指标来算出成本的能力。由此,能够容易地根据反馈来生成更适当的动作规划。

所述一方面的动作规划装置可还包括接口处理部,所述接口处理部构成为,对所述用户输出使用符号规划器而生成的抽象性行为序列中所含的抽象性行为的一览,并受理所述用户对所输出的所述抽象性行为的一览的反馈。除此以外,所述数据获取部可进而构成为,从所述用户对所述抽象性行为的一览的反馈的结果中获取所述学习数据集。用户的反馈也可相对于由运动规划器所生成的动作规划而获得。其中,由运动规划器所生成的动作规划中所含的动作序列是由伴随机器人装置的机械驱动的物理量(例如末端执行器的轨道等)来定义。因此,所生成的动作规划的信息量多,且对于用户(人)而言解释性低。另一方面,由符号规划器所生成的行为规划中所含的抽象性行为例如能以可利用语言等符号表达的动作的集合来定义,与以物理量定义的动作序列相比,信息量少且对于用户而言解释性高。因此,根据所述结构,能够抑制对用户输出由规划器所生成的规划的资源(例如显示器)的消耗,且容易获得所述用户的反馈,由此,能够容易地生成以及改善用于生成更适当的动作规划的训练完毕的成本推测模型。

所述一方面的动作规划装置中,可通过包括边缘以及节点的图表来表达所述任务的状态空间,所述边缘对应于抽象性行为,所述节点对应于作为通过抽象性行为的执行来变更的对象的抽象性属性,所述符号规划器可构成为,在所述图表内探索从对应于开始状态的开始节点直至对应于目标状态的目标节点为止的路径,由此生成所述抽象性行为序列。根据所述结构,能够简易地生成符号规划器,由此,能够减轻对动作规划装置的构建造成的负担。

所述一方面的动作规划装置中,输出所述动作组的步骤可包含:通过将表示所述动作组的指令给予至所述机器人装置,从而控制所述机器人装置的动作。根据所述结构,能够构建依据所生成的动作规划来控制机器人装置的动作的动作规划装置。另外,所述结构的动作规划装置可称作“控制装置”。

所述一方面的动作规划装置中,所述机器人装置可包括一个以上的机械手,所述任务可为包含一个以上的零件的制品的装配作业。根据所述结构,在通过机械手来执行制品的装配作业的场景中,能够保证实际环境下的可执行性,并且即便是复杂的任务,也能够使存储器的负载相对轻量且高速地生成动作规划。

另外,作为所述各形态的动作规划装置的另一形态,本发明的一方面也可为实现以上的各结构的全部或其一部分的信息处理方法,也可为程序,还可为存储有此种程序的、计算机或其他装置、机械等可读取的存储介质。此处,所谓计算机等可读取的存储介质,是指通过电、磁、光学、机械或化学作用来保存程序等信息的介质。

例如,本发明的一方面的动作规划方法是一种信息处理方法,由计算机执行下述步骤:获取任务信息的步骤,所述任务信息包含与对机器人装置给予的任务的开始状态以及目标状态相关的信息;使用符号规划器,基于所述任务信息生成抽象性行为序列的步骤,所述抽象性行为序列包含以从所述开始状态到达所述目标状态的方式按照执行顺序排列的一个以上的抽象性行为;使用运动规划器生成动作序列的步骤,所述动作序列用于按照所述执行顺序执行所述抽象性行为序列中所含的所述抽象性行为且包含一个以上的物理性动作;判定所生成的所述动作序列能否由所述机器人装置在实际环境中物理性地执行的步骤;以及输出动作组的步骤,所述动作组包含使用所述运动规划器生成的一个以上的动作序列且已判定为所含的所有动作序列能够物理性地执行,所述信息处理方法中,在所述判定的步骤中,当判定为所述动作序列无法物理性地执行时,所述计算机丢弃与被判定为无法物理性地执行的动作序列对应的抽象性行为以后的抽象性行为序列,并返回生成所述抽象性行为序列的步骤,使用所述符号规划器生成所述行为以后的新的抽象性行为序列。

而且,例如本发明的一方面的动作规划程序是一种程序,用于使计算机执行下述步骤:获取任务信息的步骤,所述任务信息包含与对机器人装置给予的任务的开始状态以及目标状态相关的信息;使用符号规划器,基于所述任务信息生成抽象性行为序列的步骤,所述抽象性行为序列包含以从所述开始状态到达所述目标状态的方式按照执行顺序排列的一个以上的抽象性行为;使用运动规划器生成动作序列的步骤,所述动作序列用于按照所述执行顺序执行所述抽象性行为序列中所含的所述抽象性行为且包含一个以上的物理性动作;判定所生成的所述动作序列能否由所述机器人装置在实际环境中物理性地执行的步骤;以及输出动作组的步骤,所述动作组包含使用所述运动规划器生成的一个以上的动作序列且已判定为所含的所有动作序列能够物理性地执行,所述程序中,在所述判定的步骤中,当判定为所述动作序列无法物理性地执行时,使所述计算机丢弃与被判定为无法物理性地执行的动作序列对应的抽象性行为以后的抽象性行为序列,并返回生成所述抽象性行为序列的步骤,使用所述符号规划器生成所述行为以后的新的抽象性行为序列。

发明的效果

根据本发明,能够保证实际环境下的可执行性,并且即便是复杂的任务,也能够使存储器的负载相对轻量且高速地生成动作规划。

附图说明

图1示意性地例示适用本发明的场景的一例。

图2示意性地例示实施方式的动作规划装置的硬件结构的一例。

图3示意性地例示实施方式的动作规划装置的软件结构的一例。

图4示意性地例示实施方式的动作规划装置的成本推测模型的机器学习的过程的一例。

图5是表示实施方式的动作规划装置所进行的与动作规划相关的处理流程的一例的流程图。

图6示意性地例示实施方式的符号规划器对抽象性行为序列的生成过程的一例。

图7示意性地例示实施方式的动作规划装置对抽象性行为序列的输出形态的一例。

图8示意性地例示实施方式的运动规划器对动作序列的生成过程的一例。

图9是表示与实施方式的动作规划装置的成本推测模型的机器学习相关的处理流程的一例的流程图。

图10示意性地例示成本推测模型的另一利用形态的一例。

具体实施方式

以下,基于附图来说明本发明的一方面的实施方式(以下也称作“本实施方式”)。但是,以下说明的本实施方式在所有方面不过是本发明的例示。当然能够不脱离本发明的范围而进行各种改良或变形。即,在本发明的实施时,也可适当采用与实施方式相应的具体结构。另外,通过自然语言说明了本实施方式中出现的数据,但更具体而言,是以计算机可识别的伪语言、命令、参数、机器语言等来指定。

§1适用例

图1示意性地例示适用了本发明的场景的一例。本实施方式的动作规划装置1是构成为生成用于使机器人装置R执行任务的动作规划的计算机。

首先,动作规划装置1获取任务信息121,所述任务信息121包含与对机器人装置R给予的任务的开始状态以及目标状态相关的信息。机器人装置R的种类可无特别限定,可根据实施方式来适当选择。机器人装置R例如可为工业机器人(操纵器等)、可自动地移动的移动体等。工业机器人例如可为垂直多关节机器人、选择顺应性装配机器人、平行链接机器人、正交机器人、协同机器人等。可自动地移动的移动体例如可为无人驾驶飞机、可自度驾驶地构成的车辆、移动机器人等。机器人装置R可包含多台机器人。任务可包含机器人装置R可执行的任意作业例如制品的装配等。执行任务的环境除了根据机器人装置R以外,例如还根据工件(零件等)、工具(起子等)、障碍物等对象物来规定。作为一例,机器人装置R可包括一个以上的机械手,任务可为包含一个以上的零件的制品的装配作业。此时,可生成用于通过机械手来装配制品的作业的动作规划。任务信息121只要包含表示任务的开始状态以及目标状态的信息,则也可包含除此以外的信息(例如与任务的环境相关的信息)。

接下来,动作规划装置1使用符号规划器3,基于任务信息121生成抽象性行为序列,所述抽象性行为序列包含以从开始状态到达目标状态的方式按照执行顺序排列的一个以上的抽象性行为。抽象性行为序列可换称为抽象性行为规划或符号规划(symbolicplan)。继而,动作规划装置1使用运动规划器5,按照行为规划的执行顺序,将抽象性行为序列中所含的抽象性行为转换为动作序列。动作序列可适当构成为,可达成作为对象的抽象性行为地包含一个以上的物理性动作。由此,动作规划装置1生成用于按照执行顺序执行抽象性行为的动作序列。在生成所述动作序列的处理的同时,动作规划装置1使用运动规划器5来判定所生成的动作序列能否由机器人装置R在实际环境中物理性地执行。

一例中,抽象性行为是包含机器人装置R的一个以上的动作的任意动作的集合,能以可利用符号(例如语言等)表达的动作的集合来定义。抽象性行为例如能以对零件进行抓握、搬运、定位等有含义(即,人可理解的)动作的集合来定义。另一方面,物理性动作能以伴随机器人装置R的机械驱动的行动(物理量)来定义。物理性动作例如可通过末端执行器的轨道等控制对象中的控制量来定义。

与它们相应地,开始状态可通过作为执行任务的开始点的机器人装置R以及对象物的抽象性属性及物理状态来定义。目标状态可通过成为要执行的任务的目标点的机器人装置R以及对象物的抽象性属性来定义。目标状态下的机器人装置R以及对象物的物理状态既可预先规定,也可不规定(此时,目标状态下的物理状态例如也可基于运动规划器5的执行结果等,而根据目标状态下的抽象性属性来适当决定)。“目标”为任务的最终目标以及中间目标的哪个皆可。抽象性属性成为通过抽象性行为的执行来变更的对象。抽象性属性例如可构成为包含自由(free)、保持着工件、保持着工具、被保持于机械手、被固定在规定位置等抽象性的(象征性的)状态。物理状态例如可通过位置、姿势、方向等在实际环境中的物理量来定义。

符号规划器3可适当构成为可执行下述处理,即,当被给予表示开始状态以及目标状态的信息时,生成从所述开始状态到达目标状态为止的抽象性行为序列。符号规划器3例如可构成为,通过反复进行下述处理来生成抽象性行为序列,即,根据经典的计划编制(图表探索)等规定规则,选择能以从开始状态接近目标状态的方式执行的抽象性行为。运动规划器5可适当构成为可执行下述处理,即:当被给予表示抽象性行为序列的至少一部分的信息时,生成用于执行抽象性行为的动作序列;以及判定机器人装置R能否在实际环境中物理性地执行所生成的动作序列。一例中,运动规划器5可包含依据规定的规则将抽象性行为转换为动作序列的转换器以及物理性地模拟所获得的动作序列的物理模拟器。

若由符号规划器3所生成的抽象性行为规划无法在实际环境下执行(即,抽象性行为序列中包含无法在实际环境下执行的抽象性行为),则在运动规划器5的处理中,判定为针对成为其原因的抽象性行为而生成的动作序列无法物理性地执行。此时,动作规划装置1丢弃与被判定为无法物理性地执行的动作序列对应的抽象性行为以后的抽象性行为序列。并且,动作规划装置1使用符号规划器3来生成所述抽象性行为以后的新的抽象性行为序列。即,在使用运动规划器5的阶段中,若判明为抽象性行为序列中包含无法在实际环境下执行的抽象性行为(能够在实际环境下执行的动作序列的生成失败),则动作规划装置1返回使用符号规划器3的阶段,重新规划抽象性行为序列。

动作规划装置1如上述那样交替地反复进行符号规划器3以及运动规划器5的处理,直至判定为所有动作序列能够在实际环境下执行(即,关于所有的抽象性行为,能够在实际环境下执行的动作序列的生成成功)为止。由此,动作规划装置1生成动作组,所述动作组以从开始状态到达目标状态的方式包含一个以上的动作序列,且已判定为所含的所有动作序列能够物理性地执行。或者,若通过最开始的符号规划器3的使用便生成了能够在实际环境下执行的行为规划,则动作规划装置1可通过逐次执行(并非反复进行处理)符号规划器3以及运动规划器5的处理来生成所述动作组。

所生成的动作组相当于用于执行任务(即,从开始状态到达目标状态)的机器人装置R的动作规划。动作规划装置1输出使用运动规划器5而生成的动作组。另外,输出动作组的步骤可包含:通过将表示动作组的指令给予至机器人装置R,从而控制机器人装置R的动作。在以控制机器人装置R的动作的方式来构成动作规划装置1的情况下,所述动作规划装置1可换称为用于控制机器人装置R的动作的“控制装置”。

如上所述,本实施方式中,将生成机器人装置R的动作规划的过程分为使用符号规划器3的抽象阶段以及使用运动规划器5的物理阶段这两个阶段,一边在两个规划器(3、5)间进行交换一边生成动作规划。在使用符号规划器3的抽象阶段,可将任务的环境以及条件简化为抽象性的层级(level)而非复杂的实际环境的层级,从而生成用于执行任务的行为规划。因此,即便是复杂的任务,也能够使存储器的负载相对轻量且高速地生成抽象性行为规划(抽象性行为序列)。而且,本实施方式中构成为,由运动规划器5生成动作序列的处理利用符号规划器3的处理结果(即,在执行了符号规划器3的处理后执行)。由此,在使用运动规划器5的物理阶段,能够保证实际环境下的可执行性,并且能够收敛在符号规划器3的行为规划的范围内有效率地生成动作规划。因此,根据本实施方式,能够保证实际环境下的可执行性,并且即便是复杂的任务,也能够使存储器的负载相对轻量且高速地生成机器人装置R的动作规划。

§2结构例

[硬件结构]

图2示意性地例示本实施方式的动作规划装置1的硬件结构的一例。如图2所示,本实施方式的动作规划装置1是由控制部11、存储部12、外部接口13、输入装置14、输出装置15以及驱动器16电性连接而成的计算机。另外,图2中,将外部接口(interface)记载为“外部I/F”。

控制部11包含作为硬件处理器的一例的中央处理器(Central Processing Unit,CPU)、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)等,且构成为基于程序以及各种数据来执行信息处理。存储部12为存储器的一例,例如包含硬盘驱动器、固态硬盘等。本实施方式中,存储部12存储动作规划程序81等各种信息。

动作规划程序81是用于使动作规划装置1执行与动作规划的生成相关的后述的信息处理(图5以及图9)的程序。动作规划程序81包含所述信息处理的一连串命令。详细将后述。

外部接口13例如为通用串行总线(Universal Serial Bus,USB)端口、专用端口等,是用于与外部装置连接的接口。外部接口13的种类以及数量可任意选择。在以控制机器人装置R的动作的方式构成动作规划装置1的情况下,动作规划装置1可经由外部接口13而连接于机器人装置R。另外,动作规划装置1以及机器人装置R的连接方法可不限定于此种示例,可根据实施方式来适当选择。作为另一例,动作规划装置1以及机器人装置R例如可经由有线局域网(Local Area Network,LAN)模块、无线LAN模块等通信接口而彼此连接。

输入装置14例如是鼠标、键盘等用于进行输入的装置。而且,输出装置15例如是显示器、扬声器等用于进行输出的装置。用户等作业员通过利用输入装置14以及输出装置15而可操作动作规划装置1。

驱动器16例如为光盘(Compact Disc,CD)驱动器、数字多功能光盘(DigitalVersatile Disc,DVD)驱动器等,是用于读取存储在存储介质91中的程序等各种信息的驱动装置。存储介质91是以计算机或其他装置、机械等可读取所存储的程序等各种信息的方式,通过电、磁、光学、机械或化学作用来保存所述程序等信息的介质。所述动作规划程序81也可被存储在存储介质91中。动作规划装置1也可从所述存储介质91获取所述动作规划程序81。另外,图2中,作为存储介质91的一例,例示了CD、DVD等盘型的存储介质。但是,存储介质91的种类也可不限于盘型,也可为盘型以外。作为盘型以外的存储介质,例如可列举快闪存储器等半导体存储器。驱动器16的种类可根据存储介质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 LogicController,PLC)等。

[软件结构]

图3示意性地例示本实施方式的动作规划装置1的软件结构的一例。动作规划装置1的控制部11将存储于存储部12中的动作规划程序81在RAM中展开。并且,控制部11通过CPU来解释及执行在RAM中展开的动作规划程序81中所含的命令,以控制各构成元件。由此,本实施方式的动作规划装置1作为包括信息获取部111、行为生成部112、动作生成部113、输出部114、数据获取部115、学习处理部116以及接口处理部117作为软件模块的计算机来运行。即,本实施方式中,动作规划装置1的各软件模块是通过控制部11(CPU)来实现。

信息获取部111构成为,获取任务信息121,所述任务信息121包含与对机器人装置R所给予的任务的开始状态以及目标状态相关的信息。行为生成部112包括符号规划器3。行为生成部112构成为,使用符号规划器3,基于任务信息121来生成抽象性行为序列,所述抽象性行为序列包含以从开始状态到达目标状态的方式按照执行顺序排列的一个以上的抽象性行为。动作生成部113包括运动规划器5。动作生成部113构成为,使用运动规划器5来生成动作序列,并且判定所生成的动作序列能否由机器人装置R在实际环境中物理性地执行,所述动作序列用于按照执行顺序执行抽象性行为序列中所含的抽象性行为且包含一个以上的物理性动作。另外,符号规划器3以及运动规划器5各自的结构信息(未图示)的存储目的地可无特别限定,可根据实施方式来适当选择。一例中,各个结构信息既可包含在动作规划程序81内,也可与动作规划程序81另行保持在存储器(存储部12、存储介质91、外部存储装置等)中。

动作规划装置1构成为,在动作生成部113中,若判定为动作序列无法物理性地执行,则丢弃与被判定为无法物理性地执行的动作序列对应的抽象性行为以后的抽象性行为序列,且在行为生成部112中,使用符号规划器3来生成所述行为以后的新的抽象性行为序列。输出部114构成为,输出动作组,所述动作组包含使用运动规划器5而生成的一个以上的动作序列,且已判定为所含的所有动作序列能够物理性地执行。

符号规划器3可适当构成为,按照规定的规则来生成抽象性行为序列。本实施方式中,符号规划器3可进而构成为,包含成本推测模型(启发式模型)4,所述成本推测模型(启发式模型)4通过机器学习进行了训练以推测抽象性行为的成本。与此相应地,行为生成部112可进而构成为,使用符号规划器3,以由经训练的成本推测模型4所推测的成本得到最佳化的方式来生成抽象性行为序列。

成本推测模型4可适当构成为,当被给予所采用的抽象性行为的候选时,输出所述候选的成本的推测值(即,对成本进行推测的结果)。抽象性行为的候选既可直接指定,或者也可根据当前的状态以及接下来的状态的候选的组合来间接指定。而且,输入至成本推测模型4的信息可不限于表示抽象性行为的候选的信息。成本推测模型4可构成为,除了受理表示抽象性行为的候选的信息以外,还进一步受理可利用于成本推测的其他信息(例如任务信息121的至少一部分)的输入。

训练完毕的成本推测模型4既可由动作规划装置1所生成,或者也可由动作规划装置1以外的其他计算机所生成。本实施方式中,动作规划装置1构成为,通过包括数据获取部115以及学习处理部116,从而能够执行训练完毕的成本推测模型4的生成以及成本推测模型4的重新训练。

图4示意性地例示本实施方式的成本推测模型4的机器学习的过程的一例。数据获取部115构成为,获取多个学习数据集60,所述多个学习数据集60分别包含训练样本61以及正解标签62的组合。训练样本61可适当构成为表示训练用抽象性行为。在成本推测模型4构成为进一步受理其他信息的输入的情况下,训练样本61可构成为进一步包含训练用的其他信息。可适当构成为,正解标签62表示由对应的训练样本61所表示的训练用抽象性行为的成本的真值。

学习处理部116构成为,使用所获取的多个学习数据集60来实施成本推测模型4的机器学习。机器学习是通过下述方式而构成,即,关于各学习数据集60,对成本推测模型4进行训练,以使针对由训练样本61所表示的训练用抽象性行为的成本的推测值符合由对应的正解标签62所表示的真值。

关于成本,例如可基于动作时间、驱动量、动作规划的失败率、用户反馈等任意指标而适当设定为,越推荐的行为则成本越低,越不推荐的行为则成本越高。成本的数值表达可适当设定。一例中,成本也可以与数值成正比(即,数值越大则成本越高)的方式予以表达。另一例中,成本也可以与数值成反比(即,数值越小则成本越高)的方式予以表达。

动作序列的执行所耗费的时间(动作时间)以及动作序列的执行中的机器人装置R的驱动量可通过为了执行任务而获得的动作规划来评估。因此,在使用动作时间以及驱动量的至少一者作为成本的评估指标的情况下,各学习数据集60可从运动规划器5对动作组的生成结果中获取。

动作规划的失败率(即,针对抽象性行为而由运动规划器5所生成的动作序列被判定为无法物理性地执行的概率)可通过对由符号规划器3所获得的抽象性行为序列执行运动规划器5的处理来评估。因此,在使用动作规划的失败率来作为成本的评估指标的情况下,各学习数据集60可从针对由符号规划器3所获得的抽象性行为序列的、运动规划器5的处理的执行结果而获取。另外,动作规划的成功率(即,针对抽象性行为而由运动规划器5所生成的动作序列被判定为能够物理性地执行的概率)可作为成本的评估指标而与所述失败率同等地进行处理。因此,根据动作规划的失败率来评估成本可包含根据动作规划的成功率来评估成本。而且,失败率(成功率)可未必以0至1的范围来表达。作为另一例,失败率也可以动作规划成功(成本为0)以及失败(成本无限大)这两值来表达。

在使用用户的反馈来作为成本的评估指标的情况下,各学习数据集60可根据从用户获得的反馈结果适当获取。反馈的时机以及形式各自可无特别限定,可根据实施方式来适当决定。本实施方式中,可通过接口处理部117来获取所述用户的反馈。即,接口处理部117构成为,对用户输出使用符号规划器3而生成的抽象性行为序列中所含的抽象性行为的一览,且受理所述用户对所输出的抽象性行为的一览的反馈。各学习数据集60可根据用户对抽象性行为的一览的反馈的结果而获取。

另外,无论在采用哪种评估指标的情况下,收集学习数据集60的时机均可无特别限定,可根据实施方式来适当决定。所有的学习数据集60也可在运用动作规划装置1之前收集。或者,多个学习数据集60的至少一部分可一边运用动作规划装置1一边收集。

(成本推测模型)

成本推测模型4可适当包含具有可通过机器学习来调整的运算参数的机器学习模型。机器学习模型的结构以及种类各自可根据实施方式来适当选择。

作为一例,成本推测模型4可包含全结合型神经网络。图4的示例中,成本推测模型4包括输入层41、一个以上的中间(隐藏)层43以及输出层45。中间层43的数量可根据实施方式来适当选择。在另一例中,中间层43也可予以省略。构成成本推测模型4的神经网络的层数可根据实施方式来适当选择。

各层(41、43、45)包括一个或多个神经元(节点)。各层(41、43、45)中所含的神经元的数量可根据实施方式来适当决定。输入层41的神经元的数量例如可根据输入的维数等输入形态来适当决定。输出层45的神经元的数量例如可根据输出的维数等输出形态来适当决定。图4的示例中,各层(41、43、45)中所含的各神经元与邻接层的所有神经元结合。

但是,成本推测模型4的结构可不限定于此种示例,可根据实施方式来适当决定。作为另一例,在以基于多种信息来推测成本的方式构成成本推测模型4的情况下,成本推测模型4的至少输入侧的一部分可分割为多个模块,以分别受理各种信息的输入。作为具体结构的一例,成本推测模型4可包括:多个特征提取模块,以受理对应的信息的输入的方式分别并列地配置在输入侧;以及结合模块,以受理各特征提取模块的输出的方式配置在输出侧。各特征提取模块可适当构成为,从对应的信息中提取特征量。结合模块可适当构成为,将由各特征提取模块从各信息中提取的特征量予以结合,而输出成本的推测值。

对于各层(41、43、45)的各结合,设定权重(结合负载)。对于各神经元设定有阈值,基本上,根据各输入与各权重之积的和是否超过阈值来决定各神经元的输出。阈值可通过激活函数来表达。此时,将各输入与各权重之积的和输入激活函数,执行激活函数的运算,由此来决定各神经元的输出。激活函数的种类可任意选择。各层(41、43、45)中所含的各神经元间的结合的权重以及各神经元的阈值为运算参数的一例。

在所述成本推测模型4的机器学习中,学习处理部116使用各学习数据集60的训练样本61来作为训练数据(输入数据),使用正解标签62来作为正解数据(教学信号)。即,学习处理部116将各学习数据集60的训练样本61输入至输入层41,执行成本推测模型4的顺序传播的运算处理。通过此运算,学习处理部116从输出层45获取针对训练用抽象性行为的成本的推测值。学习处理部116算出所获得的成本的推测值、与由跟所输入的训练样本61相关联的正解标签62所表示的真值(正解)之间的误差。学习处理部116对于各学习数据集60,反复调整成本推测模型4的各运算参数的值,以使所算出的误差变小。由此,可生成训练完毕的成本推测模型4。

学习处理部116可构成为,生成学习结果数据125,所述学习结果数据125用于再现通过所述机器学习而生成的训练完毕的成本推测模型4。只要能再现训练完毕的成本推测模型4,则学习结果数据125的结构可无特别限定,可根据实施方式来适当决定。一例中,学习结果数据125也可包含表示通过所述机器学习的调整而获得的成本推测模型4的各运算参数的值的信息。根据情况,学习结果数据125也可进一步包含表示成本推测模型4的结构的信息。成本推测模型4的结构例如可通过神经网络中的从输入层直至输出层为止的层数、各层的种类、各层中所含的神经元的数量、邻接的层的神经元彼此的结合关系等来确定。学习处理部116可构成为,将所生成的学习结果数据125保存至规定的存储区域。

(其他)

关于动作规划装置1的各软件模块,在后述的动作例中进行详细说明。另外,本实施方式中,对动作规划装置1的各软件模块均由通用的CPU来实现的示例进行了说明。但是,所述软件模块的一部分或全部也可通过一个或多个专用的处理器来实现。所述各模块也可作为硬件模块而实现。而且,关于动作规划装置1的软件结构,也可根据实施方式来适当地进行软件模块的省略、置换以及追加。

§3动作例

(1)动作规划

图5是表示本实施方式的动作规划装置1所进行的与动作规划相关的处理流程的一例的流程图。以下说明的与动作规划相关的处理流程为动作规划方法的一例。但以下说明的与动作规划相关的处理流程不过是一例,各步骤可尽可能地变更。而且,对于以下的与动作规划相关的处理流程,可根据实施方式来适当地进行步骤的省略、置换以及追加。

(步骤S101)

在步骤S101中,控制部11作为信息获取部111而运行,获取任务信息121,所述任务信息121包含与对机器人装置R给予的任务的开始状态以及目标状态相关的信息。

获取任务信息121的方法可无特别限定,可根据实施方式来适当选择。一例中,任务信息121可作为经由输入装置14的用户输入结果而获取。另一例中,任务信息121可作为通过摄像机等传感器来观测任务的开始状态以及目标状态的结果而获取。只要能够确定开始状态以及目标状态,则任务信息121的数据格式可无特别限定,可根据实施方式来适当选择。任务信息121例如可包含数值数据、文本数据、图像数据等。为了确定任务,开始状态可对于抽象阶段以及物理阶段分别适当指定。目标状态可对于抽象阶段以及物理阶段中的至少抽象阶段来适当指定。任务信息121除了包含分别表示开始状态以及目标状态的信息以外,也可进一步包含可利用于抽象性行为序列或动作组的生成的其他信息。当获取任务信息121时,控制部11将处理推进至下个步骤S102。

(步骤S102)

在步骤S102中,控制部11作为行为生成部112而运行,参照任务信息121,并使用符号规划器3,以从开始状态到达目标状态的方式进行抽象性行为的计划编制。由此,控制部11基于任务信息121生成抽象性行为序列,所述抽象性行为序列包含以从开始状态到达目标状态的方式按照执行顺序排列的一个以上的抽象性行为。

图6示意性地例示本实施方式的符号规划器3对抽象性行为序列的生成过程的一例。抽象阶段中的任务的状态空间可通过包括边缘以及节点的图表来表达,所述边缘对应于抽象性行为,所述节点对应于作为通过抽象性行为的执行而变更的对象的抽象性属性。即,符号规划器3所参与的状态空间可包含通过抽象性行为而发生变化的抽象性属性(状态)的集合。与此相应地,符号规划器3可构成为,通过在图表内探测从对应于开始状态的开始节点直至对应于目标状态的目标节点为止的路径,从而生成抽象性行为序列。由此,能够简易地生成符号规划器3,其结果,能够减轻对动作规划装置1的构建造成的负担。另外,对与开始状态对应的开始节点给予的抽象性属性是表示抽象阶段中的开始状态的信息的一例。

抽象性属性可适当设定为,包含机器人装置R以及对象物各自的抽象性的状态。图6的一例中,表示了关于包含下述作业的任务来生成抽象性行为序列的场景,即,给予至少两个机械手(机器人A、机器人B)、一个以上的零件(零件C)以及一个以上的道具(道具Z),将零件C固定于规定的场所。抽象性属性包含各机器人(A、B)、零件C以及道具Z的抽象性的状态。在开始状态下,各机器人(A、B)、零件C以及道具Z为自由。在目标状态下,各机器人(A、B)以及道具Z为自由,零件C被固定于规定的场所。此种条件下,表示了下述场景,即:作为抽象性行为的计划编制的结果,选择了通过机器人A来保持零件C的行为作为最开始的行为。另外,在从开始节点到达目标节点为止的期间所经由的节点对应于中间状态。

在可通过此种图表来表达任务的状态空间的情况下,符号规划器3可构成为,当给出当前的状态以及目标状态时,选择接下来的状态(即,接下来要经由的节点)。选择接下来的状态相当于选择在当前的状态下要执行的抽象性行为。因此,选择接下来的状态可与选择要采用的抽象性行为同义地处理。符号规划器3对当前状态的初始值设置开始状态,并反复进行接下来的状态的选择以及节点的迁移,直至目标状态被选择为接下来的状态为止,由此,能够在图表内探索从开始节点直至目标节点为止的路径,生成抽象性行为序列。

可选择的接下来的状态(可采用的抽象性行为)的候选可根据机器人装置R的结构、对象物的条件等来适当地给出。但是,根据选择时的状态(被设定为当前状态的状态),所给出的候选中的一部分有可能无法在逻辑上执行。而且,即便能够在逻辑上执行,仍有可能因采用此行为而无法到达目标状态(到达尽头)或者反复经由相同的状态(循环)。因此,符号规划器3可构成为,在节点迁移前以及迁移后分别执行要采用的抽象性行为的逻辑检查。

作为一例,在图6的案例(case)中,在机器人A构成为可保持一个物品的情况下,只要机器人A为自由,则通过机器人A来保持零件C的行为或通过机器人A来保持道具Z的行为便能够在逻辑上执行。另一方面,若机器人A已保持着零件C(或道具Z),则通过机器人A来保持道具Z(或零件C)的行为无法在逻辑上执行。符号规划器3可构成为,在节点迁移(即,决定要选择的接下来的状态)之前,执行此种逻辑检查,并基于其结果来采用能够在逻辑上执行的行为。另外,此种迁移前的逻辑检查的内容可规定为规则。

而且,在与作为选择了节点的结果而到达的对象节点对应的状态(即,作为执行了能够在逻辑上执行的抽象性行为的结果而实现的抽象性属性)下,若不存在能够在逻辑上执行的行为,则所述对象节点为尽头。或者,若所述对象节点的抽象性属性与从开始节点到达对象节点为止所经由的中间节点的抽象性属性相同,则所选择的路径将循环。符号规划器3可构成为,保持从开始节点直至对象节点为止所经由的节点的信息,在节点迁移后,执行此种逻辑检查,由此来避免尽头以及循环。可构成为,若到达尽头或循环,则符号规划器3中止相应的抽象性行为的采用,返回前一个状态(节点),再次执行决定要采用的抽象性行为的处理。

若可采用的抽象性行为的候选存在多个,则符号规划器3可适当选择从所述多个候选中要采用的抽象性行为。本实施方式中,符号规划器3可使用训练完毕的成本推测模型4来决定从多个候选中要采用的抽象性行为。作为一例,控制部11参照学习结果数据125来进行训练完毕的成本推测模型4的设定。并且,控制部11将表示各候选的信息输入至输入层41,执行训练完毕的成本推测模型4的顺序传播的运算。由此,控制部11可从输出层45获得针对各候选的成本的推测结果。

另外,可采用的抽象性行为的候选既可直接指定,也可根据当前的状态以及接下来的状态的候选的组合来指定。推测成本的候选可收敛为根据所述迁移前的逻辑检查的结果而确定的、能够在逻辑上执行的抽象性行为。而且,若在成本的推测中考虑表示各候选的信息以外的其他信息,则输入层41可构成为进一步受理其他信息的输入。其他信息例如可包含机器人装置R的规格、与执行任务的环境相关的属性(例如对象物的配置、规格、工作空间的限制等)、任务的种类、任务的难易度、从当前状态直至对象状态为止的抽象性行为的一览、从当前状态直至对象状态为止所耗费的动作时间等信息。其他信息可作为任务信息121的至少一部分而在所述步骤S101中获取。

并且,控制部11可基于针对由训练完毕的成本推测模型4所获得的各候选的成本推测结果,以将成本最佳化的方式从多个候选中选择要采用的抽象性行为。一例中,将成本最佳化可通过选择成本最小的抽象性行为而构成。另一例中,将成本最佳化可通过选择成本比阈值小的抽象性行为而构成。由此,在步骤S102中,控制部11可使用符号规划器3,以将由训练完毕的成本推测模型4所推测的成本最佳化的方式生成抽象性行为序列。当生成抽象性行为序列时,控制部11将处理推进至接下来的步骤S103。

(步骤S103以及步骤S104)

基于图5,在步骤S103中,控制部11作为接口处理部117而运行,对用户输出使用符号规划器3而生成的抽象性行为序列中所含的抽象性行为的一览。接下来,在步骤S104中,控制部11受理所述用户对所输出的抽象性行为的一览的反馈。一览的输出目的地、输出形式以及反馈的形式可根据实施方式来适当选择。

图7示意性地例示本实施方式的抽象性行为序列(抽象性行为的一览)的输出形态的一例。图7所例示的输出画面150包含:第一区域151,用于显示执行了各抽象性行为时的任务的环境(例如机器人装置R、对象物)的情况;第二区域152,用于显示抽象性行为的一览;第一按钮153,用于执行抽象性行为序列的重新规划;以及第二按钮154,用于完成反馈受理。用户反馈可通过针对显示于第二区域152的抽象性行为的一览的图形用户接口(Graphical User Interface,GUI)操作而获得。用户反馈例如可包含抽象性行为的变更、修正、排序、删除、追加、否决、批准等。输出画面150可显示于输出装置15。与此相应地,用户反馈可经由输入装置14而受理。当反馈的受理完成时,控制部11将处理推进至接下来的步骤S105。

(步骤S105)

返回图5,在步骤S105中,控制部11根据步骤S104中的用户反馈来决定处理的分支目标。在用户反馈中,若选择了重新规划抽象性行为序列(例如,所述第一按钮153受到了操作),则控制部11将处理返回至步骤S102为止,从步骤S102开始再次执行处理。由此,控制部11重新规划抽象性行为序列。另外,符号规划器3可适当构成为,在重新规划时,例如通过采用不同的抽象性行为等的方法,而生成与在重新规划前所生成的抽象性行为序列至少局部不同的抽象性行为序列。另一方面,在用户反馈中,若未选择重新规划抽象性行为序列,则控制部11将处理推进至接下来的步骤S106。

(步骤S106以及步骤S107)

在步骤S106中,控制部11作为动作生成部113而运行,不生成抽象性行为序列中所含的抽象性行为中的、对应的动作序列,且确定执行顺序最早的抽象性行为。并且,控制部11使用运动规划器5,将所确定的作为对象的抽象性行为转换为动作序列。动作序列可适当构成为,可达成作为对象的抽象性行为地包含一个以上的物理性动作。在步骤S107中,控制部11判定所生成的动作序列能否由机器人装置R在实际环境中物理性地执行。

图8示意性地例示本实施方式的运动规划器5对动作序列的生成过程的一例。物理阶段中的任务的状态空间可通过包括边缘以及节点的图表来表达,所述边缘对应于动作序列,所述节点对应于包含作为通过动作序列的执行来变更的对象的物理状态的动作属性。即,运动规划器5所参与的状态空间可包含通过物理性动作而变化的动作(物理)属性的集合。物理阶段的各节点可对应于抽象阶段的各节点而获得。

各节点的动作属性除了对应的时间点的机器人装置R以及对象物的物理状态以外,可还包含与用于到达此物理状态的动作序列(动作列表)相关的信息。图8所示,与动作序列相关的信息例如可包含各动作的识别信息(动作ID)、在各动作之前执行的动作(母动作)的识别信息(母动作ID)、用于对机器人装置R指示各动作的指令信息(例如轨道等的控制量)等。动作ID以及母动作ID可用于确定各动作的执行顺序。开始状态下的物理状态可根据任务信息121而对应于开始状态的抽象性属性来指定。与开始状态下的动作序列相关的信息可为空。另外,可将抽象阶段中的状态空间表达为“抽象层”,将物理阶段中的状态空间表达为“动作层”。也可将步骤S102的处理表达为抽象层中的行为规划的生成处理,将步骤S106的处理表达为动作层中的动作规划的生成处理。

运动规划器5可构成为,当给出当前的物理状态以及要采用的抽象性行为时,根据规定的规则来生成用于执行所述抽象性行为的动作序列。将抽象性行为转换为动作序列的转换规则可根据实施方式来适当设定。运动规划器5可对当前的物理状态的初始值设置开始状态下的物理状态。在决定了所生成的动作序列的采用后,运动规划器5将通过执行决定采用的动作序列而实现的物理状态(即,迁移后的节点的物理状态)设置为当前的物理状态,由此,可更新当前的物理状态。

进而,运动规划器5可构成为,通过物理性地模拟实际环境下的对象动作序列的执行,判定机器人装置R能否在实际环境下物理性地执行对象动作序列。在模拟时,可使用计算机辅助设计(Computer Aided Design,CAD)信息等用于再现实际环境的信息(未图示)。所述信息例如可保持在存储部12、存储介质91、外部存储装置等任意存储区域中。

另外,在将当前的物理状态以及抽象性行为以外的参照信息利用于所述动作序列的生成以及模拟的至少一者的情况下,运动规划器5可构成为进一步受理所述参照信息的输入。参照信息例如可包含机器人装置R的规格、与执行任务的环境相关的属性(例如对象物的配置、规格、工作空间的限制等)、任务的种类等信息。参照信息可作为任务信息121的至少一部分而在所述步骤S101中获取。

而且,如图8所示,可相对于抽象性行为而生成多个不同的动作序列的候选(即,在动作层中,可给予与抽象层的一个节点对应的多个节点)。此时,控制部11可从多个候选中适当选择能够在实际环境下执行的动作序列。若判定为所有的候选在实际环境下无法执行,则作为步骤S107的判定结果,控制部11可总结为:所生成的动作序列无法由机器人装置R在实际环境下物理性地执行。当使用运动规划器5进行的动作序列的生成、以及所生成的动作序列在实际环境下的可执行性的判定完成时,控制部11将处理推进至接下来的步骤S108。

(步骤S108)

返回图5,在步骤S108中,控制部11根据步骤S107的判定结果来决定处理的分支目标。若判定为所生成的动作序列无法物理性地执行(在存在多个候选的情况下,所有的候选无法执行),则控制部11丢弃与被判定为无法物理性地执行的动作序列对应的抽象性行为以后的抽象性行为序列。接下来,控制部11将处理返回至步骤S102为止,从步骤S102开始再次执行处理。由此,控制部11对于与被判定为无法物理性地执行的动作序列对应的抽象性行为以后而生成新的抽象性行为序列。即,在通过动作层得不到可执行的动作序列时,控制部11返回抽象层而重新规划抽象性行为序列。另外,只要包含与被判定为无法执行的动作序列对应的作为对象的抽象性行为,则丢弃的范围可不仅限于作为对象的抽象性行为以后。作为另一例,控制部11也可追溯至执行顺序比作为对象的抽象性行为更靠前的抽象性行为而丢弃,从步骤S102开始再次执行处理,由此,关于所丢弃的范围而生成新的抽象性行为序列。另一方面,当判定为所生成的动作序列能够物理性地执行时,控制部11将处理推进至接下来的步骤S109。

(步骤S109)

在步骤S109中,控制部11对于由符号规划器3所生成的抽象性行为序列中所含的所有抽象性行为,判定能够在实际环境下执行的动作序列的生成是否已成功。对于所生成的抽象性行为序列中所含的所有抽象性行为而能够在实际环境下执行的动作序列的生成已成功相当于动作规划的生成已完成。

若仍残留有尚未生成动作序列的抽象性行为(即,动作规划的生成尚未完成),则控制部11将处理返回至步骤S106为止。并且,控制部11对于被采用作为继能够在实际环境下执行的动作序列的生成已成功的对象抽象性行为之后要执行的抽象性行为的抽象性行为,执行步骤S106以后的处理。由此,控制部11使用运动规划器5,将抽象性行为序列中所含的抽象性行为按照执行顺序转换为动作序列,并且判定所获得的动作序列在实际环境下的可执行性。重复步骤S106~步骤S108的处理,直至再无尚未生成动作序列的抽象性行为为止,由此,控制部11能够生成如下所述的动作组,此动作组以从开始状态到达目标状态的方式包含一个以上的动作序列,且已判定为所含的所有动作序列能够物理性地执行。当动作规划的生成完成时,控制部11将处理推进至接下来的步骤S110。

(步骤S110)

在步骤S110中,控制部11作为输出部114而运行,输出使用运动规划器5而生成的动作组(动作规划)。

动作组的输出目的地以及输出形式可根据实施方式来适当决定。一例中,控制部11也可将所生成的动作组直接输出至输出装置15。所输出的动作组可适当利用于机器人装置R的控制。另一例中,输出动作组的步骤可包含:将表示动作组的指令给予至机器人装置R,由此来控制机器人装置R的动作。在机器人装置R包括控制器(未图示),且动作规划装置1连接于所述控制器的情况下,控制部11也可通过将表示动作组的指令信息输出至控制器来间接地控制机器人装置R的动作。或者,在动作规划装置1作为机器人装置R的控制器而运行的情况下,控制部11也可基于所生成的动作组来直接控制机器人装置R的动作。由此,可构建基于所生成的动作规划来控制机器人装置R的动作的动作规划装置1。

当动作组的输出完成时,控制部11结束与本动作例的动作规划相关的处理流程。另外,动作规划装置1可构成为,以任意时机反复执行步骤S101~步骤S110的一连串的信息处理。

(2)成本推测模型的机器学习

图9是表示与本实施方式的动作规划装置1的成本推测模型4的机器学习相关的处理流程的一例的流程图。但是,以下说明的与机器学习相关的处理流程不过是一例,各步骤可尽可能地变更。而且,对于以下的与机器学习相关的处理流程,可根据实施方式来适当地进行步骤的省略、置换以及追加。

(步骤S201)

在步骤S201中,控制部11作为数据获取部115而运行,获取多个学习数据集60,所述多个学习数据集60分别包含训练样本61以及正解标签62的组合。

各学习数据集60可适当生成。作为生成方法的一例,首先,生成表示训练用抽象性行为的训练样本61。训练样本61可通过人工来适当生成。或者,训练样本61可根据执行(或试行)符号规划器3的处理而生成的抽象性行为序列来获得。在成本推测模型4构成为进一步受理表示抽象性行为的候选的信息以外的其他信息的输入的情况下,训练样本61可以进一步包含训练用的其他信息的方式而适当生成。

接下来,与所生成的训练样本61对应地生成表示训练用抽象性行为的成本的真值的正解标签62。成本的评估指标可适当选择。一例中,成本的评估指标可包含动作时间以及驱动量的至少一者。此时,可构成为,正解标签62表示针对训练用抽象性行为而根据由运动规划器5所生成的动作序列的执行所耗费的时间、以及所述动作序列的执行中的机器人装置R的驱动量的至少任一者所算出的成本的真值。正解标签62可根据执行或模拟由运动规划器5所生成的动作序列的结果而生成。成本的真值可适当设定为,动作时间越长/驱动量越多,则将成本评估为越大,动作时间越短/驱动量越少,则将成本评估为越小。

另一例中,成本的评估指标可包含动作规划的失败率(成功率)。此时,可构成为,正解标签62表示针对训练用抽象性行为而根据判定为由运动规划器5所生成的动作序列无法物理性地执行的概率所算出的成本的真值。正解标签62可根据针对训练用抽象性行为的、运动规划器5的处理的执行结果而生成。成本的真值可适当设定为,动作规划越成功(换言之,越能生成可在实际环境下物理性地执行的动作序列),则成本越小,动作规划越失败,则成本越大。

又一例中,成本的评估指标可包含用户反馈。此时,可构成为,正解标签62表示根据用户对训练用抽象性行为的反馈而算出的成本的真值。用户反馈可以任意的时机以及形式而获得,正解标签62可根据所获得的反馈结果而适当生成。本实施方式中,通过步骤S104的处理,能够获得用户对由符号规划器3所生成的抽象性行为序列的反馈。正解标签62可根据步骤S104的反馈结果而生成。由此,可根据步骤S104的反馈结果来获得学习数据集60。成本的真值可适当设定为,在反馈中越是成为变更、修正、排序、删除以及否决中的至少任一操作的对象,则将成本评估为越大,越是成为维持(不进行变更等而直接利用)以及批准中的任一操作的对象,则将成本评估为越小。

成本可使用多个评估指标(例如从所述四个评估指标中选择的两个以上的评估指标)来推算。而且,成本的真值也可通过人工来决定或修正。并且,在生成了正解标签62后,将所生成的正解标签62关联于训练样本61。由此,能够生成各学习数据集60。

各学习数据集60既可通过计算机的动作自动生成,或者也可通过至少部分地包含作业员的操作而手动地生成。所生成的各学习数据集60可保存至存储部12中。而且,各学习数据集60的生成既可由动作规划装置1来进行,也可由动作规划装置1以外的其他计算机来进行。在动作规划装置1生成各学习数据集60的情况下,控制部11可自动地、或者通过经由输入装置14的作业员的操作而手动地执行所述生成处理,由此来获取各学习数据集60。另一方面,在由其他计算机生成各学习数据集60的情况下,控制部11例如可经由网络、存储介质91等来获取由其他计算机所生成的各学习数据集60。也可为,多个学习数据集60的一部分由动作规划装置1所生成,其他部分由一个或多个其他计算机所生成。

所获取的学习数据集60的件数可无特别限定,可以能够实施机器学习的方式而根据实施方式来适当决定。当获取多个学习数据集60时,控制部11将处理推进至接下来的步骤S202。

(步骤S202)

在步骤S202中,控制部11作为学习处理部116而运行,使用所获取的多个学习数据集60来实施成本推测模型4的机器学习。

作为机器学习的处理的一例,首先,控制部11准备构成成本推测模型4的神经网络,所述成本推测模型4成为机器学习的处理对象。神经网络的结构、各神经元间的结合权重的初始值以及各神经元的阈值的初始值既可通过模板来给出,或者也可通过作业员的输入来给出。而且,在进行重新学习的情况下,控制部11也可基于通过过去的机器学习而获得的学习结果数据来准备成本推测模型4。

接下来,控制部11关于各学习数据集60,对成本推测模型4进行训练,针对由训练样本61所表示的训练用抽象性行为的成本推测值符合由对应的正解标签62所表示的真值。在所述训练处理中,可使用随机梯度下降法、小批量(mini batch)梯度下降法等。

作为训练处理的一例,控制部11将各学习数据集60的训练样本61输入至输入层41,执行成本推测模型4的顺序传播的运算处理。所述运算的结果为,控制部11从输出层45获取针对训练用抽象性行为的成本推测值。控制部11关于各学习数据集60,算出所获得的推测值与由对应的正解标签62所表示的真值之间的误差。对于误差(损耗)的计算,可使用损耗函数。利用于误差计算的损耗函数的种类可根据实施方式来适当选择。

接下来,控制部11算出所算出的误差的梯度。控制部11通过误差反向传播法,使用所算出的误差的梯度,从输出侧依序算出成本推测模型4的各运算参数的值的误差。控制部11基于所算出的各误差来更新成本推测模型4的各运算参数的值。对各运算参数的值进行更新的程度可根据学习率来调节。学习率既可通过作业员的指定来给出,也可作为程序内的设定值来给出。

控制部11通过所述一连串的更新处理,关于各学习数据集60而调整成本推测模型4的各运算参数的值,以使所算出的误差之和变小。例如,控制部11也可反复通过所述一连串的更新处理来调整成本推测模型4的各运算参数的值,直至满足执行规定次数、所算出的误差之和为阈值以下等规定条件为止。

所述机器学习的结果为,控制部11能够生成获得了对抽象性行为的成本进行推测的能力的、训练完毕的成本推测模型4。当成本推测模型4的机器学习的处理完成时,控制部11将处理推进至接下来的步骤S203。

(步骤S203)

在步骤S203中,控制部11生成与所生成的训练完毕的成本推测模型4相关的信息来作为学习结果数据125。并且,控制部11将所生成的学习结果数据125保存至规定的存储区域。

规定的存储区域例如可为控制部11内的RAM、存储部12、外部存储装置、存储介质或它们的组合。存储介质例如可为CD、DVD等,控制部11也可经由驱动器16将学习结果数据125保存至存储介质。外部存储装置例如可为网络附属存储设备(Network AttachedStorage,NAS)等数据服务器。此时,控制部11也可经由网络将学习结果数据125保存至数据服务器。而且,外部存储装置例如也可为经由外部接口13连接于动作规划装置1的外置的存储装置。

当学习结果数据125的保存完成时,控制部11结束与本动作例的成本推测模型4的机器学习相关的处理流程。另外,通过所述步骤S201~步骤S203的处理,训练完毕的成本推测模型4的生成可在为了动作规划而开始运用动作规划装置1之前以及开始运用之后的任一时机执行。而且,控制部11也可通过定期或不定期地重复所述步骤S201~步骤S203的处理而更新或新生成学习结果数据125。在所述重复时,控制部11可利用为了动作规划而运用动作规划装置1的结果,来适当执行使用于机器学习的学习数据集60的至少一部分的变更、修正、追加、删除等。由此,也可对训练完毕的成本推测模型4进行更新。

[特征]

如上所述,本实施方式的动作规划装置1中,将生成机器人装置R的动作规划的过程分为使用符号规划器3的抽象阶段(步骤S102)以及使用运动规划器5的物理阶段(步骤S106以及步骤S107)这两个阶段,一边在两个规划器(3、5)间进行交换一边生成动作规划。在步骤S102的处理中,可将任务的环境以及条件简化为抽象性的层级,而生成用于执行任务的行为规划。因此,即便是复杂的任务,也能够使存储器的负载相对轻量且高速地生成抽象性行为规划(抽象性行为序列)。而且,在步骤S106以及步骤S107的处理中,能够保证实际环境下的可执行性,并且能够收敛在符号规划器3的行为规划的范围内有效率地生成动作规划。因此,根据本实施方式,能够保证实际环境下的可执行性,并且即便是复杂的任务,也能够使存储器的负载相对轻量且高速地生成机器人装置R的动作规划。

而且,根据本实施方式,在步骤S102的处理中,通过使用训练完毕的成本推测模型4,能够基于成本而生成理想的抽象性行为规划。由此,能够容易地生成更适当的动作规划。一例中,通过将机器人装置R的动作时间以及驱动量的至少一者用于成本的评估指标,从而能够关于机器人装置R的动作时间以及驱动量的至少一者而容易地生成适当的动作规划。另一例中,通过将运动规划器5所进行的动作规划的失败率用于成本的评估指标,从而能够关于由符号规划器3所生成的抽象性行为序列,而降低运动规划器5所进行的动作规划的失败率(在步骤S108的处理中,作出返回步骤S102的判定的可能性)。即,容易通过符号规划器3来生成在实际环境下可执行性高的抽象性行为规划,由此,能够实现直至获得最终的动作规划为止的处理时间的缩短。另一例中,通过将用户反馈用于成本的评估指标,从而能够根据反馈来容易地生成更适当的动作规划。

另外,在将用户反馈用于成本的评估指标的情况下,所述反馈也可针对由运动规划器5所生成的动作规划而获得。一例中,动作规划装置1也可在步骤S110的处理后,受理用户对所生成的动作规划的反馈。其中,由运动规划器5所生成的动作规划中所含的动作序列是通过伴随机器人装置R的机械驱动的物理量来定义。因此,所生成的动作规划的信息量多,且对于用户(人)而言解释性低。与此相对,本实施方式中,可通过步骤S104的处理来针对抽象性行为序列获取用户反馈,在步骤S202的机器学习中使用的学习数据集60可根据所述反馈结果而获得。由符号规划器3所生成的行为规划中所含的抽象性行为例如能以可利用语言等符号表达的动作的集合来定义,与以物理量定义的动作序列相比,信息量少且对于用户而言解释性高。因此,根据本实施方式,能够抑制对用户输出由规划器所生成的规划的资源(例如显示器)的消耗,且容易获得所述用户的反馈,由此,能够容易地生成以及改善用于生成更适当的动作规划的训练完毕的成本推测模型4。

而且,本实施方式中,动作规划装置1构成为可执行所述步骤S201~步骤S203的处理。由此,根据本实施方式,在动作规划装置1中,可生成用于生成更适当的动作规划的训练完毕的成本推测模型4。而且,可一边运用动作规划装置1,一边实现成本推测模型4的能力的改善。

另外,符号规划器3与成本推测模型4之间的结构上的关系可根据实施方式来适当设定。一例中,在符号规划器3的一部分,设有可通过机器学习来调整的运算参数,此部分可作为成本推测模型4来处理。另一例中,能可从符号规划器3的结构独立地准备机器学习模型,利用所准备的机器学习模型来作为成本推测模型4。

而且,在步骤S202的机器学习中所设定的任务(以训练样本61进行处理的任务)与在动作规划的运用时所给予的任务(在步骤S102中处理的任务)也可未必一致。即,也可利用训练出了对于某任务来推测成本的能力的成本推测模型4对其他的任务推测抽象性行为的成本。

§4变形例

以上,对本发明的实施方式进行了详细说明,但直至前述为止的说明在所有方面不过是本发明的例示。当然可不脱离本发明的范围而进行各种改良或变形。例如,可进行如下所述的变更。另外,以下,关于与所述实施方式同样的构成元件,使用同样的符号,对于与所述实施方式同样的点,则适当省略了说明。以下的变形例可适当组合。

<4.1>

所述实施方式中,由成本推测模型4所获得的成本的推测值被利用作为从多个候选中决定要采用的抽象性行为的指标。即,成本的推测值在抽象层的图表探索中,作为如下所述的指标来处理,所述指标是对推荐从某节点迁移至下个节点的程度进行评估的指标。所述实施方式中,由成本推测模型4所获得的成本的推测值在选择下个节点时供参照。但是,参照成本推测值的时机可不限定于此种示例。作为另一例,控制部11也可在到达目标节点后参照成本的推测值,以判定是否采用所获得的路径。

而且,所述实施方式中,在将动作规划的失败率用于成本指标的情况下,训练完毕的成本推测模型4得出的成本的推测值相当于对运动规划器5的步骤S107的处理结果进行推测的结果。因此,获得了将运动规划器5对动作规划的失败率作为指标来推测成本的能力的训练完毕的成本推测模型4可作为模拟运动规划器5的动作的动作推测器来处理。

图10示意性地例示成本推测模型4的另一利用形态的一例。本变形例中,在步骤S102中,成本推测模型4也可受理由符号规划器3所生成的抽象性行为序列的一部分或全部,并输出对运动规划器5针对所述抽象性行为序列的一部分或全部的动作规划是否成功进行推测的结果来作为成本的推测值。控制部11也可基于所获得的成本的推测值来判定运动规划器5所进行的动作规划成功的可能性。并且,若动作规划成功的可能性低(例如为阈值以下),则控制部11也可执行符号规划器3对抽象性行为序列的重新规划。成本推测模型4并非构成为可执行运动规划器5的所有处理。因此,与运动规划器5的动作相比,成本推测模型4的动作为轻量。因而,根据本变形例,能够以轻量的动作来判定是否执行符号规划器3对抽象性行为序列的重新规划。

而且,本变形例中,成本推测模型4可构成为,除了与动作规划的失败率对应的成本的推测值以外,进一步输出所述推测值的可靠性的程度(准确率)。或者,准确率可根据成本的推测值来推算。作为一例,在0至1之间给出成本的推测值的情况下,可以下述方式来推算准确率的值,即,成本的推测值越接近0或1,则准确率越高,成本的推测值越接近0.5,则准确率越低。

此时,控制部11可使用准确率低(例如为阈值以下)的情况来作为执行运动规划器5的处理的触发。即,也可为,在所述步骤S102中,在评估为准确率低的情况下,控制部11中断通过符号规划器3生成抽象性行为序列的处理,并对通过至此为止的处理获得的抽象性行为序列的一部分执行运动规划器5的处理(步骤S106以及步骤S107的处理)。也可为,若运动规划器5所进行的动作规划的生成成功,则控制部11可重新开始通过符号规划器3来生成抽象性行为序列的处理。另一方面,若运动规划器5所进行的动作规划的生成失败,则控制部11丢弃通过至此为止的处理获得的抽象性行为序列的一部分,并执行符号规划器3对抽象性行为序列的重新规划。将由成本推测模型4所推测的成本最佳化可包含模拟此种运动规划器5的动作。

<4.2>

所述实施方式中,动作规划装置1在由符号规划器3完成了抽象性行为序列的生成后,执行运动规划器5的处理,由此来生成动作规划。但是,在符号规划器3以及运动规划器5之间交换数据的时机(步骤S102、步骤S106以及步骤S107的处理顺序)可不限定于此种示例。另一例中,动作规划装置1也可在由符号规划器3生成抽象性行为序列的一部分的阶段中,执行运动规划器5的处理,关于所述一部分生成动作规划。

<4.3>

所述实施方式中,成本推测模型4包含全结合型神经网络。但是,构成成本推测模型4的神经网络的结构可不限定于此种示例,可根据实施方式来适当选择。作为另一例,各神经元也可与邻接的层的特定的神经元相连接,或者与邻接的层以外的层的神经元相连接。各神经元的结合关系可根据实施方式来适当决定。构成成本推测模型4的神经网络例如也可包含卷积层、池化层、归一化层、跌落(dropout)层等其他种类的层。成本推测模型4例如可包含卷积神经网络、循环神经网络、图神经网络等其他形式的神经网络。

而且,被用于成本推测模型4的机器学习模型的种类可不限于神经网络,可根据实施方式来适当选择。机器学习的方法可根据机器学习模型的种类来适当选择。作为另一例,对于成本推测模型4,例如可使用支持向量机、决策树模型等机器学习模型。

<4.4>

所述实施方式中,在利用其他方法获得用户反馈的情况、或者不采用用户反馈来作为成本的评估指标的情况下,步骤S103~步骤S105的处理可从动作规划装置1的处理流程中予以省略。在省略步骤S103~步骤S105的处理的情况下,接口处理部117可从动作规划装置1的软件结构中予以省略。

所述实施方式中,借助步骤S201~步骤S203的处理的、训练完毕的成本推测模型4的生成或重新学习可由动作规划装置1以外的其他计算机来执行。此时,数据获取部115以及学习处理部116可从动作规划装置1的软件结构中予以省略。步骤S201~步骤S203的处理可从动作规划装置1的处理流程中予以省略。另外,由其他计算机所生成的训练完毕的成本推测模型4(学习结果数据125)可经由网络、存储介质91等而在任意的时机提供给动作规划装置1。

而且,在所述实施方式的步骤S102的处理中,动作规划装置1也可不使用成本推测模型4而从多个候选中选择要采用的抽象性行为。此时,成本推测模型4也可予以省略。

符号的说明

1:动作规划装置

11:控制部

12:存储部

13:外部接口

14:输入装置

15:输出装置

16:驱动器

81:动作规划程序

91:存储介质

111:信息获取部

112:行为生成部

113:动作生成部

114:输出部

115:数据获取部

116:学习处理部

117:接口处理部

121:任务信息

125:学习结果数据

3:符号规划器

4:成本推测模型

41:输入层

43:中间(隐藏)层

45:输出层

5:运动规划器

60:学习数据集

61:训练样本

62:正解标签

R:机器人装置

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号