机器人控制装置、机器人系统、机器人以及机器人控制方法与流程

文档序号:14453245阅读:396来源:国知局
机器人控制装置、机器人系统、机器人以及机器人控制方法与流程

本发明涉及机器人控制装置、机器人系统、机器人、机器人控制方法以及程序。



背景技术:

在专利文献1中记载有如下的机器人控制装置,即,在机器人的阻抗控制中,若作用于机器人前端的按压反作用力超过规定的大小,则求出按压反作用力成为被设定了的限制值这样的准目标位置,并对该准目标位置加上与按压反作用力相应的位置修正量来求出目标位置。

专利文献1:日本特开2000-301479号公报

然而,在专利文献1的技术中,在工件等对象物的当前位置距目标位置超过预期地大幅偏移的情况下,难以将对象物向目标位置移动。例如,在将工件嵌入至孔的嵌合作业中,通过利用阻抗控制将工件按压至孔的边缘等,能够完成作业。然而,在工件的位置距孔较远地偏移的情况下,在阻抗控制中不能够检测工件相对于孔如何地偏移(方向、距离等),所以难以修正当前位置来完成作业。若要完成机器人的作业,则产生用户修正机器人的轨道,再次进行示教等用户的作业。



技术实现要素:

鉴于此,本发明的目的在于在由机器人进行的作业中,即使在产生了对象物的位置偏移等的情况下,也高效地使对象物向目标位置移动。

解决上述的课题的本发明的第一方式是机器人控制装置,具有:图像获取部,其获取机器人的可动部的端点处于目标位置时的包含上述端点的图像亦即目标图像、以及上述端点处于当前位置时的包含上述端点的图像亦即当前图像;第一控制部,其基于上述当前图像以及上述目标图像,生成使上述端点从上述当前位置移动至上述目标位置的指令值;第二控制部,其基于来自检测作用于上述可动部的力的力检测部的输出,生成使上述端点移动的指令值;第三控制部,其使用通过上述第一控制部生成的指令值和通过上述第二控制部生成的指令值使上述可动部移动。由此,即使在产生了对象物的位置偏移等的情况下,也能够通过第一控制部的指令值而高精度地修正可动部的位置。另外,即使在基于第一控制部的指令值的可动部的轨道变得没效率的情况下,也能够通过第二控制部的指令值修正为效率高的轨道。

解决上述课题的本发明的第二方式是机器人控制装置,具有:控制部,其以使机器人的可动部的端点靠近目标位置的方式控制上述可动部;图像获取部,其获取上述端点处于目标位置时的包含上述端点的图像亦即目标图像、以及上述端点处于当前位置时的包含上述端点的图像亦即当前图像,上述控制部基于上述当前图像以及上述目标图像、和来自检测作用于上述可动部的力的力检测部的输出,控制上述可动部的移动。由此,即使在产生了对象物的位置偏移等的情况下,也能够通过基于图像的控制来高精度地修正可动部的位置。另外,在基于图像的控制的可动部的轨道变得没效率的情况下,也能够通过基于力的控制而修正为效率高的轨道。

在上述的机器人控制装置中,也可以为上述第三控制部使用将通过上述第一控制部生成的指令值和通过上述第二控制部生成的指令值分别以规定的权重相加而得的指令值,使上述可动部移动。由此,能够以可动部的轨道、作业的精度成为所希望的轨道、作业的精度的方式进行调整。

在上述的机器人控制装置中,也可以具有从用户受理上述规定的权重的设定的输入部。由此,能够以成为用户希望的轨道、作业的精度的方式设定权重。

在上述的机器人控制装置中,也可以为上述第三控制部基于上述当前位置和上述目标位置的距离来确定上述规定的权重。由此,权重根据距离而变化,所以能够高精度地进行控制。另外,由于权重根据距离而连续地变化,所以能够顺畅地切换控制。

在上述的机器人控制装置中,也可以为上述第三控制部基于上述图像获取部获取的图像来确定上述距离。由此,能够基于与第一控制部使用的图像相同的图像来确定距离,所以能够防止图像处理的负荷的增加。

在上述的机器人控制装置中,也可以为上述距离变得越小,上述第三控制部越使与通过上述第二控制部生成的指令值对应的规定的权重增大。在如靠近目的位置的位置那样,在有效地得到基于力控制的效果的位置,修正基于第一控制部的没效率的轨道,能够更加高效地进行可动部的移动。

在上述的机器人控制装置中,也可以为上述第三控制部在上述距离比规定值大的情况下,使与通过上述第二控制部生成的指令值对应的规定的权重为0。在如远离目的位置的位置那样,不能够有效地得到基于力控制的效果的位置,能够通过第一控制部高效地进行可动部的移动。

用于解决上述的课题的本发明的第三方式是机器人,具有:可动部;力检测部,其检测作用于上述可动部的力;图像获取部,其获取上述可动部的端点处于目标位置时的包含上述端点的图像亦即目标图像、以及上述端点处于当前位置时的包含上述端点的图像亦即当前图像;第一控制部,其基于上述当前图像以及上述目标图像,生成使上述端点从上述当前位置向上述目标位置移动的指令值;第二控制部,其基于来自上述力检测部的输出,生成使上述端点移动的指令值;第三控制部,其使用通过上述第一控制部生成的指令值和通过上述第二控制部生成的指令值使上述可动部移动。由此,即使在产生了对象物的位置偏移等的情况下,也能够通过第一控制部的指令值高精度地修正可动部的位置。另外,即使在基于第一控制部的指令值的可动部的轨道变得没效率的情况下,也能够通过第二控制部的指令值修正为效率高的轨道。

用于解决上述的课题的本发明的第四方式是机器人,具有:可动部;力检测部,其检测作用于上述可动部的力;控制部,其以使上述可动部的端点靠近目标位置的方式控制上述可动部;图像获取部,其获取上述端点处于目标位置时的包含上述端点的图像亦即目标图像、以及上述端点于当前位置时的包含上述端点的图像亦即当前图像,上述控制部基于上述当前图像以及上述目标图像、和来自上述力检测部的输出,控制上述可动部的移动。由此,即使在产生了对象物的位置偏移等的情况下,也能够通过基于图像的控制而高精度地修正可动部的位置。另外,即使在基于图像的控制的可动部的轨道变得没效率的情况下,也能够通过基于力的控制而修正为效率高的轨道。

用于解决上述的课题的本发明的第五方式是机器人系统,具有:机器人,具有可动部;图像获取部,获取上述可动部的端点处于目标位置时的包含上述端点的图像亦即目标图像、以及上述端点处于当前位置时的包含上述端点的图像亦即当前图像;第一控制部,其基于上述当前图像以及上述目标图像,生成使上述端点从上述当前位置向上述目标位置移动的指令值;第二控制部,其基于来自检测作用于上述可动部的力的力检测部的输出,生成使上述端点移动的指令值;第三控制部,其使用通过上述第一控制部生成的指令值和通过上述第二控制部生成的指令值使上述可动部移动。由此,即使在产生了对象物的位置偏移等的情况下,也能够通过第一控制部的指令值高精度地修正可动部的位置。另外,即使在基于第一控制部的指令值的可动部的轨道变得没效率的情况下,也能够通过第二控制部的指令值修正为效率高的轨道。

用于解决上述的课题的本发明的第六方式是机器人系统,具有:机器人,其具有可动部;控制部,其以使上述可动部的端点靠近目标位置的方式控制上述可动部;图像获取部,获取上述端点处于目标位置时的包含上述端点的图像亦即目标图像、以及上述端点处于当前位置时的包含上述端点的图像亦即当前图像,上述控制部基于上述当前图像以及上述目标图像、和来自检测作用于上述可动部的力的力检测部的输出,控制上述可动部的移动。由此,即使在产生了对象物的位置偏移等的情况下,也能够通过基于图像的控制高精度地修正可动部的位置。另外,即使在基于图像的控制的可动部的轨道变得没效率的情况下,也能够通过基于力的控制修正为效率高的轨道。

用于解决上述的课题的本发明的第七方式是机器人控制方法,包括:获取机器人的可动部的端点处于目标位置时的包含上述端点的图像亦即目标图像、以及上述端点处于当前位置时的包含上述端点的图像亦即当前图像的图像获取步骤;基于上述当前图像以及上述目标图像,生成使上述端点从上述当前位置向上述目标位置移动的指令值的第一控制步骤;基于来自检测作用于上述可动部的力的力检测部的输出,生成使上述端点移动的指令值的第二控制步骤;使用通过上述第一控制步骤生成的指令值以及通过上述第二控制步骤生成的指令值使上述可动部移动的第三控制步骤。由此,即使在产生了对象物的位置偏移等的情况下,也能够通过第一控制步骤的指令值来高精度地修正可动部的位置。另外,即使在基于第一控制步骤的指令值的可动部的轨道变得没效率的情况下,也能够通过第二控制步骤的指令值修正为效率高的轨道。

用于解决上述的课题的本发明的第八方式是机器人控制方法,包括:以使机器人的可动部的端点靠近目标位置的方式控制上述可动部的控制步骤;获取上述端点处于目标位置时的包含上述端点的图像亦即目标图像、以及上述端点处于当前位置时的包含上述端点的图像亦即当前图像的图像获取步骤,在上述控制步骤中,基于上述当前图像以及上述目标图像、和来自检测作用于上述可动部的力的力检测部的输出,控制上述可动部的移动。由此,即使在产生了对象物的位置偏移等的情况下,也能够通过基于图像的控制来高精度地修正可动部的位置。另外,即使在基于图像的控制的可动部的轨道变得没效率的情况下,也能够通过基于力的控制而修正为效率高的轨道。

用于解决上述的课题的本发明的第九方式是机器人控制方法,并行控制基于包含机器人的可动部的端点的图像的上述可动部的控制、以及基于来自检测作用于上述可动部的力的力检测部的输出的上述可动部的控制。由此,即使在产生了对象物的位置偏移等的情况下,也能够通基于图像的控制来高精度地修正可动部的位置。另外,即使在基于图像的控制的可动部的轨道变得没效率的情况下,也能够通过基于力的控制而修正为效率高的轨道。

用于解决上述课题的本发明的第十方式是机器人控制装置的程序,使上述机器人控制装置作为以下各部发挥功能,即:图像获取部,其获取机器人的可动部的端点处于目标位置时的包含上述端点的图像亦即目标图像、上述端点处于当前位置时的包含上述端点的图像亦即当前图像;第一控制部,其基于上述当前图像以及上述目标图像,生成使上述端点从上述当前位置向上述目标位置移动的指令值;第二控制部,其基于来自检测作用于上述可动部的力的力检测部的输出,生成使上述端点移动的指令值;第三控制部,其使用通过上述第一控制部生成的指令值和通过上述第二控制部生成的指令值使上述可动部移动。由此,即使在产生了对象物的位置偏移等的情况下,也能够通过第一控制部的指令值而高精度地修正可动部的位置。另外,即使在基于第一控制部的指令值的可动部的轨道变得没效率的情况下,也能够通过第二控制部的指令值而修正为效率高的轨道。

附图说明

图1是表示第一实施方式的机器人系统的概要结构的一个例子的图。

图2是表示机器人系统的功能结构的一个例子的图。

图3是表示机器人系统中的数据以及控制的流程的一个例子的图。

图4是对表示合成指令值的比率的权重的设定方法的一个例子进行说明的图。

图5是对基于力控制的嵌合作业的一个例子进行说明的图。

