CN102470530A - 生成机器人的教导数据的方法以及机器人教导系统 - Google Patents

生成机器人的教导数据的方法以及机器人教导系统 Download PDF

Info

Publication number
CN102470530A
CN102470530A CN2010800285557A CN201080028555A CN102470530A CN 102470530 A CN102470530 A CN 102470530A CN 2010800285557 A CN2010800285557 A CN 2010800285557A CN 201080028555 A CN201080028555 A CN 201080028555A CN 102470530 A CN102470530 A CN 102470530A
Authority
CN
China
Prior art keywords
robot
wrist
instruction
image
coordinate
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
CN2010800285557A
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.)
Toyota Industries Corp
Original Assignee
Toyoda Automatic Loom Works Ltd
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 Toyoda Automatic Loom Works Ltd filed Critical Toyoda Automatic Loom Works Ltd
Publication of CN102470530A publication Critical patent/CN102470530A/zh
Pending legal-status Critical Current

Links

Images

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
    • B25J3/00Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements
    • B25J3/04Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements involving servo mechanisms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in 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/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • 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
    • 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/37Measurements
    • G05B2219/375673-D vision, stereo vision, with two cameras
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40116Learn by operator observation, symbiosis, show, watch

Abstract

本发明提供一种能够简单地进行包括机器人手臂的机器人的教导的、生成机器人的教导数据的方法以及机器人教导系统。单反照相机(30)以及立体照相机(40)取得包括教导者(10)的手腕(22)以及手(21)的教导图像(教导图像取得步骤,步骤S1)。控制装置(200)基于教导图像,决定表示手腕(22)的位置以及朝向的手腕坐标(手腕坐标决定步骤,步骤S2),且基于手腕坐标,生成对机器人手臂(110)的动作进行教导的机器人手臂教导数据(机器人手臂教导数据生成步骤,步骤S11)。

Description

