掌桥专利:专业的专利平台
掌桥专利
首页

机器人控制装置、学习装置及推断装置

文献发布时间:2024-04-18 20:01:55


机器人控制装置、学习装置及推断装置

技术领域

本发明涉及对与人共享作业空间并动作的机器人进行控制的机器人控制装置、学习装置及推断装置。

背景技术

在工业用机器人等领域中,人即作业者和机器人不由安全栏分隔而共享作业空间的人协调机器人系统的开发不断发展。在人协调机器人系统中,作业者有可能侵入至机器人的可动范围,两者发生干涉。因此,提出了用于防止作业者和机器人的干涉的技术。

在专利文献1中公开了机器人的控制方法,即,对在根据由照相机拍摄到的图像信息而识别出的机器人的附近存在的作业者和机器人之间的距离进行测定,在测定出的距离是会与作业者发生干涉的距离的情况下,对机器人与作业者哪个部位如何发生干涉进行推测,基于其结果对机器人的动作进行限制。

专利文献1:日本特开2008-137127号公报

发明内容

但是,根据上述现有技术,仅根据图像信息对作业者和机器人的干涉进行推测,但没有考虑在作业者及机器人的周边配置的物体即周边物体。即,在现有技术中,存在没有考虑作业者向机器人和周边物体之间夹入的可能性这样的问题。例如,在机器人和周边物体之间存在作业者的身体的一部分的状态下,根据作业者和机器人之间的距离对作业者和机器人的干涉方式进行了推测,其结果,在将机器人的动作设为低速的情况下,由于没有考虑周边物体的存在,因此有可能在机器人和周边物体之间夹着作业者的身体的一部分。

本发明就是鉴于上述情况而提出的,其目的在于得到能够对人向机器人和周边物体之间夹入的发生进行抑制的机器人控制装置。

为了解决上述课题,并达到目的,本发明是一种机器人控制装置,其对与人共享作业区域而动作的机器人进行控制,该机器人控制装置具有图像识别处理部、机器人控制处理部和监视处理部。图像识别处理部基于从视觉传感器得到的监视区域中的测量数据,对与存在于监视区域的人相关的信息即第1信息进行识别。机器人控制处理部按照使机器人动作的动作程序对机器人的动作进行控制。监视处理部基于周边物体数据和从图像识别处理部得到的第1信息,对人向机器人和周边物体之间夹入的可能性进行判定。周边物体数据是表示监视区域中的机器人及机器人以外的物体即周边物体的3维的配置状态的数据。

发明的效果

本发明所涉及的机器人控制装置具有下述效果,即,能够对人向机器人和周边物体之间夹入的发生进行抑制。

附图说明

图1是表示包含实施方式1所涉及的机器人控制装置在内的机器人系统的结构的一个例子的框图。

图2是表示人体影响度信息的一个例子的图。

图3是表示实施方式1所涉及的机器人控制方法的顺序的一个例子的流程图。

图4是表示实施方式1所涉及的机器人控制方法的顺序的一个例子的流程图。

图5是表示人、机器人和周边物体之间的关系的图。

图6是表示包含实施方式2所涉及的机器人控制装置在内的机器人系统的结构的一个例子的框图。

图7是用于对访问频率对应图的生成方法进行说明的图。

图8是表示访问频率对应图的一个例子的图。

图9是表示实施方式2所涉及的机器人控制装置中的学习装置的结构的一个例子的框图。

图10是表示实施方式2所涉及的机器人控制装置所具有的学习装置的学习处理的顺序的一个例子的流程图。

图11是表示实施方式2所涉及的机器人控制装置中的推断装置的结构的一个例子的框图。

图12是表示实施方式2所涉及的机器人控制装置所具有的推断装置的推断处理的顺序的一个例子的流程图。

图13是表示实施方式1、2所涉及的机器人控制装置的硬件结构的一个例子的框图。

具体实施方式

下面,基于附图对本发明的实施方式所涉及的机器人控制装置、学习装置及推断装置详细地进行说明。

实施方式1.

图1是表示包含实施方式1所涉及的机器人控制装置在内的机器人系统的结构的一个例子的框图。机器人系统1具有机器人10、视觉传感器20和机器人控制装置30。

机器人10在一个例子中,具有多个臂和在各臂的结合点即各关节设置并对关节角度进行控制的驱动部。机器人10能够与来自机器人控制装置30的动作指令相应地设为各种姿态。通过设为各种姿态,从而能够在以机器人10的固定位置为中心的预先确定的范围的位置处进行动作。驱动部的一个例子是以伺服电动机或者步进电动机为代表的电动机,或者是利用了空气压力或者液压的压力缸。

