CN117836099A - 对机器人把持工件的位置以及姿势进行示教的装置、机器人系统以及方法 - Google Patents

对机器人把持工件的位置以及姿势进行示教的装置、机器人系统以及方法 Download PDF

Info

Publication number
CN117836099A
CN117836099A CN202180101401.4A CN202180101401A CN117836099A CN 117836099 A CN117836099 A CN 117836099A CN 202180101401 A CN202180101401 A CN 202180101401A CN 117836099 A CN117836099 A CN 117836099A
Authority
CN
China
Prior art keywords
workpiece
robot
coordinate system
image data
teaching
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
Application number
CN202180101401.4A
Other languages
English (en)
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.)
Fanuc Corp
Original Assignee
Fanuc 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
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of CN117836099A publication Critical patent/CN117836099A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • 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
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39536Planning of hand motion, grasping
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39546Map human grasps to manipulator grasps

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

以往,要求能够高精度地对使机器人用机械手把持工件的位置进行示教的技术。装置(100)具有:图像数据取得部(82),其在机器人(12)用机械手把持工件时,取得配置在控制坐标系的已知位置的视觉传感器(14)拍摄该工件而得的图像数据;工件位置取得部(84),其根据图像数据,取得表示工件的位置以及姿势的工件位置数据;机械手位置取得部(86),其取得表示视觉传感器拍摄到图像数据时的机械手的位置以及姿势的机械手位置数据;示教位置取得部(88),其根据工件位置数据和机械手位置数据,取得表示视觉传感器(14)拍摄到图像数据时的机械手与工件的位置关系的示教位置数据。

Description

