CN104802166B - 机器人控制系统、机器人、程序以及机器人控制方法 - Google Patents

机器人控制系统、机器人、程序以及机器人控制方法 Download PDF

Info

Publication number
CN104802166B
CN104802166B CN201510137541.3A CN201510137541A CN104802166B CN 104802166 B CN104802166 B CN 104802166B CN 201510137541 A CN201510137541 A CN 201510137541A CN 104802166 B CN104802166 B CN 104802166B
Authority
CN
China
Prior art keywords
mentioned
image
information
robot
inspection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201510137541.3A
Other languages
English (en)
Other versions
CN104802166A (zh
Inventor
山口如洋
长谷川浩
稻积满广
狩户信宏
元吉正树
恩田健至
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2013212930A external-priority patent/JP6322949B2/ja
Priority claimed from JP2013226536A external-priority patent/JP6390088B2/ja
Priority claimed from JP2013228655A external-priority patent/JP6337445B2/ja
Priority claimed from JP2013228653A external-priority patent/JP6217322B2/ja
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of CN104802166A publication Critical patent/CN104802166A/zh
Application granted granted Critical
Publication of CN104802166B publication Critical patent/CN104802166B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23PMETAL-WORKING NOT OTHERWISE PROVIDED FOR; COMBINED OPERATIONS; UNIVERSAL MACHINE TOOLS
    • B23P19/00Machines for simply fitting together or separating metal parts or objects, or metal and non-metal parts, whether or not involving some deformation; Tools or devices therefor so far as not provided for in other classes
    • B23P19/001Article feeders for assembling machines
    • B23P19/007Picking-up and placing mechanisms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls

Abstract

一种机器人控制系统,包括:拍摄图像获取部,其获取拍摄图像;以及控制部,其根据拍摄图像来控制机器人,拍摄图像获取部获取映有组装作业的组装对象物与被组装对象物中的、至少被组装对象物的拍摄图像,控制部根据拍摄图像,进行被组装对象物的特征量检测处理,并根据被组装对象物的特征量,使组装对象物移动。

Description

机器人控制系统、机器人、程序以及机器人控制方法
本申请是申请日为2014年10月10日、申请号为201410531769.6、发明名称为“机器人控制系统、机器人、程序以及机器人控制方法”的申请的分案申请。
技术领域
本发明涉及机器人控制系统、机器人、程序以及机器人控制方法等。
背景技术
近几年,在生产现场中,为了使人所进行的作业机械化、自动化,大多导入工业用机器人。但是,在进行机器人的定位时,精密的校准成为前提,是机器人导入的障碍。
这里,作为进行机器人定位的手段之一,有视觉伺服。现有的视觉伺服是根据参照图像(goal图像、目标图像)与拍摄图像(当前的图像)的差别,对机器人进行反馈控制的技术。某种视觉伺服在不要求校准精密度方面很有用,并且作为降低机器人导入障碍的技术而被关注。
作为与该视觉伺服相关的技术,例如存在专利文献1所记载的现有技术。
专利文献1:日本特开2011-143494号公报
在通过视觉伺服使机器人进行将组装对象物组装于被组装对象物的组装作业的情况下,被组装对象物的位置姿势在每次进行组装作业时都会变化。在被组装对象物的位置姿势变化的情况下,被组装对象物与成为组装状态的组装对象物的位置姿势也产生变化。
此时,若每次使用相同的参照图像来进行视觉伺服,则无法实现正确的组装作业。这是因为无论成为组装状态的组装对象物的位置姿势是否变化,都会使组装对象物向映在参照图像中的组装对象物的位置姿势移动。
另外,虽然从理论上来讲只要每次实际的被组装对象物的位置变化时使用不同的参照图像,就能够通过使用参照图像的视觉伺服来进行组装作业,但是在这种情况下需要准备大量的参照图像,是不现实的。
发明内容
本发明的一方式涉及一种机器人控制系统,其包括:拍摄图像获取部,其获取拍摄图像;以及控制部,其根据上述拍摄图像来控制机器人,上述拍摄图像获取部获取映有组装作业的组装对象物与被组装对象物的中的、至少上述被组装对象物的上述拍摄图像,上述控制部根据上述拍摄图像,进行上述被组装对象物的特征量检测处理,并根据上述被组装对象物的特征量,使上述组装对象物移动。
在本发明的一方式中,根据从拍摄图像检测出的被组装对象物的特征量,使组装对象物移动。
由此,即使在被组装对象物的位置姿势变化的情况下,也能够正确地进行组装作业。
另外,在本发明的一方式中,也可以构成为,上述控制部根据映有上述组装对象物以及上述被组装对象物的1个或者多个拍摄图像,进行上述组装对象物以及上述被组装对象物的上述特征量检测处理,并根据上述组装对象物的特征量以及上述被组装对象物的特征量,以使上述组装对象物与上述被组装对象物的相对位置姿势关系成为目标相对位置姿势关系的方式,使上述组装对象物移动。
由此,能够根据从拍摄图像检测出的组装对象物的特征量、以及被组装对象物的特征量,进行组装作业等。
另外,在本发明的一方式中,也可以构成为,上述控制部根据上述被组装对象物的特征量中的作为目标特征量而设定的特征量、与上述组装对象物的特征量中的作为关注特征量而设定的特征量,以使上述相对位置姿势关系成为上述目标相对位置姿势关系的方式,使上述组装对象物移动。
由此,能够以使设定的组装对象物的组装部分与设定的被组装对象物的被组装部分的相对位置姿势关系成为目标相对位置姿势关系的方式,使组装对象物移动等。
另外,在本发明的一方式中,也可以构成为,上述控制部以使上述组装对象物的关注特征点与上述被组装对象物的目标特征点一致或者接近的方式,使上述组装对象物移动。
由此,能够将组装对象物的组装部分组装于被组装对象物的被组装部分等。
另外,在本发明的一方式中,也可以构成为,包括参照图像存储部,该参照图像存储部存储对采取目标位置姿势的上述组装对象物进行显示的参照图像,上述控制部根据映有上述组装对象物的第一拍摄图像与上述参照图像,使上述组装对象物向上述目标位置姿势移动,在使上述组装对象物移动后,根据至少映有上述被组装对象物的第二拍摄图像,进行上述被组装对象物的上述特征量检测处理,并根据上述被组装对象物的特征量,使上述组装对象物移动。
由此,能够在反复进行相同的组装作业时,使用相同的参照图像,使组装对象物向被组装对象物的附近移动,之后,对照实际的被组装对象物的详细的位置姿势进行组装作业等。
另外,在本发明的一方式中,也可以构成为,上述控制部根据映有上述组装作业中的第一被组装对象物的第一拍摄图像,进行上述第一被组装对象物的上述特征量检测处理,并根据上述第一被组装对象物的特征量,使上述组装对象物移动,在使上述组装对象物移动后,根据至少映有第二被组装对象物的第二拍摄图像,进行上述第二被组装对象物的上述特征量检测处理,并根据上述第二被组装对象物的特征量,使上述组装对象物以及上述第一被组装对象物移动。
由此,在每次进行组装作业时,即使第一被组装对象物、第二被组装对象物的位置偏移,也能够进行组装对象物、第一被组装对象物、以及第二被组装对象物的组装作业等。
另外,在本发明的一方式中,也可以构成为,上述控制部根据映有上述组装作业中的上述组装对象物以及第一被组装对象物的1个或者多个第一拍摄图像,进行上述组装对象物以及上述第一被组装对象物的上述特征量检测处理,并根据上述组装对象物的特征量以及上述第一被组装对象物的特征量,以使上述组装对象物与上述第一被组装对象物的相对位置姿势关系成为第一目标相对位置姿势关系的方式,使上述组装对象物移动,并根据映有第二被组装对象物的第二拍摄图像,进行上述第二被组装对象物的上述特征量检测处理,并根据上述第一被组装对象物的特征量以及上述第二被组装对象物的特征量,以使上述第一被组装对象物与上述第二被组装对象物的相对位置姿势关系成为第二目标相对位置姿势关系的方式,使上述组装对象物与上述第一被组装对象物移动。
由此,能够以使组装对象物的关注特征点与第一被组装对象物的目标特征点接近、第一被组装对象物的关注特征点与第二被组装对象物的目标特征点接近的方式,进行视觉伺服等。
另外,在本发明的一方式中,也可以构成为,上述控制部根据映有上述组装作业中的上述组装对象物、第一被组装对象物以及第二被组装对象物的1个或者多个拍摄图像,进行上述组装对象物、上述第一被组装对象物以及上述第二被组装对象物的上述特征量检测处理,并根据上述组装对象物的特征量以及上述第一被组装对象物的特征量,以使上述组装对象物与上述第一被组装对象物的相对位置姿势关系成为第一目标相对位置姿势关系的方式,使上述组装对象物移动,并根据上述第一被组装对象物的特征量以及上述第二被组装对象物的特征量,以使上述第一被组装对象物与上述第二被组装对象物的相对位置姿势关系成为第二目标相对位置姿势关系的方式,使上述第一被组装对象物移动。
由此,能够进行三个工件的同时组装作业等。
另外,在本发明的一方式中,也可以构成为,上述控制部根据映有上述组装作业中的第二被组装对象物的第一拍摄图像,进行上述第二被组装对象物的上述特征量检测处理,并根据上述第二被组装对象物的特征量,使第一被组装对象物移动,并根据映有移动后的上述第一被组装对象物的第二拍摄图像,进行上述第一被组装对象物的上述特征量检测处理,并根据上述第一被组装对象物的特征量,使上述组装对象物移动。
由此,无需使组装对象物与第一被组装对象物同时移动,而能够更加容易地进行机器人的控制等。
另外,在本发明的一方式中,也可以构成为,上述控制部通过进行基于上述拍摄图像的视觉伺服,控制上述机器人。
由此,能够根据当前的作业状况,对机器人进行反馈控制等。
另外,本发明的另一方式涉及一种机器人,其包括:拍摄图像获取部,其获取拍摄图像;以及控制部,其根据上述拍摄图像来控制机器人,上述拍摄图像获取部获取映有组装作业的组装对象物与被组装对象物中的、至少上述被组装对象物的上述拍摄图像,上述控制部根据上述拍摄图像,进行上述被组装对象物的特征量检测处理,并根据上述被组装对象物的特征量,使上述组装对象物移动。
另外,在本发明的另一方式中,涉及一种使计算机作为上述各部而发挥功能的程序。
另外,本发明的另一方式涉及一种机器人控制方法,其包括获取映有组装作业的组装对象物与被组装对象物中的、至少上述被组装对象物的拍摄图像的步骤;根据上述拍摄图像,进行上述被组装对象物的特征量检测处理的步骤;以及根据上述被组装对象物的特征量,使上述组装对象物移动的步骤。
根据本发明的几个方式,能够提供即使在被组装对象物的位置姿势变化的情况下,也能够正确地进行组装作业的机器人控制系统、机器人、程序以及机器人控制方法等。
另外,另一方式为机器人控制装置,其特征在于,具备:第一控制部,其以使机器人的臂的端点根据基于设定的1个以上的指导位置而形成的路径向目标位置移动的方式,生成指令值;图像获取部,其获取上述端点处于上述目标位置时的包含上述端点的图像亦即目标图像、以及上述端点处于当前位置时的包含上述端点的图像亦即当前图像;第二控制部,其以使上述端点根据上述当前图像以及上述目标图像从上述当前位置向上述目标位置移动的方式,生成指令值;以及驱动控制部,其使用由上述第一控制部生成的指令值与由上述第二控制部生成的指令值而使上述臂移动。
根据本方式,以使机器人的臂的端点根据基于设定的1个以上的指导位置而形成的路径向目标位置移动的方式,生成指令值,并且以使端点根据当前图像以及目标图像从当前位置向目标位置移动的方式,生成指令值。然后,使用这些指令值而使臂移动。由此,能够维持位置控制的高速,并且也能够与目标位置变化的情况对应。
另外,另一方式为机器人控制装置,其特征在于,具备:控制部,其以使机器人的臂的端点与目标位置接近的方式生成上述端点的轨道;以及图像获取部,其获取上述端点处于当前位置时的包含上述端点的图像亦即当前图像以及上述端点处于上述目标位置时的包含上述端点的图像亦即目标图像,上述控制部根据基于设定的1个以上的指导位置而形成的路径、与上述当前图像及上述目标图像,使上述臂移动。由此,维持位置控制的高速,并且也能够与目标位置变化的情况对应。
这里,上述驱动控制部也可以使用分别以规定的分量将由上述第一控制部生成的指令值与由上述第二控制部生成的指令值叠加而成的信号,使上述臂移动。由此,能够以成为希望的轨道的方式,使端点的轨道移动。例如,能够使端点的轨道形成为虽然不理想但为在手眼摄像机的视角包含对象物的轨道。
这里,上述驱动控制部也可以根据上述当前位置与上述目标位置的差分,决定上述规定的分量。由此,能够与距离对应地连续地改变分量,因此能够顺利地切换控制。
这里,也可以具备输入上述规定的分量的输入部。由此,能够在使用者希望的轨道上控制臂。
这里,也可以具备存储上述规定的分量的存储部。由此,能够使用预先初始设定的分量。
这里,上述驱动控制部也可以构成为,在上述当前位置满足规定的条件的情况下,使用基于由上述第一控制部生成的轨道的指令值来驱动上述臂,在上述当前位置不满足上述规定的条件的情况下,使用基于由上述第一控制部生成的轨道的指令值、以及基于由上述第二控制部生成的轨道的指令值来驱动上述臂。由此,能够更高速地进行处理。
这里,也可以具备:力检测部,其对施加于上述端点的力进行检测;以及第三控制部,其根据上述力检测部所检测的值,以使上述端点从上述当前位置向上述目标位置移动的方式,生成上述端点的轨道,上述驱动控制部使用基于由上述第一控制部生成的轨道的指令值、基于由上述第二控制部生成的轨道的指令值、以及基于由上述第三控制部生成的轨道的指令值,或者使用基于由上述第一控制部生成的轨道的指令值、以及基于由上述第三控制部生成的轨道的指令值,使上述臂移动。由此,即使在目标位置移动的情况下、在无法确认目标位置的情况下,也能够维持位置控制的高速并安全地进行作业。
另外,另一方式为机器人系统,其特征在于,具备:机器人,其具有臂;第一控制部,其以使上述臂的端点根据基于设定的1个以上的指导位置而形成的路径向目标位置移动的方式,生成指令值;拍摄部,其对上述端点处于上述目标位置时的包含上述端点的图像亦即目标图像、以及上述端点处于作为当前时刻的位置的当前位置时的包含上述端点的图像亦即当前图像进行拍摄;第二控制部,其以使上述端点根据上述当前图像以及上述目标图像从上述当前位置向上述目标位置移动的方式,生成指令值;以及驱动控制部,其使用由上述第一控制部生成的指令值与由上述第二控制部生成的指令值,使上述臂移动。由此,能够维持位置控制的高速,并且也能够与目标位置变化的情况对应。
另外,另一方式为机器人系统,其特征在于,具备:机器人,其具有臂;控制部,其以使上述臂的端点与目标位置接近的方式生成上述端点的轨道;以及拍摄部,其对上述端点处于作为当前时刻的位置的当前位置时的包含上述端点的图像亦即当前图像、以及上述端点处于上述目标位置时的包含上述端点的图像亦即目标图像进行拍摄,上述控制部根据基于设定的1个以上的指导位置而形成的路径、与上述当前图像及上述目标图像,使上述臂移动。由此,能够维持位置控制的高速,并且也能够与目标位置变化的情况对应。
另外,另一方式为机器人,其特征在于,具备:臂;第一控制部,其以使上述臂的端点根据基于设定的1个以上的指导位置而形成的路径向目标位置移动的方式,生成指令值;图像获取部,其获取上述端点处于上述目标位置时的包含上述端点的图像亦即目标图像、以及上述端点处于作为当前时刻的位置的当前位置时的包含上述端点的图像亦即当前图像;第二控制部,其以使上述端点根据上述当前图像以及上述目标图像从上述当前位置向上述目标位置移动的方式,生成指令值,以及驱动控制部,其使用由上述第一控制部生成的指令值与由上述第二控制部生成的指令值,使上述臂移动。由此,能够维持位置控制的高速,并且也能够与目标位置变化的情况对应。
另外,另一方式为机器人,其特征在于,具备:臂;控制部,其以使上述臂的端点与目标位置接近的方式生成上述端点的轨道;以及图像获取部,其获取上述端点处于当前位置时的包含上述端点的图像亦即当前图像、以及上述端点处于上述目标位置时的包含上述端点的图像亦即目标图像,上述控制部根据基于设定的1个以上的指导位置而形成的路径、与上述当前图像以及上述目标图像,使上述臂移动。由此,能够维持位置控制的高速,并且也能够与目标位置变化的情况对应。
另外,另一方式为机器人控制方法,其特征在于包括:获取机器人的臂的端点处于目标位置时的包含上述端点的图像亦即目标图像的步骤;获取上述端点处于作为当前时刻的位置的当前位置时的包含上述端点的图像亦即当前图像的步骤;以及以根据基于设定的1个以上的指导位置而形成的路径使上述端点向上述目标位置移动的方式生成指令值,并且以根据上述当前图像以及上述目标图像使上述端点从上述当前位置向上述目标位置移动的方式生成指令值,从而使用上述指令值而使上述臂移动的步骤。由此,能够维持位置控制的高速,并且也能够与目标位置变化的情况对应。
另外,另一方式为机器人控制方法,其特征在于,其为控制具有臂、以及获取上述臂的端点处于当前位置时的包含上述端点的图像亦即当前图像及上述端点处于目标位置时的包含上述端点的图像亦即目标图像的图像获取部的机器人的上述臂的机器人控制方法,并且使用根据基于设定的1个以上的指导位置而形成的路径所进行的位置控制的指令值、与根据上述当前图像以及上述目标图像所进行的视觉伺服的指令值,从而控制上述臂。由此,能够维持位置控制的高速,并且也能够与目标位置变化的情况对应。
另外,另一方式为机器人控制方法,其特征在于,其为控制具有臂、以及获取上述臂的端点处于当前位置时的包含上述端点的图像亦即当前图像及上述端点处于目标位置时的包含上述端点的图像亦即目标图像的图像获取部的机器人的上述臂的机器人控制方法,并且同时进行根据基于设定的1个以上的指导位置而形成的路径所进行的位置控制、与根据上述当前图像以及上述目标图像所进行的视觉伺服。由此,能够维持位置控制的高速,并且也能够与目标位置变化的情况对应。
另外,另一方式为机器人控制程序,其特征在于,使运算装置执行如下步骤:获取机器人的臂的端点处于目标位置时的包含上述端点的图像亦即目标图像的步骤、上述端点处于作为当前时刻的位置的当前位置时的包含上述端点的图像亦即当前图像的步骤;以及以使上述端点根据基于设定的1个以上的指导位置而形成的路径向上述目标位置移动的方式生成指令值,并且以根据上述当前图像以及上述目标图像使上述端点从上述当前位置向上述目标位置移动的方式生成指令值,从而使用上述指令值而使上述臂移动的步骤。由此,能够维持位置控制的高速,并且也能够与目标位置变化的情况对应。
另外,另一方式涉及一种机器人控制装置,其包括:机器人控制部,其根据图像信息来控制机器人;变化量运算部,其根据上述图像信息而求出图像特征量变化量;变化量推断部,其根据作为上述机器人或者对象物的信息并且作为上述图像信息以外的信息的变化量推断用信息,对上述图像特征量变化量的推断量亦即推断图像特征量变化量进行运算;以及异常判定部,其通过上述图像特征量变化量与上述推断图像特征量变化量的比较处理来进行异常判定。
在本方式中,根据基于图像特征量变化量与变化量推断用信息而求出的推断图像特征量变化量,进行使用图像信息的机器人的控制的异常判定。由此,能够在使用图像信息的机器人的控制中,特别是在使用图像特征量的手段中,适当地进行异常判定等。
另外,在另一方式中,也可以构成为,上述变化量推断用信息是上述机器人的关节角信息。
由此,作为变化量推断用信息,能够使用机器人的关节角信息。
另外,在另一方式中,也可以构成为,上述变化量推断部通过对上述关节角信息的变化量,作用使上述关节角信息的变化量与上述图像特征量变化量相对应的雅克比矩阵,从而对上述推断图像特征量变化量进行运算。
由此,能够使用关节角信息的变化量与雅克比矩阵来求出推断图像特征量变化量等。
另外,在另一方式中,也可以构成为,上述变化量推断用信息是上述机器人的末端执行器或者上述对象物的位置姿势信息。
由此,作为变化量推断用信息,能够使用机器人的末端执行器或者上述对象物的位置姿势信息。
另外,在另一方式中,也可以构成为,上述变化量推断部通过对上述位置姿势信息的变化量作用使上述位置姿势信息的变化量与上述图像特征量变化量相对应的雅克比矩阵,从而对上述推断图像特征量变化量进行运算。
由此,能够使用位置姿势信息的变化量与雅克比矩阵来求出推断图像特征量变化量等。
另外,在另一方式中,也可以构成为,在第i(i为自然数)时刻获取第一图像信息的图像特征量f1、并且在第j(j为满足j≠i的自然数)时刻获取第二图像信息的图像特征量f2的情况下,上述变化量运算部将上述图像特征量f1与上述图像特征量f2的差分作为上述图像特征量变化量而求出,上述变化量推断部在第k(k为自然数)时刻获取与上述第一图像信息对应的上述变化量推断用信息p1、并且在第l(l为自然数)时刻获取与上述第二图像信息对应的上述变化量推断用信息p2的情况下,根据上述变化量推断用信息p1与上述变化量推断用信息p2,求出上述推断图像特征量变化量。
由此,能够考虑时刻,而求出对应的图像特征量变化量与推断图像特征量变化量等。
另外,在另一方式中,也可以构成为,上述第k时刻是上述第一图像信息的获取时刻,上述第l时刻是上述第二图像信息的获取时刻。
由此,在考虑可高速地进行关节角信息的获取的情形下,能够容易地进行考虑了时刻的处理等。
另外,在另一方式中,也可以构成为,上述异常判定部进行上述图像特征量变化量与上述推断图像特征量变化量的差别信息、和阈值的比较处理,并且在上述差别信息比上述阈值大的情况下判定为异常。
由此,能够通过阈值判定来进行异常判定等。
另外,在另一方式中,也可以构成为,对于上述异常判定部而言,上述变化量运算部中的上述图像特征量变化量的运算所使用的两个上述图像信息的获取时刻之差越大,则将上述阈值设定得越大。
由此,能够与状况对应地变更阈值等。
另外,在另一方式中,也可以构成为,在由上述异常判定部检测到异常的情况下,上述机器人控制部进行使上述机器人停止的控制。
由此,能够通过在异常检测时停止机器人,从而实现安全的机器人的控制等。
另外,在另一方式中,也可以构成为,在由上述异常判定部检测到异常的情况下,上述机器人控制部跳过基于上述变化量运算部中的上述图像特征量变化量的运算所使用的两个上述图像信息中的、在时间序列上靠后的时刻获取的上述图像信息亦即异常判定图像信息形成的控制,而根据在比上述异常判定图像信息靠前的时刻获取的上述图像信息来进行控制。
由此,能够在异常检测时跳过使用异常判定图像信息的机器人的控制等。
另外,另一方式涉及一种机器人控制装置,其包括:机器人控制部,其根据图像信息来控制机器人;变化量运算部,其求出表示上述机器人的末端执行器或者对象物的位置姿势信息的变化量的位置姿势变化量、或者表示上述机器人的关节角信息的变化量的关节角变化量;变化量推断部,其根据上述图像信息而求出图像特征量变化量,并根据上述图像特征量变化量,求出上述位置姿势变化量的推断量亦即推断位置姿势变化量、或者上述关节角变化量的推断量亦即推断关节角变化量;以及异常判定部,其通过上述位置姿势变化量与上述推断位置姿势变化量的比较处理、或者上述关节角变化量与上述推断关节角变化量的比较处理来进行异常判定。
另外,在另一方式中,根据图像特征量变化量求出推断位置姿势变化量或者推断关节角变化量,并通过位置姿势变化量与推断位置姿势变化量的比较、或者关节角变化量与推断关节角变化量的比较来进行异常判定。由此,也能够通过位置姿势信息或者关节角信息的比较,在使用图像信息的机器人的控制中,特别是在使用图像特征量的手段中,适当地进行异常判定。
另外,在另一方式中,也可以构成为,上述变化量运算部进行获取多个上述位置姿势信息并作为上述位置姿势变化量而求出多个上述位置姿势信息的差分的处理、获取多个上述位置姿势信息并根据多个上述位置姿势信息的差分而求出上述关节角变化量的处理、获取多个上述关节角信息并作为上述关节角变化量而求出多个上述关节角信息的差分的处理、以及获取多个上述关节角信息并根据多个上述关节角信息的差分而求出上述位置姿势变化量的处理中的任一个处理。
由此,能够通过各种手段来求出位置姿势变化量或者关节角变化量等。
另外,另一方式涉及一种机器人,其包括:机器人控制部,其根据图像信息来控制机器人;变化量运算部,其根据上述图像信息来求出图像特征量变化量;变化量推断部,其根据作为上述机器人或者对象物的信息并且作为上述图像信息以外的信息的变化量推断用信息,对上述图像特征量变化量的推断量亦即推断图像特征量变化量进行运算;以及异常判定部,其通过上述图像特征量变化量与上述推断图像特征量变化量的比较处理来进行异常判定。
另外,在另一方式中,根据图像特征量变化量、与基于变化量推断用信息而求出的推断图像特征量变化量,进行使用图像信息的机器人的控制的异常判定。由此,能够在使用图像信息的机器人的控制中,特别是在使用图像特征量的手段中,适当地进行异常判定。
另外,另一方式涉及一种机器人控制方法,其为根据图像信息来控制机器人的机器人控制方法,其包括根据上述图像信息,进行求出图像特征量变化量的变化量运算处理的步骤;根据作为上述机器人或者对象物的信息并且作为上述图像信息以外的信息的变化量推断用信息,对上述图像特征量变化量的推断量亦即推断图像特征量变化量进行运算的变化量推断处理的步骤;以及通过上述图像特征量变化量与上述推断图像特征量变化量的比较处理来进行异常判定的步骤。
另外,在另一方式中,根据图像特征量变化量、与基于变化量推断用信息而求出的推断图像特征量变化量,进行使用图像信息的机器人的控制的异常判定。由此,能够在使用图像信息的机器人的控制中,特别是在使用图像特征量的手段中,适当地进行异常判定。
另外,另一方式涉及一种程序,其使计算机作为如下部件而发挥功能:机器人控制部,其根据图像信息来控制机器人;变化量运算部,其根据上述图像信息而求出图像特征量变化量;变化量推断部,其根据作为上述机器人或者对象物的信息并且作为上述图像信息以外的信息的变化量推断用信息,对上述图像特征量变化量的推断量亦即推断图像特征量变化量进行运算;以及异常判定部,其通过上述图像特征量变化量与上述推断图像特征量变化量的比较处理来进行异常判定。
另外,在另一方式中,根据图像特征量变化量、与基于变化量推断用信息而求出的推断图像特征量变化量,使计算机执行使用图像信息的机器人的控制的异常判定。由此,能够在使用图像信息的机器人的控制中,特别是在使用图像特征量的手段中,适当地进行异常判定。
这样,根据几个方式,能够提供适当地进行基于图像信息实现的机器人的控制中的使用图像特征量的控制的异常的检测的机器人控制装置、机器人以及机器人控制方法等。
另外,另一方式涉及机器人,其为使用由拍摄部拍摄的检查对象物的拍摄图像来进行检查上述检查对象物的检查处理的机器人,并且根据第一检查信息,生成包含上述检查处理的检查区域的第二检查信息,并根据上述第二检查信息,进行上述检查处理。
另外,在另一方式中,根据第一检查信息,生成包含检查区域的第二检查信息。一般地,将检查(狭义而言外观检查)所使用的图像中的哪一区域用于处理取决于检查对象物的形状等信息、针对检查对象物进行的作业内容等,因此,在每次检查对象物、作业内容变化时,必须重新设定检查区域,而导致使用者的负担较大。在这一点上,通过根据第一检查信息而生成第二检查信息,能够容易地决定检查区域等。
另外,在另一方式中,也可以构成为,上述第二检查信息包含将多个视点信息包含在内的视点信息组,并且上述视点信息组的各视点信息包含上述检查处理中的上述拍摄部的视点位置以及视线方向。
由此,能够作为第二检查信息而生成视点信息组等。
另外,在另一方式中,也可以构成为,对上述视点信息组的各视点信息,设定使上述拍摄部向与上述视点信息对应的上述视点位置以及上述视线方向移动时的优先度。
由此,能够对视点信息组所包含的各视点信息,设定优先度等。
另外,在另一方式中,也可以构成为,依据基于上述优先度而设定的移动顺序,使上述拍摄部向与上述视点信息组的上述各视点信息对应的上述视点位置以及上述视线方向移动。
由此,能够使用设定了优先度的多个视点信息,实际控制拍摄部而进行检查处理等。
另外,在另一方式中,也可以构成为,在根据可动范围信息,判定为无法使上述拍摄部向与多个上述视点信息中的第i(i为自然数)视点信息对应的上述视点位置以及上述视线方向移动的情况下,不进行基于上述第i视点信息的上述拍摄部的移动,而根据上述移动顺序中的上述第i视点信息的下一个的第j(j为满足i≠j的自然数)视点信息,使上述拍摄部移动。
由此,能够实现考虑了机器人的可动范围的拍摄部的控制等。
另外,在另一方式中,也可以构成为,上述第一检查信息包含针对上述检查对象物的相对的检查处理对象位置,并以上述检查处理对象位置为基准,设定与上述检查对象物对应的对象物坐标系,从而使用上述对象物坐标系,生成上述视点信息。
由此,能够生成对象物坐标系中的视点信息等。
另外,在另一方式中,也可以构成为,上述第一检查信息包含表示上述检查对象物的全局坐标系中的位置姿势的对象物位置姿势信息,根据基于上述对象物位置姿势信息而求出的上述全局坐标系与上述对象物坐标系的相对关系,求出上述全局坐标系中的上述视点信息,并根据上述全局坐标系中的可动范围信息与上述全局坐标系中的上述视点信息,对是否能够使上述拍摄部向上述视点位置以及上述视线方向移动进行判定。
由此,能够生成全局坐标系中的视点信息、以及根据该视点信息与机器人的可动范围信息而控制拍摄部的移动等。
另外,在另一方式中,也可以构成为,上述检查处理是针对机器人作业的结果进行的处理,上述第一检查信息是在上述机器人作业中获取的信息。
由此,能够在机器人作业中获取第一检查信息等。
另外,在另一方式中,也可以构成为,上述第一检查信息是包含上述检查对象物的形状信息、上述检查对象物的位置姿势信息、以及针对上述检查对象物的相对的检查处理对象位置中的至少一个的信息。
由此,能够作为第一检查信息而获取形状信息、位置姿势信息以及检查处理对象位置的至少一个信息。
另外,在另一方式中,也可以构成为,上述第一检查信息包含上述检查对象物的三维模型数据。
由此,能够作为第一检查信息而获取三维模型数据。
另外,在另一方式中,也可以构成为,上述检查处理是针对机器人作业的结果进行的处理,上述三维模型数据包含通过进行上述机器人作业而得到的作业后三维模型数据、与上述机器人作业前的上述检查对象物的上述三维模型数据亦即作业前三维模型数据。
由此,能够作为第一检查信息而获取作业前后的三维模型数据。
另外,在另一方式中,也可以构成为,上述第二检查信息包含合格图像,上述合格图像是由配置于与上述视点信息对应的上述视点位置以及上述视线方向的假想摄像机拍摄上述三维模型数据而得的图像。
由此,能够从三维模型数据与视点信息,作为第二检查信息而获取合格图像等。
另外,在另一方式中,也可以构成为,上述第二检查信息包含合格图像与作业前图像,上述合格图像是由配置于与上述视点信息对应的上述视点位置以及上述视线方向的假想摄像机拍摄上述作业后三维模型数据而得的图像,上述作业前图像是由配置于与上述视点信息对应的上述视点位置以及上述视线方向的上述假想摄像机拍摄上述作业前三维模型数据而得的图像,通过对上述作业前图像与上述合格图像进行比较,求出上述检查区域。
由此,能够根据作业前后的三维模型数据与视点信息,求出合格图像与作业前图像,并根据其比较处理而求出检查区域等。
另外,在另一方式中,也可以构成为,在上述比较中,求出上述作业前图像与上述合格图像的差分亦即差分图像,上述检查区域是上述差分图像中的包含上述检查对象物的区域。
由此,能够使用差分图像而求出检查区域等。
另外,在另一方式中,也可以构成为,上述第二检查信息包含合格图像与作业前图像,上述合格图像是由配置于与上述视点信息对应的上述视点位置以及上述视线方向的假想摄像机拍摄上述作业后三维模型数据而得的图像,上述作业前图像是由配置于与上述视点信息对应的上述视点位置以及上述视线方向的上述假想摄像机拍摄上述作业前三维模型数据而得的图像,根据上述作业前图像与上述合格图像的相似度,设定基于上述拍摄图像与上述合格图像进行的上述检查处理所使用的阈值。
由此,能够使用作业前图像与合格图像的相似度,设定检查处理的阈值等。
另外,在另一方式中,也可以构成为,至少包括第一臂与第二臂,上述拍摄部是设置于上述第一臂以及上述第二臂的至少一方的手眼摄像机。
由此,能够使用2支以上的臂、与设置于该臂的至少一个的手眼摄像机来进行检查处理等。
另外,另一方式涉及处理装置,其为针对使用由拍摄部拍摄的检查对象物的拍摄图像而进行上述检查对象物的检查处理的装置,输出上述检查处理所使用的信息的处理装置,并且根据第一检查信息,生成将上述检查处理的包含上述拍摄部的视点位置以及视线方向的视点信息、与上述检查处理的检查区域包含在内的第二检查信息,并针对进行上述检查处理的上述装置输出上述第二检查信息。
另外,在另一方式中,根据第一检查信息生成包含检查区域的第二检查信息。一般地,将检查(狭义而言为外观检查)所使用的图像中的哪一区域用于处理取决于检查对象物的形状等信息、针对检查对象物进行的作业内容等,因此,每次在检查对象物、作业内容变化时,必须重新设定检查区域,从而导致使用者的负担较大。在这一点上,通过根据第一检查信息生成第二检查信息,能够容易地决定检查区域,从而使其他的装置进行检查处理等。
另外,另一方式涉及检查方法,其为使用由拍摄部拍摄的检查对象物的拍摄图像,而进行检查上述检查对象物的检查处理的检查方法,在该检查方法中包括根据第一检查信息,生成将上述检查处理的包含上述拍摄部的视点位置以及视线方向的视点信息、与上述检查处理的检查区域包含在内的第二检查信息的步骤。
另外,在另一方式中,根据第一检查信息生成包含检查区域的第二检查信息。一般地,将检查(狭义而言为外观检查)所使用的图像中的哪一区域用于处理取决于检查对象物的形状等信息、针对检查对象物进行的作业内容等,因此,每次在检查对象物、作业内容变化时,必须重新设定检查区域,从而导致使用者的负担较大。在这一点上,通过根据第一检查信息生成第二检查信息,能够容易地决定检查区域等。
这样,根据几个方式,能够提供通过根据第一检查信息生成检查所需要的第二检查信息,能够减少使用者的负担并且容易地执行检查的机器人、处理装置以及检查方法等。
附图说明
图1是通过视觉伺服进行的组装作业的说明图。
图2A、图2B是被组装对象物的位置偏移的说明图。
图3是本实施方式的系统构成例。
图4是通过基于被组装对象物的特征量的视觉伺服进行的组装作业的说明图。
图5是基于被组装对象物的特征量的视觉伺服所使用的拍摄图像的一个例子。
图6是组装状态的说明图。
图7是基于被组装对象物的特征量的视觉伺服的流程图。
图8是基于被组装对象物的特征量的视觉伺服的另一个流程图。
图9是使组装对象物向被组装对象物的正上方移动的处理的说明图。
图10是通过两种视觉伺服进行的组装作业的说明图。
图11是连续进行两种视觉伺服的情况下的处理的流程图。
图12(A)~(D)是参照图像与拍摄图像的说明图。
图13A、图13B是三个工件的组装作业的说明图。
图14(A)~(C)是进行三个工件的组装作业时使用的拍摄图像的说明图。
图15是进行三个工件的组装作业时的处理的流程图。
图16(A)~(C)是同时组装三个工件时使用的拍摄图像的说明图。
图17是同时组装三个工件时的处理的流程图。
图18(A)~(C)是以其他的顺序组装三个工件时使用的拍摄图像的说明图。
图19A、图19B是机器人的构成例。
图20是经由网络而控制机器人的机器人控制系统的构成例。
图21是表示第二实施方式的机器人系统1的构成的一个例子的图。
图22是表示机器人系统1的功能结构的一个例子的框图。
图23是机器人系统1的数据流程图。
图24是表示控制部20的硬件结构的图。
图25A是对通过位置控制以及视觉伺服来控制臂11时的端点的轨道进行说明的图,图25B是目标图像的一个例子。
图26是对分量α进行说明的图。
图27是表示本发明的第三实施方式的机器人系统2的处理流程的流程图。
图28是对对象物的位置、切换点的位置以及端点的轨道进行说明的图。
图29是表示本发明的第四实施方式的机器人系统3的结构的一个例子的图。
图30是表示机器人系统3的功能结构的一个例子的框图。
图31是表示机器人系统3的处理流程的流程图。
图32是表示机器人系统3将工件插入孔H的装配作业的图。
图33是表示本发明的第五实施方式的机器人系统4的处理流程的流程图。
图34是表示机器人系统4将工件插入孔H的装配作业的图。
图35是本实施方式的机器人控制装置的构成例。
图36是本实施方式的机器人控制装置的详细的构成例。
图37是获取图像信息的拍摄部的配置例。
图38是本实施方式的机器人的构成例。
图39是本实施方式的机器人的构造的其他例子。
图40是一般的视觉伺服控制系统的构成例。
图41是对图像特征量变化量、位置姿势信息的变化量以及关节角信息的变化量、与雅克比矩阵的关系进行说明的图。
图42是对视觉伺服控制进行说明的图。
图43A、图43B是本实施方式的异常检测手段的说明图。
图44是与图像获取时刻之差对应地设定阈值的手段的说明图。
图45是表示图像获取时刻、关节角信息的获取时刻以及图像特征量获取时刻的关系的图。
图46是表示图像获取时刻、关节角信息的获取时刻以及图像特征量获取时刻的关系的另一个图。
图47是结合数学公式说明图像特征量变化量、位置姿势信息的变化量以及关节角信息的变化量的相互关系的图。
图48是对本实施方式的处理进行说明的流程图。
图49是本实施方式的机器人控制装置的另一个详细的构成例。
图50是本实施方式的机器人的构成例。
图51A、图51B是本实施方式的处理装置的构成例。
图52是本实施方式的机器人的构成例。
图53是本实施方式的机器人的其他构成例。
图54是使用第二检查信息的检查装置的构成例。
图55是第一检查信息与第二检查信息的例子。
图56是对离线处理的流程进行说明的流程图。
图57A、图57B是形状信息(三维模型数据)的例子。
图58是视点信息的生成所使用的视点候补信息的例子。
图59是视点候补信息的对象物坐标系中的坐标值的例子。
图60是基于检查处理对象位置的对象物坐标系的设定例。
图61A~图61G是与各视点信息对应的作业前图像与合格图像的例子。
图62A~图62D是检查区域的设定手段的说明图。
图63A~图63D是检查区域的设定手段的说明图。
图64A~图64D是检查区域的设定手段的说明图。
图65A~图65D是作业前后的相似度计算处理的说明图。
图66A~图66D是作业前后的相似度计算处理的说明图。
图67A~图67E是视点信息的优先度的说明图。
图68是对在线处理的流程进行说明的流程图。
图69A、图69B是对象物坐标系中的视点信息与机器人坐标系中的视点信息的比较例。
图70A、图70B是图像旋转角度的说明图。
具体实施方式
以下,对本实施方式进行说明。此外,以下说明的本实施方式并非不合理地限定权利要求书所记载的本发明的内容。另外,本实施方式中说明的全部结构未必都是本发明所必须的构成要件。
1.本实施方式的手段
第一实施方式
如图1所示,这里,对将由机器人的手部HD把持的组装对象物WK1组装于被组装对象物WK2的组装作业的情况进行说明。此外,机器人的手部HD设置于机器人的臂AM的前端。
首先,作为本实施方式的比较例,在通过使用上述参照图像的视觉伺服进行图1所示的组装作业的情况下,根据由摄像机(拍摄部)CM拍摄的拍摄图像、以及预先准备好的参照图像,对机器人进行控制。具体而言,使组装对象物WK1如箭头YJ那样地向映入参照图像的组装对象物WK1R的位置移动,而将其组装于被组装对象物WK2。
这里,在图2A中示出了此时使用的参照图像RIM,在图2B中示出了映入参照图像RIM的被组装对象物WK2的现实空间(三维空间)上的位置。在图2A的参照图像RIM中,映有被组装对象物WK2与组装状态(或者组装之前的状态)的组装对象物WK1R(相当于图1的WK1R)。在使用上述参照图像RIM的视觉伺服中,以使映入拍摄图像的组装对象物WK1的位置姿势与映入参照图像RIM的组装状态的组装对象物WK1R的位置姿势一致的方式,使组装对象物WK1移动。
但是,如上所述,在实际进行组装作业的情况下,存在被组装对象物WK2的位置姿势变化的情况。例如,如图2B所示,映入图2A的参照图像RIM的被组装对象物WK2的重心位置在现实空间上为GC1。与此相对,实际的被组装对象物WK2会偏置,并且实际的被组装对象物WK2的重心位置为GC2。在这种情况下,即便以使与映入参照图像RIM的组装对象物WK1R的位置姿势一致的方式,使实际的组装对象物WK1移动,也无法成为与实际的被组装对象物WK2的组装状态,因此,不能正确地进行组装作业。这是因为在被组装对象物WK2的位置姿势变化的情况下,与被组装对象物WK2成为组装状态的组装对象物WK1的位置姿势也变化。
因此,本实施方式的机器人控制系统100等即使在被组装对象物的位置姿势变化的情况下,也能够正确地进行组装作业。
具体而言,在图3中示出了本实施方式的机器人控制系统100的构成例。本实施方式的机器人控制系统100包括从拍摄部200获取拍摄图像的拍摄图像获取部110、和根据拍摄图像来控制机器人300的控制部120。另外,机器人300具有末端执行器(手部)310和臂320。此外,在后面对拍摄部200以及机器人300的结构进行详细叙述。
首先,拍摄图像获取部110获取映有组装作业的组装对象物与被组装对象物中的、至少被组装对象物的拍摄图像。
然后,控制部120根据拍摄图像,进行被组装对象物的特征量检测处理,并根据被组装对象物的特征量,使组装对象物移动。此外,在使组装对象物移动的处理中,也包括输出机器人300的控制信息(控制信号)的处理等。另外,控制部120的功能通过各种处理器(CPU等)、ASIC(门阵列等)等硬件、或程序等而能够实现。
这样,在使用上述参照图像的视觉伺服(比较例)中,根据参照图像的组装对象物的特征量,使组装对象物移动,与此相对,在本实施方式中,根据映入拍摄图像的被组装对象物的特征量,使组装对象物移动。例如,如图4所示,在由摄像机CM拍摄的拍摄图像中,检测作为被组装对象物的工件WK2的特征量,并根据检测出的工件WK2的特征量,使作为组装对象物的工件WK1如箭头YJ所示地移动。
这里,在由摄像机CM拍摄的拍摄图像中,映有当前时刻(拍摄的时刻)的被组装对象物WK2。因此,能够使组装对象物WK1向当前时刻的被组装对象物WK2的位置移动。由此,能够防止如使用上述参照图像的视觉伺服的失败例(图1中说明的比较例的问题)那样,使组装对象物WK1向当前时刻不能成为组装状态的位置移动的情况。另外,由于在每次进行组装作业时,根据拍摄图像设定视觉伺服的新的目标位置,所以即使在被组装对象物WK2的位置姿势变化的情况下,也能够设定正确的目标位置。
如上所述,即使在被组装对象物的位置姿势变化的情况下,也能够正确地进行组装作业。并且,在本实施方式中,也无需预先准备参照图像,从而能够减少视觉伺服的准备成本。
另外,这样,控制部120根据拍摄图像来进行视觉伺服,从而控制机器人。
由此,能够根据当前的作业状况,对机器人进行反馈控制等。
此外,机器人控制系统100并不限定于图1的结构,而能够进行省略上述一部分的构成要素、或追加其他的构成要素等各种变形实施。另外,如后述图19B所示,本实施方式的机器人控制系统100包括在机器人300内,并且也可以与机器人300一体地构成。并且,如后述图20所示,机器人控制系统100的功能也可以通过服务器500、各机器人300所具有的终端装置330来实现。
另外,例如在机器人控制系统100与拍摄部200通过包括有线以及无线的至少一方的网络而连接的情况下,拍摄图像获取部110也可以是与进行拍摄部200通信的通信部(接口部)。并且,在机器人控制系统100包括拍摄部200的情况下,拍摄图像获取部110也可以是拍摄部200本身。
这里,拍摄图像是指利用拍摄部200拍摄而得到的图像。另外,拍摄图像也可以是存储于外部的存储部的图像、经由网络而获取的图像。拍摄图像例如是后述图5所示的图像PIM等。
另外,组装作业是指组装多个作业对象物的作业,具体而言,是指将组装对象物组装于被组装对象物的作业。组装作业例如是将工件WK1放置在工件WK2之上(或者旁边)的作业、是将工件WK1嵌入(嵌合)工件WK2的作业(嵌入作业、嵌合作业)、或是将工件WK1与工件WK2粘合、连接、装配、融着的作业(粘合作业、连接作业、装配作业、融着作业)等。
并且,组装对象物是指在组装作业中针对被组装对象物而进行组装的物体。例如,在图4的例子中是工件WK1。
另一方面,被组装对象物是指在组装作业中供组装对象物组装的物体。例如,在图4的例子中是工件WK2。
2.处理的详细
接下来,对本实施方式的处理进行详细说明。
2.1.基于被组装对象物的特征量的视觉伺服
本实施方式的拍摄图像获取部110获取映有组装对象物以及被组装对象物的1个或者多个拍摄图像。然后,控制部120根据获取的1个或者多个拍摄图像,进行组装对象物以及被组装对象物的特征量检测处理。并且,控制部120根据组装对象物的特征量以及被组装对象物的特征量,以使组装对象物与被组装对象物的相对位置姿势关系成为目标相对位置姿势关系的方式,使组装对象物移动。
这里,目标相对位置姿势关系是指,在通过视觉伺服进行组装作业时成为目标的、组装对象物与被组装对象物的相对位置姿势关系。例如,在图4的例子中,工件WK1与工件WK2的三角形的孔HL接触(邻接)时的相对位置姿势关系为目标相对位置姿势。
由此,能够根据从拍摄图像检测出的组装对象物的特征量与被组装对象物的特征量,进行组装作业等。此外,在后段中对拍摄图像获取部110所获取的1个或者多个拍摄图像进行详细说明。
另外,在多数组装作业中,大多确定了组装对象物中的组装于被组装对象物的部分(组装部分)、与被组装对象物中的供组装对象物组装的部分(被组装部分)。例如,在图4的例子中,组装对象物中的组装部分是指工件WK1的底面BA,被组装对象物的被组装部分是指工件WK2的三角形的孔HL。在图4的组装作业的例子中,是将组装部分BA嵌入被组装部分的孔HL,例如即使将工件WK1的侧面SA组装于孔HL也是没意义的。因此,优选预先设定组装对象物的组装部分与被组装对象物的被组装部分。
因此,控制部120根据被组装对象物的特征量中的作为目标特征量而设定的特征量、与组装对象物的特征量中的作为关注特征量而设定的特征量,以使组装对象物与被组装对象物的相对位置姿势关系成为目标相对位置姿势关系的方式,使组装对象物移动。
这里,特征量例如是指图像的特征点、映入图像中的检测对象物(组装对象物以及被组装对象物等)的轮廓线等。而且,特征量检测处理是指检测图像中的特征量的处理,例如是指特征点检测处理、轮廓线检测处理等。
以下,对作为特征量而检测特征点的情况进行说明。特征点是指能够从图像中突出观测的点。例如,在图5所示的拍摄图像PIM11中,作为被组装对象物的工件WK2的特征点,检测出特征点P1~P10,作为组装对象物的工件WK1的特征点,检测出特征点Q1~Q5。此外,在图5的例子中,为了便于图示以及说明,图示出仅检测到P1~P10以及Q1~Q5的特征点的样子,但是在实际的拍摄图像中检测到比这更多的特征点。但是,即使在检测到比这更多的特征点的情况下,以下的说明处理的内容也无变化。
另外,在本实施方式中,作为特征点的检测方法(特征点检测处理),使用角点检测法等,但是也可以使用其他的一般的角部检测方法(固有值、FAST特征检测),也可以使用以SIFT(Scale InvariantFeature Transform:尺度不变特征转换)为代表的局部特征量描述子、SURF(Speeded Up Robust Feature:快速鲁棒性特征)等。
而且,在本实施方式中,根据被组装对象物的特征量中的作为目标特征量而设定的特征量、与组装对象物的特征量中的作为关注特征量而设定的特征量,进行视觉伺服。
具体而言,在图5的例子中,在工件WK2的特征点P1~P10中,作为目标特征量而设定目标特征点P9以及目标特征点P10。另一方面,在工件WK1的特征点Q1~Q5中,作为关注特征量而设定关注特征点Q4以及关注特征点Q5。
而且,控制部120以使组装对象物的关注特征点与被组装对象物的目标特征点一致或者接近的方式,使组装对象物移动。
即,以使关注特征点Q4与目标特征点P9接近、关注特征点Q5与目标特征点P10接近的方式,使组装对象物WK1如箭头YJ所示地移动。
这里,目标特征量是指表示被组装对象物的特征量中的、通过视觉伺服使组装对象物移动时成为目标的特征量。换言之,目标特征量是被组装对象物的被组装部分的特征量。另外,目标特征点是指在进行特征点检测处理的情况下作为目标特征量而设定的特征点。如上所述,在图5的例子中,作为目标特征点而设定有与工件WK2的三角形的孔HL对应的特征点P9以及特征点P10。
另一方面,关注特征量是指表示组装对象物或者被组装对象物的特征量中的、朝向与目标特征量对应的现实空间上的点(在图5的例子中为工件WK2的三角形的孔HL)移动的、表示现实空间上的点(在图5的例子中为工件WK1的底面)的特征量。换言之,关注特征量是组装对象物的组装部分的特征量。另外,关注特征点是指在进行特征点检测处理的情况下作为关注特征量而设定的特征点。如上所述,在图5的例子中,作为关注特征点而设定有与工件WK1的底面对应的特征点Q4以及特征点Q5。
另外,目标特征量(目标特征点)以及关注特征量(关注特征点)可以是指导者(使用者)预先设定的,也可以是依据给定的算法而设定的特征量(特征点)。例如,也可以根据检测到的特征点的偏差以及与目标特征点的相对位置关系,设定目标特征点。具体而言,在图5的例子中,也可以在拍摄图像PIM11中,将位于表示工件WK2的特征点P1~P10的偏差中心附近的特征点P9以及特征点P10设定作为目标特征点。另外,除此之外也可以在表示被组装对象物的CAD(Computer Aided Design:计算机辅助设计)数据中,预先设定与目标特征点对应的点,并且在拍摄图像中进行CAD数据与CAD匹配,从而根据CAD匹配的结果,从被组装对象物的特征点之中,确定(检测)作为目标特征点而设定的特征点。关注特征量(关注特征点)也是同样的。
此外,在本实施方式中,控制部120以使组装对象物的关注特征点与被组装对象物的目标特征点一致或者接近的方式,使组装对象物移动,但是由于被组装对象物与组装对象物是有形物体,所以实际上在相同的点检测不到目标特征点与关注特征点。即,以一致的方式使组装对象物移动终究是指使检测到关注特征点的点向检测到目标特征点的点移动的意思。
由此,能够以使设定的组装对象物的组装部分与设定的被组装对象物的被组装部分的相对位置姿势关系成为目标相对位置姿势关系的方式,使组装对象物移动等。
而且,能够将组装对象物的组装部分组装于被组装对象物的被组装部分等。例如图6所示,能够将作为工件WK1的组装部分的底面BA嵌入作为工件WK2的被组装部分的孔HL。
接下来,用图7的流程图对本实施方式的处理流程进行说明。
首先,拍摄图像获取部110获取例如图5所示的拍摄图像PIM11(S101)。在该拍摄图像PIM11映有组装对象物WK1与被组装对象物WK2的双方。
接下来,控制部120根据获取的拍摄图像PIM11,进行特征量检测处理,从而检测被组装对象物WK2的目标特征量FB、与组装对象物WK1的关注特征量FA(S102、S103)。
然后,如上所述,控制部120根据检测出的关注特征量FA与目标特征量FB,使组装对象物WK1移动(S104),并且对组装对象物WK1与被组装对象物WK2的相对位置姿势关系是否成为目标相对位置姿势关系进行判定(S105)。
最后,在判定为组装对象物WK1与被组装对象物WK2的相对位置姿势关系如图6所示地成为目标相对位置姿势关系的情况下,结束处理,在判定为组装对象物WK1与被组装对象物WK2的相对位置姿势关系未成为目标相对位置姿势关系的情况下,回到步骤S101,并且反复进行处理。以上是本实施方式的处理流程。
另外,拍摄图像获取部110也可以获取多个拍摄图像。在这种情况下,拍摄图像获取部110可以获取多个映有组装对象物与被组装对象物的双方的拍摄图像,也可以获取仅映有组装对象物的拍摄图像、以及仅映有被组装对象物的拍摄图像。
这里,在图8的流程图中示出了后者的获取分别映有组装对象物与被组装对象物的多个拍摄图像的情况的处理流程。
首先,拍摄图像获取部110获取至少映有被组装对象物WK2的拍摄图像PIM11(S201)。此外,该拍摄图像PIM11也可以映有组装对象物WK1。然后,控制部120从拍摄图像PIM11检测被组装对象物WK2的目标特征量FB(S202)。
接下来,拍摄图像获取部110获取至少映有组装对象物WK1的拍摄图像PIM12(S203)。此外,与步骤S201相同,该拍摄图像PIM12也可以映有被组装对象物WK2。然后,控制部120从拍摄图像PIM12检测组装对象物WK1的关注特征量FA(S204)。
然后,以下与图7说明的处理流程相同,控制部120根据检测出的关注特征量FA与目标特征量FB,使组装对象物WK1移动(S205),并且对组装对象物WK1与被组装对象物WK2的相对位置姿势关系是否成为目标相对位置姿势关系进行判定(S206)。
最后,在判定为组装对象物WK1与被组装对象物WK2的相对位置姿势关系如图6所示地成为目标相对位置姿势关系的情况下,结束处理,在判定为组装对象物WK1与被组装对象物WK2的相对位置姿势关系未成为目标相对位置姿势关系的情况下,回到步骤S203,并且反复进行处理。以上是获取分别映有组装对象物与被组装对象物的多个拍摄图像的情况的处理流程。
另外,在上述例子中,通过视觉伺服将组装对象物实际组装于被组装对象物,但是本发明并不限定于此,也可以通过视觉伺服形成将组装对象物组装于被组装对象物之前的状态。
即,控制部120也可以根据被组装对象物的特征量(特征点),确定出与被组装对象物处于给定的位置关系的图像区域,并以使组装对象物的关注特征点与确定出的图像区域一致或者接近的方式,使组装对象物移动。换言之,控制部120也可以根据被组装对象物的特征量,确定与被组装对象物处于给定的位置关系的现实空间上的点,并使组装对象物向确定出的点移动。
例如,在图9所示的拍摄图像PIM中,作为表示被组装对象物WK2的被组装部分亦即三角形的孔HL的特征点,检测到特征点P8~P10。在这种情况下,在拍摄图像PIM中,确定出与特征点P8~P10处于给定的位置关系的图像区域R1~R3。然后,以使组装对象物WK1的关注特征点Q4与图像区域R2一致(接近)、组装对象物的关注特征点Q5与图像区域R3一致(接近)的方式,使组装对象物WK1移动。
由此,能够形成例如组装作业之前的状态等。
另外,未必需要进行如上述例子所示地检测组装对象物的特征量的处理。例如,也可以检测被组装对象物的特征量,并根据检测出的被组装对象物的特征量,推断与机器人相对的被组装对象物的位置姿势,从而以使把持有组装对象物的手部与推断出的被组装对象物的位置接近的方式,控制机器人等。
2.2.由两种视觉伺服进行的组装作业
接下来,对持续进行使用参照图像的视觉伺服(第一视觉伺服)、与使用被组装对象物的特征量而使组装对象物移动的视觉伺服(第二视觉伺服)这两种视觉伺服的情况的处理进行说明。
例如,在图10中,通过使用参照图像的第一视觉伺服进行组装对象物WK1的从位置GC1朝向位置GC2的移动(箭头YJ1所示的移动),通过使用被组装对象物WK2的特征量的第二视觉伺服进行组装对象物WK1的从位置GC2朝向位置GC3的移动(箭头YJ2所示的移动)。此外,位置GC1~GC3是组装对象物WK1的重心位置。
在进行这样的处理的情况下,如图3所示,本实施方式的机器人控制系统100还包括参照图像存储部130。参照图像存储部130存储对采取目标位置姿势的组装对象物进行显示的参照图像。参照图像例如是如后述图12(A)所示的图像RIM。此外,参照图像存储部130的功能能够通过RAM(Random Access Memory:随机存取存储器)等存储器、HDD(Hard Disk Drive:硬盘驱动器)等来实现。
而且,对于控制部120而言,作为如上述图10的箭头YJ1所示的第一视觉伺服,根据至少映有组装对象物的第一拍摄图像与参照图像,使组装对象物向目标位置姿势移动。
并且,控制部120在上述第一视觉伺服后,进行如图10的箭头YJ2所示的第二视觉伺服。即,控制部120在使组装对象物移动后,根据至少映有被组装对象物的第二拍摄图像,进行被组装对象物的特征量检测处理,并根据被组装对象物的特征量,使组装对象物移动。
这里,用图11的流程图、图12(A)~图12(D)对更加具体的处理流程进行说明。
首先,作为第一视觉伺服的准备,使机器人的手部HD把持组装对象物WK1,并使组装对象物WK1向该目标位置姿势移动(S301),利用拍摄部200(图10的摄像机CM)拍摄目标位置姿势的组装对象物WK1,从而获取如图12(A)所示的参照图像(目标图像)RIM(S302)。然后,从获取的参照图像RIM检测组装对象物WK1的特征量F0(S303)。
这里,目标位置姿势是指在第一视觉伺服中成为目标的组装对象物WK1的位置姿势。例如,在图10中,位置GC2是目标位置姿势,在图12(A)的参照图像RIM中,映有组装对象物WK1位于该目标位置姿势GC2的样子。该目标位置姿势是在生成参照图像时由指导者(使用者)设定的位置姿势。
另外,参照图像例如像图12(A)的参照图像RIM那样,是指在上述目标位置姿势下映有第一视觉伺服中的移动对象亦即组装对象物WK1的图像。此外,在图12(A)的参照图像RIM中,也映有被组装对象物WK2,但是不是一定要映出被组装对象物WK2。另外,参照图像也可以是存储于外部的存储部的图像、经由网络而获取的图像、根据CAD模型数据生成的图像等。
接下来,进行第一视觉伺服。首先,拍摄图像获取部110获取如图12(B)所示的第一拍摄图像PIM101(S304)。
这里,本例中的第一拍摄图像例如像图12(B)的拍摄图像PIM101那样,是指映有组装作业的组装对象物WK1与被组装对象物WK2中的至少组装对象物WK1的拍摄图像。
然后,控制部120从第一拍摄图像PIM101检测组装对象物WK1的特征量F1(S305),并根据上述特征量F0与特征量F1,使组装对象物WK1如图10的箭头YJ1所示地移动(S306)。
然后,控制部120对组装对象物WK1是否处于目标位置姿势GC2进行判定(S306),在判定为组装对象物WK1处于目标位置姿势GC2的情况下,移至第二视觉伺服。另一方面,在判定为组装对象物WK1未处于目标位置姿势GC2的情况下,回到步骤S304,并且反复进行第一视觉伺服。
这样,在第一视觉伺服中,边比较参照图像RIM与第一拍摄图像PIM101中的组装对象物WK1的特征量彼此,边控制机器人。
接下来,进行第二视觉伺服。在第二视觉伺服中,首先,拍摄图像获取部110获取如图12(C)所示的第二拍摄图像PIM21(S308)。这里,第二拍摄图像是指用于第二视觉伺服的拍摄图像。此外,在本例的第二拍摄图像PIM21中,映有组装对象物WK1与被组装对象物WK2的双方。
然后,控制部120从第二拍摄图像PIM21检测被组装对象物WK2的目标特征量FB(S309)。例如在本例中,如图12(C)所示,作为目标特征量FB而检测到目标特征点GP1以及目标特征点GP2。
同样,控制部120从第二拍摄图像PIM21检测组装对象物WK1的关注特征量FA(S310)。例如在本例中,如图12(C)所示,作为关注特征量FA而检测到关注特征点IP1以及关注特征点IP2。
接下来,控制部120根据关注特征量FA与目标特征量FB,使组装对象物WK1移动(S312)。即,与前文中用图5说明的例子相同地,以使关注特征点IP1与目标特征点GP1接近、并使关注特征点IP2与目标特征点GP2接近的方式使组装对象物WK1移动。
然后,控制部120对组装对象物WK1与被组装对象物WK2是否处于目标相对位置姿势关系进行判定(S312)。例如在图12(D)所示的拍摄图像PIME中,由于关注特征点IP1与目标特征点GP1邻接,关注特征点IP2与目标特征点GP2邻接,所以判定为组装对象物WK1与被组装对象物WK2处于目标相对位置姿势关系,从而结束处理。
另一方面,在判定为组装对象物WK1与被组装对象物WK2未处于目标相对位置姿势关系的情况下,回到步骤S308,并且反复进行第二视觉伺服。
由此,在每次反复进行相同的组装作业时,使用相同的参照图像,并使组装对象物向被组装对象物的附近移动,之后,能够与实际的被组装对象物的详细的位置姿势相配合地进行组装作业等。即,即使在生成参照图像时的被组装对象物的位置姿势、与实际的组装作业时的被组装对象物的位置姿势偏移(不同)的情况下,也由于在第二视觉伺服中与被组装对象物的位置偏移对应,所以在第一视觉伺服中,能够每次使用相同的参照图像,而无需使用不同的参照图像。其结果是,能够抑制参照图像的准备成本等。
此外,在上述步骤S310中,从第二拍摄图像PIM21检测组装对象物WK1的关注特征量FA,但是未必意味着必须从第二拍摄图像PIM21进行检测。例如在第二拍摄图像PIM21未映有组装对象物WK1的情况等,也可以从映有组装对象物的其他第二拍摄图像PIM22检测组装对象物WK1的特征量等。
2.3.三个工件的组装作业
接下来,如图13A以及图13B所示,对进行三个工件WK1~WK3的组装作业的情况的处理进行说明。
在本组装作业中,如图13A所示,将由机器人的第一手部HD1把持的组装对象物WK1(工件WK1,例如为驱动器)组装于由机器人的第二手部HD2把持的第一被组装对象物WK2(工件WK2,例如为螺钉),并且将与工件WK1成为组装状态的工件WK2组装于作业台之上的第二被组装对象物WK3(工件WK3,例如螺孔)。然后,在组装作业后,成为如图13B所示的组装状态。
具体而言,在进行这样的处理的情况下,如图14(A)所示,控制部120根据至少映有组装作业中的第一被组装对象物WK2的第一拍摄图像PIM31,进行第一被组装对象物WK2的特征量检测处理。本例中的第一拍摄图像是指在进行组装对象物WK1与第一被组装对象物WK2的组装作业时使用的拍摄图像。
然后,控制部120根据第一被组装对象物WK2的特征量,使组装对象物WK1如图13A的箭头YJ1所示地移动。
接下来,如图14(B)所示,控制部120在使组装对象物WK1移动后,根据至少映有第二被组装对象物WK3的第二拍摄图像PIM41,进行第二被组装对象物WK3的特征量检测处理。本例中的第二拍摄图像是指在进行第一被组装对象物WK2与第二被组装对象物WK3的组装作业时使用的拍摄图像。
然后,控制部120根据第二被组装对象物WK3的特征量,使组装对象物WK1以及第一被组装对象物WK2如图13A的箭头YJ2的所示地移动。
由此,在每次进行组装作业时,即使在第一被组装对象物WK2、第二被组装对象物WK3的位置偏移的情况下,也能够进行组装对象物、第一被组装对象物、以及第二被组装对象物的组装作业等。
接下来,用图15的流程图对图13A以及图13B所示的三个工件的组装作业中的处理流程进行详细说明。
首先,拍摄图像获取部110获取至少映有组装作业中的组装对象物WK1以及第一被组装对象物WK2的1个或者多个第一拍摄图像。然后,控制部120根据第一拍摄图像,进行组装对象物WK1以及第一被组装对象物WK2的特征量检测处理。
在本例中,首先,拍摄图像获取部110获取映有第一被组装对象物WK2的第一拍摄图像PIM31(S401)。然后,控制部120根据第一拍摄图像PIM31,进行第一被组装对象物WK2的特征量检测处理,从而检测第一目标特征量FB1(S402)。这里,作为第一目标特征量FB1而检测到如图14(A)所示的目标特征点GP1与目标特征点GP2。
接下来,拍摄图像获取部110获取映有组装对象物WK1的第一拍摄图像PIM32(S403)。然后,控制部120根据第一拍摄图像PIM32,进行组装对象物WK1的特征量检测处理,从而检测第一关注特征量FA(S404)。这里,作为第一关注特征量FA而检测到关注特征点IP1与关注特征点IP2。
此外,在步骤S401~S404中,对获取分别映有组装对象物WK1与第一被组装对象物WK2的多个第一拍摄图像(PIM31以及PIM32)的例子进行了说明,但是如图14(A)所示,在组装对象物WK1与第一被组装对象物WK2映入相同的第一拍摄图像PIM31的情况下,也可以从第一拍摄图像PIM31检测组装对象物WK1与第一被组装对象物WK2的双方的特征量。
接下来,控制部120根据组装对象物WK1的特征量(第一关注特征量FA)以及第一被组装对象物WK2的特征量(第一目标特征量FB1),以使组装对象物WK1与第一被组装对象物WK2的相对位置姿势关系成为第一目标相对位置姿势关系的方式,使组装对象物WK1移动(S405)。具体而言,在拍摄图像中,以使关注特征点IP1与目标特征点GP1接近、并使关注特征点IP2与目标特征点GP2接近的方式,使组装对象物WK1移动。此外,该移动相当于图13A的箭头YJ1的移动。
然后,控制部120对组装对象物WK1与第一被组装对象物WK2是否处于第一目标相对位置姿势关系进行判定(S406)。在判定为组装对象物WK1与第一被组装对象物WK2未处于第一目标相对位置姿势关系的情况下,回到步骤S403,并且重新进行处理。
另一方面,在判定为组装对象物WK1与第一被组装对象物WK2处于第一目标相对位置姿势关系的情况下,从第一拍摄图像PIM32检测第一被组装对象物WK2的第二关注特征量FB2(S407)。具体而言,如后述图14(B)所示,控制部120作为第二关注特征量FB2而检测到关注特征点IP3与关注特征点IP4。
接下来,拍摄图像获取部110获取如图14(B)所示的至少映有第二被组装对象物WK3的第二拍摄图像PIM41(S408)。
然后,控制部120根据第二拍摄图像PIM41,进行第二被组装对象物WK3的特征量检测处理,从而检测第二目标特征量FC(S409)。具体而言,如图14(B)所示,控制部120作为第二目标特征量FC而检测到目标特征点GP3与目标特征点GP4。
接下来,控制部120根据第一被组装对象物WK2的特征量(第二关注特征量FB2)、与第二被组装对象物WK3的特征量(第二目标特征量FC),以使第一被组装对象物WK2与第二被组装对象物WK3的相对位置姿势关系成为第二目标相对位置姿势关系的方式,使组装对象物WK1与第一被组装对象物WK2移动(S410)。
具体而言,在拍摄图像中,以使关注特征点IP3与目标特征点GP3接近、并使关注特征点IP4与目标特征点GP4接近的方式,使组装对象物WK1与第一被组装对象物WK2移动。此外,该移动相当于图13A的箭头YJ2的移动。
然后,控制部120对第一被组装对象物WK2与第二被组装对象物WK3是否处于第二目标相对位置姿势关系进行判定(S411)。在判定为第一被组装对象物WK2与第二被组装对象物WK3未处于第二目标相对位置姿势关系的情况下,回到步骤S408,并且重新进行处理。
另一方面,如图14(C)所示的拍摄图像PIME那样,在判定为第一被组装对象物WK2与第二被组装对象物WK3处于组装状态、即处于第二目标相对位置姿势关系的情况下,结束处理。
这样,能够以使组装对象物WK1的关注特征点(IP1以及IP2)与第一被组装对象物WK2的目标特征点(GP1以及GP2)接近、并使第一被组装对象物WK2的关注特征点(IP3以及IP4)与第二被组装对象物WK3的目标特征点(GP3以及GP4)接近的方式,进行视觉伺服等。
另外,也可以不像图15的流程图所示那样按顺序对组装对象物WK1与第一被组装对象物WK2进行组装,而如图16(A)~图16(C)所示地同时组装三个工件。
在图17的流程图中示出了此时的处理流程。首先,拍摄图像获取部110获取映有组装作业中的组装对象物WK1、第一被组装对象物WK2以及第二被组装对象物WK3的1个或者多个拍摄图像(S501)。在本例中,获取图16(A)所示的拍摄图像PIM51。
接下来,控制部120根据1个或者多个拍摄图像,进行组装对象物WK1、第一被组装对象物WK2以及第二被组装对象物WK3的特征量检测处理(S502~S504)。
在本例中,如图16(A)所示,作为第二被组装对象物WK3的特征量而检测到目标特征点GP3以及目标特征点GP4(S502)。然后,作为第一被组装对象物WK2的特征量而检测到目标特征点GP1以及目标特征点GP2、关注特征点IP3以及关注特征点IP4(S503)。并且,作为组装对象物WK1的特征量而检测到关注特征点IP1以及关注特征点IP2(S504)。此外,在三个工件映入各自不同的拍摄图像的情况下,也可以在不同的拍摄图像分别进行特征量检测处理。
接下来,控制部120一边根据组装对象物WK1的特征量以及第一被组装对象物WK2的特征量,以使组装对象物WK1与第一被组装对象物WK2的相对位置姿势关系成为第一目标相对位置姿势关系的方式,使组装对象物WK1移动,一边根据第一被组装对象物WK2的特征量以及第二被组装对象物WK3的特征量,以使第一被组装对象物WK2与第二被组装对象物WK3的相对位置姿势关系成为第二目标相对位置姿势关系的方式,使第一被组装对象物WK2移动(S505)。
即,以使关注特征点IP1与目标特征点GP1接近、使关注特征点IP2与目标特征点GP2接近、使关注特征点IP3与目标特征点GP3接近、并使关注特征点IP4与目标特征点GP4接近的方式,使组装对象物WK1与第一被组装对象物WK2同时移动。
然后,拍摄图像获取部110重新获取拍摄图像(S506),并且控制部120根据重新获取的拍摄图像,对组装对象物WK1、第一被组装对象物WK2、以及第二被组装对象物WK3这三个工件是否处于目标相对位置姿势关系进行判定(S507)。
例如,在步骤S506中获取的拍摄图像是如图16(B)所示的拍摄图像PIM52,在判定为三个工件还未处于目标相对位置姿势关系的情况下,回到步骤S503,并且反复进行处理。此外,根据重新获取的拍摄图像PIM52,进行步骤S503以下的处理。
另一方面,在步骤S506中获取的拍摄图像是如图16(C)所示的拍摄图像PIME的情况下,判定为三个工件处于目标相对位置姿势关系,从而结束处理。
由此,能够同时进行三个工件的组装作业等。其结果是,能够缩短三个工件的组装作业的作业时间等。
并且,在进行三个工件的组装作业时,也可以按照与图15的流程图所示的组装顺序相反的顺序,进行组装作业。即,如图18(A)~图18(C)所示,也可以在将第一被组装对象物WK2组装于第二被组装对象物WK3后,将组装对象物WK1组装于第一被组装对象物WK2。
在这种情况下,如图18(A)所示,控制部120根据至少映有组装作业中的第二被组装对象物WK3的第一拍摄图像PIM61,进行第二被组装对象物WK3的特征量检测处理,并根据第二被组装对象物WK3的特征量,使第一被组装对象物WK2移动。此外,由于特征量检测处理的详细内容与用图16(A)说明的例子相同,所以省略其说明。
接下来,如图18(B)所示,控制部120根据至少映有移动后的第一被组装对象物WK2的第二拍摄图像PIM71,进行第一被组装对象物WK2的特征量检测处理,并根据第一被组装对象物WK2的特征量,以形成如图18(C)的组装状态的方式,使组装对象物WK1移动。
由此,无需使组装对象物WK1与第一被组装对象物WK2同时移动,而能够更容易地进行机器人的控制等。另外,即使不是多臂的机器人而是单臂的机器人,也能够进行三个工件的组装作业等。
另外,以上的本实施方式中使用的拍摄部(摄像机)200例如包括CCD(charge-coupled device:电荷耦合元件)等拍摄元件与光学系统。拍摄部200例如在顶棚、作业台之上等,以视觉伺服中的检测对象(组装对象物、被组装对象物或者机器人300的末端执行器310等)进入拍摄部200的视角内那样的角度而配置。而且,拍摄部200将拍摄图像的信息向机器人控制系统100等输出。其中,在本实施方式中,将拍摄图像的信息保持原样地向机器人控制系统100输出,但是并不限定于此。例如,拍摄部200能够包括图像处理等所使用的装置(处理器)。
3.机器人
接下来,在图19A以及图19B中,示出了应用本实施方式的机器人控制系统100的机器人300的构成例。在图19A以及图19B的任一情况下,机器人300都具有末端执行器310。
末端执行器310是为了把持、提起、吊起、吸附工件(作业对象物)、对工件施行加工而安装于臂的端点的部件。末端执行器310例如可以是手部(把持部),可以是钩部,也可以是吸盘等。并且,也可以针对1支臂设置多个末端执行器。此外,臂是机器人300的部件,并且是包括一个以上的关节的可动部件。
例如,图19A的机器人是机器人主体300(机器人)与机器人控制系统100独立地构成的。在这种情况下,机器人控制系统100的一部分或者全部的功能例如通过PC(Personal Computer:个人计算机)来实现。
另外,本实施方式的机器人并不限定于图19A的结构,也可以是如图19B所示地机器人主体300与机器人控制系统100一体地构成的。即,机器人300也可以包括机器人控制系统100。具体而言,如图19B所示,机器人300也可以具有机器人主体(具有臂以及末端执行器310)以及支撑机器人主体的基座单元部,并且机器人控制系统100收纳于该基座单元部。在图19B的机器人300中,形成为在基座单元部设置有车轮等、并且机器人整体能够移动的结构。此外,图19A是单臂型的例子,而机器人300也可以如图19B所示是双臂型等多臂型的机器人。另外,机器人300可以是通过人手来移动的机器人,也可以是设置驱动车轮的马达而利用机器人控制系统100控制该马达从而使其移动的机器人。另外,并不限定于如图19B所示地在设置于机器人300之下的基座单元部设置机器人控制系统100。
另外,如图20所示,机器人控制系统100的功能也可以通过经由包括有线以及无线的至少一方的网络400而与机器人300通信连接的服务器500来实现。
或者在本实施方式中,也可以由服务器500侧的机器人控制系统进行本发明的机器人控制系统的处理的一部分。在这种情况下,通过与设置于机器人300侧的机器人控制系统的分散处理,从而实现该处理。此外,机器人300侧的机器人控制系统例如通过设置于机器人300的终端装置330(控制部)来实现。
而且,在这种情况下,服务器500侧的机器人控制系统进行本发明的机器人控制系统的各处理中的、分配于服务器500的机器人控制系统的处理。另一方面,设置于机器人300的机器人控制系统进行本发明的机器人控制系统的各处理中的、分配于机器人300的机器人控制系统的处理。此外,本发明的机器人控制系统的各处理可以是分配于服务器500侧的处理,也可以是分配于机器人300侧的处理。
由此,例如与终端装置330相比处理能力较高的服务器500能够进行处理量较多的处理等。并且,例如服务器500能够一并控制各机器人300的动作,并能够容易地使多个机器人300协调动作等。
另外,近几年,制造多品种且少数的部件的情况有增加的趋势。而且,在变更制造的部件的种类的情况下,需要变更机器人进行的动作。若为如图20所示的结构,则即使不重新进行针对多个机器人300各自的指导作业,服务器500也能够一并变更机器人300所进行的动作等。
并且,若为如图20所示的结构,则与针对各机器人300设置一个机器人控制系统100的情况相比,能够大幅度减少进行机器人控制系统100的软件更新时的麻烦等。
此外,本实施方式的机器人控制系统以及机器人等也可以通过程序来实现上述处理的一部分或者大部分。在这种情况下,CPU等处理器执行程序,从而实现本实施方式的机器人控制系统以及机器人等。具体而言,读出存储于信息存储介质的程序,并且CPU等处理器执行读出的程序。这里,信息存储介质(能够由计算机读取的介质)是储存程序、数据等的介质,其功能能够通过光盘(DVD、CD等)、HDD(硬盘驱动器)、或者存储器(卡式存储器、ROM等)等来实现。而且,CPU等处理器根据储存于信息存储介质的程序(数据),进行本实施方式的各种处理。即,在信息存储介质存储用于使计算机(具备操作部、处理部、存储部、输出部的装置)作为本实施方式的各部而发挥功能的程序(用于使计算机执行各部的处理的程序)。
以上对本实施方式进行了详细说明,但是可以在实质上不脱离本发明的新内容和效果的条件下,进行多种多样的改变,这对于本领域技术人员来说是显而易见的。因此,这种改变例也均包含在本发明的范围内。例如,在说明书或附图中,至少一次与更加广义或同义的不同用语一起被记载的用语,在说明书或附图中的任何位置,均能够替换成该不同用语。另外,机器人控制系统、机器人以及程序的结构、动作也不限定于本实施方式中说明的结构、动作,而能够进行各种变形实施。
第二实施方式
图21是表示本发明的一实施方式的机器人系统1的结构的一个例子的系统构成图。本实施方式的机器人系统1主要具备机器人10、控制部20、第一拍摄部30以及第二拍摄部40。
机器人10是具有包括多个接头(关节)12以及多个连杆13的臂11的臂型机器人。机器人10根据来自控制部20的控制信号而进行处理。
在接头12设置有用于使它们进行动作的促动器(未图示)。促动器例如具备伺服马达、编码器等。编码器输出的编码器值用于由控制部20进行的机器人10的反馈控制。
在臂11的前端附近设置有手眼摄像机15。手眼摄像机15是拍摄处于臂11的前端的物体而生成图像数据的单元。作为手眼摄像机15,例如能够采用可见光摄像机、红外线摄像机等。
作为臂11的前端部分的区域,将不与机器人10的其他区域(除去后面进行说明的手部14)连接的区域定义为臂11的端点。在本实施方式中,使图21所示的点E的位置位于端点的位置。
此外,对于机器人10的结构而言,在对本实施方式的特征进行说明时对主要结构进行了说明,并且不限定于上述结构。并不排除一般的把持机器人所具备的结构。例如,在图21中示出了6轴的臂,但是也可以使轴数(接头数)进一步增加,也可以使其减少。也可以增减连杆的数量。另外,也可以适当地变更臂、连杆、接头等各种部件的形状、大小、配置、构造等。
控制部20进行控制机器人10的整体的处理。控制部20可以设置于远离机器人10的主体的场所,也可以内置于机器人10。在控制部20设置于远离机器人10的主体的场所的情况下,控制部20以有线或者无线的方式与机器人10连接。
第一拍摄部30以及第二拍摄部40分别是从不同角度对臂11的作业区域附近进行拍摄而生成图像数据的单元。第一拍摄部30以及第二拍摄部40例如包括摄像机,并被设置于作业台、顶棚、壁等。作为第一拍摄部30以及第二拍摄部40,能够采用可见光摄像机、红外线摄像机等。第一拍摄部30以及第二拍摄部40与控制部20连接,并向控制部20输入由第一拍摄部30以及第二拍摄部40拍摄的图像。此外,第一拍摄部30以及第二拍摄部40也可以不与控制部20而与机器人10连接,也可以内置于机器人10。此时,经由机器人10而向控制部20输入由第一拍摄部30以及第二拍摄部40拍摄的图像。
接下来,对机器人系统1的功能构成例进行说明。图22表示机器人系统1的功能框图。
机器人10具备根据促动器的编码器值、以及传感器的传感器值等来控制臂11的动作控制部101。
动作控制部101根据从控制部20输出的信息、促动器的编码器值、以及传感器的传感器值等,以使臂11向从控制部20输出的位置移动的方式,驱动促动器。能够根据设置于接头12等的促动器的编码器值等求出端点的当前位置。
控制部20主要具备位置控制部2000、视觉伺服部210以及驱动控制部220。位置控制部2000主要具备路径获取部201以及第一控制部202。视觉伺服部210主要具备图像获取部211、图像处理部212以及第二控制部213。
位置控制部2000执行沿着预先设定的规定的路径使臂11移动的位置控制。
路径获取部201获取与路径相关的信息。路径是根据指导位置形成的,例如是以预先设定的规定的顺序,将预先通过指导而设定的1个以上的指导位置连起来从而形成的。此外,与路径相关的信息、例如表示坐标、路径内的顺序的信息保持于存储器22(在后面进行说明,参照图24等)。保持于存储器22的与路径相关的信息也可以经由输入装置25等而输入。此外,与路径相关的信息也包含端点的最终的位置、即与目标位置相关的信息。
第一控制部202根据由路径获取部201获取的与路径相关的信息,设定下一个指导位置、即设定端点的轨道。
另外,第一控制部202根据端点的轨道,决定臂11的下一个移动位置、即决定设置于接头12的各促动器的目标角度。另外,第一控制部202生成使臂11移动目标角度那样的指令值,并将其向驱动控制部220输出。此外,由于第一控制部202进行的处理是一般的内容,所以省略详细的说明。
视觉伺服部210执行根据第一拍摄部30与第二拍摄部40拍摄的图像,将与目标物的相对的位置的变化作为视觉信息来测量,并将其作为反馈信息来使用,从而追踪目标物的控制手段亦即所谓的视觉伺服,而使臂11移动。
此外,作为视觉伺服,能够使用位置基准的方法、特征基准的方法等方法,上述位置基准的方法根据对象的三维位置信息而控制机器人,上述对象的三维位置信息是通过使用产生视差那样的两个图像而将图像作为立体图像来识别的立体图等方法来计算出来的;上述特征基准的方法以使由两个拍摄部从正交的方向拍摄的图像与预先保持的各拍摄部的目标图像之差为零(各图像的像素数量的误差矩阵为零)的方式控制机器人。例如,在本实施方式中,采用特征基准的方法。此外,特征基准的方法虽然能够使用1台拍摄部来进行,但是为了提高精度,优选使用2台拍摄部。
图像获取部211获取第一拍摄部30所拍摄的图像(以下,称为第一图像)以及第二拍摄部40所拍摄的图像(以下,称为第二图像)。将图像获取部211获取的第一图像以及第二图像向图像处理部212输出。
图像处理部212根据从图像获取部211获取的第一图像以及第二图像,从第一图像以及第二图像识别端点的前端,并提取包括端点的图像。此外,由于图像处理部212进行的图像识别处理能够使用一般的各种技术,所以省略其说明。
第二控制部213根据由图像处理部212提取的图像(以下,称为当前图像)、以及端点位于目标位置时的图像(以下,称为目标图像),设定端点的轨道、即端点的移动量以及移动方向。此外,对于目标图像而言,将预先获取的信息存储于存储器22等即可。
另外,第二控制部213根据端点的移动量以及移动方向,决定设置于接头12的各促动器的目标角度。并且,第二控制部213生成使臂11移动目标角度那样的指令值,并将其向驱动控制部220输出。此外,由于第二控制部213进行的处理是一般的内容,所以省略详细的说明。
此外,在具有关节的机器人10中,若决定了各关节的角度,则端点的位置通过正向运动学处理而唯一决定。即,在N关节机器人中,由于能够由N个关节角度表现一个目标位置,所以若使该N个关节角度的组合为一个目标关节角度,则能够将端点的轨道考虑为关节角度的集合。由此,从第一控制部202以及第二控制部213输出的指令值可以是与位置相关的值(目标位置),也可以是与关节的角度相关的值(目标角度)。
驱动控制部220根据从第一控制部202以及第二控制部213获取的信息,以使端点的位置、即以使臂11移动的方式,向动作控制部101输出指示。在后面对驱动控制部220所进行的处理的详细内容进行详述。
图23是机器人系统1的数据流程图。
在位置控制部2000中,传递有用于通过位置控制而使机器人的各关节与目标角度接近的反馈环路。预先设定的路径的信息包含与目标位置相关的信息。对于第一控制部202而言,若获取与目标位置相关的信息,则根据与目标位置相关的信息以及由路径获取部201获取的当前位置,生成轨道以及指令值(这里是目标角度)。
在视觉伺服部210中,传递有用于使用来自第一拍摄部30以及第二拍摄部40的信息而与目标位置接近的视觉反馈环路。第二控制部213作为与目标位置相关的信息而获取目标图像。对于第二控制部213而言,由于当前图像以及当前图像上的目标位置是以图像上的坐标系来表示的,所以将其变换为机器人的坐标系。第二控制部213根据变换后的当前的当前图像以及目标图像,生成轨道以及指令值(这里是目标角度)。
驱动控制部220向机器人10输出根据从第一控制部202输出的指令值、以及从第二控制部213输出的指令值而形成的指令值。具体而言,驱动控制部220将从第一控制部202输出的指令值乘以α这一系数,将从第二控制部213输出的指令值乘以1-α这一系数,并向机器人10输出将上述值合成而成的值。这里,α是比0大、比1小的实数。
此外,根据从第一控制部202输出的指令值、以及从第二控制部213输出的指令值而形成的指令值的方式并不限定于此。
这里,在本实施方式中,从第一控制部202以恒定的间隔(例如每隔1毫秒(msec))输出指令值,从第二控制部213以比来自第一控制部202的输出间隔长的间隔(例如每隔30msec)输出指令值。因此,驱动控制部220在不从第二控制部213输出指令值的情况下,将从第一控制部202输出的指令值乘以α这一系数,将最后从第二控制部213输出的指令值乘以1-α这一系数,并向机器人10输出将上述值合成而成的值。对于驱动控制部220而言,最后从第二控制部213输出的指令值暂时存储于存储器22(图24参照)等存储装置,驱动控制部220从存储装置读出它而使用即可。
动作控制部101从控制部20获取指令值(目标角度)。动作控制部101根据设置于接头12等的促动器的编码器值等,获取端点的当前角度,并计算目标角度与当前角度的差分(偏差角度)。另外,动作控制部101例如根据偏差角度来计算臂11的移动速度(偏差角度越大移动速度越快),并以计算出的移动速度使臂11移动计算出的偏差角度。
图24是表示控制部20的简要结构的一个例子的框图。如图所示,由例如计算机等构成的控制部20具备作为运算装置的中央处理器(Central Processing Unit:)21;由作为易失性的存储装置的RAM(Random Access Memory:随机存取存储器)、与作为非易失性的存储装置的ROM(Read only Memory:只读存储器)构成的存储器22;外部存储装置23;与机器人10等外部的装置进行通信的通信装置24;鼠标或键盘等输入装置25;显示器等输出装置26;以及将控制部20与其他单元连接的接口(I/F)27。
上述各功能部例如是通过CPU21在存储器22读出并执行储存于存储器22的规定的程序从而实现的。此外,规定的程序例如可以预先安装于存储器22,也可以经由通信装置24而从网络下载从而安装或者更新。
对于以上的机器人系统1的结构而言,在对本实施方式的特征进行说明时对主要结构进行了说明,并且不限定于上述结构。另外,不排除具备一般的机器人系统的结构。
接下来,对本实施方式的由上述结构构成的机器人系统1的特征的处理进行说明。在本实施方式中,以使用手眼摄像机15按顺序对如图21所示的对象物O1、O2、O3进行目视检查的作业为例进行说明。
若经由未图示的按钮等而输入控制开始指示,则控制部20通过位置控制以及视觉伺服而控制臂11。驱动控制部220在从第二控制部213输入指令值的情况(在本实施方式中每30次进行1次)下,使用将从第一控制部202输出的值(以下,称为基于位置控制的指令值)、与从第二控制部213输出的值(以下,称为基于视觉伺服的指令值)以任意的分量合成而成的指令值,并向动作控制部101输出指示。驱动控制部220在不从第二控制部213输入指令值的情况(在本实施方式中每30次进行29次)下,使用从第一控制部202输出的基于位置控制的指令值、与最后从第二控制部213输出并暂时存储于存储器22等的指令值,并向动作控制部101输出指示。
图25A是对通过位置控制以及视觉伺服而控制臂11时的端点的轨道进行说明的图。在图25A中的位置1设置有对象物O1,在位置2设置有对象物O2,在位置3设置有对象物O3。在图25A中,对象物O1、O2、O3位于同一平面(XY平面)上,手眼摄像机15位于恒定的Z方向位置。
在图25A中,实线所示的轨道是仅使用基于位置控制的指令值的情况下的端点的轨道。该轨道成为通过位置1、2、3之上的轨道,在对象物O1、O2、O3始终以相同的位置、姿势设置的情况下,能够仅通过位置控制而对对象物O1、O2、O3进行目视检查。
与此相对,在图25A中,考虑对象物O2从实线上的位置2向移动后的位置2移动的情况。由于端点在实线所示的对象物O2之上移动,所以在仅使用基于位置控制的指令值的情况下,能够设想对象物O2的检查的精度降低、或者无法进行检查的情形。
由于与对象物的位置的移动对应,所以良好地应用视觉伺服。若使用视觉伺服,则即使对象物的位置偏移,也能够使端点在对象物的正上方移动。例如,若对象物O2位于移动后的位置2,则在给予图25B所示的图像作为目标图像的情况下,假设仅使用基于视觉伺服的指令值,则端点通过图25A中的点线所示的轨道上。
视觉伺服是能够与对象物的偏移对应的非常有用的控制方法,但是因第一拍摄部30或第二拍摄部40的帧速率、图像处理部212的图像处理时间等,从而与位置控制的情况相比,存在到达目标位置为止的时间花费较多这一问题。
因此,通过同时使用位置控制与视觉伺服的指令值(同时进行位置控制与视觉伺服、即并行控制),从而与对象物O1、O2、O3的位置偏移对应地确保检查精度,同时与视觉伺服相比高速地移动。
此外,所谓同时并不限定于完全相同的时间、时刻。例如,同时使用位置控制与视觉伺服的指令值的情况是指,也包括同时输出位置控制的指令值与视觉伺服的指令值的情况、错开微小时间地输出位置控制的指令值与视觉伺服的指令值的情况的概念。对于微小时间而言,只要是能够进行与同时的情况相同的处理的时间,就可以是任意长度的时间。
特别是在目视检查的情况下,由于手眼摄像机15的视角包含对象物O2即可(对象物O2无需位于视角的中心),所以即使轨道不在对象物O2之上也没问题。
因此,在本实施方式中,驱动控制部220以形成手眼摄像机15的视角包含对象物O2的轨道的方式,将基于位置控制的指令值与基于视觉伺服的指令值进行合成。在图25A中由点划线表示此时的轨道。该轨道未通过对象物O2的正上方,而是能够最大限度确保检查精度的位置。
此外,除了对象物的设置位置偏移以外,由温度变化引起的臂11的各部件等的膨胀等也成为路径上的位置与实际的对象物的位置的偏移的重要因素,但是在这种情况下,也能够通过同时使用位置控制与视觉伺服的指令值来解决。
该图25A中的点划线所示的轨道的位置因分量α而能够改变。图26是对分量α进行说明的图。
图26A是表示到目标(这里是对象物O1、O2、O3)的距离与分量α的关系的图。线A是与到目标位置的距离无关而为恒定的分量α的情况。线B是与到目标位置的距离对应地阶段性地减小分量α的情况。线C、D是与到目标位置的距离对应地连续地减小分量α的情况,线C是与距离成比例地使分量α的变化变小的情况,线D是距离与分量α成比例的情况。其中,分量α为0<α<1。
在为图26A的线B、C、D的情况下,以使随着到目标位置的距离变近,位置控制的指令值的比重减少、视觉伺服的指令值的比重增加的方式,设定分量α。由此,在目标位置移动的情况下,能够以使端点与目标位置更加接近的方式生成轨道。
另外,由于设定分量α以使得位置控制与视觉伺服的各指令值叠加,所以能够与到目标位置的距离对应地连续地改变分量α。通过与距离对应地连续地改变分量,能够将控制从大致基于位置控制的臂的控制向大致基于视觉伺服的臂的控制顺利地切换。
此外,如图26A所示,分量α并不限定于由到目标(这里是对象物O1、O2、O3)的距离规定的情况。如图26B所示,也可以由从开始位置离开的距离规定分量α。即,驱动控制部220能够根据当前位置与目标位置的差分来决定分量α。
此外,到目标的距离、从开始位置离开的距离可以根据路径获取部101所获取的路径而求出,也可以根据当前图像与目标图像而求出。例如,在根据路径而求出的情况下,能够根据与路径相关的信息所包含的开始位置、目标、对象物的位置等的坐标、顺序、以及当前位置的坐标、顺序来进行计算。
对于如图26所示的当前位置与目标位置的差分和分量的关系而言,由于以使用者希望的轨道来控制臂11,所以例如能够经由输入装置25等输入部而输入。另外,当前位置与目标位置的差分和分量的关系预先存储于存储器22等存储机构,从而使用它即可。此外,存储于存储机构的当前位置与目标位置的差分和分量的关系可以是经由输入部而输入的内容,也可以是预先初始设定的内容。
根据本实施方式,由于使用以恒定的比例将位置控制与视觉伺服的各指令值合成而成的指令值来控制臂(手眼摄像机),所以即使在产生对象物的位置偏移的情况下,也能够精度良好地进行高速检查。特别是,根据本实施方式,能够使速度与位置控制同等(与视觉伺服相比高速),并且与位置控制相比能够针对位置偏移进行鲁棒性检查。
此外,在本实施方式中,平常将基于位置控制的指令值与基于视觉伺服的指令值进行合成,但是例如在对象物O2的位置偏移比规定的阈值大的情况下,也可以仅使用基于视觉伺服的指令值而使臂11移动。第二控制部213根据当前图像而求出对象物O2的位置偏移是否比规定的阈值大即可。
另外,在本实施方式中,驱动控制部220根据当前位置与目标位置的差分而决定分量α,但是决定分量α的方法并不限定于此。例如,驱动控制部220也可以使分量α随着时间的经过而变化。另外,驱动控制部220也可以到经过一定时间为止使分量α随着时间的经过而变化,之后根据当前位置与目标位置的差分来改变分量α。
第三实施方式
本发明的第一实施方式平常使用以恒定的比例将位置控制与视觉伺服的各指令值合成而成的指令值来控制臂,但是本发明的适用范围并不限定于此。
本发明的第三实施方式是将与对象物的位置对应地仅使用位置控制的各指令值的情况、与使用以恒定的比例将位置控制与视觉伺服的各指令值合成而成的指令值的情况进行组合的方式。以下,对本发明的第三实施方式的机器人系统2进行说明。此外,由于机器人系统2的结构与第二实施方式的机器人系统1相同,所以省略机器人系统2的结构的说明,而对机器人系统2的处理进行说明。另外,对于与第二实施方式相同的部分,标注相同的附图标记,并省略其说明。
图27是表示本发明的臂11的控制处理的流程的流程图。该处理例如是通过经由未图示的按钮等而输入控制开始指示从而开始的。在本实施方式中,进行对象物O1、O2的目视检查。
若开始进行处理,则位置控制部2000进行位置控制(步骤S1000)。即,第一控制部202根据由路径获取部201获取的与路径相关的信息而生成指令值,并将其向驱动控制部220输出。驱动控制部220将从第一控制部202输出的指令值向机器人10输出。这样,动作控制部101根据指令值而使臂11(即端点)移动。
接下来,第一控制部202对通过位置控制而使端点移动的结果、即对端点是否通过切换点1进行判断(步骤S1002)。表示切换点1的位置的信息包含在预先设定的与路径相关的信息内。
图28是对对象物O1、O2的位置、切换点的位置以及端点的轨道进行说明的图。在本实施方式中,切换点1设置在开始地点与对象物O1之间。
在端点未通过切换点1的情况(步骤S1002中为否)下,控制部20反复进行步骤S1000的处理。
在端点通过切换点1的情况(步骤S1002中为是)下,驱动控制部220使用位置控制以及视觉伺服来控制臂11(步骤S1004)。即,第一控制部202根据由路径获取部201获取的与路径相关的信息而生成指令值,并将其向驱动控制部220输出。另外,第二控制部213根据由图像处理部212处理的当前图像与目标图像而生成指令值,并将其向驱动控制部220输出。驱动控制部220随着时间的经过而对分量α进行阶段性切换,并使用切换后的分量α,将从第一控制部202输出的指令值与从第二控制部213输出的指令值进行合成,并向机器人10输出。这样,动作控制部101根据指令值而使臂11(即端点)移动。
以下,对步骤S1004的处理进行具体说明。在进行步骤S1004的处理之前、即在步骤S1000的处理中,不使用来自视觉伺服部210的指令值。因此,来自位置控制部2000的指令值的分量α为1(来自视觉伺服部210的指令值的分量1-α=0)。
在步骤S1004的处理开始后,若经过了一定时间(例如10msec),则驱动控制部220将来自位置控制部2000的指令值的分量α从1切换至0.9。这样,来自视觉伺服部210的指令值的分量1-α变为0.1。然后,驱动控制部220在使来自位置控制部2000的指令值的分量α为0.9、并使来自视觉伺服部210的指令值的分量1-α为0.1的前提下对它们的指令值进行合成,并向机器人10输出。
之后,若进一步经过了一定时间,则驱动控制部220将来自位置控制部2000的指令值的分量α从0.9切换至0.8,并将来自视觉伺服部210的指令值的分量1-α从0.1切换至0.2。这样,随着一定时间的经过而阶段性地切换分量α,并使用切换后的分量,将从第一控制部202输出的指令值与从第二控制部213输出的指令值进行合成。
位置控制部2000在来自位置控制部2000的指令值的分量α变为0.5、来自视觉伺服部210的指令值的分量1-α变为0.5之前,反复进行该分量α的切换以及指令值的合成。驱动控制部220在来自位置控制部2000的指令值的分量α变为0.5、来自视觉伺服部210的指令值的分量1-α变为0.5之后,以不切换分量α而维持分量α的方式,反复进行指令值的合成。
由此,即使在对象物O1的位置变化的情况下也能够进行目视检查。另外,在超出所需地远离对象物的情况下,仅通过位置控制而使端点移动,从而能够进行高速处理。另外,在与对象物接近时通过位置控制以及视觉伺服而使端点移动,从而也能够与对象物的位置变化的情况对应。并且,通过缓缓切换分量α,能够防止臂11的突然的动作、振动。
此外,在步骤S1004的处理中,在进行该分量α的切换以及指令值的合成期间,端点通过切换点2的(步骤S1006,在后面进行详细叙述)情况下,在分量α变为0.5之前不进行分量α的切换以及指令值的合成,而进入步骤S1006。
接下来,第一控制部202对通过位置控制以及视觉伺服而使端点移动的结果、即对端点是否通过切换点2进行判断(步骤S1006)。表示切换点2的位置的信息包含在与路径相关的信息内。如图28所示,切换点2设定于对象物O1。
在端点未通过切换点2的情况(步骤S1006中为否)下,控制部20反复进行步骤S1004的处理。
在端点通过切换点2的情况(步骤S1006中为是)下,驱动控制部220以使分量α随着时间的经过而阶段性增大的方式对分量α进行切换,并使用切换后的分量α,将从第一控制部202输出的指令值与从第二控制部213输出的指令值进行合成,并向机器人10输出。动作控制部101根据指令值而使臂11(即端点)移动(步骤S1008)。
以下,对步骤S1008的处理进行具体说明。在进行步骤S1008的处理之前、即在步骤S1006的处理中,驱动控制部220使来自位置控制部2000的指令值的分量α为0.5,并使来自视觉伺服部210的指令值的分量1-α为0.5从而合成指令值。
在步骤S1008的处理开始后,若经过了一定时间(例如10msec),则驱动控制部220将来自位置控制部2000的指令值的分量α从0.5切换至0.6。这样,来自视觉伺服部210的指令值的分量1-α变为0.4。然后,驱动控制部220在使来自位置控制部2000的指令值的分量α为0.6、来自视觉伺服部210的指令值的分量1-α为0.4的前提下,对它们的指令值进行合成,并向机器人10输出。
之后,若进一步经过了一定时间,则驱动控制部220将来自位置控制部2000的指令值的分量α从0.6切换至0.7,并将来自视觉伺服部210的指令值的分量1-α从0.4切换至0.3。这样,随着一定时间的经过而阶段性地切换分量α,并使用切换后的分量,将从第一控制部202输出的指令值与从第二控制部213输出的指令值进行合成。
驱动控制部220在分量α变为1之前反复进行分量α的切换。在分量α变为1的情况下,来自视觉伺服部210的指令值的分量1-α为0。因此,驱动控制部220向机器人10输出从第一控制部202输出的指令值。这样,动作控制部101根据指令值而使臂11(即端点)移动(步骤S1010)。其结果是,通过位置控制而使端点移动。步骤S1010的处理与步骤S1000相同。
这样,在通过对象物O1的阶段,通过位置控制而使端点移动,从而能够进行高速处理。另外,通过缓缓切换分量α,能够防止臂11的突然的动作、振动。
接下来,第一控制部202对通过位置控制而使端点移动的结果、即对端点是否通过切换点3进行判断(步骤S1012)。表示切换点3的位置的信息包含在预先设定的与路径相关的信息内。如图28所示,切换点3设置在对象物O1(切换点2)与对象物O2之间。
在端点未通过切换点3的情况(步骤S1012中为否)下,控制部20反复进行步骤S1010的处理。
在端点通过切换点3的情况(步骤S1012中为是)下,驱动控制部220随着时间的经过而对分量α进行阶段性切换,并使用切换后的分量α,将从第一控制部202输出的指令值与从第二控制部213输出的指令值进行合成,并向机器人10输出。这样,动作控制部101根据指令值而使臂11(即端点)移动(步骤S1014)。步骤S1014的处理与步骤S1004相同。
接下来,第一控制部202对通过位置控制以及视觉伺服而使端点移动的结果、即对端点是否通过切换点4进行判断(步骤S1016)。表示切换点4的位置的信息包含在与路径相关的信息内。如图28所示,切换点4设定于对象物O2。
在端点未通过切换点4的情况(步骤S1016中为否)下,控制部20反复进行步骤S1014的处理。
在端点通过切换点4的情况(步骤S1016中为是)下,驱动控制部220以使分量α随着时间的经过而阶段性增大的方式对分量α进行切换,并使用切换后的分量α,将从第一控制部202输出的指令值与从第二控制部213输出的指令值进行合成,并向机器人10输出。动作控制部101根据指令值而使臂11(即端点)移动(步骤S1018)。步骤S1018的处理与步骤S1008相同。
驱动控制部220在分量α变为1之前反复进行分量α的切换。若分量α变为1,则驱动控制部220向机器人10输出从第一控制部202输出的指令值。这样,动作控制部101根据指令值而使臂11(即端点)移动(步骤S1020)。步骤S1020的处理与步骤S1010相同。
接下来,第一控制部202对通过位置控制而使端点移动的结果、即对端点是否到达目标地点进行判断(步骤S1022)。表示目标地点的位置的信息包含在预先设定的与路径相关的信息内。
在端点未到达目标地点的情况(步骤S1022中为否)下,控制部20反复进行步骤S1020的处理。
在端点到达目标地点的情况(步骤S1022中为是)下,驱动控制部220结束处理。
根据本实施方式,在与对象物接近时,通过位置控制以及视觉伺服而使端点移动,从而也能够与对象物的位置变化的情况对应。另外,在端点(当前位置)超出所需地远离对象物的情况下,在满足端点(当前位置)通过对象物的情况等规定的条件的情况下,仅通过位置控制而使端点移动,从而能够进行高速处理。
另外,根据本实施方式,在对基于位置控制以及视觉伺服的控制、以及基于位置控制的控制进行切换时,通过缓缓切换分量α,能够防止臂的突然的动作、振动。
此外,在本实施方式中,在缓缓切换分量α的情况下,在每次经过一定时间时,将分量α阶段性地切换0.1,但是缓缓切换分量α的方法并不限定于此。例如,如图26所示,也可以与到对象物(相当于图26(A)中的目标位置)的位置、从对象物(相当于图26B中的开始位置)离开的位置对应地改变分量α。另外,如图26所示,分量α也可以连续地变化(参照图26A、图26B的线C、D等)。
另外,在本实施方式中,在使用位置控制与视觉伺服的指令值的情况(步骤S1004、S1008、S1014、S1018)下,使分量α为0.5、0.6、0.7、0.8、0.9,但是分量α只要是比0大比1小的实数就可以是任意值。
第四实施方式
本发明的第二、第三实施方式使用手眼摄像机而进行目视检查,但是本发明的适用范围并不限定于此。
本发明的第四实施方式是将本发明应用于对象物的针对孔的插入等装配作业的方式。以下,对本发明的第四实施方式进行说明。此外,对于与第二实施方式以及第三实施方式相同的部分,标注相同的附图标记,并省略其说明。
图29是表示本发明的一实施方式的机器人系统3的结构的一个例子的系统构成图。本实施方式的机器人系统3主要具备机器人10A、控制部20、第一拍摄部30以及第二拍摄部40。
机器人10A是具有包括多个接头(关节)12以及多个连杆13的臂11A的臂型机器人。在臂11A的前端设置有把持工件W、器具的手部14(所谓的末端执行器)。臂11A的端点的位置是手部14的位置。此外,末端执行器并不限定于手部14。
在臂11A的手臂部分设置有力觉传感器102(在图29中未图示,参照图30)。力觉传感器102是对作为与机器人10A输出的力相对的反作用力而受到的力、力矩进行检测的传感器。作为力觉传感器,例如,能够使用可同时检测平移3轴方向的力成分以及绕着旋转3轴的力矩成分的6成分的6轴力觉传感器。另外,力觉传感器所使用的物理量是电流、电压、电荷量、电感、形变,电阻、电磁引导、磁,空气压、光等。力觉传感器102通过将希望的物理量转换为电信号,从而能够检测6成分。此外,力觉传感器102并不限定于6轴,例如也可以是3轴。
接下来,对机器人系统3的功能构成例进行说明。图30表示机器人系统3的功能框图。
机器人10A具备根据促动器的编码器值和传感器的传感器值等来控制臂11A的动作控制部101、以及力觉传感器102。
控制部20A主要具备位置控制部2000、视觉伺服部210、图像处理部212、驱动控制部220以及力控制部230。
力控制部230根据来自力觉传感器102的传感器信息(力信息、力矩信息),进行力控制(力觉控制)。
在本实施方式中,作为力控制而进行阻抗控制。阻抗控制是为了将从外部向机器人的手尖(手部14)施加力的情况下产生的机械阻抗(惯性、衰减系数、刚性)设定为目标作业下合适的值的位置与力的控制手段。具体而言,是在机器人的末端执行器部连接质量、粘性系数、以及弹性要素的模型中,以设定为目标的质量、粘性系数以及弹性系数而与物体接触的控制。
力控制部230通过阻抗控制而决定端点的移动方向、移动量。另外,力控制部230根据端点的移动方向、移动量,决定设置于接头12的各促动器的目标角度。另外,力控制部230生成使臂11A移动目标角度那样的指令值,并将其向驱动控制部220输出。此外,由于力控制部230进行的处理是一般的内容,所以省略详细的说明。
此外,力控制并不限定于混合控制,而能够采用顺应性控制等能够巧妙地控制干扰力的控制方法。另外,为了进行力控制,需要检测施加于手部14等末端执行器的力,但是对施加于末端执行器的力进行检测的方法并不限定于使用力觉传感器的情况。例如,也能够从臂11A的各轴扭矩值推断末端执行器受到的外力。因此,为了进行力控制,只要臂11A具有直接或者间接地获取施加于末端执行器的力的机构即可。
接下来,对本实施方式的由上述结构构成的机器人系统3的特征的处理进行说明。图31是表示本发明的臂11A的控制处理的流程的流程图。该处理例如是经由未图示的按钮等而输入控制开始指示从而开始的。在本实施方式中,如图32所示,以将工件W插入孔H的装配作业为例进行说明。
若经由未图示的按钮等而输入控制开始指示,则第一控制部202通过位置控制而控制臂11,并使端点移动(步骤S130)。步骤S130的处理与步骤S1000相同。
在本实施方式中,将基于位置控制的指令值的分量设定为α,将基于视觉伺服的指令值的分量设定为β,并将基于力控制的指令值的分量设定为γ。分量α、β以及γ设定为,它们的合计为1。在步骤S130中,α为1,β以及γ为0。
接下来,第一控制部202对通过位置控制而使端点移动的结果、即对端点是否通过切换点1进行判断(步骤S132)。步骤S132的处理与步骤S1002相同。表示切换点1的位置的信息包含在预先设定的与路径相关的信息内。
图32是对端点的轨道以及切换点的位置进行说明的图。在本实施方式中,切换点1设置于作业空间内的预先决定的规定的位置。
在端点未通过切换点1的情况(步骤S132中为否)下,第一控制部202反复进行步骤S130的处理。
在端点通过切换点1的情况(步骤S132中为是)下,驱动控制部220随着时间的经过而对分量α以及β进行阶段性切换,并使用切换后的分量α以及β,将从第一控制部202输出的指令值与从第二控制部213输出的指令值进行合成,并向机器人10输出。这样,动作控制部101根据指令值而使臂11(即端点)移动(步骤S134)。即,在步骤S134中,通过位置控制以及视觉伺服而使端点移动。
以下,对步骤S134的处理进行具体说明。在进行步骤S134的处理之前、即在步骤S132的处理中,驱动控制部220使来自位置控制部200的指令值的分量α为1,使来自视觉伺服部210的指令值的分量β为0,并使来自力控制部230的指令值的分量γ为0,从而合成指令值。
在步骤S134的处理开始后,若经过了一定时间(例如10msec),则驱动控制部220将来自位置控制部2000的指令值的分量α从1切换至0.95,并将来自视觉伺服部210的指令值的分量β切换至0.05。然后,驱动控制部220在使来自位置控制部2000的指令值为分量0.95、并使来自视觉伺服部210的指令值的分量为0.05的前提下对它们的指令值进行合成,并向机器人10输出。
之后,若进一步经过了一定时间,则驱动控制部220将来自位置控制部2000的指令值的分量α从0.95切换至0.9,并将来自视觉伺服部210的指令值的分量β从0.05切换至0.1。
这样,随着一定时间的经过而阶段性地切换分量α以及β,并使用切换后分量,将从第一控制部202输出的指令值与从第二控制部213输出的指令值进行合成。驱动控制部220在分量α变为0.05、分量β变为0.95之前反复进行上述分量的切换。其结果是,通过位置控制以及视觉伺服而使端点移动。此外,在步骤S134中,由于不使用力控制,所以分量γ保持原样地为0。
此外,最终的分量α、β的比率α:β并不限定于0.05:0.95。分量α、β能够取分量α、β的和为1的各种值。但是,在这种作业中,由于孔H的位置不限定为恒定,所以优选使视觉伺服的分量β比位置控制的分量α大。
此外,缓缓切换分量α的方法并不限定于此。例如,如图26A、图26B所示,也可以与到对象物的位置、从对象物离开的位置对应地改变分量α。另外,如图26的线C、D所示,分量α也可以连续地变化。
接下来,第二控制部213对通过位置控制以及视觉伺服而使端点移动的结果、即对端点是否通过切换点2进行判断(步骤S136)。
切换点2由来自孔H的相对位置决定。例如,切换点2是从孔H的开口部中心离开距离L(例如,10cm)的位置。从孔H的开口部中心离开距离L的位置能够在x、y、z空间内设定为半球状。在图32中,例示出从孔H的开口部中心沿z方向离开距离L的位置。
图像处理部212从当前图像提取包含工件W的前端与孔H的图像,并向第二控制部213输出。另外,图像处理部212根据第一拍摄部30或者第二拍摄部40的摄像机参数(焦距等)对图像中的距离与现实空间中的距离的关系进行计算,并向第二控制部213输出。第二控制部213根据提取的图像中的工件W的前端位置与孔H的中心位置之差,对端点是否通过切换点2进行判断。
在端点未通过切换点2的情况(步骤S136中为否)下,第一控制部202、第二控制部213以及驱动控制部220反复进行步骤S134的处理。
在端点通过切换点2的情况(步骤S136中为是)下,驱动控制部220将从第一控制部202输出的指令值与从力控制部230输出的指令值进行合成,并向机器人10输出。动作控制部101根据指令值而使臂11(即端点)移动(步骤S138)。
以下,对步骤S138的处理进行具体说明。在进行步骤S138的处理之前、即在步骤S134的处理中,驱动控制部220使来自位置控制部2000的指令值的分量α为0.05,并使来自视觉伺服部210的指令值的分量β为0.95,从而合成指令值。
在步骤S138的处理开始后,驱动控制部220将来自位置控制部2000的指令值的分量α从0.05切换至0.5。另外,将来自力控制部230的指令值的分量γ从0切换至0.5。其结果是,驱动控制部220在使来自位置控制部2000的指令值的分量α为0.5、来自视觉伺服部210的指令值的分量β为0、来自力控制部230的指令值的分量γ为0.5的前提下,对它们的指令值进行合成,并向机器人10输出。此外,在步骤S138中,由于不使用视觉伺服,所以分量β保持原样地为0。此外,也可以阶段性地切换分量α、γ。
接下来,力控制部230对通过视觉伺服以及力控制而使端点移动的结果、即对端点是否到达目标地点进行判断(步骤S140)。能够根据力觉传感器102的输出,判断是否到达目标地点。
在端点未到达目标地点的情况(步骤S140中为否)下,位置控制部200、力控制部230以及驱动控制部220反复进行步骤S138的处理。
在端点到达目标地点的情况(步骤S140中为是)下,驱动控制部220结束处理。
根据本实施方式,能够维持位置控制的高速,并能够与不同的目标位置对应。另外,即使在无法确认目标位置等无法使用视觉伺服的情况下,也能够维持位置控制的高速并安全地进行作业。
此外,在本实施方式中,切换点1预先设定于作业空间的任意位置,切换点2设定于从孔H离开规定的距离的位置,但是切换点1、2的位置并不限定于此。也可以利用从规定的位置开始的经过时间设定切换点1、2的位置。具体而言,例如,切换点2的位置能够设定在通过切换点1后的30秒后。另外,也可以利用从规定的位置离开的距离设定切换点1、2的位置。具体而言,例如,切换点1的位置能够设定于从开始地点离开距离X的位置。并且,也可以根据来自外部的信号输入(例如,来自输入装置25的输入信号)设定切换点1、2的位置。
第五实施方式
本发明的第五实施方式通过位置控制与力控制而进行对象物向孔的插入等装配作业,但是本发明的适用范围并不限定于此。
本发明的第五实施方式是通过位置控制、视觉伺服以及力控制而将本发明应用于对象物向孔的插入等装配作业的方式。以下,对本发明的第五实施方式进行说明。由于第五实施方式的机器人系统4的结构与机器人系统3相同,所以省略其说明。另外,在机器人系统4进行的处理中,对于与第二实施方式、第三实施方式以及第四实施方式相同的部分,标注相同的附图标记,并省略详细的说明。
对本实施方式的机器人系统4的特征的处理进行说明。图33是表示机器人系统4的臂11A的控制处理的流程的流程图。该处理例如是经由未图示的按钮等而输入控制开始指示从而开始的。在本实施方式中,如图34所示,以将工件W插入形成于移动台的孔H的装配作业为例进行说明。
若经由未图示的按钮等而输入控制开始指示,则第一控制部202通过位置控制而控制臂11A,并使端点移动(步骤S130)。
接下来,第一控制部202对通过位置控制而使端点移动的结果、即对端点是否通过切换点1进行判断(步骤S132)。
在端点未通过切换点1的情况(步骤S132中为否)下,第一控制部202反复进行步骤S130的处理。
在端点通过切换点1的情况(步骤S132中为是)下,驱动控制部220随着时间的经过而对分量α以及β进行阶段性切换,并使用切换后的分量α以及β,将从第一控制部202输出的指令值与从第二控制部213输出的指令值进行合成,并向机器人10输出。这样,动作控制部101根据指令值而使臂11A(即端点)移动(步骤S134)。
接下来,第二控制部213对通过位置控制以及视觉伺服而使端点移动的结果、即对端点是否通过切换点2进行判断(步骤S136)。
在端点未通过切换点2的情况(步骤S136中为否)下,第一控制部202、第二控制部213以及驱动控制部220反复进行步骤S134的处理。
在端点通过切换点2的情况(步骤S136中为是)下,驱动控制部220将从第一控制部202输出的指令值、从第二控制部213输出的指令值、以及从力控制部230输出的指令值进行合成,并向机器人10输出。动作控制部101根据指令值而使臂11A(即端点)移动(步骤S139)。
以下,对步骤S139的处理进行具体说明。在进行步骤S139的处理之前、即在步骤S134的处理中,驱动控制部220使来自位置控制部200的指令值的分量α为0.05,并使来自视觉伺服部210的指令值的分量β为0.95,从而合成指令值。
在步骤S139的处理开始后,驱动控制部220将来自位置控制部2000的指令值的分量α从0.05切换至0.34。另外,驱动控制部220将来自视觉伺服部210的指令值的分量β从0.95切换至0.33。并且,驱动控制部220将来自力控制部230的指令值的分量γ从0切换至0.33。其结果是,驱动控制部220在使来自位置控制部2000的指令值的分量α为0.34、来自视觉伺服部210的指令值的分量β为0.33、来自力控制部230的指令值的分量γ为0.33的前提下对它们的指令值进行合成,并向机器人10输出。
此外,分量α、β、γ的比率α:β:γ并不限定于0.34:0.33:0.33。分量α、β、γ能够与作业对应地设定分量α、β、γ的和为1的各种值。另外,也可以缓缓切换分量α、β、γ。
接下来,力控制部230对通过视觉伺服以及力控制而使端点移动的结果、即对端点是否到达目标地点进行判断(步骤S140)。
在端点未到达目标地点的情况(步骤S140中为否)下,位置控制部2000、视觉伺服部210、力控制部230以及驱动控制部220反复进行步骤S139的处理。
在端点到达目标地点的情况(步骤S140中为是)下,驱动控制部220结束处理。
根据本实施方式,能够维持位置控制的高速,并能够使端点向不同的目标位置移动。特别是,即使在目标位置移动的情况下、并且在无法确认目标位置的情况下,由于通过位置控制、视觉伺服、力控制而进行控制,所以也能够维持位置控制的高速并安全地进行作业。
此外,在本实施方式中,通过同时进行位置控制、视觉伺服、力控制(并行控制)而控制臂,但是在第五实施方式中,通过同时进行位置控制、力控制(并行控制)而控制臂。驱动控制部220能够根据工件W、孔H等的可否目视确认、有无移动等规定的条件,选择是否根据预先设定的储存于存储器22等的条件等而同时进行位置控制、视觉伺服、力控制,或者同时进行位置控制、力控制。
在上述实施方式中,对使用单臂机器人的情况进行了说明,但是也能够将本发明应用于使用双臂机器人的情况。在上述实施方式中,对在机器人的臂的前端设置有端点的情况进行了说明,但是所谓设置于机器人并不限定于设置于臂。例如,也可以在机器人设置由多个接头与连杆构成并通过使接头移动而整体活动的机械手,并且将机械手的前端作为端点。
另外,在上述实施方式中,具备第一拍摄部30以及第二拍摄部40这两个拍摄部,但是拍摄部也可以是一个。
以上,用实施方式对本发明进行了说明,但是本发明的技术的范围并不限定于上述实施方式所记载的范围。能够对上述实施方式施加各种变更或者改进,这对于本领域技术人员是显而易见的。另外,根据权利要求书的记载可知,施加了这样的变更或者改进的方式也能够包含在本发明的技术的范围内。特别是,本发明可以提供分别设置有机器人、控制部以及拍摄部的机器人系统,可以提供机器人包括控制部等的机器人,也可以提供仅由控制部,或者由控制部以及拍摄部构成的机器人控制装置。另外,本发明也能够提供控制机器人等的程序、存储程序的存储介质。
第六实施方式
1.本实施方式的手段
广泛公知有使用图像信息的机器人控制。例如,公知有连续地获取图像信息,并对从该图像信息获取的信息与成为目标的信息的比较处理的结果进行反馈的视觉伺服控制。在视觉伺服中,向从最新的图像信息获取的信息与成为目标的信息之差变小的方向控制机器人。具体而言,进行如下控制:求出与目标接近那样的关节角的变化量等,并根据该变化量等来驱动关节。
在给予成为目标的机器人的手尖等的位置姿势,并以形成该目标的位置姿势的方式控制机器人的手段中,不易提高定位精度、即不易使手尖(手部)等正确地向目标的位置姿势移动。理想而言,若确定机器人的模型,则能够依据该模型而唯一求出手尖位置姿势。这里的模型例如是指设置于两个关节之间的框架(连杆)的长度、关节的构造(关节的旋转方向、是否存在偏置等)等信息。
但是,机器人包含各种误差。例如连杆的长度的偏差、由重力引起的挠曲等。由于这些误差因素,从而在进行使机器人采取给定的姿势的控制(例如决定各关节的角度的控制)的情况下,理想的位置姿势与实际的位置姿势会变为不同的值。
在这一点上,在视觉伺服控制中,由于对与拍摄图像相对的图像处理结果进行反馈,所以与人们能够边用眼睛观察作业状况边对臂、手的移动方向进行微调的情况相同地,即使当前的位置姿势与目标的位置姿势偏移,也能够识别并修正该偏移。
在视觉伺服控制中,作为上述“从图像获取的信息”以及“成为目标的信息”,能够使用机器人的手尖等的三维的位置姿势信息,也能够使用从图像获取的图像特征量而不将其转换为位置姿势信息。将使用位置姿势信息的视觉伺服称为位置基准的视觉伺服,将使用图像特征量的视觉伺服称为特征量基准的视觉伺服。
为了适当地进行视觉伺服,需要从图像信息精度良好地检测位置姿势信息或者图像特征量。若该检测处理的精度较低,则会错误识别当前的状态。因此,反馈于控制环路的信息也没有成为使机器人的状态与目标状态适当地接近的信息,而无法实现精度较高的机器人控制。
设想位置姿势信息、图像特征量都是通过某些检测处理(例如匹配处理)等而求出的,但是该检测处理的精度未必足够。这是因为在机器人实际进行动作的环境下,在拍摄图像中,不仅拍摄作为识别对象的物体(例如机器人的手部),也会拍摄工件、夹具、或者配置于动作环境的物体等。由于各种物体照入图像的背景,从而导致希望的物体的识别精度(检测精度)降低,并且求出的位置姿势信息、图像特征量的精度也变低。
在专利文献1中,公开如下手段:在位置基准的视觉伺服中,对从图像计算出的空间的位置或移动速度与从编码器计算出的空间的位置或移动速度进行比较,从而检测异常。此外,由于空间的位置是包含在位置姿势信息内的信息,并且移动速度也是根据位置姿势信息的变化量求出的信息,所以以下将空间的位置或移动速度作为位置姿势信息进行说明。
考虑通过使用专利文献1的手段,从而在根据图像信息求出的位置姿势信息产生较大误差等、视觉伺服产生某些异常的情况下,能够检测该异常。若能够实现异常的检测,则能够停止机器人的控制,或者重新进行位置姿势信息的检测,从而至少抑制在控制中保持原样地使用异常的信息的情况。
但是,专利文献1的手段是以位置基准的视觉伺服为前提的。若为位置基准,则如上所述,进行根据编码器等的信息容易求出的位置姿势信息与根据图像信息求出的位置姿势信息的比较处理即可,因此实现容易。另一方面,在特征量基准的视觉伺服中,在机器人的控制中使用图像特征量。而且,即使容易根据编码器等的信息求出机器人的手尖等的空间的位置,也不能直接求出与图像特征量的关系。即,在设想特征量基准的视觉伺服的情况下,难以应用专利文献1的手段。
因此,本申请人提出了如下手段:在使用图像特征量的控制中,使用实际从图像信息获取的图像特征量变化量、与根据从机器人控制的结果获取的信息而推断的推断图像特征量变化量,从而检测异常。具体而言,如图35所示,本实施方式的机器人控制装置1000包括根据图像信息来控制机器人20000的机器人控制部1110;根据图像信息来求出图像特征量变化量的变化量运算部1120;根据作为机器人20000或者对象物的信息并且作为图像信息以外的信息的变化量推断用信息、对图像特征量变化量的推断量亦即推断图像特征量变化量进行运算的变化量推断部1130;以及通过图像特征量变化量与推断图像特征量变化量的比较处理来进行异常判定的异常判定部1140。
这里,图像特征量如上所述是表示图像中的区域、面积、线段的长度、特征点的位置等特征的量,图像特征量变化量是表示从多个(狭义而言为两个)图像信息获取的多个图像特征量之间的变化的信息。作为图像特征量,若为使用3个特征点的图像上的二维位置的例子,则图像特征量为6维的矢量,并且图像特征量变化量为两个6维矢量之差、即为以矢量的各要素之差为要素的6维矢量。
另外,变化量推断用信息是用于图像特征量变化量的推断的信息,并且是图像信息以外的信息。变化量推断用信息例如可以是从机器人控制的结果获取(实测)的信息,具体而言也可以是机器人20000的关节角信息。关节角信息能够从测定、控制机器人的关节驱动用的马达(广义而言为促动器)的动作的编码器获取。或者,变化量推断用信息也可以是由机器人20000的末端执行器2220、或者由机器人20000进行的作业的对象物的位置姿势信息。位置姿势信息例如是包含物体的基准点的三维位置(x、y、z)、与相对于基准姿势的绕各轴的旋转(R1、R2、R3)的6维矢量。考虑各种求出物体的位置姿势信息的手段,但是例如使用如下手段即可:使用超声波的距离测定手段、使用测量仪的手段、在手尖设置LED等而检测该LED从而进行测量的手段、使用机械三维测定器的手段等。
这样,在使用图像特征量的机器人控制(狭义而言为特征量基准的视觉伺服)中,能够检测异常。此时,进行根据实际获取的图像信息而求出的图像特征量变化量、与根据从不同于图像信息的观点获取的变化量推断用信息而求出的推断图像特征量变化量的比较处理。
此外,根据图像信息进行的机器人的控制并不限定于视觉伺服。例如,在视觉伺服中,连续进行针对控制环路的基于图像信息的信息反馈,但是也可以将进行1次图像信息的获取并根据该图像信息而求出针对目标位置姿势的移动量从而根据该移动量来进行位置控制的视觉方式,作为基于图像信息的机器人的控制来使用。另外,除了视觉伺服、视觉方式之外,在使用图像信息的机器人的控制中,在来自图像信息的信息的检测等,作为检测异常的手段,也能够应用本实施方式的手段。
但是,如后述那样在本实施方式的手段中,设想推断图像特征量变化量的运算使用雅克比矩阵。而且雅克比矩阵是表示给定的值的变化量与其他值的变化量的关系的信息。例如,即使第一信息x与第二信息y为非线性关系(y=g(x)中的g为非线性函数),也能够考虑在给定的值的附近,第一信息的变化量Δx与第二信息的变化量Δy为线性关系(Δy=h(Δx)中的h为线性函数),并且雅克比矩阵表示该线性关系。即,在本实施方式中,设想在处理中不使用图像特征量本身,而使用图像特征量变化量。由此,在将本实施方式的手段应用于视觉方式等、视觉伺服以外的控制的情况下,应留意的点在于,不使用仅获取一次图像信息的手段,而需要使用以求出图像特征量变化量的方式至少获取2次以上图像信息的手段。例如若将本实施方式的手段应用于视觉方式,则需要进行多次图像信息的获取以及成为目标的移动量的运算。
以下,在对本实施方式的机器人控制装置1000、机器人的系统构成例进行说明后,对视觉伺服的概要进行说明。在该前提下,对本实施方式的异常检测手段进行说明,最后也对变形例进行说明。此外,以下作为使用图像信息的机器人的控制而以视觉伺服为例,但是以下的说明能够扩大为使用其他的图像信息的机器人的控制。
2.系统构成例
在图36中示出了本实施方式的机器人控制装置1000的详细的系统构成例。但是,机器人控制装置1000并不限定于图36的结构,而能够进行省略上述一部分的构成要素、或追加其他的构成要素等各种变形实施。
如图36所示,机器人控制装置1000包括目标特征量输入部111、目标轨道生成部112、关节角控制部113、驱动部114、关节角检测部115、图像信息获取部116、图像特征量运算部117、变化量运算部1120、变化量推断部1130以及异常判定部1140。
目标特征量输入部111对目标轨道生成部112输入成为目标的图像特征量fg。目标特征量输入部111例如也可以作为接受由使用者进行的目标图像特征量fg的输入的接口等来实现。在机器人控制中,进行使根据图像信息求出的图像特征量f与这里输入的目标图像特征量fg接近(狭义而言使它们一致)的控制。此外,也可以获取与目标状态对应的图像信息(参照图像、目标图像),并根据该图像信息求出目标图像特征量fg。或者,也可以不保持参照图像,而直接接受目标图像特征量fg的输入。
目标轨道生成部112根据目标图像特征量fg、以及从图像信息求出的图像特征量f,生成使机器人20000进行动作的目标轨道。具体而言,进行求出用于使机器人20000与目标状态(与fg对应的状态)接近的关节角的变化量Δθg的处理。该Δθg成为关节角的暂定的目标值。此外,在目标轨道生成部112中,也可以从Δθg求出每单位时间的关节角的驱动量(图36中的带点θg)。
关节角控制部113根据关节角的目标值Δθg、以及当前的关节角的值θ,进行关节角的控制。例如,由于Δθg为关节角的变化量,所以使用θ与Δθg,进行求出关节角可以为何值的处理。驱动部114跟随关节角控制部113的控制,进行驱动机器人20000的关节的控制。
关节角检测部115进行检测机器人20000的关节角为何值的处理。具体而言,在通过由驱动部114进行的驱动控制使关节角变化后,检测该变化后的关节角的值,并使当前的关节角的值为θ而向关节角控制部113输出。关节角检测部115具体而言也可以作为获取编码器的信息的接口等来实现。
图像信息获取部116从拍摄部等进行图像信息的获取。这里的拍摄部可以是如图37所示地配置于环境的拍摄部,也可以是设置于机器人20000的臂2210等的拍摄部(例如手眼摄像机)。图像特征量运算部117根据图像信息获取部116所获取的图像信息,进行图像特征量的运算处理。此外,根据图像信息对图像特征量进行运算的手段公知有边缘检测处理、匹配处理等各种手段,并且在本实施方式中能够广泛地应用它,因此省略详细的说明。由图像特征量运算部117求出的图像特征量作为最新的图像特征量f,而向目标轨道生成部112输出。
变化量运算部1120保持由图像特征量运算部117运算出的图像特征量,并根据过去获取的图像特征量fold、与作为处理对象的图像特征量f(狭义而言为最新的图像特征量)的差分,对图像特征量变化量Δf进行运算。
变化量推断部1130保持由关节角检测部115检测出的关节角信息,并根据过去获取的关节角信息θold、与作为处理对象的关节角信息θ(狭义而言为最新的关节角信息)的差分,对关节角信息的变化量Δθ进行运算。并且,根据Δθ,求出推断图像特征量变化量Δfe。此外,在图36中,对变化量推断用信息为关节角信息的例子进行了说明,但是如上所述,作为变化量推断用信息,也可以使用机器人20000的末端执行器2220或者对象物的位置姿势信息。
此外,图35的机器人控制部1110也可以是与图36的目标特征量输入部111、目标轨道生成部112、关节角控制部113、驱动部114、关节角检测部115、图像信息获取部116、以及图像特征量运算部117对应的控制部。
另外,如图38所示,本实施方式的手段能够应用于包含如下构成的机器人:包含根据图像信息来控制机器人(具体而言为包括臂2210以及末端执行器2220的机器人主体3000)的机器人控制部1110;根据图像信息而求出图像特征量变化量的变化量运算部1120;根据作为机器人20000或者对象物的信息并且作为图像信息以外的信息的变化量推断用信息、对图像特征量变化量的推断量亦即推断图像特征量变化量进行运算的变化量推断部1130;通过图像特征量与推断图像特征量变化量的比较处理来进行异常判定的异常判定部1140。
如图19A、图19B所示,这里的机器人也可以是包括控制装置600以及机器人主体300的机器人。若为图19A、图19B的结构,则控制装置600包括图38的机器人控制部1110等。这样,能够进行根据基于图像信息的控制而形成的动作,从而能够实现自动检测控制中的异常的机器人。
此外,本实施方式的机器人的构成例并不限定于图19A、图19B。例如,如图39所示,机器人也可以包括机器人主体3000、以及基座单元部350。本实施方式的机器人也可以如图39所示是双臂机器人,除了相当于头部、躯干的部分之外,还包括第一臂2210-1与第二臂2210-2。在图39中,第一臂2210-1是由关节2211、2213、与设置于关节之间的框架2215、2217构成的,第二臂2210-2也是同样的,但是并不限定于此。此外,在图39中示出了具有两支臂的双臂机器人的例子,但是本实施方式的机器人也可以具有3支以上的臂。
基座单元部350设置于机器人主体3000的下部,并且支承机器人主体3000。在图39的例子中,在基座单元部350设置有车轮等,从而形成为机器人整体能够移动的结构。但是,也可以是基座单元部350不具有车轮等,而固定于地面等的结构。在图39中,未图示与图19A、图19B的控制装置600对应的装置,但是在图39的机器人系统中,通过在基座单元部350收纳控制装置600,从而使机器人主体3000与控制装置600作为一体而构成。
或者,也可以如控制装置600那样,不设置特定的控制用的机器,而通过内置于机器人的基板(更具体而言为设置于基板上的IC等),实现上述机器人控制部1110等。
另外,如图20所示,机器人控制装置1000的功能也可以通过经由包括有线以及无线的至少一方的网络400而与机器人通信连接的服务器500来实现。
或者在本实施方式中,也可以构成为,作为机器人控制装置的服务器500进行本发明的机器人控制装置的处理的一部分。此时,通过与设置于机器人侧的机器人控制装置的分散处理,从而实现该处理。
而且,在这种情况下,作为机器人控制装置的服务器500进行本发明的机器人控制装置的各处理中的、分配于服务器500的机器人控制系统的处理。另一方面,设置于机器人的机器人控制装置进行本发明的机器人控制装置的各处理中的、分配于机器人的机器人控制装置的处理。
例如,本发明的机器人控制装置进行第一~第M(M为整数)处理,考虑能够以使第一处理通过子处理1a以及子处理1b来实现、并使第二处理通过子处理2a以及子处理2b来实现的方式,将第一~第M的各处理分割为多个子处理的情况。在该情况下,考虑作为机器人控制装置的服务器500进行子处理1a、子处理2a、···子处理Ma,设置于机器人侧的机器人控制装置进行子处理1b、子处理2b、···子处理Mb这一分散处理。此时,本实施方式的机器人控制装置、即执行第一~第M处理的机器人控制装置可以是执行子处理1a~子处理Ma的机器人控制装置,可以是执行子处理1b~子处理Mb的机器人控制装置,也可以是执行子处理1a~子处理Ma以及子处理1b~子处理Mb的全部的机器人控制装置。进一步而言,本实施方式的机器人控制装置是对第一~第M处理的各处理至少执行一个子处理的机器人控制装置。
由此,例如与机器人侧的终端装置(例如图19A、图19B的控制装置600)相比处理能力较高的服务器500能够进行处理负荷高的处理等。并且,服务器500能够一并控制各机器人的动作,从而例如容易使多个机器人协调动作等。
另外,近几年,制造多品种且少数的部件的情况有增加的趋势。而且,在变更制造的部件的种类的情况下,需要变更机器人进行的动作。若为如图20所示的结构,则即使不重新进行针对多个机器人的各机器人的指导作业,服务器500也能够一并变更机器人所进行的动作等。并且,与针对各机器人设置一个机器人控制装置1000的情况相比,能够大幅度减少进行机器人控制系统1000的软件更新时的麻烦等。
3.视觉伺服控制
在对本实施方式的异常检测手段进行说明前,对一般的视觉伺服控制进行说明。在图40中示出了一般的视觉伺服控制系的构成例。由图40可知,在与图36所示的本实施方式的机器人控制装置1000进行比较的情况下,形成为除去变化量运算部1120、变化量推断部1130、以及异常判定部1140的结构。
在将用于视觉伺服的图像特征量的维数设为n(n为整数)的情况下,图像特征量f以作为f=[f1,f2,···,fn]T的图像特征量矢量而表现出来。f的各要素例如使用特征点(控制点)的图像的坐标值等即可。在该情况下,从目标特征量输入部111输入的目标图像特征量fg也同样地,表现为fg=[fg1,fg2,···,fgn]T。
另外,关节角也作为与机器人20000(狭义而言为臂2210)所包含的关节数对应的维数的关节角矢量而表现出来。例如,若臂2210是具有6个关节的6自由度的臂,则关节角矢量θ表现为θ=[θ1,θ2,···,θ6]T。
在视觉伺服中,在获取当前的图像特征量f的情况下,将该图像特征量f与目标图像特征量fg的差分向机器人的动作反馈。具体而言,使机器人向减小图像特征量f与目标图像特征量fg的差分的方向进行动作。为此,必须知道怎么使关节角θ活动,图像特征量f就怎么变化这一关系性。一般地该关系性形成为非线性,例如在f1=g(θ1,θ2,θ3,θ4,θ5,θ6)的情况下,函数g为非线性函数。
因此,在视觉伺服中,广泛公知有使用雅克比矩阵J的手段。即使两个空间处于非线性关系,各个空间中的微少的变化量之间也能够以线性关系表现出来。雅克比矩阵J是将上述微少变化量彼此建立联系的矩阵。
具体而言,在机器人20000的手尖的位置姿势X为X=[x,y,z,R1,R2,R3]T的情况下,关节角的变化量与位置姿势的变化量之间的雅克比矩阵Ja以下式(1)表现出来,位置姿势的变化量与图像特征量变化量之间的雅克比矩阵Ji以下式(2)表现出来。
数式1
J a = ∂ x ∂ θ 1 ∂ x ∂ θ 2 ∂ x ∂ θ 3 ∂ x ∂ θ 4 ∂ x ∂ θ 5 ∂ x ∂ θ 6 ∂ y ∂ θ 1 ∂ y ∂ θ 2 ∂ y ∂ θ 3 ∂ y ∂ θ 4 ∂ y ∂ θ 5 ∂ y ∂ θ 6 ∂ z ∂ θ 1 ∂ z ∂ θ 2 ∂ z ∂ θ 3 ∂ z ∂ θ 4 ∂ z ∂ θ 5 ∂ z ∂ θ 6 ∂ R 1 ∂ θ 1 ∂ R 1 ∂ θ 2 ∂ R 1 ∂ θ 3 ∂ R 1 ∂ θ 4 ∂ R 1 ∂ θ 5 ∂ R 1 ∂ θ 6 ∂ R 2 ∂ θ 1 ∂ R 2 ∂ θ 2 ∂ R 2 ∂ θ 3 ∂ R 2 ∂ θ 4 ∂ R 2 ∂ θ 5 ∂ R 2 ∂ θ 6 ∂ R 3 ∂ θ 1 ∂ R 3 ∂ θ 2 ∂ R 3 ∂ θ 3 ∂ R 3 ∂ θ 4 ∂ R 3 ∂ θ 5 ∂ R 3 ∂ θ 6 · · · · · ( 1 )
数式2
J i = ∂ s 1 ∂ x ∂ s 1 ∂ y ∂ s 1 ∂ z ∂ s 1 ∂ R 1 ∂ s 1 ∂ R 2 ∂ s 1 ∂ R 3 ∂ s 2 ∂ x ∂ s 2 ∂ y ∂ s 2 ∂ z ∂ s 2 ∂ R 1 ∂ s 2 ∂ R 2 ∂ s 2 ∂ R 3 . . . . . . . . . . . . . . . . . . ∂ s n ∂ x ∂ s n ∂ y ∂ s n ∂ z ∂ s n ∂ R 1 ∂ s n ∂ R 2 ∂ s n ∂ R 3 · · · · · · ( 2 )
而且,通过使用Ja、Ji,能够如下式(3)、(4)所示地表述Δθ、ΔX、Δf的关系。Ja一般被称为机器人雅克比矩阵,并且若有机器人20000的连杆长度、旋转轴等的机构信息,则能够解析计算Ja。另一方面,Ji能够事先从使机器人20000的手尖的位置姿势微量变化时的图像特征量的变化等推测出来,并且也提出了在动作中随时推断Ji的手段。
ΔX=JaΔθ·····(3)
Δf=JiΔX·····(4)
并且,通过使用上式(3)、(4),能够如下式(5)所示地表现图像特征量变化量Δf与关节角的变化量Δθ的关系。
Δf=JvΔθ·····(5)
这里,Jv=JiJa,并且表示关节角的变化量与图像特征量变化量之间的雅克比矩阵。另外,也将Jv表述为图像雅克比矩阵。在图41中图示出了上式(3)~(5)的关系性。
依据以上内容,目标轨道生成部112将f与fg的差分作为Δf,而求出关节角的驱动量(关节角的变化量)Δθ即可。这样,能够求出用于使图像特征量f与fg接近的关节角的变化量。具体而言,为了从Δf求出Δθ,将上式(5)的两边从左边乘以Jv的逆矩阵Jv-1即可,但是进一步考虑到作为λ的控制增益,利用下式(6)求出成为目标的关节角的变化量Δθg。
Δθg=-λJv-1(f-fg)·····(6)
此外,在上式(6)中求出了Jv的逆矩阵Jv-1,但是在未求出Jv-1的情况下,也可以使用Jv的广义逆矩阵(疑似逆矩阵)Jv#。
通过使用上式(6),从而每当获取新的图像时,求出新的Δθg。由此,能够使用获取的图像,边更新成为目标的关节角,边进行与目标状态(图像特征量成为fg的状态)接近的控制。在图42中图示出了该流程。若从第m-1图像(m为整数)求出图像特征量fm-1,则通过形成上式(6)的f=fm-1,能够求出Δθgm-1。然后,在第m-1图像与下一个图像亦即第m图像之间,将求出的Δθgm-1作为目标而进行机器人20000的控制即可。然后,若获取第m图像,则从该第m图像求出图像特征量fg,并利用上式(6)计算作为新的目标的Δθgm。在第m图像与第m+1图像之间,在控制中使用计算出的Δθgm。以下,在结束该处理之前(在图像特征量与fg充分接近之前),持续进行该处理即可。
此外,虽然求出成为目标的关节角的变化量,但是未必需要使关节角变化目标量。例如,在第m图像与第m+1图像之间,将Δθgm作为目标值而进行控制,但是也大多考虑如下情况:在实际的变化量还未成为Δθgm时,获取下一个图像亦即第m+1图像,并通过它计算新的目标值Δθgm+1
4.异常检测手段
对本实施方式的异常检测手段进行说明。如图43A所示,在机器人20000的关节角为θp时,获取第p图像信息,并根据该第p图像信息计算图像特征量fp。然后,在比第p图像信息的获取时刻靠后的时刻,在机器人20000的关节角为θq时,获取第q图像信息,并根据该第q图像信息计算图像特征量fq。这里,第p图像信息与第q图像信息可以是时间序列上邻接的图像信息,也可以是不邻接的(在第p图像信息的获取后、第q图像信息的获取前,获取其他的图像信息)图像信息。
在视觉伺服中,如上所述地将fp、fq与fg的差分作为Δf而用于Δθg的计算,但是fp与fq的差分fq-fp不外乎也是图像特征量变化量。另外,由于关节角θp、关节角θq是由关节角检测部115从编码器等获取的,所以能够作为实测值而求出,θp与θq的差分θq-θp是关节角的变化量Δθ。即,对于两个图像信息而言,为了分别求出对应的图像特征量f与关节角θ,求出图像特征量变化量作为Δf=fq-fp,还求出对应的关节角的变化量作为Δθ=θq-θp。
而且,如上式(5)所示,存在Δf=JvΔθ的关系。即,若使用实测的Δθ=θq-θp与雅克比矩阵Jv而求出Δfe=JvΔθ,则求出的Δfe应与完全不产生误差的理想的环境下实测的Δf=fq-fp一致。
由此,变化量推断部1130通过对关节角信息的变化量作用使关节角信息与图像特征量相对应(具体而言使关节角信息的变化量与图像特征量变化量相对应)的雅克比矩阵Jv,从而对推断图像特征量变化量Δfe进行运算。如上所述,若为理想的环境,则求出的推断图像特征量变化量Δfe应与变化量运算部1120中作为Δf=fq-fp而求出的图像特征量变化量Δf一致,反之而言,在Δf与Δfe有较大不同的情况下,能够判定为产生了某些异常。
这里,作为Δf与Δfe产生误差的因素,考虑根据图像信息对图像特征量进行运算时的误差、编码器读取关节角的值时的误差、雅克比矩阵Jv所包含的误差等。但是,在编码器读取关节角的值时,产生误差的可能性在与其他两种相比时较低。另外,雅克比矩阵Jv所包含的误差也不是很大的误差。与此相对,由于在图像中拍摄有非识别对象的多数的物体,从而导致根据图像信息对图像特征量进行运算时的误差的产生频率比较高。另外,在图像特征量运算中产生异常的情况下,存在误差变得非常大的可能性。例如,若从图像中识别希望的物体的识别处理失败的话,则有在与原来的物体位置大不同的图像上的位置,误识别为存在物体的可能性。由此,在本实施方式中,主要检测图像特征量的运算中的异常。但是,也可以将由其他因素引起的误差作为异常来检测。
在异常判定中,例如进行使用阈值的判定处理即可。具体而言,异常判定部1140进行图像特征量变化量Δf与推断图像特征量变化量Δfe的差别信息、和阈值的比较处理,并且在差别信息比阈值大的情况下,判定为异常。例如设定给定的阈值Th,在满足下式(7)的情况下,判定为产生异常即可。这样,能够利用下式(7)等容易的运算来检测异常。
|Δf-Δfe|>Th·····(7)
另外,阈值Th无需为固定值,也可以与状况对应地使其值变化。例如,异常判定部1140也可以构成为,变化量运算部1120中的图像特征量变化量的运算所使用的两个图像信息的获取时刻之差越大,则将阈值设定得越大。
如图41等所示,雅克比矩阵Jv是将Δθ与Δf建立联系的矩阵。而且如图44所示,即便在使相同的雅克比矩阵Jv作用的情况下,与作用于Δθ而得到的Δfe相比,作用于比Δθ变化量大的Δθ’而得到的Δfe’一方变化量较大。此时,难以考虑雅克比矩阵Jv完全不产生误差,从而与关节角变化Δθ、Δθ’的情况下的图像特征量的理想的变化量Δfi、Δfi’相比,如图44所示,Δfe、Δfe’产生偏差。而且,从图44的A1与A2的比较可知,变化量越大,该偏差就越大。
若假设在图像特征量运算中完全不产生误差,则根据图像信息求出的图像特征量变化量Δf与Δfi、Δfi’相等。在该情况下,上式(7)的左边表示因雅克比矩阵产生的误差,并且如Δθ、Δfe等那样在变化量较小的情况下成为与A1相当的值,如Δθ’、Δfe’等那样在变化量较大的情况下成为与A2相当的值。但是如上所述,Δfe、Δfe’的两方所使用的雅克比矩阵Jv是相同的,虽然上式(7)的左边的值变大,但是判定为A2一方与A1相比为异常度更高的状态是不适当的。即,不可以说在与A1对应的状况中不满足上式(7)(不判定为异常),在与A2对应的状况中满足上式(7)(判定为异常)是适当的。因此,在异常判定部1140中,若Δθ、Δfe等变化量越大,则进一步将阈值Th也设定得越大。这样,由于与对应于A1的状况相比,对应于A2的状况下的阈值Th大,所以能够进行适当的异常判定。考虑两个图像信息(若在图43A中则是第p图像信息与第q图像信息)的获取时刻之差越大,Δθ、Δfe等也越大,因此在处理上,例如,与图像获取时刻之差对应地设定阈值Th即可。
另外,考虑异常判定部1140中检测到异常的情况下的各种控制。例如,在由异常判定部1140检测到异常的情况下,机器人控制部1110也可以进行使机器人20000停止的控制。如上所述,检测到异常的情况例如是来自图像信息的图像特征量的运算产生较大误差的情况等。即,若使用该图像特征量(若为图43A的例子则是fq)来进行机器人20000的控制,则存在向和图像特征量与目标图像特征量fg接近的方向相距甚远的方向使机器人20000移动的可能性。因该情况,恐怕会使臂2210等与其他物体相碰撞,并由于采取不合理的姿势而使手部等所把持的对象物落下。由此,作为异常时的控制的一个例子,考虑使机器人20000的动作本身停止,而不进行那样风险较大的动作。
另外,若推断出图像特征量fq产生较大误差,而不希望进行使用fq的控制,则也可以不立即使机器人动作停止,并且不将fq用于控制。由此例如,在由异常判定部1140检测到异常的情况下,机器人控制部1110也可以跳过基于变化量运算部1120中的图像特征量变化量的运算所使用的两个图像信息中的、在时间序列上靠后的时刻获取的图像信息亦即异常判定图像信息所实现的控制,而进行基于在比异常判定图像信息靠前的时刻获取的图像信息所实现的控制。
若为图43A的例子,则异常判定图像信息是第q图像。另外,在图42的例子中,使用邻接的两个图像信息来进行异常判定,并且判定为在第m-2图像信息与第m-1图像信息中无异常,在第m-1图像信息与第m图像信息中无异常,在第m图像信息与第m+1图像信息中有异常。在该情况下,考虑可知fm-1以及fm不存在异常,而fm+1存在异常,从而Δθgm-1、Δθgm能够用于控制,但是将Δθgm+ 1用于控制是不适当的。本来,在第m+1图像信息与下一个第m+2图像信息之间将Δθgm+1用于控制,但是这里,由于该控制不适当所以不进行。在该情况下,在第m+1图像信息与第m+2图像信息之间,也使用之前求出的Δθgm而使机器人20000进行动作即可。由于Δθgm至少是在fm的计算时刻向目标方向使机器人20000移动的信息,所以即使在fm+1的计算后继续利用,也难以认为会产生较大的误差。这样,即使在检测到异常的情况下,也能够用在此以前的信息、特别是在比异常检测时刻靠前的时刻获取并且未检测到异常的信息,进行大体控制,从而使机器人20000的动作继续进行。之后,若获取新的图像信息(若为图42的例子则是第m+2图像信息),则利用从该新的图像信息求出的新的图像特征量来进行控制即可。
在图48的流程图中,示出了到异常检测时为止考虑的本实施方式的处理流程。若开始进行该处理,则首先进行由图像信息获取部116实现的图像的获取、与由图像特征量运算部117实现的图像特征量的运算,并在变化量运算部1120中对图像特征量变化量进行运算(S10001)。另外,进行由关节角检测部115实现的关节角的检测,并且在变化量推断部1130中对推断图像特征量变化量进行推断(S10002)。然后,根据图像特征量变化量与推断图像特征量变化量的差分是否在阈值以下来进行异常判定(S10003)。
在差分在阈值以下(S10003中为是)的情况下,不产生异常,从而使用S10001中求出的图像特征量进行控制(S10004)。然后,进行当前的图像特征量是否与成为目标的图像特征量充分接近(狭义而言为一致)的判定,在为是的情况下,正常地到达目标而结束处理。另一方面,在S10005中为否的情况下,动作本身不产生异常,但是未到达目标,从而回到S10001而继续进行控制。
另外,在图像特征量变化量与推断图像特征量变化量的差分比阈值大(S10003中为否)的情况下,判定为产生异常。然后,对异常的产生是否是N次连续进行判定(S10006),在连续产生的情况下,为不优选继续动作的程度的异常,从而停止动作。另一方面,在异常的产生不是N次连续的情况下,使用过去的并且判定为不产生异常的图像特征量来进行控制(S10007),并回到S10001而继续进行下一个时刻的图像处理。在图48的流程图中,如上所述,在到一定程度的异常之前(这里为连续N-1次以下的异常产生),不立即停止动作,而进行使动作继续的方向上的控制。
此外,在以上的说明中,没有特别考虑图像信息的获取时刻、关节角信息的获取时刻、图像特征量的获取时刻(运算结束时刻)之间的时间差。但是实际上,如图45所示,即使在给定的时刻获取图像信息,在编码器读取该图像信息的获取时的关节角信息并且将读取的信息发送至关节角检测部115之前也会产生时滞。另外,由于在图像获取后进行图像特征量的运算,所以在这也产生时滞,并且由于因图像信息的不同而使图像特征量的运算负荷不同,所以时滞的长度也不同。例如,在完全没有拍摄识别对象物以外的物体并且背景为单一素色等情况下,能够高速地进行图像特征量的运算,但是在拍摄有各种物体的情况下等,图像特征量的运算需要时间。
即,在图43A中,简单地对使用第p图像信息与第q图像信息的异常判定进行了说明,但是实际上如图45所示,需要考虑从第p图像信息的获取到对应的关节角信息的获取的时滞tθp、与从第p图像信息的获取到图像特征量的运算结束的时滞tfp,第q图像信息也同样需要考虑tθq与tfq。
异常判定处理例如是在获取第q图像信息的图像特征量fq的时刻开始的,但是必须适当地判定作为取得差分的对象的fp是多久前获取的图像特征量、或者θq与θp的获取时刻是何时。
具体而言,在第i(i为自然数)时刻获取第一图像信息的图像特征量f1、并且在第j(j为满足j≠i的自然数)时刻获取第二图像信息的上述图像特征量f2的情况下,变化量运算部1120将图像特征量f1与图像特征量f2的差分作为图像特征量变化量而求出,变化量推断部1130在第k(k为自然数)时刻获取与第一图像信息对应的变化量推断用信息p1、并且在第l(l为自然数)时刻获取与第二图像信息对应的变化量推断用信息p2的情况下,根据变化量推断用信息p1与变化量推断用信息p2,求出推断图像特征量变化量。
若为图45的例子,则图像特征量、关节角信息是在各种时刻获取的信息,但是在以fq的获取时刻(例如第j时刻)为基准的情况下,与第p图像信息对应的图像特征量fp是在靠前(tfq+ti-tfp)的时刻获取的图像特征量,即,确定第i时刻比第j时刻靠前(tfq+ti-tfp)。这里,ti如图45所示表示图像获取时刻之差。
同样,确定作为θq的获取时刻的第l时刻是比第j时刻靠前(tfq-tθq)的时刻,作为θp的获取时刻的第k时刻是比第j时刻靠前(tfq+ti-tθp)的时刻。在本实施方式的手段中,需要取得Δf与Δθ的对应,具体而言,若Δf是根据第p图像信息与第q图像信息求出的,则Δθ也需要与第p图像信息以及第q图像信息对应。如若不然,根据Δθ求出的推断图像特征量变化量Δfe变得根本与Δf不具有对应关系,而没有进行比较处理的意义。由此如上所述,可以说确定时刻的对应关系是重要的。此外,在图45中,由于非常高速且高频率地进行关节角的驱动本身,所以作为连续的过程而进行处理。
此外,在现有的机器人20000以及机器人控制装置1000中,能够考虑图像信息的获取时刻与对应的关节角信息的获取时刻之差足够小。由此,也可以考虑第k时刻为第一图像信息的获取时刻,第l时刻为第二图像信息的获取时刻。在该情况下,由于能够使图45中的tθp、tθq为0,所以容易进行处理。
另外,作为更具体的例子,考虑在根据前一个图像信息计算图像特征量的时刻进行下一个图像信息的获取的手段。在图46示出了该情况的例子。图46的纵轴是图像特征量的值,“实际的特征量”是假设获取了与该时刻的关节角信息对应的图像特征量的情况下的值,而无法在处理上确认。从实际的特征量顺利地推移这一情况可知,可以考虑关节角的驱动是连续的。
在该情况下,由于与在B1的时刻获取的图像信息对应的图像特征量是在经过t2后的B2的时刻获取的,所以B1的实际的特征量与B2的图像特征量对应(若没误差则一致)。而且在B2的时刻获取下一个图像信息。
同样,对于在B2获取的图像信息的图像特征量而言,在B3结束运算,并且在B3获取下一个图像信息。以下相同地,对于在B4获取的图像信息的图像特征量而言,在经过t1后的B5结束运算,并且在B5获取下一个图像信息。
若为图46的例子,则在将B5的时刻计算出的图像特征量、与B2的时刻计算出的图像特征量用于异常判定处理的情况下,图像信息的获取时刻分别为B4与B1。如上所述,在图像信息的获取时刻与对应的关节角信息的获取时刻之差足够小的情况下,关节角信息使用B4的时刻的信息与B1的时刻的信息即可。即如图46所示,在将B2与B5之差作为Ts,并使时刻的基准为B5的情况下,作为比较对象的图像特征量使用靠前Ts的时刻的特征量。另外,在求出关节角信息的差分时使用的两个关节角信息使用靠前t1的时刻的信息、以及靠前Ts+t2的时刻的信息即可。另外,两个图像信息的获取时刻之差为(Ts+t2-t1)。由此,在根据图像信息的获取时刻之差来决定阈值Th的情况下,使用(Ts+t2-t1)的值即可。
另外,考虑各种信息的获取时刻,但是如上所述,在可以以使Δf与Δθ之间存在对应关系的方式进行时刻的确定这一点上是相同的。
5.变形例
在以上的说明中,获取Δf与Δθ,并根据Δθ求出推断图像特征量变化量Δfe,从而对Δf与Δfe进行比较。但是本实施方式的手段并不限定于此。例如像上述的测定手段那样,也可以通过某些手段获取机器人20000的手尖的位置姿势信息、或者由手尖进行把持等的对象物的位置姿势信息。
在该情况下,作为变化量推断用信息而获取位置姿势信息X,因此能够求出其变化量ΔX。而且如上式(4)所示,通过对ΔX作用雅克比矩阵Ji,能够与Δθ的情况相同地求出推断图像特征量变化量Δfe。若求出Δfe,则之后的处理与上述例子相同。即,变化量推断部1130通过对位置姿势信息的变化量作用使位置姿势信息与图像特征量相对应(具体而言使位置姿势信息的变化量与图像特征量变化量相对应)的雅克比矩阵,而对推断图像特征量变化量进行运算。在图43B中,与图43A对应地示出了该处理的流程。
这里,作为位置姿势信息,在使用机器人20000的手尖(手部或者末端执行器2220)的位置姿势的情况下,Ji是使手尖的位置姿势信息的变化量与图像特征量变化量相对应的信息。另外,作为位置姿势信息,在使用对象物的位置姿势的情况下,Ji是使对象物的位置姿势信息的变化量与图像特征量变化量相对应的信息。或者,若已知利用末端执行器以什么样的相对的位置姿势把持对象物这一信息,则由于末端执行器2220的位置姿势信息与对象物的位置姿势信息一对一对应,所以也能够将一方的信息转换为另一方的信息。即,考虑在获取末端执行器2220的位置姿势信息后,将其转换为对象物的位置姿势信息,之后使用使对象物的位置姿势信息的变化量与图像特征量变化量相对应的雅克比矩阵Ji来求出Δfe等各种实施方式。
另外,本实施方式的异常判定的比较处理并不限定于使用图像特征量变化量Δf与推断图像特征量变化量Δfe来进行。图像特征量变化量Δf、位置姿势信息的变化量ΔX、以及关节角信息的变化量Δθ能够通过使用雅克比矩阵、雅克比矩阵的逆矩阵(广义而言为广义逆矩阵)亦即逆雅克比矩阵从而相互转换。
即如图49所示,本实施方式的手段能够应用于包含如下构成的机器人控制装置:包含根据图像信息来控制机器人20000的机器人控制部1110;求出表示机器人20000的末端执行器2220或者对象物的位置姿势信息的变化量的位置姿势变化量、或者表示机器人20000的关节角信息的变化量的关节角变化量的变化量运算部1120;根据图像信息而求出图像特征量变化量,并根据图像特征量变化量而求出位置姿势变化量的推断量亦即推断位置姿势变化量、或者关节角变化量的推断量亦即推断关节角变化量的变化量推断部1130;以及通过位置姿势变化量与推断位置姿势变化量的比较处理、或者通过关节角变化量与推断关节角变化量的比较处理来进行异常判定的异常判定部1140。
在图49中,在与图36进行比较的情况下,形成为变化量运算部1120和变化量推断部1130替换的结构。即变化量运算部1120根据关节角信息而求出变化量(这里是关节角变化量或者位置姿势变化量),变化量推断部1130根据图像特征量的差分而推断变化量(求出推断关节角变化量或者推断位置姿势变化量)。另外,在图49中,变化量运算部1120形成为获取关节角信息的部件,但是如上所述,在变化量运算部1120中,也可以使用测定结果等来获取位置姿势信息。
具体而言,在获取Δf与Δθ的情况下,也可以利用从上式(5)求出的下式(8)来求出推断关节角变化量Δθe,从而进行Δθ与Δθe的比较处理。具体而言,使用给定的阈值Th2,在下式(9)成立的情况下判定为异常即可。
Δθe=Jv-1Δf·····(8)
|Δθ-Δθe|>Th2·····(9)
或者,在使用如上所述的测定手段而获取Δf与ΔX的情况下,也可以利用从上式(4)求出的下式(10)来求出推断位置姿势变化量ΔXe,从而进行ΔX与ΔXe的比较处理。具体而言,使用给定的阈值Th3,在下式(11)成立的情况下,判定为异常即可。
ΔXe=Ji-1Δf·····(10)
|ΔX-ΔXe|>Th3·····(11)
另外,也不限定于利用直接求出的信息进行比较的情况。例如,在获取Δf与Δθ的情况下,也可以根据Δf利用上式(10)来求出推断位置姿势变化量ΔXe,并根据Δθ利用上式(3)来求出位置姿势变化量ΔX(严格来说该ΔX也不是实测值而是推断值),从而进行使用上式(11)的判定。
或者,在获取Δf与ΔX的情况下,也可以根据Δf利用上式(8)来求出推断关节角变化量Δθe,并根据ΔX利用从上式(3)求出的下式(12)来求出关节角变化量Δθ(严格来说该Δθ也不是实测值而是推断值),从而进行使用上式(9)的判定。
Δθ=Ja-1ΔX·····(12)
即,变化量运算部1120进行获取多个位置姿势信息并作为位置姿势变化量而求出多个位置姿势信息的差分的处理、获取多个位置姿势信息并根据多个位置姿势信息的差分而求出关节变化量的处理、获取多个关节角信息并作为上述关节角变化量而求出多个关节角信息的差分的处理、以及获取多个关节角信息并根据多个关节角信息的差分而求出位置姿势变化量的处理中的任一个处理。
在图47中,以一并标注本说明书中的数式编号的方式总结了以上所示的Δf、ΔX、Δθ的关系。即,对于本实施方式的手段而言,若获取Δf、ΔX以及Δθ中的任意两个信息,则通过将它们转换为Δf、ΔX、Δθ中的任一个信息而进行比较,从而能够实现本实施方式的手段,并且能够对获取的信息、用于比较的信息进行各种变形实施。
此外,本实施方式的机器人控制装置1000等也可以利用程序来实现其处理的一部分或者大部分。此时,通过CPU等处理器执行程序,从而实现本实施方式的机器人控制装置1000等。具体而言,读出存储于非暂时性信息存储介质的程序,并且CPU等处理器执行读出的程序。这里,信息存储介质(能够利用计算机读取的介质)是储存程序、数据等的介质,其功能能够通过光盘(DVD、CD等)、HDD(硬盘驱动器)、或者存储器(卡式存储器、ROM等)等来实现。而且,CPU等处理器根据储存于信息存储介质的程序(数据),进行本实施方式的各种处理。即,在信息存储介质存储用于使计算机(具备操作部、处理部、存储部、输出部的装置)作为本实施方式的各部而发挥功能的程序(用于使计算机执行各部的处理的程序)。
此外,以上对本实施方式进行了详细说明,但是可以在实质上不脱离本发明的新内容和效果的条件下,进行多种多样的改变,这对于本领域技术人员来说是很容易理解的。因此,这种改变例也均包含在本发明的范围内。例如,在说明书或附图中,至少一次与更加广义或同义的不同用语一起被记载的用语,在说明书或附图中的任何位置,均能够替换成该不同用语。另外,机器人控制装置1000等的结构、动作也不限定于本实施方式中说明的结构、动作,而能够进行各种变形实施。
第七实施方式
1.本实施方式的手段
首先对本实施方式的手段进行说明。在多数状况下使用针对检查对象物的检查(特别是外观检查)。对于外观检查(目视检查)而言,用人们的眼睛进行观看并观察的检查方法是基本,但是从检查的使用者的省力化、检查的高精度化等观点来看,提出了利用检查装置使检查自动化的手段。
这里的检查装置也可以是专用的装置,例如作为专用的检查装置,如图54所示,考虑包括拍摄部CA、处理部PR、以及接口部IF的装置。在该情况下,检查装置获取使用拍摄部CA而拍摄的检查对象物OB的拍摄图像,并在处理部PR中使用拍摄图像来进行检查处理。考虑这里的各种检查处理的内容,但是例如,在检查中作为合格图像而预先获取判定为合格的状态的检查对象物OB的图像(可以是拍摄图像,也可以由模型数据制成),并且进行该合格图像与实际的拍摄图像的比较处理即可。若拍摄图像与合格图像接近,则能够判定该拍摄图像所拍摄的检查对象物OB是合格的,若拍摄图像与合格图像的差异大,则能够判定检查对象物OB存在某些问题而不合格。另外,在专利文献1中,公开有利用机器人作为检查装置的手段。
但是,从上述合格图像的例子亦可知,为了利用检查装置进行检查,需要预先设定用于该检查的信息。例如,虽然取决于检查对象物OB的配置方式,但是需要预先设定从什么方向观察检查对象物OB之类的信息。
一般地,如何观察检查对象物OB(狭义而言为在拍摄于拍摄图像时呈何种形状、尺寸)因检查对象物OB与观察的位置、方向的相对的关系而变化。以下,将观察检查对象物OB的位置表述为视点位置,视点位置狭义而言为表示拍摄部的配置的位置的意思。另外,将观察检查对象物OB的方向表述为视线方向,视线方向狭义而言为表示拍摄部的拍摄方向(光轴的方向)的意思。若未设置视点位置、视线方向的基准,则由于在每次检查时检查对象物OB的观察方式可能变化,所以根本不可能与观察方式对应地进行判定检查对象物OB的正常异常的外观检查。
另外,作为用于对该检查对象物OB判定为无异常的基准的合格图像,无法决定可以保持从何视点位置、视线方向观察的图像。即,若在检查时进行观察的位置方向不确定,则相对于检查时获取的拍摄图像的比较对象(检查基准)也不确定,从而无法进行适当的检查。此外,只要保持从所有视点位置、视线方向观察判定为合格的检查对象物OB的情况下的图像,则能够避免没有合格图像的状况。但是,该情况下的视点位置、视线方向会变得比较庞大,从而合格图像的张数也变得比较庞大,因此不现实。依据以上的点,也需要预先保持合格图像。
并且,一般地,合格图像、拍摄图像在检查中也会包含不必要的信息,因此在使用图像整体来进行检查处理(比较处理)时,恐怕检查的精度会变低。例如,在拍摄图像除了检查对象物以外,也存在拍摄到了工具、夹具等的情况,不优选将上述信息用于检查。另外,在检查对象物的一部分是检查对象的情况下,恐怕也会因检查对象物的不是检查对象的区域的信息而使检查精度降低。具体而言,如用图64A~图64D进行后述那样,在考虑针对较大的物体A而组装比物体A小的物体B的作业的情况下,检查的对象应为被组装的物体B的周围,并且检查物体A整体的必要性较低,并且因为使A整体为检查对象也会提高误判定的可能性。由此,若考虑提高检查处理的精度,检查区域在检查中也成为重要的信息。
但是以往,上述检查区域、视点位置、视线方向、或者合格图像之类的用于检查的信息是由具有图像处理的专业知识的使用者进行设定的。这是因为虽然是通过图像处理来进行合格图像与拍摄图像的比较处理,但是还要求与该图像处理的具体的内容对应地变更检查所需要的信息的设定。
例如,应用使用图像中的边缘的图像处理、全部使用像素值的图像处理、使用亮度、色差色相的图像处理、或者其他的图像处理中的一种的情况是否适于合格图像与拍摄图像的比较处理(狭义而言为相似度的判定处理),可能与检查对象物OB的形状、色调、质感等对应地变化。由此若为能够变更图像处理的内容的检查,则进行检查的使用者必须适当地设定进行何种图像处理。
另外,即使在设定完图像处理的内容的情况下、或者在通用性较高的图像处理的内容事先设定完毕的情况下,使用者也需要适当地掌握该图像处理的内容。这是因为若图像处理的具体的内容发生变化,则与检查相适的视点位置、视线方向也可能发生变化。例如,在使用边缘信息来进行比较处理的情况下,可以将能够对检查对象物OB的形状中的复杂的部分进行观察的位置方向设为视点位置、视线方向,而观察平坦的部分的位置方向为视点位置方向是不适当的。另外,若使用像素值来进行比较处理,则优选将能够对因色调的变化较大、或者因来自光源的光充分照射而能够明亮地观察的区域进行观察的位置方向作为视点位置、视线方向。即,在现有的手段中,在包含视点位置或视线方向、合格图像在内的检查所需要的信息的设定中,需要图像处理的专业知识。进一步而言,若图像处理的内容不同,需要使合格图像与拍摄图像的比较处理的基准也进行变更。例如,需要与图像处理的内容对应地决定合格图像与拍摄图像有多少程度相似则合格、有多少程度差异则不合格的基准,但是若没有图像处理的专业知识,则也无法设定该基准。
即,即使能够通过使用机器人等使检查自动化,也难以设定该检查所需要的信息,对于不具有专业的知识的使用者而言,不能说实现检查的自动化是容易的。
另外,本申请人设想的机器人通过做成对使用者而言容易进行执行机器人作业时的指导,并且设置有各种传感器等而使机器人本身能够识别作业环境的机器人,能够灵活地进行多样的作业。这样的机器人适于多品种制造(狭义而言为平均一个品种的制造量较少的多品种少量制造)。但是,即使容易进行制造时刻的指导等,是否容易进行制造成的制品的检查也成为另一个问题。这是因为若制品不同则应检查的对象物的位置也不同,作为结果,在拍摄图像以及合格图像中,应成为比较对象的检查区域对于每个制品也不同。即,在设想多品种制造的情况下,若将检查区域的设定委托给使用者,则与该设定处理相关的负担较大,而导致生产性的降低。
因此,本申请人提出如下手段:根据第一检查信息而生成用于检查处理的第二检查信息,从而减少检查处理中的使用者的负担,并提高机器人作业时的生产性。具体而言,本实施方式的机器人30000是使用由拍摄部(例如图52的拍摄部5000)拍摄的检查对象物的拍摄图像,而进行对检查对象物进行检查的检查处理的机器人,根据第一检查信息,生成包含检查处理的检查区域在内的第二检查信息,并根据第二检查信息而进行检查处理。
这里,第一检查信息是机器人30000在比执行检查处理靠前的时刻能够获取的信息,并表示第二检查信息的生成所使用的信息。由于第一检查信息是事先获取的信息,也能够表现为事先信息。在本实施方式中,第一检查信息可以由使用者输入,也可以在机器人30000中生成。即使在由使用者输入第一检查信息的情况下,该第一检查信息在输入时也不要求图像处理的专业知识,而成为能够容易进行输入的信息。具体而言,可以是包含检查对象物OB的形状信息、检查对象物OB的位置姿势信息、以及针对检查对象物OB的相对的检查处理对象位置中的至少一个的信息。
如后述那样,通过使用形状信息(狭义而言为三维模型数据)、位置姿势信息、检查处理对象位置的信息,能够生成第二检查信息。而且形状信息作为CAD数据等,一般是事先获取的,在使用者输入形状信息时,选择现有的信息即可。例如,在保持有作为检查对象物OB的候补的各种物体的数据的状况下,使用者从该候补之中选择检查对象物OB即可。另外,对于位置姿势信息而言,若在检查时知道检查对象物OB是如何配置的(例如以何种姿势配置于作业台上的什么位置),则也能够容易地设定位置姿势信息,位置姿势信息的输入不要求图像处理的专业知识。另外,检查处理对象位置是表示检查对象物OB中欲进行检查的位置的信息,例如若对检查对象物OB的给定的部分的破损进行检查,则是表示该给定的部分的位置的信息。另外,将针对物体A而组装物体B的检查对象物OB作为对象,在检查是否正常进行物体A与物体B的装配的情况下,物体A与物体B的装配位置(接触面、接触点、插入位置等)成为检查处理对象位置。检查处理对象位置也相同地,若能够掌握检查的内容则能够容易进行输入,而在输入时不需要图像处理的专业知识。
此外,本实施方式的手段并不限定于自动生成第二检查信息的全部。例如,也可以利用本实施方式的手段生成第二检查信息中的一部分,而其他的第二检查信息通过使用者手动输入。在该情况下,使用者并非能够完全省略第二检查信息的输入,但是至少在能够自动生成难以设定的视点信息等这一点上,能够利用本实施方式的手段而容易进行检查这一优点是不变的。
另外,检查处理是针对基于机器人30000的机器人作业的结果而进行的处理,从而第一检查信息也可以是在机器人作业中获取的信息。
这里机器人作业是指由机器人进行的作业,考虑由螺钉紧固、焊接、压焊、抽点(Snapshot)等形成的结合、以及使用手部、工具、夹具的变形等各种作业。在针对机器人作业的结果而进行检查处理的情况下,该检查处理判定是否正常进行了机器人作业。在该情况下,为了开始执行机器人作业,需要获取与检查对象物OB、作业内容相关的各种信息。例如,作业对象物(检查对象物OB的全部或者一部分)在作业前配置在什么位置、以何种姿势、在作业后变化为何种位置姿势成为已知的信息。另外,若进行螺钉紧固、焊接,则作业对象物中的紧固螺钉的位置、进行焊接的位置为已知。同样,若使多个物体结合,则物体A在什么位置从什么方向与什么物体结合为已知的信息,若对作业对象物施加变形,则作业对象物中的变形位置与变形后的形状也都为已知的信息。
即,在机器人作业成为对象的情况下,对于与上述的形状信息、位置姿势信息、以及检查处理对象位置对应的信息、其他第一检查信息所包含的信息而言,在完成了机器人作业的前提下,相当大的部分(根据情况所需的第一检查信息的全部)成为已知。即,在本实施方式的机器人30000中,第一检查信息挪用进行机器人的控制的单元(例如图50的处理部11120)等所保持的信息即可。另外,即便在使用图51A、图51B如后述那样将本实施方式的手段应用于与机器人30000不同的处理装置10000的情况下,处理装置10000从包括在机器人内的控制部3500等获取第一检查信息即可。因此,从使用者来看,为了进行检查,无需重新输入第一检查信息,就能够容易地生成第二检查信息。
由此,即使是不具有图像处理的专业知识的使用者,也能够容易地执行检查(至少获取第二检查信息),或者能够在检查执行时减少设定第二检查信息的负担等。此外,在本说明书的以下的说明中,对检查处理的对象是机器人作业的结果的例子进行说明。即,使用者无需输入第一检查信息,但是如上所述,使用者输入第一检查信息的一部分或者全部也无妨。即使是使用者输入第一检查信息的情况,对于使用者而言,在该第一检查信息的输入中不要求专业知识这一点上,容易进行检查这一优点是不变的。
另外,在以下的说明中,使用图52、图53如后述那样,主要对由机器人30000生成第二检查信息、并且在该机器人30000中执行检查处理的例子进行说明。但是本实施方式的手段并不限定于此,以下的说明能够如图51A所示地扩大为在处理装置10000中生成第二检查信息、并且机器人30000获取该第二检查信息而执行检查处理的手段。或者,也能够如图51B所示地扩展为在处理装置10000中生成第二检查信息、并且不在机器人中而是在专用的检查装置等执行使用该第二检查信息的检查处理的手段。
以下,对本实施方式的机器人30000、处理装置10000的系统构成例进行说明,之后对具体的处理流程进行说明。进一步具体而言,作为离线处理而对从第一检查信息的获取到第二检查信息的生成的流程进行说明,并且作为在线处理(online)而对使用了生成好的第二检查信息的机器人所进行的实际的检查处理的流程进行说明。
2.系统构成例
接下来对本实施方式的机器人30000、处理装置10000的系统构成例进行说明。如图50所示,本实施方式的机器人包括信息获取部11110、处理部11120、机器人机构300000以及拍摄部5000。但是,机器人30000并不限定于图50的结构,而能够省略上述一部分的构成要素、或追加其他构成要素等而实施各种变形。
信息获取部11110在检查处理之前获取第一检查信息。在由使用者输入了第一检查信息的情况下,信息获取部11110进行接受来自使用者的输入信息的处理。另外,在使机器人作业所使用的信息为第一检查信息的情况下,信息获取部11110进行从图50中的未图示的存储部等读出作业时在处理部11120中使用的控制用信息的处理等即可。
处理部11120根据信息获取部11110所获取的第一检查信息,进行第二检查信息的生成处理,并且进行使用第二检查信息的检查处理。在后面对处理部11120中的处理进行详细叙述。另外,处理部11120在检查处理、以及检查处理以外(例如装配等机器人作业),进行机器人30000的控制。例如在处理部11120中,进行包括在机器人机构300000内的臂3100、与拍摄部5000等的控制。此外,拍摄部5000也可以是安装于机器人的臂3100的手眼摄像机。
另外,如图51A所示,本实施方式的手段能够应用于如下处理装置,其是针对使用由拍摄部(在图51A中示出了拍摄部5000,但并不限定于此)拍摄的检查对象物的拍摄图像而进行上述检查对象物的检查处理的装置,输出用于检查处理的信息的处理装置10000,其根据第一检查信息,生成将检查处理的包含拍摄部的视点位置以及视线方向的视点信息、与检查处理的检查区域包含在内的第二检查信息,并对进行检查处理的装置输出第二检查信息。在该情况下,第一检查信息的获取与第二检查信息的生成是通过处理装置10000进行的,处理装置10000例如图51A所示,能够作为包括信息获取部11110与处理部11120的处理装置来实现。
这里,进行检查处理的装置如上所述可以是机器人30000。在该情况下,如图51A所示,机器人30000包括臂3100、用于检查对象物的检查处理的拍摄部5000、以及进行臂3100及拍摄部5000的控制的控制部3500。控制部3500作为第二检查信息而从处理装置10000获取将表示拍摄部5000的视点位置以及视线方向的视点信息、与检查区域包含在内的信息,并依据该第二检查信息,进行使拍摄部5000向与视点信息对应的视点位置以及视线方向移动的控制,从而使用获取的拍摄图像与检查区域而执行检查处理。
这样,能够在处理装置10000中进行第二检查信息的生成,并在其他机器中使用该第二检查信息而适当执行检查处理。若进行检查处理的装置是机器人30000,则与图50相同地,能够实现使用第二检查信息来进行检查处理的机器人,但是在形成为第二检查信息的生成处理与使用第二检查信息的检查处理的执行主体不同的机器这一点上,图51A与图50不同。
另外,处理装置10000不仅进行第二检查信息的生成处理,也可以配合地进行机器人30000的控制处理。例如,处理装置10000的处理部11120生成第二检查信息,并且进行基于该第二检查信息的机器人的控制用信息的生成。在该情况下,机器人的控制部3500依据由处理装置10000的处理部11120生成的控制用信息,使臂3100等进行动作。即,处理装置10000承担机器人的控制的实质的部分,该情况下的处理装置10000也能够理解为机器人的控制装置。
另外,使用由处理装置10000生成的第二检查信息而执行检查处理的主体并不限定于机器人30000。例如,也可以在如图54所示的专用的机器中使用第二检查信息来进行检查处理,该情况的构成例如图51B所示。在图51B中,示出了检查装置接受第一检查信息的输入(这例如使用图54的接口部IF即可)、并对处理装置10000输出该第一检查信息的例子。在该情况下,处理装置10000使用从检查装置输入的第一检查信息而生成第二检查信息。但是,第一检查信息能够如从使用者直接向处理装置输入的例子那样,进行各种变形实施。
如图52所示,本实施方式的机器人30000也可以是臂为1个的单臂机器人。在图52中,作为臂3100的末端执行器而设置有拍摄部5000(手眼摄像机)。但是,能够设置手部等把持部作为末端执行器、在该把持部、臂3100的其他位置等设置拍摄部5000等来实施各种变形。另外,在图52中,作为与图51A的控制部3500对应的机器而示出了PC等机器,但是该机器也可以是与图50的信息获取部11110以及处理部11120对应的机器。另外,在图52中,包括接口部6000在内,作为接口部6000而示出了操作部6100与显示部6200,但是能够对是否包括接口部6000、或者如何形成在包括接口部6000情况下的该接口部6000的结构进行变形实施。
另外,本实施方式的机器人30000的结构并不限定于图52。例如,如图53所示,机器人30000也可以至少包括第一臂3100、以及与第一臂3100不同的第二臂3200,并且拍摄部5000是设置于第一臂3100以及第二臂3200的至少一方的手眼摄像机。在图53中,第一臂3100是由关节3110、3130与设置于关节之间的框架3150、3170构成的,第二臂3200也同样,但是并不限定于此。另外,在图53中,示出了具有两支臂的双臂机器人的例子,但是本实施方式的机器人也可以具有3支以上的臂。虽然也记载了拍摄部5000是设置于第一臂3100的手眼摄像机(5000-1)与设置于第二臂3200的手眼摄像机(5000-2)的两方上,但是也可以是设置在其中一方上。
另外,图53的机器人30000包括基座单元部4000。基座单元部4000设置于机器人主体的下部,并支承机器人主体。在图53的例子中,形成为在基座单元部4000设置有车轮等、并且机器人整体能够移动的结构。但是,也可以是基座单元部4000不具有车轮等,而固定于地面等的结构。在图53的机器人中,通过在基座单元部4000收纳控制装置(在图52中是作为控制部3500而示出的装置),从而使机器人机构300000与控制部3500作为一体而构成。或者,也可以如相当于图52的控制部3500的装置那样,不设置特定的控制用的机器,而通过内置于机器人的基板(更具体而言为设置于基板上的IC等),实现上述控制部3500。
在使用具有两支以上的臂的机器人的情况下,能够进行灵活的检查处理。例如,在设置多个拍摄部5000的情况下,能够从多个视点位置、视线方向同时进行检查处理。另外,也能够用设置于给定的臂的手眼摄像机,对由设置于其他臂的把持部把持的检查对象物OB进行检查。在该情况下,不仅是拍摄部5000的视点位置、视线方向,也能够使检查对象物OB的位置姿势变化。
此外,如图20所示,与本实施方式的处理装置或者机器人30000中的处理部11120等对应的部分的功能也可以通过经由包含有线以及无线的至少一方的网络20而与机器人30通信连接的服务器700来实现。
或者在本实施方式中,也可以在作为处理装置的服务器700一侧进行本发明的处理装置等的处理的一部分。此时,通过设置于机器人侧的处理装置与作为处理装置的服务器700的分散处理,来实现该处理。具体而言,服务器700侧进行本发明的处理装置的各处理中的、分配于服务器700的处理。另一方面,设置于机器人的处理装置10000进行本发明的处理装置的各处理中的、分配于机器人的处理部等的处理。
例如,本发明的处理装置进行第一~第M(M为整数)处理,考虑能够以使第一处理通过子处理1a以及子处理1b来实现、并使第二处理通过子处理2a以及子处理2b来实现的方式,将第一~第M的各处理分割为多个子处理的情况。在该情况下,考虑服务器700侧进行子处理1a、子处理2a、···子处理Ma,设置于机器人侧的处理装置100进行子处理1b、子处理2b、···子处理Mb的分散处理。此时,本实施方式的处理装置、即执行第一~第M处理的处理装置可以是执行子处理1a~子处理Ma的处理装置,可以是执行子处理1b~子处理Mb的处理装置,也可以是执行子处理1a~子处理Ma以及子处理1b~子处理Mb的全部的处理装置。进一步而言,本实施方式的处理装置是对第一~第M处理的各处理至少执行一个子处理的处理装置。
由此,例如与机器人侧的处理装置10000相比处理能力较高的服务器700能够进行处理负荷高的处理等。并且,在处理装置也进行机器人控制的情况下,服务器700能够一并控制各机器人的动作,从而例如容易使多个机器人协调动作等。
另外,近几年,制造多品种且少数的部件的情况有增加的趋势。而且,在变更制造的部件的种类的情况下,需要变更机器人进行的动作。若为如图20所示的结构,则即使不重新进行针对多个机器人的各机器人的指导作业,服务器700也能够一并变更机器人进行的动作等。并且,与针对各机器人设置一个处理装置的情况相比,能够大幅度减少进行处理装置的软件更新时的麻烦等。
3.处理流程
接下来对本实施方式的处理流程进行说明。具体而言,对进行第一检查信息的获取以及第二检查信息的生成的流程、与根据生成的第二检查信息来执行检查处理时的流程进行说明。在设想由机器人执行检查处理的情况下,由于第一检查信息的获取以及第二检查信息的生成即使不伴随机器人的检查处理中的动作也能够执行,所以表述为离线处理(offline)。另一方面,由于检查处理的执行伴随机器人动作,所以表述为在线处理。
此外,以下,对检查处理的对象是基于机器人的装配作业的结果、并且检查处理也由机器人执行的例子进行说明,但是如上所述地存在能够进行各种变形实施的点。
3.1离线处理
首先,在图55中示出了本实施方式的第一检查信息与第二检查信息的具体例子。第二检查信息包含视点信息(视点位置以及视线方向)、检查区域(ROI,确认区域)以及合格图像。另外,第一检查信息包含形状信息(三维模型数据)、检查对象物的位置姿势信息以及检查处理对象位置。
在图56的流程图中示出了具体的离线处理的流程。若开始进行离线处理,则首先信息获取部11110作为第一检查信息而获取检查对象物的三维模型数据(形状信息)(S100001)。在检查(外观检查)中,重要之处在于如何观察检查对象物,从给定的视点位置、视线方向观察的观察方式取决于检查对象物的形状。特别是,对于三维模型数据而言,由于是无缺损、无变形的理想的状态下的检查对象物的信息,所以成为针对检查对象物的实物的检查处理中有用的信息。
在检查处理是针对基于机器人的机器人作业的结果进行的处理的情况下,信息获取部11110获取作为机器人作业的结果而获取的检查对象物的三维模型数据亦即作业后三维模型数据、与机器人作业前的检查对象物的三维模型数据亦即作业前三维模型数据。
在对机器人作业的结果进行检查的情况下,需要对是否适当地进行了作业进行判定。在作业为将物体A与物体B进行装配的装配作业的情况下,对是否针对物体A在规定的位置从规定的方向组装物体B进行判定。即,物体A、物体B个体的三维模型数据的获取是不足够的,重要之处在于针对物体A在规定的位置从规定的方向组装有物体B的数据、即理想地结束作业的状态下的三维模型数据。由此本实施方式的信息获取部11110获取作业后三维模型数据。另外,如后述检查区域、合格阈值的设定那样,也存在作业前后的观察方式的差异成为要点的场景,因此也预先配合地获取作业前三维模型数据。
在图57A、图57B中示出了作业前三维模型数据与作业后三维模型数据的例子。在图57A、图57B中,以针对立方体的块状的物体A,在沿着给定的1个轴方向偏移的位置以与物体A相同的姿势组装立方体的块状的物体B的作业为例而进行说明。在该情况下,作业前三维模型数据由于是物体B的组装前,所以如图57A所示是物体A的三维模型数据。另外,如图57B所示,作业后三维模型数据是以上述条件组装了物体A与物体B的数据。此外,在图57A、图57B中,在以平面的方式图示的关系上,三维模型数据成为是否从给定的视点位置、视线方向进行观察那样的数据,但是从“三维”这一词语亦可知,作为第一检查信息而获取的形状数据成为观察的位置、方向不被限定的三维的数据。
另外,在S100001中,也配合地获取作为视点信息(包含视点位置以及视线方向的信息)的候补的视点候补信息。设想该视点候补信息不是由使用者输入或者由处理部11120等生成的信息,而例如是处理装置10000(或者机器人30000)的制造商在出厂前预先设定的信息。
虽然视点候补信息如上所述是作为视点信息的候补的信息,但是考虑可能成为该视点候补信息的点非常多(狭义而言为无限)。例如,在以检查对象物为基准的对象物坐标系(物体坐标系)中设定视点信息的情况下,对象物坐标系中的检查对象物的内部所包含的点以外的点全部可能成为视点候补信息。当然,使用这么多的视点候补信息(处理上不限定视点候补信息),能够与状况对应地灵活或者精细地设定视点信息。由此,若在视点信息的设定时处理负荷不成为问题,则在S100001中可以不获取视点候补信息。但是在以下的说明中,预先设定视点候补信息,以使得即使在各种物体成为检查对象物的情况下也能够通用地进行利用,并且不使视点信息的设定中的处理负荷增大。
此时,检查时刻的检查对象物OB的配置的位置姿势等不限定为已知。因此,由于是否能够使拍摄部5000向与视点信息对应的位置姿势移动的情况不明确等,所以将视点信息限定为非常少的数量(例如一个、两个)是不现实的。这是因为在仅生成少数的视点信息的情况下,若无法使拍摄部5000向该少数的视点信息的全部移动,则无法执行检查处理。为了抑止这种危险性,需要使视点信息生成一定程度的数量,作为结果,视点候补信息的数量也成为一定程度的数量。
在图58中示出了视点候补信息的例子。在图58中,在对象物坐标系的原点的周围设定有18个视点候补信息。具体的坐标值如图59所示。若为视点候补信息A,则视点位置在x轴上,并且位于从原点离开给定的距离(若为图59的例子则是200)的位置。另外,视线方向与由(ax、ay、az)表示的矢量对应,在为视点候补信息A的情况下,成为x轴负方向、即原点方向。此外,即使仅确定了视线方向矢量,也由于拍摄部5000能够进行绕着视线方向矢量的旋转,所以姿势不固定为一种。由此这里,预先将规定绕着视线方向矢量的旋转角度的另一矢量设定作为(bx、by、bz)。另外,如图58所示,将xyz各轴上的2点与xyz中的2轴之间的点的合计18个点作为视点候补信息。若这样地以环绕对象物坐标系的原点的方式设定视点候补信息,则在世界坐标系(机器人坐标系)中,不论检查对象物如何配置,都能够实现适当的视点信息的设定。具体而言,能够抑止无法使拍摄部5000向根据视点候补信息而设定的视点信息的全部(或者大多数)移动、或者即使移动也因遮挡物等而无法检查之类的可能性,从而能够实现至少足够数量的视点信息下的检查。
在外观检查中,虽然仅从一个视点位置以及视线方向进行检查是无妨的,但是若考虑精度,则优选从多个视点位置以及视线方向进行检查。这是因为考虑在仅从1个方向检查时,存在无法充分(例如在图像上以足够大的尺寸)观察应检查的区域的可能性等。因此,优选第二检查信息不是一个视点信息,而是包含多个视点信息的视点信息组。这例如是通过使用上述视点候补信息中的多个候补信息(基本上是全部候补信息)而生成视点信息从而实现的。另外,即使在不使用上述视点候补信息的情况下,求出多个视点信息即可。即,第二检查信息包含将多个视点信息包含在内的视点信息组,视点信息组的各视点信息包含检查处理中的拍摄部5000的视点位置以及视线方向。具体而言,处理部11120根据第一检查信息,作为第二检查信息而生成将拍摄部5000的多个视点信息包含在内的视点信息组。
上述视点候补信息为对象物坐标系中的位置,但是在视点候补信息的设定阶段,具体的检查对象物的形状、尺寸是不确定的。具体而言,图58虽然是以检查对象物为基准的对象物坐标系,但是该对象物坐标系中的物体的位置姿势成为不定的状态。对于视点信息而言,由于至少需要规定与检查对象物的相对的位置关系,所以为了从视点候补信息生成具体的视点信息,需要与检查对象物的对应。
这里,鉴于上述视点候补信息,对于设定了视点候补信息的坐标系的原点而言,其是作为全部的视点候补信息的中心的位置,并且在以各视点候补信息配置拍摄部5000的情况下,位于该拍摄部5000的拍摄方向(光轴方向)。即,可以说坐标系的原点是在使用拍摄部5000的观察下最佳的位置。由于在检查处理中最应观察的位置是上述检查处理对象位置(狭义而言可以是装配位置,也可以如图58所示是组装位置),所以使用作为第一检查信息而获取的检查处理对象位置而生成与检查对象物相对应的视点信息。
即,第一检查信息包含针对上述检查对象物的相对的检查处理对象位置,机器人30000以检查处理对象位置为基准,设定与检查对象物对应的对象物坐标系,并使用对象物坐标系,生成视点信息。具体而言,信息获取部11110作为第一检查信息而获取针对检查对象物的相对的检查处理对象位置,处理部11120以检查处理对象位置为基准,设定与检查对象物对应的对象物坐标系,并使用对象物坐标系,生成视点信息(S100002)。
例如,检查对象物的形状数据呈图60所示的形状,获取其中的点O为检查处理对象位置的第一检查信息。在该情况下,将点O作为原点,而设定检查对象物的姿势为图60所示那样的对象物坐标系即可。若确定对象物坐标系中的检查对象物的位置姿势,则各视点候补信息与检查对象物的相对关系明确,因此能够使用各视点候补信息作为视点信息。
若生成包含多个视点信息的视点信息组,则进行各种第二检查信息的生成。首先,进行与各视点信息对应的合格图像的生成(S100003)。具体而言,处理部11120作为检查处理所使用的合格图像而获取由配置于与视点信息对应的视点位置以及视线方向的假想摄像机拍摄的三维模型数据的图像。
合格图像需要成为显示检查对象物的理想的状态的图像。由于作为第一检查信息而获取的三维模型数据(形状信息)是检查对象物的理想的形状数据,所以将从与视点信息对应地配置的拍摄部观察的该三维模型数据的图像作为合格图像来使用即可。此外,在使用三维模型数据的情况下,实际不是基于拍摄部5000的拍摄,而是进行使用假想摄像机的处理(具体而言为将三维数据投影为二维数据的转换处理)。此外,若设想针对机器人作业的结果的检查处理,则合格图像是显示机器人作业结束时的理想的检查对象物的状态的图像。而且,由于机器人作业结束时的理想的检查对象物的状态由上述作业后三维模型数据显示,所以将由假想摄像机拍摄的作业后三维模型数据的图像作为合格图像即可。由于合格图像是在每个视点信息中求出的,所以如上所述在设定18个视点信息的情况下,合格图像也为18个。图61A~图61G各自的右侧的图像与进行对应于图57B的装配作业的情况下的合格图像对应。在图61A~图61G中,记载了7个视点量的图像,而如上所述,以视点信息的数量求出图像数量。此外,在S100003的处理中,考虑到后述检查区域、合格阈值的处理,也预先求出由假想摄像机拍摄的作业前三维模型数据的作业前图像(图61A~图61G各自的左侧)。
接下来,作为第二检查信息而求出用于检查处理的合格图像以及拍摄图像的图像中的区域亦即检查区域(S100004)。检查区域如上所述。此外,在检查中重要的部分的观察方式与视点信息对应地变化,因此,针对视点信息组所包含的各视点信息进行检查区域的设定。
具体而言,处理部11120作为合格图像而获取由配置于与视点信息对应的视点位置以及视线方向的假想摄像机拍摄的作业后三维模型数据的图像,作为作业前图像而获取由配置于与视点信息对应的视点位置以及视线方向的假想摄像机拍摄的作业前三维模型数据的图像,并根据作业前图像与合格图像的比较处理,求出用于检查处理的图像中的区域亦即检查区域。
在图62A~图62D中示出了检查区域的设定处理的具体例子。在针对物体A从右组装物体B的机器人作业的结果是检查对象的情况下,如图62B所示地作为合格图像而获取由假想摄像机拍摄的作业后三维模型数据的图像,如图62A所示地作为作业前图像而获取由假想摄像机拍摄的作业前三维模型数据的图像。这样,在作业前后带有状态的变化的机器人作业中,更重要的是状态的变化部分。若为图62B的例子,则在检查中应该判断的是物体B是否与物体A组装在一起、其组装位置是否正确之类的条件。虽然也可以对物体A中的与作业相关的部分(例如装配中的接合面)以外的部分进行检查,但是重要度比较低。
即,能够将合格图像以及拍摄图像中重要度较高的图像中的区域考虑为在作业的前后产生变化的区域。由此在本实施方式中,处理部120作为比较处理而进行求出作业前图像与合格图像的差分亦即差分图像的处理,并作为检查区域而求出差分图像中的包含检查对象物的区域。若为图62A、图62B的例子,则差分图像为图62C,因此设定将图62C所包含的物体B的区域包含在内的检查区域。
这样,能够将差分图像中的包含检查对象物的区域、即推断为检查的重要度较高的区域作为检查区域。
此时,检查处理对象位置(图62A等中的装配位置)作为第一检查信息是已知的,该检查处理对象位置在图像中处于什么位置也是已知的。如上所述,由于检查处理对象位置是作为检查处理中检查的基准的位置,所以也可以从差分图像与检查处理对象位置求出检查区域。例如,如图62C所示,处理部11120求出差分图像中的检查处理对象位置与差分图像所剩余的区域的纵向的长度的最大值BlobHeight、以及横向的长度的最大值Blobwidth。这样,若以检查处理对象位置为中心,将上下各自BlobHeight、左右各自Blobwidth的距离的范围内的区域作为检查区域,则能够作为检查区域而求出差分图像中的包含检查对象物的区域。此外,在本实施方式中,也可以在纵向以及横向分别具有余白,若为图62D的例子,则将在上下左右分别具有30像素的余白的区域作为检查区域。
图63A~图63D、图64A~图64D也是同样的。图63A~图63D是在从视点位置观察的情况下,在物体A的里侧组装比较细的物体B的作业(或者在图像中的横向有孔的物体A插入棒状的物体B的作业)的例子。在该情况下,差分图像中的检查对象物的区域被分为不连续的多个区域,但是能够与图62A~图62D相同地进行处理。这里,设想物体B比物体A细,物体A的图像中的上端部附近、或者下端部附近在检查中的重要度较低。若为本实施方式的手段,则如图63D所示,能够将被认为重要度较低的物体A的区域从检查区域除去。
图64A~图64D是针对较大的物体A组装比物体A小的物体B的作业。这例如与将作为物体B的螺钉紧固于作为PC、打印机等的物体A的规定的位置的作业对应。在这种作业中,检查PC、打印机整体的必要性低,而进行螺钉紧固的位置的重要度高。在这一点上,若为本实施方式的手段,则如图64D所示,可以将物体A的大部分从检查区域除去,将应检查的物体B的周围设定作为检查区域。
此外,上述手段是通用性较高的检查区域的设定手段,但是本实施方式的检查区域的设定手段并不限定于此,也可以通过其他手段来设定检查区域。例如,在图62D中,由于即使是更狭小的检查区域也足够,所以也可以使用设定更狭小的区域的手段。
接下来,进行在合格图像与实际拍摄的拍摄图像的比较处理中使用的阈值(合格阈值)的设定处理(S100005)。具体而言,处理部11120获取上述合格图像与作业前图像,并根据作业前图像与合格图像的相似度,设定基于拍摄图像与合格图像的检查处理所使用的阈值。
在图65A~图65D中示出了阈值设定处理的具体例子。图65A是合格图像,若理想地进行机器人作业(广义而言若检查对象物为理想的状态),则实际拍摄的拍摄图像也应与合格图像一致,相似度为最大值(这里是1000)。另一方面,若完全没有与合格图像一致的要素,则相似度为最小值(这里是0)。这里的阈值是如下值:若合格图像与拍摄图像的相似度在该阈值以上则判定为检查合格,若相似度比阈值小则判定为检查不合格。即,阈值为0与1000之间的给定的值。
这里,图65B是与图65A对应的作业前图像,但是由于图65B也包含与图65A通用的部件,所以作业前图像与合格图像的相似度成为不为0的值。例如,在使用图像的边缘信息来进行相似度的判定的情况下,将作为图65A的边缘信息的图65C用于比较处理,但是作为作业前图像的边缘信息的图65D也包含与图65C一致的部分。若为图65C、图65D的例子,则相似度的值不到700。由此,即使将完全没有进行作业的状态的检查对象物拍摄于拍摄图像,该拍摄图像与合格图像的相似度也保持700左右的值。将完全没有进行作业的状态的检查对象物拍摄于拍摄图像例如是指,无法执行作业本身、或者执行了作业但是组装侧的物体落下而未拍摄于图像之类的状态,并且机器人作业失败的可能性较高。即,由于作为检查即使应成为“不合格”的状况也出现700左右的相似度,所以作为阈值而设定为低于该值的值可以说是不适当的。
由此在本实施方式中,将相似度的最大值(例如1000)和作业前图像与合格图像的相似度(例如700)之间的值设定作为阈值。作为一个例子,使用平均值即可,也可以利用下式(13)求出阈值。
阈值={1000+(合格图像与作业前图像的相似度)}/2·····(13)
另外,阈值的设定能够进行各种变形实施,例如也可以与合格图像和作业前图像的相似度的值对应地,变更求出阈值的公式。
例如,能够进行如下变形实施:在合格图像与作业前图像的相似度处于600以下的情况下,将阈值固定为800,在合格图像与作业前图像的相似度处于900以上的情况下,将阈值固定为1000,在除此之外的情况下,使用上式(13)。
此外,合格图像与作业前图像的相似度因作业前后的检查对象物的观察方式的变化而变化。例如,在与不同于图65(A)~图65(D)的视点信息对应的图66A~图66D的情况下,装配前后的检查对象物的观察方式的差异较小,作为结果,合格图像与作业前图像的相似度比上述例子高。即,与合格图像、检查区域相同地,针对视点信息组所包含的各视点信息也进行相似度以及阈值的计算处理。
最后,处理部11120针对视点信息组的各视点信息,设定表示使拍摄部5000向与视点信息对应的视点位置以及视线方向移动时的优先度的优先度信息(S100006)。如上所述,检查对象物的观察方式与由视点信息表示的视点位置以及视线方向对应地变化。由此,也可能产生如下状况:从给定的视点信息可良好地观察检查对象物中的应检查的区域,与此相对,从其他视点信息无法观察该区域。另外,如上所述,由于视点信息组包含足够数量的视点信息,所以在检查处理中,无需将其全部作为对象进行检查,若在规定的视点信息(例如2处位置)合格的话,则最终结果也合格,从而可以不对之前没有成为对象的视点信息进行处理。依据上述内容,若考虑检查处理的效率化,则优选进一步优先处理可良好地观察应检查的区域等、检查处理中有用的视点信息。因此在本实施方式中,针对各视点信息设定优先度。
这里,在检查处理是针对机器人作业的结果的处理的情况下,明确作业的前后的差异在检查中是有用的。作为极端的例子,如图67A所示,考虑在较大的物体A从附图上左侧组装较小的物体B的作业。在该情况下,在使用与图67A的视点位置1以及视线方向1对应的视点信息1的情况下,作业前图像如图67B所示,合格图像如图67C所示,不产生差异。即,视点信息1在对这里的作业进行检查时不是有用的视点信息。另一方面,在使用与视点位置2以及视线方向2对应的视点信息2的情况下,作业前图像如图67D所示,合格图像如图67E所示,差异明确。在该情况下,可以使视点信息2的优先度比视点信息1的优先度高。
即,作业的前后的变化量越大,则将优先度设定得越高即可,作业的前后的变化量大的情况表示用图65A~图66D说明的作业前图像与合格图像的相似度低。由此在S100006的处理中,计算多个视点信息各自的作业前图像与合格图像的相似度(这在S100005的阈值设定时求出),相似度越低,则设定越高的优先度即可。在执行检查处理时,从优先度高的视点信息按顺序使拍摄部5000移动,从而进行检查。
3.2在线处理
接下来,用图68的流程图对使用第二检查信息的检查处理亦即在线处理的流程进行说明。若开始进行在线处理,则首先进行由上述离线处理生成的第二检查信息的读入(S2001)。
然后,机器人30000根据基于由优先度信息表示的优先度而设定的移动顺序,使拍摄部5000向与视点信息组的各视点信息对应的视点位置以及视线方向移动。这例如能够通过图50的处理部11120、或者图51A的控制部3500的控制来实现。具体而言,选择视点信息组所包含的多个视点信息中的优先度最高的一个视点信息(S2002),并使拍摄部5000向与该视点信息对应的视点位置以及视线方向移动(S2003)。这样,通过依据上述优先度而进行的拍摄部5000的控制,能够实现高效的检查处理。
但是,离线处理中的视点信息基本上是对象物坐标系所规定的信息,不是考虑现实空间(世界坐标系、机器人坐标系)中的位置的信息。例如,如图69A所示,在对象物坐标系中,在检查对象物的给定的面F1的方向设定视点位置以及视点方向。在该情况下,在该检查对象物的检查处理中,如图69B所示,在检查对象物以使面F1朝下的方式配置于作业台的情况下,上述视点位置以及视线方向为作业台下,而无法使拍摄部5000(机器人30000的手眼摄像机)移动至该位置方向。
即,S2003成为如下控制:未必使拍摄部5000移动至与视点信息对应的位置姿势,而进行是否能够移动的判定(S2004),在能够移动的情况下进行移动。具体而言,处理部11120在根据机器人的可动范围信息,判定为无法使拍摄部5000向与多个视点信息中的第i(i为自然数)视点信息对应的视点位置以及视线方向移动的情况下,跳过与第i视点信息对应的拍摄部5000的移动,而进行与移动顺序中的第i视点信息的下一个的第j(j为满足i≠j的自然数)的视点信息相对的控制。具体而言,在S2004中判定中为否的情况下,跳过S2005以下的检查处理,而返回至S2002,并接着进行视点信息的选择。
这里,若使视点信息组所包含的视点信息的数量为N(N为自然数,并且若为上述图58的例子,则N=18),i为满足1≤i≤N的整数,j为满足1≤j≤N以及j≠i的整数。另外,机器人的可动范围信息是表示机器人中的特别是设置有拍摄部5000的部分能够移动的范围的信息。对于机器人所包含的各关节而言,在设计上决定该关节的选取的关节角的范围。而且,若决定各关节的关节角的值,则能够根据正向运动学计算机器人的给定的位置。即,可动范围信息是从机器人的设计事项求出的信息,可以是关节角的可取值的组,可以是拍摄部5000的可取空间的位置姿势,也可以是其他信息。
此外,机器人的可动范围信息用机器人坐标系、或者世界坐标系来表现。因此,为了进行视点信息与可动范围信息的比较,需要将如图69A所示的对象物坐标系中的视点信息转换为如图69B所示的现实空间中的位置关系、即机器人坐标系中的视点信息。
由此信息获取部11110预先作为第一检查信息而获取表示检查对象物的全局坐标系中的位置姿势的对象物位置姿势信息,在S2004的处理中,处理部11120根据基于对象物位置姿势信息求出的全局坐标系与对象物坐标系的相对关系,求出全局坐标系所表现的视点信息,并根据全局坐标系所表现的机器人的可动范围信息、与全局坐标系所表现的视点信息,对是否能够使拍摄部5000向由视点信息表示的视点位置以及视线方向移动进行判定。
由于该处理是坐标变换处理,所以需要两个坐标系的相对关系,能够根据全局坐标系中的对象物坐标系的基准的位置姿势、即对象物位置姿势信息,求出该相对关系。
此外,由视点信息表示的视线方向不必是唯一决定拍摄部5000的姿势的信息。具体而言,在图58、图59的视点候补信息的说明中如上所述,由(x、y、z)决定视点位置,并且由(ax、ay、az)以及(bx、by、bz)决定拍摄部5000的姿势,但是也可以不考虑(bx、by、bz)。在对是否能够使拍摄部5000向由视点信息表示的视点位置以及视线方向移动进行的判定中,若将(x、y、z)、(ax、ay、az)以及(bx、by、bz)的全部作为条件,则难以实现满足该条件的拍摄部5000的移动。具体而言,即使能够从由(x、y、z)表示的位置拍摄作为原点的方向的(ax、ay、az),表示此时的绕着(ax、ay、az)的旋转角度的矢量也仅取规定范围,而可能无法满足(bx、by、bz)。由此在本实施方式中,视线方向也可以不包含(bx、by、bz),若满足(x、y、z)以及(ax、ay、az),则判定为拍摄部5000能够移动至视点信息。
在拍摄部5000向与视点信息对应的位置姿势移动完成的情况下,进行由该位置姿势的拍摄部5000实现的拍摄而获取拍摄图像(S2005)。通过拍摄图像与合格图像的比较来进行检查处理,其中,在合格图像中上述(bx、by、bz)使用规定的值,与此相对,对于拍摄拍摄图像的拍摄部5000而言,存在相对于视线方向的旋转角度与由(bx、by、bz)表示的角度不同的可能性。例如,如合格图像为图70A、而拍摄图像为图70B的情形那样,存在两个图像之间产生给定的角度下的旋转的情况。在这种情况下检查区域的切出是不适当的,相似度的计算也同样是不适当的。此外,为了便于说明,图70B与从模型数据制成的合格图像相同地,使背景为单一素色,但是由于图70B为拍摄图像,所以也可能照入其他物体。另外,从照明光等的关系来看,也考虑检查对象物的色调与合格图像不同的情况。
由此这里,进行拍摄图像与合格图像之间的图像旋转角度的计算处理(S2006)。具体而言,在生成合格图像时使用上述(bx、by、bz),因此与合格图像对应的拍摄部(假想摄像机)的相对于视线方向的旋转角度为已知的信息。另外,拍摄拍摄图像时的拍摄部5000的位置姿势在用于使拍摄部5000向与视点信息对应的位置姿势移动的机器人控制中也应成为已知,如若不然,则根本无法移动。由此,形成为也能够求出拍摄时的拍摄部5000的相对于视线方向的旋转角度的信息。在S2006的处理中,根据相对于视线方向的两个旋转角度的差分,求出图像间的旋转角度。并且,使用求出的图像旋转角度,进行合格图像与拍摄图像的至少一方的旋转变形处理,从而修正合格图像与拍摄图像的角度的不同。
由于通过以上的处理而取得了合格图像与拍摄图像的角度的对应,所以提取各图像中的由S100004求出的检查区域(S2007),而使用该区域来进行确认处理(S2008)。在S2008中,计算合格图像与拍摄图像的相似度,若该相似度在由S100005求出的阈值以上则判定为合格,如若不然则判定为不合格即可。
但是,也可以不如上所述地仅从一个视点信息进行检查处理,而使用多个视点信息。由此,对是否执行了指定次数的确认处理进行判定(S2009),若执行指定次数则结束处理。例如,若为在3处位置的确认处理中没有问题的情况下成为合格的检查处理,则在S2008中进行了3次合格的判定的情况下,在S2009判定中为是,而使检查对象物为合格并结束检查处理。另一方面,即使在S2008中为合格,若该判定为第一次或者第二次,则在S2009中判定中为否,并继续进行针对下一个视点信息的处理。
此外,在以上的说明中,在线处理也是由信息获取部11110、处理部11120进行的,但是并不限定于此,也可以如上所述地利用机器人30000的控制部3500来进行上述处理。即在线处理可以由图50的机器人30000的信息获取部11110、处理部11120来进行,也可以由图51A的机器人的控制部3500进行。或者,也可以由图51A的处理装置的信息获取部11110、处理部11120进行,该情况下的处理装置10000能够如上所述地考虑为机器人的控制装置。
在利用机器人30000的控制部3500进行在线处理的情况下,机器人30000的控制部3500在根据机器人30000的可动范围信息,判定为无法使拍摄部5000向与多个视点信息中的第i(i为自然数)视点信息对应的视点位置以及视线方向移动的情况下,跳过与第i视点信息对应的拍摄部5000的移动,而进行与移动顺序中的第i视点信息的下一个的第j(j为满足i≠j的自然数)视点信息相对的控制。
此外,本实施方式的处理装置10000等也可以通过程序来实现其处理的一部分或者大部分。在这种情况下,CPU等处理器执行程序,从而实现本实施方式的处理装置10000等。具体而言,读出存储于非暂时性信息存储介质的程序,并且CPU等处理器执行读出的程序。这里,信息存储介质(能够利用计算机读取的介质)是储存程序、数据等的介质,其功能能够通过光盘(DVD、CD等)、HDD(硬盘驱动器)、或者存储器(卡式存储器、ROM等)等来实现。而且,CPU等处理器根据储存于信息存储介质的程序(数据),进行本实施方式的各种处理。即,在信息存储介质存储用于使计算机(具备操作部、处理部、存储部、输出部的装置)作为本实施方式的各部而发挥功能的程序(用于使计算机执行各部的处理的程序)。

Claims (17)

1.一种机器人,其特征在于,是使用由拍摄部拍摄的检查对象物的拍摄图像来进行检查上述检查对象物的检查处理的机器人,并且根据第一检查信息,生成包含上述检查处理的检查区域的第二检查信息,并根据上述第二检查信息,进行上述检查处理,
上述第二检查信息包含将多个视点信息包含在内的视点信息组,并且上述视点信息组的各视点信息包含上述检查处理中的上述拍摄部的视点位置以及视线方向。
2.根据权利要求1所述的机器人,其特征在于,
对上述视点信息组的各视点信息,设定使上述拍摄部向与上述视点信息对应的上述视点位置以及上述视线方向移动时的优先度。
3.根据权利要求2所述的机器人,其特征在于,
依据基于上述优先度而设定的移动顺序,使上述拍摄部向与上述视点信息组的上述各视点信息对应的上述视点位置以及上述视线方向移动。
4.根据权利要求3所述的机器人,其特征在于,
在根据可动范围信息,判定为无法使上述拍摄部向与多个上述视点信息中的第i视点信息对应的上述视点位置以及上述视线方向移动的情况下,不进行基于上述第i视点信息的上述拍摄部的移动,而根据上述移动顺序中的上述第i视点信息的下一个的第j视点信息,使上述拍摄部移动,其中i、j为自然数,且i≠j。
5.根据权利要求1~4中任一项所述的机器人,其特征在于,
上述第一检查信息包含针对上述检查对象物的相对的检查处理对象位置,并以上述检查处理对象位置为基准,设定与上述检查对象物对应的对象物坐标系,从而使用上述对象物坐标系,生成上述视点信息。
6.根据权利要求5所述的机器人,其特征在于,
上述第一检查信息包含表示上述检查对象物的全局坐标系中的位置姿势的对象物位置姿势信息,
根据基于上述对象物位置姿势信息而求出的上述全局坐标系与上述对象物坐标系的相对关系,求出上述全局坐标系中的上述视点信息,
并根据上述全局坐标系中的可动范围信息与上述全局坐标系中的上述视点信息,对是否能够使上述拍摄部向上述视点位置以及上述视线方向移动进行判定。
7.根据权利要求1所述的机器人,其特征在于,
上述检查处理是针对机器人作业的结果进行的处理,上述第一检查信息是在上述机器人作业中获取的信息。
8.根据权利要求1所述的机器人,其特征在于,
上述第一检查信息是包含上述检查对象物的形状信息、上述检查对象物的位置姿势信息、以及针对上述检查对象物的相对的检查处理对象位置中的至少一个的信息。
9.根据权利要求1所述的机器人,其特征在于,
上述第一检查信息包含上述检查对象物的三维模型数据。
10.根据权利要求9所述的机器人,其特征在于,
上述检查处理是针对机器人作业的结果进行的处理,
上述三维模型数据包含通过进行上述机器人作业而得到的作业后三维模型数据、与上述机器人作业前的上述检查对象物的上述三维模型数据亦即作业前三维模型数据。
11.根据权利要求9或10所述的机器人,其特征在于,
上述第二检查信息包含合格图像,上述合格图像是由配置于与上述视点信息对应的上述视点位置以及上述视线方向的假想摄像机拍摄上述三维模型数据而得的图像。
12.根据权利要求10所述的机器人,其特征在于,
上述第二检查信息包含合格图像与作业前图像,
上述合格图像是由配置于与上述视点信息对应的上述视点位置以及上述视线方向的假想摄像机拍摄上述作业后三维模型数据而得的图像,
上述作业前图像是由配置于与上述视点信息对应的上述视点位置以及上述视线方向的上述假想摄像机拍摄上述作业前三维模型数据而得的图像,
通过对上述作业前图像与上述合格图像进行比较,求出上述检查区域。
13.根据权利要求12所述的机器人,其特征在于,
在上述比较中,求出上述作业前图像与上述合格图像的差分亦即差分图像,上述检查区域是上述差分图像中的包含上述检查对象物的区域。
14.根据权利要求10所述的机器人,其特征在于,
上述第二检查信息包含合格图像与作业前图像,
上述合格图像是由配置于与上述视点信息对应的上述视点位置以及上述视线方向的假想摄像机拍摄上述作业后三维模型数据而得的图像,
上述作业前图像是由配置于与上述视点信息对应的上述视点位置以及上述视线方向的上述假想摄像机拍摄上述作业前三维模型数据而得的图像,
根据上述作业前图像与上述合格图像的相似度,设定基于上述拍摄图像与上述合格图像进行的上述检查处理所使用的阈值。
15.根据权利要求1所述的机器人,其特征在于,
至少包括第一臂与第二臂,上述拍摄部是设置于上述第一臂以及上述第二臂的至少一方的手眼摄像机。
16.一种处理装置,其特征在于,是针对使用由拍摄部拍摄的检查对象物的拍摄图像而进行上述检查对象物的检查处理的装置,输出上述检查处理所使用的信息的处理装置,
并且根据第一检查信息,生成将上述检查处理的包含上述拍摄部的视点位置以及视线方向的视点信息、与上述检查处理的检查区域包含在内的第二检查信息,
并针对进行上述检查处理的上述装置输出上述第二检查信息。
17.一种检查方法,其特征在于,是使用由拍摄部拍摄的检查对象物的拍摄图像,而进行检查上述检查对象物的检查处理的检查方法,
在该检查方法中包括根据第一检查信息,生成将上述检查处理的包含上述拍摄部的视点位置以及视线方向的视点信息、与上述检查处理的检查区域包含在内的第二检查信息的步骤。
CN201510137541.3A 2013-10-10 2014-10-10 机器人控制系统、机器人、程序以及机器人控制方法 Expired - Fee Related CN104802166B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP2013212930A JP6322949B2 (ja) 2013-10-10 2013-10-10 ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム
JP2013-212930 2013-10-10
JP2013226536A JP6390088B2 (ja) 2013-10-31 2013-10-31 ロボット制御システム、ロボット、プログラム及びロボット制御方法
JP2013-226536 2013-10-31
JP2013-228653 2013-11-01
JP2013228655A JP6337445B2 (ja) 2013-11-01 2013-11-01 ロボット、処理装置及び検査方法
JP2013228653A JP6217322B2 (ja) 2013-11-01 2013-11-01 ロボット制御装置、ロボット及びロボット制御方法
JP2013-228655 2013-11-01
CN201410531769.6A CN104552292A (zh) 2013-10-10 2014-10-10 机器人控制系统、机器人、程序以及机器人控制方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201410531769.6A Division CN104552292A (zh) 2013-10-10 2014-10-10 机器人控制系统、机器人、程序以及机器人控制方法

Publications (2)

Publication Number Publication Date
CN104802166A CN104802166A (zh) 2015-07-29
CN104802166B true CN104802166B (zh) 2016-09-28

Family

ID=53069890

Family Applications (5)

Application Number Title Priority Date Filing Date
CN201510136619.XA Pending CN104959982A (zh) 2013-10-10 2014-10-10 机器人控制系统、机器人、程序以及机器人控制方法
CN201711203574.9A Pending CN108081268A (zh) 2013-10-10 2014-10-10 机器人控制系统、机器人、程序以及机器人控制方法
CN201410531769.6A Pending CN104552292A (zh) 2013-10-10 2014-10-10 机器人控制系统、机器人、程序以及机器人控制方法
CN201510137542.8A Expired - Fee Related CN104802174B (zh) 2013-10-10 2014-10-10 机器人控制系统、机器人、程序以及机器人控制方法
CN201510137541.3A Expired - Fee Related CN104802166B (zh) 2013-10-10 2014-10-10 机器人控制系统、机器人、程序以及机器人控制方法

Family Applications Before (4)

Application Number Title Priority Date Filing Date
CN201510136619.XA Pending CN104959982A (zh) 2013-10-10 2014-10-10 机器人控制系统、机器人、程序以及机器人控制方法
CN201711203574.9A Pending CN108081268A (zh) 2013-10-10 2014-10-10 机器人控制系统、机器人、程序以及机器人控制方法
CN201410531769.6A Pending CN104552292A (zh) 2013-10-10 2014-10-10 机器人控制系统、机器人、程序以及机器人控制方法
CN201510137542.8A Expired - Fee Related CN104802174B (zh) 2013-10-10 2014-10-10 机器人控制系统、机器人、程序以及机器人控制方法

Country Status (1)

Country Link
CN (5) CN104959982A (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104959982A (zh) * 2013-10-10 2015-10-07 精工爱普生株式会社 机器人控制系统、机器人、程序以及机器人控制方法
CN104965489A (zh) * 2015-07-03 2015-10-07 昆山市佰奥自动化设备科技有限公司 基于机器人的ccd自动对位组装系统及方法
CN107921634B (zh) * 2015-08-25 2021-04-02 川崎重工业株式会社 机器人系统
WO2018008102A1 (ja) * 2016-07-06 2018-01-11 富士機械製造株式会社 撮像装置及び撮像システム
JP6490032B2 (ja) * 2016-08-10 2019-03-27 ファナック株式会社 組立ロボットのロボット制御装置
US11373286B2 (en) * 2016-11-07 2022-06-28 Nabtesco Corporation Status checking device for built-in object, operation checking device and method for checking built-in object
JP6833460B2 (ja) * 2016-11-08 2021-02-24 株式会社東芝 作業支援システム、作業方法、および処理装置
JP7314475B2 (ja) * 2016-11-11 2023-07-26 セイコーエプソン株式会社 ロボット制御装置、及び、ロボット制御方法
JP2018126799A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
KR101963643B1 (ko) * 2017-03-13 2019-04-01 한국과학기술연구원 식물의 표현형 분석을 위한 3d 영상 생성 방법 및 그 시스템
CN106926241A (zh) * 2017-03-20 2017-07-07 深圳市智能机器人研究院 一种基于视觉引导的双臂机器人装配方法及系统
EP3432099B1 (en) * 2017-07-20 2021-09-01 Siemens Aktiengesellschaft Method and system for detection of an abnormal state of a machine
JP6795471B2 (ja) * 2017-08-25 2020-12-02 ファナック株式会社 ロボットシステム
JP6963748B2 (ja) * 2017-11-24 2021-11-10 株式会社安川電機 ロボットシステム及びロボットシステムの制御方法
JP6873941B2 (ja) * 2018-03-02 2021-05-19 株式会社日立製作所 ロボット作業システム、及びロボット作業システムの制御方法
JP6845180B2 (ja) * 2018-04-16 2021-03-17 ファナック株式会社 制御装置及び制御システム
TWI681487B (zh) * 2018-10-02 2020-01-01 南韓商Komico有限公司 三維形狀影像取得系統
JP6904327B2 (ja) * 2018-11-30 2021-07-14 オムロン株式会社 制御装置、制御方法、及び制御プログラム
CN109571477B (zh) * 2018-12-17 2020-09-22 西安工程大学 一种改进的机器人视觉与传送带综合标定方法
CN109625118B (zh) * 2018-12-29 2020-09-01 深圳市优必选科技有限公司 双足机器人阻抗控制方法及装置
JP6892461B2 (ja) * 2019-02-05 2021-06-23 ファナック株式会社 機械制御装置
EP3696772A3 (en) * 2019-02-14 2020-09-09 Denso Wave Incorporated Device and method for analyzing state of manual work by worker, and work analysis program
CN113439013A (zh) * 2019-02-25 2021-09-24 国立大学法人东京大学 机器人系统,机器人的控制装置,以及机器人的控制程序
JP2020142323A (ja) * 2019-03-06 2020-09-10 オムロン株式会社 ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP6717401B1 (ja) * 2019-04-01 2020-07-01 株式会社安川電機 プログラミング支援装置、ロボットシステム及びプログラミング支援方法
CN110102490B (zh) * 2019-05-23 2021-06-01 北京阿丘机器人科技有限公司 基于视觉技术的流水线包裹分拣装置和电子设备
JP2021094677A (ja) * 2019-12-19 2021-06-24 本田技研工業株式会社 ロボット制御装置、ロボット制御方法、プログラム及び学習モデル
JP2021133470A (ja) * 2020-02-28 2021-09-13 セイコーエプソン株式会社 ロボットの制御方法およびロボットシステム
CN111482800B (zh) * 2020-04-15 2021-07-06 深圳市欧盛自动化有限公司 电芯顶桥组装设备
CN111761575B (zh) * 2020-06-01 2023-03-03 湖南视比特机器人有限公司 工件及其抓取方法和生产线
CN111993423A (zh) * 2020-08-17 2020-11-27 北京理工大学 一种模块化智能装配系统
CN112076947A (zh) * 2020-08-31 2020-12-15 博众精工科技股份有限公司 一种粘接组装设备
JP2022073192A (ja) * 2020-10-30 2022-05-17 セイコーエプソン株式会社 ロボットの制御方法
CN113305839B (zh) * 2021-05-26 2022-08-19 深圳市优必选科技股份有限公司 机器人的导纳控制方法、导纳控制系统和机器人
CN114310063B (zh) * 2022-01-28 2023-06-06 长春职业技术学院 一种基于六轴机器人的焊接优化方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608847A (en) * 1981-05-11 1997-03-04 Sensor Adaptive Machines, Inc. Vision target based assembly
DE3405909A1 (de) * 1984-02-18 1985-08-22 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Vorrichtung zur erfassung, messtechnischen analyse und/oder regelung von technischen verfahrensablaeufen
JPS62192807A (ja) * 1986-02-20 1987-08-24 Fujitsu Ltd ロボツト制御方式
JPH03220603A (ja) * 1990-01-26 1991-09-27 Citizen Watch Co Ltd ロボット制御方法
US6718233B2 (en) * 2002-03-29 2004-04-06 Nortel Networks, Ltd. Placement of an optical component on a substrate
JP3940998B2 (ja) * 2002-06-06 2007-07-04 株式会社安川電機 ロボット装置
WO2008047872A1 (fr) * 2006-10-20 2008-04-24 Hitachi, Ltd. Manipulateur
US8864652B2 (en) * 2008-06-27 2014-10-21 Intuitive Surgical Operations, Inc. Medical robotic system providing computer generated auxiliary views of a camera instrument for controlling the positioning and orienting of its tip
JP5239901B2 (ja) * 2009-01-27 2013-07-17 株式会社安川電機 ロボットシステムおよびロボットの制御方法
JP5509859B2 (ja) * 2010-01-13 2014-06-04 株式会社Ihi ロボット制御装置及び方法
JP4837116B2 (ja) * 2010-03-05 2011-12-14 ファナック株式会社 視覚センサを備えたロボットシステム
CN102059703A (zh) * 2010-11-22 2011-05-18 北京理工大学 基于自适应粒子滤波的机器人视觉伺服控制方法
WO2012081197A1 (ja) * 2010-12-17 2012-06-21 パナソニック株式会社 弾性体アクチュエータ駆動機構の制御装置及び制御方法、並びに、制御プログラム
WO2012153629A1 (ja) * 2011-05-12 2012-11-15 株式会社Ihi 運動予測制御装置と方法
JP2012254518A (ja) * 2011-05-16 2012-12-27 Seiko Epson Corp ロボット制御システム、ロボットシステム及びプログラム
JP5834545B2 (ja) * 2011-07-01 2015-12-24 セイコーエプソン株式会社 ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
CN102501252A (zh) * 2011-09-28 2012-06-20 三一重工股份有限公司 一种控制执行臂末端运动的方法及控制系统
JP6000579B2 (ja) * 2012-03-09 2016-09-28 キヤノン株式会社 情報処理装置、情報処理方法
CN104959982A (zh) * 2013-10-10 2015-10-07 精工爱普生株式会社 机器人控制系统、机器人、程序以及机器人控制方法

Also Published As

Publication number Publication date
CN104959982A (zh) 2015-10-07
CN104802174A (zh) 2015-07-29
CN104552292A (zh) 2015-04-29
CN104802166A (zh) 2015-07-29
CN104802174B (zh) 2016-09-07
CN108081268A (zh) 2018-05-29

Similar Documents

Publication Publication Date Title
CN104802166B (zh) 机器人控制系统、机器人、程序以及机器人控制方法
CN106873549B (zh) 模拟装置以及模拟方法
JP5852364B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP5743499B2 (ja) 画像生成装置、画像生成方法、およびプログラム
CN106873550B (zh) 模拟装置以及模拟方法
CN104057447B (zh) 机器人拾取系统以及被加工物的制造方法
US8874270B2 (en) Apparatus for taking out bulk stored articles by robot
Khalil et al. Dexterous robotic manipulation of deformable objects with multi-sensory feedback-a review
US7236854B2 (en) Method and a system for programming an industrial robot
EP1435280B1 (en) A method and a system for programming an industrial robot
Dallej et al. Modeling and vision-based control of large-dimension cable-driven parallel robots using a multiple-camera setup
EP2682710B1 (en) Apparatus and method for three-dimensional measurement and robot system comprising said apparatus
JP2018176334A (ja) 情報処理装置、計測装置、システム、干渉判定方法および物品の製造方法
CN110088797A (zh) 工业设备图像识别处理器及控制器
CN102135776A (zh) 基于视觉定位的工业机器人控制系统及其控制方法
JP2011112400A (ja) 3次元視覚センサ
Kohn et al. Towards a real-time environment reconstruction for VR-based teleoperation through model segmentation
CN109976258A (zh) 链接信息生成装置、链接信息生成方法以及记录介质
Dajles et al. Teleoperation of a humanoid robot using an optical motion capture system
CN113412178A (zh) 机器人控制装置、机器人系统以及机器人控制方法
Gosselin et al. Robot Companion, an intelligent interactive robot coworker for the Industry 5.0
CN114800524B (zh) 一种人机交互协作机器人主动避碰的系统及方法
Ferrini et al. Kinematically-consistent real-time 3D human body estimation for physical and social HRI
Freund et al. Projective Virtual Reality in space applications: A telerobotic ground station for a space mission
JP2024034668A (ja) ワイヤ挿入システム、ワイヤ挿入方法、およびワイヤ挿入プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160928

Termination date: 20201010