视觉传感器20对包含机器人10的预先确定的区域,即机器人系统1的监视区域进行拍摄。视觉传感器20是能够取得包含距离图像和彩色图像在内的测量数据的传感器,该距离图像包含监视区域中的物体的深度,该彩色图像对人和人以外的周边物体进行区分。视觉传感器20的一个例子是2维照相机或者3维照相机。能够通过2维照相机取得彩色信息,能够通过3维照相机取得位置信息。在3维照相机的拍摄方式中能够使用立体方式、飞行时间(Time of Flight:ToF)方式或者投射方式。

在机器人系统1的监视区域中除了机器人10以外还配置有周边物体。周边物体的一个例子是工作台、壁、架子、门、加工机。

机器人控制装置30按照预先确定的使机器人10动作的程序即动作程序对机器人10的动作进行控制。机器人控制装置30在机器人10的控制处理中,基于视觉传感器20的拍摄结果,在机器人10的周边存在人的情况下,对机器人10的动作进行控制以使得机器人10和人不接触。机器人控制装置30具有动作程序存储部31、机器人控制处理部32、图像识别处理部33、人体影响度信息存储部34、周边物体数据存储部35和监视处理部36。

动作程序存储部31对记述有机器人10的动作的动作程序进行存储。

机器人控制处理部32从动作程序存储部31下载动作程序而执行,按照执行结果对机器人10进行控制。另外,机器人控制处理部32在按照动作程序对机器人10进行控制时,在由监视处理部36发出机器人10的动作限制的指令的情况下,按照指令对机器人10进行控制。

图像识别处理部33基于从视觉传感器20得到的监视区域中的测量数据,对与存在于监视区域的人相关的信息即第1信息进行识别。测量数据的一个例子是距离图像或者彩色图像。在一个例子中,图像识别处理部33使用测量数据之中的彩色图像,对人是否存在于监视区域进行判定,在人存在于监视区域的情况下,对人体部位进行识别。人体部位是头、躯干、上腕、前腕、手、大腿、下腿、脚等。图像识别处理部33通过将预先存储有人体部位的数据和测量数据进行对照,从而能够对人体部位进行识别。图像识别处理部33在人存在于监视区域的情况下,使用测量数据之中的距离图像,对识别出的人的位置及姿态,更具体地说对包含与人体部位有关的位置及姿态的信息即第1位置姿态信息和包含人的状态的信息即第1状态信息进行识别。第1位置姿态信息表示由视觉传感器20测量出的测量数据所使用的坐标系即照相机坐标系中的人及人体部位的位置及姿态。第1状态信息是表示人体部位进行了何种动作的信息,在一个例子中,是包含人体部位的移动方向及速度的信息。在停止的情况下,移动方向及速度成为“0”。第1位置姿态信息及第1状态信息包含于第1信息。另外,图像识别处理部33关于机器人10也同样地,可以进一步对与机器人相关的信息即第2信息进行识别。第2信息关于机器人10的部位,包含第2位置姿态信息和第2状态信息,该第2位置姿态信息是包含位置及姿态的信息,该第2状态信息是包含状态的信息即第2状态信息。

人体影响度信息存储部34对表示机器人10和人接触的情况下的向人体的影响程度的信息即人体影响度信息进行存储。人体影响度信息针对每个人体部位对与机器人10接触的情况下的向人体施加的影响度进行规定。图2是表示人体影响度信息的一个例子的图。人体影响度信息在一个例子中,是将人和机器人10的接触状态作为输入数据,将向人体施加的影响度作为输出数据的信息。在图2的例子中,输入数据具有人的接触部位、人的状态、机器人10的接触部位及机器人10的状态的项目。此外,图2的输入数据的项目是一个例子,并不限定于这些。输出数据具有向人体施加的影响度的项目。构成输入数据的各项目是根据通过图像识别处理部33进行的识别处理的结果和通过监视处理部36进行的确定处理的结果而得到的信息。向人体施加的影响度的一个例子是向人体赋予的冲击程度、人体的负伤或者损伤程度。例如在对人体施加损伤的情况下,向人体施加的影响度设为“高”,在没有对人体施加损伤的情况下,向人体施加的影响度设为“低”。在图2的例子中,在人的接触部位为“头”、人的状态为“移动中”、机器人10的接触部位为“全部部位”、机器人10的状态为“移动速度>0.0m/s”的情况下,向人体施加的影响度成为“高”。人体影响度信息在一个例子中,是ISO/TS(International Organization for Standardization/TechnicalSpecifications)15066:2016的表A.2所示的“Biomechanical limits”。

周边物体数据存储部35对包含与存在于监视区域的机器人10和机器人10以外的物体即周边物体有关的3维的配置状态的信息即周边物体数据进行存储。周边物体数据包含表示物体的形状及大小的3维CAD(Computer-Aided Design)数据和表示物体所设置的位置及姿态的位置姿态数据。位置姿态数据在一个例子中,是表示以机器人10的安置位置为基准的位置及姿态的数据。周边物体数据是能够对监视区域中的包含机器人10在内的物体的配置状态通过3维进行再现的数据。周边物体数据使用周边物体数据所使用的坐标系即机器人坐标系进行表现。

