HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

机器人控制装置、系统、信息处理方法和程序与流程

2021-01-19 16:01:11|230|起点商标网
机器人控制装置、系统、信息处理方法和程序与流程

本发明涉及机器人控制装置、系统、信息处理方法和程序。



背景技术:

最近已经研究了基于通过机器学习获得的识别结果来进行任务的机器人系统。通常,为了学习模型,安装在环境中的机器人需要在现实世界环境中以试错的方式多次重复地进行任务,使得机器人可以以足够高的成功率来进行任务。这需要很多时间。

npl1公开了一种技术,其中,机器人在仿真环境中以试错的方式虚拟地进行任务,以快速学习模型,然后将所学习的模型赋予现实世界环境中的机器人,使得机器人可以以相对少的试错次数进行任务,以进行增量学习。

引用列表

专利文献

npl1:fangyizhang,jurgenleitner,michaelmilford,benupcroft,petercorke,"towardsvision-baseddeepreinforcementlearningforroboticmotioncontrol,"inproceedingsoftheaustralasianconferenceonroboticsandautomation(acra),2015,anu,canberra,australia.



技术实现要素:

技术问题

然而,在安装在系统需要始终操作的环境中的机器人系统中(如工厂中操作的机器人),机器人很难以试错的方式进行任务,以进行给定模型的增量学习。

解决问题的技术方案

本发明提供了一种控制机器人的机器人控制装置。该机器人控制装置包括:第一获取单元,其用于从能够经由网络与所述机器人控制装置通信的外部装置获取候选模型,所述候选模型接收传感器信息作为输入并输出识别信息;评估单元,其用于基于通过基于执行模型来执行任务而获得的学习数据,来评估所述候选模型的性能,所述执行模型接收传感器信息作为输入并输出识别信息;以及替换单元,其用于基于所评估的性能来用所述候选模型替换所述执行模型。

本发明的有利效果

根据本发明,可以将从安装在用户环境中的用户机器人系统的外部获取的模型引入机器人系统中,而无需通过机器人系统以试错的方式进行任务。

附图说明

包含在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且与文字说明一起用来解释本发明的原理。

图1是示出机器人系统的示例性示意性构造的图。

图2是示出机器人系统的示例性外观的图。

图3是示出机器人控制装置的示例性硬件构造的图。

图4是示出机器人控制装置的功能构造的图。

图5a是示出信息处理的示例的流程图。

图5b是示出信息处理的示例的流程图。

图6是示出机器人系统的示例性示意性构造的图。

图7是示出机器人控制装置的功能构造的图。

图8是示出信息处理的示例的流程图。

具体实施方式

下面将参照附图描述本发明的实施例。

<第一实施例>

在第一实施例中,将以如下机器人系统为例,该机器人系统安装在用户工厂中并进行利用吸附手吸附和拾取目标物体的保持任务,并且将描述如下方法,该机器人系统通过该方法引入在外部服务器上发布的新模型(以下称为“候选模型”)。如本文所使用的术语“模型”是指关于具有学习参数的函数的信息。在该实施例中,模型是神经网络模型。在该实施例中,机器人系统利用机器人系统中当前保持的模型(以下称为“执行模型”)来进行任务,从而收集学习数据。学习数据用于对在后台新获取的候选模型进行增量学习。当候选模型具有满足由用户设置的预定水平的性能时,用候选模型来替换执行模型。因此,在用户特有的环境中操作的机器人系统可以引入在服务器上发布的候选模型,而无需以试错的方式进行特殊任务。

图1是示出根据第一实施例的机器人系统的示意性构造以及机器人系统与例如外部服务器之间的关系的图。机器人系统101是用户a使用的机器人系统。机器人系统101包括机器人控制装置102、连接到机器人控制装置102的机器人103、以及传感器104。机器人控制装置102在其中保持执行模型105。执行模型105接收从传感器104获取的信息作为输入,并输出识别结果。机器人控制装置102基于识别结果控制机器人103(在本实施例中为包括手臂的六轴关节机器人)来进行任务。机器人控制装置102经由互联网108连接到外部服务器106。当服务器106发布新模型107时,机器人控制装置102经由网络获取模型107作为候选模型。机器人控制装置102进行增量学习,使得候选模型在用户环境中以足够的性能实现任务,然后用候选模型替换执行模型105。服务器106类似地连接到用户b拥有的机器人控制装置和另一用户拥有的机器人控制装置以及用户a拥有的机器人控制装置102。各个用户可以将服务器上的模型107下载到在他们的环境中操作的机器人系统并使用该模型。执行模型和候选模型在保持在其中的学习参数的数量和网络结构方面可以彼此不同,只要这些模型接收相同格式的信息作为输入并输出相同格式的信息即可。服务器106是能够经由网络与机器人控制装置102进行通信的外部装置的示例。

