机械学习装置、机器人系统及机械学习方法与流程

文档序号:11119833阅读:334来源:国知局
机械学习装置、机器人系统及机械学习方法与制造工艺

本发明涉及学习包含散装状态的杂乱放置的工件的取出动作的机械学习装置、机器人系统以及机械学习方法。



背景技术:

以前已知例如日本专利第5642738号公报和日本专利第5670397号公报所公开那样,通过机器人的机械手部把持散装在筐状的箱中的工件并搬运的机器人系统。在这样的机器人系统中,例如,使用在筐状的箱上方设置的三维测量器来取得多个工件的位置信息,并通过机器人的机械手部根据该位置信息逐个取出工件。

然而,在上述以往的机器人系统中,需要事先设定例如如何根据由三维测量器测量出的多个工件的距离图像来提取要取出的工件,以及取出哪个位置的工件。此外,需要事先对取出工件时如何使机器人的机械手部动作进行编程。具体地,例如,人们需要使用示教板来向机器人示教工件的取出动作。

因此,当根据多个工件的距离图像提取要取出的工件的设定不合适、或者未适当制作机器人的动作程序时,机器人取出工件而搬运时的成功率降低。此外,为了提高该成功率,需要人们一边重复试错来摸索机器人的最佳动作,一边对工件的检测设定和机器人的动作程序进行不断改进。



技术实现要素:

因此,鉴于上述情况,本发明的目的在于提供一种能够无需人工介入地学习取出包含散装状态的杂乱放置的工件时的机器人的最佳动作的机械学习装置、机器人系统以及机械学习方法。

根据本发明的第一实施方式,提供了一种学习通过机械手部从包含散装状态的杂乱放置的多个工件中取出所述工件的机器人的动作的机械学习装置,该机械学习装置具备:状态量观测部,其观测包含三维测量器的输出数据的所述机器人的状态量,该三维测量器测量每个所述工件的三维图;动作结果取得部,其取得通过所述机械手部取出所述工件的所述机器人的取出动作的结果;学习部,其接受来自所述状态量观测部的输出和来自所述动作结果取得部的输出,与所述机器人的所述状态量和所述取出动作的结果相关联地学习操作量,该操作量包含向所述机器人指示所述工件的所述取出动作的指令数据。所述机械学习装置优选还具备意图决定部,其参照所述学习部学习到的所述操作量,来决定向所述机器人指示的所述指令数据。

根据本发明的第二实施方式,提供了一种学习通过机械手部从包含散装状态的杂乱放置的多个工件中取出所述工件的机器人的动作的机械学习装置,该机械学习装置具备:状态量观测部,其观测包含三维测量器的输出数据的所述机器人的状态量,该三维测量器测量每个所述工件的三维图;动作结果取得部,其取得通过所述机械手部取出所述工件的所述机器人的取出动作的结果;学习部,其接受来自所述状态量观测部的输出和来自所述动作结果取得部的输出,与所述机器人的所述状态量和所述取出动作的结果相关联地学习包含所述三维测量器的测量参数的操作量。所述机械学习装置优选还具备意图决定部,其参照所述学习部学习到的所述操作量来决定所述三维测量器的所述测量参数。

所述状态量观测部还可以根据所述三维测量器的输出来观测包含坐标计算部的输出数据的所述机器人的状态量,该坐标计算部用于计算每个所述工件的三维位置。所述坐标计算部还可以计算每个所述工件的姿态,并输出计算出的每个所述工件的三维位置和姿态的数据。所述动作结果取得部可以利用所述三维测量器的输出数据。所述机械学习装置优选还具备预处理部,其在向所述状态量观测部输入之前,对所述三维测量器的输出数据进行处理,所述状态量观测部接受预处理部的输出数据作为所述机器人的状态量。所述预处理部可以使所述三维测量器的输出数据中的每个所述工件的方向和高度均为一定。所述动作结果取得部可以取得所述工件的取出成功与否、所述工件的损坏状态、以及将取出的所述工件传送到后工序时的完成度中的至少一种。

所述学习部可以具备:根据所述动作结果取得部的输出来计算回报的回报计算部;以及价值函数更新部,其具有用于确定所述工件的所述取出动作的价值的价值函数,与所述回报对应地来更新所述价值函数。所述学习部还可以具有学习所述工件的所述取出动作的学习模型,具备:误差计算部,其根据所述动作结果取得部的输出和所述学习模型的输出来计算误差;以及学习模型更新部,其与所述误差对应地来更新所述学习模型。所述机械学习装置优选具有神经网络。

根据本发明的第三实施方式,提供了一种具备机械学习装置的机器人系统,该机械学习装置学习通过机械手部从包含散装状态的杂乱放置的多个工件中取出所述工件的机器人的动作,该机械学习装置具备:状态量观测部,其观测包含三维测量器的输出数据的所述机器人的状态量,该三维测量器测量每个所述工件的三维图;动作结果取得部,其取得通过所述机械手部取出所述工件的所述机器人的取出动作的结果;以及学习部,其接受来自所述状态量观测部的输出和来自所述动作结果取得部的输出,与所述机器人的所述状态量和所述取出动作的结果相关联地学习包含向所述机器人指示所述工件的所述取出动作的指令数据的操作量,所述机器人系统具备:所述机器人、所述三维测量器、以及分别控制所述机器人和所述三维测量器的控制装置。

