信息处理装置、信息处理方法和系统与流程

文档序号:20272679发布日期:2020-04-03 19:14阅读:138来源:国知局
信息处理装置、信息处理方法和系统与流程

本发明涉及用于控制放置物体的机器人的技术。



背景技术:

自动化工厂一直在使用代替人来进行例如包装部件的工作的机器人。传统上,使用机器人控制程序或用户进行远程操作,作为用于控制机器人进行将部件以对齐的方式反复放置在货盘上的操作的方法。日本特开2012-30320号公报讨论了一种机器人,该机器人学习托盘与要放置在托盘上的部件的类型之间的对应关系,使得即使托盘与部件之间的位置关系存在变化,机器人也能够保持部件。

在日本特开2012-30320号公报中,由于用户需要预先设置托盘与各自要放置在不同的一个托盘上的部件的类型之间的对应关系,因此需要耗费时间来完成对放置部件的机器人的设定。



技术实现要素:

本发明旨在提供一种有效率地教导机器人放置物体的工作的信息处理装置。

根据本发明的一方面,提供了一种用于控制机器人的信息处理装置,所述信息处理装置包括:获取单元,其被构造为获取第一图像和第二图像,第一图像是初始状态下的目标区域的图像,第二图像是放置了从供应区域运送的第一物体的目标区域的图像;估计单元,其被构造为基于使用第一图像和第二图像估计的第一区域的特征,估计在目标区域中的一个或更多个第二区域,在第一区域中放置了第一物体,在一个或更多个第二区域的各个中能够放置供应区域中的物体,第二区域不同于第一区域;以及控制单元,其被构造为控制机器人将不同于第一物体的第二物体从供应区域运送到一个或更多个第二区域中的任何一个区域。

根据以下参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。

附图说明

图1是例示信息处理系统的构造的示例的图。

图2是例示信息处理装置的硬件构造的示例的图。

图3是例示信息处理系统的功能构造的示例的框图。

图4是例示由信息处理系统执行的处理的流程图。

图5是例示用于向用户给出指令的方法的示例的图。

图6是例示用于通过投影向用户给出指令的方法的示例的图。

图7是例示使用虚拟现实的显示的图。

图8a和图8b是例示用于确定目标物体的方法的示例的图。

图9a、图9b和图9c是例示用于估计放置区域的候选的方法的图。

图10a和图10b是例示目标物体与放置区域之间的相对位置关系的图。

图11a、图11b和图11c是例示目标物体与放置区域之间的相对位置关系的图。

图12是例示信息处理系统的坐标系的示例的图。

图13是例示信息处理系统的坐标系的示例的图。

图14是例示信息处理系统的功能构造的示例的框图。

图15是例示由信息处理系统执行的处理的流程图。

图16是例示由信息处理系统执行的处理的流程图。

图17是例示由信息处理装置执行的处理的流程图。

图18是例示放置区域的训练数据的示例的图。

图19是例示图形用户界面(gui)的示例的图。

图20是例示gui的示例的图。

图21是例示gui的示例的图。

图22是例示gui的示例的图。

具体实施方式

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

在传统工厂中,以手动方式进行重新布置部件和更换部件。近年来,存在如下技术,其中,机器人代替人来包装和更换部件。通过使用该技术,期望在工厂现场提高生产率并降低工人的负担。然而,需要对机器人教导用于识别部件的方向并将部件放置在正确位置或正确姿势的操作。由于准备程序或进行远程操作需要专业知识,因此难以在工厂现场进行机器人的设定。此外,例如,即使用户向机器人例示了移动物体的任务,机器人也难以如用户所例示的来移动剩余物体。在本示例性实施例中,给出了对如下信息处理装置的描述,该信息处理装置通过使用图像或运动图像来生成控制值,机器人利用控制值将物体从供应区域运送到目标区域,并且将物体放置在目标区域中所包括的放置区域的候选中,所述图像或运动图像是由用户指示的模型操作并且是从机器人的视点拍摄的。这里描述的任务是用于将批量装载的一组物体运送到目标区域(例如托盘)并将物体以对齐的方式放置在目标区域中的操作。根据本示例性实施例,运送和放置物体的操作和移动是同义的。用户只需要将该任务实际执行一次。因此,用户可以在没有专业知识的情况下设定机器人。结果,可以有效率地教导机器人用于移动物体的操作。

在第一示例性实施例中,在目标物体被移动到目标区域之前,摄像装置通过在初始状态下对目标区域进行摄像来获得图像。接下来,指示用户将目标物体运送到目标区域。摄像装置获得在目标区域中所包括的放置区域中放置目标物体的场景的图像。然后,基于移动之前和之后的目标物体的图像来生成控制值,利用该控制值,供应区域中剩余的目标物体被运送并被放置在目标区域中所包括的放置区域中。使用所生成的控制值,机器人进行用于将目标物体运送到目标区域中所包括的放置区域的任务。机器人反复执行该任务,直到供应区域中的所有目标物体运完为止,或者直到目标区域中没有放置区域的候选为止。

在本示例性实施例中,“机器人”是指包括致动器并且保持、运送和放置目标物体的机器装置。“目标物体”是指在机器人进行的任务中作为移动和放置的操作目标的物体。具体地,“目标物体”是工业部件,例如数字相机的部件。“移动”是指从由传送带供应目标物体的位置拾取目标物体、将目标物体运送到放置位置、并将目标物体放置在放置位置的处理。

图1是例示根据本示例性实施例的包括信息处理装置20的信息处理系统100的构造的示例的图。图1是设备构造的示例,并不限制本发明的应用范围。

信息处理系统100包括机器人10和信息处理装置20。信息处理系统100还包括摄像装置2、光源6和指令装置5。

机器人10执行用于识别目标物体41和放置区域42的操作、以及用于基于由信息处理装置20提供的控制值来运送和放置目标物体41的操作。机器人10例如是在工厂生产线中操作的多关节机器人。机器人10包括诸如机器人臂的操纵器1、诸如机器人手的保持设备3、以及控制操纵器1和保持设备3的控制器4。此外,机器人10包括位置/姿势改变机构,位置/姿势改变机构能够通过改变操纵器1的关节的角度来改变保持设备3的位置和姿势。位置/姿势改变机构由电动机驱动。或者,这个机构由致动器驱动,致动器通过诸如液压或气压的流体压力操作。根据从信息处理装置20输出的操作指令信息来驱动这个机构。机器人10不限于多关节机器人。机器人10可以是可以受数字控制(nc)的可移动机器。

操纵器1被构造为移动摄像装置2以从任何位置和姿势拍摄目标物体41的图像。基于来自控制器4的指令或由信息处理装置20确定的控制值来控制操纵器1。操纵器1可以由例如六轴机器人组成,并且可以移动在机器人10的末端执行器附近附装的摄像装置2。

保持设备3是机器人10根据目标物体41的类型保持物体的工具。例如,保持设备3是包括可由电机驱动的卡盘机构并且能够保持目标物体41的手、或使用通过气压抽吸目标物体41的吸垫的手。这里描述的保持设备3用使用吸垫的手来抽吸各个目标物体41的重心,以保持物体。保持设备3附装到操纵器1并且可以响应于目标物体41的类型而更换。此外,保持设备3不是必需的,并且可以不配设保持设备3,只要操纵器1可以移动目标物体41即可。例如,在用于推开目标物体41的操作的情况下,机器人10可以由单轴圆柱体构成,并且可以不包括保持设备3。

例如,当机器人10将目标物体移动到的目标位置被输入到控制器4时,控制器4确定机器人10将目标物体从当前位置移动到目标位置的轨迹。具体地,控制器4是伴随操纵器1的机器人控制器。或者,控制器4可以是可编程逻辑控制器(plc),或者可以是能够控制操纵器1和保持设备3的任何其他装置。如图1所示,控制器4安装在机器人10附近。或者,控制器4可以与操纵器1集成,或者可以安装在其他区域中。控制器4控制操纵器1和保持设备3。当拍摄图像时,控制器4控制操纵器1处于目标位置和姿势,使得摄像装置2拍摄目标物体41或放置区域42的图像。然后,如果摄像装置2移动,则控制器4向信息处理装置20发送摄像命令,并且信息处理装置20将摄像触发发送到摄像装置2。或者,控制器4不经由信息处理装置20而将摄像命令直接发送到摄像装置2。控制器4还根据图像的拍摄合适地控制光源6。当执行任务时,控制器4控制操纵器1处于目标位置和姿势,使得保持设备3基于从信息处理装置20获取的控制值来保持目标物体41。然后,当保持设备3移动到保持设备3可以保持目标物体41的位置和姿势时,控制器4将保持触发发送到保持设备3。