图2是示出机器人系统101的外观和用于说明实施例的坐标系的图。机器人控制装置102连接到机器人103、互联网108和传感器104。更具体地,该实施例中的传感器104包括rgb-d相机201和电子秤202。机器人103包括附装吸嘴203的凸缘,并且响应于来自机器人控制装置102的指令而开始和终止吸气。待被机器人103拾取的目标物体204被给送并放置在电子秤202上的随机位置和朝向。

现在将描述坐标系。机器人坐标系205是以机器人103的基座的中心为原点的机器人坐标系。当机器人控制装置102指定以机器人坐标系205表示的吸嘴203的位置和朝向时,机器人103移动手臂以将吸嘴203定位在指定的位置和朝向。相机坐标系206是相机坐标系。rgb-d相机201拍摄rgb图像和深度图像,它们是从相机坐标系的原点沿z轴正方向观看到的图像。机器人系统101保持预先计算的、机器人坐标系与相机坐标系之间的相对坐标转换。

图3是示出机器人控制装置102的示例性硬件构造的图。机器人控制装置102包括中央处理单元(cpu)10、存储器11、通信接口(i/f)12、显示单元13和输入单元14,作为硬件组件。cpu10控制机器人控制装置102的整体处理。存储器11存储例如程序和在cpu10基于程序执行处理时使用的数据。通信i/f12控制与机器人103、服务器106和传感器104的通信。显示单元13例如是显示器,并且例如输出cpu10的处理结果。输入单元14包括鼠标和键盘,接收用户操作,并将接收到的用户操作通知给cpu10。cpu10读出存储在存储器11中的程序,并基于所读取的程序执行处理,从而实现稍后将描述的图4和图7所示的机器人控制装置102的功能构造。此外,cpu10读取存储在存储器11中的程序,并基于读取的程序执行处理,从而实现稍后将描述的图5或图8的流程图中的处理。显示单元13和输入单元14不是机器人控制装置102的必要组件。

图4是示出机器人控制装置102的功能构造的图。

传感器信息获取单元301从传感器104获取传感器信息。更具体地,该实施例中的传感器信息包括从rgb-d相机201获取的rgb图像和深度图像、以及从电子秤202获取的重量信息。在此,假定rgb图像和深度图像已经经过了位置对准并且逐像素地彼此关联。

机器人运动计划单元302通过使用由执行模型保持单元303保持的执行模型,在从传感器信息获取单元301获取的rgb图像中识别目标物体的吸附位置。机器人运动计划单元302在从传感器信息获取单元301获取的深度图像中,获取与在rgb图像中识别的吸附位置相关联的深度值,以计算由相机坐标系表示的三维空间中的吸附位置和朝向。机器人运动计划单元302生成一系列路径,机器人103的手臂通过该系列路径移动到计算出的吸附位置和朝向并拾取目标物体。

机器人控制单元304根据该系列路径控制机器人103,从而使机器人103进行任务。

任务成功/失败确定单元305获得在机器人103拾取目标物体之前和之后从传感器信息获取单元301获取的重量信息之间的差,从而确定目标物体204是否已经被成功拾取。

学习数据管理单元306包括管理大量学习数据的数据库。各学习数据包括当机器人运动计划单元302识别目标物体的吸附位置时用作输入的传感器信息、响应于传感器信息而要输出的识别信息、以及识别信息的生成时间。学习数据将稍后用于候选模型的增量学习和性能评估。

服务器106包括模型保持单元307,其保持要分发给用户的模型。

候选模型获取单元308经由互联网获取由服务器中的模型保持单元307保持的模型,并保持该模型。

评估单元309通过使用从学习数据管理单元306获得的学习数据来评估由候选模型获取单元308获取的候选模型的性能,并基于评估结果确定是更新候选模型还是用候选模型替换执行模型。

候选模型更新单元310对由候选模型获取单元308获取的候选模型进行增量学习。更具体地,候选模型更新单元310利用从学习数据管理单元306获得的学习数据,来更新由候选模型获取单元308获取的候选模型的学习参数。

候选模型更新单元310重复更新候选模型的学习参数,直到由评估单元309评估的候选模型的评估结果超过预定性能水平。

执行模型替换单元311用由候选模型获取单元308保持的候选模型替换由执行模型保持单元303保持的模型。

