控制装置、控制方法和程序与流程

文档序号:24302390发布日期:2021-03-17 00:54阅读:107来源:国知局
控制装置、控制方法和程序与流程

本技术涉及控制装置、控制方法和程序,并且特别地涉及可以防止机器人的操作失败的控制装置、控制方法和程序。



背景技术:

在诸如工厂等有人的环境中管理机器人的情况下,从安全性等角度出发,需要防止机器人的误操作。在基于通过机器学习获得的模型或预设规则进行操作的情况下,机器人自身难以确定操作失败。

例如,专利文献1公开了下述技术,该技术基于在操作成功的情况下期望的传感器输出数据的时间序列模式以及在操作期间传感器输出数据的时间序列模式来确定操作的成功或失败。时间序列模式的每个折线部分被视为一个状态,并且每个节点被视为状态改变的事件,并且针对每个状态和事件设置容许范围以监测状态转变。

引用列表

专利文献

专利文献1:日本专利申请特许公开第h11-065649号

专利文献2:日本专利申请特许公开第2007-303866号

专利文献3:日本专利申请特许公开第2012-73769号



技术实现要素:

本发明要解决的问题

在上述技术中,用户需要针对每个状态和事件设置容许范围。此外,不能自动更新在操作成功的情况下期望的传感器输出数据的时间序列模式,或者不能在确定操作失败的情况下执行恢复。

如果机器人能自动更新用作为确定操作是否成功的标准的数据,或者在确定操作失败的情况下机器人能自动重做这些操作,则是很方便的。

鉴于这样的情况而作出了本技术,并且本技术使得可以防止机器人的操作失败。

对问题的解决方案

根据本技术的一个方面的控制装置包括状态转变确定部,在执行任务的机器人的状态转变遵循被预设为导致任务失败的状态转变的失败状态转变的情况下,该状态转变确定部控制机器人的操作以在导致任务失败之前执行预定处理。

在本技术的一个方面中,在执行任务的机器人的状态转变遵循被预设为导致任务失败的状态转变的失败状态转变的情况下,控制机器人的操作以在导致任务失败之前执行预定处理。

本发明的效果

根据本技术,可以防止机器人操作失败。

注意,本文中描述的效果不必被限制,并且也可以是本公开内容中描述的任何效果。

附图说明

图1是示出根据本技术的实施方式的机器人的外形的示例的图。

图2是示出失败状态转变的示例的图。

图3是示出失败状态转变的另一示例的图。

图4是示出机器人的示例硬件配置的框图。

图5是示出控制部的示例功能配置的框图。

图6是示出失败状态转变生成处理的流程图。

图7是示出控制处理的流程图。

图8是示出针对“抓取物体”的任务更新失败状态转变的第一示例的图。

图9是示出针对“抓取物体”的任务更新失败状态转变的第二示例的图。

图10是示出针对“将物体递给人”的任务更新失败状态转变的第一示例的图。

图11是示出针对“将物体递给人”的任务更新失败状态转变的第二示例的图。

图12是示出针对“抓取物体”的任务更新失败状态转变的另一示例的图。

图13是示出控制部的另一示例功能配置的框图。

图14是示出失败状态转变更新部的示例配置的框图。

图15是示出失败状态转变更新处理的流程图。

图16是示出失败状态转变的第一示例的图,该失败状态转变包括“抓取物体”的任务的恢复。

图17是示出失败状态转变的第二示例的图,该失败状态转变包括“抓取物体”的任务的恢复。

图18是示出失败状态转变的第一示例的图,该失败状态转变包括“将物体递给人”的任务的恢复。

图19是示出失败状态转变的第二示例的图,该失败状态转变包括“将物体递给人”的任务的恢复。

图20是示出控制部的另一示例功能配置的框图。

图21是示出恢复控制部的示例配置的框图。

图22是示出恢复执行处理的流程图。

图23是示出控制系统的示例配置的图。

图24是示出计算机的示例配置的框图。

具体实施方式

下面将描述用于实施本技术的方式。将按以下的顺序给出描述。

1.失败状态转变

2.机器人的示例配置

3.机器人的操作

4.更新失败状态转变的示例

5.恢复的示例

6.修改例

<失败状态转变>

图1是示出根据本技术的实施方式的机器人的外形的示例的图。

图1的a所示的机器人1是臂式机器人。机器人1包括:基部11;从基部11延伸的臂部12;以及附接到臂部12的端部的手部13。机器人1被设置在工厂等处,并且执行例如抓取和移动物体的预定任务。

代替机器人1,可以使用如图1的b所示的能够进行双足行走的人型机器人2。机器人2也包括臂部等,并且可以抓取和移动物体。

图1所示的机器人1和机器人2通过由内置计算机执行预定程序并且驱动各个部件来采取自主动作。

下面将适当地描述在作为臂式机器人的机器人1中执行的处理。与机器人1中执行的处理类似的处理由机器人2或者具有其他形状的机器人(例如能够四足行走的机器人)执行。

在执行诸如抓取和移动物体的任务的情况下,机器人1在每个定时处监测其自身的状态。在机器人1的状态的转变遵循与导致任务失败的状态转变的失败状态转变相同的转变的情况下,机器人1执行诸如在到达失败状态之前警告用户的预定动作。