根据本发明的第四实施方式,提供了一种具备机械学习装置的机器人系统,该机械学习装置学习通过机械手部从包含散装状态的杂乱放置的多个工件中取出所述工件的机器人的动作,该机械学习装置具备:状态量观测部,其观测包含三维测量器的输出数据的所述机器人的状态量,该三维测量器测量每个所述工件的三维图;动作结果取得部,其取得通过所述机械手部取出所述工件的所述机器人的取出动作的结果;以及学习部,其接受来自所述状态量观测部的输出和来自所述动作结果取得部的输出,与所述机器人的所述状态量和所述取出动作的结果相关联地学习包含所述三维测量器的测量参数的操作量,所述机器人系统具备:所述机器人、所述三维测量器、以及分别控制所述机器人和所述三维测量器的控制装置。

优选地,所述机器人系统具备多个所述机器人,分别针对每个所述机器人而设置所述机械学习装置,针对多个所述机器人而设置的多个所述机械学习装置通过通信介质相互共享数据或交换数据。所述机械学习装置可以存在于云服务器上。

根据本发明的第五实施方式,提供了一种学习通过机械手部从包含散装状态的杂乱放置的多个工件中取出所述工件的机器人的动作的机械学习方法,该机械学习方法包含以下步骤:观测包含三维测量器的输出数据的所述机器人的状态量,该三维测量器测量每个所述工件的三维图;取得通过所述机械手部取出所述工件的所述机器人的取出动作的结果;接受来自所述状态量观测部的输出和来自所述动作结果取得部的输出,与所述机器人的所述状态量和所述取出动作的结果相关联地学习包含向所述机器人指示所述工件的所述取出动作的指令数据的操作量。

附图说明

本发明通过参照以下附图而得以更明确地理解。

图1是表示本发明一个实施方式的机器人系统的概念性结构的框图。

图2是示意性表示神经元的模型的图。

图3是示意性表示组合图2所示的神经元而构成的三层神经网络的图。

图4是表示图1所示的机械学习装置的动作的一例的流程图。

图5是表示本发明另一个实施方式的机器人系统的概念性结构的框图。

图6是用于说明图5所示机器人系统中的预处理部的处理的一例的图。

图7是表示图1所示的机器人系统的变形例的框图。

具体实施方式

以下,参照附图来详述本发明的机械学习装置、机器人系统以及机械学习方法的实施例。然而,希望理解为本发明不受限于附图或以下说明的实施方式。这里,在各附图中,对相同部件赋予相同的参照符号。此外,在不同的附图中,赋予了相同的参照符号的部件意味着是具有相同功能的结构要素。此外,为了易于理解,将这些附图适当变更了比例尺。

图1是表示本发明一个实施方式的机器人系统的概念性结构的框图。本实施方式的机器人系统10具备:安装了用于把持散装在筐状的箱11中的工件12的机械手部13的机器人14;测量工件12的表面的三维图(map)的三维测量器15;分别控制机器人14和三维测量器15的控制装置16;坐标计算部19;以及机械学习装置20。

这里,机械学习装置20具备:状态量观测部21、动作结果取得部26、学习部22以及意图决定部25。此外,机械学习装置20如后详述地,学习指示机器人14进行工件12的取出动作的指令数据、或者三维测量器15的测量参数这样的操作量并进行输出。

机器人14例如是6轴多关节型机器人,机器人14和机械手部13的各自的驱动轴通过控制装置16来控制。此外,为了将工件12从设置在预定位置的箱11中逐个取出而依次移动到指定场所例如传送带或操作台(未图示),使用机器人14。

然而,在将散装的工件12从箱11中取出时,有时机械手部13或工件12与箱11的壁碰撞或接触。或者,有时机械手部13或工件12会被其他工件12卡住。在这样的情况下,为了能够立即避免对机器人14施加的过负荷,需要对作用于机械手部13的力进行检测的功能。因此,在机器人14的臂部的前端与机械手部13之间设置有6轴的力传感器17。另外,本实施方式的机器人系统10还具备,根据驱动机器人14的各关节部的驱动轴的电动机(未图示)的电流值来推定作用于机械手部13的力的功能。

此外,力传感器17能够检测作用于机械手部13的力,因此能够判断实际上机械手部13是否把持有工件12。也就是说,在机械手部13把持了工件12的情况下,工件12的重量作用于机械手部13,因此在实施了工件12的取出动作之后,如果力传感器17的检测值超出了预定阈值,则能够判断为机械手部13把持有工件12。此外,关于机械手部13是否把持有工件12的判断,例如还可以通过在三维测量器15中使用的摄像机的摄影数据、安装于机械手部13的未图示的光电传感器等的输出来进行判断。此外,还可以根据后述的吸附式机械手的压力计的数据来进行判断。

这里,机械手部13只要能够把持工件12,则可以具有各种形态。例如,机械手部13可以是通过使2个或多个爪部开闭来把持工件12的形态,或者具备对工件12产生吸引力的电磁铁或负压发生装置。即,在图1中描绘了机械手部13通过2个爪部来把持工件的情况,然而不限定于此。

为了对多个工件12进行测量,三维测量器15通过支持部18而设置在多个工件12的上方的预定位置。作为三维测量器15,例如能够使用通过对由2台摄像机(未图示)拍摄到的工件12的图像数据进行图像处理,来取得三维位置信息的三维视觉传感器。具体地,通过应用三角测量法、光切断法、飞行时间法(Time-of-flight法)、散焦测距法(Depth from Defocus法)或并用了这些的方法等,来测定三维图(散装的多个工件12的表面的位置)。