目标物体41是要由机器人10运送的物体。具体地,目标物体41是工业部件(诸如数字相机的部件)或包装完成的产品。目标物体41由传送带一个接一个地供应,并且由机器人10运送目标物体41的一个单位。“一个单位”是指一次可以放置在托盘中的目标物体41的组合。目标物体41可以位于托盘中,也可以不位于托盘中。此外,目标物体41可以不由传送带供应,并且可以通过诸如自动引导车辆(agv)的其他方法供应。

放置区域42a、42b、42c和42d是目标物体41要移动到的目标区域中的放置区域的候选。由于机器人10以对齐的方式放置目标物体41,因此对于各个目标物体41,放置区域是不同的。具体地,如果第一目标物体41被移动到放置区域42a,则放置区域42a被目标物体41填满。因此,第二目标物体41的放置区域42将是与第一目标物体41的放置区域42a不同的位置,即,放置区域42b、42c和42d中的任何一个。放置区域42根据任务而不同。例如,如果任务是拾取和放置,则放置区域42是要放置目标物体41的位置。“拾取和放置”是指将诸如吸垫的抽吸单元附装到机器人臂的端部并通过抽吸物体来运送物体的任务。如果目标物体41是螺钉,并且任务是拧紧,则放置区域42是要拧紧的位置。如果目标物体41是连接器,并且任务是插入连接器,则放置区域42是连接器要被插入的位置。

摄像装置2是相机或视觉传感器,该视觉传感器包括用于检测光的传感器或光电二极管。摄像装置2拍摄目标物体41和目标区域42的图像。“图像”例如是二维彩色图像或距离图像。摄像装置2将获取的图像输出到信息处理装置20。摄像装置2拍摄光源6投影了光的目标物体41和目标区域42的图像。摄像装置2还可以在光源6不投影光的情况下拍摄目标物体41和其他目标物体41的图像。使用用于使摄像装置2读取由光源6投影的红外光图案并基于三角测量原理获得距离信息的光编码方法,作为用于拍摄距离图像的方法。或者,可以使用飞行时间(tof)方法,该方法用于根据直到投影的红外脉冲被反射并返回为止的时间获得距离信息。或者,可以使用基于三角测量原理使用立体相机从视差信息获得距离信息的方法,或者可以使用其他方法。如图1所示,摄像装置2和光源6安装在机器人10上。或者,摄像装置2和光源6可以固定地放置在摄像目标空间的上部,或者可以安装在其他操作机器上。或者,可以配设多个摄像装置2。在使用固定摄像装置2的情况下,摄像装置2的视角可以使摄像装置2能够一次拍摄供应区域和目标区域42的图像。在使用多个摄像装置2的情况下,可以基于各个摄像装置2要拍摄的区域来确定各个摄像装置2的安装位置。在本示例性实施例中,摄像装置2的位置和姿势以及视角是已知的。

从信息处理系统100,指令装置5指示用户将目标物体41移动到目标区域42中的放置区域的任何候选。例如,指令装置5包括扬声器并通过输出由指令单元202指定的自然语言向用户给出指令。或者,指令装置5包括显示器,并通过显示图形用户界面(gui)向用户给出指令。或者,指令装置5包括投影器,并通过将指令单元202指定的图像投影到目标物体41或目标区域42上来向用户给出指令。或者,指令装置5包括头戴式显示器(hmd)或增强现实(ar)眼镜,并通过使用混合现实(mr)、ar或虚拟现实(vr),以叠加的方式将图像显示在真实空间或虚拟空间中的目标区域42上来向用户给出指令。

光源6包括例如投影器并发射可见光或从激光光源发射红外光,以将均匀的照明光或图案光投影到目标物体41和目标区域42上。

信息处理装置20是生成控制值的装置,机器人10利用该控制值将物体从供应区域运送到目标区域42。信息处理装置20包括例如个人计算机(pc)。图2是信息处理装置20的硬件构造的示例。信息处理装置20包括中央处理单元(cpu)21、只读存储器(rom)22、随机存取存储器(ram)、外部存储器24、输入单元25、显示单元26、通信接口(i/f)27和系统总线28。cpu21进行对信息处理装置20的操作的整体控制,并经由系统总线28控制部件(21至27)。rom22是用于存储cpu21执行处理所需的程序的非易失性存储器。或者,该程序可以存储在外部存储器24或可附装的存储介质(未示出)中。ram23用作cpu21的主存储器或工作区。即,当执行处理时,cpu21将必要的程序从rom22加载到ram23中并执行加载的程序,以实现各种功能操作。例如,外部存储器24存储当cpu21使用程序进行处理时所需的各种类型的数据和各种类型的信息。此外,例如,外部存储器24存储cpu21使用程序进行处理而获得的各种类型的数据和各种类型的信息。输入单元25包括例如诸如键盘和鼠标的指示设备,并且使用户能够使用输入单元25向信息处理装置20给出指令。显示单元26包括诸如液晶显示器(lcd)的监视器。通信i/f27是用于与外部设备通信的接口。系统总线28连接cpu21、rom22、ram23、外部存储器24、输入单元25、显示单元26和通信i/f27,使得这些部件可以彼此通信。如上所述,信息处理装置20经由通信i/f27连接到作为外部设备的机器人10、摄像装置2、光源6、指令装置5和确认装置7,使得信息处理装置20可以与各个外部设备通信。信息处理装置20控制这些外部设备的操作。

图3是例示信息处理系统100和信息处理装置20的功能构造的示例的框图。机器人10包括控制器4、保持设备3和操纵器1。信息处理装置20包括存储单元200、获取单元201、指令单元202、估计单元203和生成单元204。

存储单元200存储机器人10执行学习任务所需的信息。具体地,该信息是诸如当拍摄目标区域42或供应区域的图像时摄像装置2的位置和姿势的数据。存储单元200还存储摄像装置2的视角。此外,存储单元200存储关于保持设备3的手的区域和大小的数据。具体地,在保持设备3是吸垫的情况下,存储单元200存储关于垫的直径的信息。在保持设备3是手的情况下,存储单元200存储关于手的大小的信息。此外,存储单元200还存储关于各个目标物体41的保持位置的信息。例如,在吸垫的情况下,该信息指示目标物体41的中心是保持位置。不需要针对各个类型的目标物体41设置该信息。

获取单元201获取视觉信息,该视觉信息是通过摄像装置2拍摄包括目标区域42或供应区域的场景的图像而获得的图像或运动图像。首先,获取单元201获取通过在初始状态下拍摄目标区域42的图像而获得的第一视觉信息。接下来,获取单元201获取通过在目标物体41的一个单位(第一物体)移动到目标区域42之后的状态下拍摄目标区域42的图像而获得的第二视觉信息。通过基于第一视觉信息和第二视觉信息获得图像的特征点之间的差异,可以估计指示具有目标物体41的区域的纹理信息。使用纹理信息,可以进行将目标物体41规律地布置在目标区域42中的任务。此外,获取单元201获取视觉信息(第三视觉信息),该视觉信息是通过拍摄包括具有一个或多个目标物体41的供应区域的场景的图像而获得的图像或运动图像。根据第三视觉信息,可以识别可以拾取的目标物体41,并确定各个物体将被保持的位置。获取单元201将获取的视觉信息输出到指令单元202和估计单元203。获取单元201例如由拍摄板或存储器(ram)组成。此外,获取单元201获取当拍摄目标区域42的图像时摄像装置2的位置和姿势(第一位置)、以及当拍摄包括批量装载目标物体41的供应区域的场景的图像时摄像装置2的位置和姿势(第二位置)。在本示例性实施例中,第一位置和第二位置被预先存储在存储单元200中。