图6是对基于力控制的嵌合作业的一个例子进行说明的图。

图7是对基于视觉伺服的嵌合作业的一个例子进行说明的图。

图8是对基于力控制以及视觉伺服的并行控制的嵌合作业的一个例子进行说明的图。

图9是表示机器人控制装置的动作的一个例子的流程图。

图10是表示实现机器人控制装置的功能的硬件结构的一个例子的图。

图11是表示机器人系统的功能结构的一个例子的图。

图12是对机器人控制装置中的各控制的并行处理的一个例子进行说明的图。

图13是对生成移动指令的各时刻处的视觉伺服控制的指令值的决定方法的一个例子进行说明的图。

图14是表示主控制部的动作的一个例子的流程图(其1)。

图15是表示主控制部的动作的一个例子的流程图(其2)。

图16是表示主控制部的动作的一个例子的流程图(其3)。

图17是表示位置控制部的动作的一个例子的流程图。

图18是表示阻抗控制部的动作的一个例子的流程图。

图19是表示视觉伺服控制部的动作的一个例子的流程图(其1)。

图20是表示视觉伺服控制部的动作的一个例子的流程图(其2)。

图21是表示第二实施方式的第一变形例的位置控制部的动作的一个例子的流程图。

图22是表示第三实施方式的机器人系统的功能结构的一个例子的图。

图23是表示综合控制部(位置控制、阻抗控制、以及视觉伺服控制)的动作的一个例子的流程图。

图24是表示位置控制部的动作的一个例子的流程图。

图25是表示阻抗控制部的动作的一个例子的流程图。

图26是表示第三实施方式的第一变形例的综合控制部(位置控制以及视觉伺服控制)的动作的一个例子的流程图。

图27是表示第三实施方式的第二变形例的综合控制部(阻抗控制以及视觉伺服控制)的动作的一个例子的流程图。

图28是表示第三实施方式的第三变形例的综合控制部(位置控制、以及阻抗控制)的动作的一个例子的流程图。

具体实施方式

第一实施方式

参照附图对本实施方式进行说明。

图1是表示本实施方式涉及的机器人系统1的概要结构的一个例子的图。如图1所示,机器人系统1具备机器人控制装置10、机器人20以及拍摄装置30。机器人控制装置10与机器人20及拍摄装置30以可通信的方式连接。

机器人控制装置10控制机器人20的整体。并且,机器人控制装置10控制拍摄装置30的拍摄。

机器人20按照来自机器人控制装置10的控制信号进行动作及作业。不对机器人的作业内容进行特别限定,但例如考虑在作业台T上将工件W1嵌入至工件W2的孔H的作业等。可以将工件称为作业的对象物。

机器人20具有包括一个以上的关节23以及一个以上的连杆24的臂22、设置于臂22的前端部的手26、设置于臂22的前端部和手26之间(也可以称作手腕部分。)的力觉传感器25。

力觉传感器25例如检测作用于手26的力、力矩。力觉传感器25的输出被输送至机器人控制装置10,用于由机器人控制装置10进行的机器人20的阻抗控制等。作为力觉传感器25,例如能够使用能够同时检测并进3轴向的力分量和绕3轴旋转的力矩分量这六个分量的6轴力觉传感器。当然,不对力觉传感器25的轴数进行特别限定,例如也可以是3轴力觉传感器。应予说明,也可以将力觉传感器25称作力检测部。

手26例如具备多根手指,并能够利用至少二根手指来把持对象物W(W1、W2)。手26也可以针对臂22的前端部可拆装。应予说明,可以将手26称为末端执行器的一种。末端执行器是用于把持、抬起、吊起、吸附对象物或加工工件的部件。末端执行器能够采取手、钩、吸盘等各种方式。并且,也可以针对一个臂设置多个末端执行器。

也可以将包括臂22、力觉传感器25以及手26的单元称作可动部或机械手(以下称作可动部。)。在图1的例子中,机器人20具有两个可动部21。为了使关节23、手26等各部动作,在可动部21例如具备促动器(未图示)。促动器例如具备伺服马达、编码器等。编码器输出的编码器值例如用于由机器人控制装置10、下述的机器人20的驱动控制部200(参照图2)进行的机器人20的反馈控制等。

机器人20通过按照从机器人控制装置10赋予的控制命令而连动地驱动各关节23,能够使设定于臂22的前端部等的注视位置(以下称为端点。)在规定的可动范围内任意地移动、朝向任意的方向。另外,能够用手26把持、松开对象物等。

应予说明,端点的位置并不局限于臂的前端部,例如也可以设定于末端执行器的前端部等。

拍摄装置30拍摄机器人20的作业区域(例如作业台T上的能够通过可动部21进行作业的范围的三维空间),并生成图像数据。在图1的例子中,两台拍摄装置30分别以不同的角度设置在作业台T上。拍摄装置30例如能够采用可见光照相机、红外线照相机等。由拍摄装置30拍摄到的图像被输入至机器人控制装置10。

对于上述的机器人系统1的结构,在说明本实施方式的特征时说明了主要结构,上述的机器人系统1的结构不局限于上述的结构例。并且,上述的机器人系统1的结构不排除一般的机器人系统所具备的结构。

例如,在图1中示出关节数为6个(6轴)的例子,但也可以对关节的数量(也称“轴数”)、连杆的数量进行增减。另外,也可以适当地变更关节、连杆、手等各种部件的形状、大小、配置、构造等。

另外,例如不对拍摄装置30的设置位置进行特别限定,也可以将拍摄装置30设置于顶棚、墙壁。另外,也可以替换拍摄装置30或者在拍摄装置30的基础上,在机器人20的臂22的前端部分、躯干部或者头部等设置拍摄装置。另外,例如,也可以将拍摄装置30与机器人20连接。在该情况下,通过拍摄装置30拍摄的图像经由机器人20被输入至机器人控制装置10。另外,也可以将机器人控制装置10内置于机器人20。

图2是表示机器人系统1的功能结构的一个例子的图。

机器人20具有驱动控制部200。

驱动控制部200基于从机器人控制装置10输出的控制命令和促动器的编码器值以及传感器的传感器值等,以端点的位置成为由控制命令指示的目标位置的方式使促动器驱动。应予说明,例如能够根据促动器中的编码器值等求出端点的当前位置。

机器人控制装置10具有视觉伺服部(第一控制部)100、力控制部(第二控制部)110、图像获取部120以及第三控制部130。视觉伺服部100具有图像处理部102以及第一轨道生成部104。力控制部110具有传感器信息获取部112以及第二轨道生成部114。

视觉伺服部100经由图像获取部120获取拍摄装置30拍摄的图像。另外,视觉伺服部100执行视觉伺服来使臂22移动,所述视觉伺服是基于获取的图像来测量与目标物的相对位置的变化作为视觉信息,并通过将该视觉信息作为反馈信息使用来追踪目标物的控制方法。应予说明,在本实施方式中,作为视觉伺服,采用基于对象的三维位置信息来控制机器人的基于位置法,上述对象的三维位置信息是使用利用产生视差的两张图像使图像识别为立体的立体像对等方法而计算出的。应予说明,作为视觉伺服,也可以采用基于从目标的图像提取出的特征量和从当前的图像提取的特征量来控制机器人的基于图像法。

图像处理部102由从图像获取部120获取的图像来识别端点,并提取包含该识别出的端点的图像。应予说明,图像处理部102进行的图像识别处理可以使用一般的各种技术,所以省略说明。

第一轨道生成部104基于通过图像处理部102提取出的图像(以下称为当前图像)以及端点处于目标位置时的图像(以下称目标图像)来设定端点的轨道,即端点的移动量以及移动方向。应予说明,将预先获取的目标图像存储于存储器等存储部即可。

另外,第一轨道生成部104基于设定了的端点的移动量以及移动方向来决定设置于各关节23的各促动器的目标角度。并且,第一轨道生成部104生成使臂22移动目标角度的指令值并向第三控制部130输出。应予说明,第一轨道生成部104进行的轨道的生成处理、目标角度的确定处理、指令值的生成处理等能够使用一般的各种技术,所以省略详细的说明。

力控制部110基于来自机器人20的力觉传感器25的传感器信息(表示力信息、力矩信息的传感器值)进行力控制(也称作力觉控制)。在本实施方式中,进行阻抗控制作为力控制。阻抗控制是用于将从外界对机器人的指尖(手26等)施加了力的情况下产生的机械阻抗(惯性、衰减系数、刚性)设定为对目标作业正合适的值的位置和力的控制方法。具体而言,例如在机器人的末端执行器部连接质量、粘性系数以及弹性要素的模型中,是以作为目标设定的质量、粘性系数以及弹性系数与物体接触的方式进行的控制。

应予说明,为了进行力控制,需要检测施加至手26等末端执行器的力、力矩,但检测施加至末端执行器的力、力矩的方法不局限于使用力觉传感器的方法。例如,也能够根据臂22的各轴转矩值来推定作用于末端执行器的外力。因此,为了进行力控制,臂22具有直接或者间接地获取施加至末端执行器的力的机构即可。

传感器信息获取部112获取从机器人20的力觉传感器25输出的传感器信息(检测出的传感器值等)。应予说明,也可以将传感器信息获取部112称作力检测部。

第二轨道生成部114通过阻抗控制来确定端点的移动方向以及移动量。另外,第二轨道生成部114基于端点的移动方向以及移动量来确定设置于各关节23的各促动器的目标角度。另外,第二轨道生成部114生成使臂22移动目标角度的指令值并向第三控制部130输出。应予说明,第二轨道生成部114进行的轨道的生成处理、目标角度的决定处理、指令值的生成处理等能够使用一般的各种技术,所以省略详细的说明。

应予说明,在具有关节的机器人20中,一旦决定各关节的角度,则通过正向运动处理唯一地决定出端点的位置。换句话说,在N关节机器人中能够通过N个关节角度来表现一个目标位置,所以若将该N个关节角度组作为一个目标关节角度,则可认为端点的轨道为目标关节角度的集合。因此,从第一轨道生成部104以及第二轨道生成部114输出的指令值可以是与位置相关的值(目标位置),也可以是与关节的角度相关的值(目标角度)。

图像获取部120获取拍摄装置30拍摄到的图像,并将其输出至视觉伺服部100以及第三控制部130。

第三控制部130将从视觉伺服部(第一控制部)100输出的指令值和从力控制部(第二控制部)110输出的指令值,使用各自设定的权重进行合成。另外,第三控制部130向机器人20输出指示以使端点的位置即可动部21基于合成的指令值移动。

另外,第三控制部130由从图像获取部120获取的图像识别出两个位置(例如端点的当前位置和端点的目标位置),并计算从当前位置至目标位置的距离。然后,根据该计算出的距离的长度来设定合成指令值的权重的比率。另外,第三控制部130具有获取从机器人20的力觉传感器25输出的传感器信息的功能(也可以称作“力检测部”。)。下述第三控制部130的处理的详细内容。

图3是表示机器人系统1中的数据以及控制的流程的一个例子的图。

在视觉伺服部100中,用于使用来自拍摄装置30的信息使当前位置靠近目标位置的视觉反馈回路运行。第一轨道生成部104获取目标图像作为与目标位置相关的信息。另外,第一轨道生成部104为了以图像上的坐标系表示当前图像以及当前图像上的目标位置,将该坐标系变换为机器人中的坐标系。另外,第一轨道生成部104基于变换后的当前的当前图像以及目标图像生成轨道以及指令值(这里为目标角度)。