图5包括各自示出机器人控制装置102进行的信息处理的示例的流程图。机器人控制装置102并行执行两个处理。第一处理是任务执行处理,包括图5a所示的s401至s408。任务执行处理是如下处理,其中机器人103在诸如工厂的用户特有环境中重复进行预期任务。此外,任务执行处理还具有以下功能:基于用于进行任务的传感器信息和指示任务成功或失败的确定结果来生成学习数据,并在机器人103正在进行任务的同时管理所生成的数据。现在将详细描述任务执行处理。

(s401)

在s401中,位于根据实施例的机器人系统外部的给送器将目标物体204给送到电子秤202的秤盘上。

(s402)

在s402中,rgb-d相机201测量rgb图像和深度图像。然后,传感器信息获取单元301获取图像和图(map)作为传感器信息。

(s403)

在s403中,机器人运动计划单元302计算用于拾取目标物体的一系列路径作为机器人运动,更具体地,计算在机器人坐标系中在吸嘴的吸附之前的基于路径的位置和朝向、在吸附时的位置和朝向、以及在吸附之后的基于路径的位置和朝向。传感器信息获取单元301从rgb-d相机201获取rgb图像和深度图像作为传感器信息。然后,机器人运动计划单元302基于执行模型计算rgb图像中的目标物体的吸附位置。在该实施例中,执行模型是神经网络模型,其接收局部图像块作为输入并且输出指示是否可以吸附局部图像块的中心处的点的识别信息。输出值表示属于表示可以吸附该点(可以吸附)的类或表示不可吸附该点(不可吸附)的类的概率。属于这两类的概率之和被归一化为1。为了通过使用该模型来计算目标物体的吸附位置,机器人运动计划单元302扫描整个rgb图像以生成大量局部图像块。各局部图像块具有指示如下范围的大小,该范围正好足以确定rgb图像中的目标物体的吸附位置(例如,与如下正方形的一边相对应的像素的数量,该正方形以预定边距围绕通过从预定位置对目标物体进行摄像而拍摄的图像中由目标物体占据的区域)。各局部图像块的大小由用户预先设置。机器人运动计划单元302将局部图像块输入到执行模型,从而获得识别信息,即,指示与块相关联的点处的可以吸附的概率。因此,机器人运动计划单元302将原始rgb图像中的与指示可以吸附的概率最高的图像块的中心相对应的计算位置,确定为图像中的目标物体的吸附位置。然后,机器人运动计划单元302从深度图像获取rgb图像中的目标物体的吸附位置处的深度值。机器人运动计划单元302将在指向rgb图像中的吸附位置的方向从相机坐标系206的原点起由深度值表示的距离处的点,确定为相机坐标系206中的三维吸附位置和朝向的位置分量。机器人运动计划单元302将吸附位置附近的目标物体的表面的法线方向,确定为吸附位置和朝向的朝向分量,并从深度图像计算目标物体的表面。如上所述,机器人运动计划单元302可以计算相机坐标系206中的、吸嘴在吸附期间必须维持的吸附位置和朝向。机器人运动计划单元302根据先前计算出的相机坐标系与机器人坐标系之间的相对坐标转换,将计算出的吸附位置和朝向转换为机器人坐标系中的吸附位置和朝向。然后,机器人运动计划单元302基于机器人坐标系中的吸附位置和朝向来计算吸嘴在吸附之前和之后必须采取的基于路径的位置和朝向。各个基于路径的位置和朝向是通过将吸附位置和朝向沿远离物体的方向平移由用户预先设置的固定偏移距离而获得的位置和朝向。如上所述,确定机器人103的用于吸附操作的路径,即在机器人坐标系中在吸嘴的吸附之前的基于路径的位置和朝向、在吸附时的位置和朝向、以及在吸附之后的基于路径的位置和朝向。

(s404)

在s404中,机器人控制单元304根据在s403中计算出的机器人运动来控制机器人103以进行任务。更具体地,机器人控制单元304向机器人103发出用于将吸嘴移动到吸附之前的基于路径的位置和朝向的指令,从而将吸嘴移动到吸附之前的基于路径的位置和朝向。然后,机器人控制单元304向机器人103发出用于将吸嘴移动到吸附时的位置和朝向的指令,从而将吸嘴移动到吸附时的位置和朝向。然后,机器人控制单元304向机器人103发出用于开始通过吸嘴吸气的指令,从而通过吸附来保持目标物体。此后,机器人控制单元304向机器人103发出用于将吸嘴移动到吸附之后的基于路径的位置和朝向指令,从而将吸嘴移动到吸附之后的基于路径的位置和朝向。

(s405)