指令单元202指示用户进行预定操作。“预定操作”是将在供应区域中批量装载的目标物体41的一个单位(第一物体)移动到目标区域42中的区域42a、42b、42c和42d中任何一个的操作。在具体处理中,指令单元202从获取单元201获取通过对目标区域42进行摄像而获得的图像,然后向指令装置5发送指令触发,以指示用户将目标物体41移动到目标区域42。响应于指令装置5,指令单元202确定指令的内容。例如,在指令装置5是扬声器的情况下,指令单元202确定要从扬声器输出的语音引导的内容。在指令装置5是投影器的情况下,指令单元202确定要投影的图像。在指令装置5是hmd或ar眼镜的情况下,指令单元202确定要以叠加方式显示的内容。

基于从获取单元201获取的第一视觉信息和第二视觉信息之间的差异,估计单元203估计具有目标物体41的第一区域(第一估计)。此外,基于第一区域,估计单元203估计包括在目标区域42中并且与第一区域不同的多个第二区域(第二估计)。此外,估计单元203进行在使用第一视觉信息和第二视觉信息获得的减影图像中所包括的图像特征与第三视觉信息之间的模板匹配,以估计目标物体41将被保持的位置(第三估计)。在第一估计中,使用在第一视觉信息和第二视觉信息之间发生改变的区域(即,用户已经放置目标物体41的区域)的特征,估计单元203估计目标物体41将由保持设备3运送到的区域。在这种情况下,估计单元203估计目标物体41的三维区域。具体地,估计单元203从第一视觉信息和第二视觉信息获得图像的特征点之间的差异,以获取二维纹理信息。此外,使用测量距离的结果,估计单元203获得关于物体的高度信息。当目标被保持和释放时,估计单元203使用实际高度信息估计保持设备3的位置和姿势。

在第二估计中,基于从第一视觉信息和第二视觉信息获得的减影图像的特征以及目标区域42的几何特征,估计单元203估计目标物体41将被放置在目标区域42中的区域。下面将描述详细处理。

在第三估计中,估计单元203进行通过拍摄供应区域的图像而获得的第三视觉信息与目标物体41的区域的特征之间的模板匹配,以提取目标物体41。此外,估计单元203估计目标物体41的区域中的重心,作为要保持目标物体41的位置的候选。在这种情况下,估计单元203通过将保持设备3的类型与目标物体41的区域相对应来估计保持位置。例如,在保持设备3是吸垫的情况下,目标物体41的重心是保持位置。在保持设备3是手的情况下,目标物体41的端部是保持位置。这些对应关系的数据被预先设置在信息处理装置20中。目标位置和姿势是基于拍摄图像中的图像坐标系获得的,但是可以通过变换到其他坐标系来获得。

基于根据基于第一视觉信息和第二视觉信息估计的目标物体41的区域而估计的放置区域的候选、以及存在于供应区域中的目标物体41的保持位置,生成单元204生成控制值,机器人10利用该控制值来运送各个目标物体41。即,生成单元204生成用于在放置目标物体41时基于操纵器1的位置和姿势移动操纵器1的控制值。生成的控制值被输入到控制器4。基于控制值,控制器4控制机器人10。或者,信息处理装置20的控制单元(未示出)可以控制机器人10。下面将描述详细处理。

下面参照图17简要描述由信息处理装置20执行的处理。将参照流程图描述信息处理系统100中的详细处理。在步骤s1701中,cpu21初始化在信息处理装置20中设置的参数。在步骤s1702中,获取单元201获取通过在初始状态下拍摄目标区域42的图像而获得的第一视觉信息。在步骤s1703中,指令单元202指示用户执行预定操作。在步骤s1704中,获取单元201获取通过拍摄在用户执行预定操作之后的目标区域42的图像而获得的第二视觉信息。在步骤s1705中,估计单元203基于第一视觉信息和第二视觉信息,估计目标物体41的区域(第一估计)。在步骤s1706中,估计单元203基于通过拍摄物体41和目标区域42的区域的图像而获得的第二视觉信息,估计下一个目标物体41将被放置的位置(第二估计)。在步骤s1707中,获取单元201获取通过拍摄目标物体41被批量装载的供应区域的图像而获得的第三视觉信息。在步骤s1708中,估计单元203估计保持设备3要保持要运送的目标物体41的位置(第三估计)。在步骤s1709中,生成单元204基于保持位置和放置区域,生成用于运送目标物体41的控制值。在步骤s1710中,生成单元204确定目标物体41是否剩余在供应区域中或放置区域是否剩余在目标区域42中。如果目标物体41或放置区域剩余(步骤s1710中的“是”),则处理返回到步骤s1704。在步骤s1704中,继续类似的任务。如果目标物体41和放置区域都未剩余(步骤s1710中的“否”),则处理结束。

详细描述由信息处理系统100执行的处理。图4是例示由信息处理系统100执行的处理过程的流程图。图4所示的处理是通过图2所示的信息处理装置20的cpu21读取存储在rom22或外部存储器24中的程序并执行该程序来实现的。然而,图4中的部分或全部处理可以通过专用硬件来实现。例如,当操作者启动信息处理系统100时,开始图4中的处理。然而,处理开始的定时不限于信息处理系统100启动时。

首先,在步骤s1中,cpu21进行初始化处理以初始化系统。也就是说,cpu21将存储在rom22或外部存储器24中的程序加载到ram23中,使得可以执行程序。此外,cpu21读取连接到信息处理装置20的设备的参数,并将设备返回到初始位置,使得可以使用设备。具体地,获取单元201从存储单元200获取摄像装置2的初始位置和姿势以及视角。此外,获取单元201读取保持设备3的保持部分的大小和区域的数据。在保持部分是吸附垫的情况下,保持设备3的数据是垫的直径的数据。在图17中的步骤s1701中,也进行类似的处理。

接下来,在步骤s2中,获取单元201获取摄像装置2在拍摄目标区域42的图像时的位置和姿势。操纵器1移动,由此摄像装置2从第一位置拍摄目标区域42的图像。或者,控制器4获取第一位置。可以通过任何方法确定位置和姿势,只要目标区域42可以被摄像即可。

在步骤s3中,控制器4控制操纵器1移动到摄像装置2拍摄图像的第一位置。具体地,控制器4确定控制值,操纵器1利用该控制值将机器人10移动到在步骤s2中获取的位置和姿势。例如,为了通过操纵器1将机器人10移动到在步骤s2中生成的位置和姿势,首先,控制器4通过正向运动学将与要拍摄目标区域42的图像的位置相对应的位置/姿势信息转换为关于操纵器1的关节角度信息。接下来,控制器4计算操纵器1的关节的致动器移动所使用的命令值,并将命令值输入到机器人控制器。然后,基于输入命令值,操纵器1操作。摄像装置2与操纵器1之间的位置关系被预先校准。

在步骤s4中,控制器4将摄像命令发送到信息处理装置20,并且信息处理装置20将摄像触发发送到摄像装置2。基于摄像触发,摄像装置2在初始状态下拍摄包括目标区域42的场景的图像。在该处理中获得的图像被称为“第一视觉信息”。在该处理中,目标区域42中没有目标物体41(初始状态)。或者,一个或多个目标物体42可以被放置在目标区域42中。

在步骤s5中,获取单元201获取通过在初始状态下拍摄目标区域42的图像而获得的第一视觉信息,并将第一视觉信息发送到指令单元202。“初始状态”是指在用户教导任务之前的状态。在图17的步骤s1702中,也进行类似的处理。

在步骤s6中,通过预定方法,指令单元202指示用户进行用于将目标物体41的一个单位从供应区域移动到目标区域42的预定操作。指令单元202从获取单元201获取通过拍摄在目标物体41被运送到目标区域42之前的状态下的目标区域42的图像而获得的第一视觉信息。然后,使用指令装置5,指令单元202指示用户将目标物体41移动到目标区域42。作为示例,描述了如下情况:进行将目标物体41从目标物体41被传送带供应到的区域放置到托盘中的任务。根据本示例性实施例,要由用户移动的目标物体41的单位是单个目标物体41。或者,可以将多个目标物体41视为一个单位。例如,使用语音、gui、投影、mr、ar或vr,作为向用户给出指令的方法。在语音的情况下,扬声器输出促使用户将目标物体41运送到目标区域42的通告。在图17的步骤s1703中,也进行类似的处理。