在力控制部110中,基于来自力觉传感器25的传感器信息,利用作为目标设定的阻抗(目标阻抗),用于使机器人的指尖与物体接触的反馈回路运行。第二轨道生成部114以获取的传感器信息的值成为目标阻抗的方式生成轨道以及指令值(这里为目标角度)。

第三控制部130将基于从第一轨道生成部104输出的指令值和从第二轨道生成部114输出的指令值的指令值输出至机器人20。具体而言,第三控制部130将从第一轨道生成部104输出的指令值乘以权重α(0≤α≤1),将从第二轨道生成部114输出的指令值乘以权重β(β=1-α),并将该两个指令值合成后的指令值输出至机器人20。可以说权重α以及权重β是表示合成视觉伺服的指令值以及力控制的指令值的比率的值。下述α和β的比率的设定方法。

应予说明,一般而言,图像处理的负荷较高,所以假定视觉伺服部100输出指令值的间隔(例如每隔30毫秒(msec))比力控制部110输出指令值的间隔(例如每隔1毫秒(msec))长。在该情况下,第三控制部130在未从视觉伺服部100输出指令值时,将从力控制部110输出的指令值乘以权重β,最后将从视觉伺服部100输出的指令值乘以权重α,并将它们合成后的指令值输出至机器人20即可。第三控制部130预先将最后从视觉伺服部100输出的指令值暂时存储至存储器等存储部,读出该指令值并使用即可。

驱动控制部200从机器人控制装置10获取指令值(目标角度)。驱动控制部200基于设置于各关节23的各促动器的编码器值等获取当前角度,并计算目标角度和当前角度的差值(偏差角度)。另外,驱动控制部200基于偏差角度计算臂22的移动速度(例如偏差角度越大则越使移动速度加速),并使可动部21以计算出的移动速度移动计算出的偏差角度。

图4是对表示合成指令值的比率的权重的设定方法的一个例子进行说明的图。在图4中示出将纵轴设为权重α以及权重β的比率,将横轴设为从当前位置至目标位置的距离的曲线图。应予说明,如上述那样,α+β=1。

能够将当前位置例如设为端点的当前位置。另外,能够将目标位置例如设为端点在目标图像中的位置。当然,当前位置和目标位置并不局限于端点的位置,例如,也可以将当前位置设为手26把持的工件W的特定的点的位置,将目标位置设为工件W在目标图像中的位置。

在图4的例子中,从当前位置至目标位置的距离d和权重的比率的关系为随着从当前位置至目标位置的距离d变小,系数α的比率单调递减(β的比率单调递增)的关系。比率的变化的形式可以是曲线,也可以是直线。机器人控制装置10例如能够经由键盘等输入部从用户受理比率的变化形式的设定。

另外,在图4的例子中,在距离d变得比规定距离c小的情况下,系数α的比率从最大值1转为减少。对于规定距离c,能够设定假定能够有效得到力控制的效果的距离。对于规定距离的设定方法,参照图5~8,以将工件W1嵌入至工件W2的孔H的作业为例进行说明。

例如如图5(对基于力控制的嵌合作业的一个例子进行说明的图)所示那样,考虑工件W1移动的结果为工件W1和工件W2的接触面的位置偏移至不到达孔H的边缘的较远的位置的情况。在该情况下,即使在工件W1与工件W2接触的时刻开始阻抗控制而将工件W1向工件W2按压,工件W1也不进入孔H。即,不能够得到阻抗控制的效果。另一方面,如图6(对基于力控制的嵌合作业的一个例子进行说明的图)所示那样,考虑工件W1移动的结果为工件W1和工件W2的接触面的位置位于到达孔H的边缘的位置的情况。在该情况下,若在工件W1与工件W2接触的时刻开始阻抗控制而将工件W1向工件W2按压,则工件W1变得容易嵌入至孔H。即,能够得到阻抗控制的效果。像这样,距离d越小,则得到阻抗控制的效果的可能性越高。

因此,例如若将得不到阻抗控制的效果的距离设为c1(例如2mm),将机器人20的动作的精度误差设为c2(例如3mm),则能够定义为距离c=c1+c2。优选根据作业内容、机器人规格,用户调整距离c的设定。机器人控制装置10例如能够经由键盘等输入部从用户受理距离c的设定。

应予说明,例如如图7(对基于视觉伺服的嵌合作业的一个例子进行说明的图)所示那样,考虑工件W1移动的结果为工件W1和工件W2的接触面的位置位于到达孔H的边缘的位置的情况。在该情况下,若在工件W1与工件W2接触的时刻不开始阻抗控制而通过视觉伺服进行工件W1的移动,则根据情况存在端点沿非最短的绕远的即没效率的轨道移动的可能性。另一方面,如图8(对基于力控制以及视觉伺服的并行控制的嵌合作业的一个例子进行说明的图)所示那样,考虑工件W1移动的结果为工件W1和工件W2的接触面的位置位于到达孔H的边缘的位置的情况。在该情况下,在工件W1与工件W2接触的时刻开始了阻抗控制的情况下,基于视觉伺服的端点的轨道被基于阻抗控制的轨道修正,所以以更高效的轨道将工件W1嵌入至孔H的可能性变高。

第三控制部130例如以力控制部110输出指令值的间隔等任意的间隔从图像获取部120获取图像,并通过图像处理识别出两个位置(例如端点的当前位置和端点的目标位置),计算从当前位置至目标位置的距离。另外,第三控制部130基于该计算出的距离和距离与权重比率的关系,获取与该计算出的距离对应的权重α以及权重β的值,并设定为用于指令值的合成的权重。应予说明,也可以将定义了距离与权重比率的关系的表格预先存储于存储部,第三控制部130通过参照该表格来决定权重比率,还可以为第三控制部130通过规定的函数式来决定权重比率。

像这样,通过同时使用视觉伺服和力控制的各指令值(进行并行控制),即使在产生了对象物的位置偏移的情况下,也能够通过视觉伺服高精度地修正位置。另外,即使在基于视觉伺服的轨道成为没效率的情况下,也能够通过力控制而修正为效率高的轨道。

另外,当前位置和目标位置的距离变得越大,则力控制的指令值的比例与视觉伺服的指令值的比例相比变得越小。因此,在如远离目的位置的位置那样,不能够有效地得到基于力控制的效果的位置,能够通过视觉伺服高效地进行可动部的移动。

另外,当前位置和目标位置的距离变得越小,则视觉伺服的指令值的比例与力控制的指令值的比例相比变得越小。因此,在如靠近目的位置的位置那样能够更加有效地得到基于力控制的效果的位置,能够修正基于视觉伺服的没效率的轨道,而能够更加高效地进行可动部的移动。

并且,根据到目的位置为止的距离使权重连续地变化(单调递增或者单调递减)。因此,能够使从视觉伺服向力控制的切换顺畅。

图9是表示机器人控制装置10的动作的一个例子的流程图。该处理例如通过经由未图示的按钮等输入动作开始指示而开始。在图9中考虑将工件W1嵌入至工件W2的孔H的作业。在该作业中经过如下的流程,即:例如工件W1通过视觉伺服从初始位置移动,工件W1暂时与工件W2的孔H的近边接触,之后通过视觉伺服以及阻抗控制将工件W1嵌入至孔H。

若开始图9的流程,则第三控制部130使用视觉伺服部100使端点移动(步骤S1)。并且,第三控制部130获取来自机器人20的力觉传感器25的传感器信息,并基于该获取的传感器信息判断是否在机器人的指尖施加了外力(步骤S2)。在未在机器人的指尖施加外力的情况下(在步骤S2中为否),第三控制部130继续步骤S1的处理。

在机器人的指尖施加了外力的情况下(在步骤S2为是),第三控制部130测量从端点的当前位置至目标位置的距离d(步骤S3)。并且,第三控制部130基于在步骤S3测量出的距离d和定义了距离与权重α以及权重β的关系的表格来设定与测量出的距离d对应的权重比率(步骤S4)。

然后,第三控制部130使用视觉伺服部100和力控制部110使端点移动(步骤S5)。具体而言,如上所述那样,视觉伺服部100以及力控制部110分别计算指令值。第三控制部130将从视觉伺服部100输出的指令值乘以在步骤S4设定的系数α,将从力控制部110输出的指令值乘以在步骤S4设定的系数β,并将它们合成后的指令值输出至机器人20。

并且,视觉伺服部100判定结束视觉伺服的条件是否成立(步骤S6)。例如,视觉伺服部100求出目标图像和当前图像的差别,在该差别在规定的阈值以下的情况下,判断为结束视觉伺服。在结束视觉伺服的条件不成立的情况下(在步骤S6中为否),视觉伺服部100将处理返回至步骤S2。

在结束视觉伺服的条件成立的情况下(在步骤S6中为是),力控制部110判断结束力控制的条件是否成立(步骤S7)。例如,力控制部110基于来自力觉传感器25的传感器信息,在施加至机器人的指尖的外力在规定的阈值以上的情况下,判断为结束力控制。在结束力控制的条件不成立的情况下(在步骤S7中为否),力控制部110将处理返回至步骤S2。在结束力控制的条件成立的情况下(在步骤S7中为是),力控制部110结束图9的流程图的处理。

图10是表示实现机器人控制装置10的功能的硬件结构的一个例子的图。

机器人控制装置10例如能够由图10所示那样的计算机90实现,该计算机90具备CPU(Central Processing Unit:中央处理单元)等运算装置91、RAM(Random Access Memory:随机存储器)等主存储装置92、HDD(Hard Disk Drive:硬盘驱动器)等辅助存储装置93、用于通过有线或者无线与通信网络连接的通信接口(I/F)94、鼠标、键盘、接触式传感器、触摸面板等输入装置95、液晶显示器等显示装置96、进行针对DVD(Digital Versatile Disk)等可携带的存储介质的信息的读写的读写装置97。

例如,视觉伺服部100、力控制部110、图像获取部120、第三控制部130等的功能能够通过运算装置91执行从辅助存储装置93等下载至主存储装置92的特定的程序来实现。输入部例如通过运算装置91利用输入装置95来实现。存储部例如通过运算装置91利用主存储装置92或者辅助存储装置93来实现。与机器人20、拍摄装置30的通信功能例如通过运算装置91利用通信I/F94来实现。应予说明,上述的规定的程序例如也可以从通过读写装置97读取的存储介质安装,也可以经由通信I/F94从网络安装。

机器人20的驱动控制部200例如能够通过具备具有运算装置、存储装置、电路等的ASIC(Application Specific Integrated Circuit)的控制器基板等来实现。

上述的机器人系统1的功能结构是为了使机器人系统1的结构容易理解而根据主要的处理内容加以分类的。本申请发明并不因结构要素的分类的形式、名称而受到限制。也能够根据处理内容而将机器人系统1的结构分类为更多的结构要素。另外,也能够以一个结构要素执行更多的处理的方式进行分类。另外,各结构要素的处理可以由一个硬件来执行,也可以由多个硬件来执行。

另外,机器人控制装置10以及机器人20的功能以及处理的分担不限于图示的例子。例如,也可以为机器人控制装置10的至少一部分的功能包含于机器人20,通过机器人20来实现。另外,例如还可以为机器人20的至少一部分的功能包含于机器人控制装置10,通过机器人控制装置10来实现。

另外,上述的流程图的各处理单位是为了使机器人控制装置10的处理容易理解而根据主要的处理内容分割而成的。本申请发明不因处理单位的分割的形式、名称而受到限制。也能够将机器人控制装置10的处理根据处理内容而分割成更多的处理单位。另外,也能够以一个处理单位包括更多的处理的方式进行分割。