机器人1具有失败状态转变信息,该失败状态转变信息是指示针对每个任务的失败状态转变的信息。失败状态转变信息是在预定定时处为机器人1预先生成并准备的。

这里,状态包括操作和事件。操作指由机器人1主动执行的事。操作包括诸如“移动手臂”和“识别”的事。此外,事件指在机器人1中检测到的被动的事。事件包括诸如“看不见”的事。在本文中,确定机器人1的状态是否对应于每个状态,而不是用值来表示每个状态。

注意,状态包括诸如以下的识别结果:识别图像的结果、检测到异常噪声的结果以及检测到气味的结果。此外,状态还包括诸如以下的识别结果:通过抓取物体而识别的物体的形状、滑度(slipperiness)和柔软度。

图2是示出失败状态转变的示例的图。

图2所示的失败状态转变表示导致“抓取物体”的任务失败的状态转变。“抓取物体”的任务例如是识别、抓取和提起放置在机器人1附近的物体的任务。

在执行“抓取物体”的任务时,机器人1的状态首先变为状态#1,状态#1是臂部12被举起的状态,然后变为状态#2,状态#2是识别出要抓取的物体的状态。例如,基于摄像装置捕获的图像或者传感器检测到的传感器数据来识别要抓取的物体。

在到达状态#2(其是识别出要抓取的物体的状态)之后,确定是否移动臂部12。

在确定移动臂部12的情况下,机器人1的状态变为状态#3,状态#3是移动臂部12的状态。在到达状态#3的情况下,机器人1通过驱动各个部件来移动臂部12。在臂部12未移动的情况下,认为该任务不会失败。

在到达状态#3(其是移动臂部12的状态)之后,确定是否看不见要抓取的物体。

在确定看不见要抓取的物体的情况下,机器人1的状态变为状态#4,状态#4是看不见要抓取的物体的状态。

在到达状态#4的情况下,执行警告动作,如其头部的箭头a1所示。机器人1驱动扬声器等,以通过声音警告用户看不见要抓取的物体。在不是看不见要抓取的物体的情况下,认为该任务不会失败。

在到达状态#4(其是看不见要抓取的物体的状态)并且执行了警告动作之后,确定是否进一步移动臂部12。

在确定进一步移动臂部12的情况下,机器人1的状态变为状态#5,状态#5是移动臂部12的状态。

在到达状态#5的情况下,确定到达失败前状态(其是任务失败之前的状态),并且执行紧急停止的动作,如其头部的箭头a2所示。机器人1停止驱动各个部件并且不移动臂部12。由于臂部12不移动,因此该任务不会失败。

以这种方式,在执行“抓取物体”的任务的情况下,将包括状态#1至#5的状态转变设置为失败状态转变。在机器人1的状态转变遵循与失败状态转变相同的转变的情况下,执行警告或紧急停止的动作。

当即使在看不见要抓取的物体并且执行了警告之后仍遵循失败状态转变并且要移动臂部12的情况下,通过变为失败前状态并且使操作紧急停止,机器人1能够防止任务失败,并且能够防止臂部12等撞击周围的物体。

图3是示出失败状态转变的另一示例的图。

图3所示的失败状态转变表示导致“将物体递给人”的任务失败的状态转变。“将物体递给人”的任务是例如以下任务:抓取放置在机器人1附近的物体,并且将物体呈现在附近的人面前,并且松开抓握以将物体递给人。

在执行“将物体递给人”的任务时,机器人1的状态首先变为状态#11,状态#11是物体被手部13拿着的状态,然后变为状态#12,状态#12是将手部13放在人的前面的状态。通过基于诸如摄像装置的传感器的输出来识别目标物体以及驱动臂部12和手部13来实现拿着物体的操作。

在状态#12(其是将抓取物体的手部13放在人的前面的状态)之后,确定人的手是否未触及物体。例如,基于由摄像装置捕获的图像或者由传感器检测到的传感器数据来识别人的手触及物体。

在确定人的手未触及物体的情况下,机器人1的状态变为状态#13,状态#13是人的手未触及物体的状态。

在到达状态#13的情况下,执行警告动作,如其头部的箭头a11所示。机器人1驱动扬声器等以通过声音警告用户手未触及物体。在人的手触及物体的情况下,认为该任务不会失败。

在到达状态#13(其是人的手未触及物体的状态)并且执行了警告动作之后,确定人是否未注视由手部13呈现的物体。例如,基于通过分析由摄像装置捕获的图像而识别出的人的视线方向来确定是否注视物体。

在确定人未注视物体的情况下,机器人1的状态变为状态#14,状态#14是人未注视物体的状态。

在到达状态#14的情况下,执行警告动作,如其头部的箭头a12所示。机器人1驱动扬声器等以通过声音警告用户专注于注视物体。在人注视物体的情况下,认为该任务不会失败。

在到达状态#14(其是人未注视物体的状态)并且执行了警告动作之后,确定是否减小手部13抓取物体的力。

在确定减小手部13抓取物体的力的情况下,机器人1的状态变为状态#15,状态15是减小了手部13抓取物体的力的状态。在未减小手部13抓取物体的力的情况下,认为该任务不会失败。

