CN116323115A - 控制装置、机器人臂系统以及机器人臂装置的控制方法 - Google Patents
控制装置、机器人臂系统以及机器人臂装置的控制方法 Download PDFInfo
- Publication number
- CN116323115A CN116323115A CN202180068577.4A CN202180068577A CN116323115A CN 116323115 A CN116323115 A CN 116323115A CN 202180068577 A CN202180068577 A CN 202180068577A CN 116323115 A CN116323115 A CN 116323115A
- Authority
- CN
- China
- Prior art keywords
- robot arm
- target object
- coordinate system
- holding
- work
- 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.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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/1697—Vision controlled systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
- B25J13/089—Determining the position of the robot with reference to its environment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37555—Camera detects orientation, position workpiece, points of workpiece
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40609—Camera to monitor end effector as well as object to be handled
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45026—Circuit board, pcb
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30141—Printed circuit board [PCB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30164—Workpiece; Machine component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Manipulator (AREA)
Abstract
目标物设定器(16)对作业对象物中的至少一个的目标物的位置进行设定。特征点识别器(11)从通过拍摄装置(7)而获取的摄影图像、即包含作业对象物的至少一部分以及保持对象物的前端的摄影图像,检测作业对象物的特征点。第1位置计算器(12)基于作业对象物的特征点,计算拍摄装置(7)的坐标系中的目标物的位置。第2位置计算器(14)基于摄影图像,计算拍摄装置(7)的坐标系中的保持对象物的前端的位置。控制信号生成器(17)将拍摄装置(7)的坐标系中的目标物的位置以及保持对象物的前端的位置变换为机器人臂装置(4)的坐标系中的位置,将基于被变换的目标物的位置以及保持对象物的前端的位置来使保持对象物的前端向目标物的位置移动的控制信号输出到机器人臂装置(4)。
Description
技术领域
本公开涉及机器人臂装置的控制装置以及控制方法、及机器人臂系统。
背景技术
为了消除少子老龄化所导致的劳动者的不足,此外,为了抑制人工费,在各种领域中,通过使用机器人臂装置或者机器人手装置,以往人类所进行的作业被自动化。
例如,专利文献1公开了一种手术器具的动作方法,基于输入装置的操作,远程操作与各关节中具备位置检测器的机器人臂连结的手术器具。此外,专利文献2公开了一种机器人的控制装置,具备移动作业对象物的末端执行器。
现有技术文献
专利文献
专利文献1:国际公开第2018/150489号
专利文献2:日本特开2015-136764号公报
发明内容
-发明要解决的问题-
一般地,机器人臂装置参照以其主体或者基部等的非可动部分的位置以及姿态为基准的坐标系(以下,称为“机器人臂装置的坐标系”或者“机器人坐标系”),控制其臂以及手的位置以及移动。
但是,基于机器人臂装置的作业的作业对象物在机器人坐标系中不具有已知的位置。此外,作业对象物的位置在作业中可能变动。若作业对象物的位置未知,则不能使用机器人臂装置来准确地进行针对作业对象物的作业。因此,需要即使在作业对象物在机器人坐标系中不具有被固定的已知的位置的情况下,也使用机器人臂装置来准确地进行针对作业对象物的作业。
本公开的目的在于,提供一种机器人臂装置的控制装置以及控制方法,能够控制机器人臂装置,以使得即使在作业对象物在机器人坐标系中不具有被固定的已知的位置的情况下,也准确地进行针对作业对象物的作业。此外,本公开的目的在于,提供一种包含这样的控制装置以及机器人臂装置的机器人臂系统。
-解决问题的手段-
根据本公开的一方式,
一种控制装置,控制对保持对象物进行保持的机器人臂装置,具备:
目标物设定器,对作业对象物中的至少一个目标物的位置进行设定;
特征点识别器,从通过至少一个拍摄装置而获取到的摄影图像、即包含所述作业对象物的至少一部分以及所述保持对象物的前端的摄影图像,检测所述作业对象物的特征点;
第1位置计算器,基于所述作业对象物的特征点,计算所述拍摄装置的坐标系中的所述目标物的位置;
第2位置计算器,基于所述摄影图像,计算所述拍摄装置的坐标系中的所述保持对象物的前端的位置;和
控制信号生成器,将所述拍摄装置的坐标系中的所述目标物的位置以及所述保持对象物的前端的位置变换为所述机器人臂装置的坐标系中的位置,将基于被变换的所述目标物的位置以及所述保持对象物的前端的位置来使所述保持对象物的前端向所述目标物的位置移动的第1控制信号输出给所述机器人臂装置。
这些概括性并且特定的方式也可以通过系统、方法、计算机程序以及系统、方法以及计算机程序的任意的组合来实现。
-发明效果-
根据本公开的一方式,能够控制机器人臂装置,以使得即使在作业对象物在机器人坐标系中不具有被固定的已知的位置的情况下也准确地进行针对作业对象物的作业。
附图说明
图1是表示第1实施方式所涉及的机器人臂系统的结构的概略图。
图2是图1的电动驱动器5以及标记6的局部放大图。
图3是表示图1的电路基板8的立体图。
图4是表示图3的电路基板8中包含的特征点F的图。
图5是表示图1的控制装置1的结构的框图。
图6是表示通过图1的拍摄装置7而获取的示例性的摄影图像70的图。
图7是对图5的存储装置15中保存的特征点映射的映射点以及关键帧进行说明的图。
图8是表示图5的存储装置15中保存的示例性的特征点映射的图。
图9是表示通过图1的控制装置1而执行的机器人臂控制处理的流程图。
图10是表示图9的步骤S4(目标物位置计算处理)的子程序的流程图。
图11是对图10的步骤S13中执行的特征点的建立对应进行说明的图,(a)表示通过拍摄装置7获取的摄影图像70A,(b)表示从存储装置15读取的相似图像70B。
图12是对图10的步骤S15中执行的相机坐标系中的目标物的位置的计算进行说明的图。
图13是表示图9的步骤S6(保持对象物位置计算处理)的子程序的流程图。
图14是对图13的步骤S24中执行的相机坐标系中的保持对象物的前端的位置的计算进行说明的图。
图15是表示在图1的显示装置3显示的示例性的图像30的图。
图16是表示第2实施方式所涉及的机器人臂系统的结构的概略图。
图17是表示图16的控制装置1A的结构的框图。
图18是表示通过图16的控制装置1A执行的机器人臂控制处理的流程图。
图19是表示图18的步骤S4A(目标物位置计算处理)的子程序的流程图。
图20是对图19的步骤S35中执行的基于图像处理的目标物的识别进行说明的图。
图21是对图19的步骤S35中执行的基于用户输入的目标物的识别进行说明的图,是表示在图16的显示装置3显示的示例性的图像30A的图。
图22是表示第3实施方式所涉及的机器人臂系统的结构的概略图。
图23是表示图22的控制装置1B的结构的框图。
图24是表示通过图22的控制装置1B执行的机器人臂控制处理的流程图。
图25是表示图24的步骤S4B(位置计算处理)的子程序的流程图。
图26是表示在图22的显示装置3显示的示例性的图像30B的图。
图27是表示第4实施方式所涉及的机器人臂系统的结构的概略图。
图28是表示图27的电路基板8C的俯视图。
图29是表示图27的控制装置1 C的结构的框图。
图30是表示通过图29的位置计算器12C而执行的位置计算处理的流程图。
图31是对比较例所涉及的特征点映射的标尺的校正进行说明的图。
图32是表示图30的步骤S52(标尺校正处理)的子程序的流程图。
图33是对图32的步骤S63中执行的特征点的建立对应进行说明的图。
图34是对图32的步骤S67中执行的特征点映射的标尺的校正进行说明的图。
图35是表示第5实施方式所涉及的机器人臂系统的结构的概略图,是表示保持对象物处于第1位置时的状态的图。
图36是表示第5实施方式所涉及的机器人臂系统的结构的概略图,是表示保持对象物处于第2位置时的状态的图。
图37是表示第6实施方式所涉及的机器人臂系统的结构的概略图。
图38是表示图37的控制装置1E的结构的框图。
图39是表示图37的臂4b的前端的放大图。
图40是表示由图37的控制装置1E执行的机器人臂控制处理的流程图。
图41是表示第7实施方式所涉及的机器人臂系统的控制装置1F的结构的框图。
图42是表示在第7实施方式所涉及的机器人臂系统的显示装置3显示的示例性的图像30C的图。
图43表示图42的窗口35的详细,是表示保持对象物的前端相对于目标物处于第1距离时的雷达图36、37的图。
图44表示图42的窗口35的详细,是表示保持对象物的前端相对于目标物处于比第1距离短的第2距离时的雷达图36、37的图。
图45是表示在第7实施方式所涉及的机器人臂系统的显示装置3显示的代替的窗口35A的图。
图46是表示第7实施方式的第1变形例所涉及的机器人臂系统的结构的概略图。
图47是表示在图46的机器人臂系统的触摸面板装置3F显示的示例性的图像30D的图。
图48是表示第7实施方式的第2变形例所涉及的机器人臂系统的控制装置1G的结构的框图。
具体实施方式
以下,参照附图来说明本公开所涉及的实施方式。另外,在以下的各实施方式中,对同样的结构要素赋予相同的符号。
[第1实施方式]
以下,对第1实施方式所涉及的机器人臂系统进行说明。
如上述那样,基于机器人臂装置的作业的作业对象物在机器人坐标系不具有已知的位置。此外,在机器人臂装置为了向作业对象物的作业而保持任何保持对象物的情况下,保持对象物也在机器人坐标系不具有已知的位置。进一步地,作业对象物以及保持对象物的位置可能在作业中变动。例如,考虑机器人臂装置保持电动驱动器作为保持对象物、使用电动驱动器来向作为作业对象物的电路基板的螺钉孔插入螺钉来将电路基板相对于其他部件自动地紧固的情况。该情况下,电路基板并不局限于固定于作业台。此外,由机器人臂装置保持的电动驱动器的位置根据每次保持而变动。因此,电动驱动器以及电路基板在机器人坐标系不具有被固定的已知的位置。
若保持对象物或者作业对象物的位置未知,则不能使用由机器人臂装置保持的保持对象物来准确地进行针对作业对象物的作业。因此,谋求即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的位置的情况下,也使用由机器人臂装置保持的保持对象物来准确地进行针对作业对象物的作业。
在第1实施方式中,对机器人臂系统进行说明,该机器人臂系统能够控制机器人臂装置,以使得即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的位置的情况下,也使用保持对象物来准确地进行针对作业对象物的作业。
[第1实施方式的结构]
[整体结构]
图1是表示第1实施方式所涉及的机器人臂系统的结构的概略图。图1的机器人臂系统具备控制装置1、输入装置2、显示装置3、机器人臂装置4、电动驱动器5、标记6、拍摄装置7以及电路基板8。
机器人臂装置4在控制装置1的控制下,使由机器人臂装置4保持的保持对象物向作业对象物中的至少一个目标物的位置移动。在图1的例子中,电动驱动器5是由机器人臂装置4保持的保持对象物,电路基板8是通过机器人臂装置4使用电动驱动器5来执行的作业的作业对象物。在电路基板8中的至少一个螺钉孔82被设定为目标物时,机器人臂装置4使电动驱动器5的前端向螺钉孔82的位置移动,使用电动驱动器5来将螺钉插入到螺钉孔82,将电路基板8相对于其他部件紧固。
控制装置1基于通过拍摄装置7而获取的摄影图像,以及/或者,基于经由输入装置2而输入的用户输入,对保持电动驱动器5的机器人臂装置4进行控制。控制装置1例如是通用的个人计算机或者专用装置。
输入装置2包含键盘以及指示设备,获取用于控制机器人臂装置4的用户输入。
显示装置3显示由拍摄装置7获取的摄影图像、机器人臂装置4的状态、与机器人臂装置4的控制相关的信息等。
输入装置2也可以构成为与显示装置3一体化的触摸面板。
机器人臂装置4具备主体4a、臂4b以及手4c。主体4a被固定于地面(或者壁面或天花板等)。手4c经由臂4b而与主体4a连结。此外,手4c保持任意的物品、图1的例子中保持电动驱动器5。臂4b具备多个连杆以及多个关节,各连杆经由关节可转动地连结。由此,机器人臂装置4能够在主体4a的周围的规定范围内,使电动驱动器5移动。
电动驱动器5如上述那样,被机器人臂装置4的手4c保持。
标记6固定于电动驱动器5的已知的位置。另外,标记6被固定于电动驱动器5,以使得机器人臂装置4保持电动驱动器5时拍摄装置7能够拍摄标记6。标记6例如增强现实的领域中使用的标记(也称为“AR标记”)那样,具有形成为能够计算从拍摄装置7来看的标记6的方向以及距离的图案。
图2是图1的电动驱动器5以及标记6的局部放大图。标记6如所述那样,具有形成为能够计算从拍摄装置7来看的标记6的方向以及距离的图案。电动驱动器5的前端5a相对于标记6的规定的位置(例如中心)具有已知的偏移。该偏移通过向量toffset来表示。因此,电动驱动器5的前端5a相对于标记6的相对位置(即,朝向以及距离)已知,若已知标记6的位置,则能够计算电动驱动器5的前端5a的位置(即,朝向以及距离)。电动驱动器5在其前端5a,与电路基板8接触。
拍摄装置7对包含电动驱动器5的前端5a以及电路基板8的至少一部分的摄影图像进行获取。拍摄装置7也可以是不具有对从该拍摄装置7到由该拍摄装置7摄影的各点的距离进行检测的功能的单眼相机等。此外,拍摄装置7也可以是对从该拍摄装置7到由该拍摄装置7摄影的各点的距离进行检测的立体相机或者RGB-D相机等。拍摄装置7可以按照每个规定时间对静止图像进行摄影,可以从动态图像的一连串的帧按照每个规定时间提取帧。拍摄装置7对各图像赋予对该图像进行摄影的时刻的时间戳。
拍摄装置7可以被固定于机器人臂装置4,以使得在机器人臂装置4保持电动驱动器5时拍摄装置7相对于电动驱动器5的相对位置固定,并且拍摄装置7能够对电动驱动器5的前端5a进行摄影。该情况下,拍摄装置7被固定于臂4b的多个连杆之中与手4c所连结的连杆相同的连杆。由此,在拍摄装置7以及手4c之间不存在臂4b的关节等的可动部,因此,在机器人臂装置4保持电动驱动器5时,拍摄装置7相对于电动驱动器5的相对位置固定。此外,如果在机器人臂装置4保持电动驱动器5时拍摄装置7能够对电动驱动器5的前端5a以及标记6进行摄影,则拍摄装置7也可以固定于机器人臂装置4,以使得拍摄装置7相对于电动驱动器5的相对位置变化。
图3是表示图1的电路基板8的立体图。电路基板8具备印刷布线基板80、多个电路元件81、多个螺钉孔82-1~82-4(也总称为“螺钉孔82”)。在本公开的各实施方式中,螺钉孔82-1~82-4之中的至少一个被设定为目标物。
图4是表示图3的电路基板8中包含的特征点F的图。特征点F是亮度值或者颜色能够与周围的像素区别、能够准确地决定其位置的点。特征点F例如从印刷布线基板80、电路元件81以及螺钉孔82等的构造物的顶点或者边缘检测。
电路基板8被配置于作业台或者输送带等(未图示)的上方。
为了说明图1的机器人臂系统的动作,参照多个坐标系、即机器人臂装置4的坐标系、拍摄装置7的坐标系、电动驱动器5的坐标系、电路基板8的坐标系以及螺钉孔82的坐标系。
如图1所示,机器人臂装置4具有以其主体4a或者基部等的非可动部分的位置以及姿态为基准的三维的坐标系(“机器人臂装置的坐标系”或者“机器人坐标系”)。机器人坐标系具有坐标轴Xr、Yr、Zr。例如,机器人坐标系的原点被设置于机器人臂装置4的主体4a的底面的中心,机器人坐标系的朝向被设定为:其坐标轴之中的2个坐标轴与地面平行,并且剩余的一个坐标轴与地面垂直。
此外,如图1所示,拍摄装置7具有以该拍摄装置7的位置以及姿态为基准的三维的坐标系{以下,称为“拍摄装置的坐标系”或者“相机坐标系”)。相机坐标系具有坐标轴Xc、Yc、Zc。例如,相机坐标系的原点被设置于拍摄装置7的光轴上,相机坐标系的朝向被设定为:其坐标轴之中的一个坐标轴与光轴一致,并且剩余的2个坐标轴与光轴垂直。另外,相机坐标系中的位置表示从拍摄装置7来看时的位置。
如图2所示,电动驱动器5具有以该电动驱动器5的位置以及姿态为基准的三维的坐标系{以下,称为“保持对象物坐标系”)。保持对象物坐标系具有坐标轴Xt、Yt、Zt。例如,保持对象物坐标系的原点被设置于电动驱动器5的中心,保持对象物坐标系的朝向被设定为:其坐标轴之中的一个坐标轴与电动驱动器5的前端5a的旋转轴一致,并且剩余的2个坐标轴与旋转轴垂直。此外,保持对象物坐标系的原点也可以被设置于电动驱动器5的前端5a。
此外,如图1以及图3所示,电路基板8具有以该电路基板8的位置以及姿态为基准的三维的坐标系{以下,称为“作业对象物坐标系”)。作业对象物坐标系具有坐标轴Xb、Yb、Zb。例如,作业对象物坐标系的原点被设置于生成后述的电路基板8的特征点映射时与最初获取的关键帧建立关联的拍摄装置7的光轴上,作业对象物坐标系的朝向被设定为:其坐标轴之中的一个坐标轴与和相同的关键帧建立关联的拍摄装置7的光轴一致,并且剩余的2个坐标轴与光轴垂直。作业对象物坐标系的朝向可以基于电路基板8的设计数据而被设定,例如可以设定为其坐标轴与电路基板8的边平行或者垂直。
此外,如图3所示,被设定为目标物的螺钉孔82具有以该螺钉孔82的位置以及朝向为基准的三维的坐标系{以下,称为“目标物坐标系”)。图3表示螺钉孔82-2被设定为目标物的情况。目标物坐标系具有坐标轴Xh、Yh、Zh。例如,目标物坐标系的原点被设置于螺钉孔82-2的中心,目标物坐标系的朝向被设定为:其坐标轴之中的2个坐标轴与电路基板8的面平行,并且剩余的一个坐标轴与电路基板8的面垂直。
图1~图3所示的机器人坐标系、相机坐标系、保持对象物坐标系、作业对象物坐标系以及目标物坐标系的原点的位置以及各坐标轴的朝向仅仅是示例,这些坐标系可以具有不同的原点的位置以及/或者不同的坐标轴的朝向。
相机坐标系中的电动驱动器5的位置每当机器人臂装置4保持电动驱动器5而变化,因此电动驱动器5在相机坐标系中不具有已知的位置。
[控制装置的结构]
图5是表示图1的控制装置1的结构的框图。控制装置1具备特征点识别器11、位置计算器12、标记识别器13、位置计算器14、存储装置15、目标物设定器16、控制信号生成器17以及图像生成器18。
控制装置1获取通过拍摄装置7而获取的摄影图像,即包含电动驱动器5的前端5a以及电路基板8的至少一部分的摄影图像。
特征点识别器11从通过拍摄装置7而获取的摄影图像、即包含电路基板8的至少一部分以及电动驱动器5的前端5a的摄影图像,检测电路基板8的特征点。此外,特征点识别器11例如使用SIFT(Scale Invariant Feature Transform,尺度不变特征变换)或者ORB(Oriented FAST and Rotated BRIEF,定向FAST和旋转BRIEF),提取对应的特征量。
图6是表示通过图1的拍摄装置7而获取的示例性的摄影图像70的图。在图6的例子中,摄影图像70包含电路基板8以及电动驱动器5的前端5a。图6为了说明,进一步表示通过特征点识别器11检测的电路基板8的特征点F。
存储装置15预先保存与电路基板8中包含的多个特征点有关的包含映射点(mappoint)以及关键帧(key frame)的特征点映射。映射点包含作业对象物坐标系中的电路基板8的各特征点的位置(三维坐标)、各特征点的特征量以及各特征点的识别符。映射点是基于从相互不同的多个位置分别摄影电路基板8的多个摄影图像而生成的。关键帧表示为了生成映射点而从相互不同的多个位置分别摄影电路基板8时的拍摄装置7的状态以及摄影图像。即,关键帧包含:作业对象物坐标系中的拍摄装置7的位置(三维坐标)以及姿态、摄影图像中的各特征点的位置(二维坐标)以及特征量、摄影图像中的各特征点所对应的映射点的识别符。
图7是对图5的存储装置15中保存的特征点映射的映射点以及关键帧进行说明的图。在图7的例子中,示意性地表示具有特征点F1~F4的电路基板8。该情况下,映射点包含作业对象物坐标系中的电路基板8的各特征点F1~F4的位置、各特征点的特征量以及各特征点的识别符。关键帧K1表示从第1位置摄影电路基板8时的拍摄装置7的状态(表示为拍摄装置7’)以及摄影图像。拍摄装置7’的摄影图像包含与电路基板8的特征点F1~F4分别对应的特征点F1’~F4’。即,关键帧K1包含作业对象物坐标系中的拍摄装置7’的位置以及姿态、摄影图像中的各特征点F1’~F4’的位置以及特征量、摄影图像中的各特征点F1’~F4’所对应的映射点的识别符。此外,关键帧K2表示从第2位置摄影电路基板8时的拍摄装置7的状态(表示为拍摄装置7”)以及摄影图像。拍摄装置7”的摄影图像包含与电路基板8的特征点F1~F4分别对应的特征点F1”~F4”。即,关键帧K2包含作业对象物坐标系中的拍摄装置7”的位置以及姿态、摄影图像中的各特征点F1”~F4”的位置以及特征量、摄影图像中的各特征点F1”~F4”所对应的映射点的识别符。
存储装置15也可以将为了生成映射点而拍摄的摄影图像本身与各关键帧建立关联并保存。
特征点映射基于从相互不同的多个位置分别摄影电路基板8的多个摄影图像,例如使用Visual-SLAM(Visual Simultaneous Localization and Mapping)而生成。通过Visual-SLAM,映射点的位置如以下那样计算。
(1)从通过具有规定的位置以及姿态的拍摄装置7获取的摄影图像检测电路基板8的特征点。以具有已知的三维坐标的点为基准,计算表示对被检测的特征点进行摄影时的拍摄装置7的位置以及姿态的平移向量T1以及旋转矩阵R1。
(2)使拍摄装置7移动,从通过具有不同的位置以及姿态的拍摄装置7而获取的摄影图像检测电路基板8的特征点。以具有已知的三维坐标的点为基准,计算表示对被检测的特征点进行摄影时的拍摄装置7的位置以及姿态的平移向量T2以及旋转矩阵R2。
(3)计算拍摄装置7的移动前获取的摄影图像以及移动后获取的摄影图像这两者中包含的特征点所对应的映射点的三维坐标。
(4)使拍摄装置7移动,进一步从通过具有不同的位置以及姿态的拍摄装置7而获取的摄影图像检测电路基板8的特征点。以具有已知的三维坐标的点为基准,计算表示对被检测的特征点进行摄影时的拍摄装置7的位置以及姿态的平移向量T3以及旋转矩阵R3。以后,反复步骤(3)~(4)。
特征点映射的标尺、即作业对象物坐标系中的电路基板8的各特征点间的距离例如可以基于电路基板8的设计数据来校正。此外,特征点映射的标尺也可以通过预先生成特征点映射时,对从拍摄装置到摄影的各点的距离进行检测(参照第2以及第3实施方式)来进行校正。此外,特征点映射的标尺也可以通过在预先生成特征点映射时,对在电路基板8的已知的位置固定的至少一个标记进行检测(参照第4实施方式)来进行校正。
为了生成特征点映射,也可以取代Visual-SLAM而使用例如SfM(structure frommotion)等其他图像处理以及测位的技术。
图8是表示图5的存储装置15中保存的示例性的特征点映射的图。图8是将多个特征点F与多个关键帧K所涉及的拍摄装置7的位置以及姿态三维地标绘的立体图。假定在机器人臂装置4的动作时,拍摄装置7以各种位置以及姿态对电路基板8进行摄影,特征点映射包含多个关键帧K。
目标物设定器16将电路基板8中的至少一个螺钉孔82的位置设定为目标物的位置。目标物设定器16例如基于经由输入装置2而获取的用户输入,选择存储装置15中保存的多个映射点之中的至少一个,从而设定目标物。目标物设定器16电可以将设定的目标物保存于存储装置15。
位置计算器12基于通过特征点识别器11而检测的电路基板8的特征点,此外,参照从存储装置15读取的特征点映射,计算相机坐标系中的螺钉孔82的位置以及朝向。螺钉孔82的朝向例如通过穿过螺钉孔82并且与电路基板8的面垂直的轴的朝向来表示。
标记识别器13从摄影图像,检测在电动驱动器5的已知的位置固定的标记6。
位置计算器14基于通过标记识别器13而识别的标记6的图像,计算相机坐标系中的电动驱动器5的朝向,计算相机坐标系中的电动驱动器5的前端5a的位置。电动驱动器5的朝向例如通过电动驱动器5的前端5a的旋转轴的朝向来表示。
控制信号生成器17将通过位置计算器12而计算的相机坐标系中的螺钉孔82的位置以及朝向变换为机器人坐标系中的位置以及朝向。此外,控制信号生成器17将通过位置计算器14而计算的相机坐标系中的电动驱动器5的朝向以及电动驱动器5的前端5a的位置变换为机器人坐标系中的朝向以及位置。机器人臂装置4在控制装置1的控制下进行动作,并且,拍摄装置7被固定于机器人臂装置4的臂4b,因此拍摄装置7在机器人坐标系中具有已知的位置以及姿态。因此,控制信号生成器17能够基于拍摄装置7的位置以及姿态,变换螺钉孔82以及电动驱动器5的坐标。此外,控制信号生成器17基于被变换的螺钉孔82的位置以及朝向、电动驱动器5的朝向、以及电动驱动器5的前端5a的位置,将使电动驱动器5的前端向螺钉孔82的位置移动的控制信号输出到机器人臂装置4。由此,控制装置1自动地控制机器人臂装置4。
机器人臂装置4根据来自控制装置1的控制信号,使电动驱动器5的前端5a向螺钉孔82移动,以使得电动驱动器5相对于螺钉孔82具有预先决定的角度。在此,机器人臂装置4例如使电动驱动器5的前端5a向螺钉孔82移动,以使得电动驱动器5的朝向与螺钉孔82的朝向一致。
图像生成器18将摄影图像输出到显示装置3。此外,图像生成器18也可以将电路基板8的特征点、螺钉孔82的位置以及电动驱动器5的前端5a的位置与摄影图像重叠并输出到显示装置3。
控制装置1的各结构要素11~18之中的至少一部分也可以被一体化。控制装置1的各结构要素11~14、16~18可以作为专用电路而被安装,也可以作为被通用的处理器执行的程序而被安装。
[第1实施方式的动作]
图9是表示由图1的控制装置1执行的机器人臂控制处理的流程图。
目标物设定器16将电路基板8中的至少一个螺钉孔82设定为目标物(步骤S1)。
控制装置1从拍摄装置7获取摄影图像(步骤S2)。
特征点识别器11从摄影图像检测电路基板8的特征点,获取它们的位置以及特征量(步骤S3)。
位置计算器12执行目标物位置计算处理,计算相机坐标系中的螺钉孔82的位置以及朝向(步骤S4)。
标记识别器13从摄影图像检测标记6的图像(步骤S5)。
位置计算器14执行保持对象物位置计算处理,计算相机坐标系中的电动驱动器5的朝向以及电动驱动器5的前端5a的位置(步骤S6)。
步骤S3~S6可以如图9所示那样并列执行,也可以依次执行。
控制信号生成器17将相机坐标系中的螺钉孔82的位置以及朝向、电动驱动器5的朝向以及电动驱动器5的前端5a的位置变换为机器人坐标系中的位置以及朝向(步骤S7)。
从相机坐标系中的位置(xc,yc,zc)向机器人坐标系中的位置(xr,yr,zr)的坐标变换例如同时使用坐标变换矩阵,如下式那样表示。
[式1]
在此,Rcr是表示以相机坐标系的朝向为基准的机器人坐标系的朝向的矩阵,tcr是表示相机坐标系中的机器人坐标系的原点的位置的向量。矩阵Rcr能够分解为分别表示X轴、Y轴以及Z轴的周围的各旋转角度α、β、γ的矩阵Rα、Rβ、Rγ。
[式2]
Rcr=RαRβRγ (2)
[式3]
[式4]
[式5]
矩阵Rcr以及向量tcr能够从机器人臂装置4的设计数据以及当前的状态(即,控制信号的内容)获取。
控制信号生成器17输出使电动驱动器5的前端5a向螺钉孔82的位置移动的控制信号,以使得电动驱动器5相对于螺钉孔82具有预先确定的角度(例如,电动驱动器5的朝向与螺钉孔82的朝向一致)(步骤S8)。
控制装置1也可以使电动驱动器5的前端5a向螺钉孔82的位置移动的同时反复步骤S2~S8。
在电路基板8中的多个螺钉孔82被设定为目标物的情况下,控制信号生成器17判断是否处理了全部目标物(步骤S9),在是时结束处理,在否时进入步骤S10。
控制信号生成器17输出使电动驱动器5的前端5a向下个螺钉孔82的方向移动的控制信号(步骤S10)。以后,控制装置1反复步骤S2~S10。
图10是表示图9的步骤S4(目标物位置计算处理)的子程序的流程图。
位置计算器12从特征点识别器11,获取摄影图像、特征点以及特征量(步骤S1 1)。
位置计算器12从存储装置15中保存的特征点映射的关键帧,检索摄影图像的相似图像(步骤S12)。在此,位置计算器12也可以基于由拍摄装置7获取的摄影图像的特征点的位置以及特征量,从存储装置15,读取包含具有相似的位置以及特征量的特征点的关键帧,作为相似图像。在存储装置15保存有为了生成映射点而摄影的摄影图像本身的情况下,位置计算器12也可以基于由拍摄装置7获取的摄影图像,从存储装置15,读取与相似的摄影图像建立关联的关键帧,作为相似图像。
为了计算图像的相似度,位置计算器12例如也可以使用BoVW(Bag of VisualWords)。BoVW是将图像的局部特征量在n维空间上簇化,并通过“每个簇的特征量的出现次数”来表示图像的特征的特征向量。图像的局部特征量是分布不会由于旋转、放大以及缩小而变换的特征向量。换句话说,特征量的分布的形态相似的图像被预料为是特征点的配置相似的图像。通过使用按照每个图像计算的BoVW来得到图像的相似度,能够基于被摄影的物体的特征来检索图像。
位置计算器12将摄影图像的特征点与相似图像的特征点建立对应(映射)(步骤S13)。为了将特征点建立对应,位置计算器12例如也可以使用ORB特征量。该情况下,位置计算器12计算摄影图像中的某个特征点的ORB特征量,计算相似图像中的全特征点的ORB特征量,计算摄影图像所涉及的ORB特征量与相似图像所涉及的各ORB特征量的距离(例如,特征向量间的汉明距离)。位置计算器12将该距离最小的特征量所对应的特征点的对相互建立对应。
图11是对图10的步骤S13中执行的特征点的建立对应进行说明的图,(a)表示通过拍摄装置7而获取的摄影图像70A,(b)表示从存储装置15读取的相似图像70B。相似图像70B可以仅包含特征点F(或者,特征点F以及特征量),也可以包含为了生成映射点而摄影的摄影图像。
位置计算器12对作业对象物坐标系中的拍摄装置7的位置以及姿态进行计算(步骤S14)。因此,位置计算器12例如基于摄影图像中包含的n个特征点的位置(二维坐标)、相似图像中包含的n个特征点所对应的映射点的n个特征点的位置(三维坐标),解决PnP(perspective n point:n点透视)问题。
位置计算器12基于作业对象物坐标系中的拍摄装置7的位置以及姿态,计算相机坐标系中的螺钉孔82的位置以及朝向(步骤S15)。
图12是对图10的步骤S15中执行的相机坐标系中的目标物的位置以及朝向的计算进行说明的图。图12与图8同样地,表示示例性的特征点映射,是将多个特征点F和关键帧K所涉及的拍摄装置7的位置以及姿态三维地标绘的立体图。此外,图12表示作业对象物坐标系的原点Ob以及坐标轴Xb、Yb、Zb、相机坐标系的原点Oc以及坐标轴Xc、Yc、Zc。螺钉孔82的朝向通过穿过螺钉孔82并且与电路基板8的面垂直的轴A的朝向来表示。向量tbh表示作业对象物坐标系中的螺钉孔82的位置。由于螺钉孔82的位置通过目标物设定器16而被设定,因此向量tbh已知。向量tbc以及矩阵Rbc(未图示)分别表示作业对象物坐标系中的拍摄装置7的位置以及姿态。由于作业对象物坐标系中的拍摄装置7的位置以及姿态能够在图10的步骤S13中通过将特征点建立对应来计算,因此向量tbc以及矩阵Rbc已知。向量tch表示相机坐标系中的螺钉孔82的位置。向量tch未知,但通过tch=Rbc-1(tbh-tbc)来计算。
在步骤S13中,在摄影图像不包含被设定为目标物的螺钉孔82所对应的特征点的情况下,位置计算器12结束步骤S4。接下来,控制信号生成器17输出使电动驱动器5向其他位置移动的控制信号,由此,通过拍摄装置7来对电路基板8的其他部分进行摄影。然后,处理返回到步骤S2。
图13是表示图9的步骤S6(保持对象物位置计算处理)的子程序的流程图。
位置计算器14从标记识别器13,获取被检测的标记6的图像(步骤S21)。
位置计算器14基于标记6的图像,计算相机坐标系中的标记6的位置以及姿态(步骤S22)。
位置计算器14基于标记6的位置以及姿态,计算相机坐标系中的电动驱动器5的朝向(步骤S23)。
位置计算器14基于标记6与电动驱动器5的前端5a之间的已知的偏移toffset,计算相机坐标系中的电动驱动器5的前端5a的位置(步骤S24)。
图14是对图13的步骤S24中执行的、相机坐标系中的保持对象物的前端5a的位置的计算进行说明的图。图14也与图12同样地,表示示例性的特征点映射。电动驱动器5的朝向通过电动驱动器5的前端5a的旋转轴B的朝向来表示。向量tcm表示相机坐标系中的标记6的位置(例如,标记6的中心的位置)。相机坐标系中的标记6的位置是在步骤S22中计算的,因此向量tcm已知。如所述那样,向量toffset表示电动驱动器5的前端5a的位置相对于标记6的位置的已知的偏移。向量tcd表示相机坐标系中的电动驱动器5的前端5a的位置。向量tcd未知,但通过tcd=tcm+tof来计算。
机器人臂装置4使电动驱动器5的前端5a向螺钉孔82的位置移动,以使得电动驱动器5的旋转轴B与螺钉孔82的轴A一致。
图15是表示在图1的显示装置3显示的示例性的图像30的图。显示图像30包含摄影图像、电路基板8的特征点F、表示被识别的目标物的框31、表示被识别的保持对象物的前端的框32。图15的例子表示螺钉孔82-2被设定为目标物的情况。因此,框31显示于螺钉孔82-2的位置。此外,框32显示于电动驱动器5的前端5a的位置。根据第1实施方式,即使在电动驱动器5以及电路基板8在机器人坐标系中不具有被固定的已知的位置的情况下,通过基于摄影图像来计算机器人坐标系中的位置以及朝向,也能够控制机器人臂装置4,以使得使用电动驱动器5来准确地进行针对电路基板8的作业。根据第1实施方式,即使电动驱动器5以及电路基板8的至少一者移动,也能够控制机器人臂装置4,以使得追随其位置以及朝向的变化,并使用电动驱动器5来准确地进行针对电路基板8的作业。
[第1实施方式的效果等]
根据第1实施方式,控制对保持对象物进行保持的机器人臂装置4的控制装置1具备:目标物设定器16、特征点识别器11、第1位置计算器12、第2位置计算器14以及控制信号生成器17。目标物设定器16设定作业对象物中的至少一个目标物的位置。特征点识别器11从通过至少一个拍摄装置7而获取的摄影图像、即包含作业对象物的至少一部分以及保持对象物的前端的摄影图像,检测作业对象物的特征点。第1位置计算器12基于作业对象物的特征点,计算拍摄装置7的坐标系中的目标物的位置。第2位置计算器14基于摄影图像,计算拍摄装置7的坐标系中的保持对象物的前端的位置。控制信号生成器17将拍摄装置7的坐标系中的目标物的位置以及保持对象物的前端的位置变换为机器人臂装置4的坐标系中的位置,将基于变换的目标物的位置以及保持对象物的前端的位置来使保持对象物的前端向目标物的位置移动的第1控制信号输出给机器人臂装置4。
由此,即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的位置的情况下,也能够控制机器人臂装置4以使得使用保持对象物来准确地进行针对作业对象物的作业。例如,即使在作业中机器人臂装置4或者保持对象物的一部分与作业对象物碰撞、发生了作业对象物从机器人坐标系中被固定的作业台偏离的“作业对象物的偏离”的情况下,也能够准确地进行作业。此外,即使在发生由于反复作业而机器人臂装置4的前端的坐标的预测值从实际的值偏离的“控制偏离”的情况下,也能够准确地进行作业。
根据第1实施方式,第1位置计算器12可以进一步基于作业对象物的特征点,计算拍摄装置7的坐标系中的目标物的朝向。第2位置计算器14也可以进一步基于摄影图像,计算拍摄装置7的坐标系中的保持对象物的朝向。该情况下,控制信号生成器17将拍摄装置7的坐标系中的目标物的朝向以及保持对象物的朝向变换为机器人臂装置4的坐标系中的朝向。第1控制信号还包含基于被变换的目标物的朝向以及保持对象物的朝向的角度信息。
由此,即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的朝向的情况下,也能够控制机器人臂装置4以使得使用保持对象物来准确地进行针对作业对象物的作业。
根据第1实施方式,控制装置1也可以还具备从摄影图像检测在保持对象物的已知的位置固定的第1标记6的第1标记识别器13。该情况下,第1标记6具有形成为能够计算拍摄装置7的坐标系中的第1标记6的位置的图案。第2位置计算器14基于第1标记6来计算保持对象物的前端的位置。
由此,能够基于第1标记6的图像,计算拍摄装置7的坐标系中的保持对象物的前端的位置。
根据第1实施方式,控制装置1也可以还具备:存储装置15,对包含作业对象物中包含的多个特征点的三维坐标、从相互不同的多个位置分别摄影作业对象物而得到的多个摄影图像中的各特征点的二维坐标的特征点映射预先进行保存。该情况下,第1位置计算器12参照特征点映射来计算目标物的位置。
由此,能够参照存储装置15中预先保存的特征点映射,计算拍摄装置7的坐标系中的目标物的位置。
根据第1实施方式,拍摄装置7也可以被固定于机器人臂装置4,以使得在机器人臂装置4对保持对象物进行保持时拍摄装置7能够摄影保持对象物的前端。
由此,拍摄装置7能够追随保持对象物的移动。
根据第1实施方式,机器人臂系统具备机器人臂装置4、至少一个拍摄装置7、控制装置1。
由此,即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的位置的情况下,也能够控制机器人臂装置4,以使得使用保持对象物来准确地进行针对作业对象物的作业。
根据第1实施方式,可提供一种控制对保持对象物进行保持的机器人臂装置4的控制方法。本方法包含对作业对象物中的至少一个目标物的位置进行设定的步骤。本方法还包含:从通过至少一个拍摄装置7而获取的摄影图像、即包含作业对象物的至少一部分以及保持对象物的前端的摄影图像,检测作业对象物的特征点的步骤。本方法还包含:基于作业对象物的特征点,计算拍摄装置7的坐标系中的目标物的位置的步骤。本方法还包含:基于摄影图像,计算拍摄装置7的坐标系中的保持对象物的前端的位置的步骤。本方法还包含:将拍摄装置7的坐标系中的目标物的位置以及保持对象物的前端的位置变换为机器人臂装置4的坐标系中的位置,将基于被变换的目标物的位置以及保持对象物的前端的位置来使保持对象物的前端向目标物的位置移动的控制信号输出给机器人臂装置4的步骤。
由此,即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的位置的情况下,也能够控制机器人臂装置4以使得使用保持对象物来准确地进行针对作业对象物的作业。
[第2实施方式]
接下来,对第2实施方式所涉及的机器人臂系统进行说明。在第1实施方式中,参照存储装置中预先保存的作业对象物的特征点映射来计算目标物的位置。另一方面,在第2实施方式中,对初始状态下作业对象物的特征点映射未知的情况进行说明。
[第2实施方式的结构]
[整体结构]
图16是表示第2实施方式所涉及的机器人臂系统的结构的概略图。图16的机器人臂系统取代图1的控制装置1以及拍摄装置7而具备控制装置1A以及拍摄装置7A。
控制装置1A在初始状态下在内部不保存电路基板8的特征点映射,此外,取代图9的机器人臂控制处理,而执行图18的机器人臂控制处理(后述)。
拍摄装置7A除了获取包含电动驱动器5的前端5a以及电路基板8的至少一部分的摄影图像,还检测从该拍摄装置7A到由该拍摄装置7A摄影的各点的距离。拍摄装置7A例如是立体相机或者RGB-D相机等。
图16的机器人臂系统的其他结构要素与图1的机器人臂系统的对应的结构要素同样地构成。
[控制装置的结构]
图17是表示图16的控制装置1A的结构的框图。控制装置1A取代图5的位置计算器12以及目标物设定器16,具备位置计算器12A以及目标物设定器16A。
位置计算器12A基于通过拍摄装置7A而获取的摄影图像以及距离,生成电路基板8的特征点映射。位置计算器12A将生成的特征点映射保存于存储装置15。位置计算器12A基于由特征点识别器11检测的电路基板8的特征点,还参照生成的特征点映射,计算相机坐标系中的螺钉孔82的位置以及朝向。
目标物设定器16A将电路基板8中的至少一个螺钉孔82设定为目标物。但是,由于在初始状态下电路基板8的特征点映射未知,因此目标物设定器16A可以例如通过图像处理来识别并设定电路基板8中的螺钉孔82的位置,或者电可以基于经由输入装置2而获取的用户输入来设定。
图17的控制装置1A的其他结构要素与图5的控制装置1的对应的结构要素同样地构成。
[第2实施方式的动作]
图18是表示由图16的控制装置1A执行的机器人臂控制处理的流程图。图18的处理删除图9的步骤S1,取代图9的步骤S4而包含步骤S4A。
图19是表示图18的步骤S4A(目标物位置计算处理)的子程序的流程图。
位置计算器12A从特征点识别器11,获取遍及连续的多个的、至少2个图像帧的摄影图像、特征点以及特征量。位置计算器12A除了摄影图像,还获取从拍摄装置7A到由拍摄装置7A摄影的各点的距离(步骤S31)。
位置计算器12A遍及连续的多个图像帧而将特征点建立对应(步骤S32)。
位置计算器12A以各特征点的位置为基准来计算拍摄装置7A的位置以及姿态(步骤S33)。
位置计算器12A基于各特征点的位置来生成特征点映射(步骤S34)。特征点映射的标尺是基于从拍摄装置7A到通过拍摄装置7A而摄影的各点的距离来校正的。
步骤S32~S34的处理实质与所述的Visual-SLAM等价。
位置计算器12A对图像中的螺钉孔82进行识别(步骤S35)。
图20是对图19的步骤S35中执行的基于图像处理的目标物的识别进行说明的图。在螺钉孔82等所希望的目标物的周围,多个特征点F具有已知的位置关系并被检测。因此,目标物设定器16A可以通过模板映射或者深度学习等的图像处理来识别并设定作业对象物中的目标物的位置。位置计算器12A在图像中,计算通过目标物设定器16A而设定的目标物的位置以及朝向。
图21是对图19的步骤S35中执行的基于用户输入的目标物的识别进行说明的图,是表示在图16的显示装置3显示的示例性的图像30A的图。在位置计算器12A将螺钉孔82-2识别为目标物的候补时,图像生成器18可以将包含表示目标物的候补的框33在内的图像30A输出到显示装置3。图像30A还包含光标34。用户通过使用输入装置2来操作光标34从而选择框33,能够将螺钉孔82-2设定为实际的目标物。目标物设定器16A基于经由输入装置2而获取的用户输入,设定作业对象物中的目标物的位置。位置计算器12A在图像中,计算通过目标物设定器16A而设定的目标物的位置以及朝向。
再次参照图19,位置计算器12A将识别的目标物、即螺钉孔82的周边的特征点的位置作为目标物的位置来保存于存储装置15(步骤S35)。
位置计算器12A基于作业对象物坐标系中的拍摄装置7A的位置以及姿态,计算相机坐标系中的螺钉孔82的位置以及朝向(步骤S37)。
根据第2实施方式,即使在初始状态下作业对象物的特征点映射未知,也能够基于通过拍摄装置7A而获取的摄影图像来生成作业对象物的特征点映射,参照生成的特征点映射来计算目标物的位置。
此外,根据第2实施方式,若一旦生成特征点映射并保存于存储装置15,则能够对与生成特征点映射时相同的类型的电路基板8,再次利用特征点映射。因此,若一旦生成特征点映射并保存于存储装置15,则之后控制装置1A能够参照存储装置15中保存的特征点映射,与第1实施方式同样地进行动作(即,能够执行图9的机器人臂控制处理)。
[第2实施方式的效果等]
根据第2实施方式,控制对保持对象物进行保持的机器人臂装置4的控制装置1A具备:目标物设定器16A、特征点识别器11、第1位置计算器12A、第2位置计算器14以及控制信号生成器17。目标物设定器16A对作业对象物中的至少一个目标物的位置进行设定。特征点识别器11从通过至少一个拍摄装置7A而获取的摄影图像、即包含作业对象物的至少一部分以及保持对象物的前端的摄影图像,检测作业对象物的特征点。第1位置计算器12A基于作业对象物的特征点,计算拍摄装置7A的坐标系中的目标物的位置。第2位置计算器14基于摄影图像,计算拍摄装置7A的坐标系中的保持对象物的前端的位置。控制信号生成器17将拍摄装置7A的坐标系中的目标物的位置以及保持对象物的前端的位置变换为机器人臂装置4的坐标系中的位置,将基于被变换的目标物的位置以及保持对象物的前端的位置来使保持对象物的前端向目标物的位置移动的控制信号输出到机器人臂装置4。
由此,即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的位置的情况下,也能够控制机器人臂装置4以使得使用保持对象物来准确地进行针对作业对象物的作业。
根据第2实施方式,第1位置计算器12A也可以基于作业对象物的特征点,来进一步计算拍摄装置7A的坐标系中的目标物的朝向。第2位置计算器14也可以基于摄影图像,进一步计算拍摄装置7A的坐标系中的保持对象物的朝向。该情况下,控制信号生成器17将拍摄装置7A的坐标系中的目标物的朝向以及保持对象物的朝向变换为机器人臂装置4的坐标系中的朝向。控制信号还包含被变换的目标物的朝向以及保持对象物的朝向。
由此,即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的朝向的情况下,也能够控制机器人臂装置4以使得使用保持对象物来准确地进行针对作业对象物的作业。
根据第2实施方式,控制装置1A也可以还具备从摄影图像检测在保持对象物的已知的位置被固定的第1标记6的第1标记识别器13。该情况下,第1标记6具有形成为能够计算拍摄装置7A的坐标系中的第1标记6的位置的图案。第2位置计算器14基于第1标记6来计算保持对象物的前端的位置。
由此,能够基于第1标记6的图像,计算拍摄装置7A的坐标系中的保持对象物的前端的位置。
根据第2实施方式,拍摄装置7A也可以还获取从拍摄装置7A到通过拍摄装置7A而摄影的各点的距离。该情况下,第1位置计算器12A基于摄影图像以及距离,生成包含作业对象物中包含的多个特征点的三维坐标和从相互不同的多个位置分别摄影作业对象物的多个摄影图像中的各特征点的二维坐标的特征点映射。第1位置计算器12A参照特征点映射来计算目标物的位置。
由此,能够基于通过拍摄装置7A而获取的摄影图像来生成作业对象物的特征点映射,参照生成的特征点映射来计算目标物的位置。
根据第2实施方式,也可以还具备对通过第1位置计算器12A而生成的特征点映射进行保存的存储装置15。
由此,若一旦生成特征点映射并保存于存储装置15,则之后控制装置1A能够参照存储装置中保存的特征点映射,与第1实施方式同样地进行动作。
根据第2实施方式,目标物设定器16A也可以通过图像处理来识别并设定作业对象物中的目标物的位置。
由此,即使在初始状态下作业对象物的特征点映射未知,也能够设定作业对象物中的目标物的位置。
根据第2实施方式,目标物设定器16A也可以基于经由输入装置2而获取的用户输入,设定作业对象物中的目标物的位置。
由此,即使初始状态下作业对象物的特征点映射未知,也能够设定作业对象物中的目标物的位置。
根据第2实施方式,拍摄装置7A也可以固定于机器人臂装置4,以使得能够在机器人臂装置4对保持对象物进行保持时拍摄装置7A能够摄影保持对象物的前端。
由此,拍摄装置7A能够追随保持对象物的移动。
根据第2实施方式,机器人臂系统具备机器人臂装置4、至少一个拍摄装置7A、控制装置1A。
由此,即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的位置的情况下,也能够控制机器人臂装置4以使得使用保持对象物来准确地进行针对作业对象物的作业。
[第3实施方式]
接下来,对第3实施方式所涉及的机器人臂系统进行说明。在第1以及第2实施方式中,基于在保持对象物的已知的位置进行固定的标记来计算保持对象物的前端的位置。另一方面,在第3实施方式中,对在不使用标记的情况下计算保持对象物的前端的位置的情况进行说明。
[第3实施方式的结构]
[整体结构]
图22是表示第3实施方式所涉及的机器人臂系统的结构的概略图。图22的机器人臂系统不包含图16的标记6,此外,取代图16的控制装置1A而具备控制装置1B。
控制装置1B取代图18的机器人臂控制处理,执行图24的机器人臂控制处理(后述)。
图22的机器人臂系统的其他的结构要素与图16的机器人臂系统的对应的结构要素同样地构成。
[控制装置的结构]
图23是表示图22的控制装置1B的结构的框图。控制装置1B具备特征点识别器11B、位置计算器12B、存储装置15、目标物设定器16B、控制信号生成器17B以及图像生成器18B。
特征点识别器11B从通过拍摄装置7而获取的摄影图像,检测电路基板8的特征点,并且还检测电动驱动器5的特征点。
位置计算器12B与图17的位置计算器12A同样地,生成电路基板8的特征点映射,此外,计算相机坐标系中的螺钉孔82的位置以及朝向。位置计算器12B进一步基于通过特征点识别器11而检测的电动驱动器5的特征点,此外,基于通过拍摄装置7A而检测的从该拍摄装置7A到由该拍摄装置7A摄影的各点的距离,计算电动驱动器5的朝向以及电动驱动器5的前端5a的位置。
由于位置计算器12B计算目标物的位置以及保持对象物的前端的位置,因此可以说具有图17的位置计算器12A、14(或者,图1的位置计算器12、14)这两者的功能。
目标物设定器16B与图17的目标物设定器16A同样地,将电路基板8中的至少一个螺钉孔82设定为目标物。此外,在第3实施方式中,由于不使用在电动驱动器5的已知的位置固定的标记,不能基于标记的图像来计算电动驱动器5的前端5a的位置,因此目标物设定器16B也可以进一步设定电动驱动器5的前端5a的位置。目标物设定器16B例如可以通过图像处理来识别并设定电动驱动器5的前端5a的位置,或者,也可以基于经由输入装置2而获取的用户输入来设定。
图23的存储装置15与图17的存储装置15同样地构成。图23的控制信号生成器17B以及图像生成器18B除了取代从图17的位置计算器12A、14分别获取螺钉孔82的位置以及电动驱动器5的前端5a的位置,而从单一的位置计算器12B获取螺钉孔82的位置以及电动驱动器5的前端5a的位置以外,与图17的对应的结构要素同样地构成。
[第3实施方式的动作]
图24是表示通过图22的控制装置1B而执行的机器人臂控制处理的流程图。图24的处理删除图18的步骤S5、S6,取代图18的步骤S4A而包含步骤S4B。
图25是表示图24的步骤S4B(位置计算处理)的子程序的流程图。
图25的步骤S41~S44与图19的步骤S31~S34同样。
位置计算器12B对图像中的螺钉孔82以及电动驱动器5的前端进行识别(步骤S45)。目标物设定器16B也可以通过模板映射或者深度学习等的图像处理来识别并设定作业对象物中的目标物的位置以及保持对象物的前端的位置。此外,目标物设定器16B也可以基于经由输入装置2而获取的用户输入,设定作业对象物中的目标物的位置以及保持对象物的前端的位置。位置计算器12B在图像中,识别通过目标物设定器16B而设定的目标物以及保持对象物的前端。
位置计算器12B将识别出的目标物、即螺钉孔82的周边的特征点的位置作为目标物的位置而保存于存储装置15(步骤S46)。
位置计算器12B基于作业对象物坐标系中的拍摄装置7A的位置以及姿态,计算相机坐标系中的螺钉孔82的位置以及朝向(步骤S47)。
位置计算器12B基于电动驱动器5的特征点,计算相机坐标系中的电动驱动器5的朝向(步骤S48)。
位置计算器12B基于从拍摄装置7A到通过拍摄装置7A而摄影的各点的距离,获取从拍摄装置7A到电动驱动器5的距离(步骤S49)。大致上,在摄影图像中,认为下方的区域表示电路基板8,此外,认为上方的区域之中距拍摄装置7A的距离较小的部分表示电动驱动器5。此外,在摄影图像中,认为电动驱动器5的区域的下端表示电动驱动器5的前端5a。
位置计算器12B基于从拍摄装置7A到电动驱动器5的距离、拍摄装置7的内部参数,计算相机坐标系中的电动驱动器5的前端5a的位置(步骤S50)。拍摄装置7的内部参数例如包含拍摄装置7的焦点距离以及图像中心的坐标。在此,(x,y)表示摄影图像中的电动驱动器5的前端5a的坐标,d表示从拍摄装置7A到电动驱动器5的距离,(fx,fy)表示拍摄装置7的焦点距离,(cx,cy)表示拍摄装置7的图像中心的坐标。此时,相机坐标系中的电动驱动器5的前端5a的位置(xc,yc,zc)通过下式来求取。
xc=(x-cx)×(d/fx)
yc=(y-cy)×(d/fy)
zc=d
图26是表示在图22的显示装置3显示的示例性的图像30B的图。根据第3实施方式,即使在不使用在电动驱动器5的已知的位置固定的标记的情况下,也能够基于从摄影图像检测的电动驱动器5的特征点F,如图26所示,计算电动驱动器5的前端5a的位置。
此外,根据第3实施方式,若一旦生成特征点映射并保存于存储装置15,则之后控制装置1B关于目标物的位置的计算,能够参照存储装置15中保存的特征点映射,与第1实施方式同样地进行动作。
[第3实施方式的效果等]
根据第3实施方式,控制对保持对象物进行保持的机器人臂装置4的控制装置1B具备:目标物设定器16B、特征点识别器11B、位置计算器12B以及控制信号生成器17B。目标物设定器16B对作业对象物中的至少一个目标物的位置进行设定。特征点识别器11B从通过至少一个拍摄装置7A而获取的摄影图像、即包含作业对象物的至少一部分以及保持对象物的前端的摄影图像,检测作业对象物的特征点。位置计算器12B基于作业对象物的特征点,计算拍摄装置7A的坐标系中的目标物的位置。位置计算器12B基于摄影图像,计算拍摄装置7A的坐标系中的保持对象物的前端的位置。控制信号生成器17B将拍摄装置7A的坐标系中的目标物的位置以及保持对象物的前端的位置变换为机器人臂装置4的坐标系中的位置,将基于被变换的目标物的位置以及保持对象物的前端的位置来使保持对象物的前端向目标物的位置移动的控制信号输出到机器人臂装置4。
由此,即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的位置的情况下,也能够控制机器人臂装置4以使得使用保持对象物来准确地进行针对作业对象物的作业。
根据第3实施方式,位置计算器12B也可以还基于作业对象物的特征点,计算拍摄装置7A的坐标系中的目标物的朝向。位置计算器12B也可以还基于摄影图像,计算拍摄装置7A的坐标系中的保持对象物的朝向。该情况下,控制信号生成器17B将拍摄装置7A的坐标系中的目标物的朝向以及保持对象物的朝向变换为机器人臂装置4的坐标系中的朝向。控制信号还包含被变换的目标物的朝向以及保持对象物的朝向。
由此,即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的朝向的情况下,也能够控制机器人臂装置4以使得使用保持对象物来准确地进行针对作业对象物的作业。
根据第3实施方式,拍摄装置7A也可以进一步获取从拍摄装置7A到通过拍摄装置7A而摄影的各点的距离。该情况下,特征点识别器11B从摄影图像,进一步检测保持对象物的特征点。位置计算器12B基于保持对象物的特征点以及距离,计算保持对象物的前端的位置。
由此,即使在不使用在保持对象物的已知的位置进行固定的标记的情况下,也能够计算保持对象物的前端的位置。
根据第3实施方式,拍摄装置7A也可以进一步获取从拍摄装置7A到由拍摄装置7A摄影的各点的距离。该情况下,位置计算器12B基于摄影图像以及距离,生成包含作业对象物中包含的多个特征点的三维坐标、从相互不同的多个位置分别摄影作业对象物的多个摄影图像中的各特征点的二维坐标的特征点映射。位置计算器12B参照特征点映射来计算目标物的位置。
由此,能够基于通过拍摄装置7A而获取的摄影图像来生成作业对象物的特征点映射,参照生成的特征点映射来计算目标物的位置。
根据第3实施方式,也可以还具备对通过位置计算器12B而生成的特征点映射进行保存的存储装置15。
由此,若一旦生成特征点映射并保存于存储装置15,则之后控制装置1B关于目标物的位置的计算,能够参照存储装置中保存的特征点映射,与第1实施方式同样地进行动作。
根据第3实施方式,目标物设定器16B也可以通过图像处理来识别并设定作业对象物中的目标物的位置。
由此,即使在初始状态下作业对象物的特征点映射未知,也能够设定作业对象物中的目标物的位置。
根据第3实施方式,目标物设定器16B也可以基于经由输入装置2而获取的用户输入,设定作业对象物中的目标物的位置。
由此,即使在初始状态下作业对象物的特征点映射未知,也能够设定作业对象物中的目标物的位置。
根据第3实施方式,拍摄装置7A也可以固定于机器人臂装置4,以使得在机器人臂装置4对保持对象物进行保持时拍摄装置7A能够摄影保持对象物的前端。
由此,拍摄装置7A能够追随保持对象物的移动。
根据第3实施方式,机器人臂系统具备机器人臂装置4、至少一个拍摄装置7A、控制装置1B。
由此,即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的位置的情况下,也能够控制机器人臂装置4以使得使用保持对象物来准确地进行针对作业对象物的作业。
[第4实施方式]
接下来,对第4实施方式所涉及的机器人臂系统进行说明。在第2以及第3实施方式中,使用立体相机或者RGB-D相机等作为拍摄装置,获取从拍摄装置到被摄影的各点的距离,基于摄影图像以及距离来生成作业对象物的特征点映射。另一方面,在第4实施方式中,对在不获取从拍摄装置到被摄影的各点的距离的情况下生成作业对象物的特征点映射的情况进行说明。
[第4实施方式的结构]
[整体结构]
图27是表示第4实施方式所涉及的机器人臂系统的结构的概略图。图27的机器人臂系统取代图1的控制装置1以及电路基板8,具备控制装置1C以及电路基板8C。
控制装置1C执行与图18的机器人臂控制处理同样的处理,但是其中,取代图18的步骤S4A(位置计算处理),执行图30的位置计算处理(后述)。
图28是表示图27的电路基板8C的俯视图。电路基板8C除了图3的电路基板8的各结构要素,还具备分别固定于已知的位置的多个标记83-1、83-2、...(也总称为“标记83”)。各标记83与图1的标记6同样地,具有形成为能够计算从拍摄装置7来看的标记83的方向以及距离的图案。
图27的机器人臂系统的其他的结构要素与图1的机器人臂系统的对应的结构要素同样地构成。特别地,拍摄装置7如所述那样,也可以是不具有对从该拍摄装置7到由该拍摄装置7摄影的各点的距离进行检测的功能的单眼相机等。
[控制装置的结构]
图29是表示图27的控制装置1C的结构的框图。控制装置1C取代图17的位置计算器12A而具备位置计算器12C,此外,还具备标记识别器19。
标记识别器19从摄影图像,检测在电路基板8C的已知的位置固定的标记83。
位置计算器12C与图17的位置计算器12A同样地,生成电路基板8C的特征点映射,此外,计算相机坐标系中的螺钉孔82的位置以及朝向。但是,在第4实施方式中,由于不可得到从拍摄装置7到被摄影的各点的距离,因此位置计算器12C取而代之地基于通过标记识别器19而检测的标记83的图像,计算从拍摄装置7到作业对象物的距离。位置计算器12C基于摄影图像以及距离,生成电路基板8C的特征点映射。位置计算器12C参照特征点映射,如上述那样计算相机坐标系中的螺钉孔82的位置以及朝向。
图29的控制装置1C的其他的结构要素与图17的控制装置1A的对应的结构要素同样地构成。
[第4实施方式的动作]
图30是表示通过图29的位置计算器12C而执行的位置计算处理的流程图。图30的位置计算处理在图19的步骤S31、S32之间还包含步骤S51、S52。
位置计算器12C判断特征点映射的标尺是否校正结束(步骤551),在是时进入步骤S42,在否时进入步骤S52。在此,标尺的校正是指对将摄影图像中的长度(例如以像素数为单位)变换为实际的长度(例如以mm为单位)的变换系数进行校正。
位置计算器12C执行标尺校正处理(步骤S52)。
图31是对比较例所涉及的特征点映射的标尺的校正进行说明的图。在拍摄装置7是单眼相机、并且不使用标记的情况下,标尺例如以下那样被校正。
(1)获取第1图像帧的特征点以及特征量。
(2)获取第2图像帧的特征点以及特征量。
(3)将第1以及第2图像帧的特征点建立对应。
(4)通过8点法来计算F矩阵(基础矩阵),计算分别获取第1以及第2图像帧时的拍摄装置(通过图31的关键帧K1 1、K12来表示的拍摄装置)问的位置以及姿态的变换矩阵。
(5)通过三角测量来校正特征点映射的标尺。
根据图31的例子,由于位置以及姿态的变换矩阵所涉及的长度的单位不清楚,因此表示映射点的向量的单位也不清楚,不能正确地校正特征点映射的标尺。因此,在第4实施方式中,如以下那样校正特征点映射的标尺。
图32是表示图30的步骤S52(标尺校正处理)的子程序的流程图。
位置计算器12C获取第1图像帧的特征点以及特征量(步骤S61)。
位置计算器12C获取第2图像帧的特征点以及特征量(步骤S62)。
位置计算器12C将第1以及第2图像帧的特征点建立对应(步骤S63)。
位置计算器12C获取第1以及第2图像帧中的标记83的图像(步骤S64)。
位置计算器12C在以标记83的中心为原点的坐标系中,计算表示第1以及第2图像帧所对应的拍摄装置7的位置以及姿态的矩阵Rt1、Rt2(步骤S65)。
位置计算器12C基于矩阵Rt1、Rt2,计算图像帧间的拍摄装置7的位置以及姿态的变换矩阵Rt12(步骤S66)。变换矩阵Rt12可通过Rt12=Rt2Rt1 -1来得到。
位置计算器12C通过三角测量,校正特征点映射的标尺(步骤S67)。
图33是对图32的步骤S63中执行的特征点的建立对应进行说明的图。图34是对图32的步骤S67中执行的特征点映射的标尺的校正进行说明的图。如图33以及图34所示,摄影图像70D、70E包含相同的标记83-1。通过基于标记83-1的图像来进行三角测量,能够正确地校正特征点映射的标尺。
根据第4实施方式,即使在使用没有检测距离的功能的拍摄装置7的情况下,也能够通过使用标记83-1等,正确地校正特征点映射的标尺。
根据第4实施方式,能够在不获取从拍摄装置到被摄影的各点的距离的情况下、即不使用立体相机或者RGB-D相机等那样的高价的拍摄装置的情况下,生成作业对象物的特征点映射。
[第4实施方式的效果等]
根据第4实施方式,控制对保持对象物进行保持的机器人臂装置4的控制装置1C具备:目标物设定器16A、特征点识别器11、第1位置计算器12C、第2位置计算器14以及控制信号生成器17。目标物设定器16A对作业对象物中的至少一个目标物的位置进行设定。特征点识别器11从通过至少一个拍摄装置7而获取的摄影图像、即包含作业对象物的至少一部分以及保持对象物的前端的摄影图像,检测作业对象物的特征点。第1位置计算器12C基于作业对象物的特征点,计算拍摄装置7的坐标系中的目标物的位置。第2位置计算器14基于摄影图像,计算拍摄装置7的坐标系中的保持对象物的前端的位置。控制信号生成器17将拍摄装置7的坐标系中的目标物的位置以及保持对象物的前端的位置变换为机器人臂装置4的坐标系中的位置,将基于被变换的目标物的位置以及保持对象物的前端的位置来使保持对象物的前端向目标物的位置移动的控制信号输出到机器人臂装置4。
由此,即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的位置的情况下,也能够控制机器人臂装置4,以使得使用保持对象物来准确地进行针对作业对象物的作业。
根据第4实施方式,第1位置计算器12C也可以进一步基于作业对象物的特征点,计算拍摄装置7的坐标系中的目标物的朝向。第2位置计算器14也可以进一步基于摄影图像,计算拍摄装置7的坐标系中的保持对象物的朝向。该情况下,控制信号生成器17将拍摄装置7的坐标系中的目标物的朝向以及保持对象物的朝向变换为机器人臂装置4的坐标系中的朝向。控制信号还包含被变换的目标物的朝向以及保持对象物的朝向。
由此,即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的朝向的情况下,也能够控制机器人臂装置4,以使得使用保持对象物来准确地进行针对作业对象物的作业。
根据第4实施方式,控制装置1C也可以还具备从摄影图像检测在保持对象物的已知的位置固定的第1标记6的第1标记识别器13。该情况下,第1标记6具有形成为能够计算拍摄装置7的坐标系中的第1标记6的位置的图案。第2位置计算器14基于第1标记6来计算保持对象物的前端的位置。
由此,能够基于第1标记6的图像,计算拍摄装置7的坐标系中的保持对象物的前端的位置。
根据第4实施方式,控制装置1C也可以还具备从摄影图像检测在作业对象物的已知的位置固定的至少一个第2标记83的第2标记识别器19。该情况下,第2标记83具有形成为能够计算拍摄装置7的坐标系中的第2标记83的位置的图案。第1位置计算器12C基于第2标记83,计算从拍摄装置7到作业对象物的距离。第1位置计算器12C基于摄影图像以及距离,生成包含作业对象物中包含的多个特征点的三维坐标、和从相互不同的多个位置分别摄影作业对象物的多个摄影图像中的各特征点的二维坐标的特征点映射。第1位置计算器12C参照特征点映射来计算目标物的位置。
由此,能够基于通过拍摄装置7而获取的摄影图像来生成作业对象物的特征点映射,参照生成的特征点映射来计算目标物的位置。
根据第4实施方式,也可以还具备对通过第1位置计算器12C而生成的特征点映射进行保存的存储装置15。
由此,若一旦生成特征点映射并保存于存储装置15,则之后控制装置1C关于目标物的位置的计算,能够参照存储装置中保存的特征点映射,与第1实施方式同样地进行动作。
根据第4实施方式,目标物设定器16A也可以通过图像处理来识别并设定作业对象物中的目标物的位置。
由此,即使在初始状态下作业对象物的特征点映射未知,也能够设定作业对象物中的目标物的位置。
根据第4实施方式,目标物设定器16A也可以基于经由输入装置2而获取的用户输入,设定作业对象物中的目标物的位置。
由此,即使在初始状态下作业对象物的特征点映射未知,也能够设定作业对象物中的目标物的位置。
根据第4实施方式,拍摄装置7也可以被固定于机器人臂装置4,以使得在机器人臂装置4对保持对象物进行保持时拍摄装置7能够摄影保持对象物的前端。
由此,拍摄装置7能够追随保持对象物的移动。
根据第4实施方式,机器人臂系统具备:机器人臂装置4、至少一个拍摄装置7、控制装置1C。
由此,即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的位置的情况下,也能够控制机器人臂装置4,以使得使用保持对象物来准确地进行针对作业对象物的作业。
[第5实施方式]
接下来,对第5实施方式所涉及的机器人臂系统进行说明。在第1~第4实施方式中,使用固定于机器人臂装置的一个拍摄装置。另一方面,在第5实施方式中,对使用固定于机器人臂装置以外的位置的多个拍摄装置的情况进行说明。
[第5实施方式的结构]
图35以及图36是表示第5实施方式所涉及的机器人臂系统的结构的概略图。图35表示保持对象物处于第1位置时的状态,图36表示保持对象物处于第2位置时的状态。图35以及图36取代图1的控制装置1以及拍摄装置7,而具备控制装置1D以及多个拍摄装置7-1、7-2。
拍摄装置7-1,7-2通过台座9-1、9-2而被固定于天花板、地面或者壁面等,以使得分别摄影电路基板8的不同的部分。
控制装置1D从多个拍摄装置7-1、7-2,选择性地获取包含电路基板8的至少一部分以及电动驱动器5的前端5a的摄影图像。
在图35的情况下,拍摄装置7-2无法摄影标记6,因此,控制装置1D获取拍摄装置7-1的摄影图像。另一方面,在图36的情况下,拍摄装置7-2能够从比拍摄装置7-1更近的位置摄影电动驱动器5、标记6以及电路基板8,因此控制装置1D获取拍摄装置7-2的摄影图像。控制装置1D能够根据拍摄条件,从多个拍摄装置7-1、7-2选择性地获取摄影图像,摄影的自由度比仅使用一个的拍摄装置的情况提高。
[第5实施方式的效果等]
根据第5实施方式,控制装置1D从多个拍摄装置7-1、7-2,选择性地获取包含作业对象物的至少一部分以及保持对象物的前端的摄影图像。
由此,控制装置1D能够根据拍摄条件,从多个拍摄装置7-1、7-2选择性地获取摄影图像,摄影的自由度比仅使用一个拍摄装置的情况提高。
[第6实施方式]
接下来,对第6实施方式所涉及的机器人臂系统进行说明。在第6实施方式中,说明在不经由保持对象物的情况下通过机器人臂装置来直接进行针对作业对象物的作业,与作业对象物接触的机器人臂装置的前端在相机坐标系中具有已知的位置的情况。
[第6实施方式的结构]
[整体结构]
图37是表示第6实施方式所涉及的机器人臂系统的结构的概略图。图37的机器人臂系统取代图1的控制装置1、机器人臂装置4以及电路基板8,具备控制装置1E、机器人臂装置4E以及面板8E。
控制装置1E基于通过拍摄装置7而获取的摄影图像,以及/或者,基于经由输入装置2而输入的用户输入,控制机器人臂装置4E。
面板8E例如是具备一个或者多个开关84的控制面板。开关84例如包含推拉开关、拨动开关、旋转开关等。
机器人臂装置4E取代图1的机器人臂装置4的手4c,具备末端执行器4d。末端执行器4d构成为在其前端4da与开关84接触,根据开关84的方式,能够进行按下、把持、旋转等操作。
拍摄装置7对包含末端执行器4d的前端4da以及面板8E的至少一部分的摄影图像进行获取。
拍摄装置7相对于末端执行器4d的前端4da被固定于已知的位置。该情况下,拍摄装置7被固定于臂4b的多个连杆之中、与末端执行器4d所连结的连杆相同的连杆。由此,臂4b的关节等的可动部不存在于拍摄装置7以及末端执行器4d之间,因此,拍摄装置7相对于末端执行器4d的前端4da的相对位置被固定。由此,末端执行器4d的前端4da在相机坐标系中具有已知的位置。
机器人臂装置4E在控制装置1E的控制下,使机器人臂装置4E的前端向作业对象物中的至少一个目标物的位置移动。在图37的例子中,面板8E是由机器人臂装置4E直接执行的作业的作业对象物。在面板8E中的至少一个开关84被设定为目标物时,机器人臂装置4E使末端执行器4d的前端4da向开关84的位置移动,使用末端执行器4d来操作开关84。
在本说明书中,将末端执行器4d的前端4da视为机器人臂装置4E的前端(也称为“臂前端”)。
[控制装置的结构]
图38是表示图37的控制装置1E的结构的框图。控制装置1E取代图5的标记识别器13以及位置计算器14,具备存储装置20。
存储装置20预先保存相机坐标系中的末端执行器4d的前端4da的位置以及朝向。该位置例如可基于机器人臂装置4E的设计数据来计算。
图39是表示图37的臂4b的前端的放大图。参照图39,对相机坐标系中的末端执行器4d的前端4da的位置以及朝向的计算进行说明。
为了对相机坐标系中的末端执行器4d的前端4da的位置以及朝向进行说明,如图39所示,参照末端执行器4d的坐标系。末端执行器4d具有以该末端执行器4d的位置以及姿态为基准的三维的坐标系。末端执行器4d的坐标系具有坐标轴Xe、Ye、Ze。例如,末端执行器4d的坐标系的原点被设置于末端执行器4d的壳体的内部,末端执行器4d的坐标系的朝向被设定为其坐标轴之中的一个坐标轴穿过末端执行器4d的前端4da。
从末端执行器4d的坐标系中的位置(xe,ye,ze)向相机坐标系中的位置(xc,yc,zc)的坐标变换例如同时使用坐标变换矩阵来表示为下式。
[式6]
在此,Rec是表示以末端执行器4d的坐标系的朝向为基准的相机坐标系的朝向的矩阵,ter是表示末端执行器4d的坐标系中的相机坐标系的原点的位置(dx,dy,dz)的向量。矩阵Rec例如能够通过分别表示X轴、Y轴以及Z轴的周围的各旋转角度α、β、γ的矩阵Rα、Rβ、Rγ的积来表示。
末端执行器4d的坐标系中的末端执行器4d的前端4da的位置以及朝向根据机器人臂装置4E的设计数据而已知。因此,相机坐标系中的末端执行器4d的前端4da的位置以及朝向能够基于末端执行器4d的坐标系中的末端执行器4d的前端4da的位置以及朝向,使用式(6)来计算。
即使在末端执行器4d具备可动部的情况下,末端执行器4d的坐标系中的前端4da的轨道已知,因此,前端4da在相机坐标系中具有已知的位置以及朝向。
图38的特征点识别器11、位置计算器12、存储装置15以及目标物设定器16与图5的对应的结构要素实质同样地构成并进行动作。其中,图38的结构要素11、12、15以及16取代电路基板8的螺钉孔82的位置以及朝向,计算面板8E的开关84的位置以及朝向。
控制信号生成器17将通过位置计算器12而计算的相机坐标系中的开关84的位置以及朝向变换为机器人坐标系中的位置以及朝向。此外,控制信号生成器17将从存储装置20读取的相机坐标系中的末端执行器4d的前端4da的位置以及朝向变换为机器人坐标系中的朝向以及位置。此外,控制信号生成器17基于被变换的开关84的位置以及朝向、被变换的末端执行器4d的前端4da的位置以及朝向,将使末端执行器4d的前端4da向开关84的位置移动的控制信号输出给机器人臂装置4。由此,控制装置1E自动地控制机器人臂装置4E。
图像生成器18将摄影图像输出给显示装置3。此外,图像生成器18也可以将面板8E的特征点、开关84的位置以及末端执行器4d的前端4da的位置与摄影图像重叠并输出给显示装置3。
图38表示控制装置1E具备2个存储装置15、20的情况,这些存储装置也可以相互一体化。
[第6实施方式的动作]
图40是表示由图37的控制装置1E执行的机器人臂控制处理的流程图。
目标物设定器16将面板8E中的至少一个的开关84设定为目标物(步骤S71)。
控制装置1从拍摄装置7获取摄影图像(步骤S72)。
特征点识别器11从摄影图像检测面板8E的特征点,对这些的位置以及特征量进行获取(步骤S73)。
位置计算器12执行目标物位置计算处理,计算相机坐标系中的开关84的位置以及朝向(步骤S74)。
步骤74除了取代电路基板8的螺钉孔82的位置以及朝向而计算面板8E的开关84的位置以及朝向,实质与图9的步骤S4同样。
控制信号生成器17从存储装置20,读取相机坐标系中的末端执行器4d的前端4da的位置以及朝向(步骤S75)。
控制信号生成器17将相机坐标系中的开关84以及末端执行器4d的前端4da的位置以及朝向变换为机器人坐标系中的位置以及朝向(步骤S76)。
控制信号生成器17输出使末端执行器4d的前端4da向开关84的位置移动的控制信号,以使得末端执行器4d的前端4da相对于开关84具有预先确定的角度(例如,以使得末端执行器4d将作为推拉开关的开关84向铅垂方向按下)(步骤S77)。
控制装置1也可以使末端执行器4d的前端4da向开关84的位置移动,并反复步骤S72~S77。
在面板8E中的多个开关84被设定为目标物的情况下,控制信号生成器17判断是否处理了全部的目标物(步骤S78),在是时结束处理,在否时进入步骤S79。
控制信号生成器17输出使末端执行器4d的前端4da向下个开关84的方向移动的控制信号(步骤S79)。以后,控制装置1反复步骤S72~S79。
根据第6实施方式,即使面板8E在机器人坐标系中不具有被固定的已知的位置的情况下,通过基于摄影图像来计算机器人坐标系中的位置以及朝向,能够控制机器人臂装置4以使得准确地进行针对面板8E的作业。根据第6实施方式,即使面板8E移动,也能够控制机器人臂装置4,以使得追随其位置以及朝向的变化,准确地进行针对面板8E的作业。
[第6实施方式的效果等]
根据第6实施方式,控制机器人臂装置4E的控制装置1E具备:目标物设定器、特征点识别器11、位置计算器12以及控制信号生成器17。目标物设定器16设定作业对象物中的至少一个目标物的位置。特征点识别器11从通过相对于机器人臂装置4E的前端而被固定于已知的位置的拍摄装置7所获取的摄影图像、即包含作业对象物的至少一部分的摄影图像,检测作业对象物的特征点。位置计算器12基于作业对象物的特征点,计算拍摄装置的坐标系中的目标物的位置。控制信号生成器17将拍摄装置的坐标系中的目标物的位置以及机器人臂装置4E的前端的位置变换为机器人臂装置4E的坐标系中的位置,将基于被变换的目标物的位置以及机器人臂装置4E的前端的位置而使机器人臂装置4E的前端向目标物的位置移动的控制信号输出到机器人臂装置4E。
由此,即使在作业对象物在机器人坐标系中不具有被固定的已知的位置的情况下,也能够控制机器人臂装置4E以使得准确地进行针对作业对象物的作业。例如,即使在作业中机器人臂装置4E的一部分与作业对象物碰撞、发生作业对象物从固定于机器人坐标系的作业台偏离的“作业对象物的偏离”的情况下,也能够准确地进行作业。此外,即使在发生由于反复作业导致机器人臂装置4E的前端的坐标的预测值从实际的值偏离的“控制偏离”的情况下,也能够准确地进行作业。
[第7实施方式]
接下来,对第7实施方式所涉及的机器人臂系统进行说明。在第1~第6实施方式中,对控制装置自动地控制机器人臂装置的情况进行说明,但在第7实施方式中,对辅助基于用户的机器人臂装置的手动控制的情况进行说明。
[第7实施方式的结构]
图41是表示第7实施方式所涉及的机器人臂系统的控制装置1F的结构的框图。控制装置1F例如取代图1的机器人臂系统的控制装置1而被使用。控制装置1F取代图5的控制信号生成器17以及图像生成器18,具备控制信号生成器17F以及图像生成器18F。
控制信号生成器17F如第1实施方式等中说明那样,基于由拍摄装置7获取的摄影图像,将使保持对象物的前端向目标物的位置移动的第1控制信号输出到机器人臂装置4。进一步地,控制信号生成器17F基于经由输入装置2而获取的用户输入,将使保持对象物的前端向目标物的位置移动的第2控制信号输出到机器人臂装置。
图像生成器18F生成表示保持对象物的前端相对于目标物的距离的雷达图,将雷达图与摄影图像重叠并输出到显示装置3。
用户通过参照显示于显示装置3的雷达图,能够将用于使保持对象物的前端向目标物的位置移动的用户输入经由输入装置2来提供给控制装置1F。
[第7实施方式的动作]
图42是表示在第7实施方式所涉及的机器人臂系统的显示装置3显示的示例性的图像30C的图。图像30C除了图15的图像30的内容还包含窗口35。
图43表示图42的窗口35的详细,是表示保持对象物的前端相对于目标物处于第1距离时的雷达图36、37的图。图44表示图42的窗口35的详细,是表示保持对象物的前端相对于目标物处于比第1距离短的第2距离时的雷达图36、37的图。窗口35包含水平面内的雷达图36以及垂直面内的雷达图37。雷达图36表示保持对象物的前端相对于水平面内的目标物的距离。雷达图37表示保持对象物的前端相对于垂直面内的目标物的距离。在图43以及图44的例子中,雷达图36、37具有目标物坐标系的坐标轴Xh、Yh、Zh。如图43以及图44所示,也可以根据保持对象物的前端相对于目标物的距离,变更雷达图的缩尺。通过在保持对象物的前端接近于目标物时缩小雷达图的刻度的宽度,此外,在保持对象物的前端远离目标物时增大雷达图的刻度的宽度,能够更加明确地识别保持对象物的前端相对于目标物的距离。
水平面内的雷达图36中的最小的圆的半径例如可以设定为0.25、1、5、25或者100mm。垂直面内的雷达图37中的铅垂方向的刻度例如可以设定为2或者10mm。
通过显示窗口35,能够比仅显示包含目标物以及保持对象物的摄影图像的情况更加明确地向用户提示保持对象物的前端相对于目标物的距离。通过计算保持对象物的前端相对于目标物的微小的偏差,将该偏差显示为雷达图,用户能够可靠地判断保持对象物的前端是否到达目标物。
用户通过参照窗口35,也可以监视基于机器人臂装置4的作业。此外,用户也可以参照窗口35,经由输入装置2来操作机器人臂装置4。控制装置1执行图9的机器人臂控制处理。此时,控制装置1如所述那样,使保持对象物的前端向目标物的位置移动,并反复步骤S2~S8。若没有用户输入,则控制信号生成器17F输出基于由拍摄装置7获取的摄影图像而生成的控制信号。另一方面,控制信号生成器17F若经由输入装置2来获取用户输入,则中断机器人臂控制处理,输出基于用户输入而生成的控制信号。
根据第7实施方式,即使在保持对象物以及目标物在机器人坐标系中不具有被固定的已知的位置的情况下,也通过参照窗口35,经由输入装置2来操作机器人臂装置4,能够控制机器人臂装置4以使得使用保持对象物来准确地进行针对目标物的作业。
例如,在进行机器人臂装置4的远程控制的情况下,能够从远程确认的摄影图像是二维,但为了进行保持对象物以及作业对象物的对位需要三维的信息。但是,可能无法从二维的摄影图像读取三维的信息。在图6的例子中,从二维的摄影图像读取保持对象物以及作业对象物的横向的偏离,但保持对象物以及作业对象物的纵(纵深)方向以及高度方向的偏离能够在二维的摄影图像上的纵向上合成而看到,因此难以从摄影图像读取。该情况下,通过使用雷达图等,通过规定的物理量(例如,几mm的偏离量)来将沿着三维的各坐标轴的偏离可视化,能够读取三维的信息,也能够进行机器人臂装置4的远程控制。
进一步地,通过使用雷达图等,以规定的物理量提示偏离量,不需要根据摄影图像的偏离在经验上求取三维的偏离量的工序。因此,例如,仅通过结合物理量来按压输入装置2的控制按钮,即使普通人也能够简单地控制机器人臂装置4。
图45是表示在第7实施方式所涉及的机器人臂系统的显示装置3显示的代替的窗口35A的图。在显示装置3显示的图像30C也可以取代图42的窗口35而包含图45的窗口35A。也可以将具有不同的缩尺的多个水平面内的雷达图36同时显示于窗口35A内。同样地,也可以将具有不同缩尺的多个垂直面内的雷达图37同时显示于窗口35A内。图45的例子表示将3个水平面内的雷达图36-1~36-3同时显示于窗口35A内、将一个垂直面内的雷达图37显示于窗口35A内的情况。也可以强调表示多个雷达图36之中为了观察保持对象物的前端相对于目标物的距离而具有最佳的缩尺的图、即在雷达图的显示区域内保持对象物的前端最远离目标物的图(例如,被框包围、变更颜色等)。图45的例子表示对水平面内的雷达图36-2的框线进行强调显示的情况。通过显示多个雷达图36-1~36-3,相比于仅显示一个雷达图36的情况,能够明确地向用户提示保持对象物的前端相对于目标物的距离。
[第7实施方式的变形例]
图46是表示第7实施方式的第1变形例所涉及的机器人臂系统的结构的概略图。图46的机器人臂系统取代图1的控制装置1、输入装置2以及显示装置3而具备控制装置1F以及触摸面板装置3F。
图46的控制装置1F与图41的控制装置1F同样地构成并进行动作。其中,图46的控制装置1F取代输入装置2而从触摸面板装置3F获取用户输入,取代显示装置3而在触摸面板装置3F显示图像。此外,图46的控制装置1F的图像生成器18F将用于获取用户输入的操作按钮的图像与摄影图像进一步重叠并输出给触摸面板装置3F。
触摸面板装置3F具有图1的控制装置1以及输入装置2这两者的功能。
图47是表示在图46的机器人臂系统的触摸面板装置3F显示的示例性的图像30D的图。图像30D除了图42的图像30C的内容,还包含窗口90。窗口90例如包含多个操作按钮91~94。操作按钮91对水平方向的电动驱动器5的移动进行指示。操作按钮92对垂直方向的电动驱动器5的移动进行指示。操作按钮93对基于电动驱动器5的螺钉紧固的开始进行指示。操作按钮94对基于电动驱动器5的螺钉紧固的停止进行指示。
通过显示窗口90,即使在机器人臂系统具备触摸面板装置3F的情况下,也能够将用于使保持对象物的前端向目标物的位置移动的用户输入提供给控制装置1F。
图48是表示第7实施方式的第2变形例所涉及的机器人臂系统的控制装置1G的结构的框图。控制装置1G取代图41的控制信号生成器17F,具备控制信号生成器17G。控制信号生成器17G将基于经由输入装置2而获取的用户输入来使保持对象物的前端向目标物的位置移动的控制信号输出到机器人臂装置4。换言之,控制信号生成器17G不基于通过拍摄装置7而获取的摄影图像来生成控制信号,仅基于经由输入装置2而获取的用户输入来生成控制信号。通过图48的控制装置1G,即使在保持对象物以及目标物在机器人坐标系中不具有被固定的已知的位置的情况下,也能够参照窗口35,经由输入装置2来操作机器人臂装置4,从而控制机器人臂装置4以使得使用保持对象物来准确地进行基于目标物的作业。
[第7实施方式的效果等]
根据第7实施方式,控制装置1F也可以还具备:图像生成器18F,生成表示保持对象物的前端相对于目标物的距离的雷达图,将雷达图与摄影图像重叠并输出到显示装置3。控制信号生成器17F将基于经由输入装置2而获取的用户输入来使保持对象物的前端向目标物的位置移动的第2控制信号输出到机器人臂装置4。
由此,相比于仅将包含目标物以及保持对象物的摄影图像显示于显示装置3的情况,能够更加明确地向用户提示保持对象物的前端相对于目标物的距离。此外,通过参照雷达图,经由输入装置2来操作机器人臂装置4,能够控制机器人臂装置4以使得使用保持对象物来准确地进行针对目标物的作业。
根据第7实施方式,图像生成器18F也可以生成具有根据保持对象物的前端相对于目标物的距离而可变的标尺的雷达图。
由此,相比于生成具有固定的标尺的雷达图的情况,能够更加明确地向用户提示保持对象物的前端相对于目标物的距离。
根据第7实施方式,图像生成器18F也可以将用于获取用户输入的操作按钮的图像与摄影图像重叠输出到显示装置。
由此,即使在机器人臂系统具备触摸面板装置3F的情况下,也能够将用于使保持对象物的前端向目标物的位置移动的用户输入提供给控制装置1F。
根据第7实施方式,控制对保持对象物进行保持的机器人臂装置4的控制装置具备目标物设定器16、特征点识别器11、第1位置计算器12、第2位置计算器14、图像生成器18F以及控制信号生成器17G。目标物设定器16对作业对象物中的至少一个目标物的位置进行设定。特征点识别器11从通过至少一个拍摄装置而获取的摄影图像、即包含作业对象物的至少一部分以及保持对象物的前端的摄影图像,检测作业对象物的特征点。第1位置计算器12基于作业对象物的特征点,计算拍摄装置的坐标系中的目标物的位置。第2位置计算器14基于摄影图像,计算拍摄装置的坐标系中的保持对象物的前端的位置。图像生成器18F生成表示保持对象物的前端相对于目标物的距离的雷达图,将雷达图与摄影图像重叠并输出到显示装置3。控制信号生成器17G将基于经由输入装置2而获取的用户输入来使保持对象物的前端向目标物的位置移动的控制信号输出到机器人臂装置4。
由此,相比于仅将包含目标物以及保持对象物的摄影图像显示于显示装置3的情况,能够更加明确地将保持对象物的前端相对于目标物的距离提示给用户。此外,参照雷达图,经由输入装置2来操作机器人臂装置4,从而能够控制机器人臂装置4以使得使用保持对象物来准确地进行针对目标物的作业。
[其他实施方式]
也可以将输入装置以及显示装置与控制装置一体化。此外,也可以将控制装置、输入装置以及显示装置与机器人臂装置一体化。
图像生成器也可以将图12所示的特征点映射的三维的标绘与摄影图像重叠并输出到显示装置。
在第1~第4实施方式的例子中,对保持对象物是电动驱动器5、作业对象物中的目标物是电路基板中的螺钉孔的情况进行了说明,但保持对象物、作业对象物以及目的物并不限定于这些。保持对象物例如也可以是烙铁、测试仪(万用表)、试验管、吸移管以及棉棒等。在保持对象物是烙铁的情况下,也可以作业对象物是电路基板,目标物是电路基板或者电子部件的电极。在保持对象物是测试仪的探测器的情况下,也可以作业对象物是电子装置,目标物是电极。在保持对象物是试验管的情况下,也可以作业对象物是试验管的支架,目标物是试验管的支架中的孔。在保持对象物是吸移管的情况下,也可以作业对象物是通过吸移管来取出放入药品等的容器,目标物是容器的开口。在保持对象物是棉棒的情况下,也可以作业对象物是通过棉棒而接触的患者,目标物是通过棉棒而接触的患者的部位。这些情况以外,也都能够控制机器人臂装置,以使得即使在保持对象物以及作业对象物之中的至少一者在机器人坐标系中不具有被固定的已知的位置的情况下,也使用保持对象物来准确地进行针对作业对象物的作业。
在以上的说明中,说明了对保持对象物进行保持以使得保持对象物(电动驱动器5)的朝向与目标物(螺钉孔82)的朝向一致的情况,但保持对象物也可以被保持为相对于目标物,具有其他预先确定的角度。例如,在保持对象物是烙铁或者测试仪的情况下,保持对象物也可以相对于电路基板或者电极倾斜地保持。
在作业对象物平坦、并且保持对象物相对于作业对象物在不改变朝向的情况下并进移动的情况下,也可以省略对作业对象物以及保持对象物的朝向进行计算的步骤。
在本说明书中,“保持对象物的前端”并不限定于电动驱动器5的前端5a那样尖锐的部分,从机器人臂装置4的主体来看是指保持对象物的远位的端部。保持对象物的前端根据保持对象物的形状,也可以是锤子的头、烧杯等的容器的底面、矩形的构件的底面等。
在第6实施方式的例子中,说明了作业对象物中的目标物是面板的开关的情况,但作业对象物以及目标物并不限定于这些。例如,作业对象物也可以是电路基板,目标物也可以是螺钉孔或者电极。此外,作业对象物也可以是容器,目标物也可以是容器的开口。此外,作业对象物也可以是患者,目标物也可以是患者的部位。根据作业对象物以及目标物的种类,机器人臂装置具备与臂的前端一体化的装置(电动驱动器等)。
也可以将说明的各实施方式以及各变形例任意地组合。
若机器人臂装置能够对保持对象物进行保持以使得拍摄装置相对于机器人臂装置的前端具有已知的位置,则第6实施方式所涉及的控制装置也可以控制具备对保持对象物进行保持的手的机器人臂装置。机器人臂装置例如也可以通过在手处设置与保持对象物嵌合的引导,来对保持对象物进行保持以使得拍摄装置相对于机器人臂装置的前端具有已知的位置。该情况下,控制装置取代基于摄影图像来计算保持对象物的位置以及朝向,而对存储装置中预先保存的保持对象物的位置以及朝向进行读取。
第7实施方式也能够应用于第1~第6实施方式的任一者。图17的图像生成器18、图23的图像生成器18B以及图29的图像生成器18也可以分别将表示保持对象物的前端相对于目标物的距离的雷达图与摄影图像重叠来输出到显示装置3。该情况下,图17的控制信号生成器17、图23的控制信号生成器17B以及图29的控制信号生成器17分别将基于经由输入装置2而获取的用户输入来使保持对象物的前端向目标物的位置移动的控制信号输出到机器人臂装置4。此外,图38的图像生成器18也可以将表示机器人臂装置的前端相对于目标物的距离的雷达图与摄影图像重叠并输出到显示装置3。该情况下,图38的控制信号生成器17将基于经由输入装置2而获取的用户输入来使机器人臂装置的前端向目标物的位置移动的控制信号输出到机器人臂装置4。
产业上的可利用性
根据本公开的各方式所涉及的控制装置以及机器人臂系统,能够应用于产业用或者医疗用的机器人臂装置。
-符号说明-
1、1A~1G 控制装置
2 输入装置
3 显示装置
3F 触摸面板装置
4、4E 机器人臂装置
4a 主体
4b 臂
4c 手
4d 末端执行器
5 电动驱动器
5a 前端
6 标记
7、7A 拍摄装置
8、8C 电路基板
8E 面板
9 台座
11、11B 特征点识别器
12、12A 位置计算器(目标物)
12B、12C 位置计算器(目标物以及保持对象物)
13 标记识别器
14 位置计算器(保持对象物)
15 存储装置
16、16A、16B 目标物设定器
17、17B、17F 控制信号生成器
18、18B、18F 图像生成器
19 标记识别器
20 存储装置
30、30A~30D 显示图像
31 表示被识别出的目标物的框
32 表示被识别出的保持对象物的前端的框
33 表示目标物的候补的框
34 坐标
35、35A 窗口
36、36、36-1~36-3 水平面内的雷达图
37、37 垂直面内的雷达图
70、70A、70C~70E 摄影图像
70B 相似图像
80 印刷布线基板
81 电路元件
82 螺钉孔
83 标记
84 开关
90 窗口
91~94 操作按钮
F 特征点
K 关键帧。
Claims (19)
1.一种控制装置,控制对保持对象物进行保持的机器人臂装置,具备:
目标物设定器,对作业对象物中的至少一个目标物的位置进行设定;
特征点识别器,从通过至少一个拍摄装置而获取到的摄影图像、即包含所述作业对象物的至少一部分以及所述保持对象物的前端的摄影图像,检测所述作业对象物的特征点;
第1位置计算器,基于所述作业对象物的特征点,计算所述拍摄装置的坐标系中的所述目标物的位置;
第2位置计算器,基于所述摄影图像,计算所述拍摄装置的坐标系中的所述保持对象物的前端的位置;和
控制信号生成器,将所述拍摄装置的坐标系中的所述目标物的位置以及所述保持对象物的前端的位置变换为所述机器人臂装置的坐标系中的位置,将基于被变换的所述目标物的位置以及所述保持对象物的前端的位置来使所述保持对象物的前端向所述目标物的位置移动的第1控制信号输出给所述机器人臂装置。
2.根据权利要求1所述的控制装置,其中,
所述第1位置计算器基于所述作业对象物的特征点,进一步计算所述拍摄装置的坐标系中的所述目标物的朝向,
所述第2位置计算器基于所述摄影图像,进一步计算所述拍摄装置的坐标系中的所述保持对象物的朝向,
所述控制信号生成器将所述拍摄装置的坐标系中的所述目标物的朝向以及所述保持对象物的朝向变换为所述机器人臂装置的坐标系中的朝向,所述第1控制信号还包含基于被变换的所述目标物的朝向以及所述保持对象物的朝向的角度信息。
3.根据权利要求1或者2所述的控制装置,其中,
所述控制装置还具备:第1标记识别器,从所述摄影图像,检测在所述保持对象物的已知的位置被固定的第1标记,
所述第1标记具有形成为能够对所述拍摄装置的坐标系中的所述第1标记的位置进行计算的图案,
所述第2位置计算器基于所述第1标记来计算所述保持对象物的前端的位置。
4.根据权利要求1或者2所述的控制装置,其中,
所述拍摄装置进一步获取从所述拍摄装置到通过所述拍摄装置进行摄影的各点的距离,
所述特征点识别器从所述摄影图像,进一步检测所述保持对象物的特征点,
所述第2位置计算器基于所述保持对象物的特征点以及所述距离,计算所述保持对象物的前端的位置。
5.根据权利要求1~4之中的任一项所述的控制装置,其中,
所述控制装置还具备:存储装置,预先保存特征点映射,
所述特征点映射包含:所述作业对象物中包含的多个特征点的三维坐标、和从相互不同的多个位置分别拍摄所述作业对象物而得到的多个摄影图像中的所述各特征点的二维坐标,
所述第1位置计算器参照所述特征点映射来计算所述目标物的位置。
6.根据权利要求1~4之中的任一项所述的控制装置,其中,
所述拍摄装置进一步获取从所述拍摄装置到通过所述拍摄装置而进行摄影的各点的距离,
所述第1位置计算器基于所述摄影图像以及所述距离,生成特征点映射,所述特征点映射包含:所述作业对象物中包含的多个特征点的三维坐标、和从相互不同的多个位置分别拍摄所述作业对象物而得到的多个摄影图像中的所述各特征点的二维坐标,
所述第1位置计算器参照所述特征点映射来计算所述目标物的位置。
7.根据权利要求1~4之中的任一项所述的控制装置,其中,
所述控制装置还具备:第2标记识别器,从所述摄影图像,检测在所述作业对象物的已知的位置被固定的至少一个第2标记,
所述第2标记具有形成为能够对所述拍摄装置的坐标系中的所述第2标记的位置进行计算的图案,
所述第1位置计算器基于所述第2标记,计算从所述拍摄装置到所述作业对象物的距离,
所述第1位置计算器基于所述摄影图像以及所述距离,生成特征点映射,所述特征点映射包含:所述作业对象物中包含的多个特征点的三维坐标、和从相互不同的多个位置分别拍摄所述作业对象物而得到的多个摄影图像中的所述各特征点的二维坐标,
所述第1位置计算器参照所述特征点映射来计算所述目标物的位置。
8.根据权利要求6或者7所述的控制装置,其中,
所述控制装置还具备:存储装置,对通过所述第1位置计算器而生成的所述特征点映射进行保存。
9.根据权利要求6~8之中的任一项所述的控制装置,其中,
所述目标物设定器通过图像处理来识别并设定所述作业对象物中的所述目标物的位置。
10.根据权利要求6~8之中的任一项所述的控制装置,其中,
所述目标物设定器基于经由第1输入装置而获取的第1用户输入,设定所述作业对象物中的所述目标物的位置。
11.根据权利要求1~10之中的任一项所述的控制装置,其中,
所述拍摄装置被固定于所述机器人臂装置,以使得所述机器人臂装置保持所述保持对象物时所述拍摄装置能够对所述保持对象物的前端进行摄影。
12.根据权利要求1~10之中的任一项所述的控制装置,其中,
所述控制装置从多个拍摄装置,选择性地获取包含所述作业对象物的至少一部分以及所述保持对象物的前端的摄影图像。
13.根据权利要求1~12之中的任一项所述的控制装置,其中,
所述控制装置还具备:图像生成器,生成表示所述保持对象物的前端相对于所述目标物的距离的雷达图,将所述雷达图与所述摄影图像重叠并输出到显示装置,
所述控制信号生成器将基于经由第2输入装置而获取的第2用户输入来使所述保持对象物的前端向所述目标物的位置移动的第2控制信号输出到所述机器人臂装置。
14.根据权利要求13所述的控制装置,其中,
所述图像生成器生成具有根据所述保持对象物的前端相对于所述目标物的距离而可变的标尺的雷达图。
15.根据权利要求13或者14所述的控制装置,其中,
所述图像生成器将用于获取所述第2用户输入的操作按钮的图像与所述摄影图像重叠并输出到显示装置。
16.一种控制装置,控制对保持对象物进行保持的机器人臂装置,所述控制装置具备:
目标物设定器,对作业对象物中的至少一个目标物的位置进行设定;
特征点识别器,从通过至少一个拍摄装置而获取到的摄影图像、即包含所述作业对象物的至少一部分以及所述保持对象物的前端的摄影图像,检测所述作业对象物的特征点;
第1位置计算器,基于所述作业对象物的特征点,计算所述拍摄装置的坐标系中的所述目标物的位置;
第2位置计算器,基于所述摄影图像,计算所述拍摄装置的坐标系中的所述保持对象物的前端的位置;
图像生成器,生成表示所述保持对象物的前端相对于所述目标物的距离的雷达图,将所述雷达图与所述摄影图像重叠并输出到显示装置;和
控制信号生成器,将基于经由输入装置而获取的用户输入来使所述保持对象物的前端向所述目标物的位置移动的控制信号输出到所述机器人臂装置。
17.一种控制装置,对机器人臂装置进行控制,所述控制装置具备:
目标物设定器,对作业对象物中的至少一个目标物的位置进行设定;
特征点识别器,从通过相对于所述机器人臂装置的前端被固定于已知的位置的拍摄装置而获取到的摄影图像、即包含所述作业对象物的至少一部分的摄影图像,检测所述作业对象物的特征点;
位置计算器,基于所述作业对象物的特征点,计算所述拍摄装置的坐标系中的所述目标物的位置;和
控制信号生成器,将所述拍摄装置的坐标系中的所述目标物的位置以及所述机器人臂装置的前端的位置变换为所述机器人臂装置的坐标系中的位置,将基于被变换的所述目标物的位置以及所述机器人臂装置的前端的位置来使所述机器人臂装置的前端向所述目标物的位置移动的控制信号输出到所述机器人臂装置。
18.一种机器人臂系统,具备:
机器人臂装置;
至少一个拍摄装置;和
权利要求1~17之中的任一项所述的控制装置。
19.一种机器人臂装置的控制方法,是控制对保持对象物进行保持的机器人臂装置的控制方法,所述控制方法包含:
对作业对象物中的至少一个目标物的位置进行设定的步骤;
从通过至少一个拍摄装置而获取到的摄影图像、即包含所述作业对象物的至少一部分以及所述保持对象物的前端的摄影图像,检测所述作业对象物的特征点的步骤;
基于所述作业对象物的特征点,计算所述拍摄装置的坐标系中的所述目标物的位置的步骤;
基于所述摄影图像,计算所述拍摄装置的坐标系中的所述保持对象物的前端的位置的步骤;和
将所述拍摄装置的坐标系中的所述目标物的位置以及所述保持对象物的前端的位置变换为所述机器人臂装置的坐标系中的位置,将基于被变换的所述目标物的位置以及所述保持对象物的前端的位置来使所述保持对象物的前端向所述目标物的位置移动的控制信号输出到所述机器人臂装置的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020-170713 | 2020-10-08 | ||
JP2020170713 | 2020-10-08 | ||
PCT/JP2021/032999 WO2022074998A1 (ja) | 2020-10-08 | 2021-09-08 | 制御装置、ロボットアームシステム及びロボットアーム装置の制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116323115A true CN116323115A (zh) | 2023-06-23 |
Family
ID=81126463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180068577.4A Pending CN116323115A (zh) | 2020-10-08 | 2021-09-08 | 控制装置、机器人臂系统以及机器人臂装置的控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230219231A1 (zh) |
JP (1) | JPWO2022074998A1 (zh) |
CN (1) | CN116323115A (zh) |
WO (1) | WO2022074998A1 (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60249583A (ja) * | 1984-05-21 | 1985-12-10 | 富士電機株式会社 | 視覚付ロボツト |
JPH06785A (ja) * | 1992-06-23 | 1994-01-11 | Citizen Watch Co Ltd | 視覚センサ座標系の補正方法 |
JPH08132372A (ja) * | 1994-11-08 | 1996-05-28 | Toshiba Corp | ロボットの制御方法 |
-
2021
- 2021-09-08 JP JP2022555320A patent/JPWO2022074998A1/ja active Pending
- 2021-09-08 CN CN202180068577.4A patent/CN116323115A/zh active Pending
- 2021-09-08 WO PCT/JP2021/032999 patent/WO2022074998A1/ja active Application Filing
-
2023
- 2023-03-14 US US18/121,155 patent/US20230219231A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JPWO2022074998A1 (zh) | 2022-04-14 |
US20230219231A1 (en) | 2023-07-13 |
WO2022074998A1 (ja) | 2022-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6964989B2 (ja) | 制御方法、ロボットシステム、物品の製造方法、プログラム、及び記録媒体 | |
US6816755B2 (en) | Method and apparatus for single camera 3D vision guided robotics | |
JP4021413B2 (ja) | 計測装置 | |
CN105666505B (zh) | 具备扩展现实对应显示器的机器人系统 | |
US8095237B2 (en) | Method and apparatus for single image 3D vision guided robotics | |
TWI670153B (zh) | 機器人及機器人系統 | |
JP6126183B2 (ja) | ターゲットマークを撮像するカメラを備えたロボットシステム | |
CN111482959A (zh) | 机器人运动视觉系统的自动手眼标定系统与方法 | |
JP4191080B2 (ja) | 計測装置 | |
US6236896B1 (en) | Coordinate system setting method using visual sensor | |
JP2019169156A (ja) | 対象物の仮想組立により組立システムをトレーニングするためのビジョンシステム | |
WO2003089874A1 (en) | Camera corrector | |
JP2009053147A (ja) | 3次元計測方法および3次元計測装置 | |
Ammi et al. | Automatic camera-based microscope calibration for a telemicromanipulation system using a virtual pattern | |
JP4781298B2 (ja) | 部品ライブラリデータ作成方法 | |
CN110815208B (zh) | 控制系统、解析装置以及控制方法 | |
CN116323115A (zh) | 控制装置、机器人臂系统以及机器人臂装置的控制方法 | |
CN115280096A (zh) | 基于由多个照相机拍摄到的图像来生成物体表面的位置信息的三维测定装置 | |
CN115153855B (zh) | 一种微型机械臂的定位对准方法、装置及电子设备 | |
CN111199533A (zh) | 图像处理装置 | |
CN116419827A (zh) | 机器人控制装置以及机器人系统 | |
CN115397634A (zh) | 取得机器人的控制坐标系中的视觉传感器的位置的装置、机器人系统、方法以及计算机程序 | |
JP6507792B2 (ja) | ロボットおよびロボットシステム | |
CN114305695A (zh) | 移动指引方法及系统、可读存储介质、及手术机器人系统 | |
Hoff et al. | Machine-vision-based teleoperation aid |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |