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

文档序号:6289725阅读:159来源:国知局
专利名称:对机器人系统进行教示的方法
技术领域
本发明大体上涉及机器人系统(robotic system),且更特定来说,涉及一种对机器人系统进行教示以使得机器人系统能够根据对象与预定义对象模型的相似性来操纵对象的方法。
背景技术
在本说明书中,机器人系统为一种人造的物理系统,其以一个或一个以上旋转或平移轴移动,为可编程的,可感测其环境,且能够使用自动控制、预编程序列或人工智能来操纵环境内的对象或与所述对象互动。在过去的十年中,智能机器人系统存在快速发展,且甚至存在一些商业化产品。典型的实例包含iRobot 的真空清洁机器人Roomba、S0NY 设计并制造的机器人宠物AIBO以及Honda 创造的人形机器人ASIMO(仅举几例)。尽管其体现了几十年的研究进步,但这些机器人系统仍被较多地视为娱乐“玩具”。这主要是因为即使是例如将水从瓶子倒入茶杯的非常简单(对人来说)的灵活协作动作对于机器人系统来说也很难“学习”。另一方面,估计全世界存在超过一百万的工业机器人(也称为工厂或服务机器人)在工作,用于执行需要速度、准确性、可靠性或耐久性的任务,尤其是在汽车和电子工业中。与例如Roomba、AIBO和ASIMO等自主机器人相反,这些工业机器人在高度限定且受控的任务中胜过人的作用,例如要求工业机器人将工件分别地且精确地定位于传送带上, 而不是一起凌乱地堆在托盘上。然而,对于这些工业机器人,即使某种微小的改变也将需要若干天或甚至若干星期的重新编程和修改。因此,存在视觉引导(vision guided)的工业机器人来补偿这些不灵活性。视觉引导的机器人系统是这样一种机器人系统其主要是通过一个或一个以上内建的图像俘获和/或激光装置以对其环境和环境内的对象进行感测。举例来说,FAUNC 制造的M_420iA 能够通过使用高速相机系统控制机器人的两个机械臂来抓取传送带上的多达120个不同工件。这些视觉引导的机器人的典型情境如下。对机器人进行编程以定位相机且调整对最佳图像俘获位置的照明。软件程序接着处理所俘获的图像,且指示机器人针对工件的位置和定向做出校正。这些视觉引导的机器人事实上比“盲”机器人更灵活。将一个对象从一个位置移动到另一位置可能较容易编程,但这些机器人仍需要较长训练和综合的前导时间来适应简单的零件改变。通过这些观察可见,机器人系统变为主流的最显着障碍在于其只能进行一种类型的工作如取放。为了对机器人系统引入任何新类型的工作,对机器人系统进行教示以执行新的“技巧(trick)”花费太多时间且因此成本太高。即使对于工业机器人来说,不固定的轨迹的机械臂运动教示也是困难的。为了使对机器人系统进行教示成为较简单的任务,本发明人相信相似性概念(the concept of analogy)可为关键。相似性在人类问题解决、决策、感知、记忆、创造性、情感、 解释和交流中起到重要作用。其也是执行基本任务如例如地点识别、对象和人员识别(例如,在面部感知和面部识别系统中)的基础。已提出,相似性是“认识的核心(the core ofcognition) ”。如果将相似性能力以某种方式并入机器人系统中,那么与那些常规的从头开始的方法相比可以更快地对机器人系统进行教示。

发明内容
本文提供对机器人系统进行教示的新颖方法,其通过使用相似性而显着减少训练时间和努力。机器人系统必须至少包含通常的操纵硬件和计算硬件。所述方法的一个实施例包含以下主要步骤。首先,提供对象模型库和操作模块库。 对于将由机器人系统处理的每一真实对象,存在定义至少在几何上类似于真实对象的三维形状的至少一个对象模型,或者存在其所定义形状可经组合以至少在几何上类似于真实对象的两个或两个以上对象模型。每一对象模型具有描述三维形状的若干预定几何参数。对于将对真实对象执行的每一操作,操作模块库中包含至少一个操作模块,且每一操作模块具有若干预定操作参数,用于指定操作的至少一个目标和与将对目标执行的操作相关的额外若干条信息。接着,对于待处理的每一真实对象,提供虚拟对象的定义。虚拟对象定义含有虚拟对象的唯一名称、对定义于对象模型库中的对象模型或若干对象模型的组合的参考,以及根据真实对象对所述对象模型的几何参数的值的指定。随后,对于将对真实对象执行的每一操作,提供操作的定义。操作定义包含对包含于操作模块库中的操作模块的参考,以及根据表示真实对象的虚拟对象和待执行操作对操作参数的值的指定的规范。任选地,如果待教示的机器人系统具有至少一个图像俘获装置,那么对于所定义的每一虚拟对象,提供预先获取的由虚拟对象表示的真实对象的至少一个二维图像且使所述图像与虚拟对象相关联。在此步骤之后,完成用于机器人系统的任务描述,所述任务描述含有对应于待处理真实对象的一个或一个以上虚拟对象定义、对应于将对真实对象执行的操作的一个或一个以上操作定义,以及(任选地)与对应虚拟对象相关联的真实对象的一个或一个以上图像。从对本文在下文中适当参考附图提供的详细描述的仔细阅读中将更好地理解本发明的上述和其它目的、特征、方面和优点。