在到达状态#15的情况下,确定到达失败前状态,并且再次执行抓取动作,如其头部的箭头a13所示。机器人1驱动各个部件以增大手部13的力以再次抓取物体。

以这种方式,在执行“将物体递给人”的任务的情况下,将包括状态#11至#15的状态转变设置为失败状态转变。在机器人1的状态转变遵循与失败状态转变相同的转变的情况下,执行警告或紧急停止的动作。

当在即使在执行了注视物体的警告之后仍遵循失败状态转变并且将要减小手部13的力的情况下,通过变为失败前状态并且再次执行用于抓取物体的操作,机器人1可以防止任务失败并且防止举起的物体掉落。

以这种方式,针对每个任务设置了失败状态转变,并且为机器人1准备了指示这种转变的信息。

机器人1在其自身的状态转变遵循与失败状态转变相同的转变的情况下确定任务将失败,并且在实际失败之前根据任务执行最佳操作,从而可以防止失败。

稍后将参照流程图描述如上所述的用于防止失败的机器人1的处理。

<机器人的配置示例>

图4是示出机器人1的示例硬件配置的框图。

如图4所示,通过将输入/输出部32、驱动部33、无线通信部34和电源部35连接到控制部31来构成机器人1。

控制部31包括计算机,该计算机包括中央处理单元(cpu)、只读存储器(rom)、随机存取存储器(ram)、闪存等。控制部31通过cpu执行预定程序以控制机器人1的整体操作。构成控制部31的计算机用作控制机器人1的操作的控制装置。

例如,控制部31基于从输入/输出部32提供的信息以及从驱动部33的每个驱动单元提供的信息来监测其自身的状态。

此外,在执行预定任务的情况下,控制部31基于该任务的失败状态转变信息来确定其自身的状态转变是否遵循与失败状态转变相同的转变。在确定其自身的状态转变遵循与失败状态转变相同的转变的情况下,控制部31在实际失败之前执行预定动作。

输入/输出部32包括摄像装置41、麦克风(麦克风)42、扬声器43、触摸传感器44和发光二极管(led)45。

摄像装置41顺序地捕获周围环境的图像。摄像装置41将捕获图像(其是通过图像捕获而获得的静止图像或运动图像)的数据输出到控制部31。

麦克风42检测环境声音。麦克风42将环境声音的数据输出到控制部31。

扬声器43输出诸如语音和bgm的预定声音。

触摸传感器44被设置在诸如基部11的预定部分处。触摸传感器44检测用户的触摸,并且将指示用户的操作内容的信息输出到控制部31。

led45根据控制部31的控制发光,以将信息呈现给用户。代替led45,可以设置诸如lcd或有机el显示器的小型显示器。

输入/输出部32设置有各种模块,例如测量到周围物体的距离的距离测量传感器以及诸如全球定位系统(gps)的位置测量传感器。

驱动部33根据控制部31的控制而被驱动,以实现机器人1的动作。驱动部33包括针对各个关节轴例如翻滚、俯仰、偏航而设置的多个驱动单元。

例如,每个驱动单元被提供给机器人1的各个关节。每个驱动单元包括下述的组合:绕轴旋转的电机;检测电机的旋转位置的编码器;以及基于编码器的输出来自适应地控制电机的旋转位置和转速的驱动器。机器人1的硬件配置由驱动单元的数量、驱动单元的位置等确定。

在图4的示例中,设置驱动单元51-1至51-n作为驱动单元。例如,驱动单元51-1包括电机61-1、编码器62-1和驱动器63-1。驱动单元51-2至51-n具有类似于驱动单元51-1的配置。

无线通信部34是无线通信模块,例如无线lan模块、能够进行长期演进(lte)的移动通信模块。无线通信部34与诸如因特网上的服务器的外部装置进行通信。无线通信部34将从控制部31提供的数据发送到外部装置,并且接收从外部装置发送的数据。

电源部35向机器人1中的各个部件供应电力。电源部35包括充电电池71,以及管理充电电池71的充电/放电状态的充电/放电控制部72。

图5是示出控制部31的示例功能配置的框图。

如图5所示,控制部31包括操作输出部101、操作获取部102、失败状态转变确定部103、失败状态转变存储部104、失败状态转变生成部105和驱动控制部106。图5所示的功能部件中的至少一部分是由构成控制部31的cpu通过执行预定程序来实现的。

操作输出部101接收从驱动部33的每个驱动单元提供的信息,并且将信息输出到操作获取部102。

操作获取部102基于从操作输出部101提供的信息来检测机器人1的操作内容。操作获取部102将指示操作内容的信息输出到失败状态转变确定部103。

在执行预定任务的情况下,失败状态转变确定部103从失败状态转变存储部104读取并且获取以下信息:该信息用于指示针对要执行的任务的失败状态转变。

失败状态转变确定部103基于从操作获取部102提供的信息所指示的操作来识别机器人1的状态,并且确定其自身的状态转变是否遵循与失败状态转变相同的转变。