坐标计算部19以利用三维测量器15得到的三维图作为输入,来计算(测定)散装的多个工件12的表面的位置。即,利用三维测量器15的输出,能够得到各个工件12的每一个的三维位置数据(x、y、z)、或者三维位置数据(x、y、z)和姿态数据(w、p、r)。这里,状态量观测部21接受来自三维测量器15的三维图和来自坐标计算部19的位置数据(姿态数据)两者,来观测机器人14的状态量,然而,例如也可以仅接受来自三维测量器15的三维图而观测机器人14的状态量。此外,也可以与下文参照图5而说明的情况同样地,追加预处理部50,通过该预处理部50在向状态量观测部21输入之前对来自三维测量器15的三维图进行处理(预处理),而输入到状态量观测部21。

此外,假定预先通过校准来决定机器人14和三维测量器15的相关位置。此外,在本发明的三维测量器15中,可以代替三维视觉传感器而使用激光距离测定器。也就是说,可以通过激光扫描来测量从设置三维测量器15的位置到各工件12的表面为止的距离,或通过使用单眼相机、触觉传感器等各种传感器来取得散装的多个工件12的三维位置数据和姿态(x、y、z、w、p、r)。

即,在本发明中,例如只要能够取得各个工件12的数据(x、y、z、w、p、r),则不论是应用了何种三维测量法的三维测量器15均能够应用。此外,设置三维测量器15的方式也不受特别的限制,例如,可以固定于地板或墙壁等,也可以安装于机器人14的臂部等。

三维测量器15通过来自控制装置16的指令,取得箱11中散装的多个工件12的三维图,坐标计算部19根据该三维图而取得(计算)多个工件12的三维位置(姿态)的数据,并将该数据输出到控制装置16以及后述的机械学习装置20的状态量观测部21和动作结果取得部26。特别地,在坐标计算部19中,例如根据拍摄到的多个工件12的图像数据,推定某工件12与其他工件12的边界、或工件12与箱11的边界,并取得每个工件12的三维位置数据。

每个工件12的三维位置数据是指,例如通过根据散装的多个工件12表面上的多个点的位置来推定各个工件12的存在位置、可保持的位置而取得的数据。当然,在每个工件12的三维位置数据中还可以包含有工件12的姿态的数据。

此外,在坐标计算部19的每个工件12的三维位置和姿态数据的取得中,还包含有使用机械学习的方法。例如,可以应用使用了后述的有教师学习等方法的输入图像或来自激光距离测定器等的物体识别、角度推定等。

并且,当将每个工件12的三维位置数据从三维测量器15经由坐标计算部19而输入到控制装置16时,控制装置16控制将某工件12从箱11取出的机械手部13的动作。此时,根据通过后述的机械学习装置20得到的机械手部13的最佳位置、姿态以及取出方向所对应的指令值(操作量),来驱动机械手部13、机器人14的各轴的电动机(未图示)。

此外,机械学习装置20可以学习在三维测量器15中使用的摄像机的摄影条件的变量(三维测量器15的测量参数:例如,使用曝光表在摄影时调整的曝光时间、对被摄影对象进行照明时的照明系统的照度等),并经由控制装置16根据学习到的测量参数操作量来控制三维测量器15。这里,在根据三维测量器15测量出的多个工件12的位置推定各个工件12的存在位置/姿态、可保持的位置/姿态中使用的位置/姿态推定条件的变量,也可以包含在上述三维测量器15的输出数据中。

此外,按照前述,可以通过参照图5稍后详述的预处理部50等事先对来自三维测量器15的输出数据进行处理,并将该处理后的数据(图像数据)赋予状态量观测部21。此外,动作结果取得部26例如可以根据来自三维测量器15的输出数据(坐标计算部19的输出数据),取得机器人14的机械手部13取出了工件12的结果,除此之外,当然例如也可以经由其他单元(例如设置在后工序中的摄像机、传感器等)取得将取出的工件12传送到后工序时的完成度、以及是否存在取出的工件12的破损等状态变化这样的动作结果。以上,状态量观测部21和动作结果取得部26是功能性模块,当然也可以设置成通过一个模块实现两者的功能。

接着,详述图1所示的机械学习装置20。机械学习装置20具有如下功能:从被输入到装置中的数据的集合中,通过解析而提取其中有用的规则或知识表现、判断基准等,输出该判断结果,并且进行知识的学习(机械学习)。机械学习的方法是多样的,如果大致划分则例如分为“有教师学习”、“无教师学习”以及“强化学习”。此外,在实现这些方法的方面,有学习特征量本身的提取的、被称为“深层学习(Deep Learning)”的方法。此外,这些机械学习(机械学习装置20)可以使用通用的计算机或处理器,然而当应用GPGPU(通用计算图像处理单元,General-Purpose computing on Graphics Processing Units)、大规模PC集群等时,可进行更高速地处理。

首先,有教师学习是指通过将某输入和结果(标签,label)的数据的组大量地提供给机械学习装置20,学习这些数据集中的特征,归纳地获得根据输入推定结果的模型,即其关系性。在本实施方式中应用该有教师学习的情况下,例如可以在根据传感器输入推定工件位置的部分、或针对工件候补推定其取得成功概率的部分等中使用。例如,可以使用后述的神经网络等算法来实现。

