CN102177478A - 对机器人系统进行教示的方法 - Google Patents

对机器人系统进行教示的方法 Download PDF

Info

Publication number
CN102177478A
CN102177478A CN2009801395392A CN200980139539A CN102177478A CN 102177478 A CN102177478 A CN 102177478A CN 2009801395392 A CN2009801395392 A CN 2009801395392A CN 200980139539 A CN200980139539 A CN 200980139539A CN 102177478 A CN102177478 A CN 102177478A
Authority
CN
China
Prior art keywords
robot system
real object
virtual objects
object model
shape
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
CN2009801395392A
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CN102177478A publication Critical patent/CN102177478A/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
    • G05B19/4202Recording 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 preparation of the programme medium using a drawing, a model
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35203Parametric modelling, variant programming, process planning
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36449During teaching use standard subroutines, assemble them to macro sequences
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

首先,提供对象模型库和操作模块库。对象模型库包含在几何上类似于待处理的真实对象的至少一个对象模型。操作模块库包含用于待执行的每一操作的至少一个操作模块。接着,对于待处理的每一真实对象,通过与对象模型库中的对象模型的关联且通过对象模型的几何参数的指定来定义虚拟对象。随后,对于待执行的每一操作,通过从操作模块库中选择操作模块且指定其操作参数来定义所述操作。任选地,对于所定义的每一虚拟对象,使预先获取的对应真实对象的至少一个二维图像与虚拟对象相关联。

Description