对机器人把持工件的位置以及姿势进行示教的装置、机器人 系统以及方法
技术领域
本公开涉及对机器人把持工件的位置以及姿势进行示教的装置、机器人系统以及方法。
背景技术
已知有一种机器人系统,其根据视觉传感器拍摄到的图像数据,执行使机器人用机械手把持工件的动作(例如,专利文献1)。
现有技术文献
专利文献
专利文献1:日本特开2016-209979号公报
发明内容
发明要解决的课题
以往,要求能够高精度地对使机器人用机械手把持工件的位置进行示教的技术。
用于解决课题的手段
本公开的一方式中的一种装置,其在用于控制机器人的控制坐标系中示教该机器人用机械手把持工件的位置以及姿势,其中,所述装置具有:图像数据取得部,其在所述机器人用所述机械手把持所述工件时,取得配置在所述控制坐标系的已知位置的视觉传感器拍摄该工件而得的图像数据;工件位置取得部,其根据所述图像数据取得工件位置数据,该工件位置数据表示在所述视觉传感器拍摄到该图像数据时所述工件在所述控制坐标系中的位置以及姿势;机械手位置取得部,其取得机械手位置数据,该机械手位置数据表示在所述视觉传感器拍摄到所述图像数据时所述机械手在所述控制坐标系中的位置以及姿势;以及示教位置取得部,其根据所述工件位置数据和所述机械手位置数据取得示教位置数据,该示教位置数据表示在所述视觉传感器拍摄到所述图像数据时所述机械手与所述工件在所述控制坐标系中的位置关系。
本公开的另一方式中的一种方法,用于在用于控制机器人的控制坐标系中示教该机器人用机械手把持工件的位置以及姿势,其中,处理器在所述机器人用所述机械手把持所述工件时,取得配置在所述控制坐标系的已知位置的视觉传感器拍摄该工件而得的图像数据,处理器根据所述图像数据取得工件位置数据,该工件位置数据表示在所述视觉传感器拍摄到该图像数据时所述工件在所述控制坐标系中的位置以及姿势,处理器取得机械手位置数据,该机械手位置数据表示在所述视觉传感器拍摄到所述图像数据时所述机械手在所述控制坐标系中的位置以及姿势,处理器根据所述工件位置数据和所述机械手位置数据取得示教位置数据,该示教位置数据表示在所述视觉传感器拍摄到所述图像数据时所述机械手与所述工件在所述控制坐标系中的位置关系。
发明效果
根据在操作员想要示教的把持位置用机械手实际把持工件时拍摄到的图像数据来取得示教位置数据,由此,能够高精度地对机器人示教操作员想要示教的把持位置。
附图说明
图1是一实施方式的机器人系统的立体图。
图2是图1所示的机器人系统的框图。
图3是图1所示的机械手的放大图。
图4是一实施方式的工件的图。
图5表示用图3所示的机械手把持图4所示的工件的状态。
图6是图1所示的视觉传感器拍摄机械手把持的工件而得的图像数据的一例。
图7示意性地表示将工件模型应用于图6所示的图像数据的状态。
图8是表示在图1所示的机器人系统中对使机器人用机械手把持工件的位置以及姿势进行示教的方法的一例的流程图。
具体实施方式
以下,根据附图对本公开的实施方式进行详细说明。此外,在以下说明的各种实施方式中,对同样的要素标注相同符号,省略重复的说明。首先,参照图1以及图2,对一实施方式的机器人系统10进行说明。机器人系统10进行拾取散装在容器A中的工件W的作业,其具有:机器人12、视觉传感器14、控制装置16以及示教装置18。
在本实施方式中,机器人12是垂直多关节机器人,其具有:机器人基座20、回转体22、下臂部24、上臂部26、手腕部28以及机械手30。机器人基座20固定在作业单元的地板之上。回转体22以能够绕铅垂轴转动的方式设置于机器人基座20。下臂部24以能够绕水平轴转动的方式设置于回转体22,上臂部26以能够转动的方式设置于下臂部24的前端部。手腕部28能够转动地设置于上臂部26的前端部。
在机器人基座20、回转体22、下臂部24、上臂部26以及手腕部28分别设置有多个伺服马达40(图2)。伺服马达40根据来自控制装置16的指令,使回转体22、下臂部24、上臂部26以及手腕部28分别绕驱动轴转动,由此使机器人12进行动作。此外,在本说明书中,将机器人基座20、回转体22、下臂部24、上臂部26以及手腕部28称为机器人12的机构部42。
机械手30能够装卸地安装于手腕部28的前端部(所谓的手腕凸缘),通过机器人12的机构部42进行移动。具体而言,如图3所示,机械手30具有:机械手臂32、爪部34和36、以及爪部驱动部38。机械手臂32的基端部与手腕部28的前端部连结。
爪部34和36能够开闭地设置于机械手臂32的前端部。在本实施方式中,爪部34和36分别是呈直线状延伸的圆柱状的棒构件。爪部驱动部38例如具有气压式或者液压式的缸或伺服马达,根据来自控制装置16的指令,使爪部34和36开闭。机械手30通过使爪部34和36开闭,能够把持或释放工件W。
再次参照图1和图2,视觉传感器14拍摄工件W。具体而言,视觉传感器14固定于保持框架44。保持框架44固定在作业单元的地板之上,将视觉传感器14静止地配置在容器A的上方位置。
在本实施方式中,视觉传感器14是具有拍摄传感器(CMOS、CCD等)、向该拍摄传感器引导被摄体像的光学透镜(准直透镜、聚焦透镜等)的三维视觉传感器,构成为沿着视线方向VL拍摄被摄体,并且测定到该被摄体像的距离d。
示教装置18对机器人12用机械手30把持散装在容器A中的工件W的动作进行示教。具体而言,示教装置18例如是示教器或平板型终端装置等便携式计算机,其具有:处理器50、存储器52、I/O接口54、显示装置56以及输入装置58。处理器50具有CPU或GPU等,经由总线60与存储器52、I/O接口54、显示装置56以及输入装置58能够通信地连接,并与这些组件进行通信,并且进行用于实现后述的示教功能的运算处理。
存储器52具有RAM或ROM等,暂时或永久地存储各种数据。I/O接口54例如具有:以太网(注册商标)端口、USB端口、光纤连接器或HDMI(注册商标)端子,在来自处理器50的指令下,在与外部设备之间通过有线或无线对数据进行通信。
显示装置56具有液晶显示器或有机EL显示器等,在来自处理器50的指令下,能够目视确认地显示各种数据。输入装置58具有按钮、键盘、鼠标或触摸面板等,受理来自操作员的输入数据。
示教装置18构成为,能够根据向输入装置58的输入数据,经由控制装置16向机器人12输送指令,并按照该指令使该机器人12进行点动动作。此外,显示装置56以及输入装置58可以一体地组装于示教装置18的壳体,或者也可以与示教装置18的壳体分体地外置于该壳体。
控制装置16控制机器人12和视觉传感器14的动作。具体而言,控制装置16是具有处理器70、存储器72、I/O接口74、显示装置76以及输入装置78的计算机。处理器70、存储器72、I/O接口74、显示装置76以及输入装置78的结构以及功能与上述的处理器50、存储器52、显示装置56以及输入装置58一样,因此,省略重复的说明。
处理器70经由总线80与存储器72、I/O接口74、显示装置76以及输入装置78能够通信地连接,并与这些组件进行通信,并且进行用于实现使机器人12和视觉传感器14动作的功能的运算处理。示教装置18的I/O接口54、机器人12的各伺服马达40以及视觉传感器14与I/O接口74连接,处理器70通过I/O接口74与这些组件进行通信。
如图1所示,对机器人12的机构部42设定机器人坐标系C1。机器人坐标系C1是用于对机器人12用机械手30把持工件W的动作进行自动控制的控制坐标系C。在本实施方式中,以其原点配置于机器人基座20的中心且其z轴与回转体22的转动轴一致的方式对机构部42设定机器人坐标系C1。
另一方面,如图3所示,对机器人12的机械手30设定工具坐标系C2。工具坐标系C2是控制坐标系C,规定机械手30在机器人坐标系C1中的位置以及姿势。在本实施方式中,以其原点配置于爪部34和36的中间位置,且其y轴方向与爪部34和36的开闭方向平行,其z轴方向与各个爪部34和36的延展方向平行的方式对机械手30设定工具坐标系C2。
工具坐标系C2与机器人坐标系C1的位置关系是已知的,工具坐标系C2的坐标与机器人坐标系C1的坐标能够经由已知的变换矩阵M1(例如齐次变换矩阵)相互变换。因此,工具坐标系C2在机器人坐标系C1中的原点位置以及各轴的方向表示为机器人坐标系C1的坐标(XRT,YRT,ZRT,WRT,PRT,RRT)。这里,坐标(XRT,YRT,ZRT)表示工具坐标系C2在机器人坐标系C1中的原点位置,坐标(WRT,PRT,RRT)表示工具坐标系C2在机器人坐标系C1中的各轴的方向(所谓的偏航(yaw)、俯仰(pitch)、翻滚(roll))。
在通过机器人12的机构部42将机械手30定位为规定的位置以及姿势时,控制装置16的处理器70首先将表示该规定的位置以及姿势的工具坐标系C2设定于机器人坐标系C1。并且,处理器70生成对各伺服马达40的指令,根据该指令使机构部42进行动作,由此,使机械手30移动,以使机械手30配置成由所设定的工具坐标系C2规定的位置以及姿势。这样,处理器70能够在机器人坐标系C1中,通过机构部42的动作将机械手30定位为规定的位置以及姿势。
如图1所示,对视觉传感器14设定传感器坐标系C3。传感器坐标系C3是控制坐标系C,规定视觉传感器14在机器人坐标系C1中的位置以及姿势(即,视线方向VL),并且规定该视觉传感器14拍摄到的图像数据(或拍摄传感器)的各像素的坐标。在本实施方式中,以其原点配置于拍摄传感器的中心、且其z轴方向与视觉传感器14的视线方向VL一致的方式对视觉传感器14设定传感器坐标系C3。
在此,在本实施方式中,视觉传感器14通过保持框架44配置于机器人坐标系C1的已知位置。更具体而言,传感器坐标系C3与机器人坐标系C1的位置关系通过校准是已知的,传感器坐标系C3的坐标与机器人坐标系C1的坐标可以经由已知的变换矩阵M2(例如齐次变换矩阵)相互变换。这样,视觉传感器14在机器人坐标系C1中的位置以及姿势(即,传感器坐标系C3的原点位置和各轴的方向)是已知的。
在实际的作业生产线中,控制装置16的处理器70执行如下动作:通过视觉传感器14拍摄散装在容器A内的工件W,根据拍摄到的图像数据ID,使机器人12用机械手30把持工件W而从容器A进行拾取。图4表示工件W的一例。
在图4所示的例子中,工件W例如是汽车用的连杆,具有:轴部W1、大环部W2以及小环部W3。轴部W1沿着轴线B笔直地延展。大环部W2固定设置于轴部W1的一端,具有贯通孔H1。另一方面,小环部W3固定设置于轴部W1的另一端,具有贯通孔H2。
为了使机器人12执行用机械手30把持工件W的动作,对该工件W设定工件坐标系C4。工件坐标系C4是控制坐标系C,规定工件W在机器人坐标系C1中的位置以及姿势。在本实施方式中,以其原点配置于轴部W1的中心且其y轴与轴线B平行(或一致)、其z轴与贯通孔H1和H2的中心轴平行的方式对工件W设定工件坐标系C4。
图5表示机器人12用机械手30把持工件W的状态的一例。在图5所示的例子中,机械手30在将其爪部34和36插入到贯通孔H1的状态下打开,由此,利用该爪部34和36把持工件W的大环部W2。如图5所示,为了使机器人12执行把持工件W的动作,需要对机器人12用机械手30把持工件W的位置以及姿势进行示教。
以下,对在机器人系统10中对机器人12示教把持工件W的动作的方法进行说明。首先,操作员使机器人12的机械手30在想要示教的把持位置把持工件W。例如,操作员通过操作示教装置18使机器人12进行点动动作,从而用机械手30把持工件W。
更具体而言,操作员一边目视确认示教装置18的显示装置56,一边操作输入装置58,通过机器人12的机构部42使机械手30移动,将闭状态的爪部34和36插入到配置于预先确定的保管场所的工件W的贯通孔H1。接着,操作员操作输入装置58而使爪部34和36为开状态,将该爪部34和36按压于贯通孔H1的内壁面,由此,把持该工件W。
此时,操作员使机器人12进行点动动作,以使机械手30在想要示教的把持位置把持工件W。以下,对操作员通过机械手30在图5所示的把持位置把持工件W的情况进行说明。接着,操作员操作输入装置58使机器人12进行点动动作,通过机器人12的机构部42使机械手30移动,以使机械手30把持的工件W收容在视觉传感器14的视野内。
接着,操作员操作输入装置58,使视觉传感器14拍摄机械手30把持的工件W。视觉传感器14经由控制装置16从示教装置18受理拍摄指令,拍摄工件W的图像数据ID1。图6表示图像数据ID1的一例。
在图6所示的例子中,在图像数据ID1中将工件W以及机械手30的视觉特征(边缘、孔或者顶点等)显示为三维点群。构成三维点群的各点具有上述的距离d的信息,可以表示为传感器坐标系C3的三维坐标(XS,YS,ZS)。即,在本实施方式中,图像数据ID1是三维图像数据。
示教装置18的处理器50通过控制装置16和I/O接口54从视觉传感器14取得图像数据ID1。这样,在本实施方式中,处理器50作为图像数据取得部82(图2)发挥功能,其中,图像数据取得部82取得在机器人12用机械手30把持工件W时视觉传感器14拍摄该工件W而得的图像数据ID。
接着,处理器50根据图像数据ID1,取得表示视觉传感器14拍摄该图像数据ID1时工件W在机器人坐标系C1中的位置以及姿势的工件位置数据WPD1。具体而言,处理器50首先取得将工件W模型化而得的工件模型WM。该工件模型WM例如是三维CAD模型,预先储存在存储器52中。
处理器50使用预先确定的图案匹配参数,对显现于图像数据ID1中的工件W的三维点群图像进行解析,将工件模型WM以与显现于该图像数据ID1中的工件W一致的方式模拟地配置在该图像数据ID1内。图7表示模拟地配置在图像数据ID1中的工件模型WM。此外,在图7中,为了容易理解,省略了机械手30的图像。
然后,处理器50对配置于图像数据ID1的工件模型WM以图4所示的位置关系设定工件坐标系C4。该工件坐标系C4表示显现于图像数据ID1中的工件W在传感器坐标系C3中的位置以及姿势,表示为传感器坐标系C3的坐标QSW_1(XSW_1,YSW_1,ZSW_1,WSW_1,PSW_1,RSW_1)(第一坐标)。
在此,坐标(XSW_1,YSW_1,ZSW_1)表示工件坐标系C4在传感器坐标系C3中的原点位置,坐标(WSW_1,PSW_1,RSW_1)表示工件坐标系C4在传感器坐标系C3中的各轴的方向(所谓的偏航、俯仰、翻滚)。处理器50取得工件坐标系C4在传感器坐标系C3中的坐标QSW_1,作为表示显现于图像数据ID1中的工件W在传感器坐标系C3中的位置以及姿势的数据。
接着,处理器50使用上述的变换矩阵M2将取得的坐标QSW_1变换为机器人坐标系C1,由此,取得图7所示的工件坐标系C4的、机器人坐标系C1中的坐标QRW_1(XRW_1,YRW_1,ZRW_1,WRW_1,PRW_1,RRW_1)(第二坐标)。该坐标QRW_1是表示显现于图像数据ID1中的工件W(具体而言,图7中的工件模型WM)的、机器人坐标系C1中的位置以及姿势的数据。
处理器50取得该坐标QRW_1作为工件位置数据WPD1。这样,在本实施方式中,处理器50作为工件位置取得部84(图2)发挥功能,其中,工件位置取得部84根据图像数据ID1取得工件位置数据WPD1(坐标QRW_1)。
另一方面,处理器50取得表示视觉传感器14拍摄图像数据ID1时机械手30在机器人坐标系C1中的位置以及姿势的机械手位置数据HPD1。具体而言,处理器50取得视觉传感器14拍摄图像数据ID1时的、工具坐标系C2d在机器人坐标系C1中的坐标QRT_1(XRT_1,YRT_1,ZRT_1,WRT_1,PRT_1,RRT_1)(第三坐标)作为机械手位置数据HPD1。这样,在本实施方式中,处理器50作为取得机械手位置数据HPD1(坐标QRT_1)的机械手位置取得部86(图2)发挥功能。
并且,处理器50根据取得的工件位置数据WPD1和机械手位置数据HPD1,取得表示视觉传感器14拍摄图像数据ID1时的、机械手30与工件W在控制坐标系C中的位置关系的示教位置数据TPD1
作为一例,处理器50根据作为工件位置数据WPD1取得的坐标QRW_1和作为机械手位置数据HPD1取得的坐标QRT_1,将作为工件位置数据WPD1的坐标QRW_1变换为作为机械手位置数据HPD1的坐标QRT_1所表示的工具坐标系C2的坐标。在此,通过坐标QRW_1以及QRT_1,工具坐标系C2与工件坐标系C4在机器人坐标系C1中的位置关系是已知的,因此,能够将工件坐标系C4在机器人坐标系C1中的坐标QRW_1变换为工具坐标系C2。
通过该坐标变换,处理器50取得视觉传感器14拍摄图像数据ID1时的、工件坐标系C4在工具坐标系C2中的坐标QTW_1(XTW_1,YTW_1,ZTW_1,WTW_1,PTW_1,RTW_1)。该坐标QTW_1是表示视觉传感器14拍摄到图像数据ID1时的、工件W相对于机械手30(即,工具坐标系C2)的位置以及姿势(即,工件坐标系C4的原点位置和各轴的方向)的数据。处理器50取得该坐标QTW_1作为示教位置数据TPD1
作为其他例,处理器50根据作为工件位置数据WPD1的坐标QRW_1和作为机械手位置数据HPD1的坐标QRT_1,将作为机械手位置数据HPD1的坐标QRT_1变换为作为工件位置数据WPD1的坐标QRW_1所表示的工件坐标系C4的坐标。由此,处理器50取得视觉传感器14拍摄图像数据ID1时的、工具坐标系C2在工件坐标系C4中的坐标QWT_1(XWT_1,YWT_1,ZWT_1,WWT_1,PWT_1,RWT_1)。
该坐标QWT_1是表示视觉传感器14拍摄到图像数据ID1时的、机械手30相对于工件W(即,工件坐标系C4)的位置以及姿势(即,工具坐标系C2的原点位置以及各轴的方向)的数据。处理器50取得该坐标QWT_1作为示教位置数据TPD1
这样,在本实施方式中,处理器50作为示教位置取得部88(图1)发挥功能,其中,示教位置取得部88根据工件位置数据WPD1和机械手位置数据HPD1取得示教位置数据TPD1(坐标QTW_1,坐标QWT_1),示教位置数据TPD1表示视觉传感器14拍摄图像数据ID1时的、机械手30与工件W在控制坐标系C(工具坐标系C2、工件坐标系C4)中的位置关系。
在取得示教位置数据TPD1之后,操作员操作输入装置58,通过机器人12的机构部42的动作,在把持工件W的状态下使机械手30的姿势变化。例如,操作员操作输入装置58,输入用于使机械手30绕在该时间点设定于机器人坐标系C1的工具坐标系C2的x轴、y轴或者z轴旋转规定角度θ(例如,10°)的输入数据。
作为代替,操作员也可以输入用于使机械手30绕在该时间点设定于机器人坐标系C1的工件坐标系C4的x轴、y轴或者z轴旋转规定角度θ的输入数据。例如,在工件坐标系C4的y轴与工件W的轴线B一致时,操作员可以输入使机械手30绕工件坐标系C4的y轴(即,轴线B)旋转的输入数据。
处理器50根据来自操作员的输入数据,经由控制装置16向机器人12的伺服马达40输送指令,使机构部42进行动作以使把持工件W的机械手30的姿势变化。这样,在本实施方式中,处理器50作为使机器人12进行动作以使机械手30的姿势变化的机器人控制部90(图2)发挥功能。
在使机械手30的姿势变化时,操作员操作输入装置58使视觉传感器14拍摄机械手30把持的工件W,处理器50作为图像数据取得部82发挥功能,取得工件W的图像数据ID2。并且,处理器50作为工件位置取得部84发挥功能,通过上述方法,将工件模型WM应用于图像数据ID2,由此,取得工件坐标系C4在传感器坐标系C3中的坐标QSW_2(XSW_2,YSW_2,ZSW_2,WSW_2,PSW_2,RSW_2)(第一坐标)。
接着,处理器50作为工件位置取得部84发挥功能,通过上述方法,将取得的坐标QSW_2变换为机器人坐标系C1,由此,取得工件坐标系C4在机器人坐标系C1中的坐标QRW_2(XRW_2,YRW_2,ZRW_2,WRW_2,PRW_2,RRW_2)(第二坐标)作为图像数据ID2的拍摄时的工件位置数据WPD2
另外,处理器50作为机械手位置取得部86发挥功能,通过上述方法,取得工具坐标系C2在机器人坐标系C1中的坐标QRT_2(XRT_2,YRT_2,ZRT_2,WRT_2,PRT_2,RRT_2)(第三坐标)作为图像数据ID2的拍摄时的机械手位置数据HPD2
并且,处理器50作为示教位置取得部88发挥功能,通过上述方法,取得工件坐标系C4在工具坐标系C2中的坐标QTW_2(XTW_2,YTW_2,ZTW_2,WTW_2,PTW_2,RTW_2)或工具坐标系C2在工件坐标系C4中的坐标QWT_2(XWT_2,YWT_2,ZWT_2,WWT_2,PWT_2,RWT_2)作为图像数据ID2的拍摄时的示教位置数据TPD2
这样,操作员操作输入装置58使机械手30的姿势反复变化,每当机械手30的姿势变化时,视觉传感器14拍摄该机械手30把持的工件W,处理器50作为图像数据取得部82发挥功能,取得视觉传感器14拍摄到的多个图像数据IDn(n=1、2、3、…)。
并且,处理器50作为工件位置取得部84发挥功能,通过上述方法,分别取得拍摄各个图像数据IDn时的工件位置数据WPDn:坐标QRW_n(XRW_n,YRW_n,ZRW_n,WRW_n,PRW_n,RRW_n),并且作为机械手位置取得部86发挥功能,通过上述方法,分别取得拍摄各个图像数据IDn时的机械手位置数据HPDn:坐标QRT_n(XRT_n,YRT_n,ZRT_n,WRT_n,PRT_n,RRT_n)。
并且,处理器50作为示教位置取得部88发挥功能,通过上述方法,根据取得的各个工件位置数据WPDn(坐标QRW_n)和各个机械手位置数据HPDn(坐标QRT_n),分别取得拍摄各个图像数据IDn时的示教位置数据TPDn:坐标QTW_n(XTW_n,YTW_n,ZTW_n,WTW_n,PTW_n,RTW_n)或坐标QWT_n(XWT_n,YWT_n,ZWT_n,WWT_n,PWT_n,RWT_n)。这样,处理器50能够取得与机械手30和工件W的各种姿势对应的多个示教位置数据TPDn
接着,处理器50作为示教位置取得部88发挥功能,根据取得的多个示教位置数据TPDn,求出使机器人12用机械手30实际把持工件W的动作中使用的新的示教位置数据TPD0。以下,对处理器50取得工具坐标系C2的坐标QTW_n(XTW_n,YTW_n,ZTW_n,WTW_n,PTW_n,RTW_n)作为示教位置数据TPDn时,求出新的示教位置数据TPD0的方法进行说明。
首先,对于多个坐标QTW_n的每一个,处理器50进行将预先确定的容许范围外的坐标排除的处理PR1。具体而言,处理器50针对坐标QTW_n中的表示位置的坐标(XTW_n,YTW_n,ZTW_n),进行将容许范围外的坐标排除的处理PR1。
作为一例,处理器50根据Δn=(XTW_n 2+YTW_n 2+ZTW_n 2)1/2的式子求出距工具坐标系C2的原点的距离Δn。并且,处理器50判定求出的距离Δn是否在预先确定的容许范围[Δth1,Δth2]内,在距离Δn在容许范围[Δth1,Δth2]内(即,Δth1≤Δn≤Δth2)时,将取得的坐标QTW_n作为有效坐标组GRP登记于存储器52,另一方面,在距离Δn在容许范围[Δth1,Δth2]外(即,Δn<Δth1或Δth2<Δn)时,将取得的坐标QTW_n从有效坐标组GRP中排除(或从存储器52中删除)。
作为其他例,处理器50求出坐标QTW_n(XTW_n,YTW_n,ZTW_n)的平均坐标QTW_AV(XTW_AV,YTW_AV,ZTW_AV)。具体而言,处理器50根据XTW_AV=1/n·Σ(XTW_n),YTW_AV=1/n·Σ(YTW_n)以及ZTW_AV=1/n·Σ(ZTW_n)的式子,求出平均的坐标QTW_AV(XTW_AV,YTW_AV,ZTW_AV)。
另外,处理器50分别求出坐标QTW_n(XTW_n,YTW_n,ZTW_n)的标准偏差σX、σY以及σZ。例如,处理器50根据σX=(1/n·Σ{XTW_n-XTW_AV})1/2、σY=(1/n·Σ{YTW_n-YTW_AV})1/2、σZ=(1/n·Σ{ZTW_n-ZTW_AV})1/2的式子来求出。
并且,处理器50针对坐标QTW_n中的坐标XTW_n、YTW_n以及ZTW_n的每一个,使用求出的平均以及标准偏差σ和预先确定的系数α(例如,α为正整数),将容许范围确定为[XTW_AV-ασX,XTW_AV+ασX](即,XTW_AV-ασX≤XTW_n≤XTW_AV+ασX),[YTW_AV-ασY,YTW_AV+ασY](即,YTW_AV-ασY≤YTW_n≤YTW_AV+ασY)以及[ZTW_AV-ασZ,ZTW_AV+ασZ](即,ZTW_AV-ασZ≤ZTW_n≤ZTW_AV+ασZ)。
处理器50分别判定坐标XTW是否在容许范围[XTW_AVX,XTW_AVX]内,坐标YTW_n是否在容许范围[YTW_AVY,YTW_AVY]内,以及坐标ZTW_n是否在容许范围[ZTW_AVZ,ZTW_AVZ]内。
并且,处理器50在坐标XTW_n、YTW_n及ZTW_n全部在容许范围内时,将取得的坐标QTW_n登记为有效坐标组GRP,另一方面,在坐标XTW、YTW_n及ZTW_n中的至少一个在容许范围外时,将取得的坐标QTW_n从有效坐标组GRP排除。
另外,处理器50针对坐标QTW_n中的表示姿势的坐标(WTW_n,PTW_n,RTW_n)进行将容许范围外的坐标排除的处理PR1。具体而言,处理器50首先将表示姿势的坐标(WTW_n,PTW_n,RTW_n)表示为3×3的已知的矩阵M3_n
在该矩阵M3_n中,由第一列的三个参数表示的向量VT1_n是表示绕工具坐标系C2的x轴的旋转成分的单位向量,由第二列的三个参数表示的向量VT2_n是表示绕工具坐标系C2的y轴的旋转成分的单位向量,由第三列的三个参数表示的向量VT3_n是表示绕工具坐标系C2的z轴的旋转成分的单位向量。
例如,处理器50求出表示第一坐标QTW_n(WTW_n,PTW_n,RTW_n)的矩阵M3_n的向量VT1_n与表示第二坐标QTW_n+1(WTW_n+1,PTW_n+1,RTW_n+1)的矩阵M3_n+1的向量VT1_n+1之内积IP1n。该内积IP1n表示向量VT1_n与向量VT1_n+1之间的角度(具体而言,/>),即绕工具坐标系C2的x轴的旋转成分的变化量。
另外,处理器50求出矩阵M3_n的向量VT3_n与矩阵M3_n+1的向量VT3_n+1之内积IP3n。该内积IP3n表示向量VT3_n与向量VT3_n+1之间的角度(具体而言,/>),即绕工具坐标系C2的z轴的旋转成分的变化量。
并且,处理器50判定求出的内积IP1n是否为预先确定的阈值IP1th以上(IP1n≥IP1th),并且判定求出的内积IP3n是否为预先确定的阈值IP3th以上(IP3n≥IP3th)。在IP1n≥IP1th且IP3n≥IP3th时,处理器50将取得的第一坐标QTW_n和第二坐标QTW_n+1双方作为有效坐标组GRP登记在存储器52中。
另一方面,在IP1n<IP1th或IP3n<IP3th时,处理器50将取得的第一坐标QTW_n和第二坐标QTW_n+1中的某一个从有效坐标组GRP中排除(或从存储器52删除)。此外,也可以由操作员预先确定将第一坐标QTW_n和第二坐标QTW_n+1中的哪一个排除。
此外,处理器50可以分别求出表示第一坐标QTW_n(WTW_n,PTW_n,RTW_n)的矩阵M3_n的向量VT1_n与表示该第一坐标QTW_n以外的各个坐标QTW_i(WTW_i,PTW_i,RTW_i)的矩阵M3_i的向量VT1_i(“i”为“n”以外的正整数)之内积IP1i。一样地,处理器50也可以分别求出第一坐标QTW_n的矩阵M3_n的向量VT3_n与该第一坐标QTW_n以外的各个坐标QTW_i的矩阵M3_i的向量VT3_i之内积IP3i
并且,处理器50可以判定求出的内积IP1i的每一个是否为阈值IP1th以上(IP1i≥IP1th),并且判定求出的内积IP3i的每一个是否为阈值IP3th以上(IP3i≥IP3th)。在求出的内积IP1i的至少一个(或全部)满足IP1i≥IP1th,且求出的内积IP3i的至少一个(或全部)满足IP3i≥IP3th时,处理器50可以将取得的第一坐标QTW_n作为有效坐标组GRP登记在存储器52中。
另一方面,处理器50也可以在求出的内积IP1i的全部(或者至少一个)为IP1i<IP1th,或者求出的内积IP3i的全部(或者至少一个)为IP3i<IP3th的情况下,将取得的第一坐标QTW_n从有效坐标组GRP中排除。处理器50可以针对取得的全部坐标QTW_n反复进行这样的处理PR1。
作为代替,处理器50求出向量VT1_1、VT1_2、VT1_3、…VT1_n的合成向量VT1R=Σ(VT1_n),求出该合成向量VT1R与各个向量VT1_n之内积IP1R_n。并且,处理器50判定求出的内积IP1R_n是否为预先确定的阈值IP1Rth以上(IP1R_n≥IP1Rth)。处理器50在IP1R_n≥IP1Rth时,将坐标QTW_n作为有效坐标组GRP登记在存储器52中,另一方面,在IP1R_n<IP1Rth时,将坐标QTW_n作为有效坐标组GRP(或从存储器52删除)。
此外,可以与向量VT1_n一样,处理器50也针对向量VT2_n或VT3_n求出合成向量VT2R=Σ(VT2_n)或VT3R=Σ(VT3_n),求出该合成向量VT2R或VT3R与各个向量VT2_n或VT3_n之内积IP2R_n或IP3R_n而与阈值IP2Rth或IP3Rth进行比较,由此,决定从有效坐标组GRP中排除的坐标QTW_n
这样,处理器50对多个坐标QTW_n的每一个进行排除的处理PR1。通过该处理PR1,能够将因误检测而取得的坐标QTW_n排除。此外,由操作员预先确定用于划定上述的各种容许范围的阈值Δth1、Δth2、IP1th、IP3th、IP1Rth、IP2Rth或IP3Rth(或系数α)。
在进行排除的处理PR1之后,处理器50进行将登记在有效坐标组GRP中的坐标QTW_m(m表示登记在有效坐标组GRP中的坐标QTW_n的编号n)平均化的处理PR2。具体而言,处理器50求出登记在有效坐标组GRP中的坐标QTW_m中的、表示位置的坐标(XTW_m,YTW_m,ZTW_m)的平均坐标(XTW_0,YTW_0,ZTW_0)。
具体而言,处理器50根据XTW_0=1/k·Σ(XTW_m)、YTW_0=1/k·Σ(YTW_m)以及ZTW_0=1/k·Σ(ZTW_m)的式子,求出平均坐标(XTW_0,YTW_0,ZTW_0)。此外,该式中的“k”表示登记在有效坐标组GRP中的坐标QTW_m的数量。
另外,处理器50进行将登记在有效坐标组GRP中的坐标QTW_m中的、表示姿势的坐标(WTW_m,PTW_m,RTW_m)平均化的处理PR2。具体而言,处理器50针对表示姿势的坐标(WTW_m,PTW_m,RTW_m),求出上述的向量VT1_m的合成向量VT1R=Σ(VT1_m)和向量VT3_m的合成向量VT3R=Σ(VT3_m)。
接下来,处理器50求出合成向量VT1R的单位向量VT1R’与合成向量VT3R的单位向量VT3R’之外积OP1。该外积OP1表示与单位向量VT1R’和单位向量VT3R’正交的方向的向量。并且,处理器50将通过外积OP1表示的向量归一化,由此,求出单位向量VT2R’。
接着,处理器50求出单位向量VT2R’与单位向量VT3R’之外积OP2,将通过该外积OP2表示的向量归一化,由此,求出单位向量VT1R”。这样,处理器50取得单位向量VT1R”、VT2R’和VT3R’。
并且,处理器50求出由这些单位向量VT1R”、VT2R’和VT3R’表示的姿势(WTW_0,PTW_0,RTW_0)。该姿势的坐标表示工件坐标系C4在工具坐标系C2中的各轴方向,工件坐标系C4的x轴方向是上述单位向量VT1R”的方向,y轴方向是上述单位向量VT2R’的方向,z轴方向是上述单位向量VT3R’的方向。
作为代替,为了求出姿势的坐标(WTW_0,PTW_0,RTW_0),处理器50可以将向量VT2_m的合成向量VT2R=Σ(VT2_m)的单位向量VT2R’与上述单位向量VT1R’一起求出,求出该单位向量VT1R’与该单位向量VT2R’之外积OP3。
并且,处理器50也可以通过将由外积OP3表示的向量归一化,求出单位向量VT3R’,求出该单位向量VT3R’与单位向量VT1R’之外积OP4,通过将由该外积OP4表示的向量归一化,求出单位向量VT2R”。处理器50能够根据这样求出的单位向量VT1R’、VT2R”和VT3R’求出姿势的坐标(WTW_0,PTW_0,RTW_0)。
通过上述方法,处理器50进行将登记在有效坐标组GRP中的坐标QTW_m平均化的处理PR2。结果,处理器50能够取得坐标QTW_0(XTW_0,YTW_0,ZTW_0,WTW_0,PTW_0,RTW_0)作为示教位置数据TPD0
该坐标QTW_0表示工件坐标系C4在工具坐标系C2中的原点位置(XTW_0,YTW_0,ZTW_0)以及各轴的方向(WTW_0,PTW_0,RTW_0)。这样,处理器50作为示教位置取得部88发挥功能,根据取得的多个坐标QTW_n(n=1、2、3、4…)求出一个示教位置数据TPD0(坐标QTW_0)。
此外,应理解的是,即使在处理器50取得工具坐标系C2在工件坐标系C4中的坐标QWT_n(XWT_n,YWT_n,ZWT_n,WWT_n,PWT_n,RWT_n)作为示教位置数据TPDn时,也能够通过上述方法求出工具坐标系C2在工件坐标系C4中的坐标QWT_0(XWT_0,YWT_0,ZWT_0,WWT_0,PWT_0,RWT_0)作为新的示教位置数据TPD0
接着,处理器50使用求出的示教位置数据TPD0,生成将该示教位置数据TPD0(即,坐标QTW_或QWT_0)规定为命令代码的动作程序OP。因此,处理器50作为生成动作程序OP的动作程序生成部92(图2)发挥功能。
控制装置16的处理器70在实际的作业生产线中按照动作程序OP使机器人12进行动作,执行用机械手30把持散装在容器A内的工件W来进行拾取的动作。具体而言,处理器70使视觉传感器14动作来拍摄容器A内的工件W,从视觉传感器14取得拍摄到的图像数据IDW(第二图像数据)。
接着,处理器70与上述的工件位置取得部84一样,根据取得的图像数据IDW取得工件位置数据WPDW(第二工件位置数据),其中,工件位置数据WPDW表示显现于该图像数据IDW的工件W在机器人坐标系C1中的位置以及姿势。具体而言,处理器70将工件模型WM配置为与显现于图像数据IDW的工件W一致,对配置的该工件模型WM设定工件坐标系C4。
并且,处理器70取得设定的工件坐标系C4的传感器坐标系C3的坐标QSW_W(XSW_W,YSW_W,ZSW_W,WSW_W,PSW_W,RSW_W),将该坐标QSW_W变换为机器人坐标系C1,由此,取得工件坐标系C4在机器人坐标系C1中的坐标QRW_W(XRW_W,YRW_W,ZRW_W,WRW_W,PRW_W,RRW_W)作为工件位置数据WPDW。这样,处理器70取得表示工件W在机器人坐标系C1中的位置以及姿势的工件位置数据WPDW(坐标QRW_W)。
接着,处理器70根据取得的工件位置数据WPDW和在动作程序OP中规定的示教位置数据TPD0,决定把持视觉传感器14拍摄到的工件W时的、机械手30在机器人坐标系C1中的位置以及姿势。
具体而言,处理器70使用作为工件位置数据WPDW取得的坐标QRW_W和示教位置数据TPD0(具体而言,坐标QTW_0或QWT_0),求出机器人坐标系C1的坐标QRT_0(XRT_0,YRT_0,ZRT_0,WRT_0,PRT_0,RRT_0),其中,坐标QRT_0具有相对于由坐标QRW_W表示的工件坐标系C4由示教位置数据TPD0表示的位置关系。处理器70在机器人坐标系C1中将工具坐标系C2设定为求出的坐标QRT_0,由此,决定把持工件W时的机械手30的位置以及姿势。
并且,处理器70使机构部42进行动作,由此,使机械手30移动,以将爪部34和36维持为闭状态的该机械手30配置为由设定于机器人坐标系C1的坐标QRT_0的工具坐标系C2规定的位置以及姿势。由此,爪部34和36插入到工件W的贯通孔H1。
并且,处理器70使爪部驱动部38进行动作而打开爪部34和36,由此,利用该爪部34和36把持工件W的大环部W2。结果,如图5所示,机械手30能够在通过示教位置数据TPD0示教的把持位置把持工件W。
并且,处理器70使机构部42进行动作,使把持工件W的机械手30从容器A退避,由此,能够拾取工件W。之后,处理器70针对散装在容器A内的各个工件W反复执行上述的一系列动作,由此,执行用机械手30拾取散装在容器A内的工件W的作业。
如上所述,在本实施方式中,示教装置18的处理器50作为图像数据取得部82、工件位置取得部84、机械手位置取得部86、示教位置取得部88、机器人控制部90以及动作程序生成部92发挥功能,在机器人坐标系C1中对机器人12用机械手30把持工件W的位置以及姿势进行示教。
因此,图像数据取得部82、工件位置取得部84、机械手位置取得部86、示教位置取得部88、机器人控制部90以及动作程序生成部92构成对机器人12用机械手30把持工件W的位置以及姿势进行示教的装置100(图2)。即,在本实施方式中,装置100安装于示教装置18,该示教装置18的处理器50执行装置100的功能。
在该装置100中,图像数据取得部82在机器人12用机械手30把持工件W时,取得配置于控制坐标系C(机器人坐标系C1)的已知位置的视觉传感器14拍摄该工件W而得的图像数据IDn,工件位置取得部84根据图像数据IDn取得的工件位置数据WPDn,其中,工件位置数据WPDn表示在拍摄该图像数据IDn时工件W在控制坐标系C(机器人坐标系C1)中的位置以及姿势。
另外,机械手位置取得部86取得机械手位置数据HPDn,其中,机械手位置数据HPDn表示在拍摄该图像数据IDn时机械手30在控制坐标系C(机器人坐标系C1)中的位置以及姿势,示教位置取得部88根据工件位置数据WPDn以及机械手位置数据HPDn取得的示教位置数据TPDn,其中,示教位置数据TPDn表示在拍摄该图像数据IDn时机械手30与工件W在控制坐标系C(工具坐标系C2、工件坐标系C4)中的位置关系。
这样,根据在操作员想要示教的把持位置用机械手30实际把持工件W时拍摄到的图像数据IDn来取得示教位置数据TPDn,由此,能够高精度地对机器人12示教操作员想要示教的把持位置。
另外,在装置100中,机器人控制部90使机器人12进行动作,以使把持工件W的机械手30的姿势反复变化,每当机器人控制部90使机械手30的姿势变化时,图像数据取得部82取得视觉传感器14拍摄到的多个图像数据IDn。另外,工件位置取得部84根据各个图像数据IDn分别取得工件位置数据WPDn,机械手位置取得部86分别取得拍摄各个图像数据IDn时的机械手位置数据HPDn
并且,示教位置取得部88根据各个工件位置数据WPDn和各个机械手位置数据HPDn,分别取得拍摄各个图像数据IDn时的示教位置数据TPDn。通过像这样收集基于各种姿势的工件W的图像数据IDn的多个示教位置数据TPDn,能够更高精度地对机器人12示教工件W的把持位置。
另外,在装置100中,示教位置取得部88根据多个示教位置数据TPDn,求出使机器人12用机械手30把持工件W的动作中使用的新的示教位置数据TPD0。这样,根据与各种姿势的工件W的图像数据IDn对应的多个示教位置数据TPDn求出示教位置数据TPD0,由此,能够通过该示教位置数据TPD0更高精度地决定把持该各种姿势的工件W时的机械手30的位置以及姿势。
另外,在装置100中,示教位置数据TPDn表示为控制坐标系C(工具坐标系C2、工件坐标系C4)的坐标QTW_n、QWT_n,示教位置取得部88将多个示教位置数据TPDn的坐标QTW_n、QWT_n中的预先确定的容许范围外的坐标排除,求出坐标QTW_m、QWT_m的平均,由此,求出新的示教位置数据TPD0
根据该结构,能够将因误检测等而取得的坐标QTW_n、QWT_n排除,并且通过将坐标QTW_m、QWT_m平均化,能够取得更高精度的示教位置数据TPD0。由此,能够更高精度地决定把持各种姿势的工件W时的机械手30的位置以及姿势。另外,在装置100中,动作程序生成部92生成规定了示教位置数据TPD0的动作程序OP。根据该结构,能够自动地生成规定了如上述那样取得的示教位置数据TPD0的动作程序OP。
另外,在装置100中,工件位置取得部84取得表示使工件模型WM与显现于图像数据IDn的工件W(三维点群图像)一致时的、该工件模型WM在控制坐标系C(机器人坐标系C2)中的位置以及姿势的数据,来作为工件位置数据WPDn。根据该结构,能够根据视觉传感器14拍摄到的图像数据IDn高精度地检测工件位置数据WPDn
另外,在装置100中,控制坐标系C具有:机器人坐标系C1、工件坐标系C4、与机器人坐标系C1的位置关系已知的工具坐标系C2、以及与机器人坐标系C1的位置关系已知的传感器坐标系C3,视觉传感器14配置于机器人坐标系C1的已知位置。
并且,工件位置取得部84取得表示显现于图像数据IDn的工件W的位置以及姿势的工件坐标系C4在传感器坐标系C3中的第一坐标QSW_n,将该第一坐标QSW_n变换为机器人坐标系C1,由此,取得工件坐标系C4在机器人坐标系C1中的第二坐标QRW_n作为工件位置数据WPDn
另外,机械手位置取得部86取得表示机械手30的位置以及姿势的工具坐标系C2在机器人坐标系C1中的第三坐标QRT_n作为机械手位置数据HPDn,示教位置取得部88根据第二坐标QRW_n和第三坐标QRT_n,取得示教位置数据TPDn作为工件坐标系C4在工具坐标系C2中的坐标QTW_n或工具坐标系C2在工件坐标系C4中的坐标QWT_n。根据该结构,能够以用作控制坐标系C的机器人坐标系C1、工具坐标系C2、传感器坐标系C3以及工件坐标系C4为基准,取得示教位置数据TPDn作为控制坐标系C的坐标QTW_n或QWT_n
此外,在上述实施方式中,对操作员手动操作示教装置18,使把持工件W的机械手30的姿势变化的情况进行了描述。然而,不限于此,处理器50也可以自动地执行机械手30的姿势的变化、图像数据IDn的取得、工件位置数据WPDn的取得、机械手位置数据HPDn的取得以及示教位置数据TPDn的取得这一系列动作。
以下,参照图8对这样的实施方式进行说明。图8所示的流程在示教装置18的处理器50受理了示教开始指令CM时而开始。例如,操作员操作示教装置18的输入装置58,在如图5所示那样使机械手30把持工件W时,将示教开始指令CM输入到示教装置18。
在步骤S1中,处理器50将规定要取得的示教位置数据TPDn的个数的数量“n”设置为“1”。该数量“n”与上述的图像数据IDn、工件位置数据WPDn、机械手位置数据HPDn以及示教位置数据TPDn的“n”对应。
在步骤S2中,处理器50使机器人12的机构部42进行动作,使机械手30把持的工件W移动使得收容在视觉传感器14的视野内。作为一例,处理器50可以使机械手30沿着预先确定的移动路径移动。该移动路径可以通过由操作员对机器人12进行预先示教而确定。作为其他例,处理器50也可以取得工具坐标系C2以及传感器坐标系C3在机器人坐标系C1中的坐标,根据该坐标使机械手30移动。
在步骤S3中,处理器50作为图像数据取得部82发挥功能,取得图像数据IDn。具体而言,处理器50向视觉传感器14发送拍摄指令,使该视觉传感器14进行动作,拍摄机械手30把持的工件W的图像数据IDn。并且,处理器50作为图像数据取得部82发挥功能,从视觉传感器14取得该图像数据IDn
在步骤S4中,处理器50作为工件位置取得部84发挥功能,通过上述的方法,根据在最近的步骤S3中取得的图像数据IDn来取得工件位置数据WPDn(例如,坐标QRW_n)。在步骤S5中,处理器50作为机械手位置取得部86发挥功能,通过上述方法,取得在拍摄最近的步骤S3中取得的图像数据IDn时的机械手位置数据HPDn(例如,坐标QRT_n)。
在步骤S6中,处理器50作为示教位置取得部88发挥功能,通过上述方法,根据在最近的步骤S4中取得的工件位置数据WPDn和在最近的步骤S5中取得的机械手位置数据HPDn,取得示教位置数据TPDn(例如,坐标QTW_n或QWT_n)。
在步骤S7中,处理器50判定数量“n”是否达到预先确定的数量nMAX(n=nMAX)。该数量nMAX可以由操作员预先确定。处理器50在n=nMAX时判定为“是”,进入到步骤S10,另一方面,在n<nMAX时判定为“否”,进入到步骤S8。在步骤S8中,处理器50使数量“n”增加“1”(n=n+1)。
在步骤S9中,处理器50作为机器人控制部90发挥功能,使机器人12的机构部42进行动作,改变把持工件W的机械手30的姿势。具体而言,处理器50使机械手30绕在该时间点设定于机器人坐标系C1的工具坐标系C2的x轴、y轴或z轴旋转规定的角度θ。
作为代替,处理器50也可以使机械手30绕在该时间点设定于机器人坐标系C1的工件坐标系C4的x轴、y轴(即,工件W的轴线B)或z轴旋转角度θ。在执行该步骤S9时使机械手30旋转的角度θ以及方向可以由操作员预先确定,或者也可以是由处理器50在每次执行步骤S9时,考虑在该时间点设定的工具坐标系C2(或者工件坐标系C4)与传感器坐标系C3的位置关系而自动地(例如随机地)决定的,使得成为工件W整体进入到视觉传感器14的视野内的姿势。
在步骤S9之后,处理器50返回到步骤S3,反复执行步骤S3~S9的循环,直到在步骤S7中判定为“是”为止。这样,处理器50可以自动地取得多个示教位置数据TPDn(n=1、2、3、4…)。
在步骤S7中判定为“是”时,在步骤S10中,处理器50作为示教位置取得部88发挥功能,通过上述方法,根据取得的多个示教位置数据TPDn,求出新的示教位置数据TPD0(例如,坐标QTW_0或QWT_0)。
在步骤S11中,处理器50作为动作程序生成部92发挥功能,与上述实施方式一样,生成规定了示教位置数据TPD0(即,坐标QTW_0或QWT_0)的动作程序OP。如上所述,根据本实施方式,处理器50通过自动地执行步骤S1~S11的一系列动作,能够自动地生成动作程序OP。根据该结构,能够使对机器人12示教把持工件W的位置的过程迅速化且简单化。
此外,在上述的步骤S9中,处理器50也可以作为机器人控制部90发挥功能,改变该机械手30的位置,来代替改变机械手30的姿势。具体而言,在步骤S9中,处理器50可以使机器人12的机构部42进行动作,使机械手30向在该时间点设定于机器人坐标系C1的工具坐标系C2(或者工件坐标系C4)的x轴、y轴或者z轴的方向平移移动预定距离δ,由此,改变该机械手30的位置。在此,“平移移动”可以定义为不改变机械手30的姿势(即,工具坐标系C2的各轴方向)地使该机械手30移动的动作。
作为代替,处理器50也可以在每次执行步骤S9时交替地执行改变机械手30的姿势的动作和改变机械手30的位置的动作,或者也可以在步骤S9中改变机械手30的姿势并且改变该机械手30的位置。
此外,在上述实施方式中,对装置100的功能安装于示教装置18的情况进行了描述。然而,不限于此,装置100的功能也可以安装于控制装置16(或者视觉传感器14)。该情况下,控制装置16的处理器70(或视觉传感器14的处理器)作为装置100(即,图像数据取得部82、工件位置取得部84、机械手位置取得部86、示教位置取得部88、机器人控制部90以及动作程序生成部92)发挥功能。
另外,也可以是,图像数据取得部82、工件位置取得部84、机械手位置取得部86、示教位置取得部88、机器人控制部90以及动作程序生成部92中的一部分安装于控制装置16、示教装置18以及视觉传感器14中的一个,而其他部分安装于控制装置16、示教装置18以及视觉传感器14中的另一个。
例如,也可以是,图像数据取得部82安装于视觉传感器14,工件位置取得部84、机械手位置取得部86以及机器人控制部90安装于控制装置16,示教位置取得部88以及动作程序生成部92安装于示教装置18。该情况下,视觉传感器14的处理器、控制装置16的处理器70以及示教装置18的处理器50构成装置100。
此外,在上述实施方式中,处理器50也可以作为机械手位置取得部86发挥功能,根据图像数据IDn,取得表示传感器坐标系C2中的机械手30的位置以及姿势的数据,从该数据取得机械手位置数据HPDn。具体而言,如图6所示,视觉传感器14在将工件W和把持该工件W的机械手30收容于视野的状态下拍摄图像数据IDn
处理器50作为图像数据取得部82发挥功能,在从视觉传感器14取得图像数据IDn时,与上述工件模型WM一起取得将机械手30模型化而得的机械手模型30M。该机械手模型30M例如是三维CAD模型,预先储存在存储器52中。
并且,处理器50使用预先确定的图案匹配参数,来解析显现于图像数据IDn的机械手30的三维点群图像,将机械手模型30M模拟地配置为与显现于该图像数据IDn的机械手30一致。接着,处理器50针对配置于图像数据IDn的机械手模型30M,以图3所示的位置关系设定工具坐标系C2。并且,处理器50取得所设定的该工具坐标系C2在传感器坐标系C3中的坐标QST_n,将该坐标QST_n变换为机器人坐标系C1,由此,取得机械手位置数据HPDn(坐标QRT_n)。
也可以使视觉传感器14执行这样的功能。例如,视觉传感器14(具体而言,处理器)也可以通过将工件模型WM和机械手模型30M应用于拍摄到的图像数据IDn,来取得工具坐标系C2在传感器坐标系C3中的坐标QST_n和工件坐标系C4在传感器坐标系C3中的坐标QSW_n,并提供给示教装置18。
作为代替,视觉传感器14也可以作为工件位置取得部84发挥功能,取得工件坐标系C4在传感器坐标系C3中的坐标QSW_n作为工件位置数据WPDn,并且作为机械手位置取得部86发挥功能,取得工具坐标系C2在传感器坐标系C3中的坐标QST_n作为机械手位置数据HPDn
并且,视觉传感器14也可以作为示教位置取得部88发挥功能,根据工件位置数据WPDn(坐标QSW_n)和机械手位置数据HPDn(坐标QST_n)来取得示教位置数据TPDn(例如,坐标QTW_n或QWT_n)。即,该情况下,视觉传感器14的处理器作为装置100发挥功能。
此外,在上述实施方式中,描述了以下情况:处理器50在对多个坐标QTW_n或QWT_n的每一个进行排除的处理PR1的基础上,进行将登记于有效坐标组GRP的坐标QTW_m或QWT_n平均化的处理PR2。然而,不限于此,处理器50也可以对多个坐标QTW_n或QWT_n仅执行排除的处理PR1和平均化的处理PR2中的某一个。
例如,处理器50可以不进行排除的处理PR1,而通过执行将所取得的多个坐标QTW_n或QWT_n平均化的处理PR2,求出新的示教位置数据TPD0。或者,处理器50也可以对多个坐标QTW_n或QWT_n仅进行排除的处理PR1,该处理PR1的结果是,从登记于有效坐标组GRP的坐标QTW_m或QWT_n中,按照预先确定的条件自动地选择一个示教位置数据TPD0
此外,在上述实施方式中,描述了以下情况:处理器50根据取得的多个示教位置数据TPDn来求出新的示教位置数据TPD0。然而,不限于此,处理器50例如也可以生成以列表形式显示所取得的多个示教位置数据TPDn的图像数据,并显示于显示装置56。
并且,操作员操作输入装置58,将从显示于显示装置56的多个示教位置数据TPDn中选择所期望的示教位置数据TPD0的输入数据提供给处理器50。处理器50接受该输入数据,生成规定了由操作员选择的示教位置数据TPD0的动作程序OP。
此外,在上述实施方式中,描述了以下情况:处理器50作为机器人控制部90发挥功能而使机械手30的姿势反复变化,由此,取得多个示教位置数据TPDn。然而,不限于此,处理器50也可以不改变机械手30的姿势而仅取得上述的示教位置数据TPD1。该情况下,处理器50可以制作规定了该示教位置数据TPD1的动作程序OP。即,该情况下,能够从装置100省略机器人控制部90。
另外,在上述实施方式中,描述了以下情况:处理器50作为动作程序生成部92发挥功能来制作动作程序OP。然而,不限于此,操作员也可以以由处理器50取得的示教位置数据TPDn为基础,手动地制作动作程序OP。即,该情况下,可以从装置100省略动作程序生成部92。
另外,在上述实施方式中,描述了以下情况:处理器50将工件模型WM应用于图像数据IDn来取得工件位置数据WPDn。然而,不限于此,处理器50也可以不使用工件模型WM,而是通过对显现于图像数据IDn的工件W的图像进行解析来取得工件位置数据WPDn
另外,在上述实施方式中,描述了以下情况:以作为控制坐标系C的机器人坐标系C1、工具坐标系C2、传感器坐标系C3以及工件坐标系C4为基准,取得示教位置数据TPDn。然而,不限于此,例如也可以以世界坐标系C5为基准,取得示教位置数据TPDn。世界坐标系C5是规定作业单元的三维空间的控制坐标系C,固定地设定于作业单元。
此外,视觉传感器14不是固定于保持框架44,而是固定于机器人12的机构部42(例如,上臂部26或者下臂部24)。该情况下,视觉传感器14以能够拍摄机械手30把持的工件W的方式安装于机构部42。另外,在上述实施方式中,对工件位置数据WPDn、机械手位置数据HPDn以及示教位置数据TPDn为控制坐标系C的坐标Q的情况进行了描述,但不限于此,也可以表示为其他任何数据。
另外,机械手30也可以通过将爪部34和36按压于贯通孔H2的内壁面来把持小环部W3,来代替把持大环部W2。该情况下,示教装置50通过与上述实施方式一样的方法,来示教用机械手30把持小环部W3的位置以及姿势。
另外,工件W不限于图4所示的方式(连杆),可以是任何形状,机械手30可以是任何类型。例如,机械手30可以具有例如吸附部(真空装置、吸盘、磁铁等)来代替能够开闭的爪部34和36,用该吸附部吸附把持工件W。
另外,视觉传感器14可以是二维相机。该情况下,机器人系统10还可以具有:距离传感器,其固定于视觉传感器14,能够测定该视觉传感器14与被摄体(工件W)的距离d。另外,示教装置18也可以与机器人12(伺服马达40)或视觉传感器14直接连接。以上,通过实施方式对本公开进行了说明,但上述实施方式并不限定权利要求书记载的发明。
符号说明
10 机器人系统
12 机器人
14 视觉传感器
16 控制装置
18 示教装置
30 机械手
70、100 处理器
82 图像数据取得部
84 工件位置取得部
86 机械手位置取得部
88 示教位置取得部
90 机器人控制部
92 动作程序生成部。