此外,无教师学习是指通过仅将输入数据大量地提供给学习装置,学习输入数据进行了何种分布,即使不提供相对应的教师输出数据,也能够通过对输入数据进行压缩/分类/整形等的装置来学习的方法。例如,可以将这些数据集中的特征在相似者之间聚类等。使用该结果,设置某基准来进行使其最佳化的输出分配,由此能够实现输出的预测。

此外,作为有教师学习与无教师学习的中间性的问题设定,称作半有教师学习,这对应于例如仅存在一部分输入和输出的数据组,除此之外仅是输入的数据的情况。在本实施方式中,以无教师学习来利用即使实际上不使机器人动作也能够取得的数据(图像数据、模拟数据等),由此能够高效率地进行学习。

接着,说明强化学习。首先,作为强化学习的问题设定,考虑如下。

·机器人观测环境的状态,决定行为。

·环境随着某规则而变化,进而,自身的行为有时对环境赋予变化。

·每次行动时,返回回报信号。

·想要最大化的是将来的(折扣)回报的合计。

·从完全不了解或不完全了解行为引起的结果的状态开始学习。即,机器人可以实际上首次行动,取得其结果作为数据。也就是说,需要一边尝试一边探索最佳的行为。

·为了模仿人的动作,也可以将事先学习到的(前述的有教师学习、逆向强化学习这样的方法)状态设为初始状态,从良好的开始地点开始学习。

这里,强化学习是指除了判定、分类之外,还学习行为,由此根据行为对环境的相互作用来学习合适的行为,即学习为了使将来得到的回报最大化而进行学习的方法。这表示在本实施方式中例如能够获得使工件12的山坍塌而在将来易于取出工件12这样的影响未来的行为。以下,以Q学习的情况为例子继续说明,但是不限于Q学习。

Q学习是指在某环境状态s下学习选择行为a的价值Q(s、a)的方法。也就是说,在某状态s时选择价值Q(s、a)最高的行为a作为最佳行为即可。但是,最初,关于状态s和行为a的组合,完全不了解价值Q(s、a)的正确值。因此,智能体(行为主体)在某状态s下选择各种行为a,并对此时的行为a赋予回报。由此,智能体不断学习更佳的行为的选择即正确的价值Q(s、a)。

此外,由于想要使作为行为的结果而在将来得到的回报的合计最大化,因此,目标是最终使Q(s、a)=E[Σ(γt)rt]。这里,E[]表示期待值,t是时刻、γ是后述的被称为折扣率的参数、rt是时刻t时的回报、Σ是基于时刻t的合计。将该式中的期待值设为按照最佳行为发生了状态变化时所取的值,由于这是未知的,因此要一边进行探索一边进行学习。这样的价值Q(s、a)的更新式,例如通过下式(1)表示。

在上式(1)中,st表示时刻t时的环境状态,at表示时刻t时的行为。通过行为at,状态变化为st+1。rt+1表示通过该状态变化而得到的回报。此外,带有max的项成为使在状态st+1下选择了此时已知的Q值最高的行为a时的Q值乘以γ而得的项。这里,γ是0<γ≤1的参数,被称为折扣率。此外,α是学习系数,设为0<α≤1的范围。

上述式(1)表示,根据尝试at的结果而返回来的回报rt+1,更新状态st中的行为at的评价值Q(st、at)的方法。即表示如果基于回报rt+1和行为a的下一个状态的最佳行为max a的评价值Q(st+1、max at+1)的合计大于状态s下的行为a的评价值Q(st、at),则使Q(st、at)增大,相反地,如果小于状态s下的行为a的评价值Q(st、at)则使Q(st、at)减小。也就是说,使某状态下的某行为的价值接近于基于作为结果即时返回的回报、和该行为的下一个状态下的最佳行为的价值。

这里,Q(s、a)在计算机上的表现方法,有针对全部的状态行为对(s、a)作为表格预先保持该值的方法、以及准备对Q(s、a)进行近似的函数的方法。后者的方法,通过利用随机梯度下降法等方法调整近似函数的参数,能够实现上述式(1)。此外,作为近似函数,可以使用后述的神经网络。

此外,作为有教师学习、无教师学习的学习模型、或强化学习中的价值函数的近似算法,可以使用神经网络。图2是示意性表示神经元的模型的图,图3是示意性表示组合图2所示的神经元而构成的三层神经网络的图。即,神经网络例如由模仿图2所示这样的神经元模型的运算装置以及存储器等构成。

如图2所示,神经元针对多个输入x(图2中,以输入x1~输入x3作为一例)输出输出(结果)y。使各输入x(x1、x2、x3)乘以与该输入x对应的权值w(w1、w2、w3)。由此,神经元输出由下式(2)表现的结果y。此外,输入x、结果y以及权值w全部是向量。此外,在下述式(2)中,θ是偏置(bias),fk是激活函数。

参照图3说明组合图2所示的神经元而构成的三层神经网络。如图3所示,从神经网络的左侧输入多个输入x(这里,以输入x1~输入x3作为一例),从右侧输出结果y(这里,以结果y1~结果y3作为一例)。具体地,将输入x1、x2、x3乘以对应的权值而输入到3个神经元N11~N13的每一个。将与这些输入相乘的权值汇总地标记为W1。

神经元N11~N13分别输出z11~z13。图3中,这些z11~z13被汇总地标记为特征向量Z1,并能够看作是提取了输入向量的特征量后的向量。该特征向量Z1是权值W1与权值W2之间的特征向量。将z11~z13乘以对应的权值而输入到2个神经元N21和N22的每一个。将与这些特征向量相乘的权值汇总地标记为w2。