对机器人系统进行教示的方法
技术领域
本发明大体上涉及机器人系统(robotic system),且更特定来说,涉及一种对机器人系统进行教示以使得机器人系统能够根据对象与预定义对象模型的相似性来操纵对象的方法。
背景技术
在本说明书中,机器人系统为一种人造的物理系统,其以一个或一个以上旋转或平移轴移动,为可编程的,可感测其环境,且能够使用自动控制、预编程序列或人工智能来操纵环境内的对象或与所述对象互动。
在过去的十年中,智能机器人系统存在快速发展,且甚至存在一些商业化产品。典型的实例包含的真空清洁机器人Roomba、
Figure BDA0000054093830000012
设计并制造的机器人宠物AIBO以及
Figure BDA0000054093830000013
创造的人形机器人ASIMO(仅举几例)。尽管其体现了几十年的研究进步,但这些机器人系统仍被较多地视为娱乐“玩具”。这主要是因为即使是例如将水从瓶子倒入茶杯的非常简单(对人来说)的灵活协作动作对于机器人系统来说也很难“学习”。
另一方面,估计全世界存在超过一百万的工业机器人(也称为工厂或服务机器人)在工作,用于执行需要速度、准确性、可靠性或耐久性的任务,尤其是在汽车和电子工业中。与例如Roomba、AIBO和ASIMO等自主机器人相反,这些工业机器人在高度限定且受控的任务中胜过人的作用,例如要求工业机器人将工件分别地且精确地定位于传送带上,而不是一起凌乱地堆在托盘上。然而,对于这些工业机器人,即使某种微小的改变也将需要若干天或甚至若干星期的重新编程和修改。
因此,存在视觉引导(vision guided)的工业机器人来补偿这些不灵活性。视觉引导的机器人系统是这样一种机器人系统:其主要是通过一个或一个以上内建的图像俘获和/或激光装置以对其环境和环境内的对象进行感测。举例来说,制造的M-420iA能够通过使用高速相机系统控制机器人的两个机械臂来抓取传送带上的多达120个不同工件。这些视觉引导的机器人的典型情境如下。对机器人进行编程以定位相机且调整对最佳图像俘获位置的照明。软件程序接着处理所俘获的图像,且指示机器人针对工件的位置和定向做出校正。这些视觉引导的机器人事实上比“盲”机器人更灵活。将一个对象从一个位置移动到另一位置可能较容易编程,但这些机器人仍需要较长训练和综合的前导时间来适应简单的零件改变。通过这些观察可见,机器人系统变为主流的最显着障碍在于其只能进行一种类型的工作:如取放。为了对机器人系统引入任何新类型的工作,对机器人系统进行教示以执行新的“技巧(trick)”花费太多时间且因此成本太高。即使对于工业机器人来说,不固定的轨迹的机械臂运动教示也是困难的。
为了使对机器人系统进行教示成为较简单的任务,本发明人相信相似性概念(the concept of analogy)可为关键。相似性在人类问题解决、决策、感知、记忆、创造性、情感、解释和交流中起到重要作用。其也是执行基本任务如例如地点识别、对象和人员识别(例如,在面部感知和面部识别系统中)的基础。已提出,相似性是“认识的核心(the core of cognition)”。如果将相似性能力以某种方式并入机器人系统中,那么与那些常规的从头开始的方法相比可以更快地对机器人系统进行教示。
发明内容
本文提供对机器人系统进行教示的新颖方法,其通过使用相似性而显着减少训练时间和努力。机器人系统必须至少包含通常的操纵硬件和计算硬件。
所述方法的一个实施例包含以下主要步骤。首先,提供对象模型库和操作模块库。对于将由机器人系统处理的每一真实对象,存在定义至少在几何上类似于真实对象的三维形状的至少一个对象模型,或者存在其所定义形状可经组合以至少在几何上类似于真实对象的两个或两个以上对象模型。每一对象模型具有描述三维形状的若干预定几何参数。对于将对真实对象执行的每一操作,操作模块库中包含至少一个操作模块,且每一操作模块具有若干预定操作参数,用于指定操作的至少一个目标和与将对目标执行的操作相关的额外若干条信息。
接着,对于待处理的每一真实对象,提供虚拟对象的定义。虚拟对象定义含有虚拟对象的唯一名称、对定义于对象模型库中的对象模型或若干对象模型的组合的参考,以及根据真实对象对所述对象模型的几何参数的值的指定。
随后,对于将对真实对象执行的每一操作,提供操作的定义。操作定义包含对包含于操作模块库中的操作模块的参考,以及根据表示真实对象的虚拟对象和待执行操作对操作参数的值的指定的规范。
任选地,如果待教示的机器人系统具有至少一个图像俘获装置,那么对于所定义的每一虚拟对象,提供预先获取的由虚拟对象表示的真实对象的至少一个二维图像且使所述图像与虚拟对象相关联。在此步骤之后,完成用于机器人系统的任务描述,所述任务描述含有对应于待处理真实对象的一个或一个以上虚拟对象定义、对应于将对真实对象执行的操作的一个或一个以上操作定义,以及(任选地)与对应虚拟对象相关联的真实对象的一个或一个以上图像。
从对本文在下文中适当参考附图提供的详细描述的仔细阅读中将更好地理解本发明的上述和其它目的、特征、方面和优点。
附图说明
图1a是绘示将通过本发明来教示的机器人系统的示意图。
图1b是绘示用于对图1a的机器人系统进行教示的根据本发明的软件系统的示意图。
图2a是绘示将由图1a的机器人系统处理的两个真实对象的示意图。
图2b是绘示如何通过本发明的对象模型库中定义的两个基元形状的组合来近似图2a的第一真实对象的示意图。
图2c是绘示如何通过本发明的对象模型库中定义的复杂形状来近似图2a的第二真实对象的示意图。
图2d是绘示在本发明的操作定义步骤期间提供的额外若干条信息的示意图。
图2e和图2f是绘示机器人系统基于由虚拟对象的几何参数和操作模块的操作参数提供的信息进行的智能轨迹规划的示意图。
图2g是绘示由本发明产生的任务描述的示意图。
图3a是绘示根据本发明实施例的对图1a的机器人系统进行教示的主要步骤的流程图。
图3b是绘示根据本发明另一实施例的对图1a的机器人系统进行教示的主要步骤的流程图。
具体实施方式
以下描述只是示范性实施例,且既定不以任何方式限制本发明的范围、适用性或配置。事实上,以下描述提供对实施本发明示范性实施例的方便说明。在不脱离如所附权利要求书中陈述的本发明范围的情况下可在所描述组件的功能和布置方面做出对所描述实施例的各种改变。
本发明不强制要求机器人系统为特定类型。机器人系统可为带腿的或带轮子的或甚至固定的;或者机器人系统可具有带两个臂的人形形式,或可为具有单个臂的工厂固定机器人。机器人系统的使用也不受限制;其可为用于家务的自主家用机器人(autonomous domestic robot)或用于电子零件取放的工业机器人。
如图1a中说明,根据本发明的机器人系统1(例如任何常规机器人)具有适当的对象操纵硬件以处理真实对象,例如图中所示的主体10和至少一个臂12,以及驱动主体10和臂12的各种马达和致动器(未图示)。操纵硬件的细节将对所属领域的技术人员来说为相当直观的。同样类似于任何常规机器人,机器人系统1还含有适当的计算硬件20,例如处理器、控制器、存储器、存储装置等(未图示),用于控制所述操纵硬件10。
根据本发明,将对机器人系统1进行教示以对一个或一个以上真实对象执行操作,且机器人系统1必须具有一些光学感知构件(optical perceptionmeans)来“看见”真实对象。光学感知构件可包含(但不限于)图像俘获装置(image capturing device),例如能够拍摄二维摄像图片的电荷耦合装置(charge coupled device,CCD)相机和能够获得真实对象的三维仿形数据(profiling data)的3D激光扫描器(3D laser scanner)。换句话说,机器人系统1应具有至少一个图像俘获装置或至少一个3D激光扫描器或两者。为了简单起见,在下文中,假定机器人系统1含有至少一个图像俘获装置30,例如CCD相机。图像俘获装置30可构建到机器人系统1的主体10中,例如在人形机器人的头部上或在服务机器人的臂上。图像俘获装置30还可在机器人系统的主体10的外部,但经由有线或无线通信构件连接到机器人系统1,例如恰好定位于传送带的上方且连接到正在对传送带上传递的零件进行工作的服务机器人的相机。此通信构件允许将图像俘获装置30所俘获的图像传递到计算硬件20以进行处理。
为了对机器人系统1进行教示以执行某个特定任务,提供软件系统40,如图1b中说明。操作者(即,机器人系统1的“教师”)在软件系统40提供的环境中对特定任务进行编程,且为机器人系统1的计算硬件20产生“任务描述”,使得机器人系统1可成功执行任务。换句话说,操作者使用软件系统40对机器人系统1进行教示。请注意,软件系统40可在同一计算硬件20上运行,且来自软件系统40的任务描述直接由计算硬件20处理以执行任务。或者,软件系统40在单独的计算平台上执行,且来自软件系统40的任务描述加载到计算硬件20上(经由某种有线或无线通信构件),使得机器人系统1可相应地执行任务。
对机器人系统1进行教示的第一步骤是定义待由机器人系统1处理的真实对象。举例来说,如图2a中说明,将对机器人系统1进行教示以处理第一真实对象600(即,笔)和第二真实对象700(即,笔筒)。此对象定义步骤需要预先准备的对象模型库(object model library)100。如图1b说明,对象模型库100是软件系统40的一部分,且含有存储在文件、数据库或类似软件构造中的至少若干个具有基元形状(primitive shape)的对象模型101。术语“基元形状”通常在计算机图形和CAD系统的3D建模中使用。例如球体、立方体或盒、圆环、圆柱体、角锥等基元形状被视为基元,因为其是许多其它形状和形式的构建块。难以定性地对所述术语给出精确定义。从观察来看,其共享一些共同的形状特征:(1)其通常仅含有直边缘;(2)其通常仅含有不带拐点(point of inflection)的简单曲线;以及(3)其通常无法分解为其它基元形状。如上文提到,本发明的主要想法在于并入相似性能力以对机器人系统1进行教示,必须存在某个“基础(base)”来相似。对象模型库100的对象模型101就是“基础”。
具有对象模型库100的理由是基于以下假定:大多数现实对象可通过某些简单的二元关系(加法、减法等)由这些基元形状中的一者或这些基元中的两者或两者以上的组合来近似。举例来说,如图2b中说明,对于真实对象600(即,笔),对象模型库100含有圆柱体102的对象模型101和圆锥体103的另一对象模型101,且真实对象600可通过将圆锥体103简单添加到圆柱体102的末端来近似。请注意,圆柱体102和圆锥体103的基元形状不具有真实对象600的具体细节,例如六边形横截面。最重要的是基元形状在几何上类似于待由机器人系统1处理的真实对象或真实对象的一部分,且因此提供对所述真实对象或真实对象的一部分的近似。
另外,对象模型库100还可含有并非为基元且甚至相同于或实质上类似于待处理真实对象的一个或一个以上对象模型101。举例来说,如图2c中说明,对于真实对象700(即,笔筒),对象模型库100含有具有管状形状的对象模型101,其在几何上相同于真实对象700。然而,管状形状不是基元,因为其可由基元圆柱体减去具有较小直径的另一基元圆柱体来表示。因此,有可能对象模型库100可含有例如可乐瓶、扳手等具有复杂几何形状的对象模型,其是确切根据待处理的真实对象来建模的。
每一基元或复杂形状的对象模型101含有若干几何参数。几何参数可在一个对象模型101与不同形状的另一对象模型之间有所不同。举例来说,圆柱体102的对象模型101可以向量形式表示如下:
CYLINDER={l,d}
其中l、d是圆柱形形状的长度和直径;圆锥体103的对象模型101可表示如下:
CONE={d,h}
其中d、h是圆锥形形状的底座直径和高度;且筒的对象模型101可表示如下:
POT={l,d,w}
其中l、d和w是筒形状的壁的长度、直径和厚度。
请注意,对象模型库100可仅含有具有基元形状的对象模型101。或者,对象模型库100可含有具有基元形状和复杂/定制形状两者的对象模型101。还请注意,可在对象模型库建立之后在需要时稍后将额外的对象模型101添加到对象模型库100。
如早先所提到,对象模型库100提供用于相似性的“基础”。为了实现此特征,对象定义步骤允许操作者针对待处理的每一真实对象定义虚拟对象。对于如此定义的每一虚拟对象,存在虚拟对象的唯一名称,且所述名称(且因此,虚拟对象)与对象模型库100的一个对象模型101或者两个或两个以上对象模型101的组合相关联。对于图2a的实例,通过使用示范性伪码(pseudocode)如下定义两个虚拟对象:
虚拟对象
A:CONE+CYLINDER;
B:POT;
其中规定在将圆锥体添加到圆柱体的一端时虚拟对象A具有圆锥体的所有几何参数和圆柱体的所有几何参数以便近似笔600;且规定虚拟对象B具有筒形状的所有几何参数以便近似笔筒700。
请注意,即使使用编程语言情境来描述以上实例,相同定义过程也可以且实际上更优选在图形环境中用点击(point and click)操作完成,恰似使用例如
Figure BDA0000054093830000071
等CAD系统。所属领域的技术人员可容易想象在图形环境中定义虚拟对象,恰似通过选择和组合基元形状在
Figure BDA0000054093830000072
中创建3D模型。除了唯一名称和与对象模型的关联以外,软件系统40还允许操作者根据几何参数的对应真实对象来指定几何参数的值。同样,通过使用伪码,这可如下表示:
虚拟对象
A:CONE(d=2cm,h=2cm)+CYLINDER(l=8cm,d=2cm);
B:POT(l=5cm,d=3cm,w=0.5cm);
同样,如果在图形环境中,则这可通过挤压和按比例缩放基元形状和/或手动输入参数值来实现。
作为简短概述,针对待处理的每一真实对象,对象定义步骤涉及通过从对象模型库选择形状或组合若干形状来定义虚拟对象,将唯一名称指派给所述形状或形状组合,以及根据真实对象指派形状的几何参数指定值。换句话说,对于以上实例,操作者在对象定义步骤中定义虚拟对象A和B,其为近似真实对象600和700(即,笔和笔筒)的3D模型。请注意,在对象定义步骤内,这些子步骤(即,拾取形状、命名和初始化参数)的次序并不重要,但参数初始化总是必须在选择形状之后实施。举例来说,命名可首先或最后执行。
对机器人系统1进行教示的第二步骤是定义用于指示机器人系统1做什么的一个或一个以上操作。举例来说,在以上实例之后的示范性操作是指示机器人系统1拾取第一真实对象600(即,笔)且接着将第一真实对象600放在第二真实对象700(即,笔筒)内,使得第一真实对象600的尖端向上。此操作定义步骤需要预先准备的操作模块库200,其为如图1b说明的软件系统40的一部分,其含有若干操作模块201。类似于对象模型库100的使用,为了指定用于机器人系统1执行的上述操作,操作者首先从操作模块库200选择操作模块中的一者(比如,放在内部(PUT-INSIDE)),其是关于将一个东西放在另一个东西中。
每一操作模块201是由设计者(例如,程序员)预先准备的软件构造。从操作者的观点来看,每一操作模块201具有同样由操作模块201的设计者预先确定的若干操作参数。同样,通过使用伪码,PUT-INSIDE操作模块可如下表示:
PUT-INSIDE(target 1,target2,op3,op4,op5,...)
其中target1、target2、op3、op4、op5等全部是操作模块PUT-INSIDE的操作参数。这些操作参数的意义如下:
-target1是对将由机器人系统1拾取的虚拟对象的参考;
-target2是对将target1放置于其中的另一虚拟对象的参考;
-op3是对在何处固持target1以便拾取target1的参考;
-op4是对target1的哪一端将首先进入target2的参考;以及
-op5是对将target1插入target2的哪一侧的参考。
涉及到额外的操作参数,例如
-target2的轴在何处,且将插入target1的相对于所述轴的角度;
-target1的重量(使得机器人系统1知晓需要多少力来提起target1);
-target1的主体的强度(使得机器人系统1知晓在抓握target1时施加多少力)。
从上可见,这些操作参数提供与机器人系统1完成操作PUT-INSIDE相关的各条信息。因此,不同的操作模块201可具有不同的操作参数集合。
在操作定义步骤中,在操作者从操作模块库200选择操作模块201之后,操作者需要指定操作模块201的所有操作参数。假定软件系统40提供图形环境,例如
Figure BDA0000054093830000081
提供的图形环境,则这可如下实现。举例来说,在操作者拾取操作模块PUT-INSIDE之后,软件系统40将基于PUT-INSIDE的操作参数而请求操作者指定操作参数中的每一者:
-操作者将虚拟对象A指定为target1(通过输入名称A或通过在图形环境中点击虚拟对象A);
-操作者将虚拟对象B指定为target2(通过输入名称B或通过在图形环境中点击虚拟对象B);
-操作者通过在图形环境中进行一些点击操作而将虚拟对象A的圆柱形主体的中间的阴影区域(见图2d)指定为op3(即,在何处固持target1);
-操作者通过在图形环境中进行一些点击操作而将虚拟对象A的一端处的阴影区域指定为op4(即,target1的哪一端将首先进入target2);
-操作者通过在图形环境中进行一些点击操作而将虚拟对象B的顶侧处的阴影区域指定为op5(即,将把target1插入target2的哪一侧);且
-操作者将虚线箭头指定为target2的轴且输入一个值作为将插入targe1的相对于所述轴的角度。
对于所属领域的技术人员来说,其余细节将为相当直观的且因此被省略。
作为简短概述,在操作定义步骤期间且对于机器人系统1将执行的每一操作,操作者从操作模块库200选择至少一个操作模块201。接着,根据所选操作模块201的预定操作参数,软件系统40请求操作者指定这些操作参数。这些操作参数涉及待操纵的一个或一个以上目标(即,虚拟对象)和与操作相关的关于虚拟对象的额外若干条信息。如上所述,这些操作参数的指定可全部在例如CAD系统等图形环境中实现。
请注意,存在实施操作模块201的各种不同方式,且取决于如何实施操作模块201,还存在关于机器人系统1执行如操作模块201定义且如其操作参数指定的操作的各种方式。在一个实施例中,每一操作模块201是软件例程或函数(因此,操作模块库200是程序库),且操作参数是传递到所述例程或函数的自变量。当对机器人系统1给出从操作定义步骤产生的一个或一个以上操作模块201以及指定的操作参数时,机器人系统1的计算硬件20执行含有所述例程或函数的代码。在替代实施例中,上文提到的例程或函数含有高级的不依赖于硬件的指令,且这些指令必须由知晓机器人系统1的操纵硬件和计算硬件20的硬件细节的编译器编译为可执行代码。
操作模块201的翻译或编译不是本发明的标的物,且存在很多解决类似问题的教示。举例来说,第6,889,118、7,076,336和7,302,312号美国专利(全部由Murray,IV等人所有)提供位于机器人控制软件与机器人的操纵硬件之间的硬件抽象层(hardware abstraction layer,HAL),使得下伏的硬件对机器人控制软件是透明的。这有利地准许以不依赖于机器人的方式编写机器人控制软件。因此,可设想,以上述不依赖于机器人的方式对操作模块201的细节进行编程。在又一实施例中,操作模块201简单地记录其操作参数的所有指定(即,值)。操作模块201不含有任何高级指令或低级可执行代码。是机器人系统1基于操作模块201及其所记录的操作参数指定来决定如何执行操作。在先前实施例中,确定执行什么的智能嵌入于操作模块本身中,且对于当前实施例,所述智能完全建置于机器人系统1中。如可设想,还存在其中智能的一部分嵌入于操作模块201中且智能的一部分建置于机器人系统1中的一些实施例。
无论如何实施操作模块,操作模块及其操作参数连同虚拟对象定义及其几何参数均应提供足够信息以用于机器人系统1智能地实施操作。请比较图2e与图2f。如图2e说明,当虚拟对象A远离虚拟对象B时,机器人系统1应能够规划短轨迹,因为机器人系统1可确定虚拟对象A与B之间存在足够的距离且其可直接拾取虚拟对象A。另一方面,如图2f说明,当虚拟对象A恰在虚拟对象B旁边时,机器人系统1应能够规划较间接的轨迹,因为机器人系统1可确定虚拟对象A与B之间不存在足够距离且其必须首先将虚拟对象A移动远离虚拟对象B。机器人系统1能够进行此智能决策和轨迹规划的原因在于,虚拟对象A和B的几何参数(例如其长度和高度等)提供了所需的知识。类似地,操作参数提供其它相关信息,使得机器人系统1知晓在何处抓握虚拟对象A且如何将虚拟对象A插入虚拟对象B中。请注意,决策和轨迹规划并不是本发明的标的物,且在例如智能机器人和人工智能等领域中存在许多教示。
为了使机器人系统1对真实对象执行所教示的操作,机器人系统1必须使真实对象关联于所定义的虚拟对象。换句话说,当机器人系统1看见真实对象时,机器人系统1必须将真实对象“识别”为所定义虚拟对象中的一者。如果将被操作的真实对象具有充分不同的形状且无需依赖于其颜色、纹理或其它特征来对其进行区分,那么与虚拟对象相关联的基元或复杂形状及其几何参数已经足够用于机器人系统1通过机器人系统1的光学感知构件(例如3D激光扫描器或相机)来辨识真实对象。通过3D激光扫描器,机器人系统1能够获得真实对象的三维数据。接着可将三维数据对照虚拟对象的相关联形状和几何参数进行比较以查看哪一虚拟对象最相似于真实对象。
即使机器人系统1仅具有相机,上述辨识也仍是可能的。当机器人系统1通过图像俘获装置30看见真实对象时,其首先使用真实对象的一个或一个以上所俘获图像来构造真实对象的三维模型,且接着将三维模型对照虚拟对象的相关联形状和几何参数进行比较。关于根据一个或一个以上二维图像构造三维模型,在计算机图形、图像处理等领域中已存在很多教示。举例来说,David G.Lowe教示一种计算机视觉系统,其可从单一灰度级图像中的未知视点辨识三维对象(“Three-dimensional object recognition from singletwo-dimensional images”,人工智能,31,3(1987年3月),第355到395页)。
然而,为了进一步增强识别速率或区分具有实质上类似形状的真实对象,本发明提供额外的图像关联步骤。在此步骤中,对于待处理的每一真实对象,提供从不一定相同于从机器人系统1的图像俘获装置30观看的视角的视角获取的真实对象的至少一个二维图像301,且使图像301与对应于真实对象的所定义虚拟对象相关联。这些图像301通常是预先获取且存储在图像库300中,图像库300是如图1b说明的软件系统40的部分。换句话说,对于待处理的每一真实对象(且因此对于所定义的每一虚拟对象),图像库300中存在真实对象的至少一个图像301。在以上实例之后,图像关联步骤可使用伪码如下表示:
图像关联
Image1:A;
Image2:B.
其中Image1是对应于虚拟对象A的真实对象600的二维图像,而Image2是对应于虚拟对象B的真实对象700的二维图像,如图2g所示。在替代实施例中,图像关联步骤实际上与对象定义步骤组合,如以下伪码所表示:
虚拟对象
A:CONE+CYLINDER=Image1;
B:POT=Image2;
如所提到,在其操作期间,机器人系统1将总是尝试“识别”真实对象。在无图像关联步骤的情况下,机器人系统1可仅依赖于与虚拟对象相关联的基元或复杂形状及其几何参数。在具有图像关联步骤的情况下,通过使用某种图像处理构件将真实对象的一些所俘获图像(通过图像俘获装置30)匹配于与所有虚拟对象相关联的预先获取的图像来进一步支持对真实对象的识别。如果存在相关联图像最相似于真实对象的所俘获图像的一个虚拟对象,那么真实对象被“识别”为特定虚拟对象。
图像处理构件并不是本发明的标的物,且关于使用二维图像识别三维对象存在许多教示。举例来说,Daniel P.Huttenlocher等人教示了通过将对象的所存储二维视图对照未知视图进行比较来辨识对象而无需事先知晓视图中的点之间的对应关系的算法(“Recognizing Three-Dimensional Objects byComparing Two-Dimensional Images”,cvpr,第878页,1996IEEE计算机视觉和图案识别的计算机学科会议(CVPR′96),1996年)。
请注意,对象模型库100、操作模块库200和图像库300通常预先安装在软件系统40中,之后操作者使用软件系统40来产生任务描述(见图2g)以教示机器人系统1做什么。然而,对象模型库100和操作模块库200两者具有一些内建的对象模型101(例如,那些基元形状)和操作模块201。相比之下,图像库300中的图像301可预先准备或者在对象定义步骤或图像关联步骤期间稍后添加。请注意,图像301可由不同于机器人系统1的图像俘获装置30的单独图像俘获装置获取。
请注意,本发明是关于针对具有光学感知构件的机器人系统产生任务描述,使得机器人系统知晓如何处理至少一个真实对象。然而,基于任务描述,机器人系统如何实际执行任务并不是本发明的标的物,且因此在本说明书中省略大部分细节。如可设想,存在执行任务的各种方式。以对真实对象的识别作为实例,一个机器人系统可简单且完全地依赖于预先获取的图像,而另一机器人系统可另外利用事先已知的虚拟对象的几何信息来实现较高的识别成功率。即使省略了关于在机器人系统的操作期间执行任务描述的细节,关于利用任务描述中包含的信息来保证成功进行如任务描述中指定的操作的方式也存在大量现有教示。
图3a提供根据本发明实施例的绘示对机器人系统1进行教示(即,产生任务描述)以处置一个或一个以上真实对象的步骤的流程图。如所说明,在步骤500中,提供对象模型库100和操作模块库200。对于将由机器人系统1处理的每一真实对象,存在定义至少在几何上类似于真实对象的三维形状的至少一个对象模型101,或者存在其所定义形状可经组合以至少在几何上类似于真实对象的两个或两个以上对象模型101。每一对象模型101含有至少一个几何参数。而且,对于将对真实对象执行的每一操作,操作模块库200中包含至少一个操作模块201。每一操作模块201具有若干预定操作参数,用于指定所述至少一个虚拟对象作为操作的目标且用于指定与操作相关的关于虚拟对象的额外若干条信息。
接着,在步骤510中,对于待处理的每一真实对象,提供虚拟对象的定义。虚拟对象定义含有虚拟对象的唯一名称、对包含于对象模型库100中的对象模型101或若干对象模型的组合的参考,以及根据真实对象对对象模型的几何参数的值的指定。在此步骤之后,待处理的每一真实对象实际上由实质上且在几何上类似于真实对象的虚拟对象表示。
随后,在步骤520中,对于将对真实对象执行的每一操作,提供操作的定义。操作定义包含对包含于操作模块库200中的操作模块201的参考,以及对操作模块201的预定操作参数的指定。在此步骤之后,将由机器人系统1执行的每一操作实际上由操作模块201及其指定操作参数来描述。
最终,在步骤530中,对于在步骤510中定义的每一虚拟对象,提供预先获取的由虚拟对象表示的真实对象的至少一个二维图像且使所述图像与虚拟对象相关联。在此步骤之后,完成用于机器人系统1的任务描述,如图2g所示,所述任务描述含有对应于待处理真实对象的一个或一个以上虚拟对象定义、对应于将对真实对象执行的操作的一个或一个以上操作定义,以及与对应虚拟对象相关联的真实对象的一个或一个以上图像。
图3b绘示本发明另一实施例的主要步骤。其极为类似于先前实施例,不同的是(1)在初始步骤800中预先准备且在图像库中提供二维图像301;以及(2)在对象定义步骤810中一起进行图像301到虚拟对象的关联。操作定义步骤820相同于先前实施例的步骤520。
虽然已参考优选实施例描述了本发明,但将了解,本发明不限于对其描述的细节。已在上述描述中建议了各种替代和修改,且所属领域的技术人员将了解其它替代和修改。因此,所有此类替代和修改均既定包含于如所附权利要求书界定的本发明的范围内。