失败状态转变确定部103基于状态转变的确定结果来控制驱动控制部106。例如,在确定其自身的状态转变没有遵循与失败状态转变相同的转变的情况下,失败状态转变确定部103使导致任务成功的每个操作得以执行。此外,在确定其自身的状态转变遵循与失败状态转变相同的转变的情况下,失败状态转变确定部103使预设动作得以执行。

失败状态转变存储部104存储每个任务的失败状态转变信息。

失败状态转变生成部105设置每个任务的失败状态转变,并且生成失败状态转变信息。失败状态转变生成部105将失败状态转变信息输出到失败状态转变存储部104以进行存储。

驱动控制部106基于从失败状态转变确定部103提供的信息来控制驱动部33的每个驱动单元执行预定操作。

<机器人的操作>

这里,将描述具有以上配置的机器人1的操作。

首先,将参照图6的流程图描述机器人1的失败状态转变生成处理。

在步骤s1中,失败状态转变生成部105针对预定任务设置失败状态转变。例如,还可以根据机器人1的管理者的操作来执行失败状态转变的设置。

在步骤s2中,失败状态转变生成部105将失败状态转变信息输出到失败状态转变存储部104以进行存储。

对每个任务执行以上处理。失败状态转变存储部104存储每个任务的失败状态转变信息。

接下来,将参照图7的流程图描述机器人1的控制处理。

在步骤s11中,失败状态转变确定部103基于从操作获取部102提供的信息所指示的操作来识别机器人1的状态。从操作获取部102提供指示机器人1如何移动(例如,向上移动或者向前移动臂部12)的信息、机器人1获得了什么信息(例如图像/声音识别的结果以及任何其他传感器信息)等作为指示操作内容的信息。

在步骤s12中,失败状态转变确定部103将机器人1的状态与失败状态转变进行比较。

在步骤s13中,失败状态转变确定部103确定机器人1的状态转变是否遵循与失败状态转变相同的转变,以及是否已经发生了要对其执行动作的转变。

在步骤s13中确定尚未发生要对其执行动作的转变的情况下,失败状态转变确定部103返回步骤s11并且重复上述处理。

在步骤s13中确定已经发生了要对其执行动作的转变的情况下,在步骤s14中,失败状态转变确定部件103控制驱动控制部件106执行预定动作。如上所述,根据机器人1的状态执行诸如警告用户、紧急停止操作或者再次抓取的动作。

在执行动作之后,处理结束。在任务期间重复执行上述处理。

如上所述,机器人1在任务失败之前执行最佳操作,从而可以防止任务失败。

<更新失败状态转变的示例>

失败状态转变可以由机器人1自动更新。例如,在多次到达失败前状态的情况下,执行对失败状态转变的更新。

-更新示例1

图8是示出针对“抓取物体”的任务更新失败状态转变的第一示例的图。

图8中的状态#21至#23类似于图2中的状态#1至#3。在到达状态#23(其是移动臂部12的状态)之后,确定是否看不见要抓取的物体。

在确定看不见要抓取的物体的情况下,机器人1的状态变为状态#24,状态#24是看不见要抓取的物体的状态。

在到达状态#24的情况下,执行紧急停止的动作,如其头部的箭头a21所示。机器人1停止驱动各个部件并且不移动臂部12。

即,在图8的失败状态转变中,如虚线包围的区域中所示,在到达状态#24(其是看不见要抓取的物体的状态)的情况下,确定到达了失败前状态,并且执行紧急停止的动作而不警告用户。换言之,失败状态转变被更新为使得更可能到达失败前状态。

通过更新失败状态转变以使得尽早确定到达失败前状态,可以更可靠地防止任务的失败。

-更新示例2

图9是示出针对“抓取物体”的任务更新失败状态转变的第二示例的图。

图9中的状态#31至#33类似于图2中的状态#1至#3。在到达状态#33(其是移动臂部12的状态)之后,确定要抓取的物体的一半或更多是否不在视角范围内。

在确定要抓取的物体的一半或更多不在视角范围内的情况下,机器人1的状态变为状态#34,状态#34是要抓取的物体的一半或更多不在视角范围内的状态。

在到达状态#34的情况下,执行警告动作,如其头部的箭头a31所示。机器人1驱动扬声器等,以通过声音警告用户要抓取的物体的一半或更多不在视角范围内。

即,在图9的失败状态转变中,如由虚线包围的区域中所示,基于比图2的转变的标准更严格的标准来执行警告动作。

在图2的失败状态转变中,在要抓取的物体(例如其整个部分)不在视角范围内并且确定看不见该物体的情况下,执行警告的动作。由于要抓取的物体的一半不在视角范围内的状态是比整个物体不在视角范围内的状态更容易发生的状态,因此执行警告动作的标准在图9的失败状态转变中更严格。换言之,失败状态转变被更新为使得更可能遵循失败状态转变。

在图9的失败状态转变中,在执行了警告动作之后的转变类似于参照图2描述的转变。

由于失败状态转变被更新为使得执行动作的标准更加严格,因此可以更可靠地防止任务的失败。

-更新示例3

图10是示出针对“将物体递给人”的任务更新失败状态转变的第一示例的图。

图10中的状态#41至#43与图3中的状态#11至#13相似。在到达状态#43(其是人的手未触及物体的状态)的情况下,执行警告动作,如其头部的箭头a41所示。