Claims (10)

1.一种装置,其在用于控制机器人的控制坐标系中示教该机器人用机械手把持工件的位置以及姿势,其特征在于,所述装置具有:
图像数据取得部,其在所述机器人用所述机械手把持所述工件时,取得配置在所述控制坐标系的已知位置的视觉传感器拍摄该工件而得的图像数据;
工件位置取得部,其根据所述图像数据取得工件位置数据,该工件位置数据表示在所述视觉传感器拍摄到该图像数据时所述工件在所述控制坐标系中的位置以及姿势;
机械手位置取得部,其取得机械手位置数据,该机械手位置数据表示在所述视觉传感器拍摄到所述图像数据时所述机械手在所述控制坐标系中的位置以及姿势;以及
示教位置取得部,其根据所述工件位置数据和所述机械手位置数据取得示教位置数据,该示教位置数据表示在所述视觉传感器拍摄到所述图像数据时所述机械手与所述工件在所述控制坐标系中的位置关系。
2.根据权利要求1所述的装置,其特征在于,
所述装置还具有:机器人控制部,其使所述机器人动作以使把持所述工件的所述机械手的姿势反复变化,
在每次所述机器人控制部使所述机械手的姿势变化时,所述图像数据取得部取得所述视觉传感器拍摄到的多个所述图像数据,
所述工件位置取得部根据所述图像数据取得部取得的各个所述图像数据,分别取得拍摄到该各个图像数据时的所述工件位置数据,
所述机械手位置取得部分别取得拍摄到所述各个图像数据时的所述机械手位置数据,
所述示教位置取得部根据所述工件位置取得部取得的各个所述工件位置数据和所述机械手位置取得部取得的各个所述机械手位置数据,分别取得拍摄到所述各个图像数据时的所述示教位置数据。
3.根据权利要求2所述的装置,其特征在于,
所述示教位置取得部根据取得的多个所述示教位置数据,求出使所述机器人用所述机械手把持所述工件的动作中使用的新的示教位置数据。
4.根据权利要求3所述的装置,其特征在于,
所述示教位置数据表示为所述控制坐标系的坐标,
所述示教位置取得部将多个所述示教位置数据的所述坐标中的、预先确定的容许范围外的所述坐标排除,或者求出所述多个示教位置数据的所述坐标的平均,由此,求出所述新的示教位置数据。
5.根据权利要求1~4中任一项所述的装置,其特征在于,
所述装置还具有:动作程序生成部,其生成规定了所述示教位置数据的动作程序。
6.根据权利要求1~5中任一项所述的装置,其特征在于,
所述工件位置取得部取得如下数据作为所述工件位置数据:将所述工件模型化得到工件模型,表示在使所述工件模型与显现于所述图像数据的所述工件一致时该工件模型在所述控制坐标系中的位置以及姿势的数据。
7.根据权利要求1~6中任一项所述的装置,其特征在于,
所述控制坐标系具有:
对所述机器人设定的机器人坐标系;
对所述工件设定的工件坐标系;
对所述机械手设定的工具坐标系,其与所述机器人坐标系的位置关系是已知的;以及
对所述视觉传感器设定的传感器坐标系,其与所述机器人坐标系的位置关系是已知的,
所述视觉传感器配置于所述机器人坐标系的所述已知位置,
所述工件位置取得部取得表示显现于所述图像数据的所述工件的位置以及姿势的所述工件坐标系在所述传感器坐标系中的第一坐标,
所述工件位置取得部通过将所述第一坐标变换为所述机器人坐标系,取得所述工件坐标系在该机器人坐标系中的第二坐标作为所述工件位置数据,
所述机械手位置取得部取得表示所述机械手的位置以及姿势的所述工具坐标系在所述机器人坐标系中的第三坐标作为所述机械手位置数据,
所述示教位置取得部根据所述第二坐标及所述第三坐标取得所述示教位置数据,来作为所述工件坐标系在所述工具坐标系中的坐标或者所述工具坐标系在所述工件坐标系中的坐标。
8.一种机器人系统,其特征在于,具有:
机器人,其具有能够把持工件的机械手;
视觉传感器,其拍摄所述工件;以及
权利要求1~7中任一项所述的装置。
9.根据权利要求8所述的机器人系统,其特征在于,
所述机器人系统具有:控制装置,其根据所述视觉传感器拍摄到的所述工件的第二图像数据来控制所述机器人以便用所述机械手把持所述工件,
所述控制装置取得表示显现于所述第二图像数据的所述工件在所述控制坐标系中的位置以及姿势的数据来作为第二工件位置数据,
所述控制装置根据所述第二工件位置数据以及所述示教位置数据来决定在把持所述视觉传感器拍摄到的所述工件时所述机械手在所述控制坐标系中的位置以及姿势。
10.一种方法,用于在用于控制机器人的控制坐标系中示教该机器人用机械手把持工件的位置以及姿势,其特征在于,
处理器在所述机器人用所述机械手把持所述工件时,取得配置在所述控制坐标系的已知位置的视觉传感器拍摄该工件而得的图像数据,
处理器根据所述图像数据取得工件位置数据,该工件位置数据表示在所述视觉传感器拍摄到该图像数据时所述工件在所述控制坐标系中的位置以及姿势,
处理器取得机械手位置数据,该机械手位置数据表示在所述视觉传感器拍摄到所述图像数据时所述机械手在所述控制坐标系中的位置以及姿势,
处理器根据所述工件位置数据和所述机械手位置数据取得示教位置数据,该示教位置数据表示在所述视觉传感器拍摄到所述图像数据时所述机械手与所述工件在所述控制坐标系中的位置关系。
CN202180101401.4A 2021-08-20 2021-08-20 对机器人把持工件的位置以及姿势进行示教的装置、机器人系统以及方法 Pending CN117836099A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/030660 WO2023021703A1 (ja) 2021-08-20 2021-08-20 ロボットがワークを把持する位置及び姿勢を教示する装置、ロボットシステム、及び方法