Claims (14)

1.一种对具有光学感知构件的机器人系统进行教示以对至少一个真实对象执行至少一个操作的方法,所述方法包括以下步骤:
提供包含描述三维形状的至少一个对象模型的对象模型库,且提供包含描述操作的至少一个操作模块的操作模块库,其中每一对象模型包括所述三维形状的多个几何参数;且每一操作模块包括关于待操作的至少一个目标的多个操作参数和与所述操作相关的多条信息;
定义虚拟对象以表示所述机器人系统将操作的真实对象,其中所述虚拟对象定义是与唯一名称和所述对象模型库的对象模型相关联;由所述对象模型描述的所述三维形状实质上且在几何上类似于所述真实对象,且所述对象模型的所述多个几何参数是根据所述真实对象来指定;以及
定义所述机器人系统将对至少所述真实对象执行的操作,其中所述操作定义是与所述操作模块库的操作模块相关联,所述操作参数的所述目标经指定为表示所述真实对象的所述虚拟对象的所述唯一名称,且所述操作参数的所述多条信息是根据所述虚拟对象和所述操作来指定。
2.根据权利要求1所述的方法,其特征在于所述光学感知构件包括3D激光扫描器。
3.根据权利要求1所述的方法,其特征在于所述光学感知构件包括图像俘获装置。
4.根据权利要求3所述的方法,其进一步包括以下步骤:
提供预先获取的将由所述机器人系统处理的所述真实对象的至少一个二维图像;以及
使所述二维图像与表示所述真实对象的所述虚拟对象相关联。
5.根据权利要求4所述的方法,其特征在于在定义所述虚拟对象时使所述二维图像与所述虚拟对象相关联。
6.根据权利要求4所述的方法,其特征在于由所述机器人系统的所述图像俘获装置获取所述二维图像。
7.根据权利要求3所述的方法,其进一步包括以下步骤:
提供包含预先获取的将由所述机器人系统处理的所述真实对象的至少一个二维图像的图像库;以及
使所述二维图像与表示所述真实对象的所述虚拟对象相关联。
8.根据权利要求7所述的方法,其特征在于在定义所述虚拟对象时使所述二维图像与所述虚拟对象相关联。
9.根据权利要求7所述的方法,其特征在于由所述机器人系统的所述图像俘获装置获取所述二维图像。
10.根据权利要求1所述的方法,其特征在于在绘图环境中进行所述方法。
11.根据权利要求10所述的方法,其特征在于在所述机器人系统上执行所述绘图环境。
12.根据权利要求1所述的方法,其特征在于所述三维形状是基元形状。
13.根据权利要求1所述的方法,其进一步包括:
针对将由所述机器人系统处理的真实对象定义虚拟对象,其中所述虚拟对象定义是与唯一名称和所述对象模型库的至少两个对象模型相关联;由所述对象模型描述的所述三维形状在被组合在一起之后实质上且在几何上类似于所述真实对象,且所述对象模型的所述多个几何参数是根据所述真实对象来指定。
14.根据权利要求13所述的方法,其特征在于所述对象模型的所述三维形状中的至少一者是基元形状。
CN2009801395392A 2009-01-09 2009-11-10 对机器人系统进行教示的方法 Pending CN102177478A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/350,969 US20100179689A1 (en) 2009-01-09 2009-01-09 Method of teaching robotic system
US12/350,969 2009-01-09
PCT/IB2009/007395 WO2010079378A1 (en) 2009-01-09 2009-11-10 Method of teaching robotic system