在到达状态#43(其是人的手未触及物体的状态)并且执行了警告动作之后,确定人的脸是否未面向物体。

在确定人的脸未面向物体的情况下,机器人1的状态变为状态#44,状态#44是人的脸未面向物体的状态。在到达状态#44的情况下,执行警告动作,如其头部的箭头a42所示。

即,在图10的失败状态转变中,如由虚线包围的区域中所示,基于比图3的转变的标准更严格的标准来执行警告动作。

在图3的失败状态转变中,在确定人未注视物体的情况下执行警告动作。换言之,无论脸的方向如何,只要视线指向物体,就不执行警告动作。

由于使用了需要人的更多关注的标准,其中不仅考虑视线而且还考虑脸的方向,因此可以认为图10的失败状态转变是对于执行警告动作使用了更严格标准的转变。

在图10的失败状态转变中,在执行警告动作之后的转变类似于参照图3描述的转变。

-更新示例4

图11是示出针对“将物体递给人”的任务更新失败状态转变的第二示例的图。

图11中的状态#51和#52类似于图3中的状态#11和#12。在状态#12(其是将抓取物体的手部13放在人的前面的状态)之后,确定人的手是否未抓取物体。

在确定人的手未抓取物体的情况下,机器人1的状态变为状态#53,状态#53是人的手未抓取物体的状态。在到达状态#53的情况下,执行警告动作,如其头部的箭头a51所示。

即,在图11的失败状态转变中,如由虚线包围的区域中所示,基于比图3的转变标准更严格的标准来执行警告动作。

在图3的失败状态转变中,在确定人的手未触及物体的情况下执行警告动作。换言之,只要手触及物体而不一定要抓取物体,就不执行警告动作。

由于该标准需要在不仅要触及物体而且要实际抓取物体方面更多的关注人,因此可以认为图10的失败状态转变是使用对于执行警告动作更严格的标准的转变。

在图11的失败状态转变中,在执行警告动作之后的转变类似于参照图3描述的转变。

-更新示例5

图12是示出针对“抓取物体”的任务更新失败状态转变的另一示例的图。

图12所示的失败状态转变与图2的失败状态转变的不同之处在于,添加了要执行警告动作的状态。

图12中的状态#61和#62与图2中的状态#1和#2相似。在到达状态#63(其是移动臂部12的状态)之后,确定要抓取的物体的一半或更多是否不在视角范围内。

在确定要抓取的物体的一半或更多不在视角范围内的情况下,机器人1的状态变为状态#64,状态#64是要抓取的物体的一半或更多不在视角范围内的状态。

在到达状态#64的情况下,执行警告动作,如其头部的箭头a61所示。

即,在图12的失败状态转变中,如由虚线包围的区域中所示,添加了是否到达了要对其执行警告动作的状态的确定,并且,与图9的转变相比,更有可能执行警告动作。

执行警告动作之后的转变类似于图2中状态#3之后的转变。

因此,由于失败状态转变被更新为使得增加要对其执行警告动作的状态的数量,因此也可以更可靠地防止任务的失败。

-失败状态转变更新部的示例配置

图13是示出控制部31的另一示例功能配置的框图。

除了增加了失败状态转变更新部107之外,图13所示的配置与图5所示的配置基本相同。将适当省略重复的描述。

在确定到达更新失败状态转变的时机的情况下,失败状态转变更新部107以上述方式更新失败状态转变。基于从失败状态转变确定部103提供的信息来确定是否到达了更新失败状态转变的时机。

失败状态转变更新部107将指示更新的失败状态转变的失败状态转变信息输出到失败状态转变存储部104以进行存储。

图14是示出失败状态转变更新部107的示例配置的框图。

如图14所示,失败状态转变更新部107包括失败信息获取部131、更新确定部132、更新部133、更新确定标准信息存储部134和更新转变信息存储部135。

失败信息获取部131基于从失败状态转变确定部103(图13)输出的信息来获取关于任务失败的信息。例如,失败信息获取部131识别到达失败前状态的次数,并且将指示所识别的次数的信息输出到更新确定部132。

更新确定部132基于从失败信息获取部131提供的信息来确定是否更新失败状态转变。更新确定标准信息存储部134存储更新确定标准信息,该更新确定标准信息是针对每个任务确定更新的标准。

通过例如将到达失败前状态的次数与更新确定标准信息所指示的阈值次数进行比较来执行是否更新失败状态转变。在预定任务到达失败前状态的次数超过阈值次数的情况下,更新确定部132确定针对该任务更新失败状态转变,并且将指示更新的信息输出到更新部133。

更新部133基于存储在更新转变信息存储部135中的信息来更新被确定为要更新的失败状态转变。更新转变信息存储部135存储关于如何更新失败状态转变的信息。更新部133将指示更新的失败状态转变的失败状态转变信息输出到失败状态转变存储部104以进行存储。

-失败状态转变更新处理

将参照图15的流程图描述由机器人1更新失败状态转变的处理。

在步骤s21中,失败信息获取部131基于从失败状态转变确定部103输出的信息来获取关于任务失败的信息。

例如,失败信息获取部131获取到达失败前状态的次数、失败的内容以及失败的严重程度作为关于失败的信息。