监视处理部36使用图像识别处理部33中的识别结果,考虑人和机器人10之间的距离、有无接触的可能性及接触时的影响度,在机器人10有可能对人施加影响的情况下,将对机器人10的动作进行限制的指令输出至机器人控制处理部32。以下对具体的各处理进行说明。

监视处理部36基于图像识别处理部33中的识别结果,对人和机器人10之间的距离即测量距离进行测量。监视处理部36对测量距离是否是通过机器人10的动作而机器人10和人不接触的距离即非接触距离进行判定。非接触距离是从动作停止数据取得的,该动作停止数据是表示在从被视觉传感器20拍摄到的时刻起为了使机器人10停止而在哪个方向需要多长的距离的数据。由此,监视处理部36对还包含直至机器人10停止为止惯性移动的距离在内的人和机器人10之间的测量距离进行测量。监视处理部36在测量距离为非接触距离的情况下,不进行针对机器人10的限制,使现状的运转继续。监视处理部36在测量距离不是非接触距离的情况下,将进行变更以使得机器人10的动作速度变慢的指令发送至机器人控制处理部32。

监视处理部36在测量距离不是非接触距离的情况下,即在是人和机器人10有可能接触的距离的情况下,对是否是机器人10与人接触的动作进行判定。在一个例子中,监视处理部36根据图像识别处理部33中的识别结果即人的第1信息和机器人10的第2信息对机器人10是否与人接触进行判定。如上所述,第1信息包含人体部位的第1位置姿态信息及第1状态信息,第2信息包含机器人10的部位的第2位置姿态信息及第2状态信息。另外,监视处理部36在机器人10与人接触的情况下,根据人体部位的预测出的动作和机器人10的预测出的动作,对机器人10和人体部位的接触部位及接触的状态进行预测。在一个例子中,监视处理部36对包含接触的人体部位及机器人10的部位以及姿态在内的接触时位置姿态信息和接触的人体部位及机器人10的状态即接触时状态信息进行确定。接触时位置姿态信息在一个例子中,包含与机器人10接触的人体部位及接触角度和与人接触的机器人10的部位及接触角度。接触时状态信息包含在接触时人体及机器人10的部位的移动方向及速度。在接触时状态信息中移动方向及速度都为“0”的情况下示出了停止的情况。

在对机器人10与人接触的动作进行判定时,机器人10的部位的第2位置姿态信息及第2状态信息也可以不是图像识别处理部33中的识别结果,而是使用机器人控制处理部32按照动作程序使机器人10动作的仿真的结果。监视处理部36在机器人10不与人接触的情况下,在进行针对机器人10的动作的限制的情况下使动作继续。

监视处理部36在机器人10与人接触的情况下,根据确定出的机器人10及人接触的部位和状态,参照人体影响度信息存储部34的人体影响度信息,对向人体施加的影响度进行提取。即,监视处理部36对与接触时位置姿态信息及接触时状态信息的组合相对应的人体影响度信息进行提取。而且,监视处理部36与所取得的向人体施加的影响度相应地将机器人10的动作的指令输出至机器人控制处理部32。在一个例子中,监视处理部36在向人体施加的影响度高的情况下,将进一步对机器人10的动作进行限制的指令发送至机器人控制处理部32。机器人10的动作的限制的一个例子是机器人10的停止、机器人10向远离人的方向的动作等。

另外,监视处理部36在机器人10和人的接触向人体施加的影响度不高的情况下,基于表示监视区域中的机器人10及周边物体的3维的配置状态的周边物体数据和从图像识别处理部33得到的第1信息,对人向机器人10和周边物体之间夹入的可能性进行判定,对是否需要机器人10的动作的进一步限制或者警告音的输出进行判定。关于人向机器人10和周边物体之间夹入的可能性,是监视处理部36在包含监视区域中的机器人10及周边物体的位置、形状及大小的周边物体数据上基于第1信息而追加人的位置信息,基于第1信息对人和机器人10的动作进行预测而进行的。另外,监视处理部36不仅包含第1信息,还包含第2信息,可以对人向机器人10和周边物体之间夹入的可能性进行判定。在该情况下,监视处理部36根据包含第2位置姿态信息及第2状态信息在内的第2信息对机器人10的动作进行预测。