Publications (1)

Publication Number Publication Date
CN102177478A true CN102177478A (zh) 2011-09-07

Family

ID=42316286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801395392A Pending CN102177478A (zh) 2009-01-09 2009-11-10 对机器人系统进行教示的方法

Country Status (7)

Country Link
US (1) US20100179689A1 (zh)
EP (1) EP2377061A1 (zh)
JP (1) JP2011516283A (zh)
KR (1) KR20110033235A (zh)
CN (1) CN102177478A (zh)
TW (1) TW201027288A (zh)
WO (1) WO2010079378A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104070266A (zh) * 2013-03-28 2014-10-01 株式会社神户制钢所 焊缝信息设定装置、程序、自动示教系统、及焊缝信息设定方法
CN108698228A (zh) * 2016-01-26 2018-10-23 株式会社富士 任务创建装置及作业系统以及作业机器人的控制装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9539510B2 (en) * 2010-04-30 2017-01-10 Microsoft Technology Licensing, Llc Reshapable connector with variable rigidity
US9705138B2 (en) * 2011-09-23 2017-07-11 Intelligent Energy Limited Methods of forming arrays of fuel cells on a composite surface
JP2013184257A (ja) 2012-03-08 2013-09-19 Sony Corp ロボット装置及びロボット装置の制御方法、並びにコンピューター・プログラム
US9492923B2 (en) 2014-12-16 2016-11-15 Amazon Technologies, Inc. Generating robotic grasping instructions for inventory items
JP6348097B2 (ja) * 2015-11-30 2018-06-27 ファナック株式会社 ワーク位置姿勢算出装置およびハンドリングシステム
JP6710946B2 (ja) * 2015-12-01 2020-06-17 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
CN105500381A (zh) * 2016-02-05 2016-04-20 中国科学院自动化研究所 通用模块化双臂服务机器人平台及系统
TWI650626B (zh) * 2017-08-15 2019-02-11 由田新技股份有限公司 基於三維影像之機械手臂加工方法及系統
US11025498B2 (en) * 2017-08-23 2021-06-01 Sap Se Device model to thing model mapping
JP6746140B2 (ja) * 2017-08-23 2020-08-26 Kyoto Robotics株式会社 ピッキングシステム
CN108012326B (zh) * 2017-12-07 2019-06-11 珠海市一微半导体有限公司 基于栅格地图的机器人监视宠物的方法及芯片
US10682774B2 (en) 2017-12-12 2020-06-16 X Development Llc Sensorized robotic gripping device
US10792809B2 (en) * 2017-12-12 2020-10-06 X Development Llc Robot grip detection using non-contact sensors
US11407111B2 (en) 2018-06-27 2022-08-09 Abb Schweiz Ag Method and system to generate a 3D model for a robot scene
US11597394B2 (en) 2018-12-17 2023-03-07 Sri International Explaining behavior by autonomous devices
US11498211B2 (en) * 2019-12-30 2022-11-15 Intrinsic Innovation Llc Composability framework for robotic control system
JP7105281B2 (ja) * 2020-08-28 2022-07-22 株式会社Fuji 作業システム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE59008038D1 (de) * 1990-09-25 1995-01-26 Heidenhain Gmbh Dr Johannes Verfahren für die Bearbeitung von Werkstücken mit numerisch gesteuerten Maschinen.
KR100980793B1 (ko) * 2001-11-28 2010-09-10 에볼루션 로보틱스, 인크. 로봇을 위한 하드웨어 추상화 계층에서의 센서 및액추에이터 추상화 및 집단화
JP2004188533A (ja) * 2002-12-10 2004-07-08 Toyota Motor Corp 対象物の取扱い推定方法および取扱い推定装置
JP3738256B2 (ja) * 2003-03-05 2006-01-25 松下電器産業株式会社 生活空間用の物品移動システム、及びロボット操作装置
WO2004106009A1 (ja) * 2003-06-02 2004-12-09 Matsushita Electric Industrial Co., Ltd. 物品操作システムおよび方法、並びに物品管理システムおよび方法
JP4492036B2 (ja) * 2003-04-28 2010-06-30 ソニー株式会社 画像認識装置及び方法、並びにロボット装置
JP2005088146A (ja) * 2003-09-18 2005-04-07 National Institute Of Advanced Industrial & Technology 物体処理システム、物体処理方法及びロボット
WO2006006624A1 (ja) * 2004-07-13 2006-01-19 Matsushita Electric Industrial Co., Ltd. 物品保持システム、ロボット及びロボット制御方法
JP2006102881A (ja) * 2004-10-06 2006-04-20 Nagasaki Prefecture 把持ロボット装置
JP4578438B2 (ja) * 2006-05-31 2010-11-10 株式会社日立製作所 ロボット装置
JP4235214B2 (ja) * 2006-07-04 2009-03-11 ファナック株式会社 ロボットプログラムを作成するための装置、プログラム、記録媒体及び方法
JP2008049459A (ja) * 2006-08-28 2008-03-06 Toshiba Corp マニピュレータ制御システム、マニピュレータ制御方法およびプログラム
JP5142243B2 (ja) * 2006-09-13 2013-02-13 独立行政法人産業技術総合研究所 ロボット作業教示システムおよびロボットに対する作業教示方法
US8214079B2 (en) * 2007-03-30 2012-07-03 Sungkyunkwan University Foundation For Corporate Collaboration Central information processing system and method for service robot having layered information structure according to recognition and reasoning level
JP2008296330A (ja) * 2007-05-31 2008-12-11 Fanuc Ltd ロボットシミュレーション装置
JP4835616B2 (ja) * 2008-03-10 2011-12-14 トヨタ自動車株式会社 動作教示システム及び動作教示方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104070266A (zh) * 2013-03-28 2014-10-01 株式会社神户制钢所 焊缝信息设定装置、程序、自动示教系统、及焊缝信息设定方法
CN104070266B (zh) * 2013-03-28 2016-05-25 株式会社神户制钢所 焊缝信息设定装置、程序、自动示教系统、及焊缝信息设定方法
CN108698228A (zh) * 2016-01-26 2018-10-23 株式会社富士 任务创建装置及作业系统以及作业机器人的控制装置