失败的内容是上述动作的原因。例如,获取下述原因作为失败的内容:看不见物体;人的手未触及物体;人未注视物体;物体的一半不在视角范围内;人的脸未面对物体;人的手未抓取物体等。

此外,失败的严重程度是到达失败前状态的严重程度。例如,获取与失败前状态对应的严重程度,例如是否发生撞击;物体是否掉落;物体、墙壁等是否破裂;是否移动到驱动区域的界限;或者附近是否有人。

在步骤s22中,更新确定部132确定是否满足更新失败状态转变的条件。

这里,例如,确定在到达失败前状态的次数变得大于或等于阈值次数的情况下满足更新条件。

此外,还确定在相同内容的失败重复阈值次数或更多次的情况下或者发生严重程度大于阈值程度的失败的情况下满足更新条件。

在步骤s22中确定不满足更新条件的情况下,返回到步骤s21,并且重复上述处理。

在步骤s22中确定满足更新条件的情况下,在步骤s23中,更新部133更新失败状态转变。例如,如下面的1至3中那样执行失败状态转变的更新。

1.根据预设,如上所述,执行更新以使得尽早确定到达失败前状态,或者使得执行动作的标准变为更严格的标准。

例如,在到达失败前状态的次数变得大于或等于阈值次数的情况下,执行更新以使得尽早确定到达失败前状态。此外,在相同内容的失败重复阈值次数或更多次的情况下或者发生严重程度大于阈值程度的失败的情况下,执行更新以使得执行动作的标准变为更严格的标准。

2.执行更新,以使得根据条件来改变所使用的失败状态转变。

例如,根据要抓取的物体的尺寸来切换所使用的失败状态转变,例如在要抓取的物体的尺寸小于预定尺寸的情况下使用图8中的失败状态转变,并且在该尺寸大于预定尺寸的情况下使用图9中的失败状态转变。

此外,根据要将物体递给的人的属性来切换所使用的失败状态转变,例如在要将物体递给的人是儿童的情况下使用图10中的失败状态转变,并且在该人是成人的情况下使用图11中的失败状态转变。

3.根据用户设置来执行更新。

在这种情况下,例如通过从扬声器43输出声音来提示用户更新条件。

在步骤s24中,更新部133使失败状态转变存储部104存储用于指示更新的失败状态转变的失败状态转变信息,并且结束处理。

因此,通过在满足条件的情况下更新失败状态转变,机器人1可以更可靠地防止任务的失败。

<恢复的示例>

可以在到达失败前状态的情况下执行恢复。恢复是尝试再次执行任务的操作。

-恢复示例1

图16是示出失败状态转变的第一示例的图,该失败状态转变包括“抓取物体”的任务的恢复。

图16中的状态#101至#105分别类似于图2中的状态#1至#5。

在图16的示例中,在到达状态#105(其是移动臂部12的状态)并且确定到达失败前状态的情况下,机器人1的状态再次返回到状态#101。

即,在看不见物体而移动臂部12的情况下,机器人1控制各部件以达到举起臂部12的状态。在图16的示例中,通过控制各个部件以达到举起臂部12的状态的操作来执行恢复。

-恢复示例2

图17是示出失败状态转变的第二示例的图,该失败状态转变包括“抓取物体”的任务的恢复。

图17中的状态#111至#115分别类似于图2中的状态#1至#5。

在图17的示例中,在到达状态#115(其是移动臂部12的状态)并且确定到达失败前状态的情况下,机器人1的状态变为状态#116,状态#116是臂部12移动到识别出物体的位置的状态。机器人1控制各个部件以将臂部12移动到就在看不见物体之前的位置。

在到达状态#116(其是将臂部12移动到已识别出物体的位置的状态)之后,机器人1的状态变为状态#117,状态#117是更新了物体跟踪参数的状态。

物体跟踪参数是基于由摄像装置41捕获的图像来跟踪物体的参数。在摄像装置41被设置在臂部12的端部附近的情况下,物体跟踪参数包括诸如臂部12的移动速度的信息。

机器人1例如通过降低臂部12的移动速度来更新物体跟踪参数,以使得不会看不见物体。此后,机器人1的状态返回到状态#112,并且继续相似的状态转变。在图17的示例中,通过将臂部12移动到就在看不见物体之前的位置并且更新物体跟踪参数的操作来执行恢复。

-恢复示例3

图18是示出失败状态转变的第一示例的图,该失败状态转变包括“将物体递给人”的任务的恢复。

图18中的状态#121至#125分别类似于图3中的状态#11至#15。

在图18的示例中,在到达状态#125(其是减小了手部13抓取物体的力的状态)并且确定到达失败前状态的情况下,机器人1的状态再次返回到状态#121。

即,在物体要被传递到的人没有注视物体的时候减小手部13的力的情况下,机器人1控制包括手部13的各个部件以到达拿着物体的状态。在图18的示例中,通过控制包括手部13的各个部件以到达拿着物体的状态的操作来执行恢复。

-恢复示例4

图19是示出失败状态转变的第二示例的图,该失败状态转变包括“将物体递给人”的任务的恢复。

图19中的状态#131至#135分别类似于图3中的状态#11至#15。