具体地说,监视处理部36将由图像识别处理部33识别出的照相机坐标系的人的位置信息,即人体的各部位的位置信息追加至机器人坐标系的周边物体数据上,对人的动作及机器人10的动作进行仿真,对是否发生人向机器人10和周边物体之间夹入进行判定。此时,事先实施照相机坐标系和机器人坐标系的校准。由此,对照相机坐标系和机器人坐标系的坐标变换矩阵进行计算。通过使用该坐标变换矩阵,从而能够将由视觉传感器20识别出的照相机坐标系中的人的位置变换为机器人坐标系。另外,关于周边物体的位置及姿态,也使用以机器人10为基准的坐标进行表示。因此,监视处理部36能够通过机器人坐标系而掌握机器人10、周边物体和人之间的位置关系,根据该位置关系对人是否处于夹入的位置进行判定。人的动作的仿真能够基于第1信息进行。另外,机器人10的动作的仿真能够使用动作程序或者基于第2信息进行。

监视处理部36在人不可能夹入的情况下,在进行针对机器人10的动作的限制的情况下使动作继续。即,监视处理部36不进行进一步的动作限制。另外,监视处理部36在人有可能夹入的情况下,将对机器人10的停止、机器人10向远离人的方向的动作等机器人10的动作进行限制的指令输出至机器人控制处理部32,或发出警告音。

接下来,对具有如上所述的结构的机器人系统1中的机器人控制装置30的动作进行说明。图3及图4是表示实施方式1所涉及的机器人控制方法的顺序的一个例子的流程图。此外,在这里,对以人存在于监视区域内为前提的处理进行说明。

首先,视觉传感器20对监视区域进行拍摄,将拍摄到的数据作为测量数据而发送至机器人控制装置30。机器人控制装置30的图像识别处理部33根据接收到的测量数据,对存在于监视区域的人的人体部位的第1位置姿态信息及第1状态信息进行识别(步骤S11)。第1位置姿态信息是包含人体部位的位置和姿态的信息,第1状态信息是包含人体部位的状态的信息。接下来,监视处理部36使用由图像识别处理部33识别出的人体部位的第1位置姿态信息及第1状态信息,对识别出的人和机器人10之间的测量距离进行测量(步骤S12)。

然后,监视处理部36对测量距离是否是人和机器人10不接触的非接触距离进行判定(步骤S13)。在一个例子中,非接触距离是从被视觉传感器20拍摄到的状态起,机器人10接收停止信号,直至机器人10停止为止移动的距离。在测量距离大于非接触距离的情况下,机器人10不与人接触,在测量距离小于非接触距离的情况下,机器人10有可能与人接触。

在测量距离大于非接触距离的情况下(在步骤S13为Yes的情况下),机器人10不可能与人接触,因此监视处理部36不限制机器人10的动作,继续当前的动作程序下的动作,处理结束。

另外,在测量距离小于非接触距离的情况下(在步骤S13为No的情况下),监视处理部36将对机器人10的动作速度进行变更的指令输出至机器人控制处理部32(步骤S14)。机器人控制处理部32如果接收到指令,则按照指令对机器人10的动作速度进行变更(步骤S15)。具体地说,监视处理部36为了使机器人10的动作速度减速而对机器人控制处理部32输出减速指令。减速指令所包含的机器人10的动作速度是即使机器人10与人接触,通过接触的部位也几乎不对人体施加影响的程度的动作速度,在一个例子中为0.25m/s。

接下来,监视处理部36使用图像识别处理部33中的识别结果,对机器人10的动作是否可能与人接触进行判定(步骤S16)。在一个例子中,在步骤S11中图像识别处理部33对机器人10的部位的第2位置姿态信息及第2状态信息进行识别,使用人体部位的第1位置姿态信息及第1状态信息和机器人10的部位的第2位置姿态信息及第2状态信息对人及机器人10的动作进行预测,对机器人10和人接触的可能性进行判定。或者在其他例中,将按照动作程序使机器人10动作的仿真和使用人体部位的第1位置姿态信息及第1状态信息进行的预测组合而对机器人10和人接触的可能性进行判定。

在判定为机器人10的动作不可能与人接触的情况下(在步骤S16为No的情况下),监视处理部36在维持通过步骤S15变更后的机器人10的动作速度的状态下,使机器人10的动作继续,处理结束。另外,在判定为机器人10的动作有可能与人接触的情况下(在步骤S16为Yes的情况下),监视处理部36使用图像识别处理部33中的识别结果对机器人10及人体部位的接触时位置姿态信息进行确定(步骤S17)。另外,监视处理部36使用图像识别处理部33中的识别结果而取得机器人10及人体的接触时状态信息(步骤S18)。人体的接触时状态信息的一个例子是头的朝向和移动速度、肩的朝向和移动速度等。同样地,机器人10的接触时状态信息的一个例子是臂前端部的朝向和移动速度等。