在s405中,任务成功/失败确定单元305确定在s404中进行的任务的成功或失败。更具体地,在进行任务之后,传感器信息获取单元301从电子秤202获取重量。如果重量等于通过从在放置目标物体的状态下、或在拾取物体之前的状态下预先测量的重量中减去一个目标物体的重量而获得的值,则任务成功/失败确定单元305确定物体已被成功拾取。如果不是,则任务成功/失败确定单元305确定失败。

(s406)

在s406中,学习数据管理单元306基于传感器信息以及在s405中确定的任务的成功或失败来生成学习数据,并管理该数据。更具体地,该步骤中的传感器信息是在s403中被确定为吸附位置并且具有可以吸附的最高概率的rgb图像中的局部图像块。学习数据管理单元306从机器人运动计划单元302接收局部图像块。如果在s405中的任务成功/失败确定结果是成功,则学习数据管理单元306将“可以吸附”确定为在识别该局部图像块时要输出的地面真值标签(groundtruthlabel)。如果在s405中的任务成功/失败确定结果是失败,则学习数据管理单元306将“不可吸附”确定为在识别该局部图像块时要输出的地面真值标签。学习数据管理单元306将局部图像块、表示可以吸附或不可吸附的地面真值标签、以及从中提取局部图像块的原始图像的拍摄时间的组合,作为学习数据添加并存储到学习数据管理单元306。

(s407)

在s407中,机器人控制单元304控制机器人103以进行针对拾取的目标物体的预期任务。该实施例中的预期任务是如下任务:将通过吸附来保持目标物体的吸嘴移动到预先设置的预定位置,并通过停止吸气来释放目标物体。

(s408)

在s408中,机器人控制单元304确定是否终止任务执行处理。如果机器人控制单元304确定不终止任务执行处理,则从s401重复该处理。如果机器人控制单元304确定终止任务执行处理,则终止图5a的任务执行处理。

通过包括上述操作的任务执行处理,可以在机器人系统正在用户工厂中操作的同时重复执行预期任务期间,收集和累积最新工厂环境中的学习数据。

第二处理是模型替换处理,其包括图5b所示的s411至s417。在模型替换处理中,机器人控制装置102周期性地确定在服务器上是否发布了新模型,并且如果发布了新模型,则获取新模型作为候选模型。机器人控制装置102进行增量学习,使得候选模型具有满足用户环境中所需水平的性能,然后用候选模型来替换执行模型。将在下面详细描述模型替换处理。

(s411)

在s411中,候选模型获取单元308确定在服务器106上是否发布了新模型。如果候选模型获取单元308确定没有发布新模型,则处理进入s417。如果候选模型获取单元308确定发布了新模型,则处理进入s412。

(s412)

在s412中,候选模型获取单元308经由网络获取由服务器106的模型保持单元307保持的新模型。将获取的模型作为候选模型保持在由候选模型获取单元308管理的存储区域中。

(s413)

在s413中,评估单元309利用由学习数据管理单元306管理的学习数据来评估由候选模型获取单元308保持的候选模型的性能。评估单元309从学习数据管理单元306中获取用于评估的学习数据。学习数据管理单元306将在数据库中管理的学习数据随机混洗并分类为两组:用于评估的学习数据和用于增量学习的学习数据,这将在稍后描述。学习数据管理单元306将用于评估的学习数据赋予评估单元309。然后,评估单元309将所获取的各学习数据中包括的局部图像块输入到候选模型,以计算表示可以吸附和不可吸附的两类中的任一者的概率,并且确定具有更高概率的类作为与学习数据相关联的识别结果。评估单元309将识别结果与包括在学习数据中的表示可以吸附或不可吸附的地面真值标签进行核对,以确定识别结果是真还是假。评估单元309对接收到的各学习数据进行上述评估处理,以计算正确的识别率,并将计算出的率确定为候选模型的性能评估结果。

(s414)

在s414中,评估单元309确定在s413中计算出的性能评估结果是否满足预定性能水平。预定性能水平是基于用户针对机器人系统正在进行的任务所需的成功率而在机器人系统中预先设置的固定值。如果评估单元309确定评估结果不满足该水平,则处理进入s415。如果评估单元309确定评估结果满足该水平,则处理进入s416。如果在s415中的处理被重复地进行了预定时间段或预定次数之后评估结果不满足该水平,则评估单元309丢弃候选模型,并且处理进入s417。

(s415)