神经元N21、N22各自输出z21、z22。图3中,将这些z21、z22汇总地标记为特征向量Z2。该特征向量Z2是权值W2与权值W3之间的特征向量。将z21、z22乘以对应的权值而输入到3个神经元N31~N33的每一个。将与这些特征向量相乘的权值汇总地标记为W3。

最后,神经元N31~N33各自输出结果y1~结果y3。在神经网络的动作中存在学习模式和价值预测模式。例如,在学习模式中,使用学习数据集来学习权值W,并使用该参数在预测模式中进行机器人的行为判断。此外,为了方便而写为预测,然而当然可以是检测/分类/推论等多种任务。

这里,可以对在预测模式下实际上使机器人动作而得的数据进行即时学习,并反映到接下来的行为中(在线学习);也可以使用预先收集到的数据组而进行汇总的学习,以后一直利用该参数来进行检测模式(批量学习)。或者,也可以是中间性的,每当数据以某程度发生积存时插入学习模式。

此外,可以通过误差反传播法(误差反向传播法:Back propagation)来学习权值W1~W3。此外,误差信息从右侧输入并流向左侧。误差反传播法是为了针对各神经元使输入了输入x时的输出y与真实的输出y(教师)之间的差值变小,对各自的权值进行调整(学习)的方法。

这样的神经网络可以在三层以上进一步增加层(称为深层学习)。此外,还可以仅根据教师数据自动地获得阶段性地进行输入的特征提取并对结果进行回归的运算装置。

因此,本实施方式的机械学习装置20,为了能够实施上述Q学习,如图1所示这样,具备:状态量观测部21、动作结果取得部26、学习部22以及意图决定部25。然而,本发明中应用的机械学习方法如前述并不受限于Q学习。即,可以应用能够在机械学习装置中使用的方法即“有教师学习”、“无教师学习”、“半有教师学习”以及“强化学习”等各种方法。此外,这些机械学习(机械学习装置20)可以使用通用的计算机或处理器,然而,当应用GPGPU、大规模PC集群等时,能够更高速地进行处理。

即,根据本实施方式,提供了一种机械学习装置,其学习通过机械手部13从包含散装状态的杂乱放置的多个工件12中取出工件12的机器人14的动作,其具备:状态量观测部21,其观测包含三维测量器15的输出数据的机器人14的状态量,该三维测量器15测量每个工件12的三维位置(x、y、z)、或者三维位置与姿态(x、y、z、w、p、r);动作结果取得部26,其取得通过机械手部13取出工件12的机器人14的取出动作的结果;学习部22,其接受来自状态量观测部21的输出和来自动作结果取得部26的输出,与机器人14的状态量和取出动作的结果相关联地学习包含向机器人14指示工件12的取出动作的指令数据的操作量。

此外,状态量观测部21观测的状态量例如可包含分别对从箱11取出某工件12时的机械手部13的位置、姿态以及取出方向进行设定的状态变量。此外,所学习的操作量例如可以包含从箱11取出工件12时从控制装置16提供给机器人14、机械手部13的各驱动轴的转矩、速度、旋转位置等指令值。

并且,学习部22在散装的多个工件12中的一个工件被取出时,与工件12的取出动作的结果(动作结果取得部26的输出)相关联地学习上述状态变量。也就是说,通过控制装置16分别随机地设定三维测量器15(坐标计算部19)的输出数据和机械手部13的指令数据,或者根据预定的规则而特意地设定,并通过机械手部13实施工件12的取出动作。这里,作为上述预定的规则,例如有从散装的多个工件12中高度(z)方向高的工件开始依次取出。由此,三维测量器15的输出数据与机械手部13的指令数据对应于取出某工件的行为。并且,会产生工件12的取出的成功和失败,在每次产生这样的成功和失败时,学习部22对由三维测量器15的输出数据与机械手部13的指令数据构成的状态变量进行评价。

此外,学习部22将取出工件12时的三维测量器15的输出数据和机械手部13的指令数据、与对工件12的取出动作的结果的评价相关联地进行存储。此外,作为失败例子有如下情况:机械手部13无法保持工件12的情况、或者即使把持了工件12但是工件12与箱11的壁发生碰撞或接触的情况等。此外,根据力传感器17的检测值、基于三维测量器的摄影数据来判断这样的工件12的取出是否成功。这里,机械学习装置20例如还可以利用从控制装置16输出的机械手部13的指令数据的一部分来进行学习。

这里,本实施方式的学习部22优选具备回报计算部23和价值函数更新部24。例如,回报计算部23根据上述状态变量引起的工件12的取出的成功与否,来计算回报,例如分数。对工件12的取出的成功,设为回报变高,对工件12的取出的失败,设为回报变低。此外,也可以根据在预定时间内工件12的取出的成功次数来计算回报。此外,在计算该回报时,例如也可以对应于机械手部13的把持的成功、机械手部13的搬运的成功、工件12的放置动作的成功等工件12的取出的各阶段来计算回报。

并且,价值函数更新部24具有对工件12的取出动作的价值进行确定的价值函数,与上述回报对应地更新价值函数。在该价值函数的更新中,使用上述这样的价值Q(s、a)的更新式。此外,优选在该更新时制作行为价值表。这里所述的行为价值表是指,相互关联地记录了取出了工件12时的三维测量器15的输出数据和机械手部13的指令数据、与对应于此时的工件12的取出结果而更新后的价值函数(即评价值)的表格。