在如图5中的gui的情况下,gui在显示器上指示用户应该将目标物体41移动到目标区域42。gui在指令装置5上显示表示促使用户将目标物体41从供应区域移动到目标区域42的箭头的图示。或者,显示字符信息“请将物体从供应区域移动到目标区域”。因为用户可以在画面上确认操作,所以这对于用户来说是容易理解的。在如图6中的投影的情况下,投影器在目标区域42上投影目标物体41的图像,或投影字符信息。用户具有在观察真实内容的同时进行工作的优势。在如图7中的mr、ar或vr的情况下,使用hmd或ar眼镜,以叠加的方式将目标物体41的图像显示在真实空间或虚拟空间中的目标区域42上,或者显示字符信息。

在步骤s7中,摄像装置2拍摄包括目标区域42的场景的图像,该目标区域42具有由用户放置的目标物体41的一个单位。在步骤s4中,目标物体41尚未放置在目标区域42中,而在步骤s7中,用户将目标物体41的一个单位放置在目标区域42中。在步骤s7中,摄像装置2可以拍摄在用户完成了目标物体41的移动之后的场景的图像。或者,摄像装置2可以继续拍摄在用户开始移动目标物体41之后的场景的图像。或者,摄像装置2可以继续拍摄在指示用户移动目标物体41之后的场景的图像。摄像装置2可以继续拍摄从这些定时之外的定时起的场景的图像。基于向指令装置5输入触发(说出诸如“ok”的话语或按下预定按钮)的用户操作来确定移动的完成。或者,系统可以进行确定(对人物或物体的运动进行图像识别,跟随该运动,并按时间划分该运动)。这种移动完成被输入到系统,从而可以安全地工作。

在步骤s8中,获取单元201获取通过拍摄在用户进行预定操作之后的目标区域42的状态的图像而获得的第二视觉信息。例如,图8a例示了初始状态,图8b例示了用户放置了目标物体41的状态。作为第二视觉信息拍摄的场景的图像包括具有由用户放置的目标物体41的一个单位的放置区域42a。第二视觉信息被发送到估计单元203。在图17的步骤s1704中,也进行类似的处理。

在步骤s9中,基于在步骤s5中获取的第一视觉信息和在步骤s8中获取的第二视觉信息,估计单元203估计放置了目标物体41的区域(第一区域)(第一估计)。在该处理中,第一区域与当从上方观察物体时可以识别的物体的形状相匹配。例如,在目标物体41被放置在目标区域42中包括的任何放置区域之前和之后的图像之间(即,第一视觉信息和第二视觉信息之间)进行背景减除,作为用于估计物体的区域的方法。如图8a和图8b所示,当目标物体41被放置在目标区域42中时,并且如果摄像装置2从目标区域42上方拍摄图像,则估计单元203获取在目标物体41被运送到目标区域42之前和之后的如图9c中的图像82中一样的减影图像。在该处理中,估计单元203通过获得运送之后的图像81(第二视觉信息)与运送之前的图像80(第一视觉信息)之间的差异来计算目标物体41。图像80是第一视觉信息,并且是放置目标物体41之前的目标区域42的图像。图像81是第二视觉信息,并且是从具有由用户放置的目标物体41的一个单位的目标区域42的获得的图像。在这种情况下,目标物体41位于左上区域中。然而,目标物体41可以被放置在左上区域、右下区域和右上区域中的任何一个中。图像82具有目标物体41,并且基于目标物体41移动之前和之后的目标区域42的图像之间的差异来获得图像82。具体地,可以使用彩色图像获得关于目标物体41的纹理信息,并且可以使用距离信息获得目标物体41的上表面的区域和关于目标物体41的高度信息。基于这些信息,估计单元203估计目标物体41的区域。通过从图像估计目标物体41的区域,用户可以在没有目标物体41的区域数据的情况下容易地进行设定。在图17的步骤s1705中,也进行类似的处理。

在步骤s10中,基于在步骤s8中获取的第二视觉信息和在步骤s9中估计的目标物体41的区域的特征,估计单元203估计与第一区域不同的、且能够放置物体的多个第二区域(第二估计)。根据本示例性实施例的机器人10执行在目标区域中以对齐的方式布置目标物体的任务。在该任务中,在与用户放置的第一目标物体的位置相同的位置处,不能放置其他目标物体。也就是说,下一个物体需要放置在与第一目标物体的位置不同的位置处。图10a和图10b是例示从图像估计放置位置的候选的处理的图。图像83是第二视觉信息,图像83中的阴影部分90表示放置目标物体41的区域。使用图9c中的图像82(即,通过获得第一视觉信息和第二视觉信息之间的差异而获得的图像)估计阴影部分90。接下来,在第一视觉信息中,提取与阴影部分90对应的区域的图像特征。提取的图像特征经受与第一视觉信息的模板匹配。与通过该处理提取的图像特征匹配的区域的中心位置被用作放置区域的候选。图像84是指示估计结果的图像。由区域91指示的局部区域的中心点用作放置区域的候选。所获得的局部区域被估计为要放置目标物体41的区域。在这种情况下,从目标区域42提取的区域的中心被估计为放置区域。此外,除了使用图像特征的模板匹配之外,还可以使用以下方法。如果深度相机可以获得深度信息,则估计与深度信息匹配的区域,深度信息涉及与具有物体的区域对应的区域。或者,可以通过深度学习来估计放置区域的候选。同样在图17中的步骤s1706中,进行类似的处理。作为通过深度学习来估计放置区域的方法,例如,进行学习,使得输入图像并输出放置区域。图18例示了用于学习的输入图像和标记图像。在图18中的图像83中,区域42a至42d是放置区域。在预先进行学习的情况下,如在图18中的图像84中的阴影部分42a至42d中,用户向放置区域分配指示可以放置目标物体41的标签。通过学习标记的放置区域的特征,则当输入新图像时,可以区分图像中的哪个区域是放置区域。用户不需要向系统提供先前学习。首先,在通过使用如上所述的模板匹配的方法操作系统的同时收集输入图像和放置区域的结果数据。然后,如果收集了足够的数据,则可以进行学习。例如,使用卷积神经网络(cnn)作为学习模型,作为用于估计区域的方法。此外,为了学习而收集的数据可以不按原样使用,并且可以经受数据扩展,例如放大或缩小、伽马校正、或平移或旋转移动。

在步骤s11中,获取单元201获取摄像装置2的位置和姿势,该摄像装置2用于拍摄包括批量装载目标物体41的供应区域的场景的图像。所获取的第二位置被发送到控制器4。摄像装置2的位置(和姿势)可以使用在步骤s5或s8中获取的视觉信息,基于在步骤s9中确定的结果来确定,或者可以由任何方法确定,只要可以拍摄目标物体41的图像即可。此外,基于在步骤s9中估计的目标物体41的区域和在步骤s10中估计的目标物体41将被放置在目标区域42中的区域,估计单元203选择要由机器人10运送的目标物体要被放置的位置。参照图11a、图11b和图11c,描述步骤s15的处理。图11a例示了用户将目标物体41移动到的目标区域42的目标区域坐标系σl1、以及目标物体41的目标物体坐标系σo1。在这种情况下,目标区域42的左上方是目标区域坐标系σl1的原点,并且目标物体41的重心是目标物体坐标系σo1的原点。但是,原点可以设置在任何区域。在这种情况下,在步骤s10中获得接下来要放置目标物体41的区域43。因此,从没有目标物体41的区域中选择单个部分作为下一个放置区域43。作为用于选择下一个放置区域43的方法,用户预先设置逐个选择下一个放置区域43的顺序。或者,设置从左上到右下依次选择下一个放置区域43的规则。或者,随机选择下一个放置区域43。可以通过这些方法之外的方法来选择下一个放置区域43。如果选择区域43,则类似于目标区域坐标系σl1的设置,设置区域43的原点(图11b中的σl2)。在这种情况下,目标物体41将被放置在与目标区域42的位置和姿势相对相同的位置和姿势上。结果,关于目标区域坐标系σl2,考虑与从目标区域坐标系σl1到目标物体坐标系σo1的平移或旋转移动类似的移动,由此获得机器人10接下来要运送的目标物体41相对于目标区域坐标系σl2的相对位置和姿势(图11c中的σo2)。基于上述,获得了目标物体41要被放置的位置和姿势。将获得的结果发送到控制器4。在图17中的步骤s1707中,也进行类似的处理。

