一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储介质、以及生成机器人的控制程序的方法及系统与流程

2022-06-30 03:16:43 来源:中国专利 TAG:


1.本公开涉及使处理器执行生成机器人的控制程序的处理的计算机程序、以及生成机器人的控制程序的方法及系统。


背景技术:

2.在专利文献1中公开了生成机器人的示教数据的技术。在该现有技术中,使用相机获取包括作业者的手的示教图像,基于该示教图像确定手指的各关节及指尖的位置即手指坐标,并基于手指坐标对机械臂110的动作进行示教。
3.专利文献1:日本特开2011-110621号公报
4.但是,在现有技术中,即使在不把持或放开对象物时也始终进行手指的识别,因此存在其处理负荷大的问题。


技术实现要素:

5.根据本公开的第一实施方式,提供一种存储介质,其特征在于,存储有计算机程序,所述计算机程序使处理器执行生成机器人的控制程序的处理,所述计算机程序使所述处理器执行:第一处理,根据由摄像装置拍摄的一个以上的作业者动作的图像,来识别所述作业者动作,其中,所述作业者动作包括作业者使用手臂和手指操作工件的作业中的作业者动作;第二处理,在所述作业者动作包括伴随所述手指的关节的移动的特定手指动作的情况下,根据由所述摄像装置拍摄的所述手指的图像,来识别所述特定手指动作中的手指位置;第三处理,根据由所述摄像装置拍摄的所述工件的图像,来识别所述作业后的所述工件的位置;以及第四处理,使用在所述第一处理中识别出的所述作业者动作、在所述第二处理中识别出的所述手指位置和在所述第三处理中识别出的所述工件的位置,来生成所述机器人的控制程序。
6.根据本公开的第二实施方式,提供一种生成机器人的控制程序的方法,其特征在于,包括:第一工序,根据由摄像装置拍摄的一个以上的作业者动作的图像,来识别所述作业者动作,其中,所述作业者动作包括作业者使用手臂和手指操作工件的作业中的作业者动作;第二工序,在所述作业者动作包括伴随所述手指的关节的移动的特定手指动作的情况下,根据由所述摄像装置拍摄的所述手指的图像,来识别所述特定手指动作中的手指位置;第三工序,根据由所述摄像装置拍摄的所述工件的图像,来识别所述作业后的所述工件的位置;以及第四工序,使用在所述第一工序中识别出的所述作业者动作、在所述第二工序中识别出的所述手指位置和在所述第三工序中识别出的所述工件的位置,来生成所述机器人的控制程序。
7.根据本公开的第三实施方式,提供一种执行生成机器人的控制程序的处理的系统,其特征在于,具备:信息处理装置,具有处理器;摄像装置,与所述信息处理装置连接,所述处理器执行:第一处理,根据由所述摄像装置拍摄的一个以上的作业者动作的图像,来识别所述作业者动作,其中,所述作业者动作包括作业者使用手臂和手指操作工件的作业中
的作业者动作;第二处理,在所述作业者动作包括伴随所述手指的关节的移动的特定手指动作的情况下,根据由所述摄像装置拍摄的所述手指的图像,来识别所述特定手指动作中的手指位置;第三处理,根据由所述摄像装置拍摄的所述工件的图像,来识别所述作业后的所述工件的位置;以及第四处理,使用在所述第一处理中识别出的所述作业者动作、在所述第二处理中识别出的所述手指位置和在所述第三处理中识别出的所述工件的位置,来生成所述机器人的控制程序。
附图说明
8.图1是实施方式中的机器人系统的说明图。
9.图2是信息处理装置的功能框图。
10.图3是示出控制程序生成处理的步骤的流程图。
11.图4是示出拍摄的第一作业区域内的工件的图像帧的例子的说明图。
12.图5是示出工件的识别结果的说明图。
13.图6是示出拍摄的作业者动作的图像帧的例子的说明图。
14.图7是示出作业者动作的识别结果的说明图。
15.图8是示出步骤s40的详细步骤的流程图。
16.图9是示出识别手指位置的样子的说明图。
17.图10是示出成为识别对象的手指位置的说明图。
18.图11是示出手指位置的识别结果的说明图。
19.图12是示出作业记述列表的说明图。
20.符号说明
21.100

机器人;210

第一相机(摄像装置);220

第二相机(摄像装置);230

第三相机(摄像装置);300

信息处理装置;310

处理器;311

物体识别部;312

动作识别部;313

手指位置识别部;314

作业记述列表生成部;315

控制程序生成部;320

存储器;330

接口电路;340