此外,作为该行为价值表,也可以使用利用前述的神经网络进行近似处理后的函数,在图像数据等这样的状态s的信息量巨大时是特别有效的。此外,上述价值函数不限于1种。例如考虑了对机械手部13对工件12的把持成功与否进行评价的价值函数、对通过机械手部13把持并搬运工件12所需要的时间(周期时间)进行评价的价值函数。

此外,作为上述价值函数,也可以使用对工件取出时的箱11与机械手部13或工件12之间的干扰进行评价的价值函数。为了计算在该价值函数的更新中使用的回报,状态量观测部21优选观测作用到机械手部13的力,例如由力传感器17检测的值。并且,在由力传感器17检测的力的变化量超过了预定阈值的情况下,可以推定为发生了上述干扰,因此,优选将该情况下的回报设为例如负值,并使价值函数所确定的价值下降。

此外,根据本实施方式,可以将三维测量器15的测量参数作为操作量来学习。即,根据本实施方式,提供了一种机械学习装置,其学习通过机械手部13从包含散装状态的杂乱放置的多个工件12中取出工件12的机器人14的动作,其具备:状态量观测部21,其观测包含三维测量器15的输出数据的机器人14的状态量,该三维测量器15测量每个工件12的三维位置(x、y、z)、或者三维位置与姿态(x、y、z、w、p、r);动作结果取得部26,其取得通过机械手部13取出工件12的机器人14的取出动作的结果;学习部22,其接受来自状态量观测部21的输出和来自动作结果取得部26的输出,与机器人14的状态量和取出动作的结果相关联地学习包含三维测量器15的测量参数的操作量。

此外,在本实施方式的机器人系统10中,还可以具备机械手自动更换装置(未图示),其将在机器人14上安装的机械手部13更换为其他形态的机械手部13。这种情况下,价值函数更新部24也可以针对形态不同的每个机械手部13具有上述价值函数,与回报对应地对更换后的机械手部13的价值函数进行更新。由此,能够针对形态不同的多个机械手13的每一个来学习机械手部13的最佳动作,因此能够使机械手自动更换装置选定价值函数较高的机械手部13。

接着,意图决定部25例如优选参照如上述制作出的行为价值表,来选择与最高评价值对应的三维测量器15的输出数据和机械手部13的指令数据。之后,意图决定部25将选定的机械手部13、三维测量器15的最佳数据输出到控制装置16。

然后,控制装置16使用学习部22所输出的机械手部13、三维测量器15的最佳数据,分别对三维测量器15和机器人14进行控制来取出工件12。例如,控制装置16优选根据对通过学习部22得到的机械手部13的最佳位置、姿态和取出方向分别进行设定的状态变量,使机械手部13、机器人14的各驱动轴进行动作。

此外,上述实施方式的机器人系统10,如图1所示,针对一个机器人14具备一个机械学习装置20。然而在本发明中,机器人14和机械学习装置20各自的数量不限于一个。例如,机器人系统10还可以具备多个机器人14,与各个机器人14对应地设置一个以上的机械学习装置20。并且,机器人系统10优选通过网络等通信介质来共享或相互交换各机器人14的机械学习装置20所取得的三维测量器15和机械手部13的最佳状态变量。由此,即使某机器人14的运行率低于其他机器人14的运行率,也能够在某机器人14的动作中利用另一机器人14具备的机械学习装置20所取得的最佳动作结果。此外,通过多个机器人之间的学习模型的共享,或者进行包含三维测量器15的测量参数的操作量和机器人14的状态量与取出动作的结果的共享,能够缩短学习所花费的时间。

此外,机械学习装置20可以位于机器人14内,也可以位于机器人14之外。或者,机械学习装置20可以位于控制装置16内,也可以存在于云服务器(未图示)中。

此外,在机器人系统10具备多个机器人14的情况下,可以在某机器人14搬运由机械手部13把持的工件12的期间,使另一机器人14的机械手部实施取出工件12的作业。并且,价值函数更新部24也可以利用这样的、取出工件12的机器人14进行切换的期间的时间来更新价值函数。此外,机械学习装置20中具有多个机械手模型的状态变量,在工件12的取出动作中进行利用多个机械手模型的取出模拟,并根据该取出模拟的结果,与工件12的取出动作的结果相关联地来学习多个机械手模型的状态变量。

此外,在上述机械学习装置20中,将取得每个工件12的三维图的数据时的三维测量器15的输出数据,从三维测量器15发送到状态量观测部21。在这样的发送数据中未必不包含有异常数据,因此,在机械学习装置20中可以具有异常数据的过滤功能,即能够选择是否将来自三维测量器15的数据输入到状态量观测部21的功能。由此,机械学习装置20的学习部22能够高效地学习三维测量器15和机器人14的机械手部13的最佳动作。

此外,在上述的机械学习装置20中,来自学习部22的输出数据被输入到控制装置16中,然而在来自该学习部22的输出数据中也未必不包含异常数据,因此,也可以具有异常数据的过滤功能,即能够选择是否将来自学习部22的数据输出到控制装置16的功能。由此,控制装置16能够使机器人14更安全地执行机械手部13的最佳动作。