在s415中,候选模型更新单元310更新由候选模型获取单元308保持的候选模型。候选模型更新单元310从学习数据管理单元306获取用于学习的学习数据。然后,候选模型更新单元310将包括在获取的各学习数据中的局部图像块输入到候选模型,以获得指示总和为1并且表示可以吸附和不可吸附的两个类的概率中的任一者的输出值。另外,候选模型更新单元310从包括在学习数据中并表示可以吸附或不可吸附的地面真值标签中获取候选模型应输出的地面真值。更具体地,如果地面真值标签表示可以吸附,则候选模型更新单元310确定可以吸附的概率为1。如果地面真值标签表示不可吸附,则候选模型更新单元310确定可以吸附的概率为0。候选模型更新单元310将候选模型输出的输出值与地面真值之间的误差定义为交叉熵误差。然后,候选模型更新单元310使用随机梯度下降来更新候选模型的学习参数以最小化误差。

(s416)

在s416中,执行模型替换单元311用由候选模型获取单元308保持的候选模型来替换由执行模型保持单元303保持的执行模型。

(s417)

在s417中,例如,候选模型更新单元310确定是否终止模型替换处理。如果候选模型更新单元310确定不终止模型替换处理,则从s411重复该处理。如果候选模型更新单元310确定终止模型替换处理,则终止图5b的模型替换处理。

由于与任务执行处理并行地进行包括上述操作的模型替换处理,因此可以在后台利用最新的学习数据对在外部服务器上新发布的模型进行增量学习,并在经历了增量学习的发布模型满足预定性能水平时,可以用发布模型替换执行模型。因此,可以用从外部服务器获取的模型来替换执行模型,而不会导致在用户工厂中操作的机器人103的任务成功率有任何降低,并且无需通过机器人103以试错的方式进行任务以进行增量学习。

(第一变型例)

在实施例中,当在s403中对机器人103的运动进行计划时,机器人运动计划单元302使用从rgb图像生成的局部图像块作为输入到模型的信息来计算识别信息。输入信息不限于局部图像块。例如,机器人运动计划单元302可以使用rgb图像作为输入。在这种情况下,机器人运动计划单元302使用神经网络模型作为模型,该神经网络模型接收rgb图像的所有像素作为输入,并输出与图像中可以保持的部分相对应的像素位置。在这种情况下,由学习数据管理单元306在s406中生成的学习数据的传感器信息包括当任务成功/失败确定结果为“成功”时获取的rgb图像的所有像素,并且要输出的识别信息的地面真值标签指示与图像中可以保持的部分相对应的像素位置。在s413中,如果由模型输出的像素位置与由地面真值标签指示的像素位置之间的距离小于预定距离,则评估单元309确定识别结果为真。评估单元309对接收到的各学习数据进行上述评估处理,以计算正确的识别率,并将计算出的率确定为候选模型的性能评估结果。此外,在s415中,候选模型更新单元310获得候选模型与各学习数据相关联地输出的像素位置与由地面真值标签指示的像素位置之间的平方距离,并将平方距离的总和定义为误差。然后,候选模型更新单元310使用随机梯度下降来更新候选模型的学习参数以最小化误差。

(第二变型例)

根据上述方法,使用rgb图像的所有像素作为输入到模型的信息来进行实施例中的处理。可以将rgb图像的所有像素和深度图像的所有像素的对用作输入。在这种情况下,机器人运动计划单元302使用神经网络模型作为模型,该神经网络模型接收rgb图像和深度图像作为输入,并输出与图像中可以保持的部分相对应的像素位置。其余处理与上述方法相同,其中将rgb图像的所有像素用作输入。如上所述,在s403中可以使用任何传感器信息,只要可以基于传感器信息计算用于计划机器人103的运动的识别信息即可。

(第三变型例)

尽管在实施例中,任务成功/失败确定单元305在s405中基于从电子秤202获取的重量来确定任务的成功或失败,但是可以以其他方式来确定任务的成功或失败。例如,任务成功/失败确定单元305可以基于气压进行确定。在这种情况下,传感器信息获取单元301从作为传感器104之一的喷射器获取气压,该喷射器用于将负压空气提供给吸附手。任务成功/失败确定单元305可以在吸嘴203没有通过吸附保持物体的状态下响应于气压从给定值的预定增大来检测目标物体204的吸附,从而确定任务已经成功进行。此外,任务成功/失败确定单元305可以基于图像来确定任务的成功或失败。在这种情况下,传感器信息获取单元301从成功/失败确定相机获取图像,该成功/失败确定相机被光学地布置为传感器104之一。在机器人手臂通过吸附保持目标物体204之后,机器人控制单元304将机器人手臂移动到预定位置,并使成功/失败确定相机拍摄图像。任务成功/失败确定单元305可以通过图像处理来检测拍摄图像中目标物体的存在或不存在,并且基于拍摄图像中目标图像的存在来确定目标物体204已经通过吸附而被成功地保持。如上所述,在s405中可以使用任何传感器信息,只要可以基于传感器信息确定任务的成功或失败即可。