在步骤s12中,为了拍摄包括在供应区域中批量装载的目标物体41的场景的图像,控制器4控制操纵器1以使摄像装置2处于步骤s11中确定的位置和姿势。在步骤s13中,摄像装置2拍摄在供应区域中批量装载的目标物体41的图像。在该处理中拍摄的图像被称为“第三视觉信息”。使用第三视觉信息,获得关于剩余目标物体41的位置和姿势的信息。在步骤s14中,获取单元201获取关于由摄像装置2拍摄了图像的目标物体41的第三视觉信息。第三视觉信息被发送到估计单元203。

在步骤s15中,估计单元203估计保持设备3保持目标物体41(第二物体)的保持位置(第三估计)。估计单元203进行在第一视觉信息和第二视觉信息之间的减影图像中所包括的图像特征与第三视觉信息之间的模板匹配,以估计要保持目标物体41的保持位置。例如,在保持设备3包括抽吸式吸垫的情况下,保持设备3可以通过抽吸目标物体41的重心来保持目标物体41。可以针对各个目标物体41预先设置目标物体41的位置和姿势,作为当保持目标物体41时的位置和姿势的确定方法。或者,用户使用语音、gui、mr、ar或vr指定保持位置。当使用抽吸来进行保持时,计算可以抽吸的平坦表面区域。在保持的情况下,获得可以保持的平行表面。或者,可以通过深度学习来估计抽吸或保持位置。例如,输入关于目标物体41的信息和关于保持设备3的信息(指示保持部分的形状和大小),并且使用通过对目标物体41进行摄像而获得的图像来获得保持或抽吸位置。具体地,首先,基于在步骤s9中获得的目标物体41和关于保持设备3的预设信息,指示各个目标物体41中的哪个位置将被抽吸或保持的标签、和目标物体41将如何被抽吸或保持,被分配给目标物体41的图像中的各个像素,以生成学习数据。用于分配标签的方法可以由用户预先手动进行,或者可以在系统操作时自动进行。此外,在物体的保持失败的情况下,将指示物体的保持失败的标签分配给处理中的保持位置。作为在系统操作时自动分配标签的方法,每当抽吸或保持目标物体41时,关于目标物体41的哪个部分被抽吸或保持的信息以及成功/失败结果被收集作为学习数据,由此标记正确的抽吸或保持位置并生成学习数据。然后,使用生成的学习数据进行学习,使得估计吸附或保持位置。作为估计吸附或保持位置的方法,例如,cnn用作学习模型。使用图像的学习被应用于对保持位置的估计,从而可以更有效率地设置任务。然而,抽吸或保持位置可以通过上述方法之外的方法估计。

在步骤s16中,生成单元204生成用于操纵器1的控制值,利用该控制值,供应区域中的目标物体41中的物体被运送到可以放置目标物体41的一个单位的任何第二区域。具体地,基于在步骤s15中估计的保持位置和在步骤s10中估计的要放置目标物体41的区域,生成单元204生成用于运送剩余物体的控制值。生成控制值,使得目标物体41不被运送到已经具有目标物体41的区域。

在该处理中,关于在步骤s16中生成的控制值,需要将在步骤s10中估计的放置区域和在步骤s15中估计的保持位置变换到机器人坐标系,以控制操纵器1。图12和图13是例示坐标系之间的关系的图。摄像装置2的坐标系σc、操纵器1的坐标系σr、操纵器1的端部坐标系σt、保持设备3的坐标系σf、保持目标物体41时的坐标系σo、放置目标物体41时的坐标系σo’、以及目标区域42的坐标系σl被统一处理。如图12所示,世界坐标系σw被设置为工作空间中的基准坐标系。首先,从世界坐标系σw到操纵器坐标系σr的位移是(rx,ry,rz)。此外,表示操纵器1的姿势的3×3旋转矩阵是rm。从操纵器坐标系σr到操纵器端部坐标系σt的位移是(tx,ty,tz)。此外,表示操纵器1的端部的姿势的3×3旋转矩阵是tm。此外,从操纵器端部坐标系σt到保持设备3的坐标系σf的位移是(fx,fy,fz)。此外,表示保持设备3的端部的姿势的3×3旋转矩阵是fm。“保持设备3的端部”是指保持设备3与目标物体41接触的部分。从操纵器端部坐标系σt到摄像装置坐标系σc的位移是(cx,cy,cz)。此外,表示摄像装置2的姿势的3×3旋转矩阵是cm。此外,从摄像装置坐标系σc到目标物体41的目标物体坐标系σo的位移是(ox,oy,oz)。此外,表示目标物体41的姿势的3×3旋转矩阵是om。在这种情况下,从世界坐标系σw观察的目标物体41的位移是(wx,wy,wz),并且表示目标物体41的姿势的3×3旋转矩阵是wm。在这种情况下,当附装到操纵器1的端部的保持设备3与目标物体41接触时,从操纵器坐标系σr到操纵器端部坐标系σt的位移是(tx1,ty1,tz1)。如果表示操纵器1的端部的姿势的3×3旋转矩阵是tm1,则以下数学公式(1)成立。

w=r·t1·f(1)

此外,当摄像装置2拍摄目标物体41的图像时,从操纵器坐标系σr到操纵器端部坐标系σt的位移是(tx2,ty2,tz2)。如果表示操纵器1的端部的姿势的3×3旋转矩阵是tm2,则以下数学公式(2)成立。

w=r·t2·c·o(2)

由于数学公式(1)和(2)表示目标物体41在世界坐标系σw中的位置和姿势,因此数学公式(3)成立。

r·t1·f=r·t2·c·o

t1=t2·c·of-1(3)

当拍摄图像时操纵器1的位置和姿势、操纵器端部坐标系∑t与摄像装置坐标系∑c之间的位置/姿势关系、摄像装置坐标系∑c与目标物体41之间的位置/姿势关系、以及操纵器端部坐标系∑t与保持设备3之间的位置/姿势关系为已知时,通过数学公式(3)获得当保持目标物体41时操纵器1的位置和姿势。因此,当操纵器1保持目标物体41时的操纵器1的位置和姿势可以从通过摄像装置2拍摄目标物体41的图像而获得的图像获得。描述了用于获得各个位移和各个旋转矩阵的方法的示例。(rx,ry,rz)和rm是基于与当安装操纵器1时设置的世界坐标系∑w的位置关系获得的。(tx,ty,tz)和tm是通过正向运动学基于关于操纵器1的关节角度信息获得的。(fx,fy,fz)和fm是基于保持设备3的尺寸获得的。(cx,cy,cz)和cm是基于摄像装置2的尺寸获得的。或者,(cx,cy,cz)和cm可以通过校准从摄像装置2与操纵器1之间的相对位置/姿势关系获得。例如,可以使用摄像装置2与操纵器1之间的相对位置关系来获得(cx,cy,cz)和cm。通过使用摄像装置2在操纵器1处于多个不同位置和姿势的各状态下拍摄已知二维标记的图像来获得相对位置关系。通过使用摄像装置2拍摄目标物体41的图像来获得(ox,oy,oz)和om。在这种情况下,分别考虑世界坐标系∑w和操纵器1的坐标系∑r,但是二者也可以被视为一个坐标系。

此外,已经描述了当保持目标物体41时坐标系之间的关系。这同样适用于放置目标物体41的处理。在步骤s10中,确定放置区域,并且在步骤s15中,获得坐标系∑1与坐标系∑o’之间的关系。因此,通过考虑从坐标系∑1到坐标系∑o’的变换来更换目标物体坐标系∑o,由此还可以类似地导出当放置目标物体41时要使用的坐标系。因此,可以控制操纵器1。在步骤s17中,根据在步骤s16中生成的控制值,控制器4控制保持设备3和用于将目标物体41从供应区域运送到目标区域41中所包括的任何放置区域的操纵器1。首先,控制器4控制用于保持目标物体41的保持设备3。基于在步骤s17中获得的保持位置和姿势信息,操纵器1移动到保持位置和姿势,并且保持设备3保持目标物体41。接下来,控制器4控制操纵器1以进行运送和放置目标物体41的操作。可以预先设置运送的通过点,使得机器人手臂做出尽可能少的不必要的动作。然后,基于在步骤s16中确定的控制值,操纵器1移动到要放置目标物体41的区域。然后,操纵器1将目标物体41放置在目标区域42中。