生成机器人的教导数据的方法以及机器人教导系统
技术领域
本发明涉及生成机器人的教导数据的方法以及机器人教导系统。
背景技术
在使用机器人进行作业时,需要对机器人教导动作的模式。作为该教导的方法,有将表示动作的模式的教导数据作为数值从键盘直接输入的方法;教导者操作机器人的控制装置使其执行动作,与之相伴生成教导数据的方法;以及输入人手的图像,自动生成使机器人手的姿势与其一致的教导数据的方法等。在专利文献1中记载了一种使机器人手的姿势与人手的图像一致的方法的例子。
专利文献1:日本特开平4-365570号公报
但是,在以往的技术中,存在不能够简单地进行包括机器人手臂的机器人的教导的问题。
例如,在将教导数据作为数值从键盘输入的情况下、或教导者操作机器人的控制装置使其执行动作的情况下,为了教导需要专业的知识,而且,组合复杂的动作的教导较困难。另外,在使机器人手与人手的图像一致的情况下,不能够与因教导者的胳膊、整个身体的动作而导致手的位置发生变化这样的动作对应。
发明内容
本发明为了消除这样的问题点而提出,其目的在于,提供一种能够简单地进行包括机器人手臂在内的机器人的教导的、生成机器人的教导数据的方法以及机器人教导系统。
本发明所涉及的生成机器人的教导数据的方法是针对具备机器人手臂以及机器人手的机器人,生成对至少1台该机器人的动作进行教导的教导数据的方法,包括:教导图像取得步骤,至少取得一个包括人的手腕以及手的教导图像;手腕坐标决定步骤,基于教导图像,决定表示手腕的位置以及朝向的手腕坐标;手指坐标决定步骤,基于教导图像,决定表示与手指相关的位置的手指坐标;机器人手臂教导数据生成步骤,基于手腕坐标,生成对机器人手臂的动作进行教导的机器人手臂教导数据;和机器人手教导数据生成步骤,基于手指坐标,生成对机器人手的动作进行教导的机器人手教导数据。
根据该方法,可根据基于教导图像的手腕的位置以及朝向,生成与机器人的机器人手臂的动作相关的教导数据。
在教导图像取得步骤中,立体照相机取得由包括人的手腕的2个图像构成的立体手腕图像,在手腕坐标决定步骤中,手腕的位置基于立体手腕图像来决定。
手腕坐标决定步骤可以包括:姿势候补数据选择步骤,基于教导图像,从表示人的手的姿势的多个姿势候补数据中选择一个姿势候补数据;和手腕方向决定步骤,基于教导图像与所选择的姿势候补数据的对应关系,决定教导图像中的手腕的朝向。
机器人至少为2台,教导图像针对人的双臂,包括各自的手臂以及手,手腕坐标、手指坐标、机器人手臂教导数据以及机器人手教导数据可以分别针对双臂决定或者生成。
另外,该发明涉及的机器人教导系统执行上述的方法。
由于本发明所涉及的生成机器人的教导数据的方法以及机器人教导系统识别教导者的手臂并利用其坐标,所以能够简单地进行包括机器人手臂在内的机器人的教导。
附图说明
图1是表示与本发明的实施方式1所涉及的机器人教导系统相关的构成的图。
图2是对图1的机器人教导系统的动作进行说明的流程图。
图3是说明决定手腕的位置的方法的一个例子的图。
图4(a)是表示图1的机器人教导系统所决定的手指坐标的例子的图。(b)是表示图1的机器人教导系统所决定的机器人手关节角度的例子的图。
图5是表示与本发明的实施方式2所涉及的机器人教导系统相关的构成的图。
图6是表示本发明的实施方式3所涉及的机器人教导系统的单反照相机的构成的图。
图7是表示本发明的实施方式3的变形例所涉及的机器人教导系统的单反照相机的构成的图。
图8是表示本发明的实施方式4所涉及的机器人教导系统的构成的图。
图9是表示与图3不同的决定手腕的位置的方法的例子的图。
具体实施方式
以下,基于附图对本发明的实施方式进行说明。
实施方式1.
图1表示与本发明的实施方式1所涉及的机器人教导系统相关的构成。机器人教导系统包括:成为教导的对象的机器人100、与机器人100连接的控制装置200。机器人100也可以是被称为机械手(manipulator)的装置。
机器人100包括机器人手臂110以及机器人手120。在图1中,机器人手120是3根,但只要至少为2根即可。机器人手120的根部与机器人手臂110的前端连结,成为如果决定了机器人手臂110的位置以及朝向,则可根据其唯一决定所有机器人手120的根部的位置的构成。
该机器人100用于针对对象物130进行作业。作业可以是把持、搬运、组装等。
对于控制装置200,其内部的构成未图示,是具备运算单元(CPU等)和存储单元(半导体存储器装置、磁盘装置等)的计算机。该控制装置200通过执行保存在其存储单元的教导数据生成程序,来作为生成机器人100的教导数据的教导数据生成装置发挥功能,另外,通过执行保存在其存储单元的驱动控制程序,来作为控制机器人100的动作的驱动控制装置发挥功能。这些教导数据生成程序以及驱动控制程序能够存储于信息存储介质。
控制装置200具有基于包括人手的图像,决定对手指的各关节的空间位置以及指尖的空间位置进行表示的坐标的功能。这样的功能例如能够通过使用在谷本等人的研究中(由谷本贵颂等人于2006年3月完成的题为“ロボツトハンド制御のための自己増殖型SOMを用いた画像デ一タベ一スからの手指形状の実時間推定”这一公知的筑波大学大学院博士课程系统信息工学研究科硕士论文)记载的方法来实现。根据该方法,能够从拍摄手而得到的一个二维图像推定出手的姿势。在谷本等人的研究中,预先同步地取得手的关节的角度信息与手图像,进行图像中的轮廓抽取与特征量化,将该特征量与角度作为数据来构建数据库。而且,针对手的实际图像,进行与数据库的构建时相同的特征量化,通过进行得到的特征量与数据库的特征量的比较,来推定手的关节的角度,推定出手的姿势。
根据该方法,针对作为表示手的姿势的数据的特征量,事先在数据库中保存多个模式,能够从该多个模式(姿势候补数据)中基于实际图像选择一个模式(姿势候补数据)。此时,在以手腕的位置为基准来设定原点,以手腕的朝向为基准来设定坐标轴的坐标系中,能够决定手指的空间位置。
另外,控制装置200具有下述功能:在图像中未表示手或者手指的一部分的情况下(例如处于照相机的视野外的情况,照相机的视野被对象物遮住的情况,照相机的视野被教导者10的身体的一部分、手、手指等遮住的情况等),推定遮挡的部分(即图像中未表示的部分)来进行增补。这样的功能能够使用公知的图像处理技术实现。
机器人教导系统包括与控制装置200连接的单反照相机30。单反照相机30作为手21的教导图像取得单元发挥功能。即,对教导者(人)10的包括手指的手21进行拍摄,取得包括手21的图像并发送给控制装置200。(其中,在本说明书中,“单反照相机”这一名称用于与后述的立体照相机40区别而使用,如果是具有相同的功能的照相机,则也可以不是单反照相机。)
其中,手21是比手腕22靠前的部分、即是包括手掌以及手指的部分。胳膊23是比手腕22靠根部侧的部分。在该实施方式中是右胳膊,但也可以是左胳膊。
另外,机器人教导系统包括与控制装置200连接的立体照相机40。立体照相机40作为手腕22的教导图像取得单元发挥功能。即,对教导者10的手腕22进行拍摄,取得包括手腕22的图像并发送给控制装置200。立体照相机40能够通过公知的构成来拍摄立体影像。即,立体照相机40至少包括2个照相机,这些照相机从相互不同的位置对包括手腕22的图像进行拍摄。能够基于各个图像中的手腕22的位置,决定包括立体照相机40与手腕22之间的距离在内的空间位置关系。
并且,机器人教导系统包括:拍摄机器人100的监视用照相机50、和显示由监视用照相机50拍摄到的图像的监视器60。监视用照相机50作为机器人状态拍摄单元发挥功能,监视器60作为机器人状态显示单元发挥功能。
单反照相机30、立体照相机40以及监视器60被配置在教导者10的附近。单反照相机30被配置在当教导者10进行教导时将手21所移动的范围全部纳入到视野的位置。立体照相机40例如被配置在当教导者10进行教导时将手腕22所移动的范围全部纳入到视野的位置。监视器60被配置在当教导者10进行教导作业时,能够看见其显示内容的位置。通过这样的配置,教导者10能够一边看到机器人100的状态,一边实时进行教导作业。
使用图2的流程图,对以上那样构成的机器人教导系统的动作进行说明。
首先,机器人教导系统执行教导图像取得步骤(步骤S1)。在该步骤S1中,机器人教导系统取得包括教导者10的手21以及手腕22的教导图像。该教导图像被用于机器人100的教导。
对实施方式1而言,在步骤S1中,单反照相机30取得1个包括手21的教导图像(步骤S1a),立体照相机40取得由包括手腕22的2个图像构成的立体手腕图像(步骤S1b)。即,步骤S1b中,构成立体照相机40的各个照相机分别取得一个包括手腕22的教导图像。
另外,在步骤S1中,单反照相机30以及立体照相机40将分别取得的教导图像向控制装置200发送,控制装置200接收这些图像并保存到存储单元。
接下来,控制装置200执行手腕坐标决定步骤(步骤S2)。在该步骤S2中,控制装置200基于教导图像,决定表示手腕22的位置以及朝向的手腕坐标。步骤S2包括姿势候补数据选择步骤(步骤S2a)、手腕位置决定步骤(步骤S2b)以及手腕方向决定步骤(步骤S2c)。
在姿势候补数据选择步骤(步骤S2a)中,控制装置200基于包括手21的教导图像,从数据库中保存的表示手的姿势的多个姿势候补数据中选择一个姿势候补数据。该选择能够通过公知的方法进行。例如,控制装置200能够选择从教导图像中抽取的特征量与表示姿势候补数据的特征量的一致度最高的数据。
另外,在手腕位置决定步骤(步骤S2b)中,控制装置200基于由立体照相机40拍摄到的立体手腕图像,决定手腕22的位置。
使用图3,对决定图像中的手腕22的位置的方法的一个例子进行说明。图3是一个立体手腕图像。控制装置200首先对图像中以2点表示的收缩部分22a进行检测,计算该收缩部分22a的中点22b的位置。而且,将该图像中的中点22b的位置决定作为该图像中的手腕22的位置。
并且,控制装置200在立体手腕图像的另一个中也以相同的方法来决定手腕22的位置。然后,能够基于各个立体手腕图像中的手腕22的位置,计算出以立体照相机40为基准的手腕22的空间位置。
在步骤S2a以及步骤S2b之后,控制装置200执行手腕方向决定步骤(步骤S2c)。在步骤S2c中,控制装置200基于手21的教导图像、与在步骤S2a中选择出的姿势候补数据的对应关系,决定手21的教导图像中的手腕22的朝向。由于姿势候补数据是以手腕的位置以及朝向为基准,表示对手指的各关节的位置以及指尖的空间位置进行表现的坐标的数据,所以,例如当教导图像中的手21与所选择的姿势候补数据在某一特定的朝向最为一致时,能够将该朝向决定为手腕22的朝向。
在步骤S2之后,并行执行包括步骤S3~S8的处理、和包括步骤S9~S12的处理。不过,这些处理也可以串行执行。
在步骤S2之后,控制装置200执行手指坐标决定步骤(步骤S3)。在该步骤S3中,控制装置200基于手21的教导图像,决定表示手指的各关节以及指尖的位置的手指坐标。这可以按照上述的谷本等人的方法来进行。
图4(a)表示如此决定的手指坐标的例子。在图4(a)中,表示了与教导者10的手21的右手的大拇指、食指以及中指相关的手指坐标。例如,点(x11,y11,z11)、点(x12,y12,z12)以及点(x13,y13,z13)分别表示大拇指的第2关节、第1关节以及指尖的位置。其中,点(x4,y4,z4)表示在步骤S2b中决定的手腕位置。
在步骤S3之后,控制装置200执行机器人手关节角度计算步骤(步骤S4)。在该步骤S4中,控制装置200基于由上述步骤S3决定的手指坐标,计算出表示机器人100的机器人手120的各关节的角度的机器人手关节角度。该计算方法的具体例未特别说明,但本领域技术人员能够根据机器人100的构造、机器人手120的手指的数量以及机器人手120的各手指的关节的数量等条件,适当地进行设计。
图4(b)是表示如此决定的机器人手关节角度的例子。其中,在该图中省略了机器人100自身的图示,只示意性地表示了各关节的角度。在机器人100中,机器人手120的各手指具有2个关节。第1关节(指尖侧的关节)具有一个自由度(角度ω),第2关节(根部侧的关节)具有2个自由度(角度θ以及φ)。另外,机器人100针对表示手腕、即机器人手臂110的前端的位置的点(x0,y0,z0)以及表示朝向的角度(θ0,φ0,ψ0)分别具有3个自由度。这样,机器人100合计具有15个自由度而能够进行控制。其中,在图4(b)中,分别表示为与大拇指、食指以及中指对应的机器人手指120a、机器人手指120b以及机器人手指120c。
在图4(a)以及图4(b)中,例如针对大拇指,可基于图4(a)的点(x11,y11,z11)、点(x12,y12,z12)以及点(x13,y13,z13)的坐标,决定机器人手指120a的第1关节122的角度(ω1)以及第2关节123的角度(θ1,φ1)。
此外,由于手指与机器人手指的尺寸、可动范围等不同,所以即使关节的数量相等,关节的位置也不一定一致。另外,关于食指以及中指,手指与机器人手指的关节的数量不同,但在这样的情况下,计算机器人手关节角度的方法也是本领域技术人员所公知的。
在步骤S4之后,控制装置200执行机器人手关节角度差量计算步骤(步骤S5)。在该步骤S5中,控制装置200计算出在步骤S4中计算出的机器人手关节角度与过去的机器人手关节角度的差量Δθ。这里,过去的机器人手关节角度例如是基于N帧前(其中,N是规定的整数)的教导图像所计算出的机器人手关节角度。或者,过去的机器人手关节角度也可以是机器人手120最后被驱动并停止了的状态的机器人手关节角度、即机器人手120实际上实现的其机器人手关节角度。
例如针对所有的机器人手120的关节计算出该差量Δθ。不过,只要针对至少一个关节计算出该差量Δθ即可。
接下来,控制装置200判定在步骤S5中计算出的差量Δθ是否大于规定的阈值(步骤S6)。该判定相当于对教导者10的手指是否表示了某种程度大的动作进行的判定。该判定可以基于机器人手120的所有关节的差量Δθ来计算出一个值,基于该一个值是否大于规定的阈值来进行,或者,也可以基于机器人手120的各关节的差量Δθ的每一个来进行。
当在步骤S6中判定为差量Δθ大于阈值时,控制装置200执行机器人手教导数据生成步骤(步骤S7)。在该步骤S7中,控制装置200基于在步骤S4中计算出的机器人手关节角度,生成对机器人手120的动作进行教导的机器人手教导数据。例如,能够生成指示将机器人手120的关节角度控制为如图4(b)所示那样的机器人手教导数据。其中,由于如上述那样,机器人手关节角度(图4(b))基于手指坐标(图4(a))而计算出,所以也可以说机器人手教导数据基于手指坐标而生成。
在步骤S7之后,控制装置200执行机器人手驱动指令发送步骤(步骤S8)。在该步骤S8中,控制装置200基于在步骤S7中生成的机器人手教导数据向机器人手120的各关节发送机器人手驱动指令,由此来驱动机器人手120。其中,由于如上述那样,机器人手教导数据基于机器人手关节角度计算出,所以也可以说机器人手120基于机器人手关节角度被驱动。
此外,当在上述步骤S6中判定为差量Δθ为阈值以下时,不执行步骤S7以及S8,机器人手120保持停止。
另外,在步骤S2之后,控制装置200执行手腕位置差量计算步骤(步骤S9)。在该步骤S9中,控制装置200计算出在步骤S2b中计算出的手腕位置与过去的手腕位置的差量ΔL。这里,过去的手腕位置例如是基于N帧前(其中,N是规定的整数)的教导图像计算出的手腕位置。或者,过去的手腕位置也可以是机器人手臂110最后被驱动并停止的时刻的手腕位置、即与机器人手臂110实际实现的姿势对应的手腕位置。
接下来,控制装置200判定在步骤S9中计算出的差量ΔL是否大于规定的阈值(步骤S10)。该判定相当于对教导者10的手腕是否表示了某种程度大的动作进行的判定。
此外,在该例中,判定只基于手腕位置的差量ΔL进行,但也可以基于手腕位置的差量以及手腕方向的差量来进行。
当在步骤S10中判定为差量ΔL大于阈值时,控制装置200执行机器人手臂教导数据生成步骤(步骤S11)。在该步骤S11中,控制装置200基于在步骤S2a中决定的手腕位置以及在步骤S2b中决定的手腕方向,生成对机器人手臂110的动作进行教导的机器人手臂教导数据。这里,手腕位置以及手腕方向被变换为表示机器人手臂110的前端的位置以及朝向的机器人手臂坐标。例如,控制装置200能够生成指示将机器人手臂110的前端的位置控制为图4(b)的点(x0,y0,z0),且将机器人手臂110的朝向控制为图4(b)的角度(θ0,φ0,ψ0)的机器人手臂教导数据。
在步骤S11之后,控制装置200执行机器人手臂驱动指令发送步骤(步骤S12)。在该步骤S12中,控制装置200基于在步骤S11中生成的机器人手臂教导数据向机器人手臂110发送机器人手臂驱动指令,由此,驱动机器人手臂110。其中,由于如上述那样,机器人手臂教导数据基于手腕坐标计算出,所以也可以说机器人手臂110基于手腕坐标被驱动。
此外,当在上述步骤S10中判定为差量ΔL为阈值以下时,不执行步骤S11以及S12,机器人手臂110保持停止。
若步骤S3~S8以及步骤S9~S12的执行结束,则图2的处理结束,控制装置200再次从最初开始反复进行图2的处理。
另外,如图1所示,机器人100的状态始终被监视用照相机50拍摄,在监视器60上显示。这成为针对教导者10的反馈。教导者10一边观察该显示一边移动胳膊23以及手21,能够对机器人100教导适当的动作。
如以上所示,根据实施方式1所涉及的生成机器人的教导数据的方法以及机器人教导系统,由于根据教导图像识别教导者10的手腕22,利用其坐标自动地生成教导数据,所以能够简单地进行包括机器人手臂110的机器人100的教导。
特别是,即使是不了解机器人的操作方法的教导者,也能够进行教导。另外,由于教导者10的手势保持原样成为教导动作,所以还能够简单地进行复杂的教导动作,而且,也能够简单地教导需要人特有的灵巧的动作。
另外,由于单反照相机30以及立体照相机40取得教导图像,监视用照相机50取得表示机器人100的状态的图像,所以能够廉价构建整个系统。另外,由于能够利用这些照相机进行远程操作,所以也能够进行在人不易作业的场所中的作业的教导。
实施方式2.
实施方式2是在实施方式1中,利用同一教导数据进行多个机器人的教导的方式。
图5表示与实施方式2所涉及的机器人教导系统相关的构成。图5的机器人101~103全都具有与图1的机器人100相同的构成。而且,图5的控制装置201具有与图1的控制装置200相同的构成,但与3台机器人101~103连接,能够同时地进行与这3台有关的处理。
这样的构成在针对具有同一构成的多个对象物131~133由分别对应的机器人101~103进行同一动作时特别有效。教导者10能够通过一次的教导同时进行全部的机器人101~103的教导。
此外,图5中虽未图示,但可以与图1同样地进行由监视用照相机50以及监视器60实现的反馈。
实施方式3.
实施方式3是在实施方式1以及2中,使照相机的视野变得更加宽阔的方式。
图6表示实施方式3所涉及的机器人教导系统的单反照相机31的构成。单反照相机31能够根据教导者10的手21或者手腕22的动作,改变其朝向。例如,在图6中,当手21处于(a)的位置时,单反照相机31被控制为(A)的朝向,当手21处于(b)的位置时,单反照相机31被控制为(B)的朝向。
这样的单反照相机31的方向控制能够由控制装置使用公知的技术来进行。例如,能够实时处理教导图像,抽取特征点,以追随该特征点的方式控制单反照相机31的方向。其中,该情况下没必要完全地追随手21的移动,只要使手21纳入到单反照相机31的视野的范围即可。
此外,图6中只表示了单反照相机31,但对立体照相机也进行相同的控制。
根据这样的构成,能够进行更大的范围的动作的教导。
此外,在图6中单反照相机31仅能够改变朝向,但也可以不改变朝向而能够变更位置,还可以改变朝向以及位置双方。
图7表示实施方式3的变形例所涉及的机器人教导系统的单反照相机32以及33的构成。单反照相机32以及33配置于不同的位置,具有不同的视野。例如,在图7中,当手21处于(a)的位置时,单反照相机32拍摄教导图像,当手21处于(b)的位置时,单反照相机33拍摄教导图像。由单反照相机32以及33中的哪个来拍摄教导图像例如能够通过控制装置使用公知的技术来决定。
此外,图7中仅表示了单反照相机32以及33,但对于立体照相机也可以进行相同的配置。
实施方式4.
实施方式4是在实施方式1~3中,不是一只胳膊而是利用2只胳膊进行教导动作的方式。
图8表示实施方式4所涉及的机器人教导系统的构成。图8的机器人104具有与图1的机器人100相同的构成。而且,图8的机器人105具有与图1的机器人100左右对称的构成。并且,图8的控制装置202具有与图1的控制装置200相同的构成,但与2台机器人104以及105连接,能够同时地进行与这2台有关的处理。
单反照相机30拍摄包括教导者10的双手的图像,立体照相机40拍摄包括教导者10的双手腕的图像。即,针对教导者10的双臂,教导图像包括各自的手腕以及手。另外,手腕坐标、手指坐标、机器人手臂教导数据以及机器人手教导数据分别针对双臂决定或生成。
此外,单反照相机以及立体照相机也可以分别设置2台,可以分别独立地拍摄右胳膊20a以及左胳膊20b。
其中,控制装置202具有在教导图像中,针对教导者10的手以及手腕,区分识别右胳膊20a的手以及手腕与左胳膊20b的手以及手腕的功能。控制装置202基于教导者10的右胳膊20a的手腕以及手的教导图像控制机器人104,基于教导者10的左胳膊20b的手腕以及手的教导图像控制机器人105。
根据这样的构成,对于使用双臂的作业,也能够与实施方式1同样简单地进行教导。
另外,如果以一个手腕(例如右手腕)为基准设定坐标系,则能够通过相对坐标表示作业空间整体,在坐标的误差变小的同时提高控制性。
在上述的实施方式4中,一个教导者10使用2只胳膊(双臂)进行教导,但2只胳膊也可以是不同的教导者的胳膊。即,也可以由两个教导者使用各自的胳膊进行教导。这样的构成对于如对象物130的交接那样的作业特别有效。
另外,也可以由两个教导者的一方或者双方使用双臂进行教导,还可以由三个以上教导者分别使用一个胳膊或者双臂进行教导。
在上述的实施方式1~4中,能够实施以下所示那样的变形。
在实施方式1、2以及4中,由于单反照相机取得一个包括手21的教导图像,立体照相机取得2个包括手腕22的教导图像,所以在一个时间点取得3个教导图像,但教导图像的数量也可以不是3个。
例如,也可以代替单反照相机以及立体照相机只使用一个照相机,该照相机取得一个包括手21以及手腕22双方的教导图像。该情况下,能够基于该一个教导图像进行手21的姿势候补数据的选择以及手腕坐标的决定。
另外,也可以使用2个单反照相机,由其中一个与单反照相机同样地取得包括手21的教导图像,由另一个取得包括手腕22的一个教导图像。或者,也可以只使用一个立体照相机,使用由立体照相机取得的立体手腕图像的一个或者双方作为手21的教导图像。
作为教导图像取得单元,也可以使用TOF(Time Of Flight)照相机。TOF照相机能够获得离被拍摄体的距离信息。可以基于该距离信息进行姿势候补数据的选择以及手腕坐标的决定。
在实施方式1~4中,如图3所示,基于教导图像中的收缩部分22a决定了手腕22的位置,但手腕22的位置也可以利用与此不同的方法来决定。
图9表示决定手腕22的位置的其他方法。在图9中,教导者10在手腕上带有腕套25进行教导动作。该情况下,控制装置在教导图像中确定与腕套25对应的部分,能够与此相关地决定手腕22的位置。如果将腕套25的颜色设为与教导者10的肌肤的颜色不同的特定颜色,则控制装置能够通过检测其特定的颜色,来决定手腕22的位置,在位置决定的处理变得简单的同时提高精度。
另外,在如实施方式4(图8)那样涉及多个胳膊的教导作业时,如果将右手腕的腕套与左手腕的腕套设为相互不同的颜色,则控制装置通过检测第1色能够决定一个手腕的位置,通过检测与第1色不同的第2色能够决定另一个手腕的位置。这样,在教导图像中区分识别右手与左手的处理变得简单,并且精度提高。
此外,即使对于如实施方式4的变形例那样涉及多人的胳膊的教导作业,如果对全部的胳膊使用不同颜色的腕套,则也能够在教导图像中区分识别各自的手腕。
并且,也可以基于教导图像中手21、手腕22或者上胳膊23相对于背景(即教导者10的手21、手腕22、上胳膊23以及身体以外的部分)的微小动作、所谓的“手抖动”,识别手21、手腕22或者上胳膊23,并决定其位置。该情况下,如果能够识别手21或者上胳膊23,则能够基于其来决定手腕22的位置。
另外,即使在不使用如图9那样的腕套的情况下,也能够基于颜色的不同(例如教导者10的肌肤的颜色、服装等)决定手腕22的位置。
实施方式1~4在姿势候补数据选择步骤(图2的步骤S2a)中,不使用与手腕的位置相关的信息进行姿势候补数据的选择,但也可以使用与手腕的位置相关的信息进行。该情况下,姿势候补数据选择步骤(步骤S2a)也可以在手腕位置决定步骤(步骤S2b)之后执行。另外,也可以在教导图像中将比手腕22靠前端的部分识别为手21,将其使用于姿势候补数据的选择。
实施方式1~4在生成教导数据之后立即基于该教导数据进行了实际的驱动,但也可以不进行驱动。例如,也可以只记录生成的教导数据。该情况下,能够读出之后记录的教导数据,并基于此来驱动机器人。
在实施方式1~4中,机器人具备3根机器人手,具有合计15个能够控制的自由度,但机器人手的数量以及自由度的数量并不限于此。机器人手的手指的数量只要至少为1根即可,在有把持动作等的情况下,只要为2根以上即可。另外,自由度的数量只要至少以三维表示机器人手臂的前端的位置的3个变量、以三维表示机器人手臂的前端的朝向的3个变量、表示第1指的第1关节的角度的1个变量、表示第1指的第2关节的角度的2个变量、表示第2指的第1关节的角度的1个变量、以及表示第2指的第2关节的角度的2个变量合计12个即可。并且,在机器人的自由度比这个少的情况下,也可以根据更少的变量进行教导。
在实施方式1~4中,手指坐标包括表示手指的各关节的位置的坐标、和表示指尖的位置的坐标,但手指坐标的构成并不限于此。例如,手指坐标也可以仅由表示手指的各关节的位置的坐标构成,另外,还可以只由表示指尖的位置的坐标构成。或者,也可以是表示与手指相关的某些位置的坐标,只要是能够与之对应地决定机器人手关节角度的坐标即可。
在实施方式1~4中,机器人100具有3根机器人手120的手指,教导者10的手指中大拇指、食指、中指与机器人手120的各手指对应,但教导中使用的3根手指也可以是与此不同的组合。另外,在机器人手的手指是2根的机器人的情况下,能够例如仅使用大拇指以及食指进行教导,另外,在是具有4根或者5根机器人手的手指的机器人的情况下,能够使用4根或者5根手指进行教导。