输入设备;350

显示部。
具体实施方式
22.图1是示出一实施方式所涉及的机器人系统的一例的说明图。该机器人系统具备机器人100、第一相机210、第二相机220、第三相机230及具有控制机器人100的功能的信息处理装置300。信息处理装置300例如是个人计算机。
23.机器人100是具有多个关节的多轴机器人。但是,作为机器人100,可以使用具有任意的臂机构的机器人,该臂机构具有一个以上的关节。另外,本实施方式的机器人100是垂直多关节机器人,但也可以使用水平多关节机器人。在本实施方式中,机器人100的末端执行器是能够保持工件的夹具,但能够使用任意的末端执行器。
24.在图1的机器人系统中,设定有作业者tp进行示教作业的第一作业区域wa1和机器人100执行作业的第二作业区域wa2。作业者tp也称为“示教者”。第一作业区域wa1可以由第一相机210拍摄。第二作业区域wa2可以由第二相机220拍摄。优选第一作业区域wa1与第一相机210之间的相对位置设定为与第二作业区域wa2与第二相机220之间的相对位置相同。需要说明的是,第一作业区域wa1与第二作业区域wa2也可以是相同的区域。
25.在第一作业区域wa1中设置有用于拍摄作业者tp的手指或工件的第三相机230。优选第三相机230设置在比第一相机210更靠近第一作业区域wa1的位置,以能够比第一相机210更靠近手指或工件进行拍摄。如果使用由第三相机230拍摄的图像来识别手指或工件的位置,则相比仅使用第一相机210的情况,能够更正确地识别手指或工件的位置。但是,也可以省略第三相机230。
26.第一作业区域wa1包括第一供给区域sa1和第一目标区域ta1。第一供给区域sa1是在示教作业开始时配置工件wk1的区域。第一目标区域ta1是通过作为示教作业的作业者tp的操作使工件wk1从第一供给区域sa1移动而配置工件wk1的区域。第一作业区域wa1内的第一供给区域sa1及第一目标区域ta1的形状和位置能够任意设定。
27.第二作业区域wa2具有与第一作业区域wa1相同的形状,包括具有分别与第一供给区域sa1及第一目标区域ta1相同的形状的第二供给区域sa2及第二目标区域ta2。第二供给区域sa2是在机器人100的作业开始时配置工件wk2的区域。第二目标区域ta2是通过机器人100的作业使工件wk2从第二供给区域sa2移动而配置工件wk2的区域。另外,供给区域sa1、sa2和目标区域ta1、ta2可以分别使用托盘实现,或者也可以在地面或架台上用线描绘各个区域sa1、sa2、ta1、ta2。另外,也可以不明确地划分供给区域sa1、sa2和目标区域ta1、ta2。
28.成为第一作业区域wa1中的作业对象的工件wk1和成为第二作业区域wa2中的作业对象的工件wk2是基于相同设计的同种物体。但是,为了容易理解与各个作业区域wa1、wa2的对应关系,以下将它们称为“第一工件wk1”、“第二工件wk2”。
29.在图1中,描绘了对机器人100设定的机器人坐标系∑r、对第一相机210设定的第一相机坐标系∑c1、对第二相机220设定的第二相机坐标系∑c2及对第三相机230设定的第三相机坐标系∑c3。这些坐标系∑r、∑c1、∑c2、∑c3都是由三个轴x、y、z规定的正交坐标系。通过校准来确定这些坐标系∑r、∑c1、∑c2、∑c3的对应关系。
30.第一作业区域wa1中的工件wk1的位置姿态或作业者tp的动作由信息处理装置300根据由第一相机210或第三相机230拍摄的第一作业区域wa1的图像来识别。另外,第二作业区域wa2中的工件wk2的位置姿态由信息处理装置300根据由第二相机220拍摄的第二作业区域wa2的图像来识别。作为相机210、220、230,使用能够将被摄体作为动画或多个图像帧进行拍摄的相机。另外,作为相机210、220、230,优选使用能够三维地识别被摄体的相机。作为这样的相机,例如也可以使用立体相机、能够同时拍摄彩色图像和深度图像的rgbd相机。如果使用rgdb相机,则也可以使用深度图像来识别障碍物的形状。相机210、220、230相当于本公开中的“摄像装置”。
31.图2是示出信息处理装置300的功能的框图。信息处理装置300具有处理器310、存储器320、接口电路330、与接口电路330连接的输入设备340及显示部350。接口电路330进一步与相机210、220、230连接。
32.处理器310具有物体识别部311、动作识别部312、手指位置识别部313、作业记述列表生成部314及控制程序生成部315的功能。物体识别部311根据由第一相机210或第三相机230拍摄的图像来识别第一工件wk1,另外,根据由第二相机220拍摄的图像来识别第二工件wk2。动作识别部312根据由第一相机210拍摄的图像,来识别作业者tp的动作。手指位置识别部313根据由第一相机210或第三相机230拍摄的图像,来识别作业者tp的手指位置。物体识别部311、动作识别部312和手指位置识别部313的识别可以使用基于深度学习的机器学
习模型或特征量提取模型来实现。作业记述列表生成部314使用其他部分的识别结果来生成后述的作业记述列表wdl。控制程序生成部315使用其他部分的识别结果或作业记述列表wdl,来生成机器人100的控制程序。这些各部分311~315的功能通过处理器310执行存储在存储器320中的计算机程序来实现。但是,也可以使用硬件电路来实现各部分的功能的一部分或全部。
33.在存储器320中存储有机器人特性数据rd、工件属性数据wd、作业记述列表wdl及机器人控制程序rp。机器人特性数据rd包括机器人100的几何结构、关节的可旋转角度、重量及惯性值等特性。工件属性数据wd包括工件wk1、wk2的种类和形状等属性。作业记述列表wdl是表示根据拍摄的作业者tp的动作和工件wk1的动画或多个图像帧识别出的作业内容的数据,是在不依赖于机器人的种类的机器人非依赖坐标系中记述了作业的数据。机器人控制程序rp由使机器人100动作的多个命令构成。机器人控制程序rp例如构成为,对使用机器人100使第二工件wk2从第二供给区域sa2向第二目标区域ta2移动的取放动作进行控制。机器人特性数据rd和工件属性数据wd在后述的控制程序生成处理之前预先准备。作业记述列表wdl和机器人控制程序rp通过控制程序生成处理来生成。
34.图3是示出由处理器310执行的控制程序生成处理的步骤的流程图。控制程序生成处理从作业者tp向信息处理装置300输入了示教作业的开始指示时开始。以下说明的步骤s10~s40相当于作业者tp进行示教的示教作业。但是,在以下的说明中,简称为“作业”这一语句意味着使工件移动的作业。
35.在步骤s10中,使用第一相机210及第三相机230,在作业者用的第一作业区域wa1中拍摄第一工件wk1和作业者tp的动作。在步骤s20中,物体识别部311根据由第一相机210或第三相机230拍摄的图像,来识别存在于第一作业区域wa1中的第一工件wk1。
36.图4是示出拍摄的第一作业区域wa1内的第一工件wk1的图像帧mf001、mf600的例子的说明图。上侧的图像帧mf001是由作业者tp进行的第一工件wk1的移动动作前的图像,下侧的图像帧mf600是由作业者tp进行的第一工件wk1的移动动作后的图像。
37.在移动作业前的图像帧mf001中,在第一供给区域sa1内配置有多个第一工件wk1a、wk1b,在第一目标区域ta1中未配置工件。在该例中,两种第一工件wk1a、wk1b配置在第一供给区域sa1内。需要说明的是,作为第一工件wk1,可以仅使用一种部件,或者也可以将n设为2以上的整数,使用n种部件。在使用n种部件的情况下,工件属性数据wd包括对于n种部件分别表示其种类和形状的数据。物体识别部311参照该工件属性数据wd,根据图像帧mf001识别第一工件wk1a、wk1b的种类和位置姿态。在这些第一工件wk1a、wk1b的周围,描绘有包围各个工件的框线。这些框线的颜色和形状根据识别出的工件的种类而变更。作业者tp通过观察在各工件的周围描绘的框线,能够区分各个工件的种类。但是,这些框线可以省略。在图像帧mf001中,描绘有表示图像帧mf001内的位置的图像坐标系的坐标轴u、v。在移动作业后的图像帧mf600中,多个第一工件wk1a、wk1b从第一供给区域sa1移动到第一目标区域ta1内。物体识别部311也根据该图像帧mf600识别第一工件wk1a、wk1b的种类和位置姿态。
38.图5是示出与第一工件wk1相关的识别结果的说明图。在该识别结果的各个记录中,登记有图像帧编号、工件id、工件类型id、图像坐标点及基准坐标系位置姿态。工件的识别结果是记录按时间序列依次排列的时间序列数据。在图5的例子中,对于移动作业前的图
像帧mf001,登记有两个第一工件wk1a、wk1b的识别结果,对于移动作业后的图像帧mf600,也登记有两个第一工件wk1a、wk1b的识别结果。“工件id”是区分各个工件的标识符。“工件类型id”是表示工件种类的标识符。“图像坐标点”是用图像坐标(u,v)表现各个工件的代表点的值。作为工件的代表点,例如可以使用工件重心点或图4所示的包围工件的框线的左上点等。但是,也可以省略图像坐标点。“基准坐标系位置姿态”是在不依赖于机器人100的机器人非依赖坐标系即基准坐标系中表现工件的位置姿态的值。在本公开中,使用第一相机210的相机坐标系∑c1作为基准坐标系。但是,也可以使用其他坐标系作为基准坐标系。在基准坐标系位置姿态中,表示姿态或旋转的参数θx、θy、θz分别表示绕三个轴的旋转角度。需要说明的是,作为表示姿态或旋转的参数的表现,可以使用表示旋转的旋转矩阵或四元数等任意的表现来代替旋转角度。
39.由物体识别部311进行的工件的识别在作业前、作业后及工件的位置姿态发生变化时执行,其识别结果被作为时间序列数据保存。在作业的过程中,优选仅在工件的位置姿态发生了变化的情况下执行物体识别。如此,能够减轻处理器310的处理负荷,另外,能够降低处理所需的资源。需要说明的是,在机器人控制程序中仅使用作业后的物体的位置的情况下,物体识别部311的物体识别也可以仅在作业后进行。
40.在图3的步骤s30中,动作识别部312根据由第一相机210拍摄的图像,来识别作业者动作。
41.图6是示出拍摄的作业者动作的图像帧的例子的说明图。这里,按时间序列拍摄的多个图像帧的一部分即三个图像帧mf200、mf300、mf400重叠。在图像帧mf200中,作业者tp伸长手臂am而把持第一供给区域sa1内的第一工件wk1a。动作识别部312在该图像帧mf200内设定包围手臂am和第一工件wk1a的边界框bb。在其他图像帧mf300、mf400中也同样。
42.边界框bb例如能够以以下目的使用。
43.(1)使用工件的识别结果和手指位置的识别结果,在图像上进行接触判定。
44.(2)使用工件的识别结果和手指位置的识别结果,在图像上确定把持位置。
45.(3)在图像中描绘边界框bb,表示手臂am被正确识别。
46.图7是示出作业者动作的识别结果的说明图。在该识别结果的各个记录中,对于作业中包括的各个作业者动作,登记有图像帧编号、个体id、动作编号、动作名、边界框bb的左上点位置及右下点位置。作业者动作的识别结果也是记录按时间序列依次排列的时间序列数据。“个体id”是区分手臂am的标识符。例如,在右臂和左臂出现在图像中的情况下,赋予其他个体id。边界框bb的左上点位置及右下点位置表现为作为基准坐标系的相机坐标系∑c1中的位置。
[0047]“动作名”表示该图像帧中的作业者动作的种类。在图7的例子中,在图像帧mf200中识别“拾取”(pick)动作,另外,在图像帧mf300中识别“放置”(place)动作,在图像帧mf400中识别“指示”(pointing)动作。这些动作可以分别通过分析多个连续的图像帧来识别。需要说明的是,“指示”动作意味着使用食指的手指指向动作。“指示”动作能够用于在食指的前端的位置设定示教点,或者将沿食指的多个关节延伸的直线上的工件作为输送对象识别。也可以将上述动作以外的手指的特定动作作为用于指示机器人的特定动作的动作来使用。例如,也可以通过手指的手势来指示工件的把持方法。
[0048]
需要说明的是,通常的作业包括多个作业者动作,因此在步骤s30中识别多个作业
者动作。但是,也可以由一个以上的作业者动作构成作业。因此,在步骤s30中,识别与工件相关的作业中包括的一个以上的作业者动作。
[0049]
步骤s30中的作业者动作的识别处理也可以使用“slowfast networks for video recognition”技术来执行。该技术是使用第一处理结果和第二处理结果来识别动作的技术,该第一处理结果通过将以第一周期从多个图像帧中提取出的第一图像帧组输入到第一神经网络而得到,该第二处理结果通过将以比第一周期长的第二周期从多个图像帧中提取出的第二图像帧组输入到第二神经网络而得到。如果使用这样的技术,则能够更正确地识别作业者动作。
[0050]
在步骤s40中,手指位置识别部313根据由第一相机210或第三相机230拍摄的图像识别手指位置。
[0051]
图8是示出步骤s40的详细步骤的流程图。在步骤s41中,手指位置识别部313读入由第一相机210或第三相机230拍摄的多个图像帧。在步骤s42中,手指位置识别部313根据多个图像帧识别手指的动作。在步骤s43中,判定识别出的手指的动作是否相当于特定手指动作。“特定手指动作”是指伴随手指的关节的移动的动作,是由作业者tp预先指定的动作。作为特定手指动作,例如指定包括手指的把持动作、手指的释放动作、手指的手指指向动作中的一个以上的动作。在本实施方式中,“拾取”动作相当于“手指的把持动作”,“放置”动作相当于“手指的释放动作”,“指示”动作相当于“手指的手指指向动作”。在手指的动作相当于特定手指动作的情况下,在步骤s44中,手指位置识别部313识别手指位置,进入后述的步骤s45。关于手指位置的识别结果,将在后面说明。在手指的动作不相当于特定手指动作的情况下,不执行步骤s44以后的处理而结束图8的处理。换言之,在作业者动作不包括特定手指动作的情况下,不进行识别手指位置的处理。如此,由于仅在作业者动作包括特定手指动作的情况下进行识别手指位置的处理,因此能够减轻处理负荷。
[0052]
在步骤s45中,判定特定手指动作是否为“指示”动作。在不是“指示”动作的情况下,结束图8的处理。另一方面,在特定手指动作是“指示”动作的情况下,在步骤s46中,手指位置识别部313根据多个图像帧推测手指指向方向。在步骤s47中,手指位置识别部313根据多个图像帧确定手指指向对象的工件。在步骤s48中,手指位置识别部313确定手指指向位置作为表示在步骤s47中确定的工件的方向的位置。该手指指向位置被追加登记在手指位置的识别结果中。需要说明的是,也可以省略步骤s45~s48的处理。
[0053]
图9是示出识别手指位置的样子的说明图。这里,在图6所示的图像帧mf200中,在作业者tp的手臂am和手指上确定多个基准点jp。多个基准点jp通过链路jl连接。基准点jp分别设定在手指的前端和关节的位置。这些基准点jp和链路jl是由手指位置识别部313识别出的结果。
[0054]
图10是示出成为识别对象的手指位置的基准点的说明图。这里,作为成为识别对象的手指位置的基准点jp,设定有以下几点。
[0055]
(1)拇指的前端jp10及关节点jp11~jp13
[0056]
(2)食指的前端jp20及关节点jp21~jp23
[0057]
(3)中指的前端jp30及关节点jp31~jp33
[0058]
(4)无名指的前端jp40及关节点jp41~jp43
[0059]
(5)小指的前端jp50及关节点jp51~jp53
[0060]
(6)手腕的关节点jp60
[0061]
这些基准点中的一部分或全部被作为由手指位置识别部313识别出的手指位置使用。为了正确地识别手指位置,优选将上述基准点全部作为识别对象,但从减轻处理负荷的观点出发,优选至少将拇指的前端jp10和食指的前端jp20作为识别对象。
[0062]
图11是示出手指位置的识别结果的说明图。在该识别结果的各个记录中,登记有图像帧编号、个体id、手指位置id、手指名、手指位置的图像坐标点及手指的基准坐标系位置。手指位置的识别结果也是记录按时间序列依次排列的时间序列数据。“个体id”是区分手臂am的标识符。“手指位置id”是区分图10所示的基准点的标识符。作为“手指名”,登记有成为手指位置识别部313的识别对象的特定的手指的名称。这里,拇指(thumb)和食指(index)被作为特定的手指登记。对于拇指(thumb),登记有其前端的基准点jp10,对于食指(index),也登记有其前端的基准点jp20。对于图10中说明的其他基准点,优选也同样地进行登记。手指的图像坐标点及基准坐标系位置表示各个手指位置。但是,也可以省略图像坐标点。
[0063]
需要说明的是,在上述的图8中执行步骤s45~s48,并确定“指示”动作中的手指指向位置的情况下,该手指指向位置被追加登记到手指位置的识别结果中。
[0064]
上述步骤s20~s40的执行顺序可以任意变更。另外,在步骤s30中用于识别作业者动作的图像和在步骤s40中用于识别手指位置的图像也可以是由不同的相机拍摄的图像。如果使用与拍摄作业者动作的相机不同的相机拍摄手指位置,则能够更正确地识别手指位置。进而,在步骤s30中用于识别作业者动作的图像和在步骤s20中用于识别工件的图像也可以是由不同的相机拍摄的图像。如果使用与拍摄作业者动作的相机不同的相机拍摄工件,则能够更正确地识别工件。
[0065]
在图3的步骤s50中,作业记述列表生成部314使用此前的识别结果,来生成作业记述列表wdl。作业记述列表wdl是在不依赖于机器人的种类的机器人非依赖坐标系中记述了作业的时间序列数据。
[0066]
图12是示出作业记述列表wdl的说明图。在作业记述列表wdl的各个记录中,对于作业中包括的各个动作,登记有记录编号、图像帧编号、动作名、工件id、工件位置姿态、臂前端位置姿态及把持位置。“动作名”是各个动作的种类。在图12的例子中,对于同一工件wk1a,“接近”(approach)、“拾取”(拾取)、“避让”(depart)、“接近”(approach)、“放置”(放置)这五个动作依次被登记。“接近”动作和“避让”动作虽然不包括在图7中说明的作业者动作中,但由于作为机器人控制程序的动作命令是必要的动作,因此作为在“拾取”动作或“放置”动作等前后进行的动作,由作业者列表生成部314追加。
[0067]“臂前端位置姿态”是各动作中的机械臂的前端的位置姿态,根据图11所示的手指位置的识别结果计算。“臂前端位置姿态”例如可以如下确定。对于“拾取”动作,根据在该“拾取”动作的识别时的手指位置的识别结果,求出物体与手的指尖接触的位置作为把持位置,进行以基准坐标系为原点的坐标变换。然后,根据该把持位置,作为表示机械臂的前端位置的值而计算出“臂前端位置姿态”。此时,优选考虑工件的姿态来确定臂前端的姿态。最佳的臂前端位置姿态有可能根据实际作业中使用的末端执行器而不同。例如,使用夹具的“拾取”动作或“放置”动作中的臂前端位置姿态可以作为多个把持位置的重心而求出。“接近”动作中的臂前端位置被设定为从其前后的“拾取”动作或“放置”动作中的臂前端位置上
升了规定距离的位置、手指位置从进行“拾取”动作或“放置”动作的位置移动了规定距离时的位置、手指位置从进行“拾取”动作或“放置”动作的时刻移动了规定时间时的位置。“避让”动作中的臂前端位置也同样。
[0068]“把持位置”是各动作中的手指位置,根据图11所示的手指位置的识别结果计算。在图12的例子中,登记有拇指的前端的基准点jp10的位置和食指的前端的基准点jp20的位置。其他基准点也可以同样地进行登记,但优选至少登记有与拇指的前端的基准点jp10和食指的前端的基准点jp20相关的位置。另外,“把持位置”仅在通过手指把持工件,或者释放工件的把持时被登记。在图12的例子中,仅在“拾取”动作和“放置”动作时登记“把持位置”,在“接近”动作或“避让”动作时不登记“把持位置”。
[0069]
作业记述列表wdl中登记的位置姿态全部由作为机器人非依赖坐标系的基准坐标系来表现。该作业记述列表wdl是在机器人非依赖坐标系中记述了作业的列表,因此能够根据该作业记述列表wdl容易地生成适合任意种类的机器人的机器人控制程序。像这样,作业记述列表wdl是以相当于机器人的一个动作的单位分割作业,用一行数据表现一个动作的列表。优选作业记述列表wdl不包括路径计划。换言之,在作业记述列表wdl中,优选仅登记成为从作业者的动作中提取出的机器人动作的起点的中继地点。
[0070]
在图3的步骤s60中,控制程序生成部315接收机器人类型的输入。该机器人类型表示成为生成机器人控制程序的对象的机器人的种类,由作业者tp输入。
[0071]
在步骤s70中,使用第二相机220拍摄机器人用的第二作业区域wa2。在步骤s80中,物体识别部311根据由第二相机220拍摄的图像,来识别存在于第二作业区域wa2内的第二工件wk2。此时,第二工件wk2配置在第二供给区域sa2内,位于移动作业前的位置。
[0072]
在步骤s90中,控制程序生成部315使用在步骤s50中生成的作业记述列表wdl和在步骤s80中识别出的第二工件wk2的位置,来生成与机器人的种类相应的机器人控制程序。此时,作为作业前的工件的位置,使用在步骤s80中识别出的第二工件wk2的位置。另外,作为作业后的工件的位置,使用作业记述列表wdl中登记的作业后的工件的位置。但是,在图1所示的第二供给区域sa2是第二工件wk2的位置不确定的状态的区域的情况下,也可以省略步骤s70、s80,不使用第二工件wk2的位置而生成机器人控制程序。在该情况下,机器人控制程序记述为在执行实际的作业时拾取由第二相机220识别出的工件。另外,在第二供给区域sa2是如送料器那样被拾取的第二工件wk2配置在一定位置的区域的情况下,也可以省略步骤s70、s80,不使用第二工件wk2的位置而生成机器人控制程序。
[0073]
需要说明的是,在机器人控制程序中,作业记述列表wdl中登记的动作被变换为与机器人的种类相应的命令及表现。另外,在机器人控制程序rp中,位置姿态由机器人坐标系∑r来表现,因此在作业记述列表wdl中由基准坐标系∑c1表现的位置姿态通过坐标变换被变换为机器人坐标系∑r。进行基准坐标系∑c1和机器人坐标系∑r的坐标变换的变换矩阵是已知的。
[0074]
为了生成机器人控制程序,也可以预先准备各种机器人用的机器人控制程序语言的命令和作业内容的对应表并登记在存储器320中。在该情况下,控制程序生成部315能够执行如下基于规则的处理:参照该对应表,选择针对作业记述列表wdl中登记的动作的命令,通过将作业记述列表wdl中登记的位置姿态作为参数赋予,从而进行坐标变换。
[0075]
在图12所示的作业记述列表wdl中,作为“把持位置”登记有多个手指的把持位置,
因此在实际使用的末端执行器具有把持工件的多个手指的情况下,能够用机器人控制程序记述这些手指的位置。另外,在实际使用的末端执行器不具有手指,例如是吸附工件的吸附手的情况下,能够不使用“把持位置”,而使用“臂前端位置姿态”来记述该末端执行器的位置姿态。如从这些例子也能够理解的那样,在本实施方式中,在作业记述列表wdl中记述有“臂前端位置姿态”和“把持位置”,因此能够生成适合实际使用的机器人和末端执行器的机器人控制程序。
[0076]
如上所述,在上述实施方式中,在作业者动作包括伴随手指的关节的移动的特定手指动作的情况下识别手指位置,因此相比始终识别手指位置的情况,能够减轻处理负荷。另外,在上述实施方式中,生成在机器人非依赖坐标系中记述作业的作业记述列表wdl,然后,根据该作业记述列表wdl生成适合机器人的种类的机器人控制程序rp,因此能够容易地生成用于使用多种机器人中的任一种来执行作业的控制程序。但是,也可以不生成作业记述列表wdl,而根据作业者动作的识别结果、手指位置的识别结果和工件的识别结果,来生成机器人控制程序rp。
[0077]
另外,在上述实施方式中,虽然对取放作业的例子进行了说明,但是本公开也可以应用于其他作业。例如,本公开可以应用于包括“指示”动作的涂覆作业、螺丝旋转作业、利用锤的打钉作业、工件的插入作业、嵌合作业、装配作业等各种作业。
[0078]
其他实施方式:
[0079]
本公开并不限于上述实施方式,能够在不脱离其宗旨的范围内以各种方式实现。例如,本公开也可以通过以下方式(aspect)来实现。为了解决本公开的问题的一部分或全部,或者为了实现本公开的效果的一部分或全部,与以下记载的各方式中的技术特征对应的上述实施方式中的技术特征可以适当地进行替换或组合。另外,如果该技术特征没有作为本说明书中必须的特征进行说明,则可以适当地删除。
[0080]
(1)根据本公开的第一实施方式,提供一种使处理器执行生成机器人的控制程序的处理的计算机程序。该计算机程序使所述处理器执行:(a)根据由摄像装置拍摄的作业者使用手臂和手指操作工件的作业中所包括的一个以上的作业者动作的图像,来识别所述作业者动作的处理;(b)在所述作业者动作包括伴随所述手指的关节的移动的特定手指动作的情况下,根据由所述摄像装置拍摄的所述手指的图像,来识别所述特定手指动作中的手指位置的处理;(c)根据由所述摄像装置拍摄的所述工件的图像,来识别所述作业后的所述工件的位置的处理;(d)使用在所述处理(a)中识别出的所述作业者动作、在所述处理(b)中识别出的所述手指位置和在所述处理(c)中识别出的所述工件的位置,来生成所述机器人的控制程序的处理。
[0081]
(2)在上述计算机程序中,所述特定手指动作包括所述手指的把持动作、所述手指的释放动作、所述手指的手指指向动作中的一个以上,
[0082]
在所述作业者动作不包括所述特定手指动作的情况下,所述处理(b)也可以不进行识别所述手指位置的处理。
[0083]
根据该计算机程序,由于仅在作业者动作包括特定手指动作的情况下进行识别手指位置的处理,因此能够高速地执行机器人控制程序的生成处理。
[0084]
(3)在上述计算机程序中,所述处理(d)也可以包括:(i)使用所述作业者动作、所述手指位置和所述工件的位置,来生成在不依赖于机器人的种类的机器人非依赖坐标系中
记述所述作业的作业记述列表的处理;(ii)根据由所述控制程序控制的所述机器人的种类,使用所述作业记述列表,来生成所述控制程序的处理。
[0085]
根据该计算机程序,由于生成在机器人非依赖坐标系中记述作业的作业记述列表,然后,根据该作业记述列表生成适合机器人的种类的控制程序,因此能够容易地生成用于使用多种机器人中的任一种来执行作业的机器人控制程序。
[0086]
(4)在上述计算机程序中,所述摄像装置包括多个相机,在所述处理(a)中用于识别所述作业者动作的所述图像和在所述处理(b)中用于识别所述手指位置的所述图像也可以是由不同的相机拍摄的图像。
[0087]
根据该计算机程序,由于使用与拍摄作业者动作的相机不同的相机拍摄手指位置,因此能够更正确地识别手指位置。
[0088]
(5)在上述计算机程序中,所述摄像装置包括多个相机,在所述处理(a)中用于识别所述作业者动作的所述图像和在所述处理(c)中用于识别所述工件的位置的所述图像也可以是由不同的相机拍摄的图像。
[0089]
根据该计算机程序,由于使用与拍摄作业者动作的相机不同的相机拍摄工件,因此能够更正确地识别工件的位置。
[0090]
(6)在上述计算机程序中,由所述摄像装置拍摄的图像包括多个图像帧,所述处理(a)也可以是使用第一处理结果和第二处理结果来识别所述作业者动作的处理,所述第一处理结果通过将以第一周期从所述多个图像帧中提取出的第一图像帧组输入到第一神经网络而得到,所述第二处理结果通过将以比所述第一周期长的第二周期从所述多个图像帧中提取出的第二图像帧组输入到第二神经网络而得到。
[0091]
根据该计算机程序,能够更正确地识别作业者动作。
[0092]
(7)根据本公开的第二实施方式,提供一种生成机器人的控制程序的方法。该方法包括:(a)根据由摄像装置拍摄的作业者使用手臂和手指操作工件的作业中所包括的一个以上的作业者动作的图像,来识别所述作业者动作的工序;(b)在所述作业者动作包括伴随所述手指的关节的移动的特定手指动作的情况下,根据由所述摄像装置拍摄的所述手指的图像,来识别所述特定手指动作中的手指位置的工序;(c)根据由所述摄像装置拍摄的所述工件的图像,来识别所述作业后的所述工件的位置的工序;(d)使用在所述工序(a)中识别出的所述作业者动作、在所述工序(b)中识别出的所述手指位置和在所述工序(c)中识别出的所述工件的位置,来生成所述机器人的控制程序的工序。
[0093]
根据该方法,由于在作业者动作包括伴随手指的关节的移动的特定手指动作的情况下识别手指位置,因此相比始终识别手指位置的情况,能够减轻处理负荷。
[0094]
(8)根据本公开的第三实施方式,提供一种执行生成机器人的控制程序的处理的系统。该系统具备:信息处理装置,具有处理器;摄像装置,与所述信息处理装置连接。所述处理器执行:(a)根据由所述摄像装置拍摄的作业者使用手臂和手指操作工件的作业中所包括的一个以上的作业者动作的图像,来识别所述作业者动作的处理;(b)在所述作业者动作包括伴随所述手指的关节的移动的特定手指动作的情况下,根据由所述摄像装置拍摄的所述手指的图像,来识别所述特定手指动作中的手指位置的处理;(c)根据由所述摄像装置拍摄的所述工件的图像,来识别所述作业后的所述工件的位置的处理;(d)使用在所述处理(a)中识别出的所述作业者动作、在所述处理(b)中识别出的所述手指位置和在所述处理
(c)中识别出的所述工件的位置,来生成所述机器人的控制程序的处理。
[0095]
根据该系统,由于在作业者动作包括伴随手指的关节的移动的特定手指动作的情况下识别手指位置,因此相比始终识别手指位置的情况,能够减轻处理负荷。
[0096]
本公开也可以以上述之外的各种方式来实现。例如,能够以具备机器人和机器人控制装置的机器人系统、用于实现机器人控制装置的功能的计算机程序、记录了该计算机程序的非暂时性的记录介质(non-transitory storage medium)等方式来实现。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献