此外,上述异常数据可以通过以下顺序进行检测。即,可以通过以下这样的顺序来检测异常数据:推定输入数据的概率分布,使用概率分布导出新输入的发生概率,如果发生概率为一定以下,则看作是大幅度偏离典型举动的异常数据。

接着,说明本实施方式的机器人系统10具备的机械学习装置20的动作的一例。图4是表示图1所示的机械学习装置的动作的一例的流程图。如图4所示,在图1所示的机械学习装置20中,当开始学习动作(学习处理)时,通过三维测量器15实施三维测量并进行输出(图4的步骤S11)。即,在步骤S11中,例如,取得包含散装状态的杂乱放置的每个工件12的三维图(三维测量器15的输出数据),输出到状态量观测部21,并且,通过坐标计算部19接受每个工件12的三维图而计算每个工件12的三维位置(x、y、z),输出到状态量观测部21、动作结果取得部26以及控制装置16。这里,坐标计算部19也可以根据三维测量器15的输出来计算每个工件12的姿态(w、p、r)并进行输出。

此外,如参照图5所说明的,可以将三维测量器15的输出(三维图)经由在向状态量观测部21输入之前进行处理的预处理部50输入到状态量观测部21。此外,如参照图7所说明的,可以仅将三维测量器15的输出输入到状态量观测部21,进而,可以仅将三维测量器15的输出经由预处理部50输入到状态量观测部21。这样,步骤S11中的三维测量的实施和输出可以包含各种方式。

具体地,在图1的情况下,状态量观测部21观测来自三维测量器15的每个工件12的三维图、和来自坐标计算部19的每个工件12的三维位置(x、y、z)以及姿态(w、p、r)这样的状态量(三维测量器15的输出数据)。此外,动作结果取得部26根据三维测量器15的输出数据(坐标计算部19的输出数据),取得通过机械手部13取出工件12的机器人14的取出动作的结果。此外,动作结果取得部26除了三维测量器的输出数据以外,例如还可以取得将取出的工件12传送到后工序时的完成度、取出的工件12的损坏这样的取出动作的结果。

此外,例如,机械学习装置20根据三维测量器15的输出数据决定最佳动作(图4的步骤S12),另外,控制装置16输出机械手部13(机器人14)的指令数据(操作量),实施工件12的取出动作(图4的步骤S13)。然后,通过上述的动作结果取得部26取得工件的取出结果(图4的步骤S14)。

接着,通过来自动作结果取得部26的输出,判定工件12的取出的成功与否(图4的步骤S15),在工件12取出成功的情况下,设定正回报(图4的步骤S16),在工件12取出失败的情况下,设定负回报(图4的步骤S17),然后,更新行为价值表(价值函数)(图4的步骤S18)。

这里,例如,可以根据工件12的取出动作后的三维测量器15的输出数据来判定工件12的取出的成功与否。此外,工件12的取出的成功与否的判定不限于评价工件12的取出的成功与否,例如还可以评价:将取出的工件12传送到后工序时的完成度、是否存在取出的工件12的损坏等状态变化、或者通过机械手部13把持并搬运工件12所需要的时间(周期时间)或能量(电量)等。

此外,通过回报计算部23计算基于工件12的取出成功与否的判定的回报值,另外,通过价值函数更新部24进行行为价值表的更新。即,学习部22在工件12的取出成功时,将正回报设定给前述的价值Q(s、a)的更新式中的回报(S16),另外,在工件12的取出失败的时,将负回报设定给该更新式中的回报(S17)。然后,学习部22在每次进行工件12的取出时,进行前述的行为价值表的更新(S18)。通过重复以上步骤S11~S18,学习部22继续(学习)行为价值表的更新。

在上述中,被输入到状态量观测部21的数据不受限于三维测量器15的输出数据,例如,也可以包含其他传感器的输出等数据,此外,也可以利用来自控制装置16的指令数据的一部分。这样,控制装置16使用从机械学习装置20输出的指令数据(操作量),使机器人14执行工件12的取出动作。此外,基于机械学习装置20的学习,不受限于工件12的取出动作,例如如前述也可以是三维测量器15的测量参数。

如以上,根据具备本实施方式的机械学习装置20的机器人系统10,能够学习通过机械手部13从包含散装状态的杂乱放置的多个工件12中取出工件12的机器人14的动作。由此,机器人系统10能够无需人工介入地学习要取出散装的工件12的机器人14的最佳动作的选择。

图5是表示本发明另一实施方式的机器人系统的概念性结构的框图,表示应用了有教师学习的机器人系统。从图5与前述图1的比较可明显看出,相对于图1所示的应用了Q学习(强化学习)的机器人系统10,图5所示的应用了有教师学习的机器人系统10′还具备附带结果(标签)的数据记录部40。此外,图5所示的机器人系统10′还具备对三维测量器15的输出数据进行预处理的预处理部50。此外,当然也可以例如对图1所示的机器人系统10设置预处理部50。

如图5所示,应用了有教师学习的机器人系统10′中的机械学习装置30具备:状态量观测部31、动作结构取得部36、学习部32和意图决定部35。学习部32包含误差计算部33和学习模型更新部34。此外,在本实施方式的机器人系统10′中,机械学习装置30还学习指示机器人14进行工件12的取出动作的指令数据、或三维测量器15的测量参数这样的操作量并进行输出。

即,在图5所示的应用了有教师学习的机器人系统10′中,误差计算部33和学习模型更新部34分别对应于图1所示的应用了Q学习的机器人系统10中的回报计算部23和价值函数更新部24。此外,其他机构例如三维测量器15、控制装置16以及机器人14等结构与前述图1相同,省略其说明。