Claims (5)

1.一种生成机器人的教导数据的方法,是针对具备机器人手臂以及机器人手的机器人,生成对至少1台该机器人的动作进行教导的教导数据的方法,其特征在于,包括:
教导图像取得步骤,取得至少一个包括人的手腕以及手的教导图像;
手腕坐标决定步骤,基于所述教导图像,决定表示手腕的位置以及朝向的手腕坐标;
手指坐标决定步骤,基于所述教导图像,决定表示与手指相关的位置的手指坐标;
机器人手臂教导数据生成步骤,基于所述手腕坐标,生成对所述机器人手臂的动作进行教导的机器人手臂教导数据;和
机器人手教导数据生成步骤,基于所述手指坐标,生成对所述机器人手的动作进行教导的机器人手教导数据。
2.根据权利要求1所述的生成机器人的教导数据的方法,其特征在于,
在所述教导图像取得步骤中,立体照相机取得由包括人的手腕的2个图像构成的立体手腕图像;
在所述手腕坐标决定步骤中,所述手腕的位置基于所述立体手腕图像决定。
3.根据权利要求1所述的生成机器人的教导数据的方法,其特征在于,
所述手腕坐标决定步骤包括:
姿势候补数据选择步骤,基于所述教导图像从表示人的手的姿势的多个姿势候补数据中,选择1个姿势候补数据;和
手腕方向决定步骤,基于所述教导图像与所选择的所述姿势候补数据的对应关系,决定所述教导图像中的手腕的朝向。
4.根据权利要求1所述的生成机器人的教导数据的方法,其特征在于,
所述机器人至少为2台,
所述教导图像针对人的双臂,包括各自的手腕以及手,
所述手腕坐标、所述手指坐标、所述机器人手臂教导数据以及所述机器人手教导数据分别针对双臂决定或者生成。
5.一种机器人教导系统,其特征在于,
执行权利要求1~4中任意一项所述的方法。
CN2010800285557A 2009-11-24 2010-03-23 生成机器人的教导数据的方法以及机器人教导系统 Pending CN102470530A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009266321A JP2011110621A (ja) 2009-11-24 2009-11-24 ロボットの教示データを作成する方法およびロボット教示システム
JP2009-266321 2009-11-24
PCT/JP2010/054936 WO2011065035A1 (ja) 2009-11-24 2010-03-23 ロボットの教示データを作成する方法およびロボット教示システム