在步骤s18中,生成单元204确定是否存在接下来要运送的目标物体41、或者目标区域42中可以放置目标物体41的第二区域。然后,如果目标物体41或目标区域42中的第二区域不存在(步骤s18中的“否”),则cpu21停止生成控制值并确定处理结束。然后,图4所示的处理结束。如果目标物体41或目标区域42中的第二区域存在(步骤s18中的“是”),则cpu21确定处理将继续。然后,处理返回到步骤s10。作为确定方法,例如,可以基于在步骤s14中获取的目标物体41的图像来确定目标物体41的存在或不存在,并且可以基于步骤s8中获取的图像和步骤s18中的保持、运送和放置的次数,来确定目标区域42中的第二区域的存在或不存在。或者,预先设置处理次数,并且基于是否达到设置的次数来进行确定。或者,将传感器放置在目标物体41的供应区域中,并且基于来自传感器的传感器信息进行确定。可以如下获得传感器信息。例如,可以在供应区域中设置重量传感器,并且可以测量供应区域的重量,以通过称重来测量剩余目标物体41的数量。或者,摄像装置2拍摄目标物体41的供应区域的图像,并且基于关于获得的图像的图像信息进行确定。可以通过上述方法之外的方法进行确定。

然而,信息处理系统100可以不需要进行该流程图中描述的所有步骤。例如,在摄像装置2是固定相机的情况下,不必确定摄像位置。因此,可以跳过步骤s2或s11的处理。此外,根据本示例性实施例,已经描述了如下示例:在机器人10等待时教导任务的模式(设置模式)和在机器人10操作时执行任务的模式(操作模式)都包括在单个流程图中。这是因为,在机器人10是近年来发展的不需要安全栅栏的协作机器人的情况下,可以假设在机器人10操作的同时人进入工作范围并且指示机器人10进行操作。然而,设置模式和操作模式可能无法通过单个流程图实现,并且可以在不同的流程图中清楚地分离和执行。

在视觉信息是运动图像的情况下,需要估计用于操作的模型数据。在这种情况下,使用运动图像估计数据的方法的示例是用于识别用户的手的方法。具体地,当用户的手出现在运动图像中时,提取图像作为第一视觉信息。然后,当用户的手从运动图像中消失时,提取图像作为第二视觉信息。或者,使用第一视觉信息与第二视觉信息之间的运动图像,可以使机器人10学习运送方法。作为另一种方法,用户通过用户界面(ui)输入任务学习操作的开始和结束。例如,用户使用按钮或gui输入开始或结束任务学习操作的指令。或者,用户使用语音识别工具说出指示任务学习操作的开始和结束的话语。

此外,可以通过其他方法获取第一视觉信息和第二视觉信息。例如,用户预先准备单个目标物体41处于目标区域42中的状态,然后移除目标物体41。在这种情况下,单个目标物体41处于目标区域42中的初始状态被设置为第二视觉信息,并且在进行任务学习操作之后通过拍摄空目标区域42的图像而获得的图像被设置为第一视觉信息,由此可以对机器人教导在目标区域42中对目标物体41的布置操作。此外,还可以使用多个目标物体41而不是目标物体41的一个单位来准备单个图案,并且根据该图案对机器人教导布置目标物体41的任务。

估计单元203可以使用预训练模型来进行估计。例如,估计单元203可以使用输入第一视觉信息和第二视觉信息的预训练模型,以获得物体的放置区域的候选的输出。

在步骤s9中,已经描述了获得目标物体41的三维区域的处理。或者,可以预先获得关于三维区域的高度信息并将该高度信息存储在存储单元200中。高度信息是主要用于将物体保持在供应区域中并用于将物体放置在目标区域42中的放置区域中的信息。在关于目标物体41的高度信息已知的情况下,估计单元203在步骤s9中不使用距离信息估计高度信息。

在步骤s10中,可以根据预定规则识别目标物体41的放置区域。例如,期望在放置目标物体41时将目标物体41的方向调整到目标区域42的上下方向。此外,在目标物体41具有前后方向的情况下,可以以使得目标物体41的前后方向对齐的方式确定放置区域。此外,在各个目标物体41上打印字符的情况下,以使得可以在相同方向上读取被放置的物体41上的字符的方式确定放置区域。此外,更适合于操纵器1的放置方法可以减少运送任务中的故障。通过这样的处理,即使在工厂中包装部件时,也可以在没有专家帮助的情况下通过用户的操作容易地设定机器人。

在步骤s15中,可以根据预定规则识别目标物体41的保持位置。例如,期望在放置目标物体41时将目标物体41的方向调整到保持区域的上下方向。此外,在目标物体41具有前后方向的情况下,可以以使得目标物体41的前后方向对齐的方式确定保持位置。此外,在各个目标物体41上打印字符的情况下,以使得可以读取目标物体41上的字符的方式确定保持位置。此外,适合于操纵器1的放置方法可以减少运送任务中的故障。通过这样的处理,即使在工厂中包装部件时,也可以在没有专家帮助的情况下通过用户的操作容易地设定机器人。

如上所述,可以有效率地向机器人教导将目标物体彼此相邻放置的任务。

接下来,描述本发明的第二示例性实施例。

在第二示例性实施例中,在机器人10运送目标物体41之前,在没有实际移动机器人10的情况下向用户指示机器人10的操作的模拟。在预先从用户接收到确认之后,机器人10移动。机器人10将目标物体41从供应区域运送到目标区域42的处理也被反馈。例如,在用户希望确认机器人10是否能够执行用户期望的任务操作的情况下,这是有效的。此外,在用户希望当目标物体特别昂贵时尽可能地减少故障的情况下,这是有效的。根据本示例性实施例,“运行时操作”是指由机器人10自动执行的操作。具体地,“运行时操作”是指机器人10在用户完成移动目标物体41的一个单位的操作之后自动执行工作的操作。相反,“任务教导”是指用户希望教导机器人10的任务的执行。

根据第二示例性实施例,类似于第一示例性实施例,首先,在目标物体41被移动到目标区域42之前,摄像装置2通过对目标区域42进行摄像来获得图像或运动图像。接下来,指示用户将目标物体41移动到放置区域。在目标物体41移动到目标区域42之后,摄像装置2通过对目标区域42进行摄像来获得图像。然后,基于在目标物体41的移动之前和之后获得的图像,生成将下一个目标物体41移动到目标区域42所使用的控制值。在该处理中,与第一示例性实施例不同,在第一次进行的运行时操作中,在机器人10操作并运送目标物体41之前,向用户指示要基于控制值执行的对机器人10的操作的模拟。然后,由用户确定在模拟中进行的机器人10的操作是否合适。如果获得操作不合适的确定,则指示用户进一步将目标物体41的再一个单位移动到目标区域42。如果获得机器人10的运行时操作合适的确定,则机器人10比通常更慢地操作。以这种方式,在机器人10操作之前,可以预先确认机器人10的操作和目标物体41移动之后的放置区域。结果,可以减少重新操作并提高操作效率。

图14是例示根据本示例性实施例的信息处理系统110和信息处理装置30的功能构造的示例的框图。图14所示的信息处理系统110和信息处理装置30与图3所示的信息处理系统100和信息处理装置20的不同之处在于添加了确认装置7和确定单元205,并且还在于指令单元212的处理和估计单元213的处理。下面描述与第一示例性实施例的不同之处。

确认装置7基于控制值向用户指示模拟,机器人10利用该控制值将目标物体41运送到目标区域42。然后,确认装置7从用户接收机器人10的操作(即控制值)是否合适的确定结果。例如,确认装置7附装在机器人10附近。或者,确认装置7可以与指令装置5集成,或者可以通过使用指令装置5和摄像装置2来实现确认装置7。确认装置7包括例如麦克风。在用户确认由指令装置5指示的、用于将目标物体41移动到目标区域42的机器人10的模拟操作之后,确认装置7捕捉用户说出的语音,以接收确定结果。或者,确认装置7包括与机器人10附近的指令装置5一体化附装的显示器、或便携式平板终端。在这种情况下,在用户确认由gui指示的、用于将目标物体41移动到目标区域42的机器人10的操作之后,确认装置7经由触摸面板上的gui接收确定结果。或者,确认装置7由相机构成。在用户确认由投影器、hmd或ar眼镜指示的、用于将目标物体41移动到目标状态的机器人10的模拟操作之后,确认装置7基于用户的手势操作接收确定结果。或者,可以使用这些方法之外的方法,只要该方法可以接收用户的确定结果即可。