(第四变型例)

在实施例中由学习数据管理单元306管理的学习数据不限于在s406中通过利用当前使用的执行模型来操作机器人103而生成的学习数据。由学习数据管理单元306管理的学习数据可以是在利用当前执行模型替换之前获得的学习数据,或者可以是通过利用上一代执行模型进行图5a的任务执行处理而获得并且添加到管理目标的学习数据。类似地,由学习数据管理单元306管理的学习数据可以是通过利用上两代或更早的执行模型进行图5a的任务执行处理而获得并且添加到管理目标的学习数据。另外,由学习数据管理单元306管理的学习数据可以是通过利用特定执行模型(机器人控制装置102保持该特定执行模型以生成学习数据)进行图5a的任务执行处理而获得并且添加到管理目标的学习数据。此外,由学习数据管理单元306管理的学习数据可以是利用如上所述的不同执行模型生成的学习数据的混合。如上所述,在图5a的任务执行处理中可以使用除候选模型以外的任何执行模型。

(第五变型例)

尽管在实施例中将由学习数据管理单元306管理的所有学习数据用于评估和候选模型的增量学习,但是可以选择和使用学习数据的子集。例如,可以选择学习数据,使得包含生成时间在一天中的设置时间之后的设置比例的学习数据。例如,在用户环境中每月改变照明布局的情况下,可以选择学习数据,使得一个月内生成的学习数据占所选学习数据的50%。这使得在用户使用机器人103的环境已经改变的情况下,能够根据最近的环境对获取的候选模型进行评估和增量学习。作为选择学习数据的另一种方式,可以基于用于学习数据的传感器信息的特征来选择学习数据。在执行模型是神经网络模型的情况下,模型的特征提取层用于从学习数据中提取局部图像块的特征向量,并选择学习数据,使得特征向量的协方差矩阵增大。这使得在变化的用户环境中,能够根据各种各样的状况对获取的候选模型进行评估和增量学习。此外,当在s406中学习数据管理单元306将新的学习数据添加到管理目标时,可以以上述方式选择学习数据,并且可以消除不必要的学习数据。另选地,可以在s406中将所有学习数据添加到管理目标,并且可以在学习数据管理单元306将学习数据赋予评估单元309或候选模型更新单元310时,在s413或s416中选择学习数据。

(第六变型例)

尽管在实施例中将拾取任务描述为示例性任务,但是任务可以是其他任务。例如,任务可以是用于将通过吸附保持的目标物体安装在目的地物体上的安装任务。对于这种安装任务,附装到机器人103的吸嘴203通过吸附保持目标物体。在s402中,rgb-d相机201获取指示目标物体和目的地物体的测量的传感器信息,更具体地,获取通过从俯视视角拍摄两个物体的图像而获得的俯视视角rgb图像。在s403中,为了计划机器人103的运动,机器人运动计划单元302使用神经网络模型,该神经网络模型接收俯视视角rgb图像作为输入并且输出目标物体和目的地物体的相对位置和朝向。在s405中,任务成功/失败确定单元305利用执行任务之后拍摄的俯视视角rgb图像,通过图像处理来确定安装任务的成功或失败。由学习数据管理单元306在s406中生成的学习数据的传感器信息是用于计划机器人103的运动并且导致针对任务的成功或失败的确定“成功”的俯视透视rgb图像。要输出的识别信息的地面真值标签指示目标物体和目的地物体的相对位置和朝向。在s413中,如果从模型输出的两个物体的相对位置和朝向与由地面真值标签指示的相对位置和朝向之间的误差小于预定值,则评估单元309确定识别结果为真。这里使用的术语“相对位置和朝向之间的误差”是指位置和朝向的平移分量之间的差和位置和朝向的朝向分量之间的差的加权和。对由评估单元309接收的各学习数据进行上述评估处理,以计算正确的识别率,并且将计算出的率确定为候选模型的性能评估结果。此外,在s415中,候选模型更新单元310获得两个物体的相对位置和朝向(候选模型将该相对位置和朝向与各学习数据相关联地输出)与地面真值的相对位置和朝向之间的平方距离,并且将平方距离的总和定义为误差。然后,候选模型更新单元310使用随机梯度下降来更新候选模型的学习参数以最小化误差。如上所述,在实施例中可以进行任何任务,只要可以通过使用接收传感器信息作为输入的模型的识别处理来在任务中计划机器人103的运动即可。

(第七变型例)