以上,对本实施方式进行了说明。根据本实施方式,在由机器人进行的作业中,即使在产生了对象物的位置偏移等的情况下,也能够高效地使对象物向目标位置移动。

第二实施方式

图11是表示机器人系统1的功能结构的一个例子的图。以下,参照该图对机器人系统1的本实施方式进行说明,但以与上述的实施方式的不同点为中心进行说明,对相同的事项省略其说明。

机器人控制装置10具有主控制部202、位置控制部210、阻抗控制部220、视觉伺服(也可以称作visual servo)控制部230、传感器信息获取部240以及图像获取部120。

应予说明,也可以将位置控制部210、阻抗控制部220、以及视觉伺服控制部230称作“第一控制部”,将主控制部202称作“第二控制部”。

主控制部202使各控制部(位置控制部210、阻抗控制部220、以及视觉伺服控制部230)计算各控制的移动指令值的处理的时刻同步。并且,主控制部202使各控制部针对主控制部202输出移动指令值的处理的时刻同步。以下详细地叙述该同步控制。

并且,主控制部202针对各控制部(位置控制部210、阻抗控制部220、以及视觉伺服控制部230)设定乘以至各控制的移动指令值的权重。主控制部202从各控制部获取移动指令值(加权的移动指令值)并进行合成。另外,主控制部202向机器人20输出包括合成的移动指令值的控制命令以使端点的位置亦即可动部21基于该合成的移动指令值移动。应予说明,“合成”例如是使各指令值相加,但也可以是其他的计算方法。

在本实施方式中,由各控制部(位置控制部210、阻抗控制部220、以及视觉伺服控制部230)进行的各控制(位置控制、阻抗控制、以及视觉伺服控制)能够分别独立地在任意的时刻开始以及结束。由此,在某时间点,既有各控制中的任意一个单独动作的情况,也有各控制中任意二个以上并行动作的情况。各控制的开始条件以及结束条件例如预先由用户设定。机器人控制装置10例如经由键盘等输入装置95、通信接口94从用户受理开始条件以及结束条件的设定。不对开始条件以及结束条件的内容进行特别限定,例如,能够使用路线上的任意的位置、时刻、对象物和端点的距离等。

另外,在本实施方式中,与各控制部(位置控制部210、阻抗控制部220、以及视觉伺服控制部230)输出的移动指令值相乘的权重例如预先由用户设定。主控制部202例如经由键盘等输入装置95、通信接口94从用户受理权重的设定。更具体而言,将各控制(位置控制、阻抗控制、以及视觉伺服控制)的权重分别设为权重α、权重β、权重γ。主控制部202受理上述的各控制的权重的各设定。当然,各控制的权重也可以相等。

如上述那样,通过能够设定各控制(位置控制、阻抗控制、以及视觉伺服控制)中多个控制的并行动作,能够将控制从单独动作切换为并行动作,从并行动作切换为单独动作。由此,能够抑制从某控制的单独动作切换为其他的控制的单独动作而产生的马达的过负荷、机器人的振动。另外,通过使各控制的移动指令值与权重相乘,从而能够根据机器人的作业内容等抑制马达的过负荷、机器人的振动,所以能够进行更加灵活的设定。

应予说明,在本实施方式中使用的“并行”不仅包括使用多个运算装置完全并行地执行多个动作、控制、处理等的情况,也包括使用一个运算装置通过任务的优先控制等实质上并行执行多个动作、控制、处理等的情况。

位置控制部210执行使端点沿预先设定的机器人的动作路线移动的位置控制。

例如,位置控制部210获取与路线相关的信息。所谓路线是将预先通过示教设定的一个以上的示教位置以预先设定的规定的顺序连结形成的路线。与路线相关的信息例如包括各示教位置的坐标、确定该路线上的各示教位置的顺序的信息。与路线相关的信息例如被保持于存储器等存储部。位置控制部210例如能够经由键盘等输入装置95从用户受理与路线相关的信息的设定。

另外,例如,位置控制部210基于获取的与路线相关的信息,以时间序列决定端点的轨道即端点的移动量以及移动方向。并且,位置控制部210基于决定出的移动量以及移动方向而决定端点的下次的移动位置(设置于关节23的各促动器的目标角度)。另外,位置控制部210生成使端点移动目标角度这样的移动指令值,并输出至主控制部202。在设定有权重的情况下,位置控制部210将生成的移动指令值乘以权重后输出至主控制部202。

阻抗控制部220基于来自机器人20的力觉传感器25的传感器信息(表示力信息、力矩信息的传感器值)进行阻抗控制(也称作力控制或者力觉控制。)。阻抗控制是用于将对机器人的指尖(手26等)从外界施加了力的情况下产生的机械阻抗(惯性、衰减系数、刚性)设定为对目的的作业正合适的值的位置和力的控制方法。例如,在机器人的末端执行器部连接质量、粘性系数以及弹性要素的模型中,是以作为目标设定的质量、粘性系数以及弹性系数与物体接触的方式进行的控制。

例如,阻抗控制部220基于经由传感器信息获取部240从力觉传感器25获取的传感器信息,以成为作为目标设定的阻抗(目标阻抗)的方式以时间序列决定端点的移动量以及移动方向。并且,阻抗控制部220基于决定出的移动量以及移动方向而决定下次的移动位置(设置于关节23的各促动器的目标角度)。另外,阻抗控制部220生成使端点移动目标角度这样的移动指令值,并输出至主控制部202。在设定有权重的情况下,阻抗控制部220将生成的移动指令值乘以权重后输出至主控制部202。

应予说明,检测施加至末端执行器的力、力矩的方法并不局限于使用力觉传感器的方法。例如,也能够根据臂22的各轴转矩值推定作用于末端执行器的外力。由此,为了进行阻抗控制,臂22具有直接或者间接地获取施加至末端执行器的力的机构即可。应予说明,也可以替换阻抗控制而进行混合控制、柔量控制等其他力控制。

视觉伺服控制部230执行视觉伺服来使可动部21移动,所述视觉伺服是基于从拍摄装置30获取的图像来测量与目标物的相对位置的变化并作为视觉信息,并通过将该视觉信息作为反馈信息使用来追踪目标物的控制方法。应予说明,在本实施方式中,作为视觉伺服,采用基于对象的三维位置信息来控制机器人的基于位置法,上述对象的三维位置信息是使用利用产生视差的两个图像使图像识别为立体的立体像对等方法计算出的。应予说明,作为视觉伺服,也可以采用基于从目标的图像提取的特征量和从当前的图像提取的特征量来控制机器人的基于图像法。

例如,视觉伺服控制部230经由图像获取部120从拍摄装置30获取包括端点的图像。也可以从获取的图像识别出端点。应予说明,视觉伺服控制部230进行的图像识别处理能够使用一般的各种技术,所以省略说明。

另外,例如,视觉伺服控制部230基于获取的图像(以下称作当前图像)和端点位于目标位置时的图像(以下称作目标图像)以时间序列决定端点的轨道即端点的移动量以及移动方向。应予说明,将预先获取的目标图像存储于存储器等存储部即可。另外,视觉伺服控制部230基于决定出的端点的移动量以及移动方向来决定下次的移动位置(设置于关节23的各促动器的目标角度)。另外,视觉伺服控制部230生成使端点移动目标角度这样的移动指令值,并输出至主控制部202。在设定有权重的情况下,视觉伺服控制部230将生成的移动指令值乘以权重后输出至主控制部202。

应予说明,在具有关节的机器人20中,若决定出各关节的角度,则通过正向运动处理唯一地决定端点的位置。换句话说,在N关节机器人中能够通过N个关节角度来表现一个位置,所以将该N个关节角度组作为一个目标关节角度,则可以认为端点的轨道为目标关节角度的集合。因此,从各控制部输出的移动指令值可以是与位置相关的值,也可以是与关节的角度相关的值(目标角度)。关于主控制部202输出的移动指令值也相同。

传感器信息获取部240获取从机器人20的力觉传感器25输出的传感器信息(检测出的传感器值等)。应予说明,也能够将传感器信息获取部240称作力检测部。

图像获取部120获取拍摄装置30拍摄的图像,并输出至视觉伺服控制部230等。

机器人20具有驱动控制部200。

驱动控制部200基于从机器人控制装置10输出的包括移动指令值的控制命令和促动器的编码器值以及传感器的传感器值等,以端点的位置成为移动指令值所表示的目标位置的方式使促动器驱动。应予说明,例如能够根据促动器中的编码器值等求出端点的当前位置。

例如,驱动控制部200从机器人控制装置10获取移动指令值(目标角度)。驱动控制部200基于设置于各关节23的各促动器的编码器值等获取当前角度,并计算目标角度和当前角度的差值(偏差角度)。另外,驱动控制部200基于偏差角度计算臂22的移动速度(例如,偏差角度越大越使移动速度加速),并以计算出的移动速度使可动部21移动计算出的偏差角度。

接下来,对利用机器人控制装置10进行的各控制(位置控制、阻抗控制、以及视觉伺服控制)的并行处理进行说明。

图12是对机器人控制装置10中的各控制的并行处理的一个例子进行说明的图。在图12中示出三个控制(位置控制、阻抗控制、视觉伺服控制)并行动作的情况。

主控制部202以规定的周期(例如1毫秒)向各控制部(位置控制部210、阻抗控制部220、以及视觉伺服控制部230)发送允许计算移动指令值的处理(以下也称作“主体处理”)的执行的同步信号T1。应予说明,也可以将发送同步信号T1说成向各控制部指示主体处理的开始。

另外,主控制部202在从同步信号T1经过规定时间(例如800微秒)后,向各控制部(位置控制部210、阻抗控制部220、以及视觉伺服控制部230)发送允许输出移动指令值的处理(以下也称作“输出处理”)的执行的同步信号T2。规定时间比同步信号T1的规定的周期短。应予说明,也可以将发送同步信号T2说成向各控制部指示输出处理的开始。

在此,为了执行位置控制部210的主体处理以及阻抗控制部220的主体处理这两方,对从同步信号T1至之后的同步信号T2的间隔(在上述的例子中为800微秒)设定足够的时间。另一方面,一般而言,视觉伺服控制包括负荷高的图像处理,所以与位置控制、阻抗控制相比,处理时间长。因此,视觉伺服控制部230的主体处理执行比同步信号T1的一个周期更长的时间。

位置控制部210的主体处理以及阻抗控制部220的主体处理以同步信号T1的接收为触发而成为可执行状态,在从该同步信号T1至之后的同步信号T2的期间开始以及结束执行,成为等待状态。另一方面,视觉伺服控制部230的主体处理若在接收到同步信号T1时为等待状态,则成为可执行状态,开始执行,但若在接收到同步信号T1时不是等待状态的情况下,继续执行中的主体处理。

位置控制部210的主体处理以及阻抗控制部220的主体处理将通过该主体处理计算出的移动指令值保持于存储器等存储部。即,在位置控制以及阻抗控制中,保持最新的一次的移动指令值。另一方面,视觉伺服控制部230的主体处理除了将通过该主体处理计算出的移动指令值保持于存储器等存储部之外,还将通过上次的主体处理计算出的移动指令值继续保持于存储部。即,在视觉伺服控制中,保持最新的一次的移动指令值和上一次的移动指令值。这两个移动指令值在下述的插值处理中使用。