然后,监视处理部36从机器人10及人体的接触时位置姿态信息和接触时状态信息,参照人体影响度信息而取得向人体施加的影响度(步骤S19)。具体地说,监视处理部36将机器人10及人体的接触时位置姿态信息和接触时状态信息的组合作为输入数据,从人体影响度信息取得与输入数据相对应的向人体施加的影响度即输出数据。监视处理部36对向人体施加的影响度是否高于预先确定的基准值进行判定(步骤S20)。在向人体施加的影响度高于基准值的情况下,针对人体的损伤等的影响大,在向人体施加的影响度小于或等于基准值的情况下,针对人体的损伤等的影响轻微。向人体施加的影响度与机器人10所接触的人体部位是否是要害及机器人10的动作速度、可能接触的人体部位、位置、状态等信息相关联。

在向人体施加的影响度小于或等于基准值的情况下(在步骤S20的No的情况下),监视处理部36将由图像识别处理部33识别出的人的位置信息追加至周边物体数据(步骤S21),在包含周边物体的环境下对机器人10及人的动作进行预测(步骤S22)。监视处理部36在一个例子中,使用周边物体数据对机器人10和人的动作进行仿真。此时,能够使用机器人10以及人体的接触时位置姿态信息及接触时状态信息、动作程序等。

监视处理部36根据预测的结果、人、机器人10和周边物体这3个之间的关系性,对人是否有可能向机器人10和周边物体之间夹入进行判定(步骤S23)。图5是表示人、机器人和周边物体之间的关系的图。在该图中,示出了机器人10和作为周边物体的作业台510之间的区域成为有可能夹入区域R1,在有可能夹入区域R1存在人500的手501的情况。在如上所述的情况下,判定为在机器人10和作业台510之间有可能夹入人500的手501。

在人有可能向机器人10和周边物体之间夹入的情况下(在步骤S23为Yes的情况下),或者在步骤S20中向人体施加的影响度高于基准值的情况下(在步骤S20的Yes的情况下),监视处理部36将对机器人10的动作进行限制以使得人和机器人10不接触的指令向机器人控制处理部32输出(步骤S24)。机器人控制处理部32如果接收到指令,则基于指令对机器人10的动作进行限制(步骤S25)。在机器人10的动作的限制中存在机器人10的动作的停止、进一步的减速、机器人10向远离人的方向的动作等。此外,在步骤S24、S25中,示出了监视处理部36将对机器人10的动作进行限制的指令向机器人控制处理部32输出,机器人控制处理部32对机器人10的动作进行限制的情况,但在步骤S24中,监视处理部36也可以输出警告音。以上,处理结束。

在人不可能向机器人10和周边物体之间夹入的情况下(在步骤S23为No的情况下),识别为向人体的影响不那么大,将机器人10的动作维持现状不变而处理结束。

根据实施方式1的机器人控制装置30,在图像识别处理部33中使用来自视觉传感器20的测定数据,取得存在于监视区域的人的人体部位的第1位置姿态信息及第1状态信息。监视处理部36在包含与机器人10和周边物体有关的3维的配置状态、形状及大小在内的周边物体数据中加入人的位置,对人及机器人10的动作进行预测,对人是否有可能向机器人10和周边物体之间夹入进行判定。在人有可能向机器人10和周边物体之间夹入的情况下,将对机器人10的动作进行限制以使得人不向机器人10和周边物体之间夹入的指令输出至机器人控制处理部32。由此,即使在由机器人10引起的向人接触的影响度小的情况下,也能够抑制在机器人10和周边物体之间通过机器人10的动作的继续而将人夹入,增大向人体施加的影响度的可能性。另外,不会由于机器人10向人的接触而对人施加重大的伤害,因此能够在与人接近的距离使用,能够实现通用性高的机器人10。

实施方式2.

以往未提出下述技术,即,在对机器人10和周边物体进行配置的区域存在人的情况下,一边减少机器人10与人接触的可能性及人向机器人10和周边物体之间夹入的可能性,一边尽可能缩短直至目标位置为止的机器人10的动作路径。在实施方式2中,对能够一边减少机器人10与人接触的可能性及人向机器人10和周边物体之间夹入的可能性,一边尽可能缩短直至目标位置为止的机器人10的动作路径的机器人控制装置进行说明。

图6是表示包含实施方式2所涉及的机器人控制装置在内的机器人系统的结构的一个例子的框图。此外,对与实施方式1相同的结构要素标注同一标号而省略其说明。机器人控制装置30在实施方式1的结构中还具有人分析处理部37、访问频率对应图存储部38、学习装置39、训练好的模型存储部40和推断装置41。

人分析处理部37根据图像识别处理部33中的识别结果,生成表示预先确定的期间中的监视区域内的人的访问状况的信息即访问频率对应图。图7是用于对访问频率对应图的生成方法进行说明的图。在图7中示出了通过视觉传感器20拍摄到的监视区域的图像数据600。在这里,示出了从上方拍摄到监视区域的图像数据600。监视区域的图像数据600被分割为矩形形状的多个小区域601。在图7的图像数据600中,大致下半部是对机器人10及周边物体520进行配置的区域,大致上半部是人500能够移动的区域610。另外,以机器人10的位置为中心的圆状的区域是机器人10的部位能够动作的范围即机器人动作区域620。