基于从获取单元211获取的图像,指令单元212指示用户进行预定操作。具体地,如果指令单元212获取供应区域或目标区域42的图像,则为了指示用户将目标物体41移动到目标区域42,指令单元212向指令装置5发送指令触发。此外,如果用户确定机器人10的模拟不合适,则基于来自估计单元213的命令,指令单元212将指令触发发送到指令装置5。

基于从获取单元211获取的视觉信息,估计单元213估计目标物体41将由保持设备3运送到的区域。此外,基于视觉信息和目标物体41的估计区域,估计单元213通过使用目标区域42中具有物体的区域的图像特征来估计要放置目标物体41的位置。例如,为了向用户指示将确定的目标物体41移动到目标区域42中所包括的任何放置区域的机器人10的操作,估计单元213将控制值发送到控制器4。在控制操纵器1之前,控制器4将用于执行模拟的操作信息发送到控制器4。如果存在多个操作信息候选,并且当机器人10实际操作时,执行以最高概率将目标物体41移动到目标区域42的操作信息。或者,估计单元213可以将多个操作信息候选发送到确定单元205。在这种情况下,优先考虑任务成功概率高的操作信息,由此确定单元205使用户能够按概率降序确认操作信息。

此外,在控制器4将用于执行模拟的操作信息发送到确定单元205之后,获取单元211从确定单元205获取关于操作是否合适的用户确定的结果。操作信息是关于用于在目标物体41移动到目标区域42时执行控制的机器人10的操作的信息,并且包括关于物理变化的信息(诸如操纵器1和保持设备3要移动的轨迹和速度)。如果获得操作不合适的确定,则为了指示用户进一步将再一个目标物体41再移动到目标区域42,获取单元211向指令单元212发送命令。如果获得操作合适的确定,则以比通常更慢地进行操作的方式控制机器人10。

如果基于关于机器人10的操作信息执行预定操作的模拟,则确定单元205从用户接收关于基于控制值执行的模拟是否合适的确定结果。向用户指示的模拟的内容是关于直到移动完成为止的操作的进度的信息(诸如在移动目标物体41时机器人10要采取哪个轨迹)、或者关于移动完成状态的信息(诸如目标物体41将被放置在哪个位置和姿势)。如果从控制器4接收到用于执行机器人10的模拟的信息,则确定单元205向用户指示该信息。然后,为了获得确定结果,确定单元205向确认装置7发送确认触发。然而,如果指令装置5用于向用户指示操作信息,则确定单元205向指令装置5发送确认触发。如果从用户接收到确定结果,则确定单元205将确定结果发送到估计单元213。

图15是例示根据本示例性实施例的信息处理系统110执行的处理的流程图。分别描述在处理内容上与第一示例性实施例中示出的图4之间的差异。

在步骤s6中,为了指示用户进行预定操作,指令单元212向指令装置5发送指令触发。如果指令单元212基于向用户指示的机器人10的模拟不合适的确定结果从获取单元211获取命令,则使用指令装置5,指令单元212指示用户进一步将目标物体41移动到目标区域42。在该处理中,用户以尽可能高的精度放置物体。图19是在显示器上显示给用户的指示的情况下的gui的示例。

在步骤s20中,确定单元205确定是否第一次要进行运行时操作(机器人10进行的物体运送任务)。如果要进行的运行时操作不是第一次(步骤s20中的“否”),则在步骤s17中控制操纵器1和保持。如果要进行的运行时操作是第一次(步骤s20中的“是”),则处理进入步骤s21。在步骤s21中,确定单元205进行如下处理:将直到步骤s16为止确定的机器人10的操作作为模拟指示给用户,并获得确定结果。

在步骤s21中,指示单元202向用户指示机器人10将目标物体41移动到放置区域的模拟。然后,指示单元202从用户接收关于目标物体41的移动是否合适的确定结果。进行该处理以向用户确认直到步骤s16为止确定的机器人10的控制。在该处理中,作为向用户指示机器人10将目标物体41移动到目标状态的模拟的方法,如在步骤s6中的指令方法中那样使用语音、gui、投影、mr、ar或vr。例如,通过语音向用户指示关于目标物体41的哪个部分将由机器人10保持、目标物体41将如何由机器人10运送、以及目标物体41将由机器人10放置在哪里的信息。在gui的情况下,机器人10的操作模拟显示在显示器上并向用户指示。在投影的情况下,目标物体41以投影映射方式显示在目标区域42上并向用户指示。图20例示了在显示器上指示模拟结果的情况下的gui的示例,以获得用户的确定。如果模拟结果正确,则用户按下ok按钮。如果模拟结果不正确,则用户按下ng按钮。在mr、ar或vr的情况下,机器人10运送和放置目标物体41的状态的操作模拟以叠加的方式显示在真实空间或虚拟空间中并且向用户指示。

在步骤s22中,基于在步骤s21中从用户接收的初步确认的结果,确定单元205确定机器人10的控制值是否合适。如果获得控制值合适的确定(步骤s22中的“是”),则处理进入步骤s23。如果获得了控制值不合适的确定(步骤s22中的“否”),则处理返回到步骤s6。

在步骤s23中,控制器4控制操纵器1移动目标物体41。在该处理中,由于要进行的运行时操作是第一次,因此控制器4以机器人10比通常更慢的速度操作的方式控制机器人10,使得在实际装置中,用户也可以确认根据初步确认中的用户的确定是合适的操作是否真的合适。

如上所述,根据本示例性实施例,在机器人10根据确定的操作进行操作之前,向用户指示基于控制值的模拟,并且获得关于通过机器人10将目标物体41移动到目标区域42的操作是否合适的确定。如果获得操作不合适的确定,则指示用户进一步将再一个目标物体41移动到目标区域42。以这种方式增加教导数据,从而可以预期估计精度的提高。此外,如果获得操作合适的确定,则机器人10比通常更慢地执行操作。

根据第二示例性实施例,在机器人10操作之前,可以预先确认机器人10的操作和目标物体41的移动之后的目标物体41的状态。这减少了重新操作。结果,可以提高操作效率。

接下来,描述本发明的第三示例性实施例。第三示例性实施例与第一示例性实施例的不同之处在于,在机器人10移动目标物体41之后,用户可以进行关于目标物体41是否被放置在目标区域42中的期望区域中的事后确认。对于机器人10不能执行用户教导的任务的情况,存在多种可能的原因。原因的示例包括用户的教导并不可取的情况。更具体地,这是用户错误定位或错误放置目标物体41的情况。在这种情况下,通过用户在教导操作时将目标物体41再次放置在准确位置来纠正该原因。此外,在另一示例情况下,估计单元203未成功进行估计处理。在这种情况下,例如,光的反射影响目标物体41的模板的创建,并且未成功获得物体的区域数据。因此,有可能通过多次尝试教导操作来纠正该原因。为了克服这种原因,根据本示例性实施例,用户教导任务以纠正由机器人10实际进行的操作。以这种方式,即使机器人10进行不正确的操作,也可以在现场容易地校正不正确的操作。因此,可以提高操作效率。

具体地,如果要进行的运行时操作是第一次,则用户可以进行关于目标物体41是否被放置在目标区域42中的事后确认。如果获得放置合适的确定结果,则处理继续进行。如果获得了放置不合适的确定结果,则指示用户将未合适地移动到目标区域42的目标物体41移动到合适的状态。基于移动的结果,机器人10校正用于将目标物体41移动到目标区域42的方法。

图14是例示根据本示例性实施例的信息处理系统110的功能构造的示例的框图。图14所示的信息处理系统110与图3所示的信息处理系统100的不同之处在于添加了确认装置7和确定单元205,并且还在于获取单元211的处理和指令单元212的处理。然而,确认装置7与第二示例性实施例中描述的类似。