通过误差计算部33计算从动作结果取得部36输出的结果(标签)与安装在学习部中的学习模型的输出之间的误差。这里,附带结果(标签)的数据记录部40例如在工件12的形状、机器人14的处理相同的情况下,保持直到使机器人14进行作业的预定日期的前一日为止而得的附带结果(标签)的数据,并在该预定日期将附带结果(标签)的数据记录部40中保持的附带结果(标签)的数据提供给误差计算部33。或者,也可以通过存储卡或通信线路将通过在机器人系统10′的外部进行的模拟等而得的数据、或其他机器人系统的附带结果(标签)的数据,提供给该机器人系统10′的误差计算部33。此外,可以利用闪存(Flash Memory)等非易失性存储器构成附带结果(标签)的数据记录部40,将附带结果(标签)的数据记录部(非易失性存储器)40内置于学习部32中,由学习部32直接使用在该附带结果(标签)的数据记录部40中保持的附带结果(标签)的数据。

图6是用于说明图5所示的机器人系统中的预处理部的处理的一例的图,图6(a)表示在箱11中散装的多个工件12的三维位置(姿态)的数据即三维测量器15的输出数据的一例,图6(b)~图6(d)表示对图6(a)中的工件121~123进行预处理后的图像数据的例子。

这里,作为工件12(121~123),预想了圆柱状的金属部件,作为机械手部(13),预想了例如利用负压吸取圆柱状工件12的纵向中央部分的吸附盘,而不是利用2个爪部把持工件。因此,例如如果知晓工件12的纵向中央部分的位置,则通过使吸附盘(13)对该位置移动并进行吸附,能够取出工件12。此外,图6(a)~图6(d)中的数值以[mm]表示,分别表示x方向、y方向、z方向。此外,z方向对应于通过设置在上方的三维测量器15(例如具有2个摄像机)对散装了多个工件12的箱11进行拍摄而得的图像数据的高度(深度)方向。

从图6(a)与图6(b)~图6(d)的比较明显看出,作为图5所示的机器人系统10′中的预处理部50的处理的一例,根据三维测量器15的输出数据(三维图像),使关注的工件12(例如3个工件121~123)旋转,并且处理成中心的高度为“0”。

即,在三维测量器15的输出数据中包含有例如各个工件12的纵向中央部分的三维位置(x、y、z)和姿态(w、p、r)的信息。此时,如图6(b)、图6(c)和图6(d)所示,使所关注的3个工件121、122、123各自旋转-r,并且减去z而全部符合相同的条件。通过进行这样的预处理,能够降低机械学习装置30的负荷。

这里,图6(a)所示的三维图并不是三维测量器15的输出数据本身,而是例如与之前相比,降低了用于从通过规定正在实施的工件12的取出顺序的程序而得的图像中进行选择的阈值,且该处理本身也可以通过预处理部50进行。此外,作为这样的预处理部50的处理,当然可以由于以工件12的形状和机械手部13的种类等为首的各种条件而发生各种变化。

这样,在向状态量观测部31输入之前通过预处理部50进行处理而得的三维测量器15的输出数据(每个工件12的三维图)被输入到状态量观测部31。再次参照图5,接受从动作结果取得部36输出的结果(标签)的误差计算部33,作为学习模型,例如将图3所示的神经网络的输出设为y时,在实际上进行工件12的取出动作并成功时看作存在-log(y)的误差;在失败时看作存在-log(1-y)的误差,并进行目的在于使该误差最小化的处理。此外,作为图3所示的神经网络的输入,提供例如图6(b)~图6(d)所示这样的进行预处理后的所关注的工件121~123的图像数据、以及这些所关注工件121~123的每一个的三维位置和姿态(x、y、z、w、p、r)的数据。

图7是表示图1所示的机器人系统的变形例的框图。从图7与图1的比较明显看出,在图7所示的机器人系统10的变形例中,削减了坐标计算部19,状态量观测部21仅接受来自三维测量器15的三维图来观测机器人14的状态量。此外,当然也可以针对控制装置16设置与坐标计算部19对应的结构。此外,该图7所示的结构例如也可以应用于参照图5说明的应用了有教师学习的机器人系统10′。即,可以从图5所示的机器人系统10′中削减预处理部50,状态量观测部31仅接受来自三维测量器15的三维图来观测机器人14的状态量。这样,上述各实施例能够进行各种变更和变形。

如以上详述的,根据本实施方式,能够提供一种能够无需人工介入地学习取出包含散装状态的杂乱放置的工件时的机器人的最佳动作的机械学习装置、机器人系统以及机械学习方法。此外,作为本发明的机械学习装置20、30,不限于应用强化学习(例如Q学习)或有教师学习,还可以应用各种机械学习的算法。

根据本发明的机械学习装置、机器人系统和机械学习方法,实现了能够无需人工介入地学习取出包含散装状态的杂乱放置的工件时的机器人的最佳动作的效果。

以上说明了实施方式,然而这里记载的全部例子、条件均是以有助于理解在发明和技术中应用的发明概念为目的而记载的,特别记载的例子、条件并不意图限制发明的范围。此外,说明书中的这样的记载并不表示发明的优点和缺点。尽管详细记载了发明的实施方式,然而应当理解,在不脱离发明的精神和范围的情况下可以进行各种变更、替换、变形。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1