尽管在实施例中机器人控制装置102从服务器106获取模型,但是服务器可以是其他用户使用的机器人控制装置。这使得能够引入由其他用户开发或进行学习的模型作为执行模型,而无需在原始用户环境中以试错的方式进行任务。

(第八变型例)

在实施例的s414中,评估单元309基于用户预先设置的固定值来确定在s413中计算出的性能评估结果是否满足预定性能水平。然而,用户可以确定评估结果是否满足预定性能水平。在这种情况下,评估单元309使显示单元13显示使用户能够掌握性能评估结果的信息,更具体地,显示在s413中计算出的正确识别率、以及响应于各学习数据的输入局部图像块而从候选模型输出的输出值。用户通过参照在显示单元13上显示的信息来确定在s413中计算出的性能评估结果是否满足预定性能水平,并且评估单元309接收用户通过输入单元14输入的确定结果。该处理是接收处理的示例,接收处理接收关于是否用候选模型替换执行模型的确定。因此,用户可以根据用户的状况灵活地确定是否用候选模型替换执行模型。

<第二实施例>

在第二实施例中,将以如下机器人系统为例,该机器人系统安装在用户工厂中并进行用吸附手吸附和拾取目标物体的任务,并且将描述如下方法,机器人系统通过该方法从在多个外部服务器上发布的候选模型中自动选择具有最佳性能的候选模型,并引入所选择的模型。在该实施例中,机器人系统用当前保持在系统中的执行模型来进行任务以收集学习数据。机器人系统通过使用学习数据来评估在后台新获取的多个候选模型中的各个的性能,并且如果具有最佳性能的候选模型的性能优于执行模型的性能,则机器人系统用候选模型来替换当前使用的执行模型。如上所述,可以从服务器上发布的多个模型中选择具有最佳性能的模型,并将其引入用户系统,而无需通过机器人103进行性能评估的任务。

图6例如是示出机器人系统的示意性构造以及机器人系统与外部服务器之间的关系的图。机器人系统501是用户a使用的机器人系统。机器人系统501包括机器人控制装置502、连接到机器人控制装置502的机器人103以及传感器104。机器人控制装置502在其中保持执行模型105。机器人103、传感器104和执行模型105与第一实施例中描述的相似。机器人控制装置502基于识别结果控制机器人103以进行任务。机器人控制装置502经由互联网108连接到多个外部服务器,例如,服务器a503和服务器b505。当服务器a503发布新模型504时或当服务器b505发布新模型506时,机器人控制装置502经由网络获取发布模型作为候选模型。机器人控制装置502评估候选模型的性能,并且如果评估的性能满足预定性能水平,则机器人控制装置502用候选模型替换执行模型105。各机器人控制装置连接到多个服务器,并且可以从任何服务器获取模型。

对于机器人系统501的外观和坐标系,外观和坐标系与图2中的相同,其中,用本实施例的机器人控制装置502来替换第一实施例的机器人控制装置102。另外,机器人系统501的硬件构造也与图3相同,其中,用本实施例的机器人控制装置502来替换第一实施例的机器人控制装置102。

图7是示出机器人控制装置502的功能构造的图。在本实施例的机器人控制装置502中,从图4所示的第一实施例的机器人控制装置102的组件中去除了候选模型更新单元310。因此,不进行候选模型的学习参数的更新。此外,候选模型获取单元308和评估单元309在功能上被改变为候选模型获取单元601和评估单元602。机器人控制装置502连接到多个服务器,例如服务器a503和服务器b505。现在将描述具有与第一实施例中的功能不同的功能的候选模型获取单元601和评估单元602。

候选模型获取单元601经由互联网获取由连接至机器人控制装置502的服务器a503的模型保持单元603或连接至机器人控制装置502的服务器b505的模型保持单元604保持的模型,并保持获取的模型。

评估单元602利用从学习数据管理单元306获得的学习数据评估由候选模型获取单元601获取的候选模型的性能,并基于评估结果确定是否用候选模型替代执行模型。

现在将参照流程图描述在该实施例中由机器人控制装置502进行的处理的更多具体细节。机器人控制装置502并行执行两个处理。第一处理是包括图5a中的s401至s408的任务执行处理,并且第一处理的细节与第一实施例中描述的相同。第二处理是模型替换处理,包括图8中的s701至s706。在模型替换处理中,周期性地确定是否在连接到机器人控制装置502的多个服务器上发布了新模型。当确定发布了新模型时,获取新模型作为候选模型。如果候选模型的性能满足用户环境中所需的水平,则用候选模型来替换执行模型。将在下面详细描述模型替换处理。

(s701)