Publications (1)

Publication Number Publication Date
CN117836099A true CN117836099A (zh) 2024-04-05

Family

ID=85240384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180101401.4A Pending CN117836099A (zh) 2021-08-20 2021-08-20 对机器人把持工件的位置以及姿势进行示教的装置、机器人系统以及方法

Country Status (6)

Country Link
US (1) US20240342919A1 (zh)
JP (1) JPWO2023021703A1 (zh)
CN (1) CN117836099A (zh)
DE (1) DE112021007813T5 (zh)
TW (1) TW202308819A (zh)
WO (1) WO2023021703A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5588089B1 (ja) * 2012-11-22 2014-09-10 パナソニック株式会社 アームの制御装置及び制御方法及び制御プログラム、ロボット、並びに、アームの制御用集積電子回路
JP6326765B2 (ja) * 2013-11-06 2018-05-23 セイコーエプソン株式会社 教示装置、ロボット、ロボットシステム、方法、及びプログラム
JP6117853B2 (ja) 2015-05-13 2017-04-19 ファナック株式会社 バラ積みされた物品を取り出すための物品取出システム、および方法
JP7414851B2 (ja) * 2020-01-17 2024-01-16 ファナック株式会社 ロボットの制御装置、ロボットシステム、制御方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
JPWO2023021703A1 (zh) 2023-02-23
DE112021007813T5 (de) 2024-03-28
US20240342919A1 (en) 2024-10-17
WO2023021703A1 (ja) 2023-02-23
TW202308819A (zh) 2023-03-01