在图19的示例中,在到达状态#135(其是减小了手部13抓取物体的力的状态)并且确定到达失败前状态的情况下,机器人1的状态变为状态#136,状态#136是再次抓取物体的状态。在要将物体传递给的人未注视物体的同时要减小手部13的力的情况下,机器人1控制包括手部13的各个部件再次抓取物体。

在状态#136(其是手部13再次抓取物体的状态)之后,机器人1的状态变为状态#137,状态#137是警告用户注视并且小心拿着物体的状态。在诸如通过从扬声器43输出声音来执行这样的警告之后,机器人1确定人是否注视物体,并且重复类似的状态转变。

在图19的示例中,通过控制包括手部13的各个部件再次抓取物体并且警告用户的操作来执行恢复。

如上所述,在机器人1中管理包括恢复的失败状态转变,并且在到达失败前状态的情况下执行恢复。因此,机器人1可以防止任务失败并且使任务成功。也可以在执行警告之后执行恢复。

-恢复控制部的示例配置

图20是示出控制部31的另一示例功能配置的框图。

除了增加了恢复控制部108之外,图20所示的配置与图5所示的配置基本相同。将适当省略重复的描述。

在确定到达失败前状态的情况下,恢复控制部108控制驱动控制部106执行恢复。基于从失败状态转变确定部103提供的信息或者从驱动控制部106提供的信息来确定是否到达失败前状态。

图21是示出恢复控制部108的示例配置的框图。

如图21所示,恢复控制部108包括失败信息获取部151、恢复确定部152、恢复执行部153、恢复确定标准信息存储部154和恢复状态转变信息存储部155。

失败信息获取部151基于从失败状态转变确定部103或者从驱动控制部106输出的信息来获取关于任务失败的信息。例如,失败信息获取部151识别到达失败前状态的次数,并且将指示所识别的次数的信息输出到恢复确定部152。

恢复确定部152基于从失败信息获取部151提供的信息来确定是否执行恢复。恢复确定标准信息存储部154针对每个任务存储作为用于确定是否执行恢复的恢复确定标准信息。

例如,通过将到达失败前状态的次数与恢复确定标准信息所指示的阈值次数进行比较来确定是否执行恢复。在预定任务到达失败前状态的次数超过阈值次数的情况下,恢复确定部152确定执行恢复,并且将指示确定执行恢复的信息输出到恢复执行部153。

恢复执行部153基于存储在恢复状态转变信息存储部155中的信息来执行恢复。恢复状态转变信息存储部155存储关于失败状态转变的信息,该失败状态转变包括恢复的状态。

-恢复执行处理

将参照图22的流程图描述由机器人1执行恢复的处理。

在步骤s31中,失败信息获取部151获取从失败状态转变确定部103输出的关于任务失败的信息。例如,失败信息获取部151获取到达失败前状态的次数、失败的内容以及失败的严重程度作为关于失败的信息。

在步骤s32中,恢复确定部152确定是否执行恢复。

这里,例如,在到达失败前状态的次数变得大于或等于阈值次数的情况下,确定执行恢复。此外,在严重程度低于阈值程度的失败的情况下,确定执行恢复。

在步骤s32中确定执行恢复的情况下,在步骤s33中,恢复执行部153执行恢复。

另一方面,在步骤s32中确定不执行恢复的情况下,在步骤s34中,恢复执行部153控制驱动控制部106执行预定动作。

如上所述,机器人1在任务失败之前执行恢复,从而可以防止任务失败。

<修改例>

失败状态转变也可以根据用户操作在机器人1中生成,而不是由机器人1本身生成。此外,可以将根据在诸如pc的外部装置中的用户操作而生成的失败状态转变信息提供给机器人1,并且用于如上所述的处理。

可以基于在机器人1的操作的测试阶段中发生的失败状态转变来生成失败状态转变信息,并且将该失败状态转变信息提供给机器人1。例如,由用户指定关于什么状态转变是失败状态转变的信息。

此外,用户可以设置应该避免的状态,基于该状态可以生成失败状态转变信息。

尽管上面已经描述了执行“抓取物体”和“将物体递给人”的任务的情况的处理,但是可以在执行其他任务的情况下执行类似的处理。同样在执行其他任务时,在机器人1的状态转变遵循与失败状态转变相同的转变的情况下,在失败发生之前执行诸如紧急停止的动作。

-控制系统的示例

机器人1基于失败状态转变的操作可以由诸如因特网上的服务器的外部装置来执行。

图23是示出控制系统的示例配置的图。

图23中的控制系统是通过经由网络202(诸如因特网)来连接机器人1和控制服务器201而构成的。机器人1和控制服务器201经由网络202彼此通信。

在图23的控制系统中,由控制服务器201基于从机器人1发送的信息来识别机器人1的状态。从机器人1将指示机器人1的每个装置的状态的信息依次发送到控制服务器201。

在检测到机器人1的状态转变遵循失败状态转变的情况下,控制服务器201控制机器人1执行与该状态对应的动作,例如警告动作或者任务失败时的动作。

因此,控制服务器201用作为监测机器人1的状态并且根据该状态控制机器人1的操作的控制装置。在控制服务器201中,执行预定程序以实现图5、图14或图20中的每个功能部件。