当教导任务时,获取单元211获取关于目标物体41移动到目标状态的结果是否合适的用户确定的反馈。通过用户将确认实际状态的结果输入到控制器4来进行反馈。如果机器人10完成执行操作,则获取单元211从获取单元211获取事后确认的确定结果。如果获得操作合适的确定,则处理继续。如果确定操作不合适,则为了指示用户将目标物体41移动到合适的状态,获取单元211将命令发送到指令单元212。

基于来自用户的关于是否合适地运送目标物体41的反馈,确定单元205确定所生成的控制值是否合适。在第一次进行运行时操作或者先前运行时操作失败的情况下,确定单元205与用户进行确认。通过确认目标物体41的放置位置来进行确定。例如,在通过拾取和放置将目标物体41放置在预定位置的任务的情况下,如果目标物体41被放置在预定位置,则用户确定该移动是合适的。然而,如果目标物体41从预定位置移位,或者运送了目标物体41之外的其他物体,则用户确定移动不合适。确定结果被发送到估计单元213。

基于来自估计单元213的指令触发,指令单元212向指令装置5发送指令触发,以将目标物体41移动到目标区域42中的合适区域。

图16是例示根据本示例性实施例的信息处理系统110执行的处理的流程图。分别描述在处理内容上与第一示例性实施例中示出的图4之间的差异。

在步骤s20中,确定单元205确定是否第一次要进行运行时操作。如果要进行的运行时操作不是第一次(步骤s20中的“否”),则进行步骤s24中的确定处理。如果要进行的运行时操作是第一次(步骤s20中的“是”),则处理进入步骤s25。在步骤s25中,确定单元205与用户确认模拟。如果用户希望还检查在第二次及随后次要进行的运行时操作,则可以将该处理中的次数设置为诸如第二次或第三次的其他次数。因此,可以不必进行这样的设置:只有要进行的运行时操作是第一次,处理才进行到步骤s25。

在步骤s24中,确定单元205确定先前的运行时操作是否成功。如果先前的运行时操作成功(步骤s24中的“是”),则处理进入步骤s18。如果先前的运行时操作失败(步骤s24中的“否”),则处理进入步骤s25。在步骤s25中,确定单元205与用户确认操作的结果。该构造用于如下情况:即使目标物体41到目标区域42的移动在第一次进行的运行时操作中成功,但是目标物体41到目标区域42的移动在第二次进行的运行时操作中失败,使得能够进行确认。此外,在该流程图中,基于先前运行时操作的成功或失败来确定下一处理。或者,可以考虑故障的数量。例如,如果同一目标物体41的运送连续两次失败,则可以进行暂停操作、停止机器人10和呼叫操作员的处理。在这种情况下,再次指示用户后续处理中将目标物体41移动到合适状态。这是因为,如果即使根据多次给出的指令也不能确定合适的操作,则有可能难以确定这种情况下的操作,或者由于系统的故障而不能进行合适的操作。

在步骤s25中,获取单元211获取关于通过机器人10将目标物体41移动到目标区域42的操作是否合适的用户确定的反馈。通过用户将确认实际状态的结果输入到控制器4等来进行反馈。具体地,在用于运送物体的任务的情况下,获取单元211确认物体是否被成功放置在期望的位置。图21是在显示器上与用户进行确认的情况下的gui的画面的示例。可以通过在控制器4完成对机器人10的控制的情况下向指令单元212发送控制完成触发、并通过指令单元212使用来自指令装置5的输入,来指示当用户被指示进行确认时的定时。或者,可以采用其他方法。如果用户从指令装置5接收到指令并输入确定结果,则确认装置7接收确定结果,并且确定单元205接收确定结果信息并将确定结果发送到估计单元213。

在步骤s26中,确定单元205确定机器人10将目标物体41移动到目标区域42的操作是否合适。确定单元205获取在步骤s25中由用户输入的反馈,并基于所获取的反馈确定下一个处理。如果获得了操作合适的确定结果(步骤s26中的“是”),则处理进入步骤s18。如果获得了操作不合适的确定结果(步骤s26中的“否”),则处理进入步骤s27。在步骤s27中,进行校正机器人10的操作的处理。

在步骤s27中,指令单元212指示用户将目标物体41移动到合适的状态。如果估计单元213获取目标物体41到目标区域42的运送不合适的确定结果,则需要补偿不足的信息以确定机器人10的合适操作。例如,为了重新识别正确的移动状态,指示用户再次将目标物体41移动到目标状态。用户要进行的操作可以与步骤s6中进行的任务教导的操作不同。例如,如果需要校正要保持目标物体41的位置,则用户教导要保持目标物体41的位置。这在信息处理装置20提供目标物体41的重心被设置为保持位置的默认规则的情况下是有效的。图22是在显示器上指示用户对机器人10教导保持位置的情况下的gui的画面的示例。指示用户通过用鼠标点击要保持的部分或者在触摸面板上轻击要保持的部分来对机器人10教导保持位置。如果通过机器人10进行的任务的失败原因是已知的,则给出这样的反馈,由此可以期望减少任务操作的失败。为了向用户给出指令,指令单元212向指令装置5发送指令触发。然后,处理返回到步骤s7,并且处理继续。

如上所述,根据本示例性实施例,用户现场确定基于生成的控制值而执行的机器人10的操作。如果操作不正确,则用户现场校正操作。即使机器人10执行不正确的操作,也可以容易地现场校正不正确的操作。因此,可以提高操作效率。

在第一至第三示例性实施例中,当用户移动目标物体41时,用户可能不需要将目标物体41从初始状态移动到目标状态。用户可以将目标物体41从目标状态移动到初始状态。例如,当进行拾取和放置时,用户可能不需要将目标物体41从要拾取目标物体41的供应位置移动到要放置目标物体41的放置区域。用户可以将放置区域中存在的目标物体41移动到供应位置。在这种情况下,向信息处理装置输入如下信息,该信息指示当前状态是在移动之前物体处于目标区域42中包括的放置区域中的状态,并且物体移动之后的状态是初始状态。此外,用户可能不需要从初始状态移动目标物体41。用户可以将目标物体41从中间状态移动,只要可以通过其他方法已知初始状态即可。通过其他方法已知初始状态的情况的示例包括如下情况:目标物体41的供应状态总是恒定,并且信息处理装置20在识别该事实的同时进行处理。

在第一至第三示例性实施例中,要获取的视觉信息可以是静止图像或运动图像。此外,在运动图像的情况下,可以手动设置或自动设置摄像的开始和结束的定时。如果手动设置定时,则用户可以在开始或结束的定时输入触发,或者可以基于预先确定的时间来设置定时。如果自动设置定时,则通过跟踪图像中物体的运动,在物体开始移动的情况下开始摄像,并且在物体停止的情况下结束摄像。或者,可以采用如下方法:识别用户的手并且当手在图像中存在时拍摄手。

其他实施例

还可以通过读出并执行记录在存储介质(也可更完整地称为“非临时性计算机可读存储介质”)上的计算机可执行指令(例如,一个或更多个程序)以执行上述实施例中的一个或更多个的功能、并且/或者包括用于执行上述实施例中的一个或更多个的功能的一个或更多个电路(例如,专用集成电路(asic))的系统或装置的计算机,来实现本发明的实施例,并且,可以利用通过由所述系统或装置的所述计算机例如读出并执行来自所述存储介质的所述计算机可执行指令以执行上述实施例中的一个或更多个的功能、并且/或者控制所述一个或更多个电路执行上述实施例中的一个或更多个的功能的方法,来实现本发明的实施例。所述计算机可以包括一个或更多个处理器(例如,中央处理单元(cpu),微处理单元(mpu)),并且可以包括分开的计算机或分开的处理器的网络,以读出并执行所述计算机可执行指令。所述计算机可执行指令可以例如从网络或所述存储介质被提供给计算机。所述存储介质可以包括例如硬盘、随机存取存储器(ram)、只读存储器(rom)、分布式计算系统的存储器、光盘(诸如压缩光盘(cd)、数字通用光盘(dvd)或蓝光光盘(bd)tm)、闪存设备以及存储卡等中的一个或更多个。

本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(cpu)、微处理单元(mpu)读出并执行程序的方法。

虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明并不限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构和功能。

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