为了执行位置控制部210的输出处理、阻抗控制部220的输出处理、以及视觉伺服控制部230的输出处理的全部,将从同步信号T2至之后的同步信号T1的间隔(在上述的例子中为200微秒)设定足够的时间。并且,从同步信号T2至之后的同步信号T1的间隔是除了执行各控制的输出处理之外,还执行主控制部202的指令生成处理也足够的时间,在上述指令生成处理中,合成各控制的移动指令值并输出至机器人20。

位置控制部210的输出处理、阻抗控制部220的输出处理、以及视觉伺服控制部230的输出处理以同步信号T2的接收为触发而成为可执行状态,在从该同步信号T2至之后的同步信号T1的期间开始以及结束执行而成为等待状态。但是,视觉伺服控制部230在接收同步信号T2而要执行输出处理时,在主体处理为执行中的情况下,中断主体处理的执行而优先执行输出处理,在输出处理结束后再开始主体处理的执行。

位置控制部210的输出处理将最后保持于存储部的移动指令值输出至主控制部202。另外,阻抗控制部220的输出处理将最后保持于存储部的移动指令值输出至主控制部202。如图12所示那样,位置控制部210以及阻抗控制部220的输出处理将以同步信号T2之前的同步信号T1为触发开始了执行的主体处理的结果输出至主控制部202。

另一方面,视觉伺服控制部230的输出处理基于最后保持于存储部的移动指令值和在其前一次保持于存储部的移动指令值进行插值处理,并将插值处理后的移动指令值输出至主控制部202。如图12所示那样,在视觉伺服控制中,最后保持于存储部的移动指令值不是以同步信号T2之前的同步信号T1为触发开始了执行的主体处理的结果,而是以比同步信号T2之前的同步信号T1靠前的同步信号T1为触发开始了执行的主体处理的结果。以下参照图13对插值处理进行说明。

主控制部202的指令生成处理以同步信号T2为触发获取来自各控制部(位置控制部210、阻抗控制部220、以及视觉伺服控制部230)的输出处理的移动指令值,并通过合成这些移动指令值来生成输出至机器人20的移动指令值。

如上述那样,在本实施方式中,将各控制(位置控制、阻抗控制、以及视觉伺服控制)的处理分为主体处理和输出处理。另外,以恒定周期执行各控制的输出处理。另外,在各控制的输出处理中,基于最后执行的主体处理的结果输出移动指令值。这样,即使使主体处理的处理时间不同的多个控制并行动作,也能够不产生各控制的移动指令值的遗漏地生成向机器人发送的移动指令值。应予说明,使用图12对三个控制(位置控制、阻抗控制、视觉伺服控制)并行动作的情况进行了说明,但以三个控制的任意多个的组合进行并行动作的情况也相同。

对视觉伺服控制部230进行的插值处理进行说明。图13是对生成移动指令的各定时的视觉伺服控制的指令值的决定方法的一个例子进行说明的图。

视觉伺服控制部230在接收到了同步信号T2的情况下,将输出位置计数器C加1。另外,在主体处理结束的情况下,将输出位置计数器C复位(设定为0)。在图13的例子中,从主体处理的开始至结束的期间,输出位置计数器C被计数五次,所以输出位置计数器的最大值Cmax为5。

另外,如上述那样,视觉伺服控制部230在主体处理结束了的情况下,除了将通过该主体处理计算出的移动指令值(Hc)保持于存储器等存储部之外,还将通过上次的主体处理计算出的移动指令值(Hp)继续保持于存储部。

在视觉伺服控制部230的输出处理中,每当接收同步信号T2时,基于在该时刻保持的最后的移动指令值Hc、Hc的前一个的移动指令值Hp、以及输出位置计数器C,通过下述的式(1)决定输出指令值,并输出至主控制部202。

输出指令值=((Hc-Hp)×C/Cmax)+Hp…(1)

若假设每当接收同步信号T2时,仅将最后保持的移动指令值作为输出指令值输出,则在下一主体处理的执行结束前继续输出相同的移动指令值。并且,在该下一主体处理结束的情况下,输出指令值的值突然变更为该下一主体处理的移动指令值。若进行这样的控制,则存在在移动指令值的差大的情况等下,伴随端点的突然的移动的顾虑。

因此,如上述那样,视觉伺服控制部230对于同步信号T2的各触发,以与从执行中的主体处理的开始时的同步信号T2的次数相应的比例输出最后结束的主体处理的移动指令值和在其前一个结束的主体处理的移动指令值的差。这样,能够通过主体处理的时间比其他控制长的视觉伺服的移动指令值来抑制端点突然地移动。

接下来,对机器人控制装置10的动作进行说明。如上述那样,各控制(位置控制、阻抗控制、以及视觉伺服控制)分别独立地按照预先设定的开始条件开始,按照预先设定的结束条件结束。另外,同步信号T1的间隔是1毫秒,在从同步信号T1的800微秒后输出同步信号T2。

图14、图15、以及图16是表示主控制部的动作的一个例子的流程图(其1、其2、其3)。

若开始图14~16所示的流程,则主控制部202进行初始化处理(步骤S101)。在初始化处理中,主控制部202例如进行确定同步信号的输出定时的各种计时器的开始、对各种变量的初始值设定等。

然后,主控制部202等待通过每隔1毫秒的计时器中断产生的计时器事件,在产生了该计时器事件的情况下,使处理进入步骤S103(步骤S102)。

然后,主控制部202检查PosEnable标志、ImpEnable标志、以及VsEnable标志(步骤S103)。PosEnable标志、ImpEnable标志、以及VsEnable标志是表示位置控制、阻抗控制、以及视觉伺服控制是有效还是无效的变量。应予说明,各Enable标志的初始值是“假(无效)”,在开始了各控制的情况下设定为“真(有效)”(图17的步骤S202,图18的步骤S303,图19的步骤S402)。

然后,主控制部202判断上次的计时器事件产生时的各Enable标志是否全部为“假”,并且这次的计时器事件产生时的各Enable标志的任意一个以上是否为“真”(步骤S104)。应予说明,主控制部202对于各Enable标志,使用主存储装置92等存储部管理上次的计时器事件产生时的值和这次的计时器事件产生时的值。通过步骤S104,例如进行是否开始机器人的一系列的作业所涉及的动作的初次判断。应予说明,在步骤S101的初始化后,在最初执行步骤S104的情况下,作为上次的计时器事件产生时的各Enable标志全部为“假”进行初次判断。

在上次的计时器事件产生时的各Enable标志全部为“假”,并且这次的计时器事件产生时的各Enable标志的任意一个以上为“真”的情况下(步骤S104:是),主控制部202从机器人20的驱动控制部200获取各关节的当前角度(当前位置),并代入至RemainOutput[](步骤S105)。RemainOutput[]是表示为控制的基准的基准位置的变量。

在不满足上次的计时器事件产生时的各Enable标志全部为“假”,并且这次的计时器事件产生时的各Enable标志的任意一个以上为“真”这样的条件的情况下(步骤S104:否),或者在步骤S105结束后,主控制部202判断PosFinish标志是否为“真”(图15,步骤S106)。PosFinish标志是表示位置控制是否结束了的变量。PosFinish标志的初始值为“假”,在位置控制结束了的情况下被设定为“真”。

在PosFinish标志为“真”的情况下(步骤S106:是),主控制部202将PosOutput[]的值加至RemainOutput[]的值来更新RemainOutput[]的值(步骤S107)。PosOutput[]是表示位置控制输出的输出指令值(在此,表示距基准位置的差的相对位置)的变量。另外,主控制部202将PosOutput[]初始化(例如设定为0)(步骤S108)。另外,主控制部202将PosEnable标志变更为“假”(步骤S109)。另外,主控制部202将PosFinish标志变更为“假”(步骤S110)。

在PosFinish标志不是“真”的情况下(步骤S106:否),或者在步骤S110结束后,主控制部202判断ImpFinish标志是否为“真”(步骤S111)。ImpFinish标志是表示阻抗控制结束的变量。ImpFinish标志的初始值为“假”,在阻抗控制结束的情况下被设定为“真”。

在ImpFinish标志为“真”的情况下(步骤S111:是),主控制部202将ImpOutput[]的值加入至RemainOutput[]的值来更新RemainOutput[]的值(步骤S112)。ImpOutput[]是表示阻抗控制输出的输出指令值(在此,表示距基准位置的差分的相对位置)的变量。另外,主控制部202将ImpOutput[]初始化(例如设定为0)(步骤S113)。另外,主控制部202将ImpEnable标志变更为“假”(步骤S114)。另外,主控制部202将ImpFinish标志变更为“假”(步骤S115)。

在ImpFinish标志不是“真”的情况下(步骤S111:否),或者在步骤S115结束后,主控制部202判断VsFinish标志是否为“真”(步骤S116)。VsFinish标志是表示视觉伺服控制是否结束的变量。VsFinish标志的初始值为“假”,在视觉伺服控制结束的情况下被设定为“真”。

在VsFinish标志为“真”的情况下(步骤S116:是),主控制部202将VsOutput[]的值加至RemainOutput[]的值来更新RemainOutput[]的值(步骤S117)。VsOutput[]是表示视觉伺服控制输出的输出指令值(在此,表示距基准位置的差分的相对位置)的变量。另外,主控制部202将VsOutput[]初始化(例如设定为0)(步骤S118)。另外,主控制部202将VsEnable标志变更为“假”(步骤S119)。另外,主控制部202将VsFinish标志变更为“假”(步骤S120)。

在VsFinish标志不是“真”的情况下(步骤S116:否),或者步骤S120结束后,主控制部202生成移动指令值(图16,步骤S121)。具体而言,主控制部202对作为基准位置的RemainOutput[]加上作为相对位置的PosOutput[]、ImpOutput[]、以及VsOutput[],并将合计值作为移动指令值输出至机器人20。步骤S121的处理与图12的指令生成处理相当。

应予说明,在本实施方式中,RemainOutput[]、PosOutput[]、ImpOutput[]、VsOutput[]等各种变量以能够从主控制部202、各控制部(位置控制部210、阻抗控制部220、以及视觉伺服控制部230)参照的方式保持于主存储装置92等存储部。

然后,主控制部202向各控制部(位置控制部210、阻抗控制部220、以及视觉伺服控制部230)输出允许计算移动指令值的处理(主体处理)的执行的同步信号T1(步骤S122)。另外,主控制部202使用计时器等从同步信号T1的输出等待800微秒,在经过了该时间的情况下使处理进入步骤S124(步骤S123)。

然后,主控制部202向各控制部(位置控制部210、阻抗控制部220、以及视觉伺服控制部230)输出允许输出移动指令值的处理(输出处理)的执行的同步信号T2(步骤S124)。

然后,主控制部202判断是否结束控制(步骤S125)。主控制部202例如判断上次的计时器事件产生时的各Enable标志的任意一个以上为是否为“真”,并且步骤S125时刻的各Enable标志的全部是否为“假”,在满足该条件的情况下,判断为结束控制。即,主控制部202判断机器人的一系列的作业所涉及的动作是否结束了。当然,结束控制的条件并不局限于上述的条件。

在不结束控制的情况下(步骤S125:否),主控制部202将处理返回至步骤S102(图14)。另一方面,在结束控制的情况下(步骤S125:是),主控制部202结束图14~16所示的流程。