-计算机的示例配置

上述一系列处理可以通过硬件执行或者通过软件执行。在通过软件执行一系列处理的情况下,构成软件的程序从程序记录介质安装到集成到专用硬件的计算机、通用个人计算机等上。

图24是示出以编程方式执行上述一系列处理的计算机的示例硬件配置的框图。图23中的控制服务器201具有类似于图24中所示的配置的配置。

中央处理单元(cpu)1001、只读存储器(rom)1002和随机存取存储器(ram)1003通过总线1004相互连接。

输入/输出接口1005进一步连接到总线1004。包括键盘、鼠标等的输入部1006和包括显示器、扬声器等的输出部1007连接到输入/输出接口1005。此外,包括硬盘、非易失性存储器等的存储部1008、包括网络接口等的通信部1009以及驱动可移动介质1011的驱动器1010连接至输入/输出接口1005。

在如上所述配置的计算机中,由cpu1001例如经由输入/输出接口1005和总线1004将存储在存储部1008中的程序加载到ram1003中并且执行这些程序来执行上述一系列处理。

通过将由cpu1001执行的程序记录在可移动介质1011中,或者经由诸如局域网、因特网或数字广播的有线或无线传输介质来提供由cpu1001执行的程序,并且将这些程序安装在存储部1008上。

注意,由计算机执行的程序可以是其中按本文所述的顺序基于时间序列执行处理的程序,或者可以是并行执行或者在所需定时处(诸如发生调用时)执行处理的程序。

如本文中所使用的,系统指的是一组多个部件(诸如装置和模块(部件)),所有部件是否都在同一壳体中并不重要。因此,容纳在分开的壳体中并且经由网络连接的多个装置以及多个模块被容纳在一个壳体中的一个装置都是系统。

本文描述的效果仅是示例而不受限制,并且可以存在其他效果。

本技术的实施方式不限于上述实施方式,并且在不脱离本技术的精神的情况下可以进行各种修改。

例如,本技术可以采用云计算的配置,在该配置中,一个功能由多个装置经由网络分布式地、共同地处理。

此外,上述流程图中描述的每个步骤不仅可以由一个装置执行,而且可以由多个装置分布式地执行。

此外,在一个步骤包括多个处理的情况下,一个步骤中包括的多个处理不仅可以由一个装置执行,而且可以由多个装置分布式地执行。

-配置的组合的示例

本技术还可以具有以下配置。

(1)

一种控制装置,包括:

状态转变确定部,其在执行任务的机器人的状态转变遵循被预设为导致所述任务失败的状态转变的失败状态转变的情况下,控制所述机器人的操作以在导致所述任务失败之前执行预定处理。

(2)

根据上述(1)所述的控制装置,其中,

所述预定处理是对用户的警告或者紧急停止所述机器人的操作。

(3)

根据上述(2)所述的控制装置,其中,

当在执行对所述用户的警告以作为所述预定处理之后所述机器人的状态转变遵循所述失败状态转变的情况下,所述状态转变确定部执行对所述机器人的操作的紧急停止。

(4)

根据上述(1)至(3)中任一项所述的控制装置,还包括:

更新部,其在所述机器人的状态转变遵循所述失败状态转变的情况下更新所述失败状态转变。

(5)

根据上述(4)所述的控制装置,其中,

在遵循所述失败状态转变的次数超过阈值次数的情况下,或者根据遵循所述失败状态转变的机器人的状态转变的内容,所述更新部更新所述失败状态转变。

(6)

根据上述(4)或(5)所述的控制装置,其中,

所述更新部更新所述失败状态转变,使得所述机器人的状态转变更可能遵循所述失败状态转变。

(7)

根据上述(1)至(6)中任一项所述的控制装置,还包括:

恢复控制部,其在所述机器人的状态转变遵循所述失败状态转变的情况下,控制所述机器人以执行恢复。

(8)

根据上述(7)所述的控制装置,其中,

所述恢复控制部使得在执行所述预定处理之后执行所述恢复。

(9)

根据上述(1)至(8)中任一项所述的控制装置,还包括:

存储部,其存储指示所述失败状态转变的信息。

(10)

一种控制方法,包括:

在执行任务的机器人的状态转变遵循被预设为导致所述任务失败的状态转变的失败状态转变的情况下,由控制装置控制所述机器人的操作以在导致所述任务失败之前执行预定处理。

(11)

一种程序,用于使计算机执行以下处理:

在执行任务的机器人的状态转变遵循被预设为导致所述任务失败的状态转变的失败状态转变的情况下,控制所述机器人的操作以在导致所述任务失败之前执行预定处理。

附图标记列表

1、2机器人

11基部

12臂部

13手部

31控制部

33驱动部

41摄像装置

101操作输出部

102操作获取部

103失败状态转变确定部

104失败状态转变存储部

105失败状态转变生成部

106驱动控制部

107失败状态转变更新部

108恢复控制部

131失败信息获取部

132更新确定部

133更新部

134更新确定标准信息存储部

135更新转变信息存储部

151失败信息获取部

152恢复确定部

153恢复执行部

154恢复确定标准信息存储部

155恢复状态转变信息存储部

201控制服务器

202网络

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