Also Published As

Publication number Publication date
JP2011516283A (ja) 2011-05-26
EP2377061A1 (en) 2011-10-19
WO2010079378A1 (en) 2010-07-15
US20100179689A1 (en) 2010-07-15
TW201027288A (en) 2010-07-16
KR20110033235A (ko) 2011-03-30

Similar Documents

Publication Publication Date Title
CN102177478A (zh) 对机器人系统进行教示的方法
JP7198831B2 (ja) オンデマンド遠隔操作を備えた自律ロボット
Hundt et al. “good robot!”: Efficient reinforcement learning for multi-step visual tasks with sim to real transfer
US8843236B2 (en) Method and system for training a robot using human-assisted task demonstration
CN110640730B (zh) 生成用于机器人场景的三维模型的方法和系统
US9792546B2 (en) Hierarchical robotic controller apparatus and methods
US20220245849A1 (en) Machine learning an object detection process using a robot-guided camera
Petersson et al. Systems integration for real-world manipulation tasks
Park et al. Development of robotic bin picking platform with cluttered objects using human guidance and convolutional neural network (CNN)
Huang et al. A case study of cyber-physical system design: Autonomous pick-and-place robot
CN107291072B (zh) 一种移动机器人路径规划系统及方法
Gürtler et al. Benchmarking offline reinforcement learning on real-robot hardware
Pedersen et al. Gesture-based extraction of robot skill parameters for intuitive robot programming
Jagersand et al. Visual space task specification, planning and control
Rohrer BECCA: Reintegrating AI for natural world interaction
Kuffner et al. Graphical simulation and high-level control of humanoid robots
Wicaksono et al. Behaviors coordination and learning on autonomous navigation of physical robot
Grün et al. Evaluation of domain randomization techniques for transfer learning
Pedrosa et al. A skill-based architecture for pick and place manipulation tasks
Marion Perception methods for continuous humanoid locomotion over uneven terrain
Ding et al. A reconfigurable pick-place system under robot operating system
US9613180B1 (en) Robotic control device and method for manipulating a hand-held tool
Memmesheimer et al. Markerless visual robot programming by demonstration
Lim et al. Skill-based anytime agent architecture for European Robotics Challenges in realistic environments: EuRoC Challenge 2, Stage II—realistic labs
Vallin et al. Enabling Cobots to Automatically Identify and Grasp Household Objects

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: 20110907