如上述那样,主控制部202对于Finish标志为“真”的(步骤S106:是,步骤S111:是,步骤S116:是)控制,将该控制的输出指令值Output[]加至基准位置RemainOutput[](步骤S107,S112,S117),并将该控制的输出指令值初始化(步骤S108,S113,S118)。这样,即使在某控制结束的情况下,也能够通过该控制输出的最终的相对位置更新基准位置,所以能够不使基于该控制的移动指令的结果遗漏地,确保在步骤S121计算的移动指令值的连续性。

图17是表示位置控制部的动作的一个例子的流程图。图17所示的流程例如在满足了预先设定的位置控制的开始条件的情况下开始。

若开始图17所示的流程,则位置控制部210进行轨道规划(步骤S201)。例如,位置控制部210基于与路线相关的信息,求出各时刻的端点的位置,决定各时刻的目标角度。另外,位置控制部210将PosEnable标志变更为“真”(步骤S202)。

然后,位置控制部210等待来自主控制部202的同步信号T1,在接收到同步信号T1的情况下,使处理进入步骤S204(步骤S203)。

然后,位置控制部210基于在步骤S201规划的轨道确定出这次应输出的目标角度,并基于该目标角度生成移动指令值(步骤S204),并保持于主存储装置92等存储部(步骤S205)。

然后,位置控制部210等待来自主控制部202的同步信号T2,在接收到同步信号T2的情况下,使处理进入步骤S207(步骤S206)。

然后,位置控制部210获取在步骤S205保持于存储部的移动指令值,并代入至PosOutput[](步骤S207)。在设定有权重的情况下,位置控制部210将获取的移动指令值乘以权重,并代入至PosOutput[]。步骤S207的处理与图12的位置控制部的输出处理相当。

然后,位置控制部210判断是否结束位置控制(步骤S208)。位置控制部210例如判断是否输出了向路线上的最终的目标位置的移动指令值,在满足该条件的情况下,判断为结束位置控制。不对位置控制的结束条件进行特别限定,例如,位置控制的结束条件也可以是产生错误的情况。

在不结束位置控制的情况下(步骤S208:否),位置控制部210将处理返回至步骤S203。另一方面,在结束位置控制的情况下(步骤S208:是),位置控制部210将PosFinish标志变更为“真”(步骤S209),结束图17所示的流程。

图18是表示阻抗控制部的动作的一个例子的流程图。图18所示的流程例如在满足了预先设定的阻抗控制的开始条件的情况下开始。

若开始图18所示的流程,则阻抗控制部220获取参数(例如,作为目标设定的质量、粘性系数以及弹性系数)(步骤S301),并与来自力觉传感器25的传感器信息相应地,通过上述参数计算出在确定端点如何变化的过滤处理中使用的过滤系数(步骤S302)。另外,阻抗控制部220将ImpEnable标志变更为“真”(步骤S303)。

然后,阻抗控制部220等待来自主控制部202的同步信号T1,在接收到了同步信号T1的情况下,使处理进入步骤S305(步骤S304)。

然后,阻抗控制部220判断参数(例如,作为目标设定的质量、粘性系数以及弹性系数)是否存在变更(步骤S305)。例如能够经由输入装置95从用户受理参数的变更。在存在参数的变更的情况下(步骤S305:是),阻抗控制部220更新在过滤处理中使用的过滤系数(步骤S306)。通过步骤S305以及S306的处理,能够在阻抗控制执行中的任意的定时变更阻抗控制的举动,所以能够灵活地调整机器人的动作。

在参数没有变更的情况下(步骤S305:否),或者在步骤S306结束后,阻抗控制部220基于来自力觉传感器25的传感器信息进行过滤处理,确定出这次应输出的目标角度,并基于该目标角度生成移动指令值(步骤S307),并保持于主存储装置92等存储部(步骤S308)。

应予说明,在阻抗控制中,根据传感器信息,计算表示端点的移动量以及移动方向的中间数据。另外,为了将计算出的移动量以及移动方向(dX,dY,dZ)变换为目标角度(ImpOutput[]),例如使用式(2)所示那样的逆雅可比矩阵。

[式1]

…式(2)

在此,为了求出逆雅可比矩阵的要素,不考虑基于阻抗控制的移动量以及移动方向,需要基于从其他控制(位置控制、以及视觉伺服控制)输出的移动指令值生成的移动指令值(目标角度)。在本实施方式中,在存储部保持有基准位置RemainOutput[]和其他控制(位置控制、以及视觉伺服控制)的输出指令值,所以阻抗控制部220简单地参照这些保持的值来求出逆雅可比矩阵的要素,并进行设定。

然后,阻抗控制部220等待来自主控制部202的同步信号T2,并在接收到了同步信号T2的情况下,使处理进入步骤S310(步骤S309)。

然后,阻抗控制部220获取在步骤S308保持于存储部的移动指令值,并代入至ImpOutput[](步骤S310)。在设定有权重的情况下,阻抗控制部220将获取的移动指令值乘以权重,并代入至ImpOutput[]。步骤S310的处理与图12的阻抗控制部的输出处理相当。

然后,阻抗控制部220判断是否结束阻抗控制(步骤S311)。阻抗控制部220例如判断传感器信息的值是否超过了指定的值,在满足该条件的情况下,判断为结束阻抗控制。不对阻抗控制的结束条件进行特别限定,例如阻抗控制的结束条件也可以是产生了传感器信息的值的错误的情况。

在不结束阻抗控制的情况下(步骤S311:否),阻抗控制部220将处理返回至步骤S304。另一方面,在结束阻抗控制的情况下(步骤S311:是),阻抗控制部220将ImpFinish标志变更为“真”(步骤S312),结束图18所示的流程。

图19以及图20是表示视觉伺服控制部的动作的一个例子的流程图(其1,其2)。图19所示的流程例如在满足了预先设定的视觉伺服控制的开始条件的情况下开始。图19所示的流程和图20所示的流程作为其它的任务执行。另外,图20的步骤S451~S455的处理即使在执行中,也优先执行图19的步骤S404~S409的处理。

若开始图19所示的流程,则视觉伺服控制部230进行拍摄装置30的初始化(步骤S401)。另外,视觉伺服控制部230将VsEnable标志变更为“真”(步骤S402)。然后,视觉伺服控制部230起动主体处理(图20)(步骤S403)。

然后,视觉伺服控制部230等待来自主控制部202的同步信号T2,在接收到了同步信号T2的情况下,使处理进入步骤S405(步骤S404)。

然后,视觉伺服控制部230将输出位置计数器加1(步骤S405)。然后,视觉伺服控制部230基于在步骤S453(图20)保持于存储部的最后的移动指令值以及该最后的移动指令值的前一个的移动指令值、以及在步骤S405更新的输出位置计数器,求出输出指令值(步骤S406)。输出指令值的计算方法如使用图13上述的一样。

然后,视觉伺服控制部230获取在步骤S406计算出的输出指令值,并代入至VsOutput[](步骤S407)。在设定有权重的情况下,视觉伺服控制部230将获取的输出指令值乘以权重,并代入至VsOutput[]。步骤S405~S407的处理与图12的视觉伺服控制部的输出处理相当。

然后,视觉伺服控制部230判断是否结束视觉伺服控制(步骤S408)。视觉伺服控制部230例如判断当前图像和目标图像是否一致,在满足该条件的情况下,判断为结束视觉伺服控制。不对视觉伺服控制的结束条件进行特别限定,例如,视觉伺服控制的结束条件也可以是产生错误的情况。

在不结束视觉伺服控制的情况下(步骤S408:否),视觉伺服控制部230将处理返回至步骤S404。另一方面,在结束视觉伺服控制的情况下(步骤S408:是),视觉伺服控制部230将VsFinish标志变更为“真”(步骤S409),结束图19所示的流程。

图20的流程在步骤S403(图19)起动了主体处理的情况下开始。首先,视觉伺服控制部230等待来自主控制部202的同步信号T1,在接收到了同步信号T1的情况下,使处理进入步骤S452(步骤S451)。

然后,视觉伺服控制部230基于由从图像获取部120获取的图像获取的当前图像和目标图像,确定出这次应输出的目标角度,并基于该目标角度生成移动指令值(步骤S452),并保持于主存储装置92等存储部(步骤S453)。

如上述那样,包括图像处理的步骤S452的处理时间长。即,由于在这次的步骤S452的处理结束前,不执行下次的步骤S451的处理,所以即使发送同步信号T1也被忽略。另外,在步骤S453保持这次生成的移动指令值和上次生成的移动指令值。

然后,视觉伺服控制部230将输出位置计数器变更为0(步骤S454)。

然后,视觉伺服控制部230判断VsEnable标志是否为“假”,或者VsFinish标志是否为“真”(步骤S455)。在不满足VsEnable标志为“假”或者VsFinish标志为“真”这样的条件的情况下(步骤S455:否),视觉伺服控制部230将处理返回至步骤S451。另一方面,在VsEnable标志为“假”或者VsFinish标志为“真”的情况下(步骤S455:是),视觉伺服控制部230结束图20所示的流程。

以上,对本实施方式进行了说明。根据本实施方式,能够防止控制的紧急的切换,能够抑制机器人的过负荷、振动。

第二实施方式的第一变形例

在本实施方式中,如图12所示那样,位置控制部的主体处理以同步信号T1为触发执行。但是,也可以在从同步信号T2至之后的同步信号T1的期间执行位置控制部210的主体处理。即,位置控制部210以同步信号T2为触发执行主体处理,然后执行输出处理。

图21是表示本实施方式的第一变形例的位置控制部的动作的一个例子的流程图。在图21中,标注了与图17相同的标记的处理具有与图17中的处理相同或者同样的功能,所以省略其详细的说明。第一变形例与本实施方式的不同点是替换图17的步骤S203而执行步骤S203A这一点、以及删除图17的步骤S206的这一点。

若开始图21的流程,则位置控制部210执行步骤S201,然后,执行步骤S202。然后,位置控制部210等待来自主控制部202的同步信号T2,在接收到了同步信号T2的情况下,使处理进入步骤S204(步骤S203A)。然后,位置控制部210执行步骤S204、步骤S205、步骤S207。然后,位置控制部210判断是否结束位置控制(步骤S208)。在不结束位置控制的情况下(步骤S208:否),位置控制部210将处理返回至步骤S203A。另一方面,在结束位置控制的情况下(步骤S208:是),位置控制部210执行步骤S209,结束图21所示的流程。

以上,对本实施方式的第一变形例进行了说明。例如考虑,以同步信号T2为触发执行位置控制的主体处理,分配至视觉伺服控制等其他的控制的主体处理的CPU资源增加,作为机器人控制装置10的整体,处理被高速化的情况。第一变形例在这样的情况下有效。

应予说明,机器人控制装置10例如也可以根据经由输入装置95的用户的指示、CPU的处理负荷,将位置控制的处理切换为图17和图21的任意一个。另外,并不局限于位置控制的主体处理,对于阻抗控制的主体处理,也可以以同步信号T2为触发来执行。

第三实施方式

在第二实施方式中,分别独立地在任意的定时开始以及结束各控制(位置控制、阻抗控制、以及视觉伺服控制)。但是,考虑根据机器人的作业内容等,使各控制同时开始,使各控制同时结束较好的情况。在本实施方式中,使各控制同时开始同时结束。

图14~16的主控制部202的处理在本实施方式中也相同。另一方面,图17~20的各控制的处理与第二实施方式不同。在本实施方式中,统一执行位置控制部、阻抗控制部、以及视觉伺服控制部的一部分的处理。因此,设置统一执行各控制部的一部分的处理的综合控制部205(参照图22:表示本实施方式的机器人系统1的功能结构的一个例子的图)。基本上与第二实施方式的不同点是综合控制部205和各控制部的处理分担、以及处理顺序,所以省略详细的说明。