Similar Documents

Publication Publication Date Title
JP6966582B2 (ja) ロボットモーション用のビジョンシステムの自動ハンドアイ校正のためのシステム及び方法
JP6180086B2 (ja) 情報処理装置及び情報処理方法
JP6180087B2 (ja) 情報処理装置及び情報処理方法
US8406923B2 (en) Apparatus for determining pickup pose of robot arm with camera
CN113021358B (zh) 机械臂工具坐标系原点标定方法、装置和电子设备
WO2009113339A1 (ja) 動作教示システム及び動作教示方法
US20150202776A1 (en) Data generation device for vision sensor and detection simulation system
US11833697B2 (en) Method of programming an industrial robot
CN110712194B (zh) 物体检查装置、物体检查系统以及调整检查位置的方法
JP6897396B2 (ja) 制御装置、ロボットシステムおよび制御方法
JP2004295223A (ja) 画像処理装置及びロボットシステム
EP1617380A1 (en) Device for producing shape model
JP2015085475A (ja) 情報処理装置、情報処理方法
JP2012101320A (ja) 画像生成装置、画像生成方法、およびプログラム
JP2019113895A (ja) ワークを撮像する視覚センサを備える撮像装置
JP6598814B2 (ja) 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法
CN111256732B (zh) 一种用于水下双目视觉的目标姿态误差测量方法
US10724963B2 (en) Device and method for calculating area to be out of inspection target of inspection system
JP2018051634A (ja) ロボット制御装置、ロボット、ロボットシステムおよび姿勢特定装置
CN116766194A (zh) 基于双目视觉的盘类工件定位与抓取系统和方法
WO2021210456A1 (ja) ロボットの制御座標系における視覚センサの位置を取得する装置、ロボットシステム、方法、及びコンピュータプログラム
CN117836099A (zh) 对机器人把持工件的位置以及姿势进行示教的装置、机器人系统以及方法
WO2019093299A1 (ja) 位置情報取得装置およびそれを備えたロボット制御装置
JP2616225B2 (ja) 相対位置決め方式
JP2017113815A (ja) 対象物をロボットを用いて把持するロボットシステムの画像表示方法

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