图Ia是绘示将通过本发明来教示的机器人系统的示意图。图Ib是绘示用于对图Ia的机器人系统进行教示的根据本发明的软件系统的示意图。图2a是绘示将由图Ia的机器人系统处理的两个真实对象的示意图。图2b是绘示如何通过本发明的对象模型库中定义的两个基元形状的组合来近似图2a的第一真实对象的示意图。图2c是绘示如何通过本发明的对象模型库中定义的复杂形状来近似图2a的第二真实对象的示意图。图2d是绘示在本发明的操作定义步骤期间提供的额外若干条信息的示意图。图2e和图2f是绘示机器人系统基于由虚拟对象的几何参数和操作模块的操作参数提供的信息进行的智能轨迹规划的示意图。图2g是绘示由本发明产生的任务描述的示意图。图3a是绘示根据本发明实施例的对图Ia的机器人系统进行教示的主要步骤的流程图。图3b是绘示根据本发明另一实施例的对图Ia的机器人系统进行教示的主要步骤的流程图。
具体实施例方式以下描述只是示范性实施例,且既定不以任何方式限制本发明的范围、适用性或配置。事实上,以下描述提供对实施本发明示范性实施例的方便说明。在不脱离如所附权利要求书中陈述的本发明范围的情况下可在所描述组件的功能和布置方面做出对所描述实施例的各种改变。本发明不强制要求机器人系统为特定类型。机器人系统可为带腿的或带轮子的或甚至固定的;或者机器人系统可具有带两个臂的人形形式,或可为具有单个臂的工厂固定机器人。机器人系统的使用也不受限制;其可为用于家务的自主家用机器人(autonomous domestic robot)或用于电子零件取放的工业机器人。如图Ia中说明,根据本发明的机器人系统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,例如CXD相机。图像俘获装置30可构建到机器人系统1的主体10中,例如在人形机器人的头部上或在服务机器人的臂上。图像俘获装置30还可在机器人系统的主体10的外部,但经由有线或无线通信构件连接到机器人系统1,例如恰好定位于传送带的上方且连接到正在对传送带上传递的零件进行工作的服务机器人的相机。此通信构件允许将图像俘获装置30所俘获的图像传递到计算硬件20以进行处理。为了对机器人系统1进行教示以执行某个特定任务,提供软件系统40,如图Ib中说明。操作者(即,机器人系统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。如图Ib说明,对象模型库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 ( S卩,笔筒),对象模型库100含有具有管状形状的对象模型101,其在几何上相同于真实对象700。然而,管状形状不是基元,因为其可由基元圆柱体减去具有较小直径的另一基元圆柱体来表示。因此,有可能对象模型库100可含有例如可乐瓶、扳手等具有复杂几何形状的对象模型,其是确切根据待处理的真实对象来建模的。每一基元或复杂形状的对象模型101含有若干几何参数。几何参数可在一个对象模型101与不同形状的另一对象模型之间有所不同。举例来说,圆柱体102的对象模型101 可以向量形式表示如下CYLINDER = {1,d}其中1、d是圆柱形形状的长度和直径;圆锥体103的对象模型101可表示如下CONE = {d, h}其中d、h是圆锥形形状的底座直径和高度;且筒的对象模型101可表示如下P0T={l,d,w}其中l、d和w是筒形状的壁的长度、直径和厚度。请注意,对象模型库100可仅含有具有基元形状的对象模型101。或者,对象模型库100可含有具有基元形状和复杂/定制形状两者的对象模型101。还请注意,可在对象模型库建立之后在需要时稍后将额外的对象模型101添加到对象模型库100。
如早先所提到,对象模型库100提供用于相似性的“基础”。为了实现此特征,对象定义步骤允许操作者针对待处理的每一真实对象定义虚拟对象。对于如此定义的每一虚拟对象,存在虚拟对象的唯一名称,且所述名称(且因此,虚拟对象)与对象模型库100的一个对象模型101或者两个或两个以上对象模型101的组合相关联。对于图2a的实例,通过使用示范性伪码(pseudocode)如下定义两个虚拟对象虚拟对象A:C0NE+CYLINDER ;B =POT ;其中规定在将圆锥体添加到圆柱体的一端时虚拟对象A具有圆锥体的所有几何参数和圆柱体的所有几何参数以便近似笔600 ;且规定虚拟对象B具有筒形状的所有几何参数以便近似笔筒700。请注意,即使使用编程语言情境来描述以上实例,相同定义过程也可以且实际上更优选在图形环境中用点击(point and click)操作完成,恰似使用例如AutoCAD 等CAD 系统。所属领域的技术人员可容易想象在图形环境中定义虚拟对象,恰似通过选择和组合基元形状在AutoCAD 中创建3D模型。除了唯一名称和与对象模型的关联以外,软件系统 40还允许操作者根据几何参数的对应真实对象来指定几何参数的值。同样,通过使用伪码, 这可如下表示虚拟对象A :C0NE(d = 2cm, h = 2cm) +CYLINDER (1 = 8cm, d = 2cm);B :P0T(1 = 5cm, d = 3cm, w = 0. 5cm);同样,如果在图形环境中,则这可通过挤压和按比例缩放基元形状和/或手动输入参数值来实现。作为简短概述,针对待处理的每一真实对象,对象定义步骤涉及通过从对象模型库选择形状或组合若干形状来定义虚拟对象,将唯一名称指派给所述形状或形状组合,以及根据真实对象指派形状的几何参数指定值。换句话说,对于以上实例,操作者在对象定义步骤中定义虚拟对象A和B,其为近似真实对象600和700(即,笔和笔筒)的3D模型。请注意,在对象定义步骤内,这些子步骤(即,拾取形状、命名和初始化参数)的次序并不重要,但参数初始化总是必须在选择形状之后实施。举例来说,命名可首先或最后执行。对机器人系统1进行教示的第二步骤是定义用于指示机器人系统1做什么的一个或一个以上操作。举例来说,在以上实例之后的示范性操作是指示机器人系统1拾取第一真实对象600 (即,笔)且接着将第一真实对象600放在第二真实对象700 (即,笔筒)内, 使得第一真实对象600的尖端向上。此操作定义步骤需要预先准备的操作模块库200,其为如图Ib说明的软件系统40的一部分,其含有若干操作模块201。类似于对象模型库100的使用,为了指定用于机器人系统1执行的上述操作,操作者首先从操作模块库200选择操作模块中的一者(比如,放在内部(PUT-INSIDE)),其是关于将一个东西放在另一个东西中。每一操作模块201是由设计者(例如,程序员)预先准备的软件构造。从操作者的观点来看,每一操作模块201具有同样由操作模块201的设计者预先确定的若干操作参数。同样,通过使用伪码,PUT-INSIDE操作模块可如下表示PUT-INSIDE (target 1,target2,op3,op4,op5,…)
8
其中targetl、target2、op3、op4、op5等全部是操作模块PUT-INSIDE的操作参数。 这些操作参数的意义如下-target 1是对将由机器人系统1拾取的虚拟对象的参考;-target2是对将targetl放置于其中的另一虚拟对象的参考;-op3是对在何处固持targetl以便拾取targetl的参考;-op4是对targetl的哪一端将首先进入target2的参考;以及-op5是对将targetl插入target2的哪一侧的参考。涉及到额外的操作参数,例如-target2的轴在何处,且将插入targetl的相对于所述轴的角度;-targetl的重量(使得机器人系统1知晓需要多少力来提起targetl);-targetl的主体的强度(使得机器人系统1知晓在抓握targetl时施加多少力)。从上可见,这些操作参数提供与机器人系统1完成操作PUT-INSIDE相关的各条信息。因此,不同的操作模块201可具有不同的操作参数集合。在操作定义步骤中,在操作者从操作模块库200选择操作模块201之后,操作者需要指定操作模块201的所有操作参数。假定软件系统40提供图形环境,例如AutoCAD 提供的图形环境,则这可如下实现。举例来说,在操作者拾取操作模块PUT-INSIDE之后,软件系统40将基于PUT-INSIDE的操作参数而请求操作者指定操作参数中的每一者-操作者将虚拟对象A指定为target1 (通过输入名称A或通过在图形环境中点击虚拟对象A);-操作者将虚拟对象B指定为target〗(通过输入名称B或通过在图形环境中点击虚拟对象B);-操作者通过在图形环境中进行一些点击操作而将虚拟对象A的圆柱形主体的中间的阴影区域(见图2d)指定为op3(即,在何处固持targetl);-操作者通过在图形环境中进行一些点击操作而将虚拟对象A的一端处的阴影区域指定为op4( S卩,targetl的哪一端将首先进入target〗);-操作者通过在图形环境中进行一些点击操作而将虚拟对象B的顶侧处的阴影区域指定为op5(即,将把targetl插入target2的哪一侧);且-操作者将虚线箭头指定为target〗的轴且输入一个值作为将插入targel的相对于所述轴的角度。对于所属领域的技术人员来说,其余细节将为相当直观的且因此被省略。作为简短概述,在操作定义步骤期间且对于机器人系统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智能地实施操作。请比较图加与图2f。如图加说明,当虚拟对象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是如图Ib说明的软件系统40的部分。换句话说,对于待处理的每一真实对象(且因此对于所定义的每一虚拟对象),图像库300中存在真实对象的至少一个图像301。在以上实例之后,图像关联步骤可使用伪码如下表示图像关联Imagel :A ;Image2 :B.其中Imagel是对应于虚拟对象A的真实对象600的二维图像,而Image2是对应于虚拟对象B的真实对象700的二维图像,如图2g所示。在替代实施例中,图像关联步骤实际上与对象定义步骤组合,如以下伪码所表示虚拟对象A :C0NE+CYLINDER = Imagel ;B :P0T = 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所示,所述任务描述含有对应于待处理真实对象的一个或一个以上虚拟对象定义、对应于将对真实对象执行的操作的一个或一个以上操作定义,以及与对应虚拟对象相关联的真实对象的一个或一个以上图像。图北绘示本发明另一实施例的主要步骤。其极为类似于先前实施例,不同的是 (1)在初始步骤800中预先准备且在图像库中提供二维图像301 ;以及( 在对象定义步骤 810中一起进行图像301到虚拟对象的关联。操作定义步骤820相同于先前实施例的步骤 520。虽然已参考优选实施例描述了本发明,但将了解,本发明不限于对其描述的细节。 已在上述描述中建议了各种替代和修改,且所属领域的技术人员将了解其它替代和修改。 因此,所有此类替代和修改均既定包含于如所附权利要求书界定的本发明的范围内。
权利要求
1.一种对具有光学感知构件的机器人系统进行教示以对至少一个真实对象执行至少一个操作的方法,所述方法包括以下步骤提供包含描述三维形状的至少一个对象模型的对象模型库,且提供包含描述操作的至少一个操作模块的操作模块库,其中每一对象模型包括所述三维形状的多个几何参数;且每一操作模块包括关于待操作的至少一个目标的多个操作参数和与所述操作相关的多条 fn息;定义虚拟对象以表示所述机器人系统将操作的真实对象,其中所述虚拟对象定义是与唯一名称和所述对象模型库的对象模型相关联;由所述对象模型描述的所述三维形状实质上且在几何上类似于所述真实对象,且所述对象模型的所述多个几何参数是根据所述真实对象来指定;以及定义所述机器人系统将对至少所述真实对象执行的操作,其中所述操作定义是与所述操作模块库的操作模块相关联,所述操作参数的所述目标经指定为表示所述真实对象的所述虚拟对象的所述唯一名称,且所述操作参数的所述多条信息是根据所述虚拟对象和所述操作来指定。
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所述的方法,其特征在于所述对象模型的所述三维形状中的至少
全文摘要
首先,提供对象模型库和操作模块库。对象模型库包含在几何上类似于待处理的真实对象的至少一个对象模型。操作模块库包含用于待执行的每一操作的至少一个操作模块。接着,对于待处理的每一真实对象,通过与对象模型库中的对象模型的关联且通过对象模型的几何参数的指定来定义虚拟对象。随后,对于待执行的每一操作,通过从操作模块库中选择操作模块且指定其操作参数来定义所述操作。任选地,对于所定义的每一虚拟对象,使预先获取的对应真实对象的至少一个二维图像与虚拟对象相关联。
文档编号G05B19/418GK102177478SQ200980139539
公开日2011年9月7日 申请日期2009年11月10日 优先权日2009年1月9日
发明者林其禹 申请人:林其禹
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1