图23是表示本实施方式的综合控制部(位置控制、阻抗控制、以及视觉伺服控制)的动作的一个例子的流程图。

若开始图23所示的流程,则综合控制部205进行位置控制中的轨道规划(步骤S501)。然后,综合控制部205获取阻抗控制中的参数(步骤S502),计算阻抗控制中的过滤系数(步骤S503)。然后,综合控制部205进行视觉伺服控制中的拍摄装置30的初始化(步骤S504)。

然后,综合控制部205将PosEnable标志、ImpEnable标志、以及VsEnable标志变更为“真”(步骤S505)。然后,综合控制部205起动位置控制的主体处理(下述的图24)、阻抗控制的主体处理(下述的图25)、以及视觉伺服控制的主体处理(与第二实施方式的图20相同)(步骤S506)。

然后,综合控制部205等待来自主控制部202的同步信号T2,在接收到了同步信号T2的情况下,使处理进入步骤S508(步骤S507)。

然后,综合控制部205将视觉伺服控制中的输出位置计数器加1(步骤S508)。然后,综合控制部205对于视觉伺服控制,基于在步骤S453(图20)保持于存储部的最后的移动指令值以及该最后的移动指令值的前一个的移动指令值、和在步骤S508更新的输出位置计数器,求出视觉伺服控制的输出指令值(步骤S509)。

然后,综合控制部205对于位置控制,获取在步骤S603(图24)保持于存储部的移动指令值,并代入至PosOutput[](步骤S510)。另外,综合控制部205对于阻抗控制,获取在步骤S703(图25)保持于存储部的移动指令值,并代入至ImpOutput[](步骤S510)。另外,综合控制部205对于视觉伺服控制,获取在步骤S509计算出的输出指令值,并代入至VsOutput[](步骤S510)。应予说明,在各控制设定有权重的情况下,综合控制部205将各控制的指令值乘以对应的权重后,代入至各自的Output[]。

然后,综合控制部205判断是否结束全部控制(位置控制、阻抗控制、以及视觉伺服控制)(步骤S511)。综合控制部205例如对视觉伺服控制判断当前图像和目标图像是否一致,在满足了该条件的情况下,判断为结束全部控制。不对全部控制的结束条件进行特别限定,例如也可以组合各控制的结束条件。

在不结束全部控制(位置控制、阻抗控制、以及视觉伺服控制)的情况下(步骤S511:否),综合控制部205将处理返回至步骤S507。另一方面,在结束全部控制的情况下(步骤S511:是),综合控制部205将PosFinish标志、ImpFi否is标志、以及VsFinish标志变更为“真”(步骤S512),结束图23所示的流程。

图24是表示位置控制部的动作的一个例子的流程图。图24的流程在步骤S506(图23)起动了位置控制的主体处理的情况下开始。

首先,位置控制部210等待来自主控制部202的同步信号T1,在接收到了同步信号T1的情况下,使处理进入步骤S602(步骤S601)。

然后,位置控制部210基于在步骤S501(图23)规划的轨道确定出这次应输出的目标角度,并基于该目标角度生成移动指令值(步骤S602),并保持于主存储装置92等存储部(步骤S603)。

然后,位置控制部210判断PosEnable标志是否为“假”,或者PosFinish标志是否为“真”(步骤S604)。在不满足PosEnable标志为“假”或者PosFinish标志为“真”这样的条件的情况下(步骤S604:否),位置控制部210将处理返回至步骤S601。另一方面,在PosEnable标志为“假”或者PosFinish标志为“真”的情况下(步骤S604:是),位置控制部210结束图24所示的流程。

图25是表示阻抗控制部的动作的一个例子的流程图。图25的流程在步骤506(图25)起动了阻抗控制的主体处理的情况下开始。

首先,阻抗控制部220等待来自主控制部202的同步信号T1,在接收到了同步信号T1的情况下,使处理进入步骤S702(步骤S701)。

然后,阻抗控制部220基于来自力觉传感器25的传感器信息进行过滤处理,确定出这次应输出的目标角度,基于该目标角度生成移动指令值(步骤S702),并保持于主存储装置92等存储部(步骤S703)。

然后,阻抗控制部220判断ImpEnable标志是否为“假”或者ImpFinish标志是否为“真”(步骤S704)。在不满足ImpEnable标志为“假”或者ImpFinish标志为“真”这样的条件的情况下(步骤S704:否),阻抗控制部220将处理返回至步骤S701。另一方面,在ImpEnable标志为“假”或者ImpFinish标志为“真”的情况下(步骤S704:是),阻抗控制部220结束图25所示的流程。

以上,对本实施方式进行了说明。根据本实施方式,能够使三个控制(位置控制、阻抗控制、以及视觉伺服控制)同时开始同时结束。在通过三个控制使机器人动作的情况下,由于开始条件和结束条件为一个,所以控制变得简单。

第三实施方式的第一变形例

在本实施方式中,使三个控制(位置控制、阻抗控制、以及视觉伺服控制)的并行动作同时开始同时结束。但是,也可以根据机器人的作业内容等,使两个控制(位置控制、以及视觉伺服控制)同时开始同时结束。

在本实施方式的第一变形例中,综合控制部205的动作与本实施方式不同。由此,以不同点为中心进行说明。

图26是表示本实施方式的第一变形例的综合控制部(位置控制、以及视觉伺服控制)的动作的一个例子的流程图。在图26中,标注与图23相同的标记的处理具有与图23中的处理相同或者同样的功能,所以省略其详细的说明。

若开始图26的流程,则综合控制部205进行位置控制中的轨道规划(步骤S501)。然后,综合控制部205进行视觉伺服控制中的拍摄装置30的初始化(步骤S504)。然后,综合控制部205将PosEnable标志、以及VsEnable标志变更为“真”(步骤S505A)。然后,综合控制部205起动位置控制的主体处理(图24)、以及视觉伺服控制的主体处理(图20)(步骤S506A)。

然后,综合控制部205等待来自主控制部202的同步信号T2,在接收到了同步信号T2的情况下,使处理进入步骤S508(步骤S507)。然后,综合控制部205将输出位置计数器加1(步骤S508)。然后,综合控制部205求出视觉伺服控制的输出指令值(步骤S509)。

然后,综合控制部205对于位置控制获取在步骤S603(图24)保持于存储部的移动指令值,并代入至PosOutput[](步骤S510A)。另外,综合控制部205对于视觉伺服控制获取在步骤S509计算出的输出指令值,并代入至VsOutput[](步骤S510A)。应予说明,在各控制设定有权重的情况下,综合控制部205将各控制的指令值乘以对应的权重后,代入至各自的Output[]。

然后,综合控制部205判断是否结束位置控制以及视觉伺服控制(步骤S511A)。综合控制部205例如对于视觉伺服控制判断当前图像和目标图像是否一致,在满足该条件的情况下,判断为结束各控制。不对各控制的结束条件进行特别限定,例如,也可以组合各控制的结束条件。

在不结束位置控制以及视觉伺服控制的情况下(步骤S511A:否),综合控制部205将处理返回至步骤S507。另一方面,在结束位置控制以及视觉伺服控制的情况下(步骤S511A:是),综合控制部205将PosFinish标志以及VsFinish标志变更为“真”(步骤S512A),结束图26所示的流程。

以上,对本实施方式的第一变形例进行了说明。根据本实施方式的第一变形例,能够使两个控制(位置控制以及视觉伺服控制)同时开始同时结束。但在通过两个控制使机器人动作的情况下,开始条件和结束条件为一个,所以控制变得简单。

第三实施方式的第二变形例

在本实施方式中,使三个控制(位置控制、阻抗控制、以及视觉伺服控制)的并行动作同时开始同时结束。但是,也可以根据机器人的作业内容等,使两个控制(阻抗控制以及视觉伺服控制)同时开始同时结束。

在本实施方式的第二变形例中,综合控制部205的动作与本实施方式不同。由此,以不同点为中心进行说明。

图27是表示本实施方式的第二变形例的综合控制部(阻抗控制以及视觉伺服控制)的动作的一个例子的流程图。在图27中,标注与图23相同的标记的处理具有与图23中的处理相同或者同样的功能,所以省略其详细的说明。

若开始图27的流程,则综合控制部205获取阻抗控制中的参数(步骤S502),并计算出阻抗控制中的过滤系数(步骤S503)。然后,综合控制部205进行视觉伺服控制中的拍摄装置30的初始化(步骤S504)。

然后,综合控制部205将ImpEnable标志以及VsEnable标志变更为“真”(步骤S505B)。然后,综合控制部205起动阻抗控制的主体处理(图25)以及视觉伺服控制的主体处理(图20)(步骤S506B)。

然后,综合控制部205等待来自主控制部202的同步信号T2,在接收到了同步信号T2的情况下,使处理进入步骤S508(步骤S507)。然后,综合控制部205将输出位置计数器加1(步骤S508)。然后,综合控制部205求出视觉伺服控制的输出指令值(步骤S509)。

然后,综合控制部205对于阻抗控制获取在步骤S703(图25)保持于存储部的移动指令值,并代入至ImpOutput[](步骤S510B)。另外,综合控制部205对于视觉伺服控制获取在步骤S509计算出的输出指令值,并代入至VsOutput[](步骤S510B)。应予说明,在各控制设定有权重的情况下,综合控制部205将各控制的指令值乘以对应的权重后代入至各自的Output[]。

然后,综合控制部205判断是否结束阻抗控制以及视觉伺服控制(步骤S511B)。综合控制部205例如对于视觉伺服控制判断当前图像和目标图像是否一致,在满足该条件的情况下,判断为结束各控制。不对各控制的结束条件进行特别限定,例如,也可以组合各控制的结束条件。

在不结束阻抗控制以及视觉伺服控制的情况下(步骤S511B:否),综合控制部205将处理返回至步骤S507。另一方面,在结束阻抗控制以及视觉伺服控制的情况下(步骤S511B:是),综合控制部205将ImpFinish标志以及VsFinish标志变更为“真”(步骤S512B),结束图27所示的流程。

以上,对本实施方式的第二变形例进行了说明。根据本实施方式的第二变形例,能够使两个控制(阻抗控制以及视觉伺服控制)同时开始同时结束。在通过两个控制使机器人动作的情况下,开始条件和结束条件为一个,所以控制变得简单。

第三实施方式的第三变形例

在本实施方式中,能够使三个控制(位置控制、阻抗控制、以及视觉伺服控制)的并行动作同时开始同时结束。但是,也可以根据机器人的作业内容等使两个控制(位置控制、以及阻抗控制)同时开始同时结束。

在本实施方式的第三变形例中,综合控制部205的动作与本实施方式不同。由此,以不同点为中心进行说明。

图28是表示本实施方式的第三变形例的综合控制部(位置控制、以及阻抗控制)的动作的一个例子的流程图。在图28中,标注与图23相同的标记的处理具有与图23中的处理相同或者同样的功能,所以省略其详细的说明。

若开始图28的流程,则综合控制部205进行位置控制中的轨道规划(步骤S501)。然后,综合控制部205获取阻抗控制中的参数(步骤S502),并计算出阻抗控制中的过滤系数(步骤S503)。