在初始状态下,各小区域601的访问频率为0。人分析处理部37对通过图像识别处理部33识别出的人500的位置属于哪个小区域601进行判定,在人500所属的小区域601的访问频率中加“1”。人分析处理部37关于预先确定的期间而进行该处理,由此生成访问频率对应图。

图8是表示访问频率对应图的一个例子的图。在图8中,设为根据图7的监视区域的图像数据600而生成访问频率对应图。如图8所示,通过进行上述处理,从而表示出人500属于各小区域601的频率。通过参照访问频率对应图,从而能够知晓在监视区域中人500存在于哪个位置的可能性高。

访问频率对应图存储部38对由人分析处理部37生成的监视区域中的访问频率对应图进行存储。访问频率对应图是为了进行机器学习而准备的数据。

学习装置39生成训练好的模型,该训练好的模型对基于机器人10的动作路径和人500、机器人10及周边物体520的状态对机器人10的动作减速或者停止进行抑制,且对机器人10向人500的接触及人500向机器人10和周边物体520之间夹入进行抑制的机器人10的动作路径进行学习。

训练好的模型存储部40对通过学习装置39学习后的训练好的模型进行存储。

推断装置41向在训练好的模型存储部40中存储的训练好的模型中输入机器人10的目标位置和机器人10、人500及周边物体520的状态,由此对适于机器人10、人500及周边物体520的状态的机器人10的动作路径进行推断。

下面,对学习装置39中的学习和推断装置41中的推断详细地进行说明。

<学习阶段>

图9是表示实施方式2所涉及的机器人控制装置中的学习装置的结构的一个例子的框图。学习装置39具有数据取得部391和模型生成部392。

数据取得部391取得机器人10的动作路径和表示人500、机器人10及周边物体的状态的状态数据而作为学习用数据。状态数据包含人500的第1信息、机器人10的目标位置及第2信息以及周边物体数据。在这里,对第1信息是第1位置姿态信息、第2信息是第2位置姿态信息的情况进行说明。机器人10的动作路径及目标位置能够通过对动作程序进行仿真而获得。机器人10的动作路径是人500、机器人10及周边物体520的状态即人500的第1位置姿态信息、机器人10的目标位置及第2位置姿态信息及周边物体数据的组合中的动作路径。

模型生成部392对基于包含机器人10的动作路径和状态数据在内的学习用数据,对从机器人10、人500及周边物体520的状态起机器人10的动作减速或者停止进行抑制,且对机器人10向人500的接触及人500向机器人10和周边物体520之间夹入进行了抑制的机器人10的动作路径进行学习。即,生成训练好的模型,该训练好的模型用于对从人500、机器人10及周边物体520的状态起减少向人500的接触及人500的夹入的可能性的机器人10的动作路径进行推断。

模型生成部392使用的学习算法能够使用有教师学习、无教师学习、强化学习等公知的学习算法。作为一个例子,对应用了强化学习(Reinforcement Learning)的情况进行说明。在强化学习中,某环境内的作为行动主体的智能体对当前的状态即环境的参数进行观测,决定应采取的行动。环境通过智能体的行动而动态地变化,与环境的变化相应地对智能体赋予回报。智能体重复进行而对通过一系列的行动得到最多回报的行动方针进行学习。作为强化学习的代表方法,已知Q学习(Q-learning)、TD学习(TD-learning)等。例如,在Q学习的情况下,行动价值函数Q(s,a)的一般性的更新式通过下面的式(1)表示。

【式1】

在式(1)中,s

通过式(1)表示的更新式是如果时刻t+1的Q值最高的行动a的行动价值Q大于在时刻t执行的行动a的行动价值Q,则增大行动价值Q,在相反的情况下,减小行动价值Q。换言之,以使时刻t的行动a的行动价值Q接近时刻t+1的最好的行动价值的方式对行动价值函数Q(s,a)进行更新。由此,某环境中的最好的行动价值Q不断依次传播为其以前的环境中的行动价值Q。

如上述所示,在通过强化学习而生成训练好的模型的情况下,模型生成部392具有回报计算部393和函数更新部394。

回报计算部393基于机器人10的动作路径、人500、机器人10及周边物体520的状态对回报进行计算。回报计算部393基于机器人10的动作时间、机器人10与人500接触的情况下的向人体施加的影响度和机器人动作区域620内的人500的访问频率之中的至少1个回报基准对回报r进行计算。机器人10的动作时间在一个例子中,是从某位置A向作为目标位置的其他位置B移动为止所花费的时间。机器人10的动作时间越短,则生产率变得越高,因此优选动作时间短。作为缩短动作时间的方法,想到提高机器人10的动作速度的方法、缩短机器人10的动作路径的方法。