在s701中,候选模型获取单元601依次确定是否在服务器a503或服务器b505上发布了新模型。如果候选模型获取单元601确定没有在任何服务器上发布新模型,则处理进行到s706。如果候选模型获取单元601检测到在任何服务器上发布的新模型,则响应于该检测,处理进入s702。

(s702)

在s702中,候选模型获取单元601经由网络从与模型相关的服务器获取在s701中检测到的新模型。将所获取的模型作为候选模型保持在由候选模型获取单元601管理的存储区域中。

(s703)

在s703中,评估单元602利用由学习数据管理单元306管理的学习数据来评估由候选模型获取单元601保持的候选模型的性能。评估单元602从学习数据管理单元306中获取用于评估的学习数据。学习数据管理单元306将在数据库中管理的学习数据随机混洗并分类为两组,用于评估的学习数据和用于增量学习的学习数据。学习数据管理单元306将用于评估的学习数据赋予评估单元602。然后,评估单元602将获取的各学习数据中包括的局部图像块输入到候选模型,以计算表示可以吸附和不可吸附的两类中的任一者的概率,并且确定具有更高概率的类作为与学习数据相关联的识别结果。评估单元602将识别结果与包括在学习数据中的表示可以吸附或不可吸附的地面真值标签进行核对,以确定识别结果是真还是假。评估单元602对接收到的各学习数据进行上述评估处理,以计算正确的识别率,并将计算出的率确定为候选模型的性能评估结果。

(s704)

在s704中,评估单元602确定在s703中计算出的性能评估结果是否满足预定性能水平。预定性能水平是通过以与s703中相同的方式评估当前使用的执行模型的性能而获得的结果。如果候选模型的评估结果优于执行模型的评估结果,则评估单元602确定候选模型的性能满足该水平,并且处理进入s705。否则,评估单元602确定候选模型的性能不满足该水平,并且处理进行到s706。

(s705)

在s705中,执行模型替换单元311用由候选模型获取单元601保持的候选模型来替换由执行模型保持单元303保持的执行模型。

(s706)

在s706中,例如,评估单元602确定是否终止模型替换处理。如果评估单元602确定不终止模型替换处理,则从s701开始重复处理。如果评估单元602确定终止模型替换处理,则终止图8的模型替换处理。

与任务执行处理并行地进行包括上述操作的模型替换处理可以从在多个外部服务器上发布的模型中选择具有最佳性能的模型,并且用所选择的模型替换执行模型。如上所述,可以始终从可用模型中选择具有最佳性能的模型,并且可以将所选择的模型用作在用户工厂中操作的机器人控制装置502的执行模型。

(变型例)

在实施例中,候选模型获取单元601在s701中依次确定是否在服务器a503或服务器b505上发布了新模型。如果候选模型获取单元601检测到在任一服务器上发布的新模型,则响应于检测,处理进行到s702。机器人控制装置502依次进行从s702起的操作。然而,只要候选模型获取单元601检测到第一新模型,处理就不必进入s702。候选模型获取单元601可以首先检查所有服务器以获取所有新的候选模型。在这种情况下,机器人控制装置502并行进行s702和s703中的操作以计算候选模型的性能评估结果。然后,机器人控制装置502对展现最高性能评估结果的候选模型进行从s704起的操作。因此,可以更快地检测用于替换的最优候选模型。

<其他实施例>

可以通过以下处理来实现本发明,该处理是经由网络或存储介质将用于实现上述实施例的一个或多个功能的程序提供给系统或装置,并且使该系统或装置的计算机中的一个或多个处理器读出并执行程序。本发明还可以通过用于实现一个或多个功能的电路(例如,asic)来实现。

尽管已经详细描述了本发明的示例性实施例,但是本发明不限于特定实施例。

例如,机器人控制装置102可以包括多个通信i/f。例如,机器人控制装置102可以包括用于机器人103的通信i/f、用于服务器106的通信i/f以及用于传感器104的通信i/f。

此外,机器人控制装置102可以包括多个cpu和多个存储器。cpu可以使用存储器并且基于存储在存储器中的程序执行处理。

此外,图4和图7所示的机器人控制装置102的功能组件的子集或全部可以作为硬件组件并入机器人控制装置102中。

根据上述实施例,可以将从安装在用户环境中的机器人系统的外部获取的模型引入到用户的机器人系统中,而无需通过机器人系统以试错的方式进行任务。

本发明不限于上述实施例,并且可以在本发明的精神和范围内进行各种改变和变型。因此,为了使公众了解本发明的范围,做出了以下权利要求。

本申请要求2018年5月28日提交的日本专利申请第2018-101357号的优先权,该申请的全部内容通过引用并入本文。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

相关标签: 机器人系统学习
tips