然后,综合控制部205将PosEnable标志以及ImpEnable标志变更为“真”(步骤S505C)。然后,综合控制部205起动位置控制的主体处理(图24)以及阻抗控制的主体处理(图25)(步骤S506C)。

然后,综合控制部205等待来自主控制部202的同步信号T2,在接收到了同步信号T2的情况下,使处理进入步骤S510C(步骤S507)。

然后,综合控制部205对于位置控制获取在步骤S603(图24)保持于存储部的移动指令值,并代入至PosOutput[](步骤S510C)。另外,综合控制部205对于阻抗控制获取在步骤S703(图25)保持于存储部的移动指令值,并代入至ImpOutput[](步骤S510C)。应予说明,在各控制设定有权重的情况下,综合控制部205将各控制的指令值乘以对应的权重后,代入至各自的Output[]。

然后,综合控制部205判断是否结束位置控制以及阻抗控制(步骤S511C)。综合控制部205例如对于位置控制判断是否输出了向路线上的最终的目标位置的移动指令值,在满足该条件的情况下,判断为结束各控制。不对各控制的结束条件进行特别限定,例如,也可以组合各控制的结束条件。

不结束位置控制以及阻抗控制的情况下(步骤S511C:否),综合控制部205将处理返回至步骤S507。另一方面,在结束位置控制以及阻抗控制的情况下(步骤S511C:是),综合控制部205将PosFinish标志以及ImpFinish标志变更为“真”(步骤S512C),结束图28所示的流程。

以上,对本实施方式的第三变形例进行了说明。根据本实施方式的第三变形例,能够使两个控制(位置控制以及阻抗控制)同时开始同时结束。在通过两个控制使机器人动作的情况下,开始条件和结束条件为一つ,所以控制变得简单。

应予说明,上述的各流程图的各处理单位是为了机器人控制装置10的处理容易理解而根据主要的处理内容分割而成的。本申请发明不因处理单位的分割的形式、名称而受到限制。也能够将机器人控制装置10的处理根据处理内容分割成更多的处理单位。另外,也可以以一个处理单位包括更多的处理的方式进行分割。

用于解决上述的课题的本发明的第一方式是机器人控制装置,其特征在于,具有:多个第一控制部,分别输出使机器人的可动部的端点移动的第一指令值;第二控制部,使用使通过上述多个第一控制部输出出的各第一指令值相加而得的第二指令值来控制上述可动部。根据第一方式,能够通过使多个控制的指令值相加而得的指令值来控制机器人,所以能够防止控制的紧急的切换,能够抑制机器人的过负荷、振动。

也可以为上述多个第一控制部分别以第一同步定时为触发执行生成使上述端点移动的指令值的主体处理,以第二同步定时为触发,执行将通过上述主体处理生成的上述指令值或者基于上述指令值计算出的指令值作为上述第一指令值输出至上述第二控制部的输出处理,上述第二控制部通过以上述第二同步定时为触发,使通过上述输出处理输出的上述第一指令值相加来生成上述第二指令值。这样,即使各控制的主体处理的处理时间、结束定时不同,也在同步的定时获取各控制的第一指令值。

也可以为在上述多个第一控制部的主体处理的处理时间分别不同,上述输出处理在执行该输出处理时执行上述主体处理的情况下,比上述主体处理优先执行,将基于通过比在上述执行的主体处理之前执行的主体处理生成的指令值计算出的指令值作为上述第一指令值输出。这样,即使在输出处理时主体处理未结束,也能够可靠地输出第一指令值,所以能够不遗落第一指令值地控制机器人。

也可以为上述输出处理在比上述主体处理优先执行的情况下,对于通过在上述执行的主体处理之前执行的主体处理生成的指令值,以与在上述执行的主体处理开始后产生的上述第二同步定时的次数相应的比例进行计算,并作为上述第一指令值输出。这样,能够通过主体处理的时间长的控制的第一指令值来一致端点突然移动。

也可以为上述第一同步定时在第一周期产生,上述第二同步定时在距上述第一同步定时比上述第一同步定时的间隔短的规定时间后产生,上述多个第一控制部的主体处理中一个主体处理的处理时间比上述第一周期长。这样,能够以恒定周期获取第一指令值来控制机器人。

上述多个第一控制部是:位置控制,根据设定的路线生成使上述端点移动的第一指令值;视觉伺服控制,基于包括上述端点处于目标位置时的上述端点的图像亦即目标图像、以及包括上述端点处于当前位置时的上述端点的图像亦即当前图像,生成使上述端点从上述当前位置向上述目标位置移动的第一指令值,上述位置控制的主体处理的处理时间比上述第一周期短,上述视觉伺服控制的主体处理的处理时间比上述第一周期长。这样,能够使位置控制和视觉伺服控制并行地动作。

也可以为上述多个第一控制部是,视觉伺服控制,基于包括上述端点处于目标位置时的上述端点的图像亦即目标图像、以及包括上述端点处于当前位置时的上述端点的图像亦即当前图像,生成使上述端点从上述当前位置向上述目标位置移动的第一指令值;阻抗控制,基于来自检测作用于上述可动部的力的力检测部的输出,生成使上述端点移动的第一指令值,上述阻抗控制的主体处理比上述第一周期短,上述视觉伺服控制的主体处理比上述第一周期长。这样,能够使阻抗控制和视觉伺服控制并行动作。

也可以为具有对上述多个第一控制部输出的第一指令值进行保持的存储部,上述阻抗控制从上述存储部获取其他的控制输出的第一指令值,并使用该获取的第一指令值来设定逆雅可比矩阵的要素。这样,能够简单地获取阻抗控制所需的其他的控制的第一指令值。

也可以为上述多个第一控制部的各处理在对于各自满足了预先设定的开始条件的情况下开始,在对于各自满足了预先设定的结束条件的情况下结束,上述第二控制部在执行由上述多个第一控制部进行的处理的情况下,在上述多个第一控制部中一部分的第一控制部的处理结束了的情况下,使用从该完成的第一控制部最后输出的第一指令值和从未结束的其他的第一控制部输出的第一指令值来生成上述第二指令值。这样,能够不使基于结束的控制的第一指令值的结果遗漏地,确保第二指令值的连续性。

也可以为上述多个第一控制部的处理在满足了预先设定的开始条件的情况下同时开始,在满足了预先设定的结束条件的情况下同时结束。这样,能够通过一个开始条件以及结束条件,使多个第一控制部的处理开始以及结束,能够使多个控制的并行动作的控制变得简单。

也可以为上述多个第一控制部以对于各自设定的规定的权重对上述第一指令值进行加权并输出。这样,能够根据机器人的作业内容等,抑制马达的过负荷、机器人的振动,所以能够进行更加灵活的控制。

用于解决上述课题的本发明的第二方式是机器人,其特征在于,具备:可动部;多个第一控制部,分别输出使上述可动部的端点移动的第一指令值;第二控制部,使用使通过上述多个第一控制部输出的各第一指令值相加而得的第二指令值来控制上述可动部。根据第二方式,能够通过使多个控制的指令值相加而得的指令值来控制机器人,所以能够防止控制的紧急的切换,抑制机器人的过负荷、振动。

用于解决上述课题的本发明的第三方式是机器人系统,其特征在于具备:机器人,具有可动部;多个第一控制部,分别输出使上述可动部的端点移动的第一指令值;第二控制部,使用使通过上述多个第一控制部输出的各第一指令值相加而得的第二指令值来控制上述可动部。根据第三方式,能够通过使多个控制的指令值相加而得指令值来控制机器人,所以能够防止控制的紧急的切换,抑制机器人的过负荷、振动。

用于解决上述课题的本发明的第四方式是机器人控制方法,其特征在于,包括:分别输出使机器人的可动部的端点移动的第一指令值的多个第一控制步骤;使用使通过上述多个第一控制步骤输出的各第一指令值相加而得的第二指令值来控制上述可动部的第二控制步骤。根据第四方式,能够通过使多个控制的指令值相加而得的指令值来控制机器人,所以能够防止控制的紧急的切换,抑制机器人的过负荷、振动。

用于解决上述课题的本发明的第五方式是机器人控制装置的程序,其特征在于,使上述机器人控制装置作为如下的控制部发挥功能,即,多个第一控制部,分别输出使上述机器人的可动部的端点移动的第一指令值;第二控制部,使用使通过上述多个第一控制部输出的各第一指令值相加而得的第二指令值来控制上述可动部。根据第五方式,能够通过使多个控制的指令值相加而得的指令值来控制机器人,所以能够防止控制的紧急的切换,抑制机器人的过负荷、振动。

用于解决上述课题的本发明的第六方式是机器人控制装置,其特征在于,基于与机器人的预定的动作路线相关的信息、以及来自力检测部的信息的至少一方和在第一时刻从拍摄部获取的信息,使上述机器人向第一位置动作,基于与上述动作路线相关的信息、以及来自上述力检测部的信息的至少一方和在上述第一时刻之后从上述拍摄部获取的信息,使上述机器人向第二位置动作。由此,至少两个不同的控制并行地动作,所以能够防止控制的紧急的切换,抑制机器人的过负荷、振动。

用于解决上述课题的本发明的第七方式是机器人,其特征在于,基于与上述机器人的预定的动作路线相关的信息、以及来自力检测部的信息的至少一方和在第一时刻从拍摄部获取的信息,使上述机器人向第一位置动作,基于与上述动作路线相关的信息、以及来自上述力检测部的信息的至少一方和在上述第一时刻之后从上述拍摄部获取的信息,使上述机器人向第二位置动作。由此,至少两个不同的控制并行地动作,所以能够防止控制的紧急的切换,抑制机器人的过负荷、振动。

用于解决上述课题的本发明的第八方式是具有机器人和机器人控制装置的机器人系统,其特征在于,上述机器人控制装置基于与上述机器人的预定的动作路线相关的信息以及来自力检测部的信息的至少一方和在第一时刻从拍摄部获取的信息,使上述机器人向第一位置动作,基于与上述动作路线相关的信息以及来自上述力检测部的信息的至少一方、和在上述第一时刻之后从上述拍摄部获取的信息,使上述机器人向第二位置动作。由此,至少两个不同的控制并行地动作,所以防止控制的紧急的切换,能够抑制机器人的过负荷、振动。

以上,使用本实施方式进行了说明,但本发明的技术范围并不局限于上述实施方式所记载的范围。能够对上述实施方式施加多种变更或者改进对本领域技术人员是明确的。另外,对于施加了这样的变更或者改进的方式也包含于本发明的技术范围,从要求保护的范围的记载可以明确。本发明可以作为分别独立地具有机器人和控制装置等的机器人系统加以提供,也可以作为在机器人中包括控制装置等的机器人加以提供,还可以作为控制装置加以提供。另外,本发明也能够作为控制机器人等的方法、控制机器人等的程序,存储了该程序的存储介质加以提供。

符号说明:1…机器人系统;10…机器人控制装置;20…机器人;21…可动部;22…臂;23…关节;24…连杆;25…力觉传感器;26…手;30…拍摄装置;90…计算机;91…运算装置;92…主存储装置;93…辅助存储装置;94…通信I/F;95…输入装置;96…显示装置;97…读写装置;100…视觉伺服部;102…图像处理部;104…第一轨道生成部;110…力控制部;112…传感器信息获取部;114…第二轨道生成部;120…图像获取部;130…第三控制部;200…驱动控制部;202…主控制部;205…综合控制部;210…位置控制部;220…阻抗控制部;230…视觉伺服控制部;240…传感器信息获取部。

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