例如,在机器人10的动作时间减少的情况下,在向接触时的人体施加的影响度低的情况下,或者在人500的访问频率低的情况下,回报计算部393使回报r增大。在一个例子中,回报计算部393通过赋予回报的值即“1”,从而使回报r增大。此外,回报的值并不限于“1”。另一方面,在机器人10的动作时间增加的情况下,在向接触时的人体施加的影响度高的情况下,或者在人500的访问频率高的情况下,回报计算部393使回报r减少。在一个例子中,回报计算部393通过赋予回报的值即“-1”,从而使回报r减少。此外,回报的值并不限于“-1”。

另外,作为回报基准,将机器人10的动作时间、机器人10与人500接触的情况下的向人体施加的影响度和机器人动作区域620内的人500的访问频率进行组合,由此能够进行高效的学习。

函数更新部394按照由回报计算部393计算的回报,对用于决定机器人10的动作路径的函数进行更新,输出至训练好的模型存储部40。例如在Q学习的情况下,(1)式所表示的行动价值函数Q(s

训练好的模型存储部40对由函数更新部394更新后的行动价值函数Q(s

接下来,对由学习装置39进行学习的处理进行说明。图10是表示实施方式2所涉及的机器人控制装置所具有的学习装置的学习处理的顺序的一个例子的流程图。

首先,数据取得部391取得机器人10的动作路径和表示人500、机器人10及周边物体520的状态的状态数据而作为学习用数据(步骤S51)。状态数据在一个例子中,包含人500的第1位置姿态信息、机器人10的目标位置及第2位置姿态信息以及周边物体数据。

接下来,模型生成部392基于机器人10的动作路径和表示人500、机器人10及周边物体520的状态的状态数据对回报进行计算,对是否使回报增大进行判定(步骤S52)。具体地说,回报计算部393取得机器人10的动作路径和人500、机器人10及周边物体520的状态,基于机器人10的动作时间、机器人10与人500接触的情况下的向人体施加的影响度及机器人动作区域620内的人500的访问频率之中的至少1个即预先确定的回报基准,对是使回报增加或者使回报减少进行判定。

在通过步骤S52判定为使回报增大的情况下,回报计算部393使回报增大(步骤S53)。另一方面,在通过步骤S52判定为使回报减少的情况下,回报计算部393使回报减少(步骤S54)。

在步骤S53或者S54后,函数更新部394基于由回报计算部393计算出的回报,对训练好的模型存储部40所存储的(1)式表示的行动价值函数Q(s

学习装置39重复执行以上的步骤S51至S55为止的处理,将生成的行动价值函数Q(s

实施方式2所涉及的学习装置39存储于将训练好的模型设置于学习装置39的外部的训练好的模型存储部40,但也可以将训练好的模型存储部40设置于学习装置39的内部。

<有效使用阶段>

图11是表示实施方式2所涉及的机器人控制装置中的推断装置的结构的一个例子的框图。推断装置41具有数据取得部411和推断部412。

数据取得部411取得表示人500、机器人10及周边物体520的状态的状态数据。状态数据在一个例子中,包含人500的第1位置姿态信息、机器人10的目标位置及第2位置姿态信息以及周边物体数据。

推断部412利用训练好的模型对机器人10的动作路径进行推断。即,通过对该训练好的模型输入由数据取得部411取得的状态数据即人500、机器人10及周边物体520的状态,从而能够对机器人10的动作路径,更具体地说对适于人500、机器人10及周边物体520的状态的机器人10的动作路径进行推断。

此外,在这里,对使用机器人控制装置30的学习装置39的模型生成部392学习后的训练好的模型而输出机器人10的动作路径进行了说明,但也可以从其他机器人系统1取得训练好的模型,基于该训练好的模型对机器人10的动作路径进行输出。

接下来,对推断装置41用于得到机器人10的动作路径的处理进行说明。图12是表示实施方式2所涉及的机器人控制装置所具有的推断装置的推断处理的顺序的一个例子的流程图。

首先,数据取得部411取得表示人500、机器人10及周边物体520的状态的状态数据而作为推断用数据(步骤S71)。

接下来,推断部412对在训练好的模型存储部40中存储的训练好的模型输入作为推断用数据的状态数据,即人500、机器人10及周边物体520的状态(步骤S72),得到机器人10的动作路径。然后,推断部412将数据即得到的机器人10的动作路径输出至机器人控制处理部32(步骤S73)。

而且,机器人控制处理部32使用输出的机器人10的动作路径对机器人10进行控制(步骤S74)。由此,对机器人10的动作减速或者停止进行抑制,且向人体施加的影响度减少,能够进行兼顾向人500的人体施加的影响度及人500的夹入的抑制和机器人10的运转率的提高的机器人10的控制,能够实现通用性高的机器人系统1。

此外,在实施方式2中,对在推断部412所使用的学习算法中应用强化学习的情况进行了说明,但并不限定于此。关于学习算法,除了强化学习以外,也能够应用有教师学习、无教师学习或者有半教师学习等。

另外,作为在模型生成部392中使用的学习算法,也能够使用对特征量本身的提取进行学习的深层学习(Deep Learning),也可以按照其他公知的方法例如神经网络、遗传编程、功能逻辑编程、支持向量机等执行机器学习。

此外,在图6中示出了学习装置39及推断装置41内置于机器人控制装置30的情况,但学习装置39及推断装置41例如也可以经由网络而与机器人控制装置30连接,是与该机器人控制装置30分体的装置。另外,学习装置39及推断装置41也可以存在于云服务器上。

并且,模型生成部392可以使用从多个机器人控制装置30取得的学习用数据对机器人10的动作路径进行学习。此外,模型生成部392也可以从在同一区域使用的多个机器人控制装置30取得学习用数据,也可以利用从在不同的区域独立地动作的多个机器人控制装置30收集的学习用数据而对机器人10的动作路径进行学习。另外,也能够将对学习用数据进行收集的机器人控制装置30在中途追加至对象,或者从对象去除。并且,可以将关于某机器人控制装置30对机器人10的动作路径进行学习后的学习装置39应用于其他机器人控制装置30,关于该其他机器人控制装置30对机器人10的动作路径进行再学习而更新。

在实施方式2中,学习装置39对基于包含机器人10的动作路径和状态数据在内的学习用数据对从人500、机器人10及周边物体520的状态起机器人10的动作减速或者停止进行抑制,且对向人500的接触及人500的夹入进行了抑制的机器人10的动作路径进行学习。由此,具有下述效果,即,能够学习对从人500、机器人10及周边物体520的状态起机器人10的动作减速或者停止进行抑制,且减少向人体施加的影响度的机器人10的动作路径。

另外,在实施方式2中,推断装置41使用训练好的模型,对从人500、机器人10及周边物体520的状态起机器人10的动作减速或者停止进行抑制,且对减少向人体施加的影响度的机器人10的动作路径进行推断,输出至机器人控制处理部32。由此,能够实现兼顾向人体施加的影响度的减少和机器人10的可动率的提高的通用性高的机器人系统1。

在这里,对图1及图6所示的机器人控制装置30的硬件结构进行说明。图13是表示实施方式1、2所涉及的机器人控制装置30的硬件结构的一个例子的框图。

机器人控制装置30能够通过包含运算装置301及存储装置302的硬件结构而实现。运算装置301的例子是CPU(也称为Central Processing Unit、中央处理装置、处理装置、微处理器、微型计算机、处理器、DSP(Digital Signal Processor))或者系统LSI(LargeScale Integration)。存储装置302的例子是RAM(Random Access Memory)或者ROM(ReadOnly Memory)。

机器人控制装置30是通过由运算装置301将存储装置302所存储的用于执行机器人控制装置30的动作的程序读出并执行而实现的。另外,该程序可以说使计算机执行机器人控制装置30的顺序或者方法,在一个例子中,使计算机执行图3及图4所示的机器人控制方法。

存储装置302对动作程序、人体影响度信息、周边物体数据、访问频率对应图及训练好的模型进行存储。存储装置302还作为由运算装置301执行各种处理时的暂时存储器被使用。

由运算装置301执行的程序可以通过可安装的形式或者可执行的形式的文件存储于计算机可读取的存储介质而作为计算机程序产品提供。另外,由运算装置301执行的程序也可以经由互联网等网络而提供给机器人控制装置30。

另外,机器人控制装置30可以通过专用的硬件实现。另外,关于机器人控制装置30的功能,可以将一部分通过专用的硬件实现,将一部分通过软件或者固件实现。

以上的实施方式所示的结构表示一个例子,也能够与其他公知技术组合,也能够将实施方式彼此组合,在不脱离主旨的范围也能够将结构的一部分省略、变更。

标号的说明

1机器人系统,10机器人,20视觉传感器,30机器人控制装置,31动作程序存储部,32机器人控制处理部,33图像识别处理部,34人体影响度信息存储部,35周边物体数据存储部,36监视处理部,37人分析处理部,38访问频率对应图存储部,39学习装置,40训练好的模型存储部,41推断装置,391、411数据取得部,392模型生成部,393回报计算部,394函数更新部,412推断部,500人,501手,510作业台,520周边物体,600图像数据,601小区域,620机器人动作区域。

技术分类

06120116570955