Publications (1)

Publication Number Publication Date
CN102470530A true CN102470530A (zh) 2012-05-23

Family

ID=44066138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800285557A Pending CN102470530A (zh) 2009-11-24 2010-03-23 生成机器人的教导数据的方法以及机器人教导系统

Country Status (4)

Country Link
JP (1) JP2011110621A (zh)
KR (1) KR20120025582A (zh)
CN (1) CN102470530A (zh)
WO (1) WO2011065035A1 (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102778951A (zh) * 2012-06-15 2012-11-14 惠州华阳通用电子有限公司 使用虚拟按键的输入设备及输入方法
CN102814814A (zh) * 2012-07-31 2012-12-12 华南理工大学 一种双臂机器人基于Kinect的人机交互方法
CN104827474A (zh) * 2015-05-04 2015-08-12 南京理工大学 学习人的虚拟示教机器人智能编程方法及辅助装置
CN104936748A (zh) * 2012-12-14 2015-09-23 Abb技术有限公司 徒手机器人路径教导
CN105291117A (zh) * 2014-06-19 2016-02-03 邹朝圣 机械手臂控制系统
CN105345823A (zh) * 2015-10-29 2016-02-24 广东工业大学 一种基于空间力信息的工业机器人自由驱动示教方法
CN106737668A (zh) * 2016-12-09 2017-05-31 南京理工大学 一种基于虚拟现实的带电作业机器人遥操作方法
CN107160364A (zh) * 2017-06-07 2017-09-15 华南理工大学 一种基于机器视觉的工业机器人示教系统及方法
CN107303673A (zh) * 2016-04-19 2017-10-31 上海技美科技股份有限公司 机器人
TWI610245B (zh) * 2016-10-19 2018-01-01 廣明光電股份有限公司 機器人視覺座標的編程方法
CN107787266A (zh) * 2015-05-29 2018-03-09 剑桥医疗机器人技术有限公司 表征机器人环境
CN107921632A (zh) * 2015-09-03 2018-04-17 株式会社安川电机 处理轨迹编辑装置、机器人、物品处理系统以及物品制造方法
CN108290293A (zh) * 2015-11-16 2018-07-17 早石直广 链路序列映射装置,链路序列映射方法和程序
WO2018219194A1 (zh) * 2017-06-02 2018-12-06 东南大学 基于数据手臂的面向空间站机器人的遥操作系统
CN112894820A (zh) * 2021-01-29 2021-06-04 清华大学深圳国际研究生院 柔性机械臂遥操作人机交互装置及系统
TWI734867B (zh) * 2017-11-20 2021-08-01 達明機器人股份有限公司 機器手臂作業軌跡的教導系統及方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102350700A (zh) * 2011-09-19 2012-02-15 华南理工大学 一种基于视觉的机器人控制方法
EP2653272A1 (de) * 2012-04-17 2013-10-23 Siemens Aktiengesellschaft Betriebsverfahren für einen Rechner zum Programmieren der Bewegungen einer Maschine
CN102773863A (zh) * 2012-07-31 2012-11-14 华南理工大学 一种机器人精细遥操作方法
JP6455869B2 (ja) * 2014-05-23 2019-01-23 セイコーエプソン株式会社 ロボット、ロボットシステム、制御装置、及び制御方法
JP6550605B2 (ja) * 2014-12-02 2019-07-31 Soinn株式会社 動作の転移装置、動作の転移方法及びプログラム
WO2016151667A1 (ja) * 2015-03-20 2016-09-29 富士機械製造株式会社 ティーチング装置及び制御情報の生成方法
DE102016221193B3 (de) * 2016-10-27 2018-01-04 Kuka Roboter Gmbh Verfahren zum Steuern eines Manipulators basierend auf Handerkennung
KR102001214B1 (ko) * 2017-10-31 2019-10-01 충남대학교산학협력단 가상 현실 기반 양팔로봇 교시 장치 및 방법
DE102018124671B4 (de) * 2018-10-06 2020-11-26 Bystronic Laser Ag Verfahren und Vorrichtung zur Erstellung eines Robotersteuerprogramms
JP2020142344A (ja) * 2019-03-08 2020-09-10 トヨタ自動車株式会社 環境監視システム
KR102379245B1 (ko) * 2019-04-30 2022-03-28 치루 유니버시티 오브 테크놀로지 웨어러블 디바이스 기반의 이동 로봇 제어 시스템 및 제어 방법
CN110170996B (zh) * 2019-05-09 2022-08-19 广西安博特智能科技有限公司 一种基于立体视觉的机器人快速示教系统
JP7359577B2 (ja) * 2019-06-21 2023-10-11 ファナック株式会社 ロボット教示装置及びロボットシステム
DE102019118012B3 (de) * 2019-07-03 2020-09-17 Günther Battenberg Verfahren und Vorrichtung zum Steuern eines Robotersystems mittels menschlicher Bewegung
FR3101165B1 (fr) 2019-09-23 2021-10-15 Ponant Tech Procédé d’enregistrement de séquences de commande et de contrôle d’un robot de test, logiciel pour mise en œuvre de ce procédé
CN112917470A (zh) * 2019-12-06 2021-06-08 鲁班嫡系机器人(深圳)有限公司 一种机械手的示教方法、装置、系统、存储介质及设备
KR102532351B1 (ko) * 2021-08-05 2023-05-15 서울대학교병원 헤드셋 기반의 비접촉 손동작 인식 기술을 활용한 수술 로봇 제어 시스템
CN113894774A (zh) * 2021-10-26 2022-01-07 季华实验室 一种机器人抓取控制方法、装置、存储介质和机器人
KR102553830B1 (ko) * 2022-06-28 2023-07-10 주식회사 포탈301 카메라를 이용한 실시간 로봇 원격 제어 방법 및 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003211377A (ja) * 2002-01-18 2003-07-29 Hitachi Ltd マニピュレーション動作支援装置及びその支援方法
CN1457287A (zh) * 2001-02-21 2003-11-19 索尼公司 用于机器人装置的操作控制的方法、程序、和记录介质、以及机器人装置
CN1463215A (zh) * 2001-04-03 2003-12-24 索尼公司 有腿移动机器人及其动作教学方法和存储介质
JP2005046931A (ja) * 2003-07-30 2005-02-24 National Institute Of Information & Communication Technology ロボットアーム・ハンド操作制御方法、ロボットアーム・ハンド操作制御システム
US20080312772A1 (en) * 2007-06-14 2008-12-18 Honda Motor Co., Ltd. Motion control system, motion control method, and motion control program
JP2009003813A (ja) * 2007-06-22 2009-01-08 Univ Of Tsukuba 手指形状推定装置及び手指形状推定方法、並びにプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7848850B2 (en) * 2003-11-13 2010-12-07 Japan Science And Technology Agency Method for driving robot

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1457287A (zh) * 2001-02-21 2003-11-19 索尼公司 用于机器人装置的操作控制的方法、程序、和记录介质、以及机器人装置
CN1463215A (zh) * 2001-04-03 2003-12-24 索尼公司 有腿移动机器人及其动作教学方法和存储介质
JP2003211377A (ja) * 2002-01-18 2003-07-29 Hitachi Ltd マニピュレーション動作支援装置及びその支援方法
JP2005046931A (ja) * 2003-07-30 2005-02-24 National Institute Of Information & Communication Technology ロボットアーム・ハンド操作制御方法、ロボットアーム・ハンド操作制御システム
US20080312772A1 (en) * 2007-06-14 2008-12-18 Honda Motor Co., Ltd. Motion control system, motion control method, and motion control program
JP2009003813A (ja) * 2007-06-22 2009-01-08 Univ Of Tsukuba 手指形状推定装置及び手指形状推定方法、並びにプログラム

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102778951B (zh) * 2012-06-15 2016-02-10 惠州华阳通用电子有限公司 使用虚拟按键的输入设备及输入方法
CN102778951A (zh) * 2012-06-15 2012-11-14 惠州华阳通用电子有限公司 使用虚拟按键的输入设备及输入方法
CN102814814A (zh) * 2012-07-31 2012-12-12 华南理工大学 一种双臂机器人基于Kinect的人机交互方法
CN102814814B (zh) * 2012-07-31 2015-07-01 华南理工大学 一种双臂机器人基于Kinect的人机交互方法
CN104936748A (zh) * 2012-12-14 2015-09-23 Abb技术有限公司 徒手机器人路径教导
CN105291117A (zh) * 2014-06-19 2016-02-03 邹朝圣 机械手臂控制系统
CN104827474A (zh) * 2015-05-04 2015-08-12 南京理工大学 学习人的虚拟示教机器人智能编程方法及辅助装置
US11597094B2 (en) 2015-05-29 2023-03-07 Cmr Surgical Limited Characterising robot environments
US10807245B2 (en) 2015-05-29 2020-10-20 Cmr Surgical Limited Characterising robot environments
CN107787266A (zh) * 2015-05-29 2018-03-09 剑桥医疗机器人技术有限公司 表征机器人环境
CN107921632A (zh) * 2015-09-03 2018-04-17 株式会社安川电机 处理轨迹编辑装置、机器人、物品处理系统以及物品制造方法
CN105345823A (zh) * 2015-10-29 2016-02-24 广东工业大学 一种基于空间力信息的工业机器人自由驱动示教方法
CN105345823B (zh) * 2015-10-29 2017-12-19 广东工业大学 一种基于空间力信息的工业机器人自由驱动示教方法
CN108290293A (zh) * 2015-11-16 2018-07-17 早石直广 链路序列映射装置,链路序列映射方法和程序
CN108290293B (zh) * 2015-11-16 2021-05-14 株式会社计数技研 链路序列映射装置,链路序列映射方法和程序
CN107303673A (zh) * 2016-04-19 2017-10-31 上海技美科技股份有限公司 机器人
TWI610245B (zh) * 2016-10-19 2018-01-01 廣明光電股份有限公司 機器人視覺座標的編程方法
CN106737668A (zh) * 2016-12-09 2017-05-31 南京理工大学 一种基于虚拟现实的带电作业机器人遥操作方法
WO2018219194A1 (zh) * 2017-06-02 2018-12-06 东南大学 基于数据手臂的面向空间站机器人的遥操作系统
CN107160364A (zh) * 2017-06-07 2017-09-15 华南理工大学 一种基于机器视觉的工业机器人示教系统及方法
TWI734867B (zh) * 2017-11-20 2021-08-01 達明機器人股份有限公司 機器手臂作業軌跡的教導系統及方法
CN112894820A (zh) * 2021-01-29 2021-06-04 清华大学深圳国际研究生院 柔性机械臂遥操作人机交互装置及系统

Also Published As

Publication number Publication date
WO2011065035A1 (ja) 2011-06-03
KR20120025582A (ko) 2012-03-15
JP2011110621A (ja) 2011-06-09

Similar Documents

Publication Publication Date Title
CN102470530A (zh) 生成机器人的教导数据的方法以及机器人教导系统
US20210205986A1 (en) Teleoperating Of Robots With Tasks By Mapping To Human Operator Pose
US9387589B2 (en) Visual debugging of robotic tasks
JP6676030B2 (ja) 把持システム、学習装置、把持方法、及び、モデルの製造方法
CN104552291B (zh) 机器人控制装置、机器人系统、机器人以及机器人控制方法
EP2864085B1 (en) User interfaces for robot training
EP2931485B1 (en) Bare hand robot path teaching
WO2011065034A1 (ja) ロボットの動作を制御する方法およびロボットシステム
US20170249561A1 (en) Robot learning via human-demonstration of tasks with force and position objectives
JP6700726B2 (ja) ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム
US20150273689A1 (en) Robot control device, robot, robotic system, teaching method, and program
CN109955254A (zh) 移动机器人控制系统及机器人末端位姿的遥操作控制方法
CN105589553A (zh) 一种智能设备的手势控制方法和系统
JP7035309B2 (ja) マスタスレーブシステム
Devine et al. Real time robotic arm control using hand gestures with multiple end effectors
JP6883392B2 (ja) ロボットシステム
Chen et al. Development of a user experience enhanced teleoperation approach
CN111770815B (zh) 对象控制方法及对象控制装置
Wilson et al. Cable routing and assembly using tactile-driven motion primitives
Liu et al. Virtual reality based tactile sensing enhancements for bilateral teleoperation system with in-hand manipulation
Vogel et al. Flexible, semi-autonomous grasping for assistive robotics
Amatya et al. Real time kinect based robotic arm manipulation with five degree of freedom
Lu et al. Surface following using deep reinforcement learning and a gelsighttactile sensor
Grady et al. Visual pressure estimation and control for soft robotic grippers
Matsuzaka et al. Assistance for master-slave system for objects of various shapes by eye gaze tracking and motion prediction

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120523